(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44992],{752119:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(676283);class n{constructor(e){this.params=e,this.params.baseUrl=e.baseUrl??i.BASE_URL}endpoint(e){let t=`${this.params.baseUrl}${e}`,r=this.params.queryParams;if(!r)return t;let i=new URLSearchParams;return Object.entries(r).forEach(([e,t])=>i.append(e,t)),`${t}?${i}`}ufcEndpoint(){return this.endpoint(i.UFC_ENDPOINT)}banditParametersEndpoint(){return this.endpoint(i.BANDIT_ENDPOINT)}precomputedFlagsEndpoint(){return this.endpoint(i.PRECOMPUTED_FLAGS_ENDPOINT)}}t.default=n},788007:function(e,t,r){"use strict";var i=r(173656);Object.defineProperty(t,"__esModule",{value:!0}),t.logger=t.loggerPrefix=void 0;let n=r(406727);t.loggerPrefix="[Eppo SDK]",t.logger=(0,n.default)({level:i.env.LOG_LEVEL??"warn",browser:{disabled:!0}})},422118:function(e,t){"use strict";function r(e){return!!("object"==typeof e&&e&&"numericAttributes"in e&&"categoricalAttributes"in e)}function i(e){let t={numericAttributes:{},categoricalAttributes:{}};return Object.entries(e).forEach(([e,r])=>{"number"==typeof r?t.numericAttributes[e]=r:t.categoricalAttributes[e]=r}),t}Object.defineProperty(t,"__esModule",{value:!0}),t.isInstanceOfContextualAttributes=r,t.ensureNonContextualSubjectAttributes=function(e){return r(e)?{...e.numericAttributes,...e.categoricalAttributes}:e},t.ensureContextualSubjectAttributes=function(e){return r(e)?e:i(e)},t.deduceAttributeContext=i,t.ensureActionsWithContextualAttributes=function(e){let t={};return Array.isArray(e)?e.forEach(e=>{t[e]={numericAttributes:{},categoricalAttributes:{}}}):Object.values(e).every(r)?t=e:Object.entries(e).forEach(([e,r])=>{t[e]=i(r)}),t}},508780:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BanditEvaluator=void 0;let i=r(676283),n=r(202778);class o{constructor(){this.assignmentShards=i.BANDIT_ASSIGNMENT_SHARDS,this.sharder=new n.MD5Sharder}evaluateBestBanditAction(e,t,r){let i=this.scoreActions(e,t,r),{topAction:n}=this.getTopScore(i);return n}evaluateBandit(e,t,r,i,n){let o=this.scoreActions(r,i,n),s=this.weighActions(o,n.gamma,n.actionProbabilityFloor),a=this.selectAction(e,t,s),l=Object.values(o).reduce((e,t)=>t>e?t:e,-1/0)-o[a];return{flagKey:e,subjectKey:t,subjectAttributes:r,actionKey:a,actionAttributes:i[a],actionScore:o[a],actionWeight:s[a],gamma:n.gamma,optimalityGap:l}}scoreActions(e,t,r){let i={};return Object.entries(t).forEach(([t,n])=>{let o=r.defaultActionScore,s=r.coefficients[t];s&&(o=s.intercept+this.scoreNumericAttributes(s.subjectNumericCoefficients,e.numericAttributes)+this.scoreCategoricalAttributes(s.subjectCategoricalCoefficients,e.categoricalAttributes)+this.scoreNumericAttributes(s.actionNumericCoefficients,n.numericAttributes)+this.scoreCategoricalAttributes(s.actionCategoricalCoefficients,n.categoricalAttributes)),i[t]=o}),i}scoreNumericAttributes(e,t){return e.reduce((e,r)=>{let i=t[r.attributeKey];return"number"==typeof i&&isFinite(i)?e+=i*r.coefficient:e+=r.missingValueCoefficient,e},0)}scoreCategoricalAttributes(e,t){return e.reduce((e,r)=>{let i=t[r.attributeKey]?.toString(),n=i&&r.valueCoefficients[i];return e+("number"==typeof n?n:r.missingValueCoefficient)},0)}weighActions(e,t,r){let i={},n=Object.entries(e);if(!n.length)return i;let{topScore:o,topAction:s}=this.getTopScore(e);if(null===o||null===s)throw Error("Unable to find top score");let a=n.length,l=r/a,u=0;return n.forEach(([e,r])=>{if(e===s)return;let n=Math.max(1/(a+t*(o-r)),l);u+=n,i[e]=n}),i[s]=Math.max(1-u,0),i}selectAction(e,t,r){let i=Object.entries(r).sort((r,i)=>{let n=this.sharder.getShard(`${e}-${t}-${r[0]}`,this.assignmentShards)-this.sharder.getShard(`${e}-${t}-${i[0]}`,this.assignmentShards);return 0===n&&(n=r[0]n){s=e[0];break}if(null===s)throw Error(`No bandit action selected for flag "${e}" and subject "${t}"`);return s}getTopScore(e){let t=Object.entries(e),r=null,i=null;return t.forEach(([e,t])=>{(null===r||null===i||t>r||t===r&&e=this.capacity){let e=this.cache.keys().next().value;e&&this.delete(e)}return this.cache.set(e,t),this}}t.LRUCache=r},522378:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LRUInMemoryAssignmentCache=void 0;let i=r(147485),n=r(121785);class o extends i.AbstractAssignmentCache{constructor(e){super(new n.LRUCache(e))}}t.LRUInMemoryAssignmentCache=o},372135:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NonExpiringInMemoryAssignmentCache=void 0;let i=r(147485);class n extends i.AbstractAssignmentCache{constructor(e=new Map){super(e)}}t.NonExpiringInMemoryAssignmentCache=n},258574:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TLRUCache=void 0;let i=r(121785);class n extends i.LRUCache{constructor(e,t){super(e),this.maxSize=e,this.ttl=t,this.cacheEntriesTTLRegistry=new Map}getCacheEntryEvictionTime(){return new Date(Date.now()+this.ttl)}clearCacheEntryEvictionTimeIfExists(e){this.cacheEntriesTTLRegistry.has(e)&&this.cacheEntriesTTLRegistry.delete(e)}isCacheEntryValid(e){let t=new Date(Date.now()),r=this.cacheEntriesTTLRegistry.get(e);return void 0!==r&&t[e,t.key]))}async fetchFlagConfigurations(){if(!this.configurationRequestParameters)throw Error("Eppo SDK unable to fetch flag configurations without configuration request parameters");this.requestPoller?.stop();let{apiKey:e,sdkName:t,sdkVersion:r,baseUrl:i,requestTimeoutMs:s=d.DEFAULT_REQUEST_TIMEOUT_MS,numInitialRequestRetries:a=d.DEFAULT_INITIAL_CONFIG_REQUEST_RETRIES,numPollRequestRetries:l=d.DEFAULT_POLL_CONFIG_REQUEST_RETRIES,pollAfterSuccessfulInitialization:u=!1,pollAfterFailedInitialization:c=!1,throwOnFailedInitialization:f=!1,skipInitialPoll:h=!1}=this.configurationRequestParameters,{pollingIntervalMs:p=d.DEFAULT_POLL_INTERVAL_MS}=this.configurationRequestParameters;p<=0&&(o.logger.error("pollingIntervalMs must be greater than 0. Using default"),p=d.DEFAULT_POLL_INTERVAL_MS);let m=new n.default({baseUrl:i,queryParams:{apiKey:e,sdkName:t,sdkVersion:r}}),E=new A.default(m,s),v=new g.default(E,this.flagConfigurationStore,this.banditVariationConfigurationStore??null,this.banditModelConfigurationStore??null);this.configurationRequestor=v;let y=async()=>{if(await v.isFlagConfigExpired())return v.fetchAndStoreConfigurations()};this.requestPoller=(0,_.default)(p,y,{maxStartRetries:a,maxPollRetries:l,pollAfterSuccessfulStart:u,pollAfterFailedStart:c,errorOnFailedStart:f,skipInitialPoll:h}),await this.requestPoller.start()}stopPolling(){this.requestPoller&&this.requestPoller.stop()}getStringAssignment(e,t,r,i){return this.getStringAssignmentDetails(e,t,r,i).variation}getStringAssignmentDetails(e,t,r,i){let{eppoValue:n,flagEvaluationDetails:o}=this.getAssignmentVariation(e,t,r,m.EppoValue.String(i),O.VariationType.STRING);return{variation:n.stringValue??i,action:null,evaluationDetails:o}}getBoolAssignment(e,t,r,i){return this.getBooleanAssignment(e,t,r,i)}getBooleanAssignment(e,t,r,i){return this.getBooleanAssignmentDetails(e,t,r,i).variation}getBooleanAssignmentDetails(e,t,r,i){let{eppoValue:n,flagEvaluationDetails:o}=this.getAssignmentVariation(e,t,r,m.EppoValue.Bool(i),O.VariationType.BOOLEAN);return{variation:n.boolValue??i,action:null,evaluationDetails:o}}getIntegerAssignment(e,t,r,i){return this.getIntegerAssignmentDetails(e,t,r,i).variation}getIntegerAssignmentDetails(e,t,r,i){let{eppoValue:n,flagEvaluationDetails:o}=this.getAssignmentVariation(e,t,r,m.EppoValue.Numeric(i),O.VariationType.INTEGER);return{variation:n.numericValue??i,action:null,evaluationDetails:o}}getNumericAssignment(e,t,r,i){return this.getNumericAssignmentDetails(e,t,r,i).variation}getNumericAssignmentDetails(e,t,r,i){let{eppoValue:n,flagEvaluationDetails:o}=this.getAssignmentVariation(e,t,r,m.EppoValue.Numeric(i),O.VariationType.NUMERIC);return{variation:n.numericValue??i,action:null,evaluationDetails:o}}getJSONAssignment(e,t,r,i){return this.getJSONAssignmentDetails(e,t,r,i).variation}getJSONAssignmentDetails(e,t,r,i){let{eppoValue:n,flagEvaluationDetails:o}=this.getAssignmentVariation(e,t,r,m.EppoValue.JSON(i),O.VariationType.JSON);return{variation:n.objectValue??i,action:null,evaluationDetails:o}}getBanditAction(e,t,r,i,n){let{variation:o,action:s}=this.getBanditActionDetails(e,t,r,i,n);return{variation:o,action:s}}getBestAction(e,t,r,i){let n=this.getConfiguration(),o=null,a=n.getFlagBanditVariations(e),l=a?.at(0)?.key;if(l){let e=n.getBandit(l);if(e){let i=(0,s.ensureContextualSubjectAttributes)(t),n=(0,s.ensureActionsWithContextualAttributes)(r);o=this.banditEvaluator.evaluateBestBanditAction(i,n,e.modelData)}}return o??i}getBanditActionDetails(e,t,r,i,n){let a=this.getConfiguration(),l=n,u=null,c=this.newFlagEvaluationDetailsBuilder(a,e).buildForNoneResult("ASSIGNMENT_ERROR","Unexpected error getting assigned variation for bandit action");try{let g=(0,s.ensureNonContextualSubjectAttributes)(r),{variation:f,evaluationDetails:h}=this.getStringAssignmentDetails(e,t,g,n);l=f,c=h;let d=a.getFlagVariationBandit(e,l);if(!d)return{variation:l,action:null,evaluationDetails:c};c.banditKey=d.banditKey;let p=this.evaluateBanditAction(e,t,r,i,d.modelData);if(p?.actionKey){u=p.actionKey;let r={timestamp:new Date().toISOString(),featureFlag:e,bandit:d.banditKey,subject:t,action:u,actionProbability:p.actionWeight,optimalityGap:p.optimalityGap,modelVersion:d.modelVersion,subjectNumericAttributes:p.subjectAttributes.numericAttributes,subjectCategoricalAttributes:p.subjectAttributes.categoricalAttributes,actionNumericAttributes:p.actionAttributes.numericAttributes,actionCategoricalAttributes:p.actionAttributes.categoricalAttributes,metaData:this.buildLoggerMetadata(),evaluationDetails:c};try{this.logBanditAction(r)}catch(e){o.logger.error("Error logging bandit event",e)}c.banditAction=u}}catch(e){if(o.logger.error("Error determining bandit action",e),!this.isGracefulFailureMode)throw e;l&&(c.flagEvaluationCode="BANDIT_ERROR"),c.flagEvaluationDescription=`Error evaluating bandit action: ${e.message}`}return{variation:l,action:u,evaluationDetails:c}}getExperimentContainerEntry(e,t,r){let{flagKey:i,controlVariationEntry:n,treatmentVariationEntries:s}=e,a=this.getStringAssignment(i,t,r,"control");if("control"===a)return n;if(!a.startsWith("treatment-"))return o.logger.warn(`Variation '${a}' cannot be mapped to a container. Defaulting to control variation.`),n;let l=Number.parseInt(a.split("-")[1])-1;return isNaN(l)?(o.logger.warn(`Variation '${a}' cannot be mapped to a container. Defaulting to control variation.`),n):l>=s.length?(o.logger.warn(`Selected treatment variation (${l}) index is out of bounds. Defaulting to control variation.`),n):s[l]}evaluateBanditAction(e,t,r,i,n){if(!Object.keys(i).length)return null;let o=(0,s.ensureContextualSubjectAttributes)(r),a=(0,s.ensureActionsWithContextualAttributes)(i);return this.banditEvaluator.evaluateBandit(e,t,o,a,n)}logBanditAction(e){let t=e.subject,r={flagKey:e.featureFlag,subjectKey:t,banditKey:e.bandit,actionKey:e.action??"__eppo_no_action"};if(!this.banditAssignmentCache?.has(r))try{this.banditLogger?this.banditLogger.logBanditAction(e):this.banditEventsQueue.push(e),this.banditAssignmentCache?.set(r)}catch(e){o.logger.warn("Error encountered logging bandit action",e)}}getAssignmentVariation(e,t,r,i,n){try{let o=this.getAssignmentDetail(e,t,r,n);return this.parseVariationWithDetails(o,i,n)}catch(t){let e=this.rethrowIfNotGraceful(t,i);if(t instanceof S.FlagEvaluationError&&t.flagEvaluationDetails)return{eppoValue:e,flagEvaluationDetails:t.flagEvaluationDetails};return{eppoValue:e,flagEvaluationDetails:new b.FlagEvaluationDetailsBuilder("",[],"","").buildForNoneResult("ASSIGNMENT_ERROR",`Assignment Error: ${t.message}`)}}}parseVariationWithDetails({flagEvaluationDetails:e,variation:t},r,i){try{if(!t||"MATCH"!==e.flagEvaluationCode)return{eppoValue:r,flagEvaluationDetails:e};return{eppoValue:m.EppoValue.valueOf(t.value,i),flagEvaluationDetails:e}}catch(t){return{eppoValue:this.rethrowIfNotGraceful(t,r),flagEvaluationDetails:e}}}rethrowIfNotGraceful(e,t){if(this.isGracefulFailureMode)return o.logger.error(`${o.loggerPrefix} Error getting assignment: ${e.message}`),t??m.EppoValue.Null();throw e}getAllAssignments(e,t={}){let r=this.getConfiguration(),i=r.getFlagConfigDetails(),n=this.getFlagKeys(),s={};return n.forEach(n=>{let a=this.getNormalizedFlag(r,n);if(!a){o.logger.debug(`${o.loggerPrefix} No assigned variation. Flag does not exist.`);return}let l=this.evaluator.evaluateFlag(a,i,e,t,r.isObfuscated());if(!l.variation||!l.allocationKey){o.logger.debug(`${o.loggerPrefix} No assigned variation: ${n}`);return}s[n]={flagKey:n,allocationKey:l.allocationKey,doLog:l.doLog,extraLogging:l.extraLogging,variationKey:l.variation.key,variationType:a.variationType,variationValue:l.variation.value.toString()}}),s}getPrecomputedConfiguration(e,t={},r={},i){let n=this.getConfiguration(),o=n.getFlagConfigDetails(),a=(0,s.ensureContextualSubjectAttributes)(t),l=(0,s.ensureNonContextualSubjectAttributes)(t),u=this.getAllAssignments(e,l),c=this.computeBanditsForFlags(n,e,a,r,u),g=h.PrecomputedConfiguration.obfuscated(e,u,c,i??"",a,o.configEnvironment);return JSON.stringify(h.ConfigurationWireV1.precomputed(g))}getAssignmentDetail(e,t,r={},i){(0,w.validateNotBlank)(t,"Invalid argument: subjectKey cannot be blank"),(0,w.validateNotBlank)(e,"Invalid argument: flagKey cannot be blank");let n=this.getConfiguration(),s=this.newFlagEvaluationDetailsBuilder(n,e),a=this.overrideStore?.get(e);if(a)return(0,E.overrideResult)(e,t,r,a,s);let l=n.getFlagConfigDetails(),u=this.getNormalizedFlag(n,e);if(null===u){o.logger.warn(`${o.loggerPrefix} No assigned variation. Flag not found: ${e}`);let i=s.buildForNoneResult("FLAG_UNRECOGNIZED_OR_DISABLED",`Unrecognized or disabled flag: ${e}`);return(0,E.noneResult)(e,t,r,i,l.configFormat)}if(!P(i,u.variationType)){let n=`Variation value does not have the correct type. Found ${u.variationType}, but expected ${i} for flag ${e}`;if(this.isGracefulFailureMode){let i=s.buildForNoneResult("TYPE_MISMATCH",n);return(0,E.noneResult)(e,t,r,i,l.configFormat)}throw TypeError(n)}if(!u.enabled){o.logger.info(`${o.loggerPrefix} No assigned variation. Flag is disabled: ${e}`);let i=s.buildForNoneResult("FLAG_UNRECOGNIZED_OR_DISABLED",`Unrecognized or disabled flag: ${e}`);return(0,E.noneResult)(e,t,r,i,l.configFormat)}let c=n.isObfuscated(),g=this.evaluator.evaluateFlag(u,l,t,r,c,i);c&&(g.flagKey=e);try{g?.doLog&&this.maybeLogAssignment(g)}catch(e){o.logger.error(`${o.loggerPrefix} Error logging assignment event: ${e}`)}return g}track(e,t){this.eventDispatcher.dispatch({uuid:(0,i.v4)(),type:e,timestamp:new Date().getTime(),payload:t})}newFlagEvaluationDetailsBuilder(e,t){let r=this.getNormalizedFlag(e,t),i=e.getFlagConfigDetails();return new b.FlagEvaluationDetailsBuilder(i.configEnvironment.name,r?.allocations??[],i.configFetchedAt,i.configPublishedAt)}getNormalizedFlag(e,t){return e.isObfuscated()?this.getObfuscatedFlag(e,t):e.getFlag(t)}getObfuscatedFlag(e,t){let r=e.getFlag((0,I.getMD5Hash)(t));return r?(0,p.decodeFlag)(r):null}getFlagKeys(){return this.getConfiguration().getFlagKeys()}isInitialized(){return this.getConfiguration().isInitialized()}setLogger(e){this.setAssignmentLogger(e)}setAssignmentLogger(e){this.assignmentLogger=e,this.flushQueuedEvents(this.assignmentEventsQueue,this.assignmentLogger?.logAssignment)}setBanditLogger(e){this.banditLogger=e,this.flushQueuedEvents(this.banditEventsQueue,this.banditLogger?.logBanditAction)}disableAssignmentCache(){this.assignmentCache=void 0}useNonExpiringInMemoryAssignmentCache(){this.assignmentCache=new u.NonExpiringInMemoryAssignmentCache}useLRUInMemoryAssignmentCache(e){this.assignmentCache=new l.LRUInMemoryAssignmentCache(e)}useCustomAssignmentCache(e){this.assignmentCache=e}disableBanditAssignmentCache(){this.banditAssignmentCache=void 0}useNonExpiringInMemoryBanditAssignmentCache(){this.banditAssignmentCache=new u.NonExpiringInMemoryAssignmentCache}useExpiringInMemoryBanditAssignmentCache(e,t){this.banditAssignmentCache=new c.TLRUInMemoryAssignmentCache(e,t)}useCustomBanditAssignmentCache(e){this.banditAssignmentCache=e}setIsGracefulFailureMode(e){this.isGracefulFailureMode=e}getFlagConfigurations(){return this.getConfiguration().getFlags()}flushQueuedEvents(e,t){let r=e.flush();t&&r.forEach(e=>{try{t(e)}catch(e){o.logger.error(`${o.loggerPrefix} Error flushing event to logger: ${e.message}`)}})}maybeLogAssignment(e){let{flagKey:t,format:r,subjectKey:i,allocationKey:n=null,subjectAttributes:s,variation:a,flagEvaluationDetails:l,extraLogging:u={},entityId:c}=e,g={...u,allocation:n,experiment:n?`${t}-${n}`:null,featureFlag:t,format:r,variation:a?.key??null,subject:i,timestamp:new Date().toISOString(),subjectAttributes:s,metaData:this.buildLoggerMetadata(),evaluationDetails:l,entityId:c};if(!(a&&n&&this.assignmentCache?.has({flagKey:t,subjectKey:i,allocationKey:n,variationKey:a.key})))try{this.assignmentLogger?this.assignmentLogger.logAssignment(g):this.assignmentEventsQueue.push(g),this.assignmentCache?.set({flagKey:t,subjectKey:i,allocationKey:n??"__eppo_no_allocation",variationKey:a?.key??"__eppo_no_variation"})}catch(e){o.logger.error(`${o.loggerPrefix} Error logging assignment event: ${e.message}`)}}buildLoggerMetadata(){return{obfuscated:this.getConfiguration().isObfuscated(),sdkLanguage:"javascript",sdkLibVersion:L.LIB_VERSION}}computeBanditsForFlags(e,t,r,i,n){let o={};return Object.keys(i).forEach(s=>{let a=n[s];if(a){let n=this.getPrecomputedBandit(e,s,a.variationValue,t,r,i[s]);n&&(o[s]=n)}}),o}getPrecomputedBandit(e,t,r,i,n,o){let s=e.getFlagVariationBandit(t,r);if(!s)return null;let a=this.evaluateBanditAction(t,i,n,o,s.modelData);return a?{banditKey:s.banditKey,action:a.actionKey,actionNumericAttributes:a.actionAttributes.numericAttributes,actionCategoricalAttributes:a.actionAttributes.categoricalAttributes,actionProbability:a.actionWeight,modelVersion:s.modelVersion,optimalityGap:a.optimalityGap}:null}}function P(e,t){return void 0===e||t===e}t.default=R},253871:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(752119),n=r(788007),o=r(422118),s=r(522378),a=r(372135),l=r(676283),u=r(945434),c=r(512813),g=r(424530),f=r(122184),h=r(206056),d=r(481649),p=r(324262),m=r(664976),E=r(469497);class v{constructor(e){this.queuedAssignmentEvents=[],this.banditEventsQueue=[],this.precomputedFlagStore=e.precomputedFlagStore,this.precomputedBanditStore=e.precomputedBanditStore,this.overrideStore=e.overrideStore;let{subjectKey:t,subjectAttributes:r}=e.subject;this.subject={subjectKey:t,subjectAttributes:(0,o.ensureContextualSubjectAttributes)(r)},this.banditActions=e.banditActions,e.requestParameters?this.requestParameters=e.requestParameters:(this.precomputedFlagStore.getKeys().length>0&&(this.precomputedFlagStore.isInitialized()||n.logger.error(`${n.loggerPrefix} EppoPrecomputedClient requires an initialized precomputedFlagStore if requestParameters are not provided`),this.precomputedFlagStore.salt||n.logger.error(`${n.loggerPrefix} EppoPrecomputedClient requires a precomputedFlagStore with a salt if requestParameters are not provided`)),this.precomputedBanditStore&&!this.precomputedBanditStore.isInitialized()&&n.logger.error(`${n.loggerPrefix} Passing banditOptions without requestParameters requires an initialized precomputedBanditStore`),this.precomputedBanditStore&&!this.precomputedBanditStore.salt&&n.logger.warn(`${n.loggerPrefix} EppoPrecomputedClient missing or empty salt for precomputedBanditStore`))}async fetchPrecomputedFlags(){if(!this.requestParameters)throw Error("Eppo SDK unable to fetch precomputed flags without the request parameters");this.requestPoller?.stop();let{apiKey:e,sdkName:t,sdkVersion:r,baseUrl:o,requestTimeoutMs:s=l.DEFAULT_REQUEST_TIMEOUT_MS,numInitialRequestRetries:a=l.DEFAULT_INITIAL_CONFIG_REQUEST_RETRIES,numPollRequestRetries:u=l.DEFAULT_POLL_CONFIG_REQUEST_RETRIES,pollAfterSuccessfulInitialization:g=!1,pollAfterFailedInitialization:f=!1,throwOnFailedInitialization:p=!1,skipInitialPoll:m=!1}=this.requestParameters,{subjectKey:E,subjectAttributes:v}=this.subject,{pollingIntervalMs:y=l.DEFAULT_POLL_INTERVAL_MS}=this.requestParameters;y<=0&&(n.logger.error("pollingIntervalMs must be greater than 0. Using default"),y=l.DEFAULT_POLL_INTERVAL_MS);let b=new i.default({baseUrl:o??l.PRECOMPUTED_BASE_URL,queryParams:{apiKey:e,sdkName:t,sdkVersion:r}}),S=new c.default(b,s),A=new d.default(S,this.precomputedFlagStore,E,v,this.precomputedBanditStore,this.banditActions),C=async()=>{if(await this.precomputedFlagStore.isExpired())return A.fetchAndStorePrecomputedFlags()};this.requestPoller=(0,h.default)(y,C,{maxStartRetries:a,maxPollRetries:u,pollAfterSuccessfulStart:g,pollAfterFailedStart:f,errorOnFailedStart:p,skipInitialPoll:m}),await this.requestPoller.start()}stopPolling(){this.requestPoller&&this.requestPoller.stop()}getPrecomputedAssignment(e,t,r,i=e=>e){(0,p.validateNotBlank)(e,"Invalid argument: flagKey cannot be blank");let s=this.overrideStore?.get(e);if(s)return i(s.value);let a=this.getPrecomputedFlag(e);if(null==a)return n.logger.warn(`${n.loggerPrefix} No assigned variation. Flag not found: ${e}`),t;if(!(0,E.checkTypeMatch)(r,a.variationType)){let i=`${n.loggerPrefix} Type mismatch: expected ${r} but flag ${e} has type ${a.variationType}`;return n.logger.error(i),t}let l={flagKey:e,format:this.precomputedFlagStore.getFormat()??"",subjectKey:this.subject.subjectKey??"",subjectAttributes:(0,o.ensureNonContextualSubjectAttributes)(this.subject.subjectAttributes??{}),variation:{key:a.variationKey??"",value:a.variationValue},allocationKey:a.allocationKey??"",extraLogging:a.extraLogging??{},doLog:a.doLog,entityId:null};try{l?.doLog&&this.logAssignment(l)}catch(e){n.logger.error(`${n.loggerPrefix} Error logging assignment event: ${e}`)}try{return l.variation?.value!==void 0?i(l.variation.value):t}catch(e){return n.logger.error(`${n.loggerPrefix} Error transforming value: ${e}`),t}}getStringAssignment(e,t){return this.getPrecomputedAssignment(e,t,g.VariationType.STRING)}getBooleanAssignment(e,t){return this.getPrecomputedAssignment(e,t,g.VariationType.BOOLEAN)}getIntegerAssignment(e,t){return this.getPrecomputedAssignment(e,t,g.VariationType.INTEGER)}getNumericAssignment(e,t){return this.getPrecomputedAssignment(e,t,g.VariationType.NUMERIC)}getJSONAssignment(e,t){return this.getPrecomputedAssignment(e,t,g.VariationType.JSON,e=>"string"==typeof e?JSON.parse(e):t)}getBanditAction(e,t){if(!this.getPrecomputedFlag(e))return n.logger.warn(`${n.loggerPrefix} No assigned variation. Flag not found: ${e}`),{variation:t,action:null};let r=this.getPrecomputedBandit(e),i=this.getStringAssignment(e,t);if(r){let t={timestamp:new Date().toISOString(),featureFlag:e,bandit:r.banditKey,subject:this.subject.subjectKey??"",action:r.action,actionProbability:r.actionProbability,optimalityGap:r.optimalityGap,modelVersion:r.modelVersion,subjectNumericAttributes:r.actionNumericAttributes,subjectCategoricalAttributes:r.actionCategoricalAttributes,actionNumericAttributes:r.actionNumericAttributes,actionCategoricalAttributes:r.actionCategoricalAttributes,metaData:this.buildLoggerMetadata(),evaluationDetails:null};try{this.logBanditAction(t)}catch(e){n.logger.error(`${n.loggerPrefix} Error logging bandit action: ${e}`)}return{variation:i,action:t.action}}return{variation:i,action:null}}getPrecomputedFlag(e){return this.getObfuscatedFlag(e)}getObfuscatedFlag(e){let t=this.precomputedFlagStore.salt,r=(0,f.getMD5Hash)(e,t),i=this.precomputedFlagStore.get(r);return i?(0,u.decodePrecomputedFlag)(i):null}getPrecomputedBandit(e){let t=this.getObfuscatedPrecomputedBandit(e);return t?(0,u.decodePrecomputedBandit)(t):null}getObfuscatedPrecomputedBandit(e){let t=this.precomputedBanditStore?.salt,r=(0,f.getMD5Hash)(e,t);return this.precomputedBanditStore?.get(r)??null}isInitialized(){return this.precomputedFlagStore.isInitialized()}setAssignmentLogger(e){this.assignmentLogger=e,this.flushQueuedEvents(this.queuedAssignmentEvents,this.assignmentLogger?.logAssignment)}setBanditLogger(e){this.banditLogger=e,this.flushQueuedEvents(this.banditEventsQueue,this.banditLogger?.logBanditAction)}disableAssignmentCache(){this.assignmentCache=void 0}useNonExpiringInMemoryAssignmentCache(){this.assignmentCache=new a.NonExpiringInMemoryAssignmentCache}useLRUInMemoryAssignmentCache(e){this.assignmentCache=new s.LRUInMemoryAssignmentCache(e)}useCustomAssignmentCache(e){this.assignmentCache=e}flushQueuedEvents(e,t){let r=[...e];e.length=0,t&&r.forEach(e=>{try{t(e)}catch(e){n.logger.error(`${n.loggerPrefix} Error flushing event to logger: ${e.message}`)}})}logAssignment(e){let{flagKey:t,subjectKey:r,allocationKey:i,subjectAttributes:o,variation:s,format:a}=e,u={...e.extraLogging??{},allocation:i??null,experiment:i?`${t}-${i}`:null,featureFlag:t,format:a,variation:s?.key??null,subject:r,timestamp:new Date().toISOString(),subjectAttributes:o,metaData:this.buildLoggerMetadata(),evaluationDetails:null};if(!(s&&i&&this.assignmentCache?.has({flagKey:t,subjectKey:r,allocationKey:i,variationKey:s.key})))try{this.assignmentLogger?this.assignmentLogger.logAssignment(u):this.queuedAssignmentEvents.length0,o=!!(this.banditVariationConfigurationStore&&this.banditModelConfigurationStore);if(n&&o&&(e={entries:this.indexBanditVariationsByFlagKey(r.banditReferences),environment:r.environment,createdAt:r.createdAt,format:r.format},this.requiresBanditModelConfigurationStoreUpdate(this.banditModelVersions,r.banditReferences))){let e=await this.httpClient.getBanditParameters();e?.bandits&&(t={entries:e.bandits,environment:r.environment,createdAt:r.createdAt,format:r.format},this.banditModelVersions=this.getLoadedBanditModelVersions(e.bandits))}await this.configuration.hydrateConfigurationStores(i,e,t)}getLoadedBanditModelVersions(e){return Object.values(e).map(e=>e.modelVersion)}requiresBanditModelConfigurationStoreUpdate(e,t){return!Object.values(t).map(e=>e.modelVersion).every(t=>e.includes(t))}indexBanditVariationsByFlagKey(e){let t={};return Object.values(e).forEach(e=>{e.flagVariations.forEach(e=>{let r=t[e.flagKey];r||(r=[],t[e.flagKey]=r),r.push(e)})}),t}}t.default=n},626503:function(e,t){"use strict";async function r(e,t){if(e){let r=await e.setEntries(t.entries);return r&&(e.setEnvironment(t.environment),e.setConfigFetchedAt(new Date().toISOString()),e.setConfigPublishedAt(t.createdAt),e.setFormat(t.format),e.salt=t.salt),r}return!1}Object.defineProperty(t,"__esModule",{value:!0}),t.hydrateConfigurationStore=r},977299:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HybridConfigurationStore=void 0;let i=r(788007);class n{constructor(e,t){this.servingStore=e,this.persistentStore=t,this.environment=null,this.configFetchedAt=null,this.configPublishedAt=null,this.format=null}async init(){if(!this.persistentStore)return;this.persistentStore.isInitialized()||i.logger.warn(`${i.loggerPrefix} Persistent store is not initialized from remote configuration. Serving assignments that may be stale.`);let e=await this.persistentStore.entries();this.servingStore.setEntries(e)}isInitialized(){return this.servingStore.isInitialized()&&(this.persistentStore?.isInitialized()??!0)}async isExpired(){return await this.persistentStore?.isExpired()??!0}get(e){return this.servingStore.isInitialized()||i.logger.warn(`${i.loggerPrefix} getting a value from a ServingStore that is not initialized.`),this.servingStore.get(e)}entries(){return this.servingStore.entries()}getKeys(){return this.servingStore.getKeys()}async setEntries(e){return this.persistentStore&&await this.persistentStore.setEntries(e),this.servingStore.setEntries(e),!0}setEnvironment(e){this.environment=e}getEnvironment(){return this.environment}getConfigFetchedAt(){return this.configFetchedAt}setConfigFetchedAt(e){this.configFetchedAt=e}getConfigPublishedAt(){return this.configPublishedAt}setConfigPublishedAt(e){this.configPublishedAt=e}getFormat(){return this.format}setFormat(e){this.format=e}}t.HybridConfigurationStore=n},361393:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MemoryOnlyConfigurationStore=t.MemoryStore=void 0;class r{constructor(){this.store={},this.initialized=!1}get(e){return this.store[e]??null}entries(){return this.store}getKeys(){return Object.keys(this.store)}isInitialized(){return this.initialized}setEntries(e){this.store={...e},this.initialized=!0}}t.MemoryStore=r;class i{constructor(){this.servingStore=new r,this.initialized=!1,this.configFetchedAt=null,this.configPublishedAt=null,this.environment=null,this.format=null}init(){return this.initialized=!0,Promise.resolve()}get(e){return this.servingStore.get(e)}entries(){return this.servingStore.entries()}getKeys(){return this.servingStore.getKeys()}async isExpired(){return!0}isInitialized(){return this.initialized}async setEntries(e){return this.servingStore.setEntries(e),this.initialized=!0,!0}getEnvironment(){return this.environment}setEnvironment(e){this.environment=e}getConfigFetchedAt(){return this.configFetchedAt}setConfigFetchedAt(e){this.configFetchedAt=e}getConfigPublishedAt(){return this.configPublishedAt}setConfigPublishedAt(e){this.configPublishedAt=e}getFormat(){return this.format}setFormat(e){this.format=e}}t.MemoryOnlyConfigurationStore=i},775405:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationWireHelper=void 0;let i=r(752119),n=r(512813),o=r(944480);class s{static build(e,t={sdkName:"android",sdkVersion:"4.0.0"}){let{sdkName:r,sdkVersion:i,baseUrl:n}=t;return new s(e,r,i,n)}constructor(e,t="android",r="4.0.0",o){let s=new i.default({baseUrl:o,queryParams:{sdkName:t,sdkVersion:r,apiKey:e}});this.httpClient=new n.default(s,5e3)}async fetchBootstrapConfiguration(){let e;let t=await this.httpClient.getUniversalFlagConfiguration();return t?.flags?(Object.keys(t.banditReferences??{}).length>0&&(e=await this.httpClient.getBanditParameters()),o.ConfigurationWireV1.fromResponses(t,e)):(console.warn("Unable to fetch configuration, returning empty configuration"),Promise.resolve(o.ConfigurationWireV1.empty()))}}t.ConfigurationWireHelper=s},944480:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationWireV1=t.ObfuscatedPrecomputedConfigurationResponse=t.PrecomputedConfigurationResponse=t.PrecomputedConfiguration=void 0,t.inflateResponse=function(e){return JSON.parse(e)},t.deflateResponse=u;let i=r(424530),n=r(122184);class o{constructor(e,t,r){this.subjectKey=e,this.subjectAttributes=t,this.environment=r,this.format=i.FormatEnum.PRECOMPUTED,this.createdAt=new Date().toISOString()}}class s{constructor(e,t,r){this.response=e,this.subjectKey=t,this.subjectAttributes=r}static obfuscated(e,t,r,i,n,o){return new s(JSON.stringify(new l(e,t,r,i,n,o)),e,n)}static unobfuscated(e,t,r,i,n){return new s(JSON.stringify(new a(e,t,r,i,n)),e,i)}}t.PrecomputedConfiguration=s;class a extends o{constructor(e,t,r,i,n){super(e,i,n),this.flags=t,this.bandits=r,this.obfuscated=!1}}t.PrecomputedConfigurationResponse=a;class l extends o{constructor(e,t,r,i,o,s){super(e,o,s),this.obfuscated=!0,this.salt=i,this.bandits=(0,n.obfuscatePrecomputedBanditMap)(this.salt,r),this.flags=(0,n.obfuscatePrecomputedFlags)(this.salt,t)}}function u(e){return JSON.stringify(e)}t.ObfuscatedPrecomputedConfigurationResponse=l;class c{constructor(e,t,r){this.precomputed=e,this.config=t,this.bandits=r,this.version=1}static fromResponses(e,t,r,i){return new c(void 0,{response:u(e),fetchedAt:new Date().toISOString(),etag:r},t?{response:u(t),fetchedAt:new Date().toISOString(),etag:i}:void 0)}static precomputed(e){return new c(e)}static empty(){return new c}}t.ConfigurationWireV1=c},676283:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OBFUSCATED_FORMATS=t.DEFAULT_TLRU_TTL_MS=t.BANDIT_ASSIGNMENT_SHARDS=t.MAX_EVENT_QUEUE_SIZE=t.NULL_SENTINEL=t.SESSION_ASSIGNMENT_CONFIG_LOADED=t.PRECOMPUTED_FLAGS_ENDPOINT=t.PRECOMPUTED_BASE_URL=t.BANDIT_ENDPOINT=t.UFC_ENDPOINT=t.BASE_URL=t.DEFAULT_POLL_CONFIG_REQUEST_RETRIES=t.DEFAULT_INITIAL_CONFIG_REQUEST_RETRIES=t.POLL_JITTER_PCT=t.DEFAULT_POLL_INTERVAL_MS=t.REQUEST_TIMEOUT_MILLIS=t.DEFAULT_REQUEST_TIMEOUT_MS=void 0;let i=r(424530);t.DEFAULT_REQUEST_TIMEOUT_MS=5e3,t.REQUEST_TIMEOUT_MILLIS=t.DEFAULT_REQUEST_TIMEOUT_MS,t.DEFAULT_POLL_INTERVAL_MS=3e4,t.POLL_JITTER_PCT=.1,t.DEFAULT_INITIAL_CONFIG_REQUEST_RETRIES=1,t.DEFAULT_POLL_CONFIG_REQUEST_RETRIES=7,t.BASE_URL="https://fscdn.eppo.cloud/api",t.UFC_ENDPOINT="/flag-config/v1/config",t.BANDIT_ENDPOINT="/flag-config/v1/bandits",t.PRECOMPUTED_BASE_URL="https://fs-edge-assignment.eppo.cloud",t.PRECOMPUTED_FLAGS_ENDPOINT="/assignments",t.SESSION_ASSIGNMENT_CONFIG_LOADED="eppo-session-assignment-config-loaded",t.NULL_SENTINEL="EPPO_NULL",t.MAX_EVENT_QUEUE_SIZE=100,t.BANDIT_ASSIGNMENT_SHARDS=1e4,t.DEFAULT_TLRU_TTL_MS=6e5,t.OBFUSCATED_FORMATS=[i.FormatEnum.CLIENT,i.FormatEnum.PRECOMPUTED]},945434:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decodeFlag=function(e){return{...e,variations:o(e.variations,e.variationType),allocations:e.allocations.map(a)}},t.decodeVariations=o,t.decodeValue=s,t.decodeAllocation=a,t.decodeSplit=l,t.decodeShard=u,t.decodeObject=c,t.decodeObjectTo=g,t.decodePrecomputedFlag=function(e){return{...e,allocationKey:(0,n.decodeBase64)(e.allocationKey??""),variationKey:(0,n.decodeBase64)(e.variationKey??""),variationValue:s(e.variationValue,e.variationType),extraLogging:c(e.extraLogging??{})}},t.decodePrecomputedBandit=function(e){return{...e,banditKey:(0,n.decodeBase64)(e.banditKey),action:(0,n.decodeBase64)(e.action),modelVersion:(0,n.decodeBase64)(e.modelVersion),actionNumericAttributes:g(e.actionNumericAttributes??{},e=>+e),actionCategoricalAttributes:c(e.actionCategoricalAttributes??{})}};let i=r(424530),n=r(122184);function o(e,t){return Object.fromEntries(Object.entries(e).map(([,e])=>{let r=(0,n.decodeBase64)(e.key);return[r,{key:r,value:s(e.value,t)}]}))}function s(e,t){switch(t){case i.VariationType.INTEGER:case i.VariationType.NUMERIC:return Number((0,n.decodeBase64)(e));case i.VariationType.BOOLEAN:return"true"===(0,n.decodeBase64)(e);default:return(0,n.decodeBase64)(e)}}function a(e){return{...e,key:(0,n.decodeBase64)(e.key),splits:e.splits.map(l),startAt:e.startAt?new Date((0,n.decodeBase64)(e.startAt)).toISOString():void 0,endAt:e.endAt?new Date((0,n.decodeBase64)(e.endAt)).toISOString():void 0}}function l(e){return{extraLogging:e.extraLogging?c(e.extraLogging):void 0,variationKey:(0,n.decodeBase64)(e.variationKey),shards:e.shards.map(u)}}function u(e){return{...e,salt:(0,n.decodeBase64)(e.salt)}}function c(e){return g(e,e=>e)}function g(e,t){return Object.fromEntries(Object.entries(e).map(([e,r])=>[(0,n.decodeBase64)(e),t((0,n.decodeBase64)(r))]))}},430689:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EppoAssignmentLogger=void 0;class r{constructor(e){this.eppoClient=e}logAssignment(e){let{entityId:t,featureFlag:r,experiment:i,allocation:n,holdoutKey:o,holdoutVariation:s,subject:a,variation:l}=e;t&&this.eppoClient.track("__eppo_assignment",{entity_id:t,experiment:i,feature_flag:r,allocation:n,holdout_variation:s,holdout:o,subject:a,variation:l})}}t.EppoAssignmentLogger=r},410607:function(e,t,r){"use strict";var i,n;Object.defineProperty(t,"__esModule",{value:!0}),t.EppoValue=t.EppoValueType=void 0;let o=r(424530),s=r(122184);(n=i||(t.EppoValueType=i={}))[n.NullType=0]="NullType",n[n.BoolType=1]="BoolType",n[n.NumericType=2]="NumericType",n[n.StringType=3]="StringType",n[n.JSONType=4]="JSONType";class a{constructor(e,t,r,i,n){this.valueType=e,this.boolValue=t,this.numericValue=r,this.stringValue=i,this.objectValue=n}static valueOf(e,t){if(null==e)return a.Null();switch(t){case o.VariationType.BOOLEAN:return a.Bool(e);case o.VariationType.NUMERIC:case o.VariationType.INTEGER:return a.Numeric(e);case o.VariationType.STRING:return a.String(e);case o.VariationType.JSON:return a.JSON(e);default:return a.String(e)}}toString(){switch(this.valueType){case i.NullType:return"null";case i.BoolType:return this.boolValue?"true":"false";case i.NumericType:return this.numericValue?this.numericValue.toString():"0";case i.StringType:return this.stringValue??"";case i.JSONType:try{return JSON.stringify(this.objectValue)??""}catch{return this.stringValue??""}}}toHashedString(){let e=this.toString();return(0,s.getMD5Hash)(e)}static Bool(e){return new a(i.BoolType,e,void 0,void 0,void 0)}static Numeric(e){return new a(i.NumericType,void 0,e,void 0,void 0)}static String(e){return new a(i.StringType,void 0,void 0,e,void 0)}static JSON(e){return new a(i.JSONType,void 0,void 0,void 0,"string"==typeof e?JSON.parse(e):e)}static Null(){return new a(i.NullType,void 0,void 0,void 0,void 0)}}t.EppoValue=a},963289:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Evaluator=void 0,t.isInShardRange=u,t.hashKey=c,t.noneResult=g,t.matchesRules=f,t.overrideResult=function(e,t,r,i,n){let o="override-"+i.key,s=n.setMatch(0,i,{key:o,splits:[],doLog:!1},null,void 0).build("MATCH","Flag override applied");return{flagKey:e,subjectKey:t,variation:i,subjectAttributes:r,flagEvaluationDetails:s,doLog:!1,format:"",allocationKey:o,extraLogging:{},entityId:null}};let i=r(469497),n=r(836502),o=r(787612),s=r(299053),a=r(202778);class l{constructor(e){this.getMatchedEvaluationCodeAndDescription=(e,t,r,n,o)=>{if(!(0,i.checkValueTypeMatch)(o,e.value)){let{key:t,value:r}=e;return{flagEvaluationCode:"ASSIGNMENT_ERROR",flagEvaluationDescription:`Variation (${t}) is configured for type ${o}, but is set to incompatible value (${r})`}}let s=!!t.rules?.length,a=t.splits.length>1,l=r.shards.length>1,u=a||l;return s&&u?{flagEvaluationCode:"MATCH",flagEvaluationDescription:`Supplied attributes match rules defined in allocation "${t.key}" and ${n} belongs to the range of traffic assigned to "${r.variationKey}".`}:s&&!u?{flagEvaluationCode:"MATCH",flagEvaluationDescription:`Supplied attributes match rules defined in allocation "${t.key}".`}:{flagEvaluationCode:"MATCH",flagEvaluationDescription:`${n} belongs to the range of traffic assigned to "${r.variationKey}" defined in allocation "${t.key}".`}},this.sharder=e??new a.MD5Sharder}evaluateFlag(e,t,r,i,s,a){let l=new n.FlagEvaluationDetailsBuilder(t.configEnvironment.name,e.allocations,t.configFetchedAt,t.configPublishedAt);try{if(!e.enabled)return g(e.key,r,i,l.buildForNoneResult("FLAG_UNRECOGNIZED_OR_DISABLED",`Unrecognized or disabled flag: ${e.key}`),t.configFormat);let o=new Date;for(let u=0;u{l.addUnmatchedAllocation({key:c.key,allocationEvaluationCode:e,orderPosition:u+1})};if(c.startAt&&onew Date(c.endAt)){g(n.AllocationEvaluationCode.AFTER_END_TIME);continue}let{matched:h,matchedRule:d}=f(c?.rules??[],{id:r,...i},s);if(h){for(let n of c.splits)if(n.shards.every(t=>this.matchesShard(t,r,e.totalShards))){let o=e.variations[n.variationKey],{flagEvaluationCode:s,flagEvaluationDescription:g}=this.getMatchedEvaluationCodeAndDescription(o,c,n,r,a),f=l.setMatch(u,o,c,d,a).build(s,g);return{flagKey:e.key,format:t.configFormat,subjectKey:r,subjectAttributes:i,allocationKey:c.key,variation:o,extraLogging:n.extraLogging??{},doLog:c.doLog,flagEvaluationDetails:f,entityId:e.entityId??null}}g(n.AllocationEvaluationCode.TRAFFIC_EXPOSURE_MISS)}else g(n.AllocationEvaluationCode.FAILING_RULE)}return g(e.key,r,i,l.buildForNoneResult("DEFAULT_ALLOCATION_NULL",'No allocations matched. Falling back to "Default Allocation", serving NULL'),t.configFormat)}catch(t){console.error(">>>>",t);let e=l.gracefulBuild("ASSIGNMENT_ERROR",`Assignment Error: ${t.message}`);if(e){let r=new o.FlagEvaluationError(t.message);throw r.flagEvaluationDetails=e,r}throw t}}matchesShard(e,t,r){let i=this.sharder.getShard(c(e.salt,t),r);return e.ranges.some(e=>u(i,e))}}function u(e,t){return t.start<=e&&e{let n=(0,s.matchesRule)(e,t,r);return n&&(i=e),n})?{matched:!0,matchedRule:i}:{matched:!1,matchedRule:null}}t.Evaluator=l},834478:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class r{constructor(e,t){this.eventQueue=e,this.batchSize=Math.max(100,Math.min(1e4,t))}nextBatch(){return this.eventQueue.splice(this.batchSize)}push(...e){this.eventQueue.push(...e)}isEmpty(){return this.eventQueue.isEmpty()}}t.default=r},444909:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(788007);class n{constructor(e,t){this.delivery=e,this.config=t}async retry(e,t,r=0){let{retryIntervalMs:n,maxRetryDelayMs:o,maxRetries:s}=this.config,a=Math.min(n*Math.pow(2,r),o);i.logger.info(`[BatchRetryManager] Retrying batch delivery of ${e.length} events in ${a}ms...`),await new Promise(e=>setTimeout(e,a));let{failedEvents:l}=await this.delivery.deliver(e,t);return 0===l.length?(i.logger.info(`[BatchRetryManager] Batch delivery successfully after ${r+1} tries.`),[]):r0;)n.push(...e.splice(0,1));e.length>0&&i.logger.warn(`Dropping ${e.length} events for queue ${t} since maxSize of ${r} reached.`)}flush(){let e=[...this.queue];return this.queue.length=0,e}}t.BoundedEventQueue=o},962023:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_EVENT_DISPATCHER_CONFIG=t.DEFAULT_EVENT_DISPATCHER_BATCH_SIZE=void 0,t.newDefaultEventDispatcher=function(e,r,o,s=t.DEFAULT_EVENT_DISPATCHER_BATCH_SIZE,c=t.DEFAULT_EVENT_DISPATCHER_CONFIG){let g=new l.default().decodeEventIngestionUrl(o);return g?new u(new n.default(e,s),r,{...c,ingestionUrl:g,sdkKey:o}):(i.logger.debug("Unable to parse Event ingestion URL from SDK key, falling back to no-op event dispatcher"),new a.default)};let i=r(788007),n=r(834478),o=r(444909),s=r(67632),a=r(174474),l=r(727624);t.DEFAULT_EVENT_DISPATCHER_BATCH_SIZE=1e3,t.DEFAULT_EVENT_DISPATCHER_CONFIG={deliveryIntervalMs:1e4,retryIntervalMs:5e3,maxRetryDelayMs:3e4,maxRetries:3};class u{constructor(e,t,r){this.batchProcessor=e,this.networkStatusListener=t,this.context={},this.dispatchTimer=null,this.isOffline=!1,this.ensureConfigFields(r);let{sdkKey:n,ingestionUrl:a,retryIntervalMs:l,maxRetryDelayMs:u,maxRetries:c=3}=r;this.eventDelivery=new s.default(n,a),this.retryManager=new o.default(this.eventDelivery,{retryIntervalMs:l,maxRetryDelayMs:u,maxRetries:c}),this.deliveryIntervalMs=r.deliveryIntervalMs,this.networkStatusListener.onNetworkStatusChange(e=>{i.logger.info(`[EventDispatcher] Network status change, isOffline=${e}.`),this.isOffline=e,e?this.dispatchTimer=null:this.maybeScheduleNextDelivery()})}attachContext(e,t){this.ensureValidContext(e,t),this.context[e]=t}dispatch(e){this.ensureValidEvent(e),this.batchProcessor.push(e),this.maybeScheduleNextDelivery()}ensureValidContext(e,t){if(t&&("object"==typeof t||Array.isArray(t)))throw Error("Context value must be a string, number, boolean, or null");if(t&&JSON.stringify({...this.context,[e]:t}).length>2048)throw Error("The total context size must be less than 2048 characters")}ensureValidEvent(e){if(JSON.stringify(e).length>4096)throw Error("Event serialized length exceeds maximum allowed length of 4096")}async deliverNextBatch(){if(this.isOffline){i.logger.warn("[EventDispatcher] Skipping delivery; network status is offline.");return}let e=this.batchProcessor.nextBatch();if(0===e.length){this.dispatchTimer=null;return}let t={...this.context},{failedEvents:r}=await this.eventDelivery.deliver(e,t);if(r.length>0){i.logger.warn("[EventDispatcher] Failed to deliver some events from batch, retrying...");let e=await this.retryManager.retry(r,t);e.length>0&&this.batchProcessor.push(...e)}i.logger.debug(`[EventDispatcher] Delivered batch of ${e.length} events.`),this.dispatchTimer=null,this.maybeScheduleNextDelivery()}maybeScheduleNextDelivery(){this.isOffline||this.batchProcessor.isEmpty()||this.dispatchTimer||(i.logger.info(`[EventDispatcher] Scheduling next delivery in ${this.deliveryIntervalMs}ms.`),this.dispatchTimer=setTimeout(()=>this.deliverNextBatch(),this.deliveryIntervalMs))}ensureConfigFields(e){if(!e.ingestionUrl)throw Error("Missing required ingestionUrl in EventDispatcherConfig");if(!e.deliveryIntervalMs)throw Error("Missing required deliveryIntervalMs in EventDispatcherConfig");if(!e.retryIntervalMs)throw Error("Missing required retryIntervalMs in EventDispatcherConfig");if(!e.maxRetryDelayMs)throw Error("Missing required maxRetryDelayMs in EventDispatcherConfig")}}t.default=u},67632:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(788007);class n{constructor(e,t){this.sdkKey=e,this.ingestionUrl=t}async deliver(e,t){try{i.logger.info(`[EventDispatcher] Delivering batch of ${e.length} events to ${this.ingestionUrl}...`);let r=await fetch(this.ingestionUrl,{method:"POST",headers:{"Content-Type":"application/json","x-eppo-token":this.sdkKey},body:JSON.stringify({eppo_events:e,context:t})});if(r.ok)return await this.parseFailedEvents(r,e);return{failedEvents:e}}catch(t){return i.logger.warn("Failed to upload event batch",t),{failedEvents:e}}}async parseFailedEvents(e,t){i.logger.info("[EventDispatcher] Batch delivered successfully.");let r=await e.json(),n=new Set(r?.failed_events||[]);return n.size>0?(i.logger.warn(`[EventDispatcher] ${n.size}/${t.length} events failed ingestion.`),{failedEvents:t.filter(({uuid:e})=>n.has(e))}):{failedEvents:[]}}}t.default=n},174474:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class r{attachContext(e,t){}dispatch(e){}}t.default=r},727624:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(256822),n="v0/i";class o{decodeEventIngestionUrl(e){let t=e.split(".")[1];if(!t)return null;let r=new URLSearchParams(i.Base64.decode(t)).get("eh");if(!r)return null;let o=r.endsWith("/")?`${r}${n}`:`${r}/${n}`;return o.startsWith("http://")||o.startsWith("https://")?o:`https://${o}`}}t.default=o},836502:function(e,t,r){"use strict";var i,n;Object.defineProperty(t,"__esModule",{value:!0}),t.FlagEvaluationDetailsBuilder=t.AllocationEvaluationCode=t.flagEvaluationCodes=void 0;let o=r(424530);t.flagEvaluationCodes=["MATCH","FLAG_UNRECOGNIZED_OR_DISABLED","TYPE_MISMATCH","ASSIGNMENT_ERROR","DEFAULT_ALLOCATION_NULL","NO_ACTIONS_SUPPLIED_FOR_BANDIT","BANDIT_ERROR"],(n=i||(t.AllocationEvaluationCode=i={})).UNEVALUATED="UNEVALUATED",n.MATCH="MATCH",n.BEFORE_START_TIME="BEFORE_START_TIME",n.TRAFFIC_EXPOSURE_MISS="TRAFFIC_EXPOSURE_MISS",n.AFTER_END_TIME="AFTER_END_TIME",n.FAILING_RULE="FAILING_RULE";class s{constructor(e,t,r,n){this.environmentName=e,this.allocations=t,this.configFetchedAt=r,this.configPublishedAt=n,this.variationKey=null,this.variationValue=null,this.matchedRule=null,this.matchedAllocation=null,this.unmatchedAllocations=[],this.addUnmatchedAllocation=e=>{this.unmatchedAllocations.push(e)},this.setNone=()=>(this.variationKey=null,this.variationValue=null,this.matchedRule=null,this.matchedAllocation=null,this),this.setMatch=(e,t,r,n,s)=>(this.variationKey=t.key,this.variationValue=s===o.VariationType.JSON&&"string"==typeof t.value?JSON.parse(t.value):t.value,this.matchedRule=n,this.matchedAllocation={key:r.key,allocationEvaluationCode:i.MATCH,orderPosition:e+1},this),this.buildForNoneResult=(e,t)=>this.setNone().build(e,t),this.build=(e,t)=>({environmentName:this.environmentName,flagEvaluationCode:e,flagEvaluationDescription:t,variationKey:this.variationKey,variationValue:this.variationValue,banditKey:null,banditAction:null,configFetchedAt:this.configFetchedAt,configPublishedAt:this.configPublishedAt,matchedRule:this.matchedRule,matchedAllocation:this.matchedAllocation,unmatchedAllocations:this.unmatchedAllocations,unevaluatedAllocations:this.calculateUnevaluatedAllocations()}),this.gracefulBuild=(e,t)=>{try{return this.build(e,t)}catch(e){return null}},this.calculateUnevaluatedAllocations=()=>{let e=this.matchedAllocation?this.unmatchedAllocations.length+1:this.unmatchedAllocations.length,t=e+1;return this.allocations.slice(e).map((e,r)=>({key:e.key,allocationEvaluationCode:i.UNEVALUATED,orderPosition:t+r}))},this.setNone()}}t.FlagEvaluationDetailsBuilder=s},787612:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FlagEvaluationError=void 0;class r extends Error{}t.FlagEvaluationError=r},512813:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HttpRequestError=void 0;class r extends Error{constructor(e,t,r){super(e),this.message=e,this.status=t,this.cause=r,r&&(this.cause=r)}}t.HttpRequestError=r;class i{constructor(e,t){this.apiEndpoints=e,this.timeout=t}async getUniversalFlagConfiguration(){let e=this.apiEndpoints.ufcEndpoint();return await this.rawGet(e)}async getBanditParameters(){let e=this.apiEndpoints.banditParametersEndpoint();return await this.rawGet(e)}async getPrecomputedFlags(e){let t=this.apiEndpoints.precomputedFlagsEndpoint();return await this.rawPost(t,e)}async rawGet(e){try{let t=new AbortController,i=t.signal,n=setTimeout(()=>t.abort(),this.timeout),o=await fetch(e,{signal:i});if(clearTimeout(n),!o?.ok)throw new r("Failed to fetch data",o?.status);return await o.json()}catch(e){if("AbortError"===e.name)throw new r("Request timed out",408,e);if(e instanceof r)throw e;throw new r("Network error",0,e)}}async rawPost(e,t){try{let i=new AbortController,n=i.signal,o=setTimeout(()=>i.abort(),this.timeout),s=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t),signal:n});if(clearTimeout(o),!s?.ok){let e=await s.text();throw new r(e||"Failed to post data",s?.status)}return await s.json()}catch(e){if("AbortError"===e.name)throw new r("Request timed out",408,e);if(e instanceof r)throw e;throw new r("Network error",0,e)}}}t.default=i},727128:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StoreBackedConfiguration=void 0;let i=r(626503),n=r(676283);class o{constructor(e,t,r){this.flagConfigurationStore=e,this.banditVariationConfigurationStore=t,this.banditModelConfigurationStore=r}async hydrateConfigurationStores(e,t,r){let n=await (0,i.hydrateConfigurationStore)(this.flagConfigurationStore,e),o=[];return this.banditVariationConfigurationStore&&t&&o.push((0,i.hydrateConfigurationStore)(this.banditVariationConfigurationStore,t)),this.banditModelConfigurationStore&&r&&o.push((0,i.hydrateConfigurationStore)(this.banditModelConfigurationStore,r)),await Promise.all(o),n}getBandit(e){return this.banditModelConfigurationStore?.get(e)??null}getFlagVariationBandit(e,t){let r=this.banditVariationConfigurationStore?.get(e),i=r?.find(e=>e.variationValue===t)?.key;return i?this.getBandit(i):null}getFlag(e){return this.flagConfigurationStore.get(e)??null}getFlagConfigDetails(){return{configFetchedAt:this.flagConfigurationStore.getConfigFetchedAt()??"",configPublishedAt:this.flagConfigurationStore.getConfigPublishedAt()??"",configEnvironment:this.flagConfigurationStore.getEnvironment()??{name:""},configFormat:this.flagConfigurationStore.getFormat()??""}}getFlagBanditVariations(e){return this.banditVariationConfigurationStore?.get(e)??[]}getFlagKeys(){return this.flagConfigurationStore.getKeys()}getFlags(){return this.flagConfigurationStore.entries()}isObfuscated(){return n.OBFUSCATED_FORMATS.includes(this.getFlagConfigDetails().configFormat??"SERVER")}isInitialized(){return this.flagConfigurationStore.isInitialized()&&(!this.banditVariationConfigurationStore||this.banditVariationConfigurationStore.isInitialized())&&(!this.banditModelConfigurationStore||this.banditModelConfigurationStore.isInitialized())}getBandits(){return this.banditModelConfigurationStore?.entries()??{}}getBanditVariations(){return this.banditVariationConfigurationStore?.entries()??{}}}t.StoreBackedConfiguration=o},694271:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.buildStorageKeySuffix=t.decodePrecomputedFlag=t.ConfigurationWireHelper=t.DefaultEventDispatcher=t.BatchEventProcessor=t.newDefaultEventDispatcher=t.DEFAULT_EVENT_DISPATCHER_BATCH_SIZE=t.DEFAULT_EVENT_DISPATCHER_CONFIG=t.BoundedEventQueue=t.FormatEnum=t.VariationType=t.assignmentCacheValueToString=t.assignmentCacheKeyToString=t.LRUInMemoryAssignmentCache=t.NonExpiringInMemoryAssignmentCache=t.MemoryOnlyConfigurationStore=t.HybridConfigurationStore=t.MemoryStore=t.EppoPrecomputedClient=t.validation=t.HttpClient=t.FlagConfigRequestor=t.ApiEndpoints=t.constants=t.EppoClient=t.EppoAssignmentLogger=t.AbstractAssignmentCache=t.applicationLogger=t.loggerPrefix=void 0;let i=r(752119);t.ApiEndpoints=i.default;let n=r(788007);Object.defineProperty(t,"applicationLogger",{enumerable:!0,get:function(){return n.logger}}),Object.defineProperty(t,"loggerPrefix",{enumerable:!0,get:function(){return n.loggerPrefix}});let o=r(147485);Object.defineProperty(t,"AbstractAssignmentCache",{enumerable:!0,get:function(){return o.AbstractAssignmentCache}}),Object.defineProperty(t,"assignmentCacheKeyToString",{enumerable:!0,get:function(){return o.assignmentCacheKeyToString}}),Object.defineProperty(t,"assignmentCacheValueToString",{enumerable:!0,get:function(){return o.assignmentCacheValueToString}});let s=r(522378);Object.defineProperty(t,"LRUInMemoryAssignmentCache",{enumerable:!0,get:function(){return s.LRUInMemoryAssignmentCache}});let a=r(372135);Object.defineProperty(t,"NonExpiringInMemoryAssignmentCache",{enumerable:!0,get:function(){return a.NonExpiringInMemoryAssignmentCache}});let l=r(469497);t.EppoClient=l.default;let u=r(253871);t.EppoPrecomputedClient=u.default;let c=r(813706);t.FlagConfigRequestor=c.default;let g=r(977299);Object.defineProperty(t,"HybridConfigurationStore",{enumerable:!0,get:function(){return g.HybridConfigurationStore}});let f=r(361393);Object.defineProperty(t,"MemoryStore",{enumerable:!0,get:function(){return f.MemoryStore}}),Object.defineProperty(t,"MemoryOnlyConfigurationStore",{enumerable:!0,get:function(){return f.MemoryOnlyConfigurationStore}});let h=r(775405);Object.defineProperty(t,"ConfigurationWireHelper",{enumerable:!0,get:function(){return h.ConfigurationWireHelper}});let d=r(676283);t.constants=d;let p=r(945434);Object.defineProperty(t,"decodePrecomputedFlag",{enumerable:!0,get:function(){return p.decodePrecomputedFlag}});let m=r(430689);Object.defineProperty(t,"EppoAssignmentLogger",{enumerable:!0,get:function(){return m.EppoAssignmentLogger}});let E=r(834478);t.BatchEventProcessor=E.default;let v=r(237861);Object.defineProperty(t,"BoundedEventQueue",{enumerable:!0,get:function(){return v.BoundedEventQueue}});let y=r(962023);t.DefaultEventDispatcher=y.default,Object.defineProperty(t,"DEFAULT_EVENT_DISPATCHER_CONFIG",{enumerable:!0,get:function(){return y.DEFAULT_EVENT_DISPATCHER_CONFIG}}),Object.defineProperty(t,"DEFAULT_EVENT_DISPATCHER_BATCH_SIZE",{enumerable:!0,get:function(){return y.DEFAULT_EVENT_DISPATCHER_BATCH_SIZE}}),Object.defineProperty(t,"newDefaultEventDispatcher",{enumerable:!0,get:function(){return y.newDefaultEventDispatcher}});let b=r(512813);t.HttpClient=b.default;let S=r(424530);Object.defineProperty(t,"VariationType",{enumerable:!0,get:function(){return S.VariationType}}),Object.defineProperty(t,"FormatEnum",{enumerable:!0,get:function(){return S.FormatEnum}});let A=r(122184);Object.defineProperty(t,"buildStorageKeySuffix",{enumerable:!0,get:function(){return A.buildStorageKeySuffix}});let C=r(324262);t.validation=C},424530:function(e,t){"use strict";var r,i,n,o;Object.defineProperty(t,"__esModule",{value:!0}),t.FormatEnum=t.UNKNOWN_ENVIRONMENT_NAME=t.VariationType=void 0,(n=r||(t.VariationType=r={})).STRING="STRING",n.INTEGER="INTEGER",n.NUMERIC="NUMERIC",n.BOOLEAN="BOOLEAN",n.JSON="JSON",t.UNKNOWN_ENVIRONMENT_NAME="UNKNOWN",(o=i||(t.FormatEnum=i={})).SERVER="SERVER",o.CLIENT="CLIENT",o.PRECOMPUTED="PRECOMPUTED"},122184:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getMD5Hash=o,t.buildStorageKeySuffix=function(e){return o(e).slice(0,16)},t.encodeBase64=s,t.attributeEncodeBase64=a,t.decodeBase64=function(e){return i.decode(e)},t.obfuscatePrecomputedBanditMap=function(e,t){return Object.fromEntries(Object.entries(t).map(([t,r])=>[o(t,e),{banditKey:s(r.banditKey),action:s(r.action),actionProbability:r.actionProbability,optimalityGap:r.optimalityGap,modelVersion:s(r.modelVersion),actionNumericAttributes:l(r.actionNumericAttributes),actionCategoricalAttributes:l(r.actionCategoricalAttributes)}]))},t.obfuscatePrecomputedFlags=function(e,t){let r={};return Object.keys(t).forEach(i=>{let n=t[i],a=Object.fromEntries(Object.entries(n.extraLogging??{}).map(e=>e.map(s))),l=o(i,e);r[l]={flagKey:l,variationType:n.variationType,extraLogging:a,doLog:n.doLog,allocationKey:s(n.allocationKey??""),variationKey:s(n.variationKey??""),variationValue:s(n.variationValue)}}),r};let i=r(256822),n=r(229);function o(e,t=""){return new n().append(t).append(e).end()}function s(e){return i.encode(e)}function a(e){return"string"!=typeof e?s(String(e)):s(e)}function l(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[s(e),a(t)]))}},636109:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OverrideValidator=t.sendValidationRequest=void 0;let i=r(258574),n=async e=>{let t=await fetch("https://eppo.cloud/api/flag-overrides/v1/validate-key",{method:"POST",body:JSON.stringify({key:e}),headers:{"Content-Type":"application/json"}});if(200!==t.status)throw Error(`Unable to authorize key: ${t.statusText}`)};t.sendValidationRequest=n;class o{constructor(){this.validKeyCache=new i.TLRUCache(100,18e6)}parseOverridePayload(e){try{let t=JSON.parse(e);return this.validateParsedOverridePayload(t),t}catch(t){let e;throw Error((e=t?.message??"unknown error",`Unable to parse overridePayload: ${e}`))}}validateParsedOverridePayload(e){if("object"!=typeof e)throw Error(`Expected object, but received ${typeof e}`);let t=Object.keys(e);if(!t.includes("browserExtensionKey"))throw Error("Missing required field: 'browserExtensionKey'");if(!t.includes("overrides"))throw Error("Missing required field: 'overrides'");if("string"!=typeof e.browserExtensionKey)throw Error(`Invalid type for 'browserExtensionKey'. Expected string, but received ${typeof e.browserExtensionKey}`);if("object"!=typeof e.overrides)throw Error(`Invalid type for 'overrides'. Expected object, but received ${typeof e.overrides}.`)}async validateKey(e){if("true"===this.validKeyCache.get(e))return!0;await (0,t.sendValidationRequest)(e),this.validKeyCache.set(e,"true")}}t.OverrideValidator=o},206056:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){let a,l=!1,u=0,c=e,g=!1,f=()=>{l||(l=!0,a&&clearTimeout(a),i.logger.info("Eppo SDK polling stopped"))};async function h(){if(!l){try{await t(),u=0,c=e,g&&(g=!1,i.logger.info("Eppo SDK poll successful; resuming normal polling"))}catch(o){g=!0,i.logger.warn(`Eppo SDK encountered an error polling configurations: ${o.message}`);let t=1+(r?.maxPollRetries??n.DEFAULT_POLL_CONFIG_REQUEST_RETRIES);if(++u{l=!1;let u=!1,c=r?.skipInitialPoll?0:1+(r?.maxStartRetries??n.DEFAULT_INITIAL_CONFIG_REQUEST_RETRIES),d=null;for(;!u&&c>0;)try{await t(),u=!0,g=!1,i.logger.info("Eppo SDK successfully requested initial configuration")}catch(t){if(g=!0,i.logger.warn(`Eppo SDK encountered an error with initial poll of configurations: ${t.message}`),--c>0){let t=s(e);i.logger.warn(`Eppo SDK will retry the initial poll again in ${t} ms (${c} attempts remaining)`),await (0,o.waitForMs)(t)}else r?.pollAfterFailedStart?i.logger.warn("Eppo SDK initial poll failed; will attempt regular polling"):(i.logger.error("Eppo SDK initial poll failed. Aborting polling"),f()),r?.errorOnFailedStart&&(d=t)}if(!l&&(u&&r?.pollAfterSuccessfulStart||!u&&r?.pollAfterFailedStart)?(i.logger.info(`Eppo SDK starting regularly polling every ${e} ms`),a=setTimeout(h,e)):i.logger.info("Eppo SDK will not poll for configuration updates"),d)throw i.logger.info("Eppo SDK rethrowing start error"),d},stop:f}};let i=r(788007),n=r(676283),o=r(838492);function s(e){return e*n.POLL_JITTER_PCT/2+Math.max(Math.floor(Math.random()*e*n.POLL_JITTER_PCT/2),1)}},481649:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(626503),n=r(424530);class o{constructor(e,t,r,i,n,o){this.httpClient=e,this.precomputedFlagStore=t,this.subjectKey=r,this.subjectAttributes=i,this.precomputedBanditsStore=n,this.banditActions=o}async fetchAndStorePrecomputedFlags(){let e=await this.httpClient.getPrecomputedFlags({subject_key:this.subjectKey,subject_attributes:this.subjectAttributes,bandit_actions:this.banditActions});if(!e)return;let t=[];t.push((0,i.hydrateConfigurationStore)(this.precomputedFlagStore,{entries:e.flags,environment:e.environment??{name:n.UNKNOWN_ENVIRONMENT_NAME},createdAt:e.createdAt,format:e.format,salt:e.salt})),this.precomputedBanditsStore&&t.push((0,i.hydrateConfigurationStore)(this.precomputedBanditsStore,{entries:e.bandits,environment:e.environment??{name:n.UNKNOWN_ENVIRONMENT_NAME},createdAt:e.createdAt,format:e.format,salt:e.salt})),await Promise.all(t)}}t.default=o},299053:function(e,t,r){"use strict";var i,n,o,s,a,l;Object.defineProperty(t,"__esModule",{value:!0}),t.ObfuscatedOperatorType=t.OperatorType=void 0,t.matchesRule=function(e,t,r){return!e.conditions.map(e=>r?function(e,t){let r=e[t.attribute];if(t.operator===n.IS_NULL)return t.value===(0,c.getMD5Hash)("true")?null==r:null!=r;if(null!=r)switch(t.operator){case n.GTE:case n.GT:case n.LTE:case n.LT:{let e=(0,c.decodeBase64)(t.value);if(m(e)===o.SEM_VER)return p(r,e,t.operator===n.GTE?u.gte:t.operator===n.GT?u.gt:t.operator===n.LTE?u.lte:u.lt);return d(r,Number(e),(e,r)=>t.operator===n.GTE?e>=r:t.operator===n.GT?e>r:t.operator===n.LTE?e<=r:e({[(0,c.getMD5Hash)(t)]:r,...e}),{}),e):function(e,t){let r=e[t.attribute];if(t.operator===i.IS_NULL)return t.value?null==r:null!=r;if(null!=r)switch(t.operator){case i.GTE:case i.GT:case i.LTE:case i.LT:if(m(t.value)===o.SEM_VER){let e=t.operator===i.GTE?u.gte:t.operator===i.GT?u.gt:t.operator===i.LTE?u.lte:u.lt;return p(r,t.value,e)}return d(r,t.value,(e,r)=>t.operator===i.GTE?e>=r:t.operator===i.GT?e>r:t.operator===i.LTE?e<=r:e0}function f(e,t){return 0===h(e,t).length}function h(e,t){return t.filter(t=>t===e)}function d(e,t,r){return r(Number(e),Number(t))}function p(e,t,r){return!!(0,u.valid)(e)&&!!(0,u.valid)(t)&&r(e,t)}function m(e){return"number"==typeof e?o.NUMERIC:Array.isArray(e)?o.STRING_ARRAY:"string"==typeof e&&(0,u.valid)(e)?o.SEM_VER:isNaN(Number(e))?o.PLAIN_STRING:o.NUMERIC}(s=i||(t.OperatorType=i={})).MATCHES="MATCHES",s.NOT_MATCHES="NOT_MATCHES",s.GTE="GTE",s.GT="GT",s.LTE="LTE",s.LT="LT",s.ONE_OF="ONE_OF",s.NOT_ONE_OF="NOT_ONE_OF",s.IS_NULL="IS_NULL",(a=n||(t.ObfuscatedOperatorType=n={})).MATCHES="05015086bdd8402218f6aad6528bef08",a.NOT_MATCHES="8323761667755378c3a78e0a6ed37a78",a.GTE="32d35312e8f24bc1669bd2b45c00d47c",a.GT="cd6a9bd2a175104eed40f0d33a8b4020",a.LTE="cc981ecc65ecf63ad1673cbec9c64198",a.LT="c562607189d77eb9dfb707464c1e7b0b",a.ONE_OF="27457ce369f2a74203396a35ef537c0b",a.NOT_ONE_OF="602f5ee0b6e84fe29f43ab48b9e1addf",a.IS_NULL="dbd9c38e0339e6c34bd48cafc59be388",(l=o||(o={})).PLAIN_STRING="PLAIN_STRING",l.STRING_ARRAY="STRING_ARRAY",l.SEM_VER="SEM_VER",l.NUMERIC="NUMERIC"},202778:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeterministicSharder=t.MD5Sharder=t.Sharder=void 0;let i=r(122184);class n{}t.Sharder=n;class o extends n{getShard(e,t){return parseInt((0,i.getMD5Hash)(e).slice(0,8),16)%t}}t.MD5Sharder=o;class s extends n{constructor(e){super(),this.lookup=e}getShard(e,t){return this.lookup[e]??0}}t.DeterministicSharder=s},838492:function(e,t){"use strict";async function r(e){await new Promise(t=>setTimeout(t,e))}Object.defineProperty(t,"__esModule",{value:!0}),t.waitForMs=r,t.shallowClone=function(e){return Object.assign(Object.create(Object.getPrototypeOf(e)),e)}},324262:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InvalidArgumentError=void 0,t.validateNotBlank=function(e,t){if(null==e||0===e.length)throw new r(t)};class r extends Error{}t.InvalidArgumentError=r},664976:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LIB_VERSION=void 0;let i=r(327550);t.LIB_VERSION=i.version},845094:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assignmentCacheFactory=void 0;let i=r(630655),n=r(412861),o=r(757470),s=r(816807),a=r(34166);t.assignmentCacheFactory=function({forceMemoryOnly:e=!1,chromeStorage:t,storageKeySuffix:r}){let l=new a.default;if(e)return l;if(t){let e=new n.default(t);return new o.default(l,e)}if(!(0,i.hasWindowLocalStorage)())return l;{let e=new s.LocalStorageAssignmentCache(r);return new o.default(l,e)}}},412861:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(694271),n=r(514653);class o{constructor(e){this.storage=new n.default(e)}set(e){this.storage.set((0,i.assignmentCacheKeyToString)(e),(0,i.assignmentCacheValueToString)(e))}has(e){throw Error("This should never be called for ChromeStorageAssignmentCache, use getEntries() instead.")}async getEntries(){return Object.entries(await this.storage.entries()).map(([e,t])=>[e,t])}}t.default=o},514653:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class r{constructor(e){this.storage=e}async has(e){return!!await this.get(e)}async get(e){var t;let r=await this.storage.get(e);return null!==(t=null==r?void 0:r[e])&&void 0!==t?t:void 0}async entries(){return await this.storage.get(null)}async set(e,t){await this.storage.set({[e]:t})}}t.default=r},757470:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class r{constructor(e,t){this.servingStore=e,this.persistentStore=t}async init(){let e=await this.persistentStore.getEntries();e&&this.servingStore.setEntries(e)}set(e){this.servingStore.set(e),this.persistentStore.set(e)}has(e){return this.servingStore.has(e)}}t.default=r},816807:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LocalStorageAssignmentCache=void 0;let i=r(694271),n=r(261656);class o extends i.AbstractAssignmentCache{constructor(e){super(new n.LocalStorageAssignmentShim(e))}setEntries(e){e.forEach(([e,t])=>{e&&t&&this.delegate.set(e,t)})}getEntries(){return Promise.resolve(Array.from(this.entries()))}}t.LocalStorageAssignmentCache=o},261656:function(e,t,r){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.LocalStorageAssignmentShim=void 0;let n=r(630655);class o{constructor(e){if(this.size=this.getCache().size,this[i]=this.getCache()[Symbol.toStringTag],!(0,n.hasWindowLocalStorage)())throw Error("LocalStorage is not available");let t=e?`-${e}`:"";this.localStorageKey=`eppo-assignment${t}`}clear(){this.getCache().clear()}delete(e){return this.getCache().delete(e)}forEach(e,t){this.getCache().forEach(e,t)}entries(){return this.getCache().entries()}keys(){return this.getCache().keys()}values(){return this.getCache().values()}[Symbol.iterator](){return this.getCache()[Symbol.iterator]()}has(e){return this.getCache().has(e)}get(e){var t;return null!==(t=this.getCache().get(e))&&void 0!==t?t:void 0}set(e,t){return this.setCache(this.getCache().set(e,t))}getCache(){let e=window.localStorage.getItem(this.localStorageKey);return e?new Map(JSON.parse(e)):new Map}setCache(e){return window.localStorage.setItem(this.localStorageKey,JSON.stringify(Array.from(e.entries()))),this}}t.LocalStorageAssignmentShim=o,i=Symbol.toStringTag},34166:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(694271);class n{constructor(){this.store=new Map,this.cache=new i.NonExpiringInMemoryAssignmentCache(this.store)}set(e){this.cache.set(e)}has(e){return this.cache.has(e)}setEntries(e){let{store:t}=this;e.forEach(([e,r])=>t.set(e,r))}getEntries(){return Promise.resolve(Array.from(this.cache.entries()))}}t.default=n},280081:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChromeStorageEngine=void 0;let i=r(721714);class n{constructor(e,t){this.storageMap=e,this.getContentsJsonString=async()=>{let e=await this.storageMap.get(this.contentsKey);return null!=e?e:null},this.getMetaJsonString=async()=>{let e=await this.storageMap.get(this.metaKey);return null!=e?e:null},this.setContentsJsonString=async e=>{await this.storageMap.set(this.contentsKey,e)},this.setMetaJsonString=async e=>{await this.storageMap.set(this.metaKey,e)};let r=t?`-${t}`:"";this.contentsKey=i.CONFIGURATION_KEY+r,this.metaKey=i.META_KEY+r}}t.ChromeStorageEngine=n},423454:function(e,t){"use strict";var r,i;Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigSource=t.ConfigLoaderStatus=void 0,(r=t.ConfigLoaderStatus||(t.ConfigLoaderStatus={}))[r.FAILED=0]="FAILED",r[r.DID_NOT_PRODUCE=1]="DID_NOT_PRODUCE",r[r.COMPLETED=2]="COMPLETED",(i=t.ConfigSource||(t.ConfigSource={}))[i.CONFIG_STORE=0]="CONFIG_STORE",i[i.FETCH=1]="FETCH",i[i.NONE=2]="NONE"},630655:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.localStorageIfAvailable=t.hasWindowLocalStorage=t.chromeStorageIfAvailable=t.hasChromeStorage=t.overrideStorageFactory=t.configurationStorageFactory=t.precomputedBanditStoreFactory=t.precomputedFlagsStorageFactory=void 0;let i=r(694271),n=r(514653),o=r(280081),s=r(30937),a=r(75630),l=r(721714),u=r(896444);function c(){return"undefined"!=typeof chrome&&!!chrome.storage}function g(){try{return"undefined"!=typeof window&&!!window.localStorage}catch(e){return!1}}t.precomputedFlagsStorageFactory=function(){return new i.MemoryOnlyConfigurationStore},t.precomputedBanditStoreFactory=function(){return new i.MemoryOnlyConfigurationStore},t.configurationStorageFactory=function({maxAgeSeconds:e=0,servingStoreUpdateStrategy:t="always",hasChromeStorage:r=!1,hasWindowLocalStorage:l=!1,persistentStore:c,forceMemoryOnly:g=!1},{chromeStorage:f,windowLocalStorage:h,storageKeySuffix:d}={}){if(g);else if(c)return new s.IsolatableHybridConfigurationStore(new i.MemoryStore,c,t);else if(r&&f){let r=new o.ChromeStorageEngine(new n.default(f),null!=d?d:"");return new s.IsolatableHybridConfigurationStore(new i.MemoryStore,new u.StringValuedAsyncStore(r,e),t)}else if(l&&h){let r=new a.LocalStorageEngine(h,null!=d?d:"");return new s.IsolatableHybridConfigurationStore(new i.MemoryStore,new u.StringValuedAsyncStore(r,e),t)}return new i.MemoryOnlyConfigurationStore},t.overrideStorageFactory=function({hasWindowLocalStorage:e=!1,forceMemoryOnly:t=!1},{windowLocalStorage:r,storageKey:n=l.OVERRIDES_KEY}={}){let o=new i.MemoryStore;if(!t&&e&&r){let e=r.getItem(n);if(e){let t=JSON.parse(e);o.setEntries(t)}}return o},t.hasChromeStorage=c,t.chromeStorageIfAvailable=function(){return c()?chrome.storage.local:void 0},t.hasWindowLocalStorage=g,t.localStorageIfAvailable=function(){return g()?window.localStorage:void 0}},697811:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class r{constructor(){if(this.listeners=[],this.debounceTimer=null,"undefined"==typeof window)throw Error("BrowserNetworkStatusListener can only be used in a browser environment");this._isOffline="boolean"==typeof navigator.onLine&&!navigator.onLine,window.addEventListener("offline",()=>this.notifyListeners(!0)),window.addEventListener("online",()=>this.notifyListeners(!1))}isOffline(){return this._isOffline}onNetworkStatusChange(e){this.listeners.push(e)}removeNetworkStatusChange(e){let t=this.listeners.indexOf(e);-1!==t&&this.listeners.splice(t,1)}notifyListeners(e){this.debounceTimer&&clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout(()=>{this._isOffline=e,[...this.listeners].forEach(t=>t(e))},200)}}t.default=r},911270:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(694271),n=r(620658);class o{constructor(e){this.name=e,this.eventKeys=[],this.localStorageKey=`eventQueue:${this.name}`,this.loadStateFromLocalStorage()}splice(e){let t=Array.from({length:e},()=>this.shift());return(0,n.takeWhile)(t,e=>void 0!==e)}isEmpty(){return 0===this.length}get length(){return this.eventKeys.length}push(e){let t=this.generateEventKey(e),r=JSON.stringify(e);localStorage.setItem(t,r),this.eventKeys.push(t),this.saveStateToLocalStorage()}*[Symbol.iterator](){for(let e of this.eventKeys){let t=localStorage.getItem(e);t&&(yield JSON.parse(t))}}shift(){if(0===this.eventKeys.length)return;let e=this.eventKeys.shift();if(!e)throw Error("Unexpected undefined event key");let t=localStorage.getItem(e);if(t)return localStorage.removeItem(e),this.saveStateToLocalStorage(),JSON.parse(t)}loadStateFromLocalStorage(){let e=localStorage.getItem(this.localStorageKey);if(e)try{this.eventKeys=JSON.parse(e)}catch(e){i.applicationLogger.error(`Failed to parse event queue ${this.name} state. Initializing empty queue.`),this.eventKeys=[]}}saveStateToLocalStorage(){let e=JSON.stringify(this.eventKeys);localStorage.setItem(this.localStorageKey,e)}generateEventKey(e){let t=this.hashEvent(e);return`eventQueue:${this.name}:${t}`}hashEvent(e){let t=JSON.stringify(e),r=0;for(let e=0;e{},dispatch:()=>{}};class h extends i.EppoClient{constructor(){super(...arguments),this.initialized=!1}getStringAssignment(e,t,r,i){return this.ensureInitialized(),super.getStringAssignment(e,t,r,i)}getStringAssignmentDetails(e,t,r,i){return this.ensureInitialized(),super.getStringAssignmentDetails(e,t,r,i)}getBoolAssignment(e,t,r,i){return this.getBooleanAssignment(e,t,r,i)}getBooleanAssignment(e,t,r,i){return this.ensureInitialized(),super.getBooleanAssignment(e,t,r,i)}getBooleanAssignmentDetails(e,t,r,i){return this.ensureInitialized(),super.getBooleanAssignmentDetails(e,t,r,i)}getIntegerAssignment(e,t,r,i){return this.ensureInitialized(),super.getIntegerAssignment(e,t,r,i)}getIntegerAssignmentDetails(e,t,r,i){return this.ensureInitialized(),super.getIntegerAssignmentDetails(e,t,r,i)}getNumericAssignment(e,t,r,i){return this.ensureInitialized(),super.getNumericAssignment(e,t,r,i)}getNumericAssignmentDetails(e,t,r,i){return this.ensureInitialized(),super.getNumericAssignmentDetails(e,t,r,i)}getJSONAssignment(e,t,r,i){return this.ensureInitialized(),super.getJSONAssignment(e,t,r,i)}getJSONAssignmentDetails(e,t,r,i){return this.ensureInitialized(),super.getJSONAssignmentDetails(e,t,r,i)}getBanditAction(e,t,r,i,n){return this.ensureInitialized(),super.getBanditAction(e,t,r,i,n)}getBanditActionDetails(e,t,r,i,n){return this.ensureInitialized(),super.getBanditActionDetails(e,t,r,i,n)}getExperimentContainerEntry(e,t,r){return this.ensureInitialized(),super.getExperimentContainerEntry(e,t,r)}ensureInitialized(){this.initialized||i.applicationLogger.warn("Eppo SDK assignment requested before init() completed")}async init(e){var r;let g;i.validation.validateNotBlank(e.apiKey,"API key required");let{apiKey:f,persistentStore:h,baseUrl:d,maxCacheAgeSeconds:p,updateOnFetch:m,requestTimeoutMs:E,numInitialRequestRetries:v,numPollRequestRetries:y,pollingIntervalMs:b,pollAfterSuccessfulInitialization:S=!1,pollAfterFailedInitialization:A=!1,skipInitialRequest:C=!1,eventTracking:O,enableOverrides:I=!1}=e;try{let r,T,_;this.stopPolling(),this.setAssignmentLogger(e.assignmentLogger),e.banditLogger&&this.setBanditLogger(e.banditLogger);let N=function(e){return e.replace(/\W/g,"").substring(0,8)}(f),w=(0,a.configurationStorageFactory)({maxAgeSeconds:p,servingStoreUpdateStrategy:m,persistentStore:h,hasChromeStorage:(0,a.hasChromeStorage)(),hasWindowLocalStorage:(0,a.hasWindowLocalStorage)()},{chromeStorage:(0,a.chromeStorageIfAvailable)(),windowLocalStorage:(0,a.localStorageIfAvailable)(),storageKeySuffix:N});if(w.setFormat(i.FormatEnum.CLIENT),this.setFlagConfigurationStore(w),I){let t=(0,a.overrideStorageFactory)({hasWindowLocalStorage:(0,a.hasWindowLocalStorage)()},{windowLocalStorage:(0,a.localStorageIfAvailable)(),storageKey:e.overridesStorageKey});this.setOverrideStore(t)}else this.unsetOverrideStore();let L=(0,n.assignmentCacheFactory)({chromeStorage:(0,a.chromeStorageIfAvailable)(),storageKeySuffix:N});L instanceof o.default&&await L.init(),this.useCustomAssignmentCache(L);let R={apiKey:f,sdkName:c.sdkName,sdkVersion:c.sdkVersion,baseUrl:d,requestTimeoutMs:E,numInitialRequestRetries:v,numPollRequestRetries:y,pollAfterSuccessfulInitialization:S,pollAfterFailedInitialization:A,pollingIntervalMs:b,throwOnFailedInitialization:!0,skipInitialPoll:C};this.setConfigurationRequestParameters(R),this.setEventDispatcher(function(e,r={}){let{batchSize:n=1e3,deliveryIntervalMs:o=1e4,enabled:s=!1,maxQueueSize:c=1e4,maxRetries:g=3,maxRetryDelayMs:f=3e4,retryIntervalMs:h=5e3}=r;if(!s)return t.zG;let d=(0,a.hasWindowLocalStorage)()?new u.default("events"):new i.BoundedEventQueue("events",[],c),p="undefined"!=typeof window?new l.default:{isOffline:()=>!1,onNetworkStatusChange:()=>{}};return(0,i.newDefaultEventDispatcher)(d,p,e,n,{deliveryIntervalMs:o,retryIntervalMs:h,maxRetryDelayMs:f,maxRetries:g})}(f,O));let P=w.init().then(async()=>{if(!w.getKeys().length)return i.applicationLogger.warn("Eppo SDK cached configuration is empty"),T=Error("Configuration store was empty"),s.ConfigLoaderStatus.DID_NOT_PRODUCE;let t=await w.isExpired();return t&&!e.useExpiredCache?(i.applicationLogger.warn("Eppo SDK set not to use expired cached configuration"),T=Error("Configuration store was expired"),s.ConfigLoaderStatus.DID_NOT_PRODUCE):(t&&e.useExpiredCache&&i.applicationLogger.warn("Eppo SDK config.useExpiredCache is true; using expired cache"),s.ConfigLoaderStatus.COMPLETED)}).catch(e=>(i.applicationLogger.warn("Eppo SDK encountered an error initializing from the configuration store",e),T=e,s.ConfigLoaderStatus.FAILED)).then(e=>({source:s.ConfigSource.CONFIG_STORE,result:e})),M=this.fetchFlagConfigurations().then(()=>w.isInitialized()?s.ConfigLoaderStatus.COMPLETED:s.ConfigLoaderStatus.DID_NOT_PRODUCE).catch(e=>(i.applicationLogger.warn("Eppo SDK encountered an error initializing from fetching",e),_=e,s.ConfigLoaderStatus.FAILED)).then(e=>({source:s.ConfigSource.FETCH,result:e})),D=[P];e.skipInitialRequest||D.push(M);let{source:F,result:$}=await Promise.race(D);if($===s.ConfigLoaderStatus.COMPLETED)r=F;else{let e=F===s.ConfigSource.FETCH?P:M;r=await e.then(e=>{let{source:t,result:r}=e;return r===s.ConfigLoaderStatus.COMPLETED?t:s.ConfigSource.NONE})}r===s.ConfigSource.NONE&&(g=_||T||Error("Eppo SDK: No configuration source produced a valid configuration")),i.applicationLogger.debug("Initialization source",r)}catch(e){g=e instanceof Error?e:Error(String(e))}if(g&&(i.applicationLogger.warn("Eppo SDK was unable to initialize with a configuration, assignment calls will return the default value and not be logged"+(e.pollAfterFailedInitialization?" until an experiment configuration is successfully retrieved":"")),null===(r=e.throwOnFailedInitialization)||void 0===r||r))throw g;return this.initialized=!0,this}offlineInit(e){var t,r,o;let s=null!==(t=e.isObfuscated)&&void 0!==t&&t,l=null===(r=e.throwOnFailedInitialization)||void 0===r||r,u=null!==(o=e.enableOverrides)&&void 0!==o&&o;try{let t=(0,a.configurationStorageFactory)({forceMemoryOnly:!0});if(t.setFormat(s?i.FormatEnum.CLIENT:i.FormatEnum.SERVER),t.setEntries(e.flagsConfiguration).catch(e=>i.applicationLogger.warn("Error setting flags for memory-only configuration store",e)),this.setFlagConfigurationStore(t),u){let t=(0,a.overrideStorageFactory)({hasWindowLocalStorage:(0,a.hasWindowLocalStorage)()},{windowLocalStorage:(0,a.localStorageIfAvailable)(),storageKey:e.overridesStorageKey});this.setOverrideStore(t)}else this.unsetOverrideStore();e.assignmentLogger&&this.setAssignmentLogger(e.assignmentLogger),e.banditLogger&&this.setBanditLogger(e.banditLogger);let r=(0,n.assignmentCacheFactory)({storageKeySuffix:"offline",forceMemoryOnly:!0});this.useCustomAssignmentCache(r)}catch(e){if(i.applicationLogger.warn("Eppo SDK encountered an error initializing, assignment calls will return the default value and not be logged"),l)throw e}this.initialized=!0}}h.instance=new h({flagConfigurationStore:g}),h.initialized=!1,t.offlineInit=function(e){let t=d();return t.offlineInit(e),h.initialized=!0,t};function d(){return h.instance}t.s8=d;class p extends i.EppoPrecomputedClient{getStringAssignment(e,t){return p.getAssignmentInitializationCheck(),super.getStringAssignment(e,t)}getBooleanAssignment(e,t){return p.getAssignmentInitializationCheck(),super.getBooleanAssignment(e,t)}getIntegerAssignment(e,t){return p.getAssignmentInitializationCheck(),super.getIntegerAssignment(e,t)}getNumericAssignment(e,t){return p.getAssignmentInitializationCheck(),super.getNumericAssignment(e,t)}getJSONAssignment(e,t){return p.getAssignmentInitializationCheck(),super.getJSONAssignment(e,t)}getBanditAction(e,t){return p.getAssignmentInitializationCheck(),super.getBanditAction(e,t)}static getAssignmentInitializationCheck(){h.initialized||i.applicationLogger.warn("Eppo SDK assignment requested before init() completed")}}p.instance=new p({precomputedFlagStore:f,subject:{subjectKey:"",subjectAttributes:{}}}),p.initialized=!1},30937:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IsolatableHybridConfigurationStore=void 0;let i=r(694271);class n extends i.HybridConfigurationStore{constructor(e,t,r="always"){super(e,t),this.servingStoreUpdateStrategy=r}async setEntries(e){var t;this.persistentStore&&await this.persistentStore.setEntries(e);let r=!this.persistentStore||await this.persistentStore.isExpired(),i=!(null===(t=this.servingStore.getKeys())||void 0===t?void 0:t.length),n="always"===this.servingStoreUpdateStrategy||r&&"expired"===this.servingStoreUpdateStrategy||r&&i;return n&&this.servingStore.setEntries(e),n}}t.IsolatableHybridConfigurationStore=n},75630:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LocalStorageEngine=void 0;let i=r(721714);class n{constructor(e,t){this.localStorage=e,this.getContentsJsonString=async()=>this.localStorage.getItem(this.contentsKey),this.getMetaJsonString=async()=>this.localStorage.getItem(this.metaKey),this.setContentsJsonString=async e=>{this.localStorage.setItem(this.contentsKey,e)},this.setMetaJsonString=async e=>{this.localStorage.setItem(this.metaKey,e)};let r=t?`-${t}`:"";this.contentsKey=i.CONFIGURATION_KEY+r,this.metaKey=i.META_KEY+r}}t.LocalStorageEngine=n},806675:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.sdkName=t.sdkVersion=void 0;let i=r(971305);t.sdkVersion=i.version,t.sdkName="js-client-sdk"},721714:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OVERRIDES_KEY=t.META_KEY=t.CONFIGURATION_KEY=void 0,t.CONFIGURATION_KEY="eppo-configuration",t.META_KEY="eppo-configuration-meta",t.OVERRIDES_KEY="eppo-overrides"},896444:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringValuedAsyncStore=void 0;class r{constructor(e,t=0){this.storageEngine=e,this.cooldownSeconds=t,this.initialized=!1}isInitialized(){return this.initialized}async isExpired(){if(!this.cooldownSeconds)return!0;let e=await this.storageEngine.getMetaJsonString(),t=!0;if(e){let r=JSON.parse(e).lastUpdatedAtMs;t=!r||Date.now()-r>1e3*this.cooldownSeconds}return t}async entries(){let e=await this.storageEngine.getContentsJsonString();return e?JSON.parse(e):{}}async setEntries(e){await this.storageEngine.setContentsJsonString(JSON.stringify(e));let t={lastUpdatedAtMs:new Date().getTime()};await this.storageEngine.setMetaJsonString(JSON.stringify(t)),this.initialized=!0}}t.StringValuedAsyncStore=r},620658:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.takeWhile=void 0,t.takeWhile=function(e,t){let r=[];for(let i of e){if(!t(i))break;r.push(i)}return r}},256822:function(e,t,r){var i,n=r(41438).Buffer;"undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==r.g&&r.g,i=function(){"use strict";var e,t="3.7.7",r="function"==typeof n,i="function"==typeof TextDecoder?new TextDecoder:void 0,o="function"==typeof TextEncoder?new TextEncoder:void 0,s=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),a=(e={},s.forEach(function(t,r){return e[t]=r}),e),l=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,u=String.fromCharCode.bind(String),c="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):function(e){return new Uint8Array(Array.prototype.slice.call(e,0))},g=function(e){return e.replace(/=/g,"").replace(/[+\/]/g,function(e){return"+"==e?"-":"_"})},f=function(e){return e.replace(/[^A-Za-z0-9\+\/]/g,"")},h=function(e){for(var t,r,i,n,o="",a=e.length%3,l=0;l255||(i=e.charCodeAt(l++))>255||(n=e.charCodeAt(l++))>255)throw TypeError("invalid character found");o+=s[(t=r<<16|i<<8|n)>>18&63]+s[t>>12&63]+s[t>>6&63]+s[63&t]}return a?o.slice(0,a-3)+"===".substring(a):o},d="function"==typeof btoa?function(e){return btoa(e)}:r?function(e){return n.from(e,"binary").toString("base64")}:h,p=r?function(e){return n.from(e).toString("base64")}:function(e){for(var t=[],r=0,i=e.length;r>>6)+u(128|63&t):u(224|t>>>12&15)+u(128|t>>>6&63)+u(128|63&t)}var t=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return u(240|t>>>18&7)+u(128|t>>>12&63)+u(128|t>>>6&63)+u(128|63&t)},v=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,y=function(e){return e.replace(v,E)},b=r?function(e){return n.from(e,"utf8").toString("base64")}:o?function(e){return p(o.encode(e))}:function(e){return d(y(e))},S=function(e,t){return void 0===t&&(t=!1),t?g(b(e)):b(e)},A=function(e){return S(e,!0)},C=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,O=function(e){switch(e.length){case 4:var t=((7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3))-65536;return u((t>>>10)+55296)+u((1023&t)+56320);case 3:return u((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return u((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},I=function(e){return e.replace(C,O)},T=function(e){if(e=e.replace(/\s+/g,""),!l.test(e))throw TypeError("malformed base64.");e+="==".slice(2-(3&e.length));for(var t,r,i,n="",o=0;o>16&255):64===i?u(t>>16&255,t>>8&255):u(t>>16&255,t>>8&255,255&t);return n},_="function"==typeof atob?function(e){return atob(f(e))}:r?function(e){return n.from(e,"base64").toString("binary")}:T,N=r?function(e){return c(n.from(e,"base64"))}:function(e){return c(_(e).split("").map(function(e){return e.charCodeAt(0)}))},w=function(e){return N(R(e))},L=r?function(e){return n.from(e,"base64").toString("utf8")}:i?function(e){return i.decode(N(e))}:function(e){return I(_(e))},R=function(e){return f(e.replace(/[-_]/g,function(e){return"-"==e?"+":"/"}))},P=function(e){return L(R(e))},M=function(e){return{value:e,enumerable:!1,writable:!0,configurable:!0}},D=function(){var e=function(e,t){return Object.defineProperty(String.prototype,e,M(t))};e("fromBase64",function(){return P(this)}),e("toBase64",function(e){return S(this,e)}),e("toBase64URI",function(){return S(this,!0)}),e("toBase64URL",function(){return S(this,!0)}),e("toUint8Array",function(){return w(this)})},F=function(){var e=function(e,t){return Object.defineProperty(Uint8Array.prototype,e,M(t))};e("toBase64",function(e){return m(this,e)}),e("toBase64URI",function(){return m(this,!0)}),e("toBase64URL",function(){return m(this,!0)})},$={version:t,VERSION:t,atob:_,atobPolyfill:T,btoa:d,btoaPolyfill:h,fromBase64:P,toBase64:S,encode:S,encodeURI:A,encodeURL:A,utob:y,btou:I,decode:P,isValid:function(e){if("string"!=typeof e)return!1;var t=e.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(t)||!/[^\s0-9a-zA-Z\-_]/.test(t)},fromUint8Array:m,toUint8Array:w,extendString:D,extendUint8Array:F,extendBuiltins:function(){D(),F()}};return $.Base64={},Object.keys($).forEach(function(e){return $.Base64[e]=$[e]}),$},e.exports=i()},389705:function(e){"use strict";function t(e){try{return JSON.stringify(e)}catch(e){return'"[Circular]"'}}e.exports=function(e,r,i){var n=i&&i.stringify||t;if("object"==typeof e&&null!==e){var o=r.length+1;if(1===o)return e;var s=Array(o);s[0]=n(e);for(var a=1;a-1?g:0,e.charCodeAt(h+1)){case 100:case 102:if(c>=l||null==r[c])break;g=l||null==r[c])break;g=l||void 0===r[c])break;g",g=h+2,h++;break}u+=n(r[c]),g=h+2,h++;break;case 115:if(c>=l)break;g")&&e.operator.startsWith(">")||this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||l(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||l(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">"))}}e.exports=n;let o=r(316661),{safeRe:s,t:a}=r(72362),l=r(63),u=r(73800),c=r(115647),g=r(364672)},364672:function(e,t,r){let i=/\s+/g;class n{constructor(e,t){if(t=s(t),e instanceof n){if(!!t.loose===e.loose&&!!t.includePrerelease===e.includePrerelease)return e;return new n(e.raw,t)}if(e instanceof a)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e.trim().replace(i," "),this.set=this.raw.split("||").map(e=>this.parseRange(e.trim())).filter(e=>e.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let e=this.set[0];if(this.set=this.set.filter(e=>!E(e[0])),0===this.set.length)this.set=[e];else if(this.set.length>1){for(let e of this.set)if(1===e.length&&v(e[0])){this.set=[e];break}}}this.formatted=void 0}get range(){if(void 0===this.formatted){this.formatted="";for(let e=0;e0&&(this.formatted+="||");let t=this.set[e];for(let e=0;e0&&(this.formatted+=" "),this.formatted+=t[e].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){let t=((this.options.includePrerelease&&p)|(this.options.loose&&m))+":"+e,r=o.get(t);if(r)return r;let i=this.options.loose,n=i?c[g.HYPHENRANGELOOSE]:c[g.HYPHENRANGE];l("hyphen replace",e=e.replace(n,L(this.options.includePrerelease))),l("comparator trim",e=e.replace(c[g.COMPARATORTRIM],f)),l("tilde trim",e=e.replace(c[g.TILDETRIM],h)),l("caret trim",e=e.replace(c[g.CARETTRIM],d));let s=e.split(" ").map(e=>b(e,this.options)).join(" ").split(/\s+/).map(e=>w(e,this.options));i&&(s=s.filter(e=>(l("loose invalid filter",e,this.options),!!e.match(c[g.COMPARATORLOOSE])))),l("range list",s);let u=new Map;for(let e of s.map(e=>new a(e,this.options))){if(E(e))return[e];u.set(e.value,e)}u.size>1&&u.has("")&&u.delete("");let v=[...u.values()];return o.set(t,v),v}intersects(e,t){if(!(e instanceof n))throw TypeError("a Range is required");return this.set.some(r=>y(r,t)&&e.set.some(e=>y(e,t)&&r.every(r=>e.every(e=>r.intersects(e,t)))))}test(e){if(!e)return!1;if("string"==typeof e)try{e=new u(e,this.options)}catch(e){return!1}for(let t=0;t"<0.0.0-0"===e.value,v=e=>""===e.value,y=(e,t)=>{let r=!0,i=e.slice(),n=i.pop();for(;r&&i.length;)r=i.every(e=>n.intersects(e,t)),n=i.pop();return r},b=(e,t)=>(l("comp",e,t),l("caret",e=O(e,t)),l("tildes",e=A(e,t)),l("xrange",e=T(e,t)),l("stars",e=N(e,t)),e),S=e=>!e||"x"===e.toLowerCase()||"*"===e,A=(e,t)=>e.trim().split(/\s+/).map(e=>C(e,t)).join(" "),C=(e,t)=>{let r=t.loose?c[g.TILDELOOSE]:c[g.TILDE];return e.replace(r,(t,r,i,n,o)=>{let s;return l("tilde",e,t,r,i,n,o),S(r)?s="":S(i)?s=`>=${r}.0.0 <${+r+1}.0.0-0`:S(n)?s=`>=${r}.${i}.0 <${r}.${+i+1}.0-0`:o?(l("replaceTilde pr",o),s=`>=${r}.${i}.${n}-${o} <${r}.${+i+1}.0-0`):s=`>=${r}.${i}.${n} <${r}.${+i+1}.0-0`,l("tilde return",s),s})},O=(e,t)=>e.trim().split(/\s+/).map(e=>I(e,t)).join(" "),I=(e,t)=>{l("caret",e,t);let r=t.loose?c[g.CARETLOOSE]:c[g.CARET],i=t.includePrerelease?"-0":"";return e.replace(r,(t,r,n,o,s)=>{let a;return l("caret",e,t,r,n,o,s),S(r)?a="":S(n)?a=`>=${r}.0.0${i} <${+r+1}.0.0-0`:S(o)?a="0"===r?`>=${r}.${n}.0${i} <${r}.${+n+1}.0-0`:`>=${r}.${n}.0${i} <${+r+1}.0.0-0`:s?(l("replaceCaret pr",s),a="0"===r?"0"===n?`>=${r}.${n}.${o}-${s} <${r}.${n}.${+o+1}-0`:`>=${r}.${n}.${o}-${s} <${r}.${+n+1}.0-0`:`>=${r}.${n}.${o}-${s} <${+r+1}.0.0-0`):(l("no pr"),a="0"===r?"0"===n?`>=${r}.${n}.${o}${i} <${r}.${n}.${+o+1}-0`:`>=${r}.${n}.${o}${i} <${r}.${+n+1}.0-0`:`>=${r}.${n}.${o} <${+r+1}.0.0-0`),l("caret return",a),a})},T=(e,t)=>(l("replaceXRanges",e,t),e.split(/\s+/).map(e=>_(e,t)).join(" ")),_=(e,t)=>{e=e.trim();let r=t.loose?c[g.XRANGELOOSE]:c[g.XRANGE];return e.replace(r,(r,i,n,o,s,a)=>{l("xRange",e,r,i,n,o,s,a);let u=S(n),c=u||S(o),g=c||S(s);return"="===i&&g&&(i=""),a=t.includePrerelease?"-0":"",u?r=">"===i||"<"===i?"<0.0.0-0":"*":i&&g?(c&&(o=0),s=0,">"===i?(i=">=",c?(n=+n+1,o=0):o=+o+1,s=0):"<="===i&&(i="<",c?n=+n+1:o=+o+1),"<"===i&&(a="-0"),r=`${i+n}.${o}.${s}${a}`):c?r=`>=${n}.0.0${a} <${+n+1}.0.0-0`:g&&(r=`>=${n}.${o}.0${a} <${n}.${+o+1}.0-0`),l("xRange return",r),r})},N=(e,t)=>(l("replaceStars",e,t),e.trim().replace(c[g.STAR],"")),w=(e,t)=>(l("replaceGTE0",e,t),e.trim().replace(c[t.includePrerelease?g.GTE0PRE:g.GTE0],"")),L=e=>(t,r,i,n,o,s,a,l,u,c,g,f)=>(r=S(i)?"":S(n)?`>=${i}.0.0${e?"-0":""}`:S(o)?`>=${i}.${n}.0${e?"-0":""}`:s?`>=${r}`:`>=${r}${e?"-0":""}`,l=S(u)?"":S(c)?`<${+u+1}.0.0-0`:S(g)?`<${u}.${+c+1}.0-0`:f?`<=${u}.${c}.${g}-${f}`:e?`<${u}.${c}.${+g+1}-0`:`<=${l}`,`${r} ${l}`.trim()),R=(e,t,r)=>{for(let r=0;r0){let i=e[r].semver;if(i.major===t.major&&i.minor===t.minor&&i.patch===t.patch)return!0}return!1}return!0}},115647:function(e,t,r){let i=r(73800),{MAX_LENGTH:n,MAX_SAFE_INTEGER:o}=r(421480),{safeRe:s,t:a}=r(72362),l=r(316661),{compareIdentifiers:u}=r(915393);class c{constructor(e,t){if(t=l(t),e instanceof c){if(!!t.loose===e.loose&&!!t.includePrerelease===e.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>n)throw TypeError(`version is longer than ${n} characters`);i("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let r=e.trim().match(t.loose?s[a.LOOSE]:s[a.FULL]);if(!r)throw TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>o||this.major<0)throw TypeError("Invalid major version");if(this.minor>o||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>o||this.patch<0)throw TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){let t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[i]&&(this.prerelease[i]++,i=-2);if(-1===i){if(t===this.prerelease.join(".")&&!1===r)throw Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(t){let i=[t,e];!1===r&&(i=[t]),0===u(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=i):this.prerelease=i}break}default:throw Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}e.exports=c},116988:function(e,t,r){let i=r(92493);e.exports=(e,t)=>{let r=i(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null}},63:function(e,t,r){let i=r(226110),n=r(509886),o=r(286735),s=r(309004),a=r(675757),l=r(978849);e.exports=(e,t,r,u)=>{switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e===r;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e!==r;case"":case"=":case"==":return i(e,r,u);case"!=":return n(e,r,u);case">":return o(e,r,u);case">=":return s(e,r,u);case"<":return a(e,r,u);case"<=":return l(e,r,u);default:throw TypeError(`Invalid operator: ${t}`)}}},760322:function(e,t,r){let i=r(115647),n=r(92493),{safeRe:o,t:s}=r(72362);e.exports=(e,t)=>{if(e instanceof i)return e;if("number"==typeof e&&(e=String(e)),"string"!=typeof e)return null;let r=null;if((t=t||{}).rtl){let i;let n=t.includePrerelease?o[s.COERCERTLFULL]:o[s.COERCERTL];for(;(i=n.exec(e))&&(!r||r.index+r[0].length!==e.length);)r&&i.index+i[0].length===r.index+r[0].length||(r=i),n.lastIndex=i.index+i[1].length+i[2].length;n.lastIndex=-1}else r=e.match(t.includePrerelease?o[s.COERCEFULL]:o[s.COERCE]);if(null===r)return null;let a=r[2],l=r[3]||"0",u=r[4]||"0",c=t.includePrerelease&&r[5]?`-${r[5]}`:"",g=t.includePrerelease&&r[6]?`+${r[6]}`:"";return n(`${a}.${l}.${u}${c}${g}`,t)}},830455:function(e,t,r){let i=r(115647);e.exports=(e,t,r)=>{let n=new i(e,r),o=new i(t,r);return n.compare(o)||n.compareBuild(o)}},526726:function(e,t,r){let i=r(739581);e.exports=(e,t)=>i(e,t,!0)},739581:function(e,t,r){let i=r(115647);e.exports=(e,t,r)=>new i(e,r).compare(new i(t,r))},679017:function(e,t,r){let i=r(92493);e.exports=(e,t)=>{let r=i(e,null,!0),n=i(t,null,!0),o=r.compare(n);if(0===o)return null;let s=o>0,a=s?r:n,l=s?n:r,u=!!a.prerelease.length;if(l.prerelease.length&&!u)return l.patch||l.minor?a.patch?"patch":a.minor?"minor":"major":"major";let c=u?"pre":"";return r.major!==n.major?c+"major":r.minor!==n.minor?c+"minor":r.patch!==n.patch?c+"patch":"prerelease"}},226110:function(e,t,r){let i=r(739581);e.exports=(e,t,r)=>0===i(e,t,r)},286735:function(e,t,r){let i=r(739581);e.exports=(e,t,r)=>i(e,t,r)>0},309004:function(e,t,r){let i=r(739581);e.exports=(e,t,r)=>i(e,t,r)>=0},645156:function(e,t,r){let i=r(115647);e.exports=(e,t,r,n,o)=>{"string"==typeof r&&(o=n,n=r,r=void 0);try{return new i(e instanceof i?e.version:e,r).inc(t,n,o).version}catch(e){return null}}},675757:function(e,t,r){let i=r(739581);e.exports=(e,t,r)=>0>i(e,t,r)},978849:function(e,t,r){let i=r(739581);e.exports=(e,t,r)=>0>=i(e,t,r)},887531:function(e,t,r){let i=r(115647);e.exports=(e,t)=>new i(e,t).major},26667:function(e,t,r){let i=r(115647);e.exports=(e,t)=>new i(e,t).minor},509886:function(e,t,r){let i=r(739581);e.exports=(e,t,r)=>0!==i(e,t,r)},92493:function(e,t,r){let i=r(115647);e.exports=(e,t,r=!1)=>{if(e instanceof i)return e;try{return new i(e,t)}catch(e){if(!r)return null;throw e}}},911989:function(e,t,r){let i=r(115647);e.exports=(e,t)=>new i(e,t).patch},801590:function(e,t,r){let i=r(92493);e.exports=(e,t)=>{let r=i(e,t);return r&&r.prerelease.length?r.prerelease:null}},293379:function(e,t,r){let i=r(739581);e.exports=(e,t,r)=>i(t,e,r)},213386:function(e,t,r){let i=r(830455);e.exports=(e,t)=>e.sort((e,r)=>i(r,e,t))},453113:function(e,t,r){let i=r(364672);e.exports=(e,t,r)=>{try{t=new i(t,r)}catch(e){return!1}return t.test(e)}},366694:function(e,t,r){let i=r(830455);e.exports=(e,t)=>e.sort((e,r)=>i(e,r,t))},440613:function(e,t,r){let i=r(92493);e.exports=(e,t)=>{let r=i(e,t);return r?r.version:null}},281663:function(e,t,r){let i=r(72362),n=r(421480),o=r(115647),s=r(915393),a=r(92493),l=r(440613),u=r(116988),c=r(645156),g=r(679017),f=r(887531),h=r(26667),d=r(911989),p=r(801590),m=r(739581),E=r(293379),v=r(526726),y=r(830455),b=r(366694),S=r(213386),A=r(286735),C=r(675757),O=r(226110),I=r(509886),T=r(309004),_=r(978849),N=r(63),w=r(760322),L=r(169451),R=r(364672),P=r(453113),M=r(465859),D=r(53295),F=r(263471),$=r(331099),j=r(630969),U=r(680690),x=r(160414),B=r(113146),V=r(650641),k=r(10613),K=r(364364);e.exports={parse:a,valid:l,clean:u,inc:c,diff:g,major:f,minor:h,patch:d,prerelease:p,compare:m,rcompare:E,compareLoose:v,compareBuild:y,sort:b,rsort:S,gt:A,lt:C,eq:O,neq:I,gte:T,lte:_,cmp:N,coerce:w,Comparator:L,Range:R,satisfies:P,toComparators:M,maxSatisfying:D,minSatisfying:F,minVersion:$,validRange:j,outside:U,gtr:x,ltr:B,intersects:V,simplifyRange:k,subset:K,SemVer:o,re:i.re,src:i.src,tokens:i.t,SEMVER_SPEC_VERSION:n.SEMVER_SPEC_VERSION,RELEASE_TYPES:n.RELEASE_TYPES,compareIdentifiers:s.compareIdentifiers,rcompareIdentifiers:s.rcompareIdentifiers}},421480:function(e){let t=Number.MAX_SAFE_INTEGER||9007199254740991;e.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:t,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}},73800:function(e,t,r){var i=r(173656);let n="object"==typeof i&&i.env&&i.env.NODE_DEBUG&&/\bsemver\b/i.test(i.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};e.exports=n},915393:function(e){let t=/^[0-9]+$/,r=(e,r)=>{let i=t.test(e),n=t.test(r);return i&&n&&(e=+e,r=+r),e===r?0:i&&!n?-1:n&&!i?1:er(t,e)}},259479:function(e){class t{constructor(){this.max=1e3,this.map=new Map}get(e){let t=this.map.get(e);if(void 0!==t)return this.map.delete(e),this.map.set(e,t),t}delete(e){return this.map.delete(e)}set(e,t){if(!this.delete(e)&&void 0!==t){if(this.map.size>=this.max){let e=this.map.keys().next().value;this.delete(e)}this.map.set(e,t)}return this}}e.exports=t},316661:function(e){let t=Object.freeze({loose:!0}),r=Object.freeze({});e.exports=e=>e?"object"!=typeof e?t:e:r},72362:function(e,t,r){let{MAX_SAFE_COMPONENT_LENGTH:i,MAX_SAFE_BUILD_LENGTH:n,MAX_LENGTH:o}=r(421480),s=r(73800),a=(t=e.exports={}).re=[],l=t.safeRe=[],u=t.src=[],c=t.t={},g=0,f="[a-zA-Z0-9-]",h=[["\\s",1],["\\d",o],[f,n]],d=e=>{for(let[t,r]of h)e=e.split(`${t}*`).join(`${t}{0,${r}}`).split(`${t}+`).join(`${t}{1,${r}}`);return e},p=(e,t,r)=>{let i=d(t),n=g++;s(e,n,t),c[e]=n,u[n]=t,a[n]=new RegExp(t,r?"g":void 0),l[n]=new RegExp(i,r?"g":void 0)};p("NUMERICIDENTIFIER","0|[1-9]\\d*"),p("NUMERICIDENTIFIERLOOSE","\\d+"),p("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${f}*`),p("MAINVERSION",`(${u[c.NUMERICIDENTIFIER]})\\.(${u[c.NUMERICIDENTIFIER]})\\.(${u[c.NUMERICIDENTIFIER]})`),p("MAINVERSIONLOOSE",`(${u[c.NUMERICIDENTIFIERLOOSE]})\\.(${u[c.NUMERICIDENTIFIERLOOSE]})\\.(${u[c.NUMERICIDENTIFIERLOOSE]})`),p("PRERELEASEIDENTIFIER",`(?:${u[c.NUMERICIDENTIFIER]}|${u[c.NONNUMERICIDENTIFIER]})`),p("PRERELEASEIDENTIFIERLOOSE",`(?:${u[c.NUMERICIDENTIFIERLOOSE]}|${u[c.NONNUMERICIDENTIFIER]})`),p("PRERELEASE",`(?:-(${u[c.PRERELEASEIDENTIFIER]}(?:\\.${u[c.PRERELEASEIDENTIFIER]})*))`),p("PRERELEASELOOSE",`(?:-?(${u[c.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${u[c.PRERELEASEIDENTIFIERLOOSE]})*))`),p("BUILDIDENTIFIER",`${f}+`),p("BUILD",`(?:\\+(${u[c.BUILDIDENTIFIER]}(?:\\.${u[c.BUILDIDENTIFIER]})*))`),p("FULLPLAIN",`v?${u[c.MAINVERSION]}${u[c.PRERELEASE]}?${u[c.BUILD]}?`),p("FULL",`^${u[c.FULLPLAIN]}$`),p("LOOSEPLAIN",`[v=\\s]*${u[c.MAINVERSIONLOOSE]}${u[c.PRERELEASELOOSE]}?${u[c.BUILD]}?`),p("LOOSE",`^${u[c.LOOSEPLAIN]}$`),p("GTLT","((?:<|>)?=?)"),p("XRANGEIDENTIFIERLOOSE",`${u[c.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),p("XRANGEIDENTIFIER",`${u[c.NUMERICIDENTIFIER]}|x|X|\\*`),p("XRANGEPLAIN",`[v=\\s]*(${u[c.XRANGEIDENTIFIER]})(?:\\.(${u[c.XRANGEIDENTIFIER]})(?:\\.(${u[c.XRANGEIDENTIFIER]})(?:${u[c.PRERELEASE]})?${u[c.BUILD]}?)?)?`),p("XRANGEPLAINLOOSE",`[v=\\s]*(${u[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${u[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${u[c.XRANGEIDENTIFIERLOOSE]})(?:${u[c.PRERELEASELOOSE]})?${u[c.BUILD]}?)?)?`),p("XRANGE",`^${u[c.GTLT]}\\s*${u[c.XRANGEPLAIN]}$`),p("XRANGELOOSE",`^${u[c.GTLT]}\\s*${u[c.XRANGEPLAINLOOSE]}$`),p("COERCEPLAIN",`(^|[^\\d])(\\d{1,${i}})(?:\\.(\\d{1,${i}}))?(?:\\.(\\d{1,${i}}))?`),p("COERCE",`${u[c.COERCEPLAIN]}(?:$|[^\\d])`),p("COERCEFULL",u[c.COERCEPLAIN]+`(?:${u[c.PRERELEASE]})?`+`(?:${u[c.BUILD]})?`+"(?:$|[^\\d])"),p("COERCERTL",u[c.COERCE],!0),p("COERCERTLFULL",u[c.COERCEFULL],!0),p("LONETILDE","(?:~>?)"),p("TILDETRIM",`(\\s*)${u[c.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",p("TILDE",`^${u[c.LONETILDE]}${u[c.XRANGEPLAIN]}$`),p("TILDELOOSE",`^${u[c.LONETILDE]}${u[c.XRANGEPLAINLOOSE]}$`),p("LONECARET","(?:\\^)"),p("CARETTRIM",`(\\s*)${u[c.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",p("CARET",`^${u[c.LONECARET]}${u[c.XRANGEPLAIN]}$`),p("CARETLOOSE",`^${u[c.LONECARET]}${u[c.XRANGEPLAINLOOSE]}$`),p("COMPARATORLOOSE",`^${u[c.GTLT]}\\s*(${u[c.LOOSEPLAIN]})$|^$`),p("COMPARATOR",`^${u[c.GTLT]}\\s*(${u[c.FULLPLAIN]})$|^$`),p("COMPARATORTRIM",`(\\s*)${u[c.GTLT]}\\s*(${u[c.LOOSEPLAIN]}|${u[c.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",p("HYPHENRANGE",`^\\s*(${u[c.XRANGEPLAIN]})\\s+-\\s+(${u[c.XRANGEPLAIN]})\\s*$`),p("HYPHENRANGELOOSE",`^\\s*(${u[c.XRANGEPLAINLOOSE]})\\s+-\\s+(${u[c.XRANGEPLAINLOOSE]})\\s*$`),p("STAR","(<|>)?=?\\s*\\*"),p("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),p("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")},160414:function(e,t,r){let i=r(680690);e.exports=(e,t,r)=>i(e,t,">",r)},650641:function(e,t,r){let i=r(364672);e.exports=(e,t,r)=>(e=new i(e,r),t=new i(t,r),e.intersects(t,r))},113146:function(e,t,r){let i=r(680690);e.exports=(e,t,r)=>i(e,t,"<",r)},53295:function(e,t,r){let i=r(115647),n=r(364672);e.exports=(e,t,r)=>{let o=null,s=null,a=null;try{a=new n(t,r)}catch(e){return null}return e.forEach(e=>{a.test(e)&&(!o||-1===s.compare(e))&&(s=new i(o=e,r))}),o}},263471:function(e,t,r){let i=r(115647),n=r(364672);e.exports=(e,t,r)=>{let o=null,s=null,a=null;try{a=new n(t,r)}catch(e){return null}return e.forEach(e=>{a.test(e)&&(!o||1===s.compare(e))&&(s=new i(o=e,r))}),o}},331099:function(e,t,r){let i=r(115647),n=r(364672),o=r(286735);e.exports=(e,t)=>{e=new n(e,t);let r=new i("0.0.0");if(e.test(r)||(r=new i("0.0.0-0"),e.test(r)))return r;r=null;for(let t=0;t{let t=new i(e.semver.version);switch(e.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":(!s||o(t,s))&&(s=t);break;case"<":case"<=":break;default:throw Error(`Unexpected operation: ${e.operator}`)}}),s&&(!r||o(r,s))&&(r=s)}return r&&e.test(r)?r:null}},680690:function(e,t,r){let i=r(115647),n=r(169451),{ANY:o}=n,s=r(364672),a=r(453113),l=r(286735),u=r(675757),c=r(978849),g=r(309004);e.exports=(e,t,r,f)=>{let h,d,p,m,E;switch(e=new i(e,f),t=new s(t,f),r){case">":h=l,d=c,p=u,m=">",E=">=";break;case"<":h=u,d=g,p=l,m="<",E="<=";break;default:throw TypeError('Must provide a hilo val of "<" or ">"')}if(a(e,t,f))return!1;for(let r=0;r{e.semver===o&&(e=new n(">=0.0.0")),s=s||e,a=a||e,h(e.semver,s.semver,f)?s=e:p(e.semver,a.semver,f)&&(a=e)}),s.operator===m||s.operator===E||(!a.operator||a.operator===m)&&d(e,a.semver)||a.operator===E&&p(e,a.semver))return!1}return!0}},10613:function(e,t,r){let i=r(453113),n=r(739581);e.exports=(e,t,r)=>{let o=[],s=null,a=null,l=e.sort((e,t)=>n(e,t,r));for(let e of l)i(e,t,r)?(a=e,s||(s=e)):(a&&o.push([s,a]),a=null,s=null);s&&o.push([s,null]);let u=[];for(let[e,t]of o)e===t?u.push(e):t||e!==l[0]?t?e===l[0]?u.push(`<=${t}`):u.push(`${e} - ${t}`):u.push(`>=${e}`):u.push("*");let c=u.join(" || "),g="string"==typeof t.raw?t.raw:String(t);return c.length=0.0.0-0")],u=[new n(">=0.0.0")],c=(e,t,r)=>{let i,n,c,h,d,p,m;if(e===t)return!0;if(1===e.length&&e[0].semver===o){if(1===t.length&&t[0].semver===o)return!0;e=r.includePrerelease?l:u}if(1===t.length&&t[0].semver===o){if(r.includePrerelease)return!0;t=u}let E=new Set;for(let t of e)">"===t.operator||">="===t.operator?i=g(i,t,r):"<"===t.operator||"<="===t.operator?n=f(n,t,r):E.add(t.semver);if(E.size>1||i&&n&&((c=a(i.semver,n.semver,r))>0||0===c&&(">="!==i.operator||"<="!==n.operator)))return null;for(let e of E){if(i&&!s(e,String(i),r)||n&&!s(e,String(n),r))return null;for(let i of t)if(!s(e,String(i),r))return!1;return!0}let v=!!n&&!r.includePrerelease&&!!n.semver.prerelease.length&&n.semver,y=!!i&&!r.includePrerelease&&!!i.semver.prerelease.length&&i.semver;for(let e of(v&&1===v.prerelease.length&&"<"===n.operator&&0===v.prerelease[0]&&(v=!1),t)){if(m=m||">"===e.operator||">="===e.operator,p=p||"<"===e.operator||"<="===e.operator,i){if(y&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===y.major&&e.semver.minor===y.minor&&e.semver.patch===y.patch&&(y=!1),">"===e.operator||">="===e.operator){if((h=g(i,e,r))===e&&h!==i)return!1}else if(">="===i.operator&&!s(i.semver,String(e),r))return!1}if(n){if(v&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===v.major&&e.semver.minor===v.minor&&e.semver.patch===v.patch&&(v=!1),"<"===e.operator||"<="===e.operator){if((d=f(n,e,r))===e&&d!==n)return!1}else if("<="===n.operator&&!s(n.semver,String(e),r))return!1}if(!e.operator&&(n||i)&&0!==c)return!1}return(!i||!p||!!n||0===c)&&(!n||!m||!!i||0===c)&&!y&&!v},g=(e,t,r)=>{if(!e)return t;let i=a(e.semver,t.semver,r);return i>0?e:i<0?t:">"===t.operator&&">="===e.operator?t:e},f=(e,t,r)=>{if(!e)return t;let i=a(e.semver,t.semver,r);return i<0?e:i>0?t:"<"===t.operator&&"<="===e.operator?t:e};e.exports=(e,t,r={})=>{if(e===t)return!0;e=new i(e,r),t=new i(t,r);let n=!1;e:for(let i of e.set){for(let e of t.set){let t=c(i,e,r);if(n=n||null!==t,t)continue e}if(n)return!1}return!0}},465859:function(e,t,r){let i=r(364672);e.exports=(e,t)=>new i(e,t).set.map(e=>e.map(e=>e.value).join(" ").trim().split(" "))},630969:function(e,t,r){let i=r(364672);e.exports=(e,t)=>{try{return new i(e,t).range||"*"}catch(e){return null}}},229:function(e){var t;t=function(e){"use strict";var t=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function r(e,t){var r=e[0],i=e[1],n=e[2],o=e[3];r+=(i&n|~i&o)+t[0]-680876936|0,o+=((r=(r<<7|r>>>25)+i|0)&i|~r&n)+t[1]-389564586|0,n+=((o=(o<<12|o>>>20)+r|0)&r|~o&i)+t[2]+606105819|0,i+=((n=(n<<17|n>>>15)+o|0)&o|~n&r)+t[3]-1044525330|0,r+=((i=(i<<22|i>>>10)+n|0)&n|~i&o)+t[4]-176418897|0,o+=((r=(r<<7|r>>>25)+i|0)&i|~r&n)+t[5]+1200080426|0,n+=((o=(o<<12|o>>>20)+r|0)&r|~o&i)+t[6]-1473231341|0,i+=((n=(n<<17|n>>>15)+o|0)&o|~n&r)+t[7]-45705983|0,r+=((i=(i<<22|i>>>10)+n|0)&n|~i&o)+t[8]+1770035416|0,o+=((r=(r<<7|r>>>25)+i|0)&i|~r&n)+t[9]-1958414417|0,n+=((o=(o<<12|o>>>20)+r|0)&r|~o&i)+t[10]-42063|0,i+=((n=(n<<17|n>>>15)+o|0)&o|~n&r)+t[11]-1990404162|0,r+=((i=(i<<22|i>>>10)+n|0)&n|~i&o)+t[12]+1804603682|0,o+=((r=(r<<7|r>>>25)+i|0)&i|~r&n)+t[13]-40341101|0,n+=((o=(o<<12|o>>>20)+r|0)&r|~o&i)+t[14]-1502002290|0,i+=((n=(n<<17|n>>>15)+o|0)&o|~n&r)+t[15]+1236535329|0,r+=((i=(i<<22|i>>>10)+n|0)&o|n&~o)+t[1]-165796510|0,o+=((r=(r<<5|r>>>27)+i|0)&n|i&~n)+t[6]-1069501632|0,n+=((o=(o<<9|o>>>23)+r|0)&i|r&~i)+t[11]+643717713|0,i+=((n=(n<<14|n>>>18)+o|0)&r|o&~r)+t[0]-373897302|0,r+=((i=(i<<20|i>>>12)+n|0)&o|n&~o)+t[5]-701558691|0,o+=((r=(r<<5|r>>>27)+i|0)&n|i&~n)+t[10]+38016083|0,n+=((o=(o<<9|o>>>23)+r|0)&i|r&~i)+t[15]-660478335|0,i+=((n=(n<<14|n>>>18)+o|0)&r|o&~r)+t[4]-405537848|0,r+=((i=(i<<20|i>>>12)+n|0)&o|n&~o)+t[9]+568446438|0,o+=((r=(r<<5|r>>>27)+i|0)&n|i&~n)+t[14]-1019803690|0,n+=((o=(o<<9|o>>>23)+r|0)&i|r&~i)+t[3]-187363961|0,i+=((n=(n<<14|n>>>18)+o|0)&r|o&~r)+t[8]+1163531501|0,r+=((i=(i<<20|i>>>12)+n|0)&o|n&~o)+t[13]-1444681467|0,o+=((r=(r<<5|r>>>27)+i|0)&n|i&~n)+t[2]-51403784|0,n+=((o=(o<<9|o>>>23)+r|0)&i|r&~i)+t[7]+1735328473|0,i+=((n=(n<<14|n>>>18)+o|0)&r|o&~r)+t[12]-1926607734|0,r+=((i=(i<<20|i>>>12)+n|0)^n^o)+t[5]-378558|0,o+=((r=(r<<4|r>>>28)+i|0)^i^n)+t[8]-2022574463|0,n+=((o=(o<<11|o>>>21)+r|0)^r^i)+t[11]+1839030562|0,i+=((n=(n<<16|n>>>16)+o|0)^o^r)+t[14]-35309556|0,r+=((i=(i<<23|i>>>9)+n|0)^n^o)+t[1]-1530992060|0,o+=((r=(r<<4|r>>>28)+i|0)^i^n)+t[4]+1272893353|0,n+=((o=(o<<11|o>>>21)+r|0)^r^i)+t[7]-155497632|0,i+=((n=(n<<16|n>>>16)+o|0)^o^r)+t[10]-1094730640|0,r+=((i=(i<<23|i>>>9)+n|0)^n^o)+t[13]+681279174|0,o+=((r=(r<<4|r>>>28)+i|0)^i^n)+t[0]-358537222|0,n+=((o=(o<<11|o>>>21)+r|0)^r^i)+t[3]-722521979|0,i+=((n=(n<<16|n>>>16)+o|0)^o^r)+t[6]+76029189|0,r+=((i=(i<<23|i>>>9)+n|0)^n^o)+t[9]-640364487|0,o+=((r=(r<<4|r>>>28)+i|0)^i^n)+t[12]-421815835|0,n+=((o=(o<<11|o>>>21)+r|0)^r^i)+t[15]+530742520|0,i+=((n=(n<<16|n>>>16)+o|0)^o^r)+t[2]-995338651|0,i=(i<<23|i>>>9)+n|0,r+=(n^(i|~o))+t[0]-198630844|0,r=(r<<6|r>>>26)+i|0,o+=(i^(r|~n))+t[7]+1126891415|0,o=(o<<10|o>>>22)+r|0,n+=(r^(o|~i))+t[14]-1416354905|0,n=(n<<15|n>>>17)+o|0,i+=(o^(n|~r))+t[5]-57434055|0,i=(i<<21|i>>>11)+n|0,r+=(n^(i|~o))+t[12]+1700485571|0,r=(r<<6|r>>>26)+i|0,o+=(i^(r|~n))+t[3]-1894986606|0,o=(o<<10|o>>>22)+r|0,n+=(r^(o|~i))+t[10]-1051523|0,n=(n<<15|n>>>17)+o|0,i+=(o^(n|~r))+t[1]-2054922799|0,i=(i<<21|i>>>11)+n|0,r+=(n^(i|~o))+t[8]+1873313359|0,r=(r<<6|r>>>26)+i|0,o+=(i^(r|~n))+t[15]-30611744|0,o=(o<<10|o>>>22)+r|0,n+=(r^(o|~i))+t[6]-1560198380|0,n=(n<<15|n>>>17)+o|0,i+=(o^(n|~r))+t[13]+1309151649|0,i=(i<<21|i>>>11)+n|0,r+=(n^(i|~o))+t[4]-145523070|0,r=(r<<6|r>>>26)+i|0,o+=(i^(r|~n))+t[11]-1120210379|0,o=(o<<10|o>>>22)+r|0,n+=(r^(o|~i))+t[2]+718787259|0,n=(n<<15|n>>>17)+o|0,i+=(o^(n|~r))+t[9]-343485551|0,i=(i<<21|i>>>11)+n|0,e[0]=r+e[0]|0,e[1]=i+e[1]|0,e[2]=n+e[2]|0,e[3]=o+e[3]|0}function i(e){var t,r=[];for(t=0;t<64;t+=4)r[t>>2]=e.charCodeAt(t)+(e.charCodeAt(t+1)<<8)+(e.charCodeAt(t+2)<<16)+(e.charCodeAt(t+3)<<24);return r}function n(e){var t,r=[];for(t=0;t<64;t+=4)r[t>>2]=e[t]+(e[t+1]<<8)+(e[t+2]<<16)+(e[t+3]<<24);return r}function o(e){var t,n,o,s,a,l,u=e.length,c=[1732584193,-271733879,-1732584194,271733878];for(t=64;t<=u;t+=64)r(c,i(e.substring(t-64,t)));for(n=(e=e.substring(t-64)).length,o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],t=0;t>2]|=e.charCodeAt(t)<<(t%4<<3);if(o[t>>2]|=128<<(t%4<<3),t>55)for(r(c,o),t=0;t<16;t+=1)o[t]=0;return a=parseInt((s=(s=8*u).toString(16).match(/(.*?)(.{0,8})$/))[2],16),l=parseInt(s[1],16)||0,o[14]=a,o[15]=l,r(c,o),c}function s(e){var r;for(r=0;r>8*r+4&15]+t[e>>8*r&15];return i}(e[r]);return e.join("")}function a(e){return/[\u0080-\uFFFF]/.test(e)&&(e=unescape(encodeURIComponent(e))),e}function l(e){var t,r=[],i=e.length;for(t=0;tc)?new ArrayBuffer(0):(s=new Uint8Array(o=new ArrayBuffer(n=c-u)),a=new Uint8Array(this,u,n),s.set(a),o)}}(),u.prototype.append=function(e){return this.appendBinary(a(e)),this},u.prototype.appendBinary=function(e){this._buff+=e,this._length+=e.length;var t,n=this._buff.length;for(t=64;t<=n;t+=64)r(this._hash,i(this._buff.substring(t-64,t)));return this._buff=this._buff.substring(t-64),this},u.prototype.end=function(e){var t,r,i=this._buff,n=i.length,o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(t=0;t>2]|=i.charCodeAt(t)<<(t%4<<3);return this._finish(o,n),r=s(this._hash),e&&(r=l(r)),this.reset(),r},u.prototype.reset=function(){return this._buff="",this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},u.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash.slice()}},u.prototype.setState=function(e){return this._buff=e.buff,this._length=e.length,this._hash=e.hash,this},u.prototype.destroy=function(){delete this._hash,delete this._buff,delete this._length},u.prototype._finish=function(e,t){var i,n,o,s=t;if(e[s>>2]|=128<<(s%4<<3),s>55)for(r(this._hash,e),s=0;s<16;s+=1)e[s]=0;n=parseInt((i=(i=8*this._length).toString(16).match(/(.*?)(.{0,8})$/))[2],16),o=parseInt(i[1],16)||0,e[14]=n,e[15]=o,r(this._hash,e)},u.hash=function(e,t){return u.hashBinary(a(e),t)},u.hashBinary=function(e,t){var r=s(o(e));return t?l(r):r},u.ArrayBuffer=function(){this.reset()},u.ArrayBuffer.prototype.append=function(e){var t,i,o,s=((i=new Uint8Array((t=this._buff.buffer).byteLength+e.byteLength)).set(new Uint8Array(t)),i.set(new Uint8Array(e),t.byteLength),i),a=s.length;for(this._length+=e.byteLength,o=64;o<=a;o+=64)r(this._hash,n(s.subarray(o-64,o)));return this._buff=new Uint8Array(o-64>2]|=i[t]<<(t%4<<3);return this._finish(o,n),r=s(this._hash),e&&(r=l(r)),this.reset(),r},u.ArrayBuffer.prototype.reset=function(){return this._buff=new Uint8Array(0),this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},u.ArrayBuffer.prototype.getState=function(){var e,t=u.prototype.getState.call(this);return t.buff=(e=t.buff,String.fromCharCode.apply(null,new Uint8Array(e))),t},u.ArrayBuffer.prototype.setState=function(e){return e.buff=function(e,t){var r,i=e.length,n=new ArrayBuffer(i),o=new Uint8Array(n);for(r=0;r>2]|=e[t]<<(t%4<<3);if(o[t>>2]|=128<<(t%4<<3),t>55)for(r(c,o),t=0;t<16;t+=1)o[t]=0;return a=parseInt((s=(s=8*u).toString(16).match(/(.*?)(.{0,8})$/))[2],16),l=parseInt(s[1],16)||0,o[14]=a,o[15]=l,r(c,o),c}(new Uint8Array(e)));return t?l(i):i},u},e.exports=t()},406727:function(e,t,r){"use strict";let i=r(389705);e.exports=c;let n=function(){function e(e){return void 0!==e&&e}try{if("undefined"!=typeof globalThis)return globalThis;return Object.defineProperty(Object.prototype,"globalThis",{get:function(){return delete Object.prototype.globalThis,this.globalThis=this},configurable:!0}),globalThis}catch(t){return e(self)||e(window)||e(this)||{}}}().console||{};function o(e,t){return"silent"===e?1/0:t.levels.values[e]}let s=Symbol("pino.logFuncs"),a=Symbol("pino.hierarchy"),l={error:"log",fatal:"error",warn:"error",info:"log",debug:"log",trace:"log"};function u(e,t){let r={logger:t,parent:e[a]};t[a]=r}function c(e){var t,r;(e=e||{}).browser=e.browser||{};let i=e.browser.transmit;if(i&&"function"!=typeof i.send)throw Error("pino: transmit option must have a send function");let a=e.browser.write||n;e.browser.write&&(e.browser.asObject=!0);let d=e.serializers||{},p=Array.isArray(t=e.browser.serialize)?t.filter(function(e){return"!stdSerializers.err"!==e}):!0===t&&Object.keys(d),m=e.browser.serialize;Array.isArray(e.browser.serialize)&&e.browser.serialize.indexOf("!stdSerializers.err")>-1&&(m=!1);let b=Object.keys(e.customLevels||{}),S=["error","fatal","warn","info","debug","trace"].concat(b);"function"==typeof a&&S.forEach(function(e){a[e]=a}),(!1===e.enabled||e.browser.disabled)&&(e.level="silent");let A=e.level||"info",C=Object.create(a);C.log||(C.log=E),function(e,t,r){let i={};t.forEach(e=>{i[e]=r[e]?r[e]:n[e]||n[l[e]||"log"]||E}),e[s]=i}(C,S,a),u({},C),Object.defineProperty(C,"levelVal",{get:function(){return o(this.level,this)}}),Object.defineProperty(C,"level",{get:function(){return this._level},set:function(e){if("silent"!==e&&!this.levels.values[e])throw Error("unknown level "+e);this._level=e,g(this,O,C,"error"),g(this,O,C,"fatal"),g(this,O,C,"warn"),g(this,O,C,"info"),g(this,O,C,"debug"),g(this,O,C,"trace"),b.forEach(e=>{g(this,O,C,e)})}});let O={transmit:i,serialize:p,asObject:e.browser.asObject,formatters:e.browser.formatters,levels:S,timestamp:"function"==typeof(r=e).timestamp?r.timestamp:!1===r.timestamp?v:y,messageKey:e.messageKey||"msg",onChild:e.onChild||E};function I(t,r,n){if(!r)throw Error("missing bindings for child Pino");n=n||{},p&&r.serializers&&(n.serializers=r.serializers);let o=n.serializers;if(p&&o){var s=Object.assign({},d,o),a=!0===e.browser.serialize?Object.keys(s):p;delete r.serializers,f([r],a,s,this._stdErrSerialize)}function l(e){this._childLevel=(0|e._childLevel)+1,this.bindings=r,s&&(this.serializers=s,this._serialize=a),i&&(this._logEvent=h([].concat(e._logEvent.bindings,r)))}l.prototype=this;let c=new l(this);return u(this,c),c.child=function(...e){return I.call(this,t,...e)},c.level=n.level||this.level,t.onChild(c),c}return C.levels=function(e){let t=e.customLevels||{};return{values:Object.assign({},c.levels.values,t),labels:Object.assign({},c.levels.labels,function(e){let t={};return Object.keys(e).forEach(function(r){t[e[r]]=r}),t}(t))}}(e),C.level=A,C.setMaxListeners=C.getMaxListeners=C.emit=C.addListener=C.on=C.prependListener=C.once=C.prependOnceListener=C.removeListener=C.removeAllListeners=C.listeners=C.listenerCount=C.eventNames=C.write=C.flush=E,C.serializers=d,C._serialize=p,C._stdErrSerialize=m,C.child=function(...e){return I.call(this,O,...e)},i&&(C._logEvent=h()),C}function g(e,t,r,l){var u,c;if(Object.defineProperty(e,l,{value:o(e.level,r)>o(l,r)?E:r[s][l],writable:!0,enumerable:!0,configurable:!0}),e[l]===E){if(!t.transmit)return;let i=o(t.transmit.level||e.level,r);if(o(l,r)e}=o.formatters||{},l=r.slice(),u=l[0],c={};n&&(c.time=n),s?Object.assign(c,s(t,e.levels.values[t])):c.level=e.levels.values[t];let g=(0|e._childLevel)+1;if(g<1&&(g=1),null!==u&&"object"==typeof u){for(;g--&&"object"==typeof l[0];)Object.assign(c,l.shift());u=l.length?i(l.shift(),l):void 0}else"string"==typeof u&&(u=i(l.shift(),l));return void 0!==u&&(c[o.messageKey]=u),a(c)}(this,l,a,s,t)):u.apply(c,a),t.transmit){let i=t.transmit.level||e._level,n=o(i,r),u=o(l,r);if(u-1&&i in r&&(e[n][i]=r[i](e[n][i]))}function h(e){return{ts:0,messages:[],bindings:e||[],level:{label:"",value:0}}}function d(e){let t={type:e.constructor.name,msg:e.message,stack:e.stack};for(let r in e)void 0===t[r]&&(t[r]=e[r]);return t}function p(){return{}}function m(e){return e}function E(){}function v(){return!1}function y(){return Date.now()}c.levels={values:{fatal:60,error:50,warn:40,info:30,debug:20,trace:10},labels:{10:"trace",20:"debug",30:"info",40:"warn",50:"error",60:"fatal"}},c.stdSerializers={mapHttpRequest:p,mapHttpResponse:p,wrapRequestSerializer:m,wrapResponseSerializer:m,wrapErrorSerializer:m,req:p,res:p,err:d,errWithCause:d},c.stdTimeFunctions=Object.assign({},{nullTime:v,epochTime:y,unixTime:function(){return Math.round(Date.now()/1e3)},isoTime:function(){return new Date(Date.now()).toISOString()}}),e.exports.default=c,e.exports.pino=c},464994:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.version=t.validate=t.v7=t.v6ToV1=t.v6=t.v5=t.v4=t.v3=t.v1ToV6=t.v1=t.stringify=t.parse=t.NIL=t.MAX=void 0;var i=r(866429);Object.defineProperty(t,"MAX",{enumerable:!0,get:function(){return i.default}});var n=r(996884);Object.defineProperty(t,"NIL",{enumerable:!0,get:function(){return n.default}});var o=r(734467);Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return o.default}});var s=r(929985);Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return s.default}});var a=r(115504);Object.defineProperty(t,"v1",{enumerable:!0,get:function(){return a.default}});var l=r(158229);Object.defineProperty(t,"v1ToV6",{enumerable:!0,get:function(){return l.default}});var u=r(720910);Object.defineProperty(t,"v3",{enumerable:!0,get:function(){return u.default}});var c=r(84072);Object.defineProperty(t,"v4",{enumerable:!0,get:function(){return c.default}});var g=r(96098);Object.defineProperty(t,"v5",{enumerable:!0,get:function(){return g.default}});var f=r(642424);Object.defineProperty(t,"v6",{enumerable:!0,get:function(){return f.default}});var h=r(603707);Object.defineProperty(t,"v6ToV1",{enumerable:!0,get:function(){return h.default}});var d=r(498762);Object.defineProperty(t,"v7",{enumerable:!0,get:function(){return d.default}});var p=r(718262);Object.defineProperty(t,"validate",{enumerable:!0,get:function(){return p.default}});var m=r(738128);Object.defineProperty(t,"version",{enumerable:!0,get:function(){return m.default}})},866429:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="ffffffff-ffff-ffff-ffff-ffffffffffff"},753151:function(e,t){"use strict";function r(e){return(e+64>>>9<<4)+14+1}function i(e,t){let r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function n(e,t,r,n,o,s){var a;return i((a=i(i(t,e),i(n,s)))<>>32-o,r)}function o(e,t,r,i,o,s,a){return n(t&r|~t&i,e,t,o,s,a)}function s(e,t,r,i,o,s,a){return n(t&i|r&~i,e,t,o,s,a)}function a(e,t,r,i,o,s,a){return n(t^r^i,e,t,o,s,a)}function l(e,t,r,i,o,s,a){return n(r^(t|~i),e,t,o,s,a)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return function(e){let t=new Uint8Array(4*e.length);for(let r=0;r<4*e.length;r++)t[r]=e[r>>2]>>>r%4*8&255;return t}(function(e,t){let n=new Uint32Array(r(t)).fill(0);n.set(e),n[t>>5]|=128<>2]|=(255&e[r])<>>24,t>>>16&255,t>>>8&255,255&t,(t=parseInt(e.slice(9,13),16))>>>8,255&t,(t=parseInt(e.slice(14,18),16))>>>8,255&t,(t=parseInt(e.slice(19,23),16))>>>8,255&t,(t=parseInt(e.slice(24,36),16))/1099511627776&255,t/4294967296&255,t>>>24&255,t>>>16&255,t>>>8&255,255&t)}},309599:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i},545515:function(e,t){"use strict";let r;Object.defineProperty(t,"__esModule",{value:!0});let i=new Uint8Array(16);t.default=function(){if(!r){if("undefined"==typeof crypto||!crypto.getRandomValues)throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");r=crypto.getRandomValues.bind(crypto)}return r(i)}},739158:function(e,t){"use strict";function r(e,t){return e<>>32-t}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){let t=[1518500249,1859775393,2400959708,3395469782],i=[1732584193,4023233417,2562383102,271733878,3285377520],n=new Uint8Array(e.length+1);n.set(e),n[e.length]=128;let o=Math.ceil(((e=n).length/4+2)/16),s=Array(o);for(let t=0;t>>0;c=u,u=l,l=r(a,30)>>>0,a=o,o=s}i[0]=i[0]+o>>>0,i[1]=i[1]+a>>>0,i[2]=i[2]+l>>>0,i[3]=i[3]+u>>>0,i[4]=i[4]+c>>>0}return Uint8Array.of(i[0]>>24,i[0]>>16,i[0]>>8,i[0],i[1]>>24,i[1]>>16,i[1]>>8,i[1],i[2]>>24,i[2]>>16,i[2]>>8,i[2],i[3]>>24,i[3]>>16,i[3]>>8,i[3],i[4]>>24,i[4]>>16,i[4]>>8,i[4])}},929985:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.unsafeStringify=void 0;let i=r(718262),n=[];for(let e=0;e<256;++e)n.push((e+256).toString(16).slice(1));function o(e,t=0){return(n[e[t+0]]+n[e[t+1]]+n[e[t+2]]+n[e[t+3]]+"-"+n[e[t+4]]+n[e[t+5]]+"-"+n[e[t+6]]+n[e[t+7]]+"-"+n[e[t+8]]+n[e[t+9]]+"-"+n[e[t+10]]+n[e[t+11]]+n[e[t+12]]+n[e[t+13]]+n[e[t+14]]+n[e[t+15]]).toLowerCase()}t.unsafeStringify=o,t.default=function(e,t=0){let r=o(e,t);if(!(0,i.default)(r))throw TypeError("Stringified UUID is invalid");return r}},115504:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.updateV1State=void 0;let i=r(545515),n=r(929985),o={};function s(e,t,r){return e.msecs??=-1/0,e.nsecs??=0,t===e.msecs?(e.nsecs++,e.nsecs>=1e4&&(e.node=void 0,e.nsecs=0)):t>e.msecs?e.nsecs=0:t= 16");if(o){if(s<0||s+16>o.length)throw RangeError(`UUID byte range ${s}:${s+15} is out of buffer bounds`)}else o=new Uint8Array(16),s=0;t??=Date.now(),r??=0,i??=(e[8]<<8|e[9])&16383,n??=e.slice(10,16);let a=((268435455&(t+=122192928e5))*1e4+r)%4294967296;o[s++]=a>>>24&255,o[s++]=a>>>16&255,o[s++]=a>>>8&255,o[s++]=255&a;let l=t/4294967296*1e4&268435455;o[s++]=l>>>8&255,o[s++]=255&l,o[s++]=l>>>24&15|16,o[s++]=l>>>16&255,o[s++]=i>>>8|128,o[s++]=255&i;for(let e=0;e<6;++e)o[s++]=n[e];return o}t.updateV1State=s,t.default=function(e,t,r){let l;let u=e?._v6??!1;if(e){let t=Object.keys(e);1===t.length&&"_v6"===t[0]&&(e=void 0)}if(e)l=a(e.random??e.rng?.()??(0,i.default)(),e.msecs,e.nsecs,e.clockseq,e.node,t,r);else{let e=Date.now(),n=(0,i.default)();s(o,e,n),l=a(n,o.msecs,o.nsecs,u?void 0:o.clockseq,u?void 0:o.node,t,r)}return t??(0,n.unsafeStringify)(l)}},158229:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(734467),n=r(929985);t.default=function(e){var t;let r=(t="string"==typeof e?(0,i.default)(e):e,Uint8Array.of((15&t[6])<<4|t[7]>>4&15,(15&t[7])<<4|(240&t[4])>>4,(15&t[4])<<4|(240&t[5])>>4,(15&t[5])<<4|(240&t[0])>>4,(15&t[0])<<4|(240&t[1])>>4,(15&t[1])<<4|(240&t[2])>>4,96|15&t[2],t[3],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]));return"string"==typeof e?(0,n.unsafeStringify)(r):r}},720910:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.URL=t.DNS=void 0;let i=r(753151),n=r(914470);var o=r(914470);function s(e,t,r,o){return(0,n.default)(48,i.default,e,t,r,o)}Object.defineProperty(t,"DNS",{enumerable:!0,get:function(){return o.DNS}}),Object.defineProperty(t,"URL",{enumerable:!0,get:function(){return o.URL}}),s.DNS=n.DNS,s.URL=n.URL,t.default=s},914470:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.URL=t.DNS=t.stringToBytes=void 0;let i=r(734467),n=r(929985);function o(e){let t=new Uint8Array((e=unescape(encodeURIComponent(e))).length);for(let r=0;r= 16");if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,t){if((r=r||0)<0||r+16>t.length)throw RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[r+e]=s[e];return t}return(0,o.unsafeStringify)(s)}},96098:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.URL=t.DNS=void 0;let i=r(739158),n=r(914470);var o=r(914470);function s(e,t,r,o){return(0,n.default)(80,i.default,e,t,r,o)}Object.defineProperty(t,"DNS",{enumerable:!0,get:function(){return o.DNS}}),Object.defineProperty(t,"URL",{enumerable:!0,get:function(){return o.URL}}),s.DNS=n.DNS,s.URL=n.URL,t.default=s},642424:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(929985),n=r(115504),o=r(158229);t.default=function(e,t,r){e??={},r??=0;let s=(0,n.default)({...e,_v6:!0},new Uint8Array(16));if(s=(0,o.default)(s),t){for(let e=0;e<16;e++)t[r+e]=s[e];return t}return(0,i.unsafeStringify)(s)}},603707:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(734467),n=r(929985);t.default=function(e){var t;let r=(t="string"==typeof e?(0,i.default)(e):e,Uint8Array.of((15&t[3])<<4|t[4]>>4&15,(15&t[4])<<4|(240&t[5])>>4,(15&t[5])<<4|15&t[6],t[7],(15&t[1])<<4|(240&t[2])>>4,(15&t[2])<<4|(240&t[3])>>4,16|(240&t[0])>>4,(15&t[0])<<4|(240&t[1])>>4,t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]));return"string"==typeof e?(0,n.unsafeStringify)(r):r}},498762:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.updateV7State=void 0;let i=r(545515),n=r(929985),o={};function s(e,t,r){return e.msecs??=-1/0,e.seq??=0,t>e.msecs?(e.seq=r[6]<<23|r[7]<<16|r[8]<<8|r[9],e.msecs=t):(e.seq=e.seq+1|0,0===e.seq&&e.msecs++),e}function a(e,t,r,i,n=0){if(e.length<16)throw Error("Random bytes length must be >= 16");if(i){if(n<0||n+16>i.length)throw RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`)}else i=new Uint8Array(16),n=0;return t??=Date.now(),r??=127*e[6]<<24|e[7]<<16|e[8]<<8|e[9],i[n++]=t/1099511627776&255,i[n++]=t/4294967296&255,i[n++]=t/16777216&255,i[n++]=t/65536&255,i[n++]=t/256&255,i[n++]=255&t,i[n++]=112|r>>>28&15,i[n++]=r>>>20&255,i[n++]=128|r>>>14&63,i[n++]=r>>>6&255,i[n++]=r<<2&255|3&e[10],i[n++]=e[11],i[n++]=e[12],i[n++]=e[13],i[n++]=e[14],i[n++]=e[15],i}t.updateV7State=s,t.default=function(e,t,r){let l;if(e)l=a(e.random??e.rng?.()??(0,i.default)(),e.msecs,e.seq,t,r);else{let e=Date.now(),n=(0,i.default)();s(o,e,n),l=a(n,o.msecs,o.seq,t,r)}return t??(0,n.unsafeStringify)(l)}},718262:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(309599);t.default=function(e){return"string"==typeof e&&i.default.test(e)}},738128:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(718262);t.default=function(e){if(!(0,i.default)(e))throw TypeError("Invalid UUID");return parseInt(e.slice(14,15),16)}},327550:function(e){"use strict";e.exports=JSON.parse('{"name":"@eppo/js-client-sdk-common","version":"4.14.4","description":"Common library for Eppo JavaScript SDKs (web, react native, and node)","main":"dist/index.js","files":["/dist","/src","!*.spec.ts"],"types":"./dist/index.d.ts","engines":{"node":">=18.x"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"lint":"eslint \'**/*.{ts,tsx}\' --cache","lint:fix":"eslint --fix \'**/*.{ts,tsx}\' --cache","lint:fix-pre-commit":"eslint -c .eslintrc.pre-commit.js --fix \'**/*.{ts,tsx}\' --no-eslintrc --cache","prepare":"make prepare","pre-commit":"lint-staged && tsc","typecheck":"tsc","test":"yarn test:unit","test:unit":"NODE_ENV=test jest \'.*\\\\.spec\\\\.ts\'","obfuscate-mock-ufc":"ts-node test/writeObfuscatedMockUFC"},"jsdelivr":"dist/eppo-sdk.js","repository":{"type":"git","url":"git+https://github.com/Eppo-exp/js-client-sdk-common.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/Eppo-exp/js-client-sdk-common/issues"},"homepage":"https://github.com/Eppo-exp/js-client-sdk-common#readme","devDependencies":{"@types/jest":"^29.5.11","@types/js-base64":"^3.3.1","@types/lodash":"^4.17.5","@types/semver":"^7.5.6","@types/spark-md5":"^3.0.5","@types/uuid":"^10.0.0","@typescript-eslint/eslint-plugin":"^5.13.0","@typescript-eslint/parser":"^5.13.0","eslint":"^8.17.0","eslint-config-prettier":"^10.0.1","eslint-import-resolver-typescript":"^3.7.0","eslint-plugin-import":"^2.25.4","eslint-plugin-prettier":"5.2.3","eslint-plugin-promise":"^7.2.1","eslint-plugin-unused-imports":"^4.1.4","jest":"^29.7.0","jest-environment-jsdom":"^29.7.0","lodash":"^4.17.21","prettier":"^3.4.2","prettier-eslint":"^16.3.0","terser-webpack-plugin":"^5.3.3","testdouble":"^3.20.1","ts-jest":"^29.1.1","ts-loader":"^9.3.1","ts-node":"^10.9.1","typescript":"^5.7.2","webpack":"^5.73.0","webpack-cli":"^6.0.1"},"dependencies":{"buffer":"npm:@eppo/buffer@6.2.0","js-base64":"^3.7.7","pino":"^9.5.0","semver":"^7.5.4","spark-md5":"^3.0.2","uuid":"^11.0.5"},"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"}')},971305:function(e){"use strict";e.exports=JSON.parse('{"name":"@eppo/js-client-sdk","version":"3.14.1","description":"Eppo SDK for client-side JavaScript applications","main":"dist/index.js","files":["/dist","/src","!*.spec.ts"],"types":"dist/index.d.ts","scripts":{"lint":"eslint \'**/*.ts\' --cache","lint:fix":"eslint --fix \'**/*.ts\' --cache","lint:fix-pre-commit":"eslint -c .eslintrc.pre-commit.js --fix \'**/*.ts\' --no-eslintrc --cache","prepare":"make prepare","pre-commit":"lint-staged && tsc && yarn docs","typecheck":"tsc","test":"yarn test:unit","test:unit":"NODE_ENV=test jest \'.*\\\\.spec\\\\.ts\'","docs":"api-documenter markdown -i ./temp -o ./docs"},"jsdelivr":"dist/eppo-sdk.js","repository":{"type":"git","url":"git+https://github.com/Eppo-exp/js-client-sdk.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/Eppo-exp/js-client-sdk/issues"},"homepage":"https://github.com/Eppo-exp/js-client-sdk#readme","devDependencies":{"@microsoft/api-documenter":"^7.26.3","@microsoft/api-extractor":"^7.48.1","@types/chrome":"^0.0.268","@types/jest":"^29.5.11","@types/spark-md5":"^3.0.5","@typescript-eslint/eslint-plugin":"^5.13.0","@typescript-eslint/parser":"^5.13.0","eslint":"^8.17.0","eslint-config-prettier":"^10.1.1","eslint-import-resolver-typescript":"^3.6.3","eslint-plugin-import":"^2.25.4","eslint-plugin-prettier":"^5.2.1","eslint-plugin-promise":"^7.2.1","husky":"^9.1.7","jest":"^29.7.0","jest-environment-jsdom":"^29.7.0","lint-staged":"^15.4.1","prettier":"^3.4.2","terser-webpack-plugin":"^5.3.3","testdouble":"^3.20.2","ts-jest":"^29.1.1","ts-loader":"^9.3.1","ts-node":"^10.9.2","typescript":"^4.7.4","webpack":"^5.73.0","webpack-cli":"^6.0.1"},"dependencies":{"@eppo/js-client-sdk-common":"4.14.4"},"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"}')}}]); //# sourceMappingURL=44992-9aac7defbd1d2aa3.js.map