{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/js/constants/index.js","webpack:///./src/js/services/logger.js","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./src/js/services/cookie.js","webpack:///./node_modules/@sentry/core/esm/integrations/functiontostring.js","webpack:///./node_modules/@sentry/core/esm/integrations/inboundfilters.js","webpack:///./node_modules/@sentry/utils/esm/polyfill.js","webpack:///./node_modules/@sentry/utils/esm/error.js","webpack:///./node_modules/@sentry/utils/esm/dsn.js","webpack:///./node_modules/@sentry/core/esm/api.js","webpack:///./node_modules/@sentry/core/esm/integration.js","webpack:///./node_modules/@sentry/core/esm/baseclient.js","webpack:///./node_modules/@sentry/types/esm/status.js","webpack:///./node_modules/@sentry/core/esm/transports/noop.js","webpack:///./node_modules/@sentry/core/esm/basebackend.js","webpack:///./node_modules/@sentry/utils/esm/supports.js","webpack:///./node_modules/@sentry/browser/esm/tracekit.js","webpack:///./node_modules/@sentry/browser/esm/parsers.js","webpack:///./node_modules/@sentry/browser/esm/eventbuilder.js","webpack:///./node_modules/@sentry/utils/esm/promisebuffer.js","webpack:///./node_modules/@sentry/browser/esm/transports/base.js","webpack:///./node_modules/@sentry/browser/esm/transports/fetch.js","webpack:///./node_modules/@sentry/browser/esm/transports/xhr.js","webpack:///./node_modules/@sentry/browser/esm/backend.js","webpack:///./node_modules/@sentry/browser/esm/client.js","webpack:///./node_modules/@sentry/browser/esm/version.js","webpack:///./node_modules/@sentry/browser/esm/helpers.js","webpack:///./node_modules/@sentry/browser/esm/integrations/trycatch.js","webpack:///./node_modules/@sentry/utils/esm/instrument.js","webpack:///./node_modules/@sentry/browser/esm/integrations/breadcrumbs.js","webpack:///./node_modules/@sentry/browser/esm/integrations/globalhandlers.js","webpack:///./node_modules/@sentry/browser/esm/integrations/linkederrors.js","webpack:///./node_modules/@sentry/browser/esm/integrations/useragent.js","webpack:///./node_modules/@sentry/browser/esm/sdk.js","webpack:///./node_modules/@sentry/core/esm/sdk.js","webpack:///./src/js/utils/randomString.js","webpack:///./src/js/services/DOT.js","webpack:///./src/js/services/measurement.js","webpack:///./src/js/services/consent.js","webpack:///./node_modules/@sentry/utils/esm/misc.js","webpack:///./node_modules/@sentry/utils/esm/is.js","webpack:///./node_modules/consent-string/dist/index.js","webpack:///./node_modules/@sentry/minimal/esm/index.js","webpack:///./src/js/vendors/index.js","webpack:///./node_modules/d/index.js","webpack:///./src/js/services/globalCookie.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./src/js/utils/scriptParams.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/@sentry/utils/esm/object.js","webpack:///./src/js/services/storage.js","webpack:///./src/js/utils/checks.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./src/js/utils/urlParams.js","webpack:///./src/js/services/profil.js","webpack:///./node_modules/es5-ext/object/valid-value.js","webpack:///./node_modules/classnames/index.js","webpack:///./src/js/purposes/index.js","webpack:///./src/js/services/formData.js","webpack:///./node_modules/es5-ext/object/valid-callable.js","webpack:///./node_modules/es6-symbol/index.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./src/js/utils/sbrowser.js","webpack:///./node_modules/@sentry/utils/esm/logger.js","webpack:///./src/js/vendors/list.js","webpack:///./node_modules/@sentry/utils/esm/string.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/es5-ext/object/is-value.js","webpack:///./node_modules/es5-ext/object/set-prototype-of/index.js","webpack:///./node_modules/type/value/is.js","webpack:///./src/js/translations/cs.js","webpack:///./src/js/translations/en.js","webpack:///./src/js/translations/index.js","webpack:///./src/js/services/customEvents.js","webpack:///./node_modules/svelte/internal/index.mjs","webpack:///./node_modules/svelte/easing/index.mjs","webpack:///./node_modules/svelte/transition/index.mjs","webpack:///./src/js/components/wrappers/DialogWrapper.svelte","webpack:///./src/js/components/wrappers/ButtonsWrapper.svelte","webpack:///./src/js/components/elements/CloseIcon.svelte","webpack:///./src/js/components/elements/Button.svelte","webpack:///./src/js/components/pages/PageIntro.svelte","webpack:///./src/js/components/elements/Checkbox.svelte","webpack:///./src/js/components/elements/Collapse.svelte","webpack:///./src/js/components/elements/Purpose.svelte","webpack:///./src/js/components/pages/PagePurposes.svelte","webpack:///./src/js/components/elements/Vendor.svelte","webpack:///./src/js/components/pages/PageVendors.svelte","webpack:///./src/js/components/Dialog.svelte","webpack:///./src/js/services/dialog.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/@sentry/utils/esm/syncpromise.js","webpack:///./src/js/utils/host.js","webpack:///./src/js/services/redirect.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/entry-unbind.js","webpack:///./node_modules/core-js/internals/iterators.js","webpack:///./node_modules/es5-ext/function/is-arguments.js","webpack:///./node_modules/es5-ext/string/is-string.js","webpack:///./node_modules/ext/global-this/index.js","webpack:///./node_modules/es6-iterator/index.js","webpack:///./node_modules/es-abstract/GetIntrinsic.js","webpack:///./src/js/services/cmp2.js","webpack:///./node_modules/@sentry/hub/esm/scope.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/core-js/internals/function-bind-context.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/es5-ext/array/#/clear.js","webpack:///./node_modules/type/object/is.js","webpack:///./node_modules/es5-ext/object/assign/index.js","webpack:///./node_modules/es5-ext/string/#/contains/index.js","webpack:///./node_modules/es6-iterator/valid-iterable.js","webpack:///./node_modules/function-bind/index.js","webpack:///./src/js/services/cmp.js","webpack:///./src/js/publicAPI/index.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/core-js/internals/add-to-unscopables.js","webpack:///./node_modules/core-js/internals/object-create.js","webpack:///./node_modules/core-js/internals/array-method-uses-to-length.js","webpack:///./node_modules/core-js/internals/iterators-core.js","webpack:///./node_modules/core-js/internals/object-get-prototype-of.js","webpack:///./node_modules/core-js/internals/set-to-string-tag.js","webpack:///./node_modules/core-js/internals/not-a-regexp.js","webpack:///./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/es5-ext/global.js","webpack:///./node_modules/es5-ext/array/#/e-index-of.js","webpack:///./node_modules/es5-ext/number/to-pos-integer.js","webpack:///./node_modules/es5-ext/object/set-prototype-of/is-implemented.js","webpack:///./node_modules/es5-ext/object/set-prototype-of/shim.js","webpack:///./node_modules/type/plain-function/is.js","webpack:///./node_modules/es5-ext/object/normalize-options.js","webpack:///./node_modules/event-emitter/index.js","webpack:///./node_modules/es6-set/node_modules/es6-symbol/index.js","webpack:///./node_modules/es6-symbol/validate-symbol.js","webpack:///./node_modules/es6-iterator/for-of.js","webpack:///./node_modules/type/lib/resolve-exception.js","webpack:///./node_modules/consent-string/dist/encode.js","webpack:///./node_modules/consent-string/dist/utils/bits.js","webpack:///./node_modules/consent-string/dist/utils/definitions.js","webpack:///./node_modules/consent-string/dist/decode.js","webpack:///./node_modules/es-abstract/helpers/callBind.js","webpack:///./node_modules/define-properties/index.js","webpack:///./node_modules/object-keys/isArguments.js","webpack:///./node_modules/string.prototype.trim/implementation.js","webpack:///./node_modules/string.prototype.trim/polyfill.js","webpack:///./node_modules/promise-polyfill/src/index.js","webpack:///./node_modules/promise-polyfill/src/finally.js","webpack:///./node_modules/es6-set/implement.js","webpack:///./node_modules/es6-map/implement.js","webpack:///./node_modules/node-polyglot/index.js","webpack:///./node_modules/@sentry/utils/esm/memo.js","webpack:///./src/js/polyfills/index.js","webpack:///./node_modules/custom-event-polyfill/polyfill.js","webpack:///./node_modules/core-js/features/array/find.js","webpack:///./node_modules/core-js/es/array/find.js","webpack:///./node_modules/core-js/modules/es.array.find.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/internals/array-iteration.js","webpack:///./node_modules/core-js/internals/a-function.js","webpack:///./node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/core-js/internals/is-array.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/core-js/internals/object-define-properties.js","webpack:///./node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/core-js/internals/html.js","webpack:///./node_modules/core-js/features/array/from.js","webpack:///./node_modules/core-js/es/array/from.js","webpack:///./node_modules/core-js/modules/es.string.iterator.js","webpack:///./node_modules/core-js/internals/string-multibyte.js","webpack:///./node_modules/core-js/internals/define-iterator.js","webpack:///./node_modules/core-js/internals/create-iterator-constructor.js","webpack:///./node_modules/core-js/internals/correct-prototype-getter.js","webpack:///./node_modules/core-js/internals/object-set-prototype-of.js","webpack:///./node_modules/core-js/internals/a-possible-prototype.js","webpack:///./node_modules/core-js/modules/es.array.from.js","webpack:///./node_modules/core-js/internals/array-from.js","webpack:///./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack:///./node_modules/core-js/internals/is-array-iterator-method.js","webpack:///./node_modules/core-js/internals/create-property.js","webpack:///./node_modules/core-js/internals/get-iterator-method.js","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack:///./node_modules/core-js/features/array/includes.js","webpack:///./node_modules/core-js/es/array/includes.js","webpack:///./node_modules/core-js/modules/es.array.includes.js","webpack:///./node_modules/core-js/features/string/ends-with.js","webpack:///./node_modules/core-js/es/string/ends-with.js","webpack:///./node_modules/core-js/modules/es.string.ends-with.js","webpack:///./node_modules/core-js/internals/is-regexp.js","webpack:///./node_modules/core-js/features/string/starts-with.js","webpack:///./node_modules/core-js/es/string/starts-with.js","webpack:///./node_modules/core-js/modules/es.string.starts-with.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/es6-set/is-implemented.js","webpack:///./node_modules/es6-set/polyfill.js","webpack:///./node_modules/es5-ext/function/noop.js","webpack:///./node_modules/es5-ext/number/is-nan/index.js","webpack:///./node_modules/es5-ext/number/is-nan/is-implemented.js","webpack:///./node_modules/es5-ext/number/is-nan/shim.js","webpack:///./node_modules/es5-ext/number/to-integer.js","webpack:///./node_modules/es5-ext/math/sign/index.js","webpack:///./node_modules/es5-ext/math/sign/is-implemented.js","webpack:///./node_modules/es5-ext/math/sign/shim.js","webpack:///./node_modules/es5-ext/object/is-object.js","webpack:///./node_modules/es5-ext/object/create.js","webpack:///./node_modules/type/function/is.js","webpack:///./node_modules/type/prototype/is.js","webpack:///./node_modules/es5-ext/object/assign/is-implemented.js","webpack:///./node_modules/es5-ext/object/assign/shim.js","webpack:///./node_modules/es5-ext/object/keys/index.js","webpack:///./node_modules/es5-ext/object/keys/is-implemented.js","webpack:///./node_modules/es5-ext/object/keys/shim.js","webpack:///./node_modules/es5-ext/string/#/contains/is-implemented.js","webpack:///./node_modules/es5-ext/string/#/contains/shim.js","webpack:///./node_modules/es6-set/node_modules/es6-symbol/is-implemented.js","webpack:///./node_modules/es6-set/node_modules/es6-symbol/polyfill.js","webpack:///./node_modules/es6-set/node_modules/es6-symbol/validate-symbol.js","webpack:///./node_modules/es6-set/node_modules/es6-symbol/is-symbol.js","webpack:///./node_modules/es6-iterator/is-iterable.js","webpack:///./node_modules/es6-symbol/is-implemented.js","webpack:///./node_modules/ext/global-this/is-implemented.js","webpack:///./node_modules/ext/global-this/implementation.js","webpack:///./node_modules/es6-symbol/polyfill.js","webpack:///./node_modules/es6-symbol/is-symbol.js","webpack:///./node_modules/es6-symbol/lib/private/generate-name.js","webpack:///./node_modules/es6-symbol/lib/private/setup/standard-symbols.js","webpack:///./node_modules/es6-symbol/lib/private/setup/symbol-registry.js","webpack:///./node_modules/es6-iterator/get.js","webpack:///./node_modules/es6-iterator/array.js","webpack:///./node_modules/d/auto-bind.js","webpack:///./node_modules/type/value/ensure.js","webpack:///./node_modules/type/string/coerce.js","webpack:///./node_modules/type/lib/to-short-string.js","webpack:///./node_modules/type/lib/safe-to-string.js","webpack:///./node_modules/type/plain-function/ensure.js","webpack:///./node_modules/es5-ext/object/copy.js","webpack:///./node_modules/es5-ext/array/from/index.js","webpack:///./node_modules/es5-ext/array/from/is-implemented.js","webpack:///./node_modules/es5-ext/array/from/shim.js","webpack:///./node_modules/es5-ext/function/is-function.js","webpack:///./node_modules/es5-ext/object/map.js","webpack:///./node_modules/es5-ext/object/for-each.js","webpack:///./node_modules/es5-ext/object/_iterate.js","webpack:///./node_modules/es6-iterator/string.js","webpack:///./node_modules/es6-set/lib/iterator.js","webpack:///./node_modules/es6-set/is-native-implemented.js","webpack:///./node_modules/es6-map/is-implemented.js","webpack:///./node_modules/es6-map/polyfill.js","webpack:///./node_modules/es6-map/lib/iterator.js","webpack:///./node_modules/es6-map/lib/iterator-kinds.js","webpack:///./node_modules/es5-ext/object/primitive-set.js","webpack:///./node_modules/es6-map/is-native-implemented.js","webpack:///./node_modules/consent-string/dist/consent-string.js","webpack:///./node_modules/base-64/base64.js","webpack:///(webpack)/buildin/module.js","webpack:///(webpack)/buildin/harmony-module.js","webpack:///./node_modules/for-each/index.js","webpack:///./node_modules/is-callable/index.js","webpack:///./node_modules/warning/warning.js","webpack:///./node_modules/has/src/index.js","webpack:///./node_modules/function-bind/implementation.js","webpack:///./node_modules/string.prototype.trim/index.js","webpack:///./node_modules/has-symbols/index.js","webpack:///./node_modules/has-symbols/shams.js","webpack:///./node_modules/object-keys/index.js","webpack:///./node_modules/object-keys/implementation.js","webpack:///./node_modules/es-abstract/5/CheckObjectCoercible.js","webpack:///./node_modules/es-abstract/2019/ToString.js","webpack:///./node_modules/es-abstract/helpers/callBound.js","webpack:///./node_modules/string.prototype.trim/shim.js","webpack:///./src/css/styles.pcss?7ce1","webpack:///./src/css/styles.pcss","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/style-loader/lib/addStyles.js","webpack:///./node_modules/style-loader/lib/urls.js","webpack:///./src/js/utils/webview.js","webpack:///./node_modules/@sentry/hub/esm/hub.js","webpack:///./node_modules/@sentry/types/esm/severity.js","webpack:///./src/js/externalCMP.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","PAGE_INTRO","PAGE_PURPOSES","PAGE_VENDORS","DIALOG_OPENED","DIALOG_CLOSED","DIALOG_EXITED","DIALOG_FAILED","VARIANT","USER_INT","USER_EXT","VENDORS_URL","SSP_SYNC_URL","CMP_DATE","PURPOSE_CONTENT","PURPOSE_ADS","PURPOSE_ID_STORAGE","PURPOSE_ID_PERSONAL","PURPOSE_ID_ADS","PURPOSE_ID_CONTENT","PURPOSE_ID_MEASUREMENT","DEFAULT_LANGUAGE","MISSING_CONSENT","CMP_ID","CMP_VERSION","SEZNAM_VENDOR_ID","LOGGED_USER_PAWLINK","UNLOGGED_USER_PAWLINK","CSS_PAW_SELECTOR","UNLOGGED_USER_BLACKLIST_DOMAIN","SZN_SETTING_PAGES","CMP_SSP_IFRAME_URL","SID_COOKIE_NAME","INTERVAL_24","LASTSHOW_COOKIE_NAME","LASTSHOW_IMAGINARY_NAME","TESTPERSIST_COOKIE_NAME","PROFILERROR_COOKIE_NAME","CONSENT_COOKIE_NAME","window","CONSENT_COOKIE_V2_NAME","SERVERSIDE_REFRESHER_COOKIE","SENTRY_DSN","LOG_STYLES","processQueue","processQueueIds","inDevelopment","loggerMode","process","logger","id","msg","data","component","JSON","error","console","Sentry","message","level","Info","getProcessQueueIds","acc","extendStatics","b","setPrototypeOf","__proto__","Array","__extends","__","this","constructor","__assign","assign","arguments","length","apply","__values","iterator","next","done","TypeError","__read","e","ar","push","__spread","concat","cookieNames","setCookie","expiracyInDays","date","hostname","protocol","expires","cookie","domain","secure","document","getCookie","decodeURIComponent","decodedCookie","_cookie","deleteCookie","existsCookie","resaveCookie","notBrowserSpecific","popCookieNameAndValue","cookieStrings","values","getCookies","cookies","allCookies","cname","removeOldCookie","newCookies","all","timedata1","timedata2","refreshCookies","originalFunctionToString","FunctionToString","setupOnce","Function","toString","args","_i","context","__sentry_original__","DEFAULT_IGNORE_ERRORS","InboundFilters","_options","event","hub","self","getIntegration","client","getClient","clientOptions","getOptions","options","_mergeOptions","_shouldDropEvent","_isSentryError","warn","_isIgnoredError","_isBlacklistedUrl","_getEventFilterUrl","_isWhitelistedUrl","ignoreInternal","exception","type","_oO","ignoreErrors","_getPossibleEventMessages","some","pattern","blacklistUrls","url","whitelistUrls","_a","_b","_c","oO","stacktrace","frames_1","frames","filename","frames_2","obj","proto","prop","_super","SentryError","_newTarget","_this","Error","DSN_REGEX","Dsn","from","_fromString","_fromComponents","_validate","withPassword","host","path","pass","port","projectId","user","str","match","exec","slice","split","join","pop","components","forEach","isNaN","parseInt","API","dsn","_dsnObject","getDsn","getStoreEndpoint","_getBaseUrl","getStoreEndpointPath","getStoreEndpointWithUrlEncodedAuth","auth","sentry_key","sentry_version","getRequestHeaders","clientName","clientVersion","header","getReportDialogEndpoint","dialogOptions","endpoint","encodedOptions","encodeURIComponent","email","installedIntegrations","setupIntegrations","integrations","defaultIntegrations","userIntegrations","isArray","userIntegrationsNames_1","map","pickedIntegrationsNames_1","defaultIntegration","indexOf","userIntegration","integrationsNames","splice","getIntegrationsToSetup","integration","log","setupIntegration","Status","BaseClient","backendClass","_integrations","_processing","_backend","_dsn","captureException","hint","scope","eventId","event_id","_getBackend","eventFromException","then","_processEvent","finalEvent","reason","captureMessage","is","eventFromMessage","captureEvent","flush","timeout","_isClientProcessing","status","clearInterval","interval","getTransport","close","transportFlushed","ready","result","enabled","_isEnabled","resolve","ticked","setInterval","undefined","_prepareEvent","environment","release","dist","maxValueLength","normalizeDepth","prepared","request","_addIntegrations","sdk","applyToEvent","evt","_normalizeEvent","depth","breadcrumbs","contexts","extra","sdkInfo","integrationsArray","keys","beforeSend","sampleRate","Math","random","reject","__sentry__","sendEvent","beforeSendResult","_handleAsyncBeforeSend","originalException","processedEvent","fromHttpCode","code","Success","RateLimit","Invalid","Failed","Unknown","NoopTransport","_","Skipped","BaseBackend","_transport","_setupTransport","_exception","_hint","_message","_level","supportsFetch","Headers","Request","Response","isNativeFetch","func","test","supportsReferrerPolicy","referrerPolicy","gecko","winjs","geckoEval","chromeEval","computeStackTrace","ex","stack","popSize","framesToPop","parts","opera10Regex","opera11Regex","lines","line","element","column","extractMessage","computeStackTraceFromStacktraceProp","popFrames","submatch","isNative","substr","columnNumber","computeStackTraceFromStackProp","failed","exceptionFromStacktrace","prepareFramesForEvent","eventFromStacktrace","localStack","firstFrameFunction","lastFrameFunction","frame","colno","function","in_app","lineno","reverse","eventFromUnknownInput","syntheticException","domException","name_1","eventFromString","rejection","__serialized__","eventFromPlainObject","synthetic","input","attachStacktrace","PromiseBuffer","_limit","_buffer","isReady","add","task","remove","drain","capturedSetTimeout","setTimeout","clearTimeout","BaseTransport","FetchTransport","_disabledUntil","Date","now","Promise","defaultOptions","body","stringify","method","headers","fetch","response","catch","XHRTransport","XMLHttpRequest","onreadystatechange","readyState","getResponseHeader","open","setRequestHeader","send","BrowserBackend","transportOptions","transport","handled","BrowserClient","platform","packages","version","showReportDialog","script","createElement","async","src","onLoad","onload","head","appendChild","ignoreOnError","shouldIgnoreOnError","ignoreNextOnError","wrap","fn","before","__sentry_wrapped__","sentryWrapped","wrappedArguments","arg","handleEvent","addEventProcessor","mechanism","defineProperties","getOwnPropertyDescriptor","configurable","lastHref","TryCatch","_ignoreOnError","_wrapTimeFunction","original","originalCallback","_wrapRAF","callback","handler","_wrapEventTarget","target","global","eventName","err","_wrapXHR","originalSend","xhr","xmlHttpRequestProps","wrapOptions","handlers","instrumented","instrument","originalConsoleLevel","triggerHandlers","instrumentConsole","addEventListener","domEventHandler","keypressEventHandler","innerOriginal","instrumentDOM","xhrproto","originalOpen","__sentry_xhr__","toUpperCase","__sentry_own_request__","commonHandlerData","startTimestamp","status_code","endTimestamp","instrumentXHR","doc","sandbox","hidden","contentWindow","removeChild","supportsNativeFetch","originalFetch","fetchData","getFetchMethod","getFetchUrl","instrumentFetch","chrome","isChromePackagedApp","app","runtime","hasHistoryApi","history","pushState","replaceState","supportsHistory","oldOnPopState","onpopstate","historyReplacementFunction","originalHistoryFunction","to","String","location","href","instrumentHistory","_oldOnErrorHandler","onerror","_oldOnUnhandledRejectionHandler","onunhandledrejection","addInstrumentationHandler","e_1","e_1_1","return","fetchArgs","keypressTimeout","lastCapturedEvent","debounceTimer","debounce","tagName","isContentEditable","Breadcrumbs","dom","sentry","_consoleBreadcrumb","handlerData","breadcrumb","category","fromString","addBreadcrumb","_domBreadcrumb","_xhrBreadcrumb","addSentryBreadcrumb","_fetchBreadcrumb","filterUrl","_historyBreadcrumb","parsedLoc","parsedFrom","parsedTo","relative","serializedData","event_1","parse","GlobalHandlers","_onErrorHandlerInstalled","_onUnhandledRejectionHandlerInstalled","stackTraceLimit","_installGlobalOnErrorHandler","_installGlobalOnUnhandledRejectionHandler","currentHub","hasIntegration","isFailedOwnDelivery","_eventFromIncompleteOnError","_enhanceEventWithInitialFrame","detail","_eventFromIncompleteRejection","groups","LinkedErrors","_key","limit","_handler","linkedErrors","_walkErrorTree","UserAgent","navigator","userAgent","init","window_1","SENTRY_RELEASE","clientClass","debug","enable","bindClient","initAndBind","HASH","count","getRandomString","isStorageSupported","order","inProfile","demoMode","userType","rusId","lazyLoad","serviceVariant","config","service","lazyLoadingEnabled","impress","mousedown","cmp","cmpVersion","action","getConsentCookie","instance","_cfg","ACTION","variant","steps","page","screen","seznamAllowed","contentAllowed","adsAllowed","seznam_allowed","nextShow","stage","initSentry","username","DOT","start","end","submitClick","exit","show","foreignCookie","profileSaved","profileError","getNextShow","setNextShow","webview","isDotUninitialized","cookieSaved","hasEuconsentAlready","hasConsentAlready","setConsentCookie","consent","existsConsentCookie","resaveConsentCookie","isForeignEuconsent","decodeConsentString","saveSettingsToBrowser","euconsent","isNodeEnv","fallbackGlobalObject","getGlobalObject","uuid4","crypto","msCrypto","getRandomValues","arr","Uint16Array","pad","num","v","replace","parseUrl","query","fragment","getEventDescription","consoleSandbox","originalConsole","wrappedLevels","addExceptionTypeValue","addExceptionMechanism","getLocationHref","htmlTreeAsString","elem","currentElem","out","height","len","sepLength","nextStr","_htmlElementAsString","parentNode","el","className","classes","attr","toLowerCase","attrWhitelist","getAttribute","INITIAL_TIME","prevNow","performanceFallback","timeOrigin","crossPlatformPerformance","require","performance","timing","navigationStart","timestampWithMs","parseRetryAfterHeader","headerDelay","headerDate","getFunctionName","isError","wat","isInstanceOf","isErrorEvent","isDOMError","isDOMException","isString","isPrimitive","isPlainObject","isEvent","Event","isElement","Element","isRegExp","isThenable","Boolean","isSyntheticEvent","base","_e","ConsentString","encodeConsentString","callOnHub","setUser","withScope","ERROR_RESPONSE","mergeVendors","allVendors","ourVendors","vendor","relevantVendor","setVendorsToConsent","consentData","vendors","getPreFilledVendors","checked","vendorList","getPreFilledVendorsFromCookie","vendorListPromise","getVendors","loadVendors","getVendorsWithUrls","vendorsWithUrls","isValue","isPlainFunction","normalizeOpts","contains","dscr","w","desc","writable","gs","set","syncIframe","createISyncframe","messageListener","parseSyncIframeResponseDone","getCookieFromGlobalStorage","iframe","setCookieToGlobalStorage","getTcf2FromGlobalStorage","v2","setTcf2ToGlobalStorage","shared","has","uid","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","getScriptParams","scripts","scmpScript","params","paramsObj","param","profilePage","profile","autoOpen","it","check","globalThis","fill","source","replacement","wrapped","_Oo","urlEncode","getWalkSource","currentTarget","CustomEvent","jsonSize","encodeURI","utf8Length","normalizeToSize","maxSize","serialized","normalize","normalizeValue","_events","walk","memo","Infinity","normalized","serializeValue","toJSON","memoize","innerKey","unmemoize","extractExceptionKeysForMessage","maxLength","sort","includedKeys","getStorageItem","localStorage","setStorageItem","cvalue","syncStorage","item","getItem","INTERVAL_12","INTERVAL_72","checkNoOpenInterval","setItem","itemExists","resetCheckNoOpenInterval","mobileNonResponsive","ua","isTablet","isApplePlatform","applePlatformList","isStorageEnabled","checkStorageAvailability","isCapableStoreAndHoldCookies","checkForUpdate","decodedLocal","decodedGlobal","getUrlParams","paramQueries","paramPair","demo","cmpdemo","cmplogger","currentRusId","setRusId","getProfileData","onConsentEvent","setProfileData","encodedCookie","euconsentData","purposes","getProfilePurposes","allowedPurposeIds","allowedVendorIds","cmpId","consentLanguage","consentScreen","created","lastUpdated","vendorListVersion","getEuconsentData","timer","onConsentChange","removeConsentListeners","onConsentError","saveProfileError","getProfileError","clearProfileError","existsProfileError","handleProfileError","getPreFilledPurposesFromCookie","isProfileCookieOutdated","cmpData","cookieTimestamp","hasOwn","classNames","argType","inner","default","list","getPreFilledPurposes","consents","setPurposesToConsent","formData","setFormData","setFormDataLoggedInUser","setFormDataFromConsent","consentCookie","setPrefilledFormData","getFormData","g","av","isFF","isLinux","isSafari","sbrowserEnabled","PREFIX","Logger","_enabled","disable","__SENTRY__","truncate","max","safeJoin","delimiter","output","isMatchingPattern","f","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","sham","fails","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","IE8_DOM_DEFINE","anObject","toPrimitive","nativeDefineProperty","O","P","Attributes","isObject","_undefined","val","button","agree","continue","editSettings","back","details","confirm","collapseClose","collapseOpen","here","edit","intro","title","subTitle","subTitleContinue","description1","description11","description2","description2Logged","description2Unlogged","description22","descriptionPrev1","descriptionPrev11","descriptionPrev2","descriptionPrev2Logged","descriptionPrev2Unlogged","descriptionPrev22","simpleDialog","vendorButton","external","seznamBrowserMessage","description","externalDescription","help","changeSettingsLogged","changeSettingsUnlogged","descriptionExternal","personalizeContent","detailsUnlogged","detailsExternal","personalizeAds","details1","detailsUnlogged1","details11","details2","details22","setLang","lang","phrases","noop","identity","x","run","blank_object","run_all","fns","is_function","thing","safe_not_equal","a","create_slot","definition","ctx","$$scope","slot_ctx","get_slot_context","tar","k","get_slot_changes","dirty","lets","merged","is_client","raf","cb","requestAnimationFrame","tasks","Set","run_tasks","delete","size","loop","promise","fulfill","abort","append","node","insert","anchor","insertBefore","detach","destroy_each","iterations","detaching","text","createTextNode","space","empty","listen","removeEventListener","attribute","removeAttribute","setAttribute","children","childNodes","set_data","set_input_value","custom_event","createEvent","initCustomEvent","current_component","HtmlTag","html","u","innerHTML","active_docs","active","hash","charCodeAt","create_rule","duration","delay","ease","step","keyframes","rule","ownerDocument","stylesheet","__svelte_stylesheet","sheet","current_rules","__svelte_rules","insertRule","cssRules","animation","style","delete_rule","previous","filter","anim","deleted","deleteRule","clear","set_current_component","get_current_component","onMount","$$","on_mount","createEventDispatcher","callbacks","bubble","dirty_components","binding_callbacks","render_callbacks","flush_callbacks","resolved_promise","update_scheduled","schedule_update","add_render_callback","flushing","seen_callbacks","update","before_update","after_update","wait","dispatch","direction","kind","dispatchEvent","outros","outroing","group_outros","check_outros","transition_in","block","local","transition_out","null_transition","create_bidirectional_transition","running_program","pending_program","animation_name","clear_animation","program","abs","group","go","easing","tick","css","create_component","mount_component","on_destroy","new_on_destroy","destroy_component","make_dirty","create_fragment","not_equal","props","parent_component","prop_values","bound","Map","ret","hydrate","nodes","HTMLElement","SvelteComponent","$destroy","index","cubicOut","fade","linear","getComputedStyle","opacity","scale","target_opacity","transform","sd","od","_t","documentHeight","offsetHeight","scrollHeight","useNonResponsiveStyles","biggerDocument","innerHeight","customClass","wrapperClass","label","navigation","disabled","buttonClass","sbrowser","hasPrevConsent","submiting","userLoggedIn","consentPage","consentText","inputId","checkboxClass","labelClass","openText","closeText","opened","purposeClass","loggedUsr","featureIds","policyUrl","addClassTextToData","array","classText","vendorId","purposesId","purposeIds","legIntPurposeIds","defaultVendors","Number","querySelector","click","handleSubmit","GVL","onFailed","dialog","closeDialog","onAgreed","onExit","openDialog","shouldOpenPurposes","openUnloggedDialog","openLoggedDialog","profileData","toInteger","min","argument","States","SyncPromise","executor","_state","PENDING","_handlers","_resolve","_setResult","RESOLVED","_reject","REJECTED","state","_value","_executeHandlers","_attachHandler","cachedHandlers","onfulfilled","onrejected","collection","counter","resolvedCollection","finally","onfinally","isRejected","currentHost","REDIRECT_WHITELIST","makePrefix","string","cutValueFromLocationUrl","paramName","URL","prefix","findParamWithPrefix","escape","redirect","pairs","unescape","hashIt","goBack","backUrl","isConsentOk","returnPairs","initGoBackAndUser","initRedirect","isDev","copyTcf2FromGlobalStorage","inRedirectWhitelist","shouldRedirect","propertyIsEnumerableModule","toIndexedObject","nativeGetOwnPropertyDescriptor","bitmap","CONSTRUCTOR","METHOD","objToString","Iterator","callable","autoBind","__list__","__context__","__nextIndex__","on","_onAdd","_onDelete","_onClear","_next","__redo__","shift","_unBind","_createResult","off","redo","j","$TypeError","$gOPD","throwTypeError","ThrowTypeError","callee","calleeThrows","gOPDthrows","hasSymbols","getProto","getPrototypeOf","asyncGenIterator","TypedArray","Uint8Array","INTRINSICS","ArrayBuffer","entries","asyncIterator","Atomics","DataView","decodeURI","eval","EvalError","Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","isFinite","valueOf","parseFloat","Proxy","RangeError","ReferenceError","Reflect","RegExp","SharedArrayBuffer","SyntaxError","Uint8ClampedArray","Uint32Array","URIError","WeakMap","WeakSet","$replace","rePropName","reEscapeChar","stringToPath","number","quote","subString","getBaseIntrinsic","allowMissing","setConsentCookieV2","existsConsentCookieV2","deleteConsentCookieV2","hasEuconsentV2","globalCookie","signedUserHasTcf2ConsentCookie","Scope","_notifyingListeners","_scopeListeners","_eventProcessors","_breadcrumbs","_user","_tags","_extra","_context","addScopeListener","_notifyScopeListeners","_notifyEventProcessors","processors","processor","final","setTags","tags","setTag","setExtras","extras","setExtra","setFingerprint","fingerprint","_fingerprint","setLevel","setTransaction","transaction","_transaction","_span","setContext","setSpan","span","getSpan","clone","newScope","maxBreadcrumbs","mergedBreadcrumb","timestamp","clearBreadcrumbs","_applyFingerprint","trace","getTraceContext","getGlobalEventProcessors","globalEventProcessors","addGlobalEventProcessor","IndexedObject","requireObjectCoercible","PREFERRED_STRING","ceil","floor","aFunction","that","possibleTypes","isIterable","implementation","userNoConsentCookie","cookieGlobal","userHasConsentCookie","signedUserHasConsentCookie","profileCookie","signedUserNoConsentCookie","openImmediately","setPublicAPI","VendorConsents","metadata","gdprApplies","hasGlobalScope","purposeConsents","vendorConsents","vendorIds","VendorConsentsData","consentStringVersion","gdprAppliesGlobally","cmpLoaded","classof","propertyIsEnumerable","EXISTS","inspectSource","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","store","functionToString","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","wmget","wmhas","wmset","STATE","getterFor","TYPE","IS_PURE","copyright","postfix","variable","namespace","names","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","fromIndex","includes","getOwnPropertySymbols","wellKnownSymbol","UNSCOPABLES","ArrayPrototype","activeXDocument","enumBugKeys","documentCreateElement","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObject","ActiveXObject","iframeDocument","write","temp","parentWindow","NullProtoObjectViaActiveX","display","F","Properties","cache","thrower","METHOD_NAME","ACCESSORS","argument0","argument1","IteratorPrototype","PrototypeOfArrayIteratorPrototype","arrayIterator","ITERATOR","BUGGY_SAFARI_ITERATORS","toObject","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","TO_STRING_TAG","TAG","MATCH","regexp","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","marker","runClearTimeout","Item","nextTick","browser","env","argv","versions","addListener","once","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","naiveFallback","__global__","numberIsNaN","toPosInt","objHasOwnProperty","searchElement","plainObject","customCreate","validate","objIsPrototypeOf","isPrototypeOf","nullDesc","isNullBase","nullPolyfill","tmpObj1","tmpObj2","ignore","isFunction","classRe","opts1","methods","descriptors","listener","__eeOnceListener__","__ee__","candidate","isSymbol","isArguments","iterable","doBreak","broken","char","thisArg","stringCoerce","toShortString","resolveMessage","defaultMessage","inputOptions","isOptional","errorMessage","_extends","_require","encodeToBase64","padRight","encodeVendorIdsToBits","maxVendorId","vendorString","encodePurposeIdsToBits","maxPurposeId","purposeString","convertVendorsToRanges","range","ranges","idsInList","startVendorId","endVendorId","isRange","getMaxVendorId","_consentData$vendorLi","_vendorList$vendors","_vendorList$purposes","noRangesData","purposeIdBitString","vendorIdBitString","vendorRangeList","rangesData","defaultConsent","numEntries","base64","versionNumBits","vendorVersionMap","repeat","padString","padLeft","padding","encodeIntToBits","numBits","bitString","substring","encodeBoolToBits","encodeDateToBits","getTime","encodeLetterToBits","letter","encodeLanguageToBits","language","decodeBitsToInt","decodeBitsToDate","decodeBitsToBool","decodeBitsToLetter","letterCode","fromCharCode","decodeBitsToLanguage","languageBitString","encodeField","_ref","field","encoder","validator","bitCount","inputValue","fieldValue","reduce","listValue","encodeFields","fields","_ref2","decodeField","_ref3","startPosition","decoder","listCount","newPosition","listEntryCount","decodedFields","decodeFields","decodedObject","decodeList","_ref4","_ref4$startPosition","position","_decodeField","encodeDataToBits","definitionMap","binaryValue","paddedBinaryValue","bytes","encode","decodeBitsToIds","bit","decodeFromBase64","consentString","decode","inputBits","_decodeFields","decodeConsentStringBitValue","1","metadataFields","_decodeFromBase","consentStringData","idMap","lastVendorId","$Function","GetIntrinsic","$apply","$call","toStr","origDefineProperty","supportsDescriptors","arePropertyDescriptorsSupported","predicate","predicates","isArgs","CheckObjectCoercible","ToString","callBound","leftWhitespace","rightWhitespace","S","trim","setTimeoutFunc","_handled","_deferreds","doResolve","handle","deferred","_immediateFn","onFulfilled","onRejected","newValue","finale","_unhandledRejectionFn","Handler","prom","remaining","res","race","setImmediate","warning","russianPluralGroups","lastTwo","defaultPluralRules","pluralTypes","arabic","bosnian_serbian","chinese","croatian","french","german","russian","lithuanian","czech","polish","icelandic","slovenian","pluralTypeToLanguages","pluralTypeName","pluralRules","locale","mapping","langToPluralType","langs","en","token","defaultTokenRegex","transformPhrase","phrase","substitutions","tokenRegex","interpolationRegex","pluralRulesOrDefault","smart_count","texts","pluralTypeIndex","expression","Polyglot","opts","extend","currentLocale","onMissingKey","suffix","constructTokenRegex","interpolation","newLocale","morePhrases","prefixedKey","unset","newPhrases","Memo","_hasWeakSet","_inner","ce","cancelable","preventDefault","defaultPrevented","origPrevent","bubbles","parent","entryUnbind","$","$find","find","addToUnscopables","arrayMethodUsesToLength","SKIPS_HOLES","USES_TO_LENGTH","callbackfn","nativePropertyIsEnumerable","NASHORN_BUG","V","ownKeys","getOwnPropertyDescriptorModule","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","internalObjectKeys","getOwnPropertyNames","integer","feature","detection","POLYFILL","NATIVE","arraySpeciesCreate","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","specificCreate","boundFunction","every","findIndex","SPECIES","originalArray","C","objectKeys","charAt","defineIterator","setInternalState","iterated","point","CONVERT_TO_STRING","pos","first","second","codeAt","createIteratorConstructor","setToStringTag","Iterators","IteratorsCore","returnThis","Iterable","NAME","IteratorConstructor","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","aPossiblePrototype","setter","CORRECT_SETTER","checkCorrectnessOfIteration","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIteratorMethod","arrayLike","argumentsLength","mapfn","iteratorMethod","ENTRIES","returnMethod","propertyKey","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tag","tryGet","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","$includes","notARegExp","correctIsRegExpLogic","nativeEndsWith","endsWith","CORRECT_IS_REGEXP_LOGIC","searchString","endPosition","search","nativeStartsWith","startsWith","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","invoke","__await","unwrapped","info","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","displayName","isGeneratorFunction","genFun","ctor","mark","awrap","iter","skipTempReset","prev","stop","rootRecord","rval","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Timeout","clearFn","_id","_clearFn","unref","ref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","clearImmediate","registerImmediate","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","attachTo","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","port2","documentElement","attachEvent","SetPoly","getValues","NativeSet","eIndexOf","ee","forOf","__setData__","NaN","sign","shim","nullObject","polyProps","isPrototype","foo","bar","trzy","dest","validTypes","symbol","NativeSymbol","SymbolPolyfill","HiddenSymbol","isNativeSafe","validateSymbol","objPrototype","globalSymbols","generateName","ie11BugWorkaround","__description__","__name__","for","keyFor","hasInstance","isConcatSpreadable","species","unscopables","setupStandardSymbols","setupSymbolRegistry","registry","ArrayIterator","StringIterator","__kind__","define","ensureValue","ensurePlainFunction","copy","normalizeOptions","dgs","overwriteDefinition","resolveContext","resolveException","objectToString","valueToString","safeToString","reNewLine","error2","aFrom","propertyNames","propertyName","ensure","validValue","getIterator","mapFn","isFunctionStringTag","targetObj","objPropertyIsEnumerable","defVal","compareFn","__length__","SetIterator","MapPoly","__mapKeysData__","__mapValuesData__","MapIterator","kinds","unBind","__values__","_typeof","_createClass","Constructor","protoProps","staticProps","_classCallCheck","_getMaxVendorId","consentLanguageRegexp","baseString","updateDate","getVersion","features","firstVendor","secondVendor","screenId","purposeId","purposeIndex","vendorIndex","encodedMetadata","decodedString","root","freeExports","freeGlobal","InvalidCharacterError","TABLE","REGEX_SPACE_CHARACTERS","buffer","bitStorage","bitCounter","webpackPolyfill","deprecate","paths","originalModule","isCallable","forEachArray","receiver","forEachString","forEachObject","fnToStr","constructorRegex","isES6ClassFn","fnStr","hasToStringTag","tryFunctionObject","strClass","ERROR_MESSAGE","binder","boundLength","boundArgs","Empty","callBind","getPolyfill","boundTrim","origSymbol","hasSymbolSham","sym","symObj","syms","origKeys","keysShim","originalKeys","isEnumerable","hasDontEnumBug","hasProtoEnumBug","dontEnums","equalsConstructorPrototype","excludedKeys","$applicationCache","$console","$external","$frame","$frameElement","$frames","$innerHeight","$innerWidth","$onmozfullscreenchange","$onmozfullscreenerror","$outerHeight","$outerWidth","$pageXOffset","$pageYOffset","$parent","$scrollLeft","$scrollTop","$scrollX","$scrollY","$self","$webkitIndexedDB","$webkitStorageInfo","$window","hasAutomationEqualityBug","theKeys","skipProto","skipConstructor","equalsConstructorPrototypeIfNotBuggy","optMessage","$String","$indexOf","intrinsic","polyfill","locals","useSourceMap","cssMapping","btoa","sourceMapping","sourceMap","sourceURLs","sources","sourceRoot","cssWithMappingToString","mediaQuery","alreadyImportedModules","stylesInDom","isOldIE","atob","getTarget","getElement","styleTarget","HTMLIFrameElement","contentDocument","singleton","singletonCounter","stylesInsertedAtTop","fixUrls","addStylesToDom","styles","domStyle","refs","addStyle","listToStyles","newStyles","part","media","insertStyleElement","insertInto","lastStyleElementInsertedAtTop","insertAt","nextSibling","firstChild","removeStyleElement","idx","createStyleElement","attrs","nonce","getNonce","addAttrs","styleIndex","applyToSingletonTag","createObjectURL","revokeObjectURL","Blob","link","rel","createLinkElement","updateLink","applyToTag","newObj","DEBUG","newList","mayRemove","textStore","replaceText","styleSheet","cssText","cssNode","autoFixUrls","convertToAbsoluteUrls","blob","oldSrc","baseUrl","currentDir","pathname","fullMatch","origUrl","newUrl","unquotedOrigUrl","$1","isWebview","android","nativeApp","wv","safari","isWV","ios","Hub","_version","_stack","_invokeClient","top","getStackTop","isOlderThan","pushScope","getStack","parentScope","popScope","getScope","_lastEventId","finalHint","lastEventId","beforeBreadcrumb","finalBreadcrumb","configureScope","oldHub","makeMain","startSpan","spanOrSpanContext","forceNoChild","_callExtensionMethod","traceHeaders","carrier","getMainCarrier","extensions","getHubFromCarrier","setHubOnCarrier","getCurrentHub","hasHubOnCarrier","activeDomain","registryHubTopStack","getHubFromActiveDomain","Severity","Debug","Warning","Fatal","Critical","Log","openExternalImmediately","initCMP","_redirectDev","sznCookie","autoInit"],"mappings":"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","file":"scmp-external.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 272);\n","// Dialog's page types.\nexport const PAGE_INTRO = 'intro';\nexport const PAGE_PURPOSES = 'purposes';\nexport const PAGE_VENDORS = 'vendors';\n// Dialog's public custom events.\nexport const DIALOG_OPENED = 'scmp_opened';\nexport const DIALOG_CLOSED = 'scmp_closed';\nexport const DIALOG_EXITED = 'scmp_exited';\nexport const DIALOG_FAILED = 'scmp_failed';\nexport const COOKIE_SET = 'scmp_cookie_set';\n// Checkbox AB testing.\nexport const VARIANT = 'J';\n// User types\nexport const USER_INT = 'Int';\nexport const USER_EXT = 'Ext';\n// Urls.\nexport const VENDORS_URL = 'https://vendorlist.consensu.org/vendorlist.json';\nexport const SSP_SYNC_URL = 'https://ssp.imedia.cz/static/html/cmp.html';\n// Cookie which is older than this date is invalid.\nexport const CMP_DATE = '2019-08-07T00:00:00';\n// Purposes.\nexport const PURPOSE_CONTENT = 'souhlas_doporucovani';\nexport const PURPOSE_ADS = 'souhlas_personalizovani';\n// Purposes ids.\nexport const PURPOSE_ID_STORAGE = 1;\nexport const PURPOSE_ID_PERSONAL = 2;\nexport const PURPOSE_ID_ADS = 3;\nexport const PURPOSE_ID_CONTENT = 4;\nexport const PURPOSE_ID_MEASUREMENT = 5;\n// Features ids.\nexport const FEATURE_ID_OFFLINE = 1;\nexport const FEATURE_ID_LINKING = 2;\nexport const FEATURE_ID_GEO = 3;\n// Randoms.\nexport const DEFAULT_LANGUAGE = 'cs';\nexport const MISSING_CONSENT = false;\nexport const PRESENT_CONSENT = true;\nexport const CMP_ID = 247;\nexport const CMP_VERSION = 1;\nexport const SEZNAM_VENDOR_ID = 621;\nexport const NUMBER_OF_VENDORS = 50;\n\n//PAWS Link URLS\nexport const LOGGED_USER_PAWLINK = 'https://o.seznam.cz/ochrana-udaju/personalizace-obsahu-a-reklamy?lu=1';\nexport const UNLOGGED_USER_PAWLINK = 'https://o.seznam.cz/ochrana-udaju/personalizace-obsahu-a-reklamy?lu=2 ';\nexport const CSS_PAW_SELECTOR = 'div.packa > a[href=\"https://o.seznam.cz/ochrana-udaju/personalizovana-reklama/\"]';\n\n// Unlogged user testing domain\nexport const UNLOGGED_USER_BLACKLIST_DOMAIN = ['profil.seznam.cz', 'login.szn.cz', 'email.seznam.cz'];\nexport const SZN_SETTING_PAGES = ['o.seznam.cz', 'partner.seznam.cz'];\nexport const CMP_SSP_IFRAME_URL = 'https://ssp.imedia.cz';\n\n// Redirect\nexport const EUCONSENT_PARAM_NAME = 'euconsent';\nexport const SID_COOKIE_NAME = 'sid';\n\n// Time in MS\nexport const INTERVAL_24 = 86400000; // 24 hodin\n\n// Cookie names\nexport const LASTSHOW_COOKIE_NAME = 'cmplastshowcookie';\nexport const LASTSHOW_IMAGINARY_NAME = 'cmpwtf';\nexport const TEST_COOKIE_NAME = 'cmptestcookie';\nexport const TESTPERSIST_COOKIE_NAME = 'cmppersisttestcookie';\nexport const PROFILERROR_COOKIE_NAME = 'cmpprofilerrorcookie';\nexport const CONSENT_COOKIE_NAME = window._scmpType && window._scmpType === 'test' ? 'TEST_euconsent' : 'euconsent';\nexport const CONSENT_COOKIE_V2_NAME = 'euconsent-v2';\nexport const SERVERSIDE_REFRESHER_COOKIE = 'szncsr';\n\n// Sentry\nexport const SENTRY_DSN = 'https://6197bdb36d274a9b8304f1ecddb49a68@sentry.sklik.cz/64';\n\n// Cypress\nexport const INTERNAL = 'internal';\nexport const EXTERNAL = 'external';\nexport const TESTPERSIST_SHOW_ENABLED = '1572562800000';\nexport const FOREIGN_VALID_EUCONSENT = 'BOrrFtjOrrFtjEhABBAAABAAAAAAEA';\n// eslint-disable-next-line max-len\nexport const SEZNAM_VALID_EUCONSENT =\n 'BOrDL07OrDL07D3ABCCSCx6AAAAs5AIIVEgKQoQI1JBBBgAAAC6IAACAAAQAAABAAAAAIAAACAAgAAAAAEAIAgAAICBABAAAAAAQgAAAAAAAAAAAAAAAAAAAAABCAAAIAAAAQAAAAAAAAAAAAAAAAA';\n","import * as Sentry from '@sentry/browser';\nimport {loggerMode} from '../utils/urlParams';\n\nconst DEV = 'development';\nconst LOG_STYLES = 'display: inline-block; color: #f8f85a; background: rgb(0, 6, 141); padding: 1px 4px; border-radius: 3px;';\n\nconst processQueue = [];\nconst processQueueIds = [];\n\n/**\n * Returns true in development mode.\n * @return {boolean}\n */\nconst inDevelopment = () => loggerMode() || process.env.NODE_ENV === DEV;\n\n/**\n * Prints pretty log into console in development mode.\n * @param {string} msg\n * @param {any} data\n * @param {string} component\n */\nexport const logger = (id, msg, data = '', component = 'CMP') => {\n if (typeof data === 'object') {\n try {\n data = JSON.stringify(data);\n } catch (error) {\n if (inDevelopment()) {\n // eslint-disable-next-line no-console\n console.error(error);\n } else {\n Sentry.addBreadcrumb({\n message: msg,\n data,\n level: Sentry.Severity.Info\n });\n }\n data = '';\n }\n }\n\n processQueue.push(msg + data);\n processQueueIds.push(id);\n if (inDevelopment()) {\n // eslint-disable-next-line no-console\n console.log(`%c${component}`, LOG_STYLES, msg, data);\n }\n};\n\nexport const getProcessQueue = () => processQueue.reduce((acc, curr) => (acc += `${curr} / `), '');\n\nexport const getProcessQueueIds = () => processQueueIds.reduce((acc, curr) => (acc += `${curr}/`), '');\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {INTERVAL_24, LASTSHOW_COOKIE_NAME, TESTPERSIST_COOKIE_NAME, CONSENT_COOKIE_NAME, SERVERSIDE_REFRESHER_COOKIE} from '../constants';\nimport {logger} from './logger';\nimport {isSafari} from '../utils/sbrowser';\n\nconst cookieNames = [CONSENT_COOKIE_NAME, LASTSHOW_COOKIE_NAME, TESTPERSIST_COOKIE_NAME];\n\n/**\n * Sets cookie (example from w3schools).\n * @param {*} value cookie value\n * @param {string} name cookie name\n * @param {number} expiracyInDays\n */\nexport const setCookie = (value, name, expiracyInDays = 365) => {\n const date = new Date();\n const {hostname, protocol} = location;\n\n date.setTime(date.getTime() + expiracyInDays * INTERVAL_24);\n const expires = expiracyInDays < 0 ? '' : ';expires=' + date.toUTCString();\n const cookie = name + '=' + value + expires + ';path=/';\n\n // localhost specific (testing)\n if (hostname === 'localhost') {\n document.cookie = cookie;\n return;\n }\n\n const domain = hostname\n .split('.')\n .slice(-2)\n .join('.');\n const secure = protocol.endsWith('s:') ? ';secure' : '';\n\n document.cookie = cookie + ';domain=.' + domain + secure;\n};\n\n/**\n * Gets cookie (example from w3schools).\n * @param {string} name\n * @returns {string}\n */\nexport const getCookie = name => {\n const decodedCookie = decodeURIComponent(document.cookie);\n const cookies = decodedCookie.split(';');\n\n const cookie = cookies.find(_cookie => _cookie.trim().startsWith(name));\n return cookie ? cookie.trim().substring(name.length + 1, cookie.length) : '';\n};\n\n/**\n * Deletes cookie.\n * @param {string} name\n */\nexport const deleteCookie = name => setCookie(0, name, 0);\n\n/**\n * Check if cookie exists.\n * @param {string} name\n * @return {boolean}\n */\nexport const existsCookie = name => getCookie(name) !== '';\n\n/**\n * Resaves cookie in Safari if exists.\n * @param {string} name\n * @param {boolean} notBrowserSpecific\n */\nexport const resaveCookie = (name, notBrowserSpecific = false) => {\n if (getCookie(SERVERSIDE_REFRESHER_COOKIE)) {\n logger(902, '(Safari) Resaved cookie is done by server side refresher.');\n return; // server side resaving is enabled if exists\n }\n\n const value = getCookie(name);\n\n if (value && (notBrowserSpecific || isSafari)) {\n deleteCookie(name);\n setCookie(value, name);\n logger(900, '(Safari) Resaved cookie.');\n }\n};\n\nexport const removeOldCookie = cname => {\n const date = new Date();\n let cookie = cname + '=1; expires=' + date.toUTCString() + ';path=/';\n const {hostname, protocol} = location;\n\n document.cookie = cookie;\n\n const domain = hostname\n .split('.')\n .slice(-2)\n .join('.');\n\n if (domain !== hostname) {\n const secure = protocol.endsWith('s:') ? ';secure' : '';\n cookie += ';domain=.' + hostname;\n\n document.cookie = cookie;\n document.cookie = cookie + secure;\n }\n};\n\nconst popCookieNameAndValue = (cookieStrings = []) => {\n const [name, ...values] = cookieStrings\n .pop()\n .trim()\n .split('=');\n return {name, value: values.join('=')};\n};\n\nconst getCookies = () => {\n const cookieStrings = decodeURIComponent(document.cookie).split(';');\n const cookies = [];\n\n while (0 < cookieStrings.length) {\n const cookie = popCookieNameAndValue(cookieStrings);\n if (cookieNames.includes(cookie.name)) {\n cookies.push(cookie);\n }\n }\n\n return cookies;\n};\n\nconst returnNewer = (timedata1, timedata2) => (timedata1.split('|')[0] > timedata2.split('|')[0] ? timedata1 : timedata2);\n\nfunction refreshCookies() {\n if (cookieNames.every(name => !document.cookie.includes(name))) {\n logger(901, 'Cookie refresh not needed');\n return;\n }\n\n const allCookies = getCookies();\n\n cookieNames.forEach(name => removeOldCookie(name));\n\n const newCookies = getCookies();\n\n allCookies.forEach(all => {\n if (newCookies.some(({name}) => name === all.name)) {\n newCookies.forEach(({name, value}) => {\n if (name === all.name && value !== all.value) {\n //retrieve old value\n if (name === CONSENT_COOKIE_NAME) {\n setCookie(all.value, name);\n } else {\n setCookie(returnNewer(value, all.value), name);\n }\n }\n });\n } else {\n // old cookie not yet in new domain\n setCookie(all.value, all.name);\n }\n });\n\n cookieNames.forEach(name => resaveCookie(name));\n}\n\nrefreshCookies();\n","var originalFunctionToString;\n/** Patch toString calls to return proper name for wrapped functions */\nvar FunctionToString = /** @class */ (function () {\n function FunctionToString() {\n /**\n * @inheritDoc\n */\n this.name = FunctionToString.id;\n }\n /**\n * @inheritDoc\n */\n FunctionToString.prototype.setupOnce = function () {\n originalFunctionToString = Function.prototype.toString;\n Function.prototype.toString = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var context = this.__sentry_original__ || this;\n // tslint:disable-next-line:no-unsafe-any\n return originalFunctionToString.apply(context, args);\n };\n };\n /**\n * @inheritDoc\n */\n FunctionToString.id = 'FunctionToString';\n return FunctionToString;\n}());\nexport { FunctionToString };\n//# sourceMappingURL=functiontostring.js.map","import * as tslib_1 from \"tslib\";\nimport { addGlobalEventProcessor, getCurrentHub } from '@sentry/hub';\nimport { getEventDescription, isMatchingPattern, logger } from '@sentry/utils';\n// \"Script error.\" is hard coded into browsers for errors that it can't read.\n// this is the result of a script being pulled in from an external domain and CORS.\nvar DEFAULT_IGNORE_ERRORS = [/^Script error\\.?$/, /^Javascript error: Script error\\.? on line 0$/];\n/** Inbound filters configurable by the user */\nvar InboundFilters = /** @class */ (function () {\n function InboundFilters(_options) {\n if (_options === void 0) { _options = {}; }\n this._options = _options;\n /**\n * @inheritDoc\n */\n this.name = InboundFilters.id;\n }\n /**\n * @inheritDoc\n */\n InboundFilters.prototype.setupOnce = function () {\n addGlobalEventProcessor(function (event) {\n var hub = getCurrentHub();\n if (!hub) {\n return event;\n }\n var self = hub.getIntegration(InboundFilters);\n if (self) {\n var client = hub.getClient();\n var clientOptions = client ? client.getOptions() : {};\n var options = self._mergeOptions(clientOptions);\n if (self._shouldDropEvent(event, options)) {\n return null;\n }\n }\n return event;\n });\n };\n /** JSDoc */\n InboundFilters.prototype._shouldDropEvent = function (event, options) {\n if (this._isSentryError(event, options)) {\n logger.warn(\"Event dropped due to being internal Sentry Error.\\nEvent: \" + getEventDescription(event));\n return true;\n }\n if (this._isIgnoredError(event, options)) {\n logger.warn(\"Event dropped due to being matched by `ignoreErrors` option.\\nEvent: \" + getEventDescription(event));\n return true;\n }\n if (this._isBlacklistedUrl(event, options)) {\n logger.warn(\"Event dropped due to being matched by `blacklistUrls` option.\\nEvent: \" + getEventDescription(event) + \".\\nUrl: \" + this._getEventFilterUrl(event));\n return true;\n }\n if (!this._isWhitelistedUrl(event, options)) {\n logger.warn(\"Event dropped due to not being matched by `whitelistUrls` option.\\nEvent: \" + getEventDescription(event) + \".\\nUrl: \" + this._getEventFilterUrl(event));\n return true;\n }\n return false;\n };\n /** JSDoc */\n InboundFilters.prototype._isSentryError = function (event, options) {\n if (options === void 0) { options = {}; }\n if (!options.ignoreInternal) {\n return false;\n }\n try {\n return ((event &&\n event.exception &&\n event.exception.values &&\n event.exception.values[0] &&\n event.exception.values[0].type === 'SentryError') ||\n false);\n }\n catch (_oO) {\n return false;\n }\n };\n /** JSDoc */\n InboundFilters.prototype._isIgnoredError = function (event, options) {\n if (options === void 0) { options = {}; }\n if (!options.ignoreErrors || !options.ignoreErrors.length) {\n return false;\n }\n return this._getPossibleEventMessages(event).some(function (message) {\n // Not sure why TypeScript complains here...\n return options.ignoreErrors.some(function (pattern) { return isMatchingPattern(message, pattern); });\n });\n };\n /** JSDoc */\n InboundFilters.prototype._isBlacklistedUrl = function (event, options) {\n if (options === void 0) { options = {}; }\n // TODO: Use Glob instead?\n if (!options.blacklistUrls || !options.blacklistUrls.length) {\n return false;\n }\n var url = this._getEventFilterUrl(event);\n return !url ? false : options.blacklistUrls.some(function (pattern) { return isMatchingPattern(url, pattern); });\n };\n /** JSDoc */\n InboundFilters.prototype._isWhitelistedUrl = function (event, options) {\n if (options === void 0) { options = {}; }\n // TODO: Use Glob instead?\n if (!options.whitelistUrls || !options.whitelistUrls.length) {\n return true;\n }\n var url = this._getEventFilterUrl(event);\n return !url ? true : options.whitelistUrls.some(function (pattern) { return isMatchingPattern(url, pattern); });\n };\n /** JSDoc */\n InboundFilters.prototype._mergeOptions = function (clientOptions) {\n if (clientOptions === void 0) { clientOptions = {}; }\n return {\n blacklistUrls: tslib_1.__spread((this._options.blacklistUrls || []), (clientOptions.blacklistUrls || [])),\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 whitelistUrls: tslib_1.__spread((this._options.whitelistUrls || []), (clientOptions.whitelistUrls || [])),\n };\n };\n /** JSDoc */\n InboundFilters.prototype._getPossibleEventMessages = function (event) {\n if (event.message) {\n return [event.message];\n }\n if (event.exception) {\n try {\n var _a = (event.exception.values && event.exception.values[0]) || {}, _b = _a.type, type = _b === void 0 ? '' : _b, _c = _a.value, value = _c === void 0 ? '' : _c;\n return [\"\" + value, type + \": \" + value];\n }\n catch (oO) {\n logger.error(\"Cannot extract message for event \" + getEventDescription(event));\n return [];\n }\n }\n return [];\n };\n /** JSDoc */\n InboundFilters.prototype._getEventFilterUrl = function (event) {\n try {\n if (event.stacktrace) {\n var frames_1 = event.stacktrace.frames;\n return (frames_1 && frames_1[frames_1.length - 1].filename) || null;\n }\n if (event.exception) {\n var frames_2 = event.exception.values && event.exception.values[0].stacktrace && event.exception.values[0].stacktrace.frames;\n return (frames_2 && frames_2[frames_2.length - 1].filename) || null;\n }\n return null;\n }\n catch (oO) {\n logger.error(\"Cannot extract url for event \" + getEventDescription(event));\n return null;\n }\n };\n /**\n * @inheritDoc\n */\n InboundFilters.id = 'InboundFilters';\n return InboundFilters;\n}());\nexport { InboundFilters };\n//# sourceMappingURL=inboundfilters.js.map","export var setPrototypeOf = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array ? setProtoOf : mixinProperties); // tslint:disable-line:no-unbound-method\n/**\n * setPrototypeOf polyfill using __proto__\n */\nfunction setProtoOf(obj, proto) {\n // @ts-ignore\n obj.__proto__ = proto;\n return obj;\n}\n/**\n * setPrototypeOf polyfill using mixin\n */\nfunction mixinProperties(obj, proto) {\n for (var prop in proto) {\n if (!obj.hasOwnProperty(prop)) {\n // @ts-ignore\n obj[prop] = proto[prop];\n }\n }\n return obj;\n}\n//# sourceMappingURL=polyfill.js.map","import * as tslib_1 from \"tslib\";\nimport { setPrototypeOf } from './polyfill';\n/** An error emitted by Sentry SDKs and related utilities. */\nvar SentryError = /** @class */ (function (_super) {\n tslib_1.__extends(SentryError, _super);\n function SentryError(message) {\n var _newTarget = this.constructor;\n var _this = _super.call(this, message) || this;\n _this.message = message;\n // tslint:disable:no-unsafe-any\n _this.name = _newTarget.prototype.constructor.name;\n setPrototypeOf(_this, _newTarget.prototype);\n return _this;\n }\n return SentryError;\n}(Error));\nexport { SentryError };\n//# sourceMappingURL=error.js.map","import * as tslib_1 from \"tslib\";\nimport { SentryError } from './error';\n/** Regular expression used to parse a Dsn. */\nvar DSN_REGEX = /^(?:(\\w+):)\\/\\/(?:(\\w+)(?::(\\w+))?@)([\\w\\.-]+)(?::(\\d+))?\\/(.+)/;\n/** Error message */\nvar ERROR_MESSAGE = 'Invalid Dsn';\n/** The Sentry Dsn, identifying a Sentry instance and project. */\nvar Dsn = /** @class */ (function () {\n /** Creates a new Dsn component */\n function Dsn(from) {\n if (typeof from === 'string') {\n this._fromString(from);\n }\n else {\n this._fromComponents(from);\n }\n this._validate();\n }\n /**\n * Renders the string representation of this Dsn.\n *\n * By default, this will render the public representation without the password\n * component. To get the deprecated private representation, set `withPassword`\n * to true.\n *\n * @param withPassword When set to true, the password will be included.\n */\n Dsn.prototype.toString = function (withPassword) {\n if (withPassword === void 0) { withPassword = false; }\n // tslint:disable-next-line:no-this-assignment\n var _a = this, host = _a.host, path = _a.path, pass = _a.pass, port = _a.port, projectId = _a.projectId, protocol = _a.protocol, user = _a.user;\n return (protocol + \"://\" + user + (withPassword && pass ? \":\" + pass : '') +\n (\"@\" + host + (port ? \":\" + port : '') + \"/\" + (path ? path + \"/\" : path) + projectId));\n };\n /** Parses a string into this Dsn. */\n Dsn.prototype._fromString = function (str) {\n var match = DSN_REGEX.exec(str);\n if (!match) {\n throw new SentryError(ERROR_MESSAGE);\n }\n var _a = tslib_1.__read(match.slice(1), 6), protocol = _a[0], user = _a[1], _b = _a[2], pass = _b === void 0 ? '' : _b, host = _a[3], _c = _a[4], port = _c === void 0 ? '' : _c, lastPath = _a[5];\n var path = '';\n var projectId = lastPath;\n var split = projectId.split('/');\n if (split.length > 1) {\n path = split.slice(0, -1).join('/');\n projectId = split.pop();\n }\n this._fromComponents({ host: host, pass: pass, path: path, projectId: projectId, port: port, protocol: protocol, user: user });\n };\n /** Maps Dsn components into this instance. */\n Dsn.prototype._fromComponents = function (components) {\n this.protocol = components.protocol;\n this.user = components.user;\n this.pass = components.pass || '';\n this.host = components.host;\n this.port = components.port || '';\n this.path = components.path || '';\n this.projectId = components.projectId;\n };\n /** Validates this Dsn and throws on error. */\n Dsn.prototype._validate = function () {\n var _this = this;\n ['protocol', 'user', 'host', 'projectId'].forEach(function (component) {\n if (!_this[component]) {\n throw new SentryError(ERROR_MESSAGE);\n }\n });\n if (this.protocol !== 'http' && this.protocol !== 'https') {\n throw new SentryError(ERROR_MESSAGE);\n }\n if (this.port && isNaN(parseInt(this.port, 10))) {\n throw new SentryError(ERROR_MESSAGE);\n }\n };\n return Dsn;\n}());\nexport { Dsn };\n//# sourceMappingURL=dsn.js.map","import { Dsn, urlEncode } from '@sentry/utils';\nvar SENTRY_API_VERSION = '7';\n/** Helper class to provide urls to different Sentry endpoints. */\nvar API = /** @class */ (function () {\n /** Create a new instance of API */\n function API(dsn) {\n this.dsn = dsn;\n this._dsnObject = new Dsn(dsn);\n }\n /** Returns the Dsn object. */\n API.prototype.getDsn = function () {\n return this._dsnObject;\n };\n /** Returns a string with auth headers in the url to the store endpoint. */\n API.prototype.getStoreEndpoint = function () {\n return \"\" + this._getBaseUrl() + this.getStoreEndpointPath();\n };\n /** Returns the store endpoint with auth added in url encoded. */\n API.prototype.getStoreEndpointWithUrlEncodedAuth = function () {\n var dsn = this._dsnObject;\n var auth = {\n sentry_key: dsn.user,\n sentry_version: SENTRY_API_VERSION,\n };\n // Auth is intentionally sent as part of query string (NOT as custom HTTP header)\n // to avoid preflight CORS requests\n return this.getStoreEndpoint() + \"?\" + urlEncode(auth);\n };\n /** Returns the base path of the url including the port. */\n API.prototype._getBaseUrl = function () {\n var dsn = this._dsnObject;\n var protocol = dsn.protocol ? dsn.protocol + \":\" : '';\n var port = dsn.port ? \":\" + dsn.port : '';\n return protocol + \"//\" + dsn.host + port;\n };\n /** Returns only the path component for the store endpoint. */\n API.prototype.getStoreEndpointPath = function () {\n var dsn = this._dsnObject;\n return (dsn.path ? \"/\" + dsn.path : '') + \"/api/\" + dsn.projectId + \"/store/\";\n };\n /** Returns an object that can be used in request headers. */\n API.prototype.getRequestHeaders = function (clientName, clientVersion) {\n var dsn = this._dsnObject;\n var header = [\"Sentry sentry_version=\" + SENTRY_API_VERSION];\n header.push(\"sentry_client=\" + clientName + \"/\" + clientVersion);\n header.push(\"sentry_key=\" + dsn.user);\n if (dsn.pass) {\n header.push(\"sentry_secret=\" + dsn.pass);\n }\n return {\n 'Content-Type': 'application/json',\n 'X-Sentry-Auth': header.join(', '),\n };\n };\n /** Returns the url to the report dialog endpoint. */\n API.prototype.getReportDialogEndpoint = function (dialogOptions) {\n if (dialogOptions === void 0) { dialogOptions = {}; }\n var dsn = this._dsnObject;\n var endpoint = \"\" + this._getBaseUrl() + (dsn.path ? \"/\" + dsn.path : '') + \"/api/embed/error-page/\";\n var encodedOptions = [];\n encodedOptions.push(\"dsn=\" + dsn.toString());\n for (var key in dialogOptions) {\n if (key === 'user') {\n if (!dialogOptions.user) {\n continue;\n }\n if (dialogOptions.user.name) {\n encodedOptions.push(\"name=\" + encodeURIComponent(dialogOptions.user.name));\n }\n if (dialogOptions.user.email) {\n encodedOptions.push(\"email=\" + encodeURIComponent(dialogOptions.user.email));\n }\n }\n else {\n encodedOptions.push(encodeURIComponent(key) + \"=\" + encodeURIComponent(dialogOptions[key]));\n }\n }\n if (encodedOptions.length) {\n return endpoint + \"?\" + encodedOptions.join('&');\n }\n return endpoint;\n };\n return API;\n}());\nexport { API };\n//# sourceMappingURL=api.js.map","import * as tslib_1 from \"tslib\";\nimport { addGlobalEventProcessor, getCurrentHub } from '@sentry/hub';\nimport { logger } from '@sentry/utils';\nexport var installedIntegrations = [];\n/** Gets integration to install */\nexport function getIntegrationsToSetup(options) {\n var defaultIntegrations = (options.defaultIntegrations && tslib_1.__spread(options.defaultIntegrations)) || [];\n var userIntegrations = options.integrations;\n var integrations = [];\n if (Array.isArray(userIntegrations)) {\n var userIntegrationsNames_1 = userIntegrations.map(function (i) { return i.name; });\n var pickedIntegrationsNames_1 = [];\n // Leave only unique default integrations, that were not overridden with provided user integrations\n defaultIntegrations.forEach(function (defaultIntegration) {\n if (userIntegrationsNames_1.indexOf(defaultIntegration.name) === -1 &&\n pickedIntegrationsNames_1.indexOf(defaultIntegration.name) === -1) {\n integrations.push(defaultIntegration);\n pickedIntegrationsNames_1.push(defaultIntegration.name);\n }\n });\n // Don't add same user integration twice\n userIntegrations.forEach(function (userIntegration) {\n if (pickedIntegrationsNames_1.indexOf(userIntegration.name) === -1) {\n integrations.push(userIntegration);\n pickedIntegrationsNames_1.push(userIntegration.name);\n }\n });\n }\n else if (typeof userIntegrations === 'function') {\n integrations = userIntegrations(defaultIntegrations);\n integrations = Array.isArray(integrations) ? integrations : [integrations];\n }\n else {\n integrations = tslib_1.__spread(defaultIntegrations);\n }\n // Make sure that if present, `Debug` integration will always run last\n var integrationsNames = integrations.map(function (i) { return i.name; });\n var alwaysLastToRun = 'Debug';\n if (integrationsNames.indexOf(alwaysLastToRun) !== -1) {\n integrations.push.apply(integrations, tslib_1.__spread(integrations.splice(integrationsNames.indexOf(alwaysLastToRun), 1)));\n }\n return integrations;\n}\n/** Setup given integration */\nexport function setupIntegration(integration) {\n if (installedIntegrations.indexOf(integration.name) !== -1) {\n return;\n }\n integration.setupOnce(addGlobalEventProcessor, getCurrentHub);\n installedIntegrations.push(integration.name);\n logger.log(\"Integration installed: \" + integration.name);\n}\n/**\n * Given a list of integration instances this installs them all. When `withDefaults` is set to `true` then all default\n * integrations are added unless they were already provided before.\n * @param integrations array of integration instances\n * @param withDefault should enable default integrations\n */\nexport function setupIntegrations(options) {\n var integrations = {};\n getIntegrationsToSetup(options).forEach(function (integration) {\n integrations[integration.name] = integration;\n setupIntegration(integration);\n });\n return integrations;\n}\n//# sourceMappingURL=integration.js.map","import * as tslib_1 from \"tslib\";\nimport { Dsn, isPrimitive, isThenable, logger, normalize, SyncPromise, truncate, uuid4 } from '@sentry/utils';\nimport { setupIntegrations } from './integration';\n/**\n * Base implementation for all JavaScript SDK clients.\n *\n * Call the constructor with the corresponding backend constructor and options\n * specific to the client subclass. To access these options later, use\n * {@link Client.getOptions}. Also, the Backend instance is available via\n * {@link Client.getBackend}.\n *\n * If a Dsn is specified in the options, it will be parsed and stored. Use\n * {@link Client.getDsn} to retrieve the Dsn at any moment. In case the Dsn is\n * invalid, the constructor will throw a {@link SentryException}. Note that\n * without a valid Dsn, the SDK will not send any events to Sentry.\n *\n * Before sending an event via the backend, it is passed through\n * {@link BaseClient.prepareEvent} to add SDK information and scope data\n * (breadcrumbs and context). To add more custom information, override this\n * method and extend the resulting prepared event.\n *\n * To issue automatically created events (e.g. via instrumentation), use\n * {@link Client.captureEvent}. It will prepare the event and pass it through\n * the callback lifecycle. To issue auto-breadcrumbs, use\n * {@link Client.addBreadcrumb}.\n *\n * @example\n * class NodeClient extends BaseClient {\n * public constructor(options: NodeOptions) {\n * super(NodeBackend, options);\n * }\n *\n * // ...\n * }\n */\nvar BaseClient = /** @class */ (function () {\n /**\n * Initializes this client instance.\n *\n * @param backendClass A constructor function to create the backend.\n * @param options Options for the client.\n */\n function BaseClient(backendClass, options) {\n /** Array of used integrations. */\n this._integrations = {};\n /** Is the client still processing a call? */\n this._processing = false;\n this._backend = new backendClass(options);\n this._options = options;\n if (options.dsn) {\n this._dsn = new Dsn(options.dsn);\n }\n }\n /**\n * @inheritDoc\n */\n BaseClient.prototype.captureException = function (exception, hint, scope) {\n var _this = this;\n var eventId = hint && hint.event_id;\n this._processing = true;\n this._getBackend()\n .eventFromException(exception, hint)\n .then(function (event) { return _this._processEvent(event, hint, scope); })\n .then(function (finalEvent) {\n // We need to check for finalEvent in case beforeSend returned null\n eventId = finalEvent && finalEvent.event_id;\n _this._processing = false;\n })\n .then(null, function (reason) {\n logger.error(reason);\n _this._processing = false;\n });\n return eventId;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.captureMessage = function (message, level, hint, scope) {\n var _this = this;\n var eventId = hint && hint.event_id;\n this._processing = true;\n var promisedEvent = isPrimitive(message)\n ? this._getBackend().eventFromMessage(\"\" + message, level, hint)\n : this._getBackend().eventFromException(message, hint);\n promisedEvent\n .then(function (event) { return _this._processEvent(event, hint, scope); })\n .then(function (finalEvent) {\n // We need to check for finalEvent in case beforeSend returned null\n eventId = finalEvent && finalEvent.event_id;\n _this._processing = false;\n })\n .then(null, function (reason) {\n logger.error(reason);\n _this._processing = false;\n });\n return eventId;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.captureEvent = function (event, hint, scope) {\n var _this = this;\n var eventId = hint && hint.event_id;\n this._processing = true;\n this._processEvent(event, hint, scope)\n .then(function (finalEvent) {\n // We need to check for finalEvent in case beforeSend returned null\n eventId = finalEvent && finalEvent.event_id;\n _this._processing = false;\n })\n .then(null, function (reason) {\n logger.error(reason);\n _this._processing = false;\n });\n return eventId;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.getDsn = function () {\n return this._dsn;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.getOptions = function () {\n return this._options;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.flush = function (timeout) {\n var _this = this;\n return this._isClientProcessing(timeout).then(function (status) {\n clearInterval(status.interval);\n return _this._getBackend()\n .getTransport()\n .close(timeout)\n .then(function (transportFlushed) { return status.ready && transportFlushed; });\n });\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.close = function (timeout) {\n var _this = this;\n return this.flush(timeout).then(function (result) {\n _this.getOptions().enabled = false;\n return result;\n });\n };\n /**\n * Sets up the integrations\n */\n BaseClient.prototype.setupIntegrations = function () {\n if (this._isEnabled()) {\n this._integrations = setupIntegrations(this._options);\n }\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.getIntegration = function (integration) {\n try {\n return this._integrations[integration.id] || null;\n }\n catch (_oO) {\n logger.warn(\"Cannot retrieve integration \" + integration.id + \" from the current Client\");\n return null;\n }\n };\n /** Waits for the client to be done with processing. */\n BaseClient.prototype._isClientProcessing = function (timeout) {\n var _this = this;\n return new SyncPromise(function (resolve) {\n var ticked = 0;\n var tick = 1;\n var interval = 0;\n clearInterval(interval);\n interval = setInterval(function () {\n if (!_this._processing) {\n resolve({\n interval: interval,\n ready: true,\n });\n }\n else {\n ticked += tick;\n if (timeout && ticked >= timeout) {\n resolve({\n interval: interval,\n ready: false,\n });\n }\n }\n }, tick);\n });\n };\n /** Returns the current backend. */\n BaseClient.prototype._getBackend = function () {\n return this._backend;\n };\n /** Determines whether this SDK is enabled and a valid Dsn is present. */\n BaseClient.prototype._isEnabled = function () {\n return this.getOptions().enabled !== false && this._dsn !== undefined;\n };\n /**\n * Adds common information to events.\n *\n * The information includes release and environment from `options`,\n * breadcrumbs and context (extra, tags and user) from the scope.\n *\n * Information that is already present in the event is never overwritten. For\n * nested objects, such as the context, keys are merged.\n *\n * @param event The original event.\n * @param hint May contain additional informartion about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A new event with more information.\n */\n BaseClient.prototype._prepareEvent = function (event, scope, hint) {\n var _this = this;\n var _a = this.getOptions(), environment = _a.environment, release = _a.release, dist = _a.dist, _b = _a.maxValueLength, maxValueLength = _b === void 0 ? 250 : _b, _c = _a.normalizeDepth, normalizeDepth = _c === void 0 ? 3 : _c;\n var prepared = tslib_1.__assign({}, event);\n if (prepared.environment === undefined && environment !== undefined) {\n prepared.environment = environment;\n }\n if (prepared.release === undefined && release !== undefined) {\n prepared.release = release;\n }\n if (prepared.dist === undefined && dist !== undefined) {\n prepared.dist = dist;\n }\n if (prepared.message) {\n prepared.message = truncate(prepared.message, maxValueLength);\n }\n var exception = prepared.exception && prepared.exception.values && prepared.exception.values[0];\n if (exception && exception.value) {\n exception.value = truncate(exception.value, maxValueLength);\n }\n var request = prepared.request;\n if (request && request.url) {\n request.url = truncate(request.url, maxValueLength);\n }\n if (prepared.event_id === undefined) {\n prepared.event_id = hint && hint.event_id ? hint.event_id : uuid4();\n }\n this._addIntegrations(prepared.sdk);\n // We prepare the result here with a resolved Event.\n var result = SyncPromise.resolve(prepared);\n // This should be the last thing called, since we want that\n // {@link Hub.addEventProcessor} gets the finished prepared event.\n if (scope) {\n // In case we have a hub we reassign it.\n result = scope.applyToEvent(prepared, hint);\n }\n return result.then(function (evt) {\n // tslint:disable-next-line:strict-type-predicates\n if (typeof normalizeDepth === 'number' && normalizeDepth > 0) {\n return _this._normalizeEvent(evt, normalizeDepth);\n }\n return evt;\n });\n };\n /**\n * Applies `normalize` function on necessary `Event` attributes to make them safe for serialization.\n * Normalized keys:\n * - `breadcrumbs.data`\n * - `user`\n * - `contexts`\n * - `extra`\n * @param event Event\n * @returns Normalized event\n */\n BaseClient.prototype._normalizeEvent = function (event, depth) {\n if (!event) {\n return null;\n }\n // tslint:disable:no-unsafe-any\n return tslib_1.__assign({}, event, (event.breadcrumbs && {\n breadcrumbs: event.breadcrumbs.map(function (b) { return (tslib_1.__assign({}, b, (b.data && {\n data: normalize(b.data, depth),\n }))); }),\n }), (event.user && {\n user: normalize(event.user, depth),\n }), (event.contexts && {\n contexts: normalize(event.contexts, depth),\n }), (event.extra && {\n extra: normalize(event.extra, depth),\n }));\n };\n /**\n * This function adds all used integrations to the SDK info in the event.\n * @param sdkInfo The sdkInfo of the event that will be filled with all integrations.\n */\n BaseClient.prototype._addIntegrations = function (sdkInfo) {\n var integrationsArray = Object.keys(this._integrations);\n if (sdkInfo && integrationsArray.length > 0) {\n sdkInfo.integrations = integrationsArray;\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 informartion about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A SyncPromise that resolves with the event or rejects in case event was/will not be send.\n */\n BaseClient.prototype._processEvent = function (event, hint, scope) {\n var _this = this;\n var _a = this.getOptions(), beforeSend = _a.beforeSend, sampleRate = _a.sampleRate;\n if (!this._isEnabled()) {\n return SyncPromise.reject('SDK not enabled, will not send event.');\n }\n // 1.0 === 100% events are sent\n // 0.0 === 0% events are sent\n if (typeof sampleRate === 'number' && Math.random() > sampleRate) {\n return SyncPromise.reject('This event has been sampled, will not send event.');\n }\n return new SyncPromise(function (resolve, reject) {\n _this._prepareEvent(event, scope, hint)\n .then(function (prepared) {\n if (prepared === null) {\n reject('An event processor returned null, will not send event.');\n return;\n }\n var finalEvent = prepared;\n var isInternalException = hint && hint.data && hint.data.__sentry__ === true;\n if (isInternalException || !beforeSend) {\n _this._getBackend().sendEvent(finalEvent);\n resolve(finalEvent);\n return;\n }\n var beforeSendResult = beforeSend(prepared, hint);\n // tslint:disable-next-line:strict-type-predicates\n if (typeof beforeSendResult === 'undefined') {\n logger.error('`beforeSend` method has to return `null` or a valid event.');\n }\n else if (isThenable(beforeSendResult)) {\n _this._handleAsyncBeforeSend(beforeSendResult, resolve, reject);\n }\n else {\n finalEvent = beforeSendResult;\n if (finalEvent === null) {\n logger.log('`beforeSend` returned `null`, will not send event.');\n resolve(null);\n return;\n }\n // From here on we are really async\n _this._getBackend().sendEvent(finalEvent);\n resolve(finalEvent);\n }\n })\n .then(null, function (reason) {\n _this.captureException(reason, {\n data: {\n __sentry__: true,\n },\n originalException: reason,\n });\n reject(\"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 /**\n * Resolves before send Promise and calls resolve/reject on parent SyncPromise.\n */\n BaseClient.prototype._handleAsyncBeforeSend = function (beforeSend, resolve, reject) {\n var _this = this;\n beforeSend\n .then(function (processedEvent) {\n if (processedEvent === null) {\n reject('`beforeSend` returned `null`, will not send event.');\n return;\n }\n // From here on we are really async\n _this._getBackend().sendEvent(processedEvent);\n resolve(processedEvent);\n })\n .then(null, function (e) {\n reject(\"beforeSend rejected with \" + e);\n });\n };\n return BaseClient;\n}());\nexport { BaseClient };\n//# sourceMappingURL=baseclient.js.map","/** The status of an event. */\nexport var Status;\n(function (Status) {\n /** The status could not be determined. */\n Status[\"Unknown\"] = \"unknown\";\n /** The event was skipped due to configuration or callbacks. */\n Status[\"Skipped\"] = \"skipped\";\n /** The event was sent to Sentry successfully. */\n Status[\"Success\"] = \"success\";\n /** The client is currently rate limited and will try again later. */\n Status[\"RateLimit\"] = \"rate_limit\";\n /** The event could not be processed. */\n Status[\"Invalid\"] = \"invalid\";\n /** A server-side error ocurred during submission. */\n Status[\"Failed\"] = \"failed\";\n})(Status || (Status = {}));\n// tslint:disable:completed-docs\n// tslint:disable:no-unnecessary-qualifier no-namespace\n(function (Status) {\n /**\n * Converts a HTTP status code into a {@link Status}.\n *\n * @param code The HTTP response status code.\n * @returns The send status or {@link Status.Unknown}.\n */\n function fromHttpCode(code) {\n if (code >= 200 && code < 300) {\n return Status.Success;\n }\n if (code === 429) {\n return Status.RateLimit;\n }\n if (code >= 400 && code < 500) {\n return Status.Invalid;\n }\n if (code >= 500) {\n return Status.Failed;\n }\n return Status.Unknown;\n }\n Status.fromHttpCode = fromHttpCode;\n})(Status || (Status = {}));\n//# sourceMappingURL=status.js.map","import { Status } from '@sentry/types';\nimport { SyncPromise } from '@sentry/utils';\n/** Noop transport */\nvar NoopTransport = /** @class */ (function () {\n function NoopTransport() {\n }\n /**\n * @inheritDoc\n */\n NoopTransport.prototype.sendEvent = function (_) {\n return SyncPromise.resolve({\n reason: \"NoopTransport: Event has been skipped because no Dsn is configured.\",\n status: Status.Skipped,\n });\n };\n /**\n * @inheritDoc\n */\n NoopTransport.prototype.close = function (_) {\n return SyncPromise.resolve(true);\n };\n return NoopTransport;\n}());\nexport { NoopTransport };\n//# sourceMappingURL=noop.js.map","import { logger, SentryError } from '@sentry/utils';\nimport { NoopTransport } from './transports/noop';\n/**\n * This is the base implemention of a Backend.\n * @hidden\n */\nvar BaseBackend = /** @class */ (function () {\n /** Creates a new backend instance. */\n function BaseBackend(options) {\n this._options = options;\n if (!this._options.dsn) {\n logger.warn('No DSN provided, backend will not do anything.');\n }\n this._transport = this._setupTransport();\n }\n /**\n * Sets up the transport so it can be used later to send requests.\n */\n BaseBackend.prototype._setupTransport = function () {\n return new NoopTransport();\n };\n /**\n * @inheritDoc\n */\n BaseBackend.prototype.eventFromException = function (_exception, _hint) {\n throw new SentryError('Backend has to implement `eventFromException` method');\n };\n /**\n * @inheritDoc\n */\n BaseBackend.prototype.eventFromMessage = function (_message, _level, _hint) {\n throw new SentryError('Backend has to implement `eventFromMessage` method');\n };\n /**\n * @inheritDoc\n */\n BaseBackend.prototype.sendEvent = function (event) {\n this._transport.sendEvent(event).then(null, function (reason) {\n logger.error(\"Error while sending event: \" + reason);\n });\n };\n /**\n * @inheritDoc\n */\n BaseBackend.prototype.getTransport = function () {\n return this._transport;\n };\n return BaseBackend;\n}());\nexport { BaseBackend };\n//# sourceMappingURL=basebackend.js.map","import { logger } from './logger';\nimport { getGlobalObject } from './misc';\n/**\n * Tells whether current environment supports ErrorEvent objects\n * {@link supportsErrorEvent}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsErrorEvent() {\n try {\n // tslint:disable:no-unused-expression\n new ErrorEvent('');\n return true;\n }\n catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports DOMError objects\n * {@link supportsDOMError}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsDOMError() {\n try {\n // It really needs 1 argument, not 0.\n // Chrome: VM89:1 Uncaught TypeError: Failed to construct 'DOMError':\n // 1 argument required, but only 0 present.\n // @ts-ignore\n // tslint:disable:no-unused-expression\n new DOMError('');\n return true;\n }\n catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports DOMException objects\n * {@link supportsDOMException}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsDOMException() {\n try {\n // tslint:disable:no-unused-expression\n new DOMException('');\n return true;\n }\n catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports Fetch API\n * {@link supportsFetch}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsFetch() {\n if (!('fetch' in getGlobalObject())) {\n return false;\n }\n try {\n // tslint:disable-next-line:no-unused-expression\n new Headers();\n // tslint:disable-next-line:no-unused-expression\n new Request('');\n // tslint:disable-next-line:no-unused-expression\n new Response();\n return true;\n }\n catch (e) {\n return false;\n }\n}\n/**\n * isNativeFetch checks if the given function is a native implementation of fetch()\n */\nfunction isNativeFetch(func) {\n return func && /^function fetch\\(\\)\\s+\\{\\s+\\[native code\\]\\s+\\}$/.test(func.toString());\n}\n/**\n * Tells whether current environment supports Fetch API natively\n * {@link supportsNativeFetch}.\n *\n * @returns true if `window.fetch` is natively implemented, false otherwise\n */\nexport function supportsNativeFetch() {\n if (!supportsFetch()) {\n return false;\n }\n var global = getGlobalObject();\n // Fast path to avoid DOM I/O\n // tslint:disable-next-line:no-unbound-method\n if (isNativeFetch(global.fetch)) {\n return true;\n }\n // window.fetch is implemented, but is polyfilled or already wrapped (e.g: by a chrome extension)\n // so create a \"pure\" iframe to see if that has native fetch\n var result = false;\n var doc = global.document;\n // tslint:disable-next-line:no-unbound-method deprecation\n if (doc && typeof doc.createElement === \"function\") {\n try {\n var sandbox = doc.createElement('iframe');\n sandbox.hidden = true;\n doc.head.appendChild(sandbox);\n if (sandbox.contentWindow && sandbox.contentWindow.fetch) {\n // tslint:disable-next-line:no-unbound-method\n result = isNativeFetch(sandbox.contentWindow.fetch);\n }\n doc.head.removeChild(sandbox);\n }\n catch (err) {\n logger.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', err);\n }\n }\n return result;\n}\n/**\n * Tells whether current environment supports ReportingObserver API\n * {@link supportsReportingObserver}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsReportingObserver() {\n // tslint:disable-next-line: no-unsafe-any\n return 'ReportingObserver' in getGlobalObject();\n}\n/**\n * Tells whether current environment supports Referrer Policy API\n * {@link supportsReferrerPolicy}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsReferrerPolicy() {\n // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default\n // https://caniuse.com/#feat=referrer-policy\n // It doesn't. And it throw exception instead of ignoring this parameter...\n // REF: https://github.com/getsentry/raven-js/issues/1233\n if (!supportsFetch()) {\n return false;\n }\n try {\n // tslint:disable:no-unused-expression\n new Request('_', {\n referrerPolicy: 'origin',\n });\n return true;\n }\n catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports History API\n * {@link supportsHistory}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsHistory() {\n // NOTE: in Chrome App environment, touching history.pushState, *even inside\n // a try/catch block*, will cause Chrome to output an error to console.error\n // borrowed from: https://github.com/angular/angular.js/pull/13945/files\n var global = getGlobalObject();\n var chrome = global.chrome;\n // tslint:disable-next-line:no-unsafe-any\n var isChromePackagedApp = chrome && chrome.app && chrome.app.runtime;\n var hasHistoryApi = 'history' in global && !!global.history.pushState && !!global.history.replaceState;\n return !isChromePackagedApp && hasHistoryApi;\n}\n//# sourceMappingURL=supports.js.map","// tslint:disable:object-literal-sort-keys\nimport * as tslib_1 from \"tslib\";\n// global reference to slice\nvar UNKNOWN_FUNCTION = '?';\n// Chromium based browsers: Chrome, Brave, new Opera, new Edge\nvar chrome = /^\\s*at (?:(.*?) ?\\()?((?:file|https?|blob|chrome-extension|address|native|eval|webpack||[-a-z]+:|.*bundle|\\/).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\n// gecko regex: `(?:bundle|\\d+\\.js)`: `bundle` is for react native, `\\d+\\.js` also but specifically for ram bundles because it\n// generates filenames without a prefix like `file://` the filenames in the stacktrace are just 42.js\n// We need this specific case for now because we want no other regex to match.\nvar gecko = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension).*?:\\/.*?|\\[native code\\]|[^@]*(?:bundle|\\d+\\.js))(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nvar winjs = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\nvar geckoEval = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\nvar chromeEval = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n/** JSDoc */\nexport function computeStackTrace(ex) {\n // tslint:disable:no-unsafe-any\n var stack = null;\n var popSize = ex && ex.framesToPop;\n try {\n // This must be tried first because Opera 10 *destroys*\n // its stacktrace property if you try to access the stack\n // property first!!\n stack = computeStackTraceFromStacktraceProp(ex);\n if (stack) {\n return popFrames(stack, popSize);\n }\n }\n catch (e) {\n // no-empty\n }\n try {\n stack = computeStackTraceFromStackProp(ex);\n if (stack) {\n return popFrames(stack, popSize);\n }\n }\n catch (e) {\n // no-empty\n }\n return {\n message: extractMessage(ex),\n name: ex && ex.name,\n stack: [],\n failed: true,\n };\n}\n/** JSDoc */\n// tslint:disable-next-line:cyclomatic-complexity\nfunction computeStackTraceFromStackProp(ex) {\n // tslint:disable:no-conditional-assignment\n if (!ex || !ex.stack) {\n return null;\n }\n var stack = [];\n var lines = ex.stack.split('\\n');\n var isEval;\n var submatch;\n var parts;\n var element;\n for (var i = 0; i < lines.length; ++i) {\n if ((parts = chrome.exec(lines[i]))) {\n var isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line\n isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n if (isEval && (submatch = chromeEval.exec(parts[2]))) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = submatch[1]; // url\n parts[3] = submatch[2]; // line\n parts[4] = submatch[3]; // column\n }\n element = {\n // working with the regexp above is super painful. it is quite a hack, but just stripping the `address at `\n // prefix here seems like the quickest solution for now.\n url: parts[2] && parts[2].indexOf('address at ') === 0 ? parts[2].substr('address at '.length) : parts[2],\n func: parts[1] || UNKNOWN_FUNCTION,\n args: isNative ? [parts[2]] : [],\n line: parts[3] ? +parts[3] : null,\n column: parts[4] ? +parts[4] : null,\n };\n }\n else if ((parts = winjs.exec(lines[i]))) {\n element = {\n url: parts[2],\n func: parts[1] || UNKNOWN_FUNCTION,\n args: [],\n line: +parts[3],\n column: parts[4] ? +parts[4] : null,\n };\n }\n else if ((parts = gecko.exec(lines[i]))) {\n isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n if (isEval && (submatch = geckoEval.exec(parts[3]))) {\n // throw out eval line/column and use top-most line number\n parts[1] = parts[1] || \"eval\";\n parts[3] = submatch[1];\n parts[4] = submatch[2];\n parts[5] = ''; // no column when eval\n }\n else if (i === 0 && !parts[5] && ex.columnNumber !== void 0) {\n // FireFox uses this awesome columnNumber property for its top frame\n // Also note, Firefox's column number is 0-based and everything else expects 1-based,\n // so adding 1\n // NOTE: this hack doesn't work if top-most frame is eval\n stack[0].column = ex.columnNumber + 1;\n }\n element = {\n url: parts[3],\n func: parts[1] || UNKNOWN_FUNCTION,\n args: parts[2] ? parts[2].split(',') : [],\n line: parts[4] ? +parts[4] : null,\n column: parts[5] ? +parts[5] : null,\n };\n }\n else {\n continue;\n }\n if (!element.func && element.line) {\n element.func = UNKNOWN_FUNCTION;\n }\n stack.push(element);\n }\n if (!stack.length) {\n return null;\n }\n return {\n message: extractMessage(ex),\n name: ex.name,\n stack: stack,\n };\n}\n/** JSDoc */\nfunction computeStackTraceFromStacktraceProp(ex) {\n if (!ex || !ex.stacktrace) {\n return null;\n }\n // Access and store the stacktrace property before doing ANYTHING\n // else to it because Opera is not very good at providing it\n // reliably in other circumstances.\n var stacktrace = ex.stacktrace;\n var opera10Regex = / line (\\d+).*script (?:in )?(\\S+)(?:: in function (\\S+))?$/i;\n var opera11Regex = / line (\\d+), column (\\d+)\\s*(?:in (?:]+)>|([^\\)]+))\\((.*)\\))? in (.*):\\s*$/i;\n var lines = stacktrace.split('\\n');\n var stack = [];\n var parts;\n for (var line = 0; line < lines.length; line += 2) {\n // tslint:disable:no-conditional-assignment\n var element = null;\n if ((parts = opera10Regex.exec(lines[line]))) {\n element = {\n url: parts[2],\n func: parts[3],\n args: [],\n line: +parts[1],\n column: null,\n };\n }\n else if ((parts = opera11Regex.exec(lines[line]))) {\n element = {\n url: parts[6],\n func: parts[3] || parts[4],\n args: parts[5] ? parts[5].split(',') : [],\n line: +parts[1],\n column: +parts[2],\n };\n }\n if (element) {\n if (!element.func && element.line) {\n element.func = UNKNOWN_FUNCTION;\n }\n stack.push(element);\n }\n }\n if (!stack.length) {\n return null;\n }\n return {\n message: extractMessage(ex),\n name: ex.name,\n stack: stack,\n };\n}\n/** Remove N number of frames from the stack */\nfunction popFrames(stacktrace, popSize) {\n try {\n return tslib_1.__assign({}, stacktrace, { stack: stacktrace.stack.slice(popSize) });\n }\n catch (e) {\n return stacktrace;\n }\n}\n/**\n * There are cases where stacktrace.message is an Event object\n * https://github.com/getsentry/sentry-javascript/issues/1949\n * In this specific case we try to extract stacktrace.message.error.message\n */\nfunction extractMessage(ex) {\n var message = ex && ex.message;\n if (!message) {\n return 'No error message';\n }\n if (message.error && typeof message.error.message === 'string') {\n return message.error.message;\n }\n return message;\n}\n//# sourceMappingURL=tracekit.js.map","import { extractExceptionKeysForMessage, isEvent, normalizeToSize } from '@sentry/utils';\nimport { computeStackTrace } from './tracekit';\nvar STACKTRACE_LIMIT = 50;\n/**\n * This function creates an exception from an TraceKitStackTrace\n * @param stacktrace TraceKitStackTrace that will be converted to an exception\n * @hidden\n */\nexport function exceptionFromStacktrace(stacktrace) {\n var frames = prepareFramesForEvent(stacktrace.stack);\n var exception = {\n type: stacktrace.name,\n value: stacktrace.message,\n };\n if (frames && frames.length) {\n exception.stacktrace = { frames: frames };\n }\n // tslint:disable-next-line:strict-type-predicates\n if (exception.type === undefined && exception.value === '') {\n exception.value = 'Unrecoverable error caught';\n }\n return exception;\n}\n/**\n * @hidden\n */\nexport function eventFromPlainObject(exception, syntheticException, rejection) {\n var event = {\n exception: {\n values: [\n {\n type: isEvent(exception) ? exception.constructor.name : rejection ? 'UnhandledRejection' : 'Error',\n value: \"Non-Error \" + (rejection ? 'promise rejection' : 'exception') + \" captured with keys: \" + extractExceptionKeysForMessage(exception),\n },\n ],\n },\n extra: {\n __serialized__: normalizeToSize(exception),\n },\n };\n if (syntheticException) {\n var stacktrace = computeStackTrace(syntheticException);\n var frames_1 = prepareFramesForEvent(stacktrace.stack);\n event.stacktrace = {\n frames: frames_1,\n };\n }\n return event;\n}\n/**\n * @hidden\n */\nexport function eventFromStacktrace(stacktrace) {\n var exception = exceptionFromStacktrace(stacktrace);\n return {\n exception: {\n values: [exception],\n },\n };\n}\n/**\n * @hidden\n */\nexport function prepareFramesForEvent(stack) {\n if (!stack || !stack.length) {\n return [];\n }\n var localStack = stack;\n var firstFrameFunction = localStack[0].func || '';\n var lastFrameFunction = localStack[localStack.length - 1].func || '';\n // If stack starts with one of our API calls, remove it (starts, meaning it's the top of the stack - aka last call)\n if (firstFrameFunction.indexOf('captureMessage') !== -1 || firstFrameFunction.indexOf('captureException') !== -1) {\n localStack = localStack.slice(1);\n }\n // If stack ends with one of our internal API calls, remove it (ends, meaning it's the bottom of the stack - aka top-most call)\n if (lastFrameFunction.indexOf('sentryWrapped') !== -1) {\n localStack = localStack.slice(0, -1);\n }\n // The frame where the crash happened, should be the last entry in the array\n return localStack\n .map(function (frame) { return ({\n colno: frame.column === null ? undefined : frame.column,\n filename: frame.url || localStack[0].url,\n function: frame.func || '?',\n in_app: true,\n lineno: frame.line === null ? undefined : frame.line,\n }); })\n .slice(0, STACKTRACE_LIMIT)\n .reverse();\n}\n//# sourceMappingURL=parsers.js.map","import { addExceptionMechanism, addExceptionTypeValue, isDOMError, isDOMException, isError, isErrorEvent, isEvent, isPlainObject, } from '@sentry/utils';\nimport { eventFromPlainObject, eventFromStacktrace, prepareFramesForEvent } from './parsers';\nimport { computeStackTrace } from './tracekit';\n/** JSDoc */\nexport function eventFromUnknownInput(exception, syntheticException, options) {\n if (options === void 0) { options = {}; }\n var event;\n if (isErrorEvent(exception) && exception.error) {\n // If it is an ErrorEvent with `error` property, extract it to get actual Error\n var errorEvent = exception;\n exception = errorEvent.error; // tslint:disable-line:no-parameter-reassignment\n event = eventFromStacktrace(computeStackTrace(exception));\n return event;\n }\n if (isDOMError(exception) || isDOMException(exception)) {\n // If it is a DOMError or DOMException (which are legacy APIs, but still supported in some browsers)\n // then we just extract the name and message, as they don't provide anything else\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMError\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMException\n var domException = exception;\n var name_1 = domException.name || (isDOMError(domException) ? 'DOMError' : 'DOMException');\n var message = domException.message ? name_1 + \": \" + domException.message : name_1;\n event = eventFromString(message, syntheticException, options);\n addExceptionTypeValue(event, message);\n return event;\n }\n if (isError(exception)) {\n // we have a real Error object, do nothing\n event = eventFromStacktrace(computeStackTrace(exception));\n return event;\n }\n if (isPlainObject(exception) || isEvent(exception)) {\n // If it is plain Object or Event, serialize it manually and extract options\n // This will allow us to group events based on top-level keys\n // which is much better than creating new group when any key/value change\n var objectException = exception;\n event = eventFromPlainObject(objectException, syntheticException, options.rejection);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n return event;\n }\n // If none of previous checks were valid, then it means that it's not:\n // - an instance of DOMError\n // - an instance of DOMException\n // - an instance of Event\n // - an instance of Error\n // - a valid ErrorEvent (one with an error property)\n // - a plain Object\n //\n // So bail out and capture it as a simple message:\n event = eventFromString(exception, syntheticException, options);\n addExceptionTypeValue(event, \"\" + exception, undefined);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n return event;\n}\n// this._options.attachStacktrace\n/** JSDoc */\nexport function eventFromString(input, syntheticException, options) {\n if (options === void 0) { options = {}; }\n var event = {\n message: input,\n };\n if (options.attachStacktrace && syntheticException) {\n var stacktrace = computeStackTrace(syntheticException);\n var frames_1 = prepareFramesForEvent(stacktrace.stack);\n event.stacktrace = {\n frames: frames_1,\n };\n }\n return event;\n}\n//# sourceMappingURL=eventbuilder.js.map","import { SentryError } from './error';\nimport { SyncPromise } from './syncpromise';\n/** A simple queue that holds promises. */\nvar PromiseBuffer = /** @class */ (function () {\n function PromiseBuffer(_limit) {\n this._limit = _limit;\n /** Internal set of queued Promises */\n this._buffer = [];\n }\n /**\n * Says if the buffer is ready to take more requests\n */\n PromiseBuffer.prototype.isReady = function () {\n return this._limit === undefined || this.length() < this._limit;\n };\n /**\n * Add a promise to the queue.\n *\n * @param task Can be any PromiseLike\n * @returns The original promise.\n */\n PromiseBuffer.prototype.add = function (task) {\n var _this = this;\n if (!this.isReady()) {\n return SyncPromise.reject(new SentryError('Not adding Promise due to buffer limit reached.'));\n }\n if (this._buffer.indexOf(task) === -1) {\n this._buffer.push(task);\n }\n task\n .then(function () { return _this.remove(task); })\n .then(null, function () {\n return _this.remove(task).then(null, function () {\n // We have to add this catch here otherwise we have an unhandledPromiseRejection\n // because it's a new Promise chain.\n });\n });\n return task;\n };\n /**\n * Remove a promise to the queue.\n *\n * @param task Can be any PromiseLike\n * @returns Removed promise.\n */\n PromiseBuffer.prototype.remove = function (task) {\n var removedTask = this._buffer.splice(this._buffer.indexOf(task), 1)[0];\n return removedTask;\n };\n /**\n * This function returns the number of unresolved promises in the queue.\n */\n PromiseBuffer.prototype.length = function () {\n return this._buffer.length;\n };\n /**\n * This will drain the whole queue, returns true if queue is empty or drained.\n * If timeout is provided and the queue takes longer to drain, the promise still resolves but with false.\n *\n * @param timeout Number in ms to wait until it resolves with false.\n */\n PromiseBuffer.prototype.drain = function (timeout) {\n var _this = this;\n return new SyncPromise(function (resolve) {\n var capturedSetTimeout = setTimeout(function () {\n if (timeout && timeout > 0) {\n resolve(false);\n }\n }, timeout);\n SyncPromise.all(_this._buffer)\n .then(function () {\n clearTimeout(capturedSetTimeout);\n resolve(true);\n })\n .then(null, function () {\n resolve(true);\n });\n });\n };\n return PromiseBuffer;\n}());\nexport { PromiseBuffer };\n//# sourceMappingURL=promisebuffer.js.map","import { API } from '@sentry/core';\nimport { PromiseBuffer, SentryError } from '@sentry/utils';\n/** Base Transport class implementation */\nvar BaseTransport = /** @class */ (function () {\n function BaseTransport(options) {\n this.options = options;\n /** A simple buffer holding all requests. */\n this._buffer = new PromiseBuffer(30);\n this.url = new API(this.options.dsn).getStoreEndpointWithUrlEncodedAuth();\n }\n /**\n * @inheritDoc\n */\n BaseTransport.prototype.sendEvent = function (_) {\n throw new SentryError('Transport Class has to implement `sendEvent` method');\n };\n /**\n * @inheritDoc\n */\n BaseTransport.prototype.close = function (timeout) {\n return this._buffer.drain(timeout);\n };\n return BaseTransport;\n}());\nexport { BaseTransport };\n//# sourceMappingURL=base.js.map","import * as tslib_1 from \"tslib\";\nimport { Status } from '@sentry/types';\nimport { getGlobalObject, logger, parseRetryAfterHeader, supportsReferrerPolicy, SyncPromise } from '@sentry/utils';\nimport { BaseTransport } from './base';\nvar global = getGlobalObject();\n/** `fetch` based transport */\nvar FetchTransport = /** @class */ (function (_super) {\n tslib_1.__extends(FetchTransport, _super);\n function FetchTransport() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n /** Locks transport after receiving 429 response */\n _this._disabledUntil = new Date(Date.now());\n return _this;\n }\n /**\n * @inheritDoc\n */\n FetchTransport.prototype.sendEvent = function (event) {\n var _this = this;\n if (new Date(Date.now()) < this._disabledUntil) {\n return Promise.reject({\n event: event,\n reason: \"Transport locked till \" + this._disabledUntil + \" due to too many requests.\",\n status: 429,\n });\n }\n var defaultOptions = {\n body: JSON.stringify(event),\n method: 'POST',\n // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default\n // https://caniuse.com/#feat=referrer-policy\n // It doesn't. And it throw exception instead of ignoring this parameter...\n // REF: https://github.com/getsentry/raven-js/issues/1233\n referrerPolicy: (supportsReferrerPolicy() ? 'origin' : ''),\n };\n if (this.options.headers !== undefined) {\n defaultOptions.headers = this.options.headers;\n }\n return this._buffer.add(new SyncPromise(function (resolve, reject) {\n global\n .fetch(_this.url, defaultOptions)\n .then(function (response) {\n var status = Status.fromHttpCode(response.status);\n if (status === Status.Success) {\n resolve({ status: status });\n return;\n }\n if (status === Status.RateLimit) {\n var now = Date.now();\n _this._disabledUntil = new Date(now + parseRetryAfterHeader(now, response.headers.get('Retry-After')));\n logger.warn(\"Too many requests, backing off till: \" + _this._disabledUntil);\n }\n reject(response);\n })\n .catch(reject);\n }));\n };\n return FetchTransport;\n}(BaseTransport));\nexport { FetchTransport };\n//# sourceMappingURL=fetch.js.map","import * as tslib_1 from \"tslib\";\nimport { Status } from '@sentry/types';\nimport { logger, parseRetryAfterHeader, SyncPromise } from '@sentry/utils';\nimport { BaseTransport } from './base';\n/** `XHR` based transport */\nvar XHRTransport = /** @class */ (function (_super) {\n tslib_1.__extends(XHRTransport, _super);\n function XHRTransport() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n /** Locks transport after receiving 429 response */\n _this._disabledUntil = new Date(Date.now());\n return _this;\n }\n /**\n * @inheritDoc\n */\n XHRTransport.prototype.sendEvent = function (event) {\n var _this = this;\n if (new Date(Date.now()) < this._disabledUntil) {\n return Promise.reject({\n event: event,\n reason: \"Transport locked till \" + this._disabledUntil + \" due to too many requests.\",\n status: 429,\n });\n }\n return this._buffer.add(new SyncPromise(function (resolve, reject) {\n var request = new XMLHttpRequest();\n request.onreadystatechange = function () {\n if (request.readyState !== 4) {\n return;\n }\n var status = Status.fromHttpCode(request.status);\n if (status === Status.Success) {\n resolve({ status: status });\n return;\n }\n if (status === Status.RateLimit) {\n var now = Date.now();\n _this._disabledUntil = new Date(now + parseRetryAfterHeader(now, request.getResponseHeader('Retry-After')));\n logger.warn(\"Too many requests, backing off till: \" + _this._disabledUntil);\n }\n reject(request);\n };\n request.open('POST', _this.url);\n for (var header in _this.options.headers) {\n if (_this.options.headers.hasOwnProperty(header)) {\n request.setRequestHeader(header, _this.options.headers[header]);\n }\n }\n request.send(JSON.stringify(event));\n }));\n };\n return XHRTransport;\n}(BaseTransport));\nexport { XHRTransport };\n//# sourceMappingURL=xhr.js.map","import * as tslib_1 from \"tslib\";\nimport { BaseBackend } from '@sentry/core';\nimport { Severity } from '@sentry/types';\nimport { addExceptionMechanism, supportsFetch, SyncPromise } from '@sentry/utils';\nimport { eventFromString, eventFromUnknownInput } from './eventbuilder';\nimport { FetchTransport, XHRTransport } from './transports';\n/**\n * The Sentry Browser SDK Backend.\n * @hidden\n */\nvar BrowserBackend = /** @class */ (function (_super) {\n tslib_1.__extends(BrowserBackend, _super);\n function BrowserBackend() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @inheritDoc\n */\n BrowserBackend.prototype._setupTransport = function () {\n if (!this._options.dsn) {\n // We return the noop transport here in case there is no Dsn.\n return _super.prototype._setupTransport.call(this);\n }\n var transportOptions = tslib_1.__assign({}, this._options.transportOptions, { dsn: this._options.dsn });\n if (this._options.transport) {\n return new this._options.transport(transportOptions);\n }\n if (supportsFetch()) {\n return new FetchTransport(transportOptions);\n }\n return new XHRTransport(transportOptions);\n };\n /**\n * @inheritDoc\n */\n BrowserBackend.prototype.eventFromException = function (exception, hint) {\n var syntheticException = (hint && hint.syntheticException) || undefined;\n var event = eventFromUnknownInput(exception, syntheticException, {\n attachStacktrace: this._options.attachStacktrace,\n });\n addExceptionMechanism(event, {\n handled: true,\n type: 'generic',\n });\n event.level = Severity.Error;\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return SyncPromise.resolve(event);\n };\n /**\n * @inheritDoc\n */\n BrowserBackend.prototype.eventFromMessage = function (message, level, hint) {\n if (level === void 0) { level = Severity.Info; }\n var syntheticException = (hint && hint.syntheticException) || undefined;\n var event = eventFromString(message, syntheticException, {\n attachStacktrace: this._options.attachStacktrace,\n });\n event.level = level;\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return SyncPromise.resolve(event);\n };\n return BrowserBackend;\n}(BaseBackend));\nexport { BrowserBackend };\n//# sourceMappingURL=backend.js.map","import * as tslib_1 from \"tslib\";\nimport { API, BaseClient } from '@sentry/core';\nimport { getGlobalObject, logger } from '@sentry/utils';\nimport { BrowserBackend } from './backend';\nimport { SDK_NAME, SDK_VERSION } from './version';\n/**\n * The Sentry Browser SDK Client.\n *\n * @see BrowserOptions for documentation on configuration options.\n * @see SentryClient for usage documentation.\n */\nvar BrowserClient = /** @class */ (function (_super) {\n tslib_1.__extends(BrowserClient, _super);\n /**\n * Creates a new Browser SDK instance.\n *\n * @param options Configuration options for this SDK.\n */\n function BrowserClient(options) {\n if (options === void 0) { options = {}; }\n return _super.call(this, BrowserBackend, options) || this;\n }\n /**\n * @inheritDoc\n */\n BrowserClient.prototype._prepareEvent = function (event, scope, hint) {\n event.platform = event.platform || 'javascript';\n event.sdk = tslib_1.__assign({}, event.sdk, { name: SDK_NAME, packages: tslib_1.__spread(((event.sdk && event.sdk.packages) || []), [\n {\n name: 'npm:@sentry/browser',\n version: SDK_VERSION,\n },\n ]), version: SDK_VERSION });\n return _super.prototype._prepareEvent.call(this, event, scope, hint);\n };\n /**\n * Show a report dialog to the user to send feedback to a specific event.\n *\n * @param options Set individual options for the dialog\n */\n BrowserClient.prototype.showReportDialog = function (options) {\n if (options === void 0) { options = {}; }\n // doesn't work without a document (React Native)\n var document = getGlobalObject().document;\n if (!document) {\n return;\n }\n if (!this._isEnabled()) {\n logger.error('Trying to call showReportDialog with Sentry Client is disabled');\n return;\n }\n var dsn = options.dsn || this.getDsn();\n if (!options.eventId) {\n logger.error('Missing `eventId` option in showReportDialog call');\n return;\n }\n if (!dsn) {\n logger.error('Missing `Dsn` option in showReportDialog call');\n return;\n }\n var script = document.createElement('script');\n script.async = true;\n script.src = new API(dsn).getReportDialogEndpoint(options);\n if (options.onLoad) {\n script.onload = options.onLoad;\n }\n (document.head || document.body).appendChild(script);\n };\n return BrowserClient;\n}(BaseClient));\nexport { BrowserClient };\n//# sourceMappingURL=client.js.map","export var SDK_NAME = 'sentry.javascript.browser';\nexport var SDK_VERSION = '5.15.5';\n//# sourceMappingURL=version.js.map","import * as tslib_1 from \"tslib\";\nimport { captureException, withScope } from '@sentry/core';\nimport { addExceptionMechanism, addExceptionTypeValue } from '@sentry/utils';\nvar ignoreOnError = 0;\n/**\n * @hidden\n */\nexport function shouldIgnoreOnError() {\n return ignoreOnError > 0;\n}\n/**\n * @hidden\n */\nexport function ignoreNextOnError() {\n // onerror should trigger before setTimeout\n ignoreOnError += 1;\n setTimeout(function () {\n ignoreOnError -= 1;\n });\n}\n/**\n * Instruments the given function and sends an event to Sentry every time the\n * function throws an exception.\n *\n * @param fn A function to wrap.\n * @returns The wrapped function.\n * @hidden\n */\nexport function wrap(fn, options, before) {\n if (options === void 0) { options = {}; }\n // tslint:disable-next-line:strict-type-predicates\n if (typeof fn !== 'function') {\n return fn;\n }\n try {\n // We don't wanna wrap it twice\n if (fn.__sentry__) {\n return fn;\n }\n // If this has already been wrapped in the past, return that wrapped function\n if (fn.__sentry_wrapped__) {\n return fn.__sentry_wrapped__;\n }\n }\n catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n // Bail on wrapping and return the function as-is (defers to window.onerror).\n return fn;\n }\n var sentryWrapped = function () {\n var args = Array.prototype.slice.call(arguments);\n // tslint:disable:no-unsafe-any\n try {\n // tslint:disable-next-line:strict-type-predicates\n if (before && typeof before === 'function') {\n before.apply(this, arguments);\n }\n var wrappedArguments = args.map(function (arg) { return wrap(arg, options); });\n if (fn.handleEvent) {\n // Attempt to invoke user-land function\n // NOTE: If you are a Sentry user, and you are seeing this stack frame, it\n // means the sentry.javascript SDK caught an error invoking your application code. This\n // is expected behavior and NOT indicative of a bug with sentry.javascript.\n return fn.handleEvent.apply(this, wrappedArguments);\n }\n // Attempt to invoke user-land function\n // NOTE: If you are a Sentry user, and you are seeing this stack frame, it\n // means the sentry.javascript SDK caught an error invoking your application code. This\n // is expected behavior and NOT indicative of a bug with sentry.javascript.\n return fn.apply(this, wrappedArguments);\n // tslint:enable:no-unsafe-any\n }\n catch (ex) {\n ignoreNextOnError();\n withScope(function (scope) {\n scope.addEventProcessor(function (event) {\n var processedEvent = tslib_1.__assign({}, event);\n if (options.mechanism) {\n addExceptionTypeValue(processedEvent, undefined, undefined);\n addExceptionMechanism(processedEvent, options.mechanism);\n }\n processedEvent.extra = tslib_1.__assign({}, processedEvent.extra, { arguments: args });\n return processedEvent;\n });\n captureException(ex);\n });\n throw ex;\n }\n };\n // Accessing some objects may throw\n // ref: https://github.com/getsentry/sentry-javascript/issues/1168\n try {\n for (var property in fn) {\n if (Object.prototype.hasOwnProperty.call(fn, property)) {\n sentryWrapped[property] = fn[property];\n }\n }\n }\n catch (_oO) { } // tslint:disable-line:no-empty\n fn.prototype = fn.prototype || {};\n sentryWrapped.prototype = fn.prototype;\n Object.defineProperty(fn, '__sentry_wrapped__', {\n enumerable: false,\n value: sentryWrapped,\n });\n // Signal that this function has been wrapped/filled already\n // for both debugging and to prevent it to being wrapped/filled twice\n Object.defineProperties(sentryWrapped, {\n __sentry__: {\n enumerable: false,\n value: true,\n },\n __sentry_original__: {\n enumerable: false,\n value: fn,\n },\n });\n // Restore original function name (not all browsers allow that)\n try {\n var descriptor = Object.getOwnPropertyDescriptor(sentryWrapped, 'name');\n if (descriptor.configurable) {\n Object.defineProperty(sentryWrapped, 'name', {\n get: function () {\n return fn.name;\n },\n });\n }\n }\n catch (_oO) {\n /*no-empty*/\n }\n return sentryWrapped;\n}\n//# sourceMappingURL=helpers.js.map","import { fill, getFunctionName, getGlobalObject } from '@sentry/utils';\nimport { wrap } from '../helpers';\n/** Wrap timer functions and event targets to catch errors and provide better meta data */\nvar TryCatch = /** @class */ (function () {\n function TryCatch() {\n /** JSDoc */\n this._ignoreOnError = 0;\n /**\n * @inheritDoc\n */\n this.name = TryCatch.id;\n }\n /** JSDoc */\n TryCatch.prototype._wrapTimeFunction = function (original) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var originalCallback = args[0];\n args[0] = wrap(originalCallback, {\n mechanism: {\n data: { function: getFunctionName(original) },\n handled: true,\n type: 'instrument',\n },\n });\n return original.apply(this, args);\n };\n };\n /** JSDoc */\n TryCatch.prototype._wrapRAF = function (original) {\n return function (callback) {\n return original(wrap(callback, {\n mechanism: {\n data: {\n function: 'requestAnimationFrame',\n handler: getFunctionName(original),\n },\n handled: true,\n type: 'instrument',\n },\n }));\n };\n };\n /** JSDoc */\n TryCatch.prototype._wrapEventTarget = function (target) {\n var global = getGlobalObject();\n var proto = global[target] && global[target].prototype;\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n fill(proto, 'addEventListener', function (original) {\n return function (eventName, fn, options) {\n try {\n // tslint:disable-next-line:no-unbound-method strict-type-predicates\n if (typeof fn.handleEvent === 'function') {\n fn.handleEvent = wrap(fn.handleEvent.bind(fn), {\n mechanism: {\n data: {\n function: 'handleEvent',\n handler: getFunctionName(fn),\n target: target,\n },\n handled: true,\n type: 'instrument',\n },\n });\n }\n }\n catch (err) {\n // can sometimes get 'Permission denied to access property \"handle Event'\n }\n return original.call(this, eventName, wrap(fn, {\n mechanism: {\n data: {\n function: 'addEventListener',\n handler: getFunctionName(fn),\n target: target,\n },\n handled: true,\n type: 'instrument',\n },\n }), options);\n };\n });\n fill(proto, 'removeEventListener', function (original) {\n return function (eventName, fn, options) {\n var callback = fn;\n try {\n callback = callback && (callback.__sentry_wrapped__ || callback);\n }\n catch (e) {\n // ignore, accessing __sentry_wrapped__ will throw in some Selenium environments\n }\n return original.call(this, eventName, callback, options);\n };\n });\n };\n /** JSDoc */\n TryCatch.prototype._wrapXHR = function (originalSend) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var xhr = this; // tslint:disable-line:no-this-assignment\n var xmlHttpRequestProps = ['onload', 'onerror', 'onprogress', 'onreadystatechange'];\n xmlHttpRequestProps.forEach(function (prop) {\n if (prop in xhr && typeof xhr[prop] === 'function') {\n fill(xhr, prop, function (original) {\n var wrapOptions = {\n mechanism: {\n data: {\n function: prop,\n handler: getFunctionName(original),\n },\n handled: true,\n type: 'instrument',\n },\n };\n // If Instrument integration has been called before TryCatch, get the name of original function\n if (original.__sentry_original__) {\n wrapOptions.mechanism.data.handler = getFunctionName(original.__sentry_original__);\n }\n // Otherwise wrap directly\n return wrap(original, wrapOptions);\n });\n }\n });\n return originalSend.apply(this, args);\n };\n };\n /**\n * Wrap timer functions and event targets to catch errors\n * and provide better metadata.\n */\n TryCatch.prototype.setupOnce = function () {\n this._ignoreOnError = this._ignoreOnError;\n var global = getGlobalObject();\n fill(global, 'setTimeout', this._wrapTimeFunction.bind(this));\n fill(global, 'setInterval', this._wrapTimeFunction.bind(this));\n fill(global, 'requestAnimationFrame', this._wrapRAF.bind(this));\n if ('XMLHttpRequest' in global) {\n fill(XMLHttpRequest.prototype, 'send', this._wrapXHR.bind(this));\n }\n [\n 'EventTarget',\n 'Window',\n 'Node',\n 'ApplicationCache',\n 'AudioTrackList',\n 'ChannelMergerNode',\n 'CryptoOperation',\n 'EventSource',\n 'FileReader',\n 'HTMLUnknownElement',\n 'IDBDatabase',\n 'IDBRequest',\n 'IDBTransaction',\n 'KeyOperation',\n 'MediaController',\n 'MessagePort',\n 'ModalWindow',\n 'Notification',\n 'SVGElementInstance',\n 'Screen',\n 'TextTrack',\n 'TextTrackCue',\n 'TextTrackList',\n 'WebSocket',\n 'WebSocketWorker',\n 'Worker',\n 'XMLHttpRequest',\n 'XMLHttpRequestEventTarget',\n 'XMLHttpRequestUpload',\n ].forEach(this._wrapEventTarget.bind(this));\n };\n /**\n * @inheritDoc\n */\n TryCatch.id = 'TryCatch';\n return TryCatch;\n}());\nexport { TryCatch };\n//# sourceMappingURL=trycatch.js.map","/* tslint:disable:only-arrow-functions no-unsafe-any */\nimport * as tslib_1 from \"tslib\";\nimport { isInstanceOf, isString } from './is';\nimport { logger } from './logger';\nimport { getFunctionName, getGlobalObject } from './misc';\nimport { fill } from './object';\nimport { supportsHistory, supportsNativeFetch } from './supports';\nvar global = getGlobalObject();\n/**\n * Instrument native APIs to call handlers that can be used to create breadcrumbs, APM spans etc.\n * - Console API\n * - Fetch API\n * - XHR API\n * - History API\n * - DOM API (click/typing)\n * - Error API\n * - UnhandledRejection API\n */\nvar handlers = {};\nvar instrumented = {};\n/** Instruments given API */\nfunction instrument(type) {\n if (instrumented[type]) {\n return;\n }\n instrumented[type] = true;\n switch (type) {\n case 'console':\n instrumentConsole();\n break;\n case 'dom':\n instrumentDOM();\n break;\n case 'xhr':\n instrumentXHR();\n break;\n case 'fetch':\n instrumentFetch();\n break;\n case 'history':\n instrumentHistory();\n break;\n case 'error':\n instrumentError();\n break;\n case 'unhandledrejection':\n instrumentUnhandledRejection();\n break;\n default:\n logger.warn('unknown instrumentation type:', type);\n }\n}\n/**\n * Add handler that will be called when given type of instrumentation triggers.\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nexport function addInstrumentationHandler(handler) {\n // tslint:disable-next-line:strict-type-predicates\n if (!handler || typeof handler.type !== 'string' || typeof handler.callback !== 'function') {\n return;\n }\n handlers[handler.type] = handlers[handler.type] || [];\n handlers[handler.type].push(handler.callback);\n instrument(handler.type);\n}\n/** JSDoc */\nfunction triggerHandlers(type, data) {\n var e_1, _a;\n if (!type || !handlers[type]) {\n return;\n }\n try {\n for (var _b = tslib_1.__values(handlers[type] || []), _c = _b.next(); !_c.done; _c = _b.next()) {\n var handler = _c.value;\n try {\n handler(data);\n }\n catch (e) {\n logger.error(\"Error while triggering instrumentation handler.\\nType: \" + type + \"\\nName: \" + getFunctionName(handler) + \"\\nError: \" + e);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n}\n/** JSDoc */\nfunction instrumentConsole() {\n if (!('console' in global)) {\n return;\n }\n ['debug', 'info', 'warn', 'error', 'log', 'assert'].forEach(function (level) {\n if (!(level in global.console)) {\n return;\n }\n fill(global.console, level, function (originalConsoleLevel) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n triggerHandlers('console', { args: args, level: level });\n // this fails for some browsers. :(\n if (originalConsoleLevel) {\n Function.prototype.apply.call(originalConsoleLevel, global.console, args);\n }\n };\n });\n });\n}\n/** JSDoc */\nfunction instrumentFetch() {\n if (!supportsNativeFetch()) {\n return;\n }\n fill(global, 'fetch', function (originalFetch) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var commonHandlerData = {\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({}, commonHandlerData));\n return originalFetch.apply(global, args).then(function (response) {\n triggerHandlers('fetch', tslib_1.__assign({}, commonHandlerData, { endTimestamp: Date.now(), response: response }));\n return response;\n }, function (error) {\n triggerHandlers('fetch', tslib_1.__assign({}, commonHandlerData, { endTimestamp: Date.now(), error: error }));\n throw error;\n });\n };\n });\n}\n/** Extract `method` from fetch call arguments */\nfunction getFetchMethod(fetchArgs) {\n if (fetchArgs === void 0) { fetchArgs = []; }\n if ('Request' in global && isInstanceOf(fetchArgs[0], Request) && fetchArgs[0].method) {\n return String(fetchArgs[0].method).toUpperCase();\n }\n if (fetchArgs[1] && fetchArgs[1].method) {\n return String(fetchArgs[1].method).toUpperCase();\n }\n return 'GET';\n}\n/** Extract `url` from fetch call arguments */\nfunction getFetchUrl(fetchArgs) {\n if (fetchArgs === void 0) { fetchArgs = []; }\n if (typeof fetchArgs[0] === 'string') {\n return fetchArgs[0];\n }\n if ('Request' in global && isInstanceOf(fetchArgs[0], Request)) {\n return fetchArgs[0].url;\n }\n return String(fetchArgs[0]);\n}\n/** JSDoc */\nfunction instrumentXHR() {\n if (!('XMLHttpRequest' in global)) {\n return;\n }\n var xhrproto = XMLHttpRequest.prototype;\n fill(xhrproto, 'open', function (originalOpen) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var url = args[1];\n this.__sentry_xhr__ = {\n method: isString(args[0]) ? args[0].toUpperCase() : args[0],\n url: args[1],\n };\n // if Sentry key appears in URL, don't capture it as a request\n if (isString(url) && this.__sentry_xhr__.method === 'POST' && url.match(/sentry_key/)) {\n this.__sentry_own_request__ = true;\n }\n return originalOpen.apply(this, args);\n };\n });\n fill(xhrproto, 'send', function (originalSend) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var xhr = this; // tslint:disable-line:no-this-assignment\n var commonHandlerData = {\n args: args,\n startTimestamp: Date.now(),\n xhr: xhr,\n };\n triggerHandlers('xhr', tslib_1.__assign({}, commonHandlerData));\n xhr.addEventListener('readystatechange', function () {\n if (xhr.readyState === 4) {\n try {\n // touching statusCode in some platforms throws\n // an exception\n if (xhr.__sentry_xhr__) {\n xhr.__sentry_xhr__.status_code = xhr.status;\n }\n }\n catch (e) {\n /* do nothing */\n }\n triggerHandlers('xhr', tslib_1.__assign({}, commonHandlerData, { endTimestamp: Date.now() }));\n }\n });\n return originalSend.apply(this, args);\n };\n });\n}\nvar lastHref;\n/** JSDoc */\nfunction instrumentHistory() {\n if (!supportsHistory()) {\n return;\n }\n var oldOnPopState = global.onpopstate;\n global.onpopstate = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var to = global.location.href;\n // keep track of the current URL state, as we always receive only the updated state\n var from = lastHref;\n lastHref = to;\n triggerHandlers('history', {\n from: from,\n to: to,\n });\n if (oldOnPopState) {\n return oldOnPopState.apply(this, args);\n }\n };\n /** @hidden */\n function historyReplacementFunction(originalHistoryFunction) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var url = args.length > 2 ? args[2] : undefined;\n if (url) {\n // coerce to string (this is what pushState does)\n var from = lastHref;\n var to = String(url);\n // keep track of the current URL state, as we always receive only the updated state\n lastHref = to;\n triggerHandlers('history', {\n from: from,\n to: to,\n });\n }\n return originalHistoryFunction.apply(this, args);\n };\n }\n fill(global.history, 'pushState', historyReplacementFunction);\n fill(global.history, 'replaceState', historyReplacementFunction);\n}\n/** JSDoc */\nfunction instrumentDOM() {\n if (!('document' in global)) {\n return;\n }\n // Capture breadcrumbs from any click that is unhandled / bubbled up all the way\n // to the document. Do this before we instrument addEventListener.\n global.document.addEventListener('click', domEventHandler('click', triggerHandlers.bind(null, 'dom')), false);\n global.document.addEventListener('keypress', keypressEventHandler(triggerHandlers.bind(null, 'dom')), false);\n // After hooking into document bubbled up click and keypresses events, we also hook into user handled click & keypresses.\n ['EventTarget', 'Node'].forEach(function (target) {\n var proto = global[target] && global[target].prototype;\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n fill(proto, 'addEventListener', function (original) {\n return function (eventName, fn, options) {\n if (fn && fn.handleEvent) {\n if (eventName === 'click') {\n fill(fn, 'handleEvent', function (innerOriginal) {\n return function (event) {\n domEventHandler('click', triggerHandlers.bind(null, 'dom'))(event);\n return innerOriginal.call(this, event);\n };\n });\n }\n if (eventName === 'keypress') {\n fill(fn, 'handleEvent', function (innerOriginal) {\n return function (event) {\n keypressEventHandler(triggerHandlers.bind(null, 'dom'))(event);\n return innerOriginal.call(this, event);\n };\n });\n }\n }\n else {\n if (eventName === 'click') {\n domEventHandler('click', triggerHandlers.bind(null, 'dom'), true)(this);\n }\n if (eventName === 'keypress') {\n keypressEventHandler(triggerHandlers.bind(null, 'dom'))(this);\n }\n }\n return original.call(this, eventName, fn, options);\n };\n });\n fill(proto, 'removeEventListener', function (original) {\n return function (eventName, fn, options) {\n var callback = fn;\n try {\n callback = callback && (callback.__sentry_wrapped__ || callback);\n }\n catch (e) {\n // ignore, accessing __sentry_wrapped__ will throw in some Selenium environments\n }\n return original.call(this, eventName, callback, options);\n };\n });\n });\n}\nvar debounceDuration = 1000;\nvar debounceTimer = 0;\nvar keypressTimeout;\nvar lastCapturedEvent;\n/**\n * Wraps addEventListener to capture UI breadcrumbs\n * @param name the event name (e.g. \"click\")\n * @param handler function that will be triggered\n * @param debounce decides whether it should wait till another event loop\n * @returns wrapped breadcrumb events handler\n * @hidden\n */\nfunction domEventHandler(name, handler, debounce) {\n if (debounce === void 0) { debounce = false; }\n return function (event) {\n // reset keypress timeout; e.g. triggering a 'click' after\n // a 'keypress' will reset the keypress debounce so that a new\n // set of keypresses can be recorded\n keypressTimeout = undefined;\n // It's possible this handler might trigger multiple times for the same\n // event (e.g. event propagation through node ancestors). Ignore if we've\n // already captured the event.\n if (!event || lastCapturedEvent === event) {\n return;\n }\n lastCapturedEvent = event;\n if (debounceTimer) {\n clearTimeout(debounceTimer);\n }\n if (debounce) {\n debounceTimer = setTimeout(function () {\n handler({ event: event, name: name });\n });\n }\n else {\n handler({ event: event, name: name });\n }\n };\n}\n/**\n * Wraps addEventListener to capture keypress UI events\n * @param handler function that will be triggered\n * @returns wrapped keypress events handler\n * @hidden\n */\nfunction keypressEventHandler(handler) {\n // TODO: if somehow user switches keypress target before\n // debounce timeout is triggered, we will only capture\n // a single breadcrumb from the FIRST target (acceptable?)\n return function (event) {\n var target;\n try {\n target = event.target;\n }\n catch (e) {\n // just accessing event properties can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/raven-js/issues/838\n return;\n }\n var tagName = target && target.tagName;\n // only consider keypress events on actual input elements\n // this will disregard keypresses targeting body (e.g. tabbing\n // through elements, hotkeys, etc)\n if (!tagName || (tagName !== 'INPUT' && tagName !== 'TEXTAREA' && !target.isContentEditable)) {\n return;\n }\n // record first keypress in a series, but ignore subsequent\n // keypresses until debounce clears\n if (!keypressTimeout) {\n domEventHandler('input', handler)(event);\n }\n clearTimeout(keypressTimeout);\n keypressTimeout = setTimeout(function () {\n keypressTimeout = undefined;\n }, debounceDuration);\n };\n}\nvar _oldOnErrorHandler = null;\n/** JSDoc */\nfunction instrumentError() {\n _oldOnErrorHandler = global.onerror;\n global.onerror = function (msg, url, line, column, error) {\n triggerHandlers('error', {\n column: column,\n error: error,\n line: line,\n msg: msg,\n url: url,\n });\n if (_oldOnErrorHandler) {\n return _oldOnErrorHandler.apply(this, arguments);\n }\n return false;\n };\n}\nvar _oldOnUnhandledRejectionHandler = null;\n/** JSDoc */\nfunction instrumentUnhandledRejection() {\n _oldOnUnhandledRejectionHandler = global.onunhandledrejection;\n global.onunhandledrejection = function (e) {\n triggerHandlers('unhandledrejection', e);\n if (_oldOnUnhandledRejectionHandler) {\n return _oldOnUnhandledRejectionHandler.apply(this, arguments);\n }\n return true;\n };\n}\n//# sourceMappingURL=instrument.js.map","import * as tslib_1 from \"tslib\";\nimport { API, getCurrentHub } from '@sentry/core';\nimport { Severity } from '@sentry/types';\nimport { addInstrumentationHandler, getEventDescription, getGlobalObject, htmlTreeAsString, logger, parseUrl, safeJoin, } from '@sentry/utils';\n/**\n * Default Breadcrumbs instrumentations\n * TODO: Deprecated - with v6, this will be renamed to `Instrument`\n */\nvar Breadcrumbs = /** @class */ (function () {\n /**\n * @inheritDoc\n */\n function Breadcrumbs(options) {\n /**\n * @inheritDoc\n */\n this.name = Breadcrumbs.id;\n this._options = tslib_1.__assign({ console: true, dom: true, fetch: true, history: true, sentry: true, xhr: true }, options);\n }\n /**\n * Creates breadcrumbs from console API calls\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: Severity.fromString(handlerData.level),\n message: safeJoin(handlerData.args, ' '),\n };\n if (handlerData.level === 'assert') {\n if (handlerData.args[0] === false) {\n breadcrumb.message = \"Assertion failed: \" + (safeJoin(handlerData.args.slice(1), ' ') || 'console.assert');\n breadcrumb.data.arguments = handlerData.args.slice(1);\n }\n else {\n // Don't capture a breadcrumb for passed assertions\n return;\n }\n }\n getCurrentHub().addBreadcrumb(breadcrumb, {\n input: handlerData.args,\n level: handlerData.level,\n });\n };\n /**\n * Creates breadcrumbs from DOM API calls\n */\n Breadcrumbs.prototype._domBreadcrumb = function (handlerData) {\n var target;\n // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n try {\n target = handlerData.event.target\n ? htmlTreeAsString(handlerData.event.target)\n : htmlTreeAsString(handlerData.event);\n }\n catch (e) {\n target = '';\n }\n if (target.length === 0) {\n return;\n }\n getCurrentHub().addBreadcrumb({\n category: \"ui.\" + handlerData.name,\n message: target,\n }, {\n event: handlerData.event,\n name: handlerData.name,\n });\n };\n /**\n * Creates breadcrumbs from XHR API calls\n */\n 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 getCurrentHub().addBreadcrumb({\n category: 'xhr',\n data: handlerData.xhr.__sentry_xhr__,\n type: 'http',\n }, {\n xhr: handlerData.xhr,\n });\n return;\n }\n // We only capture issued sentry requests\n if (this._options.sentry && handlerData.xhr.__sentry_own_request__) {\n addSentryBreadcrumb(handlerData.args[0]);\n }\n };\n /**\n * Creates breadcrumbs from fetch API calls\n */\n Breadcrumbs.prototype._fetchBreadcrumb = function (handlerData) {\n // We only capture complete fetch requests\n if (!handlerData.endTimestamp) {\n return;\n }\n var client = getCurrentHub().getClient();\n var dsn = client && client.getDsn();\n if (this._options.sentry && dsn) {\n var filterUrl = new API(dsn).getStoreEndpoint();\n // if Sentry key appears in URL, don't capture it as a request\n // but rather as our own 'sentry' type breadcrumb\n if (filterUrl &&\n handlerData.fetchData.url.indexOf(filterUrl) !== -1 &&\n handlerData.fetchData.method === 'POST' &&\n handlerData.args[1] &&\n handlerData.args[1].body) {\n addSentryBreadcrumb(handlerData.args[1].body);\n return;\n }\n }\n if (handlerData.error) {\n getCurrentHub().addBreadcrumb({\n category: 'fetch',\n data: tslib_1.__assign({}, handlerData.fetchData, { status_code: handlerData.response.status }),\n level: Severity.Error,\n type: 'http',\n }, {\n data: handlerData.error,\n input: handlerData.args,\n });\n }\n else {\n getCurrentHub().addBreadcrumb({\n category: 'fetch',\n data: tslib_1.__assign({}, handlerData.fetchData, { status_code: handlerData.response.status }),\n type: 'http',\n }, {\n input: handlerData.args,\n response: handlerData.response,\n });\n }\n };\n /**\n * Creates breadcrumbs from history API calls\n */\n Breadcrumbs.prototype._historyBreadcrumb = function (handlerData) {\n var global = getGlobalObject();\n var from = handlerData.from;\n var to = handlerData.to;\n var parsedLoc = parseUrl(global.location.href);\n var parsedFrom = parseUrl(from);\n var parsedTo = parseUrl(to);\n // Initial pushState doesn't provide `from` information\n if (!parsedFrom.path) {\n parsedFrom = parsedLoc;\n }\n // Use only the path component of the URL if the URL matches the current\n // document (almost all the time when using pushState)\n if (parsedLoc.protocol === parsedTo.protocol && parsedLoc.host === parsedTo.host) {\n // tslint:disable-next-line:no-parameter-reassignment\n to = parsedTo.relative;\n }\n if (parsedLoc.protocol === parsedFrom.protocol && parsedLoc.host === parsedFrom.host) {\n // tslint:disable-next-line:no-parameter-reassignment\n from = parsedFrom.relative;\n }\n getCurrentHub().addBreadcrumb({\n category: 'navigation',\n data: {\n from: from,\n to: to,\n },\n });\n };\n /**\n * Instrument browser built-ins w/ breadcrumb capturing\n * - Console API\n * - DOM API (click/typing)\n * - XMLHttpRequest API\n * - Fetch API\n * - History API\n */\n Breadcrumbs.prototype.setupOnce = function () {\n var _this = this;\n if (this._options.console) {\n addInstrumentationHandler({\n callback: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this._consoleBreadcrumb.apply(_this, tslib_1.__spread(args));\n },\n type: 'console',\n });\n }\n if (this._options.dom) {\n addInstrumentationHandler({\n callback: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this._domBreadcrumb.apply(_this, tslib_1.__spread(args));\n },\n type: 'dom',\n });\n }\n if (this._options.xhr) {\n addInstrumentationHandler({\n callback: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this._xhrBreadcrumb.apply(_this, tslib_1.__spread(args));\n },\n type: 'xhr',\n });\n }\n if (this._options.fetch) {\n addInstrumentationHandler({\n callback: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this._fetchBreadcrumb.apply(_this, tslib_1.__spread(args));\n },\n type: 'fetch',\n });\n }\n if (this._options.history) {\n addInstrumentationHandler({\n callback: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this._historyBreadcrumb.apply(_this, tslib_1.__spread(args));\n },\n type: 'history',\n });\n }\n };\n /**\n * @inheritDoc\n */\n Breadcrumbs.id = 'Breadcrumbs';\n return Breadcrumbs;\n}());\nexport { Breadcrumbs };\n/**\n * Create a breadcrumb of `sentry` from the events themselves\n */\nfunction addSentryBreadcrumb(serializedData) {\n // There's always something that can go wrong with deserialization...\n try {\n var event_1 = JSON.parse(serializedData);\n getCurrentHub().addBreadcrumb({\n category: \"sentry.\" + (event_1.type === 'transaction' ? 'transaction' : 'event'),\n event_id: event_1.event_id,\n level: event_1.level || Severity.fromString('error'),\n message: getEventDescription(event_1),\n }, {\n event: event_1,\n });\n }\n catch (_oO) {\n logger.error('Error while adding sentry type breadcrumb');\n }\n}\n//# sourceMappingURL=breadcrumbs.js.map","import * as tslib_1 from \"tslib\";\nimport { getCurrentHub } from '@sentry/core';\nimport { Severity } from '@sentry/types';\nimport { addExceptionMechanism, addInstrumentationHandler, getLocationHref, isErrorEvent, isPrimitive, isString, logger, } from '@sentry/utils';\nimport { eventFromUnknownInput } from '../eventbuilder';\nimport { shouldIgnoreOnError } from '../helpers';\n/** Global handlers */\nvar GlobalHandlers = /** @class */ (function () {\n /** JSDoc */\n function GlobalHandlers(options) {\n /**\n * @inheritDoc\n */\n this.name = GlobalHandlers.id;\n /** JSDoc */\n this._onErrorHandlerInstalled = false;\n /** JSDoc */\n this._onUnhandledRejectionHandlerInstalled = false;\n this._options = tslib_1.__assign({ onerror: true, onunhandledrejection: true }, options);\n }\n /**\n * @inheritDoc\n */\n GlobalHandlers.prototype.setupOnce = function () {\n Error.stackTraceLimit = 50;\n if (this._options.onerror) {\n logger.log('Global Handler attached: onerror');\n this._installGlobalOnErrorHandler();\n }\n if (this._options.onunhandledrejection) {\n logger.log('Global Handler attached: onunhandledrejection');\n this._installGlobalOnUnhandledRejectionHandler();\n }\n };\n /** JSDoc */\n GlobalHandlers.prototype._installGlobalOnErrorHandler = function () {\n var _this = this;\n if (this._onErrorHandlerInstalled) {\n return;\n }\n addInstrumentationHandler({\n callback: function (data) {\n var error = data.error;\n var currentHub = getCurrentHub();\n var hasIntegration = currentHub.getIntegration(GlobalHandlers);\n var isFailedOwnDelivery = error && error.__sentry_own_request__ === true;\n if (!hasIntegration || shouldIgnoreOnError() || isFailedOwnDelivery) {\n return;\n }\n var client = currentHub.getClient();\n var event = isPrimitive(error)\n ? _this._eventFromIncompleteOnError(data.msg, data.url, data.line, data.column)\n : _this._enhanceEventWithInitialFrame(eventFromUnknownInput(error, undefined, {\n attachStacktrace: client && client.getOptions().attachStacktrace,\n rejection: false,\n }), data.url, data.line, data.column);\n addExceptionMechanism(event, {\n handled: false,\n type: 'onerror',\n });\n currentHub.captureEvent(event, {\n originalException: error,\n });\n },\n type: 'error',\n });\n this._onErrorHandlerInstalled = true;\n };\n /** JSDoc */\n GlobalHandlers.prototype._installGlobalOnUnhandledRejectionHandler = function () {\n var _this = this;\n if (this._onUnhandledRejectionHandlerInstalled) {\n return;\n }\n addInstrumentationHandler({\n callback: function (e) {\n var error = e;\n // dig the object of the rejection out of known event types\n try {\n // PromiseRejectionEvents store the object of the rejection under 'reason'\n // see https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent\n if ('reason' in e) {\n error = e.reason;\n }\n // something, somewhere, (likely a browser extension) effectively casts PromiseRejectionEvents\n // to CustomEvents, moving the `promise` and `reason` attributes of the PRE into\n // the CustomEvent's `detail` attribute, since they're not part of CustomEvent's spec\n // see https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent and\n // https://github.com/getsentry/sentry-javascript/issues/2380\n else if ('detail' in e && 'reason' in e.detail) {\n error = e.detail.reason;\n }\n }\n catch (_oO) {\n // no-empty\n }\n var currentHub = getCurrentHub();\n var hasIntegration = currentHub.getIntegration(GlobalHandlers);\n var isFailedOwnDelivery = error && error.__sentry_own_request__ === true;\n if (!hasIntegration || shouldIgnoreOnError() || isFailedOwnDelivery) {\n return true;\n }\n var client = currentHub.getClient();\n var event = isPrimitive(error)\n ? _this._eventFromIncompleteRejection(error)\n : eventFromUnknownInput(error, undefined, {\n attachStacktrace: client && client.getOptions().attachStacktrace,\n rejection: true,\n });\n event.level = Severity.Error;\n addExceptionMechanism(event, {\n handled: false,\n type: 'onunhandledrejection',\n });\n currentHub.captureEvent(event, {\n originalException: error,\n });\n return;\n },\n type: 'unhandledrejection',\n });\n this._onUnhandledRejectionHandlerInstalled = true;\n };\n /**\n * This function creates a stack from an old, error-less onerror handler.\n */\n GlobalHandlers.prototype._eventFromIncompleteOnError = function (msg, url, line, column) {\n var ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;\n // If 'message' is ErrorEvent, get real message from inside\n var message = isErrorEvent(msg) ? msg.message : msg;\n var name;\n if (isString(message)) {\n var groups = message.match(ERROR_TYPES_RE);\n if (groups) {\n name = groups[1];\n message = groups[2];\n }\n }\n var event = {\n exception: {\n values: [\n {\n type: name || 'Error',\n value: message,\n },\n ],\n },\n };\n return this._enhanceEventWithInitialFrame(event, url, line, column);\n };\n /**\n * This function creates an Event from an TraceKitStackTrace that has part of it missing.\n */\n GlobalHandlers.prototype._eventFromIncompleteRejection = function (error) {\n return {\n exception: {\n values: [\n {\n type: 'UnhandledRejection',\n value: \"Non-Error promise rejection captured with value: \" + error,\n },\n ],\n },\n };\n };\n /** JSDoc */\n GlobalHandlers.prototype._enhanceEventWithInitialFrame = function (event, url, line, column) {\n event.exception = event.exception || {};\n event.exception.values = event.exception.values || [];\n event.exception.values[0] = event.exception.values[0] || {};\n event.exception.values[0].stacktrace = event.exception.values[0].stacktrace || {};\n event.exception.values[0].stacktrace.frames = event.exception.values[0].stacktrace.frames || [];\n var colno = isNaN(parseInt(column, 10)) ? undefined : column;\n var lineno = isNaN(parseInt(line, 10)) ? undefined : line;\n var filename = isString(url) && url.length > 0 ? url : getLocationHref();\n if (event.exception.values[0].stacktrace.frames.length === 0) {\n event.exception.values[0].stacktrace.frames.push({\n colno: colno,\n filename: filename,\n function: '?',\n in_app: true,\n lineno: lineno,\n });\n }\n return event;\n };\n /**\n * @inheritDoc\n */\n GlobalHandlers.id = 'GlobalHandlers';\n return GlobalHandlers;\n}());\nexport { GlobalHandlers };\n//# sourceMappingURL=globalhandlers.js.map","import * as tslib_1 from \"tslib\";\nimport { addGlobalEventProcessor, getCurrentHub } from '@sentry/core';\nimport { isInstanceOf } from '@sentry/utils';\nimport { exceptionFromStacktrace } from '../parsers';\nimport { computeStackTrace } from '../tracekit';\nvar DEFAULT_KEY = 'cause';\nvar DEFAULT_LIMIT = 5;\n/** Adds SDK info to an event. */\nvar LinkedErrors = /** @class */ (function () {\n /**\n * @inheritDoc\n */\n function LinkedErrors(options) {\n if (options === void 0) { options = {}; }\n /**\n * @inheritDoc\n */\n this.name = LinkedErrors.id;\n this._key = options.key || DEFAULT_KEY;\n this._limit = options.limit || DEFAULT_LIMIT;\n }\n /**\n * @inheritDoc\n */\n LinkedErrors.prototype.setupOnce = function () {\n addGlobalEventProcessor(function (event, hint) {\n var self = getCurrentHub().getIntegration(LinkedErrors);\n if (self) {\n return self._handler(event, hint);\n }\n return event;\n });\n };\n /**\n * @inheritDoc\n */\n LinkedErrors.prototype._handler = function (event, hint) {\n if (!event.exception || !event.exception.values || !hint || !isInstanceOf(hint.originalException, Error)) {\n return event;\n }\n var linkedErrors = this._walkErrorTree(hint.originalException, this._key);\n event.exception.values = tslib_1.__spread(linkedErrors, event.exception.values);\n return event;\n };\n /**\n * @inheritDoc\n */\n LinkedErrors.prototype._walkErrorTree = function (error, key, stack) {\n if (stack === void 0) { stack = []; }\n if (!isInstanceOf(error[key], Error) || stack.length + 1 >= this._limit) {\n return stack;\n }\n var stacktrace = computeStackTrace(error[key]);\n var exception = exceptionFromStacktrace(stacktrace);\n return this._walkErrorTree(error[key], key, tslib_1.__spread([exception], stack));\n };\n /**\n * @inheritDoc\n */\n LinkedErrors.id = 'LinkedErrors';\n return LinkedErrors;\n}());\nexport { LinkedErrors };\n//# sourceMappingURL=linkederrors.js.map","import * as tslib_1 from \"tslib\";\nimport { addGlobalEventProcessor, getCurrentHub } from '@sentry/core';\nimport { getGlobalObject } from '@sentry/utils';\nvar global = getGlobalObject();\n/** UserAgent */\nvar UserAgent = /** @class */ (function () {\n function UserAgent() {\n /**\n * @inheritDoc\n */\n this.name = UserAgent.id;\n }\n /**\n * @inheritDoc\n */\n UserAgent.prototype.setupOnce = function () {\n addGlobalEventProcessor(function (event) {\n if (getCurrentHub().getIntegration(UserAgent)) {\n if (!global.navigator || !global.location) {\n return event;\n }\n // Request Interface: https://docs.sentry.io/development/sdk-dev/event-payloads/request/\n var request = event.request || {};\n request.url = request.url || global.location.href;\n request.headers = request.headers || {};\n request.headers['User-Agent'] = global.navigator.userAgent;\n return tslib_1.__assign({}, event, { request: request });\n }\n return event;\n });\n };\n /**\n * @inheritDoc\n */\n UserAgent.id = 'UserAgent';\n return UserAgent;\n}());\nexport { UserAgent };\n//# sourceMappingURL=useragent.js.map","import { getCurrentHub, initAndBind, Integrations as CoreIntegrations } from '@sentry/core';\nimport { getGlobalObject, SyncPromise } from '@sentry/utils';\nimport { BrowserClient } from './client';\nimport { wrap as internalWrap } from './helpers';\nimport { Breadcrumbs, GlobalHandlers, LinkedErrors, TryCatch, UserAgent } from './integrations';\nexport var defaultIntegrations = [\n new CoreIntegrations.InboundFilters(),\n new CoreIntegrations.FunctionToString(),\n new TryCatch(),\n new Breadcrumbs(),\n new GlobalHandlers(),\n new LinkedErrors(),\n new UserAgent(),\n];\n/**\n * The Sentry Browser SDK Client.\n *\n * To use this SDK, call the {@link init} function as early as possible when\n * loading the web page. To set context information or send manual events, use\n * the provided methods.\n *\n * @example\n *\n * ```\n *\n * import { init } from '@sentry/browser';\n *\n * init({\n * dsn: '__DSN__',\n * // ...\n * });\n * ```\n *\n * @example\n * ```\n *\n * import { configureScope } from '@sentry/browser';\n * configureScope((scope: Scope) => {\n * scope.setExtra({ battery: 0.7 });\n * scope.setTag({ user_mode: 'admin' });\n * scope.setUser({ id: '4711' });\n * });\n * ```\n *\n * @example\n * ```\n *\n * import { addBreadcrumb } from '@sentry/browser';\n * addBreadcrumb({\n * message: 'My Breadcrumb',\n * // ...\n * });\n * ```\n *\n * @example\n *\n * ```\n *\n * import * as Sentry from '@sentry/browser';\n * Sentry.captureMessage('Hello, world!');\n * Sentry.captureException(new Error('Good bye'));\n * Sentry.captureEvent({\n * message: 'Manual',\n * stacktrace: [\n * // ...\n * ],\n * });\n * ```\n *\n * @see {@link BrowserOptions} for documentation on configuration options.\n */\nexport function init(options) {\n if (options === void 0) { options = {}; }\n if (options.defaultIntegrations === undefined) {\n options.defaultIntegrations = defaultIntegrations;\n }\n if (options.release === undefined) {\n var window_1 = getGlobalObject();\n // This supports the variable that sentry-webpack-plugin injects\n if (window_1.SENTRY_RELEASE && window_1.SENTRY_RELEASE.id) {\n options.release = window_1.SENTRY_RELEASE.id;\n }\n }\n initAndBind(BrowserClient, options);\n}\n/**\n * Present the user with a report dialog.\n *\n * @param options Everything is optional, we try to fetch all info need from the global scope.\n */\nexport function showReportDialog(options) {\n if (options === void 0) { options = {}; }\n if (!options.eventId) {\n options.eventId = getCurrentHub().lastEventId();\n }\n var client = getCurrentHub().getClient();\n if (client) {\n client.showReportDialog(options);\n }\n}\n/**\n * This is the getter for lastEventId.\n *\n * @returns The last event id of a captured event.\n */\nexport function lastEventId() {\n return getCurrentHub().lastEventId();\n}\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nexport function forceLoad() {\n // Noop\n}\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nexport function onLoad(callback) {\n callback();\n}\n/**\n * A promise that resolves when all current events have been sent.\n * If you provide a timeout and the queue takes longer to drain the promise returns false.\n *\n * @param timeout Maximum time in ms the client should wait.\n */\nexport function flush(timeout) {\n var client = getCurrentHub().getClient();\n if (client) {\n return client.flush(timeout);\n }\n return SyncPromise.reject(false);\n}\n/**\n * A promise that resolves when all current events have been sent.\n * If you provide a timeout and the queue takes longer to drain the promise returns false.\n *\n * @param timeout Maximum time in ms the client should wait.\n */\nexport function close(timeout) {\n var client = getCurrentHub().getClient();\n if (client) {\n return client.close(timeout);\n }\n return SyncPromise.reject(false);\n}\n/**\n * Wrap code within a try/catch block so the SDK is able to capture errors.\n *\n * @param fn A function to wrap.\n *\n * @returns The result of wrapped function call.\n */\nexport function wrap(fn) {\n return internalWrap(fn)(); // tslint:disable-line:no-unsafe-any\n}\n//# sourceMappingURL=sdk.js.map","import { getCurrentHub } from '@sentry/hub';\nimport { logger } from '@sentry/utils';\n/**\n * Internal function to create a new SDK client instance. The client is\n * installed and then bound to the current scope.\n *\n * @param clientClass The client class to instanciate.\n * @param options Options to pass to the client.\n */\nexport function initAndBind(clientClass, options) {\n if (options.debug === true) {\n logger.enable();\n }\n var hub = getCurrentHub();\n var client = new clientClass(options);\n hub.bindClient(client);\n}\n//# sourceMappingURL=sdk.js.map","/**\n * Generates a pseudo-random string of specified length\n * @param {Number} count string length\n * @returns {String}\n */\nexport const getRandomString = (count = 32) => [...Array(count)].map(() => (~~(Math.random() * 32)).toString(32)).join('');\n","/* eslint-disable no-console */\nimport {\n PROFILERROR_COOKIE_NAME,\n LASTSHOW_COOKIE_NAME,\n TESTPERSIST_COOKIE_NAME,\n VARIANT,\n PAGE_PURPOSES,\n PAGE_VENDORS,\n PURPOSE_CONTENT,\n PURPOSE_ADS,\n USER_INT,\n LASTSHOW_IMAGINARY_NAME\n} from '../constants';\nimport {demoMode} from '../utils/urlParams';\nimport {inProfile} from '../utils/scriptParams';\nimport {getCookie} from './cookie';\nimport {getConsentCookie} from './consent';\nimport {getRandomString} from '../utils/randomString';\nimport {logger} from './logger';\n\nconst SERVICE = 'partner3';\nconst ACTION = 'event';\nconst LOGGER_LABEL = 'CMP:DOT';\nconst CMP = true;\nconst HASH = getRandomString();\nconst isStorageSupported = window.localStorage && window.localStorage.getItem && window.localStorage.setItem;\n\n// log order\nlet order = 0;\n\nclass DOT {\n constructor() {\n this.disabled = inProfile() || demoMode();\n }\n\n /**\n * Configures DOT script and sends impress.\n */\n config(userType, rusId = null, lazyLoad = false) {\n try {\n if (this.disabled) {\n return;\n }\n\n if (!this.instance) {\n this.instance = window.DOT.getNewInstance();\n }\n\n // Distinguish internal/external dialog\n const serviceVariant = userType === USER_INT ? 'int' : 'ext';\n\n const config = {\n service: SERVICE,\n serviceVariant,\n lazyLoadingEnabled: lazyLoad,\n impress: false,\n mousedown: false,\n cmp: CMP,\n cmpVersion: process.env._CMP_VERSION\n };\n\n if (!lazyLoad && rusId) {\n config.rusId = rusId;\n }\n\n this.instance.cfg(config, () => {\n logger(1100, 'impress', config, LOGGER_LABEL);\n });\n } catch (error) {\n console.error(error);\n }\n }\n\n /**\n * Sends hit.\n * @param {string} action\n * @param {Object} data\n */\n _hit(action, data) {\n try {\n data.d.order = ++order;\n data.d.timestamp = Date.now();\n data.d.cmppersisttestcookie = getCookie(TESTPERSIST_COOKIE_NAME);\n data.d.cmplastshowcookie = getCookie(LASTSHOW_COOKIE_NAME).replace('|', ':');\n if (isStorageSupported) {\n // log cmplastshowcookie from localStorage\n const value = window.localStorage.getItem(LASTSHOW_COOKIE_NAME) || '';\n data.d.cmplastshowlocalstorage = value.replace('|', ':');\n }\n data.d.cmpwtf = getCookie(LASTSHOW_IMAGINARY_NAME).replace('|', ':');\n data.d.euconsent = getConsentCookie();\n if (this.instance._cfg.serviceVariant === 'int') {\n data.d.cmpprofilerrorcookie = getCookie(PROFILERROR_COOKIE_NAME).replace('|', ':');\n }\n data.d.session = HASH;\n data.d.cmp = CMP;\n data.d.cmpVersion = process.env._CMP_VERSION;\n this.instance.hit(action, data, () => {\n logger(1101, 'hit', {action, data}, LOGGER_LABEL);\n });\n } catch (error) {\n console.error(error);\n }\n }\n\n hit(data) {\n if (this.disabled) {\n return;\n }\n\n try {\n this.instance.hit(\n ACTION,\n {\n d: {\n breadcrumbs: data,\n cmpVersion: process.env._CMP_VERSION\n }\n },\n () => {\n logger(1102, 'hit', {ACTION, data}, LOGGER_LABEL);\n }\n );\n } catch (error) {\n console.error(error);\n }\n }\n\n start() {\n if (this.disabled) {\n return;\n }\n this._hit(ACTION, {\n d: {\n variant: VARIANT,\n action: 'start'\n }\n });\n }\n\n end(steps) {\n if (this.disabled) {\n return;\n }\n this._hit(ACTION, {\n d: {\n variant: VARIANT,\n action: 'end',\n steps\n }\n });\n }\n\n /**\n * Sends info that the user switched to the page.\n * @param {string} page\n */\n navPage(page) {\n if (this.disabled) {\n return;\n }\n if (page === PAGE_PURPOSES) {\n this._hit(ACTION, {d: {variant: VARIANT, action: 'navigate-purposes'}});\n } else if (page === PAGE_VENDORS) {\n this._hit(ACTION, {d: {variant: VARIANT, action: 'navigate-vendors'}});\n }\n }\n\n /**\n * Sends info that the user clicked submit on the screen.\n * @param {string} screen\n */\n submitClick(screen, seznamAllowed, contentAllowed, adsAllowed) {\n if (this.disabled) {\n return;\n }\n this._hit(ACTION, {\n d: {\n variant: VARIANT,\n action: 'submitClick',\n screen,\n // eslint-disable-next-line camelcase\n seznam_allowed: seznamAllowed,\n [PURPOSE_ADS]: adsAllowed,\n [PURPOSE_CONTENT]: contentAllowed\n }\n });\n }\n\n /**\n * Sends info that cookie was saved in browser.\n */\n cookieSaved() {\n if (this.disabled) {\n return;\n }\n this._hit(ACTION, {\n d: {\n variant: VARIANT,\n action: 'saved'\n }\n });\n }\n\n /**\n * Sends info that euconsent was saved into profile.\n */\n profileSaved() {\n if (this.disabled) {\n return;\n }\n this._hit(ACTION, {\n d: {\n variant: VARIANT,\n action: 'profileSaved'\n }\n });\n }\n\n /**\n * Sends info that euconsent was saved into profile.\n */\n profileError() {\n if (this.disabled) {\n return;\n }\n this._hit(ACTION, {\n d: {\n variant: VARIANT,\n action: 'profileError'\n }\n });\n }\n\n /**\n * Sends info that dialog was opened.\n */\n show(steps) {\n if (this.disabled) {\n return;\n }\n this._hit(ACTION, {\n d: {\n variant: VARIANT,\n action: 'show',\n steps\n }\n });\n }\n\n /**\n * Sends info that the user exited dialog.\n */\n exit(screen) {\n if (this.disabled) {\n return;\n }\n this._hit(ACTION, {\n d: {\n variant: VARIANT,\n action: 'exit',\n screen\n }\n });\n }\n\n /**\n * Sends info that euconsent string is not made by Seznam.\n */\n foreignCookie() {\n if (this.disabled) {\n return;\n }\n this._hit(ACTION, {\n d: {\n variant: VARIANT,\n action: 'foreign-euconsent'\n }\n });\n }\n\n /**\n * Sends info about nextShow interval\n * @param {string} type set or get\n * @param {Array} data\n */\n nextShow(type, data) {\n if (this.disabled) {\n return;\n }\n\n const action = type === 'set' ? 'setNextShow' : 'getNextShow';\n\n let nextShow = null;\n let stage = null;\n let date = null;\n\n if (data) {\n data = data.split('|');\n nextShow = parseInt(data[0], 10);\n stage = parseInt(data[1], 10);\n date = new Date(nextShow).toString();\n }\n\n this._hit(ACTION, {\n d: {\n variant: VARIANT,\n action,\n stage,\n value: nextShow,\n date\n }\n });\n }\n\n /**\n * Log setting nextShow\n * @param {Array} data\n */\n setNextShow(data) {\n this.nextShow('set', data);\n }\n\n /**\n * Log getting nextShow\n * @param {Array} data\n */\n getNextShow(data) {\n this.nextShow('get', data);\n }\n\n /**\n * Sends info that webview was detected.\n */\n webview() {\n if (this.disabled) {\n return;\n }\n this._hit(ACTION, {\n d: {\n variant: VARIANT,\n action: 'webview'\n }\n });\n }\n}\n\nexport default new DOT();\n","import * as Sentry from '@sentry/browser';\r\nimport {SENTRY_DSN} from '../constants';\r\nimport {getCookie} from './cookie';\r\nimport DOT from './DOT';\r\nimport {getProcessQueueIds} from './logger';\r\n\r\nexport const initSentry = () => {\r\n Sentry.init({\r\n dsn: SENTRY_DSN,\r\n release: '@sklik/cmp@' + process.env._CMP_VERSION,\r\n whitelistUrls: [/https:\\/\\/h\\.imedia\\.cz\\/js\\/scmp\\.js.*/, /https:\\/\\/h\\.imedia\\.cz\\/js\\/scmp-external\\.js.*/]\r\n });\r\n const user = getCookie('sid')\r\n .split('|')[0]\r\n .split('=')[1];\r\n Sentry.setUser({\r\n id: user,\r\n username: user\r\n });\r\n};\r\n\r\nexport const config = (userType, rusId, lazyLoad) => {\r\n DOT.config(userType, rusId, lazyLoad);\r\n};\r\n\r\nexport const hit = data => {\r\n DOT.hit(data);\r\n};\r\n\r\nexport const start = () => {\r\n DOT.start();\r\n};\r\n\r\nexport const end = () => {\r\n const steps = getProcessQueueIds();\r\n DOT.end(steps);\r\n};\r\n\r\nexport const submitClick = (screen, seznamAllowed, contentAllowed, adsAllowed) => {\r\n DOT.submitClick(screen, seznamAllowed, contentAllowed, adsAllowed);\r\n};\r\n\r\nexport const exit = screen => {\r\n DOT.exit(screen);\r\n};\r\n\r\nexport const show = () => {\r\n const steps = getProcessQueueIds();\r\n DOT.show(steps);\r\n};\r\n\r\nexport const foreignCookie = () => {\r\n DOT.foreignCookie();\r\n};\r\n\r\nexport const navPage = navigation => {\r\n DOT.navPage(navigation);\r\n};\r\n\r\nexport const profileSaved = () => {\r\n DOT.profileSaved();\r\n};\r\n\r\nexport const profileError = () => {\r\n DOT.profileError();\r\n};\r\n\r\nexport const getNextShow = data => {\r\n DOT.getNextShow(data);\r\n};\r\n\r\nexport const setNextShow = data => {\r\n DOT.setNextShow(data);\r\n};\r\n\r\nexport const webview = () => {\r\n DOT.webview();\r\n};\r\n\r\nexport const isDotUninitialized = () => DOT.instance === undefined;\r\n\r\nexport const cookieSaved = () => {\r\n DOT.cookieSaved();\r\n};\r\n","import {decodeConsentString} from 'consent-string';\nimport {CMP_ID, PURPOSE_CONTENT, PURPOSE_ADS, CONSENT_COOKIE_NAME} from '../constants';\nimport {setCookie, getCookie, existsCookie, resaveCookie} from './cookie';\nimport {logger} from './logger';\n\n/**\n * Returns true if \"euconsent\" already exists in Profile.\n * @param {Object} data\n * @return {boolean}\n */\nexport const hasEuconsentAlready = data => data && data.euconsent && data.euconsent.encodedCookie;\n\n/**\n * Returns true if consent already exists in Profile.\n * @param {Object} data\n * @return {boolean}\n */\nexport const hasConsentAlready = data =>\n data && data.consents && (typeof data.consents[PURPOSE_CONTENT] === 'boolean' || typeof data.consents[PURPOSE_ADS] === 'boolean');\n\n/**\n * Sets consent cookie.\n * @param {string} consent\n */\nexport const setConsentCookie = consent => setCookie(consent, CONSENT_COOKIE_NAME);\n\n/**\n * Gets consent cookie.\n * @returns {string}\n */\nexport const getConsentCookie = () => getCookie(CONSENT_COOKIE_NAME);\n\n/**\n * Check if consent cookie exists.\n * @return {boolean}\n */\nexport const existsConsentCookie = () => existsCookie(CONSENT_COOKIE_NAME);\n\n/**\n * Resaves consent cookie in Safari if exists.\n */\nexport const resaveConsentCookie = () => resaveCookie(CONSENT_COOKIE_NAME);\n\n/**\n * Check if cookie string is made by Seznam.\n * @param {string} euconsent string\n * @return {boolean}\n */\nexport const isForeignEuconsent = () => {\n const {cmpId} = decodeConsentString(getCookie(CONSENT_COOKIE_NAME));\n return cmpId !== CMP_ID;\n};\n\n/**\n * Saves encoded cookie into browser.\n * @param {string} euconsent\n */\nexport const saveSettingsToBrowser = euconsent => {\n logger(800, 'Saving euconsent cookie into browser:', euconsent);\n setConsentCookie(euconsent);\n};\n","import { isString } from './is';\nimport { snipLine } from './string';\n/**\n * Requires a module which is protected against bundler minification.\n *\n * @param request The module path to resolve\n */\nexport function dynamicRequire(mod, request) {\n // tslint:disable-next-line: no-unsafe-any\n return mod.require(request);\n}\n/**\n * Checks whether we're in the Node.js or Browser environment\n *\n * @returns Answer to given question\n */\nexport function isNodeEnv() {\n // tslint:disable:strict-type-predicates\n return Object.prototype.toString.call(typeof process !== 'undefined' ? process : 0) === '[object process]';\n}\nvar fallbackGlobalObject = {};\n/**\n * Safely get global scope object\n *\n * @returns Global scope object\n */\nexport function getGlobalObject() {\n return (isNodeEnv()\n ? global\n : typeof window !== 'undefined'\n ? window\n : typeof self !== 'undefined'\n ? self\n : fallbackGlobalObject);\n}\n/**\n * UUID4 generator\n *\n * @returns string Generated UUID4.\n */\nexport function uuid4() {\n var global = getGlobalObject();\n var crypto = global.crypto || global.msCrypto;\n if (!(crypto === void 0) && crypto.getRandomValues) {\n // Use window.crypto API if available\n var arr = new Uint16Array(8);\n crypto.getRandomValues(arr);\n // set 4 in byte 7\n // tslint:disable-next-line:no-bitwise\n arr[3] = (arr[3] & 0xfff) | 0x4000;\n // set 2 most significant bits of byte 9 to '10'\n // tslint:disable-next-line:no-bitwise\n arr[4] = (arr[4] & 0x3fff) | 0x8000;\n var pad = function (num) {\n var v = num.toString(16);\n while (v.length < 4) {\n v = \"0\" + v;\n }\n return v;\n };\n return (pad(arr[0]) + pad(arr[1]) + pad(arr[2]) + pad(arr[3]) + pad(arr[4]) + pad(arr[5]) + pad(arr[6]) + pad(arr[7]));\n }\n // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523\n return 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n // tslint:disable-next-line:no-bitwise\n var r = (Math.random() * 16) | 0;\n // tslint:disable-next-line:no-bitwise\n var v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n/**\n * Parses string form of URL into an object\n * // borrowed from https://tools.ietf.org/html/rfc3986#appendix-B\n * // intentionally using regex and not href parsing trick because React Native and other\n * // environments where DOM might not be available\n * @returns parsed URL object\n */\nexport function parseUrl(url) {\n if (!url) {\n return {};\n }\n var match = url.match(/^(([^:\\/?#]+):)?(\\/\\/([^\\/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$/);\n if (!match) {\n return {};\n }\n // coerce to undefined values to empty string so we don't get 'undefined'\n var query = match[6] || '';\n var fragment = match[8] || '';\n return {\n host: match[4],\n path: match[5],\n protocol: match[2],\n relative: match[5] + query + fragment,\n };\n}\n/**\n * Extracts either message or type+value from an event that can be used for user-facing logs\n * @returns event's description\n */\nexport function getEventDescription(event) {\n if (event.message) {\n return event.message;\n }\n if (event.exception && event.exception.values && event.exception.values[0]) {\n var exception = event.exception.values[0];\n if (exception.type && exception.value) {\n return exception.type + \": \" + exception.value;\n }\n return exception.type || exception.value || event.event_id || '';\n }\n return event.event_id || '';\n}\n/** JSDoc */\nexport function consoleSandbox(callback) {\n var global = getGlobalObject();\n var levels = ['debug', 'info', 'warn', 'error', 'log', 'assert'];\n if (!('console' in global)) {\n return callback();\n }\n var originalConsole = global.console;\n var wrappedLevels = {};\n // Restore all wrapped console methods\n levels.forEach(function (level) {\n if (level in global.console && originalConsole[level].__sentry_original__) {\n wrappedLevels[level] = originalConsole[level];\n originalConsole[level] = originalConsole[level].__sentry_original__;\n }\n });\n // Perform callback manipulations\n var result = callback();\n // Revert restoration to wrapped state\n Object.keys(wrappedLevels).forEach(function (level) {\n originalConsole[level] = wrappedLevels[level];\n });\n return result;\n}\n/**\n * Adds exception values, type and value to an synthetic Exception.\n * @param event The event to modify.\n * @param value Value of the exception.\n * @param type Type of the exception.\n * @hidden\n */\nexport function addExceptionTypeValue(event, value, type) {\n event.exception = event.exception || {};\n event.exception.values = event.exception.values || [];\n event.exception.values[0] = event.exception.values[0] || {};\n event.exception.values[0].value = event.exception.values[0].value || value || '';\n event.exception.values[0].type = event.exception.values[0].type || type || 'Error';\n}\n/**\n * Adds exception mechanism to a given event.\n * @param event The event to modify.\n * @param mechanism Mechanism of the mechanism.\n * @hidden\n */\nexport function addExceptionMechanism(event, mechanism) {\n if (mechanism === void 0) { mechanism = {}; }\n // TODO: Use real type with `keyof Mechanism` thingy and maybe make it better?\n try {\n // @ts-ignore\n // tslint:disable: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\n event.exception.values[0].mechanism[key] = mechanism[key];\n });\n }\n catch (_oO) {\n // no-empty\n }\n}\n/**\n * A safe form of location.href\n */\nexport function getLocationHref() {\n try {\n return document.location.href;\n }\n catch (oO) {\n return '';\n }\n}\n/**\n * Given a child DOM element, returns a query-selector statement describing that\n * and its ancestors\n * e.g. [HTMLElement] => body > div > input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nexport function htmlTreeAsString(elem) {\n // try/catch both:\n // - accessing event.target (see getsentry/raven-js#838, #768)\n // - `htmlTreeAsString` because it's complex, and just accessing the DOM incorrectly\n // - can throw an exception in some circumstances.\n try {\n var currentElem = elem;\n var MAX_TRAVERSE_HEIGHT = 5;\n var MAX_OUTPUT_LEN = 80;\n var out = [];\n var height = 0;\n var len = 0;\n var separator = ' > ';\n var sepLength = separator.length;\n var nextStr = void 0;\n while (currentElem && height++ < MAX_TRAVERSE_HEIGHT) {\n nextStr = _htmlElementAsString(currentElem);\n // bail out if\n // - nextStr is the 'html' element\n // - the length of the string that would be created exceeds MAX_OUTPUT_LEN\n // (ignore this limit if we are on the first iteration)\n if (nextStr === 'html' || (height > 1 && len + out.length * sepLength + nextStr.length >= MAX_OUTPUT_LEN)) {\n break;\n }\n out.push(nextStr);\n len += nextStr.length;\n currentElem = currentElem.parentNode;\n }\n return out.reverse().join(separator);\n }\n catch (_oO) {\n return '';\n }\n}\n/**\n * Returns a simple, query-selector representation of a DOM element\n * e.g. [HTMLElement] => input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nfunction _htmlElementAsString(el) {\n var elem = el;\n var out = [];\n var className;\n var classes;\n var key;\n var attr;\n var i;\n if (!elem || !elem.tagName) {\n return '';\n }\n out.push(elem.tagName.toLowerCase());\n if (elem.id) {\n out.push(\"#\" + elem.id);\n }\n className = elem.className;\n if (className && isString(className)) {\n classes = className.split(/\\s+/);\n for (i = 0; i < classes.length; i++) {\n out.push(\".\" + classes[i]);\n }\n }\n var attrWhitelist = ['type', 'name', 'title', 'alt'];\n for (i = 0; i < attrWhitelist.length; i++) {\n key = attrWhitelist[i];\n attr = elem.getAttribute(key);\n if (attr) {\n out.push(\"[\" + key + \"=\\\"\" + attr + \"\\\"]\");\n }\n }\n return out.join('');\n}\nvar INITIAL_TIME = Date.now();\nvar prevNow = 0;\nvar performanceFallback = {\n now: function () {\n var now = Date.now() - INITIAL_TIME;\n if (now < prevNow) {\n now = prevNow;\n }\n prevNow = now;\n return now;\n },\n timeOrigin: INITIAL_TIME,\n};\nexport var crossPlatformPerformance = (function () {\n if (isNodeEnv()) {\n try {\n var perfHooks = dynamicRequire(module, 'perf_hooks');\n return perfHooks.performance;\n }\n catch (_) {\n return performanceFallback;\n }\n }\n if (getGlobalObject().performance) {\n // Polyfill for performance.timeOrigin.\n //\n // While performance.timing.navigationStart is deprecated in favor of performance.timeOrigin, performance.timeOrigin\n // is not as widely supported. Namely, performance.timeOrigin is undefined in Safari as of writing.\n // tslint:disable-next-line:strict-type-predicates\n if (performance.timeOrigin === undefined) {\n // As of writing, performance.timing is not available in Web Workers in mainstream browsers, so it is not always a\n // valid fallback. In the absence of a initial time provided by the browser, fallback to INITIAL_TIME.\n // @ts-ignore\n // tslint:disable-next-line:deprecation\n performance.timeOrigin = (performance.timing && performance.timing.navigationStart) || INITIAL_TIME;\n }\n }\n return getGlobalObject().performance || performanceFallback;\n})();\n/**\n * Returns a timestamp in seconds with milliseconds precision since the UNIX epoch calculated with the monotonic clock.\n */\nexport function timestampWithMs() {\n return (crossPlatformPerformance.timeOrigin + crossPlatformPerformance.now()) / 1000;\n}\n// https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\nvar SEMVER_REGEXP = /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\n/**\n * Parses input into a SemVer interface\n * @param input string representation of a semver version\n */\nexport function parseSemver(input) {\n var match = input.match(SEMVER_REGEXP) || [];\n var major = parseInt(match[1], 10);\n var minor = parseInt(match[2], 10);\n var patch = parseInt(match[3], 10);\n return {\n buildmetadata: match[5],\n major: isNaN(major) ? undefined : major,\n minor: isNaN(minor) ? undefined : minor,\n patch: isNaN(patch) ? undefined : patch,\n prerelease: match[4],\n };\n}\nvar defaultRetryAfter = 60 * 1000; // 60 seconds\n/**\n * Extracts Retry-After value from the request header or returns default value\n * @param now current unix timestamp\n * @param header string representation of 'Retry-After' header\n */\nexport function parseRetryAfterHeader(now, header) {\n if (!header) {\n return defaultRetryAfter;\n }\n var headerDelay = parseInt(\"\" + header, 10);\n if (!isNaN(headerDelay)) {\n return headerDelay * 1000;\n }\n var headerDate = Date.parse(\"\" + header);\n if (!isNaN(headerDate)) {\n return headerDate - now;\n }\n return defaultRetryAfter;\n}\nvar defaultFunctionName = '';\n/**\n * Safely extract function name from itself\n */\nexport function getFunctionName(fn) {\n try {\n if (!fn || typeof fn !== 'function') {\n return defaultFunctionName;\n }\n return fn.name || defaultFunctionName;\n }\n catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n return defaultFunctionName;\n }\n}\n/**\n * This function adds context (pre/post/line) lines to the provided frame\n *\n * @param lines string[] containing all lines\n * @param frame StackFrame that will be mutated\n * @param linesOfContext number of context lines we want to add pre/post\n */\nexport function addContextToFrame(lines, frame, linesOfContext) {\n if (linesOfContext === void 0) { linesOfContext = 5; }\n var lineno = frame.lineno || 0;\n var maxLines = lines.length;\n var sourceLine = Math.max(Math.min(maxLines, lineno - 1), 0);\n frame.pre_context = lines\n .slice(Math.max(0, sourceLine - linesOfContext), sourceLine)\n .map(function (line) { return snipLine(line, 0); });\n frame.context_line = snipLine(lines[Math.min(maxLines - 1, sourceLine)], frame.colno || 0);\n frame.post_context = lines\n .slice(Math.min(sourceLine + 1, maxLines), sourceLine + 1 + linesOfContext)\n .map(function (line) { return snipLine(line, 0); });\n}\n//# sourceMappingURL=misc.js.map","/**\n * Checks whether given value's type is one of a few Error or Error-like\n * {@link isError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isError(wat) {\n switch (Object.prototype.toString.call(wat)) {\n case '[object Error]':\n return true;\n case '[object Exception]':\n return true;\n case '[object DOMException]':\n return true;\n default:\n return isInstanceOf(wat, Error);\n }\n}\n/**\n * Checks whether given value's type is ErrorEvent\n * {@link isErrorEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isErrorEvent(wat) {\n return Object.prototype.toString.call(wat) === '[object ErrorEvent]';\n}\n/**\n * Checks whether given value's type is DOMError\n * {@link isDOMError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isDOMError(wat) {\n return Object.prototype.toString.call(wat) === '[object DOMError]';\n}\n/**\n * Checks whether given value's type is DOMException\n * {@link isDOMException}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isDOMException(wat) {\n return Object.prototype.toString.call(wat) === '[object DOMException]';\n}\n/**\n * Checks whether given value's type is a string\n * {@link isString}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isString(wat) {\n return Object.prototype.toString.call(wat) === '[object String]';\n}\n/**\n * Checks whether given value's is a primitive (undefined, null, number, boolean, string)\n * {@link isPrimitive}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isPrimitive(wat) {\n return wat === null || (typeof wat !== 'object' && typeof wat !== 'function');\n}\n/**\n * Checks whether given value's type is an object literal\n * {@link isPlainObject}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isPlainObject(wat) {\n return Object.prototype.toString.call(wat) === '[object Object]';\n}\n/**\n * Checks whether given value's type is an Event instance\n * {@link isEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isEvent(wat) {\n // tslint:disable-next-line:strict-type-predicates\n return typeof Event !== 'undefined' && isInstanceOf(wat, Event);\n}\n/**\n * Checks whether given value's type is an Element instance\n * {@link isElement}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isElement(wat) {\n // tslint:disable-next-line:strict-type-predicates\n return typeof Element !== 'undefined' && isInstanceOf(wat, Element);\n}\n/**\n * Checks whether given value's type is an regexp\n * {@link isRegExp}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isRegExp(wat) {\n return Object.prototype.toString.call(wat) === '[object RegExp]';\n}\n/**\n * Checks whether given value has a then function.\n * @param wat A value to be checked.\n */\nexport function isThenable(wat) {\n // tslint:disable:no-unsafe-any\n return Boolean(wat && wat.then && typeof wat.then === 'function');\n // tslint:enable:no-unsafe-any\n}\n/**\n * Checks whether given value's type is a SyntheticEvent\n * {@link isSyntheticEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isSyntheticEvent(wat) {\n // tslint:disable-next-line:no-unsafe-any\n return isPlainObject(wat) && 'nativeEvent' in wat && 'preventDefault' in wat && 'stopPropagation' in wat;\n}\n/**\n * Checks whether given value's type is an instance of provided constructor.\n * {@link isInstanceOf}.\n *\n * @param wat A value to be checked.\n * @param base A constructor to be used in a check.\n * @returns A boolean representing the result.\n */\nexport function isInstanceOf(wat, base) {\n try {\n // tslint:disable-next-line:no-unsafe-any\n return wat instanceof base;\n }\n catch (_e) {\n return false;\n }\n}\n//# sourceMappingURL=is.js.map","'use strict';\n\nvar _require = require('./consent-string'),\n ConsentString = _require.ConsentString;\n\nvar _require2 = require('./decode'),\n decodeConsentString = _require2.decodeConsentString;\n\nvar _require3 = require('./encode'),\n encodeConsentString = _require3.encodeConsentString;\n\nmodule.exports = {\n ConsentString: ConsentString,\n decodeConsentString: decodeConsentString,\n encodeConsentString: encodeConsentString\n};","import * as tslib_1 from \"tslib\";\nimport { getCurrentHub } from '@sentry/hub';\n/**\n * This calls a function on the current hub.\n * @param method function to call on hub.\n * @param args to pass to function.\n */\nfunction callOnHub(method) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var hub = getCurrentHub();\n if (hub && hub[method]) {\n // tslint:disable-next-line:no-unsafe-any\n return hub[method].apply(hub, tslib_1.__spread(args));\n }\n throw new Error(\"No hub defined or \" + method + \" was not found on the hub, please open a bug report.\");\n}\n/**\n * Captures an exception event and sends it to Sentry.\n *\n * @param exception An exception-like object.\n * @returns The generated eventId.\n */\nexport function captureException(exception) {\n var syntheticException;\n try {\n throw new Error('Sentry syntheticException');\n }\n catch (exception) {\n syntheticException = exception;\n }\n return callOnHub('captureException', exception, {\n originalException: exception,\n syntheticException: syntheticException,\n });\n}\n/**\n * Captures a message event and sends it to Sentry.\n *\n * @param message The message to send to Sentry.\n * @param level Define the level of the message.\n * @returns The generated eventId.\n */\nexport function captureMessage(message, level) {\n var syntheticException;\n try {\n throw new Error(message);\n }\n catch (exception) {\n syntheticException = exception;\n }\n return callOnHub('captureMessage', message, level, {\n originalException: message,\n syntheticException: syntheticException,\n });\n}\n/**\n * Captures a manually created event and sends it to Sentry.\n *\n * @param event The event to send to Sentry.\n * @returns The generated eventId.\n */\nexport function captureEvent(event) {\n return callOnHub('captureEvent', event);\n}\n/**\n * Callback to set context information onto the scope.\n * @param callback Callback function that receives Scope.\n */\nexport function configureScope(callback) {\n callOnHub('configureScope', callback);\n}\n/**\n * Records a new breadcrumb which will be attached to future events.\n *\n * Breadcrumbs will be added to subsequent events to provide more context on\n * user's actions prior to an error or crash.\n *\n * @param breadcrumb The breadcrumb to record.\n */\nexport function addBreadcrumb(breadcrumb) {\n callOnHub('addBreadcrumb', breadcrumb);\n}\n/**\n * Sets context data with the given name.\n * @param name of the context\n * @param context Any kind of data. This data will be normailzed.\n */\nexport function setContext(name, context) {\n callOnHub('setContext', name, context);\n}\n/**\n * Set an object that will be merged sent as extra data with the event.\n * @param extras Extras object to merge into current context.\n */\nexport function setExtras(extras) {\n callOnHub('setExtras', extras);\n}\n/**\n * Set an object that will be merged sent as tags data with the event.\n * @param tags Tags context object to merge into current context.\n */\nexport function setTags(tags) {\n callOnHub('setTags', tags);\n}\n/**\n * Set key:value that will be sent as extra data with the event.\n * @param key String of extra\n * @param extra Any kind of data. This data will be normailzed.\n */\nexport function setExtra(key, extra) {\n callOnHub('setExtra', key, extra);\n}\n/**\n * Set key:value that will be sent as tags data with the event.\n * @param key String key of tag\n * @param value String value of tag\n */\nexport function setTag(key, value) {\n callOnHub('setTag', key, value);\n}\n/**\n * Updates user context information for future events.\n *\n * @param user User context object to be set in the current context. Pass `null` to unset the user.\n */\nexport function setUser(user) {\n callOnHub('setUser', user);\n}\n/**\n * Creates a new scope with and executes the given operation within.\n * The scope is automatically removed once the operation\n * finishes or throws.\n *\n * This is essentially a convenience function for:\n *\n * pushScope();\n * callback();\n * popScope();\n *\n * @param callback that will be enclosed into push/popScope.\n */\nexport function withScope(callback) {\n callOnHub('withScope', callback);\n}\n/**\n * Calls a function on the latest client. Use this with caution, it's meant as\n * in \"internal\" helper so we don't need to expose every possible function in\n * the shim. It is not guaranteed that the client actually implements the\n * function.\n *\n * @param method The method to call on the client/client.\n * @param args Arguments to pass to the client/fontend.\n * @hidden\n */\nexport function _callOnClient(method) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n callOnHub.apply(void 0, tslib_1.__spread(['_invokeClient', method], args));\n}\n//# sourceMappingURL=index.js.map","import {VENDORS_URL} from '../constants';\nimport vendorList from './list';\nimport {logger} from '../services/logger';\n\nconst ERROR_RESPONSE = 'Vendor list - invalid response.';\nconst ERROR_FETCH = 'Vendor list - fetch error.';\n\n/**\n * Adds urls and names to ourVendors list.\n * @param {Array} allVendors\n * @param {Array} ourVendors\n */\nconst mergeVendors = (allVendors, ourVendors) =>\n ourVendors.map(vendor => {\n const relevantVendor = allVendors.find(v => v.id === vendor.id);\n\n return relevantVendor && relevantVendor.name && relevantVendor.policyUrl ? {...vendor, ...relevantVendor} : vendor;\n });\n\n/**\n * Sets vendor values to ConsentString.\n * @param {ConsentString} consentData\n * @param {Array} vendors\n */\nexport const setVendorsToConsent = (consentData, vendors) => {\n vendors.map(vendor => {\n consentData.setVendorAllowed(vendor.id, vendor.checked);\n });\n};\n\n/**\n * Returns vendor list where all allowed vendors from Profil data have checked: true.\n * @param {Object} data\n */\nexport const getPreFilledVendors = data => {\n if (data && data.euconsent && data.euconsent.allowedVendorIds) {\n return vendorList.vendors.map(vendor => ({\n ...vendor,\n checked: data.euconsent.allowedVendorIds.indexOf(vendor.id) !== -1\n }));\n }\n\n return vendorList.vendors;\n};\n\n/**\n * Returns vendor list where all allowed vendors from Profil data have checked: true.\n * @param {Object} data\n */\nexport const getPreFilledVendorsFromCookie = data =>\n vendorList.vendors.map(vendor => ({\n ...vendor,\n checked: data.indexOf(vendor.id) !== -1\n }));\n\nlet vendorListPromise = null;\n\n/**\n * Returns Promise with vendors.\n * @return {Promise}\n */\nexport const getVendors = () => vendorListPromise;\n\n/**\n * GVL (global vendor list) is necessary for CMP. Because we cannot create euconsent cookie without it.\n * But also we want to open dialog as soon as possible and we don't want to wait for GVL download.\n * So GVL will be downloaded on background.\n */\nexport const loadVendors = () => {\n logger(2000, 'Starting download GVL.');\n vendorListPromise = new Promise((resolve, reject) => {\n const xhr = new XMLHttpRequest();\n\n xhr.open('GET', VENDORS_URL, true);\n\n xhr.onload = () => {\n if (xhr.status === 200) {\n try {\n const data = JSON.parse(xhr.response);\n logger(2001, 'Vendor list downloaded:', data);\n resolve(data);\n } catch (error) {\n reject(ERROR_RESPONSE);\n }\n } else {\n reject(ERROR_RESPONSE);\n }\n };\n\n xhr.onerror = () => {\n reject(ERROR_FETCH);\n };\n\n xhr.send();\n });\n};\n\n/**\n * Gets list of all vendors from external service and add current urls/names to ourVendors.\n * @param {Array} ourVendors\n * @return {Promise}\n */\nexport const getVendorsWithUrls = ourVendors =>\n new Promise(async (resolve, reject) => {\n try {\n const data = await getVendors();\n const vendorsWithUrls = mergeVendors(data.vendors, ourVendors);\n\n logger(2002, 'The current url and names have been added to vendor list:', vendorsWithUrls);\n resolve(vendorsWithUrls);\n } catch (error) {\n reject(ERROR_RESPONSE);\n }\n });\n","\"use strict\";\n\nvar isValue = require(\"type/value/is\")\n , isPlainFunction = require(\"type/plain-function/is\")\n , assign = require(\"es5-ext/object/assign\")\n , normalizeOpts = require(\"es5-ext/object/normalize-options\")\n , contains = require(\"es5-ext/string/#/contains\");\n\nvar d = (module.exports = function (dscr, value/*, options*/) {\n\tvar c, e, w, options, desc;\n\tif (arguments.length < 2 || typeof dscr !== \"string\") {\n\t\toptions = value;\n\t\tvalue = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[2];\n\t}\n\tif (isValue(dscr)) {\n\t\tc = contains.call(dscr, \"c\");\n\t\te = contains.call(dscr, \"e\");\n\t\tw = contains.call(dscr, \"w\");\n\t} else {\n\t\tc = w = true;\n\t\te = false;\n\t}\n\n\tdesc = { value: value, configurable: c, enumerable: e, writable: w };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n});\n\nd.gs = function (dscr, get, set/*, options*/) {\n\tvar c, e, options, desc;\n\tif (typeof dscr !== \"string\") {\n\t\toptions = set;\n\t\tset = get;\n\t\tget = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[3];\n\t}\n\tif (!isValue(get)) {\n\t\tget = undefined;\n\t} else if (!isPlainFunction(get)) {\n\t\toptions = get;\n\t\tget = set = undefined;\n\t} else if (!isValue(set)) {\n\t\tset = undefined;\n\t} else if (!isPlainFunction(set)) {\n\t\toptions = set;\n\t\tset = undefined;\n\t}\n\tif (isValue(dscr)) {\n\t\tc = contains.call(dscr, \"c\");\n\t\te = contains.call(dscr, \"e\");\n\t} else {\n\t\tc = true;\n\t\te = false;\n\t}\n\n\tdesc = { get: get, set: set, configurable: c, enumerable: e };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n};\n","import {logger} from '../services/logger';\nimport {CMP_SSP_IFRAME_URL, SSP_SYNC_URL, USER_INT} from '../constants';\n\nlet syncIframe = null;\n\n/**\n * it creates communication iframe with ssp.imedia.cz domain\n * @returns {promise} promise with iframe\n */\nconst createISyncframe = () =>\n new Promise(resolve => {\n if (syncIframe) {\n return resolve(syncIframe);\n }\n\n syncIframe = document.createElement('iframe');\n syncIframe.src = SSP_SYNC_URL;\n syncIframe.frameBorder = 0;\n syncIframe.style.display = 'none';\n syncIframe.onload = () => {\n logger(1300, 'Sync iframeloaded');\n resolve(syncIframe);\n };\n document.body.appendChild(syncIframe);\n });\n\nconst parseSyncIframeResponseDone = (e, resolve, reject) => {\n let data = {};\n\n try {\n data = JSON.parse(e.data);\n } catch (error) {\n return false;\n }\n\n if (data.cmp && data.cmp === 'szn') {\n if (data.method === 'get') {\n if (data.cookie) {\n logger(1301, 'Got cookie from global storage.', data.cookie);\n } else {\n logger(1302, 'Got no cookie from global.');\n }\n resolve(data.cookie);\n return true;\n }\n\n if (data.method === 'set') {\n if (data.confirm) {\n logger(1303, 'Set cookie to global storage - succeded.');\n } else {\n logger(1304, 'Set cookie to global storage - failed.');\n }\n\n resolve(data.confirm);\n return true;\n }\n\n logger(1305, 'Communication with global failed.');\n reject();\n return true;\n }\n\n return false;\n};\n\nexport const messageListener = (resolve, reject) => e => {\n if (parseSyncIframeResponseDone(e, resolve, reject)) {\n window.removeEventListener('message', this);\n }\n};\n\n/**\n *\n * @param {string} cookie user type\n * @returns {promise} with cookie\n */\nexport const getCookieFromGlobalStorage = (userType = USER_INT) =>\n new Promise(async (resolve, reject) => {\n const iframe = await createISyncframe();\n\n logger(1306, 'Sending message to iframe: getCookie');\n\n window.addEventListener('message', messageListener(resolve, reject));\n // send to iframe\n const type = userType.toLowerCase();\n iframe.contentWindow.postMessage(JSON.stringify({method: 'getCookie', type}), CMP_SSP_IFRAME_URL);\n\n // if response fail\n setTimeout(() => {\n reject();\n }, 5000);\n });\n\n/**\n *\n * @param {string} cookie local cookie string\n * @returns {promise} with info message\n */\nexport const setCookieToGlobalStorage = (cookie, userType = USER_INT) =>\n new Promise(async (resolve, reject) => {\n const iframe = await createISyncframe();\n\n logger(1307, 'Sending message to iframe: setCookie');\n\n window.addEventListener('message', messageListener(resolve, reject));\n // send to iframe\n const type = userType.toLowerCase();\n iframe.contentWindow.postMessage(JSON.stringify({method: 'setCookie', type, cookie}), CMP_SSP_IFRAME_URL);\n\n // if response fail\n setTimeout(() => {\n reject();\n }, 5000);\n });\n\n/**\n *\n * @param {string} cookie euconsent\n * @returns {promise} with cookie\n */\nexport const getTcf2FromGlobalStorage = (userType = USER_INT) =>\n new Promise(async (resolve, reject) => {\n const iframe = await createISyncframe();\n\n logger(1306, '[TCF2.0] Sending message to iframe: getCookie');\n\n window.addEventListener('message', messageListener(resolve, reject));\n // send to iframe\n const type = userType.toLowerCase();\n iframe.contentWindow.postMessage(JSON.stringify({method: 'getCookie', type, v2: true}), CMP_SSP_IFRAME_URL);\n\n // if response fail\n setTimeout(() => {\n reject();\n }, 5000);\n });\n\n/**\n *\n * @param {string} cookie local cookie string\n * @returns {promise} with info message\n */\nexport const setTcf2ToGlobalStorage = (cookie, userType = USER_INT) =>\n new Promise(async (resolve, reject) => {\n const iframe = await createISyncframe();\n\n logger(1307, '[TCF2.0] Sending message to iframe: setCookie');\n\n window.addEventListener('message', messageListener(resolve, reject));\n // send to iframe\n const type = userType.toLowerCase();\n iframe.contentWindow.postMessage(JSON.stringify({method: 'setCookie', type, cookie, v2: true}), CMP_SSP_IFRAME_URL);\n\n // if response fail\n setTimeout(() => {\n reject();\n }, 5000);\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","/**\n * For \"scmp.js?profile=true&useDebugMode=false\" function returns\n * {profile: \"true\", useDebugMode: \"false\"}\n * @return {Object|null}\n */\nconst getScriptParams = () => {\n const scripts = document.querySelectorAll('script') || [];\n const scmpScript = Array.from(scripts).find(({src}) => {\n return !!~src.indexOf('scmp.js?') || !!~src.indexOf('scmp-external.js?');\n });\n\n if (scmpScript) {\n const params = scmpScript.src\n .split('?')\n .pop()\n .split('&');\n const paramsObj = {};\n\n params.forEach(param => {\n const [key, value] = param.split('=');\n\n paramsObj[key] = value;\n });\n return paramsObj;\n } else {\n return {};\n }\n};\n\nlet profilePage = null;\n/**\n * Returns true if script is used on Profile page.\n * @return {boolean}\n */\nexport const inProfile = () => {\n if (profilePage === null) {\n const {profile} = getScriptParams();\n\n profilePage = profile === 'true';\n }\n\n return profilePage;\n};\n\n/**\n * Returns true if script should be automatically opened.\n * @return {boolean}\n */\nexport const autoOpen = () => {\n const {auto_open: open} = getScriptParams();\n return open !== 'false';\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')();\n","import * as tslib_1 from \"tslib\";\nimport { isElement, isError, isEvent, isInstanceOf, isPlainObject, isPrimitive, isSyntheticEvent } from './is';\nimport { Memo } from './memo';\nimport { getFunctionName, htmlTreeAsString } from './misc';\nimport { truncate } from './string';\n/**\n * Wrap a given object method with a higher-order function\n *\n * @param source An object that contains a method to be wrapped.\n * @param name A name of method to be wrapped.\n * @param replacement A function that should be used to wrap a given method.\n * @returns void\n */\nexport function fill(source, name, replacement) {\n if (!(name in source)) {\n return;\n }\n var original = source[name];\n var wrapped = replacement(original);\n // Make sure it's a function first, as we need to attach an empty prototype for `defineProperties` to work\n // otherwise it'll throw \"TypeError: Object.defineProperties called on non-object\"\n // tslint:disable-next-line:strict-type-predicates\n if (typeof wrapped === 'function') {\n try {\n wrapped.prototype = wrapped.prototype || {};\n Object.defineProperties(wrapped, {\n __sentry_original__: {\n enumerable: false,\n value: original,\n },\n });\n }\n catch (_Oo) {\n // This can throw if multiple fill happens on a global object like XMLHttpRequest\n // Fixes https://github.com/getsentry/sentry-javascript/issues/2043\n }\n }\n source[name] = wrapped;\n}\n/**\n * Encodes given object into url-friendly format\n *\n * @param object An object that contains serializable values\n * @returns string Encoded\n */\nexport function urlEncode(object) {\n return Object.keys(object)\n .map(\n // tslint:disable-next-line:no-unsafe-any\n function (key) { return encodeURIComponent(key) + \"=\" + encodeURIComponent(object[key]); })\n .join('&');\n}\n/**\n * Transforms any object into an object literal with all it's attributes\n * attached to it.\n *\n * @param value Initial source that we have to transform in order to be usable by the serializer\n */\nfunction getWalkSource(value) {\n if (isError(value)) {\n var error = value;\n var err = {\n message: error.message,\n name: error.name,\n stack: error.stack,\n };\n for (var i in error) {\n if (Object.prototype.hasOwnProperty.call(error, i)) {\n err[i] = error[i];\n }\n }\n return err;\n }\n if (isEvent(value)) {\n var event_1 = value;\n var source = {};\n source.type = event_1.type;\n // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n try {\n source.target = isElement(event_1.target)\n ? htmlTreeAsString(event_1.target)\n : Object.prototype.toString.call(event_1.target);\n }\n catch (_oO) {\n source.target = '';\n }\n try {\n source.currentTarget = isElement(event_1.currentTarget)\n ? htmlTreeAsString(event_1.currentTarget)\n : Object.prototype.toString.call(event_1.currentTarget);\n }\n catch (_oO) {\n source.currentTarget = '';\n }\n // tslint:disable-next-line:strict-type-predicates\n if (typeof CustomEvent !== 'undefined' && isInstanceOf(value, CustomEvent)) {\n source.detail = event_1.detail;\n }\n for (var i in event_1) {\n if (Object.prototype.hasOwnProperty.call(event_1, i)) {\n source[i] = event_1;\n }\n }\n return source;\n }\n return value;\n}\n/** Calculates bytes size of input string */\nfunction utf8Length(value) {\n // tslint:disable-next-line:no-bitwise\n return ~-encodeURI(value).split(/%..|./).length;\n}\n/** Calculates bytes size of input object */\nfunction jsonSize(value) {\n return utf8Length(JSON.stringify(value));\n}\n/** JSDoc */\nexport function normalizeToSize(object, \n// Default Node.js REPL depth\ndepth, \n// 100kB, as 200kB is max payload size, so half sounds reasonable\nmaxSize) {\n if (depth === void 0) { depth = 3; }\n if (maxSize === void 0) { maxSize = 100 * 1024; }\n var serialized = normalize(object, depth);\n if (jsonSize(serialized) > maxSize) {\n return normalizeToSize(object, depth - 1, maxSize);\n }\n return serialized;\n}\n/** Transforms any input value into a string form, either primitive value or a type of the input */\nfunction serializeValue(value) {\n var type = Object.prototype.toString.call(value);\n // Node.js REPL notation\n if (typeof value === 'string') {\n return value;\n }\n if (type === '[object Object]') {\n return '[Object]';\n }\n if (type === '[object Array]') {\n return '[Array]';\n }\n var normalized = normalizeValue(value);\n return isPrimitive(normalized) ? normalized : type;\n}\n/**\n * normalizeValue()\n *\n * Takes unserializable input and make it serializable friendly\n *\n * - translates undefined/NaN values to \"[undefined]\"/\"[NaN]\" respectively,\n * - serializes Error objects\n * - filter global objects\n */\n// tslint:disable-next-line:cyclomatic-complexity\nfunction normalizeValue(value, key) {\n if (key === 'domain' && value && typeof value === 'object' && value._events) {\n return '[Domain]';\n }\n if (key === 'domainEmitter') {\n return '[DomainEmitter]';\n }\n if (typeof global !== 'undefined' && value === global) {\n return '[Global]';\n }\n if (typeof window !== 'undefined' && value === window) {\n return '[Window]';\n }\n if (typeof document !== 'undefined' && value === document) {\n return '[Document]';\n }\n // React's SyntheticEvent thingy\n if (isSyntheticEvent(value)) {\n return '[SyntheticEvent]';\n }\n // tslint:disable-next-line:no-tautology-expression\n if (typeof value === 'number' && value !== value) {\n return '[NaN]';\n }\n if (value === void 0) {\n return '[undefined]';\n }\n if (typeof value === 'function') {\n return \"[Function: \" + getFunctionName(value) + \"]\";\n }\n 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 */\nexport function walk(key, value, depth, memo) {\n if (depth === void 0) { depth = +Infinity; }\n if (memo === void 0) { memo = new Memo(); }\n // If we reach the maximum depth, serialize whatever has left\n if (depth === 0) {\n return serializeValue(value);\n }\n // If value implements `toJSON` method, call it and return early\n // tslint:disable:no-unsafe-any\n if (value !== null && value !== undefined && typeof value.toJSON === 'function') {\n return value.toJSON();\n }\n // tslint:enable:no-unsafe-any\n // If normalized value is a primitive, there are no branches left to walk, so we can just bail out, as theres no point in going down that branch any further\n var normalized = normalizeValue(value, key);\n if (isPrimitive(normalized)) {\n return normalized;\n }\n // Create source that we will use for next itterations, either objectified error object (Error type with extracted keys:value pairs) or the input itself\n var source = getWalkSource(value);\n // Create an accumulator that will act as a parent for all future itterations of that branch\n var acc = Array.isArray(value) ? [] : {};\n // If we already walked that branch, bail out, as it's circular reference\n if (memo.memoize(value)) {\n return '[Circular ~]';\n }\n // Walk all keys of the source\n for (var innerKey in source) {\n // Avoid iterating over fields in the prototype if they've somehow been exposed to enumeration.\n if (!Object.prototype.hasOwnProperty.call(source, innerKey)) {\n continue;\n }\n // Recursively walk through all the child nodes\n acc[innerKey] = walk(innerKey, source[innerKey], depth - 1, memo);\n }\n // Once walked through all the branches, remove the parent from memo storage\n memo.unmemoize(value);\n // Return accumulated values\n return acc;\n}\n/**\n * normalize()\n *\n * - Creates a copy to prevent original input mutation\n * - Skip non-enumerablers\n * - Calls `toJSON` if implemented\n * - Removes circular references\n * - Translates non-serializeable values (undefined/NaN/Functions) to serializable format\n * - Translates known global objects/Classes to a string representations\n * - Takes care of Error objects serialization\n * - Optionally limit depth of final output\n */\nexport function normalize(input, depth) {\n try {\n // tslint:disable-next-line:no-unsafe-any\n return JSON.parse(JSON.stringify(input, function (key, value) { return walk(key, value, depth); }));\n }\n catch (_oO) {\n return '**non-serializable**';\n }\n}\n/**\n * Given any captured exception, extract its keys and create a sorted\n * and truncated list that will be used inside the event message.\n * eg. `Non-error exception captured with keys: foo, bar, baz`\n */\nexport function extractExceptionKeysForMessage(exception, maxLength) {\n if (maxLength === void 0) { maxLength = 40; }\n // tslint:disable:strict-type-predicates\n var keys = Object.keys(getWalkSource(exception));\n keys.sort();\n if (!keys.length) {\n return '[object has no keys]';\n }\n if (keys[0].length >= maxLength) {\n return truncate(keys[0], maxLength);\n }\n for (var includedKeys = keys.length; includedKeys > 0; includedKeys--) {\n var serialized = keys.slice(0, includedKeys).join(', ');\n if (serialized.length > maxLength) {\n continue;\n }\n if (includedKeys === keys.length) {\n return serialized;\n }\n return truncate(serialized, maxLength);\n }\n return '';\n}\n/**\n * Given any object, return the new object with removed keys that value was `undefined`.\n * Works recursively on objects and arrays.\n */\nexport function dropUndefinedKeys(val) {\n var e_1, _a;\n if (isPlainObject(val)) {\n var obj = val;\n var rv = {};\n try {\n for (var _b = tslib_1.__values(Object.keys(obj)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n if (typeof obj[key] !== 'undefined') {\n rv[key] = dropUndefinedKeys(obj[key]);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return rv;\n }\n if (Array.isArray(val)) {\n return val.map(dropUndefinedKeys);\n }\n return val;\n}\n//# sourceMappingURL=object.js.map","import {logger} from './logger';\nimport {existsCookie, setCookie, getCookie, deleteCookie} from './cookie';\nimport {LASTSHOW_IMAGINARY_NAME} from '../constants';\n\nconst isStorageSupported = window.localStorage && window.localStorage.getItem && window.localStorage.setItem;\n\n/**\n * Gets item from localStorage\n *\n * @param {string} cname\n */\nconst getStorageItem = cname => (isStorageSupported ? localStorage.getItem(cname) : null);\n\n/**\n * Sets item into localStorage\n *\n * @param {string} cvalue\n * @param {string} cname\n */\nconst setStorageItem = (cvalue, cname) => isStorageSupported && localStorage.setItem(cname, cvalue);\n\n/**\n * Check if item exists in localStorage or is available as cookie\n *\n * @param {string} cname\n */\nexport const itemExists = cname => existsCookie(cname) || !!getStorageItem(cname);\n\n/**\n * Sets item into localStorage and cookies\n *\n * @param {string} cvalue\n * @param {string} cname\n */\nexport const setItem = (cvalue, cname) => {\n setCookie(cvalue, cname);\n setCookie(cvalue, LASTSHOW_IMAGINARY_NAME);\n setStorageItem(cvalue, cname);\n};\n\n/**\n * Looks for data in localStorage and cookies and sync them\n *\n * @param {string} cname\n */\nexport const syncStorage = cname => {\n const item = getStorageItem(cname);\n const cookie = getCookie(cname);\n if (!item && !cookie) {\n logger(1901, 'Nothing to sync');\n return;\n }\n\n if (cookie && !item) {\n // sync to localStorage\n logger(1902, 'No cmplastshowcookie in localStorage, sync it from cookie');\n setStorageItem(cookie, cname);\n } else if (!cookie && item) {\n // sync cookie\n logger(1903, 'No cmplastshowcookie, sync it from localStorage');\n setCookie(item, cname);\n } else {\n // sync newer data\n if (parseInt(cookie, 10) < parseInt(item, 10)) {\n logger(1904, 'Newer cmplastshowcookie in localStorage, sync it to cookies');\n deleteCookie(cname);\n setCookie(item, cname);\n } else if (parseInt(cookie, 10) > parseInt(item, 10)) {\n logger(1905, 'Newer cmplastshowcookie in cookies, sync it to localStorage');\n setStorageItem(cookie, cname);\n } else {\n logger(1906, 'cmplastshowcookie is same in both storages, do nothing.');\n }\n }\n};\n\n/**\n * Gets item from localStorage and cookies\n *\n * @param {string} cname\n */\nexport const getItem = cname => getStorageItem(cname) || getCookie(cname);\n","import {decodeConsentString} from 'consent-string';\nimport {INTERVAL_24, LASTSHOW_COOKIE_NAME, TESTPERSIST_COOKIE_NAME} from '../constants';\nimport {existsConsentCookie, getConsentCookie} from '../services/consent';\nimport {setCookie, existsCookie, getCookie, deleteCookie} from '../services/cookie';\nimport {getNextShow, setNextShow} from '../services/measurement';\nimport {logger} from '../services/logger';\nimport {getItem, setItem, itemExists, syncStorage} from '../services/storage';\n\nconst INTERVAL_12 = INTERVAL_24 / 2;\nconst INTERVAL_72 = INTERVAL_24 * 3;\n\n/**\n * Checks if it is posible to show dialog - based on time intervals\n * @returns {boolean}\n */\nexport const checkNoOpenInterval = () => {\n logger(1800, 'Checking time interval.');\n\n let nextShow = Date.now() - 1; // only for first run\n let stage = 0;\n\n syncStorage(LASTSHOW_COOKIE_NAME);\n let data = getItem(LASTSHOW_COOKIE_NAME);\n getNextShow(data);\n if (data) {\n data = data.split('|');\n nextShow = parseInt(data[0], 10);\n stage = parseInt(data[1], 10);\n }\n if (Date.now() < nextShow) {\n logger(1801, 'Too short time interval - do not open dialog.');\n return false;\n }\n // sync with current time\n nextShow = Date.now();\n // show\n if (stage <= 2) {\n // first and second 12 hour increment\n nextShow += INTERVAL_12;\n } else if (stage <= 7) {\n // 24 hours increment up to the 7th day\n nextShow += INTERVAL_24;\n } else {\n nextShow += INTERVAL_72; // next increments are by 3 days (72 hours)\n stage--;\n }\n setItem(`${nextShow}|${++stage}`, LASTSHOW_COOKIE_NAME);\n if (itemExists(LASTSHOW_COOKIE_NAME)) {\n setNextShow(getItem(LASTSHOW_COOKIE_NAME));\n }\n syncStorage(LASTSHOW_COOKIE_NAME);\n\n return true;\n};\n\nexport const resetCheckNoOpenInterval = () => {\n setCookie(`${Date.now()}|0`, LASTSHOW_COOKIE_NAME);\n};\n\n/**\n * Checks if page contains viewport meta tag\n * @returns {boolean}\n */\nconst hasViewport = () => document.querySelector('meta[name=\"viewport\"][content*=\"device-width\"]') !== null;\n\n/**\n * Checks if mobile device\n * @returns {boolean}\n */\nconst isMobile = () => {\n const ua = navigator.userAgent.toLowerCase();\n const isTablet = /(ipad|tablet)/.test(ua);\n return (typeof window.orientation !== 'undefined' || navigator.userAgent.indexOf('IEMobile') !== -1) && !isTablet;\n};\n\n/**\n * Checks if user loads non-responsive page on mobile\n * @returns {boolean}\n */\nexport const mobileNonResponsive = () => isMobile() && !hasViewport();\n\n/**\n * Apple platform list\n */\nconst applePlatformList = ['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K', 'darwin', 'iPhone', 'iPad', 'iPod'];\n\n/**\n * Is this an Apple device?\n *\n * @returns {boolean}\n */\nexport const isApplePlatform = applePlatformList.includes(window.navigator.platform);\n\nconst TEST_COOKIE_NAME = 'cmptestcookie';\n\n/**\n * Checks posibility to storage cookies, etc...\n * @returns {boolean}\n */\nconst checkStorageAvailability = () => {\n setCookie(1, TEST_COOKIE_NAME);\n const result = existsCookie(TEST_COOKIE_NAME);\n logger(1802, 'Checking checkStorageAvailability: ', result);\n deleteCookie(TEST_COOKIE_NAME);\n return result;\n};\n\nconst check = () => {\n logger(1803, 'Check storage hold capability');\n if (existsCookie(TESTPERSIST_COOKIE_NAME)) {\n const result = parseInt(getCookie(TESTPERSIST_COOKIE_NAME), 10);\n logger(1804, 'Read stored test cookie');\n if (Date.now() >= result + INTERVAL_24) {\n // is cookie stored at least 24h\n logger(1805, 'Stored at least 24h');\n return true;\n } else {\n logger(1806, 'Stored less than 24h - fail end - CMP.');\n return false;\n }\n } else {\n logger(1807, 'Start store check - save cookie - fail - end CMP');\n setCookie(Date.now(), TESTPERSIST_COOKIE_NAME);\n return false;\n }\n};\n\nexport const isStorageEnabled = checkStorageAvailability();\nexport const isCapableStoreAndHoldCookies = check();\n\nexport const checkForUpdate = global => {\n if (!existsConsentCookie()) {\n logger(1808, 'No euconsent cookie found in local domain.');\n return true;\n }\n\n const decodedLocal = decodeConsentString(getConsentCookie());\n const decodedGlobal = decodeConsentString(global);\n\n logger(1809, 'Checking local and global cookie time.');\n return decodedLocal.lastUpdated < decodedGlobal.lastUpdated || decodedLocal.created < decodedGlobal.created;\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","/**\n * Returns URL params.\n * @return {object}\n */\nconst getUrlParams = () => {\n const paramQueries = window.location.search.substring(1).split('&');\n const params = {};\n\n if (paramQueries.length > 0 && paramQueries[0] !== '') {\n for (let i = 0; i < paramQueries.length; i++) {\n const paramPair = paramQueries[i].split('=');\n\n params[paramPair[0]] = paramPair[1];\n }\n }\n return params;\n};\n\nlet demo = null;\n/**\n * Return true if ..?cmpdemo=1\" is in URL.\n * @return {boolean}\n */\nexport const demoMode = () => {\n if (demo === null) {\n const {cmpdemo} = getUrlParams();\n\n if (cmpdemo) {\n demo = cmpdemo === '1';\n }\n }\n\n return demo;\n};\n\nlet logger = null;\n/**\n * Return true if ..?cmplogger=1\" is in URL.\n * @return {boolean}\n */\nexport const loggerMode = () => {\n if (logger === null) {\n const {cmplogger} = getUrlParams();\n\n if (cmplogger) {\n logger = cmplogger === '1';\n }\n }\n\n return logger;\n};\n","/* eslint-disable no-use-before-define */\nimport {getProfilePurposes, getPreFilledPurposesFromCookie} from '../purposes';\nimport {logger} from './logger';\nimport {getCookie, setCookie, deleteCookie} from './cookie';\nimport {setConsentCookie} from './consent';\nimport {setCookieToGlobalStorage} from '../services/globalCookie';\nimport {ConsentString} from 'consent-string';\nimport {inProfile} from '../utils/scriptParams';\nimport {end, profileError, profileSaved} from '../services/measurement';\nimport {PROFILERROR_COOKIE_NAME} from '../constants';\n\nlet currentRusId = null;\n\n/**\n * Sets current rusId from profile data\n *\n * @param {number} id\n */\nexport const setRusId = id => {\n currentRusId = id;\n};\n\n/**\n * Gets current rusId\n */\nconst getRusId = () => currentRusId;\n\n/**\n * Gets data from Profil.\n * @return {Promise}\n */\nexport const getProfileData = () =>\n new Promise((resolve, reject) => {\n try {\n const onConsentEvent = e => {\n if (e.detail) {\n logger(1500, 'Got Profile consent data');\n window.removeEventListener('consent', onConsentEvent);\n resolve(e.detail);\n }\n };\n\n window.addEventListener('consent', onConsentEvent);\n logger(1501, 'Waiting for Profile consent data');\n window.login.consent.get();\n } catch (error) {\n reject(error);\n }\n });\n\n/**\n * We want to save into Profile only public props from ConsentString object.\n * @param {string} encodedCookie\n * @param {ConsentString} data\n */\nexport const getEuconsentData = (encodedCookie, euconsentData) => ({\n encodedCookie,\n allowedPurposeIds: euconsentData.getPurposesAllowed(),\n allowedVendorIds: euconsentData.getVendorsAllowed(),\n cmpId: euconsentData.getCmpId(),\n cmpVersion: euconsentData.getCmpVersion(),\n consentLanguage: euconsentData.getConsentLanguage(),\n consentScreen: euconsentData.getConsentScreen(),\n created: euconsentData.getCreated().toISOString(),\n lastUpdated: euconsentData.getLastUpdated().toISOString(),\n vendorListVersion: euconsentData.getVendorListVersion(),\n version: euconsentData.getVersion()\n});\n\n/**\n * Saves settings into Profil.\n * @param {string} encodedCookie\n * @param {ConsentString} euconsentData\n * @param {Object} purposes\n * @return {Promise}\n */\nexport const setProfileData = (encodedCookie, euconsentData, purposes) =>\n new Promise((resolve, reject) => {\n const consent = getProfilePurposes(purposes);\n const euconsent = getEuconsentData(encodedCookie, euconsentData);\n let timer = null;\n\n logger(603, 'Saving data into profile:', {\n consent,\n euconsent\n });\n\n const onConsentChange = () => {\n removeConsentListeners();\n logger(609, 'Consent successfully changed');\n resolve();\n };\n\n const onConsentError = () => {\n removeConsentListeners();\n logger(610, 'Consent error occured');\n reject();\n };\n\n const removeConsentListeners = () => {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n window.removeEventListener('consent-change', onConsentChange);\n window.removeEventListener('consent-error', onConsentError);\n };\n\n window.addEventListener('consent-change', onConsentChange);\n window.addEventListener('consent-error', onConsentError);\n\n // if saving fails\n timer = setTimeout(() => {\n removeConsentListeners();\n logger(611, 'Consent save timeout');\n reject();\n }, 5000);\n\n window.login.consent.set(consent, euconsent);\n });\n\n/**\n * Handles case when data cannot be saved into Profil.\n *\n * @param {string} encodedCookie cookie string\n */\nexport const saveProfileError = encodedCookie => {\n logger(1502, 'ProfileError: Data could not be saved into Profile');\n\n const rusId = getRusId();\n\n if (encodedCookie && typeof rusId === 'number') {\n setCookie(rusId + '|' + encodedCookie, PROFILERROR_COOKIE_NAME);\n logger(1503, 'ProfileError: data saved for later try.');\n }\n};\n\n/**\n * Gets ProfileError data\n *\n * @returns {Object} error data\n */\nexport const getProfileError = () => {\n let data = getCookie(PROFILERROR_COOKIE_NAME);\n\n if (data) {\n data = data.split('|');\n const rusId = parseInt(data[0], 10);\n const euconsent = data[1];\n\n data = {\n rusId,\n euconsent\n };\n\n logger(1504, 'ProfileError: got data', data);\n return data;\n }\n\n logger(1505, 'ProfileError: no data found');\n return null;\n};\n\n/**\n * Deletes ProfileError from local storage\n */\nexport const clearProfileError = () => deleteCookie(PROFILERROR_COOKIE_NAME);\n\n/**\n * Checks if any ProfileError log exists.\n *\n * @returns {boolean} true if exists, otherwise false\n */\nexport const existsProfileError = () => getCookie(PROFILERROR_COOKIE_NAME) !== '';\n\n/**\n * Tries to synchronize data from latest ProfileError\n * @param {string} encodedCookie cookie string\n */\nexport const handleProfileError = async encodedCookie => {\n if (!inProfile()) {\n logger(1506, 'Saving euconsent cookie into browser:', encodedCookie);\n setConsentCookie(encodedCookie);\n }\n\n const consentData = new ConsentString(encodedCookie);\n const purposes = getPreFilledPurposesFromCookie(encodedCookie);\n\n setCookieToGlobalStorage(encodedCookie);\n\n try {\n await setProfileData(encodedCookie, consentData, purposes);\n clearProfileError();\n profileSaved();\n end();\n } catch (error) {\n profileError();\n saveProfileError(encodedCookie);\n end();\n }\n};\n\n/**\n * Returns true if cookie create date is outdated.\n * @param {string} date in 2019-07-03T00:00:00 format\n * @param {string} cmpData in 2019-07-03T00:00:00 format\n * @return {boolean}\n */\nexport const isProfileCookieOutdated = (date, cmpData) => {\n const cookieTimestamp = new Date(date).getTime();\n const cmpTimestamp = new Date(cmpData).getTime();\n\n return cmpTimestamp > cookieTimestamp;\n};\n","\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) throw new TypeError(\"Cannot use null or undefined\");\n\treturn value;\n};\n","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import {\n PURPOSE_ADS,\n PURPOSE_CONTENT,\n PURPOSE_ID_STORAGE,\n PURPOSE_ID_PERSONAL,\n PURPOSE_ID_ADS,\n PURPOSE_ID_CONTENT,\n PURPOSE_ID_MEASUREMENT\n} from '../constants';\n\nconst list = {\n [PURPOSE_ADS]: true,\n [PURPOSE_CONTENT]: true\n};\n\n/**\n * Returns list of purposes whose checked values are based on data from Profile.\n * In case that data.consents[XXX] !== 'boolean' user does not have any consent in Profile.\n * @param {Object} data\n * @return {Object}\n */\nexport const getPreFilledPurposes = data => {\n if (data && data.consents) {\n const {consents} = data;\n\n list[PURPOSE_ADS] = typeof consents[PURPOSE_ADS] === 'boolean' ? consents[PURPOSE_ADS] : true;\n list[PURPOSE_CONTENT] = typeof consents[PURPOSE_CONTENT] === 'boolean' ? consents[PURPOSE_CONTENT] : true;\n }\n\n return list;\n};\n\nexport const getPreFilledPurposesFromCookie = data => {\n if (data) {\n list[PURPOSE_ADS] = data.indexOf(PURPOSE_ID_ADS) !== -1;\n list[PURPOSE_CONTENT] = data.indexOf(PURPOSE_ID_CONTENT) !== -1;\n }\n\n return list;\n};\n\n/**\n * Returns formatted purposes for Profile.\n * @param {Object} data\n * @return {Object}\n */\nexport const getProfilePurposes = data => ({\n [PURPOSE_ADS]: data[PURPOSE_ADS],\n [PURPOSE_CONTENT]: data[PURPOSE_CONTENT]\n});\n\n/**\n * Sets purpose consents into consentData.\n * @param {ConsentString} consentData\n * @param {Object} purposes\n */\nexport const setPurposesToConsent = (consentData, purposes) => {\n consentData.setPurposeAllowed(PURPOSE_ID_STORAGE, true);\n consentData.setPurposeAllowed(PURPOSE_ID_PERSONAL, true);\n consentData.setPurposeAllowed(PURPOSE_ID_ADS, purposes[PURPOSE_ADS]);\n consentData.setPurposeAllowed(PURPOSE_ID_CONTENT, purposes[PURPOSE_CONTENT]);\n consentData.setPurposeAllowed(PURPOSE_ID_MEASUREMENT, true);\n};\n","import {decodeConsentString} from 'consent-string';\n\nimport {getConsentCookie, existsConsentCookie} from './consent';\nimport {logger} from './logger';\nimport {PURPOSE_CONTENT, PURPOSE_ADS} from '../constants';\nimport {getPreFilledPurposes, getPreFilledPurposesFromCookie} from '../purposes';\nimport {getPreFilledVendors, getPreFilledVendorsFromCookie} from '../vendors';\nimport vendorList from '../vendors/list';\n\nconst formData = {\n purposes: {\n [PURPOSE_CONTENT]: true,\n [PURPOSE_ADS]: true\n },\n vendors: vendorList.vendors\n};\n\nexport const setFormData = data => {\n formData.purposes = data.purposes || {\n [PURPOSE_CONTENT]: true,\n [PURPOSE_ADS]: true\n };\n formData.vendors = data.vendors || vendorList.vendors;\n};\n\nexport const setFormDataLoggedInUser = data => {\n formData.purposes = getPreFilledPurposes(data);\n formData.vendors = getPreFilledVendors(data);\n};\n\nexport const setFormDataFromConsent = consentCookie => {\n if (!consentCookie) {\n return;\n }\n\n const {allowedPurposeIds, allowedVendorIds} = decodeConsentString(consentCookie);\n\n setFormData({\n purposes: getPreFilledPurposesFromCookie(allowedPurposeIds),\n vendors: getPreFilledVendorsFromCookie(allowedVendorIds)\n });\n};\n\nexport const setPrefilledFormData = () => {\n if (!existsConsentCookie()) {\n logger(1200, 'No euconsent cookie found in local domain.');\n return;\n }\n\n const {allowedPurposeIds, allowedVendorIds} = decodeConsentString(getConsentCookie());\n\n setFormData({\n purposes: getPreFilledPurposesFromCookie(allowedPurposeIds),\n vendors: getPreFilledVendorsFromCookie(allowedVendorIds)\n });\n};\n\nexport const getFormData = () => formData;\n","\"use strict\";\n\nmodule.exports = function (fn) {\n\tif (typeof fn !== \"function\") throw new TypeError(fn + \" is not a function\");\n\treturn fn;\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")()\n\t? require(\"ext/global-this\").Symbol\n\t: require(\"./polyfill\");\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","const ua = navigator.userAgent;\nconst av = navigator.appVersion;\n\nconst isFF = ~ua.indexOf('Firefox/') && !~ua.indexOf('Seamonkey/');\nconst isLinux = av.indexOf('Linux') !== -1 && av.indexOf('Android') === -1;\n\nexport const isSafari = ~ua.indexOf('Safari/') && !~ua.indexOf('Chrome/') && !~ua.indexOf('Chromium/');\n\nexport const sbrowserEnabled = () => (isSafari || isFF) && !isLinux;\n","import { consoleSandbox, getGlobalObject } from './misc';\n// TODO: Implement different loggers for different environments\nvar global = getGlobalObject();\n/** Prefix for logging strings */\nvar PREFIX = 'Sentry Logger ';\n/** JSDoc */\nvar Logger = /** @class */ (function () {\n /** JSDoc */\n function Logger() {\n this._enabled = false;\n }\n /** JSDoc */\n Logger.prototype.disable = function () {\n this._enabled = false;\n };\n /** JSDoc */\n Logger.prototype.enable = function () {\n this._enabled = true;\n };\n /** JSDoc */\n Logger.prototype.log = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!this._enabled) {\n return;\n }\n consoleSandbox(function () {\n global.console.log(PREFIX + \"[Log]: \" + args.join(' ')); // tslint:disable-line:no-console\n });\n };\n /** JSDoc */\n Logger.prototype.warn = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!this._enabled) {\n return;\n }\n consoleSandbox(function () {\n global.console.warn(PREFIX + \"[Warn]: \" + args.join(' ')); // tslint:disable-line:no-console\n });\n };\n /** JSDoc */\n Logger.prototype.error = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!this._enabled) {\n return;\n }\n consoleSandbox(function () {\n global.console.error(PREFIX + \"[Error]: \" + args.join(' ')); // tslint:disable-line:no-console\n });\n };\n return Logger;\n}());\n// Ensure we only have a single logger instance, even if multiple versions of @sentry/utils are being used\nglobal.__SENTRY__ = global.__SENTRY__ || {};\nvar logger = global.__SENTRY__.logger || (global.__SENTRY__.logger = new Logger());\nexport { logger };\n//# sourceMappingURL=logger.js.map","export default {\n vendorListVersion: 153,\n lastUpdated: '2019-06-27T16:00:16Z',\n purposes: [\n {\n id: 1,\n name: 'Information storage and access'\n },\n {\n id: 2,\n name: 'Personalisation'\n },\n {\n id: 3,\n name: 'Ad selection, delivery, reporting'\n },\n {\n id: 4,\n name: 'Content selection, delivery, reporting'\n },\n {\n id: 5,\n name: 'Measurement'\n }\n ],\n vendors: [\n {id: 40, name: 'Active Agent AG', checked: true},\n {id: 57, name: 'ADARA MEDIA UNLIMITED', checked: true},\n {id: 50, name: 'Adform A/S', checked: true},\n {id: 264, name: 'Adobe Advertising Cloud', checked: true},\n {id: 565, name: 'Adobe Audience Manager', checked: true},\n {id: 130, name: 'AdRoll Inc', checked: true},\n {id: 23, name: 'Amobee, Inc.', checked: true},\n {id: 32, name: 'AppNexus Inc.', checked: true},\n {id: 128, name: 'BIDSWITCH GmbH', checked: true},\n {id: 156, name: 'Centro, Inc.', checked: true},\n {id: 85, name: 'Crimtan Holdings Limited', checked: true},\n {id: 91, name: 'Criteo SA', checked: true},\n {id: 570, name: 'Czech Publisher Exchange z.s.p.o.', checked: true},\n {id: 71, name: 'Dataxu, Inc.', checked: true},\n {id: 64, name: 'DigiTrust / IAB Tech Lab', checked: true},\n {id: 126, name: 'DoubleVerify Inc.', checked: true},\n {id: 29, name: 'Etarget SE', checked: true},\n {id: 1, name: 'Exponential Interactive', checked: true},\n {id: 328, name: 'Gemius SA', checked: true},\n {id: 98, name: 'GroupM', checked: true},\n {id: 10, name: 'Index Exchange, Inc.', checked: true},\n {id: 278, name: 'Integral Ad Science, Inc.', checked: true},\n {id: 428, name: 'Internet BillBoard a.s.', checked: true},\n {id: 129, name: 'IPONWEB GmbH', checked: true},\n {id: 317, name: 'MainADV Srl', checked: true},\n {id: 79, name: 'MediaMath, Inc.', checked: true},\n {id: 25, name: 'Oath (EMEA) Limited', checked: true},\n {id: 69, name: 'OpenX', checked: true},\n {id: 732, name: 'Performax', checked: true},\n {id: 177, name: 'Plista GmbH', checked: true},\n {id: 76, name: 'PubMatic, Inc.', checked: true},\n {id: 16, name: 'RTB House S.A.', checked: true},\n {id: 621, name: 'Seznam.cz, a.s.', checked: true},\n {id: 68, name: 'Sizmek Technologies, Inc.', checked: true},\n {id: 45, name: 'Smart Adserver', checked: true},\n {id: 338, name: 'dunnhumby Germany GmbH - Sociomantic', checked: true},\n {id: 136, name: 'Ströer SSP GmbH', checked: true},\n {id: 42, name: 'Taboola Europe Limited', checked: true},\n {id: 132, name: 'Teads', checked: true},\n {id: 52, name: 'The Rubicon Project, Limited', checked: true},\n {id: 21, name: 'The Trade Desk', checked: true},\n {id: 423, name: 'travel audience GmbH', checked: true},\n {id: 592, name: 'Colpirio', checked: true},\n {id: 366, name: 'Cerebro', checked: true},\n {id: 205, name: 'Adssets', checked: true},\n {id: 238, name: 'Stackadapt', checked: true},\n {id: 73, name: 'Simplifi Holdings Inc.', checked: true},\n {id: 97, name: 'LiveRamp, Inc.', checked: true},\n {id: 373, name: 'Nielsen Marketing Cloud', checked: true},\n {id: 385, name: 'Oracle', checked: true}\n ]\n};\n","import { isRegExp, isString } from './is';\n/**\n * Truncates given string to the maximum characters count\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string\n * @returns string Encoded\n */\nexport function truncate(str, max) {\n if (max === void 0) { max = 0; }\n // tslint:disable-next-line:strict-type-predicates\n if (typeof str !== 'string' || max === 0) {\n return str;\n }\n return str.length <= max ? str : str.substr(0, max) + \"...\";\n}\n/**\n * This is basically just `trim_line` from\n * https://github.com/getsentry/sentry/blob/master/src/sentry/lang/javascript/processor.py#L67\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string\n * @returns string Encoded\n */\nexport function snipLine(line, colno) {\n var newLine = line;\n var ll = newLine.length;\n if (ll <= 150) {\n return newLine;\n }\n if (colno > ll) {\n colno = ll; // tslint:disable-line:no-parameter-reassignment\n }\n var start = Math.max(colno - 60, 0);\n if (start < 5) {\n start = 0;\n }\n var end = Math.min(start + 140, ll);\n if (end > ll - 5) {\n end = ll;\n }\n if (end === ll) {\n start = Math.max(end - 140, 0);\n }\n newLine = newLine.slice(start, end);\n if (start > 0) {\n newLine = \"'{snip} \" + newLine;\n }\n if (end < ll) {\n newLine += ' {snip}';\n }\n return newLine;\n}\n/**\n * Join values in array\n * @param input array of values to be joined together\n * @param delimiter string to be placed in-between values\n * @returns Joined values\n */\nexport function safeJoin(input, delimiter) {\n if (!Array.isArray(input)) {\n return '';\n }\n var output = [];\n // tslint:disable-next-line:prefer-for-of\n for (var i = 0; i < input.length; i++) {\n var value = input[i];\n try {\n output.push(String(value));\n }\n catch (e) {\n output.push('[value cannot be serialized]');\n }\n }\n return output.join(delimiter);\n}\n/**\n * Checks if the value matches a regex or includes the string\n * @param value The string value to be checked against\n * @param pattern Either a regex or a string that must be contained in value\n */\nexport function isMatchingPattern(value, pattern) {\n if (!isString(value)) {\n return false;\n }\n if (isRegExp(pattern)) {\n return pattern.test(value);\n }\n if (typeof pattern === 'string') {\n return value.indexOf(pattern) !== -1;\n }\n return false;\n}\n//# sourceMappingURL=string.js.map","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","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","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","\"use strict\";\n\nvar _undefined = require(\"../function/noop\")(); // Support ES3 engines\n\nmodule.exports = function (val) { return val !== _undefined && val !== null; };\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.setPrototypeOf : require(\"./shim\");\n","\"use strict\";\n\n// ES3 safe\nvar _undefined = void 0;\n\nmodule.exports = function (value) { return value !== _undefined && value !== null; };\n","const translations = {\n button: {\n agree: 'Souhlasím',\n next: 'Další volby',\n continue: 'Pokračovat',\n editSettings: 'Upravit nastavení',\n back: 'Zpět',\n details: 'Podrobné nastavení',\n confirm: 'Potvrdit nastavení',\n collapseClose: 'Zobrazit méně',\n collapseOpen: 'Zobrazit více >>',\n purposes: 'Zobrazit všechny účely >>',\n here: 'zde',\n edit: 'upravit'\n },\n intro: {\n title: 'Nastavení souhlasu s personalizací',\n\n subTitle: 'Díky zobrazování reklam vám můžeme nabízet kvalitní obsah zadarmo',\n\n subTitleContinue: 'Vaše nastavení souhlasů již máme uložené. Pokud jej nechcete měnit, klikněte na tlačítko „Pokračovat“.',\n\n description1: `Společnost Seznam.cz, a.s. shromažďuje, uchovává a sdílí informace o koncových uživatelích, včetně IP adres,\n jedinečných identifikátorů uživatelů nebo informací umožňujících osobní identifikaci získané na našich stránkách,\n i na stránkách našich partnerů, se kterými jsme propojeni. Podrobné informace o nakládání s osobními údaji najdete\n na stránkách o ochraně osobních údajů.`,\n\n description11: `Prosíme vás proto o potvrzení, že pro účely poskytování jedinečného obsahu (zejména článků, počasí, výsledků vyhledávání,\n zajímavých tipů a reklamních sdělení) na internetových stránkách a v mobilních aplikacích našich služeb poskytujete společnosti Seznam.cz, a.s\n výslovný souhlas se zpracováním svých osobních údajů (například identifikátoru cookie), jejich využitím pro účely předpokládané právními předpisy\n (ukládání a zpracování, měření, personalizace, doporučování obsahu a reklamních sdělení) a jejich možným sdílením s našimi`,\n\n description2: '. Údaje pro účely měření a ukládání zpracovává Seznam.cz na základě oprávněného zájmu.',\n\n description2Logged:\n ' Nastavení soukromí můžete kdykoliv změnit ve svém Profilu.',\n\n description2Unlogged: ' Nastavení soukromí můžete kdykoliv změnit na stránkách o ochraně osobních údajů.',\n\n description22: 'Rozsah uděleného souhlasu můžete upravit kliknutím na tlačítko „Další volby“.',\n\n descriptionPrev1: `Společnost Seznam.cz, a.s shromažďuje, uchovává a sdílí informace o koncových \n uživatelích, včetně IP adres, jedinečných identifikátorů uživatelů nebo \n informací umožňujících osobní identifikaci získané na našich stránkách, i na \n stránkách našich partnerů, se kterými jsme propojeni. Podrobné informace o nakládání\n s osobními údaji najdete na stránkách o ochraně osobních údajů.`,\n\n descriptionPrev11: `Aktualizovali jsme znění souhlasu a rozšířili jsme možnosti nastavení – nově\n můžete vybrat, se kterými partnery můžeme sdílet údaje. Prosíme vás proto o aktualizaci vašeho \n souhlasu, že pro účely poskytování jedinečného obsahu (zejména článků, počasí, výsledků \n vyhledávání, zajímavých tipů a reklamních sdělení) na internetových stránkách a v mobilních \n aplikacích našich služeb poskytujete společnosti Seznam.cz, a.s výslovný souhlas se zpracováním \n svých osobních údajů (například identifikátoru cookie), jejich využitím pro účely předpokládané právními předpisy \n (ukládání a zpracování, měření, personalizace, doporučování obsahu a reklamních sdělení) \n a jejich možným sdílením s našimi`,\n\n descriptionPrev2: '. Údaje pro účely měření a ukládání zpracovává Seznam.cz na základě oprávněného zájmu.',\n\n descriptionPrev2Logged:\n ' Nastavení soukromí můžete kdykoliv změnit ve svém Profilu.',\n\n descriptionPrev2Unlogged: ' Nastavení soukromí můžete kdykoliv změnit na stránkách o ochraně osobních údajů.',\n\n descriptionPrev22: 'Rozsah uděleného souhlasu můžete upravit kliknutím na tlačítko „Další volby“.',\n\n simpleDialog:\n 'Podrobné informace o nakládání s osobními údaji najdete na stránkách o ochraně osobních údajů.',\n\n vendorButton: 'vybranými partnery',\n\n external: {\n description1: `Provozovatel tohoto webu a společnost Seznam.cz, a.s. shromažďuje, uchovává a sdílí informace o koncových uživatelích, včetně IP adres, \n jedinečných identifikátorů uživatelů nebo informací umožňujících osobní identifikaci získané na našich stránkách, \n i na stránkách našich partnerů, se kterými jsme propojeni. Podrobné informace o nakládání s osobními údaji najdete \n na stránkách o ochraně osobních údajů.
\n Na internetových stránkách, které jsou součástí partnerské sítě \n společnosti Seznam.cz, a.s. můžete dostávat obsah a nabídky, které vás skutečně baví a zajímají. \n K tomu potřebujeme váš souhlas se zpracováním osobních údajů v souladu s celoevropským nařízením GDPR.`,\n\n description11: `Prosíme vás proto o potvrzení, že pro účely poskytování jedinečného obsahu \n (zejména článků, počasí, výsledků vyhledávání, zajímavých tipů a reklamních sdělení) na internetových stránkách \n a v mobilních aplikacích partnerské sítě společnosti Seznam.cz, a.s. poskytujete reklamnímu systému \n společnosti Seznam.cz, a.s., provozovatelům internetových stránek, kteří jsou součástí \n partnerské sítě \n společnosti Seznam.cz, a.s., případně`,\n\n description2: ` výslovný souhlas se zpracováním svých osobních údajů, jejich využitím pro účely předpokládané \n právními předpisy (ukládání a zpracování, měření, personalizace, doporučování obsahu a reklamních sdělení) \n a jejich možným sdílením v rámci partnerské sítě společnosti Seznam.cz, a.s. Údaje pro účely měření a ukládání \n zpracovává Seznam.cz na základě oprávněného zájmu. Nastavení soukromí můžete \n kdykoliv změnit na stránkách o ochraně osobních údajů.`,\n\n description22: 'Rozsah uděleného souhlasu můžete upravit kliknutím na tlačítko „Další volby“.',\n\n descriptionPrev1: `Provozovatel tohoto webu a společnost Seznam.cz, a.s shromažďuje, uchovává a sdílí informace o koncových uživatelích, včetně IP adres, \n jedinečných identifikátorů uživatelů nebo informací umožňujících osobní identifikaci získané na našich stránkách, \n i na stránkách našich partnerů, se kterými jsme propojeni. Podrobné informace o nakládání s osobními údaji najdete \n na stránkách o ochraně osobních údajů.
\n Na internetových stránkách, které jsou součástí partnerské sítě \n společnosti Seznam.cz, a.s. můžete dostávat obsah a nabídky, které vás skutečně baví a zajímají. \n K tomu potřebujeme váš souhlas se zpracováním osobních údajů v souladu s celoevropským nařízením GDPR.`,\n\n descriptionPrev11: `Prosíme vás proto o potvrzení, že pro účely poskytování jedinečného obsahu \n (zejména článků, počasí, výsledků vyhledávání, zajímavých tipů a reklamních sdělení) na internetových stránkách \n a v mobilních aplikacích partnerské sítě společnosti Seznam.cz, a.s. poskytujete reklamnímu systému \n společnosti Seznam.cz, a.s., provozovatelům internetových stránek, kteří jsou součástí \n partnerské sítě \n společnosti Seznam.cz, a.s., případně`,\n\n descriptionPrev2: ` výslovný souhlas se zpracováním svých osobních údajů, jejich využitím pro účely předpokládané \n právními předpisy (ukládání a zpracování, měření, personalizace, doporučování obsahu a reklamních sdělení) \n a jejich možným sdílením v rámci partnerské sítě společnosti Seznam.cz, a.s. Údaje pro účely měření a ukládání \n zpracovává Seznam.cz na základě oprávněného zájmu. Nastavení soukromí můžete \n kdykoliv změnit na stránkách o ochraně osobních údajů.`,\n\n descriptionPrev22: 'Rozsah uděleného souhlasu můžete upravit kliknutím na tlačítko „Další volby“.',\n\n vendorButton: 'vybraným partnerům'\n },\n\n seznamBrowserMessage: `Zobrazuje se Vám žádost o udělení souhlasu příliš často?
\n Přejděte na chytrý prohlížeč od Seznam.cz, aby pro vás používání našich služeb bylo pohodlnější.`\n },\n vendors: {\n title: 'Podrobné nastavení',\n description:\n 'Vaše údaje budou moci užívat námi vybrané společnosti \\\n k níže popsaným účelům. Pomocí zaškrtávátek můžete nastavit, kterým \\\n společnostem povolujete předávání informací. Pokud jste u některého účelu vyslovili nesouhlas, nebude vaše údaje pro tento účel používat žádný z partnerů. \\\n Nastavení partnerů tedy využijte v případě, že s personalizovaným obsahem či personalizovanou reklamou souhlasíte, ale přejete si je omezit jen na některé partnery.',\n\n externalDescription: `Vaše údaje budou reklamní systém společnosti Seznam.cz, a.s., provozovatelé internetových stránek, \n kteří jsou součástí partnerské sítě společnosti Seznam.cz, a.s., případně vybraní partneři oprávněni užívat k níže \n popsaným účelům. Pomocí zaškrtávátek můžete nastavit, kterým společnostem povolujete předávání informací. \n Pokud jste u některého účelu vyslovili nesouhlas, nebude vaše údaje pro tento účel používat žádný z partnerů. \n Nastavení partnerů tedy využijte v případě, že s personalizovaným obsahem či personalizovanou reklamou \n souhlasíte, ale přejete si je omezit jen na některé partnery.`,\n\n details: `\n \n \n Uložení informací a přístup k nim\n \n

Uložení informací na vašem zařízení nebo přístup k informacím, které jsou na něm již uloženy, jako jsou reklamní identifikátory,\n identifikátory zařízení, soubory cookie a podobné technologie.

\n\n \n \n Personalizace\n \n

Shromažďování a zpracovávání informací o používání této služby z vaší strany pro následnou průběžnou personalizaci reklamy a/nebo\n obsahu pro vaši osobu v jiných souvislostech, například na jiných webových stránkách nebo v jiných aplikacích. Obsah webové stránky\n nebo aplikace se zpravidla použije pro odvození vašich zájmů, na jejichž základě probíhá výběr reklamy nebo obsahu v budoucnu.

\n\n \n \n Výběr, zobrazování a reporting reklamy\n \n

Shromažďování informací a jejich slučování s informacemi shromážděnými dříve za účelem výběru a zobrazování reklam pro vaši osobu\n a měření zobrazování a účinnosti takových reklam. Patří sem použití dříve shromážděných informací o vašich zájmech pro výběr reklam,\n zpracování údajů o zobrazených reklamách, o frekvenci, času a místě jejich zobrazení a o tom, zda jste v souvislosti s danou reklamou\n provedli nějaké kroky, například kliknutí na reklamu nebo provedení nákupu. Nepatří sem personalizace, která představuje shromažďování\n a zpracovávání informací o používání této služby z vaší strany pro následnou průběžnou personalizaci reklamy a/nebo obsahu pro vaši osobu\n v jiných souvislostech, například na webových stránkách nebo v aplikacích.

\n\n \n \n Výběr, zobrazování a reporting obsahu\n \n

Shromažďování informací a jejich slučování s informacemi shromážděnými dříve za účelem výběru a zobrazování obsahu pro vaši osobu\n a měření zobrazování a účinnosti takového obsahu. Patří sem použití dříve shromážděných informací o vašich zájmech pro výběr obsahu,\n zpracování údajů o zobrazeném obsah, o frekvenci, času a místě jejich zobrazení a o tom, zda jste v souvislosti s daným obsahem provedli\n nějaké kroky, například kliknutí na obsah. Nepatří sem personalizace, která představuje shromažďování a zpracovávání informací o používání\n této služby z vaší strany pro následnou průběžnou personalizaci obsahu a/nebo reklamy pro vaši osobu v jiných souvislostech,\n například na webových stránkách nebo v aplikacích.

\n\n \n \n Měření\n \n

Shromažďování informací o používání obsahu z vaší strany a jejich slučování s informacemi shromážděnými dříve za účelem měření,\n porozumění a reportingu používání služby z vaší strany. Nepatří sem personalizace, shromažďování informací o používání této služby\n z vaší strany pro následnou průběžnou personalizaci obsahu a/nebo reklamy pro vaši osobu v jiných souvislostech, tj. u jiné služby,\n například na webových stránkách nebo v aplikacích.

\n\n \n \n Párování off-line údajů\n \n

\n Slučování údajů z off-line zdrojů, které byly původně shromážděny v jiných souvislostech, s údaji shromážděnými online jako podklad pro jeden nebo více účelů.\n

\n\n \n \n Propojování zařízení\n \n

\n Zpracovávání údajů za účelem propojení více zařízení, jež náleží stejnému uživateli, jako podklad pro jeden nebo více účelů.\n

\n\n \n \n Údaje o přesné zeměpisné poloze\n \n

\n Shromažďování a podpora údajů o přesné zeměpisné poloze jako podklad pro jeden nebo více účelů.\n

\n `,\n help: `\n U každého partnera jsou jednotlivé účely vyznačeny příslušným symbolem. Černou barvou jsou zobrazeny účely, \n pro které partner potřebuje souhlas, šedou barvou účely, které partner označuje za oprávněný zájem.\n `\n },\n purposes: {\n title: 'Nastavení soukromí',\n description:\n 'Společnost Seznam.cz, a.s. a případně vybrané partnerské \\\n společnosti mohou mít přístup k níže uvedeným informacím a s vaším souhlasem \\\n je užívat ke konkrétním účelům. Pomocí níže uvedeného seznamu je \\\n můžete upravit a vaši volbu potvrdit tlačítkem níže. Více informací \\\n o ochraně osobních údajů najdete na našem webu.',\n\n changeSettingsLogged:\n ' Nastavení soukromí můžete kdykoliv změnit ve svém Profilu.',\n\n changeSettingsUnlogged: ' Nastavení soukromí můžete kdykoliv změnit na stránkách o ochraně osobních údajů.',\n\n descriptionExternal: `Společnost Seznam.cz, a.s., provozovatelé internetových stránek, které jsou součástí její partnerské sítě, \n případně vybraní partneři mohou mít přístup k níže uvedeným informacím a s vaším souhlasem je užívat ke konkrétním účelům. \n Pomocí níže uvedeného seznamu je můžete upravit a vaši volbu potvrdit tlačítkem níže. Více informací o ochraně osobních údajů \n společnosti Seznam.cz, a.s. najdete zde.`,\n personalizeContent: {\n title: 'Personalizace obsahu',\n description:\n 'Shromažďování informací a jejich kombinace s dříve shromážděnými informacemi za účelem výběru a zobrazení obsahu a analýzy jeho zobrazování a efektivity.',\n details: `\n Souhlas se zpracováním osobních údajů k obsahu ušitému na míru\n

\n Seznam.cz, a.s. (jako správce osobních údajů) Vám může na svých\n internetových stránkách, stránkách našich partnerů a mobilních\n aplikacích zobrazovat a doporučovat obsah na základě vašich zájmů -\n jedná se především o články, počasí či výsledky vyhledávání.\n

\n

\n Abychom Vám mohli tento obsah šitý na míru každého unikátního uživatele\n služeb společnosti Seznam.cz, a.s nabízet, je nutné\n propojit\n Váš\n účet\n u společnosti Seznam.cz, a.s, do něhož se přihlašujete prostřednictvím e-mailové\n adresy a hesla (účet obsahuje Vámi zadané osobní údaje a užíváte jej na základě\n odsouhlasených smluvních podmínek) a anonymizovaná data o chování internetového\n prohlížeče, případně všech vámi využívaných prohlížečů, kterými se do účtu přihlašuje,\n na navštívených internetových stránkách a způsobu jejich využívání\n (jedná se o technické a lokalizační údaje o internetovém prohlížeči,\n které zpracováváme jen po nezbytnou dobu, nejdéle však 30 dní).\n

\n

\n Pokud máte o unikátní personalizovaný obsah zájem, udělujete tímto\n společnosti Seznam.cz, a.s souhlas s propojením Vašeho uživatelského účtu u\n společnosti Seznam.cz, a.s s anonymními daty o chování vašeho internetového\n prohlížeče na navštívených internetových stránkách a způsobu jejich\n využívání\n

\n \n Na základě obecného nařízení o ochraně osobních údajů (známého pod\n zkratkou GDPR) můžete:\n \n
    \n
  • kdykoli odvolat souhlas se zpracováním osobních údajů;
  • \n
  • mít přístup ke svým osobním údajům;
  • \n
  • opravit nebo vymazat vlastní osobní údaje;
  • \n
  • omezit zpracování osobních údajů;
  • \n
  • \n přenést osobní údaje ve strukturovaném, běžně používaném a strojově\n čitelném formátu;\n
  • \n
  • podat stížnost u dozorového Úřadu pro ochranu osobních údajů
  • \n
  • \n odmítnout rozhodnutí založené výhradně na automatizovaném zpracování;\n
  • \n
\n

\n Podrobnější informace o nakládání s osobními údaji najdete na stránkách\n společnosti Seznam.cz, a.s (\n \n https://www.seznam.cz/ochrana-udaju/\n \n ).\n

\n `,\n detailsUnlogged: `\n Souhlas se zpracováním osobních údajů k obsahu ušitému na míru\n

\n Seznam.cz, a.s. (jako správce osobních údajů) Vám může na svých\n internetových stránkách, stránkách našich partnerů a mobilních\n aplikacích zobrazovat a doporučovat obsah na základě vašich zájmů -\n jedná se především o články, počasí či výsledky vyhledávání.\n

\n

\n Abychom Vám mohli tento obsah šitý na míru každého unikátního uživatele\n služeb společnosti Seznam.cz, a.s nabízet, využíváme data o chování internetového\n prohlížeče, případně všech vámi využívaných prohlížečů, na navštívených internetových\n stránkách a způsobu jejich využívání (jedná se o technické a lokalizační údaje o internetovém\n prohlížeči, které zpracováváme jen po nezbytnou dobu, nejdéle však 30 dní).\n\n

\n

\n Pokud máte o unikátní personalizovaný obsah zájem, udělujete tímto reklamnímu\n systému společnosti Seznam.cz, a.s a partnerské síti souhlas s využíváním dat o chování\n vašeho internetového prohlížeče na navštívených internetových stránkách a způsobu jejich využívání.\n\n

\n \n Na základě obecného nařízení o ochraně osobních údajů (známého pod\n zkratkou GDPR) můžete:\n \n
    \n
  • kdykoli odvolat souhlas se zpracováním osobních údajů;
  • \n
  • mít přístup ke svým osobním údajům;
  • \n
  • opravit nebo vymazat vlastní osobní údaje;
  • \n
  • omezit zpracování osobních údajů;
  • \n
  • \n přenést osobní údaje ve strukturovaném, běžně používaném a strojově\n čitelném formátu;\n
  • \n
  • podat stížnost u dozorového Úřadu pro ochranu osobních údajů
  • \n
  • \n odmítnout rozhodnutí založené výhradně na automatizovaném zpracování;\n
  • \n
\n

\n Podrobnější informace o nakládání s osobními údaji najdete na stránkách\n společnosti Seznam.cz, a.s (\n \n https://www.seznam.cz/ochrana-udaju/\n \n ).\n

\n `,\n detailsExternal: `\n Souhlas se zpracováním osobních údajů k obsahu ušitému na míru\n

\n Na internetových stránkách, které jsou součástí partnerské sítě \n společnosti Seznam.cz, a.s. je možné zobrazovat a doporučovat obsah na základě vašich zájmů. Jedná se především o články, počasí atd.\n

\n

\n Abychom Vám mohli tento obsah šitý na míru každého unikátního uživatele \n nabízet, jsou využívány data o chování internetového prohlížeče, \n případně všech vámi využívaných prohlížečů, na navštívených internetových \n stránkách a způsobu jejich využívání (jedná se o technické a lokalizační \n údaje o internetovém prohlížeči, které zpracováváme jen po nezbytnou dobu, nejdéle však 30 dní).\n

\n

\n Pokud máte o unikátní personalizovaný obsah zájem, udělujete tímto reklamnímu \n systému společnosti Seznam.cz, a.s. a provozovatelům internetových stránek, \n kteří jsou součástí partnerské sítě společnosti Seznam.cz, a.s. výslovný \n souhlas s využíváním dat o chování vašeho internetového prohlížeče na \n navštívených internetových stránkách a způsobu jejich využívání.\n

\n \n Na základě obecného nařízení o ochraně osobních údajů (známého pod zkratkou GDPR) můžete:\n \n
    \n
  • kdykoli odvolat souhlas se zpracováním osobních údajů;
  • \n
  • mít přístup ke svým osobním údajům;
  • \n
  • opravit nebo vymazat vlastní osobní údaje;
  • \n
  • omezit zpracování osobních údajů;
  • \n
  • přenést osobní údaje ve strukturovaném, běžně používaném a strojově čitelném formátu;
  • \n
  • podat stížnost u dozorového Úřadu pro ochranu osobních údajů
  • \n
  • odmítnout rozhodnutí založené výhradně na automatizovaném zpracování;
  • \n
\n

\n Podrobnější informace o nakládání s osobními údaji najdete na stránkách\n společnosti Seznam.cz, a.s (\n \n https://www.seznam.cz/ochrana-udaju/\n \n ).\n

\n `\n },\n personalizeAds: {\n title: 'Personalizace reklamy',\n description: `Shromažďování a zpracování informací o využívání služeb naší\n společnosti a našich partnerů pro následné přizpůsobení reklamy na dalších webových stránkách\n a aplikacích. Údaje mohou být předávány našim partnerům.`,\n details1: `\n Souhlas se zpracováním osobních údajů k reklamě ušité na míru\n

\n Seznam.cz, a.s. (jako správce osobních údajů) provozuje vlastní reklamní systém,\n díky kterému vám můžeme nabídnout reklamu na základě vašich zájmů. Můžete se tak\n dozvědět o produktech či službách, které se Vám budou skutečně hodit.\n

\n

\n Abychom Vám mohli tento obsah šitý na míru každého unikátního uživatele služeb\n společnosti Seznam.cz, a.s nabízet, je nutné propojit Váš účet u společnosti Seznam.cz, a.s,\n do něhož se přihlašujete prostřednictvím e-mailové adresy a hesla (účet obsahuje Vámi\n zadané osobní údaje a užíváte jej na základě odsouhlasených smluvních podmínek)\n a anonymizovaná data o chování vašeho internetového prohlížeče na navštívených\n internetových stránkách a způsobu jejich využívání (jedná se o technické a lokalizační\n údaje o internetovém prohlížeči, které zpracováváme jen po nezbytnou dobu, nejdéle však 30 dní).\n

\n

\n Pokud máte zájem o reklamu personalizovanou dle Vaši zájmů, udělujete tímto společnosti Seznam.cz, a.s\n souhlas s propojením Vašeho uživatelského účtu u společnosti Seznam.cz, a.s s anonymními daty o chování\n internetového prohlížeče na navštívených internetových stránkách a způsobu jejich využívání\n

`,\n detailsUnlogged1: `\n Souhlas se zpracováním osobních údajů k reklamě ušité na míru\n

\n Seznam.cz, a.s. (jako správce osobních údajů) provozuje vlastní reklamní systém,\n díky kterému vám můžeme nabídnout reklamu na základě vašich zájmů. Můžete se tak\n dozvědět o produktech či službách, které se Vám budou skutečně hodit.\n

\n

\n Abychom Vám mohli tento obsah šitý na míru každého unikátního uživatele služeb\n partnerské sítě společnosti Seznam.cz, a.s nabízet, využíváme data o chování vašeho\n internetového prohlížeče, případně všech vámi využívaných prohlížečů, na navštívených\n internetových stránkách a způsobu jejich využívání (jedná se o technické a lokalizační\n údaje o internetovém prohlížeči, které zpracováváme jen po nezbytnou dobu, nejdéle však 30 dní).\n

\n

\n Pokud máte zájem o reklamu personalizovanou dle Vaši zájmů, udělujete tímto reklmanímu systému\n společnosti Seznam.cz, a.s a partnerské síti souhlas s využíváním dat o chování internetového\n prohlížeče na navštívených internetových stránkách a způsobu jejich využívání\n\n

`,\n details11: `Námi vybrané společnosti mohou mít přístup k informacím o vašich preferovaných zájmech a mohou vás\n také oslovovat s cílenou reklamou. Pomocí seznamu uvedeného`,\n details2: `je můžete upravit. Vybraným partnerům\n můžeme poskytnout pouze odhadované statistiky chování (např. žena, 50 - 60 let, se zájmem o vaření\n z Královehradeckého kraje).`,\n details22: `\n

\n Na základě obecného nařízení o ochraně osobních údajů (známého pod zkratkou GDPR) můžete:\n

\n
    \n
  • kdykoli odvolat souhlas se zpracováním osobních údajů;
  • \n
  • mít přístup ke svým osobním údajům;
  • \n
  • opravit nebo vymazat vlastní osobní údaje;
  • \n
  • omezit zpracování osobních údajů;
  • \n
  • \n přenést osobní údaje ve strukturovaném, běžně používaném a strojově\n čitelném formátu;\n
  • \n
  • podat stížnost u dozorového Úřadu pro ochranu osobních údajů
  • \n
  • \n odmítnout rozhodnutí založené výhradně na automatizovaném zpracování;\n
  • \n
\n

\n Podrobnější informace o nakládání s osobními údaji najdete na stránkách\n společnosti Seznam.cz, a.s (\n \n https://www.seznam.cz/ochrana-udaju/\n \n ).\n

\n `,\n detailsExternal: `\n Souhlas se zpracováním osobních údajů k reklamě ušité na míru\n

\n Na internetových stránkách, které jsou součástí partnerské sítě \n společnosti Seznam.cz, a.s. je možné nabídnout reklamu na základě \n vašich zájmů. Můžete se tak dozvědět o produktech či službách, \n které se Vám budou skutečně hodit.\n

\n

\n Abychom Vám mohli tento obsah šitý na míru každého unikátního uživatele služeb \n partnerské sítě společnosti Seznam.cz, a.s nabízet, jsou využívány data o chování \n internetového prohlížeče, případně všech vámi využívaných prohlížečů, na navštívených \n internetových stránkách a způsobu jejich využívání (jedná se o technické a \n lokalizační údaje o internetovém prohlížeči, které zpracováváme \n jen po nezbytnou dobu, nejdéle však 30 dní).\n

\n

\n Pokud máte o reklamu personalizovanou dle vašich zájmů zájem, udělujete tímto reklamnímu \n systému společnosti Seznam.cz, a.s., provozovatelům internetových stránek, kteří jsou \n součástí partnerské sítě společnosti Seznam.cz, a.s., a partnerské síti výslovný souhlas s \n využíváním dat o chování vašeho internetového prohlížeče na navštívených internetových \n stránkách a způsobu jejich využívání.\n

\n

\n Námi vybrané společnosti mohou mít přístup k informacím o vašich preferovaných zájmech \n a mohou vás také oslovovat s cílenou reklamou. Pomocí seznamu uvedeného v \n Podrobném nastavení (odkaz v horní části) je můžete upravit. \n Vybraným partnerům můžeme poskytnout pouze odhadované statistiky chování \n (např. žena, 50 - 60 let, se zájmem o vaření z Královehradeckého kraje).\n

\n

\n Na základě obecného nařízení o ochraně osobních údajů (známého pod zkratkou GDPR) můžete:\n

\n
    \n
  • kdykoli odvolat souhlas se zpracováním osobních údajů;
  • \n
  • mít přístup ke svým osobním údajům;
  • \n
  • opravit nebo vymazat vlastní osobní údaje;
  • \n
  • omezit zpracování osobních údajů;
  • \n
  • \n přenést osobní údaje ve strukturovaném, běžně používaném a strojově\n čitelném formátu;\n
  • \n
  • podat stížnost u dozorového Úřadu pro ochranu osobních údajů
  • \n
  • \n odmítnout rozhodnutí založené výhradně na automatizovaném zpracování;\n
  • \n
\n

\n Podrobnější informace o nakládání s osobními údaji najdete na stránkách\n společnosti Seznam.cz, a.s (\n \n https://www.seznam.cz/ochrana-udaju/\n \n ).\n

\n `\n }\n }\n};\n\nexport default translations;\n","const translations = {};\n\nexport default translations;\n","import Polyglot from 'node-polyglot';\nimport cs from './cs';\nimport en from './en';\nimport {DEFAULT_LANGUAGE} from '../constants';\n\nlet _ = {};\nlet instance = {};\n\nfunction setLang(lang = DEFAULT_LANGUAGE) {\n let phrases = {};\n\n switch (lang) {\n case 'cs':\n phrases = cs;\n break;\n case 'en':\n phrases = en;\n break;\n default:\n phrases = cs;\n }\n\n // TODO: remove - currently CMP supports only \"cs\"\n phrases = cs;\n\n instance = new Polyglot({phrases});\n _ = instance.t.bind(instance);\n}\n\nexport {_, setLang};\nexport default instance;\n","/**\n * Sends custom event with given type/data.\n * @param {string} type Should match events from constants/index.js\n * @param {*} data\n */\nexport const sendEvent = (type, data = null) => {\n const event = new CustomEvent(type, {\n detail: data\n });\n\n window.dispatchEvent(event);\n};\n","function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\n}\nfunction is_promise(value) {\n return value && typeof value === 'object' && typeof value.then === 'function';\n}\nfunction add_location(element, file, line, column, char) {\n element.__svelte_meta = {\n loc: { file, line, column, char }\n };\n}\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction validate_store(store, name) {\n if (store != null && typeof store.subscribe !== 'function') {\n throw new Error(`'${name}' is not a store with a 'subscribe' method`);\n }\n}\nfunction subscribe(store, ...callbacks) {\n if (store == null) {\n return noop;\n }\n const unsub = store.subscribe(...callbacks);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction get_store_value(store) {\n let value;\n subscribe(store, _ => value = _)();\n return value;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction create_slot(definition, ctx, $$scope, fn) {\n if (definition) {\n const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n return definition[0](slot_ctx);\n }\n}\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n return definition[1] && fn\n ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))\n : $$scope.ctx;\n}\nfunction get_slot_changes(definition, $$scope, dirty, fn) {\n if (definition[2] && fn) {\n const lets = definition[2](fn(dirty));\n if ($$scope.dirty === undefined) {\n return lets;\n }\n if (typeof lets === 'object') {\n const merged = [];\n const len = Math.max($$scope.dirty.length, lets.length);\n for (let i = 0; i < len; i += 1) {\n merged[i] = $$scope.dirty[i] | lets[i];\n }\n return merged;\n }\n return $$scope.dirty | lets;\n }\n return $$scope.dirty;\n}\nfunction exclude_internal_props(props) {\n const result = {};\n for (const k in props)\n if (k[0] !== '$')\n result[k] = props[k];\n return result;\n}\nfunction compute_rest_props(props, keys) {\n const rest = {};\n keys = new Set(keys);\n for (const k in props)\n if (!keys.has(k) && k[0] !== '$')\n rest[k] = props[k];\n return rest;\n}\nfunction once(fn) {\n let ran = false;\n return function (...args) {\n if (ran)\n return;\n ran = true;\n fn.call(this, ...args);\n };\n}\nfunction null_to_empty(value) {\n return value == null ? '' : value;\n}\nfunction set_store_value(store, ret, value = ret) {\n store.set(value);\n return ret;\n}\nconst has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\n\nconst is_client = typeof window !== 'undefined';\nlet now = is_client\n ? () => window.performance.now()\n : () => Date.now();\nlet raf = is_client ? cb => requestAnimationFrame(cb) : noop;\n// used internally for testing\nfunction set_now(fn) {\n now = fn;\n}\nfunction set_raf(fn) {\n raf = fn;\n}\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * For testing purposes only!\n */\nfunction clear_loops() {\n tasks.clear();\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\n\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction destroy_each(iterations, detaching) {\n for (let i = 0; i < iterations.length; i += 1) {\n if (iterations[i])\n iterations[i].d(detaching);\n }\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction element_is(name, is) {\n return document.createElement(name, { is });\n}\nfunction object_without_properties(obj, exclude) {\n const target = {};\n for (const k in obj) {\n if (has_prop(obj, k)\n // @ts-ignore\n && exclude.indexOf(k) === -1) {\n // @ts-ignore\n target[k] = obj[k];\n }\n }\n return target;\n}\nfunction svg_element(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction space() {\n return text(' ');\n}\nfunction empty() {\n return text('');\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction prevent_default(fn) {\n return function (event) {\n event.preventDefault();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction stop_propagation(fn) {\n return function (event) {\n event.stopPropagation();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction self(fn) {\n return function (event) {\n // @ts-ignore\n if (event.target === this)\n fn.call(this, event);\n };\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_attributes(node, attributes) {\n // @ts-ignore\n const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n for (const key in attributes) {\n if (attributes[key] == null) {\n node.removeAttribute(key);\n }\n else if (key === 'style') {\n node.style.cssText = attributes[key];\n }\n else if (key === '__value' || descriptors[key] && descriptors[key].set) {\n node[key] = attributes[key];\n }\n else {\n attr(node, key, attributes[key]);\n }\n }\n}\nfunction set_svg_attributes(node, attributes) {\n for (const key in attributes) {\n attr(node, key, attributes[key]);\n }\n}\nfunction set_custom_element_data(node, prop, value) {\n if (prop in node) {\n node[prop] = value;\n }\n else {\n attr(node, prop, value);\n }\n}\nfunction xlink_attr(node, attribute, value) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\nfunction get_binding_group_value(group) {\n const value = [];\n for (let i = 0; i < group.length; i += 1) {\n if (group[i].checked)\n value.push(group[i].__value);\n }\n return value;\n}\nfunction to_number(value) {\n return value === '' ? undefined : +value;\n}\nfunction time_ranges_to_array(ranges) {\n const array = [];\n for (let i = 0; i < ranges.length; i += 1) {\n array.push({ start: ranges.start(i), end: ranges.end(i) });\n }\n return array;\n}\nfunction children(element) {\n return Array.from(element.childNodes);\n}\nfunction claim_element(nodes, name, attributes, svg) {\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeName === name) {\n let j = 0;\n while (j < node.attributes.length) {\n const attribute = node.attributes[j];\n if (attributes[attribute.name]) {\n j++;\n }\n else {\n node.removeAttribute(attribute.name);\n }\n }\n return nodes.splice(i, 1)[0];\n }\n }\n return svg ? svg_element(name) : element(name);\n}\nfunction claim_text(nodes, data) {\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeType === 3) {\n node.data = '' + data;\n return nodes.splice(i, 1)[0];\n }\n }\n return text(data);\n}\nfunction claim_space(nodes) {\n return claim_text(nodes, ' ');\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.data !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n if (value != null || input.value) {\n input.value = value;\n }\n}\nfunction set_input_type(input, type) {\n try {\n input.type = type;\n }\n catch (e) {\n // do nothing\n }\n}\nfunction set_style(node, key, value, important) {\n node.style.setProperty(key, value, important ? 'important' : '');\n}\nfunction select_option(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n if (option.__value === value) {\n option.selected = true;\n return;\n }\n }\n}\nfunction select_options(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n option.selected = ~value.indexOf(option.__value);\n }\n}\nfunction select_value(select) {\n const selected_option = select.querySelector(':checked') || select.options[0];\n return selected_option && selected_option.__value;\n}\nfunction select_multiple_value(select) {\n return [].map.call(select.querySelectorAll(':checked'), option => option.__value);\n}\nfunction add_resize_listener(element, fn) {\n if (getComputedStyle(element).position === 'static') {\n element.style.position = 'relative';\n }\n const object = document.createElement('object');\n object.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; pointer-events: none; z-index: -1;');\n object.setAttribute('aria-hidden', 'true');\n object.type = 'text/html';\n object.tabIndex = -1;\n let win;\n object.onload = () => {\n win = object.contentDocument.defaultView;\n win.addEventListener('resize', fn);\n };\n if (/Trident/.test(navigator.userAgent)) {\n element.appendChild(object);\n object.data = 'about:blank';\n }\n else {\n object.data = 'about:blank';\n element.appendChild(object);\n }\n return {\n cancel: () => {\n win && win.removeEventListener && win.removeEventListener('resize', fn);\n element.removeChild(object);\n }\n };\n}\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, false, false, detail);\n return e;\n}\nfunction query_selector_all(selector, parent = document.body) {\n return Array.from(parent.querySelectorAll(selector));\n}\nclass HtmlTag {\n constructor(html, anchor = null) {\n this.e = element('div');\n this.a = anchor;\n this.u(html);\n }\n m(target, anchor = null) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert(target, this.n[i], anchor);\n }\n this.t = target;\n }\n u(html) {\n this.e.innerHTML = html;\n this.n = Array.from(this.e.childNodes);\n }\n p(html) {\n this.d();\n this.u(html);\n this.m(this.t, this.a);\n }\n d() {\n this.n.forEach(detach);\n }\n}\n\nconst active_docs = new Set();\nlet active = 0;\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i--)\n hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n return hash >>> 0;\n}\nfunction create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n const step = 16.666 / duration;\n let keyframes = '{\\n';\n for (let p = 0; p <= 1; p += step) {\n const t = a + (b - a) * ease(p);\n keyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n }\n const rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n const name = `__svelte_${hash(rule)}_${uid}`;\n const doc = node.ownerDocument;\n active_docs.add(doc);\n const stylesheet = doc.__svelte_stylesheet || (doc.__svelte_stylesheet = doc.head.appendChild(element('style')).sheet);\n const current_rules = doc.__svelte_rules || (doc.__svelte_rules = {});\n if (!current_rules[name]) {\n current_rules[name] = true;\n stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n }\n const animation = node.style.animation || '';\n node.style.animation = `${animation ? `${animation}, ` : ``}${name} ${duration}ms linear ${delay}ms 1 both`;\n active += 1;\n return name;\n}\nfunction delete_rule(node, name) {\n const previous = (node.style.animation || '').split(', ');\n const next = previous.filter(name\n ? anim => anim.indexOf(name) < 0 // remove specific animation\n : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations\n );\n const deleted = previous.length - next.length;\n if (deleted) {\n node.style.animation = next.join(', ');\n active -= deleted;\n if (!active)\n clear_rules();\n }\n}\nfunction clear_rules() {\n raf(() => {\n if (active)\n return;\n active_docs.forEach(doc => {\n const stylesheet = doc.__svelte_stylesheet;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n doc.__svelte_rules = {};\n });\n active_docs.clear();\n });\n}\n\nfunction create_animation(node, from, fn, params) {\n if (!from)\n return noop;\n const to = node.getBoundingClientRect();\n if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom)\n return noop;\n const { delay = 0, duration = 300, easing = identity, \n // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation?\n start: start_time = now() + delay, \n // @ts-ignore todo:\n end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params);\n let running = true;\n let started = false;\n let name;\n function start() {\n if (css) {\n name = create_rule(node, 0, 1, duration, delay, easing, css);\n }\n if (!delay) {\n started = true;\n }\n }\n function stop() {\n if (css)\n delete_rule(node, name);\n running = false;\n }\n loop(now => {\n if (!started && now >= start_time) {\n started = true;\n }\n if (started && now >= end) {\n tick(1, 0);\n stop();\n }\n if (!running) {\n return false;\n }\n if (started) {\n const p = now - start_time;\n const t = 0 + 1 * easing(p / duration);\n tick(t, 1 - t);\n }\n return true;\n });\n start();\n tick(0, 1);\n return stop;\n}\nfunction fix_position(node) {\n const style = getComputedStyle(node);\n if (style.position !== 'absolute' && style.position !== 'fixed') {\n const { width, height } = style;\n const a = node.getBoundingClientRect();\n node.style.position = 'absolute';\n node.style.width = width;\n node.style.height = height;\n add_transform(node, a);\n }\n}\nfunction add_transform(node, a) {\n const b = node.getBoundingClientRect();\n if (a.left !== b.left || a.top !== b.top) {\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`;\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\nfunction get_current_component() {\n if (!current_component)\n throw new Error(`Function called outside component initialization`);\n return current_component;\n}\nfunction beforeUpdate(fn) {\n get_current_component().$$.before_update.push(fn);\n}\nfunction onMount(fn) {\n get_current_component().$$.on_mount.push(fn);\n}\nfunction afterUpdate(fn) {\n get_current_component().$$.after_update.push(fn);\n}\nfunction onDestroy(fn) {\n get_current_component().$$.on_destroy.push(fn);\n}\nfunction createEventDispatcher() {\n const component = get_current_component();\n return (type, detail) => {\n const callbacks = component.$$.callbacks[type];\n if (callbacks) {\n // TODO are there situations where events could be dispatched\n // in a server (non-DOM) environment?\n const event = custom_event(type, detail);\n callbacks.slice().forEach(fn => {\n fn.call(component, event);\n });\n }\n };\n}\nfunction setContext(key, context) {\n get_current_component().$$.context.set(key, context);\n}\nfunction getContext(key) {\n return get_current_component().$$.context.get(key);\n}\n// TODO figure out if we still want to support\n// shorthand events, or if we want to implement\n// a real bubbling mechanism\nfunction bubble(component, event) {\n const callbacks = component.$$.callbacks[event.type];\n if (callbacks) {\n callbacks.slice().forEach(fn => fn(event));\n }\n}\n\nconst dirty_components = [];\nconst intros = { enabled: false };\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\nfunction add_flush_callback(fn) {\n flush_callbacks.push(fn);\n}\nlet flushing = false;\nconst seen_callbacks = new Set();\nfunction flush() {\n if (flushing)\n return;\n flushing = true;\n do {\n // first, call beforeUpdate functions\n // and update components\n for (let i = 0; i < dirty_components.length; i += 1) {\n const component = dirty_components[i];\n set_current_component(component);\n update(component.$$);\n }\n dirty_components.length = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n flushing = false;\n seen_callbacks.clear();\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\n\nlet promise;\nfunction wait() {\n if (!promise) {\n promise = Promise.resolve();\n promise.then(() => {\n promise = null;\n });\n }\n return promise;\n}\nfunction dispatch(node, direction, kind) {\n node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\nconst outroing = new Set();\nlet outros;\nfunction group_outros() {\n outros = {\n r: 0,\n c: [],\n p: outros // parent group\n };\n}\nfunction check_outros() {\n if (!outros.r) {\n run_all(outros.c);\n }\n outros = outros.p;\n}\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\nfunction transition_out(block, local, detach, callback) {\n if (block && block.o) {\n if (outroing.has(block))\n return;\n outroing.add(block);\n outros.c.push(() => {\n outroing.delete(block);\n if (callback) {\n if (detach)\n block.d(1);\n callback();\n }\n });\n block.o(local);\n }\n}\nconst null_transition = { duration: 0 };\nfunction create_in_transition(node, fn, params) {\n let config = fn(node, params);\n let running = false;\n let animation_name;\n let task;\n let uid = 0;\n function cleanup() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n tick(0, 1);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n if (task)\n task.abort();\n running = true;\n add_render_callback(() => dispatch(node, true, 'start'));\n task = loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(1, 0);\n dispatch(node, true, 'end');\n cleanup();\n return running = false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(t, 1 - t);\n }\n }\n return running;\n });\n }\n let started = false;\n return {\n start() {\n if (started)\n return;\n delete_rule(node);\n if (is_function(config)) {\n config = config();\n wait().then(go);\n }\n else {\n go();\n }\n },\n invalidate() {\n started = false;\n },\n end() {\n if (running) {\n cleanup();\n running = false;\n }\n }\n };\n}\nfunction create_out_transition(node, fn, params) {\n let config = fn(node, params);\n let running = true;\n let animation_name;\n const group = outros;\n group.r += 1;\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n add_render_callback(() => dispatch(node, false, 'start'));\n loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(0, 1);\n dispatch(node, false, 'end');\n if (!--group.r) {\n // this will result in `end()` being called,\n // so we don't need to clean up here\n run_all(group.c);\n }\n return false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(1 - t, t);\n }\n }\n return running;\n });\n }\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go();\n });\n }\n else {\n go();\n }\n return {\n end(reset) {\n if (reset && config.tick) {\n config.tick(1, 0);\n }\n if (running) {\n if (animation_name)\n delete_rule(node, animation_name);\n running = false;\n }\n }\n };\n}\nfunction create_bidirectional_transition(node, fn, params, intro) {\n let config = fn(node, params);\n let t = intro ? 0 : 1;\n let running_program = null;\n let pending_program = null;\n let animation_name = null;\n function clear_animation() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function init(program, duration) {\n const d = program.b - t;\n duration *= Math.abs(d);\n return {\n a: t,\n b: program.b,\n d,\n duration,\n start: program.start,\n end: program.start + duration,\n group: program.group\n };\n }\n function go(b) {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n const program = {\n start: now() + delay,\n b\n };\n if (!b) {\n // @ts-ignore todo: improve typings\n program.group = outros;\n outros.r += 1;\n }\n if (running_program) {\n pending_program = program;\n }\n else {\n // if this is an intro, and there's a delay, we need to do\n // an initial tick and/or apply CSS animation immediately\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, b, duration, delay, easing, css);\n }\n if (b)\n tick(0, 1);\n running_program = init(program, duration);\n add_render_callback(() => dispatch(node, b, 'start'));\n loop(now => {\n if (pending_program && now > pending_program.start) {\n running_program = init(pending_program, duration);\n pending_program = null;\n dispatch(node, running_program.b, 'start');\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css);\n }\n }\n if (running_program) {\n if (now >= running_program.end) {\n tick(t = running_program.b, 1 - t);\n dispatch(node, running_program.b, 'end');\n if (!pending_program) {\n // we're done\n if (running_program.b) {\n // intro — we can tidy up immediately\n clear_animation();\n }\n else {\n // outro — needs to be coordinated\n if (!--running_program.group.r)\n run_all(running_program.group.c);\n }\n }\n running_program = null;\n }\n else if (now >= running_program.start) {\n const p = now - running_program.start;\n t = running_program.a + running_program.d * easing(p / running_program.duration);\n tick(t, 1 - t);\n }\n }\n return !!(running_program || pending_program);\n });\n }\n }\n return {\n run(b) {\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go(b);\n });\n }\n else {\n go(b);\n }\n },\n end() {\n clear_animation();\n running_program = pending_program = null;\n }\n };\n}\n\nfunction handle_promise(promise, info) {\n const token = info.token = {};\n function update(type, index, key, value) {\n if (info.token !== token)\n return;\n info.resolved = value;\n let child_ctx = info.ctx;\n if (key !== undefined) {\n child_ctx = child_ctx.slice();\n child_ctx[key] = value;\n }\n const block = type && (info.current = type)(child_ctx);\n let needs_flush = false;\n if (info.block) {\n if (info.blocks) {\n info.blocks.forEach((block, i) => {\n if (i !== index && block) {\n group_outros();\n transition_out(block, 1, 1, () => {\n info.blocks[i] = null;\n });\n check_outros();\n }\n });\n }\n else {\n info.block.d(1);\n }\n block.c();\n transition_in(block, 1);\n block.m(info.mount(), info.anchor);\n needs_flush = true;\n }\n info.block = block;\n if (info.blocks)\n info.blocks[index] = block;\n if (needs_flush) {\n flush();\n }\n }\n if (is_promise(promise)) {\n const current_component = get_current_component();\n promise.then(value => {\n set_current_component(current_component);\n update(info.then, 1, info.value, value);\n set_current_component(null);\n }, error => {\n set_current_component(current_component);\n update(info.catch, 2, info.error, error);\n set_current_component(null);\n });\n // if we previously had a then/catch block, destroy it\n if (info.current !== info.pending) {\n update(info.pending, 0);\n return true;\n }\n }\n else {\n if (info.current !== info.then) {\n update(info.then, 1, info.value, promise);\n return true;\n }\n info.resolved = promise;\n }\n}\n\nconst globals = (typeof window !== 'undefined' ? window : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction outro_and_destroy_block(block, lookup) {\n transition_out(block, 1, 1, () => {\n lookup.delete(block.key);\n });\n}\nfunction fix_and_destroy_block(block, lookup) {\n block.f();\n destroy_block(block, lookup);\n}\nfunction fix_and_outro_and_destroy_block(block, lookup) {\n block.f();\n outro_and_destroy_block(block, lookup);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next, lookup.has(block.key));\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction validate_each_keys(ctx, list, get_context, get_key) {\n const keys = new Set();\n for (let i = 0; i < list.length; i++) {\n const key = get_key(get_context(ctx, list, i));\n if (keys.has(key)) {\n throw new Error(`Cannot have duplicate keys in a keyed each`);\n }\n keys.add(key);\n }\n}\n\nfunction get_spread_update(levels, updates) {\n const update = {};\n const to_null_out = {};\n const accounted_for = { $$scope: 1 };\n let i = levels.length;\n while (i--) {\n const o = levels[i];\n const n = updates[i];\n if (n) {\n for (const key in o) {\n if (!(key in n))\n to_null_out[key] = 1;\n }\n for (const key in n) {\n if (!accounted_for[key]) {\n update[key] = n[key];\n accounted_for[key] = 1;\n }\n }\n levels[i] = n;\n }\n else {\n for (const key in o) {\n accounted_for[key] = 1;\n }\n }\n }\n for (const key in to_null_out) {\n if (!(key in update))\n update[key] = undefined;\n }\n return update;\n}\nfunction get_spread_object(spread_props) {\n return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};\n}\n\n// source: https://html.spec.whatwg.org/multipage/indices.html\nconst boolean_attributes = new Set([\n 'allowfullscreen',\n 'allowpaymentrequest',\n 'async',\n 'autofocus',\n 'autoplay',\n 'checked',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'formnovalidate',\n 'hidden',\n 'ismap',\n 'loop',\n 'multiple',\n 'muted',\n 'nomodule',\n 'novalidate',\n 'open',\n 'playsinline',\n 'readonly',\n 'required',\n 'reversed',\n 'selected'\n]);\n\nconst invalid_attribute_name_character = /[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// https://infra.spec.whatwg.org/#noncharacter\nfunction spread(args, classes_to_add) {\n const attributes = Object.assign({}, ...args);\n if (classes_to_add) {\n if (attributes.class == null) {\n attributes.class = classes_to_add;\n }\n else {\n attributes.class += ' ' + classes_to_add;\n }\n }\n let str = '';\n Object.keys(attributes).forEach(name => {\n if (invalid_attribute_name_character.test(name))\n return;\n const value = attributes[name];\n if (value === true)\n str += \" \" + name;\n else if (boolean_attributes.has(name.toLowerCase())) {\n if (value)\n str += \" \" + name;\n }\n else if (value != null) {\n str += ` ${name}=\"${String(value).replace(/\"/g, '"').replace(/'/g, ''')}\"`;\n }\n });\n return str;\n}\nconst escaped = {\n '\"': '"',\n \"'\": ''',\n '&': '&',\n '<': '<',\n '>': '>'\n};\nfunction escape(html) {\n return String(html).replace(/[\"'&<>]/g, match => escaped[match]);\n}\nfunction each(items, fn) {\n let str = '';\n for (let i = 0; i < items.length; i += 1) {\n str += fn(items[i], i);\n }\n return str;\n}\nconst missing_component = {\n $$render: () => ''\n};\nfunction validate_component(component, name) {\n if (!component || !component.$$render) {\n if (name === 'svelte:component')\n name += ' this={...}';\n throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`);\n }\n return component;\n}\nfunction debug(file, line, column, values) {\n console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console\n console.log(values); // eslint-disable-line no-console\n return '';\n}\nlet on_destroy;\nfunction create_ssr_component(fn) {\n function $$render(result, props, bindings, slots) {\n const parent_component = current_component;\n const $$ = {\n on_destroy,\n context: new Map(parent_component ? parent_component.$$.context : []),\n // these will be immediately discarded\n on_mount: [],\n before_update: [],\n after_update: [],\n callbacks: blank_object()\n };\n set_current_component({ $$ });\n const html = fn(result, props, bindings, slots);\n set_current_component(parent_component);\n return html;\n }\n return {\n render: (props = {}, options = {}) => {\n on_destroy = [];\n const result = { title: '', head: '', css: new Set() };\n const html = $$render(result, props, {}, options);\n run_all(on_destroy);\n return {\n html,\n css: {\n code: Array.from(result.css).map(css => css.code).join('\\n'),\n map: null // TODO\n },\n head: result.title + result.head\n };\n },\n $$render\n };\n}\nfunction add_attribute(name, value, boolean) {\n if (value == null || (boolean && !value))\n return '';\n return ` ${name}${value === true ? '' : `=${typeof value === 'string' ? JSON.stringify(escape(value)) : `\"${value}\"`}`}`;\n}\nfunction add_classes(classes) {\n return classes ? ` class=\"${classes}\"` : ``;\n}\n\nfunction bind(component, name, callback) {\n const index = component.$$.props[name];\n if (index !== undefined) {\n component.$$.bound[index] = callback;\n callback(component.$$.ctx[index]);\n }\n}\nfunction create_component(block) {\n block && block.c();\n}\nfunction claim_component(block, parent_nodes) {\n block && block.l(parent_nodes);\n}\nfunction mount_component(component, target, anchor) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const prop_values = options.props || {};\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n before_update: [],\n after_update: [],\n context: new Map(parent_component ? parent_component.$$.context : []),\n // everything else\n callbacks: blank_object(),\n dirty\n };\n let ready = false;\n $$.ctx = instance\n ? instance(component, prop_values, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if ($$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n if (options.hydrate) {\n const nodes = children(options.target);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.l(nodes);\n nodes.forEach(detach);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor);\n flush();\n }\n set_current_component(parent_component);\n}\nlet SvelteElement;\nif (typeof HTMLElement === 'function') {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n connectedCallback() {\n // @ts-ignore todo: improve typings\n for (const key in this.$$.slotted) {\n // @ts-ignore todo: improve typings\n this.appendChild(this.$$.slotted[key]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n // TODO should this delegate to addEventListener?\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set() {\n // overridden by instance, if it has props\n }\n };\n}\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set() {\n // overridden by instance, if it has props\n }\n}\n\nfunction dispatch_dev(type, detail) {\n document.dispatchEvent(custom_event(type, Object.assign({ version: '3.20.1' }, detail)));\n}\nfunction append_dev(target, node) {\n dispatch_dev(\"SvelteDOMInsert\", { target, node });\n append(target, node);\n}\nfunction insert_dev(target, node, anchor) {\n dispatch_dev(\"SvelteDOMInsert\", { target, node, anchor });\n insert(target, node, anchor);\n}\nfunction detach_dev(node) {\n dispatch_dev(\"SvelteDOMRemove\", { node });\n detach(node);\n}\nfunction detach_between_dev(before, after) {\n while (before.nextSibling && before.nextSibling !== after) {\n detach_dev(before.nextSibling);\n }\n}\nfunction detach_before_dev(after) {\n while (after.previousSibling) {\n detach_dev(after.previousSibling);\n }\n}\nfunction detach_after_dev(before) {\n while (before.nextSibling) {\n detach_dev(before.nextSibling);\n }\n}\nfunction listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) {\n const modifiers = options === true ? [\"capture\"] : options ? Array.from(Object.keys(options)) : [];\n if (has_prevent_default)\n modifiers.push('preventDefault');\n if (has_stop_propagation)\n modifiers.push('stopPropagation');\n dispatch_dev(\"SvelteDOMAddEventListener\", { node, event, handler, modifiers });\n const dispose = listen(node, event, handler, options);\n return () => {\n dispatch_dev(\"SvelteDOMRemoveEventListener\", { node, event, handler, modifiers });\n dispose();\n };\n}\nfunction attr_dev(node, attribute, value) {\n attr(node, attribute, value);\n if (value == null)\n dispatch_dev(\"SvelteDOMRemoveAttribute\", { node, attribute });\n else\n dispatch_dev(\"SvelteDOMSetAttribute\", { node, attribute, value });\n}\nfunction prop_dev(node, property, value) {\n node[property] = value;\n dispatch_dev(\"SvelteDOMSetProperty\", { node, property, value });\n}\nfunction dataset_dev(node, property, value) {\n node.dataset[property] = value;\n dispatch_dev(\"SvelteDOMSetDataset\", { node, property, value });\n}\nfunction set_data_dev(text, data) {\n data = '' + data;\n if (text.data === data)\n return;\n dispatch_dev(\"SvelteDOMSetData\", { node: text, data });\n text.data = data;\n}\nfunction validate_each_argument(arg) {\n if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) {\n let msg = '{#each} only iterates over array-like objects.';\n if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) {\n msg += ' You can use a spread to convert this iterable into an array.';\n }\n throw new Error(msg);\n }\n}\nfunction validate_slots(name, slot, keys) {\n for (const slot_key of Object.keys(slot)) {\n if (!~keys.indexOf(slot_key)) {\n console.warn(`<${name}> received an unexpected slot \"${slot_key}\".`);\n }\n }\n}\nclass SvelteComponentDev extends SvelteComponent {\n constructor(options) {\n if (!options || (!options.target && !options.$$inline)) {\n throw new Error(`'target' is a required option`);\n }\n super();\n }\n $destroy() {\n super.$destroy();\n this.$destroy = () => {\n console.warn(`Component was already destroyed`); // eslint-disable-line no-console\n };\n }\n $capture_state() { }\n $inject_state() { }\n}\nfunction loop_guard(timeout) {\n const start = Date.now();\n return () => {\n if (Date.now() - start > timeout) {\n throw new Error(`Infinite loop detected`);\n }\n };\n}\n\nexport { HtmlTag, SvelteComponent, SvelteComponentDev, SvelteElement, action_destroyer, add_attribute, add_classes, add_flush_callback, add_location, add_render_callback, add_resize_listener, add_transform, afterUpdate, append, append_dev, assign, attr, attr_dev, beforeUpdate, bind, binding_callbacks, blank_object, bubble, check_outros, children, claim_component, claim_element, claim_space, claim_text, clear_loops, component_subscribe, compute_rest_props, createEventDispatcher, create_animation, create_bidirectional_transition, create_component, create_in_transition, create_out_transition, create_slot, create_ssr_component, current_component, custom_event, dataset_dev, debug, destroy_block, destroy_component, destroy_each, detach, detach_after_dev, detach_before_dev, detach_between_dev, detach_dev, dirty_components, dispatch_dev, each, element, element_is, empty, escape, escaped, exclude_internal_props, fix_and_destroy_block, fix_and_outro_and_destroy_block, fix_position, flush, getContext, get_binding_group_value, get_current_component, get_slot_changes, get_slot_context, get_spread_object, get_spread_update, get_store_value, globals, group_outros, handle_promise, has_prop, identity, init, insert, insert_dev, intros, invalid_attribute_name_character, is_client, is_function, is_promise, listen, listen_dev, loop, loop_guard, missing_component, mount_component, noop, not_equal, now, null_to_empty, object_without_properties, onDestroy, onMount, once, outro_and_destroy_block, prevent_default, prop_dev, query_selector_all, raf, run, run_all, safe_not_equal, schedule_update, select_multiple_value, select_option, select_options, select_value, self, setContext, set_attributes, set_current_component, set_custom_element_data, set_data, set_data_dev, set_input_type, set_input_value, set_now, set_raf, set_store_value, set_style, set_svg_attributes, space, spread, stop_propagation, subscribe, svg_element, text, tick, time_ranges_to_array, to_number, toggle_class, transition_in, transition_out, update_keyed_each, validate_component, validate_each_argument, validate_each_keys, validate_slots, validate_store, xlink_attr };\n","export { identity as linear } from '../internal';\n\n/*\nAdapted from https://github.com/mattdesl\nDistributed under MIT License https://github.com/mattdesl/eases/blob/master/LICENSE.md\n*/\nfunction backInOut(t) {\n const s = 1.70158 * 1.525;\n if ((t *= 2) < 1)\n return 0.5 * (t * t * ((s + 1) * t - s));\n return 0.5 * ((t -= 2) * t * ((s + 1) * t + s) + 2);\n}\nfunction backIn(t) {\n const s = 1.70158;\n return t * t * ((s + 1) * t - s);\n}\nfunction backOut(t) {\n const s = 1.70158;\n return --t * t * ((s + 1) * t + s) + 1;\n}\nfunction bounceOut(t) {\n const a = 4.0 / 11.0;\n const b = 8.0 / 11.0;\n const c = 9.0 / 10.0;\n const ca = 4356.0 / 361.0;\n const cb = 35442.0 / 1805.0;\n const cc = 16061.0 / 1805.0;\n const t2 = t * t;\n return t < a\n ? 7.5625 * t2\n : t < b\n ? 9.075 * t2 - 9.9 * t + 3.4\n : t < c\n ? ca * t2 - cb * t + cc\n : 10.8 * t * t - 20.52 * t + 10.72;\n}\nfunction bounceInOut(t) {\n return t < 0.5\n ? 0.5 * (1.0 - bounceOut(1.0 - t * 2.0))\n : 0.5 * bounceOut(t * 2.0 - 1.0) + 0.5;\n}\nfunction bounceIn(t) {\n return 1.0 - bounceOut(1.0 - t);\n}\nfunction circInOut(t) {\n if ((t *= 2) < 1)\n return -0.5 * (Math.sqrt(1 - t * t) - 1);\n return 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);\n}\nfunction circIn(t) {\n return 1.0 - Math.sqrt(1.0 - t * t);\n}\nfunction circOut(t) {\n return Math.sqrt(1 - --t * t);\n}\nfunction cubicInOut(t) {\n return t < 0.5 ? 4.0 * t * t * t : 0.5 * Math.pow(2.0 * t - 2.0, 3.0) + 1.0;\n}\nfunction cubicIn(t) {\n return t * t * t;\n}\nfunction cubicOut(t) {\n const f = t - 1.0;\n return f * f * f + 1.0;\n}\nfunction elasticInOut(t) {\n return t < 0.5\n ? 0.5 *\n Math.sin(((+13.0 * Math.PI) / 2) * 2.0 * t) *\n Math.pow(2.0, 10.0 * (2.0 * t - 1.0))\n : 0.5 *\n Math.sin(((-13.0 * Math.PI) / 2) * (2.0 * t - 1.0 + 1.0)) *\n Math.pow(2.0, -10.0 * (2.0 * t - 1.0)) +\n 1.0;\n}\nfunction elasticIn(t) {\n return Math.sin((13.0 * t * Math.PI) / 2) * Math.pow(2.0, 10.0 * (t - 1.0));\n}\nfunction elasticOut(t) {\n return (Math.sin((-13.0 * (t + 1.0) * Math.PI) / 2) * Math.pow(2.0, -10.0 * t) + 1.0);\n}\nfunction expoInOut(t) {\n return t === 0.0 || t === 1.0\n ? t\n : t < 0.5\n ? +0.5 * Math.pow(2.0, 20.0 * t - 10.0)\n : -0.5 * Math.pow(2.0, 10.0 - t * 20.0) + 1.0;\n}\nfunction expoIn(t) {\n return t === 0.0 ? t : Math.pow(2.0, 10.0 * (t - 1.0));\n}\nfunction expoOut(t) {\n return t === 1.0 ? t : 1.0 - Math.pow(2.0, -10.0 * t);\n}\nfunction quadInOut(t) {\n t /= 0.5;\n if (t < 1)\n return 0.5 * t * t;\n t--;\n return -0.5 * (t * (t - 2) - 1);\n}\nfunction quadIn(t) {\n return t * t;\n}\nfunction quadOut(t) {\n return -t * (t - 2.0);\n}\nfunction quartInOut(t) {\n return t < 0.5\n ? +8.0 * Math.pow(t, 4.0)\n : -8.0 * Math.pow(t - 1.0, 4.0) + 1.0;\n}\nfunction quartIn(t) {\n return Math.pow(t, 4.0);\n}\nfunction quartOut(t) {\n return Math.pow(t - 1.0, 3.0) * (1.0 - t) + 1.0;\n}\nfunction quintInOut(t) {\n if ((t *= 2) < 1)\n return 0.5 * t * t * t * t * t;\n return 0.5 * ((t -= 2) * t * t * t * t + 2);\n}\nfunction quintIn(t) {\n return t * t * t * t * t;\n}\nfunction quintOut(t) {\n return --t * t * t * t * t + 1;\n}\nfunction sineInOut(t) {\n return -0.5 * (Math.cos(Math.PI * t) - 1);\n}\nfunction sineIn(t) {\n const v = Math.cos(t * Math.PI * 0.5);\n if (Math.abs(v) < 1e-14)\n return 1;\n else\n return 1 - v;\n}\nfunction sineOut(t) {\n return Math.sin((t * Math.PI) / 2);\n}\n\nexport { backIn, backInOut, backOut, bounceIn, bounceInOut, bounceOut, circIn, circInOut, circOut, cubicIn, cubicInOut, cubicOut, elasticIn, elasticInOut, elasticOut, expoIn, expoInOut, expoOut, quadIn, quadInOut, quadOut, quartIn, quartInOut, quartOut, quintIn, quintInOut, quintOut, sineIn, sineInOut, sineOut };\n","import { cubicInOut, linear, cubicOut } from '../easing';\nimport { is_function, assign } from '../internal';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\n\nfunction blur(node, { delay = 0, duration = 400, easing = cubicInOut, amount = 5, opacity = 0 }) {\n const style = getComputedStyle(node);\n const target_opacity = +style.opacity;\n const f = style.filter === 'none' ? '' : style.filter;\n const od = target_opacity * (1 - opacity);\n return {\n delay,\n duration,\n easing,\n css: (_t, u) => `opacity: ${target_opacity - (od * u)}; filter: ${f} blur(${u * amount}px);`\n };\n}\nfunction fade(node, { delay = 0, duration = 400, easing = linear }) {\n const o = +getComputedStyle(node).opacity;\n return {\n delay,\n duration,\n easing,\n css: t => `opacity: ${t * o}`\n };\n}\nfunction fly(node, { delay = 0, duration = 400, easing = cubicOut, x = 0, y = 0, opacity = 0 }) {\n const style = getComputedStyle(node);\n const target_opacity = +style.opacity;\n const transform = style.transform === 'none' ? '' : style.transform;\n const od = target_opacity * (1 - opacity);\n return {\n delay,\n duration,\n easing,\n css: (t, u) => `\n\t\t\ttransform: ${transform} translate(${(1 - t) * x}px, ${(1 - t) * y}px);\n\t\t\topacity: ${target_opacity - (od * u)}`\n };\n}\nfunction slide(node, { delay = 0, duration = 400, easing = cubicOut }) {\n const style = getComputedStyle(node);\n const opacity = +style.opacity;\n const height = parseFloat(style.height);\n const padding_top = parseFloat(style.paddingTop);\n const padding_bottom = parseFloat(style.paddingBottom);\n const margin_top = parseFloat(style.marginTop);\n const margin_bottom = parseFloat(style.marginBottom);\n const border_top_width = parseFloat(style.borderTopWidth);\n const border_bottom_width = parseFloat(style.borderBottomWidth);\n return {\n delay,\n duration,\n easing,\n css: t => `overflow: hidden;` +\n `opacity: ${Math.min(t * 20, 1) * opacity};` +\n `height: ${t * height}px;` +\n `padding-top: ${t * padding_top}px;` +\n `padding-bottom: ${t * padding_bottom}px;` +\n `margin-top: ${t * margin_top}px;` +\n `margin-bottom: ${t * margin_bottom}px;` +\n `border-top-width: ${t * border_top_width}px;` +\n `border-bottom-width: ${t * border_bottom_width}px;`\n };\n}\nfunction scale(node, { delay = 0, duration = 400, easing = cubicOut, start = 0, opacity = 0 }) {\n const style = getComputedStyle(node);\n const target_opacity = +style.opacity;\n const transform = style.transform === 'none' ? '' : style.transform;\n const sd = 1 - start;\n const od = target_opacity * (1 - opacity);\n return {\n delay,\n duration,\n easing,\n css: (_t, u) => `\n\t\t\ttransform: ${transform} scale(${1 - (sd * u)});\n\t\t\topacity: ${target_opacity - (od * u)}\n\t\t`\n };\n}\nfunction draw(node, { delay = 0, speed, duration, easing = cubicInOut }) {\n const len = node.getTotalLength();\n if (duration === undefined) {\n if (speed === undefined) {\n duration = 800;\n }\n else {\n duration = len / speed;\n }\n }\n else if (typeof duration === 'function') {\n duration = duration(len);\n }\n return {\n delay,\n duration,\n easing,\n css: (t, u) => `stroke-dasharray: ${t * len} ${u * len}`\n };\n}\nfunction crossfade(_a) {\n var { fallback } = _a, defaults = __rest(_a, [\"fallback\"]);\n const to_receive = new Map();\n const to_send = new Map();\n function crossfade(from, node, params) {\n const { delay = 0, duration = d => Math.sqrt(d) * 30, easing = cubicOut } = assign(assign({}, defaults), params);\n const to = node.getBoundingClientRect();\n const dx = from.left - to.left;\n const dy = from.top - to.top;\n const dw = from.width / to.width;\n const dh = from.height / to.height;\n const d = Math.sqrt(dx * dx + dy * dy);\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n const opacity = +style.opacity;\n return {\n delay,\n duration: is_function(duration) ? duration(d) : duration,\n easing,\n css: (t, u) => `\n\t\t\t\topacity: ${t * opacity};\n\t\t\t\ttransform-origin: top left;\n\t\t\t\ttransform: ${transform} translate(${u * dx}px,${u * dy}px) scale(${t + (1 - t) * dw}, ${t + (1 - t) * dh});\n\t\t\t`\n };\n }\n function transition(items, counterparts, intro) {\n return (node, params) => {\n items.set(params.key, {\n rect: node.getBoundingClientRect()\n });\n return () => {\n if (counterparts.has(params.key)) {\n const { rect } = counterparts.get(params.key);\n counterparts.delete(params.key);\n return crossfade(rect, node, params);\n }\n // if the node is disappearing altogether\n // (i.e. wasn't claimed by the other list)\n // then we need to supply an outro\n items.delete(params.key);\n return fallback && fallback(node, params, intro);\n };\n };\n }\n return [\n transition(to_send, to_receive, false),\n transition(to_receive, to_send, true)\n ];\n}\n\nexport { blur, crossfade, draw, fade, fly, scale, slide };\n","\n\n
\n
\n
\n \n
\n
\n","\n\n
\n \n
\n","\n\n
\n \n \n \n
\n","\n\n\n","\n\n\n
\n
\n {#if userType === USER_INT}\n \n {/if}\n
\n

\n {@html _('intro.title')}\n

\n

\n {@html _(`intro.subTitle${simpleDialog ? 'Continue' : ''}`)}\n

\n
\n
\n
\n {#if simpleDialog}\n

\n {@html _('intro.simpleDialog')}\n

\n {:else}\n {#if userType === USER_INT}\n

\n {@html _(`intro.${consentText}1`)}\n
\n {@html _(`intro.${consentText}11`)}\n

\n {#if userType === USER_INT && sbrowserEnabled()}\n
\n {@html _(`intro.seznamBrowserMessage`)}\n
\n {/if}\n
\n\n\n
\n

\n {#if userType === USER_INT}\n {@html _('purposes.description')}\n {#if userLoggedIn}\n {@html _(`purposes.changeSettingsLogged`)}\n {:else}\n {@html _(`purposes.changeSettingsUnlogged`)}\n {/if}\n {/if}\n {#if userType === USER_EXT}\n {@html _('purposes.descriptionExternal')}\n {/if}\n

\n \n\n \n \n {#if userType === USER_INT}\n {#if loggedUsr}\n {@html _('purposes.personalizeContent.details')}\n {:else}\n {@html _('purposes.personalizeContent.detailsUnlogged')}\n {/if}\n {/if}\n {#if userType === USER_EXT}\n {@html _('purposes.personalizeContent.detailsExternal')}\n {/if}\n \n \n
\n {#if userType === USER_INT}\n {#if loggedUsr}\n {@html _('purposes.personalizeAds.details1')}\n {:else}\n {@html _('purposes.personalizeAds.detailsUnlogged1')}\n {/if}\n {_('purposes.personalizeAds.details11')}\n \n {_('purposes.personalizeAds.details2')}\n {@html _('purposes.personalizeAds.details22')}\n {/if}\n {#if userType === USER_EXT}\n {@html _('purposes.personalizeAds.detailsExternal')}\n {/if}\n
\n \n
\n\n\n\n