{"version":3,"file":"js/531.d6baecc1.js","mappings":"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","sources":["webpack://asr-demo/./node_modules/axios/index.js","webpack://asr-demo/./node_modules/axios/lib/adapters/xhr.js","webpack://asr-demo/./node_modules/axios/lib/axios.js","webpack://asr-demo/./node_modules/axios/lib/cancel/Cancel.js","webpack://asr-demo/./node_modules/axios/lib/cancel/CancelToken.js","webpack://asr-demo/./node_modules/axios/lib/cancel/isCancel.js","webpack://asr-demo/./node_modules/axios/lib/core/Axios.js","webpack://asr-demo/./node_modules/axios/lib/core/InterceptorManager.js","webpack://asr-demo/./node_modules/axios/lib/core/buildFullPath.js","webpack://asr-demo/./node_modules/axios/lib/core/createError.js","webpack://asr-demo/./node_modules/axios/lib/core/dispatchRequest.js","webpack://asr-demo/./node_modules/axios/lib/core/enhanceError.js","webpack://asr-demo/./node_modules/axios/lib/core/mergeConfig.js","webpack://asr-demo/./node_modules/axios/lib/core/settle.js","webpack://asr-demo/./node_modules/axios/lib/core/transformData.js","webpack://asr-demo/./node_modules/axios/lib/defaults.js","webpack://asr-demo/./node_modules/axios/lib/helpers/bind.js","webpack://asr-demo/./node_modules/axios/lib/helpers/buildURL.js","webpack://asr-demo/./node_modules/axios/lib/helpers/combineURLs.js","webpack://asr-demo/./node_modules/axios/lib/helpers/cookies.js","webpack://asr-demo/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://asr-demo/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://asr-demo/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://asr-demo/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://asr-demo/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://asr-demo/./node_modules/axios/lib/helpers/spread.js","webpack://asr-demo/./node_modules/axios/lib/helpers/validator.js","webpack://asr-demo/./node_modules/axios/lib/utils.js","webpack://asr-demo/./node_modules/core-js/internals/a-callable.js","webpack://asr-demo/./node_modules/core-js/internals/an-object.js","webpack://asr-demo/./node_modules/core-js/internals/array-includes.js","webpack://asr-demo/./node_modules/core-js/internals/array-set-length.js","webpack://asr-demo/./node_modules/core-js/internals/classof-raw.js","webpack://asr-demo/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://asr-demo/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://asr-demo/./node_modules/core-js/internals/create-property-descriptor.js","webpack://asr-demo/./node_modules/core-js/internals/define-built-in.js","webpack://asr-demo/./node_modules/core-js/internals/define-global-property.js","webpack://asr-demo/./node_modules/core-js/internals/descriptors.js","webpack://asr-demo/./node_modules/core-js/internals/document-all.js","webpack://asr-demo/./node_modules/core-js/internals/document-create-element.js","webpack://asr-demo/./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://asr-demo/./node_modules/core-js/internals/engine-user-agent.js","webpack://asr-demo/./node_modules/core-js/internals/engine-v8-version.js","webpack://asr-demo/./node_modules/core-js/internals/enum-bug-keys.js","webpack://asr-demo/./node_modules/core-js/internals/export.js","webpack://asr-demo/./node_modules/core-js/internals/fails.js","webpack://asr-demo/./node_modules/core-js/internals/function-bind-native.js","webpack://asr-demo/./node_modules/core-js/internals/function-call.js","webpack://asr-demo/./node_modules/core-js/internals/function-name.js","webpack://asr-demo/./node_modules/core-js/internals/function-uncurry-this.js","webpack://asr-demo/./node_modules/core-js/internals/get-built-in.js","webpack://asr-demo/./node_modules/core-js/internals/get-method.js","webpack://asr-demo/./node_modules/core-js/internals/global.js","webpack://asr-demo/./node_modules/core-js/internals/has-own-property.js","webpack://asr-demo/./node_modules/core-js/internals/hidden-keys.js","webpack://asr-demo/./node_modules/core-js/internals/ie8-dom-define.js","webpack://asr-demo/./node_modules/core-js/internals/indexed-object.js","webpack://asr-demo/./node_modules/core-js/internals/inspect-source.js","webpack://asr-demo/./node_modules/core-js/internals/internal-state.js","webpack://asr-demo/./node_modules/core-js/internals/is-array.js","webpack://asr-demo/./node_modules/core-js/internals/is-callable.js","webpack://asr-demo/./node_modules/core-js/internals/is-forced.js","webpack://asr-demo/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://asr-demo/./node_modules/core-js/internals/is-object.js","webpack://asr-demo/./node_modules/core-js/internals/is-pure.js","webpack://asr-demo/./node_modules/core-js/internals/is-symbol.js","webpack://asr-demo/./node_modules/core-js/internals/length-of-array-like.js","webpack://asr-demo/./node_modules/core-js/internals/make-built-in.js","webpack://asr-demo/./node_modules/core-js/internals/math-trunc.js","webpack://asr-demo/./node_modules/core-js/internals/object-define-property.js","webpack://asr-demo/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://asr-demo/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://asr-demo/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://asr-demo/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://asr-demo/./node_modules/core-js/internals/object-keys-internal.js","webpack://asr-demo/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://asr-demo/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://asr-demo/./node_modules/core-js/internals/own-keys.js","webpack://asr-demo/./node_modules/core-js/internals/require-object-coercible.js","webpack://asr-demo/./node_modules/core-js/internals/shared-key.js","webpack://asr-demo/./node_modules/core-js/internals/shared-store.js","webpack://asr-demo/./node_modules/core-js/internals/shared.js","webpack://asr-demo/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://asr-demo/./node_modules/core-js/internals/to-absolute-index.js","webpack://asr-demo/./node_modules/core-js/internals/to-indexed-object.js","webpack://asr-demo/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://asr-demo/./node_modules/core-js/internals/to-length.js","webpack://asr-demo/./node_modules/core-js/internals/to-object.js","webpack://asr-demo/./node_modules/core-js/internals/to-primitive.js","webpack://asr-demo/./node_modules/core-js/internals/to-property-key.js","webpack://asr-demo/./node_modules/core-js/internals/try-to-string.js","webpack://asr-demo/./node_modules/core-js/internals/uid.js","webpack://asr-demo/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://asr-demo/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://asr-demo/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://asr-demo/./node_modules/core-js/internals/well-known-symbol.js","webpack://asr-demo/./node_modules/core-js/modules/es.array.push.js","webpack://asr-demo/./node_modules/debug/src/browser.js","webpack://asr-demo/./node_modules/debug/src/common.js","webpack://asr-demo/./node_modules/is-observable/index.js","webpack://asr-demo/./node_modules/ms/index.js","webpack://asr-demo/./node_modules/observable-fns/dist.esm/_scheduler.js","webpack://asr-demo/./node_modules/observable-fns/dist.esm/_symbols.js","webpack://asr-demo/./node_modules/observable-fns/dist.esm/observable.js","webpack://asr-demo/./node_modules/observable-fns/dist.esm/unsubscribe.js","webpack://asr-demo/./node_modules/observable-fns/dist.esm/filter.js","webpack://asr-demo/./node_modules/observable-fns/dist.esm/_util.js","webpack://asr-demo/./node_modules/observable-fns/dist.esm/flatMap.js","webpack://asr-demo/./node_modules/observable-fns/dist.esm/interval.js","webpack://asr-demo/./node_modules/observable-fns/dist.esm/map.js","webpack://asr-demo/./node_modules/observable-fns/dist.esm/merge.js","webpack://asr-demo/./node_modules/observable-fns/dist.esm/subject.js","webpack://asr-demo/./node_modules/observable-fns/dist.esm/multicast.js","webpack://asr-demo/./node_modules/observable-fns/dist.esm/scan.js","webpack://asr-demo/./node_modules/srt-parser-2/dist/index.js","webpack://asr-demo/./src/recorder/worker.ts","webpack://asr-demo/./node_modules/threads/dist/common.js","webpack://asr-demo/./node_modules/threads/dist/index.js","webpack://asr-demo/./node_modules/threads/dist/master/get-bundle-url.browser.js","webpack://asr-demo/./node_modules/threads/dist/master/implementation.browser.js","webpack://asr-demo/./node_modules/threads/dist/master/index.js","webpack://asr-demo/./node_modules/threads/dist/master/invocation-proxy.js","webpack://asr-demo/./node_modules/threads/dist/master/pool-types.js","webpack://asr-demo/./node_modules/threads/dist/master/pool.js","webpack://asr-demo/./node_modules/threads/dist/master/spawn.js","webpack://asr-demo/./node_modules/threads/dist/master/thread.js","webpack://asr-demo/./node_modules/threads/dist/observable-promise.js","webpack://asr-demo/./node_modules/threads/dist/ponyfills.js","webpack://asr-demo/./node_modules/threads/dist/promise.js","webpack://asr-demo/./node_modules/threads/dist/serializers.js","webpack://asr-demo/./node_modules/threads/dist/symbols.js","webpack://asr-demo/./node_modules/threads/dist/transferable.js","webpack://asr-demo/./node_modules/threads/dist/types/master.js","webpack://asr-demo/./node_modules/threads/dist/types/messages.js","webpack://asr-demo/./node_modules/threads/dist/worker/implementation.browser.js","webpack://asr-demo/./node_modules/threads/dist/worker/index.js","webpack://asr-demo/./src/page/Home.vue","webpack://asr-demo/./src/components/home/AsrDemoCard/AsrDemoCard.vue?7f3d","webpack://asr-demo/./src/components/home/AsrDemoCard/AudioPlayer/AudioPlayer.vue?00c4","webpack://asr-demo/./src/components/home/AsrDemoCard/AudioPlayer/AudioProgressBar.vue?0866","webpack://asr-demo/./src/utils/timeFormat.ts","webpack://asr-demo/./src/components/home/AsrDemoCard/AudioPlayer/AudioProgressBar.vue?6d34","webpack://asr-demo/./src/components/home/AsrDemoCard/AudioPlayer/AudioProgressBar.vue","webpack://asr-demo/./src/store/modules/audioPlayerStore.ts","webpack://asr-demo/./src/store/modules/translateResultStore.ts","webpack://asr-demo/./src/utils/candidates.ts","webpack://asr-demo/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://asr-demo/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://asr-demo/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://asr-demo/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://asr-demo/./node_modules/threads/index.mjs","webpack://asr-demo/./src/recorder/recorder.ts","webpack://asr-demo/./src/utils/dictate.ts","webpack://asr-demo/./src/store/modules/settingStore.ts","webpack://asr-demo/./src/store/modules/postResultStore.ts","webpack://asr-demo/./src/store/modules/mainResultStore.ts","webpack://asr-demo/./src/components/home/AsrDemoCard/AudioPlayer/AudioPlayer.vue?17a8","webpack://asr-demo/./src/components/home/AsrDemoCard/AudioPlayer/AudioPlayer.vue","webpack://asr-demo/./src/components/home/AsrDemoCard/ResultArea/ResultArea.vue?4f42","webpack://asr-demo/./src/components/home/AsrDemoCard/ResultArea/ResultSegment/ResultSegment.vue?b339","webpack://asr-demo/./src/components/home/AsrDemoCard/ResultArea/ResultSegment/ResultSubSegment.vue?7b79","webpack://asr-demo/./src/components/home/AsrDemoCard/ResultArea/ResultSegment/ResultSegmentWord.vue?ed3f","webpack://asr-demo/./src/components/home/AsrDemoCard/ResultArea/ResultSegment/WordCandidates.vue?da92","webpack://asr-demo/./src/components/home/AsrDemoCard/ResultArea/ResultSegment/WordCandidates.vue?2b77","webpack://asr-demo/./src/components/home/AsrDemoCard/ResultArea/ResultSegment/WordCandidates.vue","webpack://asr-demo/./src/components/home/AsrDemoCard/ResultArea/ResultSegment/ResultSegmentWord.vue?47c7","webpack://asr-demo/./src/components/home/AsrDemoCard/ResultArea/ResultSegment/ResultSegmentWord.vue","webpack://asr-demo/./src/components/home/AsrDemoCard/ResultArea/ResultSegment/ResultSubSegment.vue?63ae","webpack://asr-demo/./src/components/home/AsrDemoCard/ResultArea/ResultSegment/ResultSubSegment.vue","webpack://asr-demo/./src/components/home/AsrDemoCard/ResultArea/ResultSegment/ResultSegment.vue?65f7","webpack://asr-demo/./src/components/home/AsrDemoCard/ResultArea/ResultSegment/ResultSegment.vue","webpack://asr-demo/./src/components/home/AsrDemoCard/ResultArea/ResultArea.vue?376d","webpack://asr-demo/./src/components/home/AsrDemoCard/ResultArea/ResultArea.vue","webpack://asr-demo/./src/components/shared/LoadingCircle.vue?4446","webpack://asr-demo/./src/components/shared/LoadingCircle.vue?9934","webpack://asr-demo/./src/components/shared/LoadingCircle.vue","webpack://asr-demo/./src/components/home/AsrDemoCard/AsrDemoCard.vue?844f","webpack://asr-demo/./src/components/home/AsrDemoCard/AsrDemoCard.vue","webpack://asr-demo/./src/components/home/YoutubeDialog.vue?c36e","webpack://asr-demo/./src/components/shared/DialogBox.vue?c95c","webpack://asr-demo/./src/components/shared/DialogBox.vue?a04c","webpack://asr-demo/./src/components/shared/DialogBox.vue","webpack://asr-demo/./src/components/home/YoutubeDialog.vue?a4c1","webpack://asr-demo/./src/components/home/YoutubeDialog.vue","webpack://asr-demo/./src/components/home/YoutubeIframe/YoutubeIframe.vue?704c","webpack://asr-demo/./src/components/home/YoutubeIframe/YoutubeIframe.vue?8b5a","webpack://asr-demo/./src/components/home/YoutubeIframe/YoutubeIframe.vue","webpack://asr-demo/./src/page/Home.vue?01d3"],"sourcesContent":["module.exports = require('./lib/axios');","'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 createError = require('../core/createError');\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\n if (utils.isFormData(requestData)) {\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 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(resolve, reject, 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(createError('Request aborted', config, 'ECONNABORTED', 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(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n config.transitional && config.transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\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) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\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 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// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\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","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\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 this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\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","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'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 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(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\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, '1.0.0'),\n forcedJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n clarifyTimeoutError: validators.transitional(validators.boolean, '1.0.0')\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 return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\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 Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\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 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 enhanceError = require('./enhanceError');\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 {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\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","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.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 };\n };\n return error;\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 var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\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 function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","'use strict';\n\nvar createError = require('./createError');\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(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\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 utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\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: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\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 if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.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 enhanceError(e, this, 'E_JSON_PARSE');\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 validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\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';\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","'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","'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","'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","'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 \"<scheme>://\" 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","'use strict';\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 (typeof payload === 'object') && (payload.isAxiosError === true);\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","'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\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\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","'use strict';\n\nvar pkg = require('./../../package.json');\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 = {};\nvar currentVerArr = pkg.version.split('.');\n\n/**\n * Compare package versions\n * @param {string} version\n * @param {string?} thanVersion\n * @returns {boolean}\n */\nfunction isOlderVersion(version, thanVersion) {\n var pkgVersionArr = thanVersion ? thanVersion.split('.') : currentVerArr;\n var destVer = version.split('.');\n for (var i = 0; i < 3; i++) {\n if (pkgVersionArr[i] > destVer[i]) {\n return true;\n } else if (pkgVersionArr[i] < destVer[i]) {\n return false;\n }\n }\n return false;\n}\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator\n * @param {string?} version\n * @param {string} message\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n var isDeprecated = version && isOlderVersion(version);\n\n function formatMessage(opt, desc) {\n return '[Axios v' + pkg.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 Error(formatMessage(opt, ' has been removed in ' + version));\n }\n\n if (isDeprecated && !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 TypeError('options must be an object');\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 TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n isOlderVersion: isOlderVersion,\n assertOptions: assertOptions,\n validators: validators\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/**\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 toString.call(val) === '[object Array]';\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 * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\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) && (val.buffer instanceof ArrayBuffer);\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 (toString.call(val) !== '[object 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 * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\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 URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\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\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};\n","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","var isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.27.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.27.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar fails = require('../internals/fails');\n\nvar INCORRECT_TO_LENGTH = fails(function () {\n return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;\n});\n\n// V8 and Safari <= 15.4, FF < 23 throws InternalError\n// https://bugs.chromium.org/p/v8/issues/detail?id=12681\nvar SILENT_ON_NON_WRITABLE_LENGTH = !function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).push();\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\n// `Array.prototype.push` method\n// https://tc39.es/ecma262/#sec-array.prototype.push\n$({ target: 'Array', proto: true, arity: 1, forced: INCORRECT_TO_LENGTH || SILENT_ON_NON_WRITABLE_LENGTH }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n push: function push(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n doesNotExceedSafeInteger(len + argCount);\n for (var i = 0; i < argCount; i++) {\n O[len] = arguments[i];\n len++;\n }\n setArrayLength(O, len);\n return len;\n }\n});\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","'use strict';\n\nmodule.exports = value => {\n\tif (!value) {\n\t\treturn false;\n\t}\n\n\t// eslint-disable-next-line no-use-extend-native/no-use-extend-native\n\tif (typeof Symbol.observable === 'symbol' && typeof value[Symbol.observable] === 'function') {\n\t\t// eslint-disable-next-line no-use-extend-native/no-use-extend-native\n\t\treturn value === value[Symbol.observable]();\n\t}\n\n\tif (typeof value['@@observable'] === 'function') {\n\t\treturn value === value['@@observable']();\n\t}\n\n\treturn false;\n};\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nexport class AsyncSerialScheduler {\n constructor(observer) {\n this._baseObserver = observer;\n this._pendingPromises = new Set();\n }\n complete() {\n Promise.all(this._pendingPromises)\n .then(() => this._baseObserver.complete())\n .catch(error => this._baseObserver.error(error));\n }\n error(error) {\n this._baseObserver.error(error);\n }\n schedule(task) {\n const prevPromisesCompletion = Promise.all(this._pendingPromises);\n const values = [];\n const next = (value) => values.push(value);\n const promise = Promise.resolve()\n .then(() => __awaiter(this, void 0, void 0, function* () {\n yield prevPromisesCompletion;\n yield task(next);\n this._pendingPromises.delete(promise);\n for (const value of values) {\n this._baseObserver.next(value);\n }\n }))\n .catch(error => {\n this._pendingPromises.delete(promise);\n this._baseObserver.error(error);\n });\n this._pendingPromises.add(promise);\n }\n}\n","export const hasSymbols = () => typeof Symbol === \"function\";\nexport const hasSymbol = (name) => hasSymbols() && Boolean(Symbol[name]);\nexport const getSymbol = (name) => hasSymbol(name) ? Symbol[name] : \"@@\" + name;\nexport function registerObservableSymbol() {\n if (hasSymbols() && !hasSymbol(\"observable\")) {\n Symbol.observable = Symbol(\"observable\");\n }\n}\nif (!hasSymbol(\"asyncIterator\")) {\n Symbol.asyncIterator = Symbol.asyncIterator || Symbol.for(\"Symbol.asyncIterator\");\n}\n","/**\n * Based on <https://raw.githubusercontent.com/zenparsing/zen-observable/master/src/Observable.js>\n * At commit: f63849a8c60af5d514efc8e9d6138d8273c49ad6\n */\nimport \"./symbols\";\nimport { getSymbol, hasSymbol, hasSymbols } from \"./_symbols\";\nconst SymbolIterator = getSymbol(\"iterator\");\nconst SymbolObservable = getSymbol(\"observable\");\nconst SymbolSpecies = getSymbol(\"species\");\n// === Abstract Operations ===\nfunction getMethod(obj, key) {\n const value = obj[key];\n if (value == null) {\n return undefined;\n }\n if (typeof value !== \"function\") {\n throw new TypeError(value + \" is not a function\");\n }\n return value;\n}\nfunction getSpecies(obj) {\n let ctor = obj.constructor;\n if (ctor !== undefined) {\n ctor = ctor[SymbolSpecies];\n if (ctor === null) {\n ctor = undefined;\n }\n }\n return ctor !== undefined ? ctor : Observable;\n}\nfunction isObservable(x) {\n return x instanceof Observable; // SPEC: Brand check\n}\nfunction hostReportError(error) {\n if (hostReportError.log) {\n hostReportError.log(error);\n }\n else {\n setTimeout(() => { throw error; }, 0);\n }\n}\nfunction enqueue(fn) {\n Promise.resolve().then(() => {\n try {\n fn();\n }\n catch (e) {\n hostReportError(e);\n }\n });\n}\nfunction cleanupSubscription(subscription) {\n const cleanup = subscription._cleanup;\n if (cleanup === undefined) {\n return;\n }\n subscription._cleanup = undefined;\n if (!cleanup) {\n return;\n }\n try {\n if (typeof cleanup === \"function\") {\n cleanup();\n }\n else {\n const unsubscribe = getMethod(cleanup, \"unsubscribe\");\n if (unsubscribe) {\n unsubscribe.call(cleanup);\n }\n }\n }\n catch (e) {\n hostReportError(e);\n }\n}\nfunction closeSubscription(subscription) {\n subscription._observer = undefined;\n subscription._queue = undefined;\n subscription._state = \"closed\";\n}\nfunction flushSubscription(subscription) {\n const queue = subscription._queue;\n if (!queue) {\n return;\n }\n subscription._queue = undefined;\n subscription._state = \"ready\";\n for (const item of queue) {\n notifySubscription(subscription, item.type, item.value);\n if (subscription._state === \"closed\") {\n break;\n }\n }\n}\nfunction notifySubscription(subscription, type, value) {\n subscription._state = \"running\";\n const observer = subscription._observer;\n try {\n const m = observer ? getMethod(observer, type) : undefined;\n switch (type) {\n case \"next\":\n if (m)\n m.call(observer, value);\n break;\n case \"error\":\n closeSubscription(subscription);\n if (m)\n m.call(observer, value);\n else\n throw value;\n break;\n case \"complete\":\n closeSubscription(subscription);\n if (m)\n m.call(observer);\n break;\n }\n }\n catch (e) {\n hostReportError(e);\n }\n if (subscription._state === \"closed\") {\n cleanupSubscription(subscription);\n }\n else if (subscription._state === \"running\") {\n subscription._state = \"ready\";\n }\n}\nfunction onNotify(subscription, type, value) {\n if (subscription._state === \"closed\") {\n return;\n }\n if (subscription._state === \"buffering\") {\n subscription._queue = subscription._queue || [];\n subscription._queue.push({ type, value });\n return;\n }\n if (subscription._state !== \"ready\") {\n subscription._state = \"buffering\";\n subscription._queue = [{ type, value }];\n enqueue(() => flushSubscription(subscription));\n return;\n }\n notifySubscription(subscription, type, value);\n}\nexport class Subscription {\n constructor(observer, subscriber) {\n // ASSERT: observer is an object\n // ASSERT: subscriber is callable\n this._cleanup = undefined;\n this._observer = observer;\n this._queue = undefined;\n this._state = \"initializing\";\n const subscriptionObserver = new SubscriptionObserver(this);\n try {\n this._cleanup = subscriber.call(undefined, subscriptionObserver);\n }\n catch (e) {\n subscriptionObserver.error(e);\n }\n if (this._state === \"initializing\") {\n this._state = \"ready\";\n }\n }\n get closed() {\n return this._state === \"closed\";\n }\n unsubscribe() {\n if (this._state !== \"closed\") {\n closeSubscription(this);\n cleanupSubscription(this);\n }\n }\n}\nexport class SubscriptionObserver {\n constructor(subscription) { this._subscription = subscription; }\n get closed() { return this._subscription._state === \"closed\"; }\n next(value) { onNotify(this._subscription, \"next\", value); }\n error(value) { onNotify(this._subscription, \"error\", value); }\n complete() { onNotify(this._subscription, \"complete\"); }\n}\n/**\n * The basic Observable class. This primitive is used to wrap asynchronous\n * data streams in a common standardized data type that is interoperable\n * between libraries and can be composed to represent more complex processes.\n */\nexport class Observable {\n constructor(subscriber) {\n if (!(this instanceof Observable)) {\n throw new TypeError(\"Observable cannot be called as a function\");\n }\n if (typeof subscriber !== \"function\") {\n throw new TypeError(\"Observable initializer must be a function\");\n }\n this._subscriber = subscriber;\n }\n subscribe(nextOrObserver, onError, onComplete) {\n if (typeof nextOrObserver !== \"object\" || nextOrObserver === null) {\n nextOrObserver = {\n next: nextOrObserver,\n error: onError,\n complete: onComplete\n };\n }\n return new Subscription(nextOrObserver, this._subscriber);\n }\n pipe(first, ...mappers) {\n // tslint:disable-next-line no-this-assignment\n let intermediate = this;\n for (const mapper of [first, ...mappers]) {\n intermediate = mapper(intermediate);\n }\n return intermediate;\n }\n tap(nextOrObserver, onError, onComplete) {\n const tapObserver = typeof nextOrObserver !== \"object\" || nextOrObserver === null\n ? {\n next: nextOrObserver,\n error: onError,\n complete: onComplete\n }\n : nextOrObserver;\n return new Observable(observer => {\n return this.subscribe({\n next(value) {\n tapObserver.next && tapObserver.next(value);\n observer.next(value);\n },\n error(error) {\n tapObserver.error && tapObserver.error(error);\n observer.error(error);\n },\n complete() {\n tapObserver.complete && tapObserver.complete();\n observer.complete();\n },\n start(subscription) {\n tapObserver.start && tapObserver.start(subscription);\n }\n });\n });\n }\n forEach(fn) {\n return new Promise((resolve, reject) => {\n if (typeof fn !== \"function\") {\n reject(new TypeError(fn + \" is not a function\"));\n return;\n }\n function done() {\n subscription.unsubscribe();\n resolve(undefined);\n }\n const subscription = this.subscribe({\n next(value) {\n try {\n fn(value, done);\n }\n catch (e) {\n reject(e);\n subscription.unsubscribe();\n }\n },\n error(error) {\n reject(error);\n },\n complete() {\n resolve(undefined);\n }\n });\n });\n }\n map(fn) {\n if (typeof fn !== \"function\") {\n throw new TypeError(fn + \" is not a function\");\n }\n const C = getSpecies(this);\n return new C(observer => this.subscribe({\n next(value) {\n let propagatedValue = value;\n try {\n propagatedValue = fn(value);\n }\n catch (e) {\n return observer.error(e);\n }\n observer.next(propagatedValue);\n },\n error(e) { observer.error(e); },\n complete() { observer.complete(); },\n }));\n }\n filter(fn) {\n if (typeof fn !== \"function\") {\n throw new TypeError(fn + \" is not a function\");\n }\n const C = getSpecies(this);\n return new C(observer => this.subscribe({\n next(value) {\n try {\n if (!fn(value))\n return;\n }\n catch (e) {\n return observer.error(e);\n }\n observer.next(value);\n },\n error(e) { observer.error(e); },\n complete() { observer.complete(); },\n }));\n }\n reduce(fn, seed) {\n if (typeof fn !== \"function\") {\n throw new TypeError(fn + \" is not a function\");\n }\n const C = getSpecies(this);\n const hasSeed = arguments.length > 1;\n let hasValue = false;\n let acc = seed;\n return new C(observer => this.subscribe({\n next(value) {\n const first = !hasValue;\n hasValue = true;\n if (!first || hasSeed) {\n try {\n acc = fn(acc, value);\n }\n catch (e) {\n return observer.error(e);\n }\n }\n else {\n acc = value;\n }\n },\n error(e) { observer.error(e); },\n complete() {\n if (!hasValue && !hasSeed) {\n return observer.error(new TypeError(\"Cannot reduce an empty sequence\"));\n }\n observer.next(acc);\n observer.complete();\n },\n }));\n }\n concat(...sources) {\n const C = getSpecies(this);\n return new C(observer => {\n let subscription;\n let index = 0;\n function startNext(next) {\n subscription = next.subscribe({\n next(v) { observer.next(v); },\n error(e) { observer.error(e); },\n complete() {\n if (index === sources.length) {\n subscription = undefined;\n observer.complete();\n }\n else {\n startNext(C.from(sources[index++]));\n }\n },\n });\n }\n startNext(this);\n return () => {\n if (subscription) {\n subscription.unsubscribe();\n subscription = undefined;\n }\n };\n });\n }\n flatMap(fn) {\n if (typeof fn !== \"function\") {\n throw new TypeError(fn + \" is not a function\");\n }\n const C = getSpecies(this);\n return new C(observer => {\n const subscriptions = [];\n const outer = this.subscribe({\n next(value) {\n let normalizedValue;\n if (fn) {\n try {\n normalizedValue = fn(value);\n }\n catch (e) {\n return observer.error(e);\n }\n }\n else {\n normalizedValue = value;\n }\n const inner = C.from(normalizedValue).subscribe({\n next(innerValue) { observer.next(innerValue); },\n error(e) { observer.error(e); },\n complete() {\n const i = subscriptions.indexOf(inner);\n if (i >= 0)\n subscriptions.splice(i, 1);\n completeIfDone();\n },\n });\n subscriptions.push(inner);\n },\n error(e) { observer.error(e); },\n complete() { completeIfDone(); },\n });\n function completeIfDone() {\n if (outer.closed && subscriptions.length === 0) {\n observer.complete();\n }\n }\n return () => {\n subscriptions.forEach(s => s.unsubscribe());\n outer.unsubscribe();\n };\n });\n }\n [(Symbol.observable, SymbolObservable)]() { return this; }\n static from(x) {\n const C = (typeof this === \"function\" ? this : Observable);\n if (x == null) {\n throw new TypeError(x + \" is not an object\");\n }\n const observableMethod = getMethod(x, SymbolObservable);\n if (observableMethod) {\n const observable = observableMethod.call(x);\n if (Object(observable) !== observable) {\n throw new TypeError(observable + \" is not an object\");\n }\n if (isObservable(observable) && observable.constructor === C) {\n return observable;\n }\n return new C(observer => observable.subscribe(observer));\n }\n if (hasSymbol(\"iterator\")) {\n const iteratorMethod = getMethod(x, SymbolIterator);\n if (iteratorMethod) {\n return new C(observer => {\n enqueue(() => {\n if (observer.closed)\n return;\n for (const item of iteratorMethod.call(x)) {\n observer.next(item);\n if (observer.closed)\n return;\n }\n observer.complete();\n });\n });\n }\n }\n if (Array.isArray(x)) {\n return new C(observer => {\n enqueue(() => {\n if (observer.closed)\n return;\n for (const item of x) {\n observer.next(item);\n if (observer.closed)\n return;\n }\n observer.complete();\n });\n });\n }\n throw new TypeError(x + \" is not observable\");\n }\n static of(...items) {\n const C = (typeof this === \"function\" ? this : Observable);\n return new C(observer => {\n enqueue(() => {\n if (observer.closed)\n return;\n for (const item of items) {\n observer.next(item);\n if (observer.closed)\n return;\n }\n observer.complete();\n });\n });\n }\n static get [SymbolSpecies]() { return this; }\n}\nif (hasSymbols()) {\n Object.defineProperty(Observable, Symbol(\"extensions\"), {\n value: {\n symbol: SymbolObservable,\n hostReportError,\n },\n configurable: true,\n });\n}\nexport default Observable;\n","/**\n * Unsubscribe from a subscription returned by something that looks like an observable,\n * but is not necessarily our observable implementation.\n */\nfunction unsubscribe(subscription) {\n if (typeof subscription === \"function\") {\n subscription();\n }\n else if (subscription && typeof subscription.unsubscribe === \"function\") {\n subscription.unsubscribe();\n }\n}\nexport default unsubscribe;\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { AsyncSerialScheduler } from \"./_scheduler\";\nimport Observable from \"./observable\";\nimport unsubscribe from \"./unsubscribe\";\n/**\n * Filters the values emitted by another observable.\n * To be applied to an input observable using `pipe()`.\n */\nfunction filter(test) {\n return (observable) => {\n return new Observable(observer => {\n const scheduler = new AsyncSerialScheduler(observer);\n const subscription = observable.subscribe({\n complete() {\n scheduler.complete();\n },\n error(error) {\n scheduler.error(error);\n },\n next(input) {\n scheduler.schedule((next) => __awaiter(this, void 0, void 0, function* () {\n if (yield test(input)) {\n next(input);\n }\n }));\n }\n });\n return () => unsubscribe(subscription);\n });\n };\n}\nexport default filter;\n","/// <reference lib=\"es2018\" />\nimport { hasSymbol } from \"./_symbols\";\nexport function isAsyncIterator(thing) {\n return thing && hasSymbol(\"asyncIterator\") && thing[Symbol.asyncIterator];\n}\nexport function isIterator(thing) {\n return thing && hasSymbol(\"iterator\") && thing[Symbol.iterator];\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n};\nimport { AsyncSerialScheduler } from \"./_scheduler\";\nimport { isAsyncIterator, isIterator } from \"./_util\";\nimport Observable from \"./observable\";\nimport unsubscribe from \"./unsubscribe\";\n/**\n * Maps the values emitted by another observable. In contrast to `map()`\n * the `mapper` function returns an array of values that will be emitted\n * separately.\n * Use `flatMap()` to map input values to zero, one or multiple output\n * values. To be applied to an input observable using `pipe()`.\n */\nfunction flatMap(mapper) {\n return (observable) => {\n return new Observable(observer => {\n const scheduler = new AsyncSerialScheduler(observer);\n const subscription = observable.subscribe({\n complete() {\n scheduler.complete();\n },\n error(error) {\n scheduler.error(error);\n },\n next(input) {\n scheduler.schedule((next) => __awaiter(this, void 0, void 0, function* () {\n var e_1, _a;\n const mapped = yield mapper(input);\n if (isIterator(mapped) || isAsyncIterator(mapped)) {\n try {\n for (var mapped_1 = __asyncValues(mapped), mapped_1_1; mapped_1_1 = yield mapped_1.next(), !mapped_1_1.done;) {\n const element = mapped_1_1.value;\n next(element);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (mapped_1_1 && !mapped_1_1.done && (_a = mapped_1.return)) yield _a.call(mapped_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n else {\n mapped.map(output => next(output));\n }\n }));\n }\n });\n return () => unsubscribe(subscription);\n });\n };\n}\nexport default flatMap;\n","import { Observable } from \"./observable\";\n/**\n * Creates an observable that yields a new value every `period` milliseconds.\n * The first value emitted is 0, then 1, 2, etc. The first value is not emitted\n * immediately, but after the first interval.\n */\nexport default function interval(period) {\n return new Observable(observer => {\n let counter = 0;\n const handle = setInterval(() => {\n observer.next(counter++);\n }, period);\n return () => clearInterval(handle);\n });\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { AsyncSerialScheduler } from \"./_scheduler\";\nimport Observable from \"./observable\";\nimport unsubscribe from \"./unsubscribe\";\n/**\n * Maps the values emitted by another observable to different values.\n * To be applied to an input observable using `pipe()`.\n */\nfunction map(mapper) {\n return (observable) => {\n return new Observable(observer => {\n const scheduler = new AsyncSerialScheduler(observer);\n const subscription = observable.subscribe({\n complete() {\n scheduler.complete();\n },\n error(error) {\n scheduler.error(error);\n },\n next(input) {\n scheduler.schedule((next) => __awaiter(this, void 0, void 0, function* () {\n const mapped = yield mapper(input);\n next(mapped);\n }));\n }\n });\n return () => unsubscribe(subscription);\n });\n };\n}\nexport default map;\n","import { Observable } from \"./observable\";\nimport unsubscribe from \"./unsubscribe\";\nfunction merge(...observables) {\n if (observables.length === 0) {\n return Observable.from([]);\n }\n return new Observable(observer => {\n let completed = 0;\n const subscriptions = observables.map(input => {\n return input.subscribe({\n error(error) {\n observer.error(error);\n unsubscribeAll();\n },\n next(value) {\n observer.next(value);\n },\n complete() {\n if (++completed === observables.length) {\n observer.complete();\n unsubscribeAll();\n }\n }\n });\n });\n const unsubscribeAll = () => {\n subscriptions.forEach(subscription => unsubscribe(subscription));\n };\n return unsubscribeAll;\n });\n}\nexport default merge;\n","import Observable from \"./observable\";\n// TODO: This observer iteration approach looks inelegant and expensive\n// Idea: Come up with super class for Subscription that contains the\n// notify*, ... methods and use it here\n/**\n * A subject is a \"hot\" observable (see `multicast`) that has its observer\n * methods (`.next(value)`, `.error(error)`, `.complete()`) exposed.\n *\n * Be careful, though! With great power comes great responsibility. Only use\n * the `Subject` when you really need to trigger updates \"from the outside\" and\n * try to keep the code that can access it to a minimum. Return\n * `Observable.from(mySubject)` to not allow other code to mutate.\n */\nclass MulticastSubject extends Observable {\n constructor() {\n super(observer => {\n this._observers.add(observer);\n return () => this._observers.delete(observer);\n });\n this._observers = new Set();\n }\n next(value) {\n for (const observer of this._observers) {\n observer.next(value);\n }\n }\n error(error) {\n for (const observer of this._observers) {\n observer.error(error);\n }\n }\n complete() {\n for (const observer of this._observers) {\n observer.complete();\n }\n }\n}\nexport default MulticastSubject;\n","import Observable from \"./observable\";\nimport Subject from \"./subject\";\nimport unsubscribe from \"./unsubscribe\";\n// TODO: Subject already creates additional observables \"under the hood\",\n// now we introduce even more. A true native MulticastObservable\n// would be preferable.\n/**\n * Takes a \"cold\" observable and returns a wrapping \"hot\" observable that\n * proxies the input observable's values and errors.\n *\n * An observable is called \"cold\" when its initialization function is run\n * for each new subscriber. This is how observable-fns's `Observable`\n * implementation works.\n *\n * A hot observable is an observable where new subscribers subscribe to\n * the upcoming values of an already-initialiazed observable.\n *\n * The multicast observable will lazily subscribe to the source observable\n * once it has its first own subscriber and will unsubscribe from the\n * source observable when its last own subscriber unsubscribed.\n */\nfunction multicast(coldObservable) {\n const subject = new Subject();\n let sourceSubscription;\n let subscriberCount = 0;\n return new Observable(observer => {\n // Init source subscription lazily\n if (!sourceSubscription) {\n sourceSubscription = coldObservable.subscribe(subject);\n }\n // Pipe all events from `subject` into this observable\n const subscription = subject.subscribe(observer);\n subscriberCount++;\n return () => {\n subscriberCount--;\n subscription.unsubscribe();\n // Close source subscription once last subscriber has unsubscribed\n if (subscriberCount === 0) {\n unsubscribe(sourceSubscription);\n sourceSubscription = undefined;\n }\n };\n });\n}\nexport default multicast;\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { AsyncSerialScheduler } from \"./_scheduler\";\nimport Observable from \"./observable\";\nimport unsubscribe from \"./unsubscribe\";\nfunction scan(accumulator, seed) {\n return (observable) => {\n return new Observable(observer => {\n let accumulated;\n let index = 0;\n const scheduler = new AsyncSerialScheduler(observer);\n const subscription = observable.subscribe({\n complete() {\n scheduler.complete();\n },\n error(error) {\n scheduler.error(error);\n },\n next(value) {\n scheduler.schedule((next) => __awaiter(this, void 0, void 0, function* () {\n const prevAcc = index === 0\n ? (typeof seed === \"undefined\" ? value : seed)\n : accumulated;\n accumulated = yield accumulator(prevAcc, value, index++);\n next(accumulated);\n }));\n }\n });\n return () => unsubscribe(subscription);\n });\n };\n}\nexport default scan;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst timestampToSeconds = (srtTimestamp) => {\n const [rest, millisecondsString] = srtTimestamp.split(\",\");\n const milliseconds = parseInt(millisecondsString);\n const [hours, minutes, seconds] = rest.split(\":\").map((x) => parseInt(x));\n return milliseconds * 0.001 + seconds + 60 * minutes + 3600 * hours;\n};\nclass Parser {\n constructor() {\n this.seperator = \",\";\n }\n correctFormat(time) {\n // Fix the format if the format is wrong\n // 00:00:28.9670 Become 00:00:28,967\n // 00:00:28.967 Become 00:00:28,967\n // 00:00:28.96 Become 00:00:28,960\n // 00:00:28.9 Become 00:00:28,900\n // 00:00:28,96 Become 00:00:28,960\n // 00:00:28,9 Become 00:00:28,900\n // 00:00:28,0 Become 00:00:28,000\n // 00:00:28,01 Become 00:00:28,010\n // 0:00:10,500 Become 00:00:10,500\n let str = time.replace(\".\", \",\");\n var hour = null;\n var minute = null;\n var second = null;\n var millisecond = null;\n // Handle millisecond\n var [front, ms] = str.split(\",\");\n millisecond = this.fixed_str_digit(3, ms);\n // Handle hour\n var [a_hour, a_minute, a_second] = front.split(\":\");\n hour = this.fixed_str_digit(2, a_hour, false);\n minute = this.fixed_str_digit(2, a_minute, false);\n second = this.fixed_str_digit(2, a_second, false);\n return `${hour}:${minute}:${second},${millisecond}`;\n }\n /*\n // make sure string is 'how_many_digit' long\n // if str is shorter than how_many_digit, pad with 0\n // if str is longer than how_many_digit, slice from the beginning\n // Example:\n \n Input: fixed_str_digit(3, '100')\n Output: 100\n Explain: unchanged, because \"100\" is 3 digit\n \n Input: fixed_str_digit(3, '50')\n Output: 500\n Explain: pad end with 0\n \n Input: fixed_str_digit(3, '50', false)\n Output: 050\n Explain: pad start with 0\n \n Input: fixed_str_digit(3, '7771')\n Output: 777\n Explain: slice from beginning\n */\n fixed_str_digit(how_many_digit, str, padEnd = true) {\n if (str.length == how_many_digit) {\n return str;\n }\n if (str.length > how_many_digit) {\n return str.slice(0, how_many_digit);\n }\n if (str.length < how_many_digit) {\n if (padEnd) {\n return str.padEnd(how_many_digit, \"0\");\n }\n else {\n return str.padStart(how_many_digit, \"0\");\n }\n }\n }\n tryComma(data) {\n data = data.replace(/\\r/g, \"\");\n var regex = /(\\d+)\\n(\\d{1,2}:\\d{2}:\\d{2},\\d{1,3}) --> (\\d{1,2}:\\d{2}:\\d{2},\\d{1,3})/g;\n let data_array = data.split(regex);\n data_array.shift(); // remove first '' in array\n return data_array;\n }\n tryDot(data) {\n data = data.replace(/\\r/g, \"\");\n var regex = /(\\d+)\\n(\\d{1,2}:\\d{2}:\\d{2}\\.\\d{1,3}) --> (\\d{1,2}:\\d{2}:\\d{2}\\.\\d{1,3})/g;\n let data_array = data.split(regex);\n data_array.shift(); // remove first '' in array\n this.seperator = \".\";\n return data_array;\n }\n fromSrt(data) {\n var originalData = data;\n var data_array = this.tryComma(originalData);\n if (data_array.length == 0) {\n data_array = this.tryDot(originalData);\n }\n var items = [];\n for (var i = 0; i < data_array.length; i += 4) {\n const startTime = this.correctFormat(data_array[i + 1].trim());\n const endTime = this.correctFormat(data_array[i + 2].trim());\n var new_line = {\n id: data_array[i].trim(),\n startTime,\n startSeconds: timestampToSeconds(startTime),\n endTime,\n endSeconds: timestampToSeconds(endTime),\n text: data_array[i + 3].trim(),\n };\n items.push(new_line);\n }\n return items;\n }\n toSrt(data) {\n var res = \"\";\n const end_of_line = \"\\r\\n\";\n for (var i = 0; i < data.length; i++) {\n var s = data[i];\n res += s.id + end_of_line;\n res += s.startTime + \" --> \" + s.endTime + end_of_line;\n res += s.text.replace(\"\\n\", end_of_line) + end_of_line + end_of_line;\n }\n return res;\n }\n}\nexports.default = Parser;\n","module.exports = __webpack_public_path__ + \"js/worker.6318d48b.worker.js\"","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.serialize = exports.deserialize = exports.registerSerializer = void 0;\nconst serializers_1 = require(\"./serializers\");\nlet registeredSerializer = serializers_1.DefaultSerializer;\nfunction registerSerializer(serializer) {\n registeredSerializer = serializers_1.extendSerializer(registeredSerializer, serializer);\n}\nexports.registerSerializer = registerSerializer;\nfunction deserialize(message) {\n return registeredSerializer.deserialize(message);\n}\nexports.deserialize = deserialize;\nfunction serialize(input) {\n return registeredSerializer.serialize(input);\n}\nexports.serialize = serialize;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Transfer = exports.DefaultSerializer = exports.expose = exports.registerSerializer = void 0;\nvar common_1 = require(\"./common\");\nObject.defineProperty(exports, \"registerSerializer\", { enumerable: true, get: function () { return common_1.registerSerializer; } });\n__exportStar(require(\"./master/index\"), exports);\nvar index_1 = require(\"./worker/index\");\nObject.defineProperty(exports, \"expose\", { enumerable: true, get: function () { return index_1.expose; } });\nvar serializers_1 = require(\"./serializers\");\nObject.defineProperty(exports, \"DefaultSerializer\", { enumerable: true, get: function () { return serializers_1.DefaultSerializer; } });\nvar transferable_1 = require(\"./transferable\");\nObject.defineProperty(exports, \"Transfer\", { enumerable: true, get: function () { return transferable_1.Transfer; } });\n","\"use strict\";\n// Source: <https://github.com/parcel-bundler/parcel/blob/master/packages/core/parcel-bundler/src/builtins/bundle-url.js>\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getBundleURL = exports.getBaseURL = void 0;\nlet bundleURL;\nfunction getBundleURLCached() {\n if (!bundleURL) {\n bundleURL = getBundleURL();\n }\n return bundleURL;\n}\nexports.getBundleURL = getBundleURLCached;\nfunction getBundleURL() {\n // Attempt to find the URL of the current script and use that as the base URL\n try {\n throw new Error;\n }\n catch (err) {\n const matches = (\"\" + err.stack).match(/(https?|file|ftp|chrome-extension|moz-extension):\\/\\/[^)\\n]+/g);\n if (matches) {\n return getBaseURL(matches[0]);\n }\n }\n return \"/\";\n}\nfunction getBaseURL(url) {\n return (\"\" + url).replace(/^((?:https?|file|ftp|chrome-extension|moz-extension):\\/\\/.+)?\\/[^/]+(?:\\?.*)?$/, '$1') + '/';\n}\nexports.getBaseURL = getBaseURL;\n","\"use strict\";\n// tslint:disable max-classes-per-file\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isWorkerRuntime = exports.getWorkerImplementation = exports.defaultPoolSize = void 0;\nconst get_bundle_url_browser_1 = require(\"./get-bundle-url.browser\");\nexports.defaultPoolSize = typeof navigator !== \"undefined\" && navigator.hardwareConcurrency\n ? navigator.hardwareConcurrency\n : 4;\nconst isAbsoluteURL = (value) => /^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.test(value);\nfunction createSourceBlobURL(code) {\n const blob = new Blob([code], { type: \"application/javascript\" });\n return URL.createObjectURL(blob);\n}\nfunction selectWorkerImplementation() {\n if (typeof Worker === \"undefined\") {\n // Might happen on Safari, for instance\n // The idea is to only fail if the constructor is actually used\n return class NoWebWorker {\n constructor() {\n throw Error(\"No web worker implementation available. You might have tried to spawn a worker within a worker in a browser that doesn't support workers in workers.\");\n }\n };\n }\n class WebWorker extends Worker {\n constructor(url, options) {\n var _a, _b;\n if (typeof url === \"string\" && options && options._baseURL) {\n url = new URL(url, options._baseURL);\n }\n else if (typeof url === \"string\" && !isAbsoluteURL(url) && get_bundle_url_browser_1.getBundleURL().match(/^file:\\/\\//i)) {\n url = new URL(url, get_bundle_url_browser_1.getBundleURL().replace(/\\/[^\\/]+$/, \"/\"));\n if ((_a = options === null || options === void 0 ? void 0 : options.CORSWorkaround) !== null && _a !== void 0 ? _a : true) {\n url = createSourceBlobURL(`importScripts(${JSON.stringify(url)});`);\n }\n }\n if (typeof url === \"string\" && isAbsoluteURL(url)) {\n // Create source code blob loading JS file via `importScripts()`\n // to circumvent worker CORS restrictions\n if ((_b = options === null || options === void 0 ? void 0 : options.CORSWorkaround) !== null && _b !== void 0 ? _b : true) {\n url = createSourceBlobURL(`importScripts(${JSON.stringify(url)});`);\n }\n }\n super(url, options);\n }\n }\n class BlobWorker extends WebWorker {\n constructor(blob, options) {\n const url = window.URL.createObjectURL(blob);\n super(url, options);\n }\n static fromText(source, options) {\n const blob = new window.Blob([source], { type: \"text/javascript\" });\n return new BlobWorker(blob, options);\n }\n }\n return {\n blob: BlobWorker,\n default: WebWorker\n };\n}\nlet implementation;\nfunction getWorkerImplementation() {\n if (!implementation) {\n implementation = selectWorkerImplementation();\n }\n return implementation;\n}\nexports.getWorkerImplementation = getWorkerImplementation;\nfunction isWorkerRuntime() {\n const isWindowContext = typeof self !== \"undefined\" && typeof Window !== \"undefined\" && self instanceof Window;\n return typeof self !== \"undefined\" && self.postMessage && !isWindowContext ? true : false;\n}\nexports.isWorkerRuntime = isWorkerRuntime;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Worker = exports.BlobWorker = exports.isWorkerRuntime = exports.Thread = exports.spawn = exports.Pool = void 0;\nconst implementation_1 = require(\"./implementation\");\nObject.defineProperty(exports, \"isWorkerRuntime\", { enumerable: true, get: function () { return implementation_1.isWorkerRuntime; } });\nvar pool_1 = require(\"./pool\");\nObject.defineProperty(exports, \"Pool\", { enumerable: true, get: function () { return pool_1.Pool; } });\nvar spawn_1 = require(\"./spawn\");\nObject.defineProperty(exports, \"spawn\", { enumerable: true, get: function () { return spawn_1.spawn; } });\nvar thread_1 = require(\"./thread\");\nObject.defineProperty(exports, \"Thread\", { enumerable: true, get: function () { return thread_1.Thread; } });\n/** Separate class to spawn workers from source code blobs or strings. */\nexports.BlobWorker = implementation_1.getWorkerImplementation().blob;\n/** Worker implementation. Either web worker or a node.js Worker class. */\nexports.Worker = implementation_1.getWorkerImplementation().default;\n","\"use strict\";\n/*\n * This source file contains the code for proxying calls in the master thread to calls in the workers\n * by `.postMessage()`-ing.\n *\n * Keep in mind that this code can make or break the program's performance! Need to optimize more…\n */\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createProxyModule = exports.createProxyFunction = void 0;\nconst debug_1 = __importDefault(require(\"debug\"));\nconst observable_fns_1 = require(\"observable-fns\");\nconst common_1 = require(\"../common\");\nconst observable_promise_1 = require(\"../observable-promise\");\nconst transferable_1 = require(\"../transferable\");\nconst messages_1 = require(\"../types/messages\");\nconst debugMessages = debug_1.default(\"threads:master:messages\");\nlet nextJobUID = 1;\nconst dedupe = (array) => Array.from(new Set(array));\nconst isJobErrorMessage = (data) => data && data.type === messages_1.WorkerMessageType.error;\nconst isJobResultMessage = (data) => data && data.type === messages_1.WorkerMessageType.result;\nconst isJobStartMessage = (data) => data && data.type === messages_1.WorkerMessageType.running;\nfunction createObservableForJob(worker, jobUID) {\n return new observable_fns_1.Observable(observer => {\n let asyncType;\n const messageHandler = ((event) => {\n debugMessages(\"Message from worker:\", event.data);\n if (!event.data || event.data.uid !== jobUID)\n return;\n if (isJobStartMessage(event.data)) {\n asyncType = event.data.resultType;\n }\n else if (isJobResultMessage(event.data)) {\n if (asyncType === \"promise\") {\n if (typeof event.data.payload !== \"undefined\") {\n observer.next(common_1.deserialize(event.data.payload));\n }\n observer.complete();\n worker.removeEventListener(\"message\", messageHandler);\n }\n else {\n if (event.data.payload) {\n observer.next(common_1.deserialize(event.data.payload));\n }\n if (event.data.complete) {\n observer.complete();\n worker.removeEventListener(\"message\", messageHandler);\n }\n }\n }\n else if (isJobErrorMessage(event.data)) {\n const error = common_1.deserialize(event.data.error);\n if (asyncType === \"promise\" || !asyncType) {\n observer.error(error);\n }\n else {\n observer.error(error);\n }\n worker.removeEventListener(\"message\", messageHandler);\n }\n });\n worker.addEventListener(\"message\", messageHandler);\n return () => {\n if (asyncType === \"observable\" || !asyncType) {\n const cancelMessage = {\n type: messages_1.MasterMessageType.cancel,\n uid: jobUID\n };\n worker.postMessage(cancelMessage);\n }\n worker.removeEventListener(\"message\", messageHandler);\n };\n });\n}\nfunction prepareArguments(rawArgs) {\n if (rawArgs.length === 0) {\n // Exit early if possible\n return {\n args: [],\n transferables: []\n };\n }\n const args = [];\n const transferables = [];\n for (const arg of rawArgs) {\n if (transferable_1.isTransferDescriptor(arg)) {\n args.push(common_1.serialize(arg.send));\n transferables.push(...arg.transferables);\n }\n else {\n args.push(common_1.serialize(arg));\n }\n }\n return {\n args,\n transferables: transferables.length === 0 ? transferables : dedupe(transferables)\n };\n}\nfunction createProxyFunction(worker, method) {\n return ((...rawArgs) => {\n const uid = nextJobUID++;\n const { args, transferables } = prepareArguments(rawArgs);\n const runMessage = {\n type: messages_1.MasterMessageType.run,\n uid,\n method,\n args\n };\n debugMessages(\"Sending command to run function to worker:\", runMessage);\n try {\n worker.postMessage(runMessage, transferables);\n }\n catch (error) {\n return observable_promise_1.ObservablePromise.from(Promise.reject(error));\n }\n return observable_promise_1.ObservablePromise.from(observable_fns_1.multicast(createObservableForJob(worker, uid)));\n });\n}\nexports.createProxyFunction = createProxyFunction;\nfunction createProxyModule(worker, methodNames) {\n const proxy = {};\n for (const methodName of methodNames) {\n proxy[methodName] = createProxyFunction(worker, methodName);\n }\n return proxy;\n}\nexports.createProxyModule = createProxyModule;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PoolEventType = void 0;\n/** Pool event type. Specifies the type of each `PoolEvent`. */\nvar PoolEventType;\n(function (PoolEventType) {\n PoolEventType[\"initialized\"] = \"initialized\";\n PoolEventType[\"taskCanceled\"] = \"taskCanceled\";\n PoolEventType[\"taskCompleted\"] = \"taskCompleted\";\n PoolEventType[\"taskFailed\"] = \"taskFailed\";\n PoolEventType[\"taskQueued\"] = \"taskQueued\";\n PoolEventType[\"taskQueueDrained\"] = \"taskQueueDrained\";\n PoolEventType[\"taskStart\"] = \"taskStart\";\n PoolEventType[\"terminated\"] = \"terminated\";\n})(PoolEventType = exports.PoolEventType || (exports.PoolEventType = {}));\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Pool = exports.Thread = exports.PoolEventType = void 0;\nconst debug_1 = __importDefault(require(\"debug\"));\nconst observable_fns_1 = require(\"observable-fns\");\nconst ponyfills_1 = require(\"../ponyfills\");\nconst implementation_1 = require(\"./implementation\");\nconst pool_types_1 = require(\"./pool-types\");\nObject.defineProperty(exports, \"PoolEventType\", { enumerable: true, get: function () { return pool_types_1.PoolEventType; } });\nconst thread_1 = require(\"./thread\");\nObject.defineProperty(exports, \"Thread\", { enumerable: true, get: function () { return thread_1.Thread; } });\nlet nextPoolID = 1;\nfunction createArray(size) {\n const array = [];\n for (let index = 0; index < size; index++) {\n array.push(index);\n }\n return array;\n}\nfunction delay(ms) {\n return new Promise(resolve => setTimeout(resolve, ms));\n}\nfunction flatMap(array, mapper) {\n return array.reduce((flattened, element) => [...flattened, ...mapper(element)], []);\n}\nfunction slugify(text) {\n return text.replace(/\\W/g, \" \").trim().replace(/\\s+/g, \"-\");\n}\nfunction spawnWorkers(spawnWorker, count) {\n return createArray(count).map(() => ({\n init: spawnWorker(),\n runningTasks: []\n }));\n}\nclass WorkerPool {\n constructor(spawnWorker, optionsOrSize) {\n this.eventSubject = new observable_fns_1.Subject();\n this.initErrors = [];\n this.isClosing = false;\n this.nextTaskID = 1;\n this.taskQueue = [];\n const options = typeof optionsOrSize === \"number\"\n ? { size: optionsOrSize }\n : optionsOrSize || {};\n const { size = implementation_1.defaultPoolSize } = options;\n this.debug = debug_1.default(`threads:pool:${slugify(options.name || String(nextPoolID++))}`);\n this.options = options;\n this.workers = spawnWorkers(spawnWorker, size);\n this.eventObservable = observable_fns_1.multicast(observable_fns_1.Observable.from(this.eventSubject));\n Promise.all(this.workers.map(worker => worker.init)).then(() => this.eventSubject.next({\n type: pool_types_1.PoolEventType.initialized,\n size: this.workers.length\n }), error => {\n this.debug(\"Error while initializing pool worker:\", error);\n this.eventSubject.error(error);\n this.initErrors.push(error);\n });\n }\n findIdlingWorker() {\n const { concurrency = 1 } = this.options;\n return this.workers.find(worker => worker.runningTasks.length < concurrency);\n }\n runPoolTask(worker, task) {\n return __awaiter(this, void 0, void 0, function* () {\n const workerID = this.workers.indexOf(worker) + 1;\n this.debug(`Running task #${task.id} on worker #${workerID}...`);\n this.eventSubject.next({\n type: pool_types_1.PoolEventType.taskStart,\n taskID: task.id,\n workerID\n });\n try {\n const returnValue = yield task.run(yield worker.init);\n this.debug(`Task #${task.id} completed successfully`);\n this.eventSubject.next({\n type: pool_types_1.PoolEventType.taskCompleted,\n returnValue,\n taskID: task.id,\n workerID\n });\n }\n catch (error) {\n this.debug(`Task #${task.id} failed`);\n this.eventSubject.next({\n type: pool_types_1.PoolEventType.taskFailed,\n taskID: task.id,\n error,\n workerID\n });\n }\n });\n }\n run(worker, task) {\n return __awaiter(this, void 0, void 0, function* () {\n const runPromise = (() => __awaiter(this, void 0, void 0, function* () {\n const removeTaskFromWorkersRunningTasks = () => {\n worker.runningTasks = worker.runningTasks.filter(someRunPromise => someRunPromise !== runPromise);\n };\n // Defer task execution by one tick to give handlers time to subscribe\n yield delay(0);\n try {\n yield this.runPoolTask(worker, task);\n }\n finally {\n removeTaskFromWorkersRunningTasks();\n if (!this.isClosing) {\n this.scheduleWork();\n }\n }\n }))();\n worker.runningTasks.push(runPromise);\n });\n }\n scheduleWork() {\n this.debug(`Attempt de-queueing a task in order to run it...`);\n const availableWorker = this.findIdlingWorker();\n if (!availableWorker)\n return;\n const nextTask = this.taskQueue.shift();\n if (!nextTask) {\n this.debug(`Task queue is empty`);\n this.eventSubject.next({ type: pool_types_1.PoolEventType.taskQueueDrained });\n return;\n }\n this.run(availableWorker, nextTask);\n }\n taskCompletion(taskID) {\n return new Promise((resolve, reject) => {\n const eventSubscription = this.events().subscribe(event => {\n if (event.type === pool_types_1.PoolEventType.taskCompleted && event.taskID === taskID) {\n eventSubscription.unsubscribe();\n resolve(event.returnValue);\n }\n else if (event.type === pool_types_1.PoolEventType.taskFailed && event.taskID === taskID) {\n eventSubscription.unsubscribe();\n reject(event.error);\n }\n else if (event.type === pool_types_1.PoolEventType.terminated) {\n eventSubscription.unsubscribe();\n reject(Error(\"Pool has been terminated before task was run.\"));\n }\n });\n });\n }\n settled(allowResolvingImmediately = false) {\n return __awaiter(this, void 0, void 0, function* () {\n const getCurrentlyRunningTasks = () => flatMap(this.workers, worker => worker.runningTasks);\n const taskFailures = [];\n const failureSubscription = this.eventObservable.subscribe(event => {\n if (event.type === pool_types_1.PoolEventType.taskFailed) {\n taskFailures.push(event.error);\n }\n });\n if (this.initErrors.length > 0) {\n return Promise.reject(this.initErrors[0]);\n }\n if (allowResolvingImmediately && this.taskQueue.length === 0) {\n yield ponyfills_1.allSettled(getCurrentlyRunningTasks());\n return taskFailures;\n }\n yield new Promise((resolve, reject) => {\n const subscription = this.eventObservable.subscribe({\n next(event) {\n if (event.type === pool_types_1.PoolEventType.taskQueueDrained) {\n subscription.unsubscribe();\n resolve(void 0);\n }\n },\n error: reject // make a pool-wide error reject the completed() result promise\n });\n });\n yield ponyfills_1.allSettled(getCurrentlyRunningTasks());\n failureSubscription.unsubscribe();\n return taskFailures;\n });\n }\n completed(allowResolvingImmediately = false) {\n return __awaiter(this, void 0, void 0, function* () {\n const settlementPromise = this.settled(allowResolvingImmediately);\n const earlyExitPromise = new Promise((resolve, reject) => {\n const subscription = this.eventObservable.subscribe({\n next(event) {\n if (event.type === pool_types_1.PoolEventType.taskQueueDrained) {\n subscription.unsubscribe();\n resolve(settlementPromise);\n }\n else if (event.type === pool_types_1.PoolEventType.taskFailed) {\n subscription.unsubscribe();\n reject(event.error);\n }\n },\n error: reject // make a pool-wide error reject the completed() result promise\n });\n });\n const errors = yield Promise.race([\n settlementPromise,\n earlyExitPromise\n ]);\n if (errors.length > 0) {\n throw errors[0];\n }\n });\n }\n events() {\n return this.eventObservable;\n }\n queue(taskFunction) {\n const { maxQueuedJobs = Infinity } = this.options;\n if (this.isClosing) {\n throw Error(`Cannot schedule pool tasks after terminate() has been called.`);\n }\n if (this.initErrors.length > 0) {\n throw this.initErrors[0];\n }\n const taskID = this.nextTaskID++;\n const taskCompletion = this.taskCompletion(taskID);\n taskCompletion.catch((error) => {\n // Prevent unhandled rejections here as we assume the user will use\n // `pool.completed()`, `pool.settled()` or `task.catch()` to handle errors\n this.debug(`Task #${taskID} errored:`, error);\n });\n const task = {\n id: taskID,\n run: taskFunction,\n cancel: () => {\n if (this.taskQueue.indexOf(task) === -1)\n return;\n this.taskQueue = this.taskQueue.filter(someTask => someTask !== task);\n this.eventSubject.next({\n type: pool_types_1.PoolEventType.taskCanceled,\n taskID: task.id\n });\n },\n then: taskCompletion.then.bind(taskCompletion)\n };\n if (this.taskQueue.length >= maxQueuedJobs) {\n throw Error(\"Maximum number of pool tasks queued. Refusing to queue another one.\\n\" +\n \"This usually happens for one of two reasons: We are either at peak \" +\n \"workload right now or some tasks just won't finish, thus blocking the pool.\");\n }\n this.debug(`Queueing task #${task.id}...`);\n this.taskQueue.push(task);\n this.eventSubject.next({\n type: pool_types_1.PoolEventType.taskQueued,\n taskID: task.id\n });\n this.scheduleWork();\n return task;\n }\n terminate(force) {\n return __awaiter(this, void 0, void 0, function* () {\n this.isClosing = true;\n if (!force) {\n yield this.completed(true);\n }\n this.eventSubject.next({\n type: pool_types_1.PoolEventType.terminated,\n remainingQueue: [...this.taskQueue]\n });\n this.eventSubject.complete();\n yield Promise.all(this.workers.map((worker) => __awaiter(this, void 0, void 0, function* () { return thread_1.Thread.terminate(yield worker.init); })));\n });\n }\n}\nWorkerPool.EventType = pool_types_1.PoolEventType;\n/**\n * Thread pool constructor. Creates a new pool and spawns its worker threads.\n */\nfunction PoolConstructor(spawnWorker, optionsOrSize) {\n // The function exists only so we don't need to use `new` to create a pool (we still can, though).\n // If the Pool is a class or not is an implementation detail that should not concern the user.\n return new WorkerPool(spawnWorker, optionsOrSize);\n}\nPoolConstructor.EventType = pool_types_1.PoolEventType;\n/**\n * Thread pool constructor. Creates a new pool and spawns its worker threads.\n */\nexports.Pool = PoolConstructor;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.spawn = void 0;\nconst debug_1 = __importDefault(require(\"debug\"));\nconst observable_fns_1 = require(\"observable-fns\");\nconst common_1 = require(\"../common\");\nconst promise_1 = require(\"../promise\");\nconst symbols_1 = require(\"../symbols\");\nconst master_1 = require(\"../types/master\");\nconst invocation_proxy_1 = require(\"./invocation-proxy\");\nconst debugMessages = debug_1.default(\"threads:master:messages\");\nconst debugSpawn = debug_1.default(\"threads:master:spawn\");\nconst debugThreadUtils = debug_1.default(\"threads:master:thread-utils\");\nconst isInitMessage = (data) => data && data.type === \"init\";\nconst isUncaughtErrorMessage = (data) => data && data.type === \"uncaughtError\";\nconst initMessageTimeout = typeof process !== \"undefined\" && process.env.THREADS_WORKER_INIT_TIMEOUT\n ? Number.parseInt(process.env.THREADS_WORKER_INIT_TIMEOUT, 10)\n : 10000;\nfunction withTimeout(promise, timeoutInMs, errorMessage) {\n return __awaiter(this, void 0, void 0, function* () {\n let timeoutHandle;\n const timeout = new Promise((resolve, reject) => {\n timeoutHandle = setTimeout(() => reject(Error(errorMessage)), timeoutInMs);\n });\n const result = yield Promise.race([\n promise,\n timeout\n ]);\n clearTimeout(timeoutHandle);\n return result;\n });\n}\nfunction receiveInitMessage(worker) {\n return new Promise((resolve, reject) => {\n const messageHandler = ((event) => {\n debugMessages(\"Message from worker before finishing initialization:\", event.data);\n if (isInitMessage(event.data)) {\n worker.removeEventListener(\"message\", messageHandler);\n resolve(event.data);\n }\n else if (isUncaughtErrorMessage(event.data)) {\n worker.removeEventListener(\"message\", messageHandler);\n reject(common_1.deserialize(event.data.error));\n }\n });\n worker.addEventListener(\"message\", messageHandler);\n });\n}\nfunction createEventObservable(worker, workerTermination) {\n return new observable_fns_1.Observable(observer => {\n const messageHandler = ((messageEvent) => {\n const workerEvent = {\n type: master_1.WorkerEventType.message,\n data: messageEvent.data\n };\n observer.next(workerEvent);\n });\n const rejectionHandler = ((errorEvent) => {\n debugThreadUtils(\"Unhandled promise rejection event in thread:\", errorEvent);\n const workerEvent = {\n type: master_1.WorkerEventType.internalError,\n error: Error(errorEvent.reason)\n };\n observer.next(workerEvent);\n });\n worker.addEventListener(\"message\", messageHandler);\n worker.addEventListener(\"unhandledrejection\", rejectionHandler);\n workerTermination.then(() => {\n const terminationEvent = {\n type: master_1.WorkerEventType.termination\n };\n worker.removeEventListener(\"message\", messageHandler);\n worker.removeEventListener(\"unhandledrejection\", rejectionHandler);\n observer.next(terminationEvent);\n observer.complete();\n });\n });\n}\nfunction createTerminator(worker) {\n const [termination, resolver] = promise_1.createPromiseWithResolver();\n const terminate = () => __awaiter(this, void 0, void 0, function* () {\n debugThreadUtils(\"Terminating worker\");\n // Newer versions of worker_threads workers return a promise\n yield worker.terminate();\n resolver();\n });\n return { terminate, termination };\n}\nfunction setPrivateThreadProps(raw, worker, workerEvents, terminate) {\n const workerErrors = workerEvents\n .filter(event => event.type === master_1.WorkerEventType.internalError)\n .map(errorEvent => errorEvent.error);\n // tslint:disable-next-line prefer-object-spread\n return Object.assign(raw, {\n [symbols_1.$errors]: workerErrors,\n [symbols_1.$events]: workerEvents,\n [symbols_1.$terminate]: terminate,\n [symbols_1.$worker]: worker\n });\n}\n/**\n * Spawn a new thread. Takes a fresh worker instance, wraps it in a thin\n * abstraction layer to provide the transparent API and verifies that\n * the worker has initialized successfully.\n *\n * @param worker Instance of `Worker`. Either a web worker, `worker_threads` worker or `tiny-worker` worker.\n * @param [options]\n * @param [options.timeout] Init message timeout. Default: 10000 or set by environment variable.\n */\nfunction spawn(worker, options) {\n return __awaiter(this, void 0, void 0, function* () {\n debugSpawn(\"Initializing new thread\");\n const timeout = options && options.timeout ? options.timeout : initMessageTimeout;\n const initMessage = yield withTimeout(receiveInitMessage(worker), timeout, `Timeout: Did not receive an init message from worker after ${timeout}ms. Make sure the worker calls expose().`);\n const exposed = initMessage.exposed;\n const { termination, terminate } = createTerminator(worker);\n const events = createEventObservable(worker, termination);\n if (exposed.type === \"function\") {\n const proxy = invocation_proxy_1.createProxyFunction(worker);\n return setPrivateThreadProps(proxy, worker, events, terminate);\n }\n else if (exposed.type === \"module\") {\n const proxy = invocation_proxy_1.createProxyModule(worker, exposed.methods);\n return setPrivateThreadProps(proxy, worker, events, terminate);\n }\n else {\n const type = exposed.type;\n throw Error(`Worker init message states unexpected type of expose(): ${type}`);\n }\n });\n}\nexports.spawn = spawn;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Thread = void 0;\nconst symbols_1 = require(\"../symbols\");\nfunction fail(message) {\n throw Error(message);\n}\n/** Thread utility functions. Use them to manage or inspect a `spawn()`-ed thread. */\nexports.Thread = {\n /** Return an observable that can be used to subscribe to all errors happening in the thread. */\n errors(thread) {\n return thread[symbols_1.$errors] || fail(\"Error observable not found. Make sure to pass a thread instance as returned by the spawn() promise.\");\n },\n /** Return an observable that can be used to subscribe to internal events happening in the thread. Useful for debugging. */\n events(thread) {\n return thread[symbols_1.$events] || fail(\"Events observable not found. Make sure to pass a thread instance as returned by the spawn() promise.\");\n },\n /** Terminate a thread. Remember to terminate every thread when you are done using it. */\n terminate(thread) {\n return thread[symbols_1.$terminate]();\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ObservablePromise = void 0;\nconst observable_fns_1 = require(\"observable-fns\");\nconst doNothing = () => undefined;\nconst returnInput = (input) => input;\nconst runDeferred = (fn) => Promise.resolve().then(fn);\nfunction fail(error) {\n throw error;\n}\nfunction isThenable(thing) {\n return thing && typeof thing.then === \"function\";\n}\n/**\n * Creates a hybrid, combining the APIs of an Observable and a Promise.\n *\n * It is used to proxy async process states when we are initially not sure\n * if that async process will yield values once (-> Promise) or multiple\n * times (-> Observable).\n *\n * Note that the observable promise inherits some of the observable's characteristics:\n * The `init` function will be called *once for every time anyone subscribes to it*.\n *\n * If this is undesired, derive a hot observable from it using `makeHot()` and\n * subscribe to that.\n */\nclass ObservablePromise extends observable_fns_1.Observable {\n constructor(init) {\n super((originalObserver) => {\n // tslint:disable-next-line no-this-assignment\n const self = this;\n const observer = Object.assign(Object.assign({}, originalObserver), { complete() {\n originalObserver.complete();\n self.onCompletion();\n }, error(error) {\n originalObserver.error(error);\n self.onError(error);\n },\n next(value) {\n originalObserver.next(value);\n self.onNext(value);\n } });\n try {\n this.initHasRun = true;\n return init(observer);\n }\n catch (error) {\n observer.error(error);\n }\n });\n this.initHasRun = false;\n this.fulfillmentCallbacks = [];\n this.rejectionCallbacks = [];\n this.firstValueSet = false;\n this.state = \"pending\";\n }\n onNext(value) {\n if (!this.firstValueSet) {\n this.firstValue = value;\n this.firstValueSet = true;\n }\n }\n onError(error) {\n this.state = \"rejected\";\n this.rejection = error;\n for (const onRejected of this.rejectionCallbacks) {\n // Promisifying the call to turn errors into unhandled promise rejections\n // instead of them failing sync and cancelling the iteration\n runDeferred(() => onRejected(error));\n }\n }\n onCompletion() {\n this.state = \"fulfilled\";\n for (const onFulfilled of this.fulfillmentCallbacks) {\n // Promisifying the call to turn errors into unhandled promise rejections\n // instead of them failing sync and cancelling the iteration\n runDeferred(() => onFulfilled(this.firstValue));\n }\n }\n then(onFulfilledRaw, onRejectedRaw) {\n const onFulfilled = onFulfilledRaw || returnInput;\n const onRejected = onRejectedRaw || fail;\n let onRejectedCalled = false;\n return new Promise((resolve, reject) => {\n const rejectionCallback = (error) => {\n if (onRejectedCalled)\n return;\n onRejectedCalled = true;\n try {\n resolve(onRejected(error));\n }\n catch (anotherError) {\n reject(anotherError);\n }\n };\n const fulfillmentCallback = (value) => {\n try {\n resolve(onFulfilled(value));\n }\n catch (error) {\n rejectionCallback(error);\n }\n };\n if (!this.initHasRun) {\n this.subscribe({ error: rejectionCallback });\n }\n if (this.state === \"fulfilled\") {\n return resolve(onFulfilled(this.firstValue));\n }\n if (this.state === \"rejected\") {\n onRejectedCalled = true;\n return resolve(onRejected(this.rejection));\n }\n this.fulfillmentCallbacks.push(fulfillmentCallback);\n this.rejectionCallbacks.push(rejectionCallback);\n });\n }\n catch(onRejected) {\n return this.then(undefined, onRejected);\n }\n finally(onCompleted) {\n const handler = onCompleted || doNothing;\n return this.then((value) => {\n handler();\n return value;\n }, () => handler());\n }\n static from(thing) {\n if (isThenable(thing)) {\n return new ObservablePromise(observer => {\n const onFulfilled = (value) => {\n observer.next(value);\n observer.complete();\n };\n const onRejected = (error) => {\n observer.error(error);\n };\n thing.then(onFulfilled, onRejected);\n });\n }\n else {\n return super.from(thing);\n }\n }\n}\nexports.ObservablePromise = ObservablePromise;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.allSettled = void 0;\n// Based on <https://github.com/es-shims/Promise.allSettled/blob/master/implementation.js>\nfunction allSettled(values) {\n return Promise.all(values.map(item => {\n const onFulfill = (value) => {\n return { status: 'fulfilled', value };\n };\n const onReject = (reason) => {\n return { status: 'rejected', reason };\n };\n const itemPromise = Promise.resolve(item);\n try {\n return itemPromise.then(onFulfill, onReject);\n }\n catch (error) {\n return Promise.reject(error);\n }\n }));\n}\nexports.allSettled = allSettled;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createPromiseWithResolver = void 0;\nconst doNothing = () => undefined;\n/**\n * Creates a new promise and exposes its resolver function.\n * Use with care!\n */\nfunction createPromiseWithResolver() {\n let alreadyResolved = false;\n let resolvedTo;\n let resolver = doNothing;\n const promise = new Promise(resolve => {\n if (alreadyResolved) {\n resolve(resolvedTo);\n }\n else {\n resolver = resolve;\n }\n });\n const exposedResolver = (value) => {\n alreadyResolved = true;\n resolvedTo = value;\n resolver(resolvedTo);\n };\n return [promise, exposedResolver];\n}\nexports.createPromiseWithResolver = createPromiseWithResolver;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DefaultSerializer = exports.extendSerializer = void 0;\nfunction extendSerializer(extend, implementation) {\n const fallbackDeserializer = extend.deserialize.bind(extend);\n const fallbackSerializer = extend.serialize.bind(extend);\n return {\n deserialize(message) {\n return implementation.deserialize(message, fallbackDeserializer);\n },\n serialize(input) {\n return implementation.serialize(input, fallbackSerializer);\n }\n };\n}\nexports.extendSerializer = extendSerializer;\nconst DefaultErrorSerializer = {\n deserialize(message) {\n return Object.assign(Error(message.message), {\n name: message.name,\n stack: message.stack\n });\n },\n serialize(error) {\n return {\n __error_marker: \"$$error\",\n message: error.message,\n name: error.name,\n stack: error.stack\n };\n }\n};\nconst isSerializedError = (thing) => thing && typeof thing === \"object\" && \"__error_marker\" in thing && thing.__error_marker === \"$$error\";\nexports.DefaultSerializer = {\n deserialize(message) {\n if (isSerializedError(message)) {\n return DefaultErrorSerializer.deserialize(message);\n }\n else {\n return message;\n }\n },\n serialize(input) {\n if (input instanceof Error) {\n return DefaultErrorSerializer.serialize(input);\n }\n else {\n return input;\n }\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.$worker = exports.$transferable = exports.$terminate = exports.$events = exports.$errors = void 0;\nexports.$errors = Symbol(\"thread.errors\");\nexports.$events = Symbol(\"thread.events\");\nexports.$terminate = Symbol(\"thread.terminate\");\nexports.$transferable = Symbol(\"thread.transferable\");\nexports.$worker = Symbol(\"thread.worker\");\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Transfer = exports.isTransferDescriptor = void 0;\nconst symbols_1 = require(\"./symbols\");\nfunction isTransferable(thing) {\n if (!thing || typeof thing !== \"object\")\n return false;\n // Don't check too thoroughly, since the list of transferable things in JS might grow over time\n return true;\n}\nfunction isTransferDescriptor(thing) {\n return thing && typeof thing === \"object\" && thing[symbols_1.$transferable];\n}\nexports.isTransferDescriptor = isTransferDescriptor;\nfunction Transfer(payload, transferables) {\n if (!transferables) {\n if (!isTransferable(payload))\n throw Error();\n transferables = [payload];\n }\n return {\n [symbols_1.$transferable]: true,\n send: payload,\n transferables\n };\n}\nexports.Transfer = Transfer;\n","\"use strict\";\n/// <reference lib=\"dom\" />\n// tslint:disable max-classes-per-file\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WorkerEventType = void 0;\nconst symbols_1 = require(\"../symbols\");\n/** Event as emitted by worker thread. Subscribe to using `Thread.events(thread)`. */\nvar WorkerEventType;\n(function (WorkerEventType) {\n WorkerEventType[\"internalError\"] = \"internalError\";\n WorkerEventType[\"message\"] = \"message\";\n WorkerEventType[\"termination\"] = \"termination\";\n})(WorkerEventType = exports.WorkerEventType || (exports.WorkerEventType = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WorkerMessageType = exports.MasterMessageType = void 0;\n/////////////////////////////\n// Messages sent by master:\nvar MasterMessageType;\n(function (MasterMessageType) {\n MasterMessageType[\"cancel\"] = \"cancel\";\n MasterMessageType[\"run\"] = \"run\";\n})(MasterMessageType = exports.MasterMessageType || (exports.MasterMessageType = {}));\n////////////////////////////\n// Messages sent by worker:\nvar WorkerMessageType;\n(function (WorkerMessageType) {\n WorkerMessageType[\"error\"] = \"error\";\n WorkerMessageType[\"init\"] = \"init\";\n WorkerMessageType[\"result\"] = \"result\";\n WorkerMessageType[\"running\"] = \"running\";\n WorkerMessageType[\"uncaughtError\"] = \"uncaughtError\";\n})(WorkerMessageType = exports.WorkerMessageType || (exports.WorkerMessageType = {}));\n","\"use strict\";\n/// <reference lib=\"dom\" />\n// tslint:disable no-shadowed-variable\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst isWorkerRuntime = function isWorkerRuntime() {\n const isWindowContext = typeof self !== \"undefined\" && typeof Window !== \"undefined\" && self instanceof Window;\n return typeof self !== \"undefined\" && self.postMessage && !isWindowContext ? true : false;\n};\nconst postMessageToMaster = function postMessageToMaster(data, transferList) {\n self.postMessage(data, transferList);\n};\nconst subscribeToMasterMessages = function subscribeToMasterMessages(onMessage) {\n const messageHandler = (messageEvent) => {\n onMessage(messageEvent.data);\n };\n const unsubscribe = () => {\n self.removeEventListener(\"message\", messageHandler);\n };\n self.addEventListener(\"message\", messageHandler);\n return unsubscribe;\n};\nexports.default = {\n isWorkerRuntime,\n postMessageToMaster,\n subscribeToMasterMessages\n};\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.expose = exports.isWorkerRuntime = exports.Transfer = exports.registerSerializer = void 0;\nconst is_observable_1 = __importDefault(require(\"is-observable\"));\nconst common_1 = require(\"../common\");\nconst transferable_1 = require(\"../transferable\");\nconst messages_1 = require(\"../types/messages\");\nconst implementation_1 = __importDefault(require(\"./implementation\"));\nvar common_2 = require(\"../common\");\nObject.defineProperty(exports, \"registerSerializer\", { enumerable: true, get: function () { return common_2.registerSerializer; } });\nvar transferable_2 = require(\"../transferable\");\nObject.defineProperty(exports, \"Transfer\", { enumerable: true, get: function () { return transferable_2.Transfer; } });\n/** Returns `true` if this code is currently running in a worker. */\nexports.isWorkerRuntime = implementation_1.default.isWorkerRuntime;\nlet exposeCalled = false;\nconst activeSubscriptions = new Map();\nconst isMasterJobCancelMessage = (thing) => thing && thing.type === messages_1.MasterMessageType.cancel;\nconst isMasterJobRunMessage = (thing) => thing && thing.type === messages_1.MasterMessageType.run;\n/**\n * There are issues with `is-observable` not recognizing zen-observable's instances.\n * We are using `observable-fns`, but it's based on zen-observable, too.\n */\nconst isObservable = (thing) => is_observable_1.default(thing) || isZenObservable(thing);\nfunction isZenObservable(thing) {\n return thing && typeof thing === \"object\" && typeof thing.subscribe === \"function\";\n}\nfunction deconstructTransfer(thing) {\n return transferable_1.isTransferDescriptor(thing)\n ? { payload: thing.send, transferables: thing.transferables }\n : { payload: thing, transferables: undefined };\n}\nfunction postFunctionInitMessage() {\n const initMessage = {\n type: messages_1.WorkerMessageType.init,\n exposed: {\n type: \"function\"\n }\n };\n implementation_1.default.postMessageToMaster(initMessage);\n}\nfunction postModuleInitMessage(methodNames) {\n const initMessage = {\n type: messages_1.WorkerMessageType.init,\n exposed: {\n type: \"module\",\n methods: methodNames\n }\n };\n implementation_1.default.postMessageToMaster(initMessage);\n}\nfunction postJobErrorMessage(uid, rawError) {\n const { payload: error, transferables } = deconstructTransfer(rawError);\n const errorMessage = {\n type: messages_1.WorkerMessageType.error,\n uid,\n error: common_1.serialize(error)\n };\n implementation_1.default.postMessageToMaster(errorMessage, transferables);\n}\nfunction postJobResultMessage(uid, completed, resultValue) {\n const { payload, transferables } = deconstructTransfer(resultValue);\n const resultMessage = {\n type: messages_1.WorkerMessageType.result,\n uid,\n complete: completed ? true : undefined,\n payload\n };\n implementation_1.default.postMessageToMaster(resultMessage, transferables);\n}\nfunction postJobStartMessage(uid, resultType) {\n const startMessage = {\n type: messages_1.WorkerMessageType.running,\n uid,\n resultType\n };\n implementation_1.default.postMessageToMaster(startMessage);\n}\nfunction postUncaughtErrorMessage(error) {\n try {\n const errorMessage = {\n type: messages_1.WorkerMessageType.uncaughtError,\n error: common_1.serialize(error)\n };\n implementation_1.default.postMessageToMaster(errorMessage);\n }\n catch (subError) {\n // tslint:disable-next-line no-console\n console.error(\"Not reporting uncaught error back to master thread as it \" +\n \"occured while reporting an uncaught error already.\" +\n \"\\nLatest error:\", subError, \"\\nOriginal error:\", error);\n }\n}\nfunction runFunction(jobUID, fn, args) {\n return __awaiter(this, void 0, void 0, function* () {\n let syncResult;\n try {\n syncResult = fn(...args);\n }\n catch (error) {\n return postJobErrorMessage(jobUID, error);\n }\n const resultType = isObservable(syncResult) ? \"observable\" : \"promise\";\n postJobStartMessage(jobUID, resultType);\n if (isObservable(syncResult)) {\n const subscription = syncResult.subscribe(value => postJobResultMessage(jobUID, false, common_1.serialize(value)), error => {\n postJobErrorMessage(jobUID, common_1.serialize(error));\n activeSubscriptions.delete(jobUID);\n }, () => {\n postJobResultMessage(jobUID, true);\n activeSubscriptions.delete(jobUID);\n });\n activeSubscriptions.set(jobUID, subscription);\n }\n else {\n try {\n const result = yield syncResult;\n postJobResultMessage(jobUID, true, common_1.serialize(result));\n }\n catch (error) {\n postJobErrorMessage(jobUID, common_1.serialize(error));\n }\n }\n });\n}\n/**\n * Expose a function or a module (an object whose values are functions)\n * to the main thread. Must be called exactly once in every worker thread\n * to signal its API to the main thread.\n *\n * @param exposed Function or object whose values are functions\n */\nfunction expose(exposed) {\n if (!implementation_1.default.isWorkerRuntime()) {\n throw Error(\"expose() called in the master thread.\");\n }\n if (exposeCalled) {\n throw Error(\"expose() called more than once. This is not possible. Pass an object to expose() if you want to expose multiple functions.\");\n }\n exposeCalled = true;\n if (typeof exposed === \"function\") {\n implementation_1.default.subscribeToMasterMessages(messageData => {\n if (isMasterJobRunMessage(messageData) && !messageData.method) {\n runFunction(messageData.uid, exposed, messageData.args.map(common_1.deserialize));\n }\n });\n postFunctionInitMessage();\n }\n else if (typeof exposed === \"object\" && exposed) {\n implementation_1.default.subscribeToMasterMessages(messageData => {\n if (isMasterJobRunMessage(messageData) && messageData.method) {\n runFunction(messageData.uid, exposed[messageData.method], messageData.args.map(common_1.deserialize));\n }\n });\n const methodNames = Object.keys(exposed).filter(key => typeof exposed[key] === \"function\");\n postModuleInitMessage(methodNames);\n }\n else {\n throw Error(`Invalid argument passed to expose(). Expected a function or an object, got: ${exposed}`);\n }\n implementation_1.default.subscribeToMasterMessages(messageData => {\n if (isMasterJobCancelMessage(messageData)) {\n const jobUID = messageData.uid;\n const subscription = activeSubscriptions.get(jobUID);\n if (subscription) {\n subscription.unsubscribe();\n activeSubscriptions.delete(jobUID);\n }\n }\n });\n}\nexports.expose = expose;\nif (typeof self !== \"undefined\" && typeof self.addEventListener === \"function\" && implementation_1.default.isWorkerRuntime()) {\n self.addEventListener(\"error\", event => {\n // Post with some delay, so the master had some time to subscribe to messages\n setTimeout(() => postUncaughtErrorMessage(event.error || event), 250);\n });\n self.addEventListener(\"unhandledrejection\", event => {\n const error = event.reason;\n if (error && typeof error.message === \"string\") {\n // Post with some delay, so the master had some time to subscribe to messages\n setTimeout(() => postUncaughtErrorMessage(error), 250);\n }\n });\n}\nif (typeof process !== \"undefined\" && typeof process.on === \"function\" && implementation_1.default.isWorkerRuntime()) {\n process.on(\"uncaughtException\", (error) => {\n // Post with some delay, so the master had some time to subscribe to messages\n setTimeout(() => postUncaughtErrorMessage(error), 250);\n });\n process.on(\"unhandledRejection\", (error) => {\n if (error && typeof error.message === \"string\") {\n // Post with some delay, so the master had some time to subscribe to messages\n setTimeout(() => postUncaughtErrorMessage(error), 250);\n }\n });\n}\n","<template>\n <div id=\"home\" class=\"page-container\">\n <div class=\"logo\">\n <img src=\"../../public/sinica.png\" />\n </div>\n <h1>SinicaASR 中研院語音辨識系統</h1>\n <div id=\"controller-container\">\n <select v-model=\"settingStore.asrKind\" @change=\"selectOnChange\">\n <option\n v-for=\"model in defaultOption.models\"\n :key=\"model.name\"\n :value=\"model.name\"\n >\n {{ model.displayName }}\n </option>\n </select>\n <button\n @click=\"\n () => {\n mainResultStore.setType('realtime');\n mainResultStore.startReadTimeRecognition();\n }\n \"\n :disabled=\"!online\"\n >\n 即時\n </button>\n <button @click=\"() => fileInput?.click()\">\n 上傳\n <input\n ref=\"fileInput\"\n accept=\"audio/wav,audio/mpeg3,audio/mp4,video/mp4,audio/m4a,audio/mpeg\"\n type=\"file\"\n @change=\"\n (e) => {\n mainResultStore.setType('upload');\n mainResultStore.startUploadRecognition(e.target.files[0]);\n }\n \"\n />\n </button>\n <YoutubeDialog />\n <button\n onclick=\"window.location.href = 'https://sinica-slam.notion.site/SinicaASR-APIs-9cb1ac1f0c254adca6fc54f86b566131'\"\n >\n API\n </button>\n </div>\n\n <AsrDemoCard v-if=\"mainResultStore.getType !== 'youtube'\" />\n <YoutubeIframe v-else :vid=\"mainResultStore.getVid\" />\n <div class=\"footer\">\n <p>\n 李鴻欣博士 (Dr. Hung-Shin Lee)\n <a href=\"mailto:hungshinlee@gmail.com\">📧</a>  | \n <a href=\"https://jamfly.github.io\"> 鄭耀飛 (Yao-Fei Cheng) </a>\n <a href=\"mailto:freddy@iis.sinica.edu.tw\">📧</a>  | \n <a href=\"https://github.com/txya900619\">陳力瑋 (Li-Wei Chen) </a>\n <a href=\"mailto:wayne900619@gmail.com\">📧</a>\n <br />\n <a href=\"https://homepage.iis.sinica.edu.tw/pages/whm/index_zh.html\">\n 王新民研究員 (Dr. Hsin-Min Wang)\n </a>\n <a href=\"mailto:whm@iis.sinica.edu.tw\">📧</a>  | \n <a href=\"https://homepage.iis.sinica.edu.tw/pages/mtko/index_zh.html\">\n 高明達研究員 (Dr. Ming-Tat Ko)\n </a>\n <a href=\"mailto:mtko@iis.sinica.edu.tw\">📧</a>  | \n <a href=\"http://slam.iis.sinica.edu.tw\">\n 語音、語言暨音樂處理實驗室 (Speech, Language and Music Processing Lab)\n </a>\n </p>\n </div>\n </div>\n</template>\n\n<script>\nimport { defineComponent, ref } from \"vue\";\nimport AsrDemoCard from \"@/components/home/AsrDemoCard/AsrDemoCard.vue\";\nimport leftArrowSvg from \"@/assets/svg/left-arrow.svg\";\nimport rightArrowSvg from \"@/assets/svg/right-arrow.svg\";\n\nimport \"@/assets/scss/pages/home.scss\";\nimport { useSettingStore } from \"@/store/modules/settingStore\";\nimport YoutubeDialog from \"@/components/home/YoutubeDialog\";\nimport { useMainResultStore } from \"@/store/modules/mainResultStore\";\nimport YoutubeIframe from \"@/components/home/YoutubeIframe/YoutubeIframe.vue\";\n\nexport default defineComponent({\n name: \"home-page\",\n components: {\n YoutubeDialog,\n AsrDemoCard,\n YoutubeIframe,\n },\n setup() {\n const defaultOption = {\n models: [\n {\n langKind: \"Mandarin\",\n name: \"sa_me_2.0\",\n displayName: \"【華語】sa_me_2.0\",\n online: true,\n },\n {\n langKind: \"Mandarin\",\n name: \"sa_me_2.1\",\n displayName: \"【華語】sa_me_2.1\",\n online: true,\n },\n {\n langKind: \"Taibun\",\n name: \"sa_te_1.0\",\n displayName: \"【臺語】sa_te_1.0\",\n online: true,\n },\n {\n langKind: \"Taibun\",\n name: \"sa_te_2.0\",\n displayName: \"【臺語】sa_te_2.0\",\n online: false,\n },\n {\n langKind: \"Other\",\n name: \"sa_me_2.0+kenkone\",\n displayName: \"【康統】sa_me_2.0+kenkone\",\n online: true,\n },\n {\n langKind: \"Other\",\n name: \"sa_me_2.0+vgh\",\n displayName: \"【榮總】sa_me_2.0+vgh\",\n online: true,\n },\n ],\n };\n const settingStore = useSettingStore();\n const mainResultStore = useMainResultStore();\n const fileInput = (ref < HTMLInputElement) | (null > null);\n const online = ref(true);\n\n const selectOnChange = (e) => {\n const model = defaultOption.models.find(\n (model) => model.name === e.target.value\n );\n if (model) {\n settingStore.langKind = model.langKind;\n settingStore.displayName = model.displayName;\n online.value = model.online;\n console.log(settingStore.langKind);\n }\n };\n\n return {\n selectOnChange,\n defaultOption,\n settingStore,\n leftArrowSvg,\n rightArrowSvg,\n mainResultStore,\n fileInput,\n online,\n };\n },\n});\n</script>\n","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"demo-card-container\" }\nconst _hoisted_2 = { class: \"title-container\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"controller-container\"\n}\nconst _hoisted_4 = [\"src\"]\nconst _hoisted_5 = {\n key: 1,\n class: \"recognize-status\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ResultArea = _resolveComponent(\"ResultArea\")!\n const _component_LoadingCircle = _resolveComponent(\"LoadingCircle\")!\n const _component_AudioPlayer = _resolveComponent(\"AudioPlayer\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.settingStore.displayName), 1)\n ]),\n _createVNode(_component_ResultArea),\n (_ctx.type === 'realtime' && _ctx.recognizing)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n class: \"svg-container\",\n onClick: _cache[0] || (_cache[0] = () => _ctx.mainResultStore.endReadTimeRecognition())\n }, [\n _createElementVNode(\"img\", {\n src: _ctx.stopSVG,\n alt: \"stop\",\n height: \"44\",\n width: \"44\"\n }, null, 8, _hoisted_4)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.type === 'upload' && _ctx.recognizing && _ctx.recognizeStatus)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, _toDisplayString(_ctx.recognizeStatus), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.type === 'upload' && _ctx.recognizing)\n ? (_openBlock(), _createBlock(_component_LoadingCircle, { key: 2 }))\n : _createCommentVNode(\"\", true),\n (_ctx.audioURL)\n ? (_openBlock(), _createBlock(_component_AudioPlayer, {\n key: 3,\n ref: \"audioPlayer\",\n audioURL: _ctx.audioURL\n }, null, 8, [\"audioURL\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"audio-player-container\" }\nconst _hoisted_2 = [\"src\"]\nconst _hoisted_3 = { class: \"controls-section\" }\nconst _hoisted_4 = { class: \"buttons-container\" }\nconst _hoisted_5 = [\"src\"]\nconst _hoisted_6 = [\"src\"]\nconst _hoisted_7 = [\"src\"]\nconst _hoisted_8 = [\"src\"]\nconst _hoisted_9 = [\"src\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_AudioProgressBar = _resolveComponent(\"AudioProgressBar\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"audio\", {\n ref: \"player\",\n src: _ctx.props.audioURL,\n onDurationchange: _cache[0] || (_cache[0] = ()=>_ctx.audioPlayerStore.ondurationchange()),\n onEnded: _cache[1] || (_cache[1] = ()=>_ctx.audioPlayerStore.onended()),\n onTimeupdate: _cache[2] || (_cache[2] = () => _ctx.audioPlayerStore.ontimeupdate())\n }, null, 40, _hoisted_2),\n _createVNode(_component_AudioProgressBar, {\n current: _ctx.audioPlayerStore.getCurrentTime,\n max: _ctx.audioPlayerStore.getDuration,\n onChangeEnd: _cache[3] || (_cache[3] = () => _ctx.audioPlayerStore.play()),\n onCurrentTimeChange: _cache[4] || (_cache[4] = (newTime)=>_ctx.audioPlayerStore.setCurrentTime(newTime))\n }, null, 8, [\"current\", \"max\"]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"button\", {\n onClick: _cache[5] || (_cache[5] = \n () => _ctx.audioPlayerStore.addCurrentTime(-10)\n )\n }, [\n _createElementVNode(\"img\", {\n src: _ctx.rewindSVG,\n alt: \"rewind\",\n height: \"24\",\n width: \"24\"\n }, null, 8, _hoisted_5)\n ]),\n (!_ctx.audioPlayerStore.getPlaying)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n onClick: _cache[6] || (_cache[6] = () => _ctx.audioPlayerStore.play())\n }, [\n _createElementVNode(\"img\", {\n src: _ctx.playButtonSVG,\n alt: \"play\",\n height: \"30\",\n width: \"30\"\n }, null, 8, _hoisted_6)\n ]))\n : (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n onClick: _cache[7] || (_cache[7] = () =>_ctx.audioPlayerStore.pause())\n }, [\n _createElementVNode(\"img\", {\n src: _ctx.pauseSVG,\n alt: \"pause\",\n height: \"30\",\n width: \"30\"\n }, null, 8, _hoisted_7)\n ])),\n _createElementVNode(\"button\", {\n onClick: _cache[8] || (_cache[8] = \n () => _ctx.audioPlayerStore.addCurrentTime(10)\n )\n }, [\n _createElementVNode(\"img\", {\n src: _ctx.fastForwardSVG,\n alt: \"fastForward\",\n height: \"24\",\n width: \"24\"\n }, null, 8, _hoisted_8)\n ]),\n _createElementVNode(\"button\", {\n onClick: _cache[9] || (_cache[9] = ($event: any) => (_ctx.onDownloadClick()))\n }, [\n _createElementVNode(\"img\", {\n src: _ctx.downloadSVG,\n alt: \"downloadSVG\",\n height: \"24\",\n width: \"24\"\n }, null, 8, _hoisted_9)\n ])\n ])\n ])\n ]))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeStyle as _normalizeStyle, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"audio-progress-bar-container\" }\nconst _hoisted_2 = { class: \"time-code-box\" }\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"time-code-box-arrow\" }, null, -1)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"audio-progress-bar\",\n ref: \"audioProgressBar\",\n onMousemove: _cache[1] || (_cache[1] = (e) => (_ctx.hoverWidth = _ctx.calcPercentage(e.clientX))),\n onClick: _cache[2] || (_cache[2] = \n (e) => _ctx.emit('currentTimeChange', _ctx.calcPercentage(e.clientX) * _ctx.props.max)\n ),\n onMousedown: _cache[3] || (_cache[3] = \n//@ts-ignore\n(...args) => (_ctx.indicatorAndProgressMousedown && _ctx.indicatorAndProgressMousedown(...args)))\n }, [\n (_ctx.mouseDown)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"progress-indicator\",\n style: _normalizeStyle({\n left: _ctx.width * 100 + '%',\n }),\n onMousedown: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.indicatorAndProgressMousedown && _ctx.indicatorAndProgressMousedown(...args)))\n }, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.timeCode), 1),\n _hoisted_3\n ])\n ], 36))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", {\n class: \"current-progress\",\n style: _normalizeStyle({ width: _ctx.width * 100 + '%' })\n }, null, 4),\n _createElementVNode(\"div\", {\n class: \"hover-progress\",\n style: _normalizeStyle({ width: _ctx.hoverWidth * 100 + '%' })\n }, null, 4)\n ], 544)\n ]))\n}","export function timeFormat(date: Date): string {\n return `${date\n .getMinutes()\n .toString()\n .padStart(2, \"0\")}:\n ${date\n .getSeconds()\n .toString()\n .padStart(2, \"0\")}`;\n}\n","\nimport { computed, defineComponent, PropType, ref } from \"vue\";\nimport \"@/assets/scss/components/home/AsrDemoCard/AudioPlayer/audio-progress-bar.scss\";\nimport { timeFormat } from \"@/utils/timeFormat\";\nexport default defineComponent({\n name: \"AudioProgressBar\",\n emits: {\n currentTimeChange(payload: number) {\n return payload >= 0;\n },\n },\n props: {\n max: {\n type: Number,\n required: true,\n },\n current: {\n type: Number,\n required: true,\n },\n click: {\n type: Object as PropType<() => void>,\n required: false,\n },\n },\n setup(props, { emit }) {\n const audioProgressBar = ref<HTMLDivElement>();\n\n const mouseDown = ref(false);\n const hoverWidth = ref(0);\n const width = computed(() => {\n if (mouseDown.value) {\n return hoverWidth.value;\n }\n return props.current / props.max;\n });\n\n const timeCode = ref(\"00:00\");\n\n const calcPercentage = (clientX: number) => {\n const offSetX =\n clientX - (audioProgressBar.value?.getBoundingClientRect().left ?? 0);\n let percentage =\n offSetX / (audioProgressBar.value?.getBoundingClientRect().width ?? 0);\n if (percentage < 0) {\n percentage = 0;\n } else if (percentage > 1) {\n percentage = 1;\n }\n\n if (mouseDown.value) {\n timeCode.value = timeFormat(new Date(percentage * props.max * 1000));\n }\n\n return percentage;\n };\n\n const bodyMousemoveListener = (e: MouseEvent) => {\n hoverWidth.value = calcPercentage(e.clientX);\n };\n\n const bodyMouseupListener = (e: MouseEvent) => {\n emit(\"currentTimeChange\", calcPercentage(e.clientX) * props.max);\n\n document.body.removeEventListener(\"mousemove\", bodyMousemoveListener);\n document.body.removeEventListener(\"mouseup\", bodyMouseupListener);\n setTimeout(() => (mouseDown.value = false), 100);\n };\n\n const indicatorAndProgressMousedown = (e: MouseEvent) => {\n e.preventDefault();\n\n mouseDown.value = true;\n document.body.addEventListener(\"mousemove\", bodyMousemoveListener);\n document.body.addEventListener(\"mouseup\", bodyMouseupListener);\n };\n\n return {\n audioProgressBar,\n props,\n width,\n hoverWidth,\n mouseDown,\n indicatorAndProgressMousedown,\n calcPercentage,\n emit,\n timeCode,\n };\n },\n});\n","import { render } from \"./AudioProgressBar.vue?vue&type=template&id=4af28ec8&ts=true\"\nimport script from \"./AudioProgressBar.vue?vue&type=script&lang=ts\"\nexport * from \"./AudioProgressBar.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/Users/chenliwei/asr-demo/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineStore } from \"pinia\";\n\ninterface audioPlayerState {\n audioURL: string;\n player: HTMLAudioElement | undefined;\n duration: number;\n currentTime: number; //second\n playing: boolean;\n timeout: number | undefined;\n}\n\nexport const useAudioPlayerStore = defineStore({\n id: \"audioPlayerStore\",\n state: (): audioPlayerState => ({\n audioURL: \"\",\n player: undefined,\n duration: 0,\n currentTime: 0,\n playing: false,\n timeout: undefined,\n }),\n getters: {\n getDuration: (state) => state.duration,\n getCurrentTime: (state) => state.currentTime,\n getPlaying: (state) => state.playing,\n },\n actions: {\n setPlayer(newPlayer: HTMLAudioElement) {\n this.player = newPlayer;\n console.log(this.player);\n },\n setAudioURL(newURL: string) {\n this.audioURL = newURL;\n },\n setCurrentTime(newTime: number) {\n if (this.player) {\n this.player.currentTime = newTime;\n }\n },\n addCurrentTime(addition: number) {\n if (this.player) {\n this.player.currentTime += addition;\n }\n },\n play() {\n if (this.player && !this.playing) {\n this.player?.play();\n this.playing = true;\n }\n },\n pause() {\n if (this.player && this.playing) {\n this.player.pause();\n this.playing = false;\n }\n },\n ondurationchange() {\n if (this.player) {\n this.duration = this.player.duration;\n }\n },\n ontimeupdate() {\n if (this.player) {\n this.currentTime = this.player.currentTime;\n }\n },\n onended() {\n this.playing = false;\n },\n playWithLength(start: number, length: number) {\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n\n this.setCurrentTime(start / 1000);\n this.play();\n\n this.timeout = window.setTimeout(() => {\n this.pause();\n }, length);\n },\n reset() {\n this.audioURL = \"\";\n this.player = undefined;\n },\n },\n});\n","import { defineStore } from \"pinia\";\nimport axios from \"axios\";\n\ninterface translateResultState {\n wordAlignments: ({ word: string }[] | undefined)[];\n}\n\nexport const useTranslateResultStore = defineStore({\n id: \"translateResultStore\",\n state: (): translateResultState => ({\n wordAlignments: [],\n }),\n getters: {\n getWordAlignments: (state): ({ word: string }[] | undefined)[] =>\n state.wordAlignments,\n getWordAlignmentsLength: (state): number => state.wordAlignments.length,\n },\n actions: {\n async appendFromAPI(index: number, sentence: string) {\n const data: { result: string } = (\n await axios.post(\"https://asrvm.iis.sinica.edu.tw/api/v1/translation\", {\n sentence,\n })\n ).data;\n\n this.wordAlignments[index] = data.result\n .split(\" \")\n .map((s) => ({ word: s }));\n },\n\n reset() {\n this.wordAlignments = [];\n },\n },\n});\n","import {Hypothesis, WordAlignment} from \"./dictate\";\n\nexport function getCandidates(\n hypotheses: Hypothesis[] | undefined\n): Map<number, Candidate[]> {\n if (!hypotheses) {\n return new Map<number, Candidate[]>();\n }\n const candidates = new Map<number, Candidate[]>();\n\n for (const word of hypotheses[0][\"word-alignment\"] ?? []) {\n candidates.set(word.start, []);\n }\n\n for (const hypothesis of hypotheses) {\n for (const word of hypothesis[\"word-alignment\"] ?? []) {\n if (candidates.has(word.start)) {\n const candidate = candidates.get(word.start) as Candidate[];\n if (\n candidate.findIndex((candidate) => candidate.word === word.word) ===\n -1\n ) {\n candidate.push({confidence: word.confidence, word: word.word});\n }\n }\n }\n }\n\n candidates.forEach((candidate) => {\n candidate.sort((l, r) => (l.confidence < r.confidence ? 1 : -1));\n });\n\n return candidates;\n}\n\nexport function getCandidatesFlat(\n wordAlignments: WordAlignment[][]\n): Map<number, Candidate[]> {\n const candidates = new Map<number, Candidate[]>();\n\n for (const word of wordAlignments[0] ?? []) {\n candidates.set(word.start, []);\n }\n\n for (const wordAlignment of wordAlignments) {\n for (const word of wordAlignment) {\n if (candidates.has(word.start)) {\n const candidate = candidates.get(word.start) as Candidate[];\n if (\n candidate.findIndex((candidate) => candidate.word === word.word) ===\n -1\n ) {\n candidate.push({confidence: word.confidence, word: word.word});\n }\n }\n }\n }\n\n candidates.forEach((candidate) => {\n candidate.sort((l, r) => (l.confidence < r.confidence ? 1 : -1));\n });\n\n return candidates;\n}\n\nexport interface Candidate {\n confidence: number;\n word: string;\n}\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import Threads from \"./dist/index.js\"\n\nexport const registerSerializer = Threads.registerSerializer\nexport const spawn = Threads.spawn\nexport const BlobWorker = Threads.BlobWorker\nexport const DefaultSerializer = Threads.DefaultSerializer\nexport const Pool = Threads.Pool\nexport const Thread = Threads.Thread\nexport const Transfer = Threads.Transfer\nexport const Worker = Threads.Worker\n","import {ModuleThread, spawn, Thread, Worker} from \"threads\";\nimport {Record} from \"@/recorder/worker\";\n\n// @ts-expect-error it don't want .ts\n// eslint-disable-next-line \nimport workerURL from 'threads-plugin/dist/loader?name=worker!./worker.ts';\n\n\nexport default class Recorder {\n private readonly option: {\n timeSlice: number;\n desiredSampRate: number;\n ondataavailable: (blob: Blob) => void;\n } = {\n timeSlice: 100,\n desiredSampRate: 16000,\n ondataavailable: () => undefined,\n };\n private worker?: ModuleThread<Record>;\n private readonly node: ScriptProcessorNode;\n private source: MediaStreamAudioSourceNode;\n\n constructor(\n stream: MediaStream,\n option?: {\n timeSlice?: number;\n desiredSampRate?: number;\n ondataavailable?: (blob: Blob) => void;\n }\n ) {\n this.option = {...this.option, ...option};\n this.source = new AudioContext().createMediaStreamSource(stream);\n this.node = this.source.context.createScriptProcessor(4096, 1, 1);\n this.node.onaudioprocess = (e) => {\n if (!this._recording || !this.worker) {\n return;\n }\n const data = new Float32Array(4096);\n e.inputBuffer.copyFromChannel(data, 0);\n this.worker.record([e.inputBuffer.getChannelData(0)]);\n };\n this.source.connect(this.node);\n this.node.connect(this.source.context.destination);\n }\n\n private _recording = false;\n\n private intervalId?: number;\n\n public get recording(): boolean {\n return this._recording;\n }\n\n public async startRecording(): Promise<void> {\n if (this._recording) {\n return;\n }\n if (!this.worker) {\n this.worker = await spawn<Record>(new Worker(workerURL));\n }\n await this.worker.init({sampleRate: this.source.context.sampleRate});\n this._recording = true;\n this.intervalId = setInterval(\n () =>\n setTimeout(() => {\n this.onTimeSlice();\n }, this.option.timeSlice),\n this.option.timeSlice\n );\n }\n\n public async stopRecording(): Promise<Blob> {\n if (!this._recording || !this.worker) {\n return new Blob();\n }\n this._recording = false;\n await this.onTimeSlice();\n const audioBlob = await this.worker.exportBuffer(\n this.option.desiredSampRate\n );\n\n clearInterval(this.intervalId);\n this.intervalId = undefined;\n await this.worker.clear();\n await Thread.terminate(this.worker);\n this.worker = undefined;\n\n return audioBlob;\n }\n\n private async onTimeSlice() {\n if (!this._recording || !this.worker) {\n return;\n }\n this.option.ondataavailable(await this.worker.exportIntervalBuffer());\n }\n}\n","import Recorder from \"@/recorder/recorder\";\nimport { useMainResultStore } from \"@/store/modules/mainResultStore\";\nimport { Candidate } from \"@/utils/candidates\";\nimport { useAudioPlayerStore } from \"@/store/modules/audioPlayerStore\";\n\nclass Dictate {\n constructor(config?: DictateConfig) {\n this.referenceHandler = config?.referenceHandler ?? this.referenceHandler;\n this.contentType = config?.contentType ?? this.contentType;\n this.interval = config?.interval ?? this.interval;\n this.monitorServerStatus();\n this.init();\n }\n\n private asrKind = \"formospeech_me_1\";\n\n private get server(): string {\n return `wss://asrvm.iis.sinica.edu.tw/websocket/${this.asrKind}/speech`;\n }\n\n private get serverStatus(): string {\n return `wss://asrvm.iis.sinica.edu.tw/websocket/${this.asrKind}/status`;\n }\n\n private readonly referenceHandler: string =\n \"https://140.109.16.218:8888/client/dynamic/reference\";\n private readonly contentType: string = `content-type=audio/x-raw,+layout=(string)interleaved,+rate=(int)16000,+format=(string)S16LE,+channels=(int)1`;\n private readonly interval: number = 100;\n private ws?: WebSocket;\n private wsServerStatus?: WebSocket;\n private recorder?: Recorder;\n\n public async init(): Promise<void> {\n try {\n const stream = await navigator.mediaDevices.getUserMedia({\n audio: true,\n });\n\n this.recorder = new Recorder(stream, {\n timeSlice: this.interval,\n desiredSampRate: 16000,\n ondataavailable: (data) => {\n this.ws?.send(data);\n },\n });\n } catch (e) {\n console.log(e);\n }\n }\n\n public async startListening(asrKind: string): Promise<void> {\n this.asrKind = asrKind;\n\n if (this.recorder) {\n await this.recorder.stopRecording();\n } else {\n await this.init();\n }\n\n if (this.ws) {\n this.ws.close();\n this.ws = undefined;\n }\n\n try {\n this.setWebSocket();\n this.recorder?.startRecording();\n } catch (e) {\n console.log(\"No web socket support in this browser!\");\n }\n }\n\n private cancel() {\n if (this.recorder) {\n this.recorder.startRecording();\n }\n if (this.ws) {\n this.ws.close();\n this.ws = undefined;\n }\n }\n\n private monitorServerStatus() {\n if (this.wsServerStatus) {\n this.wsServerStatus.close();\n }\n this.wsServerStatus = new WebSocket(this.serverStatus);\n this.wsServerStatus.onmessage = (evt: MessageEvent) => {\n console.log(evt.data);\n };\n }\n\n public async stopListening(): Promise<void> {\n try {\n let url = undefined;\n if (this.recorder) {\n url = URL.createObjectURL(await this.recorder.stopRecording());\n }else{\n return \n }\n\n\n useAudioPlayerStore().setAudioURL(url);\n\n this.ws?.send(\"EOS\");\n } catch (e) {\n console.log(\"stopListening error: \" + e);\n }\n }\n\n private onResult = (res: WSResponse): void => {\n if (res.result?.final) {\n useMainResultStore().appendFromDictate(res);\n } else {\n useMainResultStore().setTempText(\n (res.result?.hypotheses[0].transcript ?? \"\").replace(\" \", \"\")\n );\n }\n\n if (res.adaptation_state) {\n if (this.recording) {\n useMainResultStore().endReadTimeRecognition();\n }\n }\n };\n\n private setWebSocket() {\n const url = this.server + \"?\" + this.contentType;\n this.ws = new WebSocket(url);\n this.ws.onmessage = async (e: MessageEvent) => {\n const data: WSResponse = JSON.parse(e.data);\n if (data.status === 0) {\n if (data.result) {\n // if (data.segment == 0) {\n // return;\n // }\n if (data.result.hypotheses[0][\"word-alignment\"]) {\n if (\n data.result.hypotheses[0][\"word-alignment\"].filter(\n (w) => data[\"segment-start\"] + w.start + w.length > 0.019\n ).length == 0\n ) {\n return;\n }\n }\n }\n\n this.onResult(data);\n if (data.adaptation_state) {\n if (this.ws?.readyState !== WebSocket.CLOSED) {\n this.ws?.close();\n }\n }\n } else {\n await useMainResultStore().endReadTimeRecognition();\n console.log(`ws error: ${data}`);\n }\n };\n }\n\n public destroy(): void {\n if (this.ws) {\n this.ws.close();\n this.ws = undefined;\n }\n if (!this.recorder) {\n return;\n }\n\n this.recorder.stopRecording();\n this.recorder = undefined;\n }\n\n public get recording(): boolean {\n return this.recorder?.recording ?? false;\n }\n}\n\ninterface DictateConfig {\n server?: string;\n serverStatus?: string;\n referenceHandler?: string;\n contentType?: string;\n interval?: number;\n}\n\nexport interface WSResponse {\n id: string;\n status: number;\n message?: string;\n result?: {\n hypotheses: Hypothesis[];\n final: boolean;\n };\n segment: number;\n \"segment-length\": number;\n \"segment-start\": number;\n \"total-length\": number;\n adaptation_state?: {\n id: string;\n time: string;\n type: string;\n value: string;\n };\n}\n\nexport interface WordAlignment {\n start: number;\n length: number;\n word: string;\n confidence: number;\n candidates: Candidate[];\n token?: string;\n}\n\nexport interface Hypothesis {\n transcript: string;\n likelihood: number;\n \"word-alignment\"?: WordAlignment[];\n \"phone-alignment\"?: PhoneAlignment[];\n}\n\nexport interface PhoneAlignment {\n phone: string;\n length: number; //second\n confidence: number;\n start: number; //second\n}\n\nexport default Dictate;\n","import { defineStore } from \"pinia\";\n\ninterface settingState {\n asrKind: string;\n langKind: \"Mandarin\" | \"Taibun\" | \"Other\";\n displayName: string;\n}\n\nexport const useSettingStore = defineStore({\n id: \"settingStore\",\n state: (): settingState => ({\n langKind: \"Mandarin\",\n asrKind: \"sa_me_2.0\",\n displayName: \"【華語】sa_me_2.0\",\n }),\n getters: {\n getAsrKind: (state) => state.asrKind,\n getLangKind: (state) => state.langKind,\n },\n actions: {},\n});\n","import { useTranslateResultStore } from \"./translateResultStore\";\nimport { defineStore } from \"pinia\";\nimport { WordAlignment } from \"@/utils/dictate\";\nimport axios from \"axios\";\nimport { useSettingStore } from \"@/store/modules/settingStore\";\n\ninterface postResultState {\n wordAlignments: (WordAlignment[] | undefined)[];\n}\n\nexport const usePostResultStore = defineStore({\n id: \"postResultStore\",\n state: (): postResultState => ({\n wordAlignments: [],\n }),\n getters: {\n getWordAlignments: (state): (WordAlignment[] | undefined)[] =>\n state.wordAlignments,\n getWordAlignmentsLength: (state): number => state.wordAlignments.length,\n },\n actions: {\n async appendFromAPI(id: string, start: number, length: number) {\n this.wordAlignments.push(undefined);\n const index = this.wordAlignments.length - 1;\n const settingStore = useSettingStore();\n\n const data: WordAlignment[][] = (\n await axios.post(\"https://asrvm.iis.sinica.edu.tw/demo/postRecognize\", {\n langKind: settingStore.getLangKind,\n asrKind: settingStore.getAsrKind,\n id,\n start: start / 1000,\n length: length / 1000, //second\n })\n ).data;\n\n console.log(data);\n this.wordAlignments[index] = data[0].filter((w) => w.word !== \",\");\n if (settingStore.getLangKind == \"Taibun\") {\n useTranslateResultStore().appendFromAPI(\n index,\n (this.wordAlignments[index] ?? []).map((w) => w.word).join(\" \")\n );\n }\n },\n reset() {\n this.wordAlignments = [];\n },\n },\n});\n","import { useTranslateResultStore } from \"./translateResultStore\";\nimport { Segment } from \"@/components/home/AsrDemoCard/asrDemoCard\";\nimport { defineStore } from \"pinia\";\nimport { getCandidates } from \"@/utils/candidates\";\nimport Dictate, { WSResponse } from \"@/utils/dictate\";\nimport { usePostResultStore } from \"@/store/modules/postResultStore\";\nimport { useSettingStore } from \"@/store/modules/settingStore\";\nimport axios from \"axios\";\nimport { useAudioPlayerStore } from \"@/store/modules/audioPlayerStore\";\nimport { WordAlignment } from \"@/utils/dictate\";\nimport srtParser2 from \"srt-parser-2\";\n\ninterface mainResultState {\n tempText: string;\n segments: Segment[];\n currentTimeCode: number;\n recognizing: boolean;\n type: \"realtime\" | \"upload\" | \"youtube\" | undefined;\n dictate: Dictate;\n vid: string | undefined;\n recognizeStatus: string;\n}\n\nfunction padLeft(value: number, length = 2): string\n{\n return value.toString().padStart(length, '0')\n}\n\nfunction formatTimestamp(\n timestamp: number,\n) {\n const date = new Date(0, 0, 0, 0, 0, 0, timestamp)\n\n const hours = date.getHours()\n const minutes = date.getMinutes()\n const seconds = date.getSeconds()\n const ms = Math.floor(\n timestamp - (hours * 3600000 + minutes * 60000 + seconds * 1000)\n )\n\n return `${padLeft(hours)}:${padLeft(minutes)}:${padLeft(seconds)},${padLeft(ms, 3)}`\n}\n\nexport const useMainResultStore = defineStore({\n id: \"mainResultStore\",\n state: (): mainResultState => ({\n tempText: \"\",\n segments: [],\n currentTimeCode: 0,\n recognizing: false,\n recognizeStatus: \"\",\n type: undefined,\n dictate: new Dictate(),\n vid: undefined\n }),\n getters: {\n getTempText: (state): string => state.tempText,\n getSegments: (state): Segment[] => state.segments,\n getCurrentTimeCode: (state): number => state.currentTimeCode,\n getRecognizing: (state): boolean => state.recognizing,\n getType: (state): \"realtime\" | \"upload\" | \"youtube\" | undefined =>\n state.type,\n getVid: (state): string | undefined => state.vid,\n getRecognizeStatus: (state): string => state.recognizeStatus,\n getSubtitle: (state): string => (new srtParser2()).toSrt(state.segments.map((segment, i) => ({id: (i+1).toString(), startTime: formatTimestamp(segment.segmentStart.getTime()),endTime: formatTimestamp(segment.segmentStart.getTime() + segment.segmentLength),text: segment.wordAlignment.map(alignment => alignment.word).join(''),startSeconds:0,endSeconds:0}))),\n },\n actions: {\n appendFromDictate(res: WSResponse) {\n if (!res.result?.hypotheses[0][\"word-alignment\"]) {\n return;\n }\n\n const candidatesMap = getCandidates(res.result?.hypotheses);\n\n this.segments.push({\n id: res.id,\n wordAlignment: res.result.hypotheses[0][\"word-alignment\"].map(\n alignment => ({\n ...alignment,\n candidates: candidatesMap.get(alignment.start) ?? []\n })\n ),\n segmentStart: new Date(res[\"segment-start\"] * 1000),\n segmentLength: res[\"segment-length\"] * 1000\n });\n if (useSettingStore().getLangKind !== \"Other\") {\n usePostResultStore().appendFromAPI(\n res.id,\n this.currentTimeCode,\n res[\"segment-length\"] * 1000\n );\n }\n\n this.currentTimeCode =\n (res[\"segment-start\"] + res[\"segment-length\"]) * 1000;\n this.tempText = \"\";\n },\n setTempText(text: string) {\n this.tempText = text;\n },\n setType(type: \"realtime\" | \"upload\" | \"youtube\") {\n this.type = type;\n },\n startReadTimeRecognition() {\n this.reset();\n useAudioPlayerStore().reset();\n usePostResultStore().reset();\n useTranslateResultStore().reset();\n this.recognizing = true;\n this.type = \"realtime\";\n this.dictate.startListening(useSettingStore().getAsrKind);\n },\n endReadTimeRecognition() {\n this.recognizing = false;\n this.dictate.stopListening();\n },\n\n async pollRecognizeStatus(filename: string) {\n const executePoll = async (\n resolve: (value: any) => void,\n reject: (reason?: any) => void\n ) => {\n const res = await axios.get(\n `https://asrvm.iis.sinica.edu.tw/demo/result/${filename}`\n );\n\n if (res.data.done) {\n return resolve(res.data.data);\n } else {\n this.recognizeStatus = res.data.data;\n setTimeout(executePoll, 2000, resolve, reject);\n }\n };\n\n return new Promise(executePoll);\n },\n\n async startUploadRecognition(file: File) {\n this.reset();\n useAudioPlayerStore().reset();\n usePostResultStore().reset();\n useTranslateResultStore().reset();\n\n const formData = new FormData();\n this.recognizing = true;\n this.recognizeStatus = \"上傳檔案中...(1/3)\";\n this.type = \"upload\";\n formData.append(\"file\", file);\n formData.append(\"asrKind\", useSettingStore().getAsrKind);\n formData.append(\"langKind\", useSettingStore().getLangKind);\n\n const res = await axios.post(\n \"https://asrvm.iis.sinica.edu.tw/demo/uploadRecognize\",\n formData,\n { headers: { \"Content-Type\": \"multipart/form-data\" } }\n );\n\n if (res.status !== 200) {\n alert(`上傳失敗, status_code: ${res.status}\\n${res.data}`);\n this.recognizing = false;\n return;\n }\n\n const result = await this.pollRecognizeStatus(res.data);\n\n if (typeof result === \"string\" || result instanceof String) {\n alert(`辨識失敗, ${result}`);\n this.recognizing = false;\n return;\n }\n\n const data: WordAlignment[][] = result as WordAlignment[][];\n\n const id = String(new Date().getTime());\n\n for (const [index, wordAlignment] of data.entries()) {\n const segmentStart = wordAlignment[0].start;\n const segmentLength =\n wordAlignment[wordAlignment.length - 1].start +\n wordAlignment[wordAlignment.length - 1].length -\n segmentStart;\n this.segments.push({\n id,\n wordAlignment: wordAlignment.map(alignment => ({\n ...alignment,\n start: alignment.start - segmentStart\n })),\n segmentStart: new Date(segmentStart * 1000),\n segmentLength: segmentLength * 1000\n });\n if (useSettingStore().getLangKind == \"Taibun\") {\n useTranslateResultStore().appendFromAPI(\n index,\n wordAlignment.map(w => w.word).join(\" \")\n );\n }\n }\n\n useAudioPlayerStore().setAudioURL(URL.createObjectURL(file));\n this.recognizing = false;\n },\n\n async startYoutubeRecognition(vid: string) {\n this.reset();\n usePostResultStore().reset();\n useTranslateResultStore().reset();\n\n this.recognizeStatus = \"上傳檔案中...(1/5)\";\n\n const res = await axios.post(\n \"https://asrvm.iis.sinica.edu.tw/demo/youtubeSrt\",\n {\n asrKind: useSettingStore().getAsrKind,\n vid\n }\n );\n\n if (res.status !== 200) {\n alert(`上傳失敗, status_code: ${res.status}\\n${res.data}`);\n return;\n }\n\n const result = await this.pollRecognizeStatus(res.data);\n\n if (typeof result === \"string\" || result instanceof String) {\n alert(`${result}`);\n return;\n }\n\n this.vid = result.vid;\n\n console.log(res.data);\n },\n reset() {\n this.tempText = \"\";\n this.segments = [];\n this.currentTimeCode = 0;\n this.vid = undefined;\n }\n }\n});\n","\nimport {defineComponent, ref, watchEffect} from \"vue\";\nimport \"@/assets/scss/components/home/AsrDemoCard/AudioPlayer/audio-player.scss\";\nimport AudioProgressBar from \"./AudioProgressBar.vue\";\nimport playButtonSVG from \"@/assets/svg/play-button.svg\";\nimport pauseSVG from \"@/assets/svg/pause.svg\";\nimport fastForwardSVG from \"@/assets/svg/fast-forward.svg\";\nimport rewindSVG from \"@/assets/svg/rewind.svg\";\nimport downloadSVG from \"@/assets/svg/download.svg\";\nimport {useAudioPlayerStore} from \"@/store/modules/audioPlayerStore\";\nimport { useMainResultStore } from \"@/store/modules/mainResultStore\";\n\nexport default defineComponent({\n components: {AudioProgressBar},\n name: \"AudioController\",\n props: {\n audioURL: {\n type: String,\n required: true,\n },\n },\n setup(props) {\n const player = ref<HTMLAudioElement>();\n const audioPlayerStore = useAudioPlayerStore()\n const mainResultStore = useMainResultStore()\n\n watchEffect(() => {\n if (player.value) {\n useAudioPlayerStore().setPlayer(player.value)\n }\n },\n {\n flush: 'post'\n })\n\n function onDownloadClick(){\n const link = document.createElement('a');\n link.href = URL.createObjectURL(new Blob([mainResultStore.getSubtitle], {type: 'text/plain'}));\n link.setAttribute('download', 'result.srt');\n link.click();\n URL.revokeObjectURL(link.href);\n\n }\n\n\n return {\n props,\n player,\n audioPlayerStore,\n playButtonSVG,\n pauseSVG,\n fastForwardSVG,\n rewindSVG,\n downloadSVG,\n mainResultStore,\n onDownloadClick,\n };\n },\n});\n","import { render } from \"./AudioPlayer.vue?vue&type=template&id=3194d701&ts=true\"\nimport script from \"./AudioPlayer.vue?vue&type=script&lang=ts\"\nexport * from \"./AudioPlayer.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/Users/chenliwei/asr-demo/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createBlock as _createBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = {\n class: \"result-area\",\n ref: \"resultArea\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ResultSegment = _resolveComponent(\"ResultSegment\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.mainResultStore.segments, (_, index) => {\n return (_openBlock(), _createBlock(_component_ResultSegment, {\n key: 'result-' + index,\n index: index\n }, null, 8, [\"index\"]))\n }), 128)),\n (_ctx.mainResultStore.tempText.length > 0)\n ? (_openBlock(), _createBlock(_component_ResultSegment, {\n key: 0,\n text: _ctx.mainResultStore.tempText\n }, null, 8, [\"text\"]))\n : _createCommentVNode(\"\", true)\n ], 512))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"result-segment\" }\nconst _hoisted_2 = { class: \"time-code-container\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"length-code\"\n}\nconst _hoisted_4 = { class: \"sub-segment-container\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ResultSubSegment = _resolveComponent(\"ResultSubSegment\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", {\n class: \"start-time-code\",\n onClick: _cache[0] || (_cache[0] = \n (e) => {\n e.preventDefault();\n _ctx.audioPlayerStore.playWithLength(\n _ctx.mainSegment.segmentStart.getTime(),\n _ctx.mainSegment.segmentLength\n );\n }\n )\n }, _toDisplayString(_ctx.startTimeCode), 1),\n (_ctx.lengthCode)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(\"(\" + _ctx.lengthCode + \")\"), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(_component_ResultSubSegment, {\n canPlay: true,\n index: _ctx.props.index,\n text: _ctx.props.text,\n type: \"r\",\n onWordClicked: _cache[1] || (_cache[1] = \n (wordTime) =>\n _ctx.audioPlayerStore.playWithLength(\n wordTime.start + _ctx.mainSegment.segmentStart.getTime(),\n wordTime.length\n )\n )\n }, null, 8, [\"index\", \"text\"]),\n (\n typeof _ctx.props.index !== 'undefined' &&\n _ctx.postWordAlignmentsLength > _ctx.props.index\n )\n ? (_openBlock(), _createBlock(_component_ResultSubSegment, {\n key: 0,\n canPlay: true,\n index: _ctx.props.index,\n type: \"p\",\n onWordClicked: _cache[2] || (_cache[2] = \n (wordTime) =>\n _ctx.audioPlayerStore.playWithLength(\n wordTime.start + _ctx.mainSegment.segmentStart.getTime(),\n wordTime.length\n )\n )\n }, null, 8, [\"index\"]))\n : _createCommentVNode(\"\", true),\n (\n typeof _ctx.props.index !== 'undefined' &&\n _ctx.translateWordAlignmentsLength > _ctx.props.index\n )\n ? (_openBlock(), _createBlock(_component_ResultSubSegment, {\n key: 1,\n canPlay: false,\n index: _ctx.props.index,\n type: \"t\"\n }, null, 8, [\"index\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, createBlock as _createBlock, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = { class: \"status-container\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"text-container\"\n}\nconst _hoisted_3 = {\n key: 1,\n class: \"text-container\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ResultSegmentWord = _resolveComponent(\"ResultSegmentWord\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass(`result-sub-segment ${_ctx.props.type}`)\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.props.type.toUpperCase()), 1)\n ]),\n (_ctx.text)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.props.text), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.wordAlignment ?? [], (alignment, i) => {\n return (_openBlock(), _createBlock(_component_ResultSegmentWord, {\n key: alignment.word + i + _ctx.props.type,\n alignment: alignment,\n onClick: _cache[0] || (_cache[0] = \n (v) => {\n if (_ctx.props.canPlay) {\n _ctx.emit('wordClicked', v);\n }\n }\n )\n }, null, 8, [\"alignment\"]))\n }), 128))\n ]))\n ], 2))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"rp\", null, \"(\", -1)\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"rp\", null, \")\", -1)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_WordCandidates = _resolveComponent(\"WordCandidates\")!\n\n return (_openBlock(), _createElementBlock(\"span\", {\n class: \"word-container underline\",\n onClick: _cache[0] || (_cache[0] = \n (e) => {\n e.preventDefault();\n _ctx.emit('click', {\n start: _ctx.props.alignment.start*1000,\n length: _ctx.props.alignment.length*1000,\n });\n }\n ),\n onMouseout: _cache[1] || (_cache[1] = () => (_ctx.hover = false)),\n onMouseover: _cache[2] || (_cache[2] = () =>(_ctx.hover = true))\n }, [\n _createElementVNode(\"ruby\", null, [\n _createTextVNode(_toDisplayString(_ctx.props.alignment.word) + \" \", 1),\n _hoisted_1,\n _createElementVNode(\"rt\", null, _toDisplayString(_ctx.props.alignment.token ?? \"\"), 1),\n _hoisted_2\n ]),\n (_ctx.hover && _ctx.props.alignment.candidates)\n ? (_openBlock(), _createBlock(_component_WordCandidates, {\n key: 0,\n candidates: _ctx.props.alignment.candidates\n }, null, 8, [\"candidates\"]))\n : _createCommentVNode(\"\", true)\n ], 32))\n}","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = { class: \"candidate-word\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"candidates-container-arrow\" }, null, -1)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\n 'candidates-container',\n _ctx.clipped ? 'candidates-container-down' : 'candidates-container-up',\n ]),\n ref: \"candidatesContainer\"\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.props.candidates, (candidate, i) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"candidate\",\n key: 'candidate' + i\n }, [\n _createElementVNode(\"div\", _hoisted_1, _toDisplayString(candidate.word), 1),\n _createElementVNode(\"div\", null, _toDisplayString(candidate.confidence.toFixed(2)), 1)\n ]))\n }), 128)),\n _hoisted_2\n ], 2))\n}","\nimport { defineComponent, PropType, ref, Ref, watchEffect } from \"vue\";\nimport { Candidate } from \"@/utils/candidates\";\nimport \"@/assets/scss/components/home/AsrDemoCard/ResultArea/ResultSegment/word-candidates.scss\";\nexport default defineComponent({\n name: \"WordCandidates\",\n props: {\n candidates: { type: Array as PropType<Array<Candidate>>, required: true },\n },\n setup(props) {\n const candidatesContainer: Ref<HTMLDivElement | undefined> = ref();\n const clipped = ref(false);\n watchEffect(\n () => {\n if (clipped.value) {\n return;\n }\n\n clipped.value =\n (candidatesContainer.value?.parentNode?.parentNode?.parentNode\n ?.parentNode as HTMLDivElement).offsetTop >\n (candidatesContainer.value?.offsetTop ?? 0) +\n (candidatesContainer.value?.parentNode as HTMLDivElement).offsetTop;\n },\n {\n flush: \"post\",\n }\n );\n\n return { props, candidatesContainer, clipped };\n },\n});\n","import { render } from \"./WordCandidates.vue?vue&type=template&id=f71eecac&ts=true\"\nimport script from \"./WordCandidates.vue?vue&type=script&lang=ts\"\nexport * from \"./WordCandidates.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/Users/chenliwei/asr-demo/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\nimport {WordAlignment} from \"@/utils/dictate\";\nimport {defineComponent, PropType, ref} from \"vue\";\nimport \"@/assets/scss/components/home/AsrDemoCard/ResultArea/ResultSegment/result-segment-word.scss\";\nimport WordCandidates from \"./WordCandidates.vue\";\n\nexport default defineComponent({\n name: \"ResultSegmentWord\",\n components: {\n WordCandidates,\n },\n emits: {\n click(payload: { start: number; length: number }) {\n return payload.start >= 0 && payload.length >= 0;\n },\n },\n props: {\n alignment: {\n type: Object as PropType<WordAlignment>,\n required: true,\n },\n },\n setup(props, {emit}) {\n const hover = ref(false);\n return {props, emit, hover};\n },\n});\n","import { render } from \"./ResultSegmentWord.vue?vue&type=template&id=5606658e&ts=true\"\nimport script from \"./ResultSegmentWord.vue?vue&type=script&lang=ts\"\nexport * from \"./ResultSegmentWord.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/Users/chenliwei/asr-demo/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\nimport ResultSegmentWord from \"@/components/home/AsrDemoCard/ResultArea/ResultSegment/ResultSegmentWord.vue\";\nimport \"@/assets/scss/components/home/AsrDemoCard/ResultArea/ResultSegment/result-sub-segment.scss\";\nimport { computed, PropType,defineComponent } from \"vue\";\nimport { useMainResultStore } from \"@/store/modules/mainResultStore\";\nimport { usePostResultStore } from \"@/store/modules/postResultStore\";\nimport { useTranslateResultStore } from \"@/store/modules/translateResultStore\";\n\nexport default defineComponent({\n name: \"ResultSubSegment\",\n emits: {\n wordClicked(payload: { start: number; length: number }) {\n return payload.start >= 0 && payload.length >= 0;\n },\n },\n components: { ResultSegmentWord },\n props: {\n index: {\n type: Number,\n required: false,\n },\n text: {\n type: String,\n required: false,\n },\n type: {\n // p r t\n type: String as PropType<\"r\" | \"p\" | \"t\">,\n required: true,\n },\n canPlay: {\n type: Boolean,\n required: false,\n },\n },\n setup(props, { emit }) {\n const wordAlignment = computed(() => {\n if (typeof props.index === \"undefined\") {\n return undefined;\n }\n switch (props.type) {\n case \"r\":\n return useMainResultStore().segments[props.index].wordAlignment;\n case \"p\":\n return usePostResultStore().wordAlignments[props.index];\n case \"t\":\n return useTranslateResultStore().getWordAlignments[props.index];\n default:\n return useMainResultStore().segments[props.index].wordAlignment;\n }\n });\n return { props, emit, wordAlignment, log: console.log };\n },\n});\n","import { render } from \"./ResultSubSegment.vue?vue&type=template&id=15c23b8a&ts=true\"\nimport script from \"./ResultSubSegment.vue?vue&type=script&lang=ts\"\nexport * from \"./ResultSubSegment.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/Users/chenliwei/asr-demo/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\nimport { computed, defineComponent } from \"vue\";\n\nimport \"@/assets/scss/components/home/AsrDemoCard/ResultArea/ResultSegment/result-segment.scss\";\nimport { timeFormat } from \"@/utils/timeFormat\";\nimport ResultSubSegment from \"@/components/home/AsrDemoCard/ResultArea/ResultSegment/ResultSubSegment.vue\";\nimport { useMainResultStore } from \"@/store/modules/mainResultStore\";\nimport { usePostResultStore } from \"@/store/modules/postResultStore\";\nimport { useTranslateResultStore } from \"@/store/modules/translateResultStore\";\nimport { useAudioPlayerStore } from \"@/store/modules/audioPlayerStore\";\n\nexport default defineComponent({\n name: \"ResultSegment\",\n components: { ResultSubSegment },\n props: {\n index: {\n type: Number,\n required: false,\n },\n text: {\n type: String,\n required: false,\n },\n },\n setup(props) {\n const audioPlayerStore = useAudioPlayerStore();\n const mainSegment = computed(() => {\n const mainResultStore = useMainResultStore();\n if (typeof props.index === \"undefined\") {\n return {\n segmentStart: new Date(mainResultStore.getCurrentTimeCode),\n segmentLength: 0,\n };\n }\n return mainResultStore.getSegments[props.index];\n });\n const startTimeCode = computed(() =>\n timeFormat(mainSegment.value.segmentStart)\n );\n const lengthCode = computed(() => {\n if (!mainSegment.value.segmentLength) {\n return \"\";\n }\n return timeFormat(new Date(mainSegment.value.segmentLength));\n });\n\n const postWordAlignmentsLength = computed(\n () => usePostResultStore().getWordAlignmentsLength\n );\n\n const translateWordAlignmentsLength = computed(\n () => useTranslateResultStore().getWordAlignmentsLength\n );\n\n return {\n props,\n audioPlayerStore,\n mainSegment,\n startTimeCode,\n lengthCode,\n postWordAlignmentsLength,\n translateWordAlignmentsLength,\n };\n },\n});\n","import { render } from \"./ResultSegment.vue?vue&type=template&id=24ec5fca&ts=true\"\nimport script from \"./ResultSegment.vue?vue&type=script&lang=ts\"\nexport * from \"./ResultSegment.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/Users/chenliwei/asr-demo/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\nimport {defineComponent, ref, watch,} from \"vue\";\nimport \"@/assets/scss/components/home/AsrDemoCard/ResultArea/result-area.scss\";\nimport {useMainResultStore} from \"@/store/modules/mainResultStore\";\nimport ResultSegment from \"@/components/home/AsrDemoCard/ResultArea/ResultSegment/ResultSegment.vue\"\n// const ResultSegment = defineAsyncComponent(() =>\n// import(\n// \"@/components/home/AsrDemoCard/ResultArea/ResultSegment/ResultSegment.vue\"\n// )\n// );\n\nexport default defineComponent({\n components: {ResultSegment},\n setup() {\n const resultArea = ref<HTMLDivElement>();\n const mainResultStore = useMainResultStore()\n watch(\n mainResultStore.$state,\n () => {\n if (resultArea.value) {\n if (resultArea.value.scrollHeight > resultArea.value.clientHeight) {\n resultArea.value.scrollTop = resultArea.value.scrollHeight;\n }\n }\n },\n {deep: true}\n );\n return {\n resultArea,\n mainResultStore,\n };\n },\n});\n","import { render } from \"./ResultArea.vue?vue&type=template&id=2e5dc55e&ts=true\"\nimport script from \"./ResultArea.vue?vue&type=script&lang=ts\"\nexport * from \"./ResultArea.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/Users/chenliwei/asr-demo/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"lds-ring\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"div\", null, null, -1)\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"div\", null, null, -1)\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"div\", null, null, -1)\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"div\", null, null, -1)\nconst _hoisted_6 = [\n _hoisted_2,\n _hoisted_3,\n _hoisted_4,\n _hoisted_5\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, _hoisted_6))\n}","\nimport {defineComponent} from \"vue\";\nimport \"@/assets/scss/components/shared/loading-circle.scss\"\n\nexport default defineComponent({\n name: \"LoadingCircle\",\n setup() {\n return {}\n }\n})\n","import { render } from \"./LoadingCircle.vue?vue&type=template&id=acd6d8da&ts=true\"\nimport script from \"./LoadingCircle.vue?vue&type=script&lang=ts\"\nexport * from \"./LoadingCircle.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/Users/chenliwei/asr-demo/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\nimport { computed, defineComponent, watch } from \"vue\";\nimport \"@/assets/scss/components/home/AsrDemoCard/asr-demo-card.scss\";\nimport AudioPlayer from \"./AudioPlayer/AudioPlayer.vue\";\nimport microphoneSVG from \"@/assets/svg/microphone.svg\";\nimport stopSVG from \"@/assets/svg/stop.svg\";\nimport ResultArea from \"@/components/home/AsrDemoCard/ResultArea/ResultArea.vue\";\nimport { useMainResultStore } from \"@/store/modules/mainResultStore\";\nimport { useSettingStore } from \"@/store/modules/settingStore\";\nimport { useAudioPlayerStore } from \"@/store/modules/audioPlayerStore\";\nimport LoadingCircle from \"@/components/shared/LoadingCircle.vue\";\n\nexport default defineComponent({\n name: \"AsrDemoCard\",\n components: {\n LoadingCircle,\n AudioPlayer,\n ResultArea,\n },\n setup() {\n const audioPlayerStore = useAudioPlayerStore();\n const mainResultStore = useMainResultStore();\n const settingStore = useSettingStore();\n const audioURL = computed(() => audioPlayerStore.audioURL);\n const type = computed(() => mainResultStore.getType);\n const recognizing = computed(() => mainResultStore.getRecognizing);\n const recognizeStatus = computed(() => mainResultStore.getRecognizeStatus);\n watch(\n () => settingStore.getAsrKind,\n () => {\n mainResultStore.dictate.destroy();\n audioPlayerStore.setAudioURL(\"\");\n }\n );\n\n return {\n type,\n audioURL,\n microphoneSVG,\n stopSVG,\n recognizing,\n settingStore,\n mainResultStore,\n recognizeStatus,\n };\n },\n});\n","import { render } from \"./AsrDemoCard.vue?vue&type=template&id=7c789792&ts=true\"\nimport script from \"./AsrDemoCard.vue?vue&type=script&lang=ts\"\nexport * from \"./AsrDemoCard.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/Users/chenliwei/asr-demo/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = [\"disabled\", \"onClick\"]\nconst _hoisted_2 = { class: \"youtube-dialog-content\" }\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"div\", null, \"輸入影片網址:\", -1)\nconst _hoisted_4 = [\"onClick\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_DialogBox = _resolveComponent(\"DialogBox\")!\n\n return (_openBlock(), _createBlock(_component_DialogBox, null, {\n activator: _withCtx(({active}) => [\n _createElementVNode(\"button\", {\n disabled: _ctx.props.disabled,\n onClick: active\n }, \"YouTube\", 8, _hoisted_1)\n ]),\n default: _withCtx(({inactive}) => [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _withDirectives(_createElementVNode(\"input\", {\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.vid) = $event)),\n placeholder: \"https://www.youtube.com/watch?v=hhrur8WZjGo\"\n }, null, 512), [\n [_vModelText, _ctx.vid]\n ]),\n _createElementVNode(\"button\", {\n onClick: \n () => {\n _ctx.mainResultStore.setType('youtube');\n _ctx.mainResultStore.startYoutubeRecognition(_ctx.vid);\n inactive();\n }\n \n }, \" Submit \", 8, _hoisted_4)\n ])\n ]),\n _: 1\n }))\n}","import { renderSlot as _renderSlot, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"dialog-box\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _renderSlot(_ctx.$slots, \"activator\", {\n active: ()=>_ctx.isActive = true\n }),\n _createElementVNode(\"div\", {\n class: _normalizeClass({\n 'content-container':true,\n display:_ctx.isActive\n })\n }, [\n _renderSlot(_ctx.$slots, \"default\", {\n inactive: ()=>_ctx.isActive = false\n })\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass({overlay:true,display:_ctx.isActive}),\n onClick: _cache[0] || (_cache[0] = ()=>_ctx.isActive=false)\n }, null, 2)\n ]))\n}","\nimport {defineComponent} from \"vue\";\nimport {ref} from \"vue\";\nimport \"@/assets/scss/components/shared/dialog-box.scss\"\n\nexport default defineComponent({\n name: \"DialogBox\",\n setup() {\n const isActive = ref(false)\n return {isActive}\n }\n})\n","import { render } from \"./DialogBox.vue?vue&type=template&id=014ffd36&ts=true\"\nimport script from \"./DialogBox.vue?vue&type=script&lang=ts\"\nexport * from \"./DialogBox.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/Users/chenliwei/asr-demo/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\nimport DialogBox from \"@/components/shared/DialogBox.vue\";\nimport { defineComponent } from \"vue\";\nimport \"@/assets/scss/components/home/youtube-dialog.scss\";\nimport { ref } from \"vue\";\nimport { useMainResultStore } from \"@/store/modules/mainResultStore\";\n\nexport default defineComponent({\n name: \"YoutubeDialog\",\n components: {\n DialogBox,\n },\n props: {\n disabled: {\n type: Boolean,\n required: false,\n },\n },\n setup(props) {\n const vid = ref(\"https://www.youtube.com/watch?v=hhrur8WZjGo\");\n const mainResultStore = useMainResultStore();\n return {\n props,\n vid,\n mainResultStore,\n };\n },\n});\n","import { render } from \"./YoutubeDialog.vue?vue&type=template&id=e1e5fb6a&ts=true\"\nimport script from \"./YoutubeDialog.vue?vue&type=script&lang=ts\"\nexport * from \"./YoutubeDialog.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/Users/chenliwei/asr-demo/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString } from \"vue\"\n\nconst _hoisted_1 = [\"src\"]\nconst _hoisted_2 = { key: 1 }\nconst _hoisted_3 = {\n key: 0,\n class: \"recognize-status\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_LoadingCircle = _resolveComponent(\"LoadingCircle\")!\n\n return (_ctx.props.vid)\n ? (_openBlock(), _createElementBlock(\"iframe\", {\n key: 0,\n width: \"80%\",\n height: \"70%\",\n src: `https://www.youtube.com/embed/${_ctx.props.vid}?cc_load_policy=1`,\n title: \"YouTube video player\",\n frameborder: \"0\",\n allow: \"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\",\n allowfullscreen: \"\"\n }, null, 8, _hoisted_1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createVNode(_component_LoadingCircle),\n (_ctx.recognizeStatus)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.recognizeStatus), 1))\n : _createCommentVNode(\"\", true)\n ]))\n}","\nimport \"@/assets/scss/components/home/YoutubeIframe/youtube-iframe.scss\";\nimport { computed, defineComponent } from \"vue\";\nimport LoadingCircle from \"@/components/shared/LoadingCircle.vue\";\nimport { useMainResultStore } from \"@/store/modules/mainResultStore\";\n\nexport default defineComponent({\n name: \"YoutubeIframe\",\n components: { LoadingCircle },\n props: {\n vid: {\n type: String,\n required: true,\n },\n },\n setup(props) {\n const mainResultStore = useMainResultStore();\n const recognizeStatus = computed(() => mainResultStore.getRecognizeStatus);\n return {\n props,\n recognizeStatus,\n };\n },\n});\n","import { render } from \"./YoutubeIframe.vue?vue&type=template&id=56c6a010&ts=true\"\nimport script from \"./YoutubeIframe.vue?vue&type=script&lang=ts\"\nexport * from \"./YoutubeIframe.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/Users/chenliwei/asr-demo/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./Home.vue?vue&type=template&id=87dcdea6\"\nimport script from \"./Home.vue?vue&type=script&lang=js\"\nexport * from \"./Home.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/chenliwei/asr-demo/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["module","exports","utils","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","config","Promise","resolve","reject","requestData","data","requestHeaders","headers","responseType","isFormData","request","XMLHttpRequest","auth","username","password","unescape","encodeURIComponent","Authorization","btoa","fullPath","baseURL","url","onloadend","responseHeaders","getAllResponseHeaders","responseData","response","responseText","status","statusText","open","method","toUpperCase","params","paramsSerializer","timeout","onreadystatechange","readyState","responseURL","indexOf","setTimeout","onabort","onerror","ontimeout","timeoutErrorMessage","transitional","clarifyTimeoutError","isStandardBrowserEnv","xsrfValue","withCredentials","xsrfCookieName","read","undefined","xsrfHeaderName","forEach","val","key","toLowerCase","setRequestHeader","isUndefined","onDownloadProgress","addEventListener","onUploadProgress","upload","cancelToken","promise","then","cancel","abort","send","bind","Axios","mergeConfig","defaults","createInstance","defaultConfig","context","instance","prototype","extend","axios","create","instanceConfig","Cancel","CancelToken","isCancel","all","promises","spread","isAxiosError","message","this","toString","__CANCEL__","executor","TypeError","resolvePromise","token","reason","throwIfRequested","source","c","value","InterceptorManager","dispatchRequest","validator","validators","interceptors","arguments","assertOptions","silentJSONParsing","boolean","forcedJSONParsing","requestInterceptorChain","synchronousRequestInterceptors","interceptor","runWhen","synchronous","unshift","fulfilled","rejected","responseInterceptorChain","push","chain","Array","apply","concat","length","shift","newConfig","onFulfilled","onRejected","error","getUri","replace","handlers","use","options","eject","id","fn","h","isAbsoluteURL","combineURLs","requestedURL","enhanceError","code","Error","transformData","throwIfCancellationRequested","call","transformRequest","merge","common","adapter","transformResponse","toJSON","name","description","number","fileName","lineNumber","columnNumber","stack","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","target","isPlainObject","isArray","slice","mergeDeepProperties","prop","axiosKeys","otherKeys","Object","keys","filter","validateStatus","fns","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","getDefaultAdapter","process","stringifySafely","rawValue","parser","encoder","isString","JSON","parse","trim","e","stringify","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","isObject","strictJSONParsing","maxContentLength","maxBodyLength","thisArg","args","i","encode","serializedParams","parts","v","isDate","toISOString","join","hashmarkIndex","relativeURL","write","expires","path","domain","secure","cookie","isNumber","Date","toGMTString","document","match","RegExp","decodeURIComponent","remove","now","test","payload","originURL","msie","navigator","userAgent","urlParsingNode","createElement","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","window","location","requestURL","parsed","normalizedName","ignoreDuplicateOf","split","line","substr","callback","arr","pkg","type","thing","deprecatedWarnings","currentVerArr","version","isOlderVersion","thanVersion","pkgVersionArr","destVer","schema","allowUnknown","opt","result","isDeprecated","formatMessage","desc","opts","console","warn","constructor","FormData","ArrayBuffer","isView","getPrototypeOf","isFunction","pipe","URLSearchParams","str","product","obj","l","hasOwnProperty","assignValue","a","b","stripBOM","content","charCodeAt","isCallable","tryToString","$TypeError","argument","$String","String","toIndexedObject","toAbsoluteIndex","lengthOfArrayLike","createMethod","IS_INCLUDES","$this","el","fromIndex","O","index","includes","DESCRIPTORS","getOwnPropertyDescriptor","SILENT_ON_NON_WRITABLE_LENGTH_SET","defineProperty","writable","uncurryThis","stringSlice","it","hasOwn","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","exceptions","f","createPropertyDescriptor","object","bitmap","enumerable","configurable","makeBuiltIn","defineGlobalProperty","simple","global","unsafe","nonConfigurable","nonWritable","fails","get","documentAll","IS_HTMLDDA","EXISTS","MAX_SAFE_INTEGER","getBuiltIn","Deno","versions","v8","createNonEnumerableProperty","defineBuiltIn","copyConstructorProperties","isForced","FORCED","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","forced","sham","exec","NATIVE_BIND","Function","FunctionPrototype","getDescriptor","PROPER","CONFIGURABLE","uncurryThisWithBind","aFunction","namespace","aCallable","isNullOrUndefined","V","P","func","check","Math","globalThis","self","g","toObject","classof","$Object","propertyIsEnumerable","store","functionToString","inspectSource","set","has","NATIVE_WEAK_MAP","shared","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","WeakMap","enforce","getterFor","TYPE","state","metadata","facade","STATE","$documentAll","replacement","feature","detection","normalize","POLYFILL","NATIVE","string","isPrototypeOf","USE_SYMBOL_AS_UID","$Symbol","toLength","CONFIGURABLE_FUNCTION_NAME","InternalStateModule","enforceInternalState","getInternalState","CONFIGURABLE_LENGTH","TEMPLATE","getter","setter","arity","ceil","floor","trunc","x","n","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","anObject","toPropertyKey","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","WRITABLE","Attributes","current","propertyIsEnumerableModule","internalObjectKeys","enumBugKeys","getOwnPropertyNames","getOwnPropertySymbols","names","$propertyIsEnumerable","NASHORN_BUG","input","pref","valueOf","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","uid","SHARED","IS_PURE","mode","copyright","license","V8_VERSION","symbol","Symbol","toIntegerOrInfinity","max","min","integer","IndexedObject","requireObjectCoercible","isSymbol","getMethod","ordinaryToPrimitive","wellKnownSymbol","TO_PRIMITIVE","exoticToPrim","toPrimitive","postfix","random","NATIVE_SYMBOL","iterator","WellKnownSymbolsStore","symbolFor","createWellKnownSymbol","withoutSetter","$","setArrayLength","doesNotExceedSafeInteger","INCORRECT_TO_LENGTH","SILENT_ON_NON_WRITABLE_LENGTH","proto","item","len","argCount","useColors","__nwjs","documentElement","style","WebkitAppearance","firebug","exception","table","parseInt","$1","formatArgs","humanize","diff","color","splice","lastC","save","namespaces","storage","setItem","removeItem","load","r","getItem","DEBUG","localstorage","localStorage","destroy","warned","colors","log","debug","formatters","j","setup","env","selectColor","createDebug","abs","prevTime","namespacesCache","enabledCache","enableOverride","enabled","curr","Number","ms","prev","coerce","format","formatter","logFn","init","delimiter","newDebug","enable","skips","disable","map","toNamespace","regexp","substring","default","observable","s","m","d","w","y","parseFloat","fmtShort","msAbs","round","fmtLong","plural","isPlural","isFinite","long","__awaiter","_arguments","generator","adopt","step","next","done","AsyncSerialScheduler","observer","_baseObserver","_pendingPromises","Set","complete","catch","schedule","task","prevPromisesCompletion","values","delete","add","hasSymbols","hasSymbol","Boolean","getSymbol","asyncIterator","for","SymbolIterator","SymbolObservable","SymbolSpecies","getSpecies","ctor","Observable","isObservable","hostReportError","enqueue","cleanupSubscription","subscription","cleanup","_cleanup","unsubscribe","closeSubscription","_observer","_queue","_state","flushSubscription","queue","notifySubscription","onNotify","Subscription","subscriber","subscriptionObserver","SubscriptionObserver","closed","_subscription","_subscriber","subscribe","nextOrObserver","onError","onComplete","first","mappers","intermediate","mapper","tap","tapObserver","start","C","propagatedValue","reduce","seed","hasSeed","hasValue","acc","sources","startNext","from","flatMap","subscriptions","outer","normalizedValue","inner","innerValue","completeIfDone","static","observableMethod","iteratorMethod","items","scheduler","isAsyncIterator","isIterator","__asyncValues","o","__values","verb","e_1","_a","mapped","mapped_1_1","mapped_1","element","e_1_1","return","output","interval","period","counter","handle","setInterval","clearInterval","observables","completed","unsubscribeAll","MulticastSubject","super","_observers","multicast","coldObservable","subject","sourceSubscription","subscriberCount","scan","accumulator","accumulated","prevAcc","timestampToSeconds","srtTimestamp","rest","millisecondsString","milliseconds","hours","minutes","seconds","Parser","seperator","correctFormat","time","hour","minute","second","millisecond","front","fixed_str_digit","a_hour","a_minute","a_second","how_many_digit","padEnd","padStart","tryComma","regex","data_array","tryDot","fromSrt","originalData","startTime","endTime","new_line","startSeconds","endSeconds","text","toSrt","res","end_of_line","serialize","deserialize","registerSerializer","serializers_1","registeredSerializer","DefaultSerializer","serializer","extendSerializer","__createBinding","k","k2","__exportStar","p","Transfer","expose","common_1","index_1","transferable_1","bundleURL","getBundleURLCached","getBundleURL","err","matches","getBaseURL","isWorkerRuntime","getWorkerImplementation","defaultPoolSize","get_bundle_url_browser_1","hardwareConcurrency","createSourceBlobURL","blob","Blob","URL","createObjectURL","selectWorkerImplementation","Worker","WebWorker","_b","_baseURL","CORSWorkaround","BlobWorker","implementation","isWindowContext","Window","postMessage","Thread","spawn","Pool","implementation_1","pool_1","spawn_1","thread_1","__importDefault","mod","__esModule","createProxyModule","createProxyFunction","debug_1","observable_fns_1","observable_promise_1","messages_1","debugMessages","nextJobUID","dedupe","array","isJobErrorMessage","WorkerMessageType","isJobResultMessage","isJobStartMessage","running","createObservableForJob","worker","jobUID","asyncType","messageHandler","event","resultType","removeEventListener","cancelMessage","MasterMessageType","prepareArguments","rawArgs","transferables","arg","isTransferDescriptor","runMessage","run","ObservablePromise","methodNames","proxy","methodName","PoolEventType","ponyfills_1","pool_types_1","nextPoolID","createArray","size","delay","flattened","slugify","spawnWorkers","spawnWorker","count","runningTasks","WorkerPool","optionsOrSize","eventSubject","Subject","initErrors","isClosing","nextTaskID","taskQueue","workers","eventObservable","initialized","findIdlingWorker","concurrency","find","runPoolTask","workerID","taskStart","taskID","returnValue","taskCompleted","taskFailed","runPromise","removeTaskFromWorkersRunningTasks","someRunPromise","scheduleWork","availableWorker","nextTask","taskQueueDrained","taskCompletion","eventSubscription","events","terminated","settled","allowResolvingImmediately","getCurrentlyRunningTasks","taskFailures","failureSubscription","allSettled","settlementPromise","earlyExitPromise","errors","race","taskFunction","maxQueuedJobs","Infinity","someTask","taskCanceled","taskQueued","terminate","force","remainingQueue","PoolConstructor","EventType","promise_1","symbols_1","master_1","invocation_proxy_1","debugSpawn","debugThreadUtils","isInitMessage","isUncaughtErrorMessage","initMessageTimeout","THREADS_WORKER_INIT_TIMEOUT","withTimeout","timeoutInMs","errorMessage","timeoutHandle","clearTimeout","receiveInitMessage","createEventObservable","workerTermination","messageEvent","workerEvent","WorkerEventType","rejectionHandler","errorEvent","internalError","terminationEvent","termination","createTerminator","resolver","createPromiseWithResolver","setPrivateThreadProps","raw","workerEvents","workerErrors","assign","$errors","$events","$terminate","$worker","initMessage","exposed","methods","fail","thread","doNothing","returnInput","runDeferred","isThenable","originalObserver","onCompletion","onNext","initHasRun","fulfillmentCallbacks","rejectionCallbacks","firstValueSet","firstValue","rejection","onFulfilledRaw","onRejectedRaw","onRejectedCalled","rejectionCallback","anotherError","fulfillmentCallback","finally","onCompleted","handler","onFulfill","onReject","itemPromise","resolvedTo","alreadyResolved","exposedResolver","fallbackDeserializer","fallbackSerializer","DefaultErrorSerializer","__error_marker","isSerializedError","$transferable","isTransferable","postMessageToMaster","transferList","subscribeToMasterMessages","onMessage","is_observable_1","common_2","transferable_2","exposeCalled","activeSubscriptions","Map","isMasterJobCancelMessage","isMasterJobRunMessage","isZenObservable","deconstructTransfer","postFunctionInitMessage","postModuleInitMessage","postJobErrorMessage","rawError","postJobResultMessage","resultValue","resultMessage","postJobStartMessage","startMessage","postUncaughtErrorMessage","uncaughtError","subError","runFunction","syncResult","messageData","on","class","_createElementVNode","src","_imports_0","onclick","_createElementBlock","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_ctx","asrKind","onChange","_Fragment","models","model","displayName","onClick","setType","startReadTimeRecognition","disabled","click","ref","accept","startUploadRecognition","files","_createVNode","_component_YoutubeDialog","_hoisted_7","getType","_createBlock","_component_AsrDemoCard","_component_YoutubeIframe","vid","getVid","_hoisted_8","_hoisted_5","render","_cache","$props","$setup","$data","$options","_component_ResultArea","_resolveComponent","_component_LoadingCircle","_component_AudioPlayer","_openBlock","_toDisplayString","settingStore","recognizing","mainResultStore","endReadTimeRecognition","stopSVG","alt","height","width","_createCommentVNode","recognizeStatus","audioURL","_hoisted_6","_hoisted_9","_component_AudioProgressBar","props","onDurationchange","audioPlayerStore","ondurationchange","onEnded","onended","onTimeupdate","ontimeupdate","getCurrentTime","getDuration","onChangeEnd","play","onCurrentTimeChange","newTime","setCurrentTime","addCurrentTime","rewindSVG","getPlaying","pause","pauseSVG","playButtonSVG","fastForwardSVG","$event","onDownloadClick","downloadSVG","onMousemove","hoverWidth","calcPercentage","clientX","emit","onMousedown","indicatorAndProgressMousedown","mouseDown","_normalizeStyle","left","timeCode","timeFormat","date","getMinutes","getSeconds","defineComponent","emits","currentTimeChange","required","audioProgressBar","computed","offSetX","getBoundingClientRect","percentage","bodyMousemoveListener","bodyMouseupListener","body","preventDefault","__exports__","useAudioPlayerStore","defineStore","player","duration","currentTime","playing","getters","actions","setPlayer","newPlayer","setAudioURL","newURL","addition","playWithLength","reset","useTranslateResultStore","wordAlignments","getWordAlignments","getWordAlignmentsLength","async","sentence","word","getCandidates","hypotheses","candidates","hypothesis","candidate","findIndex","confidence","sort","_typeof","_toPrimitive","hint","prim","_toPropertyKey","_defineProperty","Recorder","stream","option","timeSlice","desiredSampRate","ondataavailable","AudioContext","createMediaStreamSource","node","createScriptProcessor","onaudioprocess","_recording","Float32Array","inputBuffer","copyFromChannel","record","getChannelData","connect","destination","recording","workerURL","sampleRate","intervalId","onTimeSlice","audioBlob","exportBuffer","clear","exportIntervalBuffer","Dictate","final","useMainResultStore","appendFromDictate","setTempText","transcript","adaptation_state","referenceHandler","contentType","monitorServerStatus","server","serverStatus","mediaDevices","getUserMedia","audio","recorder","ws","stopRecording","close","setWebSocket","startRecording","wsServerStatus","WebSocket","onmessage","evt","onResult","CLOSED","useSettingStore","langKind","getAsrKind","getLangKind","usePostResultStore","appendFromAPI","padLeft","formatTimestamp","timestamp","getHours","tempText","segments","currentTimeCode","dictate","getTempText","getSegments","getCurrentTimeCode","getRecognizing","getRecognizeStatus","getSubtitle","srtParser2","segment","segmentStart","getTime","segmentLength","wordAlignment","alignment","candidatesMap","startListening","stopListening","filename","executePoll","file","formData","append","alert","pollRecognizeStatus","entries","components","AudioProgressBar","link","revokeObjectURL","watchEffect","flush","_component_ResultSegment","_renderList","_","_component_ResultSubSegment","mainSegment","startTimeCode","lengthCode","canPlay","onWordClicked","wordTime","postWordAlignmentsLength","translateWordAlignmentsLength","_component_ResultSegmentWord","_normalizeClass","_component_WordCandidates","onMouseout","hover","onMouseover","_createTextVNode","clipped","toFixed","candidatesContainer","parentNode","offsetTop","WordCandidates","wordClicked","ResultSegmentWord","ResultSubSegment","ResultSegment","resultArea","watch","$state","scrollHeight","clientHeight","scrollTop","deep","LoadingCircle","AudioPlayer","ResultArea","microphoneSVG","_component_DialogBox","activator","_withCtx","active","inactive","_withDirectives","placeholder","_vModelText","startYoutubeRecognition","_renderSlot","$slots","isActive","display","overlay","DialogBox","title","frameborder","allow","allowfullscreen","YoutubeDialog","AsrDemoCard","YoutubeIframe","defaultOption","online","fileInput","HTMLInputElement","selectOnChange","leftArrowSvg","rightArrowSvg"],"sourceRoot":""}