{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/@segment/analytics-next/node_modules/js-cookie/dist/js.cookie.js","webpack:///./node_modules/new-date/lib/index.js","webpack:///./node_modules/@segment/facade/dist/track.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/lib/get-process-env.js","webpack:///./node_modules/@segment/analytics-core/dist/esm/priority-queue/index.js","webpack:///./node_modules/@segment/analytics-core/dist/esm/priority-queue/backoff.js","webpack:///./node_modules/@appsignal/javascript/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@appsignal/core/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@appsignal/core/dist/esm/utils/functional.js","webpack:///./node_modules/@appsignal/core/dist/esm/utils/hashmap.js","webpack:///./node_modules/@appsignal/core/dist/esm/utils/error.js","webpack:///./node_modules/@appsignal/core/dist/esm/utils/async.js","webpack:///./node_modules/@appsignal/core/dist/esm/serializable.js","webpack:///./node_modules/@appsignal/javascript/dist/esm/environment.js","webpack:///./node_modules/@appsignal/javascript/dist/esm/transports/xdomain.js","webpack:///./node_modules/@appsignal/javascript/dist/esm/transports/xhr.js","webpack:///./node_modules/@appsignal/javascript/dist/esm/transports/fetch.js","webpack:///./node_modules/@appsignal/javascript/dist/esm/transports/node.js","webpack:///./node_modules/@appsignal/javascript/dist/esm/api.js","webpack:///./node_modules/@appsignal/core/dist/esm/utils/url.js","webpack:///./node_modules/@appsignal/javascript/dist/esm/span.js","webpack:///./node_modules/@appsignal/javascript/dist/esm/queue.js","webpack:///./node_modules/@appsignal/javascript/dist/esm/dispatcher.js","webpack:///./node_modules/@appsignal/javascript/dist/esm/index.js","webpack:///./node_modules/@appsignal/javascript/dist/esm/version.js","webpack:///./app/javascript/utils/logger.js","webpack:///./node_modules/@appsignal/core/dist/esm/utils/environment.js","webpack:///./node_modules/isomorphic-unfetch/browser.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/core/context/index.js","webpack:///./node_modules/@segment/isodate/lib/index.js","webpack:///./node_modules/@segment/facade/dist/identify.js","webpack:///./node_modules/@segment/facade/dist/page.js","webpack:///./node_modules/@segment/analytics-core/dist/esm/logger/index.js","webpack:///./node_modules/@segment/analytics-core/dist/esm/context/index.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/generated/version.js","webpack:///./node_modules/@segment/analytics-next/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/core/connection/index.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/lib/merged-options.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/plugins/middleware/index.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/core/query-string/gracefulDecodeURIComponent.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/lib/p-while.js","webpack:///./node_modules/@segment/analytics-core/dist/esm/stats/index.js","webpack:///./node_modules/spark-md5/spark-md5.js","webpack:///./node_modules/@segment/analytics-core/dist/esm/callback/index.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/lib/fetch.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/core/user/index.js","webpack:///./node_modules/@segment/facade/dist/address.js","webpack:///./node_modules/@segment/facade/dist/clone.js","webpack:///./node_modules/@segment/facade/dist/is-enabled.js","webpack:///./node_modules/new-date/lib/milliseconds.js","webpack:///./node_modules/new-date/lib/seconds.js","webpack:///./node_modules/@segment/isodate-traverse/lib/index.js","webpack:///./node_modules/@segment/facade/dist/index.js","webpack:///./node_modules/@segment/facade/dist/alias.js","webpack:///./node_modules/@segment/facade/dist/group.js","webpack:///./node_modules/@segment/facade/dist/screen.js","webpack:///./node_modules/@segment/facade/dist/delete.js","webpack:///./node_modules/@segment/analytics-core/dist/esm/validation/helpers.js","webpack:///./node_modules/inherits/inherits_browser.js","webpack:///./node_modules/@segment/facade/dist/facade.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/lib/priority-queue/persisted.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/lib/get-global.js","webpack:///./node_modules/@lukeed/uuid/dist/index.mjs","webpack:///./node_modules/@segment/analytics-next/dist/pkg/lib/to-facade.js","webpack:///./node_modules/fuzzysort/fuzzysort.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/lib/embedded-write-key.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/lib/parse-cdn.js","webpack:///./node_modules/dset/dist/index.mjs","webpack:///./node_modules/@segment/analytics-next/dist/pkg/lib/bind-all.js","webpack:///./app/javascript/directory/track.js","webpack:///./app/javascript/directory/filter.js","webpack:///./node_modules/@segment/analytics-core/dist/esm/queue/delivery.js","webpack:///./node_modules/unfetch/dist/unfetch.module.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/core/arguments-resolver/index.js","webpack:///./node_modules/@segment/analytics-core/dist/esm/analytics/dispatch.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/core/events/index.js","webpack:///./node_modules/@segment/analytics-core/dist/esm/utils/is-thenable.js","webpack:///./node_modules/@segment/analytics-core/dist/esm/task/task-group.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/core/queue/event-queue.js","webpack:///./node_modules/@segment/analytics-core/dist/esm/queue/event-queue.js","webpack:///./node_modules/@segment/analytics-core/dist/esm/utils/group-by.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/core/analytics/index.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/plugins/page-enrichment/index.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/lib/pick.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/plugins/remote-loader/index.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/lib/on-page-leave.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/plugins/segmentio/batched-dispatcher.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/plugins/segmentio/fetch-dispatcher.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/plugins/segmentio/schedule-flush.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/lib/client-hints/index.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/plugins/segmentio/index.js","webpack:///./node_modules/@segment/analytics-core/dist/esm/validation/errors.js","webpack:///./node_modules/@segment/analytics-core/dist/esm/validation/assertions.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/plugins/validation/index.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/lib/is-thenable.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/core/buffer/index.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/core/buffer/snippet.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/core/inspector/index.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/browser/index.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/lib/create-deferred.js","webpack:///./app/javascript/utils/analytics.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/@segment/analytics-core/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/obj-case/index.js","webpack:///./node_modules/@segment/facade/dist/is-email.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/core/environment/index.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/core/constants/index.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/plugins/segmentio/normalize.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/core/user/tld.js","webpack:///./node_modules/@segment/analytics-core/dist/esm/emitter/index.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/core/stats/remote-metrics.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/core/stats/index.js","webpack:///./node_modules/@segment/analytics-next/dist/pkg/lib/load-script.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","installedModules","__webpack_require__","exports","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","p","jsonpScriptSrc","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","window","oldJsonpFunction","slice","s","factory","_typeof","iterator","obj","constructor","assign","arguments","source","api","init","converter","defaultAttributes","set","attributes","expires","Date","now","toUTCString","encodeURIComponent","replace","decodeURIComponent","escape","stringifiedAttributes","attributeName","split","cookie","write","cookies","jar","parts","join","foundKey","read","remove","withAttributes","this","withConverter","freeze","path","isodate","milliseconds","seconds","toStr","toString","val","isNumber","num","is","parse","__importDefault","mod","Track","inherits_1","facade_1","identify_1","is_email_1","obj_case_1","dictionary","opts","Facade","action","field","proxy","category","id","productId","promotionId","cartId","checkoutId","paymentId","couponId","wishlistId","reviewId","orderId","sku","tax","price","total","repeat","coupon","shipping","discount","shippingMethod","paymentMethod","description","plan","subtotal","properties","revenue","products","props","Array","isArray","filter","item","quantity","currency","referrer","query","aliases","ret","alias","username","userId","sessionId","email","match","parseFloat","isNaN","cents","identify","json","traits","Identify","getProcessEnv","process","env","ON_REMOVE_FROM_FUTURE","_super","PriorityQueue","maxAttempts","queue","seen","_this","future","items","_i","accepted","map","operation","updateAttempts","includes","sort","a","b","getAttempts","pushWithBackoff","attempt","params","random","Math","_a","minTimeout","_b","factor","_c","maxTimeout","Infinity","min","pow","backoff","f","emit","Boolean","find","pop","configurable","_extendStatics","setPrototypeOf","__proto__","__extends","TypeError","String","__","_assign","apply","__awaiter","thisArg","_arguments","P","generator","fulfilled","step","next","rejected","result","done","then","__generator","body","y","g","_","label","sent","trys","ops","verb","v","op","__values","__read","ar","__spreadArray","to","from","pack","concat","compose","funcs","arg","reduce","args","toHashMap","keys","forEach","k","JSON","stringify","getStacktrace","stacktrace","line","stack","Serializable","_data","toJSON","serialize","Environment","transport","origin","globals","location","protocol","hostname","jest","XDomainRequest","XMLHttpRequest","fetch","supportsPromises","XDomainTransport","url","send","req","rx","RegExp","open","XHRTransport","req_1","onreadystatechange","readyState","DONE","FetchTransport","headers","res","statusText","method","ok","NodeTransport","options","on","end","PushApi","_uri","uri","_apiKey","_clientVersion","version","_transport","_createTransport","_url","span","auth","_authorization","api_key","Span","timestamp","round","getTime","namespace","backtrace","setAction","setNamespace","setError","isError","setTags","tags","toHashMapString","setParams","setBreadcrumbs","breadcrumbs","Queue","clear","values","drain","Dispatcher","_retries","_timerID","_duration","_api","_queue","limit","initialDuration","reset","schedule","time","expDuration","e_2_1","e_2","_d","floor","Appsignal","VERSION","ignored","_breadcrumbs","_hooks","decorators","overrides","_env","revision","ignoreErrors","info","_dispatcher","_options","tagsOrFn","some","el","test","warn","error_1","_createSpanFromError","sendError","use","plugin","createSpan","fn","environment","wrap","e_1","addDecorator","decorator","addOverride","override","demo","demo_sample","addBreadcrumb","breadcrumb","crumb","metadata","unshift","initLogging","provenance","appsignalApiKey","applicationEnvironment","appsignal","internalLog","log","isNodeEnv","getGlobalObject","global","self","Context","system","matcher","iso","numericKeys","arr","exec","offset","parseInt","substring","getTimezoneOffset","millis","UTC","string","strict","new_date_1","trim","str","created","companyCreated","companyName","firstName","lastName","space","indexOf","substr","uid","age","date","birthday","getFullYear","avatar","position","website","one","websites","multi","phone","phones","address","gender","Page","track_1","title","fullName","track","CoreLogger","_logs","level","extras","flush","logs","formatted","toISOString","table","logEntry","ContextCancelation","retry","reason","CoreContext","stats","logger","attempts","_id","isSame","other","cancel","updateEvent","integrationName","integrations","failedDelivery","_failedDelivery","setFailedDelivery","metrics","__rest","getOwnPropertySymbols","propertyIsEnumerable","isOnline","navigator","onLine","isOffline","Function","mergedOptions","settings","optionOverrides","entries","integration","integrationSettings","applyDestinationMiddleware","destination","evt","middleware","applyMiddleware","nextCalled","returnedEvent","payload","clone","traverse","modifiedEvent","middleware_1","md","rawEvent","sourceMiddlewarePlugin","ctx","isLoaded","load","page","group","gracefulDecodeURIComponent","encodedURIComponent","pWhile","condition","_loop","actionResult","CoreStats","increment","metric","by","gauge","counter","NullStats","_args","hex_chr","md5cycle","x","md5blk","md5blks","charCodeAt","md5blk_array","md51","tail","tmp","lo","hi","state","rhex","j","hex","toUtf8","unescape","hexToBinaryString","bytes","fromCharCode","SparkMD5","ArrayBuffer","clamp","max","targetArray","sourceArray","byteLength","begin","Uint8Array","append","appendBinary","contents","_buff","_length","_hash","raw","buff","_finish","getState","hash","setState","destroy","hashBinary","content","first","second","returnUInt8Array","buffer","subarray","utf8Str2ArrayBuffer","md51_array","pTimeout","timeoutId","invokeCallback","callback","delay","timeoutInMs","cb","defaults","persist","oldKey","localStorage","Store","cache","Cookie","available","cookieEnabled","maxage","domain","href","sameSite","secure","localStorageWarning","LocalStorage","setItem","removeItem","getItem","UniversalStorage","stores","storageOptions","enabledStores","getStores","storeTypes","storeType","storage","getAndSync","coercedValue","getAvailableStorageOptions","cookieOptions","memory","User","disable","prevId","identityStore","idKey","anonymousId","retId","retLeg","legacyUserStore","anonKey","legacySIO","traitsStore","traitsKey","isDisabled","shouldPersist","defaultStorageTargets","localStorageFallbackDisabled","legacyUser","currentId","logout","save","groupDefaults","Group","trait","proto","zip","country","street","city","region","temp","disabled","Salesforce","input","traverseObject","index","traverseArray","__assign","Delete","Screen","Alias","alias_1","group_1","page_1","screen_1","delete_1","previousId","groupId","industry","employees","isString","isFunction","exists","isPlainObject","toLowerCase","ctor","superCtor","super_","writable","TempCtor","address_1","clone_1","is_enabled_1","isodate_traverse_1","transform","fields","context","enabled","allEnabled","providers","active","library","device","userAgent","timezone","channel","ip","loc","persisted","stored","mutex","onUnlock","lockKey","rawLock","lock","allowed","expired","PersistedPriorityQueue","itemsKey","seenKey","saved","lastSeen","addEventListener","todo","items_1","existing","merged","acc","persistItems","persistSeen","getGlobal","globalThis","BUFFER","IDX","HEX","v4","out","toFacade","fcd","_toConsumableArray","_arrayLikeToArray","_arrayWithoutHoles","iter","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","minLen","len","arr2","single","search","score","_indexes","NULL","preparedSearch","getPreparedSearch","isObj","getPrepared","searchBitflags","bitflags","_bitflags","algorithm","go","targets","noResults","threshold","containsSpace","INT_MIN","INT_MAX","resultsLen","limitedCount","targetsLen","getValue","_targetLower","_targetLowerCodes","_nextBeginningIndexes","q","add","peek","replaceTop","scoreFn","defaultScoreFn","keysLen","objResults","keyI","results","poll","highlight","hOpen","hClose","highlightCallback","highlighted","matchesIndex","opened","targetLen","indexes","_char","matchI","indexesI","_char2","prepare","prepareLowerInfo","_lower","lowerCodes","prepareSearch","spaceSearches","searches","Set","_info","targetPrepared","preparedCache","searchPrepared","preparedSearchCache","prepared","algorithmSpaces","searchLower","searchLowerCodes","searchLowerCode","targetLowerCodes","searchLen","searchI","targetI","matchesSimpleLen","matchesSimple","successStrict","matchesStrictLen","nextBeginningIndexes","prepareNextBeginningIndexes","backtrackCount","matchesStrict","substringIndex","isSubstring","isSubstringBeginning","matchesBest","matchesBestLen","extraMatchGroupCount","uniqueBeginningIndexes","seen_indexes","first_seen_index_last_search","allowSpacesResult","_step","_iterator","it","allowArrayLike","F","_e","normalCompletion","didErr","_e2","_createForOfIteratorHelper","strLen","lower","lowerCode","prepareBeginningIndexes","beginningIndexes","beginningIndexesLen","wasUpper","wasAlphanum","targetCode","isUpper","isAlphanum","isBeginning","lastIsBeginning","lastIsBeginningI","cleanup","Map","prop","segs","analyticsWriteKey","_globalCDN","analyticsScriptRegex","setGlobalCDNUrl","cdn","analytics","_cdn","getCDN","globalCdnUrl","cdnFromScriptTag","querySelectorAll","getAttribute","getNextIntegrationsURL","dset","bindAll","getOwnPropertyNames","desc","getOwnPropertyDescriptor","brandJson","querySelector","brandContext","textContent","filtersForm","subject_name","innerText","subject_value","checked","subject_type","cards","card","subjectTypes","subjectValues","dataset","brand_name","currentTarget","brandName","retailerLinks","link","shopThisBrandCTA","proofPoints","proofPoint","subjectName","brandSearchBar","trackEventFired","timer","debounce","subjectValue","brandNames","brand_names","MARGIN_BETWEEN_CARDS","MARGIN_BUFFER","form","getElementById","filterToggle","productCheckboxes","elements","product","impactCheckboxes","impact","retailerCheckboxes","retailer","noResultsEl","resetFiltersEl","resetAllEl","cardList","listEl","parentNode","hero","summaryCount","handleTagToggle","checkbox","previousElementSibling","handleFormChange","filterList","productIds","getSelectedIds","impactIds","retailerIds","fuzzysort","searchResult","_evt","showNoResultsMessageIf","initialState","innerWidth","inputs","ids","height","getBoundingClientRect","cardHeight","posCounter","resultsCount","nameEl","currentPos","newPos","findIndex","showCard","calcOffset","highlightedHTMLString","innerHTML","element","productCategoryIds","impactCategoryIds","retailerCategoryIds","matches","isMatch","classList","style","hideCard","scrollTop","clientHeight","documentElement","newListHeight","resetListHeight","selectedIds","every","hidden","itemHeight","currentPosition","newPosition","posOffset","start","hook","err_1","tryAsync","ensure","newContext","u","status","responseURL","text","responseText","blob","Blob","response","has","getAllResponseHeaders","withCredentials","credentials","setRequestHeader","resolveArguments","eventName","resolvePageArguments","resolvedCategory","resolvedName","strings","resolvedCallback","objects","resolvedProperties","resolvedOptions","user","resolveAliasArguments","aliasTo","aliasFrom","emitter","startTime","dispatched","isEmpty","dispatchSingle","dispatch","startTimeInEpochMS","timeoutInMS","elapsedTime","debug","EventFactory","globalIntegrations","normalize","baseEvent","screen","base","optionsKeys","providedOptionsKeys","integrationBooleans","integrationNames","allIntegrations","rest","messageId","taskCompletionPromise","resolvePromise","count","run","returnValue","EventQueue","nameOrQueue","CoreEventQueue","priorityQueue","criticalTasks","plugins","failedInitializations","flushing","scheduleFlush","register","instance","deregister","unload","willDeliver","subscribeToDelivery","onDeliver","flushed","delivered","off","deliver","enqueuRetry","flushOne","err_2","isReady","availableExtensions","denyList","grouper","alternativeNameMatch","alternativeNames","All","suggestedKey","before","enrichment","after","destinations","before_1","beforeWare","enrichment_1","enrichmentWare","afterCalls","_f","deprecationWarning","_analytics","_stub","Analytics","_debug","initialized","_user","initialize","addIntegrationMiddleware","listeners","removeAllListeners","removeListener","removeEventListener","hasListeners","addIntegration","disablePersistance","disableClientPersistence","retryQueue","createDefaultQueue","writeKey","_universalStorage","_group","eventFactory","segmentEvent","_dispatch","_traits","groupTraits","trackClick","autotrack","trackLink","trackSubmit","trackForm","registrations","xt","deregistrations","pl","toggle","addSourceMiddleware","addDestinationMiddleware","middlewares","addMiddleware","setAnonymousId","queryString","useQueryString","legacyPluginFactory","ready","noConflict","msg","_settings","pageview","_plugins","nested","Integration","canonical","canon","canonicalPath","pathname","startsWith","canonicalUrl","enrichPageContext","defaultPageContext","pageContextFromEventProps","pageEnrichment","ActionDestination","_createMethod","methodName","transformedContext","remoteLoader","userIntegrations","mergedIntegrations","obfuscate","routingMiddleware","allPlugins","routingRules","pluginPromises","middlewareSettings","remotePlugins","remotePlugin","defaultCdn","urlSplit","name_1","obfuscatedURL","libraryName","routing_1","error_2","creationNameEnabled","creationName","currentNameEnabled","isPluginDisabled","btoa","pluginFactory","pluginLike","required","validate","rule","destinationName","wrapper","onPageLeave","unloaded","visibilityState","MAX_PAYLOAD_SIZE","kilobytes","encodeURI","apiHost","config","pageUnloaded","size","sendBatch","batch","keepalive","batch_1","reqs","bufferOverflow","approachingTrackingAPILimit","flushQueue","failedQueue","failed","isFlushing","newBuffer","clientHints","hints","userAgentData","getHighEntropyValues","segmentio","inflightEvents","charAt","onAlias","client","remote","deliveryStrategy","apiKey","strategy","highEntropyValuesClientHints","ValidationError","stringError","objError","nilError","assertUserIdentity","USER_FIELD_NAME","getAnyUserId","assertEventExists","assertEventType","assertTrackEventName","validation","flushSyncAnalyticsCalls","getCalls","callAnalyticsMethod","flushOn","flushSetAnonymousID","flushAnalyticsCallsInNewTask","toArray","PreInitMethodCallBuffer","_value","calls","called","AnalyticsBuffered","loader","_preInitBuffer","pageView","_createChainableMethod","once","_promise","ajs","transformSnippetCall","popSnippetWindowBuffer","wa","buffered","splice","inspectorHost","flushFinalBuffer","registerPlugins","legacySettings","legacyIntegrationSources","tsubMiddleware","legacyDestinations","schemaFilter","mergedSettings","toRegister","_g","_h","_j","NODE_ENV","hasTsubMiddleware","ajsDestinations","legacyVideoPluginsEnabled","loadLegacyVideoPlugins","enabledMiddleware","remoteMiddlewares","mdw","loadAnalytics","preInitBuffer","classicIntegrations","term","cdnURL","cdnSettings","baseUrl","errorResponseMessage","updateCDNSettings","attach","attachInspector","initRemoteMetrics","flushPreBuffer","initialPageview","AnalyticsBrowser","_resolve","_reject","loadStart","resolveLoadStart","_resolveLoadStart","standalone","segmentAnalytics","segmentWriteKey","segmentUserId","postEventToSegment","adapter","undefinedProvEventProps","postEventToGTM","eventCategory","xprops","eventData","onChildEvent","details","dataLayer","trackInApp","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","marker","runClearTimeout","Item","array","noop","nextTick","browser","argv","versions","addListener","prependListener","prependOnceListener","binding","cwd","chdir","dir","umask","multiple","normalizer","defaultNormalize","finished","loop","normalizedKey","child","del","isBrowser","isServer","SEGMENT_API_HOST","_version","getVersionType","referrerId","getCookieOptions","ad","queryIds","btid","urid","parts_1","ads","locale","userLanguage","language","campaign","utmParam","utm","sentAt","_metadata","bundled","unbundled","bundlingStatus","unbundledIntegrations","settingsUnbundled","configIds","maybeBundledConfigIds","bundledConfigIds","addBundledMetadata","bundledIds","amp","ampId","tld","parsedUrl","URL","parseUrl","lvls","last","levels","cname","Emitter","callbacks","without","logError","remoteMetrics","RemoteMetrics","host","sampleRate","flushTimer","maxQueueSize","flushing_1","run_1","remoteMetric","versionType","formattedTags","library_version","series","Stats","findScript","loadScript","found","status_1","async","tag","getElementsByTagName","parentElement","insertBefore","unloadScript"],"mappings":"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","file":"js/directory-1e1f3a0ef0ff85c1e660.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t};\n\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t4: 0\n \t};\n\n\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({\"1\":\"ajs-destination\",\"3\":\"auto-track\",\"6\":\"legacyVideos\",\"9\":\"queryString\",\"10\":\"remoteMiddleware\",\"11\":\"schemaFilter\",\"12\":\"vendors~tsub-middleware\"}[chunkId]||chunkId) + \"-\" + {\"1\":\"27c03976dfd474037767\",\"3\":\"5a0a5e2b8642b70fd2ab\",\"6\":\"a8e4da9f8daaf0a9a7a5\",\"9\":\"080b97eec5f2910a6eca\",\"10\":\"fe1ae44c121fa1d7cefa\",\"11\":\"503dca88b02a1553e81e\",\"12\":\"c1775ca5bc6af5e4b07f\",\"13\":\"593a98d7974cf096dab6\"}[chunkId] + \".chunk.js\"\n \t}\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 \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\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 = \"//legacy.provenance.org/packs/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 629);\n","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n/*! js-cookie v3.0.1 | MIT */\n;\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global = global || self, function () {\n var current = global.Cookies;\n var exports = global.Cookies = factory();\n exports.noConflict = function () {\n global.Cookies = current;\n return exports;\n };\n }());\n})(this, function () {\n 'use strict';\n\n /* eslint-disable no-var */\n function assign(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target;\n }\n /* eslint-enable no-var */\n\n /* eslint-disable no-var */\n var defaultConverter = {\n read: function read(value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent);\n },\n write: function write(value) {\n return encodeURIComponent(value).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g, decodeURIComponent);\n }\n };\n /* eslint-enable no-var */\n\n /* eslint-disable no-var */\n\n function init(converter, defaultAttributes) {\n function set(key, value, attributes) {\n if (typeof document === 'undefined') {\n return;\n }\n attributes = assign({}, defaultAttributes, attributes);\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n key = encodeURIComponent(key).replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent).replace(/[()]/g, escape);\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue;\n }\n stringifiedAttributes += '; ' + attributeName;\n if (attributes[attributeName] === true) {\n continue;\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n return document.cookie = key + '=' + converter.write(value, key) + stringifiedAttributes;\n }\n function get(key) {\n if (typeof document === 'undefined' || arguments.length && !key) {\n return;\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n try {\n var foundKey = decodeURIComponent(parts[0]);\n jar[foundKey] = converter.read(value, foundKey);\n if (key === foundKey) {\n break;\n }\n } catch (e) {}\n }\n return key ? jar[key] : jar;\n }\n return Object.create({\n set: set,\n get: get,\n remove: function remove(key, attributes) {\n set(key, '', assign({}, attributes, {\n expires: -1\n }));\n },\n withAttributes: function withAttributes(attributes) {\n return init(this.converter, assign({}, this.attributes, attributes));\n },\n withConverter: function withConverter(converter) {\n return init(assign({}, this.converter, converter), this.attributes);\n }\n }, {\n attributes: {\n value: Object.freeze(defaultAttributes)\n },\n converter: {\n value: Object.freeze(converter)\n }\n });\n }\n var api = init(defaultConverter, {\n path: '/'\n });\n /* eslint-enable no-var */\n\n return api;\n});","\"use strict\";\n\nvar isodate = require(\"@segment/isodate\");\nvar milliseconds = require(\"./milliseconds\");\nvar seconds = require(\"./seconds\");\nvar objProto = Object.prototype;\nvar toStr = objProto.toString;\nfunction isDate(value) {\n return toStr.call(value) === \"[object Date]\";\n}\nfunction isNumber(value) {\n return toStr.call(value) === \"[object Number]\";\n}\n\n/**\n * Returns a new Javascript Date object, allowing a variety of extra input types\n * over the native Date constructor.\n *\n * @param {Date|string|number} val\n */\nmodule.exports = function newDate(val) {\n if (isDate(val)) return val;\n if (isNumber(val)) return new Date(toMs(val));\n\n // date strings\n if (isodate.is(val)) {\n return isodate.parse(val);\n }\n if (milliseconds.is(val)) {\n return milliseconds.parse(val);\n }\n if (seconds.is(val)) {\n return seconds.parse(val);\n }\n\n // fallback to Date.parse\n return new Date(val);\n};\n\n/**\n * If the number passed val is seconds from the epoch, turn it into milliseconds.\n * Milliseconds would be greater than 31557600000 (December 31, 1970).\n *\n * @param {number} num\n */\nfunction toMs(num) {\n if (num < 31557600000) return num * 1000;\n return num;\n}","\"use strict\";\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Track = void 0;\nvar inherits_1 = __importDefault(require(\"inherits\"));\nvar facade_1 = require(\"./facade\");\nvar identify_1 = require(\"./identify\");\nvar is_email_1 = __importDefault(require(\"./is-email\"));\nvar obj_case_1 = __importDefault(require(\"obj-case\"));\nfunction Track(dictionary, opts) {\n facade_1.Facade.call(this, dictionary, opts);\n}\nexports.Track = Track;\ninherits_1[\"default\"](Track, facade_1.Facade);\nvar t = Track.prototype;\nt.action = function () {\n return \"track\";\n};\nt.type = t.action;\nt.event = facade_1.Facade.field(\"event\");\nt.value = facade_1.Facade.proxy(\"properties.value\");\nt.category = facade_1.Facade.proxy(\"properties.category\");\nt.id = facade_1.Facade.proxy(\"properties.id\");\nt.productId = function () {\n return this.proxy(\"properties.product_id\") || this.proxy(\"properties.productId\");\n};\nt.promotionId = function () {\n return this.proxy(\"properties.promotion_id\") || this.proxy(\"properties.promotionId\");\n};\nt.cartId = function () {\n return this.proxy(\"properties.cart_id\") || this.proxy(\"properties.cartId\");\n};\nt.checkoutId = function () {\n return this.proxy(\"properties.checkout_id\") || this.proxy(\"properties.checkoutId\");\n};\nt.paymentId = function () {\n return this.proxy(\"properties.payment_id\") || this.proxy(\"properties.paymentId\");\n};\nt.couponId = function () {\n return this.proxy(\"properties.coupon_id\") || this.proxy(\"properties.couponId\");\n};\nt.wishlistId = function () {\n return this.proxy(\"properties.wishlist_id\") || this.proxy(\"properties.wishlistId\");\n};\nt.reviewId = function () {\n return this.proxy(\"properties.review_id\") || this.proxy(\"properties.reviewId\");\n};\nt.orderId = function () {\n return this.proxy(\"properties.id\") || this.proxy(\"properties.order_id\") || this.proxy(\"properties.orderId\");\n};\nt.sku = facade_1.Facade.proxy(\"properties.sku\");\nt.tax = facade_1.Facade.proxy(\"properties.tax\");\nt.name = facade_1.Facade.proxy(\"properties.name\");\nt.price = facade_1.Facade.proxy(\"properties.price\");\nt.total = facade_1.Facade.proxy(\"properties.total\");\nt.repeat = facade_1.Facade.proxy(\"properties.repeat\");\nt.coupon = facade_1.Facade.proxy(\"properties.coupon\");\nt.shipping = facade_1.Facade.proxy(\"properties.shipping\");\nt.discount = facade_1.Facade.proxy(\"properties.discount\");\nt.shippingMethod = function () {\n return this.proxy(\"properties.shipping_method\") || this.proxy(\"properties.shippingMethod\");\n};\nt.paymentMethod = function () {\n return this.proxy(\"properties.payment_method\") || this.proxy(\"properties.paymentMethod\");\n};\nt.description = facade_1.Facade.proxy(\"properties.description\");\nt.plan = facade_1.Facade.proxy(\"properties.plan\");\nt.subtotal = function () {\n var subtotal = obj_case_1[\"default\"](this.properties(), \"subtotal\");\n var total = this.total() || this.revenue();\n if (subtotal) return subtotal;\n if (!total) return 0;\n if (this.total()) {\n var n = this.tax();\n if (n) total -= n;\n n = this.shipping();\n if (n) total -= n;\n n = this.discount();\n if (n) total += n;\n }\n return total;\n};\nt.products = function () {\n var props = this.properties();\n var products = obj_case_1[\"default\"](props, \"products\");\n if (Array.isArray(products)) {\n return products.filter(function (item) {\n return item !== null;\n });\n }\n return [];\n};\nt.quantity = function () {\n var props = this.obj.properties || {};\n return props.quantity || 1;\n};\nt.currency = function () {\n var props = this.obj.properties || {};\n return props.currency || \"USD\";\n};\nt.referrer = function () {\n return this.proxy(\"context.referrer.url\") || this.proxy(\"context.page.referrer\") || this.proxy(\"properties.referrer\");\n};\nt.query = facade_1.Facade.proxy(\"options.query\");\nt.properties = function (aliases) {\n var ret = this.field(\"properties\") || {};\n aliases = aliases || {};\n for (var alias in aliases) {\n if (Object.prototype.hasOwnProperty.call(aliases, alias)) {\n var value = this[alias] == null ? this.proxy(\"properties.\" + alias) : this[alias]();\n if (value == null) continue;\n ret[aliases[alias]] = value;\n delete ret[alias];\n }\n }\n return ret;\n};\nt.username = function () {\n return this.proxy(\"traits.username\") || this.proxy(\"properties.username\") || this.userId() || this.sessionId();\n};\nt.email = function () {\n var email = this.proxy(\"traits.email\") || this.proxy(\"properties.email\") || this.proxy(\"options.traits.email\");\n if (email) return email;\n var userId = this.userId();\n if (is_email_1[\"default\"](userId)) return userId;\n};\nt.revenue = function () {\n var revenue = this.proxy(\"properties.revenue\");\n var event = this.event();\n var orderCompletedRegExp = /^[ _]?completed[ _]?order[ _]?|^[ _]?order[ _]?completed[ _]?$/i;\n if (!revenue && event && event.match(orderCompletedRegExp)) {\n revenue = this.proxy(\"properties.total\");\n }\n return currency(revenue);\n};\nt.cents = function () {\n var revenue = this.revenue();\n return typeof revenue !== \"number\" ? this.value() || 0 : revenue * 100;\n};\nt.identify = function () {\n var json = this.json();\n json.traits = this.traits();\n return new identify_1.Identify(json, this.opts);\n};\nfunction currency(val) {\n if (!val) return;\n if (typeof val === \"number\") {\n return val;\n }\n if (typeof val !== \"string\") {\n return;\n }\n val = val.replace(/\\$/g, \"\");\n val = parseFloat(val);\n if (!isNaN(val)) {\n return val;\n }\n}","/**\n * Returns `process.env` if it is available in the environment.\n * Always returns an object make it similarly easy to use as `process.env`.\n */\nexport function getProcessEnv() {\n if (typeof process === 'undefined' || !process.env) {\n return {};\n }\n return process.env;\n}","import { __extends } from \"tslib\";\nimport { Emitter } from '../emitter';\nimport { backoff } from './backoff';\n/**\n * @internal\n */\nexport var ON_REMOVE_FROM_FUTURE = 'onRemoveFromFuture';\nvar PriorityQueue = /** @class */function (_super) {\n __extends(PriorityQueue, _super);\n function PriorityQueue(maxAttempts, queue, seen) {\n var _this = _super.call(this) || this;\n _this.future = [];\n _this.maxAttempts = maxAttempts;\n _this.queue = queue;\n _this.seen = seen !== null && seen !== void 0 ? seen : {};\n return _this;\n }\n PriorityQueue.prototype.push = function () {\n var _this = this;\n var items = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n items[_i] = arguments[_i];\n }\n var accepted = items.map(function (operation) {\n var attempts = _this.updateAttempts(operation);\n if (attempts > _this.maxAttempts || _this.includes(operation)) {\n return false;\n }\n _this.queue.push(operation);\n return true;\n });\n this.queue = this.queue.sort(function (a, b) {\n return _this.getAttempts(a) - _this.getAttempts(b);\n });\n return accepted;\n };\n PriorityQueue.prototype.pushWithBackoff = function (item) {\n var _this = this;\n if (this.getAttempts(item) === 0) {\n return this.push(item)[0];\n }\n var attempt = this.updateAttempts(item);\n if (attempt > this.maxAttempts || this.includes(item)) {\n return false;\n }\n var timeout = backoff({\n attempt: attempt - 1\n });\n setTimeout(function () {\n _this.queue.push(item);\n // remove from future list\n _this.future = _this.future.filter(function (f) {\n return f.id !== item.id;\n });\n // Lets listeners know that a 'future' message is now available in the queue\n _this.emit(ON_REMOVE_FROM_FUTURE);\n }, timeout);\n this.future.push(item);\n return true;\n };\n PriorityQueue.prototype.getAttempts = function (item) {\n var _a;\n return (_a = this.seen[item.id]) !== null && _a !== void 0 ? _a : 0;\n };\n PriorityQueue.prototype.updateAttempts = function (item) {\n this.seen[item.id] = this.getAttempts(item) + 1;\n return this.getAttempts(item);\n };\n PriorityQueue.prototype.includes = function (item) {\n return this.queue.includes(item) || this.future.includes(item) || Boolean(this.queue.find(function (i) {\n return i.id === item.id;\n })) || Boolean(this.future.find(function (i) {\n return i.id === item.id;\n }));\n };\n PriorityQueue.prototype.pop = function () {\n return this.queue.shift();\n };\n Object.defineProperty(PriorityQueue.prototype, \"length\", {\n get: function get() {\n return this.queue.length;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PriorityQueue.prototype, \"todo\", {\n get: function get() {\n return this.queue.length + this.future.length;\n },\n enumerable: false,\n configurable: true\n });\n return PriorityQueue;\n}(Emitter);\nexport { PriorityQueue };","export function backoff(params) {\n var random = Math.random() + 1;\n var _a = params.minTimeout,\n minTimeout = _a === void 0 ? 500 : _a,\n _b = params.factor,\n factor = _b === void 0 ? 2 : _b,\n attempt = params.attempt,\n _c = params.maxTimeout,\n maxTimeout = _c === void 0 ? Infinity : _c;\n return Math.min(random * minTimeout * Math.pow(factor, attempt), maxTimeout);\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\n/* global Reflect, Promise */\n\nvar _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n return _extendStatics(d, b);\n};\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n _extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nvar _assign = function __assign() {\n _assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return _assign.apply(this, arguments);\n};\nexport { _assign as __assign };\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length,\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n d;\n if ((typeof Reflect === \"undefined\" ? \"undefined\" : _typeof(Reflect)) === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nexport function __param(paramIndex, decorator) {\n return function (target, key) {\n decorator(target, key, paramIndex);\n };\n}\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind,\n key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _,\n done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || _typeof(result) !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n}\n;\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n}\n;\nexport function __propKey(x) {\n return _typeof(x) === \"symbol\" ? x : \"\".concat(x);\n}\n;\nexport function __setFunctionName(f, name, prefix) {\n if (_typeof(name) === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n}\n;\nexport function __metadata(metadataKey, metadataValue) {\n if ((typeof Reflect === \"undefined\" ? \"undefined\" : _typeof(Reflect)) === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\nexport function __generator(thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\nexport var __createBinding = Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n };\n }\n Object.defineProperty(o, k2, desc);\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n};\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator,\n m = s && o[s],\n i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function next() {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j];\n return r;\n}\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []),\n i,\n q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i;\n function verb(n) {\n if (g[n]) i[n] = function (v) {\n return new Promise(function (a, b) {\n q.push([n, v, a, b]) > 1 || resume(n, v);\n });\n };\n }\n function resume(n, v) {\n try {\n step(g[n](v));\n } catch (e) {\n settle(q[0][3], e);\n }\n }\n function step(r) {\n r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n }\n function fulfill(value) {\n resume(\"next\", value);\n }\n function reject(value) {\n resume(\"throw\", value);\n }\n function settle(f, v) {\n if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n }\n}\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) {\n throw e;\n }), verb(\"return\"), i[Symbol.iterator] = function () {\n return this;\n }, i;\n function verb(n, f) {\n i[n] = o[n] ? function (v) {\n return (p = !p) ? {\n value: __await(o[n](v)),\n done: false\n } : f ? f(v) : v;\n } : f;\n }\n}\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator],\n i;\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 () {\n return this;\n }, i);\n function verb(n) {\n i[n] = o[n] && function (v) {\n return new Promise(function (resolve, reject) {\n v = o[n](v), settle(resolve, reject, v.done, v.value);\n });\n };\n }\n function settle(resolve, reject, d, v) {\n Promise.resolve(v).then(function (v) {\n resolve({\n value: v,\n done: d\n });\n }, reject);\n }\n}\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) {\n Object.defineProperty(cooked, \"raw\", {\n value: raw\n });\n } else {\n cooked.raw = raw;\n }\n return cooked;\n}\n;\nvar __setModuleDefault = Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n};\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\nexport function __importDefault(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n}\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n}\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || _typeof(receiver) !== \"object\" && typeof receiver !== \"function\") throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\nexport default {\n __extends: __extends,\n __assign: _assign,\n __rest: __rest,\n __decorate: __decorate,\n __param: __param,\n __metadata: __metadata,\n __awaiter: __awaiter,\n __generator: __generator,\n __createBinding: __createBinding,\n __exportStar: __exportStar,\n __values: __values,\n __read: __read,\n __spread: __spread,\n __spreadArrays: __spreadArrays,\n __spreadArray: __spreadArray,\n __await: __await,\n __asyncGenerator: __asyncGenerator,\n __asyncDelegator: __asyncDelegator,\n __asyncValues: __asyncValues,\n __makeTemplateObject: __makeTemplateObject,\n __importStar: __importStar,\n __importDefault: __importDefault,\n __classPrivateFieldGet: __classPrivateFieldGet,\n __classPrivateFieldSet: __classPrivateFieldSet,\n __classPrivateFieldIn: __classPrivateFieldIn\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\n/* global Reflect, Promise */\n\nvar _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n return _extendStatics(d, b);\n};\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n _extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nvar _assign = function __assign() {\n _assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return _assign.apply(this, arguments);\n};\nexport { _assign as __assign };\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length,\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n d;\n if ((typeof Reflect === \"undefined\" ? \"undefined\" : _typeof(Reflect)) === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nexport function __param(paramIndex, decorator) {\n return function (target, key) {\n decorator(target, key, paramIndex);\n };\n}\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind,\n key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _,\n done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || _typeof(result) !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n}\n;\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n}\n;\nexport function __propKey(x) {\n return _typeof(x) === \"symbol\" ? x : \"\".concat(x);\n}\n;\nexport function __setFunctionName(f, name, prefix) {\n if (_typeof(name) === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n}\n;\nexport function __metadata(metadataKey, metadataValue) {\n if ((typeof Reflect === \"undefined\" ? \"undefined\" : _typeof(Reflect)) === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\nexport function __generator(thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\nexport var __createBinding = Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n };\n }\n Object.defineProperty(o, k2, desc);\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n};\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator,\n m = s && o[s],\n i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function next() {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j];\n return r;\n}\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []),\n i,\n q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i;\n function verb(n) {\n if (g[n]) i[n] = function (v) {\n return new Promise(function (a, b) {\n q.push([n, v, a, b]) > 1 || resume(n, v);\n });\n };\n }\n function resume(n, v) {\n try {\n step(g[n](v));\n } catch (e) {\n settle(q[0][3], e);\n }\n }\n function step(r) {\n r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n }\n function fulfill(value) {\n resume(\"next\", value);\n }\n function reject(value) {\n resume(\"throw\", value);\n }\n function settle(f, v) {\n if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n }\n}\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) {\n throw e;\n }), verb(\"return\"), i[Symbol.iterator] = function () {\n return this;\n }, i;\n function verb(n, f) {\n i[n] = o[n] ? function (v) {\n return (p = !p) ? {\n value: __await(o[n](v)),\n done: false\n } : f ? f(v) : v;\n } : f;\n }\n}\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator],\n i;\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 () {\n return this;\n }, i);\n function verb(n) {\n i[n] = o[n] && function (v) {\n return new Promise(function (resolve, reject) {\n v = o[n](v), settle(resolve, reject, v.done, v.value);\n });\n };\n }\n function settle(resolve, reject, d, v) {\n Promise.resolve(v).then(function (v) {\n resolve({\n value: v,\n done: d\n });\n }, reject);\n }\n}\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) {\n Object.defineProperty(cooked, \"raw\", {\n value: raw\n });\n } else {\n cooked.raw = raw;\n }\n return cooked;\n}\n;\nvar __setModuleDefault = Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n};\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\nexport function __importDefault(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n}\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n}\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || _typeof(receiver) !== \"object\" && typeof receiver !== \"function\") throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\nexport default {\n __extends: __extends,\n __assign: _assign,\n __rest: __rest,\n __decorate: __decorate,\n __param: __param,\n __metadata: __metadata,\n __awaiter: __awaiter,\n __generator: __generator,\n __createBinding: __createBinding,\n __exportStar: __exportStar,\n __values: __values,\n __read: __read,\n __spread: __spread,\n __spreadArrays: __spreadArrays,\n __spreadArray: __spreadArray,\n __await: __await,\n __asyncGenerator: __asyncGenerator,\n __asyncDelegator: __asyncDelegator,\n __asyncValues: __asyncValues,\n __makeTemplateObject: __makeTemplateObject,\n __importStar: __importStar,\n __importDefault: __importDefault,\n __classPrivateFieldGet: __classPrivateFieldGet,\n __classPrivateFieldSet: __classPrivateFieldSet,\n __classPrivateFieldIn: __classPrivateFieldIn\n};","import { __read, __spreadArray } from \"tslib\";\nexport function compose() {\n var funcs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n funcs[_i] = arguments[_i];\n }\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n if (funcs.length === 1) {\n return funcs[0];\n }\n return funcs.reduce(function (a, b) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return a(b.apply(void 0, __spreadArray([], __read(args), false)));\n };\n });\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nexport function toHashMapString(obj) {\n if (!obj) return;\n Object.keys(obj).forEach(function (k) {\n if (_typeof(obj[k]) === \"object\") {\n obj[k] = JSON.stringify(obj[k]);\n }\n obj[k] = String(obj[k]);\n });\n return obj;\n}\nexport function toHashMap(obj) {\n if (!obj) return;\n Object.keys(obj).forEach(function (k) {\n if (typeof obj[k] === \"string\" || typeof obj[k] === \"boolean\" || typeof obj[k] === \"number\") {\n return;\n }\n obj[k] = JSON.stringify(obj[k]);\n });\n return obj;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nexport function isError(error) {\n return _typeof(error) === \"object\" && typeof error.message !== \"undefined\";\n}\nexport function getStacktrace(error) {\n if (typeof error.stacktrace !== \"undefined\" || typeof error[\"opera#sourceloc\"] !== \"undefined\") {\n var _a = error.stacktrace,\n stacktrace = _a === void 0 ? \"\" : _a;\n return stacktrace.split(\"\\n\").filter(function (line) {\n return line !== \"\";\n });\n } else if (error.stack) {\n var _b = error.stack,\n stack = _b === void 0 ? \"\" : _b;\n return stack.split(\"\\n\").filter(function (line) {\n return line !== \"\";\n });\n } else {\n return [\"No stacktrace available\"];\n }\n}","export var isAsync = function isAsync(fn) {\n return fn.constructor.name === \"AsyncFunction\";\n};","var Serializable = function () {\n function Serializable(data) {\n this._data = data;\n }\n Serializable.prototype.toJSON = function () {\n return JSON.stringify(this._data);\n };\n Serializable.prototype.serialize = function () {\n return this._data;\n };\n return Serializable;\n}();\nexport { Serializable };","import { getGlobalObject, isNodeEnv } from \"@appsignal/core\";\nvar Environment = function () {\n function Environment() {}\n Environment.serialize = function () {\n return {\n transport: this.transport(),\n origin: this.origin()\n };\n };\n Environment.origin = function () {\n var globals = getGlobalObject();\n if (!globals.location) {\n return \"\";\n }\n return globals.location.origin || \"\".concat(globals.location.protocol, \"//\").concat(globals.location.hostname);\n };\n Environment.transport = function () {\n var globals = getGlobalObject();\n if (isNodeEnv() && typeof jest === \"undefined\") {\n return \"NodeHTTP\";\n } else if (globals.XDomainRequest) {\n return \"XDomainRequest\";\n } else if (globals.XMLHttpRequest && !globals.fetch) {\n return \"XMLHttpRequest\";\n } else {\n return \"fetch\";\n }\n };\n Environment.supportsPromises = function () {\n var globals = getGlobalObject();\n return \"Promise\" in globals && \"resolve\" in globals.Promise && \"reject\" in globals.Promise && \"all\" in globals.Promise && \"race\" in globals.Promise && function () {\n var resolve;\n new globals.Promise(function (r) {\n resolve = r;\n });\n return typeof resolve === \"function\";\n }();\n };\n return Environment;\n}();\nexport { Environment };","var XDomainTransport = function () {\n function XDomainTransport(url) {\n this.url = url;\n }\n XDomainTransport.prototype.send = function (data) {\n var _this = this;\n return new Promise(function (resolve, reject) {\n var _a;\n var req = new XDomainRequest();\n var rx = new RegExp(\"^https?:\");\n req.onload = function () {\n return resolve({});\n };\n req.open(\"POST\", _this.url.replace(rx, (_a = window === null || window === void 0 ? void 0 : window.location) === null || _a === void 0 ? void 0 : _a.protocol));\n setTimeout(function () {\n try {\n req.send(data);\n } catch (e) {\n reject(e);\n }\n }, 0);\n });\n };\n return XDomainTransport;\n}();\nexport { XDomainTransport };","var XHRTransport = function () {\n function XHRTransport(url) {\n this.url = url;\n }\n XHRTransport.prototype.send = function (data) {\n var _this = this;\n return new Promise(function (resolve, reject) {\n try {\n var req_1 = new XMLHttpRequest();\n req_1.onreadystatechange = function () {\n if (req_1.readyState === XMLHttpRequest.DONE) {\n resolve({});\n }\n };\n req_1.open(\"POST\", _this.url);\n req_1.send(data);\n } catch (e) {\n reject(e);\n }\n });\n };\n return XHRTransport;\n}();\nexport { XHRTransport };","import { __awaiter, __generator } from \"tslib\";\nvar FetchTransport = function () {\n function FetchTransport(url, headers) {\n this.url = url;\n }\n FetchTransport.prototype.send = function (data) {\n return __awaiter(this, void 0, void 0, function () {\n var res, statusText, ok;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n return [4, fetch(this.url, {\n method: \"POST\",\n body: data\n })];\n case 1:\n res = _a.sent();\n statusText = res.statusText, ok = res.ok;\n return [2, ok ? Promise.resolve({}) : Promise.reject({\n statusText: statusText\n })];\n }\n });\n });\n };\n return FetchTransport;\n}();\nexport { FetchTransport };","import https from \"https\";\nvar NodeTransport = function () {\n function NodeTransport(url) {\n this.url = url;\n }\n NodeTransport.prototype.send = function (data) {\n var _this = this;\n var options = {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Content-Length\": data.length\n }\n };\n return new Promise(function (resolve, reject) {\n var req = https.request(_this.url, options, function () {}).on(\"error\", function (error) {\n return reject(error);\n });\n req.write(data);\n req.end();\n resolve({});\n });\n };\n return NodeTransport;\n}();\nexport { NodeTransport };","import { __awaiter, __generator } from \"tslib\";\nimport { urlEncode } from \"@appsignal/core\";\nimport { Environment } from \"./environment\";\nimport { XDomainTransport } from \"./transports/xdomain\";\nimport { XHRTransport } from \"./transports/xhr\";\nimport { FetchTransport } from \"./transports/fetch\";\nimport { NodeTransport } from \"./transports/node\";\nvar PushApi = function () {\n function PushApi(options) {\n this._uri = options.uri || \"https://appsignal-endpoint.net/collect\";\n this._apiKey = options.key;\n this._clientVersion = options.version;\n this._transport = this._createTransport(this._url());\n }\n PushApi.prototype.push = function (span) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n return [4, this._transport.send(span.toJSON())];\n case 1:\n _a.sent();\n return [2, span];\n }\n });\n });\n };\n PushApi.prototype._createTransport = function (url) {\n switch (Environment.transport()) {\n case \"XDomainRequest\":\n return new XDomainTransport(url);\n case \"XMLHttpRequest\":\n return new XHRTransport(url);\n case \"NodeHTTP\":\n return new NodeTransport(url);\n default:\n return new FetchTransport(url);\n }\n };\n PushApi.prototype._url = function () {\n var auth = this._authorization();\n return \"\".concat(this._uri, \"?\").concat(urlEncode(auth));\n };\n PushApi.prototype._authorization = function () {\n return {\n api_key: this._apiKey,\n version: this._clientVersion\n };\n };\n return PushApi;\n}();\nexport { PushApi };","export function urlEncode(object) {\n return Object.keys(object).map(function (key) {\n return \"\".concat(encodeURIComponent(key), \"=\").concat(encodeURIComponent(object[key]));\n }).join(\"&\");\n}","import { __assign, __extends } from \"tslib\";\nimport { Serializable, getStacktrace, toHashMapString, isError } from \"@appsignal/core\";\nvar Span = function (_super) {\n __extends(Span, _super);\n function Span(span) {\n return _super.call(this, __assign({\n timestamp: Math.round(new Date().getTime() / 1000),\n namespace: \"frontend\",\n error: {\n name: \"NullError\",\n message: \"No error has been set\",\n backtrace: []\n }\n }, span)) || this;\n }\n Span.prototype.setAction = function (name) {\n if (!name || typeof name !== \"string\") {\n return this;\n }\n this._data.action = name;\n return this;\n };\n Span.prototype.setNamespace = function (name) {\n if (!name || typeof name !== \"string\") {\n return this;\n }\n this._data.namespace = name;\n return this;\n };\n Span.prototype.setError = function (error) {\n if (!error || !isError(error)) return this;\n this._data.error = {\n name: error.name || \"[unknown]\",\n message: error.message,\n backtrace: getStacktrace(error)\n };\n return this;\n };\n Span.prototype.setTags = function (tags) {\n this._data.tags = __assign(__assign({}, this._data.tags), toHashMapString(tags));\n return this;\n };\n Span.prototype.setParams = function (params) {\n this._data.params = __assign(__assign({}, this._data.params), params);\n return this;\n };\n Span.prototype.setBreadcrumbs = function (breadcrumbs) {\n this._data.breadcrumbs = breadcrumbs;\n return this;\n };\n return Span;\n}(Serializable);\nexport { Span };","import { __generator, __read, __spreadArray } from \"tslib\";\nvar Queue = function () {\n function Queue(data) {\n this._data = data || [];\n }\n Queue.prototype.clear = function () {\n this._data = [];\n };\n Queue.prototype.values = function () {\n return this._data;\n };\n Queue.prototype.push = function (item) {\n var _a;\n return Array.isArray(item) ? (_a = this._data).push.apply(_a, __spreadArray([], __read(item), false)) : this._data.push(item);\n };\n Queue.prototype.drain = function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(this._data.length > 0)) return [3, 2];\n return [4, this._data.shift()];\n case 1:\n _a.sent();\n return [3, 0];\n case 2:\n return [2];\n }\n });\n };\n return Queue;\n}();\nexport { Queue };","import { __assign, __awaiter, __generator, __values } from \"tslib\";\nimport { getGlobalObject } from \"@appsignal/core\";\nvar Dispatcher = function () {\n function Dispatcher(queue, api, options) {\n this._retries = 0;\n this._timerID = 0;\n this._duration = 0;\n this._api = api;\n this._queue = queue;\n this.options = __assign({\n limit: 5,\n initialDuration: 1000\n }, options);\n this.reset();\n }\n Dispatcher.prototype.schedule = function (time) {\n var _this = this;\n if (time === void 0) {\n time = this._duration;\n }\n var globals = getGlobalObject();\n var BACKOFF_FACTOR = 1.3;\n var cb = function cb() {\n return __awaiter(_this, void 0, void 0, function () {\n var _a, _b, span, e_1, expDuration, e_2_1;\n var e_2, _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _d.trys.push([0, 7, 8, 9]);\n _a = __values(this._queue.drain()), _b = _a.next();\n _d.label = 1;\n case 1:\n if (!!_b.done) return [3, 6];\n span = _b.value;\n if (!span) return [2];\n _d.label = 2;\n case 2:\n _d.trys.push([2, 4,, 5]);\n return [4, this._api.push(span)];\n case 3:\n _d.sent();\n return [3, 5];\n case 4:\n e_1 = _d.sent();\n expDuration = Math.floor(Math.pow(time, BACKOFF_FACTOR));\n this._retries = this._retries - 1;\n if (this._retries === 0) {\n this.reset();\n } else {\n this._queue.push(span);\n this._timerID = this.schedule(expDuration);\n }\n return [2];\n case 5:\n _b = _a.next();\n return [3, 1];\n case 6:\n return [3, 9];\n case 7:\n e_2_1 = _d.sent();\n e_2 = {\n error: e_2_1\n };\n return [3, 9];\n case 8:\n try {\n if (_b && !_b.done && (_c = _a[\"return\"])) _c.call(_a);\n } finally {\n if (e_2) throw e_2.error;\n }\n return [7];\n case 9:\n this.reset();\n return [2];\n }\n });\n });\n };\n return globals.setTimeout(cb, time);\n };\n Dispatcher.prototype.reset = function () {\n var _a = this.options,\n limit = _a.limit,\n initialDuration = _a.initialDuration;\n this._retries = limit;\n this._duration = initialDuration;\n };\n return Dispatcher;\n}();\nexport { Dispatcher };","import { __assign, __awaiter, __generator, __read, __spreadArray } from \"tslib\";\nimport { compose, toHashMap } from \"@appsignal/core\";\nimport { VERSION } from \"./version\";\nimport { PushApi } from \"./api\";\nimport { Environment } from \"./environment\";\nimport { Span } from \"./span\";\nimport { Queue } from \"./queue\";\nimport { Dispatcher } from \"./dispatcher\";\nvar Appsignal = function () {\n function Appsignal(options) {\n this.VERSION = VERSION;\n this.ignored = [];\n this._breadcrumbs = [];\n this._hooks = {\n decorators: Array(),\n overrides: Array()\n };\n this._env = Environment.serialize();\n this._queue = new Queue([]);\n var _a = options.key,\n key = _a === void 0 ? \"\" : _a,\n uri = options.uri,\n revision = options.revision,\n ignoreErrors = options.ignoreErrors;\n if (revision && typeof revision !== \"string\") {\n options.revision = String(revision);\n }\n if (key === \"\") {\n console.info(\"[APPSIGNAL]: Started in development mode.\");\n }\n this._api = new PushApi({\n key: key,\n uri: uri,\n version: this.VERSION\n });\n if (ignoreErrors && Array.isArray(ignoreErrors)) {\n this.ignored = ignoreErrors;\n }\n this._dispatcher = new Dispatcher(this._queue, this._api);\n this._options = options;\n }\n Appsignal.prototype.send = function (data, tagsOrFn, namespace) {\n var _this = this;\n if (!(data instanceof Error) && !(data instanceof Span)) {\n console.error(\"[APPSIGNAL]: Can't send error, given error is not a valid type\");\n return;\n }\n if (this.ignored.length !== 0) {\n if (data instanceof Error && this.ignored.some(function (el) {\n return el.test(data.message);\n })) {\n console.warn(\"[APPSIGNAL]: Ignored an error: \".concat(data.message));\n return;\n }\n if (data instanceof Span) {\n var error_1 = data.serialize().error;\n if (error_1.message && this.ignored.some(function (el) {\n return el.test(error_1.message);\n })) {\n console.warn(\"[APPSIGNAL]: Ignored a span: \".concat(error_1.message));\n return;\n }\n }\n }\n var span = data instanceof Span ? data : this._createSpanFromError(data);\n if (this._hooks.decorators.length > 0) {\n compose.apply(void 0, __spreadArray([], __read(this._hooks.decorators), false))(span);\n }\n if (tagsOrFn) {\n if (typeof tagsOrFn === \"function\") {\n var callback = tagsOrFn;\n callback(span);\n } else {\n console.warn(\"[APPSIGNAL]: DEPRECATED: Calling the `send`/`sendError` function with a tags object is deprecated. Use the callback argument instead.\");\n var tags = toHashMap(tagsOrFn) || {};\n span.setTags(tags);\n }\n }\n if (namespace) {\n console.warn(\"[APPSIGNAL]: DEPRECATED: Calling the `send`/`sendError` function with a namespace is deprecated. Use the callback argument instead.\");\n span.setNamespace(namespace);\n }\n if (this._breadcrumbs.length > 0) span.setBreadcrumbs(this._breadcrumbs);\n if (this._hooks.overrides.length > 0) {\n compose.apply(void 0, __spreadArray([], __read(this._hooks.overrides), false))(span);\n }\n if (Environment.supportsPromises()) {\n this._breadcrumbs = [];\n if (!this._options.key) {\n console.warn(\"[APPSIGNAL]: Span not sent because we're in development mode:\", span);\n if (data instanceof Error) {\n throw data;\n }\n } else {\n return this._api.push(span)[\"catch\"](function () {\n _this._queue.push(span);\n setTimeout(function () {\n return _this._dispatcher.schedule();\n }, 0);\n });\n }\n } else {\n console.error(\"[APPSIGNAL]: Error not sent. A Promise polyfill is required.\");\n return;\n }\n };\n Appsignal.prototype.sendError = function (error, tagsOrFn, namespace) {\n return this.send(error, tagsOrFn, namespace);\n };\n Appsignal.prototype.use = function (plugin) {\n plugin.call(this);\n };\n Appsignal.prototype.createSpan = function (fn) {\n var _a = this._options,\n _b = _a.revision,\n revision = _b === void 0 ? \"\" : _b,\n namespace = _a.namespace;\n var span = new Span({\n environment: this._env,\n revision: revision\n });\n if (namespace) span.setNamespace(namespace);\n if (fn && typeof fn === \"function\") fn(span);\n return span;\n };\n Appsignal.prototype.wrap = function (fn, tagsOrFn, namespace) {\n return __awaiter(this, void 0, void 0, function () {\n var e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2,, 4]);\n return [4, fn()];\n case 1:\n return [2, _a.sent()];\n case 2:\n e_1 = _a.sent();\n return [4, this.sendError(e_1, tagsOrFn, namespace)];\n case 3:\n _a.sent();\n return [2, Promise.reject(e_1)];\n case 4:\n return [2];\n }\n });\n });\n };\n Appsignal.prototype.addDecorator = function (decorator) {\n this._hooks.decorators.push(decorator);\n };\n Appsignal.prototype.addOverride = function (override) {\n this._hooks.overrides.push(override);\n };\n Appsignal.prototype.demo = function () {\n var span = this._createSpanFromError(new Error(\"Hello world! This is an error used for demonstration purposes.\"));\n span.setAction(\"TestAction\").setParams({\n path: \"/hello\",\n method: \"GET\"\n }).setTags({\n demo_sample: \"true\"\n });\n this.send(span);\n };\n Appsignal.prototype.addBreadcrumb = function (breadcrumb) {\n var crumb = __assign(__assign({\n timestamp: Math.round(new Date().getTime() / 1000)\n }, breadcrumb), {\n metadata: toHashMap(breadcrumb.metadata)\n });\n if (!crumb.category) {\n console.warn(\"[APPSIGNAL]: Breadcrumb not added. `category` is missing.\");\n return;\n }\n if (!crumb.action) {\n console.warn(\"[APPSIGNAL]: Breadcrumb not added. `action` is missing.\");\n return;\n }\n if (this._breadcrumbs.length === 20) {\n this._breadcrumbs.pop();\n }\n this._breadcrumbs.unshift(crumb);\n };\n Appsignal.prototype._createSpanFromError = function (error) {\n var event = this.createSpan();\n event.setError(error);\n return event;\n };\n return Appsignal;\n}();\nexport default Appsignal;","export var VERSION = \"1.3.25\";","import Appsignal from '@appsignal/javascript'\n\n// Call at page initialization to initialize Appsignal logging\nexport function initLogging () {\n const globals = window.provenance\n if (!globals) return\n if (\n typeof globals !== 'undefined' ||\n typeof globals.appsignalApiKey !== 'undefined' ||\n typeof globals.applicationEnvironment !== 'undefined'\n ) {\n const appsignal = new Appsignal({\n key: globals.appsignalApiKey,\n revision: globals.revision\n })\n globals.appsignal = appsignal\n }\n}\n\n// Log an error to Appsignal only\nexport function internalLog (err) {\n const appsignal = window.provenance.appsignal\n if (appsignal) {\n appsignal.sendError(err)\n }\n}\n\n// Log an error to Appsignal and the JS console\nexport function log (err) {\n // eslint-disable-next-line no-console\n console.log(err.message)\n\n internalLog(err)\n}\n","export function isNodeEnv() {\n return Object.prototype.toString.call(typeof process !== \"undefined\" ? process : 0) === \"[object process]\";\n}\nexport function getGlobalObject() {\n return isNodeEnv() ? global : typeof window !== \"undefined\" ? window : typeof self !== \"undefined\" ? self : {};\n}","module.exports = self.fetch || (self.fetch = require('unfetch')[\"default\"] || require('unfetch'));","import { __extends } from \"tslib\";\nimport { CoreContext, ContextCancelation } from '@segment/analytics-core';\nimport { Stats } from '../stats';\nvar Context = /** @class */function (_super) {\n __extends(Context, _super);\n function Context(event, id) {\n return _super.call(this, event, id, new Stats()) || this;\n }\n Context.system = function () {\n return new this({\n type: 'track',\n event: 'system'\n });\n };\n return Context;\n}(CoreContext);\nexport { Context };\nexport { ContextCancelation };","'use strict';\n\n/**\n * Matcher, slightly modified from:\n *\n * https://github.com/csnover/js-iso8601/blob/lax/iso8601.js\n */\nvar matcher = /^(\\d{4})(?:-?(\\d{2})(?:-?(\\d{2}))?)?(?:([ T])(\\d{2}):?(\\d{2})(?::?(\\d{2})(?:[,\\.](\\d{1,}))?)?(?:(Z)|([+\\-])(\\d{2})(?::?(\\d{2}))?)?)?$/;\n\n/**\n * Convert an ISO date string to a date. Fallback to native `Date.parse`.\n *\n * https://github.com/csnover/js-iso8601/blob/lax/iso8601.js\n *\n * @param {String} iso\n * @return {Date}\n */\n\nexports.parse = function (iso) {\n var numericKeys = [1, 5, 6, 7, 11, 12];\n var arr = matcher.exec(iso);\n var offset = 0;\n\n // fallback to native parsing\n if (!arr) {\n return new Date(iso);\n }\n\n /* eslint-disable no-cond-assign */\n // remove undefined values\n for (var i = 0, val; val = numericKeys[i]; i++) {\n arr[val] = parseInt(arr[val], 10) || 0;\n }\n /* eslint-enable no-cond-assign */\n\n // allow undefined days and months\n arr[2] = parseInt(arr[2], 10) || 1;\n arr[3] = parseInt(arr[3], 10) || 1;\n\n // month is 0-11\n arr[2]--;\n\n // allow abitrary sub-second precision\n arr[8] = arr[8] ? (arr[8] + '00').substring(0, 3) : 0;\n\n // apply timezone if one exists\n if (arr[4] === ' ') {\n offset = new Date().getTimezoneOffset();\n } else if (arr[9] !== 'Z' && arr[10]) {\n offset = arr[11] * 60 + arr[12];\n if (arr[10] === '+') {\n offset = 0 - offset;\n }\n }\n var millis = Date.UTC(arr[1], arr[2], arr[3], arr[5], arr[6] + offset, arr[7], arr[8]);\n return new Date(millis);\n};\n\n/**\n * Checks whether a `string` is an ISO date string. `strict` mode requires that\n * the date string at least have a year, month and date.\n *\n * @param {String} string\n * @param {Boolean} strict\n * @return {Boolean}\n */\n\nexports.is = function (string, strict) {\n if (typeof string !== 'string') {\n return false;\n }\n if (strict && /^\\d{4}-\\d{2}-\\d{2}/.test(string) === false) {\n return false;\n }\n return matcher.test(string);\n};","\"use strict\";\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Identify = void 0;\nvar facade_1 = require(\"./facade\");\nvar obj_case_1 = __importDefault(require(\"obj-case\"));\nvar inherits_1 = __importDefault(require(\"inherits\"));\nvar is_email_1 = __importDefault(require(\"./is-email\"));\nvar new_date_1 = __importDefault(require(\"new-date\"));\nvar trim = function trim(str) {\n return str.trim();\n};\nfunction Identify(dictionary, opts) {\n facade_1.Facade.call(this, dictionary, opts);\n}\nexports.Identify = Identify;\ninherits_1[\"default\"](Identify, facade_1.Facade);\nvar i = Identify.prototype;\ni.action = function () {\n return \"identify\";\n};\ni.type = i.action;\ni.traits = function (aliases) {\n var ret = this.field(\"traits\") || {};\n var id = this.userId();\n aliases = aliases || {};\n if (id) ret.id = id;\n for (var alias in aliases) {\n var value = this[alias] == null ? this.proxy(\"traits.\" + alias) : this[alias]();\n if (value == null) continue;\n ret[aliases[alias]] = value;\n if (alias !== aliases[alias]) delete ret[alias];\n }\n return ret;\n};\ni.email = function () {\n var email = this.proxy(\"traits.email\");\n if (email) return email;\n var userId = this.userId();\n if (is_email_1[\"default\"](userId)) return userId;\n};\ni.created = function () {\n var created = this.proxy(\"traits.created\") || this.proxy(\"traits.createdAt\");\n if (created) return new_date_1[\"default\"](created);\n};\ni.companyCreated = function () {\n var created = this.proxy(\"traits.company.created\") || this.proxy(\"traits.company.createdAt\");\n if (created) {\n return new_date_1[\"default\"](created);\n }\n};\ni.companyName = function () {\n return this.proxy(\"traits.company.name\");\n};\ni.name = function () {\n var name = this.proxy(\"traits.name\");\n if (typeof name === \"string\") {\n return trim(name);\n }\n var firstName = this.firstName();\n var lastName = this.lastName();\n if (firstName && lastName) {\n return trim(firstName + \" \" + lastName);\n }\n};\ni.firstName = function () {\n var firstName = this.proxy(\"traits.firstName\");\n if (typeof firstName === \"string\") {\n return trim(firstName);\n }\n var name = this.proxy(\"traits.name\");\n if (typeof name === \"string\") {\n return trim(name).split(\" \")[0];\n }\n};\ni.lastName = function () {\n var lastName = this.proxy(\"traits.lastName\");\n if (typeof lastName === \"string\") {\n return trim(lastName);\n }\n var name = this.proxy(\"traits.name\");\n if (typeof name !== \"string\") {\n return;\n }\n var space = trim(name).indexOf(\" \");\n if (space === -1) {\n return;\n }\n return trim(name.substr(space + 1));\n};\ni.uid = function () {\n return this.userId() || this.username() || this.email();\n};\ni.description = function () {\n return this.proxy(\"traits.description\") || this.proxy(\"traits.background\");\n};\ni.age = function () {\n var date = this.birthday();\n var age = obj_case_1[\"default\"](this.traits(), \"age\");\n if (age != null) return age;\n if (!(date instanceof Date)) return;\n var now = new Date();\n return now.getFullYear() - date.getFullYear();\n};\ni.avatar = function () {\n var traits = this.traits();\n return obj_case_1[\"default\"](traits, \"avatar\") || obj_case_1[\"default\"](traits, \"photoUrl\") || obj_case_1[\"default\"](traits, \"avatarUrl\");\n};\ni.position = function () {\n var traits = this.traits();\n return obj_case_1[\"default\"](traits, \"position\") || obj_case_1[\"default\"](traits, \"jobTitle\");\n};\ni.username = facade_1.Facade.proxy(\"traits.username\");\ni.website = facade_1.Facade.one(\"traits.website\");\ni.websites = facade_1.Facade.multi(\"traits.website\");\ni.phone = facade_1.Facade.one(\"traits.phone\");\ni.phones = facade_1.Facade.multi(\"traits.phone\");\ni.address = facade_1.Facade.proxy(\"traits.address\");\ni.gender = facade_1.Facade.proxy(\"traits.gender\");\ni.birthday = facade_1.Facade.proxy(\"traits.birthday\");","\"use strict\";\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Page = void 0;\nvar inherits_1 = __importDefault(require(\"inherits\"));\nvar facade_1 = require(\"./facade\");\nvar track_1 = require(\"./track\");\nvar is_email_1 = __importDefault(require(\"./is-email\"));\nfunction Page(dictionary, opts) {\n facade_1.Facade.call(this, dictionary, opts);\n}\nexports.Page = Page;\ninherits_1[\"default\"](Page, facade_1.Facade);\nvar p = Page.prototype;\np.action = function () {\n return \"page\";\n};\np.type = p.action;\np.category = facade_1.Facade.field(\"category\");\np.name = facade_1.Facade.field(\"name\");\np.title = facade_1.Facade.proxy(\"properties.title\");\np.path = facade_1.Facade.proxy(\"properties.path\");\np.url = facade_1.Facade.proxy(\"properties.url\");\np.referrer = function () {\n return this.proxy(\"context.referrer.url\") || this.proxy(\"context.page.referrer\") || this.proxy(\"properties.referrer\");\n};\np.properties = function (aliases) {\n var props = this.field(\"properties\") || {};\n var category = this.category();\n var name = this.name();\n aliases = aliases || {};\n if (category) props.category = category;\n if (name) props.name = name;\n for (var alias in aliases) {\n if (Object.prototype.hasOwnProperty.call(aliases, alias)) {\n var value = this[alias] == null ? this.proxy(\"properties.\" + alias) : this[alias]();\n if (value == null) continue;\n props[aliases[alias]] = value;\n if (alias !== aliases[alias]) delete props[alias];\n }\n }\n return props;\n};\np.email = function () {\n var email = this.proxy(\"context.traits.email\") || this.proxy(\"properties.email\");\n if (email) return email;\n var userId = this.userId();\n if (is_email_1[\"default\"](userId)) return userId;\n};\np.fullName = function () {\n var category = this.category();\n var name = this.name();\n return name && category ? category + \" \" + name : name;\n};\np.event = function (name) {\n return name ? \"Viewed \" + name + \" Page\" : \"Loaded a Page\";\n};\np.track = function (name) {\n var json = this.json();\n json.event = this.event(name);\n json.timestamp = this.timestamp();\n json.properties = this.properties();\n return new track_1.Track(json, this.opts);\n};","import { __assign } from \"tslib\";\nvar CoreLogger = /** @class */function () {\n function CoreLogger() {\n this._logs = [];\n }\n CoreLogger.prototype.log = function (level, message, extras) {\n var time = new Date();\n this._logs.push({\n level: level,\n message: message,\n time: time,\n extras: extras\n });\n };\n Object.defineProperty(CoreLogger.prototype, \"logs\", {\n get: function get() {\n return this._logs;\n },\n enumerable: false,\n configurable: true\n });\n CoreLogger.prototype.flush = function () {\n if (this.logs.length > 1) {\n var formatted = this._logs.reduce(function (logs, log) {\n var _a;\n var _b, _c;\n var line = __assign(__assign({}, log), {\n json: JSON.stringify(log.extras, null, ' '),\n extras: log.extras\n });\n delete line['time'];\n var key = (_c = (_b = log.time) === null || _b === void 0 ? void 0 : _b.toISOString()) !== null && _c !== void 0 ? _c : '';\n if (logs[key]) {\n key = \"\".concat(key, \"-\").concat(Math.random());\n }\n return __assign(__assign({}, logs), (_a = {}, _a[key] = line, _a));\n }, {});\n // ie doesn't like console.table\n if (console.table) {\n console.table(formatted);\n } else {\n console.log(formatted);\n }\n } else {\n this.logs.forEach(function (logEntry) {\n var level = logEntry.level,\n message = logEntry.message,\n extras = logEntry.extras;\n if (level === 'info' || level === 'debug') {\n console.log(message, extras !== null && extras !== void 0 ? extras : '');\n } else {\n console[level](message, extras !== null && extras !== void 0 ? extras : '');\n }\n });\n }\n this._logs = [];\n };\n return CoreLogger;\n}();\nexport { CoreLogger };","import { v4 as uuid } from '@lukeed/uuid';\nimport { dset } from 'dset';\nimport { CoreLogger } from '../logger';\nimport { NullStats } from '../stats';\nvar ContextCancelation = /** @class */function () {\n function ContextCancelation(options) {\n var _a, _b, _c;\n this.retry = (_a = options.retry) !== null && _a !== void 0 ? _a : true;\n this.type = (_b = options.type) !== null && _b !== void 0 ? _b : 'plugin Error';\n this.reason = (_c = options.reason) !== null && _c !== void 0 ? _c : '';\n }\n return ContextCancelation;\n}();\nexport { ContextCancelation };\nvar CoreContext = /** @class */function () {\n function CoreContext(event, id, stats, logger) {\n if (id === void 0) {\n id = uuid();\n }\n if (stats === void 0) {\n stats = new NullStats();\n }\n if (logger === void 0) {\n logger = new CoreLogger();\n }\n this.attempts = 0;\n this.event = event;\n this._id = id;\n this.logger = logger;\n this.stats = stats;\n }\n CoreContext.system = function () {\n // This should be overridden by the subclass to return an instance of the subclass.\n };\n CoreContext.prototype.isSame = function (other) {\n return other.id === this.id;\n };\n CoreContext.prototype.cancel = function (error) {\n if (error) {\n throw error;\n }\n throw new ContextCancelation({\n reason: 'Context Cancel'\n });\n };\n CoreContext.prototype.log = function (level, message, extras) {\n this.logger.log(level, message, extras);\n };\n Object.defineProperty(CoreContext.prototype, \"id\", {\n get: function get() {\n return this._id;\n },\n enumerable: false,\n configurable: true\n });\n CoreContext.prototype.updateEvent = function (path, val) {\n var _a;\n // Don't allow integrations that are set to false to be overwritten with integration settings.\n if (path.split('.')[0] === 'integrations') {\n var integrationName = path.split('.')[1];\n if (((_a = this.event.integrations) === null || _a === void 0 ? void 0 : _a[integrationName]) === false) {\n return this.event;\n }\n }\n dset(this.event, path, val);\n return this.event;\n };\n CoreContext.prototype.failedDelivery = function () {\n return this._failedDelivery;\n };\n CoreContext.prototype.setFailedDelivery = function (options) {\n this._failedDelivery = options;\n };\n CoreContext.prototype.logs = function () {\n return this.logger.logs;\n };\n CoreContext.prototype.flush = function () {\n this.logger.flush();\n this.stats.flush();\n };\n CoreContext.prototype.toJSON = function () {\n return {\n id: this._id,\n event: this.event,\n logs: this.logger.logs,\n metrics: this.stats.metrics\n };\n };\n return CoreContext;\n}();\nexport { CoreContext };","// This file is generated.\nexport var version = '1.53.0';","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\n/* global Reflect, Promise */\n\nvar _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n return _extendStatics(d, b);\n};\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n _extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nvar _assign = function __assign() {\n _assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return _assign.apply(this, arguments);\n};\nexport { _assign as __assign };\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length,\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n d;\n if ((typeof Reflect === \"undefined\" ? \"undefined\" : _typeof(Reflect)) === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nexport function __param(paramIndex, decorator) {\n return function (target, key) {\n decorator(target, key, paramIndex);\n };\n}\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind,\n key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _,\n done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || _typeof(result) !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n}\n;\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n}\n;\nexport function __propKey(x) {\n return _typeof(x) === \"symbol\" ? x : \"\".concat(x);\n}\n;\nexport function __setFunctionName(f, name, prefix) {\n if (_typeof(name) === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n}\n;\nexport function __metadata(metadataKey, metadataValue) {\n if ((typeof Reflect === \"undefined\" ? \"undefined\" : _typeof(Reflect)) === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\nexport function __generator(thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\nexport var __createBinding = Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n };\n }\n Object.defineProperty(o, k2, desc);\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n};\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator,\n m = s && o[s],\n i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function next() {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j];\n return r;\n}\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []),\n i,\n q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i;\n function verb(n) {\n if (g[n]) i[n] = function (v) {\n return new Promise(function (a, b) {\n q.push([n, v, a, b]) > 1 || resume(n, v);\n });\n };\n }\n function resume(n, v) {\n try {\n step(g[n](v));\n } catch (e) {\n settle(q[0][3], e);\n }\n }\n function step(r) {\n r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n }\n function fulfill(value) {\n resume(\"next\", value);\n }\n function reject(value) {\n resume(\"throw\", value);\n }\n function settle(f, v) {\n if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n }\n}\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) {\n throw e;\n }), verb(\"return\"), i[Symbol.iterator] = function () {\n return this;\n }, i;\n function verb(n, f) {\n i[n] = o[n] ? function (v) {\n return (p = !p) ? {\n value: __await(o[n](v)),\n done: false\n } : f ? f(v) : v;\n } : f;\n }\n}\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator],\n i;\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 () {\n return this;\n }, i);\n function verb(n) {\n i[n] = o[n] && function (v) {\n return new Promise(function (resolve, reject) {\n v = o[n](v), settle(resolve, reject, v.done, v.value);\n });\n };\n }\n function settle(resolve, reject, d, v) {\n Promise.resolve(v).then(function (v) {\n resolve({\n value: v,\n done: d\n });\n }, reject);\n }\n}\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) {\n Object.defineProperty(cooked, \"raw\", {\n value: raw\n });\n } else {\n cooked.raw = raw;\n }\n return cooked;\n}\n;\nvar __setModuleDefault = Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n};\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\nexport function __importDefault(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n}\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n}\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || _typeof(receiver) !== \"object\" && typeof receiver !== \"function\") throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\nexport default {\n __extends: __extends,\n __assign: _assign,\n __rest: __rest,\n __decorate: __decorate,\n __param: __param,\n __metadata: __metadata,\n __awaiter: __awaiter,\n __generator: __generator,\n __createBinding: __createBinding,\n __exportStar: __exportStar,\n __values: __values,\n __read: __read,\n __spread: __spread,\n __spreadArrays: __spreadArrays,\n __spreadArray: __spreadArray,\n __await: __await,\n __asyncGenerator: __asyncGenerator,\n __asyncDelegator: __asyncDelegator,\n __asyncValues: __asyncValues,\n __makeTemplateObject: __makeTemplateObject,\n __importStar: __importStar,\n __importDefault: __importDefault,\n __classPrivateFieldGet: __classPrivateFieldGet,\n __classPrivateFieldSet: __classPrivateFieldSet,\n __classPrivateFieldIn: __classPrivateFieldIn\n};","import { isBrowser } from '../environment';\nexport function isOnline() {\n if (isBrowser()) {\n return window.navigator.onLine;\n }\n return true;\n}\nexport function isOffline() {\n return !isOnline();\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nvar g;\n\n// This works in non-strict mode\ng = function () {\n return this;\n}();\ntry {\n // This works if eval is allowed (see CSP)\n g = g || new Function(\"return this\")();\n} catch (e) {\n // This works if the window reference is available\n if ((typeof window === \"undefined\" ? \"undefined\" : _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;","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nimport { __assign } from \"tslib\";\n/**\n * Merge legacy settings and initialized Integration option overrides.\n *\n * This will merge any options that were passed from initialization into\n * overrides for settings that are returned by the Segment CDN.\n *\n * i.e. this allows for passing options directly into destinations from\n * the Analytics constructor.\n */\nexport function mergedOptions(settings, options) {\n var _a;\n var optionOverrides = Object.entries((_a = options.integrations) !== null && _a !== void 0 ? _a : {}).reduce(function (overrides, _a) {\n var _b, _c;\n var integration = _a[0],\n options = _a[1];\n if (_typeof(options) === 'object') {\n return __assign(__assign({}, overrides), (_b = {}, _b[integration] = options, _b));\n }\n return __assign(__assign({}, overrides), (_c = {}, _c[integration] = {}, _c));\n }, {});\n return Object.entries(settings.integrations).reduce(function (integrationSettings, _a) {\n var _b;\n var integration = _a[0],\n settings = _a[1];\n return __assign(__assign({}, integrationSettings), (_b = {}, _b[integration] = __assign(__assign({}, settings), optionOverrides[integration]), _b));\n }, {});\n}","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { ContextCancelation } from '../../core/context';\nimport { toFacade } from '../../lib/to-facade';\nexport function applyDestinationMiddleware(destination, evt, middleware) {\n return __awaiter(this, void 0, void 0, function () {\n function applyMiddleware(event, fn) {\n return __awaiter(this, void 0, void 0, function () {\n var nextCalled, returnedEvent;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n nextCalled = false;\n returnedEvent = null;\n return [4 /*yield*/, fn({\n payload: toFacade(event, {\n clone: true,\n traverse: false\n }),\n integration: destination,\n next: function next(evt) {\n nextCalled = true;\n if (evt === null) {\n returnedEvent = null;\n }\n if (evt) {\n returnedEvent = evt.obj;\n }\n }\n })];\n case 1:\n _b.sent();\n if (!nextCalled && returnedEvent !== null) {\n returnedEvent = returnedEvent;\n returnedEvent.integrations = __assign(__assign({}, event.integrations), (_a = {}, _a[destination] = false, _a));\n }\n return [2 /*return*/, returnedEvent];\n }\n });\n });\n }\n var modifiedEvent, _i, middleware_1, md, result;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n modifiedEvent = toFacade(evt, {\n clone: true,\n traverse: false\n }).rawEvent();\n _i = 0, middleware_1 = middleware;\n _a.label = 1;\n case 1:\n if (!(_i < middleware_1.length)) return [3 /*break*/, 4];\n md = middleware_1[_i];\n return [4 /*yield*/, applyMiddleware(modifiedEvent, md)];\n case 2:\n result = _a.sent();\n if (result === null) {\n return [2 /*return*/, null];\n }\n modifiedEvent = result;\n _a.label = 3;\n case 3:\n _i++;\n return [3 /*break*/, 1];\n case 4:\n return [2 /*return*/, modifiedEvent];\n }\n });\n });\n}\nexport function sourceMiddlewarePlugin(fn, integrations) {\n function apply(ctx) {\n return __awaiter(this, void 0, void 0, function () {\n var nextCalled;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n nextCalled = false;\n return [4 /*yield*/, fn({\n payload: toFacade(ctx.event, {\n clone: true,\n traverse: false\n }),\n integrations: integrations !== null && integrations !== void 0 ? integrations : {},\n next: function next(evt) {\n nextCalled = true;\n if (evt) {\n ctx.event = evt.obj;\n }\n }\n })];\n case 1:\n _a.sent();\n if (!nextCalled) {\n throw new ContextCancelation({\n retry: false,\n type: 'middleware_cancellation',\n reason: 'Middleware `next` function skipped'\n });\n }\n return [2 /*return*/, ctx];\n }\n });\n });\n }\n return {\n name: \"Source Middleware \".concat(fn.name),\n type: 'before',\n version: '0.1.0',\n isLoaded: function isLoaded() {\n return true;\n },\n load: function load(ctx) {\n return Promise.resolve(ctx);\n },\n track: apply,\n page: apply,\n identify: apply,\n alias: apply,\n group: apply\n };\n}","/**\n * Tries to gets the unencoded version of an encoded component of a\n * Uniform Resource Identifier (URI). If input string is malformed,\n * returns it back as-is.\n *\n * Note: All occurences of the `+` character become ` ` (spaces).\n **/\nexport function gracefulDecodeURIComponent(encodedURIComponent) {\n try {\n return decodeURIComponent(encodedURIComponent.replace(/\\+/g, ' '));\n } catch (_a) {\n return encodedURIComponent;\n }\n}","import { __awaiter, __generator } from \"tslib\";\nexport var pWhile = function pWhile(condition, action) {\n return __awaiter(void 0, void 0, void 0, function () {\n var _loop;\n return __generator(this, function (_a) {\n _loop = function loop(actionResult) {\n return __awaiter(void 0, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!condition(actionResult)) return [3 /*break*/, 2];\n _a = _loop;\n return [4 /*yield*/, action()];\n case 1:\n return [2 /*return*/, _a.apply(void 0, [_b.sent()])];\n case 2:\n return [2 /*return*/];\n }\n });\n });\n };\n\n return [2 /*return*/, _loop(undefined)];\n });\n });\n};","import { __assign, __extends } from \"tslib\";\nvar compactMetricType = function compactMetricType(type) {\n var enums = {\n gauge: 'g',\n counter: 'c'\n };\n return enums[type];\n};\nvar CoreStats = /** @class */function () {\n function CoreStats() {\n this.metrics = [];\n }\n CoreStats.prototype.increment = function (metric, by, tags) {\n if (by === void 0) {\n by = 1;\n }\n this.metrics.push({\n metric: metric,\n value: by,\n tags: tags !== null && tags !== void 0 ? tags : [],\n type: 'counter',\n timestamp: Date.now()\n });\n };\n CoreStats.prototype.gauge = function (metric, value, tags) {\n this.metrics.push({\n metric: metric,\n value: value,\n tags: tags !== null && tags !== void 0 ? tags : [],\n type: 'gauge',\n timestamp: Date.now()\n });\n };\n CoreStats.prototype.flush = function () {\n var formatted = this.metrics.map(function (m) {\n return __assign(__assign({}, m), {\n tags: m.tags.join(',')\n });\n });\n // ie doesn't like console.table\n if (console.table) {\n console.table(formatted);\n } else {\n console.log(formatted);\n }\n this.metrics = [];\n };\n /**\n * compact keys for smaller payload\n */\n CoreStats.prototype.serialize = function () {\n return this.metrics.map(function (m) {\n return {\n m: m.metric,\n v: m.value,\n t: m.tags,\n k: compactMetricType(m.type),\n e: m.timestamp\n };\n });\n };\n return CoreStats;\n}();\nexport { CoreStats };\nvar NullStats = /** @class */function (_super) {\n __extends(NullStats, _super);\n function NullStats() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n NullStats.prototype.gauge = function () {\n var _args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n _args[_i] = arguments[_i];\n }\n };\n NullStats.prototype.increment = function () {\n var _args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n _args[_i] = arguments[_i];\n }\n };\n NullStats.prototype.flush = function () {\n var _args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n _args[_i] = arguments[_i];\n }\n };\n NullStats.prototype.serialize = function () {\n var _args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n _args[_i] = arguments[_i];\n }\n return [];\n };\n return NullStats;\n}(CoreStats);\nexport { NullStats };","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n(function (factory) {\n if ((typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object') {\n // Node/CommonJS\n module.exports = factory();\n } else if (typeof define === 'function' && define.amd) {\n // AMD\n define(factory);\n } else {\n // Browser globals (with support for web workers)\n var glob;\n try {\n glob = window;\n } catch (e) {\n glob = self;\n }\n glob.SparkMD5 = factory();\n }\n})(function (undefined) {\n 'use strict';\n\n /*\n * Fastest md5 implementation around (JKM md5).\n * Credits: Joseph Myers\n *\n * @see http://www.myersdaily.org/joseph/javascript/md5-text.html\n * @see http://jsperf.com/md5-shootout/7\n */\n\n /* this function is much faster,\n so if possible we use it. Some IEs\n are the only ones I know of that\n need the idiotic second function,\n generated by an if clause. */\n var add32 = function add32(a, b) {\n return a + b & 0xFFFFFFFF;\n },\n hex_chr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];\n function cmn(q, a, b, x, s, t) {\n a = add32(add32(a, q), add32(x, t));\n return add32(a << s | a >>> 32 - s, b);\n }\n function md5cycle(x, k) {\n var a = x[0],\n b = x[1],\n c = x[2],\n d = x[3];\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n function md5blk(s) {\n var md5blks = [],\n i; /* Andy King said do it this way. */\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);\n }\n return md5blks;\n }\n function md5blk_array(a) {\n var md5blks = [],\n i; /* Andy King said do it this way. */\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);\n }\n return md5blks;\n }\n function md51(s) {\n var n = s.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n s = s.substring(i - 64);\n length = s.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= s.charCodeAt(i) << (i % 4 << 3);\n }\n tail[i >> 2] |= 0x80 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Beware that the final length might not fit in 32 bits so we take care of that\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n function md51_array(a) {\n var n = a.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk_array(a.subarray(i - 64, i)));\n }\n\n // Not sure if it is a bug, however IE10 will always produce a sub array of length 1\n // containing the last element of the parent array if the sub array specified starts\n // beyond the length of the parent array - weird.\n // https://connect.microsoft.com/IE/feedback/details/771452/typed-array-subarray-issue\n a = i - 64 < n ? a.subarray(i - 64) : new Uint8Array(0);\n length = a.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= a[i] << (i % 4 << 3);\n }\n tail[i >> 2] |= 0x80 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Beware that the final length might not fit in 32 bits so we take care of that\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n function rhex(n) {\n var s = '',\n j;\n for (j = 0; j < 4; j += 1) {\n s += hex_chr[n >> j * 8 + 4 & 0x0F] + hex_chr[n >> j * 8 & 0x0F];\n }\n return s;\n }\n function hex(x) {\n var i;\n for (i = 0; i < x.length; i += 1) {\n x[i] = rhex(x[i]);\n }\n return x.join('');\n }\n\n // In some cases the fast add32 function cannot be used..\n if (hex(md51('hello')) !== '5d41402abc4b2a76b9719d911017c592') {\n add32 = function add32(x, y) {\n var lsw = (x & 0xFFFF) + (y & 0xFFFF),\n msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return msw << 16 | lsw & 0xFFFF;\n };\n }\n\n // ---------------------------------------------------\n\n /**\n * ArrayBuffer slice polyfill.\n *\n * @see https://github.com/ttaubert/node-arraybuffer-slice\n */\n\n if (typeof ArrayBuffer !== 'undefined' && !ArrayBuffer.prototype.slice) {\n (function () {\n function clamp(val, length) {\n val = val | 0 || 0;\n if (val < 0) {\n return Math.max(val + length, 0);\n }\n return Math.min(val, length);\n }\n ArrayBuffer.prototype.slice = function (from, to) {\n var length = this.byteLength,\n begin = clamp(from, length),\n end = length,\n num,\n target,\n targetArray,\n sourceArray;\n if (to !== undefined) {\n end = clamp(to, length);\n }\n if (begin > end) {\n return new ArrayBuffer(0);\n }\n num = end - begin;\n target = new ArrayBuffer(num);\n targetArray = new Uint8Array(target);\n sourceArray = new Uint8Array(this, begin, num);\n targetArray.set(sourceArray);\n return target;\n };\n })();\n }\n\n // ---------------------------------------------------\n\n /**\n * Helpers.\n */\n\n function toUtf8(str) {\n if (/[\\u0080-\\uFFFF]/.test(str)) {\n str = unescape(encodeURIComponent(str));\n }\n return str;\n }\n function utf8Str2ArrayBuffer(str, returnUInt8Array) {\n var length = str.length,\n buff = new ArrayBuffer(length),\n arr = new Uint8Array(buff),\n i;\n for (i = 0; i < length; i += 1) {\n arr[i] = str.charCodeAt(i);\n }\n return returnUInt8Array ? arr : buff;\n }\n function arrayBuffer2Utf8Str(buff) {\n return String.fromCharCode.apply(null, new Uint8Array(buff));\n }\n function concatenateArrayBuffers(first, second, returnUInt8Array) {\n var result = new Uint8Array(first.byteLength + second.byteLength);\n result.set(new Uint8Array(first));\n result.set(new Uint8Array(second), first.byteLength);\n return returnUInt8Array ? result : result.buffer;\n }\n function hexToBinaryString(hex) {\n var bytes = [],\n length = hex.length,\n x;\n for (x = 0; x < length - 1; x += 2) {\n bytes.push(parseInt(hex.substr(x, 2), 16));\n }\n return String.fromCharCode.apply(String, bytes);\n }\n\n // ---------------------------------------------------\n\n /**\n * SparkMD5 OOP implementation.\n *\n * Use this class to perform an incremental md5, otherwise use the\n * static methods instead.\n */\n\n function SparkMD5() {\n // call reset to init the instance\n this.reset();\n }\n\n /**\n * Appends a string.\n * A conversion will be applied if an utf8 string is detected.\n *\n * @param {String} str The string to be appended\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.append = function (str) {\n // Converts the string to utf8 bytes if necessary\n // Then append as binary\n this.appendBinary(toUtf8(str));\n return this;\n };\n\n /**\n * Appends a binary string.\n *\n * @param {String} contents The binary string to be appended\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.appendBinary = function (contents) {\n this._buff += contents;\n this._length += contents.length;\n var length = this._buff.length,\n i;\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));\n }\n this._buff = this._buff.substring(i - 64);\n return this;\n };\n\n /**\n * Finishes the incremental computation, reseting the internal state and\n * returning the result.\n *\n * @param {Boolean} raw True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n i,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n ret;\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff.charCodeAt(i) << (i % 4 << 3);\n }\n this._finish(tail, length);\n ret = hex(this._hash);\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n this.reset();\n return ret;\n };\n\n /**\n * Resets the internal state of the computation.\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.reset = function () {\n this._buff = '';\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n return this;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @return {Object} The state\n */\n SparkMD5.prototype.getState = function () {\n return {\n buff: this._buff,\n length: this._length,\n hash: this._hash.slice()\n };\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @param {Object} state The state\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.setState = function (state) {\n this._buff = state.buff;\n this._length = state.length;\n this._hash = state.hash;\n return this;\n };\n\n /**\n * Releases memory used by the incremental buffer and other additional\n * resources. If you plan to use the instance again, use reset instead.\n */\n SparkMD5.prototype.destroy = function () {\n delete this._hash;\n delete this._buff;\n delete this._length;\n };\n\n /**\n * Finish the final calculation based on the tail.\n *\n * @param {Array} tail The tail (will be modified)\n * @param {Number} length The length of the remaining buffer\n */\n SparkMD5.prototype._finish = function (tail, length) {\n var i = length,\n tmp,\n lo,\n hi;\n tail[i >> 2] |= 0x80 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(this._hash, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Do the final computation based on the tail and length\n // Beware that the final length may not fit in 32 bits so we take care of that\n tmp = this._length * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(this._hash, tail);\n };\n\n /**\n * Performs the md5 hash on a string.\n * A conversion will be applied if utf8 string is detected.\n *\n * @param {String} str The string\n * @param {Boolean} [raw] True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.hash = function (str, raw) {\n // Converts the string to utf8 bytes if necessary\n // Then compute it using the binary function\n return SparkMD5.hashBinary(toUtf8(str), raw);\n };\n\n /**\n * Performs the md5 hash on a binary string.\n *\n * @param {String} content The binary string\n * @param {Boolean} [raw] True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.hashBinary = function (content, raw) {\n var hash = md51(content),\n ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n // ---------------------------------------------------\n\n /**\n * SparkMD5 OOP implementation for array buffers.\n *\n * Use this class to perform an incremental md5 ONLY for array buffers.\n */\n SparkMD5.ArrayBuffer = function () {\n // call reset to init the instance\n this.reset();\n };\n\n /**\n * Appends an array buffer.\n *\n * @param {ArrayBuffer} arr The array to be appended\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.append = function (arr) {\n var buff = concatenateArrayBuffers(this._buff.buffer, arr, true),\n length = buff.length,\n i;\n this._length += arr.byteLength;\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));\n }\n this._buff = i - 64 < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);\n return this;\n };\n\n /**\n * Finishes the incremental computation, reseting the internal state and\n * returning the result.\n *\n * @param {Boolean} raw True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.ArrayBuffer.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n i,\n ret;\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff[i] << (i % 4 << 3);\n }\n this._finish(tail, length);\n ret = hex(this._hash);\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n this.reset();\n return ret;\n };\n\n /**\n * Resets the internal state of the computation.\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.reset = function () {\n this._buff = new Uint8Array(0);\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n return this;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @return {Object} The state\n */\n SparkMD5.ArrayBuffer.prototype.getState = function () {\n var state = SparkMD5.prototype.getState.call(this);\n\n // Convert buffer to a string\n state.buff = arrayBuffer2Utf8Str(state.buff);\n return state;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @param {Object} state The state\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.setState = function (state) {\n // Convert string to buffer\n state.buff = utf8Str2ArrayBuffer(state.buff, true);\n return SparkMD5.prototype.setState.call(this, state);\n };\n SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;\n SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;\n\n /**\n * Performs the md5 hash on an array buffer.\n *\n * @param {ArrayBuffer} arr The array buffer\n * @param {Boolean} [raw] True to get the raw string, false to get the hex one\n *\n * @return {String} The result\n */\n SparkMD5.ArrayBuffer.hash = function (arr, raw) {\n var hash = md51_array(new Uint8Array(arr)),\n ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n return SparkMD5;\n});","export function pTimeout(promise, timeout) {\n return new Promise(function (resolve, reject) {\n var timeoutId = setTimeout(function () {\n reject(Error('Promise timed out'));\n }, timeout);\n promise.then(function (val) {\n clearTimeout(timeoutId);\n return resolve(val);\n })[\"catch\"](reject);\n });\n}\nexport function sleep(timeoutInMs) {\n return new Promise(function (resolve) {\n return setTimeout(resolve, timeoutInMs);\n });\n}\n/**\n * @param ctx\n * @param callback - the function to invoke\n * @param delay - aka \"timeout\". The amount of time in ms to wait before invoking the callback.\n */\nexport function invokeCallback(ctx, callback, delay) {\n var cb = function cb() {\n try {\n return Promise.resolve(callback(ctx));\n } catch (err) {\n return Promise.reject(err);\n }\n };\n return sleep(delay)\n // pTimeout ensures that the callback can't cause the context to hang\n .then(function () {\n return pTimeout(cb(), 1000);\n })[\"catch\"](function (err) {\n ctx === null || ctx === void 0 ? void 0 : ctx.log('warn', 'Callback Error', {\n error: err\n });\n ctx === null || ctx === void 0 ? void 0 : ctx.stats.increment('callback_error');\n }).then(function () {\n return ctx;\n });\n}","import unfetch from 'unfetch';\nimport { getGlobal } from './get-global';\n/**\n * Wrapper around native `fetch` containing `unfetch` fallback.\n */\nexport var fetch = function fetch() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var global = getGlobal();\n return (global && global.fetch || unfetch).apply(void 0, args);\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nimport { __assign, __extends } from \"tslib\";\nimport { v4 as uuid } from '@lukeed/uuid';\nimport jar from 'js-cookie';\nimport { tld } from './tld';\nimport autoBind from '../../lib/bind-all';\nvar defaults = {\n persist: true,\n cookie: {\n key: 'ajs_user_id',\n oldKey: 'ajs_user'\n },\n localStorage: {\n key: 'ajs_user_traits'\n }\n};\nvar Store = /** @class */function () {\n function Store() {\n this.cache = {};\n }\n Store.prototype.get = function (key) {\n return this.cache[key];\n };\n Store.prototype.set = function (key, value) {\n this.cache[key] = value;\n };\n Store.prototype.remove = function (key) {\n delete this.cache[key];\n };\n Object.defineProperty(Store.prototype, \"type\", {\n get: function get() {\n return 'memory';\n },\n enumerable: false,\n configurable: true\n });\n return Store;\n}();\nvar ONE_YEAR = 365;\nvar Cookie = /** @class */function (_super) {\n __extends(Cookie, _super);\n function Cookie(options) {\n if (options === void 0) {\n options = Cookie.defaults;\n }\n var _this = _super.call(this) || this;\n _this.options = __assign(__assign({}, Cookie.defaults), options);\n return _this;\n }\n Cookie.available = function () {\n var cookieEnabled = window.navigator.cookieEnabled;\n if (!cookieEnabled) {\n jar.set('ajs:cookies', 'test');\n cookieEnabled = document.cookie.includes('ajs:cookies');\n jar.remove('ajs:cookies');\n }\n return cookieEnabled;\n };\n Object.defineProperty(Cookie, \"defaults\", {\n get: function get() {\n return {\n maxage: ONE_YEAR,\n domain: tld(window.location.href),\n path: '/',\n sameSite: 'Lax'\n };\n },\n enumerable: false,\n configurable: true\n });\n Cookie.prototype.opts = function () {\n return {\n sameSite: this.options.sameSite,\n expires: this.options.maxage,\n domain: this.options.domain,\n path: this.options.path,\n secure: this.options.secure\n };\n };\n Cookie.prototype.get = function (key) {\n try {\n var value = jar.get(key);\n if (!value) {\n return null;\n }\n try {\n return JSON.parse(value);\n } catch (e) {\n return value;\n }\n } catch (e) {\n return null;\n }\n };\n Cookie.prototype.set = function (key, value) {\n if (typeof value === 'string') {\n jar.set(key, value, this.opts());\n } else if (value === null) {\n jar.remove(key, this.opts());\n } else {\n jar.set(key, JSON.stringify(value), this.opts());\n }\n };\n Cookie.prototype.remove = function (key) {\n return jar.remove(key, this.opts());\n };\n Object.defineProperty(Cookie.prototype, \"type\", {\n get: function get() {\n return 'cookie';\n },\n enumerable: false,\n configurable: true\n });\n return Cookie;\n}(Store);\nexport { Cookie };\nvar localStorageWarning = function localStorageWarning(key, state) {\n console.warn(\"Unable to access \".concat(key, \", localStorage may be \").concat(state));\n};\nvar LocalStorage = /** @class */function (_super) {\n __extends(LocalStorage, _super);\n function LocalStorage() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LocalStorage.available = function () {\n var test = 'test';\n try {\n localStorage.setItem(test, test);\n localStorage.removeItem(test);\n return true;\n } catch (e) {\n return false;\n }\n };\n LocalStorage.prototype.get = function (key) {\n try {\n var val = localStorage.getItem(key);\n if (val === null) {\n return null;\n }\n try {\n return JSON.parse(val);\n } catch (e) {\n return val;\n }\n } catch (err) {\n localStorageWarning(key, 'unavailable');\n return null;\n }\n };\n LocalStorage.prototype.set = function (key, value) {\n try {\n localStorage.setItem(key, JSON.stringify(value));\n } catch (_a) {\n localStorageWarning(key, 'full');\n }\n };\n LocalStorage.prototype.remove = function (key) {\n try {\n return localStorage.removeItem(key);\n } catch (err) {\n localStorageWarning(key, 'unavailable');\n }\n };\n Object.defineProperty(LocalStorage.prototype, \"type\", {\n get: function get() {\n return 'localStorage';\n },\n enumerable: false,\n configurable: true\n });\n return LocalStorage;\n}(Store);\nexport { LocalStorage };\nvar UniversalStorage = /** @class */function () {\n function UniversalStorage(stores, storageOptions) {\n this.storageOptions = storageOptions;\n this.enabledStores = stores;\n }\n UniversalStorage.prototype.getStores = function (storeTypes) {\n var _this = this;\n var stores = [];\n this.enabledStores.filter(function (i) {\n return !storeTypes || (storeTypes === null || storeTypes === void 0 ? void 0 : storeTypes.includes(i));\n }).forEach(function (storeType) {\n var storage = _this.storageOptions[storeType];\n if (storage !== undefined) {\n stores.push(storage);\n }\n });\n return stores;\n };\n /*\n This is to support few scenarios where:\n - value exist in one of the stores ( as a result of other stores being cleared from browser ) and we want to resync them\n - read values in AJS 1.0 format ( for customers after 1.0 --> 2.0 migration ) and then re-write them in AJS 2.0 format\n */\n /**\n * get value for the key from the stores. it will pick the first value found in the stores, and then sync the value to all the stores\n * if the found value is a number, it will be converted to a string. this is to support legacy behavior that existed in AJS 1.0\n * @param key key for the value to be retrieved\n * @param storeTypes optional array of store types to be used for performing get and sync\n * @returns value for the key or null if not found\n */\n UniversalStorage.prototype.getAndSync = function (key, storeTypes) {\n var val = this.get(key, storeTypes);\n // legacy behavior, getAndSync can change the type of a value from number to string (AJS 1.0 stores numerical values as a number)\n var coercedValue = typeof val === 'number' ? val.toString() : val;\n this.set(key, coercedValue, storeTypes);\n return coercedValue;\n };\n /**\n * get value for the key from the stores. it will return the first value found in the stores\n * @param key key for the value to be retrieved\n * @param storeTypes optional array of store types to be used for retrieving the value\n * @returns value for the key or null if not found\n */\n UniversalStorage.prototype.get = function (key, storeTypes) {\n var val = null;\n for (var _i = 0, _a = this.getStores(storeTypes); _i < _a.length; _i++) {\n var store = _a[_i];\n val = store.get(key);\n if (val) {\n return val;\n }\n }\n return null;\n };\n /**\n * it will set the value for the key in all the stores\n * @param key key for the value to be stored\n * @param value value to be stored\n * @param storeTypes optional array of store types to be used for storing the value\n * @returns value that was stored\n */\n UniversalStorage.prototype.set = function (key, value, storeTypes) {\n for (var _i = 0, _a = this.getStores(storeTypes); _i < _a.length; _i++) {\n var store = _a[_i];\n store.set(key, value);\n }\n };\n /**\n * remove the value for the key from all the stores\n * @param key key for the value to be removed\n * @param storeTypes optional array of store types to be used for removing the value\n */\n UniversalStorage.prototype.clear = function (key, storeTypes) {\n for (var _i = 0, _a = this.getStores(storeTypes); _i < _a.length; _i++) {\n var store = _a[_i];\n store.remove(key);\n }\n };\n return UniversalStorage;\n}();\nexport { UniversalStorage };\nexport function getAvailableStorageOptions(cookieOptions) {\n return {\n cookie: Cookie.available() ? new Cookie(cookieOptions) : undefined,\n localStorage: LocalStorage.available() ? new LocalStorage() : undefined,\n memory: new Store()\n };\n}\nvar User = /** @class */function () {\n function User(options, cookieOptions) {\n if (options === void 0) {\n options = defaults;\n }\n var _this = this;\n var _a, _b, _c, _d;\n this.options = {};\n this.id = function (id) {\n if (_this.options.disable) {\n return null;\n }\n var prevId = _this.identityStore.getAndSync(_this.idKey);\n if (id !== undefined) {\n _this.identityStore.set(_this.idKey, id);\n var changingIdentity = id !== prevId && prevId !== null && id !== null;\n if (changingIdentity) {\n _this.anonymousId(null);\n }\n }\n var retId = _this.identityStore.getAndSync(_this.idKey);\n if (retId) return retId;\n var retLeg = _this.legacyUserStore.get(defaults.cookie.oldKey);\n return retLeg ? _typeof(retLeg) === 'object' ? retLeg.id : retLeg : null;\n };\n this.anonymousId = function (id) {\n var _a, _b;\n if (_this.options.disable) {\n return null;\n }\n if (id === undefined) {\n var val = (_a = _this.identityStore.getAndSync(_this.anonKey)) !== null && _a !== void 0 ? _a : (_b = _this.legacySIO()) === null || _b === void 0 ? void 0 : _b[0];\n if (val) {\n return val;\n }\n }\n if (id === null) {\n _this.identityStore.set(_this.anonKey, null);\n return _this.identityStore.getAndSync(_this.anonKey);\n }\n _this.identityStore.set(_this.anonKey, id !== null && id !== void 0 ? id : uuid());\n return _this.identityStore.getAndSync(_this.anonKey);\n };\n this.traits = function (traits) {\n var _a;\n if (_this.options.disable) {\n return;\n }\n if (traits === null) {\n traits = {};\n }\n if (traits) {\n _this.traitsStore.set(_this.traitsKey, traits !== null && traits !== void 0 ? traits : {});\n }\n return (_a = _this.traitsStore.get(_this.traitsKey)) !== null && _a !== void 0 ? _a : {};\n };\n this.options = options;\n this.cookieOptions = cookieOptions;\n this.idKey = (_b = (_a = options.cookie) === null || _a === void 0 ? void 0 : _a.key) !== null && _b !== void 0 ? _b : defaults.cookie.key;\n this.traitsKey = (_d = (_c = options.localStorage) === null || _c === void 0 ? void 0 : _c.key) !== null && _d !== void 0 ? _d : defaults.localStorage.key;\n this.anonKey = 'ajs_anonymous_id';\n var isDisabled = options.disable === true;\n var shouldPersist = options.persist !== false;\n var defaultStorageTargets = isDisabled ? [] : shouldPersist ? ['localStorage', 'cookie', 'memory'] : ['memory'];\n var storageOptions = getAvailableStorageOptions(cookieOptions);\n if (options.localStorageFallbackDisabled) {\n defaultStorageTargets = defaultStorageTargets.filter(function (t) {\n return t !== 'localStorage';\n });\n }\n this.identityStore = new UniversalStorage(defaultStorageTargets, storageOptions);\n // using only cookies for legacy user store\n this.legacyUserStore = new UniversalStorage(defaultStorageTargets.filter(function (t) {\n return t !== 'localStorage' && t !== 'memory';\n }), storageOptions);\n // using only localStorage / memory for traits store\n this.traitsStore = new UniversalStorage(defaultStorageTargets.filter(function (t) {\n return t !== 'cookie';\n }), storageOptions);\n var legacyUser = this.legacyUserStore.get(defaults.cookie.oldKey);\n if (legacyUser && _typeof(legacyUser) === 'object') {\n legacyUser.id && this.id(legacyUser.id);\n legacyUser.traits && this.traits(legacyUser.traits);\n }\n autoBind(this);\n }\n User.prototype.legacySIO = function () {\n var val = this.legacyUserStore.get('_sio');\n if (!val) {\n return null;\n }\n var _a = val.split('----'),\n anon = _a[0],\n user = _a[1];\n return [anon, user];\n };\n User.prototype.identify = function (id, traits) {\n if (this.options.disable) {\n return;\n }\n traits = traits !== null && traits !== void 0 ? traits : {};\n var currentId = this.id();\n if (currentId === null || currentId === id) {\n traits = __assign(__assign({}, this.traits()), traits);\n }\n if (id) {\n this.id(id);\n }\n this.traits(traits);\n };\n User.prototype.logout = function () {\n this.anonymousId(null);\n this.id(null);\n this.traits({});\n };\n User.prototype.reset = function () {\n this.logout();\n this.identityStore.clear(this.idKey);\n this.identityStore.clear(this.anonKey);\n this.traitsStore.clear(this.traitsKey);\n };\n User.prototype.load = function () {\n return new User(this.options, this.cookieOptions);\n };\n User.prototype.save = function () {\n return true;\n };\n User.defaults = defaults;\n return User;\n}();\nexport { User };\nvar groupDefaults = {\n persist: true,\n cookie: {\n key: 'ajs_group_id'\n },\n localStorage: {\n key: 'ajs_group_properties'\n }\n};\nvar Group = /** @class */function (_super) {\n __extends(Group, _super);\n function Group(options, cookie) {\n if (options === void 0) {\n options = groupDefaults;\n }\n var _this = _super.call(this, options, cookie) || this;\n _this.anonymousId = function (_id) {\n return undefined;\n };\n autoBind(_this);\n return _this;\n }\n return Group;\n}(User);\nexport { Group };","\"use strict\";\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar obj_case_1 = __importDefault(require(\"obj-case\"));\nfunction trait(a, b) {\n return function () {\n var traits = this.traits();\n var props = this.properties ? this.properties() : {};\n return obj_case_1[\"default\"](traits, \"address.\" + a) || obj_case_1[\"default\"](traits, a) || (b ? obj_case_1[\"default\"](traits, \"address.\" + b) : null) || (b ? obj_case_1[\"default\"](traits, b) : null) || obj_case_1[\"default\"](props, \"address.\" + a) || obj_case_1[\"default\"](props, a) || (b ? obj_case_1[\"default\"](props, \"address.\" + b) : null) || (b ? obj_case_1[\"default\"](props, b) : null);\n };\n}\nfunction default_1(proto) {\n proto.zip = trait(\"postalCode\", \"zip\");\n proto.country = trait(\"country\");\n proto.street = trait(\"street\");\n proto.state = trait(\"state\");\n proto.city = trait(\"city\");\n proto.region = trait(\"region\");\n}\nexports[\"default\"] = default_1;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.clone = void 0;\nfunction clone(properties) {\n if (_typeof(properties) !== 'object') return properties;\n if (Object.prototype.toString.call(properties) === '[object Object]') {\n var temp = {};\n for (var key in properties) {\n if (Object.prototype.hasOwnProperty.call(properties, key)) {\n temp[key] = clone(properties[key]);\n }\n }\n return temp;\n } else if (Array.isArray(properties)) {\n return properties.map(clone);\n } else {\n return properties;\n }\n}\nexports.clone = clone;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar disabled = {\n Salesforce: true\n};\nfunction default_1(integration) {\n return !disabled[integration];\n}\nexports[\"default\"] = default_1;","\"use strict\";\n\n/**\n * Matcher.\n */\nvar matcher = /\\d{13}/;\n\n/**\n * Check whether a string is a millisecond date string.\n *\n * @param {string} string\n * @return {boolean}\n */\nexports.is = function (string) {\n return matcher.test(string);\n};\n\n/**\n * Convert a millisecond string to a date.\n *\n * @param {string} millis\n * @return {Date}\n */\nexports.parse = function (millis) {\n millis = parseInt(millis, 10);\n return new Date(millis);\n};","\"use strict\";\n\n/**\n * Matcher.\n */\nvar matcher = /\\d{10}/;\n\n/**\n * Check whether a string is a second date string.\n *\n * @param {string} string\n * @return {Boolean}\n */\nexports.is = function (string) {\n return matcher.test(string);\n};\n\n/**\n * Convert a second string to a date.\n *\n * @param {string} seconds\n * @return {Date}\n */\nexports.parse = function (seconds) {\n var millis = parseInt(seconds, 10) * 1000;\n return new Date(millis);\n};","'use strict';\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nvar isodate = require('@segment/isodate');\n\n/**\n * Expose `traverse`.\n */\nmodule.exports = traverse;\n\n/**\n * Recursively traverse an object or array, and convert\n * all ISO date strings parse into Date objects.\n *\n * @param {Object} input - object, array, or string to convert\n * @param {Boolean} strict - only convert strings with year, month, and date\n * @return {Object}\n */\nfunction traverse(input, strict) {\n if (strict === undefined) strict = true;\n if (input && _typeof(input) === 'object') {\n return traverseObject(input, strict);\n } else if (Array.isArray(input)) {\n return traverseArray(input, strict);\n } else if (isodate.is(input, strict)) {\n return isodate.parse(input);\n }\n return input;\n}\n\n/**\n * Object traverser helper function.\n *\n * @param {Object} obj - object to traverse\n * @param {Boolean} strict - only convert strings with year, month, and date\n * @return {Object}\n */\nfunction traverseObject(obj, strict) {\n Object.keys(obj).forEach(function (key) {\n obj[key] = traverse(obj[key], strict);\n });\n return obj;\n}\n\n/**\n * Array traverser helper function\n *\n * @param {Array} arr - array to traverse\n * @param {Boolean} strict - only convert strings with year, month, and date\n * @return {Array}\n */\nfunction traverseArray(arr, strict) {\n arr.forEach(function (value, index) {\n arr[index] = traverse(value, strict);\n });\n return arr;\n}","\"use strict\";\n\nvar __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Delete = exports.Screen = exports.Page = exports.Track = exports.Identify = exports.Group = exports.Alias = exports.Facade = void 0;\nvar facade_1 = require(\"./facade\");\nObject.defineProperty(exports, \"Facade\", {\n enumerable: true,\n get: function get() {\n return facade_1.Facade;\n }\n});\nvar alias_1 = require(\"./alias\");\nObject.defineProperty(exports, \"Alias\", {\n enumerable: true,\n get: function get() {\n return alias_1.Alias;\n }\n});\nvar group_1 = require(\"./group\");\nObject.defineProperty(exports, \"Group\", {\n enumerable: true,\n get: function get() {\n return group_1.Group;\n }\n});\nvar identify_1 = require(\"./identify\");\nObject.defineProperty(exports, \"Identify\", {\n enumerable: true,\n get: function get() {\n return identify_1.Identify;\n }\n});\nvar track_1 = require(\"./track\");\nObject.defineProperty(exports, \"Track\", {\n enumerable: true,\n get: function get() {\n return track_1.Track;\n }\n});\nvar page_1 = require(\"./page\");\nObject.defineProperty(exports, \"Page\", {\n enumerable: true,\n get: function get() {\n return page_1.Page;\n }\n});\nvar screen_1 = require(\"./screen\");\nObject.defineProperty(exports, \"Screen\", {\n enumerable: true,\n get: function get() {\n return screen_1.Screen;\n }\n});\nvar delete_1 = require(\"./delete\");\nObject.defineProperty(exports, \"Delete\", {\n enumerable: true,\n get: function get() {\n return delete_1.Delete;\n }\n});\nexports[\"default\"] = __assign(__assign({}, facade_1.Facade), {\n Alias: alias_1.Alias,\n Group: group_1.Group,\n Identify: identify_1.Identify,\n Track: track_1.Track,\n Page: page_1.Page,\n Screen: screen_1.Screen,\n Delete: delete_1.Delete\n});","\"use strict\";\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Alias = void 0;\nvar inherits_1 = __importDefault(require(\"inherits\"));\nvar facade_1 = require(\"./facade\");\nfunction Alias(dictionary, opts) {\n facade_1.Facade.call(this, dictionary, opts);\n}\nexports.Alias = Alias;\ninherits_1[\"default\"](Alias, facade_1.Facade);\nAlias.prototype.action = function () {\n return \"alias\";\n};\nAlias.prototype.type = Alias.prototype.action;\nAlias.prototype.previousId = function () {\n return this.field(\"previousId\") || this.field(\"from\");\n};\nAlias.prototype.from = Alias.prototype.previousId;\nAlias.prototype.userId = function () {\n return this.field(\"userId\") || this.field(\"to\");\n};\nAlias.prototype.to = Alias.prototype.userId;","\"use strict\";\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Group = void 0;\nvar inherits_1 = __importDefault(require(\"inherits\"));\nvar is_email_1 = __importDefault(require(\"./is-email\"));\nvar new_date_1 = __importDefault(require(\"new-date\"));\nvar facade_1 = require(\"./facade\");\nfunction Group(dictionary, opts) {\n facade_1.Facade.call(this, dictionary, opts);\n}\nexports.Group = Group;\ninherits_1[\"default\"](Group, facade_1.Facade);\nvar g = Group.prototype;\ng.action = function () {\n return \"group\";\n};\ng.type = g.action;\ng.groupId = facade_1.Facade.field(\"groupId\");\ng.created = function () {\n var created = this.proxy(\"traits.createdAt\") || this.proxy(\"traits.created\") || this.proxy(\"properties.createdAt\") || this.proxy(\"properties.created\");\n if (created) return new_date_1[\"default\"](created);\n};\ng.email = function () {\n var email = this.proxy(\"traits.email\");\n if (email) return email;\n var groupId = this.groupId();\n if (is_email_1[\"default\"](groupId)) return groupId;\n};\ng.traits = function (aliases) {\n var ret = this.properties();\n var id = this.groupId();\n aliases = aliases || {};\n if (id) ret.id = id;\n for (var alias in aliases) {\n if (Object.prototype.hasOwnProperty.call(aliases, alias)) {\n var value = this[alias] == null ? this.proxy(\"traits.\" + alias) : this[alias]();\n if (value == null) continue;\n ret[aliases[alias]] = value;\n delete ret[alias];\n }\n }\n return ret;\n};\ng.name = facade_1.Facade.proxy(\"traits.name\");\ng.industry = facade_1.Facade.proxy(\"traits.industry\");\ng.employees = facade_1.Facade.proxy(\"traits.employees\");\ng.properties = function () {\n return this.field(\"traits\") || this.field(\"properties\") || {};\n};","\"use strict\";\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Screen = void 0;\nvar inherits_1 = __importDefault(require(\"inherits\"));\nvar page_1 = require(\"./page\");\nvar track_1 = require(\"./track\");\nfunction Screen(dictionary, opts) {\n page_1.Page.call(this, dictionary, opts);\n}\nexports.Screen = Screen;\ninherits_1[\"default\"](Screen, page_1.Page);\nScreen.prototype.action = function () {\n return \"screen\";\n};\nScreen.prototype.type = Screen.prototype.action;\nScreen.prototype.event = function (name) {\n return name ? \"Viewed \" + name + \" Screen\" : \"Loaded a Screen\";\n};\nScreen.prototype.track = function (name) {\n var json = this.json();\n json.event = this.event(name);\n json.timestamp = this.timestamp();\n json.properties = this.properties();\n return new track_1.Track(json, this.opts);\n};","\"use strict\";\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Delete = void 0;\nvar inherits_1 = __importDefault(require(\"inherits\"));\nvar facade_1 = require(\"./facade\");\nfunction Delete(dictionary, opts) {\n facade_1.Facade.call(this, dictionary, opts);\n}\nexports.Delete = Delete;\ninherits_1[\"default\"](Delete, facade_1.Facade);\nDelete.prototype.type = function () {\n return \"delete\";\n};","export function isString(obj) {\n return typeof obj === 'string';\n}\nexport function isNumber(obj) {\n return typeof obj === 'number';\n}\nexport function isFunction(obj) {\n return typeof obj === 'function';\n}\nexport function exists(val) {\n return val !== undefined && val !== null;\n}\nexport function isPlainObject(obj) {\n return Object.prototype.toString.call(obj).slice(8, -1).toLowerCase() === 'object';\n}","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function TempCtor() {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n };\n}","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Facade = void 0;\nvar address_1 = __importDefault(require(\"./address\"));\nvar clone_1 = require(\"./clone\");\nvar is_enabled_1 = __importDefault(require(\"./is-enabled\"));\nvar new_date_1 = __importDefault(require(\"new-date\"));\nvar obj_case_1 = __importDefault(require(\"obj-case\"));\nvar isodate_traverse_1 = __importDefault(require(\"@segment/isodate-traverse\"));\nfunction Facade(obj, opts) {\n opts = opts || {};\n this.raw = clone_1.clone(obj);\n if (!(\"clone\" in opts)) opts.clone = true;\n if (opts.clone) obj = clone_1.clone(obj);\n if (!(\"traverse\" in opts)) opts.traverse = true;\n if (!(\"timestamp\" in obj)) obj.timestamp = new Date();else obj.timestamp = new_date_1[\"default\"](obj.timestamp);\n if (opts.traverse) isodate_traverse_1[\"default\"](obj);\n this.opts = opts;\n this.obj = obj;\n}\nexports.Facade = Facade;\nvar f = Facade.prototype;\nf.proxy = function (field) {\n var fields = field.split(\".\");\n field = fields.shift();\n var obj = this[field] || this.obj[field];\n if (!obj) return obj;\n if (typeof obj === \"function\") obj = obj.call(this) || {};\n if (fields.length === 0) return this.opts.clone ? transform(obj) : obj;\n obj = obj_case_1[\"default\"](obj, fields.join(\".\"));\n return this.opts.clone ? transform(obj) : obj;\n};\nf.field = function (field) {\n var obj = this.obj[field];\n return this.opts.clone ? transform(obj) : obj;\n};\nFacade.proxy = function (field) {\n return function () {\n return this.proxy(field);\n };\n};\nFacade.field = function (field) {\n return function () {\n return this.field(field);\n };\n};\nFacade.multi = function (path) {\n return function () {\n var multi = this.proxy(path + \"s\");\n if (Array.isArray(multi)) return multi;\n var one = this.proxy(path);\n if (one) one = [this.opts.clone ? clone_1.clone(one) : one];\n return one || [];\n };\n};\nFacade.one = function (path) {\n return function () {\n var one = this.proxy(path);\n if (one) return one;\n var multi = this.proxy(path + \"s\");\n if (Array.isArray(multi)) return multi[0];\n };\n};\nf.json = function () {\n var ret = this.opts.clone ? clone_1.clone(this.obj) : this.obj;\n if (this.type) ret.type = this.type();\n return ret;\n};\nf.rawEvent = function () {\n return this.raw;\n};\nf.options = function (integration) {\n var obj = this.obj.options || this.obj.context || {};\n var options = this.opts.clone ? clone_1.clone(obj) : obj;\n if (!integration) return options;\n if (!this.enabled(integration)) return;\n var integrations = this.integrations();\n var value = integrations[integration] || obj_case_1[\"default\"](integrations, integration);\n if (_typeof(value) !== \"object\") value = obj_case_1[\"default\"](this.options(), integration);\n return _typeof(value) === \"object\" ? value : {};\n};\nf.context = f.options;\nf.enabled = function (integration) {\n var allEnabled = this.proxy(\"options.providers.all\");\n if (typeof allEnabled !== \"boolean\") allEnabled = this.proxy(\"options.all\");\n if (typeof allEnabled !== \"boolean\") allEnabled = this.proxy(\"integrations.all\");\n if (typeof allEnabled !== \"boolean\") allEnabled = true;\n var enabled = allEnabled && is_enabled_1[\"default\"](integration);\n var options = this.integrations();\n if (options.providers && options.providers.hasOwnProperty(integration)) {\n enabled = options.providers[integration];\n }\n if (options.hasOwnProperty(integration)) {\n var settings = options[integration];\n if (typeof settings === \"boolean\") {\n enabled = settings;\n } else {\n enabled = true;\n }\n }\n return !!enabled;\n};\nf.integrations = function () {\n return this.obj.integrations || this.proxy(\"options.providers\") || this.options();\n};\nf.active = function () {\n var active = this.proxy(\"options.active\");\n if (active === null || active === undefined) active = true;\n return active;\n};\nf.anonymousId = function () {\n return this.field(\"anonymousId\") || this.field(\"sessionId\");\n};\nf.sessionId = f.anonymousId;\nf.groupId = Facade.proxy(\"options.groupId\");\nf.traits = function (aliases) {\n var ret = this.proxy(\"options.traits\") || {};\n var id = this.userId();\n aliases = aliases || {};\n if (id) ret.id = id;\n for (var alias in aliases) {\n if (Object.prototype.hasOwnProperty.call(aliases, alias)) {\n var value = this[alias] == null ? this.proxy(\"options.traits.\" + alias) : this[alias]();\n if (value == null) continue;\n ret[aliases[alias]] = value;\n delete ret[alias];\n }\n }\n return ret;\n};\nf.library = function () {\n var library = this.proxy(\"options.library\");\n if (!library) return {\n name: \"unknown\",\n version: null\n };\n if (typeof library === \"string\") return {\n name: library,\n version: null\n };\n return library;\n};\nf.device = function () {\n var device = this.proxy(\"context.device\");\n if (_typeof(device) !== \"object\" || device === null) {\n device = {};\n }\n var library = this.library().name;\n if (device.type) return device;\n if (library.indexOf(\"ios\") > -1) device.type = \"ios\";\n if (library.indexOf(\"android\") > -1) device.type = \"android\";\n return device;\n};\nf.userAgent = Facade.proxy(\"context.userAgent\");\nf.timezone = Facade.proxy(\"context.timezone\");\nf.timestamp = Facade.field(\"timestamp\");\nf.channel = Facade.field(\"channel\");\nf.ip = Facade.proxy(\"context.ip\");\nf.userId = Facade.field(\"userId\");\naddress_1[\"default\"](f);\nfunction transform(obj) {\n return clone_1.clone(obj);\n}","import { __assign, __extends, __spreadArray } from \"tslib\";\nimport { PriorityQueue } from '.';\nimport { Context } from '../../core/context';\nimport { isBrowser } from '../../core/environment';\nvar loc = {\n getItem: function getItem() {},\n setItem: function setItem() {},\n removeItem: function removeItem() {}\n};\ntry {\n loc = isBrowser() && window.localStorage ? window.localStorage : loc;\n} catch (err) {\n console.warn('Unable to access localStorage', err);\n}\nfunction persisted(key) {\n var items = loc.getItem(key);\n return (items ? JSON.parse(items) : []).map(function (p) {\n return new Context(p.event, p.id);\n });\n}\nfunction persistItems(key, items) {\n var existing = persisted(key);\n var all = __spreadArray(__spreadArray([], items, true), existing, true);\n var merged = all.reduce(function (acc, item) {\n var _a;\n return __assign(__assign({}, acc), (_a = {}, _a[item.id] = item, _a));\n }, {});\n loc.setItem(key, JSON.stringify(Object.values(merged)));\n}\nfunction seen(key) {\n var stored = loc.getItem(key);\n return stored ? JSON.parse(stored) : {};\n}\nfunction persistSeen(key, memory) {\n var stored = seen(key);\n loc.setItem(key, JSON.stringify(__assign(__assign({}, stored), memory)));\n}\nfunction remove(key) {\n loc.removeItem(key);\n}\nvar now = function now() {\n return new Date().getTime();\n};\nfunction mutex(key, onUnlock, attempt) {\n if (attempt === void 0) {\n attempt = 0;\n }\n var lockTimeout = 50;\n var lockKey = \"persisted-queue:v1:\".concat(key, \":lock\");\n var expired = function expired(lock) {\n return new Date().getTime() > lock;\n };\n var rawLock = loc.getItem(lockKey);\n var lock = rawLock ? JSON.parse(rawLock) : null;\n var allowed = lock === null || expired(lock);\n if (allowed) {\n loc.setItem(lockKey, JSON.stringify(now() + lockTimeout));\n onUnlock();\n loc.removeItem(lockKey);\n return;\n }\n if (!allowed && attempt < 3) {\n setTimeout(function () {\n mutex(key, onUnlock, attempt + 1);\n }, lockTimeout);\n } else {\n console.error('Unable to retrieve lock');\n }\n}\nvar PersistedPriorityQueue = /** @class */function (_super) {\n __extends(PersistedPriorityQueue, _super);\n function PersistedPriorityQueue(maxAttempts, key) {\n var _this = _super.call(this, maxAttempts, []) || this;\n var itemsKey = \"persisted-queue:v1:\".concat(key, \":items\");\n var seenKey = \"persisted-queue:v1:\".concat(key, \":seen\");\n var saved = [];\n var lastSeen = {};\n mutex(key, function () {\n try {\n saved = persisted(itemsKey);\n lastSeen = seen(seenKey);\n remove(itemsKey);\n remove(seenKey);\n _this.queue = __spreadArray(__spreadArray([], saved, true), _this.queue, true);\n _this.seen = __assign(__assign({}, lastSeen), _this.seen);\n } catch (err) {\n console.error(err);\n }\n });\n window.addEventListener('pagehide', function () {\n // we deliberately want to use the less powerful 'pagehide' API to only persist on events where the analytics instance gets destroyed, and not on tab away.\n if (_this.todo > 0) {\n var items_1 = __spreadArray(__spreadArray([], _this.queue, true), _this.future, true);\n try {\n mutex(key, function () {\n persistItems(itemsKey, items_1);\n persistSeen(seenKey, _this.seen);\n });\n } catch (err) {\n console.error(err);\n }\n }\n });\n return _this;\n }\n return PersistedPriorityQueue;\n}(PriorityQueue);\nexport { PersistedPriorityQueue };","// This an imperfect polyfill for globalThis\nexport var getGlobal = function getGlobal() {\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n }\n if (typeof self !== 'undefined') {\n return self;\n }\n if (typeof window !== 'undefined') {\n return window;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n return null;\n};","var IDX = 256,\n HEX = [],\n BUFFER;\nwhile (IDX--) HEX[IDX] = (IDX + 256).toString(16).substring(1);\nexport function v4() {\n var i = 0,\n num,\n out = '';\n if (!BUFFER || IDX + 16 > 256) {\n BUFFER = Array(i = 256);\n while (i--) BUFFER[i] = 256 * Math.random() | 0;\n i = IDX = 0;\n }\n for (; i < 16; i++) {\n num = BUFFER[IDX + i];\n if (i == 6) out += HEX[num & 15 | 64];else if (i == 8) out += HEX[num & 63 | 128];else out += HEX[num];\n if (i & 1 && i > 1 && i < 11) out += '-';\n }\n IDX++;\n return out;\n}","import { Alias, Facade, Group, Identify, Page, Screen, Track } from '@segment/facade';\nexport function toFacade(evt, options) {\n var fcd = new Facade(evt, options);\n if (evt.type === 'track') {\n fcd = new Track(evt, options);\n }\n if (evt.type === 'identify') {\n fcd = new Identify(evt, options);\n }\n if (evt.type === 'page') {\n fcd = new Page(evt, options);\n }\n if (evt.type === 'alias') {\n fcd = new Alias(evt, options);\n }\n if (evt.type === 'group') {\n fcd = new Group(evt, options);\n }\n if (evt.type === 'screen') {\n fcd = new Screen(evt, options);\n }\n Object.defineProperty(fcd, 'obj', {\n value: evt,\n writable: true\n });\n return fcd;\n}","function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n// https://github.com/farzher/fuzzysort v2.0.4\n/*\r\n SublimeText-like Fuzzy Search\r\n\r\n fuzzysort.single('fs', 'Fuzzy Search') // {score: -16}\r\n fuzzysort.single('test', 'test') // {score: 0}\r\n fuzzysort.single('doesnt exist', 'target') // null\r\n\r\n fuzzysort.go('mr', [{file:'Monitor.cpp'}, {file:'MeshRenderer.cpp'}], {key:'file'})\r\n // [{score:-18, obj:{file:'MeshRenderer.cpp'}}, {score:-6009, obj:{file:'Monitor.cpp'}}]\r\n\r\n fuzzysort.go('mr', ['Monitor.cpp', 'MeshRenderer.cpp'])\r\n // [{score: -18, target: \"MeshRenderer.cpp\"}, {score: -6009, target: \"Monitor.cpp\"}]\r\n\r\n fuzzysort.highlight(fuzzysort.single('fs', 'Fuzzy Search'), '', '')\r\n // Fuzzy Search\r\n*/\n\n// UMD (Universal Module Definition) for fuzzysort\n;\n(function (root, UMD) {\n if (typeof define === 'function' && define.amd) define([], UMD);else if ((typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) === 'object' && module.exports) module.exports = UMD();else root['fuzzysort'] = UMD();\n})(this, function (_) {\n 'use strict';\n\n var single = function single(search, target) {\n if (search == 'farzher') return {\n target: \"farzher was here (^-^*)/\",\n score: 0,\n _indexes: [0]\n };\n if (!search || !target) return NULL;\n var preparedSearch = getPreparedSearch(search);\n if (!isObj(target)) target = getPrepared(target);\n var searchBitflags = preparedSearch.bitflags;\n if ((searchBitflags & target._bitflags) !== searchBitflags) return NULL;\n return algorithm(preparedSearch, target);\n };\n var go = function go(search, targets, options) {\n if (search == 'farzher') return [{\n target: \"farzher was here (^-^*)/\",\n score: 0,\n _indexes: [0],\n obj: targets ? targets[0] : NULL\n }];\n if (!search) return options && options.all ? all(search, targets, options) : noResults;\n var preparedSearch = getPreparedSearch(search);\n var searchBitflags = preparedSearch.bitflags;\n var containsSpace = preparedSearch.containsSpace;\n var threshold = options && options.threshold || INT_MIN;\n var limit = options && options['limit'] || INT_MAX; // for some reason only limit breaks when minified\n\n var resultsLen = 0;\n var limitedCount = 0;\n var targetsLen = targets.length;\n\n // This code is copy/pasted 3 times for performance reasons [options.keys, options.key, no keys]\n\n // options.key\n if (options && options.key) {\n var key = options.key;\n for (var i = 0; i < targetsLen; ++i) {\n var obj = targets[i];\n var target = getValue(obj, key);\n if (!target) continue;\n if (!isObj(target)) target = getPrepared(target);\n if ((searchBitflags & target._bitflags) !== searchBitflags) continue;\n var result = algorithm(preparedSearch, target);\n if (result === NULL) continue;\n if (result.score < threshold) continue;\n\n // have to clone result so duplicate targets from different obj can each reference the correct obj\n result = {\n target: result.target,\n _targetLower: '',\n _targetLowerCodes: NULL,\n _nextBeginningIndexes: NULL,\n _bitflags: 0,\n score: result.score,\n _indexes: result._indexes,\n obj: obj\n }; // hidden\n\n if (resultsLen < limit) {\n q.add(result);\n ++resultsLen;\n } else {\n ++limitedCount;\n if (result.score > q.peek().score) q.replaceTop(result);\n }\n }\n\n // options.keys\n } else if (options && options.keys) {\n var scoreFn = options['scoreFn'] || defaultScoreFn;\n var keys = options.keys;\n var keysLen = keys.length;\n for (var i = 0; i < targetsLen; ++i) {\n var obj = targets[i];\n var objResults = new Array(keysLen);\n for (var keyI = 0; keyI < keysLen; ++keyI) {\n var key = keys[keyI];\n var target = getValue(obj, key);\n if (!target) {\n objResults[keyI] = NULL;\n continue;\n }\n if (!isObj(target)) target = getPrepared(target);\n if ((searchBitflags & target._bitflags) !== searchBitflags) objResults[keyI] = NULL;else objResults[keyI] = algorithm(preparedSearch, target);\n }\n objResults.obj = obj; // before scoreFn so scoreFn can use it\n var score = scoreFn(objResults);\n if (score === NULL) continue;\n if (score < threshold) continue;\n objResults.score = score;\n if (resultsLen < limit) {\n q.add(objResults);\n ++resultsLen;\n } else {\n ++limitedCount;\n if (score > q.peek().score) q.replaceTop(objResults);\n }\n }\n\n // no keys\n } else {\n for (var i = 0; i < targetsLen; ++i) {\n var target = targets[i];\n if (!target) continue;\n if (!isObj(target)) target = getPrepared(target);\n if ((searchBitflags & target._bitflags) !== searchBitflags) continue;\n var result = algorithm(preparedSearch, target);\n if (result === NULL) continue;\n if (result.score < threshold) continue;\n if (resultsLen < limit) {\n q.add(result);\n ++resultsLen;\n } else {\n ++limitedCount;\n if (result.score > q.peek().score) q.replaceTop(result);\n }\n }\n }\n if (resultsLen === 0) return noResults;\n var results = new Array(resultsLen);\n for (var i = resultsLen - 1; i >= 0; --i) results[i] = q.poll();\n results.total = resultsLen + limitedCount;\n return results;\n };\n var highlight = function highlight(result, hOpen, hClose) {\n if (typeof hOpen === 'function') return highlightCallback(result, hOpen);\n if (result === NULL) return NULL;\n if (hOpen === undefined) hOpen = '';\n if (hClose === undefined) hClose = '';\n var highlighted = '';\n var matchesIndex = 0;\n var opened = false;\n var target = result.target;\n var targetLen = target.length;\n var indexes = result._indexes;\n indexes = indexes.slice(0, indexes.len).sort(function (a, b) {\n return a - b;\n });\n for (var i = 0; i < targetLen; ++i) {\n var _char = target[i];\n if (indexes[matchesIndex] === i) {\n ++matchesIndex;\n if (!opened) {\n opened = true;\n highlighted += hOpen;\n }\n if (matchesIndex === indexes.length) {\n highlighted += _char + hClose + target.substr(i + 1);\n break;\n }\n } else {\n if (opened) {\n opened = false;\n highlighted += hClose;\n }\n }\n highlighted += _char;\n }\n return highlighted;\n };\n var highlightCallback = function highlightCallback(result, cb) {\n if (result === NULL) return NULL;\n var target = result.target;\n var targetLen = target.length;\n var indexes = result._indexes;\n indexes = indexes.slice(0, indexes.len).sort(function (a, b) {\n return a - b;\n });\n var highlighted = '';\n var matchI = 0;\n var indexesI = 0;\n var opened = false;\n var result = [];\n for (var i = 0; i < targetLen; ++i) {\n var _char2 = target[i];\n if (indexes[indexesI] === i) {\n ++indexesI;\n if (!opened) {\n opened = true;\n result.push(highlighted);\n highlighted = '';\n }\n if (indexesI === indexes.length) {\n highlighted += _char2;\n result.push(cb(highlighted, matchI++));\n highlighted = '';\n result.push(target.substr(i + 1));\n break;\n }\n } else {\n if (opened) {\n opened = false;\n result.push(cb(highlighted, matchI++));\n highlighted = '';\n }\n }\n highlighted += _char2;\n }\n return result;\n };\n var indexes = function indexes(result) {\n return result._indexes.slice(0, result._indexes.len).sort(function (a, b) {\n return a - b;\n });\n };\n var prepare = function prepare(target) {\n if (typeof target !== 'string') target = '';\n var info = prepareLowerInfo(target);\n return {\n 'target': target,\n _targetLower: info._lower,\n _targetLowerCodes: info.lowerCodes,\n _nextBeginningIndexes: NULL,\n _bitflags: info.bitflags,\n 'score': NULL,\n _indexes: [0],\n 'obj': NULL\n }; // hidden\n };\n\n // Below this point is only internal code\n // Below this point is only internal code\n // Below this point is only internal code\n // Below this point is only internal code\n\n var prepareSearch = function prepareSearch(search) {\n if (typeof search !== 'string') search = '';\n search = search.trim();\n var info = prepareLowerInfo(search);\n var spaceSearches = [];\n if (info.containsSpace) {\n var searches = search.split(/\\s+/);\n searches = _toConsumableArray(new Set(searches)); // distinct\n for (var i = 0; i < searches.length; i++) {\n if (searches[i] === '') continue;\n var _info = prepareLowerInfo(searches[i]);\n spaceSearches.push({\n lowerCodes: _info.lowerCodes,\n _lower: searches[i].toLowerCase(),\n containsSpace: false\n });\n }\n }\n return {\n lowerCodes: info.lowerCodes,\n bitflags: info.bitflags,\n containsSpace: info.containsSpace,\n _lower: info._lower,\n spaceSearches: spaceSearches\n };\n };\n var getPrepared = function getPrepared(target) {\n if (target.length > 999) return prepare(target); // don't cache huge targets\n var targetPrepared = preparedCache.get(target);\n if (targetPrepared !== undefined) return targetPrepared;\n targetPrepared = prepare(target);\n preparedCache.set(target, targetPrepared);\n return targetPrepared;\n };\n var getPreparedSearch = function getPreparedSearch(search) {\n if (search.length > 999) return prepareSearch(search); // don't cache huge searches\n var searchPrepared = preparedSearchCache.get(search);\n if (searchPrepared !== undefined) return searchPrepared;\n searchPrepared = prepareSearch(search);\n preparedSearchCache.set(search, searchPrepared);\n return searchPrepared;\n };\n var all = function all(search, targets, options) {\n var results = [];\n results.total = targets.length;\n var limit = options && options.limit || INT_MAX;\n if (options && options.key) {\n for (var i = 0; i < targets.length; i++) {\n var obj = targets[i];\n var target = getValue(obj, options.key);\n if (!target) continue;\n if (!isObj(target)) target = getPrepared(target);\n target.score = INT_MIN;\n target._indexes.len = 0;\n var result = target;\n result = {\n target: result.target,\n _targetLower: '',\n _targetLowerCodes: NULL,\n _nextBeginningIndexes: NULL,\n _bitflags: 0,\n score: target.score,\n _indexes: NULL,\n obj: obj\n }; // hidden\n results.push(result);\n if (results.length >= limit) return results;\n }\n } else if (options && options.keys) {\n for (var i = 0; i < targets.length; i++) {\n var obj = targets[i];\n var objResults = new Array(options.keys.length);\n for (var keyI = options.keys.length - 1; keyI >= 0; --keyI) {\n var target = getValue(obj, options.keys[keyI]);\n if (!target) {\n objResults[keyI] = NULL;\n continue;\n }\n if (!isObj(target)) target = getPrepared(target);\n target.score = INT_MIN;\n target._indexes.len = 0;\n objResults[keyI] = target;\n }\n objResults.obj = obj;\n objResults.score = INT_MIN;\n results.push(objResults);\n if (results.length >= limit) return results;\n }\n } else {\n for (var i = 0; i < targets.length; i++) {\n var target = targets[i];\n if (!target) continue;\n if (!isObj(target)) target = getPrepared(target);\n target.score = INT_MIN;\n target._indexes.len = 0;\n results.push(target);\n if (results.length >= limit) return results;\n }\n }\n return results;\n };\n var algorithm = function algorithm(preparedSearch, prepared) {\n var allowSpaces = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n if (allowSpaces === false && preparedSearch.containsSpace) return algorithmSpaces(preparedSearch, prepared);\n var searchLower = preparedSearch._lower;\n var searchLowerCodes = preparedSearch.lowerCodes;\n var searchLowerCode = searchLowerCodes[0];\n var targetLowerCodes = prepared._targetLowerCodes;\n var searchLen = searchLowerCodes.length;\n var targetLen = targetLowerCodes.length;\n var searchI = 0; // where we at\n var targetI = 0; // where you at\n var matchesSimpleLen = 0;\n\n // very basic fuzzy match; to remove non-matching targets ASAP!\n // walk through target. find sequential matches.\n // if all chars aren't found then exit\n for (;;) {\n var isMatch = searchLowerCode === targetLowerCodes[targetI];\n if (isMatch) {\n matchesSimple[matchesSimpleLen++] = targetI;\n ++searchI;\n if (searchI === searchLen) break;\n searchLowerCode = searchLowerCodes[searchI];\n }\n ++targetI;\n if (targetI >= targetLen) return NULL; // Failed to find searchI\n }\n\n var searchI = 0;\n var successStrict = false;\n var matchesStrictLen = 0;\n var nextBeginningIndexes = prepared._nextBeginningIndexes;\n if (nextBeginningIndexes === NULL) nextBeginningIndexes = prepared._nextBeginningIndexes = prepareNextBeginningIndexes(prepared.target);\n var firstPossibleI = targetI = matchesSimple[0] === 0 ? 0 : nextBeginningIndexes[matchesSimple[0] - 1];\n\n // Our target string successfully matched all characters in sequence!\n // Let's try a more advanced and strict test to improve the score\n // only count it as a match if it's consecutive or a beginning character!\n var backtrackCount = 0;\n if (targetI !== targetLen) for (;;) {\n if (targetI >= targetLen) {\n // We failed to find a good spot for this search char, go back to the previous search char and force it forward\n if (searchI <= 0) break; // We failed to push chars forward for a better match\n\n ++backtrackCount;\n if (backtrackCount > 200) break; // exponential backtracking is taking too long, just give up and return a bad match\n\n --searchI;\n var lastMatch = matchesStrict[--matchesStrictLen];\n targetI = nextBeginningIndexes[lastMatch];\n } else {\n var isMatch = searchLowerCodes[searchI] === targetLowerCodes[targetI];\n if (isMatch) {\n matchesStrict[matchesStrictLen++] = targetI;\n ++searchI;\n if (searchI === searchLen) {\n successStrict = true;\n break;\n }\n ++targetI;\n } else {\n targetI = nextBeginningIndexes[targetI];\n }\n }\n }\n\n // check if it's a substring match\n var substringIndex = prepared._targetLower.indexOf(searchLower, matchesSimple[0]); // perf: this is slow\n var isSubstring = ~substringIndex;\n if (isSubstring && !successStrict) {\n // rewrite the indexes from basic to the substring\n for (var i = 0; i < matchesSimpleLen; ++i) matchesSimple[i] = substringIndex + i;\n }\n var isSubstringBeginning = false;\n if (isSubstring) {\n isSubstringBeginning = prepared._nextBeginningIndexes[substringIndex - 1] === substringIndex;\n }\n {\n // tally up the score & keep track of matches for highlighting later\n if (successStrict) {\n var matchesBest = matchesStrict;\n var matchesBestLen = matchesStrictLen;\n } else {\n var matchesBest = matchesSimple;\n var matchesBestLen = matchesSimpleLen;\n }\n var score = 0;\n var extraMatchGroupCount = 0;\n for (var i = 1; i < searchLen; ++i) {\n if (matchesBest[i] - matchesBest[i - 1] !== 1) {\n score -= matchesBest[i];\n ++extraMatchGroupCount;\n }\n }\n var unmatchedDistance = matchesBest[searchLen - 1] - matchesBest[0] - (searchLen - 1);\n score -= (12 + unmatchedDistance) * extraMatchGroupCount; // penality for more groups\n\n if (matchesBest[0] !== 0) score -= matchesBest[0] * matchesBest[0] * .2; // penality for not starting near the beginning\n\n if (!successStrict) {\n score *= 1000;\n } else {\n // successStrict on a target with too many beginning indexes loses points for being a bad target\n var uniqueBeginningIndexes = 1;\n for (var i = nextBeginningIndexes[0]; i < targetLen; i = nextBeginningIndexes[i]) ++uniqueBeginningIndexes;\n if (uniqueBeginningIndexes > 24) score *= (uniqueBeginningIndexes - 24) * 10; // quite arbitrary numbers here ...\n }\n\n if (isSubstring) score /= 1 + searchLen * searchLen * 1; // bonus for being a full substring\n if (isSubstringBeginning) score /= 1 + searchLen * searchLen * 1; // bonus for substring starting on a beginningIndex\n\n score -= targetLen - searchLen; // penality for longer targets\n prepared.score = score;\n for (var i = 0; i < matchesBestLen; ++i) prepared._indexes[i] = matchesBest[i];\n prepared._indexes.len = matchesBestLen;\n return prepared;\n }\n };\n var algorithmSpaces = function algorithmSpaces(preparedSearch, target) {\n var seen_indexes = new Set();\n var score = 0;\n var result = NULL;\n var first_seen_index_last_search = 0;\n var searches = preparedSearch.spaceSearches;\n for (var i = 0; i < searches.length; ++i) {\n var search = searches[i];\n result = algorithm(search, target);\n if (result === NULL) return NULL;\n score += result.score;\n\n // dock points based on order otherwise \"c man\" returns Manifest.cpp instead of CheatManager.h\n if (result._indexes[0] < first_seen_index_last_search) {\n score -= first_seen_index_last_search - result._indexes[0];\n }\n first_seen_index_last_search = result._indexes[0];\n for (var j = 0; j < result._indexes.len; ++j) seen_indexes.add(result._indexes[j]);\n }\n\n // allows a search with spaces that's an exact substring to score well\n var allowSpacesResult = algorithm(preparedSearch, target, /*allowSpaces=*/true);\n if (allowSpacesResult !== NULL && allowSpacesResult.score > score) {\n return allowSpacesResult;\n }\n result.score = score;\n var i = 0;\n var _iterator = _createForOfIteratorHelper(seen_indexes),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var index = _step.value;\n result._indexes[i++] = index;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n result._indexes.len = i;\n return result;\n };\n var prepareLowerInfo = function prepareLowerInfo(str) {\n var strLen = str.length;\n var lower = str.toLowerCase();\n var lowerCodes = []; // new Array(strLen) sparse array is too slow\n var bitflags = 0;\n var containsSpace = false; // space isn't stored in bitflags because of how searching with a space works\n\n for (var i = 0; i < strLen; ++i) {\n var lowerCode = lowerCodes[i] = lower.charCodeAt(i);\n if (lowerCode === 32) {\n containsSpace = true;\n continue; // it's important that we don't set any bitflags for space\n }\n\n var bit = lowerCode >= 97 && lowerCode <= 122 ? lowerCode - 97 // alphabet\n : lowerCode >= 48 && lowerCode <= 57 ? 26 // numbers\n // 3 bits available\n : lowerCode <= 127 ? 30 // other ascii\n : 31; // other utf8\n bitflags |= 1 << bit;\n }\n return {\n lowerCodes: lowerCodes,\n bitflags: bitflags,\n containsSpace: containsSpace,\n _lower: lower\n };\n };\n var prepareBeginningIndexes = function prepareBeginningIndexes(target) {\n var targetLen = target.length;\n var beginningIndexes = [];\n var beginningIndexesLen = 0;\n var wasUpper = false;\n var wasAlphanum = false;\n for (var i = 0; i < targetLen; ++i) {\n var targetCode = target.charCodeAt(i);\n var isUpper = targetCode >= 65 && targetCode <= 90;\n var isAlphanum = isUpper || targetCode >= 97 && targetCode <= 122 || targetCode >= 48 && targetCode <= 57;\n var isBeginning = isUpper && !wasUpper || !wasAlphanum || !isAlphanum;\n wasUpper = isUpper;\n wasAlphanum = isAlphanum;\n if (isBeginning) beginningIndexes[beginningIndexesLen++] = i;\n }\n return beginningIndexes;\n };\n var prepareNextBeginningIndexes = function prepareNextBeginningIndexes(target) {\n var targetLen = target.length;\n var beginningIndexes = prepareBeginningIndexes(target);\n var nextBeginningIndexes = []; // new Array(targetLen) sparse array is too slow\n var lastIsBeginning = beginningIndexes[0];\n var lastIsBeginningI = 0;\n for (var i = 0; i < targetLen; ++i) {\n if (lastIsBeginning > i) {\n nextBeginningIndexes[i] = lastIsBeginning;\n } else {\n lastIsBeginning = beginningIndexes[++lastIsBeginningI];\n nextBeginningIndexes[i] = lastIsBeginning === undefined ? targetLen : lastIsBeginning;\n }\n }\n return nextBeginningIndexes;\n };\n var cleanup = function cleanup() {\n preparedCache.clear();\n preparedSearchCache.clear();\n matchesSimple = [];\n matchesStrict = [];\n };\n var preparedCache = new Map();\n var preparedSearchCache = new Map();\n var matchesSimple = [];\n var matchesStrict = [];\n\n // for use with keys. just returns the maximum score\n var defaultScoreFn = function defaultScoreFn(a) {\n var max = INT_MIN;\n var len = a.length;\n for (var i = 0; i < len; ++i) {\n var result = a[i];\n if (result === NULL) continue;\n var score = result.score;\n if (score > max) max = score;\n }\n if (max === INT_MIN) return NULL;\n return max;\n };\n\n // prop = 'key' 2.5ms optimized for this case, seems to be about as fast as direct obj[prop]\n // prop = 'key1.key2' 10ms\n // prop = ['key1', 'key2'] 27ms\n var getValue = function getValue(obj, prop) {\n var tmp = obj[prop];\n if (tmp !== undefined) return tmp;\n var segs = prop;\n if (!Array.isArray(prop)) segs = prop.split('.');\n var len = segs.length;\n var i = -1;\n while (obj && ++i < len) obj = obj[segs[i]];\n return obj;\n };\n var isObj = function isObj(x) {\n return _typeof(x) === 'object';\n }; // faster as a function\n // var INT_MAX = 9007199254740991; var INT_MIN = -INT_MAX\n var INT_MAX = Infinity;\n var INT_MIN = -INT_MAX;\n var noResults = [];\n noResults.total = 0;\n var NULL = null;\n\n // Hacked version of https://github.com/lemire/FastPriorityQueue.js\n var fastpriorityqueue = function fastpriorityqueue(r) {\n var e = [],\n o = 0,\n a = {},\n v = function v(r) {\n for (var a = 0, v = e[a], c = 1; c < o;) {\n var s = c + 1;\n a = c, s < o && e[s].score < e[c].score && (a = s), e[a - 1 >> 1] = e[a], c = 1 + (a << 1);\n }\n for (var f = a - 1 >> 1; a > 0 && v.score < e[f].score; f = (a = f) - 1 >> 1) e[a] = e[f];\n e[a] = v;\n };\n return a.add = function (r) {\n var a = o;\n e[o++] = r;\n for (var v = a - 1 >> 1; a > 0 && r.score < e[v].score; v = (a = v) - 1 >> 1) e[a] = e[v];\n e[a] = r;\n }, a.poll = function (r) {\n if (0 !== o) {\n var a = e[0];\n return e[0] = e[--o], v(), a;\n }\n }, a.peek = function (r) {\n if (0 !== o) return e[0];\n }, a.replaceTop = function (r) {\n e[0] = r, v();\n }, a;\n };\n var q = fastpriorityqueue(); // reuse this\n\n // fuzzysort is written this way for minification. all names are mangeled unless quoted\n return {\n 'single': single,\n 'go': go,\n 'highlight': highlight,\n 'prepare': prepare,\n 'indexes': indexes,\n 'cleanup': cleanup\n };\n}); // UMD\n\n// TODO: (feature) frecency\n// TODO: (perf) use different sorting algo depending on the # of results?\n// TODO: (perf) preparedCache is a memory leak\n// TODO: (like sublime) backslash === forwardslash\n// TODO: (perf) prepareSearch seems slow","// This variable is used as an optional fallback for when customers\n// host or proxy their own analytics.js.\ntry {\n window.analyticsWriteKey = '__WRITE_KEY__';\n} catch (_) {\n // @ eslint-disable-next-line\n}\nexport function embeddedWriteKey() {\n if (window.analyticsWriteKey === undefined) {\n return undefined;\n }\n // this is done so that we don't accidentally override every reference to __write_key__\n return window.analyticsWriteKey !== ['__', 'WRITE', '_', 'KEY', '__'].join('') ? window.analyticsWriteKey : undefined;\n}","import { embeddedWriteKey } from './embedded-write-key';\nvar analyticsScriptRegex = /(https:\\/\\/.*)\\/analytics\\.js\\/v1\\/(?:.*?)\\/(?:platform|analytics.*)?/;\nvar getCDNUrlFromScriptTag = function getCDNUrlFromScriptTag() {\n var cdn;\n var scripts = Array.prototype.slice.call(document.querySelectorAll('script'));\n scripts.forEach(function (s) {\n var _a;\n var src = (_a = s.getAttribute('src')) !== null && _a !== void 0 ? _a : '';\n var result = analyticsScriptRegex.exec(src);\n if (result && result[1]) {\n cdn = result[1];\n }\n });\n return cdn;\n};\nvar _globalCDN; // set globalCDN as in-memory singleton\nvar getGlobalCDNUrl = function getGlobalCDNUrl() {\n var _a;\n var result = _globalCDN !== null && _globalCDN !== void 0 ? _globalCDN : (_a = window.analytics) === null || _a === void 0 ? void 0 : _a._cdn;\n return result;\n};\nexport var setGlobalCDNUrl = function setGlobalCDNUrl(cdn) {\n if (window.analytics) {\n window.analytics._cdn = cdn;\n }\n _globalCDN = cdn;\n};\nexport var getCDN = function getCDN() {\n var globalCdnUrl = getGlobalCDNUrl();\n if (globalCdnUrl) return globalCdnUrl;\n var cdnFromScriptTag = getCDNUrlFromScriptTag();\n if (cdnFromScriptTag) {\n return cdnFromScriptTag;\n } else {\n // it's possible that the CDN is not found in the page because:\n // - the script is loaded through a proxy\n // - the script is removed after execution\n // in this case, we fall back to the default Segment CDN\n return \"https://cdn.segment.com\";\n }\n};\nexport var getNextIntegrationsURL = function getNextIntegrationsURL() {\n var cdn = getCDN();\n return \"\".concat(cdn, \"/next-integrations\");\n};\n/**\n * Replaces the CDN URL in the script tag with the one from Analytics.js 1.0\n *\n * @returns the path to Analytics JS 1.0\n **/\nexport function getLegacyAJSPath() {\n var _a, _b;\n var writeKey = (_a = embeddedWriteKey()) !== null && _a !== void 0 ? _a : window.analytics._writeKey;\n var scripts = Array.prototype.slice.call(document.querySelectorAll('script'));\n var path = undefined;\n for (var _i = 0, scripts_1 = scripts; _i < scripts_1.length; _i++) {\n var s = scripts_1[_i];\n var src = (_b = s.getAttribute('src')) !== null && _b !== void 0 ? _b : '';\n var result = analyticsScriptRegex.exec(src);\n if (result && result[1]) {\n path = src;\n break;\n }\n }\n if (path) {\n return path.replace('analytics.min.js', 'analytics.classic.js');\n }\n return \"https://cdn.segment.com/analytics.js/v1/\".concat(writeKey, \"/analytics.classic.js\");\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nexport function dset(obj, keys, val) {\n keys.split && (keys = keys.split('.'));\n var i = 0,\n l = keys.length,\n t = obj,\n x,\n k;\n while (i < l) {\n k = keys[i++];\n if (k === '__proto__' || k === 'constructor' || k === 'prototype') break;\n t = t[k] = i === l ? val : _typeof(x = t[k]) === _typeof(keys) ? x : keys[i] * 0 !== 0 || !!~('' + keys[i]).indexOf('.') ? {} : [];\n }\n}","export default function bindAll(obj) {\n var proto = obj.constructor.prototype;\n for (var _i = 0, _a = Object.getOwnPropertyNames(proto); _i < _a.length; _i++) {\n var key = _a[_i];\n if (key !== 'constructor') {\n var desc = Object.getOwnPropertyDescriptor(obj.constructor.prototype, key);\n if (!!desc && typeof desc.value === 'function') {\n obj[key] = obj[key].bind(obj);\n }\n }\n }\n return obj;\n}","import { track } from '../utils/analytics.js'\n\n// get brand from json metadata\n\nconst brandJson = document.querySelector('#structured-data')\nlet brandContext\nif (brandJson) {\n try {\n brandContext = JSON.parse(brandJson.textContent)\n } catch (e) {\n console.log(e)\n }\n}\n\n// filter clicks\n\nconst filtersForm = document.querySelector('#filter')\n\nif (filtersForm) {\n filtersForm.addEventListener('change', (e) => {\n const label = document.querySelector('label[for=' + e.target.id + ']')\n track('directoryFilter_clicked', {\n object: 'directoryFilter',\n action: 'clicked',\n subject_name: label.innerText,\n subject_value: e.target.checked ? 'checked' : 'unchecked',\n subject_type: e.target.name\n })\n })\n}\n\n// brand card clicks\n\nconst cards = document.querySelectorAll('a.Card')\n\nif (cards) {\n cards.forEach((card) => {\n card.addEventListener('click', (e) => {\n // get currently checked filters when brand card is clicked\n const subjectTypes = []\n const subjectValues = []\n const checkedFilters = filtersForm.querySelectorAll('input:checked')\n checkedFilters.forEach((filter) => {\n const label = document.querySelector('label[for=' + filter.id + ']')\n subjectTypes.push(filter.name)\n subjectValues.push(label.innerText)\n })\n track('brandCard_clicked', {\n object: card.dataset.object,\n action: 'clicked',\n brand_name: e.currentTarget.dataset.brandName,\n subject_name: 'filters_checked',\n subject_type: subjectValues.join(', '),\n subject_value: subjectTypes.join(', ')\n })\n })\n })\n}\n\n// retailer link clicks\n\nconst retailerLinks = document.querySelectorAll('#retailer-links a')\n\nif (retailerLinks) {\n retailerLinks.forEach((link) => {\n link.addEventListener('click', (e) => {\n track('retailerLink_clicked', {\n object: 'retailerLink',\n action: 'clicked',\n brand_name: brandContext.name,\n subject_name: e.currentTarget.innerText,\n subject_value: e.currentTarget.href\n })\n })\n })\n}\n\n// shop this brand clicks\n\nconst shopThisBrandCTA = document.querySelector('a[href^=\"#retailer-links\"]')\n\nif (shopThisBrandCTA) {\n shopThisBrandCTA.addEventListener('click', (e) => {\n track('shopBrandLink_clicked', {\n object: 'shopBrandLink',\n action: 'clicked',\n brand_name: brandContext.name,\n subject_value: e.currentTarget.href\n })\n })\n}\n\n// proof point clicks\n\nconst proofPoints = document.querySelectorAll(\"button[data-type='proofpoint']\")\n\nif (proofPoints) {\n proofPoints.forEach((proofPoint) => {\n proofPoint.addEventListener('click', () => {\n track('proofpoint_clicked', {\n object: 'proofpoint',\n action: 'clicked',\n context: 'directoryBrandProfile',\n brand_name: proofPoint.dataset.brandName,\n subject_name: proofPoint.dataset.subjectName,\n subject_value: proofPoint.dataset.name\n })\n })\n })\n}\n\nconst brandSearchBar = document.querySelector('#brand-search')\nlet trackEventFired = false\n\nif (brandSearchBar) {\n brandSearchBar.addEventListener('input', debounce(() => {\n if (!trackEventFired) {\n trackEventFired = true\n const subjectValue = brandSearchBar.value\n const brandNames = []\n const searchResultCards = document.querySelectorAll(\"[class='Card']\")\n searchResultCards.forEach(card => {\n brandNames.push(card.dataset.brandName)\n })\n track('brandSearchBar_query', {\n object: 'brandSearchBar',\n action: 'query',\n subject_name: 'queryString',\n subject_value: subjectValue,\n brand_names: brandNames.join(', ')\n })\n trackEventFired = false // reset the flag to allow the track event to be fired again\n }\n }, 1000)) // delay the tracking by 1 second (1000 milliseconds)\n}\n\n// used to avoid event being fired more than once during 1 second delay\nfunction debounce (callback, delay) {\n let timer\n return function () {\n clearTimeout(timer)\n timer = setTimeout(callback, delay)\n }\n}\n","/* eslint-disable no-unused-vars */\n\nimport fuzzysort from 'fuzzysort'\n\nconst MARGIN_BETWEEN_CARDS = 12\nconst MARGIN_BUFFER = 32\nconst form = document.getElementById('filter')\nconst filterToggle = document.querySelector('.FilterToggle')\nconst productCheckboxes = form.elements.product || []\nconst impactCheckboxes = form.elements.impact || []\nconst retailerCheckboxes = form.elements.retailer || []\nconst noResultsEl = document.querySelector('.FilterNoResults')\nconst resetFiltersEl = document.querySelector('[data-reset-filters]')\nconst resetAllEl = document.querySelector('[type=\"reset\"]')\nconst cardList = document.querySelectorAll('.Card')\nconst listEl = cardList[0].parentNode\nconst hero = document.querySelector('.DirectoryHeroHeader')\nconst summaryCount = document.querySelector('summary-count')\n\nconst brandNames = Array.from(document.querySelectorAll('.Card-heading'), el => el.textContent)\n// This should help performance as per fuzzysort README. Prepare targets upfront since brand names won't change\nbrandNames.forEach(n => fuzzysort.prepare(n))\n\ndocument.getElementById('brand-search').addEventListener('input', handleSearchInput)\nform.addEventListener('change', handleFormChange)\nform.addEventListener('reset', handleFormReset)\nresetFiltersEl.addEventListener('click', resetAllFormFilters)\n\nform.querySelectorAll('label').forEach(el => {\n el.addEventListener('keydown', handleTagToggle)\n})\n\n// We are on mobile. Close the filters\nif (innerWidth < 640) filterToggle.open = false\n\nfunction handleSearchInput (evt) {\n const search = evt.target.value\n const searchResult = fuzzysort.go(search, brandNames, {\n all: true, // If true, returns all results for an empty search\n limit: 50 // Don't return more results than you need!\n })\n filterList({ searchResult, productIds: [], impactIds: [], retailerIds: [] })\n}\n\nfunction handleTagToggle (evt) {\n const { target, key } = evt\n const checkbox = target.previousElementSibling\n\n // Make tag labels accessible\n if (key === 'Enter' || key === ' ') {\n checkbox.checked = !checkbox.checked\n\n // Redisplay the list\n handleFormChange(evt)\n }\n}\n\nfunction handleFormChange (evt) {\n const productIds = getSelectedIds(productCheckboxes)\n const impactIds = getSelectedIds(impactCheckboxes)\n const retailerIds = getSelectedIds(retailerCheckboxes)\n const newState = { productIds, impactIds, retailerIds }\n\n filterList(newState)\n}\n\nconst initialState = { productIds: [], impactIds: [], retailerIds: [] }\n\nfunction handleFormReset (_evt) {\n // Hide the No Results message\n showNoResultsMessageIf(false)\n\n // Redisplay the list at its initial state\n filterList(initialState)\n\n // Disable the reset button\n resetAllEl.disabled = true\n}\n\nfunction getSelectedIds (inputs) {\n const ids = []\n for (const cb of inputs.values()) {\n if (cb.checked) {\n ids.push(cb.value)\n }\n }\n return ids\n}\n\nfunction filterList ({ searchResult, productIds, impactIds, retailerIds }) {\n const { height } = cardList[0].getBoundingClientRect()\n const cardHeight = height + MARGIN_BETWEEN_CARDS\n\n let posCounter = 0\n let resultsCount = 0\n\n cardList.forEach(el => {\n const nameEl = el.querySelector('.Card-heading')\n const name = stripHTMLTags(nameEl.textContent)\n\n // Find the search result item if present\n const item = (searchResult || []).find(i => name.includes(i.target))\n\n if (item) {\n const currentPos = Array.prototype.indexOf.call(cardList, el)\n const newPos = searchResult.findIndex(i => i === item)\n const offset = calcOffset(cardHeight, currentPos, newPos)\n showCard(el, offset)\n const highlightedHTMLString = fuzzysort.highlight(item, '', '')\n nameEl.innerHTML = highlightedHTMLString\n } else if (!searchResult && isMatch(el, productIds, impactIds, retailerIds)) {\n const currentPos = Array.prototype.indexOf.call(cardList, el)\n const newPos = posCounter++\n const offset = calcOffset(cardHeight, currentPos, newPos)\n showCard(el, offset)\n resultsCount++\n } else {\n hideCard(el)\n if (searchResult) {\n // It was a search, but this card wasn't a match. Remove potential text highlighting\n nameEl.textContent = name\n }\n }\n })\n\n scrollToTop()\n resetListHeight(cardHeight)\n showNoResultsMessageIf((searchResult && searchResult.total === 0) || (!searchResult && resultsCount === 0))\n resetAllEl.disabled = false\n updateResultsCounter((searchResult && searchResult.total) || resultsCount)\n}\n\n/**\n * A predicate function that returns true if the Card has\n * any of the specified IDs; false otherwise.\n * @param {HTMLElement} element a .Card element\n * @param {number[]} productIds an array of product category IDs to match against the element\n * @param {number[]} impactIds an array of impact category IDs to match against the element\n * @param {number[]} retailerIds an array of retailer IDs to match against the element\n * @returns {boolean} true if the element is a subset of the specified IDs\n */\nfunction isMatch (element, productIds, impactIds, retailerIds) {\n const {\n productIds: productCategoryIds,\n impactIds: impactCategoryIds,\n retailerIds: retailerCategoryIds\n } = element.dataset\n\n return matches(productCategoryIds.split(','), productIds) &&\n matches(impactCategoryIds.split(','), impactIds) &&\n matches(retailerCategoryIds.split(','), retailerIds)\n}\n\nfunction matches (ids, selectedIds) {\n if (selectedIds.length === 0) return true\n\n return isSubsetOf(selectedIds, ids)\n}\n\nfunction isSubsetOf (a, b) {\n return a.every(x => b.includes(x))\n}\n\nfunction resetAllFormFilters (e) {\n // Hide the No Results message\n showNoResultsMessageIf(false)\n\n // Reset tags and themes\n form.reset()\n\n // Redisplay the list at its initial state\n handleFormChange(e)\n}\n\n// Scrolls to the top of the page, after the hero header\nfunction scrollToTop () {\n document.body.scrollTop = hero.clientHeight // For Safari\n document.documentElement.scrollTop = hero.clientHeight // For Chrome, Firefox, IE and Opera\n}\n\n// Set the list height to avoid a big empty gap at the bottom\nfunction resetListHeight (cardHeight) {\n const len = document.querySelectorAll('.Card:not(.transparent)').length\n const newListHeight = MARGIN_BUFFER + len * cardHeight\n listEl.style.height = newListHeight + 'px'\n}\n\nfunction showNoResultsMessageIf (condition) {\n noResultsEl.hidden = !condition\n}\n\nfunction stripHTMLTags (str) {\n return str.replace(/(<([^>]+)>)/gi, '')\n}\n\nfunction updateResultsCounter (num) {\n summaryCount.innerText = `${num} result${num === 1 ? '' : 's'}`\n}\n\nfunction showCard (el, offset) {\n el.classList.remove('transparent')\n el.style.transform = `translate(0, ${offset}px)`\n}\n\nfunction hideCard (el) {\n el.classList.add('transparent')\n el.style.transform = 'none'\n}\n\n/**\n * Calculates the distance of a list item from the top of the list.\n * @param {number} itemHeight the height of the item, in pixels\n * @param {number} currentPosition a progressive numerical index, e.g. 1 is first, 2 is second, etc.\n * @param {number} newPosition a progressive numerical index, e.g. 1 is first, 2 is second, etc.\n * @returns {number} the offset, in pixels\n */\nfunction calcOffset (itemHeight, currentPosition, newPosition) {\n const posOffset = currentPosition - newPosition\n return posOffset > currentPosition ? posOffset * itemHeight : -posOffset * itemHeight\n}\n","import { __awaiter, __generator } from \"tslib\";\nimport { CoreContext, ContextCancelation } from '../context';\nfunction tryAsync(fn) {\n return __awaiter(this, void 0, void 0, function () {\n var err_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2,, 3]);\n return [4 /*yield*/, fn()];\n case 1:\n return [2 /*return*/, _a.sent()];\n case 2:\n err_1 = _a.sent();\n return [2 /*return*/, Promise.reject(err_1)];\n case 3:\n return [2 /*return*/];\n }\n });\n });\n}\n\nexport function attempt(ctx, plugin) {\n ctx.log('debug', 'plugin', {\n plugin: plugin.name\n });\n var start = new Date().getTime();\n var hook = plugin[ctx.event.type];\n if (hook === undefined) {\n return Promise.resolve(ctx);\n }\n var newCtx = tryAsync(function () {\n return hook.apply(plugin, [ctx]);\n }).then(function (ctx) {\n var done = new Date().getTime() - start;\n ctx.stats.gauge('plugin_time', done, [\"plugin:\".concat(plugin.name)]);\n return ctx;\n })[\"catch\"](function (err) {\n if (err instanceof ContextCancelation && err.type === 'middleware_cancellation') {\n throw err;\n }\n if (err instanceof ContextCancelation) {\n ctx.log('warn', err.type, {\n plugin: plugin.name,\n error: err\n });\n return err;\n }\n ctx.log('error', 'plugin Error', {\n plugin: plugin.name,\n error: err\n });\n ctx.stats.increment('plugin_error', 1, [\"plugin:\".concat(plugin.name)]);\n return err;\n });\n return newCtx;\n}\nexport function ensure(ctx, plugin) {\n return attempt(ctx, plugin).then(function (newContext) {\n if (newContext instanceof CoreContext) {\n return newContext;\n }\n ctx.log('debug', 'Context canceled');\n ctx.stats.increment('context_canceled');\n ctx.cancel(newContext);\n });\n}","export default function (e, n) {\n return n = n || {}, new Promise(function (t, r) {\n var s = new XMLHttpRequest(),\n o = [],\n u = [],\n i = {},\n a = function a() {\n return {\n ok: 2 == (s.status / 100 | 0),\n statusText: s.statusText,\n status: s.status,\n url: s.responseURL,\n text: function text() {\n return Promise.resolve(s.responseText);\n },\n json: function json() {\n return Promise.resolve(s.responseText).then(JSON.parse);\n },\n blob: function blob() {\n return Promise.resolve(new Blob([s.response]));\n },\n clone: a,\n headers: {\n keys: function keys() {\n return o;\n },\n entries: function entries() {\n return u;\n },\n get: function get(e) {\n return i[e.toLowerCase()];\n },\n has: function has(e) {\n return e.toLowerCase() in i;\n }\n }\n };\n };\n for (var l in s.open(n.method || \"get\", e, !0), s.onload = function () {\n s.getAllResponseHeaders().replace(/^(.*?):[^\\S\\n]*([\\s\\S]*?)$/gm, function (e, n, t) {\n o.push(n = n.toLowerCase()), u.push([n, t]), i[n] = i[n] ? i[n] + \",\" + t : t;\n }), t(a());\n }, s.onerror = r, s.withCredentials = \"include\" == n.credentials, n.headers) s.setRequestHeader(l, n.headers[l]);\n s.send(n.body || null);\n });\n}","import { isFunction, isPlainObject, isString, isNumber } from '@segment/analytics-core';\n/**\n * Helper for the track method\n */\nexport function resolveArguments(eventName, properties, options, callback) {\n var _a;\n var args = [eventName, properties, options, callback];\n var name = isPlainObject(eventName) ? eventName.event : eventName;\n if (!name || !isString(name)) {\n throw new Error('Event missing');\n }\n var data = isPlainObject(eventName) ? (_a = eventName.properties) !== null && _a !== void 0 ? _a : {} : isPlainObject(properties) ? properties : {};\n var opts = {};\n if (!isFunction(options)) {\n opts = options !== null && options !== void 0 ? options : {};\n }\n if (isPlainObject(eventName) && !isFunction(properties)) {\n opts = properties !== null && properties !== void 0 ? properties : {};\n }\n var cb = args.find(isFunction);\n return [name, data, opts, cb];\n}\n/**\n * Helper for page, screen methods\n */\nexport function resolvePageArguments(category, name, properties, options, callback) {\n var _a, _b;\n var resolvedCategory = null;\n var resolvedName = null;\n var args = [category, name, properties, options, callback];\n var strings = args.filter(isString);\n if (strings[0] !== undefined && strings[1] !== undefined) {\n resolvedCategory = strings[0];\n resolvedName = strings[1];\n }\n if (strings.length === 1) {\n resolvedCategory = null;\n resolvedName = strings[0];\n }\n var resolvedCallback = args.find(isFunction);\n var objects = args.filter(function (obj) {\n if (resolvedName === null) {\n return isPlainObject(obj);\n }\n return isPlainObject(obj) || obj === null;\n });\n var resolvedProperties = (_a = objects[0]) !== null && _a !== void 0 ? _a : {};\n var resolvedOptions = (_b = objects[1]) !== null && _b !== void 0 ? _b : {};\n return [resolvedCategory, resolvedName, resolvedProperties, resolvedOptions, resolvedCallback];\n}\n/**\n * Helper for group, identify methods\n */\nexport var resolveUserArguments = function resolveUserArguments(user) {\n return function () {\n var _a, _b, _c, _d, _e;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var id = null;\n id = (_c = (_a = args.find(isString)) !== null && _a !== void 0 ? _a : (_b = args.find(isNumber)) === null || _b === void 0 ? void 0 : _b.toString()) !== null && _c !== void 0 ? _c : user.id();\n var objects = args.filter(function (obj) {\n if (id === null) {\n return isPlainObject(obj);\n }\n return isPlainObject(obj) || obj === null;\n });\n var traits = (_d = objects[0]) !== null && _d !== void 0 ? _d : {};\n var opts = (_e = objects[1]) !== null && _e !== void 0 ? _e : {};\n var resolvedCallback = args.find(isFunction);\n return [id, traits, opts, resolvedCallback];\n };\n};\n/**\n * Helper for alias method\n */\nexport function resolveAliasArguments(to, from, options, callback) {\n if (isNumber(to)) to = to.toString(); // Legacy behaviour - allow integers for alias calls\n if (isNumber(from)) from = from.toString();\n var args = [to, from, options, callback];\n var _a = args.filter(isString),\n _b = _a[0],\n aliasTo = _b === void 0 ? to : _b,\n _c = _a[1],\n aliasFrom = _c === void 0 ? null : _c;\n var _d = args.filter(isPlainObject)[0],\n opts = _d === void 0 ? {} : _d;\n var resolvedCallback = args.find(isFunction);\n return [aliasTo, aliasFrom, opts, resolvedCallback];\n}","import { __awaiter, __generator } from \"tslib\";\nimport { invokeCallback } from '../callback';\n/* The amount of time in ms to wait before invoking the callback. */\nexport var getDelay = function getDelay(startTimeInEpochMS, timeoutInMS) {\n var elapsedTime = Date.now() - startTimeInEpochMS;\n // increasing the timeout increases the delay by almost the same amount -- this is weird legacy behavior.\n return Math.max((timeoutInMS !== null && timeoutInMS !== void 0 ? timeoutInMS : 300) - elapsedTime, 0);\n};\n/**\n * Push an event into the dispatch queue and invoke any callbacks.\n *\n * @param event - Segment event to enqueue.\n * @param queue - Queue to dispatch against.\n * @param emitter - This is typically an instance of \"Analytics\" -- used for metrics / progress information.\n * @param options\n */\nexport function dispatch(ctx, queue, emitter, options) {\n return __awaiter(this, void 0, void 0, function () {\n var startTime, dispatched;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n emitter.emit('dispatch_start', ctx);\n startTime = Date.now();\n if (!queue.isEmpty()) return [3 /*break*/, 2];\n return [4 /*yield*/, queue.dispatchSingle(ctx)];\n case 1:\n dispatched = _a.sent();\n return [3 /*break*/, 4];\n case 2:\n return [4 /*yield*/, queue.dispatch(ctx)];\n case 3:\n dispatched = _a.sent();\n _a.label = 4;\n case 4:\n if (!(options === null || options === void 0 ? void 0 : options.callback)) return [3 /*break*/, 6];\n return [4 /*yield*/, invokeCallback(dispatched, options.callback, getDelay(startTime, options.timeout))];\n case 5:\n dispatched = _a.sent();\n _a.label = 6;\n case 6:\n if (options === null || options === void 0 ? void 0 : options.debug) {\n dispatched.flush();\n }\n return [2 /*return*/, dispatched];\n }\n });\n });\n}","import { __assign, __rest } from \"tslib\";\nimport { v4 as uuid } from '@lukeed/uuid';\nimport { dset } from 'dset';\nimport md5 from 'spark-md5';\nexport * from './interfaces';\nvar EventFactory = /** @class */function () {\n function EventFactory(user) {\n this.user = user;\n }\n EventFactory.prototype.track = function (event, properties, options, globalIntegrations) {\n return this.normalize(__assign(__assign({}, this.baseEvent()), {\n event: event,\n type: 'track',\n properties: properties,\n options: __assign({}, options),\n integrations: __assign({}, globalIntegrations)\n }));\n };\n EventFactory.prototype.page = function (category, page, properties, options, globalIntegrations) {\n var _a;\n var event = {\n type: 'page',\n properties: __assign({}, properties),\n options: __assign({}, options),\n integrations: __assign({}, globalIntegrations)\n };\n if (category !== null) {\n event.category = category;\n event.properties = (_a = event.properties) !== null && _a !== void 0 ? _a : {};\n event.properties.category = category;\n }\n if (page !== null) {\n event.name = page;\n }\n return this.normalize(__assign(__assign({}, this.baseEvent()), event));\n };\n EventFactory.prototype.screen = function (category, screen, properties, options, globalIntegrations) {\n var event = {\n type: 'screen',\n properties: __assign({}, properties),\n options: __assign({}, options),\n integrations: __assign({}, globalIntegrations)\n };\n if (category !== null) {\n event.category = category;\n }\n if (screen !== null) {\n event.name = screen;\n }\n return this.normalize(__assign(__assign({}, this.baseEvent()), event));\n };\n EventFactory.prototype.identify = function (userId, traits, options, globalIntegrations) {\n return this.normalize(__assign(__assign({}, this.baseEvent()), {\n type: 'identify',\n userId: userId,\n traits: traits,\n options: __assign({}, options),\n integrations: __assign({}, globalIntegrations)\n }));\n };\n EventFactory.prototype.group = function (groupId, traits, options, globalIntegrations) {\n return this.normalize(__assign(__assign({}, this.baseEvent()), {\n type: 'group',\n traits: traits,\n options: __assign({}, options),\n integrations: __assign({}, globalIntegrations),\n groupId: groupId\n }));\n };\n EventFactory.prototype.alias = function (to, from, options, globalIntegrations) {\n var base = {\n userId: to,\n type: 'alias',\n options: __assign({}, options),\n integrations: __assign({}, globalIntegrations)\n };\n if (from !== null) {\n base.previousId = from;\n }\n if (to === undefined) {\n return this.normalize(__assign(__assign({}, base), this.baseEvent()));\n }\n return this.normalize(__assign(__assign({}, this.baseEvent()), base));\n };\n EventFactory.prototype.baseEvent = function () {\n var base = {\n integrations: {},\n options: {}\n };\n var user = this.user;\n if (user.id()) {\n base.userId = user.id();\n }\n if (user.anonymousId()) {\n base.anonymousId = user.anonymousId();\n }\n return base;\n };\n /**\n * Builds the context part of an event based on \"foreign\" keys that\n * are provided in the `Options` parameter for an Event\n */\n EventFactory.prototype.context = function (event) {\n var _a, _b, _c;\n var optionsKeys = ['integrations', 'anonymousId', 'timestamp', 'userId'];\n var options = (_a = event.options) !== null && _a !== void 0 ? _a : {};\n delete options['integrations'];\n var providedOptionsKeys = Object.keys(options);\n var context = (_c = (_b = event.options) === null || _b === void 0 ? void 0 : _b.context) !== null && _c !== void 0 ? _c : {};\n var overrides = {};\n providedOptionsKeys.forEach(function (key) {\n if (key === 'context') {\n return;\n }\n if (optionsKeys.includes(key)) {\n dset(overrides, key, options[key]);\n } else {\n dset(context, key, options[key]);\n }\n });\n return [context, overrides];\n };\n EventFactory.prototype.normalize = function (event) {\n var _a, _b, _c;\n // set anonymousId globally if we encounter an override\n //segment.com/docs/connections/sources/catalog/libraries/website/javascript/identity/#override-the-anonymous-id-using-the-options-object\n ((_a = event.options) === null || _a === void 0 ? void 0 : _a.anonymousId) && this.user.anonymousId(event.options.anonymousId);\n var integrationBooleans = Object.keys((_b = event.integrations) !== null && _b !== void 0 ? _b : {}).reduce(function (integrationNames, name) {\n var _a;\n var _b;\n return __assign(__assign({}, integrationNames), (_a = {}, _a[name] = Boolean((_b = event.integrations) === null || _b === void 0 ? void 0 : _b[name]), _a));\n }, {});\n // This is pretty trippy, but here's what's going on:\n // - a) We don't pass initial integration options as part of the event, only if they're true or false\n // - b) We do accept per integration overrides (like integrations.Amplitude.sessionId) at the event level\n // Hence the need to convert base integration options to booleans, but maintain per event integration overrides\n var allIntegrations = __assign(__assign({}, integrationBooleans), (_c = event.options) === null || _c === void 0 ? void 0 : _c.integrations);\n var _d = this.context(event),\n context = _d[0],\n overrides = _d[1];\n var options = event.options,\n rest = __rest(event, [\"options\"]);\n var body = __assign(__assign(__assign({\n timestamp: new Date()\n }, rest), {\n context: context,\n integrations: allIntegrations\n }), overrides);\n var messageId = 'ajs-next-' + md5.hash(JSON.stringify(body) + uuid());\n var evt = __assign(__assign({}, body), {\n messageId: messageId\n });\n return evt;\n };\n return EventFactory;\n}();\nexport { EventFactory };","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n/**\n * Check if thenable\n * (instanceof Promise doesn't respect realms)\n */\nexport var isThenable = function isThenable(value) {\n return _typeof(value) === 'object' && value !== null && 'then' in value && typeof value.then === 'function';\n};","import { isThenable } from '../utils/is-thenable';\nexport var createTaskGroup = function createTaskGroup() {\n var taskCompletionPromise;\n var resolvePromise;\n var count = 0;\n return {\n done: function done() {\n return taskCompletionPromise;\n },\n run: function run(op) {\n var returnValue = op();\n if (isThenable(returnValue)) {\n if (++count === 1) {\n taskCompletionPromise = new Promise(function (res) {\n return resolvePromise = res;\n });\n }\n returnValue[\"finally\"](function () {\n return --count === 0 && resolvePromise();\n });\n }\n return returnValue;\n }\n };\n};","import { __awaiter, __extends, __generator } from \"tslib\";\nimport { PersistedPriorityQueue } from '../../lib/priority-queue/persisted';\nimport { CoreEventQueue } from '@segment/analytics-core';\nimport { isOffline } from '../connection';\nvar EventQueue = /** @class */function (_super) {\n __extends(EventQueue, _super);\n function EventQueue(nameOrQueue) {\n return _super.call(this, typeof nameOrQueue === 'string' ? new PersistedPriorityQueue(4, nameOrQueue) : nameOrQueue) || this;\n }\n EventQueue.prototype.flush = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (isOffline()) return [2 /*return*/, []];\n return [2 /*return*/, _super.prototype.flush.call(this)];\n });\n });\n };\n return EventQueue;\n}(CoreEventQueue);\nexport { EventQueue };","import { __awaiter, __extends, __generator } from \"tslib\";\nimport { groupBy } from '../utils/group-by';\nimport { ON_REMOVE_FROM_FUTURE } from '../priority-queue';\nimport { CoreContext, ContextCancelation } from '../context';\nimport { Emitter } from '../emitter';\nimport { createTaskGroup } from '../task/task-group';\nimport { attempt, ensure } from './delivery';\nvar CoreEventQueue = /** @class */function (_super) {\n __extends(CoreEventQueue, _super);\n function CoreEventQueue(priorityQueue) {\n var _this = _super.call(this) || this;\n /**\n * All event deliveries get suspended until all the tasks in this task group are complete.\n * For example: a middleware that augments the event object should be loaded safely as a\n * critical task, this way, event queue will wait for it to be ready before sending events.\n *\n * This applies to all the events already in the queue, and the upcoming ones\n */\n _this.criticalTasks = createTaskGroup();\n _this.plugins = [];\n _this.failedInitializations = [];\n _this.flushing = false;\n _this.queue = priorityQueue;\n _this.queue.on(ON_REMOVE_FROM_FUTURE, function () {\n _this.scheduleFlush(0);\n });\n return _this;\n }\n CoreEventQueue.prototype.register = function (ctx, plugin, instance) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n return [4 /*yield*/, Promise.resolve(plugin.load(ctx, instance)).then(function () {\n _this.plugins.push(plugin);\n })[\"catch\"](function (err) {\n if (plugin.type === 'destination') {\n _this.failedInitializations.push(plugin.name);\n console.warn(plugin.name, err);\n ctx.log('warn', 'Failed to load destination', {\n plugin: plugin.name,\n error: err\n });\n return;\n }\n throw err;\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n\n CoreEventQueue.prototype.deregister = function (ctx, plugin, instance) {\n return __awaiter(this, void 0, void 0, function () {\n var e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 3,, 4]);\n if (!plugin.unload) return [3 /*break*/, 2];\n return [4 /*yield*/, Promise.resolve(plugin.unload(ctx, instance))];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2:\n this.plugins = this.plugins.filter(function (p) {\n return p.name !== plugin.name;\n });\n return [3 /*break*/, 4];\n case 3:\n e_1 = _a.sent();\n ctx.log('warn', 'Failed to unload destination', {\n plugin: plugin.name,\n error: e_1\n });\n return [3 /*break*/, 4];\n case 4:\n return [2 /*return*/];\n }\n });\n });\n };\n\n CoreEventQueue.prototype.dispatch = function (ctx) {\n return __awaiter(this, void 0, void 0, function () {\n var willDeliver;\n return __generator(this, function (_a) {\n ctx.log('debug', 'Dispatching');\n ctx.stats.increment('message_dispatched');\n this.queue.push(ctx);\n willDeliver = this.subscribeToDelivery(ctx);\n this.scheduleFlush(0);\n return [2 /*return*/, willDeliver];\n });\n });\n };\n CoreEventQueue.prototype.subscribeToDelivery = function (ctx) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (resolve) {\n var onDeliver = function onDeliver(flushed, delivered) {\n if (flushed.isSame(ctx)) {\n _this.off('flush', onDeliver);\n if (delivered) {\n resolve(flushed);\n } else {\n resolve(flushed);\n }\n }\n };\n _this.on('flush', onDeliver);\n })];\n });\n });\n };\n CoreEventQueue.prototype.dispatchSingle = function (ctx) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n ctx.log('debug', 'Dispatching');\n ctx.stats.increment('message_dispatched');\n this.queue.updateAttempts(ctx);\n ctx.attempts = 1;\n return [2 /*return*/, this.deliver(ctx)[\"catch\"](function (err) {\n var accepted = _this.enqueuRetry(err, ctx);\n if (!accepted) {\n ctx.setFailedDelivery({\n reason: err\n });\n return ctx;\n }\n return _this.subscribeToDelivery(ctx);\n })];\n });\n });\n };\n CoreEventQueue.prototype.isEmpty = function () {\n return this.queue.length === 0;\n };\n CoreEventQueue.prototype.scheduleFlush = function (timeout) {\n var _this = this;\n if (timeout === void 0) {\n timeout = 500;\n }\n if (this.flushing) {\n return;\n }\n this.flushing = true;\n setTimeout(function () {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n _this.flush().then(function () {\n setTimeout(function () {\n _this.flushing = false;\n if (_this.queue.length) {\n _this.scheduleFlush(0);\n }\n }, 0);\n });\n }, timeout);\n };\n CoreEventQueue.prototype.deliver = function (ctx) {\n return __awaiter(this, void 0, void 0, function () {\n var start, done, err_1, error;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n return [4 /*yield*/, this.criticalTasks.done()];\n case 1:\n _a.sent();\n start = Date.now();\n _a.label = 2;\n case 2:\n _a.trys.push([2, 4,, 5]);\n return [4 /*yield*/, this.flushOne(ctx)];\n case 3:\n ctx = _a.sent();\n done = Date.now() - start;\n this.emit('delivery_success', ctx);\n ctx.stats.gauge('delivered', done);\n ctx.log('debug', 'Delivered', ctx.event);\n return [2 /*return*/, ctx];\n case 4:\n err_1 = _a.sent();\n error = err_1;\n ctx.log('error', 'Failed to deliver', error);\n this.emit('delivery_failure', ctx, error);\n ctx.stats.increment('delivery_failed');\n throw err_1;\n case 5:\n return [2 /*return*/];\n }\n });\n });\n };\n\n CoreEventQueue.prototype.enqueuRetry = function (err, ctx) {\n var retriable = !(err instanceof ContextCancelation) || err.retry;\n if (!retriable) {\n return false;\n }\n return this.queue.pushWithBackoff(ctx);\n };\n CoreEventQueue.prototype.flush = function () {\n return __awaiter(this, void 0, void 0, function () {\n var ctx, err_2, accepted;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.queue.length === 0) {\n return [2 /*return*/, []];\n }\n ctx = this.queue.pop();\n if (!ctx) {\n return [2 /*return*/, []];\n }\n ctx.attempts = this.queue.getAttempts(ctx);\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3,, 4]);\n return [4 /*yield*/, this.deliver(ctx)];\n case 2:\n ctx = _a.sent();\n this.emit('flush', ctx, true);\n return [3 /*break*/, 4];\n case 3:\n err_2 = _a.sent();\n accepted = this.enqueuRetry(err_2, ctx);\n if (!accepted) {\n ctx.setFailedDelivery({\n reason: err_2\n });\n this.emit('flush', ctx, false);\n }\n return [2 /*return*/, []];\n case 4:\n return [2 /*return*/, [ctx]];\n }\n });\n });\n };\n CoreEventQueue.prototype.isReady = function () {\n // return this.plugins.every((p) => p.isLoaded())\n // should we wait for every plugin to load?\n return true;\n };\n CoreEventQueue.prototype.availableExtensions = function (denyList) {\n var available = this.plugins.filter(function (p) {\n var _a, _b, _c;\n // Only filter out destination plugins or the Segment.io plugin\n if (p.type !== 'destination' && p.name !== 'Segment.io') {\n return true;\n }\n var alternativeNameMatch = undefined;\n (_a = p.alternativeNames) === null || _a === void 0 ? void 0 : _a.forEach(function (name) {\n if (denyList[name] !== undefined) {\n alternativeNameMatch = denyList[name];\n }\n });\n // Explicit integration option takes precedence, `All: false` does not apply to Segment.io\n return (_c = (_b = denyList[p.name]) !== null && _b !== void 0 ? _b : alternativeNameMatch) !== null && _c !== void 0 ? _c : (p.name === 'Segment.io' ? true : denyList.All) !== false;\n });\n var _a = groupBy(available, 'type'),\n _b = _a.before,\n before = _b === void 0 ? [] : _b,\n _c = _a.enrichment,\n enrichment = _c === void 0 ? [] : _c,\n _d = _a.destination,\n destination = _d === void 0 ? [] : _d,\n _e = _a.after,\n after = _e === void 0 ? [] : _e;\n return {\n before: before,\n enrichment: enrichment,\n destinations: destination,\n after: after\n };\n };\n CoreEventQueue.prototype.flushOne = function (ctx) {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function () {\n var _c, before, enrichment, _i, before_1, beforeWare, temp, _d, enrichment_1, enrichmentWare, temp, _e, destinations, after, afterCalls;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n if (!this.isReady()) {\n throw new Error('Not ready');\n }\n if (ctx.attempts > 1) {\n this.emit('delivery_retry', ctx);\n }\n _c = this.availableExtensions((_a = ctx.event.integrations) !== null && _a !== void 0 ? _a : {}), before = _c.before, enrichment = _c.enrichment;\n _i = 0, before_1 = before;\n _f.label = 1;\n case 1:\n if (!(_i < before_1.length)) return [3 /*break*/, 4];\n beforeWare = before_1[_i];\n return [4 /*yield*/, ensure(ctx, beforeWare)];\n case 2:\n temp = _f.sent();\n if (temp instanceof CoreContext) {\n ctx = temp;\n }\n this.emit('message_enriched', ctx, beforeWare);\n _f.label = 3;\n case 3:\n _i++;\n return [3 /*break*/, 1];\n case 4:\n _d = 0, enrichment_1 = enrichment;\n _f.label = 5;\n case 5:\n if (!(_d < enrichment_1.length)) return [3 /*break*/, 8];\n enrichmentWare = enrichment_1[_d];\n return [4 /*yield*/, attempt(ctx, enrichmentWare)];\n case 6:\n temp = _f.sent();\n if (temp instanceof CoreContext) {\n ctx = temp;\n }\n this.emit('message_enriched', ctx, enrichmentWare);\n _f.label = 7;\n case 7:\n _d++;\n return [3 /*break*/, 5];\n case 8:\n _e = this.availableExtensions((_b = ctx.event.integrations) !== null && _b !== void 0 ? _b : {}), destinations = _e.destinations, after = _e.after;\n return [4 /*yield*/, new Promise(function (resolve, reject) {\n setTimeout(function () {\n var attempts = destinations.map(function (destination) {\n return attempt(ctx, destination);\n });\n Promise.all(attempts).then(resolve)[\"catch\"](reject);\n }, 0);\n })];\n case 9:\n _f.sent();\n ctx.stats.increment('message_delivered');\n this.emit('message_delivered', ctx);\n afterCalls = after.map(function (after) {\n return attempt(ctx, after);\n });\n return [4 /*yield*/, Promise.all(afterCalls)];\n case 10:\n _f.sent();\n return [2 /*return*/, ctx];\n }\n });\n });\n };\n return CoreEventQueue;\n}(Emitter);\nexport { CoreEventQueue };","import { __spreadArray } from \"tslib\";\nexport function groupBy(collection, grouper) {\n var results = {};\n collection.forEach(function (item) {\n var _a;\n var key = undefined;\n if (typeof grouper === 'string') {\n var suggestedKey = item[grouper];\n key = typeof suggestedKey !== 'string' ? JSON.stringify(suggestedKey) : suggestedKey;\n } else if (grouper instanceof Function) {\n key = grouper(item);\n }\n if (key === undefined) {\n return;\n }\n results[key] = __spreadArray(__spreadArray([], (_a = results[key]) !== null && _a !== void 0 ? _a : [], true), [item], false);\n });\n return results;\n}","import { __assign, __awaiter, __extends, __generator, __spreadArray } from \"tslib\";\nimport { resolveAliasArguments, resolveArguments, resolvePageArguments, resolveUserArguments } from '../arguments-resolver';\nimport { isOffline } from '../connection';\nimport { Context } from '../context';\nimport { dispatch, Emitter } from '@segment/analytics-core';\nimport { EventFactory } from '../events';\nimport { EventQueue } from '../queue/event-queue';\nimport { getAvailableStorageOptions, Group, UniversalStorage, User } from '../user';\nimport autoBind from '../../lib/bind-all';\nimport { PersistedPriorityQueue } from '../../lib/priority-queue/persisted';\nimport { version } from '../../generated/version';\nimport { PriorityQueue } from '../../lib/priority-queue';\nimport { getGlobal } from '../../lib/get-global';\nvar deprecationWarning = 'This is being deprecated and will be not be available in future releases of Analytics JS';\n// reference any pre-existing \"analytics\" object so a user can restore the reference\nvar global = getGlobal();\nvar _analytics = global === null || global === void 0 ? void 0 : global.analytics;\nfunction createDefaultQueue(name, retryQueue, disablePersistance) {\n if (retryQueue === void 0) {\n retryQueue = false;\n }\n if (disablePersistance === void 0) {\n disablePersistance = false;\n }\n var maxAttempts = retryQueue ? 4 : 1;\n var priorityQueue = disablePersistance ? new PriorityQueue(maxAttempts, []) : new PersistedPriorityQueue(maxAttempts, name);\n return new EventQueue(priorityQueue);\n}\n/* analytics-classic stubs */\nfunction _stub() {\n console.warn(deprecationWarning);\n}\nvar Analytics = /** @class */function (_super) {\n __extends(Analytics, _super);\n function Analytics(settings, options, queue, user, group) {\n var _this = this;\n var _a, _b, _c;\n _this = _super.call(this) || this;\n _this._debug = false;\n _this.initialized = false;\n _this.user = function () {\n return _this._user;\n };\n _this.init = _this.initialize.bind(_this);\n _this.log = _stub;\n _this.addIntegrationMiddleware = _stub;\n _this.listeners = _stub;\n _this.addEventListener = _stub;\n _this.removeAllListeners = _stub;\n _this.removeListener = _stub;\n _this.removeEventListener = _stub;\n _this.hasListeners = _stub;\n _this.add = _stub;\n _this.addIntegration = _stub;\n var cookieOptions = options === null || options === void 0 ? void 0 : options.cookie;\n var disablePersistance = (_a = options === null || options === void 0 ? void 0 : options.disableClientPersistence) !== null && _a !== void 0 ? _a : false;\n _this.settings = settings;\n _this.settings.timeout = (_b = _this.settings.timeout) !== null && _b !== void 0 ? _b : 300;\n _this.queue = queue !== null && queue !== void 0 ? queue : createDefaultQueue(\"\".concat(settings.writeKey, \":event-queue\"), options === null || options === void 0 ? void 0 : options.retryQueue, disablePersistance);\n _this._universalStorage = new UniversalStorage(disablePersistance ? ['memory'] : ['localStorage', 'cookie', 'memory'], getAvailableStorageOptions(cookieOptions));\n _this._user = user !== null && user !== void 0 ? user : new User(disablePersistance ? __assign(__assign({}, options === null || options === void 0 ? void 0 : options.user), {\n persist: false\n }) : options === null || options === void 0 ? void 0 : options.user, cookieOptions).load();\n _this._group = group !== null && group !== void 0 ? group : new Group(disablePersistance ? __assign(__assign({}, options === null || options === void 0 ? void 0 : options.group), {\n persist: false\n }) : options === null || options === void 0 ? void 0 : options.group, cookieOptions).load();\n _this.eventFactory = new EventFactory(_this._user);\n _this.integrations = (_c = options === null || options === void 0 ? void 0 : options.integrations) !== null && _c !== void 0 ? _c : {};\n _this.options = options !== null && options !== void 0 ? options : {};\n autoBind(_this);\n return _this;\n }\n Object.defineProperty(Analytics.prototype, \"storage\", {\n get: function get() {\n return this._universalStorage;\n },\n enumerable: false,\n configurable: true\n });\n Analytics.prototype.track = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var _a, name, data, opts, cb, segmentEvent;\n var _this = this;\n return __generator(this, function (_b) {\n _a = resolveArguments.apply(void 0, args), name = _a[0], data = _a[1], opts = _a[2], cb = _a[3];\n segmentEvent = this.eventFactory.track(name, data, opts, this.integrations);\n return [2 /*return*/, this._dispatch(segmentEvent, cb).then(function (ctx) {\n _this.emit('track', name, ctx.event.properties, ctx.event.options);\n return ctx;\n })];\n });\n });\n };\n Analytics.prototype.page = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var _a, category, page, properties, options, callback, segmentEvent;\n var _this = this;\n return __generator(this, function (_b) {\n _a = resolvePageArguments.apply(void 0, args), category = _a[0], page = _a[1], properties = _a[2], options = _a[3], callback = _a[4];\n segmentEvent = this.eventFactory.page(category, page, properties, options, this.integrations);\n return [2 /*return*/, this._dispatch(segmentEvent, callback).then(function (ctx) {\n _this.emit('page', category, page, ctx.event.properties, ctx.event.options);\n return ctx;\n })];\n });\n });\n };\n Analytics.prototype.identify = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var _a, id, _traits, options, callback, segmentEvent;\n var _this = this;\n return __generator(this, function (_b) {\n _a = resolveUserArguments(this._user).apply(void 0, args), id = _a[0], _traits = _a[1], options = _a[2], callback = _a[3];\n this._user.identify(id, _traits);\n segmentEvent = this.eventFactory.identify(this._user.id(), this._user.traits(), options, this.integrations);\n return [2 /*return*/, this._dispatch(segmentEvent, callback).then(function (ctx) {\n _this.emit('identify', ctx.event.userId, ctx.event.traits, ctx.event.options);\n return ctx;\n })];\n });\n });\n };\n Analytics.prototype.group = function () {\n var _this = this;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (args.length === 0) {\n return this._group;\n }\n var _a = resolveUserArguments(this._group).apply(void 0, args),\n id = _a[0],\n _traits = _a[1],\n options = _a[2],\n callback = _a[3];\n this._group.identify(id, _traits);\n var groupId = this._group.id();\n var groupTraits = this._group.traits();\n var segmentEvent = this.eventFactory.group(groupId, groupTraits, options, this.integrations);\n return this._dispatch(segmentEvent, callback).then(function (ctx) {\n _this.emit('group', ctx.event.groupId, ctx.event.traits, ctx.event.options);\n return ctx;\n });\n };\n Analytics.prototype.alias = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var _a, to, from, options, callback, segmentEvent;\n var _this = this;\n return __generator(this, function (_b) {\n _a = resolveAliasArguments.apply(void 0, args), to = _a[0], from = _a[1], options = _a[2], callback = _a[3];\n segmentEvent = this.eventFactory.alias(to, from, options, this.integrations);\n return [2 /*return*/, this._dispatch(segmentEvent, callback).then(function (ctx) {\n _this.emit('alias', to, from, ctx.event.options);\n return ctx;\n })];\n });\n });\n };\n Analytics.prototype.screen = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var _a, category, page, properties, options, callback, segmentEvent;\n var _this = this;\n return __generator(this, function (_b) {\n _a = resolvePageArguments.apply(void 0, args), category = _a[0], page = _a[1], properties = _a[2], options = _a[3], callback = _a[4];\n segmentEvent = this.eventFactory.screen(category, page, properties, options, this.integrations);\n return [2 /*return*/, this._dispatch(segmentEvent, callback).then(function (ctx) {\n _this.emit('screen', category, page, ctx.event.properties, ctx.event.options);\n return ctx;\n })];\n });\n });\n };\n Analytics.prototype.trackClick = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var autotrack;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n return [4 /*yield*/, import( /* webpackChunkName: \"auto-track\" */'../auto-track')];\n case 1:\n autotrack = _b.sent();\n return [2 /*return*/, (_a = autotrack.link).call.apply(_a, __spreadArray([this], args, false))];\n }\n });\n });\n };\n Analytics.prototype.trackLink = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var autotrack;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n return [4 /*yield*/, import( /* webpackChunkName: \"auto-track\" */'../auto-track')];\n case 1:\n autotrack = _b.sent();\n return [2 /*return*/, (_a = autotrack.link).call.apply(_a, __spreadArray([this], args, false))];\n }\n });\n });\n };\n Analytics.prototype.trackSubmit = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var autotrack;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n return [4 /*yield*/, import( /* webpackChunkName: \"auto-track\" */'../auto-track')];\n case 1:\n autotrack = _b.sent();\n return [2 /*return*/, (_a = autotrack.form).call.apply(_a, __spreadArray([this], args, false))];\n }\n });\n });\n };\n Analytics.prototype.trackForm = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var autotrack;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n return [4 /*yield*/, import( /* webpackChunkName: \"auto-track\" */'../auto-track')];\n case 1:\n autotrack = _b.sent();\n return [2 /*return*/, (_a = autotrack.form).call.apply(_a, __spreadArray([this], args, false))];\n }\n });\n });\n };\n Analytics.prototype.register = function () {\n var plugins = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n plugins[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var ctx, registrations;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n ctx = Context.system();\n registrations = plugins.map(function (xt) {\n return _this.queue.register(ctx, xt, _this);\n });\n return [4 /*yield*/, Promise.all(registrations)];\n case 1:\n _a.sent();\n return [2 /*return*/, ctx];\n }\n });\n });\n };\n Analytics.prototype.deregister = function () {\n var plugins = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n plugins[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var ctx, deregistrations;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n ctx = Context.system();\n deregistrations = plugins.map(function (pl) {\n var plugin = _this.queue.plugins.find(function (p) {\n return p.name === pl;\n });\n if (plugin) {\n return _this.queue.deregister(ctx, plugin, _this);\n } else {\n ctx.log('warn', \"plugin \".concat(pl, \" not found\"));\n }\n });\n return [4 /*yield*/, Promise.all(deregistrations)];\n case 1:\n _a.sent();\n return [2 /*return*/, ctx];\n }\n });\n });\n };\n Analytics.prototype.debug = function (toggle) {\n // Make sure legacy ajs debug gets turned off if it was enabled before upgrading.\n if (toggle === false && localStorage.getItem('debug')) {\n localStorage.removeItem('debug');\n }\n this._debug = toggle;\n return this;\n };\n Analytics.prototype.reset = function () {\n this._user.reset();\n this._group.reset();\n this.emit('reset');\n };\n Analytics.prototype.timeout = function (timeout) {\n this.settings.timeout = timeout;\n };\n Analytics.prototype._dispatch = function (event, callback) {\n return __awaiter(this, void 0, void 0, function () {\n var ctx;\n return __generator(this, function (_a) {\n ctx = new Context(event);\n if (isOffline() && !this.options.retryQueue) {\n return [2 /*return*/, ctx];\n }\n return [2 /*return*/, dispatch(ctx, this.queue, this, {\n callback: callback,\n debug: this._debug,\n timeout: this.settings.timeout\n })];\n });\n });\n };\n Analytics.prototype.addSourceMiddleware = function (fn) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n return [4 /*yield*/, this.queue.criticalTasks.run(function () {\n return __awaiter(_this, void 0, void 0, function () {\n var sourceMiddlewarePlugin, integrations, plugin;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n return [4 /*yield*/, import( /* webpackChunkName: \"middleware\" */'../../plugins/middleware')];\n case 1:\n sourceMiddlewarePlugin = _a.sent().sourceMiddlewarePlugin;\n integrations = {};\n this.queue.plugins.forEach(function (plugin) {\n if (plugin.type === 'destination') {\n return integrations[plugin.name] = true;\n }\n });\n plugin = sourceMiddlewarePlugin(fn, integrations);\n return [4 /*yield*/, this.register(plugin)];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n })];\n\n case 1:\n _a.sent();\n return [2 /*return*/, this];\n }\n });\n });\n };\n /* TODO: This does not have to return a promise? */\n Analytics.prototype.addDestinationMiddleware = function (integrationName) {\n var middlewares = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n middlewares[_i - 1] = arguments[_i];\n }\n var legacyDestinations = this.queue.plugins.filter(function (xt) {\n return xt.name.toLowerCase() === integrationName.toLowerCase();\n });\n legacyDestinations.forEach(function (destination) {\n destination.addMiddleware.apply(destination, middlewares);\n });\n return Promise.resolve(this);\n };\n Analytics.prototype.setAnonymousId = function (id) {\n return this._user.anonymousId(id);\n };\n Analytics.prototype.queryString = function (query) {\n return __awaiter(this, void 0, void 0, function () {\n var queryString;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.options.useQueryString === false) {\n return [2 /*return*/, []];\n }\n return [4 /*yield*/, import( /* webpackChunkName: \"queryString\" */'../query-string')];\n case 1:\n queryString = _a.sent().queryString;\n return [2 /*return*/, queryString(this, query)];\n }\n });\n });\n };\n /**\n * @deprecated This function does not register a destination plugin.\n *\n * Instantiates a legacy Analytics.js destination.\n *\n * This function does not register the destination as an Analytics.JS plugin,\n * all the it does it to invoke the factory function back.\n */\n Analytics.prototype.use = function (legacyPluginFactory) {\n legacyPluginFactory(this);\n return this;\n };\n Analytics.prototype.ready = function (callback) {\n if (callback === void 0) {\n callback = function callback(res) {\n return res;\n };\n }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, Promise.all(this.queue.plugins.map(function (i) {\n return i.ready ? i.ready() : Promise.resolve();\n })).then(function (res) {\n callback(res);\n return res;\n })];\n });\n });\n };\n // analytics-classic api\n Analytics.prototype.noConflict = function () {\n console.warn(deprecationWarning);\n window.analytics = _analytics !== null && _analytics !== void 0 ? _analytics : this;\n return this;\n };\n Analytics.prototype.normalize = function (msg) {\n console.warn(deprecationWarning);\n return this.eventFactory.normalize(msg);\n };\n Object.defineProperty(Analytics.prototype, \"failedInitializations\", {\n get: function get() {\n console.warn(deprecationWarning);\n return this.queue.failedInitializations;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Analytics.prototype, \"VERSION\", {\n get: function get() {\n return version;\n },\n enumerable: false,\n configurable: true\n });\n /* @deprecated - noop */\n Analytics.prototype.initialize = function (_settings, _options) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n console.warn(deprecationWarning);\n return [2 /*return*/, Promise.resolve(this)];\n });\n });\n };\n Analytics.prototype.pageview = function (url) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n console.warn(deprecationWarning);\n return [4 /*yield*/, this.page({\n path: url\n })];\n case 1:\n _a.sent();\n return [2 /*return*/, this];\n }\n });\n });\n };\n Object.defineProperty(Analytics.prototype, \"plugins\", {\n get: function get() {\n var _a;\n console.warn(deprecationWarning);\n // @ts-expect-error\n return (_a = this._plugins) !== null && _a !== void 0 ? _a : {};\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Analytics.prototype, \"Integrations\", {\n get: function get() {\n console.warn(deprecationWarning);\n var integrations = this.queue.plugins.filter(function (plugin) {\n return plugin.type === 'destination';\n }).reduce(function (acc, plugin) {\n var name = \"\".concat(plugin.name.toLowerCase().replace('.', '').split(' ').join('-'), \"Integration\");\n // @ts-expect-error\n var integration = window[name];\n if (!integration) {\n return acc;\n }\n var nested = integration.Integration; // hack - Google Analytics function resides in the \"Integration\" field\n if (nested) {\n acc[plugin.name] = nested;\n return acc;\n }\n acc[plugin.name] = integration;\n return acc;\n }, {});\n return integrations;\n },\n enumerable: false,\n configurable: true\n });\n // snippet function\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Analytics.prototype.push = function (args) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var an = this;\n var method = args.shift();\n if (method) {\n if (!an[method]) return;\n }\n an[method].apply(this, args);\n };\n return Analytics;\n}(Emitter);\nexport { Analytics };","import { __assign } from \"tslib\";\nimport { pick } from '../../lib/pick';\n/**\n * Get the current page's canonical URL.\n */\nfunction canonical() {\n var canon = document.querySelector(\"link[rel='canonical']\");\n if (canon) {\n return canon.getAttribute('href') || undefined;\n }\n}\n/**\n * Return the canonical path for the page.\n */\nfunction canonicalPath() {\n var canon = canonical();\n if (!canon) {\n return window.location.pathname;\n }\n var a = document.createElement('a');\n a.href = canon;\n var pathname = !a.pathname.startsWith('/') ? '/' + a.pathname : a.pathname;\n return pathname;\n}\n/**\n * Return the canonical URL for the page concat the given `search`\n * and strip the hash.\n */\nexport function canonicalUrl(search) {\n if (search === void 0) {\n search = '';\n }\n var canon = canonical();\n if (canon) {\n return canon.includes('?') ? canon : \"\".concat(canon).concat(search);\n }\n var url = window.location.href;\n var i = url.indexOf('#');\n return i === -1 ? url : url.slice(0, i);\n}\n/**\n * Return a default `options.context.page` object.\n *\n * https://segment.com/docs/spec/page/#properties\n */\nexport function pageDefaults() {\n return {\n path: canonicalPath(),\n referrer: document.referrer,\n search: location.search,\n title: document.title,\n url: canonicalUrl(location.search)\n };\n}\nfunction enrichPageContext(ctx) {\n var event = ctx.event;\n event.context = event.context || {};\n var defaultPageContext = pageDefaults();\n var pageContextFromEventProps = event.properties && pick(event.properties, Object.keys(defaultPageContext));\n event.context.page = __assign(__assign(__assign({}, defaultPageContext), pageContextFromEventProps), event.context.page);\n if (event.type === 'page') {\n event.properties = __assign(__assign(__assign({}, defaultPageContext), event.properties), event.name ? {\n name: event.name\n } : {});\n }\n return ctx;\n}\nexport var pageEnrichment = {\n name: 'Page Enrichment',\n version: '0.1.0',\n isLoaded: function isLoaded() {\n return true;\n },\n load: function load() {\n return Promise.resolve();\n },\n type: 'before',\n page: enrichPageContext,\n alias: enrichPageContext,\n track: enrichPageContext,\n identify: enrichPageContext,\n group: enrichPageContext\n};","import { __spreadArray } from \"tslib\";\n/**\n * @example\n * pick({ 'a': 1, 'b': '2', 'c': 3 }, ['a', 'c'])\n * => { 'a': 1, 'c': 3 }\n */\nexport var pick = function pick(object, keys) {\n return Object.assign.apply(Object, __spreadArray([{}], keys.map(function (key) {\n var _a;\n if (object && Object.prototype.hasOwnProperty.call(object, key)) {\n return _a = {}, _a[key] = object[key], _a;\n }\n }), false));\n};","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { loadScript } from '../../lib/load-script';\nimport { getCDN } from '../../lib/parse-cdn';\nimport { applyDestinationMiddleware } from '../middleware';\nimport { Context, ContextCancelation } from '../../core/context';\nvar ActionDestination = /** @class */function () {\n function ActionDestination(name, action) {\n this.version = '1.0.0';\n this.alternativeNames = [];\n this.middleware = [];\n this.alias = this._createMethod('alias');\n this.group = this._createMethod('group');\n this.identify = this._createMethod('identify');\n this.page = this._createMethod('page');\n this.screen = this._createMethod('screen');\n this.track = this._createMethod('track');\n this.action = action;\n this.name = name;\n this.type = action.type;\n this.alternativeNames.push(action.name);\n }\n ActionDestination.prototype.addMiddleware = function () {\n var _a;\n var fn = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fn[_i] = arguments[_i];\n }\n if (this.type === 'destination') {\n (_a = this.middleware).push.apply(_a, fn);\n }\n };\n ActionDestination.prototype.transform = function (ctx) {\n return __awaiter(this, void 0, void 0, function () {\n var modifiedEvent;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n return [4 /*yield*/, applyDestinationMiddleware(this.name, ctx.event, this.middleware)];\n case 1:\n modifiedEvent = _a.sent();\n if (modifiedEvent === null) {\n ctx.cancel(new ContextCancelation({\n retry: false,\n reason: 'dropped by destination middleware'\n }));\n }\n return [2 /*return*/, new Context(modifiedEvent)];\n }\n });\n });\n };\n ActionDestination.prototype._createMethod = function (methodName) {\n var _this = this;\n return function (ctx) {\n return __awaiter(_this, void 0, void 0, function () {\n var transformedContext;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this.action[methodName]) return [2 /*return*/, ctx];\n transformedContext = ctx;\n if (!(this.type === 'destination')) return [3 /*break*/, 2];\n return [4 /*yield*/, this.transform(ctx)];\n case 1:\n transformedContext = _a.sent();\n _a.label = 2;\n case 2:\n return [4 /*yield*/, this.action[methodName](transformedContext)];\n case 3:\n _a.sent();\n return [2 /*return*/, ctx];\n }\n });\n });\n };\n };\n /* --- PASSTHROUGH METHODS --- */\n ActionDestination.prototype.isLoaded = function () {\n return this.action.isLoaded();\n };\n ActionDestination.prototype.ready = function () {\n return this.action.ready ? this.action.ready() : Promise.resolve();\n };\n ActionDestination.prototype.load = function (ctx, analytics) {\n return this.action.load(ctx, analytics);\n };\n ActionDestination.prototype.unload = function (ctx, analytics) {\n var _a, _b;\n return (_b = (_a = this.action).unload) === null || _b === void 0 ? void 0 : _b.call(_a, ctx, analytics);\n };\n return ActionDestination;\n}();\nexport { ActionDestination };\nfunction validate(pluginLike) {\n if (!Array.isArray(pluginLike)) {\n throw new Error('Not a valid list of plugins');\n }\n var required = ['load', 'isLoaded', 'name', 'version', 'type'];\n pluginLike.forEach(function (plugin) {\n required.forEach(function (method) {\n var _a;\n if (plugin[method] === undefined) {\n throw new Error(\"Plugin: \".concat((_a = plugin.name) !== null && _a !== void 0 ? _a : 'unknown', \" missing required function \").concat(method));\n }\n });\n });\n return true;\n}\nfunction isPluginDisabled(userIntegrations, remotePlugin) {\n var creationNameEnabled = userIntegrations[remotePlugin.creationName];\n var currentNameEnabled = userIntegrations[remotePlugin.name];\n // Check that the plugin isn't explicitly enabled when All: false\n if (userIntegrations.All === false && !creationNameEnabled && !currentNameEnabled) {\n return true;\n }\n // Check that the plugin isn't explicitly disabled\n if (creationNameEnabled === false || currentNameEnabled === false) {\n return true;\n }\n return false;\n}\nexport function remoteLoader(settings, userIntegrations, mergedIntegrations, obfuscate, routingMiddleware) {\n var _a, _b, _c;\n return __awaiter(this, void 0, void 0, function () {\n var allPlugins, cdn, routingRules, pluginPromises;\n var _this = this;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n allPlugins = [];\n cdn = getCDN();\n routingRules = (_b = (_a = settings.middlewareSettings) === null || _a === void 0 ? void 0 : _a.routingRules) !== null && _b !== void 0 ? _b : [];\n pluginPromises = ((_c = settings.remotePlugins) !== null && _c !== void 0 ? _c : []).map(function (remotePlugin) {\n return __awaiter(_this, void 0, void 0, function () {\n var defaultCdn, urlSplit, name_1, obfuscatedURL, error_1, libraryName, pluginFactory, plugin, plugins, routing_1, error_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (isPluginDisabled(userIntegrations, remotePlugin)) return [2 /*return*/];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 12,, 13]);\n defaultCdn = new RegExp('https://cdn.segment.(com|build)');\n if (!obfuscate) return [3 /*break*/, 7];\n urlSplit = remotePlugin.url.split('/');\n name_1 = urlSplit[urlSplit.length - 2];\n obfuscatedURL = remotePlugin.url.replace(name_1, btoa(name_1).replace(/=/g, ''));\n _a.label = 2;\n case 2:\n _a.trys.push([2, 4,, 6]);\n return [4 /*yield*/, loadScript(obfuscatedURL.replace(defaultCdn, cdn))];\n case 3:\n _a.sent();\n return [3 /*break*/, 6];\n case 4:\n error_1 = _a.sent();\n // Due to syncing concerns it is possible that the obfuscated action destination (or requested version) might not exist.\n // We should use the unobfuscated version as a fallback.\n return [4 /*yield*/, loadScript(remotePlugin.url.replace(defaultCdn, cdn))];\n case 5:\n // Due to syncing concerns it is possible that the obfuscated action destination (or requested version) might not exist.\n // We should use the unobfuscated version as a fallback.\n _a.sent();\n return [3 /*break*/, 6];\n case 6:\n return [3 /*break*/, 9];\n case 7:\n return [4 /*yield*/, loadScript(remotePlugin.url.replace(defaultCdn, cdn))];\n case 8:\n _a.sent();\n _a.label = 9;\n case 9:\n libraryName = remotePlugin.libraryName;\n if (!(typeof window[libraryName] === 'function')) return [3 /*break*/, 11];\n pluginFactory = window[libraryName];\n return [4 /*yield*/, pluginFactory(__assign(__assign({}, remotePlugin.settings), mergedIntegrations[remotePlugin.name]))];\n case 10:\n plugin = _a.sent();\n plugins = Array.isArray(plugin) ? plugin : [plugin];\n validate(plugins);\n routing_1 = routingRules.filter(function (rule) {\n return rule.destinationName === remotePlugin.creationName;\n });\n plugins.forEach(function (plugin) {\n var wrapper = new ActionDestination(remotePlugin.creationName, plugin);\n /** Make sure we only apply destination filters to actions of the \"destination\" type to avoid causing issues for hybrid destinations */\n if (routing_1.length && routingMiddleware && plugin.type === 'destination') {\n wrapper.addMiddleware(routingMiddleware);\n }\n allPlugins.push(wrapper);\n });\n _a.label = 11;\n case 11:\n return [3 /*break*/, 13];\n case 12:\n error_2 = _a.sent();\n console.warn('Failed to load Remote Plugin', error_2);\n return [3 /*break*/, 13];\n case 13:\n return [2 /*return*/];\n }\n });\n });\n });\n\n return [4 /*yield*/, Promise.all(pluginPromises)];\n case 1:\n _d.sent();\n return [2 /*return*/, allPlugins.filter(Boolean)];\n }\n });\n });\n}","/**\n * Register event listener on document that fires when:\n * * tab change or tab close (in mobile or desktop)\n * * click back / forward button\n * * click any link or perform any other navigation action\n * * soft refresh / hard refresh\n *\n * adapted from https://stackoverflow.com/questions/3239834/window-onbeforeunload-not-working-on-the-ipad/52864508#52864508,\n */\nexport var onPageLeave = function onPageLeave(cb) {\n var unloaded = false; // prevents double firing if both are supported\n window.addEventListener('pagehide', function () {\n if (unloaded) return;\n unloaded = true;\n cb();\n });\n // using document instead of window because of bug affecting browsers before safari 14 (detail in footnotes https://caniuse.com/?search=visibilitychange)\n document.addEventListener('visibilitychange', function () {\n if (document.visibilityState == 'hidden') {\n if (unloaded) return;\n unloaded = true;\n cb();\n } else {\n unloaded = false;\n }\n });\n};","import { __awaiter, __generator } from \"tslib\";\nimport { fetch } from '../../lib/fetch';\nimport { onPageLeave } from '../../lib/on-page-leave';\nvar MAX_PAYLOAD_SIZE = 500;\nfunction kilobytes(buffer) {\n var size = encodeURI(JSON.stringify(buffer)).split(/%..|./).length - 1;\n return size / 1024;\n}\n/**\n * Checks if the payload is over or close to\n * the maximum payload size allowed by tracking\n * API.\n */\nfunction approachingTrackingAPILimit(buffer) {\n return kilobytes(buffer) >= MAX_PAYLOAD_SIZE - 50;\n}\nfunction chunks(batch) {\n var result = [];\n var index = 0;\n batch.forEach(function (item) {\n var size = kilobytes(result[index]);\n if (size >= 64) {\n index++;\n }\n if (result[index]) {\n result[index].push(item);\n } else {\n result[index] = [item];\n }\n });\n return result;\n}\nexport default function batch(apiHost, config) {\n var _a, _b;\n var buffer = [];\n var pageUnloaded = false;\n var limit = (_a = config === null || config === void 0 ? void 0 : config.size) !== null && _a !== void 0 ? _a : 10;\n var timeout = (_b = config === null || config === void 0 ? void 0 : config.timeout) !== null && _b !== void 0 ? _b : 5000;\n function sendBatch(batch) {\n var _a;\n if (batch.length === 0) {\n return;\n }\n var writeKey = (_a = batch[0]) === null || _a === void 0 ? void 0 : _a.writeKey;\n return fetch(\"https://\".concat(apiHost, \"/b\"), {\n keepalive: pageUnloaded,\n headers: {\n 'Content-Type': 'text/plain'\n },\n method: 'post',\n body: JSON.stringify({\n batch: batch,\n writeKey: writeKey\n })\n });\n }\n function flush() {\n return __awaiter(this, void 0, void 0, function () {\n var batch_1;\n return __generator(this, function (_a) {\n if (buffer.length) {\n batch_1 = buffer;\n buffer = [];\n return [2 /*return*/, sendBatch(batch_1)];\n }\n return [2 /*return*/];\n });\n });\n }\n\n var schedule;\n function scheduleFlush() {\n if (schedule) {\n return;\n }\n schedule = setTimeout(function () {\n schedule = undefined;\n flush()[\"catch\"](console.error);\n }, timeout);\n }\n onPageLeave(function () {\n pageUnloaded = true;\n if (buffer.length) {\n var reqs = chunks(buffer).map(sendBatch);\n Promise.all(reqs)[\"catch\"](console.error);\n }\n });\n function dispatch(_url, body) {\n return __awaiter(this, void 0, void 0, function () {\n var bufferOverflow;\n return __generator(this, function (_a) {\n buffer.push(body);\n bufferOverflow = buffer.length >= limit || approachingTrackingAPILimit(buffer);\n return [2 /*return*/, bufferOverflow || pageUnloaded ? flush() : scheduleFlush()];\n });\n });\n }\n return {\n dispatch: dispatch\n };\n}","import { fetch } from '../../lib/fetch';\nexport default function (config) {\n function dispatch(url, body) {\n return fetch(url, {\n keepalive: config === null || config === void 0 ? void 0 : config.keepalive,\n headers: {\n 'Content-Type': 'text/plain'\n },\n method: 'post',\n body: JSON.stringify(body)\n });\n }\n return {\n dispatch: dispatch\n };\n}","import { __awaiter, __generator } from \"tslib\";\nimport { isOffline } from '../../core/connection';\nimport { Context } from '../../core/context';\nimport { attempt } from '@segment/analytics-core';\nimport { pWhile } from '../../lib/p-while';\nfunction flushQueue(xt, queue) {\n return __awaiter(this, void 0, void 0, function () {\n var failedQueue;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n failedQueue = [];\n if (isOffline()) {\n return [2 /*return*/, queue];\n }\n return [4 /*yield*/, pWhile(function () {\n return queue.length > 0 && !isOffline();\n }, function () {\n return __awaiter(_this, void 0, void 0, function () {\n var ctx, result, success;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n ctx = queue.pop();\n if (!ctx) {\n return [2 /*return*/];\n }\n\n return [4 /*yield*/, attempt(ctx, xt)];\n case 1:\n result = _a.sent();\n success = result instanceof Context;\n if (!success) {\n failedQueue.push(ctx);\n }\n return [2 /*return*/];\n }\n });\n });\n })\n // re-add failed tasks\n ];\n\n case 1:\n _a.sent();\n // re-add failed tasks\n failedQueue.map(function (failed) {\n return queue.pushWithBackoff(failed);\n });\n return [2 /*return*/, queue];\n }\n });\n });\n}\nexport function scheduleFlush(flushing, buffer, xt, scheduleFlush) {\n var _this = this;\n if (flushing) {\n return;\n }\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n setTimeout(function () {\n return __awaiter(_this, void 0, void 0, function () {\n var isFlushing, newBuffer;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n isFlushing = true;\n return [4 /*yield*/, flushQueue(xt, buffer)];\n case 1:\n newBuffer = _a.sent();\n isFlushing = false;\n if (buffer.todo > 0) {\n scheduleFlush(isFlushing, newBuffer, xt, scheduleFlush);\n }\n return [2 /*return*/];\n }\n });\n });\n }, Math.random() * 5000);\n}","import { __awaiter, __generator } from \"tslib\";\nexport function clientHints(hints) {\n return __awaiter(this, void 0, void 0, function () {\n var userAgentData;\n return __generator(this, function (_a) {\n userAgentData = navigator.userAgentData;\n if (!userAgentData) return [2 /*return*/, undefined];\n if (!hints) return [2 /*return*/, userAgentData.toJSON()];\n return [2 /*return*/, userAgentData.getHighEntropyValues(hints)[\"catch\"](function () {\n return userAgentData.toJSON();\n })];\n });\n });\n}","import { __awaiter, __generator } from \"tslib\";\nimport { isOffline } from '../../core/connection';\nimport { PriorityQueue } from '../../lib/priority-queue';\nimport { PersistedPriorityQueue } from '../../lib/priority-queue/persisted';\nimport { toFacade } from '../../lib/to-facade';\nimport batch from './batched-dispatcher';\nimport standard from './fetch-dispatcher';\nimport { normalize } from './normalize';\nimport { scheduleFlush } from './schedule-flush';\nimport { SEGMENT_API_HOST } from '../../core/constants';\nimport { clientHints } from '../../lib/client-hints';\nfunction onAlias(analytics, json) {\n var _a, _b, _c, _d;\n var user = analytics.user();\n json.previousId = (_c = (_b = (_a = json.previousId) !== null && _a !== void 0 ? _a : json.from) !== null && _b !== void 0 ? _b : user.id()) !== null && _c !== void 0 ? _c : user.anonymousId();\n json.userId = (_d = json.userId) !== null && _d !== void 0 ? _d : json.to;\n delete json.from;\n delete json.to;\n return json;\n}\nexport function segmentio(analytics, settings, integrations) {\n var _a, _b, _c;\n return __awaiter(this, void 0, void 0, function () {\n function send(ctx) {\n return __awaiter(this, void 0, void 0, function () {\n var path, json;\n return __generator(this, function (_a) {\n if (isOffline()) {\n buffer.push(ctx);\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n scheduleFlush(flushing, buffer, segmentio, scheduleFlush);\n return [2 /*return*/, ctx];\n }\n inflightEvents.add(ctx);\n path = ctx.event.type.charAt(0);\n if (userAgentData && ctx.event.context) {\n ctx.event.context.userAgentData = userAgentData;\n }\n json = toFacade(ctx.event).json();\n if (ctx.event.type === 'track') {\n delete json.traits;\n }\n if (ctx.event.type === 'alias') {\n json = onAlias(analytics, json);\n }\n return [2 /*return*/, client.dispatch(\"\".concat(remote, \"/\").concat(path), normalize(analytics, json, settings, integrations)).then(function () {\n return ctx;\n })[\"catch\"](function () {\n buffer.pushWithBackoff(ctx);\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n scheduleFlush(flushing, buffer, segmentio, scheduleFlush);\n return ctx;\n })[\"finally\"](function () {\n inflightEvents[\"delete\"](ctx);\n })];\n });\n });\n }\n var writeKey, buffer, inflightEvents, flushing, apiHost, protocol, remote, deliveryStrategy, client, userAgentData, _d, segmentio;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n // Attach `pagehide` before buffer is created so that inflight events are added\n // to the buffer before the buffer persists events in its own `pagehide` handler.\n window.addEventListener('pagehide', function () {\n buffer.push.apply(buffer, Array.from(inflightEvents));\n inflightEvents.clear();\n });\n writeKey = (_a = settings === null || settings === void 0 ? void 0 : settings.apiKey) !== null && _a !== void 0 ? _a : '';\n buffer = analytics.options.disableClientPersistence ? new PriorityQueue(analytics.queue.queue.maxAttempts, []) : new PersistedPriorityQueue(analytics.queue.queue.maxAttempts, \"\".concat(writeKey, \":dest-Segment.io\"));\n inflightEvents = new Set();\n flushing = false;\n apiHost = (_b = settings === null || settings === void 0 ? void 0 : settings.apiHost) !== null && _b !== void 0 ? _b : SEGMENT_API_HOST;\n protocol = (_c = settings === null || settings === void 0 ? void 0 : settings.protocol) !== null && _c !== void 0 ? _c : 'https';\n remote = \"\".concat(protocol, \"://\").concat(apiHost);\n deliveryStrategy = settings === null || settings === void 0 ? void 0 : settings.deliveryStrategy;\n client = (deliveryStrategy === null || deliveryStrategy === void 0 ? void 0 : deliveryStrategy.strategy) === 'batching' ? batch(apiHost, deliveryStrategy.config) : standard(deliveryStrategy === null || deliveryStrategy === void 0 ? void 0 : deliveryStrategy.config);\n _e.label = 1;\n case 1:\n _e.trys.push([1, 3,, 4]);\n return [4 /*yield*/, clientHints(analytics.options.highEntropyValuesClientHints)];\n case 2:\n userAgentData = _e.sent();\n return [3 /*break*/, 4];\n case 3:\n _d = _e.sent();\n userAgentData = undefined;\n return [3 /*break*/, 4];\n case 4:\n segmentio = {\n name: 'Segment.io',\n type: 'after',\n version: '0.1.0',\n isLoaded: function isLoaded() {\n return true;\n },\n load: function load() {\n return Promise.resolve();\n },\n track: send,\n identify: send,\n page: send,\n alias: send,\n group: send\n };\n // Buffer may already have items if they were previously stored in localStorage.\n // Start flushing them immediately.\n if (buffer.todo) {\n scheduleFlush(flushing, buffer, segmentio, scheduleFlush);\n }\n return [2 /*return*/, segmentio];\n }\n });\n });\n}","import { __extends } from \"tslib\";\nvar ValidationError = /** @class */function (_super) {\n __extends(ValidationError, _super);\n function ValidationError(field, message) {\n var _this = _super.call(this, \"\".concat(field, \" \").concat(message)) || this;\n _this.field = field;\n return _this;\n }\n return ValidationError;\n}(Error);\nexport { ValidationError };","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nimport { ValidationError } from './errors';\nimport { isString, isPlainObject, exists } from './helpers';\nvar stringError = 'is not a string';\nvar objError = 'is not an object';\nvar nilError = 'is nil';\nexport function assertUserIdentity(event) {\n var USER_FIELD_NAME = '.userId/anonymousId/previousId/groupId';\n var getAnyUserId = function getAnyUserId(event) {\n var _a, _b, _c;\n return (_c = (_b = (_a = event.userId) !== null && _a !== void 0 ? _a : event.anonymousId) !== null && _b !== void 0 ? _b : event.groupId) !== null && _c !== void 0 ? _c : event.previousId;\n };\n var id = getAnyUserId(event);\n if (!exists(id)) {\n throw new ValidationError(USER_FIELD_NAME, nilError);\n } else if (!isString(id)) {\n throw new ValidationError(USER_FIELD_NAME, stringError);\n }\n}\nexport function assertEventExists(event) {\n if (!exists(event)) {\n throw new ValidationError('Event', nilError);\n }\n if (_typeof(event) !== 'object') {\n throw new ValidationError('Event', objError);\n }\n}\nexport function assertEventType(event) {\n if (!isString(event.type)) {\n throw new ValidationError('.type', stringError);\n }\n}\nexport function assertTrackEventName(event) {\n if (!isString(event.event)) {\n throw new ValidationError('.event', stringError);\n }\n}\nexport function assertTrackEventProperties(event) {\n if (!isPlainObject(event.properties)) {\n throw new ValidationError('.properties', objError);\n }\n}\nexport function assertTraits(event) {\n if (!isPlainObject(event.traits)) {\n throw new ValidationError('.traits', objError);\n }\n}\nexport function validateEvent(event) {\n assertEventExists(event);\n assertEventType(event);\n if (event.type === 'track') {\n assertTrackEventName(event);\n assertTrackEventProperties(event);\n }\n if (['group', 'identify'].includes(event.type)) {\n assertTraits(event);\n }\n assertUserIdentity(event);\n}","import { assertUserIdentity, isPlainObject, ValidationError, assertEventExists, assertEventType, assertTrackEventName } from '@segment/analytics-core';\nfunction validate(ctx) {\n var _a;\n var event = ctx.event;\n assertEventExists(event);\n assertEventType(event);\n if (event.type === 'track') {\n assertTrackEventName(event);\n }\n var props = (_a = event.properties) !== null && _a !== void 0 ? _a : event.traits;\n if (event.type !== 'alias' && !isPlainObject(props)) {\n throw new ValidationError('.properties', 'is not an object');\n }\n assertUserIdentity(event);\n return ctx;\n}\nexport var validation = {\n name: 'Event Validation',\n type: 'before',\n version: '1.0.0',\n isLoaded: function isLoaded() {\n return true;\n },\n load: function load() {\n return Promise.resolve();\n },\n track: validate,\n identify: validate,\n page: validate,\n alias: validate,\n group: validate,\n screen: validate\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n/**\n * Check if thenable\n * (instanceof Promise doesn't respect realms)\n */\nexport var isThenable = function isThenable(value) {\n return _typeof(value) === 'object' && value !== null && 'then' in value && typeof value.then === 'function';\n};","import { __awaiter, __generator } from \"tslib\";\nimport { isThenable } from '../../lib/is-thenable';\nimport { version } from '../../generated/version';\nvar flushSyncAnalyticsCalls = function flushSyncAnalyticsCalls(name, analytics, buffer) {\n buffer.getCalls(name).forEach(function (c) {\n // While the underlying methods are synchronous, the callAnalyticsMethod returns a promise,\n // which normalizes success and error states between async and non-async methods, with no perf penalty.\n callAnalyticsMethod(analytics, c)[\"catch\"](console.error);\n });\n};\nexport var flushAddSourceMiddleware = function flushAddSourceMiddleware(analytics, buffer) {\n return __awaiter(void 0, void 0, void 0, function () {\n var _i, _a, c;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _i = 0, _a = buffer.getCalls('addSourceMiddleware');\n _b.label = 1;\n case 1:\n if (!(_i < _a.length)) return [3 /*break*/, 4];\n c = _a[_i];\n return [4 /*yield*/, callAnalyticsMethod(analytics, c)[\"catch\"](console.error)];\n case 2:\n _b.sent();\n _b.label = 3;\n case 3:\n _i++;\n return [3 /*break*/, 1];\n case 4:\n return [2 /*return*/];\n }\n });\n });\n};\n\nexport var flushOn = flushSyncAnalyticsCalls.bind(this, 'on');\nexport var flushSetAnonymousID = flushSyncAnalyticsCalls.bind(this, 'setAnonymousId');\nexport var flushAnalyticsCallsInNewTask = function flushAnalyticsCallsInNewTask(analytics, buffer) {\n buffer.toArray().forEach(function (m) {\n setTimeout(function () {\n callAnalyticsMethod(analytics, m)[\"catch\"](console.error);\n }, 0);\n });\n};\n/**\n * Represents any and all the buffered method calls that occurred before initialization.\n */\nvar PreInitMethodCallBuffer = /** @class */function () {\n function PreInitMethodCallBuffer() {\n this._value = {};\n }\n PreInitMethodCallBuffer.prototype.toArray = function () {\n var _a;\n return (_a = []).concat.apply(_a, Object.values(this._value));\n };\n PreInitMethodCallBuffer.prototype.getCalls = function (methodName) {\n var _a;\n return (_a = this._value[methodName]) !== null && _a !== void 0 ? _a : [];\n };\n PreInitMethodCallBuffer.prototype.push = function () {\n var _this = this;\n var calls = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n calls[_i] = arguments[_i];\n }\n calls.forEach(function (call) {\n if (_this._value[call.method]) {\n _this._value[call.method].push(call);\n } else {\n _this._value[call.method] = [call];\n }\n });\n return this;\n };\n PreInitMethodCallBuffer.prototype.clear = function () {\n this._value = {};\n return this;\n };\n return PreInitMethodCallBuffer;\n}();\nexport { PreInitMethodCallBuffer };\n/**\n * Call method and mark as \"called\"\n * This function should never throw an error\n */\nexport function callAnalyticsMethod(analytics, call) {\n return __awaiter(this, void 0, void 0, function () {\n var result, err_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 3,, 4]);\n if (call.called) {\n return [2 /*return*/, undefined];\n }\n call.called = true;\n result = analytics[call.method].apply(analytics, call.args);\n if (!isThenable(result)) return [3 /*break*/, 2];\n // do not defer for non-async methods\n return [4 /*yield*/, result];\n case 1:\n // do not defer for non-async methods\n _a.sent();\n _a.label = 2;\n case 2:\n call.resolve(result);\n return [3 /*break*/, 4];\n case 3:\n err_1 = _a.sent();\n call.reject(err_1);\n return [3 /*break*/, 4];\n case 4:\n return [2 /*return*/];\n }\n });\n });\n}\n\nvar AnalyticsBuffered = /** @class */function () {\n function AnalyticsBuffered(loader) {\n var _this = this;\n this._preInitBuffer = new PreInitMethodCallBuffer();\n this.trackSubmit = this._createMethod('trackSubmit');\n this.trackClick = this._createMethod('trackClick');\n this.trackLink = this._createMethod('trackLink');\n this.pageView = this._createMethod('pageview');\n this.identify = this._createMethod('identify');\n this.reset = this._createMethod('reset');\n this.group = this._createMethod('group');\n this.track = this._createMethod('track');\n this.ready = this._createMethod('ready');\n this.alias = this._createMethod('alias');\n this.debug = this._createChainableMethod('debug');\n this.page = this._createMethod('page');\n this.once = this._createChainableMethod('once');\n this.off = this._createChainableMethod('off');\n this.on = this._createChainableMethod('on');\n this.addSourceMiddleware = this._createMethod('addSourceMiddleware');\n this.setAnonymousId = this._createMethod('setAnonymousId');\n this.addDestinationMiddleware = this._createMethod('addDestinationMiddleware');\n this.screen = this._createMethod('screen');\n this.register = this._createMethod('register');\n this.deregister = this._createMethod('deregister');\n this.user = this._createMethod('user');\n this.VERSION = version;\n this._promise = loader(this._preInitBuffer);\n this._promise.then(function (_a) {\n var ajs = _a[0],\n ctx = _a[1];\n _this.instance = ajs;\n _this.ctx = ctx;\n })[\"catch\"](function () {\n // intentionally do nothing...\n // this result of this promise will be caught by the 'catch' block on this class.\n });\n }\n AnalyticsBuffered.prototype.then = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return (_a = this._promise).then.apply(_a, args);\n };\n AnalyticsBuffered.prototype[\"catch\"] = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return (_a = this._promise)[\"catch\"].apply(_a, args);\n };\n AnalyticsBuffered.prototype[\"finally\"] = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return (_a = this._promise)[\"finally\"].apply(_a, args);\n };\n AnalyticsBuffered.prototype._createMethod = function (methodName) {\n var _this = this;\n return function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (_this.instance) {\n var result = (_a = _this.instance)[methodName].apply(_a, args);\n return Promise.resolve(result);\n }\n return new Promise(function (resolve, reject) {\n _this._preInitBuffer.push({\n method: methodName,\n args: args,\n resolve: resolve,\n reject: reject,\n called: false\n });\n });\n };\n };\n /**\n * These are for methods that where determining when the method gets \"flushed\" is not important.\n * These methods will resolve when analytics is fully initialized, and return type (other than Analytics)will not be available.\n */\n AnalyticsBuffered.prototype._createChainableMethod = function (methodName) {\n var _this = this;\n return function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (_this.instance) {\n void (_a = _this.instance)[methodName].apply(_a, args);\n return _this;\n } else {\n _this._preInitBuffer.push({\n method: methodName,\n args: args,\n resolve: function resolve() {},\n reject: console.error,\n called: false\n });\n }\n return _this;\n };\n };\n return AnalyticsBuffered;\n}();\nexport { AnalyticsBuffered };","export function transformSnippetCall(_a) {\n var methodName = _a[0],\n args = _a.slice(1);\n return {\n method: methodName,\n resolve: function resolve() {},\n reject: console.error,\n args: args,\n called: false\n };\n}\nvar normalizeSnippetBuffer = function normalizeSnippetBuffer(buffer) {\n return buffer.map(transformSnippetCall);\n};\n/**\n * Fetch the buffered method calls from the window object and normalize them.\n * This removes existing buffered calls from the window object.\n */\nexport var popSnippetWindowBuffer = function popSnippetWindowBuffer() {\n var wa = window.analytics;\n if (!Array.isArray(wa)) return [];\n var buffered = wa.splice(0, wa.length);\n return normalizeSnippetBuffer(buffered);\n};","var _a;\nvar _b;\nimport { getGlobal } from '../../lib/get-global';\nvar env = getGlobal();\n// The code below assumes the inspector extension will use Object.assign\n// to add the inspect interface on to this object reference (unless the\n// extension code ran first and has already set up the variable)\nvar inspectorHost = (_a = (_b = env)['__SEGMENT_INSPECTOR__']) !== null && _a !== void 0 ? _a : _b['__SEGMENT_INSPECTOR__'] = {};\nexport var attachInspector = function attachInspector(analytics) {\n var _a;\n return (_a = inspectorHost.attach) === null || _a === void 0 ? void 0 : _a.call(inspectorHost, analytics);\n};","import { __assign, __awaiter, __extends, __generator, __spreadArray } from \"tslib\";\nimport { getProcessEnv } from '../lib/get-process-env';\nimport { getCDN, setGlobalCDNUrl } from '../lib/parse-cdn';\nimport { fetch } from '../lib/fetch';\nimport { Analytics } from '../core/analytics';\nimport { mergedOptions } from '../lib/merged-options';\nimport { createDeferred } from '../lib/create-deferred';\nimport { pageEnrichment } from '../plugins/page-enrichment';\nimport { remoteLoader } from '../plugins/remote-loader';\nimport { segmentio } from '../plugins/segmentio';\nimport { validation } from '../plugins/validation';\nimport { AnalyticsBuffered, flushAnalyticsCallsInNewTask, flushAddSourceMiddleware, flushSetAnonymousID, flushOn } from '../core/buffer';\nimport { popSnippetWindowBuffer } from '../core/buffer/snippet';\nimport { attachInspector } from '../core/inspector';\nimport { Stats } from '../core/stats';\nexport function loadLegacySettings(writeKey, cdnURL) {\n var baseUrl = cdnURL !== null && cdnURL !== void 0 ? cdnURL : getCDN();\n return fetch(\"\".concat(baseUrl, \"/v1/projects/\").concat(writeKey, \"/settings\")).then(function (res) {\n if (!res.ok) {\n return res.text().then(function (errorResponseMessage) {\n throw new Error(errorResponseMessage);\n });\n }\n return res.json();\n })[\"catch\"](function (err) {\n console.error(err.message);\n throw err;\n });\n}\nfunction hasLegacyDestinations(settings) {\n return getProcessEnv().NODE_ENV !== 'test' &&\n // just one integration means segmentio\n Object.keys(settings.integrations).length > 1;\n}\nfunction hasTsubMiddleware(settings) {\n var _a, _b, _c;\n return getProcessEnv().NODE_ENV !== 'test' && ((_c = (_b = (_a = settings.middlewareSettings) === null || _a === void 0 ? void 0 : _a.routingRules) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0) > 0;\n}\n/**\n * With AJS classic, we allow users to call setAnonymousId before the library initialization.\n * This is important because some of the destinations will use the anonymousId during the initialization,\n * and if we set anonId afterwards, that wouldn’t impact the destination.\n *\n * Also Ensures events can be registered before library initialization.\n * This is important so users can register to 'initialize' and any events that may fire early during setup.\n */\nfunction flushPreBuffer(analytics, buffer) {\n buffer.push.apply(buffer, popSnippetWindowBuffer());\n flushSetAnonymousID(analytics, buffer);\n flushOn(analytics, buffer);\n}\n/**\n * Finish flushing buffer and cleanup.\n */\nfunction flushFinalBuffer(analytics, buffer) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n // Call popSnippetWindowBuffer before each flush task since there may be\n // analytics calls during async function calls.\n buffer.push.apply(buffer, popSnippetWindowBuffer());\n return [4 /*yield*/, flushAddSourceMiddleware(analytics, buffer)];\n case 1:\n _a.sent();\n buffer.push.apply(buffer, popSnippetWindowBuffer());\n flushAnalyticsCallsInNewTask(analytics, buffer);\n // Clear buffer, just in case analytics is loaded twice; we don't want to fire events off again.\n buffer.clear();\n return [2 /*return*/];\n }\n });\n });\n}\n\nfunction registerPlugins(writeKey, legacySettings, analytics, opts, options, plugins, legacyIntegrationSources) {\n var _a, _b, _c;\n return __awaiter(this, void 0, void 0, function () {\n var tsubMiddleware, _d, legacyDestinations, _e, schemaFilter, _f, mergedSettings, remotePlugins, toRegister, shouldIgnoreSegmentio, _g, _h, ctx;\n var _this = this;\n return __generator(this, function (_j) {\n switch (_j.label) {\n case 0:\n if (!hasTsubMiddleware(legacySettings)) return [3 /*break*/, 2];\n return [4 /*yield*/, import( /* webpackChunkName: \"tsub-middleware\" */'../plugins/routing-middleware').then(function (mod) {\n return mod.tsubMiddleware(legacySettings.middlewareSettings.routingRules);\n })];\n case 1:\n _d = _j.sent();\n return [3 /*break*/, 3];\n case 2:\n _d = undefined;\n _j.label = 3;\n case 3:\n tsubMiddleware = _d;\n if (!(hasLegacyDestinations(legacySettings) || legacyIntegrationSources.length > 0)) return [3 /*break*/, 5];\n return [4 /*yield*/, import( /* webpackChunkName: \"ajs-destination\" */'../plugins/ajs-destination').then(function (mod) {\n return mod.ajsDestinations(writeKey, legacySettings, analytics.integrations, opts, tsubMiddleware, legacyIntegrationSources);\n })];\n case 4:\n _e = _j.sent();\n return [3 /*break*/, 6];\n case 5:\n _e = [];\n _j.label = 6;\n case 6:\n legacyDestinations = _e;\n if (!legacySettings.legacyVideoPluginsEnabled) return [3 /*break*/, 8];\n return [4 /*yield*/, import( /* webpackChunkName: \"legacyVideos\" */'../plugins/legacy-video-plugins').then(function (mod) {\n return mod.loadLegacyVideoPlugins(analytics);\n })];\n case 7:\n _j.sent();\n _j.label = 8;\n case 8:\n if (!((_a = opts.plan) === null || _a === void 0 ? void 0 : _a.track)) return [3 /*break*/, 10];\n return [4 /*yield*/, import( /* webpackChunkName: \"schemaFilter\" */'../plugins/schema-filter').then(function (mod) {\n var _a;\n return mod.schemaFilter((_a = opts.plan) === null || _a === void 0 ? void 0 : _a.track, legacySettings);\n })];\n case 9:\n _f = _j.sent();\n return [3 /*break*/, 11];\n case 10:\n _f = undefined;\n _j.label = 11;\n case 11:\n schemaFilter = _f;\n mergedSettings = mergedOptions(legacySettings, options);\n return [4 /*yield*/, remoteLoader(legacySettings, analytics.integrations, mergedSettings, options.obfuscate, tsubMiddleware)[\"catch\"](function () {\n return [];\n })];\n case 12:\n remotePlugins = _j.sent();\n toRegister = __spreadArray(__spreadArray(__spreadArray([validation, pageEnrichment], plugins, true), legacyDestinations, true), remotePlugins, true);\n if (schemaFilter) {\n toRegister.push(schemaFilter);\n }\n shouldIgnoreSegmentio = ((_b = opts.integrations) === null || _b === void 0 ? void 0 : _b.All) === false && !opts.integrations['Segment.io'] || opts.integrations && opts.integrations['Segment.io'] === false;\n if (!!shouldIgnoreSegmentio) return [3 /*break*/, 14];\n _h = (_g = toRegister).push;\n return [4 /*yield*/, segmentio(analytics, mergedSettings['Segment.io'], legacySettings.integrations)];\n case 13:\n _h.apply(_g, [_j.sent()]);\n _j.label = 14;\n case 14:\n return [4 /*yield*/, analytics.register.apply(analytics, toRegister)];\n case 15:\n ctx = _j.sent();\n if (!Object.entries((_c = legacySettings.enabledMiddleware) !== null && _c !== void 0 ? _c : {}).some(function (_a) {\n var enabled = _a[1];\n return enabled;\n })) return [3 /*break*/, 17];\n return [4 /*yield*/, import( /* webpackChunkName: \"remoteMiddleware\" */'../plugins/remote-middleware').then(function (_a) {\n var remoteMiddlewares = _a.remoteMiddlewares;\n return __awaiter(_this, void 0, void 0, function () {\n var middleware, promises;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n return [4 /*yield*/, remoteMiddlewares(ctx, legacySettings, options.obfuscate)];\n case 1:\n middleware = _b.sent();\n promises = middleware.map(function (mdw) {\n return analytics.addSourceMiddleware(mdw);\n });\n return [2 /*return*/, Promise.all(promises)];\n }\n });\n });\n })];\n case 16:\n _j.sent();\n _j.label = 17;\n case 17:\n return [2 /*return*/, ctx];\n }\n });\n });\n}\nfunction loadAnalytics(settings, options, preInitBuffer) {\n var _a, _b, _c, _d, _e, _f, _g;\n if (options === void 0) {\n options = {};\n }\n return __awaiter(this, void 0, void 0, function () {\n var legacySettings, _h, retryQueue, opts, analytics, plugins, classicIntegrations, ctx, search, hash, term;\n return __generator(this, function (_j) {\n switch (_j.label) {\n case 0:\n // this is an ugly side-effect, but it's for the benefits of the plugins that get their cdn via getCDN()\n if (settings.cdnURL) setGlobalCDNUrl(settings.cdnURL);\n if (!((_a = settings.cdnSettings) !== null && _a !== void 0)) return [3 /*break*/, 1];\n _h = _a;\n return [3 /*break*/, 3];\n case 1:\n return [4 /*yield*/, loadLegacySettings(settings.writeKey, settings.cdnURL)];\n case 2:\n _h = _j.sent();\n _j.label = 3;\n case 3:\n legacySettings = _h;\n if (options.updateCDNSettings) {\n legacySettings = options.updateCDNSettings(legacySettings);\n }\n retryQueue = (_c = (_b = legacySettings.integrations['Segment.io']) === null || _b === void 0 ? void 0 : _b.retryQueue) !== null && _c !== void 0 ? _c : true;\n opts = __assign({\n retryQueue: retryQueue\n }, options);\n analytics = new Analytics(settings, opts);\n attachInspector(analytics);\n plugins = (_d = settings.plugins) !== null && _d !== void 0 ? _d : [];\n classicIntegrations = (_e = settings.classicIntegrations) !== null && _e !== void 0 ? _e : [];\n Stats.initRemoteMetrics(legacySettings.metrics);\n // needs to be flushed before plugins are registered\n flushPreBuffer(analytics, preInitBuffer);\n return [4 /*yield*/, registerPlugins(settings.writeKey, legacySettings, analytics, opts, options, plugins, classicIntegrations)];\n case 4:\n ctx = _j.sent();\n search = (_f = window.location.search) !== null && _f !== void 0 ? _f : '';\n hash = (_g = window.location.hash) !== null && _g !== void 0 ? _g : '';\n term = search.length ? search : hash.replace(/(?=#).*(?=\\?)/, '');\n if (!term.includes('ajs_')) return [3 /*break*/, 6];\n return [4 /*yield*/, analytics.queryString(term)[\"catch\"](console.error)];\n case 5:\n _j.sent();\n _j.label = 6;\n case 6:\n analytics.initialized = true;\n analytics.emit('initialize', settings, options);\n if (options.initialPageview) {\n analytics.page()[\"catch\"](console.error);\n }\n return [4 /*yield*/, flushFinalBuffer(analytics, preInitBuffer)];\n case 7:\n _j.sent();\n return [2 /*return*/, [analytics, ctx]];\n }\n });\n });\n}\n/**\n * The public browser interface for Segment Analytics\n *\n * @example\n * ```ts\n * export const analytics = new AnalyticsBrowser()\n * analytics.load({ writeKey: 'foo' })\n * ```\n * @link https://github.com/segmentio/analytics-next/#readme\n */\nvar AnalyticsBrowser = /** @class */function (_super) {\n __extends(AnalyticsBrowser, _super);\n function AnalyticsBrowser() {\n var _this = this;\n var _a = createDeferred(),\n loadStart = _a.promise,\n resolveLoadStart = _a.resolve;\n _this = _super.call(this, function (buffer) {\n return loadStart.then(function (_a) {\n var settings = _a[0],\n options = _a[1];\n return loadAnalytics(settings, options, buffer);\n });\n }) || this;\n _this._resolveLoadStart = function (settings, options) {\n return resolveLoadStart([settings, options]);\n };\n return _this;\n }\n /**\n * Fully initialize an analytics instance, including:\n *\n * * Fetching settings from the segment CDN (by default).\n * * Fetching all remote destinations configured by the user (if applicable).\n * * Flushing buffered analytics events.\n * * Loading all middleware.\n *\n * Note:️ This method should only be called *once* in your application.\n *\n * @example\n * ```ts\n * export const analytics = new AnalyticsBrowser()\n * analytics.load({ writeKey: 'foo' })\n * ```\n */\n AnalyticsBrowser.prototype.load = function (settings, options) {\n if (options === void 0) {\n options = {};\n }\n this._resolveLoadStart(settings, options);\n return this;\n };\n /**\n * Instantiates an object exposing Analytics methods.\n *\n * @example\n * ```ts\n * const ajs = AnalyticsBrowser.load({ writeKey: '' })\n *\n * ajs.track(\"foo\")\n * ...\n * ```\n */\n AnalyticsBrowser.load = function (settings, options) {\n if (options === void 0) {\n options = {};\n }\n return new AnalyticsBrowser().load(settings, options);\n };\n AnalyticsBrowser.standalone = function (writeKey, options) {\n return AnalyticsBrowser.load({\n writeKey: writeKey\n }, options).then(function (res) {\n return res[0];\n });\n };\n return AnalyticsBrowser;\n}(AnalyticsBuffered);\nexport { AnalyticsBrowser };","/**\n * Return a promise that can be externally resolved\n */\nexport var createDeferred = function createDeferred() {\n var resolve;\n var reject;\n var promise = new Promise(function (_resolve, _reject) {\n resolve = _resolve;\n reject = _reject;\n });\n return {\n resolve: resolve,\n reject: reject,\n promise: promise\n };\n};","import { AnalyticsBrowser } from '@segment/analytics-next'\n\nimport { internalLog, log } from './logger'\n\n// IP addresses are anonymised in Segment calls (identify and track) to avoid any PII being captured\n// See https://segment.com/docs/connections/sources/catalog/libraries/website/javascript/identity/#anonymizing-ip for info.\n\nlet segmentAnalytics\nif (window.provenance && window.provenance.segmentWriteKey) {\n segmentAnalytics = AnalyticsBrowser.load({ writeKey: window.provenance.segmentWriteKey })\n // The Segment user is defined as an account identifier\n console.debug('Init Segment', window.provenance.segmentWriteKey)\n if (window.provenance.segmentUserId) {\n segmentAnalytics.identify(window.provenance.segmentUserId, {}, { context: { ip: '0.0.0.0' } })\n }\n}\n\nconst postEventToGTM = (event, properties) => {\n // console.log('Track event: GTM', event, properties)\n\n properties.eventCategory = properties.eventCategory ? `provenance:${properties.eventCategory}` : event\n\n try {\n // Old-style IFrame tracking\n if (window.xprops && window.xprops.track) {\n window.xprops.track(event, properties)\n }\n\n const eventData = properties\n eventData.event = event\n\n // New-style IFrame tracking\n if (window.xprops && window.xprops.onChildEvent) {\n const event = {\n name: 'analytics_event',\n data: {\n details: eventData\n }\n }\n window.xprops.onChildEvent(event)\n }\n\n // Also push to the data layer of the iFrame, for internal capture\n window.dataLayer = window.dataLayer || []\n window.dataLayer.push(eventData)\n } catch (error) {\n log(error)\n }\n}\n\nconst postEventToSegment = (event, properties) => {\n if (window.provenance.segmentWriteKey) {\n // console.log('Track event: Segment', event, properties)\n segmentAnalytics.track(event, properties, { context: { ip: '0.0.0.0' } })\n }\n}\n\n// For tracking events on platform embedded content\nconst track = (event, properties, options = {}) => {\n const adapter = options.adapter || 'gtm'\n // Prefix all event names with \"provenance:\"\n event = `provenance:${event}`\n const undefinedProvEventProps = []\n for (const property in properties) {\n if (properties[property] === undefined || properties[property] === '') {\n undefinedProvEventProps.push('Property ' + property + ' undefined')\n }\n }\n if (undefinedProvEventProps.length > 0) {\n internalLog(undefinedProvEventProps, event, properties, adapter)\n }\n\n // TODO: add adapters to gtm track calls and segment tracking (plus adapter) to all track calls\n if (adapter === 'segment') {\n postEventToSegment(event, properties)\n } else {\n postEventToGTM(event, properties)\n }\n}\n\nconst trackInApp = (event, properties) => {\n postEventToSegment(event, properties)\n}\n\nexport { track, trackInApp, segmentAnalytics }\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n while (len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\nfunction noop() {}\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\nprocess.listeners = function (name) {\n return [];\n};\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\nprocess.cwd = function () {\n return '/';\n};\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function () {\n return 0;\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\n/* global Reflect, Promise */\n\nvar _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n return _extendStatics(d, b);\n};\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n _extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nvar _assign = function __assign() {\n _assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return _assign.apply(this, arguments);\n};\nexport { _assign as __assign };\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length,\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n d;\n if ((typeof Reflect === \"undefined\" ? \"undefined\" : _typeof(Reflect)) === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nexport function __param(paramIndex, decorator) {\n return function (target, key) {\n decorator(target, key, paramIndex);\n };\n}\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind,\n key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _,\n done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || _typeof(result) !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n}\n;\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n}\n;\nexport function __propKey(x) {\n return _typeof(x) === \"symbol\" ? x : \"\".concat(x);\n}\n;\nexport function __setFunctionName(f, name, prefix) {\n if (_typeof(name) === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n}\n;\nexport function __metadata(metadataKey, metadataValue) {\n if ((typeof Reflect === \"undefined\" ? \"undefined\" : _typeof(Reflect)) === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\nexport function __generator(thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\nexport var __createBinding = Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n };\n }\n Object.defineProperty(o, k2, desc);\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n};\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator,\n m = s && o[s],\n i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function next() {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j];\n return r;\n}\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []),\n i,\n q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i;\n function verb(n) {\n if (g[n]) i[n] = function (v) {\n return new Promise(function (a, b) {\n q.push([n, v, a, b]) > 1 || resume(n, v);\n });\n };\n }\n function resume(n, v) {\n try {\n step(g[n](v));\n } catch (e) {\n settle(q[0][3], e);\n }\n }\n function step(r) {\n r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n }\n function fulfill(value) {\n resume(\"next\", value);\n }\n function reject(value) {\n resume(\"throw\", value);\n }\n function settle(f, v) {\n if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n }\n}\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) {\n throw e;\n }), verb(\"return\"), i[Symbol.iterator] = function () {\n return this;\n }, i;\n function verb(n, f) {\n i[n] = o[n] ? function (v) {\n return (p = !p) ? {\n value: __await(o[n](v)),\n done: false\n } : f ? f(v) : v;\n } : f;\n }\n}\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator],\n i;\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 () {\n return this;\n }, i);\n function verb(n) {\n i[n] = o[n] && function (v) {\n return new Promise(function (resolve, reject) {\n v = o[n](v), settle(resolve, reject, v.done, v.value);\n });\n };\n }\n function settle(resolve, reject, d, v) {\n Promise.resolve(v).then(function (v) {\n resolve({\n value: v,\n done: d\n });\n }, reject);\n }\n}\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) {\n Object.defineProperty(cooked, \"raw\", {\n value: raw\n });\n } else {\n cooked.raw = raw;\n }\n return cooked;\n}\n;\nvar __setModuleDefault = Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n};\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\nexport function __importDefault(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n}\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n}\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || _typeof(receiver) !== \"object\" && typeof receiver !== \"function\") throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\nexport default {\n __extends: __extends,\n __assign: _assign,\n __rest: __rest,\n __decorate: __decorate,\n __param: __param,\n __metadata: __metadata,\n __awaiter: __awaiter,\n __generator: __generator,\n __createBinding: __createBinding,\n __exportStar: __exportStar,\n __values: __values,\n __read: __read,\n __spread: __spread,\n __spreadArrays: __spreadArrays,\n __spreadArray: __spreadArray,\n __await: __await,\n __asyncGenerator: __asyncGenerator,\n __asyncDelegator: __asyncDelegator,\n __asyncValues: __asyncValues,\n __makeTemplateObject: __makeTemplateObject,\n __importStar: __importStar,\n __importDefault: __importDefault,\n __classPrivateFieldGet: __classPrivateFieldGet,\n __classPrivateFieldSet: __classPrivateFieldSet,\n __classPrivateFieldIn: __classPrivateFieldIn\n};","var identity = function identity(_) {\n return _;\n};\n\n/**\n * Module exports, export\n */\n\nmodule.exports = multiple(find);\nmodule.exports.find = module.exports;\n\n/**\n * Export the replacement function, return the modified object\n */\n\nmodule.exports.replace = function (obj, key, val, options) {\n multiple(replace).call(this, obj, key, val, options);\n return obj;\n};\n\n/**\n * Export the delete function, return the modified object\n */\n\nmodule.exports.del = function (obj, key, options) {\n multiple(del).call(this, obj, key, null, options);\n return obj;\n};\n\n/**\n * Compose applying the function to a nested key\n */\n\nfunction multiple(fn) {\n return function (obj, path, val, options) {\n var normalize = options && isFunction(options.normalizer) ? options.normalizer : defaultNormalize;\n path = normalize(path);\n var key;\n var finished = false;\n while (!finished) loop();\n function loop() {\n for (key in obj) {\n var normalizedKey = normalize(key);\n if (0 === path.indexOf(normalizedKey)) {\n var temp = path.substr(normalizedKey.length);\n if (temp.charAt(0) === '.' || temp.length === 0) {\n path = temp.substr(1);\n var child = obj[key];\n\n // we're at the end and there is nothing.\n if (null == child) {\n finished = true;\n return;\n }\n\n // we're at the end and there is something.\n if (!path.length) {\n finished = true;\n return;\n }\n\n // step into child\n obj = child;\n\n // but we're done here\n return;\n }\n }\n }\n key = undefined;\n // if we found no matching properties\n // on the current object, there's no match.\n finished = true;\n }\n if (!key) return;\n if (null == obj) return obj;\n\n // the `obj` and `key` is one above the leaf object and key, so\n // start object: { a: { 'b.c': 10 } }\n // end object: { 'b.c': 10 }\n // end key: 'b.c'\n // this way, you can do `obj[key]` and get `10`.\n return fn(obj, key, val);\n };\n}\n\n/**\n * Find an object by its key\n *\n * find({ first_name : 'Calvin' }, 'firstName')\n */\n\nfunction find(obj, key) {\n if (obj.hasOwnProperty(key)) return obj[key];\n}\n\n/**\n * Delete a value for a given key\n *\n * del({ a : 'b', x : 'y' }, 'X' }) -> { a : 'b' }\n */\n\nfunction del(obj, key) {\n if (obj.hasOwnProperty(key)) delete obj[key];\n return obj;\n}\n\n/**\n * Replace an objects existing value with a new one\n *\n * replace({ a : 'b' }, 'a', 'c') -> { a : 'c' }\n */\n\nfunction replace(obj, key, val) {\n if (obj.hasOwnProperty(key)) obj[key] = val;\n return obj;\n}\n\n/**\n * Normalize a `dot.separated.path`.\n *\n * A.HELL(!*&#(!)O_WOR LD.bar => ahelloworldbar\n *\n * @param {String} path\n * @return {String}\n */\n\nfunction defaultNormalize(path) {\n return path.replace(/[^a-zA-Z0-9\\.]+/g, '').toLowerCase();\n}\n\n/**\n * Check if a value is a function.\n *\n * @param {*} val\n * @return {boolean} Returns `true` if `val` is a function, otherwise `false`.\n */\n\nfunction isFunction(val) {\n return typeof val === 'function';\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar matcher = /.+\\@.+\\..+/;\nfunction isEmail(string) {\n return matcher.test(string);\n}\nexports[\"default\"] = isEmail;","export function isBrowser() {\n return typeof window !== 'undefined';\n}\nexport function isServer() {\n return !isBrowser();\n}","export var SEGMENT_API_HOST = 'api.segment.io/v1';","import { __assign } from \"tslib\";\nimport jar from 'js-cookie';\nimport { gracefulDecodeURIComponent } from '../../core/query-string/gracefulDecodeURIComponent';\nimport { tld } from '../../core/user/tld';\nimport { version } from '../../generated/version';\nimport { getAvailableStorageOptions, UniversalStorage } from '../../core/user';\nvar cookieOptions;\nfunction getCookieOptions() {\n if (cookieOptions) {\n return cookieOptions;\n }\n var domain = tld(window.location.href);\n cookieOptions = {\n expires: 31536000000,\n secure: false,\n path: '/'\n };\n if (domain) {\n cookieOptions.domain = domain;\n }\n return cookieOptions;\n}\n// Default value will be updated to 'web' in `bundle-umd.ts` for web build.\nvar _version = 'npm';\nexport function setVersionType(version) {\n _version = version;\n}\nexport function getVersionType() {\n return _version;\n}\nexport function ampId() {\n var ampId = jar.get('_ga');\n if (ampId && ampId.startsWith('amp')) {\n return ampId;\n }\n}\nexport function utm(query) {\n if (query.startsWith('?')) {\n query = query.substring(1);\n }\n query = query.replace(/\\?/g, '&');\n return query.split('&').reduce(function (acc, str) {\n var _a = str.split('='),\n k = _a[0],\n _b = _a[1],\n v = _b === void 0 ? '' : _b;\n if (k.includes('utm_') && k.length > 4) {\n var utmParam = k.substr(4);\n if (utmParam === 'campaign') {\n utmParam = 'name';\n }\n acc[utmParam] = gracefulDecodeURIComponent(v);\n }\n return acc;\n }, {});\n}\nfunction ads(query) {\n var queryIds = {\n btid: 'dataxu',\n urid: 'millennial-media'\n };\n if (query.startsWith('?')) {\n query = query.substring(1);\n }\n query = query.replace(/\\?/g, '&');\n var parts = query.split('&');\n for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) {\n var part = parts_1[_i];\n var _a = part.split('='),\n k = _a[0],\n v = _a[1];\n if (queryIds[k]) {\n return {\n id: v,\n type: queryIds[k]\n };\n }\n }\n}\nfunction referrerId(query, ctx, disablePersistance) {\n var storage = new UniversalStorage(disablePersistance ? [] : ['cookie'], getAvailableStorageOptions(getCookieOptions()));\n var stored = storage.get('s:context.referrer');\n var ad = ads(query);\n ad = ad !== null && ad !== void 0 ? ad : stored;\n if (!ad) {\n return;\n }\n if (ctx) {\n ctx.referrer = __assign(__assign({}, ctx.referrer), ad);\n }\n storage.set('s:context.referrer', ad);\n}\nexport function normalize(analytics, json, settings, integrations) {\n var _a, _b, _c, _d, _e;\n var user = analytics.user();\n // context should always exist here (see page enrichment)? ... and why would we default to json.options? todo: delete this\n json.context = (_b = (_a = json.context) !== null && _a !== void 0 ? _a : json.options) !== null && _b !== void 0 ? _b : {};\n var ctx = json.context;\n // This guard against missing ctx.page should not be neccessary, since context.page is always defined\n var query = ((_c = ctx.page) === null || _c === void 0 ? void 0 : _c.search) || '';\n delete json.options;\n json.writeKey = settings === null || settings === void 0 ? void 0 : settings.apiKey;\n ctx.userAgent = navigator.userAgent;\n // @ts-ignore\n var locale = navigator.userLanguage || navigator.language;\n if (typeof ctx.locale === 'undefined' && typeof locale !== 'undefined') {\n ctx.locale = locale;\n }\n if (!ctx.library) {\n var type = getVersionType();\n if (type === 'web') {\n ctx.library = {\n name: 'analytics.js',\n version: \"next-\".concat(version)\n };\n } else {\n ctx.library = {\n name: 'analytics.js',\n version: \"npm:next-\".concat(version)\n };\n }\n }\n if (query && !ctx.campaign) {\n ctx.campaign = utm(query);\n }\n referrerId(query, ctx, (_d = analytics.options.disableClientPersistence) !== null && _d !== void 0 ? _d : false);\n json.userId = json.userId || user.id();\n json.anonymousId = json.anonymousId || user.anonymousId();\n json.sentAt = new Date();\n var failed = analytics.queue.failedInitializations || [];\n if (failed.length > 0) {\n json._metadata = {\n failedInitializations: failed\n };\n }\n var bundled = [];\n var unbundled = [];\n for (var key in integrations) {\n var integration = integrations[key];\n if (key === 'Segment.io') {\n bundled.push(key);\n }\n if (integration.bundlingStatus === 'bundled') {\n bundled.push(key);\n }\n if (integration.bundlingStatus === 'unbundled') {\n unbundled.push(key);\n }\n }\n // This will make sure that the disabled cloud mode destinations will be\n // included in the unbundled list.\n for (var _i = 0, _f = (settings === null || settings === void 0 ? void 0 : settings.unbundledIntegrations) || []; _i < _f.length; _i++) {\n var settingsUnbundled = _f[_i];\n if (!unbundled.includes(settingsUnbundled)) {\n unbundled.push(settingsUnbundled);\n }\n }\n var configIds = (_e = settings === null || settings === void 0 ? void 0 : settings.maybeBundledConfigIds) !== null && _e !== void 0 ? _e : {};\n var bundledConfigIds = [];\n bundled.sort().forEach(function (name) {\n var _a;\n ;\n ((_a = configIds[name]) !== null && _a !== void 0 ? _a : []).forEach(function (id) {\n bundledConfigIds.push(id);\n });\n });\n if ((settings === null || settings === void 0 ? void 0 : settings.addBundledMetadata) !== false) {\n json._metadata = __assign(__assign({}, json._metadata), {\n bundled: bundled.sort(),\n unbundled: unbundled.sort(),\n bundledIds: bundledConfigIds\n });\n }\n var amp = ampId();\n if (amp) {\n ctx.amp = {\n id: amp\n };\n }\n return json;\n}","import cookie from 'js-cookie';\n/**\n * Levels returns all levels of the given url.\n *\n * @param {string} url\n * @return {Array}\n * @api public\n */\nfunction levels(url) {\n var host = url.hostname;\n var parts = host.split('.');\n var last = parts[parts.length - 1];\n var levels = [];\n // Ip address.\n if (parts.length === 4 && parseInt(last, 10) > 0) {\n return levels;\n }\n // Localhost.\n if (parts.length <= 1) {\n return levels;\n }\n // Create levels.\n for (var i = parts.length - 2; i >= 0; --i) {\n levels.push(parts.slice(i).join('.'));\n }\n return levels;\n}\nfunction parseUrl(url) {\n try {\n return new URL(url);\n } catch (_a) {\n return;\n }\n}\nexport function tld(url) {\n var parsedUrl = parseUrl(url);\n if (!parsedUrl) return;\n var lvls = levels(parsedUrl);\n // Lookup the real top level one.\n for (var i = 0; i < lvls.length; ++i) {\n var cname = '__tld__';\n var domain = lvls[i];\n var opts = {\n domain: '.' + domain\n };\n try {\n // cookie access throw an error if the library is ran inside a sandboxed environment (e.g. sandboxed iframe)\n cookie.set(cname, '1', opts);\n if (cookie.get(cname)) {\n cookie.remove(cname, opts);\n return domain;\n }\n } catch (_) {\n return;\n }\n }\n}","/**\n * Event Emitter that takes the expected contract as a generic\n * @example\n * ```ts\n * type Contract = {\n * delivery_success: [DeliverySuccessResponse, Metrics],\n * delivery_failure: [DeliveryError]\n * }\n * new Emitter()\n * .on('delivery_success', (res, metrics) => ...)\n * .on('delivery_failure', (err) => ...)\n * ```\n */\nvar Emitter = /** @class */function () {\n function Emitter() {\n this.callbacks = {};\n }\n Emitter.prototype.on = function (event, callback) {\n if (!this.callbacks[event]) {\n this.callbacks[event] = [callback];\n } else {\n this.callbacks[event].push(callback);\n }\n return this;\n };\n Emitter.prototype.once = function (event, callback) {\n var _this = this;\n var on = function on() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this.off(event, on);\n callback.apply(_this, args);\n };\n this.on(event, on);\n return this;\n };\n Emitter.prototype.off = function (event, callback) {\n var _a;\n var fns = (_a = this.callbacks[event]) !== null && _a !== void 0 ? _a : [];\n var without = fns.filter(function (fn) {\n return fn !== callback;\n });\n this.callbacks[event] = without;\n return this;\n };\n Emitter.prototype.emit = function (event) {\n var _this = this;\n var _a;\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var callbacks = (_a = this.callbacks[event]) !== null && _a !== void 0 ? _a : [];\n callbacks.forEach(function (callback) {\n callback.apply(_this, args);\n });\n return this;\n };\n return Emitter;\n}();\nexport { Emitter };","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { fetch } from '../../lib/fetch';\nimport { version } from '../../generated/version';\nimport { getVersionType } from '../../plugins/segmentio/normalize';\nimport { SEGMENT_API_HOST } from '../constants';\nvar createRemoteMetric = function createRemoteMetric(metric, tags, versionType) {\n var formattedTags = tags.reduce(function (acc, t) {\n var _a = t.split(':'),\n k = _a[0],\n v = _a[1];\n acc[k] = v;\n return acc;\n }, {});\n return {\n type: 'Counter',\n metric: metric,\n value: 1,\n tags: __assign(__assign({}, formattedTags), {\n library: 'analytics.js',\n library_version: versionType === 'web' ? \"next-\".concat(version) : \"npm:next-\".concat(version)\n })\n };\n};\nfunction logError(err) {\n console.error('Error sending segment performance metrics', err);\n}\nvar RemoteMetrics = /** @class */function () {\n function RemoteMetrics(options) {\n var _this = this;\n var _a, _b, _c, _d;\n this.host = (_a = options === null || options === void 0 ? void 0 : options.host) !== null && _a !== void 0 ? _a : SEGMENT_API_HOST;\n this.sampleRate = (_b = options === null || options === void 0 ? void 0 : options.sampleRate) !== null && _b !== void 0 ? _b : 1;\n this.flushTimer = (_c = options === null || options === void 0 ? void 0 : options.flushTimer) !== null && _c !== void 0 ? _c : 30 * 1000; /* 30s */\n this.maxQueueSize = (_d = options === null || options === void 0 ? void 0 : options.maxQueueSize) !== null && _d !== void 0 ? _d : 20;\n this.queue = [];\n if (this.sampleRate > 0) {\n var flushing_1 = false;\n var run_1 = function run_1() {\n if (flushing_1) {\n return;\n }\n flushing_1 = true;\n _this.flush()[\"catch\"](logError);\n flushing_1 = false;\n setTimeout(run_1, _this.flushTimer);\n };\n run_1();\n }\n }\n RemoteMetrics.prototype.increment = function (metric, tags) {\n // All metrics are part of an allow list in Tracking API\n if (!metric.includes('analytics_js.')) {\n return;\n }\n // /m doesn't like empty tags\n if (tags.length === 0) {\n return;\n }\n if (Math.random() > this.sampleRate) {\n return;\n }\n if (this.queue.length >= this.maxQueueSize) {\n return;\n }\n var remoteMetric = createRemoteMetric(metric, tags, getVersionType());\n this.queue.push(remoteMetric);\n if (metric.includes('error')) {\n this.flush()[\"catch\"](logError);\n }\n };\n RemoteMetrics.prototype.flush = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.queue.length <= 0) {\n return [2 /*return*/];\n }\n\n return [4 /*yield*/, this.send()[\"catch\"](function (error) {\n logError(error);\n _this.sampleRate = 0;\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n\n RemoteMetrics.prototype.send = function () {\n return __awaiter(this, void 0, void 0, function () {\n var payload, headers, url;\n return __generator(this, function (_a) {\n payload = {\n series: this.queue\n };\n this.queue = [];\n headers = {\n 'Content-Type': 'text/plain'\n };\n url = \"https://\".concat(this.host, \"/m\");\n return [2 /*return*/, fetch(url, {\n headers: headers,\n body: JSON.stringify(payload),\n method: 'POST'\n })];\n });\n });\n };\n return RemoteMetrics;\n}();\nexport { RemoteMetrics };","import { __extends } from \"tslib\";\nimport { CoreStats } from '@segment/analytics-core';\nimport { RemoteMetrics } from './remote-metrics';\nvar remoteMetrics;\nvar Stats = /** @class */function (_super) {\n __extends(Stats, _super);\n function Stats() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Stats.initRemoteMetrics = function (options) {\n remoteMetrics = new RemoteMetrics(options);\n };\n Stats.prototype.increment = function (metric, by, tags) {\n _super.prototype.increment.call(this, metric, by, tags);\n remoteMetrics === null || remoteMetrics === void 0 ? void 0 : remoteMetrics.increment(metric, tags !== null && tags !== void 0 ? tags : []);\n };\n return Stats;\n}(CoreStats);\nexport { Stats };","function findScript(src) {\n var scripts = Array.prototype.slice.call(window.document.querySelectorAll('script'));\n return scripts.find(function (s) {\n return s.src === src;\n });\n}\nexport function loadScript(src, attributes) {\n var found = findScript(src);\n if (found !== undefined) {\n var status_1 = found === null || found === void 0 ? void 0 : found.getAttribute('status');\n if (status_1 === 'loaded') {\n return Promise.resolve(found);\n }\n if (status_1 === 'loading') {\n return new Promise(function (resolve, reject) {\n found.addEventListener('load', function () {\n return resolve(found);\n });\n found.addEventListener('error', function (err) {\n return reject(err);\n });\n });\n }\n }\n return new Promise(function (resolve, reject) {\n var _a;\n var script = window.document.createElement('script');\n script.type = 'text/javascript';\n script.src = src;\n script.async = true;\n script.setAttribute('status', 'loading');\n for (var _i = 0, _b = Object.entries(attributes !== null && attributes !== void 0 ? attributes : {}); _i < _b.length; _i++) {\n var _c = _b[_i],\n k = _c[0],\n v = _c[1];\n script.setAttribute(k, v);\n }\n script.onload = function () {\n script.onerror = script.onload = null;\n script.setAttribute('status', 'loaded');\n resolve(script);\n };\n script.onerror = function () {\n script.onerror = script.onload = null;\n script.setAttribute('status', 'error');\n reject(new Error(\"Failed to load \".concat(src)));\n };\n var tag = window.document.getElementsByTagName('script')[0];\n (_a = tag.parentElement) === null || _a === void 0 ? void 0 : _a.insertBefore(script, tag);\n });\n}\nexport function unloadScript(src) {\n var found = findScript(src);\n if (found !== undefined) {\n found.remove();\n }\n return Promise.resolve();\n}"],"sourceRoot":""}