{"version":3,"sources":["webpack:///./node_modules/gatsby/node_modules/core-js/internals/redefine.js","webpack:///./node_modules/@sentry/utils/dist/polyfill.js","webpack:///./node_modules/gatsby-link/index.js","webpack:///./node_modules/@sentry/tracing/dist/browser/index.js","webpack:///./node_modules/@sentry/utils/dist/syncpromise.js","webpack:///./node_modules/@sentry/core/dist/api.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/@sentry/tracing/dist/transaction.js","webpack:///./node_modules/gatsby-react-router-scroll/session-storage.js","webpack:///./node_modules/@sentry/tracing/dist/integrations/express.js","webpack:///./node_modules/@sentry/core/dist/integration.js","webpack:///./node_modules/@sentry/browser/dist/eventbuilder.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/popper.js/dist/umd/popper.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/promise-resolve.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/to-object.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/string-trim.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/mitt/dist/mitt.js","webpack:///./node_modules/@sentry/utils/dist/browser.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/engine-user-agent.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireWildcard.js","webpack:///./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///./node_modules/@sentry/utils/dist/time.js","webpack:///./.cache/normalize-page-path.js","webpack:///./.cache/find-path.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/has.js","webpack:///./node_modules/gatsby-plugin-google-gtag/gatsby-browser.js","webpack:///./node_modules/@sentry/tracing/dist/browser/request.js","webpack:///./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack:///./node_modules/@sentry/utils/dist/node.js","webpack:///./node_modules/@sentry/tracing/dist/browser/backgroundtab.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/is-array.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/string-trim-forced.js","webpack:///./node_modules/@sentry/hub/dist/hub.js","webpack:///./node_modules/@sentry/hub/dist/index.js","webpack:///./.cache/emitter.js","webpack:///./node_modules/@sentry/tracing/dist/integrations/mongo.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/species-constructor.js","webpack:///./node_modules/@sentry/utils/dist/promisebuffer.js","webpack:///./node_modules/@sentry/utils/dist/error.js","webpack:///./node_modules/@sentry/react/dist/index.js","webpack:///./node_modules/gatsby-plugin-nprogress/gatsby-browser.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/@sentry/tracing/dist/browser/web-vitals/lib/whenInput.js","webpack:///./node_modules/@sentry/core/dist/version.js","webpack:///./node_modules/@sentry/react/dist/errorboundary.js","webpack:///./node_modules/gatsby-react-router-scroll/index.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/shared.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/@sentry/browser/dist/backend.js","webpack:///./.cache/react-lifecycles-compat.js","webpack:///./node_modules/@sentry/minimal/dist/index.js","webpack:///./node_modules/@sentry/utils/dist/memo.js","webpack:///./node_modules/@reach/router/es/lib/history.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/engine-v8-version.js","webpack:///./node_modules/gatsby-plugin-manifest/get-manifest-pathname.js","webpack:///./node_modules/@sentry/browser/dist/version.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/flatten-into-array.js","webpack:///./node_modules/gatsby-plugin-catch-links/gatsby-browser.js","webpack:///./src/utils/theme.js","webpack:///./node_modules/@sentry/browser/dist/transports/base.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/engine-is-node.js","webpack:///./node_modules/@sentry/utils/dist/dsn.js","webpack:///./node_modules/@sentry/react/dist/redux.js","webpack:///./node_modules/@sentry/types/dist/status.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/@sentry/types/dist/loglevel.js","webpack:///./node_modules/@sentry/react/dist/sdk.js","webpack:///./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/uid.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/new-promise-capability.js","webpack:///./node_modules/@sentry/browser/dist/exports.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/@sentry/core/dist/transports/noop.js","webpack:///./gatsby-browser.js","webpack:///./node_modules/@sentry/react/dist/reactrouterv3.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/@sentry/tracing/dist/browser/browsertracing.js","webpack:///./node_modules/@sentry/tracing/dist/browser/web-vitals/lib/generateUniqueID.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/@sentry/tracing/dist/idletransaction.js","webpack:///./node_modules/@sentry/browser/dist/transports/xhr.js","webpack:///./node_modules/@sentry/core/dist/basebackend.js","webpack:///./.cache/page-renderer.js","webpack:///./node_modules/@sentry/tracing/dist/spanstatus.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/@sentry/browser/dist/integrations/index.js","webpack:///./.cache/caches/gatsby-plugin-mdx/mdx-scopes-dir/e92f8988d65cf25c087d226e6c0ef06f.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/fails.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/whitespaces.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/object-create.js","webpack:///./node_modules/@sentry/utils/dist/is.js","webpack:///./node_modules/gatsby/node_modules/core-js/modules/es.array.unscopables.flat.js","webpack:///./node_modules/@reach/router/es/lib/utils.js","webpack:///./.cache/api-runner-browser-plugins.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/@mikaelkristiansson/domready/ready.js","webpack:///./node_modules/nprogress/nprogress.js","webpack:///./node_modules/@sentry/tracing/dist/browser/router.js","webpack:///./.cache/register-service-worker.js","webpack:///./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack:///./node_modules/@sentry/tracing/dist/browser/web-vitals/lib/observe.js","webpack:///./node_modules/@sentry/browser/dist/sdk.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/object-define-properties.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/@sentry/tracing/dist/utils.js","webpack:///./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/bootstrap/dist/js/bootstrap.min.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/array-method-is-strict.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/global.js","webpack:///./node_modules/gatsby/node_modules/core-js/modules/es.array.reduce.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/@sentry/tracing/dist/browser/web-vitals/getCLS.js","webpack:///./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack:///./node_modules/@sentry/tracing/dist/browser/web-vitals/lib/initMetric.js","webpack:///./node_modules/@sentry/utils/dist/logger.js","webpack:///./node_modules/react-is/index.js","webpack:///./node_modules/@sentry/types/dist/session.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/@sentry/browser/dist/integrations/trycatch.js","webpack:///./node_modules/@sentry/tracing/dist/browser/web-vitals/lib/bindReporter.js","webpack:///./node_modules/@sentry/tracing/dist/span.js","webpack:///./node_modules/@sentry/browser/dist/transports/fetch.js","webpack:///./.cache/route-announcer-props.js","webpack:///./.cache/navigation.js","webpack:///./.cache/ensure-resources.js","webpack:///./.cache/production-app.js","webpack:///./node_modules/@sentry/hub/dist/sessionFlusher.js","webpack:///./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack:///./node_modules/@sentry/browser/dist/parsers.js","webpack:///./node_modules/@sentry/core/dist/integrations/index.js","webpack:///./node_modules/@sentry/tracing/dist/browser/metrics.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/to-length.js","webpack:///./.cache/gatsby-browser-entry.js","webpack:///./node_modules/@sentry/utils/dist/misc.js","webpack:///./node_modules/gatsby/dist/internal-plugins/bundle-optimisations/polyfills/object-assign.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/@reach/router/es/index.js","webpack:///./node_modules/@sentry/browser/dist/transports/index.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/export.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/@sentry/browser/dist/client.js","webpack:///./node_modules/@sentry/browser/dist/index.js","webpack:///./node_modules/@sentry/tracing/dist/browser/web-vitals/getLCP.js","webpack:///./node_modules/@sentry/core/dist/index.js","webpack:///./node_modules/gatsby/node_modules/core-js/modules/es.array.flat.js","webpack:///./node_modules/@sentry/core/dist/baseclient.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/@sentry/utils/dist/index.js","webpack:///./.cache/strip-prefix.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/is-object.js","webpack:///./node_modules/gatsby-link/parse-path.js","webpack:///./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack:///./node_modules/@sentry/utils/dist/object.js","webpack:///./node_modules/@sentry/utils/dist/instrument.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/native-promise-constructor.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/function-bind-context.js","webpack:///./node_modules/gatsby/node_modules/core-js/modules/es.promise.finally.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///./.cache/prefetch.js","webpack:///./.cache/loader.js","webpack:///./node_modules/@sentry/types/dist/index.js","webpack:///./node_modules/gatsby-plugin-mdx/context.js","webpack:///./node_modules/gatsby-plugin-mdx/loaders/mdx-scopes.js","webpack:///./node_modules/gatsby-plugin-mdx/wrap-root-element.js","webpack:///./node_modules/gatsby-plugin-mdx/gatsby-browser.js","webpack:///./node_modules/@sentry/browser/dist/integrations/globalhandlers.js","webpack:///./node_modules/@sentry/browser/dist/integrations/breadcrumbs.js","webpack:///./node_modules/@sentry/tracing/dist/integrations/index.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/to-integer.js","webpack:///./node_modules/gatsby-plugin-mdx/loaders/mdx-components.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/html.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/path.js","webpack:///./node_modules/@sentry/utils/dist/async.js","webpack:///./node_modules/gatsby-react-router-scroll/scroll-container.js","webpack:///./node_modules/gatsby-plugin-catch-links/catch-links.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/set-global.js","webpack:///./node_modules/@sentry/hub/dist/scope.js","webpack:///./node_modules/@sentry/tracing/dist/browser/web-vitals/getFID.js","webpack:///./node_modules/@sentry/utils/dist/supports.js","webpack:///./node_modules/@sentry/react/dist/profiler.js","webpack:///./node_modules/@sentry/core/dist/request.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/@sentry/types/dist/transaction.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/@sentry/core/dist/sdk.js","webpack:///./node_modules/@sentry/tracing/dist/browser/web-vitals/lib/getFirstHidden.js","webpack:///./node_modules/@sentry/types/dist/severity.js","webpack:///./node_modules/@sentry/utils/dist/path.js","webpack:///./node_modules/@sentry/utils/dist/stacktrace.js","webpack:///./node_modules/@sentry/core/dist/integrations/functiontostring.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/invariant/invariant.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/is-pure.js","webpack:///./.cache/public-page-renderer.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/an-object.js","webpack:///./node_modules/@sentry/tracing/dist/hubextensions.js","webpack:///./node_modules/@sentry/react/dist/reactrouter.js","webpack:///./node_modules/gatsby/node_modules/core-js/modules/es.string.trim-end.js","webpack:///./node_modules/@sentry/browser/dist/tracekit.js","webpack:///./node_modules/gatsby-plugin-manifest/gatsby-browser.js","webpack:///./.cache/create-react-context.js","webpack:///./node_modules/@sentry/hub/dist/session.js","webpack:///./node_modules/@sentry/core/dist/integrations/inboundfilters.js","webpack:///./node_modules/escape-string-regexp/index.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/array-reduce.js","webpack:///./node_modules/@mdx-js/react/dist/cjs.js","webpack:///./node_modules/@babel/runtime/helpers/extends.js","webpack:///./node_modules/@sentry/browser/dist/helpers.js","webpack:///./node_modules/@sentry/tracing/dist/index.js","webpack:///./node_modules/@sentry/utils/dist/string.js","webpack:///./node_modules/react-is/cjs/react-is.production.min.js","webpack:///./node_modules/@sentry/tracing/dist/errors.js","webpack:///./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./.cache/public-page-renderer-prod.js","webpack:///./node_modules/@sentry/browser/dist/integrations/useragent.js","webpack:///./node_modules/@sentry/tracing/dist/browser/web-vitals/lib/onHidden.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/add-to-unscopables.js","webpack:///./node_modules/shallow-compare/lib/index.js","webpack:///./node_modules/@sentry/tracing/dist/integrations/postgres.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/a-function.js","webpack:///./node_modules/jquery/dist/jquery.min.js","webpack:///./.cache/api-runner-browser.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/array-method-uses-to-length.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/@sentry/browser/dist/integrations/linkederrors.js","webpack:///./node_modules/tslib/tslib.js","webpack:///./node_modules/@sentry/tracing/dist/integrations/mysql.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/object-get-own-property-names.js"],"names":["global","createNonEnumerableProperty","has","setGlobal","inspectSource","InternalStateModule","getInternalState","get","enforceInternalState","enforce","TEMPLATE","String","split","module","exports","O","key","value","options","state","unsafe","simple","enumerable","noTargetGet","source","join","Function","prototype","this","Object","defineProperty","setPrototypeOf","__proto__","Array","obj","proto","prop","hasOwnProperty","_interopRequireDefault","__esModule","withPrefix","withAssetPrefix","path","getGlobalPathPrefix","navigateTo","replace","push","navigate","default","_objectWithoutPropertiesLoose2","_assertThisInitialized2","_inheritsLoose2","_extends2","_propTypes","_react","_router","_utils","_parsePath","parsePath","isAbsolutePath","startsWith","prefix","_ref","_prefix","getGlobalBasePrefix","isLocalLink","base","endsWith","slice","rewriteLinkPath","relativeTo","current","resolve","absolutify","NavLinkPropTypes","activeClassName","string","activeStyle","object","partiallyActive","bool","GatsbyLinkLocationWrapper","props","createElement","Location","_ref2","location","GatsbyLink","_location","_React$Component","_this","call","defaultGetProps","_ref3","isPartiallyCurrent","isCurrent","className","filter","Boolean","style","IOSupported","window","IntersectionObserver","handleRef","bind","_proto","_prefetch","currentPath","pathname","rewrittenPath","to","newPathName","___loader","enqueue","componentDidUpdate","prevProps","prevState","componentDidMount","componentWillUnmount","io","_this$io","instance","el","unobserve","disconnect","ref","cb","_this2","innerRef","entries","forEach","entry","target","isIntersecting","intersectionRatio","observe","render","_this3","_this$props","_this$props$getProps","getProps","_onClick","onClick","_onMouseEnter","onMouseEnter","rest","prefixedTo","Link","e","hovering","button","defaultPrevented","metaKey","altKey","ctrlKey","shiftKey","preventDefault","shouldReplace","encodeURI","___navigate","href","Component","propTypes","func","isRequired","showDeprecationWarning","functionName","altFunctionName","version","console","warn","_default","forwardRef","___push","___replace","browsertracing_1","BrowserTracing","request_1","instrumentOutgoingRequests","defaultRequestInstrumentationOptions","States","is_1","SyncPromise","executor","_state","PENDING","_handlers","_resolve","_setResult","RESOLVED","_reject","reason","REJECTED","isThenable","then","_value","_executeHandlers","_attachHandler","handler","concat","cachedHandlers","done","onfulfilled","onrejected","reject","_","all","collection","isArray","length","counter","resolvedCollection","item","index","TypeError","_onfulfilled","_onrejected","result","catch","val","finally","onfinally","isRejected","toString","utils_1","API","dsn","metadata","tunnel","_dsnObject","Dsn","_tunnel","getDsn","forceEnvelope","getBaseApiEndpoint","protocol","port","host","getStoreEndpoint","_getIngestEndpoint","getStoreEndpointWithUrlEncodedAuth","_encodedAuth","getEnvelopeEndpointWithUrlEncodedAuth","_getEnvelopeEndpoint","getStoreEndpointPath","projectId","getRequestHeaders","clientName","clientVersion","header","publicKey","pass","getReportDialogEndpoint","dialogOptions","endpoint","encodedOptions","user","name","encodeURIComponent","email","auth","sentry_key","sentry_version","urlEncode","WeakMap","test","tslib_1","hub_1","span_1","Transaction","_super","transactionContext","hub","_measurements","_hub","getCurrentHub","isInstanceOf","Hub","_trimEnd","trimEnd","transaction","__extends","setName","initSpanRecorder","maxlen","spanRecorder","SpanRecorder","add","setMeasurements","measurements","__assign","setMetadata","newMetadata","finish","endTimestamp","undefined","logger","sampled","finishedSpans","spans","s","reduce","prev","contexts","trace","getTraceContext","start_timestamp","startTimestamp","tags","timestamp","type","debug_meta","keys","log","JSON","stringify","op","captureEvent","toContext","spanContext","dropUndefinedKeys","updateWithContext","_a","Span","SessionStorage","read","stateKey","getStateKey","sessionStorage","getItem","parse","save","storedValue","setItem","stateKeyBase","Express","id","router","app","_methods","methods","setupOnce","method","originalCallback","args","_i","arguments","apply","__spread","wrapMiddlewareArgs","patchMiddleware","instrumentMiddlewares","error","wrap","fn","arity","req","res","__sentry_transaction","startChild","description","once","next","span","err","Error","map","arg","a","filterDuplicates","integrations","acc","every","accIntegration","getIntegrationsToSetup","defaultIntegrations","userIntegrations","userIntegration","integrationsNames","i","indexOf","splice","setupIntegration","integration","installedIntegrations","addGlobalEventProcessor","setupIntegrations","types_1","parsers_1","tracekit_1","eventFromUnknownInput","exception","syntheticException","event","isErrorEvent","eventFromStacktrace","computeStackTrace","isDOMError","isDOMException","domException","name_1","message","eventFromString","addExceptionTypeValue","code","isError","isPlainObject","isEvent","objectException","eventFromPlainObject","rejection","addExceptionMechanism","synthetic","input","attachStacktrace","stacktrace","frames_1","prepareFramesForEvent","stack","frames","eventFromException","hint","handled","level","Severity","event_id","eventFromMessage","Info","toInteger","max","Math","min","integer","factory","isBrowser","document","navigator","timeoutDuration","longerTimeoutBrowsers","userAgent","debounce","Promise","called","scheduled","setTimeout","isFunction","functionToCheck","getStyleComputedProperty","element","property","nodeType","css","ownerDocument","defaultView","getComputedStyle","getParentNode","nodeName","parentNode","getScrollParent","body","_getStyleComputedProp","overflow","overflowX","overflowY","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","firstElementChild","element1root","getScroll","side","upperSide","html","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","top","bottom","left","right","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","parseInt","getWindowSizes","height","width","classCallCheck","Constructor","createClass","defineProperties","descriptor","configurable","writable","protoProps","staticProps","_extends","assign","getClientRect","offsets","getBoundingClientRect","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","children","parent","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","offset","isFixed","getFixedPositionOffsetParent","parentElement","getBoundaries","popper","padding","boundariesElement","boundaries","boundariesNode","_getWindowSizes","isPaddingNumber","getArea","computeAutoPlacement","placement","refRect","rects","sortedAreas","area","sort","b","filteredAreas","computedPlacement","variation","getReferenceOffsets","commonOffsetParent","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","runModifiers","modifiers","data","ends","findIndex","cur","match","enabled","update","isDestroyed","arrowStyles","attributes","flipped","positionFixed","flip","originalPlacement","position","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","some","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","toCheck","destroy","removeAttribute","willChange","disableEventListeners","removeOnDestroy","removeChild","getWindow","setupEventListeners","updateBound","addEventListener","passive","scrollElement","attachToScrollParents","callback","scrollParents","isBody","eventsEnabled","enableEventListeners","scheduleUpdate","cancelAnimationFrame","removeEventListener","isNumeric","n","isNaN","isFinite","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","requesting","_requesting","requested","placements","validPlacements","clockwise","reverse","BEHAVIORS","parseOffset","basePlacement","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","mergeWithPrevious","str","toValue","index2","Defaults","shift","shiftvariation","_data$offsets","isVertical","shiftOffsets","preventOverflow","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","keepTogether","floor","opSide","arrow","_data$offsets$arrow","arrowElement","querySelector","len","sideCapitalized","toLowerCase","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","inner","subtractLength","hide","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","v","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","applyStyle","setAttribute","onLoad","modifierOptions","Popper","requestAnimationFrame","jquery","Utils","PopperUtils","anObject","isObject","newPromiseCapability","C","constructor","promiseCapability","f","promise","requireObjectCoercible","argument","whitespace","ltrim","RegExp","rtrim","createMethod","TYPE","$this","internalObjectKeys","enumBugKeys","create","on","c","off","emit","_htmlElementAsString","keyAttr","classes","attr","elem","out","tagName","keyAttrValue","getAttribute","isString","allowedAttrs","htmlTreeAsString","currentElem","sepLength","nextStr","_oO","getBuiltIn","_typeof","_getRequireWildcardCache","cache","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","KNOWN_STATICS","caller","callee","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","Memo","getOwnPropertyNames","getOwnPropertySymbols","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","misc_1","node_1","dateTimestampSource","nowSeconds","Date","now","platformPerformance","isNodeEnv","dynamicRequire","performance","getNodePerformance","getGlobalObject","timeOrigin","getBrowserPerformance","timestampSource","dateTimestampInSeconds","timestampInSeconds","timestampWithMs","usingPerformanceAPI","browserPerformanceTimeOrigin","performanceNow","dateNow","timeOriginDelta","abs","timeOriginIsReliable","navigationStart","timing","navigationStartDelta","_browserPerformanceTimeOriginMode","pathCache","Map","matchPaths","trimPathname","rawPathname","decodeURIComponent","stripPrefix","__BASE_PATH__","URL","setMatchPaths","findMatchPath","trimmedPathname","cleanPath","pickPaths","matchPath","originalPath","pick","normalizePagePath","route","grabMatchParams","params","findPath","foundPath","it","onRouteUpdate","gtag","excludeGtagPaths","rx","sendPageView","pagePath","page_path","spanstatus_1","utils_2","fetchCallback","handlerData","shouldCreateSpan","hasTracingEnabled","fetchData","url","__span","response","setHttpStatus","status","setStatus","SpanStatus","InternalError","activeTransaction","getActiveTransaction","spanId","request","headers","Request","append","toTraceparent","xhrCallback","_b","xhr","__sentry_own_request__","__sentry_xhr__","__sentry_xhr_span_id__","status_code","setRequestHeader","DEFAULT_TRACING_ORIGINS","traceFetch","traceXHR","tracingOrigins","_options","shouldCreateSpanForRequest","urlMap","defaultShouldCreateSpan","origins","origin","isMatchingPattern","addInstrumentationHandler","useScrollRestoration","identifier","useLocation","useContext","_scrollHandler","ScrollContext","useRef","useLayoutEffect","scrollTo","onScroll","mod","require","process","loadModule","moduleName","cwd","registerBackgroundTabDetection","hidden","Cancelled","setTag","bitmap","classof","fails","whitespaces","METHOD_NAME","scope_1","session_1","API_VERSION","client","scope","_version","Scope","_stack","getStackTop","bindClient","isOlderThan","pushScope","clone","getScope","getStack","getClient","popScope","pop","withScope","captureException","eventId","_lastEventId","uuid4","finalHint","originalException","_invokeClient","captureMessage","lastEventId","addBreadcrumb","breadcrumb","getOptions","_c","beforeBreadcrumb","_d","maxBreadcrumbs","mergedBreadcrumb","finalBreadcrumb","consoleSandbox","setUser","setTags","setExtras","extras","setExtra","extra","setContext","context","configureScope","run","oldHub","makeMain","getIntegration","startSpan","_callExtensionMethod","startTransaction","customSamplingContext","traceHeaders","captureSession","endSession","_sendSessionUpdate","_e","getSession","close","setSession","startSession","release","environment","session","Session","getUser","currentSession","SessionStatus","Ok","Exited","carrier","getMainCarrier","sentry","__SENTRY__","extensions","registry","getHubFromCarrier","setHubOnCarrier","hasHubOnCarrier","activeDomain","domain","active","registryHubTopStack","_Oo","getHubFromActiveDomain","getActiveDomain","sessionFlusher_1","SessionFlusher","emitter","mitt","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","_useMongoose","useMongoose","pkg","_instrumentOperations","Collection","operation","_patchOperation","getSpanContext","_getSpanContextFromOperationArguments","fill","orig","lastArg","parentSpan","getSpan","maybePromise","collectionName","dbName","namespace","signature","shouldDescribe","includes","__read","aFunction","SPECIES","wellKnownSymbol","defaultConstructor","S","error_1","syncpromise_1","PromiseBuffer","_limit","_buffer","isReady","task","remove","SentryError","drain","timeout","capturedSetTimeout","clearTimeout","polyfill_1","_newTarget","__exportStar","sdk_1","init","profiler_1","Profiler","withProfiler","useProfiler","errorboundary_1","ErrorBoundary","withErrorBoundary","redux_1","createReduxEnhancer","reactrouterv3_1","reactRouterV3Instrumentation","reactrouter_1","reactRouterV4Instrumentation","reactRouterV5Instrumentation","withSentryRouting","onRouteUpdateDelayed","onClientEntry","_nprogress","defaultOptions","color","pluginOptions","innerHTML","head","appendChild","configure","nativePropertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","1","V","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","inputPromise","whenInput","r","capture","SDK_VERSION","browser_1","hoist_non_react_statics_1","__importDefault","React","__importStar","reactVersion","parseSemver","UNKNOWN_COMPONENT","INITIAL_STATE","componentStack","resetErrorBoundary","onReset","setState","componentDidCatch","beforeCapture","onError","showDialog","errorBoundaryError","errorBoundaryEvent","values","major","originalEvent_1","react","captureReactErrorBoundaryError","showReportDialog","onMount","onUnmount","fallback","isValidElement","resetError","WrappedComponent","errorBoundaryOptions","componentDisplayName","Wrapped","ScrollContainer","ScrollHandler","_scrollContainer","_useScrollRestoration","originalArray","excluded","sourceKeys","IS_PURE","store","mode","copyright","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","marker","runClearTimeout","Item","array","noop","nextTick","title","browser","env","argv","versions","addListener","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","binding","chdir","dir","umask","core_1","eventbuilder_1","transports_1","BrowserBackend","_setupTransport","transportOptions","_metadata","transport","supportsFetch","FetchTransport","XHRTransport","BaseBackend","polyfill","callOnHub","captureContext","_callOnClient","_hasWeakSet","WeakSet","_inner","memoize","unmemoize","delete","getLocation","_source$location","hostname","canUseDOM","decodeURI","history","createHistory","transitioning","resolveTransition","_onTransitionComplete","listen","listener","popstateListener","action","_ref$replace","go","replaceState","pushState","transition","createMemorySource","initialPath","searchIndex","initialLocation","substr","states","uri","_uri$split","_uri$split$","_uri$split2","_uri$split2$","newIndex","globalHistory","v8","localizedManifests","localizedManifest","start_url","lang","SDK_NAME","toLength","flattenIntoArray","original","sourceLen","depth","mapper","thisArg","targetIndex","sourceIndex","mapFn","_gatsby","_catchLinks","defaultState","dark","toggleDark","ThemeContext","createContext","ThemeProvider","Provider","CATEGORY_MAPPING","attachment","BaseTransport","_rateLimits","_api","sendEvent","_handleResponse","requestType","Status","fromHttpCode","_handleRateLimit","_disabledUntil","Success","category","_isRateLimited","e_1","e_2","rlHeader","raHeader","__values","parameters","headerDelay","delay","_f","e_2_1","return","e_1_1","parseRetryAfterHeader","DESCRIPTORS","createPropertyDescriptor","EXISTS","DSN_REGEX","from","_fromString","_fromComponents","_validate","withPassword","exec","projectMatch","components","ERROR_MESSAGE","minimal_1","actionTransformer","stateTransformer","enhancerOptions","reducer","initialState","newState","transformedAction","transformedState","configureScopeWithState","RateLimit","Invalid","Failed","Unknown","NATIVE_WEAK_MAP","objectHas","shared","sharedKey","hiddenKeys","wmget","wmhas","wmset","facade","STATE","getterFor","LogLevel","sdk","packages","_interopRequireWildcard","_sessionStorage","_len","_key","_stateStorage","scrollListener","scrollY","windowScroll","shouldUpdateScroll","scrollToHash","getElementById","substring","scrollIntoView","prevRouterProps","routerProps","scrollPosition","_this$props$location","_this$props$location2","postfix","random","PromiseCapability","$$resolve","$$reject","client_1","BrowserClient","helpers_1","injectReportDialog","forceLoad","flush","version_1","NoopTransport","Skipped","wrapRootElement","Consumer","GATSBY_ACTIVE_ENV","REACT_APP_BUILD_ENV","Sentry","Integrations","tracesSampleRate","normalizeTransactionName","appRoutes","routes","_redirectLocation","renderProps","routePath","routesWithPaths","getRouteStringFromRoutes","startTransactionOnPageLoad","startTransactionOnLocationChange","prevName","localName","tags_1","propertyIsEnumerableModule","toIndexedObject","toPrimitive","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","P","hubextensions_1","idletransaction_1","backgroundtab_1","metrics_1","router_1","DEFAULT_MAX_TRANSACTION_DURATION_SECONDS","DEFAULT_BROWSER_TRACING_OPTIONS","idleTimeout","DEFAULT_IDLE_TIMEOUT","markBackgroundTransactions","maxTransactionDuration","routingInstrumentation","instrumentRoutingWithDefaults","_metrics","MetricsInstrumentation","_emitOptionsWarning","_getCurrentHub","instrumentRouting","_createRouteTransaction","beforeNavigate","parentContextFromHeader","getHeaderContext","expandedContext","modifiedContext","finalContext","idleTransaction","startIdleTransaction","registerBeforeFinishCallback","addPerformanceEntries","maxDuration","diff","DeadlineExceeded","adjustTransactionDuration","secToMs","getMetaContent","extractTraceparentData","metaName","generateUniqueID","transaction_1","IdleTransactionSpanRecorder","_pushActivity","_popActivity","transactionSpanId","IdleTransaction","_idleHub","_idleTimeout","_onScope","activities","_heartbeatTimer","_heartbeatCounter","_finished","_beforeFinishCallbacks","clearActiveTransaction","setSpan","_initTimeout","toISOString","keepSpan","_pingHeartbeat","end_1","_beat","heartbeatString","_prevHeartbeatString","getTransaction","_sendRequest","eventToSentryRequest","sendSession","sessionToSentryRequest","sentryRequest","originalPayload","XMLHttpRequest","onreadystatechange","readyState","getResponseHeader","open","send","noop_1","_transport","_exception","_hint","_message","_level","getTransport","PageRenderer","pageResources","json","pageContext","__params","pathContext","pageElement","apiRunner","loader","publicLoader","page","httpStatus","Unauthenticated","PermissionDenied","NotFound","AlreadyExists","FailedPrecondition","ResourceExhausted","InvalidArgument","Unimplemented","Unavailable","UnknownError","globalhandlers_1","GlobalHandlers","trycatch_1","TryCatch","breadcrumbs_1","Breadcrumbs","linkederrors_1","LinkedErrors","useragent_1","UserAgent","activeXDocument","documentCreateElement","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObject","ActiveXObject","iframeDocument","iframe","write","temp","parentWindow","NullProtoObjectViaActiveX","display","src","contentWindow","F","Properties","wat","isPrimitive","Event","isElement","Element","isRegExp","isSyntheticEvent","addToUnscopables","default_","uriPathname","uriSegments","segmentize","isRootUri","ranked","rankRoutes","l","missed","routeSegments","routeSegment","uriSegment","isSplat","dynamicMatch","paramRe","reservedNames","_to$split","toPathname","toQuery","basePathname","toSegments","baseSegments","addQuery","allSegments","segments","segment","insertParams","_path$split","pathBase","_path$split$","query","constructedPath","_params$location","_params$location$sear","searchSplit","validateRedirect","isDynamic","rankRoute","score","isRootSegment","SEGMENT_POINTS","q","shallowCompare","obj1","obj2","obj1Keys","plugin","toAbsoluteIndex","IS_INCLUDES","fromIndex","ie10","appVersion","fns","doc","hack","doScroll","loaded","definition","initial","NProgress","Settings","settings","minimum","easing","positionUsing","speed","trickle","trickleRate","trickleSpeed","showSpinner","barSelector","spinnerSelector","template","clamp","toBarPerc","started","isStarted","progress","bar","ease","getPositioningCSS","barCSS","barPositionCSS","opacity","work","force","inc","amount","$promise","always","fromStart","isRendered","addClass","spinner","perc","removeElement","removeClass","bodyStyle","vendorPrefix","pending","cssPrefixes","cssProps","getStyleProp","letter","vendorName","capName","getVendorProp","applyCss","properties","hasClass","classList","oldList","newList","customStartTransaction","startingUrl","serviceWorker","register","reg","installingWorker","installing","controller","___swUpdated","___failedResources","reload","PerformanceObserver","supportedEntryTypes","po","getEntries","buffered","integrations_1","InboundFilters","FunctionToString","window_1","SENTRY_RELEASE","autoSessionTracking","initAndBind","ignoreDuration","startSessionTracking","objectKeys","Symbol","TRACEPARENT_REGEXP","traceparent","matches","parentSampled","traceId","parentSpanId","msToSec","time","stripUrlQueryAndFragment","self","ReferenceError","PREFERRED_STRING","valueOf","t","o","d","TRANSITION_END","getUID","getSelectorFromElement","getTransitionDurationFromElement","reflow","triggerTransitionEnd","trigger","supportsTransitionEnd","typeCheckConfig","findShadowRoot","attachShadow","getRootNode","ShadowRoot","jQueryDetection","emulateTransitionEnd","one","special","bindType","delegateType","handle","is","handleObj","h","_element","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","closest","_destroyElement","detach","_jQueryInterface","each","_handleDismiss","noConflict","g","m","shouldAvoidTriggerChange","toggle","checked","focus","hasAttribute","toggleClass","querySelectorAll","p","interval","keyboard","slide","pause","touch","E","TOUCH","PEN","w","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","_slide","nextWhenVisible","cycle","clearInterval","_updateInterval","setInterval","visibilityState","_getItemIndex","_handleSwipe","_keydown","_addTouchEventListeners","originalEvent","pointerType","clientX","touches","which","_getItemByDirection","_triggerSlideEvent","relatedTarget","direction","_setActiveIndicatorElement","defaultInterval","u","ride","_dataApiClickHandler","T","N","D","_isTransitioning","_triggerArray","_selector","_parent","_getParent","_addAriaAndCollapsedClass","show","not","_getDimension","setTransitioning","_getTargetFromElement","currentTarget","k","A","I","j","boundary","popperConfig","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","_clearMenus","_getParentFromElement","_getPopperConfig","stopPropagation","Default","DefaultType","_getPlacement","_getOffset","clickEvent","_dataApiKeydownHandler","modal","R","backdrop","L","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","_hideModal","handleUpdate","_triggerBackdropTransition","scrollHeight","ELEMENT_NODE","_enforceFocus","_resetAdjustments","_resetScrollbar","_removeBackdrop","appendTo","paddingLeft","paddingRight","_getScrollbarWidth","B","H","U","DOMParser","parseFromString","nodeValue","M","W","z","K","animation","selector","container","fallbackPlacement","customClass","sanitize","sanitizeFn","whiteList","X","AUTO","TOP","RIGHT","BOTTOM","LEFT","Y","br","col","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","pre","small","sub","sup","strong","ul","$","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","J","_isEnabled","_timeout","_hoverState","_activeTrigger","config","tip","_setListeners","enable","disable","toggleEnabled","DATA_KEY","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","EVENT_KEY","_hideModalHandler","isWithContent","NAME","setContent","_getAttachment","addAttachmentClass","_getContainer","_fixTransition","_cleanTipClass","hover","getTitle","setElementContent","text","empty","_handlePopperPlacementChange","_fixTitle","G","Z","tt","et","nt","ot","_getContent","at","st","lt","rt","ut","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","_getScrollTop","_getScrollHeight","pageYOffset","_getOffsetHeight","_activate","_clear","parents","dt","tab","ft","makeArray","_transitionComplete","ct","toast","ht","autohide","gt","mt","_clearTimeout","_close","Alert","Button","Carousel","Collapse","Dropdown","Modal","Popover","Scrollspy","Tab","Toast","Tooltip","Util","uid","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","names","globalThis","$reduce","arrayMethodIsStrict","arrayMethodUsesToLength","CHROME_VERSION","IS_NODE","STRICT_METHOD","USES_TO_LENGTH","forced","callbackfn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","bindReporter_1","initMetric_1","observe_1","onHidden_1","getCLS","onReport","reportAllChanges","report","metric","initMetric","entryHandler","hadRecentInput","bindReporter","onHidden","isUnloading","takeRecords","isFinal","_setPrototypeOf","generateUniqueID_1","delta","PREFIX","Logger","_enabled","RequestSessionStatus","sham","iterator","DEFAULT_EVENT_TARGET","eventTarget","_wrapTimeFunction","_wrapRAF","_wrapXHR","_wrapEventTarget","mechanism","function","getFunctionName","eventName","handleEvent","originalRemoveEventListener","wrappedEventHandler","originalEventHandler","__sentry_wrapped__","originalSend","xmlHttpRequestProps","wrapOptions","__sentry_original__","observeAllUpdates","prevValue","_maxlen","child","childSpan","setData","spanStatus","isSuccess","sampledString","parent_span_id","span_id","trace_id","toJSON","fetchImpl","isNativeFetch","fetch","sandbox","getNativeFetchImplementation","_fetch","referrerPolicy","supportsReferrerPolicy","fetchParameters","RouteAnnouncerProps","clip","whiteSpace","border","redirectMap","redirects","redirect","fromPath","maybeRedirect","toPath","onPreRouteUpdate","prevLocation","timeoutId","loadPage","PageResourceStatus","webpackCompilationHash","___webpackCompilationHash","postMessage","gatsbyApi","reachNavigate","results","getSavedScrollPosition","RouteAnnouncer","announcementRef","createRef","nextProps","pageName","pageHeadings","textContent","newAnnouncement","innerText","compareLocationProps","nextLocation","RouteUpdates","shouldComponentUpdate","Fragment","EnsureResources","loadPageSync","loadResources","rawPath","nextState","ProdLoader","asyncRequires","setLoader","setApiRunner","___emitter","apiRunnerAsync","RouteHandler","baseuri","basepath","DataContext","GatsbyRoot","staticQueryResults","getStaticQueryResults","LocationHandler","browserLoc","SiteRoot","App","renderer","ReactDOM","hydrate","domReady","attrs","flushTimeout","_pendingAggregates","_intervalId","_sessionAttrs","sendSessionAggregates","sessionAggregates","getSessionAggregates","aggregates","incrementSessionStatusCount","requestSession","getRequestSession","_incrementSessionStatusCount","setRequestSession","date","sessionStartedTrunc","setSeconds","aggregationCounts","Errored","errored","exited","Crashed","crashed","subClass","superClass","exceptionFromStacktrace","localStack","firstFrameFunction","lastFrameFunction","frame","colno","column","filename","in_app","lineno","line","extractExceptionKeysForMessage","__serialized__","normalizeToSize","functiontostring_1","inboundfilters_1","getCLS_1","getFID_1","getLCP_1","getFirstHidden_1","_performanceCursor","mark","_trackCLS","_trackLCP","_trackFID","entryScriptSrc","entryScriptStartTimestamp","tracingInitMarkStartTime","responseStartTimestamp","requestStartTimestamp","scripts","dataset","startTime","duration","entryType","addPerformanceNavigationTiming","eventEnd","_startChild","requestStart","responseEnd","responseStart","addRequest","addNavigationSpans","measureStartTimestamp","measureEndTimestamp","addMeasureSpans","firstHidden","getFirstHidden","shouldRecord","timeStamp","resourceName","addResourceSpans","_trackNavigator","timeOrigin_1","oldValue","measurementTimestamp","normalizedValue","_lcpEntry","size","connection","effectiveType","isMeasurementValue","rtt","downlink","deviceMemory","hardwareConcurrency","getLCP","getFID","initiatorType","transferSize","encodedBodySize","decodedBodySize","ctx","__rest","prefetchPathname","StaticQueryContext","StaticQueryDataRenderer","staticQueryData","finalData","StaticQuery","useStaticQuery","Number","graphql","string_1","fallbackGlobalObject","crypto","msCrypto","getRandomValues","Uint16Array","pad","num","parseUrl","fragment","relative","getEventDescription","originalConsole","wrappedLevels","getLocationHref","oO","SEMVER_REGEXP","minor","patch","buildmetadata","prerelease","headerDate","addContextToFrame","lines","linesOfContext","maxLines","sourceLine","pre_context","snipLine","context_line","post_context","urlPath","webpackPolyfill","deprecate","paths","_objectWithoutProperties","_classCallCheck","_possibleConstructorReturn","_inherits","createNamedContext","defaultValue","Ctx","LocationContext","LocationProvider","_temp","getContext","refs","unlisten","_props$history","info","isRedirect","_navigate","unmounted","ServerLocation","BaseContext","Router","baseContext","locationContext","RouterImpl","_React$PureComponent","_props","_navigate2","_props$component","domProps","Children","toArray","createRoute","cloneElement","FocusWrapper","FocusHandler","wrapperProps","PureComponent","FocusContext","requestFocus","FocusHandlerImpl","initialRender","focusHandlerCount","_React$Component2","_temp2","_this4","_len2","_key2","shouldFocus","myURIChanged","navigatedUpToMe","activeElement","_this5","_props2","_props2$component","Comp","outline","tabIndex","_ref4","_ref5","_ref6","_props$getProps","anchorProps","encodedHref","shouldNavigate","_location$state","restState","RedirectRequest","redirectTo","RedirectImpl","_React$Component3","_props3","_props3$replace","noThrow","resolvedTo","_props4","Redirect","_ref7","Match","_ref8","_ref9","_ref10","resolvedPath","useNavigate","useParams","useMatch","stripSlashes","elementPath","base_1","fetch_1","xhr_1","replacement","isForced","feature","detection","normalize","POLYFILL","NATIVE","redefine","copyConstructorProperties","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","IndexedObject","backend_1","_prepareEvent","platform","_sendEvent","addSentryBreadcrumb","BaseClient","BrowserIntegrations","Transports","windowIntegrations","_window","INTEGRATIONS","whenInput_1","onFinal","api_1","baseclient_1","basebackend_1","toObject","arraySpeciesCreate","flat","depthArg","integration_1","backendClass","_integrations","_processing","_backend","_dsn","_getBackend","_captureEvent","promisedEvent","_sendSession","_isClientProcessing","ready","transportFlushed","_updateSessionFromEvent","exceptions","exceptions_1","exceptions_1_1","errors","ticked","normalizeDepth","prepared","_applyClientOptions","_applyIntegrationsMetadata","finalScope","applyToEvent","evt","_normalizeEvent","normalized","breadcrumbs","dist","maxValueLength","truncate","integrationsArray","_processEvent","finalEvent","beforeSend","sampleRate","isTransaction","__sentry__","beforeSendResult","processedEvent","hashIndex","_inheritsLoose","memo_1","stacktrace_1","getWalkSource","event_1","CustomEvent","detail","jsonSize","utf8Length","normalizeValue","_events","walk","memo","Infinity","serializeValue","innerKey","replacementFactory","wrapped","maxSize","serialized","maxLength","includedKeys","rv","lastHref","logger_1","object_1","supports_1","handlers","instrumented","instrument","originalConsoleLevel","triggerHandlers","instrumentConsole","triggerDOMHandler","globalDOMEventHandler","makeDOMEventHandler","originalAddEventListener","handlers_1","__sentry_instrumentation_handlers__","handlerForType","refCount","handlers_2","instrumentDOM","requestKeys","requestValues","xhrproto","originalOpen","onreadystatechangeHandler","requestPos","args_1","readyStateArgs","instrumentXHR","supportsNativeFetch","originalFetch","getFetchMethod","getFetchUrl","instrumentFetch","supportsHistory","oldOnPopState","onpopstate","historyReplacementFunction","originalHistoryFunction","instrumentHistory","_oldOnErrorHandler","onerror","msg","_oldOnUnhandledRejectionHandler","onunhandledrejection","fetchArgs","debounceTimerID","lastCapturedEvent","globalListener","isContentEditable","shouldSkipDOMEvent","previous","shouldShortcircuitPreviousDebounce","that","NativePromise","speciesConstructor","promiseResolve","real","onFinally","_arrayLikeToArray","arr2","_toConsumableArray","iter","minLen","supportedPrefetchStrategy","fakeLink","relList","supports","support","link","onload","getElementsByTagName","getElementsByName","preFetched","prefetch","preferDefault","createPageDataUrl","doFetch","toPageResources","pageData","componentChunkName","staticQueryHashes","BaseLoader","loadComponent","inFlightNetworkRequests","pageDb","inFlightDb","staticQueryDb","pageDataDb","prefetchTriggered","Set","prefetchCompleted","memoizedGet","inFlightPromise","prefetchDisabled","fetchPageDataJson","loadObj","retries","responseText","jsonPayload","payload","notFound","loadPageDataJson","loadAppData","allData","finalResult","componentChunkPromise","createdAt","staticQueryBatchPromise","staticQueryHash","staticQueryResultsMap","shouldPrefetch","saveData","doesConnectionSupportPrefetch","realPath","doPrefetch","pageDataUrl","prefetchHelper","crossOrigin","as","getResourceURLsForPathname","createComponentUrls","isPageNotFound","appData","___chunkMapping","chunk","__PATH_PREFIX__","chunkName","componentUrls","_loader","getResourcesForPathname","getResourcesForPathnameSync","loglevel_1","severity_1","status_1","TransactionSamplingMethod","GatsbyMDXScopeContext","MDXScopeProvider","__mdxScope","scope_0","componentsAndGuards","mdxPlugins","guards","componentName","guard","componentFromGuards","MDXConsumer","withMDXComponents","componentsFromContext","scopeContexts","_onErrorHandlerInstalled","_onUnhandledRejectionHandlerInstalled","stackTraceLimit","_installGlobalOnErrorHandler","_installGlobalOnUnhandledRejectionHandler","currentHub","hasIntegration","isFailedOwnDelivery","shouldIgnoreOnError","_eventFromIncompleteOnError","_enhanceEventWithInitialFrame","_eventFromRejectionWithPrimitive","groups","dom","_consoleBreadcrumb","_domBreadcrumb","_xhrBreadcrumb","_fetchBreadcrumb","_historyBreadcrumb","fromString","safeJoin","serializeAttribute","parsedLoc","parsedFrom","parsedTo","express_1","postgres_1","Postgres","mysql_1","Mysql","mongo_1","ceil","plugins","forget","_reactDom","scrollKey","ScrollContainerImplementation","findDOMNode","root","clickHandler","routeThroughBrowserOrApp","hashShouldBeFollowed","pathIsNotHandledByApp","urlsAreOnSameOrigin","authorIsForcingNavigation","anchorsTargetIsEquivalentToSelf","findClosestAnchor","navigationWasHandledElsewhere","slashedPathname","userIsForcingNavigation","_escapeStringRegexp","anchor","destination","pathStartRegEx","hrefHandler","clickedAnchor","SVGAnimatedString","animVal","excludePattern","destinationPathname","_notifyingListeners","_scopeListeners","_eventProcessors","_breadcrumbs","_user","_tags","_extra","_contexts","newScope","_span","_session","_transactionName","_fingerprint","_requestSession","addScopeListener","addEventProcessor","_notifyScopeListeners","setFingerprint","fingerprint","setLevel","setTransactionName","setTransaction","updatedScope","clear","maxCrumbs","clearBreadcrumbs","transactionName","_applyFingerprint","_notifyEventProcessors","getGlobalEventProcessors","processors","processor","final","globalEventProcessors","processingStart","perfMetrics","onFirstInputDelay","cancelable","Headers","Response","supportsErrorEvent","ErrorEvent","supportsDOMError","DOMError","supportsDOMException","DOMException","supportsReportingObserver","chrome","isChromePackagedApp","runtime","hasHistoryApi","TRACING_GETTER","globalTracingIntegration","_mountActivity","_mountSpan","pushActivity","activity","getActivitySpan","popActivity","updateProps","includeUpdates","changedProps","includeRender","hasRenderSpan","mountSpan","useState","useEffect","getSdkMetadataForEnvelopeHeader","api","enhanceEventWithSdkInfo","sdkInfo","sent_at","eventType","useEnvelope","transactionSampling","samplingMethod","rate","envelope","sample_rates","variable","nativeDefineProperty","Attributes","clientClass","debug","initialScope","firstHiddenTime","Debug","Warning","Fatal","Critical","Log","normalizeArray","parts","allowAboveRoot","up","last","unshift","splitPathRe","splitPath","resolvedAbsolute","normalizePath","isPathAbsolute","isAbsolute","trailingSlash","normalizedPath","fromParts","toParts","samePartsLength","outputParts","dirname","basename","ext","originalFunctionToString","functionToString","condition","format","argIndex","framesToPop","errors_1","sample","samplingContext","Explicit","tracesSampler","Sampler","Inheritance","Rate","isValidSampleRate","_startTransaction","_experiments","maxSpans","_addTracingExtensions","onScope","addExtensionMethods","packageToIntegrationMapping","mongodb","mongoose","mysql","pg","mappedPackages","_autoloadDatabaseIntegrations","registerErrorInstrumentation","createReactRouterInstrumentation","allRoutes","getTransactionName","branches","matchRoutes","branch","isExact","computeRootMatch","initPathName","Route","WrappedRoute","computedMatch","$trimEnd","FORCED","forcedStringTrimMethod","trimRight","gecko","winjs","geckoEval","chromeEval","reactMinifiedRegexp","popFrames","popSize","extractMessage","ex","opera10Regex","opera11Regex","computeStackTraceFromStacktraceProp","submatch","isNative","isSafariExtension","isSafariWebExtension","columnNumber","computeStackTraceFromStackProp","failed","sid","startingTime","ip_address","ipAddress","did","username","user_agent","DEFAULT_IGNORE_ERRORS","clientOptions","_mergeOptions","_shouldDropEvent","_isSentryError","_isIgnoredError","_isDeniedUrl","_getEventFilterUrl","_isAllowedUrl","ignoreInternal","ignoreErrors","_getPossibleEventMessages","pattern","denyUrls","allowUrls","whitelistUrls","blacklistUrls","frames_2","matchOperatorsRe","IS_RIGHT","argumentsLength","_defineProperty","enumerableOnly","symbols","sym","_objectSpread2","getOwnPropertyDescriptors","_objectWithoutPropertiesLoose","sourceSymbolKeys","MDXContext","useMDXComponents","contextComponents","allComponents","DEFAULTS","inlineCode","wrapper","MDXCreateElement","propComponents","mdxType","originalType","parentName","etc","MDXProvider","mdx","argsLength","createElementArgArray","newProps","ignoreOnError","ignoreNextOnError","before","sentryWrapped","wrappedArguments","script","async","TracingIntegrations","browser_2","registerRequestInstrumentation","hubextensions_2","newLine","ll","delimiter","output","for","$$typeof","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Lazy","Portal","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","errorCallback","ProdPageRenderer","InternalPageRenderer","referrer","Referer","listenersAdded","onPageHide","persisted","UNSCOPABLES","ArrayPrototype","shallowDiffers","Client","nonce","noModule","pushStack","merge","prevObject","first","eq","even","grep","odd","extend","expando","isEmptyObject","globalEval","inArray","guid","ue","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","needsContext","Q","ee","te","ne","fromCharCode","re","ie","charCodeAt","oe","ae","be","childNodes","se","getElementsByClassName","qsa","ye","xe","cacheLength","le","ce","fe","attrHandle","pe","nextSibling","de","he","ge","isDisabled","ve","isXML","namespaceURI","setDocument","attachEvent","createComment","getById","getAttributeNode","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","sortDetached","specified","escape","uniqueSort","detectDuplicates","sortStable","getText","firstChild","selectors","createPseudo","preFilter","lastChild","uniqueID","pseudos","setFilters","hasFocus","selected","selectedIndex","nth","radio","checkbox","file","password","image","submit","reset","me","we","Te","Ce","Ee","filters","tokenize","compile","_r","select","expr","unique","isXMLDoc","escapeSelector","parseHTML","contents","prevAll","addBack","parentsUntil","nextAll","nextUntil","prevUntil","siblings","contentDocument","fail","Callbacks","stopOnFalse","memory","lock","locked","fireWith","fire","fired","Deferred","pipe","notify","notifyWith","resolveWith","exceptionHook","stackTrace","rejectWith","getStackHook","when","readyException","readyWait","_t2","access","hasData","_data","_removeData","dequeue","_queueHooks","stop","clearQueue","composed","cssNumber","createDocumentFragment","checkClone","cloneNode","noCloneChecked","option","thead","tr","td","tbody","tfoot","colgroup","caption","th","optgroup","htmlPrefilter","createTextNode","Se","ke","Ae","isTrigger","stopImmediatePropagation","events","triggered","dispatch","origType","delegateCount","setup","teardown","removeEvent","fix","delegateTarget","preDispatch","isPropagationStopped","isImmediatePropagationStopped","rnamespace","postDispatch","addProp","load","noBubble","beforeunload","returnValue","isSimulated","bubbles","changedTouches","eventPhase","pageX","pageY","view","charCode","keyCode","buttons","clientY","offsetX","offsetY","pointerId","screenX","screenY","targetTouches","toElement","blur","mouseenter","mouseleave","pointerenter","pointerleave","Ne","De","je","qe","Le","He","Oe","Pe","_evalUrl","Re","cleanData","prepend","insertBefore","after","replaceWith","replaceChild","prependTo","insertAfter","replaceAll","Me","Ie","opener","We","Fe","Be","getPropertyValue","pixelBoxStyles","minWidth","maxWidth","$e","cssText","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","reliableTrDimensions","ze","Ue","Xe","Ve","Ge","Ye","visibility","Qe","letterSpacing","fontWeight","Je","Ke","Ze","getClientRects","cssHooks","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","orphans","widows","zIndex","zoom","setProperty","margin","expand","Tween","propHooks","pos","fx","linear","swing","cos","PI","tick","tweeners","prefilters","tweens","opts","specialEasing","originalProperties","originalOptions","createTween","complete","timer","anim","Animation","tweener","unqueued","prefilter","speeds","old","fadeTo","animate","timers","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","checkOn","optSelected","radioValue","pt","removeAttr","attrHooks","vt","yt","removeProp","propFix","xt","valHooks","focusin","bt","wt","simulate","triggerHandler","Tt","Ct","Et","parseXML","St","kt","At","Nt","Dt","param","serialize","serializeArray","jt","qt","Lt","Ht","Ot","Pt","Rt","Mt","It","Wt","Ft","Bt","dataTypes","$t","ajaxSettings","flatOptions","lastModified","etag","isLocal","processData","contentType","accepts","xml","responseFields","converters","ajaxSetup","ajaxPrefilter","ajaxTransport","ajax","statusCode","getAllResponseHeaders","overrideMimeType","mimeType","abort","dataType","crossDomain","traditional","hasContent","ifModified","success","dataFilter","statusText","getJSON","getScript","wrapAll","wrapInner","unwrap","visible","_t","0","1223","zt","cors","_o","xhrFields","onabort","ontimeout","responseType","binary","scriptAttrs","charset","scriptCharset","Ut","Xt","Vt","jsonp","jsonpCallback","createHTMLDocument","implementation","animated","setOffset","using","pageXOffset","Height","Width","unbind","delegate","undelegate","Gt","proxy","holdReady","parseJSON","isWindow","camelCase","Yt","jQuery","Qt","defaultReturn","argTransform","thrower","ACCESSORS","argument0","argument1","limit","_handler","linkedErrors","_walkErrorTree","__decorate","__param","__metadata","__awaiter","__generator","__spreadArrays","_await","__asyncGenerator","__asyncDelegator","__asyncValues","__makeTemplateObject","__classPrivateFieldGet","__classPrivateFieldSet","__createBinding","createExporter","exporter","extendStatics","__","decorators","Reflect","decorate","paramIndex","decorator","metadataKey","metadataValue","_arguments","generator","fulfilled","rejected","label","sent","trys","verb","k2","ar","il","jl","asyncIterator","resume","fulfill","settle","cooked","raw","receiver","privateMap","sql","fields"],"mappings":"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","file":"app-a7d9259fb4e80a3c4d2f.js","sourcesContent":["var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\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 var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\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 createNonEnumerableProperty(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 || inspectSource(this);\n});\n","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setPrototypeOf = Object.setPrototypeOf || ({\n __proto__: []\n} instanceof Array ? setProtoOf : mixinProperties);\n/**\n * setPrototypeOf polyfill using __proto__\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\n\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\n\n\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\n return obj;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.withPrefix = withPrefix;\nexports.withAssetPrefix = withAssetPrefix;\nexports.navigateTo = exports.replace = exports.push = exports.navigate = exports.default = void 0;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _router = require(\"@reach/router\");\n\nvar _utils = require(\"@reach/router/lib/utils\");\n\nvar _parsePath = require(\"./parse-path\");\n\nexports.parsePath = _parsePath.parsePath;\n\nvar isAbsolutePath = function isAbsolutePath(path) {\n return path === null || path === void 0 ? void 0 : path.startsWith(\"/\");\n};\n\nfunction withPrefix(path, prefix) {\n var _ref, _prefix;\n\n if (prefix === void 0) {\n prefix = getGlobalBasePrefix();\n }\n\n if (!isLocalLink(path)) {\n return path;\n }\n\n if (path.startsWith(\"./\") || path.startsWith(\"../\")) {\n return path;\n }\n\n var base = (_ref = (_prefix = prefix) !== null && _prefix !== void 0 ? _prefix : getGlobalPathPrefix()) !== null && _ref !== void 0 ? _ref : \"/\";\n return \"\" + ((base === null || base === void 0 ? void 0 : base.endsWith(\"/\")) ? base.slice(0, -1) : base) + (path.startsWith(\"/\") ? path : \"/\" + path);\n} // These global values are wrapped in typeof clauses to ensure the values exist.\n// This is especially problematic in unit testing of this component.\n\n\nvar getGlobalPathPrefix = function getGlobalPathPrefix() {\n return process.env.NODE_ENV !== \"production\" ? typeof __PATH_PREFIX__ !== \"undefined\" ? __PATH_PREFIX__ : undefined : __PATH_PREFIX__;\n};\n\nvar getGlobalBasePrefix = function getGlobalBasePrefix() {\n return process.env.NODE_ENV !== \"production\" ? typeof __BASE_PATH__ !== \"undefined\" ? __BASE_PATH__ : undefined : __BASE_PATH__;\n};\n\nvar isLocalLink = function isLocalLink(path) {\n return path && !path.startsWith(\"http://\") && !path.startsWith(\"https://\") && !path.startsWith(\"//\");\n};\n\nfunction withAssetPrefix(path) {\n return withPrefix(path, getGlobalPathPrefix());\n}\n\nfunction absolutify(path, current) {\n // If it's already absolute, return as-is\n if (isAbsolutePath(path)) {\n return path;\n }\n\n return (0, _utils.resolve)(path, current);\n}\n\nvar rewriteLinkPath = function rewriteLinkPath(path, relativeTo) {\n if (typeof path === \"number\") {\n return path;\n }\n\n if (!isLocalLink(path)) {\n return path;\n }\n\n return isAbsolutePath(path) ? withPrefix(path) : absolutify(path, relativeTo);\n};\n\nvar NavLinkPropTypes = {\n activeClassName: _propTypes.default.string,\n activeStyle: _propTypes.default.object,\n partiallyActive: _propTypes.default.bool\n}; // Set up IntersectionObserver\n\nvar createIntersectionObserver = function createIntersectionObserver(el, cb) {\n var io = new window.IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n if (el === entry.target) {\n // Check if element is within viewport, remove listener, destroy observer, and run link callback.\n // MSEdge doesn't currently support isIntersecting, so also test for an intersectionRatio > 0\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n io.unobserve(el);\n io.disconnect();\n cb();\n }\n }\n });\n }); // Add element to the observer\n\n io.observe(el);\n return {\n instance: io,\n el: el\n };\n};\n\nfunction GatsbyLinkLocationWrapper(props) {\n return /*#__PURE__*/_react.default.createElement(_router.Location, null, function (_ref2) {\n var location = _ref2.location;\n return /*#__PURE__*/_react.default.createElement(GatsbyLink, (0, _extends2.default)({}, props, {\n _location: location\n }));\n });\n}\n\nvar GatsbyLink = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(GatsbyLink, _React$Component);\n\n function GatsbyLink(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this; // Default to no support for IntersectionObserver\n\n _this.defaultGetProps = function (_ref3) {\n var isPartiallyCurrent = _ref3.isPartiallyCurrent,\n isCurrent = _ref3.isCurrent;\n\n if (_this.props.partiallyActive ? isPartiallyCurrent : isCurrent) {\n return {\n className: [_this.props.className, _this.props.activeClassName].filter(Boolean).join(\" \"),\n style: (0, _extends2.default)({}, _this.props.style, _this.props.activeStyle)\n };\n }\n\n return null;\n };\n\n var IOSupported = false;\n\n if (typeof window !== \"undefined\" && window.IntersectionObserver) {\n IOSupported = true;\n }\n\n _this.state = {\n IOSupported: IOSupported\n };\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2.default)(_this));\n return _this;\n }\n\n var _proto = GatsbyLink.prototype;\n\n _proto._prefetch = function _prefetch() {\n var currentPath = window.location.pathname; // reach router should have the correct state\n\n if (this.props._location && this.props._location.pathname) {\n currentPath = this.props._location.pathname;\n }\n\n var rewrittenPath = rewriteLinkPath(this.props.to, currentPath);\n var newPathName = (0, _parsePath.parsePath)(rewrittenPath).pathname; // Prefech is used to speed up next navigations. When you use it on the current navigation,\n // there could be a race-condition where Chrome uses the stale data instead of waiting for the network to complete\n\n if (currentPath !== newPathName) {\n ___loader.enqueue(newPathName);\n }\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // Preserve non IO functionality if no support\n if (this.props.to !== prevProps.to && !this.state.IOSupported) {\n this._prefetch();\n }\n };\n\n _proto.componentDidMount = function componentDidMount() {\n // Preserve non IO functionality if no support\n if (!this.state.IOSupported) {\n this._prefetch();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (!this.io) {\n return;\n }\n\n var _this$io = this.io,\n instance = _this$io.instance,\n el = _this$io.el;\n instance.unobserve(el);\n instance.disconnect();\n };\n\n _proto.handleRef = function handleRef(ref) {\n var _this2 = this;\n\n if (this.props.innerRef && this.props.innerRef.hasOwnProperty(\"current\")) {\n this.props.innerRef.current = ref;\n } else if (this.props.innerRef) {\n this.props.innerRef(ref);\n }\n\n if (this.state.IOSupported && ref) {\n // If IO supported and element reference found, setup Observer functionality\n this.io = createIntersectionObserver(ref, function () {\n _this2._prefetch();\n });\n }\n };\n\n _proto.render = function render() {\n var _this3 = this;\n\n var _this$props = this.props,\n to = _this$props.to,\n _this$props$getProps = _this$props.getProps,\n getProps = _this$props$getProps === void 0 ? this.defaultGetProps : _this$props$getProps,\n _onClick = _this$props.onClick,\n _onMouseEnter = _this$props.onMouseEnter,\n $activeClassName = _this$props.activeClassName,\n $activeStyle = _this$props.activeStyle,\n $innerRef = _this$props.innerRef,\n partiallyActive = _this$props.partiallyActive,\n state = _this$props.state,\n replace = _this$props.replace,\n _location = _this$props._location,\n rest = (0, _objectWithoutPropertiesLoose2.default)(_this$props, [\"to\", \"getProps\", \"onClick\", \"onMouseEnter\", \"activeClassName\", \"activeStyle\", \"innerRef\", \"partiallyActive\", \"state\", \"replace\", \"_location\"]);\n\n if (process.env.NODE_ENV !== \"production\" && !isLocalLink(to)) {\n console.warn(\"External link \" + to + \" was detected in a Link component. Use the Link component only for internal links. See: https://gatsby.dev/internal-links\");\n }\n\n var prefixedTo = rewriteLinkPath(to, _location.pathname);\n\n if (!isLocalLink(prefixedTo)) {\n return /*#__PURE__*/_react.default.createElement(\"a\", (0, _extends2.default)({\n href: prefixedTo\n }, rest));\n }\n\n return /*#__PURE__*/_react.default.createElement(_router.Link, (0, _extends2.default)({\n to: prefixedTo,\n state: state,\n getProps: getProps,\n innerRef: this.handleRef,\n onMouseEnter: function onMouseEnter(e) {\n if (_onMouseEnter) {\n _onMouseEnter(e);\n }\n\n ___loader.hovering((0, _parsePath.parsePath)(prefixedTo).pathname);\n },\n onClick: function onClick(e) {\n if (_onClick) {\n _onClick(e);\n }\n\n if (e.button === 0 && // ignore right clicks\n !_this3.props.target && // let browser handle \"target=_blank\"\n !e.defaultPrevented && // onClick prevented default\n !e.metaKey && // ignore clicks with modifier keys...\n !e.altKey && !e.ctrlKey && !e.shiftKey) {\n e.preventDefault();\n var shouldReplace = replace;\n\n var isCurrent = encodeURI(prefixedTo) === _location.pathname;\n\n if (typeof replace !== \"boolean\" && isCurrent) {\n shouldReplace = true;\n } // Make sure the necessary scripts and data are\n // loaded before continuing.\n\n\n window.___navigate(prefixedTo, {\n state: state,\n replace: shouldReplace\n });\n }\n\n return true;\n }\n }, rest));\n };\n\n return GatsbyLink;\n}(_react.default.Component);\n\nGatsbyLink.propTypes = (0, _extends2.default)({}, NavLinkPropTypes, {\n onClick: _propTypes.default.func,\n to: _propTypes.default.string.isRequired,\n replace: _propTypes.default.bool,\n state: _propTypes.default.object\n});\n\nvar showDeprecationWarning = function showDeprecationWarning(functionName, altFunctionName, version) {\n return console.warn(\"The \\\"\" + functionName + \"\\\" method is now deprecated and will be removed in Gatsby v\" + version + \". Please use \\\"\" + altFunctionName + \"\\\" instead.\");\n};\n\nvar _default = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n return /*#__PURE__*/_react.default.createElement(GatsbyLinkLocationWrapper, (0, _extends2.default)({\n innerRef: ref\n }, props));\n});\n\nexports.default = _default;\n\nvar navigate = function navigate(to, options) {\n window.___navigate(rewriteLinkPath(to, window.location.pathname), options);\n};\n\nexports.navigate = navigate;\n\nvar push = function push(to) {\n showDeprecationWarning(\"push\", \"navigate\", 3);\n\n window.___push(rewriteLinkPath(to, window.location.pathname));\n};\n\nexports.push = push;\n\nvar replace = function replace(to) {\n showDeprecationWarning(\"replace\", \"navigate\", 3);\n\n window.___replace(rewriteLinkPath(to, window.location.pathname));\n}; // TODO: Remove navigateTo for Gatsby v3\n\n\nexports.replace = replace;\n\nvar navigateTo = function navigateTo(to) {\n showDeprecationWarning(\"navigateTo\", \"navigate\", 3);\n return push(to);\n};\n\nexports.navigateTo = navigateTo;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar browsertracing_1 = require(\"./browsertracing\");\n\nexports.BrowserTracing = browsertracing_1.BrowserTracing;\n\nvar request_1 = require(\"./request\");\n\nexports.instrumentOutgoingRequests = request_1.instrumentOutgoingRequests;\nexports.defaultRequestInstrumentationOptions = request_1.defaultRequestInstrumentationOptions;","require(\"core-js/modules/es.promise.finally.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n\n/* eslint-disable @typescript-eslint/typedef */\n\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nvar is_1 = require(\"./is\");\n/** SyncPromise internal states */\n\n\nvar States;\n\n(function (States) {\n /** Pending */\n States[\"PENDING\"] = \"PENDING\";\n /** Resolved / OK */\n\n States[\"RESOLVED\"] = \"RESOLVED\";\n /** Rejected / Error */\n\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 */\n\n\nvar SyncPromise =\n/** @class */\nfunction () {\n function SyncPromise(executor) {\n var _this = this;\n\n this._state = States.PENDING;\n this._handlers = [];\n /** JSDoc */\n\n this._resolve = function (value) {\n _this._setResult(States.RESOLVED, value);\n };\n /** JSDoc */\n\n\n this._reject = function (reason) {\n _this._setResult(States.REJECTED, reason);\n };\n /** JSDoc */\n\n\n this._setResult = function (state, value) {\n if (_this._state !== States.PENDING) {\n return;\n }\n\n if (is_1.isThenable(value)) {\n void value.then(_this._resolve, _this._reject);\n return;\n }\n\n _this._state = state;\n _this._value = value;\n\n _this._executeHandlers();\n }; // TODO: FIXME\n\n /** JSDoc */\n\n\n this._attachHandler = function (handler) {\n _this._handlers = _this._handlers.concat(handler);\n\n _this._executeHandlers();\n };\n /** JSDoc */\n\n\n this._executeHandlers = function () {\n if (_this._state === States.PENDING) {\n return;\n }\n\n var cachedHandlers = _this._handlers.slice();\n\n _this._handlers = [];\n cachedHandlers.forEach(function (handler) {\n if (handler.done) {\n return;\n }\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\n if (_this._state === States.REJECTED) {\n if (handler.onrejected) {\n handler.onrejected(_this._value);\n }\n }\n\n handler.done = true;\n });\n };\n\n try {\n executor(this._resolve, this._reject);\n } catch (e) {\n this._reject(e);\n }\n }\n /** JSDoc */\n\n\n SyncPromise.resolve = function (value) {\n return new SyncPromise(function (resolve) {\n resolve(value);\n });\n };\n /** JSDoc */\n\n\n SyncPromise.reject = function (reason) {\n return new SyncPromise(function (_, reject) {\n reject(reason);\n });\n };\n /** JSDoc */\n\n\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\n if (collection.length === 0) {\n resolve([]);\n return;\n }\n\n var counter = collection.length;\n var resolvedCollection = [];\n collection.forEach(function (item, index) {\n void SyncPromise.resolve(item).then(function (value) {\n resolvedCollection[index] = value;\n counter -= 1;\n\n if (counter !== 0) {\n return;\n }\n\n resolve(resolvedCollection);\n }).then(null, reject);\n });\n });\n };\n /** JSDoc */\n\n\n SyncPromise.prototype.then = function (_onfulfilled, _onrejected) {\n var _this = this;\n\n return new SyncPromise(function (resolve, reject) {\n _this._attachHandler({\n done: false,\n onfulfilled: function onfulfilled(result) {\n if (!_onfulfilled) {\n // TODO: ¯\\_(ツ)_/¯\n // TODO: FIXME\n resolve(result);\n return;\n }\n\n try {\n resolve(_onfulfilled(result));\n return;\n } catch (e) {\n reject(e);\n return;\n }\n },\n onrejected: function onrejected(reason) {\n if (!_onrejected) {\n reject(reason);\n return;\n }\n\n try {\n resolve(_onrejected(reason));\n return;\n } catch (e) {\n reject(e);\n return;\n }\n }\n });\n });\n };\n /** JSDoc */\n\n\n SyncPromise.prototype.catch = function (onrejected) {\n return this.then(function (val) {\n return val;\n }, onrejected);\n };\n /** JSDoc */\n\n\n SyncPromise.prototype.finally = function (onfinally) {\n var _this = this;\n\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\n if (onfinally) {\n onfinally();\n }\n }, function (reason) {\n isRejected = true;\n val = reason;\n\n if (onfinally) {\n onfinally();\n }\n }).then(function () {\n if (isRejected) {\n reject(val);\n return;\n }\n\n resolve(val);\n });\n });\n };\n /** JSDoc */\n\n\n SyncPromise.prototype.toString = function () {\n return '[object SyncPromise]';\n };\n\n return SyncPromise;\n}();\n\nexports.SyncPromise = SyncPromise;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar SENTRY_API_VERSION = '7';\n/**\n * Helper class to provide urls, headers and metadata that can be used to form\n * different types of requests to Sentry endpoints.\n * Supports both envelopes and regular event requests.\n **/\n\nvar API =\n/** @class */\nfunction () {\n /** Create a new instance of API */\n function API(dsn, metadata, tunnel) {\n if (metadata === void 0) {\n metadata = {};\n }\n\n this.dsn = dsn;\n this._dsnObject = new utils_1.Dsn(dsn);\n this.metadata = metadata;\n this._tunnel = tunnel;\n }\n /** Returns the Dsn object. */\n\n\n API.prototype.getDsn = function () {\n return this._dsnObject;\n };\n /** Does this transport force envelopes? */\n\n\n API.prototype.forceEnvelope = function () {\n return !!this._tunnel;\n };\n /** Returns the prefix to construct Sentry ingestion API endpoints. */\n\n\n API.prototype.getBaseApiEndpoint = function () {\n var dsn = this.getDsn();\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\n\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\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\n\n API.prototype.getEnvelopeEndpointWithUrlEncodedAuth = function () {\n if (this.forceEnvelope()) {\n return this._tunnel;\n }\n\n return this._getEnvelopeEndpoint() + \"?\" + this._encodedAuth();\n };\n /** Returns only the path component for the store endpoint. */\n\n\n API.prototype.getStoreEndpointPath = function () {\n var dsn = this.getDsn();\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\n\n API.prototype.getRequestHeaders = function (clientName, clientVersion) {\n // CHANGE THIS to use metadata but keep clientName and clientVersion compatible\n var dsn = this.getDsn();\n var header = [\"Sentry sentry_version=\" + SENTRY_API_VERSION];\n header.push(\"sentry_client=\" + clientName + \"/\" + clientVersion);\n header.push(\"sentry_key=\" + dsn.publicKey);\n\n if (dsn.pass) {\n header.push(\"sentry_secret=\" + dsn.pass);\n }\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\n\n API.prototype.getReportDialogEndpoint = function (dialogOptions) {\n if (dialogOptions === void 0) {\n dialogOptions = {};\n }\n\n var dsn = this.getDsn();\n var endpoint = this.getBaseApiEndpoint() + \"embed/error-page/\";\n var encodedOptions = [];\n encodedOptions.push(\"dsn=\" + dsn.toString());\n\n for (var key in dialogOptions) {\n if (key === 'dsn') {\n continue;\n }\n\n if (key === 'user') {\n if (!dialogOptions.user) {\n continue;\n }\n\n if (dialogOptions.user.name) {\n encodedOptions.push(\"name=\" + encodeURIComponent(dialogOptions.user.name));\n }\n\n if (dialogOptions.user.email) {\n encodedOptions.push(\"email=\" + encodeURIComponent(dialogOptions.user.email));\n }\n } else {\n encodedOptions.push(encodeURIComponent(key) + \"=\" + encodeURIComponent(dialogOptions[key]));\n }\n }\n\n if (encodedOptions.length) {\n return endpoint + \"?\" + encodedOptions.join('&');\n }\n\n return endpoint;\n };\n /** Returns the envelope endpoint URL. */\n\n\n API.prototype._getEnvelopeEndpoint = function () {\n return this._getIngestEndpoint('envelope');\n };\n /** Returns the ingest API endpoint for target. */\n\n\n API.prototype._getIngestEndpoint = function (target) {\n if (this._tunnel) {\n return this._tunnel;\n }\n\n var base = this.getBaseApiEndpoint();\n var dsn = this.getDsn();\n return \"\" + base + dsn.projectId + \"/\" + target + \"/\";\n };\n /** Returns a URL-encoded string with auth config suitable for a query string. */\n\n\n API.prototype._encodedAuth = function () {\n var dsn = this.getDsn();\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.publicKey,\n sentry_version: SENTRY_API_VERSION\n };\n return utils_1.urlEncode(auth);\n };\n\n return API;\n}();\n\nexports.API = API;","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","require(\"core-js/modules/es.array.reduce.js\");\n\nrequire(\"core-js/modules/es.string.trim-end.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\nvar hub_1 = require(\"@sentry/hub\");\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar span_1 = require(\"./span\");\n/** JSDoc */\n\n\nvar Transaction =\n/** @class */\nfunction (_super) {\n tslib_1.__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\n\n function Transaction(transactionContext, hub) {\n var _this = _super.call(this, transactionContext) || this;\n\n _this._measurements = {};\n /**\n * The reference to the current hub.\n */\n\n _this._hub = hub_1.getCurrentHub();\n\n if (utils_1.isInstanceOf(hub, hub_1.Hub)) {\n _this._hub = hub;\n }\n\n _this.name = transactionContext.name || '';\n _this.metadata = transactionContext.metadata || {};\n _this._trimEnd = transactionContext.trimEnd; // this is because transactions are also spans, and spans have a transaction pointer\n\n _this.transaction = _this;\n return _this;\n }\n /**\n * JSDoc\n */\n\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\n\n Transaction.prototype.initSpanRecorder = function (maxlen) {\n if (maxlen === void 0) {\n maxlen = 1000;\n }\n\n if (!this.spanRecorder) {\n this.spanRecorder = new span_1.SpanRecorder(maxlen);\n }\n\n this.spanRecorder.add(this);\n };\n /**\n * Set observed measurements for this transaction.\n * @hidden\n */\n\n\n Transaction.prototype.setMeasurements = function (measurements) {\n this._measurements = tslib_1.__assign({}, measurements);\n };\n /**\n * Set metadata for this transaction.\n * @hidden\n */\n\n\n Transaction.prototype.setMetadata = function (newMetadata) {\n this.metadata = tslib_1.__assign(tslib_1.__assign({}, this.metadata), newMetadata);\n };\n /**\n * @inheritDoc\n */\n\n\n Transaction.prototype.finish = function (endTimestamp) {\n var _this = this; // This transaction is already finished, so we should not flush it again.\n\n\n if (this.endTimestamp !== undefined) {\n return undefined;\n }\n\n if (!this.name) {\n utils_1.logger.warn('Transaction has no name, falling back to ``.');\n this.name = '';\n } // just sets the end timestamp\n\n\n _super.prototype.finish.call(this, endTimestamp);\n\n if (this.sampled !== true) {\n // At this point if `sampled !== true` we want to discard the transaction.\n utils_1.logger.log('[Tracing] Discarding transaction because its trace was not chosen to be sampled.');\n return undefined;\n }\n\n var finishedSpans = this.spanRecorder ? this.spanRecorder.spans.filter(function (s) {\n return s !== _this && s.endTimestamp;\n }) : [];\n\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\n return prev;\n }).endTimestamp;\n }\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 debug_meta: this.metadata\n };\n var hasMeasurements = Object.keys(this._measurements).length > 0;\n\n if (hasMeasurements) {\n utils_1.logger.log('[Measurements] Adding measurements to transaction', JSON.stringify(this._measurements, undefined, 2));\n transaction.measurements = this._measurements;\n }\n\n utils_1.logger.log(\"[Tracing] Finishing \" + this.op + \" transaction: \" + this.name + \".\");\n return this._hub.captureEvent(transaction);\n };\n /**\n * @inheritDoc\n */\n\n\n Transaction.prototype.toContext = function () {\n var spanContext = _super.prototype.toContext.call(this);\n\n return utils_1.dropUndefinedKeys(tslib_1.__assign(tslib_1.__assign({}, spanContext), {\n name: this.name,\n trimEnd: this._trimEnd\n }));\n };\n /**\n * @inheritDoc\n */\n\n\n Transaction.prototype.updateWithContext = function (transactionContext) {\n var _a;\n\n _super.prototype.updateWithContext.call(this, transactionContext);\n\n this.name = (_a = transactionContext.name, _a !== null && _a !== void 0 ? _a : '');\n this._trimEnd = transactionContext.trimEnd;\n return this;\n };\n\n return Transaction;\n}(span_1.Span);\n\nexports.Transaction = Transaction;","\"use strict\";\n\nexports.__esModule = true;\nexports.SessionStorage = void 0;\nvar STATE_KEY_PREFIX = \"@@scroll|\";\nvar GATSBY_ROUTER_SCROLL_STATE = \"___GATSBY_REACT_ROUTER_SCROLL\";\n\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {}\n\n var _proto = SessionStorage.prototype;\n\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\n\n try {\n var value = window.sessionStorage.getItem(stateKey);\n return value ? JSON.parse(value) : 0;\n } catch (e) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to access sessionStorage; sessionStorage is not available.\");\n }\n\n if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n\n return 0;\n }\n };\n\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\n\n try {\n window.sessionStorage.setItem(stateKey, storedValue);\n } catch (e) {\n if (window && window[GATSBY_ROUTER_SCROLL_STATE]) {\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n } else {\n window[GATSBY_ROUTER_SCROLL_STATE] = {};\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to save state in sessionStorage; sessionStorage is not available.\");\n }\n }\n };\n\n _proto.getStateKey = function getStateKey(location, key) {\n var stateKeyBase = \"\" + STATE_KEY_PREFIX + location.pathname;\n return key === null || typeof key === \"undefined\" ? stateKeyBase : stateKeyBase + \"|\" + key;\n };\n\n return SessionStorage;\n}();\n\nexports.SessionStorage = SessionStorage;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\nvar utils_1 = require(\"@sentry/utils\");\n/**\n * Express integration\n *\n * Provides an request and error handler for Express framework as well as tracing capabilities\n */\n\n\nvar Express =\n/** @class */\nfunction () {\n /**\n * @inheritDoc\n */\n function Express(options) {\n if (options === void 0) {\n options = {};\n }\n /**\n * @inheritDoc\n */\n\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\n\n Express.prototype.setupOnce = function () {\n if (!this._router) {\n utils_1.logger.error('ExpressIntegration is missing an Express instance');\n return;\n }\n\n instrumentMiddlewares(this._router, this._methods);\n };\n /**\n * @inheritDoc\n */\n\n\n Express.id = 'Express';\n return Express;\n}();\n\nexports.Express = 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\n\nfunction wrap(fn, method) {\n var arity = fn.length;\n\n switch (arity) {\n case 2:\n {\n return function (req, res) {\n var transaction = res.__sentry_transaction;\n\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\n return fn.call(this, req, res);\n };\n }\n\n case 3:\n {\n return function (req, res, next) {\n var _a;\n\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\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var _a;\n\n (_a = span) === null || _a === void 0 ? void 0 : _a.finish();\n next.call.apply(next, tslib_1.__spread([this], args));\n });\n };\n }\n\n case 4:\n {\n return function (err, req, res, next) {\n var _a;\n\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\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var _a;\n\n (_a = span) === null || _a === void 0 ? void 0 : _a.finish();\n next.call.apply(next, tslib_1.__spread([this], args));\n });\n };\n }\n\n default:\n {\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 */\n\n\nfunction wrapMiddlewareArgs(args, method) {\n return args.map(function (arg) {\n if (typeof arg === 'function') {\n return wrap(arg, method);\n }\n\n if (Array.isArray(arg)) {\n return arg.map(function (a) {\n if (typeof a === 'function') {\n return wrap(a, method);\n }\n\n return a;\n });\n }\n\n return arg;\n });\n}\n/**\n * Patches original router to utilize our tracing functionality\n */\n\n\nfunction patchMiddleware(router, method) {\n var originalCallback = router[method];\n\n router[method] = function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n return originalCallback.call.apply(originalCallback, tslib_1.__spread([this], wrapMiddlewareArgs(args, method)));\n };\n\n return router;\n}\n/**\n * Patches original router methods\n */\n\n\nfunction instrumentMiddlewares(router, methods) {\n if (methods === void 0) {\n methods = [];\n }\n\n methods.forEach(function (method) {\n return patchMiddleware(router, method);\n });\n}","require(\"core-js/modules/es.array.reduce.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\nvar hub_1 = require(\"@sentry/hub\");\n\nvar utils_1 = require(\"@sentry/utils\");\n\nexports.installedIntegrations = [];\n/**\n * @private\n */\n\nfunction filterDuplicates(integrations) {\n return integrations.reduce(function (acc, integrations) {\n if (acc.every(function (accIntegration) {\n return integrations.name !== accIntegration.name;\n })) {\n acc.push(integrations);\n }\n\n return acc;\n }, []);\n}\n/** Gets integration to install */\n\n\nfunction getIntegrationsToSetup(options) {\n var defaultIntegrations = options.defaultIntegrations && tslib_1.__spread(options.defaultIntegrations) || [];\n var userIntegrations = options.integrations;\n\n var integrations = tslib_1.__spread(filterDuplicates(defaultIntegrations));\n\n if (Array.isArray(userIntegrations)) {\n // Filter out integrations that are also included in user options\n integrations = tslib_1.__spread(integrations.filter(function (integrations) {\n return userIntegrations.every(function (userIntegration) {\n return userIntegration.name !== integrations.name;\n });\n }), filterDuplicates(userIntegrations));\n } else if (typeof userIntegrations === 'function') {\n integrations = userIntegrations(integrations);\n integrations = Array.isArray(integrations) ? integrations : [integrations];\n } // Make sure that if present, `Debug` integration will always run last\n\n\n var integrationsNames = integrations.map(function (i) {\n return i.name;\n });\n var alwaysLastToRun = 'Debug';\n\n if (integrationsNames.indexOf(alwaysLastToRun) !== -1) {\n integrations.push.apply(integrations, tslib_1.__spread(integrations.splice(integrationsNames.indexOf(alwaysLastToRun), 1)));\n }\n\n return integrations;\n}\n\nexports.getIntegrationsToSetup = getIntegrationsToSetup;\n/** Setup given integration */\n\nfunction setupIntegration(integration) {\n if (exports.installedIntegrations.indexOf(integration.name) !== -1) {\n return;\n }\n\n integration.setupOnce(hub_1.addGlobalEventProcessor, hub_1.getCurrentHub);\n exports.installedIntegrations.push(integration.name);\n utils_1.logger.log(\"Integration installed: \" + integration.name);\n}\n\nexports.setupIntegration = setupIntegration;\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 */\n\nfunction 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\nexports.setupIntegrations = setupIntegrations;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\nvar types_1 = require(\"@sentry/types\");\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar parsers_1 = require(\"./parsers\");\n\nvar tracekit_1 = require(\"./tracekit\");\n/**\n * Builds and Event from a Exception\n * @hidden\n */\n\n\nfunction eventFromException(options, exception, hint) {\n var syntheticException = hint && hint.syntheticException || undefined;\n var event = eventFromUnknownInput(exception, syntheticException, {\n attachStacktrace: options.attachStacktrace\n });\n utils_1.addExceptionMechanism(event, {\n handled: true,\n type: 'generic'\n });\n event.level = types_1.Severity.Error;\n\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n\n return utils_1.SyncPromise.resolve(event);\n}\n\nexports.eventFromException = eventFromException;\n/**\n * Builds and Event from a Message\n * @hidden\n */\n\nfunction eventFromMessage(options, message, level, hint) {\n if (level === void 0) {\n level = types_1.Severity.Info;\n }\n\n var syntheticException = hint && hint.syntheticException || undefined;\n var event = eventFromString(message, syntheticException, {\n attachStacktrace: options.attachStacktrace\n });\n event.level = level;\n\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n\n return utils_1.SyncPromise.resolve(event);\n}\n\nexports.eventFromMessage = eventFromMessage;\n/**\n * @hidden\n */\n\nfunction eventFromUnknownInput(exception, syntheticException, options) {\n if (options === void 0) {\n options = {};\n }\n\n var event;\n\n if (utils_1.isErrorEvent(exception) && exception.error) {\n // If it is an ErrorEvent with `error` property, extract it to get actual Error\n var errorEvent = exception; // eslint-disable-next-line no-param-reassign\n\n exception = errorEvent.error;\n event = parsers_1.eventFromStacktrace(tracekit_1.computeStackTrace(exception));\n return event;\n }\n\n if (utils_1.isDOMError(exception) || utils_1.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 || (utils_1.isDOMError(domException) ? 'DOMError' : 'DOMException');\n var message = domException.message ? name_1 + \": \" + domException.message : name_1;\n event = eventFromString(message, syntheticException, options);\n utils_1.addExceptionTypeValue(event, message);\n\n if ('code' in domException) {\n event.tags = tslib_1.__assign(tslib_1.__assign({}, event.tags), {\n 'DOMException.code': \"\" + domException.code\n });\n }\n\n return event;\n }\n\n if (utils_1.isError(exception)) {\n // we have a real Error object, do nothing\n event = parsers_1.eventFromStacktrace(tracekit_1.computeStackTrace(exception));\n return event;\n }\n\n if (utils_1.isPlainObject(exception) || utils_1.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 = parsers_1.eventFromPlainObject(objectException, syntheticException, options.rejection);\n utils_1.addExceptionMechanism(event, {\n synthetic: true\n });\n return event;\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\n\n event = eventFromString(exception, syntheticException, options);\n utils_1.addExceptionTypeValue(event, \"\" + exception, undefined);\n utils_1.addExceptionMechanism(event, {\n synthetic: true\n });\n return event;\n}\n\nexports.eventFromUnknownInput = eventFromUnknownInput;\n/**\n * @hidden\n */\n\nfunction eventFromString(input, syntheticException, options) {\n if (options === void 0) {\n options = {};\n }\n\n var event = {\n message: input\n };\n\n if (options.attachStacktrace && syntheticException) {\n var stacktrace = tracekit_1.computeStackTrace(syntheticException);\n var frames_1 = parsers_1.prepareFramesForEvent(stacktrace.stack);\n event.stacktrace = {\n frames: frames_1\n };\n }\n\n return event;\n}\n\nexports.eventFromString = eventFromString;","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(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","require(\"core-js/modules/es.array.reduce.js\");\n\n/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\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 all\n * 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 THE\n * SOFTWARE.\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : global.Popper = factory();\n})(this, function () {\n 'use strict';\n\n var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\n var timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n\n return 0;\n }();\n\n function microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n }\n\n function taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n }\n\n var supportsMicroTasks = isBrowser && window.Promise;\n /**\n * Create a debounced version of a method, that's asynchronously deferred\n * but called in the minimum time possible.\n *\n * @method\n * @memberof Popper.Utils\n * @argument {Function} fn\n * @returns {Function}\n */\n\n var debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n /**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\n\n function isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n }\n /**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\n\n\n function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n } // NOTE: 1 DOM access here\n\n\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n }\n /**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\n\n\n function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n\n return element.parentNode || element.host;\n }\n /**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\n\n\n function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n\n case '#document':\n return element.body;\n } // Firefox want us to check `-x` and `-y` variations as well\n\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n }\n /**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\n\n\n function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n }\n\n var isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\n var isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n /**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\n\n function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n\n if (version === 10) {\n return isIE10;\n }\n\n return isIE11 || isIE10;\n }\n /**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\n\n\n function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null; // NOTE: 1 DOM access here\n\n var offsetParent = element.offsetParent || null; // Skip hidden elements which don't have an offsetParent\n\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n } // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n\n\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n }\n\n function isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n }\n /**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\n\n\n function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n }\n /**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\n\n\n function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n } // Here we make sure to give as \"start\" the element that comes first in the DOM\n\n\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1; // Get common ancestor container\n\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer; // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n } // one of the nodes is inside shadowDOM, find which one\n\n\n var element1root = getRoot(element1);\n\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n }\n /**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\n\n\n function getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n }\n /*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\n\n\n function includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n }\n /*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\n\n function getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n }\n\n function getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n }\n\n function getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n }\n\n var classCallCheck = function classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n };\n\n var createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var defineProperty = function defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n };\n\n var _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 * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\n\n\n function getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n }\n /**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\n\n\n function getBoundingClientRect(element) {\n var rect = {}; // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n }; // subtract scrollbar size from sizes\n\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height; // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n }\n\n function getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth); // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0; // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft; // Attach marginTop and marginLeft because in some circumstances we may need them\n\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n }\n\n function getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n return getClientRect(offset);\n }\n /**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\n\n\n function isFixed(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n\n var parentNode = getParentNode(element);\n\n if (!parentNode) {\n return false;\n }\n\n return isFixed(parentNode);\n }\n /**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\n\n function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n\n var el = element.parentElement;\n\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n\n return el || document.documentElement;\n }\n /**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\n\n\n function getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; // NOTE: 1 DOM access here\n\n var boundaries = {\n top: 0,\n left: 0\n };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference)); // Handle viewport case\n\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition); // In case of HTML, we need a different computation\n\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n } // Add paddings\n\n\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n return boundaries;\n }\n\n function getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n return width * height;\n }\n /**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\n\n\n function computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n var variation = placement.split('-')[1];\n return computedPlacement + (variation ? '-' + variation : '');\n }\n /**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\n\n\n function getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n }\n /**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\n\n\n function getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n }\n /**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\n\n\n function getOppositePlacement(placement) {\n var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n }\n /**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\n\n\n function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0]; // Get popper node sizes\n\n var popperRect = getOuterSizes(popper); // Add position, width and height to our offsets object\n\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n }; // depending by the popper placement we have to compute its offsets slightly differently\n\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n }\n /**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\n\n\n function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n } // use `filter` to obtain the same behavior of `find`\n\n\n return arr.filter(check)[0];\n }\n /**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\n\n\n function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n } // use `find` + `indexOf` if `findIndex` isn't supported\n\n\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n }\n /**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\n\n\n function runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n data = fn(data, modifier);\n }\n });\n return data;\n }\n /**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\n\n\n function update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n }; // compute reference element offsets\n\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed); // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding); // store the computed placement inside `originalPlacement`\n\n data.originalPlacement = data.placement;\n data.positionFixed = this.options.positionFixed; // compute the popper offsets\n\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute'; // run the modifiers\n\n data = runModifiers(this.modifiers, data); // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n }\n /**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\n\n\n function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n }\n /**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\n\n\n function getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n\n return null;\n }\n /**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\n\n\n function destroy() {\n this.state.isDestroyed = true; // touch DOM only if `applyStyle` modifier is enabled\n\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners(); // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n\n return this;\n }\n /**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\n\n\n function getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n }\n\n function attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, {\n passive: true\n });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n\n scrollParents.push(target);\n }\n /**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\n\n\n function setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, {\n passive: true\n }); // Scroll event listener on scroll parents\n\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n return state;\n }\n /**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\n\n\n function enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n }\n /**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\n\n\n function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound); // Remove scroll event listener on scroll parents\n\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n }); // Reset state\n\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n }\n /**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\n\n\n function disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n }\n /**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\n\n\n function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n }\n /**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\n\n\n function setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = ''; // add unit if the value is numeric and is one of the following\n\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n\n element.style[prop] = styles[prop] + unit;\n });\n }\n /**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\n\n\n function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n }\n /**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\n\n\n function applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles); // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n\n setAttributes(data.instance.popper, data.attributes); // if arrowElement is defined and arrowStyles has some properties\n\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n }\n /**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\n\n\n function applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed); // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n popper.setAttribute('x-placement', placement); // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n\n setStyles(popper, {\n position: options.positionFixed ? 'fixed' : 'absolute'\n });\n return options;\n }\n /**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\n\n\n function getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n }\n\n var isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n /**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\n\n function computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper; // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent); // Styles\n\n var styles = {\n position: popper.position\n };\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right'; // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n\n var prefixedProperty = getSupportedPropertyName('transform'); // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n\n var left = void 0,\n top = void 0;\n\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n } // Attributes\n\n\n var attributes = {\n 'x-placement': data.placement\n }; // Update `data` attributes, styles and arrowStyles\n\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n return data;\n }\n /**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\n\n\n function isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n\n return isRequired;\n }\n /**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\n\n\n function arrow(data, options) {\n var _data$offsets$arrow; // arrow depends on keepTogether in order to work\n\n\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element; // if arrowElement is a string, suppose it's a CSS selector\n\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement); // if arrowElement is not found, don't run the modifier\n\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len]; //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n // top/left side\n\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n } // bottom/right side\n\n\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n\n data.offsets.popper = getClientRect(data.offsets.popper); // compute center of the popper\n\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2; // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide; // prevent arrowElement from being placed not contiguously to its popper\n\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n return data;\n }\n /**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\n\n\n function getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n\n return variation;\n }\n /**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\n\n\n var placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start']; // Get rid of `auto` `auto-start` and `auto-end`\n\n var validPlacements = placements.slice(3);\n /**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\n\n function clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n }\n\n var BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n };\n /**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\n\n function flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference; // using floor because the reference offsets may contain decimals we are not going to consider here\n\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom; // flip the variation if required\n\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1; // flips variation if reference element overflows boundaries\n\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom); // flips variation if popper content overflows boundaries\n\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : ''); // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n }\n /**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\n\n\n function keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n }\n /**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\n\n\n function toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2]; // If it's not a number it's an operator, I guess\n\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n }\n /**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\n\n\n function parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0]; // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1; // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n }); // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n } // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n\n\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments]; // Convert the values with units to absolute pixels to allow our computations\n\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, []) // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n }); // Loop trough the offsets arrays and execute the operations\n\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n }\n /**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\n\n\n function offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var basePlacement = placement.split('-')[0];\n var offsets = void 0;\n\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n }\n /**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\n\n\n function preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper); // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n } // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n\n\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed); // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n options.boundaries = boundaries;\n var order = options.priority;\n var popper = data.offsets.popper;\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n\n return defineProperty({}, mainSide, value);\n }\n };\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n data.offsets.popper = popper;\n return data;\n }\n /**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\n\n\n function shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1]; // if shift shiftvariation is specified, run the modifier\n\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n }\n /**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\n\n\n function hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n }\n /**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\n\n\n function inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n return data;\n }\n /**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n /**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\n\n\n var modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n\n /** @prop {ModifierFn} */\n fn: offset,\n\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n\n /** @prop {ModifierFn} */\n fn: arrow,\n\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n\n /** @prop {ModifierFn} */\n fn: flip,\n\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n\n /** @prop {ModifierFn} */\n fn: computeStyle,\n\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n\n /** @prop {ModifierFn} */\n fn: applyStyle,\n\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n };\n /**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n /**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\n\n var Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n };\n /**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n /**\n * @callback onUpdate\n * @param {dataObject} data\n */\n // Utils\n // Methods\n\n var Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n }; // make update() debounced, so that it only runs at most once-per-tick\n\n\n this.update = debounce(this.update.bind(this)); // with {} we create a new object with the options inside it\n\n this.options = _extends({}, Popper.Defaults, options); // init state\n\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n }; // get reference and popper elements (allow jQuery wrappers)\n\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper; // Deep merge modifiers options\n\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n }); // Refactoring modifiers' list (Object => Array)\n\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n }) // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n }); // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n }); // fire the first update to position the popper in the right place\n\n this.update();\n var eventsEnabled = this.options.eventsEnabled;\n\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n } // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n }();\n /**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\n Popper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\n Popper.placements = placements;\n Popper.Defaults = Defaults;\n return Popper;\n});","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","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\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.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","function n(n){return n=n||Object.create(null),{on:function(c,e){(n[c]||(n[c]=[])).push(e)},off:function(c,e){n[c]&&n[c].splice(n[c].indexOf(e)>>>0,1)},emit:function(c,e){(n[c]||[]).slice().map(function(n){n(e)}),(n[\"*\"]||[]).slice().map(function(n){n(c,e)})}}}module.exports=n;\n//# sourceMappingURL=mitt.js.map","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar is_1 = require(\"./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 */\n\n\nfunction htmlTreeAsString(elem, keyAttr) {\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; // eslint-disable-next-line no-plusplus\n\n while (currentElem && height++ < MAX_TRAVERSE_HEIGHT) {\n nextStr = _htmlElementAsString(currentElem, keyAttr); // 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\n if (nextStr === 'html' || height > 1 && len + out.length * sepLength + nextStr.length >= MAX_OUTPUT_LEN) {\n break;\n }\n\n out.push(nextStr);\n len += nextStr.length;\n currentElem = currentElem.parentNode;\n }\n\n return out.reverse().join(separator);\n } catch (_oO) {\n return '';\n }\n}\n\nexports.htmlTreeAsString = htmlTreeAsString;\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 */\n\nfunction _htmlElementAsString(el, keyAttr) {\n var elem = el;\n var out = [];\n var className;\n var classes;\n var key;\n var attr;\n var i;\n\n if (!elem || !elem.tagName) {\n return '';\n }\n\n out.push(elem.tagName.toLowerCase());\n var keyAttrValue = keyAttr ? elem.getAttribute(keyAttr) : null;\n\n if (keyAttrValue) {\n out.push(\"[\" + keyAttr + \"=\\\"\" + keyAttrValue + \"\\\"]\");\n } else {\n if (elem.id) {\n out.push(\"#\" + elem.id);\n } // eslint-disable-next-line prefer-const\n\n\n className = elem.className;\n\n if (className && is_1.isString(className)) {\n classes = className.split(/\\s+/);\n\n for (i = 0; i < classes.length; i++) {\n out.push(\".\" + classes[i]);\n }\n }\n }\n\n var allowedAttrs = ['type', 'name', 'title', 'alt'];\n\n for (i = 0; i < allowedAttrs.length; i++) {\n key = allowedAttrs[i];\n attr = elem.getAttribute(key);\n\n if (attr) {\n out.push(\"[\" + key + \"=\\\"\" + attr + \"\\\"]\");\n }\n }\n\n return out.join('');\n}","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nfunction _getRequireWildcardCache() {\n if (typeof WeakMap !== \"function\") return null;\n var cache = new WeakMap();\n\n _getRequireWildcardCache = function _getRequireWildcardCache() {\n return cache;\n };\n\n return cache;\n}\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") {\n return {\n \"default\": obj\n };\n }\n\n var cache = _getRequireWildcardCache();\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj[\"default\"] = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nmodule.exports = _interopRequireWildcard;","'use strict';\n\nvar reactIs = require('react-is');\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\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;\n\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;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar misc_1 = require(\"./misc\");\n\nvar node_1 = require(\"./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 */\n\n\nvar dateTimestampSource = {\n nowSeconds: function nowSeconds() {\n return Date.now() / 1000;\n }\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 */\n\nfunction getBrowserPerformance() {\n var performance = misc_1.getGlobalObject().performance;\n\n if (!performance || !performance.now) {\n return undefined;\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\n\n var timeOrigin = Date.now() - performance.now();\n return {\n now: function now() {\n return performance.now();\n },\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 */\n\n\nfunction getNodePerformance() {\n try {\n var perfHooks = node_1.dynamicRequire(module, 'perf_hooks');\n return perfHooks.performance;\n } catch (_) {\n return undefined;\n }\n}\n/**\n * The Performance API implementation for the current platform, if available.\n */\n\n\nvar platformPerformance = node_1.isNodeEnv() ? getNodePerformance() : getBrowserPerformance();\nvar timestampSource = platformPerformance === undefined ? dateTimestampSource : {\n nowSeconds: function nowSeconds() {\n return (platformPerformance.timeOrigin + platformPerformance.now()) / 1000;\n }\n};\n/**\n * Returns a timestamp in seconds since the UNIX epoch using the Date API.\n */\n\nexports.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 */\n\nexports.timestampInSeconds = timestampSource.nowSeconds.bind(timestampSource); // Re-exported with an old name for backwards-compatibility.\n\nexports.timestampWithMs = exports.timestampInSeconds;\n/**\n * A boolean that is true when timestampInSeconds uses the Performance API to produce monotonic timestamps.\n */\n\nexports.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 */\n\nexports.browserPerformanceTimeOrigin = function () {\n // Unfortunately browsers may report an inaccurate time origin data, through either performance.timeOrigin or\n // performance.timing.navigationStart, which results in poor results in performance data. We only treat time origin\n // data as reliable if they are within a reasonable threshold of the current time.\n var performance = misc_1.getGlobalObject().performance;\n\n if (!performance || !performance.now) {\n exports._browserPerformanceTimeOriginMode = 'none';\n return undefined;\n }\n\n var threshold = 3600 * 1000;\n var performanceNow = performance.now();\n var dateNow = Date.now(); // if timeOrigin isn't available set delta to threshold so it isn't used\n\n var timeOriginDelta = performance.timeOrigin ? Math.abs(performance.timeOrigin + performanceNow - dateNow) : threshold;\n var timeOriginIsReliable = timeOriginDelta < threshold; // 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\n var navigationStart = performance.timing && performance.timing.navigationStart;\n var hasNavigationStart = typeof navigationStart === 'number'; // if navigationStart isn't available set delta to threshold so it isn't used\n\n var navigationStartDelta = hasNavigationStart ? Math.abs(navigationStart + performanceNow - dateNow) : threshold;\n var navigationStartIsReliable = navigationStartDelta < threshold;\n\n if (timeOriginIsReliable || navigationStartIsReliable) {\n // Use the more reliable time origin\n if (timeOriginDelta <= navigationStartDelta) {\n exports._browserPerformanceTimeOriginMode = 'timeOrigin';\n return performance.timeOrigin;\n } else {\n exports._browserPerformanceTimeOriginMode = 'navigationStart';\n return navigationStart;\n }\n } // Either both timeOrigin and navigationStart are skewed or neither is available, fallback to Date.\n\n\n exports._browserPerformanceTimeOriginMode = 'dateNow';\n return dateNow;\n}();","export default path => {\n if (path === undefined) {\n return path\n }\n if (path === `/`) {\n return `/`\n }\n if (path.charAt(path.length - 1) === `/`) {\n return path.slice(0, -1)\n }\n return path\n}\n","import { pick } from \"@reach/router/lib/utils\"\nimport stripPrefix from \"./strip-prefix\"\nimport normalizePagePath from \"./normalize-page-path\"\n\nconst pathCache = new Map()\nlet matchPaths = []\n\nconst trimPathname = rawPathname => {\n const pathname = decodeURIComponent(rawPathname)\n // Remove the pathPrefix from the pathname.\n const trimmedPathname = stripPrefix(pathname, __BASE_PATH__)\n // Remove any hashfragment\n .split(`#`)[0]\n // Remove search query\n .split(`?`)[0]\n\n return trimmedPathname\n}\n\nfunction absolutify(path) {\n // If it's already absolute, return as-is\n if (\n path.startsWith(`/`) ||\n path.startsWith(`https://`) ||\n path.startsWith(`http://`)\n ) {\n return path\n }\n // Calculate path relative to current location, adding a trailing slash to\n // match behavior of @reach/router\n return new URL(\n path,\n window.location.href + (window.location.href.endsWith(`/`) ? `` : `/`)\n ).pathname\n}\n\n/**\n * Set list of matchPaths\n *\n * @param {Array<{path: string, matchPath: string}>} value collection of matchPaths\n */\nexport const setMatchPaths = value => {\n matchPaths = value\n}\n\n/**\n * Return a matchpath url\n * if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n * `/foo?bar=far` => `/page1`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string|null}\n */\nexport const findMatchPath = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return normalizePagePath(path.route.originalPath)\n }\n\n return null\n}\n\n/**\n * Return a matchpath params from reach/router rules\n * if `match-paths.json` contains `{ \":bar/*foo\" }`, and the path is /baz/zaz/zoo\n * then it returns\n * { bar: baz, foo: zaz/zoo }\n *\n * @param {string} rawPathname A raw pathname\n * @return {object}\n */\nexport const grabMatchParams = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return path.params\n }\n\n return {}\n}\n\n// Given a raw URL path, returns the cleaned version of it (trim off\n// `#` and query params), or if it matches an entry in\n// `match-paths.json`, its matched path is returned\n//\n// E.g. `/foo?bar=far` => `/foo`\n//\n// Or if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n// `/foo?bar=far` => `/page1`\nexport const findPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n if (pathCache.has(trimmedPathname)) {\n return pathCache.get(trimmedPathname)\n }\n\n let foundPath = findMatchPath(trimmedPathname)\n\n if (!foundPath) {\n foundPath = cleanPath(rawPathname)\n }\n\n pathCache.set(trimmedPathname, foundPath)\n\n return foundPath\n}\n\n/**\n * Clean a url and converts /index.html => /\n * E.g. `/foo?bar=far` => `/foo`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string}\n */\nexport const cleanPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n\n let foundPath = trimmedPathname\n if (foundPath === `/index.html`) {\n foundPath = `/`\n }\n\n foundPath = normalizePagePath(foundPath)\n\n return foundPath\n}\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","\"use strict\";\n\nexports.onRouteUpdate = function (_ref) {\n var location = _ref.location;\n\n if (process.env.NODE_ENV !== \"production\" || typeof gtag !== \"function\") {\n return null;\n }\n\n var pathIsExcluded = location && typeof window.excludeGtagPaths !== \"undefined\" && window.excludeGtagPaths.some(function (rx) {\n return rx.test(location.pathname);\n });\n if (pathIsExcluded) return null; // wrap inside a timeout to make sure react-helmet is done with its changes (https://github.com/gatsbyjs/gatsby/issues/11592)\n\n var sendPageView = function sendPageView() {\n var pagePath = location ? location.pathname + location.search + location.hash : undefined;\n window.gtag(\"event\", \"page_view\", {\n page_path: pagePath\n });\n };\n\n if (\"requestAnimationFrame\" in window) {\n requestAnimationFrame(function () {\n requestAnimationFrame(sendPageView);\n });\n } else {\n // simulate 2 rAF calls\n setTimeout(sendPageView, 32);\n }\n\n return null;\n};","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar spanstatus_1 = require(\"../spanstatus\");\n\nvar utils_2 = require(\"../utils\");\n\nexports.DEFAULT_TRACING_ORIGINS = ['localhost', /^\\//];\nexports.defaultRequestInstrumentationOptions = {\n traceFetch: true,\n traceXHR: true,\n tracingOrigins: exports.DEFAULT_TRACING_ORIGINS\n};\n/** Registers span creators for xhr and fetch requests */\n\nfunction instrumentOutgoingRequests(_options) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n var _a = tslib_1.__assign(tslib_1.__assign({}, exports.defaultRequestInstrumentationOptions), _options),\n traceFetch = _a.traceFetch,\n traceXHR = _a.traceXHR,\n tracingOrigins = _a.tracingOrigins,\n shouldCreateSpanForRequest = _a.shouldCreateSpanForRequest; // We should cache url -> decision so that we don't have to compute\n // regexp everytime we create a request.\n\n\n var urlMap = {};\n\n var defaultShouldCreateSpan = function defaultShouldCreateSpan(url) {\n if (urlMap[url]) {\n return urlMap[url];\n }\n\n var origins = tracingOrigins;\n urlMap[url] = origins.some(function (origin) {\n return utils_1.isMatchingPattern(url, origin);\n }) && !utils_1.isMatchingPattern(url, 'sentry_key');\n return urlMap[url];\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\n\n var shouldCreateSpan = defaultShouldCreateSpan;\n\n if (typeof shouldCreateSpanForRequest === 'function') {\n shouldCreateSpan = function shouldCreateSpan(url) {\n return defaultShouldCreateSpan(url) && shouldCreateSpanForRequest(url);\n };\n }\n\n var spans = {};\n\n if (traceFetch) {\n utils_1.addInstrumentationHandler({\n callback: function callback(handlerData) {\n fetchCallback(handlerData, shouldCreateSpan, spans);\n },\n type: 'fetch'\n });\n }\n\n if (traceXHR) {\n utils_1.addInstrumentationHandler({\n callback: function callback(handlerData) {\n xhrCallback(handlerData, shouldCreateSpan, spans);\n },\n type: 'xhr'\n });\n }\n}\n\nexports.instrumentOutgoingRequests = instrumentOutgoingRequests;\n/**\n * Create and track fetch request spans\n */\n\nfunction fetchCallback(handlerData, shouldCreateSpan, spans) {\n if (!utils_2.hasTracingEnabled() || !(handlerData.fetchData && shouldCreateSpan(handlerData.fetchData.url))) {\n return;\n }\n\n if (handlerData.endTimestamp && handlerData.fetchData.__span) {\n var span = spans[handlerData.fetchData.__span];\n\n if (span) {\n if (handlerData.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(handlerData.response.status);\n } else if (handlerData.error) {\n span.setStatus(spanstatus_1.SpanStatus.InternalError);\n }\n\n span.finish(); // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n\n delete spans[handlerData.fetchData.__span];\n }\n\n return;\n }\n\n var activeTransaction = utils_2.getActiveTransaction();\n\n if (activeTransaction) {\n var span = activeTransaction.startChild({\n data: tslib_1.__assign(tslib_1.__assign({}, handlerData.fetchData), {\n type: 'fetch'\n }),\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]; // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n var options = handlerData.args[1] = handlerData.args[1] || {};\n var headers = options.headers;\n\n if (utils_1.isInstanceOf(request, Request)) {\n headers = request.headers;\n }\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 } else if (Array.isArray(headers)) {\n headers = tslib_1.__spread(headers, [['sentry-trace', span.toTraceparent()]]);\n } else {\n headers = tslib_1.__assign(tslib_1.__assign({}, headers), {\n 'sentry-trace': span.toTraceparent()\n });\n }\n } else {\n headers = {\n 'sentry-trace': span.toTraceparent()\n };\n }\n\n options.headers = headers;\n }\n}\n\nexports.fetchCallback = fetchCallback;\n/**\n * Create and track xhr request spans\n */\n\nfunction xhrCallback(handlerData, shouldCreateSpan, spans) {\n var _a, _b;\n\n if (!utils_2.hasTracingEnabled() || ((_a = handlerData.xhr) === null || _a === void 0 ? void 0 : _a.__sentry_own_request__) || !(((_b = handlerData.xhr) === null || _b === void 0 ? void 0 : _b.__sentry_xhr__) && shouldCreateSpan(handlerData.xhr.__sentry_xhr__.url))) {\n return;\n }\n\n var xhr = handlerData.xhr.__sentry_xhr__; // check first if the request has finished and is tracked by an existing span which should now end\n\n if (handlerData.endTimestamp && handlerData.xhr.__sentry_xhr_span_id__) {\n var span = spans[handlerData.xhr.__sentry_xhr_span_id__];\n\n if (span) {\n span.setHttpStatus(xhr.status_code);\n span.finish(); // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n\n delete spans[handlerData.xhr.__sentry_xhr_span_id__];\n }\n\n return;\n } // if not, create a new span to track it\n\n\n var activeTransaction = utils_2.getActiveTransaction();\n\n if (activeTransaction) {\n var span = activeTransaction.startChild({\n data: tslib_1.__assign(tslib_1.__assign({}, xhr.data), {\n type: 'xhr',\n method: xhr.method,\n url: xhr.url\n }),\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\n if (handlerData.xhr.setRequestHeader) {\n try {\n handlerData.xhr.setRequestHeader('sentry-trace', span.toTraceparent());\n } catch (_) {// Error: InvalidStateError: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': The object's state must be OPENED.\n }\n }\n }\n}\n\nexports.xhrCallback = xhrCallback;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = useScrollRestoration;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nvar _react = require(\"react\");\n\nvar _router = require(\"@reach/router\");\n\nfunction useScrollRestoration(identifier) {\n var location = (0, _router.useLocation)();\n var state = (0, _react.useContext)(_scrollHandler.ScrollContext);\n var ref = (0, _react.useRef)();\n (0, _react.useLayoutEffect)(function () {\n if (ref.current) {\n var position = state.read(location, identifier);\n ref.current.scrollTo(0, position || 0);\n }\n }, []);\n return {\n ref: ref,\n onScroll: function onScroll() {\n if (ref.current) {\n state.save(location, identifier, ref.current.scrollTop);\n }\n }\n };\n}","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * Checks whether we're in the Node.js or Browser environment\n *\n * @returns Answer to given question\n */\n\nfunction isNodeEnv() {\n return Object.prototype.toString.call(typeof process !== 'undefined' ? process : 0) === '[object process]';\n}\n\nexports.isNodeEnv = isNodeEnv;\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, @typescript-eslint/no-explicit-any\n\nfunction dynamicRequire(mod, request) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return mod.require(request);\n}\n\nexports.dynamicRequire = dynamicRequire;\n/**\n * Helper for dynamically loading module that should work with linked dependencies.\n * The problem is that we _should_ be using `require(require.resolve(moduleName, { paths: [cwd()] }))`\n * However it's _not possible_ to do that with Webpack, as it has to know all the dependencies during\n * build time. `require.resolve` is also not available in any other way, so we cannot create,\n * a fake helper like we do with `dynamicRequire`.\n *\n * We always prefer to use local package, thus the value is not returned early from each `try/catch` block.\n * That is to mimic the behavior of `require.resolve` exactly.\n *\n * @param moduleName module name to require\n * @returns possibly required module\n */\n\nfunction loadModule(moduleName) {\n var mod;\n\n try {\n mod = dynamicRequire(module, moduleName);\n } catch (e) {// no-empty\n }\n\n try {\n var cwd = dynamicRequire(module, 'process').cwd;\n mod = dynamicRequire(module, cwd() + \"/node_modules/\" + moduleName);\n } catch (e) {// no-empty\n }\n\n return mod;\n}\n\nexports.loadModule = loadModule;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar spanstatus_1 = require(\"../spanstatus\");\n\nvar utils_2 = require(\"../utils\");\n\nvar global = utils_1.getGlobalObject();\n/**\n * Add a listener that cancels and finishes a transaction when the global\n * document is hidden.\n */\n\nfunction registerBackgroundTabDetection() {\n if (global && global.document) {\n global.document.addEventListener('visibilitychange', function () {\n var activeTransaction = utils_2.getActiveTransaction();\n\n if (global.document.hidden && activeTransaction) {\n utils_1.logger.log(\"[Tracing] Transaction: \" + spanstatus_1.SpanStatus.Cancelled + \" -> since tab moved to the background, op: \" + activeTransaction.op); // 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\n if (!activeTransaction.status) {\n activeTransaction.setStatus(spanstatus_1.SpanStatus.Cancelled);\n }\n\n activeTransaction.setTag('visibilitychange', 'document.hidden');\n activeTransaction.finish();\n }\n });\n } else {\n utils_1.logger.warn('[Tracing] Could not set up background tab detection due to lack of global document');\n }\n}\n\nexports.registerBackgroundTabDetection = registerBackgroundTabDetection;","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 classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/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 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","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n/* eslint-disable max-lines */\n\n\nvar types_1 = require(\"@sentry/types\");\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar scope_1 = require(\"./scope\");\n\nvar session_1 = require(\"./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 */\n\n\nexports.API_VERSION = 4;\n/**\n * Default maximum number of breadcrumbs added to an event. Can be overwritten\n * with {@link Options.maxBreadcrumbs}.\n */\n\nvar DEFAULT_BREADCRUMBS = 100;\n/**\n * @inheritDoc\n */\n\nvar Hub =\n/** @class */\nfunction () {\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) {\n scope = new scope_1.Scope();\n }\n\n if (_version === void 0) {\n _version = exports.API_VERSION;\n }\n\n this._version = _version;\n /** Is a {@link Layer}[] containing the client and scope */\n\n this._stack = [{}];\n this.getStackTop().scope = scope;\n this.bindClient(client);\n }\n /**\n * @inheritDoc\n */\n\n\n Hub.prototype.isOlderThan = function (version) {\n return this._version < version;\n };\n /**\n * @inheritDoc\n */\n\n\n Hub.prototype.bindClient = function (client) {\n var top = this.getStackTop();\n top.client = client;\n\n if (client && client.setupIntegrations) {\n client.setupIntegrations();\n }\n };\n /**\n * @inheritDoc\n */\n\n\n Hub.prototype.pushScope = function () {\n // We want to clone the content of prev scope\n var scope = scope_1.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\n\n Hub.prototype.popScope = function () {\n if (this.getStack().length <= 1) return false;\n return !!this.getStack().pop();\n };\n /**\n * @inheritDoc\n */\n\n\n Hub.prototype.withScope = function (callback) {\n var scope = this.pushScope();\n\n try {\n callback(scope);\n } finally {\n this.popScope();\n }\n };\n /**\n * @inheritDoc\n */\n\n\n Hub.prototype.getClient = function () {\n return this.getStackTop().client;\n };\n /** Returns the scope of the top stack. */\n\n\n Hub.prototype.getScope = function () {\n return this.getStackTop().scope;\n };\n /** Returns the scope stack for domains or the process. */\n\n\n Hub.prototype.getStack = function () {\n return this._stack;\n };\n /** Returns the topmost scope layer in the order domain > local > process. */\n\n\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\n\n Hub.prototype.captureException = function (exception, hint) {\n var eventId = this._lastEventId = utils_1.uuid4();\n var finalHint = hint; // 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\n if (!hint) {\n var syntheticException = void 0;\n\n try {\n throw new Error('Sentry syntheticException');\n } catch (exception) {\n syntheticException = exception;\n }\n\n finalHint = {\n originalException: exception,\n syntheticException: syntheticException\n };\n }\n\n this._invokeClient('captureException', exception, tslib_1.__assign(tslib_1.__assign({}, finalHint), {\n event_id: eventId\n }));\n\n return eventId;\n };\n /**\n * @inheritDoc\n */\n\n\n Hub.prototype.captureMessage = function (message, level, hint) {\n var eventId = this._lastEventId = utils_1.uuid4();\n var finalHint = hint; // 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\n if (!hint) {\n var syntheticException = void 0;\n\n try {\n throw new Error(message);\n } catch (exception) {\n syntheticException = exception;\n }\n\n finalHint = {\n originalException: message,\n syntheticException: syntheticException\n };\n }\n\n this._invokeClient('captureMessage', message, level, tslib_1.__assign(tslib_1.__assign({}, finalHint), {\n event_id: eventId\n }));\n\n return eventId;\n };\n /**\n * @inheritDoc\n */\n\n\n Hub.prototype.captureEvent = function (event, hint) {\n var eventId = this._lastEventId = utils_1.uuid4();\n\n this._invokeClient('captureEvent', event, tslib_1.__assign(tslib_1.__assign({}, hint), {\n event_id: eventId\n }));\n\n return eventId;\n };\n /**\n * @inheritDoc\n */\n\n\n Hub.prototype.lastEventId = function () {\n return this._lastEventId;\n };\n /**\n * @inheritDoc\n */\n\n\n Hub.prototype.addBreadcrumb = function (breadcrumb, hint) {\n var _a = this.getStackTop(),\n scope = _a.scope,\n client = _a.client;\n\n if (!scope || !client) return; // eslint-disable-next-line @typescript-eslint/unbound-method\n\n var _b = client.getOptions && client.getOptions() || {},\n _c = _b.beforeBreadcrumb,\n beforeBreadcrumb = _c === void 0 ? null : _c,\n _d = _b.maxBreadcrumbs,\n maxBreadcrumbs = _d === void 0 ? DEFAULT_BREADCRUMBS : _d;\n\n if (maxBreadcrumbs <= 0) return;\n var timestamp = utils_1.dateTimestampInSeconds();\n\n var mergedBreadcrumb = tslib_1.__assign({\n timestamp: timestamp\n }, breadcrumb);\n\n var finalBreadcrumb = beforeBreadcrumb ? utils_1.consoleSandbox(function () {\n return beforeBreadcrumb(mergedBreadcrumb, hint);\n }) : mergedBreadcrumb;\n if (finalBreadcrumb === null) return;\n scope.addBreadcrumb(finalBreadcrumb, maxBreadcrumbs);\n };\n /**\n * @inheritDoc\n */\n\n\n Hub.prototype.setUser = function (user) {\n var scope = this.getScope();\n if (scope) scope.setUser(user);\n };\n /**\n * @inheritDoc\n */\n\n\n Hub.prototype.setTags = function (tags) {\n var scope = this.getScope();\n if (scope) scope.setTags(tags);\n };\n /**\n * @inheritDoc\n */\n\n\n Hub.prototype.setExtras = function (extras) {\n var scope = this.getScope();\n if (scope) scope.setExtras(extras);\n };\n /**\n * @inheritDoc\n */\n\n\n Hub.prototype.setTag = function (key, value) {\n var scope = this.getScope();\n if (scope) scope.setTag(key, value);\n };\n /**\n * @inheritDoc\n */\n\n\n Hub.prototype.setExtra = function (key, extra) {\n var scope = this.getScope();\n if (scope) scope.setExtra(key, extra);\n };\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n\n Hub.prototype.setContext = function (name, context) {\n var scope = this.getScope();\n if (scope) scope.setContext(name, context);\n };\n /**\n * @inheritDoc\n */\n\n\n Hub.prototype.configureScope = function (callback) {\n var _a = this.getStackTop(),\n scope = _a.scope,\n client = _a.client;\n\n if (scope && client) {\n callback(scope);\n }\n };\n /**\n * @inheritDoc\n */\n\n\n Hub.prototype.run = function (callback) {\n var oldHub = makeMain(this);\n\n try {\n callback(this);\n } finally {\n makeMain(oldHub);\n }\n };\n /**\n * @inheritDoc\n */\n\n\n Hub.prototype.getIntegration = function (integration) {\n var client = this.getClient();\n if (!client) return null;\n\n try {\n return client.getIntegration(integration);\n } catch (_oO) {\n utils_1.logger.warn(\"Cannot retrieve integration \" + integration.id + \" from the current Hub\");\n return null;\n }\n };\n /**\n * @inheritDoc\n */\n\n\n Hub.prototype.startSpan = function (context) {\n return this._callExtensionMethod('startSpan', context);\n };\n /**\n * @inheritDoc\n */\n\n\n Hub.prototype.startTransaction = function (context, customSamplingContext) {\n return this._callExtensionMethod('startTransaction', context, customSamplingContext);\n };\n /**\n * @inheritDoc\n */\n\n\n Hub.prototype.traceHeaders = function () {\n return this._callExtensionMethod('traceHeaders');\n };\n /**\n * @inheritDoc\n */\n\n\n Hub.prototype.captureSession = function (endSession) {\n if (endSession === void 0) {\n endSession = false;\n } // both send the update and pull the session from the scope\n\n\n if (endSession) {\n return this.endSession();\n } // only send the update\n\n\n this._sendSessionUpdate();\n };\n /**\n * @inheritDoc\n */\n\n\n Hub.prototype.endSession = function () {\n var _a, _b, _c, _d, _e;\n\n (_c = (_b = (_a = this.getStackTop()) === null || _a === void 0 ? void 0 : _a.scope) === null || _b === void 0 ? void 0 : _b.getSession()) === null || _c === void 0 ? void 0 : _c.close();\n\n this._sendSessionUpdate(); // the session is over; take it off of the scope\n\n\n (_e = (_d = this.getStackTop()) === null || _d === void 0 ? void 0 : _d.scope) === null || _e === void 0 ? void 0 : _e.setSession();\n };\n /**\n * @inheritDoc\n */\n\n\n Hub.prototype.startSession = function (context) {\n var _a = this.getStackTop(),\n scope = _a.scope,\n client = _a.client;\n\n var _b = client && client.getOptions() || {},\n release = _b.release,\n environment = _b.environment;\n\n var session = new session_1.Session(tslib_1.__assign(tslib_1.__assign({\n release: release,\n environment: environment\n }, scope && {\n user: scope.getUser()\n }), context));\n\n if (scope) {\n // End existing session if there's one\n var currentSession = scope.getSession && scope.getSession();\n\n if (currentSession && currentSession.status === types_1.SessionStatus.Ok) {\n currentSession.update({\n status: types_1.SessionStatus.Exited\n });\n }\n\n this.endSession(); // Afterwards we set the new session on the scope\n\n scope.setSession(session);\n }\n\n return session;\n };\n /**\n * Sends the current Session on the scope\n */\n\n\n Hub.prototype._sendSessionUpdate = function () {\n var _a = this.getStackTop(),\n scope = _a.scope,\n client = _a.client;\n\n if (!scope) return;\n var session = scope.getSession && scope.getSession();\n\n if (session) {\n if (client && client.captureSession) {\n client.captureSession(session);\n }\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\n\n Hub.prototype._invokeClient = function (method) {\n var _a;\n\n var args = [];\n\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n\n var _b = this.getStackTop(),\n scope = _b.scope,\n client = _b.client;\n\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, tslib_1.__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\n\n Hub.prototype._callExtensionMethod = function (method) {\n var args = [];\n\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n\n var carrier = getMainCarrier();\n var sentry = carrier.__SENTRY__;\n\n if (sentry && sentry.extensions && typeof sentry.extensions[method] === 'function') {\n return sentry.extensions[method].apply(this, args);\n }\n\n utils_1.logger.warn(\"Extension method \" + method + \" couldn't be found, doing nothing.\");\n };\n\n return Hub;\n}();\n\nexports.Hub = Hub;\n/**\n * Returns the global shim registry.\n *\n * FIXME: This function is problematic, because despite always returning a valid Carrier,\n * it has an optional `__SENTRY__` property, which then in turn requires us to always perform an unnecessary check\n * at the call-site. We always access the carrier through this function, so we can guarantee that `__SENTRY__` is there.\n **/\n\nfunction getMainCarrier() {\n var carrier = utils_1.getGlobalObject();\n carrier.__SENTRY__ = carrier.__SENTRY__ || {\n extensions: {},\n hub: undefined\n };\n return carrier;\n}\n\nexports.getMainCarrier = getMainCarrier;\n/**\n * Replaces the current main hub with the passed one on the global object\n *\n * @returns The old replaced hub\n */\n\nfunction makeMain(hub) {\n var registry = getMainCarrier();\n var oldHub = getHubFromCarrier(registry);\n setHubOnCarrier(registry, hub);\n return oldHub;\n}\n\nexports.makeMain = makeMain;\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 */\n\nfunction getCurrentHub() {\n // Get main carrier (global for every environment)\n var registry = getMainCarrier(); // If there's no hub, or its an old API, assign a new one\n\n if (!hasHubOnCarrier(registry) || getHubFromCarrier(registry).isOlderThan(exports.API_VERSION)) {\n setHubOnCarrier(registry, new Hub());\n } // Prefer domains over global if they are there (applicable only to Node environment)\n\n\n if (utils_1.isNodeEnv()) {\n return getHubFromActiveDomain(registry);\n } // Return hub that lives on a global object\n\n\n return getHubFromCarrier(registry);\n}\n\nexports.getCurrentHub = getCurrentHub;\n/**\n * Returns the active domain, if one exists\n * @deprecated No longer used; remove in v7\n * @returns The domain, or undefined if there is no active domain\n */\n// eslint-disable-next-line deprecation/deprecation\n\nfunction getActiveDomain() {\n utils_1.logger.warn('Function `getActiveDomain` is deprecated and will be removed in a future version.');\n\n var sentry = getMainCarrier().__SENTRY__;\n\n return sentry && sentry.extensions && sentry.extensions.domain && sentry.extensions.domain.active;\n}\n\nexports.getActiveDomain = getActiveDomain;\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 */\n\nfunction getHubFromActiveDomain(registry) {\n var _a, _b, _c;\n\n try {\n var activeDomain = (_c = (_b = (_a = getMainCarrier().__SENTRY__) === null || _a === void 0 ? void 0 : _a.extensions) === null || _b === void 0 ? void 0 : _b.domain) === null || _c === void 0 ? void 0 : _c.active; // If there's no active domain, just return global hub\n\n if (!activeDomain) {\n return getHubFromCarrier(registry);\n } // If there's no hub on current domain, or it's an old API, assign a new one\n\n\n if (!hasHubOnCarrier(activeDomain) || getHubFromCarrier(activeDomain).isOlderThan(exports.API_VERSION)) {\n var registryHubTopStack = getHubFromCarrier(registry).getStackTop();\n setHubOnCarrier(activeDomain, new Hub(registryHubTopStack.client, scope_1.Scope.clone(registryHubTopStack.scope)));\n } // Return hub that lives on a domain\n\n\n return getHubFromCarrier(activeDomain);\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 */\n\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 */\n\n\nfunction getHubFromCarrier(carrier) {\n if (carrier && carrier.__SENTRY__ && carrier.__SENTRY__.hub) return carrier.__SENTRY__.hub;\n carrier.__SENTRY__ = carrier.__SENTRY__ || {};\n carrier.__SENTRY__.hub = new Hub();\n return carrier.__SENTRY__.hub;\n}\n\nexports.getHubFromCarrier = getHubFromCarrier;\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 * @returns A boolean indicating success or failure\n */\n\nfunction setHubOnCarrier(carrier, hub) {\n if (!carrier) return false;\n carrier.__SENTRY__ = carrier.__SENTRY__ || {};\n carrier.__SENTRY__.hub = hub;\n return true;\n}\n\nexports.setHubOnCarrier = setHubOnCarrier;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar scope_1 = require(\"./scope\");\n\nexports.addGlobalEventProcessor = scope_1.addGlobalEventProcessor;\nexports.Scope = scope_1.Scope;\n\nvar session_1 = require(\"./session\");\n\nexports.Session = session_1.Session;\n\nvar sessionFlusher_1 = require(\"./sessionFlusher\");\n\nexports.SessionFlusher = sessionFlusher_1.SessionFlusher;\n\nvar hub_1 = require(\"./hub\"); // eslint-disable-next-line deprecation/deprecation\n\n\nexports.getActiveDomain = hub_1.getActiveDomain;\nexports.getCurrentHub = hub_1.getCurrentHub;\nexports.getHubFromCarrier = hub_1.getHubFromCarrier;\nexports.getMainCarrier = hub_1.getMainCarrier;\nexports.Hub = hub_1.Hub;\nexports.makeMain = hub_1.makeMain;\nexports.setHubOnCarrier = hub_1.setHubOnCarrier;","import mitt from \"mitt\"\n\nconst emitter = mitt()\nexport default emitter\n","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar OPERATIONS = ['aggregate', 'bulkWrite', 'countDocuments', 'createIndex', 'createIndexes', 'deleteMany', 'deleteOne', 'distinct', 'drop', 'dropIndex', 'dropIndexes', 'estimatedDocumentCount', 'find', 'findOne', 'findOneAndDelete', 'findOneAndReplace', 'findOneAndUpdate', 'indexes', 'indexExists', 'indexInformation', 'initializeOrderedBulkOp', 'insertMany', 'insertOne', 'isCapped', 'mapReduce', 'options', 'parallelCollectionScan', 'rename', 'replaceOne', 'stats', 'updateMany', 'updateOne']; // 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\n\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 find: ['query'],\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 */\n\nvar Mongo =\n/** @class */\nfunction () {\n /**\n * @inheritDoc\n */\n function Mongo(options) {\n if (options === void 0) {\n options = {};\n }\n /**\n * @inheritDoc\n */\n\n\n this.name = Mongo.id;\n this._operations = Array.isArray(options.operations) ? options.operations : OPERATIONS;\n this._describeOperations = 'describeOperations' in options ? options.describeOperations : true;\n this._useMongoose = !!options.useMongoose;\n }\n /**\n * @inheritDoc\n */\n\n\n Mongo.prototype.setupOnce = function (_, getCurrentHub) {\n var moduleName = this._useMongoose ? 'mongoose' : 'mongodb';\n var pkg = utils_1.loadModule(moduleName);\n\n if (!pkg) {\n utils_1.logger.error(\"Mongo Integration was unable to require `\" + moduleName + \"` package.\");\n return;\n }\n\n this._instrumentOperations(pkg.Collection, this._operations, getCurrentHub);\n };\n /**\n * Patches original collection methods\n */\n\n\n Mongo.prototype._instrumentOperations = function (collection, operations, getCurrentHub) {\n var _this = this;\n\n operations.forEach(function (operation) {\n return _this._patchOperation(collection, operation, getCurrentHub);\n });\n };\n /**\n * Patches original collection to utilize our tracing functionality\n */\n\n\n Mongo.prototype._patchOperation = function (collection, operation, getCurrentHub) {\n if (!(operation in collection.prototype)) return;\n\n var getSpanContext = this._getSpanContextFromOperationArguments.bind(this);\n\n utils_1.fill(collection.prototype, operation, function (orig) {\n return function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var _a, _b, _c, _d;\n\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(); // Check if the operation was passed a callback. (mapReduce requires a different check, as\n // its (non-callback) arguments can also be functions.)\n\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 var maybePromise = orig.call.apply(orig, tslib_1.__spread([this], args));\n\n if (utils_1.isThenable(maybePromise)) {\n return maybePromise.then(function (res) {\n var _a;\n\n (_a = span_1) === null || _a === void 0 ? void 0 : _a.finish();\n return res;\n });\n } else {\n (_c = span_1) === null || _c === void 0 ? void 0 : _c.finish();\n return maybePromise;\n }\n }\n\n var span = (_d = parentSpan) === null || _d === void 0 ? void 0 : _d.startChild(getSpanContext(this, operation, args.slice(0, -1)));\n return orig.call.apply(orig, tslib_1.__spread([this], args.slice(0, -1), [function (err, result) {\n var _a;\n\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\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 }; // If the operation takes no arguments besides `options` and `callback`, or if argument\n // collection is disabled for this operation, just return early.\n\n var signature = OPERATION_SIGNATURES[operation];\n var shouldDescribe = Array.isArray(this._describeOperations) ? this._describeOperations.includes(operation) : this._describeOperations;\n\n if (!signature || !shouldDescribe) {\n return spanContext;\n }\n\n try {\n // Special case for `mapReduce`, as the only one accepting functions as arguments.\n if (operation === 'mapReduce') {\n var _a = tslib_1.__read(args, 2),\n map = _a[0],\n reduce = _a[1];\n\n data[signature[0]] = typeof map === 'string' ? map : map.name || '';\n data[signature[1]] = typeof reduce === 'string' ? reduce : reduce.name || '';\n } else {\n for (var i = 0; i < signature.length; i++) {\n data[signature[i]] = JSON.stringify(args[i]);\n }\n }\n } catch (_oO) {// no-empty\n }\n\n return spanContext;\n };\n /**\n * @inheritDoc\n */\n\n\n Mongo.id = 'Mongo';\n return Mongo;\n}();\n\nexports.Mongo = Mongo;","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.es/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","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar error_1 = require(\"./error\");\n\nvar syncpromise_1 = require(\"./syncpromise\");\n/** A simple queue that holds promises. */\n\n\nvar PromiseBuffer =\n/** @class */\nfunction () {\n function PromiseBuffer(_limit) {\n this._limit = _limit;\n /** Internal set of queued Promises */\n\n this._buffer = [];\n }\n /**\n * Says if the buffer is ready to take more requests\n */\n\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\n\n PromiseBuffer.prototype.add = function (task) {\n var _this = this;\n\n if (!this.isReady()) {\n return syncpromise_1.SyncPromise.reject(new error_1.SentryError('Not adding Promise due to buffer limit reached.'));\n }\n\n if (this._buffer.indexOf(task) === -1) {\n this._buffer.push(task);\n }\n\n void task.then(function () {\n return _this.remove(task);\n }).then(null, function () {\n return _this.remove(task).then(null, function () {// 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\n\n PromiseBuffer.prototype.remove = function (task) {\n var removedTask = this._buffer.splice(this._buffer.indexOf(task), 1)[0];\n\n return removedTask;\n };\n /**\n * This function returns the number of unresolved promises in the queue.\n */\n\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\n\n PromiseBuffer.prototype.drain = function (timeout) {\n var _this = this;\n\n return new syncpromise_1.SyncPromise(function (resolve) {\n var capturedSetTimeout = setTimeout(function () {\n if (timeout && timeout > 0) {\n resolve(false);\n }\n }, timeout);\n void syncpromise_1.SyncPromise.all(_this._buffer).then(function () {\n clearTimeout(capturedSetTimeout);\n resolve(true);\n }).then(null, function () {\n resolve(true);\n });\n });\n };\n\n return PromiseBuffer;\n}();\n\nexports.PromiseBuffer = PromiseBuffer;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\nvar polyfill_1 = require(\"./polyfill\");\n/** An error emitted by Sentry SDKs and related utilities. */\n\n\nvar SentryError =\n/** @class */\nfunction (_super) {\n tslib_1.__extends(SentryError, _super);\n\n function SentryError(message) {\n var _newTarget = this.constructor;\n\n var _this = _super.call(this, message) || this;\n\n _this.message = message;\n _this.name = _newTarget.prototype.constructor.name;\n polyfill_1.setPrototypeOf(_this, _newTarget.prototype);\n return _this;\n }\n\n return SentryError;\n}(Error);\n\nexports.SentryError = SentryError;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\ntslib_1.__exportStar(require(\"@sentry/browser\"), exports);\n\nvar sdk_1 = require(\"./sdk\");\n\nexports.init = sdk_1.init;\n\nvar profiler_1 = require(\"./profiler\");\n\nexports.Profiler = profiler_1.Profiler;\nexports.withProfiler = profiler_1.withProfiler;\nexports.useProfiler = profiler_1.useProfiler;\n\nvar errorboundary_1 = require(\"./errorboundary\");\n\nexports.ErrorBoundary = errorboundary_1.ErrorBoundary;\nexports.withErrorBoundary = errorboundary_1.withErrorBoundary;\n\nvar redux_1 = require(\"./redux\");\n\nexports.createReduxEnhancer = redux_1.createReduxEnhancer;\n\nvar reactrouterv3_1 = require(\"./reactrouterv3\");\n\nexports.reactRouterV3Instrumentation = reactrouterv3_1.reactRouterV3Instrumentation;\n\nvar reactrouter_1 = require(\"./reactrouter\");\n\nexports.reactRouterV4Instrumentation = reactrouter_1.reactRouterV4Instrumentation;\nexports.reactRouterV5Instrumentation = reactrouter_1.reactRouterV5Instrumentation;\nexports.withSentryRouting = reactrouter_1.withSentryRouting;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.onRouteUpdate = exports.onRouteUpdateDelayed = exports.onClientEntry = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _nprogress = _interopRequireDefault(require(\"nprogress\"));\n\nvar defaultOptions = {\n color: \"#29d\"\n};\n\nvar onClientEntry = function onClientEntry(a, pluginOptions) {\n if (pluginOptions === void 0) {\n pluginOptions = {};\n }\n\n // Merge default options with user defined options in `gatsby-config.js`\n var options = (0, _extends2.default)({}, defaultOptions, pluginOptions); // Inject styles.\n\n var styles = \"\\n #nprogress {\\n pointer-events: none;\\n }\\n #nprogress .bar {\\n background: \" + options.color + \";\\n position: fixed;\\n z-index: 1031;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 2px;\\n }\\n #nprogress .peg {\\n display: block;\\n position: absolute;\\n right: 0px;\\n width: 100px;\\n height: 100%;\\n box-shadow: 0 0 10px \" + options.color + \", 0 0 5px \" + options.color + \";\\n opacity: 1.0;\\n -webkit-transform: rotate(3deg) translate(0px, -4px);\\n -ms-transform: rotate(3deg) translate(0px, -4px);\\n transform: rotate(3deg) translate(0px, -4px);\\n }\\n #nprogress .spinner {\\n display: block;\\n position: fixed;\\n z-index: 1031;\\n top: 15px;\\n right: 15px;\\n }\\n #nprogress .spinner-icon {\\n width: 18px;\\n height: 18px;\\n box-sizing: border-box;\\n border: solid 2px transparent;\\n border-top-color: \" + options.color + \";\\n border-left-color: \" + options.color + \";\\n border-radius: 50%;\\n -webkit-animation: nprogress-spinner 400ms linear infinite;\\n animation: nprogress-spinner 400ms linear infinite;\\n }\\n .nprogress-custom-parent {\\n overflow: hidden;\\n position: relative;\\n }\\n .nprogress-custom-parent #nprogress .spinner,\\n .nprogress-custom-parent #nprogress .bar {\\n position: absolute;\\n }\\n @-webkit-keyframes nprogress-spinner {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n }\\n }\\n @keyframes nprogress-spinner {\\n 0% {\\n transform: rotate(0deg);\\n }\\n 100% {\\n transform: rotate(360deg);\\n }\\n }\\n \";\n var node = document.createElement(\"style\");\n node.id = \"nprogress-styles\";\n node.innerHTML = styles;\n document.head.appendChild(node);\n\n _nprogress.default.configure(options);\n};\n\nexports.onClientEntry = onClientEntry;\n\nvar onRouteUpdateDelayed = function onRouteUpdateDelayed() {\n _nprogress.default.start();\n};\n\nexports.onRouteUpdateDelayed = onRouteUpdateDelayed;\n\nvar onRouteUpdate = function onRouteUpdate() {\n _nprogress.default.done();\n};\n\nexports.onRouteUpdate = onRouteUpdate;","'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.es/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 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","/*\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 */\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar inputPromise;\n\nexports.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\n return inputPromise;\n};","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SDK_VERSION = '6.7.1';","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\nvar browser_1 = require(\"@sentry/browser\");\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar hoist_non_react_statics_1 = tslib_1.__importDefault(require(\"hoist-non-react-statics\"));\n\nvar React = tslib_1.__importStar(require(\"react\"));\n\nvar reactVersion = utils_1.parseSemver(React.version);\nexports.UNKNOWN_COMPONENT = 'unknown';\nvar INITIAL_STATE = {\n componentStack: null,\n error: null,\n eventId: null\n};\n/**\n * Logs react error boundary errors to Sentry. If on React version >= 17, creates stack trace\n * from componentStack param, otherwise relies on error param for stacktrace.\n *\n * @param error An error captured by React Error Boundary\n * @param componentStack The component stacktrace\n */\n\nfunction captureReactErrorBoundaryError(error, componentStack) {\n var errorBoundaryError = new Error(error.message);\n errorBoundaryError.name = \"React ErrorBoundary \" + errorBoundaryError.name;\n errorBoundaryError.stack = componentStack;\n var errorBoundaryEvent = {};\n void browser_1.eventFromException({}, errorBoundaryError).then(function (e) {\n errorBoundaryEvent = e;\n });\n\n if (errorBoundaryEvent.exception && Array.isArray(errorBoundaryEvent.exception.values) && reactVersion.major && reactVersion.major >= 17) {\n var originalEvent_1 = {};\n void browser_1.eventFromException({}, error).then(function (e) {\n originalEvent_1 = e;\n });\n\n if (originalEvent_1.exception && Array.isArray(originalEvent_1.exception.values)) {\n originalEvent_1.exception.values = tslib_1.__spread(errorBoundaryEvent.exception.values, originalEvent_1.exception.values);\n }\n\n return browser_1.captureEvent(originalEvent_1);\n }\n\n return browser_1.captureException(error, {\n contexts: {\n react: {\n componentStack: componentStack\n }\n }\n });\n}\n/**\n * A ErrorBoundary component that logs errors to Sentry. Requires React >= 16.\n * NOTE: If you are a Sentry user, and you are seeing this stack frame, it means the\n * Sentry React SDK ErrorBoundary caught an error invoking your application code. This\n * is expected behavior and NOT indicative of a bug with the Sentry React SDK.\n */\n\n\nvar ErrorBoundary =\n/** @class */\nfunction (_super) {\n tslib_1.__extends(ErrorBoundary, _super);\n\n function ErrorBoundary() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.state = INITIAL_STATE;\n\n _this.resetErrorBoundary = function () {\n var onReset = _this.props.onReset;\n var _a = _this.state,\n error = _a.error,\n componentStack = _a.componentStack,\n eventId = _a.eventId;\n\n if (onReset) {\n onReset(error, componentStack, eventId);\n }\n\n _this.setState(INITIAL_STATE);\n };\n\n return _this;\n }\n\n ErrorBoundary.prototype.componentDidCatch = function (error, _a) {\n var _this = this;\n\n var componentStack = _a.componentStack;\n var _b = this.props,\n beforeCapture = _b.beforeCapture,\n onError = _b.onError,\n showDialog = _b.showDialog,\n dialogOptions = _b.dialogOptions;\n browser_1.withScope(function (scope) {\n if (beforeCapture) {\n beforeCapture(scope, error, componentStack);\n }\n\n var eventId = captureReactErrorBoundaryError(error, componentStack);\n\n if (onError) {\n onError(error, componentStack, eventId);\n }\n\n if (showDialog) {\n browser_1.showReportDialog(tslib_1.__assign(tslib_1.__assign({}, dialogOptions), {\n eventId: eventId\n }));\n } // componentDidCatch is used over getDerivedStateFromError\n // so that componentStack is accessible through state.\n\n\n _this.setState({\n error: error,\n componentStack: componentStack,\n eventId: eventId\n });\n });\n };\n\n ErrorBoundary.prototype.componentDidMount = function () {\n var onMount = this.props.onMount;\n\n if (onMount) {\n onMount();\n }\n };\n\n ErrorBoundary.prototype.componentWillUnmount = function () {\n var _a = this.state,\n error = _a.error,\n componentStack = _a.componentStack,\n eventId = _a.eventId;\n var onUnmount = this.props.onUnmount;\n\n if (onUnmount) {\n onUnmount(error, componentStack, eventId);\n }\n };\n\n ErrorBoundary.prototype.render = function () {\n var fallback = this.props.fallback;\n var _a = this.state,\n error = _a.error,\n componentStack = _a.componentStack,\n eventId = _a.eventId;\n\n if (error) {\n if (React.isValidElement(fallback)) {\n return fallback;\n }\n\n if (typeof fallback === 'function') {\n return fallback({\n error: error,\n componentStack: componentStack,\n resetError: this.resetErrorBoundary,\n eventId: eventId\n });\n } // Fail gracefully if no fallback provided\n\n\n return null;\n }\n\n return this.props.children;\n };\n\n return ErrorBoundary;\n}(React.Component);\n\nexports.ErrorBoundary = ErrorBoundary; // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\nfunction withErrorBoundary(WrappedComponent, errorBoundaryOptions) {\n var componentDisplayName = WrappedComponent.displayName || WrappedComponent.name || exports.UNKNOWN_COMPONENT;\n\n var Wrapped = function Wrapped(props) {\n return React.createElement(ErrorBoundary, tslib_1.__assign({}, errorBoundaryOptions), React.createElement(WrappedComponent, tslib_1.__assign({}, props)));\n };\n\n Wrapped.displayName = \"errorBoundary(\" + componentDisplayName + \")\"; // 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\n hoist_non_react_statics_1.default(Wrapped, WrappedComponent);\n return Wrapped;\n}\n\nexports.withErrorBoundary = withErrorBoundary;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = exports.ScrollContainer = exports.ScrollContext = void 0;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nexports.ScrollContext = _scrollHandler.ScrollHandler;\n\nvar _scrollContainer = require(\"./scroll-container\");\n\nexports.ScrollContainer = _scrollContainer.ScrollContainer;\n\nvar _useScrollRestoration = require(\"./use-scroll-restoration\");\n\nexports.useScrollRestoration = _useScrollRestoration.useScrollRestoration;","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.es/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","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}\n\nmodule.exports = _objectWithoutPropertiesLoose;","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.8.3',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\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","// shim for using process in browser\nvar process = module.exports = {}; // 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}\n\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\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\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\n\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n } // if setTimeout wasn't available but was latter defined\n\n\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\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\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n } // if clearTimeout wasn't available but was latter defined\n\n\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\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\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n\n draining = false;\n\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n\n while (len) {\n currentQueue = queue;\n queue = [];\n\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n\n queueIndex = -1;\n len = queue.length;\n }\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\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n\n queue.push(new Item(fun, args));\n\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n}; // v8 likes predictible objects\n\n\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\n\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\n\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\n\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) {\n return [];\n};\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () {\n return '/';\n};\n\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\n\nprocess.umask = function () {\n return 0;\n};","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\nvar core_1 = require(\"@sentry/core\");\n\nvar types_1 = require(\"@sentry/types\");\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar eventbuilder_1 = require(\"./eventbuilder\");\n\nvar transports_1 = require(\"./transports\");\n/**\n * The Sentry Browser SDK Backend.\n * @hidden\n */\n\n\nvar BrowserBackend =\n/** @class */\nfunction (_super) {\n tslib_1.__extends(BrowserBackend, _super);\n\n function BrowserBackend() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @inheritDoc\n */\n\n\n BrowserBackend.prototype.eventFromException = function (exception, hint) {\n return eventbuilder_1.eventFromException(this._options, exception, hint);\n };\n /**\n * @inheritDoc\n */\n\n\n BrowserBackend.prototype.eventFromMessage = function (message, level, hint) {\n if (level === void 0) {\n level = types_1.Severity.Info;\n }\n\n return eventbuilder_1.eventFromMessage(this._options, message, level, hint);\n };\n /**\n * @inheritDoc\n */\n\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\n var transportOptions = tslib_1.__assign(tslib_1.__assign({}, this._options.transportOptions), {\n dsn: this._options.dsn,\n tunnel: this._options.tunnel,\n _metadata: this._options._metadata\n });\n\n if (this._options.transport) {\n return new this._options.transport(transportOptions);\n }\n\n if (utils_1.supportsFetch()) {\n return new transports_1.FetchTransport(transportOptions);\n }\n\n return new transports_1.XHRTransport(transportOptions);\n };\n\n return BrowserBackend;\n}(core_1.BaseBackend);\n\nexports.BrowserBackend = BrowserBackend;","exports.polyfill = Component => Component\n","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\nvar hub_1 = require(\"@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\n\n\nfunction callOnHub(method) {\n var args = [];\n\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n\n var hub = hub_1.getCurrentHub();\n\n if (hub && hub[method]) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return hub[method].apply(hub, tslib_1.__spread(args));\n }\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\n\n\nfunction captureException(exception, captureContext) {\n var syntheticException;\n\n try {\n throw new Error('Sentry syntheticException');\n } catch (exception) {\n syntheticException = exception;\n }\n\n return callOnHub('captureException', exception, {\n captureContext: captureContext,\n originalException: exception,\n syntheticException: syntheticException\n });\n}\n\nexports.captureException = captureException;\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 */\n\nfunction captureMessage(message, captureContext) {\n var syntheticException;\n\n try {\n throw new Error(message);\n } catch (exception) {\n syntheticException = exception;\n } // This is necessary to provide explicit scopes upgrade, without changing the original\n // arity of the `captureMessage(message, level)` method.\n\n\n var level = typeof captureContext === 'string' ? captureContext : undefined;\n var context = typeof captureContext !== 'string' ? {\n captureContext: captureContext\n } : undefined;\n return callOnHub('captureMessage', message, level, tslib_1.__assign({\n originalException: message,\n syntheticException: syntheticException\n }, context));\n}\n\nexports.captureMessage = captureMessage;\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 */\n\nfunction captureEvent(event) {\n return callOnHub('captureEvent', event);\n}\n\nexports.captureEvent = captureEvent;\n/**\n * Callback to set context information onto the scope.\n * @param callback Callback function that receives Scope.\n */\n\nfunction configureScope(callback) {\n callOnHub('configureScope', callback);\n}\n\nexports.configureScope = configureScope;\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 */\n\nfunction addBreadcrumb(breadcrumb) {\n callOnHub('addBreadcrumb', breadcrumb);\n}\n\nexports.addBreadcrumb = addBreadcrumb;\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\n\nfunction setContext(name, context) {\n callOnHub('setContext', name, context);\n}\n\nexports.setContext = setContext;\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 */\n\nfunction setExtras(extras) {\n callOnHub('setExtras', extras);\n}\n\nexports.setExtras = setExtras;\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 */\n\nfunction setTags(tags) {\n callOnHub('setTags', tags);\n}\n\nexports.setTags = setTags;\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 */\n\nfunction setExtra(key, extra) {\n callOnHub('setExtra', key, extra);\n}\n\nexports.setExtra = setExtra;\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 */\n\nfunction setTag(key, value) {\n callOnHub('setTag', key, value);\n}\n\nexports.setTag = setTag;\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 */\n\nfunction setUser(user) {\n callOnHub('setUser', user);\n}\n\nexports.setUser = setUser;\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 */\n\nfunction withScope(callback) {\n callOnHub('withScope', callback);\n}\n\nexports.withScope = withScope;\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\n\nfunction _callOnClient(method) {\n var args = [];\n\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n\n callOnHub.apply(void 0, tslib_1.__spread(['_invokeClient', method], args));\n}\n\nexports._callOnClient = _callOnClient;\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 */\n\nfunction startTransaction(context, customSamplingContext) {\n return callOnHub('startTransaction', tslib_1.__assign({}, context), customSamplingContext);\n}\n\nexports.startTransaction = startTransaction;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\n/**\n * Memo class used for decycle json objects. Uses WeakSet if available otherwise array.\n */\n\nvar Memo =\n/** @class */\nfunction () {\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\n\n Memo.prototype.memoize = function (obj) {\n if (this._hasWeakSet) {\n if (this._inner.has(obj)) {\n return true;\n }\n\n this._inner.add(obj);\n\n return false;\n } // eslint-disable-next-line @typescript-eslint/prefer-for-of\n\n\n for (var i = 0; i < this._inner.length; i++) {\n var value = this._inner[i];\n\n if (value === obj) {\n return true;\n }\n }\n\n this._inner.push(obj);\n\n return false;\n };\n /**\n * Removes object from internal storage.\n * @param obj Object to forget\n */\n\n\n Memo.prototype.unmemoize = function (obj) {\n if (this._hasWeakSet) {\n this._inner.delete(obj);\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\n break;\n }\n }\n }\n };\n\n return Memo;\n}();\n\nexports.Memo = Memo;","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar getLocation = function getLocation(source) {\n var _source$location = source.location,\n search = _source$location.search,\n hash = _source$location.hash,\n href = _source$location.href,\n origin = _source$location.origin,\n protocol = _source$location.protocol,\n host = _source$location.host,\n hostname = _source$location.hostname,\n port = _source$location.port;\n var pathname = source.location.pathname;\n\n\n if (!pathname && href && canUseDOM) {\n var url = new URL(href);\n pathname = url.pathname;\n }\n\n return {\n pathname: encodeURI(decodeURI(pathname)),\n search: search,\n hash: hash,\n href: href,\n origin: origin,\n protocol: protocol,\n host: host,\n hostname: hostname,\n port: port,\n state: source.history.state,\n key: source.history.state && source.history.state.key || \"initial\"\n };\n};\n\nvar createHistory = function createHistory(source, options) {\n var listeners = [];\n var location = getLocation(source);\n var transitioning = false;\n var resolveTransition = function resolveTransition() {};\n\n return {\n get location() {\n return location;\n },\n\n get transitioning() {\n return transitioning;\n },\n\n _onTransitionComplete: function _onTransitionComplete() {\n transitioning = false;\n resolveTransition();\n },\n listen: function listen(listener) {\n listeners.push(listener);\n\n var popstateListener = function popstateListener() {\n location = getLocation(source);\n listener({ location: location, action: \"POP\" });\n };\n\n source.addEventListener(\"popstate\", popstateListener);\n\n return function () {\n source.removeEventListener(\"popstate\", popstateListener);\n listeners = listeners.filter(function (fn) {\n return fn !== listener;\n });\n };\n },\n navigate: function navigate(to) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n state = _ref.state,\n _ref$replace = _ref.replace,\n replace = _ref$replace === undefined ? false : _ref$replace;\n\n if (typeof to === \"number\") {\n source.history.go(to);\n } else {\n state = _extends({}, state, { key: Date.now() + \"\" });\n // try...catch iOS Safari limits to 100 pushState calls\n try {\n if (transitioning || replace) {\n source.history.replaceState(state, null, to);\n } else {\n source.history.pushState(state, null, to);\n }\n } catch (e) {\n source.location[replace ? \"replace\" : \"assign\"](to);\n }\n }\n\n location = getLocation(source);\n transitioning = true;\n var transition = new Promise(function (res) {\n return resolveTransition = res;\n });\n listeners.forEach(function (listener) {\n return listener({ location: location, action: \"PUSH\" });\n });\n return transition;\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Stores history entries in memory for testing or other platforms like Native\nvar createMemorySource = function createMemorySource() {\n var initialPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"/\";\n\n var searchIndex = initialPath.indexOf(\"?\");\n var initialLocation = {\n pathname: searchIndex > -1 ? initialPath.substr(0, searchIndex) : initialPath,\n search: searchIndex > -1 ? initialPath.substr(searchIndex) : \"\"\n };\n var index = 0;\n var stack = [initialLocation];\n var states = [null];\n\n return {\n get location() {\n return stack[index];\n },\n addEventListener: function addEventListener(name, fn) {},\n removeEventListener: function removeEventListener(name, fn) {},\n\n history: {\n get entries() {\n return stack;\n },\n get index() {\n return index;\n },\n get state() {\n return states[index];\n },\n pushState: function pushState(state, _, uri) {\n var _uri$split = uri.split(\"?\"),\n pathname = _uri$split[0],\n _uri$split$ = _uri$split[1],\n search = _uri$split$ === undefined ? \"\" : _uri$split$;\n\n index++;\n stack.push({ pathname: pathname, search: search.length ? \"?\" + search : search });\n states.push(state);\n },\n replaceState: function replaceState(state, _, uri) {\n var _uri$split2 = uri.split(\"?\"),\n pathname = _uri$split2[0],\n _uri$split2$ = _uri$split2[1],\n search = _uri$split2$ === undefined ? \"\" : _uri$split2$;\n\n stack[index] = { pathname: pathname, search: search };\n states[index] = state;\n },\n go: function go(to) {\n var newIndex = index + to;\n\n if (newIndex < 0 || newIndex > states.length - 1) {\n return;\n }\n\n index = newIndex;\n }\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// global history - uses window.history as the source if available, otherwise a\n// memory history\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nvar getSource = function getSource() {\n return canUseDOM ? window : createMemorySource();\n};\n\nvar globalHistory = createHistory(getSource());\nvar navigate = globalHistory.navigate;\n\n////////////////////////////////////////////////////////////////////////////////\n\nexport { globalHistory, navigate, createHistory, createMemorySource };","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\n/**\n * Get a manifest filename depending on localized pathname\n *\n * @param {string} pathname\n * @param {Array<{start_url: string, lang: string}>} localizedManifests\n * @return string\n */\nvar _default = function _default(pathname, localizedManifests) {\n var defaultFilename = \"manifest.webmanifest\";\n\n if (!Array.isArray(localizedManifests)) {\n return defaultFilename;\n }\n\n var localizedManifest = localizedManifests.find(function (app) {\n return pathname.startsWith(app.start_url);\n });\n\n if (!localizedManifest) {\n return defaultFilename;\n }\n\n return \"manifest_\" + localizedManifest.lang + \".webmanifest\";\n};\n\nexports.default = _default;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n}); // TODO: Remove in the next major release and rely only on @sentry/core SDK_VERSION and SdkInfo metadata\n\nexports.SDK_NAME = 'sentry.javascript.browser';","'use strict';\nvar isArray = require('../internals/is-array');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\n\n// `FlattenIntoArray` abstract operation\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? bind(mapper, thisArg, 3) : false;\n var element;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n if (depth > 0 && isArray(element)) {\n targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;\n } else {\n if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length');\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n};\n\nmodule.exports = flattenIntoArray;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _gatsby = require(\"gatsby\");\n\nvar _catchLinks = _interopRequireDefault(require(\"./catch-links\"));\n\nexports.onClientEntry = function (_, pluginOptions) {\n if (pluginOptions === void 0) {\n pluginOptions = {};\n }\n\n (0, _catchLinks.default)(window, pluginOptions, function (href) {\n (0, _gatsby.navigate)(href);\n });\n};","import React, { Component } from \"react\"\n// import { Howl } from \"howler\"\n\n// const vaderAudio = new Howl({\n// src: [\"../../sounds/Darth-Vader.mp3\"],\n// volume: 0.2,\n// format: [\"mp3\"],\n// })\n// const r2d2Audio = new Howl({\n// src: [\"../../sounds/R2-D2.mp3\"],\n// volume: 0.2,\n// format: [\"mp3\"],\n// })\n\nconst defaultState = {\n dark: false,\n toString: () => `light`,\n toggleDark: () => {},\n}\n\nconst ThemeContext = React.createContext(defaultState)\n\nclass ThemeProvider extends Component {\n state = {\n dark: false,\n }\n\n toString = () => (this.state.dark ? `dark` : `light`)\n\n toggleDark = () => {\n let dark = !this.state.dark\n this.setState({ dark })\n // vaderAudio.stop()\n // r2d2Audio.stop()\n // dark ? vaderAudio.play() : r2d2Audio.play()\n }\n\n render() {\n const { children } = this.props\n const { dark } = this.state\n return (\n \n {children}\n \n )\n }\n}\n\nexport default ThemeContext\n\nexport { ThemeProvider }\n","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\nvar core_1 = require(\"@sentry/core\");\n\nvar types_1 = require(\"@sentry/types\");\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar CATEGORY_MAPPING = {\n event: 'error',\n transaction: 'transaction',\n session: 'session',\n attachment: 'attachment'\n};\n/** Base Transport class implementation */\n\nvar BaseTransport =\n/** @class */\nfunction () {\n function BaseTransport(options) {\n this.options = options;\n /** A simple buffer holding all requests. */\n\n this._buffer = new utils_1.PromiseBuffer(30);\n /** Locks transport after receiving rate limits in a response */\n\n this._rateLimits = {};\n this._api = new core_1.API(options.dsn, options._metadata, options.tunnel); // eslint-disable-next-line deprecation/deprecation\n\n this.url = this._api.getStoreEndpointWithUrlEncodedAuth();\n }\n /**\n * @inheritDoc\n */\n\n\n BaseTransport.prototype.sendEvent = function (_) {\n throw new utils_1.SentryError('Transport Class has to implement `sendEvent` method');\n };\n /**\n * @inheritDoc\n */\n\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\n\n BaseTransport.prototype._handleResponse = function (_a) {\n var requestType = _a.requestType,\n response = _a.response,\n headers = _a.headers,\n resolve = _a.resolve,\n reject = _a.reject;\n var status = types_1.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\n var limited = this._handleRateLimit(headers);\n\n if (limited) utils_1.logger.warn(\"Too many requests, backing off until: \" + this._disabledUntil(requestType));\n\n if (status === types_1.Status.Success) {\n resolve({\n status: status\n });\n return;\n }\n\n reject(response);\n };\n /**\n * Gets the time that given category is disabled until for rate limiting\n */\n\n\n BaseTransport.prototype._disabledUntil = function (requestType) {\n var category = CATEGORY_MAPPING[requestType];\n return this._rateLimits[category] || this._rateLimits.all;\n };\n /**\n * Checks if a category is rate limited\n */\n\n\n BaseTransport.prototype._isRateLimited = function (requestType) {\n return this._disabledUntil(requestType) > 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\n\n BaseTransport.prototype._handleRateLimit = function (headers) {\n var e_1, _a, e_2, _b;\n\n var now = Date.now();\n var rlHeader = headers['x-sentry-rate-limits'];\n var raHeader = headers['retry-after'];\n\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 = tslib_1.__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\n try {\n for (var _e = (e_2 = void 0, tslib_1.__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 } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (_f && !_f.done && (_b = _e.return)) _b.call(_e);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n\n return true;\n } else if (raHeader) {\n this._rateLimits.all = new Date(now + utils_1.parseRetryAfterHeader(now, raHeader));\n return true;\n }\n\n return false;\n };\n\n return BaseTransport;\n}();\n\nexports.BaseTransport = BaseTransport;","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","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","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\nvar error_1 = require(\"./error\");\n/** Regular expression used to parse a Dsn. */\n\n\nvar DSN_REGEX = /^(?:(\\w+):)\\/\\/(?:(\\w+)(?::(\\w+))?@)([\\w.-]+)(?::(\\d+))?\\/(.+)/;\n/** Error message */\n\nvar ERROR_MESSAGE = 'Invalid Dsn';\n/** The Sentry Dsn, identifying a Sentry instance and project. */\n\nvar Dsn =\n/** @class */\nfunction () {\n /** Creates a new Dsn component */\n function Dsn(from) {\n if (typeof from === 'string') {\n this._fromString(from);\n } else {\n this._fromComponents(from);\n }\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\n\n Dsn.prototype.toString = function (withPassword) {\n if (withPassword === void 0) {\n withPassword = false;\n }\n\n var _a = this,\n host = _a.host,\n path = _a.path,\n pass = _a.pass,\n port = _a.port,\n projectId = _a.projectId,\n protocol = _a.protocol,\n publicKey = _a.publicKey;\n\n return protocol + \"://\" + publicKey + (withPassword && pass ? \":\" + pass : '') + (\"@\" + host + (port ? \":\" + port : '') + \"/\" + (path ? path + \"/\" : path) + projectId);\n };\n /** Parses a string into this Dsn. */\n\n\n Dsn.prototype._fromString = function (str) {\n var match = DSN_REGEX.exec(str);\n\n if (!match) {\n throw new error_1.SentryError(ERROR_MESSAGE);\n }\n\n var _a = tslib_1.__read(match.slice(1), 6),\n protocol = _a[0],\n publicKey = _a[1],\n _b = _a[2],\n pass = _b === void 0 ? '' : _b,\n host = _a[3],\n _c = _a[4],\n port = _c === void 0 ? '' : _c,\n lastPath = _a[5];\n\n var path = '';\n var projectId = lastPath;\n var split = projectId.split('/');\n\n if (split.length > 1) {\n path = split.slice(0, -1).join('/');\n projectId = split.pop();\n }\n\n if (projectId) {\n var projectMatch = projectId.match(/^\\d+/);\n\n if (projectMatch) {\n projectId = projectMatch[0];\n }\n }\n\n this._fromComponents({\n host: host,\n pass: pass,\n path: path,\n projectId: projectId,\n port: port,\n protocol: protocol,\n publicKey: publicKey\n });\n };\n /** Maps Dsn components into this instance. */\n\n\n Dsn.prototype._fromComponents = function (components) {\n // TODO this is for backwards compatibility, and can be removed in a future version\n if ('user' in components && !('publicKey' in components)) {\n components.publicKey = components.user;\n }\n\n this.user = components.publicKey || '';\n this.protocol = components.protocol;\n this.publicKey = components.publicKey || '';\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\n\n Dsn.prototype._validate = function () {\n var _this = this;\n\n ['protocol', 'publicKey', 'host', 'projectId'].forEach(function (component) {\n if (!_this[component]) {\n throw new error_1.SentryError(ERROR_MESSAGE + \": \" + component + \" missing\");\n }\n });\n\n if (!this.projectId.match(/^\\d+$/)) {\n throw new error_1.SentryError(ERROR_MESSAGE + \": Invalid projectId \" + this.projectId);\n }\n\n if (this.protocol !== 'http' && this.protocol !== 'https') {\n throw new error_1.SentryError(ERROR_MESSAGE + \": Invalid protocol \" + this.protocol);\n }\n\n if (this.port && isNaN(parseInt(this.port, 10))) {\n throw new error_1.SentryError(ERROR_MESSAGE + \": Invalid port \" + this.port);\n }\n };\n\n return Dsn;\n}();\n\nexports.Dsn = Dsn;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n\nvar minimal_1 = require(\"@sentry/minimal\");\n\nvar ACTION_BREADCRUMB_CATEGORY = 'redux.action';\nvar ACTION_BREADCRUMB_TYPE = 'info';\nvar STATE_CONTEXT_KEY = 'redux.state';\nvar defaultOptions = {\n actionTransformer: function actionTransformer(action) {\n return action;\n },\n stateTransformer: function stateTransformer(state) {\n return state || null;\n }\n};\n/**\n * Creates an enhancer that would be passed to Redux's createStore to log actions and the latest state to Sentry.\n *\n * @param enhancerOptions Options to pass to the enhancer\n */\n\nfunction createReduxEnhancer(enhancerOptions) {\n // Note: We return an any type as to not have type conflicts.\n var options = tslib_1.__assign(tslib_1.__assign({}, defaultOptions), enhancerOptions);\n\n return function (next) {\n return function (reducer, initialState) {\n var sentryReducer = function sentryReducer(state, action) {\n var newState = reducer(state, action);\n minimal_1.configureScope(function (scope) {\n /* Action breadcrumbs */\n var transformedAction = options.actionTransformer(action);\n\n if (typeof transformedAction !== 'undefined' && transformedAction !== null) {\n scope.addBreadcrumb({\n category: ACTION_BREADCRUMB_CATEGORY,\n data: transformedAction,\n type: ACTION_BREADCRUMB_TYPE\n });\n }\n /* Set latest state to scope */\n\n\n var transformedState = options.stateTransformer(newState);\n\n if (typeof transformedState !== 'undefined' && transformedState !== null) {\n scope.setContext(STATE_CONTEXT_KEY, transformedState);\n } else {\n scope.setContext(STATE_CONTEXT_KEY, null);\n }\n /* Allow user to configure scope with latest state */\n // eslint-disable-next-line @typescript-eslint/unbound-method\n\n\n var configureScopeWithState = options.configureScopeWithState;\n\n if (typeof configureScopeWithState === 'function') {\n configureScopeWithState(scope, newState);\n }\n });\n return newState;\n };\n\n return next(sentryReducer, initialState);\n };\n };\n}\n\nexports.createReduxEnhancer = createReduxEnhancer;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/** The status of an event. */\n// eslint-disable-next-line import/export\n\nvar Status;\n\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\n Status[\"Skipped\"] = \"skipped\";\n /** The event was sent to Sentry successfully. */\n\n Status[\"Success\"] = \"success\";\n /** The client is currently rate limited and will try again later. */\n\n Status[\"RateLimit\"] = \"rate_limit\";\n /** The event could not be processed. */\n\n Status[\"Invalid\"] = \"invalid\";\n /** A server-side error ocurred during submission. */\n\n Status[\"Failed\"] = \"failed\";\n})(Status = exports.Status || (exports.Status = {})); // eslint-disable-next-line @typescript-eslint/no-namespace, import/export\n\n\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\n if (code === 429) {\n return Status.RateLimit;\n }\n\n if (code >= 400 && code < 500) {\n return Status.Invalid;\n }\n\n if (code >= 500) {\n return Status.Failed;\n }\n\n return Status.Unknown;\n }\n\n Status.fromHttpCode = fromHttpCode;\n})(Status = exports.Status || (exports.Status = {}));","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar shared = require('../internals/shared-store');\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 = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n metadata.facade = it;\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 metadata.facade = it;\n createNonEnumerableProperty(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","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/** Console logging verbosity for the SDK. */\n\nvar LogLevel;\n\n(function (LogLevel) {\n /** No logs will be generated. */\n LogLevel[LogLevel[\"None\"] = 0] = \"None\";\n /** Only SDK internal errors will be logged. */\n\n LogLevel[LogLevel[\"Error\"] = 1] = \"Error\";\n /** Information useful for debugging the SDK will be logged. */\n\n LogLevel[LogLevel[\"Debug\"] = 2] = \"Debug\";\n /** All SDK actions will be logged. */\n\n LogLevel[LogLevel[\"Verbose\"] = 3] = \"Verbose\";\n})(LogLevel = exports.LogLevel || (exports.LogLevel = {}));","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar browser_1 = require(\"@sentry/browser\");\n/**\n * Inits the React SDK\n */\n\n\nfunction init(options) {\n options._metadata = options._metadata || {};\n options._metadata.sdk = options._metadata.sdk || {\n name: 'sentry.javascript.react',\n packages: [{\n name: 'npm:@sentry/react',\n version: browser_1.SDK_VERSION\n }],\n version: browser_1.SDK_VERSION\n };\n browser_1.init(options);\n}\n\nexports.init = init;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.ScrollHandler = exports.ScrollContext = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _sessionStorage = require(\"./session-storage\");\n\nvar ScrollContext = /*#__PURE__*/React.createContext(new _sessionStorage.SessionStorage());\nexports.ScrollContext = ScrollContext;\nScrollContext.displayName = \"GatsbyScrollContext\";\n\nvar ScrollHandler = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollHandler, _React$Component);\n\n function ScrollHandler() {\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._stateStorage = new _sessionStorage.SessionStorage();\n\n _this.scrollListener = function () {\n var key = _this.props.location.key;\n\n if (key) {\n _this._stateStorage.save(_this.props.location, key, window.scrollY);\n }\n };\n\n _this.windowScroll = function (position, prevProps) {\n if (_this.shouldUpdateScroll(prevProps, _this.props)) {\n window.scrollTo(0, position);\n }\n };\n\n _this.scrollToHash = function (hash, prevProps) {\n var node = document.getElementById(hash.substring(1));\n\n if (node && _this.shouldUpdateScroll(prevProps, _this.props)) {\n node.scrollIntoView();\n }\n };\n\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n\n if (!shouldUpdateScroll) {\n return true;\n } // Hack to allow accessing this._stateStorage.\n\n\n return shouldUpdateScroll.call((0, _assertThisInitialized2.default)(_this), prevRouterProps, routerProps);\n };\n\n return _this;\n }\n\n var _proto = ScrollHandler.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n window.addEventListener(\"scroll\", this.scrollListener);\n var scrollPosition;\n var _this$props$location = this.props.location,\n key = _this$props$location.key,\n hash = _this$props$location.hash;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n if (scrollPosition) {\n this.windowScroll(scrollPosition, undefined);\n } else if (hash) {\n this.scrollToHash(decodeURI(hash), undefined);\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener(\"scroll\", this.scrollListener);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this$props$location2 = this.props.location,\n hash = _this$props$location2.hash,\n key = _this$props$location2.key;\n var scrollPosition;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n /** There are two pieces of state: the browser url and\n * history state which keeps track of scroll position\n * Native behaviour prescribes that we ought to restore scroll position\n * when a user navigates back in their browser (this is the `POP` action)\n * Currently, reach router has a bug that prevents this at https://github.com/reach/router/issues/228\n * So we _always_ stick to the url as a source of truth — if the url\n * contains a hash, we scroll to it\n */\n\n\n if (hash) {\n this.scrollToHash(decodeURI(hash), prevProps);\n } else {\n this.windowScroll(scrollPosition, prevProps);\n }\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(ScrollContext.Provider, {\n value: this._stateStorage\n }, this.props.children);\n };\n\n return ScrollHandler;\n}(React.Component);\n\nexports.ScrollHandler = ScrollHandler;\nScrollHandler.propTypes = {\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired,\n location: _propTypes.default.object.isRequired\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","'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","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar types_1 = require(\"@sentry/types\");\n\nexports.Severity = types_1.Severity;\nexports.Status = types_1.Status;\n\nvar core_1 = require(\"@sentry/core\");\n\nexports.addGlobalEventProcessor = core_1.addGlobalEventProcessor;\nexports.addBreadcrumb = core_1.addBreadcrumb;\nexports.captureException = core_1.captureException;\nexports.captureEvent = core_1.captureEvent;\nexports.captureMessage = core_1.captureMessage;\nexports.configureScope = core_1.configureScope;\nexports.getHubFromCarrier = core_1.getHubFromCarrier;\nexports.getCurrentHub = core_1.getCurrentHub;\nexports.Hub = core_1.Hub;\nexports.makeMain = core_1.makeMain;\nexports.Scope = core_1.Scope;\nexports.startTransaction = core_1.startTransaction;\nexports.SDK_VERSION = core_1.SDK_VERSION;\nexports.setContext = core_1.setContext;\nexports.setExtra = core_1.setExtra;\nexports.setExtras = core_1.setExtras;\nexports.setTag = core_1.setTag;\nexports.setTags = core_1.setTags;\nexports.setUser = core_1.setUser;\nexports.withScope = core_1.withScope;\n\nvar client_1 = require(\"./client\");\n\nexports.BrowserClient = client_1.BrowserClient;\n\nvar helpers_1 = require(\"./helpers\");\n\nexports.injectReportDialog = helpers_1.injectReportDialog;\n\nvar eventbuilder_1 = require(\"./eventbuilder\");\n\nexports.eventFromException = eventbuilder_1.eventFromException;\nexports.eventFromMessage = eventbuilder_1.eventFromMessage;\n\nvar sdk_1 = require(\"./sdk\");\n\nexports.defaultIntegrations = sdk_1.defaultIntegrations;\nexports.forceLoad = sdk_1.forceLoad;\nexports.init = sdk_1.init;\nexports.lastEventId = sdk_1.lastEventId;\nexports.onLoad = sdk_1.onLoad;\nexports.showReportDialog = sdk_1.showReportDialog;\nexports.flush = sdk_1.flush;\nexports.close = sdk_1.close;\nexports.wrap = sdk_1.wrap;\n\nvar version_1 = require(\"./version\");\n\nexports.SDK_NAME = version_1.SDK_NAME;","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar types_1 = require(\"@sentry/types\");\n\nvar utils_1 = require(\"@sentry/utils\");\n/** Noop transport */\n\n\nvar NoopTransport =\n/** @class */\nfunction () {\n function NoopTransport() {}\n /**\n * @inheritDoc\n */\n\n\n NoopTransport.prototype.sendEvent = function (_) {\n return utils_1.SyncPromise.resolve({\n reason: \"NoopTransport: Event has been skipped because no Dsn is configured.\",\n status: types_1.Status.Skipped\n });\n };\n /**\n * @inheritDoc\n */\n\n\n NoopTransport.prototype.close = function (_) {\n return utils_1.SyncPromise.resolve(true);\n };\n\n return NoopTransport;\n}();\n\nexports.NoopTransport = NoopTransport;","/**\n * Implement Gatsby's Browser APIs in this file.\n *\n * See: https://www.gatsbyjs.org/docs/browser-apis/\n */\n\n// You can delete this file if you're not using it\n// import './src/sass/app.scss'\nimport 'jquery/dist/jquery.min.js'\n// import 'popper.js/dist/popper.min'\nimport 'bootstrap/dist/js/bootstrap.min.js'\n\n\n\n\n// import \"../../static/styles/main.scss\"\n// import \"../../static/theme/css/theme-blue.css\"\n// import \"../../static/theme/css/icons.min.css\"\n\n// import './static/css/base.css';\nimport \"./static/styles/main.scss\"\nimport \"./static/theme/css/theme-blue.css\"\nimport \"./static/theme/css/icons.min.css\"\n\nimport './src/pages/custom.css'; // applies globally\n\nimport React from \"react\"\nimport ThemeContext, { ThemeProvider } from \"./src/utils/theme\"\n// import \"./src/styles/global.scss\"\n\n/** This component wraps around the entire root div where we render our content.\n * So, this piece of code is applying the theme-light/dark class on the top level\n */\nexport const wrapRootElement = ({ element }) => (\n \n \n {({ toString }) =>
{element}
}\n
\n
\n)\n\n\n\n\n\n\nimport * as Sentry from \"@sentry/react\";\nimport { Integrations } from \"@sentry/tracing\";\n// import App from \"./App\";\n\nif (process.env.GATSBY_ACTIVE_ENV==\"demo\" || \nprocess.env.REACT_APP_BUILD_ENV==\"demo\" || \nprocess.env.NODE_ENV==\"development\" ) {\n\n Sentry.init({\n dsn: \"https://197b1f75f39a4d5899f728712ad134de@o851843.ingest.sentry.io/5818676\",\n integrations: [new Integrations.BrowserTracing()],\n\n // Set tracesSampleRate to 1.0 to capture 100%\n // of transactions for performance monitoring.\n // We recommend adjusting this value in production\n tracesSampleRate: 1.0,\n });\n\n}","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar global = utils_1.getGlobalObject();\n/**\n * Creates routing instrumentation for React Router v3\n * Works for React Router >= 3.2.0 and < 4.0.0\n *\n * @param history object from the `history` library\n * @param routes a list of all routes, should be\n * @param match `Router.match` utility\n */\n\nfunction reactRouterV3Instrumentation(history, routes, match) {\n return function (startTransaction, startTransactionOnPageLoad, startTransactionOnLocationChange) {\n if (startTransactionOnPageLoad === void 0) {\n startTransactionOnPageLoad = true;\n }\n\n if (startTransactionOnLocationChange === void 0) {\n startTransactionOnLocationChange = true;\n }\n\n var activeTransaction;\n var prevName; // Have to use global.location because history.location might not be defined.\n\n if (startTransactionOnPageLoad && global && global.location) {\n normalizeTransactionName(routes, global.location, match, function (localName) {\n prevName = localName;\n activeTransaction = startTransaction({\n name: prevName,\n op: 'pageload',\n tags: {\n 'routing.instrumentation': 'react-router-v3'\n }\n });\n });\n }\n\n if (startTransactionOnLocationChange && history.listen) {\n history.listen(function (location) {\n if (location.action === 'PUSH' || location.action === 'POP') {\n if (activeTransaction) {\n activeTransaction.finish();\n }\n\n var tags_1 = {\n 'routing.instrumentation': 'react-router-v3'\n };\n\n if (prevName) {\n tags_1.from = prevName;\n }\n\n normalizeTransactionName(routes, location, match, function (localName) {\n prevName = localName;\n activeTransaction = startTransaction({\n name: prevName,\n op: 'navigation',\n tags: tags_1\n });\n });\n }\n });\n }\n };\n}\n\nexports.reactRouterV3Instrumentation = reactRouterV3Instrumentation;\n/**\n * Normalize transaction names using `Router.match`\n */\n\nfunction normalizeTransactionName(appRoutes, location, match, callback) {\n var name = location.pathname;\n match({\n location: location,\n routes: appRoutes\n }, function (error, _redirectLocation, renderProps) {\n if (error || !renderProps) {\n return callback(name);\n }\n\n var routePath = getRouteStringFromRoutes(renderProps.routes || []);\n\n if (routePath.length === 0 || routePath === '/*') {\n return callback(name);\n }\n\n name = routePath;\n return callback(name);\n });\n}\n/**\n * Generate route name from array of routes\n */\n\n\nfunction getRouteStringFromRoutes(routes) {\n if (!Array.isArray(routes) || routes.length === 0) {\n return '';\n }\n\n var routesWithPaths = routes.filter(function (route) {\n return !!route.path;\n });\n var index = -1;\n\n for (var x = routesWithPaths.length - 1; x >= 0; x--) {\n var route = routesWithPaths[x];\n\n if (route.path && route.path.startsWith('/')) {\n index = x;\n break;\n }\n }\n\n return routesWithPaths.slice(index).filter(function (_a) {\n var path = _a.path;\n return !!path;\n }).map(function (_a) {\n var path = _a.path;\n return path;\n }).join('');\n}","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.es/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","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar hubextensions_1 = require(\"../hubextensions\");\n\nvar idletransaction_1 = require(\"../idletransaction\");\n\nvar spanstatus_1 = require(\"../spanstatus\");\n\nvar utils_2 = require(\"../utils\");\n\nvar backgroundtab_1 = require(\"./backgroundtab\");\n\nvar metrics_1 = require(\"./metrics\");\n\nvar request_1 = require(\"./request\");\n\nvar router_1 = require(\"./router\");\n\nexports.DEFAULT_MAX_TRANSACTION_DURATION_SECONDS = 600;\n\nvar DEFAULT_BROWSER_TRACING_OPTIONS = tslib_1.__assign({\n idleTimeout: idletransaction_1.DEFAULT_IDLE_TIMEOUT,\n markBackgroundTransactions: true,\n maxTransactionDuration: exports.DEFAULT_MAX_TRANSACTION_DURATION_SECONDS,\n routingInstrumentation: router_1.instrumentRoutingWithDefaults,\n startTransactionOnLocationChange: true,\n startTransactionOnPageLoad: true\n}, request_1.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 */\n\n\nvar BrowserTracing =\n/** @class */\nfunction () {\n function BrowserTracing(_options) {\n /**\n * @inheritDoc\n */\n this.name = BrowserTracing.id;\n this._metrics = new metrics_1.MetricsInstrumentation();\n this._emitOptionsWarning = false;\n var tracingOrigins = request_1.defaultRequestInstrumentationOptions.tracingOrigins; // NOTE: Logger doesn't work in constructors, as it's initialized after integrations instances\n\n if (_options && _options.tracingOrigins && Array.isArray(_options.tracingOrigins) && _options.tracingOrigins.length !== 0) {\n tracingOrigins = _options.tracingOrigins;\n } else {\n this._emitOptionsWarning = true;\n }\n\n this.options = tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, DEFAULT_BROWSER_TRACING_OPTIONS), _options), {\n tracingOrigins: tracingOrigins\n });\n }\n /**\n * @inheritDoc\n */\n\n\n BrowserTracing.prototype.setupOnce = function (_, getCurrentHub) {\n var _this = this;\n\n this._getCurrentHub = getCurrentHub;\n\n if (this._emitOptionsWarning) {\n utils_1.logger.warn('[Tracing] You need to define `tracingOrigins` in the options. Set an array of urls or patterns to trace.');\n utils_1.logger.warn(\"[Tracing] We added a reasonable default for you: \" + request_1.defaultRequestInstrumentationOptions.tracingOrigins);\n } // eslint-disable-next-line @typescript-eslint/unbound-method\n\n\n var _a = this.options,\n instrumentRouting = _a.routingInstrumentation,\n startTransactionOnLocationChange = _a.startTransactionOnLocationChange,\n startTransactionOnPageLoad = _a.startTransactionOnPageLoad,\n markBackgroundTransactions = _a.markBackgroundTransactions,\n traceFetch = _a.traceFetch,\n traceXHR = _a.traceXHR,\n tracingOrigins = _a.tracingOrigins,\n shouldCreateSpanForRequest = _a.shouldCreateSpanForRequest;\n instrumentRouting(function (context) {\n return _this._createRouteTransaction(context);\n }, startTransactionOnPageLoad, startTransactionOnLocationChange);\n\n if (markBackgroundTransactions) {\n backgroundtab_1.registerBackgroundTabDetection();\n }\n\n request_1.instrumentOutgoingRequests({\n traceFetch: traceFetch,\n traceXHR: traceXHR,\n tracingOrigins: tracingOrigins,\n shouldCreateSpanForRequest: shouldCreateSpanForRequest\n });\n };\n /** Create routing idle transaction. */\n\n\n BrowserTracing.prototype._createRouteTransaction = function (context) {\n var _this = this;\n\n if (!this._getCurrentHub) {\n utils_1.logger.warn(\"[Tracing] Did not create \" + context.op + \" transaction because _getCurrentHub is invalid.\");\n return undefined;\n } // eslint-disable-next-line @typescript-eslint/unbound-method\n\n\n var _a = this.options,\n beforeNavigate = _a.beforeNavigate,\n idleTimeout = _a.idleTimeout,\n maxTransactionDuration = _a.maxTransactionDuration;\n var parentContextFromHeader = context.op === 'pageload' ? getHeaderContext() : undefined;\n\n var expandedContext = tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, context), parentContextFromHeader), {\n trimEnd: true\n });\n\n var modifiedContext = typeof beforeNavigate === 'function' ? beforeNavigate(expandedContext) : expandedContext; // For backwards compatibility reasons, beforeNavigate can return undefined to \"drop\" the transaction (prevent it\n // from being sent to Sentry).\n\n var finalContext = modifiedContext === undefined ? tslib_1.__assign(tslib_1.__assign({}, expandedContext), {\n sampled: false\n }) : modifiedContext;\n\n if (finalContext.sampled === false) {\n utils_1.logger.log(\"[Tracing] Will not send \" + finalContext.op + \" transaction because of beforeNavigate.\");\n }\n\n utils_1.logger.log(\"[Tracing] Starting \" + finalContext.op + \" transaction on scope\");\n\n var hub = this._getCurrentHub();\n\n var location = utils_1.getGlobalObject().location;\n var idleTransaction = hubextensions_1.startIdleTransaction(hub, finalContext, idleTimeout, true, {\n location: location\n });\n idleTransaction.registerBeforeFinishCallback(function (transaction, endTimestamp) {\n _this._metrics.addPerformanceEntries(transaction);\n\n adjustTransactionDuration(utils_2.secToMs(maxTransactionDuration), transaction, endTimestamp);\n });\n return idleTransaction;\n };\n /**\n * @inheritDoc\n */\n\n\n BrowserTracing.id = 'BrowserTracing';\n return BrowserTracing;\n}();\n\nexports.BrowserTracing = 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 */\n\nfunction getHeaderContext() {\n var header = getMetaContent('sentry-trace');\n\n if (header) {\n return utils_2.extractTraceparentData(header);\n }\n\n return undefined;\n}\n\nexports.getHeaderContext = getHeaderContext;\n/** Returns the value of a meta tag */\n\nfunction getMetaContent(metaName) {\n var el = document.querySelector(\"meta[name=\" + metaName + \"]\");\n return el ? el.getAttribute('content') : null;\n}\n\nexports.getMetaContent = getMetaContent;\n/** Adjusts transaction value based on max transaction duration */\n\nfunction adjustTransactionDuration(maxDuration, transaction, endTimestamp) {\n var diff = endTimestamp - transaction.startTimestamp;\n var isOutdatedTransaction = endTimestamp && (diff > maxDuration || diff < 0);\n\n if (isOutdatedTransaction) {\n transaction.setStatus(spanstatus_1.SpanStatus.DeadlineExceeded);\n transaction.setTag('maxTransactionDurationExceeded', 'true');\n }\n}","/*\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 */\nObject.defineProperty(exports, \"__esModule\", {\n value: true\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 */\n\nexports.generateUniqueID = function () {\n return Date.now() + \"-\" + (Math.floor(Math.random() * (9e12 - 1)) + 1e12);\n};","module.exports = {};\n","require(\"core-js/modules/es.array.reduce.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar span_1 = require(\"./span\");\n\nvar spanstatus_1 = require(\"./spanstatus\");\n\nvar transaction_1 = require(\"./transaction\");\n\nexports.DEFAULT_IDLE_TIMEOUT = 1000;\n/**\n * @inheritDoc\n */\n\nvar IdleTransactionSpanRecorder =\n/** @class */\nfunction (_super) {\n tslib_1.__extends(IdleTransactionSpanRecorder, _super);\n\n function IdleTransactionSpanRecorder(_pushActivity, _popActivity, transactionSpanId, maxlen) {\n if (transactionSpanId === void 0) {\n transactionSpanId = '';\n }\n\n var _this = _super.call(this, maxlen) || this;\n\n _this._pushActivity = _pushActivity;\n _this._popActivity = _popActivity;\n _this.transactionSpanId = transactionSpanId;\n return _this;\n }\n /**\n * @inheritDoc\n */\n\n\n IdleTransactionSpanRecorder.prototype.add = function (span) {\n var _this = this; // We should make sure we do not push and pop activities for\n // the transaction that this span recorder belongs to.\n\n\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 : utils_1.timestampWithMs();\n\n _this._popActivity(span.spanId);\n }; // We should only push new activities if the span does not have an end timestamp.\n\n\n if (span.endTimestamp === undefined) {\n this._pushActivity(span.spanId);\n }\n }\n\n _super.prototype.add.call(this, span);\n };\n\n return IdleTransactionSpanRecorder;\n}(span_1.SpanRecorder);\n\nexports.IdleTransactionSpanRecorder = 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 */\n\nvar IdleTransaction =\n/** @class */\nfunction (_super) {\n tslib_1.__extends(IdleTransaction, _super);\n\n function IdleTransaction(transactionContext, _idleHub, // The time to wait in ms until the idle transaction will be finished. Default: 1000\n _idleTimeout, // If an idle transaction should be put itself on and off the scope automatically.\n _onScope) {\n if (_idleTimeout === void 0) {\n _idleTimeout = exports.DEFAULT_IDLE_TIMEOUT;\n }\n\n if (_onScope === void 0) {\n _onScope = false;\n }\n\n var _this = _super.call(this, transactionContext, _idleHub) || this;\n\n _this._idleHub = _idleHub;\n _this._idleTimeout = _idleTimeout;\n _this._onScope = _onScope; // Activities store a list of active spans\n\n _this.activities = {}; // Stores reference to the timeout that calls _beat().\n\n _this._heartbeatTimer = 0; // Amount of times heartbeat has counted. Will cause transaction to finish after 3 beats.\n\n _this._heartbeatCounter = 0; // We should not use heartbeat if we finished a transaction\n\n _this._finished = false;\n _this._beforeFinishCallbacks = [];\n\n if (_idleHub && _onScope) {\n // There should only be one active transaction on the scope\n clearActiveTransaction(_idleHub); // We set the transaction here on the scope so error events pick up the trace\n // context and attach it to the error.\n\n utils_1.logger.log(\"Setting idle transaction on scope. Span ID: \" + _this.spanId);\n\n _idleHub.configureScope(function (scope) {\n return scope.setSpan(_this);\n });\n }\n\n _this._initTimeout = setTimeout(function () {\n if (!_this._finished) {\n _this.finish();\n }\n }, _this._idleTimeout);\n return _this;\n }\n /** {@inheritDoc} */\n\n\n IdleTransaction.prototype.finish = function (endTimestamp) {\n var e_1, _a;\n\n var _this = this;\n\n if (endTimestamp === void 0) {\n endTimestamp = utils_1.timestampWithMs();\n }\n\n this._finished = true;\n this.activities = {};\n\n if (this.spanRecorder) {\n utils_1.logger.log('[Tracing] finishing IdleTransaction', new Date(endTimestamp * 1000).toISOString(), this.op);\n\n try {\n for (var _b = tslib_1.__values(this._beforeFinishCallbacks), _c = _b.next(); !_c.done; _c = _b.next()) {\n var callback = _c.value;\n callback(this, endTimestamp);\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\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 } // We cancel all pending spans with status \"cancelled\" to indicate the idle transaction was finished early\n\n\n if (!span.endTimestamp) {\n span.endTimestamp = endTimestamp;\n span.setStatus(spanstatus_1.SpanStatus.Cancelled);\n utils_1.logger.log('[Tracing] cancelling span since transaction ended early', JSON.stringify(span, undefined, 2));\n }\n\n var keepSpan = span.startTimestamp < endTimestamp;\n\n if (!keepSpan) {\n utils_1.logger.log('[Tracing] discarding Span since it happened after Transaction was finished', JSON.stringify(span, undefined, 2));\n }\n\n return keepSpan;\n });\n utils_1.logger.log('[Tracing] flushing IdleTransaction');\n } else {\n utils_1.logger.log('[Tracing] No active IdleTransaction');\n } // this._onScope is true if the transaction was previously on the scope.\n\n\n if (this._onScope) {\n clearActiveTransaction(this._idleHub);\n }\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\n\n IdleTransaction.prototype.registerBeforeFinishCallback = function (callback) {\n this._beforeFinishCallbacks.push(callback);\n };\n /**\n * @inheritDoc\n */\n\n\n IdleTransaction.prototype.initSpanRecorder = function (maxlen) {\n var _this = this;\n\n if (!this.spanRecorder) {\n var pushActivity = function pushActivity(id) {\n if (_this._finished) {\n return;\n }\n\n _this._pushActivity(id);\n };\n\n var popActivity = function popActivity(id) {\n if (_this._finished) {\n return;\n }\n\n _this._popActivity(id);\n };\n\n this.spanRecorder = new IdleTransactionSpanRecorder(pushActivity, popActivity, this.spanId, maxlen); // Start heartbeat so that transactions do not run forever.\n\n utils_1.logger.log('Starting heartbeat');\n\n this._pingHeartbeat();\n }\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\n\n IdleTransaction.prototype._pushActivity = function (spanId) {\n if (this._initTimeout) {\n clearTimeout(this._initTimeout);\n this._initTimeout = undefined;\n }\n\n utils_1.logger.log(\"[Tracing] pushActivity: \" + spanId);\n this.activities[spanId] = true;\n utils_1.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\n\n IdleTransaction.prototype._popActivity = function (spanId) {\n var _this = this;\n\n if (this.activities[spanId]) {\n utils_1.logger.log(\"[Tracing] popActivity \" + spanId); // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n\n delete this.activities[spanId];\n utils_1.logger.log('[Tracing] new activities count', Object.keys(this.activities).length);\n }\n\n if (Object.keys(this.activities).length === 0) {\n var timeout = this._idleTimeout; // 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\n var end_1 = utils_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\n\n IdleTransaction.prototype._beat = function () {\n clearTimeout(this._heartbeatTimer); // We should not be running heartbeat if the idle transaction is finished.\n\n if (this._finished) {\n return;\n }\n\n var keys = Object.keys(this.activities);\n var heartbeatString = keys.length ? keys.reduce(function (prev, current) {\n return prev + current;\n }) : '';\n\n if (heartbeatString === this._prevHeartbeatString) {\n this._heartbeatCounter += 1;\n } else {\n this._heartbeatCounter = 1;\n }\n\n this._prevHeartbeatString = heartbeatString;\n\n if (this._heartbeatCounter >= 3) {\n utils_1.logger.log(\"[Tracing] Transaction finished because of no change for 3 heart beats\");\n this.setStatus(spanstatus_1.SpanStatus.DeadlineExceeded);\n this.setTag('heartbeat', 'failed');\n this.finish();\n } else {\n this._pingHeartbeat();\n }\n };\n /**\n * Pings the heartbeat\n */\n\n\n IdleTransaction.prototype._pingHeartbeat = function () {\n var _this = this;\n\n utils_1.logger.log(\"pinging Heartbeat -> current counter: \" + this._heartbeatCounter);\n this._heartbeatTimer = setTimeout(function () {\n _this._beat();\n }, 5000);\n };\n\n return IdleTransaction;\n}(transaction_1.Transaction);\n\nexports.IdleTransaction = IdleTransaction;\n/**\n * Reset active transaction on scope\n */\n\nfunction clearActiveTransaction(hub) {\n if (hub) {\n var scope = hub.getScope();\n\n if (scope) {\n var transaction = scope.getTransaction();\n\n if (transaction) {\n scope.setSpan(undefined);\n }\n }\n }\n}","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\nvar core_1 = require(\"@sentry/core\");\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar base_1 = require(\"./base\");\n/** `XHR` based transport */\n\n\nvar XHRTransport =\n/** @class */\nfunction (_super) {\n tslib_1.__extends(XHRTransport, _super);\n\n function XHRTransport() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @inheritDoc\n */\n\n\n XHRTransport.prototype.sendEvent = function (event) {\n return this._sendRequest(core_1.eventToSentryRequest(event, this._api), event);\n };\n /**\n * @inheritDoc\n */\n\n\n XHRTransport.prototype.sendSession = function (session) {\n return this._sendRequest(core_1.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\n\n XHRTransport.prototype._sendRequest = function (sentryRequest, originalPayload) {\n var _this = this;\n\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\n return this._buffer.add(new utils_1.SyncPromise(function (resolve, reject) {\n var request = new XMLHttpRequest();\n\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\n _this._handleResponse({\n requestType: sentryRequest.type,\n response: request,\n headers: headers,\n resolve: resolve,\n reject: reject\n });\n }\n };\n\n request.open('POST', sentryRequest.url);\n\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\n request.send(sentryRequest.body);\n }));\n };\n\n return XHRTransport;\n}(base_1.BaseTransport);\n\nexports.XHRTransport = XHRTransport;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar noop_1 = require(\"./transports/noop\");\n/**\n * This is the base implemention of a Backend.\n * @hidden\n */\n\n\nvar BaseBackend =\n/** @class */\nfunction () {\n /** Creates a new backend instance. */\n function BaseBackend(options) {\n this._options = options;\n\n if (!this._options.dsn) {\n utils_1.logger.warn('No DSN provided, backend will not do anything.');\n }\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\n\n BaseBackend.prototype.eventFromException = function (_exception, _hint) {\n throw new utils_1.SentryError('Backend has to implement `eventFromException` method');\n };\n /**\n * @inheritDoc\n */\n\n\n BaseBackend.prototype.eventFromMessage = function (_message, _level, _hint) {\n throw new utils_1.SentryError('Backend has to implement `eventFromMessage` method');\n };\n /**\n * @inheritDoc\n */\n\n\n BaseBackend.prototype.sendEvent = function (event) {\n void this._transport.sendEvent(event).then(null, function (reason) {\n utils_1.logger.error(\"Error while sending event: \" + reason);\n });\n };\n /**\n * @inheritDoc\n */\n\n\n BaseBackend.prototype.sendSession = function (session) {\n if (!this._transport.sendSession) {\n utils_1.logger.warn(\"Dropping session because custom transport doesn't implement sendSession\");\n return;\n }\n\n void this._transport.sendSession(session).then(null, function (reason) {\n utils_1.logger.error(\"Error while sending session: \" + reason);\n });\n };\n /**\n * @inheritDoc\n */\n\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\n\n BaseBackend.prototype._setupTransport = function () {\n return new noop_1.NoopTransport();\n };\n\n return BaseBackend;\n}();\n\nexports.BaseBackend = BaseBackend;","import React, { createElement } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { publicLoader } from \"./loader\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport { grabMatchParams } from \"./find-path\"\n\n// Renders page\nclass PageRenderer extends React.Component {\n render() {\n const props = {\n ...this.props,\n params: {\n ...grabMatchParams(this.props.location.pathname),\n ...this.props.pageResources.json.pageContext.__params,\n },\n pathContext: this.props.pageContext,\n }\n\n const [replacementElement] = apiRunner(`replaceComponentRenderer`, {\n props: this.props,\n loader: publicLoader,\n })\n\n const pageElement =\n replacementElement ||\n createElement(this.props.pageResources.component, {\n ...props,\n key: this.props.path || this.props.pageResources.page.path,\n })\n\n const wrappedPage = apiRunner(\n `wrapPageElement`,\n { element: pageElement, props },\n pageElement,\n ({ result }) => {\n return { element: result, props }\n }\n ).pop()\n\n return wrappedPage\n }\n}\n\nPageRenderer.propTypes = {\n location: PropTypes.object.isRequired,\n pageResources: PropTypes.object.isRequired,\n data: PropTypes.object,\n pageContext: PropTypes.object.isRequired,\n}\n\nexport default PageRenderer\n","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/** The status of an Span. */\n// eslint-disable-next-line import/export\n\nvar SpanStatus;\n\n(function (SpanStatus) {\n /** The operation completed successfully. */\n SpanStatus[\"Ok\"] = \"ok\";\n /** Deadline expired before operation could complete. */\n\n SpanStatus[\"DeadlineExceeded\"] = \"deadline_exceeded\";\n /** 401 Unauthorized (actually does mean unauthenticated according to RFC 7235) */\n\n SpanStatus[\"Unauthenticated\"] = \"unauthenticated\";\n /** 403 Forbidden */\n\n SpanStatus[\"PermissionDenied\"] = \"permission_denied\";\n /** 404 Not Found. Some requested entity (file or directory) was not found. */\n\n SpanStatus[\"NotFound\"] = \"not_found\";\n /** 429 Too Many Requests */\n\n SpanStatus[\"ResourceExhausted\"] = \"resource_exhausted\";\n /** Client specified an invalid argument. 4xx. */\n\n SpanStatus[\"InvalidArgument\"] = \"invalid_argument\";\n /** 501 Not Implemented */\n\n SpanStatus[\"Unimplemented\"] = \"unimplemented\";\n /** 503 Service Unavailable */\n\n SpanStatus[\"Unavailable\"] = \"unavailable\";\n /** Other/generic 5xx. */\n\n SpanStatus[\"InternalError\"] = \"internal_error\";\n /** Unknown. Any non-standard HTTP status code. */\n\n SpanStatus[\"UnknownError\"] = \"unknown_error\";\n /** The operation was cancelled (typically by the user). */\n\n SpanStatus[\"Cancelled\"] = \"cancelled\";\n /** Already exists (409) */\n\n SpanStatus[\"AlreadyExists\"] = \"already_exists\";\n /** Operation was rejected because the system is not in a state required for the operation's */\n\n SpanStatus[\"FailedPrecondition\"] = \"failed_precondition\";\n /** The operation was aborted, typically due to a concurrency issue. */\n\n SpanStatus[\"Aborted\"] = \"aborted\";\n /** Operation was attempted past the valid range. */\n\n SpanStatus[\"OutOfRange\"] = \"out_of_range\";\n /** Unrecoverable data loss or corruption */\n\n SpanStatus[\"DataLoss\"] = \"data_loss\";\n})(SpanStatus = exports.SpanStatus || (exports.SpanStatus = {})); // eslint-disable-next-line @typescript-eslint/no-namespace, import/export\n\n\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\n if (httpStatus >= 400 && httpStatus < 500) {\n switch (httpStatus) {\n case 401:\n return SpanStatus.Unauthenticated;\n\n case 403:\n return SpanStatus.PermissionDenied;\n\n case 404:\n return SpanStatus.NotFound;\n\n case 409:\n return SpanStatus.AlreadyExists;\n\n case 413:\n return SpanStatus.FailedPrecondition;\n\n case 429:\n return SpanStatus.ResourceExhausted;\n\n default:\n return SpanStatus.InvalidArgument;\n }\n }\n\n if (httpStatus >= 500 && httpStatus < 600) {\n switch (httpStatus) {\n case 501:\n return SpanStatus.Unimplemented;\n\n case 503:\n return SpanStatus.Unavailable;\n\n case 504:\n return SpanStatus.DeadlineExceeded;\n\n default:\n return SpanStatus.InternalError;\n }\n }\n\n return SpanStatus.UnknownError;\n }\n\n SpanStatus.fromHttpCode = fromHttpCode;\n})(SpanStatus = exports.SpanStatus || (exports.SpanStatus = {}));","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar globalhandlers_1 = require(\"./globalhandlers\");\n\nexports.GlobalHandlers = globalhandlers_1.GlobalHandlers;\n\nvar trycatch_1 = require(\"./trycatch\");\n\nexports.TryCatch = trycatch_1.TryCatch;\n\nvar breadcrumbs_1 = require(\"./breadcrumbs\");\n\nexports.Breadcrumbs = breadcrumbs_1.Breadcrumbs;\n\nvar linkederrors_1 = require(\"./linkederrors\");\n\nexports.LinkedErrors = linkederrors_1.LinkedErrors;\n\nvar useragent_1 = require(\"./useragent\");\n\nexports.UserAgent = useragent_1.UserAgent;","import * as React from 'react';\nexport default {\n React\n};","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","// 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 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');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\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 */\n\nfunction isError(wat) {\n switch (Object.prototype.toString.call(wat)) {\n case '[object Error]':\n return true;\n\n case '[object Exception]':\n return true;\n\n case '[object DOMException]':\n return true;\n\n default:\n return isInstanceOf(wat, Error);\n }\n}\n\nexports.isError = isError;\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 */\n\nfunction isErrorEvent(wat) {\n return Object.prototype.toString.call(wat) === '[object ErrorEvent]';\n}\n\nexports.isErrorEvent = isErrorEvent;\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 */\n\nfunction isDOMError(wat) {\n return Object.prototype.toString.call(wat) === '[object DOMError]';\n}\n\nexports.isDOMError = isDOMError;\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 */\n\nfunction isDOMException(wat) {\n return Object.prototype.toString.call(wat) === '[object DOMException]';\n}\n\nexports.isDOMException = isDOMException;\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 */\n\nfunction isString(wat) {\n return Object.prototype.toString.call(wat) === '[object String]';\n}\n\nexports.isString = isString;\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 */\n\nfunction isPrimitive(wat) {\n return wat === null || typeof wat !== 'object' && typeof wat !== 'function';\n}\n\nexports.isPrimitive = isPrimitive;\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 */\n\nfunction isPlainObject(wat) {\n return Object.prototype.toString.call(wat) === '[object Object]';\n}\n\nexports.isPlainObject = isPlainObject;\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 */\n\nfunction isEvent(wat) {\n return typeof Event !== 'undefined' && isInstanceOf(wat, Event);\n}\n\nexports.isEvent = isEvent;\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 */\n\nfunction isElement(wat) {\n return typeof Element !== 'undefined' && isInstanceOf(wat, Element);\n}\n\nexports.isElement = isElement;\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 */\n\nfunction isRegExp(wat) {\n return Object.prototype.toString.call(wat) === '[object RegExp]';\n}\n\nexports.isRegExp = isRegExp;\n/**\n * Checks whether given value has a then function.\n * @param wat A value to be checked.\n */\n\nfunction 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\nexports.isThenable = isThenable;\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 */\n\nfunction isSyntheticEvent(wat) {\n return isPlainObject(wat) && 'nativeEvent' in wat && 'preventDefault' in wat && 'stopPropagation' in wat;\n}\n\nexports.isSyntheticEvent = isSyntheticEvent;\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 */\n\nfunction isInstanceOf(wat, base) {\n try {\n return wat instanceof base;\n } catch (_e) {\n return false;\n }\n}\n\nexports.isInstanceOf = isInstanceOf;","// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flat');\n","import invariant from \"invariant\";\n\n////////////////////////////////////////////////////////////////////////////////\n// startsWith(string, search) - Check if `string` starts with `search`\nvar startsWith = function startsWith(string, search) {\n return string.substr(0, search.length) === search;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// pick(routes, uri)\n//\n// Ranks and picks the best route to match. Each segment gets the highest\n// amount of points, then the type of segment gets an additional amount of\n// points where\n//\n// static > dynamic > splat > root\n//\n// This way we don't have to worry about the order of our routes, let the\n// computers do it.\n//\n// A route looks like this\n//\n// { path, default, value }\n//\n// And a returned match looks like:\n//\n// { route, params, uri }\n//\n// I know, I should use TypeScript not comments for these types.\nvar pick = function pick(routes, uri) {\n var match = void 0;\n var default_ = void 0;\n\n var _uri$split = uri.split(\"?\"),\n uriPathname = _uri$split[0];\n\n var uriSegments = segmentize(uriPathname);\n var isRootUri = uriSegments[0] === \"\";\n var ranked = rankRoutes(routes);\n\n for (var i = 0, l = ranked.length; i < l; i++) {\n var missed = false;\n var route = ranked[i].route;\n\n if (route.default) {\n default_ = {\n route: route,\n params: {},\n uri: uri\n };\n continue;\n }\n\n var routeSegments = segmentize(route.path);\n var params = {};\n var max = Math.max(uriSegments.length, routeSegments.length);\n var index = 0;\n\n for (; index < max; index++) {\n var routeSegment = routeSegments[index];\n var uriSegment = uriSegments[index];\n\n if (isSplat(routeSegment)) {\n // Hit a splat, just grab the rest, and return a match\n // uri: /files/documents/work\n // route: /files/*\n var param = routeSegment.slice(1) || \"*\";\n params[param] = uriSegments.slice(index).map(decodeURIComponent).join(\"/\");\n break;\n }\n\n if (uriSegment === undefined) {\n // URI is shorter than the route, no match\n // uri: /users\n // route: /users/:userId\n missed = true;\n break;\n }\n\n var dynamicMatch = paramRe.exec(routeSegment);\n\n if (dynamicMatch && !isRootUri) {\n var matchIsNotReserved = reservedNames.indexOf(dynamicMatch[1]) === -1;\n !matchIsNotReserved ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" dynamic segment \\\"\" + dynamicMatch[1] + \"\\\" is a reserved name. Please use a different name in path \\\"\" + route.path + \"\\\".\") : invariant(false) : void 0;\n var value = decodeURIComponent(uriSegment);\n params[dynamicMatch[1]] = value;\n } else if (routeSegment !== uriSegment) {\n // Current segments don't match, not dynamic, not splat, so no match\n // uri: /users/123/settings\n // route: /users/:id/profile\n missed = true;\n break;\n }\n }\n\n if (!missed) {\n match = {\n route: route,\n params: params,\n uri: \"/\" + uriSegments.slice(0, index).join(\"/\")\n };\n break;\n }\n }\n\n return match || default_ || null;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// match(path, uri) - Matches just one path to a uri, also lol\nvar match = function match(path, uri) {\n return pick([{ path: path }], uri);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// resolve(to, basepath)\n//\n// Resolves URIs as though every path is a directory, no files. Relative URIs\n// in the browser can feel awkward because not only can you be \"in a directory\"\n// you can be \"at a file\", too. For example\n//\n// browserSpecResolve('foo', '/bar/') => /bar/foo\n// browserSpecResolve('foo', '/bar') => /foo\n//\n// But on the command line of a file system, it's not as complicated, you can't\n// `cd` from a file, only directories. This way, links have to know less about\n// their current path. To go deeper you can do this:\n//\n// \n// // instead of\n// \n//\n// Just like `cd`, if you want to go deeper from the command line, you do this:\n//\n// cd deeper\n// # not\n// cd $(pwd)/deeper\n//\n// By treating every path as a directory, linking to relative paths should\n// require less contextual information and (fingers crossed) be more intuitive.\nvar resolve = function resolve(to, base) {\n // /foo/bar, /baz/qux => /foo/bar\n if (startsWith(to, \"/\")) {\n return to;\n }\n\n var _to$split = to.split(\"?\"),\n toPathname = _to$split[0],\n toQuery = _to$split[1];\n\n var _base$split = base.split(\"?\"),\n basePathname = _base$split[0];\n\n var toSegments = segmentize(toPathname);\n var baseSegments = segmentize(basePathname);\n\n // ?a=b, /users?b=c => /users?a=b\n if (toSegments[0] === \"\") {\n return addQuery(basePathname, toQuery);\n }\n\n // profile, /users/789 => /users/789/profile\n if (!startsWith(toSegments[0], \".\")) {\n var pathname = baseSegments.concat(toSegments).join(\"/\");\n return addQuery((basePathname === \"/\" ? \"\" : \"/\") + pathname, toQuery);\n }\n\n // ./ /users/123 => /users/123\n // ../ /users/123 => /users\n // ../.. /users/123 => /\n // ../../one /a/b/c/d => /a/b/one\n // .././one /a/b/c/d => /a/b/c/one\n var allSegments = baseSegments.concat(toSegments);\n var segments = [];\n for (var i = 0, l = allSegments.length; i < l; i++) {\n var segment = allSegments[i];\n if (segment === \"..\") segments.pop();else if (segment !== \".\") segments.push(segment);\n }\n\n return addQuery(\"/\" + segments.join(\"/\"), toQuery);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// insertParams(path, params)\n\nvar insertParams = function insertParams(path, params) {\n var _path$split = path.split(\"?\"),\n pathBase = _path$split[0],\n _path$split$ = _path$split[1],\n query = _path$split$ === undefined ? \"\" : _path$split$;\n\n var segments = segmentize(pathBase);\n var constructedPath = \"/\" + segments.map(function (segment) {\n var match = paramRe.exec(segment);\n return match ? params[match[1]] : segment;\n }).join(\"/\");\n var _params$location = params.location;\n _params$location = _params$location === undefined ? {} : _params$location;\n var _params$location$sear = _params$location.search,\n search = _params$location$sear === undefined ? \"\" : _params$location$sear;\n\n var searchSplit = search.split(\"?\")[1] || \"\";\n constructedPath = addQuery(constructedPath, query, searchSplit);\n return constructedPath;\n};\n\nvar validateRedirect = function validateRedirect(from, to) {\n var filter = function filter(segment) {\n return isDynamic(segment);\n };\n var fromString = segmentize(from).filter(filter).sort().join(\"/\");\n var toString = segmentize(to).filter(filter).sort().join(\"/\");\n return fromString === toString;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Junk\nvar paramRe = /^:(.+)/;\n\nvar SEGMENT_POINTS = 4;\nvar STATIC_POINTS = 3;\nvar DYNAMIC_POINTS = 2;\nvar SPLAT_PENALTY = 1;\nvar ROOT_POINTS = 1;\n\nvar isRootSegment = function isRootSegment(segment) {\n return segment === \"\";\n};\nvar isDynamic = function isDynamic(segment) {\n return paramRe.test(segment);\n};\nvar isSplat = function isSplat(segment) {\n return segment && segment[0] === \"*\";\n};\n\nvar rankRoute = function rankRoute(route, index) {\n var score = route.default ? 0 : segmentize(route.path).reduce(function (score, segment) {\n score += SEGMENT_POINTS;\n if (isRootSegment(segment)) score += ROOT_POINTS;else if (isDynamic(segment)) score += DYNAMIC_POINTS;else if (isSplat(segment)) score -= SEGMENT_POINTS + SPLAT_PENALTY;else score += STATIC_POINTS;\n return score;\n }, 0);\n return { route: route, score: score, index: index };\n};\n\nvar rankRoutes = function rankRoutes(routes) {\n return routes.map(rankRoute).sort(function (a, b) {\n return a.score < b.score ? 1 : a.score > b.score ? -1 : a.index - b.index;\n });\n};\n\nvar segmentize = function segmentize(uri) {\n return uri\n // strip starting/ending slashes\n .replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\n};\n\nvar addQuery = function addQuery(pathname) {\n for (var _len = arguments.length, query = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n query[_key - 1] = arguments[_key];\n }\n\n query = query.filter(function (q) {\n return q && q.length > 0;\n });\n return pathname + (query && query.length > 0 ? \"?\" + query.join(\"&\") : \"\");\n};\n\nvar reservedNames = [\"uri\", \"path\"];\n\n/**\n * Shallow compares two objects.\n * @param {Object} obj1 The first object to compare.\n * @param {Object} obj2 The second object to compare.\n */\nvar shallowCompare = function shallowCompare(obj1, obj2) {\n var obj1Keys = Object.keys(obj1);\n return obj1Keys.length === Object.keys(obj2).length && obj1Keys.every(function (key) {\n return obj2.hasOwnProperty(key) && obj1[key] === obj2[key];\n });\n};\n\n////////////////////////////////////////////////////////////////////////////////\nexport { startsWith, pick, match, resolve, insertParams, validateRedirect, shallowCompare };","module.exports = [{\n plugin: require('../node_modules/gatsby-plugin-google-gtag/gatsby-browser.js'),\n options: {\"plugins\":[],\"trackingIds\":[\"UA-132869296-1\"],\"gtagConfig\":{\"anonymize_ip\":true,\"cookie_expires\":0},\"pluginConfig\":{\"head\":false,\"respectDNT\":true}},\n },{\n plugin: require('../node_modules/gatsby-plugin-manifest/gatsby-browser.js'),\n options: {\"plugins\":[],\"name\":\"gatsby-starter-default\",\"short_name\":\"starter\",\"start_url\":\"/\",\"background_color\":\"#007bff\",\"theme_color\":\"#fff\",\"theme_color2\":\"#007bff12\",\"display\":\"minimal-ui\",\"icon\":\"/opt/buildhome/repo/static/images/dptlogo.png\",\"cache_busting_mode\":\"query\",\"include_favicon\":true,\"legacy\":true,\"theme_color_in_head\":true,\"cacheDigest\":\"0ae0969b71012bf5c19975475ec69e56\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-catch-links/gatsby-browser.js'),\n options: {\"plugins\":[]},\n },{\n plugin: require('../node_modules/gatsby-plugin-nprogress/gatsby-browser.js'),\n options: {\"plugins\":[],\"color\":\"blue\",\"showSpinner\":true},\n },{\n plugin: require('../node_modules/gatsby-plugin-mdx/gatsby-browser.js'),\n options: {\"plugins\":[],\"extensions\":[\".mdx\"],\"gatsbyRemarkPlugins\":[{\"resolve\":\"gatsby-remark-images\",\"options\":{\"maxWidth\":590}},{\"resolve\":\"gatsby-remark-responsive-iframe\",\"options\":{\"wrapperStyle\":\"margin-bottom: 1.0725rem\"}},\"gatsby-remark-prismjs\",\"gatsby-remark-copy-linked-files\",\"gatsby-remark-smartypants\"],\"defaultLayouts\":{},\"lessBabel\":false,\"remarkPlugins\":[],\"rehypePlugins\":[],\"mediaTypes\":[\"text/markdown\",\"text/x-markdown\"],\"root\":\"/opt/buildhome/repo\"},\n },{\n plugin: require('../gatsby-browser.js'),\n options: {\"plugins\":[]},\n }]\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.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","/*!\n * domready (c) Dustin Diaz 2014 - License MIT\n * ie10 fix - Mikael Kristiansson 2019\n */\n!(function(name, definition) {\n if (typeof module != \"undefined\") module.exports = definition();\n else if (typeof define == \"function\" && typeof define.amd == \"object\")\n define(definition);\n else this[name] = definition();\n})(\"domready\", function() {\n var ie10 = false;\n if (navigator.appVersion.indexOf(\"MSIE 10\") !== -1) {\n ie10 = true;\n }\n\n var fns = [],\n listener,\n doc = typeof document === \"object\" && document,\n hack = ie10\n ? doc.documentElement.doScroll(\"left\")\n : doc.documentElement.doScroll,\n domContentLoaded = \"DOMContentLoaded\",\n loaded =\n doc && (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState);\n\n if (!loaded && doc)\n doc.addEventListener(\n domContentLoaded,\n (listener = function() {\n doc.removeEventListener(domContentLoaded, listener);\n loaded = 1;\n while ((listener = fns.shift())) listener();\n })\n );\n\n return function(fn) {\n loaded ? setTimeout(fn, 0) : fns.push(fn);\n };\n});\n","/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress\n * @license MIT */\n;\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define(factory);\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.NProgress = factory();\n }\n})(this, function () {\n var NProgress = {};\n NProgress.version = '0.2.0';\n var Settings = NProgress.settings = {\n minimum: 0.08,\n easing: 'ease',\n positionUsing: '',\n speed: 200,\n trickle: true,\n trickleRate: 0.02,\n trickleSpeed: 800,\n showSpinner: true,\n barSelector: '[role=\"bar\"]',\n spinnerSelector: '[role=\"spinner\"]',\n parent: 'body',\n template: '
'\n };\n /**\n * Updates configuration.\n *\n * NProgress.configure({\n * minimum: 0.1\n * });\n */\n\n NProgress.configure = function (options) {\n var key, value;\n\n for (key in options) {\n value = options[key];\n if (value !== undefined && options.hasOwnProperty(key)) Settings[key] = value;\n }\n\n return this;\n };\n /**\n * Last number.\n */\n\n\n NProgress.status = null;\n /**\n * Sets the progress bar status, where `n` is a number from `0.0` to `1.0`.\n *\n * NProgress.set(0.4);\n * NProgress.set(1.0);\n */\n\n NProgress.set = function (n) {\n var started = NProgress.isStarted();\n n = clamp(n, Settings.minimum, 1);\n NProgress.status = n === 1 ? null : n;\n var progress = NProgress.render(!started),\n bar = progress.querySelector(Settings.barSelector),\n speed = Settings.speed,\n ease = Settings.easing;\n progress.offsetWidth;\n /* Repaint */\n\n queue(function (next) {\n // Set positionUsing if it hasn't already been set\n if (Settings.positionUsing === '') Settings.positionUsing = NProgress.getPositioningCSS(); // Add transition\n\n css(bar, barPositionCSS(n, speed, ease));\n\n if (n === 1) {\n // Fade out\n css(progress, {\n transition: 'none',\n opacity: 1\n });\n progress.offsetWidth;\n /* Repaint */\n\n setTimeout(function () {\n css(progress, {\n transition: 'all ' + speed + 'ms linear',\n opacity: 0\n });\n setTimeout(function () {\n NProgress.remove();\n next();\n }, speed);\n }, speed);\n } else {\n setTimeout(next, speed);\n }\n });\n return this;\n };\n\n NProgress.isStarted = function () {\n return typeof NProgress.status === 'number';\n };\n /**\n * Shows the progress bar.\n * This is the same as setting the status to 0%, except that it doesn't go backwards.\n *\n * NProgress.start();\n *\n */\n\n\n NProgress.start = function () {\n if (!NProgress.status) NProgress.set(0);\n\n var work = function work() {\n setTimeout(function () {\n if (!NProgress.status) return;\n NProgress.trickle();\n work();\n }, Settings.trickleSpeed);\n };\n\n if (Settings.trickle) work();\n return this;\n };\n /**\n * Hides the progress bar.\n * This is the *sort of* the same as setting the status to 100%, with the\n * difference being `done()` makes some placebo effect of some realistic motion.\n *\n * NProgress.done();\n *\n * If `true` is passed, it will show the progress bar even if its hidden.\n *\n * NProgress.done(true);\n */\n\n\n NProgress.done = function (force) {\n if (!force && !NProgress.status) return this;\n return NProgress.inc(0.3 + 0.5 * Math.random()).set(1);\n };\n /**\n * Increments by a random amount.\n */\n\n\n NProgress.inc = function (amount) {\n var n = NProgress.status;\n\n if (!n) {\n return NProgress.start();\n } else {\n if (typeof amount !== 'number') {\n amount = (1 - n) * clamp(Math.random() * n, 0.1, 0.95);\n }\n\n n = clamp(n + amount, 0, 0.994);\n return NProgress.set(n);\n }\n };\n\n NProgress.trickle = function () {\n return NProgress.inc(Math.random() * Settings.trickleRate);\n };\n /**\n * Waits for all supplied jQuery promises and\n * increases the progress as the promises resolve.\n *\n * @param $promise jQUery Promise\n */\n\n\n (function () {\n var initial = 0,\n current = 0;\n\n NProgress.promise = function ($promise) {\n if (!$promise || $promise.state() === \"resolved\") {\n return this;\n }\n\n if (current === 0) {\n NProgress.start();\n }\n\n initial++;\n current++;\n $promise.always(function () {\n current--;\n\n if (current === 0) {\n initial = 0;\n NProgress.done();\n } else {\n NProgress.set((initial - current) / initial);\n }\n });\n return this;\n };\n })();\n /**\n * (Internal) renders the progress bar markup based on the `template`\n * setting.\n */\n\n\n NProgress.render = function (fromStart) {\n if (NProgress.isRendered()) return document.getElementById('nprogress');\n addClass(document.documentElement, 'nprogress-busy');\n var progress = document.createElement('div');\n progress.id = 'nprogress';\n progress.innerHTML = Settings.template;\n var bar = progress.querySelector(Settings.barSelector),\n perc = fromStart ? '-100' : toBarPerc(NProgress.status || 0),\n parent = document.querySelector(Settings.parent),\n spinner;\n css(bar, {\n transition: 'all 0 linear',\n transform: 'translate3d(' + perc + '%,0,0)'\n });\n\n if (!Settings.showSpinner) {\n spinner = progress.querySelector(Settings.spinnerSelector);\n spinner && removeElement(spinner);\n }\n\n if (parent != document.body) {\n addClass(parent, 'nprogress-custom-parent');\n }\n\n parent.appendChild(progress);\n return progress;\n };\n /**\n * Removes the element. Opposite of render().\n */\n\n\n NProgress.remove = function () {\n removeClass(document.documentElement, 'nprogress-busy');\n removeClass(document.querySelector(Settings.parent), 'nprogress-custom-parent');\n var progress = document.getElementById('nprogress');\n progress && removeElement(progress);\n };\n /**\n * Checks if the progress bar is rendered.\n */\n\n\n NProgress.isRendered = function () {\n return !!document.getElementById('nprogress');\n };\n /**\n * Determine which positioning CSS rule to use.\n */\n\n\n NProgress.getPositioningCSS = function () {\n // Sniff on document.body.style\n var bodyStyle = document.body.style; // Sniff prefixes\n\n var vendorPrefix = 'WebkitTransform' in bodyStyle ? 'Webkit' : 'MozTransform' in bodyStyle ? 'Moz' : 'msTransform' in bodyStyle ? 'ms' : 'OTransform' in bodyStyle ? 'O' : '';\n\n if (vendorPrefix + 'Perspective' in bodyStyle) {\n // Modern browsers with 3D support, e.g. Webkit, IE10\n return 'translate3d';\n } else if (vendorPrefix + 'Transform' in bodyStyle) {\n // Browsers without 3D support, e.g. IE9\n return 'translate';\n } else {\n // Browsers without translate() support, e.g. IE7-8\n return 'margin';\n }\n };\n /**\n * Helpers\n */\n\n\n function clamp(n, min, max) {\n if (n < min) return min;\n if (n > max) return max;\n return n;\n }\n /**\n * (Internal) converts a percentage (`0..1`) to a bar translateX\n * percentage (`-100%..0%`).\n */\n\n\n function toBarPerc(n) {\n return (-1 + n) * 100;\n }\n /**\n * (Internal) returns the correct CSS for changing the bar's\n * position given an n percentage, and speed and ease from Settings\n */\n\n\n function barPositionCSS(n, speed, ease) {\n var barCSS;\n\n if (Settings.positionUsing === 'translate3d') {\n barCSS = {\n transform: 'translate3d(' + toBarPerc(n) + '%,0,0)'\n };\n } else if (Settings.positionUsing === 'translate') {\n barCSS = {\n transform: 'translate(' + toBarPerc(n) + '%,0)'\n };\n } else {\n barCSS = {\n 'margin-left': toBarPerc(n) + '%'\n };\n }\n\n barCSS.transition = 'all ' + speed + 'ms ' + ease;\n return barCSS;\n }\n /**\n * (Internal) Queues a function to be executed.\n */\n\n\n var queue = function () {\n var pending = [];\n\n function next() {\n var fn = pending.shift();\n\n if (fn) {\n fn(next);\n }\n }\n\n return function (fn) {\n pending.push(fn);\n if (pending.length == 1) next();\n };\n }();\n /**\n * (Internal) Applies css properties to an element, similar to the jQuery \n * css method.\n *\n * While this helper does assist with vendor prefixed property names, it \n * does not perform any manipulation of values prior to setting styles.\n */\n\n\n var css = function () {\n var cssPrefixes = ['Webkit', 'O', 'Moz', 'ms'],\n cssProps = {};\n\n function camelCase(string) {\n return string.replace(/^-ms-/, 'ms-').replace(/-([\\da-z])/gi, function (match, letter) {\n return letter.toUpperCase();\n });\n }\n\n function getVendorProp(name) {\n var style = document.body.style;\n if (name in style) return name;\n var i = cssPrefixes.length,\n capName = name.charAt(0).toUpperCase() + name.slice(1),\n vendorName;\n\n while (i--) {\n vendorName = cssPrefixes[i] + capName;\n if (vendorName in style) return vendorName;\n }\n\n return name;\n }\n\n function getStyleProp(name) {\n name = camelCase(name);\n return cssProps[name] || (cssProps[name] = getVendorProp(name));\n }\n\n function applyCss(element, prop, value) {\n prop = getStyleProp(prop);\n element.style[prop] = value;\n }\n\n return function (element, properties) {\n var args = arguments,\n prop,\n value;\n\n if (args.length == 2) {\n for (prop in properties) {\n value = properties[prop];\n if (value !== undefined && properties.hasOwnProperty(prop)) applyCss(element, prop, value);\n }\n } else {\n applyCss(element, args[1], args[2]);\n }\n };\n }();\n /**\n * (Internal) Determines if an element or space separated list of class names contains a class name.\n */\n\n\n function hasClass(element, name) {\n var list = typeof element == 'string' ? element : classList(element);\n return list.indexOf(' ' + name + ' ') >= 0;\n }\n /**\n * (Internal) Adds a class to an element.\n */\n\n\n function addClass(element, name) {\n var oldList = classList(element),\n newList = oldList + name;\n if (hasClass(oldList, name)) return; // Trim the opening space.\n\n element.className = newList.substring(1);\n }\n /**\n * (Internal) Removes a class from an element.\n */\n\n\n function removeClass(element, name) {\n var oldList = classList(element),\n newList;\n if (!hasClass(element, name)) return; // Replace the class name.\n\n newList = oldList.replace(' ' + name + ' ', ' '); // Trim the opening and closing spaces.\n\n element.className = newList.substring(1, newList.length - 1);\n }\n /**\n * (Internal) Gets a space separated list of the class names on the element. \n * The list is wrapped with a single space on each end to facilitate finding \n * matches within the list.\n */\n\n\n function classList(element) {\n return (' ' + (element.className || '') + ' ').replace(/\\s+/gi, ' ');\n }\n /**\n * (Internal) Removes an element from the DOM.\n */\n\n\n function removeElement(element) {\n element && element.parentNode && element.parentNode.removeChild(element);\n }\n\n return NProgress;\n});","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar global = utils_1.getGlobalObject();\n/**\n * Default function implementing pageload and navigation transactions\n */\n\nfunction instrumentRoutingWithDefaults(customStartTransaction, startTransactionOnPageLoad, startTransactionOnLocationChange) {\n if (startTransactionOnPageLoad === void 0) {\n startTransactionOnPageLoad = true;\n }\n\n if (startTransactionOnLocationChange === void 0) {\n startTransactionOnLocationChange = true;\n }\n\n if (!global || !global.location) {\n utils_1.logger.warn('Could not initialize routing instrumentation due to invalid location');\n return;\n }\n\n var startingUrl = global.location.href;\n var activeTransaction;\n\n if (startTransactionOnPageLoad) {\n activeTransaction = customStartTransaction({\n name: global.location.pathname,\n op: 'pageload'\n });\n }\n\n if (startTransactionOnLocationChange) {\n utils_1.addInstrumentationHandler({\n callback: function callback(_a) {\n var to = _a.to,\n 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\n if (from === undefined && startingUrl && startingUrl.indexOf(to) !== -1) {\n startingUrl = undefined;\n return;\n }\n\n if (from !== to) {\n startingUrl = undefined;\n\n if (activeTransaction) {\n utils_1.logger.log(\"[Tracing] Finishing current transaction with op: \" + activeTransaction.op); // If there's an open transaction on the scope, we need to finish it before creating an new one.\n\n activeTransaction.finish();\n }\n\n activeTransaction = customStartTransaction({\n name: global.location.pathname,\n op: 'navigation'\n });\n }\n },\n type: 'history'\n });\n }\n}\n\nexports.instrumentRoutingWithDefaults = instrumentRoutingWithDefaults;","import { apiRunner } from \"./api-runner-browser\"\n\nif (\n window.location.protocol !== `https:` &&\n window.location.hostname !== `localhost`\n) {\n console.error(\n `Service workers can only be used over HTTPS, or on localhost for development`\n )\n} else if (`serviceWorker` in navigator) {\n navigator.serviceWorker\n .register(`${__BASE_PATH__}/sw.js`)\n .then(function (reg) {\n reg.addEventListener(`updatefound`, () => {\n apiRunner(`onServiceWorkerUpdateFound`, { serviceWorker: reg })\n // The updatefound event implies that reg.installing is set; see\n // https://w3c.github.io/ServiceWorker/#service-worker-registration-updatefound-event\n const installingWorker = reg.installing\n console.log(`installingWorker`, installingWorker)\n installingWorker.addEventListener(`statechange`, () => {\n switch (installingWorker.state) {\n case `installed`:\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and the fresh content will\n // have been added to the cache.\n\n // We set a flag so Gatsby Link knows to refresh the page on next navigation attempt\n window.___swUpdated = true\n // We call the onServiceWorkerUpdateReady API so users can show update prompts.\n apiRunner(`onServiceWorkerUpdateReady`, { serviceWorker: reg })\n\n // If resources failed for the current page, reload.\n if (window.___failedResources) {\n console.log(`resources failed, SW updated - reloading`)\n window.location.reload()\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a \"Content is cached for offline use.\" message.\n console.log(`Content is now available offline!`)\n\n // Post to service worker that install is complete.\n // Delay to allow time for the event listener to be added --\n // otherwise fetch is called too soon and resources aren't cached.\n apiRunner(`onServiceWorkerInstalled`, { serviceWorker: reg })\n }\n break\n\n case `redundant`:\n console.error(`The installing service worker became redundant.`)\n apiRunner(`onServiceWorkerRedundant`, { serviceWorker: reg })\n break\n\n case `activated`:\n apiRunner(`onServiceWorkerActive`, { serviceWorker: reg })\n break\n }\n })\n })\n })\n .catch(function (e) {\n console.error(`Error during service worker registration:`, e)\n })\n}\n","// prefer default export if available\nconst preferDefault = m => (m && m.default) || m\n\nexports.components = {\n \"component---plugins-gatsby-source-dpt-corp-www-src-pages-howitworks-js\": () => import(\"./../../../plugins/gatsby-source-dpt-corp-www/src/pages/howitworks.js\" /* webpackChunkName: \"component---plugins-gatsby-source-dpt-corp-www-src-pages-howitworks-js\" */),\n \"component---plugins-gatsby-source-dpt-corp-www-src-pages-solutions-business-js\": () => import(\"./../../../plugins/gatsby-source-dpt-corp-www/src/pages/solutions/business.js\" /* webpackChunkName: \"component---plugins-gatsby-source-dpt-corp-www-src-pages-solutions-business-js\" */),\n \"component---plugins-gatsby-source-dpt-corp-www-src-pages-solutions-partners-js\": () => import(\"./../../../plugins/gatsby-source-dpt-corp-www/src/pages/solutions/partners.js\" /* webpackChunkName: \"component---plugins-gatsby-source-dpt-corp-www-src-pages-solutions-partners-js\" */),\n \"component---plugins-gatsby-source-dpt-corp-www-src-pages-solutions-people-js\": () => import(\"./../../../plugins/gatsby-source-dpt-corp-www/src/pages/solutions/people.js\" /* webpackChunkName: \"component---plugins-gatsby-source-dpt-corp-www-src-pages-solutions-people-js\" */),\n \"component---plugins-gatsby-source-dpt-corp-www-src-pages-solutions-providers-js\": () => import(\"./../../../plugins/gatsby-source-dpt-corp-www/src/pages/solutions/providers.js\" /* webpackChunkName: \"component---plugins-gatsby-source-dpt-corp-www-src-pages-solutions-providers-js\" */),\n \"component---plugins-gatsby-source-dpt-corp-www-src-pages-solutions-startups-js\": () => import(\"./../../../plugins/gatsby-source-dpt-corp-www/src/pages/solutions/startups.js\" /* webpackChunkName: \"component---plugins-gatsby-source-dpt-corp-www-src-pages-solutions-startups-js\" */),\n \"component---src-pages-404-js\": () => import(\"./../../../src/pages/404.js\" /* webpackChunkName: \"component---src-pages-404-js\" */),\n \"component---src-pages-about-js\": () => import(\"./../../../src/pages/about.js\" /* webpackChunkName: \"component---src-pages-about-js\" */),\n \"component---src-pages-contact-js\": () => import(\"./../../../src/pages/contact.js\" /* webpackChunkName: \"component---src-pages-contact-js\" */),\n \"component---src-pages-index-js\": () => import(\"./../../../src/pages/index.js\" /* webpackChunkName: \"component---src-pages-index-js\" */),\n \"component---src-pages-lets-talk-index-js\": () => import(\"./../../../src/pages/lets-talk/index.js\" /* webpackChunkName: \"component---src-pages-lets-talk-index-js\" */),\n \"component---src-pages-lets-talk-partners-js\": () => import(\"./../../../src/pages/lets-talk/partners.js\" /* webpackChunkName: \"component---src-pages-lets-talk-partners-js\" */),\n \"component---src-pages-lets-talk-providers-js\": () => import(\"./../../../src/pages/lets-talk/providers.js\" /* webpackChunkName: \"component---src-pages-lets-talk-providers-js\" */),\n \"component---src-pages-privacy-js\": () => import(\"./../../../src/pages/privacy.js\" /* webpackChunkName: \"component---src-pages-privacy-js\" */),\n \"component---src-pages-terms-js\": () => import(\"./../../../src/pages/terms.js\" /* webpackChunkName: \"component---src-pages-terms-js\" */),\n \"component---src-pages-what-js\": () => import(\"./../../../src/pages/what.js\" /* webpackChunkName: \"component---src-pages-what-js\" */),\n \"component---src-pages-why-js\": () => import(\"./../../../src/pages/why.js\" /* webpackChunkName: \"component---src-pages-why-js\" */)\n}\n\n","/*\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 */\nObject.defineProperty(exports, \"__esModule\", {\n value: true\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 */\n\nexports.observe = function (type, callback) {\n try {\n if (PerformanceObserver.supportedEntryTypes.includes(type)) {\n var po = new PerformanceObserver(function (l) {\n return l.getEntries().map(callback);\n });\n po.observe({\n type: type,\n buffered: true\n });\n return po;\n }\n } catch (e) {// Do nothing.\n }\n\n return;\n};","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar core_1 = require(\"@sentry/core\");\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar client_1 = require(\"./client\");\n\nvar helpers_1 = require(\"./helpers\");\n\nvar integrations_1 = require(\"./integrations\");\n\nexports.defaultIntegrations = [new core_1.Integrations.InboundFilters(), new core_1.Integrations.FunctionToString(), new integrations_1.TryCatch(), new integrations_1.Breadcrumbs(), new integrations_1.GlobalHandlers(), new integrations_1.LinkedErrors(), new integrations_1.UserAgent()];\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 */\n\nfunction init(options) {\n if (options === void 0) {\n options = {};\n }\n\n if (options.defaultIntegrations === undefined) {\n options.defaultIntegrations = exports.defaultIntegrations;\n }\n\n if (options.release === undefined) {\n var window_1 = utils_1.getGlobalObject(); // This supports the variable that sentry-webpack-plugin injects\n\n if (window_1.SENTRY_RELEASE && window_1.SENTRY_RELEASE.id) {\n options.release = window_1.SENTRY_RELEASE.id;\n }\n }\n\n if (options.autoSessionTracking === undefined) {\n options.autoSessionTracking = true;\n }\n\n core_1.initAndBind(client_1.BrowserClient, options);\n\n if (options.autoSessionTracking) {\n startSessionTracking();\n }\n}\n\nexports.init = init;\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 */\n\nfunction showReportDialog(options) {\n if (options === void 0) {\n options = {};\n }\n\n if (!options.eventId) {\n options.eventId = core_1.getCurrentHub().lastEventId();\n }\n\n var client = core_1.getCurrentHub().getClient();\n\n if (client) {\n client.showReportDialog(options);\n }\n}\n\nexports.showReportDialog = showReportDialog;\n/**\n * This is the getter for lastEventId.\n *\n * @returns The last event id of a captured event.\n */\n\nfunction lastEventId() {\n return core_1.getCurrentHub().lastEventId();\n}\n\nexports.lastEventId = lastEventId;\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\n\nfunction forceLoad() {// Noop\n}\n\nexports.forceLoad = forceLoad;\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\n\nfunction onLoad(callback) {\n callback();\n}\n\nexports.onLoad = onLoad;\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 */\n\nfunction flush(timeout) {\n var client = core_1.getCurrentHub().getClient();\n\n if (client) {\n return client.flush(timeout);\n }\n\n return utils_1.SyncPromise.reject(false);\n}\n\nexports.flush = flush;\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 */\n\nfunction close(timeout) {\n var client = core_1.getCurrentHub().getClient();\n\n if (client) {\n return client.close(timeout);\n }\n\n return utils_1.SyncPromise.reject(false);\n}\n\nexports.close = close;\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\n\nfunction wrap(fn) {\n return helpers_1.wrap(fn)();\n}\n\nexports.wrap = wrap;\n/**\n * Enable automatic Session Tracking for the initial page load.\n */\n\nfunction startSessionTracking() {\n var window = utils_1.getGlobalObject();\n var document = window.document;\n\n if (typeof document === 'undefined') {\n utils_1.logger.warn('Session tracking in non-browser environment with @sentry/browser is not supported.');\n return;\n }\n\n var hub = core_1.getCurrentHub(); // The only way for this to be false is for there to be a version mismatch between @sentry/browser (>= 6.0.0) and\n // @sentry/hub (< 5.27.0). In the simple case, there won't ever be such a mismatch, because the two packages are\n // pinned at the same version in package.json, but there are edge cases where it's possible. See\n // https://github.com/getsentry/sentry-javascript/issues/3207 and\n // https://github.com/getsentry/sentry-javascript/issues/3234 and\n // https://github.com/getsentry/sentry-javascript/issues/3278.\n\n if (typeof hub.startSession !== 'function' || typeof hub.captureSession !== 'function') {\n return;\n } // The session duration for browser sessions does not track a meaningful\n // concept that can be used as a metric.\n // Automatically captured sessions are akin to page views, and thus we\n // discard their duration.\n\n\n hub.startSession({\n ignoreDuration: true\n });\n hub.captureSession(); // We want to create a session for every navigation as well\n\n utils_1.addInstrumentationHandler({\n callback: function callback(_a) {\n var from = _a.from,\n to = _a.to; // Don't create an additional session for the initial route or if the location did not change\n\n if (from === undefined || from === to) {\n return;\n }\n\n hub.startSession({\n ignoreDuration: true\n });\n hub.captureSession();\n },\n type: 'history'\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.es/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","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","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar hub_1 = require(\"@sentry/hub\");\n\nexports.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 */\n\nfunction hasTracingEnabled(options) {\n if (options === void 0) {\n options = (_a = hub_1.getCurrentHub().getClient()) === null || _a === void 0 ? void 0 : _a.getOptions();\n }\n\n var _a;\n\n if (!options) {\n return false;\n }\n\n return 'tracesSampleRate' in options || 'tracesSampler' in options;\n}\n\nexports.hasTracingEnabled = hasTracingEnabled;\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 */\n\nfunction extractTraceparentData(traceparent) {\n var matches = traceparent.match(exports.TRACEPARENT_REGEXP);\n\n if (matches) {\n var parentSampled = void 0;\n\n if (matches[3] === '1') {\n parentSampled = true;\n } else if (matches[3] === '0') {\n parentSampled = false;\n }\n\n return {\n traceId: matches[1],\n parentSampled: parentSampled,\n parentSpanId: matches[2]\n };\n }\n\n return undefined;\n}\n\nexports.extractTraceparentData = extractTraceparentData;\n/** Grabs active transaction off scope, if any */\n\nfunction getActiveTransaction(hub) {\n if (hub === void 0) {\n hub = hub_1.getCurrentHub();\n }\n\n var _a, _b;\n\n return (_b = (_a = hub) === null || _a === void 0 ? void 0 : _a.getScope()) === null || _b === void 0 ? void 0 : _b.getTransaction();\n}\n\nexports.getActiveTransaction = getActiveTransaction;\n/**\n * Converts from milliseconds to seconds\n * @param time time in ms\n */\n\nfunction msToSec(time) {\n return time / 1000;\n}\n\nexports.msToSec = msToSec;\n/**\n * Converts from seconds to milliseconds\n * @param time time in seconds\n */\n\nfunction secToMs(time) {\n return time * 1000;\n}\n\nexports.secToMs = secToMs; // so it can be used in manual instrumentation without necessitating a hard dependency on @sentry/utils\n\nvar utils_1 = require(\"@sentry/utils\");\n\nexports.stripUrlQueryAndFragment = utils_1.stripUrlQueryAndFragment;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/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","/*!\n * Bootstrap v4.6.0 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n!function (t, e) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? e(exports, require(\"jquery\"), require(\"popper.js\")) : \"function\" == typeof define && define.amd ? define([\"exports\", \"jquery\", \"popper.js\"], e) : e((t = \"undefined\" != typeof globalThis ? globalThis : t || self).bootstrap = {}, t.jQuery, t.Popper);\n}(this, function (t, e, n) {\n \"use strict\";\n\n function i(t) {\n return t && \"object\" == typeof t && \"default\" in t ? t : {\n default: t\n };\n }\n\n var o = i(e),\n a = i(n);\n\n function s(t, e) {\n for (var n = 0; n < e.length; n++) {\n var i = e[n];\n i.enumerable = i.enumerable || !1, i.configurable = !0, \"value\" in i && (i.writable = !0), Object.defineProperty(t, i.key, i);\n }\n }\n\n function l(t, e, n) {\n return e && s(t.prototype, e), n && s(t, n), t;\n }\n\n function r() {\n return (r = Object.assign || function (t) {\n for (var e = 1; e < arguments.length; e++) {\n var n = arguments[e];\n\n for (var i in n) {\n Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i]);\n }\n }\n\n return t;\n }).apply(this, arguments);\n }\n\n function u(t) {\n var e = this,\n n = !1;\n return o.default(this).one(d.TRANSITION_END, function () {\n n = !0;\n }), setTimeout(function () {\n n || d.triggerTransitionEnd(e);\n }, t), this;\n }\n\n var d = {\n TRANSITION_END: \"bsTransitionEnd\",\n getUID: function getUID(t) {\n do {\n t += ~~(1e6 * Math.random());\n } while (document.getElementById(t));\n\n return t;\n },\n getSelectorFromElement: function getSelectorFromElement(t) {\n var e = t.getAttribute(\"data-target\");\n\n if (!e || \"#\" === e) {\n var n = t.getAttribute(\"href\");\n e = n && \"#\" !== n ? n.trim() : \"\";\n }\n\n try {\n return document.querySelector(e) ? e : null;\n } catch (t) {\n return null;\n }\n },\n getTransitionDurationFromElement: function getTransitionDurationFromElement(t) {\n if (!t) return 0;\n var e = o.default(t).css(\"transition-duration\"),\n n = o.default(t).css(\"transition-delay\"),\n i = parseFloat(e),\n a = parseFloat(n);\n return i || a ? (e = e.split(\",\")[0], n = n.split(\",\")[0], 1e3 * (parseFloat(e) + parseFloat(n))) : 0;\n },\n reflow: function reflow(t) {\n return t.offsetHeight;\n },\n triggerTransitionEnd: function triggerTransitionEnd(t) {\n o.default(t).trigger(\"transitionend\");\n },\n supportsTransitionEnd: function supportsTransitionEnd() {\n return Boolean(\"transitionend\");\n },\n isElement: function isElement(t) {\n return (t[0] || t).nodeType;\n },\n typeCheckConfig: function typeCheckConfig(t, e, n) {\n for (var i in n) {\n if (Object.prototype.hasOwnProperty.call(n, i)) {\n var o = n[i],\n a = e[i],\n s = a && d.isElement(a) ? \"element\" : null === (l = a) || \"undefined\" == typeof l ? \"\" + l : {}.toString.call(l).match(/\\s([a-z]+)/i)[1].toLowerCase();\n if (!new RegExp(o).test(s)) throw new Error(t.toUpperCase() + ': Option \"' + i + '\" provided type \"' + s + '\" but expected type \"' + o + '\".');\n }\n }\n\n var l;\n },\n findShadowRoot: function findShadowRoot(t) {\n if (!document.documentElement.attachShadow) return null;\n\n if (\"function\" == typeof t.getRootNode) {\n var e = t.getRootNode();\n return e instanceof ShadowRoot ? e : null;\n }\n\n return t instanceof ShadowRoot ? t : t.parentNode ? d.findShadowRoot(t.parentNode) : null;\n },\n jQueryDetection: function jQueryDetection() {\n if (\"undefined\" == typeof o.default) throw new TypeError(\"Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.\");\n var t = o.default.fn.jquery.split(\" \")[0].split(\".\");\n if (t[0] < 2 && t[1] < 9 || 1 === t[0] && 9 === t[1] && t[2] < 1 || t[0] >= 4) throw new Error(\"Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0\");\n }\n };\n d.jQueryDetection(), o.default.fn.emulateTransitionEnd = u, o.default.event.special[d.TRANSITION_END] = {\n bindType: \"transitionend\",\n delegateType: \"transitionend\",\n handle: function handle(t) {\n if (o.default(t.target).is(this)) return t.handleObj.handler.apply(this, arguments);\n }\n };\n\n var f = \"alert\",\n c = o.default.fn[f],\n h = function () {\n function t(t) {\n this._element = t;\n }\n\n var e = t.prototype;\n return e.close = function (t) {\n var e = this._element;\n t && (e = this._getRootElement(t)), this._triggerCloseEvent(e).isDefaultPrevented() || this._removeElement(e);\n }, e.dispose = function () {\n o.default.removeData(this._element, \"bs.alert\"), this._element = null;\n }, e._getRootElement = function (t) {\n var e = d.getSelectorFromElement(t),\n n = !1;\n return e && (n = document.querySelector(e)), n || (n = o.default(t).closest(\".alert\")[0]), n;\n }, e._triggerCloseEvent = function (t) {\n var e = o.default.Event(\"close.bs.alert\");\n return o.default(t).trigger(e), e;\n }, e._removeElement = function (t) {\n var e = this;\n\n if (o.default(t).removeClass(\"show\"), o.default(t).hasClass(\"fade\")) {\n var n = d.getTransitionDurationFromElement(t);\n o.default(t).one(d.TRANSITION_END, function (n) {\n return e._destroyElement(t, n);\n }).emulateTransitionEnd(n);\n } else this._destroyElement(t);\n }, e._destroyElement = function (t) {\n o.default(t).detach().trigger(\"closed.bs.alert\").remove();\n }, t._jQueryInterface = function (e) {\n return this.each(function () {\n var n = o.default(this),\n i = n.data(\"bs.alert\");\n i || (i = new t(this), n.data(\"bs.alert\", i)), \"close\" === e && i[e](this);\n });\n }, t._handleDismiss = function (t) {\n return function (e) {\n e && e.preventDefault(), t.close(this);\n };\n }, l(t, null, [{\n key: \"VERSION\",\n get: function get() {\n return \"4.6.0\";\n }\n }]), t;\n }();\n\n o.default(document).on(\"click.bs.alert.data-api\", '[data-dismiss=\"alert\"]', h._handleDismiss(new h())), o.default.fn[f] = h._jQueryInterface, o.default.fn[f].Constructor = h, o.default.fn[f].noConflict = function () {\n return o.default.fn[f] = c, h._jQueryInterface;\n };\n\n var g = o.default.fn.button,\n m = function () {\n function t(t) {\n this._element = t, this.shouldAvoidTriggerChange = !1;\n }\n\n var e = t.prototype;\n return e.toggle = function () {\n var t = !0,\n e = !0,\n n = o.default(this._element).closest('[data-toggle=\"buttons\"]')[0];\n\n if (n) {\n var i = this._element.querySelector('input:not([type=\"hidden\"])');\n\n if (i) {\n if (\"radio\" === i.type) if (i.checked && this._element.classList.contains(\"active\")) t = !1;else {\n var a = n.querySelector(\".active\");\n a && o.default(a).removeClass(\"active\");\n }\n t && (\"checkbox\" !== i.type && \"radio\" !== i.type || (i.checked = !this._element.classList.contains(\"active\")), this.shouldAvoidTriggerChange || o.default(i).trigger(\"change\")), i.focus(), e = !1;\n }\n }\n\n this._element.hasAttribute(\"disabled\") || this._element.classList.contains(\"disabled\") || (e && this._element.setAttribute(\"aria-pressed\", !this._element.classList.contains(\"active\")), t && o.default(this._element).toggleClass(\"active\"));\n }, e.dispose = function () {\n o.default.removeData(this._element, \"bs.button\"), this._element = null;\n }, t._jQueryInterface = function (e, n) {\n return this.each(function () {\n var i = o.default(this),\n a = i.data(\"bs.button\");\n a || (a = new t(this), i.data(\"bs.button\", a)), a.shouldAvoidTriggerChange = n, \"toggle\" === e && a[e]();\n });\n }, l(t, null, [{\n key: \"VERSION\",\n get: function get() {\n return \"4.6.0\";\n }\n }]), t;\n }();\n\n o.default(document).on(\"click.bs.button.data-api\", '[data-toggle^=\"button\"]', function (t) {\n var e = t.target,\n n = e;\n if (o.default(e).hasClass(\"btn\") || (e = o.default(e).closest(\".btn\")[0]), !e || e.hasAttribute(\"disabled\") || e.classList.contains(\"disabled\")) t.preventDefault();else {\n var i = e.querySelector('input:not([type=\"hidden\"])');\n if (i && (i.hasAttribute(\"disabled\") || i.classList.contains(\"disabled\"))) return void t.preventDefault();\n \"INPUT\" !== n.tagName && \"LABEL\" === e.tagName || m._jQueryInterface.call(o.default(e), \"toggle\", \"INPUT\" === n.tagName);\n }\n }).on(\"focus.bs.button.data-api blur.bs.button.data-api\", '[data-toggle^=\"button\"]', function (t) {\n var e = o.default(t.target).closest(\".btn\")[0];\n o.default(e).toggleClass(\"focus\", /^focus(in)?$/.test(t.type));\n }), o.default(window).on(\"load.bs.button.data-api\", function () {\n for (var t = [].slice.call(document.querySelectorAll('[data-toggle=\"buttons\"] .btn')), e = 0, n = t.length; e < n; e++) {\n var i = t[e],\n o = i.querySelector('input:not([type=\"hidden\"])');\n o.checked || o.hasAttribute(\"checked\") ? i.classList.add(\"active\") : i.classList.remove(\"active\");\n }\n\n for (var a = 0, s = (t = [].slice.call(document.querySelectorAll('[data-toggle=\"button\"]'))).length; a < s; a++) {\n var l = t[a];\n \"true\" === l.getAttribute(\"aria-pressed\") ? l.classList.add(\"active\") : l.classList.remove(\"active\");\n }\n }), o.default.fn.button = m._jQueryInterface, o.default.fn.button.Constructor = m, o.default.fn.button.noConflict = function () {\n return o.default.fn.button = g, m._jQueryInterface;\n };\n\n var p = \"carousel\",\n _ = \".bs.carousel\",\n v = o.default.fn[p],\n b = {\n interval: 5e3,\n keyboard: !0,\n slide: !1,\n pause: \"hover\",\n wrap: !0,\n touch: !0\n },\n y = {\n interval: \"(number|boolean)\",\n keyboard: \"boolean\",\n slide: \"(boolean|string)\",\n pause: \"(string|boolean)\",\n wrap: \"boolean\",\n touch: \"boolean\"\n },\n E = {\n TOUCH: \"touch\",\n PEN: \"pen\"\n },\n w = function () {\n function t(t, e) {\n this._items = null, this._interval = null, this._activeElement = null, this._isPaused = !1, this._isSliding = !1, this.touchTimeout = null, this.touchStartX = 0, this.touchDeltaX = 0, this._config = this._getConfig(e), this._element = t, this._indicatorsElement = this._element.querySelector(\".carousel-indicators\"), this._touchSupported = \"ontouchstart\" in document.documentElement || navigator.maxTouchPoints > 0, this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent), this._addEventListeners();\n }\n\n var e = t.prototype;\n return e.next = function () {\n this._isSliding || this._slide(\"next\");\n }, e.nextWhenVisible = function () {\n var t = o.default(this._element);\n !document.hidden && t.is(\":visible\") && \"hidden\" !== t.css(\"visibility\") && this.next();\n }, e.prev = function () {\n this._isSliding || this._slide(\"prev\");\n }, e.pause = function (t) {\n t || (this._isPaused = !0), this._element.querySelector(\".carousel-item-next, .carousel-item-prev\") && (d.triggerTransitionEnd(this._element), this.cycle(!0)), clearInterval(this._interval), this._interval = null;\n }, e.cycle = function (t) {\n t || (this._isPaused = !1), this._interval && (clearInterval(this._interval), this._interval = null), this._config.interval && !this._isPaused && (this._updateInterval(), this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval));\n }, e.to = function (t) {\n var e = this;\n this._activeElement = this._element.querySelector(\".active.carousel-item\");\n\n var n = this._getItemIndex(this._activeElement);\n\n if (!(t > this._items.length - 1 || t < 0)) if (this._isSliding) o.default(this._element).one(\"slid.bs.carousel\", function () {\n return e.to(t);\n });else {\n if (n === t) return this.pause(), void this.cycle();\n var i = t > n ? \"next\" : \"prev\";\n\n this._slide(i, this._items[t]);\n }\n }, e.dispose = function () {\n o.default(this._element).off(_), o.default.removeData(this._element, \"bs.carousel\"), this._items = null, this._config = null, this._element = null, this._interval = null, this._isPaused = null, this._isSliding = null, this._activeElement = null, this._indicatorsElement = null;\n }, e._getConfig = function (t) {\n return t = r({}, b, t), d.typeCheckConfig(p, t, y), t;\n }, e._handleSwipe = function () {\n var t = Math.abs(this.touchDeltaX);\n\n if (!(t <= 40)) {\n var e = t / this.touchDeltaX;\n this.touchDeltaX = 0, e > 0 && this.prev(), e < 0 && this.next();\n }\n }, e._addEventListeners = function () {\n var t = this;\n this._config.keyboard && o.default(this._element).on(\"keydown.bs.carousel\", function (e) {\n return t._keydown(e);\n }), \"hover\" === this._config.pause && o.default(this._element).on(\"mouseenter.bs.carousel\", function (e) {\n return t.pause(e);\n }).on(\"mouseleave.bs.carousel\", function (e) {\n return t.cycle(e);\n }), this._config.touch && this._addTouchEventListeners();\n }, e._addTouchEventListeners = function () {\n var t = this;\n\n if (this._touchSupported) {\n var e = function e(_e) {\n t._pointerEvent && E[_e.originalEvent.pointerType.toUpperCase()] ? t.touchStartX = _e.originalEvent.clientX : t._pointerEvent || (t.touchStartX = _e.originalEvent.touches[0].clientX);\n },\n n = function n(e) {\n t._pointerEvent && E[e.originalEvent.pointerType.toUpperCase()] && (t.touchDeltaX = e.originalEvent.clientX - t.touchStartX), t._handleSwipe(), \"hover\" === t._config.pause && (t.pause(), t.touchTimeout && clearTimeout(t.touchTimeout), t.touchTimeout = setTimeout(function (e) {\n return t.cycle(e);\n }, 500 + t._config.interval));\n };\n\n o.default(this._element.querySelectorAll(\".carousel-item img\")).on(\"dragstart.bs.carousel\", function (t) {\n return t.preventDefault();\n }), this._pointerEvent ? (o.default(this._element).on(\"pointerdown.bs.carousel\", function (t) {\n return e(t);\n }), o.default(this._element).on(\"pointerup.bs.carousel\", function (t) {\n return n(t);\n }), this._element.classList.add(\"pointer-event\")) : (o.default(this._element).on(\"touchstart.bs.carousel\", function (t) {\n return e(t);\n }), o.default(this._element).on(\"touchmove.bs.carousel\", function (e) {\n return function (e) {\n e.originalEvent.touches && e.originalEvent.touches.length > 1 ? t.touchDeltaX = 0 : t.touchDeltaX = e.originalEvent.touches[0].clientX - t.touchStartX;\n }(e);\n }), o.default(this._element).on(\"touchend.bs.carousel\", function (t) {\n return n(t);\n }));\n }\n }, e._keydown = function (t) {\n if (!/input|textarea/i.test(t.target.tagName)) switch (t.which) {\n case 37:\n t.preventDefault(), this.prev();\n break;\n\n case 39:\n t.preventDefault(), this.next();\n }\n }, e._getItemIndex = function (t) {\n return this._items = t && t.parentNode ? [].slice.call(t.parentNode.querySelectorAll(\".carousel-item\")) : [], this._items.indexOf(t);\n }, e._getItemByDirection = function (t, e) {\n var n = \"next\" === t,\n i = \"prev\" === t,\n o = this._getItemIndex(e),\n a = this._items.length - 1;\n\n if ((i && 0 === o || n && o === a) && !this._config.wrap) return e;\n var s = (o + (\"prev\" === t ? -1 : 1)) % this._items.length;\n return -1 === s ? this._items[this._items.length - 1] : this._items[s];\n }, e._triggerSlideEvent = function (t, e) {\n var n = this._getItemIndex(t),\n i = this._getItemIndex(this._element.querySelector(\".active.carousel-item\")),\n a = o.default.Event(\"slide.bs.carousel\", {\n relatedTarget: t,\n direction: e,\n from: i,\n to: n\n });\n\n return o.default(this._element).trigger(a), a;\n }, e._setActiveIndicatorElement = function (t) {\n if (this._indicatorsElement) {\n var e = [].slice.call(this._indicatorsElement.querySelectorAll(\".active\"));\n o.default(e).removeClass(\"active\");\n\n var n = this._indicatorsElement.children[this._getItemIndex(t)];\n\n n && o.default(n).addClass(\"active\");\n }\n }, e._updateInterval = function () {\n var t = this._activeElement || this._element.querySelector(\".active.carousel-item\");\n\n if (t) {\n var e = parseInt(t.getAttribute(\"data-interval\"), 10);\n e ? (this._config.defaultInterval = this._config.defaultInterval || this._config.interval, this._config.interval = e) : this._config.interval = this._config.defaultInterval || this._config.interval;\n }\n }, e._slide = function (t, e) {\n var n,\n i,\n a,\n s = this,\n l = this._element.querySelector(\".active.carousel-item\"),\n r = this._getItemIndex(l),\n u = e || l && this._getItemByDirection(t, l),\n f = this._getItemIndex(u),\n c = Boolean(this._interval);\n\n if (\"next\" === t ? (n = \"carousel-item-left\", i = \"carousel-item-next\", a = \"left\") : (n = \"carousel-item-right\", i = \"carousel-item-prev\", a = \"right\"), u && o.default(u).hasClass(\"active\")) this._isSliding = !1;else if (!this._triggerSlideEvent(u, a).isDefaultPrevented() && l && u) {\n this._isSliding = !0, c && this.pause(), this._setActiveIndicatorElement(u), this._activeElement = u;\n var h = o.default.Event(\"slid.bs.carousel\", {\n relatedTarget: u,\n direction: a,\n from: r,\n to: f\n });\n\n if (o.default(this._element).hasClass(\"slide\")) {\n o.default(u).addClass(i), d.reflow(u), o.default(l).addClass(n), o.default(u).addClass(n);\n var g = d.getTransitionDurationFromElement(l);\n o.default(l).one(d.TRANSITION_END, function () {\n o.default(u).removeClass(n + \" \" + i).addClass(\"active\"), o.default(l).removeClass(\"active \" + i + \" \" + n), s._isSliding = !1, setTimeout(function () {\n return o.default(s._element).trigger(h);\n }, 0);\n }).emulateTransitionEnd(g);\n } else o.default(l).removeClass(\"active\"), o.default(u).addClass(\"active\"), this._isSliding = !1, o.default(this._element).trigger(h);\n\n c && this.cycle();\n }\n }, t._jQueryInterface = function (e) {\n return this.each(function () {\n var n = o.default(this).data(\"bs.carousel\"),\n i = r({}, b, o.default(this).data());\n \"object\" == typeof e && (i = r({}, i, e));\n var a = \"string\" == typeof e ? e : i.slide;\n if (n || (n = new t(this, i), o.default(this).data(\"bs.carousel\", n)), \"number\" == typeof e) n.to(e);else if (\"string\" == typeof a) {\n if (\"undefined\" == typeof n[a]) throw new TypeError('No method named \"' + a + '\"');\n n[a]();\n } else i.interval && i.ride && (n.pause(), n.cycle());\n });\n }, t._dataApiClickHandler = function (e) {\n var n = d.getSelectorFromElement(this);\n\n if (n) {\n var i = o.default(n)[0];\n\n if (i && o.default(i).hasClass(\"carousel\")) {\n var a = r({}, o.default(i).data(), o.default(this).data()),\n s = this.getAttribute(\"data-slide-to\");\n s && (a.interval = !1), t._jQueryInterface.call(o.default(i), a), s && o.default(i).data(\"bs.carousel\").to(s), e.preventDefault();\n }\n }\n }, l(t, null, [{\n key: \"VERSION\",\n get: function get() {\n return \"4.6.0\";\n }\n }, {\n key: \"Default\",\n get: function get() {\n return b;\n }\n }]), t;\n }();\n\n o.default(document).on(\"click.bs.carousel.data-api\", \"[data-slide], [data-slide-to]\", w._dataApiClickHandler), o.default(window).on(\"load.bs.carousel.data-api\", function () {\n for (var t = [].slice.call(document.querySelectorAll('[data-ride=\"carousel\"]')), e = 0, n = t.length; e < n; e++) {\n var i = o.default(t[e]);\n\n w._jQueryInterface.call(i, i.data());\n }\n }), o.default.fn[p] = w._jQueryInterface, o.default.fn[p].Constructor = w, o.default.fn[p].noConflict = function () {\n return o.default.fn[p] = v, w._jQueryInterface;\n };\n\n var T = \"collapse\",\n C = o.default.fn[T],\n S = {\n toggle: !0,\n parent: \"\"\n },\n N = {\n toggle: \"boolean\",\n parent: \"(string|element)\"\n },\n D = function () {\n function t(t, e) {\n this._isTransitioning = !1, this._element = t, this._config = this._getConfig(e), this._triggerArray = [].slice.call(document.querySelectorAll('[data-toggle=\"collapse\"][href=\"#' + t.id + '\"],[data-toggle=\"collapse\"][data-target=\"#' + t.id + '\"]'));\n\n for (var n = [].slice.call(document.querySelectorAll('[data-toggle=\"collapse\"]')), i = 0, o = n.length; i < o; i++) {\n var a = n[i],\n s = d.getSelectorFromElement(a),\n l = [].slice.call(document.querySelectorAll(s)).filter(function (e) {\n return e === t;\n });\n null !== s && l.length > 0 && (this._selector = s, this._triggerArray.push(a));\n }\n\n this._parent = this._config.parent ? this._getParent() : null, this._config.parent || this._addAriaAndCollapsedClass(this._element, this._triggerArray), this._config.toggle && this.toggle();\n }\n\n var e = t.prototype;\n return e.toggle = function () {\n o.default(this._element).hasClass(\"show\") ? this.hide() : this.show();\n }, e.show = function () {\n var e,\n n,\n i = this;\n\n if (!this._isTransitioning && !o.default(this._element).hasClass(\"show\") && (this._parent && 0 === (e = [].slice.call(this._parent.querySelectorAll(\".show, .collapsing\")).filter(function (t) {\n return \"string\" == typeof i._config.parent ? t.getAttribute(\"data-parent\") === i._config.parent : t.classList.contains(\"collapse\");\n })).length && (e = null), !(e && (n = o.default(e).not(this._selector).data(\"bs.collapse\")) && n._isTransitioning))) {\n var a = o.default.Event(\"show.bs.collapse\");\n\n if (o.default(this._element).trigger(a), !a.isDefaultPrevented()) {\n e && (t._jQueryInterface.call(o.default(e).not(this._selector), \"hide\"), n || o.default(e).data(\"bs.collapse\", null));\n\n var s = this._getDimension();\n\n o.default(this._element).removeClass(\"collapse\").addClass(\"collapsing\"), this._element.style[s] = 0, this._triggerArray.length && o.default(this._triggerArray).removeClass(\"collapsed\").attr(\"aria-expanded\", !0), this.setTransitioning(!0);\n var l = \"scroll\" + (s[0].toUpperCase() + s.slice(1)),\n r = d.getTransitionDurationFromElement(this._element);\n o.default(this._element).one(d.TRANSITION_END, function () {\n o.default(i._element).removeClass(\"collapsing\").addClass(\"collapse show\"), i._element.style[s] = \"\", i.setTransitioning(!1), o.default(i._element).trigger(\"shown.bs.collapse\");\n }).emulateTransitionEnd(r), this._element.style[s] = this._element[l] + \"px\";\n }\n }\n }, e.hide = function () {\n var t = this;\n\n if (!this._isTransitioning && o.default(this._element).hasClass(\"show\")) {\n var e = o.default.Event(\"hide.bs.collapse\");\n\n if (o.default(this._element).trigger(e), !e.isDefaultPrevented()) {\n var n = this._getDimension();\n\n this._element.style[n] = this._element.getBoundingClientRect()[n] + \"px\", d.reflow(this._element), o.default(this._element).addClass(\"collapsing\").removeClass(\"collapse show\");\n var i = this._triggerArray.length;\n if (i > 0) for (var a = 0; a < i; a++) {\n var s = this._triggerArray[a],\n l = d.getSelectorFromElement(s);\n if (null !== l) o.default([].slice.call(document.querySelectorAll(l))).hasClass(\"show\") || o.default(s).addClass(\"collapsed\").attr(\"aria-expanded\", !1);\n }\n this.setTransitioning(!0);\n this._element.style[n] = \"\";\n var r = d.getTransitionDurationFromElement(this._element);\n o.default(this._element).one(d.TRANSITION_END, function () {\n t.setTransitioning(!1), o.default(t._element).removeClass(\"collapsing\").addClass(\"collapse\").trigger(\"hidden.bs.collapse\");\n }).emulateTransitionEnd(r);\n }\n }\n }, e.setTransitioning = function (t) {\n this._isTransitioning = t;\n }, e.dispose = function () {\n o.default.removeData(this._element, \"bs.collapse\"), this._config = null, this._parent = null, this._element = null, this._triggerArray = null, this._isTransitioning = null;\n }, e._getConfig = function (t) {\n return (t = r({}, S, t)).toggle = Boolean(t.toggle), d.typeCheckConfig(T, t, N), t;\n }, e._getDimension = function () {\n return o.default(this._element).hasClass(\"width\") ? \"width\" : \"height\";\n }, e._getParent = function () {\n var e,\n n = this;\n d.isElement(this._config.parent) ? (e = this._config.parent, \"undefined\" != typeof this._config.parent.jquery && (e = this._config.parent[0])) : e = document.querySelector(this._config.parent);\n var i = '[data-toggle=\"collapse\"][data-parent=\"' + this._config.parent + '\"]',\n a = [].slice.call(e.querySelectorAll(i));\n return o.default(a).each(function (e, i) {\n n._addAriaAndCollapsedClass(t._getTargetFromElement(i), [i]);\n }), e;\n }, e._addAriaAndCollapsedClass = function (t, e) {\n var n = o.default(t).hasClass(\"show\");\n e.length && o.default(e).toggleClass(\"collapsed\", !n).attr(\"aria-expanded\", n);\n }, t._getTargetFromElement = function (t) {\n var e = d.getSelectorFromElement(t);\n return e ? document.querySelector(e) : null;\n }, t._jQueryInterface = function (e) {\n return this.each(function () {\n var n = o.default(this),\n i = n.data(\"bs.collapse\"),\n a = r({}, S, n.data(), \"object\" == typeof e && e ? e : {});\n\n if (!i && a.toggle && \"string\" == typeof e && /show|hide/.test(e) && (a.toggle = !1), i || (i = new t(this, a), n.data(\"bs.collapse\", i)), \"string\" == typeof e) {\n if (\"undefined\" == typeof i[e]) throw new TypeError('No method named \"' + e + '\"');\n i[e]();\n }\n });\n }, l(t, null, [{\n key: \"VERSION\",\n get: function get() {\n return \"4.6.0\";\n }\n }, {\n key: \"Default\",\n get: function get() {\n return S;\n }\n }]), t;\n }();\n\n o.default(document).on(\"click.bs.collapse.data-api\", '[data-toggle=\"collapse\"]', function (t) {\n \"A\" === t.currentTarget.tagName && t.preventDefault();\n var e = o.default(this),\n n = d.getSelectorFromElement(this),\n i = [].slice.call(document.querySelectorAll(n));\n o.default(i).each(function () {\n var t = o.default(this),\n n = t.data(\"bs.collapse\") ? \"toggle\" : e.data();\n\n D._jQueryInterface.call(t, n);\n });\n }), o.default.fn[T] = D._jQueryInterface, o.default.fn[T].Constructor = D, o.default.fn[T].noConflict = function () {\n return o.default.fn[T] = C, D._jQueryInterface;\n };\n\n var k = \"dropdown\",\n A = o.default.fn[k],\n I = new RegExp(\"38|40|27\"),\n j = {\n offset: 0,\n flip: !0,\n boundary: \"scrollParent\",\n reference: \"toggle\",\n display: \"dynamic\",\n popperConfig: null\n },\n O = {\n offset: \"(number|string|function)\",\n flip: \"boolean\",\n boundary: \"(string|element)\",\n reference: \"(string|element)\",\n display: \"string\",\n popperConfig: \"(null|object)\"\n },\n x = function () {\n function t(t, e) {\n this._element = t, this._popper = null, this._config = this._getConfig(e), this._menu = this._getMenuElement(), this._inNavbar = this._detectNavbar(), this._addEventListeners();\n }\n\n var e = t.prototype;\n return e.toggle = function () {\n if (!this._element.disabled && !o.default(this._element).hasClass(\"disabled\")) {\n var e = o.default(this._menu).hasClass(\"show\");\n t._clearMenus(), e || this.show(!0);\n }\n }, e.show = function (e) {\n if (void 0 === e && (e = !1), !(this._element.disabled || o.default(this._element).hasClass(\"disabled\") || o.default(this._menu).hasClass(\"show\"))) {\n var n = {\n relatedTarget: this._element\n },\n i = o.default.Event(\"show.bs.dropdown\", n),\n s = t._getParentFromElement(this._element);\n\n if (o.default(s).trigger(i), !i.isDefaultPrevented()) {\n if (!this._inNavbar && e) {\n if (\"undefined\" == typeof a.default) throw new TypeError(\"Bootstrap's dropdowns require Popper (https://popper.js.org)\");\n var l = this._element;\n \"parent\" === this._config.reference ? l = s : d.isElement(this._config.reference) && (l = this._config.reference, \"undefined\" != typeof this._config.reference.jquery && (l = this._config.reference[0])), \"scrollParent\" !== this._config.boundary && o.default(s).addClass(\"position-static\"), this._popper = new a.default(l, this._menu, this._getPopperConfig());\n }\n\n \"ontouchstart\" in document.documentElement && 0 === o.default(s).closest(\".navbar-nav\").length && o.default(document.body).children().on(\"mouseover\", null, o.default.noop), this._element.focus(), this._element.setAttribute(\"aria-expanded\", !0), o.default(this._menu).toggleClass(\"show\"), o.default(s).toggleClass(\"show\").trigger(o.default.Event(\"shown.bs.dropdown\", n));\n }\n }\n }, e.hide = function () {\n if (!this._element.disabled && !o.default(this._element).hasClass(\"disabled\") && o.default(this._menu).hasClass(\"show\")) {\n var e = {\n relatedTarget: this._element\n },\n n = o.default.Event(\"hide.bs.dropdown\", e),\n i = t._getParentFromElement(this._element);\n\n o.default(i).trigger(n), n.isDefaultPrevented() || (this._popper && this._popper.destroy(), o.default(this._menu).toggleClass(\"show\"), o.default(i).toggleClass(\"show\").trigger(o.default.Event(\"hidden.bs.dropdown\", e)));\n }\n }, e.dispose = function () {\n o.default.removeData(this._element, \"bs.dropdown\"), o.default(this._element).off(\".bs.dropdown\"), this._element = null, this._menu = null, null !== this._popper && (this._popper.destroy(), this._popper = null);\n }, e.update = function () {\n this._inNavbar = this._detectNavbar(), null !== this._popper && this._popper.scheduleUpdate();\n }, e._addEventListeners = function () {\n var t = this;\n o.default(this._element).on(\"click.bs.dropdown\", function (e) {\n e.preventDefault(), e.stopPropagation(), t.toggle();\n });\n }, e._getConfig = function (t) {\n return t = r({}, this.constructor.Default, o.default(this._element).data(), t), d.typeCheckConfig(k, t, this.constructor.DefaultType), t;\n }, e._getMenuElement = function () {\n if (!this._menu) {\n var e = t._getParentFromElement(this._element);\n\n e && (this._menu = e.querySelector(\".dropdown-menu\"));\n }\n\n return this._menu;\n }, e._getPlacement = function () {\n var t = o.default(this._element.parentNode),\n e = \"bottom-start\";\n return t.hasClass(\"dropup\") ? e = o.default(this._menu).hasClass(\"dropdown-menu-right\") ? \"top-end\" : \"top-start\" : t.hasClass(\"dropright\") ? e = \"right-start\" : t.hasClass(\"dropleft\") ? e = \"left-start\" : o.default(this._menu).hasClass(\"dropdown-menu-right\") && (e = \"bottom-end\"), e;\n }, e._detectNavbar = function () {\n return o.default(this._element).closest(\".navbar\").length > 0;\n }, e._getOffset = function () {\n var t = this,\n e = {};\n return \"function\" == typeof this._config.offset ? e.fn = function (e) {\n return e.offsets = r({}, e.offsets, t._config.offset(e.offsets, t._element) || {}), e;\n } : e.offset = this._config.offset, e;\n }, e._getPopperConfig = function () {\n var t = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n };\n return \"static\" === this._config.display && (t.modifiers.applyStyle = {\n enabled: !1\n }), r({}, t, this._config.popperConfig);\n }, t._jQueryInterface = function (e) {\n return this.each(function () {\n var n = o.default(this).data(\"bs.dropdown\");\n\n if (n || (n = new t(this, \"object\" == typeof e ? e : null), o.default(this).data(\"bs.dropdown\", n)), \"string\" == typeof e) {\n if (\"undefined\" == typeof n[e]) throw new TypeError('No method named \"' + e + '\"');\n n[e]();\n }\n });\n }, t._clearMenus = function (e) {\n if (!e || 3 !== e.which && (\"keyup\" !== e.type || 9 === e.which)) for (var n = [].slice.call(document.querySelectorAll('[data-toggle=\"dropdown\"]')), i = 0, a = n.length; i < a; i++) {\n var s = t._getParentFromElement(n[i]),\n l = o.default(n[i]).data(\"bs.dropdown\"),\n r = {\n relatedTarget: n[i]\n };\n\n if (e && \"click\" === e.type && (r.clickEvent = e), l) {\n var u = l._menu;\n\n if (o.default(s).hasClass(\"show\") && !(e && (\"click\" === e.type && /input|textarea/i.test(e.target.tagName) || \"keyup\" === e.type && 9 === e.which) && o.default.contains(s, e.target))) {\n var d = o.default.Event(\"hide.bs.dropdown\", r);\n o.default(s).trigger(d), d.isDefaultPrevented() || (\"ontouchstart\" in document.documentElement && o.default(document.body).children().off(\"mouseover\", null, o.default.noop), n[i].setAttribute(\"aria-expanded\", \"false\"), l._popper && l._popper.destroy(), o.default(u).removeClass(\"show\"), o.default(s).removeClass(\"show\").trigger(o.default.Event(\"hidden.bs.dropdown\", r)));\n }\n }\n }\n }, t._getParentFromElement = function (t) {\n var e,\n n = d.getSelectorFromElement(t);\n return n && (e = document.querySelector(n)), e || t.parentNode;\n }, t._dataApiKeydownHandler = function (e) {\n if (!(/input|textarea/i.test(e.target.tagName) ? 32 === e.which || 27 !== e.which && (40 !== e.which && 38 !== e.which || o.default(e.target).closest(\".dropdown-menu\").length) : !I.test(e.which)) && !this.disabled && !o.default(this).hasClass(\"disabled\")) {\n var n = t._getParentFromElement(this),\n i = o.default(n).hasClass(\"show\");\n\n if (i || 27 !== e.which) {\n if (e.preventDefault(), e.stopPropagation(), !i || 27 === e.which || 32 === e.which) return 27 === e.which && o.default(n.querySelector('[data-toggle=\"dropdown\"]')).trigger(\"focus\"), void o.default(this).trigger(\"click\");\n var a = [].slice.call(n.querySelectorAll(\".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)\")).filter(function (t) {\n return o.default(t).is(\":visible\");\n });\n\n if (0 !== a.length) {\n var s = a.indexOf(e.target);\n 38 === e.which && s > 0 && s--, 40 === e.which && s < a.length - 1 && s++, s < 0 && (s = 0), a[s].focus();\n }\n }\n }\n }, l(t, null, [{\n key: \"VERSION\",\n get: function get() {\n return \"4.6.0\";\n }\n }, {\n key: \"Default\",\n get: function get() {\n return j;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return O;\n }\n }]), t;\n }();\n\n o.default(document).on(\"keydown.bs.dropdown.data-api\", '[data-toggle=\"dropdown\"]', x._dataApiKeydownHandler).on(\"keydown.bs.dropdown.data-api\", \".dropdown-menu\", x._dataApiKeydownHandler).on(\"click.bs.dropdown.data-api keyup.bs.dropdown.data-api\", x._clearMenus).on(\"click.bs.dropdown.data-api\", '[data-toggle=\"dropdown\"]', function (t) {\n t.preventDefault(), t.stopPropagation(), x._jQueryInterface.call(o.default(this), \"toggle\");\n }).on(\"click.bs.dropdown.data-api\", \".dropdown form\", function (t) {\n t.stopPropagation();\n }), o.default.fn[k] = x._jQueryInterface, o.default.fn[k].Constructor = x, o.default.fn[k].noConflict = function () {\n return o.default.fn[k] = A, x._jQueryInterface;\n };\n\n var P = o.default.fn.modal,\n R = {\n backdrop: !0,\n keyboard: !0,\n focus: !0,\n show: !0\n },\n L = {\n backdrop: \"(boolean|string)\",\n keyboard: \"boolean\",\n focus: \"boolean\",\n show: \"boolean\"\n },\n q = function () {\n function t(t, e) {\n this._config = this._getConfig(e), this._element = t, this._dialog = t.querySelector(\".modal-dialog\"), this._backdrop = null, this._isShown = !1, this._isBodyOverflowing = !1, this._ignoreBackdropClick = !1, this._isTransitioning = !1, this._scrollbarWidth = 0;\n }\n\n var e = t.prototype;\n return e.toggle = function (t) {\n return this._isShown ? this.hide() : this.show(t);\n }, e.show = function (t) {\n var e = this;\n\n if (!this._isShown && !this._isTransitioning) {\n o.default(this._element).hasClass(\"fade\") && (this._isTransitioning = !0);\n var n = o.default.Event(\"show.bs.modal\", {\n relatedTarget: t\n });\n o.default(this._element).trigger(n), this._isShown || n.isDefaultPrevented() || (this._isShown = !0, this._checkScrollbar(), this._setScrollbar(), this._adjustDialog(), this._setEscapeEvent(), this._setResizeEvent(), o.default(this._element).on(\"click.dismiss.bs.modal\", '[data-dismiss=\"modal\"]', function (t) {\n return e.hide(t);\n }), o.default(this._dialog).on(\"mousedown.dismiss.bs.modal\", function () {\n o.default(e._element).one(\"mouseup.dismiss.bs.modal\", function (t) {\n o.default(t.target).is(e._element) && (e._ignoreBackdropClick = !0);\n });\n }), this._showBackdrop(function () {\n return e._showElement(t);\n }));\n }\n }, e.hide = function (t) {\n var e = this;\n\n if (t && t.preventDefault(), this._isShown && !this._isTransitioning) {\n var n = o.default.Event(\"hide.bs.modal\");\n\n if (o.default(this._element).trigger(n), this._isShown && !n.isDefaultPrevented()) {\n this._isShown = !1;\n var i = o.default(this._element).hasClass(\"fade\");\n\n if (i && (this._isTransitioning = !0), this._setEscapeEvent(), this._setResizeEvent(), o.default(document).off(\"focusin.bs.modal\"), o.default(this._element).removeClass(\"show\"), o.default(this._element).off(\"click.dismiss.bs.modal\"), o.default(this._dialog).off(\"mousedown.dismiss.bs.modal\"), i) {\n var a = d.getTransitionDurationFromElement(this._element);\n o.default(this._element).one(d.TRANSITION_END, function (t) {\n return e._hideModal(t);\n }).emulateTransitionEnd(a);\n } else this._hideModal();\n }\n }\n }, e.dispose = function () {\n [window, this._element, this._dialog].forEach(function (t) {\n return o.default(t).off(\".bs.modal\");\n }), o.default(document).off(\"focusin.bs.modal\"), o.default.removeData(this._element, \"bs.modal\"), this._config = null, this._element = null, this._dialog = null, this._backdrop = null, this._isShown = null, this._isBodyOverflowing = null, this._ignoreBackdropClick = null, this._isTransitioning = null, this._scrollbarWidth = null;\n }, e.handleUpdate = function () {\n this._adjustDialog();\n }, e._getConfig = function (t) {\n return t = r({}, R, t), d.typeCheckConfig(\"modal\", t, L), t;\n }, e._triggerBackdropTransition = function () {\n var t = this,\n e = o.default.Event(\"hidePrevented.bs.modal\");\n\n if (o.default(this._element).trigger(e), !e.isDefaultPrevented()) {\n var n = this._element.scrollHeight > document.documentElement.clientHeight;\n n || (this._element.style.overflowY = \"hidden\"), this._element.classList.add(\"modal-static\");\n var i = d.getTransitionDurationFromElement(this._dialog);\n o.default(this._element).off(d.TRANSITION_END), o.default(this._element).one(d.TRANSITION_END, function () {\n t._element.classList.remove(\"modal-static\"), n || o.default(t._element).one(d.TRANSITION_END, function () {\n t._element.style.overflowY = \"\";\n }).emulateTransitionEnd(t._element, i);\n }).emulateTransitionEnd(i), this._element.focus();\n }\n }, e._showElement = function (t) {\n var e = this,\n n = o.default(this._element).hasClass(\"fade\"),\n i = this._dialog ? this._dialog.querySelector(\".modal-body\") : null;\n this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE || document.body.appendChild(this._element), this._element.style.display = \"block\", this._element.removeAttribute(\"aria-hidden\"), this._element.setAttribute(\"aria-modal\", !0), this._element.setAttribute(\"role\", \"dialog\"), o.default(this._dialog).hasClass(\"modal-dialog-scrollable\") && i ? i.scrollTop = 0 : this._element.scrollTop = 0, n && d.reflow(this._element), o.default(this._element).addClass(\"show\"), this._config.focus && this._enforceFocus();\n\n var a = o.default.Event(\"shown.bs.modal\", {\n relatedTarget: t\n }),\n s = function s() {\n e._config.focus && e._element.focus(), e._isTransitioning = !1, o.default(e._element).trigger(a);\n };\n\n if (n) {\n var l = d.getTransitionDurationFromElement(this._dialog);\n o.default(this._dialog).one(d.TRANSITION_END, s).emulateTransitionEnd(l);\n } else s();\n }, e._enforceFocus = function () {\n var t = this;\n o.default(document).off(\"focusin.bs.modal\").on(\"focusin.bs.modal\", function (e) {\n document !== e.target && t._element !== e.target && 0 === o.default(t._element).has(e.target).length && t._element.focus();\n });\n }, e._setEscapeEvent = function () {\n var t = this;\n this._isShown ? o.default(this._element).on(\"keydown.dismiss.bs.modal\", function (e) {\n t._config.keyboard && 27 === e.which ? (e.preventDefault(), t.hide()) : t._config.keyboard || 27 !== e.which || t._triggerBackdropTransition();\n }) : this._isShown || o.default(this._element).off(\"keydown.dismiss.bs.modal\");\n }, e._setResizeEvent = function () {\n var t = this;\n this._isShown ? o.default(window).on(\"resize.bs.modal\", function (e) {\n return t.handleUpdate(e);\n }) : o.default(window).off(\"resize.bs.modal\");\n }, e._hideModal = function () {\n var t = this;\n this._element.style.display = \"none\", this._element.setAttribute(\"aria-hidden\", !0), this._element.removeAttribute(\"aria-modal\"), this._element.removeAttribute(\"role\"), this._isTransitioning = !1, this._showBackdrop(function () {\n o.default(document.body).removeClass(\"modal-open\"), t._resetAdjustments(), t._resetScrollbar(), o.default(t._element).trigger(\"hidden.bs.modal\");\n });\n }, e._removeBackdrop = function () {\n this._backdrop && (o.default(this._backdrop).remove(), this._backdrop = null);\n }, e._showBackdrop = function (t) {\n var e = this,\n n = o.default(this._element).hasClass(\"fade\") ? \"fade\" : \"\";\n\n if (this._isShown && this._config.backdrop) {\n if (this._backdrop = document.createElement(\"div\"), this._backdrop.className = \"modal-backdrop\", n && this._backdrop.classList.add(n), o.default(this._backdrop).appendTo(document.body), o.default(this._element).on(\"click.dismiss.bs.modal\", function (t) {\n e._ignoreBackdropClick ? e._ignoreBackdropClick = !1 : t.target === t.currentTarget && (\"static\" === e._config.backdrop ? e._triggerBackdropTransition() : e.hide());\n }), n && d.reflow(this._backdrop), o.default(this._backdrop).addClass(\"show\"), !t) return;\n if (!n) return void t();\n var i = d.getTransitionDurationFromElement(this._backdrop);\n o.default(this._backdrop).one(d.TRANSITION_END, t).emulateTransitionEnd(i);\n } else if (!this._isShown && this._backdrop) {\n o.default(this._backdrop).removeClass(\"show\");\n\n var a = function a() {\n e._removeBackdrop(), t && t();\n };\n\n if (o.default(this._element).hasClass(\"fade\")) {\n var s = d.getTransitionDurationFromElement(this._backdrop);\n o.default(this._backdrop).one(d.TRANSITION_END, a).emulateTransitionEnd(s);\n } else a();\n } else t && t();\n }, e._adjustDialog = function () {\n var t = this._element.scrollHeight > document.documentElement.clientHeight;\n !this._isBodyOverflowing && t && (this._element.style.paddingLeft = this._scrollbarWidth + \"px\"), this._isBodyOverflowing && !t && (this._element.style.paddingRight = this._scrollbarWidth + \"px\");\n }, e._resetAdjustments = function () {\n this._element.style.paddingLeft = \"\", this._element.style.paddingRight = \"\";\n }, e._checkScrollbar = function () {\n var t = document.body.getBoundingClientRect();\n this._isBodyOverflowing = Math.round(t.left + t.right) < window.innerWidth, this._scrollbarWidth = this._getScrollbarWidth();\n }, e._setScrollbar = function () {\n var t = this;\n\n if (this._isBodyOverflowing) {\n var e = [].slice.call(document.querySelectorAll(\".fixed-top, .fixed-bottom, .is-fixed, .sticky-top\")),\n n = [].slice.call(document.querySelectorAll(\".sticky-top\"));\n o.default(e).each(function (e, n) {\n var i = n.style.paddingRight,\n a = o.default(n).css(\"padding-right\");\n o.default(n).data(\"padding-right\", i).css(\"padding-right\", parseFloat(a) + t._scrollbarWidth + \"px\");\n }), o.default(n).each(function (e, n) {\n var i = n.style.marginRight,\n a = o.default(n).css(\"margin-right\");\n o.default(n).data(\"margin-right\", i).css(\"margin-right\", parseFloat(a) - t._scrollbarWidth + \"px\");\n });\n var i = document.body.style.paddingRight,\n a = o.default(document.body).css(\"padding-right\");\n o.default(document.body).data(\"padding-right\", i).css(\"padding-right\", parseFloat(a) + this._scrollbarWidth + \"px\");\n }\n\n o.default(document.body).addClass(\"modal-open\");\n }, e._resetScrollbar = function () {\n var t = [].slice.call(document.querySelectorAll(\".fixed-top, .fixed-bottom, .is-fixed, .sticky-top\"));\n o.default(t).each(function (t, e) {\n var n = o.default(e).data(\"padding-right\");\n o.default(e).removeData(\"padding-right\"), e.style.paddingRight = n || \"\";\n });\n var e = [].slice.call(document.querySelectorAll(\".sticky-top\"));\n o.default(e).each(function (t, e) {\n var n = o.default(e).data(\"margin-right\");\n \"undefined\" != typeof n && o.default(e).css(\"margin-right\", n).removeData(\"margin-right\");\n });\n var n = o.default(document.body).data(\"padding-right\");\n o.default(document.body).removeData(\"padding-right\"), document.body.style.paddingRight = n || \"\";\n }, e._getScrollbarWidth = function () {\n var t = document.createElement(\"div\");\n t.className = \"modal-scrollbar-measure\", document.body.appendChild(t);\n var e = t.getBoundingClientRect().width - t.clientWidth;\n return document.body.removeChild(t), e;\n }, t._jQueryInterface = function (e, n) {\n return this.each(function () {\n var i = o.default(this).data(\"bs.modal\"),\n a = r({}, R, o.default(this).data(), \"object\" == typeof e && e ? e : {});\n\n if (i || (i = new t(this, a), o.default(this).data(\"bs.modal\", i)), \"string\" == typeof e) {\n if (\"undefined\" == typeof i[e]) throw new TypeError('No method named \"' + e + '\"');\n i[e](n);\n } else a.show && i.show(n);\n });\n }, l(t, null, [{\n key: \"VERSION\",\n get: function get() {\n return \"4.6.0\";\n }\n }, {\n key: \"Default\",\n get: function get() {\n return R;\n }\n }]), t;\n }();\n\n o.default(document).on(\"click.bs.modal.data-api\", '[data-toggle=\"modal\"]', function (t) {\n var e,\n n = this,\n i = d.getSelectorFromElement(this);\n i && (e = document.querySelector(i));\n var a = o.default(e).data(\"bs.modal\") ? \"toggle\" : r({}, o.default(e).data(), o.default(this).data());\n \"A\" !== this.tagName && \"AREA\" !== this.tagName || t.preventDefault();\n var s = o.default(e).one(\"show.bs.modal\", function (t) {\n t.isDefaultPrevented() || s.one(\"hidden.bs.modal\", function () {\n o.default(n).is(\":visible\") && n.focus();\n });\n });\n\n q._jQueryInterface.call(o.default(e), a, this);\n }), o.default.fn.modal = q._jQueryInterface, o.default.fn.modal.Constructor = q, o.default.fn.modal.noConflict = function () {\n return o.default.fn.modal = P, q._jQueryInterface;\n };\n var F = [\"background\", \"cite\", \"href\", \"itemtype\", \"longdesc\", \"poster\", \"src\", \"xlink:href\"],\n Q = {\n \"*\": [\"class\", \"dir\", \"id\", \"lang\", \"role\", /^aria-[\\w-]*$/i],\n a: [\"target\", \"href\", \"title\", \"rel\"],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: [\"src\", \"srcset\", \"alt\", \"title\", \"width\", \"height\"],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n },\n B = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi,\n H = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i;\n\n function U(t, e, n) {\n if (0 === t.length) return t;\n if (n && \"function\" == typeof n) return n(t);\n\n for (var i = new window.DOMParser().parseFromString(t, \"text/html\"), o = Object.keys(e), a = [].slice.call(i.body.querySelectorAll(\"*\")), s = function s(t, n) {\n var i = a[t],\n s = i.nodeName.toLowerCase();\n if (-1 === o.indexOf(i.nodeName.toLowerCase())) return i.parentNode.removeChild(i), \"continue\";\n var l = [].slice.call(i.attributes),\n r = [].concat(e[\"*\"] || [], e[s] || []);\n l.forEach(function (t) {\n (function (t, e) {\n var n = t.nodeName.toLowerCase();\n if (-1 !== e.indexOf(n)) return -1 === F.indexOf(n) || Boolean(t.nodeValue.match(B) || t.nodeValue.match(H));\n\n for (var i = e.filter(function (t) {\n return t instanceof RegExp;\n }), o = 0, a = i.length; o < a; o++) {\n if (n.match(i[o])) return !0;\n }\n\n return !1;\n })(t, r) || i.removeAttribute(t.nodeName);\n });\n }, l = 0, r = a.length; l < r; l++) {\n s(l);\n }\n\n return i.body.innerHTML;\n }\n\n var M = \"tooltip\",\n W = o.default.fn[M],\n V = new RegExp(\"(^|\\\\s)bs-tooltip\\\\S+\", \"g\"),\n z = [\"sanitize\", \"whiteList\", \"sanitizeFn\"],\n K = {\n animation: \"boolean\",\n template: \"string\",\n title: \"(string|element|function)\",\n trigger: \"string\",\n delay: \"(number|object)\",\n html: \"boolean\",\n selector: \"(string|boolean)\",\n placement: \"(string|function)\",\n offset: \"(number|string|function)\",\n container: \"(string|element|boolean)\",\n fallbackPlacement: \"(string|array)\",\n boundary: \"(string|element)\",\n customClass: \"(string|function)\",\n sanitize: \"boolean\",\n sanitizeFn: \"(null|function)\",\n whiteList: \"object\",\n popperConfig: \"(null|object)\"\n },\n X = {\n AUTO: \"auto\",\n TOP: \"top\",\n RIGHT: \"right\",\n BOTTOM: \"bottom\",\n LEFT: \"left\"\n },\n Y = {\n animation: !0,\n template: '
',\n trigger: \"hover focus\",\n title: \"\",\n delay: 0,\n html: !1,\n selector: !1,\n placement: \"top\",\n offset: 0,\n container: !1,\n fallbackPlacement: \"flip\",\n boundary: \"scrollParent\",\n customClass: \"\",\n sanitize: !0,\n sanitizeFn: null,\n whiteList: Q,\n popperConfig: null\n },\n $ = {\n HIDE: \"hide.bs.tooltip\",\n HIDDEN: \"hidden.bs.tooltip\",\n SHOW: \"show.bs.tooltip\",\n SHOWN: \"shown.bs.tooltip\",\n INSERTED: \"inserted.bs.tooltip\",\n CLICK: \"click.bs.tooltip\",\n FOCUSIN: \"focusin.bs.tooltip\",\n FOCUSOUT: \"focusout.bs.tooltip\",\n MOUSEENTER: \"mouseenter.bs.tooltip\",\n MOUSELEAVE: \"mouseleave.bs.tooltip\"\n },\n J = function () {\n function t(t, e) {\n if (\"undefined\" == typeof a.default) throw new TypeError(\"Bootstrap's tooltips require Popper (https://popper.js.org)\");\n this._isEnabled = !0, this._timeout = 0, this._hoverState = \"\", this._activeTrigger = {}, this._popper = null, this.element = t, this.config = this._getConfig(e), this.tip = null, this._setListeners();\n }\n\n var e = t.prototype;\n return e.enable = function () {\n this._isEnabled = !0;\n }, e.disable = function () {\n this._isEnabled = !1;\n }, e.toggleEnabled = function () {\n this._isEnabled = !this._isEnabled;\n }, e.toggle = function (t) {\n if (this._isEnabled) if (t) {\n var e = this.constructor.DATA_KEY,\n n = o.default(t.currentTarget).data(e);\n n || (n = new this.constructor(t.currentTarget, this._getDelegateConfig()), o.default(t.currentTarget).data(e, n)), n._activeTrigger.click = !n._activeTrigger.click, n._isWithActiveTrigger() ? n._enter(null, n) : n._leave(null, n);\n } else {\n if (o.default(this.getTipElement()).hasClass(\"show\")) return void this._leave(null, this);\n\n this._enter(null, this);\n }\n }, e.dispose = function () {\n clearTimeout(this._timeout), o.default.removeData(this.element, this.constructor.DATA_KEY), o.default(this.element).off(this.constructor.EVENT_KEY), o.default(this.element).closest(\".modal\").off(\"hide.bs.modal\", this._hideModalHandler), this.tip && o.default(this.tip).remove(), this._isEnabled = null, this._timeout = null, this._hoverState = null, this._activeTrigger = null, this._popper && this._popper.destroy(), this._popper = null, this.element = null, this.config = null, this.tip = null;\n }, e.show = function () {\n var t = this;\n if (\"none\" === o.default(this.element).css(\"display\")) throw new Error(\"Please use show on visible elements\");\n var e = o.default.Event(this.constructor.Event.SHOW);\n\n if (this.isWithContent() && this._isEnabled) {\n o.default(this.element).trigger(e);\n var n = d.findShadowRoot(this.element),\n i = o.default.contains(null !== n ? n : this.element.ownerDocument.documentElement, this.element);\n if (e.isDefaultPrevented() || !i) return;\n var s = this.getTipElement(),\n l = d.getUID(this.constructor.NAME);\n s.setAttribute(\"id\", l), this.element.setAttribute(\"aria-describedby\", l), this.setContent(), this.config.animation && o.default(s).addClass(\"fade\");\n\n var r = \"function\" == typeof this.config.placement ? this.config.placement.call(this, s, this.element) : this.config.placement,\n u = this._getAttachment(r);\n\n this.addAttachmentClass(u);\n\n var f = this._getContainer();\n\n o.default(s).data(this.constructor.DATA_KEY, this), o.default.contains(this.element.ownerDocument.documentElement, this.tip) || o.default(s).appendTo(f), o.default(this.element).trigger(this.constructor.Event.INSERTED), this._popper = new a.default(this.element, s, this._getPopperConfig(u)), o.default(s).addClass(\"show\"), o.default(s).addClass(this.config.customClass), \"ontouchstart\" in document.documentElement && o.default(document.body).children().on(\"mouseover\", null, o.default.noop);\n\n var c = function c() {\n t.config.animation && t._fixTransition();\n var e = t._hoverState;\n t._hoverState = null, o.default(t.element).trigger(t.constructor.Event.SHOWN), \"out\" === e && t._leave(null, t);\n };\n\n if (o.default(this.tip).hasClass(\"fade\")) {\n var h = d.getTransitionDurationFromElement(this.tip);\n o.default(this.tip).one(d.TRANSITION_END, c).emulateTransitionEnd(h);\n } else c();\n }\n }, e.hide = function (t) {\n var e = this,\n n = this.getTipElement(),\n i = o.default.Event(this.constructor.Event.HIDE),\n a = function a() {\n \"show\" !== e._hoverState && n.parentNode && n.parentNode.removeChild(n), e._cleanTipClass(), e.element.removeAttribute(\"aria-describedby\"), o.default(e.element).trigger(e.constructor.Event.HIDDEN), null !== e._popper && e._popper.destroy(), t && t();\n };\n\n if (o.default(this.element).trigger(i), !i.isDefaultPrevented()) {\n if (o.default(n).removeClass(\"show\"), \"ontouchstart\" in document.documentElement && o.default(document.body).children().off(\"mouseover\", null, o.default.noop), this._activeTrigger.click = !1, this._activeTrigger.focus = !1, this._activeTrigger.hover = !1, o.default(this.tip).hasClass(\"fade\")) {\n var s = d.getTransitionDurationFromElement(n);\n o.default(n).one(d.TRANSITION_END, a).emulateTransitionEnd(s);\n } else a();\n\n this._hoverState = \"\";\n }\n }, e.update = function () {\n null !== this._popper && this._popper.scheduleUpdate();\n }, e.isWithContent = function () {\n return Boolean(this.getTitle());\n }, e.addAttachmentClass = function (t) {\n o.default(this.getTipElement()).addClass(\"bs-tooltip-\" + t);\n }, e.getTipElement = function () {\n return this.tip = this.tip || o.default(this.config.template)[0], this.tip;\n }, e.setContent = function () {\n var t = this.getTipElement();\n this.setElementContent(o.default(t.querySelectorAll(\".tooltip-inner\")), this.getTitle()), o.default(t).removeClass(\"fade show\");\n }, e.setElementContent = function (t, e) {\n \"object\" != typeof e || !e.nodeType && !e.jquery ? this.config.html ? (this.config.sanitize && (e = U(e, this.config.whiteList, this.config.sanitizeFn)), t.html(e)) : t.text(e) : this.config.html ? o.default(e).parent().is(t) || t.empty().append(e) : t.text(o.default(e).text());\n }, e.getTitle = function () {\n var t = this.element.getAttribute(\"data-original-title\");\n return t || (t = \"function\" == typeof this.config.title ? this.config.title.call(this.element) : this.config.title), t;\n }, e._getPopperConfig = function (t) {\n var e = this;\n return r({}, {\n placement: t,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: \".arrow\"\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: function onCreate(t) {\n t.originalPlacement !== t.placement && e._handlePopperPlacementChange(t);\n },\n onUpdate: function onUpdate(t) {\n return e._handlePopperPlacementChange(t);\n }\n }, this.config.popperConfig);\n }, e._getOffset = function () {\n var t = this,\n e = {};\n return \"function\" == typeof this.config.offset ? e.fn = function (e) {\n return e.offsets = r({}, e.offsets, t.config.offset(e.offsets, t.element) || {}), e;\n } : e.offset = this.config.offset, e;\n }, e._getContainer = function () {\n return !1 === this.config.container ? document.body : d.isElement(this.config.container) ? o.default(this.config.container) : o.default(document).find(this.config.container);\n }, e._getAttachment = function (t) {\n return X[t.toUpperCase()];\n }, e._setListeners = function () {\n var t = this;\n this.config.trigger.split(\" \").forEach(function (e) {\n if (\"click\" === e) o.default(t.element).on(t.constructor.Event.CLICK, t.config.selector, function (e) {\n return t.toggle(e);\n });else if (\"manual\" !== e) {\n var n = \"hover\" === e ? t.constructor.Event.MOUSEENTER : t.constructor.Event.FOCUSIN,\n i = \"hover\" === e ? t.constructor.Event.MOUSELEAVE : t.constructor.Event.FOCUSOUT;\n o.default(t.element).on(n, t.config.selector, function (e) {\n return t._enter(e);\n }).on(i, t.config.selector, function (e) {\n return t._leave(e);\n });\n }\n }), this._hideModalHandler = function () {\n t.element && t.hide();\n }, o.default(this.element).closest(\".modal\").on(\"hide.bs.modal\", this._hideModalHandler), this.config.selector ? this.config = r({}, this.config, {\n trigger: \"manual\",\n selector: \"\"\n }) : this._fixTitle();\n }, e._fixTitle = function () {\n var t = typeof this.element.getAttribute(\"data-original-title\");\n (this.element.getAttribute(\"title\") || \"string\" !== t) && (this.element.setAttribute(\"data-original-title\", this.element.getAttribute(\"title\") || \"\"), this.element.setAttribute(\"title\", \"\"));\n }, e._enter = function (t, e) {\n var n = this.constructor.DATA_KEY;\n (e = e || o.default(t.currentTarget).data(n)) || (e = new this.constructor(t.currentTarget, this._getDelegateConfig()), o.default(t.currentTarget).data(n, e)), t && (e._activeTrigger[\"focusin\" === t.type ? \"focus\" : \"hover\"] = !0), o.default(e.getTipElement()).hasClass(\"show\") || \"show\" === e._hoverState ? e._hoverState = \"show\" : (clearTimeout(e._timeout), e._hoverState = \"show\", e.config.delay && e.config.delay.show ? e._timeout = setTimeout(function () {\n \"show\" === e._hoverState && e.show();\n }, e.config.delay.show) : e.show());\n }, e._leave = function (t, e) {\n var n = this.constructor.DATA_KEY;\n (e = e || o.default(t.currentTarget).data(n)) || (e = new this.constructor(t.currentTarget, this._getDelegateConfig()), o.default(t.currentTarget).data(n, e)), t && (e._activeTrigger[\"focusout\" === t.type ? \"focus\" : \"hover\"] = !1), e._isWithActiveTrigger() || (clearTimeout(e._timeout), e._hoverState = \"out\", e.config.delay && e.config.delay.hide ? e._timeout = setTimeout(function () {\n \"out\" === e._hoverState && e.hide();\n }, e.config.delay.hide) : e.hide());\n }, e._isWithActiveTrigger = function () {\n for (var t in this._activeTrigger) {\n if (this._activeTrigger[t]) return !0;\n }\n\n return !1;\n }, e._getConfig = function (t) {\n var e = o.default(this.element).data();\n return Object.keys(e).forEach(function (t) {\n -1 !== z.indexOf(t) && delete e[t];\n }), \"number\" == typeof (t = r({}, this.constructor.Default, e, \"object\" == typeof t && t ? t : {})).delay && (t.delay = {\n show: t.delay,\n hide: t.delay\n }), \"number\" == typeof t.title && (t.title = t.title.toString()), \"number\" == typeof t.content && (t.content = t.content.toString()), d.typeCheckConfig(M, t, this.constructor.DefaultType), t.sanitize && (t.template = U(t.template, t.whiteList, t.sanitizeFn)), t;\n }, e._getDelegateConfig = function () {\n var t = {};\n if (this.config) for (var e in this.config) {\n this.constructor.Default[e] !== this.config[e] && (t[e] = this.config[e]);\n }\n return t;\n }, e._cleanTipClass = function () {\n var t = o.default(this.getTipElement()),\n e = t.attr(\"class\").match(V);\n null !== e && e.length && t.removeClass(e.join(\"\"));\n }, e._handlePopperPlacementChange = function (t) {\n this.tip = t.instance.popper, this._cleanTipClass(), this.addAttachmentClass(this._getAttachment(t.placement));\n }, e._fixTransition = function () {\n var t = this.getTipElement(),\n e = this.config.animation;\n null === t.getAttribute(\"x-placement\") && (o.default(t).removeClass(\"fade\"), this.config.animation = !1, this.hide(), this.show(), this.config.animation = e);\n }, t._jQueryInterface = function (e) {\n return this.each(function () {\n var n = o.default(this),\n i = n.data(\"bs.tooltip\"),\n a = \"object\" == typeof e && e;\n\n if ((i || !/dispose|hide/.test(e)) && (i || (i = new t(this, a), n.data(\"bs.tooltip\", i)), \"string\" == typeof e)) {\n if (\"undefined\" == typeof i[e]) throw new TypeError('No method named \"' + e + '\"');\n i[e]();\n }\n });\n }, l(t, null, [{\n key: \"VERSION\",\n get: function get() {\n return \"4.6.0\";\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Y;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return M;\n }\n }, {\n key: \"DATA_KEY\",\n get: function get() {\n return \"bs.tooltip\";\n }\n }, {\n key: \"Event\",\n get: function get() {\n return $;\n }\n }, {\n key: \"EVENT_KEY\",\n get: function get() {\n return \".bs.tooltip\";\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return K;\n }\n }]), t;\n }();\n\n o.default.fn[M] = J._jQueryInterface, o.default.fn[M].Constructor = J, o.default.fn[M].noConflict = function () {\n return o.default.fn[M] = W, J._jQueryInterface;\n };\n\n var G = \"popover\",\n Z = o.default.fn[G],\n tt = new RegExp(\"(^|\\\\s)bs-popover\\\\S+\", \"g\"),\n et = r({}, J.Default, {\n placement: \"right\",\n trigger: \"click\",\n content: \"\",\n template: '

'\n }),\n nt = r({}, J.DefaultType, {\n content: \"(string|element|function)\"\n }),\n it = {\n HIDE: \"hide.bs.popover\",\n HIDDEN: \"hidden.bs.popover\",\n SHOW: \"show.bs.popover\",\n SHOWN: \"shown.bs.popover\",\n INSERTED: \"inserted.bs.popover\",\n CLICK: \"click.bs.popover\",\n FOCUSIN: \"focusin.bs.popover\",\n FOCUSOUT: \"focusout.bs.popover\",\n MOUSEENTER: \"mouseenter.bs.popover\",\n MOUSELEAVE: \"mouseleave.bs.popover\"\n },\n ot = function (t) {\n var e, n;\n\n function i() {\n return t.apply(this, arguments) || this;\n }\n\n n = t, (e = i).prototype = Object.create(n.prototype), e.prototype.constructor = e, e.__proto__ = n;\n var a = i.prototype;\n return a.isWithContent = function () {\n return this.getTitle() || this._getContent();\n }, a.addAttachmentClass = function (t) {\n o.default(this.getTipElement()).addClass(\"bs-popover-\" + t);\n }, a.getTipElement = function () {\n return this.tip = this.tip || o.default(this.config.template)[0], this.tip;\n }, a.setContent = function () {\n var t = o.default(this.getTipElement());\n this.setElementContent(t.find(\".popover-header\"), this.getTitle());\n\n var e = this._getContent();\n\n \"function\" == typeof e && (e = e.call(this.element)), this.setElementContent(t.find(\".popover-body\"), e), t.removeClass(\"fade show\");\n }, a._getContent = function () {\n return this.element.getAttribute(\"data-content\") || this.config.content;\n }, a._cleanTipClass = function () {\n var t = o.default(this.getTipElement()),\n e = t.attr(\"class\").match(tt);\n null !== e && e.length > 0 && t.removeClass(e.join(\"\"));\n }, i._jQueryInterface = function (t) {\n return this.each(function () {\n var e = o.default(this).data(\"bs.popover\"),\n n = \"object\" == typeof t ? t : null;\n\n if ((e || !/dispose|hide/.test(t)) && (e || (e = new i(this, n), o.default(this).data(\"bs.popover\", e)), \"string\" == typeof t)) {\n if (\"undefined\" == typeof e[t]) throw new TypeError('No method named \"' + t + '\"');\n e[t]();\n }\n });\n }, l(i, null, [{\n key: \"VERSION\",\n get: function get() {\n return \"4.6.0\";\n }\n }, {\n key: \"Default\",\n get: function get() {\n return et;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return G;\n }\n }, {\n key: \"DATA_KEY\",\n get: function get() {\n return \"bs.popover\";\n }\n }, {\n key: \"Event\",\n get: function get() {\n return it;\n }\n }, {\n key: \"EVENT_KEY\",\n get: function get() {\n return \".bs.popover\";\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return nt;\n }\n }]), i;\n }(J);\n\n o.default.fn[G] = ot._jQueryInterface, o.default.fn[G].Constructor = ot, o.default.fn[G].noConflict = function () {\n return o.default.fn[G] = Z, ot._jQueryInterface;\n };\n\n var at = \"scrollspy\",\n st = o.default.fn[at],\n lt = {\n offset: 10,\n method: \"auto\",\n target: \"\"\n },\n rt = {\n offset: \"number\",\n method: \"string\",\n target: \"(string|element)\"\n },\n ut = function () {\n function t(t, e) {\n var n = this;\n this._element = t, this._scrollElement = \"BODY\" === t.tagName ? window : t, this._config = this._getConfig(e), this._selector = this._config.target + \" .nav-link,\" + this._config.target + \" .list-group-item,\" + this._config.target + \" .dropdown-item\", this._offsets = [], this._targets = [], this._activeTarget = null, this._scrollHeight = 0, o.default(this._scrollElement).on(\"scroll.bs.scrollspy\", function (t) {\n return n._process(t);\n }), this.refresh(), this._process();\n }\n\n var e = t.prototype;\n return e.refresh = function () {\n var t = this,\n e = this._scrollElement === this._scrollElement.window ? \"offset\" : \"position\",\n n = \"auto\" === this._config.method ? e : this._config.method,\n i = \"position\" === n ? this._getScrollTop() : 0;\n this._offsets = [], this._targets = [], this._scrollHeight = this._getScrollHeight(), [].slice.call(document.querySelectorAll(this._selector)).map(function (t) {\n var e,\n a = d.getSelectorFromElement(t);\n\n if (a && (e = document.querySelector(a)), e) {\n var s = e.getBoundingClientRect();\n if (s.width || s.height) return [o.default(e)[n]().top + i, a];\n }\n\n return null;\n }).filter(function (t) {\n return t;\n }).sort(function (t, e) {\n return t[0] - e[0];\n }).forEach(function (e) {\n t._offsets.push(e[0]), t._targets.push(e[1]);\n });\n }, e.dispose = function () {\n o.default.removeData(this._element, \"bs.scrollspy\"), o.default(this._scrollElement).off(\".bs.scrollspy\"), this._element = null, this._scrollElement = null, this._config = null, this._selector = null, this._offsets = null, this._targets = null, this._activeTarget = null, this._scrollHeight = null;\n }, e._getConfig = function (t) {\n if (\"string\" != typeof (t = r({}, lt, \"object\" == typeof t && t ? t : {})).target && d.isElement(t.target)) {\n var e = o.default(t.target).attr(\"id\");\n e || (e = d.getUID(at), o.default(t.target).attr(\"id\", e)), t.target = \"#\" + e;\n }\n\n return d.typeCheckConfig(at, t, rt), t;\n }, e._getScrollTop = function () {\n return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;\n }, e._getScrollHeight = function () {\n return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);\n }, e._getOffsetHeight = function () {\n return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;\n }, e._process = function () {\n var t = this._getScrollTop() + this._config.offset,\n e = this._getScrollHeight(),\n n = this._config.offset + e - this._getOffsetHeight();\n\n if (this._scrollHeight !== e && this.refresh(), t >= n) {\n var i = this._targets[this._targets.length - 1];\n this._activeTarget !== i && this._activate(i);\n } else {\n if (this._activeTarget && t < this._offsets[0] && this._offsets[0] > 0) return this._activeTarget = null, void this._clear();\n\n for (var o = this._offsets.length; o--;) {\n this._activeTarget !== this._targets[o] && t >= this._offsets[o] && (\"undefined\" == typeof this._offsets[o + 1] || t < this._offsets[o + 1]) && this._activate(this._targets[o]);\n }\n }\n }, e._activate = function (t) {\n this._activeTarget = t, this._clear();\n\n var e = this._selector.split(\",\").map(function (e) {\n return e + '[data-target=\"' + t + '\"],' + e + '[href=\"' + t + '\"]';\n }),\n n = o.default([].slice.call(document.querySelectorAll(e.join(\",\"))));\n\n n.hasClass(\"dropdown-item\") ? (n.closest(\".dropdown\").find(\".dropdown-toggle\").addClass(\"active\"), n.addClass(\"active\")) : (n.addClass(\"active\"), n.parents(\".nav, .list-group\").prev(\".nav-link, .list-group-item\").addClass(\"active\"), n.parents(\".nav, .list-group\").prev(\".nav-item\").children(\".nav-link\").addClass(\"active\")), o.default(this._scrollElement).trigger(\"activate.bs.scrollspy\", {\n relatedTarget: t\n });\n }, e._clear = function () {\n [].slice.call(document.querySelectorAll(this._selector)).filter(function (t) {\n return t.classList.contains(\"active\");\n }).forEach(function (t) {\n return t.classList.remove(\"active\");\n });\n }, t._jQueryInterface = function (e) {\n return this.each(function () {\n var n = o.default(this).data(\"bs.scrollspy\");\n\n if (n || (n = new t(this, \"object\" == typeof e && e), o.default(this).data(\"bs.scrollspy\", n)), \"string\" == typeof e) {\n if (\"undefined\" == typeof n[e]) throw new TypeError('No method named \"' + e + '\"');\n n[e]();\n }\n });\n }, l(t, null, [{\n key: \"VERSION\",\n get: function get() {\n return \"4.6.0\";\n }\n }, {\n key: \"Default\",\n get: function get() {\n return lt;\n }\n }]), t;\n }();\n\n o.default(window).on(\"load.bs.scrollspy.data-api\", function () {\n for (var t = [].slice.call(document.querySelectorAll('[data-spy=\"scroll\"]')), e = t.length; e--;) {\n var n = o.default(t[e]);\n\n ut._jQueryInterface.call(n, n.data());\n }\n }), o.default.fn[at] = ut._jQueryInterface, o.default.fn[at].Constructor = ut, o.default.fn[at].noConflict = function () {\n return o.default.fn[at] = st, ut._jQueryInterface;\n };\n\n var dt = o.default.fn.tab,\n ft = function () {\n function t(t) {\n this._element = t;\n }\n\n var e = t.prototype;\n return e.show = function () {\n var t = this;\n\n if (!(this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && o.default(this._element).hasClass(\"active\") || o.default(this._element).hasClass(\"disabled\"))) {\n var e,\n n,\n i = o.default(this._element).closest(\".nav, .list-group\")[0],\n a = d.getSelectorFromElement(this._element);\n\n if (i) {\n var s = \"UL\" === i.nodeName || \"OL\" === i.nodeName ? \"> li > .active\" : \".active\";\n n = (n = o.default.makeArray(o.default(i).find(s)))[n.length - 1];\n }\n\n var l = o.default.Event(\"hide.bs.tab\", {\n relatedTarget: this._element\n }),\n r = o.default.Event(\"show.bs.tab\", {\n relatedTarget: n\n });\n\n if (n && o.default(n).trigger(l), o.default(this._element).trigger(r), !r.isDefaultPrevented() && !l.isDefaultPrevented()) {\n a && (e = document.querySelector(a)), this._activate(this._element, i);\n\n var u = function u() {\n var e = o.default.Event(\"hidden.bs.tab\", {\n relatedTarget: t._element\n }),\n i = o.default.Event(\"shown.bs.tab\", {\n relatedTarget: n\n });\n o.default(n).trigger(e), o.default(t._element).trigger(i);\n };\n\n e ? this._activate(e, e.parentNode, u) : u();\n }\n }\n }, e.dispose = function () {\n o.default.removeData(this._element, \"bs.tab\"), this._element = null;\n }, e._activate = function (t, e, n) {\n var i = this,\n a = (!e || \"UL\" !== e.nodeName && \"OL\" !== e.nodeName ? o.default(e).children(\".active\") : o.default(e).find(\"> li > .active\"))[0],\n s = n && a && o.default(a).hasClass(\"fade\"),\n l = function l() {\n return i._transitionComplete(t, a, n);\n };\n\n if (a && s) {\n var r = d.getTransitionDurationFromElement(a);\n o.default(a).removeClass(\"show\").one(d.TRANSITION_END, l).emulateTransitionEnd(r);\n } else l();\n }, e._transitionComplete = function (t, e, n) {\n if (e) {\n o.default(e).removeClass(\"active\");\n var i = o.default(e.parentNode).find(\"> .dropdown-menu .active\")[0];\n i && o.default(i).removeClass(\"active\"), \"tab\" === e.getAttribute(\"role\") && e.setAttribute(\"aria-selected\", !1);\n }\n\n if (o.default(t).addClass(\"active\"), \"tab\" === t.getAttribute(\"role\") && t.setAttribute(\"aria-selected\", !0), d.reflow(t), t.classList.contains(\"fade\") && t.classList.add(\"show\"), t.parentNode && o.default(t.parentNode).hasClass(\"dropdown-menu\")) {\n var a = o.default(t).closest(\".dropdown\")[0];\n\n if (a) {\n var s = [].slice.call(a.querySelectorAll(\".dropdown-toggle\"));\n o.default(s).addClass(\"active\");\n }\n\n t.setAttribute(\"aria-expanded\", !0);\n }\n\n n && n();\n }, t._jQueryInterface = function (e) {\n return this.each(function () {\n var n = o.default(this),\n i = n.data(\"bs.tab\");\n\n if (i || (i = new t(this), n.data(\"bs.tab\", i)), \"string\" == typeof e) {\n if (\"undefined\" == typeof i[e]) throw new TypeError('No method named \"' + e + '\"');\n i[e]();\n }\n });\n }, l(t, null, [{\n key: \"VERSION\",\n get: function get() {\n return \"4.6.0\";\n }\n }]), t;\n }();\n\n o.default(document).on(\"click.bs.tab.data-api\", '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]', function (t) {\n t.preventDefault(), ft._jQueryInterface.call(o.default(this), \"show\");\n }), o.default.fn.tab = ft._jQueryInterface, o.default.fn.tab.Constructor = ft, o.default.fn.tab.noConflict = function () {\n return o.default.fn.tab = dt, ft._jQueryInterface;\n };\n\n var ct = o.default.fn.toast,\n ht = {\n animation: \"boolean\",\n autohide: \"boolean\",\n delay: \"number\"\n },\n gt = {\n animation: !0,\n autohide: !0,\n delay: 500\n },\n mt = function () {\n function t(t, e) {\n this._element = t, this._config = this._getConfig(e), this._timeout = null, this._setListeners();\n }\n\n var e = t.prototype;\n return e.show = function () {\n var t = this,\n e = o.default.Event(\"show.bs.toast\");\n\n if (o.default(this._element).trigger(e), !e.isDefaultPrevented()) {\n this._clearTimeout(), this._config.animation && this._element.classList.add(\"fade\");\n\n var n = function n() {\n t._element.classList.remove(\"showing\"), t._element.classList.add(\"show\"), o.default(t._element).trigger(\"shown.bs.toast\"), t._config.autohide && (t._timeout = setTimeout(function () {\n t.hide();\n }, t._config.delay));\n };\n\n if (this._element.classList.remove(\"hide\"), d.reflow(this._element), this._element.classList.add(\"showing\"), this._config.animation) {\n var i = d.getTransitionDurationFromElement(this._element);\n o.default(this._element).one(d.TRANSITION_END, n).emulateTransitionEnd(i);\n } else n();\n }\n }, e.hide = function () {\n if (this._element.classList.contains(\"show\")) {\n var t = o.default.Event(\"hide.bs.toast\");\n o.default(this._element).trigger(t), t.isDefaultPrevented() || this._close();\n }\n }, e.dispose = function () {\n this._clearTimeout(), this._element.classList.contains(\"show\") && this._element.classList.remove(\"show\"), o.default(this._element).off(\"click.dismiss.bs.toast\"), o.default.removeData(this._element, \"bs.toast\"), this._element = null, this._config = null;\n }, e._getConfig = function (t) {\n return t = r({}, gt, o.default(this._element).data(), \"object\" == typeof t && t ? t : {}), d.typeCheckConfig(\"toast\", t, this.constructor.DefaultType), t;\n }, e._setListeners = function () {\n var t = this;\n o.default(this._element).on(\"click.dismiss.bs.toast\", '[data-dismiss=\"toast\"]', function () {\n return t.hide();\n });\n }, e._close = function () {\n var t = this,\n e = function e() {\n t._element.classList.add(\"hide\"), o.default(t._element).trigger(\"hidden.bs.toast\");\n };\n\n if (this._element.classList.remove(\"show\"), this._config.animation) {\n var n = d.getTransitionDurationFromElement(this._element);\n o.default(this._element).one(d.TRANSITION_END, e).emulateTransitionEnd(n);\n } else e();\n }, e._clearTimeout = function () {\n clearTimeout(this._timeout), this._timeout = null;\n }, t._jQueryInterface = function (e) {\n return this.each(function () {\n var n = o.default(this),\n i = n.data(\"bs.toast\");\n\n if (i || (i = new t(this, \"object\" == typeof e && e), n.data(\"bs.toast\", i)), \"string\" == typeof e) {\n if (\"undefined\" == typeof i[e]) throw new TypeError('No method named \"' + e + '\"');\n i[e](this);\n }\n });\n }, l(t, null, [{\n key: \"VERSION\",\n get: function get() {\n return \"4.6.0\";\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return ht;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return gt;\n }\n }]), t;\n }();\n\n o.default.fn.toast = mt._jQueryInterface, o.default.fn.toast.Constructor = mt, o.default.fn.toast.noConflict = function () {\n return o.default.fn.toast = ct, mt._jQueryInterface;\n }, t.Alert = h, t.Button = m, t.Carousel = w, t.Collapse = D, t.Dropdown = x, t.Modal = q, t.Popover = ot, t.Scrollspy = ut, t.Tab = ft, t.Toast = mt, t.Tooltip = J, t.Util = d, Object.defineProperty(t, \"__esModule\", {\n value: !0\n });\n});","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","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","'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 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 == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { 1: 0 });\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH || CHROME_BUG }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\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 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","/*\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 */\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar bindReporter_1 = require(\"./lib/bindReporter\");\n\nvar initMetric_1 = require(\"./lib/initMetric\");\n\nvar observe_1 = require(\"./lib/observe\");\n\nvar onHidden_1 = require(\"./lib/onHidden\");\n\nexports.getCLS = function (onReport, reportAllChanges) {\n if (reportAllChanges === void 0) {\n reportAllChanges = false;\n }\n\n var metric = initMetric_1.initMetric('CLS', 0);\n var report;\n\n var entryHandler = function entryHandler(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\n var po = observe_1.observe('layout-shift', entryHandler);\n\n if (po) {\n report = bindReporter_1.bindReporter(onReport, metric, po, reportAllChanges);\n onHidden_1.onHidden(function (_a) {\n var isUnloading = _a.isUnloading;\n po.takeRecords().map(entryHandler);\n\n if (isUnloading) {\n metric.isFinal = true;\n }\n\n report();\n });\n }\n};","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","/*\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 */\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar generateUniqueID_1 = require(\"./generateUniqueID\");\n\nexports.initMetric = function (name, value) {\n if (value === void 0) {\n value = -1;\n }\n\n return {\n name: name,\n value: value,\n delta: 0,\n entries: [],\n id: generateUniqueID_1.generateUniqueID(),\n isFinal: false\n };\n};","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nvar misc_1 = require(\"./misc\"); // TODO: Implement different loggers for different environments\n\n\nvar global = misc_1.getGlobalObject();\n/** Prefix for logging strings */\n\nvar PREFIX = 'Sentry Logger ';\n/** JSDoc */\n\nvar Logger =\n/** @class */\nfunction () {\n /** JSDoc */\n function Logger() {\n this._enabled = false;\n }\n /** JSDoc */\n\n\n Logger.prototype.disable = function () {\n this._enabled = false;\n };\n /** JSDoc */\n\n\n Logger.prototype.enable = function () {\n this._enabled = true;\n };\n /** JSDoc */\n\n\n Logger.prototype.log = function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n if (!this._enabled) {\n return;\n }\n\n misc_1.consoleSandbox(function () {\n global.console.log(PREFIX + \"[Log]: \" + args.join(' '));\n });\n };\n /** JSDoc */\n\n\n Logger.prototype.warn = function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n if (!this._enabled) {\n return;\n }\n\n misc_1.consoleSandbox(function () {\n global.console.warn(PREFIX + \"[Warn]: \" + args.join(' '));\n });\n };\n /** JSDoc */\n\n\n Logger.prototype.error = function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n if (!this._enabled) {\n return;\n }\n\n misc_1.consoleSandbox(function () {\n global.console.error(PREFIX + \"[Error]: \" + args.join(' '));\n });\n };\n\n return Logger;\n}(); // Ensure we only have a single logger instance, even if multiple versions of @sentry/utils are being used\n\n\nglobal.__SENTRY__ = global.__SENTRY__ || {};\nvar logger = global.__SENTRY__.logger || (global.__SENTRY__.logger = new Logger());\nexports.logger = logger;","'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}","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * Session Status\n */\n\nvar SessionStatus;\n\n(function (SessionStatus) {\n /** JSDoc */\n SessionStatus[\"Ok\"] = \"ok\";\n /** JSDoc */\n\n SessionStatus[\"Exited\"] = \"exited\";\n /** JSDoc */\n\n SessionStatus[\"Crashed\"] = \"crashed\";\n /** JSDoc */\n\n SessionStatus[\"Abnormal\"] = \"abnormal\";\n})(SessionStatus = exports.SessionStatus || (exports.SessionStatus = {}));\n\nvar RequestSessionStatus;\n\n(function (RequestSessionStatus) {\n /** JSDoc */\n RequestSessionStatus[\"Ok\"] = \"ok\";\n /** JSDoc */\n\n RequestSessionStatus[\"Errored\"] = \"errored\";\n /** JSDoc */\n\n RequestSessionStatus[\"Crashed\"] = \"crashed\";\n})(RequestSessionStatus = exports.RequestSessionStatus || (exports.RequestSessionStatus = {}));","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar helpers_1 = require(\"../helpers\");\n\nvar DEFAULT_EVENT_TARGET = ['EventTarget', 'Window', 'Node', 'ApplicationCache', 'AudioTrackList', 'ChannelMergerNode', 'CryptoOperation', 'EventSource', 'FileReader', 'HTMLUnknownElement', 'IDBDatabase', 'IDBRequest', 'IDBTransaction', 'KeyOperation', 'MediaController', 'MessagePort', 'ModalWindow', 'Notification', 'SVGElementInstance', 'Screen', 'TextTrack', 'TextTrackCue', 'TextTrackList', 'WebSocket', 'WebSocketWorker', 'Worker', 'XMLHttpRequest', 'XMLHttpRequestEventTarget', 'XMLHttpRequestUpload'];\n/** Wrap timer functions and event targets to catch errors and provide better meta data */\n\nvar TryCatch =\n/** @class */\nfunction () {\n /**\n * @inheritDoc\n */\n function TryCatch(options) {\n /**\n * @inheritDoc\n */\n this.name = TryCatch.id;\n this._options = tslib_1.__assign({\n XMLHttpRequest: true,\n eventTarget: true,\n requestAnimationFrame: true,\n setInterval: true,\n setTimeout: true\n }, options);\n }\n /**\n * Wrap timer functions and event targets to catch errors\n * and provide better metadata.\n */\n\n\n TryCatch.prototype.setupOnce = function () {\n var global = utils_1.getGlobalObject();\n\n if (this._options.setTimeout) {\n utils_1.fill(global, 'setTimeout', this._wrapTimeFunction.bind(this));\n }\n\n if (this._options.setInterval) {\n utils_1.fill(global, 'setInterval', this._wrapTimeFunction.bind(this));\n }\n\n if (this._options.requestAnimationFrame) {\n utils_1.fill(global, 'requestAnimationFrame', this._wrapRAF.bind(this));\n }\n\n if (this._options.XMLHttpRequest && 'XMLHttpRequest' in global) {\n utils_1.fill(XMLHttpRequest.prototype, 'send', this._wrapXHR.bind(this));\n }\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\n\n TryCatch.prototype._wrapTimeFunction = function (original) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var originalCallback = args[0];\n args[0] = helpers_1.wrap(originalCallback, {\n mechanism: {\n data: {\n function: utils_1.getFunctionName(original)\n },\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\n\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, helpers_1.wrap(callback, {\n mechanism: {\n data: {\n function: 'requestAnimationFrame',\n handler: utils_1.getFunctionName(original)\n },\n handled: true,\n type: 'instrument'\n }\n }));\n };\n };\n /** JSDoc */\n\n\n TryCatch.prototype._wrapEventTarget = function (target) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var global = utils_1.getGlobalObject(); // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\n var proto = global[target] && global[target].prototype; // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n\n utils_1.fill(proto, 'addEventListener', function (original) {\n return function (eventName, fn, options) {\n try {\n if (typeof fn.handleEvent === 'function') {\n fn.handleEvent = helpers_1.wrap(fn.handleEvent.bind(fn), {\n mechanism: {\n data: {\n function: 'handleEvent',\n handler: utils_1.getFunctionName(fn),\n target: target\n },\n handled: true,\n type: 'instrument'\n }\n });\n }\n } catch (err) {// can sometimes get 'Permission denied to access property \"handle Event'\n }\n\n return original.call(this, eventName, // eslint-disable-next-line @typescript-eslint/no-explicit-any\n helpers_1.wrap(fn, {\n mechanism: {\n data: {\n function: 'addEventListener',\n handler: utils_1.getFunctionName(fn),\n target: target\n },\n handled: true,\n type: 'instrument'\n }\n }), options);\n };\n });\n utils_1.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\n\n var wrappedEventHandler = fn;\n\n try {\n var originalEventHandler = (_a = wrappedEventHandler) === null || _a === void 0 ? void 0 : _a.__sentry_wrapped__;\n\n if (originalEventHandler) {\n originalRemoveEventListener.call(this, eventName, originalEventHandler, options);\n }\n } catch (e) {// ignore, accessing __sentry_wrapped__ will throw in some Selenium environments\n }\n\n return originalRemoveEventListener.call(this, eventName, wrappedEventHandler, options);\n };\n });\n };\n /** JSDoc */\n\n\n TryCatch.prototype._wrapXHR = function (originalSend) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n } // eslint-disable-next-line @typescript-eslint/no-this-alias\n\n\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 utils_1.fill(xhr, prop, function (original) {\n var wrapOptions = {\n mechanism: {\n data: {\n function: prop,\n handler: utils_1.getFunctionName(original)\n },\n handled: true,\n type: 'instrument'\n }\n }; // If Instrument integration has been called before TryCatch, get the name of original function\n\n if (original.__sentry_original__) {\n wrapOptions.mechanism.data.handler = utils_1.getFunctionName(original.__sentry_original__);\n } // Otherwise wrap directly\n\n\n return helpers_1.wrap(original, wrapOptions);\n });\n }\n });\n return originalSend.apply(this, args);\n };\n };\n /**\n * @inheritDoc\n */\n\n\n TryCatch.id = 'TryCatch';\n return TryCatch;\n}();\n\nexports.TryCatch = TryCatch;","/*\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 */\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.bindReporter = function (callback, metric, po, observeAllUpdates) {\n var prevValue;\n return function () {\n if (po && metric.isFinal) {\n po.disconnect();\n }\n\n if (metric.value >= 0) {\n if (observeAllUpdates || metric.isFinal || document.visibilityState === 'hidden') {\n metric.delta = metric.value - (prevValue || 0); // 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\n if (metric.delta || metric.isFinal || prevValue === undefined) {\n callback(metric);\n prevValue = metric.value;\n }\n }\n }\n };\n};","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar spanstatus_1 = require(\"./spanstatus\");\n/**\n * Keeps track of finished spans for a given transaction\n * @internal\n * @hideconstructor\n * @hidden\n */\n\n\nvar SpanRecorder =\n/** @class */\nfunction () {\n function SpanRecorder(maxlen) {\n if (maxlen === void 0) {\n maxlen = 1000;\n }\n\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\n\n SpanRecorder.prototype.add = function (span) {\n if (this.spans.length > this._maxlen) {\n span.spanRecorder = undefined;\n } else {\n this.spans.push(span);\n }\n };\n\n return SpanRecorder;\n}();\n\nexports.SpanRecorder = SpanRecorder;\n/**\n * Span contains all data about a span\n */\n\nvar Span =\n/** @class */\nfunction () {\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 = utils_1.uuid4();\n /**\n * @inheritDoc\n */\n\n this.spanId = utils_1.uuid4().substring(16);\n /**\n * Timestamp in seconds when the span was created.\n */\n\n this.startTimestamp = utils_1.timestampWithMs();\n /**\n * @inheritDoc\n */\n\n this.tags = {};\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n this.data = {};\n\n if (!spanContext) {\n return this;\n }\n\n if (spanContext.traceId) {\n this.traceId = spanContext.traceId;\n }\n\n if (spanContext.spanId) {\n this.spanId = spanContext.spanId;\n }\n\n if (spanContext.parentSpanId) {\n this.parentSpanId = spanContext.parentSpanId;\n } // We want to include booleans as well here\n\n\n if ('sampled' in spanContext) {\n this.sampled = spanContext.sampled;\n }\n\n if (spanContext.op) {\n this.op = spanContext.op;\n }\n\n if (spanContext.description) {\n this.description = spanContext.description;\n }\n\n if (spanContext.data) {\n this.data = spanContext.data;\n }\n\n if (spanContext.tags) {\n this.tags = spanContext.tags;\n }\n\n if (spanContext.status) {\n this.status = spanContext.status;\n }\n\n if (spanContext.startTimestamp) {\n this.startTimestamp = spanContext.startTimestamp;\n }\n\n if (spanContext.endTimestamp) {\n this.endTimestamp = spanContext.endTimestamp;\n }\n }\n /**\n * @inheritDoc\n * @deprecated\n */\n\n\n Span.prototype.child = function (spanContext) {\n return this.startChild(spanContext);\n };\n /**\n * @inheritDoc\n */\n\n\n Span.prototype.startChild = function (spanContext) {\n var childSpan = new Span(tslib_1.__assign(tslib_1.__assign({}, spanContext), {\n parentSpanId: this.spanId,\n sampled: this.sampled,\n traceId: this.traceId\n }));\n childSpan.spanRecorder = this.spanRecorder;\n\n if (childSpan.spanRecorder) {\n childSpan.spanRecorder.add(childSpan);\n }\n\n childSpan.transaction = this.transaction;\n return childSpan;\n };\n /**\n * @inheritDoc\n */\n\n\n Span.prototype.setTag = function (key, value) {\n var _a;\n\n this.tags = tslib_1.__assign(tslib_1.__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\n\n Span.prototype.setData = function (key, value) {\n var _a;\n\n this.data = tslib_1.__assign(tslib_1.__assign({}, this.data), (_a = {}, _a[key] = value, _a));\n return this;\n };\n /**\n * @inheritDoc\n */\n\n\n Span.prototype.setStatus = function (value) {\n this.status = value;\n return this;\n };\n /**\n * @inheritDoc\n */\n\n\n Span.prototype.setHttpStatus = function (httpStatus) {\n this.setTag('http.status_code', String(httpStatus));\n var spanStatus = spanstatus_1.SpanStatus.fromHttpCode(httpStatus);\n\n if (spanStatus !== spanstatus_1.SpanStatus.UnknownError) {\n this.setStatus(spanStatus);\n }\n\n return this;\n };\n /**\n * @inheritDoc\n */\n\n\n Span.prototype.isSuccess = function () {\n return this.status === spanstatus_1.SpanStatus.Ok;\n };\n /**\n * @inheritDoc\n */\n\n\n Span.prototype.finish = function (endTimestamp) {\n this.endTimestamp = typeof endTimestamp === 'number' ? endTimestamp : utils_1.timestampWithMs();\n };\n /**\n * @inheritDoc\n */\n\n\n Span.prototype.toTraceparent = function () {\n var sampledString = '';\n\n if (this.sampled !== undefined) {\n sampledString = this.sampled ? '-1' : '-0';\n }\n\n return this.traceId + \"-\" + this.spanId + sampledString;\n };\n /**\n * @inheritDoc\n */\n\n\n Span.prototype.toContext = function () {\n return utils_1.dropUndefinedKeys({\n data: this.data,\n description: this.description,\n endTimestamp: this.endTimestamp,\n op: this.op,\n parentSpanId: this.parentSpanId,\n sampled: this.sampled,\n spanId: this.spanId,\n startTimestamp: this.startTimestamp,\n status: this.status,\n tags: this.tags,\n traceId: this.traceId\n });\n };\n /**\n * @inheritDoc\n */\n\n\n Span.prototype.updateWithContext = function (spanContext) {\n var _a, _b, _c, _d, _e;\n\n this.data = (_a = spanContext.data, _a !== null && _a !== void 0 ? _a : {});\n this.description = spanContext.description;\n this.endTimestamp = spanContext.endTimestamp;\n this.op = spanContext.op;\n this.parentSpanId = spanContext.parentSpanId;\n this.sampled = spanContext.sampled;\n this.spanId = (_b = spanContext.spanId, _b !== null && _b !== void 0 ? _b : this.spanId);\n this.startTimestamp = (_c = spanContext.startTimestamp, _c !== null && _c !== void 0 ? _c : this.startTimestamp);\n this.status = spanContext.status;\n this.tags = (_d = spanContext.tags, _d !== null && _d !== void 0 ? _d : {});\n this.traceId = (_e = spanContext.traceId, _e !== null && _e !== void 0 ? _e : this.traceId);\n return this;\n };\n /**\n * @inheritDoc\n */\n\n\n Span.prototype.getTraceContext = function () {\n return utils_1.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\n\n Span.prototype.toJSON = function () {\n return utils_1.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\n return Span;\n}();\n\nexports.Span = Span;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\nvar core_1 = require(\"@sentry/core\");\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar base_1 = require(\"./base\");\n/**\n * A special usecase for incorrectly wrapped Fetch APIs in conjunction with ad-blockers.\n * Whenever someone wraps the Fetch API and returns the wrong promise chain,\n * this chain becomes orphaned and there is no possible way to capture it's rejections\n * other than allowing it bubble up to this very handler. eg.\n *\n * const f = window.fetch;\n * window.fetch = function () {\n * const p = f.apply(this, arguments);\n *\n * p.then(function() {\n * console.log('hi.');\n * });\n *\n * return p;\n * }\n *\n * `p.then(function () { ... })` is producing a completely separate promise chain,\n * however, what's returned is `p` - the result of original `fetch` call.\n *\n * This mean, that whenever we use the Fetch API to send our own requests, _and_\n * some ad-blocker blocks it, this orphaned chain will _always_ reject,\n * effectively causing another event to be captured.\n * This makes a whole process become an infinite loop, which we need to somehow\n * deal with, and break it in one way or another.\n *\n * To deal with this issue, we are making sure that we _always_ use the real\n * browser Fetch API, instead of relying on what `window.fetch` exposes.\n * The only downside to this would be missing our own requests as breadcrumbs,\n * but because we are already not doing this, it should be just fine.\n *\n * Possible failed fetch error messages per-browser:\n *\n * Chrome: Failed to fetch\n * Edge: Failed to Fetch\n * Firefox: NetworkError when attempting to fetch resource\n * Safari: resource blocked by content blocker\n */\n\n\nfunction getNativeFetchImplementation() {\n /* eslint-disable @typescript-eslint/unbound-method */\n var _a, _b; // Fast path to avoid DOM I/O\n\n\n var global = utils_1.getGlobalObject();\n\n if (utils_1.isNativeFetch(global.fetch)) {\n return global.fetch.bind(global);\n }\n\n var document = global.document;\n var fetchImpl = global.fetch; // eslint-disable-next-line deprecation/deprecation\n\n if (typeof ((_a = document) === null || _a === void 0 ? void 0 : _a.createElement) === \"function\") {\n try {\n var sandbox = document.createElement('iframe');\n sandbox.hidden = true;\n document.head.appendChild(sandbox);\n\n if ((_b = sandbox.contentWindow) === null || _b === void 0 ? void 0 : _b.fetch) {\n fetchImpl = sandbox.contentWindow.fetch;\n }\n\n document.head.removeChild(sandbox);\n } catch (e) {\n utils_1.logger.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', e);\n }\n }\n\n return fetchImpl.bind(global);\n /* eslint-enable @typescript-eslint/unbound-method */\n}\n/** `fetch` based transport */\n\n\nvar FetchTransport =\n/** @class */\nfunction (_super) {\n tslib_1.__extends(FetchTransport, _super);\n\n function FetchTransport(options, fetchImpl) {\n if (fetchImpl === void 0) {\n fetchImpl = getNativeFetchImplementation();\n }\n\n var _this = _super.call(this, options) || this;\n\n _this._fetch = fetchImpl;\n return _this;\n }\n /**\n * @inheritDoc\n */\n\n\n FetchTransport.prototype.sendEvent = function (event) {\n return this._sendRequest(core_1.eventToSentryRequest(event, this._api), event);\n };\n /**\n * @inheritDoc\n */\n\n\n FetchTransport.prototype.sendSession = function (session) {\n return this._sendRequest(core_1.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\n\n FetchTransport.prototype._sendRequest = function (sentryRequest, originalPayload) {\n var _this = this;\n\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\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: utils_1.supportsReferrerPolicy() ? 'origin' : ''\n };\n\n if (this.options.fetchParameters !== undefined) {\n Object.assign(options, this.options.fetchParameters);\n }\n\n if (this.options.headers !== undefined) {\n options.headers = this.options.headers;\n }\n\n return this._buffer.add(new utils_1.SyncPromise(function (resolve, reject) {\n void _this._fetch(sentryRequest.url, options).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\n _this._handleResponse({\n requestType: sentryRequest.type,\n response: response,\n headers: headers,\n resolve: resolve,\n reject: reject\n });\n }).catch(reject);\n }));\n };\n\n return FetchTransport;\n}(base_1.BaseTransport);\n\nexports.FetchTransport = FetchTransport;","// This is extracted to separate module because it's shared\n// between browser and SSR code\nexport const RouteAnnouncerProps = {\n id: `gatsby-announcer`,\n style: {\n position: `absolute`,\n top: 0,\n width: 1,\n height: 1,\n padding: 0,\n overflow: `hidden`,\n clip: `rect(0, 0, 0, 0)`,\n whiteSpace: `nowrap`,\n border: 0,\n },\n \"aria-live\": `assertive`,\n \"aria-atomic\": `true`,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport redirects from \"./redirects.json\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport emitter from \"./emitter\"\nimport { RouteAnnouncerProps } from \"./route-announcer-props\"\nimport { navigate as reachNavigate } from \"@reach/router\"\nimport { globalHistory } from \"@reach/router/lib/history\"\nimport { parsePath } from \"gatsby-link\"\n\n// Convert to a map for faster lookup in maybeRedirect()\nconst redirectMap = redirects.reduce((map, redirect) => {\n map[redirect.fromPath] = redirect\n return map\n}, {})\n\nfunction maybeRedirect(pathname) {\n const redirect = redirectMap[pathname]\n\n if (redirect != null) {\n if (process.env.NODE_ENV !== `production`) {\n if (!loader.isPageNotFound(pathname)) {\n console.error(\n `The route \"${pathname}\" matches both a page and a redirect; this is probably not intentional.`\n )\n }\n }\n\n window.___replace(redirect.toPath)\n return true\n } else {\n return false\n }\n}\n\nconst onPreRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onPreRouteUpdate`, { location, prevLocation })\n }\n}\n\nconst onRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onRouteUpdate`, { location, prevLocation })\n if (\n process.env.GATSBY_EXPERIMENTAL_QUERY_ON_DEMAND &&\n process.env.GATSBY_QUERY_ON_DEMAND_LOADING_INDICATOR === `true`\n ) {\n emitter.emit(`onRouteUpdate`, { location, prevLocation })\n }\n }\n}\n\nconst navigate = (to, options = {}) => {\n // Support forward/backward navigation with numbers\n // navigate(-2) (jumps back 2 history steps)\n // navigate(2) (jumps forward 2 history steps)\n if (typeof to === `number`) {\n globalHistory.navigate(to)\n return\n }\n\n let { pathname } = parsePath(to)\n const redirect = redirectMap[pathname]\n\n // If we're redirecting, just replace the passed in pathname\n // to the one we want to redirect to.\n if (redirect) {\n to = redirect.toPath\n pathname = parsePath(to).pathname\n }\n\n // If we had a service worker update, no matter the path, reload window and\n // reset the pathname whitelist\n if (window.___swUpdated) {\n window.location = pathname\n return\n }\n\n // Start a timer to wait for a second before transitioning and showing a\n // loader in case resources aren't around yet.\n const timeoutId = setTimeout(() => {\n emitter.emit(`onDelayedLoadPageResources`, { pathname })\n apiRunner(`onRouteUpdateDelayed`, {\n location: window.location,\n })\n }, 1000)\n\n loader.loadPage(pathname).then(pageResources => {\n // If no page resources, then refresh the page\n // Do this, rather than simply `window.location.reload()`, so that\n // pressing the back/forward buttons work - otherwise when pressing\n // back, the browser will just change the URL and expect JS to handle\n // the change, which won't always work since it might not be a Gatsby\n // page.\n if (!pageResources || pageResources.status === PageResourceStatus.Error) {\n window.history.replaceState({}, ``, location.href)\n window.location = pathname\n clearTimeout(timeoutId)\n return\n }\n\n // If the loaded page has a different compilation hash to the\n // window, then a rebuild has occurred on the server. Reload.\n if (process.env.NODE_ENV === `production` && pageResources) {\n if (\n pageResources.page.webpackCompilationHash !==\n window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n window.location = pathname\n }\n }\n reachNavigate(to, options)\n clearTimeout(timeoutId)\n })\n}\n\nfunction shouldUpdateScroll(prevRouterProps, { location }) {\n const { pathname, hash } = location\n const results = apiRunner(`shouldUpdateScroll`, {\n prevRouterProps,\n // `pathname` for backwards compatibility\n pathname,\n routerProps: { location },\n getSavedScrollPosition: args => [\n 0,\n this._stateStorage.read(args, args.key),\n ],\n })\n if (results.length > 0) {\n // Use the latest registered shouldUpdateScroll result, this allows users to override plugin's configuration\n // @see https://github.com/gatsbyjs/gatsby/issues/12038\n return results[results.length - 1]\n }\n\n if (prevRouterProps) {\n const {\n location: { pathname: oldPathname },\n } = prevRouterProps\n if (oldPathname === pathname) {\n // Scroll to element if it exists, if it doesn't, or no hash is provided,\n // scroll to top.\n return hash ? decodeURI(hash.slice(1)) : [0, 0]\n }\n }\n return true\n}\n\nfunction init() {\n // The \"scroll-behavior\" package expects the \"action\" to be on the location\n // object so let's copy it over.\n globalHistory.listen(args => {\n args.location.action = args.action\n })\n\n window.___push = to => navigate(to, { replace: false })\n window.___replace = to => navigate(to, { replace: true })\n window.___navigate = (to, options) => navigate(to, options)\n\n // Check for initial page-load redirect\n maybeRedirect(window.location.pathname)\n}\n\nclass RouteAnnouncer extends React.Component {\n constructor(props) {\n super(props)\n this.announcementRef = React.createRef()\n }\n\n componentDidUpdate(prevProps, nextProps) {\n requestAnimationFrame(() => {\n let pageName = `new page at ${this.props.location.pathname}`\n if (document.title) {\n pageName = document.title\n }\n const pageHeadings = document.querySelectorAll(`#gatsby-focus-wrapper h1`)\n if (pageHeadings && pageHeadings.length) {\n pageName = pageHeadings[0].textContent\n }\n const newAnnouncement = `Navigated to ${pageName}`\n if (this.announcementRef.current) {\n const oldAnnouncement = this.announcementRef.current.innerText\n if (oldAnnouncement !== newAnnouncement) {\n this.announcementRef.current.innerText = newAnnouncement\n }\n }\n })\n }\n\n render() {\n return
\n }\n}\n\nconst compareLocationProps = (prevLocation, nextLocation) => {\n if (prevLocation.href !== nextLocation.href) {\n return true\n }\n\n if (prevLocation?.state?.key !== nextLocation?.state?.key) {\n return true\n }\n\n return false\n}\n\n// Fire on(Pre)RouteUpdate APIs\nclass RouteUpdates extends React.Component {\n constructor(props) {\n super(props)\n onPreRouteUpdate(props.location, null)\n }\n\n componentDidMount() {\n onRouteUpdate(this.props.location, null)\n }\n\n shouldComponentUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onPreRouteUpdate(this.props.location, prevProps.location)\n return true\n }\n return false\n }\n\n componentDidUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onRouteUpdate(this.props.location, prevProps.location)\n }\n }\n\n render() {\n return (\n \n {this.props.children}\n \n \n )\n }\n}\n\nRouteUpdates.propTypes = {\n location: PropTypes.object.isRequired,\n}\n\nexport { init, shouldUpdateScroll, RouteUpdates }\n","import React from \"react\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport shallowCompare from \"shallow-compare\"\n\nclass EnsureResources extends React.Component {\n constructor(props) {\n super()\n const { location, pageResources } = props\n this.state = {\n location: { ...location },\n pageResources: pageResources || loader.loadPageSync(location.pathname),\n }\n }\n\n static getDerivedStateFromProps({ location }, prevState) {\n if (prevState.location.href !== location.href) {\n const pageResources = loader.loadPageSync(location.pathname)\n return {\n pageResources,\n location: { ...location },\n }\n }\n\n return {\n location: { ...location },\n }\n }\n\n loadResources(rawPath) {\n loader.loadPage(rawPath).then(pageResources => {\n if (pageResources && pageResources.status !== PageResourceStatus.Error) {\n this.setState({\n location: { ...window.location },\n pageResources,\n })\n } else {\n window.history.replaceState({}, ``, location.href)\n window.location = rawPath\n }\n })\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n // Always return false if we're missing resources.\n if (!nextState.pageResources) {\n this.loadResources(nextProps.location.pathname)\n return false\n }\n\n if (\n process.env.BUILD_STAGE === `develop` &&\n nextState.pageResources.stale\n ) {\n this.loadResources(nextProps.location.pathname)\n return false\n }\n\n // Check if the component or json have changed.\n if (this.state.pageResources !== nextState.pageResources) {\n return true\n }\n if (\n this.state.pageResources.component !== nextState.pageResources.component\n ) {\n return true\n }\n\n if (this.state.pageResources.json !== nextState.pageResources.json) {\n return true\n }\n // Check if location has changed on a page using internal routing\n // via matchPath configuration.\n if (\n this.state.location.key !== nextState.location.key &&\n nextState.pageResources.page &&\n (nextState.pageResources.page.matchPath ||\n nextState.pageResources.page.path)\n ) {\n return true\n }\n return shallowCompare(this, nextProps, nextState)\n }\n\n render() {\n if (process.env.NODE_ENV !== `production` && !this.state.pageResources) {\n throw new Error(\n `EnsureResources was not able to find resources for path: \"${this.props.location.pathname}\"\nThis typically means that an issue occurred building components for that path.\nRun \\`gatsby clean\\` to remove any cached elements.`\n )\n }\n\n return this.props.children(this.state)\n }\n}\n\nexport default EnsureResources\n","import { apiRunner, apiRunnerAsync } from \"./api-runner-browser\"\nimport React from \"react\"\nimport ReactDOM from \"react-dom\"\nimport { Router, navigate, Location, BaseContext } from \"@reach/router\"\nimport { ScrollContext } from \"gatsby-react-router-scroll\"\nimport domReady from \"@mikaelkristiansson/domready\"\nimport { StaticQueryContext } from \"gatsby\"\nimport {\n shouldUpdateScroll,\n init as navigationInit,\n RouteUpdates,\n} from \"./navigation\"\nimport emitter from \"./emitter\"\nimport PageRenderer from \"./page-renderer\"\nimport asyncRequires from \"$virtual/async-requires\"\nimport {\n setLoader,\n ProdLoader,\n publicLoader,\n PageResourceStatus,\n getStaticQueryResults,\n} from \"./loader\"\nimport EnsureResources from \"./ensure-resources\"\nimport stripPrefix from \"./strip-prefix\"\n\n// Generated during bootstrap\nimport matchPaths from \"$virtual/match-paths.json\"\n\nconst loader = new ProdLoader(asyncRequires, matchPaths)\nsetLoader(loader)\nloader.setApiRunner(apiRunner)\n\nwindow.asyncRequires = asyncRequires\nwindow.___emitter = emitter\nwindow.___loader = publicLoader\n\nnavigationInit()\n\napiRunnerAsync(`onClientEntry`).then(() => {\n // Let plugins register a service worker. The plugin just needs\n // to return true.\n if (apiRunner(`registerServiceWorker`).length > 0) {\n require(`./register-service-worker`)\n }\n\n // In gatsby v2 if Router is used in page using matchPaths\n // paths need to contain full path.\n // For example:\n // - page have `/app/*` matchPath\n // - inside template user needs to use `/app/xyz` as path\n // Resetting `basepath`/`baseuri` keeps current behaviour\n // to not introduce breaking change.\n // Remove this in v3\n const RouteHandler = props => (\n \n \n \n )\n\n const DataContext = React.createContext({})\n\n class GatsbyRoot extends React.Component {\n render() {\n const { children } = this.props\n return (\n \n {({ location }) => (\n \n {({ pageResources, location }) => {\n const staticQueryResults = getStaticQueryResults()\n return (\n \n \n {children}\n \n \n )\n }}\n \n )}\n \n )\n }\n }\n\n class LocationHandler extends React.Component {\n render() {\n return (\n \n {({ pageResources, location }) => (\n \n \n \n \n
\n \n \n )}\n \n )\n }\n }\n\n const { pagePath, location: browserLoc } = window\n\n // Explicitly call navigate if the canonical path (window.pagePath)\n // is different to the browser path (window.location.pathname). But\n // only if NONE of the following conditions hold:\n //\n // - The url matches a client side route (page.matchPath)\n // - it's a 404 page\n // - it's the offline plugin shell (/offline-plugin-app-shell-fallback/)\n if (\n pagePath &&\n __BASE_PATH__ + pagePath !== browserLoc.pathname &&\n !(\n loader.findMatchPath(stripPrefix(browserLoc.pathname, __BASE_PATH__)) ||\n pagePath === `/404.html` ||\n pagePath.match(/^\\/404\\/?$/) ||\n pagePath.match(/^\\/offline-plugin-app-shell-fallback\\/?$/)\n )\n ) {\n navigate(__BASE_PATH__ + pagePath + browserLoc.search + browserLoc.hash, {\n replace: true,\n })\n }\n\n publicLoader.loadPage(browserLoc.pathname).then(page => {\n if (!page || page.status === PageResourceStatus.Error) {\n throw new Error(\n `page resources for ${browserLoc.pathname} not found. Not rendering React`\n )\n }\n\n window.___webpackCompilationHash = page.page.webpackCompilationHash\n\n const SiteRoot = apiRunner(\n `wrapRootElement`,\n { element: },\n ,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n const App = () => {SiteRoot}\n\n const renderer = apiRunner(\n `replaceHydrateFunction`,\n undefined,\n ReactDOM.hydrate\n )[0]\n\n domReady(() => {\n renderer(\n ,\n typeof window !== `undefined`\n ? document.getElementById(`___gatsby`)\n : void 0,\n () => {\n apiRunner(`onInitialClientRender`)\n }\n )\n })\n })\n})\n","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar types_1 = require(\"@sentry/types\");\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar hub_1 = require(\"./hub\");\n/**\n * @inheritdoc\n */\n\n\nvar SessionFlusher =\n/** @class */\nfunction () {\n function SessionFlusher(transport, attrs) {\n var _this = this;\n\n this.flushTimeout = 60;\n this._pendingAggregates = {};\n this._isEnabled = true;\n this._transport = transport; // Call to setInterval, so that flush is called every 60 seconds\n\n this._intervalId = setInterval(function () {\n return _this.flush();\n }, this.flushTimeout * 1000);\n this._sessionAttrs = attrs;\n }\n /** Sends session aggregates to Transport */\n\n\n SessionFlusher.prototype.sendSessionAggregates = function (sessionAggregates) {\n if (!this._transport.sendSession) {\n utils_1.logger.warn(\"Dropping session because custom transport doesn't implement sendSession\");\n return;\n }\n\n void this._transport.sendSession(sessionAggregates).then(null, function (reason) {\n utils_1.logger.error(\"Error while sending session: \" + reason);\n });\n };\n /** Checks if `pendingAggregates` has entries, and if it does flushes them by calling `sendSessions` */\n\n\n SessionFlusher.prototype.flush = function () {\n var sessionAggregates = this.getSessionAggregates();\n\n if (sessionAggregates.aggregates.length === 0) {\n return;\n }\n\n this._pendingAggregates = {};\n this.sendSessionAggregates(sessionAggregates);\n };\n /** Massages the entries in `pendingAggregates` and returns aggregated sessions */\n\n\n SessionFlusher.prototype.getSessionAggregates = function () {\n var _this = this;\n\n var aggregates = Object.keys(this._pendingAggregates).map(function (key) {\n return _this._pendingAggregates[parseInt(key)];\n });\n var sessionAggregates = {\n attrs: this._sessionAttrs,\n aggregates: aggregates\n };\n return utils_1.dropUndefinedKeys(sessionAggregates);\n };\n /** JSDoc */\n\n\n SessionFlusher.prototype.close = function () {\n clearInterval(this._intervalId);\n this._isEnabled = false;\n this.flush();\n };\n /**\n * Wrapper function for _incrementSessionStatusCount that checks if the instance of SessionFlusher is enabled then\n * fetches the session status of the request from `Scope.getRequestSession().status` on the scope and passes them to\n * `_incrementSessionStatusCount` along with the start date\n */\n\n\n SessionFlusher.prototype.incrementSessionStatusCount = function () {\n var _a, _b;\n\n if (!this._isEnabled) {\n return;\n }\n\n var scope = hub_1.getCurrentHub().getScope();\n var requestSession = (_a = scope) === null || _a === void 0 ? void 0 : _a.getRequestSession();\n\n if (requestSession && requestSession.status) {\n this._incrementSessionStatusCount(requestSession.status, new Date()); // This is not entirely necessarily but is added as a safe guard to indicate the bounds of a request and so in\n // case captureRequestSession is called more than once to prevent double count\n\n\n (_b = scope) === null || _b === void 0 ? void 0 : _b.setRequestSession(undefined);\n /* eslint-enable @typescript-eslint/no-unsafe-member-access */\n }\n };\n /**\n * Increments status bucket in pendingAggregates buffer (internal state) corresponding to status of\n * the session received\n */\n\n\n SessionFlusher.prototype._incrementSessionStatusCount = function (status, date) {\n // Truncate minutes and seconds on Session Started attribute to have one minute bucket keys\n var sessionStartedTrunc = new Date(date).setSeconds(0, 0);\n this._pendingAggregates[sessionStartedTrunc] = this._pendingAggregates[sessionStartedTrunc] || {}; // corresponds to aggregated sessions in one specific minute bucket\n // for example, {\"started\":\"2021-03-16T08:00:00.000Z\",\"exited\":4, \"errored\": 1}\n\n var aggregationCounts = this._pendingAggregates[sessionStartedTrunc];\n\n if (!aggregationCounts.started) {\n aggregationCounts.started = new Date(sessionStartedTrunc).toISOString();\n }\n\n switch (status) {\n case types_1.RequestSessionStatus.Errored:\n aggregationCounts.errored = (aggregationCounts.errored || 0) + 1;\n return aggregationCounts.errored;\n\n case types_1.RequestSessionStatus.Ok:\n aggregationCounts.exited = (aggregationCounts.exited || 0) + 1;\n return aggregationCounts.exited;\n\n case types_1.RequestSessionStatus.Crashed:\n aggregationCounts.crashed = (aggregationCounts.crashed || 0) + 1;\n return aggregationCounts.crashed;\n }\n };\n\n return SessionFlusher;\n}();\n\nexports.SessionFlusher = SessionFlusher;","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inheritsLoose;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar tracekit_1 = require(\"./tracekit\");\n\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 */\n\nfunction exceptionFromStacktrace(stacktrace) {\n var frames = prepareFramesForEvent(stacktrace.stack);\n var exception = {\n type: stacktrace.name,\n value: stacktrace.message\n };\n\n if (frames && frames.length) {\n exception.stacktrace = {\n frames: frames\n };\n }\n\n if (exception.type === undefined && exception.value === '') {\n exception.value = 'Unrecoverable error caught';\n }\n\n return exception;\n}\n\nexports.exceptionFromStacktrace = exceptionFromStacktrace;\n/**\n * @hidden\n */\n\nfunction eventFromPlainObject(exception, syntheticException, rejection) {\n var event = {\n exception: {\n values: [{\n type: utils_1.isEvent(exception) ? exception.constructor.name : rejection ? 'UnhandledRejection' : 'Error',\n value: \"Non-Error \" + (rejection ? 'promise rejection' : 'exception') + \" captured with keys: \" + utils_1.extractExceptionKeysForMessage(exception)\n }]\n },\n extra: {\n __serialized__: utils_1.normalizeToSize(exception)\n }\n };\n\n if (syntheticException) {\n var stacktrace = tracekit_1.computeStackTrace(syntheticException);\n var frames_1 = prepareFramesForEvent(stacktrace.stack);\n event.stacktrace = {\n frames: frames_1\n };\n }\n\n return event;\n}\n\nexports.eventFromPlainObject = eventFromPlainObject;\n/**\n * @hidden\n */\n\nfunction eventFromStacktrace(stacktrace) {\n var exception = exceptionFromStacktrace(stacktrace);\n return {\n exception: {\n values: [exception]\n }\n };\n}\n\nexports.eventFromStacktrace = eventFromStacktrace;\n/**\n * @hidden\n */\n\nfunction prepareFramesForEvent(stack) {\n if (!stack || !stack.length) {\n return [];\n }\n\n var localStack = stack;\n var firstFrameFunction = localStack[0].func || '';\n var lastFrameFunction = localStack[localStack.length - 1].func || ''; // If stack starts with one of our API calls, remove it (starts, meaning it's the top of the stack - aka last call)\n\n if (firstFrameFunction.indexOf('captureMessage') !== -1 || firstFrameFunction.indexOf('captureException') !== -1) {\n localStack = localStack.slice(1);\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\n\n if (lastFrameFunction.indexOf('sentryWrapped') !== -1) {\n localStack = localStack.slice(0, -1);\n } // The frame where the crash happened, should be the last entry in the array\n\n\n return localStack.slice(0, STACKTRACE_LIMIT).map(function (frame) {\n 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\nexports.prepareFramesForEvent = prepareFramesForEvent;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar functiontostring_1 = require(\"./functiontostring\");\n\nexports.FunctionToString = functiontostring_1.FunctionToString;\n\nvar inboundfilters_1 = require(\"./inboundfilters\");\n\nexports.InboundFilters = inboundfilters_1.InboundFilters;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar utils_2 = require(\"../utils\");\n\nvar getCLS_1 = require(\"./web-vitals/getCLS\");\n\nvar getFID_1 = require(\"./web-vitals/getFID\");\n\nvar getLCP_1 = require(\"./web-vitals/getLCP\");\n\nvar getFirstHidden_1 = require(\"./web-vitals/lib/getFirstHidden\");\n\nvar global = utils_1.getGlobalObject();\n/** Class tracking metrics */\n\nvar MetricsInstrumentation =\n/** @class */\nfunction () {\n function MetricsInstrumentation() {\n var _a;\n\n this._measurements = {};\n this._performanceCursor = 0;\n\n if (!utils_1.isNodeEnv() && ((_a = global) === null || _a === void 0 ? void 0 : _a.performance)) {\n if (global.performance.mark) {\n global.performance.mark('sentry-tracing-init');\n }\n\n this._trackCLS();\n\n this._trackLCP();\n\n this._trackFID();\n }\n }\n /** Add performance related spans to a transaction */\n\n\n MetricsInstrumentation.prototype.addPerformanceEntries = function (transaction) {\n var _this = this;\n\n if (!global || !global.performance || !global.performance.getEntries || !utils_1.browserPerformanceTimeOrigin) {\n // Gatekeeper if performance API not available\n return;\n }\n\n utils_1.logger.log('[Tracing] Adding & adjusting spans using Performance API');\n var timeOrigin = utils_2.msToSec(utils_1.browserPerformanceTimeOrigin);\n var entryScriptSrc;\n\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\n var entryScriptStartTimestamp;\n var tracingInitMarkStartTime;\n var responseStartTimestamp;\n var requestStartTimestamp;\n global.performance.getEntries().slice(this._performanceCursor).forEach(function (entry) {\n var startTime = utils_2.msToSec(entry.startTime);\n var duration = utils_2.msToSec(entry.duration);\n\n if (transaction.op === 'navigation' && timeOrigin + startTime < transaction.startTimestamp) {\n return;\n }\n\n switch (entry.entryType) {\n case 'navigation':\n {\n addNavigationSpans(transaction, entry, timeOrigin);\n responseStartTimestamp = timeOrigin + utils_2.msToSec(entry.responseStart);\n requestStartTimestamp = timeOrigin + utils_2.msToSec(entry.requestStart);\n break;\n }\n\n case 'mark':\n case 'paint':\n case 'measure':\n {\n var startTimestamp = addMeasureSpans(transaction, entry, startTime, duration, timeOrigin);\n\n if (tracingInitMarkStartTime === undefined && entry.name === 'sentry-tracing-init') {\n tracingInitMarkStartTime = startTimestamp;\n } // capture web vitals\n\n\n var firstHidden = getFirstHidden_1.getFirstHidden(); // Only report if the page wasn't hidden prior to the web vital.\n\n var shouldRecord = entry.startTime < firstHidden.timeStamp;\n\n if (entry.name === 'first-paint' && shouldRecord) {\n utils_1.logger.log('[Measurements] Adding FP');\n _this._measurements['fp'] = {\n value: entry.startTime\n };\n _this._measurements['mark.fp'] = {\n value: startTimestamp\n };\n }\n\n if (entry.name === 'first-contentful-paint' && shouldRecord) {\n utils_1.logger.log('[Measurements] Adding FCP');\n _this._measurements['fcp'] = {\n value: entry.startTime\n };\n _this._measurements['mark.fcp'] = {\n value: startTimestamp\n };\n }\n\n break;\n }\n\n case 'resource':\n {\n var resourceName = entry.name.replace(window.location.origin, '');\n var endTimestamp = addResourceSpans(transaction, entry, resourceName, startTime, duration, timeOrigin); // We remember the entry script end time to calculate the difference to the first init mark\n\n if (entryScriptStartTimestamp === undefined && (entryScriptSrc || '').indexOf(resourceName) > -1) {\n entryScriptStartTimestamp = endTimestamp;\n }\n\n break;\n }\n\n default: // Ignore other entry types.\n\n }\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\n this._performanceCursor = Math.max(performance.getEntries().length - 1, 0);\n\n this._trackNavigator(transaction); // Measurements are only available for pageload transactions\n\n\n if (transaction.op === 'pageload') {\n // normalize applicable web vital values to be relative to transaction.startTimestamp\n var timeOrigin_1 = utils_2.msToSec(utils_1.browserPerformanceTimeOrigin); // Generate TTFB (Time to First Byte), which measured as the time between the beginning of the transaction and the\n // start of the response in milliseconds\n\n if (typeof responseStartTimestamp === 'number') {\n utils_1.logger.log('[Measurements] Adding TTFB');\n this._measurements['ttfb'] = {\n value: (responseStartTimestamp - transaction.startTimestamp) * 1000\n };\n\n if (typeof requestStartTimestamp === 'number' && requestStartTimestamp <= responseStartTimestamp) {\n // Capture the time spent making the request and receiving the first byte of the response.\n // This is the time between the start of the request and the start of the response in milliseconds.\n this._measurements['ttfb.requestTime'] = {\n value: (responseStartTimestamp - requestStartTimestamp) * 1000\n };\n }\n }\n\n ['fcp', 'fp', 'lcp'].forEach(function (name) {\n if (!_this._measurements[name] || timeOrigin_1 >= transaction.startTimestamp) {\n return;\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\n\n var oldValue = _this._measurements[name].value;\n var measurementTimestamp = timeOrigin_1 + utils_2.msToSec(oldValue); // normalizedValue should be in milliseconds\n\n var normalizedValue = Math.abs((measurementTimestamp - transaction.startTimestamp) * 1000);\n var delta = normalizedValue - oldValue;\n utils_1.logger.log(\"[Measurements] Normalized \" + name + \" from \" + oldValue + \" to \" + normalizedValue + \" (\" + delta + \")\");\n _this._measurements[name].value = normalizedValue;\n });\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 + utils_2.msToSec(this._measurements['fid'].value),\n op: 'web.vitals',\n startTimestamp: this._measurements['mark.fid'].value\n });\n }\n\n transaction.setMeasurements(this._measurements);\n\n if (this._lcpEntry) {\n utils_1.logger.log('[Measurements] Adding LCP Data'); // Capture Properties of the LCP element that contributes to the LCP.\n\n if (this._lcpEntry.element) {\n transaction.setTag('lcp.element', utils_1.htmlTreeAsString(this._lcpEntry.element));\n }\n\n if (this._lcpEntry.id) {\n transaction.setTag('lcp.id', this._lcpEntry.id);\n }\n\n if (this._lcpEntry.url) {\n // Trim URL to the first 200 characters.\n transaction.setTag('lcp.url', this._lcpEntry.url.trim().slice(0, 200));\n }\n\n transaction.setTag('lcp.size', this._lcpEntry.size);\n }\n }\n };\n /** Starts tracking the Cumulative Layout Shift on the current page. */\n\n\n MetricsInstrumentation.prototype._trackCLS = function () {\n var _this = this;\n\n getCLS_1.getCLS(function (metric) {\n var entry = metric.entries.pop();\n\n if (!entry) {\n return;\n }\n\n utils_1.logger.log('[Measurements] Adding CLS');\n _this._measurements['cls'] = {\n value: metric.value\n };\n });\n };\n /**\n * Capture the information of the user agent.\n */\n\n\n MetricsInstrumentation.prototype._trackNavigator = function (transaction) {\n var navigator = global.navigator;\n\n if (!navigator) {\n return;\n } // track network connectivity\n\n\n var connection = navigator.connection;\n\n if (connection) {\n if (connection.effectiveType) {\n transaction.setTag('effectiveConnectionType', connection.effectiveType);\n }\n\n if (connection.type) {\n transaction.setTag('connectionType', connection.type);\n }\n\n if (isMeasurementValue(connection.rtt)) {\n this._measurements['connection.rtt'] = {\n value: connection.rtt\n };\n }\n\n if (isMeasurementValue(connection.downlink)) {\n this._measurements['connection.downlink'] = {\n value: connection.downlink\n };\n }\n }\n\n if (isMeasurementValue(navigator.deviceMemory)) {\n transaction.setTag('deviceMemory', String(navigator.deviceMemory));\n }\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\n\n MetricsInstrumentation.prototype._trackLCP = function () {\n var _this = this;\n\n getLCP_1.getLCP(function (metric) {\n var entry = metric.entries.pop();\n\n if (!entry) {\n return;\n }\n\n var timeOrigin = utils_2.msToSec(utils_1.browserPerformanceTimeOrigin);\n var startTime = utils_2.msToSec(entry.startTime);\n utils_1.logger.log('[Measurements] Adding LCP');\n _this._measurements['lcp'] = {\n value: metric.value\n };\n _this._measurements['mark.lcp'] = {\n value: timeOrigin + startTime\n };\n _this._lcpEntry = entry;\n });\n };\n /** Starts tracking the First Input Delay on the current page. */\n\n\n MetricsInstrumentation.prototype._trackFID = function () {\n var _this = this;\n\n getFID_1.getFID(function (metric) {\n var entry = metric.entries.pop();\n\n if (!entry) {\n return;\n }\n\n var timeOrigin = utils_2.msToSec(utils_1.browserPerformanceTimeOrigin);\n var startTime = utils_2.msToSec(entry.startTime);\n utils_1.logger.log('[Measurements] Adding FID');\n _this._measurements['fid'] = {\n value: metric.value\n };\n _this._measurements['mark.fid'] = {\n value: timeOrigin + startTime\n };\n });\n };\n\n return MetricsInstrumentation;\n}();\n\nexports.MetricsInstrumentation = MetricsInstrumentation;\n/** Instrument navigation entries */\n\nfunction addNavigationSpans(transaction, entry, timeOrigin) {\n addPerformanceNavigationTiming({\n transaction: transaction,\n entry: entry,\n event: 'unloadEvent',\n timeOrigin: timeOrigin\n });\n addPerformanceNavigationTiming({\n transaction: transaction,\n entry: entry,\n event: 'redirect',\n timeOrigin: timeOrigin\n });\n addPerformanceNavigationTiming({\n transaction: transaction,\n entry: entry,\n event: 'domContentLoadedEvent',\n timeOrigin: timeOrigin\n });\n addPerformanceNavigationTiming({\n transaction: transaction,\n entry: entry,\n event: 'loadEvent',\n timeOrigin: timeOrigin\n });\n addPerformanceNavigationTiming({\n transaction: transaction,\n entry: entry,\n event: 'connect',\n timeOrigin: timeOrigin\n });\n addPerformanceNavigationTiming({\n transaction: transaction,\n entry: entry,\n event: 'secureConnection',\n timeOrigin: timeOrigin,\n eventEnd: 'connectEnd',\n description: 'TLS/SSL'\n });\n addPerformanceNavigationTiming({\n transaction: transaction,\n entry: entry,\n event: 'fetch',\n timeOrigin: timeOrigin,\n eventEnd: 'domainLookupStart',\n description: 'cache'\n });\n addPerformanceNavigationTiming({\n transaction: transaction,\n entry: entry,\n event: 'domainLookup',\n timeOrigin: timeOrigin,\n description: 'DNS'\n });\n addRequest(transaction, entry, timeOrigin);\n}\n/** Create measure related spans */\n\n\nfunction addMeasureSpans(transaction, entry, startTime, duration, timeOrigin) {\n var measureStartTimestamp = timeOrigin + startTime;\n var measureEndTimestamp = measureStartTimestamp + duration;\n\n _startChild(transaction, {\n description: entry.name,\n endTimestamp: measureEndTimestamp,\n op: entry.entryType,\n startTimestamp: measureStartTimestamp\n });\n\n return measureStartTimestamp;\n}\n/** Create resource-related spans */\n\n\nfunction 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\n var data = {};\n\n if ('transferSize' in entry) {\n data['Transfer Size'] = entry.transferSize;\n }\n\n if ('encodedBodySize' in entry) {\n data['Encoded Body Size'] = entry.encodedBodySize;\n }\n\n if ('decodedBodySize' in entry) {\n data['Decoded Body Size'] = entry.decodedBodySize;\n }\n\n var startTimestamp = timeOrigin + startTime;\n var endTimestamp = startTimestamp + duration;\n\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\n return endTimestamp;\n}\n\nexports.addResourceSpans = addResourceSpans;\n/** Create performance navigation related spans */\n\nfunction addPerformanceNavigationTiming(props) {\n var transaction = props.transaction,\n entry = props.entry,\n event = props.event,\n timeOrigin = props.timeOrigin,\n eventEnd = props.eventEnd,\n description = props.description;\n var end = eventEnd ? entry[eventEnd] : entry[event + \"End\"];\n var start = entry[event + \"Start\"];\n\n if (!start || !end) {\n return;\n }\n\n _startChild(transaction, {\n op: 'browser',\n description: description !== null && description !== void 0 ? description : event,\n startTimestamp: timeOrigin + utils_2.msToSec(start),\n endTimestamp: timeOrigin + utils_2.msToSec(end)\n });\n}\n/** Create request and response related spans */\n\n\nfunction addRequest(transaction, entry, timeOrigin) {\n _startChild(transaction, {\n op: 'browser',\n description: 'request',\n startTimestamp: timeOrigin + utils_2.msToSec(entry.requestStart),\n endTimestamp: timeOrigin + utils_2.msToSec(entry.responseEnd)\n });\n\n _startChild(transaction, {\n op: 'browser',\n description: 'response',\n startTimestamp: timeOrigin + utils_2.msToSec(entry.responseStart),\n endTimestamp: timeOrigin + utils_2.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 */\n\n\nfunction _startChild(transaction, _a) {\n var startTimestamp = _a.startTimestamp,\n ctx = tslib_1.__rest(_a, [\"startTimestamp\"]);\n\n if (startTimestamp && transaction.startTimestamp > startTimestamp) {\n transaction.startTimestamp = startTimestamp;\n }\n\n return transaction.startChild(tslib_1.__assign({\n startTimestamp: startTimestamp\n }, ctx));\n}\n\nexports._startChild = _startChild;\n/**\n * Checks if a given value is a valid measurement value.\n */\n\nfunction isMeasurementValue(value) {\n return typeof value === 'number' && isFinite(value);\n}","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Link, {\n withPrefix,\n withAssetPrefix,\n navigate,\n push,\n replace,\n navigateTo,\n parsePath,\n} from \"gatsby-link\"\nimport { useScrollRestoration } from \"gatsby-react-router-scroll\"\nimport PageRenderer from \"./public-page-renderer\"\nimport loader from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\n\nconst StaticQueryContext = React.createContext({})\n\nfunction StaticQueryDataRenderer({ staticQueryData, data, query, render }) {\n const finalData = data\n ? data.data\n : staticQueryData[query] && staticQueryData[query].data\n\n return (\n \n {finalData && render(finalData)}\n {!finalData &&
Loading (StaticQuery)
}\n
\n )\n}\n\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n return (\n \n {staticQueryData => (\n \n )}\n \n )\n}\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n throw new Error(\n `You're likely using a version of React that doesn't support Hooks\\n` +\n `Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.`\n )\n }\n const context = React.useContext(StaticQueryContext)\n\n // query is a stringified number like `3303882` when wrapped with graphql, If a user forgets\n // to wrap the query in a grqphql, then casting it to a Number results in `NaN` allowing us to\n // catch the misuse of the API and give proper direction\n if (isNaN(Number(query))) {\n throw new Error(`useStaticQuery was called with a string but expects to be called using \\`graphql\\`. Try this:\n\nimport { useStaticQuery, graphql } from 'gatsby';\n\nuseStaticQuery(graphql\\`${query}\\`);\n`)\n }\n\n if (context[query]?.data) {\n return context[query].data\n } else {\n throw new Error(\n `The result of this StaticQuery could not be fetched.\\n\\n` +\n `This is likely a bug in Gatsby and if refreshing the page does not fix it, ` +\n `please open an issue in https://github.com/gatsbyjs/gatsby/issues`\n )\n }\n}\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport {\n Link,\n withAssetPrefix,\n withPrefix,\n graphql,\n parsePath,\n navigate,\n push, // TODO replace for v3\n replace, // TODO remove replace for v3\n navigateTo, // TODO: remove navigateTo for v3\n useScrollRestoration,\n StaticQueryContext,\n StaticQuery,\n PageRenderer,\n useStaticQuery,\n prefetchPathname,\n}\n","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar node_1 = require(\"./node\");\n\nvar string_1 = require(\"./string\");\n\nvar fallbackGlobalObject = {};\n/**\n * Safely get global scope object\n *\n * @returns Global scope object\n */\n\nfunction getGlobalObject() {\n return node_1.isNodeEnv() ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : fallbackGlobalObject;\n}\n\nexports.getGlobalObject = getGlobalObject;\n/**\n * UUID4 generator\n *\n * @returns string Generated UUID4.\n */\n\nfunction uuid4() {\n var global = getGlobalObject();\n var crypto = global.crypto || global.msCrypto;\n\n if (!(crypto === void 0) && crypto.getRandomValues) {\n // Use window.crypto API if available\n var arr = new Uint16Array(8);\n crypto.getRandomValues(arr); // set 4 in byte 7\n // eslint-disable-next-line no-bitwise\n\n arr[3] = arr[3] & 0xfff | 0x4000; // set 2 most significant bits of byte 9 to '10'\n // eslint-disable-next-line no-bitwise\n\n arr[4] = arr[4] & 0x3fff | 0x8000;\n\n var pad = function pad(num) {\n var v = num.toString(16);\n\n while (v.length < 4) {\n v = \"0\" + v;\n }\n\n return v;\n };\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 } // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523\n\n\n return 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n // eslint-disable-next-line no-bitwise\n var r = Math.random() * 16 | 0; // eslint-disable-next-line no-bitwise\n\n var v = c === 'x' ? r : r & 0x3 | 0x8;\n return v.toString(16);\n });\n}\n\nexports.uuid4 = uuid4;\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 */\n\nfunction parseUrl(url) {\n if (!url) {\n return {};\n }\n\n var match = url.match(/^(([^:/?#]+):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$/);\n\n if (!match) {\n return {};\n } // coerce to undefined values to empty string so we don't get 'undefined'\n\n\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\nexports.parseUrl = parseUrl;\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 */\n\nfunction getEventDescription(event) {\n if (event.message) {\n return event.message;\n }\n\n if (event.exception && event.exception.values && event.exception.values[0]) {\n var exception = event.exception.values[0];\n\n if (exception.type && exception.value) {\n return exception.type + \": \" + exception.value;\n }\n\n return exception.type || exception.value || event.event_id || '';\n }\n\n return event.event_id || '';\n}\n\nexports.getEventDescription = getEventDescription;\n/** JSDoc */\n\nfunction consoleSandbox(callback) {\n var global = getGlobalObject();\n var levels = ['debug', 'info', 'warn', 'error', 'log', 'assert'];\n\n if (!('console' in global)) {\n return callback();\n } // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\n\n var originalConsole = global.console;\n var wrappedLevels = {}; // Restore all wrapped console methods\n\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 }); // Perform callback manipulations\n\n var result = callback(); // Revert restoration to wrapped state\n\n Object.keys(wrappedLevels).forEach(function (level) {\n originalConsole[level] = wrappedLevels[level];\n });\n return result;\n}\n\nexports.consoleSandbox = consoleSandbox;\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 */\n\nfunction 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\nexports.addExceptionTypeValue = addExceptionTypeValue;\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 */\n\nfunction addExceptionMechanism(event, mechanism) {\n if (mechanism === void 0) {\n mechanism = {};\n } // TODO: Use real type with `keyof Mechanism` thingy and maybe make it better?\n\n\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 } catch (_oO) {// no-empty\n }\n}\n\nexports.addExceptionMechanism = addExceptionMechanism;\n/**\n * A safe form of location.href\n */\n\nfunction getLocationHref() {\n try {\n return document.location.href;\n } catch (oO) {\n return '';\n }\n}\n\nexports.getLocationHref = getLocationHref; // https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\n\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 */\n\nfunction 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}\n\nexports.parseSemver = parseSemver;\nvar defaultRetryAfter = 60 * 1000; // 60 seconds\n\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 */\n\nfunction parseRetryAfterHeader(now, header) {\n if (!header) {\n return defaultRetryAfter;\n }\n\n var headerDelay = parseInt(\"\" + header, 10);\n\n if (!isNaN(headerDelay)) {\n return headerDelay * 1000;\n }\n\n var headerDate = Date.parse(\"\" + header);\n\n if (!isNaN(headerDate)) {\n return headerDate - now;\n }\n\n return defaultRetryAfter;\n}\n\nexports.parseRetryAfterHeader = parseRetryAfterHeader;\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 */\n\nfunction addContextToFrame(lines, frame, linesOfContext) {\n if (linesOfContext === void 0) {\n linesOfContext = 5;\n }\n\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.slice(Math.max(0, sourceLine - linesOfContext), sourceLine).map(function (line) {\n return string_1.snipLine(line, 0);\n });\n frame.context_line = string_1.snipLine(lines[Math.min(maxLines - 1, sourceLine)], frame.colno || 0);\n frame.post_context = lines.slice(Math.min(sourceLine + 1, maxLines), sourceLine + 1 + linesOfContext).map(function (line) {\n return string_1.snipLine(line, 0);\n });\n}\n\nexports.addContextToFrame = addContextToFrame;\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 */\n\nfunction stripUrlQueryAndFragment(urlPath) {\n // eslint-disable-next-line no-useless-escape\n return urlPath.split(/[\\?#]/, 1)[0];\n}\n\nexports.stripUrlQueryAndFragment = stripUrlQueryAndFragment;","\"use strict\";\n\nmodule.exports = Object.assign;","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\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\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/* eslint-disable jsx-a11y/anchor-has-content */\nimport React, { useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"invariant\";\nimport createContext from \"create-react-context\";\nimport { polyfill } from \"react-lifecycles-compat\";\nimport { startsWith, pick, resolve, match, insertParams, validateRedirect, shallowCompare } from \"./lib/utils\";\nimport { globalHistory, navigate, createHistory, createMemorySource } from \"./lib/history\";\n\n////////////////////////////////////////////////////////////////////////////////\n\nvar createNamedContext = function createNamedContext(name, defaultValue) {\n var Ctx = createContext(defaultValue);\n Ctx.displayName = name;\n return Ctx;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Location Context/Provider\nvar LocationContext = createNamedContext(\"Location\");\n\n// sets up a listener if there isn't one already so apps don't need to be\n// wrapped in some top level provider\nvar Location = function Location(_ref) {\n var children = _ref.children;\n return React.createElement(\n LocationContext.Consumer,\n null,\n function (context) {\n return context ? children(context) : React.createElement(\n LocationProvider,\n null,\n children\n );\n }\n );\n};\n\nvar LocationProvider = function (_React$Component) {\n _inherits(LocationProvider, _React$Component);\n\n function LocationProvider() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, LocationProvider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n context: _this.getContext(),\n refs: { unlisten: null }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n LocationProvider.prototype.getContext = function getContext() {\n var _props$history = this.props.history,\n navigate = _props$history.navigate,\n location = _props$history.location;\n\n return { navigate: navigate, location: location };\n };\n\n LocationProvider.prototype.componentDidCatch = function componentDidCatch(error, info) {\n if (isRedirect(error)) {\n var _navigate = this.props.history.navigate;\n\n _navigate(error.uri, { replace: true });\n } else {\n throw error;\n }\n };\n\n LocationProvider.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevState.context.location !== this.state.context.location) {\n this.props.history._onTransitionComplete();\n }\n };\n\n LocationProvider.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n var refs = this.state.refs,\n history = this.props.history;\n\n history._onTransitionComplete();\n refs.unlisten = history.listen(function () {\n Promise.resolve().then(function () {\n // TODO: replace rAF with react deferred update API when it's ready https://github.com/facebook/react/issues/13306\n requestAnimationFrame(function () {\n if (!_this2.unmounted) {\n _this2.setState(function () {\n return { context: _this2.getContext() };\n });\n }\n });\n });\n });\n };\n\n LocationProvider.prototype.componentWillUnmount = function componentWillUnmount() {\n var refs = this.state.refs;\n\n this.unmounted = true;\n refs.unlisten();\n };\n\n LocationProvider.prototype.render = function render() {\n var context = this.state.context,\n children = this.props.children;\n\n return React.createElement(\n LocationContext.Provider,\n { value: context },\n typeof children === \"function\" ? children(context) : children || null\n );\n };\n\n return LocationProvider;\n}(React.Component);\n\n////////////////////////////////////////////////////////////////////////////////\n\n\nLocationProvider.defaultProps = {\n history: globalHistory\n};\nprocess.env.NODE_ENV !== \"production\" ? LocationProvider.propTypes = {\n history: PropTypes.object.isRequired\n} : void 0;\nvar ServerLocation = function ServerLocation(_ref2) {\n var url = _ref2.url,\n children = _ref2.children;\n\n var searchIndex = url.indexOf(\"?\");\n var searchExists = searchIndex > -1;\n var pathname = void 0;\n var search = \"\";\n var hash = \"\";\n\n if (searchExists) {\n pathname = url.substring(0, searchIndex);\n search = url.substring(searchIndex);\n } else {\n pathname = url;\n }\n\n return React.createElement(\n LocationContext.Provider,\n {\n value: {\n location: {\n pathname: pathname,\n search: search,\n hash: hash\n },\n navigate: function navigate() {\n throw new Error(\"You can't call navigate on the server.\");\n }\n }\n },\n children\n );\n};\n////////////////////////////////////////////////////////////////////////////////\n// Sets baseuri and basepath for nested routers and links\nvar BaseContext = createNamedContext(\"Base\", { baseuri: \"/\", basepath: \"/\" });\n\n////////////////////////////////////////////////////////////////////////////////\n// The main event, welcome to the show everybody.\nvar Router = function Router(props) {\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (baseContext) {\n return React.createElement(\n Location,\n null,\n function (locationContext) {\n return React.createElement(RouterImpl, _extends({}, baseContext, locationContext, props));\n }\n );\n }\n );\n};\n\nvar RouterImpl = function (_React$PureComponent) {\n _inherits(RouterImpl, _React$PureComponent);\n\n function RouterImpl() {\n _classCallCheck(this, RouterImpl);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n RouterImpl.prototype.render = function render() {\n var _props = this.props,\n location = _props.location,\n _navigate2 = _props.navigate,\n basepath = _props.basepath,\n primary = _props.primary,\n children = _props.children,\n baseuri = _props.baseuri,\n _props$component = _props.component,\n component = _props$component === undefined ? \"div\" : _props$component,\n domProps = _objectWithoutProperties(_props, [\"location\", \"navigate\", \"basepath\", \"primary\", \"children\", \"baseuri\", \"component\"]);\n\n var routes = React.Children.toArray(children).reduce(function (array, child) {\n var routes = createRoute(basepath)(child);\n return array.concat(routes);\n }, []);\n var pathname = location.pathname;\n\n\n var match = pick(routes, pathname);\n\n if (match) {\n var params = match.params,\n uri = match.uri,\n route = match.route,\n element = match.route.value;\n\n // remove the /* from the end for child routes relative paths\n\n basepath = route.default ? basepath : route.path.replace(/\\*$/, \"\");\n\n var props = _extends({}, params, {\n uri: uri,\n location: location,\n navigate: function navigate(to, options) {\n return _navigate2(resolve(to, uri), options);\n }\n });\n\n var clone = React.cloneElement(element, props, element.props.children ? React.createElement(\n Router,\n { location: location, primary: primary },\n element.props.children\n ) : undefined);\n\n // using 'div' for < 16.3 support\n var FocusWrapper = primary ? FocusHandler : component;\n // don't pass any props to 'div'\n var wrapperProps = primary ? _extends({ uri: uri, location: location, component: component }, domProps) : domProps;\n\n return React.createElement(\n BaseContext.Provider,\n { value: { baseuri: uri, basepath: basepath } },\n React.createElement(\n FocusWrapper,\n wrapperProps,\n clone\n )\n );\n } else {\n // Not sure if we want this, would require index routes at every level\n // warning(\n // false,\n // `\\n\\nNothing matched:\\n\\t${\n // location.pathname\n // }\\n\\nPaths checked: \\n\\t${routes\n // .map(route => route.path)\n // .join(\n // \"\\n\\t\"\n // )}\\n\\nTo get rid of this warning, add a default NotFound component as child of Router:\n // \\n\\tlet NotFound = () =>
Not Found!
\n // \\n\\t\\n\\t \\n\\t {/* ... */}\\n\\t`\n // );\n return null;\n }\n };\n\n return RouterImpl;\n}(React.PureComponent);\n\nRouterImpl.defaultProps = {\n primary: true\n};\n\n\nvar FocusContext = createNamedContext(\"Focus\");\n\nvar FocusHandler = function FocusHandler(_ref3) {\n var uri = _ref3.uri,\n location = _ref3.location,\n component = _ref3.component,\n domProps = _objectWithoutProperties(_ref3, [\"uri\", \"location\", \"component\"]);\n\n return React.createElement(\n FocusContext.Consumer,\n null,\n function (requestFocus) {\n return React.createElement(FocusHandlerImpl, _extends({}, domProps, {\n component: component,\n requestFocus: requestFocus,\n uri: uri,\n location: location\n }));\n }\n );\n};\n\n// don't focus on initial render\nvar initialRender = true;\nvar focusHandlerCount = 0;\n\nvar FocusHandlerImpl = function (_React$Component2) {\n _inherits(FocusHandlerImpl, _React$Component2);\n\n function FocusHandlerImpl() {\n var _temp2, _this4, _ret2;\n\n _classCallCheck(this, FocusHandlerImpl);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this4 = _possibleConstructorReturn(this, _React$Component2.call.apply(_React$Component2, [this].concat(args))), _this4), _this4.state = {}, _this4.requestFocus = function (node) {\n if (!_this4.state.shouldFocus && node) {\n node.focus();\n }\n }, _temp2), _possibleConstructorReturn(_this4, _ret2);\n }\n\n FocusHandlerImpl.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) {\n var initial = prevState.uri == null;\n if (initial) {\n return _extends({\n shouldFocus: true\n }, nextProps);\n } else {\n var myURIChanged = nextProps.uri !== prevState.uri;\n var navigatedUpToMe = prevState.location.pathname !== nextProps.location.pathname && nextProps.location.pathname === nextProps.uri;\n return _extends({\n shouldFocus: myURIChanged || navigatedUpToMe\n }, nextProps);\n }\n };\n\n FocusHandlerImpl.prototype.componentDidMount = function componentDidMount() {\n focusHandlerCount++;\n this.focus();\n };\n\n FocusHandlerImpl.prototype.componentWillUnmount = function componentWillUnmount() {\n focusHandlerCount--;\n if (focusHandlerCount === 0) {\n initialRender = true;\n }\n };\n\n FocusHandlerImpl.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevProps.location !== this.props.location && this.state.shouldFocus) {\n this.focus();\n }\n };\n\n FocusHandlerImpl.prototype.focus = function focus() {\n if (process.env.NODE_ENV === \"test\") {\n // getting cannot read property focus of null in the tests\n // and that bit of global `initialRender` state causes problems\n // should probably figure it out!\n return;\n }\n\n var requestFocus = this.props.requestFocus;\n\n\n if (requestFocus) {\n requestFocus(this.node);\n } else {\n if (initialRender) {\n initialRender = false;\n } else if (this.node) {\n // React polyfills [autofocus] and it fires earlier than cDM,\n // so we were stealing focus away, this line prevents that.\n if (!this.node.contains(document.activeElement)) {\n this.node.focus();\n }\n }\n }\n };\n\n FocusHandlerImpl.prototype.render = function render() {\n var _this5 = this;\n\n var _props2 = this.props,\n children = _props2.children,\n style = _props2.style,\n requestFocus = _props2.requestFocus,\n _props2$component = _props2.component,\n Comp = _props2$component === undefined ? \"div\" : _props2$component,\n uri = _props2.uri,\n location = _props2.location,\n domProps = _objectWithoutProperties(_props2, [\"children\", \"style\", \"requestFocus\", \"component\", \"uri\", \"location\"]);\n\n return React.createElement(\n Comp,\n _extends({\n style: _extends({ outline: \"none\" }, style),\n tabIndex: \"-1\",\n ref: function ref(n) {\n return _this5.node = n;\n }\n }, domProps),\n React.createElement(\n FocusContext.Provider,\n { value: this.requestFocus },\n this.props.children\n )\n );\n };\n\n return FocusHandlerImpl;\n}(React.Component);\n\npolyfill(FocusHandlerImpl);\n\nvar k = function k() {};\n\n////////////////////////////////////////////////////////////////////////////////\nvar forwardRef = React.forwardRef;\n\nif (typeof forwardRef === \"undefined\") {\n forwardRef = function forwardRef(C) {\n return C;\n };\n}\n\nvar Link = forwardRef(function (_ref4, ref) {\n var innerRef = _ref4.innerRef,\n props = _objectWithoutProperties(_ref4, [\"innerRef\"]);\n\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (_ref5) {\n var basepath = _ref5.basepath,\n baseuri = _ref5.baseuri;\n return React.createElement(\n Location,\n null,\n function (_ref6) {\n var location = _ref6.location,\n navigate = _ref6.navigate;\n\n var to = props.to,\n state = props.state,\n replace = props.replace,\n _props$getProps = props.getProps,\n getProps = _props$getProps === undefined ? k : _props$getProps,\n anchorProps = _objectWithoutProperties(props, [\"to\", \"state\", \"replace\", \"getProps\"]);\n\n var href = resolve(to, baseuri);\n var encodedHref = encodeURI(href);\n var isCurrent = location.pathname === encodedHref;\n var isPartiallyCurrent = startsWith(location.pathname, encodedHref);\n\n return React.createElement(\"a\", _extends({\n ref: ref || innerRef,\n \"aria-current\": isCurrent ? \"page\" : undefined\n }, anchorProps, getProps({ isCurrent: isCurrent, isPartiallyCurrent: isPartiallyCurrent, href: href, location: location }), {\n href: href,\n onClick: function onClick(event) {\n if (anchorProps.onClick) anchorProps.onClick(event);\n if (shouldNavigate(event)) {\n event.preventDefault();\n var shouldReplace = replace;\n if (typeof replace !== \"boolean\" && isCurrent) {\n var _location$state = _extends({}, location.state),\n key = _location$state.key,\n restState = _objectWithoutProperties(_location$state, [\"key\"]);\n\n shouldReplace = shallowCompare(_extends({}, state), restState);\n }\n navigate(href, {\n state: state,\n replace: shouldReplace\n });\n }\n }\n }));\n }\n );\n }\n );\n});\n\nLink.displayName = \"Link\";\n\nprocess.env.NODE_ENV !== \"production\" ? Link.propTypes = {\n to: PropTypes.string.isRequired\n} : void 0;\n\n////////////////////////////////////////////////////////////////////////////////\nfunction RedirectRequest(uri) {\n this.uri = uri;\n}\n\nvar isRedirect = function isRedirect(o) {\n return o instanceof RedirectRequest;\n};\n\nvar redirectTo = function redirectTo(to) {\n throw new RedirectRequest(to);\n};\n\nvar RedirectImpl = function (_React$Component3) {\n _inherits(RedirectImpl, _React$Component3);\n\n function RedirectImpl() {\n _classCallCheck(this, RedirectImpl);\n\n return _possibleConstructorReturn(this, _React$Component3.apply(this, arguments));\n }\n\n // Support React < 16 with this hook\n RedirectImpl.prototype.componentDidMount = function componentDidMount() {\n var _props3 = this.props,\n navigate = _props3.navigate,\n to = _props3.to,\n from = _props3.from,\n _props3$replace = _props3.replace,\n replace = _props3$replace === undefined ? true : _props3$replace,\n state = _props3.state,\n noThrow = _props3.noThrow,\n baseuri = _props3.baseuri,\n props = _objectWithoutProperties(_props3, [\"navigate\", \"to\", \"from\", \"replace\", \"state\", \"noThrow\", \"baseuri\"]);\n\n Promise.resolve().then(function () {\n var resolvedTo = resolve(to, baseuri);\n navigate(insertParams(resolvedTo, props), { replace: replace, state: state });\n });\n };\n\n RedirectImpl.prototype.render = function render() {\n var _props4 = this.props,\n navigate = _props4.navigate,\n to = _props4.to,\n from = _props4.from,\n replace = _props4.replace,\n state = _props4.state,\n noThrow = _props4.noThrow,\n baseuri = _props4.baseuri,\n props = _objectWithoutProperties(_props4, [\"navigate\", \"to\", \"from\", \"replace\", \"state\", \"noThrow\", \"baseuri\"]);\n\n var resolvedTo = resolve(to, baseuri);\n if (!noThrow) redirectTo(insertParams(resolvedTo, props));\n return null;\n };\n\n return RedirectImpl;\n}(React.Component);\n\nvar Redirect = function Redirect(props) {\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (_ref7) {\n var baseuri = _ref7.baseuri;\n return React.createElement(\n Location,\n null,\n function (locationContext) {\n return React.createElement(RedirectImpl, _extends({}, locationContext, { baseuri: baseuri }, props));\n }\n );\n }\n );\n};\n\nprocess.env.NODE_ENV !== \"production\" ? Redirect.propTypes = {\n from: PropTypes.string,\n to: PropTypes.string.isRequired\n} : void 0;\n\n////////////////////////////////////////////////////////////////////////////////\nvar Match = function Match(_ref8) {\n var path = _ref8.path,\n children = _ref8.children;\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (_ref9) {\n var baseuri = _ref9.baseuri;\n return React.createElement(\n Location,\n null,\n function (_ref10) {\n var navigate = _ref10.navigate,\n location = _ref10.location;\n\n var resolvedPath = resolve(path, baseuri);\n var result = match(resolvedPath, location.pathname);\n return children({\n navigate: navigate,\n location: location,\n match: result ? _extends({}, result.params, {\n uri: result.uri,\n path: path\n }) : null\n });\n }\n );\n }\n );\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Hooks\n\nvar useLocation = function useLocation() {\n var context = useContext(LocationContext);\n\n if (!context) {\n throw new Error(\"useLocation hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n return context.location;\n};\n\nvar useNavigate = function useNavigate() {\n var context = useContext(LocationContext);\n\n if (!context) {\n throw new Error(\"useNavigate hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n return context.navigate;\n};\n\nvar useParams = function useParams() {\n var context = useContext(BaseContext);\n\n if (!context) {\n throw new Error(\"useParams hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n var location = useLocation();\n\n var results = match(context.basepath, location.pathname);\n\n return results ? results.params : null;\n};\n\nvar useMatch = function useMatch(path) {\n if (!path) {\n throw new Error(\"useMatch(path: string) requires an argument of a string to match against\");\n }\n var context = useContext(BaseContext);\n\n if (!context) {\n throw new Error(\"useMatch hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n var location = useLocation();\n\n var resolvedPath = resolve(path, context.baseuri);\n var result = match(resolvedPath, location.pathname);\n return result ? _extends({}, result.params, {\n uri: result.uri,\n path: path\n }) : null;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Junk\nvar stripSlashes = function stripSlashes(str) {\n return str.replace(/(^\\/+|\\/+$)/g, \"\");\n};\n\nvar createRoute = function createRoute(basepath) {\n return function (element) {\n if (!element) {\n return null;\n }\n\n if (element.type === React.Fragment && element.props.children) {\n return React.Children.map(element.props.children, createRoute(basepath));\n }\n !(element.props.path || element.props.default || element.type === Redirect) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \": Children of must have a `path` or `default` prop, or be a ``. None found on element type `\" + element.type + \"`\") : invariant(false) : void 0;\n\n !!(element.type === Redirect && (!element.props.from || !element.props.to)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" requires both \\\"from\\\" and \\\"to\\\" props when inside a .\") : invariant(false) : void 0;\n\n !!(element.type === Redirect && !validateRedirect(element.props.from, element.props.to)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" has mismatched dynamic segments, ensure both paths have the exact same dynamic segments.\") : invariant(false) : void 0;\n\n if (element.props.default) {\n return { value: element, default: true };\n }\n\n var elementPath = element.type === Redirect ? element.props.from : element.props.path;\n\n var path = elementPath === \"/\" ? basepath : stripSlashes(basepath) + \"/\" + stripSlashes(elementPath);\n\n return {\n value: element,\n default: element.props.default,\n path: element.props.children ? stripSlashes(path) + \"/*\" : path\n };\n };\n};\n\nvar shouldNavigate = function shouldNavigate(event) {\n return !event.defaultPrevented && event.button === 0 && !(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n};\n\n////////////////////////////////////////////////////////////////////////\nexport { Link, Location, LocationProvider, Match, Redirect, Router, ServerLocation, createHistory, createMemorySource, isRedirect, navigate, redirectTo, globalHistory, match as matchPath, useLocation, useNavigate, useParams, useMatch , BaseContext };","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar base_1 = require(\"./base\");\n\nexports.BaseTransport = base_1.BaseTransport;\n\nvar fetch_1 = require(\"./fetch\");\n\nexports.FetchTransport = fetch_1.FetchTransport;\n\nvar xhr_1 = require(\"./xhr\");\n\nexports.XHRTransport = xhr_1.XHRTransport;","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","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\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 createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\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","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\nvar core_1 = require(\"@sentry/core\");\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar backend_1 = require(\"./backend\");\n\nvar helpers_1 = require(\"./helpers\");\n\nvar integrations_1 = require(\"./integrations\");\n/**\n * The Sentry Browser SDK Client.\n *\n * @see BrowserOptions for documentation on configuration options.\n * @see SentryClient for usage documentation.\n */\n\n\nvar BrowserClient =\n/** @class */\nfunction (_super) {\n tslib_1.__extends(BrowserClient, _super);\n /**\n * Creates a new Browser SDK instance.\n *\n * @param options Configuration options for this SDK.\n */\n\n\n function BrowserClient(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _this = this;\n\n options._metadata = options._metadata || {};\n options._metadata.sdk = options._metadata.sdk || {\n name: 'sentry.javascript.browser',\n packages: [{\n name: 'npm:@sentry/browser',\n version: core_1.SDK_VERSION\n }],\n version: core_1.SDK_VERSION\n };\n _this = _super.call(this, backend_1.BrowserBackend, options) || this;\n return _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\n\n BrowserClient.prototype.showReportDialog = function (options) {\n if (options === void 0) {\n options = {};\n } // doesn't work without a document (React Native)\n\n\n var document = utils_1.getGlobalObject().document;\n\n if (!document) {\n return;\n }\n\n if (!this._isEnabled()) {\n utils_1.logger.error('Trying to call showReportDialog with Sentry Client disabled');\n return;\n }\n\n helpers_1.injectReportDialog(tslib_1.__assign(tslib_1.__assign({}, options), {\n dsn: options.dsn || this.getDsn()\n }));\n };\n /**\n * @inheritDoc\n */\n\n\n BrowserClient.prototype._prepareEvent = function (event, scope, hint) {\n event.platform = event.platform || 'javascript';\n return _super.prototype._prepareEvent.call(this, event, scope, hint);\n };\n /**\n * @inheritDoc\n */\n\n\n BrowserClient.prototype._sendEvent = function (event) {\n var integration = this.getIntegration(integrations_1.Breadcrumbs);\n\n if (integration) {\n integration.addSentryBreadcrumb(event);\n }\n\n _super.prototype._sendEvent.call(this, event);\n };\n\n return BrowserClient;\n}(core_1.BaseClient);\n\nexports.BrowserClient = BrowserClient;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\ntslib_1.__exportStar(require(\"./exports\"), exports);\n\nvar core_1 = require(\"@sentry/core\");\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar BrowserIntegrations = require(\"./integrations\");\n\nvar Transports = require(\"./transports\");\n\nexports.Transports = Transports;\nvar windowIntegrations = {}; // This block is needed to add compatibility with the integrations packages when used with a CDN\n\nvar _window = utils_1.getGlobalObject();\n\nif (_window.Sentry && _window.Sentry.Integrations) {\n windowIntegrations = _window.Sentry.Integrations;\n}\n\nvar INTEGRATIONS = tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, windowIntegrations), core_1.Integrations), BrowserIntegrations);\n\nexports.Integrations = INTEGRATIONS;","/*\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 */\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar bindReporter_1 = require(\"./lib/bindReporter\");\n\nvar getFirstHidden_1 = require(\"./lib/getFirstHidden\");\n\nvar initMetric_1 = require(\"./lib/initMetric\");\n\nvar observe_1 = require(\"./lib/observe\");\n\nvar onHidden_1 = require(\"./lib/onHidden\");\n\nvar whenInput_1 = require(\"./lib/whenInput\");\n\nexports.getLCP = function (onReport, reportAllChanges) {\n if (reportAllChanges === void 0) {\n reportAllChanges = false;\n }\n\n var metric = initMetric_1.initMetric('LCP');\n var firstHidden = getFirstHidden_1.getFirstHidden();\n var report;\n\n var entryHandler = function entryHandler(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; // 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\n if (value < firstHidden.timeStamp) {\n metric.value = value;\n metric.entries.push(entry);\n } else {\n metric.isFinal = true;\n }\n\n report();\n };\n\n var po = observe_1.observe('largest-contentful-paint', entryHandler);\n\n if (po) {\n report = bindReporter_1.bindReporter(onReport, metric, po, reportAllChanges);\n\n var onFinal = function onFinal() {\n if (!metric.isFinal) {\n po.takeRecords().map(entryHandler);\n metric.isFinal = true;\n report();\n }\n };\n\n void whenInput_1.whenInput().then(onFinal);\n onHidden_1.onHidden(onFinal, true);\n }\n};","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar minimal_1 = require(\"@sentry/minimal\");\n\nexports.addBreadcrumb = minimal_1.addBreadcrumb;\nexports.captureException = minimal_1.captureException;\nexports.captureEvent = minimal_1.captureEvent;\nexports.captureMessage = minimal_1.captureMessage;\nexports.configureScope = minimal_1.configureScope;\nexports.startTransaction = minimal_1.startTransaction;\nexports.setContext = minimal_1.setContext;\nexports.setExtra = minimal_1.setExtra;\nexports.setExtras = minimal_1.setExtras;\nexports.setTag = minimal_1.setTag;\nexports.setTags = minimal_1.setTags;\nexports.setUser = minimal_1.setUser;\nexports.withScope = minimal_1.withScope;\n\nvar hub_1 = require(\"@sentry/hub\");\n\nexports.addGlobalEventProcessor = hub_1.addGlobalEventProcessor;\nexports.getCurrentHub = hub_1.getCurrentHub;\nexports.getHubFromCarrier = hub_1.getHubFromCarrier;\nexports.Hub = hub_1.Hub;\nexports.makeMain = hub_1.makeMain;\nexports.Scope = hub_1.Scope;\n\nvar api_1 = require(\"./api\");\n\nexports.API = api_1.API;\n\nvar baseclient_1 = require(\"./baseclient\");\n\nexports.BaseClient = baseclient_1.BaseClient;\n\nvar basebackend_1 = require(\"./basebackend\");\n\nexports.BaseBackend = basebackend_1.BaseBackend;\n\nvar request_1 = require(\"./request\");\n\nexports.eventToSentryRequest = request_1.eventToSentryRequest;\nexports.sessionToSentryRequest = request_1.sessionToSentryRequest;\n\nvar sdk_1 = require(\"./sdk\");\n\nexports.initAndBind = sdk_1.initAndBind;\n\nvar noop_1 = require(\"./transports/noop\");\n\nexports.NoopTransport = noop_1.NoopTransport;\n\nvar version_1 = require(\"./version\");\n\nexports.SDK_VERSION = version_1.SDK_VERSION;\n\nvar Integrations = require(\"./integrations\");\n\nexports.Integrations = Integrations;","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flat` method\n// https://tc39.es/ecma262/#sec-array.prototype.flat\n$({ target: 'Array', proto: true }, {\n flat: function flat(/* depthArg = 1 */) {\n var depthArg = arguments.length ? arguments[0] : undefined;\n var O = toObject(this);\n var sourceLen = toLength(O.length);\n var A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));\n return A;\n }\n});\n","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n/* eslint-disable max-lines */\n\n\nvar hub_1 = require(\"@sentry/hub\");\n\nvar types_1 = require(\"@sentry/types\");\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar integration_1 = require(\"./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 */\n\n\nvar BaseClient =\n/** @class */\nfunction () {\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\n this._processing = 0;\n this._backend = new backendClass(options);\n this._options = options;\n\n if (options.dsn) {\n this._dsn = new utils_1.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\n\n BaseClient.prototype.captureException = function (exception, hint, scope) {\n var _this = this;\n\n var eventId = hint && hint.event_id;\n\n this._process(this._getBackend().eventFromException(exception, hint).then(function (event) {\n return _this._captureEvent(event, hint, scope);\n }).then(function (result) {\n eventId = result;\n }));\n\n return eventId;\n };\n /**\n * @inheritDoc\n */\n\n\n BaseClient.prototype.captureMessage = function (message, level, hint, scope) {\n var _this = this;\n\n var eventId = hint && hint.event_id;\n var promisedEvent = utils_1.isPrimitive(message) ? this._getBackend().eventFromMessage(String(message), level, hint) : this._getBackend().eventFromException(message, hint);\n\n this._process(promisedEvent.then(function (event) {\n return _this._captureEvent(event, hint, scope);\n }).then(function (result) {\n eventId = result;\n }));\n\n return eventId;\n };\n /**\n * @inheritDoc\n */\n\n\n BaseClient.prototype.captureEvent = function (event, hint, scope) {\n var eventId = hint && hint.event_id;\n\n this._process(this._captureEvent(event, hint, scope).then(function (result) {\n eventId = result;\n }));\n\n return eventId;\n };\n /**\n * @inheritDoc\n */\n\n\n BaseClient.prototype.captureSession = function (session) {\n if (!(typeof session.release === 'string')) {\n utils_1.logger.warn('Discarded session because of missing or non-string release');\n } else {\n this._sendSession(session); // After sending, we set init false to indicate it's not the first occurrence\n\n\n session.update({\n init: false\n });\n }\n };\n /**\n * @inheritDoc\n */\n\n\n BaseClient.prototype.getDsn = function () {\n return this._dsn;\n };\n /**\n * @inheritDoc\n */\n\n\n BaseClient.prototype.getOptions = function () {\n return this._options;\n };\n /**\n * @inheritDoc\n */\n\n\n BaseClient.prototype.flush = function (timeout) {\n var _this = this;\n\n return this._isClientProcessing(timeout).then(function (ready) {\n return _this._getBackend().getTransport().close(timeout).then(function (transportFlushed) {\n return ready && transportFlushed;\n });\n });\n };\n /**\n * @inheritDoc\n */\n\n\n BaseClient.prototype.close = function (timeout) {\n var _this = this;\n\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\n\n BaseClient.prototype.setupIntegrations = function () {\n if (this._isEnabled()) {\n this._integrations = integration_1.setupIntegrations(this._options);\n }\n };\n /**\n * @inheritDoc\n */\n\n\n BaseClient.prototype.getIntegration = function (integration) {\n try {\n return this._integrations[integration.id] || null;\n } catch (_oO) {\n utils_1.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\n\n BaseClient.prototype._updateSessionFromEvent = function (session, event) {\n var e_1, _a;\n\n var crashed = false;\n var errored = false;\n var userAgent;\n var exceptions = event.exception && event.exception.values;\n\n if (exceptions) {\n errored = true;\n\n try {\n for (var exceptions_1 = tslib_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\n if (mechanism && mechanism.handled === false) {\n crashed = true;\n break;\n }\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (exceptions_1_1 && !exceptions_1_1.done && (_a = exceptions_1.return)) _a.call(exceptions_1);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n }\n\n var user = event.user;\n\n if (!session.userAgent) {\n var headers = event.request ? event.request.headers : {};\n\n for (var key in headers) {\n if (key.toLowerCase() === 'user-agent') {\n userAgent = headers[key];\n break;\n }\n }\n }\n\n session.update(tslib_1.__assign(tslib_1.__assign({}, crashed && {\n status: types_1.SessionStatus.Crashed\n }), {\n user: user,\n userAgent: userAgent,\n errors: session.errors + Number(errored || crashed)\n }));\n this.captureSession(session);\n };\n /** Deliver captured session to Sentry */\n\n\n BaseClient.prototype._sendSession = function (session) {\n this._getBackend().sendSession(session);\n };\n /** Waits for the client to be done with processing. */\n\n\n BaseClient.prototype._isClientProcessing = function (timeout) {\n var _this = this;\n\n return new utils_1.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 } else {\n ticked += tick;\n\n if (timeout && ticked >= timeout) {\n clearInterval(interval);\n resolve(false);\n }\n }\n }, tick);\n });\n };\n /** Returns the current backend. */\n\n\n BaseClient.prototype._getBackend = function () {\n return this._backend;\n };\n /** Determines whether this SDK is enabled and a valid Dsn is present. */\n\n\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\n\n BaseClient.prototype._prepareEvent = function (event, scope, hint) {\n var _this = this;\n\n var _a = this.getOptions().normalizeDepth,\n normalizeDepth = _a === void 0 ? 3 : _a;\n\n var prepared = tslib_1.__assign(tslib_1.__assign({}, event), {\n event_id: event.event_id || (hint && hint.event_id ? hint.event_id : utils_1.uuid4()),\n timestamp: event.timestamp || utils_1.dateTimestampInSeconds()\n });\n\n this._applyClientOptions(prepared);\n\n this._applyIntegrationsMetadata(prepared); // 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\n\n var finalScope = scope;\n\n if (hint && hint.captureContext) {\n finalScope = hub_1.Scope.clone(finalScope).update(hint.captureContext);\n } // We prepare the result here with a resolved Event.\n\n\n var result = utils_1.SyncPromise.resolve(prepared); // This should be the last thing called, since we want that\n // {@link Hub.addEventProcessor} gets the finished prepared event.\n\n if (finalScope) {\n // In case we have a hub we reassign it.\n result = finalScope.applyToEvent(prepared, hint);\n }\n\n return result.then(function (evt) {\n if (typeof normalizeDepth === 'number' && normalizeDepth > 0) {\n return _this._normalizeEvent(evt, normalizeDepth);\n }\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\n\n BaseClient.prototype._normalizeEvent = function (event, depth) {\n if (!event) {\n return null;\n }\n\n var normalized = tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, event), event.breadcrumbs && {\n breadcrumbs: event.breadcrumbs.map(function (b) {\n return tslib_1.__assign(tslib_1.__assign({}, b), b.data && {\n data: utils_1.normalize(b.data, depth)\n });\n })\n }), event.user && {\n user: utils_1.normalize(event.user, depth)\n }), event.contexts && {\n contexts: utils_1.normalize(event.contexts, depth)\n }), event.extra && {\n extra: utils_1.normalize(event.extra, depth)\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\n\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\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\n\n BaseClient.prototype._applyClientOptions = function (event) {\n var options = this.getOptions();\n var environment = options.environment,\n release = options.release,\n dist = options.dist,\n _a = options.maxValueLength,\n maxValueLength = _a === void 0 ? 250 : _a;\n\n if (!('environment' in event)) {\n event.environment = 'environment' in options ? environment : 'production';\n }\n\n if (event.release === undefined && release !== undefined) {\n event.release = release;\n }\n\n if (event.dist === undefined && dist !== undefined) {\n event.dist = dist;\n }\n\n if (event.message) {\n event.message = utils_1.truncate(event.message, maxValueLength);\n }\n\n var exception = event.exception && event.exception.values && event.exception.values[0];\n\n if (exception && exception.value) {\n exception.value = utils_1.truncate(exception.value, maxValueLength);\n }\n\n var request = event.request;\n\n if (request && request.url) {\n request.url = utils_1.truncate(request.url, maxValueLength);\n }\n };\n /**\n * This function adds all used integrations to the SDK info in the event.\n * @param event The event that will be filled with all integrations.\n */\n\n\n BaseClient.prototype._applyIntegrationsMetadata = function (event) {\n var integrationsArray = Object.keys(this._integrations);\n\n if (integrationsArray.length > 0) {\n event.sdk = event.sdk || {};\n event.sdk.integrations = tslib_1.__spread(event.sdk.integrations || [], integrationsArray);\n }\n };\n /**\n * Tells the backend to send this event\n * @param event The Sentry event to send\n */\n\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\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 utils_1.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\n\n BaseClient.prototype._processEvent = function (event, hint, scope) {\n var _this = this; // eslint-disable-next-line @typescript-eslint/unbound-method\n\n\n var _a = this.getOptions(),\n beforeSend = _a.beforeSend,\n sampleRate = _a.sampleRate;\n\n if (!this._isEnabled()) {\n return utils_1.SyncPromise.reject(new utils_1.SentryError('SDK not enabled, will not send event.'));\n }\n\n var isTransaction = event.type === 'transaction'; // 1.0 === 100% events are sent\n // 0.0 === 0% events are sent\n // Sampling for transaction happens somewhere else\n\n if (!isTransaction && typeof sampleRate === 'number' && Math.random() > sampleRate) {\n return utils_1.SyncPromise.reject(new utils_1.SentryError(\"Discarding event because it's not included in the random sample (sampling rate = \" + sampleRate + \")\"));\n }\n\n return this._prepareEvent(event, scope, hint).then(function (prepared) {\n if (prepared === null) {\n throw new utils_1.SentryError('An event processor returned null, will not send event.');\n }\n\n var isInternalException = hint && hint.data && hint.data.__sentry__ === true;\n\n if (isInternalException || isTransaction || !beforeSend) {\n return prepared;\n }\n\n var beforeSendResult = beforeSend(prepared, hint);\n\n if (typeof beforeSendResult === 'undefined') {\n throw new utils_1.SentryError('`beforeSend` method has to return `null` or a valid event.');\n } else if (utils_1.isThenable(beforeSendResult)) {\n return beforeSendResult.then(function (event) {\n return event;\n }, function (e) {\n throw new utils_1.SentryError(\"beforeSend rejected with \" + e);\n });\n }\n\n return beforeSendResult;\n }).then(function (processedEvent) {\n if (processedEvent === null) {\n throw new utils_1.SentryError('`beforeSend` returned `null`, will not send event.');\n }\n\n var session = scope && scope.getSession && scope.getSession();\n\n if (!isTransaction && session) {\n _this._updateSessionFromEvent(session, processedEvent);\n }\n\n _this._sendEvent(processedEvent);\n\n return processedEvent;\n }).then(null, function (reason) {\n if (reason instanceof utils_1.SentryError) {\n throw reason;\n }\n\n _this.captureException(reason, {\n data: {\n __sentry__: true\n },\n originalException: reason\n });\n\n throw new utils_1.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\n\n BaseClient.prototype._process = function (promise) {\n var _this = this;\n\n this._processing += 1;\n void promise.then(function (value) {\n _this._processing -= 1;\n return value;\n }, function (reason) {\n _this._processing -= 1;\n return reason;\n });\n };\n\n return BaseClient;\n}();\n\nexports.BaseClient = BaseClient;","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\ntslib_1.__exportStar(require(\"./async\"), exports);\n\ntslib_1.__exportStar(require(\"./browser\"), exports);\n\ntslib_1.__exportStar(require(\"./dsn\"), exports);\n\ntslib_1.__exportStar(require(\"./error\"), exports);\n\ntslib_1.__exportStar(require(\"./instrument\"), exports);\n\ntslib_1.__exportStar(require(\"./is\"), exports);\n\ntslib_1.__exportStar(require(\"./logger\"), exports);\n\ntslib_1.__exportStar(require(\"./memo\"), exports);\n\ntslib_1.__exportStar(require(\"./misc\"), exports);\n\ntslib_1.__exportStar(require(\"./node\"), exports);\n\ntslib_1.__exportStar(require(\"./object\"), exports);\n\ntslib_1.__exportStar(require(\"./path\"), exports);\n\ntslib_1.__exportStar(require(\"./promisebuffer\"), exports);\n\ntslib_1.__exportStar(require(\"./stacktrace\"), exports);\n\ntslib_1.__exportStar(require(\"./string\"), exports);\n\ntslib_1.__exportStar(require(\"./supports\"), exports);\n\ntslib_1.__exportStar(require(\"./syncpromise\"), exports);\n\ntslib_1.__exportStar(require(\"./time\"), exports);","/**\n * Remove a prefix from a string. Return the input string if the given prefix\n * isn't found.\n */\n\nexport default function stripPrefix(str, prefix = ``) {\n if (!prefix) {\n return str\n }\n\n if (str === prefix) {\n return `/`\n }\n\n if (str.startsWith(`${prefix}/`)) {\n return str.slice(prefix.length)\n }\n\n return str\n}\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","\"use strict\";\n\nexports.__esModule = true;\nexports.parsePath = parsePath;\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}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"@babel/runtime/helpers/esm/setPrototypeOf\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\nvar browser_1 = require(\"./browser\");\n\nvar is_1 = require(\"./is\");\n\nvar memo_1 = require(\"./memo\");\n\nvar stacktrace_1 = require(\"./stacktrace\");\n\nvar string_1 = require(\"./string\");\n/**\n * Replace a method in an object with a wrapped version of itself.\n *\n * @param source An object that contains a method to be wrapped.\n * @param name The name of the method to be wrapped.\n * @param replacementFactory A higher-order function that takes the original version of the given method and returns a\n * wrapped version. Note: The function returned by `replacementFactory` needs to be a non-arrow function, in order to\n * preserve the correct value of `this`, and the original method must be called using `origMethod.call(this, )` or `origMethod.apply(this, [])` (rather than being called directly), again to preserve `this`.\n * @returns void\n */\n\n\nfunction fill(source, name, replacementFactory) {\n if (!(name in source)) {\n return;\n }\n\n var original = source[name];\n var wrapped = replacementFactory(original); // 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\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 } catch (_Oo) {// 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\n source[name] = wrapped;\n}\n\nexports.fill = fill;\n/**\n * Encodes given object into url-friendly format\n *\n * @param object An object that contains serializable values\n * @returns string Encoded\n */\n\nfunction urlEncode(object) {\n return Object.keys(object).map(function (key) {\n return encodeURIComponent(key) + \"=\" + encodeURIComponent(object[key]);\n }).join('&');\n}\n\nexports.urlEncode = urlEncode;\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 */\n\nfunction getWalkSource(value) {\n if (is_1.isError(value)) {\n var error = value;\n var err = {\n message: error.message,\n name: error.name,\n stack: error.stack\n };\n\n for (var i in error) {\n if (Object.prototype.hasOwnProperty.call(error, i)) {\n err[i] = error[i];\n }\n }\n\n return err;\n }\n\n if (is_1.isEvent(value)) {\n var event_1 = value;\n var source = {};\n source.type = event_1.type; // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n\n try {\n source.target = is_1.isElement(event_1.target) ? browser_1.htmlTreeAsString(event_1.target) : Object.prototype.toString.call(event_1.target);\n } catch (_oO) {\n source.target = '';\n }\n\n try {\n source.currentTarget = is_1.isElement(event_1.currentTarget) ? browser_1.htmlTreeAsString(event_1.currentTarget) : Object.prototype.toString.call(event_1.currentTarget);\n } catch (_oO) {\n source.currentTarget = '';\n }\n\n if (typeof CustomEvent !== 'undefined' && is_1.isInstanceOf(value, CustomEvent)) {\n source.detail = event_1.detail;\n }\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\n return source;\n }\n\n return value;\n}\n/** Calculates bytes size of input string */\n\n\nfunction utf8Length(value) {\n // eslint-disable-next-line no-bitwise\n return ~-encodeURI(value).split(/%..|./).length;\n}\n/** Calculates bytes size of input object */\n\n\nfunction jsonSize(value) {\n return utf8Length(JSON.stringify(value));\n}\n/** JSDoc */\n\n\nfunction normalizeToSize(object, // Default Node.js REPL depth\ndepth, // 100kB, as 200kB is max payload size, so half sounds reasonable\nmaxSize) {\n if (depth === void 0) {\n depth = 3;\n }\n\n if (maxSize === void 0) {\n maxSize = 100 * 1024;\n }\n\n var serialized = normalize(object, depth);\n\n if (jsonSize(serialized) > maxSize) {\n return normalizeToSize(object, depth - 1, maxSize);\n }\n\n return serialized;\n}\n\nexports.normalizeToSize = normalizeToSize;\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 */\n\nfunction serializeValue(value) {\n var type = Object.prototype.toString.call(value); // Node.js REPL notation\n\n if (typeof value === 'string') {\n return value;\n }\n\n if (type === '[object Object]') {\n return '[Object]';\n }\n\n if (type === '[object Array]') {\n return '[Array]';\n }\n\n var normalized = normalizeValue(value);\n return is_1.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 */\n\n\nfunction normalizeValue(value, key) {\n if (key === 'domain' && value && typeof value === 'object' && value._events) {\n return '[Domain]';\n }\n\n if (key === 'domainEmitter') {\n return '[DomainEmitter]';\n }\n\n if (typeof global !== 'undefined' && value === global) {\n return '[Global]';\n }\n\n if (typeof window !== 'undefined' && value === window) {\n return '[Window]';\n }\n\n if (typeof document !== 'undefined' && value === document) {\n return '[Document]';\n } // React's SyntheticEvent thingy\n\n\n if (is_1.isSyntheticEvent(value)) {\n return '[SyntheticEvent]';\n }\n\n if (typeof value === 'number' && value !== value) {\n return '[NaN]';\n }\n\n if (value === void 0) {\n return '[undefined]';\n }\n\n if (typeof value === 'function') {\n return \"[Function: \" + stacktrace_1.getFunctionName(value) + \"]\";\n } // symbols and bigints are considered primitives by TS, but aren't natively JSON-serilaizable\n\n\n if (typeof value === 'symbol') {\n return \"[\" + String(value) + \"]\";\n }\n\n if (typeof value === 'bigint') {\n return \"[BigInt: \" + String(value) + \"]\";\n }\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\n\n\nfunction walk(key, value, depth, memo) {\n if (depth === void 0) {\n depth = +Infinity;\n }\n\n if (memo === void 0) {\n memo = new memo_1.Memo();\n } // If we reach the maximum depth, serialize whatever has left\n\n\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\n\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\n\n var normalized = normalizeValue(value, key);\n\n if (is_1.isPrimitive(normalized)) {\n return normalized;\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\n\n var source = getWalkSource(value); // Create an accumulator that will act as a parent for all future itterations of that branch\n\n var acc = Array.isArray(value) ? [] : {}; // If we already walked that branch, bail out, as it's circular reference\n\n if (memo.memoize(value)) {\n return '[Circular ~]';\n } // Walk all keys of the source\n\n\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 } // Recursively walk through all the child nodes\n\n\n acc[innerKey] = walk(innerKey, source[innerKey], depth - 1, memo);\n } // Once walked through all the branches, remove the parent from memo storage\n\n\n memo.unmemoize(value); // Return accumulated values\n\n return acc;\n}\n\nexports.walk = walk;\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\n\nfunction normalize(input, depth) {\n try {\n return JSON.parse(JSON.stringify(input, function (key, value) {\n return walk(key, value, depth);\n }));\n } catch (_oO) {\n return '**non-serializable**';\n }\n}\n\nexports.normalize = normalize;\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\n\nfunction extractExceptionKeysForMessage(exception, maxLength) {\n if (maxLength === void 0) {\n maxLength = 40;\n }\n\n var keys = Object.keys(getWalkSource(exception));\n keys.sort();\n\n if (!keys.length) {\n return '[object has no keys]';\n }\n\n if (keys[0].length >= maxLength) {\n return string_1.truncate(keys[0], maxLength);\n }\n\n for (var includedKeys = keys.length; includedKeys > 0; includedKeys--) {\n var serialized = keys.slice(0, includedKeys).join(', ');\n\n if (serialized.length > maxLength) {\n continue;\n }\n\n if (includedKeys === keys.length) {\n return serialized;\n }\n\n return string_1.truncate(serialized, maxLength);\n }\n\n return '';\n}\n\nexports.extractExceptionKeysForMessage = extractExceptionKeysForMessage;\n/**\n * Given any object, return the new object with removed keys that value was `undefined`.\n * Works recursively on objects and arrays.\n */\n\nfunction dropUndefinedKeys(val) {\n var e_1, _a;\n\n if (is_1.isPlainObject(val)) {\n var obj = val;\n var rv = {};\n\n try {\n for (var _b = tslib_1.__values(Object.keys(obj)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n\n if (typeof obj[key] !== 'undefined') {\n rv[key] = dropUndefinedKeys(obj[key]);\n }\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n\n return rv;\n }\n\n if (Array.isArray(val)) {\n return val.map(dropUndefinedKeys);\n }\n\n return val;\n}\n\nexports.dropUndefinedKeys = dropUndefinedKeys;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\nvar is_1 = require(\"./is\");\n\nvar logger_1 = require(\"./logger\");\n\nvar misc_1 = require(\"./misc\");\n\nvar object_1 = require(\"./object\");\n\nvar stacktrace_1 = require(\"./stacktrace\");\n\nvar supports_1 = require(\"./supports\");\n\nvar global = misc_1.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 */\n\nvar handlers = {};\nvar instrumented = {};\n/** Instruments given API */\n\nfunction instrument(type) {\n if (instrumented[type]) {\n return;\n }\n\n instrumented[type] = true;\n\n switch (type) {\n case 'console':\n instrumentConsole();\n break;\n\n case 'dom':\n instrumentDOM();\n break;\n\n case 'xhr':\n instrumentXHR();\n break;\n\n case 'fetch':\n instrumentFetch();\n break;\n\n case 'history':\n instrumentHistory();\n break;\n\n case 'error':\n instrumentError();\n break;\n\n case 'unhandledrejection':\n instrumentUnhandledRejection();\n break;\n\n default:\n logger_1.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 */\n\n\nfunction addInstrumentationHandler(handler) {\n if (!handler || typeof handler.type !== 'string' || typeof handler.callback !== 'function') {\n return;\n }\n\n handlers[handler.type] = handlers[handler.type] || [];\n handlers[handler.type].push(handler.callback);\n instrument(handler.type);\n}\n\nexports.addInstrumentationHandler = addInstrumentationHandler;\n/** JSDoc */\n\nfunction triggerHandlers(type, data) {\n var e_1, _a;\n\n if (!type || !handlers[type]) {\n return;\n }\n\n try {\n for (var _b = tslib_1.__values(handlers[type] || []), _c = _b.next(); !_c.done; _c = _b.next()) {\n var handler = _c.value;\n\n try {\n handler(data);\n } catch (e) {\n logger_1.logger.error(\"Error while triggering instrumentation handler.\\nType: \" + type + \"\\nName: \" + stacktrace_1.getFunctionName(handler) + \"\\nError: \" + e);\n }\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n}\n/** JSDoc */\n\n\nfunction instrumentConsole() {\n if (!('console' in global)) {\n return;\n }\n\n ['debug', 'info', 'warn', 'error', 'log', 'assert'].forEach(function (level) {\n if (!(level in global.console)) {\n return;\n }\n\n object_1.fill(global.console, level, function (originalConsoleLevel) {\n return function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n triggerHandlers('console', {\n args: args,\n level: level\n }); // this fails for some browsers. :(\n\n if (originalConsoleLevel) {\n Function.prototype.apply.call(originalConsoleLevel, global.console, args);\n }\n };\n });\n });\n}\n/** JSDoc */\n\n\nfunction instrumentFetch() {\n if (!supports_1.supportsNativeFetch()) {\n return;\n }\n\n object_1.fill(global, 'fetch', function (originalFetch) {\n return function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\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', tslib_1.__assign({}, handlerData)); // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\n return originalFetch.apply(global, args).then(function (response) {\n triggerHandlers('fetch', tslib_1.__assign(tslib_1.__assign({}, handlerData), {\n endTimestamp: Date.now(),\n response: response\n }));\n return response;\n }, function (error) {\n triggerHandlers('fetch', tslib_1.__assign(tslib_1.__assign({}, handlerData), {\n endTimestamp: Date.now(),\n 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\n throw error;\n });\n };\n });\n}\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n\n/** Extract `method` from fetch call arguments */\n\n\nfunction getFetchMethod(fetchArgs) {\n if (fetchArgs === void 0) {\n fetchArgs = [];\n }\n\n if ('Request' in global && is_1.isInstanceOf(fetchArgs[0], Request) && fetchArgs[0].method) {\n return String(fetchArgs[0].method).toUpperCase();\n }\n\n if (fetchArgs[1] && fetchArgs[1].method) {\n return String(fetchArgs[1].method).toUpperCase();\n }\n\n return 'GET';\n}\n/** Extract `url` from fetch call arguments */\n\n\nfunction getFetchUrl(fetchArgs) {\n if (fetchArgs === void 0) {\n fetchArgs = [];\n }\n\n if (typeof fetchArgs[0] === 'string') {\n return fetchArgs[0];\n }\n\n if ('Request' in global && is_1.isInstanceOf(fetchArgs[0], Request)) {\n return fetchArgs[0].url;\n }\n\n return String(fetchArgs[0]);\n}\n/* eslint-enable @typescript-eslint/no-unsafe-member-access */\n\n/** JSDoc */\n\n\nfunction instrumentXHR() {\n if (!('XMLHttpRequest' in global)) {\n return;\n } // Poor man's implementation of ES6 `Map`, tracking and keeping in sync key and value separately.\n\n\n var requestKeys = [];\n var requestValues = [];\n var xhrproto = XMLHttpRequest.prototype;\n object_1.fill(xhrproto, 'open', function (originalOpen) {\n return function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n } // eslint-disable-next-line @typescript-eslint/no-this-alias\n\n\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: is_1.isString(args[0]) ? args[0].toUpperCase() : args[0],\n url: args[1]\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\n if (is_1.isString(url) && xhr.__sentry_xhr__.method === 'POST' && url.match(/sentry_key/)) {\n xhr.__sentry_own_request__ = true;\n }\n\n var onreadystatechangeHandler = function onreadystatechangeHandler() {\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 } catch (e) {\n /* do nothing */\n }\n\n try {\n var requestPos = requestKeys.indexOf(xhr);\n\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\n if (xhr.__sentry_xhr__ && args_1[0] !== undefined) {\n xhr.__sentry_xhr__.body = args_1[0];\n }\n }\n } catch (e) {\n /* do nothing */\n }\n\n triggerHandlers('xhr', {\n args: args,\n endTimestamp: Date.now(),\n startTimestamp: Date.now(),\n xhr: xhr\n });\n }\n };\n\n if ('onreadystatechange' in xhr && typeof xhr.onreadystatechange === 'function') {\n object_1.fill(xhr, 'onreadystatechange', function (original) {\n return function () {\n var readyStateArgs = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n readyStateArgs[_i] = arguments[_i];\n }\n\n onreadystatechangeHandler();\n return original.apply(xhr, readyStateArgs);\n };\n });\n } else {\n xhr.addEventListener('readystatechange', onreadystatechangeHandler);\n }\n\n return originalOpen.apply(xhr, args);\n };\n });\n object_1.fill(xhrproto, 'send', function (originalSend) {\n return function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\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}\n\nvar lastHref;\n/** JSDoc */\n\nfunction instrumentHistory() {\n if (!supports_1.supportsHistory()) {\n return;\n }\n\n var oldOnPopState = global.onpopstate;\n\n global.onpopstate = function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var to = global.location.href; // keep track of the current URL state, as we always receive only the updated state\n\n var from = lastHref;\n lastHref = to;\n triggerHandlers('history', {\n from: from,\n to: to\n });\n\n if (oldOnPopState) {\n // Apparently this can throw in Firefox when incorrectly implemented plugin is installed.\n // https://github.com/getsentry/sentry-javascript/issues/3344\n // https://github.com/bugsnag/bugsnag-js/issues/469\n try {\n return oldOnPopState.apply(this, args);\n } catch (_oO) {// no-empty\n }\n }\n };\n /** @hidden */\n\n\n function historyReplacementFunction(originalHistoryFunction) {\n return function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var url = args.length > 2 ? args[2] : undefined;\n\n if (url) {\n // coerce to string (this is what pushState does)\n var from = lastHref;\n var to = String(url); // keep track of the current URL state, as we always receive only the updated state\n\n lastHref = to;\n triggerHandlers('history', {\n from: from,\n to: to\n });\n }\n\n return originalHistoryFunction.apply(this, args);\n };\n }\n\n object_1.fill(global.history, 'pushState', historyReplacementFunction);\n object_1.fill(global.history, 'replaceState', historyReplacementFunction);\n}\n\nvar debounceDuration = 1000;\nvar debounceTimerID;\nvar lastCapturedEvent;\n/**\n * Decide whether the current event should finish the debounce of previously captured one.\n * @param previous previously captured event\n * @param current event to be captured\n */\n\nfunction shouldShortcircuitPreviousDebounce(previous, current) {\n // If there was no previous event, it should always be swapped for the new one.\n if (!previous) {\n return true;\n } // If both events have different type, then user definitely performed two separate actions. e.g. click + keypress.\n\n\n if (previous.type !== current.type) {\n return true;\n }\n\n try {\n // If both events have the same type, it's still possible that actions were performed on different targets.\n // e.g. 2 clicks on different buttons.\n if (previous.target !== current.target) {\n return true;\n }\n } catch (e) {// just accessing `target` property can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/sentry-javascript/issues/838\n } // If both events have the same type _and_ same `target` (an element which triggered an event, _not necessarily_\n // to which an event listener was attached), we treat them as the same action, as we want to capture\n // only one breadcrumb. e.g. multiple clicks on the same button, or typing inside a user input box.\n\n\n return false;\n}\n/**\n * Decide whether an event should be captured.\n * @param event event to be captured\n */\n\n\nfunction shouldSkipDOMEvent(event) {\n // We are only interested in filtering `keypress` events for now.\n if (event.type !== 'keypress') {\n return false;\n }\n\n try {\n var target = event.target;\n\n if (!target || !target.tagName) {\n return true;\n } // Only consider keypress events on actual input elements. This will disregard keypresses targeting body\n // e.g.tabbing through elements, hotkeys, etc.\n\n\n if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.isContentEditable) {\n return false;\n }\n } catch (e) {// just accessing `target` property can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/sentry-javascript/issues/838\n }\n\n return true;\n}\n/**\n * Wraps addEventListener to capture UI breadcrumbs\n * @param handler function that will be triggered\n * @param globalListener indicates whether event was captured by the global event listener\n * @returns wrapped breadcrumb events handler\n * @hidden\n */\n\n\nfunction makeDOMEventHandler(handler, globalListener) {\n if (globalListener === void 0) {\n globalListener = false;\n }\n\n return function (event) {\n // It's possible this handler might trigger multiple times for the same\n // event (e.g. event propagation through node ancestors).\n // Ignore if we've already captured that event.\n if (!event || lastCapturedEvent === event) {\n return;\n } // We always want to skip _some_ events.\n\n\n if (shouldSkipDOMEvent(event)) {\n return;\n }\n\n var name = event.type === 'keypress' ? 'input' : event.type; // If there is no debounce timer, it means that we can safely capture the new event and store it for future comparisons.\n\n if (debounceTimerID === undefined) {\n handler({\n event: event,\n name: name,\n global: globalListener\n });\n lastCapturedEvent = event;\n } // If there is a debounce awaiting, see if the new event is different enough to treat it as a unique one.\n // If that's the case, emit the previous event and store locally the newly-captured DOM event.\n else if (shouldShortcircuitPreviousDebounce(lastCapturedEvent, event)) {\n handler({\n event: event,\n name: name,\n global: globalListener\n });\n lastCapturedEvent = event;\n } // Start a new debounce timer that will prevent us from capturing multiple events that should be grouped together.\n\n\n clearTimeout(debounceTimerID);\n debounceTimerID = global.setTimeout(function () {\n debounceTimerID = undefined;\n }, debounceDuration);\n };\n}\n/** JSDoc */\n\n\nfunction instrumentDOM() {\n if (!('document' in global)) {\n return;\n } // Make it so that any click or keypress that is unhandled / bubbled up all the way to the document triggers our dom\n // handlers. (Normally we have only one, which captures a breadcrumb for each click or keypress.) Do this before\n // we instrument `addEventListener` so that we don't end up attaching this handler twice.\n\n\n var triggerDOMHandler = triggerHandlers.bind(null, 'dom');\n var globalDOMEventHandler = makeDOMEventHandler(triggerDOMHandler, true);\n global.document.addEventListener('click', globalDOMEventHandler, false);\n global.document.addEventListener('keypress', globalDOMEventHandler, false); // After hooking into click and keypress events bubbled up to `document`, we also hook into user-handled\n // clicks & keypresses, by adding an event listener of our own to any element to which they add a listener. That\n // way, whenever one of their handlers is triggered, ours will be, too. (This is needed because their handler\n // could potentially prevent the event from bubbling up to our global listeners. This way, our handler are still\n // guaranteed to fire at least once.)\n\n ['EventTarget', 'Node'].forEach(function (target) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n var proto = global[target] && global[target].prototype; // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, no-prototype-builtins\n\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n\n object_1.fill(proto, 'addEventListener', function (originalAddEventListener) {\n return function (type, listener, options) {\n if (type === 'click' || type == 'keypress') {\n try {\n var el = this;\n var handlers_1 = el.__sentry_instrumentation_handlers__ = el.__sentry_instrumentation_handlers__ || {};\n var handlerForType = handlers_1[type] = handlers_1[type] || {\n refCount: 0\n };\n\n if (!handlerForType.handler) {\n var handler = makeDOMEventHandler(triggerDOMHandler);\n handlerForType.handler = handler;\n originalAddEventListener.call(this, type, handler, options);\n }\n\n handlerForType.refCount += 1;\n } catch (e) {// Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListenrs` calls with no proper `this` context.\n }\n }\n\n return originalAddEventListener.call(this, type, listener, options);\n };\n });\n object_1.fill(proto, 'removeEventListener', function (originalRemoveEventListener) {\n return function (type, listener, options) {\n if (type === 'click' || type == 'keypress') {\n try {\n var el = this;\n var handlers_2 = el.__sentry_instrumentation_handlers__ || {};\n var handlerForType = handlers_2[type];\n\n if (handlerForType) {\n handlerForType.refCount -= 1; // If there are no longer any custom handlers of the current type on this element, we can remove ours, too.\n\n if (handlerForType.refCount <= 0) {\n originalRemoveEventListener.call(this, type, handlerForType.handler, options);\n handlerForType.handler = undefined;\n delete handlers_2[type]; // eslint-disable-line @typescript-eslint/no-dynamic-delete\n } // If there are no longer any custom handlers of any type on this element, cleanup everything.\n\n\n if (Object.keys(handlers_2).length === 0) {\n delete el.__sentry_instrumentation_handlers__;\n }\n }\n } catch (e) {// Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListenrs` calls with no proper `this` context.\n }\n }\n\n return originalRemoveEventListener.call(this, type, listener, options);\n };\n });\n });\n}\n\nvar _oldOnErrorHandler = null;\n/** JSDoc */\n\nfunction instrumentError() {\n _oldOnErrorHandler = global.onerror;\n\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\n if (_oldOnErrorHandler) {\n // eslint-disable-next-line prefer-rest-params\n return _oldOnErrorHandler.apply(this, arguments);\n }\n\n return false;\n };\n}\n\nvar _oldOnUnhandledRejectionHandler = null;\n/** JSDoc */\n\nfunction instrumentUnhandledRejection() {\n _oldOnUnhandledRejectionHandler = global.onunhandledrejection;\n\n global.onunhandledrejection = function (e) {\n triggerHandlers('unhandledrejection', e);\n\n if (_oldOnUnhandledRejectionHandler) {\n // eslint-disable-next-line prefer-rest-params\n return _oldOnUnhandledRejectionHandler.apply(this, arguments);\n }\n\n return true;\n };\n}","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","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","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar redefine = require('../internals/redefine');\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.es/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// patch native Promise.prototype for native async functions\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayWithoutHoles from \"@babel/runtime/helpers/esm/arrayWithoutHoles\";\nimport iterableToArray from \"@babel/runtime/helpers/esm/iterableToArray\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableSpread from \"@babel/runtime/helpers/esm/nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","const support = function (feature) {\n if (typeof document === `undefined`) {\n return false\n }\n const fakeLink = document.createElement(`link`)\n try {\n if (fakeLink.relList && typeof fakeLink.relList.supports === `function`) {\n return fakeLink.relList.supports(feature)\n }\n } catch (err) {\n return false\n }\n return false\n}\n\nconst linkPrefetchStrategy = function (url, options) {\n return new Promise((resolve, reject) => {\n if (typeof document === `undefined`) {\n reject()\n return\n }\n\n const link = document.createElement(`link`)\n link.setAttribute(`rel`, `prefetch`)\n link.setAttribute(`href`, url)\n\n Object.keys(options).forEach(key => {\n link.setAttribute(key, options[key])\n })\n\n link.onload = resolve\n link.onerror = reject\n\n const parentElement =\n document.getElementsByTagName(`head`)[0] ||\n document.getElementsByName(`script`)[0].parentNode\n parentElement.appendChild(link)\n })\n}\n\nconst xhrPrefetchStrategy = function (url) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(`GET`, url, true)\n\n req.onload = () => {\n if (req.status === 200) {\n resolve()\n } else {\n reject()\n }\n }\n\n req.send(null)\n })\n}\n\nconst supportedPrefetchStrategy = support(`prefetch`)\n ? linkPrefetchStrategy\n : xhrPrefetchStrategy\n\nconst preFetched = {}\n\nconst prefetch = function (url, options) {\n return new Promise(resolve => {\n if (preFetched[url]) {\n resolve()\n return\n }\n\n supportedPrefetchStrategy(url, options)\n .then(() => {\n resolve()\n preFetched[url] = true\n })\n .catch(() => {}) // 404s are logged to the console anyway\n })\n}\n\nexport default prefetch\n","import prefetchHelper from \"./prefetch\"\nimport emitter from \"./emitter\"\nimport { setMatchPaths, findPath, findMatchPath } from \"./find-path\"\n\n/**\n * Available resource loading statuses\n */\nexport const PageResourceStatus = {\n /**\n * At least one of critical resources failed to load\n */\n Error: `error`,\n /**\n * Resources loaded successfully\n */\n Success: `success`,\n}\n\nconst preferDefault = m => (m && m.default) || m\n\nconst stripSurroundingSlashes = s => {\n s = s[0] === `/` ? s.slice(1) : s\n s = s.endsWith(`/`) ? s.slice(0, -1) : s\n return s\n}\n\nconst createPageDataUrl = path => {\n const fixedPath = path === `/` ? `index` : stripSurroundingSlashes(path)\n return `${__PATH_PREFIX__}/page-data/${fixedPath}/page-data.json`\n}\n\nfunction doFetch(url, method = `GET`) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(method, url, true)\n req.onreadystatechange = () => {\n if (req.readyState == 4) {\n resolve(req)\n }\n }\n req.send(null)\n })\n}\n\nconst doesConnectionSupportPrefetch = () => {\n if (\n `connection` in navigator &&\n typeof navigator.connection !== `undefined`\n ) {\n if ((navigator.connection.effectiveType || ``).includes(`2g`)) {\n return false\n }\n if (navigator.connection.saveData) {\n return false\n }\n }\n return true\n}\n\nconst toPageResources = (pageData, component = null) => {\n const page = {\n componentChunkName: pageData.componentChunkName,\n path: pageData.path,\n webpackCompilationHash: pageData.webpackCompilationHash,\n matchPath: pageData.matchPath,\n staticQueryHashes: pageData.staticQueryHashes,\n }\n\n return {\n component,\n json: pageData.result,\n page,\n }\n}\n\nexport class BaseLoader {\n constructor(loadComponent, matchPaths) {\n // Map of pagePath -> Page. Where Page is an object with: {\n // status: PageResourceStatus.Success || PageResourceStatus.Error,\n // payload: PageResources, // undefined if PageResourceStatus.Error\n // }\n // PageResources is {\n // component,\n // json: pageData.result,\n // page: {\n // componentChunkName,\n // path,\n // webpackCompilationHash,\n // staticQueryHashes\n // },\n // staticQueryResults\n // }\n this.pageDb = new Map()\n this.inFlightDb = new Map()\n this.staticQueryDb = {}\n this.pageDataDb = new Map()\n this.prefetchTriggered = new Set()\n this.prefetchCompleted = new Set()\n this.loadComponent = loadComponent\n setMatchPaths(matchPaths)\n }\n\n inFlightNetworkRequests = new Map()\n\n memoizedGet(url) {\n let inFlightPromise = this.inFlightNetworkRequests.get(url)\n\n if (!inFlightPromise) {\n inFlightPromise = doFetch(url, `GET`)\n this.inFlightNetworkRequests.set(url, inFlightPromise)\n }\n\n // Prefer duplication with then + catch over .finally to prevent problems in ie11 + firefox\n return inFlightPromise\n .then(response => {\n this.inFlightNetworkRequests.delete(url)\n return response\n })\n .catch(err => {\n this.inFlightNetworkRequests.delete(url)\n throw err\n })\n }\n\n setApiRunner(apiRunner) {\n this.apiRunner = apiRunner\n this.prefetchDisabled = apiRunner(`disableCorePrefetching`).some(a => a)\n }\n\n fetchPageDataJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.path === undefined) {\n throw new Error(`not a valid pageData response`)\n }\n\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: jsonPayload,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404 page and it doesn't exist, we're done\n if (pagePath === `/404.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPageDataJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n loadPageDataJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDataDb.has(pagePath)) {\n const pageData = this.pageDataDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPageDataJson({ pagePath }).then(pageData => {\n this.pageDataDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n findMatchPath(rawPath) {\n return findMatchPath(rawPath)\n }\n\n // TODO check all uses of this and whether they use undefined for page resources not exist\n loadPage(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const page = this.pageDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !page.payload.stale) {\n return Promise.resolve(page.payload)\n }\n }\n\n if (this.inFlightDb.has(pagePath)) {\n return this.inFlightDb.get(pagePath)\n }\n\n const inFlightPromise = Promise.all([\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n ]).then(allData => {\n const result = allData[1]\n if (result.status === PageResourceStatus.Error) {\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n let pageData = result.payload\n const { componentChunkName, staticQueryHashes = [] } = pageData\n\n const finalResult = {}\n\n const componentChunkPromise = this.loadComponent(componentChunkName).then(\n component => {\n finalResult.createdAt = new Date()\n let pageResources\n if (!component) {\n finalResult.status = PageResourceStatus.Error\n } else {\n finalResult.status = PageResourceStatus.Success\n if (result.notFound === true) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: allData[0]\n ? allData[0].webpackCompilationHash\n : ``,\n })\n pageResources = toPageResources(pageData, component)\n }\n // undefined if final result is an error\n return pageResources\n }\n )\n\n const staticQueryBatchPromise = Promise.all(\n staticQueryHashes.map(staticQueryHash => {\n // Check for cache in case this static query result has already been loaded\n if (this.staticQueryDb[staticQueryHash]) {\n const jsonPayload = this.staticQueryDb[staticQueryHash]\n return { staticQueryHash, jsonPayload }\n }\n\n return this.memoizedGet(\n `${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json`\n ).then(req => {\n const jsonPayload = JSON.parse(req.responseText)\n return { staticQueryHash, jsonPayload }\n })\n })\n ).then(staticQueryResults => {\n const staticQueryResultsMap = {}\n\n staticQueryResults.forEach(({ staticQueryHash, jsonPayload }) => {\n staticQueryResultsMap[staticQueryHash] = jsonPayload\n this.staticQueryDb[staticQueryHash] = jsonPayload\n })\n\n return staticQueryResultsMap\n })\n\n return Promise.all([componentChunkPromise, staticQueryBatchPromise]).then(\n ([pageResources, staticQueryResults]) => {\n let payload\n if (pageResources) {\n payload = { ...pageResources, staticQueryResults }\n finalResult.payload = payload\n emitter.emit(`onPostLoadPageResources`, {\n page: payload,\n pageResources: payload,\n })\n }\n\n this.pageDb.set(pagePath, finalResult)\n\n return payload\n }\n )\n })\n\n inFlightPromise\n .then(response => {\n this.inFlightDb.delete(pagePath)\n })\n .catch(error => {\n this.inFlightDb.delete(pagePath)\n throw error\n })\n\n this.inFlightDb.set(pagePath, inFlightPromise)\n\n return inFlightPromise\n }\n\n // returns undefined if loading page ran into errors\n loadPageSync(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const pageData = this.pageDb.get(pagePath).payload\n return pageData\n }\n return undefined\n }\n\n shouldPrefetch(pagePath) {\n // Skip prefetching if we know user is on slow or constrained connection\n if (!doesConnectionSupportPrefetch()) {\n return false\n }\n\n // Check if the page exists.\n if (this.pageDb.has(pagePath)) {\n return false\n }\n\n return true\n }\n\n prefetch(pagePath) {\n if (!this.shouldPrefetch(pagePath)) {\n return false\n }\n\n // Tell plugins with custom prefetching logic that they should start\n // prefetching this path.\n if (!this.prefetchTriggered.has(pagePath)) {\n this.apiRunner(`onPrefetchPathname`, { pathname: pagePath })\n this.prefetchTriggered.add(pagePath)\n }\n\n // If a plugin has disabled core prefetching, stop now.\n if (this.prefetchDisabled) {\n return false\n }\n\n const realPath = findPath(pagePath)\n // Todo make doPrefetch logic cacheable\n // eslint-disable-next-line consistent-return\n this.doPrefetch(realPath).then(() => {\n if (!this.prefetchCompleted.has(pagePath)) {\n this.apiRunner(`onPostPrefetchPathname`, { pathname: pagePath })\n this.prefetchCompleted.add(pagePath)\n }\n })\n\n return true\n }\n\n doPrefetch(pagePath) {\n const pageDataUrl = createPageDataUrl(pagePath)\n return prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n )\n }\n\n hovering(rawPath) {\n this.loadPage(rawPath)\n }\n\n getResourceURLsForPathname(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDataDb.get(pagePath)\n if (page) {\n const pageResources = toPageResources(page.payload)\n\n return [\n ...createComponentUrls(pageResources.page.componentChunkName),\n createPageDataUrl(pagePath),\n ]\n } else {\n return null\n }\n }\n\n isPageNotFound(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDb.get(pagePath)\n return !page || page.notFound\n }\n\n loadAppData(retries = 0) {\n return this.memoizedGet(`${__PATH_PREFIX__}/page-data/app-data.json`).then(\n req => {\n const { status, responseText } = req\n\n let appData\n\n if (status !== 200 && retries < 3) {\n // Retry 3 times incase of non-200 responses\n return this.loadAppData(retries + 1)\n }\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.webpackCompilationHash === undefined) {\n throw new Error(`not a valid app-data response`)\n }\n\n appData = jsonPayload\n } catch (err) {\n // continue regardless of error\n }\n }\n\n return appData\n }\n )\n }\n}\n\nconst createComponentUrls = componentChunkName =>\n (window.___chunkMapping[componentChunkName] || []).map(\n chunk => __PATH_PREFIX__ + chunk\n )\n\nexport class ProdLoader extends BaseLoader {\n constructor(asyncRequires, matchPaths) {\n const loadComponent = chunkName =>\n asyncRequires.components[chunkName]\n ? asyncRequires.components[chunkName]()\n .then(preferDefault)\n // loader will handle the case when component is null\n .catch(() => null)\n : Promise.resolve()\n\n super(loadComponent, matchPaths)\n }\n\n doPrefetch(pagePath) {\n return super.doPrefetch(pagePath).then(result => {\n if (result.status !== PageResourceStatus.Success) {\n return Promise.resolve()\n }\n const pageData = result.payload\n const chunkName = pageData.componentChunkName\n const componentUrls = createComponentUrls(chunkName)\n return Promise.all(componentUrls.map(prefetchHelper)).then(() => pageData)\n })\n }\n\n loadPageDataJson(rawPath) {\n return super.loadPageDataJson(rawPath).then(data => {\n if (data.notFound) {\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n}\n\nlet instance\n\nexport const setLoader = _loader => {\n instance = _loader\n}\n\nexport const publicLoader = {\n // Deprecated methods. As far as we're aware, these are only used by\n // core gatsby and the offline plugin, however there's a very small\n // chance they're called by others.\n getResourcesForPathname: rawPath => {\n console.warn(\n `Warning: getResourcesForPathname is deprecated. Use loadPage instead`\n )\n return instance.i.loadPage(rawPath)\n },\n getResourcesForPathnameSync: rawPath => {\n console.warn(\n `Warning: getResourcesForPathnameSync is deprecated. Use loadPageSync instead`\n )\n return instance.i.loadPageSync(rawPath)\n },\n enqueue: rawPath => instance.prefetch(rawPath),\n\n // Real methods\n getResourceURLsForPathname: rawPath =>\n instance.getResourceURLsForPathname(rawPath),\n loadPage: rawPath => instance.loadPage(rawPath),\n loadPageSync: rawPath => instance.loadPageSync(rawPath),\n prefetch: rawPath => instance.prefetch(rawPath),\n isPageNotFound: rawPath => instance.isPageNotFound(rawPath),\n hovering: rawPath => instance.hovering(rawPath),\n loadAppData: () => instance.loadAppData(),\n}\n\nexport default publicLoader\n\nexport function getStaticQueryResults() {\n if (instance) {\n return instance.staticQueryDb\n } else {\n return {}\n }\n}\n","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar loglevel_1 = require(\"./loglevel\");\n\nexports.LogLevel = loglevel_1.LogLevel;\n\nvar session_1 = require(\"./session\");\n\nexports.SessionStatus = session_1.SessionStatus;\nexports.RequestSessionStatus = session_1.RequestSessionStatus;\n\nvar severity_1 = require(\"./severity\");\n\nexports.Severity = severity_1.Severity;\n\nvar status_1 = require(\"./status\");\n\nexports.Status = status_1.Status;\n\nvar transaction_1 = require(\"./transaction\");\n\nexports.TransactionSamplingMethod = transaction_1.TransactionSamplingMethod;","import React, { createContext, useContext } from \"react\"\n\nconst GatsbyMDXScopeContext = createContext({})\n\nexport const useMDXScope = scope => {\n const contextScope = useContext(GatsbyMDXScopeContext)\n return scope || contextScope\n}\n\nexport const MDXScopeProvider = ({ __mdxScope, children }) =>\n React.createElement(\n GatsbyMDXScopeContext.Provider,\n { value: __mdxScope },\n children\n )\n","var scope_0 = require('/opt/buildhome/repo/.cache/caches/gatsby-plugin-mdx/mdx-scopes-dir/e92f8988d65cf25c087d226e6c0ef06f.js').default;export default\n Object.assign({}, scope_0 )\n ","import React from \"react\"\nimport { MDXProvider, withMDXComponents } from \"@mdx-js/react\"\nimport { MDXScopeProvider } from \"./context\"\n\n/**\n * so, this import is weird right?\n *\n * # What it looks like:\n * we're importing a webpack loader directly into our runtime bundle\n *\n * # What it's actually doing:\n * We configure the `mdx-components` loader in gatsby-node's\n * `onCreateWebpackConfig`. The configuration sets the loader to handle its\n * own file, so if we import `./loaders/mdx-components`, the `mdx-components`\n * loader handles loading itself.\n *\n * # Why does this work?\n * The loader doesn't use the file argument to itself and instead returns\n * a generated file that includes the `gatsby-config` mdxPlugins wrapped in\n * require() statements. This results in the `mdxPlugins` being required\n * and available to the code after this import.\n *\n * # Have a better solution to this?\n * Submit a PR\n */\nimport { plugins as mdxPlugins } from \"./loaders/mdx-components\"\nimport scopeContexts from \"./loaders/mdx-scopes\"\n\nconst componentsAndGuards = {}\n\nconst componentFromGuards = arr =>\n function GatsbyMDXComponentFinder(props) {\n const { Component } = arr.find(({ guard }) => (guard ? guard(props) : true))\n return \n }\n\nmdxPlugins.forEach(({ guards = {}, components }) => {\n Object.entries(components).forEach(([componentName, Component]) => {\n if (componentsAndGuards[componentName]) {\n componentsAndGuards.push({ guard: guards[componentName], Component })\n } else {\n componentsAndGuards[componentName] = [\n { guard: guards[componentName], Component },\n ]\n }\n })\n})\n\nconst components = Object.entries(componentsAndGuards)\n .map(([name, arr]) => {\n return {\n [name]: componentFromGuards(\n arr.concat({ guard: undefined, Component: name })\n ),\n }\n })\n .reduce((acc, obj) => {\n return { ...acc, ...obj }\n }, {})\n\n// merge any components in wrapRootElement above this wrapRoot\nconst MDXConsumer = withMDXComponents(\n ({ components: componentsFromContext, children }) => (\n \n \n {children}\n \n \n )\n)\n\nconst WrapRootElement = ({ element }) => {element}\n\nexport default WrapRootElement\n","import wrap from \"./wrap-root-element\"\nexport const wrapRootElement = wrap\n","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n\n\nvar core_1 = require(\"@sentry/core\");\n\nvar types_1 = require(\"@sentry/types\");\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar eventbuilder_1 = require(\"../eventbuilder\");\n\nvar helpers_1 = require(\"../helpers\");\n/** Global handlers */\n\n\nvar GlobalHandlers =\n/** @class */\nfunction () {\n /** JSDoc */\n function GlobalHandlers(options) {\n /**\n * @inheritDoc\n */\n this.name = GlobalHandlers.id;\n /** JSDoc */\n\n this._onErrorHandlerInstalled = false;\n /** JSDoc */\n\n this._onUnhandledRejectionHandlerInstalled = false;\n this._options = tslib_1.__assign({\n onerror: true,\n onunhandledrejection: true\n }, options);\n }\n /**\n * @inheritDoc\n */\n\n\n GlobalHandlers.prototype.setupOnce = function () {\n Error.stackTraceLimit = 50;\n\n if (this._options.onerror) {\n utils_1.logger.log('Global Handler attached: onerror');\n\n this._installGlobalOnErrorHandler();\n }\n\n if (this._options.onunhandledrejection) {\n utils_1.logger.log('Global Handler attached: onunhandledrejection');\n\n this._installGlobalOnUnhandledRejectionHandler();\n }\n };\n /** JSDoc */\n\n\n GlobalHandlers.prototype._installGlobalOnErrorHandler = function () {\n var _this = this;\n\n if (this._onErrorHandlerInstalled) {\n return;\n }\n\n utils_1.addInstrumentationHandler({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n callback: function callback(data) {\n var error = data.error;\n var currentHub = core_1.getCurrentHub();\n var hasIntegration = currentHub.getIntegration(GlobalHandlers);\n var isFailedOwnDelivery = error && error.__sentry_own_request__ === true;\n\n if (!hasIntegration || helpers_1.shouldIgnoreOnError() || isFailedOwnDelivery) {\n return;\n }\n\n var client = currentHub.getClient();\n var event = utils_1.isPrimitive(error) ? _this._eventFromIncompleteOnError(data.msg, data.url, data.line, data.column) : _this._enhanceEventWithInitialFrame(eventbuilder_1.eventFromUnknownInput(error, undefined, {\n attachStacktrace: client && client.getOptions().attachStacktrace,\n rejection: false\n }), data.url, data.line, data.column);\n utils_1.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\n\n GlobalHandlers.prototype._installGlobalOnUnhandledRejectionHandler = function () {\n var _this = this;\n\n if (this._onUnhandledRejectionHandlerInstalled) {\n return;\n }\n\n utils_1.addInstrumentationHandler({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n callback: function callback(e) {\n var error = e; // dig the object of the rejection out of known event types\n\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 } // 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 } catch (_oO) {// no-empty\n }\n\n var currentHub = core_1.getCurrentHub();\n var hasIntegration = currentHub.getIntegration(GlobalHandlers);\n var isFailedOwnDelivery = error && error.__sentry_own_request__ === true;\n\n if (!hasIntegration || helpers_1.shouldIgnoreOnError() || isFailedOwnDelivery) {\n return true;\n }\n\n var client = currentHub.getClient();\n var event = utils_1.isPrimitive(error) ? _this._eventFromRejectionWithPrimitive(error) : eventbuilder_1.eventFromUnknownInput(error, undefined, {\n attachStacktrace: client && client.getOptions().attachStacktrace,\n rejection: true\n });\n event.level = types_1.Severity.Error;\n utils_1.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\n\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; // If 'message' is ErrorEvent, get real message from inside\n\n var message = utils_1.isErrorEvent(msg) ? msg.message : msg;\n var name;\n\n if (utils_1.isString(message)) {\n var groups = message.match(ERROR_TYPES_RE);\n\n if (groups) {\n name = groups[1];\n message = groups[2];\n }\n }\n\n var event = {\n exception: {\n values: [{\n type: name || 'Error',\n value: message\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\n\n GlobalHandlers.prototype._eventFromRejectionWithPrimitive = function (reason) {\n return {\n exception: {\n values: [{\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 /** JSDoc */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n\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 = utils_1.isString(url) && url.length > 0 ? url : utils_1.getLocationHref();\n\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\n return event;\n };\n /**\n * @inheritDoc\n */\n\n\n GlobalHandlers.id = 'GlobalHandlers';\n return GlobalHandlers;\n}();\n\nexports.GlobalHandlers = GlobalHandlers;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n\n/* eslint-disable max-lines */\n\n\nvar core_1 = require(\"@sentry/core\");\n\nvar types_1 = require(\"@sentry/types\");\n\nvar utils_1 = require(\"@sentry/utils\");\n/**\n * Default Breadcrumbs instrumentations\n * TODO: Deprecated - with v6, this will be renamed to `Instrument`\n */\n\n\nvar Breadcrumbs =\n/** @class */\nfunction () {\n /**\n * @inheritDoc\n */\n function Breadcrumbs(options) {\n /**\n * @inheritDoc\n */\n this.name = Breadcrumbs.id;\n this._options = tslib_1.__assign({\n console: true,\n dom: true,\n fetch: true,\n history: true,\n sentry: true,\n xhr: true\n }, options);\n }\n /**\n * Create a breadcrumb of `sentry` from the events themselves\n */\n\n\n Breadcrumbs.prototype.addSentryBreadcrumb = function (event) {\n if (!this._options.sentry) {\n return;\n }\n\n core_1.getCurrentHub().addBreadcrumb({\n category: \"sentry.\" + (event.type === 'transaction' ? 'transaction' : 'event'),\n event_id: event.event_id,\n level: event.level,\n message: utils_1.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\n\n Breadcrumbs.prototype.setupOnce = function () {\n var _this = this;\n\n if (this._options.console) {\n utils_1.addInstrumentationHandler({\n callback: function callback() {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n _this._consoleBreadcrumb.apply(_this, tslib_1.__spread(args));\n },\n type: 'console'\n });\n }\n\n if (this._options.dom) {\n utils_1.addInstrumentationHandler({\n callback: function callback() {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n _this._domBreadcrumb.apply(_this, tslib_1.__spread(args));\n },\n type: 'dom'\n });\n }\n\n if (this._options.xhr) {\n utils_1.addInstrumentationHandler({\n callback: function callback() {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n _this._xhrBreadcrumb.apply(_this, tslib_1.__spread(args));\n },\n type: 'xhr'\n });\n }\n\n if (this._options.fetch) {\n utils_1.addInstrumentationHandler({\n callback: function callback() {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n _this._fetchBreadcrumb.apply(_this, tslib_1.__spread(args));\n },\n type: 'fetch'\n });\n }\n\n if (this._options.history) {\n utils_1.addInstrumentationHandler({\n callback: function callback() {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n _this._historyBreadcrumb.apply(_this, tslib_1.__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\n\n Breadcrumbs.prototype._consoleBreadcrumb = function (handlerData) {\n var breadcrumb = {\n category: 'console',\n data: {\n arguments: handlerData.args,\n logger: 'console'\n },\n level: types_1.Severity.fromString(handlerData.level),\n message: utils_1.safeJoin(handlerData.args, ' ')\n };\n\n if (handlerData.level === 'assert') {\n if (handlerData.args[0] === false) {\n breadcrumb.message = \"Assertion failed: \" + (utils_1.safeJoin(handlerData.args.slice(1), ' ') || 'console.assert');\n breadcrumb.data.arguments = handlerData.args.slice(1);\n } else {\n // Don't capture a breadcrumb for passed assertions\n return;\n }\n }\n\n core_1.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\n\n Breadcrumbs.prototype._domBreadcrumb = function (handlerData) {\n var target;\n var keyAttr = typeof this._options.dom === 'object' ? this._options.dom.serializeAttribute : undefined; // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n\n try {\n target = handlerData.event.target ? utils_1.htmlTreeAsString(handlerData.event.target, keyAttr) : utils_1.htmlTreeAsString(handlerData.event, keyAttr);\n } catch (e) {\n target = '';\n }\n\n if (target.length === 0) {\n return;\n }\n\n core_1.getCurrentHub().addBreadcrumb({\n category: \"ui.\" + handlerData.name,\n message: target\n }, {\n event: handlerData.event,\n name: handlerData.name,\n global: handlerData.global\n });\n };\n /**\n * Creates breadcrumbs from XHR API calls\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n\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\n var _a = handlerData.xhr.__sentry_xhr__ || {},\n method = _a.method,\n url = _a.url,\n status_code = _a.status_code,\n body = _a.body;\n\n core_1.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\n\n Breadcrumbs.prototype._fetchBreadcrumb = function (handlerData) {\n // We only capture complete fetch requests\n if (!handlerData.endTimestamp) {\n return;\n }\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\n if (handlerData.error) {\n core_1.getCurrentHub().addBreadcrumb({\n category: 'fetch',\n data: handlerData.fetchData,\n level: types_1.Severity.Error,\n type: 'http'\n }, {\n data: handlerData.error,\n input: handlerData.args\n });\n } else {\n core_1.getCurrentHub().addBreadcrumb({\n category: 'fetch',\n data: tslib_1.__assign(tslib_1.__assign({}, handlerData.fetchData), {\n status_code: handlerData.response.status\n }),\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\n\n Breadcrumbs.prototype._historyBreadcrumb = function (handlerData) {\n var global = utils_1.getGlobalObject();\n var from = handlerData.from;\n var to = handlerData.to;\n var parsedLoc = utils_1.parseUrl(global.location.href);\n var parsedFrom = utils_1.parseUrl(from);\n var parsedTo = utils_1.parseUrl(to); // Initial pushState doesn't provide `from` information\n\n if (!parsedFrom.path) {\n parsedFrom = parsedLoc;\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\n\n if (parsedLoc.protocol === parsedTo.protocol && parsedLoc.host === parsedTo.host) {\n to = parsedTo.relative;\n }\n\n if (parsedLoc.protocol === parsedFrom.protocol && parsedLoc.host === parsedFrom.host) {\n from = parsedFrom.relative;\n }\n\n core_1.getCurrentHub().addBreadcrumb({\n category: 'navigation',\n data: {\n from: from,\n to: to\n }\n });\n };\n /**\n * @inheritDoc\n */\n\n\n Breadcrumbs.id = 'Breadcrumbs';\n return Breadcrumbs;\n}();\n\nexports.Breadcrumbs = Breadcrumbs;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar express_1 = require(\"./express\");\n\nexports.Express = express_1.Express;\n\nvar postgres_1 = require(\"./postgres\");\n\nexports.Postgres = postgres_1.Postgres;\n\nvar mysql_1 = require(\"./mysql\");\n\nexports.Mysql = mysql_1.Mysql;\n\nvar mongo_1 = require(\"./mongo\");\n\nexports.Mongo = mongo_1.Mongo;","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","module.exports = {plugins: []}","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * Consumes the promise and logs the error when it rejects.\n * @param promise A promise to forget.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\nfunction forget(promise) {\n void promise.then(null, function (e) {\n // TODO: Use a better logging mechanism\n // eslint-disable-next-line no-console\n console.error(e);\n });\n}\n\nexports.forget = forget;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.ScrollContainer = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nvar _router = require(\"@reach/router\");\n\n// TODO: In Gatsby v3, this file should be removed.\n// We are deprecating this in V2 in favor of useScrollRestoration\nvar propTypes = {\n scrollKey: _propTypes.default.string.isRequired,\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired\n};\nvar hasNotWarnedDeprecation = true;\n\nvar ScrollContainerImplementation = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollContainerImplementation, _React$Component);\n\n function ScrollContainerImplementation(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n\n if (process.env.NODE_ENV !== \"production\" && hasNotWarnedDeprecation) {\n hasNotWarnedDeprecation = false;\n console.log(\"Deprecation Warning:\\n\\n Gatsby is deprecated in Gatsby v2 and will be removed in Gatsby v3.\\n Update to the React hook alternative useScrollRestoration, like this:.\\n \\n ```\\n import React from 'react';\\n import { useScrollRestoration } from 'gatsby-react-router-scroll';\\n\\n function Component() {\\n const scrollRestoration = useScrollRestoration('\" + _this.props.scrollKey + \"');\\n\\n return
    ;\\n }\\n ```\\n \");\n }\n\n return _this;\n }\n\n var _proto = ScrollContainerImplementation.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n // eslint-disable-next-line react/no-find-dom-node\n var node = _reactDom.default.findDOMNode(this);\n\n var _this$props = this.props,\n location = _this$props.location,\n scrollKey = _this$props.scrollKey;\n if (!node) return;\n node.addEventListener(\"scroll\", function () {\n _this2.props.context.save(location, scrollKey, node.scrollTop);\n });\n var position = this.props.context.read(location, scrollKey);\n node.scrollTo(0, position || 0);\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return ScrollContainerImplementation;\n}(React.Component);\n\nvar ScrollContainer = function ScrollContainer(props) {\n return /*#__PURE__*/React.createElement(_router.Location, null, function (_ref) {\n var location = _ref.location;\n return /*#__PURE__*/React.createElement(_scrollHandler.ScrollContext.Consumer, null, function (context) {\n return /*#__PURE__*/React.createElement(ScrollContainerImplementation, (0, _extends2.default)({}, props, {\n context: context,\n location: location\n }));\n });\n });\n};\n\nexports.ScrollContainer = ScrollContainer;\nScrollContainer.propTypes = propTypes;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = _default;\nexports.routeThroughBrowserOrApp = exports.hashShouldBeFollowed = exports.pathIsNotHandledByApp = exports.urlsAreOnSameOrigin = exports.authorIsForcingNavigation = exports.anchorsTargetIsEquivalentToSelf = exports.findClosestAnchor = exports.navigationWasHandledElsewhere = exports.slashedPathname = exports.userIsForcingNavigation = void 0;\n\nvar _escapeStringRegexp = _interopRequireDefault(require(\"escape-string-regexp\"));\n\nvar _gatsby = require(\"gatsby\");\n\nvar userIsForcingNavigation = function userIsForcingNavigation(event) {\n return event.button !== 0 || event.altKey || event.ctrlKey || event.metaKey || event.shiftKey;\n}; // IE does not include leading slash in anchor.pathname\n\n\nexports.userIsForcingNavigation = userIsForcingNavigation;\n\nvar slashedPathname = function slashedPathname(pathname) {\n return pathname[0] === \"/\" ? pathname : \"/\" + pathname;\n};\n\nexports.slashedPathname = slashedPathname;\n\nvar navigationWasHandledElsewhere = function navigationWasHandledElsewhere(event) {\n return event.defaultPrevented;\n};\n\nexports.navigationWasHandledElsewhere = navigationWasHandledElsewhere;\n\nvar findClosestAnchor = function findClosestAnchor(node) {\n for (; node.parentNode; node = node.parentNode) {\n if (node.nodeName.toLowerCase() === \"a\") {\n return node;\n }\n }\n\n return null;\n};\n\nexports.findClosestAnchor = findClosestAnchor;\n\nvar anchorsTargetIsEquivalentToSelf = function anchorsTargetIsEquivalentToSelf(anchor) {\n return (\n /* If target attribute is not present it's treated as _self */\n anchor.hasAttribute(\"target\") === false ||\n /**\n * The browser defaults to _self, but, not all browsers set\n * a.target to the string value `_self` by default\n */\n\n /**\n * Assumption: some browsers use null/undefined for default\n * attribute values\n */\n anchor.target == null ||\n /**\n * Some browsers use the empty string to mean _self, check\n * for actual `_self`\n */\n [\"_self\", \"\"].includes(anchor.target) ||\n /**\n * As per https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-target\n */\n anchor.target === \"_parent\" && (!anchor.ownerDocument.defaultView.parent || // Assumption: This can be falsey\n anchor.ownerDocument.defaultView.parent === anchor.ownerDocument.defaultView) || anchor.target === \"_top\" && (!anchor.ownerDocument.defaultView.top || // Assumption: This can be falsey\n anchor.ownerDocument.defaultView.top === anchor.ownerDocument.defaultView)\n );\n};\n\nexports.anchorsTargetIsEquivalentToSelf = anchorsTargetIsEquivalentToSelf;\n\nvar authorIsForcingNavigation = function authorIsForcingNavigation(anchor) {\n return (\n /**\n * HTML5 attribute that informs the browser to handle the\n * href as a downloadable file; let the browser handle it\n */\n anchor.hasAttribute(\"download\") === true ||\n /**\n * Let the browser handle anything that doesn't look like a\n * target=\"_self\" anchor\n */\n anchorsTargetIsEquivalentToSelf(anchor) === false\n );\n}; // https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy\n\n\nexports.authorIsForcingNavigation = authorIsForcingNavigation;\n\nvar urlsAreOnSameOrigin = function urlsAreOnSameOrigin(origin, destination) {\n return origin.protocol === destination.protocol &&\n /* a.host includes both hostname and port in the expected format host:port */\n origin.host === destination.host;\n};\n\nexports.urlsAreOnSameOrigin = urlsAreOnSameOrigin;\n\nvar pathIsNotHandledByApp = function pathIsNotHandledByApp(destination, pathStartRegEx) {\n var pathFileExtensionRegEx = /^.*\\.((?!htm)[a-z0-9]{1,5})$/i;\n return (\n /**\n * For when pathPrefix is used in an app and there happens to be a link\n * pointing to the same domain but outside of the app's pathPrefix. For\n * example, a Gatsby app lives at https://example.com/myapp/, with the\n * pathPrefix set to `/myapp`. When adding an absolute link to the same\n * domain but outside of the /myapp path, for example, `` the plugin won't catch it and\n * will navigate to an external link instead of doing a pushState resulting\n * in `https://example.com/myapp/https://example.com/not-my-app`\n */\n pathStartRegEx.test(slashedPathname(destination.pathname)) === false ||\n /**\n * Don't catch links pointed at what look like file extensions (other than\n * .htm/html extensions).\n */\n destination.pathname.search(pathFileExtensionRegEx) !== -1\n );\n};\n\nexports.pathIsNotHandledByApp = pathIsNotHandledByApp;\n\nvar hashShouldBeFollowed = function hashShouldBeFollowed(origin, destination) {\n return destination.hash !== \"\" && (\n /**\n * Dynamically created anchor links (href=\"#my-anchor\") do not always\n * have pathname on IE\n */\n destination.pathname === \"\" ||\n /* Don't catch links pointed to the same page but with a hash. */\n destination.pathname === origin.pathname);\n};\n\nexports.hashShouldBeFollowed = hashShouldBeFollowed;\n\nvar routeThroughBrowserOrApp = function routeThroughBrowserOrApp(hrefHandler, pluginOptions) {\n return function (event) {\n if (window.___failedResources) return true;\n if (userIsForcingNavigation(event)) return true;\n if (navigationWasHandledElsewhere(event)) return true;\n var clickedAnchor = findClosestAnchor(event.target);\n if (clickedAnchor == null) return true;\n if (authorIsForcingNavigation(clickedAnchor)) return true; // IE clears the host value if the anchor href changed after creation, e.g.\n // in React. Creating a new anchor element to ensure host value is present\n\n var destination = document.createElement(\"a\"); // https://html.spec.whatwg.org/multipage/links.html#concept-hyperlink-url-set\n // If clickedAnchor has no href attribute like `example`, the href getter returns empty string.\n\n if (clickedAnchor.href !== \"\") {\n destination.href = clickedAnchor.href;\n }\n\n if (\"SVGAnimatedString\" in window && clickedAnchor.href instanceof SVGAnimatedString) {\n destination.href = clickedAnchor.href.animVal;\n } // In IE, the default port is included in the anchor host but excluded from\n // the location host. This affects the ability to directly compare\n // location host to anchor host. For example: http://example.com would\n // have a location.host of 'example.com' and an destination.host of\n // 'example.com:80' Creating anchor from the location.href to normalize the\n // host value.\n\n\n var origin = document.createElement(\"a\");\n origin.href = window.location.href;\n if (urlsAreOnSameOrigin(origin, destination) === false) return true; // Regex to test pathname against pathPrefix\n\n var pathStartRegEx = new RegExp(\"^\" + (0, _escapeStringRegexp.default)((0, _gatsby.withPrefix)(\"/\")));\n if (pathIsNotHandledByApp(destination, pathStartRegEx)) return true;\n if (hashShouldBeFollowed(origin, destination)) return true;\n\n if (pluginOptions.excludePattern) {\n var excludeRegex = new RegExp(pluginOptions.excludePattern);\n\n if (excludeRegex.test(destination.pathname)) {\n return true;\n }\n }\n\n event.preventDefault(); // See issue #8907: destination.pathname already includes pathPrefix added\n // by gatsby-transformer-remark but gatsby-link.navigate needs href without\n\n var destinationPathname = slashedPathname(destination.pathname).replace(pathStartRegEx, \"/\");\n hrefHandler(\"\" + destinationPathname + destination.search + destination.hash);\n return false;\n };\n};\n\nexports.routeThroughBrowserOrApp = routeThroughBrowserOrApp;\n\nfunction _default(root, pluginOptions, cb) {\n var clickHandler = routeThroughBrowserOrApp(cb, pluginOptions);\n root.addEventListener(\"click\", clickHandler);\n return function () {\n return root.removeEventListener(\"click\", clickHandler);\n };\n}","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\nvar utils_1 = require(\"@sentry/utils\");\n/**\n * Absolute maximum number of breadcrumbs added to an event.\n * The `maxBreadcrumbs` option cannot be higher than this value.\n */\n\n\nvar MAX_BREADCRUMBS = 100;\n/**\n * Holds additional event information. {@link Scope.applyToEvent} will be\n * called by the client before an event will be sent.\n */\n\nvar Scope =\n/** @class */\nfunction () {\n function Scope() {\n /** Flag if notifiying is happening. */\n this._notifyingListeners = false;\n /** Callback for client to receive scope changes. */\n\n this._scopeListeners = [];\n /** Callback list that will be called after {@link applyToEvent}. */\n\n this._eventProcessors = [];\n /** Array of breadcrumbs. */\n\n this._breadcrumbs = [];\n /** User */\n\n this._user = {};\n /** Tags */\n\n this._tags = {};\n /** Extra */\n\n this._extra = {};\n /** Contexts */\n\n this._contexts = {};\n }\n /**\n * Inherit values from the parent scope.\n * @param scope to clone.\n */\n\n\n Scope.clone = function (scope) {\n var newScope = new Scope();\n\n if (scope) {\n newScope._breadcrumbs = tslib_1.__spread(scope._breadcrumbs);\n newScope._tags = tslib_1.__assign({}, scope._tags);\n newScope._extra = tslib_1.__assign({}, scope._extra);\n newScope._contexts = tslib_1.__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 = tslib_1.__spread(scope._eventProcessors);\n newScope._requestSession = scope._requestSession;\n }\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\n\n Scope.prototype.addScopeListener = function (callback) {\n this._scopeListeners.push(callback);\n };\n /**\n * @inheritDoc\n */\n\n\n Scope.prototype.addEventProcessor = function (callback) {\n this._eventProcessors.push(callback);\n\n return this;\n };\n /**\n * @inheritDoc\n */\n\n\n Scope.prototype.setUser = function (user) {\n this._user = user || {};\n\n if (this._session) {\n this._session.update({\n user: user\n });\n }\n\n this._notifyScopeListeners();\n\n return this;\n };\n /**\n * @inheritDoc\n */\n\n\n Scope.prototype.getUser = function () {\n return this._user;\n };\n /**\n * @inheritDoc\n */\n\n\n Scope.prototype.getRequestSession = function () {\n return this._requestSession;\n };\n /**\n * @inheritDoc\n */\n\n\n Scope.prototype.setRequestSession = function (requestSession) {\n this._requestSession = requestSession;\n return this;\n };\n /**\n * @inheritDoc\n */\n\n\n Scope.prototype.setTags = function (tags) {\n this._tags = tslib_1.__assign(tslib_1.__assign({}, this._tags), tags);\n\n this._notifyScopeListeners();\n\n return this;\n };\n /**\n * @inheritDoc\n */\n\n\n Scope.prototype.setTag = function (key, value) {\n var _a;\n\n this._tags = tslib_1.__assign(tslib_1.__assign({}, this._tags), (_a = {}, _a[key] = value, _a));\n\n this._notifyScopeListeners();\n\n return this;\n };\n /**\n * @inheritDoc\n */\n\n\n Scope.prototype.setExtras = function (extras) {\n this._extra = tslib_1.__assign(tslib_1.__assign({}, this._extra), extras);\n\n this._notifyScopeListeners();\n\n return this;\n };\n /**\n * @inheritDoc\n */\n\n\n Scope.prototype.setExtra = function (key, extra) {\n var _a;\n\n this._extra = tslib_1.__assign(tslib_1.__assign({}, this._extra), (_a = {}, _a[key] = extra, _a));\n\n this._notifyScopeListeners();\n\n return this;\n };\n /**\n * @inheritDoc\n */\n\n\n Scope.prototype.setFingerprint = function (fingerprint) {\n this._fingerprint = fingerprint;\n\n this._notifyScopeListeners();\n\n return this;\n };\n /**\n * @inheritDoc\n */\n\n\n Scope.prototype.setLevel = function (level) {\n this._level = level;\n\n this._notifyScopeListeners();\n\n return this;\n };\n /**\n * @inheritDoc\n */\n\n\n Scope.prototype.setTransactionName = function (name) {\n this._transactionName = name;\n\n this._notifyScopeListeners();\n\n return this;\n };\n /**\n * Can be removed in major version.\n * @deprecated in favor of {@link this.setTransactionName}\n */\n\n\n Scope.prototype.setTransaction = function (name) {\n return this.setTransactionName(name);\n };\n /**\n * @inheritDoc\n */\n\n\n Scope.prototype.setContext = function (key, context) {\n var _a;\n\n if (context === null) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete this._contexts[key];\n } else {\n this._contexts = tslib_1.__assign(tslib_1.__assign({}, this._contexts), (_a = {}, _a[key] = context, _a));\n }\n\n this._notifyScopeListeners();\n\n return this;\n };\n /**\n * @inheritDoc\n */\n\n\n Scope.prototype.setSpan = function (span) {\n this._span = span;\n\n this._notifyScopeListeners();\n\n return this;\n };\n /**\n * @inheritDoc\n */\n\n\n Scope.prototype.getSpan = function () {\n return this._span;\n };\n /**\n * @inheritDoc\n */\n\n\n Scope.prototype.getTransaction = function () {\n var _a, _b, _c, _d; // often, this span will be a transaction, but it's not guaranteed to be\n\n\n var span = this.getSpan(); // try it the new way first\n\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 } // fallback to the old way (known bug: this only finds transactions with sampled = true)\n\n\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 } // neither way found a transaction\n\n\n return undefined;\n };\n /**\n * @inheritDoc\n */\n\n\n Scope.prototype.setSession = function (session) {\n if (!session) {\n delete this._session;\n } else {\n this._session = session;\n }\n\n this._notifyScopeListeners();\n\n return this;\n };\n /**\n * @inheritDoc\n */\n\n\n Scope.prototype.getSession = function () {\n return this._session;\n };\n /**\n * @inheritDoc\n */\n\n\n Scope.prototype.update = function (captureContext) {\n if (!captureContext) {\n return this;\n }\n\n if (typeof captureContext === 'function') {\n var updatedScope = captureContext(this);\n return updatedScope instanceof Scope ? updatedScope : this;\n }\n\n if (captureContext instanceof Scope) {\n this._tags = tslib_1.__assign(tslib_1.__assign({}, this._tags), captureContext._tags);\n this._extra = tslib_1.__assign(tslib_1.__assign({}, this._extra), captureContext._extra);\n this._contexts = tslib_1.__assign(tslib_1.__assign({}, this._contexts), captureContext._contexts);\n\n if (captureContext._user && Object.keys(captureContext._user).length) {\n this._user = captureContext._user;\n }\n\n if (captureContext._level) {\n this._level = captureContext._level;\n }\n\n if (captureContext._fingerprint) {\n this._fingerprint = captureContext._fingerprint;\n }\n\n if (captureContext._requestSession) {\n this._requestSession = captureContext._requestSession;\n }\n } else if (utils_1.isPlainObject(captureContext)) {\n // eslint-disable-next-line no-param-reassign\n captureContext = captureContext;\n this._tags = tslib_1.__assign(tslib_1.__assign({}, this._tags), captureContext.tags);\n this._extra = tslib_1.__assign(tslib_1.__assign({}, this._extra), captureContext.extra);\n this._contexts = tslib_1.__assign(tslib_1.__assign({}, this._contexts), captureContext.contexts);\n\n if (captureContext.user) {\n this._user = captureContext.user;\n }\n\n if (captureContext.level) {\n this._level = captureContext.level;\n }\n\n if (captureContext.fingerprint) {\n this._fingerprint = captureContext.fingerprint;\n }\n\n if (captureContext.requestSession) {\n this._requestSession = captureContext.requestSession;\n }\n }\n\n return this;\n };\n /**\n * @inheritDoc\n */\n\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._requestSession = undefined;\n this._span = undefined;\n this._session = undefined;\n\n this._notifyScopeListeners();\n\n return this;\n };\n /**\n * @inheritDoc\n */\n\n\n Scope.prototype.addBreadcrumb = function (breadcrumb, maxBreadcrumbs) {\n var maxCrumbs = typeof maxBreadcrumbs === 'number' ? Math.min(maxBreadcrumbs, MAX_BREADCRUMBS) : MAX_BREADCRUMBS; // No data has been changed, so don't notify scope listeners\n\n if (maxCrumbs <= 0) {\n return this;\n }\n\n var mergedBreadcrumb = tslib_1.__assign({\n timestamp: utils_1.dateTimestampInSeconds()\n }, breadcrumb);\n\n this._breadcrumbs = tslib_1.__spread(this._breadcrumbs, [mergedBreadcrumb]).slice(-maxCrumbs);\n\n this._notifyScopeListeners();\n\n return this;\n };\n /**\n * @inheritDoc\n */\n\n\n Scope.prototype.clearBreadcrumbs = function () {\n this._breadcrumbs = [];\n\n this._notifyScopeListeners();\n\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\n\n Scope.prototype.applyToEvent = function (event, hint) {\n var _a;\n\n if (this._extra && Object.keys(this._extra).length) {\n event.extra = tslib_1.__assign(tslib_1.__assign({}, this._extra), event.extra);\n }\n\n if (this._tags && Object.keys(this._tags).length) {\n event.tags = tslib_1.__assign(tslib_1.__assign({}, this._tags), event.tags);\n }\n\n if (this._user && Object.keys(this._user).length) {\n event.user = tslib_1.__assign(tslib_1.__assign({}, this._user), event.user);\n }\n\n if (this._contexts && Object.keys(this._contexts).length) {\n event.contexts = tslib_1.__assign(tslib_1.__assign({}, this._contexts), event.contexts);\n }\n\n if (this._level) {\n event.level = this._level;\n }\n\n if (this._transactionName) {\n event.transaction = this._transactionName;\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\n\n if (this._span) {\n event.contexts = tslib_1.__assign({\n trace: this._span.getTraceContext()\n }, event.contexts);\n var transactionName = (_a = this._span.transaction) === null || _a === void 0 ? void 0 : _a.name;\n\n if (transactionName) {\n event.tags = tslib_1.__assign({\n transaction: transactionName\n }, event.tags);\n }\n }\n\n this._applyFingerprint(event);\n\n event.breadcrumbs = tslib_1.__spread(event.breadcrumbs || [], this._breadcrumbs);\n event.breadcrumbs = event.breadcrumbs.length > 0 ? event.breadcrumbs : undefined;\n return this._notifyEventProcessors(tslib_1.__spread(getGlobalEventProcessors(), this._eventProcessors), event, hint);\n };\n /**\n * This will be called after {@link applyToEvent} is finished.\n */\n\n\n Scope.prototype._notifyEventProcessors = function (processors, event, hint, index) {\n var _this = this;\n\n if (index === void 0) {\n index = 0;\n }\n\n return new utils_1.SyncPromise(function (resolve, reject) {\n var processor = processors[index];\n\n if (event === null || typeof processor !== 'function') {\n resolve(event);\n } else {\n var result = processor(tslib_1.__assign({}, event), hint);\n\n if (utils_1.isThenable(result)) {\n void result.then(function (final) {\n return _this._notifyEventProcessors(processors, final, hint, index + 1).then(resolve);\n }).then(null, reject);\n } else {\n void _this._notifyEventProcessors(processors, result, hint, index + 1).then(resolve).then(null, reject);\n }\n }\n });\n };\n /**\n * This will be called on every set call.\n */\n\n\n Scope.prototype._notifyScopeListeners = function () {\n var _this = this; // 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\n\n if (!this._notifyingListeners) {\n this._notifyingListeners = true;\n\n this._scopeListeners.forEach(function (callback) {\n callback(_this);\n });\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\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 ? Array.isArray(event.fingerprint) ? event.fingerprint : [event.fingerprint] : []; // If we have something on the scope, then merge it with event\n\n if (this._fingerprint) {\n event.fingerprint = event.fingerprint.concat(this._fingerprint);\n } // If we have no data at all, remove empty array default\n\n\n if (event.fingerprint && !event.fingerprint.length) {\n delete event.fingerprint;\n }\n };\n\n return Scope;\n}();\n\nexports.Scope = Scope;\n/**\n * Retruns the global event processors.\n */\n\nfunction getGlobalEventProcessors() {\n /* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access */\n var global = utils_1.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 */\n\n\nfunction addGlobalEventProcessor(callback) {\n getGlobalEventProcessors().push(callback);\n}\n\nexports.addGlobalEventProcessor = addGlobalEventProcessor;","/*\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 */\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar bindReporter_1 = require(\"./lib/bindReporter\");\n\nvar getFirstHidden_1 = require(\"./lib/getFirstHidden\");\n\nvar initMetric_1 = require(\"./lib/initMetric\");\n\nvar observe_1 = require(\"./lib/observe\");\n\nvar onHidden_1 = require(\"./lib/onHidden\");\n\nexports.getFID = function (onReport) {\n var metric = initMetric_1.initMetric('FID');\n var firstHidden = getFirstHidden_1.getFirstHidden();\n\n var entryHandler = function entryHandler(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\n var po = observe_1.observe('first-input', entryHandler);\n var report = bindReporter_1.bindReporter(onReport, metric, po);\n\n if (po) {\n onHidden_1.onHidden(function () {\n po.takeRecords().map(entryHandler);\n po.disconnect();\n }, true);\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 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 report();\n }\n });\n }\n }\n};","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar logger_1 = require(\"./logger\");\n\nvar misc_1 = require(\"./misc\");\n/**\n * Tells whether current environment supports ErrorEvent objects\n * {@link supportsErrorEvent}.\n *\n * @returns Answer to the given question.\n */\n\n\nfunction supportsErrorEvent() {\n try {\n new ErrorEvent('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\nexports.supportsErrorEvent = supportsErrorEvent;\n/**\n * Tells whether current environment supports DOMError objects\n * {@link supportsDOMError}.\n *\n * @returns Answer to the given question.\n */\n\nfunction 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 } catch (e) {\n return false;\n }\n}\n\nexports.supportsDOMError = supportsDOMError;\n/**\n * Tells whether current environment supports DOMException objects\n * {@link supportsDOMException}.\n *\n * @returns Answer to the given question.\n */\n\nfunction supportsDOMException() {\n try {\n new DOMException('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\nexports.supportsDOMException = supportsDOMException;\n/**\n * Tells whether current environment supports Fetch API\n * {@link supportsFetch}.\n *\n * @returns Answer to the given question.\n */\n\nfunction supportsFetch() {\n if (!('fetch' in misc_1.getGlobalObject())) {\n return false;\n }\n\n try {\n new Headers();\n new Request('');\n new Response();\n return true;\n } catch (e) {\n return false;\n }\n}\n\nexports.supportsFetch = supportsFetch;\n/**\n * isNativeFetch checks if the given function is a native implementation of fetch()\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\n\nfunction isNativeFetch(func) {\n return func && /^function fetch\\(\\)\\s+\\{\\s+\\[native code\\]\\s+\\}$/.test(func.toString());\n}\n\nexports.isNativeFetch = isNativeFetch;\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 */\n\nfunction supportsNativeFetch() {\n if (!supportsFetch()) {\n return false;\n }\n\n var global = misc_1.getGlobalObject(); // Fast path to avoid DOM I/O\n // eslint-disable-next-line @typescript-eslint/unbound-method\n\n if (isNativeFetch(global.fetch)) {\n return true;\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\n\n var result = false;\n var doc = global.document; // eslint-disable-next-line deprecation/deprecation\n\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\n if (sandbox.contentWindow && sandbox.contentWindow.fetch) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n result = isNativeFetch(sandbox.contentWindow.fetch);\n }\n\n doc.head.removeChild(sandbox);\n } catch (err) {\n logger_1.logger.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', err);\n }\n }\n\n return result;\n}\n\nexports.supportsNativeFetch = supportsNativeFetch;\n/**\n * Tells whether current environment supports ReportingObserver API\n * {@link supportsReportingObserver}.\n *\n * @returns Answer to the given question.\n */\n\nfunction supportsReportingObserver() {\n return 'ReportingObserver' in misc_1.getGlobalObject();\n}\n\nexports.supportsReportingObserver = supportsReportingObserver;\n/**\n * Tells whether current environment supports Referrer Policy API\n * {@link supportsReferrerPolicy}.\n *\n * @returns Answer to the given question.\n */\n\nfunction 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\n try {\n new Request('_', {\n referrerPolicy: 'origin'\n });\n return true;\n } catch (e) {\n return false;\n }\n}\n\nexports.supportsReferrerPolicy = supportsReferrerPolicy;\n/**\n * Tells whether current environment supports History API\n * {@link supportsHistory}.\n *\n * @returns Answer to the given question.\n */\n\nfunction 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 = misc_1.getGlobalObject();\n /* eslint-disable @typescript-eslint/no-unsafe-member-access */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n var chrome = global.chrome;\n var isChromePackagedApp = chrome && chrome.app && chrome.app.runtime;\n /* eslint-enable @typescript-eslint/no-unsafe-member-access */\n\n var hasHistoryApi = 'history' in global && !!global.history.pushState && !!global.history.replaceState;\n return !isChromePackagedApp && hasHistoryApi;\n}\n\nexports.supportsHistory = supportsHistory;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n\nvar browser_1 = require(\"@sentry/browser\");\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar hoist_non_react_statics_1 = tslib_1.__importDefault(require(\"hoist-non-react-statics\"));\n\nvar React = tslib_1.__importStar(require(\"react\"));\n\nexports.UNKNOWN_COMPONENT = 'unknown';\nvar TRACING_GETTER = {\n id: 'Tracing'\n};\nvar globalTracingIntegration = null;\n/** @deprecated remove when @sentry/apm no longer used */\n\nvar getTracingIntegration = function getTracingIntegration() {\n if (globalTracingIntegration) {\n return globalTracingIntegration;\n }\n\n globalTracingIntegration = browser_1.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 */\n\n\nfunction pushActivity(name, op) {\n if (globalTracingIntegration === null) {\n return null;\n }\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 */\n\n\nfunction popActivity(activity) {\n if (activity === null || globalTracingIntegration === null) {\n return;\n }\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 */\n\n\nfunction getActivitySpan(activity) {\n if (activity === null || globalTracingIntegration === null) {\n return undefined;\n }\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 */\n\n\nvar Profiler =\n/** @class */\nfunction (_super) {\n tslib_1.__extends(Profiler, _super);\n\n function Profiler(props) {\n var _this = _super.call(this, props) || this; // The activity representing how long it takes to mount a component.\n\n\n _this._mountActivity = null; // The span of the mount activity\n\n _this._mountSpan = undefined;\n var _a = _this.props,\n name = _a.name,\n _b = _a.disabled,\n disabled = _b === void 0 ? false : _b;\n\n if (disabled) {\n return _this;\n } // If they are using @sentry/apm, we need to push/pop activities\n // eslint-disable-next-line deprecation/deprecation\n\n\n if (getTracingIntegration()) {\n // eslint-disable-next-line deprecation/deprecation\n _this._mountActivity = pushActivity(name, 'mount');\n } else {\n var activeTransaction = getActiveTransaction();\n\n if (activeTransaction) {\n _this._mountSpan = activeTransaction.startChild({\n description: \"<\" + name + \">\",\n op: 'react.mount'\n });\n }\n }\n\n return _this;\n } // If a component mounted, we can finish the mount activity.\n\n\n Profiler.prototype.componentDidMount = function () {\n if (this._mountSpan) {\n this._mountSpan.finish();\n } else {\n // eslint-disable-next-line deprecation/deprecation\n this._mountSpan = getActivitySpan(this._mountActivity); // eslint-disable-next-line deprecation/deprecation\n\n popActivity(this._mountActivity);\n this._mountActivity = null;\n }\n };\n\n Profiler.prototype.componentDidUpdate = function (_a) {\n var _this = this;\n\n var updateProps = _a.updateProps,\n _b = _a.includeUpdates,\n includeUpdates = _b === void 0 ? true : _b; // 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\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) {\n return updateProps[k] !== _this.props.updateProps[k];\n });\n\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 = utils_1.timestampWithMs();\n\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 }; // 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\n\n Profiler.prototype.componentWillUnmount = function () {\n var _a = this.props,\n name = _a.name,\n _b = _a.includeRender,\n includeRender = _b === void 0 ? true : _b;\n\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: utils_1.timestampWithMs(),\n op: \"react.render\",\n startTimestamp: this._mountSpan.endTimestamp\n });\n }\n };\n\n Profiler.prototype.render = function () {\n return this.props.children;\n }; // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n Profiler.defaultProps = {\n disabled: false,\n includeRender: true,\n includeUpdates: true\n };\n return Profiler;\n}(React.Component);\n\nexports.Profiler = Profiler;\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 */\n\nfunction withProfiler(WrappedComponent, // 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 || exports.UNKNOWN_COMPONENT;\n\n var Wrapped = function Wrapped(props) {\n return React.createElement(Profiler, tslib_1.__assign({}, options, {\n name: componentDisplayName,\n updateProps: props\n }), React.createElement(WrappedComponent, tslib_1.__assign({}, props)));\n };\n\n Wrapped.displayName = \"profiler(\" + componentDisplayName + \")\"; // 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\n hoist_non_react_statics_1.default(Wrapped, WrappedComponent);\n return Wrapped;\n}\n\nexports.withProfiler = withProfiler;\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 */\n\nfunction useProfiler(name, options) {\n if (options === void 0) {\n options = {\n disabled: false,\n hasRenderSpan: true\n };\n }\n\n var _a = tslib_1.__read(React.useState(function () {\n if (options && options.disabled) {\n return undefined;\n }\n\n var activeTransaction = getActiveTransaction();\n\n if (activeTransaction) {\n return activeTransaction.startChild({\n description: \"<\" + name + \">\",\n op: 'react.mount'\n });\n }\n\n return undefined;\n }), 1),\n mountSpan = _a[0];\n\n React.useEffect(function () {\n if (mountSpan) {\n mountSpan.finish();\n }\n\n return function () {\n if (mountSpan && options.hasRenderSpan) {\n mountSpan.startChild({\n description: \"<\" + name + \">\",\n endTimestamp: utils_1.timestampWithMs(),\n op: \"react.render\",\n startTimestamp: mountSpan.endTimestamp\n });\n }\n }; // We only want this to run once.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n}\n\nexports.useProfiler = useProfiler;\n/** Grabs active transaction off scope */\n\nfunction getActiveTransaction(hub) {\n if (hub === void 0) {\n hub = browser_1.getCurrentHub();\n }\n\n if (hub) {\n var scope = hub.getScope();\n\n if (scope) {\n return scope.getTransaction();\n }\n }\n\n return undefined;\n}\n\nexports.getActiveTransaction = getActiveTransaction;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n/** Extract sdk info from from the API metadata */\n\n\nfunction getSdkMetadataForEnvelopeHeader(api) {\n if (!api.metadata || !api.metadata.sdk) {\n return;\n }\n\n var _a = api.metadata.sdk,\n name = _a.name,\n version = _a.version;\n return {\n name: name,\n version: version\n };\n}\n/**\n * Apply SdkInfo (name, version, packages, integrations) to the corresponding event key.\n * Merge with existing data if any.\n **/\n\n\nfunction enhanceEventWithSdkInfo(event, sdkInfo) {\n if (!sdkInfo) {\n return event;\n }\n\n event.sdk = event.sdk || {};\n event.sdk.name = event.sdk.name || sdkInfo.name;\n event.sdk.version = event.sdk.version || sdkInfo.version;\n event.sdk.integrations = tslib_1.__spread(event.sdk.integrations || [], sdkInfo.integrations || []);\n event.sdk.packages = tslib_1.__spread(event.sdk.packages || [], sdkInfo.packages || []);\n return event;\n}\n/** Creates a SentryRequest from a Session. */\n\n\nfunction sessionToSentryRequest(session, api) {\n var sdkInfo = getSdkMetadataForEnvelopeHeader(api);\n var envelopeHeaders = JSON.stringify(tslib_1.__assign(tslib_1.__assign({\n sent_at: new Date().toISOString()\n }, sdkInfo && {\n sdk: sdkInfo\n }), api.forceEnvelope() && {\n dsn: api.getDsn().toString()\n })); // I know this is hacky but we don't want to add `session` to request type since it's never rate limited\n\n var type = 'aggregates' in session ? 'sessions' : 'session';\n var itemHeaders = JSON.stringify({\n type: type\n });\n return {\n body: envelopeHeaders + \"\\n\" + itemHeaders + \"\\n\" + JSON.stringify(session),\n type: type,\n url: api.getEnvelopeEndpointWithUrlEncodedAuth()\n };\n}\n\nexports.sessionToSentryRequest = sessionToSentryRequest;\n/** Creates a SentryRequest from an event. */\n\nfunction eventToSentryRequest(event, api) {\n var sdkInfo = getSdkMetadataForEnvelopeHeader(api);\n var eventType = event.type || 'event';\n var useEnvelope = eventType === 'transaction' || api.forceEnvelope();\n\n var _a = event.debug_meta || {},\n transactionSampling = _a.transactionSampling,\n metadata = tslib_1.__rest(_a, [\"transactionSampling\"]);\n\n var _b = transactionSampling || {},\n samplingMethod = _b.method,\n sampleRate = _b.rate;\n\n if (Object.keys(metadata).length === 0) {\n delete event.debug_meta;\n } else {\n event.debug_meta = metadata;\n }\n\n var req = {\n body: JSON.stringify(sdkInfo ? enhanceEventWithSdkInfo(event, api.metadata.sdk) : event),\n type: eventType,\n url: useEnvelope ? api.getEnvelopeEndpointWithUrlEncodedAuth() : api.getStoreEndpointWithUrlEncodedAuth()\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\n if (useEnvelope) {\n var envelopeHeaders = JSON.stringify(tslib_1.__assign(tslib_1.__assign({\n event_id: event.event_id,\n sent_at: new Date().toISOString()\n }, sdkInfo && {\n sdk: sdkInfo\n }), api.forceEnvelope() && {\n dsn: api.getDsn().toString()\n }));\n var itemHeaders = JSON.stringify({\n type: eventType,\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: [{\n id: samplingMethod,\n 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\n var envelope = envelopeHeaders + \"\\n\" + itemHeaders + \"\\n\" + req.body;\n req.body = envelope;\n }\n\n return req;\n}\n\nexports.eventToSentryRequest = eventToSentryRequest;","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","exports.f = Object.getOwnPropertySymbols;\n","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar TransactionSamplingMethod;\n\n(function (TransactionSamplingMethod) {\n TransactionSamplingMethod[\"Explicit\"] = \"explicitly_set\";\n TransactionSamplingMethod[\"Sampler\"] = \"client_sampler\";\n TransactionSamplingMethod[\"Rate\"] = \"client_rate\";\n TransactionSamplingMethod[\"Inheritance\"] = \"inheritance\";\n})(TransactionSamplingMethod = exports.TransactionSamplingMethod || (exports.TransactionSamplingMethod = {}));","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","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.es/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","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar hub_1 = require(\"@sentry/hub\");\n\nvar utils_1 = require(\"@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 */\n\n\nfunction initAndBind(clientClass, options) {\n var _a;\n\n if (options.debug === true) {\n utils_1.logger.enable();\n }\n\n var hub = hub_1.getCurrentHub();\n (_a = hub.getScope()) === null || _a === void 0 ? void 0 : _a.update(options.initialScope);\n var client = new clientClass(options);\n hub.bindClient(client);\n}\n\nexports.initAndBind = initAndBind;","/*\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 */\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar onHidden_1 = require(\"./onHidden\");\n\nvar firstHiddenTime;\n\nexports.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; // Update the time if/when the document becomes hidden.\n\n onHidden_1.onHidden(function (_a) {\n var timeStamp = _a.timeStamp;\n return firstHiddenTime = timeStamp;\n }, true);\n }\n\n return {\n get timeStamp() {\n return firstHiddenTime;\n }\n\n };\n};","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/** JSDoc */\n// eslint-disable-next-line import/export\n\nvar Severity;\n\n(function (Severity) {\n /** JSDoc */\n Severity[\"Fatal\"] = \"fatal\";\n /** JSDoc */\n\n Severity[\"Error\"] = \"error\";\n /** JSDoc */\n\n Severity[\"Warning\"] = \"warning\";\n /** JSDoc */\n\n Severity[\"Log\"] = \"log\";\n /** JSDoc */\n\n Severity[\"Info\"] = \"info\";\n /** JSDoc */\n\n Severity[\"Debug\"] = \"debug\";\n /** JSDoc */\n\n Severity[\"Critical\"] = \"critical\";\n})(Severity = exports.Severity || (exports.Severity = {})); // eslint-disable-next-line @typescript-eslint/no-namespace, import/export\n\n\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\n case 'info':\n return Severity.Info;\n\n case 'warn':\n case 'warning':\n return Severity.Warning;\n\n case 'error':\n return Severity.Error;\n\n case 'fatal':\n return Severity.Fatal;\n\n case 'critical':\n return Severity.Critical;\n\n case 'log':\n default:\n return Severity.Log;\n }\n }\n\n Severity.fromString = fromString;\n})(Severity = exports.Severity || (exports.Severity = {}));","// Slightly modified (no IE8 support, ES6) and transcribed to TypeScript\n// https://raw.githubusercontent.com/calvinmetcalf/rollup-plugin-node-builtins/master/src/es6/path.js\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/** JSDoc */\n\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1); // eslint-disable-next-line no-plusplus\n\n up++;\n } else if (up) {\n parts.splice(i, 1); // eslint-disable-next-line no-plusplus\n\n up--;\n }\n } // if the path is allowed to go above the root, restore leading ..s\n\n\n if (allowAboveRoot) {\n // eslint-disable-next-line no-plusplus\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n} // Split a filename into [root, dir, basename, ext], unix version\n// 'root' is just a slash, or nothing.\n\n\nvar splitPathRe = /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^/]+?|)(\\.[^./]*|))(?:[/]*)$/;\n/** JSDoc */\n\nfunction splitPath(filename) {\n var parts = splitPathRe.exec(filename);\n return parts ? parts.slice(1) : [];\n} // path.resolve([from ...], to)\n// posix version\n\n/** JSDoc */\n\n\nfunction resolve() {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var resolvedPath = '';\n var resolvedAbsolute = false;\n\n for (var i = args.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = i >= 0 ? args[i] : '/'; // Skip empty entries\n\n if (!path) {\n continue;\n }\n\n resolvedPath = path + \"/\" + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n } // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n // Normalize the path\n\n\n resolvedPath = normalizeArray(resolvedPath.split('/').filter(function (p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n return (resolvedAbsolute ? '/' : '') + resolvedPath || '.';\n}\n\nexports.resolve = resolve;\n/** JSDoc */\n\nfunction trim(arr) {\n var start = 0;\n\n for (; start < arr.length; start++) {\n if (arr[start] !== '') {\n break;\n }\n }\n\n var end = arr.length - 1;\n\n for (; end >= 0; end--) {\n if (arr[end] !== '') {\n break;\n }\n }\n\n if (start > end) {\n return [];\n }\n\n return arr.slice(start, end - start + 1);\n} // path.relative(from, to)\n// posix version\n\n/** JSDoc */\n\n\nfunction relative(from, to) {\n /* eslint-disable no-param-reassign */\n from = resolve(from).substr(1);\n to = resolve(to).substr(1);\n /* eslint-enable no-param-reassign */\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n return outputParts.join('/');\n}\n\nexports.relative = relative; // path.normalize(path)\n// posix version\n\n/** JSDoc */\n\nfunction normalizePath(path) {\n var isPathAbsolute = isAbsolute(path);\n var trailingSlash = path.substr(-1) === '/'; // Normalize the path\n\n var normalizedPath = normalizeArray(path.split('/').filter(function (p) {\n return !!p;\n }), !isPathAbsolute).join('/');\n\n if (!normalizedPath && !isPathAbsolute) {\n normalizedPath = '.';\n }\n\n if (normalizedPath && trailingSlash) {\n normalizedPath += '/';\n }\n\n return (isPathAbsolute ? '/' : '') + normalizedPath;\n}\n\nexports.normalizePath = normalizePath; // posix version\n\n/** JSDoc */\n\nfunction isAbsolute(path) {\n return path.charAt(0) === '/';\n}\n\nexports.isAbsolute = isAbsolute; // posix version\n\n/** JSDoc */\n\nfunction join() {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n return normalizePath(args.join('/'));\n}\n\nexports.join = join;\n/** JSDoc */\n\nfunction dirname(path) {\n var result = splitPath(path);\n var root = result[0];\n var dir = result[1];\n\n if (!root && !dir) {\n // No dirname whatsoever\n return '.';\n }\n\n if (dir) {\n // It has a dirname, strip trailing slash\n dir = dir.substr(0, dir.length - 1);\n }\n\n return root + dir;\n}\n\nexports.dirname = dirname;\n/** JSDoc */\n\nfunction basename(path, ext) {\n var f = splitPath(path)[2];\n\n if (ext && f.substr(ext.length * -1) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n\n return f;\n}\n\nexports.basename = basename;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar defaultFunctionName = '';\n/**\n * Safely extract function name from itself\n */\n\nfunction getFunctionName(fn) {\n try {\n if (!fn || typeof fn !== 'function') {\n return defaultFunctionName;\n }\n\n return fn.name || defaultFunctionName;\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\nexports.getFunctionName = getFunctionName;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar originalFunctionToString;\n/** Patch toString calls to return proper name for wrapped functions */\n\nvar FunctionToString =\n/** @class */\nfunction () {\n function FunctionToString() {\n /**\n * @inheritDoc\n */\n this.name = FunctionToString.id;\n }\n /**\n * @inheritDoc\n */\n\n\n FunctionToString.prototype.setupOnce = function () {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n originalFunctionToString = Function.prototype.toString; // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n Function.prototype.toString = function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var context = this.__sentry_original__ || this;\n return originalFunctionToString.apply(context, args);\n };\n };\n /**\n * @inheritDoc\n */\n\n\n FunctionToString.id = 'FunctionToString';\n return FunctionToString;\n}();\n\nexports.FunctionToString = FunctionToString;","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar NODE_ENV = process.env.NODE_ENV;\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","module.exports = false;\n","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","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","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\nvar hub_1 = require(\"@sentry/hub\");\n\nvar types_1 = require(\"@sentry/types\");\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar errors_1 = require(\"./errors\");\n\nvar idletransaction_1 = require(\"./idletransaction\");\n\nvar transaction_1 = require(\"./transaction\");\n\nvar utils_2 = require(\"./utils\");\n/** Returns all trace headers that are currently on the top scope. */\n\n\nfunction traceHeaders() {\n var scope = this.getScope();\n\n if (scope) {\n var span = scope.getSpan();\n\n if (span) {\n return {\n 'sentry-trace': span.toTraceparent()\n };\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 */\n\n\nfunction sample(transaction, options, samplingContext) {\n // nothing to do if tracing is not enabled\n if (!utils_2.hasTracingEnabled()) {\n transaction.sampled = false;\n return transaction;\n } // if the user has forced a sampling decision by passing a `sampled` value in their transaction context, go with that\n\n\n if (transaction.sampled !== undefined) {\n transaction.setMetadata({\n transactionSampling: {\n method: types_1.TransactionSamplingMethod.Explicit\n }\n });\n return transaction;\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\n\n var sampleRate;\n\n if (typeof options.tracesSampler === 'function') {\n sampleRate = options.tracesSampler(samplingContext);\n transaction.setMetadata({\n transactionSampling: {\n method: types_1.TransactionSamplingMethod.Sampler,\n // cast to number in case it's a boolean\n rate: Number(sampleRate)\n }\n });\n } else if (samplingContext.parentSampled !== undefined) {\n sampleRate = samplingContext.parentSampled;\n transaction.setMetadata({\n transactionSampling: {\n method: types_1.TransactionSamplingMethod.Inheritance\n }\n });\n } else {\n sampleRate = options.tracesSampleRate;\n transaction.setMetadata({\n transactionSampling: {\n method: types_1.TransactionSamplingMethod.Rate,\n // cast to number in case it's a boolean\n rate: Number(sampleRate)\n }\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\n\n if (!isValidSampleRate(sampleRate)) {\n utils_1.logger.warn(\"[Tracing] Discarding transaction because of invalid sample rate.\");\n transaction.sampled = false;\n return transaction;\n } // if the function returned 0 (or false), or if `tracesSampleRate` is 0, it's a sign the transaction should be dropped\n\n\n if (!sampleRate) {\n utils_1.logger.log(\"[Tracing] Discarding transaction because \" + (typeof options.tracesSampler === 'function' ? 'tracesSampler returned 0 or false' : 'a negative sampling decision was inherited or tracesSampleRate is set to 0'));\n transaction.sampled = false;\n return transaction;\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\n\n transaction.sampled = Math.random() < sampleRate; // if we're not going to keep it, we're done\n\n if (!transaction.sampled) {\n utils_1.logger.log(\"[Tracing] Discarding transaction because it's not included in the random sample (sampling rate = \" + Number(sampleRate) + \")\");\n return transaction;\n }\n\n utils_1.logger.log(\"[Tracing] starting \" + transaction.op + \" transaction - \" + transaction.name);\n return transaction;\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 */\n\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 utils_1.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 } // in case sampleRate is a boolean, it will get automatically cast to 1 if it's true and 0 if it's false\n\n\n if (rate < 0 || rate > 1) {\n utils_1.logger.warn(\"[Tracing] Given sample rate is invalid. Sample rate must be between 0 and 1. Got \" + rate + \".\");\n return false;\n }\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 */\n\n\nfunction _startTransaction(transactionContext, customSamplingContext) {\n var _a, _b;\n\n var options = ((_a = this.getClient()) === null || _a === void 0 ? void 0 : _a.getOptions()) || {};\n var transaction = new transaction_1.Transaction(transactionContext, this);\n transaction = sample(transaction, options, tslib_1.__assign({\n parentSampled: transactionContext.parentSampled,\n transactionContext: transactionContext\n }, customSamplingContext));\n\n if (transaction.sampled) {\n transaction.initSpanRecorder((_b = options._experiments) === null || _b === void 0 ? void 0 : _b.maxSpans);\n }\n\n return transaction;\n}\n/**\n * Create new idle transaction.\n */\n\n\nfunction startIdleTransaction(hub, transactionContext, idleTimeout, onScope, customSamplingContext) {\n var _a, _b;\n\n var options = ((_a = hub.getClient()) === null || _a === void 0 ? void 0 : _a.getOptions()) || {};\n var transaction = new idletransaction_1.IdleTransaction(transactionContext, hub, idleTimeout, onScope);\n transaction = sample(transaction, options, tslib_1.__assign({\n parentSampled: transactionContext.parentSampled,\n transactionContext: transactionContext\n }, customSamplingContext));\n\n if (transaction.sampled) {\n transaction.initSpanRecorder((_b = options._experiments) === null || _b === void 0 ? void 0 : _b.maxSpans);\n }\n\n return transaction;\n}\n\nexports.startIdleTransaction = startIdleTransaction;\n/**\n * @private\n */\n\nfunction _addTracingExtensions() {\n var carrier = hub_1.getMainCarrier();\n\n if (!carrier.__SENTRY__) {\n return;\n }\n\n carrier.__SENTRY__.extensions = carrier.__SENTRY__.extensions || {};\n\n if (!carrier.__SENTRY__.extensions.startTransaction) {\n carrier.__SENTRY__.extensions.startTransaction = _startTransaction;\n }\n\n if (!carrier.__SENTRY__.extensions.traceHeaders) {\n carrier.__SENTRY__.extensions.traceHeaders = traceHeaders;\n }\n}\n\nexports._addTracingExtensions = _addTracingExtensions;\n/**\n * @private\n */\n\nfunction _autoloadDatabaseIntegrations() {\n var carrier = hub_1.getMainCarrier();\n\n if (!carrier.__SENTRY__) {\n return;\n }\n\n var packageToIntegrationMapping = {\n mongodb: function mongodb() {\n var integration = utils_1.dynamicRequire(module, './integrations/mongo');\n return new integration.Mongo();\n },\n mongoose: function mongoose() {\n var integration = utils_1.dynamicRequire(module, './integrations/mongo');\n return new integration.Mongo({\n mongoose: true\n });\n },\n mysql: function mysql() {\n var integration = utils_1.dynamicRequire(module, './integrations/mysql');\n return new integration.Mysql();\n },\n pg: function pg() {\n var integration = utils_1.dynamicRequire(module, './integrations/postgres');\n return new integration.Postgres();\n }\n };\n var mappedPackages = Object.keys(packageToIntegrationMapping).filter(function (moduleName) {\n return !!utils_1.loadModule(moduleName);\n }).map(function (pkg) {\n try {\n return packageToIntegrationMapping[pkg]();\n } catch (e) {\n return undefined;\n }\n }).filter(function (p) {\n return p;\n });\n\n if (mappedPackages.length > 0) {\n carrier.__SENTRY__.integrations = tslib_1.__spread(carrier.__SENTRY__.integrations || [], mappedPackages);\n }\n}\n/**\n * This patches the global object and injects the Tracing extensions methods\n */\n\n\nfunction addExtensionMethods() {\n _addTracingExtensions(); // Detect and automatically load specified integrations.\n\n\n if (utils_1.isNodeEnv()) {\n _autoloadDatabaseIntegrations();\n } // If an error happens globally, we should make sure transaction status is set to error.\n\n\n errors_1.registerErrorInstrumentation();\n}\n\nexports.addExtensionMethods = addExtensionMethods;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar hoist_non_react_statics_1 = tslib_1.__importDefault(require(\"hoist-non-react-statics\"));\n\nvar React = tslib_1.__importStar(require(\"react\"));\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n\nvar global = utils_1.getGlobalObject();\nvar activeTransaction;\n\nfunction reactRouterV4Instrumentation(history, routes, matchPath) {\n return createReactRouterInstrumentation(history, 'react-router-v4', routes, matchPath);\n}\n\nexports.reactRouterV4Instrumentation = reactRouterV4Instrumentation;\n\nfunction reactRouterV5Instrumentation(history, routes, matchPath) {\n return createReactRouterInstrumentation(history, 'react-router-v5', routes, matchPath);\n}\n\nexports.reactRouterV5Instrumentation = reactRouterV5Instrumentation;\n\nfunction createReactRouterInstrumentation(history, name, allRoutes, matchPath) {\n if (allRoutes === void 0) {\n allRoutes = [];\n }\n\n function getInitPathName() {\n if (history && history.location) {\n return history.location.pathname;\n }\n\n if (global && global.location) {\n return global.location.pathname;\n }\n\n return undefined;\n }\n\n function getTransactionName(pathname) {\n if (allRoutes === [] || !matchPath) {\n return pathname;\n }\n\n var branches = matchRoutes(allRoutes, pathname, matchPath); // eslint-disable-next-line @typescript-eslint/prefer-for-of\n\n for (var x = 0; x < branches.length; x++) {\n if (branches[x].match.isExact) {\n return branches[x].match.path;\n }\n }\n\n return pathname;\n }\n\n return function (customStartTransaction, startTransactionOnPageLoad, startTransactionOnLocationChange) {\n if (startTransactionOnPageLoad === void 0) {\n startTransactionOnPageLoad = true;\n }\n\n if (startTransactionOnLocationChange === void 0) {\n startTransactionOnLocationChange = true;\n }\n\n var initPathName = getInitPathName();\n\n if (startTransactionOnPageLoad && initPathName) {\n activeTransaction = customStartTransaction({\n name: getTransactionName(initPathName),\n op: 'pageload',\n tags: {\n 'routing.instrumentation': name\n }\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\n var tags = {\n 'routing.instrumentation': name\n };\n activeTransaction = customStartTransaction({\n name: getTransactionName(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 */\n\n\nfunction matchRoutes(routes, pathname, matchPath, branch) {\n if (branch === void 0) {\n branch = [];\n }\n\n routes.some(function (route) {\n var match = route.path ? matchPath(pathname, route) : branch.length ? branch[branch.length - 1].match // use parent match\n : computeRootMatch(pathname); // use default \"root\" match\n\n if (match) {\n branch.push({\n route: route,\n match: match\n });\n\n if (route.routes) {\n matchRoutes(route.routes, pathname, matchPath, branch);\n }\n }\n\n return !!match;\n });\n return branch;\n}\n\nfunction computeRootMatch(pathname) {\n return {\n path: '/',\n url: '/',\n params: {},\n isExact: pathname === '/'\n };\n} // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n\nfunction withSentryRouting(Route) {\n var componentDisplayName = Route.displayName || Route.name;\n\n var WrappedRoute = function WrappedRoute(props) {\n if (activeTransaction && props && props.computedMatch && props.computedMatch.isExact) {\n activeTransaction.setName(props.computedMatch.path);\n }\n\n return React.createElement(Route, tslib_1.__assign({}, props));\n };\n\n WrappedRoute.displayName = \"sentryRoute(\" + componentDisplayName + \")\";\n hoist_non_react_statics_1.default(WrappedRoute, Route);\n return WrappedRoute;\n}\n\nexports.withSentryRouting = withSentryRouting;","'use strict';\nvar $ = require('../internals/export');\nvar $trimEnd = require('../internals/string-trim').end;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\nvar FORCED = forcedStringTrimMethod('trimEnd');\n\nvar trimEnd = FORCED ? function trimEnd() {\n return $trimEnd(this);\n} : ''.trimEnd;\n\n// `String.prototype.{ trimEnd, trimRight }` methods\n// https://tc39.es/ecma262/#sec-string.prototype.trimend\n// https://tc39.es/ecma262/#String.prototype.trimright\n$({ target: 'String', proto: true, forced: FORCED }, {\n trimEnd: trimEnd,\n trimRight: trimEnd\n});\n","/**\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 */\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\"); // global reference to slice\n\n\nvar UNKNOWN_FUNCTION = '?'; // Chromium based browsers: Chrome, Brave, new Opera, new Edge\n\nvar chrome = /^\\s*at (?:(.*?) ?\\()?((?:file|https?|blob|chrome-extension|address|native|eval|webpack||[-a-z]+:|.*bundle|\\/).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i; // 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.\n\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+))\\)/; // Based on our own mapping pattern - https://github.com/getsentry/sentry/blob/9f08305e09866c8bd6d0c24f5b0aabdd7dd6c59c/src/sentry/lang/javascript/errormapping.py#L83-L108\n\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\n\nfunction computeStackTrace(ex) {\n var stack = null;\n var popSize = 0;\n\n if (ex) {\n if (typeof ex.framesToPop === 'number') {\n popSize = ex.framesToPop;\n } else if (reactMinifiedRegexp.test(ex.message)) {\n popSize = 1;\n }\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\n if (stack) {\n return popFrames(stack, popSize);\n }\n } catch (e) {// no-empty\n }\n\n try {\n stack = computeStackTraceFromStackProp(ex);\n\n if (stack) {\n return popFrames(stack, popSize);\n }\n } catch (e) {// no-empty\n }\n\n return {\n message: extractMessage(ex),\n name: ex && ex.name,\n stack: [],\n failed: true\n };\n}\n\nexports.computeStackTrace = computeStackTrace;\n/** JSDoc */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, complexity\n\nfunction computeStackTraceFromStackProp(ex) {\n if (!ex || !ex.stack) {\n return null;\n }\n\n var stack = [];\n var lines = ex.stack.split('\\n');\n var isEval;\n var submatch;\n var parts;\n var element;\n\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\n isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n\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\n parts[3] = submatch[2]; // line\n\n parts[4] = submatch[3]; // column\n } // Arpad: 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\n\n var url = parts[2] && parts[2].indexOf('address at ') === 0 ? parts[2].substr('address at '.length) : parts[2]; // Kamil: One more hack won't hurt us right? Understanding and adding more rules on top of these regexps right now\n // would be way too time consuming. (TODO: Rewrite whole RegExp to be more readable)\n\n var func = parts[1] || UNKNOWN_FUNCTION;\n var isSafariExtension = func.indexOf('safari-extension') !== -1;\n var isSafariWebExtension = func.indexOf('safari-web-extension') !== -1;\n\n if (isSafariExtension || isSafariWebExtension) {\n func = func.indexOf('@') !== -1 ? func.split('@')[0] : UNKNOWN_FUNCTION;\n url = isSafariExtension ? \"safari-extension:\" + url : \"safari-web-extension:\" + url;\n }\n\n element = {\n url: url,\n func: func,\n args: isNative ? [parts[2]] : [],\n line: parts[3] ? +parts[3] : null,\n column: parts[4] ? +parts[4] : null\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 } else if (parts = gecko.exec(lines[i])) {\n isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n\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 } 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\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 } else {\n continue;\n }\n\n if (!element.func && element.line) {\n element.func = UNKNOWN_FUNCTION;\n }\n\n stack.push(element);\n }\n\n if (!stack.length) {\n return null;\n }\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\n\n\nfunction computeStackTraceFromStacktraceProp(ex) {\n if (!ex || !ex.stacktrace) {\n return null;\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\n\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\n for (var line = 0; line < lines.length; line += 2) {\n var element = null;\n\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 } 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\n if (element) {\n if (!element.func && element.line) {\n element.func = UNKNOWN_FUNCTION;\n }\n\n stack.push(element);\n }\n }\n\n if (!stack.length) {\n return null;\n }\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 */\n\n\nfunction popFrames(stacktrace, popSize) {\n try {\n return tslib_1.__assign(tslib_1.__assign({}, stacktrace), {\n 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\n\n\nfunction extractMessage(ex) {\n var message = ex && ex.message;\n\n if (!message) {\n return 'No error message';\n }\n\n if (message.error && typeof message.error.message === 'string') {\n return message.error.message;\n }\n\n return message;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _gatsby = require(\"gatsby\");\n\nvar _getManifestPathname = _interopRequireDefault(require(\"./get-manifest-pathname\"));\n\n/* global __MANIFEST_PLUGIN_HAS_LOCALISATION__ */\n// when we don't have localisation in our manifest, we tree shake everything away\nif (__MANIFEST_PLUGIN_HAS_LOCALISATION__) {\n exports.onRouteUpdate = function (_ref, pluginOptions) {\n var location = _ref.location;\n var localize = pluginOptions.localize;\n var manifestFilename = (0, _getManifestPathname.default)(location.pathname, localize);\n var manifestEl = document.head.querySelector(\"link[rel=\\\"manifest\\\"]\");\n\n if (manifestEl) {\n manifestEl.setAttribute(\"href\", (0, _gatsby.withPrefix)(manifestFilename));\n }\n };\n}","/*\n Why commonjs and not ES imports/exports?\n\n This module is used to alias `create-react-context` package, but drop the the actual implementation part\n because Gatsby requires version of react that has implementatoin baked in.\n \n Package source is using ES modules:\n - https://github.com/jamiebuilds/create-react-context/blob/v0.3.0/src/index.js\n \n But to build this package `babel-plugin-add-module-exports` is used ( https://www.npmjs.com/package/babel-plugin-add-module-exports).\n Which result in both `module.exports` and `exports.default` being set to same thing.\n\n We don't use that babel plugin so we only have `exports.default`.\n\n This cause problems in various 3rd party react components that rely on `module.exports` being set.\n See https://github.com/gatsbyjs/gatsby/issues/23645 for example of it.\n \n Instead of adding same babel plugin we mimic output here. Adding babel plugin just for this would:\n a) unnecesairly slow down compilation for all other files (if we just apply it everywhere)\n b) or complicate babel-loader configuration with overwrite specifically for this file\n*/\n\nconst { createContext } = require(`react`)\n\nmodule.exports = createContext\nmodule.exports.default = createContext\n","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar types_1 = require(\"@sentry/types\");\n\nvar utils_1 = require(\"@sentry/utils\");\n/**\n * @inheritdoc\n */\n\n\nvar Session =\n/** @class */\nfunction () {\n function Session(context) {\n this.errors = 0;\n this.sid = utils_1.uuid4();\n this.duration = 0;\n this.status = types_1.SessionStatus.Ok;\n this.init = true;\n this.ignoreDuration = false; // Both timestamp and started are in seconds since the UNIX epoch.\n\n var startingTime = utils_1.timestampInSeconds();\n this.timestamp = startingTime;\n this.started = startingTime;\n\n if (context) {\n this.update(context);\n }\n }\n /** JSDoc */\n // eslint-disable-next-line complexity\n\n\n Session.prototype.update = function (context) {\n if (context === void 0) {\n context = {};\n }\n\n if (context.user) {\n if (context.user.ip_address) {\n this.ipAddress = context.user.ip_address;\n }\n\n if (!context.did) {\n this.did = context.user.id || context.user.email || context.user.username;\n }\n }\n\n this.timestamp = context.timestamp || utils_1.timestampInSeconds();\n\n if (context.ignoreDuration) {\n this.ignoreDuration = context.ignoreDuration;\n }\n\n if (context.sid) {\n // Good enough uuid validation. — Kamil\n this.sid = context.sid.length === 32 ? context.sid : utils_1.uuid4();\n }\n\n if (context.init !== undefined) {\n this.init = context.init;\n }\n\n if (context.did) {\n this.did = \"\" + context.did;\n }\n\n if (typeof context.started === 'number') {\n this.started = context.started;\n }\n\n if (this.ignoreDuration) {\n this.duration = undefined;\n } else if (typeof context.duration === 'number') {\n this.duration = context.duration;\n } else {\n var duration = this.timestamp - this.started;\n this.duration = duration >= 0 ? duration : 0;\n }\n\n if (context.release) {\n this.release = context.release;\n }\n\n if (context.environment) {\n this.environment = context.environment;\n }\n\n if (context.ipAddress) {\n this.ipAddress = context.ipAddress;\n }\n\n if (context.userAgent) {\n this.userAgent = context.userAgent;\n }\n\n if (typeof context.errors === 'number') {\n this.errors = context.errors;\n }\n\n if (context.status) {\n this.status = context.status;\n }\n };\n /** JSDoc */\n\n\n Session.prototype.close = function (status) {\n if (status) {\n this.update({\n status: status\n });\n } else if (this.status === types_1.SessionStatus.Ok) {\n this.update({\n status: types_1.SessionStatus.Exited\n });\n } else {\n this.update();\n }\n };\n /** JSDoc */\n\n\n Session.prototype.toJSON = function () {\n return utils_1.dropUndefinedKeys({\n sid: \"\" + this.sid,\n init: this.init,\n // Make sure that sec is converted to ms for date constructor\n started: new Date(this.started * 1000).toISOString(),\n timestamp: new Date(this.timestamp * 1000).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: utils_1.dropUndefinedKeys({\n release: this.release,\n environment: this.environment,\n ip_address: this.ipAddress,\n user_agent: this.userAgent\n })\n });\n };\n\n return Session;\n}();\n\nexports.Session = Session;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\nvar hub_1 = require(\"@sentry/hub\");\n\nvar utils_1 = require(\"@sentry/utils\"); // \"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.\n\n\nvar DEFAULT_IGNORE_ERRORS = [/^Script error\\.?$/, /^Javascript error: Script error\\.? on line 0$/];\n/** Inbound filters configurable by the user */\n\nvar InboundFilters =\n/** @class */\nfunction () {\n function InboundFilters(_options) {\n if (_options === void 0) {\n _options = {};\n }\n\n this._options = _options;\n /**\n * @inheritDoc\n */\n\n this.name = InboundFilters.id;\n }\n /**\n * @inheritDoc\n */\n\n\n InboundFilters.prototype.setupOnce = function () {\n hub_1.addGlobalEventProcessor(function (event) {\n var hub = hub_1.getCurrentHub();\n\n if (!hub) {\n return event;\n }\n\n var self = hub.getIntegration(InboundFilters);\n\n if (self) {\n var client = hub.getClient();\n var clientOptions = client ? client.getOptions() : {}; // This checks prevents most of the occurrences of the bug linked below:\n // https://github.com/getsentry/sentry-javascript/issues/2622\n // The bug is caused by multiple SDK instances, where one is minified and one is using non-mangled code.\n // Unfortunatelly we cannot fix it reliably (thus reserved property in rollup's terser config),\n // as we cannot force people using multiple instances in their apps to sync SDK versions.\n\n var options = typeof self._mergeOptions === 'function' ? self._mergeOptions(clientOptions) : {};\n\n if (typeof self._shouldDropEvent !== 'function') {\n return event;\n }\n\n return self._shouldDropEvent(event, options) ? null : event;\n }\n\n return event;\n });\n };\n /** JSDoc */\n\n\n InboundFilters.prototype._shouldDropEvent = function (event, options) {\n if (this._isSentryError(event, options)) {\n utils_1.logger.warn(\"Event dropped due to being internal Sentry Error.\\nEvent: \" + utils_1.getEventDescription(event));\n return true;\n }\n\n if (this._isIgnoredError(event, options)) {\n utils_1.logger.warn(\"Event dropped due to being matched by `ignoreErrors` option.\\nEvent: \" + utils_1.getEventDescription(event));\n return true;\n }\n\n if (this._isDeniedUrl(event, options)) {\n utils_1.logger.warn(\"Event dropped due to being matched by `denyUrls` option.\\nEvent: \" + utils_1.getEventDescription(event) + \".\\nUrl: \" + this._getEventFilterUrl(event));\n return true;\n }\n\n if (!this._isAllowedUrl(event, options)) {\n utils_1.logger.warn(\"Event dropped due to not being matched by `allowUrls` option.\\nEvent: \" + utils_1.getEventDescription(event) + \".\\nUrl: \" + this._getEventFilterUrl(event));\n return true;\n }\n\n return false;\n };\n /** JSDoc */\n\n\n InboundFilters.prototype._isSentryError = function (event, options) {\n if (!options.ignoreInternal) {\n return false;\n }\n\n try {\n return event && event.exception && event.exception.values && event.exception.values[0] && event.exception.values[0].type === 'SentryError' || false;\n } catch (_oO) {\n return false;\n }\n };\n /** JSDoc */\n\n\n InboundFilters.prototype._isIgnoredError = function (event, options) {\n if (!options.ignoreErrors || !options.ignoreErrors.length) {\n return false;\n }\n\n return this._getPossibleEventMessages(event).some(function (message) {\n // Not sure why TypeScript complains here...\n return options.ignoreErrors.some(function (pattern) {\n return utils_1.isMatchingPattern(message, pattern);\n });\n });\n };\n /** JSDoc */\n\n\n InboundFilters.prototype._isDeniedUrl = function (event, options) {\n // TODO: Use Glob instead?\n if (!options.denyUrls || !options.denyUrls.length) {\n return false;\n }\n\n var url = this._getEventFilterUrl(event);\n\n return !url ? false : options.denyUrls.some(function (pattern) {\n return utils_1.isMatchingPattern(url, pattern);\n });\n };\n /** JSDoc */\n\n\n InboundFilters.prototype._isAllowedUrl = function (event, options) {\n // TODO: Use Glob instead?\n if (!options.allowUrls || !options.allowUrls.length) {\n return true;\n }\n\n var url = this._getEventFilterUrl(event);\n\n return !url ? true : options.allowUrls.some(function (pattern) {\n return utils_1.isMatchingPattern(url, pattern);\n });\n };\n /** JSDoc */\n\n\n InboundFilters.prototype._mergeOptions = function (clientOptions) {\n if (clientOptions === void 0) {\n clientOptions = {};\n }\n\n return {\n allowUrls: tslib_1.__spread(this._options.whitelistUrls || [], this._options.allowUrls || [], clientOptions.whitelistUrls || [], clientOptions.allowUrls || []),\n denyUrls: tslib_1.__spread(this._options.blacklistUrls || [], this._options.denyUrls || [], clientOptions.blacklistUrls || [], clientOptions.denyUrls || []),\n ignoreErrors: tslib_1.__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\n\n InboundFilters.prototype._getPossibleEventMessages = function (event) {\n if (event.message) {\n return [event.message];\n }\n\n if (event.exception) {\n try {\n var _a = event.exception.values && event.exception.values[0] || {},\n _b = _a.type,\n type = _b === void 0 ? '' : _b,\n _c = _a.value,\n value = _c === void 0 ? '' : _c;\n\n return [\"\" + value, type + \": \" + value];\n } catch (oO) {\n utils_1.logger.error(\"Cannot extract message for event \" + utils_1.getEventDescription(event));\n return [];\n }\n }\n\n return [];\n };\n /** JSDoc */\n\n\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\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\n return null;\n } catch (oO) {\n utils_1.logger.error(\"Cannot extract url for event \" + utils_1.getEventDescription(event));\n return null;\n }\n };\n /**\n * @inheritDoc\n */\n\n\n InboundFilters.id = 'InboundFilters';\n return InboundFilters;\n}();\n\nexports.InboundFilters = InboundFilters;","'use strict';\n\nvar matchOperatorsRe = /[|\\\\{}()[\\]^$+*?.]/g;\n\nmodule.exports = function (str) {\n if (typeof str !== 'string') {\n throw new TypeError('Expected a string');\n }\n\n return str.replace(matchOperatorsRe, '\\\\$&');\n};","var aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = toLength(O.length);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopDefault(ex) {\n return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex;\n}\n\nvar React = _interopDefault(require('react'));\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\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 ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\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\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nvar isFunction = function isFunction(obj) {\n return typeof obj === 'function';\n};\n\nvar MDXContext = /*#__PURE__*/React.createContext({});\n\nvar withMDXComponents = function withMDXComponents(Component) {\n return function (props) {\n var allComponents = useMDXComponents(props.components);\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n components: allComponents\n }));\n };\n};\n\nvar useMDXComponents = function useMDXComponents(components) {\n var contextComponents = React.useContext(MDXContext);\n var allComponents = contextComponents;\n\n if (components) {\n allComponents = isFunction(components) ? components(contextComponents) : _objectSpread2(_objectSpread2({}, contextComponents), components);\n }\n\n return allComponents;\n};\n\nvar MDXProvider = function MDXProvider(props) {\n var allComponents = useMDXComponents(props.components);\n return /*#__PURE__*/React.createElement(MDXContext.Provider, {\n value: allComponents\n }, props.children);\n};\n\nvar TYPE_PROP_NAME = 'mdxType';\nvar DEFAULTS = {\n inlineCode: 'code',\n wrapper: function wrapper(_ref) {\n var children = _ref.children;\n return /*#__PURE__*/React.createElement(React.Fragment, {}, children);\n }\n};\nvar MDXCreateElement = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var propComponents = props.components,\n mdxType = props.mdxType,\n originalType = props.originalType,\n parentName = props.parentName,\n etc = _objectWithoutProperties(props, [\"components\", \"mdxType\", \"originalType\", \"parentName\"]);\n\n var components = useMDXComponents(propComponents);\n var type = mdxType;\n var Component = components[\"\".concat(parentName, \".\").concat(type)] || components[type] || DEFAULTS[type] || originalType;\n\n if (propComponents) {\n return /*#__PURE__*/React.createElement(Component, _objectSpread2(_objectSpread2({\n ref: ref\n }, etc), {}, {\n components: propComponents\n }));\n }\n\n return /*#__PURE__*/React.createElement(Component, _objectSpread2({\n ref: ref\n }, etc));\n});\nMDXCreateElement.displayName = 'MDXCreateElement';\n\nfunction createElement(type, props) {\n var args = arguments;\n var mdxType = props && props.mdxType;\n\n if (typeof type === 'string' || mdxType) {\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = MDXCreateElement;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.originalType = type;\n newProps[TYPE_PROP_NAME] = typeof type === 'string' ? type : mdxType;\n createElementArgArray[1] = newProps;\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n }\n\n return React.createElement.apply(null, createElementArgArray);\n }\n\n return React.createElement.apply(null, args);\n}\n\nexports.MDXContext = MDXContext;\nexports.MDXProvider = MDXProvider;\nexports.mdx = createElement;\nexports.useMDXComponents = useMDXComponents;\nexports.withMDXComponents = withMDXComponents;","function _extends() {\n module.exports = _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\nmodule.exports = _extends;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\nvar core_1 = require(\"@sentry/core\");\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar ignoreOnError = 0;\n/**\n * @hidden\n */\n\nfunction shouldIgnoreOnError() {\n return ignoreOnError > 0;\n}\n\nexports.shouldIgnoreOnError = shouldIgnoreOnError;\n/**\n * @hidden\n */\n\nfunction ignoreNextOnError() {\n // onerror should trigger before setTimeout\n ignoreOnError += 1;\n setTimeout(function () {\n ignoreOnError -= 1;\n });\n}\n\nexports.ignoreNextOnError = ignoreNextOnError;\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 */\n\nfunction wrap(fn, options, before) {\n if (options === void 0) {\n options = {};\n }\n\n if (typeof fn !== 'function') {\n return fn;\n }\n\n try {\n // We don't wanna wrap it twice\n if (fn.__sentry__) {\n return fn;\n } // If this has already been wrapped in the past, return that wrapped function\n\n\n if (fn.__sentry_wrapped__) {\n return fn.__sentry_wrapped__;\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\n\n var sentryWrapped = function sentryWrapped() {\n var args = Array.prototype.slice.call(arguments);\n\n try {\n if (before && typeof before === 'function') {\n before.apply(this, arguments);\n } // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n\n\n var wrappedArguments = args.map(function (arg) {\n return wrap(arg, options);\n });\n\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 } // 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\n\n return fn.apply(this, wrappedArguments);\n } catch (ex) {\n ignoreNextOnError();\n core_1.withScope(function (scope) {\n scope.addEventProcessor(function (event) {\n var processedEvent = tslib_1.__assign({}, event);\n\n if (options.mechanism) {\n utils_1.addExceptionTypeValue(processedEvent, undefined, undefined);\n utils_1.addExceptionMechanism(processedEvent, options.mechanism);\n }\n\n processedEvent.extra = tslib_1.__assign(tslib_1.__assign({}, processedEvent.extra), {\n arguments: args\n });\n return processedEvent;\n });\n core_1.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\n\n try {\n for (var property in fn) {\n if (Object.prototype.hasOwnProperty.call(fn, property)) {\n sentryWrapped[property] = fn[property];\n }\n }\n } catch (_oO) {} // eslint-disable-line no-empty\n\n\n fn.prototype = fn.prototype || {};\n sentryWrapped.prototype = fn.prototype;\n Object.defineProperty(fn, '__sentry_wrapped__', {\n enumerable: false,\n value: sentryWrapped\n }); // Signal that this function has been wrapped/filled already\n // for both debugging and to prevent it to being wrapped/filled twice\n\n Object.defineProperties(sentryWrapped, {\n __sentry__: {\n enumerable: false,\n value: true\n },\n __sentry_original__: {\n enumerable: false,\n value: fn\n }\n }); // Restore original function name (not all browsers allow that)\n\n try {\n var descriptor = Object.getOwnPropertyDescriptor(sentryWrapped, 'name');\n\n if (descriptor.configurable) {\n Object.defineProperty(sentryWrapped, 'name', {\n get: function get() {\n return fn.name;\n }\n });\n } // eslint-disable-next-line no-empty\n\n } catch (_oO) {}\n\n return sentryWrapped;\n}\n\nexports.wrap = wrap;\n/**\n * Injects the Report Dialog script\n * @hidden\n */\n\nfunction injectReportDialog(options) {\n if (options === void 0) {\n options = {};\n }\n\n if (!options.eventId) {\n utils_1.logger.error(\"Missing eventId option in showReportDialog call\");\n return;\n }\n\n if (!options.dsn) {\n utils_1.logger.error(\"Missing dsn option in showReportDialog call\");\n return;\n }\n\n var script = document.createElement('script');\n script.async = true;\n script.src = new core_1.API(options.dsn).getReportDialogEndpoint(options);\n\n if (options.onLoad) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n script.onload = options.onLoad;\n }\n\n (document.head || document.body).appendChild(script);\n}\n\nexports.injectReportDialog = injectReportDialog;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\nvar browser_1 = require(\"./browser\");\n\nvar hubextensions_1 = require(\"./hubextensions\");\n\nexports.addExtensionMethods = hubextensions_1.addExtensionMethods;\n\nvar TracingIntegrations = require(\"./integrations\");\n\nvar Integrations = tslib_1.__assign(tslib_1.__assign({}, TracingIntegrations), {\n BrowserTracing: browser_1.BrowserTracing\n});\n\nexports.Integrations = Integrations;\n\nvar span_1 = require(\"./span\");\n\nexports.Span = span_1.Span;\n\nvar transaction_1 = require(\"./transaction\");\n\nexports.Transaction = transaction_1.Transaction;\n\nvar browser_2 = require(\"./browser\"); // TODO deprecate old name in v7\n\n\nexports.registerRequestInstrumentation = browser_2.instrumentOutgoingRequests;\nexports.defaultRequestInstrumentationOptions = browser_2.defaultRequestInstrumentationOptions;\n\nvar spanstatus_1 = require(\"./spanstatus\");\n\nexports.SpanStatus = spanstatus_1.SpanStatus;\n\nvar idletransaction_1 = require(\"./idletransaction\");\n\nexports.IdleTransaction = idletransaction_1.IdleTransaction;\n\nvar hubextensions_2 = require(\"./hubextensions\");\n\nexports.startIdleTransaction = hubextensions_2.startIdleTransaction; // We are patching the global object with our hub extension methods\n\nhubextensions_1.addExtensionMethods();\n\nvar utils_1 = require(\"./utils\");\n\nexports.extractTraceparentData = utils_1.extractTraceparentData;\nexports.getActiveTransaction = utils_1.getActiveTransaction;\nexports.hasTracingEnabled = utils_1.hasTracingEnabled;\nexports.stripUrlQueryAndFragment = utils_1.stripUrlQueryAndFragment;\nexports.TRACEPARENT_REGEXP = utils_1.TRACEPARENT_REGEXP;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar is_1 = require(\"./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 */\n\n\nfunction truncate(str, max) {\n if (max === void 0) {\n max = 0;\n }\n\n if (typeof str !== 'string' || max === 0) {\n return str;\n }\n\n return str.length <= max ? str : str.substr(0, max) + \"...\";\n}\n\nexports.truncate = truncate;\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 */\n\nfunction snipLine(line, colno) {\n var newLine = line;\n var ll = newLine.length;\n\n if (ll <= 150) {\n return newLine;\n }\n\n if (colno > ll) {\n // eslint-disable-next-line no-param-reassign\n colno = ll;\n }\n\n var start = Math.max(colno - 60, 0);\n\n if (start < 5) {\n start = 0;\n }\n\n var end = Math.min(start + 140, ll);\n\n if (end > ll - 5) {\n end = ll;\n }\n\n if (end === ll) {\n start = Math.max(end - 140, 0);\n }\n\n newLine = newLine.slice(start, end);\n\n if (start > 0) {\n newLine = \"'{snip} \" + newLine;\n }\n\n if (end < ll) {\n newLine += ' {snip}';\n }\n\n return newLine;\n}\n\nexports.snipLine = snipLine;\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\n\nfunction safeJoin(input, delimiter) {\n if (!Array.isArray(input)) {\n return '';\n }\n\n var output = []; // eslint-disable-next-line @typescript-eslint/prefer-for-of\n\n for (var i = 0; i < input.length; i++) {\n var value = input[i];\n\n try {\n output.push(String(value));\n } catch (e) {\n output.push('[value cannot be serialized]');\n }\n }\n\n return output.join(delimiter);\n}\n\nexports.safeJoin = safeJoin;\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 */\n\nfunction isMatchingPattern(value, pattern) {\n if (!is_1.isString(value)) {\n return false;\n }\n\n if (is_1.isRegExp(pattern)) {\n return pattern.test(value);\n }\n\n if (typeof pattern === 'string') {\n return value.indexOf(pattern) !== -1;\n }\n\n return false;\n}\n\nexports.isMatchingPattern = isMatchingPattern;","/** @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'use strict';\n\nvar b = \"function\" === typeof Symbol && Symbol.for,\n c = b ? Symbol.for(\"react.element\") : 60103,\n d = b ? Symbol.for(\"react.portal\") : 60106,\n e = b ? Symbol.for(\"react.fragment\") : 60107,\n f = b ? Symbol.for(\"react.strict_mode\") : 60108,\n g = b ? Symbol.for(\"react.profiler\") : 60114,\n h = b ? Symbol.for(\"react.provider\") : 60109,\n k = b ? Symbol.for(\"react.context\") : 60110,\n l = b ? Symbol.for(\"react.async_mode\") : 60111,\n m = b ? Symbol.for(\"react.concurrent_mode\") : 60111,\n n = b ? Symbol.for(\"react.forward_ref\") : 60112,\n p = b ? Symbol.for(\"react.suspense\") : 60113,\n q = b ? Symbol.for(\"react.suspense_list\") : 60120,\n r = b ? Symbol.for(\"react.memo\") : 60115,\n t = b ? Symbol.for(\"react.lazy\") : 60116,\n v = b ? Symbol.for(\"react.block\") : 60121,\n w = b ? Symbol.for(\"react.fundamental\") : 60117,\n x = b ? Symbol.for(\"react.responder\") : 60118,\n y = b ? Symbol.for(\"react.scope\") : 60119;\n\nfunction z(a) {\n if (\"object\" === typeof a && null !== a) {\n var u = a.$$typeof;\n\n switch (u) {\n case c:\n switch (a = a.type, a) {\n case l:\n case m:\n case e:\n case g:\n case f:\n case p:\n return a;\n\n default:\n switch (a = a && a.$$typeof, a) {\n case k:\n case n:\n case t:\n case r:\n case h:\n return a;\n\n default:\n return u;\n }\n\n }\n\n case d:\n return u;\n }\n }\n}\n\nfunction A(a) {\n return z(a) === m;\n}\n\nexports.AsyncMode = l;\nexports.ConcurrentMode = m;\nexports.ContextConsumer = k;\nexports.ContextProvider = h;\nexports.Element = c;\nexports.ForwardRef = n;\nexports.Fragment = e;\nexports.Lazy = t;\nexports.Memo = r;\nexports.Portal = d;\nexports.Profiler = g;\nexports.StrictMode = f;\nexports.Suspense = p;\n\nexports.isAsyncMode = function (a) {\n return A(a) || z(a) === l;\n};\n\nexports.isConcurrentMode = A;\n\nexports.isContextConsumer = function (a) {\n return z(a) === k;\n};\n\nexports.isContextProvider = function (a) {\n return z(a) === h;\n};\n\nexports.isElement = function (a) {\n return \"object\" === typeof a && null !== a && a.$$typeof === c;\n};\n\nexports.isForwardRef = function (a) {\n return z(a) === n;\n};\n\nexports.isFragment = function (a) {\n return z(a) === e;\n};\n\nexports.isLazy = function (a) {\n return z(a) === t;\n};\n\nexports.isMemo = function (a) {\n return z(a) === r;\n};\n\nexports.isPortal = function (a) {\n return z(a) === d;\n};\n\nexports.isProfiler = function (a) {\n return z(a) === g;\n};\n\nexports.isStrictMode = function (a) {\n return z(a) === f;\n};\n\nexports.isSuspense = function (a) {\n return z(a) === p;\n};\n\nexports.isValidElementType = function (a) {\n 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);\n};\n\nexports.typeOf = z;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar spanstatus_1 = require(\"./spanstatus\");\n\nvar utils_2 = require(\"./utils\");\n/**\n * Configures global error listeners\n */\n\n\nfunction registerErrorInstrumentation() {\n utils_1.addInstrumentationHandler({\n callback: errorCallback,\n type: 'error'\n });\n utils_1.addInstrumentationHandler({\n callback: errorCallback,\n type: 'unhandledrejection'\n });\n}\n\nexports.registerErrorInstrumentation = registerErrorInstrumentation;\n/**\n * If an error or unhandled promise occurs, we mark the active transaction as failed\n */\n\nfunction errorCallback() {\n var activeTransaction = utils_2.getActiveTransaction();\n\n if (activeTransaction) {\n utils_1.logger.log(\"[Tracing] Transaction: \" + spanstatus_1.SpanStatus.InternalError + \" -> Global error occured\");\n activeTransaction.setStatus(spanstatus_1.SpanStatus.InternalError);\n }\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport loader from \"./loader\"\nimport InternalPageRenderer from \"./page-renderer\"\n\nconst ProdPageRenderer = ({ location }) => {\n const pageResources = loader.loadPageSync(location.pathname)\n if (!pageResources) {\n return null\n }\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar tslib_1 = require(\"tslib\");\n\nvar core_1 = require(\"@sentry/core\");\n\nvar utils_1 = require(\"@sentry/utils\");\n\nvar global = utils_1.getGlobalObject();\n/** UserAgent */\n\nvar UserAgent =\n/** @class */\nfunction () {\n function UserAgent() {\n /**\n * @inheritDoc\n */\n this.name = UserAgent.id;\n }\n /**\n * @inheritDoc\n */\n\n\n UserAgent.prototype.setupOnce = function () {\n core_1.addGlobalEventProcessor(function (event) {\n var _a, _b, _c;\n\n if (core_1.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 } // grab as much info as exists and add it to the event\n\n\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\n var headers = tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, (_c = event.request) === null || _c === void 0 ? void 0 : _c.headers), referrer && {\n Referer: referrer\n }), userAgent && {\n 'User-Agent': userAgent\n });\n\n var request = tslib_1.__assign(tslib_1.__assign({}, url && {\n url: url\n }), {\n headers: headers\n });\n\n return tslib_1.__assign(tslib_1.__assign({}, event), {\n request: request\n });\n }\n\n return event;\n });\n };\n /**\n * @inheritDoc\n */\n\n\n UserAgent.id = 'UserAgent';\n return UserAgent;\n}();\n\nexports.UserAgent = UserAgent;","/*\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 */\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar isUnloading = false;\nvar listenersAdded = false;\n\nvar onPageHide = function onPageHide(event) {\n isUnloading = !event.persisted;\n};\n\nvar addListeners = function addListeners() {\n addEventListener('pagehide', onPageHide); // `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\n addEventListener('beforeunload', function () {});\n};\n\nexports.onHidden = function (cb, once) {\n if (once === void 0) {\n once = false;\n }\n\n if (!listenersAdded) {\n addListeners();\n listenersAdded = true;\n }\n\n addEventListener('visibilitychange', function (_a) {\n var timeStamp = _a.timeStamp;\n\n if (document.visibilityState === 'hidden') {\n cb({\n timeStamp: timeStamp,\n isUnloading: isUnloading\n });\n }\n }, {\n capture: true,\n once: once\n });\n};","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","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","\"use strict\";\n\nexports.__esModule = true;\n// Pulled from react-compat\n// https://github.com/developit/preact-compat/blob/7c5de00e7c85e2ffd011bf3af02899b63f699d3a/src/index.js#L349\nfunction shallowDiffers(a, b) {\n for (var i in a) {\n if (!(i in b)) return true;\n }for (var _i in b) {\n if (a[_i] !== b[_i]) return true;\n }return false;\n}\n\nexports.default = function (instance, nextProps, nextState) {\n return shallowDiffers(instance.props, nextProps) || shallowDiffers(instance.state, nextState);\n};\n\nmodule.exports = exports[\"default\"];","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar utils_1 = require(\"@sentry/utils\");\n/** Tracing integration for node-postgres package */\n\n\nvar Postgres =\n/** @class */\nfunction () {\n function Postgres() {\n /**\n * @inheritDoc\n */\n this.name = Postgres.id;\n }\n /**\n * @inheritDoc\n */\n\n\n Postgres.prototype.setupOnce = function (_, getCurrentHub) {\n var pkg = utils_1.loadModule('pg');\n\n if (!pkg) {\n utils_1.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 * function (pg.Cursor) => pg.Cursor\n */\n\n\n utils_1.fill(pkg.Client.prototype, 'query', function (orig) {\n return function (config, values, callback) {\n var _a, _b, _c;\n\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\n if (typeof callback === 'function') {\n return orig.call(this, config, values, function (err, result) {\n var _a;\n\n (_a = span) === null || _a === void 0 ? void 0 : _a.finish();\n callback(err, result);\n });\n }\n\n if (typeof values === 'function') {\n return orig.call(this, config, function (err, result) {\n var _a;\n\n (_a = span) === null || _a === void 0 ? void 0 : _a.finish();\n values(err, result);\n });\n }\n\n var rv = typeof values !== 'undefined' ? orig.call(this, config, values) : orig.call(this, config);\n\n if (utils_1.isThenable(rv)) {\n return rv.then(function (res) {\n var _a;\n\n (_a = span) === null || _a === void 0 ? void 0 : _a.finish();\n return res;\n });\n }\n\n (_c = span) === null || _c === void 0 ? void 0 : _c.finish();\n return rv;\n };\n });\n };\n /**\n * @inheritDoc\n */\n\n\n Postgres.id = 'Postgres';\n return Postgres;\n}();\n\nexports.Postgres = Postgres;","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","require(\"core-js/modules/es.array.flat.js\");\n\nrequire(\"core-js/modules/es.array.unscopables.flat.js\");\n\n/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */\n!function (e, t) {\n \"use strict\";\n\n \"object\" == typeof module && \"object\" == typeof module.exports ? module.exports = e.document ? t(e, !0) : function (e) {\n if (!e.document) throw new Error(\"jQuery requires a window with a document\");\n return t(e);\n } : t(e);\n}(\"undefined\" != typeof window ? window : this, function (C, e) {\n \"use strict\";\n\n var t = [],\n r = Object.getPrototypeOf,\n s = t.slice,\n g = t.flat ? function (e) {\n return t.flat.call(e);\n } : function (e) {\n return t.concat.apply([], e);\n },\n u = t.push,\n i = t.indexOf,\n n = {},\n o = n.toString,\n v = n.hasOwnProperty,\n a = v.toString,\n l = a.call(Object),\n y = {},\n m = function m(e) {\n return \"function\" == typeof e && \"number\" != typeof e.nodeType;\n },\n x = function x(e) {\n return null != e && e === e.window;\n },\n E = C.document,\n c = {\n type: !0,\n src: !0,\n nonce: !0,\n noModule: !0\n };\n\n function b(e, t, n) {\n var r,\n i,\n o = (n = n || E).createElement(\"script\");\n if (o.text = e, t) for (r in c) {\n (i = t[r] || t.getAttribute && t.getAttribute(r)) && o.setAttribute(r, i);\n }\n n.head.appendChild(o).parentNode.removeChild(o);\n }\n\n function w(e) {\n return null == e ? e + \"\" : \"object\" == typeof e || \"function\" == typeof e ? n[o.call(e)] || \"object\" : typeof e;\n }\n\n var f = \"3.5.1\",\n S = function S(e, t) {\n return new S.fn.init(e, t);\n };\n\n function p(e) {\n var t = !!e && \"length\" in e && e.length,\n n = w(e);\n return !m(e) && !x(e) && (\"array\" === n || 0 === t || \"number\" == typeof t && 0 < t && t - 1 in e);\n }\n\n S.fn = S.prototype = {\n jquery: f,\n constructor: S,\n length: 0,\n toArray: function toArray() {\n return s.call(this);\n },\n get: function get(e) {\n return null == e ? s.call(this) : e < 0 ? this[e + this.length] : this[e];\n },\n pushStack: function pushStack(e) {\n var t = S.merge(this.constructor(), e);\n return t.prevObject = this, t;\n },\n each: function each(e) {\n return S.each(this, e);\n },\n map: function map(n) {\n return this.pushStack(S.map(this, function (e, t) {\n return n.call(e, t, e);\n }));\n },\n slice: function slice() {\n return this.pushStack(s.apply(this, arguments));\n },\n first: function first() {\n return this.eq(0);\n },\n last: function last() {\n return this.eq(-1);\n },\n even: function even() {\n return this.pushStack(S.grep(this, function (e, t) {\n return (t + 1) % 2;\n }));\n },\n odd: function odd() {\n return this.pushStack(S.grep(this, function (e, t) {\n return t % 2;\n }));\n },\n eq: function eq(e) {\n var t = this.length,\n n = +e + (e < 0 ? t : 0);\n return this.pushStack(0 <= n && n < t ? [this[n]] : []);\n },\n end: function end() {\n return this.prevObject || this.constructor();\n },\n push: u,\n sort: t.sort,\n splice: t.splice\n }, S.extend = S.fn.extend = function () {\n var e,\n t,\n n,\n r,\n i,\n o,\n a = arguments[0] || {},\n s = 1,\n u = arguments.length,\n l = !1;\n\n for (\"boolean\" == typeof a && (l = a, a = arguments[s] || {}, s++), \"object\" == typeof a || m(a) || (a = {}), s === u && (a = this, s--); s < u; s++) {\n if (null != (e = arguments[s])) for (t in e) {\n r = e[t], \"__proto__\" !== t && a !== r && (l && r && (S.isPlainObject(r) || (i = Array.isArray(r))) ? (n = a[t], o = i && !Array.isArray(n) ? [] : i || S.isPlainObject(n) ? n : {}, i = !1, a[t] = S.extend(l, o, r)) : void 0 !== r && (a[t] = r));\n }\n }\n\n return a;\n }, S.extend({\n expando: \"jQuery\" + (f + Math.random()).replace(/\\D/g, \"\"),\n isReady: !0,\n error: function error(e) {\n throw new Error(e);\n },\n noop: function noop() {},\n isPlainObject: function isPlainObject(e) {\n var t, n;\n return !(!e || \"[object Object]\" !== o.call(e)) && (!(t = r(e)) || \"function\" == typeof (n = v.call(t, \"constructor\") && t.constructor) && a.call(n) === l);\n },\n isEmptyObject: function isEmptyObject(e) {\n var t;\n\n for (t in e) {\n return !1;\n }\n\n return !0;\n },\n globalEval: function globalEval(e, t, n) {\n b(e, {\n nonce: t && t.nonce\n }, n);\n },\n each: function each(e, t) {\n var n,\n r = 0;\n\n if (p(e)) {\n for (n = e.length; r < n; r++) {\n if (!1 === t.call(e[r], r, e[r])) break;\n }\n } else for (r in e) {\n if (!1 === t.call(e[r], r, e[r])) break;\n }\n\n return e;\n },\n makeArray: function makeArray(e, t) {\n var n = t || [];\n return null != e && (p(Object(e)) ? S.merge(n, \"string\" == typeof e ? [e] : e) : u.call(n, e)), n;\n },\n inArray: function inArray(e, t, n) {\n return null == t ? -1 : i.call(t, e, n);\n },\n merge: function merge(e, t) {\n for (var n = +t.length, r = 0, i = e.length; r < n; r++) {\n e[i++] = t[r];\n }\n\n return e.length = i, e;\n },\n grep: function grep(e, t, n) {\n for (var r = [], i = 0, o = e.length, a = !n; i < o; i++) {\n !t(e[i], i) !== a && r.push(e[i]);\n }\n\n return r;\n },\n map: function map(e, t, n) {\n var r,\n i,\n o = 0,\n a = [];\n if (p(e)) for (r = e.length; o < r; o++) {\n null != (i = t(e[o], o, n)) && a.push(i);\n } else for (o in e) {\n null != (i = t(e[o], o, n)) && a.push(i);\n }\n return g(a);\n },\n guid: 1,\n support: y\n }), \"function\" == typeof Symbol && (S.fn[Symbol.iterator] = t[Symbol.iterator]), S.each(\"Boolean Number String Function Array Date RegExp Object Error Symbol\".split(\" \"), function (e, t) {\n n[\"[object \" + t + \"]\"] = t.toLowerCase();\n });\n\n var d = function (n) {\n var e,\n d,\n b,\n o,\n i,\n h,\n f,\n g,\n w,\n u,\n l,\n T,\n C,\n a,\n E,\n v,\n s,\n c,\n y,\n S = \"sizzle\" + 1 * new Date(),\n p = n.document,\n k = 0,\n r = 0,\n m = ue(),\n x = ue(),\n A = ue(),\n N = ue(),\n D = function D(e, t) {\n return e === t && (l = !0), 0;\n },\n j = {}.hasOwnProperty,\n t = [],\n q = t.pop,\n L = t.push,\n H = t.push,\n O = t.slice,\n P = function P(e, t) {\n for (var n = 0, r = e.length; n < r; n++) {\n if (e[n] === t) return n;\n }\n\n return -1;\n },\n R = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",\n M = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\n I = \"(?:\\\\\\\\[\\\\da-fA-F]{1,6}\" + M + \"?|\\\\\\\\[^\\\\r\\\\n\\\\f]|[\\\\w-]|[^\\0-\\\\x7f])+\",\n W = \"\\\\[\" + M + \"*(\" + I + \")(?:\" + M + \"*([*^$|!~]?=)\" + M + \"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + I + \"))|)\" + M + \"*\\\\]\",\n F = \":(\" + I + \")(?:\\\\((('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + W + \")*)|.*)\\\\)|)\",\n B = new RegExp(M + \"+\", \"g\"),\n $ = new RegExp(\"^\" + M + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + M + \"+$\", \"g\"),\n _ = new RegExp(\"^\" + M + \"*,\" + M + \"*\"),\n z = new RegExp(\"^\" + M + \"*([>+~]|\" + M + \")\" + M + \"*\"),\n U = new RegExp(M + \"|>\"),\n X = new RegExp(F),\n V = new RegExp(\"^\" + I + \"$\"),\n G = {\n ID: new RegExp(\"^#(\" + I + \")\"),\n CLASS: new RegExp(\"^\\\\.(\" + I + \")\"),\n TAG: new RegExp(\"^(\" + I + \"|[*])\"),\n ATTR: new RegExp(\"^\" + W),\n PSEUDO: new RegExp(\"^\" + F),\n CHILD: new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" + M + \"*(even|odd|(([+-]|)(\\\\d*)n|)\" + M + \"*(?:([+-]|)\" + M + \"*(\\\\d+)|))\" + M + \"*\\\\)|)\", \"i\"),\n bool: new RegExp(\"^(?:\" + R + \")$\", \"i\"),\n needsContext: new RegExp(\"^\" + M + \"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" + M + \"*((?:-\\\\d)?\\\\d*)\" + M + \"*\\\\)|)(?=[^-]|$)\", \"i\")\n },\n Y = /HTML$/i,\n Q = /^(?:input|select|textarea|button)$/i,\n J = /^h\\d$/i,\n K = /^[^{]+\\{\\s*\\[native \\w/,\n Z = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n ee = /[+~]/,\n te = new RegExp(\"\\\\\\\\[\\\\da-fA-F]{1,6}\" + M + \"?|\\\\\\\\([^\\\\r\\\\n\\\\f])\", \"g\"),\n ne = function ne(e, t) {\n var n = \"0x\" + e.slice(1) - 65536;\n return t || (n < 0 ? String.fromCharCode(n + 65536) : String.fromCharCode(n >> 10 | 55296, 1023 & n | 56320));\n },\n re = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,\n ie = function ie(e, t) {\n return t ? \"\\0\" === e ? \"\\uFFFD\" : e.slice(0, -1) + \"\\\\\" + e.charCodeAt(e.length - 1).toString(16) + \" \" : \"\\\\\" + e;\n },\n oe = function oe() {\n T();\n },\n ae = be(function (e) {\n return !0 === e.disabled && \"fieldset\" === e.nodeName.toLowerCase();\n }, {\n dir: \"parentNode\",\n next: \"legend\"\n });\n\n try {\n H.apply(t = O.call(p.childNodes), p.childNodes), t[p.childNodes.length].nodeType;\n } catch (e) {\n H = {\n apply: t.length ? function (e, t) {\n L.apply(e, O.call(t));\n } : function (e, t) {\n var n = e.length,\n r = 0;\n\n while (e[n++] = t[r++]) {\n ;\n }\n\n e.length = n - 1;\n }\n };\n }\n\n function se(t, e, n, r) {\n var i,\n o,\n a,\n s,\n u,\n l,\n c,\n f = e && e.ownerDocument,\n p = e ? e.nodeType : 9;\n if (n = n || [], \"string\" != typeof t || !t || 1 !== p && 9 !== p && 11 !== p) return n;\n\n if (!r && (T(e), e = e || C, E)) {\n if (11 !== p && (u = Z.exec(t))) if (i = u[1]) {\n if (9 === p) {\n if (!(a = e.getElementById(i))) return n;\n if (a.id === i) return n.push(a), n;\n } else if (f && (a = f.getElementById(i)) && y(e, a) && a.id === i) return n.push(a), n;\n } else {\n if (u[2]) return H.apply(n, e.getElementsByTagName(t)), n;\n if ((i = u[3]) && d.getElementsByClassName && e.getElementsByClassName) return H.apply(n, e.getElementsByClassName(i)), n;\n }\n\n if (d.qsa && !N[t + \" \"] && (!v || !v.test(t)) && (1 !== p || \"object\" !== e.nodeName.toLowerCase())) {\n if (c = t, f = e, 1 === p && (U.test(t) || z.test(t))) {\n (f = ee.test(t) && ye(e.parentNode) || e) === e && d.scope || ((s = e.getAttribute(\"id\")) ? s = s.replace(re, ie) : e.setAttribute(\"id\", s = S)), o = (l = h(t)).length;\n\n while (o--) {\n l[o] = (s ? \"#\" + s : \":scope\") + \" \" + xe(l[o]);\n }\n\n c = l.join(\",\");\n }\n\n try {\n return H.apply(n, f.querySelectorAll(c)), n;\n } catch (e) {\n N(t, !0);\n } finally {\n s === S && e.removeAttribute(\"id\");\n }\n }\n }\n\n return g(t.replace($, \"$1\"), e, n, r);\n }\n\n function ue() {\n var r = [];\n return function e(t, n) {\n return r.push(t + \" \") > b.cacheLength && delete e[r.shift()], e[t + \" \"] = n;\n };\n }\n\n function le(e) {\n return e[S] = !0, e;\n }\n\n function ce(e) {\n var t = C.createElement(\"fieldset\");\n\n try {\n return !!e(t);\n } catch (e) {\n return !1;\n } finally {\n t.parentNode && t.parentNode.removeChild(t), t = null;\n }\n }\n\n function fe(e, t) {\n var n = e.split(\"|\"),\n r = n.length;\n\n while (r--) {\n b.attrHandle[n[r]] = t;\n }\n }\n\n function pe(e, t) {\n var n = t && e,\n r = n && 1 === e.nodeType && 1 === t.nodeType && e.sourceIndex - t.sourceIndex;\n if (r) return r;\n if (n) while (n = n.nextSibling) {\n if (n === t) return -1;\n }\n return e ? 1 : -1;\n }\n\n function de(t) {\n return function (e) {\n return \"input\" === e.nodeName.toLowerCase() && e.type === t;\n };\n }\n\n function he(n) {\n return function (e) {\n var t = e.nodeName.toLowerCase();\n return (\"input\" === t || \"button\" === t) && e.type === n;\n };\n }\n\n function ge(t) {\n return function (e) {\n return \"form\" in e ? e.parentNode && !1 === e.disabled ? \"label\" in e ? \"label\" in e.parentNode ? e.parentNode.disabled === t : e.disabled === t : e.isDisabled === t || e.isDisabled !== !t && ae(e) === t : e.disabled === t : \"label\" in e && e.disabled === t;\n };\n }\n\n function ve(a) {\n return le(function (o) {\n return o = +o, le(function (e, t) {\n var n,\n r = a([], e.length, o),\n i = r.length;\n\n while (i--) {\n e[n = r[i]] && (e[n] = !(t[n] = e[n]));\n }\n });\n });\n }\n\n function ye(e) {\n return e && \"undefined\" != typeof e.getElementsByTagName && e;\n }\n\n for (e in d = se.support = {}, i = se.isXML = function (e) {\n var t = e.namespaceURI,\n n = (e.ownerDocument || e).documentElement;\n return !Y.test(t || n && n.nodeName || \"HTML\");\n }, T = se.setDocument = function (e) {\n var t,\n n,\n r = e ? e.ownerDocument || e : p;\n return r != C && 9 === r.nodeType && r.documentElement && (a = (C = r).documentElement, E = !i(C), p != C && (n = C.defaultView) && n.top !== n && (n.addEventListener ? n.addEventListener(\"unload\", oe, !1) : n.attachEvent && n.attachEvent(\"onunload\", oe)), d.scope = ce(function (e) {\n return a.appendChild(e).appendChild(C.createElement(\"div\")), \"undefined\" != typeof e.querySelectorAll && !e.querySelectorAll(\":scope fieldset div\").length;\n }), d.attributes = ce(function (e) {\n return e.className = \"i\", !e.getAttribute(\"className\");\n }), d.getElementsByTagName = ce(function (e) {\n return e.appendChild(C.createComment(\"\")), !e.getElementsByTagName(\"*\").length;\n }), d.getElementsByClassName = K.test(C.getElementsByClassName), d.getById = ce(function (e) {\n return a.appendChild(e).id = S, !C.getElementsByName || !C.getElementsByName(S).length;\n }), d.getById ? (b.filter.ID = function (e) {\n var t = e.replace(te, ne);\n return function (e) {\n return e.getAttribute(\"id\") === t;\n };\n }, b.find.ID = function (e, t) {\n if (\"undefined\" != typeof t.getElementById && E) {\n var n = t.getElementById(e);\n return n ? [n] : [];\n }\n }) : (b.filter.ID = function (e) {\n var n = e.replace(te, ne);\n return function (e) {\n var t = \"undefined\" != typeof e.getAttributeNode && e.getAttributeNode(\"id\");\n return t && t.value === n;\n };\n }, b.find.ID = function (e, t) {\n if (\"undefined\" != typeof t.getElementById && E) {\n var n,\n r,\n i,\n o = t.getElementById(e);\n\n if (o) {\n if ((n = o.getAttributeNode(\"id\")) && n.value === e) return [o];\n i = t.getElementsByName(e), r = 0;\n\n while (o = i[r++]) {\n if ((n = o.getAttributeNode(\"id\")) && n.value === e) return [o];\n }\n }\n\n return [];\n }\n }), b.find.TAG = d.getElementsByTagName ? function (e, t) {\n return \"undefined\" != typeof t.getElementsByTagName ? t.getElementsByTagName(e) : d.qsa ? t.querySelectorAll(e) : void 0;\n } : function (e, t) {\n var n,\n r = [],\n i = 0,\n o = t.getElementsByTagName(e);\n\n if (\"*\" === e) {\n while (n = o[i++]) {\n 1 === n.nodeType && r.push(n);\n }\n\n return r;\n }\n\n return o;\n }, b.find.CLASS = d.getElementsByClassName && function (e, t) {\n if (\"undefined\" != typeof t.getElementsByClassName && E) return t.getElementsByClassName(e);\n }, s = [], v = [], (d.qsa = K.test(C.querySelectorAll)) && (ce(function (e) {\n var t;\n a.appendChild(e).innerHTML = \"\", e.querySelectorAll(\"[msallowcapture^='']\").length && v.push(\"[*^$]=\" + M + \"*(?:''|\\\"\\\")\"), e.querySelectorAll(\"[selected]\").length || v.push(\"\\\\[\" + M + \"*(?:value|\" + R + \")\"), e.querySelectorAll(\"[id~=\" + S + \"-]\").length || v.push(\"~=\"), (t = C.createElement(\"input\")).setAttribute(\"name\", \"\"), e.appendChild(t), e.querySelectorAll(\"[name='']\").length || v.push(\"\\\\[\" + M + \"*name\" + M + \"*=\" + M + \"*(?:''|\\\"\\\")\"), e.querySelectorAll(\":checked\").length || v.push(\":checked\"), e.querySelectorAll(\"a#\" + S + \"+*\").length || v.push(\".#.+[+~]\"), e.querySelectorAll(\"\\\\\\f\"), v.push(\"[\\\\r\\\\n\\\\f]\");\n }), ce(function (e) {\n e.innerHTML = \"\";\n var t = C.createElement(\"input\");\n t.setAttribute(\"type\", \"hidden\"), e.appendChild(t).setAttribute(\"name\", \"D\"), e.querySelectorAll(\"[name=d]\").length && v.push(\"name\" + M + \"*[*^$|!~]?=\"), 2 !== e.querySelectorAll(\":enabled\").length && v.push(\":enabled\", \":disabled\"), a.appendChild(e).disabled = !0, 2 !== e.querySelectorAll(\":disabled\").length && v.push(\":enabled\", \":disabled\"), e.querySelectorAll(\"*,:x\"), v.push(\",.*:\");\n })), (d.matchesSelector = K.test(c = a.matches || a.webkitMatchesSelector || a.mozMatchesSelector || a.oMatchesSelector || a.msMatchesSelector)) && ce(function (e) {\n d.disconnectedMatch = c.call(e, \"*\"), c.call(e, \"[s!='']:x\"), s.push(\"!=\", F);\n }), v = v.length && new RegExp(v.join(\"|\")), s = s.length && new RegExp(s.join(\"|\")), t = K.test(a.compareDocumentPosition), y = t || K.test(a.contains) ? function (e, t) {\n var n = 9 === e.nodeType ? e.documentElement : e,\n r = t && t.parentNode;\n return e === r || !(!r || 1 !== r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r)));\n } : function (e, t) {\n if (t) while (t = t.parentNode) {\n if (t === e) return !0;\n }\n return !1;\n }, D = t ? function (e, t) {\n if (e === t) return l = !0, 0;\n var n = !e.compareDocumentPosition - !t.compareDocumentPosition;\n return n || (1 & (n = (e.ownerDocument || e) == (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1) || !d.sortDetached && t.compareDocumentPosition(e) === n ? e == C || e.ownerDocument == p && y(p, e) ? -1 : t == C || t.ownerDocument == p && y(p, t) ? 1 : u ? P(u, e) - P(u, t) : 0 : 4 & n ? -1 : 1);\n } : function (e, t) {\n if (e === t) return l = !0, 0;\n var n,\n r = 0,\n i = e.parentNode,\n o = t.parentNode,\n a = [e],\n s = [t];\n if (!i || !o) return e == C ? -1 : t == C ? 1 : i ? -1 : o ? 1 : u ? P(u, e) - P(u, t) : 0;\n if (i === o) return pe(e, t);\n n = e;\n\n while (n = n.parentNode) {\n a.unshift(n);\n }\n\n n = t;\n\n while (n = n.parentNode) {\n s.unshift(n);\n }\n\n while (a[r] === s[r]) {\n r++;\n }\n\n return r ? pe(a[r], s[r]) : a[r] == p ? -1 : s[r] == p ? 1 : 0;\n }), C;\n }, se.matches = function (e, t) {\n return se(e, null, null, t);\n }, se.matchesSelector = function (e, t) {\n if (T(e), d.matchesSelector && E && !N[t + \" \"] && (!s || !s.test(t)) && (!v || !v.test(t))) try {\n var n = c.call(e, t);\n if (n || d.disconnectedMatch || e.document && 11 !== e.document.nodeType) return n;\n } catch (e) {\n N(t, !0);\n }\n return 0 < se(t, C, null, [e]).length;\n }, se.contains = function (e, t) {\n return (e.ownerDocument || e) != C && T(e), y(e, t);\n }, se.attr = function (e, t) {\n (e.ownerDocument || e) != C && T(e);\n var n = b.attrHandle[t.toLowerCase()],\n r = n && j.call(b.attrHandle, t.toLowerCase()) ? n(e, t, !E) : void 0;\n return void 0 !== r ? r : d.attributes || !E ? e.getAttribute(t) : (r = e.getAttributeNode(t)) && r.specified ? r.value : null;\n }, se.escape = function (e) {\n return (e + \"\").replace(re, ie);\n }, se.error = function (e) {\n throw new Error(\"Syntax error, unrecognized expression: \" + e);\n }, se.uniqueSort = function (e) {\n var t,\n n = [],\n r = 0,\n i = 0;\n\n if (l = !d.detectDuplicates, u = !d.sortStable && e.slice(0), e.sort(D), l) {\n while (t = e[i++]) {\n t === e[i] && (r = n.push(i));\n }\n\n while (r--) {\n e.splice(n[r], 1);\n }\n }\n\n return u = null, e;\n }, o = se.getText = function (e) {\n var t,\n n = \"\",\n r = 0,\n i = e.nodeType;\n\n if (i) {\n if (1 === i || 9 === i || 11 === i) {\n if (\"string\" == typeof e.textContent) return e.textContent;\n\n for (e = e.firstChild; e; e = e.nextSibling) {\n n += o(e);\n }\n } else if (3 === i || 4 === i) return e.nodeValue;\n } else while (t = e[r++]) {\n n += o(t);\n }\n\n return n;\n }, (b = se.selectors = {\n cacheLength: 50,\n createPseudo: le,\n match: G,\n attrHandle: {},\n find: {},\n relative: {\n \">\": {\n dir: \"parentNode\",\n first: !0\n },\n \" \": {\n dir: \"parentNode\"\n },\n \"+\": {\n dir: \"previousSibling\",\n first: !0\n },\n \"~\": {\n dir: \"previousSibling\"\n }\n },\n preFilter: {\n ATTR: function ATTR(e) {\n return e[1] = e[1].replace(te, ne), e[3] = (e[3] || e[4] || e[5] || \"\").replace(te, ne), \"~=\" === e[2] && (e[3] = \" \" + e[3] + \" \"), e.slice(0, 4);\n },\n CHILD: function CHILD(e) {\n return e[1] = e[1].toLowerCase(), \"nth\" === e[1].slice(0, 3) ? (e[3] || se.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * (\"even\" === e[3] || \"odd\" === e[3])), e[5] = +(e[7] + e[8] || \"odd\" === e[3])) : e[3] && se.error(e[0]), e;\n },\n PSEUDO: function PSEUDO(e) {\n var t,\n n = !e[6] && e[2];\n return G.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || \"\" : n && X.test(n) && (t = h(n, !0)) && (t = n.indexOf(\")\", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3));\n }\n },\n filter: {\n TAG: function TAG(e) {\n var t = e.replace(te, ne).toLowerCase();\n return \"*\" === e ? function () {\n return !0;\n } : function (e) {\n return e.nodeName && e.nodeName.toLowerCase() === t;\n };\n },\n CLASS: function CLASS(e) {\n var t = m[e + \" \"];\n return t || (t = new RegExp(\"(^|\" + M + \")\" + e + \"(\" + M + \"|$)\")) && m(e, function (e) {\n return t.test(\"string\" == typeof e.className && e.className || \"undefined\" != typeof e.getAttribute && e.getAttribute(\"class\") || \"\");\n });\n },\n ATTR: function ATTR(n, r, i) {\n return function (e) {\n var t = se.attr(e, n);\n return null == t ? \"!=\" === r : !r || (t += \"\", \"=\" === r ? t === i : \"!=\" === r ? t !== i : \"^=\" === r ? i && 0 === t.indexOf(i) : \"*=\" === r ? i && -1 < t.indexOf(i) : \"$=\" === r ? i && t.slice(-i.length) === i : \"~=\" === r ? -1 < (\" \" + t.replace(B, \" \") + \" \").indexOf(i) : \"|=\" === r && (t === i || t.slice(0, i.length + 1) === i + \"-\"));\n };\n },\n CHILD: function CHILD(h, e, t, g, v) {\n var y = \"nth\" !== h.slice(0, 3),\n m = \"last\" !== h.slice(-4),\n x = \"of-type\" === e;\n return 1 === g && 0 === v ? function (e) {\n return !!e.parentNode;\n } : function (e, t, n) {\n var r,\n i,\n o,\n a,\n s,\n u,\n l = y !== m ? \"nextSibling\" : \"previousSibling\",\n c = e.parentNode,\n f = x && e.nodeName.toLowerCase(),\n p = !n && !x,\n d = !1;\n\n if (c) {\n if (y) {\n while (l) {\n a = e;\n\n while (a = a[l]) {\n if (x ? a.nodeName.toLowerCase() === f : 1 === a.nodeType) return !1;\n }\n\n u = l = \"only\" === h && !u && \"nextSibling\";\n }\n\n return !0;\n }\n\n if (u = [m ? c.firstChild : c.lastChild], m && p) {\n d = (s = (r = (i = (o = (a = c)[S] || (a[S] = {}))[a.uniqueID] || (o[a.uniqueID] = {}))[h] || [])[0] === k && r[1]) && r[2], a = s && c.childNodes[s];\n\n while (a = ++s && a && a[l] || (d = s = 0) || u.pop()) {\n if (1 === a.nodeType && ++d && a === e) {\n i[h] = [k, s, d];\n break;\n }\n }\n } else if (p && (d = s = (r = (i = (o = (a = e)[S] || (a[S] = {}))[a.uniqueID] || (o[a.uniqueID] = {}))[h] || [])[0] === k && r[1]), !1 === d) while (a = ++s && a && a[l] || (d = s = 0) || u.pop()) {\n if ((x ? a.nodeName.toLowerCase() === f : 1 === a.nodeType) && ++d && (p && ((i = (o = a[S] || (a[S] = {}))[a.uniqueID] || (o[a.uniqueID] = {}))[h] = [k, d]), a === e)) break;\n }\n\n return (d -= v) === g || d % g == 0 && 0 <= d / g;\n }\n };\n },\n PSEUDO: function PSEUDO(e, o) {\n var t,\n a = b.pseudos[e] || b.setFilters[e.toLowerCase()] || se.error(\"unsupported pseudo: \" + e);\n return a[S] ? a(o) : 1 < a.length ? (t = [e, e, \"\", o], b.setFilters.hasOwnProperty(e.toLowerCase()) ? le(function (e, t) {\n var n,\n r = a(e, o),\n i = r.length;\n\n while (i--) {\n e[n = P(e, r[i])] = !(t[n] = r[i]);\n }\n }) : function (e) {\n return a(e, 0, t);\n }) : a;\n }\n },\n pseudos: {\n not: le(function (e) {\n var r = [],\n i = [],\n s = f(e.replace($, \"$1\"));\n return s[S] ? le(function (e, t, n, r) {\n var i,\n o = s(e, null, r, []),\n a = e.length;\n\n while (a--) {\n (i = o[a]) && (e[a] = !(t[a] = i));\n }\n }) : function (e, t, n) {\n return r[0] = e, s(r, null, n, i), r[0] = null, !i.pop();\n };\n }),\n has: le(function (t) {\n return function (e) {\n return 0 < se(t, e).length;\n };\n }),\n contains: le(function (t) {\n return t = t.replace(te, ne), function (e) {\n return -1 < (e.textContent || o(e)).indexOf(t);\n };\n }),\n lang: le(function (n) {\n return V.test(n || \"\") || se.error(\"unsupported lang: \" + n), n = n.replace(te, ne).toLowerCase(), function (e) {\n var t;\n\n do {\n if (t = E ? e.lang : e.getAttribute(\"xml:lang\") || e.getAttribute(\"lang\")) return (t = t.toLowerCase()) === n || 0 === t.indexOf(n + \"-\");\n } while ((e = e.parentNode) && 1 === e.nodeType);\n\n return !1;\n };\n }),\n target: function target(e) {\n var t = n.location && n.location.hash;\n return t && t.slice(1) === e.id;\n },\n root: function root(e) {\n return e === a;\n },\n focus: function focus(e) {\n return e === C.activeElement && (!C.hasFocus || C.hasFocus()) && !!(e.type || e.href || ~e.tabIndex);\n },\n enabled: ge(!1),\n disabled: ge(!0),\n checked: function checked(e) {\n var t = e.nodeName.toLowerCase();\n return \"input\" === t && !!e.checked || \"option\" === t && !!e.selected;\n },\n selected: function selected(e) {\n return e.parentNode && e.parentNode.selectedIndex, !0 === e.selected;\n },\n empty: function empty(e) {\n for (e = e.firstChild; e; e = e.nextSibling) {\n if (e.nodeType < 6) return !1;\n }\n\n return !0;\n },\n parent: function parent(e) {\n return !b.pseudos.empty(e);\n },\n header: function header(e) {\n return J.test(e.nodeName);\n },\n input: function input(e) {\n return Q.test(e.nodeName);\n },\n button: function button(e) {\n var t = e.nodeName.toLowerCase();\n return \"input\" === t && \"button\" === e.type || \"button\" === t;\n },\n text: function text(e) {\n var t;\n return \"input\" === e.nodeName.toLowerCase() && \"text\" === e.type && (null == (t = e.getAttribute(\"type\")) || \"text\" === t.toLowerCase());\n },\n first: ve(function () {\n return [0];\n }),\n last: ve(function (e, t) {\n return [t - 1];\n }),\n eq: ve(function (e, t, n) {\n return [n < 0 ? n + t : n];\n }),\n even: ve(function (e, t) {\n for (var n = 0; n < t; n += 2) {\n e.push(n);\n }\n\n return e;\n }),\n odd: ve(function (e, t) {\n for (var n = 1; n < t; n += 2) {\n e.push(n);\n }\n\n return e;\n }),\n lt: ve(function (e, t, n) {\n for (var r = n < 0 ? n + t : t < n ? t : n; 0 <= --r;) {\n e.push(r);\n }\n\n return e;\n }),\n gt: ve(function (e, t, n) {\n for (var r = n < 0 ? n + t : n; ++r < t;) {\n e.push(r);\n }\n\n return e;\n })\n }\n }).pseudos.nth = b.pseudos.eq, {\n radio: !0,\n checkbox: !0,\n file: !0,\n password: !0,\n image: !0\n }) {\n b.pseudos[e] = de(e);\n }\n\n for (e in {\n submit: !0,\n reset: !0\n }) {\n b.pseudos[e] = he(e);\n }\n\n function me() {}\n\n function xe(e) {\n for (var t = 0, n = e.length, r = \"\"; t < n; t++) {\n r += e[t].value;\n }\n\n return r;\n }\n\n function be(s, e, t) {\n var u = e.dir,\n l = e.next,\n c = l || u,\n f = t && \"parentNode\" === c,\n p = r++;\n return e.first ? function (e, t, n) {\n while (e = e[u]) {\n if (1 === e.nodeType || f) return s(e, t, n);\n }\n\n return !1;\n } : function (e, t, n) {\n var r,\n i,\n o,\n a = [k, p];\n\n if (n) {\n while (e = e[u]) {\n if ((1 === e.nodeType || f) && s(e, t, n)) return !0;\n }\n } else while (e = e[u]) {\n if (1 === e.nodeType || f) if (i = (o = e[S] || (e[S] = {}))[e.uniqueID] || (o[e.uniqueID] = {}), l && l === e.nodeName.toLowerCase()) e = e[u] || e;else {\n if ((r = i[c]) && r[0] === k && r[1] === p) return a[2] = r[2];\n if ((i[c] = a)[2] = s(e, t, n)) return !0;\n }\n }\n\n return !1;\n };\n }\n\n function we(i) {\n return 1 < i.length ? function (e, t, n) {\n var r = i.length;\n\n while (r--) {\n if (!i[r](e, t, n)) return !1;\n }\n\n return !0;\n } : i[0];\n }\n\n function Te(e, t, n, r, i) {\n for (var o, a = [], s = 0, u = e.length, l = null != t; s < u; s++) {\n (o = e[s]) && (n && !n(o, r, i) || (a.push(o), l && t.push(s)));\n }\n\n return a;\n }\n\n function Ce(d, h, g, v, y, e) {\n return v && !v[S] && (v = Ce(v)), y && !y[S] && (y = Ce(y, e)), le(function (e, t, n, r) {\n var i,\n o,\n a,\n s = [],\n u = [],\n l = t.length,\n c = e || function (e, t, n) {\n for (var r = 0, i = t.length; r < i; r++) {\n se(e, t[r], n);\n }\n\n return n;\n }(h || \"*\", n.nodeType ? [n] : n, []),\n f = !d || !e && h ? c : Te(c, s, d, n, r),\n p = g ? y || (e ? d : l || v) ? [] : t : f;\n\n if (g && g(f, p, n, r), v) {\n i = Te(p, u), v(i, [], n, r), o = i.length;\n\n while (o--) {\n (a = i[o]) && (p[u[o]] = !(f[u[o]] = a));\n }\n }\n\n if (e) {\n if (y || d) {\n if (y) {\n i = [], o = p.length;\n\n while (o--) {\n (a = p[o]) && i.push(f[o] = a);\n }\n\n y(null, p = [], i, r);\n }\n\n o = p.length;\n\n while (o--) {\n (a = p[o]) && -1 < (i = y ? P(e, a) : s[o]) && (e[i] = !(t[i] = a));\n }\n }\n } else p = Te(p === t ? p.splice(l, p.length) : p), y ? y(null, t, p, r) : H.apply(t, p);\n });\n }\n\n function Ee(e) {\n for (var i, t, n, r = e.length, o = b.relative[e[0].type], a = o || b.relative[\" \"], s = o ? 1 : 0, u = be(function (e) {\n return e === i;\n }, a, !0), l = be(function (e) {\n return -1 < P(i, e);\n }, a, !0), c = [function (e, t, n) {\n var r = !o && (n || t !== w) || ((i = t).nodeType ? u(e, t, n) : l(e, t, n));\n return i = null, r;\n }]; s < r; s++) {\n if (t = b.relative[e[s].type]) c = [be(we(c), t)];else {\n if ((t = b.filter[e[s].type].apply(null, e[s].matches))[S]) {\n for (n = ++s; n < r; n++) {\n if (b.relative[e[n].type]) break;\n }\n\n return Ce(1 < s && we(c), 1 < s && xe(e.slice(0, s - 1).concat({\n value: \" \" === e[s - 2].type ? \"*\" : \"\"\n })).replace($, \"$1\"), t, s < n && Ee(e.slice(s, n)), n < r && Ee(e = e.slice(n)), n < r && xe(e));\n }\n\n c.push(t);\n }\n }\n\n return we(c);\n }\n\n return me.prototype = b.filters = b.pseudos, b.setFilters = new me(), h = se.tokenize = function (e, t) {\n var n,\n r,\n i,\n o,\n a,\n s,\n u,\n l = x[e + \" \"];\n if (l) return t ? 0 : l.slice(0);\n a = e, s = [], u = b.preFilter;\n\n while (a) {\n for (o in n && !(r = _.exec(a)) || (r && (a = a.slice(r[0].length) || a), s.push(i = [])), n = !1, (r = z.exec(a)) && (n = r.shift(), i.push({\n value: n,\n type: r[0].replace($, \" \")\n }), a = a.slice(n.length)), b.filter) {\n !(r = G[o].exec(a)) || u[o] && !(r = u[o](r)) || (n = r.shift(), i.push({\n value: n,\n type: o,\n matches: r\n }), a = a.slice(n.length));\n }\n\n if (!n) break;\n }\n\n return t ? a.length : a ? se.error(e) : x(e, s).slice(0);\n }, f = se.compile = function (e, t) {\n var n,\n v,\n y,\n m,\n x,\n r,\n i = [],\n o = [],\n a = A[e + \" \"];\n\n if (!a) {\n t || (t = h(e)), n = t.length;\n\n while (n--) {\n (a = Ee(t[n]))[S] ? i.push(a) : o.push(a);\n }\n\n (a = A(e, (v = o, m = 0 < (y = i).length, x = 0 < v.length, r = function r(e, t, n, _r, i) {\n var o,\n a,\n s,\n u = 0,\n l = \"0\",\n c = e && [],\n f = [],\n p = w,\n d = e || x && b.find.TAG(\"*\", i),\n h = k += null == p ? 1 : Math.random() || .1,\n g = d.length;\n\n for (i && (w = t == C || t || i); l !== g && null != (o = d[l]); l++) {\n if (x && o) {\n a = 0, t || o.ownerDocument == C || (T(o), n = !E);\n\n while (s = v[a++]) {\n if (s(o, t || C, n)) {\n _r.push(o);\n\n break;\n }\n }\n\n i && (k = h);\n }\n\n m && ((o = !s && o) && u--, e && c.push(o));\n }\n\n if (u += l, m && l !== u) {\n a = 0;\n\n while (s = y[a++]) {\n s(c, f, t, n);\n }\n\n if (e) {\n if (0 < u) while (l--) {\n c[l] || f[l] || (f[l] = q.call(_r));\n }\n f = Te(f);\n }\n\n H.apply(_r, f), i && !e && 0 < f.length && 1 < u + y.length && se.uniqueSort(_r);\n }\n\n return i && (k = h, w = p), c;\n }, m ? le(r) : r))).selector = e;\n }\n\n return a;\n }, g = se.select = function (e, t, n, r) {\n var i,\n o,\n a,\n s,\n u,\n l = \"function\" == typeof e && e,\n c = !r && h(e = l.selector || e);\n\n if (n = n || [], 1 === c.length) {\n if (2 < (o = c[0] = c[0].slice(0)).length && \"ID\" === (a = o[0]).type && 9 === t.nodeType && E && b.relative[o[1].type]) {\n if (!(t = (b.find.ID(a.matches[0].replace(te, ne), t) || [])[0])) return n;\n l && (t = t.parentNode), e = e.slice(o.shift().value.length);\n }\n\n i = G.needsContext.test(e) ? 0 : o.length;\n\n while (i--) {\n if (a = o[i], b.relative[s = a.type]) break;\n\n if ((u = b.find[s]) && (r = u(a.matches[0].replace(te, ne), ee.test(o[0].type) && ye(t.parentNode) || t))) {\n if (o.splice(i, 1), !(e = r.length && xe(o))) return H.apply(n, r), n;\n break;\n }\n }\n }\n\n return (l || f(e, c))(r, t, !E, n, !t || ee.test(e) && ye(t.parentNode) || t), n;\n }, d.sortStable = S.split(\"\").sort(D).join(\"\") === S, d.detectDuplicates = !!l, T(), d.sortDetached = ce(function (e) {\n return 1 & e.compareDocumentPosition(C.createElement(\"fieldset\"));\n }), ce(function (e) {\n return e.innerHTML = \"\", \"#\" === e.firstChild.getAttribute(\"href\");\n }) || fe(\"type|href|height|width\", function (e, t, n) {\n if (!n) return e.getAttribute(t, \"type\" === t.toLowerCase() ? 1 : 2);\n }), d.attributes && ce(function (e) {\n return e.innerHTML = \"\", e.firstChild.setAttribute(\"value\", \"\"), \"\" === e.firstChild.getAttribute(\"value\");\n }) || fe(\"value\", function (e, t, n) {\n if (!n && \"input\" === e.nodeName.toLowerCase()) return e.defaultValue;\n }), ce(function (e) {\n return null == e.getAttribute(\"disabled\");\n }) || fe(R, function (e, t, n) {\n var r;\n if (!n) return !0 === e[t] ? t.toLowerCase() : (r = e.getAttributeNode(t)) && r.specified ? r.value : null;\n }), se;\n }(C);\n\n S.find = d, S.expr = d.selectors, S.expr[\":\"] = S.expr.pseudos, S.uniqueSort = S.unique = d.uniqueSort, S.text = d.getText, S.isXMLDoc = d.isXML, S.contains = d.contains, S.escapeSelector = d.escape;\n\n var h = function h(e, t, n) {\n var r = [],\n i = void 0 !== n;\n\n while ((e = e[t]) && 9 !== e.nodeType) {\n if (1 === e.nodeType) {\n if (i && S(e).is(n)) break;\n r.push(e);\n }\n }\n\n return r;\n },\n T = function T(e, t) {\n for (var n = []; e; e = e.nextSibling) {\n 1 === e.nodeType && e !== t && n.push(e);\n }\n\n return n;\n },\n k = S.expr.match.needsContext;\n\n function A(e, t) {\n return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase();\n }\n\n var N = /^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i;\n\n function D(e, n, r) {\n return m(n) ? S.grep(e, function (e, t) {\n return !!n.call(e, t, e) !== r;\n }) : n.nodeType ? S.grep(e, function (e) {\n return e === n !== r;\n }) : \"string\" != typeof n ? S.grep(e, function (e) {\n return -1 < i.call(n, e) !== r;\n }) : S.filter(n, e, r);\n }\n\n S.filter = function (e, t, n) {\n var r = t[0];\n return n && (e = \":not(\" + e + \")\"), 1 === t.length && 1 === r.nodeType ? S.find.matchesSelector(r, e) ? [r] : [] : S.find.matches(e, S.grep(t, function (e) {\n return 1 === e.nodeType;\n }));\n }, S.fn.extend({\n find: function find(e) {\n var t,\n n,\n r = this.length,\n i = this;\n if (\"string\" != typeof e) return this.pushStack(S(e).filter(function () {\n for (t = 0; t < r; t++) {\n if (S.contains(i[t], this)) return !0;\n }\n }));\n\n for (n = this.pushStack([]), t = 0; t < r; t++) {\n S.find(e, i[t], n);\n }\n\n return 1 < r ? S.uniqueSort(n) : n;\n },\n filter: function filter(e) {\n return this.pushStack(D(this, e || [], !1));\n },\n not: function not(e) {\n return this.pushStack(D(this, e || [], !0));\n },\n is: function is(e) {\n return !!D(this, \"string\" == typeof e && k.test(e) ? S(e) : e || [], !1).length;\n }\n });\n var j,\n q = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/;\n (S.fn.init = function (e, t, n) {\n var r, i;\n if (!e) return this;\n\n if (n = n || j, \"string\" == typeof e) {\n if (!(r = \"<\" === e[0] && \">\" === e[e.length - 1] && 3 <= e.length ? [null, e, null] : q.exec(e)) || !r[1] && t) return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e);\n\n if (r[1]) {\n if (t = t instanceof S ? t[0] : t, S.merge(this, S.parseHTML(r[1], t && t.nodeType ? t.ownerDocument || t : E, !0)), N.test(r[1]) && S.isPlainObject(t)) for (r in t) {\n m(this[r]) ? this[r](t[r]) : this.attr(r, t[r]);\n }\n return this;\n }\n\n return (i = E.getElementById(r[2])) && (this[0] = i, this.length = 1), this;\n }\n\n return e.nodeType ? (this[0] = e, this.length = 1, this) : m(e) ? void 0 !== n.ready ? n.ready(e) : e(S) : S.makeArray(e, this);\n }).prototype = S.fn, j = S(E);\n var L = /^(?:parents|prev(?:Until|All))/,\n H = {\n children: !0,\n contents: !0,\n next: !0,\n prev: !0\n };\n\n function O(e, t) {\n while ((e = e[t]) && 1 !== e.nodeType) {\n ;\n }\n\n return e;\n }\n\n S.fn.extend({\n has: function has(e) {\n var t = S(e, this),\n n = t.length;\n return this.filter(function () {\n for (var e = 0; e < n; e++) {\n if (S.contains(this, t[e])) return !0;\n }\n });\n },\n closest: function closest(e, t) {\n var n,\n r = 0,\n i = this.length,\n o = [],\n a = \"string\" != typeof e && S(e);\n if (!k.test(e)) for (; r < i; r++) {\n for (n = this[r]; n && n !== t; n = n.parentNode) {\n if (n.nodeType < 11 && (a ? -1 < a.index(n) : 1 === n.nodeType && S.find.matchesSelector(n, e))) {\n o.push(n);\n break;\n }\n }\n }\n return this.pushStack(1 < o.length ? S.uniqueSort(o) : o);\n },\n index: function index(e) {\n return e ? \"string\" == typeof e ? i.call(S(e), this[0]) : i.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1;\n },\n add: function add(e, t) {\n return this.pushStack(S.uniqueSort(S.merge(this.get(), S(e, t))));\n },\n addBack: function addBack(e) {\n return this.add(null == e ? this.prevObject : this.prevObject.filter(e));\n }\n }), S.each({\n parent: function parent(e) {\n var t = e.parentNode;\n return t && 11 !== t.nodeType ? t : null;\n },\n parents: function parents(e) {\n return h(e, \"parentNode\");\n },\n parentsUntil: function parentsUntil(e, t, n) {\n return h(e, \"parentNode\", n);\n },\n next: function next(e) {\n return O(e, \"nextSibling\");\n },\n prev: function prev(e) {\n return O(e, \"previousSibling\");\n },\n nextAll: function nextAll(e) {\n return h(e, \"nextSibling\");\n },\n prevAll: function prevAll(e) {\n return h(e, \"previousSibling\");\n },\n nextUntil: function nextUntil(e, t, n) {\n return h(e, \"nextSibling\", n);\n },\n prevUntil: function prevUntil(e, t, n) {\n return h(e, \"previousSibling\", n);\n },\n siblings: function siblings(e) {\n return T((e.parentNode || {}).firstChild, e);\n },\n children: function children(e) {\n return T(e.firstChild);\n },\n contents: function contents(e) {\n return null != e.contentDocument && r(e.contentDocument) ? e.contentDocument : (A(e, \"template\") && (e = e.content || e), S.merge([], e.childNodes));\n }\n }, function (r, i) {\n S.fn[r] = function (e, t) {\n var n = S.map(this, i, e);\n return \"Until\" !== r.slice(-5) && (t = e), t && \"string\" == typeof t && (n = S.filter(t, n)), 1 < this.length && (H[r] || S.uniqueSort(n), L.test(r) && n.reverse()), this.pushStack(n);\n };\n });\n var P = /[^\\x20\\t\\r\\n\\f]+/g;\n\n function R(e) {\n return e;\n }\n\n function M(e) {\n throw e;\n }\n\n function I(e, t, n, r) {\n var i;\n\n try {\n e && m(i = e.promise) ? i.call(e).done(t).fail(n) : e && m(i = e.then) ? i.call(e, t, n) : t.apply(void 0, [e].slice(r));\n } catch (e) {\n n.apply(void 0, [e]);\n }\n }\n\n S.Callbacks = function (r) {\n var e, n;\n r = \"string\" == typeof r ? (e = r, n = {}, S.each(e.match(P) || [], function (e, t) {\n n[t] = !0;\n }), n) : S.extend({}, r);\n\n var i,\n t,\n o,\n a,\n s = [],\n u = [],\n l = -1,\n c = function c() {\n for (a = a || r.once, o = i = !0; u.length; l = -1) {\n t = u.shift();\n\n while (++l < s.length) {\n !1 === s[l].apply(t[0], t[1]) && r.stopOnFalse && (l = s.length, t = !1);\n }\n }\n\n r.memory || (t = !1), i = !1, a && (s = t ? [] : \"\");\n },\n f = {\n add: function add() {\n return s && (t && !i && (l = s.length - 1, u.push(t)), function n(e) {\n S.each(e, function (e, t) {\n m(t) ? r.unique && f.has(t) || s.push(t) : t && t.length && \"string\" !== w(t) && n(t);\n });\n }(arguments), t && !i && c()), this;\n },\n remove: function remove() {\n return S.each(arguments, function (e, t) {\n var n;\n\n while (-1 < (n = S.inArray(t, s, n))) {\n s.splice(n, 1), n <= l && l--;\n }\n }), this;\n },\n has: function has(e) {\n return e ? -1 < S.inArray(e, s) : 0 < s.length;\n },\n empty: function empty() {\n return s && (s = []), this;\n },\n disable: function disable() {\n return a = u = [], s = t = \"\", this;\n },\n disabled: function disabled() {\n return !s;\n },\n lock: function lock() {\n return a = u = [], t || i || (s = t = \"\"), this;\n },\n locked: function locked() {\n return !!a;\n },\n fireWith: function fireWith(e, t) {\n return a || (t = [e, (t = t || []).slice ? t.slice() : t], u.push(t), i || c()), this;\n },\n fire: function fire() {\n return f.fireWith(this, arguments), this;\n },\n fired: function fired() {\n return !!o;\n }\n };\n\n return f;\n }, S.extend({\n Deferred: function Deferred(e) {\n var o = [[\"notify\", \"progress\", S.Callbacks(\"memory\"), S.Callbacks(\"memory\"), 2], [\"resolve\", \"done\", S.Callbacks(\"once memory\"), S.Callbacks(\"once memory\"), 0, \"resolved\"], [\"reject\", \"fail\", S.Callbacks(\"once memory\"), S.Callbacks(\"once memory\"), 1, \"rejected\"]],\n i = \"pending\",\n a = {\n state: function state() {\n return i;\n },\n always: function always() {\n return s.done(arguments).fail(arguments), this;\n },\n \"catch\": function _catch(e) {\n return a.then(null, e);\n },\n pipe: function pipe() {\n var i = arguments;\n return S.Deferred(function (r) {\n S.each(o, function (e, t) {\n var n = m(i[t[4]]) && i[t[4]];\n s[t[1]](function () {\n var e = n && n.apply(this, arguments);\n e && m(e.promise) ? e.promise().progress(r.notify).done(r.resolve).fail(r.reject) : r[t[0] + \"With\"](this, n ? [e] : arguments);\n });\n }), i = null;\n }).promise();\n },\n then: function then(t, n, r) {\n var u = 0;\n\n function l(i, o, a, s) {\n return function () {\n var n = this,\n r = arguments,\n e = function e() {\n var e, t;\n\n if (!(i < u)) {\n if ((e = a.apply(n, r)) === o.promise()) throw new TypeError(\"Thenable self-resolution\");\n t = e && (\"object\" == typeof e || \"function\" == typeof e) && e.then, m(t) ? s ? t.call(e, l(u, o, R, s), l(u, o, M, s)) : (u++, t.call(e, l(u, o, R, s), l(u, o, M, s), l(u, o, R, o.notifyWith))) : (a !== R && (n = void 0, r = [e]), (s || o.resolveWith)(n, r));\n }\n },\n t = s ? e : function () {\n try {\n e();\n } catch (e) {\n S.Deferred.exceptionHook && S.Deferred.exceptionHook(e, t.stackTrace), u <= i + 1 && (a !== M && (n = void 0, r = [e]), o.rejectWith(n, r));\n }\n };\n\n i ? t() : (S.Deferred.getStackHook && (t.stackTrace = S.Deferred.getStackHook()), C.setTimeout(t));\n };\n }\n\n return S.Deferred(function (e) {\n o[0][3].add(l(0, e, m(r) ? r : R, e.notifyWith)), o[1][3].add(l(0, e, m(t) ? t : R)), o[2][3].add(l(0, e, m(n) ? n : M));\n }).promise();\n },\n promise: function promise(e) {\n return null != e ? S.extend(e, a) : a;\n }\n },\n s = {};\n return S.each(o, function (e, t) {\n var n = t[2],\n r = t[5];\n a[t[1]] = n.add, r && n.add(function () {\n i = r;\n }, o[3 - e][2].disable, o[3 - e][3].disable, o[0][2].lock, o[0][3].lock), n.add(t[3].fire), s[t[0]] = function () {\n return s[t[0] + \"With\"](this === s ? void 0 : this, arguments), this;\n }, s[t[0] + \"With\"] = n.fireWith;\n }), a.promise(s), e && e.call(s, s), s;\n },\n when: function when(e) {\n var n = arguments.length,\n t = n,\n r = Array(t),\n i = s.call(arguments),\n o = S.Deferred(),\n a = function a(t) {\n return function (e) {\n r[t] = this, i[t] = 1 < arguments.length ? s.call(arguments) : e, --n || o.resolveWith(r, i);\n };\n };\n\n if (n <= 1 && (I(e, o.done(a(t)).resolve, o.reject, !n), \"pending\" === o.state() || m(i[t] && i[t].then))) return o.then();\n\n while (t--) {\n I(i[t], a(t), o.reject);\n }\n\n return o.promise();\n }\n });\n var W = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;\n S.Deferred.exceptionHook = function (e, t) {\n C.console && C.console.warn && e && W.test(e.name) && C.console.warn(\"jQuery.Deferred exception: \" + e.message, e.stack, t);\n }, S.readyException = function (e) {\n C.setTimeout(function () {\n throw e;\n });\n };\n var F = S.Deferred();\n\n function B() {\n E.removeEventListener(\"DOMContentLoaded\", B), C.removeEventListener(\"load\", B), S.ready();\n }\n\n S.fn.ready = function (e) {\n return F.then(e)[\"catch\"](function (e) {\n S.readyException(e);\n }), this;\n }, S.extend({\n isReady: !1,\n readyWait: 1,\n ready: function ready(e) {\n (!0 === e ? --S.readyWait : S.isReady) || (S.isReady = !0) !== e && 0 < --S.readyWait || F.resolveWith(E, [S]);\n }\n }), S.ready.then = F.then, \"complete\" === E.readyState || \"loading\" !== E.readyState && !E.documentElement.doScroll ? C.setTimeout(S.ready) : (E.addEventListener(\"DOMContentLoaded\", B), C.addEventListener(\"load\", B));\n\n var $ = function $(e, t, n, r, i, o, a) {\n var s = 0,\n u = e.length,\n l = null == n;\n if (\"object\" === w(n)) for (s in i = !0, n) {\n $(e, t, s, n[s], !0, o, a);\n } else if (void 0 !== r && (i = !0, m(r) || (a = !0), l && (a ? (t.call(e, r), t = null) : (l = t, t = function t(e, _t2, n) {\n return l.call(S(e), n);\n })), t)) for (; s < u; s++) {\n t(e[s], n, a ? r : r.call(e[s], s, t(e[s], n)));\n }\n return i ? e : l ? t.call(e) : u ? t(e[0], n) : o;\n },\n _ = /^-ms-/,\n z = /-([a-z])/g;\n\n function U(e, t) {\n return t.toUpperCase();\n }\n\n function X(e) {\n return e.replace(_, \"ms-\").replace(z, U);\n }\n\n var V = function V(e) {\n return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType;\n };\n\n function G() {\n this.expando = S.expando + G.uid++;\n }\n\n G.uid = 1, G.prototype = {\n cache: function cache(e) {\n var t = e[this.expando];\n return t || (t = {}, V(e) && (e.nodeType ? e[this.expando] = t : Object.defineProperty(e, this.expando, {\n value: t,\n configurable: !0\n }))), t;\n },\n set: function set(e, t, n) {\n var r,\n i = this.cache(e);\n if (\"string\" == typeof t) i[X(t)] = n;else for (r in t) {\n i[X(r)] = t[r];\n }\n return i;\n },\n get: function get(e, t) {\n return void 0 === t ? this.cache(e) : e[this.expando] && e[this.expando][X(t)];\n },\n access: function access(e, t, n) {\n return void 0 === t || t && \"string\" == typeof t && void 0 === n ? this.get(e, t) : (this.set(e, t, n), void 0 !== n ? n : t);\n },\n remove: function remove(e, t) {\n var n,\n r = e[this.expando];\n\n if (void 0 !== r) {\n if (void 0 !== t) {\n n = (t = Array.isArray(t) ? t.map(X) : (t = X(t)) in r ? [t] : t.match(P) || []).length;\n\n while (n--) {\n delete r[t[n]];\n }\n }\n\n (void 0 === t || S.isEmptyObject(r)) && (e.nodeType ? e[this.expando] = void 0 : delete e[this.expando]);\n }\n },\n hasData: function hasData(e) {\n var t = e[this.expando];\n return void 0 !== t && !S.isEmptyObject(t);\n }\n };\n var Y = new G(),\n Q = new G(),\n J = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n K = /[A-Z]/g;\n\n function Z(e, t, n) {\n var r, i;\n if (void 0 === n && 1 === e.nodeType) if (r = \"data-\" + t.replace(K, \"-$&\").toLowerCase(), \"string\" == typeof (n = e.getAttribute(r))) {\n try {\n n = \"true\" === (i = n) || \"false\" !== i && (\"null\" === i ? null : i === +i + \"\" ? +i : J.test(i) ? JSON.parse(i) : i);\n } catch (e) {}\n\n Q.set(e, t, n);\n } else n = void 0;\n return n;\n }\n\n S.extend({\n hasData: function hasData(e) {\n return Q.hasData(e) || Y.hasData(e);\n },\n data: function data(e, t, n) {\n return Q.access(e, t, n);\n },\n removeData: function removeData(e, t) {\n Q.remove(e, t);\n },\n _data: function _data(e, t, n) {\n return Y.access(e, t, n);\n },\n _removeData: function _removeData(e, t) {\n Y.remove(e, t);\n }\n }), S.fn.extend({\n data: function data(n, e) {\n var t,\n r,\n i,\n o = this[0],\n a = o && o.attributes;\n\n if (void 0 === n) {\n if (this.length && (i = Q.get(o), 1 === o.nodeType && !Y.get(o, \"hasDataAttrs\"))) {\n t = a.length;\n\n while (t--) {\n a[t] && 0 === (r = a[t].name).indexOf(\"data-\") && (r = X(r.slice(5)), Z(o, r, i[r]));\n }\n\n Y.set(o, \"hasDataAttrs\", !0);\n }\n\n return i;\n }\n\n return \"object\" == typeof n ? this.each(function () {\n Q.set(this, n);\n }) : $(this, function (e) {\n var t;\n if (o && void 0 === e) return void 0 !== (t = Q.get(o, n)) ? t : void 0 !== (t = Z(o, n)) ? t : void 0;\n this.each(function () {\n Q.set(this, n, e);\n });\n }, null, e, 1 < arguments.length, null, !0);\n },\n removeData: function removeData(e) {\n return this.each(function () {\n Q.remove(this, e);\n });\n }\n }), S.extend({\n queue: function queue(e, t, n) {\n var r;\n if (e) return t = (t || \"fx\") + \"queue\", r = Y.get(e, t), n && (!r || Array.isArray(n) ? r = Y.access(e, t, S.makeArray(n)) : r.push(n)), r || [];\n },\n dequeue: function dequeue(e, t) {\n t = t || \"fx\";\n\n var n = S.queue(e, t),\n r = n.length,\n i = n.shift(),\n o = S._queueHooks(e, t);\n\n \"inprogress\" === i && (i = n.shift(), r--), i && (\"fx\" === t && n.unshift(\"inprogress\"), delete o.stop, i.call(e, function () {\n S.dequeue(e, t);\n }, o)), !r && o && o.empty.fire();\n },\n _queueHooks: function _queueHooks(e, t) {\n var n = t + \"queueHooks\";\n return Y.get(e, n) || Y.access(e, n, {\n empty: S.Callbacks(\"once memory\").add(function () {\n Y.remove(e, [t + \"queue\", n]);\n })\n });\n }\n }), S.fn.extend({\n queue: function queue(t, n) {\n var e = 2;\n return \"string\" != typeof t && (n = t, t = \"fx\", e--), arguments.length < e ? S.queue(this[0], t) : void 0 === n ? this : this.each(function () {\n var e = S.queue(this, t, n);\n S._queueHooks(this, t), \"fx\" === t && \"inprogress\" !== e[0] && S.dequeue(this, t);\n });\n },\n dequeue: function dequeue(e) {\n return this.each(function () {\n S.dequeue(this, e);\n });\n },\n clearQueue: function clearQueue(e) {\n return this.queue(e || \"fx\", []);\n },\n promise: function promise(e, t) {\n var n,\n r = 1,\n i = S.Deferred(),\n o = this,\n a = this.length,\n s = function s() {\n --r || i.resolveWith(o, [o]);\n };\n\n \"string\" != typeof e && (t = e, e = void 0), e = e || \"fx\";\n\n while (a--) {\n (n = Y.get(o[a], e + \"queueHooks\")) && n.empty && (r++, n.empty.add(s));\n }\n\n return s(), i.promise(t);\n }\n });\n\n var ee = /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/.source,\n te = new RegExp(\"^(?:([+-])=|)(\" + ee + \")([a-z%]*)$\", \"i\"),\n ne = [\"Top\", \"Right\", \"Bottom\", \"Left\"],\n re = E.documentElement,\n ie = function ie(e) {\n return S.contains(e.ownerDocument, e);\n },\n oe = {\n composed: !0\n };\n\n re.getRootNode && (ie = function ie(e) {\n return S.contains(e.ownerDocument, e) || e.getRootNode(oe) === e.ownerDocument;\n });\n\n var ae = function ae(e, t) {\n return \"none\" === (e = t || e).style.display || \"\" === e.style.display && ie(e) && \"none\" === S.css(e, \"display\");\n };\n\n function se(e, t, n, r) {\n var i,\n o,\n a = 20,\n s = r ? function () {\n return r.cur();\n } : function () {\n return S.css(e, t, \"\");\n },\n u = s(),\n l = n && n[3] || (S.cssNumber[t] ? \"\" : \"px\"),\n c = e.nodeType && (S.cssNumber[t] || \"px\" !== l && +u) && te.exec(S.css(e, t));\n\n if (c && c[3] !== l) {\n u /= 2, l = l || c[3], c = +u || 1;\n\n while (a--) {\n S.style(e, t, c + l), (1 - o) * (1 - (o = s() / u || .5)) <= 0 && (a = 0), c /= o;\n }\n\n c *= 2, S.style(e, t, c + l), n = n || [];\n }\n\n return n && (c = +c || +u || 0, i = n[1] ? c + (n[1] + 1) * n[2] : +n[2], r && (r.unit = l, r.start = c, r.end = i)), i;\n }\n\n var ue = {};\n\n function le(e, t) {\n for (var n, r, i, o, a, s, u, l = [], c = 0, f = e.length; c < f; c++) {\n (r = e[c]).style && (n = r.style.display, t ? (\"none\" === n && (l[c] = Y.get(r, \"display\") || null, l[c] || (r.style.display = \"\")), \"\" === r.style.display && ae(r) && (l[c] = (u = a = o = void 0, a = (i = r).ownerDocument, s = i.nodeName, (u = ue[s]) || (o = a.body.appendChild(a.createElement(s)), u = S.css(o, \"display\"), o.parentNode.removeChild(o), \"none\" === u && (u = \"block\"), ue[s] = u)))) : \"none\" !== n && (l[c] = \"none\", Y.set(r, \"display\", n)));\n }\n\n for (c = 0; c < f; c++) {\n null != l[c] && (e[c].style.display = l[c]);\n }\n\n return e;\n }\n\n S.fn.extend({\n show: function show() {\n return le(this, !0);\n },\n hide: function hide() {\n return le(this);\n },\n toggle: function toggle(e) {\n return \"boolean\" == typeof e ? e ? this.show() : this.hide() : this.each(function () {\n ae(this) ? S(this).show() : S(this).hide();\n });\n }\n });\n var ce,\n fe,\n pe = /^(?:checkbox|radio)$/i,\n de = /<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)/i,\n he = /^$|^module$|\\/(?:java|ecma)script/i;\n ce = E.createDocumentFragment().appendChild(E.createElement(\"div\")), (fe = E.createElement(\"input\")).setAttribute(\"type\", \"radio\"), fe.setAttribute(\"checked\", \"checked\"), fe.setAttribute(\"name\", \"t\"), ce.appendChild(fe), y.checkClone = ce.cloneNode(!0).cloneNode(!0).lastChild.checked, ce.innerHTML = \"\", y.noCloneChecked = !!ce.cloneNode(!0).lastChild.defaultValue, ce.innerHTML = \"\", y.option = !!ce.lastChild;\n var ge = {\n thead: [1, \"\", \"
    \"],\n col: [2, \"\", \"
    \"],\n tr: [2, \"\", \"
    \"],\n td: [3, \"\", \"
    \"],\n _default: [0, \"\", \"\"]\n };\n\n function ve(e, t) {\n var n;\n return n = \"undefined\" != typeof e.getElementsByTagName ? e.getElementsByTagName(t || \"*\") : \"undefined\" != typeof e.querySelectorAll ? e.querySelectorAll(t || \"*\") : [], void 0 === t || t && A(e, t) ? S.merge([e], n) : n;\n }\n\n function ye(e, t) {\n for (var n = 0, r = e.length; n < r; n++) {\n Y.set(e[n], \"globalEval\", !t || Y.get(t[n], \"globalEval\"));\n }\n }\n\n ge.tbody = ge.tfoot = ge.colgroup = ge.caption = ge.thead, ge.th = ge.td, y.option || (ge.optgroup = ge.option = [1, \"\"]);\n var me = /<|&#?\\w+;/;\n\n function xe(e, t, n, r, i) {\n for (var o, a, s, u, l, c, f = t.createDocumentFragment(), p = [], d = 0, h = e.length; d < h; d++) {\n if ((o = e[d]) || 0 === o) if (\"object\" === w(o)) S.merge(p, o.nodeType ? [o] : o);else if (me.test(o)) {\n a = a || f.appendChild(t.createElement(\"div\")), s = (de.exec(o) || [\"\", \"\"])[1].toLowerCase(), u = ge[s] || ge._default, a.innerHTML = u[1] + S.htmlPrefilter(o) + u[2], c = u[0];\n\n while (c--) {\n a = a.lastChild;\n }\n\n S.merge(p, a.childNodes), (a = f.firstChild).textContent = \"\";\n } else p.push(t.createTextNode(o));\n }\n\n f.textContent = \"\", d = 0;\n\n while (o = p[d++]) {\n if (r && -1 < S.inArray(o, r)) i && i.push(o);else if (l = ie(o), a = ve(f.appendChild(o), \"script\"), l && ye(a), n) {\n c = 0;\n\n while (o = a[c++]) {\n he.test(o.type || \"\") && n.push(o);\n }\n }\n }\n\n return f;\n }\n\n var be = /^key/,\n we = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,\n Te = /^([^.]*)(?:\\.(.+)|)/;\n\n function Ce() {\n return !0;\n }\n\n function Ee() {\n return !1;\n }\n\n function Se(e, t) {\n return e === function () {\n try {\n return E.activeElement;\n } catch (e) {}\n }() == (\"focus\" === t);\n }\n\n function ke(e, t, n, r, i, o) {\n var a, s;\n\n if (\"object\" == typeof t) {\n for (s in \"string\" != typeof n && (r = r || n, n = void 0), t) {\n ke(e, s, n, r, t[s], o);\n }\n\n return e;\n }\n\n if (null == r && null == i ? (i = n, r = n = void 0) : null == i && (\"string\" == typeof n ? (i = r, r = void 0) : (i = r, r = n, n = void 0)), !1 === i) i = Ee;else if (!i) return e;\n return 1 === o && (a = i, (i = function i(e) {\n return S().off(e), a.apply(this, arguments);\n }).guid = a.guid || (a.guid = S.guid++)), e.each(function () {\n S.event.add(this, t, i, r, n);\n });\n }\n\n function Ae(e, i, o) {\n o ? (Y.set(e, i, !1), S.event.add(e, i, {\n namespace: !1,\n handler: function handler(e) {\n var t,\n n,\n r = Y.get(this, i);\n\n if (1 & e.isTrigger && this[i]) {\n if (r.length) (S.event.special[i] || {}).delegateType && e.stopPropagation();else if (r = s.call(arguments), Y.set(this, i, r), t = o(this, i), this[i](), r !== (n = Y.get(this, i)) || t ? Y.set(this, i, !1) : n = {}, r !== n) return e.stopImmediatePropagation(), e.preventDefault(), n.value;\n } else r.length && (Y.set(this, i, {\n value: S.event.trigger(S.extend(r[0], S.Event.prototype), r.slice(1), this)\n }), e.stopImmediatePropagation());\n }\n })) : void 0 === Y.get(e, i) && S.event.add(e, i, Ce);\n }\n\n S.event = {\n global: {},\n add: function add(t, e, n, r, i) {\n var o,\n a,\n s,\n u,\n l,\n c,\n f,\n p,\n d,\n h,\n g,\n v = Y.get(t);\n\n if (V(t)) {\n n.handler && (n = (o = n).handler, i = o.selector), i && S.find.matchesSelector(re, i), n.guid || (n.guid = S.guid++), (u = v.events) || (u = v.events = Object.create(null)), (a = v.handle) || (a = v.handle = function (e) {\n return \"undefined\" != typeof S && S.event.triggered !== e.type ? S.event.dispatch.apply(t, arguments) : void 0;\n }), l = (e = (e || \"\").match(P) || [\"\"]).length;\n\n while (l--) {\n d = g = (s = Te.exec(e[l]) || [])[1], h = (s[2] || \"\").split(\".\").sort(), d && (f = S.event.special[d] || {}, d = (i ? f.delegateType : f.bindType) || d, f = S.event.special[d] || {}, c = S.extend({\n type: d,\n origType: g,\n data: r,\n handler: n,\n guid: n.guid,\n selector: i,\n needsContext: i && S.expr.match.needsContext.test(i),\n namespace: h.join(\".\")\n }, o), (p = u[d]) || ((p = u[d] = []).delegateCount = 0, f.setup && !1 !== f.setup.call(t, r, h, a) || t.addEventListener && t.addEventListener(d, a)), f.add && (f.add.call(t, c), c.handler.guid || (c.handler.guid = n.guid)), i ? p.splice(p.delegateCount++, 0, c) : p.push(c), S.event.global[d] = !0);\n }\n }\n },\n remove: function remove(e, t, n, r, i) {\n var o,\n a,\n s,\n u,\n l,\n c,\n f,\n p,\n d,\n h,\n g,\n v = Y.hasData(e) && Y.get(e);\n\n if (v && (u = v.events)) {\n l = (t = (t || \"\").match(P) || [\"\"]).length;\n\n while (l--) {\n if (d = g = (s = Te.exec(t[l]) || [])[1], h = (s[2] || \"\").split(\".\").sort(), d) {\n f = S.event.special[d] || {}, p = u[d = (r ? f.delegateType : f.bindType) || d] || [], s = s[2] && new RegExp(\"(^|\\\\.)\" + h.join(\"\\\\.(?:.*\\\\.|)\") + \"(\\\\.|$)\"), a = o = p.length;\n\n while (o--) {\n c = p[o], !i && g !== c.origType || n && n.guid !== c.guid || s && !s.test(c.namespace) || r && r !== c.selector && (\"**\" !== r || !c.selector) || (p.splice(o, 1), c.selector && p.delegateCount--, f.remove && f.remove.call(e, c));\n }\n\n a && !p.length && (f.teardown && !1 !== f.teardown.call(e, h, v.handle) || S.removeEvent(e, d, v.handle), delete u[d]);\n } else for (d in u) {\n S.event.remove(e, d + t[l], n, r, !0);\n }\n }\n\n S.isEmptyObject(u) && Y.remove(e, \"handle events\");\n }\n },\n dispatch: function dispatch(e) {\n var t,\n n,\n r,\n i,\n o,\n a,\n s = new Array(arguments.length),\n u = S.event.fix(e),\n l = (Y.get(this, \"events\") || Object.create(null))[u.type] || [],\n c = S.event.special[u.type] || {};\n\n for (s[0] = u, t = 1; t < arguments.length; t++) {\n s[t] = arguments[t];\n }\n\n if (u.delegateTarget = this, !c.preDispatch || !1 !== c.preDispatch.call(this, u)) {\n a = S.event.handlers.call(this, u, l), t = 0;\n\n while ((i = a[t++]) && !u.isPropagationStopped()) {\n u.currentTarget = i.elem, n = 0;\n\n while ((o = i.handlers[n++]) && !u.isImmediatePropagationStopped()) {\n u.rnamespace && !1 !== o.namespace && !u.rnamespace.test(o.namespace) || (u.handleObj = o, u.data = o.data, void 0 !== (r = ((S.event.special[o.origType] || {}).handle || o.handler).apply(i.elem, s)) && !1 === (u.result = r) && (u.preventDefault(), u.stopPropagation()));\n }\n }\n\n return c.postDispatch && c.postDispatch.call(this, u), u.result;\n }\n },\n handlers: function handlers(e, t) {\n var n,\n r,\n i,\n o,\n a,\n s = [],\n u = t.delegateCount,\n l = e.target;\n if (u && l.nodeType && !(\"click\" === e.type && 1 <= e.button)) for (; l !== this; l = l.parentNode || this) {\n if (1 === l.nodeType && (\"click\" !== e.type || !0 !== l.disabled)) {\n for (o = [], a = {}, n = 0; n < u; n++) {\n void 0 === a[i = (r = t[n]).selector + \" \"] && (a[i] = r.needsContext ? -1 < S(i, this).index(l) : S.find(i, this, null, [l]).length), a[i] && o.push(r);\n }\n\n o.length && s.push({\n elem: l,\n handlers: o\n });\n }\n }\n return l = this, u < t.length && s.push({\n elem: l,\n handlers: t.slice(u)\n }), s;\n },\n addProp: function addProp(t, e) {\n Object.defineProperty(S.Event.prototype, t, {\n enumerable: !0,\n configurable: !0,\n get: m(e) ? function () {\n if (this.originalEvent) return e(this.originalEvent);\n } : function () {\n if (this.originalEvent) return this.originalEvent[t];\n },\n set: function set(e) {\n Object.defineProperty(this, t, {\n enumerable: !0,\n configurable: !0,\n writable: !0,\n value: e\n });\n }\n });\n },\n fix: function fix(e) {\n return e[S.expando] ? e : new S.Event(e);\n },\n special: {\n load: {\n noBubble: !0\n },\n click: {\n setup: function setup(e) {\n var t = this || e;\n return pe.test(t.type) && t.click && A(t, \"input\") && Ae(t, \"click\", Ce), !1;\n },\n trigger: function trigger(e) {\n var t = this || e;\n return pe.test(t.type) && t.click && A(t, \"input\") && Ae(t, \"click\"), !0;\n },\n _default: function _default(e) {\n var t = e.target;\n return pe.test(t.type) && t.click && A(t, \"input\") && Y.get(t, \"click\") || A(t, \"a\");\n }\n },\n beforeunload: {\n postDispatch: function postDispatch(e) {\n void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result);\n }\n }\n }\n }, S.removeEvent = function (e, t, n) {\n e.removeEventListener && e.removeEventListener(t, n);\n }, S.Event = function (e, t) {\n if (!(this instanceof S.Event)) return new S.Event(e, t);\n e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && !1 === e.returnValue ? Ce : Ee, this.target = e.target && 3 === e.target.nodeType ? e.target.parentNode : e.target, this.currentTarget = e.currentTarget, this.relatedTarget = e.relatedTarget) : this.type = e, t && S.extend(this, t), this.timeStamp = e && e.timeStamp || Date.now(), this[S.expando] = !0;\n }, S.Event.prototype = {\n constructor: S.Event,\n isDefaultPrevented: Ee,\n isPropagationStopped: Ee,\n isImmediatePropagationStopped: Ee,\n isSimulated: !1,\n preventDefault: function preventDefault() {\n var e = this.originalEvent;\n this.isDefaultPrevented = Ce, e && !this.isSimulated && e.preventDefault();\n },\n stopPropagation: function stopPropagation() {\n var e = this.originalEvent;\n this.isPropagationStopped = Ce, e && !this.isSimulated && e.stopPropagation();\n },\n stopImmediatePropagation: function stopImmediatePropagation() {\n var e = this.originalEvent;\n this.isImmediatePropagationStopped = Ce, e && !this.isSimulated && e.stopImmediatePropagation(), this.stopPropagation();\n }\n }, S.each({\n altKey: !0,\n bubbles: !0,\n cancelable: !0,\n changedTouches: !0,\n ctrlKey: !0,\n detail: !0,\n eventPhase: !0,\n metaKey: !0,\n pageX: !0,\n pageY: !0,\n shiftKey: !0,\n view: !0,\n \"char\": !0,\n code: !0,\n charCode: !0,\n key: !0,\n keyCode: !0,\n button: !0,\n buttons: !0,\n clientX: !0,\n clientY: !0,\n offsetX: !0,\n offsetY: !0,\n pointerId: !0,\n pointerType: !0,\n screenX: !0,\n screenY: !0,\n targetTouches: !0,\n toElement: !0,\n touches: !0,\n which: function which(e) {\n var t = e.button;\n return null == e.which && be.test(e.type) ? null != e.charCode ? e.charCode : e.keyCode : !e.which && void 0 !== t && we.test(e.type) ? 1 & t ? 1 : 2 & t ? 3 : 4 & t ? 2 : 0 : e.which;\n }\n }, S.event.addProp), S.each({\n focus: \"focusin\",\n blur: \"focusout\"\n }, function (e, t) {\n S.event.special[e] = {\n setup: function setup() {\n return Ae(this, e, Se), !1;\n },\n trigger: function trigger() {\n return Ae(this, e), !0;\n },\n delegateType: t\n };\n }), S.each({\n mouseenter: \"mouseover\",\n mouseleave: \"mouseout\",\n pointerenter: \"pointerover\",\n pointerleave: \"pointerout\"\n }, function (e, i) {\n S.event.special[e] = {\n delegateType: i,\n bindType: i,\n handle: function handle(e) {\n var t,\n n = e.relatedTarget,\n r = e.handleObj;\n return n && (n === this || S.contains(this, n)) || (e.type = r.origType, t = r.handler.apply(this, arguments), e.type = i), t;\n }\n };\n }), S.fn.extend({\n on: function on(e, t, n, r) {\n return ke(this, e, t, n, r);\n },\n one: function one(e, t, n, r) {\n return ke(this, e, t, n, r, 1);\n },\n off: function off(e, t, n) {\n var r, i;\n if (e && e.preventDefault && e.handleObj) return r = e.handleObj, S(e.delegateTarget).off(r.namespace ? r.origType + \".\" + r.namespace : r.origType, r.selector, r.handler), this;\n\n if (\"object\" == typeof e) {\n for (i in e) {\n this.off(i, t, e[i]);\n }\n\n return this;\n }\n\n return !1 !== t && \"function\" != typeof t || (n = t, t = void 0), !1 === n && (n = Ee), this.each(function () {\n S.event.remove(this, e, n, t);\n });\n }\n });\n var Ne = /\\s*$/g;\n\n function qe(e, t) {\n return A(e, \"table\") && A(11 !== t.nodeType ? t : t.firstChild, \"tr\") && S(e).children(\"tbody\")[0] || e;\n }\n\n function Le(e) {\n return e.type = (null !== e.getAttribute(\"type\")) + \"/\" + e.type, e;\n }\n\n function He(e) {\n return \"true/\" === (e.type || \"\").slice(0, 5) ? e.type = e.type.slice(5) : e.removeAttribute(\"type\"), e;\n }\n\n function Oe(e, t) {\n var n, r, i, o, a, s;\n\n if (1 === t.nodeType) {\n if (Y.hasData(e) && (s = Y.get(e).events)) for (i in Y.remove(t, \"handle events\"), s) {\n for (n = 0, r = s[i].length; n < r; n++) {\n S.event.add(t, i, s[i][n]);\n }\n }\n Q.hasData(e) && (o = Q.access(e), a = S.extend({}, o), Q.set(t, a));\n }\n }\n\n function Pe(n, r, i, o) {\n r = g(r);\n var e,\n t,\n a,\n s,\n u,\n l,\n c = 0,\n f = n.length,\n p = f - 1,\n d = r[0],\n h = m(d);\n if (h || 1 < f && \"string\" == typeof d && !y.checkClone && De.test(d)) return n.each(function (e) {\n var t = n.eq(e);\n h && (r[0] = d.call(this, e, t.html())), Pe(t, r, i, o);\n });\n\n if (f && (t = (e = xe(r, n[0].ownerDocument, !1, n, o)).firstChild, 1 === e.childNodes.length && (e = t), t || o)) {\n for (s = (a = S.map(ve(e, \"script\"), Le)).length; c < f; c++) {\n u = e, c !== p && (u = S.clone(u, !0, !0), s && S.merge(a, ve(u, \"script\"))), i.call(n[c], u, c);\n }\n\n if (s) for (l = a[a.length - 1].ownerDocument, S.map(a, He), c = 0; c < s; c++) {\n u = a[c], he.test(u.type || \"\") && !Y.access(u, \"globalEval\") && S.contains(l, u) && (u.src && \"module\" !== (u.type || \"\").toLowerCase() ? S._evalUrl && !u.noModule && S._evalUrl(u.src, {\n nonce: u.nonce || u.getAttribute(\"nonce\")\n }, l) : b(u.textContent.replace(je, \"\"), u, l));\n }\n }\n\n return n;\n }\n\n function Re(e, t, n) {\n for (var r, i = t ? S.filter(t, e) : e, o = 0; null != (r = i[o]); o++) {\n n || 1 !== r.nodeType || S.cleanData(ve(r)), r.parentNode && (n && ie(r) && ye(ve(r, \"script\")), r.parentNode.removeChild(r));\n }\n\n return e;\n }\n\n S.extend({\n htmlPrefilter: function htmlPrefilter(e) {\n return e;\n },\n clone: function clone(e, t, n) {\n var r,\n i,\n o,\n a,\n s,\n u,\n l,\n c = e.cloneNode(!0),\n f = ie(e);\n if (!(y.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || S.isXMLDoc(e))) for (a = ve(c), r = 0, i = (o = ve(e)).length; r < i; r++) {\n s = o[r], u = a[r], void 0, \"input\" === (l = u.nodeName.toLowerCase()) && pe.test(s.type) ? u.checked = s.checked : \"input\" !== l && \"textarea\" !== l || (u.defaultValue = s.defaultValue);\n }\n if (t) if (n) for (o = o || ve(e), a = a || ve(c), r = 0, i = o.length; r < i; r++) {\n Oe(o[r], a[r]);\n } else Oe(e, c);\n return 0 < (a = ve(c, \"script\")).length && ye(a, !f && ve(e, \"script\")), c;\n },\n cleanData: function cleanData(e) {\n for (var t, n, r, i = S.event.special, o = 0; void 0 !== (n = e[o]); o++) {\n if (V(n)) {\n if (t = n[Y.expando]) {\n if (t.events) for (r in t.events) {\n i[r] ? S.event.remove(n, r) : S.removeEvent(n, r, t.handle);\n }\n n[Y.expando] = void 0;\n }\n\n n[Q.expando] && (n[Q.expando] = void 0);\n }\n }\n }\n }), S.fn.extend({\n detach: function detach(e) {\n return Re(this, e, !0);\n },\n remove: function remove(e) {\n return Re(this, e);\n },\n text: function text(e) {\n return $(this, function (e) {\n return void 0 === e ? S.text(this) : this.empty().each(function () {\n 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = e);\n });\n }, null, e, arguments.length);\n },\n append: function append() {\n return Pe(this, arguments, function (e) {\n 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || qe(this, e).appendChild(e);\n });\n },\n prepend: function prepend() {\n return Pe(this, arguments, function (e) {\n if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {\n var t = qe(this, e);\n t.insertBefore(e, t.firstChild);\n }\n });\n },\n before: function before() {\n return Pe(this, arguments, function (e) {\n this.parentNode && this.parentNode.insertBefore(e, this);\n });\n },\n after: function after() {\n return Pe(this, arguments, function (e) {\n this.parentNode && this.parentNode.insertBefore(e, this.nextSibling);\n });\n },\n empty: function empty() {\n for (var e, t = 0; null != (e = this[t]); t++) {\n 1 === e.nodeType && (S.cleanData(ve(e, !1)), e.textContent = \"\");\n }\n\n return this;\n },\n clone: function clone(e, t) {\n return e = null != e && e, t = null == t ? e : t, this.map(function () {\n return S.clone(this, e, t);\n });\n },\n html: function html(e) {\n return $(this, function (e) {\n var t = this[0] || {},\n n = 0,\n r = this.length;\n if (void 0 === e && 1 === t.nodeType) return t.innerHTML;\n\n if (\"string\" == typeof e && !Ne.test(e) && !ge[(de.exec(e) || [\"\", \"\"])[1].toLowerCase()]) {\n e = S.htmlPrefilter(e);\n\n try {\n for (; n < r; n++) {\n 1 === (t = this[n] || {}).nodeType && (S.cleanData(ve(t, !1)), t.innerHTML = e);\n }\n\n t = 0;\n } catch (e) {}\n }\n\n t && this.empty().append(e);\n }, null, e, arguments.length);\n },\n replaceWith: function replaceWith() {\n var n = [];\n return Pe(this, arguments, function (e) {\n var t = this.parentNode;\n S.inArray(this, n) < 0 && (S.cleanData(ve(this)), t && t.replaceChild(e, this));\n }, n);\n }\n }), S.each({\n appendTo: \"append\",\n prependTo: \"prepend\",\n insertBefore: \"before\",\n insertAfter: \"after\",\n replaceAll: \"replaceWith\"\n }, function (e, a) {\n S.fn[e] = function (e) {\n for (var t, n = [], r = S(e), i = r.length - 1, o = 0; o <= i; o++) {\n t = o === i ? this : this.clone(!0), S(r[o])[a](t), u.apply(n, t.get());\n }\n\n return this.pushStack(n);\n };\n });\n\n var Me = new RegExp(\"^(\" + ee + \")(?!px)[a-z%]+$\", \"i\"),\n Ie = function Ie(e) {\n var t = e.ownerDocument.defaultView;\n return t && t.opener || (t = C), t.getComputedStyle(e);\n },\n We = function We(e, t, n) {\n var r,\n i,\n o = {};\n\n for (i in t) {\n o[i] = e.style[i], e.style[i] = t[i];\n }\n\n for (i in r = n.call(e), t) {\n e.style[i] = o[i];\n }\n\n return r;\n },\n Fe = new RegExp(ne.join(\"|\"), \"i\");\n\n function Be(e, t, n) {\n var r,\n i,\n o,\n a,\n s = e.style;\n return (n = n || Ie(e)) && (\"\" !== (a = n.getPropertyValue(t) || n[t]) || ie(e) || (a = S.style(e, t)), !y.pixelBoxStyles() && Me.test(a) && Fe.test(t) && (r = s.width, i = s.minWidth, o = s.maxWidth, s.minWidth = s.maxWidth = s.width = a, a = n.width, s.width = r, s.minWidth = i, s.maxWidth = o)), void 0 !== a ? a + \"\" : a;\n }\n\n function $e(e, t) {\n return {\n get: function get() {\n if (!e()) return (this.get = t).apply(this, arguments);\n delete this.get;\n }\n };\n }\n\n !function () {\n function e() {\n if (l) {\n u.style.cssText = \"position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0\", l.style.cssText = \"position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%\", re.appendChild(u).appendChild(l);\n var e = C.getComputedStyle(l);\n n = \"1%\" !== e.top, s = 12 === t(e.marginLeft), l.style.right = \"60%\", o = 36 === t(e.right), r = 36 === t(e.width), l.style.position = \"absolute\", i = 12 === t(l.offsetWidth / 3), re.removeChild(u), l = null;\n }\n }\n\n function t(e) {\n return Math.round(parseFloat(e));\n }\n\n var n,\n r,\n i,\n o,\n a,\n s,\n u = E.createElement(\"div\"),\n l = E.createElement(\"div\");\n l.style && (l.style.backgroundClip = \"content-box\", l.cloneNode(!0).style.backgroundClip = \"\", y.clearCloneStyle = \"content-box\" === l.style.backgroundClip, S.extend(y, {\n boxSizingReliable: function boxSizingReliable() {\n return e(), r;\n },\n pixelBoxStyles: function pixelBoxStyles() {\n return e(), o;\n },\n pixelPosition: function pixelPosition() {\n return e(), n;\n },\n reliableMarginLeft: function reliableMarginLeft() {\n return e(), s;\n },\n scrollboxSize: function scrollboxSize() {\n return e(), i;\n },\n reliableTrDimensions: function reliableTrDimensions() {\n var e, t, n, r;\n return null == a && (e = E.createElement(\"table\"), t = E.createElement(\"tr\"), n = E.createElement(\"div\"), e.style.cssText = \"position:absolute;left:-11111px\", t.style.height = \"1px\", n.style.height = \"9px\", re.appendChild(e).appendChild(t).appendChild(n), r = C.getComputedStyle(t), a = 3 < parseInt(r.height), re.removeChild(e)), a;\n }\n }));\n }();\n var _e = [\"Webkit\", \"Moz\", \"ms\"],\n ze = E.createElement(\"div\").style,\n Ue = {};\n\n function Xe(e) {\n var t = S.cssProps[e] || Ue[e];\n return t || (e in ze ? e : Ue[e] = function (e) {\n var t = e[0].toUpperCase() + e.slice(1),\n n = _e.length;\n\n while (n--) {\n if ((e = _e[n] + t) in ze) return e;\n }\n }(e) || e);\n }\n\n var Ve = /^(none|table(?!-c[ea]).+)/,\n Ge = /^--/,\n Ye = {\n position: \"absolute\",\n visibility: \"hidden\",\n display: \"block\"\n },\n Qe = {\n letterSpacing: \"0\",\n fontWeight: \"400\"\n };\n\n function Je(e, t, n) {\n var r = te.exec(t);\n return r ? Math.max(0, r[2] - (n || 0)) + (r[3] || \"px\") : t;\n }\n\n function Ke(e, t, n, r, i, o) {\n var a = \"width\" === t ? 1 : 0,\n s = 0,\n u = 0;\n if (n === (r ? \"border\" : \"content\")) return 0;\n\n for (; a < 4; a += 2) {\n \"margin\" === n && (u += S.css(e, n + ne[a], !0, i)), r ? (\"content\" === n && (u -= S.css(e, \"padding\" + ne[a], !0, i)), \"margin\" !== n && (u -= S.css(e, \"border\" + ne[a] + \"Width\", !0, i))) : (u += S.css(e, \"padding\" + ne[a], !0, i), \"padding\" !== n ? u += S.css(e, \"border\" + ne[a] + \"Width\", !0, i) : s += S.css(e, \"border\" + ne[a] + \"Width\", !0, i));\n }\n\n return !r && 0 <= o && (u += Math.max(0, Math.ceil(e[\"offset\" + t[0].toUpperCase() + t.slice(1)] - o - u - s - .5)) || 0), u;\n }\n\n function Ze(e, t, n) {\n var r = Ie(e),\n i = (!y.boxSizingReliable() || n) && \"border-box\" === S.css(e, \"boxSizing\", !1, r),\n o = i,\n a = Be(e, t, r),\n s = \"offset\" + t[0].toUpperCase() + t.slice(1);\n\n if (Me.test(a)) {\n if (!n) return a;\n a = \"auto\";\n }\n\n return (!y.boxSizingReliable() && i || !y.reliableTrDimensions() && A(e, \"tr\") || \"auto\" === a || !parseFloat(a) && \"inline\" === S.css(e, \"display\", !1, r)) && e.getClientRects().length && (i = \"border-box\" === S.css(e, \"boxSizing\", !1, r), (o = s in e) && (a = e[s])), (a = parseFloat(a) || 0) + Ke(e, t, n || (i ? \"border\" : \"content\"), o, r, a) + \"px\";\n }\n\n function et(e, t, n, r, i) {\n return new et.prototype.init(e, t, n, r, i);\n }\n\n S.extend({\n cssHooks: {\n opacity: {\n get: function get(e, t) {\n if (t) {\n var n = Be(e, \"opacity\");\n return \"\" === n ? \"1\" : n;\n }\n }\n }\n },\n cssNumber: {\n animationIterationCount: !0,\n columnCount: !0,\n fillOpacity: !0,\n flexGrow: !0,\n flexShrink: !0,\n fontWeight: !0,\n gridArea: !0,\n gridColumn: !0,\n gridColumnEnd: !0,\n gridColumnStart: !0,\n gridRow: !0,\n gridRowEnd: !0,\n gridRowStart: !0,\n lineHeight: !0,\n opacity: !0,\n order: !0,\n orphans: !0,\n widows: !0,\n zIndex: !0,\n zoom: !0\n },\n cssProps: {},\n style: function style(e, t, n, r) {\n if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) {\n var i,\n o,\n a,\n s = X(t),\n u = Ge.test(t),\n l = e.style;\n if (u || (t = Xe(s)), a = S.cssHooks[t] || S.cssHooks[s], void 0 === n) return a && \"get\" in a && void 0 !== (i = a.get(e, !1, r)) ? i : l[t];\n \"string\" === (o = typeof n) && (i = te.exec(n)) && i[1] && (n = se(e, t, i), o = \"number\"), null != n && n == n && (\"number\" !== o || u || (n += i && i[3] || (S.cssNumber[s] ? \"\" : \"px\")), y.clearCloneStyle || \"\" !== n || 0 !== t.indexOf(\"background\") || (l[t] = \"inherit\"), a && \"set\" in a && void 0 === (n = a.set(e, n, r)) || (u ? l.setProperty(t, n) : l[t] = n));\n }\n },\n css: function css(e, t, n, r) {\n var i,\n o,\n a,\n s = X(t);\n return Ge.test(t) || (t = Xe(s)), (a = S.cssHooks[t] || S.cssHooks[s]) && \"get\" in a && (i = a.get(e, !0, n)), void 0 === i && (i = Be(e, t, r)), \"normal\" === i && t in Qe && (i = Qe[t]), \"\" === n || n ? (o = parseFloat(i), !0 === n || isFinite(o) ? o || 0 : i) : i;\n }\n }), S.each([\"height\", \"width\"], function (e, u) {\n S.cssHooks[u] = {\n get: function get(e, t, n) {\n if (t) return !Ve.test(S.css(e, \"display\")) || e.getClientRects().length && e.getBoundingClientRect().width ? Ze(e, u, n) : We(e, Ye, function () {\n return Ze(e, u, n);\n });\n },\n set: function set(e, t, n) {\n var r,\n i = Ie(e),\n o = !y.scrollboxSize() && \"absolute\" === i.position,\n a = (o || n) && \"border-box\" === S.css(e, \"boxSizing\", !1, i),\n s = n ? Ke(e, u, n, a, i) : 0;\n return a && o && (s -= Math.ceil(e[\"offset\" + u[0].toUpperCase() + u.slice(1)] - parseFloat(i[u]) - Ke(e, u, \"border\", !1, i) - .5)), s && (r = te.exec(t)) && \"px\" !== (r[3] || \"px\") && (e.style[u] = t, t = S.css(e, u)), Je(0, t, s);\n }\n };\n }), S.cssHooks.marginLeft = $e(y.reliableMarginLeft, function (e, t) {\n if (t) return (parseFloat(Be(e, \"marginLeft\")) || e.getBoundingClientRect().left - We(e, {\n marginLeft: 0\n }, function () {\n return e.getBoundingClientRect().left;\n })) + \"px\";\n }), S.each({\n margin: \"\",\n padding: \"\",\n border: \"Width\"\n }, function (i, o) {\n S.cssHooks[i + o] = {\n expand: function expand(e) {\n for (var t = 0, n = {}, r = \"string\" == typeof e ? e.split(\" \") : [e]; t < 4; t++) {\n n[i + ne[t] + o] = r[t] || r[t - 2] || r[0];\n }\n\n return n;\n }\n }, \"margin\" !== i && (S.cssHooks[i + o].set = Je);\n }), S.fn.extend({\n css: function css(e, t) {\n return $(this, function (e, t, n) {\n var r,\n i,\n o = {},\n a = 0;\n\n if (Array.isArray(t)) {\n for (r = Ie(e), i = t.length; a < i; a++) {\n o[t[a]] = S.css(e, t[a], !1, r);\n }\n\n return o;\n }\n\n return void 0 !== n ? S.style(e, t, n) : S.css(e, t);\n }, e, t, 1 < arguments.length);\n }\n }), ((S.Tween = et).prototype = {\n constructor: et,\n init: function init(e, t, n, r, i, o) {\n this.elem = e, this.prop = n, this.easing = i || S.easing._default, this.options = t, this.start = this.now = this.cur(), this.end = r, this.unit = o || (S.cssNumber[n] ? \"\" : \"px\");\n },\n cur: function cur() {\n var e = et.propHooks[this.prop];\n return e && e.get ? e.get(this) : et.propHooks._default.get(this);\n },\n run: function run(e) {\n var t,\n n = et.propHooks[this.prop];\n return this.options.duration ? this.pos = t = S.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : this.pos = t = e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : et.propHooks._default.set(this), this;\n }\n }).init.prototype = et.prototype, (et.propHooks = {\n _default: {\n get: function get(e) {\n var t;\n return 1 !== e.elem.nodeType || null != e.elem[e.prop] && null == e.elem.style[e.prop] ? e.elem[e.prop] : (t = S.css(e.elem, e.prop, \"\")) && \"auto\" !== t ? t : 0;\n },\n set: function set(e) {\n S.fx.step[e.prop] ? S.fx.step[e.prop](e) : 1 !== e.elem.nodeType || !S.cssHooks[e.prop] && null == e.elem.style[Xe(e.prop)] ? e.elem[e.prop] = e.now : S.style(e.elem, e.prop, e.now + e.unit);\n }\n }\n }).scrollTop = et.propHooks.scrollLeft = {\n set: function set(e) {\n e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now);\n }\n }, S.easing = {\n linear: function linear(e) {\n return e;\n },\n swing: function swing(e) {\n return .5 - Math.cos(e * Math.PI) / 2;\n },\n _default: \"swing\"\n }, S.fx = et.prototype.init, S.fx.step = {};\n var tt,\n nt,\n rt,\n it,\n ot = /^(?:toggle|show|hide)$/,\n at = /queueHooks$/;\n\n function st() {\n nt && (!1 === E.hidden && C.requestAnimationFrame ? C.requestAnimationFrame(st) : C.setTimeout(st, S.fx.interval), S.fx.tick());\n }\n\n function ut() {\n return C.setTimeout(function () {\n tt = void 0;\n }), tt = Date.now();\n }\n\n function lt(e, t) {\n var n,\n r = 0,\n i = {\n height: e\n };\n\n for (t = t ? 1 : 0; r < 4; r += 2 - t) {\n i[\"margin\" + (n = ne[r])] = i[\"padding\" + n] = e;\n }\n\n return t && (i.opacity = i.width = e), i;\n }\n\n function ct(e, t, n) {\n for (var r, i = (ft.tweeners[t] || []).concat(ft.tweeners[\"*\"]), o = 0, a = i.length; o < a; o++) {\n if (r = i[o].call(n, t, e)) return r;\n }\n }\n\n function ft(o, e, t) {\n var n,\n a,\n r = 0,\n i = ft.prefilters.length,\n s = S.Deferred().always(function () {\n delete u.elem;\n }),\n u = function u() {\n if (a) return !1;\n\n for (var e = tt || ut(), t = Math.max(0, l.startTime + l.duration - e), n = 1 - (t / l.duration || 0), r = 0, i = l.tweens.length; r < i; r++) {\n l.tweens[r].run(n);\n }\n\n return s.notifyWith(o, [l, n, t]), n < 1 && i ? t : (i || s.notifyWith(o, [l, 1, 0]), s.resolveWith(o, [l]), !1);\n },\n l = s.promise({\n elem: o,\n props: S.extend({}, e),\n opts: S.extend(!0, {\n specialEasing: {},\n easing: S.easing._default\n }, t),\n originalProperties: e,\n originalOptions: t,\n startTime: tt || ut(),\n duration: t.duration,\n tweens: [],\n createTween: function createTween(e, t) {\n var n = S.Tween(o, l.opts, e, t, l.opts.specialEasing[e] || l.opts.easing);\n return l.tweens.push(n), n;\n },\n stop: function stop(e) {\n var t = 0,\n n = e ? l.tweens.length : 0;\n if (a) return this;\n\n for (a = !0; t < n; t++) {\n l.tweens[t].run(1);\n }\n\n return e ? (s.notifyWith(o, [l, 1, 0]), s.resolveWith(o, [l, e])) : s.rejectWith(o, [l, e]), this;\n }\n }),\n c = l.props;\n\n for (!function (e, t) {\n var n, r, i, o, a;\n\n for (n in e) {\n if (i = t[r = X(n)], o = e[n], Array.isArray(o) && (i = o[1], o = e[n] = o[0]), n !== r && (e[r] = o, delete e[n]), (a = S.cssHooks[r]) && (\"expand\" in a)) for (n in o = a.expand(o), delete e[r], o) {\n (n in e) || (e[n] = o[n], t[n] = i);\n } else t[r] = i;\n }\n }(c, l.opts.specialEasing); r < i; r++) {\n if (n = ft.prefilters[r].call(l, o, c, l.opts)) return m(n.stop) && (S._queueHooks(l.elem, l.opts.queue).stop = n.stop.bind(n)), n;\n }\n\n return S.map(c, ct, l), m(l.opts.start) && l.opts.start.call(o, l), l.progress(l.opts.progress).done(l.opts.done, l.opts.complete).fail(l.opts.fail).always(l.opts.always), S.fx.timer(S.extend(u, {\n elem: o,\n anim: l,\n queue: l.opts.queue\n })), l;\n }\n\n S.Animation = S.extend(ft, {\n tweeners: {\n \"*\": [function (e, t) {\n var n = this.createTween(e, t);\n return se(n.elem, e, te.exec(t), n), n;\n }]\n },\n tweener: function tweener(e, t) {\n m(e) ? (t = e, e = [\"*\"]) : e = e.match(P);\n\n for (var n, r = 0, i = e.length; r < i; r++) {\n n = e[r], ft.tweeners[n] = ft.tweeners[n] || [], ft.tweeners[n].unshift(t);\n }\n },\n prefilters: [function (e, t, n) {\n var r,\n i,\n o,\n a,\n s,\n u,\n l,\n c,\n f = \"width\" in t || \"height\" in t,\n p = this,\n d = {},\n h = e.style,\n g = e.nodeType && ae(e),\n v = Y.get(e, \"fxshow\");\n\n for (r in n.queue || (null == (a = S._queueHooks(e, \"fx\")).unqueued && (a.unqueued = 0, s = a.empty.fire, a.empty.fire = function () {\n a.unqueued || s();\n }), a.unqueued++, p.always(function () {\n p.always(function () {\n a.unqueued--, S.queue(e, \"fx\").length || a.empty.fire();\n });\n })), t) {\n if (i = t[r], ot.test(i)) {\n if (delete t[r], o = o || \"toggle\" === i, i === (g ? \"hide\" : \"show\")) {\n if (\"show\" !== i || !v || void 0 === v[r]) continue;\n g = !0;\n }\n\n d[r] = v && v[r] || S.style(e, r);\n }\n }\n\n if ((u = !S.isEmptyObject(t)) || !S.isEmptyObject(d)) for (r in f && 1 === e.nodeType && (n.overflow = [h.overflow, h.overflowX, h.overflowY], null == (l = v && v.display) && (l = Y.get(e, \"display\")), \"none\" === (c = S.css(e, \"display\")) && (l ? c = l : (le([e], !0), l = e.style.display || l, c = S.css(e, \"display\"), le([e]))), (\"inline\" === c || \"inline-block\" === c && null != l) && \"none\" === S.css(e, \"float\") && (u || (p.done(function () {\n h.display = l;\n }), null == l && (c = h.display, l = \"none\" === c ? \"\" : c)), h.display = \"inline-block\")), n.overflow && (h.overflow = \"hidden\", p.always(function () {\n h.overflow = n.overflow[0], h.overflowX = n.overflow[1], h.overflowY = n.overflow[2];\n })), u = !1, d) {\n u || (v ? \"hidden\" in v && (g = v.hidden) : v = Y.access(e, \"fxshow\", {\n display: l\n }), o && (v.hidden = !g), g && le([e], !0), p.done(function () {\n for (r in g || le([e]), Y.remove(e, \"fxshow\"), d) {\n S.style(e, r, d[r]);\n }\n })), u = ct(g ? v[r] : 0, r, p), r in v || (v[r] = u.start, g && (u.end = u.start, u.start = 0));\n }\n }],\n prefilter: function prefilter(e, t) {\n t ? ft.prefilters.unshift(e) : ft.prefilters.push(e);\n }\n }), S.speed = function (e, t, n) {\n var r = e && \"object\" == typeof e ? S.extend({}, e) : {\n complete: n || !n && t || m(e) && e,\n duration: e,\n easing: n && t || t && !m(t) && t\n };\n return S.fx.off ? r.duration = 0 : \"number\" != typeof r.duration && (r.duration in S.fx.speeds ? r.duration = S.fx.speeds[r.duration] : r.duration = S.fx.speeds._default), null != r.queue && !0 !== r.queue || (r.queue = \"fx\"), r.old = r.complete, r.complete = function () {\n m(r.old) && r.old.call(this), r.queue && S.dequeue(this, r.queue);\n }, r;\n }, S.fn.extend({\n fadeTo: function fadeTo(e, t, n, r) {\n return this.filter(ae).css(\"opacity\", 0).show().end().animate({\n opacity: t\n }, e, n, r);\n },\n animate: function animate(t, e, n, r) {\n var i = S.isEmptyObject(t),\n o = S.speed(e, n, r),\n a = function a() {\n var e = ft(this, S.extend({}, t), o);\n (i || Y.get(this, \"finish\")) && e.stop(!0);\n };\n\n return a.finish = a, i || !1 === o.queue ? this.each(a) : this.queue(o.queue, a);\n },\n stop: function stop(i, e, o) {\n var a = function a(e) {\n var t = e.stop;\n delete e.stop, t(o);\n };\n\n return \"string\" != typeof i && (o = e, e = i, i = void 0), e && this.queue(i || \"fx\", []), this.each(function () {\n var e = !0,\n t = null != i && i + \"queueHooks\",\n n = S.timers,\n r = Y.get(this);\n if (t) r[t] && r[t].stop && a(r[t]);else for (t in r) {\n r[t] && r[t].stop && at.test(t) && a(r[t]);\n }\n\n for (t = n.length; t--;) {\n n[t].elem !== this || null != i && n[t].queue !== i || (n[t].anim.stop(o), e = !1, n.splice(t, 1));\n }\n\n !e && o || S.dequeue(this, i);\n });\n },\n finish: function finish(a) {\n return !1 !== a && (a = a || \"fx\"), this.each(function () {\n var e,\n t = Y.get(this),\n n = t[a + \"queue\"],\n r = t[a + \"queueHooks\"],\n i = S.timers,\n o = n ? n.length : 0;\n\n for (t.finish = !0, S.queue(this, a, []), r && r.stop && r.stop.call(this, !0), e = i.length; e--;) {\n i[e].elem === this && i[e].queue === a && (i[e].anim.stop(!0), i.splice(e, 1));\n }\n\n for (e = 0; e < o; e++) {\n n[e] && n[e].finish && n[e].finish.call(this);\n }\n\n delete t.finish;\n });\n }\n }), S.each([\"toggle\", \"show\", \"hide\"], function (e, r) {\n var i = S.fn[r];\n\n S.fn[r] = function (e, t, n) {\n return null == e || \"boolean\" == typeof e ? i.apply(this, arguments) : this.animate(lt(r, !0), e, t, n);\n };\n }), S.each({\n slideDown: lt(\"show\"),\n slideUp: lt(\"hide\"),\n slideToggle: lt(\"toggle\"),\n fadeIn: {\n opacity: \"show\"\n },\n fadeOut: {\n opacity: \"hide\"\n },\n fadeToggle: {\n opacity: \"toggle\"\n }\n }, function (e, r) {\n S.fn[e] = function (e, t, n) {\n return this.animate(r, e, t, n);\n };\n }), S.timers = [], S.fx.tick = function () {\n var e,\n t = 0,\n n = S.timers;\n\n for (tt = Date.now(); t < n.length; t++) {\n (e = n[t])() || n[t] !== e || n.splice(t--, 1);\n }\n\n n.length || S.fx.stop(), tt = void 0;\n }, S.fx.timer = function (e) {\n S.timers.push(e), S.fx.start();\n }, S.fx.interval = 13, S.fx.start = function () {\n nt || (nt = !0, st());\n }, S.fx.stop = function () {\n nt = null;\n }, S.fx.speeds = {\n slow: 600,\n fast: 200,\n _default: 400\n }, S.fn.delay = function (r, e) {\n return r = S.fx && S.fx.speeds[r] || r, e = e || \"fx\", this.queue(e, function (e, t) {\n var n = C.setTimeout(e, r);\n\n t.stop = function () {\n C.clearTimeout(n);\n };\n });\n }, rt = E.createElement(\"input\"), it = E.createElement(\"select\").appendChild(E.createElement(\"option\")), rt.type = \"checkbox\", y.checkOn = \"\" !== rt.value, y.optSelected = it.selected, (rt = E.createElement(\"input\")).value = \"t\", rt.type = \"radio\", y.radioValue = \"t\" === rt.value;\n var pt,\n dt = S.expr.attrHandle;\n S.fn.extend({\n attr: function attr(e, t) {\n return $(this, S.attr, e, t, 1 < arguments.length);\n },\n removeAttr: function removeAttr(e) {\n return this.each(function () {\n S.removeAttr(this, e);\n });\n }\n }), S.extend({\n attr: function attr(e, t, n) {\n var r,\n i,\n o = e.nodeType;\n if (3 !== o && 8 !== o && 2 !== o) return \"undefined\" == typeof e.getAttribute ? S.prop(e, t, n) : (1 === o && S.isXMLDoc(e) || (i = S.attrHooks[t.toLowerCase()] || (S.expr.match.bool.test(t) ? pt : void 0)), void 0 !== n ? null === n ? void S.removeAttr(e, t) : i && \"set\" in i && void 0 !== (r = i.set(e, n, t)) ? r : (e.setAttribute(t, n + \"\"), n) : i && \"get\" in i && null !== (r = i.get(e, t)) ? r : null == (r = S.find.attr(e, t)) ? void 0 : r);\n },\n attrHooks: {\n type: {\n set: function set(e, t) {\n if (!y.radioValue && \"radio\" === t && A(e, \"input\")) {\n var n = e.value;\n return e.setAttribute(\"type\", t), n && (e.value = n), t;\n }\n }\n }\n },\n removeAttr: function removeAttr(e, t) {\n var n,\n r = 0,\n i = t && t.match(P);\n if (i && 1 === e.nodeType) while (n = i[r++]) {\n e.removeAttribute(n);\n }\n }\n }), pt = {\n set: function set(e, t, n) {\n return !1 === t ? S.removeAttr(e, n) : e.setAttribute(n, n), n;\n }\n }, S.each(S.expr.match.bool.source.match(/\\w+/g), function (e, t) {\n var a = dt[t] || S.find.attr;\n\n dt[t] = function (e, t, n) {\n var r,\n i,\n o = t.toLowerCase();\n return n || (i = dt[o], dt[o] = r, r = null != a(e, t, n) ? o : null, dt[o] = i), r;\n };\n });\n var ht = /^(?:input|select|textarea|button)$/i,\n gt = /^(?:a|area)$/i;\n\n function vt(e) {\n return (e.match(P) || []).join(\" \");\n }\n\n function yt(e) {\n return e.getAttribute && e.getAttribute(\"class\") || \"\";\n }\n\n function mt(e) {\n return Array.isArray(e) ? e : \"string\" == typeof e && e.match(P) || [];\n }\n\n S.fn.extend({\n prop: function prop(e, t) {\n return $(this, S.prop, e, t, 1 < arguments.length);\n },\n removeProp: function removeProp(e) {\n return this.each(function () {\n delete this[S.propFix[e] || e];\n });\n }\n }), S.extend({\n prop: function prop(e, t, n) {\n var r,\n i,\n o = e.nodeType;\n if (3 !== o && 8 !== o && 2 !== o) return 1 === o && S.isXMLDoc(e) || (t = S.propFix[t] || t, i = S.propHooks[t]), void 0 !== n ? i && \"set\" in i && void 0 !== (r = i.set(e, n, t)) ? r : e[t] = n : i && \"get\" in i && null !== (r = i.get(e, t)) ? r : e[t];\n },\n propHooks: {\n tabIndex: {\n get: function get(e) {\n var t = S.find.attr(e, \"tabindex\");\n return t ? parseInt(t, 10) : ht.test(e.nodeName) || gt.test(e.nodeName) && e.href ? 0 : -1;\n }\n }\n },\n propFix: {\n \"for\": \"htmlFor\",\n \"class\": \"className\"\n }\n }), y.optSelected || (S.propHooks.selected = {\n get: function get(e) {\n var t = e.parentNode;\n return t && t.parentNode && t.parentNode.selectedIndex, null;\n },\n set: function set(e) {\n var t = e.parentNode;\n t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex);\n }\n }), S.each([\"tabIndex\", \"readOnly\", \"maxLength\", \"cellSpacing\", \"cellPadding\", \"rowSpan\", \"colSpan\", \"useMap\", \"frameBorder\", \"contentEditable\"], function () {\n S.propFix[this.toLowerCase()] = this;\n }), S.fn.extend({\n addClass: function addClass(t) {\n var e,\n n,\n r,\n i,\n o,\n a,\n s,\n u = 0;\n if (m(t)) return this.each(function (e) {\n S(this).addClass(t.call(this, e, yt(this)));\n });\n if ((e = mt(t)).length) while (n = this[u++]) {\n if (i = yt(n), r = 1 === n.nodeType && \" \" + vt(i) + \" \") {\n a = 0;\n\n while (o = e[a++]) {\n r.indexOf(\" \" + o + \" \") < 0 && (r += o + \" \");\n }\n\n i !== (s = vt(r)) && n.setAttribute(\"class\", s);\n }\n }\n return this;\n },\n removeClass: function removeClass(t) {\n var e,\n n,\n r,\n i,\n o,\n a,\n s,\n u = 0;\n if (m(t)) return this.each(function (e) {\n S(this).removeClass(t.call(this, e, yt(this)));\n });\n if (!arguments.length) return this.attr(\"class\", \"\");\n if ((e = mt(t)).length) while (n = this[u++]) {\n if (i = yt(n), r = 1 === n.nodeType && \" \" + vt(i) + \" \") {\n a = 0;\n\n while (o = e[a++]) {\n while (-1 < r.indexOf(\" \" + o + \" \")) {\n r = r.replace(\" \" + o + \" \", \" \");\n }\n }\n\n i !== (s = vt(r)) && n.setAttribute(\"class\", s);\n }\n }\n return this;\n },\n toggleClass: function toggleClass(i, t) {\n var o = typeof i,\n a = \"string\" === o || Array.isArray(i);\n return \"boolean\" == typeof t && a ? t ? this.addClass(i) : this.removeClass(i) : m(i) ? this.each(function (e) {\n S(this).toggleClass(i.call(this, e, yt(this), t), t);\n }) : this.each(function () {\n var e, t, n, r;\n\n if (a) {\n t = 0, n = S(this), r = mt(i);\n\n while (e = r[t++]) {\n n.hasClass(e) ? n.removeClass(e) : n.addClass(e);\n }\n } else void 0 !== i && \"boolean\" !== o || ((e = yt(this)) && Y.set(this, \"__className__\", e), this.setAttribute && this.setAttribute(\"class\", e || !1 === i ? \"\" : Y.get(this, \"__className__\") || \"\"));\n });\n },\n hasClass: function hasClass(e) {\n var t,\n n,\n r = 0;\n t = \" \" + e + \" \";\n\n while (n = this[r++]) {\n if (1 === n.nodeType && -1 < (\" \" + vt(yt(n)) + \" \").indexOf(t)) return !0;\n }\n\n return !1;\n }\n });\n var xt = /\\r/g;\n S.fn.extend({\n val: function val(n) {\n var r,\n e,\n i,\n t = this[0];\n return arguments.length ? (i = m(n), this.each(function (e) {\n var t;\n 1 === this.nodeType && (null == (t = i ? n.call(this, e, S(this).val()) : n) ? t = \"\" : \"number\" == typeof t ? t += \"\" : Array.isArray(t) && (t = S.map(t, function (e) {\n return null == e ? \"\" : e + \"\";\n })), (r = S.valHooks[this.type] || S.valHooks[this.nodeName.toLowerCase()]) && \"set\" in r && void 0 !== r.set(this, t, \"value\") || (this.value = t));\n })) : t ? (r = S.valHooks[t.type] || S.valHooks[t.nodeName.toLowerCase()]) && \"get\" in r && void 0 !== (e = r.get(t, \"value\")) ? e : \"string\" == typeof (e = t.value) ? e.replace(xt, \"\") : null == e ? \"\" : e : void 0;\n }\n }), S.extend({\n valHooks: {\n option: {\n get: function get(e) {\n var t = S.find.attr(e, \"value\");\n return null != t ? t : vt(S.text(e));\n }\n },\n select: {\n get: function get(e) {\n var t,\n n,\n r,\n i = e.options,\n o = e.selectedIndex,\n a = \"select-one\" === e.type,\n s = a ? null : [],\n u = a ? o + 1 : i.length;\n\n for (r = o < 0 ? u : a ? o : 0; r < u; r++) {\n if (((n = i[r]).selected || r === o) && !n.disabled && (!n.parentNode.disabled || !A(n.parentNode, \"optgroup\"))) {\n if (t = S(n).val(), a) return t;\n s.push(t);\n }\n }\n\n return s;\n },\n set: function set(e, t) {\n var n,\n r,\n i = e.options,\n o = S.makeArray(t),\n a = i.length;\n\n while (a--) {\n ((r = i[a]).selected = -1 < S.inArray(S.valHooks.option.get(r), o)) && (n = !0);\n }\n\n return n || (e.selectedIndex = -1), o;\n }\n }\n }\n }), S.each([\"radio\", \"checkbox\"], function () {\n S.valHooks[this] = {\n set: function set(e, t) {\n if (Array.isArray(t)) return e.checked = -1 < S.inArray(S(e).val(), t);\n }\n }, y.checkOn || (S.valHooks[this].get = function (e) {\n return null === e.getAttribute(\"value\") ? \"on\" : e.value;\n });\n }), y.focusin = \"onfocusin\" in C;\n\n var bt = /^(?:focusinfocus|focusoutblur)$/,\n wt = function wt(e) {\n e.stopPropagation();\n };\n\n S.extend(S.event, {\n trigger: function trigger(e, t, n, r) {\n var i,\n o,\n a,\n s,\n u,\n l,\n c,\n f,\n p = [n || E],\n d = v.call(e, \"type\") ? e.type : e,\n h = v.call(e, \"namespace\") ? e.namespace.split(\".\") : [];\n\n if (o = f = a = n = n || E, 3 !== n.nodeType && 8 !== n.nodeType && !bt.test(d + S.event.triggered) && (-1 < d.indexOf(\".\") && (d = (h = d.split(\".\")).shift(), h.sort()), u = d.indexOf(\":\") < 0 && \"on\" + d, (e = e[S.expando] ? e : new S.Event(d, \"object\" == typeof e && e)).isTrigger = r ? 2 : 3, e.namespace = h.join(\".\"), e.rnamespace = e.namespace ? new RegExp(\"(^|\\\\.)\" + h.join(\"\\\\.(?:.*\\\\.|)\") + \"(\\\\.|$)\") : null, e.result = void 0, e.target || (e.target = n), t = null == t ? [e] : S.makeArray(t, [e]), c = S.event.special[d] || {}, r || !c.trigger || !1 !== c.trigger.apply(n, t))) {\n if (!r && !c.noBubble && !x(n)) {\n for (s = c.delegateType || d, bt.test(s + d) || (o = o.parentNode); o; o = o.parentNode) {\n p.push(o), a = o;\n }\n\n a === (n.ownerDocument || E) && p.push(a.defaultView || a.parentWindow || C);\n }\n\n i = 0;\n\n while ((o = p[i++]) && !e.isPropagationStopped()) {\n f = o, e.type = 1 < i ? s : c.bindType || d, (l = (Y.get(o, \"events\") || Object.create(null))[e.type] && Y.get(o, \"handle\")) && l.apply(o, t), (l = u && o[u]) && l.apply && V(o) && (e.result = l.apply(o, t), !1 === e.result && e.preventDefault());\n }\n\n return e.type = d, r || e.isDefaultPrevented() || c._default && !1 !== c._default.apply(p.pop(), t) || !V(n) || u && m(n[d]) && !x(n) && ((a = n[u]) && (n[u] = null), S.event.triggered = d, e.isPropagationStopped() && f.addEventListener(d, wt), n[d](), e.isPropagationStopped() && f.removeEventListener(d, wt), S.event.triggered = void 0, a && (n[u] = a)), e.result;\n }\n },\n simulate: function simulate(e, t, n) {\n var r = S.extend(new S.Event(), n, {\n type: e,\n isSimulated: !0\n });\n S.event.trigger(r, null, t);\n }\n }), S.fn.extend({\n trigger: function trigger(e, t) {\n return this.each(function () {\n S.event.trigger(e, t, this);\n });\n },\n triggerHandler: function triggerHandler(e, t) {\n var n = this[0];\n if (n) return S.event.trigger(e, t, n, !0);\n }\n }), y.focusin || S.each({\n focus: \"focusin\",\n blur: \"focusout\"\n }, function (n, r) {\n var i = function i(e) {\n S.event.simulate(r, e.target, S.event.fix(e));\n };\n\n S.event.special[r] = {\n setup: function setup() {\n var e = this.ownerDocument || this.document || this,\n t = Y.access(e, r);\n t || e.addEventListener(n, i, !0), Y.access(e, r, (t || 0) + 1);\n },\n teardown: function teardown() {\n var e = this.ownerDocument || this.document || this,\n t = Y.access(e, r) - 1;\n t ? Y.access(e, r, t) : (e.removeEventListener(n, i, !0), Y.remove(e, r));\n }\n };\n });\n var Tt = C.location,\n Ct = {\n guid: Date.now()\n },\n Et = /\\?/;\n\n S.parseXML = function (e) {\n var t;\n if (!e || \"string\" != typeof e) return null;\n\n try {\n t = new C.DOMParser().parseFromString(e, \"text/xml\");\n } catch (e) {\n t = void 0;\n }\n\n return t && !t.getElementsByTagName(\"parsererror\").length || S.error(\"Invalid XML: \" + e), t;\n };\n\n var St = /\\[\\]$/,\n kt = /\\r?\\n/g,\n At = /^(?:submit|button|image|reset|file)$/i,\n Nt = /^(?:input|select|textarea|keygen)/i;\n\n function Dt(n, e, r, i) {\n var t;\n if (Array.isArray(e)) S.each(e, function (e, t) {\n r || St.test(n) ? i(n, t) : Dt(n + \"[\" + (\"object\" == typeof t && null != t ? e : \"\") + \"]\", t, r, i);\n });else if (r || \"object\" !== w(e)) i(n, e);else for (t in e) {\n Dt(n + \"[\" + t + \"]\", e[t], r, i);\n }\n }\n\n S.param = function (e, t) {\n var n,\n r = [],\n i = function i(e, t) {\n var n = m(t) ? t() : t;\n r[r.length] = encodeURIComponent(e) + \"=\" + encodeURIComponent(null == n ? \"\" : n);\n };\n\n if (null == e) return \"\";\n if (Array.isArray(e) || e.jquery && !S.isPlainObject(e)) S.each(e, function () {\n i(this.name, this.value);\n });else for (n in e) {\n Dt(n, e[n], t, i);\n }\n return r.join(\"&\");\n }, S.fn.extend({\n serialize: function serialize() {\n return S.param(this.serializeArray());\n },\n serializeArray: function serializeArray() {\n return this.map(function () {\n var e = S.prop(this, \"elements\");\n return e ? S.makeArray(e) : this;\n }).filter(function () {\n var e = this.type;\n return this.name && !S(this).is(\":disabled\") && Nt.test(this.nodeName) && !At.test(e) && (this.checked || !pe.test(e));\n }).map(function (e, t) {\n var n = S(this).val();\n return null == n ? null : Array.isArray(n) ? S.map(n, function (e) {\n return {\n name: t.name,\n value: e.replace(kt, \"\\r\\n\")\n };\n }) : {\n name: t.name,\n value: n.replace(kt, \"\\r\\n\")\n };\n }).get();\n }\n });\n var jt = /%20/g,\n qt = /#.*$/,\n Lt = /([?&])_=[^&]*/,\n Ht = /^(.*?):[ \\t]*([^\\r\\n]*)$/gm,\n Ot = /^(?:GET|HEAD)$/,\n Pt = /^\\/\\//,\n Rt = {},\n Mt = {},\n It = \"*/\".concat(\"*\"),\n Wt = E.createElement(\"a\");\n\n function Ft(o) {\n return function (e, t) {\n \"string\" != typeof e && (t = e, e = \"*\");\n var n,\n r = 0,\n i = e.toLowerCase().match(P) || [];\n if (m(t)) while (n = i[r++]) {\n \"+\" === n[0] ? (n = n.slice(1) || \"*\", (o[n] = o[n] || []).unshift(t)) : (o[n] = o[n] || []).push(t);\n }\n };\n }\n\n function Bt(t, i, o, a) {\n var s = {},\n u = t === Mt;\n\n function l(e) {\n var r;\n return s[e] = !0, S.each(t[e] || [], function (e, t) {\n var n = t(i, o, a);\n return \"string\" != typeof n || u || s[n] ? u ? !(r = n) : void 0 : (i.dataTypes.unshift(n), l(n), !1);\n }), r;\n }\n\n return l(i.dataTypes[0]) || !s[\"*\"] && l(\"*\");\n }\n\n function $t(e, t) {\n var n,\n r,\n i = S.ajaxSettings.flatOptions || {};\n\n for (n in t) {\n void 0 !== t[n] && ((i[n] ? e : r || (r = {}))[n] = t[n]);\n }\n\n return r && S.extend(!0, e, r), e;\n }\n\n Wt.href = Tt.href, S.extend({\n active: 0,\n lastModified: {},\n etag: {},\n ajaxSettings: {\n url: Tt.href,\n type: \"GET\",\n isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),\n global: !0,\n processData: !0,\n async: !0,\n contentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\n accepts: {\n \"*\": It,\n text: \"text/plain\",\n html: \"text/html\",\n xml: \"application/xml, text/xml\",\n json: \"application/json, text/javascript\"\n },\n contents: {\n xml: /\\bxml\\b/,\n html: /\\bhtml/,\n json: /\\bjson\\b/\n },\n responseFields: {\n xml: \"responseXML\",\n text: \"responseText\",\n json: \"responseJSON\"\n },\n converters: {\n \"* text\": String,\n \"text html\": !0,\n \"text json\": JSON.parse,\n \"text xml\": S.parseXML\n },\n flatOptions: {\n url: !0,\n context: !0\n }\n },\n ajaxSetup: function ajaxSetup(e, t) {\n return t ? $t($t(e, S.ajaxSettings), t) : $t(S.ajaxSettings, e);\n },\n ajaxPrefilter: Ft(Rt),\n ajaxTransport: Ft(Mt),\n ajax: function ajax(e, t) {\n \"object\" == typeof e && (t = e, e = void 0), t = t || {};\n var c,\n f,\n p,\n n,\n d,\n r,\n h,\n g,\n i,\n o,\n v = S.ajaxSetup({}, t),\n y = v.context || v,\n m = v.context && (y.nodeType || y.jquery) ? S(y) : S.event,\n x = S.Deferred(),\n b = S.Callbacks(\"once memory\"),\n w = v.statusCode || {},\n a = {},\n s = {},\n u = \"canceled\",\n T = {\n readyState: 0,\n getResponseHeader: function getResponseHeader(e) {\n var t;\n\n if (h) {\n if (!n) {\n n = {};\n\n while (t = Ht.exec(p)) {\n n[t[1].toLowerCase() + \" \"] = (n[t[1].toLowerCase() + \" \"] || []).concat(t[2]);\n }\n }\n\n t = n[e.toLowerCase() + \" \"];\n }\n\n return null == t ? null : t.join(\", \");\n },\n getAllResponseHeaders: function getAllResponseHeaders() {\n return h ? p : null;\n },\n setRequestHeader: function setRequestHeader(e, t) {\n return null == h && (e = s[e.toLowerCase()] = s[e.toLowerCase()] || e, a[e] = t), this;\n },\n overrideMimeType: function overrideMimeType(e) {\n return null == h && (v.mimeType = e), this;\n },\n statusCode: function statusCode(e) {\n var t;\n if (e) if (h) T.always(e[T.status]);else for (t in e) {\n w[t] = [w[t], e[t]];\n }\n return this;\n },\n abort: function abort(e) {\n var t = e || u;\n return c && c.abort(t), l(0, t), this;\n }\n };\n\n if (x.promise(T), v.url = ((e || v.url || Tt.href) + \"\").replace(Pt, Tt.protocol + \"//\"), v.type = t.method || t.type || v.method || v.type, v.dataTypes = (v.dataType || \"*\").toLowerCase().match(P) || [\"\"], null == v.crossDomain) {\n r = E.createElement(\"a\");\n\n try {\n r.href = v.url, r.href = r.href, v.crossDomain = Wt.protocol + \"//\" + Wt.host != r.protocol + \"//\" + r.host;\n } catch (e) {\n v.crossDomain = !0;\n }\n }\n\n if (v.data && v.processData && \"string\" != typeof v.data && (v.data = S.param(v.data, v.traditional)), Bt(Rt, v, t, T), h) return T;\n\n for (i in (g = S.event && v.global) && 0 == S.active++ && S.event.trigger(\"ajaxStart\"), v.type = v.type.toUpperCase(), v.hasContent = !Ot.test(v.type), f = v.url.replace(qt, \"\"), v.hasContent ? v.data && v.processData && 0 === (v.contentType || \"\").indexOf(\"application/x-www-form-urlencoded\") && (v.data = v.data.replace(jt, \"+\")) : (o = v.url.slice(f.length), v.data && (v.processData || \"string\" == typeof v.data) && (f += (Et.test(f) ? \"&\" : \"?\") + v.data, delete v.data), !1 === v.cache && (f = f.replace(Lt, \"$1\"), o = (Et.test(f) ? \"&\" : \"?\") + \"_=\" + Ct.guid++ + o), v.url = f + o), v.ifModified && (S.lastModified[f] && T.setRequestHeader(\"If-Modified-Since\", S.lastModified[f]), S.etag[f] && T.setRequestHeader(\"If-None-Match\", S.etag[f])), (v.data && v.hasContent && !1 !== v.contentType || t.contentType) && T.setRequestHeader(\"Content-Type\", v.contentType), T.setRequestHeader(\"Accept\", v.dataTypes[0] && v.accepts[v.dataTypes[0]] ? v.accepts[v.dataTypes[0]] + (\"*\" !== v.dataTypes[0] ? \", \" + It + \"; q=0.01\" : \"\") : v.accepts[\"*\"]), v.headers) {\n T.setRequestHeader(i, v.headers[i]);\n }\n\n if (v.beforeSend && (!1 === v.beforeSend.call(y, T, v) || h)) return T.abort();\n\n if (u = \"abort\", b.add(v.complete), T.done(v.success), T.fail(v.error), c = Bt(Mt, v, t, T)) {\n if (T.readyState = 1, g && m.trigger(\"ajaxSend\", [T, v]), h) return T;\n v.async && 0 < v.timeout && (d = C.setTimeout(function () {\n T.abort(\"timeout\");\n }, v.timeout));\n\n try {\n h = !1, c.send(a, l);\n } catch (e) {\n if (h) throw e;\n l(-1, e);\n }\n } else l(-1, \"No Transport\");\n\n function l(e, t, n, r) {\n var i,\n o,\n a,\n s,\n u,\n l = t;\n h || (h = !0, d && C.clearTimeout(d), c = void 0, p = r || \"\", T.readyState = 0 < e ? 4 : 0, i = 200 <= e && e < 300 || 304 === e, n && (s = function (e, t, n) {\n var r,\n i,\n o,\n a,\n s = e.contents,\n u = e.dataTypes;\n\n while (\"*\" === u[0]) {\n u.shift(), void 0 === r && (r = e.mimeType || t.getResponseHeader(\"Content-Type\"));\n }\n\n if (r) for (i in s) {\n if (s[i] && s[i].test(r)) {\n u.unshift(i);\n break;\n }\n }\n if (u[0] in n) o = u[0];else {\n for (i in n) {\n if (!u[0] || e.converters[i + \" \" + u[0]]) {\n o = i;\n break;\n }\n\n a || (a = i);\n }\n\n o = o || a;\n }\n if (o) return o !== u[0] && u.unshift(o), n[o];\n }(v, T, n)), !i && -1 < S.inArray(\"script\", v.dataTypes) && (v.converters[\"text script\"] = function () {}), s = function (e, t, n, r) {\n var i,\n o,\n a,\n s,\n u,\n l = {},\n c = e.dataTypes.slice();\n if (c[1]) for (a in e.converters) {\n l[a.toLowerCase()] = e.converters[a];\n }\n o = c.shift();\n\n while (o) {\n if (e.responseFields[o] && (n[e.responseFields[o]] = t), !u && r && e.dataFilter && (t = e.dataFilter(t, e.dataType)), u = o, o = c.shift()) if (\"*\" === o) o = u;else if (\"*\" !== u && u !== o) {\n if (!(a = l[u + \" \" + o] || l[\"* \" + o])) for (i in l) {\n if ((s = i.split(\" \"))[1] === o && (a = l[u + \" \" + s[0]] || l[\"* \" + s[0]])) {\n !0 === a ? a = l[i] : !0 !== l[i] && (o = s[0], c.unshift(s[1]));\n break;\n }\n }\n if (!0 !== a) if (a && e[\"throws\"]) t = a(t);else try {\n t = a(t);\n } catch (e) {\n return {\n state: \"parsererror\",\n error: a ? e : \"No conversion from \" + u + \" to \" + o\n };\n }\n }\n }\n\n return {\n state: \"success\",\n data: t\n };\n }(v, s, T, i), i ? (v.ifModified && ((u = T.getResponseHeader(\"Last-Modified\")) && (S.lastModified[f] = u), (u = T.getResponseHeader(\"etag\")) && (S.etag[f] = u)), 204 === e || \"HEAD\" === v.type ? l = \"nocontent\" : 304 === e ? l = \"notmodified\" : (l = s.state, o = s.data, i = !(a = s.error))) : (a = l, !e && l || (l = \"error\", e < 0 && (e = 0))), T.status = e, T.statusText = (t || l) + \"\", i ? x.resolveWith(y, [o, l, T]) : x.rejectWith(y, [T, l, a]), T.statusCode(w), w = void 0, g && m.trigger(i ? \"ajaxSuccess\" : \"ajaxError\", [T, v, i ? o : a]), b.fireWith(y, [T, l]), g && (m.trigger(\"ajaxComplete\", [T, v]), --S.active || S.event.trigger(\"ajaxStop\")));\n }\n\n return T;\n },\n getJSON: function getJSON(e, t, n) {\n return S.get(e, t, n, \"json\");\n },\n getScript: function getScript(e, t) {\n return S.get(e, void 0, t, \"script\");\n }\n }), S.each([\"get\", \"post\"], function (e, i) {\n S[i] = function (e, t, n, r) {\n return m(t) && (r = r || n, n = t, t = void 0), S.ajax(S.extend({\n url: e,\n type: i,\n dataType: r,\n data: t,\n success: n\n }, S.isPlainObject(e) && e));\n };\n }), S.ajaxPrefilter(function (e) {\n var t;\n\n for (t in e.headers) {\n \"content-type\" === t.toLowerCase() && (e.contentType = e.headers[t] || \"\");\n }\n }), S._evalUrl = function (e, t, n) {\n return S.ajax({\n url: e,\n type: \"GET\",\n dataType: \"script\",\n cache: !0,\n async: !1,\n global: !1,\n converters: {\n \"text script\": function textScript() {}\n },\n dataFilter: function dataFilter(e) {\n S.globalEval(e, t, n);\n }\n });\n }, S.fn.extend({\n wrapAll: function wrapAll(e) {\n var t;\n return this[0] && (m(e) && (e = e.call(this[0])), t = S(e, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && t.insertBefore(this[0]), t.map(function () {\n var e = this;\n\n while (e.firstElementChild) {\n e = e.firstElementChild;\n }\n\n return e;\n }).append(this)), this;\n },\n wrapInner: function wrapInner(n) {\n return m(n) ? this.each(function (e) {\n S(this).wrapInner(n.call(this, e));\n }) : this.each(function () {\n var e = S(this),\n t = e.contents();\n t.length ? t.wrapAll(n) : e.append(n);\n });\n },\n wrap: function wrap(t) {\n var n = m(t);\n return this.each(function (e) {\n S(this).wrapAll(n ? t.call(this, e) : t);\n });\n },\n unwrap: function unwrap(e) {\n return this.parent(e).not(\"body\").each(function () {\n S(this).replaceWith(this.childNodes);\n }), this;\n }\n }), S.expr.pseudos.hidden = function (e) {\n return !S.expr.pseudos.visible(e);\n }, S.expr.pseudos.visible = function (e) {\n return !!(e.offsetWidth || e.offsetHeight || e.getClientRects().length);\n }, S.ajaxSettings.xhr = function () {\n try {\n return new C.XMLHttpRequest();\n } catch (e) {}\n };\n var _t = {\n 0: 200,\n 1223: 204\n },\n zt = S.ajaxSettings.xhr();\n y.cors = !!zt && \"withCredentials\" in zt, y.ajax = zt = !!zt, S.ajaxTransport(function (i) {\n var _o, a;\n\n if (y.cors || zt && !i.crossDomain) return {\n send: function send(e, t) {\n var n,\n r = i.xhr();\n if (r.open(i.type, i.url, i.async, i.username, i.password), i.xhrFields) for (n in i.xhrFields) {\n r[n] = i.xhrFields[n];\n }\n\n for (n in i.mimeType && r.overrideMimeType && r.overrideMimeType(i.mimeType), i.crossDomain || e[\"X-Requested-With\"] || (e[\"X-Requested-With\"] = \"XMLHttpRequest\"), e) {\n r.setRequestHeader(n, e[n]);\n }\n\n _o = function o(e) {\n return function () {\n _o && (_o = a = r.onload = r.onerror = r.onabort = r.ontimeout = r.onreadystatechange = null, \"abort\" === e ? r.abort() : \"error\" === e ? \"number\" != typeof r.status ? t(0, \"error\") : t(r.status, r.statusText) : t(_t[r.status] || r.status, r.statusText, \"text\" !== (r.responseType || \"text\") || \"string\" != typeof r.responseText ? {\n binary: r.response\n } : {\n text: r.responseText\n }, r.getAllResponseHeaders()));\n };\n }, r.onload = _o(), a = r.onerror = r.ontimeout = _o(\"error\"), void 0 !== r.onabort ? r.onabort = a : r.onreadystatechange = function () {\n 4 === r.readyState && C.setTimeout(function () {\n _o && a();\n });\n }, _o = _o(\"abort\");\n\n try {\n r.send(i.hasContent && i.data || null);\n } catch (e) {\n if (_o) throw e;\n }\n },\n abort: function abort() {\n _o && _o();\n }\n };\n }), S.ajaxPrefilter(function (e) {\n e.crossDomain && (e.contents.script = !1);\n }), S.ajaxSetup({\n accepts: {\n script: \"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"\n },\n contents: {\n script: /\\b(?:java|ecma)script\\b/\n },\n converters: {\n \"text script\": function textScript(e) {\n return S.globalEval(e), e;\n }\n }\n }), S.ajaxPrefilter(\"script\", function (e) {\n void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = \"GET\");\n }), S.ajaxTransport(\"script\", function (n) {\n var r, _i;\n\n if (n.crossDomain || n.scriptAttrs) return {\n send: function send(e, t) {\n r = S(\"