{"version":3,"sources":["../../../c3/utils/c3-util-logger/src/index.ts","../../../c3/utils/c3-util-lang/src/countValues.ts","../../../c3/utils/c3-util-lang/src/isDevelopment.ts","../../../c3/utils/c3-util-lang/src/invariant.ts","../../../c3/utils/c3-util-lang/src/isProduction.ts","../../../c3/utils/c3-util-lang/src/isObject.ts","../../../c3/utils/c3-util-lang/src/isEmpty.ts","../../../c3/utils/c3-util-lang/src/isFunction.ts","../../../c3/utils/c3-util-lang/src/isString.ts","../../../c3/utils/c3-util-lang/src/isUndefined.ts","../../../c3/utils/c3-util-lang/src/noop.ts","../../../c3/utils/c3-util-lang/src/nullToUndefined.ts","../../../c3/utils/c3-util-lang/src/number.ts","../../../c3/utils/c3-util-lang/src/once.ts","../../../c3/utils/c3-util-lang/src/strToBool.ts","../../../c3/utils/c3-util-lang/src/unique.ts","../../../c3/utils/c3-util-lang/src/memoize.ts","../../../c3/utils/c3-util-lang/src/constants.ts","../../../c3/utils/c3-util-lang/src/stringUtils.ts","../../../c3/utils/c3-util-lang/src/objectUtils.ts","../../../c3/utils/c3-util-browser/src/isStorageAvailable.ts","../../../c3/utils/c3-util-elmo-experiment/src/elmoExperiment.ts","../../../c3/utils/c3-util-browser/src/getDeviceAndNetworkInfo.ts","../../../c3/utils/c3-util-runtime/src/index.ts","../../../c3/utils/c3-shared-globals/src/globals.ts","../../../c3/utils/c3-shared-globals/src/enums.ts","../../../c3/utils/c3-util-browser/src/isWebView.ts","../../../c3/utils/c3-util-browser/src/localStorage.ts","../../../c3/utils/c3-util-browser/src/getDeviceType.ts","../../../c3/utils/c3-util-browser/src/isViewportSmall.ts","../../../c3/utils/c3-util-browser/src/params.ts","../../../c3/utils/c3-util-browser/src/isIframe.ts","../../../c3/utils/c3-util-browser/src/isPopup.ts","../../../c3/utils/c3-util-browser/src/getPerformanceTimingInfo.ts","../../../c3/utils/c3-util-browser/src/cookie.ts","../../../c3/utils/c3-util-logger/src/transitions.ts","../../../c3/utils/c3-util-logger/src/payloads.ts","../../../c3/utils/c3-util-logger/src/transactionDetails.ts","../../../c3/utils/c3-util-card/src/index.ts","../../../c3/utils/c3-util-logger/src/utils.ts","../../../c3/utils/c3-util-logger/src/fpti.ts","../../../c3/utils/c3-util-logger/src/cpl.ts","../../../c3/utils/c3-util-logger/src/initBeaver.ts","../../../c3/utils/c3-util-logger/src/logger.ts","../../../c3/utils/c3-util-logger/src/constants.ts","../../../c3/utils/c3-util-threed-ds/src/threeDSexp.ts","../../../c3/utils/c3-util-browser/src/index.ts","../../../c3/utils/c3-util-store/src/actions.ts","../../../c3/utils/c3-util-store/src/data/fundingOptions/validators.ts","../../../c3/utils/c3-util-store/src/data/fundingOptions/getters.ts","../../../c3/utils/c3-util-store/src/features.ts","../../../c3/utils/c3-util-store/src/operations.generated.tsx","../../../c3/utils/c3-util-store/src/defaultApolloCacheState.ts","../../../c3/utils/c3-util-store/src/constants.ts","../../../c3/utils/c3-util-store/src/featureCacheResolvers.ts","../../../c3/utils/c3-util-store/src/resolvers.ts","../../../c3/utils/c3-util-graphql/src/types.ts","../../../c3/utils/c3-util-graphql/src/getOperationName.ts","../../../c3/utils/c3-util-graphql/src/getOperationType.ts","../../../c3/utils/c3-util-graphql/src/isNetworkError.ts"],"names":["_process$env$NODE_ENV","countValues","array","finderFunction","reduce","total","obj","value","invariant","condition","message","toLowerCase","isObject","args","Object","prototype","toString","call","isEmpty","key","hasOwnProperty","Array","isArray","isFunction","isString","isUndefined","noop","nullToUndefined","fn","keys","result","numberWithCommas","replace","stripCommas","numberOnly","number","length","hasLeadingZeroes","slice","toNumber","decimals","parseFloat","toFixed","toPoints","toCurrency","convertToPoints","currencyValue","conversionFactor","convertToCurrency","pointsValue","once","context","ret","done","_len","arguments","_key","Function","apply","regex","strToBool","s","test","memoize","resultFn","isEqual","this","NON_DIGITS_GLOBAL","insertStringAt","str","idx","insert","form","normalize","uniqueStr","rand","Math","random","rand2","now","Date","floor","invert","inverted","entries","forEach","_ref","val","clean","recurse","cleaned","_ref2","isStorageAvailable","type","storage","window","x","setItem","removeItem","e","DOMException","code","name","ElmoTreatment","ElmoExperiment","payload","experimentId","experimentName","treatmentId","treatmentName","allocationPercent","featureId","resolvedTreatment","_payload$experiment_i","experiment_id","_payload$experiment_n","experiment_name","_payload$treatment_id","treatment_id","_payload$treatment_na","treatment_name","_payload$allocation_p","allocation_percent","baseExperimentName","resolveTreatment","_proto","logExperiment","logger","eligibility","featureIdLowerCased","state_name","transition_name","eligibility_reason","elmo_exp_id","elmo_trtmnt_id","isControl","CONTROL","getResolvedTreatment","setSettings","_ref2$isInternalReque","isInternalRequest","_ref2$queryParams","queryParams","_ref2$baseExperimentN","TREATMENTS","createFeatureExperiment","_ref4","defaultTreatmentName","experimentsFromServer","initWithDefaultTreatment","_ref3","indexOf","mapServerTreatmentName","getDeviceAndNetworkInfo","_window","_window$navigator","_window2","_document","_document$documentEle","_window3","_document2","_document2$documentEl","_window4","_window4$navigator","netInfo","navigator","connection","screen_width","innerWidth","document","documentElement","clientWidth","screen_height","innerHeight","clientHeight","network_type","network_effectiveType","effectiveType","network_downlink","downlink","network_downlinkMax","downlinkMax","network_roundTripTime","rtt","network_saveData","saveData","device_memory","STYLE_RE","fileToClassName","fileName","_client","globals","assign","fundingSource","user","ecToken","email","firstName","lastName","auth","state","access_token","claims","locality","country","language","directionality","geo","domain","cdnHostName","stagingHostName","uri","queryEndpoint","loggerEndpoint","fallbackEndpoint","authchallengeEndpoint","paycodePublicKey","useraction","fallback","endpoint","redirectOnError","widgetBundleUrls","cap","capBaseUri","deployEnv","features","experiments","isLinkAndPay","isScaRegion","mockedMode","northstar","commonWebFlows","returnParams","cookielessQueryParams","credit","productIdentifier","offerToken","newUser","isCreditSecondButton","checkWindow","__INITIAL_DATA__","initGlobals","dataScript","getElementById","parentNode","removeChild","updateGlobals","updatedGlobals","isTesting","getGlobals","getWidgetBundleUrls","getUser","getUserFullName","getToken","_getUser","getAuth","_getUser2","getAccessToken","getAuthState","getClaims","getCountry","getLocale","getDirectionality","getFallback","getUserAction","_window$xprops","xprops","commit","getIsResolveThreeDS","_globals","_globals$threeDS","threeDS","resolveContingency","getIsThreeDSError","_globals2","_globals2$threeDS","hasError","getThirdPartyResponse","_globals3","_globals3$threeDS","thirdPartyResponse","JSON","parse","getExperiments","getIsInternalRequest","getIsLinkAndPay","getIsScaRegion","getIsMockedMode","getIsNorthstar","getCredit","getFundingSource","getCommonWebFlows","getCookielessQueryParams","getClient","Error","setClient","client","Status","hasFeature","feature","getPayPalDomain","getCdnHostName","getStagingHostName","getPaycodePublicKey","rules","isWebView","userAgent","_navigator","some","hasLocalStorage","hasSessionStorage","LocalStorage","get","localStorage","getItem","sessionStorage","set","remove","clear","globalThis","UAPArser","isViewportSmall","_params","resetParams","newParams","params","_window$location","_window$location$sear","_params2","location","search","_isIframe","isIframe","top","self","setIsIframeOnlyInTests","isPopup","Boolean","opener","getTimeToInteract","_window$performance","_window$performance$t","startTime","performance","timing","navigationStart","getPageLoadTime","_window2$performance","time","loadEventEnd","loadEventStart","areCookiesDisabled","cookieEnabled","LOG_TRANSITIONS","_objectWithoutPropertiesLoose","source","excluded","i","target","sourceKeys","INCENTIVES_PAYLOAD","action","incentives","GAC_PAYLOAD","_Object$assign","rest","review","REVIEW_PAYLOAD","_Object$assign2","DONATION_PAYLOAD","_ref5","_ref6","ERROR_PAYLOAD","_ref7","desc","int_err_code","int_err_desc","error_source","ADD_CARD_PAYLOAD","_ref8","_Object$assign3","addCard","ADD_BANK_PAYLOAD","_ref10","_Object$assign5","addBank","ADD_BANK_OR_CARD_PAYLOAD","_ref11","_Object$assign6","addBankOrCard","ADD_SHIPPING_PAYLOAD","_ref12","_Object$assign7","addShipping","ADD_PRIMARY_ADDRESS_PAYLOAD","_ref13","_Object$assign8","addPrimaryAddress","SEND_SHARED_CARD_CONSENT","_ref14","_ref15","sharedCardConsentPage","SHARED_CARD_WAIT","_ref16","_ref17","sharedCardWaitPage","CPA_PAYLOAD","_ref18","_Object$assign9","isPayNowUserActionFlow","stateName","_ref18$isUpdateBtn","isUpdateBtn","button_text","GENERIC_PAYLOAD","_ref20","_Object$assign11","REVIEW_CPA_PAYLOAD","_ref21","_Object$assign12","customerPresentAuth","ADD_CARD_CPA_PAYLOAD","_ref22","_Object$assign13","TRANSITION_PAYLOAD","_ref23","_Object$assign14","from","to","CVV_CONTINGENCY_PAYLOAD","_ref24","_Object$assign15","cvvContingency","SCA_CONTINGENCY_PAYLOAD","_ref25","_Object$assign16","scaContingency","TRUSTED_BENEFICIARY_PAYLOAD","_ref26","_Object$assign17","trustedBeneficiary","CLEAR_CREDIT_OPTION_PAYLOAD","_ref27","_Object$assign18","clearCreditOption","PAYCODE_REQUIRED_PAYLOAD","_ref28","_Object$assign19","paycodeContingency","FORM_INTERACTION_PAYLOAD","data","field","isValid","errorCode","event_name","int_error_code","int_error_desc","includes","canLogValue","THREE_DS_PAYLOAD","_ref29","_Object$assign20","threeDSContingency","RETURN_PAYLOAD","_ref30","_Object$assign21","backToMerchant","LINK_AND_PAY_PAYLOAD","_ref31","_Object$assign22","linkAndPay","SEPA_CONTINGENCY_PAYLOAD","_ref32","_Object$assign23","sepaContingency","INSTALLMENTS_REVIEW_PAYLOAD","_ref33","_Object$assign24","INSTALLMENTS_PAYLOAD","_ref34","_Object$assign25","installments","OTP_CONFIRMATION_PAYLOAD","_ref35","_Object$assign26","otpConfirmation","DONE_PAGE_PAYLOAD","_ref36","_Object$assign27","donePage","context_type","INVENTORY_SOLDOUT_PAYLOAD","_ref38","_ref39","inventorySoldOut","SHIPPING_AND_TAX_PAYLOAD","_ref40","_Object$assign29","shippingAndTaxMethod","TRANSACTION_DETAILS","checkoutSession","_checkoutSession$cart","_checkoutSession$cart2","_checkoutSession$cart3","_checkoutSession$merc","cart","amounts","currencyCode","seller_id","merchant","merchantId","amt","currency_code","_VALIDATOR_TO_TYPE_MA","CardIssuerDefault","BANK_NAME_MAP","BANAMEX","BANCOAZTECA","BANORTE","BBVA","HSBC","INBURSA","ITAU","SANTANDER","CARD_ART_MAP","AMEX","CB_NATIONALE","CETELEM","CHINA_UNION_PAY","COFINOGA","DEFAULT","DINERS","DISCOVER","ELO","HIPER","HIPERCARD","JCB","MAESTRO","MASTER_CARD","RUPAY","VISA","CBNATIONALE","MASTERCARD","SWITCH","CUP","size","gaps","lengths","niceType","patterns","VALIDATOR_TO_TYPE_MAP","AMERICAN_EXPRESS","Amex","DINERS_CLUB","Diners","Discover","Elo","Hiper","Hipercard","Jcb","MasterCard","Maestro","UNIONPAY","ChinaUnionPay","Visa","CbNationale","cetelem","Cetelem","cofidis","Cofidis","cofinoga","Cofinoga","TYPE_TO_VALIDATOR_MAP","DEFAULT_TYPE","Default","getCardTypeInfo","cardType","mapped","typeInfo","getCardType","allowedTypes","_creditCardType","detectCardType","validateCardNumber","cardTypeInfo","allowedCardIssuers","_validation","_validation2","validation","maxLength","max","validLength","validLuhn","isPotentiallyValid","_result$card","card","isAllowed","invalid","invalidType","maskCard","splicePoint","shouldAutoDetectCardType","definitions","isCupMultiBrandCard","validateDate","_ref$expiryOffset","expiryOffset","inputValue","_ref$isExpiry","isExpiry","_ref$isIssueDate","isIssueDate","_ref$issueOffset","issueOffset","inputYear","Number","substr","inputMonth","currentMonth","getMonth","currentYear","getFullYear","isCurrentYear","isInvalidMonth","isInvalidYear","isInvalidCombo","isInvalidDate","cardDefinitions","brand","shouldDisplayPhoneField","_definitions$find$con","_definitions$find","_definitions$find$con2","find","def","confirmationMethods","method","shouldHideCvvAndExpiryForDebitCard","primaryCard","classifications","DebitCard","isCupDebitCard","shouldDisplayDateOfBirthField","_name","_appName","sanitizeLogPayload","filter","acc","toUpperCase","_getDeviceAndNetworkI2","COMMON_PAYLOAD","buyer_type","context_id","design","enrich","host_name","server_epoch_timestamp","serverside_data_source","scrn_height","EXPERIENCE_PAYLOAD","experience","market","planning_activity_handle","api_integration_type","app_int_type","integration_type","event","locale","client_elapsed","parseInt","client_epoch_ts","sanitizedPayload","beaverInfo","info","track","logPerformance","customParams","_window$PAYPAL","_window$PAYPAL$analyt","PAYPAL","analytics","deviceAndNetworkInfo","timeToInteract","restParams","view","t11","et","pt","title","ru","referrer","cd","screen","colorDepth","sw","width","sh","height","dw","devicePixelRatio","dh","bw","bh","tt","error","token","externalName","internalName","experienceName","_ref$silent","incontext","silent","_ref$initial_state_na","initial_state_name","flushInterval","debounceInterval","sizeLimit","heartbeat","heartbeatInterval","heartbeatMaxThreshold","heartbeatTooBusy","heartbeatTooBusyThreshold","autoLog","logUnload","logUnloadSync","toToken","amplitude","native_xo","_window2$xprops","user_id","buttonSessionID","msg","console","warn","init","beaverConfiguration","fptiConfiguration","_ref$common","common","comp","feed_name","fpti","cpl","cal","_beaverLogger$method","concat","transition","flush","TAG","STATE_NAME","updateCard","addBilling","bankAsDebit","bankAsDebitDisallowed","linkGuestToMember","restrictedAccount","xoExitState","TRANSITION_NAME","render","approvePayment","errorApprovePayment","manageFi","notyou","webLLSOptOut","webLLSOptOutSuccess","webLLSOptOutError","selectCreditOffer","creditSecondButtonRedirect","selectCreditReuseBanner","showCreditReuseBanner","showCreditOffer","logout","ineligible","cancel","addFiOneTouch","addFi","errorAddFi","processAddFi","successAddFi","errorUpdateFi","processUpdateFi","successUpdateFi","cancelAddFi","renderBillingAddress","enableAddCardSubmit","useIBAN","useBank","creditLink","processAddBank","successAddBank","errorAddBank","processAddBankCandidate","successAddBankCandidate","errorAddBankCandidate","renderBankOrCard","onClickBankTab","onClickCardTab","cancelBilling","selectBilling","errorAddFiBilling","successAddFiBilling","processAddFiBilling","errorUpdateFiBilling","successUpdateFiBilling","processUpdateFiBilling","changeShipping","selectShipping","cancelAddShipping","processAddShipping","successAddShipping","errorAddShipping","processAddPrimaryAddress","successAddPrimaryAddress","errorAddPrimaryAddress","needCreditCardAfterAddPrimaryAddress","enableSaveShipping","selectPreferredShippingAddress","unselectPreferredShippingAddress","prepareAddNormalizedShippingAddress","processAddNormalizedShippingAddress","successAddNormalizedShippingAddress","errorFormattingAddress","errorCreatingGriffinHandler","errorFetchingGriffinMetadata","errorAddNormalizedShippingAddress","prepareSaveSharedCardConsent","processSaveSharedCardConsent","successSaveSharedCardConsent","processCancelSharedCardFromContentLink","prepareWaitAfterSharedCardConsent","successAfterSharedCardWaitReplan","errorAfterSharedCardReplan","addShippingOneTouch","prepareDeclinedFi","retryDeclinedFi","updateDeclinedFi","processPreAuth","preparePreAuth","processDeclinedFi","prepareRetryFi","prepareUpdateFi","processApprovePaymentForUpdatedFi","errorApprovePaymentForUpdatedFi","processUpdateBtn","prepareDisallowedFi","renderCvv","submitCvv","successCvvContingency","cancelCvvContingency","errorCvvContingency","renderThreeDS","initThreeDS","redirectThreeDS","cancelThreeDS","initThreeDsFail","timeoutThreeDs","successThreeDSInit","processThreeDSFullPage","processThreeDS","successThreeDS","errorThreeDSContingency","errorThreeDSCardinalToken","initReviewBeforeLogin","renderReviewBeforeLogin","cancelReviewBeforeLogin","loginSuccess","loginError","renderTrustedBeneficiary","trustedBeneficiaryOptedIn","trustedBeneficiaryNoThanks","trustedBeneficiaryError","lowValueExemption","buyerNotPresentExemption","isTrustedBeneficiaryExemption","referenceTxnExemption","renderIncentives","expandIncentives","prepareRtb","processRtbAgree","processRtbSwitch","prepareRtbCheck","prepareGAC","processGAC","selectFiLink","renderLinkAndPay","successLinkAndPay","errorLinkAndPay","processLinkAndPayWithIncentive","errorStickyFI","renderSepa","submitSepa","successSepaContingency","cancelSepaContingency","errorSepaContingency","processInstallmentOptions","prepareInstallments","processInstallments","errorBillingAgreement","showBillingAgreement","donationShareAddress","donationNotShareAddress","processClose","processBack","prepareBankAsDebit","processBankAsDebit","prepareBankAsDebitDisallowed","processBankAsDebitDisallowed","renderOTPConfirmation","submitOTPConfirmation","successOTPConfirmation","cancelOTPConfirmation","errorOTPConfirmation","sendOTPCode","errorSendOTPCode","timeExpiredOTP","renderOTPPhoneNumber","prepareAddPotentialCardCsc","processAddPotentialCardCsc","toolTipShown","toolTipHidden","processCheckCard","prepareRestrictionError","processRestrictionError","prepareDonePage","detailClicked","processDonePage","exitSpinner","splitBalanceOptIn","splitBalanceOptOut","splitBalanceHasAmount","splitBalanceCheckOut","continueShoppingClicked","processSelectShippingMethod","shippingMethodRender","shippingMethodCancel","processShippingMethodWith","_getGlobals","_getGlobals$threeDS","experiment","experiences","exp","v","isThreeDSPaymentExperience","threeDsExperienceVars","defineProperty","enumerable","_temp2","resources","preventDefault","stopPropagation","Promise","all","map","_temp","query","_ref$context","variables","id","undefined","selectedFundingOptionId","mutate","mutation","isPadPlan","_ref$fundingSources","fundingSources","isPadFundingSource","fundingMethodType","fundingInstrument","_fundingInstrument","PaypalCredit","_fundingInstrument2","instrumentSubType","Cryptocurrency","isSplitBalancePlan","_temp3","_ref5$fundingSources","isNotIncentive","isPayPalBalance","_fundingSource$fundin","getSoloPlan","fundingOption","_fundingOption$allPla","allPlans","plan","getSplitPlan","_fundingOption$allPla2","_ref$fundingInstrumen","_ref$allPlans","isBank","getPadDate","padPlan","delayedPaymentDate","getPadNumberOfDelayedDays","_getPadDate","y","M","d","month","today","timestampDifference","UTC","approxResult","ceil","daysOfDelay","minDiffIdx","day","currDiff","abs","_ref2$fundingSources","_fundingOption$allPla4","_ref3$fi","fi","_ref3$payContext","payContext","payState","useSplitBalance","usePayAfterDelivery","_ref5$allPlans","planCriteria","assertions","every","flag","_ref6$","useFlagForPlan","assertion","planPredicate","getBackupFundingInstrumentFromSoloPlan","_getSoloPlan","backupFundingInstrument","getAmountFromSoloPlan","_getSoloPlan2","_getSoloPlan2$funding","_getSoloPlan2$funding2","amount","getDefaultSelectedFundingSources","fundingOptions","_plan$fundingSources","selectedPlan","_fundingOption$allPla5","_fundingOption$allPla6","isSelected","getDefaultSelectedPlan","getDefaultSelectedFundingInstrument","types","_fundingSources$find$","_fundingSources$find","_fundingSources$","getSelectedFundingOption","option","getSelectedFundingInstrument","getSelectedFundingSource","_temp4","_ref8$plan","fundingContingencies","_ref8$fi","idToMatch","_fi$allPlans","_temp5","_ref9$fundingInstrume","isSingleFundingOptionByType","_temp6","_fundingOptions$","_fundingOptions$$fund","_ref10$fundingOptions","getFundingSourceFromPlanByType","_temp7","_ref11$plan","_ref11$type","_plan$fundingSources2","getPreferredFi","isPreferred","getCryptoFundingInstruments","fundingIntruments","_plan$fundingSources3","getIncompleteDisallowedInstruments","disallowedInstruments","reason","getFundingOptionByFundingInstrumentType","fundingInstrumentType","_fundingOptions","_ref13$allPlans","_plan$fundingSources4","_fundingSource$fundin2","countries","param","accepted","visible","eligible","__typename","setFeatures","feat","AddressAutoCompleteType","AddressNormalizationProcessModes","AddressNormalizationScopes","AddressType","APICallStatus","AuthState","BalancePreference","BalanceType","BankAccountType","BillingChargePattern","BillingIntent","BillingPaymentExperience","BillingType","ButtonFundingSourceType","ButtonLabels","BuyerIntentType","CardAuthType","CardIssuerType","CardProductClass","CardTransactionType","CartCategory","CartIntent","CartState","CheckoutContentCountryCode","CheckoutContentLanguageCode","CheckoutCurrencyConversionType","CheckoutExperienceType","CheckoutFlow","CheckoutInstallmentOptionsTerm","CheckoutSessionState","CheckoutSessionType","CheckoutSolutionType","CheckoutUserAction","ConstraintType","CountryCodes","CreditOfferCategoryType","CreditOfferType","CreditPaymentType","CreditPresentmentType","CreditProductType","CryptocurrencySymbol","DeclinedInstrumentType","Directionality","ElmoRealTimeFilterValues","EnrollmentStatusType","ExperienceChannel","FullWalletStatus","FundingButtonType","FundingEligibilityIntent","FundingInstrumentMethodType","FundingInstrumentSubType","FundingInstrumentType","FundingOptionGroupingType","FundingOptionSubType","FundingOptionType","FundingSourceType","Gender","GoogleAddressFields","GooglePlacesType","HTTPMethod","IdentityDocumentType","ImageType","Incentives","InstallmentType","InstitutionCategory","InstrumentClassification","IntegrationArtifactType","KnowYourCustomerField","MarketingOfferPhase","MarketingOfferStatus","MarketingOfferType","NativeSDKPrivilege","Occupation","OfferPrograms","OnboardingExperienceType","PayerDisclaimer","PayPalBusinessRegions","PhoneConfirmationState","PhoneInputType","PhoneType","ProductChannel","ProductCodeType","ProductFlowType","ProfileImageType","ResolveThreeDsContingencyStatus","RewardsConversionType","RewardsRedemptionType","RewardsRoundingModeType","SecureCustomerAuthenticationExemptReason","SecureCustomerAuthenticationStatus","ShippingMethodType","ShippingOptionsSource","SignatureVerificationStatus","SquareImageSize","SupportedCardsType","SupportedCountryCurrencies","SupportedPaymentMethodsType","Threedsapi","ThreedsConfirmationMethod","ThreedsContingencyReasonType","ThreedsContingencySourceType","ThreedsEntryPoint","ThreedsIntegrationArtifacts","ThreedsPaymentDevice","ThreeDSPaymentExperience","ThreedsProductCode","ThreedsProductFeature","ThreedsProductFlow","ThreedsUserExperienceFlow","TrackingTagType","TransactionState","UserExperienceFlowType","UserRole","getFeatures","contingencies","defaultOptions","FeatureFragmentDoc","kind","typeCondition","selectionSet","selections","getSingleFeatureQueryDocument","operation","variableDefinitions","variable","directives","usegetSingleFeatureQuery","baseOptions","options","getContingenciesQueryDocument","FeatureFlagsQueryDocument","featureQueryResolvers","cache","readFragment","fragment","modifyFeature","enabled","_payload$data","featureMutationResolvers","updateFeatureFlagResolver","_","writeFragment","updateFeaturesFlagResolver","readQuery","err","f","writeQuery","updateContingencyResolver","_payload$data2","_payload$data2$data","contingency","push","resolvers","Mutation","Query","IS_STICKY_ENABLED","SPINNER_TYPES","THREE_DS_PROCESSING","RETURN_TO_MERCHANT","PROCESS_CARD","PROCESS_INCENTIVE","CRYPTO_SELLING","APPROVE_PAYMENT","THREE_DS_START","THREE_DS_PROCESS","THREEE_DS_END","CHECKOUT_BUTTON_STATES","INITIAL","PENDING","RESOLVED","isOperationDefinition","getOperationName","doc","definition","getOperationType","first","isNetworkError","_ref$graphQLErrors","graphQLErrors","_ref$networkError","networkError","statusCode"],"mappings":"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I,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KA7PvB,CA8PGA,KAAiBA,GAAe,KAMnC,SAAWC,GACTA,EAA6B,IAAI,MACjCA,EAA+B,MAAI,QAFrC,CAGGA,KAA4BA,GAA0B,KAKzD,SAAWC,GACTA,EAAsB,KAAI,OAC1BA,EAAsB,KAAI,OAC1BA,EAAoB,GAAI,KACxBA,EAAsB,KAAI,OAC1BA,EAAqB,IAAI,MACzBA,EAAqB,IAAI,MAN3B,CAOGA,KAAoBA,GAAkB,KASzC,SAAWC,GACTA,EAA+B,YAAI,eACnCA,EAA+B,YAAI,cAFrC,CAGGA,KAAsBA,GAAoB,KAM7C,SAAWC,GACTA,EAA6B,MAAI,QACjCA,EAA8B,OAAI,SAFpC,CAGGA,KAA0BA,GAAwB,KAKrD,SAAWC,GACTA,EAA0C,uBAAI,2BAC9CA,EAAuB,IAAI,MAC3BA,EAAuB,IAAI,MAC3BA,EAAuB,IAAI,MAJ7B,CAKGA,KAAsBA,GAAoB,KAS7C,SAAWC,GACTA,EAA0B,IAAI,MAC9BA,EAA0B,IAAI,MAC9BA,EAA0B,IAAI,MAC9BA,EAA0B,IAAI,MAJhC,CAKGA,KAAyBA,GAAuB,KASnD,SAAWC,GACTA,EAAyC,iBAAI,oBAC7CA,EAA0C,kBAAI,qBAC9CA,EAAgC,QAAI,UAHtC,CAIGA,KAA2BA,GAAyB,KAKvD,SAAWC,GACTA,EAAoB,IAAI,MACxBA,EAAoB,IAAI,MAF1B,CAGGA,KAAmBA,GAAiB,KAMvC,SAAWC,GACTA,EAAqC,WAAI,cACzCA,EAA0C,gBAAI,oBAC9CA,EAAgC,MAAI,SAHtC,CAIGA,KAA6BA,GAA2B,KAS3D,SAAWC,GACTA,EAA0B,IAAI,MAC9BA,EAAyB,GAAI,KAC7BA,EAAkC,YAAI,cACtCA,EAA6B,OAAI,SACjCA,EAA8B,QAAI,UALpC,CAMGA,KAAyBA,GAAuB,KAWnD,SAAWC,GACTA,EAA0B,OAAI,SAC9BA,EAA6B,UAAI,YACjCA,EAAyB,MAAI,QAC7BA,EAAwB,KAAI,OAC5BA,EAAuB,IAAI,MAL7B,CAMGA,KAAsBA,GAAoB,KAM7C,SAAWC,GACTA,EAA2B,SAAI,YAC/BA,EAAsB,IAAI,MAC1BA,EAA0B,QAAI,WAHhC,CAIGA,KAAqBA,GAAmB,KAQ3C,SAAWC,GACTA,EAA0B,OAAI,SAC9BA,EAAwB,KAAI,OAC5BA,EAA0B,OAAI,SAC9BA,EAA4B,SAAI,WAChCA,EAAyB,MAAI,QAC7BA,EAAwB,KAAI,OAC5BA,EAAwB,KAAI,OAC5BA,EAAyB,MAAI,QAC7BA,EAA8B,WAAI,aAClCA,EAA2B,QAAI,UAC/BA,EAAuB,IAAI,MAC3BA,EAA0B,OAAI,SAC9BA,EAA0B,OAAI,SAC9BA,EAAuB,IAAI,MAC3BA,EAA2B,QAAI,UAC/BA,EAA6B,UAAI,YACjCA,EAAwB,KAAI,OAC5BA,EAAwB,KAAI,OAC5BA,EAA2B,QAAI,UAC/BA,EAAwB,KAAI,OAC5BA,EAA0B,OAAI,SAC9BA,EAA0B,OAAI,SAC9BA,EAA+B,YAAI,cACnCA,EAA4B,SAAI,WAxBlC,CAyBGA,KAAsBA,GAAoB,KAM7C,SAAWC,GACTA,EAA+B,KAAI,OACnCA,EAAkC,QAAI,UACtCA,EAAoC,UAAI,YACxCA,EAAgC,MAAI,QACpCA,EAAmC,SAAI,WACvCA,EAAuC,aAAI,eAN7C,CAOGA,KAA6BA,GAA2B,KAM3D,SAAWC,GACTA,EAAqC,QAAI,UACzCA,EAAqC,QAAI,UACzCA,EAAoC,OAAI,SACxCA,EAAoC,OAAI,SAJ1C,CAKGA,KAAgCA,GAA8B,KAKjE,SAAWC,GACTA,EAAmC,SAAI,WACvCA,EAAkC,QAAI,UACtCA,EAAkC,QAAI,UACtCA,EAAiC,OAAI,SACrCA,EAAgC,MAAI,QACpCA,EAAiC,OAAI,SACrCA,EAAkC,QAAI,UACtCA,EAAmC,SAAI,WACvCA,EAAoC,UAAI,YACxCA,EAAgD,sBAAI,0BACpDA,EAAkD,wBAAI,4BACtDA,EAAyC,eAAI,iBAC7CA,EAAkC,QAAI,UAbxC,CAcGA,KAA6BA,GAA2B,KAc3D,SAAWC,GACTA,EAA4B,KAAI,OAChCA,EAA4B,KAAI,OAChCA,EAA+B,QAAI,UACnCA,EAA8B,OAAI,SAClCA,EAAiC,UAAI,YALvC,CAMGA,KAA0BA,GAAwB,KASrD,SAAWC,GACTA,EAAqC,UAAI,YAD3C,CAEGA,KAA8BA,GAA4B,KAQ7D,SAAWC,GACTA,EAA6B,OAAI,SACjCA,EAAsC,gBAAI,mBAC1CA,EAA6B,OAAI,SACjCA,EAAsC,gBAAI,mBAC1CA,EAAyC,mBAAI,uBAL/C,CAMGA,KAAyBA,GAAuB,KAKnD,SAAWC,GACTA,EAA+B,YAAI,eACnCA,EAA8B,WAAI,cAClCA,EAAkC,eAAI,iBACtCA,EAA6B,UAAI,aACjCA,EAA6B,UAAI,YACjCA,EAAiC,cAAI,iBACrCA,EAAgC,aAAI,gBACpCA,EAA0C,uBAAI,4BAC9CA,EAA2B,QAAI,UAC/BA,EAA4B,SAAI,YAVlC,CAWGA,KAAsBA,GAAoB,KAU7C,SAAWC,GACTA,EAAuB,IAAI,MAD7B,CAEGA,KAAsBA,GAAoB,KAS7C,SAAWC,GACTA,EAAiB,SAAI,YACrBA,EAAa,KAAI,OACjBA,EAAe,OAAI,SACnBA,EAAsB,cAAI,iBAJ5B,CAKGA,KAAWA,GAAS,KAgBvB,SAAWC,GACTA,EAAsC,iBAAI,oBAC1CA,EAAgC,WAAI,cACpCA,EAAsC,iBAAI,oBAH5C,CAIGA,KAAwBA,GAAsB,KAKjD,SAAWC,GACTA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAAgC,cAAI,gBACpCA,EAA0B,QAAI,UAC9BA,EAAyB,OAAI,SAL/B,CAMGA,KAAqBA,GAAmB,KAM3C,SAAWC,GACTA,EAAgB,IAAI,MACpBA,EAAiB,KAAI,OACrBA,EAAiB,KAAI,OACrBA,EAAgB,IAAI,MACpBA,EAAmB,OAAI,SACvBA,EAAoB,QAAI,UACxBA,EAAoB,QAAI,UACxBA,EAAkB,MAAI,QACtBA,EAAqB,SAAI,WAT3B,CAUGA,KAAeA,GAAa,KAY/B,SAAWC,GACTA,EAA0B,IAAI,MAC9BA,EAAqC,eAAI,kBACzCA,EAAyC,mBAAI,uBAC7CA,EAAiC,WAAI,cACrCA,EAAqC,eAAI,kBACzCA,EAAoC,cAAI,kBACxCA,EAA8C,wBAAI,4BAClDA,EAA0C,oBAAI,wBARhD,CASGA,KAAyBA,GAAuB,KAUnD,SAAWC,GACTA,EAAe,IAAI,MACnBA,EAAe,IAAI,MACnBA,EAAe,IAAI,MAHrB,CAIGA,KAAcA,GAAY,KAK7B,SAAWC,GACTA,EAAuB,WAAI,aAC3BA,EAAkB,MAAI,QAFxB,CAGGA,KAAeA,GAAa,KAS/B,SAAWC,GACTA,EAAwB,OAAI,SAC5BA,EAA0B,SAAI,WAFhC,CAGGA,KAAoBA,GAAkB,KAKzC,SAAWC,GACTA,EAA6B,QAAI,UACjCA,EAA4B,OAAI,SAChCA,EAA+B,UAAI,YACnCA,EAA4B,OAAI,SAChCA,EAA6B,QAAI,UACjCA,EAA2B,MAAI,QAC/BA,EAAoC,eAAI,kBAP1C,CAQGA,KAAwBA,GAAsB,KAMjD,SAAWC,GACTA,EAA+B,KAAI,OACnCA,EAA8C,oBAAI,yBAClDA,EAAqC,WAAI,cACzCA,EAAqC,WAAI,cACzCA,EAAoC,UAAI,aACxCA,EAAyC,eAAI,kBAC7CA,EAAmC,SAAI,YACvCA,EAAkC,QAAI,UACtCA,EAA4C,kBAAI,sBAChDA,EAAsC,YAAI,eAC1CA,EAAiD,uBAAI,4BACrDA,EAAkC,QAAI,UACtCA,EAA8B,IAAI,MAClCA,EAAkC,QAAI,UAdxC,CAeGA,KAA6BA,GAA2B,KAS3D,SAAWC,GACTA,EAAqC,YAAI,gBACzCA,EAA8B,KAAI,QAClCA,EAA8B,KAAI,QAClCA,EAAwC,eAAI,kBAC5CA,EAAmC,UAAI,aACvCA,EAA8B,KAAI,OANpC,CAOGA,KAA4BA,GAA0B,KASzD,SAAWC,GACTA,EAAmC,YAAI,gBACvCA,EAA8B,OAAI,SAClCA,EAA8C,uBAAI,2BAClDA,EAA4C,qBAAI,yBAChDA,EAAmC,YAAI,cACvCA,EAAkC,WAAI,aACtCA,EAAoC,aAAI,iBACxCA,EAAuD,gCAAI,qCAC3DA,EAAqD,8BAAI,mCAT3D,CAUGA,KAA0BA,GAAwB,KASrD,SAAWC,GACTA,EAA6B,QAAI,UACjCA,EAA+B,UAAI,YACnCA,EAA6B,QAAI,UACjCA,EAAoC,eAAI,kBACxCA,EAAkC,aAAI,gBACtCA,EAAoC,eAAI,kBACxCA,EAAkC,aAAI,gBAPxC,CAQGA,KAAwBA,GAAsB,KAQjD,SAAWC,GACTA,EAA4B,MAAI,QAChCA,EAA8B,QAAI,UAFpC,CAGGA,KAAyBA,GAAuB,KAKnD,SAAWC,GACTA,EAA0B,MAAI,QAC9BA,EAAkC,cAAI,gBACtCA,EAAqC,iBAAI,oBACzCA,EAA2B,OAAI,SAJjC,CAKGA,KAAuBA,GAAqB,KAa/C,SAAWC,GACTA,EAAwC,oBAAI,wBAC5CA,EAAwC,oBAAI,wBAC5CA,EAAiC,aAAI,gBAHvC,CAIGA,KAAuBA,GAAqB,KAM/C,SAAWC,GACTA,EAAuB,WAAI,aAC3BA,EAA2B,eAAI,iBAC/BA,EAA2B,eAAI,mBAC/BA,EAAqB,SAAI,WACzBA,EAA2B,eAAI,iBAC/BA,EAA4B,gBAAI,mBAChCA,EAAsB,UAAI,YAC1BA,EAA+B,mBAAI,uBACnCA,EAAwB,YAAI,cAC5BA,EAAoB,QAAI,UACxBA,EAA8B,kBAAI,qBAClCA,EAAuB,WAAI,aAC3BA,EAAmB,OAAI,SACvBA,EAAwB,YAAI,cAC5BA,EAA2B,eAAI,kBAC/BA,EAAqB,SAAI,WACzBA,EAAkB,MAAI,QACtBA,EAA0B,cAAI,gBAC9BA,EAAsB,UAAI,YAC1BA,EAAsB,UAAI,aAC1BA,EAAuB,WAAI,aAC3BA,EAAqB,SAAI,WACzBA,EAAqB,SAAI,WACzBA,EAAkB,MAAI,QACtBA,EAA6B,iBAAI,qBACjCA,EAAoB,QAAI,UACxBA,EAAuB,WAAI,aAC3BA,EAAkB,MAAI,QACtBA,EAA2B,eAAI,iBAC/BA,EAAmB,OAAI,SA9BzB,CA+BGA,KAAeA,GAAa,KAM/B,SAAWC,GACTA,EAA2B,YAAI,eADjC,CAEGA,KAAkBA,GAAgB,KAKrC,SAAWC,GACTA,EAAgC,MAAI,QACpCA,EAAiC,OAAI,UAFvC,CAGGA,KAA6BA,GAA2B,KAS3D,SAAWC,GACTA,EAA2B,UAAI,YADjC,CAEGA,KAAoBA,GAAkB,KASzC,SAAWC,GACTA,EAA4B,KAAI,OAChCA,EAA0B,GAAI,KAC9BA,EAA4B,KAAI,OAChCA,EAA6B,MAAI,QACjCA,EAA0B,GAAI,KALhC,CAMGA,KAA0BA,GAAwB,KAMrD,SAAWC,GACTA,EAAgC,QAAI,UACpCA,EAAkC,UAAI,YACtCA,EAAgC,QAAI,UAHtC,CAIGA,KAA2BA,GAAyB,KAMvD,SAAWC,GACTA,EAAqB,KAAI,OACzBA,EAAuB,OAAI,SAC3BA,EAAqB,KAAI,OACzBA,EAAyB,SAAI,WAC7BA,EAAgC,gBAAI,mBALtC,CAMGA,KAAmBA,GAAiB,KASvC,SAAWC,GACTA,EAAgB,KAAI,OACpBA,EAAgB,KAAI,OACpBA,EAAkB,OAAI,SACtBA,EAAe,IAAI,MACnBA,EAAiB,MAAI,QALvB,CAMGA,KAAcA,GAAY,KAY7B,SAAWC,GACTA,EAAoB,IAAI,MACxBA,EAA0B,UAAI,aAC9BA,EAA0B,UAAI,aAHhC,CAIGA,KAAmBA,GAAiB,KAKvC,SAAWC,GACTA,EAAiC,gBAAI,mBACrCA,EAAyC,wBAAI,4BAC7CA,EAAkC,iBAAI,qBACtCA,EAAmC,kBAAI,qBACvCA,EAAsC,qBAAI,wBAL5C,CAMGA,KAAoBA,GAAkB,KAYzC,SAAWC,GACTA,EAAqC,oBAAI,wBACzCA,EAA4B,WAAI,cAChCA,EAA2D,0CAAI,iDAC/DA,EAAqD,oCAAI,0CACzDA,EAAkD,iCAAI,sCACtDA,EAAyC,wBAAI,6BAC7CA,EAAoC,mBAAI,uBACxCA,EAAwB,OAAI,SAR9B,CASGA,KAAoBA,GAAkB,KAUzC,SAAWC,GACTA,EAAsB,IAAI,MAC1BA,EAAqB,GAAI,KACzBA,EAAoB,EAAI,IACxBA,EAAoB,EAAI,IACxBA,EAAoB,EAAI,IACxBA,EAAqB,GAAI,KACzBA,EAAsB,IAAI,MAC1BA,EAAuB,KAAI,OAC3BA,EAAyB,OAAI,SAC7BA,EAAyB,OAAI,SAC7BA,EAAyB,OAAI,SAC7BA,EAAyB,OAAI,SAC7BA,EAAyB,OAAI,SAC7BA,EAAyB,OAAI,SAC7BA,EAAyB,OAAI,SAC7BA,EAAyB,OAAI,SAC7BA,EAAyB,OAAI,SAC7BA,EAAyB,OAAI,SAC7BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC9BA,EAA0B,QAAI,UAC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AgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MACpCA,EAAgC,IAAI,MAC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","file":"js/main~493df0b3.fc81c977.js","sourcesContent":["export * from './logger';\nexport * from './types';\nexport * from './transitions';\nexport * from './payloads';\nexport * from './constants';\nexport * from './transactionDetails';","export var countValues = function countValues(array, finderFunction) {\n return array.reduce(function (total, obj) {\n var value = finderFunction(obj);\n total[value] ? total[value]++ : total[value] = 1;\n return total;\n }, {});\n};","var _process$env$NODE_ENV;\n\nexport var isDevelopment = ((_process$env$NODE_ENV = process.env.NODE_ENV) === null || _process$env$NODE_ENV === void 0 ? void 0 : _process$env$NODE_ENV.toLowerCase()) === 'development';","/**\n * Use invariant() to assert state which your program assumes to be true otherwise an error\n * will be throw during ONLY either in `development` OR `test` mode\n *\n * @param {Boolean} condition\n * @param {String} [message='Error'] optional message parameter defaults to `Error`\n * @returns {void|Error}\n */\nexport function invariant(condition, message) {\n if (message === void 0) {\n message = 'Error';\n }\n\n if (process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test') {\n if (!condition) {\n throw new Error(message);\n }\n }\n}","var _process$env$NODE_ENV;\n\nexport var isProduction = ((_process$env$NODE_ENV = process.env.NODE_ENV) === null || _process$env$NODE_ENV === void 0 ? void 0 : _process$env$NODE_ENV.toLowerCase()) === 'production';","/**\n * @param {any} args The argument you're trying to inspect\n * @returns {Boolean} Return true if argument is an Object\n */\nexport function isObject(args) {\n return Object.prototype.toString.call(args) === '[object Object]';\n}","import { isObject } from './isObject';\n/**\n * @param {Object} obj\n * @returns {Boolean}\n */\n\nexport function isEmpty(obj) {\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) return false;\n }\n\n return isObject(obj) || Array.isArray(obj);\n}","/**\n * @param {any} args The argument you're trying to inspect\n * @returns {Boolean} Return true if argument is a function\n */\nexport function isFunction(args) {\n return Object.prototype.toString.call(args) === '[object Function]';\n}","/**\n * @param {any} args The argument you're trying to inspect\n * @returns {Boolean} Return true if argument is a string\n */\nexport function isString(args) {\n return typeof args === 'string';\n}","/**\n * @param {any} args The argument you're trying to inspect\n * @returns {Boolean} Return true if argument is undefined\n */\nexport function isUndefined(args) {\n return Object.prototype.toString.call(args) === '[object Undefined]';\n}","export function noop() {}","import { isObject } from './isObject';\n\nfunction mapValues(obj, fn) {\n return Object.keys(obj).reduce(function (result, key) {\n result[key] = fn(obj[key], key);\n return result;\n }, {});\n}\n\nexport function nullToUndefined(value) {\n if (isObject(value)) {\n return mapValues(value, nullToUndefined);\n } else if (value === null) {\n return undefined;\n }\n\n return value;\n}","/**\n * Return a number Value as a String with commas\n *\n * @param {Number} value - number as string\n * @returns String\n */\nexport var numberWithCommas = function numberWithCommas(value) {\n return (value !== null && value !== void 0 ? value : '').toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n};\n/**\n * Determines if the Number as a String has any leading zeroes\n *\n * @param {String} number - as a string\n * @returns Boolean\n */\n\nexport var hasLeadingZeroes = function hasLeadingZeroes(number) {\n return typeof number === 'string' && number.length > 1 && number[0] === '0' && number[1] !== '.';\n};\n/**\n * Returns a String value with no commas\n *\n * @param {String} value - value as a string with commas\n * @returns String\n */\n\nexport var stripCommas = function stripCommas(value) {\n return (value !== null && value !== void 0 ? value : '').toString().replace(',', '');\n};\n/**\n * Ensures that the number Value as a String comes back as a\n * clean Number as a String\n * - no leading zeroes\n * - adds a Zero in front a decimal if it's the only character\n *\n * @param {String} value - number as a string\n * @returns String\n */\n\nexport var numberOnly = function numberOnly(value) {\n var number = (value !== null && value !== void 0 ? value : '').replace(/[^0-9.]/g, '') || '0';\n\n if (hasLeadingZeroes(number)) {\n number = number.slice(1);\n }\n\n if (number === '.') {\n number = '0.';\n }\n\n return number;\n};\n/**\n * Convenience method to convert value as a Number or String and\n * return a Float with fixed decimals (default 2)\n *\n * @param {string | number} value - number as a string\n * @param {number} decimals - default 2\n * @returns string\n */\n\nexport var toNumber = function toNumber(value, decimals) {\n if (decimals === void 0) {\n decimals = 2;\n }\n\n return parseFloat(stripCommas(value)).toFixed(decimals);\n};\n/**\n * Convenience method to convert value as a Number or a String and\n * return a number as a String with commas\n *\n * @param {String | Number} value - number value\n * @param {Number} decimals - default 0\n * @returns String\n */\n\nexport var toPoints = function toPoints(value, decimals) {\n if (decimals === void 0) {\n decimals = 0;\n }\n\n return numberWithCommas(toNumber(value, decimals));\n};\n/**\n * Convenience method to convert value as a Number or a String and\n * return a number as a String with commas\n *\n * @param {String | Number} value - number value\n * @param {Number} decimals - default 2\n * @returns String\n */\n\nexport var toCurrency = function toCurrency(value, decimals) {\n if (decimals === void 0) {\n decimals = 2;\n }\n\n return numberWithCommas(toNumber(value, decimals));\n};\n/**\n * Convenience method to convert Currency to Points\n *\n * @param {String | Number} currencyValue\n * @param {Number} conversionFactor\n * @returns Number\n */\n\nexport var convertToPoints = function convertToPoints(currencyValue, conversionFactor) {\n return parseFloat(stripCommas(currencyValue)) / conversionFactor;\n};\n/**\n * Convenience method to convert Points to Currency\n *\n * @param {String | Number} pointsValue - no commas allowed\n * @param {Number} conversionFactor\n * @returns Number\n */\n\nexport var convertToCurrency = function convertToCurrency(pointsValue, conversionFactor) {\n return parseFloat(stripCommas(pointsValue)) * conversionFactor;\n};","/**\n * @description Only run a given function once.\n *\n * @param {Function} fn Function to run only once\n * @param {any} context Optional context to use when fn is executed\n * @returns {any} Result of fn\n */\nexport function once(fn, context) {\n var done = false,\n ret;\n return function () {\n if (done) {\n return ret;\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return done = true, ret = Function.apply.call(fn, context, args);\n };\n}","import { isString } from './isString';\nvar regex = /^\\s*(true|1)\\s*$/i;\n/**\n * @description Converts a string to a boolean value and current conversion will:\n * - match `true` and `1` as truthy\n * - ignore all white-space padding\n * - ignore capitalization\n *\n * @param {String} s\n * @returns {Boolean}\n */\n\nexport function strToBool(s) {\n return isString(s) && regex.test(s);\n}","/**\n * Make an array with unique values. For primitive values only (strings, numbers).\n * Will not work with objects.\n *\n * @param{array} | Array of possible duplicate primitive values\n * @return {array}\n */\nexport var unique = function unique(array) {\n return Array.from(new Set(array));\n};","import _isEqual from 'fast-deep-equal';\nimport _memoizeOne from 'memoize-one';\nexport function memoize(resultFn, isEqual) {\n if (isEqual === void 0) {\n isEqual = _isEqual;\n }\n\n return _memoizeOne.call(this, resultFn, isEqual);\n}","export var NON_DIGITS_GLOBAL = /\\D/g;","import { isFunction } from './isFunction';\nimport { NON_DIGITS_GLOBAL } from './constants';\n/**\n * @description Does a safety check before performing String.prototype.normalize\n * A separate polyfill is required for IE11 support\n */\n\nexport var safeNormalize = function safeNormalize(str, form) {\n if (form === void 0) {\n form = 'NFKD';\n }\n\n return isFunction(str.normalize) ? str.normalize(form) : str;\n};\n/**\n * @description Inserts a string at the specified location in a string\n */\n\nexport var insertStringAt = function insertStringAt(str, idx, insert) {\n return str.slice(0, idx) + insert + str.slice(idx);\n};\n/**\n * @description Removes all non-digit chars from a string.\n * Example: stripNonDigits('a1.& ') --> '1'\n */\n\nexport var stripNonDigits = function stripNonDigits(s) {\n return safeNormalize(s).replace(NON_DIGITS_GLOBAL, '');\n};\nexport var uniqueStr = function uniqueStr() {\n var rand = Math.random();\n var rand2 = Math.random();\n var now = Date.now();\n var randAdj = rand + Math.floor(rand2 * 10);\n return (\"xorc-uid-\" + randAdj + now).replace(/\\./g, 'n');\n};","import { isObject } from './isObject';\n/**\n * @description Performs a shallow inversion of an object.\n */\n\nexport var invert = function invert(obj) {\n var inverted = {};\n Object.entries(obj).forEach(function (_ref) {\n var key = _ref[0],\n val = _ref[1];\n\n if (val != null) {\n inverted[val] = key;\n }\n });\n return inverted;\n};\n/**\n * @description Recursively removes all properties with a nil value from an object.\n * @param obj Object to clean\n * @param recurse Recursively clean object (default: true)\n * @returns Cleaned object\n */\n\nexport var clean = function clean(obj, recurse) {\n if (recurse === void 0) {\n recurse = true;\n }\n\n var cleaned = {};\n Object.entries(obj).forEach(function (_ref2) {\n var key = _ref2[0],\n val = _ref2[1];\n\n if (val != null) {\n if (recurse && isObject(val)) {\n cleaned[key] = clean(val);\n } else {\n cleaned[key] = val;\n }\n }\n });\n return cleaned;\n};","/**\n * https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API\n * @param {String} type | Storage type can be either `localStorage` or `sessionStorage`\n * @returns {Boolean} Returns true if current browser supports either localStorage or sessionStorage or niether.\n */\nexport function isStorageAvailable(type) {\n var storage;\n\n try {\n storage = type in window && window[type];\n var x = '__storage_test__';\n storage.setItem(x, x);\n storage.removeItem(x);\n return true;\n } catch (e) {\n if (!window.DOMException) {\n return false;\n }\n\n return e instanceof window.DOMException && ( // everything except Firefox\n e.code === 22 || // Firefox\n e.code === 1014 || // test name field too, because code might not be present\n // everything except Firefox\n e.name === 'QuotaExceededError' || // Firefox\n e.name === 'NS_ERROR_DOM_QUOTA_REACHED') && // acknowledge QuotaExceededError only if there's something already stored\n storage && storage.length !== 0;\n }\n}","/* eslint-disable @typescript-eslint/camelcase */\nexport var ElmoTreatment;\n/**\n * Shared class for elmo experiments for clients\n * It's used to create experiment instances based on\n * feature id and elmo's server data.\n *\n * Supports overriding treatment using query params.\n */\n\n(function (ElmoTreatment) {\n ElmoTreatment[\"CONTROL\"] = \"CONTROL\";\n ElmoTreatment[\"TREATMENT_1\"] = \"TREATMENT_1\";\n ElmoTreatment[\"TREATMENT_2\"] = \"TREATMENT_2\";\n ElmoTreatment[\"TREATMENT_3\"] = \"TREATMENT_3\";\n ElmoTreatment[\"TREATMENT_4\"] = \"TREATMENT_4\";\n ElmoTreatment[\"TREATMENT_5\"] = \"TREATMENT_5\";\n ElmoTreatment[\"TREATMENT_6\"] = \"TREATMENT_6\";\n ElmoTreatment[\"TREATMENT_7\"] = \"TREATMENT_7\";\n ElmoTreatment[\"TREATMENT_8\"] = \"TREATMENT_8\";\n ElmoTreatment[\"TREATMENT_DEFAULT\"] = \"TREATMENT_DEFAULT\";\n})(ElmoTreatment || (ElmoTreatment = {}));\n\nexport var ElmoExperiment = /*#__PURE__*/function () {\n function ElmoExperiment(payload) {\n this.experimentId = void 0;\n this.experimentName = void 0;\n this.treatmentId = void 0;\n this.treatmentName = void 0;\n this.allocationPercent = void 0;\n this.featureId = void 0;\n this.resolvedTreatment = void 0;\n var _payload$experiment_i = payload.experiment_id,\n experiment_id = _payload$experiment_i === void 0 ? '' : _payload$experiment_i,\n _payload$experiment_n = payload.experiment_name,\n experiment_name = _payload$experiment_n === void 0 ? '' : _payload$experiment_n,\n _payload$treatment_id = payload.treatment_id,\n treatment_id = _payload$treatment_id === void 0 ? '' : _payload$treatment_id,\n _payload$treatment_na = payload.treatment_name,\n treatment_name = _payload$treatment_na === void 0 ? '' : _payload$treatment_na,\n _payload$allocation_p = payload.allocation_percent,\n allocation_percent = _payload$allocation_p === void 0 ? '' : _payload$allocation_p;\n this.experimentId = experiment_id;\n this.experimentName = experiment_name;\n this.treatmentId = treatment_id;\n this.treatmentName = treatment_name;\n this.allocationPercent = allocation_percent;\n this.featureId = experiment_name.replace(ElmoExperiment.baseExperimentName, '');\n this.resolvedTreatment = resolveTreatment({\n treatmentName: this.treatmentName,\n featureId: this.featureId\n });\n } // log experiment results based on feature id and eligibility\n\n\n var _proto = ElmoExperiment.prototype;\n\n _proto.logExperiment = function logExperiment(_ref) {\n var logger = _ref.logger,\n featureId = _ref.featureId,\n eligibility = _ref.eligibility;\n var featureIdLowerCased = featureId.toLowerCase();\n logger(featureIdLowerCased + \"_experiment_\" + this.resolvedTreatment + \"_eligibility_\" + eligibility, {\n state_name: featureIdLowerCased,\n transition_name: featureIdLowerCased + \"_eligibility\",\n eligibility_reason: eligibility,\n elmo_exp_id: this.experimentId,\n elmo_trtmnt_id: this.treatmentId,\n treatment_name: this.treatmentName\n });\n };\n\n _proto.isControl = function isControl() {\n return this.resolvedTreatment === ElmoTreatment.CONTROL;\n };\n\n _proto.getResolvedTreatment = function getResolvedTreatment() {\n return this.resolvedTreatment;\n };\n\n ElmoExperiment.setSettings = function setSettings(_ref2) {\n var _ref2$isInternalReque = _ref2.isInternalRequest,\n isInternalRequest = _ref2$isInternalReque === void 0 ? false : _ref2$isInternalReque,\n _ref2$queryParams = _ref2.queryParams,\n queryParams = _ref2$queryParams === void 0 ? {} : _ref2$queryParams,\n _ref2$baseExperimentN = _ref2.baseExperimentName,\n baseExperimentName = _ref2$baseExperimentN === void 0 ? 'FEATURE_' : _ref2$baseExperimentN;\n ElmoExperiment.isInternalRequest = isInternalRequest;\n ElmoExperiment.queryParams = queryParams;\n ElmoExperiment.baseExperimentName = baseExperimentName;\n } // create experiment instance based on feature id and provided default treatment name\n // it merges server elmo experiment if it exists\n ;\n\n return ElmoExperiment;\n}();\nElmoExperiment.TREATMENTS = ElmoTreatment;\nElmoExperiment.baseExperimentName = void 0;\nElmoExperiment.isInternalRequest = void 0;\nElmoExperiment.queryParams = void 0;\n\nElmoExperiment.createFeatureExperiment = function (_ref4) {\n var defaultTreatmentName = _ref4.defaultTreatmentName,\n featureId = _ref4.featureId,\n experimentsFromServer = _ref4.experimentsFromServer;\n var experimentName = \"\" + ElmoExperiment.baseExperimentName + featureId;\n var payload = {\n experiment_name: experimentName,\n treatment_name: defaultTreatmentName\n };\n payload = experimentsFromServer[experimentName] || payload;\n return new ElmoExperiment(payload);\n};\n\nElmoExperiment.initWithDefaultTreatment = function (value) {\n if (value === void 0) {\n value = ElmoTreatment.CONTROL;\n }\n\n return value;\n};\n\nvar mapServerTreatmentName = function mapServerTreatmentName(treatmentName) {\n var id = treatmentName[treatmentName.length - 1];\n return \"TREATMENT_\" + id;\n};\n\nvar resolveTreatment = function resolveTreatment(_ref3) {\n var treatmentName = _ref3.treatmentName,\n featureId = _ref3.featureId;\n var result = ElmoTreatment[treatmentName] || ElmoTreatment.CONTROL;\n\n if (treatmentName.indexOf('Trmt') >= 0) {\n result = mapServerTreatmentName(treatmentName);\n }\n\n if (ElmoExperiment.isInternalRequest) {\n result = ElmoExperiment.queryParams[\"elmo_feature_\" + featureId] || result;\n }\n\n return result;\n};","/* eslint camelcase: off */\nexport function getDeviceAndNetworkInfo() {\n var _window, _window$navigator, _window2, _document, _document$documentEle, _window3, _document2, _document2$documentEl, _window4, _window4$navigator;\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n var netInfo = ((_window = window) === null || _window === void 0 ? void 0 : (_window$navigator = _window.navigator) === null || _window$navigator === void 0 ? void 0 : _window$navigator.connection) || {}; // Adding prefix's for 'network_', 'device_', 'screen_'\n\n return {\n screen_width: ((_window2 = window) === null || _window2 === void 0 ? void 0 : _window2.innerWidth) || ((_document = document) === null || _document === void 0 ? void 0 : (_document$documentEle = _document.documentElement) === null || _document$documentEle === void 0 ? void 0 : _document$documentEle.clientWidth),\n // fallback to clientWidth to support ie, quirks\n screen_height: ((_window3 = window) === null || _window3 === void 0 ? void 0 : _window3.innerHeight) || ((_document2 = document) === null || _document2 === void 0 ? void 0 : (_document2$documentEl = _document2.documentElement) === null || _document2$documentEl === void 0 ? void 0 : _document2$documentEl.clientHeight),\n // fallback to clientHeight to support ie, quirks\n network_type: netInfo === null || netInfo === void 0 ? void 0 : netInfo.type,\n // Network type that browser uses\n network_effectiveType: netInfo === null || netInfo === void 0 ? void 0 : netInfo.effectiveType,\n // 2g, 3g, wifi , etc calculated from downlink and etc\n network_downlink: netInfo === null || netInfo === void 0 ? void 0 : netInfo.downlink,\n // Effective bandwidth estimate\n network_downlinkMax: netInfo === null || netInfo === void 0 ? void 0 : netInfo.downlinkMax,\n // Upper bound on the downlink speed of the first network hop\n network_roundTripTime: netInfo === null || netInfo === void 0 ? void 0 : netInfo.rtt,\n // Effective round-trip time estimate\n network_saveData: netInfo === null || netInfo === void 0 ? void 0 : netInfo.saveData,\n // user has requested a reduced data usage mode,\n device_memory: (_window4 = window) === null || _window4 === void 0 ? void 0 : (_window4$navigator = _window4.navigator) === null || _window4$navigator === void 0 ? void 0 : _window4$navigator['deviceMemory'] // .5= 512Mib, 1=1024Mib, ...\n\n };\n}","var STYLE_RE = /.+?\\/(?:([^/]+?)\\/styles|([^/]+?))\\.(?:module\\.css|cssm)$/;\nexport var fileToClassName = function fileToClassName(fileName) {\n return fileName.replace(STYLE_RE, '$1$2');\n};","var _process$env$NODE_ENV;\n\n/**\n * These values represent the `__INITIAL_DATA__` payload provided by the server, and is\n * used by all client apps for hydration. Do not update values here without taking\n * into consideration updating the server supplied payload in InitialData.js.\n *\n * To use this file, import from your client app:\n * `import * as globals from '@paypalcorp/c3-shared-globals';`\n */\nvar checkWindow = function checkWindow() {\n try {\n var check = window;\n return true;\n } catch (e) {\n return false;\n }\n};\n\nvar globals = Object.assign({\n fundingSource: null,\n user: {\n ecToken: null,\n email: null,\n firstName: null,\n lastName: null,\n auth: {\n state: null,\n type: null,\n access_token: null,\n claims: []\n }\n },\n locality: {\n country: 'US',\n language: 'en',\n directionality: 'ltr'\n },\n geo: {\n // point to these urls by default\n domain: 'paypal.com',\n cdnHostName: 'www.paypalobjects.com',\n stagingHostName: 'msmaster.qa.paypal.com'\n },\n uri: {\n queryEndpoint: null,\n loggerEndpoint: null,\n fallbackEndpoint: null,\n authchallengeEndpoint: null,\n paycodePublicKey: null\n },\n useraction: null,\n fallback: {\n endpoint: null,\n redirectOnError: null\n },\n isInternalRequest: null,\n widgetBundleUrls: {\n cap: {\n capBaseUri: 'https://www.paypalobjects.com/cap-assets/' // Point to prod by default\n\n }\n },\n deployEnv: {},\n features: {},\n experiments: {},\n isLinkAndPay: false,\n isScaRegion: false,\n mockedMode: false,\n northstar: false,\n commonWebFlows: {\n returnParams: {}\n },\n cookielessQueryParams: null,\n credit: {\n productIdentifier: null,\n offerToken: null,\n newUser: false,\n isCreditSecondButton: false\n }\n}, checkWindow() ? window.__INITIAL_DATA__ || {} : {});\nexport var initGlobals = function initGlobals() {\n // remove initial data in production from the global window object / DOM\n // so initial data is not easily accessible, especially such stuff as access_token and other user info\n // Have to use `parentNode.removeChild` for IE11 compatibility.\n if (process.env.NODE_ENV === 'production') {\n delete window.__INITIAL_DATA__;\n var dataScript = document.getElementById('initial-data-script');\n\n if (dataScript && dataScript.parentNode) {\n dataScript.parentNode.removeChild(dataScript);\n }\n }\n\n return globals;\n};\nexport var updateGlobals = function updateGlobals(updatedGlobals) {\n if (updatedGlobals) {\n globals = Object.assign(globals, updatedGlobals);\n }\n\n return globals;\n};\nexport var isTesting = ((_process$env$NODE_ENV = process.env.NODE_ENV) === null || _process$env$NODE_ENV === void 0 ? void 0 : _process$env$NODE_ENV.toLowerCase()) === 'test';\nexport var getGlobals = function getGlobals() {\n return globals;\n};\nexport var getWidgetBundleUrls = function getWidgetBundleUrls() {\n return globals.widgetBundleUrls || {};\n};\nexport var getUser = function getUser() {\n return globals.user || {};\n};\nexport var getUserFullName = function getUserFullName() {\n return getUser().firstName + \" \" + getUser().lastName;\n};\nexport var getToken = function getToken() {\n var _getUser;\n\n return (_getUser = getUser()) === null || _getUser === void 0 ? void 0 : _getUser.ecToken;\n};\nexport var getAuth = function getAuth() {\n var _getUser2;\n\n return ((_getUser2 = getUser()) === null || _getUser2 === void 0 ? void 0 : _getUser2.auth) || {};\n};\nexport var getAccessToken = function getAccessToken() {\n return getAuth().access_token || '';\n};\nexport var getAuthState = function getAuthState() {\n return getAuth().state;\n};\nexport var getClaims = function getClaims() {\n return getAuth().claims || [];\n};\nexport var getCountry = function getCountry() {\n return globals.locality.country;\n};\nexport var getLocale = function getLocale() {\n return globals.locality.language;\n};\nexport var getDirectionality = function getDirectionality() {\n return globals.locality.directionality;\n};\nexport var getFallback = function getFallback() {\n return globals.fallback || {};\n};\nexport var getUserAction = function getUserAction() {\n var _window, _window$xprops;\n\n return (_window = window) !== null && _window !== void 0 && (_window$xprops = _window.xprops) !== null && _window$xprops !== void 0 && _window$xprops.commit ? 'commit' : globals.useraction;\n};\nexport var getFeatures = function getFeatures() {\n return globals.features;\n};\nexport var getIsResolveThreeDS = function getIsResolveThreeDS() {\n var _globals, _globals$threeDS;\n\n return ((_globals = globals) === null || _globals === void 0 ? void 0 : (_globals$threeDS = _globals.threeDS) === null || _globals$threeDS === void 0 ? void 0 : _globals$threeDS.resolveContingency) === true;\n};\nexport var getIsThreeDSError = function getIsThreeDSError() {\n var _globals2, _globals2$threeDS;\n\n return ((_globals2 = globals) === null || _globals2 === void 0 ? void 0 : (_globals2$threeDS = _globals2.threeDS) === null || _globals2$threeDS === void 0 ? void 0 : _globals2$threeDS.hasError) === true;\n};\nexport var getThirdPartyResponse = function getThirdPartyResponse() {\n var _globals3, _globals3$threeDS;\n\n return ((_globals3 = globals) === null || _globals3 === void 0 ? void 0 : (_globals3$threeDS = _globals3.threeDS) === null || _globals3$threeDS === void 0 ? void 0 : _globals3$threeDS.thirdPartyResponse) && JSON.parse(globals.threeDS.thirdPartyResponse);\n};\nexport var getExperiments = function getExperiments() {\n return globals.experiments;\n}; // get elmo experiments from init data\n\nexport var getIsInternalRequest = function getIsInternalRequest() {\n return getGlobals().isInternalRequest || isTesting;\n};\nexport var getIsLinkAndPay = function getIsLinkAndPay() {\n return globals.isLinkAndPay;\n};\nexport var getIsScaRegion = function getIsScaRegion() {\n return globals.isScaRegion;\n};\nexport var getIsMockedMode = function getIsMockedMode() {\n return globals.mockedMode;\n};\nexport var getIsNorthstar = function getIsNorthstar() {\n return globals.northstar;\n};\nexport var getCredit = function getCredit() {\n return globals.credit;\n};\nexport var getFundingSource = function getFundingSource() {\n return globals.fundingSource;\n};\nexport var getCommonWebFlows = function getCommonWebFlows() {\n return globals.commonWebFlows;\n};\nexport var getCookielessQueryParams = function getCookielessQueryParams() {\n return globals.cookielessQueryParams;\n};\n\nvar _client;\n\nexport function getClient() {\n if (!_client) {\n throw new Error('ApolloClient not initialized');\n }\n\n return _client;\n}\nexport function setClient(client) {\n _client = client;\n}\n/**\n * Return if a feature exists in the feature flag list\n * @param {String} feature the feature flag\n * @returns {Boolean}\n */\n\nexport var hasFeature = function hasFeature(feature) {\n return globals.features[feature];\n};\nexport var getServerGqlData = function getServerGqlData() {\n return globals.serverGqlData;\n};\nexport var setServerGqlData = function setServerGqlData(serverGqlData) {\n return updateGlobals({\n serverGqlData: serverGqlData\n });\n};\nexport var getPayPalDomain = function getPayPalDomain() {\n return globals.geo.domain;\n};\nexport var getCdnHostName = function getCdnHostName() {\n return globals.geo.cdnHostName;\n};\nexport var getStagingHostName = function getStagingHostName() {\n return globals.geo.stagingHostName;\n};\nexport var getPaycodePublicKey = function getPaycodePublicKey() {\n return globals.uri.paycodePublicKey;\n};","export var Status;\n\n(function (Status) {\n Status[\"Success\"] = \"SUCCESS\";\n Status[\"Failed\"] = \"FAILED\";\n})(Status || (Status = {}));","// these are the regex rules for a webview\nvar rules = [/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)|PLAYSTATION|iPadApp/i, /\\bwv\\b/, /Android.*Version\\/(\\d)\\.(\\d)/i];\n/**\n * Tests `navigator.userAgent` to see if we're in a webview\n * @param {String} userAgent navigator.userAgent\n */\n\nexport function isWebView(userAgent) {\n if (userAgent === void 0) {\n var _navigator;\n\n userAgent = (_navigator = navigator) === null || _navigator === void 0 ? void 0 : _navigator.userAgent;\n }\n\n if (!userAgent) {\n return false;\n }\n\n return rules.some(function (regex) {\n return regex.test(userAgent);\n });\n}","import { invariant } from '@paypalcorp/c3-util-lang';\nimport { isStorageAvailable } from './isStorageAvailable';\nvar hasLocalStorage = isStorageAvailable('localStorage');\nvar hasSessionStorage = isStorageAvailable('sessionStorage');\nexport var LocalStorage = {\n get: function get(key) {\n invariant(key, 'key is required for LocalStorage.get()');\n return hasLocalStorage && window.localStorage.getItem(key) || hasSessionStorage && window.sessionStorage.getItem(key);\n },\n set: function set(key, value) {\n invariant(key && value, 'Both key and value are required for LocalStorage.set()');\n\n if (hasLocalStorage) {\n window.localStorage.setItem(key, value);\n } else if (hasSessionStorage) {\n window.sessionStorage.setItem(key, value);\n }\n },\n remove: function remove(key) {\n invariant(key, 'Key is required for LocalStorage.remove()');\n hasLocalStorage && window.localStorage.removeItem(key);\n hasSessionStorage && window.sessionStorage.removeItem(key);\n },\n clear: function clear() {\n hasLocalStorage && window.localStorage.clear();\n hasSessionStorage && window.sessionStorage.clear();\n }\n};","/**\n * This file aims to provide helper function for detecting device types and retrieving device capabilities using user agents and mainly\n * uses the ua-parser-js library.\n * Using the user agent to retrieve different information looks like easy but is actually very hard due to the plethora of user agents\n * out there and with so many edge cases.\n * This MDN article: https://developer.mozilla.org/en-US/docs/Web/HTTP/Browser_detection_using_the_user_agent#avoiding_user_agent_detection talks about\n * how *user agent detection can be avoided* using options such as feature detection, progressive enhancement, graceful degradation etc.\n * One thing to keep in mind is that the ua parser library does not always correctly identify mobile devices. One such example is\n * for in app browser user agents, thunderbird s/w on Windows/Linux OS. Example: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0\n * For such cases, it's always a good idea to not entirely depend on these helper functions and use other factors such as screen size, resize event listeners etc.\n */\nimport _UAParser from 'ua-parser-js';\n\n/**\n * !NOTE --\n * 1. So UAParser is packaged in a really weird way that makes using it\n * inside of compiled code, kinda a PNA. Not entirely sure why they do it\n * this way. Anyways depending on a bunch of things _UAParser may not be\n * exported, but it does get assigned to a global. So we check here. Are\n * we proud no. Should this work -- yeah.\n * - @juspears\n * 2. globalThis is fairly new and broke on some recent browsers (esp IE11).\n * also `typeof` makes it safe to determine a non-casted var when in strict mode\n * otherwise it will throw a ReferenceError\n * ref: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis\n * - @zalbaker\n */\nvar UAParser = typeof globalThis !== 'undefined' && (globalThis === null || globalThis === void 0 ? void 0 : globalThis.UAPArser) || _UAParser;\n/**\n * Check if the given the user-agent string is belongs to a device.\n */\n\nexport function isDevice(userAgent) {\n if (userAgent === void 0) {\n var _window, _window$navigator;\n\n userAgent = ((_window = window) === null || _window === void 0 ? void 0 : (_window$navigator = _window.navigator) === null || _window$navigator === void 0 ? void 0 : _window$navigator.userAgent) || '';\n }\n\n var parser = new UAParser(userAgent);\n\n var _parser$getDevice = parser.getDevice(),\n deviceType = _parser$getDevice.type;\n\n return deviceType === 'mobile' || deviceType === 'tablet';\n}\n/**\n * Check if the given the user-agent string is belongs to a tablet.\n */\n\nexport function isTablet(userAgent) {\n if (userAgent === void 0) {\n var _window2, _window2$navigator;\n\n userAgent = ((_window2 = window) === null || _window2 === void 0 ? void 0 : (_window2$navigator = _window2.navigator) === null || _window2$navigator === void 0 ? void 0 : _window2$navigator.userAgent) || '';\n }\n\n var parser = new UAParser(userAgent);\n\n var _parser$getDevice2 = parser.getDevice(),\n deviceType = _parser$getDevice2.type;\n\n return deviceType === 'tablet';\n}\n/**\n * Check if the given the user-agent string is belongs to a mobile\n */\n\nexport function isMobile(userAgent) {\n if (userAgent === void 0) {\n var _window3, _window3$navigator;\n\n userAgent = ((_window3 = window) === null || _window3 === void 0 ? void 0 : (_window3$navigator = _window3.navigator) === null || _window3$navigator === void 0 ? void 0 : _window3$navigator.userAgent) || '';\n }\n\n var parser = new UAParser(userAgent);\n\n var _parser$getDevice3 = parser.getDevice(),\n deviceType = _parser$getDevice3.type;\n\n return deviceType === 'mobile';\n}\n/**\n * Get the OS name from the user agent\n */\n\nexport function getOSName(userAgent) {\n if (userAgent === void 0) {\n var _window4, _window4$navigator;\n\n userAgent = ((_window4 = window) === null || _window4 === void 0 ? void 0 : (_window4$navigator = _window4.navigator) === null || _window4$navigator === void 0 ? void 0 : _window4$navigator.userAgent) || '';\n }\n\n var parser = new UAParser(userAgent);\n\n var _parser$getOS = parser.getOS(),\n name = _parser$getOS.name;\n\n return name;\n}\n/**\n * return the version number for ios devices\n */\n\nexport function getIosVersion(userAgent) {\n if (userAgent === void 0) {\n var _window5, _window5$navigator;\n\n userAgent = ((_window5 = window) === null || _window5 === void 0 ? void 0 : (_window5$navigator = _window5.navigator) === null || _window5$navigator === void 0 ? void 0 : _window5$navigator.userAgent) || '';\n }\n\n var parser = new UAParser(userAgent);\n\n var _parser$getOS2 = parser.getOS(),\n version = _parser$getOS2.version;\n\n var strArray = version && version.split('.');\n return {\n major: (strArray === null || strArray === void 0 ? void 0 : strArray[0]) && Number(strArray[0]),\n minor: (strArray === null || strArray === void 0 ? void 0 : strArray[1]) && Number(strArray[1]),\n patch: (strArray === null || strArray === void 0 ? void 0 : strArray[2]) && Number(strArray[2])\n };\n}\n/**\n * Get the device capabilities\n */\n\nexport function getCapabilities(userAgent) {\n if (userAgent === void 0) {\n var _window6, _window6$navigator;\n\n userAgent = ((_window6 = window) === null || _window6 === void 0 ? void 0 : (_window6$navigator = _window6.navigator) === null || _window6$navigator === void 0 ? void 0 : _window6$navigator.userAgent) || '';\n }\n\n return {\n isTablet: isTablet(userAgent),\n isMobile: isMobile(userAgent),\n isDesktop: !isDevice(userAgent)\n };\n}\nexport function getDeviceDetails(userAgent) {\n if (userAgent === void 0) {\n var _window7, _window7$navigator;\n\n userAgent = ((_window7 = window) === null || _window7 === void 0 ? void 0 : (_window7$navigator = _window7.navigator) === null || _window7$navigator === void 0 ? void 0 : _window7$navigator.userAgent) || '';\n }\n\n var parser = new UAParser(userAgent);\n\n var _parser$getResult = parser.getResult(),\n ua = _parser$getResult.ua,\n browser = _parser$getResult.browser,\n cpu = _parser$getResult.cpu,\n device = _parser$getResult.device,\n engine = _parser$getResult.engine,\n os = _parser$getResult.os;\n\n return {\n ua: ua,\n browser: browser,\n cpu: cpu,\n device: device,\n engine: engine,\n os: os\n };\n}","import { getDeviceAndNetworkInfo } from './getDeviceAndNetworkInfo';\nexport var isViewportSmall = function isViewportSmall() {\n return getDeviceAndNetworkInfo().screen_height < 900;\n};","import parse from 'qs/lib/parse';\nimport { getCookielessQueryParams } from '@paypalcorp/c3-shared-globals';\nvar _params = null;\nexport function resetParams(newParams) {\n if (newParams === void 0) {\n newParams = null;\n }\n\n _params = newParams;\n}\n/**\n * Util function for making it easier to read query params\n * @returns {Object} Object with key/value pairs as the query string parameter from the window location\n */\n\nexport function params() {\n if (!_params || process.env.NODE_ENV === 'test') {\n var _window, _window$location, _window$location$sear;\n\n // default to params from server in the case of cookieless traffic, otherwise grab params from browser url\n var _params2 = getCookielessQueryParams() || ((_window = window) === null || _window === void 0 ? void 0 : (_window$location = _window.location) === null || _window$location === void 0 ? void 0 : (_window$location$sear = _window$location.search) === null || _window$location$sear === void 0 ? void 0 : _window$location$sear.slice(1));\n\n _params = parse(_params2);\n }\n\n return _params;\n}","var _isIframe;\n\nexport function isIframe() {\n if (_isIframe == null) {\n _isIframe = window.top !== window.self;\n }\n\n return _isIframe;\n}\nexport function setIsIframeOnlyInTests(isIframe) {\n _isIframe = isIframe;\n}","export function isPopup() {\n return Boolean(window.opener);\n}","/*\n * Function that returns the time to interact as per the user\n * This is the interval between navigationStart and current time\n */\nexport var getTimeToInteract = function getTimeToInteract() {\n var _window, _window$performance, _window$performance$t;\n\n var startTime = (_window = window) === null || _window === void 0 ? void 0 : (_window$performance = _window.performance) === null || _window$performance === void 0 ? void 0 : (_window$performance$t = _window$performance.timing) === null || _window$performance$t === void 0 ? void 0 : _window$performance$t.navigationStart; // send the difference only when startTime is available\n\n return startTime ? Date.now() - startTime : 0;\n};\n/*\n * Function that returns the page load time\n */\n\nexport var getPageLoadTime = function getPageLoadTime() {\n var _window2, _window2$performance;\n\n var time = (_window2 = window) === null || _window2 === void 0 ? void 0 : (_window2$performance = _window2.performance) === null || _window2$performance === void 0 ? void 0 : _window2$performance.timing,\n loadEventEnd = (time === null || time === void 0 ? void 0 : time.loadEventEnd) || (time === null || time === void 0 ? void 0 : time.loadEventStart); // send the difference only when time is available\n\n return time ? loadEventEnd - (time === null || time === void 0 ? void 0 : time.navigationStart) : 0; //tt - The whole process of navigation and page load\n};","var cookieEnabled = true;\nexport var setCookieEnabled = function setCookieEnabled(value) {\n cookieEnabled = value;\n};\nexport var areCookiesDisabled = function areCookiesDisabled() {\n if (process.env.NODE_ENV === 'test') {\n return !cookieEnabled;\n }\n\n return typeof navigator !== 'undefined' && !navigator.cookieEnabled;\n};","export var LOG_TRANSITIONS;\n\n(function (LOG_TRANSITIONS) {\n LOG_TRANSITIONS[\"INIT\"] = \"INIT\";\n LOG_TRANSITIONS[\"BOOTSTRAP\"] = \"BOOTSTRAP\";\n LOG_TRANSITIONS[\"REVIEW\"] = \"REVIEW\";\n LOG_TRANSITIONS[\"PROCESS_REVIEW\"] = \"PROCESS_REVIEW\";\n})(LOG_TRANSITIONS || (LOG_TRANSITIONS = {}));","function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* eslint camelcase: \"off\": 0 */\nimport { TAG, TRANSITION_NAME, STATE_NAME } from './constants';\nexport var INCENTIVES_PAYLOAD = function INCENTIVES_PAYLOAD(_ref) {\n var _ref2;\n\n var action = _ref.action;\n return _ref2 = {}, _ref2[TAG.state_name] = STATE_NAME.incentives, _ref2[TAG.transition_name] = TRANSITION_NAME[action], _ref2;\n};\nexport var GAC_PAYLOAD = function GAC_PAYLOAD(_ref3) {\n var _Object$assign;\n\n var action = _ref3.action,\n rest = _objectWithoutPropertiesLoose(_ref3, [\"action\"]);\n\n return Object.assign((_Object$assign = {}, _Object$assign[TAG.state_name] = STATE_NAME.review, _Object$assign[TAG.transition_name] = TRANSITION_NAME[action], _Object$assign), rest);\n};\nexport var REVIEW_PAYLOAD = function REVIEW_PAYLOAD(_ref4) {\n var _Object$assign2;\n\n var action = _ref4.action,\n rest = _objectWithoutPropertiesLoose(_ref4, [\"action\"]);\n\n return Object.assign((_Object$assign2 = {}, _Object$assign2[TAG.state_name] = STATE_NAME.review, _Object$assign2[TAG.transition_name] = TRANSITION_NAME[action], _Object$assign2), rest);\n};\nexport var DONATION_PAYLOAD = function DONATION_PAYLOAD(_ref5) {\n var _ref6;\n\n var action = _ref5.action;\n return _ref6 = {}, _ref6[TAG.state_name] = STATE_NAME.review, _ref6[TAG.transition_name] = TRANSITION_NAME[action], _ref6;\n};\nexport var ERROR_PAYLOAD = function ERROR_PAYLOAD(_ref7) {\n var code = _ref7.code,\n desc = _ref7.desc,\n source = _ref7.source,\n rest = _objectWithoutPropertiesLoose(_ref7, [\"code\", \"desc\", \"source\"]);\n\n return Object.assign({\n int_err_code: code,\n int_err_desc: desc,\n error_source: source\n }, rest);\n};\nexport var ADD_CARD_PAYLOAD = function ADD_CARD_PAYLOAD(_ref8) {\n var _Object$assign3;\n\n var action = _ref8.action,\n rest = _objectWithoutPropertiesLoose(_ref8, [\"action\"]);\n\n return Object.assign((_Object$assign3 = {}, _Object$assign3[TAG.state_name] = STATE_NAME.addCard, _Object$assign3[TAG.transition_name] = TRANSITION_NAME[action], _Object$assign3), rest);\n};\nexport var UPDATE_CARD_PAYLOAD = function UPDATE_CARD_PAYLOAD(_ref9) {\n var _Object$assign4;\n\n var action = _ref9.action,\n rest = _objectWithoutPropertiesLoose(_ref9, [\"action\"]);\n\n return Object.assign((_Object$assign4 = {}, _Object$assign4[TAG.state_name] = STATE_NAME.updateCard, _Object$assign4[TAG.transition_name] = TRANSITION_NAME[action], _Object$assign4), rest);\n};\nexport var ADD_BANK_PAYLOAD = function ADD_BANK_PAYLOAD(_ref10) {\n var _Object$assign5;\n\n var action = _ref10.action,\n rest = _objectWithoutPropertiesLoose(_ref10, [\"action\"]);\n\n return Object.assign((_Object$assign5 = {}, _Object$assign5[TAG.state_name] = STATE_NAME.addBank, _Object$assign5[TAG.transition_name] = TRANSITION_NAME[action], _Object$assign5), rest);\n};\nexport var ADD_BANK_OR_CARD_PAYLOAD = function ADD_BANK_OR_CARD_PAYLOAD(_ref11) {\n var _Object$assign6;\n\n var action = _ref11.action,\n rest = _objectWithoutPropertiesLoose(_ref11, [\"action\"]);\n\n return Object.assign((_Object$assign6 = {}, _Object$assign6[TAG.state_name] = STATE_NAME.addBankOrCard, _Object$assign6[TAG.transition_name] = TRANSITION_NAME[action], _Object$assign6), rest);\n};\nexport var ADD_SHIPPING_PAYLOAD = function ADD_SHIPPING_PAYLOAD(_ref12) {\n var _Object$assign7;\n\n var action = _ref12.action,\n rest = _objectWithoutPropertiesLoose(_ref12, [\"action\"]);\n\n return Object.assign((_Object$assign7 = {}, _Object$assign7[TAG.state_name] = STATE_NAME.addShipping, _Object$assign7[TAG.transition_name] = TRANSITION_NAME[action], _Object$assign7), rest);\n};\nexport var ADD_PRIMARY_ADDRESS_PAYLOAD = function ADD_PRIMARY_ADDRESS_PAYLOAD(_ref13) {\n var _Object$assign8;\n\n var action = _ref13.action,\n rest = _objectWithoutPropertiesLoose(_ref13, [\"action\"]);\n\n return Object.assign((_Object$assign8 = {}, _Object$assign8[TAG.state_name] = STATE_NAME.addPrimaryAddress, _Object$assign8[TAG.transition_name] = TRANSITION_NAME[action], _Object$assign8), rest);\n};\nexport var SEND_SHARED_CARD_CONSENT = function SEND_SHARED_CARD_CONSENT(_ref14) {\n var _ref15;\n\n var action = _ref14.action;\n return _ref15 = {}, _ref15[TAG.state_name] = STATE_NAME.sharedCardConsentPage, _ref15[TAG.transition_name] = TRANSITION_NAME[action], _ref15;\n};\nexport var SHARED_CARD_WAIT = function SHARED_CARD_WAIT(_ref16) {\n var _ref17;\n\n var action = _ref16.action;\n return _ref17 = {}, _ref17[TAG.state_name] = STATE_NAME.sharedCardWaitPage, _ref17[TAG.transition_name] = TRANSITION_NAME[action], _ref17;\n};\nexport var CPA_PAYLOAD = function CPA_PAYLOAD(_ref18) {\n var _Object$assign9;\n\n var action = _ref18.action,\n stateName = _ref18.stateName,\n isPayNowUserActionFlow = _ref18.isPayNowUserActionFlow,\n _ref18$isUpdateBtn = _ref18.isUpdateBtn,\n isUpdateBtn = _ref18$isUpdateBtn === void 0 ? false : _ref18$isUpdateBtn,\n rest = _objectWithoutPropertiesLoose(_ref18, [\"action\", \"stateName\", \"isPayNowUserActionFlow\", \"isUpdateBtn\"]);\n\n return Object.assign((_Object$assign9 = {}, _Object$assign9[TAG.state_name] = STATE_NAME.review, _Object$assign9[TAG.transition_name] = TRANSITION_NAME[action], _Object$assign9.button_text = isUpdateBtn ? 'Update' : isPayNowUserActionFlow ? 'PayNow' : 'Continue', _Object$assign9), rest);\n};\nexport var CPA_ERROR_PAYLOAD = function CPA_ERROR_PAYLOAD(_ref19) {\n var _Object$assign10;\n\n var code = _ref19.code,\n desc = _ref19.desc,\n action = _ref19.action,\n stateName = _ref19.stateName,\n isPayNowUserActionFlow = _ref19.isPayNowUserActionFlow,\n _ref19$isUpdateBtn = _ref19.isUpdateBtn,\n isUpdateBtn = _ref19$isUpdateBtn === void 0 ? false : _ref19$isUpdateBtn,\n rest = _objectWithoutPropertiesLoose(_ref19, [\"code\", \"desc\", \"action\", \"stateName\", \"isPayNowUserActionFlow\", \"isUpdateBtn\"]);\n\n return Object.assign((_Object$assign10 = {}, _Object$assign10[TAG.state_name] = STATE_NAME[stateName], _Object$assign10[TAG.transition_name] = TRANSITION_NAME[action], _Object$assign10.int_err_code = code, _Object$assign10.int_err_desc = desc, _Object$assign10), rest);\n};\nexport var GENERIC_PAYLOAD = function GENERIC_PAYLOAD(_ref20) {\n var _Object$assign11;\n\n var action = _ref20.action,\n stateName = _ref20.stateName,\n isPayNowUserActionFlow = _ref20.isPayNowUserActionFlow,\n rest = _objectWithoutPropertiesLoose(_ref20, [\"action\", \"stateName\", \"isPayNowUserActionFlow\"]);\n\n return Object.assign((_Object$assign11 = {}, _Object$assign11[TAG.state_name] = STATE_NAME[stateName] || stateName, _Object$assign11[TAG.transition_name] = TRANSITION_NAME[action] || action, _Object$assign11.button_text = isPayNowUserActionFlow ? 'PayNow' : 'Continue', _Object$assign11), rest);\n};\nexport var REVIEW_CPA_PAYLOAD = function REVIEW_CPA_PAYLOAD(_ref21) {\n var _Object$assign12;\n\n var action = _ref21.action,\n isPayNowUserActionFlow = _ref21.isPayNowUserActionFlow,\n rest = _objectWithoutPropertiesLoose(_ref21, [\"action\", \"isPayNowUserActionFlow\"]);\n\n return Object.assign((_Object$assign12 = {}, _Object$assign12[TAG.state_name] = STATE_NAME.customerPresentAuth, _Object$assign12[TAG.transition_name] = TRANSITION_NAME[action], _Object$assign12.button_text = isPayNowUserActionFlow ? 'PayNow' : 'Continue', _Object$assign12), rest);\n};\nexport var ADD_CARD_CPA_PAYLOAD = function ADD_CARD_CPA_PAYLOAD(_ref22) {\n var _Object$assign13;\n\n var action = _ref22.action,\n isPayNowUserActionFlow = _ref22.isPayNowUserActionFlow,\n rest = _objectWithoutPropertiesLoose(_ref22, [\"action\", \"isPayNowUserActionFlow\"]);\n\n return Object.assign((_Object$assign13 = {}, _Object$assign13[TAG.state_name] = STATE_NAME.addCard, _Object$assign13[TAG.transition_name] = TRANSITION_NAME[action], _Object$assign13.button_text = isPayNowUserActionFlow ? 'PayNow' : 'Continue', _Object$assign13), rest);\n};\nexport var TRANSITION_PAYLOAD = function TRANSITION_PAYLOAD(_ref23) {\n var _Object$assign14;\n\n var from = _ref23.from,\n to = _ref23.to,\n rest = _objectWithoutPropertiesLoose(_ref23, [\"from\", \"to\"]);\n\n return Object.assign((_Object$assign14 = {}, _Object$assign14[TAG.state_name] = from, _Object$assign14[TAG.transition_name] = to, _Object$assign14), rest);\n};\nexport var CVV_CONTINGENCY_PAYLOAD = function CVV_CONTINGENCY_PAYLOAD(_ref24) {\n var _Object$assign15;\n\n var action = _ref24.action,\n rest = _objectWithoutPropertiesLoose(_ref24, [\"action\"]);\n\n return Object.assign((_Object$assign15 = {}, _Object$assign15[TAG.state_name] = STATE_NAME.cvvContingency, _Object$assign15[TAG.transition_name] = TRANSITION_NAME[action], _Object$assign15), rest);\n};\nexport var SCA_CONTINGENCY_PAYLOAD = function SCA_CONTINGENCY_PAYLOAD(_ref25) {\n var _Object$assign16;\n\n var action = _ref25.action,\n rest = _objectWithoutPropertiesLoose(_ref25, [\"action\"]);\n\n return Object.assign((_Object$assign16 = {}, _Object$assign16[TAG.state_name] = STATE_NAME.scaContingency, _Object$assign16[TAG.transition_name] = TRANSITION_NAME[action], _Object$assign16), rest);\n};\nexport var TRUSTED_BENEFICIARY_PAYLOAD = function TRUSTED_BENEFICIARY_PAYLOAD(_ref26) {\n var _Object$assign17;\n\n var action = _ref26.action,\n rest = _objectWithoutPropertiesLoose(_ref26, [\"action\"]);\n\n return Object.assign((_Object$assign17 = {}, _Object$assign17[TAG.state_name] = STATE_NAME.trustedBeneficiary, _Object$assign17[TAG.transition_name] = TRANSITION_NAME[action], _Object$assign17), rest);\n};\nexport var CLEAR_CREDIT_OPTION_PAYLOAD = function CLEAR_CREDIT_OPTION_PAYLOAD(_ref27) {\n var _Object$assign18;\n\n var action = _ref27.action,\n rest = _objectWithoutPropertiesLoose(_ref27, [\"action\"]);\n\n return Object.assign((_Object$assign18 = {}, _Object$assign18[TAG.state_name] = STATE_NAME.clearCreditOption, _Object$assign18[TAG.transition_name] = TRANSITION_NAME[action], _Object$assign18), rest);\n};\nexport var PAYCODE_REQUIRED_PAYLOAD = function PAYCODE_REQUIRED_PAYLOAD(_ref28) {\n var _Object$assign19;\n\n var action = _ref28.action,\n rest = _objectWithoutPropertiesLoose(_ref28, [\"action\"]);\n\n return Object.assign((_Object$assign19 = {}, _Object$assign19[TAG.state_name] = STATE_NAME.paycodeContingency, _Object$assign19[TAG.transition_name] = TRANSITION_NAME[action], _Object$assign19), rest);\n};\nexport var FORM_INTERACTION_PAYLOAD = function FORM_INTERACTION_PAYLOAD(data, field) {\n // only log those field values which are safe to log\n var canLogValue = function canLogValue(field) {\n return ['selectCreditCardType'].includes(field);\n };\n\n var isValid = data.isValid,\n errorCode = data.errorCode,\n stateName = data.stateName,\n value = data.value;\n return {\n state_name: stateName ? STATE_NAME[stateName] : stateName,\n transition_name: \"process_\" + field + \"_field_interaction\",\n event_name: field + \"FieldInteraction\",\n int_error_code: isValid ? '0' : '1',\n int_error_desc: isValid ? '' : errorCode,\n value: canLogValue(field) && value || (isValid ? '***' : '')\n };\n};\nexport var THREE_DS_PAYLOAD = function THREE_DS_PAYLOAD(_ref29) {\n var _Object$assign20;\n\n var action = _ref29.action,\n rest = _objectWithoutPropertiesLoose(_ref29, [\"action\"]);\n\n return Object.assign((_Object$assign20 = {}, _Object$assign20[TAG.state_name] = STATE_NAME.threeDSContingency, _Object$assign20[TAG.transition_name] = TRANSITION_NAME[action], _Object$assign20), rest);\n};\nexport var RETURN_PAYLOAD = function RETURN_PAYLOAD(_ref30) {\n var _Object$assign21;\n\n var action = _ref30.action,\n rest = _objectWithoutPropertiesLoose(_ref30, [\"action\"]);\n\n return Object.assign((_Object$assign21 = {}, _Object$assign21[TAG.state_name] = STATE_NAME.backToMerchant, _Object$assign21[TAG.transition_name] = TRANSITION_NAME[action], _Object$assign21), rest);\n};\nexport var LINK_AND_PAY_PAYLOAD = function LINK_AND_PAY_PAYLOAD(_ref31) {\n var _Object$assign22;\n\n var action = _ref31.action,\n rest = _objectWithoutPropertiesLoose(_ref31, [\"action\"]);\n\n return Object.assign((_Object$assign22 = {}, _Object$assign22[TAG.state_name] = STATE_NAME.linkAndPay, _Object$assign22[TAG.transition_name] = TRANSITION_NAME[action], _Object$assign22), rest);\n};\nexport var SEPA_CONTINGENCY_PAYLOAD = function SEPA_CONTINGENCY_PAYLOAD(_ref32) {\n var _Object$assign23;\n\n var action = _ref32.action,\n rest = _objectWithoutPropertiesLoose(_ref32, [\"action\"]);\n\n return Object.assign((_Object$assign23 = {}, _Object$assign23[TAG.state_name] = STATE_NAME.sepaContingency, _Object$assign23[TAG.transition_name] = TRANSITION_NAME[action], _Object$assign23), rest);\n};\nexport var INSTALLMENTS_REVIEW_PAYLOAD = function INSTALLMENTS_REVIEW_PAYLOAD(_ref33) {\n var _Object$assign24;\n\n var action = _ref33.action,\n rest = _objectWithoutPropertiesLoose(_ref33, [\"action\"]);\n\n return Object.assign((_Object$assign24 = {}, _Object$assign24[TAG.state_name] = STATE_NAME.review, _Object$assign24[TAG.transition_name] = TRANSITION_NAME[action], _Object$assign24), rest);\n};\nexport var INSTALLMENTS_PAYLOAD = function INSTALLMENTS_PAYLOAD(_ref34) {\n var _Object$assign25;\n\n var action = _ref34.action,\n rest = _objectWithoutPropertiesLoose(_ref34, [\"action\"]);\n\n return Object.assign((_Object$assign25 = {}, _Object$assign25[TAG.state_name] = STATE_NAME.installments, _Object$assign25[TAG.transition_name] = TRANSITION_NAME[action], _Object$assign25), rest);\n};\nexport var OTP_CONFIRMATION_PAYLOAD = function OTP_CONFIRMATION_PAYLOAD(_ref35) {\n var _Object$assign26;\n\n var action = _ref35.action,\n rest = _objectWithoutPropertiesLoose(_ref35, [\"action\"]);\n\n return Object.assign((_Object$assign26 = {}, _Object$assign26[TAG.state_name] = STATE_NAME.otpConfirmation, _Object$assign26[TAG.transition_name] = TRANSITION_NAME[action], _Object$assign26), rest);\n};\nexport var DONE_PAGE_PAYLOAD = function DONE_PAGE_PAYLOAD(_ref36) {\n var _Object$assign27;\n\n var action = _ref36.action,\n rest = _objectWithoutPropertiesLoose(_ref36, [\"action\"]);\n\n return Object.assign((_Object$assign27 = {}, _Object$assign27[TAG.state_name] = STATE_NAME.donePage, _Object$assign27[TAG.transition_name] = TRANSITION_NAME[action], _Object$assign27.context_type = 'WPS', _Object$assign27), rest);\n};\nexport var EXIT_SPINNER_PAYLOAD = function EXIT_SPINNER_PAYLOAD(_ref37) {\n var _Object$assign28;\n\n var action = _ref37.action,\n rest = _objectWithoutPropertiesLoose(_ref37, [\"action\"]);\n\n return Object.assign((_Object$assign28 = {}, _Object$assign28[TAG.state_name] = STATE_NAME.xoExitState, _Object$assign28[TAG.transition_name] = TRANSITION_NAME[action], _Object$assign28), rest);\n};\nexport var INVENTORY_SOLDOUT_PAYLOAD = function INVENTORY_SOLDOUT_PAYLOAD(_ref38) {\n var _ref39;\n\n var action = _ref38.action,\n rest = _objectWithoutPropertiesLoose(_ref38, [\"action\"]);\n\n return _ref39 = {}, _ref39[TAG.state_name] = STATE_NAME.inventorySoldOut, _ref39[TAG.transition_name] = TRANSITION_NAME[action], _ref39.context_type = 'WPS', _ref39;\n};\nexport var SHIPPING_AND_TAX_PAYLOAD = function SHIPPING_AND_TAX_PAYLOAD(_ref40) {\n var _Object$assign29;\n\n var action = _ref40.action,\n rest = _objectWithoutPropertiesLoose(_ref40, [\"action\"]);\n\n return Object.assign((_Object$assign29 = {}, _Object$assign29[TAG.state_name] = STATE_NAME.shippingAndTaxMethod, _Object$assign29[TAG.transition_name] = TRANSITION_NAME[action], _Object$assign29), rest);\n};","/* eslint camelcase: \"off\": 0 */\nexport var TRANSACTION_DETAILS = function TRANSACTION_DETAILS(checkoutSession) {\n var _checkoutSession$cart, _checkoutSession$cart2, _checkoutSession$cart3, _checkoutSession$merc;\n\n // the cart total can come from different parts of the schema 😓\n // - InitAppQuery\n // - CartQuery\n var _ref = (checkoutSession === null || checkoutSession === void 0 ? void 0 : (_checkoutSession$cart = checkoutSession.cart) === null || _checkoutSession$cart === void 0 ? void 0 : (_checkoutSession$cart2 = _checkoutSession$cart.amounts) === null || _checkoutSession$cart2 === void 0 ? void 0 : _checkoutSession$cart2.total) || (checkoutSession === null || checkoutSession === void 0 ? void 0 : (_checkoutSession$cart3 = checkoutSession.cart) === null || _checkoutSession$cart3 === void 0 ? void 0 : _checkoutSession$cart3.total) || {},\n currencyCode = _ref.currencyCode,\n currencyValue = _ref.currencyValue;\n\n return {\n seller_id: checkoutSession === null || checkoutSession === void 0 ? void 0 : (_checkoutSession$merc = checkoutSession.merchant) === null || _checkoutSession$merc === void 0 ? void 0 : _checkoutSession$merc.merchantId,\n amt: currencyValue ? parseFloat(currencyValue) * 100 : 0,\n // log amount in cents\n currency_code: currencyCode\n };\n};","var _VALIDATOR_TO_TYPE_MA;\n\nimport cardValidator from 'card-validator';\nimport creditCardType, { getTypeInfo, types } from 'credit-card-type';\nimport luhn10 from 'card-validator/src/luhn-10';\nimport { invert, insertStringAt } from '@paypalcorp/c3-util-lang';\nimport { CardIssuerType, InstrumentClassification } from '@paypalcorp/c3-graphql-fragments-internal';\nimport { AmexCardArt, CBNationaleCardArt, CetelemCardArt, CofinogaCardArt, DefaultCardArt, DinersCardArt, DiscoverCardArt, EloCardArt, HiperCardArt, HipercardCardArt, JcbCardArt, MaestroCardArt, MastercardCardArt, RuPayCardArt, UnionPayCardArt, VisaCardArt } from '@paypalcorp/c3-component-icons';\nimport { BanamexLogo, BancoAztecaLogo, BanorteLogo, BBVALogo, HSBCLogo, InbursaLogo, ItauLogo, SantarderLogo } from '@paypalcorp/c3-component-icons';\nexport var CardIssuerDefault;\n\n(function (CardIssuerDefault) {\n CardIssuerDefault[\"Default\"] = \"DEFAULT\";\n})(CardIssuerDefault || (CardIssuerDefault = {}));\n\nexport var BANK_NAME_MAP = {\n BANAMEX: BanamexLogo,\n BANCOAZTECA: BancoAztecaLogo,\n BANORTE: BanorteLogo,\n BBVA: BBVALogo,\n HSBC: HSBCLogo,\n INBURSA: InbursaLogo,\n ITAU: ItauLogo,\n SANTANDER: SantarderLogo\n};\nexport var CARD_ART_MAP = {\n AMEX: AmexCardArt,\n CB_NATIONALE: CBNationaleCardArt,\n CETELEM: CetelemCardArt,\n CHINA_UNION_PAY: UnionPayCardArt,\n COFINOGA: CofinogaCardArt,\n DEFAULT: DefaultCardArt,\n DINERS: DinersCardArt,\n DISCOVER: DiscoverCardArt,\n ELO: EloCardArt,\n HIPER: HiperCardArt,\n HIPERCARD: HipercardCardArt,\n JCB: JcbCardArt,\n MAESTRO: MaestroCardArt,\n MASTER_CARD: MastercardCardArt,\n RUPAY: RuPayCardArt,\n VISA: VisaCardArt,\n // TODO: Deprecated, remove after xobuyernodeserv release\n CBNATIONALE: CBNationaleCardArt,\n MASTERCARD: MastercardCardArt,\n SWITCH: MaestroCardArt,\n CUP: UnionPayCardArt\n}; // Add additional supported card types\n// TODO: Provide patterns for these types\n\ncreditCardType.addCard({\n code: {\n name: 'CVV',\n size: 3\n },\n gaps: [4, 8, 12],\n lengths: [16, 18, 19],\n niceType: 'Carte Bancaire',\n patterns: [],\n type: 'cb-nationale'\n});\ncreditCardType.addCard({\n code: {\n name: 'CVV',\n size: 3\n },\n gaps: [4, 8, 12, 16],\n lengths: [19],\n niceType: 'Carte Aurore',\n patterns: [],\n type: 'cetelem'\n});\ncreditCardType.addCard({\n code: {\n name: '',\n size: 0\n },\n gaps: [4, 8, 12, 16],\n lengths: [17],\n niceType: 'Cofinoga ou Privilège',\n patterns: [],\n type: 'cofinoga'\n});\ncreditCardType.addCard({\n code: {\n name: '',\n size: 0\n },\n gaps: [4, 8],\n lengths: [8, 9],\n niceType: '4 étoiles',\n patterns: [],\n type: 'cofidis'\n});\nvar VALIDATOR_TO_TYPE_MAP = (_VALIDATOR_TO_TYPE_MA = {}, _VALIDATOR_TO_TYPE_MA[types.AMERICAN_EXPRESS] = CardIssuerType.Amex, _VALIDATOR_TO_TYPE_MA[types.DINERS_CLUB] = CardIssuerType.Diners, _VALIDATOR_TO_TYPE_MA[types.DISCOVER] = CardIssuerType.Discover, _VALIDATOR_TO_TYPE_MA[types.ELO] = CardIssuerType.Elo, _VALIDATOR_TO_TYPE_MA[types.HIPER] = CardIssuerType.Hiper, _VALIDATOR_TO_TYPE_MA[types.HIPERCARD] = CardIssuerType.Hipercard, _VALIDATOR_TO_TYPE_MA[types.JCB] = CardIssuerType.Jcb, _VALIDATOR_TO_TYPE_MA[types.MASTERCARD] = CardIssuerType.MasterCard, _VALIDATOR_TO_TYPE_MA[types.MAESTRO] = CardIssuerType.Maestro, _VALIDATOR_TO_TYPE_MA[types.UNIONPAY] = CardIssuerType.ChinaUnionPay, _VALIDATOR_TO_TYPE_MA[types.VISA] = CardIssuerType.Visa, _VALIDATOR_TO_TYPE_MA['cb-nationale'] = CardIssuerType.CbNationale, _VALIDATOR_TO_TYPE_MA.cetelem = CardIssuerType.Cetelem, _VALIDATOR_TO_TYPE_MA.cofidis = CardIssuerType.Cofidis, _VALIDATOR_TO_TYPE_MA.cofinoga = CardIssuerType.Cofinoga, _VALIDATOR_TO_TYPE_MA);\nvar TYPE_TO_VALIDATOR_MAP = invert(VALIDATOR_TO_TYPE_MAP);\nvar DEFAULT_TYPE = {\n code: {\n name: 'CVV',\n size: 3\n },\n gaps: [4, 8, 12],\n lengths: [16],\n niceType: 'Unknown',\n patterns: [],\n type: CardIssuerDefault.Default\n};\n/**\n * Detect the card type metadata for a card number\n */\n\nvar detectCardType = function detectCardType(number) {\n var _creditCardType;\n\n var cardType = (_creditCardType = creditCardType(number)) === null || _creditCardType === void 0 ? void 0 : _creditCardType[0];\n\n if (cardType) {\n return Object.assign({}, cardType, {\n type: VALIDATOR_TO_TYPE_MAP[cardType.type]\n });\n }\n\n return null;\n};\n/**\n * Get the card type metadata for a card type identifier\n */\n\n\nexport var getCardTypeInfo = function getCardTypeInfo(cardType) {\n var mapped = TYPE_TO_VALIDATOR_MAP[cardType];\n\n if (!mapped) {\n return DEFAULT_TYPE;\n }\n\n var typeInfo = getTypeInfo(mapped);\n return Object.assign({}, typeInfo, {\n type: cardType\n });\n};\n/**\n * Get the card type metadata for a card number, if it's\n * among the allowed card types. Otherwise, returns a default.\n */\n\nexport var getCardType = function getCardType(number, allowedTypes) {\n if (!number) {\n return DEFAULT_TYPE;\n }\n\n var cardType = detectCardType(number);\n return (cardType === null || cardType === void 0 ? void 0 : cardType.type) !== CardIssuerDefault.Default && allowedTypes.includes(cardType === null || cardType === void 0 ? void 0 : cardType.type) ? cardType : DEFAULT_TYPE;\n};\nexport var validateCardNumber = function validateCardNumber(number, cardTypeInfo, allowedCardIssuers) {\n var _validation, _validation2;\n\n var validation;\n\n if (!cardTypeInfo) {\n // Unknown card type or not a number\n validation = {\n type: null,\n isPotentiallyValid: false,\n isValid: false\n };\n } else if (cardTypeInfo.patterns.length < 1) {\n // No known patterns, so the library validation function won't work\n // In this situation, just verify the Luhn validity and length\n var maxLength = Math.max.apply(Math, cardTypeInfo.lengths);\n var validLength = cardTypeInfo.lengths.some(function (length) {\n return length === number.length;\n }); // Cofidis cards do not use the Luhn check\n\n var validLuhn = luhn10(number) || cardTypeInfo.type === 'COFIDIS';\n validation = {\n type: cardTypeInfo === null || cardTypeInfo === void 0 ? void 0 : cardTypeInfo.type,\n isPotentiallyValid: validLength || number.length < maxLength,\n isValid: validLength && validLuhn\n };\n } else {\n var _result$card;\n\n var result = cardValidator.number(number);\n validation = {\n type: VALIDATOR_TO_TYPE_MAP[(_result$card = result.card) === null || _result$card === void 0 ? void 0 : _result$card.type],\n isPotentiallyValid: result.isPotentiallyValid,\n isValid: result.isValid\n };\n }\n\n var isAllowed = ((_validation = validation) === null || _validation === void 0 ? void 0 : _validation.type) !== CardIssuerDefault.Default && allowedCardIssuers.includes((_validation2 = validation) === null || _validation2 === void 0 ? void 0 : _validation2.type);\n return {\n invalid: !(isAllowed && validation.isPotentiallyValid && validation.isValid),\n invalidType: !isAllowed\n };\n};\n/**\n * Mask a card number for display given a card type. If a card type is\n * not provided, attempt to detect it and mask based on that type.\n */\n\nexport var maskCard = function maskCard(number, cardType) {\n var gaps = cardType === null || cardType === void 0 ? void 0 : cardType.gaps;\n\n if (gaps) {\n for (var idx = 0; idx < gaps.length; idx++) {\n var splicePoint = gaps[idx] + idx;\n\n if (splicePoint > number.length - 1) {\n // We're beyond the end of the number\n return number;\n }\n\n number = insertStringAt(number, splicePoint, ' ');\n }\n }\n\n return number;\n};\nexport var shouldAutoDetectCardType = function shouldAutoDetectCardType(country, definitions) {\n return !['FR', 'IT', 'ES'].includes(country) && !isCupMultiBrandCard(definitions);\n};\nexport var validateDate = function validateDate(_ref) {\n var _ref$expiryOffset = _ref.expiryOffset,\n expiryOffset = _ref$expiryOffset === void 0 ? 15 : _ref$expiryOffset,\n inputValue = _ref.inputValue,\n _ref$isExpiry = _ref.isExpiry,\n isExpiry = _ref$isExpiry === void 0 ? false : _ref$isExpiry,\n _ref$isIssueDate = _ref.isIssueDate,\n isIssueDate = _ref$isIssueDate === void 0 ? false : _ref$isIssueDate,\n _ref$issueOffset = _ref.issueOffset,\n issueOffset = _ref$issueOffset === void 0 ? 0 : _ref$issueOffset;\n var inputYear = Number(\"20\" + inputValue.substr(2));\n var inputMonth = Number(inputValue.substr(0, 2));\n var now = new Date(); // +1 because getMonth is zero indexed -- Jan === 0\n\n var currentMonth = now.getMonth() + 1;\n var currentYear = now.getFullYear();\n var isCurrentYear = currentYear === inputYear;\n var isMonthLaterThisYear = isCurrentYear && inputMonth > currentMonth;\n var isMonthEarlierThisYear = isCurrentYear && inputMonth < currentMonth;\n var isMaxExpiryYear = currentYear + expiryOffset === inputYear;\n var isMinIssueYear = currentYear - issueOffset === inputYear;\n var isInvalidMonth = isExpiry && isMonthEarlierThisYear || isIssueDate && isMonthLaterThisYear || inputMonth > 12 || inputMonth < 1;\n var isInvalidYear = inputYear < currentYear - issueOffset || inputYear > currentYear + expiryOffset;\n var isInvalidCombo = isExpiry && isMaxExpiryYear && inputMonth > currentMonth || isIssueDate && isMinIssueYear && inputMonth < currentMonth;\n return {\n isInvalidCombo: isInvalidCombo,\n isInvalidDate: isInvalidCombo || isInvalidMonth || isInvalidYear,\n isInvalidMonth: isInvalidMonth,\n isInvalidYear: isInvalidYear\n };\n};\nexport var isCupDebitCard = function isCupDebitCard(_ref2) {\n var brand = _ref2.brand,\n classifications = _ref2.classifications;\n return brand === CardIssuerType.ChinaUnionPay && (classifications === null || classifications === void 0 ? void 0 : classifications.includes(InstrumentClassification.DebitCard));\n};\nexport var isCupMultiBrandCard = function isCupMultiBrandCard(cardDefinitions) {\n if (cardDefinitions === void 0) {\n cardDefinitions = [];\n }\n\n return cardDefinitions.length > 1 && cardDefinitions.some(function (_ref3) {\n var brand = _ref3.brand;\n return brand === CardIssuerType.ChinaUnionPay;\n });\n};\nexport var shouldDisplayPhoneField = function shouldDisplayPhoneField(definitions, cardType) {\n var _definitions$find$con, _definitions$find, _definitions$find$con2;\n\n return (_definitions$find$con = definitions === null || definitions === void 0 ? void 0 : (_definitions$find = definitions.find(function (def) {\n return def.brand === cardType;\n })) === null || _definitions$find === void 0 ? void 0 : (_definitions$find$con2 = _definitions$find.confirmationMethods) === null || _definitions$find$con2 === void 0 ? void 0 : _definitions$find$con2.some(function (method) {\n return method === 'ONE_TIME_PASSWORD_CONFIRMATION';\n })) !== null && _definitions$find$con !== void 0 ? _definitions$find$con : false;\n};\nexport var shouldHideCvvAndExpiryForDebitCard = function shouldHideCvvAndExpiryForDebitCard(definitions) {\n var primaryCard = definitions[0];\n return primaryCard && isCupDebitCard(primaryCard);\n};\nexport var shouldDisplayDateOfBirthField = function shouldDisplayDateOfBirthField(cardType) {\n return [CardIssuerType.Cetelem, CardIssuerType.Cofidis, CardIssuerType.Cofinoga].includes(cardType);\n};","export var sanitizeLogPayload = function sanitizeLogPayload(obj) {\n return Object.assign({}, obj, Object.keys(obj).filter(function (key) {\n return /address/gi.test(key);\n }).reduce(function (acc, key) {\n var _Object$assign;\n\n return Object.assign({}, acc, (_Object$assign = {}, _Object$assign[key] = '******', _Object$assign));\n }, {}));\n};\n\nvar _name;\n\nexport var name = function name() {\n if (!_name) {\n if (!process.env.INTERNAL_NAME) {\n console.warn('Please define \"INTERNAL_NAME\" to ensure proper logging using hermione by default');\n _name = 'UNKNOWN';\n } else {\n _name = process.env.INTERNAL_NAME.toUpperCase();\n }\n }\n\n return _name;\n};","/* eslint camelcase: \"off\": 0 */\n\n/**\n * Functionality related to FPTI Payload\n * {@link https://engineering.paypalcorp.com/confluence/pages/viewpage.action?pageId=339319090}\n */\nimport { getCountry, getLocale } from '@paypalcorp/c3-shared-globals';\nimport { getDeviceAndNetworkInfo } from '@paypalcorp/c3-util-browser';\nimport { invariant, isObject } from '@paypalcorp/c3-util-lang';\nimport beaverLogger from 'beaver-logger';\nimport { hostname } from 'os';\nimport { TAG, STATE_NAME } from './constants';\nimport { sanitizeLogPayload } from './utils';\n\nvar _getDeviceAndNetworkI = getDeviceAndNetworkInfo(),\n _getDeviceAndNetworkI2 = _getDeviceAndNetworkI.screen_height,\n screen_height = _getDeviceAndNetworkI2 === void 0 ? 0 : _getDeviceAndNetworkI2; // These need to be logged for every event\n\n\nvar COMMON_PAYLOAD = {\n buyer_type: 'Existinguser',\n context_id: null,\n context_type: 'EC-token',\n design: null,\n enrich: 'n',\n host_name: hostname(),\n server_epoch_timestamp: Date.now(),\n serverside_data_source: 'checkout',\n scrn_height: \"\" + (screen_height || 0),\n 'x-paypal-fpti': {}\n};\nvar EXPERIENCE_PAYLOAD = {\n experience: 'checkoutlite',\n market: 'MERCHANT',\n planning_activity_handle: '',\n api_integration_type: 'standard',\n app_int_type: '',\n // BROWSER or WebView\n integration_type: 'EC' // Why do we need to log this - should be coming from symphony\n\n};\n\nvar _appName;\n\nexport var initFpti = function initFpti(_ref) {\n var _Object$assign;\n\n var token = _ref.token,\n externalName = _ref.externalName,\n internalName = _ref.internalName,\n experienceName = _ref.experienceName,\n incontext = _ref.incontext,\n experience = _ref.experience,\n _ref$common = _ref.common,\n common = _ref$common === void 0 ? {} : _ref$common;\n _appName = internalName;\n Object.assign(EXPERIENCE_PAYLOAD, {\n experience: experienceName\n }, experience);\n Object.assign(COMMON_PAYLOAD, {\n experience: experienceName,\n comp: externalName,\n feed_name: externalName,\n context_id: token,\n design: incontext ? 'In-Context' : 'Full-Context'\n }, common, {\n 'x-paypal-fpti': Object.assign({}, COMMON_PAYLOAD['x-paypal-fpti'], {\n context_id: token,\n context_type: 'EC-token',\n source: externalName\n }, common['x-paypal-fpti'])\n });\n fpti('INIT', Object.assign(EXPERIENCE_PAYLOAD, (_Object$assign = {}, _Object$assign[TAG.state_name] = STATE_NAME.init, _Object$assign)));\n};\nexport var fpti = function fpti(event, payload) {\n var _window, _window$performance;\n\n if (event === void 0) {\n event = '';\n }\n\n invariant(isObject(payload), 'FPTI payload must be an object type'); // Tack on common payload - required for every FPTI event\n\n Object.assign(payload, COMMON_PAYLOAD, {\n country: getCountry(),\n locale: getLocale()\n });\n payload.client_elapsed = window.performance && parseInt(((_window = window) === null || _window === void 0 ? void 0 : (_window$performance = _window.performance) === null || _window$performance === void 0 ? void 0 : _window$performance.now()) + '', 10);\n payload.client_epoch_ts = Date.now();\n var sanitizedPayload = sanitizeLogPayload(payload);\n var beaverInfo = _appName + \"_\" + event.toUpperCase() + \"_FPTI\";\n\n if (process.env.NODE_ENV === 'development') {\n console.groupCollapsed(\"FPTI Logged: \" + event.toUpperCase());\n console.log('Beaver Info', {\n beaverInfo: beaverInfo\n });\n console.log('Sanitized Payload', {\n sanitizedPayload: sanitizedPayload\n });\n console.groupEnd();\n } // log to CAL for debugging\n\n\n beaverLogger.info(beaverInfo, sanitizedPayload); // fire off an FPTI event\n\n beaverLogger.track(sanitizedPayload);\n};","function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport { getDeviceAndNetworkInfo, getTimeToInteract, getPageLoadTime } from '@paypalcorp/c3-util-browser';\nimport beaverLogger from 'beaver-logger';\nexport function logPerformance(customParams) {\n var _window, _window$PAYPAL, _window$PAYPAL$analyt;\n\n if (!((_window = window) !== null && _window !== void 0 && (_window$PAYPAL = _window.PAYPAL) !== null && _window$PAYPAL !== void 0 && (_window$PAYPAL$analyt = _window$PAYPAL.analytics) !== null && _window$PAYPAL$analyt !== void 0 && _window$PAYPAL$analyt.logPerformance)) {\n return;\n }\n\n var deviceAndNetworkInfo = getDeviceAndNetworkInfo();\n\n var timeToInteract = customParams.timeToInteract,\n restParams = _objectWithoutPropertiesLoose(customParams, [\"timeToInteract\"]);\n\n var data = Object.assign({}, restParams, {\n view: {\n t11: timeToInteract || getTimeToInteract(),\n // time to interact\n et: deviceAndNetworkInfo === null || deviceAndNetworkInfo === void 0 ? void 0 : deviceAndNetworkInfo.network_effectiveType,\n // network connection type\n pt: document.title,\n // page title\n ru: document.referrer,\n // referrer\n cd: window.screen.colorDepth,\n // screenColorDepth\n sw: window.screen.width,\n // screenWidth\n sh: window.screen.height,\n // screenHeight\n dw: window.screen.width * (window.devicePixelRatio || 1),\n // deviceWidth\n dh: window.screen.height * (window.devicePixelRatio || 1),\n // deviceHeight\n bw: deviceAndNetworkInfo === null || deviceAndNetworkInfo === void 0 ? void 0 : deviceAndNetworkInfo.screen_width,\n // browserWidth\n bh: deviceAndNetworkInfo === null || deviceAndNetworkInfo === void 0 ? void 0 : deviceAndNetworkInfo.screen_height // browserHeight\n\n },\n tt: getPageLoadTime() // page load time\n\n });\n\n try {\n window.PAYPAL.analytics.logPerformance(data);\n } catch (e) {\n beaverLogger.error('ERROR_IN_POPULATING_LOG_PERFORMANCE_DATA', {\n error: e\n });\n }\n}","function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* eslint camelcase: \"off\": 0 */\nimport * as $beaver from 'beaver-logger';\nimport { params } from '@paypalcorp/c3-util-browser';\nexport var initBeaver = function initBeaver(_ref) {\n var _window, _window$xprops;\n\n var loggerEndpoint = _ref.loggerEndpoint,\n token = _ref.token,\n externalName = _ref.externalName,\n experienceName = _ref.experienceName,\n internalName = _ref.internalName,\n incontext = _ref.incontext,\n _ref$silent = _ref.silent,\n silent = _ref$silent === void 0 ? process.env.NODE_ENV !== 'development' : _ref$silent,\n _ref$initial_state_na = _ref.initial_state_name,\n initial_state_name = _ref$initial_state_na === void 0 ? \"INIT_\" + internalName : _ref$initial_state_na,\n rest = _objectWithoutPropertiesLoose(_ref, [\"loggerEndpoint\", \"token\", \"externalName\", \"experienceName\", \"internalName\", \"incontext\", \"silent\", \"initial_state_name\"]);\n\n $beaver.init(Object.assign({\n // URI to post logs to\n uri: loggerEndpoint,\n // State name to post logs under\n initial_state_name: initial_state_name,\n // Interval at which to automatically flush logs to the server\n flushInterval: 30 * 1000,\n // Interval at which to debounce $logger.flush calls\n debounceInterval: 10,\n // Limit on number of logs before auto-flush happens\n sizeLimit: 500,\n // Suppress `console.log`s when `true`\n // Recommended for production usage\n silent: silent,\n // Enable or disable heartbeats, which run on an interval\n heartbeat: false,\n // Heartbeat log interval\n heartbeatInterval: 5000,\n // Maximum number of sequential heartbeat logs\n heartbeatMaxThreshold: 50,\n // Monitors for event loop delays and triggers a toobusy event\n heartbeatTooBusy: false,\n // Event loop delay which triggers a toobusy event\n heartbeatTooBusyThreshold: 10000,\n // Log levels which trigger an auto-flush to the server\n autoLog: ['warn', 'error'],\n // Log window.onunload and window.beforeUnload events?\n logUnload: true,\n // Log unload synchronously, to guarantee the log gets through?\n logUnloadSync: true,\n // Log performance stats from the browser automatically?\n logPerformance: false\n }, rest));\n\n var toToken = function toToken() {\n return {\n token: token\n };\n }; // add the app-name header to all log events\n // required for differentiating hermione logs in loggernodeweb\n\n\n $beaver.addHeaderBuilder(function () {\n return {\n 'x-app-name': externalName\n };\n });\n $beaver.addMetaBuilder(toToken);\n\n if ((_window = window) !== null && _window !== void 0 && (_window$xprops = _window.xprops) !== null && _window$xprops !== void 0 && _window$xprops.amplitude || params().native_xo) {\n var _window2, _window2$xprops;\n\n var user_id = ((_window2 = window) === null || _window2 === void 0 ? void 0 : (_window2$xprops = _window2.xprops) === null || _window2$xprops === void 0 ? void 0 : _window2$xprops.buttonSessionID) || params().buttonSessionID;\n $beaver.addMetaBuilder(function () {\n return {\n amplitude: true\n };\n });\n $beaver.addTrackingBuilder(function () {\n return {\n user_id: user_id\n };\n });\n $beaver.addPayloadBuilder(function () {\n return {\n user_id: user_id\n };\n });\n } // append EC token to the payload for all log events\n\n\n $beaver.addPayloadBuilder(toToken);\n};","import beaverLogger from 'beaver-logger';\nimport { fpti, initFpti } from './fpti';\nimport * as cpl from './cpl';\nimport { initBeaver } from './initBeaver';\nimport { sanitizeLogPayload, name } from './utils';\n/**\n * Provides capability to log to CAL and FPTI.\n * Powered by :\n * - beaver-logger {@link https://github.com/krakenjs/beaver-logger}\n * - beaver-logger-paypal {@link https://github.paypal.com/Checkout/beaver-logger-paypal}\n */\n\nvar init = function init(payload, beaverConfiguration, fptiConfiguration) {\n initBeaver(Object.assign({}, payload, beaverConfiguration));\n initFpti(Object.assign({}, payload, fptiConfiguration));\n};\n\nvar msg = function msg(message) {\n return console.warn(\"No real logger for \" + message);\n};\n\nvar cal = {\n info: msg,\n warn: msg,\n error: msg,\n transition: msg,\n flush: function flush() {\n return beaverLogger.flush();\n }\n};\nexport var logger = {\n init: init,\n fpti: fpti,\n cpl: cpl,\n cal: ['debug', 'info', 'warn', 'error', 'startTransition', 'endTransition', 'transition'].reduce(function (ret, method) {\n ret[method] = function () {\n var _beaverLogger$method;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (args[0]) {\n args[0] = name() + \"_\" + args[0];\n }\n\n if (args[1]) {\n args[1] = sanitizeLogPayload(args[1]);\n }\n\n return (_beaverLogger$method = beaverLogger[method]).call.apply(_beaverLogger$method, [beaverLogger].concat(args));\n };\n\n return ret;\n }, cal)\n};","/* eslint camelcase: \"off\": 0 */\nexport var STATE_NAME = {\n init: 'XO_LITE_INIT',\n review: 'REVIEW',\n addCard: 'ADD_FI',\n updateCard: 'UPDATE_FI',\n addBank: 'ADD_BANK',\n addBankOrCard: 'ADD_BANK_OR_CARD',\n addShipping: 'ADD_SHIPPING',\n addPrimaryAddress: 'ADD_PRIMARY_ADDRESS',\n addBilling: 'ADD_BILLING',\n fallback: 'redirect_hermes',\n backToMerchant: 'back_to_merchant',\n sharedCardConsentPage: 'shared_card_consent_page',\n sharedCardWaitPage: 'shared_card_wait_page',\n customerPresentAuth: 'CREATE_FI_AUTH',\n cvvContingency: 'CVV_CONTINGENCY',\n scaContingency: 'SCA_CONTINGENCY',\n trustedBeneficiary: 'TRUSTED_BENEFICIARY',\n threeDSContingency: 'THREE_DS_CONTINGENCY',\n incentives: 'INCENTIVES',\n linkAndPay: 'LINK_AND_PAY',\n sepaContingency: 'SEPA_CONTINGENCY',\n installments: 'INSTALLMENTS',\n bankAsDebit: 'bank_as_debit',\n bankAsDebitDisallowed: 'BANK_AS_DEBIT_DISALLOWED',\n otpConfirmation: 'OTP_CONFIRMATION',\n linkGuestToMember: 'link_guest_to_member',\n restrictedAccount: 'RESTRICTED_ERROR',\n clearCreditOption: 'CLEAR_CREDIT_OPTION',\n donePage: 'DONE_PAGE',\n xoExitState: 'checkout_exit_state',\n inventorySoldOut: 'PRODUCT_NOT_AVAILABLE_PURCHASE',\n paycodeContingency: 'PAY_CODE_REQUIRED',\n shippingAndTaxMethod: 'shipping_method'\n};\nexport var TRANSITION_NAME = {\n init: 'prepare_app',\n // MEMBER_RYI\n render: 'prepare_review',\n approvePayment: 'process_review',\n errorApprovePayment: 'error_approve_payment',\n manageFi: 'prepare_manage_fi',\n notyou: 'prepare_notyou_logout',\n webLLSOptOut: 'prepare_weblls_optout',\n webLLSOptOutSuccess: 'process_weblls_optout_success',\n webLLSOptOutError: 'process_weblls_optout_error',\n selectCreditOffer: 'prepare_apply_for_pp_credit',\n creditSecondButtonRedirect: 'prepare_credit_second_button_redirect',\n selectCreditReuseBanner: 'prepare_pp_credit',\n showCreditReuseBanner: 'prepare_show_pp_credit_reuse',\n showCreditOffer: 'prepare_credit_offer',\n logout: 'prepare_logout',\n ineligible: 'process_ineligible_feature',\n error: 'process_error_or_contingency',\n cancel: 'prepare_cancel_and_back_to_merchant',\n backToMerchant: 'prepare_back_to_merchant',\n fallback: 'process_redirect_hermes',\n // AddCard fallback for one touch use case\n addFiOneTouch: 'process_redirect_hermes_add_fi',\n // AddCard feature\n addFi: 'prepare_add_fi',\n errorAddFi: 'error_add_fi',\n processAddFi: 'process_add_fi',\n successAddFi: 'success_add_fi',\n errorUpdateFi: 'error_update_fi',\n processUpdateFi: 'process_update_fi',\n successUpdateFi: 'success_update_fi',\n cancelAddFi: 'prepare_cancel_add_fi',\n renderBillingAddress: 'prepare_billing_address',\n enableAddCardSubmit: 'prepare_add_card_submit_enable',\n // ADD_BANK feature\n useIBAN: 'use_IBAN_clicked',\n useBank: 'use_bank_clicked',\n creditLink: 'credit_check_link_clicked',\n processAddBank: 'process_add_bank',\n successAddBank: 'success_add_bank',\n errorAddBank: 'error_add_bank',\n processAddBankCandidate: 'process_add_bank_candidate',\n successAddBankCandidate: 'success_add_bank_candidate',\n errorAddBankCandidate: 'error_add_bank_candidate',\n // ADD_BANK_OR_CARD\n renderBankOrCard: 'render_add_bank_or_card',\n onClickBankTab: 'bank_tab_clicked',\n onClickCardTab: 'credit_card_tab_clicked',\n // ADD_BILLING Interstital (add_billing is part of add_card interstitial)\n addBilling: 'prepare_add_billing',\n cancelBilling: 'prepare_cancel_add_billing',\n selectBilling: 'process_select_existing_billing',\n errorAddFiBilling: 'error_add_fi_and_add_billing',\n successAddFiBilling: 'success_add_fi_and_add_billing',\n processAddFiBilling: 'process_add_fi_and_add_billing',\n errorUpdateFiBilling: 'error_update_fi_and_add_billing',\n successUpdateFiBilling: 'success_update_fi_and_add_billing',\n processUpdateFiBilling: 'process_update_fi_and_add_billing',\n // ADD_SHIPPING Interstitial\n changeShipping: 'prepare_change_shipping',\n selectShipping: 'process_select_shipping',\n addShipping: 'prepare_add_shipping',\n cancelAddShipping: 'prepare_cancel_add_shipping',\n processAddShipping: 'process_add_shipping',\n successAddShipping: 'success_add_shipping',\n errorAddShipping: 'error_add_shipping',\n processAddPrimaryAddress: 'process_add_primary_address',\n successAddPrimaryAddress: 'success_add_primary_address',\n errorAddPrimaryAddress: 'error_add_primary_address',\n needCreditCardAfterAddPrimaryAddress: 'need_credit_card_after_add_primary_address',\n enableSaveShipping: 'prepare_save_shipping_enable',\n selectPreferredShippingAddress: 'prepare_select_preferred_shipping_address',\n unselectPreferredShippingAddress: 'prepare_unselect_preferred_shipping_address',\n // ADDRESS_NORMALIZED Interstitial\n prepareAddNormalizedShippingAddress: 'prepare_add_normalized_shipping_address',\n processAddNormalizedShippingAddress: 'process_add_normalized_shipping_address',\n successAddNormalizedShippingAddress: 'success_add_normalized_shipping_address',\n errorFormattingAddress: 'error_formatting_address',\n errorCreatingGriffinHandler: 'error_creating_griffin_handler',\n errorFetchingGriffinMetadata: 'error_fetching_griffin_metadata',\n errorAddNormalizedShippingAddress: 'error_add_normalized_shipping_address',\n // SHARED CARD Member Components- Consent page\n prepareSaveSharedCardConsent: 'prepare_save_shared_card_consent',\n processSaveSharedCardConsent: 'process_save_shared_card_consent',\n successSaveSharedCardConsent: 'success_save_shared_card_consent',\n processCancelSharedCardFromContentLink: 'process_cancel_shared_card_from_content_link',\n // SHARED CARD Member Components- Wait page\n prepareWaitAfterSharedCardConsent: 'prepare_wait_after_shared_card_consent',\n successAfterSharedCardWaitReplan: 'success_after_shared_card_wait_replan',\n // error in this case is referring to any contingency like `NEED_CREDIT_CARD' or 'EXPIRED_CARD'\n errorAfterSharedCardReplan: 'error_after_shared_card_wait_replan',\n // ADD_SHIPPING fallback for one touch use case\n addShippingOneTouch: 'process_redirect_hermes_add_shipping',\n // CPA related fpti tags\n prepareDeclinedFi: 'prepare_declined_fi',\n retryDeclinedFi: 'process_retry_card',\n updateDeclinedFi: 'process_update_card',\n processPreAuth: 'process_fi_auth',\n preparePreAuth: 'prepare_fi_auth',\n processDeclinedFi: 'process_declined_fi',\n prepareRetryFi: 'prepare_retry_card',\n prepareUpdateFi: 'prepare_update_card',\n processApprovePaymentForUpdatedFi: 'process_approve_payment_updated_fi',\n errorApprovePaymentForUpdatedFi: 'error_approve_payment_updated_fi',\n processUpdateBtn: 'process_update_btn',\n // Disallowed related fpti tags\n prepareDisallowedFi: 'prepare_disallowed_fi',\n // CVV_CONTINGENCY Interstitial\n renderCvv: 'prepare_cvv_render',\n submitCvv: 'process_cvv_contingency',\n successCvvContingency: 'success_cvv_contingency',\n cancelCvvContingency: 'prepare_cancel_cvv',\n errorCvvContingency: 'error_cvv_contingency',\n // ThreeDS Interstitial\n renderThreeDS: 'prepare_3ds_interstitial_render',\n initThreeDS: 'process_3ds_init',\n redirectThreeDS: 'redirect_3ds',\n cancelThreeDS: 'prepare_cancel_3ds_interstitial',\n initThreeDsFail: '3ds_init_failure',\n timeoutThreeDs: '3ds_timeout',\n successThreeDSInit: '3ds_init_success',\n processThreeDSFullPage: 'process_3ds_full_page',\n processThreeDS: 'process_3ds_contingency',\n successThreeDS: 'success_3ds_contingency',\n errorThreeDSContingency: 'error_3ds_contingency',\n errorThreeDSCardinalToken: 'error_3ds_cardinal_token',\n // Review Before Login\n initReviewBeforeLogin: 'process_review_before_login_init',\n renderReviewBeforeLogin: 'prepare_review_before_login_render',\n cancelReviewBeforeLogin: 'prepare_cancel_review_before_login',\n loginSuccess: 'login_success',\n loginError: 'login_error',\n // Trusted Beneficiary\n renderTrustedBeneficiary: 'prepare_tb_render',\n trustedBeneficiaryOptedIn: 'tb_opted_in',\n trustedBeneficiaryNoThanks: 'tb_no_thanks',\n trustedBeneficiaryError: 'tb_error',\n // SCA Exemptions\n lowValueExemption: 'tb_low_value_txn_exempt',\n buyerNotPresentExemption: 'tb_buyer_not_present_exempt',\n isTrustedBeneficiaryExemption: 'tb_is_tb_exempt',\n referenceTxnExemption: 'tb_reference_txn_exempt',\n // Incentives\n renderIncentives: 'render_incentives',\n expandIncentives: 'expand_incentives',\n // Open Banking\n prepareRtb: 'prepare_rtb_user_consent',\n processRtbAgree: 'process_rtb_user_consent_agree_and_login',\n processRtbSwitch: 'process_rtb_user_consent_switch_fi',\n prepareRtbCheck: 'prepare_rtb_check',\n // GiveAtCheckout\n prepareGAC: 'prepare_give_at_checkout',\n processGAC: 'process_give_at_checkout',\n // Choice / SelectFi\n selectFiLink: 'prepare_select_fi',\n // Link and pay\n renderLinkAndPay: 'prepare_lnp',\n successLinkAndPay: 'success_lnp_approve_payment',\n errorLinkAndPay: 'error_lnp_approve_payment',\n processLinkAndPayWithIncentive: 'process_lnp_fully_funded_incentive',\n errorStickyFI: 'error_sticky_fi',\n // Sepa Interstitial\n renderSepa: 'prepare_sepa_render',\n submitSepa: 'process_sepa_contingency',\n successSepaContingency: 'success_sepa_contingency',\n cancelSepaContingency: 'prepare_cancel_sepa',\n errorSepaContingency: 'error_sepa_contingency',\n // LATAM Installments\n processInstallmentOptions: 'process_instlmnt_options',\n prepareInstallments: 'prepare_installments',\n processInstallments: 'process_installments',\n errorBillingAgreement: 'error_billing_agreement',\n showBillingAgreement: 'show_billing_agreement',\n // DonationShareAddress\n donationShareAddress: 'donation_share_address',\n donationNotShareAddress: 'donation_not_share_address',\n // BANK as Debit\n processClose: 'process_close',\n processBack: 'process_back',\n prepareBankAsDebit: 'prepare_bank_as_debit',\n processBankAsDebit: 'process_bank_as_debit',\n // BANK as Debit Disallowed\n prepareBankAsDebitDisallowed: 'prepare_bank_as_debit_disallowed',\n processBankAsDebitDisallowed: 'process_bank_as_debit_disallowed',\n // OTP Confirmation\n renderOTPConfirmation: 'prepare_otp_render',\n submitOTPConfirmation: 'process_otp_confirmation',\n successOTPConfirmation: 'success_otp_confirmation',\n cancelOTPConfirmation: 'prepare_cancel_otp',\n errorOTPConfirmation: 'error_otp_confrimation',\n sendOTPCode: 'send_otp_code',\n errorSendOTPCode: 'error_send_otp_code',\n timeExpiredOTP: 'time_expired_otp',\n renderOTPPhoneNumber: 'prepare_otp_phone_number_render',\n // Potential cards\n prepareAddPotentialCardCsc: 'prepare_add_potential_card_csc',\n processAddPotentialCardCsc: 'process_add_potential_card_csc',\n toolTipShown: 'tooltip_shown',\n toolTipHidden: 'tooltip_hidden',\n processCheckCard: 'process_check_card',\n //restrictedAccount use useCases\n prepareRestrictionError: 'prepare_restriction_error',\n processRestrictionError: 'process_restriction_error',\n // WPS flow\n prepareDonePage: 'prepare_done_page',\n detailClicked: 'detail_clicked',\n processDonePage: 'process_done_page',\n exitSpinner: 'exit_spinner_shown',\n //SPLIT BALANCE FLOW\n splitBalanceOptIn: 'split_balance_opt_in',\n splitBalanceOptOut: 'split_balance_opt_out',\n splitBalanceHasAmount: 'split_balance_has_amount',\n splitBalanceCheckOut: 'split_balance_opt_checkout',\n // Sold Out Page\n inventorySoldOut: 'product_not_available_purchase_render',\n continueShoppingClicked: 'continue_shopping_clicked',\n // Shipping and Tax\n processSelectShippingMethod: 'process_select_shipping_method',\n shippingMethodRender: 'shipping_method_render',\n shippingMethodCancel: 'shipping_method_cancel',\n processShippingMethodWith: 'process_shipping_method_with'\n};\nexport var TAG;\n\n(function (TAG) {\n TAG[\"state_name\"] = \"state_name\";\n TAG[\"transition_name\"] = \"transition_name\";\n TAG[\"fallback_reason\"] = \"fallback_reason\";\n})(TAG || (TAG = {}));","import { getGlobals, getIsLinkAndPay } from '@paypalcorp/c3-shared-globals';\nimport { isIframe } from '@paypalcorp/c3-util-browser';\n/**\n * Be super duper careful calling this function\n * as it may not have initialized correctly.\n *\n * @return {string|*|Maybe}\n */\n\nexport var getThreeDSexp = function getThreeDSexp() {\n var _getGlobals, _getGlobals$threeDS;\n\n return getIsLinkAndPay() ? 'redirect' : isIframe() ? void 0 : (_getGlobals = getGlobals()) === null || _getGlobals === void 0 ? void 0 : (_getGlobals$threeDS = _getGlobals.threeDS) === null || _getGlobals$threeDS === void 0 ? void 0 : _getGlobals$threeDS.experiment;\n};\nexport function isThreeDSPaymentExperience(v) {\n return ['REDIRECT', 'IFRAME', 'HOPFREE'].includes(v);\n}\n\nvar experiences = function experiences() {\n var exp = getThreeDSexp();\n\n if (typeof exp === 'string') {\n var v = exp.toUpperCase();\n\n if (isThreeDSPaymentExperience(v)) {\n return [v];\n }\n }\n\n return [];\n};\n\n/**\n * Short Story: Trying to make the access to this variable as lazy\n * as possible to make sure it is accurate. Need to rethink\n * the global initialization stuff.\n *\n * Long story: When changing the PaymentContingenciesFragment from\n * a runtime boolean to a variable, we unearthed an initialization bug\n * that sometimes getThreeDSexp would return 'iframe' when it was\n * suppose to be 'redirect'. This would cause a cache miss and\n * break tests.\n *\n * Why not a Promise on initialization?\n * - First this is a bug never seen in production, and likely not to\n * occur there.\n *\n * - Second adding a promise to initialization would create\n * a chain of promises var down the chain. This might actually\n * make the initialization worse.\n *\n */\nexport var threeDsExperienceVars = function threeDsExperienceVars(rest) {\n if (rest === void 0) {\n rest = {};\n }\n\n return Object.defineProperty(rest, 'experiences', {\n enumerable: true,\n get: experiences\n });\n};","export * from './isWebView';\nexport * from './isStorageAvailable';\nexport * from './localStorage';\nexport * from './types';\nexport * from './getDeviceAndNetworkInfo';\nexport * from './getDeviceType';\nexport * from './isViewportSmall';\nexport * from './params';\nexport * from './isIframe';\nexport * from './isPopup';\nexport * from './getPerformanceTimingInfo';\nexport * from './cookie';","/**\n * Below are Apollo Link State (@client) related local `mutations` along with its exported actions\n *\n * NOTE: Please place all the future local `mutations` below for better code collocation and readability.\n * Keep in mind, not every local `mutation` defined below are being exported instead local `mutation`\n * is collocated along with the actual `mutation` function. There are only a few instances where local\n * `mutations` are being exported and we're in the process of cleaning this up :)\n */\nimport { getClient } from '@paypalcorp/c3-shared-globals';\nimport { invariant } from '@paypalcorp/c3-util-lang';\nimport { logger } from '@paypalcorp/c3-util-logger';\n\n/**\n * @description `prefetchQueryData()` is a helper utility function that facilitates pre-fetching data\n *\n * @param {Object} obj\n * @param {Boolean} obj.query | The GraphQL query document\n * @param {Object} obj.payload | The payload data for your query request\n * @param {Object} obj.context | The context options your query can pass. `skipFallback` && `skipRetry` are the\n * two boolean options you can pass currently\n * @returns {Promise} | Returns the query resource result as a promise\n */\nvar prefetchQueryData = function prefetchQueryData(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n query = _ref.query,\n payload = _ref.payload,\n _ref$context = _ref.context,\n context = _ref$context === void 0 ? {} : _ref$context;\n\n invariant(query, 'query is missing');\n return getClient().query({\n query: query,\n variables: Object.assign({}, payload),\n context: context\n });\n};\n/**\n * @description `prefetchData()` provides the ability to load external GraphQL\n * data into the apollo cache before it needs to be rendered on our UI.\n *\n * @example See `change shipping` link from `src/components/AddFILink` (onMouseOver event)\n * @example See `add a credit/debit card` from `src/components/ShipTo/AddShippingLink` (onMouseOver event)\n *\n * @param {Object} obj\n * @param {Boolean} obj.resources | An array of query resources. Each resource will contain a `query` and `payload`\n * @returns {Function} | Returns the higher order function that can be invoked to prefetch data\n */\n\n\nexport var prefetchData = function prefetchData(_temp2) {\n var _ref2 = _temp2 === void 0 ? {} : _temp2,\n resources = _ref2.resources;\n\n return function (e) {\n invariant(Array.isArray(resources), 'Prefetch resources must be an array type');\n e && e.preventDefault();\n e && e.stopPropagation();\n return Promise.all(resources.map(function (_ref3) {\n var query = _ref3.query,\n payload = _ref3.payload,\n context = _ref3.context;\n return prefetchQueryData({\n query: query,\n payload: payload,\n context: context\n });\n }));\n };\n};\nexport var updateFeature = function updateFeature(id, data) {\n if (data && data.selectedFundingOptionId !== undefined) {\n logger.cal.info('UPDATE_FEATURE_CHANGE_SELECTED_FUNDING_OPTION_ID', {\n id: id,\n data: data\n });\n }\n\n return getClient().mutate({\n mutation: {\n \"kind\": \"Document\",\n \"definitions\": [{\n \"kind\": \"OperationDefinition\",\n \"operation\": \"mutation\",\n \"name\": {\n \"kind\": \"Name\",\n \"value\": \"LocalUpdateFeature\"\n },\n \"variableDefinitions\": [{\n \"kind\": \"VariableDefinition\",\n \"variable\": {\n \"kind\": \"Variable\",\n \"name\": {\n \"kind\": \"Name\",\n \"value\": \"id\"\n }\n },\n \"type\": {\n \"kind\": \"NamedType\",\n \"name\": {\n \"kind\": \"Name\",\n \"value\": \"String\"\n }\n },\n \"directives\": []\n }, {\n \"kind\": \"VariableDefinition\",\n \"variable\": {\n \"kind\": \"Variable\",\n \"name\": {\n \"kind\": \"Name\",\n \"value\": \"data\"\n }\n },\n \"type\": {\n \"kind\": \"NamedType\",\n \"name\": {\n \"kind\": \"Name\",\n \"value\": \"JSON\"\n }\n },\n \"directives\": []\n }],\n \"directives\": [],\n \"selectionSet\": {\n \"kind\": \"SelectionSet\",\n \"selections\": [{\n \"kind\": \"Field\",\n \"name\": {\n \"kind\": \"Name\",\n \"value\": \"updateFeatureFlagResolver\"\n },\n \"arguments\": [{\n \"kind\": \"Argument\",\n \"name\": {\n \"kind\": \"Name\",\n \"value\": \"id\"\n },\n \"value\": {\n \"kind\": \"Variable\",\n \"name\": {\n \"kind\": \"Name\",\n \"value\": \"id\"\n }\n }\n }, {\n \"kind\": \"Argument\",\n \"name\": {\n \"kind\": \"Name\",\n \"value\": \"data\"\n },\n \"value\": {\n \"kind\": \"Variable\",\n \"name\": {\n \"kind\": \"Name\",\n \"value\": \"data\"\n }\n }\n }],\n \"directives\": [{\n \"kind\": \"Directive\",\n \"name\": {\n \"kind\": \"Name\",\n \"value\": \"client\"\n },\n \"arguments\": []\n }]\n }]\n }\n }],\n \"loc\": {\n \"start\": 0,\n \"end\": 139,\n \"source\": {\n \"body\": \"\\n mutation LocalUpdateFeature($id: String, $data: JSON) {\\n updateFeatureFlagResolver(id: $id, data: $data) @client\\n }\\n \",\n \"name\": \"GraphQL request\",\n \"locationOffset\": {\n \"line\": 1,\n \"column\": 1\n }\n }\n }\n },\n variables: {\n id: id,\n data: data\n }\n });\n};\nexport var updateFeatures = function updateFeatures(features) {\n return getClient().mutate({\n mutation: {\n \"kind\": \"Document\",\n \"definitions\": [{\n \"kind\": \"OperationDefinition\",\n \"operation\": \"mutation\",\n \"name\": {\n \"kind\": \"Name\",\n \"value\": \"LocalUpdateFeatures\"\n },\n \"variableDefinitions\": [{\n \"kind\": \"VariableDefinition\",\n \"variable\": {\n \"kind\": \"Variable\",\n \"name\": {\n \"kind\": \"Name\",\n \"value\": \"features\"\n }\n },\n \"type\": {\n \"kind\": \"NonNullType\",\n \"type\": {\n \"kind\": \"NamedType\",\n \"name\": {\n \"kind\": \"Name\",\n \"value\": \"Array\"\n }\n }\n },\n \"directives\": []\n }],\n \"directives\": [],\n \"selectionSet\": {\n \"kind\": \"SelectionSet\",\n \"selections\": [{\n \"kind\": \"Field\",\n \"name\": {\n \"kind\": \"Name\",\n \"value\": \"updateFeaturesFlagResolver\"\n },\n \"arguments\": [{\n \"kind\": \"Argument\",\n \"name\": {\n \"kind\": \"Name\",\n \"value\": \"features\"\n },\n \"value\": {\n \"kind\": \"Variable\",\n \"name\": {\n \"kind\": \"Name\",\n \"value\": \"features\"\n }\n }\n }],\n \"directives\": [{\n \"kind\": \"Directive\",\n \"name\": {\n \"kind\": \"Name\",\n \"value\": \"client\"\n },\n \"arguments\": []\n }]\n }]\n }\n }],\n \"loc\": {\n \"start\": 0,\n \"end\": 133,\n \"source\": {\n \"body\": \"\\n mutation LocalUpdateFeatures($features: Array!) {\\n updateFeaturesFlagResolver(features: $features) @client\\n }\\n \",\n \"name\": \"GraphQL request\",\n \"locationOffset\": {\n \"line\": 1,\n \"column\": 1\n }\n }\n }\n },\n variables: {\n features: features\n }\n });\n};\nexport var updateContingency = function updateContingency(id, data) {\n if (data === void 0) {\n data = {};\n }\n\n return getClient().mutate({\n mutation: {\n \"kind\": \"Document\",\n \"definitions\": [{\n \"kind\": \"OperationDefinition\",\n \"operation\": \"mutation\",\n \"name\": {\n \"kind\": \"Name\",\n \"value\": \"LocalUpdateContingency\"\n },\n \"variableDefinitions\": [{\n \"kind\": \"VariableDefinition\",\n \"variable\": {\n \"kind\": \"Variable\",\n \"name\": {\n \"kind\": \"Name\",\n \"value\": \"id\"\n }\n },\n \"type\": {\n \"kind\": \"NamedType\",\n \"name\": {\n \"kind\": \"Name\",\n \"value\": \"String\"\n }\n },\n \"directives\": []\n }, {\n \"kind\": \"VariableDefinition\",\n \"variable\": {\n \"kind\": \"Variable\",\n \"name\": {\n \"kind\": \"Name\",\n \"value\": \"data\"\n }\n },\n \"type\": {\n \"kind\": \"NamedType\",\n \"name\": {\n \"kind\": \"Name\",\n \"value\": \"JSON\"\n }\n },\n \"directives\": []\n }],\n \"directives\": [],\n \"selectionSet\": {\n \"kind\": \"SelectionSet\",\n \"selections\": [{\n \"kind\": \"Field\",\n \"name\": {\n \"kind\": \"Name\",\n \"value\": \"updateContingencyResolver\"\n },\n \"arguments\": [{\n \"kind\": \"Argument\",\n \"name\": {\n \"kind\": \"Name\",\n \"value\": \"id\"\n },\n \"value\": {\n \"kind\": \"Variable\",\n \"name\": {\n \"kind\": \"Name\",\n \"value\": \"id\"\n }\n }\n }, {\n \"kind\": \"Argument\",\n \"name\": {\n \"kind\": \"Name\",\n \"value\": \"data\"\n },\n \"value\": {\n \"kind\": \"Variable\",\n \"name\": {\n \"kind\": \"Name\",\n \"value\": \"data\"\n }\n }\n }],\n \"directives\": [{\n \"kind\": \"Directive\",\n \"name\": {\n \"kind\": \"Name\",\n \"value\": \"client\"\n },\n \"arguments\": []\n }]\n }]\n }\n }],\n \"loc\": {\n \"start\": 0,\n \"end\": 143,\n \"source\": {\n \"body\": \"\\n mutation LocalUpdateContingency($id: String, $data: JSON) {\\n updateContingencyResolver(id: $id, data: $data) @client\\n }\\n \",\n \"name\": \"GraphQL request\",\n \"locationOffset\": {\n \"line\": 1,\n \"column\": 1\n }\n }\n }\n },\n variables: {\n id: id,\n data: data\n }\n });\n};","/**\n * Returns boolean if a plan is a PAD plan\n *\n * @param {object} plan | The `plan` object from `allPlans\n * @returns {boolean}\n */\nimport { FundingInstrumentSubType, FundingOptionType } from '@paypalcorp/c3-graphql-schema';\nimport { isString } from '@paypalcorp/c3-util-lang';\nexport var isPadPlan = function isPadPlan(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$fundingSources = _ref.fundingSources,\n fundingSources = _ref$fundingSources === void 0 ? [] : _ref$fundingSources;\n\n return fundingSources.some(isPadFundingSource);\n};\n/**\n * Returns boolean if a `fundingSource` within a plan is the one with PAD\n * @param {object} source | A `fundingSource` object\n */\n\nexport var isPadFundingSource = function isPadFundingSource(source) {\n if (source === void 0) {\n source = {};\n }\n\n return source.fundingMethodType === 'DELAYED';\n};\n/**\n * Returns boolean if a fundingInstrument is a bank\n *\n * @param {object} fundingInstrument | The `fundingInstrument` or `fundingOption` object\n * @returns {boolean}\n */\n\nexport var isBank = function isBank(fundingInstrument) {\n if (fundingInstrument === void 0) {\n fundingInstrument = {};\n }\n\n return fundingInstrument.type === 'BANK_ACCOUNT';\n};\n/**\n * Determine if the Funding Instrument is PayPal Credit\n */\n\nexport var isPPCFundingInstrument = function isPPCFundingInstrument(fundingInstrument) {\n var _fundingInstrument;\n\n if (fundingInstrument === void 0) {\n fundingInstrument = {};\n }\n\n var _ref2 = (_fundingInstrument = fundingInstrument) !== null && _fundingInstrument !== void 0 ? _fundingInstrument : {},\n name = _ref2.name,\n type = _ref2.type;\n\n return name === 'BILL_ME_LATER' && type === FundingOptionType.PaypalCredit;\n};\n/**\n * Determine if a given Funding Instrument is a Pay Later FI\n */\n\nexport var isPayLaterFundingInstrument = function isPayLaterFundingInstrument(fundingInstrument) {\n var _fundingInstrument2;\n\n if (fundingInstrument === void 0) {\n fundingInstrument = {};\n }\n\n var _ref3 = (_fundingInstrument2 = fundingInstrument) !== null && _fundingInstrument2 !== void 0 ? _fundingInstrument2 : {},\n name = _ref3.name,\n type = _ref3.type;\n\n return isString(name) && (name === 'BILL_ME_LATER' || name.includes('PAY_LATER')) && type === FundingOptionType.PaypalCredit;\n};\n/**\n * Determine if a given Funding Instrument is a cryptocurrency\n */\n\nexport var isCryptoFundingInstrument = function isCryptoFundingInstrument(_temp2) {\n var _ref4 = _temp2 === void 0 ? {} : _temp2,\n type = _ref4.type,\n instrumentSubType = _ref4.instrumentSubType;\n\n return type === FundingOptionType.Cryptocurrency && instrumentSubType === FundingInstrumentSubType.Cryptocurrency;\n};\n/**\n * Returns boolean if a plan is a split balance plan\n *\n * @param {object} plan | A plan object to test if it is a split balance plan\n * @returns {boolean}\n */\n\nexport var isSplitBalancePlan = function isSplitBalancePlan(_temp3) {\n var _ref5 = _temp3 === void 0 ? {} : _temp3,\n _ref5$fundingSources = _ref5.fundingSources,\n fundingSources = _ref5$fundingSources === void 0 ? [] : _ref5$fundingSources;\n\n return !!(fundingSources.filter(isNotIncentive).length > 1 && fundingSources.find(isPayPalBalance));\n};\n/**\n * Determine if a given funding source is PayPal balance\n */\n\nexport var isPayPalBalance = function isPayPalBalance(fundingSource) {\n if (fundingSource === void 0) {\n fundingSource = {};\n }\n\n var _fundingSource = fundingSource,\n _fundingSource$fundin = _fundingSource.fundingInstrument,\n type = _fundingSource$fundin.type,\n instrumentSubType = _fundingSource$fundin.instrumentSubType;\n return type === 'PAYPAL_BALANCE' && instrumentSubType === 'PAYPAL';\n};\n/**\n * Determine if a given funding source is not an Incentive.\n * This is necessary to prevent false positives in `isSplitBalancePlan`,\n * which makes a determination based on the amount of funding sources.\n * Incentives should not count, so we filter them out.\n */\n\nvar isNotIncentive = function isNotIncentive(fundingSource) {\n if (fundingSource === void 0) {\n fundingSource = {};\n }\n\n var _fundingSource2 = fundingSource,\n type = _fundingSource2.fundingInstrument.type;\n return type !== 'INCENTIVE';\n};","import { memoize } from '@paypalcorp/c3-util-lang';\nimport { isBank, isCryptoFundingInstrument, isPadFundingSource, isPadPlan, isPayPalBalance, isSplitBalancePlan } from './validators';\n\n/**\n * Returns the plan that contains the funding instrument alone\n *\n * @param {object} fundingOption | The `fundingOption` object\n * @param {array} fundingOption.allPlans | The plans on the `fundingOption`\n * @returns {object} The `plan` object with only one `fundingSource`\n */\nexport var getSoloPlan = function getSoloPlan(fundingOption) {\n var _fundingOption$allPla;\n\n return fundingOption === null || fundingOption === void 0 ? void 0 : (_fundingOption$allPla = fundingOption.allPlans) === null || _fundingOption$allPla === void 0 ? void 0 : _fundingOption$allPla.find(function (plan) {\n return plan.fundingSources.length === 1;\n });\n};\n/**\n * Returns the first plan that contains the fundingInstrument and other sources. Other sources\n * can be things like balance, incentives, rewards.\n *\n * @TODO: consider how split plan should work with other options like currency conversion\n *\n * @param {object} fundingOption | The `fundingOption` object\n * @param {array} fundingOption.allPlans | The plans on the `fundingOption`\n * @returns {object} The first `plan` object with more than one fundingSource\n */\n\nexport var getSplitPlan = function getSplitPlan(fundingOption) {\n var _fundingOption$allPla2;\n\n return fundingOption === null || fundingOption === void 0 ? void 0 : (_fundingOption$allPla2 = fundingOption.allPlans) === null || _fundingOption$allPla2 === void 0 ? void 0 : _fundingOption$allPla2.find(function (plan) {\n return plan.fundingSources.length > 1;\n });\n};\n/**\n * Returns the plan that contains a currency conversion option.\n * TODO: consider how currency conversion plan should work with split balance\n *\n * @param {object} fundingOption | The `fundingOption` object\n * @param {array} fundingOption.allPlans | The plans on the `fundingOption`\n * @returns {object} The plan with currency conversion\n */\n\nexport var getCurrencyConversionPlan = function getCurrencyConversionPlan(fundingOption) {\n var _fundingOption$allPla3;\n\n return fundingOption === null || fundingOption === void 0 ? void 0 : (_fundingOption$allPla3 = fundingOption.allPlans) === null || _fundingOption$allPla3 === void 0 ? void 0 : _fundingOption$allPla3.find(function (plan) {\n return plan.currencyConversion;\n });\n};\n/**\n * Returns the plan that contains a bank instrument with PAD method type\n *\n * @param {object} fundingOption | The `fundingOption` object\n * @param {object} fundingOption.fundingInstrument | The `fundingInstrument` object\n * @param {array} fundingOption.allPlans | The plans on the `fundingOption`\n * @returns {object} The plan object containing PAD for this `fundingOption`\n */\n\nexport var getPadPlan = function getPadPlan(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$fundingInstrumen = _ref.fundingInstrument,\n fundingInstrument = _ref$fundingInstrumen === void 0 ? {} : _ref$fundingInstrumen,\n _ref$allPlans = _ref.allPlans,\n allPlans = _ref$allPlans === void 0 ? [] : _ref$allPlans;\n\n return isBank(fundingInstrument) && allPlans.find(isPadPlan);\n};\n/**\n * Gets the PAD payment date from a funding option\n *\n * @param {object} fundingOption | The `fundingOption` object\n * @returns {object} The `delayedPaymentDate` result for PAD for this `fundingOption`.\n * Example: {\n * dateShort: \"2019/7/25\" // The formatted date\n * d: \"25\" // The date string value\n * m: \"7\" // The month string value\n * y: \"2019\" // The year string value\n * }\n */\n\nexport var getPadDate = function getPadDate(fundingOption) {\n if (fundingOption === void 0) {\n fundingOption = {};\n }\n\n var padPlan = getPadPlan(fundingOption);\n\n if (padPlan) {\n return getPadFundingSource(padPlan).delayedPaymentDate;\n }\n\n return {};\n};\n/**\n * Takes year, month, day, return the difference in number of days\n * from now until then.\n * Docs with rules: https://engineering.paypalcorp.com/confluence/display/MICA/Pad+use+cases#Padusecases-xolitecontent\n * Basically most of countries have 21 days, but e.g Canada has sometimes 10 or 14 or 21\n * So because the calculation can be off sometimes\n * due to time zones - find the closest valid number of delay days\n *\n * @param {object} | fundingOption\n * @returns {String} | Number of days\n */\n\nexport var getPadNumberOfDelayedDays = function getPadNumberOfDelayedDays(fundingOption) {\n if (fundingOption === void 0) {\n fundingOption = {};\n }\n\n var _getPadDate = getPadDate(fundingOption),\n y = _getPadDate.y,\n M = _getPadDate.M,\n d = _getPadDate.d; // Month used in Date.UTC is offset by 1. (e.g. `January === 0`) Thanks JS!\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n\n\n var month = M - 1;\n var oneDay = 1000 * 60 * 60 * 24;\n var today = Date.now(); // also references UTC\n // TODO -- figure out how to do math here\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n\n var future = Date.UTC(y, month, d);\n var timestampDifference = future - today; //TODO - Determine why toString is here.\n\n var approxResult = Math.ceil(timestampDifference / oneDay).toString();\n var daysOfDelay = [10, 14, 21];\n var minDiffIdx = 0;\n daysOfDelay.forEach(function (day, idx) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n var currDiff = Math.abs(day - approxResult); // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n\n if (Math.abs(daysOfDelay[minDiffIdx] - approxResult) > currDiff) {\n minDiffIdx = idx;\n }\n });\n return daysOfDelay[minDiffIdx];\n};\n/**\n * Returns the `fundingSource` within a plan that contains PAD options\n * @param {object} plan | The `plan` object from `allPlans`\n * @param {array} plan.fundingSources | The `fundingSources` for the plan\n */\n\nexport var getPadFundingSource = function getPadFundingSource(_temp2) {\n var _ref2 = _temp2 === void 0 ? {} : _temp2,\n _ref2$fundingSources = _ref2.fundingSources,\n fundingSources = _ref2$fundingSources === void 0 ? [] : _ref2$fundingSources;\n\n return fundingSources.find(isPadFundingSource);\n};\n/**\n * Return the first split balance plan found in a fundingOption. If there\n * is more than one split balance plan, this will only return the first.\n *\n * @param {object} fundingOption | A fundingOption object\n * @param {array} fundingOption.allPlans | The plans on the `fundingOption`\n * @returns {object} A plan object for the first split balance found\n */\n\nexport var getSplitBalancePlan = function getSplitBalancePlan(fundingOption) {\n var _fundingOption$allPla4;\n\n return fundingOption === null || fundingOption === void 0 ? void 0 : (_fundingOption$allPla4 = fundingOption.allPlans) === null || _fundingOption$allPla4 === void 0 ? void 0 : _fundingOption$allPla4.find(isSplitBalancePlan);\n};\n/**\n * Find selected plan from fi based on what's currently selected by user,\n * for example split balance can be selected or pad. Will take into account\n * selections by user and resolve to the plan that matches those criteria.\n\n * @param {object} fi | A selected fundingOption object\n * @param {object} payWithFeature | The `data` object from the `PAY_WITH` feature\n *\n * @returns {object} A plan object resolved for user's criteria. If no match is found,\n * it will resolve to the solo plan. Example: split balance and PAD are available\n * for an FI, but user only selected PAD. This should resolve to the plan the PAD\n * plan that does not contain split balance.\n *\n * @TODO: add currencyConversion\n */\n\nexport var getSelectedPlan = function getSelectedPlan(_temp3) {\n var _ref3 = _temp3 === void 0 ? {} : _temp3,\n _ref3$fi = _ref3.fi,\n fi = _ref3$fi === void 0 ? {} : _ref3$fi,\n _ref3$payContext = _ref3.payContext,\n payContext = _ref3$payContext === void 0 ? {} : _ref3$payContext;\n\n var _ref4 = (payContext === null || payContext === void 0 ? void 0 : payContext.payState) || {},\n useSplitBalance = _ref4.useSplitBalance,\n usePayAfterDelivery = _ref4.usePayAfterDelivery;\n\n var _ref5 = fi || {},\n _ref5$allPlans = _ref5.allPlans,\n allPlans = _ref5$allPlans === void 0 ? [] : _ref5$allPlans; // Create key / value pairs with flag enabled / disabled\n\n\n var planCriteria = {\n useSplitBalance: useSplitBalance,\n usePayAfterDelivery: usePayAfterDelivery\n }; // Assign functions to determine if a plan meets the criteria for a condition\n\n var assertions = {\n useSplitBalance: isSplitBalancePlan,\n usePayAfterDelivery: isPadPlan\n }; // Test the plan against the assertion function and return true / false\n // if the plan matches the criteria.\n\n var planPredicate = function planPredicate(plan) {\n return function (_ref6) {\n var flag = _ref6[0],\n _ref6$ = _ref6[1],\n useFlagForPlan = _ref6$ === void 0 ? false : _ref6$;\n var assertion = assertions[flag];\n return assertion(plan) === useFlagForPlan;\n };\n }; // Takes all plans, tests against all criteria, and resolves to the\n // plan that meets all requirements. Returns `undefined` if not found.\n\n\n var selectedPlan = allPlans.find(function (plan) {\n return Object.entries(planCriteria).every(planPredicate(plan));\n }); // Since this is currently called by many components, need to return an\n // empty object to prevent errors. Previous code would fallback to\n // returning the solo plan, but that is a poor pattern if the solo plan\n // is not what the user was expecting to select in the UI. The selectedPlan\n // should resolve to a solo plan anyway, but we should work on a more robust\n // pattern here.\n\n return selectedPlan || {};\n};\n/**\n * Get the default selected plan from the funding options array.\n *\n * @param {array} fundingOptions An array of funding options from GraphQL\n * @returns {object} The selected plan\n */\n\nexport var getDefaultSelectedPlan = function getDefaultSelectedPlan(fundingOptions) {\n if (fundingOptions === void 0) {\n fundingOptions = [];\n }\n\n var selectedPlan = null;\n fundingOptions.find(function (fundingOption) {\n var _fundingOption$allPla5, _fundingOption$allPla6;\n\n selectedPlan = (_fundingOption$allPla5 = (_fundingOption$allPla6 = fundingOption.allPlans) === null || _fundingOption$allPla6 === void 0 ? void 0 : _fundingOption$allPla6.find(function (plan) {\n return plan.isSelected;\n })) !== null && _fundingOption$allPla5 !== void 0 ? _fundingOption$allPla5 : null;\n return Boolean(selectedPlan);\n });\n return selectedPlan;\n};\n/**\n * Get backup funding instrument from a funding option\n */\n\nexport var getBackupFundingInstrumentFromSoloPlan = function getBackupFundingInstrumentFromSoloPlan(fundingOption) {\n var _getSoloPlan;\n\n if (!fundingOption) {\n return;\n }\n\n return (_getSoloPlan = getSoloPlan(fundingOption)) === null || _getSoloPlan === void 0 ? void 0 : _getSoloPlan.backupFundingInstrument;\n};\n/**\n * Get amount from a solo plan on a funding option\n */\n\nexport var getAmountFromSoloPlan = function getAmountFromSoloPlan(fundingOption) {\n var _getSoloPlan2, _getSoloPlan2$funding, _getSoloPlan2$funding2;\n\n if (!fundingOption) {\n return;\n } // getSoloPlan returns us a plan which only has a single funding source\n\n\n return (_getSoloPlan2 = getSoloPlan(fundingOption)) === null || _getSoloPlan2 === void 0 ? void 0 : (_getSoloPlan2$funding = _getSoloPlan2.fundingSources) === null || _getSoloPlan2$funding === void 0 ? void 0 : (_getSoloPlan2$funding2 = _getSoloPlan2$funding[0]) === null || _getSoloPlan2$funding2 === void 0 ? void 0 : _getSoloPlan2$funding2.amount;\n};\n/**\n * Get the default selected funding source from the funding options array.\n *\n * @param {array} fundingOptions An array of funding options from GraphQL\n * @returns {object} The selected funding source\n */\n\nexport var getDefaultSelectedFundingSources = function getDefaultSelectedFundingSources(fundingOptions) {\n var _plan$fundingSources;\n\n if (fundingOptions === void 0) {\n fundingOptions = [];\n }\n\n var plan = getDefaultSelectedPlan(fundingOptions);\n return (_plan$fundingSources = plan === null || plan === void 0 ? void 0 : plan.fundingSources) !== null && _plan$fundingSources !== void 0 ? _plan$fundingSources : [];\n};\n/**\n * Get the default selected funding instrument from the funding options array.\n * Optionally, narrow the search to a funding instrument of a specific type\n * by providing an array of acceptable types (e.g. ['CREDIT_CARD']).\n *\n * @param {array} fundingOptions An array of funding options from GraphQL\n * @returns {object} The selected funding instrument\n */\n\nexport var getDefaultSelectedFundingInstrument = function getDefaultSelectedFundingInstrument(fundingOptions, types) {\n if (fundingOptions === void 0) {\n fundingOptions = [];\n }\n\n var fundingSources = getDefaultSelectedFundingSources(fundingOptions);\n\n if (types) {\n var _fundingSources$find$, _fundingSources$find;\n\n return (_fundingSources$find$ = (_fundingSources$find = fundingSources.find(function (fundingSource) {\n var _fundingSource$fundin;\n\n return types.includes((_fundingSource$fundin = fundingSource.fundingInstrument) === null || _fundingSource$fundin === void 0 ? void 0 : _fundingSource$fundin.type);\n })) === null || _fundingSources$find === void 0 ? void 0 : _fundingSources$find.fundingInstrument) !== null && _fundingSources$find$ !== void 0 ? _fundingSources$find$ : null;\n } else {\n var _fundingSources$;\n\n return (_fundingSources$ = fundingSources[0]) === null || _fundingSources$ === void 0 ? void 0 : _fundingSources$.fundingInstrument;\n }\n};\n/**\n * Get the target fundingOption object from the list of fundingOptions and a target ID\n *\n * @param {array} fundingOptions | List of fundingOptions\n * @param {string} selectedFundingOptionId | The ID for the target fundingOption\n * @returns {object} A fundingOption object\n */\n\nexport var getSelectedFundingOption = function getSelectedFundingOption(fundingOptions, selectedFundingOptionId) {\n if (fundingOptions === void 0) {\n fundingOptions = [];\n }\n\n return fundingOptions && fundingOptions.find(function (option) {\n return option.id === selectedFundingOptionId;\n });\n};\n/**\n * Get the target fundingInstrument object from the list of fundingOptions and a target ID\n *\n * @param {array} fundingOptions List of fundingOptions\n * @param {string} selectedFundingOptionId The ID for the target fundingOption\n * @returns {object} A fundingInstrument object\n */\n\nexport var getSelectedFundingInstrument = function getSelectedFundingInstrument(fundingOptions, selectedFundingOptionId) {\n if (fundingOptions === void 0) {\n fundingOptions = [];\n }\n\n var _ref7 = getSelectedFundingOption(fundingOptions, selectedFundingOptionId) || {},\n fundingInstrument = _ref7.fundingInstrument;\n\n return fundingInstrument;\n};\n/**\n * Get funding source from plan which matches fi id\n */\n\nexport var getSelectedFundingSource = function getSelectedFundingSource(_temp4) {\n var _ref8 = _temp4 === void 0 ? {} : _temp4,\n _ref8$plan = _ref8.plan,\n plan = _ref8$plan === void 0 ? {\n fundingContingencies: []\n } : _ref8$plan,\n _ref8$fi = _ref8.fi,\n fi = _ref8$fi === void 0 ? {} : _ref8$fi;\n\n var fundingSources = plan.fundingSources;\n var idToMatch = fi.id,\n _fi$allPlans = fi.allPlans,\n allPlans = _fi$allPlans === void 0 ? [{}] : _fi$allPlans;\n var sourcesToSearch = fundingSources || allPlans[0].fundingSources || [];\n\n var matchesFiId = function matchesFiId(_temp5) {\n var _ref9 = _temp5 === void 0 ? {} : _temp5,\n _ref9$fundingInstrume = _ref9.fundingInstrument,\n fundingInstrument = _ref9$fundingInstrume === void 0 ? {} : _ref9$fundingInstrume;\n\n return fundingInstrument.id === idToMatch;\n };\n\n return sourcesToSearch.find(matchesFiId) || {};\n};\n/**\n * @description determines if the {fundingOptions} has only one typed single FI or not\n * @param {array} fundingOptions | List of fundingOptions\n * @param {string} type | fundingInstrumentType\n * @returns {Boolean}\n */\n\nexport var isSingleFundingOptionByType = function isSingleFundingOptionByType(_temp6) {\n var _fundingOptions$, _fundingOptions$$fund;\n\n var _ref10 = _temp6 === void 0 ? {} : _temp6,\n _ref10$fundingOptions = _ref10.fundingOptions,\n fundingOptions = _ref10$fundingOptions === void 0 ? [] : _ref10$fundingOptions,\n type = _ref10.type;\n\n return type && (fundingOptions === null || fundingOptions === void 0 ? void 0 : fundingOptions.length) === 1 && (fundingOptions === null || fundingOptions === void 0 ? void 0 : (_fundingOptions$ = fundingOptions[0]) === null || _fundingOptions$ === void 0 ? void 0 : (_fundingOptions$$fund = _fundingOptions$.fundingInstrument) === null || _fundingOptions$$fund === void 0 ? void 0 : _fundingOptions$$fund.type) === type;\n};\n/**\n * @description gets the fundingSource by type from the given plan\n * @param {object} plan | A valid plan\n * @param {string} type | fundingInstrumentType\n * @returns {object}\n */\n\nexport var getFundingSourceFromPlanByType = function getFundingSourceFromPlanByType(_temp7) {\n var _ref11 = _temp7 === void 0 ? {} : _temp7,\n _ref11$plan = _ref11.plan,\n plan = _ref11$plan === void 0 ? {\n fundingContingencies: []\n } : _ref11$plan,\n _ref11$type = _ref11.type,\n type = _ref11$type === void 0 ? '' : _ref11$type;\n\n var _plan$fundingSources2 = plan.fundingSources,\n fundingSources = _plan$fundingSources2 === void 0 ? [] : _plan$fundingSources2;\n return fundingSources.find(function (fundingSource) {\n return fundingSource.fundingInstrument.type === type;\n }) || {};\n};\n/**\n * @description checks if there is a preferred fi available\n * @param {array} fundingOptions | List of fundingOptions\n * @returns {Boolean}\n */\n\nexport var getPreferredFi = function getPreferredFi(fundingOptions) {\n if (fundingOptions === void 0) {\n fundingOptions = [];\n }\n\n return fundingOptions && fundingOptions.find(function (_ref12) {\n var fundingInstrument = _ref12.fundingInstrument;\n return fundingInstrument.isPreferred;\n });\n};\n/**\n * @description returns all crypto funding options from the funding options list\n * @param {Array} fundingOptions\n * @return {Array}\n */\n\nexport var getCryptoFundingOptions = function getCryptoFundingOptions(fundingOptions) {\n if (fundingOptions === void 0) {\n fundingOptions = [];\n }\n\n if (!fundingOptions) {\n return [];\n }\n\n return fundingOptions.filter(function (fundingOption) {\n return isCryptoFundingInstrument(fundingOption === null || fundingOption === void 0 ? void 0 : fundingOption.fundingInstrument);\n });\n};\n/**\n * @description Given a list of funding options, find only crypto funding options and return their funding instruments\n * @param {Array} fundingOptions\n * @return {Array}\n */\n\nexport var getCryptoFundingInstruments = function getCryptoFundingInstruments(fundingOptions) {\n if (fundingOptions === void 0) {\n fundingOptions = [];\n }\n\n return getCryptoFundingOptions(fundingOptions).reduce(function (fundingIntruments, fundingOption) {\n return [].concat(fundingIntruments, [fundingOption === null || fundingOption === void 0 ? void 0 : fundingOption.fundingInstrument]);\n }, []);\n};\n/**\n * Gets the fundingSource object for a split balance plan\n *\n * @param {object} plan | A plan object from the allPlans array\n * @returns {object} the fundingSource object for a split balance\n */\n\nexport var getSplitBalanceFundingSourceFromPlan = function getSplitBalanceFundingSourceFromPlan(plan) {\n if (plan === void 0) {\n plan = {\n fundingContingencies: []\n };\n }\n\n var _plan = plan,\n _plan$fundingSources3 = _plan.fundingSources,\n fundingSources = _plan$fundingSources3 === void 0 ? [] : _plan$fundingSources3;\n return fundingSources.find(function (fundingSource) {\n return isPayPalBalance(fundingSource);\n });\n};\n/**\n * @param {Array} disallowedInstruments | A plan object from the allPlans array\n * @returns {Boolean} whether current disallowed instruments contain any `CIP_INCOMPLETE` as its\n * declined reason\n */\n\nexport var getIncompleteDisallowedInstruments = memoize(function (disallowedInstruments) {\n if (disallowedInstruments === void 0) {\n disallowedInstruments = [];\n }\n\n return disallowedInstruments.length > 0 && disallowedInstruments.some(function (fi) {\n return fi.type === 'PAYPAL_BALANCE' && fi.reason === 'CIP_INCOMPLETE';\n });\n});\n/**\n * @param {array} fundingOptions\n * @param {FundingOptionType} fundingInstrumentType\n * @returns {object} the first funding option containing a plan with an incentive used as a funding source\n */\n\nexport var getFundingOptionByFundingInstrumentType = function getFundingOptionByFundingInstrumentType(fundingOptions, fundingInstrumentType) {\n var _fundingOptions;\n\n if (fundingOptions === void 0) {\n fundingOptions = [];\n }\n\n if (fundingOptions === null || fundingOptions[0] === undefined) {\n return [];\n }\n\n return (_fundingOptions = fundingOptions) === null || _fundingOptions === void 0 ? void 0 : _fundingOptions.find(function (_ref13) {\n var _ref13$allPlans = _ref13.allPlans,\n allPlans = _ref13$allPlans === void 0 ? [] : _ref13$allPlans;\n return allPlans === null || allPlans === void 0 ? void 0 : allPlans.some(function (plan) {\n var _plan$fundingSources4;\n\n return plan === null || plan === void 0 ? void 0 : (_plan$fundingSources4 = plan.fundingSources) === null || _plan$fundingSources4 === void 0 ? void 0 : _plan$fundingSources4.some(function (fundingSource) {\n var _fundingSource$fundin2;\n\n return (fundingSource === null || fundingSource === void 0 ? void 0 : (_fundingSource$fundin2 = fundingSource.fundingInstrument) === null || _fundingSource$fundin2 === void 0 ? void 0 : _fundingSource$fundin2.type) === fundingInstrumentType;\n });\n });\n });\n};","import { getCountry, getExperiments, getIsInternalRequest } from '@paypalcorp/c3-shared-globals';\nimport { params } from '@paypalcorp/c3-util-browser';\nimport { ElmoExperiment } from '@paypalcorp/c3-util-elmo-experiment';\nimport { invariant } from '@paypalcorp/c3-util-lang';\n\n/**\n * Helper that returns if a feature is enabled for an array of countries\n * @param {Array} countries the countries that a feature is enabled in\n * @returns {Boolean}\n */\nexport var isEnabledForCountry = function isEnabledForCountry() {\n for (var _len = arguments.length, countries = new Array(_len), _key = 0; _key < _len; _key++) {\n countries[_key] = arguments[_key];\n }\n\n return (Array.isArray(countries[0]) ? countries[0] : countries).includes(getCountry());\n};\n/**\n * Helper that returns if a feature is enabled for a given param string\n * @param {String} param the string label for a feature is enabled on\n * @param {Array} accepted list of accepted values for enablement\n * @returns {Boolean}\n */\n\nexport var isParamEnabled = function isParamEnabled(param, accepted) {\n if (accepted === void 0) {\n accepted = ['1', 'true'];\n }\n\n return accepted.indexOf(params()[param]) !== -1;\n}; // initialize ElmoExperiment with settings\n\nElmoExperiment.setSettings({\n isInternalRequest: getIsInternalRequest(),\n queryParams: params()\n}); // creates feature object\n// attaches experiment when needed\n\nexport var createFeature = function createFeature(feature) {\n var id = feature.id,\n data = feature.data,\n visible = feature.visible;\n invariant(id.length < 38, \"Experiment name length is 38 char max. Please provide a shorter feature name for feature id: \" + id);\n var experiment = feature.experiment ? ElmoExperiment.createFeatureExperiment({\n defaultTreatmentName: feature.experiment,\n featureId: id,\n experimentsFromServer: getExperiments()\n }) : null;\n return Object.assign({}, feature, {\n data: data || null,\n experiment: experiment,\n eligible: false,\n visible: visible || false,\n __typename: 'Feature'\n });\n};\nvar features;\nexport function setFeatures(feat) {\n features = feat.map(createFeature);\n}\n/** List of features */\n\nexport var getFeatures = function getFeatures() {\n return features;\n};","import * as ApolloReactHooks from '@apollo/react-hooks';\nvar defaultOptions = {};\n/** All built-in and custom scalars, mapped to their actual values */\n\n/**\n * An enumeration of types that an address can be completed by an user. (Ex:\n * 'GOOGLE / BROWSER / UNKNOWN / MERCHANT_PREFILLED / ANS / MANUAL')\n */\nexport var AddressAutoCompleteType;\n/**\n * GAAC - Google Address Auto Complete\n * Address response based on a place id - basically this is google returned address elements\n */\n\n(function (AddressAutoCompleteType) {\n AddressAutoCompleteType[\"Google\"] = \"GOOGLE\";\n AddressAutoCompleteType[\"Browser\"] = \"BROWSER\";\n AddressAutoCompleteType[\"Unknown\"] = \"UNKNOWN\";\n AddressAutoCompleteType[\"MerchantPrefilled\"] = \"MERCHANT_PREFILLED\";\n AddressAutoCompleteType[\"Ans\"] = \"ANS\";\n AddressAutoCompleteType[\"Manual\"] = \"MANUAL\";\n})(AddressAutoCompleteType || (AddressAutoCompleteType = {}));\n\n/** Enumeration for Address Normalization's ansraptor process mode params */\nexport var AddressNormalizationProcessModes;\n/** Enumeration for Address Normalization's ansraptor scope */\n\n(function (AddressNormalizationProcessModes) {\n AddressNormalizationProcessModes[\"Fastcompletion\"] = \"FASTCOMPLETION\";\n AddressNormalizationProcessModes[\"Interactive\"] = \"INTERACTIVE\";\n})(AddressNormalizationProcessModes || (AddressNormalizationProcessModes = {}));\n\nexport var AddressNormalizationScopes;\n/** An enumeration of types that an Address can be. PROFILE, SHIPPING, BUSINESS, etc. */\n\n(function (AddressNormalizationScopes) {\n AddressNormalizationScopes[\"All\"] = \"ALL\";\n AddressNormalizationScopes[\"DeliverypointLevel\"] = \"DELIVERYPOINT_LEVEL\";\n AddressNormalizationScopes[\"LocalityLevel\"] = \"LOCALITY_LEVEL\";\n AddressNormalizationScopes[\"StreetLevel\"] = \"STREET_LEVEL\";\n})(AddressNormalizationScopes || (AddressNormalizationScopes = {}));\n\nexport var AddressType;\n/**\n * Encapsulates all properties related to an Amount.\n * Ex: currencySymbol, currencyValue, currencyCode, etc.\n */\n\n(function (AddressType) {\n AddressType[\"Business\"] = \"BUSINESS\";\n AddressType[\"DropOff\"] = \"DROP_OFF\";\n AddressType[\"Gift\"] = \"GIFT\";\n AddressType[\"HomeOrWork\"] = \"HOME_OR_WORK\";\n AddressType[\"Prior\"] = \"PRIOR\";\n AddressType[\"Profile\"] = \"PROFILE\";\n AddressType[\"Shipping\"] = \"SHIPPING\";\n AddressType[\"Verisign\"] = \"VERISIGN\";\n})(AddressType || (AddressType = {}));\n\n/** An enumeration of all potential API status calls returned when returned in body */\nexport var APICallStatus;\n/** Schema to validate merchant as Apple Pay eligible */\n\n(function (APICallStatus) {\n APICallStatus[\"Success\"] = \"SUCCESS\";\n APICallStatus[\"Failed\"] = \"FAILED\";\n})(APICallStatus || (APICallStatus = {}));\n\n/**\n * Encapsulates all properties related to a User's auth.\n * Ex: Access token\n *\n * Temp measure to get the @auth directive updated to use PARTIALLY_AUTHENTICATED, will\n * be removed once updated to using newest version of @paypalcorp/graphql-directive\n *\n * Required auth states: LOGGEDIN, REMEMBERED, IDENTIFIED or PARTIALLY_AUTHENTICATED\n */\nexport var AuthState;\n/** Encapsulates all properties related to the available Rewards */\n\n(function (AuthState) {\n AuthState[\"Loggedin\"] = \"LOGGEDIN\";\n AuthState[\"Remembered\"] = \"REMEMBERED\";\n AuthState[\"PartiallyAuthenticated\"] = \"PARTIALLY_AUTHENTICATED\";\n AuthState[\"Identified\"] = \"IDENTIFIED\";\n AuthState[\"Anonymous\"] = \"ANONYMOUS\";\n})(AuthState || (AuthState = {}));\n\n/**\n * An enumeration of types that a BalancePreference can be.\n * OPT_IN or OPT_OUT\n */\nexport var BalancePreference;\n/** An enumeration of all potential balance types for an offer */\n\n(function (BalancePreference) {\n BalancePreference[\"OptIn\"] = \"OPT_IN\";\n BalancePreference[\"OptOut\"] = \"OPT_OUT\";\n})(BalancePreference || (BalancePreference = {}));\n\nexport var BalanceType;\n/** The metadata for a particular bank account */\n\n(function (BalanceType) {\n BalanceType[\"Msb\"] = \"MSB\";\n BalanceType[\"Psb\"] = \"PSB\";\n})(BalanceType || (BalanceType = {}));\n\n/**\n * An enumeration of bank types that a bank account can identify with\n *\n * Reference: https://ppaas/api/3719176155268854#apiReference\n */\nexport var BankAccountType;\n/**\n * Enumeration to identify different billing charge patterns\n * The pattern in which the agreement will be used for charging.\n */\n\n(function (BankAccountType) {\n BankAccountType[\"BusinessChecking\"] = \"BUSINESS_CHECKING\";\n BankAccountType[\"BusinessSavings\"] = \"BUSINESS_SAVINGS\";\n BankAccountType[\"Checking\"] = \"CHECKING\";\n BankAccountType[\"Custom\"] = \"CUSTOM\";\n BankAccountType[\"Normal\"] = \"NORMAL\";\n BankAccountType[\"Savings\"] = \"SAVINGS\";\n BankAccountType[\"Unknown\"] = \"UNKNOWN\";\n})(BankAccountType || (BankAccountType = {}));\n\nexport var BillingChargePattern;\n/** An enumeration of types that a BillingIntent can be. */\n\n(function (BillingChargePattern) {\n BillingChargePattern[\"Deferred\"] = \"DEFERRED\";\n BillingChargePattern[\"Immediate\"] = \"IMMEDIATE\";\n BillingChargePattern[\"RecurringPostpaid\"] = \"RECURRING_POSTPAID\";\n BillingChargePattern[\"RecurringPrepaid\"] = \"RECURRING_PREPAID\";\n BillingChargePattern[\"ThresholdPostpaid\"] = \"THRESHOLD_POSTPAID\";\n BillingChargePattern[\"ThresholdPrepaid\"] = \"THRESHOLD_PREPAID\";\n})(BillingChargePattern || (BillingChargePattern = {}));\n\nexport var BillingIntent;\n/** An enumeration of types that a billing payment experience can be. */\n\n(function (BillingIntent) {\n BillingIntent[\"Vault\"] = \"VAULT\";\n BillingIntent[\"Other\"] = \"OTHER\";\n})(BillingIntent || (BillingIntent = {}));\n\nexport var BillingPaymentExperience;\n/** Enumeration to identify different billing types */\n\n(function (BillingPaymentExperience) {\n BillingPaymentExperience[\"Hermes\"] = \"HERMES\";\n BillingPaymentExperience[\"Hermesnode\"] = \"HERMESNODE\";\n})(BillingPaymentExperience || (BillingPaymentExperience = {}));\n\nexport var BillingType;\n/** Business Information */\n\n(function (BillingType) {\n BillingType[\"ChannelInitiatedBilling\"] = \"CHANNEL_INITIATED_BILLING\";\n BillingType[\"MerchantInitiatedBilling\"] = \"MERCHANT_INITIATED_BILLING\";\n BillingType[\"MerchantInitiatedSingleBilling\"] = \"MERCHANT_INITIATED_SINGLE_BILLING\";\n BillingType[\"ChannelInitiatedBillingSingleAgreement\"] = \"CHANNEL_INITIATED_BILLING_SINGLE_AGREEMENT\";\n})(BillingType || (BillingType = {}));\n\n/** Types of client config button funding source */\nexport var ButtonFundingSourceType;\n/** List of all button labels for Smart Payment Buttons */\n\n(function (ButtonFundingSourceType) {\n ButtonFundingSourceType[\"Paypal\"] = \"paypal\";\n ButtonFundingSourceType[\"Venmo\"] = \"venmo\";\n ButtonFundingSourceType[\"Credit\"] = \"credit\";\n ButtonFundingSourceType[\"Paylater\"] = \"paylater\";\n ButtonFundingSourceType[\"Card\"] = \"card\";\n ButtonFundingSourceType[\"Ideal\"] = \"ideal\";\n ButtonFundingSourceType[\"Elv\"] = \"elv\";\n ButtonFundingSourceType[\"Sepa\"] = \"sepa\";\n ButtonFundingSourceType[\"Bancontact\"] = \"bancontact\";\n ButtonFundingSourceType[\"Giropay\"] = \"giropay\";\n ButtonFundingSourceType[\"Sofort\"] = \"sofort\";\n ButtonFundingSourceType[\"Eps\"] = \"eps\";\n ButtonFundingSourceType[\"Mybank\"] = \"mybank\";\n ButtonFundingSourceType[\"P24\"] = \"p24\";\n ButtonFundingSourceType[\"Zimpler\"] = \"zimpler\";\n ButtonFundingSourceType[\"Wechatpay\"] = \"wechatpay\";\n ButtonFundingSourceType[\"Payu\"] = \"payu\";\n ButtonFundingSourceType[\"Blik\"] = \"blik\";\n ButtonFundingSourceType[\"Trustly\"] = \"trustly\";\n ButtonFundingSourceType[\"Oxxo\"] = \"oxxo\";\n ButtonFundingSourceType[\"Maxima\"] = \"maxima\";\n ButtonFundingSourceType[\"Boleto\"] = \"boleto\";\n ButtonFundingSourceType[\"Mercadopago\"] = \"mercadopago\";\n ButtonFundingSourceType[\"Applepay\"] = \"applepay\";\n})(ButtonFundingSourceType || (ButtonFundingSourceType = {}));\n\nexport var ButtonLabels;\n/** Types of buyer intent */\n\n(function (ButtonLabels) {\n ButtonLabels[\"Paypal\"] = \"PAYPAL\";\n ButtonLabels[\"Checkout\"] = \"CHECKOUT\";\n ButtonLabels[\"Pay\"] = \"PAY\";\n ButtonLabels[\"Buynow\"] = \"BUYNOW\";\n ButtonLabels[\"Credit\"] = \"CREDIT\";\n ButtonLabels[\"Installment\"] = \"INSTALLMENT\";\n ButtonLabels[\"Subscribe\"] = \"SUBSCRIBE\";\n ButtonLabels[\"Donate\"] = \"DONATE\";\n})(ButtonLabels || (ButtonLabels = {}));\n\nexport var BuyerIntentType;\n/** Shipping methods to display to the buyer */\n\n(function (BuyerIntentType) {\n BuyerIntentType[\"Pay\"] = \"PAY\";\n BuyerIntentType[\"PayWithDifferentAccount\"] = \"PAY_WITH_DIFFERENT_ACCOUNT\";\n BuyerIntentType[\"PayWithDifferentFundingShipping\"] = \"PAY_WITH_DIFFERENT_FUNDING_SHIPPING\";\n})(BuyerIntentType || (BuyerIntentType = {}));\n\n/**\n * An enumeration of types that FundingOption can have.\n * PROCESSOR_DECLINE, PAYPAL_ELIGIBILITY or PREAUTH\n */\nexport var CardAuthType;\n/** Encapsulates key metadata for a particular card. */\n\n(function (CardAuthType) {\n CardAuthType[\"Full\"] = \"FULL\";\n CardAuthType[\"Partial\"] = \"PARTIAL\";\n})(CardAuthType || (CardAuthType = {}));\n\n/**\n * An enumeration of credit card issuers that a card can have.\n * VISA, MASTER_CARD, AMEX, etc\n */\nexport var CardIssuerType;\n/** Allows you to query for card metadata */\n\n(function (CardIssuerType) {\n CardIssuerType[\"Amex\"] = \"AMEX\";\n CardIssuerType[\"Visa\"] = \"VISA\";\n CardIssuerType[\"MasterCard\"] = \"MASTER_CARD\";\n CardIssuerType[\"Diners\"] = \"DINERS\";\n CardIssuerType[\"Discover\"] = \"DISCOVER\";\n CardIssuerType[\"Maestro\"] = \"MAESTRO\";\n CardIssuerType[\"Jcb\"] = \"JCB\";\n CardIssuerType[\"CbNationale\"] = \"CB_NATIONALE\";\n CardIssuerType[\"Cofinoga\"] = \"COFINOGA\";\n CardIssuerType[\"Cetelem\"] = \"CETELEM\";\n CardIssuerType[\"Cofidis\"] = \"COFIDIS\";\n CardIssuerType[\"Elo\"] = \"ELO\";\n CardIssuerType[\"Hiper\"] = \"HIPER\";\n CardIssuerType[\"Hipercard\"] = \"HIPERCARD\";\n CardIssuerType[\"ChinaUnionPay\"] = \"CHINA_UNION_PAY\";\n CardIssuerType[\"Rupay\"] = \"RUPAY\";\n})(CardIssuerType || (CardIssuerType = {}));\n\n/**\n * An enumeration of types that card product classes\n * CREDIT, DEBIT\n */\nexport var CardProductClass;\n/** Contains all validation rules/metadata for a credit card */\n\n(function (CardProductClass) {\n CardProductClass[\"Credit\"] = \"CREDIT\";\n CardProductClass[\"Debit\"] = \"DEBIT\";\n CardProductClass[\"Gift\"] = \"GIFT\";\n CardProductClass[\"Mixed\"] = \"MIXED\";\n CardProductClass[\"PaypalPrepaid\"] = \"PAYPAL_PREPAID\";\n CardProductClass[\"Prepaid\"] = \"PREPAID\";\n CardProductClass[\"Tokenized\"] = \"TOKENIZED\";\n CardProductClass[\"Vaulted\"] = \"VAULTED\";\n CardProductClass[\"Unknown\"] = \"UNKNOWN\";\n})(CardProductClass || (CardProductClass = {}));\n\n/** An enumeration of card transaction characteristics. PRE_AUTH, FINAL_AUTH, RECURRING_PAYMENT, UNKNOWN */\nexport var CardTransactionType;\n/** Container type for a payment's eligibility for card vendors */\n\n(function (CardTransactionType) {\n CardTransactionType[\"PreAuth\"] = \"PRE_AUTH\";\n CardTransactionType[\"FinalAuth\"] = \"FINAL_AUTH\";\n CardTransactionType[\"RecurringPayment\"] = \"RECURRING_PAYMENT\";\n CardTransactionType[\"Unknown\"] = \"UNKNOWN\";\n})(CardTransactionType || (CardTransactionType = {}));\n\n/**\n * An enumeration of cart category, defined by item category in the cart.\n * DONATION\n */\nexport var CartCategory;\n/** An enumeration of intents that a Cart can have. SALE, AUTHORIZE, or ORDER */\n\n(function (CartCategory) {\n CartCategory[\"Physical\"] = \"PHYSICAL\";\n CartCategory[\"Digital\"] = \"DIGITAL\";\n CartCategory[\"Donation\"] = \"DONATION\";\n})(CartCategory || (CartCategory = {}));\n\nexport var CartIntent;\n/**\n * Encapsulates all properties related to a cart item.\n * Ex: description, quantity, amount\n * Average SLA response time - 170ms\n */\n\n(function (CartIntent) {\n CartIntent[\"Sale\"] = \"SALE\";\n CartIntent[\"Capture\"] = \"CAPTURE\";\n CartIntent[\"Authorization\"] = \"AUTHORIZATION\";\n CartIntent[\"Authorize\"] = \"AUTHORIZE\";\n CartIntent[\"Order\"] = \"ORDER\";\n})(CartIntent || (CartIntent = {}));\n\n/**\n * An enumeration of states that a Cart can be in.\n * CREATED, APPROVED, FAILED or SUBMITTED\n */\nexport var CartState;\n/**\n * Encapsulates all properties related to a billing address which is extend from our\n * generic Address type\n *\n * Ex: line1, city, state, postalCode, fullAddress, etc.\n */\n\n(function (CartState) {\n CartState[\"Created\"] = \"CREATED\";\n CartState[\"Approved\"] = \"APPROVED\";\n CartState[\"Failed\"] = \"FAILED\";\n CartState[\"Submitted\"] = \"SUBMITTED\";\n})(CartState || (CartState = {}));\n\n/** Countries which support localized strings from xo-content */\nexport var CheckoutContentCountryCode;\n/** Possible languages that xo-content may return */\n\n(function (CheckoutContentCountryCode) {\n CheckoutContentCountryCode[\"At\"] = \"AT\";\n CheckoutContentCountryCode[\"Au\"] = \"AU\";\n CheckoutContentCountryCode[\"Be\"] = \"BE\";\n CheckoutContentCountryCode[\"Br\"] = \"BR\";\n CheckoutContentCountryCode[\"C2\"] = \"C2\";\n CheckoutContentCountryCode[\"Ca\"] = \"CA\";\n CheckoutContentCountryCode[\"Ch\"] = \"CH\";\n CheckoutContentCountryCode[\"Cz\"] = \"CZ\";\n CheckoutContentCountryCode[\"De\"] = \"DE\";\n CheckoutContentCountryCode[\"Dk\"] = \"DK\";\n CheckoutContentCountryCode[\"Ee\"] = \"EE\";\n CheckoutContentCountryCode[\"Es\"] = \"ES\";\n CheckoutContentCountryCode[\"Fi\"] = \"FI\";\n CheckoutContentCountryCode[\"Fr\"] = \"FR\";\n CheckoutContentCountryCode[\"Gb\"] = \"GB\";\n CheckoutContentCountryCode[\"Gr\"] = \"GR\";\n CheckoutContentCountryCode[\"GroupApac\"] = \"GROUP_APAC\";\n CheckoutContentCountryCode[\"GroupEmea\"] = \"GROUP_EMEA\";\n CheckoutContentCountryCode[\"GroupLatam\"] = \"GROUP_LATAM\";\n CheckoutContentCountryCode[\"Hk\"] = \"HK\";\n CheckoutContentCountryCode[\"Hu\"] = \"HU\";\n CheckoutContentCountryCode[\"Id\"] = \"ID\";\n CheckoutContentCountryCode[\"Ie\"] = \"IE\";\n CheckoutContentCountryCode[\"Il\"] = \"IL\";\n CheckoutContentCountryCode[\"In\"] = \"IN\";\n CheckoutContentCountryCode[\"It\"] = \"IT\";\n CheckoutContentCountryCode[\"Jp\"] = \"JP\";\n CheckoutContentCountryCode[\"Kr\"] = \"KR\";\n CheckoutContentCountryCode[\"Lt\"] = \"LT\";\n CheckoutContentCountryCode[\"Lu\"] = \"LU\";\n CheckoutContentCountryCode[\"Lv\"] = \"LV\";\n CheckoutContentCountryCode[\"Mx\"] = \"MX\";\n CheckoutContentCountryCode[\"My\"] = \"MY\";\n CheckoutContentCountryCode[\"Nl\"] = \"NL\";\n CheckoutContentCountryCode[\"No\"] = \"NO\";\n CheckoutContentCountryCode[\"Nz\"] = \"NZ\";\n CheckoutContentCountryCode[\"Ph\"] = \"PH\";\n CheckoutContentCountryCode[\"Pl\"] = \"PL\";\n CheckoutContentCountryCode[\"Pt\"] = \"PT\";\n CheckoutContentCountryCode[\"Ro\"] = \"RO\";\n CheckoutContentCountryCode[\"Ru\"] = \"RU\";\n CheckoutContentCountryCode[\"Se\"] = \"SE\";\n CheckoutContentCountryCode[\"Sg\"] = \"SG\";\n CheckoutContentCountryCode[\"Si\"] = \"SI\";\n CheckoutContentCountryCode[\"Sk\"] = \"SK\";\n CheckoutContentCountryCode[\"Th\"] = \"TH\";\n CheckoutContentCountryCode[\"Tr\"] = \"TR\";\n CheckoutContentCountryCode[\"Tw\"] = \"TW\";\n CheckoutContentCountryCode[\"Ua\"] = \"UA\";\n CheckoutContentCountryCode[\"Us\"] = \"US\";\n CheckoutContentCountryCode[\"Vn\"] = \"VN\";\n})(CheckoutContentCountryCode || (CheckoutContentCountryCode = {}));\n\nexport var CheckoutContentLanguageCode;\n/**\n * Encapsulates all properties related to a CheckoutCurrencyConversion.\n *\n * There are 2 types of the coversion rate: \"PAYPAL\" and \"VENDOR\"\n * Please note that conversion rate information is always for PAYPAL's type.\n * The only 2 fields that are associated with VENDOR type are \"type\" and \"isReadOnly\"\n */\n\n(function (CheckoutContentLanguageCode) {\n CheckoutContentLanguageCode[\"Ar\"] = \"ar\";\n CheckoutContentLanguageCode[\"Be\"] = \"be\";\n CheckoutContentLanguageCode[\"Bg\"] = \"bg\";\n CheckoutContentLanguageCode[\"Bn\"] = \"bn\";\n CheckoutContentLanguageCode[\"Ca\"] = \"ca\";\n CheckoutContentLanguageCode[\"Cs\"] = \"cs\";\n CheckoutContentLanguageCode[\"Cy\"] = \"cy\";\n CheckoutContentLanguageCode[\"Da\"] = \"da\";\n CheckoutContentLanguageCode[\"De\"] = \"de\";\n CheckoutContentLanguageCode[\"El\"] = \"el\";\n CheckoutContentLanguageCode[\"En\"] = \"en\";\n CheckoutContentLanguageCode[\"Es\"] = \"es\";\n CheckoutContentLanguageCode[\"Et\"] = \"et\";\n CheckoutContentLanguageCode[\"Eu\"] = \"eu\";\n CheckoutContentLanguageCode[\"Fi\"] = \"fi\";\n CheckoutContentLanguageCode[\"Fr\"] = \"fr\";\n CheckoutContentLanguageCode[\"Gl\"] = \"gl\";\n CheckoutContentLanguageCode[\"He\"] = \"he\";\n CheckoutContentLanguageCode[\"Hi\"] = \"hi\";\n CheckoutContentLanguageCode[\"Hr\"] = \"hr\";\n CheckoutContentLanguageCode[\"Hu\"] = \"hu\";\n CheckoutContentLanguageCode[\"Id\"] = \"id\";\n CheckoutContentLanguageCode[\"Is\"] = \"is\";\n CheckoutContentLanguageCode[\"It\"] = \"it\";\n CheckoutContentLanguageCode[\"Ja\"] = \"ja\";\n CheckoutContentLanguageCode[\"Ka\"] = \"ka\";\n CheckoutContentLanguageCode[\"Kk\"] = \"kk\";\n CheckoutContentLanguageCode[\"Km\"] = \"km\";\n CheckoutContentLanguageCode[\"Ko\"] = \"ko\";\n CheckoutContentLanguageCode[\"Lt\"] = \"lt\";\n CheckoutContentLanguageCode[\"Lv\"] = \"lv\";\n CheckoutContentLanguageCode[\"Mk\"] = \"mk\";\n CheckoutContentLanguageCode[\"Mn\"] = \"mn\";\n CheckoutContentLanguageCode[\"Mr\"] = \"mr\";\n CheckoutContentLanguageCode[\"Ms\"] = \"ms\";\n CheckoutContentLanguageCode[\"Nl\"] = \"nl\";\n CheckoutContentLanguageCode[\"No\"] = \"no\";\n CheckoutContentLanguageCode[\"Pa\"] = \"pa\";\n CheckoutContentLanguageCode[\"Pl\"] = \"pl\";\n CheckoutContentLanguageCode[\"Pt\"] = \"pt\";\n CheckoutContentLanguageCode[\"Ro\"] = \"ro\";\n CheckoutContentLanguageCode[\"Ru\"] = \"ru\";\n CheckoutContentLanguageCode[\"Si\"] = \"si\";\n CheckoutContentLanguageCode[\"Sk\"] = \"sk\";\n CheckoutContentLanguageCode[\"Sl\"] = \"sl\";\n CheckoutContentLanguageCode[\"Sq\"] = \"sq\";\n CheckoutContentLanguageCode[\"Sv\"] = \"sv\";\n CheckoutContentLanguageCode[\"Sw\"] = \"sw\";\n CheckoutContentLanguageCode[\"Ta\"] = \"ta\";\n CheckoutContentLanguageCode[\"Te\"] = \"te\";\n CheckoutContentLanguageCode[\"Th\"] = \"th\";\n CheckoutContentLanguageCode[\"Tl\"] = \"tl\";\n CheckoutContentLanguageCode[\"Tr\"] = \"tr\";\n CheckoutContentLanguageCode[\"Uk\"] = \"uk\";\n CheckoutContentLanguageCode[\"Ur\"] = \"ur\";\n CheckoutContentLanguageCode[\"Vi\"] = \"vi\";\n CheckoutContentLanguageCode[\"Zh\"] = \"zh\";\n})(CheckoutContentLanguageCode || (CheckoutContentLanguageCode = {}));\n\n/** An enumeration of types that CheckoutCurrencyConversion can have. PAYPAL, VENDOR */\nexport var CheckoutCurrencyConversionType;\n/** Customization type for checkout */\n\n(function (CheckoutCurrencyConversionType) {\n CheckoutCurrencyConversionType[\"Paypal\"] = \"PAYPAL\";\n CheckoutCurrencyConversionType[\"Vendor\"] = \"VENDOR\";\n})(CheckoutCurrencyConversionType || (CheckoutCurrencyConversionType = {}));\n\n/** UI interaction types for checkout */\nexport var CheckoutExperienceType;\n/** Enumeration to identify different flows of the checkout session */\n\n(function (CheckoutExperienceType) {\n CheckoutExperienceType[\"FullPage\"] = \"FULL_PAGE\";\n CheckoutExperienceType[\"InContext\"] = \"IN_CONTEXT\";\n})(CheckoutExperienceType || (CheckoutExperienceType = {}));\n\nexport var CheckoutFlow;\n/** The number of possible installments, defined as \"terms\", for a given installment plan */\n\n(function (CheckoutFlow) {\n CheckoutFlow[\"LinkAndPay\"] = \"LINK_AND_PAY\";\n})(CheckoutFlow || (CheckoutFlow = {}));\n\nexport var CheckoutInstallmentOptionsTerm;\n/**\n * Encapsulates all properties related to a locale.\n *\n * CheckoutLocale differs from GenericLocale,\n * because it takes into account Merchant preferences and\n * SetExpressCheckout API parameters.\n *\n * CheckoutLocale should be used for Checkout specific use cases.\n * GenericLocale should be used for all other use cases.\n * Ex: country, language, directionality, etc.\n */\n\n(function (CheckoutInstallmentOptionsTerm) {\n CheckoutInstallmentOptionsTerm[\"One\"] = \"ONE\";\n CheckoutInstallmentOptionsTerm[\"Three\"] = \"THREE\";\n CheckoutInstallmentOptionsTerm[\"Six\"] = \"SIX\";\n CheckoutInstallmentOptionsTerm[\"Nine\"] = \"NINE\";\n CheckoutInstallmentOptionsTerm[\"Twelve\"] = \"TWELVE\";\n})(CheckoutInstallmentOptionsTerm || (CheckoutInstallmentOptionsTerm = {}));\n\n/** An enumeration of State of Checkout Session. NOT_PAYABLE, PAYABLE, PAID */\nexport var CheckoutSessionState;\n/** Enumeration to identify different checkout sessions such as Billing with purchase, or just purchase with no billing type */\n\n(function (CheckoutSessionState) {\n CheckoutSessionState[\"NonPayable\"] = \"NON_PAYABLE\";\n CheckoutSessionState[\"Payable\"] = \"PAYABLE\";\n CheckoutSessionState[\"Approved\"] = \"APPROVED\";\n CheckoutSessionState[\"Paid\"] = \"PAID\";\n})(CheckoutSessionState || (CheckoutSessionState = {}));\n\nexport var CheckoutSessionType;\n/**\n * Encapsulates all properties related to a generic address.\n * Ex: line1, city, state, postalCode, fullAddress, etc.\n */\n\n(function (CheckoutSessionType) {\n CheckoutSessionType[\"Purchase\"] = \"PURCHASE\";\n CheckoutSessionType[\"BillingWithPurchase\"] = \"BILLING_WITH_PURCHASE\";\n CheckoutSessionType[\"BillingWithoutPurchase\"] = \"BILLING_WITHOUT_PURCHASE\";\n})(CheckoutSessionType || (CheckoutSessionType = {}));\n\n/** Types of checkout integration */\nexport var CheckoutSolutionType;\n/** An enumeration of User Action in Checkout Session. CONTINUE, PAY_NOW */\n\n(function (CheckoutSolutionType) {\n CheckoutSolutionType[\"Mark\"] = \"MARK\";\n CheckoutSolutionType[\"Sole\"] = \"SOLE\";\n CheckoutSolutionType[\"Shortcut\"] = \"SHORTCUT\";\n})(CheckoutSolutionType || (CheckoutSolutionType = {}));\n\nexport var CheckoutUserAction;\n/**\n * Encapsulates all properties related to the Common Reporting Standards mandate.\n * This new mandate requires PayPal to gather tax information from the user so PayPal can\n * report that to the goverment.\n */\n\n(function (CheckoutUserAction) {\n CheckoutUserAction[\"Continue\"] = \"CONTINUE\";\n CheckoutUserAction[\"PayNow\"] = \"PAY_NOW\";\n})(CheckoutUserAction || (CheckoutUserAction = {}));\n\n/** An enumeration of types that an ConstraintType can be. AUTH, etc */\nexport var ConstraintType;\n/** Encapsulates the flow id returned by consumer flow library */\n\n(function (ConstraintType) {\n ConstraintType[\"Auth\"] = \"AUTH\";\n})(ConstraintType || (ConstraintType = {}));\n\n/** An enumeration of Country Codes by ISO-3166-1 ALPHA-2 standards */\nexport var CountryCodes;\n/**\n * Encapsulates all properties related to portable credit integrations.\n * Average SLA response time - ??ms\n */\n\n(function (CountryCodes) {\n CountryCodes[\"Af\"] = \"AF\";\n CountryCodes[\"Ax\"] = \"AX\";\n CountryCodes[\"Al\"] = \"AL\";\n CountryCodes[\"Dz\"] = \"DZ\";\n CountryCodes[\"As\"] = \"AS\";\n CountryCodes[\"Ad\"] = \"AD\";\n CountryCodes[\"Ao\"] = \"AO\";\n CountryCodes[\"Ai\"] = \"AI\";\n CountryCodes[\"Aq\"] = \"AQ\";\n CountryCodes[\"Ag\"] = \"AG\";\n CountryCodes[\"Ar\"] = \"AR\";\n CountryCodes[\"Am\"] = \"AM\";\n CountryCodes[\"Aw\"] = \"AW\";\n CountryCodes[\"Au\"] = \"AU\";\n CountryCodes[\"At\"] = \"AT\";\n CountryCodes[\"Az\"] = \"AZ\";\n CountryCodes[\"Bs\"] = \"BS\";\n CountryCodes[\"Bh\"] = \"BH\";\n CountryCodes[\"Bd\"] = \"BD\";\n CountryCodes[\"Bb\"] = \"BB\";\n CountryCodes[\"By\"] = \"BY\";\n CountryCodes[\"Be\"] = \"BE\";\n CountryCodes[\"Bz\"] = \"BZ\";\n CountryCodes[\"Bj\"] = \"BJ\";\n CountryCodes[\"Bm\"] = \"BM\";\n CountryCodes[\"Bt\"] = \"BT\";\n CountryCodes[\"Bo\"] = \"BO\";\n CountryCodes[\"Bq\"] = \"BQ\";\n CountryCodes[\"Ba\"] = \"BA\";\n CountryCodes[\"Bw\"] = \"BW\";\n CountryCodes[\"Bv\"] = \"BV\";\n CountryCodes[\"Br\"] = \"BR\";\n CountryCodes[\"Io\"] = \"IO\";\n CountryCodes[\"Vg\"] = \"VG\";\n CountryCodes[\"Bn\"] = \"BN\";\n CountryCodes[\"Bg\"] = \"BG\";\n CountryCodes[\"Bf\"] = \"BF\";\n CountryCodes[\"Bi\"] = \"BI\";\n CountryCodes[\"Kh\"] = \"KH\";\n CountryCodes[\"Cm\"] = \"CM\";\n CountryCodes[\"Ca\"] = \"CA\";\n CountryCodes[\"Cv\"] = \"CV\";\n CountryCodes[\"Ky\"] = \"KY\";\n CountryCodes[\"Cf\"] = \"CF\";\n CountryCodes[\"Td\"] = \"TD\";\n CountryCodes[\"Cl\"] = \"CL\";\n CountryCodes[\"C2\"] = \"C2\";\n CountryCodes[\"Cn\"] = \"CN\";\n CountryCodes[\"Cx\"] = \"CX\";\n CountryCodes[\"Cc\"] = \"CC\";\n CountryCodes[\"Co\"] = \"CO\";\n CountryCodes[\"Km\"] = \"KM\";\n CountryCodes[\"Ck\"] = \"CK\";\n CountryCodes[\"Cr\"] = \"CR\";\n CountryCodes[\"Hr\"] = \"HR\";\n CountryCodes[\"Cu\"] = \"CU\";\n CountryCodes[\"Cw\"] = \"CW\";\n CountryCodes[\"Cy\"] = \"CY\";\n CountryCodes[\"Cz\"] = \"CZ\";\n CountryCodes[\"Cd\"] = \"CD\";\n CountryCodes[\"Dk\"] = \"DK\";\n CountryCodes[\"Dj\"] = \"DJ\";\n CountryCodes[\"Dm\"] = \"DM\";\n CountryCodes[\"Do\"] = \"DO\";\n CountryCodes[\"Tl\"] = \"TL\";\n CountryCodes[\"Ec\"] = \"EC\";\n CountryCodes[\"Eg\"] = \"EG\";\n CountryCodes[\"Sv\"] = \"SV\";\n CountryCodes[\"Gq\"] = \"GQ\";\n CountryCodes[\"Er\"] = \"ER\";\n CountryCodes[\"Ee\"] = \"EE\";\n CountryCodes[\"Et\"] = \"ET\";\n CountryCodes[\"Fk\"] = \"FK\";\n CountryCodes[\"Fo\"] = \"FO\";\n CountryCodes[\"Fj\"] = \"FJ\";\n CountryCodes[\"Fi\"] = \"FI\";\n CountryCodes[\"Fr\"] = \"FR\";\n CountryCodes[\"Gf\"] = \"GF\";\n CountryCodes[\"Pf\"] = \"PF\";\n CountryCodes[\"Tf\"] = \"TF\";\n CountryCodes[\"Ga\"] = \"GA\";\n CountryCodes[\"Gm\"] = \"GM\";\n CountryCodes[\"Ge\"] = \"GE\";\n CountryCodes[\"De\"] = \"DE\";\n CountryCodes[\"Gh\"] = \"GH\";\n CountryCodes[\"Gi\"] = \"GI\";\n CountryCodes[\"Gr\"] = \"GR\";\n CountryCodes[\"Gl\"] = \"GL\";\n CountryCodes[\"Gd\"] = \"GD\";\n CountryCodes[\"Gp\"] = \"GP\";\n CountryCodes[\"Gu\"] = \"GU\";\n CountryCodes[\"Gt\"] = \"GT\";\n CountryCodes[\"Gg\"] = \"GG\";\n CountryCodes[\"Gn\"] = \"GN\";\n CountryCodes[\"Gw\"] = \"GW\";\n CountryCodes[\"Gy\"] = \"GY\";\n CountryCodes[\"Ht\"] = \"HT\";\n CountryCodes[\"Hm\"] = \"HM\";\n CountryCodes[\"Hn\"] = \"HN\";\n CountryCodes[\"Hk\"] = \"HK\";\n CountryCodes[\"Hu\"] = \"HU\";\n CountryCodes[\"Is\"] = \"IS\";\n CountryCodes[\"In\"] = \"IN\";\n CountryCodes[\"Id\"] = \"ID\";\n CountryCodes[\"Ir\"] = \"IR\";\n CountryCodes[\"Iq\"] = \"IQ\";\n CountryCodes[\"Ie\"] = \"IE\";\n CountryCodes[\"Im\"] = \"IM\";\n CountryCodes[\"Il\"] = \"IL\";\n CountryCodes[\"It\"] = \"IT\";\n CountryCodes[\"Ci\"] = \"CI\";\n CountryCodes[\"Jm\"] = \"JM\";\n CountryCodes[\"Jp\"] = \"JP\";\n CountryCodes[\"Je\"] = \"JE\";\n CountryCodes[\"Jo\"] = \"JO\";\n CountryCodes[\"Kz\"] = \"KZ\";\n CountryCodes[\"Ke\"] = \"KE\";\n CountryCodes[\"Ki\"] = \"KI\";\n CountryCodes[\"Xk\"] = \"XK\";\n CountryCodes[\"Kw\"] = \"KW\";\n CountryCodes[\"Kg\"] = \"KG\";\n CountryCodes[\"La\"] = \"LA\";\n CountryCodes[\"Lv\"] = \"LV\";\n CountryCodes[\"Lb\"] = \"LB\";\n CountryCodes[\"Ls\"] = \"LS\";\n CountryCodes[\"Lr\"] = \"LR\";\n CountryCodes[\"Ly\"] = \"LY\";\n CountryCodes[\"Li\"] = \"LI\";\n CountryCodes[\"Lt\"] = \"LT\";\n CountryCodes[\"Lu\"] = \"LU\";\n CountryCodes[\"Mo\"] = \"MO\";\n CountryCodes[\"Mk\"] = \"MK\";\n CountryCodes[\"Mg\"] = \"MG\";\n CountryCodes[\"Mw\"] = \"MW\";\n CountryCodes[\"My\"] = \"MY\";\n CountryCodes[\"Mv\"] = \"MV\";\n CountryCodes[\"Ml\"] = \"ML\";\n CountryCodes[\"Mt\"] = \"MT\";\n CountryCodes[\"Mh\"] = \"MH\";\n CountryCodes[\"Mq\"] = \"MQ\";\n CountryCodes[\"Mr\"] = \"MR\";\n CountryCodes[\"Mu\"] = \"MU\";\n CountryCodes[\"Yt\"] = \"YT\";\n CountryCodes[\"Mx\"] = \"MX\";\n CountryCodes[\"Fm\"] = \"FM\";\n CountryCodes[\"Md\"] = \"MD\";\n CountryCodes[\"Mc\"] = \"MC\";\n CountryCodes[\"Mn\"] = \"MN\";\n CountryCodes[\"Me\"] = \"ME\";\n CountryCodes[\"Ms\"] = \"MS\";\n CountryCodes[\"Ma\"] = \"MA\";\n CountryCodes[\"Mz\"] = \"MZ\";\n CountryCodes[\"Mm\"] = \"MM\";\n CountryCodes[\"Na\"] = \"NA\";\n CountryCodes[\"Nr\"] = \"NR\";\n CountryCodes[\"Np\"] = \"NP\";\n CountryCodes[\"Nl\"] = \"NL\";\n CountryCodes[\"An\"] = \"AN\";\n CountryCodes[\"Nc\"] = \"NC\";\n CountryCodes[\"Nz\"] = \"NZ\";\n CountryCodes[\"Ni\"] = \"NI\";\n CountryCodes[\"Ne\"] = \"NE\";\n CountryCodes[\"Ng\"] = \"NG\";\n CountryCodes[\"Nu\"] = \"NU\";\n CountryCodes[\"Nf\"] = \"NF\";\n CountryCodes[\"Kp\"] = \"KP\";\n CountryCodes[\"Mp\"] = \"MP\";\n CountryCodes[\"No\"] = \"NO\";\n CountryCodes[\"Om\"] = \"OM\";\n CountryCodes[\"Pk\"] = \"PK\";\n CountryCodes[\"Pw\"] = \"PW\";\n CountryCodes[\"Ps\"] = \"PS\";\n CountryCodes[\"Pa\"] = \"PA\";\n CountryCodes[\"Pg\"] = \"PG\";\n CountryCodes[\"Py\"] = \"PY\";\n CountryCodes[\"Pe\"] = \"PE\";\n CountryCodes[\"Ph\"] = \"PH\";\n CountryCodes[\"Pn\"] = \"PN\";\n CountryCodes[\"Pl\"] = \"PL\";\n CountryCodes[\"Pt\"] = \"PT\";\n CountryCodes[\"Pr\"] = \"PR\";\n CountryCodes[\"Qa\"] = \"QA\";\n CountryCodes[\"Cg\"] = \"CG\";\n CountryCodes[\"Re\"] = \"RE\";\n CountryCodes[\"Ro\"] = \"RO\";\n CountryCodes[\"Ru\"] = \"RU\";\n CountryCodes[\"Rw\"] = \"RW\";\n CountryCodes[\"Bl\"] = \"BL\";\n CountryCodes[\"Sh\"] = \"SH\";\n CountryCodes[\"Kn\"] = \"KN\";\n CountryCodes[\"Lc\"] = \"LC\";\n CountryCodes[\"Mf\"] = \"MF\";\n CountryCodes[\"Pm\"] = \"PM\";\n CountryCodes[\"Vc\"] = \"VC\";\n CountryCodes[\"Ws\"] = \"WS\";\n CountryCodes[\"Sm\"] = \"SM\";\n CountryCodes[\"St\"] = \"ST\";\n CountryCodes[\"Sa\"] = \"SA\";\n CountryCodes[\"Sn\"] = \"SN\";\n CountryCodes[\"Rs\"] = \"RS\";\n CountryCodes[\"Cs\"] = \"CS\";\n CountryCodes[\"Sc\"] = \"SC\";\n CountryCodes[\"Sl\"] = \"SL\";\n CountryCodes[\"Sg\"] = \"SG\";\n CountryCodes[\"Sx\"] = \"SX\";\n CountryCodes[\"Sk\"] = \"SK\";\n CountryCodes[\"Si\"] = \"SI\";\n CountryCodes[\"Sb\"] = \"SB\";\n CountryCodes[\"So\"] = \"SO\";\n CountryCodes[\"Za\"] = \"ZA\";\n CountryCodes[\"Gs\"] = \"GS\";\n CountryCodes[\"Kr\"] = \"KR\";\n CountryCodes[\"Ss\"] = \"SS\";\n CountryCodes[\"Es\"] = \"ES\";\n CountryCodes[\"Lk\"] = \"LK\";\n CountryCodes[\"Sd\"] = \"SD\";\n CountryCodes[\"Sr\"] = \"SR\";\n CountryCodes[\"Sj\"] = \"SJ\";\n CountryCodes[\"Sz\"] = \"SZ\";\n CountryCodes[\"Se\"] = \"SE\";\n CountryCodes[\"Ch\"] = \"CH\";\n CountryCodes[\"Sy\"] = \"SY\";\n CountryCodes[\"Tw\"] = \"TW\";\n CountryCodes[\"Tj\"] = \"TJ\";\n CountryCodes[\"Tz\"] = \"TZ\";\n CountryCodes[\"Th\"] = \"TH\";\n CountryCodes[\"Tg\"] = \"TG\";\n CountryCodes[\"Tk\"] = \"TK\";\n CountryCodes[\"To\"] = \"TO\";\n CountryCodes[\"Tt\"] = \"TT\";\n CountryCodes[\"Tn\"] = \"TN\";\n CountryCodes[\"Tr\"] = \"TR\";\n CountryCodes[\"Tm\"] = \"TM\";\n CountryCodes[\"Tc\"] = \"TC\";\n CountryCodes[\"Tv\"] = \"TV\";\n CountryCodes[\"Vi\"] = \"VI\";\n CountryCodes[\"Ug\"] = \"UG\";\n CountryCodes[\"Ua\"] = \"UA\";\n CountryCodes[\"Ae\"] = \"AE\";\n CountryCodes[\"Gb\"] = \"GB\";\n CountryCodes[\"Us\"] = \"US\";\n CountryCodes[\"Um\"] = \"UM\";\n CountryCodes[\"Uy\"] = \"UY\";\n CountryCodes[\"Uz\"] = \"UZ\";\n CountryCodes[\"Vu\"] = \"VU\";\n CountryCodes[\"Va\"] = \"VA\";\n CountryCodes[\"Ve\"] = \"VE\";\n CountryCodes[\"Vn\"] = \"VN\";\n CountryCodes[\"Wf\"] = \"WF\";\n CountryCodes[\"Eh\"] = \"EH\";\n CountryCodes[\"Ye\"] = \"YE\";\n CountryCodes[\"Zm\"] = \"ZM\";\n CountryCodes[\"Zw\"] = \"ZW\";\n})(CountryCodes || (CountryCodes = {}));\n\n/** An enumeration of types that an CreditOfferCategoryType can be. ACQ, REUSE, etc. */\nexport var CreditOfferCategoryType;\n/** An enumeration of types that an CreditOfferType can be. INST, NI, CORE, etc. */\n\n(function (CreditOfferCategoryType) {\n CreditOfferCategoryType[\"Acq\"] = \"ACQ\";\n CreditOfferCategoryType[\"Reuse\"] = \"REUSE\";\n})(CreditOfferCategoryType || (CreditOfferCategoryType = {}));\n\nexport var CreditOfferType;\n/** Encapsulates all properties related to a credit pay later. */\n\n(function (CreditOfferType) {\n CreditOfferType[\"Inst\"] = \"INST\";\n CreditOfferType[\"Core\"] = \"CORE\";\n CreditOfferType[\"Ni\"] = \"NI\";\n CreditOfferType[\"Pala\"] = \"PALA\";\n CreditOfferType[\"Ezp\"] = \"EZP\";\n CreditOfferType[\"Pui\"] = \"PUI\";\n})(CreditOfferType || (CreditOfferType = {}));\n\n/** An enumeration of types that an CreditPaymentType can be. DOWN_PAYMENT, INSTALLMENT, etc. */\nexport var CreditPaymentType;\n/**\n * Encapsulates all properties related to a credit PPC offer for the RYI page.\n * Average SLA response time - 50ms\n */\n\n(function (CreditPaymentType) {\n CreditPaymentType[\"DownPayment\"] = \"DOWN_PAYMENT\";\n CreditPaymentType[\"Installment\"] = \"INSTALLMENT\";\n})(CreditPaymentType || (CreditPaymentType = {}));\n\n/** An enumeration of types that an CreditPresentmentType can be. RADIO, BANNER, etc. */\nexport var CreditPresentmentType;\n/** An enumeration of types that an CreditProductType can be. GPL, PPC, CO-BRAND, etc. */\n\n(function (CreditPresentmentType) {\n CreditPresentmentType[\"Radio\"] = \"Radio\";\n CreditPresentmentType[\"Banner\"] = \"Banner\";\n})(CreditPresentmentType || (CreditPresentmentType = {}));\n\nexport var CreditProductType;\n/** Installment details */\n\n(function (CreditProductType) {\n CreditProductType[\"CreditCardInstallments\"] = \"CREDIT_CARD_INSTALLMENTS\";\n CreditProductType[\"Gpl\"] = \"GPL\";\n CreditProductType[\"Pui\"] = \"PUI\";\n CreditProductType[\"Ppc\"] = \"PPC\";\n})(CreditProductType || (CreditProductType = {}));\n\n/** An enumeration of types that an Cryptocurrency can be. BTC, BCH, etc. */\nexport var CryptocurrencySymbol;\n/**\n * Encapsulates all properties related to a Pricing.\n * Ex: from, to, rate, etc.\n */\n\n(function (CryptocurrencySymbol) {\n CryptocurrencySymbol[\"Btc\"] = \"BTC\";\n CryptocurrencySymbol[\"Bch\"] = \"BCH\";\n CryptocurrencySymbol[\"Ltc\"] = \"LTC\";\n CryptocurrencySymbol[\"Eth\"] = \"ETH\";\n})(CryptocurrencySymbol || (CryptocurrencySymbol = {}));\n\n/**\n * An enumeration of types that FundingOption can have.\n * PROCESSOR_DECLINE, PAYPAL_ELIGIBILITY or PREAUTH\n */\nexport var DeclinedInstrumentType;\n/** An enumeration of values that language directionality can be. LTR or RTL */\n\n(function (DeclinedInstrumentType) {\n DeclinedInstrumentType[\"ProcessorDecline\"] = \"PROCESSOR_DECLINE\";\n DeclinedInstrumentType[\"PaypalEligibility\"] = \"PAYPAL_ELIGIBILITY\";\n DeclinedInstrumentType[\"Preauth\"] = \"PREAUTH\";\n})(DeclinedInstrumentType || (DeclinedInstrumentType = {}));\n\nexport var Directionality;\n/** Encapsulates details of a disallowed instrument */\n\n(function (Directionality) {\n Directionality[\"Ltr\"] = \"LTR\";\n Directionality[\"Rtl\"] = \"RTL\";\n})(Directionality || (Directionality = {}));\n\n/** An enumeration of values for Elmo filters that gets substituted with API call response */\nexport var ElmoRealTimeFilterValues;\n/** Encapsulates all properties for a user treatment for a particular experiment */\n\n(function (ElmoRealTimeFilterValues) {\n ElmoRealTimeFilterValues[\"MerchantId\"] = \"MERCHANT_ID\";\n ElmoRealTimeFilterValues[\"IsGuestEligible\"] = \"IS_GUEST_ELIGIBLE\";\n ElmoRealTimeFilterValues[\"IsWps\"] = \"IS_WPS\";\n})(ElmoRealTimeFilterValues || (ElmoRealTimeFilterValues = {}));\n\n/** Supported Enrollment Status enum values */\nexport var EnrollmentStatusType;\n/**\n * Encapsulates all properties of existing billing agreement Id.\n * Ex: balancePreference, stickyFundingOptionId, billingAgreementId\n */\n\n(function (EnrollmentStatusType) {\n EnrollmentStatusType[\"Yes\"] = \"YES\";\n EnrollmentStatusType[\"No\"] = \"NO\";\n EnrollmentStatusType[\"Unavailable\"] = \"UNAVAILABLE\";\n EnrollmentStatusType[\"Bypass\"] = \"BYPASS\";\n EnrollmentStatusType[\"Unknown\"] = \"UNKNOWN\";\n})(EnrollmentStatusType || (EnrollmentStatusType = {}));\n\n/** An enumeration of internal PayPal experience channels */\nexport var ExperienceChannel;\n/**\n * Encapsulates everything related to a PXP test.\n * Ex: type, values, stringValue\n *\n * Required auth states: Any\n */\n\n(function (ExperienceChannel) {\n ExperienceChannel[\"Hermes\"] = \"HERMES\";\n ExperienceChannel[\"Braintree\"] = \"BRAINTREE\";\n ExperienceChannel[\"Venmo\"] = \"VENMO\";\n ExperienceChannel[\"Prox\"] = \"PROX\";\n ExperienceChannel[\"Any\"] = \"ANY\";\n})(ExperienceChannel || (ExperienceChannel = {}));\n\n/** A FullWallet Status type */\nexport var FullWalletStatus;\n/** Encapsulates all button types that can be rendered by the smart payment button */\n\n(function (FullWalletStatus) {\n FullWalletStatus[\"OptedOut\"] = \"OPTED_OUT\";\n FullWalletStatus[\"New\"] = \"NEW\";\n FullWalletStatus[\"OptedIn\"] = \"OPTED_IN\";\n})(FullWalletStatus || (FullWalletStatus = {}));\n\nexport var FundingButtonType;\n/**\n * Encapsulates all data related to a Checkout session's funding contingencies\n * Ex: threeDomainSecure, cvvConfirm, etc.\n */\n\n(function (FundingButtonType) {\n FundingButtonType[\"Paypal\"] = \"paypal\";\n FundingButtonType[\"Card\"] = \"card\";\n FundingButtonType[\"Credit\"] = \"credit\";\n FundingButtonType[\"Paylater\"] = \"paylater\";\n FundingButtonType[\"Venmo\"] = \"venmo\";\n FundingButtonType[\"Itau\"] = \"itau\";\n FundingButtonType[\"Sepa\"] = \"sepa\";\n FundingButtonType[\"Ideal\"] = \"ideal\";\n FundingButtonType[\"Bancontact\"] = \"bancontact\";\n FundingButtonType[\"Giropay\"] = \"giropay\";\n FundingButtonType[\"Eps\"] = \"eps\";\n FundingButtonType[\"Sofort\"] = \"sofort\";\n FundingButtonType[\"Mybank\"] = \"mybank\";\n FundingButtonType[\"P24\"] = \"p24\";\n FundingButtonType[\"Zimpler\"] = \"zimpler\";\n FundingButtonType[\"Wechatpay\"] = \"wechatpay\";\n FundingButtonType[\"Blik\"] = \"blik\";\n FundingButtonType[\"Payu\"] = \"payu\";\n FundingButtonType[\"Trustly\"] = \"trustly\";\n FundingButtonType[\"Oxxo\"] = \"oxxo\";\n FundingButtonType[\"Boleto\"] = \"boleto\";\n FundingButtonType[\"Maxima\"] = \"maxima\";\n FundingButtonType[\"Mercadopago\"] = \"mercadopago\";\n FundingButtonType[\"Applepay\"] = \"applepay\";\n})(FundingButtonType || (FundingButtonType = {}));\n\n/** An enumeration of intents that a Cart can have. SALE, AUTHORIZE, or ORDER */\nexport var FundingEligibilityIntent;\n/** Funding Types encapsulates the types on a checkout session */\n\n(function (FundingEligibilityIntent) {\n FundingEligibilityIntent[\"Sale\"] = \"SALE\";\n FundingEligibilityIntent[\"Capture\"] = \"CAPTURE\";\n FundingEligibilityIntent[\"Authorize\"] = \"AUTHORIZE\";\n FundingEligibilityIntent[\"Order\"] = \"ORDER\";\n FundingEligibilityIntent[\"Tokenize\"] = \"TOKENIZE\";\n FundingEligibilityIntent[\"Subscription\"] = \"SUBSCRIPTION\";\n})(FundingEligibilityIntent || (FundingEligibilityIntent = {}));\n\n/** Delivery Method of Funding Instrument */\nexport var FundingInstrumentMethodType;\n/** Subtype of Funding Instrument (more descriptive than FundingInstrumentType) */\n\n(function (FundingInstrumentMethodType) {\n FundingInstrumentMethodType[\"Instant\"] = \"INSTANT\";\n FundingInstrumentMethodType[\"Delayed\"] = \"DELAYED\";\n FundingInstrumentMethodType[\"Manual\"] = \"MANUAL\";\n FundingInstrumentMethodType[\"Echeck\"] = \"ECHECK\";\n})(FundingInstrumentMethodType || (FundingInstrumentMethodType = {}));\n\nexport var FundingInstrumentSubType;\n/** Type of funding instrument */\n\n(function (FundingInstrumentSubType) {\n FundingInstrumentSubType[\"Checking\"] = \"CHECKING\";\n FundingInstrumentSubType[\"Savings\"] = \"SAVINGS\";\n FundingInstrumentSubType[\"Balance\"] = \"BALANCE\";\n FundingInstrumentSubType[\"Credit\"] = \"CREDIT\";\n FundingInstrumentSubType[\"Debit\"] = \"DEBIT\";\n FundingInstrumentSubType[\"Paypal\"] = \"PAYPAL\";\n FundingInstrumentSubType[\"Prepaid\"] = \"PREPAID\";\n FundingInstrumentSubType[\"Merchant\"] = \"MERCHANT\";\n FundingInstrumentSubType[\"Incentive\"] = \"INCENTIVE\";\n FundingInstrumentSubType[\"PaypalSpecificBalance\"] = \"PAYPAL_SPECIFIC_BALANCE\";\n FundingInstrumentSubType[\"MerchantSpecificBalance\"] = \"MERCHANT_SPECIFIC_BALANCE\";\n FundingInstrumentSubType[\"Cryptocurrency\"] = \"CRYPTOCURRENCY\";\n FundingInstrumentSubType[\"Unknown\"] = \"UNKNOWN\";\n})(FundingInstrumentSubType || (FundingInstrumentSubType = {}));\n\nexport var FundingInstrumentType;\n/**\n * A funding option encompasses a `fundingInstrument` that can be used to fully\n * cover the transaction, and the different `plans` that use that funding instrument.\n *\n * For details of the funding instrument, like name and lastDigits, query the\n * `fundingInstrument` field.\n *\n * For details of the options for how the funding instrument can be charged, query\n * the `allPlans` field.\n */\n\n(function (FundingInstrumentType) {\n FundingInstrumentType[\"Bank\"] = \"BANK\";\n FundingInstrumentType[\"Card\"] = \"CARD\";\n FundingInstrumentType[\"Balance\"] = \"BALANCE\";\n FundingInstrumentType[\"Credit\"] = \"CREDIT\";\n FundingInstrumentType[\"Incentive\"] = \"INCENTIVE\";\n})(FundingInstrumentType || (FundingInstrumentType = {}));\n\n/** Instrument types that can be grouped */\nexport var FundingOptionGroupingType;\n/**\n * An enumeration of subtypes that FundingOption can have.\n * DELAYED_TRANSFER, ECHECK, INSTANT_TRANSFER or MANUAL_BANK_TRANSFER\n */\n\n(function (FundingOptionGroupingType) {\n FundingOptionGroupingType[\"Incentive\"] = \"INCENTIVE\";\n})(FundingOptionGroupingType || (FundingOptionGroupingType = {}));\n\nexport var FundingOptionSubType;\n/**\n * An enumeration of types that FundingOption can have.\n * BANK_ACCOUNT, CREDIT_CARD, PAYPAL_BALANCE, PAYPAL_CREDIT, etc.\n */\n\n(function (FundingOptionSubType) {\n FundingOptionSubType[\"Credit\"] = \"CREDIT\";\n FundingOptionSubType[\"DelayedTransfer\"] = \"DELAYED_TRANSFER\";\n FundingOptionSubType[\"Echeck\"] = \"ECHECK\";\n FundingOptionSubType[\"InstantTransfer\"] = \"INSTANT_TRANSFER\";\n FundingOptionSubType[\"ManualBankTransfer\"] = \"MANUAL_BANK_TRANSFER\";\n})(FundingOptionSubType || (FundingOptionSubType = {}));\n\nexport var FundingOptionType;\n/** Container type for funding product eligibility */\n\n(function (FundingOptionType) {\n FundingOptionType[\"BankAccount\"] = \"BANK_ACCOUNT\";\n FundingOptionType[\"CreditCard\"] = \"CREDIT_CARD\";\n FundingOptionType[\"Cryptocurrency\"] = \"CRYPTOCURRENCY\";\n FundingOptionType[\"DebitCard\"] = \"DEBIT_CARD\";\n FundingOptionType[\"Incentive\"] = \"INCENTIVE\";\n FundingOptionType[\"PaypalBalance\"] = \"PAYPAL_BALANCE\";\n FundingOptionType[\"PaypalCredit\"] = \"PAYPAL_CREDIT\";\n FundingOptionType[\"PrivateLabelCreditCard\"] = \"PRIVATE_LABEL_CREDIT_CARD\";\n FundingOptionType[\"Rewards\"] = \"REWARDS\";\n FundingOptionType[\"PayToken\"] = \"PAY_TOKEN\";\n})(FundingOptionType || (FundingOptionType = {}));\n\n/** Pre-selected funding source type provided by the merchant */\nexport var FundingSourceType;\n/**\n * Encapsulates all properties related to a FundingInstrument.\n * Ex: name, type, lastDigits, amount, etc.\n * Average SLA response time - 1750ms\n */\n\n(function (FundingSourceType) {\n FundingSourceType[\"Bml\"] = \"BML\";\n})(FundingSourceType || (FundingSourceType = {}));\n\n/** An enumeration of the gender of a user. This is based off of the ISO/IEC5218 standard. */\nexport var Gender;\n/**\n * Encapsulates all properties related to a generic address.\n * Ex: line1, city, state, postalCode, fullAddress, isDefaultBilling, etc.\n */\n\n(function (Gender) {\n Gender[\"NotKnown\"] = \"NOT_KNOWN\";\n Gender[\"Male\"] = \"MALE\";\n Gender[\"Female\"] = \"FEMALE\";\n Gender[\"NotApplicable\"] = \"NOT_APPLICABLE\";\n})(Gender || (Gender = {}));\n\n/**\n * GAAC - Google Address Auto Complete\n * Address fields is the type of field we are expecting google places\n * API to return with every place_id we send in the request\n * This is not all the available options. Refer to google places API\n * documentation if you want to enable more fields\n */\nexport var GoogleAddressFields;\n/**\n * GAAC - Google Address Auto Complete\n * Place type is the search criteria for google places API\n * Mostly for PayPal usecase it will be 'address' type\n */\n\n(function (GoogleAddressFields) {\n GoogleAddressFields[\"AddressComponent\"] = \"ADDRESS_COMPONENT\";\n GoogleAddressFields[\"AdrAddress\"] = \"ADR_ADDRESS\";\n GoogleAddressFields[\"FormattedAddress\"] = \"FORMATTED_ADDRESS\";\n})(GoogleAddressFields || (GoogleAddressFields = {}));\n\nexport var GooglePlacesType;\n/** A container for Griffin Formatted Addresses */\n\n(function (GooglePlacesType) {\n GooglePlacesType[\"Geocode\"] = \"GEOCODE\";\n GooglePlacesType[\"Address\"] = \"ADDRESS\";\n GooglePlacesType[\"Establishment\"] = \"ESTABLISHMENT\";\n GooglePlacesType[\"Regions\"] = \"REGIONS\";\n GooglePlacesType[\"Cities\"] = \"CITIES\";\n})(GooglePlacesType || (GooglePlacesType = {}));\n\n/** An enumeration of types that HTTPMethod can have. GET, POST, PUT, DELETE, etc. */\nexport var HTTPMethod;\n/** IdentityDocumentInput type represents an identification doc to be added to an account */\n\n(function (HTTPMethod) {\n HTTPMethod[\"Get\"] = \"GET\";\n HTTPMethod[\"Head\"] = \"HEAD\";\n HTTPMethod[\"Post\"] = \"POST\";\n HTTPMethod[\"Put\"] = \"PUT\";\n HTTPMethod[\"Delete\"] = \"DELETE\";\n HTTPMethod[\"Connect\"] = \"CONNECT\";\n HTTPMethod[\"Options\"] = \"OPTIONS\";\n HTTPMethod[\"Patch\"] = \"PATCH\";\n HTTPMethod[\"Redirect\"] = \"REDIRECT\";\n})(HTTPMethod || (HTTPMethod = {}));\n\n/**\n * An enumeration of types that a Identification Type can be.\n * DRIVERS_LICENSE,NATIONAL_ID, etc.al\n */\nexport var IdentityDocumentType;\n/**\n * The Image interface encapsulates all properties related to an image.\n * Ex: url, width, height\n */\n\n(function (IdentityDocumentType) {\n IdentityDocumentType[\"Cpf\"] = \"CPF\";\n IdentityDocumentType[\"DriversLicense\"] = \"DRIVERS_LICENSE\";\n IdentityDocumentType[\"MedicalInsuranceId\"] = \"MEDICAL_INSURANCE_ID\";\n IdentityDocumentType[\"NationalId\"] = \"NATIONAL_ID\";\n IdentityDocumentType[\"PassportNumber\"] = \"PASSPORT_NUMBER\";\n IdentityDocumentType[\"PensionFundId\"] = \"PENSION_FUND_ID\";\n IdentityDocumentType[\"TaxIdentificationNumber\"] = \"TAX_IDENTIFICATION_NUMBER\";\n IdentityDocumentType[\"TemporaryNationalId\"] = \"TEMPORARY_NATIONAL_ID\";\n})(IdentityDocumentType || (IdentityDocumentType = {}));\n\n/**\n * Type of image\n *\n * `jpg`, `png`, etc\n */\nexport var ImageType;\n/** List of types that an Incentives can be. PERCENTAGE, FIXED */\n\n(function (ImageType) {\n ImageType[\"Jpg\"] = \"jpg\";\n ImageType[\"Png\"] = \"png\";\n ImageType[\"Gif\"] = \"gif\";\n})(ImageType || (ImageType = {}));\n\nexport var Incentives;\n/** Encapsulates the status of initiate otp confirmation response. */\n\n(function (Incentives) {\n Incentives[\"Percentage\"] = \"PERCENTAGE\";\n Incentives[\"Fixed\"] = \"FIXED\";\n})(Incentives || (Incentives = {}));\n\n/**\n * An enumeration of Installment Type.\n * SINGLE, MULTIPLE\n */\nexport var InstallmentType;\n/** Size of an image */\n\n(function (InstallmentType) {\n InstallmentType[\"Single\"] = \"SINGLE\";\n InstallmentType[\"Multiple\"] = \"MULTIPLE\";\n})(InstallmentType || (InstallmentType = {}));\n\nexport var InstitutionCategory;\n/** Encapsulates all properties related to card institution images. */\n\n(function (InstitutionCategory) {\n InstitutionCategory[\"Primary\"] = \"PRIMARY\";\n InstitutionCategory[\"Wallet\"] = \"WALLET\";\n InstitutionCategory[\"Thumbnail\"] = \"THUMBNAIL\";\n InstitutionCategory[\"Reward\"] = \"REWARD\";\n InstitutionCategory[\"Partner\"] = \"PARTNER\";\n InstitutionCategory[\"Brand\"] = \"BRAND\";\n InstitutionCategory[\"BrandSecondary\"] = \"BRAND_SECONDARY\";\n})(InstitutionCategory || (InstitutionCategory = {}));\n\n/** An enumeration of instrument classifications supported by PayPal */\nexport var InstrumentClassification;\n/** Types of client config integration artifact */\n\n(function (InstrumentClassification) {\n InstrumentClassification[\"Bank\"] = \"BANK\";\n InstrumentClassification[\"CoBrandedCreditCard\"] = \"CO_BRANDED_CREDIT_CARD\";\n InstrumentClassification[\"CreditCard\"] = \"CREDIT_CARD\";\n InstrumentClassification[\"CreditLine\"] = \"CREDIT_LINE\";\n InstrumentClassification[\"DebitCard\"] = \"DEBIT_CARD\";\n InstrumentClassification[\"ExternalWallet\"] = \"EXTERNAL_WALLET\";\n InstrumentClassification[\"GiftCard\"] = \"GIFT_CARD\";\n InstrumentClassification[\"Holding\"] = \"HOLDING\";\n InstrumentClassification[\"PaypalPrepaidCard\"] = \"PAYPAL_PREPAID_CARD\";\n InstrumentClassification[\"PrepaidCard\"] = \"PREPAID_CARD\";\n InstrumentClassification[\"PrivateLabelCreditCard\"] = \"PRIVATE_LABEL_CREDIT_CARD\";\n InstrumentClassification[\"Rewards\"] = \"REWARDS\";\n InstrumentClassification[\"Tab\"] = \"TAB\";\n InstrumentClassification[\"Unknown\"] = \"UNKNOWN\";\n})(InstrumentClassification || (InstrumentClassification = {}));\n\nexport var IntegrationArtifactType;\n/**\n * Integration Specific SDK Eligibility. Currently we support two kind of integrations\n * 1. Paypal: Paypal Specific SDK eligibility integration\n * 2. Venmo: Venmo Specific SDK eligibility integraion\n */\n\n(function (IntegrationArtifactType) {\n IntegrationArtifactType[\"PaypalJsSdk\"] = \"PAYPAL_JS_SDK\";\n IntegrationArtifactType[\"JsV4\"] = \"JS_V4\";\n IntegrationArtifactType[\"JsV3\"] = \"JS_V3\";\n IntegrationArtifactType[\"BraintreeVzero\"] = \"BRAINTREE_VZERO\";\n IntegrationArtifactType[\"NativeSdk\"] = \"NATIVE_SDK\";\n IntegrationArtifactType[\"None\"] = \"NONE\";\n})(IntegrationArtifactType || (IntegrationArtifactType = {}));\n\n/** An enumeration of the KYC (KnowYourCustomer) field types that can be required for sign up. */\nexport var KnowYourCustomerField;\n/**\n * The Locale interface encapsulates all properties related to a locale.\n * Ex: country, language, directionality, etc.\n */\n\n(function (KnowYourCustomerField) {\n KnowYourCustomerField[\"DateOfBirth\"] = \"DATE_OF_BIRTH\";\n KnowYourCustomerField[\"Gender\"] = \"GENDER\";\n KnowYourCustomerField[\"IdentityDocumentNumber\"] = \"IDENTITY_DOCUMENT_NUMBER\";\n KnowYourCustomerField[\"IdentityDocumentType\"] = \"IDENTITY_DOCUMENT_TYPE\";\n KnowYourCustomerField[\"Nationality\"] = \"NATIONALITY\";\n KnowYourCustomerField[\"Occupation\"] = \"OCCUPATION\";\n KnowYourCustomerField[\"PlaceOfBirth\"] = \"PLACE_OF_BIRTH\";\n KnowYourCustomerField[\"SecondaryIdentityDocumentNumber\"] = \"SECONDARY_IDENTITY_DOCUMENT_NUMBER\";\n KnowYourCustomerField[\"SecondaryIdentityDocumentType\"] = \"SECONDARY_IDENTITY_DOCUMENT_TYPE\";\n})(KnowYourCustomerField || (KnowYourCustomerField = {}));\n\n/**\n * An enumeration of phases that a MarketingOffer can be in.\n * INITIAL, DISPLAYED, CLICKED, CTA_INITIALIZED, etc.\n */\nexport var MarketingOfferPhase;\n/** An enumeration of statuses that a MarketingOffer can be in. VALID or INVALID */\n\n(function (MarketingOfferPhase) {\n MarketingOfferPhase[\"Initial\"] = \"INITIAL\";\n MarketingOfferPhase[\"Displayed\"] = \"DISPLAYED\";\n MarketingOfferPhase[\"Clicked\"] = \"CLICKED\";\n MarketingOfferPhase[\"CtaInitialized\"] = \"CTA_INITIALIZED\";\n MarketingOfferPhase[\"CtaCompleted\"] = \"CTA_COMPLETED\";\n MarketingOfferPhase[\"PayInitialized\"] = \"PAY_INITIALIZED\";\n MarketingOfferPhase[\"PayCompleted\"] = \"PAY_COMPLETED\";\n})(MarketingOfferPhase || (MarketingOfferPhase = {}));\n\nexport var MarketingOfferStatus;\n/**\n * An enumeration of types that a MarketingOffer can be.\n * ADPAL, INFORMATIONAL, FINANCIAL_PRODUCT, or OTHER\n */\n\n(function (MarketingOfferStatus) {\n MarketingOfferStatus[\"Valid\"] = \"VALID\";\n MarketingOfferStatus[\"Invalid\"] = \"INVALID\";\n})(MarketingOfferStatus || (MarketingOfferStatus = {}));\n\nexport var MarketingOfferType;\n/** Encapsulates all properties related to a merchant. Ex: merchantId, email */\n\n(function (MarketingOfferType) {\n MarketingOfferType[\"Adpal\"] = \"ADPAL\";\n MarketingOfferType[\"Informational\"] = \"INFORMATIONAL\";\n MarketingOfferType[\"FinancialProduct\"] = \"FINANCIAL_PRODUCT\";\n MarketingOfferType[\"Others\"] = \"OTHERS\";\n})(MarketingOfferType || (MarketingOfferType = {}));\n\n/**\n * This enum declares several different types of privileges we may allow for\n * first party vetted host apps on iOS and Android.\n */\nexport var NativeSDKPrivilege;\n/**\n * The NativeSDKPrivilegedResponse is returned from a query to the field\n * `isPrivilegedHostApp`. The clientId sent to that query as a parameter denotes\n * whether or not the\n */\n\n(function (NativeSDKPrivilege) {\n NativeSDKPrivilege[\"FullUiCustomization\"] = \"FULL_UI_CUSTOMIZATION\";\n NativeSDKPrivilege[\"FullIoCustomization\"] = \"FULL_IO_CUSTOMIZATION\";\n NativeSDKPrivilege[\"FullFirebase\"] = \"FULL_FIREBASE\";\n})(NativeSDKPrivilege || (NativeSDKPrivilege = {}));\n\n/** An enumeration of all occupations that a user can select */\nexport var Occupation;\n/** Encapsulates offer details */\n\n(function (Occupation) {\n Occupation[\"Accounting\"] = \"ACCOUNTING\";\n Occupation[\"Administration\"] = \"ADMINISTRATION\";\n Occupation[\"ArtsAndCulture\"] = \"ARTS_AND_CULTURE\";\n Occupation[\"Business\"] = \"BUSINESS\";\n Occupation[\"Communications\"] = \"COMMUNICATIONS\";\n Occupation[\"CustomerService\"] = \"CUSTOMER_SERVICE\";\n Occupation[\"Education\"] = \"EDUCATION\";\n Occupation[\"EnergyAndUtilities\"] = \"ENERGY_AND_UTILITIES\";\n Occupation[\"Engineering\"] = \"ENGINEERING\";\n Occupation[\"Finance\"] = \"FINANCE\";\n Occupation[\"FinancialServices\"] = \"FINANCIAL_SERVICES\";\n Occupation[\"Government\"] = \"GOVERNMENT\";\n Occupation[\"Health\"] = \"HEALTH\";\n Occupation[\"Hospitality\"] = \"HOSPITALITY\";\n Occupation[\"HumanResources\"] = \"HUMAN_RESOURCES\";\n Occupation[\"Internet\"] = \"INTERNET\";\n Occupation[\"Legal\"] = \"LEGAL\";\n Occupation[\"Manufacturing\"] = \"MANUFACTURING\";\n Occupation[\"Marketing\"] = \"MARKETING\";\n Occupation[\"NonProfit\"] = \"NON_PROFIT\";\n Occupation[\"Recreation\"] = \"RECREATION\";\n Occupation[\"Religion\"] = \"RELIGION\";\n Occupation[\"Research\"] = \"RESEARCH\";\n Occupation[\"Sales\"] = \"SALES\";\n Occupation[\"SportsAndFitness\"] = \"SPORTS_AND_FITNESS\";\n Occupation[\"Student\"] = \"STUDENT\";\n Occupation[\"Technology\"] = \"TECHNOLOGY\";\n Occupation[\"Trade\"] = \"TRADE\";\n Occupation[\"Transportation\"] = \"TRANSPORTATION\";\n Occupation[\"Travel\"] = \"TRAVEL\";\n})(Occupation || (Occupation = {}));\n\n/** An enumeration of white-listed offer programs */\nexport var OfferPrograms;\n/** An enumeration of Checkout onboarding experiences */\n\n(function (OfferPrograms) {\n OfferPrograms[\"SplitTender\"] = \"SPLIT_TENDER\";\n})(OfferPrograms || (OfferPrograms = {}));\n\nexport var OnboardingExperienceType;\n/** Encapsulates all properties related to open banking contingency */\n\n(function (OnboardingExperienceType) {\n OnboardingExperienceType[\"Guest\"] = \"GUEST\";\n OnboardingExperienceType[\"SignUp\"] = \"SIGN_UP\";\n})(OnboardingExperienceType || (OnboardingExperienceType = {}));\n\n/** Payer Disclaimer values */\nexport var PayerDisclaimer;\n/**\n * Encapsulates all data related to a Checkout session's payment contingencies\n * Ex: threeDomainSecure, cvvConfirm, etc.\n */\n\n(function (PayerDisclaimer) {\n PayerDisclaimer[\"Cobranded\"] = \"COBRANDED\";\n})(PayerDisclaimer || (PayerDisclaimer = {}));\n\n/** An enumeration of PayPal business regions */\nexport var PayPalBusinessRegions;\n/**\n * Encapsulates all properties related to a person's name.\n * Ex: givenName, middleName, familyName, fullName, etc.\n */\n\n(function (PayPalBusinessRegions) {\n PayPalBusinessRegions[\"Apac\"] = \"APAC\";\n PayPalBusinessRegions[\"Em\"] = \"EM\";\n PayPalBusinessRegions[\"Emea\"] = \"EMEA\";\n PayPalBusinessRegions[\"Latam\"] = \"LATAM\";\n PayPalBusinessRegions[\"Na\"] = \"NA\";\n})(PayPalBusinessRegions || (PayPalBusinessRegions = {}));\n\n/** Phone confirmation state */\nexport var PhoneConfirmationState;\n/** Buyer's phone contact information (number, countryCode, etc) */\n\n(function (PhoneConfirmationState) {\n PhoneConfirmationState[\"Pending\"] = \"PENDING\";\n PhoneConfirmationState[\"Confirmed\"] = \"CONFIRMED\";\n PhoneConfirmationState[\"Unknown\"] = \"UNKNOWN\";\n})(PhoneConfirmationState || (PhoneConfirmationState = {}));\n\n/** Phone contact \"types\" */\nexport var PhoneInputType;\n/** An enumeration of types that an Phone can be. MAIN, WORK, MOBILE, FAX, OTHER */\n\n(function (PhoneInputType) {\n PhoneInputType[\"Home\"] = \"HOME\";\n PhoneInputType[\"Mobile\"] = \"MOBILE\";\n PhoneInputType[\"Work\"] = \"WORK\";\n PhoneInputType[\"Business\"] = \"BUSINESS\";\n PhoneInputType[\"CustomerService\"] = \"CUSTOMER_SERVICE\";\n})(PhoneInputType || (PhoneInputType = {}));\n\nexport var PhoneType;\n/**\n * A plan describes a way that the user can pay for a transaction. It includes the\n * list of funding sources that will be used, and optionally, backup or currency\n * conversion options that apply to using the plan.\n */\n\n(function (PhoneType) {\n PhoneType[\"Main\"] = \"MAIN\";\n PhoneType[\"Work\"] = \"WORK\";\n PhoneType[\"Mobile\"] = \"MOBILE\";\n PhoneType[\"Fax\"] = \"FAX\";\n PhoneType[\"Other\"] = \"OTHER\";\n})(PhoneType || (PhoneType = {}));\n\n/**\n * The channel (type of browser/device) that the user is coming from\n * https://github.paypal.com/ApiSpecifications-R/CommonComponentsSpecification/blob/master/v4/schema/json/openapi-2.0/product_experience.json#L232\n */\nexport var ProductChannel;\n/**\n * Types of client config product code\n * https://github.paypal.com/ApiSpecifications-R/CommonComponentsSpecification/blob/master/v2/schema/json/openapi-2.0/client_configuration.json#L9\n */\n\n(function (ProductChannel) {\n ProductChannel[\"Web\"] = \"WEB\";\n ProductChannel[\"MobileWeb\"] = \"MOBILE_WEB\";\n ProductChannel[\"MobileApp\"] = \"MOBILE_APP\";\n})(ProductChannel || (ProductChannel = {}));\n\nexport var ProductCodeType;\n/** Product Details */\n\n(function (ProductCodeType) {\n ProductCodeType[\"ExpressCheckout\"] = \"EXPRESS_CHECKOUT\";\n ProductCodeType[\"WebsitePaymentsStandard\"] = \"WEBSITE_PAYMENTS_STANDARD\";\n ProductCodeType[\"DirectCreditCard\"] = \"DIRECT_CREDIT_CARD\";\n ProductCodeType[\"BillingAgreements\"] = \"BILLING_AGREEMENTS\";\n ProductCodeType[\"BillingSubscriptions\"] = \"BILLING_SUBSCRIPTIONS\";\n})(ProductCodeType || (ProductCodeType = {}));\n\n/**\n * Types of client config product flow\n * https://github.paypal.com/ApiSpecifications-R/CommonComponentsSpecification/blob/master/v4/schema/json/openapi-2.0/product_experience.json#L265\n */\nexport var ProductFlowType;\n/**\n * Encapsulates all properties related to a profile image.\n * Ex: url, profileImageType, width, height\n */\n\n(function (ProductFlowType) {\n ProductFlowType[\"SmartPaymentButtons\"] = \"SMART_PAYMENT_BUTTONS\";\n ProductFlowType[\"PaypalPlus\"] = \"PAYPAL_PLUS\";\n ProductFlowType[\"BuyerApprovalBillingAgreementWithPurchase\"] = \"BUYER_APPROVAL_BILLING_AGREEMENT_WITH_PURCHASE\";\n ProductFlowType[\"BuyerApprovalBillingAgreementCreate\"] = \"BUYER_APPROVAL_BILLING_AGREEMENT_CREATE\";\n ProductFlowType[\"BuyerApprovalSubscriptionsCreate\"] = \"BUYER_APPROVAL_SUBSCRIPTIONS_CREATE\";\n ProductFlowType[\"CreditAppliedAtCheckout\"] = \"CREDIT_APPLIED_AT_CHECKOUT\";\n ProductFlowType[\"HostedSoleSolution\"] = \"HOSTED_SOLE_SOLUTION\";\n ProductFlowType[\"Hermes\"] = \"HERMES\";\n})(ProductFlowType || (ProductFlowType = {}));\n\n/**\n * An enumeration of types that ProfileImage can have.\n *\n * See: https://engineering.paypalcorp.com/confluence/display/PayPalMediaService/Image+Request+Metadata+Data#ImageRequestMetadataData-ImageIds\n */\nexport var ProfileImageType;\n/** Shipping methods to display to the buyer */\n\n(function (ProfileImageType) {\n ProfileImageType[\"Xxs\"] = \"XXS\";\n ProfileImageType[\"Xs\"] = \"XS\";\n ProfileImageType[\"S\"] = \"S\";\n ProfileImageType[\"M\"] = \"M\";\n ProfileImageType[\"L\"] = \"L\";\n ProfileImageType[\"Xl\"] = \"XL\";\n ProfileImageType[\"Xxl\"] = \"XXL\";\n ProfileImageType[\"Xxxl\"] = \"XXXL\";\n ProfileImageType[\"Size_0\"] = \"SIZE_0\";\n ProfileImageType[\"Size_1\"] = \"SIZE_1\";\n ProfileImageType[\"Size_2\"] = \"SIZE_2\";\n ProfileImageType[\"Size_3\"] = \"SIZE_3\";\n ProfileImageType[\"Size_4\"] = \"SIZE_4\";\n ProfileImageType[\"Size_5\"] = \"SIZE_5\";\n ProfileImageType[\"Size_6\"] = \"SIZE_6\";\n ProfileImageType[\"Size_7\"] = \"SIZE_7\";\n ProfileImageType[\"Size_8\"] = \"SIZE_8\";\n ProfileImageType[\"Size_9\"] = \"SIZE_9\";\n ProfileImageType[\"Size_10\"] = \"SIZE_10\";\n ProfileImageType[\"Size_11\"] = \"SIZE_11\";\n ProfileImageType[\"Size_12\"] = \"SIZE_12\";\n ProfileImageType[\"Size_13\"] = \"SIZE_13\";\n ProfileImageType[\"Size_14\"] = \"SIZE_14\";\n ProfileImageType[\"Size_15\"] = \"SIZE_15\";\n ProfileImageType[\"Size_16\"] = \"SIZE_16\";\n ProfileImageType[\"Size_17\"] = \"SIZE_17\";\n ProfileImageType[\"Size_20\"] = \"SIZE_20\";\n ProfileImageType[\"Size_22\"] = \"SIZE_22\";\n ProfileImageType[\"Size_23\"] = \"SIZE_23\";\n ProfileImageType[\"Size_24\"] = \"SIZE_24\";\n ProfileImageType[\"Size_26\"] = \"SIZE_26\";\n ProfileImageType[\"Size_28\"] = \"SIZE_28\";\n ProfileImageType[\"Size_29\"] = \"SIZE_29\";\n ProfileImageType[\"Size_30\"] = \"SIZE_30\";\n ProfileImageType[\"Size_31\"] = \"SIZE_31\";\n ProfileImageType[\"Size_32\"] = \"SIZE_32\";\n ProfileImageType[\"Size_33\"] = \"SIZE_33\";\n ProfileImageType[\"Size_34\"] = \"SIZE_34\";\n ProfileImageType[\"Size_35\"] = \"SIZE_35\";\n ProfileImageType[\"Size_36\"] = \"SIZE_36\";\n ProfileImageType[\"Size_37\"] = \"SIZE_37\";\n ProfileImageType[\"Size_38\"] = \"SIZE_38\";\n ProfileImageType[\"Size_39\"] = \"SIZE_39\";\n ProfileImageType[\"Size_40\"] = \"SIZE_40\";\n ProfileImageType[\"Size_41\"] = \"SIZE_41\";\n ProfileImageType[\"Size_42\"] = \"SIZE_42\";\n ProfileImageType[\"Size_43\"] = \"SIZE_43\";\n ProfileImageType[\"Size_44\"] = \"SIZE_44\";\n ProfileImageType[\"Size_45\"] = \"SIZE_45\";\n ProfileImageType[\"Size_47\"] = \"SIZE_47\";\n ProfileImageType[\"Size_48\"] = \"SIZE_48\";\n ProfileImageType[\"Size_49\"] = \"SIZE_49\";\n ProfileImageType[\"Size_50\"] = \"SIZE_50\";\n ProfileImageType[\"Size_51\"] = \"SIZE_51\";\n ProfileImageType[\"Size_52\"] = \"SIZE_52\";\n ProfileImageType[\"Size_53\"] = \"SIZE_53\";\n ProfileImageType[\"Size_54\"] = \"SIZE_54\";\n ProfileImageType[\"Size_55\"] = \"SIZE_55\";\n ProfileImageType[\"Size_56\"] = \"SIZE_56\";\n ProfileImageType[\"Size_57\"] = \"SIZE_57\";\n ProfileImageType[\"Size_58\"] = \"SIZE_58\";\n ProfileImageType[\"Size_59\"] = \"SIZE_59\";\n ProfileImageType[\"Size_62\"] = \"SIZE_62\";\n ProfileImageType[\"Size_65\"] = \"SIZE_65\";\n ProfileImageType[\"Size_66\"] = \"SIZE_66\";\n ProfileImageType[\"Size_67\"] = \"SIZE_67\";\n ProfileImageType[\"Size_68\"] = \"SIZE_68\";\n ProfileImageType[\"Size_69\"] = \"SIZE_69\";\n ProfileImageType[\"Size_70\"] = \"SIZE_70\";\n ProfileImageType[\"Size_71\"] = \"SIZE_71\";\n ProfileImageType[\"Size_72\"] = \"SIZE_72\";\n ProfileImageType[\"Size_73\"] = \"SIZE_73\";\n ProfileImageType[\"Size_74\"] = \"SIZE_74\";\n ProfileImageType[\"Size_75\"] = \"SIZE_75\";\n ProfileImageType[\"Size_76\"] = \"SIZE_76\";\n ProfileImageType[\"Size_77\"] = \"SIZE_77\";\n ProfileImageType[\"Size_78\"] = \"SIZE_78\";\n ProfileImageType[\"Size_79\"] = \"SIZE_79\";\n ProfileImageType[\"Size_80\"] = \"SIZE_80\";\n ProfileImageType[\"Size_81\"] = \"SIZE_81\";\n ProfileImageType[\"Size_82\"] = \"SIZE_82\";\n ProfileImageType[\"Size_83\"] = \"SIZE_83\";\n ProfileImageType[\"Size_84\"] = \"SIZE_84\";\n ProfileImageType[\"Size_85\"] = \"SIZE_85\";\n ProfileImageType[\"Size_87\"] = \"SIZE_87\";\n ProfileImageType[\"Size_88\"] = \"SIZE_88\";\n ProfileImageType[\"Size_89\"] = \"SIZE_89\";\n ProfileImageType[\"Size_90\"] = \"SIZE_90\";\n ProfileImageType[\"Size_91\"] = \"SIZE_91\";\n ProfileImageType[\"Size_92\"] = \"SIZE_92\";\n ProfileImageType[\"Size_93\"] = \"SIZE_93\";\n ProfileImageType[\"Size_94\"] = \"SIZE_94\";\n ProfileImageType[\"Size_95\"] = \"SIZE_95\";\n ProfileImageType[\"Size_96\"] = \"SIZE_96\";\n ProfileImageType[\"Size_97\"] = \"SIZE_97\";\n ProfileImageType[\"Size_98\"] = \"SIZE_98\";\n ProfileImageType[\"Size_100\"] = \"SIZE_100\";\n ProfileImageType[\"Size_101\"] = \"SIZE_101\";\n ProfileImageType[\"Size_102\"] = \"SIZE_102\";\n ProfileImageType[\"Size_103\"] = \"SIZE_103\";\n ProfileImageType[\"Size_104\"] = \"SIZE_104\";\n ProfileImageType[\"Size_105\"] = \"SIZE_105\";\n ProfileImageType[\"Size_106\"] = \"SIZE_106\";\n ProfileImageType[\"Size_107\"] = \"SIZE_107\";\n ProfileImageType[\"Size_109\"] = \"SIZE_109\";\n ProfileImageType[\"Size_110\"] = \"SIZE_110\";\n ProfileImageType[\"Size_111\"] = \"SIZE_111\";\n ProfileImageType[\"Size_112\"] = \"SIZE_112\";\n ProfileImageType[\"Size_113\"] = \"SIZE_113\";\n ProfileImageType[\"Size_114\"] = \"SIZE_114\";\n ProfileImageType[\"Size_115\"] = \"SIZE_115\";\n ProfileImageType[\"Size_116\"] = \"SIZE_116\";\n ProfileImageType[\"Size_117\"] = \"SIZE_117\";\n ProfileImageType[\"Size_118\"] = \"SIZE_118\";\n ProfileImageType[\"Size_119\"] = \"SIZE_119\";\n ProfileImageType[\"Size_120\"] = \"SIZE_120\";\n ProfileImageType[\"Size_121\"] = \"SIZE_121\";\n ProfileImageType[\"Size_134\"] = \"SIZE_134\";\n ProfileImageType[\"Size_135\"] = \"SIZE_135\";\n ProfileImageType[\"Size_136\"] = \"SIZE_136\";\n ProfileImageType[\"Size_137\"] = \"SIZE_137\";\n ProfileImageType[\"Size_138\"] = \"SIZE_138\";\n ProfileImageType[\"Size_139\"] = \"SIZE_139\";\n ProfileImageType[\"Size_140\"] = \"SIZE_140\";\n ProfileImageType[\"Size_141\"] = \"SIZE_141\";\n ProfileImageType[\"Size_142\"] = \"SIZE_142\";\n})(ProfileImageType || (ProfileImageType = {}));\n\n/** Allowed statuses for resolveThreeDsContingency status */\nexport var ResolveThreeDsContingencyStatus;\n/** Encapsulates all properties related to Rewards for a funding instrument */\n\n(function (ResolveThreeDsContingencyStatus) {\n ResolveThreeDsContingencyStatus[\"Success\"] = \"SUCCESS\";\n ResolveThreeDsContingencyStatus[\"Failure\"] = \"FAILURE\";\n})(ResolveThreeDsContingencyStatus || (ResolveThreeDsContingencyStatus = {}));\n\n/** The type of Rewards conversion */\nexport var RewardsConversionType;\n/** The decimal precision for Rewards conversion */\n\n(function (RewardsConversionType) {\n RewardsConversionType[\"AmountToRewards\"] = \"AMOUNT_TO_REWARDS\";\n RewardsConversionType[\"RewardsToAmount\"] = \"REWARDS_TO_AMOUNT\";\n})(RewardsConversionType || (RewardsConversionType = {}));\n\n/** The Rewards redemption type */\nexport var RewardsRedemptionType;\n/** The rounding modes when converting a Rewards value */\n\n(function (RewardsRedemptionType) {\n RewardsRedemptionType[\"StatementCredit\"] = \"STATEMENT_CREDIT\";\n RewardsRedemptionType[\"StatementCreditWithAmountChoice\"] = \"STATEMENT_CREDIT_WITH_AMOUNT_CHOICE\";\n RewardsRedemptionType[\"RealTime\"] = \"REAL_TIME\";\n})(RewardsRedemptionType || (RewardsRedemptionType = {}));\n\n/**\n * The mode of Rewards rounding\n *\n * https://docs.oracle.com/javase/7/docs/api/java/math/RoundingMode.html\n */\nexport var RewardsRoundingModeType;\n/** Provides the user's current SCA status and exemption reason, if any */\n\n(function (RewardsRoundingModeType) {\n RewardsRoundingModeType[\"Unnecessary\"] = \"UNNECESSARY\";\n RewardsRoundingModeType[\"HalfUp\"] = \"HALF_UP\";\n RewardsRoundingModeType[\"HalfDown\"] = \"HALF_DOWN\";\n RewardsRoundingModeType[\"HalfEven\"] = \"HALF_EVEN\";\n RewardsRoundingModeType[\"Up\"] = \"UP\";\n RewardsRoundingModeType[\"Down\"] = \"DOWN\";\n})(RewardsRoundingModeType || (RewardsRoundingModeType = {}));\n\n/** An enumeration of possible SecureCustomerAuthenticationContext statuses */\nexport var SecureCustomerAuthenticationExemptReason;\n/** An enumeration of possible SecureCustomerAuthenticationContext statuses */\n\n(function (SecureCustomerAuthenticationExemptReason) {\n SecureCustomerAuthenticationExemptReason[\"LowValueTransaction\"] = \"LOW_VALUE_TRANSACTION\";\n SecureCustomerAuthenticationExemptReason[\"TrustedBeneficiary\"] = \"TRUSTED_BENEFICIARY\";\n SecureCustomerAuthenticationExemptReason[\"BuyerNotPresent\"] = \"BUYER_NOT_PRESENT\";\n SecureCustomerAuthenticationExemptReason[\"ReferenceTransaction\"] = \"REFERENCE_TRANSACTION\";\n})(SecureCustomerAuthenticationExemptReason || (SecureCustomerAuthenticationExemptReason = {}));\n\nexport var SecureCustomerAuthenticationStatus;\n/**\n * Encapsulates all properties related to a credit as FI offer for the RYI page that a user selected.\n * Average SLA response time - 50ms - (This might change)\n */\n\n(function (SecureCustomerAuthenticationStatus) {\n SecureCustomerAuthenticationStatus[\"Complete\"] = \"COMPLETE\";\n SecureCustomerAuthenticationStatus[\"InProgress\"] = \"IN_PROGRESS\";\n SecureCustomerAuthenticationStatus[\"Exempt\"] = \"EXEMPT\";\n})(SecureCustomerAuthenticationStatus || (SecureCustomerAuthenticationStatus = {}));\n\n/** Types, or categories for ShippingMethods to have. */\nexport var ShippingMethodType;\n/** The shipping options source type */\n\n(function (ShippingMethodType) {\n ShippingMethodType[\"Shipping\"] = \"SHIPPING\";\n ShippingMethodType[\"Pickup\"] = \"PICKUP\";\n})(ShippingMethodType || (ShippingMethodType = {}));\n\nexport var ShippingOptionsSource;\n/** Lists possible transaction Signature status identifier. */\n\n(function (ShippingOptionsSource) {\n ShippingOptionsSource[\"Profile\"] = \"PROFILE\";\n ShippingOptionsSource[\"Callback\"] = \"CALLBACK\";\n ShippingOptionsSource[\"Fallback\"] = \"FALLBACK\";\n})(ShippingOptionsSource || (ShippingOptionsSource = {}));\n\nexport var SignatureVerificationStatus;\n/**\n * Get a recognized user's smart wallet. This api works:\n *\n * - Before EC token generation\n * - With either an existing buyer access token, billing agreement, or vault\n * - Returns both branded and unbranded FIs\n */\n\n(function (SignatureVerificationStatus) {\n SignatureVerificationStatus[\"Yes\"] = \"YES\";\n SignatureVerificationStatus[\"No\"] = \"NO\";\n})(SignatureVerificationStatus || (SignatureVerificationStatus = {}));\n\n/** Size of an image */\nexport var SquareImageSize;\n/**\n * Data required to resolve the Strong Customer Authentication (SCA) Contingency.\n * Before completing checkout or updating any account related info, user needs to complete another auth flow.\n */\n\n(function (SquareImageSize) {\n SquareImageSize[\"Xxs\"] = \"XXS\";\n SquareImageSize[\"Xs\"] = \"XS\";\n SquareImageSize[\"S\"] = \"S\";\n SquareImageSize[\"M\"] = \"M\";\n SquareImageSize[\"L\"] = \"L\";\n SquareImageSize[\"Xl\"] = \"XL\";\n SquareImageSize[\"Xxl\"] = \"XXL\";\n SquareImageSize[\"Xxxl\"] = \"XXXL\";\n})(SquareImageSize || (SquareImageSize = {}));\n\n/** Supported card vendors */\nexport var SupportedCardsType;\n/** An enumeration of supported country currencies that CurrencyConversion query allows */\n\n(function (SupportedCardsType) {\n SupportedCardsType[\"Visa\"] = \"VISA\";\n SupportedCardsType[\"Mastercard\"] = \"MASTERCARD\";\n SupportedCardsType[\"Amex\"] = \"AMEX\";\n SupportedCardsType[\"Discover\"] = \"DISCOVER\";\n SupportedCardsType[\"Jcb\"] = \"JCB\";\n SupportedCardsType[\"Elo\"] = \"ELO\";\n SupportedCardsType[\"Hiper\"] = \"HIPER\";\n})(SupportedCardsType || (SupportedCardsType = {}));\n\nexport var SupportedCountryCurrencies;\n/** An enumeration of types that currency could have. International, code, plural etc. */\n\n(function (SupportedCountryCurrencies) {\n SupportedCountryCurrencies[\"Aed\"] = \"AED\";\n SupportedCountryCurrencies[\"Afn\"] = \"AFN\";\n SupportedCountryCurrencies[\"All\"] = \"ALL\";\n SupportedCountryCurrencies[\"Amd\"] = \"AMD\";\n SupportedCountryCurrencies[\"Ang\"] = \"ANG\";\n SupportedCountryCurrencies[\"Aoa\"] = \"AOA\";\n SupportedCountryCurrencies[\"Ars\"] = \"ARS\";\n SupportedCountryCurrencies[\"Aud\"] = \"AUD\";\n SupportedCountryCurrencies[\"Awg\"] = \"AWG\";\n SupportedCountryCurrencies[\"Azn\"] = \"AZN\";\n SupportedCountryCurrencies[\"Bam\"] = \"BAM\";\n SupportedCountryCurrencies[\"Bbd\"] = \"BBD\";\n SupportedCountryCurrencies[\"Bdt\"] = \"BDT\";\n SupportedCountryCurrencies[\"Bgn\"] = \"BGN\";\n SupportedCountryCurrencies[\"Bhd\"] = \"BHD\";\n SupportedCountryCurrencies[\"Bif\"] = \"BIF\";\n SupportedCountryCurrencies[\"Bmd\"] = \"BMD\";\n SupportedCountryCurrencies[\"Bnd\"] = \"BND\";\n SupportedCountryCurrencies[\"Bob\"] = \"BOB\";\n SupportedCountryCurrencies[\"Brl\"] = \"BRL\";\n SupportedCountryCurrencies[\"Bsd\"] = \"BSD\";\n SupportedCountryCurrencies[\"Btn\"] = \"BTN\";\n SupportedCountryCurrencies[\"Bwp\"] = \"BWP\";\n SupportedCountryCurrencies[\"Byn\"] = \"BYN\";\n SupportedCountryCurrencies[\"Bzd\"] = \"BZD\";\n SupportedCountryCurrencies[\"Cad\"] = \"CAD\";\n SupportedCountryCurrencies[\"Cdf\"] = \"CDF\";\n SupportedCountryCurrencies[\"Chf\"] = \"CHF\";\n SupportedCountryCurrencies[\"Clp\"] = \"CLP\";\n SupportedCountryCurrencies[\"Cny\"] = \"CNY\";\n SupportedCountryCurrencies[\"Cop\"] = \"COP\";\n SupportedCountryCurrencies[\"Crc\"] = \"CRC\";\n SupportedCountryCurrencies[\"Cuc\"] = \"CUC\";\n SupportedCountryCurrencies[\"Cup\"] = \"CUP\";\n SupportedCountryCurrencies[\"Cve\"] = \"CVE\";\n SupportedCountryCurrencies[\"Czk\"] = \"CZK\";\n SupportedCountryCurrencies[\"Djf\"] = \"DJF\";\n SupportedCountryCurrencies[\"Dkk\"] = \"DKK\";\n SupportedCountryCurrencies[\"Dop\"] = \"DOP\";\n SupportedCountryCurrencies[\"Dzd\"] = \"DZD\";\n SupportedCountryCurrencies[\"Eek\"] = \"EEK\";\n SupportedCountryCurrencies[\"Egp\"] = \"EGP\";\n SupportedCountryCurrencies[\"Ern\"] = \"ERN\";\n SupportedCountryCurrencies[\"Etb\"] = \"ETB\";\n SupportedCountryCurrencies[\"Eur\"] = \"EUR\";\n SupportedCountryCurrencies[\"Fjd\"] = \"FJD\";\n SupportedCountryCurrencies[\"Fkp\"] = \"FKP\";\n SupportedCountryCurrencies[\"Gbp\"] = \"GBP\";\n SupportedCountryCurrencies[\"Gel\"] = \"GEL\";\n SupportedCountryCurrencies[\"Ghs\"] = \"GHS\";\n SupportedCountryCurrencies[\"Gip\"] = \"GIP\";\n SupportedCountryCurrencies[\"Gmd\"] = \"GMD\";\n SupportedCountryCurrencies[\"Gnf\"] = \"GNF\";\n SupportedCountryCurrencies[\"Gtq\"] = \"GTQ\";\n SupportedCountryCurrencies[\"Gyd\"] = \"GYD\";\n SupportedCountryCurrencies[\"Hkd\"] = \"HKD\";\n SupportedCountryCurrencies[\"Hnl\"] = \"HNL\";\n SupportedCountryCurrencies[\"Hrk\"] = \"HRK\";\n SupportedCountryCurrencies[\"Htg\"] = \"HTG\";\n SupportedCountryCurrencies[\"Huf\"] = \"HUF\";\n SupportedCountryCurrencies[\"Idr\"] = \"IDR\";\n SupportedCountryCurrencies[\"Ils\"] = \"ILS\";\n SupportedCountryCurrencies[\"Inr\"] = \"INR\";\n SupportedCountryCurrencies[\"Iqd\"] = \"IQD\";\n SupportedCountryCurrencies[\"Irr\"] = \"IRR\";\n SupportedCountryCurrencies[\"Isk\"] = \"ISK\";\n SupportedCountryCurrencies[\"Jmd\"] = \"JMD\";\n SupportedCountryCurrencies[\"Jod\"] = \"JOD\";\n SupportedCountryCurrencies[\"Jpy\"] = \"JPY\";\n SupportedCountryCurrencies[\"Kes\"] = \"KES\";\n SupportedCountryCurrencies[\"Kgs\"] = \"KGS\";\n SupportedCountryCurrencies[\"Khr\"] = \"KHR\";\n SupportedCountryCurrencies[\"Kmf\"] = \"KMF\";\n SupportedCountryCurrencies[\"Kpw\"] = \"KPW\";\n SupportedCountryCurrencies[\"Krw\"] = \"KRW\";\n SupportedCountryCurrencies[\"Kwd\"] = \"KWD\";\n SupportedCountryCurrencies[\"Kyd\"] = \"KYD\";\n SupportedCountryCurrencies[\"Kzt\"] = \"KZT\";\n SupportedCountryCurrencies[\"Lak\"] = \"LAK\";\n SupportedCountryCurrencies[\"Lbp\"] = \"LBP\";\n SupportedCountryCurrencies[\"Lkr\"] = \"LKR\";\n SupportedCountryCurrencies[\"Lrd\"] = \"LRD\";\n SupportedCountryCurrencies[\"Lsl\"] = \"LSL\";\n SupportedCountryCurrencies[\"Ltl\"] = \"LTL\";\n SupportedCountryCurrencies[\"Lvl\"] = \"LVL\";\n SupportedCountryCurrencies[\"Lyd\"] = \"LYD\";\n SupportedCountryCurrencies[\"Mad\"] = \"MAD\";\n SupportedCountryCurrencies[\"Mdl\"] = \"MDL\";\n SupportedCountryCurrencies[\"Mga\"] = \"MGA\";\n SupportedCountryCurrencies[\"Mkd\"] = \"MKD\";\n SupportedCountryCurrencies[\"Mmk\"] = \"MMK\";\n SupportedCountryCurrencies[\"Mnt\"] = \"MNT\";\n SupportedCountryCurrencies[\"Mop\"] = \"MOP\";\n SupportedCountryCurrencies[\"Mro\"] = \"MRO\";\n SupportedCountryCurrencies[\"Mur\"] = \"MUR\";\n SupportedCountryCurrencies[\"Mvr\"] = \"MVR\";\n SupportedCountryCurrencies[\"Mwk\"] = \"MWK\";\n SupportedCountryCurrencies[\"Mxn\"] = \"MXN\";\n SupportedCountryCurrencies[\"Myr\"] = \"MYR\";\n SupportedCountryCurrencies[\"Mzn\"] = \"MZN\";\n SupportedCountryCurrencies[\"Nad\"] = \"NAD\";\n SupportedCountryCurrencies[\"Ngn\"] = \"NGN\";\n SupportedCountryCurrencies[\"Nio\"] = \"NIO\";\n SupportedCountryCurrencies[\"Nok\"] = \"NOK\";\n SupportedCountryCurrencies[\"Npr\"] = \"NPR\";\n SupportedCountryCurrencies[\"Nzd\"] = \"NZD\";\n SupportedCountryCurrencies[\"Omr\"] = \"OMR\";\n SupportedCountryCurrencies[\"Pab\"] = \"PAB\";\n SupportedCountryCurrencies[\"Pen\"] = \"PEN\";\n SupportedCountryCurrencies[\"Pgk\"] = \"PGK\";\n SupportedCountryCurrencies[\"Php\"] = \"PHP\";\n SupportedCountryCurrencies[\"Pkr\"] = \"PKR\";\n SupportedCountryCurrencies[\"Pln\"] = \"PLN\";\n SupportedCountryCurrencies[\"Pyg\"] = \"PYG\";\n SupportedCountryCurrencies[\"Qar\"] = \"QAR\";\n SupportedCountryCurrencies[\"Ron\"] = \"RON\";\n SupportedCountryCurrencies[\"Rsd\"] = \"RSD\";\n SupportedCountryCurrencies[\"Rub\"] = \"RUB\";\n SupportedCountryCurrencies[\"Rur\"] = \"RUR\";\n SupportedCountryCurrencies[\"Rwf\"] = \"RWF\";\n SupportedCountryCurrencies[\"Sar\"] = \"SAR\";\n SupportedCountryCurrencies[\"Sbd\"] = \"SBD\";\n SupportedCountryCurrencies[\"Scr\"] = \"SCR\";\n SupportedCountryCurrencies[\"Sdg\"] = \"SDG\";\n SupportedCountryCurrencies[\"Sek\"] = \"SEK\";\n SupportedCountryCurrencies[\"Sgd\"] = \"SGD\";\n SupportedCountryCurrencies[\"Shp\"] = \"SHP\";\n SupportedCountryCurrencies[\"Sll\"] = \"SLL\";\n SupportedCountryCurrencies[\"Sos\"] = \"SOS\";\n SupportedCountryCurrencies[\"Srd\"] = \"SRD\";\n SupportedCountryCurrencies[\"Ssp\"] = \"SSP\";\n SupportedCountryCurrencies[\"Std\"] = \"STD\";\n SupportedCountryCurrencies[\"Syp\"] = \"SYP\";\n SupportedCountryCurrencies[\"Szl\"] = \"SZL\";\n SupportedCountryCurrencies[\"Thb\"] = \"THB\";\n SupportedCountryCurrencies[\"Tjs\"] = \"TJS\";\n SupportedCountryCurrencies[\"Tl\"] = \"TL\";\n SupportedCountryCurrencies[\"Tmt\"] = \"TMT\";\n SupportedCountryCurrencies[\"Tnd\"] = \"TND\";\n SupportedCountryCurrencies[\"Top\"] = \"TOP\";\n SupportedCountryCurrencies[\"Try\"] = \"TRY\";\n SupportedCountryCurrencies[\"Ttd\"] = \"TTD\";\n SupportedCountryCurrencies[\"Twd\"] = \"TWD\";\n SupportedCountryCurrencies[\"Tzs\"] = \"TZS\";\n SupportedCountryCurrencies[\"Uah\"] = \"UAH\";\n SupportedCountryCurrencies[\"Ugx\"] = \"UGX\";\n SupportedCountryCurrencies[\"Usd\"] = \"USD\";\n SupportedCountryCurrencies[\"Uyu\"] = \"UYU\";\n SupportedCountryCurrencies[\"Uzs\"] = \"UZS\";\n SupportedCountryCurrencies[\"Vef\"] = \"VEF\";\n SupportedCountryCurrencies[\"Vnd\"] = \"VND\";\n SupportedCountryCurrencies[\"Vuv\"] = \"VUV\";\n SupportedCountryCurrencies[\"Wst\"] = \"WST\";\n SupportedCountryCurrencies[\"Xaf\"] = \"XAF\";\n SupportedCountryCurrencies[\"Xcd\"] = \"XCD\";\n SupportedCountryCurrencies[\"Xof\"] = \"XOF\";\n SupportedCountryCurrencies[\"Xpf\"] = \"XPF\";\n SupportedCountryCurrencies[\"Yer\"] = \"YER\";\n SupportedCountryCurrencies[\"Zar\"] = \"ZAR\";\n SupportedCountryCurrencies[\"Zmw\"] = \"ZMW\";\n})(SupportedCountryCurrencies || (SupportedCountryCurrencies = {}));\n\n/** Supported payment methods */\nexport var SupportedPaymentMethodsType;\n/** Encapsulates all properties related to a TaxCharges from shiptaxcalcserv. */\n\n(function (SupportedPaymentMethodsType) {\n SupportedPaymentMethodsType[\"Card\"] = \"CARD\";\n SupportedPaymentMethodsType[\"Credit\"] = \"CREDIT\";\n SupportedPaymentMethodsType[\"Paylater\"] = \"PAYLATER\";\n SupportedPaymentMethodsType[\"Venmo\"] = \"VENMO\";\n SupportedPaymentMethodsType[\"Itau\"] = \"ITAU\";\n SupportedPaymentMethodsType[\"Elv\"] = \"ELV\";\n SupportedPaymentMethodsType[\"Sepa\"] = \"SEPA\";\n SupportedPaymentMethodsType[\"Ideal\"] = \"IDEAL\";\n SupportedPaymentMethodsType[\"Bancontact\"] = \"BANCONTACT\";\n SupportedPaymentMethodsType[\"Giropay\"] = \"GIROPAY\";\n SupportedPaymentMethodsType[\"Eps\"] = \"EPS\";\n SupportedPaymentMethodsType[\"Sofort\"] = \"SOFORT\";\n SupportedPaymentMethodsType[\"Mybank\"] = \"MYBANK\";\n SupportedPaymentMethodsType[\"P24\"] = \"P24\";\n SupportedPaymentMethodsType[\"Zimpler\"] = \"ZIMPLER\";\n SupportedPaymentMethodsType[\"Wechatpay\"] = \"WECHATPAY\";\n SupportedPaymentMethodsType[\"Blik\"] = \"BLIK\";\n SupportedPaymentMethodsType[\"Trustly\"] = \"TRUSTLY\";\n SupportedPaymentMethodsType[\"Payu\"] = \"PAYU\";\n SupportedPaymentMethodsType[\"Oxxo\"] = \"OXXO\";\n SupportedPaymentMethodsType[\"Boleto\"] = \"BOLETO\";\n SupportedPaymentMethodsType[\"Maxima\"] = \"MAXIMA\";\n SupportedPaymentMethodsType[\"Mercadopago\"] = \"MERCADOPAGO\";\n})(SupportedPaymentMethodsType || (SupportedPaymentMethodsType = {}));\n\n/** An enumeration of Product api in 3DS 2.0 stack. */\nexport var Threedsapi;\n/** Encapsulates all properties related to a ThreeDSLookUp. */\n\n(function (Threedsapi) {\n Threedsapi[\"PaymentsV1\"] = \"PAYMENTS_V1\";\n Threedsapi[\"OrderV1\"] = \"ORDER_V1\";\n Threedsapi[\"OrderV2\"] = \"ORDER_V2\";\n Threedsapi[\"LegacyCheckoutApi\"] = \"LEGACY_CHECKOUT_API\";\n Threedsapi[\"BillingV1\"] = \"BILLING_V1\";\n Threedsapi[\"LegacyBillingApi\"] = \"LEGACY_BILLING_API\";\n Threedsapi[\"SubscriptionsV1\"] = \"SUBSCRIPTIONS_V1\";\n Threedsapi[\"RecurringPaymentsV1\"] = \"RECURRING_PAYMENTS_V1\";\n Threedsapi[\"LegacyRecurringPayments\"] = \"LEGACY_RECURRING_PAYMENTS\";\n Threedsapi[\"None\"] = \"NONE\";\n})(Threedsapi || (Threedsapi = {}));\n\n/**\n * An enumeration of confirmation methods in 3DS 2.0 stack.\n * ONLINE_SECURE_AUTHENTICATION, ONE_RANDOM_CHARGE_CONFIRMATION, TWO_RANDOM_CHARGE_CONFIRMATION\n */\nexport var ThreedsConfirmationMethod;\n/** Encapsulates all properties related to a ThreeDSContingencyContextData type */\n\n(function (ThreedsConfirmationMethod) {\n ThreedsConfirmationMethod[\"OnlineSecureAuthentication\"] = \"ONLINE_SECURE_AUTHENTICATION\";\n ThreedsConfirmationMethod[\"OneRandomChargeConfirmation\"] = \"ONE_RANDOM_CHARGE_CONFIRMATION\";\n ThreedsConfirmationMethod[\"TwoRandomChargeConfirmation\"] = \"TWO_RANDOM_CHARGE_CONFIRMATION\";\n})(ThreedsConfirmationMethod || (ThreedsConfirmationMethod = {}));\n\n/** Types for threeDS contingency reason. */\nexport var ThreedsContingencyReasonType;\n/** Types for threeDS contingency source. */\n\n(function (ThreedsContingencyReasonType) {\n ThreedsContingencyReasonType[\"Unknown\"] = \"UNKNOWN\";\n ThreedsContingencyReasonType[\"RegulatoryMandate\"] = \"REGULATORY_MANDATE\";\n ThreedsContingencyReasonType[\"MerchantRequested\"] = \"MERCHANT_REQUESTED\";\n ThreedsContingencyReasonType[\"PaypalPolicy\"] = \"PAYPAL_POLICY\";\n ThreedsContingencyReasonType[\"SoftDecline\"] = \"SOFT_DECLINE\";\n})(ThreedsContingencyReasonType || (ThreedsContingencyReasonType = {}));\n\nexport var ThreedsContingencySourceType;\n/**\n * 3DS new switch inbound service: Creates a confirmation resource for a given card\n * URL: /v1/wallet/card-accounts/{card_account_id}/confirmations\n * card-account.create-confirmation\n */\n\n(function (ThreedsContingencySourceType) {\n ThreedsContingencySourceType[\"Unknown\"] = \"UNKNOWN\";\n ThreedsContingencySourceType[\"PaymentContext\"] = \"PAYMENT_CONTEXT\";\n ThreedsContingencySourceType[\"PaypalRisk\"] = \"PAYPAL_RISK\";\n ThreedsContingencySourceType[\"CardState\"] = \"CARD_STATE\";\n ThreedsContingencySourceType[\"Authorization\"] = \"AUTHORIZATION\";\n})(ThreedsContingencySourceType || (ThreedsContingencySourceType = {}));\n\n/** An enumeration of Product entry point in 3DS 2.0 stack. */\nexport var ThreedsEntryPoint;\n/** An enumeration of Product integration artifact in 3DS 2.0 stack. */\n\n(function (ThreedsEntryPoint) {\n ThreedsEntryPoint[\"PayWithVenmo\"] = \"PAY_WITH_VENMO\";\n ThreedsEntryPoint[\"PayWithCard\"] = \"PAY_WITH_CARD\";\n ThreedsEntryPoint[\"PayWithPaypal\"] = \"PAY_WITH_PAYPAL\";\n ThreedsEntryPoint[\"PayWithPaypalCredit\"] = \"PAY_WITH_PAYPAL_CREDIT\";\n ThreedsEntryPoint[\"PayWithAltpayAlipay\"] = \"PAY_WITH_ALTPAY_ALIPAY\";\n ThreedsEntryPoint[\"PayWithAltpayBancontact\"] = \"PAY_WITH_ALTPAY_BANCONTACT\";\n ThreedsEntryPoint[\"PayWithAltpayBoleto\"] = \"PAY_WITH_ALTPAY_BOLETO\";\n ThreedsEntryPoint[\"PayWithAltpayEps\"] = \"PAY_WITH_ALTPAY_EPS\";\n ThreedsEntryPoint[\"PayWithAltpayIdeal\"] = \"PAY_WITH_ALTPAY_IDEAL\";\n ThreedsEntryPoint[\"PayWithAltpayMybank\"] = \"PAY_WITH_ALTPAY_MYBANK\";\n ThreedsEntryPoint[\"PayWithAltpayOxxo\"] = \"PAY_WITH_ALTPAY_OXXO\";\n ThreedsEntryPoint[\"PayWithAltpayP24\"] = \"PAY_WITH_ALTPAY_P24\";\n ThreedsEntryPoint[\"PayWithAltpaySofort\"] = \"PAY_WITH_ALTPAY_SOFORT\";\n ThreedsEntryPoint[\"PayWithAltpayWechatpay\"] = \"PAY_WITH_ALTPAY_WECHATPAY\";\n ThreedsEntryPoint[\"PayWithAltpayZimpler\"] = \"PAY_WITH_ALTPAY_ZIMPLER\";\n ThreedsEntryPoint[\"Unknown\"] = \"UNKNOWN\";\n})(ThreedsEntryPoint || (ThreedsEntryPoint = {}));\n\nexport var ThreedsIntegrationArtifacts;\n/**\n * Encapsulates all properties related to a ThreeDSJwtSpecification which\n * include the issuer and validity algorithem & etc\n */\n\n(function (ThreedsIntegrationArtifacts) {\n ThreedsIntegrationArtifacts[\"PaypalJsSdk\"] = \"PAYPAL_JS_SDK\";\n ThreedsIntegrationArtifacts[\"JsV3\"] = \"JS_V3\";\n ThreedsIntegrationArtifacts[\"JsV4\"] = \"JS_V4\";\n ThreedsIntegrationArtifacts[\"BraintreeVzero\"] = \"BRAINTREE_VZERO\";\n ThreedsIntegrationArtifacts[\"NativeSdk\"] = \"NATIVE_SDK\";\n ThreedsIntegrationArtifacts[\"None\"] = \"NONE\";\n})(ThreedsIntegrationArtifacts || (ThreedsIntegrationArtifacts = {}));\n\n/** An enumeration of paymentMode in 3DS 2.0 stack. */\nexport var ThreedsPaymentDevice;\n/** List of supported experiences for 3DS verification */\n\n(function (ThreedsPaymentDevice) {\n ThreedsPaymentDevice[\"Mobile\"] = \"MOBILE\";\n ThreedsPaymentDevice[\"Computer\"] = \"COMPUTER\";\n ThreedsPaymentDevice[\"Tablet\"] = \"TABLET\";\n ThreedsPaymentDevice[\"Unknown\"] = \"UNKNOWN\";\n})(ThreedsPaymentDevice || (ThreedsPaymentDevice = {}));\n\nexport var ThreeDSPaymentExperience;\n/** An enumeration of Product Code in 3DS 2.0 stack. */\n\n(function (ThreeDSPaymentExperience) {\n ThreeDSPaymentExperience[\"Iframe\"] = \"IFRAME\";\n ThreeDSPaymentExperience[\"Redirect\"] = \"REDIRECT\";\n ThreeDSPaymentExperience[\"Hopfree\"] = \"HOPFREE\";\n})(ThreeDSPaymentExperience || (ThreeDSPaymentExperience = {}));\n\nexport var ThreedsProductCode;\n/** An enumeration of Product feature in 3DS 2.0 stack. */\n\n(function (ThreedsProductCode) {\n ThreedsProductCode[\"ExpressCheckout\"] = \"EXPRESS_CHECKOUT\";\n ThreedsProductCode[\"WebsitePaymentStandard\"] = \"WEBSITE_PAYMENT_STANDARD\";\n ThreedsProductCode[\"DirectCreditCard\"] = \"DIRECT_CREDIT_CARD\";\n ThreedsProductCode[\"BillingAgreements\"] = \"BILLING_AGREEMENTS\";\n ThreedsProductCode[\"BillingSubscriptions\"] = \"BILLING_SUBSCRIPTIONS\";\n ThreedsProductCode[\"Payouts\"] = \"PAYOUTS\";\n})(ThreedsProductCode || (ThreedsProductCode = {}));\n\nexport var ThreedsProductFeature;\n/** An enumeration of Product flow in 3DS 2.0 stack. */\n\n(function (ThreedsProductFeature) {\n ThreedsProductFeature[\"Orders\"] = \"ORDERS\";\n ThreedsProductFeature[\"PaypalCompletePayments\"] = \"PAYPAL_COMPLETE_PAYMENTS\";\n ThreedsProductFeature[\"DirectCreditCardApi\"] = \"DIRECT_CREDIT_CARD_API\";\n ThreedsProductFeature[\"None\"] = \"NONE\";\n})(ThreedsProductFeature || (ThreedsProductFeature = {}));\n\nexport var ThreedsProductFlow;\n/** Encapsulates everything related to request params provided by bank for completing 3DS verification */\n\n(function (ThreedsProductFlow) {\n ThreedsProductFlow[\"Legacy\"] = \"LEGACY\";\n ThreedsProductFlow[\"Hermes\"] = \"HERMES\";\n ThreedsProductFlow[\"Prox\"] = \"PROX\";\n ThreedsProductFlow[\"SmartPaymentButtons\"] = \"SMART_PAYMENT_BUTTONS\";\n ThreedsProductFlow[\"HostedSoleSolution\"] = \"HOSTED_SOLE_SOLUTION\";\n ThreedsProductFlow[\"HostedSoleSolutionPayFlow\"] = \"HOSTED_SOLE_SOLUTION_PAY_FLOW\";\n ThreedsProductFlow[\"PaypalPlus\"] = \"PAYPAL_PLUS\";\n ThreedsProductFlow[\"BuyerApprovalBillingAgreementCreate\"] = \"BUYER_APPROVAL_BILLING_AGREEMENT_CREATE\";\n ThreedsProductFlow[\"ConsumerExpBillingAgreementModify\"] = \"CONSUMER_EXP_BILLING_AGREEMENT_MODIFY\";\n ThreedsProductFlow[\"BuyerApprovalBillingAgreementWithPurchase\"] = \"BUYER_APPROVAL_BILLING_AGREEMENT_WITH_PURCHASE\";\n ThreedsProductFlow[\"BuyerApprovalSubscriptionsCreate\"] = \"BUYER_APPROVAL_SUBSCRIPTIONS_CREATE\";\n ThreedsProductFlow[\"ConsumerExpSubscriptionsModify\"] = \"CONSUMER_EXP_SUBSCRIPTIONS_MODIFY\";\n})(ThreedsProductFlow || (ThreedsProductFlow = {}));\n\n/** An enumeration of Product experience flow in 3DS 2.0 stack. */\nexport var ThreedsUserExperienceFlow;\n/** Encapsulates everything related to a TrackingTag. Ex: type, values, stringValue */\n\n(function (ThreedsUserExperienceFlow) {\n ThreedsUserExperienceFlow[\"FullPageRedirect\"] = \"FULL_PAGE_REDIRECT\";\n ThreedsUserExperienceFlow[\"Incontext\"] = \"INCONTEXT\";\n ThreedsUserExperienceFlow[\"Inline\"] = \"INLINE\";\n ThreedsUserExperienceFlow[\"Native\"] = \"NATIVE\";\n ThreedsUserExperienceFlow[\"FullPage\"] = \"FULL_PAGE\";\n})(ThreedsUserExperienceFlow || (ThreedsUserExperienceFlow = {}));\n\n/**\n * An enumeration of types that TrackingTag can have. qe, qt, qc, qp, etc\n * The meaning of these tags have been lost over time\n * Not even the PXP team knows what they are ;-)\n * But, they're useful for clients who want to log these values to FPTI.\n * See https://github.paypal.com/Experimentation-R/pxpexecserv/blob/8c511074aee6cbd8a0177c4013e14487774ca380/ExperimentationExecution/src/main/java/com/paypal/experimentation/domain/core/common/TagNames.java#L3\n */\nexport var TrackingTagType;\n/**\n * An enumeration of states that a Transaction can be in.\n * PENDING, COMPLETED, REFUNDED, PARTIALLY_REFUNDED or DENIED\n */\n\n(function (TrackingTagType) {\n TrackingTagType[\"Ct\"] = \"CT\";\n TrackingTagType[\"Exoe\"] = \"EXOE\";\n TrackingTagType[\"Exos\"] = \"EXOS\";\n TrackingTagType[\"Exot\"] = \"EXOT\";\n TrackingTagType[\"Oe\"] = \"OE\";\n TrackingTagType[\"Os\"] = \"OS\";\n TrackingTagType[\"Ot\"] = \"OT\";\n TrackingTagType[\"Pxpm\"] = \"PXPM\";\n TrackingTagType[\"Pxpmg\"] = \"PXPMG\";\n TrackingTagType[\"Pxpmu\"] = \"PXPMU\";\n TrackingTagType[\"Qc\"] = \"QC\";\n TrackingTagType[\"Qe\"] = \"QE\";\n TrackingTagType[\"Qp\"] = \"QP\";\n TrackingTagType[\"Qt\"] = \"QT\";\n TrackingTagType[\"Se\"] = \"SE\";\n TrackingTagType[\"St\"] = \"ST\";\n TrackingTagType[\"Upe\"] = \"UPE\";\n TrackingTagType[\"Upt\"] = \"UPT\";\n TrackingTagType[\"Uqc\"] = \"UQC\";\n TrackingTagType[\"Uqp\"] = \"UQP\";\n TrackingTagType[\"Uqt\"] = \"UQT\";\n TrackingTagType[\"Xt\"] = \"XT\";\n})(TrackingTagType || (TrackingTagType = {}));\n\nexport var TransactionState;\n/** Encapsulates everything related to a Treatment. Ex: treatmentId, name, factors */\n\n(function (TransactionState) {\n TransactionState[\"Pending\"] = \"PENDING\";\n TransactionState[\"Completed\"] = \"COMPLETED\";\n TransactionState[\"Refunded\"] = \"REFUNDED\";\n TransactionState[\"PartiallyRefunded\"] = \"PARTIALLY_REFUNDED\";\n TransactionState[\"Denied\"] = \"DENIED\";\n TransactionState[\"Authorized\"] = \"AUTHORIZED\";\n})(TransactionState || (TransactionState = {}));\n\n/** Types of client config user experience */\nexport var UserExperienceFlowType;\n/** A User's auth type/role */\n\n(function (UserExperienceFlowType) {\n UserExperienceFlowType[\"Incontext\"] = \"INCONTEXT\";\n UserExperienceFlowType[\"Inline\"] = \"INLINE\";\n UserExperienceFlowType[\"Native\"] = \"NATIVE\";\n UserExperienceFlowType[\"WebLls\"] = \"WEB_LLS\";\n UserExperienceFlowType[\"PaypalConsumerApp\"] = \"PAYPAL_CONSUMER_APP\";\n UserExperienceFlowType[\"FullPageRedirect\"] = \"FULL_PAGE_REDIRECT\";\n UserExperienceFlowType[\"HoneyModal\"] = \"HONEY_MODAL\";\n})(UserExperienceFlowType || (UserExperienceFlowType = {}));\n\nexport var UserRole;\n/** Response wrapper for validateAddress. */\n\n(function (UserRole) {\n UserRole[\"Identified\"] = \"IDENTIFIED\";\n UserRole[\"Loggedin\"] = \"LOGGEDIN\";\n UserRole[\"Remembered\"] = \"REMEMBERED\";\n})(UserRole || (UserRole = {}));\n\nexport var FeatureFragmentDoc = {\n kind: 'Document',\n definitions: [{\n kind: 'FragmentDefinition',\n name: {\n kind: 'Name',\n value: 'FeatureFragment'\n },\n typeCondition: {\n kind: 'NamedType',\n name: {\n kind: 'Name',\n value: 'Feature'\n }\n },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [{\n kind: 'Field',\n name: {\n kind: 'Name',\n value: 'id'\n }\n }, {\n kind: 'Field',\n name: {\n kind: 'Name',\n value: 'visible'\n }\n }, {\n kind: 'Field',\n name: {\n kind: 'Name',\n value: 'enabled'\n }\n }, {\n kind: 'Field',\n name: {\n kind: 'Name',\n value: 'data'\n }\n }, {\n kind: 'Field',\n name: {\n kind: 'Name',\n value: 'experiment'\n }\n }, {\n kind: 'Field',\n name: {\n kind: 'Name',\n value: 'eligible'\n }\n }, {\n kind: 'Field',\n name: {\n kind: 'Name',\n value: '__typename'\n }\n }]\n }\n }]\n};\nexport var LocalUpdateFeatureDocument = {\n kind: 'Document',\n definitions: [{\n kind: 'OperationDefinition',\n operation: 'mutation',\n name: {\n kind: 'Name',\n value: 'LocalUpdateFeature'\n },\n variableDefinitions: [{\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: {\n kind: 'Name',\n value: 'id'\n }\n },\n type: {\n kind: 'NamedType',\n name: {\n kind: 'Name',\n value: 'String'\n }\n }\n }, {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: {\n kind: 'Name',\n value: 'data'\n }\n },\n type: {\n kind: 'NamedType',\n name: {\n kind: 'Name',\n value: 'JSON'\n }\n }\n }],\n selectionSet: {\n kind: 'SelectionSet',\n selections: [{\n kind: 'Field',\n name: {\n kind: 'Name',\n value: 'updateFeatureFlagResolver'\n },\n arguments: [{\n kind: 'Argument',\n name: {\n kind: 'Name',\n value: 'id'\n },\n value: {\n kind: 'Variable',\n name: {\n kind: 'Name',\n value: 'id'\n }\n }\n }, {\n kind: 'Argument',\n name: {\n kind: 'Name',\n value: 'data'\n },\n value: {\n kind: 'Variable',\n name: {\n kind: 'Name',\n value: 'data'\n }\n }\n }],\n directives: [{\n kind: 'Directive',\n name: {\n kind: 'Name',\n value: 'client'\n }\n }],\n selectionSet: {\n kind: 'SelectionSet',\n selections: [{\n kind: 'Field',\n name: {\n kind: 'Name',\n value: 'id'\n }\n }]\n }\n }]\n }\n }]\n};\n\n/**\n * __useLocalUpdateFeatureMutation__\n *\n * To run a mutation, you first call `useLocalUpdateFeatureMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useLocalUpdateFeatureMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [localUpdateFeatureMutation, { data, loading, error }] = useLocalUpdateFeatureMutation({\n * variables: {\n * id: // value for 'id'\n * data: // value for 'data'\n * },\n * });\n */\nexport function useLocalUpdateFeatureMutation(baseOptions) {\n var options = Object.assign({}, defaultOptions, baseOptions);\n return ApolloReactHooks.useMutation(LocalUpdateFeatureDocument, options);\n}\nexport var LocalUpdateFeaturesDocument = {\n kind: 'Document',\n definitions: [{\n kind: 'OperationDefinition',\n operation: 'mutation',\n name: {\n kind: 'Name',\n value: 'LocalUpdateFeatures'\n },\n variableDefinitions: [{\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: {\n kind: 'Name',\n value: 'features'\n }\n },\n type: {\n kind: 'NonNullType',\n type: {\n kind: 'ListType',\n type: {\n kind: 'NamedType',\n name: {\n kind: 'Name',\n value: 'FeatureInput'\n }\n }\n }\n }\n }],\n selectionSet: {\n kind: 'SelectionSet',\n selections: [{\n kind: 'Field',\n name: {\n kind: 'Name',\n value: 'updateFeaturesFlagResolver'\n },\n arguments: [{\n kind: 'Argument',\n name: {\n kind: 'Name',\n value: 'features'\n },\n value: {\n kind: 'Variable',\n name: {\n kind: 'Name',\n value: 'features'\n }\n }\n }],\n directives: [{\n kind: 'Directive',\n name: {\n kind: 'Name',\n value: 'client'\n }\n }],\n selectionSet: {\n kind: 'SelectionSet',\n selections: [{\n kind: 'Field',\n name: {\n kind: 'Name',\n value: 'id'\n }\n }]\n }\n }]\n }\n }]\n};\n\n/**\n * __useLocalUpdateFeaturesMutation__\n *\n * To run a mutation, you first call `useLocalUpdateFeaturesMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useLocalUpdateFeaturesMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [localUpdateFeaturesMutation, { data, loading, error }] = useLocalUpdateFeaturesMutation({\n * variables: {\n * features: // value for 'features'\n * },\n * });\n */\nexport function useLocalUpdateFeaturesMutation(baseOptions) {\n var options = Object.assign({}, defaultOptions, baseOptions);\n return ApolloReactHooks.useMutation(LocalUpdateFeaturesDocument, options);\n}\nexport var LocalUpdateContingencyDocument = {\n kind: 'Document',\n definitions: [{\n kind: 'OperationDefinition',\n operation: 'mutation',\n name: {\n kind: 'Name',\n value: 'LocalUpdateContingency'\n },\n variableDefinitions: [{\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: {\n kind: 'Name',\n value: 'id'\n }\n },\n type: {\n kind: 'NamedType',\n name: {\n kind: 'Name',\n value: 'String'\n }\n }\n }, {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: {\n kind: 'Name',\n value: 'data'\n }\n },\n type: {\n kind: 'NamedType',\n name: {\n kind: 'Name',\n value: 'JSON'\n }\n }\n }],\n selectionSet: {\n kind: 'SelectionSet',\n selections: [{\n kind: 'Field',\n name: {\n kind: 'Name',\n value: 'updateContingencyResolver'\n },\n arguments: [{\n kind: 'Argument',\n name: {\n kind: 'Name',\n value: 'id'\n },\n value: {\n kind: 'Variable',\n name: {\n kind: 'Name',\n value: 'id'\n }\n }\n }, {\n kind: 'Argument',\n name: {\n kind: 'Name',\n value: 'data'\n },\n value: {\n kind: 'Variable',\n name: {\n kind: 'Name',\n value: 'data'\n }\n }\n }],\n directives: [{\n kind: 'Directive',\n name: {\n kind: 'Name',\n value: 'client'\n }\n }],\n selectionSet: {\n kind: 'SelectionSet',\n selections: [{\n kind: 'Field',\n name: {\n kind: 'Name',\n value: 'id'\n }\n }]\n }\n }]\n }\n }]\n};\n\n/**\n * __useLocalUpdateContingencyMutation__\n *\n * To run a mutation, you first call `useLocalUpdateContingencyMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useLocalUpdateContingencyMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [localUpdateContingencyMutation, { data, loading, error }] = useLocalUpdateContingencyMutation({\n * variables: {\n * id: // value for 'id'\n * data: // value for 'data'\n * },\n * });\n */\nexport function useLocalUpdateContingencyMutation(baseOptions) {\n var options = Object.assign({}, defaultOptions, baseOptions);\n return ApolloReactHooks.useMutation(LocalUpdateContingencyDocument, options);\n}\nexport var getSingleFeatureQueryDocument = {\n kind: 'Document',\n definitions: [{\n kind: 'OperationDefinition',\n operation: 'query',\n name: {\n kind: 'Name',\n value: 'getSingleFeatureQuery'\n },\n variableDefinitions: [{\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: {\n kind: 'Name',\n value: 'id'\n }\n },\n type: {\n kind: 'NonNullType',\n type: {\n kind: 'NamedType',\n name: {\n kind: 'Name',\n value: 'String'\n }\n }\n }\n }],\n selectionSet: {\n kind: 'SelectionSet',\n selections: [{\n kind: 'Field',\n name: {\n kind: 'Name',\n value: 'feature'\n },\n arguments: [{\n kind: 'Argument',\n name: {\n kind: 'Name',\n value: 'id'\n },\n value: {\n kind: 'Variable',\n name: {\n kind: 'Name',\n value: 'id'\n }\n }\n }],\n directives: [{\n kind: 'Directive',\n name: {\n kind: 'Name',\n value: 'client'\n }\n }],\n selectionSet: {\n kind: 'SelectionSet',\n selections: [{\n kind: 'FragmentSpread',\n name: {\n kind: 'Name',\n value: 'FeatureFragment'\n }\n }]\n }\n }]\n }\n }].concat(FeatureFragmentDoc.definitions)\n};\n/**\n * __usegetSingleFeatureQuery__\n *\n * To run a query within a React component, call `usegetSingleFeatureQuery` and pass it any options that fit your needs.\n * When your component renders, `usegetSingleFeatureQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = usegetSingleFeatureQuery({\n * variables: {\n * id: // value for 'id'\n * },\n * });\n */\n\nexport function usegetSingleFeatureQuery(baseOptions) {\n var options = Object.assign({}, defaultOptions, baseOptions);\n return ApolloReactHooks.useQuery(getSingleFeatureQueryDocument, options);\n}\nexport function usegetSingleFeatureQueryLazyQuery(baseOptions) {\n var options = Object.assign({}, defaultOptions, baseOptions);\n return ApolloReactHooks.useLazyQuery(getSingleFeatureQueryDocument, options);\n}\nexport var getContingenciesQueryDocument = {\n kind: 'Document',\n definitions: [{\n kind: 'OperationDefinition',\n operation: 'query',\n name: {\n kind: 'Name',\n value: 'getContingenciesQuery'\n },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [{\n kind: 'Field',\n name: {\n kind: 'Name',\n value: 'contingencies'\n },\n directives: [{\n kind: 'Directive',\n name: {\n kind: 'Name',\n value: 'client'\n }\n }],\n selectionSet: {\n kind: 'SelectionSet',\n selections: [{\n kind: 'Field',\n name: {\n kind: 'Name',\n value: 'id'\n }\n }, {\n kind: 'Field',\n name: {\n kind: 'Name',\n value: 'data'\n }\n }]\n }\n }]\n }\n }]\n};\n/**\n * __usegetContingenciesQuery__\n *\n * To run a query within a React component, call `usegetContingenciesQuery` and pass it any options that fit your needs.\n * When your component renders, `usegetContingenciesQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = usegetContingenciesQuery({\n * variables: {\n * },\n * });\n */\n\nexport function usegetContingenciesQuery(baseOptions) {\n var options = Object.assign({}, defaultOptions, baseOptions);\n return ApolloReactHooks.useQuery(getContingenciesQueryDocument, options);\n}\nexport function usegetContingenciesQueryLazyQuery(baseOptions) {\n var options = Object.assign({}, defaultOptions, baseOptions);\n return ApolloReactHooks.useLazyQuery(getContingenciesQueryDocument, options);\n}\nexport var FeatureFlagsQueryDocument = {\n kind: 'Document',\n definitions: [{\n kind: 'OperationDefinition',\n operation: 'query',\n name: {\n kind: 'Name',\n value: 'FeatureFlagsQuery'\n },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [{\n kind: 'Field',\n name: {\n kind: 'Name',\n value: 'features'\n },\n directives: [{\n kind: 'Directive',\n name: {\n kind: 'Name',\n value: 'client'\n }\n }],\n selectionSet: {\n kind: 'SelectionSet',\n selections: [{\n kind: 'FragmentSpread',\n name: {\n kind: 'Name',\n value: 'FeatureFragment'\n }\n }]\n }\n }]\n }\n }].concat(FeatureFragmentDoc.definitions)\n};\n/**\n * __useFeatureFlagsQuery__\n *\n * To run a query within a React component, call `useFeatureFlagsQuery` and pass it any options that fit your needs.\n * When your component renders, `useFeatureFlagsQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useFeatureFlagsQuery({\n * variables: {\n * },\n * });\n */\n\nexport function useFeatureFlagsQuery(baseOptions) {\n var options = Object.assign({}, defaultOptions, baseOptions);\n return ApolloReactHooks.useQuery(FeatureFlagsQueryDocument, options);\n}\nexport function useFeatureFlagsQueryLazyQuery(baseOptions) {\n var options = Object.assign({}, defaultOptions, baseOptions);\n return ApolloReactHooks.useLazyQuery(FeatureFlagsQueryDocument, options);\n}\n\n/**\n * \n * fragment FeatureFragment on Feature {\n * id\n * visible\n * enabled\n * data\n * experiment\n * eligible\n * __typename\n * }\n * \n **/\nexport var FeatureFragmentTypedDocument = FeatureFragmentDoc;\n/**\n * \n * mutation LocalUpdateFeature($id: String, $data: JSON) {\n * updateFeatureFlagResolver(id: $id, data: $data) @client {\n * id\n * }\n * }\n * \n **/\n\nexport var LocalUpdateFeatureTypedDocument = LocalUpdateFeatureDocument;\n/**\n * \n * mutation LocalUpdateFeatures($features: [FeatureInput]!) {\n * updateFeaturesFlagResolver(features: $features) @client {\n * id\n * }\n * }\n * \n **/\n\nexport var LocalUpdateFeaturesTypedDocument = LocalUpdateFeaturesDocument;\n/**\n * \n * mutation LocalUpdateContingency($id: String, $data: JSON) {\n * updateContingencyResolver(id: $id, data: $data) @client {\n * id\n * }\n * }\n * \n **/\n\nexport var LocalUpdateContingencyTypedDocument = LocalUpdateContingencyDocument;\n/**\n * \n * query getSingleFeatureQuery($id: String!) {\n * feature(id: $id) @client {\n * ...FeatureFragment\n * }\n * }\n * \n **/\n\nexport var getSingleFeatureQueryTypedDocument = getSingleFeatureQueryDocument;\n/**\n * \n * query getContingenciesQuery {\n * contingencies @client {\n * id\n * data\n * }\n * }\n * \n **/\n\nexport var getContingenciesQueryTypedDocument = getContingenciesQueryDocument;\n/**\n * \n * query FeatureFlagsQuery {\n * features @client {\n * ...FeatureFragment\n * }\n * }\n * \n **/\n\nexport var FeatureFlagsQueryTypedDocument = FeatureFlagsQueryDocument;","import { getFeatures } from './features'; // default apollo cache local state\n\nexport var defaultApolloCacheState = function defaultApolloCacheState() {\n return {\n contingencies: [],\n features: getFeatures()\n };\n};","var _navigator;\n\n// the checkout button should be sticky if we're in a webview or if the viewport is small\nimport { getIsNorthstar, hasFeature } from '@paypalcorp/c3-shared-globals';\nimport { isWebView, isViewportSmall } from '@paypalcorp/c3-util-browser';\nimport { isParamEnabled } from './features';\nexport var isNorthstar = function isNorthstar() {\n return getIsNorthstar() || isParamEnabled('northstarEligible');\n};\nexport var IS_STICKY_ENABLED = isWebView((_navigator = navigator) === null || _navigator === void 0 ? void 0 : _navigator.userAgent) || hasFeature('hasStickyButton') && isViewportSmall();\nexport var SPINNER_TYPES = {\n DEFAULT: 'DEFAULT',\n THREE_DS_PROCESSING: 'THREE_DS_PROCESSING',\n RETURN_TO_MERCHANT: 'RETURN_TO_MERCHANT',\n PROCESS_CARD: 'PROCESS_CARD',\n PROCESS_INCENTIVE: 'PROCESS_INCENTIVE',\n CRYPTO_SELLING: 'CRYPTO_SELLING',\n APPROVE_PAYMENT: 'APPROVE_PAYMENT',\n // 3DS (2.0)\n THREE_DS_START: 'THREE_DS_START',\n THREE_DS_PROCESS: 'THREE_DS_PROCESS',\n THREEE_DS_END: 'THREEE_DS_END'\n};\nexport var CHECKOUT_BUTTON_STATES = {\n INITIAL: 'INITIAL',\n PENDING: 'PENDING',\n RESOLVED: 'RESOLVED'\n};","import { logger } from '@paypalcorp/c3-util-logger';\nimport { FeatureFragmentDoc as FeatureFragment, FeatureFlagsQueryDocument, getContingenciesQueryDocument as GetContingenciesQueryDocument } from './operations.generated'; // query single feature by id\n\nexport var featureQueryResolvers = {\n feature: function feature(obj, _ref, _ref2) {\n var id = _ref.id;\n var cache = _ref2.cache;\n var feature = {\n __typename: 'Feature'\n };\n\n try {\n feature = cache.readFragment({\n id: \"Feature:\" + id,\n fragment: FeatureFragment\n });\n } catch (e) {\n logger.cal.info(\"READ_FEATURE_FRAGMENT_\" + id + \"_ERROR\");\n }\n\n feature.__typename = 'Feature';\n return feature;\n }\n};\n\nvar modifyFeature = function modifyFeature(feature, payload) {\n var id = payload.id,\n visible = payload.visible,\n enabled = payload.enabled,\n eligible = payload.eligible,\n _payload$data = payload.data,\n data = _payload$data === void 0 ? {} : _payload$data;\n\n if (!feature) {\n feature = {}; // throw new Error(`No feature defined for ${id}`);\n }\n\n if (typeof visible !== 'undefined') {\n feature.visible = visible;\n }\n\n if (typeof enabled !== 'undefined') {\n feature.enabled = enabled;\n }\n\n if (typeof eligible !== 'undefined') {\n feature.eligible = eligible;\n }\n\n feature.data = Object.assign({}, feature.data || {}, data);\n feature.__typename = 'Feature';\n return feature;\n}; // update feature's data by id\n\n\nexport var featureMutationResolvers = {\n updateFeatureFlagResolver: function updateFeatureFlagResolver(_, payload, _ref3) {\n var cache = _ref3.cache;\n var id = payload.id;\n var feature = cache.readFragment({\n id: \"Feature:\" + id,\n fragment: FeatureFragment\n });\n feature = modifyFeature(feature, Object.assign({\n id: id\n }, payload.data));\n cache.writeFragment({\n id: \"Feature:\" + id,\n fragment: FeatureFragment,\n data: Object.assign({}, feature)\n });\n return null;\n },\n updateFeaturesFlagResolver: function updateFeaturesFlagResolver(_, payload, _ref4) {\n var cache = _ref4.cache;\n var features = payload.features; // const featureFlagsQuery = gql`\n // ${FeatureFragment}\n // query FeatureFlagsQuery {\n // features @client {\n // ...FeatureFragment\n // }\n // }\n // `;\n\n var result = {\n features: []\n };\n\n try {\n result = cache.readQuery({\n query: FeatureFlagsQueryDocument\n });\n } catch (err) {\n logger.cal.info(\"READ_ALL_FEATURES_ERROR\");\n }\n\n result.features = result.features.map(function (feature) {\n var f = features.find(function (f) {\n return f.id === feature.id;\n });\n\n if (f) {\n feature = modifyFeature(feature, f);\n }\n\n feature.__typename = 'Feature';\n return feature;\n });\n cache.writeQuery({\n query: FeatureFlagsQueryDocument,\n data: Object.assign({}, result)\n });\n return null;\n },\n\n /**\n * Local mutation resolver to save / update contingencies\n *\n * @param {Object} payload has following params:\n * - id (String): id of the contingency\n * - clear (Boolean): pass true if contingency needs to be cleared (deleted)\n * - data: (Object): custom contingency data\n */\n updateContingencyResolver: function updateContingencyResolver(_, payload, _ref5) {\n var cache = _ref5.cache;\n var id = payload.id,\n _payload$data2 = payload.data;\n _payload$data2 = _payload$data2 === void 0 ? {} : _payload$data2;\n var clear = _payload$data2.clear,\n _payload$data2$data = _payload$data2.data,\n data = _payload$data2$data === void 0 ? {} : _payload$data2$data;\n var result = {\n contingencies: []\n };\n\n try {\n result = cache.readQuery({\n query: GetContingenciesQueryDocument\n });\n } catch (err) {\n logger.cal.info(\"READ_CONTINGENCIES_\" + id + \"_ERROR\");\n }\n\n var contingency = result.contingencies.find(function (contingency) {\n return contingency.id === id;\n });\n\n if (!contingency) {\n result.contingencies.push({\n data: Object.assign({}, data),\n id: id,\n __typename: 'Contingency'\n });\n } else {\n contingency.data = Object.assign({}, contingency.data || {}, data);\n contingency.__typename = 'Contingency';\n }\n\n if (clear) {\n result.contingencies = result.contingencies.filter(function (contingency) {\n return contingency.id !== id;\n });\n }\n\n cache.writeQuery({\n query: GetContingenciesQueryDocument,\n data: Object.assign({}, result)\n });\n return null;\n }\n};","import { featureMutationResolvers, featureQueryResolvers } from './featureCacheResolvers';\n/**\n * This is our default local client store, where we can store any arbitrary data here.\n */\n\nexport var resolvers = {\n /**\n * Those mutations only relate with the @client decorator\n * and it's only used for local cache state\n */\n Mutation: Object.assign({}, featureMutationResolvers),\n Query: Object.assign({}, featureQueryResolvers)\n};","export function isOperationDefinition(d) {\n return d.kind === 'OperationDefinition';\n}","import { isOperationDefinition } from './types';\n/**\n *\n * @param {any} doc | The GraphqlQL query document (wrapped with gql``)\n * @returns {String|null} Returns the query operation name if it exists otherwise\n */\n\nexport function getOperationName(doc) {\n return doc.definitions.filter(isOperationDefinition).filter(function (definition) {\n return definition.name;\n }).map(function (x) {\n return x.name.value;\n })[0] || null;\n}","import { invariant } from '@paypalcorp/c3-util-lang';\nimport { isOperationDefinition } from './types';\n\n/**\n * @param {Object} options\n * @param {Object} options.query | The GraphqlQL query document wrapped by gql\n * @returns {String} Return if current GraphqlQL operation is a `query` or `mutation` type\n */\nexport function getOperationType(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n query = _ref.query;\n\n if (process.env.NODE_ENV === 'development') {\n invariant(query, 'Document query is missing');\n }\n\n var first = query.definitions[0];\n return isOperationDefinition(first) ? first.operation : void 0;\n}","/**\n * @param {Object} GraphQL error object\n * @return {Boolean} Return true if current graphQL error is an network error\n */\nexport function isNetworkError(_ref) {\n var _ref$graphQLErrors = _ref.graphQLErrors,\n graphQLErrors = _ref$graphQLErrors === void 0 ? [] : _ref$graphQLErrors,\n _ref$networkError = _ref.networkError,\n networkError = _ref$networkError === void 0 ? {} : _ref$networkError;\n return networkError && (networkError === null || networkError === void 0 ? void 0 : networkError.statusCode) >= 300 && (graphQLErrors === null || graphQLErrors === void 0 ? void 0 : graphQLErrors.length) === 0;\n}"],"sourceRoot":""}