PageSourceSearch

https://app.napkin.ai/bundle/a-web-lib/bundle.js?t=1790233294

js napkin.ai collected 2026-09-24 09:24:33 UTC 66,178 bytes, 2 lines download raw bytes

1var analytics;(()=>{"use strict";const e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}};let t={};function n(e){function t(e,t){Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.message=e,this.code=t}return t.prototype=new Error,t.prototype.name=e,t.prototype.constructor=t,t}e.r(t),e.d(t,{FacebookInterop:()=>pt,GoogleAdsInterop:()=>ht,GoogleAnalyticsInterop:()=>vt,LaunchDarklyContext:()=>ct,LaunchDarklyInterop:()=>lt,OpenReplayEvent:()=>ft,OpenReplayInterop:()=>gt,RewardfulInterop:()=>mt,SentryEvent:()=>ut,SentryInterop:()=>dt});const r=n("LaunchDarklyUnexpectedResponseError"),o=n("LaunchDarklyInvalidEnvironmentIdError"),i=n("LaunchDarklyInvalidUserError"),a=n("LaunchDarklyInvalidEventKeyError"),s=n("LaunchDarklyInvalidArgumentError"),c=n("LaunchDarklyFlagFetchError");for(var l={LDUnexpectedResponseError:r,LDInvalidEnvironmentIdError:o,LDInvalidUserError:i,LDInvalidEventKeyError:a,LDInvalidArgumentError:s,LDInvalidDataError:n("LaunchDarklyInvalidDataError"),LDFlagFetchError:c,LDTimeoutError:n("LaunchDarklyTimeoutError"),isHttpErrorRecoverable:function(e){return!(e>=400&&e<500)||400===e||408===e||429===e}},u=[],d=[],f=("undefined"!=typeof Uint8Array&&Uint8Array,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),g=0;g<64;++g)u[g]=f[g],d[f.charCodeAt(g)]=g;function p(e){return u[e>>18&63]+u[e>>12&63]+u[e>>6&63]+u[63&e]}function v(e,t,n){for(var r,o=[],i=t;i<n;i+=3)r=(e[i]<<16&16711680)+(e[i+1]<<8&65280)+(255&e[i+2]),o.push(p(r));return o.join("")}d["-".charCodeAt(0)]=62,d["_".charCodeAt(0)]=63;var h=Array.isArray,y=Object.keys,m=Object.prototype.hasOwnProperty,w=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){var r,o,i,a=h(t),s=h(n);if(a&&s){if((o=t.length)!=n.length)return!1;for(r=o;0!==r--;)if(!e(t[r],n[r]))return!1;return!0}if(a!=s)return!1;var c=t instanceof Date,l=n instanceof Date;if(c!=l)return!1;if(c&&l)return t.getTime()==n.getTime();var u=t instanceof RegExp,d=n instanceof RegExp;if(u!=d)return!1;if(u&&d)return t.toString()==n.toString();var f=y(t);if((o=f.length)!==y(n).length)return!1;for(r=o;0!==r--;)if(!m.call(n,f[r]))return!1;for(r=o;0!==r--;)if(!e(t[i=f[r]],n[i]))return!1;return!0}return t!=t&&n!=n};const b=["key","ip","country","email","firstName","lastName","avatar","name"];function k(e){return function(e){for(var t,n=e.length,r=n%3,o=[],i=16383,a=0,s=n-r;a<s;a+=i)o.push(v(e,a,a+i>s?s:a+i));return 1===r?(t=e[n-1],o.push(u[t>>2]+u[t<<4&63]+"==")):2===r&&(t=(e[n-2]<<8)+e[n-1],o.push(u[t>>10]+u[t>>4&63]+u[t<<2&63]+"=")),o.join("")}(function(e){const t=[];for(let n=0;n<e.length;n++)t.push(e.charCodeAt(n));return t}(unescape(encodeURIComponent(e))))}function E(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var O={appendUrlPath:function(e,t){return(e.endsWith("/")?e.substring(0,e.length-1):e)+(t.startsWith("/")?"":"/")+t},base64URLEncode:function(e){return k(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")},btoa:k,clone:function(e){return JSON.parse(JSON.stringify(e))},deepEquals:function(e,t){return w(e,t)},extend:function(...e){return e.reduce((e,t)=>({...e,...t}),{})},getLDUserAgentString:function(e){const t=e.version||"?";return e.userAgent+"/"+t},objectHasOwnProperty:E,onNextTick:function(e){setTimeout(e,0)},sanitizeContext:function(e){if(!e)return e;let t;return null!==e.kind&&void 0!==e.kind||b.forEach(n=>{const r=e[n];void 0!==r&&"string"!=typeof r&&(t=t||{...e},t[n]=String(r))}),t||e},transformValuesToVersionedValues:function(e){const t={};for(const n in e)E(e,n)&&(t[n]={value:e[n],version:0});return t},transformVersionedValuesToValues:function(e){const t={};for(const n in e)E(e,n)&&(t[n]=e[n].value);return t},wrapPromiseCallback:function(e,t){const n=e.then(e=>(t&&setTimeout(()=>{t(null,e)},0),e),e=>{if(!t)return Promise.reject(e);setTimeout(()=>{t(e,null)},0)});return t?void 0:n},once:function(e){let t,n=!1;return function(...r){return n||(n=!0,t=e.apply(this,r)),t}}};const S={start:0,end:3},I={start:4,end:5},P={start:6,end:7},x={start:8,end:8},R={start:9,end:9},D={start:10,end:15};function C(e,t){let n="";for(let r=t.start;r<=t.end;r+=1)n+=e[r].toString(16).padStart(2,"0");return n}function F(e){return e[x.start]=191&e[x.start]|128,e[P.start]=15&e[P.start]|64,`${C(e,S)}-${C(e,I)}-${C(e,P)}-${C(e,x)}${C(e,R)}-${C(e,D)}`}function _(){const e=function(){if("undefined"!=typeof crypto&&crypto.getRandomValues){const e=new Uint8Array(16);return crypto.getRandomValues(e),[...e.values()]}const e=[];for(let t=0;t<16;
vendor: 18,894 bytes, line 1
1t+=1)e.push(Math.floor(256*Math.random()));return e}();return F(e)}var j={randomUuidV4:function(){return"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():_()},fallbackUuidV4:_,formatDataAsUuidV4:F};const L=["debug","info","warn","error","none"];var T={commonBasicLogger:function(e,t){if(e&&e.destination&&"function"!=typeof e.destination)throw new Error("destination for basicLogger was set to a non-function");function n(e){return function(t){console&&console[e]&&console[e].call(console,t)}}const r=e&&e.destination?[e.destination,e.destination,e.destination,e.destination]:[n("log"),n("info"),n("warn"),n("error")],o=!(!e||!e.destination),i=e&&void 0!==e.prefix&&null!==e.prefix?e.prefix:"[LaunchDarkly] ";let a=1;if(e&&e.level)for(let t=0;t<L.length;t++)L[t]===e.level&&(a=t);function s(e,n,a){if(a.length<1)return;let s;const c=o?n+": "+i:i;if(1!==a.length&&t){const e=[...a];e[0]=c+e[0],s=t(...e)}else s=c+a[0];try{r[e](s)}catch(e){console&&console.log&&console.log("[LaunchDarkly] Configured logger's "+n+" method threw an exception: "+e)}}const c={};for(let e=0;e<L.length;e++){const t=L[e];if("none"!==t)if(e<a)c[t]=()=>{};else{const n=e;c[t]=function(){s(n,t,arguments)}}}return c},validateLogger:function(e){L.forEach(t=>{if("none"!==t&&(!e[t]||"function"!=typeof e[t]))throw new Error("Provided logger instance must support logger."+t+"(...) method")})}};function U(e){return e&&e.message?e.message:"string"==typeof e||e instanceof String?e:JSON.stringify(e)}const N=" Please see https://docs.launchdarkly.com/sdk/client-side/javascript#initialize-the-client for instructions on SDK initialization.";var A={bootstrapInvalid:function(){return"LaunchDarkly bootstrap data is not available because the back end could not read the flags."},bootstrapOldFormat:function(){return"LaunchDarkly client was initialized with bootstrap data that did not include flag metadata. Events may not be sent correctly."+N},clientInitialized:function(){return"LaunchDarkly client initialized"},clientNotReady:function(){return"LaunchDarkly client is not ready"},debugEnqueueingEvent:function(e){return'enqueueing "'+e+'" event'},debugPostingDiagnosticEvent:function(e){return"sending diagnostic event ("+e.kind+")"},debugPostingEvents:function(e){return"sending "+e+" events"},debugStreamDelete:function(e){return'received streaming deletion for flag "'+e+'"'},debugStreamDeleteIgnored:function(e){return'received streaming deletion for flag "'+e+'" but ignored due to version check'},debugStreamPatch:function(e){return'received streaming update for flag "'+e+'"'},debugStreamPatchIgnored:function(e){return'received streaming update for flag "'+e+'" but ignored due to version check'},debugStreamPing:function(){return"received ping message from stream"},debugPolling:function(e){return"polling for feature flags at "+e},debugStreamPut:function(){return"received streaming update for all flags"},deprecated:function(e,t){return t?'"'+e+'" is deprecated, please use "'+t+'"':'"'+e+'" is deprecated'},environmentNotFound:function(){return"Environment not found. Double check that you specified a valid environment/client-side ID."+N},environmentNotSpecified:function(){return"No environment/client-side ID was specified."+N},errorFetchingFlags:function(e){return"Error fetching flag settings: "+U(e)},eventCapacityExceeded:function(){return"Exceeded event queue capacity. Increase capacity to avoid dropping events."},eventWithoutContext:function(){return"Be sure to call `identify` in the LaunchDarkly client: https://docs.launchdarkly.com/sdk/features/identify#javascript"},httpErrorMessage:function(e,t,n){return"Received error "+e+(401===e?" (invalid SDK key)":"")+" for "+t+" - "+(l.isHttpErrorRecoverable(e)?n:"giving up permanently")},httpUnavailable:function(){return"Cannot make HTTP requests in this environment."+N},identifyDisabled:function(){return"identify() has no effect here; it must be called on the main client instance"},inspectorMethodError:(e,t)=>`an inspector: "${t}" of type: "${e}" generated an exception`,invalidContentType:function(e){return'Expected application/json content type but got "'+e+'"'},invalidData:function(){return"Invalid data received from LaunchDarkly; connection may have been interrupted"},invalidInspector:(e,t)=>`an inspector: "${t}" of an invalid type (${e}) was configured`,invalidKey:function(){return"Event key must be a string"},invalidMetricValue:e=>`The track function was called with a non-numeric "metricValue" (${e}), only numeric metric values are supported.`,invalidContext:function(){return"Invalid context specified."+N},invalidTagValue:e=>`Config option "${e}" must only contain letters, numbers, ., _ or -.`,localStorageUnavailable:function(e){return"local storage is unavailable: "+U(e)},networkError:e=>"network error"+(e?" ("+e+")":""),optionBelowMinimum:(e,t,n)=>'Config option "'+e+'" was set to '+t+", changing to minimum value of "+n,streamClosing:function(){return"Closing stream connection"},streamConnecting:function(e){return"Opening stream connection to "+e},streamError:function(e,t){return"Error on stream connection: "+U(e)+", will continue retrying after "+t+" milliseconds."},tagValueTooLong:e=>`Value of "${e}" was longer than 64 characters and was discarded.`,unknownCustomEventKey:function(e){return'Custom event "'+e+'" does not exist'},unknownOption:e=>'Ignoring unknown config option "'+e+'"',contextNotSpecified:function(){return"No context specified."+N},unrecoverableStreamError:e=>`Error on stream connection ${U(e)}, giving up permanently`,wrongOptionType:(e,t,n)=>'Config option "'+e+'" should be of type '+t+", got "+n+", using default value",wrongOptionTypeBoolean:(e,t)=>'Config option "'+e+'" should be a boolean, got '+t+", converting to boolean"};const{validateLogger:M}=T,$={baseUrl:{default:"https://app.launchdarkly.com"},streamUrl:{default:"https://clientstream.launchdarkly.com"},eventsUrl:{default:"https://events.launchdarkly.com"},sendEvents:{default:!0},streaming:{type:"boolean"},sendLDHeaders:{default:!0},requestHeaderTransform:{type:"function"},sendEventsOnlyForVariation:{default:!1},useReport:{default:!1},evaluationReasons:{default:!1},eventCapacity:{default:100,minimum:1},flushInterval:{default:2e3,minimum:2e3},samplingInterval:{default:0,minimum:0},streamReconnectDelay:{default:1e3,minimum:0},allAttributesPrivate:{default:!1},privateAttributes:{default:[]},bootstrap:{type:"string|object"},diagnosticRecordingInterval:{default:9e5,minimum:2e3},diagnosticOptOut:{default:!1},wrapperName:{type:"string"},wrapperVersion:{type:"string"},stateProvider:{type:"object"},application:{validator:function(e,t,n){const r={};return t.id&&(r.id=H(`${e}.id`,t.id,n)),t.version&&(r.version=H(`${e}.version`,t.version,n)),r}},inspectors:{default:[]},hooks:{default:[]},plugins:{default:[]}},q=/^(\w|\.|-)+$/;function V(e){return e&&e.replace(/\/+$/,"")}function H(e,t,n){if("string"==typeof t&&t.match(q)){if(!(t.length>64))return t;n.warn(A.tagValueTooLong(e))}else n.warn(A.invalidTagValue(e))}var z={baseOptionDefs:$,validate:function(e,t,n,r){const o=O.extend({logger:{default:r}},$,n),i={};function a(e){O.onNextTick(()=>{t&&t.maybeReportError(new l.LDInvalidArgumentError(e))})}let s=O.extend({},e||{});return function(e){const t=e;Object.keys(i).forEach(e=>{if(void 0!==t[e]){const n=i[e];r&&r.warn(A.deprecated(e,n)),n&&(void 0===t[n]&&(t[n]=t[e]),delete t[e])}})}(s),s=function(e){const t=O.extend({},e);return Object.keys(o).forEach(e=>{void 0!==t[e]&&null!==t[e]||(t[e]=o[e]&&o[e].default)}),t}(s),s=function(e){const t=O.extend({},e),n=e=>{if(null===e)return"any";if(void 0===e)return;if(Array.isArray(e))return"array";const t=typeof e;return"boolean"===t||"string"===t||"number"===t||"function"===t?t:"object"};return Object.keys(e).forEach(i=>{const s=e[i];if(null!=s){const c=o[i];if(void 0===c)a(A.unknownOption(i));else{const o=c.type||n(c.default),l=c.validator;if(l){const n=l(i,e[i],r);void 0!==n?t[i]=n:delete t[i]}else if("any"!==o){const e=o.split("|"),r=n(s);e.indexOf(r)<0?"boolean"===o?(t[i]=!!s,a(A.wrongOptionTypeBoolean(i,r))):(a(A.wrongOptionType(i,o,r)),t[i]=c.default):"number"===r&&void 0!==c.minimum&&s<c.minimum&&(a(A.optionBelowMinimum(i,s,c.minimum)),t[i]=c.minimum)}}}}),t.baseUrl=V(t.baseUrl),t.streamUrl=V(t.streamUrl),t.eventsUrl=V(t.eventsUrl),t}(s),M(s.logger),s},getTags:function(e){const t={};return e&&(e.application&&void 0!==e.application.id&&null!==e.application.id&&(t["application-id"]=[e.application.id]),e.application&&void 0!==e.application.version&&null!==e.application.id&&(t["application-version"]=[e.application.version])),t}};const{getLDUserAgentString:K}=O;var W={getLDHeaders:function(e,t){if(t&&!t.sendLDHeaders)return{};const n={};n[e.userAgentHeaderName||"User-Agent"]=K(e),t&&t.wrapperName&&(n["X-LaunchDarkly-Wrapper"]=t.wrapperVersion?t.wrapperName+"/"+t.wrapperVersion:t.wrapperName);const r=z.getTags(t),o=Object.keys(r);return o.length&&(n["x-launchdarkly-tags"]=o.sort().map(e=>Array.isArray(r[e])?r[e].sort().map(t=>`${e}/${t}`):[`${e}/${r[e]}`]).reduce((e,t)=>e.concat(t),[]).join(" ")),n},transformHeaders:function(e,t){return t&&t.requestHeaderTransform?t.requestHeaderTransform({...e}):e}};const{randomUuidV4:J}=j,{getLDHeaders:B,transformHeaders:G}=W;var X=function(e,t,n){const r=O.extend({"Content-Type":"application/json"},B(e,n)),o={sendEvents:(t,o,i)=>{if(!e.httpRequest)return Promise.resolve();const a=JSON.stringify(t),s=i?null:J();return function t(c){const u=i?r:O.extend({},r,{"X-LaunchDarkly-Event-Schema":"4","X-LaunchDarkly-Payload-ID":s});return e.httpRequest("POST",o,G(u,n),a).promise.then(e=>{if(e)return e.status>=400&&l.isHttpErrorRecoverable(e.status)&&c?t(!1):function(e){const t={status:e.status},n=e.header("date");if(n){const e=Date.parse(n);e&&(t.serverTime=e)}return t}(e)}).catch(()=>c?t(!1):Promise.reject())}(!0).catch(()=>{})}};return o},Q=function e(t,n=[]){if(null===t||"object"!=typeof t)return JSON.stringify(t);if(n.includes(t))throw new Error("Cycle detected");return Array.isArray(t)?`[${t.map(r=>e(r,[...n,t])).map(e=>void 0===e?"null":e).join(",")}]`:`{${Object.keys(t).sort().map(r=>{const o=e(t[r],[...n,t]);if(void 0!==o)return`${JSON.stringify(r)}:${o}`}).filter(e=>void 0!==e).join(",")}}`};const{commonBasicLogger:Y}=T;function Z(e){return"string"==typeof e&&"kind"!==e&&e.match(/^(\w|\.|-)+$/)}function ee(e){return e.includes("%")||e.includes(":")?e.replace(/%/g,"%25").replace(/:/g,"%3A"):e}var te={checkContext:function(e,t){if(e){if(t&&(void 0===e.kind||null===e.kind))return void 0!==e.key&&null!==e.key;const n=e.key,r=void 0===e.kind?"user":e.kind,o=Z(r),i="multi"===r||null!=n&&""!==n;if("multi"===r){const t=Object.keys(e).filter(e=>"kind"!==e);return i&&t.every(e=>Z(e))&&t.every(t=>{const n=e[t].key;return null!=n&&""!==n})}return i&&o}return!1},getContextKeys:function(e,t=Y()){if(!e)return;const n={},{kind:r,key:o}=e;switch(r){case void 0:n.user=`${o}`;break;case"multi":Object.entries(e).filter(([e])=>"kind"!==e).forEach(([e,t])=>{t&&t.key&&(n[e]=t.key)});break;case null:t.warn(`null is not a valid context kind: ${e}`);break;case"":t.warn(`'' is not a valid context kind: ${e}`);break;default:n[r]=`${o}`}return n},getContextKinds:function(e){return e?null===e.kind||void 0===e.kind?["user"]:"multi"!==e.kind?[e.kind]:Object.keys(e).filter(e=>"kind"!==e):[]},getCanonicalKey:function(e){if(e){if((void 0===e.kind||null===e.kind||"user"===e.kind)&&e.key)return e.key;if("multi"!==e.kind&&e.key)return`${e.kind}:${ee(e.key)}`;if("multi"===e.kind)return Object.keys(e).sort().filter(e=>"kind"!==e).map(t=>`${t}:${ee(e[t].key)}`).join(":")}}};const{getContextKinds:ne}=te;var re=function(e){let t={},n={};return{summarizeEvent:function(e){if("feature"===e.kind){const r=Q(e.context);if(!r)return;let o=t[r];o||(t[r]=function(){const e={};let t=0,n=0,r={},o={};return e.summarizeEvent=e=>{if("feature"===e.kind){const i=e.key+":"+(null!==e.variation&&void 0!==e.variation?e.variation:"")+":"+(null!==e.version&&void 0!==e.version?e.version:""),a=r[i];let s=o[e.key];s||(s=new Set,o[e.key]=s),function(e){return e.context?ne(e.context):e.contextKeys?Object.keys(e.contextKeys):[]}(e).forEach(e=>s.add(e)),a?a.count=a.count+1:r[i]={count:1,key:e.key,version:e.version,variation:e.variation,value:e.value,default:e.default},(0===t||e.creationDate<t)&&(t=e.creationDate),e.creationDate>n&&(n=e.creationDate)}},e.getSummary=()=>{const e={};let i=!0;for(const t of Object.values(r)){let n=e[t.key];n||(n={default:t.default,counters:[],contextKinds:[...o[t.key]]},e[t.key]=n);const r={value:t.value,count:t.count};void 0!==t.variation&&null!==t.variation&&(r.variation=t.variation),void 0!==t.version&&null!==t.version?r.version=t.version:r.unknown=!0,n.counters.push(r),i=!1}return i?null:{startDate:t,endDate:n,features:e,kind:"summary"}},e.clearSummary=()=>{t=0,n=0,r={},o={}},e}(),o=t[r],n[r]=e.context),o.summarizeEvent(e)}},getSummaries:function(){const r=t,o=n;return t={},n={},Object.entries(r).map(([t,n])=>{const r=n.getSummary();return r.context=e.filter(o[t]),r})}}};function oe(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function ie(e){return(e.startsWith("/")?e.substring(1):e).split("/").map(e=>e.indexOf("~")>=0?e.replace(/~1/g,"/").replace(/~0/g,"~"):e)}function ae(e){return!e.startsWith("/")}function se(e,t){const n=ae(e),r=ae(t);if(n&&r)return e===t;if(n){const n=ie(t);return 1===n.length&&e===n[0]}if(r){const n=ie(e);return 1===n.length&&t===n[0]}return e===t}function ce(e){return`/${oe(e)}`}var le={cloneExcluding:function(e,t){const n=[],r={},o=[];for(n.push(...Object.keys(e).map(t=>({key:t,ptr:ce(t),source:e,parent:r,visited:[e]})));n.length;){const e=n.pop();if(t.some(t=>se(t,e.ptr)))o.push(e.ptr);else{const t=e.source[e.key];if(null===t)e.parent[e.key]=t;else if(Array.isArray(t))e.parent[e.key]=[...t];else if("object"==typeof t){if(e.visited.includes(t))continue;e.parent[e.key]={},n.push(...Object.keys(t).map(n=>{return{key:n,ptr:(r=e.ptr,o=oe(n),`${r}/${o}`),source:t,parent:e.parent[e.key],visited:[...e.visited,t]};var r,o}))}else e.parent[e.key]=t}}return{cloned:r,excluded:o.sort()}},compare:se,literalToReference:ce};const{getContextKeys:ue}=te;const de="ready",fe="initialized",ge="failed",{appendUrlPath:pe,base64URLEncode:ve,objectHasOwnProperty:he}=O,{getLDHeaders:ye,transformHeaders:me}=W,{isHttpErrorRecoverable:we}=l;const{transformHeaders:be,getLDHeaders:ke}=W,Ee="application/json";const{randomUuidV4:Oe}=j,{getContextKinds:Se}=te;var Ie=function(e){function t(e){return null==e||"user"===e?"ld:$anonUserId":`ld:$contextKey:${e}`}function n(n,r){return null!==r.key&&void 0!==r.key?(r.key=r.key.toString(),Promise.resolve(r)):r.anonymous?function(n){return e.get(t(n))}(n).then(o=>{if(o)return r.key=o,r;{const o=Oe();return r.key=o,function(n,r){return e.set(t(r),n)}(o,n).then(()=>r)}}):Promise.reject(new l.LDInvalidUserError(A.invalidContext()))}this.processContext=e=>{if(!e)return Promise.reject(new l.LDInvalidUserError(A.contextNotSpecified()));const t=O.clone(e);if("multi"===e.kind){const e=Se(t);return Promise.all(e.map(e=>n(e,t[e]))).then(()=>t)}return n(e.kind,t)}};const{randomUuidV4:Pe}=j,{baseOptionDefs:xe}=z,{appendUrlPath:Re}=O;const{onNextTick:De}=O,Ce={flagUsed:"flag-used",flagDetailsChanged:"flag-details-changed",flagDetailChanged:"flag-detail-changed",clientIdentityChanged:"client-identity-changed"};Object.freeze(Ce);var Fe={InspectorTypes:Ce,InspectorManager:function(e,t){const n={},r={[Ce.flagUsed]:[],[Ce.flagDetailsChanged]:[],[Ce.flagDetailChanged]:[],[Ce.clientIdentityChanged]:[]},o={[Ce.flagUsed]:[],[Ce.flagDetailsChanged]:[],[Ce.flagDetailChanged]:[],[Ce.clientIdentityChanged]:[]},i=e&&e.map(e=>function(e,t){let n=!1;const r={type:e.type,name:e.name,synchronous:e.synchronous,method:(...o)=>{try{e.method(...o)}catch{n||(n=!0,t.warn(A.inspectorMethodError(r.type,r.name)))}}};return r}(e,t));return i&&i.forEach(e=>{Object.prototype.hasOwnProperty.call(r,e.type)&&!e.synchronous?r[e.type].push(e):Object.prototype.hasOwnProperty.call(o,e.type)&&e.synchronous?o[e.type].push(e):t.warn(A.invalidInspector(e.type,e.name))}),n.hasListeners=e=>r[e]&&r[e].length||o[e]&&o[e].length,n.onFlagUsed=(e,t,n)=>{const i=Ce.flagUsed;o[i].length&&o[i].forEach(r=>r.method(e,t,n)),r[i].length&&De(()=>{r[i].forEach(r=>r.method(e,t,n))})},n.onFlags=e=>{const t=Ce.flagDetailsChanged;o[t].length&&o[t].forEach(t=>t.method(e)),r[t].length&&De(()=>{r[t].forEach(t=>t.method(e))})},n.onFlagChanged=(e,t)=>{const n=Ce.flagDetailChanged;o[n].length&&o[n].forEach(n=>n.method(e,t)),r[n].length&&De(()=>{r[n].forEach(n=>n.method(e,t))})},n.onIdentityChanged=e=>{const t=Ce.clientIdentityChanged;o[t].length&&o[t].forEach(t=>t.method(e)),r[t].length&&De(()=>{r[t].forEach(t=>t.method(e))})},n}};const{LDTimeoutError:_e}=l,je="unknown hook";function Le(e,t,n,r,o){try{return r()}catch(r){return e?.error(`An error was encountered in "${t}" of the "${n}" hook: ${r}`),o}}function Te(e,t){try{return t.getMetadata().name||je}catch{return e.error("Exception thrown getting metadata for hook. Unable to get hook name."),je}}const Ue="unknown plugin";function Ne(e,t){try{return t.getMetadata().name||Ue}catch(t){return e.error("Exception thrown getting metadata for plugin. Unable to get plugin name."),Ue}}var Ae={getPluginHooks:function(e,t,n){const r=[];return n.forEach(n=>{try{const o=n.getHooks?.(t);void 0===o?e.error(`Plugin ${Ne(e,n)} returned undefined from getHooks.`):o&&o.length>0&&r.push(...o)}catch(t){e.error(`Exception thrown getting hooks for plugin ${Ne(e,n)}. Unable to get hooks.`)}}),r},registerPlugins:function(e,t,n,r){r.forEach(r=>{try{r.register(n,t)}catch(t){e.error(`Exception thrown registering plugin ${Ne(e,r)}.`)}})},registerPluginsForDebugOverride:function(e,t,n){n.forEach(n=>{try{n.registerDebug?.(t)}catch(t){e.error(`Exception thrown registering debug override with plugin ${Ne(e,n)}.`)}})},createPluginEnvironment:function(e,t,n){const r={};e.userAgent&&(r.name=e.userAgent),e.version&&(r.version=e.version),n.wrapperName&&(r.wrapperName=n.wrapperName),n.wrapperVersion&&(r.wrapperVersion=n.wrapperVersion);const o={};n.application&&(n.application.name&&(o.name=n.application.name),n.application.version&&(o.version=n.application.version));const i={sdk:r,clientSideId:t};return Object.keys(o).length>0&&(i.application=o),i}};const{commonBasicLogger:Me}=T,{checkContext:$e,getContextKeys:qe}=te,{InspectorTypes:Ve,InspectorManager:He}=Fe,{getPluginHooks:ze,registerPlugins:Ke,registerPluginsForDebugOverride:We,createPluginEnvironment:Je}=Ae,Be="change",Ge="internal-change";var Xe={initialize:function(e,t,n,r,o){const i=n&&n.logger?n.logger:o&&o.logger&&o.logger.default||Me("warn"),a=function(e){const t={},n={};return t.on=function(e,t,r){n[e]=n[e]||[],n[e]=n[e].concat({handler:t,context:r})},t.off=function(e,t,r){if(n[e])for(let o=0;o<n[e].length;o++)n[e][o].handler===t&&n[e][o].context===r&&(n[e]=n[e].slice(0,o).c
1oncat(n[e].slice(o+1)))},t.emit=function(e){if(!n[e])return;const t=n[e].slice(0);for(let e=0;e<t.length;e++)t[e].handler.apply(t[e].context,Array.prototype.slice.call(arguments,1))},t.getEvents=function(){return Object.keys(n)},t.getEventListenerCount=function(e){return n[e]?n[e].length:0},t.maybeReportError=function(t){t&&(n.error?this.emit("error",t):(e||console).error(t.message))},t}(i),s=function(e){let t=!1,n=!1,r=null,o=null;const i=new Promise(t=>{const n=()=>{e.off(de,n),t()};e.on(de,n)}).catch(()=>{});return{getInitializationPromise:()=>o||(t?Promise.resolve():n?Promise.reject(r):(o=new Promise((t,n)=>{const r=()=>{e.off(fe,r),t()},o=t=>{e.off(ge,o),n(t)};e.on(fe,r),e.on(ge,o)}),o)),getReadyPromise:()=>i,signalSuccess:()=>{t||n||(t=!0,e.emit(fe),e.emit(de))},signalFailure:o=>{t||n||(n=!0,r=o,e.emit(ge,o),e.emit(de)),e.maybeReportError(o)}}}(a),c=z.validate(n,a,o,i),u=He(c.inspectors,i),d=c.sendEvents;let f=e,g=c.hash;const p=[...c.plugins],v=Je(r,e,c),h=ze(i,v,p),y=function(e,t){const n=t?[...t]:[];return{withEvaluation:function(t,r,o,i){if(0===n.length)return i();const a=[...n],s={flagKey:t,context:r,defaultValue:o},c=function(e,t,n){return t.map(t=>Le(e,"beforeEvaluation",Te(e,t),()=>t?.beforeEvaluation?.(n,{})??{},{}))}(e,a,s),l=i();return function(e,t,n,r,o){for(let i=t.length-1;i>=0;i-=1){const a=t[i],s=r[i];Le(e,"afterEvaluation",Te(e,a),()=>a?.afterEvaluation?.(n,s,o)??{},{})}}(e,a,s,c,l),l},identify:function(t,r){const o=[...n],i={context:t,timeout:r},a=function(e,t,n){return t.map(t=>Le(e,"beforeIdentify",Te(e,t),()=>t?.beforeIdentify?.(n,{})??{},{}))}(e,o,i);return t=>{!function(e,t,n,r,o){for(let i=t.length-1;i>=0;i-=1){const a=t[i],s=r[i];Le(e,"afterIdentify",Te(e,a),()=>a?.afterIdentify?.(n,s,o)??{},{})}}(e,o,i,a,t)}},addHook:function(e){n.push(e)},afterTrack:function(t){if(0===n.length)return;const r=[...n];!function(e,t,n){for(let r=t.length-1;r>=0;r-=1){const o=t[r];Le(e,"afterTrack",Te(e,o),()=>o?.afterTrack?.(n),void 0)}}(e,r,t)}}}(i,[...c.hooks,...h]),m=function(e,t){const n={};let r=!1;const o=e=>{r||(r=!0,t.warn(A.localStorageUnavailable(e)))};return n.isEnabled=()=>!!e,n.get=t=>new Promise(n=>{e?e.get(t).then(n).catch(e=>{o(e),n(void 0)}):n(void 0)}),n.set=(t,n)=>new Promise(r=>{e?e.set(t,n).then(()=>r(!0)).catch(e=>{o(e),r(!1)}):r(!1)}),n.clear=t=>new Promise(n=>{e?e.clear(t).then(()=>n(!0)).catch(e=>{o(e),n(!1)}):n(!1)}),n}(r.localStorage,i),w=X(r,0,c),b=c.sendEvents&&!c.diagnosticOptOut,k=b?function(e){const t={diagnosticId:Pe()};return e&&(t.sdkKeySuffix=e.length>6?e.substring(e.length-6):e),t}(f):null,E=b?function(e){let t,n,r,o;function i(e){t=e,n=0,r=0,o=[]}return i(e),{getProps:()=>({dataSinceDate:t,droppedEvents:n,eventsInLastBatch:r,streamInits:o}),setProps:e=>{t=e.dataSinceDate,n=e.droppedEvents||0,r=e.eventsInLastBatch||0,o=e.streamInits||[]},incrementDroppedEvents:()=>{n++},setEventsInLastBatch:e=>{r=e},recordStreamInit:(e,t,n)=>{const r={timestamp:e,failed:t,durationMillis:n};o.push(r)},reset:i}}((new Date).getTime()):null,S=b?function(e,t,n,r,o,i,a){const s=!!e.diagnosticUseCombinedEvent,c="ld:"+o+":$diagnostics",l=Re(i.eventsUrl,"/events/diagnostic/"+o),u=i.diagnosticRecordingInterval,d=n;let f,g,p=!!i.streaming;const v={};function h(){return{sdk:w(),configuration:{customBaseURI:i.baseUrl!==xe.baseUrl.default,customStreamURI:i.streamUrl!==xe.streamUrl.default,customEventsURI:i.eventsUrl!==xe.eventsUrl.default,eventsCapacity:i.eventCapacity,eventsFlushIntervalMillis:i.flushInterval,reconnectTimeMillis:i.streamReconnectDelay,streamingDisabled:!p,allAttributesPrivate:!!i.allAttributesPrivate,diagnosticRecordingIntervalMillis:i.diagnosticRecordingInterval,usingSecureMode:!!i.hash,bootstrapMode:!!i.bootstrap,fetchGoalsDisabled:!i.fetchGoals,sendEventsOnlyForVariation:!!i.sendEventsOnlyForVariation},platform:e.diagnosticPlatformData}}function y(e){i.logger&&i.logger.debug(A.debugPostingDiagnosticEvent(e)),r.sendEvents(e,l,!0).then(()=>{}).catch(()=>{})}function m(){y(function(){const e=(new Date).getTime();let t={kind:s?"diagnostic-combined":"diagnostic",id:a,creationDate:e,...d.getProps()};return s&&(t={...t,...h()}),d.reset(e),t}()),g=setTimeout(m,u),f=(new Date).getTime(),s&&function(){if(t.isEnabled()){const e={...d.getProps()};t.set(c,JSON.stringify(e))}}()}function w(){const t={...e.diagnosticSdkData};return i.wrapperName&&(t.wrapperName=i.wrapperName),i.wrapperVersion&&(t.wrapperVersion=i.wrapperVersion),t}return v.start=()=>{s?function(e){if(!t.isEnabled())return e(!1);t.get(c).then(t=>{if(t)try{const e=JSON.parse(t);d.setProps(e),f=e.dataSinceDate}catch(e){}e(!0)}).catch(()=>{e(!1)})}(e=>{if(e){const e=(f||0)+u,t=(new Date).getTime();t>=e?m():g=setTimeout(m,e-t)}else 0===Math.floor(4*Math.random())?m():g=setTimeout(m,u)}):(y({kind:"diagnostic-init",id:a,creationDate:d.getProps().dataSinceDate,...h()}),g=setTimeout(m,u))},v.stop=()=>{g&&clearTimeout(g)},v.setStreaming=e=>{p=e},v}(r,m,E,w,f,c,k):null,I=function(e,t,n,r){const o=t.streamUrl,i=t.logger,a={},s=pe(o,"/eval/"+n),c=t.useReport,l=t.evaluationReasons,u=t.streamReconnectDelay,d=ye(e,t);let f,g=!1,p=null,v=null,h=null,y=null,m=null,w=0;function b(e){if(e.status&&"number"==typeof e.status&&!we(e.status))return O(),i.error(A.unrecoverableStreamError(e)),void(v&&(clearTimeout(v),v=null));const t=function(){const e=(t=function(){const e=u*Math.pow(2,w);return e>3e4?3e4:e}
vendor: 19,103 bytes, line 1
1(),t-Math.trunc(.5*Math.random()*t));var t;return w+=1,e}();g||(i.warn(A.streamError(e,t)),g=!0),S(!1),O(),k(t)}function k(e){v||(e?v=setTimeout(E,e):E())}function E(){let r;v=null;let a="";const u={headers:d,readTimeoutMillis:3e5};if(e.eventSourceFactory){null!=y&&(a="h="+y),c?e.eventSourceAllowsReport?(r=s,u.method="REPORT",u.headers["Content-Type"]="application/json",u.body=JSON.stringify(h)):(r=pe(o,"/ping/"+n),a=""):r=s+"/"+ve(JSON.stringify(h)),u.headers=me(u.headers,t),l&&(a=a+(a?"&":"")+"withReasons=true"),r=r+(a?"?":"")+a,O(),i.info(A.streamConnecting(r)),f=(new Date).getTime(),p=e.eventSourceFactory(r,u);for(const e in m)he(m,e)&&p.addEventListener(e,m[e]);p.onerror=b,p.onopen=()=>{w=0}}}function O(){p&&(i.info(A.streamClosing()),p.close(),p=null)}function S(e){f&&r&&r.recordStreamInit(f,!e,(new Date).getTime()-f),f=null}return a.connect=function(e,t,n){h=e,y=t,m={};for(const e in n||{})m[e]=function(t){g=!1,S(!0),n[e]&&n[e](t)};k()},a.disconnect=function(){clearTimeout(v),v=null,O()},a.isConnected=function(){return!!(p&&e.eventSourceIsActive&&e.eventSourceIsActive(p))},a}(r,c,f,E),P=c.eventProcessor||function(e,t,n,r=null,o=null,i=null){const a={},s=i||X(e,0,t),c=O.appendUrlPath(t.eventsUrl,"/events/bulk/"+n),u=function(e){const t={},n=e.allAttributesPrivate,r=e.privateAttributes||[],o=["key","kind","_meta","anonymous"],i=["name","ip","firstName","lastName","email","avatar","country"],a=(e,t)=>{if("object"!=typeof e||null===e||Array.isArray(e))return;const{cloned:i,excluded:a}=le.cloneExcluding(e,((e,t)=>(n||t&&e.anonymous?Object.keys(e).map(e=>e.startsWith("/")?le.literalToReference(e):e):[...r,...e._meta&&e._meta.privateAttributes||[]]).filter(e=>!o.some(t=>le.compare(e,t))))(e,t));return i.key=String(i.key),a.length&&(i._meta||(i._meta={}),i._meta.redactedAttributes=a),i._meta&&(delete i._meta.privateAttributes,0===Object.keys(i._meta).length&&delete i._meta),void 0!==i.anonymous&&(i.anonymous=!!i.anonymous),i};return t.filter=(e,t=!1)=>void 0===e.kind||null===e.kind?a((e=>{const t={...e.custom||{},kind:"user",key:e.key};void 0!==e.anonymous&&(t.anonymous=!!e.anonymous);for(const n of i)delete t[n],void 0!==e[n]&&null!==e[n]&&(t[n]=String(e[n]));return void 0!==e.privateAttributeNames&&null!==e.privateAttributeNames&&(t._meta=t._meta||{},t._meta.privateAttributes=e.privateAttributeNames.map(e=>e.startsWith("/")?le.literalToReference(e):e)),t})(e),t):"multi"===e.kind?((e,t)=>{const n={kind:e.kind},r=Object.keys(e);for(const o of r)if("kind"!==o){const r=a(e[o],t);r&&(n[o]=r)}return n})(e,t):a(e,t),t}(t),d=re(u),f=t.samplingInterval,g=t.eventCapacity,p=t.flushInterval,v=t.logger;let h,y=[],m=0,w=!1,b=!1;function k(){return 0===f||0===Math.floor(Math.random()*f)}function E(e){y.length<g?(y.push(e),b=!1):(b||(b=!0,v.warn(A.eventCapacityExceeded())),r&&r.incrementDroppedEvents())}return a.enqueue=function(e){if(w)return;let t=!1,n=!1;var r;if(d.summarizeEvent(e),"feature"===e.kind?k()&&(t=!!e.trackEvents,n=!!(r=e).debugEventsUntilDate&&r.debugEventsUntilDate>m&&r.debugEventsUntilDate>(new Date).getTime()):t=k(),t&&E(function(e){const t=O.extend({},e);return"identify"===e.kind||"feature"===e.kind||"custom"===e.kind?t.context=u.filter(e.context):(t.contextKeys=ue(e.context,v),delete t.context),"feature"===e.kind&&(delete t.trackEvents,delete t.debugEventsUntilDate),t}(e)),n){const t=O.extend({},e,{kind:"debug"});t.context=u.filter(t.context),delete t.trackEvents,delete t.debugEventsUntilDate,E(t)}},a.flush=async function(){if(w)return Promise.resolve();const e=y;return d.getSummaries().forEach(t=>{Object.keys(t.features).length&&e.push(t)}),r&&r.setEventsInLastBatch(e.length),0===e.length?Promise.resolve():(y=[],v.debug(A.debugPostingEvents(e.length)),s.sendEvents(e,c).then(e=>{e&&(e.serverTime&&(m=e.serverTime),l.isHttpErrorRecoverable(e.status)||(w=!0),e.status>=400&&O.onNextTick(()=>{o.maybeReportError(new l.LDUnexpectedResponseError(A.httpErrorMessage(e.status,"event posting","some events were dropped")))}))}))},a.start=function(){const e=()=>{a.flush(),h=setTimeout(e,p)};h=setTimeout(e,p)},a.stop=function(){clearTimeout(h)},a}(r,c,f,E,a,w),x=function(e,t,n){const r=t.baseUrl,o=t.useReport,i=t.evaluationReasons,a=t.logger,s={},c={};function u(n,r){if(!e.httpRequest)return new Promise((e,t)=>{t(new l.LDFlagFetchError(A.httpUnavailable()))});const o=r?"REPORT":"GET",i=ke(e,t);r&&(i["Content-Type"]=Ee);let a=c[n];a||(a=function(e){let t,n,r,o;const i={addPromise:(i,a)=>{t=i,n&&n(),n=a,i.then(n=>{t===i&&(r(n),e&&e())},n=>{t===i&&(o(n),e&&e())})}};return i.resultPromise=new Promise((e,t)=>{r=e,o=t}),i}(()=>{delete c[n]}),c[n]=a);const s=e.httpRequest(o,n,be(i,t),r),u=s.promise.then(e=>{if(200===e.status){if(e.header("content-type")&&e.header("content-type").substring(0,16)===Ee)return JSON.parse(e.body);{const t=A.invalidContentType(e.header("content-type")||"");return Promise.reject(new l.LDFlagFetchError(t))}}return Promise.reject(function(e){return 404===e.status?new l.LDInvalidEnvironmentIdError(A.environmentNotFound()):new l.LDFlagFetchError(A.errorFetchingFlags(e.statusText||String(e.status)))}(e))},e=>Promise.reject(new l.LDFlagFetchError(A.networkError(e))));return a.addPromise(u,()=>{s.cancel&&s.cancel()}),a.resultPromise}return s.fetchJSON=function(e){return u(O.appendUrlPath(r,e),null)},s.fetchFlagSettings=function(e,t){let s,c,l,d="";return o?(c=[r,"/sdk/evalx/",n,"/context"].join(""),l=JSON.stringify(e)):(s=O.base64URLEncode(JSON.stringify(e)),c=[r,"/sdk/evalx/",n,"/contexts/",s].join("")),t&&(d="h="+t),i&&(d=d+(d?"&":"")+"withReasons=true"),c=c+(d?"?":"")+d,a.debug(A.debugPolling(c)),u(c,l)},s}(r,c,f),R=function(){let e,t={};function n(n){return e&&O.objectHasOwnProperty(e,n)&&e[n]?e[n]:t&&O.objectHasOwnProperty(t,n)&&t[n]&&!t[n].deleted?t[n]:null}return{clearAllOverrides:function(){if(!e)return{};const t={...e};return e=void 0,t},get:n,getFlagOverrides:function(){return e||{}},getFlags:function(){return t},getFlagsWithOverrides:function(){const r={};for(const e in t){const t=n(e);t&&(r[e]=t)}if(e)for(const t in e){const e=n(t);e&&(r[t]=e)}return r},removeOverride:function(t){e&&e[t]&&(delete e[t],0===Object.keys(e).length&&(e=void 0))},setFlags:function(e){t={...e}},setOverride:function(t,n){e||(e={}),e[t]={value:n}}}}();let D,C,F,_=c.streaming,j=!1,L=!1,T=!0;const U=c.stateProvider,N=function(e,t){const n={};let r;return n.setContext=function(e){r=O.sanitizeContext(e),r&&t&&t(O.clone(r))},n.getContext=function(){return r?O.clone(r):null},n}(0,function(e){(function(e){U||e&&q({kind:"identify",context:e,creationDate:(new Date).getTime()})})(e),u.hasListeners(Ve.clientIdentityChanged)&&u.onIdentityChanged(N.getContext())}),M=new Ie(m),$=m.isEnabled()?function(e,t,n,r){const o={};function i(){let e="";const n=r.getContext();return n&&(e=g||O.btoa(JSON.stringify(n))),"ld:"+t+":"+e}return o.loadFlags=()=>e.get(i()).then(e=>{if(null==e)return null;try{let t=JSON.parse(e);if(t){const e=t.$schema;void 0===e||e<1?t=O.transformValuesToVersionedValues(t):delete t.$schema}return t}catch(e){return o.clearFlags().then(()=>null)}}),o.saveFlags=t=>{const n=O.extend({},t,{$schema:1});return e.set(i(),JSON.stringify(n))},o.clearFlags=()=>e.clear(i()),o}(m,f,0,N):null;function q(e){f&&(U&&U.enqueueEvent&&U.enqueueEvent(e)||(e.context?(T=!1,!d||L||r.isDoNotTrack()||(i.debug(A.debugEnqueueingEvent(e.kind)),P.enqueue(e))):T&&(i.warn(A.eventWithoutContext()),T=!1)))}function V(e,t){u.hasListeners(Ve.flagDetailChanged)&&u.onFlagChanged(e.key,B(t))}function H(){u.hasListeners(Ve.flagDetailsChanged)&&u.onFlags(Object.entries(R.getFlagsWithOverrides()).map(([e,t])=>({key:e,detail:B(t)})).reduce((e,t)=>(e[t.key]=t.detail,e),{}))}function K(e,t,n,r){const o=N.getContext(),i=new Date,a={kind:"feature",key:e,context:o,value:t?t.value:null,variation:t?t.variationIndex:null,default:n,creationDate:i.getTime()},s=R.getFlags()[e];s&&(a.version=s.flagVersion?s.flagVersion:s.version,a.trackEvents=s.trackEvents,a.debugEventsUntilDate=s.debugEventsUntilDate),(r||s&&s.trackReason)&&t&&(a.reason=t.reason),q(a)}function W(e){return $e(e,!1)?Promise.resolve(e):Promise.reject(new l.LDInvalidUserError(A.invalidContext()))}function J(e,t,n,r,o,i){let a;const s=R.get(e);return s?(a=B(s),null!==s.value&&void 0!==s.value||(a.value=t)):a={value:t,variationIndex:null,reason:{kind:"ERROR",errorKind:"FLAG_NOT_FOUND"}},n&&(o||s?.prerequisites?.forEach(e=>{J(e,void 0,n,!1,!1,!1)}),K(e,a,t,r)),!o&&i&&function(e,t){u.hasListeners(Ve.flagUsed)&&u.onFlagUsed(e,t,N.getContext())}(e,a),a}function B(e){return{value:e.value,variationIndex:void 0===e.variation?null:e.variation,reason:e.reason||null}}function G(){if(C=!0,!N.getContext())return;const e=e=>{try{return JSON.parse(e)}catch(e){return void a.maybeReportError(new l.LDInvalidDataError(A.invalidData()))}};I.connect(N.getContext(),g,{ping:function(){i.debug(A.debugStreamPing());const e=N.getContext();x.fetchFlagSettings(e,g).then(t=>{O.deepEquals(e,N.getContext())&&Y(t||{})}).catch(e=>{a.maybeReportError(new l.LDFlagFetchError(A.errorFetchingFlags(e)))})},put:function(t){const n=e(t.data);n&&(i.debug(A.debugStreamPut()),Y(n))},patch:function(t){const n=e(t.data);if(!n)return;const r=R.getFlags(),o=r[n.key];if(!o||!o.version||!n.version||o.version<n.version){i.debug(A.debugStreamPatch(n.key));const e={},t=O.extend({},n);delete t.key,r[n.key]=t,R.setFlags(r);const a=B(t);e[n.key]=o?{previous:o.value,current:a}:{current:a},V(n,t),Z(e)}else i.debug(A.debugStreamPatchIgnored(n.key))},delete:function(t){const n=e(t.data);if(!n)return;const r=R.getFlags();if(!r[n.key]||r[n.key].version<n.version){i.debug(A.debugStreamDelete(n.key));const e={};r[n.key]&&!r[n.key].deleted&&(e[n.key]={previous:r[n.key].value}),r[n.key]={version:n.version,deleted:!0},R.setFlags(r),V(n,r[n.key]),Z(e)}else i.debug(A.debugStreamDeleteIgnored(n.key))}})}function Q(){C&&(I.disconnect(),C=!1)}function Y(e){const t={};if(!e)return Promise.resolve();const n=R.getFlags();for(const r in n)O.objectHasOwnProperty(n,r)&&n[r]&&(e[r]&&!O.deepEquals(e[r].value,n[r].value)?t[r]={previous:n[r].value,current:B(e[r])}:e[r]&&!e[r].deleted||(t[r]={previous:n[r].value}));for(const r in e)O.objectHasOwnProperty(e,r)&&e[r]&&(!n[r]||n[r].deleted)&&(t[r]={current:B(e[r])});return R.setFlags({...e}),H(),Z(t).catch(()=>{})}function Z(e){const t=Object.keys(e);if(t.length>0){const n={};t.forEach(t=>{const r=e[t].current,o=r?r.value:void 0,i=e[t].previous;a.emit(Be+":"+t,o,i),n[t]=r?{current:o,previous:i}:{previous:i}}),a.emit(Be,n),a.emit(Ge,R.getFlagsWithOverrides()),c.sendEventsOnlyForVariation||U||t.forEach(t=>{K(t,e[t].current)})}return D&&$?$.saveFlags(R.getFlags()):Promise.resolve()}function ee(){const e=_||F&&void 0===_;e&&!C?G():!e&&C&&Q(),S&&S.setStreaming(e)}function te(e){return e===Be||e.substr(0,7)===Be+":"}if("string"==typeof c.bootstrap&&"LOCALSTORAGE"===c.bootstrap.toUpperCase()&&($?D=!0:i.warn(A.localStorageUnavailable())),"object"==typeof c.bootstrap&&R.setFlags(function(e){const t=Object.keys(e),n="$flagsState",r="$valid",o=e[n];!o&&t.length&&i.warn(A.bootstrapOldFormat()),!1===e[r]&&i.warn(A.bootstrapInvalid());const a={};return t.forEach(t=>{if(t!==n&&t!==r){let n={value:e[t]};o&&o[t]?n=O.extend(n,o[t]):n.version=0,a[t]=n}}),a}(c.bootstrap)),U){const e=U.getInitialState();e?ne(e):U.on("init",ne),U.on("update",function(e){e.context&&N.setContext(e.context),e.flags&&Y(e.flags)})}else(function(){if(!e)return Promise.reject(new l.LDInvalidEnvironmentIdError(A.environmentNotSpecified()));let n;return M.processContext(t).then(W).then(e=>(n=O.once(y.identify(e,void 0)),e)).then(e=>(n?.({status:"completed"}),N.setContext(e),"object"==typeof c.bootstrap?oe():D?$.loadFlags().then(e=>{if(null==e){R.setFlags({});const e=N.getContext(),t=g;return x.fetchFlagSettings(e,t).then(n=>{if(t===g&&O.deepEquals(e,N.getContext()))return Y(n||{})}).then(oe).catch(e=>{ie(new l.LDFlagFetchError(A.errorFetchingFlags(e)))})}{R.setFlags(e),O.onNextTick(oe);const t=N.getContext(),n=g;return x.fetchFlagSettings(t,n).then(e=>{if(n===g&&O.deepEquals(t,N.getContext()))return Y(e)}).catch(e=>a.maybeReportError(e))}}):x.fetchFlagSettings(N.getContext(),g).then(e=>{R.setFlags(e||{}),H(),oe()}).catch(e=>{R.setFlags({}),ie(e)}))).catch(e=>{throw n?.({status:"error"}),e})})().catch(ie);function ne(e){f=e.environment,N.setContext(e.context),R.setFlags({...e.flags}),O.onNextTick(oe)}function oe(){i.info(A.clientInitialized()),j=!0,ee(),s.signalSuccess()}function ie(e){s.signalFailure(e)}const ae={waitForInitialization:function(e=void 0){if(null!=e){if("number"==typeof e)return function(e){e>5&&i.warn("The waitForInitialization function was called with a timeout greater than 5 seconds. We recommend a timeout of 5 seconds or less.");const t=s.getInitializationPromise(),n=function(e){return new Promise((t,n)=>{setTimeout(()=>{n(new _e(`waitForInitialization timed out after ${e} seconds.`))},1e3*e)})}(e);return Promise.race([n,t]).catch(e=>{throw e instanceof l.LDTimeoutError&&i.error(`waitForInitialization error: ${e}`),e})}(e);i.warn("The waitForInitialization method was provided with a non-numeric timeout.")}return i.warn("The waitForInitialization function was called without a timeout specified. In a future version a default timeout will be applied."),s.getInitializationPromise()},waitUntilReady:()=>s.getReadyPromise(),identify:function(e,t,n){if(L)return O.wrapPromiseCallback(Promise.resolve({}),n);if(U)return i.warn(A.identifyDisabled()),O.wrapPromiseCallback(Promise.resolve(O.transformVersionedValuesToValues(R.getFlagsWithOverrides())),n);let r;const o=D&&$?$.clearFlags():Promise.resolve();return O.wrapPromiseCallback(o.then(()=>M.processContext(e)).then(W).then(e=>(r=O.once(y.identify(e,void 0)),e)).then(e=>x.fetchFlagSettings(e,t).then(n=>{const r=O.transformVersionedValuesToValues(n);return N.setContext(e),g=t,n?Y(n).then(()=>r):r})).then(e=>(r?.({status:"completed"}),C&&G(),e)).catch(e=>(r?.({status:"error"}),a.maybeReportError(e),Promise.reject(e))),n)},getContext:function(){return N.getContext()},variation:function(e,t){const{value:n}=y.withEvaluation(e,N.getContext(),t,()=>J(e,t,!0,!1,!1,!0));return n},variationDetail:function(e,t){return y.withEvaluation(e,N.getContext(),t,()=>J(e,t,!0,!0,!1,!0))},track:function(e,t,n){if("string"!=typeof e)return void a.maybeReportError(new l.LDInvalidEventKeyError(A.unknownCustomEventKey(e)));void 0!==n&&"number"!=typeof n&&i.warn(A.invalidMetricValue(typeof n)),r.customEventFilter&&!r.customEventFilter(e)&&i.warn(A.unknownCustomEventKey(e));const o=N.getContext(),s={kind:"custom",key:e,context:o,url:r.getCurrentUrl(),creationDate:(new Date).getTime()};o&&o.anonymous&&(s.contextKind=o.anonymous?"anonymousUser":"user"),null!=t&&(s.data=t),null!=n&&(s.metricValue=n),q(s),y.afterTrack({context:o,key:e,data:t,metricValue:n})},on:function(e,t,n){te(e)?(F=!0,j&&ee(),a.on(e,t,n)):a.on(...arguments)},off:function(e){if(a.off(...arguments),te(e)){let e=!1;a.getEvents().forEach(t=>{te(t)&&a.getEventListenerCount(t)>0&&(e=!0)}),e||(F=!1,C&&void 0===_&&Q())}},setStreaming:function(e){const t=null===e?void 0:e;t!==_&&(_=t,ee())},flush:function(e){return O.wrapPromiseCallback(d?P.flush():Promise.resolve(),e)},allFlags:function(){const e={},t=R.getFlagsWithOverrides();if(!t)return e;for(const n in t)e[n]=J(n,null,!c.sendEventsOnlyForVariation,!1,!0,!1).value;return e},close:function(e){if(L)return O.wrapPromiseCallback(Promise.resolve(),e);const t=()=>{L=!0,R.setFlags({})},n=Promise.resolve().then(()=>{if(Q(),S&&S.stop(),d)return P.stop(),P.flush()}).then(t).catch(t);return O.wrapPromiseCallback(n,e)},addHook:function(e){y.addHook(e)}};Ke(i,v,ae,p);const se={setOverride:function(e,t){const n={},r=R.get(e),o=r?r.value:null;if(o===t)return void i.debug(`setOverride: No change needed for ${e}, value already ${t}`);R.setOverride(e,t);const a=R.get(e),s=B(a);n[e]={previous:o,current:s},V({key:e},a),Z(n)},removeOverride:function(e){const t=R.getFlagOverrides();if(!t[e])return;const n={},r=t[e],o=R.getFlags()[e];n[e]={previous:r.value,current:o?B(o):void 0},R.removeOverride(e),V({key:e},o),Z(n)},clearAllOverrides:function(){const e=R.getFlagOverrides();if(0===Object.keys(e).length)return;const t={},n=R.getFlags();Object.keys(e).forEach(r=>{const o=e[r],i=n[r];t[r]={previous:o.value,current:i?B(i):void 0}}),R.clearAllOverrides(),Object.keys(t).length>0&&Z(t)},getAllOverrides:function(){const e=R.getFlagOverrides();if(!e)return{};const t={};return Object.keys(e).forEach(n=>{const r=e[n];r&&(t[n]=r.value)}),t}};return We(i,se,p),{client:ae,options:c,emitter:a,ident:N,logger:i,requestor:x,start:function(){d&&(S&&S.start(),P.start())},enqueueEvent:q,getFlagsInternal:function(){return R.getFlagsWithOverrides()},getEnvironmentId:()=>f,internalChangeEventName:Ge}},commonBasicLogger:Me,errors:l,messages:A,utils:O,getContextKeys:qe},Qe=Xe.initialize,Ye=Xe.errors;function Ze(e,t,n){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function et(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function tt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?et(Object(n),!0).forEach(function(t){Ze(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):et(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var nt={promise:Promise.resolve({status:200,header:function(){return null},body:null})},rt=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")};function ot(e,t,n,r){var o,i,a=("substring"!==e.kind&&"regex"!==e.kind||!r.includes("/")?t.replace(r,""):t).replace(n,"");switch(e.kind){case"exact":i=t,o=new RegExp("^"+rt(e.url)+"/?$");break;case"canonical":i=a,o=new RegExp("^"+rt(e.url)+"/?$");break;case"substring":i=a,o=new RegExp(".*"+rt(e.substring)+".*$");break;case"regex":i=a,o=new RegExp(e.pattern);break;default:return!1}return o.test(i)}function it(e,t){for(var n={},r=null,o=[],i=0;i<e.length;i++)for(var a=e[i],s=a.urls||[],c=0;c<s.length;c++)if(ot(s[c],window.location.href,window.location.search,window.location.hash)){"pageview"===a.kind?t("pageview",a):(o.push(a),t("click_pageview",a));break}return o.length>0&&(r=function(e){for(var n=function(e,t){for(var n=[],r=0;r<t.length;r++)for(var o=e.target,i=t[r],a=i.selector,s=document.querySelectorAll(a);o&&s.length>0;){for(var c=0;c<s.length;c++)o===s[c]&&n.push(i);o=o.parentNode}return n}(e,o),r=0;r<n.length;r++)t("click",n[r])},document.addEventListener("click",r)),n.dispose=function(){document.removeEventListener("click",r)},n}
1var at="goalsReady",st={fetchGoals:{default:!0},hash:{type:"string"},eventProcessor:{type:"object"},eventUrlTransformer:{type:"function"},disableSyncEventPost:{default:!1}};class ct{constructor(e,t,n){this.kind=e,this.key=t,this.name=n}}class lt{constructor(){this.client=null,this.initialized=!1}async init(e=0){return new Promise(async(t,n)=>{console.debug("Flags: [init] starting init");try{this.client=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=function(e){var t,n={userAgentHeaderName:"X-LaunchDarkly-User-Agent",synchronousFlush:!1};if(window.XMLHttpRequest){var r=e&&e.disableSyncEventPost;n.httpRequest=function(e,t,o,i){var a=n.synchronousFlush&!r;return n.synchronousFlush=!1,function(e,t,n,r,o){if(o&&!function(){var e=window.navigator&&window.navigator.userAgent;if(e){var t=e.match(/Chrom(e|ium)\/([0-9]+)\./);if(t)return parseInt(t[2],10)<73}return!0}())return nt;var i=new window.XMLHttpRequest;for(var a in i.open(e,t,!o),n||{})Object.prototype.hasOwnProperty.call(n,a)&&i.setRequestHeader(a,n[a]);if(o){try{i.send(r)}catch(e){}return nt}var s,c=new Promise(function(e,t){i.addEventListener("load",function(){s||e({status:i.status,header:function(e){return i.getResponseHeader(e)},body:i.responseText})}),i.addEventListener("error",function(){s||t(new Error)}),i.send(r)});return{promise:c,cancel:function(){s=!0,i.abort()}}}(e,t,o,i,a)}}n.httpAllowsPost=function(){return void 0===t&&(t=!!window.XMLHttpRequest&&"withCredentials"in new window.XMLHttpRequest),t},n.httpFallbackPing=function(e){(new window.Image).src=e};var o,i=e&&e.eventUrlTransformer;n.getCurrentUrl=function(){return i?i(window.location.href):window.location.href},n.isDoNotTrack=function(){var e;return 1===(e=window.navigator&&void 0!==window.navigator.doNotTrack?window.navigator.doNotTrack:window.navigator&&void 0!==window.navigator.msDoNotTrack?window.navigator.msDoNotTrack:window.doNotTrack)||!0===e||"1"===e||"yes"===e};try{window.localStorage&&(n.localStorage={get:function(e){return new Promise(function(t){t(window.localStorage.getItem(e))})},set:function(e,t){return new Promise(function(n){window.localStorage.setItem(e,t),n()})},clear:function(e){return new Promise(function(t){window.localStorage.removeItem(e),t()})}})}catch(e){n.localStorage=null}if(e&&e.useReport&&"function"==typeof window.EventSourcePolyfill&&window.EventSourcePolyfill.supportedOptions&&window.EventSourcePolyfill.supportedOptions.method?(n.eventSourceAllowsReport=!0,o=window.EventSourcePolyfill):(n.eventSourceAllowsReport=!1,o=window.EventSource),window.EventSource){var a=3e5;n.eventSourceFactory=function(e,t){var n=tt(tt({},{heartbeatTimeout:a,silentTimeout:a,skipDefaultHeaders:!0}),t);return new o(e,n)},n.eventSourceIsActive=function(e){return e.readyState===window.EventSource.OPEN||e.readyState===window.EventSource.CONNECTING}}return n.userAgent="JSClient",n.version="3.9.5",n.diagnosticSdkData={name:"js-client-sdk",version:"3.9.5"},n.diagnosticPlatformData={name:"JS"},n.diagnosticUseCombinedEvent=!0,n}(n),o=Qe(e,t,n,r,st),i=o.client,a=o.options,s=o.emitter,c=new Promise(function(e){var t=s.on(at,function(){s.off(at,t),e()})});i.waitUntilGoalsReady=function(){return c},a.fetchGoals?function(e,t,n){var r,o;function i(){o&&o.dispose(),r&&r.length&&(o=it(r,a))}function a(n,r){var o=e.ident.getContext(),i={kind:n,key:r.key,data:null,url:t.getCurrentUrl(),creationDate:(new Date).getTime(),context:o};return"click"===n&&(i.selector=r.selector),e.enqueueEvent(i)}e.requestor.fetchJSON("/sdk/goals/"+e.getEnvironmentId()).then(function(e){e&&e.length>0&&(o=it(r=e,a),function(e,t){var n,r=window.location.href;function o(){(n=window.location.href)!==r&&(r=n,t())}!function e(t,n){t(),setTimeout(function(){e(t,n)},n)}(o,300),window.history&&window.history.pushState?window.addEventListener("popstate",o):window.addEventListener("hashchange",o)}(0,i)),n()}).catch(function(t){e.emitter.maybeReportError(new Ye.LDUnexpectedResponseError((t&&t.message,t.message))),n()})}(o,r,function(){return s.emit(at)}):s.emit(at),"complete"!==document.readyState?window.addEventListener("load",o.start):o.start();var l=function(){r.synchronousFlush=!0,i.flush().catch(function(){}),r.synchronousFlush=!1};return document.addEventListener("visibilitychange",function(){"hidden"===document.visibilityState&&l()}),window.addEventListener("pagehide",l),i}("645bc5f324bb5412bf446426",{kind:"user",key:"visitor",anonymous:!0}),this.client.on("initialized",()=>{console.debug("Flags: [init] SDK successfully initialized!"),this.initialized=!0,t(!0)}),this.client.on("failed",()=>{console.warn("Flags: [init] SDK failed to initialize"),e<10?(console.debug("Flags: [init] SDK failed to initialize, retrying..."),this.init(e+1).then(t).cat
1ch(n)):t(!1)})}catch(e){console.error("Flags: [init] SDK failed to initialize",e),t(!1)}})}async identify(e){if(this.client){if(this.initialized)return console.debug("Flags: [identify]",e),new Promise((t,n)=>{try{this.client.identify(e,null,e=>{e?(console.error("Flags: [identify] error",e),n(e)):(console.debug("Flags: [identify] success"),t())})}catch(e){console.error("Flags: [identify] error",e),n(e)}});console.debug("Flags: [identify] not initialized -> skipped")}else console.debug("Flags: [identify] init not done")}variation(e,t){return this.client?this.initialized?this.client.variation(e,t):(console.debug("Flags: [variation] not initialized -> default value for `",e,"`"),t):(console.debug("Flags: [variation] init not done"),t)}close(){return this.client?this.initialized?(this.client.close(),void console.debug("Flags: [close]")):(console.debug("Flags: [close] not initialized -> skipped"),""):(console.debug("Flags: [close] init not done"),"")}getAllFlags(){if(!this.client)return console.debug("Flags: [getAllFlags] init not done"),"";if(!this.initialized)return console.debug("Flags: [getAllFlags] not initialized -> empty"),"";const e=this.client.allFlags();return JSON.stringify(e)}}class ut{constructor(e,t){this.name=e,this.jsonEncodedProperties=t}}class dt{constructor(){console.debug("Sentry constructor")}getClient(){return this.isAvailable()?window.NapkinSentry.getClient():("localhost"===window.location.hostname?console.warn("Sentry is not available."):console.error("Sentry is not available."),null)}isAvailable(){return null!=window.NapkinSentry}identify(e,t,n,r,o=!1,i=!1){const a=this.getClient();a?(console.debug("NapkinSentry.identify: ",e,r),a.setUser({id:e,username:n,email:t,is_internal_user:o})):console.debug("NapkinSentry.identify: skipped")}log(e,t={},n="log"){const r=this.getClient();r?("warn"===n&&(n="warning"),this._safe("log",()=>r.addBreadcrumb({message:e,category:"log",level:n,data:t}))):console.debug("[log] Sentry is not available: skipped",e,t,n)}track(e){let t=e.jsonEncodedProperties?{...JSON.parse(e.jsonEncodedProperties),isInternalUser:this.isInternalUser||!1}:{isInternalUser:this.isInternalUser||!1};this.getClient()?(console.debug("[track] Send event ",e,t),this.log(e.name,t)):console.debug("[track] Sentry is not available: skipped",e,t)}captureException(e,t={},n=!1){const r=this.getClient();r?(n&&console.error("Sentry.captureException: ",e,t),this._safe("captureException",()=>r.captureException(e,{extra:t}))):console.debug("[captureException] Sentry is not available: skipped",e,t)}captureError(e,t,n={},r=!1,o={}){const i=this.getClient();i?(r&&console.error("Sentry.captureError: "+e,{error:t,...n,...o}),this._safe("captureError",()=>i.captureException(t,{extra:{message:e,...n},tags:o}))):console.debug("[captureError] Sentry is not available: skipped",t,n)}captureMetricCount(e,t,n={}){const r=this.getClient();r?this._safe("captureMetricCount",()=>r.metrics.count(e,t,{attributes:n})):console.debug("[captureMetricCount] Sentry is not available: skipped",e,t,n)}_safe(e,t){try{t()}catch(t){console.warn(`[${e}] Sentry call failed: `,t)}}}class ft{constructor(e,t){this.name=e,this.jsonEncodedProperties=t}}class gt{constructor(){console.debug("[OpenReplay] constructor"),this.websocketHooks={},this._pendingMetadata=[],this._pendingMetadataInterval=null,this._pendingIdentify=null,this._pendingIdentifyInterval=null,this._pendingStartInterval=null}getClient(){return this.isAvailable()?window.NapkinOR.getClient():(console.error("[OpenReplay] Client not available."),null)}isAvailable(){return null!=window.NapkinOR}isReady(){return this.isAvailable()&&!0===window.NapkinOR.isReady}identify(e,t,n,r,o=!1,i=!1,a=null){try{const s=this.getClient();if(!s)return console.debug("[OpenReplay] Identify: skipped"),void this._addPendingIdentify({uid:e,email:t,name:n,visitor:r,isInternalUser:o,isSignedIn:i,version:a});if(console.debug("[OpenReplay] Identify: ",e,r,t,n,o,i),!this.isReady())return console.debug("[OpenReplay] Identify: OpenReplay is not ready yet, retry in 1 second"),void window.setTimeout(()=>{this.identify(e,t,n,r,o,i,a)},5e3);
1s.setUserID(t),this.setMetadataObject({id:e,username:n,email:t,is_internal_user:o,is_signed_in:i,visitor:r,version:a})}catch(e){console.error("[OpenReplay] Error in identify: ",e)}}_addPendingIdentify(e){try{this._pendingIdentify=e,this._pendingIdentifyInterval||(this._pendingIdentifyInterval=setInterval(this._processPendingIdentify.bind(this),2e3))}catch(e){console.error("[OpenReplay] Error in _addPendingIdentify: ",e)}}_processPendingIdentify(){try{if(null==this._pendingIdentify)return;if(!this.getClient())return void console.debug("[OpenReplay] ProcessPendingIdentify: not available: skip for now",this._pendingIdentify);this._pendingIdentifyInterval&&(clearInterval(this._pendingIdentifyInterval),this._pendingIdentifyInterval=null),this.identify(this._pendingIdentify.uid,this._pendingIdentify.email,this._pendingIdentify.name,this._pendingIdentify.visitor,this._pendingIdentify.isInternalUser,this._pendingIdentify.isSignedIn,this._pendingIdentify.version)}catch(e){console.error("[OpenReplay] Error in _processPendingIdentify: ",e)}}setMetadata(e,t){this.setMetadataObject({[e]:t})}setMetadataObject(e){try{const t=this.getClient();if(!t)return console.debug("[OpenReplay] SetMetadataObject: not available: add to pending",e),void this._addPendingMetadata(e);for(const[n,r]of Object.entries(e))console.debug("[OpenReplay] SetMetadataObject: ",n,r),t.setMetadata(n,r)}catch(e){console.error("[OpenReplay] Error in setMetadataObject: ",e)}}_addPendingMetadata(e){try{this._pendingMetadata.push(e),this._pendingMetadataInterval||(this._pendingMetadataInterval=setInterval(this._processPendingMetadata.bind(this),2e3))}catch(e){console.error("[OpenReplay] Error in _addPendingMetadata: ",e)}}_processPendingMetadata(){try{if(!this.getClient())return void console.debug("[OpenReplay] ProcessPendingMetadata: not available: skip for now",this._pendingMetadata);this._pendingMetadataInterval&&(clearInterval(this._pendingMetadataInterval),this._pendingMetadataInterval=null),this._pendingMetadata.forEach(e=>{this.setMetadataObject(e)})}catch(e){console.error("[OpenReplay] Error in _processPendingMetadata: ",e)}}track(e){try{let t=e.jsonEncodedProperties?{...JSON.parse(e.jsonEncodedProperties),isInternalUser:this.isInternalUser||!1}:{isInternalUser:this.isInternalUser||!1};const n=this.getClient();if(!n)return void console.debug("[OpenReplay] Track: not available: skipped",e,t);console.debug("[OpenReplay] Send event ",e,t),n.event(e.name,t)}catch(e){console.error("[OpenReplay] Error in track: ",e)}}log(e,t={},n="log"){this.getClient()||console.debug("[OpenReplay] Log: not available: skipped",e,t,n)}trackWebsocketMessage(e,t,n,r){try{const i=this.getClient();if(!i)return void console.debug("[OpenReplay] TrackWebsocketMessage: not available: skipped",t,n,r);var o=this.websocketHooks[e];o||(this.websocketHooks[e]=i.trackWs(e),o=this.websocketHooks[e]),o(t,n?`error:${n}`:"",r)}catch(e){console.error("[OpenReplay] Error in trackWebsocketMessage: ",e)}}captureException(e,t={},n=!1){try{const r=this.getClient();if(!r)return void console.debug("[OpenReplay] CaptureException: not available: skipped",e,t);n&&console.error("[OpenReplay] Capture exception: ",e,t),r.issue(e,t)}catch(e){console.error("[OpenReplay] Error in captureException: ",e)}}captureError(e,t,n={},r=!0){try{const o=this.getClient();if(!o)return void console.debug("[OpenReplay] captureError: not available: skipped",t,n);r&&console.error("[OpenReplay] Capture error: "+e,{error:t,...n}),n={message:e,...n},o.handleError(t,n)}catch(e){console.error("[OpenReplay] Error in captureError: ",e)}}getRecordingURL(){const e=this.getClient();if(e)return e.getSessionURL();console.debug("[OpenReplay] GetRecordingURL: not available: skipped")}async startNewSession(){const e=this.getClient();if(e){try{await e.stop(),this.websocketHooks={},await e.start()}catch(e){return console.error("[OpenReplay] Failed to start new session: ",e),!1}return!0}console.debug("[OpenReplay] StartNewSession: not available: skipped")}start(){if(!this.isAvailable())return console.debug("[OpenReplay] Start: not available: queue pending start"),this._addPendingStart(),!1;this._clearPendingStart();try{return window.NapkinOR.start(),!0}catch(e){console.debug("[OpenReplay] Failed to start: ",e)}return!1}
1_addPendingStart(){this._pendingStartInterval||(this._pendingStartInterval=setInterval(()=>{this.isAvailable()&&this.start()},2e3))}_clearPendingStart(){this._pendingStartInterval&&(clearInterval(this._pendingStartInterval),this._pendingStartInterval=null)}stop(){if(this._clearPendingStart(),!this.isAvailable())return console.debug("[OpenReplay] Stop: not available: skipped"),!1;try{window.NapkinOR.stop()}catch(e){return console.debug("[OpenReplay] Failed to stop: ",e),!1}return!0}}class pt{trackFacebookEvent(e,t,n={},r=void 0){window.fbq?r?window.fbq(e,t,n,r):window.fbq(e,t,n):console.log("Skip event tracking. Facebook Pixel not initialized.",e,t,n)}setPixelUserData(e,t){window.fbq&&window.fbq("init",e,t)}loadFacebookPixel(e,t,n){!function(e,t,n,r,o,i,a){e.fbq||(o=e.fbq=function(){o.callMethod?o.callMethod.apply(o,arguments):o.queue.push(arguments)},e._fbq||(e._fbq=o),o.push=o,o.loaded=!0,o.version="2.0",o.queue=[],(i=t.createElement(n)).async=!0,i.src="https://connect.facebook.net/en_US/fbevents.js",(a=t.getElementsByTagName(n)[0]).parentNode.insertBefore(i,a))}(window,document,"script"),window.fbq.disablePushState=!0,window.fbq("set","autoConfig",!1,e),window.fbq("init",e),n&&n()}}class vt{loadGoogleAnalytics(e,t){if(!e)return console.log("[GoogleAnalytics] Skip load: no measurement ID provided."),void(t&&t());window.dataLayer=window.dataLayer||[],window.gtag=window.gtag||function(){window.dataLayer.push(arguments)},window.gtag("consent","default",{analytics_storage:"denied"}),window.gtag("consent","update",{analytics_storage:"granted"}),window.gtag("js",new Date),window.gtag("config",e);var n=document.createElement("script");n.async=!0,n.src="https://www.googletagmanager.com/gtag/js?id="+e,n.onload=function(){t&&t()},n.onerror=function(){console.warn("[GoogleAnalytics] Failed to load gtag.js (blocked or network error)")};var r=document.getElementsByTagName("script")[0];r.parentNode.insertBefore(n,r)}trackEvent(e,t){window.gtag&&window.gtag("event",e,t||{})}updateConsent(e){window.gtag&&window.gtag("consent","update",{analytics_storage:e?"granted":"denied"})}}class ht{loadGoogleAds(e,t){if(e)if(window.dataLayer=window.dataLayer||[],window.gtag=window.gtag||function(){window.dataLayer.push(arguments)},window.gtag("consent","default",{analytics_storage:"denied",ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"}),window.gtag("consent","update",{ad_storage:"granted",ad_user_data:"granted",ad_personalization:"granted"}),window.gtag("js",new Date),window.gtag("config",e,{allow_enhanced_conversions:!0}),document.querySelector('script[src*="googletagmanager.com/gtag/js"]'))t&&t();else{var n=document.createElement("script");n.async=!0,n.src="https://www.googletagmanager.com/gtag/js?id="+e,n.onload=function(){t&&t()},n.onerror=function(){console.warn("[GoogleAds] Failed to load gtag.js (blocked or network error)")};var r=document.getElementsByTagName("script")[0];r.parentNode.insertBefore(n,r)}else t&&t()}trackConversion(e,t){window.gtag&&e&&window.gtag("event","conversion",Object.assign({send_to:e},t||{}))}updateConsent(e){if(window.gtag){var t=e?"granted":"denied";window.gtag("consent","update",{ad_storage:t,ad_user_data:t,ad_personalization:t})}}}function yt(e,t){try{e&&(e.parentNode?e.parentNode.removeChild(e):document.head&&document.head.removeChild&&document.head.removeChild(e)),window.rewardful!==t||document.querySelector("script[data-rewardful]")||(window._rwq=void 0,window.rewardful=void 0)}catch(e){console.error("[Rewardful] Failed to clean up after a failed load: ",e)}}class mt{loadRewardful(e,t){var n=this;if(!e)return console.log("[Rewardful] Skip load: no API key provided."),void(t&&t());if(!window.__napkinRewardfulLoaded)if(window.__napkinRewardfulLoading)window.__napkinRewardfulReloadWanted=!0;else{if(window.Rewardful||window._rwq||document.querySelector("script[data-rewardful]"))return window.__napkinRewardfulLoaded=!0,void(t&&t());var r=null,o=null;try{window.__napkinRewardfulLoading=!0,function(e,t){e._rwq=t,e[t]=e[t]||function(){(e[t].q=e[t].q||[]).push(arguments)}}(window,"rewardful"),o=window.rewardful,(r=document.createElement("script")).async=!0,r.src="https://r.wdfl.co/rw.js",r.setAttribute("data-rewardful",e),r.onload=function(){window.__napkinRewardfulLoading=!1,window.__napkinRewardfulReloadWanted=!1,window.__napkinRewardfulLoaded=!0,t&&t()},r.onerror=function(){window.__napkinRewardfulLoading=!1,yt(r,o),console.warn("[Rewardful] Failed to load the tracker (blocked or network error)"),window.__napkinRewardfulReloadWanted&&(window.__napkinRewardfulReloadWanted=!1,n.loadRewardful(e,t))},document.head.appendChild(r)}catch(e){window.__napkinRewardfulLoading=!1,yt(r,o),console.error("[Rewardful] Failed to load Rewardful: ",e)}}}cancelPendingReload(){try{window.__napkinRewardfulReloadWanted=!1}catch(e){console.error("[Rewardful] Failed to cancel a held reload: ",e)}}}analytics=t})();
2//# sourceMappingURL=analytics.bundle.js.map?t=a10cff039

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.