// ==UserScript== // @name 谷歌学术标题翻译 // @namespace http://tampermonkey.net/ // @version 0.3.0 // @description 将谷歌学术搜索结果中的标题翻译为中文 // @author pboymt // @match https://scholar.google.com/scholar* // @match https://scholar.google.com.hk/scholar* // @match https://scholar.ustc.cf/scholar* // @require https://cdn.jsdelivr.net/npm/axios@0.27.2 // @connect youdao.com // @grant GM_xmlhttpRequest // @grant GM.addStyle // @grant GM.xmlHttpRequest // @downloadURL https://update.greasyfork.icu/scripts/435997/%E8%B0%B7%E6%AD%8C%E5%AD%A6%E6%9C%AF%E6%A0%87%E9%A2%98%E7%BF%BB%E8%AF%91.user.js // @updateURL https://update.greasyfork.icu/scripts/435997/%E8%B0%B7%E6%AD%8C%E5%AD%A6%E6%9C%AF%E6%A0%87%E9%A2%98%E7%BF%BB%E8%AF%91.meta.js // ==/UserScript== /* * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). * This devtool is neither made for production nor for readable output files. * It uses "eval()" calls to create a separate source file in the browser devtools. * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) * or disable the default devtool with "devtool: false". * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). */ /******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ var __webpack_modules__ = ({ /***/ "./node_modules/@vue/compiler-core/dist/compiler-core.esm-bundler.js": /*!***************************************************************************!*\ !*** ./node_modules/@vue/compiler-core/dist/compiler-core.esm-bundler.js ***! \***************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"generateCodeFrame\": () => (/* reexport safe */ _vue_shared__WEBPACK_IMPORTED_MODULE_0__.generateCodeFrame),\n/* harmony export */ \"BASE_TRANSITION\": () => (/* binding */ BASE_TRANSITION),\n/* harmony export */ \"CAMELIZE\": () => (/* binding */ CAMELIZE),\n/* harmony export */ \"CAPITALIZE\": () => (/* binding */ CAPITALIZE),\n/* harmony export */ \"CREATE_BLOCK\": () => (/* binding */ CREATE_BLOCK),\n/* harmony export */ \"CREATE_COMMENT\": () => (/* binding */ CREATE_COMMENT),\n/* harmony export */ \"CREATE_ELEMENT_BLOCK\": () => (/* binding */ CREATE_ELEMENT_BLOCK),\n/* harmony export */ \"CREATE_ELEMENT_VNODE\": () => (/* binding */ CREATE_ELEMENT_VNODE),\n/* harmony export */ \"CREATE_SLOTS\": () => (/* binding */ CREATE_SLOTS),\n/* harmony export */ \"CREATE_STATIC\": () => (/* binding */ CREATE_STATIC),\n/* harmony export */ \"CREATE_TEXT\": () => (/* binding */ CREATE_TEXT),\n/* harmony export */ \"CREATE_VNODE\": () => (/* binding */ CREATE_VNODE),\n/* harmony export */ \"FRAGMENT\": () => (/* binding */ FRAGMENT),\n/* harmony export */ \"GUARD_REACTIVE_PROPS\": () => (/* binding */ GUARD_REACTIVE_PROPS),\n/* harmony export */ \"IS_MEMO_SAME\": () => (/* binding */ IS_MEMO_SAME),\n/* harmony export */ \"IS_REF\": () => (/* binding */ IS_REF),\n/* harmony export */ \"KEEP_ALIVE\": () => (/* binding */ KEEP_ALIVE),\n/* harmony export */ \"MERGE_PROPS\": () => (/* binding */ MERGE_PROPS),\n/* harmony export */ \"NORMALIZE_CLASS\": () => (/* binding */ NORMALIZE_CLASS),\n/* harmony export */ \"NORMALIZE_PROPS\": () => (/* binding */ NORMALIZE_PROPS),\n/* harmony export */ \"NORMALIZE_STYLE\": () => (/* binding */ NORMALIZE_STYLE),\n/* harmony export */ \"OPEN_BLOCK\": () => (/* binding */ OPEN_BLOCK),\n/* harmony export */ \"POP_SCOPE_ID\": () => (/* binding */ POP_SCOPE_ID),\n/* harmony export */ \"PUSH_SCOPE_ID\": () => (/* binding */ PUSH_SCOPE_ID),\n/* harmony export */ \"RENDER_LIST\": () => (/* binding */ RENDER_LIST),\n/* harmony export */ \"RENDER_SLOT\": () => (/* binding */ RENDER_SLOT),\n/* harmony export */ \"RESOLVE_COMPONENT\": () => (/* binding */ RESOLVE_COMPONENT),\n/* harmony export */ \"RESOLVE_DIRECTIVE\": () => (/* binding */ RESOLVE_DIRECTIVE),\n/* harmony export */ \"RESOLVE_DYNAMIC_COMPONENT\": () => (/* binding */ RESOLVE_DYNAMIC_COMPONENT),\n/* harmony export */ \"RESOLVE_FILTER\": () => (/* binding */ RESOLVE_FILTER),\n/* harmony export */ \"SET_BLOCK_TRACKING\": () => (/* binding */ SET_BLOCK_TRACKING),\n/* harmony export */ \"SUSPENSE\": () => (/* binding */ SUSPENSE),\n/* harmony export */ \"TELEPORT\": () => (/* binding */ TELEPORT),\n/* harmony export */ \"TO_DISPLAY_STRING\": () => (/* binding */ TO_DISPLAY_STRING),\n/* harmony export */ \"TO_HANDLERS\": () => (/* binding */ TO_HANDLERS),\n/* harmony export */ \"TO_HANDLER_KEY\": () => (/* binding */ TO_HANDLER_KEY),\n/* harmony export */ \"UNREF\": () => (/* binding */ UNREF),\n/* harmony export */ \"WITH_CTX\": () => (/* binding */ WITH_CTX),\n/* harmony export */ \"WITH_DIRECTIVES\": () => (/* binding */ WITH_DIRECTIVES),\n/* harmony export */ \"WITH_MEMO\": () => (/* binding */ WITH_MEMO),\n/* harmony export */ \"advancePositionWithClone\": () => (/* binding */ advancePositionWithClone),\n/* harmony export */ \"advancePositionWithMutation\": () => (/* binding */ advancePositionWithMutation),\n/* harmony export */ \"assert\": () => (/* binding */ assert),\n/* harmony export */ \"baseCompile\": () => (/* binding */ baseCompile),\n/* harmony export */ \"baseParse\": () => (/* binding */ baseParse),\n/* harmony export */ \"buildDirectiveArgs\": () => (/* binding */ buildDirectiveArgs),\n/* harmony export */ \"buildProps\": () => (/* binding */ buildProps),\n/* harmony export */ \"buildSlots\": () => (/* binding */ buildSlots),\n/* harmony export */ \"checkCompatEnabled\": () => (/* binding */ checkCompatEnabled),\n/* harmony export */ \"createArrayExpression\": () => (/* binding */ createArrayExpression),\n/* harmony export */ \"createAssignmentExpression\": () => (/* binding */ createAssignmentExpression),\n/* harmony export */ \"createBlockStatement\": () => (/* binding */ createBlockStatement),\n/* harmony export */ \"createCacheExpression\": () => (/* binding */ createCacheExpression),\n/* harmony export */ \"createCallExpression\": () => (/* binding */ createCallExpression),\n/* harmony export */ \"createCompilerError\": () => (/* binding */ createCompilerError),\n/* harmony export */ \"createCompoundExpression\": () => (/* binding */ createCompoundExpression),\n/* harmony export */ \"createConditionalExpression\": () => (/* binding */ createConditionalExpression),\n/* harmony export */ \"createForLoopParams\": () => (/* binding */ createForLoopParams),\n/* harmony export */ \"createFunctionExpression\": () => (/* binding */ createFunctionExpression),\n/* harmony export */ \"createIfStatement\": () => (/* binding */ createIfStatement),\n/* harmony export */ \"createInterpolation\": () => (/* binding */ createInterpolation),\n/* harmony export */ \"createObjectExpression\": () => (/* binding */ createObjectExpression),\n/* harmony export */ \"createObjectProperty\": () => (/* binding */ createObjectProperty),\n/* harmony export */ \"createReturnStatement\": () => (/* binding */ createReturnStatement),\n/* harmony export */ \"createRoot\": () => (/* binding */ createRoot),\n/* harmony export */ \"createSequenceExpression\": () => (/* binding */ createSequenceExpression),\n/* harmony export */ \"createSimpleExpression\": () => (/* binding */ createSimpleExpression),\n/* harmony export */ \"createStructuralDirectiveTransform\": () => (/* binding */ createStructuralDirectiveTransform),\n/* harmony export */ \"createTemplateLiteral\": () => (/* binding */ createTemplateLiteral),\n/* harmony export */ \"createTransformContext\": () => (/* binding */ createTransformContext),\n/* harmony export */ \"createVNodeCall\": () => (/* binding */ createVNodeCall),\n/* harmony export */ \"extractIdentifiers\": () => (/* binding */ extractIdentifiers),\n/* harmony export */ \"findDir\": () => (/* binding */ findDir),\n/* harmony export */ \"findProp\": () => (/* binding */ findProp),\n/* harmony export */ \"generate\": () => (/* binding */ generate),\n/* harmony export */ \"getBaseTransformPreset\": () => (/* binding */ getBaseTransformPreset),\n/* harmony export */ \"getConstantType\": () => (/* binding */ getConstantType),\n/* harmony export */ \"getInnerRange\": () => (/* binding */ getInnerRange),\n/* harmony export */ \"getMemoedVNodeCall\": () => (/* binding */ getMemoedVNodeCall),\n/* harmony export */ \"getVNodeBlockHelper\": () => (/* binding */ getVNodeBlockHelper),\n/* harmony export */ \"getVNodeHelper\": () => (/* binding */ getVNodeHelper),\n/* harmony export */ \"hasDynamicKeyVBind\": () => (/* binding */ hasDynamicKeyVBind),\n/* harmony export */ \"hasScopeRef\": () => (/* binding */ hasScopeRef),\n/* harmony export */ \"helperNameMap\": () => (/* binding */ helperNameMap),\n/* harmony export */ \"injectProp\": () => (/* binding */ injectProp),\n/* harmony export */ \"isBuiltInType\": () => (/* binding */ isBuiltInType),\n/* harmony export */ \"isCoreComponent\": () => (/* binding */ isCoreComponent),\n/* harmony export */ \"isFunctionType\": () => (/* binding */ isFunctionType),\n/* harmony export */ \"isInDestructureAssignment\": () => (/* binding */ isInDestructureAssignment),\n/* harmony export */ \"isMemberExpression\": () => (/* binding */ isMemberExpression),\n/* harmony export */ \"isMemberExpressionBrowser\": () => (/* binding */ isMemberExpressionBrowser),\n/* harmony export */ \"isMemberExpressionNode\": () => (/* binding */ isMemberExpressionNode),\n/* harmony export */ \"isReferencedIdentifier\": () => (/* binding */ isReferencedIdentifier),\n/* harmony export */ \"isSimpleIdentifier\": () => (/* binding */ isSimpleIdentifier),\n/* harmony export */ \"isSlotOutlet\": () => (/* binding */ isSlotOutlet),\n/* harmony export */ \"isStaticArgOf\": () => (/* binding */ isStaticArgOf),\n/* harmony export */ \"isStaticExp\": () => (/* binding */ isStaticExp),\n/* harmony export */ \"isStaticProperty\": () => (/* binding */ isStaticProperty),\n/* harmony export */ \"isStaticPropertyKey\": () => (/* binding */ isStaticPropertyKey),\n/* harmony export */ \"isTemplateNode\": () => (/* binding */ isTemplateNode),\n/* harmony export */ \"isText\": () => (/* binding */ isText),\n/* harmony export */ \"isVSlot\": () => (/* binding */ isVSlot),\n/* harmony export */ \"locStub\": () => (/* binding */ locStub),\n/* harmony export */ \"makeBlock\": () => (/* binding */ makeBlock),\n/* harmony export */ \"noopDirectiveTransform\": () => (/* binding */ noopDirectiveTransform),\n/* harmony export */ \"processExpression\": () => (/* binding */ processExpression),\n/* harmony export */ \"processFor\": () => (/* binding */ processFor),\n/* harmony export */ \"processIf\": () => (/* binding */ processIf),\n/* harmony export */ \"processSlotOutlet\": () => (/* binding */ processSlotOutlet),\n/* harmony export */ \"registerRuntimeHelpers\": () => (/* binding */ registerRuntimeHelpers),\n/* harmony export */ \"resolveComponentType\": () => (/* binding */ resolveComponentType),\n/* harmony export */ \"toValidAssetId\": () => (/* binding */ toValidAssetId),\n/* harmony export */ \"trackSlotScopes\": () => (/* binding */ trackSlotScopes),\n/* harmony export */ \"trackVForSlotScopes\": () => (/* binding */ trackVForSlotScopes),\n/* harmony export */ \"transform\": () => (/* binding */ transform),\n/* harmony export */ \"transformBind\": () => (/* binding */ transformBind),\n/* harmony export */ \"transformElement\": () => (/* binding */ transformElement),\n/* harmony export */ \"transformExpression\": () => (/* binding */ transformExpression),\n/* harmony export */ \"transformModel\": () => (/* binding */ transformModel),\n/* harmony export */ \"transformOn\": () => (/* binding */ transformOn),\n/* harmony export */ \"traverseNode\": () => (/* binding */ traverseNode),\n/* harmony export */ \"walkBlockDeclarations\": () => (/* binding */ walkBlockDeclarations),\n/* harmony export */ \"walkFunctionParams\": () => (/* binding */ walkFunctionParams),\n/* harmony export */ \"walkIdentifiers\": () => (/* binding */ walkIdentifiers),\n/* harmony export */ \"warnDeprecation\": () => (/* binding */ warnDeprecation)\n/* harmony export */ });\n/* harmony import */ var _vue_shared__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @vue/shared */ \"./node_modules/@vue/shared/dist/shared.esm-bundler.js\");\n\n\n\nfunction defaultOnError(error) {\r\n throw error;\r\n}\r\nfunction defaultOnWarn(msg) {\r\n ( true) && console.warn(`[Vue warn] ${msg.message}`);\r\n}\r\nfunction createCompilerError(code, loc, messages, additionalMessage) {\r\n const msg = true\r\n ? (messages || errorMessages)[code] + (additionalMessage || ``)\r\n : 0;\r\n const error = new SyntaxError(String(msg));\r\n error.code = code;\r\n error.loc = loc;\r\n return error;\r\n}\r\nconst errorMessages = {\r\n // parse errors\r\n [0 /* ErrorCodes.ABRUPT_CLOSING_OF_EMPTY_COMMENT */]: 'Illegal comment.',\r\n [1 /* ErrorCodes.CDATA_IN_HTML_CONTENT */]: 'CDATA section is allowed only in XML context.',\r\n [2 /* ErrorCodes.DUPLICATE_ATTRIBUTE */]: 'Duplicate attribute.',\r\n [3 /* ErrorCodes.END_TAG_WITH_ATTRIBUTES */]: 'End tag cannot have attributes.',\r\n [4 /* ErrorCodes.END_TAG_WITH_TRAILING_SOLIDUS */]: \"Illegal '/' in tags.\",\r\n [5 /* ErrorCodes.EOF_BEFORE_TAG_NAME */]: 'Unexpected EOF in tag.',\r\n [6 /* ErrorCodes.EOF_IN_CDATA */]: 'Unexpected EOF in CDATA section.',\r\n [7 /* ErrorCodes.EOF_IN_COMMENT */]: 'Unexpected EOF in comment.',\r\n [8 /* ErrorCodes.EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT */]: 'Unexpected EOF in script.',\r\n [9 /* ErrorCodes.EOF_IN_TAG */]: 'Unexpected EOF in tag.',\r\n [10 /* ErrorCodes.INCORRECTLY_CLOSED_COMMENT */]: 'Incorrectly closed comment.',\r\n [11 /* ErrorCodes.INCORRECTLY_OPENED_COMMENT */]: 'Incorrectly opened comment.',\r\n [12 /* ErrorCodes.INVALID_FIRST_CHARACTER_OF_TAG_NAME */]: \"Illegal tag name. Use '<' to print '<'.\",\r\n [13 /* ErrorCodes.MISSING_ATTRIBUTE_VALUE */]: 'Attribute value was expected.',\r\n [14 /* ErrorCodes.MISSING_END_TAG_NAME */]: 'End tag name was expected.',\r\n [15 /* ErrorCodes.MISSING_WHITESPACE_BETWEEN_ATTRIBUTES */]: 'Whitespace was expected.',\r\n [16 /* ErrorCodes.NESTED_COMMENT */]: \"Unexpected '|--!>| looseEqual(item, val));\r\n}\n\n/**\r\n * For converting {{ interpolation }} values to displayed strings.\r\n * @private\r\n */\r\nconst toDisplayString = (val) => {\r\n return isString(val)\r\n ? val\r\n : val == null\r\n ? ''\r\n : isArray(val) ||\r\n (isObject(val) &&\r\n (val.toString === objectToString || !isFunction(val.toString)))\r\n ? JSON.stringify(val, replacer, 2)\r\n : String(val);\r\n};\r\nconst replacer = (_key, val) => {\r\n // can't use isRef here since @vue/shared has no deps\r\n if (val && val.__v_isRef) {\r\n return replacer(_key, val.value);\r\n }\r\n else if (isMap(val)) {\r\n return {\r\n [`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val]) => {\r\n entries[`${key} =>`] = val;\r\n return entries;\r\n }, {})\r\n };\r\n }\r\n else if (isSet(val)) {\r\n return {\r\n [`Set(${val.size})`]: [...val.values()]\r\n };\r\n }\r\n else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\r\n return String(val);\r\n }\r\n return val;\r\n};\n\nconst EMPTY_OBJ = ( true)\r\n ? Object.freeze({})\r\n : 0;\r\nconst EMPTY_ARR = ( true) ? Object.freeze([]) : 0;\r\nconst NOOP = () => { };\r\n/**\r\n * Always return false.\r\n */\r\nconst NO = () => false;\r\nconst onRE = /^on[^a-z]/;\r\nconst isOn = (key) => onRE.test(key);\r\nconst isModelListener = (key) => key.startsWith('onUpdate:');\r\nconst extend = Object.assign;\r\nconst remove = (arr, el) => {\r\n const i = arr.indexOf(el);\r\n if (i > -1) {\r\n arr.splice(i, 1);\r\n }\r\n};\r\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\r\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\r\nconst isArray = Array.isArray;\r\nconst isMap = (val) => toTypeString(val) === '[object Map]';\r\nconst isSet = (val) => toTypeString(val) === '[object Set]';\r\nconst isDate = (val) => toTypeString(val) === '[object Date]';\r\nconst isFunction = (val) => typeof val === 'function';\r\nconst isString = (val) => typeof val === 'string';\r\nconst isSymbol = (val) => typeof val === 'symbol';\r\nconst isObject = (val) => val !== null && typeof val === 'object';\r\nconst isPromise = (val) => {\r\n return isObject(val) && isFunction(val.then) && isFunction(val.catch);\r\n};\r\nconst objectToString = Object.prototype.toString;\r\nconst toTypeString = (value) => objectToString.call(value);\r\nconst toRawType = (value) => {\r\n // extract \"RawType\" from strings like \"[object RawType]\"\r\n return toTypeString(value).slice(8, -1);\r\n};\r\nconst isPlainObject = (val) => toTypeString(val) === '[object Object]';\r\nconst isIntegerKey = (key) => isString(key) &&\r\n key !== 'NaN' &&\r\n key[0] !== '-' &&\r\n '' + parseInt(key, 10) === key;\r\nconst isReservedProp = /*#__PURE__*/ makeMap(\r\n// the leading comma is intentional so empty string \"\" is also included\r\n',key,ref,ref_for,ref_key,' +\r\n 'onVnodeBeforeMount,onVnodeMounted,' +\r\n 'onVnodeBeforeUpdate,onVnodeUpdated,' +\r\n 'onVnodeBeforeUnmount,onVnodeUnmounted');\r\nconst isBuiltInDirective = /*#__PURE__*/ makeMap('bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo');\r\nconst cacheStringFunction = (fn) => {\r\n const cache = Object.create(null);\r\n return ((str) => {\r\n const hit = cache[str];\r\n return hit || (cache[str] = fn(str));\r\n });\r\n};\r\nconst camelizeRE = /-(\\w)/g;\r\n/**\r\n * @private\r\n */\r\nconst camelize = cacheStringFunction((str) => {\r\n return str.replace(camelizeRE, (_, c) => (c ? c.toUpperCase() : ''));\r\n});\r\nconst hyphenateRE = /\\B([A-Z])/g;\r\n/**\r\n * @private\r\n */\r\nconst hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, '-$1').toLowerCase());\r\n/**\r\n * @private\r\n */\r\nconst capitalize = cacheStringFunction((str) => str.charAt(0).toUpperCase() + str.slice(1));\r\n/**\r\n * @private\r\n */\r\nconst toHandlerKey = cacheStringFunction((str) => str ? `on${capitalize(str)}` : ``);\r\n// compare whether a value has changed, accounting for NaN.\r\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\r\nconst invokeArrayFns = (fns, arg) => {\r\n for (let i = 0; i < fns.length; i++) {\r\n fns[i](arg);\r\n }\r\n};\r\nconst def = (obj, key, value) => {\r\n Object.defineProperty(obj, key, {\r\n configurable: true,\r\n enumerable: false,\r\n value\r\n });\r\n};\r\nconst toNumber = (val) => {\r\n const n = parseFloat(val);\r\n return isNaN(n) ? val : n;\r\n};\r\nlet _globalThis;\r\nconst getGlobalThis = () => {\r\n return (_globalThis ||\r\n (_globalThis =\r\n typeof globalThis !== 'undefined'\r\n ? globalThis\r\n : typeof self !== 'undefined'\r\n ? self\r\n : typeof window !== 'undefined'\r\n ? window\r\n : typeof __webpack_require__.g !== 'undefined'\r\n ? __webpack_require__.g\r\n : {}));\r\n};\r\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\r\nfunction genPropsAccessExp(name) {\r\n return identRE.test(name)\r\n ? `__props.${name}`\r\n : `__props[${JSON.stringify(name)}]`;\r\n}\n\n\n\n\n//# sourceURL=webpack://gscholar-title-translator/./node_modules/@vue/shared/dist/shared.esm-bundler.js?"); /***/ }), /***/ "./node_modules/axios-userscript-adapter/dist/esm/index.js": /*!*****************************************************************!*\ !*** ./node_modules/axios-userscript-adapter/dist/esm/index.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ xhrAdapter)\n/* harmony export */ });\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! axios */ \"axios\");\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var axios_lib_core_buildFullPath__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! axios/lib/core/buildFullPath */ \"./node_modules/axios/lib/core/buildFullPath.js\");\n/* harmony import */ var axios_lib_core_buildFullPath__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(axios_lib_core_buildFullPath__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var axios_lib_core_settle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! axios/lib/core/settle */ \"./node_modules/axios/lib/core/settle.js\");\n/* harmony import */ var axios_lib_core_settle__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(axios_lib_core_settle__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var axios_lib_helpers_buildURL__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! axios/lib/helpers/buildURL */ \"./node_modules/axios/lib/helpers/buildURL.js\");\n/* harmony import */ var axios_lib_helpers_buildURL__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(axios_lib_helpers_buildURL__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var axios_lib_helpers_parseHeaders__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! axios/lib/helpers/parseHeaders */ \"./node_modules/axios/lib/helpers/parseHeaders.js\");\n/* harmony import */ var axios_lib_helpers_parseHeaders__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(axios_lib_helpers_parseHeaders__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var axios_lib_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! axios/lib/utils */ \"./node_modules/axios/lib/utils.js\");\n/* harmony import */ var axios_lib_utils__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(axios_lib_utils__WEBPACK_IMPORTED_MODULE_5__);\n\n\n\n\n\n\n\nfunction xhrAdapter(config) {\r\n return new Promise((resolve, reject) => {\r\n let requestData = config.data;\r\n const requestHeaders = config.headers ?? {};\r\n if (axios_lib_utils__WEBPACK_IMPORTED_MODULE_5___default().isFormData(requestData)) {\r\n delete requestHeaders[\"Content-Type\"]; // Let the browser set it\r\n }\r\n // HTTP basic authentication\r\n if (config.auth) {\r\n const username = config.auth.username || \"\";\r\n const password = config.auth.password || \"\";\r\n requestHeaders.Authorization = \"Basic \" + Buffer.from(username + \":\" + password).toString(\"base64\");\r\n }\r\n // Handle low level network errors\r\n const onerror = function handleError() {\r\n // Real errors are hidden from us by the browser\r\n // onerror should only fire if it's a network error\r\n reject(new axios__WEBPACK_IMPORTED_MODULE_0__.AxiosError(\"Network Error\", axios__WEBPACK_IMPORTED_MODULE_0__.AxiosError.ERR_NETWORK, config));\r\n };\r\n // Handle timeout\r\n const ontimeout = function handleTimeout() {\r\n reject(new axios__WEBPACK_IMPORTED_MODULE_0__.AxiosError(\"timeout of \" + config.timeout + \"ms exceeded\", axios__WEBPACK_IMPORTED_MODULE_0__.AxiosError.ECONNABORTED, config));\r\n };\r\n // Remove Content-Type if data is undefined\r\n axios_lib_utils__WEBPACK_IMPORTED_MODULE_5___default().forEach(requestHeaders, function setRequestHeader(val, key) {\r\n if (typeof requestData === \"undefined\" && key.toLowerCase() === \"content-type\") {\r\n // Remove Content-Type if data is undefined\r\n delete requestHeaders[key];\r\n }\r\n });\r\n // Add withCredentials to request if needed\r\n // if (config.withCredentials) {\r\n // request.withCredentials = true\r\n // }\r\n if (requestData === undefined) {\r\n requestData = null;\r\n }\r\n // Send the request\r\n // Listen for ready state\r\n const onload = function handleLoad(resp) {\r\n // Prepare the response\r\n const responseHeaders = \"responseHeaders\" in resp ? axios_lib_helpers_parseHeaders__WEBPACK_IMPORTED_MODULE_4___default()(resp.responseHeaders) : {};\r\n const responseData = !config.responseType || config.responseType === \"text\" ? resp.responseText : resp.response;\r\n const response = {\r\n data: responseData,\r\n status: resp.status,\r\n statusText: resp.statusText,\r\n headers: responseHeaders,\r\n config: config,\r\n request: {\r\n // can't got real XMLHttpRequest object, only some property is available\r\n responseURL: resp.finalUrl,\r\n status: resp.status,\r\n statusText: resp.statusText,\r\n responseXML: null,\r\n },\r\n };\r\n axios_lib_core_settle__WEBPACK_IMPORTED_MODULE_2___default()(resolve, reject, response);\r\n };\r\n if (config.cancelToken) {\r\n // Handle cancellation\r\n config.cancelToken.promise.then(function onCanceled(cancel) {\r\n reject(cancel);\r\n // Clean up request\r\n });\r\n }\r\n const method = config.method.toUpperCase();\r\n if (method === \"UNLINK\" || method === \"PURGE\" || method === \"LINK\") {\r\n reject(new axios__WEBPACK_IMPORTED_MODULE_0__.AxiosError(`${method} is not a supported method by GM.xmlHttpRequest`));\r\n }\r\n else {\r\n GM.xmlHttpRequest({\r\n method,\r\n url: axios_lib_helpers_buildURL__WEBPACK_IMPORTED_MODULE_3___default()(axios_lib_core_buildFullPath__WEBPACK_IMPORTED_MODULE_1___default()(config.baseURL, config.url), config.params, config.paramsSerializer),\r\n headers: Object.fromEntries(Object.entries(requestHeaders).map(([key, val]) => [key, val.toString()])),\r\n data: requestData,\r\n timeout: config.timeout,\r\n ontimeout,\r\n onload,\r\n onerror,\r\n });\r\n }\r\n });\r\n}\n\n\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://gscholar-title-translator/./node_modules/axios-userscript-adapter/dist/esm/index.js?"); /***/ }), /***/ "./node_modules/axios/lib/core/AxiosError.js": /*!***************************************************!*\ !*** ./node_modules/axios/lib/core/AxiosError.js ***! \***************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/axios/lib/utils.js\");\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED'\n// eslint-disable-next-line func-names\n].forEach(function(code) {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = function(error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nmodule.exports = AxiosError;\n\n\n//# sourceURL=webpack://gscholar-title-translator/./node_modules/axios/lib/core/AxiosError.js?"); /***/ }), /***/ "./node_modules/axios/lib/core/buildFullPath.js": /*!******************************************************!*\ !*** ./node_modules/axios/lib/core/buildFullPath.js ***! \******************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { eval("\n\nvar isAbsoluteURL = __webpack_require__(/*! ../helpers/isAbsoluteURL */ \"./node_modules/axios/lib/helpers/isAbsoluteURL.js\");\nvar combineURLs = __webpack_require__(/*! ../helpers/combineURLs */ \"./node_modules/axios/lib/helpers/combineURLs.js\");\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\n\n//# sourceURL=webpack://gscholar-title-translator/./node_modules/axios/lib/core/buildFullPath.js?"); /***/ }), /***/ "./node_modules/axios/lib/core/settle.js": /*!***********************************************!*\ !*** ./node_modules/axios/lib/core/settle.js ***! \***********************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { eval("\n\nvar AxiosError = __webpack_require__(/*! ./AxiosError */ \"./node_modules/axios/lib/core/AxiosError.js\");\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n};\n\n\n//# sourceURL=webpack://gscholar-title-translator/./node_modules/axios/lib/core/settle.js?"); /***/ }), /***/ "./node_modules/axios/lib/helpers/bind.js": /*!************************************************!*\ !*** ./node_modules/axios/lib/helpers/bind.js ***! \************************************************/ /***/ ((module) => { eval("\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\n\n//# sourceURL=webpack://gscholar-title-translator/./node_modules/axios/lib/helpers/bind.js?"); /***/ }), /***/ "./node_modules/axios/lib/helpers/buildURL.js": /*!****************************************************!*\ !*** ./node_modules/axios/lib/helpers/buildURL.js ***! \****************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\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\n\n//# sourceURL=webpack://gscholar-title-translator/./node_modules/axios/lib/helpers/buildURL.js?"); /***/ }), /***/ "./node_modules/axios/lib/helpers/combineURLs.js": /*!*******************************************************!*\ !*** ./node_modules/axios/lib/helpers/combineURLs.js ***! \*******************************************************/ /***/ ((module) => { eval("\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\n\n//# sourceURL=webpack://gscholar-title-translator/./node_modules/axios/lib/helpers/combineURLs.js?"); /***/ }), /***/ "./node_modules/axios/lib/helpers/isAbsoluteURL.js": /*!*********************************************************!*\ !*** ./node_modules/axios/lib/helpers/isAbsoluteURL.js ***! \*********************************************************/ /***/ ((module) => { eval("\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n\n\n//# sourceURL=webpack://gscholar-title-translator/./node_modules/axios/lib/helpers/isAbsoluteURL.js?"); /***/ }), /***/ "./node_modules/axios/lib/helpers/parseHeaders.js": /*!********************************************************!*\ !*** ./node_modules/axios/lib/helpers/parseHeaders.js ***! \********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\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\n\n//# sourceURL=webpack://gscholar-title-translator/./node_modules/axios/lib/helpers/parseHeaders.js?"); /***/ }), /***/ "./node_modules/axios/lib/utils.js": /*!*****************************************!*\ !*** ./node_modules/axios/lib/utils.js ***! \*****************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { eval("\n\nvar bind = __webpack_require__(/*! ./helpers/bind */ \"./node_modules/axios/lib/helpers/bind.js\");\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n// eslint-disable-next-line func-names\nvar kindOf = (function(cache) {\n // eslint-disable-next-line func-names\n return function(thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n})(Object.create(null));\n\nfunction kindOfTest(type) {\n type = type.toLowerCase();\n return function isKindOf(thing) {\n return kindOf(thing) === type;\n };\n}\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nvar isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nvar isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} thing The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(thing) {\n var pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nvar isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n */\n\nfunction inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function} [filter]\n * @returns {Object}\n */\n\nfunction toFlatObject(sourceObj, destObj, filter) {\n var props;\n var i;\n var prop;\n var merged = {};\n\n destObj = destObj || {};\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if (!merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = Object.getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/*\n * determines whether a string ends with the characters of a specified string\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n * @returns {boolean}\n */\nfunction endsWith(str, searchString, position) {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n var lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object\n * @param {*} [thing]\n * @returns {Array}\n */\nfunction toArray(thing) {\n if (!thing) return null;\n var i = thing.length;\n if (isUndefined(i)) return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n// eslint-disable-next-line func-names\nvar isTypedArray = (function(TypedArray) {\n // eslint-disable-next-line func-names\n return function(thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array));\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM,\n inherits: inherits,\n toFlatObject: toFlatObject,\n kindOf: kindOf,\n kindOfTest: kindOfTest,\n endsWith: endsWith,\n toArray: toArray,\n isTypedArray: isTypedArray,\n isFileList: isFileList\n};\n\n\n//# sourceURL=webpack://gscholar-title-translator/./node_modules/axios/lib/utils.js?"); /***/ }), /***/ "./src/index.ts": /*!**********************!*\ !*** ./src/index.ts ***! \**********************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { eval("\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nconst css_1 = __webpack_require__(/*! ./utils/css */ \"./src/utils/css.ts\");\r\nconst youdao_1 = __webpack_require__(/*! ./translators/youdao */ \"./src/translators/youdao.ts\");\r\nconst pref_1 = __webpack_require__(/*! ./prefs/pref */ \"./src/prefs/pref.ts\");\r\nconst ui_1 = __webpack_require__(/*! ./prefs/ui */ \"./src/prefs/ui.ts\");\r\nconst TAG_REGEX = /^(?\\[.+\\])\\s*/;\r\nfunction main() {\r\n var _a, _b;\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const pref = (0, ui_1.createVueApp)();\r\n (0, pref_1.add_pref_button)(pref);\r\n (0, css_1.insertCSS)();\r\n const list = document.querySelectorAll(\"h3.gs_rt\");\r\n for (let i = 0; i < list.length; i++) {\r\n console.debug(\"main\", i, list[i].innerText);\r\n const ele = list.item(i);\r\n const raw_title = ((_a = ele.innerText) !== null && _a !== void 0 ? _a : \"\").trim();\r\n const tag_match = raw_title.match(TAG_REGEX);\r\n let tag;\r\n if (tag_match && tag_match.groups && tag_match.groups.tag) {\r\n tag = tag_match.groups.tag;\r\n }\r\n const title = raw_title.replace(TAG_REGEX, \"\");\r\n const url_element = ele.querySelector(\"a\");\r\n let url = undefined;\r\n if (url_element) {\r\n url = url_element.href;\r\n }\r\n try {\r\n const res = yield (0, youdao_1.translate_youdao_next)(title);\r\n if (!res)\r\n continue;\r\n let transTitle = res;\r\n if (tag) {\r\n transTitle = `${tag} ${transTitle}`;\r\n }\r\n const nele = document.createElement(\"h3\");\r\n if (url) {\r\n const a = document.createElement(\"a\");\r\n a.href = url;\r\n a.append(document.createTextNode(transTitle));\r\n nele.appendChild(a);\r\n }\r\n else {\r\n nele.appendChild(document.createTextNode(transTitle));\r\n }\r\n nele.classList.add(\"gtitle_translated\");\r\n (_b = ele.parentNode) === null || _b === void 0 ? void 0 : _b.insertBefore(nele, ele);\r\n }\r\n catch (error) {\r\n console.debug(\"翻译错误\", error);\r\n }\r\n yield sleep(100 + Math.random() * 300);\r\n }\r\n });\r\n}\r\nfunction sleep(duration) {\r\n return new Promise((resolve) => {\r\n setTimeout(resolve, duration);\r\n });\r\n}\r\nwindow.addEventListener('load', main);\r\n\n\n//# sourceURL=webpack://gscholar-title-translator/./src/index.ts?"); /***/ }), /***/ "./src/prefs/pref.ts": /*!***************************!*\ !*** ./src/prefs/pref.ts ***! \***************************/ /***/ ((__unused_webpack_module, exports) => { eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.add_pref_button = void 0;\r\nfunction add_pref_button(app) {\r\n const gs_hdr_drw_sec = document.querySelector(\".gs_hdr_drw_sec:last-child\");\r\n if (!gs_hdr_drw_sec) {\r\n return;\r\n }\r\n const anchor = document.createElement(\"a\");\r\n anchor.href = \"#\";\r\n anchor.setAttribute(\"role\", \"menuitem\");\r\n anchor.classList.add(\"gs_btnP\", \"gs_in_ib\", \"gs_md_li\", \"gs_md_lix\", \"gs_in_gray\");\r\n const gs_ico = document.createElement(\"span\");\r\n gs_ico.classList.add(\"gs_ico\");\r\n const gs_ia_notf = document.createElement(\"span\");\r\n gs_ia_notf.classList.add(\"gs_ia_notf\");\r\n const gs_lbl = document.createElement(\"span\");\r\n gs_lbl.classList.add(\"gs_lbl\");\r\n gs_lbl.append(document.createTextNode(\"标题翻译设置\"));\r\n anchor.appendChild(gs_ico);\r\n anchor.appendChild(gs_ia_notf);\r\n anchor.appendChild(gs_lbl);\r\n gs_hdr_drw_sec.appendChild(anchor);\r\n anchor.addEventListener(\"click\", () => {\r\n app.toggle();\r\n });\r\n return anchor;\r\n}\r\nexports.add_pref_button = add_pref_button;\r\n\n\n//# sourceURL=webpack://gscholar-title-translator/./src/prefs/pref.ts?"); /***/ }), /***/ "./src/prefs/ui.ts": /*!*************************!*\ !*** ./src/prefs/ui.ts ***! \*************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.createVueApp = void 0;\r\nconst vue_1 = __webpack_require__(/*! vue */ \"./node_modules/vue/index.js\");\r\nfunction createVueApp() {\r\n const pref_element = document.createElement(\"div\");\r\n pref_element.id = \"pref-gtitle\";\r\n document.body.appendChild(pref_element);\r\n const app = (0, vue_1.createApp)({\r\n data() {\r\n return {\r\n show: false,\r\n };\r\n },\r\n methods: {\r\n toggle() {\r\n this.show = !this.show;\r\n }\r\n },\r\n template: `\r\n
\r\n

