{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./app/javascript/packs/braintree.js","webpack:///./node_modules/braintree-web/dist/browser/client.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/braintree-web/dist/browser/hosted-fields.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","g","this","Function","e","window","apply","Timeout","id","clearFn","_id","_clearFn","setTimeout","scope","arguments","clearTimeout","setInterval","clearInterval","timeout","close","unref","ref","enroll","item","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","setImmediate","self","global","clearImmediate","braintree_client","require","braintree_hosted_fields","$","document","ready","braintree_token","html","form","querySelector","submit","authorization","clientErr","clientInstance","console","error","client","styles","input","color","padding","fields","number","selector","cvv","expirationDate","postalCode","hostedFieldsErr","hostedFieldsInstance","addAttribute","addFieldError","fieldName","isRequiredError","clearFieldError","errorTemplate","concat","replace","formErrorTemplate","$container","addClass","append","removeClass","children","empty","removeAttribute","$cardholderName","blur","val","on","event","field","emittedBy","isValid","container","isEmpty","addEventListener","preventDefault","formIsInvalid","state","getState","keys","forEach","objField","fieldMarkupName","tokenize","cardholderName","tokenizeErr","payload","nonce","f","u","a","Error","code","length","_dereq_","__importDefault","mod","PromiseGlobal","promise_polyfill_1","Promise","default","promise_1","scriptPromiseCache","loadScript","options","scriptLoadPromise","stringifiedOptions","JSON","stringify","forceScriptReload","script","createElement","attrs","dataAttributes","head","src","async","crossorigin","setAttribute","resolve","reject","appendChild","clearCache","isIE11","ua","navigator","userAgent","indexOf","GlobalPromise","ExtendedPromise","_this","_promise","_resolveFunction","_rejectFunction","_onResolve","onResolve","defaultOnResolve","_onReject","onReject","defaultOnReject","shouldCatchExceptions","catch","_resetState","result","err","setPromise","PromiseClass","Boolean","suppressUnhandledPromiseMessage","all","args","allSettled","race","arg","then","_a","_i","isFulfilled","_setResolved","argForResolveFunction","_setRejected","isResolved","isRejected","uuid","Math","random","toString","deferred","fn","log","once","called","promiseOrCallback","promise","callback","data","deferred_1","once_1","promise_or_callback_1","wrapPromise","pop","wrapPrototype","target","ignoreMethods","includePrivateMethods","transformPrivateMethods","getOwnPropertyNames","filter","method","isNotPrivateMethod","isNonConstructorFunction","isNotAnIgnoredMethod","charAt","original","finallyConstructor","constructor","reason","arr","TypeError","Array","slice","remaining","res","status","setTimeoutFunc","isArray","x","noop","thisArg","_state","_handled","_value","undefined","_deferreds","doResolve","handle","_immediateFn","cb","onFulfilled","onRejected","ret","push","newValue","finale","_unhandledRejectionFn","len","Handler","done","ex","prom","warn","isIe","isIe9","BRAINTREE_VERSION","GraphQL","request","isVerifiedDomain","BraintreeError","convertToBraintreeError","getGatewayConfiguration","getConfiguration","createAuthorizationData","addMetadata","assign","analytics","errors","VERSION","GRAPHQL_URLS","methods","convertMethodsToError","assets","FRAUDNET_FNCLS","FRAUDNET_SOURCE","FRAUDNET_URL","cachedClients","Client","configuration","configurationJSON","gatewayConfiguration","CLIENT_MISSING_GATEWAY_CONFIGURATION","type","CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN","message","parse","_request","_configuration","_clientApiBaseUrl","clientApiUrl","graphQL","url","_graphQL","formatRequestError","requestError","CLIENT_REQUEST_TIMEOUT","CLIENT_AUTHORIZATION_INVALID","CLIENT_AUTHORIZATION_INSUFFICIENT","CLIENT_RATE_LIMITED","CLIENT_GATEWAY_NETWORK","CLIENT_REQUEST_ERROR","details","httpStatus","getAuthorizationHeadersForGraphQL","Authorization","authorizationFingerprint","initialize","authData","sendEvent","CLIENT_INVALID_AUTHORIZATION","debug","isDebug","_findOrCreateFraudnetJSON","clientMetadataId","config","additionalData","parameters","el","body","rda_tenant","mid","merchantId","split","pieces","component","cid","substr","fp","bu","text","requestPromise","optionName","api","baseUrl","requestOptions","shouldCollectData","endpoint","creditCards","collectDeviceData","CLIENT_OPTION_REQUIRED","metadata","analyticsMetadata","CLIENT_OPTION_INVALID","environment","clientSdkMetadata","platform","source","integration","sessionId","version","headers","sendAnalyticsEvent","kind","resolvedData","CLIENT_GRAPHQL_REQUEST_ERROR","_httpStatus","response","toJSON","getVersion","teardown","types","MERCHANT","INTERNAL","NETWORK","constants","isDateStringBeforeOrOn","configUrl","reqOptions","merchantAppId","location","host","PLATFORM","sdkVersion","SOURCE","INTEGRATION","integrationType","_meta","braintreeLibraryVersion","BRAINTREE_LIBRARY_VERSION","configVersion","date","features","tokenizationKey","originalError","authorizationType","sharedErrors","INSTANTIATION_OPTION_REQUIRED","querystring","prepBody","parseBody","xhr","isXHRAvailable","isAvailable","GraphQLRequest","DefaultRequest","MAX_TCP_RETRYCOUNT","TCP_PRECONNECT_BUG_STATUS_CODE","requestShouldRetry","graphQLRequestShouldRetryWithClientApi","errorClass","extensions","_requestWithRetry","tcpRetryCount","resBody","ajaxRequest","parsedBody","req","getRequestObject","isGraphQLRequest","getUrl","getBody","getMethod","getHeaders","queryify","onreadystatechange","readyState","responseText","adaptResponseBody","determineStatus","onload","onerror","onprogress","ontimeout","open","requestOpenError","headerKey","setRequestHeader","send","_url","_data","_method","_headers","errorResponseAdapter","cardTypeTransforms","creditCard","AMERICAN_EXPRESS","DISCOVER","INTERNATIONAL_MAESTRO","JCB","MASTERCARD","SOLO","UK_MAESTRO","UNION_PAY","VISA","ELO","HIPER","HIPERCARD","applePayWeb","visaCheckout","googlePay","masterpass","DINERS","configurationResponseAdapter","responseBody","ctx","adaptConfigurationResponseBody","clientConfiguration","toLowerCase","assetsUrl","analyticsUrl","venmo","supportedFeatures","_config","map","feature","braintreeApi","supportedNetworks","mapCardTypes","supportedCardBrands","ideal","kount","kountMerchantId","challenges","challenge","supportedCardTypes","threeDSecureEnabled","threeDSecure","androidPay","displayName","enabled","googleAuthorizationFingerprint","googleAuthorization","paypalClientId","payWithVenmo","accessToken","paypal","paypalEnabled","currencyIsoCode","currencyCode","unionPay","merchantAccountId","apikey","apiKey","encryptionKey","externalClientId","merchantCheckoutId","usBankAccount","routeId","plaid","publicKey","plaidPublicKey","cardTypes","cardTypeTransformMap","reduce","acc","CARD_BRAND_MAP","BIN_DATA_MAP","YES","NO","UNKNOWN","AUTHENTICATION_INSIGHT_MAP","PSDTWO","creditCardTokenizationResponseAdapter","adaptTokenizeCreditCardResponseBody","regulationEnvironment","tokenizeCreditCard","lastTwo","last4","binData","consumed","description","token","expirationMonth","expirationYear","bin","cardType","brandCode","lastFour","threeDSecureInfo","authenticationInsight","customerAuthenticationRegulationEnvironment","userErrorResponseAdapter","errorWithClassResponseAdapter","fieldErrors","buildFieldErrors","getLegacyMessage","inputPath","errorDetail","fieldError","legacyCode","inputField","candidate","CONFIGURATION_QUERY","query","operationName","createMutation","hasAuthenticationInsight","mutation","createCreditCardTokenizationBody","cc","billingAddress","expDate","trim","variables","authenticationInsightInput","addValidationRule","validate","creditCardTokenization","browserDetection","tokenize_credit_cards","disallowedInputPaths","containsDisallowedlistedKeys","some","accumulator","getGraphQLEndpoint","featureEnabled","path","getClientApiPath","_isGraphQLEnabled","clientApiPrefix","pathParts","snakeCaseToCamelCase","creditCardTokenizationBodyGenerator","configurationBodyGenerator","generators","adapters","clientApiPath","_clientSdkMetadata","_sendAnalyticsEvent","_generator","_adapter","isGraphQLError","parsedResponse","formatBodyKeys","originalBody","camelCaseKey","String","formattedBody","generatedBody","ajaxIsAvaliable","JSONPDriver","AJAXDriver","getUserAgent","isHTTP","isAjaxAvailable","test","toUpperCase","protocol","timeouts","_removeScript","parentNode","removeChild","_createScriptTag","callbackName","_cleanupGlobal","_","_setupTimeout","_setupGlobalCallback","getElementsByTagName","XMLHttpRequest","XDomainRequest","jsonClone","authAttrs","clientInstanceOrPromise","timestamp","Date","now","timestampInPromise","ANALYTICS_PREFIX","isAsync","floor","ANALYTICS_REQUEST_TIMEOUT_MS","assignNormalized","assignPolyfill","destination","_assign","enumerate","findRootError","CLIENT_API_URLS","production","sandbox","ASSETS_URLS","BUS_CONFIGURATION_REQUEST_EVENT","INTEGRATION_TIMEOUT_MS","instance","methodNames","methodName","METHOD_CALLED_AFTER_TEARDOWN","originalErr","btErrorObject","atob","_isTokenizationKey","str","_parseTokenizationKey","tokens","join","parsedClientToken","parsedTokenizationKey","values","prefix","enumeration","INVALID_USE_OF_INTERNAL_FUNCTION","INCOMPATIBLE_VERSIONS","CLIENT_SCRIPT_FAILED_TO_LOAD","convertDateStringToDate","dateString","splitDate","firstDate","secondDate","parser","legalHosts","stripSubdomains","domain","mainDomain","href","hostname","obj","PromisePolyfill","_notEmpty","_isArray","hasQueryParams","toReturn","keyValue","parts","decodeURIComponent","params","namespace","k","v","encodeURIComponent","snakeString","match","atobNormalized","atobPolyfill","base64String","b","b2","b3","characters","RegExp","fromCharCode","_atob","registerImmediate","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","getPrototypeOf","process","nextTick","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","port2","documentElement","attachEvent","task","run","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","marker","runClearTimeout","Item","array","title","browser","env","argv","versions","addListener","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","isEdge","isSamsung","isDuckDuckGo","isOpera","isSilk","isIos","isGoogleSearchApp","isIosGoogleSearchApp","_classesOf","element","className","add","toAdd","classname","remove","toRemove","toggle","adding","EventEmitter","_events","eventCallbacks","indexOfCallback","splice","_emit","hasListener","createChild","ChildObject","set_attributes_1","default_attributes_1","assign_1","iframe","defaultAttributes","style","setAttributes","getAttribute","objs","frameBorder","allowtransparency","scrolling","attributes","__assign","add_matching_cards_to_results_1","is_valid_input_type_1","find_best_match_1","clone_1","customCards","cardNames","DINERS_CLUB","UNIONPAY","MAESTRO","MIR","ORIGINAL_TEST_ORDER","testOrder","clone","findType","getAllCardTypes","getCardPosition","ignoreErrorForNotExisting","position","creditCardType","cardNumber","results","isValidInputType","cardConfiguration","addMatchingCardsToResults","bestMatch","findBestMatch","getTypeInfo","removeCard","addCard","existingCardPosition","updateCard","updates","originalObject","clonedCard","changeOrder","currentPosition","resetModifications","matches_1","patternLength","patterns","pattern","matches","clonedCardConfiguration","matchStrength","visa","niceType","gaps","lengths","size","mastercard","discover","jcb","unionpay","maestro","elo","mir","hiper","hipercard","hasEnoughResultsToDetermineBestMatch","numberOfResultsWithMaxStrengthProperty","Number","matchesRange","min","max","maxLengthToCheck","integerRepresentationOfCardNumber","parseInt","matchesPattern","substring","Framebus","is_not_string_1","subscription_args_invalid_1","broadcast_1","package_payload_1","send_message_1","constants_1","DefaultPromise","origin","verifyDomain","targetFrames","limitBroadcastToFramesArray","isDestroyed","hasAdditionalChecksForOnListeners","addTargetFrame","frame","include","childWindow","Window","childWindows","eventName","reply","namespaceEvent","isntString","packagePayload","targetFramesAsWindows","sendMessage","broadcast","top","emitAsPromise","originalHandler","handler","subscriptionArgsInvalid","passesVerifyDomainCheck","hasMatchingTargetFrame","subscribers","listener","subscriberList","checkOrigin","HTMLIFrameElement","contentWindow","win","matchingFrame","find","postMessageOrigin","merchantHost","attach_1","framebus_1","attach","detach","message_1","isAttached","removeEventListener","broadcastToChildWindows","closed","has_opener_1","frameToBroadcastTo","hasOpener","opener","frames","dispatch","unpack_payload_1","dispatch_1","broadcast_to_child_windows_1","unpackPayload","eventData","subscribe_replier_1","packaged","subscribeReplier","uuid_1","replier","replyOriginHandler","replyOrigin_1","replySource_1","replyEvent_1","replyData","replyPayload","isIE9","isSamsungBrowser","isAndroidChrome","isKitKatWebview","UA","isAndroid","isChromeOs","isChrome","KITKAT_WEBVIEW_REGEX","isOldSamsungBrowserOrSamsungWebview","device_1","allowedAttributes","attributeValidationError","attribute","_isValid","HOSTED_FIELDS_ATTRIBUTE_VALUE_NOT_ALLOWED","HOSTED_FIELDS_ATTRIBUTE_NOT_SUPPORTED","useMin","componentId","directions","navigationDirections","focusIntercept","findParentTags","userFocusableTagNames","unfocusedInputTypes","_isUserFocusableElement","hasSoftwareKeyboard","tagName","_createNavigationHelper","direction","numberOfElementsInForm","BACK","checkIndexBounds","index","indexChange","FORWARD","_findFirstFocusableElement","elementsInForm","elementsIndex","removeExtraFocusElements","checkoutForm","onRemoveFocusIntercepts","elements","reverse","matchFocusElement","createFocusChangeHandler","hostedFieldsId","callbacks","currentIndex","targetElement","navHelper","sourceElement","getElementById","forms","onTriggerInputFocus","focus","allowedStyles","cssClass","computedStyles","display","left","getComputedStyle","createAssetsUrl","Destructor","classList","iFramer","Bus","createDeferredClient","composeUrl","getStylesFromClass","events","injectFrame","allowedFields","shadow","findRootNode","getCardTypes","focusChange","destroyFocusIntercept","destroy","SAFARI_FOCUS_TIMEOUT","createInputEventHandler","merchantPayload","containerElement","externalClasses","FOCUSED","isFocused","VALID","INVALID","isPotentiallyValid","cards","isVisibleEnough","node","boundingBox","getBoundingClientRect","verticalMidpoint","height","horizontalMidpoint","width","innerHeight","clientHeight","right","bottom","innerWidth","clientWidth","HostedFields","failureTimeout","clientConfig","hostedFieldsUrl","frameReadyPromiseResolveFunctions","frameReadyPromises","_merchantConfigurationOptions","_clientPromise","_injectedNodes","_destructor","_fields","_bus","registerFunctionForTeardown","externalContainer","internalContainer","frameReadyPromise","HOSTED_FIELDS_INVALID_FIELD_KEY","nodeType","HOSTED_FIELDS_INVALID_FIELD_SELECTOR","fieldSelector","fieldContainer","fieldKey","HOSTED_FIELDS_FIELD_DUPLICATE_IFRAME","isShadowElement","transformToSlot","maxlength","HOSTED_FIELDS_FIELD_PROPERTY_INVALID","minlength","defaultIFrameStyle","iframeTitle","label","_setupLabelFocus","frameElement","isIE","REMOVE_FOCUS_INTERCEPTS","TRIGGER_FOCUS_CHANGE","targetType","READY_FOR_CLIENT","CARD_FORM_ENTRY_HAS_BEGUN","BIN_AVAILABLE","formatMerchantConfigurationForIframes","_cleanUpFocusIntercepts","FRAME_READY","INPUT_EVENT","j","parent","formattedConfig","labels","rootNode","querySelectorAll","triggerFocus","_getAnyFieldContainer","found","iframeContainer","_attachInvalidFieldContainersToError","invalidFieldKeys","invalidFields","getChallenges","getSupportedCardTypes","TOKENIZATION_REQUEST","ADD_CLASS","HOSTED_FIELDS_FIELD_NOT_PRESENT","HOSTED_FIELDS_FIELD_INVALID","REMOVE_CLASS","attributeErr","SET_ATTRIBUTE","setMonthOptions","errorMessage","merchantOptions","select","SET_MONTH_OPTIONS","setMessage","SET_MESSAGE","REMOVE_ATTRIBUTE","setPlaceholder","placeholder","clear","CLEAR_FIELD","fieldConfig","TRIGGER_INPUT_FOCUS","scrollIntoView","focusHandler","frameType","clearboth","fragment","createDocumentFragment","focusInterceptBefore","generate","focusInterceptAfter","basicComponentVerification","supportsInputFormatting","verify","HOSTED_FIELDS_TIMEOUT","isChromeOS","isChromeIos","isIe10","isFirefox","isIosWebview","maxExpirationYearAge","externalEvents","FOCUS","BLUR","EMPTY","NOT_EMPTY","VALIDITY_CHANGE","CARD_TYPE_CHANGE","defaultMaxLengths","border","float","tokenizationErrorCodes","HOSTED_FIELDS_TOKENIZATION_FAIL_ON_DUPLICATE","HOSTED_FIELDS_TOKENIZATION_CVV_VERIFICATION_FAILED","disabled","autocompleteMappings","expiration","HOSTED_FIELDS_TOKENIZATION_NETWORK_ERROR","CUSTOMER","HOSTED_FIELDS_FAILED_TOKENIZATION","HOSTED_FIELDS_FIELDS_EMPTY","HOSTED_FIELDS_FIELDS_INVALID","tag","parents","focusInterceptStyles","opacity","idString","focusInputs","idComponents","hasBTPrefix","isAllowedType","isValidDirection","card","functions","finish","braintree","batchExecuteFunctions","_teardownRegistry","_isTearingDown","getShadowHost","styleNode","shadowHost","slotName","slot","slotProvider","sheet","insertRule"],"mappings":"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","file":"js/braintree-2974f091aafde1df8fa4.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 82);\n","var g;\n\n// This works in non-strict mode\ng = function () {\n return this;\n}();\ntry {\n // This works if eval is allowed (see CSP)\n g = g || new Function(\"return this\")();\n} catch (e) {\n // This works if the window reference is available\n if (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;","var scope = typeof global !== \"undefined\" && global || typeof self !== \"undefined\" && self || window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function () {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function () {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout = exports.clearInterval = function (timeout) {\n if (timeout) {\n timeout.close();\n }\n};\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function () {};\nTimeout.prototype.close = function () {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function (item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\nexports.unenroll = function (item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\nexports._unrefActive = exports.active = function (item) {\n clearTimeout(item._idleTimeoutId);\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout) item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = typeof self !== \"undefined\" && self.setImmediate || typeof global !== \"undefined\" && global.setImmediate || this && this.setImmediate;\nexports.clearImmediate = typeof self !== \"undefined\" && self.clearImmediate || typeof global !== \"undefined\" && global.clearImmediate || this && this.clearImmediate;","var braintree_client = require(\"braintree-web/client\");\nvar braintree_hosted_fields = require(\"braintree-web/hosted-fields\");\n\n$(document).ready(function () {\n var braintree_token = $(\"#braintree-client-token\").html();\n var form = document.querySelector(\"#signup-form\");\n var submit = document.querySelector(\"#register-button\");\n\n braintree_client.create(\n {\n authorization: braintree_token,\n },\n function (clientErr, clientInstance) {\n if (clientErr) {\n console.error(clientErr);\n return;\n }\n\n braintree_hosted_fields.create(\n {\n client: clientInstance,\n styles: {\n input: {\n \"font-size\": \"1rem\",\n \"line-height\": \"1rem\",\n \"font-weight\": \"200\",\n color: \"#464646\",\n padding: \"0.25rem 0\",\n \"background-color\": \"transparent\",\n },\n },\n fields: {\n number: {\n selector: \"#card-number\",\n },\n cvv: {\n selector: \"#cvv\",\n },\n expirationDate: {\n selector: \"#expiration-date\",\n },\n postalCode: {\n selector: \"#postal-code\",\n },\n },\n },\n function (hostedFieldsErr, hostedFieldsInstance) {\n if (hostedFieldsErr) {\n console.error(hostedFieldsErr);\n submit.addAttribute(\"disabled\");\n return;\n }\n\n submit.removeAttribute(\"disabled\");\n\n function formErrorTemplate(fieldName, isRequiredError) {\n var error = \"This field is required.\";\n\n if (!isRequiredError) {\n error = `Please enter a valid ${fieldName.replace(/-/g, \" \")}.`;\n }\n\n return `
${error}
`;\n }\n\n function addFieldError(fieldName, isRequiredError) {\n clearFieldError(fieldName);\n var errorTemplate = formErrorTemplate(fieldName, isRequiredError);\n var $container = $(`#${fieldName}-container`);\n $container.addClass(\"form-field--error\");\n $container.append(errorTemplate);\n }\n\n function clearFieldError(fieldName) {\n var $container = $(`#${fieldName}-container`);\n $container.removeClass(\"form-field--error\");\n $container.children(\".form-field__errors\").empty();\n }\n\n $cardholderName = $(\"#cardholder-name\");\n\n $cardholderName.blur(function (e) {\n if ($(this).val() != \"\") {\n clearFieldError(\"cardholder-name\");\n }\n });\n\n hostedFieldsInstance.on(\"validityChange\", function (event) {\n var field = event.fields[event.emittedBy];\n\n if (field.isValid) {\n clearFieldError(field.container.id);\n } else {\n addFieldError(field.container.id, field.isEmpty);\n }\n });\n\n form.addEventListener(\n \"submit\",\n function (event) {\n event.preventDefault();\n\n var formIsInvalid = false;\n var state = hostedFieldsInstance.getState();\n\n // check cardholder name for presence\n if ($cardholderName.val() == \"\") {\n addFieldError(\"cardholder-name\", true);\n formIsInvalid = true;\n } else {\n clearFieldError(\"cardholder-name\");\n }\n\n // Loop through the Hosted Fields and check for validity\n Object.keys(state.fields).forEach(function (field) {\n objField = state.fields[field];\n fieldMarkupName = objField.container.id;\n\n if (objField.isValid) {\n clearFieldError(fieldMarkupName);\n } else {\n addFieldError(fieldMarkupName, objField.isEmpty);\n formIsInvalid = true;\n }\n });\n\n // skip tokenization request if any fields are invalid\n if (formIsInvalid) {\n return;\n }\n\n hostedFieldsInstance.tokenize(\n {\n cardholderName: $cardholderName.val(),\n },\n function (tokenizeErr, payload) {\n if (tokenizeErr) {\n console.error(tokenizeErr);\n } else {\n $(\"#payment_nonce\").val(payload.nonce);\n form.submit();\n }\n }\n );\n },\n false\n );\n }\n );\n }\n );\n});\n","(function (f) {\n if (typeof exports === \"object\" && typeof module !== \"undefined\") {\n module.exports = f();\n } else if (typeof define === \"function\" && define.amd) {\n define([], f);\n } else {\n var g;\n if (typeof window !== \"undefined\") {\n g = window;\n } else if (typeof global !== \"undefined\") {\n g = global;\n } else if (typeof self !== \"undefined\") {\n g = self;\n } else {\n g = this;\n }\n (g.braintree || (g.braintree = {})).client = f();\n }\n})(function () {\n var define, module, exports;\n return function () {\n function r(e, n, t) {\n function o(i, f) {\n if (!n[i]) {\n if (!e[i]) {\n var c = \"function\" == typeof require && require;\n if (!f && c) return c(i, !0);\n if (u) return u(i, !0);\n var a = new Error(\"Cannot find module '\" + i + \"'\");\n throw a.code = \"MODULE_NOT_FOUND\", a;\n }\n var p = n[i] = {\n exports: {}\n };\n e[i][0].call(p.exports, function (r) {\n var n = e[i][1][r];\n return o(n || r);\n }, p, p.exports, r, e, n, t);\n }\n return n[i].exports;\n }\n for (var u = \"function\" == typeof require && require, i = 0; i < t.length; i++) o(t[i]);\n return o;\n }\n return r;\n }()({\n 1: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n };\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PromiseGlobal = void 0;\n var promise_polyfill_1 = __importDefault(_dereq_(\"promise-polyfill\"));\n var PromiseGlobal =\n // eslint-disable-next-line no-undef\n typeof Promise !== \"undefined\" ? Promise : promise_polyfill_1.default;\n exports.PromiseGlobal = PromiseGlobal;\n }, {\n \"promise-polyfill\": 15\n }],\n 2: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var promise_1 = _dereq_(\"./lib/promise\");\n var scriptPromiseCache = {};\n function loadScript(options) {\n var scriptLoadPromise;\n var stringifiedOptions = JSON.stringify(options);\n if (!options.forceScriptReload) {\n scriptLoadPromise = scriptPromiseCache[stringifiedOptions];\n if (scriptLoadPromise) {\n return scriptLoadPromise;\n }\n }\n var script = document.createElement(\"script\");\n var attrs = options.dataAttributes || {};\n var container = options.container || document.head;\n script.src = options.src;\n script.id = options.id || \"\";\n script.async = true;\n if (options.crossorigin) {\n script.setAttribute(\"crossorigin\", \"\" + options.crossorigin);\n }\n Object.keys(attrs).forEach(function (key) {\n script.setAttribute(\"data-\" + key, \"\" + attrs[key]);\n });\n scriptLoadPromise = new promise_1.PromiseGlobal(function (resolve, reject) {\n script.addEventListener(\"load\", function () {\n resolve(script);\n });\n script.addEventListener(\"error\", function () {\n reject(new Error(options.src + \" failed to load.\"));\n });\n script.addEventListener(\"abort\", function () {\n reject(new Error(options.src + \" has aborted.\"));\n });\n container.appendChild(script);\n });\n scriptPromiseCache[stringifiedOptions] = scriptLoadPromise;\n return scriptLoadPromise;\n }\n loadScript.clearCache = function () {\n scriptPromiseCache = {};\n };\n module.exports = loadScript;\n }, {\n \"./lib/promise\": 1\n }],\n 3: [function (_dereq_, module, exports) {\n module.exports = _dereq_(\"./dist/load-script\");\n }, {\n \"./dist/load-script\": 2\n }],\n 4: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var isIE11 = _dereq_(\"./is-ie11\");\n module.exports = function isIE(ua) {\n ua = ua || window.navigator.userAgent;\n return ua.indexOf(\"MSIE\") !== -1 || isIE11(ua);\n };\n }, {\n \"./is-ie11\": 5\n }],\n 5: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function isIe11(ua) {\n ua = ua || window.navigator.userAgent;\n return ua.indexOf(\"Trident/7\") !== -1;\n };\n }, {}],\n 6: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function isIe9(ua) {\n ua = ua || window.navigator.userAgent;\n return ua.indexOf(\"MSIE 9\") !== -1;\n };\n }, {}],\n 7: [function (_dereq_, module, exports) {\n module.exports = _dereq_(\"./dist/is-ie\");\n }, {\n \"./dist/is-ie\": 4\n }],\n 8: [function (_dereq_, module, exports) {\n module.exports = _dereq_(\"./dist/is-ie9\");\n }, {\n \"./dist/is-ie9\": 6\n }],\n 9: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var GlobalPromise = typeof Promise !== \"undefined\" ? Promise // eslint-disable-line no-undef\n : null;\n var ExtendedPromise = /** @class */function () {\n function ExtendedPromise(options) {\n var _this = this;\n if (typeof options === \"function\") {\n this._promise = new ExtendedPromise.Promise(options);\n return;\n }\n this._promise = new ExtendedPromise.Promise(function (resolve, reject) {\n _this._resolveFunction = resolve;\n _this._rejectFunction = reject;\n });\n options = options || {};\n this._onResolve = options.onResolve || ExtendedPromise.defaultOnResolve;\n this._onReject = options.onReject || ExtendedPromise.defaultOnReject;\n if (ExtendedPromise.shouldCatchExceptions(options)) {\n this._promise.catch(function () {\n // prevents unhandled promise rejection warning\n // in the console for extended promises that\n // that catch the error in an asynchronous manner\n });\n }\n this._resetState();\n }\n ExtendedPromise.defaultOnResolve = function (result) {\n return ExtendedPromise.Promise.resolve(result);\n };\n ExtendedPromise.defaultOnReject = function (err) {\n return ExtendedPromise.Promise.reject(err);\n };\n ExtendedPromise.setPromise = function (PromiseClass) {\n ExtendedPromise.Promise = PromiseClass;\n };\n ExtendedPromise.shouldCatchExceptions = function (options) {\n if (options.hasOwnProperty(\"suppressUnhandledPromiseMessage\")) {\n return Boolean(options.suppressUnhandledPromiseMessage);\n }\n return Boolean(ExtendedPromise.suppressUnhandledPromiseMessage);\n };\n // start Promise methods documented in:\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise#Methods\n ExtendedPromise.all = function (args) {\n return ExtendedPromise.Promise.all(args);\n };\n ExtendedPromise.allSettled = function (args) {\n return ExtendedPromise.Promise.allSettled(args);\n };\n ExtendedPromise.race = function (args) {\n return ExtendedPromise.Promise.race(args);\n };\n ExtendedPromise.reject = function (arg) {\n return ExtendedPromise.Promise.reject(arg);\n };\n ExtendedPromise.resolve = function (arg) {\n return ExtendedPromise.Promise.resolve(arg);\n };\n ExtendedPromise.prototype.then = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return (_a = this._promise).then.apply(_a, args);\n };\n ExtendedPromise.prototype.catch = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return (_a = this._promise).catch.apply(_a, args);\n };\n ExtendedPromise.prototype.resolve = function (arg) {\n var _this = this;\n if (this.isFulfilled) {\n return this;\n }\n this._setResolved();\n ExtendedPromise.Promise.resolve().then(function () {\n return _this._onResolve(arg);\n }).then(function (argForResolveFunction) {\n _this._resolveFunction(argForResolveFunction);\n }).catch(function (err) {\n _this._resetState();\n _this.reject(err);\n });\n return this;\n };\n ExtendedPromise.prototype.reject = function (arg) {\n var _this = this;\n if (this.isFulfilled) {\n return this;\n }\n this._setRejected();\n ExtendedPromise.Promise.resolve().then(function () {\n return _this._onReject(arg);\n }).then(function (result) {\n _this._setResolved();\n _this._resolveFunction(result);\n }).catch(function (err) {\n return _this._rejectFunction(err);\n });\n return this;\n };\n ExtendedPromise.prototype._resetState = function () {\n this.isFulfilled = false;\n this.isResolved = false;\n this.isRejected = false;\n };\n ExtendedPromise.prototype._setResolved = function () {\n this.isFulfilled = true;\n this.isResolved = true;\n this.isRejected = false;\n };\n ExtendedPromise.prototype._setRejected = function () {\n this.isFulfilled = true;\n this.isResolved = false;\n this.isRejected = true;\n };\n ExtendedPromise.Promise = GlobalPromise;\n return ExtendedPromise;\n }();\n module.exports = ExtendedPromise;\n }, {}],\n 10: [function (_dereq_, module, exports) {\n 'use strict';\n\n function uuid() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n var r = Math.random() * 16 | 0;\n var v = c === 'x' ? r : r & 0x3 | 0x8;\n return v.toString(16);\n });\n }\n module.exports = uuid;\n }, {}],\n 11: [function (_dereq_, module, exports) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n function deferred(fn) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n setTimeout(function () {\n try {\n fn.apply(void 0, args);\n } catch (err) {\n /* eslint-disable no-console */\n console.log(\"Error in callback function\");\n console.log(err);\n /* eslint-enable no-console */\n }\n }, 1);\n };\n }\n exports.deferred = deferred;\n }, {}],\n 12: [function (_dereq_, module, exports) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n function once(fn) {\n var called = false;\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!called) {\n called = true;\n fn.apply(void 0, args);\n }\n };\n }\n exports.once = once;\n }, {}],\n 13: [function (_dereq_, module, exports) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n /* eslint-disable consistent-return */\n function promiseOrCallback(promise, callback) {\n if (!callback) {\n return promise;\n }\n promise.then(function (data) {\n return callback(null, data);\n }).catch(function (err) {\n return callback(err);\n });\n }\n exports.promiseOrCallback = promiseOrCallback;\n }, {}],\n 14: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var deferred_1 = _dereq_(\"./lib/deferred\");\n var once_1 = _dereq_(\"./lib/once\");\n var promise_or_callback_1 = _dereq_(\"./lib/promise-or-callback\");\n function wrapPromise(fn) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var callback;\n var lastArg = args[args.length - 1];\n if (typeof lastArg === \"function\") {\n callback = args.pop();\n callback = once_1.once(deferred_1.deferred(callback));\n }\n // I know, I know, this looks bad. But it's a quirk of the library that\n // we need to allow passing the this context to the original function\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore: this has an implicit any\n return promise_or_callback_1.promiseOrCallback(fn.apply(this, args), callback); // eslint-disable-line no-invalid-this\n };\n }\n wrapPromise.wrapPrototype = function (target, options) {\n if (options === void 0) {\n options = {};\n }\n var ignoreMethods = options.ignoreMethods || [];\n var includePrivateMethods = options.transformPrivateMethods === true;\n var methods = Object.getOwnPropertyNames(target.prototype).filter(function (method) {\n var isNotPrivateMethod;\n var isNonConstructorFunction = method !== \"constructor\" && typeof target.prototype[method] === \"function\";\n var isNotAnIgnoredMethod = ignoreMethods.indexOf(method) === -1;\n if (includePrivateMethods) {\n isNotPrivateMethod = true;\n } else {\n isNotPrivateMethod = method.charAt(0) !== \"_\";\n }\n return isNonConstructorFunction && isNotPrivateMethod && isNotAnIgnoredMethod;\n });\n methods.forEach(function (method) {\n var original = target.prototype[method];\n target.prototype[method] = wrapPromise(original);\n });\n return target;\n };\n module.exports = wrapPromise;\n }, {\n \"./lib/deferred\": 11,\n \"./lib/once\": 12,\n \"./lib/promise-or-callback\": 13\n }],\n 15: [function (_dereq_, module, exports) {\n 'use strict';\n\n /**\n * @this {Promise}\n */\n function finallyConstructor(callback) {\n var constructor = this.constructor;\n return this.then(function (value) {\n // @ts-ignore\n return constructor.resolve(callback()).then(function () {\n return value;\n });\n }, function (reason) {\n // @ts-ignore\n return constructor.resolve(callback()).then(function () {\n // @ts-ignore\n return constructor.reject(reason);\n });\n });\n }\n function allSettled(arr) {\n var P = this;\n return new P(function (resolve, reject) {\n if (!(arr && typeof arr.length !== 'undefined')) {\n return reject(new TypeError(typeof arr + ' ' + arr + ' is not iterable(cannot read property Symbol(Symbol.iterator))'));\n }\n var args = Array.prototype.slice.call(arr);\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n function res(i, val) {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n var then = val.then;\n if (typeof then === 'function') {\n then.call(val, function (val) {\n res(i, val);\n }, function (e) {\n args[i] = {\n status: 'rejected',\n reason: e\n };\n if (--remaining === 0) {\n resolve(args);\n }\n });\n return;\n }\n }\n args[i] = {\n status: 'fulfilled',\n value: val\n };\n if (--remaining === 0) {\n resolve(args);\n }\n }\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n }\n\n // Store setTimeout reference so promise-polyfill will be unaffected by\n // other code modifying setTimeout (like sinon.useFakeTimers())\n var setTimeoutFunc = setTimeout;\n function isArray(x) {\n return Boolean(x && typeof x.length !== 'undefined');\n }\n function noop() {}\n\n // Polyfill for Function.prototype.bind\n function bind(fn, thisArg) {\n return function () {\n fn.apply(thisArg, arguments);\n };\n }\n\n /**\n * @constructor\n * @param {Function} fn\n */\n function Promise(fn) {\n if (!(this instanceof Promise)) throw new TypeError('Promises must be constructed via new');\n if (typeof fn !== 'function') throw new TypeError('not a function');\n /** @type {!number} */\n this._state = 0;\n /** @type {!boolean} */\n this._handled = false;\n /** @type {Promise|undefined} */\n this._value = undefined;\n /** @type {!Array} */\n this._deferreds = [];\n doResolve(fn, this);\n }\n function handle(self, deferred) {\n while (self._state === 3) {\n self = self._value;\n }\n if (self._state === 0) {\n self._deferreds.push(deferred);\n return;\n }\n self._handled = true;\n Promise._immediateFn(function () {\n var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\n return;\n }\n var ret;\n try {\n ret = cb(self._value);\n } catch (e) {\n reject(deferred.promise, e);\n return;\n }\n resolve(deferred.promise, ret);\n });\n }\n function resolve(self, newValue) {\n try {\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self) throw new TypeError('A promise cannot be resolved with itself.');\n if (newValue && (typeof newValue === 'object' || typeof newValue === 'function')) {\n var then = newValue.then;\n if (newValue instanceof Promise) {\n self._state = 3;\n self._value = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(bind(then, newValue), self);\n return;\n }\n }\n self._state = 1;\n self._value = newValue;\n finale(self);\n } catch (e) {\n reject(self, e);\n }\n }\n function reject(self, newValue) {\n self._state = 2;\n self._value = newValue;\n finale(self);\n }\n function finale(self) {\n if (self._state === 2 && self._deferreds.length === 0) {\n Promise._immediateFn(function () {\n if (!self._handled) {\n Promise._unhandledRejectionFn(self._value);\n }\n });\n }\n for (var i = 0, len = self._deferreds.length; i < len; i++) {\n handle(self, self._deferreds[i]);\n }\n self._deferreds = null;\n }\n\n /**\n * @constructor\n */\n function Handler(onFulfilled, onRejected, promise) {\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n }\n\n /**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\n function doResolve(fn, self) {\n var done = false;\n try {\n fn(function (value) {\n if (done) return;\n done = true;\n resolve(self, value);\n }, function (reason) {\n if (done) return;\n done = true;\n reject(self, reason);\n });\n } catch (ex) {\n if (done) return;\n done = true;\n reject(self, ex);\n }\n }\n Promise.prototype['catch'] = function (onRejected) {\n return this.then(null, onRejected);\n };\n Promise.prototype.then = function (onFulfilled, onRejected) {\n // @ts-ignore\n var prom = new this.constructor(noop);\n handle(this, new Handler(onFulfilled, onRejected, prom));\n return prom;\n };\n Promise.prototype['finally'] = finallyConstructor;\n Promise.all = function (arr) {\n return new Promise(function (resolve, reject) {\n if (!isArray(arr)) {\n return reject(new TypeError('Promise.all accepts an array'));\n }\n var args = Array.prototype.slice.call(arr);\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n function res(i, val) {\n try {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n var then = val.then;\n if (typeof then === 'function') {\n then.call(val, function (val) {\n res(i, val);\n }, reject);\n return;\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n } catch (ex) {\n reject(ex);\n }\n }\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n };\n Promise.allSettled = allSettled;\n Promise.resolve = function (value) {\n if (value && typeof value === 'object' && value.constructor === Promise) {\n return value;\n }\n return new Promise(function (resolve) {\n resolve(value);\n });\n };\n Promise.reject = function (value) {\n return new Promise(function (resolve, reject) {\n reject(value);\n });\n };\n Promise.race = function (arr) {\n return new Promise(function (resolve, reject) {\n if (!isArray(arr)) {\n return reject(new TypeError('Promise.race accepts an array'));\n }\n for (var i = 0, len = arr.length; i < len; i++) {\n Promise.resolve(arr[i]).then(resolve, reject);\n }\n });\n };\n\n // Use polyfill for setImmediate for performance gains\n Promise._immediateFn =\n // @ts-ignore\n typeof setImmediate === 'function' && function (fn) {\n // @ts-ignore\n setImmediate(fn);\n } || function (fn) {\n setTimeoutFunc(fn, 0);\n };\n Promise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\n if (typeof console !== 'undefined' && console) {\n console.warn('Possible Unhandled Promise Rejection:', err); // eslint-disable-line no-console\n }\n };\n module.exports = Promise;\n }, {}],\n 16: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var isIe = _dereq_(\"@braintree/browser-detection/is-ie\");\n var isIe9 = _dereq_(\"@braintree/browser-detection/is-ie9\");\n module.exports = {\n isIe: isIe,\n isIe9: isIe9\n };\n }, {\n \"@braintree/browser-detection/is-ie\": 7,\n \"@braintree/browser-detection/is-ie9\": 8\n }],\n 17: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var BRAINTREE_VERSION = _dereq_(\"./constants\").BRAINTREE_VERSION;\n var GraphQL = _dereq_(\"./request/graphql\");\n var request = _dereq_(\"./request\");\n var isVerifiedDomain = _dereq_(\"../lib/is-verified-domain\");\n var BraintreeError = _dereq_(\"../lib/braintree-error\");\n var convertToBraintreeError = _dereq_(\"../lib/convert-to-braintree-error\");\n var getGatewayConfiguration = _dereq_(\"./get-configuration\").getConfiguration;\n var createAuthorizationData = _dereq_(\"../lib/create-authorization-data\");\n var addMetadata = _dereq_(\"../lib/add-metadata\");\n var Promise = _dereq_(\"../lib/promise\");\n var wrapPromise = _dereq_(\"@braintree/wrap-promise\");\n var once = _dereq_(\"../lib/once\");\n var deferred = _dereq_(\"../lib/deferred\");\n var assign = _dereq_(\"../lib/assign\").assign;\n var analytics = _dereq_(\"../lib/analytics\");\n var errors = _dereq_(\"./errors\");\n var VERSION = _dereq_(\"../lib/constants\").VERSION;\n var GRAPHQL_URLS = _dereq_(\"../lib/constants\").GRAPHQL_URLS;\n var methods = _dereq_(\"../lib/methods\");\n var convertMethodsToError = _dereq_(\"../lib/convert-methods-to-error\");\n var assets = _dereq_(\"../lib/assets\");\n var FRAUDNET_FNCLS = _dereq_(\"../lib/constants\").FRAUDNET_FNCLS;\n var FRAUDNET_SOURCE = _dereq_(\"../lib/constants\").FRAUDNET_SOURCE;\n var FRAUDNET_URL = _dereq_(\"../lib/constants\").FRAUDNET_URL;\n var cachedClients = {};\n\n /**\n * This object is returned by {@link Client#getConfiguration|getConfiguration}. This information is used extensively by other Braintree modules to properly configure themselves.\n * @typedef {object} Client~configuration\n * @property {object} client The braintree-web/client parameters.\n * @property {string} client.authorization A tokenizationKey or clientToken.\n * @property {object} gatewayConfiguration Gateway-supplied configuration.\n * @property {object} analyticsMetadata Analytics-specific data.\n * @property {string} analyticsMetadata.sessionId Uniquely identifies a browsing session.\n * @property {string} analyticsMetadata.sdkVersion The braintree.js version.\n * @property {string} analyticsMetadata.merchantAppId Identifies the merchant's web app.\n */\n\n /**\n * @class\n * @param {Client~configuration} configuration Options\n * @description Do not use this constructor directly. Use {@link module:braintree-web/client.create|braintree.client.create} instead.\n * @classdesc This class is required by many other Braintree components. It serves as the base API layer that communicates with our servers. It is also capable of being used to formulate direct calls to our servers, such as direct credit card tokenization. See {@link Client#request}.\n */\n function Client(configuration) {\n var configurationJSON, gatewayConfiguration;\n configuration = configuration || {};\n configurationJSON = JSON.stringify(configuration);\n gatewayConfiguration = configuration.gatewayConfiguration;\n if (!gatewayConfiguration) {\n throw new BraintreeError(errors.CLIENT_MISSING_GATEWAY_CONFIGURATION);\n }\n [\"assetsUrl\", \"clientApiUrl\", \"configUrl\"].forEach(function (property) {\n if (property in gatewayConfiguration && !isVerifiedDomain(gatewayConfiguration[property])) {\n throw new BraintreeError({\n type: errors.CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN.type,\n code: errors.CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN.code,\n message: property + \" property is on an invalid domain.\"\n });\n }\n });\n\n /**\n * Returns a copy of the configuration values.\n * @public\n * @returns {Client~configuration} configuration\n */\n this.getConfiguration = function () {\n return JSON.parse(configurationJSON);\n };\n this._request = request;\n this._configuration = this.getConfiguration();\n this._clientApiBaseUrl = gatewayConfiguration.clientApiUrl + \"/v1/\";\n if (gatewayConfiguration.graphQL) {\n if (!isVerifiedDomain(gatewayConfiguration.graphQL.url)) {\n throw new BraintreeError({\n type: errors.CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN.type,\n code: errors.CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN.code,\n message: \"graphQL.url property is on an invalid domain.\"\n });\n }\n this._graphQL = new GraphQL({\n graphQL: gatewayConfiguration.graphQL\n });\n }\n }\n Client.initialize = function (options) {\n var clientInstance, authData;\n var promise = cachedClients[options.authorization];\n if (promise) {\n analytics.sendEvent(promise, \"custom.client.load.cached\");\n return promise;\n }\n try {\n authData = createAuthorizationData(options.authorization);\n } catch (err) {\n return Promise.reject(new BraintreeError(errors.CLIENT_INVALID_AUTHORIZATION));\n }\n promise = getGatewayConfiguration(authData).then(function (configuration) {\n if (options.debug) {\n configuration.isDebug = true;\n }\n configuration.authorization = options.authorization;\n clientInstance = new Client(configuration);\n return clientInstance;\n });\n cachedClients[options.authorization] = promise;\n analytics.sendEvent(promise, \"custom.client.load.initialized\");\n return promise.then(function (client) {\n analytics.sendEvent(clientInstance, \"custom.client.load.succeeded\");\n return client;\n }).catch(function (err) {\n delete cachedClients[options.authorization];\n return Promise.reject(err);\n });\n };\n\n // Primarily used for testing the client initalization call\n Client.clearCache = function () {\n cachedClients = {};\n };\n Client.prototype._findOrCreateFraudnetJSON = function (clientMetadataId) {\n var el = document.querySelector('script[fncls=\"' + FRAUDNET_FNCLS + '\"]');\n var config, additionalData, authorizationFingerprint, parameters;\n if (!el) {\n el = document.body.appendChild(document.createElement(\"script\"));\n el.type = \"application/json\";\n el.setAttribute(\"fncls\", FRAUDNET_FNCLS);\n }\n config = this.getConfiguration();\n additionalData = {\n rda_tenant: \"bt_card\",\n // eslint-disable-line camelcase\n mid: config.gatewayConfiguration.merchantId\n };\n authorizationFingerprint = config.authorizationFingerprint;\n if (authorizationFingerprint) {\n authorizationFingerprint.split(\"&\").forEach(function (pieces) {\n var component = pieces.split(\"=\");\n if (component[0] === \"customer_id\" && component.length > 1) {\n additionalData.cid = component[1];\n }\n });\n }\n parameters = {\n f: clientMetadataId.substr(0, 32),\n fp: additionalData,\n bu: false,\n s: FRAUDNET_SOURCE\n };\n el.text = JSON.stringify(parameters);\n };\n\n /**\n * Used by other modules to formulate all network requests to the Braintree gateway. It is also capable of being used directly from your own form to tokenize credit card information. However, be sure to satisfy PCI compliance if you use direct card tokenization.\n * @public\n * @param {object} options Request options:\n * @param {string} options.method HTTP method, e.g. \"get\" or \"post\".\n * @param {string} options.endpoint Endpoint path, e.g. \"payment_methods\".\n * @param {object} options.data Data to send with the request.\n * @param {number} [options.timeout=60000] Set a timeout (in milliseconds) for the request.\n * @param {callback} [callback] The second argument, data, is the returned server data.\n * @example\n * Direct Credit Card Tokenization\n * var createClient = require('braintree-web/client').create;\n *\n * createClient({\n * authorization: CLIENT_AUTHORIZATION\n * }, function (createErr, clientInstance) {\n * var form = document.getElementById('my-form-id');\n * var data = {\n * creditCard: {\n * number: form['cc-number'].value,\n * cvv: form['cc-cvv'].value,\n * expirationDate: form['cc-expiration-date'].value,\n * billingAddress: {\n * postalCode: form['cc-postal-code'].value\n * },\n * options: {\n * validate: false\n * }\n * }\n * };\n *\n * // Warning: For a merchant to be eligible for the easiest level of PCI compliance (SAQ A),\n * // payment fields cannot be hosted on your checkout page.\n * // For an alternative to the following, use Hosted Fields.\n * clientInstance.request({\n * endpoint: 'payment_methods/credit_cards',\n * method: 'post',\n * data: data\n * }, function (requestErr, response) {\n * // More detailed example of handling API errors: https://codepen.io/braintree/pen/MbwjdM\n * if (requestErr) { throw new Error(requestErr); }\n *\n * console.log('Got nonce:', response.creditCards[0].nonce);\n * });\n * });\n * @example\n * Tokenizing Fields for AVS Checks\n * var createClient = require('braintree-web/client').create;\n *\n * createClient({\n * authorization: CLIENT_AUTHORIZATION\n * }, function (createErr, clientInstance) {\n * var form = document.getElementById('my-form-id');\n * var data = {\n * creditCard: {\n * number: form['cc-number'].value,\n * cvv: form['cc-cvv'].value,\n * expirationDate: form['cc-date'].value,\n * // The billing address can be checked with AVS rules.\n * // See: https://articles.braintreepayments.com/support/guides/fraud-tools/basic/avs-cvv-rules\n * billingAddress: {\n * postalCode: form['cc-postal-code'].value,\n * streetAddress: form['cc-street-address'].value,\n * countryName: form['cc-country-name'].value,\n * countryCodeAlpha2: form['cc-country-alpha2'].value,\n * countryCodeAlpha3: form['cc-country-alpha3'].value,\n * countryCodeNumeric: form['cc-country-numeric'].value\n * },\n * options: {\n * validate: false\n * }\n * }\n * };\n *\n * // Warning: For a merchant to be eligible for the easiest level of PCI compliance (SAQ A),\n * // payment fields cannot be hosted on your checkout page.\n * // For an alternative to the following, use Hosted Fields.\n * clientInstance.request({\n * endpoint: 'payment_methods/credit_cards',\n * method: 'post',\n * data: data\n * }, function (requestErr, response) {\n * // More detailed example of handling API errors: https://codepen.io/braintree/pen/MbwjdM\n * if (requestErr) { throw new Error(requestErr); }\n *\n * console.log('Got nonce:', response.creditCards[0].nonce);\n * });\n * });\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n */\n Client.prototype.request = function (options, callback) {\n var self = this; // eslint-disable-line no-invalid-this\n var requestPromise = new Promise(function (resolve, reject) {\n var optionName, api, baseUrl, requestOptions;\n var shouldCollectData = Boolean(options.endpoint === \"payment_methods/credit_cards\" && self.getConfiguration().gatewayConfiguration.creditCards.collectDeviceData);\n if (options.api !== \"graphQLApi\") {\n if (!options.method) {\n optionName = \"options.method\";\n } else if (!options.endpoint) {\n optionName = \"options.endpoint\";\n }\n }\n if (optionName) {\n throw new BraintreeError({\n type: errors.CLIENT_OPTION_REQUIRED.type,\n code: errors.CLIENT_OPTION_REQUIRED.code,\n message: optionName + \" is required when making a request.\"\n });\n }\n if (\"api\" in options) {\n api = options.api;\n } else {\n api = \"clientApi\";\n }\n requestOptions = {\n method: options.method,\n graphQL: self._graphQL,\n timeout: options.timeout,\n metadata: self._configuration.analyticsMetadata\n };\n if (api === \"clientApi\") {\n baseUrl = self._clientApiBaseUrl;\n requestOptions.data = addMetadata(self._configuration, options.data);\n } else if (api === \"graphQLApi\") {\n baseUrl = GRAPHQL_URLS[self._configuration.gatewayConfiguration.environment];\n options.endpoint = \"\";\n requestOptions.method = \"post\";\n requestOptions.data = assign({\n clientSdkMetadata: {\n platform: self._configuration.analyticsMetadata.platform,\n source: self._configuration.analyticsMetadata.source,\n integration: self._configuration.analyticsMetadata.integration,\n sessionId: self._configuration.analyticsMetadata.sessionId,\n version: VERSION\n }\n }, options.data);\n requestOptions.headers = getAuthorizationHeadersForGraphQL(self._configuration);\n } else {\n throw new BraintreeError({\n type: errors.CLIENT_OPTION_INVALID.type,\n code: errors.CLIENT_OPTION_INVALID.code,\n message: \"options.api is invalid.\"\n });\n }\n requestOptions.url = baseUrl + options.endpoint;\n requestOptions.sendAnalyticsEvent = function (kind) {\n analytics.sendEvent(self, kind);\n };\n self._request(requestOptions, function (err, data, status) {\n var resolvedData, requestError;\n requestError = formatRequestError(status, err);\n if (requestError) {\n reject(requestError);\n return;\n }\n if (api === \"graphQLApi\" && data.errors) {\n reject(convertToBraintreeError(data.errors, {\n type: errors.CLIENT_GRAPHQL_REQUEST_ERROR.type,\n code: errors.CLIENT_GRAPHQL_REQUEST_ERROR.code,\n message: errors.CLIENT_GRAPHQL_REQUEST_ERROR.message\n }));\n return;\n }\n resolvedData = assign({\n _httpStatus: status\n }, data);\n if (shouldCollectData && resolvedData.creditCards && resolvedData.creditCards.length > 0) {\n self._findOrCreateFraudnetJSON(resolvedData.creditCards[0].nonce);\n assets.loadScript({\n src: FRAUDNET_URL,\n forceScriptReload: true\n });\n }\n resolve(resolvedData);\n });\n });\n if (typeof callback === \"function\") {\n callback = once(deferred(callback));\n requestPromise.then(function (response) {\n callback(null, response, response._httpStatus);\n }).catch(function (err) {\n var status = err && err.details && err.details.httpStatus;\n callback(err, null, status);\n });\n return;\n }\n return requestPromise; // eslint-disable-line consistent-return\n };\n\n // eslint-disable-next-line consistent-return\n function formatRequestError(status, err) {\n var requestError;\n if (status === -1) {\n requestError = new BraintreeError(errors.CLIENT_REQUEST_TIMEOUT);\n } else if (status === 401) {\n requestError = new BraintreeError(errors.CLIENT_AUTHORIZATION_INVALID);\n } else if (status === 403) {\n requestError = new BraintreeError(errors.CLIENT_AUTHORIZATION_INSUFFICIENT);\n } else if (status === 429) {\n requestError = new BraintreeError(errors.CLIENT_RATE_LIMITED);\n } else if (status >= 500) {\n requestError = new BraintreeError(errors.CLIENT_GATEWAY_NETWORK);\n } else if (status < 200 || status >= 400) {\n requestError = convertToBraintreeError(err, {\n type: errors.CLIENT_REQUEST_ERROR.type,\n code: errors.CLIENT_REQUEST_ERROR.code,\n message: errors.CLIENT_REQUEST_ERROR.message\n });\n }\n if (requestError) {\n requestError.details = requestError.details || {};\n requestError.details.httpStatus = status;\n return requestError;\n }\n }\n Client.prototype.toJSON = function () {\n return this.getConfiguration();\n };\n\n /**\n * Returns the Client version.\n * @public\n * @returns {String} The created client's version.\n * @example\n * var createClient = require('braintree-web/client').create;\n *\n * createClient({\n * authorization: CLIENT_AUTHORIZATION\n * }, function (createErr, clientInstance) {\n * console.log(clientInstance.getVersion()); // Ex: 1.0.0\n * });\n * @returns {void}\n */\n Client.prototype.getVersion = function () {\n return VERSION;\n };\n\n /**\n * Cleanly tear down anything set up by {@link module:braintree-web/client.create|create}.\n * @public\n * @param {callback} [callback] Called once teardown is complete. No data is returned if teardown completes successfully.\n * @example\n * clientInstance.teardown();\n * @example With callback\n * clientInstance.teardown(function () {\n * // teardown is complete\n * });\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n */\n Client.prototype.teardown = wrapPromise(function () {\n var self = this; // eslint-disable-line no-invalid-this\n\n delete cachedClients[self.getConfiguration().authorization];\n convertMethodsToError(self, methods(Client.prototype));\n return Promise.resolve();\n });\n function getAuthorizationHeadersForGraphQL(configuration) {\n var token = configuration.authorizationFingerprint || configuration.authorization;\n return {\n Authorization: \"Bearer \" + token,\n \"Braintree-Version\": BRAINTREE_VERSION\n };\n }\n module.exports = Client;\n }, {\n \"../lib/add-metadata\": 38,\n \"../lib/analytics\": 39,\n \"../lib/assets\": 40,\n \"../lib/assign\": 41,\n \"../lib/braintree-error\": 42,\n \"../lib/constants\": 43,\n \"../lib/convert-methods-to-error\": 44,\n \"../lib/convert-to-braintree-error\": 45,\n \"../lib/create-authorization-data\": 46,\n \"../lib/deferred\": 47,\n \"../lib/is-verified-domain\": 51,\n \"../lib/methods\": 53,\n \"../lib/once\": 54,\n \"../lib/promise\": 55,\n \"./constants\": 18,\n \"./errors\": 19,\n \"./get-configuration\": 20,\n \"./request\": 32,\n \"./request/graphql\": 30,\n \"@braintree/wrap-promise\": 14\n }],\n 18: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = {\n BRAINTREE_VERSION: \"2018-05-10\"\n };\n }, {}],\n 19: [function (_dereq_, module, exports) {\n \"use strict\";\n\n /**\n * @name BraintreeError.Client - Internal Error Codes\n * @ignore\n * @description These codes should never be experienced by the merchant directly.\n * @property {MERCHANT} CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN An error to prevent client creation for domains that are not allowed in the JS.\n * @property {INTERNAL} CLIENT_MISSING_GATEWAY_CONFIGURATION Occurs when the client is created without a gateway configuration. Should never happen.\n */\n\n /**\n * @name BraintreeError.Client - Create Error Codes\n * @description Errors that may occur when [creating the client](./module-braintree-web_client.html#.create)\n * @property {MERCHANT} CLIENT_INVALID_AUTHORIZATION Occurs when client token cannot be parsed.\n */\n\n /**\n * @name BraintreeError.Client - Request Error Codes\n * @description Errors that may occur when [using the request method](./Client.html#request)\n * @property {MERCHANT} CLIENT_OPTION_REQUIRED An option required in the request method was not provided. Usually `options.method` or `options.endpoint`\n * @property {MERCHANT} CLIENT_OPTION_INVALID The request option provided is invalid.\n * @property {MERCHANT} CLIENT_GATEWAY_NETWORK The Braintree gateway could not be contacted.\n * @property {NETWORK} CLIENT_REQUEST_TIMEOUT The request took too long to complete and timed out.\n * @property {NETWORK} CLIENT_REQUEST_ERROR The response from a request had status 400 or greater.\n * @property {NETWORK} CLIENT_GRAPHQL_REQUEST_ERROR The response from a request to GraphQL contained an error.\n * @property {MERCHANT} CLIENT_RATE_LIMITED The response from a request had a status of 429, indicating rate limiting.\n * @property {MERCHANT} CLIENT_AUTHORIZATION_INSUFFICIENT The user associated with the client token or tokenization key does not have permissions to make the request.\n * @property {MERCHANT} CLIENT_AUTHORIZATION_INVALID The provided authorization could not be found. Either the client token has expired and a new client token must be generated or the tokenization key used is set to be inactive or has been deleted.\n */\n var BraintreeError = _dereq_(\"../lib/braintree-error\");\n module.exports = {\n CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN: {\n type: BraintreeError.types.MERCHANT,\n code: \"CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN\"\n },\n CLIENT_OPTION_REQUIRED: {\n type: BraintreeError.types.MERCHANT,\n code: \"CLIENT_OPTION_REQUIRED\"\n },\n CLIENT_OPTION_INVALID: {\n type: BraintreeError.types.MERCHANT,\n code: \"CLIENT_OPTION_INVALID\"\n },\n CLIENT_MISSING_GATEWAY_CONFIGURATION: {\n type: BraintreeError.types.INTERNAL,\n code: \"CLIENT_MISSING_GATEWAY_CONFIGURATION\",\n message: \"Missing gatewayConfiguration.\"\n },\n CLIENT_INVALID_AUTHORIZATION: {\n type: BraintreeError.types.MERCHANT,\n code: \"CLIENT_INVALID_AUTHORIZATION\",\n message: \"Authorization is invalid. Make sure your client token or tokenization key is valid.\"\n },\n CLIENT_GATEWAY_NETWORK: {\n type: BraintreeError.types.NETWORK,\n code: \"CLIENT_GATEWAY_NETWORK\",\n message: \"Cannot contact the gateway at this time.\"\n },\n CLIENT_REQUEST_TIMEOUT: {\n type: BraintreeError.types.NETWORK,\n code: \"CLIENT_REQUEST_TIMEOUT\",\n message: \"Request timed out waiting for a reply.\"\n },\n CLIENT_REQUEST_ERROR: {\n type: BraintreeError.types.NETWORK,\n code: \"CLIENT_REQUEST_ERROR\",\n message: \"There was a problem with your request.\"\n },\n CLIENT_GRAPHQL_REQUEST_ERROR: {\n type: BraintreeError.types.NETWORK,\n code: \"CLIENT_GRAPHQL_REQUEST_ERROR\",\n message: \"There was a problem with your request.\"\n },\n CLIENT_RATE_LIMITED: {\n type: BraintreeError.types.MERCHANT,\n code: \"CLIENT_RATE_LIMITED\",\n message: \"You are being rate-limited; please try again in a few minutes.\"\n },\n CLIENT_AUTHORIZATION_INSUFFICIENT: {\n type: BraintreeError.types.MERCHANT,\n code: \"CLIENT_AUTHORIZATION_INSUFFICIENT\",\n message: \"The authorization used has insufficient privileges.\"\n },\n CLIENT_AUTHORIZATION_INVALID: {\n type: BraintreeError.types.MERCHANT,\n code: \"CLIENT_AUTHORIZATION_INVALID\",\n message: \"Either the client token has expired and a new one should be generated or the tokenization key has been deactivated or deleted.\"\n }\n };\n }, {\n \"../lib/braintree-error\": 42\n }],\n 20: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var BraintreeError = _dereq_(\"../lib/braintree-error\");\n var Promise = _dereq_(\"../lib/promise\");\n var wrapPromise = _dereq_(\"@braintree/wrap-promise\");\n var request = _dereq_(\"./request\");\n var uuid = _dereq_(\"@braintree/uuid\");\n var constants = _dereq_(\"../lib/constants\");\n var errors = _dereq_(\"./errors\");\n var GraphQL = _dereq_(\"./request/graphql\");\n var GRAPHQL_URLS = _dereq_(\"../lib/constants\").GRAPHQL_URLS;\n var isDateStringBeforeOrOn = _dereq_(\"../lib/is-date-string-before-or-on\");\n var BRAINTREE_VERSION = _dereq_(\"./constants\").BRAINTREE_VERSION;\n function getConfiguration(authData) {\n return new Promise(function (resolve, reject) {\n var configuration, attrs, configUrl, reqOptions;\n var sessionId = uuid();\n var analyticsMetadata = {\n merchantAppId: window.location.host,\n platform: constants.PLATFORM,\n sdkVersion: constants.VERSION,\n source: constants.SOURCE,\n integration: constants.INTEGRATION,\n integrationType: constants.INTEGRATION,\n sessionId: sessionId\n };\n attrs = authData.attrs;\n configUrl = authData.configUrl;\n attrs._meta = analyticsMetadata;\n attrs.braintreeLibraryVersion = constants.BRAINTREE_LIBRARY_VERSION;\n attrs.configVersion = \"3\";\n reqOptions = {\n url: configUrl,\n method: \"GET\",\n data: attrs\n };\n if (attrs.authorizationFingerprint && authData.graphQL) {\n if (isDateStringBeforeOrOn(authData.graphQL.date, BRAINTREE_VERSION)) {\n reqOptions.graphQL = new GraphQL({\n graphQL: {\n url: authData.graphQL.url,\n features: [\"configuration\"]\n }\n });\n }\n reqOptions.metadata = analyticsMetadata;\n } else if (attrs.tokenizationKey) {\n reqOptions.graphQL = new GraphQL({\n graphQL: {\n url: GRAPHQL_URLS[authData.environment],\n features: [\"configuration\"]\n }\n });\n reqOptions.metadata = analyticsMetadata;\n }\n\n // NEXT_MAJOR_VERSION\n // there are various issues with the config endpoint where the values returned\n // do not match the values from the merchant account id passed into a client token\n // we need to update the configuration request endpoint to be able to pass the\n // correct values. The following ones are incorrect\n // * applePayWeb - definitely supportedNetworks, which compiles all the card\n // networks from all the merchant accounts instead of providing just the\n // ones from the specified one. The same is probably true for ios apple pay\n // Also the merchantidentifier\n // NEXT_MAJOR_VERSION Allow passing in merchant account id when creating the component\n // to fetch the config for that merchant account id (particularly helpful when using\n // a tokenization key for authorization)\n request(reqOptions, function (err, response, status) {\n var errorTemplate;\n if (err) {\n if (status === 403) {\n errorTemplate = errors.CLIENT_AUTHORIZATION_INSUFFICIENT;\n } else if (status === 401) {\n errorTemplate = errors.CLIENT_AUTHORIZATION_INVALID;\n } else {\n errorTemplate = errors.CLIENT_GATEWAY_NETWORK;\n }\n reject(new BraintreeError({\n type: errorTemplate.type,\n code: errorTemplate.code,\n message: errorTemplate.message,\n details: {\n originalError: err\n }\n }));\n return;\n }\n configuration = {\n authorizationType: attrs.tokenizationKey ? \"TOKENIZATION_KEY\" : \"CLIENT_TOKEN\",\n authorizationFingerprint: attrs.authorizationFingerprint,\n analyticsMetadata: analyticsMetadata,\n gatewayConfiguration: response\n };\n resolve(configuration);\n });\n });\n }\n module.exports = {\n getConfiguration: wrapPromise(getConfiguration)\n };\n }, {\n \"../lib/braintree-error\": 42,\n \"../lib/constants\": 43,\n \"../lib/is-date-string-before-or-on\": 50,\n \"../lib/promise\": 55,\n \"./constants\": 18,\n \"./errors\": 19,\n \"./request\": 32,\n \"./request/graphql\": 30,\n \"@braintree/uuid\": 10,\n \"@braintree/wrap-promise\": 14\n }],\n 21: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var BraintreeError = _dereq_(\"../lib/braintree-error\");\n var Client = _dereq_(\"./client\");\n var VERSION = \"3.88.5\";\n var Promise = _dereq_(\"../lib/promise\");\n var wrapPromise = _dereq_(\"@braintree/wrap-promise\");\n var sharedErrors = _dereq_(\"../lib/errors\");\n\n /** @module braintree-web/client */\n\n /**\n * @function create\n * @description This function is the entry point for the braintree.client module. It is used for creating {@link Client} instances that service communication to Braintree servers.\n * @param {object} options Object containing all {@link Client} options:\n * @param {string} options.authorization A tokenizationKey or clientToken.\n * @param {callback} [callback] The second argument, data, is the {@link Client} instance.\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n * @example\n * var createClient = require('braintree-web/client').create;\n *\n * createClient({\n * authorization: CLIENT_AUTHORIZATION\n * }, function (createErr, clientInstance) {\n * if (createErr) {\n * if (createErr.code === 'CLIENT_AUTHORIZATION_INVALID') {\n * // either the client token has expired, and a new one should be generated\n * // or the tokenization key was deactivated or deleted\n * } else {\n * console.log('something went wrong creating the client instance', createErr);\n * }\n * return;\n * }\n *\n * // set up other components\n * });\n * @static\n */\n function create(options) {\n if (!options.authorization) {\n return Promise.reject(new BraintreeError({\n type: sharedErrors.INSTANTIATION_OPTION_REQUIRED.type,\n code: sharedErrors.INSTANTIATION_OPTION_REQUIRED.code,\n message: \"options.authorization is required when instantiating a client.\"\n }));\n }\n return Client.initialize(options);\n }\n module.exports = {\n create: wrapPromise(create),\n /**\n * @description The current version of the SDK, i.e. `{@pkg version}`.\n * @type {string}\n */\n VERSION: VERSION\n };\n }, {\n \"../lib/braintree-error\": 42,\n \"../lib/errors\": 49,\n \"../lib/promise\": 55,\n \"./client\": 17,\n \"@braintree/wrap-promise\": 14\n }],\n 22: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var querystring = _dereq_(\"../../lib/querystring\");\n var assign = _dereq_(\"../../lib/assign\").assign;\n var prepBody = _dereq_(\"./prep-body\");\n var parseBody = _dereq_(\"./parse-body\");\n var xhr = _dereq_(\"./xhr\");\n var isXHRAvailable = xhr.isAvailable;\n var GraphQLRequest = _dereq_(\"./graphql/request\");\n var DefaultRequest = _dereq_(\"./default-request\");\n var MAX_TCP_RETRYCOUNT = 1;\n var TCP_PRECONNECT_BUG_STATUS_CODE = 408;\n function requestShouldRetry(status) {\n return !status || status === TCP_PRECONNECT_BUG_STATUS_CODE;\n }\n function graphQLRequestShouldRetryWithClientApi(body) {\n var errorClass = !body.data && body.errors && body.errors[0] && body.errors[0].extensions && body.errors[0].extensions.errorClass;\n return errorClass === \"UNKNOWN\" || errorClass === \"INTERNAL\";\n }\n function _requestWithRetry(options, tcpRetryCount, cb) {\n var status, resBody, ajaxRequest, body, method, headers, parsedBody;\n var url = options.url;\n var graphQL = options.graphQL;\n var timeout = options.timeout;\n var req = xhr.getRequestObject();\n var callback = cb;\n var isGraphQLRequest = Boolean(graphQL && graphQL.isGraphQLRequest(url, options.data));\n options.headers = assign({\n \"Content-Type\": \"application/json\"\n }, options.headers);\n if (isGraphQLRequest) {\n ajaxRequest = new GraphQLRequest(options);\n } else {\n ajaxRequest = new DefaultRequest(options);\n }\n url = ajaxRequest.getUrl();\n body = ajaxRequest.getBody();\n method = ajaxRequest.getMethod();\n headers = ajaxRequest.getHeaders();\n if (method === \"GET\") {\n url = querystring.queryify(url, body);\n body = null;\n }\n if (isXHRAvailable) {\n req.onreadystatechange = function () {\n if (req.readyState !== 4) {\n return;\n }\n if (req.status === 0 && isGraphQLRequest) {\n // If a merchant experiences a connection\n // issue to the GraphQL endpoint (possibly\n // due to a Content Security Policy), retry\n // the request against the old client API.\n delete options.graphQL;\n _requestWithRetry(options, tcpRetryCount, cb);\n return;\n }\n parsedBody = parseBody(req.responseText);\n resBody = ajaxRequest.adaptResponseBody(parsedBody);\n status = ajaxRequest.determineStatus(req.status, parsedBody);\n if (status >= 400 || status < 200) {\n if (isGraphQLRequest && graphQLRequestShouldRetryWithClientApi(parsedBody)) {\n delete options.graphQL;\n _requestWithRetry(options, tcpRetryCount, cb);\n return;\n }\n if (tcpRetryCount < MAX_TCP_RETRYCOUNT && requestShouldRetry(status)) {\n tcpRetryCount++;\n _requestWithRetry(options, tcpRetryCount, cb);\n return;\n }\n callback(resBody || \"error\", null, status || 500);\n } else {\n callback(null, resBody, status);\n }\n };\n } else {\n if (options.headers) {\n url = querystring.queryify(url, headers);\n }\n req.onload = function () {\n callback(null, parseBody(req.responseText), req.status);\n };\n req.onerror = function () {\n // XDomainRequest does not report a body or status for errors, so\n // hardcode to 'error' and 500, respectively\n callback(\"error\", null, 500);\n };\n\n // This must remain for IE9 to work\n req.onprogress = function () {};\n req.ontimeout = function () {\n callback(\"timeout\", null, -1);\n };\n }\n try {\n req.open(method, url, true);\n } catch (requestOpenError) {\n // If a merchant has a Content Security Policy and they have\n // not allowed our endpoints, some browsers may\n // synchronously throw an error. If it is not a GraphQL\n // request, we throw the error. If it is a GraphQL request\n // we remove the GraphQL option and try the request against\n // the old client API.\n if (!isGraphQLRequest) {\n throw requestOpenError;\n }\n delete options.graphQL;\n _requestWithRetry(options, tcpRetryCount, cb);\n return;\n }\n req.timeout = timeout;\n if (isXHRAvailable) {\n Object.keys(headers).forEach(function (headerKey) {\n req.setRequestHeader(headerKey, headers[headerKey]);\n });\n }\n try {\n req.send(prepBody(method, body));\n } catch (e) {\n /* ignored */\n }\n }\n function request(options, cb) {\n _requestWithRetry(options, 0, cb);\n }\n module.exports = {\n request: request\n };\n }, {\n \"../../lib/assign\": 41,\n \"../../lib/querystring\": 56,\n \"./default-request\": 23,\n \"./graphql/request\": 31,\n \"./parse-body\": 35,\n \"./prep-body\": 36,\n \"./xhr\": 37\n }],\n 23: [function (_dereq_, module, exports) {\n \"use strict\";\n\n function DefaultRequest(options) {\n this._url = options.url;\n this._data = options.data;\n this._method = options.method;\n this._headers = options.headers;\n }\n DefaultRequest.prototype.getUrl = function () {\n return this._url;\n };\n DefaultRequest.prototype.getBody = function () {\n return this._data;\n };\n DefaultRequest.prototype.getMethod = function () {\n return this._method;\n };\n DefaultRequest.prototype.getHeaders = function () {\n return this._headers;\n };\n DefaultRequest.prototype.adaptResponseBody = function (parsedBody) {\n return parsedBody;\n };\n DefaultRequest.prototype.determineStatus = function (status) {\n return status;\n };\n module.exports = DefaultRequest;\n }, {}],\n 24: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function getUserAgent() {\n return window.navigator.userAgent;\n };\n }, {}],\n 25: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var errorResponseAdapter = _dereq_(\"./error\");\n var assign = _dereq_(\"../../../../lib/assign\").assign;\n\n /* eslint-disable camelcase */\n var cardTypeTransforms = {\n creditCard: {\n AMERICAN_EXPRESS: \"American Express\",\n DISCOVER: \"Discover\",\n INTERNATIONAL_MAESTRO: \"Maestro\",\n JCB: \"JCB\",\n MASTERCARD: \"MasterCard\",\n SOLO: \"Solo\",\n UK_MAESTRO: \"UK Maestro\",\n UNION_PAY: \"UnionPay\",\n VISA: \"Visa\",\n ELO: \"Elo\",\n HIPER: \"Hiper\",\n HIPERCARD: \"Hipercard\"\n },\n applePayWeb: {\n VISA: \"visa\",\n MASTERCARD: \"mastercard\",\n DISCOVER: \"discover\",\n AMERICAN_EXPRESS: \"amex\",\n INTERNATIONAL_MAESTRO: \"maestro\",\n ELO: \"elo\"\n },\n visaCheckout: {\n VISA: \"Visa\",\n MASTERCARD: \"MasterCard\",\n DISCOVER: \"Discover\",\n AMERICAN_EXPRESS: \"American Express\"\n },\n googlePay: {\n VISA: \"visa\",\n MASTERCARD: \"mastercard\",\n DISCOVER: \"discover\",\n AMERICAN_EXPRESS: \"amex\",\n INTERNATIONAL_MAESTRO: \"maestro\",\n ELO: \"elo\"\n },\n masterpass: {\n VISA: \"visa\",\n MASTERCARD: \"master\",\n DISCOVER: \"discover\",\n AMERICAN_EXPRESS: \"amex\",\n DINERS: \"diners\",\n INTERNATIONAL_MAESTRO: \"maestro\",\n JCB: \"jcb\"\n }\n };\n /* eslint-enable camelcase */\n\n function configurationResponseAdapter(responseBody, ctx) {\n var adaptedResponse;\n if (responseBody.data && !responseBody.errors) {\n adaptedResponse = adaptConfigurationResponseBody(responseBody, ctx);\n } else {\n adaptedResponse = errorResponseAdapter(responseBody);\n }\n return adaptedResponse;\n }\n function adaptConfigurationResponseBody(body, ctx) {\n var configuration = body.data.clientConfiguration;\n var response;\n response = {\n environment: configuration.environment.toLowerCase(),\n clientApiUrl: configuration.clientApiUrl,\n assetsUrl: configuration.assetsUrl,\n analytics: {\n url: configuration.analyticsUrl\n },\n merchantId: configuration.merchantId,\n venmo: \"off\"\n };\n if (configuration.supportedFeatures) {\n response.graphQL = {\n url: ctx._graphQL._config.url,\n features: configuration.supportedFeatures.map(function (feature) {\n return feature.toLowerCase();\n })\n };\n }\n if (configuration.braintreeApi) {\n response.braintreeApi = configuration.braintreeApi;\n }\n if (configuration.applePayWeb) {\n response.applePayWeb = configuration.applePayWeb;\n response.applePayWeb.supportedNetworks = mapCardTypes(configuration.applePayWeb.supportedCardBrands, cardTypeTransforms.applePayWeb);\n delete response.applePayWeb.supportedCardBrands;\n }\n if (configuration.ideal) {\n response.ideal = configuration.ideal;\n }\n if (configuration.kount) {\n response.kount = {\n kountMerchantId: configuration.kount.merchantId\n };\n }\n if (configuration.creditCard) {\n response.challenges = configuration.creditCard.challenges.map(function (challenge) {\n return challenge.toLowerCase();\n });\n response.creditCards = {\n supportedCardTypes: mapCardTypes(configuration.creditCard.supportedCardBrands, cardTypeTransforms.creditCard)\n };\n response.threeDSecureEnabled = configuration.creditCard.threeDSecureEnabled;\n response.threeDSecure = configuration.creditCard.threeDSecure;\n } else {\n response.challenges = [];\n response.creditCards = {\n supportedCardTypes: []\n };\n response.threeDSecureEnabled = false;\n }\n if (configuration.googlePay) {\n response.androidPay = {\n displayName: configuration.googlePay.displayName,\n enabled: true,\n environment: configuration.googlePay.environment.toLowerCase(),\n googleAuthorizationFingerprint: configuration.googlePay.googleAuthorization,\n paypalClientId: configuration.googlePay.paypalClientId,\n supportedNetworks: mapCardTypes(configuration.googlePay.supportedCardBrands, cardTypeTransforms.googlePay)\n };\n }\n if (configuration.venmo) {\n response.payWithVenmo = {\n merchantId: configuration.venmo.merchantId,\n accessToken: configuration.venmo.accessToken,\n environment: configuration.venmo.environment.toLowerCase()\n };\n }\n if (configuration.paypal) {\n response.paypalEnabled = true;\n response.paypal = assign({}, configuration.paypal);\n response.paypal.currencyIsoCode = response.paypal.currencyCode;\n response.paypal.environment = response.paypal.environment.toLowerCase();\n delete response.paypal.currencyCode;\n } else {\n response.paypalEnabled = false;\n }\n if (configuration.unionPay) {\n response.unionPay = {\n enabled: true,\n merchantAccountId: configuration.unionPay.merchantAccountId\n };\n }\n if (configuration.visaCheckout) {\n response.visaCheckout = {\n apikey: configuration.visaCheckout.apiKey,\n encryptionKey: configuration.visaCheckout.encryptionKey,\n externalClientId: configuration.visaCheckout.externalClientId,\n supportedCardTypes: mapCardTypes(configuration.visaCheckout.supportedCardBrands, cardTypeTransforms.visaCheckout)\n };\n }\n if (configuration.masterpass) {\n response.masterpass = {\n merchantCheckoutId: configuration.masterpass.merchantCheckoutId,\n supportedNetworks: mapCardTypes(configuration.masterpass.supportedCardBrands, cardTypeTransforms.masterpass)\n };\n }\n if (configuration.usBankAccount) {\n response.usBankAccount = {\n routeId: configuration.usBankAccount.routeId,\n plaid: {\n publicKey: configuration.usBankAccount.plaidPublicKey\n }\n };\n }\n return response;\n }\n function mapCardTypes(cardTypes, cardTypeTransformMap) {\n return cardTypes.reduce(function (acc, type) {\n if (cardTypeTransformMap.hasOwnProperty(type)) {\n return acc.concat(cardTypeTransformMap[type]);\n }\n return acc;\n }, []);\n }\n module.exports = configurationResponseAdapter;\n }, {\n \"../../../../lib/assign\": 41,\n \"./error\": 27\n }],\n 26: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var errorResponseAdapter = _dereq_(\"./error\");\n var CARD_BRAND_MAP = {\n /* eslint-disable camelcase */\n AMERICAN_EXPRESS: \"American Express\",\n DINERS: \"Discover\",\n DISCOVER: \"Discover\",\n ELO: \"Elo\",\n HIPER: \"Hiper\",\n HIPERCARD: \"Hipercard\",\n INTERNATIONAL_MAESTRO: \"Maestro\",\n JCB: \"JCB\",\n MASTERCARD: \"MasterCard\",\n UK_MAESTRO: \"Maestro\",\n UNION_PAY: \"UnionPay\",\n VISA: \"Visa\"\n /* eslint-enable camelcase */\n };\n var BIN_DATA_MAP = {\n YES: \"Yes\",\n NO: \"No\",\n UNKNOWN: \"Unknown\"\n };\n var AUTHENTICATION_INSIGHT_MAP = {\n PSDTWO: \"psd2\"\n };\n function creditCardTokenizationResponseAdapter(responseBody) {\n var adaptedResponse;\n if (responseBody.data && !responseBody.errors) {\n adaptedResponse = adaptTokenizeCreditCardResponseBody(responseBody);\n } else {\n adaptedResponse = errorResponseAdapter(responseBody);\n }\n return adaptedResponse;\n }\n function adaptTokenizeCreditCardResponseBody(body) {\n var data = body.data.tokenizeCreditCard;\n var creditCard = data.creditCard;\n var lastTwo = creditCard.last4 ? creditCard.last4.substr(2, 4) : \"\";\n var binData = creditCard.binData;\n var response, regulationEnvironment;\n if (binData) {\n [\"commercial\", \"debit\", \"durbinRegulated\", \"healthcare\", \"payroll\", \"prepaid\"].forEach(function (key) {\n if (binData[key]) {\n binData[key] = BIN_DATA_MAP[binData[key]];\n } else {\n binData[key] = \"Unknown\";\n }\n });\n [\"issuingBank\", \"countryOfIssuance\", \"productId\"].forEach(function (key) {\n if (!binData[key]) {\n binData[key] = \"Unknown\";\n }\n });\n }\n response = {\n creditCards: [{\n binData: binData,\n consumed: false,\n description: lastTwo ? \"ending in \" + lastTwo : \"\",\n nonce: data.token,\n details: {\n cardholderName: creditCard.cardholderName,\n expirationMonth: creditCard.expirationMonth,\n expirationYear: creditCard.expirationYear,\n bin: creditCard.bin || \"\",\n cardType: CARD_BRAND_MAP[creditCard.brandCode] || \"Unknown\",\n lastFour: creditCard.last4 || \"\",\n lastTwo: lastTwo\n },\n type: \"CreditCard\",\n threeDSecureInfo: null\n }]\n };\n if (data.authenticationInsight) {\n regulationEnvironment = data.authenticationInsight.customerAuthenticationRegulationEnvironment;\n response.creditCards[0].authenticationInsight = {\n regulationEnvironment: AUTHENTICATION_INSIGHT_MAP[regulationEnvironment] || regulationEnvironment.toLowerCase()\n };\n }\n return response;\n }\n module.exports = creditCardTokenizationResponseAdapter;\n }, {\n \"./error\": 27\n }],\n 27: [function (_dereq_, module, exports) {\n \"use strict\";\n\n function errorResponseAdapter(responseBody) {\n var response;\n var errorClass = responseBody.errors && responseBody.errors[0] && responseBody.errors[0].extensions && responseBody.errors[0].extensions.errorClass;\n if (errorClass === \"VALIDATION\") {\n response = userErrorResponseAdapter(responseBody);\n } else if (errorClass) {\n response = errorWithClassResponseAdapter(responseBody);\n } else {\n response = {\n error: {\n message: \"There was a problem serving your request\"\n },\n fieldErrors: []\n };\n }\n return response;\n }\n function errorWithClassResponseAdapter(responseBody) {\n return {\n error: {\n message: responseBody.errors[0].message\n },\n fieldErrors: []\n };\n }\n function userErrorResponseAdapter(responseBody) {\n var fieldErrors = buildFieldErrors(responseBody.errors);\n if (fieldErrors.length === 0) {\n return {\n error: {\n message: responseBody.errors[0].message\n }\n };\n }\n return {\n error: {\n message: getLegacyMessage(fieldErrors)\n },\n fieldErrors: fieldErrors\n };\n }\n function buildFieldErrors(errors) {\n var fieldErrors = [];\n errors.forEach(function (error) {\n if (!(error.extensions && error.extensions.inputPath)) {\n return;\n }\n addFieldError(error.extensions.inputPath.slice(1), error, fieldErrors);\n });\n return fieldErrors;\n }\n function addFieldError(inputPath, errorDetail, fieldErrors) {\n var fieldError;\n var legacyCode = errorDetail.extensions.legacyCode;\n var inputField = inputPath[0];\n if (inputPath.length === 1) {\n fieldErrors.push({\n code: legacyCode,\n field: inputField,\n message: errorDetail.message\n });\n return;\n }\n fieldErrors.forEach(function (candidate) {\n if (candidate.field === inputField) {\n fieldError = candidate;\n }\n });\n if (!fieldError) {\n fieldError = {\n field: inputField,\n fieldErrors: []\n };\n fieldErrors.push(fieldError);\n }\n addFieldError(inputPath.slice(1), errorDetail, fieldError.fieldErrors);\n }\n function getLegacyMessage(errors) {\n var legacyMessages = {\n creditCard: \"Credit card is invalid\"\n };\n var field = errors[0].field;\n return legacyMessages[field];\n }\n module.exports = errorResponseAdapter;\n }, {}],\n 28: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var CONFIGURATION_QUERY = \"query ClientConfiguration { \" + \" clientConfiguration { \" + \" analyticsUrl \" + \" environment \" + \" merchantId \" + \" assetsUrl \" + \" clientApiUrl \" + \" creditCard { \" + \" supportedCardBrands \" + \" challenges \" + \" threeDSecureEnabled \" + \" threeDSecure { \" + \" cardinalAuthenticationJWT \" + \" } \" + \" } \" + \" applePayWeb { \" + \" countryCode \" + \" currencyCode \" + \" merchantIdentifier \" + \" supportedCardBrands \" + \" } \" + \" googlePay { \" + \" displayName \" + \" supportedCardBrands \" + \" environment \" + \" googleAuthorization \" + \" paypalClientId \" + \" } \" + \" ideal { \" + \" routeId \" + \" assetsUrl \" + \" } \" + \" kount { \" + \" merchantId \" + \" } \" + \" masterpass { \" + \" merchantCheckoutId \" + \" supportedCardBrands \" + \" } \" + \" paypal { \" + \" displayName \" + \" clientId \" + \" privacyUrl \" + \" userAgreementUrl \" + \" assetsUrl \" + \" environment \" + \" environmentNoNetwork \" + \" unvettedMerchant \" + \" braintreeClientId \" + \" billingAgreementsEnabled \" + \" merchantAccountId \" + \" currencyCode \" + \" payeeEmail \" + \" } \" + \" unionPay { \" + \" merchantAccountId \" + \" } \" + \" usBankAccount { \" + \" routeId \" + \" plaidPublicKey \" + \" } \" + \" venmo { \" + \" merchantId \" + \" accessToken \" + \" environment \" + \" } \" + \" visaCheckout { \" + \" apiKey \" + \" externalClientId \" + \" supportedCardBrands \" + \" } \" + \" braintreeApi { \" + \" accessToken \" + \" url \" + \" } \" + \" supportedFeatures \" + \" } \" + \"}\";\n function configuration() {\n return {\n query: CONFIGURATION_QUERY,\n operationName: \"ClientConfiguration\"\n };\n }\n module.exports = configuration;\n }, {}],\n 29: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var assign = _dereq_(\"../../../../lib/assign\").assign;\n function createMutation(config) {\n var hasAuthenticationInsight = config.hasAuthenticationInsight;\n var mutation = \"mutation TokenizeCreditCard($input: TokenizeCreditCardInput!\";\n if (hasAuthenticationInsight) {\n mutation += \", $authenticationInsightInput: AuthenticationInsightInput!\";\n }\n mutation += \") { \" + \" tokenizeCreditCard(input: $input) { \" + \" token \" + \" creditCard { \" + \" bin \" + \" brandCode \" + \" last4 \" + \" cardholderName \" + \" expirationMonth\" + \" expirationYear\" + \" binData { \" + \" prepaid \" + \" healthcare \" + \" debit \" + \" durbinRegulated \" + \" commercial \" + \" payroll \" + \" issuingBank \" + \" countryOfIssuance \" + \" productId \" + \" } \" + \" } \";\n if (hasAuthenticationInsight) {\n mutation += \" authenticationInsight(input: $authenticationInsightInput) {\" + \" customerAuthenticationRegulationEnvironment\" + \" }\";\n }\n mutation += \" } }\";\n return mutation;\n }\n function createCreditCardTokenizationBody(body, options) {\n var cc = body.creditCard;\n var billingAddress = cc && cc.billingAddress;\n var expDate = cc && cc.expirationDate;\n var expirationMonth = cc && (cc.expirationMonth || expDate && expDate.split(\"/\")[0].trim());\n var expirationYear = cc && (cc.expirationYear || expDate && expDate.split(\"/\")[1].trim());\n var variables = {\n input: {\n creditCard: {\n number: cc && cc.number,\n expirationMonth: expirationMonth,\n expirationYear: expirationYear,\n cvv: cc && cc.cvv,\n cardholderName: cc && cc.cardholderName\n },\n options: {}\n }\n };\n if (options.hasAuthenticationInsight) {\n variables.authenticationInsightInput = {\n merchantAccountId: body.merchantAccountId\n };\n }\n if (billingAddress) {\n variables.input.creditCard.billingAddress = billingAddress;\n }\n variables.input = addValidationRule(body, variables.input);\n return variables;\n }\n function addValidationRule(body, input) {\n var validate;\n if (body.creditCard && body.creditCard.options && typeof body.creditCard.options.validate === \"boolean\") {\n validate = body.creditCard.options.validate;\n } else if (body.authorizationFingerprint && body.tokenizationKey || body.authorizationFingerprint) {\n validate = true;\n } else if (body.tokenizationKey) {\n validate = false;\n }\n if (typeof validate === \"boolean\") {\n input.options = assign({\n validate: validate\n }, input.options);\n }\n return input;\n }\n function creditCardTokenization(body) {\n var options = {\n hasAuthenticationInsight: Boolean(body.authenticationInsight && body.merchantAccountId)\n };\n return {\n query: createMutation(options),\n variables: createCreditCardTokenizationBody(body, options),\n operationName: \"TokenizeCreditCard\"\n };\n }\n module.exports = creditCardTokenization;\n }, {\n \"../../../../lib/assign\": 41\n }],\n 30: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var browserDetection = _dereq_(\"../../browser-detection\");\n var features = {\n tokenize_credit_cards: \"payment_methods/credit_cards\",\n // eslint-disable-line camelcase\n configuration: \"configuration\"\n };\n var disallowedInputPaths = [\"creditCard.options.unionPayEnrollment\"];\n function GraphQL(config) {\n this._config = config.graphQL;\n }\n GraphQL.prototype.getGraphQLEndpoint = function () {\n return this._config.url;\n };\n GraphQL.prototype.isGraphQLRequest = function (url, body) {\n var featureEnabled;\n var path = this.getClientApiPath(url);\n if (!this._isGraphQLEnabled() || !path || browserDetection.isIe9()) {\n return false;\n }\n featureEnabled = this._config.features.some(function (feature) {\n return features[feature] === path;\n });\n if (containsDisallowedlistedKeys(body)) {\n return false;\n }\n return featureEnabled;\n };\n GraphQL.prototype.getClientApiPath = function (url) {\n var path;\n var clientApiPrefix = \"/client_api/v1/\";\n var pathParts = url.split(clientApiPrefix);\n if (pathParts.length > 1) {\n path = pathParts[1].split(\"?\")[0];\n }\n return path;\n };\n GraphQL.prototype._isGraphQLEnabled = function () {\n return Boolean(this._config);\n };\n function containsDisallowedlistedKeys(body) {\n return disallowedInputPaths.some(function (keys) {\n var value = keys.split(\".\").reduce(function (accumulator, key) {\n return accumulator && accumulator[key];\n }, body);\n return value !== undefined; // eslint-disable-line no-undefined\n });\n }\n module.exports = GraphQL;\n }, {\n \"../../browser-detection\": 16\n }],\n 31: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var BRAINTREE_VERSION = _dereq_(\"../../constants\").BRAINTREE_VERSION;\n var assign = _dereq_(\"../../../lib/assign\").assign;\n var snakeCaseToCamelCase = _dereq_(\"../../../lib/snake-case-to-camel-case\");\n var creditCardTokenizationBodyGenerator = _dereq_(\"./generators/credit-card-tokenization\");\n var creditCardTokenizationResponseAdapter = _dereq_(\"./adapters/credit-card-tokenization\");\n var configurationBodyGenerator = _dereq_(\"./generators/configuration\");\n var configurationResponseAdapter = _dereq_(\"./adapters/configuration\");\n var generators = {\n \"payment_methods/credit_cards\": creditCardTokenizationBodyGenerator,\n configuration: configurationBodyGenerator\n };\n var adapters = {\n \"payment_methods/credit_cards\": creditCardTokenizationResponseAdapter,\n configuration: configurationResponseAdapter\n };\n function GraphQLRequest(options) {\n var clientApiPath = options.graphQL.getClientApiPath(options.url);\n this._graphQL = options.graphQL;\n this._data = options.data;\n this._method = options.method;\n this._headers = options.headers;\n this._clientSdkMetadata = {\n source: options.metadata.source,\n integration: options.metadata.integration,\n sessionId: options.metadata.sessionId\n };\n this._sendAnalyticsEvent = options.sendAnalyticsEvent || Function.prototype;\n this._generator = generators[clientApiPath];\n this._adapter = adapters[clientApiPath];\n this._sendAnalyticsEvent(\"graphql.init\");\n }\n GraphQLRequest.prototype.getUrl = function () {\n return this._graphQL.getGraphQLEndpoint();\n };\n GraphQLRequest.prototype.getBody = function () {\n var formattedBody = formatBodyKeys(this._data);\n var generatedBody = this._generator(formattedBody);\n var body = assign({\n clientSdkMetadata: this._clientSdkMetadata\n }, generatedBody);\n return JSON.stringify(body);\n };\n GraphQLRequest.prototype.getMethod = function () {\n return \"POST\";\n };\n GraphQLRequest.prototype.getHeaders = function () {\n var authorization, headers;\n if (this._data.authorizationFingerprint) {\n this._sendAnalyticsEvent(\"graphql.authorization-fingerprint\");\n authorization = this._data.authorizationFingerprint;\n } else {\n this._sendAnalyticsEvent(\"graphql.tokenization-key\");\n authorization = this._data.tokenizationKey;\n }\n headers = {\n Authorization: \"Bearer \" + authorization,\n \"Braintree-Version\": BRAINTREE_VERSION\n };\n return assign({}, this._headers, headers);\n };\n GraphQLRequest.prototype.adaptResponseBody = function (parsedBody) {\n return this._adapter(parsedBody, this);\n };\n GraphQLRequest.prototype.determineStatus = function (httpStatus, parsedResponse) {\n var status, errorClass;\n if (httpStatus === 200) {\n errorClass = parsedResponse.errors && parsedResponse.errors[0] && parsedResponse.errors[0].extensions && parsedResponse.errors[0].extensions.errorClass;\n if (parsedResponse.data && !parsedResponse.errors) {\n status = 200;\n } else if (errorClass === \"VALIDATION\") {\n status = 422;\n } else if (errorClass === \"AUTHORIZATION\") {\n status = 403;\n } else if (errorClass === \"AUTHENTICATION\") {\n status = 401;\n } else if (isGraphQLError(errorClass, parsedResponse)) {\n status = 403;\n } else {\n status = 500;\n }\n } else if (!httpStatus) {\n status = 500;\n } else {\n status = httpStatus;\n }\n this._sendAnalyticsEvent(\"graphql.status.\" + httpStatus);\n this._sendAnalyticsEvent(\"graphql.determinedStatus.\" + status);\n return status;\n };\n function isGraphQLError(errorClass, parsedResponse) {\n return !errorClass && parsedResponse.errors[0].message;\n }\n function formatBodyKeys(originalBody) {\n var body = {};\n Object.keys(originalBody).forEach(function (key) {\n var camelCaseKey = snakeCaseToCamelCase(key);\n if (typeof originalBody[key] === \"object\") {\n body[camelCaseKey] = formatBodyKeys(originalBody[key]);\n } else if (typeof originalBody[key] === \"number\") {\n body[camelCaseKey] = String(originalBody[key]);\n } else {\n body[camelCaseKey] = originalBody[key];\n }\n });\n return body;\n }\n module.exports = GraphQLRequest;\n }, {\n \"../../../lib/assign\": 41,\n \"../../../lib/snake-case-to-camel-case\": 57,\n \"../../constants\": 18,\n \"./adapters/configuration\": 25,\n \"./adapters/credit-card-tokenization\": 26,\n \"./generators/configuration\": 28,\n \"./generators/credit-card-tokenization\": 29\n }],\n 32: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var ajaxIsAvaliable;\n var once = _dereq_(\"../../lib/once\");\n var JSONPDriver = _dereq_(\"./jsonp-driver\");\n var AJAXDriver = _dereq_(\"./ajax-driver\");\n var getUserAgent = _dereq_(\"./get-user-agent\");\n var isHTTP = _dereq_(\"./is-http\");\n function isAjaxAvailable() {\n if (ajaxIsAvaliable == null) {\n ajaxIsAvaliable = !(isHTTP() && /MSIE\\s(8|9)/.test(getUserAgent()));\n }\n return ajaxIsAvaliable;\n }\n module.exports = function (options, cb) {\n cb = once(cb || Function.prototype);\n options.method = (options.method || \"GET\").toUpperCase();\n options.timeout = options.timeout == null ? 60000 : options.timeout;\n options.data = options.data || {};\n if (isAjaxAvailable()) {\n AJAXDriver.request(options, cb);\n } else {\n JSONPDriver.request(options, cb);\n }\n };\n }, {\n \"../../lib/once\": 54,\n \"./ajax-driver\": 22,\n \"./get-user-agent\": 24,\n \"./is-http\": 33,\n \"./jsonp-driver\": 34\n }],\n 33: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function () {\n return window.location.protocol === \"http:\";\n };\n }, {}],\n 34: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var head;\n var uuid = _dereq_(\"@braintree/uuid\");\n var querystring = _dereq_(\"../../lib/querystring\");\n var timeouts = {};\n function _removeScript(script) {\n if (script && script.parentNode) {\n script.parentNode.removeChild(script);\n }\n }\n function _createScriptTag(url, callbackName) {\n var script = document.createElement(\"script\");\n var done = false;\n script.src = url;\n script.async = true;\n script.onerror = function () {\n window[callbackName]({\n message: \"error\",\n status: 500\n });\n };\n script.onload = script.onreadystatechange = function () {\n if (done) {\n return;\n }\n if (!this.readyState || this.readyState === \"loaded\" || this.readyState === \"complete\") {\n done = true;\n script.onload = script.onreadystatechange = null;\n }\n };\n return script;\n }\n function _cleanupGlobal(callbackName) {\n try {\n delete window[callbackName];\n } catch (_) {\n window[callbackName] = null;\n }\n }\n function _setupTimeout(timeout, callbackName) {\n timeouts[callbackName] = setTimeout(function () {\n timeouts[callbackName] = null;\n window[callbackName]({\n error: \"timeout\",\n status: -1\n });\n window[callbackName] = function () {\n _cleanupGlobal(callbackName);\n };\n }, timeout);\n }\n function _setupGlobalCallback(script, callback, callbackName) {\n window[callbackName] = function (response) {\n var status = response.status || 500;\n var err = null;\n var data = null;\n delete response.status;\n if (status >= 400 || status < 200) {\n err = response;\n } else {\n data = response;\n }\n _cleanupGlobal(callbackName);\n _removeScript(script);\n clearTimeout(timeouts[callbackName]);\n callback(err, data, status);\n };\n }\n function request(options, callback) {\n var script;\n var callbackName = \"callback_json_\" + uuid().replace(/-/g, \"\");\n var url = options.url;\n var attrs = options.data;\n var method = options.method;\n var timeout = options.timeout;\n url = querystring.queryify(url, attrs);\n url = querystring.queryify(url, {\n _method: method,\n callback: callbackName\n });\n script = _createScriptTag(url, callbackName);\n _setupGlobalCallback(script, callback, callbackName);\n _setupTimeout(timeout, callbackName);\n if (!head) {\n head = document.getElementsByTagName(\"head\")[0];\n }\n head.appendChild(script);\n }\n module.exports = {\n request: request\n };\n }, {\n \"../../lib/querystring\": 56,\n \"@braintree/uuid\": 10\n }],\n 35: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (body) {\n try {\n body = JSON.parse(body);\n } catch (e) {\n /* ignored */\n }\n return body;\n };\n }, {}],\n 36: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (method, body) {\n if (typeof method !== \"string\") {\n throw new Error(\"Method must be a string\");\n }\n if (method.toLowerCase() !== \"get\" && body != null) {\n body = typeof body === \"string\" ? body : JSON.stringify(body);\n }\n return body;\n };\n }, {}],\n 37: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var isXHRAvailable = typeof window !== \"undefined\" && window.XMLHttpRequest && \"withCredentials\" in new window.XMLHttpRequest();\n function getRequestObject() {\n return isXHRAvailable ? new window.XMLHttpRequest() : new window.XDomainRequest();\n }\n module.exports = {\n isAvailable: isXHRAvailable,\n getRequestObject: getRequestObject\n };\n }, {}],\n 38: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var createAuthorizationData = _dereq_(\"./create-authorization-data\");\n var jsonClone = _dereq_(\"./json-clone\");\n var constants = _dereq_(\"./constants\");\n function addMetadata(configuration, data) {\n var key;\n var attrs = data ? jsonClone(data) : {};\n var authAttrs = createAuthorizationData(configuration.authorization).attrs;\n var _meta = jsonClone(configuration.analyticsMetadata);\n attrs.braintreeLibraryVersion = constants.BRAINTREE_LIBRARY_VERSION;\n for (key in attrs._meta) {\n if (attrs._meta.hasOwnProperty(key)) {\n _meta[key] = attrs._meta[key];\n }\n }\n attrs._meta = _meta;\n if (authAttrs.tokenizationKey) {\n attrs.tokenizationKey = authAttrs.tokenizationKey;\n } else {\n attrs.authorizationFingerprint = authAttrs.authorizationFingerprint;\n }\n return attrs;\n }\n module.exports = addMetadata;\n }, {\n \"./constants\": 43,\n \"./create-authorization-data\": 46,\n \"./json-clone\": 52\n }],\n 39: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var Promise = _dereq_(\"./promise\");\n var constants = _dereq_(\"./constants\");\n var addMetadata = _dereq_(\"./add-metadata\");\n function sendAnalyticsEvent(clientInstanceOrPromise, kind, callback) {\n var timestamp = Date.now(); // milliseconds\n\n return Promise.resolve(clientInstanceOrPromise).then(function (client) {\n var timestampInPromise = Date.now();\n var configuration = client.getConfiguration();\n var request = client._request;\n var url = configuration.gatewayConfiguration.analytics.url;\n var data = {\n analytics: [{\n kind: constants.ANALYTICS_PREFIX + kind,\n isAsync: Math.floor(timestampInPromise / 1000) !== Math.floor(timestamp / 1000),\n timestamp: timestamp\n }]\n };\n request({\n url: url,\n method: \"post\",\n data: addMetadata(configuration, data),\n timeout: constants.ANALYTICS_REQUEST_TIMEOUT_MS\n }, callback);\n }).catch(function (err) {\n // for all non-test cases, we don't provide a callback,\n // so this error will always be swallowed. In this case,\n // that's fine, it should only error when the deferred\n // client fails to set up, in which case we don't want\n // that error to report over and over again via these\n // deferred analytics events\n if (callback) {\n callback(err);\n }\n });\n }\n module.exports = {\n sendEvent: sendAnalyticsEvent\n };\n }, {\n \"./add-metadata\": 38,\n \"./constants\": 43,\n \"./promise\": 55\n }],\n 40: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var loadScript = _dereq_(\"@braintree/asset-loader/load-script\");\n module.exports = {\n loadScript: loadScript\n };\n }, {\n \"@braintree/asset-loader/load-script\": 3\n }],\n 41: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var assignNormalized = typeof Object.assign === \"function\" ? Object.assign : assignPolyfill;\n function assignPolyfill(destination) {\n var i, source, key;\n for (i = 1; i < arguments.length; i++) {\n source = arguments[i];\n for (key in source) {\n if (source.hasOwnProperty(key)) {\n destination[key] = source[key];\n }\n }\n }\n return destination;\n }\n module.exports = {\n assign: assignNormalized,\n _assign: assignPolyfill\n };\n }, {}],\n 42: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var enumerate = _dereq_(\"./enumerate\");\n\n /**\n * @class\n * @global\n * @param {object} options Construction options\n * @classdesc This class is used to report error conditions, frequently as the first parameter to callbacks throughout the Braintree SDK.\n * @description You cannot use this constructor directly. Interact with instances of this class through {@link callback callbacks}.\n */\n function BraintreeError(options) {\n if (!BraintreeError.types.hasOwnProperty(options.type)) {\n throw new Error(options.type + \" is not a valid type.\");\n }\n if (!options.code) {\n throw new Error(\"Error code required.\");\n }\n if (!options.message) {\n throw new Error(\"Error message required.\");\n }\n this.name = \"BraintreeError\";\n\n /**\n * @type {string}\n * @description A code that corresponds to specific errors.\n */\n this.code = options.code;\n\n /**\n * @type {string}\n * @description A short description of the error.\n */\n this.message = options.message;\n\n /**\n * @type {BraintreeError.types}\n * @description The type of error.\n */\n this.type = options.type;\n\n /**\n * @type {object=}\n * @description Additional information about the error, such as an underlying network error response.\n */\n this.details = options.details;\n }\n BraintreeError.prototype = Object.create(Error.prototype);\n BraintreeError.prototype.constructor = BraintreeError;\n\n /**\n * Enum for {@link BraintreeError} types.\n * @name BraintreeError.types\n * @enum\n * @readonly\n * @memberof BraintreeError\n * @property {string} CUSTOMER An error caused by the customer.\n * @property {string} MERCHANT An error that is actionable by the merchant.\n * @property {string} NETWORK An error due to a network problem.\n * @property {string} INTERNAL An error caused by Braintree code.\n * @property {string} UNKNOWN An error where the origin is unknown.\n */\n BraintreeError.types = enumerate([\"CUSTOMER\", \"MERCHANT\", \"NETWORK\", \"INTERNAL\", \"UNKNOWN\"]);\n BraintreeError.findRootError = function (err) {\n if (err instanceof BraintreeError && err.details && err.details.originalError) {\n return BraintreeError.findRootError(err.details.originalError);\n }\n return err;\n };\n module.exports = BraintreeError;\n }, {\n \"./enumerate\": 48\n }],\n 43: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var VERSION = \"3.88.5\";\n var PLATFORM = \"web\";\n var CLIENT_API_URLS = {\n production: \"https://api.braintreegateway.com:443\",\n sandbox: \"https://api.sandbox.braintreegateway.com:443\"\n };\n var ASSETS_URLS = {\n production: \"https://assets.braintreegateway.com\",\n sandbox: \"https://assets.braintreegateway.com\"\n };\n var GRAPHQL_URLS = {\n production: \"https://payments.braintree-api.com/graphql\",\n sandbox: \"https://payments.sandbox.braintree-api.com/graphql\"\n };\n\n // endRemoveIf(production)\n\n module.exports = {\n ANALYTICS_PREFIX: PLATFORM + \".\",\n ANALYTICS_REQUEST_TIMEOUT_MS: 2000,\n ASSETS_URLS: ASSETS_URLS,\n CLIENT_API_URLS: CLIENT_API_URLS,\n FRAUDNET_SOURCE: \"BRAINTREE_SIGNIN\",\n FRAUDNET_FNCLS: \"fnparams-dede7cc5-15fd-4c75-a9f4-36c430ee3a99\",\n FRAUDNET_URL: \"https://c.paypal.com/da/r/fb.js\",\n BUS_CONFIGURATION_REQUEST_EVENT: \"BUS_CONFIGURATION_REQUEST\",\n GRAPHQL_URLS: GRAPHQL_URLS,\n INTEGRATION_TIMEOUT_MS: 60000,\n VERSION: VERSION,\n INTEGRATION: \"custom\",\n SOURCE: \"client\",\n PLATFORM: PLATFORM,\n BRAINTREE_LIBRARY_VERSION: \"braintree/\" + PLATFORM + \"/\" + VERSION\n };\n }, {}],\n 44: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var BraintreeError = _dereq_(\"./braintree-error\");\n var sharedErrors = _dereq_(\"./errors\");\n module.exports = function (instance, methodNames) {\n methodNames.forEach(function (methodName) {\n instance[methodName] = function () {\n throw new BraintreeError({\n type: sharedErrors.METHOD_CALLED_AFTER_TEARDOWN.type,\n code: sharedErrors.METHOD_CALLED_AFTER_TEARDOWN.code,\n message: methodName + \" cannot be called after teardown.\"\n });\n };\n });\n };\n }, {\n \"./braintree-error\": 42,\n \"./errors\": 49\n }],\n 45: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var BraintreeError = _dereq_(\"./braintree-error\");\n function convertToBraintreeError(originalErr, btErrorObject) {\n if (originalErr instanceof BraintreeError) {\n return originalErr;\n }\n return new BraintreeError({\n type: btErrorObject.type,\n code: btErrorObject.code,\n message: btErrorObject.message,\n details: {\n originalError: originalErr\n }\n });\n }\n module.exports = convertToBraintreeError;\n }, {\n \"./braintree-error\": 42\n }],\n 46: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var atob = _dereq_(\"../lib/vendor/polyfill\").atob;\n var CLIENT_API_URLS = _dereq_(\"../lib/constants\").CLIENT_API_URLS;\n function _isTokenizationKey(str) {\n return /^[a-zA-Z0-9]+_[a-zA-Z0-9]+_[a-zA-Z0-9_]+$/.test(str);\n }\n function _parseTokenizationKey(tokenizationKey) {\n var tokens = tokenizationKey.split(\"_\");\n var environment = tokens[0];\n var merchantId = tokens.slice(2).join(\"_\");\n return {\n merchantId: merchantId,\n environment: environment\n };\n }\n function createAuthorizationData(authorization) {\n var parsedClientToken, parsedTokenizationKey;\n var data = {\n attrs: {},\n configUrl: \"\"\n };\n if (_isTokenizationKey(authorization)) {\n parsedTokenizationKey = _parseTokenizationKey(authorization);\n data.environment = parsedTokenizationKey.environment;\n data.attrs.tokenizationKey = authorization;\n data.configUrl = CLIENT_API_URLS[parsedTokenizationKey.environment] + \"/merchants/\" + parsedTokenizationKey.merchantId + \"/client_api/v1/configuration\";\n } else {\n parsedClientToken = JSON.parse(atob(authorization));\n data.environment = parsedClientToken.environment;\n data.attrs.authorizationFingerprint = parsedClientToken.authorizationFingerprint;\n data.configUrl = parsedClientToken.configUrl;\n data.graphQL = parsedClientToken.graphQL;\n }\n return data;\n }\n module.exports = createAuthorizationData;\n }, {\n \"../lib/constants\": 43,\n \"../lib/vendor/polyfill\": 58\n }],\n 47: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (fn) {\n return function () {\n // IE9 doesn't support passing arguments to setTimeout so we have to emulate it.\n var args = arguments;\n setTimeout(function () {\n fn.apply(null, args);\n }, 1);\n };\n };\n }, {}],\n 48: [function (_dereq_, module, exports) {\n \"use strict\";\n\n function enumerate(values, prefix) {\n prefix = prefix == null ? \"\" : prefix;\n return values.reduce(function (enumeration, value) {\n enumeration[value] = prefix + value;\n return enumeration;\n }, {});\n }\n module.exports = enumerate;\n }, {}],\n 49: [function (_dereq_, module, exports) {\n \"use strict\";\n\n /**\n * @name BraintreeError.Shared Internal Error Codes\n * @ignore\n * @description These codes should never be experienced by the merchant directly.\n * @property {INTERNAL} INVALID_USE_OF_INTERNAL_FUNCTION Occurs when the client is created without a gateway configuration. Should never happen.\n */\n\n /**\n * @name BraintreeError.Shared Errors - Component Creation Error Codes\n * @description Errors that occur when creating components.\n * @property {MERCHANT} INSTANTIATION_OPTION_REQUIRED Occurs when a component is created that is missing a required option.\n * @property {MERCHANT} INCOMPATIBLE_VERSIONS Occurs when a component is created with a client with a different version than the component.\n * @property {NETWORK} CLIENT_SCRIPT_FAILED_TO_LOAD Occurs when a component attempts to load the Braintree client script, but the request fails.\n */\n\n /**\n * @name BraintreeError.Shared Errors - Component Instance Error Codes\n * @description Errors that occur when using instances of components.\n * @property {MERCHANT} METHOD_CALLED_AFTER_TEARDOWN Occurs when a method is called on a component instance after it has been torn down.\n */\n var BraintreeError = _dereq_(\"./braintree-error\");\n module.exports = {\n INVALID_USE_OF_INTERNAL_FUNCTION: {\n type: BraintreeError.types.INTERNAL,\n code: \"INVALID_USE_OF_INTERNAL_FUNCTION\"\n },\n INSTANTIATION_OPTION_REQUIRED: {\n type: BraintreeError.types.MERCHANT,\n code: \"INSTANTIATION_OPTION_REQUIRED\"\n },\n INCOMPATIBLE_VERSIONS: {\n type: BraintreeError.types.MERCHANT,\n code: \"INCOMPATIBLE_VERSIONS\"\n },\n CLIENT_SCRIPT_FAILED_TO_LOAD: {\n type: BraintreeError.types.NETWORK,\n code: \"CLIENT_SCRIPT_FAILED_TO_LOAD\",\n message: \"Braintree client script could not be loaded.\"\n },\n METHOD_CALLED_AFTER_TEARDOWN: {\n type: BraintreeError.types.MERCHANT,\n code: \"METHOD_CALLED_AFTER_TEARDOWN\"\n }\n };\n }, {\n \"./braintree-error\": 42\n }],\n 50: [function (_dereq_, module, exports) {\n \"use strict\";\n\n function convertDateStringToDate(dateString) {\n var splitDate = dateString.split(\"-\");\n return new Date(splitDate[0], splitDate[1], splitDate[2]);\n }\n function isDateStringBeforeOrOn(firstDate, secondDate) {\n return convertDateStringToDate(firstDate) <= convertDateStringToDate(secondDate);\n }\n module.exports = isDateStringBeforeOrOn;\n }, {}],\n 51: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var parser;\n var legalHosts = {\n \"paypal.com\": 1,\n \"braintreepayments.com\": 1,\n \"braintreegateway.com\": 1,\n \"braintree-api.com\": 1\n };\n\n // endRemoveIf(production)\n\n function stripSubdomains(domain) {\n return domain.split(\".\").slice(-2).join(\".\");\n }\n function isVerifiedDomain(url) {\n var mainDomain;\n url = url.toLowerCase();\n if (!/^https:/.test(url)) {\n return false;\n }\n parser = parser || document.createElement(\"a\");\n parser.href = url;\n mainDomain = stripSubdomains(parser.hostname);\n return legalHosts.hasOwnProperty(mainDomain);\n }\n module.exports = isVerifiedDomain;\n }, {}],\n 52: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (value) {\n return JSON.parse(JSON.stringify(value));\n };\n }, {}],\n 53: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (obj) {\n return Object.keys(obj).filter(function (key) {\n return typeof obj[key] === \"function\";\n });\n };\n }, {}],\n 54: [function (_dereq_, module, exports) {\n \"use strict\";\n\n function once(fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(null, arguments);\n }\n };\n }\n module.exports = once;\n }, {}],\n 55: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var PromisePolyfill = _dereq_(\"promise-polyfill\");\n var ExtendedPromise = _dereq_(\"@braintree/extended-promise\");\n\n // eslint-disable-next-line no-undef\n var PromiseGlobal = typeof Promise !== \"undefined\" ? Promise : PromisePolyfill;\n ExtendedPromise.suppressUnhandledPromiseMessage = true;\n ExtendedPromise.setPromise(PromiseGlobal);\n module.exports = PromiseGlobal;\n }, {\n \"@braintree/extended-promise\": 9,\n \"promise-polyfill\": 15\n }],\n 56: [function (_dereq_, module, exports) {\n \"use strict\";\n\n function _notEmpty(obj) {\n var key;\n for (key in obj) {\n if (obj.hasOwnProperty(key)) {\n return true;\n }\n }\n return false;\n }\n\n /* eslint-disable no-mixed-operators */\n function _isArray(value) {\n return value && typeof value === \"object\" && typeof value.length === \"number\" && Object.prototype.toString.call(value) === \"[object Array]\" || false;\n }\n /* eslint-enable no-mixed-operators */\n\n function hasQueryParams(url) {\n url = url || window.location.href;\n return /\\?/.test(url);\n }\n function parse(url) {\n var query, params;\n url = url || window.location.href;\n if (!hasQueryParams(url)) {\n return {};\n }\n query = url.split(\"?\")[1] || \"\";\n query = query.replace(/#.*$/, \"\").split(\"&\");\n params = query.reduce(function (toReturn, keyValue) {\n var parts = keyValue.split(\"=\");\n var key = decodeURIComponent(parts[0]);\n var value = decodeURIComponent(parts[1]);\n toReturn[key] = value;\n return toReturn;\n }, {});\n return params;\n }\n function stringify(params, namespace) {\n var k, v, p;\n var query = [];\n for (p in params) {\n if (!params.hasOwnProperty(p)) {\n continue;\n }\n v = params[p];\n if (namespace) {\n if (_isArray(params)) {\n k = namespace + \"[]\";\n } else {\n k = namespace + \"[\" + p + \"]\";\n }\n } else {\n k = p;\n }\n if (typeof v === \"object\") {\n query.push(stringify(v, k));\n } else {\n query.push(encodeURIComponent(k) + \"=\" + encodeURIComponent(v));\n }\n }\n return query.join(\"&\");\n }\n function queryify(url, params) {\n url = url || \"\";\n if (params != null && typeof params === \"object\" && _notEmpty(params)) {\n url += url.indexOf(\"?\") === -1 ? \"?\" : \"\";\n url += url.indexOf(\"=\") !== -1 ? \"&\" : \"\";\n url += stringify(params);\n }\n return url;\n }\n module.exports = {\n parse: parse,\n stringify: stringify,\n queryify: queryify,\n hasQueryParams: hasQueryParams\n };\n }, {}],\n 57: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (snakeString) {\n if (snakeString.indexOf(\"_\") === -1) {\n return snakeString;\n }\n return snakeString.toLowerCase().replace(/(\\_\\w)/g, function (match) {\n return match[1].toUpperCase();\n });\n };\n }, {}],\n 58: [function (_dereq_, module, exports) {\n \"use strict\";\n\n // NEXT_MAJOR_VERSION old versions of IE don't have atob, in the\n // next major version, we're dropping support for those versions\n // so we can eliminate the need to have this atob polyfill\n var atobNormalized = typeof atob === \"function\" ? atob : atobPolyfill;\n function atobPolyfill(base64String) {\n var a, b, c, b1, b2, b3, b4, i;\n var base64Matcher = new RegExp(\"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})([=]{1,2})?$\");\n var characters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n var result = \"\";\n if (!base64Matcher.test(base64String)) {\n throw new Error(\"Non base64 encoded input passed to window.atob polyfill\");\n }\n i = 0;\n do {\n b1 = characters.indexOf(base64String.charAt(i++));\n b2 = characters.indexOf(base64String.charAt(i++));\n b3 = characters.indexOf(base64String.charAt(i++));\n b4 = characters.indexOf(base64String.charAt(i++));\n a = (b1 & 0x3f) << 2 | b2 >> 4 & 0x3;\n b = (b2 & 0xf) << 4 | b3 >> 2 & 0xf;\n c = (b3 & 0x3) << 6 | b4 & 0x3f;\n result += String.fromCharCode(a) + (b ? String.fromCharCode(b) : \"\") + (c ? String.fromCharCode(c) : \"\");\n } while (i < base64String.length);\n return result;\n }\n module.exports = {\n atob: function (base64String) {\n return atobNormalized.call(window, base64String);\n },\n _atob: atobPolyfill\n };\n }, {}]\n }, {}, [21])(21);\n});","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = {\n callback: callback,\n args: args\n };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n function installNextTickImplementation() {\n registerImmediate = function (handle) {\n process.nextTick(function () {\n runIfPresent(handle);\n });\n };\n }\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function () {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function (event) {\n if (event.source === global && typeof event.data === \"string\" && event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n registerImmediate = function (handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function (event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n registerImmediate = function (handle) {\n channel.port2.postMessage(handle);\n };\n }\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function (handle) {\n // Create a