{"version":3,"sources":["webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/core-js/library/modules/_an-instance.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/engine.io-client/build/esm/transports/websocket.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/engine.io-client/build/esm/globalThis.browser.js","webpack:///./node_modules/core-js/library/modules/es6.promise.js","webpack:///./node_modules/engine.io-client/build/esm/contrib/yeast.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/core-js/library/modules/_invoke.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/engine.io-parser/build/esm/commons.js","webpack:///./node_modules/engine.io-parser/build/esm/encodePacket.browser.js","webpack:///./node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.js","webpack:///./node_modules/engine.io-parser/build/esm/decodePacket.browser.js","webpack:///./node_modules/engine.io-parser/build/esm/index.js","webpack:///./node_modules/engine.io-client/build/esm/transport.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/@babel/runtime-corejs2/helpers/esm/asyncToGenerator.js","webpack:///./node_modules/core-js/library/modules/es7.promise.finally.js","webpack:///./node_modules/core-js/library/modules/_task.js","webpack:///./node_modules/core-js/library/modules/es7.promise.try.js","webpack:///./node_modules/core-js/library/modules/_perform.js","webpack:///./node_modules/axios/lib/helpers/null.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/axios/lib/core/mergeConfig.js","webpack:///./node_modules/axios/lib/defaults/index.js","webpack:///./node_modules/core-js/library/modules/_set-species.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/core-js/library/modules/_redefine-all.js","webpack:///./node_modules/axios/lib/env/data.js","webpack:///./node_modules/axios/lib/helpers/isAxiosError.js","webpack:///./node_modules/core-js/library/modules/_new-promise-capability.js","webpack:///./node_modules/core-js/library/fn/promise.js","webpack:///./node_modules/engine.io-client/build/esm/transports/websocket-constructor.browser.js","webpack:///./node_modules/axios/lib/core/AxiosError.js","webpack:///./node_modules/@babel/runtime-corejs2/core-js/promise.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/core-js/modules/es6.function.name.js","webpack:///./node_modules/axios/lib/core/buildFullPath.js","webpack:///./node_modules/axios/lib/helpers/validator.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/engine.io-client/build/esm/contrib/parseqs.js","webpack:///./node_modules/core-js/library/modules/_for-of.js","webpack:///./node_modules/core-js/library/modules/_microtask.js","webpack:///./node_modules/engine.io-client/build/esm/util.js","webpack:///./node_modules/@socket.io/component-emitter/index.mjs","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/buffer/index.js","webpack:///./node_modules/axios/lib/helpers/parseProtocol.js","webpack:///./node_modules/core-js/library/modules/_user-agent.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///./node_modules/axios/lib/defaults/transitional.js","webpack:///./node_modules/core-js/library/modules/_promise-resolve.js","webpack:///./node_modules/axios/lib/axios.js","webpack:///./src/services/v1/api_store.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/engine.io-client/build/esm/contrib/has-cors.js","webpack:///./node_modules/engine.io-client/build/esm/transports/xmlhttprequest.browser.js","webpack:///./node_modules/engine.io-client/build/esm/transports/polling.js","webpack:///./node_modules/engine.io-client/build/esm/transports/index.js","webpack:///./node_modules/engine.io-client/build/esm/contrib/parseuri.js","webpack:///./node_modules/engine.io-client/build/esm/socket.js","webpack:///./node_modules/engine.io-client/build/esm/index.js","webpack:///./node_modules/socket.io-client/build/esm/url.js","webpack:///./node_modules/socket.io-parser/build/esm/is-binary.js","webpack:///./node_modules/socket.io-parser/build/esm/binary.js","webpack:///./node_modules/socket.io-parser/build/esm/index.js","webpack:///./node_modules/socket.io-client/build/esm/on.js","webpack:///./node_modules/socket.io-client/build/esm/socket.js","webpack:///./node_modules/socket.io-client/build/esm/contrib/backo2.js","webpack:///./node_modules/socket.io-client/build/esm/manager.js","webpack:///./node_modules/socket.io-client/build/esm/index.js","webpack:///./src/services/v1/constants.js","webpack:///./node_modules/isarray/index.js","webpack:///./node_modules/axios/lib/helpers/toFormData.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/core-js/library/modules/_species-constructor.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/axios/lib/cancel/CanceledError.js"],"names":["utils","buildURL","InterceptorManager","dispatchRequest","mergeConfig","buildFullPath","validator","validators","Axios","instanceConfig","this","defaults","interceptors","request","response","prototype","configOrUrl","config","url","method","toLowerCase","transitional","undefined","assertOptions","silentJSONParsing","boolean","forcedJSONParsing","clarifyTimeoutError","requestInterceptorChain","synchronousRequestInterceptors","forEach","interceptor","runWhen","synchronous","unshift","fulfilled","rejected","promise","responseInterceptorChain","push","chain","Array","apply","concat","Promise","resolve","length","then","shift","newConfig","onFulfilled","onRejected","error","reject","getUri","fullPath","baseURL","params","paramsSerializer","data","generateHTTPMethod","isForm","headers","module","exports","callback","arr","it","Constructor","name","forbiddenField","TypeError","fn","thisArg","args","arguments","i","isReactNative","navigator","product","WS","opts","super","supportsBinary","forceBase64","check","uri","protocols","extraHeaders","ws","err","emitReserved","binaryType","socket","addEventListeners","onopen","autoUnref","_socket","unref","onOpen","onclose","closeEvent","onClose","description","context","onmessage","ev","onData","onerror","e","onError","packets","writable","packet","lastPacket","options","compress","perMessageDeflate","len","Buffer","byteLength","threshold","send","setTimeoutFn","close","query","schema","secure","port","Number","timestampRequests","timestampParam","b64","encodedQuery","ipv6","hostname","indexOf","path","toByteArray","fromByteArray","lookup","revLookup","Arr","Uint8Array","code","charCodeAt","getLens","Error","validLen","placeHoldersLen","lens","_byteLength","tmp","curByte","tripletToBase64","num","encodeChunk","uint8","start","end","output","join","extraBytes","parts","maxChunkLength","len2","globalThisShim","self","window","Function","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","LIBRARY","global","ctx","classof","$export","isObject","aFunction","anInstance","forOf","speciesConstructor","task","set","microtask","newPromiseCapabilityModule","perform","userAgent","promiseResolve","PROMISE","process","versions","v8","$Promise","isNode","empty","newPromiseCapability","f","USE_NATIVE","FakePromise","constructor","exec","PromiseRejectionEvent","isThenable","notify","isReject","_n","_c","value","_v","ok","_s","run","reaction","result","exited","handler","fail","domain","_h","onHandleUnhandled","enter","exit","call","onUnhandled","console","unhandled","isUnhandled","emit","onunhandledrejection","reason","_a","v","onrejectionhandled","$reject","_d","_w","slice","$resolve","wrapper","executor","C","G","W","F","S","r","capability","$$reject","x","iter","all","iterable","values","index","remaining","$index","alreadyCalled","race","alphabet","split","map","prev","seed","encode","encoded","Math","floor","yeast","now","Date","__CANCEL__","that","un","val","encodeURIComponent","replace","serializedParams","isURLSearchParams","toString","key","isArray","isDate","toISOString","JSON","stringify","hashmarkIndex","PACKET_TYPES","Object","create","PACKET_TYPES_REVERSE","keys","ERROR_PACKET","type","withNativeBlob","Blob","withNativeArrayBuffer","ArrayBuffer","isView","obj","buffer","encodePacket","encodeBlobAsBase64","fileReader","FileReader","onload","content","readAsDataURL","chars","decode","base64","encoded1","encoded2","encoded3","encoded4","bufferLength","p","arraybuffer","bytes","decodePacket","encodedPacket","mapBinary","charAt","decodeBase64Packet","substring","packetType","decoded","SEPARATOR","String","fromCharCode","encodePayload","encodedPackets","count","decodePayload","encodedPayload","decodedPacket","protocol","TransportError","Transport","readyState","doOpen","doClose","write","onPacket","details","isStandardBrowserEnv","originURL","msie","test","urlParsingNode","document","createElement","resolveURL","href","setAttribute","host","search","hash","pathname","location","requestURL","parsed","isString","asyncGeneratorStep","gen","_next","_throw","arg","info","done","_asyncToGenerator","core","P","R","onFinally","isFunction","defer","channel","invoke","html","cel","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","ONREADYSTATECHANGE","id","hasOwnProperty","listener","event","nextTick","port2","port1","postMessage","addEventListener","importScripts","appendChild","removeChild","setTimeout","clear","callbackfn","promiseCapability","AxiosError","validateStatus","status","ERR_BAD_REQUEST","ERR_BAD_RESPONSE","config1","config2","getMergedValue","target","source","isPlainObject","merge","mergeDeepProperties","prop","isUndefined","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","normalizeHeaderName","transitionalDefaults","toFormData","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","getDefaultAdapter","adapter","XMLHttpRequest","stringifySafely","rawValue","parser","encoder","parse","trim","transformRequest","isFormData","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","isFileList","isObjectPayload","contentType","_FormData","env","FormData","transformResponse","strictJSONParsing","responseType","from","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","common","dP","DESCRIPTORS","SPECIES","KEY","configurable","get","transformData","isCancel","CanceledError","throwIfCancellationRequested","cancelToken","throwIfRequested","signal","aborted","hide","src","safe","payload","isAxiosError","PromiseCapability","$$resolve","isPromiseAvailable","cb","WebSocket","MozWebSocket","usingBrowserWebSocket","defaultBinaryType","message","inherits","toJSON","number","fileName","lineNumber","columnNumber","stack","descriptors","defineProperties","defineProperty","customProps","axiosError","toFlatObject","assign","expires","cookie","isNumber","toGMTString","read","match","RegExp","decodeURIComponent","remove","FProto","nameRE","NAME","isAbsoluteURL","combineURLs","requestedURL","VERSION","version","thing","deprecatedWarnings","allowUnknown","ERR_BAD_OPTION_VALUE","opt","ERR_BAD_OPTION","formatMessage","desc","ERR_DEPRECATED","warn","CancelToken","resolvePromise","token","cancel","_listeners","l","onfulfilled","_resolve","subscribe","unsubscribe","splice","c","offset","isLE","mLen","nBytes","m","eLen","eMax","eBias","nBits","d","s","NaN","Infinity","pow","rt","abs","isNaN","log","LN2","runtime","Op","hasOwn","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","Gp","defineIteratorMethods","_invoke","AsyncIterator","PromiseImpl","record","__await","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","state","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iteratorMethod","displayName","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","object","reverse","pop","skipTempReset","stop","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","globalThis","str","qs","qry","pairs","pair","isArrayIter","anObject","toLength","getIterFn","BREAK","RETURN","entries","ITERATOR","step","iterFn","macrotask","Observer","MutationObserver","WebKitMutationObserver","head","last","flush","parent","standalone","toggle","node","createTextNode","observe","characterData","pick","attr","reduce","acc","k","NATIVE_SET_TIMEOUT","NATIVE_CLEAR_TIMEOUT","clearTimeout","installTimerFunctions","useNativeTimers","bind","clearTimeoutFn","BASE64_OVERHEAD","utf8Length","ceil","size","Emitter","mixin","on","_callbacks","once","off","removeListener","removeAllListeners","removeEventListener","callbacks","listeners","hasListeners","settle","cookies","parseHeaders","isURLSameOrigin","parseProtocol","onCanceled","requestData","requestHeaders","auth","username","password","unescape","Authorization","btoa","onloadend","responseHeaders","getAllResponseHeaders","responseData","responseText","statusText","open","toUpperCase","onreadystatechange","responseURL","onabort","ECONNABORTED","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","xsrfValue","withCredentials","setRequestHeader","onDownloadProgress","onUploadProgress","upload","abort","ieee754","typedArraySupport","foo","subarray","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","RangeError","encodingOrOffset","allocUnsafe","fromArrayBuffer","fromString","fromObject","assertSize","alloc","fill","encoding","checked","string","isEncoding","actual","fromArrayLike","array","byteOffset","copy","isnan","SlowBuffer","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","b","n","bidirectionalIndexOf","dir","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","buf","readUInt16BE","foundIndex","found","j","hexWrite","strLen","parseInt","substr","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","min","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","compare","a","y","list","pos","swap16","swap32","swap64","equals","inspect","max","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","_arr","MAX_ARGUMENTS_LENGTH","codePoints","ret","out","toHex","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","units","leadSurrogate","byteArray","hi","lo","dst","ignoreDuplicateOf","line","fns","kindOf","cache","kindOfTest","pipe","pattern","assignValue","extend","stripBOM","superConstructor","props","sourceObj","destObj","filter","merged","getOwnPropertyNames","endsWith","searchString","position","lastIndex","toArray","isTypedArray","TypedArray","normalizedName","createInstance","defaultConfig","instance","axios","Cancel","promises","spread","default","getBaseURL","BASE_URL","downloadItem","store","endpoint","extension","getters","getCurrentToken","msSaveOrOpenBlob","URL","createObjectURL","link","body","click","uploadItem","formdata","progresscallback","xhr","evt","lengthComputable","percentComplete","loaded","total","pc","fixed","toFixed","parseFloat","uploadItemFetchAsync","fetch","login","userinfo","checkStatus","json","commit","designation","features","catch","signupCountry","currency","first_name","last_name","email","phone","statustext","alert","signup","getTableDataAsync","apipath","getTableData","createItemJsonPost","iteminfo","createGeneralItemJsonPost","address","key2","hasCORS","XHR","xdomain","hasXHR2","polling","isSSL","xd","xs","poll","onPause","pause","doPoll","doWrite","sid","req","xhrStatus","pollXhr","xscheme","setDisableHeaderCheck","requestTimeout","onLoad","requestsCount","requests","cleanup","fromError","attachEvent","unloadHandler","terminationEvent","transports","websocket","re","authority","ipv6uri","pathNames","queryKey","regx","names","$0","$1","$2","writeBuffer","prevBufferLen","agent","upgrade","rememberUpgrade","rejectUnauthorized","transportOptions","closeOnBeforeunload","upgrades","pingInterval","pingTimeout","pingTimeoutTimer","beforeunloadEventListener","transport","offlineEventListener","EIO","priorWebsocketSuccess","createTransport","setTransport","onDrain","failed","onTransportOpen","msg","upgrading","freezeTransport","onTransportClose","onupgrade","to","probe","onHandshake","resetPingTimeout","sendPacket","filterUpgrades","maxPayload","getWritablePackets","shouldCheckPayloadSize","payloadSize","cleanupAndClose","waitForUpgrade","filteredUpgrades","withNativeFile","File","isBinary","hasBinary","deconstructPacket","buffers","packetData","pack","_deconstructPacket","attachments","placeholder","_placeholder","newData","reconstructPacket","_reconstructPacket","isIndexValid","PacketType","replacer","EVENT","ACK","encodeAsString","BINARY_EVENT","BINARY_ACK","encodeAsBinary","nsp","deconstruction","reviver","reconstructor","decodeString","takeBinaryData","tryParse","isPayloadValid","CONNECT","DISCONNECT","CONNECT_ERROR","finishedReconstruction","reconPack","binData","RESERVED_EVENTS","freeze","connect","connect_error","disconnect","disconnecting","newListener","io","connected","receiveBuffer","sendBuffer","ids","acks","flags","_autoConnect","subs","onpacket","subEvents","_readyState","ack","_registerAckCallback","isTransportWritable","engine","discardPacket","volatile","notifyOutgoingListeners","timer","_packet","sameNamespace","onconnect","onevent","onack","ondisconnect","destroy","emitEvent","_anyListeners","emitBuffered","subDestroy","_anyOutgoingListeners","Backoff","ms","factor","jitter","attempts","duration","rand","random","deviation","setMin","setMax","setJitter","nsps","reconnection","reconnectionAttempts","reconnectionDelay","reconnectionDelayMax","randomizationFactor","backoff","_parser","Encoder","decoder","Decoder","autoConnect","_reconnection","_reconnectionAttempts","_reconnectionDelay","_randomizationFactor","_reconnectionDelayMax","_timeout","_reconnecting","reconnect","skipReconnect","openSubDestroy","errorSub","maybeReconnectOnOpen","onping","ondata","ondecoded","add","active","_close","delay","onreconnect","attempt","newConnection","forceNew","multiplex","Manager","Socket","EDITOR_API_BASE","EDITOR_API","PROTOCO_BASE","PROTOCOL","EDITOR_HOST_URL","EDITOR_HOST","DEFAULT_TOAST","action","text","onClick","toastObject","goAway","socketIOClient","SOCKET_HOST","formData","convertValue","build","parentKey","fullKey","el","append","relativeURL","O","D","handlers","use","eject","h","ERR_CANCELED"],"mappings":"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","file":"js/chunk-6eff08dd.fe0e39ed.js","sourcesContent":["'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar buildFullPath = require('./buildFullPath');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n var fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url: url,\n data: data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nmodule.exports = Axios;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","import { Transport } from \"../transport.js\";\nimport { encode } from \"../contrib/parseqs.js\";\nimport { yeast } from \"../contrib/yeast.js\";\nimport { pick } from \"../util.js\";\nimport { defaultBinaryType, nextTick, usingBrowserWebSocket, WebSocket } from \"./websocket-constructor.js\";\nimport { encodePacket } from \"engine.io-parser\";\n// detect ReactNative environment\nconst isReactNative = typeof navigator !== \"undefined\" &&\n typeof navigator.product === \"string\" &&\n navigator.product.toLowerCase() === \"reactnative\";\nexport class WS extends Transport {\n /**\n * WebSocket transport constructor.\n *\n * @api {Object} connection options\n * @api public\n */\n constructor(opts) {\n super(opts);\n this.supportsBinary = !opts.forceBase64;\n }\n /**\n * Transport name.\n *\n * @api public\n */\n get name() {\n return \"websocket\";\n }\n /**\n * Opens socket.\n *\n * @api private\n */\n doOpen() {\n if (!this.check()) {\n // let probe timeout\n return;\n }\n const uri = this.uri();\n const protocols = this.opts.protocols;\n // React Native only supports the 'headers' option, and will print a warning if anything else is passed\n const opts = isReactNative\n ? {}\n : pick(this.opts, \"agent\", \"perMessageDeflate\", \"pfx\", \"key\", \"passphrase\", \"cert\", \"ca\", \"ciphers\", \"rejectUnauthorized\", \"localAddress\", \"protocolVersion\", \"origin\", \"maxPayload\", \"family\", \"checkServerIdentity\");\n if (this.opts.extraHeaders) {\n opts.headers = this.opts.extraHeaders;\n }\n try {\n this.ws =\n usingBrowserWebSocket && !isReactNative\n ? protocols\n ? new WebSocket(uri, protocols)\n : new WebSocket(uri)\n : new WebSocket(uri, protocols, opts);\n }\n catch (err) {\n return this.emitReserved(\"error\", err);\n }\n this.ws.binaryType = this.socket.binaryType || defaultBinaryType;\n this.addEventListeners();\n }\n /**\n * Adds event listeners to the socket\n *\n * @api private\n */\n addEventListeners() {\n this.ws.onopen = () => {\n if (this.opts.autoUnref) {\n this.ws._socket.unref();\n }\n this.onOpen();\n };\n this.ws.onclose = closeEvent => this.onClose({\n description: \"websocket connection closed\",\n context: closeEvent\n });\n this.ws.onmessage = ev => this.onData(ev.data);\n this.ws.onerror = e => this.onError(\"websocket error\", e);\n }\n /**\n * Writes data to socket.\n *\n * @param {Array} array of packets.\n * @api private\n */\n write(packets) {\n this.writable = false;\n // encodePacket efficient as it uses WS framing\n // no need for encodePayload\n for (let i = 0; i < packets.length; i++) {\n const packet = packets[i];\n const lastPacket = i === packets.length - 1;\n encodePacket(packet, this.supportsBinary, data => {\n // always create a new object (GH-437)\n const opts = {};\n if (!usingBrowserWebSocket) {\n if (packet.options) {\n opts.compress = packet.options.compress;\n }\n if (this.opts.perMessageDeflate) {\n const len = \n // @ts-ignore\n \"string\" === typeof data ? Buffer.byteLength(data) : data.length;\n if (len < this.opts.perMessageDeflate.threshold) {\n opts.compress = false;\n }\n }\n }\n // Sometimes the websocket has already been closed but the browser didn't\n // have a chance of informing us about it yet, in that case send will\n // throw an error\n try {\n if (usingBrowserWebSocket) {\n // TypeError is thrown when passing the second argument on Safari\n this.ws.send(data);\n }\n else {\n this.ws.send(data, opts);\n }\n }\n catch (e) {\n }\n if (lastPacket) {\n // fake drain\n // defer to next tick to allow Socket to clear writeBuffer\n nextTick(() => {\n this.writable = true;\n this.emitReserved(\"drain\");\n }, this.setTimeoutFn);\n }\n });\n }\n }\n /**\n * Closes socket.\n *\n * @api private\n */\n doClose() {\n if (typeof this.ws !== \"undefined\") {\n this.ws.close();\n this.ws = null;\n }\n }\n /**\n * Generates uri for connection.\n *\n * @api private\n */\n uri() {\n let query = this.query || {};\n const schema = this.opts.secure ? \"wss\" : \"ws\";\n let port = \"\";\n // avoid port if default for schema\n if (this.opts.port &&\n ((\"wss\" === schema && Number(this.opts.port) !== 443) ||\n (\"ws\" === schema && Number(this.opts.port) !== 80))) {\n port = \":\" + this.opts.port;\n }\n // append timestamp to URI\n if (this.opts.timestampRequests) {\n query[this.opts.timestampParam] = yeast();\n }\n // communicate binary support capabilities\n if (!this.supportsBinary) {\n query.b64 = 1;\n }\n const encodedQuery = encode(query);\n const ipv6 = this.opts.hostname.indexOf(\":\") !== -1;\n return (schema +\n \"://\" +\n (ipv6 ? \"[\" + this.opts.hostname + \"]\" : this.opts.hostname) +\n port +\n this.opts.path +\n (encodedQuery.length ? \"?\" + encodedQuery : \"\"));\n }\n /**\n * Feature detection for WebSocket.\n *\n * @return {Boolean} whether this transport is available.\n * @api public\n */\n check() {\n return !!WebSocket;\n }\n}\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","export const globalThisShim = (() => {\n if (typeof self !== \"undefined\") {\n return self;\n }\n else if (typeof window !== \"undefined\") {\n return window;\n }\n else {\n return Function(\"return this\")();\n }\n})();\n","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n","// imported from https://github.com/unshiftio/yeast\n'use strict';\nconst alphabet = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_'.split(''), length = 64, map = {};\nlet seed = 0, i = 0, prev;\n/**\n * Return a string representing the specified number.\n *\n * @param {Number} num The number to convert.\n * @returns {String} The string representation of the number.\n * @api public\n */\nexport function encode(num) {\n let encoded = '';\n do {\n encoded = alphabet[num % length] + encoded;\n num = Math.floor(num / length);\n } while (num > 0);\n return encoded;\n}\n/**\n * Return the integer value specified by the given string.\n *\n * @param {String} str The string to convert.\n * @returns {Number} The integer value represented by the string.\n * @api public\n */\nexport function decode(str) {\n let decoded = 0;\n for (i = 0; i < str.length; i++) {\n decoded = decoded * length + map[str.charAt(i)];\n }\n return decoded;\n}\n/**\n * Yeast: A tiny growing id generator.\n *\n * @returns {String} A unique id.\n * @api public\n */\nexport function yeast() {\n const now = encode(+new Date());\n if (now !== prev)\n return seed = 0, prev = now;\n return now + '.' + encode(seed++);\n}\n//\n// Map each character to its index.\n//\nfor (; i < length; i++)\n map[alphabet[i]] = i;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","const PACKET_TYPES = Object.create(null); // no Map = no polyfill\nPACKET_TYPES[\"open\"] = \"0\";\nPACKET_TYPES[\"close\"] = \"1\";\nPACKET_TYPES[\"ping\"] = \"2\";\nPACKET_TYPES[\"pong\"] = \"3\";\nPACKET_TYPES[\"message\"] = \"4\";\nPACKET_TYPES[\"upgrade\"] = \"5\";\nPACKET_TYPES[\"noop\"] = \"6\";\nconst PACKET_TYPES_REVERSE = Object.create(null);\nObject.keys(PACKET_TYPES).forEach(key => {\n PACKET_TYPES_REVERSE[PACKET_TYPES[key]] = key;\n});\nconst ERROR_PACKET = { type: \"error\", data: \"parser error\" };\nexport { PACKET_TYPES, PACKET_TYPES_REVERSE, ERROR_PACKET };\n","import { PACKET_TYPES } from \"./commons.js\";\nconst withNativeBlob = typeof Blob === \"function\" ||\n (typeof Blob !== \"undefined\" &&\n Object.prototype.toString.call(Blob) === \"[object BlobConstructor]\");\nconst withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\n// ArrayBuffer.isView method is not defined in IE10\nconst isView = obj => {\n return typeof ArrayBuffer.isView === \"function\"\n ? ArrayBuffer.isView(obj)\n : obj && obj.buffer instanceof ArrayBuffer;\n};\nconst encodePacket = ({ type, data }, supportsBinary, callback) => {\n if (withNativeBlob && data instanceof Blob) {\n if (supportsBinary) {\n return callback(data);\n }\n else {\n return encodeBlobAsBase64(data, callback);\n }\n }\n else if (withNativeArrayBuffer &&\n (data instanceof ArrayBuffer || isView(data))) {\n if (supportsBinary) {\n return callback(data);\n }\n else {\n return encodeBlobAsBase64(new Blob([data]), callback);\n }\n }\n // plain string\n return callback(PACKET_TYPES[type] + (data || \"\"));\n};\nconst encodeBlobAsBase64 = (data, callback) => {\n const fileReader = new FileReader();\n fileReader.onload = function () {\n const content = fileReader.result.split(\",\")[1];\n callback(\"b\" + content);\n };\n return fileReader.readAsDataURL(data);\n};\nexport default encodePacket;\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\nexport const encode = (arraybuffer) => {\n let bytes = new Uint8Array(arraybuffer), i, len = bytes.length, base64 = '';\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n }\n else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n return base64;\n};\nexport const decode = (base64) => {\n let bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n const arraybuffer = new ArrayBuffer(bufferLength), bytes = new Uint8Array(arraybuffer);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return arraybuffer;\n};\n","import { ERROR_PACKET, PACKET_TYPES_REVERSE } from \"./commons.js\";\nimport { decode } from \"./contrib/base64-arraybuffer.js\";\nconst withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\nconst decodePacket = (encodedPacket, binaryType) => {\n if (typeof encodedPacket !== \"string\") {\n return {\n type: \"message\",\n data: mapBinary(encodedPacket, binaryType)\n };\n }\n const type = encodedPacket.charAt(0);\n if (type === \"b\") {\n return {\n type: \"message\",\n data: decodeBase64Packet(encodedPacket.substring(1), binaryType)\n };\n }\n const packetType = PACKET_TYPES_REVERSE[type];\n if (!packetType) {\n return ERROR_PACKET;\n }\n return encodedPacket.length > 1\n ? {\n type: PACKET_TYPES_REVERSE[type],\n data: encodedPacket.substring(1)\n }\n : {\n type: PACKET_TYPES_REVERSE[type]\n };\n};\nconst decodeBase64Packet = (data, binaryType) => {\n if (withNativeArrayBuffer) {\n const decoded = decode(data);\n return mapBinary(decoded, binaryType);\n }\n else {\n return { base64: true, data }; // fallback for old browsers\n }\n};\nconst mapBinary = (data, binaryType) => {\n switch (binaryType) {\n case \"blob\":\n return data instanceof ArrayBuffer ? new Blob([data]) : data;\n case \"arraybuffer\":\n default:\n return data; // assuming the data is already an ArrayBuffer\n }\n};\nexport default decodePacket;\n","import encodePacket from \"./encodePacket.js\";\nimport decodePacket from \"./decodePacket.js\";\nconst SEPARATOR = String.fromCharCode(30); // see https://en.wikipedia.org/wiki/Delimiter#ASCII_delimited_text\nconst encodePayload = (packets, callback) => {\n // some packets may be added to the array while encoding, so the initial length must be saved\n const length = packets.length;\n const encodedPackets = new Array(length);\n let count = 0;\n packets.forEach((packet, i) => {\n // force base64 encoding for binary packets\n encodePacket(packet, false, encodedPacket => {\n encodedPackets[i] = encodedPacket;\n if (++count === length) {\n callback(encodedPackets.join(SEPARATOR));\n }\n });\n });\n};\nconst decodePayload = (encodedPayload, binaryType) => {\n const encodedPackets = encodedPayload.split(SEPARATOR);\n const packets = [];\n for (let i = 0; i < encodedPackets.length; i++) {\n const decodedPacket = decodePacket(encodedPackets[i], binaryType);\n packets.push(decodedPacket);\n if (decodedPacket.type === \"error\") {\n break;\n }\n }\n return packets;\n};\nexport const protocol = 4;\nexport { encodePacket, encodePayload, decodePacket, decodePayload };\n","import { decodePacket } from \"engine.io-parser\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { installTimerFunctions } from \"./util.js\";\nclass TransportError extends Error {\n constructor(reason, description, context) {\n super(reason);\n this.description = description;\n this.context = context;\n this.type = \"TransportError\";\n }\n}\nexport class Transport extends Emitter {\n /**\n * Transport abstract constructor.\n *\n * @param {Object} options.\n * @api private\n */\n constructor(opts) {\n super();\n this.writable = false;\n installTimerFunctions(this, opts);\n this.opts = opts;\n this.query = opts.query;\n this.readyState = \"\";\n this.socket = opts.socket;\n }\n /**\n * Emits an error.\n *\n * @param {String} reason\n * @param description\n * @param context - the error context\n * @return {Transport} for chaining\n * @api protected\n */\n onError(reason, description, context) {\n super.emitReserved(\"error\", new TransportError(reason, description, context));\n return this;\n }\n /**\n * Opens the transport.\n *\n * @api public\n */\n open() {\n if (\"closed\" === this.readyState || \"\" === this.readyState) {\n this.readyState = \"opening\";\n this.doOpen();\n }\n return this;\n }\n /**\n * Closes the transport.\n *\n * @api public\n */\n close() {\n if (\"opening\" === this.readyState || \"open\" === this.readyState) {\n this.doClose();\n this.onClose();\n }\n return this;\n }\n /**\n * Sends multiple packets.\n *\n * @param {Array} packets\n * @api public\n */\n send(packets) {\n if (\"open\" === this.readyState) {\n this.write(packets);\n }\n else {\n // this might happen if the transport was silently closed in the beforeunload event handler\n }\n }\n /**\n * Called upon open\n *\n * @api protected\n */\n onOpen() {\n this.readyState = \"open\";\n this.writable = true;\n super.emitReserved(\"open\");\n }\n /**\n * Called with data.\n *\n * @param {String} data\n * @api protected\n */\n onData(data) {\n const packet = decodePacket(data, this.socket.binaryType);\n this.onPacket(packet);\n }\n /**\n * Called with a decoded packet.\n *\n * @api protected\n */\n onPacket(packet) {\n super.emitReserved(\"packet\", packet);\n }\n /**\n * Called upon close.\n *\n * @api protected\n */\n onClose(details) {\n this.readyState = \"closed\";\n super.emitReserved(\"close\", details);\n }\n}\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","import _Promise from \"@babel/runtime-corejs2/core-js/promise\";\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n _Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new _Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n","'use strict';\n// https://github.com/tc39/proposal-promise-try\nvar $export = require('./_export');\nvar newPromiseCapability = require('./_new-promise-capability');\nvar perform = require('./_perform');\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n} });\n","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n","// eslint-disable-next-line strict\nmodule.exports = null;\n","'use strict';\n\nvar AxiosError = require('./AxiosError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar AxiosError = require('../core/AxiosError');\nvar transitionalDefaults = require('./transitional');\nvar toFormData = require('../helpers/toFormData');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('../adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('../adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n var isObjectPayload = utils.isObject(data);\n var contentType = headers && headers['Content-Type'];\n\n var isFileList;\n\n if ((isFileList = utils.isFileList(data)) || (isObjectPayload && contentType === 'multipart/form-data')) {\n var _FormData = this.env && this.env.FormData;\n return toFormData(isFileList ? {'files[]': data} : data, _FormData && new _FormData());\n } else if (isObjectPayload || contentType === 'application/json') {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: require('./env/FormData')\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\nvar global = require('./_global');\nvar core = require('./_core');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar CanceledError = require('../cancel/CanceledError');\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","var hide = require('./_hide');\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n if (safe && target[key]) target[key] = src[key];\n else hide(target, key, src[key]);\n } return target;\n};\n","module.exports = {\n \"version\": \"0.27.2\"\n};","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.promise');\nrequire('../modules/es7.promise.finally');\nrequire('../modules/es7.promise.try');\nmodule.exports = require('../modules/_core').Promise;\n","import { globalThisShim as globalThis } from \"../globalThis.js\";\nexport const nextTick = (() => {\n const isPromiseAvailable = typeof Promise === \"function\" && typeof Promise.resolve === \"function\";\n if (isPromiseAvailable) {\n return cb => Promise.resolve().then(cb);\n }\n else {\n return (cb, setTimeoutFn) => setTimeoutFn(cb, 0);\n }\n})();\nexport const WebSocket = globalThis.WebSocket || globalThis.MozWebSocket;\nexport const usingBrowserWebSocket = true;\nexport const defaultBinaryType = \"arraybuffer\";\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED'\n// eslint-disable-next-line func-names\n].forEach(function(code) {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = function(error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nmodule.exports = AxiosError;\n","module.exports = require(\"core-js/library/fn/promise\");","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar VERSION = require('../env/data').version;\nvar AxiosError = require('../core/AxiosError');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar CanceledError = require('./CanceledError');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; };\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n defineProperty(generator, \"_invoke\", { value: makeInvokeMethod(innerFn, self, context) });\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n defineProperty(Gp, \"constructor\", { value: GeneratorFunctionPrototype, configurable: true });\n defineProperty(\n GeneratorFunctionPrototype,\n \"constructor\",\n { value: GeneratorFunction, configurable: true }\n );\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n defineProperty(this, \"_invoke\", { value: enqueue });\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method;\n var method = delegate.iterator[methodName];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method, or a missing .next mehtod, always terminate the\n // yield* loop.\n context.delegate = null;\n\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (methodName === \"throw\" && delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n if (methodName !== \"return\") {\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a '\" + methodName + \"' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(val) {\n var object = Object(val);\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","// imported from https://github.com/galkn/querystring\n/**\n * Compiles a querystring\n * Returns string representation of the object\n *\n * @param {Object}\n * @api private\n */\nexport function encode(obj) {\n let str = '';\n for (let i in obj) {\n if (obj.hasOwnProperty(i)) {\n if (str.length)\n str += '&';\n str += encodeURIComponent(i) + '=' + encodeURIComponent(obj[i]);\n }\n }\n return str;\n}\n/**\n * Parses a simple querystring into an object\n *\n * @param {String} qs\n * @api private\n */\nexport function decode(qs) {\n let qry = {};\n let pairs = qs.split('&');\n for (let i = 0, l = pairs.length; i < l; i++) {\n let pair = pairs[i].split('=');\n qry[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n return qry;\n}\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n","import { globalThisShim as globalThis } from \"./globalThis.js\";\nexport function pick(obj, ...attr) {\n return attr.reduce((acc, k) => {\n if (obj.hasOwnProperty(k)) {\n acc[k] = obj[k];\n }\n return acc;\n }, {});\n}\n// Keep a reference to the real timeout functions so they can be used when overridden\nconst NATIVE_SET_TIMEOUT = setTimeout;\nconst NATIVE_CLEAR_TIMEOUT = clearTimeout;\nexport function installTimerFunctions(obj, opts) {\n if (opts.useNativeTimers) {\n obj.setTimeoutFn = NATIVE_SET_TIMEOUT.bind(globalThis);\n obj.clearTimeoutFn = NATIVE_CLEAR_TIMEOUT.bind(globalThis);\n }\n else {\n obj.setTimeoutFn = setTimeout.bind(globalThis);\n obj.clearTimeoutFn = clearTimeout.bind(globalThis);\n }\n}\n// base64 encoded buffers are about 33% bigger (https://en.wikipedia.org/wiki/Base64)\nconst BASE64_OVERHEAD = 1.33;\n// we could also have used `new Blob([obj]).size`, but it isn't supported in IE9\nexport function byteLength(obj) {\n if (typeof obj === \"string\") {\n return utf8Length(obj);\n }\n // arraybuffer or blob\n return Math.ceil((obj.byteLength || obj.size) * BASE64_OVERHEAD);\n}\nfunction utf8Length(str) {\n let c = 0, length = 0;\n for (let i = 0, l = str.length; i < l; i++) {\n c = str.charCodeAt(i);\n if (c < 0x80) {\n length += 1;\n }\n else if (c < 0x800) {\n length += 2;\n }\n else if (c < 0xd800 || c >= 0xe000) {\n length += 3;\n }\n else {\n i++;\n length += 4;\n }\n }\n return length;\n}\n","/**\n * Initialize a new `Emitter`.\n *\n * @api public\n */\n\nexport function Emitter(obj) {\n if (obj) return mixin(obj);\n}\n\n/**\n * Mixin the emitter properties.\n *\n * @param {Object} obj\n * @return {Object}\n * @api private\n */\n\nfunction mixin(obj) {\n for (var key in Emitter.prototype) {\n obj[key] = Emitter.prototype[key];\n }\n return obj;\n}\n\n/**\n * Listen on the given `event` with `fn`.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.on =\nEmitter.prototype.addEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n (this._callbacks['$' + event] = this._callbacks['$' + event] || [])\n .push(fn);\n return this;\n};\n\n/**\n * Adds an `event` listener that will be invoked a single\n * time then automatically removed.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.once = function(event, fn){\n function on() {\n this.off(event, on);\n fn.apply(this, arguments);\n }\n\n on.fn = fn;\n this.on(event, on);\n return this;\n};\n\n/**\n * Remove the given callback for `event` or all\n * registered callbacks.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.off =\nEmitter.prototype.removeListener =\nEmitter.prototype.removeAllListeners =\nEmitter.prototype.removeEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n\n // all\n if (0 == arguments.length) {\n this._callbacks = {};\n return this;\n }\n\n // specific event\n var callbacks = this._callbacks['$' + event];\n if (!callbacks) return this;\n\n // remove all handlers\n if (1 == arguments.length) {\n delete this._callbacks['$' + event];\n return this;\n }\n\n // remove specific handler\n var cb;\n for (var i = 0; i < callbacks.length; i++) {\n cb = callbacks[i];\n if (cb === fn || cb.fn === fn) {\n callbacks.splice(i, 1);\n break;\n }\n }\n\n // Remove event specific arrays for event types that no\n // one is subscribed for to avoid memory leak.\n if (callbacks.length === 0) {\n delete this._callbacks['$' + event];\n }\n\n return this;\n};\n\n/**\n * Emit `event` with the given args.\n *\n * @param {String} event\n * @param {Mixed} ...\n * @return {Emitter}\n */\n\nEmitter.prototype.emit = function(event){\n this._callbacks = this._callbacks || {};\n\n var args = new Array(arguments.length - 1)\n , callbacks = this._callbacks['$' + event];\n\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n\n if (callbacks) {\n callbacks = callbacks.slice(0);\n for (var i = 0, len = callbacks.length; i < len; ++i) {\n callbacks[i].apply(this, args);\n }\n }\n\n return this;\n};\n\n// alias used for reserved events (protected method)\nEmitter.prototype.emitReserved = Emitter.prototype.emit;\n\n/**\n * Return array of callbacks for `event`.\n *\n * @param {String} event\n * @return {Array}\n * @api public\n */\n\nEmitter.prototype.listeners = function(event){\n this._callbacks = this._callbacks || {};\n return this._callbacks['$' + event] || [];\n};\n\n/**\n * Check if this emitter has `event` handlers.\n *\n * @param {String} event\n * @return {Boolean}\n * @api public\n */\n\nEmitter.prototype.hasListeners = function(event){\n return !! this.listeners(event).length;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar transitionalDefaults = require('../defaults/transitional');\nvar AxiosError = require('../core/AxiosError');\nvar CanceledError = require('../cancel/CanceledError');\nvar parseProtocol = require('../helpers/parseProtocol');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new CanceledError() : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n var protocol = parseProtocol(fullPath);\n\n if (protocol && [ 'http', 'https', 'file' ].indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData);\n });\n};\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","'use strict';\n\nmodule.exports = function parseProtocol(url) {\n var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n};\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n// eslint-disable-next-line func-names\nvar kindOf = (function(cache) {\n // eslint-disable-next-line func-names\n return function(thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n})(Object.create(null));\n\nfunction kindOfTest(type) {\n type = type.toLowerCase();\n return function isKindOf(thing) {\n return kindOf(thing) === type;\n };\n}\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nvar isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nvar isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} thing The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(thing) {\n var pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nvar isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n */\n\nfunction inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function} [filter]\n * @returns {Object}\n */\n\nfunction toFlatObject(sourceObj, destObj, filter) {\n var props;\n var i;\n var prop;\n var merged = {};\n\n destObj = destObj || {};\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if (!merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = Object.getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/*\n * determines whether a string ends with the characters of a specified string\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n * @returns {boolean}\n */\nfunction endsWith(str, searchString, position) {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n var lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object\n * @param {*} [thing]\n * @returns {Array}\n */\nfunction toArray(thing) {\n if (!thing) return null;\n var i = thing.length;\n if (isUndefined(i)) return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n// eslint-disable-next-line func-names\nvar isTypedArray = (function(TypedArray) {\n // eslint-disable-next-line func-names\n return function(thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array));\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM,\n inherits: inherits,\n toFlatObject: toFlatObject,\n kindOf: kindOf,\n kindOfTest: kindOfTest,\n endsWith: endsWith,\n toArray: toArray,\n isTypedArray: isTypedArray,\n isFileList: isFileList\n};\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = require('./cancel/CanceledError');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\naxios.toFormData = require('./helpers/toFormData');\n\n// Expose AxiosError class\naxios.AxiosError = require('../lib/core/AxiosError');\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","import axios from 'axios'\n\nimport {BASE_URL, MAX_TRIAL_USES} from '../../../env';\n\n\nexport const getBaseURL = () => {\n return BASE_URL;\n};\n\nexport const downloadItem = (store, endpoint, extension, callback) => {\n\n axios({\n url: BASE_URL + endpoint,\n method: 'GET',\n responseType: 'blob', // important,\n headers: {\n 'Authorization': 'Bearer ' + store.getters.getCurrentToken \n },\n }).then((response) => {\n if (!window.navigator.msSaveOrOpenBlob){\n // BLOB NAVIGATOR\n const url = window.URL.createObjectURL(new Blob([response.data]));\n const link = document.createElement('a');\n link.href = url;\n link.setAttribute('download', `download.${extension}`);\n document.body.appendChild(link);\n link.click();\n\n callback('e');\n }else{\n // BLOB FOR EXPLORER 11\n const url = window.navigator.msSaveOrOpenBlob(new Blob([response.data]),\"download.pdf\");\n callback('e');\n }\n });\n};\n\n\n\nexport const uploadItem = (store, endpoint, formdata, progresscallback, callback) => {\n\n const xhr = new XMLHttpRequest();\n // Upload progress\n xhr.upload.addEventListener(\"progress\", (evt) =>{\n if (evt.lengthComputable) {\n const percentComplete = evt.loaded / evt.total;\n // Do something with upload progress\n // outdisp(percentComplete);\n const pc = percentComplete * 100;\n const fixed = pc.toFixed(1);\n progresscallback(parseFloat(fixed));\n }\n }, false);\n\n xhr.onreadystatechange = (evt) => {\n if (xhr.readyState === 4 && xhr.status === 201) {\n callback({'response': xhr.responseText, 'code': 200});\n }\n if (xhr.readyState === 4 && xhr.status >= 300) {\n callback({'response': xhr.responseText, 'code': 404});\n }\n };\n\n xhr.open(\"POST\", BASE_URL + endpoint);\n xhr.setRequestHeader('Authorization', 'Bearer ' + store.getters.getCurrentToken);\n // xhr.setRequestHeader('Accept', 'application/json');\n xhr.send(formdata);\n};\n\n\nexport const uploadItemFetchAsync = async (store, endpoint, formdata) => {\n\n return await fetch(BASE_URL + endpoint, {\n body: formdata,\n headers: {\n 'Accept': 'application/json',\n 'Authorization': 'Bearer ' + store.getters.getCurrentToken \n },\n method: 'POST',\n });\n\n};\n\n\nexport const login = (store, userinfo, callback) => {\n fetch(BASE_URL + `token-auth`, {\n body: JSON.stringify({\n username: userinfo.username,\n password: userinfo.password\n }),\n headers: {\n\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n })\n .then(checkStatus)\n .then(res => res.json())\n .then(res => {\n \n store.commit('setcurrentToken', res.token);\n store.commit('setcurrentUsername', res.userinfo.username);\n store.commit('setcurrentUserId', res.userinfo.id);\n store.commit('setUserType', res.designation.name);\n store.commit('setCurrentFeatures', res.features);\n\n callback({'response': res, 'code': 200});\n })\n .catch(res => {\n console.log(res);\n callback({'response': {}, 'code': 404});\n })\n};\n\nexport const signupCountry = (store, currency, userinfo, callback) => {\n fetch(BASE_URL + `user-signup?currency=` + currency, {\n body: JSON.stringify({\n username: userinfo.username,\n password: userinfo.password,\n first_name: userinfo.first_name,\n last_name: userinfo.last_name,\n email: userinfo.email,\n phone: userinfo.phone\n }),\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n })\n .then(checkStatus)\n .then(res => res.json())\n .then(res => {\n callback({'response': res, 'code': 200});\n })\n .catch(res => {\n console.log(res);\n if(String(res.statustext) ==='Unauthorized'){\n alert('401')\n }\n callback({'response': {}, 'code': 404});\n })\n};\n\nexport const signup = (store, userinfo, callback) => {\n fetch(BASE_URL + `user-signup`, {\n body: JSON.stringify({\n username: userinfo.username,\n password: userinfo.password,\n first_name: userinfo.first_name,\n last_name: userinfo.last_name,\n email: userinfo.email,\n phone: userinfo.phone\n }),\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n })\n .then(checkStatus)\n .then(res => res.json())\n .then(res => {\n callback({'response': res, 'code': 200});\n })\n .catch(res => {\n console.log(res);\n if(String(res.statustext) ==='Unauthorized'){\n alert('401')\n }\n callback({'response': {}, 'code': 404});\n })\n};\n\nexport async function getTableDataAsync(store, apipath) {\n const response = await fetch(BASE_URL + apipath, {\n headers: {\n 'Accept': 'application/json',\n 'Authorization': 'Bearer ' + store.getters.getCurrentToken ,\n // 'Content-Type': 'application/json',\n },\n method: 'GET',\n });\n // waits until the request completes...\n // console.log(response);\n\n return response.json();\n}\n\nexport const getTableData = (store, apipath, callback) => {\n fetch(BASE_URL + apipath + ``, {\n headers: {\n 'Accept': 'application/json',\n 'Authorization': 'Bearer ' + store.getters.getCurrentToken ,\n // 'Content-Type': 'application/json',\n },\n method: 'GET',\n })\n .then(checkStatus)\n .then(res => res.json())\n .then(res => {\n callback({'response': res, 'code': 200});\n })\n .catch(res => {\n if(String(res.statustext) ==='Unauthorized'){\n // outdisp('token expired');\n // store.dispatch('clearData');\n callback({'response': res, 'code': 401});\n }\n else{\n callback({'response': res, 'code': 404});\n }\n })\n };\n\n export const deleteItem = (store, apipath, callback) => { \n fetch(BASE_URL + apipath + ``, {\n headers: {\n 'Accept': 'application/json',\n 'Authorization': 'Bearer ' + store.getters.getCurrentToken\n },\n method: 'DELETE',\n })\n .then(checkStatus)\n .then(res => res.json())\n .then(res => {\n callback({'response': res, 'code': 200});\n })\n .catch(res => {\n if(String(res.statustext) ==='UNAUTHORIZED'){\n \n store.dispatch('clearData');\n callback({'response': {}, 'code': 401});\n }\n else{\n console.log('token expired'+ res.statustext)\n callback({'response': {}, 'code': 404});\n }\n })\n };\n\n export const deleteDataItem = (store, apipath, id, callback) => { \n fetch(BASE_URL + apipath + `?ref_id=${id}`, {\n body: JSON.stringify({\n ref_id: id\n }),\n headers: {\n 'Accept': 'application/json',\n 'Authorization': 'Bearer ' + store.getters.getCurrentToken\n },\n method: 'DELETE',\n })\n .then(checkStatus)\n .then(res => res.json())\n .then(res => {\n callback({'response': res, 'code': 200});\n })\n .catch(res => {\n if(String(res.statustext) ==='UNAUTHORIZED'){\n \n store.dispatch('clearData');\n callback({'response': {}, 'code': 401});\n }\n else{\n console.log('token expired'+ res.statustext)\n callback({'response': {}, 'code': 404});\n }\n })\n };\n \n \n export const createItemJsonPost = (store, endpoint, iteminfo, callback) => {\n fetch(BASE_URL + endpoint, {\n body: JSON.stringify(iteminfo),\n headers: {\n 'Accept': 'application/json',\n 'Authorization': 'Bearer ' + store.getters.getCurrentToken,\n 'Content-Type': 'application/json'\n },\n method: 'POST',\n })\n .then(checkStatus)\n .then(res => res.json())\n .then(res => {\n callback({'response': res, 'code': 200});\n })\n .catch(res => {\n if(String(res.statustext) ==='Unauthorized'){\n callback({'response': res, 'code': 401});\n // callback({'response': {}, 'code': 401});\n }\n else{\n callback({'response': res, 'code': 404});\n }\n })\n };\n\n export const createGeneralItemJsonPost = (address, iteminfo, callback) => {\n fetch(address, {\n body: JSON.stringify(iteminfo),\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n },\n method: 'POST',\n })\n .then(checkStatus)\n .then(res => res.json())\n .then(res => {\n callback({'response': res, 'code': 200});\n })\n .catch(res => {\n if(String(res.statustext) ==='Unauthorized'){\n callback({'response': res, 'code': 401});\n // callback({'response': {}, 'code': 401});\n }\n else{\n callback({'response': res, 'code': 404});\n }\n })\n };\n\n\n export const createMediaItemJsonPost = (store, endpoint, iteminfo, callback) => {\n fetch(BASE_URL + endpoint, {\n body: JSON.stringify(iteminfo),\n headers: {\n 'Accept': 'application/json',\n 'Authorization': 'Bearer ' + store.getters.getCurrentToken,\n 'Content-Type': 'application/json'\n },\n method: 'POST',\n })\n .then(response => response.body)\n .then(rb => {\n const reader = rb.getReader();\n \n return new ReadableStream({\n start(controller) {\n // The following function handles each data chunk\n function push() {\n // \"done\" is a Boolean and value a \"Uint8Array\"\n reader.read().then( ({done, value}) => {\n // If there is no more data to read\n if (done) {\n console.log('done', done);\n controller.close();\n return;\n }\n // Get the data and send it to the browser via the controller\n controller.enqueue(value);\n // Check chunks by logging to the console\n console.log(done, value);\n push();\n })\n }\n \n push();\n }\n });\n })\n .then(stream => {\n // Respond with our stream\n return new Response(stream, { headers: { \"Content-Type\": \"application/octet-stream\" } }).blob();\n })\n .then(blob => {\n // Respond with our stream\n callback( {'response': URL.createObjectURL(blob), 'code': 200})\n })\n .catch(res => {\n\n console.log(res)\n if(String(res.statustext) ==='Unauthorized'){\n store.dispatch('clearData')\n callback({'response': {}, 'code': 401});\n }\n else{\n callback({'response': {}, 'code': 404});\n }\n })\n };\n \n\nfunction checkStatus(response) {\n if (response.status >= 200 && response.status < 300) {\n return response\n } else {\n const error = new Error(response.statusText)\n const key = 'response';\n const key2 = 'statustext';\n error[key] = response\n error[key2] = response.statusText\n throw error\n }\n }","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","// imported from https://github.com/component/has-cors\nlet value = false;\ntry {\n value = typeof XMLHttpRequest !== 'undefined' &&\n 'withCredentials' in new XMLHttpRequest();\n}\ncatch (err) {\n // if XMLHttp support is disabled in IE then it will throw\n // when trying to create\n}\nexport const hasCORS = value;\n","// browser shim for xmlhttprequest module\nimport { hasCORS } from \"../contrib/has-cors.js\";\nimport { globalThisShim as globalThis } from \"../globalThis.js\";\nexport function XHR(opts) {\n const xdomain = opts.xdomain;\n // XMLHttpRequest can be disabled on IE\n try {\n if (\"undefined\" !== typeof XMLHttpRequest && (!xdomain || hasCORS)) {\n return new XMLHttpRequest();\n }\n }\n catch (e) { }\n if (!xdomain) {\n try {\n return new globalThis[[\"Active\"].concat(\"Object\").join(\"X\")](\"Microsoft.XMLHTTP\");\n }\n catch (e) { }\n }\n}\n","import { Transport } from \"../transport.js\";\nimport { yeast } from \"../contrib/yeast.js\";\nimport { encode } from \"../contrib/parseqs.js\";\nimport { encodePayload, decodePayload } from \"engine.io-parser\";\nimport { XHR as XMLHttpRequest } from \"./xmlhttprequest.js\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { installTimerFunctions, pick } from \"../util.js\";\nimport { globalThisShim as globalThis } from \"../globalThis.js\";\nfunction empty() { }\nconst hasXHR2 = (function () {\n const xhr = new XMLHttpRequest({\n xdomain: false\n });\n return null != xhr.responseType;\n})();\nexport class Polling extends Transport {\n /**\n * XHR Polling constructor.\n *\n * @param {Object} opts\n * @api public\n */\n constructor(opts) {\n super(opts);\n this.polling = false;\n if (typeof location !== \"undefined\") {\n const isSSL = \"https:\" === location.protocol;\n let port = location.port;\n // some user agents have empty `location.port`\n if (!port) {\n port = isSSL ? \"443\" : \"80\";\n }\n this.xd =\n (typeof location !== \"undefined\" &&\n opts.hostname !== location.hostname) ||\n port !== opts.port;\n this.xs = opts.secure !== isSSL;\n }\n /**\n * XHR supports binary\n */\n const forceBase64 = opts && opts.forceBase64;\n this.supportsBinary = hasXHR2 && !forceBase64;\n }\n /**\n * Transport name.\n */\n get name() {\n return \"polling\";\n }\n /**\n * Opens the socket (triggers polling). We write a PING message to determine\n * when the transport is open.\n *\n * @api private\n */\n doOpen() {\n this.poll();\n }\n /**\n * Pauses polling.\n *\n * @param {Function} callback upon buffers are flushed and transport is paused\n * @api private\n */\n pause(onPause) {\n this.readyState = \"pausing\";\n const pause = () => {\n this.readyState = \"paused\";\n onPause();\n };\n if (this.polling || !this.writable) {\n let total = 0;\n if (this.polling) {\n total++;\n this.once(\"pollComplete\", function () {\n --total || pause();\n });\n }\n if (!this.writable) {\n total++;\n this.once(\"drain\", function () {\n --total || pause();\n });\n }\n }\n else {\n pause();\n }\n }\n /**\n * Starts polling cycle.\n *\n * @api public\n */\n poll() {\n this.polling = true;\n this.doPoll();\n this.emitReserved(\"poll\");\n }\n /**\n * Overloads onData to detect payloads.\n *\n * @api private\n */\n onData(data) {\n const callback = packet => {\n // if its the first message we consider the transport open\n if (\"opening\" === this.readyState && packet.type === \"open\") {\n this.onOpen();\n }\n // if its a close packet, we close the ongoing requests\n if (\"close\" === packet.type) {\n this.onClose({ description: \"transport closed by the server\" });\n return false;\n }\n // otherwise bypass onData and handle the message\n this.onPacket(packet);\n };\n // decode payload\n decodePayload(data, this.socket.binaryType).forEach(callback);\n // if an event did not trigger closing\n if (\"closed\" !== this.readyState) {\n // if we got data we're not polling\n this.polling = false;\n this.emitReserved(\"pollComplete\");\n if (\"open\" === this.readyState) {\n this.poll();\n }\n else {\n }\n }\n }\n /**\n * For polling, send a close packet.\n *\n * @api private\n */\n doClose() {\n const close = () => {\n this.write([{ type: \"close\" }]);\n };\n if (\"open\" === this.readyState) {\n close();\n }\n else {\n // in case we're trying to close while\n // handshaking is in progress (GH-164)\n this.once(\"open\", close);\n }\n }\n /**\n * Writes a packets payload.\n *\n * @param {Array} data packets\n * @param {Function} drain callback\n * @api private\n */\n write(packets) {\n this.writable = false;\n encodePayload(packets, data => {\n this.doWrite(data, () => {\n this.writable = true;\n this.emitReserved(\"drain\");\n });\n });\n }\n /**\n * Generates uri for connection.\n *\n * @api private\n */\n uri() {\n let query = this.query || {};\n const schema = this.opts.secure ? \"https\" : \"http\";\n let port = \"\";\n // cache busting is forced\n if (false !== this.opts.timestampRequests) {\n query[this.opts.timestampParam] = yeast();\n }\n if (!this.supportsBinary && !query.sid) {\n query.b64 = 1;\n }\n // avoid port if default for schema\n if (this.opts.port &&\n ((\"https\" === schema && Number(this.opts.port) !== 443) ||\n (\"http\" === schema && Number(this.opts.port) !== 80))) {\n port = \":\" + this.opts.port;\n }\n const encodedQuery = encode(query);\n const ipv6 = this.opts.hostname.indexOf(\":\") !== -1;\n return (schema +\n \"://\" +\n (ipv6 ? \"[\" + this.opts.hostname + \"]\" : this.opts.hostname) +\n port +\n this.opts.path +\n (encodedQuery.length ? \"?\" + encodedQuery : \"\"));\n }\n /**\n * Creates a request.\n *\n * @param {String} method\n * @api private\n */\n request(opts = {}) {\n Object.assign(opts, { xd: this.xd, xs: this.xs }, this.opts);\n return new Request(this.uri(), opts);\n }\n /**\n * Sends data.\n *\n * @param {String} data to send.\n * @param {Function} called upon flush.\n * @api private\n */\n doWrite(data, fn) {\n const req = this.request({\n method: \"POST\",\n data: data\n });\n req.on(\"success\", fn);\n req.on(\"error\", (xhrStatus, context) => {\n this.onError(\"xhr post error\", xhrStatus, context);\n });\n }\n /**\n * Starts a poll cycle.\n *\n * @api private\n */\n doPoll() {\n const req = this.request();\n req.on(\"data\", this.onData.bind(this));\n req.on(\"error\", (xhrStatus, context) => {\n this.onError(\"xhr poll error\", xhrStatus, context);\n });\n this.pollXhr = req;\n }\n}\nexport class Request extends Emitter {\n /**\n * Request constructor\n *\n * @param {Object} options\n * @api public\n */\n constructor(uri, opts) {\n super();\n installTimerFunctions(this, opts);\n this.opts = opts;\n this.method = opts.method || \"GET\";\n this.uri = uri;\n this.async = false !== opts.async;\n this.data = undefined !== opts.data ? opts.data : null;\n this.create();\n }\n /**\n * Creates the XHR object and sends the request.\n *\n * @api private\n */\n create() {\n const opts = pick(this.opts, \"agent\", \"pfx\", \"key\", \"passphrase\", \"cert\", \"ca\", \"ciphers\", \"rejectUnauthorized\", \"autoUnref\");\n opts.xdomain = !!this.opts.xd;\n opts.xscheme = !!this.opts.xs;\n const xhr = (this.xhr = new XMLHttpRequest(opts));\n try {\n xhr.open(this.method, this.uri, this.async);\n try {\n if (this.opts.extraHeaders) {\n xhr.setDisableHeaderCheck && xhr.setDisableHeaderCheck(true);\n for (let i in this.opts.extraHeaders) {\n if (this.opts.extraHeaders.hasOwnProperty(i)) {\n xhr.setRequestHeader(i, this.opts.extraHeaders[i]);\n }\n }\n }\n }\n catch (e) { }\n if (\"POST\" === this.method) {\n try {\n xhr.setRequestHeader(\"Content-type\", \"text/plain;charset=UTF-8\");\n }\n catch (e) { }\n }\n try {\n xhr.setRequestHeader(\"Accept\", \"*/*\");\n }\n catch (e) { }\n // ie6 check\n if (\"withCredentials\" in xhr) {\n xhr.withCredentials = this.opts.withCredentials;\n }\n if (this.opts.requestTimeout) {\n xhr.timeout = this.opts.requestTimeout;\n }\n xhr.onreadystatechange = () => {\n if (4 !== xhr.readyState)\n return;\n if (200 === xhr.status || 1223 === xhr.status) {\n this.onLoad();\n }\n else {\n // make sure the `error` event handler that's user-set\n // does not throw in the same tick and gets caught here\n this.setTimeoutFn(() => {\n this.onError(typeof xhr.status === \"number\" ? xhr.status : 0);\n }, 0);\n }\n };\n xhr.send(this.data);\n }\n catch (e) {\n // Need to defer since .create() is called directly from the constructor\n // and thus the 'error' event can only be only bound *after* this exception\n // occurs. Therefore, also, we cannot throw here at all.\n this.setTimeoutFn(() => {\n this.onError(e);\n }, 0);\n return;\n }\n if (typeof document !== \"undefined\") {\n this.index = Request.requestsCount++;\n Request.requests[this.index] = this;\n }\n }\n /**\n * Called upon error.\n *\n * @api private\n */\n onError(err) {\n this.emitReserved(\"error\", err, this.xhr);\n this.cleanup(true);\n }\n /**\n * Cleans up house.\n *\n * @api private\n */\n cleanup(fromError) {\n if (\"undefined\" === typeof this.xhr || null === this.xhr) {\n return;\n }\n this.xhr.onreadystatechange = empty;\n if (fromError) {\n try {\n this.xhr.abort();\n }\n catch (e) { }\n }\n if (typeof document !== \"undefined\") {\n delete Request.requests[this.index];\n }\n this.xhr = null;\n }\n /**\n * Called upon load.\n *\n * @api private\n */\n onLoad() {\n const data = this.xhr.responseText;\n if (data !== null) {\n this.emitReserved(\"data\", data);\n this.emitReserved(\"success\");\n this.cleanup();\n }\n }\n /**\n * Aborts the request.\n *\n * @api public\n */\n abort() {\n this.cleanup();\n }\n}\nRequest.requestsCount = 0;\nRequest.requests = {};\n/**\n * Aborts pending requests when unloading the window. This is needed to prevent\n * memory leaks (e.g. when using IE) and to ensure that no spurious error is\n * emitted.\n */\nif (typeof document !== \"undefined\") {\n // @ts-ignore\n if (typeof attachEvent === \"function\") {\n // @ts-ignore\n attachEvent(\"onunload\", unloadHandler);\n }\n else if (typeof addEventListener === \"function\") {\n const terminationEvent = \"onpagehide\" in globalThis ? \"pagehide\" : \"unload\";\n addEventListener(terminationEvent, unloadHandler, false);\n }\n}\nfunction unloadHandler() {\n for (let i in Request.requests) {\n if (Request.requests.hasOwnProperty(i)) {\n Request.requests[i].abort();\n }\n }\n}\n","import { Polling } from \"./polling.js\";\nimport { WS } from \"./websocket.js\";\nexport const transports = {\n websocket: WS,\n polling: Polling\n};\n","// imported from https://github.com/galkn/parseuri\n/**\n * Parses an URI\n *\n * @author Steven Levithan (MIT license)\n * @api private\n */\nconst re = /^(?:(?![^:@]+:[^:@\\/]*@)(http|https|ws|wss):\\/\\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/;\nconst parts = [\n 'source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'anchor'\n];\nexport function parse(str) {\n const src = str, b = str.indexOf('['), e = str.indexOf(']');\n if (b != -1 && e != -1) {\n str = str.substring(0, b) + str.substring(b, e).replace(/:/g, ';') + str.substring(e, str.length);\n }\n let m = re.exec(str || ''), uri = {}, i = 14;\n while (i--) {\n uri[parts[i]] = m[i] || '';\n }\n if (b != -1 && e != -1) {\n uri.source = src;\n uri.host = uri.host.substring(1, uri.host.length - 1).replace(/;/g, ':');\n uri.authority = uri.authority.replace('[', '').replace(']', '').replace(/;/g, ':');\n uri.ipv6uri = true;\n }\n uri.pathNames = pathNames(uri, uri['path']);\n uri.queryKey = queryKey(uri, uri['query']);\n return uri;\n}\nfunction pathNames(obj, path) {\n const regx = /\\/{2,9}/g, names = path.replace(regx, \"/\").split(\"/\");\n if (path.slice(0, 1) == '/' || path.length === 0) {\n names.splice(0, 1);\n }\n if (path.slice(-1) == '/') {\n names.splice(names.length - 1, 1);\n }\n return names;\n}\nfunction queryKey(uri, query) {\n const data = {};\n query.replace(/(?:^|&)([^&=]*)=?([^&]*)/g, function ($0, $1, $2) {\n if ($1) {\n data[$1] = $2;\n }\n });\n return data;\n}\n","import { transports } from \"./transports/index.js\";\nimport { installTimerFunctions, byteLength } from \"./util.js\";\nimport { decode } from \"./contrib/parseqs.js\";\nimport { parse } from \"./contrib/parseuri.js\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { protocol } from \"engine.io-parser\";\nexport class Socket extends Emitter {\n /**\n * Socket constructor.\n *\n * @param {String|Object} uri or options\n * @param {Object} opts - options\n * @api public\n */\n constructor(uri, opts = {}) {\n super();\n if (uri && \"object\" === typeof uri) {\n opts = uri;\n uri = null;\n }\n if (uri) {\n uri = parse(uri);\n opts.hostname = uri.host;\n opts.secure = uri.protocol === \"https\" || uri.protocol === \"wss\";\n opts.port = uri.port;\n if (uri.query)\n opts.query = uri.query;\n }\n else if (opts.host) {\n opts.hostname = parse(opts.host).host;\n }\n installTimerFunctions(this, opts);\n this.secure =\n null != opts.secure\n ? opts.secure\n : typeof location !== \"undefined\" && \"https:\" === location.protocol;\n if (opts.hostname && !opts.port) {\n // if no port is specified manually, use the protocol default\n opts.port = this.secure ? \"443\" : \"80\";\n }\n this.hostname =\n opts.hostname ||\n (typeof location !== \"undefined\" ? location.hostname : \"localhost\");\n this.port =\n opts.port ||\n (typeof location !== \"undefined\" && location.port\n ? location.port\n : this.secure\n ? \"443\"\n : \"80\");\n this.transports = opts.transports || [\"polling\", \"websocket\"];\n this.readyState = \"\";\n this.writeBuffer = [];\n this.prevBufferLen = 0;\n this.opts = Object.assign({\n path: \"/engine.io\",\n agent: false,\n withCredentials: false,\n upgrade: true,\n timestampParam: \"t\",\n rememberUpgrade: false,\n rejectUnauthorized: true,\n perMessageDeflate: {\n threshold: 1024\n },\n transportOptions: {},\n closeOnBeforeunload: true\n }, opts);\n this.opts.path = this.opts.path.replace(/\\/$/, \"\") + \"/\";\n if (typeof this.opts.query === \"string\") {\n this.opts.query = decode(this.opts.query);\n }\n // set on handshake\n this.id = null;\n this.upgrades = null;\n this.pingInterval = null;\n this.pingTimeout = null;\n // set on heartbeat\n this.pingTimeoutTimer = null;\n if (typeof addEventListener === \"function\") {\n if (this.opts.closeOnBeforeunload) {\n // Firefox closes the connection when the \"beforeunload\" event is emitted but not Chrome. This event listener\n // ensures every browser behaves the same (no \"disconnect\" event at the Socket.IO level when the page is\n // closed/reloaded)\n this.beforeunloadEventListener = () => {\n if (this.transport) {\n // silently close the transport\n this.transport.removeAllListeners();\n this.transport.close();\n }\n };\n addEventListener(\"beforeunload\", this.beforeunloadEventListener, false);\n }\n if (this.hostname !== \"localhost\") {\n this.offlineEventListener = () => {\n this.onClose(\"transport close\", {\n description: \"network connection lost\"\n });\n };\n addEventListener(\"offline\", this.offlineEventListener, false);\n }\n }\n this.open();\n }\n /**\n * Creates transport of the given type.\n *\n * @param {String} transport name\n * @return {Transport}\n * @api private\n */\n createTransport(name) {\n const query = Object.assign({}, this.opts.query);\n // append engine.io protocol identifier\n query.EIO = protocol;\n // transport name\n query.transport = name;\n // session id if we already have one\n if (this.id)\n query.sid = this.id;\n const opts = Object.assign({}, this.opts.transportOptions[name], this.opts, {\n query,\n socket: this,\n hostname: this.hostname,\n secure: this.secure,\n port: this.port\n });\n return new transports[name](opts);\n }\n /**\n * Initializes transport to use and starts probe.\n *\n * @api private\n */\n open() {\n let transport;\n if (this.opts.rememberUpgrade &&\n Socket.priorWebsocketSuccess &&\n this.transports.indexOf(\"websocket\") !== -1) {\n transport = \"websocket\";\n }\n else if (0 === this.transports.length) {\n // Emit error on next tick so it can be listened to\n this.setTimeoutFn(() => {\n this.emitReserved(\"error\", \"No transports available\");\n }, 0);\n return;\n }\n else {\n transport = this.transports[0];\n }\n this.readyState = \"opening\";\n // Retry with the next transport if the transport is disabled (jsonp: false)\n try {\n transport = this.createTransport(transport);\n }\n catch (e) {\n this.transports.shift();\n this.open();\n return;\n }\n transport.open();\n this.setTransport(transport);\n }\n /**\n * Sets the current transport. Disables the existing one (if any).\n *\n * @api private\n */\n setTransport(transport) {\n if (this.transport) {\n this.transport.removeAllListeners();\n }\n // set up transport\n this.transport = transport;\n // set up transport listeners\n transport\n .on(\"drain\", this.onDrain.bind(this))\n .on(\"packet\", this.onPacket.bind(this))\n .on(\"error\", this.onError.bind(this))\n .on(\"close\", reason => this.onClose(\"transport close\", reason));\n }\n /**\n * Probes a transport.\n *\n * @param {String} transport name\n * @api private\n */\n probe(name) {\n let transport = this.createTransport(name);\n let failed = false;\n Socket.priorWebsocketSuccess = false;\n const onTransportOpen = () => {\n if (failed)\n return;\n transport.send([{ type: \"ping\", data: \"probe\" }]);\n transport.once(\"packet\", msg => {\n if (failed)\n return;\n if (\"pong\" === msg.type && \"probe\" === msg.data) {\n this.upgrading = true;\n this.emitReserved(\"upgrading\", transport);\n if (!transport)\n return;\n Socket.priorWebsocketSuccess = \"websocket\" === transport.name;\n this.transport.pause(() => {\n if (failed)\n return;\n if (\"closed\" === this.readyState)\n return;\n cleanup();\n this.setTransport(transport);\n transport.send([{ type: \"upgrade\" }]);\n this.emitReserved(\"upgrade\", transport);\n transport = null;\n this.upgrading = false;\n this.flush();\n });\n }\n else {\n const err = new Error(\"probe error\");\n // @ts-ignore\n err.transport = transport.name;\n this.emitReserved(\"upgradeError\", err);\n }\n });\n };\n function freezeTransport() {\n if (failed)\n return;\n // Any callback called by transport should be ignored since now\n failed = true;\n cleanup();\n transport.close();\n transport = null;\n }\n // Handle any error that happens while probing\n const onerror = err => {\n const error = new Error(\"probe error: \" + err);\n // @ts-ignore\n error.transport = transport.name;\n freezeTransport();\n this.emitReserved(\"upgradeError\", error);\n };\n function onTransportClose() {\n onerror(\"transport closed\");\n }\n // When the socket is closed while we're probing\n function onclose() {\n onerror(\"socket closed\");\n }\n // When the socket is upgraded while we're probing\n function onupgrade(to) {\n if (transport && to.name !== transport.name) {\n freezeTransport();\n }\n }\n // Remove all listeners on the transport and on self\n const cleanup = () => {\n transport.removeListener(\"open\", onTransportOpen);\n transport.removeListener(\"error\", onerror);\n transport.removeListener(\"close\", onTransportClose);\n this.off(\"close\", onclose);\n this.off(\"upgrading\", onupgrade);\n };\n transport.once(\"open\", onTransportOpen);\n transport.once(\"error\", onerror);\n transport.once(\"close\", onTransportClose);\n this.once(\"close\", onclose);\n this.once(\"upgrading\", onupgrade);\n transport.open();\n }\n /**\n * Called when connection is deemed open.\n *\n * @api private\n */\n onOpen() {\n this.readyState = \"open\";\n Socket.priorWebsocketSuccess = \"websocket\" === this.transport.name;\n this.emitReserved(\"open\");\n this.flush();\n // we check for `readyState` in case an `open`\n // listener already closed the socket\n if (\"open\" === this.readyState &&\n this.opts.upgrade &&\n this.transport.pause) {\n let i = 0;\n const l = this.upgrades.length;\n for (; i < l; i++) {\n this.probe(this.upgrades[i]);\n }\n }\n }\n /**\n * Handles a packet.\n *\n * @api private\n */\n onPacket(packet) {\n if (\"opening\" === this.readyState ||\n \"open\" === this.readyState ||\n \"closing\" === this.readyState) {\n this.emitReserved(\"packet\", packet);\n // Socket is live - any packet counts\n this.emitReserved(\"heartbeat\");\n switch (packet.type) {\n case \"open\":\n this.onHandshake(JSON.parse(packet.data));\n break;\n case \"ping\":\n this.resetPingTimeout();\n this.sendPacket(\"pong\");\n this.emitReserved(\"ping\");\n this.emitReserved(\"pong\");\n break;\n case \"error\":\n const err = new Error(\"server error\");\n // @ts-ignore\n err.code = packet.data;\n this.onError(err);\n break;\n case \"message\":\n this.emitReserved(\"data\", packet.data);\n this.emitReserved(\"message\", packet.data);\n break;\n }\n }\n else {\n }\n }\n /**\n * Called upon handshake completion.\n *\n * @param {Object} data - handshake obj\n * @api private\n */\n onHandshake(data) {\n this.emitReserved(\"handshake\", data);\n this.id = data.sid;\n this.transport.query.sid = data.sid;\n this.upgrades = this.filterUpgrades(data.upgrades);\n this.pingInterval = data.pingInterval;\n this.pingTimeout = data.pingTimeout;\n this.maxPayload = data.maxPayload;\n this.onOpen();\n // In case open handler closes socket\n if (\"closed\" === this.readyState)\n return;\n this.resetPingTimeout();\n }\n /**\n * Sets and resets ping timeout timer based on server pings.\n *\n * @api private\n */\n resetPingTimeout() {\n this.clearTimeoutFn(this.pingTimeoutTimer);\n this.pingTimeoutTimer = this.setTimeoutFn(() => {\n this.onClose(\"ping timeout\");\n }, this.pingInterval + this.pingTimeout);\n if (this.opts.autoUnref) {\n this.pingTimeoutTimer.unref();\n }\n }\n /**\n * Called on `drain` event\n *\n * @api private\n */\n onDrain() {\n this.writeBuffer.splice(0, this.prevBufferLen);\n // setting prevBufferLen = 0 is very important\n // for example, when upgrading, upgrade packet is sent over,\n // and a nonzero prevBufferLen could cause problems on `drain`\n this.prevBufferLen = 0;\n if (0 === this.writeBuffer.length) {\n this.emitReserved(\"drain\");\n }\n else {\n this.flush();\n }\n }\n /**\n * Flush write buffers.\n *\n * @api private\n */\n flush() {\n if (\"closed\" !== this.readyState &&\n this.transport.writable &&\n !this.upgrading &&\n this.writeBuffer.length) {\n const packets = this.getWritablePackets();\n this.transport.send(packets);\n // keep track of current length of writeBuffer\n // splice writeBuffer and callbackBuffer on `drain`\n this.prevBufferLen = packets.length;\n this.emitReserved(\"flush\");\n }\n }\n /**\n * Ensure the encoded size of the writeBuffer is below the maxPayload value sent by the server (only for HTTP\n * long-polling)\n *\n * @private\n */\n getWritablePackets() {\n const shouldCheckPayloadSize = this.maxPayload &&\n this.transport.name === \"polling\" &&\n this.writeBuffer.length > 1;\n if (!shouldCheckPayloadSize) {\n return this.writeBuffer;\n }\n let payloadSize = 1; // first packet type\n for (let i = 0; i < this.writeBuffer.length; i++) {\n const data = this.writeBuffer[i].data;\n if (data) {\n payloadSize += byteLength(data);\n }\n if (i > 0 && payloadSize > this.maxPayload) {\n return this.writeBuffer.slice(0, i);\n }\n payloadSize += 2; // separator + packet type\n }\n return this.writeBuffer;\n }\n /**\n * Sends a message.\n *\n * @param {String} message.\n * @param {Function} callback function.\n * @param {Object} options.\n * @return {Socket} for chaining.\n * @api public\n */\n write(msg, options, fn) {\n this.sendPacket(\"message\", msg, options, fn);\n return this;\n }\n send(msg, options, fn) {\n this.sendPacket(\"message\", msg, options, fn);\n return this;\n }\n /**\n * Sends a packet.\n *\n * @param {String} packet type.\n * @param {String} data.\n * @param {Object} options.\n * @param {Function} callback function.\n * @api private\n */\n sendPacket(type, data, options, fn) {\n if (\"function\" === typeof data) {\n fn = data;\n data = undefined;\n }\n if (\"function\" === typeof options) {\n fn = options;\n options = null;\n }\n if (\"closing\" === this.readyState || \"closed\" === this.readyState) {\n return;\n }\n options = options || {};\n options.compress = false !== options.compress;\n const packet = {\n type: type,\n data: data,\n options: options\n };\n this.emitReserved(\"packetCreate\", packet);\n this.writeBuffer.push(packet);\n if (fn)\n this.once(\"flush\", fn);\n this.flush();\n }\n /**\n * Closes the connection.\n *\n * @api public\n */\n close() {\n const close = () => {\n this.onClose(\"forced close\");\n this.transport.close();\n };\n const cleanupAndClose = () => {\n this.off(\"upgrade\", cleanupAndClose);\n this.off(\"upgradeError\", cleanupAndClose);\n close();\n };\n const waitForUpgrade = () => {\n // wait for upgrade to finish since we can't send packets while pausing a transport\n this.once(\"upgrade\", cleanupAndClose);\n this.once(\"upgradeError\", cleanupAndClose);\n };\n if (\"opening\" === this.readyState || \"open\" === this.readyState) {\n this.readyState = \"closing\";\n if (this.writeBuffer.length) {\n this.once(\"drain\", () => {\n if (this.upgrading) {\n waitForUpgrade();\n }\n else {\n close();\n }\n });\n }\n else if (this.upgrading) {\n waitForUpgrade();\n }\n else {\n close();\n }\n }\n return this;\n }\n /**\n * Called upon transport error\n *\n * @api private\n */\n onError(err) {\n Socket.priorWebsocketSuccess = false;\n this.emitReserved(\"error\", err);\n this.onClose(\"transport error\", err);\n }\n /**\n * Called upon transport close.\n *\n * @api private\n */\n onClose(reason, description) {\n if (\"opening\" === this.readyState ||\n \"open\" === this.readyState ||\n \"closing\" === this.readyState) {\n // clear timers\n this.clearTimeoutFn(this.pingTimeoutTimer);\n // stop event from firing again for transport\n this.transport.removeAllListeners(\"close\");\n // ensure transport won't stay open\n this.transport.close();\n // ignore further transport communication\n this.transport.removeAllListeners();\n if (typeof removeEventListener === \"function\") {\n removeEventListener(\"beforeunload\", this.beforeunloadEventListener, false);\n removeEventListener(\"offline\", this.offlineEventListener, false);\n }\n // set ready state\n this.readyState = \"closed\";\n // clear session id\n this.id = null;\n // emit close event\n this.emitReserved(\"close\", reason, description);\n // clean buffers after, so users can still\n // grab the buffers on `close` event\n this.writeBuffer = [];\n this.prevBufferLen = 0;\n }\n }\n /**\n * Filters upgrades, returning only those matching client transports.\n *\n * @param {Array} server upgrades\n * @api private\n *\n */\n filterUpgrades(upgrades) {\n const filteredUpgrades = [];\n let i = 0;\n const j = upgrades.length;\n for (; i < j; i++) {\n if (~this.transports.indexOf(upgrades[i]))\n filteredUpgrades.push(upgrades[i]);\n }\n return filteredUpgrades;\n }\n}\nSocket.protocol = protocol;\n","import { Socket } from \"./socket.js\";\nexport { Socket };\nexport const protocol = Socket.protocol;\nexport { Transport } from \"./transport.js\";\nexport { transports } from \"./transports/index.js\";\nexport { installTimerFunctions } from \"./util.js\";\nexport { parse } from \"./contrib/parseuri.js\";\nexport { nextTick } from \"./transports/websocket-constructor.js\";\n","import { parse } from \"engine.io-client\";\n/**\n * URL parser.\n *\n * @param uri - url\n * @param path - the request path of the connection\n * @param loc - An object meant to mimic window.location.\n * Defaults to window.location.\n * @public\n */\nexport function url(uri, path = \"\", loc) {\n let obj = uri;\n // default to window.location\n loc = loc || (typeof location !== \"undefined\" && location);\n if (null == uri)\n uri = loc.protocol + \"//\" + loc.host;\n // relative path support\n if (typeof uri === \"string\") {\n if (\"/\" === uri.charAt(0)) {\n if (\"/\" === uri.charAt(1)) {\n uri = loc.protocol + uri;\n }\n else {\n uri = loc.host + uri;\n }\n }\n if (!/^(https?|wss?):\\/\\//.test(uri)) {\n if (\"undefined\" !== typeof loc) {\n uri = loc.protocol + \"//\" + uri;\n }\n else {\n uri = \"https://\" + uri;\n }\n }\n // parse\n obj = parse(uri);\n }\n // make sure we treat `localhost:80` and `localhost` equally\n if (!obj.port) {\n if (/^(http|ws)$/.test(obj.protocol)) {\n obj.port = \"80\";\n }\n else if (/^(http|ws)s$/.test(obj.protocol)) {\n obj.port = \"443\";\n }\n }\n obj.path = obj.path || \"/\";\n const ipv6 = obj.host.indexOf(\":\") !== -1;\n const host = ipv6 ? \"[\" + obj.host + \"]\" : obj.host;\n // define unique id\n obj.id = obj.protocol + \"://\" + host + \":\" + obj.port + path;\n // define href\n obj.href =\n obj.protocol +\n \"://\" +\n host +\n (loc && loc.port === obj.port ? \"\" : \":\" + obj.port);\n return obj;\n}\n","const withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\nconst isView = (obj) => {\n return typeof ArrayBuffer.isView === \"function\"\n ? ArrayBuffer.isView(obj)\n : obj.buffer instanceof ArrayBuffer;\n};\nconst toString = Object.prototype.toString;\nconst withNativeBlob = typeof Blob === \"function\" ||\n (typeof Blob !== \"undefined\" &&\n toString.call(Blob) === \"[object BlobConstructor]\");\nconst withNativeFile = typeof File === \"function\" ||\n (typeof File !== \"undefined\" &&\n toString.call(File) === \"[object FileConstructor]\");\n/**\n * Returns true if obj is a Buffer, an ArrayBuffer, a Blob or a File.\n *\n * @private\n */\nexport function isBinary(obj) {\n return ((withNativeArrayBuffer && (obj instanceof ArrayBuffer || isView(obj))) ||\n (withNativeBlob && obj instanceof Blob) ||\n (withNativeFile && obj instanceof File));\n}\nexport function hasBinary(obj, toJSON) {\n if (!obj || typeof obj !== \"object\") {\n return false;\n }\n if (Array.isArray(obj)) {\n for (let i = 0, l = obj.length; i < l; i++) {\n if (hasBinary(obj[i])) {\n return true;\n }\n }\n return false;\n }\n if (isBinary(obj)) {\n return true;\n }\n if (obj.toJSON &&\n typeof obj.toJSON === \"function\" &&\n arguments.length === 1) {\n return hasBinary(obj.toJSON(), true);\n }\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key) && hasBinary(obj[key])) {\n return true;\n }\n }\n return false;\n}\n","import { isBinary } from \"./is-binary.js\";\n/**\n * Replaces every Buffer | ArrayBuffer | Blob | File in packet with a numbered placeholder.\n *\n * @param {Object} packet - socket.io event packet\n * @return {Object} with deconstructed packet and list of buffers\n * @public\n */\nexport function deconstructPacket(packet) {\n const buffers = [];\n const packetData = packet.data;\n const pack = packet;\n pack.data = _deconstructPacket(packetData, buffers);\n pack.attachments = buffers.length; // number of binary 'attachments'\n return { packet: pack, buffers: buffers };\n}\nfunction _deconstructPacket(data, buffers) {\n if (!data)\n return data;\n if (isBinary(data)) {\n const placeholder = { _placeholder: true, num: buffers.length };\n buffers.push(data);\n return placeholder;\n }\n else if (Array.isArray(data)) {\n const newData = new Array(data.length);\n for (let i = 0; i < data.length; i++) {\n newData[i] = _deconstructPacket(data[i], buffers);\n }\n return newData;\n }\n else if (typeof data === \"object\" && !(data instanceof Date)) {\n const newData = {};\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n newData[key] = _deconstructPacket(data[key], buffers);\n }\n }\n return newData;\n }\n return data;\n}\n/**\n * Reconstructs a binary packet from its placeholder packet and buffers\n *\n * @param {Object} packet - event packet with placeholders\n * @param {Array} buffers - binary buffers to put in placeholder positions\n * @return {Object} reconstructed packet\n * @public\n */\nexport function reconstructPacket(packet, buffers) {\n packet.data = _reconstructPacket(packet.data, buffers);\n packet.attachments = undefined; // no longer useful\n return packet;\n}\nfunction _reconstructPacket(data, buffers) {\n if (!data)\n return data;\n if (data && data._placeholder === true) {\n const isIndexValid = typeof data.num === \"number\" &&\n data.num >= 0 &&\n data.num < buffers.length;\n if (isIndexValid) {\n return buffers[data.num]; // appropriate buffer (should be natural order anyway)\n }\n else {\n throw new Error(\"illegal attachments\");\n }\n }\n else if (Array.isArray(data)) {\n for (let i = 0; i < data.length; i++) {\n data[i] = _reconstructPacket(data[i], buffers);\n }\n }\n else if (typeof data === \"object\") {\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n data[key] = _reconstructPacket(data[key], buffers);\n }\n }\n }\n return data;\n}\n","import { Emitter } from \"@socket.io/component-emitter\";\nimport { deconstructPacket, reconstructPacket } from \"./binary.js\";\nimport { isBinary, hasBinary } from \"./is-binary.js\";\n/**\n * Protocol version.\n *\n * @public\n */\nexport const protocol = 5;\nexport var PacketType;\n(function (PacketType) {\n PacketType[PacketType[\"CONNECT\"] = 0] = \"CONNECT\";\n PacketType[PacketType[\"DISCONNECT\"] = 1] = \"DISCONNECT\";\n PacketType[PacketType[\"EVENT\"] = 2] = \"EVENT\";\n PacketType[PacketType[\"ACK\"] = 3] = \"ACK\";\n PacketType[PacketType[\"CONNECT_ERROR\"] = 4] = \"CONNECT_ERROR\";\n PacketType[PacketType[\"BINARY_EVENT\"] = 5] = \"BINARY_EVENT\";\n PacketType[PacketType[\"BINARY_ACK\"] = 6] = \"BINARY_ACK\";\n})(PacketType || (PacketType = {}));\n/**\n * A socket.io Encoder instance\n */\nexport class Encoder {\n /**\n * Encoder constructor\n *\n * @param {function} replacer - custom replacer to pass down to JSON.parse\n */\n constructor(replacer) {\n this.replacer = replacer;\n }\n /**\n * Encode a packet as a single string if non-binary, or as a\n * buffer sequence, depending on packet type.\n *\n * @param {Object} obj - packet object\n */\n encode(obj) {\n if (obj.type === PacketType.EVENT || obj.type === PacketType.ACK) {\n if (hasBinary(obj)) {\n obj.type =\n obj.type === PacketType.EVENT\n ? PacketType.BINARY_EVENT\n : PacketType.BINARY_ACK;\n return this.encodeAsBinary(obj);\n }\n }\n return [this.encodeAsString(obj)];\n }\n /**\n * Encode packet as string.\n */\n encodeAsString(obj) {\n // first is type\n let str = \"\" + obj.type;\n // attachments if we have them\n if (obj.type === PacketType.BINARY_EVENT ||\n obj.type === PacketType.BINARY_ACK) {\n str += obj.attachments + \"-\";\n }\n // if we have a namespace other than `/`\n // we append it followed by a comma `,`\n if (obj.nsp && \"/\" !== obj.nsp) {\n str += obj.nsp + \",\";\n }\n // immediately followed by the id\n if (null != obj.id) {\n str += obj.id;\n }\n // json data\n if (null != obj.data) {\n str += JSON.stringify(obj.data, this.replacer);\n }\n return str;\n }\n /**\n * Encode packet as 'buffer sequence' by removing blobs, and\n * deconstructing packet into object with placeholders and\n * a list of buffers.\n */\n encodeAsBinary(obj) {\n const deconstruction = deconstructPacket(obj);\n const pack = this.encodeAsString(deconstruction.packet);\n const buffers = deconstruction.buffers;\n buffers.unshift(pack); // add packet info to beginning of data list\n return buffers; // write all the buffers\n }\n}\n/**\n * A socket.io Decoder instance\n *\n * @return {Object} decoder\n */\nexport class Decoder extends Emitter {\n /**\n * Decoder constructor\n *\n * @param {function} reviver - custom reviver to pass down to JSON.stringify\n */\n constructor(reviver) {\n super();\n this.reviver = reviver;\n }\n /**\n * Decodes an encoded packet string into packet JSON.\n *\n * @param {String} obj - encoded packet\n */\n add(obj) {\n let packet;\n if (typeof obj === \"string\") {\n if (this.reconstructor) {\n throw new Error(\"got plaintext data when reconstructing a packet\");\n }\n packet = this.decodeString(obj);\n if (packet.type === PacketType.BINARY_EVENT ||\n packet.type === PacketType.BINARY_ACK) {\n // binary packet's json\n this.reconstructor = new BinaryReconstructor(packet);\n // no attachments, labeled binary but no binary data to follow\n if (packet.attachments === 0) {\n super.emitReserved(\"decoded\", packet);\n }\n }\n else {\n // non-binary full packet\n super.emitReserved(\"decoded\", packet);\n }\n }\n else if (isBinary(obj) || obj.base64) {\n // raw binary data\n if (!this.reconstructor) {\n throw new Error(\"got binary data when not reconstructing a packet\");\n }\n else {\n packet = this.reconstructor.takeBinaryData(obj);\n if (packet) {\n // received final buffer\n this.reconstructor = null;\n super.emitReserved(\"decoded\", packet);\n }\n }\n }\n else {\n throw new Error(\"Unknown type: \" + obj);\n }\n }\n /**\n * Decode a packet String (JSON data)\n *\n * @param {String} str\n * @return {Object} packet\n */\n decodeString(str) {\n let i = 0;\n // look up type\n const p = {\n type: Number(str.charAt(0)),\n };\n if (PacketType[p.type] === undefined) {\n throw new Error(\"unknown packet type \" + p.type);\n }\n // look up attachments if type binary\n if (p.type === PacketType.BINARY_EVENT ||\n p.type === PacketType.BINARY_ACK) {\n const start = i + 1;\n while (str.charAt(++i) !== \"-\" && i != str.length) { }\n const buf = str.substring(start, i);\n if (buf != Number(buf) || str.charAt(i) !== \"-\") {\n throw new Error(\"Illegal attachments\");\n }\n p.attachments = Number(buf);\n }\n // look up namespace (if any)\n if (\"/\" === str.charAt(i + 1)) {\n const start = i + 1;\n while (++i) {\n const c = str.charAt(i);\n if (\",\" === c)\n break;\n if (i === str.length)\n break;\n }\n p.nsp = str.substring(start, i);\n }\n else {\n p.nsp = \"/\";\n }\n // look up id\n const next = str.charAt(i + 1);\n if (\"\" !== next && Number(next) == next) {\n const start = i + 1;\n while (++i) {\n const c = str.charAt(i);\n if (null == c || Number(c) != c) {\n --i;\n break;\n }\n if (i === str.length)\n break;\n }\n p.id = Number(str.substring(start, i + 1));\n }\n // look up json data\n if (str.charAt(++i)) {\n const payload = this.tryParse(str.substr(i));\n if (Decoder.isPayloadValid(p.type, payload)) {\n p.data = payload;\n }\n else {\n throw new Error(\"invalid payload\");\n }\n }\n return p;\n }\n tryParse(str) {\n try {\n return JSON.parse(str, this.reviver);\n }\n catch (e) {\n return false;\n }\n }\n static isPayloadValid(type, payload) {\n switch (type) {\n case PacketType.CONNECT:\n return typeof payload === \"object\";\n case PacketType.DISCONNECT:\n return payload === undefined;\n case PacketType.CONNECT_ERROR:\n return typeof payload === \"string\" || typeof payload === \"object\";\n case PacketType.EVENT:\n case PacketType.BINARY_EVENT:\n return Array.isArray(payload) && payload.length > 0;\n case PacketType.ACK:\n case PacketType.BINARY_ACK:\n return Array.isArray(payload);\n }\n }\n /**\n * Deallocates a parser's resources\n */\n destroy() {\n if (this.reconstructor) {\n this.reconstructor.finishedReconstruction();\n }\n }\n}\n/**\n * A manager of a binary event's 'buffer sequence'. Should\n * be constructed whenever a packet of type BINARY_EVENT is\n * decoded.\n *\n * @param {Object} packet\n * @return {BinaryReconstructor} initialized reconstructor\n */\nclass BinaryReconstructor {\n constructor(packet) {\n this.packet = packet;\n this.buffers = [];\n this.reconPack = packet;\n }\n /**\n * Method to be called when binary data received from connection\n * after a BINARY_EVENT packet.\n *\n * @param {Buffer | ArrayBuffer} binData - the raw binary data received\n * @return {null | Object} returns null if more binary data is expected or\n * a reconstructed packet object if all buffers have been received.\n */\n takeBinaryData(binData) {\n this.buffers.push(binData);\n if (this.buffers.length === this.reconPack.attachments) {\n // done with buffer list\n const packet = reconstructPacket(this.reconPack, this.buffers);\n this.finishedReconstruction();\n return packet;\n }\n return null;\n }\n /**\n * Cleans up binary packet reconstruction variables.\n */\n finishedReconstruction() {\n this.reconPack = null;\n this.buffers = [];\n }\n}\n","export function on(obj, ev, fn) {\n obj.on(ev, fn);\n return function subDestroy() {\n obj.off(ev, fn);\n };\n}\n","import { PacketType } from \"socket.io-parser\";\nimport { on } from \"./on.js\";\nimport { Emitter, } from \"@socket.io/component-emitter\";\n/**\n * Internal events.\n * These events can't be emitted by the user.\n */\nconst RESERVED_EVENTS = Object.freeze({\n connect: 1,\n connect_error: 1,\n disconnect: 1,\n disconnecting: 1,\n // EventEmitter reserved events: https://nodejs.org/api/events.html#events_event_newlistener\n newListener: 1,\n removeListener: 1,\n});\n/**\n * A Socket is the fundamental class for interacting with the server.\n *\n * A Socket belongs to a certain Namespace (by default /) and uses an underlying {@link Manager} to communicate.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(\"connected\");\n * });\n *\n * // send an event to the server\n * socket.emit(\"foo\", \"bar\");\n *\n * socket.on(\"foobar\", () => {\n * // an event was received from the server\n * });\n *\n * // upon disconnection\n * socket.on(\"disconnect\", (reason) => {\n * console.log(`disconnected due to ${reason}`);\n * });\n */\nexport class Socket extends Emitter {\n /**\n * `Socket` constructor.\n */\n constructor(io, nsp, opts) {\n super();\n /**\n * Whether the socket is currently connected to the server.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(socket.connected); // true\n * });\n *\n * socket.on(\"disconnect\", () => {\n * console.log(socket.connected); // false\n * });\n */\n this.connected = false;\n /**\n * Buffer for packets received before the CONNECT packet\n */\n this.receiveBuffer = [];\n /**\n * Buffer for packets that will be sent once the socket is connected\n */\n this.sendBuffer = [];\n this.ids = 0;\n this.acks = {};\n this.flags = {};\n this.io = io;\n this.nsp = nsp;\n if (opts && opts.auth) {\n this.auth = opts.auth;\n }\n if (this.io._autoConnect)\n this.open();\n }\n /**\n * Whether the socket is currently disconnected\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(socket.disconnected); // false\n * });\n *\n * socket.on(\"disconnect\", () => {\n * console.log(socket.disconnected); // true\n * });\n */\n get disconnected() {\n return !this.connected;\n }\n /**\n * Subscribe to open, close and packet events\n *\n * @private\n */\n subEvents() {\n if (this.subs)\n return;\n const io = this.io;\n this.subs = [\n on(io, \"open\", this.onopen.bind(this)),\n on(io, \"packet\", this.onpacket.bind(this)),\n on(io, \"error\", this.onerror.bind(this)),\n on(io, \"close\", this.onclose.bind(this)),\n ];\n }\n /**\n * Whether the Socket will try to reconnect when its Manager connects or reconnects.\n *\n * @example\n * const socket = io();\n *\n * console.log(socket.active); // true\n *\n * socket.on(\"disconnect\", (reason) => {\n * if (reason === \"io server disconnect\") {\n * // the disconnection was initiated by the server, you need to manually reconnect\n * console.log(socket.active); // false\n * }\n * // else the socket will automatically try to reconnect\n * console.log(socket.active); // true\n * });\n */\n get active() {\n return !!this.subs;\n }\n /**\n * \"Opens\" the socket.\n *\n * @example\n * const socket = io({\n * autoConnect: false\n * });\n *\n * socket.connect();\n */\n connect() {\n if (this.connected)\n return this;\n this.subEvents();\n if (!this.io[\"_reconnecting\"])\n this.io.open(); // ensure open\n if (\"open\" === this.io._readyState)\n this.onopen();\n return this;\n }\n /**\n * Alias for {@link connect()}.\n */\n open() {\n return this.connect();\n }\n /**\n * Sends a `message` event.\n *\n * This method mimics the WebSocket.send() method.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/send\n *\n * @example\n * socket.send(\"hello\");\n *\n * // this is equivalent to\n * socket.emit(\"message\", \"hello\");\n *\n * @return self\n */\n send(...args) {\n args.unshift(\"message\");\n this.emit.apply(this, args);\n return this;\n }\n /**\n * Override `emit`.\n * If the event is in `events`, it's emitted normally.\n *\n * @example\n * socket.emit(\"hello\", \"world\");\n *\n * // all serializable datastructures are supported (no need to call JSON.stringify)\n * socket.emit(\"hello\", 1, \"2\", { 3: [\"4\"], 5: Uint8Array.from([6]) });\n *\n * // with an acknowledgement from the server\n * socket.emit(\"hello\", \"world\", (val) => {\n * // ...\n * });\n *\n * @return self\n */\n emit(ev, ...args) {\n if (RESERVED_EVENTS.hasOwnProperty(ev)) {\n throw new Error('\"' + ev.toString() + '\" is a reserved event name');\n }\n args.unshift(ev);\n const packet = {\n type: PacketType.EVENT,\n data: args,\n };\n packet.options = {};\n packet.options.compress = this.flags.compress !== false;\n // event ack callback\n if (\"function\" === typeof args[args.length - 1]) {\n const id = this.ids++;\n const ack = args.pop();\n this._registerAckCallback(id, ack);\n packet.id = id;\n }\n const isTransportWritable = this.io.engine &&\n this.io.engine.transport &&\n this.io.engine.transport.writable;\n const discardPacket = this.flags.volatile && (!isTransportWritable || !this.connected);\n if (discardPacket) {\n }\n else if (this.connected) {\n this.notifyOutgoingListeners(packet);\n this.packet(packet);\n }\n else {\n this.sendBuffer.push(packet);\n }\n this.flags = {};\n return this;\n }\n /**\n * @private\n */\n _registerAckCallback(id, ack) {\n const timeout = this.flags.timeout;\n if (timeout === undefined) {\n this.acks[id] = ack;\n return;\n }\n // @ts-ignore\n const timer = this.io.setTimeoutFn(() => {\n delete this.acks[id];\n for (let i = 0; i < this.sendBuffer.length; i++) {\n if (this.sendBuffer[i].id === id) {\n this.sendBuffer.splice(i, 1);\n }\n }\n ack.call(this, new Error(\"operation has timed out\"));\n }, timeout);\n this.acks[id] = (...args) => {\n // @ts-ignore\n this.io.clearTimeoutFn(timer);\n ack.apply(this, [null, ...args]);\n };\n }\n /**\n * Sends a packet.\n *\n * @param packet\n * @private\n */\n packet(packet) {\n packet.nsp = this.nsp;\n this.io._packet(packet);\n }\n /**\n * Called upon engine `open`.\n *\n * @private\n */\n onopen() {\n if (typeof this.auth == \"function\") {\n this.auth((data) => {\n this.packet({ type: PacketType.CONNECT, data });\n });\n }\n else {\n this.packet({ type: PacketType.CONNECT, data: this.auth });\n }\n }\n /**\n * Called upon engine or manager `error`.\n *\n * @param err\n * @private\n */\n onerror(err) {\n if (!this.connected) {\n this.emitReserved(\"connect_error\", err);\n }\n }\n /**\n * Called upon engine `close`.\n *\n * @param reason\n * @param description\n * @private\n */\n onclose(reason, description) {\n this.connected = false;\n delete this.id;\n this.emitReserved(\"disconnect\", reason, description);\n }\n /**\n * Called with socket packet.\n *\n * @param packet\n * @private\n */\n onpacket(packet) {\n const sameNamespace = packet.nsp === this.nsp;\n if (!sameNamespace)\n return;\n switch (packet.type) {\n case PacketType.CONNECT:\n if (packet.data && packet.data.sid) {\n const id = packet.data.sid;\n this.onconnect(id);\n }\n else {\n this.emitReserved(\"connect_error\", new Error(\"It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)\"));\n }\n break;\n case PacketType.EVENT:\n case PacketType.BINARY_EVENT:\n this.onevent(packet);\n break;\n case PacketType.ACK:\n case PacketType.BINARY_ACK:\n this.onack(packet);\n break;\n case PacketType.DISCONNECT:\n this.ondisconnect();\n break;\n case PacketType.CONNECT_ERROR:\n this.destroy();\n const err = new Error(packet.data.message);\n // @ts-ignore\n err.data = packet.data.data;\n this.emitReserved(\"connect_error\", err);\n break;\n }\n }\n /**\n * Called upon a server event.\n *\n * @param packet\n * @private\n */\n onevent(packet) {\n const args = packet.data || [];\n if (null != packet.id) {\n args.push(this.ack(packet.id));\n }\n if (this.connected) {\n this.emitEvent(args);\n }\n else {\n this.receiveBuffer.push(Object.freeze(args));\n }\n }\n emitEvent(args) {\n if (this._anyListeners && this._anyListeners.length) {\n const listeners = this._anyListeners.slice();\n for (const listener of listeners) {\n listener.apply(this, args);\n }\n }\n super.emit.apply(this, args);\n }\n /**\n * Produces an ack callback to emit with an event.\n *\n * @private\n */\n ack(id) {\n const self = this;\n let sent = false;\n return function (...args) {\n // prevent double callbacks\n if (sent)\n return;\n sent = true;\n self.packet({\n type: PacketType.ACK,\n id: id,\n data: args,\n });\n };\n }\n /**\n * Called upon a server acknowlegement.\n *\n * @param packet\n * @private\n */\n onack(packet) {\n const ack = this.acks[packet.id];\n if (\"function\" === typeof ack) {\n ack.apply(this, packet.data);\n delete this.acks[packet.id];\n }\n else {\n }\n }\n /**\n * Called upon server connect.\n *\n * @private\n */\n onconnect(id) {\n this.id = id;\n this.connected = true;\n this.emitBuffered();\n this.emitReserved(\"connect\");\n }\n /**\n * Emit buffered events (received and emitted).\n *\n * @private\n */\n emitBuffered() {\n this.receiveBuffer.forEach((args) => this.emitEvent(args));\n this.receiveBuffer = [];\n this.sendBuffer.forEach((packet) => {\n this.notifyOutgoingListeners(packet);\n this.packet(packet);\n });\n this.sendBuffer = [];\n }\n /**\n * Called upon server disconnect.\n *\n * @private\n */\n ondisconnect() {\n this.destroy();\n this.onclose(\"io server disconnect\");\n }\n /**\n * Called upon forced client/server side disconnections,\n * this method ensures the manager stops tracking us and\n * that reconnections don't get triggered for this.\n *\n * @private\n */\n destroy() {\n if (this.subs) {\n // clean subscriptions to avoid reconnections\n this.subs.forEach((subDestroy) => subDestroy());\n this.subs = undefined;\n }\n this.io[\"_destroy\"](this);\n }\n /**\n * Disconnects the socket manually. In that case, the socket will not try to reconnect.\n *\n * If this is the last active Socket instance of the {@link Manager}, the low-level connection will be closed.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"disconnect\", (reason) => {\n * // console.log(reason); prints \"io client disconnect\"\n * });\n *\n * socket.disconnect();\n *\n * @return self\n */\n disconnect() {\n if (this.connected) {\n this.packet({ type: PacketType.DISCONNECT });\n }\n // remove socket from pool\n this.destroy();\n if (this.connected) {\n // fire events\n this.onclose(\"io client disconnect\");\n }\n return this;\n }\n /**\n * Alias for {@link disconnect()}.\n *\n * @return self\n */\n close() {\n return this.disconnect();\n }\n /**\n * Sets the compress flag.\n *\n * @example\n * socket.compress(false).emit(\"hello\");\n *\n * @param compress - if `true`, compresses the sending data\n * @return self\n */\n compress(compress) {\n this.flags.compress = compress;\n return this;\n }\n /**\n * Sets a modifier for a subsequent event emission that the event message will be dropped when this socket is not\n * ready to send messages.\n *\n * @example\n * socket.volatile.emit(\"hello\"); // the server may or may not receive it\n *\n * @returns self\n */\n get volatile() {\n this.flags.volatile = true;\n return this;\n }\n /**\n * Sets a modifier for a subsequent event emission that the callback will be called with an error when the\n * given number of milliseconds have elapsed without an acknowledgement from the server:\n *\n * @example\n * socket.timeout(5000).emit(\"my-event\", (err) => {\n * if (err) {\n * // the server did not acknowledge the event in the given delay\n * }\n * });\n *\n * @returns self\n */\n timeout(timeout) {\n this.flags.timeout = timeout;\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback.\n *\n * @example\n * socket.onAny((event, ...args) => {\n * console.log(`got ${event}`);\n * });\n *\n * @param listener\n */\n onAny(listener) {\n this._anyListeners = this._anyListeners || [];\n this._anyListeners.push(listener);\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback. The listener is added to the beginning of the listeners array.\n *\n * @example\n * socket.prependAny((event, ...args) => {\n * console.log(`got event ${event}`);\n * });\n *\n * @param listener\n */\n prependAny(listener) {\n this._anyListeners = this._anyListeners || [];\n this._anyListeners.unshift(listener);\n return this;\n }\n /**\n * Removes the listener that will be fired when any event is emitted.\n *\n * @example\n * const catchAllListener = (event, ...args) => {\n * console.log(`got event ${event}`);\n * }\n *\n * socket.onAny(catchAllListener);\n *\n * // remove a specific listener\n * socket.offAny(catchAllListener);\n *\n * // or remove all listeners\n * socket.offAny();\n *\n * @param listener\n */\n offAny(listener) {\n if (!this._anyListeners) {\n return this;\n }\n if (listener) {\n const listeners = this._anyListeners;\n for (let i = 0; i < listeners.length; i++) {\n if (listener === listeners[i]) {\n listeners.splice(i, 1);\n return this;\n }\n }\n }\n else {\n this._anyListeners = [];\n }\n return this;\n }\n /**\n * Returns an array of listeners that are listening for any event that is specified. This array can be manipulated,\n * e.g. to remove listeners.\n */\n listenersAny() {\n return this._anyListeners || [];\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback.\n *\n * Note: acknowledgements sent to the server are not included.\n *\n * @example\n * socket.onAnyOutgoing((event, ...args) => {\n * console.log(`sent event ${event}`);\n * });\n *\n * @param listener\n */\n onAnyOutgoing(listener) {\n this._anyOutgoingListeners = this._anyOutgoingListeners || [];\n this._anyOutgoingListeners.push(listener);\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback. The listener is added to the beginning of the listeners array.\n *\n * Note: acknowledgements sent to the server are not included.\n *\n * @example\n * socket.prependAnyOutgoing((event, ...args) => {\n * console.log(`sent event ${event}`);\n * });\n *\n * @param listener\n */\n prependAnyOutgoing(listener) {\n this._anyOutgoingListeners = this._anyOutgoingListeners || [];\n this._anyOutgoingListeners.unshift(listener);\n return this;\n }\n /**\n * Removes the listener that will be fired when any event is emitted.\n *\n * @example\n * const catchAllListener = (event, ...args) => {\n * console.log(`sent event ${event}`);\n * }\n *\n * socket.onAnyOutgoing(catchAllListener);\n *\n * // remove a specific listener\n * socket.offAnyOutgoing(catchAllListener);\n *\n * // or remove all listeners\n * socket.offAnyOutgoing();\n *\n * @param [listener] - the catch-all listener (optional)\n */\n offAnyOutgoing(listener) {\n if (!this._anyOutgoingListeners) {\n return this;\n }\n if (listener) {\n const listeners = this._anyOutgoingListeners;\n for (let i = 0; i < listeners.length; i++) {\n if (listener === listeners[i]) {\n listeners.splice(i, 1);\n return this;\n }\n }\n }\n else {\n this._anyOutgoingListeners = [];\n }\n return this;\n }\n /**\n * Returns an array of listeners that are listening for any event that is specified. This array can be manipulated,\n * e.g. to remove listeners.\n */\n listenersAnyOutgoing() {\n return this._anyOutgoingListeners || [];\n }\n /**\n * Notify the listeners for each packet sent\n *\n * @param packet\n *\n * @private\n */\n notifyOutgoingListeners(packet) {\n if (this._anyOutgoingListeners && this._anyOutgoingListeners.length) {\n const listeners = this._anyOutgoingListeners.slice();\n for (const listener of listeners) {\n listener.apply(this, packet.data);\n }\n }\n }\n}\n","/**\n * Initialize backoff timer with `opts`.\n *\n * - `min` initial timeout in milliseconds [100]\n * - `max` max timeout [10000]\n * - `jitter` [0]\n * - `factor` [2]\n *\n * @param {Object} opts\n * @api public\n */\nexport function Backoff(opts) {\n opts = opts || {};\n this.ms = opts.min || 100;\n this.max = opts.max || 10000;\n this.factor = opts.factor || 2;\n this.jitter = opts.jitter > 0 && opts.jitter <= 1 ? opts.jitter : 0;\n this.attempts = 0;\n}\n/**\n * Return the backoff duration.\n *\n * @return {Number}\n * @api public\n */\nBackoff.prototype.duration = function () {\n var ms = this.ms * Math.pow(this.factor, this.attempts++);\n if (this.jitter) {\n var rand = Math.random();\n var deviation = Math.floor(rand * this.jitter * ms);\n ms = (Math.floor(rand * 10) & 1) == 0 ? ms - deviation : ms + deviation;\n }\n return Math.min(ms, this.max) | 0;\n};\n/**\n * Reset the number of attempts.\n *\n * @api public\n */\nBackoff.prototype.reset = function () {\n this.attempts = 0;\n};\n/**\n * Set the minimum duration\n *\n * @api public\n */\nBackoff.prototype.setMin = function (min) {\n this.ms = min;\n};\n/**\n * Set the maximum duration\n *\n * @api public\n */\nBackoff.prototype.setMax = function (max) {\n this.max = max;\n};\n/**\n * Set the jitter\n *\n * @api public\n */\nBackoff.prototype.setJitter = function (jitter) {\n this.jitter = jitter;\n};\n","import { Socket as Engine, installTimerFunctions, nextTick, } from \"engine.io-client\";\nimport { Socket } from \"./socket.js\";\nimport * as parser from \"socket.io-parser\";\nimport { on } from \"./on.js\";\nimport { Backoff } from \"./contrib/backo2.js\";\nimport { Emitter, } from \"@socket.io/component-emitter\";\nexport class Manager extends Emitter {\n constructor(uri, opts) {\n var _a;\n super();\n this.nsps = {};\n this.subs = [];\n if (uri && \"object\" === typeof uri) {\n opts = uri;\n uri = undefined;\n }\n opts = opts || {};\n opts.path = opts.path || \"/socket.io\";\n this.opts = opts;\n installTimerFunctions(this, opts);\n this.reconnection(opts.reconnection !== false);\n this.reconnectionAttempts(opts.reconnectionAttempts || Infinity);\n this.reconnectionDelay(opts.reconnectionDelay || 1000);\n this.reconnectionDelayMax(opts.reconnectionDelayMax || 5000);\n this.randomizationFactor((_a = opts.randomizationFactor) !== null && _a !== void 0 ? _a : 0.5);\n this.backoff = new Backoff({\n min: this.reconnectionDelay(),\n max: this.reconnectionDelayMax(),\n jitter: this.randomizationFactor(),\n });\n this.timeout(null == opts.timeout ? 20000 : opts.timeout);\n this._readyState = \"closed\";\n this.uri = uri;\n const _parser = opts.parser || parser;\n this.encoder = new _parser.Encoder();\n this.decoder = new _parser.Decoder();\n this._autoConnect = opts.autoConnect !== false;\n if (this._autoConnect)\n this.open();\n }\n reconnection(v) {\n if (!arguments.length)\n return this._reconnection;\n this._reconnection = !!v;\n return this;\n }\n reconnectionAttempts(v) {\n if (v === undefined)\n return this._reconnectionAttempts;\n this._reconnectionAttempts = v;\n return this;\n }\n reconnectionDelay(v) {\n var _a;\n if (v === undefined)\n return this._reconnectionDelay;\n this._reconnectionDelay = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setMin(v);\n return this;\n }\n randomizationFactor(v) {\n var _a;\n if (v === undefined)\n return this._randomizationFactor;\n this._randomizationFactor = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setJitter(v);\n return this;\n }\n reconnectionDelayMax(v) {\n var _a;\n if (v === undefined)\n return this._reconnectionDelayMax;\n this._reconnectionDelayMax = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setMax(v);\n return this;\n }\n timeout(v) {\n if (!arguments.length)\n return this._timeout;\n this._timeout = v;\n return this;\n }\n /**\n * Starts trying to reconnect if reconnection is enabled and we have not\n * started reconnecting yet\n *\n * @private\n */\n maybeReconnectOnOpen() {\n // Only try to reconnect if it's the first time we're connecting\n if (!this._reconnecting &&\n this._reconnection &&\n this.backoff.attempts === 0) {\n // keeps reconnection from firing twice for the same reconnection loop\n this.reconnect();\n }\n }\n /**\n * Sets the current transport `socket`.\n *\n * @param {Function} fn - optional, callback\n * @return self\n * @public\n */\n open(fn) {\n if (~this._readyState.indexOf(\"open\"))\n return this;\n this.engine = new Engine(this.uri, this.opts);\n const socket = this.engine;\n const self = this;\n this._readyState = \"opening\";\n this.skipReconnect = false;\n // emit `open`\n const openSubDestroy = on(socket, \"open\", function () {\n self.onopen();\n fn && fn();\n });\n // emit `error`\n const errorSub = on(socket, \"error\", (err) => {\n self.cleanup();\n self._readyState = \"closed\";\n this.emitReserved(\"error\", err);\n if (fn) {\n fn(err);\n }\n else {\n // Only do this if there is no fn to handle the error\n self.maybeReconnectOnOpen();\n }\n });\n if (false !== this._timeout) {\n const timeout = this._timeout;\n if (timeout === 0) {\n openSubDestroy(); // prevents a race condition with the 'open' event\n }\n // set timer\n const timer = this.setTimeoutFn(() => {\n openSubDestroy();\n socket.close();\n // @ts-ignore\n socket.emit(\"error\", new Error(\"timeout\"));\n }, timeout);\n if (this.opts.autoUnref) {\n timer.unref();\n }\n this.subs.push(function subDestroy() {\n clearTimeout(timer);\n });\n }\n this.subs.push(openSubDestroy);\n this.subs.push(errorSub);\n return this;\n }\n /**\n * Alias for open()\n *\n * @return self\n * @public\n */\n connect(fn) {\n return this.open(fn);\n }\n /**\n * Called upon transport open.\n *\n * @private\n */\n onopen() {\n // clear old subs\n this.cleanup();\n // mark as open\n this._readyState = \"open\";\n this.emitReserved(\"open\");\n // add new subs\n const socket = this.engine;\n this.subs.push(on(socket, \"ping\", this.onping.bind(this)), on(socket, \"data\", this.ondata.bind(this)), on(socket, \"error\", this.onerror.bind(this)), on(socket, \"close\", this.onclose.bind(this)), on(this.decoder, \"decoded\", this.ondecoded.bind(this)));\n }\n /**\n * Called upon a ping.\n *\n * @private\n */\n onping() {\n this.emitReserved(\"ping\");\n }\n /**\n * Called with data.\n *\n * @private\n */\n ondata(data) {\n try {\n this.decoder.add(data);\n }\n catch (e) {\n this.onclose(\"parse error\", e);\n }\n }\n /**\n * Called when parser fully decodes a packet.\n *\n * @private\n */\n ondecoded(packet) {\n // the nextTick call prevents an exception in a user-provided event listener from triggering a disconnection due to a \"parse error\"\n nextTick(() => {\n this.emitReserved(\"packet\", packet);\n }, this.setTimeoutFn);\n }\n /**\n * Called upon socket error.\n *\n * @private\n */\n onerror(err) {\n this.emitReserved(\"error\", err);\n }\n /**\n * Creates a new socket for the given `nsp`.\n *\n * @return {Socket}\n * @public\n */\n socket(nsp, opts) {\n let socket = this.nsps[nsp];\n if (!socket) {\n socket = new Socket(this, nsp, opts);\n this.nsps[nsp] = socket;\n }\n return socket;\n }\n /**\n * Called upon a socket close.\n *\n * @param socket\n * @private\n */\n _destroy(socket) {\n const nsps = Object.keys(this.nsps);\n for (const nsp of nsps) {\n const socket = this.nsps[nsp];\n if (socket.active) {\n return;\n }\n }\n this._close();\n }\n /**\n * Writes a packet.\n *\n * @param packet\n * @private\n */\n _packet(packet) {\n const encodedPackets = this.encoder.encode(packet);\n for (let i = 0; i < encodedPackets.length; i++) {\n this.engine.write(encodedPackets[i], packet.options);\n }\n }\n /**\n * Clean up transport subscriptions and packet buffer.\n *\n * @private\n */\n cleanup() {\n this.subs.forEach((subDestroy) => subDestroy());\n this.subs.length = 0;\n this.decoder.destroy();\n }\n /**\n * Close the current socket.\n *\n * @private\n */\n _close() {\n this.skipReconnect = true;\n this._reconnecting = false;\n this.onclose(\"forced close\");\n if (this.engine)\n this.engine.close();\n }\n /**\n * Alias for close()\n *\n * @private\n */\n disconnect() {\n return this._close();\n }\n /**\n * Called upon engine close.\n *\n * @private\n */\n onclose(reason, description) {\n this.cleanup();\n this.backoff.reset();\n this._readyState = \"closed\";\n this.emitReserved(\"close\", reason, description);\n if (this._reconnection && !this.skipReconnect) {\n this.reconnect();\n }\n }\n /**\n * Attempt a reconnection.\n *\n * @private\n */\n reconnect() {\n if (this._reconnecting || this.skipReconnect)\n return this;\n const self = this;\n if (this.backoff.attempts >= this._reconnectionAttempts) {\n this.backoff.reset();\n this.emitReserved(\"reconnect_failed\");\n this._reconnecting = false;\n }\n else {\n const delay = this.backoff.duration();\n this._reconnecting = true;\n const timer = this.setTimeoutFn(() => {\n if (self.skipReconnect)\n return;\n this.emitReserved(\"reconnect_attempt\", self.backoff.attempts);\n // check again for the case socket closed in above events\n if (self.skipReconnect)\n return;\n self.open((err) => {\n if (err) {\n self._reconnecting = false;\n self.reconnect();\n this.emitReserved(\"reconnect_error\", err);\n }\n else {\n self.onreconnect();\n }\n });\n }, delay);\n if (this.opts.autoUnref) {\n timer.unref();\n }\n this.subs.push(function subDestroy() {\n clearTimeout(timer);\n });\n }\n }\n /**\n * Called upon successful reconnect.\n *\n * @private\n */\n onreconnect() {\n const attempt = this.backoff.attempts;\n this._reconnecting = false;\n this.backoff.reset();\n this.emitReserved(\"reconnect\", attempt);\n }\n}\n","import { url } from \"./url.js\";\nimport { Manager } from \"./manager.js\";\nimport { Socket } from \"./socket.js\";\n/**\n * Managers cache.\n */\nconst cache = {};\nfunction lookup(uri, opts) {\n if (typeof uri === \"object\") {\n opts = uri;\n uri = undefined;\n }\n opts = opts || {};\n const parsed = url(uri, opts.path || \"/socket.io\");\n const source = parsed.source;\n const id = parsed.id;\n const path = parsed.path;\n const sameNamespace = cache[id] && path in cache[id][\"nsps\"];\n const newConnection = opts.forceNew ||\n opts[\"force new connection\"] ||\n false === opts.multiplex ||\n sameNamespace;\n let io;\n if (newConnection) {\n io = new Manager(source, opts);\n }\n else {\n if (!cache[id]) {\n cache[id] = new Manager(source, opts);\n }\n io = cache[id];\n }\n if (parsed.query && !opts.query) {\n opts.query = parsed.queryKey;\n }\n return io.socket(parsed.path, opts);\n}\n// so that \"lookup\" can be used both as a function (e.g. `io(...)`) and as a\n// namespace (e.g. `io.connect(...)`), for backward compatibility\nObject.assign(lookup, {\n Manager,\n Socket,\n io: lookup,\n connect: lookup,\n});\n/**\n * Protocol version.\n *\n * @public\n */\nexport { protocol } from \"socket.io-parser\";\n/**\n * Expose constructors for standalone build.\n *\n * @public\n */\nexport { Manager, Socket, lookup as io, lookup as connect, lookup as default, };\n","import socketIOClient from \"socket.io-client\";\n\nimport {SOCKET_HOST} from '../../../env';\n\nimport { EDITOR_HOST } from \"../../../env\";\n\nimport {EDITOR_API} from \"../../../env\";\n\nimport {PROTOCOL} from \"../../../env\";\n\nexport const EDITOR_API_BASE = EDITOR_API;\n\nexport const PROTOCO_BASE = PROTOCOL;\n\nexport const EDITOR_HOST_URL = EDITOR_HOST;\n\nexport const TOKENKEY = 'token';\n\nexport const CURRENTUSERID = 'uid';\n\nexport const CURRENTUSERNAME = 'usn';\n\nexport const CURRENTPACKAGE = 'designation';\n\nexport const ISTRIAL = 'is_trial';\n\nexport const TRIALUSES = 'trial_uses';\n\nexport const DEFAULT_TOAST = {\n // you can pass a single action as below\n duration: 4000,\n action : {\n text : 'Close',\n onClick : (e, toastObject) => {\n toastObject.goAway(0);\n }\n }\n}\n\nexport const SOCKET = socketIOClient(SOCKET_HOST);\n\n\n\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Convert a data object to FormData\n * @param {Object} obj\n * @param {?Object} [formData]\n * @returns {Object}\n **/\n\nfunction toFormData(obj, formData) {\n // eslint-disable-next-line no-param-reassign\n formData = formData || new FormData();\n\n var stack = [];\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n function build(data, parentKey) {\n if (utils.isPlainObject(data) || utils.isArray(data)) {\n if (stack.indexOf(data) !== -1) {\n throw Error('Circular reference detected in ' + parentKey);\n }\n\n stack.push(data);\n\n utils.forEach(data, function each(value, key) {\n if (utils.isUndefined(value)) return;\n var fullKey = parentKey ? parentKey + '.' + key : key;\n var arr;\n\n if (value && !parentKey && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (utils.endsWith(key, '[]') && (arr = utils.toArray(value))) {\n // eslint-disable-next-line func-names\n arr.forEach(function(el) {\n !utils.isUndefined(el) && formData.append(fullKey, convertValue(el));\n });\n return;\n }\n }\n\n build(value, fullKey);\n });\n\n stack.pop();\n } else {\n formData.append(parentKey, convertValue(data));\n }\n }\n\n build(obj);\n\n return formData;\n}\n\nmodule.exports = toFormData;\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar AxiosError = require('../core/AxiosError');\nvar utils = require('../utils');\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction CanceledError(message) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nmodule.exports = CanceledError;\n"],"sourceRoot":""}