标题翻译设置

\r\n
\r\n`,\r\n });\r\n return app.mount(pref_element);\r\n}\r\nexports.createVueApp = createVueApp;\r\n\n\n//# sourceURL=webpack://gscholar-title-translator/./src/prefs/ui.ts?"); /***/ }), /***/ "./src/translators/youdao.ts": /*!***********************************!*\ !*** ./src/translators/youdao.ts ***! \***********************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { eval("\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.translate_youdao_next = void 0;\r\nconst axios_1 = __importDefault(__webpack_require__(/*! axios */ \"axios\"));\r\nconst axios_userscript_adapter_1 = __importDefault(__webpack_require__(/*! axios-userscript-adapter */ \"./node_modules/axios-userscript-adapter/dist/esm/index.js\"));\r\naxios_1.default.defaults.adapter = axios_userscript_adapter_1.default;\r\naxios_1.default.defaults.timeout = 6000;\r\nfunction get_translation_in_ec(ec) {\r\n var _a, _b, _c;\r\n if ((_a = ec === null || ec === void 0 ? void 0 : ec.word) === null || _a === void 0 ? void 0 : _a.length) {\r\n if (ec.word[0].trs.length) {\r\n if (ec.word[0].trs[0].tr.length) {\r\n return (_c = (_b = ec.word[0].trs[0].tr[0].l) === null || _b === void 0 ? void 0 : _b.i) === null || _c === void 0 ? void 0 : _c[0];\r\n }\r\n }\r\n }\r\n}\r\nfunction translate_youdao_next(text) {\r\n var _a, _b;\r\n return __awaiter(this, void 0, void 0, function* () {\r\n console.debug(\"translate_youdao_next req\", text);\r\n let url = `https://dict.youdao.com/jsonapi?xmlVersion=5.1&jsonversion=2&q=${encodeURIComponent(text)}`;\r\n const res = yield axios_1.default.get(url, {\r\n headers: {\r\n 'Origin': 'https://dict.youdao.com',\r\n 'Referer': 'https://dict.youdao.com/',\r\n }\r\n });\r\n console.debug(\"translate_youdao_next res\", res.data);\r\n return (_b = (_a = res.data.fanyi) === null || _a === void 0 ? void 0 : _a.tran) !== null && _b !== void 0 ? _b : get_translation_in_ec(res.data.ec);\r\n });\r\n}\r\nexports.translate_youdao_next = translate_youdao_next;\r\n\n\n//# sourceURL=webpack://gscholar-title-translator/./src/translators/youdao.ts?"); /***/ }), /***/ "./src/utils/css.ts": /*!**************************!*\ !*** ./src/utils/css.ts ***! \**************************/ /***/ ((__unused_webpack_module, exports) => { eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.insertCSS = void 0;\r\nfunction insertCSS() {\r\n const style = `\r\n h3.gs_rt{\r\n font-size: 14px;\r\n }\r\n h3.gtitle_translated{\r\n font-size: 18px\r\n }\r\n\r\n .pref-window {\r\n position: fixed;\r\n display: none;\r\n top: 50vh;\r\n left: 50vw;\r\n transform: translate(-50%, -50%);\r\n background-color: #fff;\r\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);\r\n border-radius: 5px;\r\n border: 1px solid #ccc;\r\n padding: 1rem;\r\n }\r\n\r\n .pref-window.show {\r\n display: block;\r\n }\r\n `;\r\n GM.addStyle(style);\r\n}\r\nexports.insertCSS = insertCSS;\r\n\n\n//# sourceURL=webpack://gscholar-title-translator/./src/utils/css.ts?"); /***/ }), /***/ "./node_modules/vue/dist/vue.cjs.js": /*!******************************************!*\ !*** ./node_modules/vue/dist/vue.cjs.js ***! \******************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { eval("\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n\nvar compilerDom = __webpack_require__(/*! @vue/compiler-dom */ \"./node_modules/@vue/compiler-dom/dist/compiler-dom.esm-bundler.js\");\nvar runtimeDom = __webpack_require__(/*! @vue/runtime-dom */ \"./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js\");\nvar shared = __webpack_require__(/*! @vue/shared */ \"./node_modules/@vue/shared/dist/shared.esm-bundler.js\");\n\nfunction _interopNamespace(e) {\n if (e && e.__esModule) return e;\n var n = Object.create(null);\n if (e) {\n Object.keys(e).forEach(function (k) {\n n[k] = e[k];\n });\n }\n n['default'] = e;\n return Object.freeze(n);\n}\n\nvar runtimeDom__namespace = /*#__PURE__*/_interopNamespace(runtimeDom);\n\n// This entry is the \"full-build\" that includes both the runtime\r\nconst compileCache = Object.create(null);\r\nfunction compileToFunction(template, options) {\r\n if (!shared.isString(template)) {\r\n if (template.nodeType) {\r\n template = template.innerHTML;\r\n }\r\n else {\r\n runtimeDom.warn(`invalid template option: `, template);\r\n return shared.NOOP;\r\n }\r\n }\r\n const key = template;\r\n const cached = compileCache[key];\r\n if (cached) {\r\n return cached;\r\n }\r\n if (template[0] === '#') {\r\n const el = document.querySelector(template);\r\n if (!el) {\r\n runtimeDom.warn(`Template element not found or is empty: ${template}`);\r\n }\r\n // __UNSAFE__\r\n // Reason: potential execution of JS expressions in in-DOM template.\r\n // The user must make sure the in-DOM template is trusted. If it's rendered\r\n // by the server, the template should not contain any user data.\r\n template = el ? el.innerHTML : ``;\r\n }\r\n const opts = shared.extend({\r\n hoistStatic: true,\r\n onError: onError ,\r\n onWarn: e => onError(e, true) \r\n }, options);\r\n if (!opts.isCustomElement && typeof customElements !== 'undefined') {\r\n opts.isCustomElement = tag => !!customElements.get(tag);\r\n }\r\n const { code } = compilerDom.compile(template, opts);\r\n function onError(err, asWarning = false) {\r\n const message = asWarning\r\n ? err.message\r\n : `Template compilation error: ${err.message}`;\r\n const codeFrame = err.loc &&\r\n shared.generateCodeFrame(template, err.loc.start.offset, err.loc.end.offset);\r\n runtimeDom.warn(codeFrame ? `${message}\\n${codeFrame}` : message);\r\n }\r\n // The wildcard import results in a huge object with every export\r\n // with keys that cannot be mangled, and can be quite heavy size-wise.\r\n // In the global build we know `Vue` is available globally so we can avoid\r\n // the wildcard object.\r\n const render = (new Function('Vue', code)(runtimeDom__namespace));\r\n render._rc = true;\r\n return (compileCache[key] = render);\r\n}\r\nruntimeDom.registerRuntimeCompiler(compileToFunction);\n\nObject.keys(runtimeDom).forEach(function (k) {\n if (k !== 'default') exports[k] = runtimeDom[k];\n});\nexports.compile = compileToFunction;\n\n\n//# sourceURL=webpack://gscholar-title-translator/./node_modules/vue/dist/vue.cjs.js?"); /***/ }), /***/ "./node_modules/vue/index.js": /*!***********************************!*\ !*** ./node_modules/vue/index.js ***! \***********************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { eval("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./dist/vue.cjs.js */ \"./node_modules/vue/dist/vue.cjs.js\")\n}\n\n\n//# sourceURL=webpack://gscholar-title-translator/./node_modules/vue/index.js?"); /***/ }), /***/ "axios": /*!************************!*\ !*** external "axios" ***! \************************/ /***/ ((module) => { module.exports = axios; /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ /******/ /* webpack/runtime/compat get default export */ /******/ (() => { /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = (module) => { /******/ var getter = module && module.__esModule ? /******/ () => (module['default']) : /******/ () => (module); /******/ __webpack_require__.d(getter, { a: getter }); /******/ return getter; /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/define property getters */ /******/ (() => { /******/ // define getter functions for harmony exports /******/ __webpack_require__.d = (exports, definition) => { /******/ for(var key in definition) { /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); /******/ } /******/ } /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/global */ /******/ (() => { /******/ __webpack_require__.g = (function() { /******/ if (typeof globalThis === 'object') return globalThis; /******/ try { /******/ return this || new Function('return this')(); /******/ } catch (e) { /******/ if (typeof window === 'object') return window; /******/ } /******/ })(); /******/ })(); /******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ (() => { /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) /******/ })(); /******/ /******/ /* webpack/runtime/make namespace object */ /******/ (() => { /******/ // define __esModule on exports /******/ __webpack_require__.r = (exports) => { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ })(); /******/ /************************************************************************/ /******/ /******/ // startup /******/ // Load entry module and return exports /******/ // This entry module is referenced by other modules so it can't be inlined /******/ var __webpack_exports__ = __webpack_require__("./src/index.ts"); /******/ /******/ })() ;