UNPKG

@cybersource/flex-sdk-web

Version:
11 lines 23.2 kB
/*! flex-sdk-web.js v0.3.1 | (c) CyberSource 2020 */ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.FLEX=t():e.FLEX=t()}(this,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=7)}([function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e){e.exports=JSON.parse('{"a":"0.3.1"}')},function(e,t,n){(function(r,o){var i,a,c,u; /*! Native Promise Only v0.8.1 (c) Kyle Simpson MIT License: http://getify.mit-license.org */u=function(){"use strict";var e,t,n,r=Object.prototype.toString,i=void 0!==o?function(e){return o(e)}:setTimeout;try{Object.defineProperty({},"x",{}),e=function(e,t,n,r){return Object.defineProperty(e,t,{value:n,writable:!0,configurable:!1!==r})}}catch(t){e=function(e,t,n){return e[t]=n,e}}function a(e,r){n.add(e,r),t||(t=i(n.drain))}function c(e){var t,n=typeof e;return null==e||"object"!=n&&"function"!=n||(t=e.then),"function"==typeof t&&t}function u(){for(var e=0;e<this.chain.length;e++)s(this,1===this.state?this.chain[e].success:this.chain[e].failure,this.chain[e]);this.chain.length=0}function s(e,t,n){var r,o;try{!1===t?n.reject(e.msg):(r=!0===t?e.msg:t.call(void 0,e.msg))===n.promise?n.reject(TypeError("Promise-chain cycle")):(o=c(r))?o.call(r,n.resolve,n.reject):n.resolve(r)}catch(e){n.reject(e)}}function f(e){var t,n=this;if(!n.triggered){n.triggered=!0,n.def&&(n=n.def);try{(t=c(e))?a((function(){var r=new y(n);try{t.call(e,(function(){f.apply(r,arguments)}),(function(){l.apply(r,arguments)}))}catch(e){l.call(r,e)}})):(n.msg=e,n.state=1,n.chain.length>0&&a(u,n))}catch(e){l.call(new y(n),e)}}}function l(e){var t=this;t.triggered||(t.triggered=!0,t.def&&(t=t.def),t.msg=e,t.state=2,t.chain.length>0&&a(u,t))}function p(e,t,n,r){for(var o=0;o<t.length;o++)!function(o){e.resolve(t[o]).then((function(e){n(o,e)}),r)}(o)}function y(e){this.def=e,this.triggered=!1}function h(e){this.promise=e,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function d(e){if("function"!=typeof e)throw TypeError("Not a function");if(0!==this.__NPO__)throw TypeError("Not a promise");this.__NPO__=1;var t=new h(this);this.then=function(e,n){var r={success:"function"!=typeof e||e,failure:"function"==typeof n&&n};return r.promise=new this.constructor((function(e,t){if("function"!=typeof e||"function"!=typeof t)throw TypeError("Not a function");r.resolve=e,r.reject=t})),t.chain.push(r),0!==t.state&&a(u,t),r.promise},this.catch=function(e){return this.then(void 0,e)};try{e.call(void 0,(function(e){f.call(t,e)}),(function(e){l.call(t,e)}))}catch(e){l.call(t,e)}}n=function(){var e,n,r;function o(e,t){this.fn=e,this.self=t,this.next=void 0}return{add:function(t,i){r=new o(t,i),n?n.next=r:e=r,n=r,r=void 0},drain:function(){var r=e;for(e=n=t=void 0;r;)r.fn.call(r.self),r=r.next}}}();var m=e({},"constructor",d,!1);return d.prototype=m,e(m,"__NPO__",0,!1),e(d,"resolve",(function(e){return e&&"object"==typeof e&&1===e.__NPO__?e:new this((function(t,n){if("function"!=typeof t||"function"!=typeof n)throw TypeError("Not a function");t(e)}))})),e(d,"reject",(function(e){return new this((function(t,n){if("function"!=typeof t||"function"!=typeof n)throw TypeError("Not a function");n(e)}))})),e(d,"all",(function(e){var t=this;return"[object Array]"!=r.call(e)?t.reject(TypeError("Not an array")):0===e.length?t.resolve([]):new t((function(n,r){if("function"!=typeof n||"function"!=typeof r)throw TypeError("Not a function");var o=e.length,i=Array(o),a=0;p(t,e,(function(e,t){i[e]=t,++a===o&&n(i)}),r)}))})),e(d,"race",(function(e){var t=this;return"[object Array]"!=r.call(e)?t.reject(TypeError("Not an array")):new t((function(n,r){if("function"!=typeof n||"function"!=typeof r)throw TypeError("Not a function");p(t,e,(function(e,t){n(t)}),r)}))})),d},(c=void 0!==r?r:this)[a="Promise"]=c[a]||u(),e.exports?e.exports=c[a]:void 0===(i=function(){return c[a]}.call(t,n,t,e))||(e.exports=i)}).call(this,n(0),n(3).setImmediate)},function(e,t,n){(function(e){var r=void 0!==e&&e||"undefined"!=typeof self&&self||window,o=Function.prototype.apply;function i(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new i(o.call(setTimeout,r,arguments),clearTimeout)},t.setInterval=function(){return new i(o.call(setInterval,r,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},i.prototype.unref=i.prototype.ref=function(){},i.prototype.close=function(){this._clearFn.call(r,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},n(4),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,n(0))},function(e,t,n){(function(e,t){!function(e,n){"use strict";if(!e.setImmediate){var r,o,i,a,c,u=1,s={},f=!1,l=e.document,p=Object.getPrototypeOf&&Object.getPrototypeOf(e);p=p&&p.setTimeout?p:e,"[object process]"==={}.toString.call(e.process)?r=function(e){t.nextTick((function(){h(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?e.MessageChannel?((i=new MessageChannel).port1.onmessage=function(e){h(e.data)},r=function(e){i.port2.postMessage(e)}):l&&"onreadystatechange"in l.createElement("script")?(o=l.documentElement,r=function(e){var t=l.createElement("script");t.onreadystatechange=function(){h(e),t.onreadystatechange=null,o.removeChild(t),t=null},o.appendChild(t)}):r=function(e){setTimeout(h,0,e)}:(a="setImmediate$"+Math.random()+"$",c=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(a)&&h(+t.data.slice(a.length))},e.addEventListener?e.addEventListener("message",c,!1):e.attachEvent("onmessage",c),r=function(t){e.postMessage(a+t,"*")}),p.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n<t.length;n++)t[n]=arguments[n+1];var o={callback:e,args:t};return s[u]=o,r(u),u++},p.clearImmediate=y}function y(e){delete s[e]}function h(e){if(f)setTimeout(h,0,e);else{var t=s[e];if(t){f=!0;try{!function(e){var t=e.callback,n=e.args;switch(n.length){case 0:t();break;case 1:t(n[0]);break;case 2:t(n[0],n[1]);break;case 3:t(n[0],n[1],n[2]);break;default:t.apply(void 0,n)}}(t)}finally{y(e),f=!1}}}}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,n(0),n(5))},function(e,t){var n,r,o=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function c(e){if(n===setTimeout)return setTimeout(e,0);if((n===i||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:i}catch(e){n=i}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var u,s=[],f=!1,l=-1;function p(){f&&u&&(f=!1,u.length?s=u.concat(s):l=-1,s.length&&y())}function y(){if(!f){var e=c(p);f=!0;for(var t=s.length;t;){for(u=s,s=[];++l<t;)u&&u[l].run();l=-1,t=s.length}u=null,f=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===a||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function h(e,t){this.fun=e,this.array=t}function d(){}o.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];s.push(new h(e,t)),1!==s.length||f||c(y)},h.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=d,o.addListener=d,o.once=d,o.off=d,o.removeListener=d,o.removeAllListeners=d,o.emit=d,o.prependListener=d,o.prependOnceListener=d,o.listeners=function(e){return[]},o.binding=function(e){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},function(e,t,n){var r,o; /** * @file Web Cryptography API shim * @author Artem S Vybornov <vybornov@gmail.com> * @license MIT */o="undefined"!=typeof self?self:this,void 0===(r=function(){return function(e){"use strict";if("function"!=typeof Promise)throw"Promise support required";var t=e.crypto||e.msCrypto;if(t){var n=t.subtle||t.webkitSubtle;if(n){var r=e.Crypto||t.constructor||Object,o=e.SubtleCrypto||n.constructor||Object,i=(e.CryptoKey||e.Key,e.navigator.userAgent.indexOf("Edge/")>-1),a=!!e.msCrypto&&!i,c=!t.subtle&&!!t.webkitSubtle;if(a||c){var u={KoZIhvcNAQEB:"1.2.840.113549.1.1.1"},s={"1.2.840.113549.1.1.1":"KoZIhvcNAQEB"};if(["generateKey","importKey","unwrapKey"].forEach((function(e){var r=n[e];n[e]=function(o,i,u){var s,f,l,h,w=[].slice.call(arguments);switch(e){case"generateKey":s=d(o),f=i,l=u;break;case"importKey":s=d(u),f=w[3],l=w[4],"jwk"===o&&((i=g(i)).alg||(i.alg=m(s)),i.key_ops||(i.key_ops="oct"!==i.kty?"d"in i?l.filter(x):l.filter(k):l.slice()),w[1]=v(i));break;case"unwrapKey":s=w[4],f=w[5],l=w[6],w[2]=u._key}if("generateKey"===e&&"HMAC"===s.name&&s.hash)return s.length=s.length||{"SHA-1":512,"SHA-256":512,"SHA-384":1024,"SHA-512":1024}[s.hash.name],n.importKey("raw",t.getRandomValues(new Uint8Array(s.length+7>>3)),s,f,l);if(c&&"generateKey"===e&&"RSASSA-PKCS1-v1_5"===s.name&&(!s.modulusLength||s.modulusLength>=2048))return(o=d(o)).name="RSAES-PKCS1-v1_5",delete o.hash,n.generateKey(o,!0,["encrypt","decrypt"]).then((function(e){return Promise.all([n.exportKey("jwk",e.publicKey),n.exportKey("jwk",e.privateKey)])})).then((function(e){return e[0].alg=e[1].alg=m(s),e[0].key_ops=l.filter(k),e[1].key_ops=l.filter(x),Promise.all([n.importKey("jwk",e[0],s,!0,e[0].key_ops),n.importKey("jwk",e[1],s,f,e[1].key_ops)])})).then((function(e){return{publicKey:e[0],privateKey:e[1]}}));if((c||a&&"SHA-1"===(s.hash||{}).name)&&"importKey"===e&&"jwk"===o&&"HMAC"===s.name&&"oct"===i.kty)return n.importKey("raw",y(p(i.k)),u,w[3],w[4]);if(c&&"importKey"===e&&("spki"===o||"pkcs8"===o))return n.importKey("jwk",b(i),u,w[3],w[4]);if(a&&"unwrapKey"===e)return n.decrypt(w[3],u,i).then((function(e){return n.importKey(o,e,w[4],w[5],w[6])}));try{h=r.apply(n,w)}catch(e){return Promise.reject(e)}return a&&(h=new Promise((function(e,t){h.onabort=h.onerror=function(e){t(e)},h.oncomplete=function(t){e(t.target.result)}}))),h=h.then((function(e){return"HMAC"===s.name&&(s.length||(s.length=8*e.algorithm.length)),0==s.name.search("RSA")&&(s.modulusLength||(s.modulusLength=(e.publicKey||e).algorithm.modulusLength),s.publicExponent||(s.publicExponent=(e.publicKey||e).algorithm.publicExponent)),e=e.publicKey&&e.privateKey?{publicKey:new E(e.publicKey,s,f,l.filter(k)),privateKey:new E(e.privateKey,s,f,l.filter(x))}:new E(e,s,f,l)}))}})),["exportKey","wrapKey"].forEach((function(e){var t=n[e];n[e]=function(r,o,i){var u,s=[].slice.call(arguments);switch(e){case"exportKey":s[1]=o._key;break;case"wrapKey":s[1]=o._key,s[2]=i._key}if((c||a&&"SHA-1"===(o.algorithm.hash||{}).name)&&"exportKey"===e&&"jwk"===r&&"HMAC"===o.algorithm.name&&(s[0]="raw"),!c||"exportKey"!==e||"spki"!==r&&"pkcs8"!==r||(s[0]="jwk"),a&&"wrapKey"===e)return n.exportKey(r,o).then((function(e){return"jwk"===r&&(e=y(unescape(encodeURIComponent(JSON.stringify(g(e)))))),n.encrypt(s[3],i,e)}));try{u=t.apply(n,s)}catch(e){return Promise.reject(e)}return a&&(u=new Promise((function(e,t){u.onabort=u.onerror=function(e){t(e)},u.oncomplete=function(t){e(t.target.result)}}))),"exportKey"===e&&"jwk"===r&&(u=u.then((function(e){return(c||a&&"SHA-1"===(o.algorithm.hash||{}).name)&&"HMAC"===o.algorithm.name?{kty:"oct",alg:m(o.algorithm),key_ops:o.usages.slice(),ext:!0,k:l(h(e))}:((e=g(e)).alg||(e.alg=m(o.algorithm)),e.key_ops||(e.key_ops="public"===o.type?o.usages.filter(k):"private"===o.type?o.usages.filter(x):o.usages.slice()),e)}))),!c||"exportKey"!==e||"spki"!==r&&"pkcs8"!==r||(u=u.then((function(e){return e=w(g(e))}))),u}})),["encrypt","decrypt","sign","verify"].forEach((function(e){var t=n[e];n[e]=function(r,o,i,c){if(a&&(!i.byteLength||c&&!c.byteLength))throw new Error("Empy input is not allowed");var u,s=[].slice.call(arguments),f=d(r);if(a&&("encrypt"===e||"decrypt"===e)&&o.algorithm.hash&&(s[0].hash=s[0].hash||o.algorithm.hash),a&&"decrypt"===e&&"AES-GCM"===f.name){var l=r.tagLength>>3;s[2]=(i.buffer||i).slice(0,i.byteLength-l),r.tag=(i.buffer||i).slice(i.byteLength-l)}s[1]=o._key;try{u=t.apply(n,s)}catch(e){return Promise.reject(e)}return a&&(u=new Promise((function(t,n){u.onabort=u.onerror=function(e){n(e)},u.oncomplete=function(n){if(n=n.target.result,"encrypt"===e&&n instanceof AesGcmEncryptResult){var r=n.ciphertext,o=n.tag;(n=new Uint8Array(r.byteLength+o.byteLength)).set(new Uint8Array(r),0),n.set(new Uint8Array(o),r.byteLength),n=n.buffer}t(n)}}))),u}})),a){var f=n.digest;n.digest=function(e,t){if(!t.byteLength)throw new Error("Empy input is not allowed");var r;try{r=f.call(n,e,t)}catch(e){return Promise.reject(e)}return r=new Promise((function(e,t){r.onabort=r.onerror=function(e){t(e)},r.oncomplete=function(t){e(t.target.result)}}))},e.crypto=Object.create(t,{getRandomValues:{value:function(e){return t.getRandomValues(e)}},subtle:{value:n}}),e.CryptoKey=E}c&&(t.subtle=n,e.Crypto=r,e.SubtleCrypto=o,e.CryptoKey=E)}}}function l(e){return btoa(e).replace(/\=+$/,"").replace(/\+/g,"-").replace(/\//g,"_")}function p(e){return e=(e+="===").slice(0,-e.length%4),atob(e.replace(/-/g,"+").replace(/_/g,"/"))}function y(e){for(var t=new Uint8Array(e.length),n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}function h(e){return e instanceof ArrayBuffer&&(e=new Uint8Array(e)),String.fromCharCode.apply(String,e)}function d(e){var t={name:(e.name||e||"").toUpperCase().replace("V","v")};switch(t.name){case"SHA-1":case"SHA-256":case"SHA-384":case"SHA-512":break;case"AES-CBC":case"AES-GCM":case"AES-KW":e.length&&(t.length=e.length);break;case"HMAC":e.hash&&(t.hash=d(e.hash)),e.length&&(t.length=e.length);break;case"RSAES-PKCS1-v1_5":e.publicExponent&&(t.publicExponent=new Uint8Array(e.publicExponent)),e.modulusLength&&(t.modulusLength=e.modulusLength);break;case"RSASSA-PKCS1-v1_5":case"RSA-OAEP":e.hash&&(t.hash=d(e.hash)),e.publicExponent&&(t.publicExponent=new Uint8Array(e.publicExponent)),e.modulusLength&&(t.modulusLength=e.modulusLength);break;default:throw new SyntaxError("Bad algorithm name")}return t}function m(e){return{HMAC:{"SHA-1":"HS1","SHA-256":"HS256","SHA-384":"HS384","SHA-512":"HS512"},"RSASSA-PKCS1-v1_5":{"SHA-1":"RS1","SHA-256":"RS256","SHA-384":"RS384","SHA-512":"RS512"},"RSAES-PKCS1-v1_5":{"":"RSA1_5"},"RSA-OAEP":{"SHA-1":"RSA-OAEP","SHA-256":"RSA-OAEP-256"},"AES-KW":{128:"A128KW",192:"A192KW",256:"A256KW"},"AES-GCM":{128:"A128GCM",192:"A192GCM",256:"A256GCM"},"AES-CBC":{128:"A128CBC",192:"A192CBC",256:"A256CBC"}}[e.name][(e.hash||{}).name||e.length||""]}function g(e){(e instanceof ArrayBuffer||e instanceof Uint8Array)&&(e=JSON.parse(decodeURIComponent(escape(h(e)))));var t={kty:e.kty,alg:e.alg,ext:e.ext||e.extractable};switch(t.kty){case"oct":t.k=e.k;case"RSA":["n","e","d","p","q","dp","dq","qi","oth"].forEach((function(n){n in e&&(t[n]=e[n])}));break;default:throw new TypeError("Unsupported key type")}return t}function v(e){var t=g(e);return a&&(t.extractable=t.ext,delete t.ext),y(unescape(encodeURIComponent(JSON.stringify(t)))).buffer}function b(e){var t=A(e),n=!1;t.length>2&&(n=!0,t.shift());var r={ext:!0};switch(t[0][0]){case"1.2.840.113549.1.1.1":var o=["n","e","d","p","q","dp","dq","qi"],i=A(t[1]);n&&i.shift();for(var a=0;a<i.length;a++)i[a][0]||(i[a]=i[a].subarray(1)),r[o[a]]=l(h(i[a]));r.kty="RSA";break;default:throw new TypeError("Unsupported key type")}return r}function w(e){var t,n=[["",null]],r=!1;switch(e.kty){case"RSA":for(var o=["n","e","d","p","q","dp","dq","qi"],i=[],a=0;a<o.length&&o[a]in e;a++){var c=i[a]=y(p(e[o[a]]));128&c[0]&&(i[a]=new Uint8Array(c.length+1),i[a].set(c,1))}i.length>2&&(r=!0,i.unshift(new Uint8Array([0]))),n[0][0]="1.2.840.113549.1.1.1",t=i;break;default:throw new TypeError("Unsupported key type")}return n.push(new Uint8Array(S(t)).buffer),r?n.unshift(new Uint8Array([0])):n[1]={tag:3,value:n[1]},new Uint8Array(S(n)).buffer}function A(e,t){if(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),t||(t={pos:0,end:e.length}),t.end-t.pos<2||t.end>e.length)throw new RangeError("Malformed DER");var n,r=e[t.pos++],o=e[t.pos++];if(o>=128){if(o&=127,t.end-t.pos<o)throw new RangeError("Malformed DER");for(var i=0;o--;)i<<=8,i|=e[t.pos++];o=i}if(t.end-t.pos<o)throw new RangeError("Malformed DER");switch(r){case 2:n=e.subarray(t.pos,t.pos+=o);break;case 3:if(e[t.pos++])throw new Error("Unsupported bit string");o--;case 4:n=new Uint8Array(e.subarray(t.pos,t.pos+=o)).buffer;break;case 5:n=null;break;case 6:var a=btoa(h(e.subarray(t.pos,t.pos+=o)));if(!(a in u))throw new Error("Unsupported OBJECT ID "+a);n=u[a];break;case 48:n=[];for(var c=t.pos+o;t.pos<c;)n.push(A(e,t));break;default:throw new Error("Unsupported DER tag 0x"+r.toString(16))}return n}function S(e,t){t||(t=[]);var n=0,r=0,o=t.length+2;if(t.push(0,0),e instanceof Uint8Array){n=2,r=e.length;for(var i=0;i<r;i++)t.push(e[i])}else if(e instanceof ArrayBuffer)for(n=4,r=e.byteLength,e=new Uint8Array(e),i=0;i<r;i++)t.push(e[i]);else if(null===e)n=5,r=0;else if("string"==typeof e&&e in s){var a=y(atob(s[e]));for(n=6,r=a.length,i=0;i<r;i++)t.push(a[i])}else if(e instanceof Array){for(i=0;i<e.length;i++)S(e[i],t);n=48,r=t.length-o}else{if(!("object"==typeof e&&3===e.tag&&e.value instanceof ArrayBuffer))throw new Error("Unsupported DER value "+e);for(n=3,r=(e=new Uint8Array(e.value)).byteLength,t.push(0),i=0;i<r;i++)t.push(e[i]);r++}if(r>=128){var c=r;for(r=4,t.splice(o,0,c>>24&255,c>>16&255,c>>8&255,255&c);r>1&&!(c>>24);)c<<=8,r--;r<4&&t.splice(o,4-r),r|=128}return t.splice(o-2,2,n,r),t}function E(e,t,n,r){Object.defineProperties(this,{_key:{value:e},type:{value:e.type,enumerable:!0},extractable:{value:void 0===n?e.extractable:n,enumerable:!0},algorithm:{value:void 0===t?e.algorithm:t,enumerable:!0},usages:{value:void 0===r?e.usages:r,enumerable:!0}})}function k(e){return"verify"===e||"encrypt"===e||"wrapKey"===e}function x(e){return"sign"===e||"decrypt"===e||"unwrapKey"===e}}(o)}.apply(t,[]))||(e.exports=r)},function(e,t,n){"use strict";n.r(t),n.d(t,"FLEX",(function(){return v}));var r=n(1);function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(){return"undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}function a(e){var t=function(e){var t=o(e);return null!=e&&("object"===t||"function"===t)}(e)?Object.prototype.toString.call(e):"";return"[object Function]"===t||"[object GeneratorFunction]"===t}function c(e){return"string"==typeof e||(t=e,!(Array.isArray?Array.isArray(t):"[object Array]"===Object.prototype.toString.call(t))&&function(e){return null!=e&&"object"===o(e)}(e)&&"[object String]"===Object.prototype.toString.call(e));var t}var u="/cybersource/flex/v1/tokens",s="https://testflex.cybersource.com".concat(u),f="https://flex.cybersource.com".concat(u),l="https://flex.in.cybersource.com".concat(u);n(2),n(6);var p=function(e){return btoa(String.fromCharCode.apply(null,new Uint8Array(e)))};function y(e,t){var n,r=(n=e,JSON.parse(JSON.stringify(n)));return/Edge/.test(window.navigator.userAgent)&&delete r.use,window.crypto.subtle.importKey("jwk",r,t,!1,["encrypt"])}function h(e,t,n){return window.crypto.subtle.encrypt(e,t,function(e){for(var t=new ArrayBuffer(e.length),n=new Uint8Array(t),r=0,o=e.length;r<o;r+=1)n[r]=e.charCodeAt(r);return t}(n)).then(p)}var d=function(e){var t;switch((e.encryptionType||"").toLowerCase()){case"none":t={encrypt:function(e){return Promise.resolve(e)}};break;case"rsaoaep":t=function(e){var t={name:"RSA-OAEP",hash:{name:"SHA-1"}},n=y(e.keystore,t);return{encrypt:function(e){return n.then((function(n){return h(t,n,e)}))}}}(e);break;case"rsaoaep256":t=function(e){var t={name:"RSA-OAEP",hash:{name:"SHA-256"}},n=y(e.keystore,t);return{encrypt:function(e){return n.then((function(n){return h(t,n,e)}))}}}(e);break;default:throw new Error('Unsupported encryption type "'.concat(e.encryptionType,'"'))}return{encrypt:function(e){return t.encrypt(e)}}};function m(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:200;try{t=JSON.parse(e)}catch(n){t=e}return n>=200&&n<400&&null!=t.token?t:{error:t}}function g(e,t,n,r){var o=function(e,t){var n={keyId:e,cardInfo:{cardNumber:t.cardNumber,cardType:t.cardType}};return t.cardExpirationMonth&&(n.cardInfo.cardExpirationMonth=t.cardExpirationMonth),t.cardExpirationYear&&(n.cardInfo.cardExpirationYear=t.cardExpirationYear),n}(t,n);if(!i())throw new Error("Browser does not support CORS requests.");!function(e,t,n){var r=new XMLHttpRequest;r.open("POST",e,!0),r.setRequestHeader("Content-Type","application/json; charset=utf-8"),r.timeout=3e4,r.ontimeout=function(){return n(m("Request has timed out"))},r.onerror=function(){return n(m(r.responseText,r.status))},r.onload=function(){return n(m(r.responseText,r.status))},r.send(JSON.stringify(t))}(e,o,r)}var v={version:r.a,createToken:function(e,t){if(!a(t))throw new Error("responseHandler is not a function");var n,r,o=(n=e.kid,r=c(n)?n.trim():"",/^(01|02|03|04)/.test(r)?f:/^(09|10)/.test(r)?l:s),i=e.cardInfo||{};if(i.cardNumber=i.cardNumber?i.cardNumber.replace(/\D/g,""):"",i.cardNumber.length<1)return delete i.cardNumber,void g(o,e.kid,i,t);d(e).encrypt(i.cardNumber).then((function(n){i.cardNumber=n,g(o,e.kid,i,t)}))},utils:{isBrowserSupported:function(){return i()},nativeCryptoSupport:function(){return!!window.crypto&&!!window.crypto.subtle&&"function"==typeof window.crypto.subtle.importKey&&"function"==typeof window.crypto.subtle.encrypt}}};t.default=v}]).FLEX}));