@yxw007/translate 0.2.2 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -0
- package/README_zh-CN.md +34 -0
- package/dist/browser/index.cjs +163 -1
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.esm.js +163 -1
- package/dist/browser/index.esm.js.map +1 -1
- package/dist/browser/index.esm.min.js +1 -1
- package/dist/browser/index.esm.min.js.map +1 -1
- package/dist/browser/index.min.cjs +1 -1
- package/dist/browser/index.min.cjs.map +1 -1
- package/dist/browser/index.umd.js +166 -5
- package/dist/browser/index.umd.js.map +1 -1
- package/dist/browser/index.umd.min.js +1 -1
- package/dist/browser/index.umd.min.js.map +1 -1
- package/dist/index.d.ts +131 -36
- package/dist/index.d.ts.map +1 -1
- package/dist/node/index.cjs +163 -1
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +163 -1
- package/dist/node/index.js.map +1 -1
- package/dist/package.json +3 -2
- package/package.json +3 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(a,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("fs/promises"),require("fs"),require("path"),require("@aws-sdk/client-translate")):"function"==typeof define&&define.amd?define(["exports","fs/promises","fs","path","@aws-sdk/client-translate"],n):n((a="undefined"!=typeof globalThis?globalThis:a||self).translate={},null,null,null,a.clientTranslate)}(this,(function(a,n,e,i,t){"use strict";class r extends Error{region;constructor(a,n){super(n),this.region=a,Error.captureStackTrace(this,this.constructor)}}const o=["o1-preview","o1-preview-2024-09-12","o1-mini-2024-09-12","o1-mini","dall-e-2","gpt-3.5-turbo","gpt-3.5-turbo-0125","babbage-002","davinci-002","dall-e-3","text-embedding-3-large","gpt-3.5-turbo-16k","tts-1-hd-1106","text-embedding-ada-002","text-embedding-3-small","tts-1-hd","whisper-1","gpt-3.5-turbo-1106","gpt-3.5-turbo-instruct","gpt-4o-mini-2024-07-18","gpt-4o-mini","tts-1","tts-1-1106","gpt-3.5-turbo-instruct-0914"];class s{cache;constructor(){this.cache=new Map}set(a,n,e){if(e<=0)throw new Error("time must be greater than 0");const i=this.cache.get(a);i&&clearTimeout(i.timeout);const t={value:n,expire:Date.now()+e};isNaN(t.expire)||(t.timeout=setTimeout((()=>this.del(a)),e)),this.cache.set(a,t)}get(a){return this.cache.get(a)}delete(a){let n=!0;const e=this.cache.get(a);return e?!isNaN(e.expire)&&e.expire<Date.now()?n=!1:clearTimeout(e.timeout):n=!1,n&&this.del(a),n}del(a){this.cache.delete(a)}clear(){for(const[,a]of this.cache.entries())clearTimeout(a.timeout);this.cache.clear()}}function l(a=""){return{log(...a){this.info(...a)},info(...n){console.log(`[translate ${a}]`,...n)},error(...n){console.error(`[translate ${a}]`,...n)},warn(...n){console.warn(`[translate ${a}]`,...n)}}}function u(){return"-".repeat(20)}function c(a,n="Translate fail ! "){return a instanceof TypeError?n+(a.cause?.message??a.message):n+a.message}async function h(a,n){let e=null;try{e=await n.json()}catch(a){}return new r(a,`Translate fail ! ${n.status}: ${n.statusText} ${e?.message??""}`)}var g="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function d(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}function m(a){if(a.__esModule)return a;var n=a.default;if("function"==typeof n){var e=function a(){return this instanceof a?Reflect.construct(n,arguments,this.constructor):n.apply(this,arguments)};e.prototype=n.prototype}else e={};return Object.defineProperty(e,"__esModule",{value:!0}),Object.keys(a).forEach((function(n){var i=Object.getOwnPropertyDescriptor(a,n);Object.defineProperty(e,n,i.get?i:{enumerable:!0,get:function(){return a[n]}})})),e}var f={exports:{}};var p,y={exports:{}},w=m(Object.freeze({__proto__:null,default:{}}));function b(){return p||(p=1,function(a){var n;a.exports=(n=n||function(a,n){var e;if("undefined"!=typeof window&&window.crypto&&(e=window.crypto),"undefined"!=typeof self&&self.crypto&&(e=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(e=globalThis.crypto),!e&&"undefined"!=typeof window&&window.msCrypto&&(e=window.msCrypto),!e&&void 0!==g&&g.crypto&&(e=g.crypto),!e)try{e=w}catch(a){}var i=function(){if(e){if("function"==typeof e.getRandomValues)try{return e.getRandomValues(new Uint32Array(1))[0]}catch(a){}if("function"==typeof e.randomBytes)try{return e.randomBytes(4).readInt32LE()}catch(a){}}throw new Error("Native crypto module could not be used to get secure random number.")},t=Object.create||function(){function a(){}return function(n){var e;return a.prototype=n,e=new a,a.prototype=null,e}}(),r={},o=r.lib={},s=o.Base={extend:function(a){var n=t(this);return a&&n.mixIn(a),n.hasOwnProperty("init")&&this.init!==n.init||(n.init=function(){n.$super.init.apply(this,arguments)}),n.init.prototype=n,n.$super=this,n},create:function(){var a=this.extend();return a.init.apply(a,arguments),a},init:function(){},mixIn:function(a){for(var n in a)a.hasOwnProperty(n)&&(this[n]=a[n]);a.hasOwnProperty("toString")&&(this.toString=a.toString)},clone:function(){return this.init.prototype.extend(this)}},l=o.WordArray=s.extend({init:function(a,e){a=this.words=a||[],this.sigBytes=e!=n?e:4*a.length},toString:function(a){return(a||c).stringify(this)},concat:function(a){var n=this.words,e=a.words,i=this.sigBytes,t=a.sigBytes;if(this.clamp(),i%4)for(var r=0;r<t;r++){var o=e[r>>>2]>>>24-r%4*8&255;n[i+r>>>2]|=o<<24-(i+r)%4*8}else for(var s=0;s<t;s+=4)n[i+s>>>2]=e[s>>>2];return this.sigBytes+=t,this},clamp:function(){var n=this.words,e=this.sigBytes;n[e>>>2]&=4294967295<<32-e%4*8,n.length=a.ceil(e/4)},clone:function(){var a=s.clone.call(this);return a.words=this.words.slice(0),a},random:function(a){for(var n=[],e=0;e<a;e+=4)n.push(i());return new l.init(n,a)}}),u=r.enc={},c=u.Hex={stringify:function(a){for(var n=a.words,e=a.sigBytes,i=[],t=0;t<e;t++){var r=n[t>>>2]>>>24-t%4*8&255;i.push((r>>>4).toString(16)),i.push((15&r).toString(16))}return i.join("")},parse:function(a){for(var n=a.length,e=[],i=0;i<n;i+=2)e[i>>>3]|=parseInt(a.substr(i,2),16)<<24-i%8*4;return new l.init(e,n/2)}},h=u.Latin1={stringify:function(a){for(var n=a.words,e=a.sigBytes,i=[],t=0;t<e;t++){var r=n[t>>>2]>>>24-t%4*8&255;i.push(String.fromCharCode(r))}return i.join("")},parse:function(a){for(var n=a.length,e=[],i=0;i<n;i++)e[i>>>2]|=(255&a.charCodeAt(i))<<24-i%4*8;return new l.init(e,n)}},d=u.Utf8={stringify:function(a){try{return decodeURIComponent(escape(h.stringify(a)))}catch(a){throw new Error("Malformed UTF-8 data")}},parse:function(a){return h.parse(unescape(encodeURIComponent(a)))}},m=o.BufferedBlockAlgorithm=s.extend({reset:function(){this._data=new l.init,this._nDataBytes=0},_append:function(a){"string"==typeof a&&(a=d.parse(a)),this._data.concat(a),this._nDataBytes+=a.sigBytes},_process:function(n){var e,i=this._data,t=i.words,r=i.sigBytes,o=this.blockSize,s=r/(4*o),u=(s=n?a.ceil(s):a.max((0|s)-this._minBufferSize,0))*o,c=a.min(4*u,r);if(u){for(var h=0;h<u;h+=o)this._doProcessBlock(t,h);e=t.splice(0,u),i.sigBytes-=c}return new l.init(e,c)},clone:function(){var a=s.clone.call(this);return a._data=this._data.clone(),a},_minBufferSize:0});o.Hasher=m.extend({cfg:s.extend(),init:function(a){this.cfg=this.cfg.extend(a),this.reset()},reset:function(){m.reset.call(this),this._doReset()},update:function(a){return this._append(a),this._process(),this},finalize:function(a){return a&&this._append(a),this._doFinalize()},blockSize:16,_createHelper:function(a){return function(n,e){return new a.init(e).finalize(n)}},_createHmacHelper:function(a){return function(n,e){return new f.HMAC.init(a,e).finalize(n)}}});var f=r.algo={};return r}(Math),n)}(y)),y.exports}!function(a){var n;a.exports=(n=b(),function(a){var e=n,i=e.lib,t=i.WordArray,r=i.Hasher,o=e.algo,s=[];!function(){for(var n=0;n<64;n++)s[n]=4294967296*a.abs(a.sin(n+1))|0}();var l=o.MD5=r.extend({_doReset:function(){this._hash=new t.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(a,n){for(var e=0;e<16;e++){var i=n+e,t=a[i];a[i]=16711935&(t<<8|t>>>24)|4278255360&(t<<24|t>>>8)}var r=this._hash.words,o=a[n+0],l=a[n+1],d=a[n+2],m=a[n+3],f=a[n+4],p=a[n+5],y=a[n+6],w=a[n+7],b=a[n+8],k=a[n+9],v=a[n+10],S=a[n+11],T=a[n+12],C=a[n+13],A=a[n+14],B=a[n+15],M=r[0],$=r[1],z=r[2],x=r[3];M=u(M,$,z,x,o,7,s[0]),x=u(x,M,$,z,l,12,s[1]),z=u(z,x,M,$,d,17,s[2]),$=u($,z,x,M,m,22,s[3]),M=u(M,$,z,x,f,7,s[4]),x=u(x,M,$,z,p,12,s[5]),z=u(z,x,M,$,y,17,s[6]),$=u($,z,x,M,w,22,s[7]),M=u(M,$,z,x,b,7,s[8]),x=u(x,M,$,z,k,12,s[9]),z=u(z,x,M,$,v,17,s[10]),$=u($,z,x,M,S,22,s[11]),M=u(M,$,z,x,T,7,s[12]),x=u(x,M,$,z,C,12,s[13]),z=u(z,x,M,$,A,17,s[14]),M=c(M,$=u($,z,x,M,B,22,s[15]),z,x,l,5,s[16]),x=c(x,M,$,z,y,9,s[17]),z=c(z,x,M,$,S,14,s[18]),$=c($,z,x,M,o,20,s[19]),M=c(M,$,z,x,p,5,s[20]),x=c(x,M,$,z,v,9,s[21]),z=c(z,x,M,$,B,14,s[22]),$=c($,z,x,M,f,20,s[23]),M=c(M,$,z,x,k,5,s[24]),x=c(x,M,$,z,A,9,s[25]),z=c(z,x,M,$,m,14,s[26]),$=c($,z,x,M,b,20,s[27]),M=c(M,$,z,x,C,5,s[28]),x=c(x,M,$,z,d,9,s[29]),z=c(z,x,M,$,w,14,s[30]),M=h(M,$=c($,z,x,M,T,20,s[31]),z,x,p,4,s[32]),x=h(x,M,$,z,b,11,s[33]),z=h(z,x,M,$,S,16,s[34]),$=h($,z,x,M,A,23,s[35]),M=h(M,$,z,x,l,4,s[36]),x=h(x,M,$,z,f,11,s[37]),z=h(z,x,M,$,w,16,s[38]),$=h($,z,x,M,v,23,s[39]),M=h(M,$,z,x,C,4,s[40]),x=h(x,M,$,z,o,11,s[41]),z=h(z,x,M,$,m,16,s[42]),$=h($,z,x,M,y,23,s[43]),M=h(M,$,z,x,k,4,s[44]),x=h(x,M,$,z,T,11,s[45]),z=h(z,x,M,$,B,16,s[46]),M=g(M,$=h($,z,x,M,d,23,s[47]),z,x,o,6,s[48]),x=g(x,M,$,z,w,10,s[49]),z=g(z,x,M,$,A,15,s[50]),$=g($,z,x,M,p,21,s[51]),M=g(M,$,z,x,T,6,s[52]),x=g(x,M,$,z,m,10,s[53]),z=g(z,x,M,$,v,15,s[54]),$=g($,z,x,M,l,21,s[55]),M=g(M,$,z,x,b,6,s[56]),x=g(x,M,$,z,B,10,s[57]),z=g(z,x,M,$,y,15,s[58]),$=g($,z,x,M,C,21,s[59]),M=g(M,$,z,x,f,6,s[60]),x=g(x,M,$,z,S,10,s[61]),z=g(z,x,M,$,d,15,s[62]),$=g($,z,x,M,k,21,s[63]),r[0]=r[0]+M|0,r[1]=r[1]+$|0,r[2]=r[2]+z|0,r[3]=r[3]+x|0},_doFinalize:function(){var n=this._data,e=n.words,i=8*this._nDataBytes,t=8*n.sigBytes;e[t>>>5]|=128<<24-t%32;var r=a.floor(i/4294967296),o=i;e[15+(t+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),e[14+(t+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),n.sigBytes=4*(e.length+1),this._process();for(var s=this._hash,l=s.words,u=0;u<4;u++){var c=l[u];l[u]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8)}return s},clone:function(){var a=r.clone.call(this);return a._hash=this._hash.clone(),a}});function u(a,n,e,i,t,r,o){var s=a+(n&e|~n&i)+t+o;return(s<<r|s>>>32-r)+n}function c(a,n,e,i,t,r,o){var s=a+(n&i|e&~i)+t+o;return(s<<r|s>>>32-r)+n}function h(a,n,e,i,t,r,o){var s=a+(n^e^i)+t+o;return(s<<r|s>>>32-r)+n}function g(a,n,e,i,t,r,o){var s=a+(e^(n|~i))+t+o;return(s<<r|s>>>32-r)+n}e.MD5=r._createHelper(l),e.HmacMD5=r._createHmacHelper(l)}(Math),n.MD5)}(f);var k=d(f.exports);const v=l("openai");const S={google:function(a){return{name:"google",async translate(a,n){const{from:e="auto",to:i}=n;Array.isArray(a)||(a=[a]);const t=a.join("\n"),o=`https://translate.googleapis.com/translate_a/single?client=gtx&sl=${e}&tl=${i}&dt=t&q=${encodeURI(t)}`,s=await fetch(o);if(!s.ok)throw await h(this.name,s);const l=await s.json();if(!l||0===l.length)throw new r(this.name,"Translate fail ! translate's result is null or empty");const u=[];for(let a=0;l[0]&&a<l[0].length;a++){const n=l[0][a];n&&0!=n.length&&Array.isArray(n)&&n[0]&&u.push(n[0].replaceAll("\n",""))}return u}}},azure:function(a){const{key:n,region:e}=a,i="azure",t=()=>{if(!n||!e)throw new r(i,`${i} key and region is required`)};return t(),{name:i,async translate(a,i){t();const{from:o,to:s}=i,l=`https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=${s}${o&&"auto"!==o?`&from=${o}`:""}`;Array.isArray(a)||(a=[a]);const u=await fetch(l,{method:"POST",headers:{"Content-Type":"application/json; charset=UTF-8","Ocp-Apim-Subscription-Key":n,"Ocp-Apim-Subscription-Region":e},body:JSON.stringify(a.map((a=>({Text:a}))))});if(!u.ok)throw await h(this.name,u);const c=await u.json();if(c.error)throw new r(this.name,`Translate fail ! code: ${c.error.code}, message: ${c.error.message}`);const g=c;if(!g||0===g.length)throw new r(this.name,"Translate fail ! translate's result is null or empty");const d=[];for(const a of g)a.translations&&0!=a.translations.length&&d.push(...a.translations.map((a=>a.text)));return d}}},amazon:function(a){const{region:n,accessKeyId:e,secretAccessKey:i}=a,o="amazon",s=()=>{if(!n||!e||!i)throw new r(o,`${o} region, accessKeyId ,secretAccessKey is required`)};return s(),{name:o,async translate(a,r){s();const{from:o="auto",to:l}=r,u=new t.TranslateClient({region:n,credentials:{accessKeyId:e,secretAccessKey:i}});Array.isArray(a)||(a=[a]);const c=new t.TranslateTextCommand({SourceLanguageCode:o,TargetLanguageCode:l,Text:a.join("\n")}),h=await u.send(c),g=[];if(h.TranslatedText){const a=h.TranslatedText??"";g.push(...a.split("\n"))}return g}}},baidu:function(a){const{appId:n,secretKey:e}=a,i="baidu",t=()=>{if(!n||!e)throw new r(i,`${i} appId and secretKey is required`)};return t(),{name:i,async translate(a,i){t();const{to:o,from:s="auto",domain:l="it"}=i;Array.isArray(a)||(a=[a]);const u=a.join("\n"),c=Date.now(),g=k(`${n}${u}${c}${l}${e}`).toString(),d=new URLSearchParams;d.append("q",u),d.append("from",s),d.append("to",o),d.append("appid",n),d.append("salt",c.toString()),d.append("domain",l),d.append("sign",g);const m=await fetch("https://fanyi-api.baidu.com/api/trans/vip/fieldtranslate",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:d.toString()});if(!m.ok)throw await h(this.name,m);const f=await m.json();if(!f||f.error_code||!f.trans_result||0===f.trans_result.length)throw new r(this.name,`Translate fail ! error_code:${f.error_code}, error_msg: ${f.error_msg}`);const p=[];for(const a of f.trans_result)a.dst&&p.push(a.dst);return p}}},deepl:function(a){const{key:n}=a,e="deepl",i=()=>{if(!n)throw new r(e,`${e} key is required`)};return i(),{name:e,async translate(a,e){i();const{to:t,from:o}=e;Array.isArray(a)||(a=[a]);const s=await fetch("https://api-free.deepl.com/v2/translate",{method:"POST",headers:{"Content-Type":"application/json; charset=UTF-8",Authorization:`DeepL-Auth-Key ${n}`,Accept:"*/*",Host:"api-free.deepl.com",Connection:"keep-alive"},body:JSON.stringify({text:a,source_lang:"auto"===o?void 0:o,target_lang:t})});if(!s.ok)throw await h(this.name,s);const l=await s.json();if(l.error)throw new r(this.name,`Translate fail ! code: ${l.error.code}, message: ${l.error.message}`);const u=l.translations;if(!u||0===u.length)throw new r(this.name,"Translate fail ! translate's result is null or empty");return u.map((a=>a.text))}}},openai:function(a){const{apiKey:n,model:e,maxTokens:i=2e3,outputLog:t=!1}=a,s="openai",l=()=>{if(!n)throw new r(s,`${s} apiKey is required`);if(!o.includes(e))throw new r(s,`${s} model=${e} is invalid`)};return l(),{name:s,async translate(a,o){l();const{from:s,to:u}=o;Array.isArray(a)||(a=[a]);const c={role:"user",content:`\n 满足以下4点翻译要求:\n 1.将每段文本从${s}翻译为${u}\n 2.文本内容以换行符\n进行段落分割,并以段落分割顺序进行翻译\n 3.仅翻译分割出的段落,其他任何不相关的内容都移除,比如:段落前后的空格、所有标点符号\n\n 4.仅返回要翻译的文本内容,不要返回任何其他内容\n\n 如何提取翻译文本,满足以下2点要求:\n 1.翻译从-$s$-字符标记开始至-$e$-字符标记结束,提取-$s$-至-$e$-之间的内容\n 2.-$s$-和-$e$-这2个标记不要返回,只是用来标记翻译的起始和结束位置\n\n -$s$-\n ${a.join("\n")} \n -$e$-\n `},g=await fetch("https://api.openai.com/v1/chat/completions",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`},body:JSON.stringify({model:e,messages:[{role:"system",content:"You are a professional translator"},c],max_tokens:i,temperature:0})});if(!g.ok)throw await h(this.name,g);const d=await g.json();if(d.error)throw new r(this.name,`Translate fail! message: ${d.error.message}`);if(!d||!d.choices||0===d.choices.length||!d.choices[0]?.message?.content)throw new r(this.name,"Translate fail ! translate's result is null or empty");const m=d.choices[0].message.content,f=["-$s$-","-$e$-"],p=m.trim().split("\n").map((a=>a.trim())).filter(Boolean).filter((a=>!f.includes(a)));return t&&(v.info("prompt:",JSON.stringify(c,null,2)),v.info("translations:",JSON.stringify(p,null,2))),p}}}};var T={Afrikaans:"af",Albanian:"sq",Amharic:"am",Arabic:"ar",Armenian:"hy",Assamese:"as",Azerbaijani:"az",Bashkir:"ba",Basque:"eu",Bengali:"bn",Bhojpuri:"bho",Bosnian:"bs",Bulgarian:"bg",Burmese:"my","Cantonese (Traditional)":"yue",Catalan:"ca",Chhattisgarhi:"hne",Chinese:"zh-Hans","Chinese (Literary)":"lzh","Chinese (Traditional)":"zh-Hant",Croatian:"hr",Czech:"cs",Danish:"da",Dari:"prs",Dhivehi:"dv",Dogri:"doi",Double:"lug",Dutch:"nl",English:"en",Estonian:"et","FYRO Macedonian":"mk",Faroese:"fo",Fijian:"fj",Filipino:"fil",Finnish:"fi",French:"fr","French (Canada)":"fr-CA",Galician:"gl",Georgian:"ka",German:"de",Greek:"el",Gujarati:"gu","Haitian Creole":"ht",Hausa:"ha",Hebrew:"he",Hindi:"hi",Hmong:"mww",Hungarian:"hu",Icelandic:"is",Igbo:"ig",Indonesian:"id",Inuinnaqtun:"ikt",Inuktitut:"iu","Inuktitut (Latin)":"iu-Latn",Irish:"ga",Italian:"it",Japanese:"ja",Kannada:"kn",Kashmiri:"ks",Kazakh:"kk",Khmer:"km",Kikwanda:"rw","Klingon (Latin)":"tlh-Latn","Klingon (pIqaD)":"tlh-Piqd",Konkani:"gom",Korean:"ko","Kurdish (Medium)":"ku","Kurdish (North)":"kmr",Kyrgyz:"ky",Lao:"lo",Latvian:"lv",Lingala:"ln",Lithuanian:"lt","Lower Sorbian language":"dsb",Maithili:"mai",Malagasian:"mg",Malay:"ms",Malayalam:"ml",Maltese:"mt",Manipuri:"mni",Marathi:"mr","Mongolian (Cyrillic)":"mn-Cyrl","Mongolian (Traditional)":"mn-Mong","Māori":"mi",Nepali:"ne","Norwegian Bokmål":"nb",Nyanja:"nya",Oriya:"or",Pashto:"ps",Persian:"fa",Polish:"pl","Portugal (Brazil)":"pt","Portugal (Portugal)":"pt-PT",Punjabi:"pa","Querétaro Ottomi":"otq",Romanian:"ro",Rounds:"run",Russian:"ru",Samoan:"sm","Serbia (Latin)":"sr-Latn","Serbian (Cyrillic)":"sr-Cyrl",Sesotho:"st","Sesotho at Leboa":"nso",Setswana:"tn",Shona:"sn",Sindhi:"sd",Sinhalese:"si",Slovak:"sk",Slovenian:"sl",Somali:"so",Spanish:"es",Swahili:"sw",Swedish:"sv",Tahiti:"ty",Tamil:"ta",Tatar:"tt",Telugu:"te",Thai:"th",Tibetan:"bo",Tigrinya:"ti",Tongan:"to",Turkish:"tr",Turkmen:"tk",Uighur:"ug",Ukrainian:"uk","Upper Sorbian":"hsb",Urdu:"ur",Uzbek:"uz",Vietnamese:"vi",Welsh:"cy",Will:"brx",Xhosa:"xh",Yoruba:"yo","Yucatec Maya":"yua",Zulu:"zu"},C={Abkhazian:"ab",Acehnese:"ace","Acholi language":"ach",Afar:"aa",Afrikaans:"af",Albanian:"sq",Alur:"alz",Amharic:"am",Arabic:"ar",Armenian:"hy",Assamese:"as",Avar:"av",Awadhi:"awa",Aymara:"ay",Azerbaijani:"az",Badawi:"bew",Balinese:"ban",Balochi:"bal",Bambara:"bm",Bangasinan:"pag",Bashkir:"ba",Basque:"eu",Batakkalo:"btx","Bataksi Marungon":"bts",Bataktoba:"bbc",Baure:"bci",Belarusian:"be",Bengali:"bn",Bhojpuri:"bho",Bikol:"bik",Bosnian:"bs",Breton:"br",Bulgarian:"bg",Burmese:"my","Buryat language":"bua",Cantonese:"yue",Casey:"kha",Catalan:"ca",Cebuano:"ceb","Chamorro language":"ch",Chechen:"ce",Chevi:"ak",Chicheva:"ny",Chiga:"cgg",Chinese:"zh-CN","Chinese (Traditional)":"zh-TW",Chuk:"chk",Chuvash:"cv",Conga:"ts",Corsican:"co","Crimean Tatar":"crh",Croatian:"hr",Czech:"cs",Danish:"da",Dari:"fa-AF",Dhivehi:"dv",Dinka:"din",Dogra:"doi",Dutch:"nl",Dyula:"dyu",Dzongka:"dz",Elocano:"ilo",English:"en",Esperanto:"eo",Estonian:"et",Ewe:"ee","FYRO Macedonian":"mk",Faroese:"fo","Feng language":"fon",Fijian:"fj",Filipino:"tl",Finnish:"fi",French:"fr",Frisian:"fy",Friulian:"fur",Fulani:"ff",Ga:"gaa",Galician:"gl",Georgian:"ka",German:"de",Gongen:"gom",Gorkbojok:"trp","Grace and Taoism":"ndc-ZW",Greek:"el",Greenlandic:"kl",Guarani:"gn",Gujarati:"gu","Haitian Creole":"ht",Hakachin:"cnh",Hausa:"ha",Hawaiian:"haw",Hebrew:"iw",Heligaignon:"hil",Hindi:"hi",Hmong:"hmn",Hungarian:"hu","Hunsrück":"hrx",Iban:"iba",Icelandic:"is",Igbo:"ig",Indonesian:"id",Irish:"ga",Italian:"it","Jamaica vernacular":"jam",Japanese:"ja",Javanese:"jw","Jingpo language":"kac",Kannada:"kn",Kanuri:"kr",Kazakh:"kk",Kekchi:"kek",Khmer:"km",Kikwanda:"rw",Kithuba:"ktu","Komi language":"kv",Kongo:"kg",Korean:"ko","Kurdish (Kurmanji)":"ku","Kurdish (Solani)":"ckb",Kyrgyz:"ky",Lao:"lo",Latin:"la",Latvian:"lv",Ligurian:"lij",Limburg:"li",Lingala:"ln",Lithuanian:"lt",Lombard:"lmo",Luganda:"lg",Luo:"luo",Luxembourg:"lb",Madura:"mad",Maithili:"mai",Makassar:"mak",Malagasian:"mg",Malay:"ms","Malay, Jawi":"ms-Arab",Malayalam:"ml",Maltese:"mt","Malwadi language":"mwr",Mamu:"mam",Manx:"gv",Marathi:"mr",Marshallese:"mh","Mauritius Scrio whispers":"mfe","Meitei (Manipur)":"mni-Mtei",Minan:"min",Mizo:"lus",Mongolian:"mn","Māori":"mi","Nahuatl (Eastern Vastka)":"nhe","Ndebele (Southern)":"nr",Ndombe:"dov","Nepal Language (Newar)":"new",Nepali:"ne","Nko alphabet (West African written script)":"bm-Nkoo","Northern Sotho":"nso",Norwegian:"no",Nuer:"nus",Occitan:"oc",Oriya:"or","Oromo language":"om",Ossetian:"os",Pampangja:"pam",Papiamento:"pap",Pashto:"ps",Pemba:"bem",Persian:"fa",Polish:"pl","Portugal (Brazil)":"pt","Portugal (Portugal)":"pt-PT","Punjabi (Gurumuchi)":"pa","Punjabi (Shamuki)":"pa-Arab",Quechua:"qu",Ratgale:"ltg",Romani:"rom",Romanian:"ro",Rondi:"rn",Russian:"ru",Sabatec:"zap",Sakha:"sah",Samoan:"sm",Sango:"sg",Sanskrit:"sa",Santali:"sat-Latn","Schuna language":"sn","Scottish Gaelic":"gd",Serbian:"sr","Seychellois Creole":"crs",Shan:"shn",Sicilian:"scn","Sierra Leonean Creole":"kri",Silesian:"szl",Sindhi:"sd",Sinhalese:"si",Slovak:"sk",Slovenian:"sl",Somali:"so","South Sotho":"st",Spanish:"es","Steppe Mali":"chm",Sundanese:"su","Susu language":"sus",Swahili:"sw",Swat:"ss",Swedish:"sv","Sámi (North)":"se",Tahiti:"ty",Tajik:"tg",Tamaset:"ber-Latn","Tamazight (Tifinaven)":"ber",Tamil:"ta",Tatar:"tt",Telugu:"te",Tetum:"tet",Thai:"th",Tibetan:"bo","Tiff language":"tiv",Tigrinya:"ti","Tok Pisin":"tpi",Tongan:"to",Tswana:"tn",Tulu:"tcy","Tumbuka language":"tum",Turkish:"tr",Turkmen:"tk",Tuvan:"tyv",Udmurtic:"udm",Uighur:"ug",Ukrainian:"uk",Urdu:"ur",Uzbek:"uz",Venda:"ve",Venetian:"vec",Vietnamese:"vi","Wari language":"war",Welsh:"cy","Wolof language":"wo",Xhosa:"xh",Yiddish:"yi",Yoruba:"yo","Yucatan Maya":"yua",Zulu:"zu"},A={Achinese:"ach",Afrikaans:"afr",Akan:"aka",Albanian:"alb","Algerian Arabic":"arq",Amharic:"amh","Ancient Greek":"gra",Arabic:"ara",Aragonese:"arg",Armenian:"arm",Assamese:"asm",Asturian:"ast",Aymara:"aym",Azerbaijani:"aze",Baluchi:"bal",BasaSunda:"sun",Bashkir:"bak",Basque:"baq",Belarusian:"bel",Bemba:"bem",Bengali:"ben","Berber languages":"ber",Bhojpuri:"bho",Bislama:"bis",Blin:"bli","Bokmål":"nob",Bosnian:"bos","Brazilian Portuguese":"pot",Breton:"bre",Bulgarian:"bul",Buriat:"bui",Burmese:"bur","Canadian French":"frn",Cantonese:"yue",Catalan:"cat",Cebuano:"ceb",Chechen:"che",Cherokee:"chr",Chichewa:"nya",Chinese:"zh",Chuvash:"chv","Classical Chinese":"wyw",Cornish:"cor",Corsican:"cos",Creek:"cre","Crimean Tatar":"cri",Croatian:"hrv",Czech:"cs",Danish:"dan",Divehi:"div",Dutch:"nl",Dzongkha:"dzo",English:"en",Esperanto:"epo",Estonian:"est",Faroese:"fao",Filipino:"fil",Finnish:"fin",French:"fra",Friulian:"fri",Fulani:"ful",Gaelic:"gla",Galician:"glg",Georgian:"geo",German:"de",Greek:"el",Guarani:"grn",Gujarati:"guj","Haitian Creole":"ht","Hakha Chin":"hak",Hausa:"hau",Hawaiian:"haw",Hebrew:"heb",Hiligaynon:"hil",Hindi:"hi",Hmong:"hmn",Hungarian:"hu",Hupa:"hup",Icelandic:"ice",Ido:"ido",Igbo:"ibo",Indonesian:"id",Ingush:"ing","Interlingua ":"ina",Inuktitut:"iku",Irish:"gle",Italian:"it",Japanese:"jp",Javanese:"jav",Kabyle:"kab",Kalaallisut:"kal",Kalmyk:"kam",Kannada:"kan",Kanuri:"kau",Kashmiri:"kas",Kashubian:"kah",Khmer:"hkm",Kinyarwanda:"kin",Klingon:"kli",Kongo:"kon",Konkani:"kok",Korean:"kor",Kurdish:"kur",Kyrgyz:"kir",Lao:"lao",Latgalian:"lag",Latin:"lat",Latvian:"lav",Limburgish:"lim",Lingala:"lin",Lithuanian:"lit",Lojban:"loj","Low German":"log","Lower Sorbian":"los",Luganda:"lug",Luxembourgish:"ltz",Macedonian:"mac",Maithili:"mai",Malagasy:"mg",Malay:"may",Malayalam:"mal",Maltese:"mlt",Manx:"glv",Maori:"mao",Marathi:"mar",Marshallese:"mah","Mauritian Creole":"mau","Middle French":"frm",Mongolian:"moc",Montenegrin:"mot","N'Ko":"nqo",Neapolitan:"nea",Nepali:"nep","Northern Sami":"sme","Northern Sotho":"ped",Norwegian:"nor",Nynorsk:"nno",Occitan:"oci",Ojibwa:"oji","Old English":"eno",Oriya:"ori",Oromo:"orm",Ossetian:"oss",Pampanga:"pam",Papiamento:"pap",Pashto:"pus",Persian:"per",Polish:"pl",Portuguese:"pt",Punjabi:"pan",Quechua:"que",Romanian:"rom",Romansh:"roh",Romany:"ro",Russian:"ru",Rusyn:"ruy",Samoan:"sm",Sanskrit:"san",Sardinian:"srd",Scots:"sco","Serb(Cyrillic)":"src",Serbian:"srp","Serbo-Croatian":"sec",Shan:"sha",Shona:"sna",Silesian:"sil",Sindhi:"snd",Sinhala:"sin",Slovak:"sk",Slovenian:"slo",Somali:"som","Songhai languages":"sol","Southern Ndebele":"nbl","Southern Sotho":"sot",Spanish:"spa",Swahili:"swa",Swedish:"swe",Syriac:"syr",Tagalog:"tgl",Tajik:"tgk",Tamil:"tam",Tatar:"tat",Telugu:"tel",Tetum:"tet",Thai:"th",Tibetan:"tib",Tigrinya:"tir","Traditional Chinese":"cht",Tsonga:"tso","Tunisian Arabic":"tua",Turkish:"tr",Turkmen:"tuk",Twi:"twi",Ukrainian:"ukr","Upper Sorbian":"ups",Urdu:"urd",Uyghur:"uig",Venda:"ven",Vietnamese:"vie",Walloon:"wln",Welsh:"wel","Western Frisian":"fry",Wolof:"wol",Xhosa:"xho",Yiddish:"yid",Yoruba:"yor",Zaza:"zaz",Zulu:"zul"},B={Afrikaans:"af",Albanian:"sq",Amharic:"am",Arabic:"ar",Armenian:"hy",Azerbaijani:"az",Bengali:"bn",Bosnian:"bs",Bulgarian:"bg",Catalan:"ca","Chinese (Simplified)":"zh","Chinese (Traditional)":"zh-TW",Croatian:"hr",Czech:"cs",Danish:"da",Dari:"fa-AF",Dutch:"nl",English:"en",Estonian:"et","Farsi (Persian)":"fa","Filipino, Tagalog":"tl",Finnish:"fi",French:"fr","French (Canada)":"fr-CA",Georgian:"ka",German:"de",Greek:"el",Gujarati:"gu","Haitian Creole":"ht",Hausa:"ha",Hebrew:"he",Hindi:"hi",Hungarian:"hu",Icelandic:"is",Indonesian:"id",Irish:"ga",Italian:"it",Japanese:"ja",Kannada:"kn",Kazakh:"kk",Korean:"ko",Latvian:"lv",Lithuanian:"lt",Macedonian:"mk",Malay:"ms",Malayalam:"ml",Maltese:"mt",Marathi:"mr",Mongolian:"mn","Norwegian (Bokmål)":"no",Pashto:"ps",Polish:"pl","Portuguese (Brazil)":"pt","Portuguese (Portugal)":"pt-PT",Punjabi:"pa",Romanian:"ro",Russian:"ru",Serbian:"sr",Sinhala:"si",Slovak:"sk",Slovenian:"sl",Somali:"so",Spanish:"es","Spanish (Mexico)":"es-MX",Swahili:"sw",Swedish:"sv",Tamil:"ta",Telugu:"te",Thai:"th",Turkish:"tr",Ukrainian:"uk",Urdu:"ur",Uzbek:"uz",Vietnamese:"vi",Welsh:"cy"};const M={azure:T,google:C,baidu:A,deepl:{English:"en",Bulgarian:"bg",Chinese:"zh",Croatian:"hr",Czech:"cs",Danish:"da",Dutch:"nl",Estonian:"et",Finnish:"fi",French:"fr",German:"de",Greek:"el",Hungarian:"hu",Icelandic:"is",Indonesian:"id",Irish:"ga",Italian:"it",Japanese:"ja",Korean:"ko",Latvian:"lv",Lithuanian:"lt",Maltese:"mt",Norwegian:"nb",Polish:"pl",Portuguese:"pt",Romanian:"ro",Russian:"ru",Slovak:"sk",Slovenian:"sl",Spanish:"es",Swedish:"sv",Turkish:"tr",Ukrainian:"uk"},amazon:B,openai:C};const $={azure:T,google:C,baidu:A,deepl:{"American English":"en-US","Brazilian Portuguese":"pt-BR","British English":"en-GB",Bulgarian:"bg",Chinese:"zh",Croatian:"hr",Czech:"cs",Danish:"da",Dutch:"nl",Estonian:"et","European Portuguese":"pt-PT",Finnish:"fi",French:"fr",German:"de",Greek:"el",Hungarian:"hu",Icelandic:"is",Indonesian:"id",Irish:"ga",Italian:"it",Japanese:"ja",Korean:"ko",Latvian:"lv",Lithuanian:"lt",Maltese:"mt",Norwegian:"nb",Polish:"pl",Portuguese:"pt",Romanian:"ro",Russian:"ru",Slovak:"sk",Slovenian:"sl",Spanish:"es",Swedish:"sv",Turkish:"tr",Ukrainian:"uk"},amazon:B,openai:C};function z(a){return{from:M[a],to:$[a]}}const x="Translate",j=1e3,P=l(),_=new s;class K{engines;cache_time;concurrencyMax;concurrencyDelay;constructor(a=6e4,n=4,e=20){this.engines=new Map,this.cache_time=a,this.concurrencyMax=n,this.concurrencyDelay=e}use(a){this.addEngine(a)}addEngine(a){this.engines.has(a.name)?P.warn("Engine already exists"):this.engines.set(a.name,a)}removeEngine(a){if(!a||!this.engines.has(a))return P.warn("Engine name is required or not found"),!1;this.engines.delete(a)}async translate(a,n){const{engine:e="google",cache_time:i=6e4}=n;let{from:t="auto",to:o}=n;if(t=n.from=function(a,n){if("auto"===a)return"auto";const e=M[n];if(!e)throw new Error(`Engine ${n} not found`);if(Object.keys(M[n]).includes(a))return e[a];if(Object.values(M[n]).includes(a))return a;throw new Error(`Invalid from language ${n} ${a}`)}(t,e),o=n.to=function(a,n){const e=$[n];if(!e)throw new Error(`Engine ${n} not found`);if(Object.keys($[n]).includes(a))return e[a];if(Object.values($[n]).includes(a))return a;throw new Error(`Invalid to language ${n} ${a}`)}(o,e),!this.engines.has(e))throw new r(x,`Engine ${e} not found`);const s=this.engines.get(e);if(!s)throw new r(x,`Engine ${e} not found`);if(!t)throw new r(x,`Invalid origin language ${t}`);if(!o)throw new r(x,`Invalid target language ${o}`);const l=`${t}:${o}:${e}:${a}`;return _.get(l)?Promise.resolve(_.get(l)?.value):this.concurrencyHandle(s,a,n).then((a=>(_.set(l,a,i??this.cache_time),a))).catch((n=>{throw P.error(`${x} Failed: from=${t},to=${o},engine=${e},translate text: \n${u()}\n${a}\n${u()}\n error: ${c(n)}`),n instanceof r?n:new r(x,c(n))}))}async concurrencyHandle(a,n,e){const{max_character_num:i=j}=e,t=i>0?i:j;if(Array.isArray(n)){if(function(a,n){return!(!a||a.length<=0)&&a.reduce(((a,n)=>a+n.length),0)>n}(n,i))throw new r(x,"String arrays do not support automatic character splitting, and the total number of characters in a string array exceeds the limit on the number of translated characters.");return a.translate(n,e)}return this.concurrencyTranslate(a,n,e,t)}async concurrencyTranslate(a,n,e,i){const t=function(a,n){const e=[/\n\n+/,/[.。!??!\n]/,/[;;]/,/[,,]/g,/\s/],i=[];for(;a.length>0;){const t=a.slice(0,n);if(a.length<=n){i.push(a);break}let r=-1;for(const a of e){const e=new RegExp(a.source+"(?=[^]*)","g");let i,o;for(;null!==(i=e.exec(t));)i.index===e.lastIndex&&e.lastIndex++,o=null!=o?i.index>o.index?i:o:i;if(void 0!==o?.index&&o.index>=.7*n){r=o.index;break}}-1===r&&(r=t.lastIndexOf(" ",n),r=-1===r?n:r),0==r?a=a.slice(r+1):(i.push(a.slice(0,r)),a=a.slice(r))}return i}(n,i).map(((a,n)=>({content:a,index:n}))),r=[];let o=0;const s=this.concurrencyDelay,l=this.concurrencyMax;return new Promise(((n,i)=>(function u(){for(;o<l&&t.length>0;){const{content:l,index:c}=t.shift();o++,a.translate(l,e).then((a=>{r.push({translated:a,index:c})})).catch((a=>i(a))).finally((async()=>{if(o--,0===o&&t.length<=0){r.sort(((a,n)=>a.index-n.index));const a=r.reduce(((a,n)=>a.concat(n.translated)),[]);return n([a.join("")])}var a;await(a=s,new Promise((n=>setTimeout(n,a)))),u()}))}}(),r)))}}const I=new K;var L={engines:S,translator:I,Translator:K,Cache:s,getLanguage:z};a.Cache=s,a.OPEN_AI_MODELS=o,a.TranslationError=r,a.Translator=K,a.default=L,a.engines=S,a.getLanguage=z,a.translator=I,Object.defineProperty(a,"__esModule",{value:!0})}));
|
|
1
|
+
!function(a,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("fs/promises"),require("fs"),require("path"),require("@aws-sdk/client-translate"),require("crypto")):"function"==typeof define&&define.amd?define(["exports","fs/promises","fs","path","@aws-sdk/client-translate","crypto"],n):n((a="undefined"!=typeof globalThis?globalThis:a||self).translate={},null,null,null,a.clientTranslate,a.crypto)}(this,function(a,n,e,t,i,r){"use strict";class o extends Error{region;constructor(a,n){super(n),this.region=a,Error.captureStackTrace(this,this.constructor)}}const s=["o1-preview","o1-preview-2024-09-12","o1-mini-2024-09-12","o1-mini","dall-e-2","gpt-3.5-turbo","gpt-3.5-turbo-0125","babbage-002","davinci-002","dall-e-3","text-embedding-3-large","gpt-3.5-turbo-16k","tts-1-hd-1106","text-embedding-ada-002","text-embedding-3-small","tts-1-hd","whisper-1","gpt-3.5-turbo-1106","gpt-3.5-turbo-instruct","gpt-4o-mini-2024-07-18","gpt-4o-mini","tts-1","tts-1-1106","gpt-3.5-turbo-instruct-0914"];class l{cache;constructor(){this.cache=new Map}set(a,n,e){if(e<=0)throw new Error("time must be greater than 0");const t=this.cache.get(a);t&&clearTimeout(t.timeout);const i={value:n,expire:Date.now()+e};isNaN(i.expire)||(i.timeout=setTimeout(()=>this.del(a),e)),this.cache.set(a,i)}get(a){return this.cache.get(a)}delete(a){let n=!0;const e=this.cache.get(a);return e?!isNaN(e.expire)&&e.expire<Date.now()?n=!1:clearTimeout(e.timeout):n=!1,n&&this.del(a),n}del(a){this.cache.delete(a)}clear(){for(const[,a]of this.cache.entries())clearTimeout(a.timeout);this.cache.clear()}}function u(a=""){return{log(...a){this.info(...a)},info(...n){console.log(`[translate ${a}]`,...n)},error(...n){console.error(`[translate ${a}]`,...n)},warn(...n){console.warn(`[translate ${a}]`,...n)}}}function c(){return"-".repeat(20)}function h(a,n="Translate fail ! "){return a instanceof TypeError?n+(a.cause?.message??a.message):n+a.message}async function g(a,n){let e=null;try{e=await n.json()}catch(a){}return new o(a,`Translate fail ! ${n.status}: ${n.statusText} ${e?.message??""}`)}var d="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function m(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}function f(a){if(a.__esModule)return a;var n=a.default;if("function"==typeof n){var e=function a(){return this instanceof a?Reflect.construct(n,arguments,this.constructor):n.apply(this,arguments)};e.prototype=n.prototype}else e={};return Object.defineProperty(e,"__esModule",{value:!0}),Object.keys(a).forEach(function(n){var t=Object.getOwnPropertyDescriptor(a,n);Object.defineProperty(e,n,t.get?t:{enumerable:!0,get:function(){return a[n]}})}),e}var p={exports:{}};var y,w={exports:{}},b=f(Object.freeze({__proto__:null,default:{}}));function k(){return y||(y=1,function(a){var n;a.exports=(n=n||function(a,n){var e;if("undefined"!=typeof window&&window.crypto&&(e=window.crypto),"undefined"!=typeof self&&self.crypto&&(e=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(e=globalThis.crypto),!e&&"undefined"!=typeof window&&window.msCrypto&&(e=window.msCrypto),!e&&void 0!==d&&d.crypto&&(e=d.crypto),!e)try{e=b}catch(a){}var t=function(){if(e){if("function"==typeof e.getRandomValues)try{return e.getRandomValues(new Uint32Array(1))[0]}catch(a){}if("function"==typeof e.randomBytes)try{return e.randomBytes(4).readInt32LE()}catch(a){}}throw new Error("Native crypto module could not be used to get secure random number.")},i=Object.create||function(){function a(){}return function(n){var e;return a.prototype=n,e=new a,a.prototype=null,e}}(),r={},o=r.lib={},s=o.Base={extend:function(a){var n=i(this);return a&&n.mixIn(a),n.hasOwnProperty("init")&&this.init!==n.init||(n.init=function(){n.$super.init.apply(this,arguments)}),n.init.prototype=n,n.$super=this,n},create:function(){var a=this.extend();return a.init.apply(a,arguments),a},init:function(){},mixIn:function(a){for(var n in a)a.hasOwnProperty(n)&&(this[n]=a[n]);a.hasOwnProperty("toString")&&(this.toString=a.toString)},clone:function(){return this.init.prototype.extend(this)}},l=o.WordArray=s.extend({init:function(a,e){a=this.words=a||[],this.sigBytes=e!=n?e:4*a.length},toString:function(a){return(a||c).stringify(this)},concat:function(a){var n=this.words,e=a.words,t=this.sigBytes,i=a.sigBytes;if(this.clamp(),t%4)for(var r=0;r<i;r++){var o=e[r>>>2]>>>24-r%4*8&255;n[t+r>>>2]|=o<<24-(t+r)%4*8}else for(var s=0;s<i;s+=4)n[t+s>>>2]=e[s>>>2];return this.sigBytes+=i,this},clamp:function(){var n=this.words,e=this.sigBytes;n[e>>>2]&=4294967295<<32-e%4*8,n.length=a.ceil(e/4)},clone:function(){var a=s.clone.call(this);return a.words=this.words.slice(0),a},random:function(a){for(var n=[],e=0;e<a;e+=4)n.push(t());return new l.init(n,a)}}),u=r.enc={},c=u.Hex={stringify:function(a){for(var n=a.words,e=a.sigBytes,t=[],i=0;i<e;i++){var r=n[i>>>2]>>>24-i%4*8&255;t.push((r>>>4).toString(16)),t.push((15&r).toString(16))}return t.join("")},parse:function(a){for(var n=a.length,e=[],t=0;t<n;t+=2)e[t>>>3]|=parseInt(a.substr(t,2),16)<<24-t%8*4;return new l.init(e,n/2)}},h=u.Latin1={stringify:function(a){for(var n=a.words,e=a.sigBytes,t=[],i=0;i<e;i++){var r=n[i>>>2]>>>24-i%4*8&255;t.push(String.fromCharCode(r))}return t.join("")},parse:function(a){for(var n=a.length,e=[],t=0;t<n;t++)e[t>>>2]|=(255&a.charCodeAt(t))<<24-t%4*8;return new l.init(e,n)}},g=u.Utf8={stringify:function(a){try{return decodeURIComponent(escape(h.stringify(a)))}catch(a){throw new Error("Malformed UTF-8 data")}},parse:function(a){return h.parse(unescape(encodeURIComponent(a)))}},m=o.BufferedBlockAlgorithm=s.extend({reset:function(){this._data=new l.init,this._nDataBytes=0},_append:function(a){"string"==typeof a&&(a=g.parse(a)),this._data.concat(a),this._nDataBytes+=a.sigBytes},_process:function(n){var e,t=this._data,i=t.words,r=t.sigBytes,o=this.blockSize,s=r/(4*o),u=(s=n?a.ceil(s):a.max((0|s)-this._minBufferSize,0))*o,c=a.min(4*u,r);if(u){for(var h=0;h<u;h+=o)this._doProcessBlock(i,h);e=i.splice(0,u),t.sigBytes-=c}return new l.init(e,c)},clone:function(){var a=s.clone.call(this);return a._data=this._data.clone(),a},_minBufferSize:0});o.Hasher=m.extend({cfg:s.extend(),init:function(a){this.cfg=this.cfg.extend(a),this.reset()},reset:function(){m.reset.call(this),this._doReset()},update:function(a){return this._append(a),this._process(),this},finalize:function(a){return a&&this._append(a),this._doFinalize()},blockSize:16,_createHelper:function(a){return function(n,e){return new a.init(e).finalize(n)}},_createHmacHelper:function(a){return function(n,e){return new f.HMAC.init(a,e).finalize(n)}}});var f=r.algo={};return r}(Math),n)}(w)),w.exports}!function(a){var n;a.exports=(n=k(),function(a){var e=n,t=e.lib,i=t.WordArray,r=t.Hasher,o=e.algo,s=[];!function(){for(var n=0;n<64;n++)s[n]=4294967296*a.abs(a.sin(n+1))|0}();var l=o.MD5=r.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(a,n){for(var e=0;e<16;e++){var t=n+e,i=a[t];a[t]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var r=this._hash.words,o=a[n+0],l=a[n+1],d=a[n+2],m=a[n+3],f=a[n+4],p=a[n+5],y=a[n+6],w=a[n+7],b=a[n+8],k=a[n+9],T=a[n+10],v=a[n+11],S=a[n+12],C=a[n+13],$=a[n+14],A=a[n+15],M=r[0],B=r[1],z=r[2],x=r[3];M=u(M,B,z,x,o,7,s[0]),x=u(x,M,B,z,l,12,s[1]),z=u(z,x,M,B,d,17,s[2]),B=u(B,z,x,M,m,22,s[3]),M=u(M,B,z,x,f,7,s[4]),x=u(x,M,B,z,p,12,s[5]),z=u(z,x,M,B,y,17,s[6]),B=u(B,z,x,M,w,22,s[7]),M=u(M,B,z,x,b,7,s[8]),x=u(x,M,B,z,k,12,s[9]),z=u(z,x,M,B,T,17,s[10]),B=u(B,z,x,M,v,22,s[11]),M=u(M,B,z,x,S,7,s[12]),x=u(x,M,B,z,C,12,s[13]),z=u(z,x,M,B,$,17,s[14]),M=c(M,B=u(B,z,x,M,A,22,s[15]),z,x,l,5,s[16]),x=c(x,M,B,z,y,9,s[17]),z=c(z,x,M,B,v,14,s[18]),B=c(B,z,x,M,o,20,s[19]),M=c(M,B,z,x,p,5,s[20]),x=c(x,M,B,z,T,9,s[21]),z=c(z,x,M,B,A,14,s[22]),B=c(B,z,x,M,f,20,s[23]),M=c(M,B,z,x,k,5,s[24]),x=c(x,M,B,z,$,9,s[25]),z=c(z,x,M,B,m,14,s[26]),B=c(B,z,x,M,b,20,s[27]),M=c(M,B,z,x,C,5,s[28]),x=c(x,M,B,z,d,9,s[29]),z=c(z,x,M,B,w,14,s[30]),M=h(M,B=c(B,z,x,M,S,20,s[31]),z,x,p,4,s[32]),x=h(x,M,B,z,b,11,s[33]),z=h(z,x,M,B,v,16,s[34]),B=h(B,z,x,M,$,23,s[35]),M=h(M,B,z,x,l,4,s[36]),x=h(x,M,B,z,f,11,s[37]),z=h(z,x,M,B,w,16,s[38]),B=h(B,z,x,M,T,23,s[39]),M=h(M,B,z,x,C,4,s[40]),x=h(x,M,B,z,o,11,s[41]),z=h(z,x,M,B,m,16,s[42]),B=h(B,z,x,M,y,23,s[43]),M=h(M,B,z,x,k,4,s[44]),x=h(x,M,B,z,S,11,s[45]),z=h(z,x,M,B,A,16,s[46]),M=g(M,B=h(B,z,x,M,d,23,s[47]),z,x,o,6,s[48]),x=g(x,M,B,z,w,10,s[49]),z=g(z,x,M,B,$,15,s[50]),B=g(B,z,x,M,p,21,s[51]),M=g(M,B,z,x,S,6,s[52]),x=g(x,M,B,z,m,10,s[53]),z=g(z,x,M,B,T,15,s[54]),B=g(B,z,x,M,l,21,s[55]),M=g(M,B,z,x,b,6,s[56]),x=g(x,M,B,z,A,10,s[57]),z=g(z,x,M,B,y,15,s[58]),B=g(B,z,x,M,C,21,s[59]),M=g(M,B,z,x,f,6,s[60]),x=g(x,M,B,z,v,10,s[61]),z=g(z,x,M,B,d,15,s[62]),B=g(B,z,x,M,k,21,s[63]),r[0]=r[0]+M|0,r[1]=r[1]+B|0,r[2]=r[2]+z|0,r[3]=r[3]+x|0},_doFinalize:function(){var n=this._data,e=n.words,t=8*this._nDataBytes,i=8*n.sigBytes;e[i>>>5]|=128<<24-i%32;var r=a.floor(t/4294967296),o=t;e[15+(i+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),e[14+(i+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),n.sigBytes=4*(e.length+1),this._process();for(var s=this._hash,l=s.words,u=0;u<4;u++){var c=l[u];l[u]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8)}return s},clone:function(){var a=r.clone.call(this);return a._hash=this._hash.clone(),a}});function u(a,n,e,t,i,r,o){var s=a+(n&e|~n&t)+i+o;return(s<<r|s>>>32-r)+n}function c(a,n,e,t,i,r,o){var s=a+(n&t|e&~t)+i+o;return(s<<r|s>>>32-r)+n}function h(a,n,e,t,i,r,o){var s=a+(n^e^t)+i+o;return(s<<r|s>>>32-r)+n}function g(a,n,e,t,i,r,o){var s=a+(e^(n|~t))+i+o;return(s<<r|s>>>32-r)+n}e.MD5=r._createHelper(l),e.HmacMD5=r._createHmacHelper(l)}(Math),n.MD5)}(p);var T=m(p.exports);const v=u("openai");function S(a,n="",e){return e?r.createHmac("sha256",n).update(a).digest(e):r.createHmac("sha256",n).update(a).digest()}function C(a,n="hex"){return r.createHash("sha256").update(a).digest(n)}function $({secretId:a,secretKey:n,service:e,host:t,payload:i,httpRequestMethod:r,action:o,apiVersion:s,region:l}){const u=Math.floor(Date.now()/1e3),c=function(a){const n=new Date(1e3*a);return`${n.getUTCFullYear()}-${("0"+(n.getUTCMonth()+1)).slice(-2)}-${("0"+n.getUTCDate()).slice(-2)}`}(u),h="content-type:application/json; charset=utf-8\nhost:"+t+"\n",g="content-type;host",d=C(i),m="TC3-HMAC-SHA256",f=`${c}/${e}/tc3_request`,p=[m,u,f,C([r,"/","",h,g,d].join("\n"))].join("\n"),y=S(c,"TC3"+n),w=S(e,y),b=S("tc3_request",w),k={Authorization:`${m} Credential=${a}/${f}, SignedHeaders=${g}, Signature=${S(p,b,"hex")}`,"Content-Type":"application/json; charset=utf-8",Host:t,"X-TC-Action":o,"X-TC-Timestamp":u,"X-TC-Version":s};return l&&(k["X-TC-Region"]=l),k}const A={google:function(a){return{name:"google",async translate(a,n){const{from:e="auto",to:t}=n;Array.isArray(a)||(a=[a]);const i=a.join("\n"),r=`https://translate.googleapis.com/translate_a/single?client=gtx&sl=${e}&tl=${t}&dt=t&q=${encodeURI(i)}`,s=await fetch(r);if(!s.ok)throw await g(this.name,s);const l=await s.json();if(!l||0===l.length)throw new o(this.name,"Translate fail ! translate's result is null or empty");const u=[];for(let a=0;l[0]&&a<l[0].length;a++){const n=l[0][a];n&&0!=n.length&&Array.isArray(n)&&n[0]&&u.push(n[0].replaceAll("\n",""))}return u}}},azure:function(a){const{key:n,region:e}=a,t="azure",i=()=>{if(!n||!e)throw new o(t,`${t} key and region is required`)};return i(),{name:t,async translate(a,t){i();const{from:r,to:s}=t,l=`https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=${s}${r&&"auto"!==r?`&from=${r}`:""}`;Array.isArray(a)||(a=[a]);const u=await fetch(l,{method:"POST",headers:{"Content-Type":"application/json; charset=UTF-8","Ocp-Apim-Subscription-Key":n,"Ocp-Apim-Subscription-Region":e},body:JSON.stringify(a.map(a=>({Text:a})))});if(!u.ok)throw await g(this.name,u);const c=await u.json();if(c.error)throw new o(this.name,`Translate fail ! code: ${c.error.code}, message: ${c.error.message}`);const h=c;if(!h||0===h.length)throw new o(this.name,"Translate fail ! translate's result is null or empty");const d=[];for(const a of h)a.translations&&0!=a.translations.length&&d.push(...a.translations.map(a=>a.text));return d}}},amazon:function(a){const{region:n,accessKeyId:e,secretAccessKey:t}=a,r="amazon",s=()=>{if(!n||!e||!t)throw new o(r,`${r} region, accessKeyId ,secretAccessKey is required`)};return s(),{name:r,async translate(a,r){s();const{from:o="auto",to:l}=r,u=new i.TranslateClient({region:n,credentials:{accessKeyId:e,secretAccessKey:t}});Array.isArray(a)||(a=[a]);const c=new i.TranslateTextCommand({SourceLanguageCode:o,TargetLanguageCode:l,Text:a.join("\n")}),h=await u.send(c),g=[];if(h.TranslatedText){const a=h.TranslatedText??"";g.push(...a.split("\n"))}return g}}},baidu:function(a){const{appId:n,secretKey:e}=a,t="baidu",i=()=>{if(!n||!e)throw new o(t,`${t} appId and secretKey is required`)};return i(),{name:t,async translate(a,t){i();const{to:r,from:s="auto",domain:l="it"}=t;Array.isArray(a)||(a=[a]);const u=a.join("\n"),c=Date.now(),h=T(`${n}${u}${c}${l}${e}`).toString(),d=new URLSearchParams;d.append("q",u),d.append("from",s),d.append("to",r),d.append("appid",n),d.append("salt",c.toString()),d.append("domain",l),d.append("sign",h);const m=await fetch("https://fanyi-api.baidu.com/api/trans/vip/fieldtranslate",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:d.toString()});if(!m.ok)throw await g(this.name,m);const f=await m.json();if(!f||f.error_code||!f.trans_result||0===f.trans_result.length)throw new o(this.name,`Translate fail ! error_code:${f.error_code}, error_msg: ${f.error_msg}`);const p=[];for(const a of f.trans_result)a.dst&&p.push(a.dst);return p}}},deepl:function(a){const{key:n}=a,e="deepl",t=()=>{if(!n)throw new o(e,`${e} key is required`)};return t(),{name:e,async translate(a,e){t();const{to:i,from:r}=e;Array.isArray(a)||(a=[a]);const s=await fetch("https://api-free.deepl.com/v2/translate",{method:"POST",headers:{"Content-Type":"application/json; charset=UTF-8",Authorization:`DeepL-Auth-Key ${n}`,Accept:"*/*",Host:"api-free.deepl.com",Connection:"keep-alive"},body:JSON.stringify({text:a,source_lang:"auto"===r?void 0:r,target_lang:i})});if(!s.ok)throw await g(this.name,s);const l=await s.json();if(l.error)throw new o(this.name,`Translate fail ! code: ${l.error.code}, message: ${l.error.message}`);const u=l.translations;if(!u||0===u.length)throw new o(this.name,"Translate fail ! translate's result is null or empty");return u.map(a=>a.text)}}},openai:function(a){const{apiKey:n,model:e,maxTokens:t=2e3,outputLog:i=!1}=a,r="openai",l=()=>{if(!n)throw new o(r,`${r} apiKey is required`);if(!s.includes(e))throw new o(r,`${r} model=${e} is invalid`)};return l(),{name:r,async translate(a,r){l();const{from:s,to:u}=r;Array.isArray(a)||(a=[a]);const c={role:"user",content:`\n 满足以下4点翻译要求:\n 1.将每段文本从${s}翻译为${u}\n 2.文本内容以换行符\n进行段落分割,并以段落分割顺序进行翻译\n 3.仅翻译分割出的段落,其他任何不相关的内容都移除,比如:段落前后的空格、所有标点符号\n\n 4.仅返回要翻译的文本内容,不要返回任何其他内容\n\n 如何提取翻译文本,满足以下2点要求:\n 1.翻译从-$s$-字符标记开始至-$e$-字符标记结束,提取-$s$-至-$e$-之间的内容\n 2.-$s$-和-$e$-这2个标记不要返回,只是用来标记翻译的起始和结束位置\n\n -$s$-\n ${a.join("\n")} \n -$e$-\n `},h=await fetch("https://api.openai.com/v1/chat/completions",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`},body:JSON.stringify({model:e,messages:[{role:"system",content:"You are a professional translator"},c],max_tokens:t,temperature:0})});if(!h.ok)throw await g(this.name,h);const d=await h.json();if(d.error)throw new o(this.name,`Translate fail! message: ${d.error.message}`);if(!d||!d.choices||0===d.choices.length||!d.choices[0]?.message?.content)throw new o(this.name,"Translate fail ! translate's result is null or empty");const m=d.choices[0].message.content,f=["-$s$-","-$e$-"],p=m.trim().split("\n").map(a=>a.trim()).filter(Boolean).filter(a=>!f.includes(a));return i&&(v.info("prompt:",JSON.stringify(c,null,2)),v.info("translations:",JSON.stringify(p,null,2))),p}}},tencent:function(a){const{secretId:n,secretKey:e,region:t="ap-guangzhou"}=a,i="tencent",r="tmt.tencentcloudapi.com",s=`https://${r}/`;return{name:i,async translate(a,l){!function(){if(!n||!e)throw new o(i,`${i} secretId and secretKey are required`)}();const{from:u="auto",to:c}=l,h="auto"===u?"auto":u,g={SourceText:Array.isArray(a)?a.join("\n"):a,Source:h,Target:c,ProjectId:0},d=JSON.stringify(g),m=$({secretId:n,secretKey:e,service:"tmt",host:r,payload:d,httpRequestMethod:"POST",action:"TextTranslate",apiVersion:"2018-03-21",region:t});try{const a=await fetch(s,{method:"POST",headers:m,body:d});if(!a.ok)throw new o(i,`HTTP ${a.status}: ${await a.text()}`);const n=await a.json();if(n.Response?.Error)throw new o(i,`Tencent translate fail: ${n.Response.Error.Code}, ${n.Response.Error.Message}`);const e=n.Response?.TargetText.split("\n")??[];if(!Array.isArray(e)||0===e.length)throw new o(i,"Translate fail! No result returned");return e}catch(a){if(a instanceof o)throw a;throw new o(i,`Translation failed: ${a}`)}}}}};var M={Afrikaans:"af",Albanian:"sq",Amharic:"am",Arabic:"ar",Armenian:"hy",Assamese:"as",Azerbaijani:"az",Bashkir:"ba",Basque:"eu",Bengali:"bn",Bhojpuri:"bho",Bosnian:"bs",Bulgarian:"bg",Burmese:"my","Cantonese (Traditional)":"yue",Catalan:"ca",Chhattisgarhi:"hne",Chinese:"zh-Hans","Chinese (Literary)":"lzh","Chinese (Traditional)":"zh-Hant",Croatian:"hr",Czech:"cs",Danish:"da",Dari:"prs",Dhivehi:"dv",Dogri:"doi",Double:"lug",Dutch:"nl",English:"en",Estonian:"et","FYRO Macedonian":"mk",Faroese:"fo",Fijian:"fj",Filipino:"fil",Finnish:"fi",French:"fr","French (Canada)":"fr-CA",Galician:"gl",Georgian:"ka",German:"de",Greek:"el",Gujarati:"gu","Haitian Creole":"ht",Hausa:"ha",Hebrew:"he",Hindi:"hi",Hmong:"mww",Hungarian:"hu",Icelandic:"is",Igbo:"ig",Indonesian:"id",Inuinnaqtun:"ikt",Inuktitut:"iu","Inuktitut (Latin)":"iu-Latn",Irish:"ga",Italian:"it",Japanese:"ja",Kannada:"kn",Kashmiri:"ks",Kazakh:"kk",Khmer:"km",Kikwanda:"rw","Klingon (Latin)":"tlh-Latn","Klingon (pIqaD)":"tlh-Piqd",Konkani:"gom",Korean:"ko","Kurdish (Medium)":"ku","Kurdish (North)":"kmr",Kyrgyz:"ky",Lao:"lo",Latvian:"lv",Lingala:"ln",Lithuanian:"lt","Lower Sorbian language":"dsb",Maithili:"mai",Malagasian:"mg",Malay:"ms",Malayalam:"ml",Maltese:"mt",Manipuri:"mni",Marathi:"mr","Mongolian (Cyrillic)":"mn-Cyrl","Mongolian (Traditional)":"mn-Mong","Māori":"mi",Nepali:"ne","Norwegian Bokmål":"nb",Nyanja:"nya",Oriya:"or",Pashto:"ps",Persian:"fa",Polish:"pl","Portugal (Brazil)":"pt","Portugal (Portugal)":"pt-PT",Punjabi:"pa","Querétaro Ottomi":"otq",Romanian:"ro",Rounds:"run",Russian:"ru",Samoan:"sm","Serbia (Latin)":"sr-Latn","Serbian (Cyrillic)":"sr-Cyrl",Sesotho:"st","Sesotho at Leboa":"nso",Setswana:"tn",Shona:"sn",Sindhi:"sd",Sinhalese:"si",Slovak:"sk",Slovenian:"sl",Somali:"so",Spanish:"es",Swahili:"sw",Swedish:"sv",Tahiti:"ty",Tamil:"ta",Tatar:"tt",Telugu:"te",Thai:"th",Tibetan:"bo",Tigrinya:"ti",Tongan:"to",Turkish:"tr",Turkmen:"tk",Uighur:"ug",Ukrainian:"uk","Upper Sorbian":"hsb",Urdu:"ur",Uzbek:"uz",Vietnamese:"vi",Welsh:"cy",Will:"brx",Xhosa:"xh",Yoruba:"yo","Yucatec Maya":"yua",Zulu:"zu"},B={Abkhazian:"ab",Acehnese:"ace","Acholi language":"ach",Afar:"aa",Afrikaans:"af",Albanian:"sq",Alur:"alz",Amharic:"am",Arabic:"ar",Armenian:"hy",Assamese:"as",Avar:"av",Awadhi:"awa",Aymara:"ay",Azerbaijani:"az",Badawi:"bew",Balinese:"ban",Balochi:"bal",Bambara:"bm",Bangasinan:"pag",Bashkir:"ba",Basque:"eu",Batakkalo:"btx","Bataksi Marungon":"bts",Bataktoba:"bbc",Baure:"bci",Belarusian:"be",Bengali:"bn",Bhojpuri:"bho",Bikol:"bik",Bosnian:"bs",Breton:"br",Bulgarian:"bg",Burmese:"my","Buryat language":"bua",Cantonese:"yue",Casey:"kha",Catalan:"ca",Cebuano:"ceb","Chamorro language":"ch",Chechen:"ce",Chevi:"ak",Chicheva:"ny",Chiga:"cgg",Chinese:"zh-CN","Chinese (Traditional)":"zh-TW",Chuk:"chk",Chuvash:"cv",Conga:"ts",Corsican:"co","Crimean Tatar":"crh",Croatian:"hr",Czech:"cs",Danish:"da",Dari:"fa-AF",Dhivehi:"dv",Dinka:"din",Dogra:"doi",Dutch:"nl",Dyula:"dyu",Dzongka:"dz",Elocano:"ilo",English:"en",Esperanto:"eo",Estonian:"et",Ewe:"ee","FYRO Macedonian":"mk",Faroese:"fo","Feng language":"fon",Fijian:"fj",Filipino:"tl",Finnish:"fi",French:"fr",Frisian:"fy",Friulian:"fur",Fulani:"ff",Ga:"gaa",Galician:"gl",Georgian:"ka",German:"de",Gongen:"gom",Gorkbojok:"trp","Grace and Taoism":"ndc-ZW",Greek:"el",Greenlandic:"kl",Guarani:"gn",Gujarati:"gu","Haitian Creole":"ht",Hakachin:"cnh",Hausa:"ha",Hawaiian:"haw",Hebrew:"iw",Heligaignon:"hil",Hindi:"hi",Hmong:"hmn",Hungarian:"hu","Hunsrück":"hrx",Iban:"iba",Icelandic:"is",Igbo:"ig",Indonesian:"id",Irish:"ga",Italian:"it","Jamaica vernacular":"jam",Japanese:"ja",Javanese:"jw","Jingpo language":"kac",Kannada:"kn",Kanuri:"kr",Kazakh:"kk",Kekchi:"kek",Khmer:"km",Kikwanda:"rw",Kithuba:"ktu","Komi language":"kv",Kongo:"kg",Korean:"ko","Kurdish (Kurmanji)":"ku","Kurdish (Solani)":"ckb",Kyrgyz:"ky",Lao:"lo",Latin:"la",Latvian:"lv",Ligurian:"lij",Limburg:"li",Lingala:"ln",Lithuanian:"lt",Lombard:"lmo",Luganda:"lg",Luo:"luo",Luxembourg:"lb",Madura:"mad",Maithili:"mai",Makassar:"mak",Malagasian:"mg",Malay:"ms","Malay, Jawi":"ms-Arab",Malayalam:"ml",Maltese:"mt","Malwadi language":"mwr",Mamu:"mam",Manx:"gv",Marathi:"mr",Marshallese:"mh","Mauritius Scrio whispers":"mfe","Meitei (Manipur)":"mni-Mtei",Minan:"min",Mizo:"lus",Mongolian:"mn","Māori":"mi","Nahuatl (Eastern Vastka)":"nhe","Ndebele (Southern)":"nr",Ndombe:"dov","Nepal Language (Newar)":"new",Nepali:"ne","Nko alphabet (West African written script)":"bm-Nkoo","Northern Sotho":"nso",Norwegian:"no",Nuer:"nus",Occitan:"oc",Oriya:"or","Oromo language":"om",Ossetian:"os",Pampangja:"pam",Papiamento:"pap",Pashto:"ps",Pemba:"bem",Persian:"fa",Polish:"pl","Portugal (Brazil)":"pt","Portugal (Portugal)":"pt-PT","Punjabi (Gurumuchi)":"pa","Punjabi (Shamuki)":"pa-Arab",Quechua:"qu",Ratgale:"ltg",Romani:"rom",Romanian:"ro",Rondi:"rn",Russian:"ru",Sabatec:"zap",Sakha:"sah",Samoan:"sm",Sango:"sg",Sanskrit:"sa",Santali:"sat-Latn","Schuna language":"sn","Scottish Gaelic":"gd",Serbian:"sr","Seychellois Creole":"crs",Shan:"shn",Sicilian:"scn","Sierra Leonean Creole":"kri",Silesian:"szl",Sindhi:"sd",Sinhalese:"si",Slovak:"sk",Slovenian:"sl",Somali:"so","South Sotho":"st",Spanish:"es","Steppe Mali":"chm",Sundanese:"su","Susu language":"sus",Swahili:"sw",Swat:"ss",Swedish:"sv","Sámi (North)":"se",Tahiti:"ty",Tajik:"tg",Tamaset:"ber-Latn","Tamazight (Tifinaven)":"ber",Tamil:"ta",Tatar:"tt",Telugu:"te",Tetum:"tet",Thai:"th",Tibetan:"bo","Tiff language":"tiv",Tigrinya:"ti","Tok Pisin":"tpi",Tongan:"to",Tswana:"tn",Tulu:"tcy","Tumbuka language":"tum",Turkish:"tr",Turkmen:"tk",Tuvan:"tyv",Udmurtic:"udm",Uighur:"ug",Ukrainian:"uk",Urdu:"ur",Uzbek:"uz",Venda:"ve",Venetian:"vec",Vietnamese:"vi","Wari language":"war",Welsh:"cy","Wolof language":"wo",Xhosa:"xh",Yiddish:"yi",Yoruba:"yo","Yucatan Maya":"yua",Zulu:"zu"},z={Achinese:"ach",Afrikaans:"afr",Akan:"aka",Albanian:"alb","Algerian Arabic":"arq",Amharic:"amh","Ancient Greek":"gra",Arabic:"ara",Aragonese:"arg",Armenian:"arm",Assamese:"asm",Asturian:"ast",Aymara:"aym",Azerbaijani:"aze",Baluchi:"bal",BasaSunda:"sun",Bashkir:"bak",Basque:"baq",Belarusian:"bel",Bemba:"bem",Bengali:"ben","Berber languages":"ber",Bhojpuri:"bho",Bislama:"bis",Blin:"bli","Bokmål":"nob",Bosnian:"bos","Brazilian Portuguese":"pot",Breton:"bre",Bulgarian:"bul",Buriat:"bui",Burmese:"bur","Canadian French":"frn",Cantonese:"yue",Catalan:"cat",Cebuano:"ceb",Chechen:"che",Cherokee:"chr",Chichewa:"nya",Chinese:"zh",Chuvash:"chv","Classical Chinese":"wyw",Cornish:"cor",Corsican:"cos",Creek:"cre","Crimean Tatar":"cri",Croatian:"hrv",Czech:"cs",Danish:"dan",Divehi:"div",Dutch:"nl",Dzongkha:"dzo",English:"en",Esperanto:"epo",Estonian:"est",Faroese:"fao",Filipino:"fil",Finnish:"fin",French:"fra",Friulian:"fri",Fulani:"ful",Gaelic:"gla",Galician:"glg",Georgian:"geo",German:"de",Greek:"el",Guarani:"grn",Gujarati:"guj","Haitian Creole":"ht","Hakha Chin":"hak",Hausa:"hau",Hawaiian:"haw",Hebrew:"heb",Hiligaynon:"hil",Hindi:"hi",Hmong:"hmn",Hungarian:"hu",Hupa:"hup",Icelandic:"ice",Ido:"ido",Igbo:"ibo",Indonesian:"id",Ingush:"ing","Interlingua ":"ina",Inuktitut:"iku",Irish:"gle",Italian:"it",Japanese:"jp",Javanese:"jav",Kabyle:"kab",Kalaallisut:"kal",Kalmyk:"kam",Kannada:"kan",Kanuri:"kau",Kashmiri:"kas",Kashubian:"kah",Khmer:"hkm",Kinyarwanda:"kin",Klingon:"kli",Kongo:"kon",Konkani:"kok",Korean:"kor",Kurdish:"kur",Kyrgyz:"kir",Lao:"lao",Latgalian:"lag",Latin:"lat",Latvian:"lav",Limburgish:"lim",Lingala:"lin",Lithuanian:"lit",Lojban:"loj","Low German":"log","Lower Sorbian":"los",Luganda:"lug",Luxembourgish:"ltz",Macedonian:"mac",Maithili:"mai",Malagasy:"mg",Malay:"may",Malayalam:"mal",Maltese:"mlt",Manx:"glv",Maori:"mao",Marathi:"mar",Marshallese:"mah","Mauritian Creole":"mau","Middle French":"frm",Mongolian:"moc",Montenegrin:"mot","N'Ko":"nqo",Neapolitan:"nea",Nepali:"nep","Northern Sami":"sme","Northern Sotho":"ped",Norwegian:"nor",Nynorsk:"nno",Occitan:"oci",Ojibwa:"oji","Old English":"eno",Oriya:"ori",Oromo:"orm",Ossetian:"oss",Pampanga:"pam",Papiamento:"pap",Pashto:"pus",Persian:"per",Polish:"pl",Portuguese:"pt",Punjabi:"pan",Quechua:"que",Romanian:"rom",Romansh:"roh",Romany:"ro",Russian:"ru",Rusyn:"ruy",Samoan:"sm",Sanskrit:"san",Sardinian:"srd",Scots:"sco","Serb(Cyrillic)":"src",Serbian:"srp","Serbo-Croatian":"sec",Shan:"sha",Shona:"sna",Silesian:"sil",Sindhi:"snd",Sinhala:"sin",Slovak:"sk",Slovenian:"slo",Somali:"som","Songhai languages":"sol","Southern Ndebele":"nbl","Southern Sotho":"sot",Spanish:"spa",Swahili:"swa",Swedish:"swe",Syriac:"syr",Tagalog:"tgl",Tajik:"tgk",Tamil:"tam",Tatar:"tat",Telugu:"tel",Tetum:"tet",Thai:"th",Tibetan:"tib",Tigrinya:"tir","Traditional Chinese":"cht",Tsonga:"tso","Tunisian Arabic":"tua",Turkish:"tr",Turkmen:"tuk",Twi:"twi",Ukrainian:"ukr","Upper Sorbian":"ups",Urdu:"urd",Uyghur:"uig",Venda:"ven",Vietnamese:"vie",Walloon:"wln",Welsh:"wel","Western Frisian":"fry",Wolof:"wol",Xhosa:"xho",Yiddish:"yid",Yoruba:"yor",Zaza:"zaz",Zulu:"zul"},x={Afrikaans:"af",Albanian:"sq",Amharic:"am",Arabic:"ar",Armenian:"hy",Azerbaijani:"az",Bengali:"bn",Bosnian:"bs",Bulgarian:"bg",Catalan:"ca","Chinese (Simplified)":"zh","Chinese (Traditional)":"zh-TW",Croatian:"hr",Czech:"cs",Danish:"da",Dari:"fa-AF",Dutch:"nl",English:"en",Estonian:"et","Farsi (Persian)":"fa","Filipino, Tagalog":"tl",Finnish:"fi",French:"fr","French (Canada)":"fr-CA",Georgian:"ka",German:"de",Greek:"el",Gujarati:"gu","Haitian Creole":"ht",Hausa:"ha",Hebrew:"he",Hindi:"hi",Hungarian:"hu",Icelandic:"is",Indonesian:"id",Irish:"ga",Italian:"it",Japanese:"ja",Kannada:"kn",Kazakh:"kk",Korean:"ko",Latvian:"lv",Lithuanian:"lt",Macedonian:"mk",Malay:"ms",Malayalam:"ml",Maltese:"mt",Marathi:"mr",Mongolian:"mn","Norwegian (Bokmål)":"no",Pashto:"ps",Polish:"pl","Portuguese (Brazil)":"pt","Portuguese (Portugal)":"pt-PT",Punjabi:"pa",Romanian:"ro",Russian:"ru",Serbian:"sr",Sinhala:"si",Slovak:"sk",Slovenian:"sl",Somali:"so",Spanish:"es","Spanish (Mexico)":"es-MX",Swahili:"sw",Swedish:"sv",Tamil:"ta",Telugu:"te",Thai:"th",Turkish:"tr",Ukrainian:"uk",Urdu:"ur",Uzbek:"uz",Vietnamese:"vi",Welsh:"cy"};const j={azure:M,google:B,baidu:z,deepl:{English:"en",Bulgarian:"bg",Chinese:"zh",Croatian:"hr",Czech:"cs",Danish:"da",Dutch:"nl",Estonian:"et",Finnish:"fi",French:"fr",German:"de",Greek:"el",Hungarian:"hu",Icelandic:"is",Indonesian:"id",Irish:"ga",Italian:"it",Japanese:"ja",Korean:"ko",Latvian:"lv",Lithuanian:"lt",Maltese:"mt",Norwegian:"nb",Polish:"pl",Portuguese:"pt",Romanian:"ro",Russian:"ru",Slovak:"sk",Slovenian:"sl",Spanish:"es",Swedish:"sv",Turkish:"tr",Ukrainian:"uk"},amazon:x,openai:B,tencent:{Auto:"auto",Chinese:"zh",TraditionalChinese:"zh-TW",English:"en",Japanese:"ja",Korean:"ko",French:"fr",Spanish:"es",Italian:"it",German:"de",Turkish:"tr",Russian:"ru",Portuguese:"pt",Vietnamese:"vi",Indonesian:"id",Thai:"th",Malay:"ms",Arabic:"ar",Hindi:"hi"}};const P={azure:M,google:B,baidu:z,deepl:{"American English":"en-US","Brazilian Portuguese":"pt-BR","British English":"en-GB",Bulgarian:"bg",Chinese:"zh",Croatian:"hr",Czech:"cs",Danish:"da",Dutch:"nl",Estonian:"et","European Portuguese":"pt-PT",Finnish:"fi",French:"fr",German:"de",Greek:"el",Hungarian:"hu",Icelandic:"is",Indonesian:"id",Irish:"ga",Italian:"it",Japanese:"ja",Korean:"ko",Latvian:"lv",Lithuanian:"lt",Maltese:"mt",Norwegian:"nb",Polish:"pl",Portuguese:"pt",Romanian:"ro",Russian:"ru",Slovak:"sk",Slovenian:"sl",Spanish:"es",Swedish:"sv",Turkish:"tr",Ukrainian:"uk"},amazon:x,openai:B,tencent:{"Simplified Chinese":"zh","Traditional Chinese":"zh-TW",English:"en",Japanese:"ja",Korean:"ko",French:"fr",Spanish:"es",Italian:"it",German:"de",Turkish:"tr",Russian:"ru",Portuguese:"pt",Vietnamese:"vi",Indonesian:"id",Thai:"th",Malay:"ms",Arabic:"ar",Hindi:"hi"}};function _(a){return{from:j[a],to:P[a]}}const I="Translate",K=1e3,H=u(),L=new l;class E{engines;cache_time;concurrencyMax;concurrencyDelay;constructor(a=6e4,n=4,e=20){this.engines=new Map,this.cache_time=a,this.concurrencyMax=n,this.concurrencyDelay=e}use(a){this.addEngine(a)}addEngine(a){this.engines.has(a.name)?H.warn("Engine already exists"):this.engines.set(a.name,a)}removeEngine(a){if(!a||!this.engines.has(a))return H.warn("Engine name is required or not found"),!1;this.engines.delete(a)}async translate(a,n){const{engine:e="google",cache_time:t=6e4}=n;let{from:i="auto",to:r}=n;if(i=n.from=function(a,n){if("auto"===a)return"auto";const e=j[n];if(!e)throw new Error(`Engine ${n} not found`);if(Object.keys(j[n]).includes(a))return e[a];if(Object.values(j[n]).includes(a))return a;throw new Error(`Invalid from language ${n} ${a}`)}(i,e),r=n.to=function(a,n){const e=P[n];if(!e)throw new Error(`Engine ${n} not found`);if(Object.keys(P[n]).includes(a))return e[a];if(Object.values(P[n]).includes(a))return a;throw new Error(`Invalid to language ${n} ${a}`)}(r,e),!this.engines.has(e))throw new o(I,`Engine ${e} not found`);const s=this.engines.get(e);if(!s)throw new o(I,`Engine ${e} not found`);if(!i)throw new o(I,`Invalid origin language ${i}`);if(!r)throw new o(I,`Invalid target language ${r}`);const l=`${i}:${r}:${e}:${a}`;return L.get(l)?Promise.resolve(L.get(l)?.value):this.concurrencyHandle(s,a,n).then(a=>(L.set(l,a,t??this.cache_time),a)).catch(n=>{throw H.error(`${I} Failed: from=${i},to=${r},engine=${e},translate text: \n${c()}\n${a}\n${c()}\n error: ${h(n)}`),n instanceof o?n:new o(I,h(n))})}async concurrencyHandle(a,n,e){const{max_character_num:t=K}=e,i=t>0?t:K;if(Array.isArray(n)){if(function(a,n){return!(!a||a.length<=0)&&a.reduce((a,n)=>a+n.length,0)>n}(n,t))throw new o(I,"String arrays do not support automatic character splitting, and the total number of characters in a string array exceeds the limit on the number of translated characters.");return a.translate(n,e)}return this.concurrencyTranslate(a,n,e,i)}async concurrencyTranslate(a,n,e,t){const i=function(a,n){const e=[/\n\n+/,/[.。!??!\n]/,/[;;]/,/[,,]/g,/\s/],t=[];for(;a.length>0;){const i=a.slice(0,n);if(a.length<=n){t.push(a);break}let r=-1;for(const a of e){const e=new RegExp(a.source+"(?=[^]*)","g");let t,o;for(;null!==(t=e.exec(i));)t.index===e.lastIndex&&e.lastIndex++,o=null!=o?t.index>o.index?t:o:t;if(void 0!==o?.index&&o.index>=.7*n){r=o.index;break}}-1===r&&(r=i.lastIndexOf(" ",n),r=-1===r?n:r),0==r?a=a.slice(r+1):(t.push(a.slice(0,r)),a=a.slice(r))}return t}(n,t).map((a,n)=>({content:a,index:n})),r=[];let o=0;const s=this.concurrencyDelay,l=this.concurrencyMax;return new Promise((n,t)=>(function u(){for(;o<l&&i.length>0;){const{content:l,index:c}=i.shift();o++,a.translate(l,e).then(a=>{r.push({translated:a,index:c})}).catch(a=>t(a)).finally(async()=>{if(o--,0===o&&i.length<=0){r.sort((a,n)=>a.index-n.index);const a=r.reduce((a,n)=>a.concat(n.translated),[]);return n([a.join("")])}var a;await(a=s,new Promise(n=>setTimeout(n,a))),u()})}}(),r))}}const O=new E;var F={engines:A,translator:O,Translator:E,Cache:l,getLanguage:_};a.Cache=l,a.OPEN_AI_MODELS=s,a.TranslationError=o,a.Translator=E,a.default=F,a.engines=A,a.getLanguage=_,a.translator=O,Object.defineProperty(a,"__esModule",{value:!0})});
|
|
2
2
|
//# sourceMappingURL=index.umd.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.min.js","sources":["../../src/types/index.ts","../../src/utils/cache.ts","../../src/utils/logger.ts","../../src/utils/utils.ts","../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/core.js","../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/md5.js","../../src/engines/openai.ts","../../src/engines/index.ts","../../src/engines/google.ts","../../src/engines/azure.ts","../../src/engines/amazon.ts","../../src/engines/baidu.ts","../../src/engines/deepl.ts","../../src/language/target/azure.ts","../../src/language/target/google.ts","../../src/language/target/baidu.ts","../../src/language/target/amazon.ts","../../src/language/origin/index.ts","../../src/language/origin/deepl.ts","../../src/language/target/index.ts","../../src/language/target/deepl.ts","../../src/language/index.ts","../../src/utils/constant.ts","../../src/index.ts"],"sourcesContent":[null,null,null,null,";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory();\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\troot.CryptoJS = factory();\n\t}\n}(this, function () {\n\n\t/*globals window, global, require*/\n\n\t/**\n\t * CryptoJS core components.\n\t */\n\tvar CryptoJS = CryptoJS || (function (Math, undefined) {\n\n\t var crypto;\n\n\t // Native crypto from window (Browser)\n\t if (typeof window !== 'undefined' && window.crypto) {\n\t crypto = window.crypto;\n\t }\n\n\t // Native crypto in web worker (Browser)\n\t if (typeof self !== 'undefined' && self.crypto) {\n\t crypto = self.crypto;\n\t }\n\n\t // Native crypto from worker\n\t if (typeof globalThis !== 'undefined' && globalThis.crypto) {\n\t crypto = globalThis.crypto;\n\t }\n\n\t // Native (experimental IE 11) crypto from window (Browser)\n\t if (!crypto && typeof window !== 'undefined' && window.msCrypto) {\n\t crypto = window.msCrypto;\n\t }\n\n\t // Native crypto from global (NodeJS)\n\t if (!crypto && typeof global !== 'undefined' && global.crypto) {\n\t crypto = global.crypto;\n\t }\n\n\t // Native crypto import via require (NodeJS)\n\t if (!crypto && typeof require === 'function') {\n\t try {\n\t crypto = require('crypto');\n\t } catch (err) {}\n\t }\n\n\t /*\n\t * Cryptographically secure pseudorandom number generator\n\t *\n\t * As Math.random() is cryptographically not safe to use\n\t */\n\t var cryptoSecureRandomInt = function () {\n\t if (crypto) {\n\t // Use getRandomValues method (Browser)\n\t if (typeof crypto.getRandomValues === 'function') {\n\t try {\n\t return crypto.getRandomValues(new Uint32Array(1))[0];\n\t } catch (err) {}\n\t }\n\n\t // Use randomBytes method (NodeJS)\n\t if (typeof crypto.randomBytes === 'function') {\n\t try {\n\t return crypto.randomBytes(4).readInt32LE();\n\t } catch (err) {}\n\t }\n\t }\n\n\t throw new Error('Native crypto module could not be used to get secure random number.');\n\t };\n\n\t /*\n\t * Local polyfill of Object.create\n\n\t */\n\t var create = Object.create || (function () {\n\t function F() {}\n\n\t return function (obj) {\n\t var subtype;\n\n\t F.prototype = obj;\n\n\t subtype = new F();\n\n\t F.prototype = null;\n\n\t return subtype;\n\t };\n\t }());\n\n\t /**\n\t * CryptoJS namespace.\n\t */\n\t var C = {};\n\n\t /**\n\t * Library namespace.\n\t */\n\t var C_lib = C.lib = {};\n\n\t /**\n\t * Base object for prototypal inheritance.\n\t */\n\t var Base = C_lib.Base = (function () {\n\n\n\t return {\n\t /**\n\t * Creates a new object that inherits from this object.\n\t *\n\t * @param {Object} overrides Properties to copy into the new object.\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * field: 'value',\n\t *\n\t * method: function () {\n\t * }\n\t * });\n\t */\n\t extend: function (overrides) {\n\t // Spawn\n\t var subtype = create(this);\n\n\t // Augment\n\t if (overrides) {\n\t subtype.mixIn(overrides);\n\t }\n\n\t // Create default initializer\n\t if (!subtype.hasOwnProperty('init') || this.init === subtype.init) {\n\t subtype.init = function () {\n\t subtype.$super.init.apply(this, arguments);\n\t };\n\t }\n\n\t // Initializer's prototype is the subtype object\n\t subtype.init.prototype = subtype;\n\n\t // Reference supertype\n\t subtype.$super = this;\n\n\t return subtype;\n\t },\n\n\t /**\n\t * Extends this object and runs the init method.\n\t * Arguments to create() will be passed to init().\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var instance = MyType.create();\n\t */\n\t create: function () {\n\t var instance = this.extend();\n\t instance.init.apply(instance, arguments);\n\n\t return instance;\n\t },\n\n\t /**\n\t * Initializes a newly created object.\n\t * Override this method to add some logic when your objects are created.\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * init: function () {\n\t * // ...\n\t * }\n\t * });\n\t */\n\t init: function () {\n\t },\n\n\t /**\n\t * Copies properties into this object.\n\t *\n\t * @param {Object} properties The properties to mix in.\n\t *\n\t * @example\n\t *\n\t * MyType.mixIn({\n\t * field: 'value'\n\t * });\n\t */\n\t mixIn: function (properties) {\n\t for (var propertyName in properties) {\n\t if (properties.hasOwnProperty(propertyName)) {\n\t this[propertyName] = properties[propertyName];\n\t }\n\t }\n\n\t // IE won't copy toString using the loop above\n\t if (properties.hasOwnProperty('toString')) {\n\t this.toString = properties.toString;\n\t }\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = instance.clone();\n\t */\n\t clone: function () {\n\t return this.init.prototype.extend(this);\n\t }\n\t };\n\t }());\n\n\t /**\n\t * An array of 32-bit words.\n\t *\n\t * @property {Array} words The array of 32-bit words.\n\t * @property {number} sigBytes The number of significant bytes in this word array.\n\t */\n\t var WordArray = C_lib.WordArray = Base.extend({\n\t /**\n\t * Initializes a newly created word array.\n\t *\n\t * @param {Array} words (Optional) An array of 32-bit words.\n\t * @param {number} sigBytes (Optional) The number of significant bytes in the words.\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.create();\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);\n\t */\n\t init: function (words, sigBytes) {\n\t words = this.words = words || [];\n\n\t if (sigBytes != undefined) {\n\t this.sigBytes = sigBytes;\n\t } else {\n\t this.sigBytes = words.length * 4;\n\t }\n\t },\n\n\t /**\n\t * Converts this word array to a string.\n\t *\n\t * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex\n\t *\n\t * @return {string} The stringified word array.\n\t *\n\t * @example\n\t *\n\t * var string = wordArray + '';\n\t * var string = wordArray.toString();\n\t * var string = wordArray.toString(CryptoJS.enc.Utf8);\n\t */\n\t toString: function (encoder) {\n\t return (encoder || Hex).stringify(this);\n\t },\n\n\t /**\n\t * Concatenates a word array to this word array.\n\t *\n\t * @param {WordArray} wordArray The word array to append.\n\t *\n\t * @return {WordArray} This word array.\n\t *\n\t * @example\n\t *\n\t * wordArray1.concat(wordArray2);\n\t */\n\t concat: function (wordArray) {\n\t // Shortcuts\n\t var thisWords = this.words;\n\t var thatWords = wordArray.words;\n\t var thisSigBytes = this.sigBytes;\n\t var thatSigBytes = wordArray.sigBytes;\n\n\t // Clamp excess bits\n\t this.clamp();\n\n\t // Concat\n\t if (thisSigBytes % 4) {\n\t // Copy one byte at a time\n\t for (var i = 0; i < thatSigBytes; i++) {\n\t var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8);\n\t }\n\t } else {\n\t // Copy one word at a time\n\t for (var j = 0; j < thatSigBytes; j += 4) {\n\t thisWords[(thisSigBytes + j) >>> 2] = thatWords[j >>> 2];\n\t }\n\t }\n\t this.sigBytes += thatSigBytes;\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Removes insignificant bits.\n\t *\n\t * @example\n\t *\n\t * wordArray.clamp();\n\t */\n\t clamp: function () {\n\t // Shortcuts\n\t var words = this.words;\n\t var sigBytes = this.sigBytes;\n\n\t // Clamp\n\t words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8);\n\t words.length = Math.ceil(sigBytes / 4);\n\t },\n\n\t /**\n\t * Creates a copy of this word array.\n\t *\n\t * @return {WordArray} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = wordArray.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone.words = this.words.slice(0);\n\n\t return clone;\n\t },\n\n\t /**\n\t * Creates a word array filled with random bytes.\n\t *\n\t * @param {number} nBytes The number of random bytes to generate.\n\t *\n\t * @return {WordArray} The random word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.random(16);\n\t */\n\t random: function (nBytes) {\n\t var words = [];\n\n\t for (var i = 0; i < nBytes; i += 4) {\n\t words.push(cryptoSecureRandomInt());\n\t }\n\n\t return new WordArray.init(words, nBytes);\n\t }\n\t });\n\n\t /**\n\t * Encoder namespace.\n\t */\n\t var C_enc = C.enc = {};\n\n\t /**\n\t * Hex encoding strategy.\n\t */\n\t var Hex = C_enc.Hex = {\n\t /**\n\t * Converts a word array to a hex string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The hex string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hexString = CryptoJS.enc.Hex.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var hexChars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t hexChars.push((bite >>> 4).toString(16));\n\t hexChars.push((bite & 0x0f).toString(16));\n\t }\n\n\t return hexChars.join('');\n\t },\n\n\t /**\n\t * Converts a hex string to a word array.\n\t *\n\t * @param {string} hexStr The hex string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Hex.parse(hexString);\n\t */\n\t parse: function (hexStr) {\n\t // Shortcut\n\t var hexStrLength = hexStr.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < hexStrLength; i += 2) {\n\t words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4);\n\t }\n\n\t return new WordArray.init(words, hexStrLength / 2);\n\t }\n\t };\n\n\t /**\n\t * Latin1 encoding strategy.\n\t */\n\t var Latin1 = C_enc.Latin1 = {\n\t /**\n\t * Converts a word array to a Latin1 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The Latin1 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var latin1Chars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t latin1Chars.push(String.fromCharCode(bite));\n\t }\n\n\t return latin1Chars.join('');\n\t },\n\n\t /**\n\t * Converts a Latin1 string to a word array.\n\t *\n\t * @param {string} latin1Str The Latin1 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Latin1.parse(latin1String);\n\t */\n\t parse: function (latin1Str) {\n\t // Shortcut\n\t var latin1StrLength = latin1Str.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < latin1StrLength; i++) {\n\t words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8);\n\t }\n\n\t return new WordArray.init(words, latin1StrLength);\n\t }\n\t };\n\n\t /**\n\t * UTF-8 encoding strategy.\n\t */\n\t var Utf8 = C_enc.Utf8 = {\n\t /**\n\t * Converts a word array to a UTF-8 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The UTF-8 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t try {\n\t return decodeURIComponent(escape(Latin1.stringify(wordArray)));\n\t } catch (e) {\n\t throw new Error('Malformed UTF-8 data');\n\t }\n\t },\n\n\t /**\n\t * Converts a UTF-8 string to a word array.\n\t *\n\t * @param {string} utf8Str The UTF-8 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Utf8.parse(utf8String);\n\t */\n\t parse: function (utf8Str) {\n\t return Latin1.parse(unescape(encodeURIComponent(utf8Str)));\n\t }\n\t };\n\n\t /**\n\t * Abstract buffered block algorithm template.\n\t *\n\t * The property blockSize must be implemented in a concrete subtype.\n\t *\n\t * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0\n\t */\n\t var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({\n\t /**\n\t * Resets this block algorithm's data buffer to its initial state.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm.reset();\n\t */\n\t reset: function () {\n\t // Initial values\n\t this._data = new WordArray.init();\n\t this._nDataBytes = 0;\n\t },\n\n\t /**\n\t * Adds new data to this block algorithm's buffer.\n\t *\n\t * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm._append('data');\n\t * bufferedBlockAlgorithm._append(wordArray);\n\t */\n\t _append: function (data) {\n\t // Convert string to WordArray, else assume WordArray already\n\t if (typeof data == 'string') {\n\t data = Utf8.parse(data);\n\t }\n\n\t // Append\n\t this._data.concat(data);\n\t this._nDataBytes += data.sigBytes;\n\t },\n\n\t /**\n\t * Processes available data blocks.\n\t *\n\t * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.\n\t *\n\t * @param {boolean} doFlush Whether all blocks and partial blocks should be processed.\n\t *\n\t * @return {WordArray} The processed data.\n\t *\n\t * @example\n\t *\n\t * var processedData = bufferedBlockAlgorithm._process();\n\t * var processedData = bufferedBlockAlgorithm._process(!!'flush');\n\t */\n\t _process: function (doFlush) {\n\t var processedWords;\n\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\t var dataSigBytes = data.sigBytes;\n\t var blockSize = this.blockSize;\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Count blocks ready\n\t var nBlocksReady = dataSigBytes / blockSizeBytes;\n\t if (doFlush) {\n\t // Round up to include partial blocks\n\t nBlocksReady = Math.ceil(nBlocksReady);\n\t } else {\n\t // Round down to include only full blocks,\n\t // less the number of blocks that must remain in the buffer\n\t nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);\n\t }\n\n\t // Count words ready\n\t var nWordsReady = nBlocksReady * blockSize;\n\n\t // Count bytes ready\n\t var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);\n\n\t // Process blocks\n\t if (nWordsReady) {\n\t for (var offset = 0; offset < nWordsReady; offset += blockSize) {\n\t // Perform concrete-algorithm logic\n\t this._doProcessBlock(dataWords, offset);\n\t }\n\n\t // Remove processed words\n\t processedWords = dataWords.splice(0, nWordsReady);\n\t data.sigBytes -= nBytesReady;\n\t }\n\n\t // Return processed words\n\t return new WordArray.init(processedWords, nBytesReady);\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = bufferedBlockAlgorithm.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone._data = this._data.clone();\n\n\t return clone;\n\t },\n\n\t _minBufferSize: 0\n\t });\n\n\t /**\n\t * Abstract hasher template.\n\t *\n\t * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits)\n\t */\n\t var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({\n\t /**\n\t * Configuration options.\n\t */\n\t cfg: Base.extend(),\n\n\t /**\n\t * Initializes a newly created hasher.\n\t *\n\t * @param {Object} cfg (Optional) The configuration options to use for this hash computation.\n\t *\n\t * @example\n\t *\n\t * var hasher = CryptoJS.algo.SHA256.create();\n\t */\n\t init: function (cfg) {\n\t // Apply config defaults\n\t this.cfg = this.cfg.extend(cfg);\n\n\t // Set initial values\n\t this.reset();\n\t },\n\n\t /**\n\t * Resets this hasher to its initial state.\n\t *\n\t * @example\n\t *\n\t * hasher.reset();\n\t */\n\t reset: function () {\n\t // Reset data buffer\n\t BufferedBlockAlgorithm.reset.call(this);\n\n\t // Perform concrete-hasher logic\n\t this._doReset();\n\t },\n\n\t /**\n\t * Updates this hasher with a message.\n\t *\n\t * @param {WordArray|string} messageUpdate The message to append.\n\t *\n\t * @return {Hasher} This hasher.\n\t *\n\t * @example\n\t *\n\t * hasher.update('message');\n\t * hasher.update(wordArray);\n\t */\n\t update: function (messageUpdate) {\n\t // Append\n\t this._append(messageUpdate);\n\n\t // Update the hash\n\t this._process();\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Finalizes the hash computation.\n\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t *\n\t * @param {WordArray|string} messageUpdate (Optional) A final message update.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @example\n\t *\n\t * var hash = hasher.finalize();\n\t * var hash = hasher.finalize('message');\n\t * var hash = hasher.finalize(wordArray);\n\t */\n\t finalize: function (messageUpdate) {\n\t // Final message update\n\t if (messageUpdate) {\n\t this._append(messageUpdate);\n\t }\n\n\t // Perform concrete-hasher logic\n\t var hash = this._doFinalize();\n\n\t return hash;\n\t },\n\n\t blockSize: 512/32,\n\n\t /**\n\t * Creates a shortcut function to a hasher's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to create a helper for.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHelper: function (hasher) {\n\t return function (message, cfg) {\n\t return new hasher.init(cfg).finalize(message);\n\t };\n\t },\n\n\t /**\n\t * Creates a shortcut function to the HMAC's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to use in this HMAC helper.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHmacHelper: function (hasher) {\n\t return function (message, key) {\n\t return new C_algo.HMAC.init(hasher, key).finalize(message);\n\t };\n\t }\n\t });\n\n\t /**\n\t * Algorithm namespace.\n\t */\n\t var C_algo = C.algo = {};\n\n\t return C;\n\t}(Math));\n\n\n\treturn CryptoJS;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (Math) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_algo = C.algo;\n\n\t // Constants table\n\t var T = [];\n\n\t // Compute constants\n\t (function () {\n\t for (var i = 0; i < 64; i++) {\n\t T[i] = (Math.abs(Math.sin(i + 1)) * 0x100000000) | 0;\n\t }\n\t }());\n\n\t /**\n\t * MD5 hash algorithm.\n\t */\n\t var MD5 = C_algo.MD5 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = new WordArray.init([\n\t 0x67452301, 0xefcdab89,\n\t 0x98badcfe, 0x10325476\n\t ]);\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Swap endian\n\t for (var i = 0; i < 16; i++) {\n\t // Shortcuts\n\t var offset_i = offset + i;\n\t var M_offset_i = M[offset_i];\n\n\t M[offset_i] = (\n\t (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) |\n\t (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00)\n\t );\n\t }\n\n\t // Shortcuts\n\t var H = this._hash.words;\n\n\t var M_offset_0 = M[offset + 0];\n\t var M_offset_1 = M[offset + 1];\n\t var M_offset_2 = M[offset + 2];\n\t var M_offset_3 = M[offset + 3];\n\t var M_offset_4 = M[offset + 4];\n\t var M_offset_5 = M[offset + 5];\n\t var M_offset_6 = M[offset + 6];\n\t var M_offset_7 = M[offset + 7];\n\t var M_offset_8 = M[offset + 8];\n\t var M_offset_9 = M[offset + 9];\n\t var M_offset_10 = M[offset + 10];\n\t var M_offset_11 = M[offset + 11];\n\t var M_offset_12 = M[offset + 12];\n\t var M_offset_13 = M[offset + 13];\n\t var M_offset_14 = M[offset + 14];\n\t var M_offset_15 = M[offset + 15];\n\n\t // Working variables\n\t var a = H[0];\n\t var b = H[1];\n\t var c = H[2];\n\t var d = H[3];\n\n\t // Computation\n\t a = FF(a, b, c, d, M_offset_0, 7, T[0]);\n\t d = FF(d, a, b, c, M_offset_1, 12, T[1]);\n\t c = FF(c, d, a, b, M_offset_2, 17, T[2]);\n\t b = FF(b, c, d, a, M_offset_3, 22, T[3]);\n\t a = FF(a, b, c, d, M_offset_4, 7, T[4]);\n\t d = FF(d, a, b, c, M_offset_5, 12, T[5]);\n\t c = FF(c, d, a, b, M_offset_6, 17, T[6]);\n\t b = FF(b, c, d, a, M_offset_7, 22, T[7]);\n\t a = FF(a, b, c, d, M_offset_8, 7, T[8]);\n\t d = FF(d, a, b, c, M_offset_9, 12, T[9]);\n\t c = FF(c, d, a, b, M_offset_10, 17, T[10]);\n\t b = FF(b, c, d, a, M_offset_11, 22, T[11]);\n\t a = FF(a, b, c, d, M_offset_12, 7, T[12]);\n\t d = FF(d, a, b, c, M_offset_13, 12, T[13]);\n\t c = FF(c, d, a, b, M_offset_14, 17, T[14]);\n\t b = FF(b, c, d, a, M_offset_15, 22, T[15]);\n\n\t a = GG(a, b, c, d, M_offset_1, 5, T[16]);\n\t d = GG(d, a, b, c, M_offset_6, 9, T[17]);\n\t c = GG(c, d, a, b, M_offset_11, 14, T[18]);\n\t b = GG(b, c, d, a, M_offset_0, 20, T[19]);\n\t a = GG(a, b, c, d, M_offset_5, 5, T[20]);\n\t d = GG(d, a, b, c, M_offset_10, 9, T[21]);\n\t c = GG(c, d, a, b, M_offset_15, 14, T[22]);\n\t b = GG(b, c, d, a, M_offset_4, 20, T[23]);\n\t a = GG(a, b, c, d, M_offset_9, 5, T[24]);\n\t d = GG(d, a, b, c, M_offset_14, 9, T[25]);\n\t c = GG(c, d, a, b, M_offset_3, 14, T[26]);\n\t b = GG(b, c, d, a, M_offset_8, 20, T[27]);\n\t a = GG(a, b, c, d, M_offset_13, 5, T[28]);\n\t d = GG(d, a, b, c, M_offset_2, 9, T[29]);\n\t c = GG(c, d, a, b, M_offset_7, 14, T[30]);\n\t b = GG(b, c, d, a, M_offset_12, 20, T[31]);\n\n\t a = HH(a, b, c, d, M_offset_5, 4, T[32]);\n\t d = HH(d, a, b, c, M_offset_8, 11, T[33]);\n\t c = HH(c, d, a, b, M_offset_11, 16, T[34]);\n\t b = HH(b, c, d, a, M_offset_14, 23, T[35]);\n\t a = HH(a, b, c, d, M_offset_1, 4, T[36]);\n\t d = HH(d, a, b, c, M_offset_4, 11, T[37]);\n\t c = HH(c, d, a, b, M_offset_7, 16, T[38]);\n\t b = HH(b, c, d, a, M_offset_10, 23, T[39]);\n\t a = HH(a, b, c, d, M_offset_13, 4, T[40]);\n\t d = HH(d, a, b, c, M_offset_0, 11, T[41]);\n\t c = HH(c, d, a, b, M_offset_3, 16, T[42]);\n\t b = HH(b, c, d, a, M_offset_6, 23, T[43]);\n\t a = HH(a, b, c, d, M_offset_9, 4, T[44]);\n\t d = HH(d, a, b, c, M_offset_12, 11, T[45]);\n\t c = HH(c, d, a, b, M_offset_15, 16, T[46]);\n\t b = HH(b, c, d, a, M_offset_2, 23, T[47]);\n\n\t a = II(a, b, c, d, M_offset_0, 6, T[48]);\n\t d = II(d, a, b, c, M_offset_7, 10, T[49]);\n\t c = II(c, d, a, b, M_offset_14, 15, T[50]);\n\t b = II(b, c, d, a, M_offset_5, 21, T[51]);\n\t a = II(a, b, c, d, M_offset_12, 6, T[52]);\n\t d = II(d, a, b, c, M_offset_3, 10, T[53]);\n\t c = II(c, d, a, b, M_offset_10, 15, T[54]);\n\t b = II(b, c, d, a, M_offset_1, 21, T[55]);\n\t a = II(a, b, c, d, M_offset_8, 6, T[56]);\n\t d = II(d, a, b, c, M_offset_15, 10, T[57]);\n\t c = II(c, d, a, b, M_offset_6, 15, T[58]);\n\t b = II(b, c, d, a, M_offset_13, 21, T[59]);\n\t a = II(a, b, c, d, M_offset_4, 6, T[60]);\n\t d = II(d, a, b, c, M_offset_11, 10, T[61]);\n\t c = II(c, d, a, b, M_offset_2, 15, T[62]);\n\t b = II(b, c, d, a, M_offset_9, 21, T[63]);\n\n\t // Intermediate hash value\n\t H[0] = (H[0] + a) | 0;\n\t H[1] = (H[1] + b) | 0;\n\t H[2] = (H[2] + c) | 0;\n\t H[3] = (H[3] + d) | 0;\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\n\t var nBitsTotalH = Math.floor(nBitsTotal / 0x100000000);\n\t var nBitsTotalL = nBitsTotal;\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = (\n\t (((nBitsTotalH << 8) | (nBitsTotalH >>> 24)) & 0x00ff00ff) |\n\t (((nBitsTotalH << 24) | (nBitsTotalH >>> 8)) & 0xff00ff00)\n\t );\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = (\n\t (((nBitsTotalL << 8) | (nBitsTotalL >>> 24)) & 0x00ff00ff) |\n\t (((nBitsTotalL << 24) | (nBitsTotalL >>> 8)) & 0xff00ff00)\n\t );\n\n\t data.sigBytes = (dataWords.length + 1) * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Shortcuts\n\t var hash = this._hash;\n\t var H = hash.words;\n\n\t // Swap endian\n\t for (var i = 0; i < 4; i++) {\n\t // Shortcut\n\t var H_i = H[i];\n\n\t H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) |\n\t (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00);\n\t }\n\n\t // Return final computed hash\n\t return hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t }\n\t });\n\n\t function FF(a, b, c, d, x, s, t) {\n\t var n = a + ((b & c) | (~b & d)) + x + t;\n\t return ((n << s) | (n >>> (32 - s))) + b;\n\t }\n\n\t function GG(a, b, c, d, x, s, t) {\n\t var n = a + ((b & d) | (c & ~d)) + x + t;\n\t return ((n << s) | (n >>> (32 - s))) + b;\n\t }\n\n\t function HH(a, b, c, d, x, s, t) {\n\t var n = a + (b ^ c ^ d) + x + t;\n\t return ((n << s) | (n >>> (32 - s))) + b;\n\t }\n\n\t function II(a, b, c, d, x, s, t) {\n\t var n = a + (c ^ (b | ~d)) + x + t;\n\t return ((n << s) | (n >>> (32 - s))) + b;\n\t }\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.MD5('message');\n\t * var hash = CryptoJS.MD5(wordArray);\n\t */\n\t C.MD5 = Hasher._createHelper(MD5);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacMD5(message, key);\n\t */\n\t C.HmacMD5 = Hasher._createHmacHelper(MD5);\n\t}(Math));\n\n\n\treturn CryptoJS.MD5;\n\n}));",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["TranslationError","Error","region","constructor","message","super","this","captureStackTrace","OPEN_AI_MODELS","Cache","cache","Map","set","key","value","time","oldRecord","get","clearTimeout","timeout","record","expire","Date","now","isNaN","setTimeout","del","canDelete","delete","clear","val","entries","useLogger","name","log","args","info","console","error","warn","getGapLine","repeat","getErrorMessages","e","prefix","TypeError","cause","async","throwResponseError","res","bodyRes","json","status","statusText","CryptoJS","module","exports","Math","undefined","crypto","window","self","globalThis","msCrypto","global","require$$0","err","cryptoSecureRandomInt","getRandomValues","Uint32Array","randomBytes","readInt32LE","create","Object","F","obj","subtype","prototype","C","C_lib","lib","Base","extend","overrides","mixIn","hasOwnProperty","init","$super","apply","arguments","instance","properties","propertyName","toString","clone","WordArray","words","sigBytes","length","encoder","Hex","stringify","concat","wordArray","thisWords","thatWords","thisSigBytes","thatSigBytes","clamp","i","thatByte","j","ceil","call","slice","random","nBytes","push","C_enc","enc","hexChars","bite","join","parse","hexStr","hexStrLength","parseInt","substr","Latin1","latin1Chars","String","fromCharCode","latin1Str","latin1StrLength","charCodeAt","Utf8","decodeURIComponent","escape","utf8Str","unescape","encodeURIComponent","BufferedBlockAlgorithm","reset","_data","_nDataBytes","_append","data","_process","doFlush","processedWords","dataWords","dataSigBytes","blockSize","nBlocksReady","nWordsReady","max","_minBufferSize","nBytesReady","min","offset","_doProcessBlock","splice","Hasher","cfg","_doReset","update","messageUpdate","finalize","_doFinalize","_createHelper","hasher","_createHmacHelper","C_algo","HMAC","algo","T","abs","sin","MD5","_hash","M","offset_i","M_offset_i","H","M_offset_0","M_offset_1","M_offset_2","M_offset_3","M_offset_4","M_offset_5","M_offset_6","M_offset_7","M_offset_8","M_offset_9","M_offset_10","M_offset_11","M_offset_12","M_offset_13","M_offset_14","M_offset_15","a","b","c","d","FF","GG","HH","II","nBitsTotal","nBitsLeft","nBitsTotalH","floor","nBitsTotalL","hash","H_i","x","s","t","n","HmacMD5","logger","engines","google","options","translate","text","opts","from","to","Array","isArray","textStr","url","encodeURI","fetch","ok","body","translations","item","replaceAll","checkOptions","method","headers","JSON","map","it","Text","code","translation","accessKeyId","secretAccessKey","translateClient","TranslateClient","credentials","command","TranslateTextCommand","SourceLanguageCode","TargetLanguageCode","response","send","TranslatedText","translateText","split","appId","secretKey","domain","q","salt","sign","md5","URLSearchParams","append","error_code","trans_result","error_msg","dst","Authorization","Accept","Host","Connection","source_lang","target_lang","apiKey","model","maxTokens","outputLog","includes","prompt","role","content","messages","max_tokens","temperature","choices","marks","trim","filter","Boolean","azure","Afrikaans","Albanian","Amharic","Arabic","Armenian","Assamese","Azerbaijani","Bashkir","Basque","Bengali","Bhojpuri","Bosnian","Bulgarian","Burmese","Catalan","Chhattisgarhi","Chinese","Croatian","Czech","Danish","Dari","Dhivehi","Dogri","Double","Dutch","English","Estonian","Faroese","Fijian","Filipino","Finnish","French","Galician","Georgian","German","Greek","Gujarati","Hausa","Hebrew","Hindi","Hmong","Hungarian","Icelandic","Igbo","Indonesian","Inuinnaqtun","Inuktitut","Irish","Italian","Japanese","Kannada","Kashmiri","Kazakh","Khmer","Kikwanda","Konkani","Korean","Kyrgyz","Lao","Latvian","Lingala","Lithuanian","Maithili","Malagasian","Malay","Malayalam","Maltese","Manipuri","Marathi","Nepali","Nyanja","Oriya","Pashto","Persian","Polish","Punjabi","Romanian","Rounds","Russian","Samoan","Sesotho","Setswana","Shona","Sindhi","Sinhalese","Slovak","Slovenian","Somali","Spanish","Swahili","Swedish","Tahiti","Tamil","Tatar","Telugu","Thai","Tibetan","Tigrinya","Tongan","Turkish","Turkmen","Uighur","Ukrainian","Urdu","Uzbek","Vietnamese","Welsh","Will","Xhosa","Yoruba","Zulu","openai","Abkhazian","Acehnese","Afar","Alur","Avar","Awadhi","Aymara","Badawi","Balinese","Balochi","Bambara","Bangasinan","Batakkalo","Bataktoba","Baure","Belarusian","Bikol","Breton","Cantonese","Casey","Cebuano","Chechen","Chevi","Chicheva","Chiga","Chuk","Chuvash","Conga","Corsican","Dinka","Dogra","Dyula","Dzongka","Elocano","Esperanto","Ewe","Frisian","Friulian","Fulani","Ga","Gongen","Gorkbojok","Greenlandic","Guarani","Hakachin","Hawaiian","Heligaignon","Iban","Javanese","Kanuri","Kekchi","Kithuba","Kongo","Latin","Ligurian","Limburg","Lombard","Luganda","Luo","Luxembourg","Madura","Makassar","Mamu","Manx","Marshallese","Minan","Mizo","Mongolian","Ndombe","Norwegian","Nuer","Occitan","Ossetian","Pampangja","Papiamento","Pemba","Quechua","Ratgale","Romani","Rondi","Sabatec","Sakha","Sango","Sanskrit","Santali","Serbian","Shan","Sicilian","Silesian","Sundanese","Swat","Tajik","Tamaset","Tetum","Tswana","Tulu","Tuvan","Udmurtic","Venda","Venetian","Yiddish","baidu","Achinese","Akan","Aragonese","Asturian","Baluchi","BasaSunda","Bemba","Bislama","Blin","Buriat","Cherokee","Chichewa","Cornish","Creek","Divehi","Dzongkha","Gaelic","Hiligaynon","Hupa","Ido","Ingush","Kabyle","Kalaallisut","Kalmyk","Kashubian","Kinyarwanda","Klingon","Kurdish","Latgalian","Limburgish","Lojban","Luxembourgish","Macedonian","Malagasy","Maori","Montenegrin","Neapolitan","Nynorsk","Ojibwa","Oromo","Pampanga","Portuguese","Romansh","Romany","Rusyn","Sardinian","Scots","Sinhala","Syriac","Tagalog","Tsonga","Twi","Uyghur","Walloon","Wolof","Zaza","amazon","originLanguages","deepl","targetLanguages","getLanguage","engine","appName","defaultMaxCharacterNum","Translator","cache_time","concurrencyMax","concurrencyDelay","use","addEngine","has","removeEngine","engineName","engineLanguages","keys","values","normalFromLanguage","normalToLanguage","engineInstance","Promise","resolve","concurrencyHandle","then","translated","catch","max_character_num","maxCharacterNum","reduce","pre","cur","isOverMaxCharacterNum","concurrencyTranslate","maxCharacterMum","pendingTasks","SPLIT_PRIORITY","chunks","chunk","splitPos","delimiter","regex","RegExp","source","m","longestMatch","exec","index","lastIndex","lastIndexOf","splitText","result","activeTasks","reject","processTasks","shift","finally","sort","arr","ms","translator"],"mappings":"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","x_google_ignoreList":[4,5]}
|
|
1
|
+
{"version":3,"file":"index.umd.min.js","sources":["../../src/types/index.ts","../../src/utils/cache.ts","../../src/utils/logger.ts","../../src/utils/utils.ts","../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/core.js","../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/md5.js","../../src/engines/openai.ts","../../src/engines/tencent.ts","../../src/engines/index.ts","../../src/engines/google.ts","../../src/engines/azure.ts","../../src/engines/amazon.ts","../../src/engines/baidu.ts","../../src/engines/deepl.ts","../../src/language/target/azure.ts","../../src/language/target/google.ts","../../src/language/target/baidu.ts","../../src/language/target/amazon.ts","../../src/language/origin/index.ts","../../src/language/origin/deepl.ts","../../src/language/origin/tencent.ts","../../src/language/target/index.ts","../../src/language/target/deepl.ts","../../src/language/target/tencent.ts","../../src/language/index.ts","../../src/utils/constant.ts","../../src/index.ts"],"sourcesContent":[null,null,null,null,";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory();\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\troot.CryptoJS = factory();\n\t}\n}(this, function () {\n\n\t/*globals window, global, require*/\n\n\t/**\n\t * CryptoJS core components.\n\t */\n\tvar CryptoJS = CryptoJS || (function (Math, undefined) {\n\n\t var crypto;\n\n\t // Native crypto from window (Browser)\n\t if (typeof window !== 'undefined' && window.crypto) {\n\t crypto = window.crypto;\n\t }\n\n\t // Native crypto in web worker (Browser)\n\t if (typeof self !== 'undefined' && self.crypto) {\n\t crypto = self.crypto;\n\t }\n\n\t // Native crypto from worker\n\t if (typeof globalThis !== 'undefined' && globalThis.crypto) {\n\t crypto = globalThis.crypto;\n\t }\n\n\t // Native (experimental IE 11) crypto from window (Browser)\n\t if (!crypto && typeof window !== 'undefined' && window.msCrypto) {\n\t crypto = window.msCrypto;\n\t }\n\n\t // Native crypto from global (NodeJS)\n\t if (!crypto && typeof global !== 'undefined' && global.crypto) {\n\t crypto = global.crypto;\n\t }\n\n\t // Native crypto import via require (NodeJS)\n\t if (!crypto && typeof require === 'function') {\n\t try {\n\t crypto = require('crypto');\n\t } catch (err) {}\n\t }\n\n\t /*\n\t * Cryptographically secure pseudorandom number generator\n\t *\n\t * As Math.random() is cryptographically not safe to use\n\t */\n\t var cryptoSecureRandomInt = function () {\n\t if (crypto) {\n\t // Use getRandomValues method (Browser)\n\t if (typeof crypto.getRandomValues === 'function') {\n\t try {\n\t return crypto.getRandomValues(new Uint32Array(1))[0];\n\t } catch (err) {}\n\t }\n\n\t // Use randomBytes method (NodeJS)\n\t if (typeof crypto.randomBytes === 'function') {\n\t try {\n\t return crypto.randomBytes(4).readInt32LE();\n\t } catch (err) {}\n\t }\n\t }\n\n\t throw new Error('Native crypto module could not be used to get secure random number.');\n\t };\n\n\t /*\n\t * Local polyfill of Object.create\n\n\t */\n\t var create = Object.create || (function () {\n\t function F() {}\n\n\t return function (obj) {\n\t var subtype;\n\n\t F.prototype = obj;\n\n\t subtype = new F();\n\n\t F.prototype = null;\n\n\t return subtype;\n\t };\n\t }());\n\n\t /**\n\t * CryptoJS namespace.\n\t */\n\t var C = {};\n\n\t /**\n\t * Library namespace.\n\t */\n\t var C_lib = C.lib = {};\n\n\t /**\n\t * Base object for prototypal inheritance.\n\t */\n\t var Base = C_lib.Base = (function () {\n\n\n\t return {\n\t /**\n\t * Creates a new object that inherits from this object.\n\t *\n\t * @param {Object} overrides Properties to copy into the new object.\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * field: 'value',\n\t *\n\t * method: function () {\n\t * }\n\t * });\n\t */\n\t extend: function (overrides) {\n\t // Spawn\n\t var subtype = create(this);\n\n\t // Augment\n\t if (overrides) {\n\t subtype.mixIn(overrides);\n\t }\n\n\t // Create default initializer\n\t if (!subtype.hasOwnProperty('init') || this.init === subtype.init) {\n\t subtype.init = function () {\n\t subtype.$super.init.apply(this, arguments);\n\t };\n\t }\n\n\t // Initializer's prototype is the subtype object\n\t subtype.init.prototype = subtype;\n\n\t // Reference supertype\n\t subtype.$super = this;\n\n\t return subtype;\n\t },\n\n\t /**\n\t * Extends this object and runs the init method.\n\t * Arguments to create() will be passed to init().\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var instance = MyType.create();\n\t */\n\t create: function () {\n\t var instance = this.extend();\n\t instance.init.apply(instance, arguments);\n\n\t return instance;\n\t },\n\n\t /**\n\t * Initializes a newly created object.\n\t * Override this method to add some logic when your objects are created.\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * init: function () {\n\t * // ...\n\t * }\n\t * });\n\t */\n\t init: function () {\n\t },\n\n\t /**\n\t * Copies properties into this object.\n\t *\n\t * @param {Object} properties The properties to mix in.\n\t *\n\t * @example\n\t *\n\t * MyType.mixIn({\n\t * field: 'value'\n\t * });\n\t */\n\t mixIn: function (properties) {\n\t for (var propertyName in properties) {\n\t if (properties.hasOwnProperty(propertyName)) {\n\t this[propertyName] = properties[propertyName];\n\t }\n\t }\n\n\t // IE won't copy toString using the loop above\n\t if (properties.hasOwnProperty('toString')) {\n\t this.toString = properties.toString;\n\t }\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = instance.clone();\n\t */\n\t clone: function () {\n\t return this.init.prototype.extend(this);\n\t }\n\t };\n\t }());\n\n\t /**\n\t * An array of 32-bit words.\n\t *\n\t * @property {Array} words The array of 32-bit words.\n\t * @property {number} sigBytes The number of significant bytes in this word array.\n\t */\n\t var WordArray = C_lib.WordArray = Base.extend({\n\t /**\n\t * Initializes a newly created word array.\n\t *\n\t * @param {Array} words (Optional) An array of 32-bit words.\n\t * @param {number} sigBytes (Optional) The number of significant bytes in the words.\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.create();\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);\n\t */\n\t init: function (words, sigBytes) {\n\t words = this.words = words || [];\n\n\t if (sigBytes != undefined) {\n\t this.sigBytes = sigBytes;\n\t } else {\n\t this.sigBytes = words.length * 4;\n\t }\n\t },\n\n\t /**\n\t * Converts this word array to a string.\n\t *\n\t * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex\n\t *\n\t * @return {string} The stringified word array.\n\t *\n\t * @example\n\t *\n\t * var string = wordArray + '';\n\t * var string = wordArray.toString();\n\t * var string = wordArray.toString(CryptoJS.enc.Utf8);\n\t */\n\t toString: function (encoder) {\n\t return (encoder || Hex).stringify(this);\n\t },\n\n\t /**\n\t * Concatenates a word array to this word array.\n\t *\n\t * @param {WordArray} wordArray The word array to append.\n\t *\n\t * @return {WordArray} This word array.\n\t *\n\t * @example\n\t *\n\t * wordArray1.concat(wordArray2);\n\t */\n\t concat: function (wordArray) {\n\t // Shortcuts\n\t var thisWords = this.words;\n\t var thatWords = wordArray.words;\n\t var thisSigBytes = this.sigBytes;\n\t var thatSigBytes = wordArray.sigBytes;\n\n\t // Clamp excess bits\n\t this.clamp();\n\n\t // Concat\n\t if (thisSigBytes % 4) {\n\t // Copy one byte at a time\n\t for (var i = 0; i < thatSigBytes; i++) {\n\t var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8);\n\t }\n\t } else {\n\t // Copy one word at a time\n\t for (var j = 0; j < thatSigBytes; j += 4) {\n\t thisWords[(thisSigBytes + j) >>> 2] = thatWords[j >>> 2];\n\t }\n\t }\n\t this.sigBytes += thatSigBytes;\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Removes insignificant bits.\n\t *\n\t * @example\n\t *\n\t * wordArray.clamp();\n\t */\n\t clamp: function () {\n\t // Shortcuts\n\t var words = this.words;\n\t var sigBytes = this.sigBytes;\n\n\t // Clamp\n\t words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8);\n\t words.length = Math.ceil(sigBytes / 4);\n\t },\n\n\t /**\n\t * Creates a copy of this word array.\n\t *\n\t * @return {WordArray} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = wordArray.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone.words = this.words.slice(0);\n\n\t return clone;\n\t },\n\n\t /**\n\t * Creates a word array filled with random bytes.\n\t *\n\t * @param {number} nBytes The number of random bytes to generate.\n\t *\n\t * @return {WordArray} The random word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.random(16);\n\t */\n\t random: function (nBytes) {\n\t var words = [];\n\n\t for (var i = 0; i < nBytes; i += 4) {\n\t words.push(cryptoSecureRandomInt());\n\t }\n\n\t return new WordArray.init(words, nBytes);\n\t }\n\t });\n\n\t /**\n\t * Encoder namespace.\n\t */\n\t var C_enc = C.enc = {};\n\n\t /**\n\t * Hex encoding strategy.\n\t */\n\t var Hex = C_enc.Hex = {\n\t /**\n\t * Converts a word array to a hex string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The hex string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hexString = CryptoJS.enc.Hex.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var hexChars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t hexChars.push((bite >>> 4).toString(16));\n\t hexChars.push((bite & 0x0f).toString(16));\n\t }\n\n\t return hexChars.join('');\n\t },\n\n\t /**\n\t * Converts a hex string to a word array.\n\t *\n\t * @param {string} hexStr The hex string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Hex.parse(hexString);\n\t */\n\t parse: function (hexStr) {\n\t // Shortcut\n\t var hexStrLength = hexStr.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < hexStrLength; i += 2) {\n\t words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4);\n\t }\n\n\t return new WordArray.init(words, hexStrLength / 2);\n\t }\n\t };\n\n\t /**\n\t * Latin1 encoding strategy.\n\t */\n\t var Latin1 = C_enc.Latin1 = {\n\t /**\n\t * Converts a word array to a Latin1 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The Latin1 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var latin1Chars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t latin1Chars.push(String.fromCharCode(bite));\n\t }\n\n\t return latin1Chars.join('');\n\t },\n\n\t /**\n\t * Converts a Latin1 string to a word array.\n\t *\n\t * @param {string} latin1Str The Latin1 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Latin1.parse(latin1String);\n\t */\n\t parse: function (latin1Str) {\n\t // Shortcut\n\t var latin1StrLength = latin1Str.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < latin1StrLength; i++) {\n\t words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8);\n\t }\n\n\t return new WordArray.init(words, latin1StrLength);\n\t }\n\t };\n\n\t /**\n\t * UTF-8 encoding strategy.\n\t */\n\t var Utf8 = C_enc.Utf8 = {\n\t /**\n\t * Converts a word array to a UTF-8 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The UTF-8 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t try {\n\t return decodeURIComponent(escape(Latin1.stringify(wordArray)));\n\t } catch (e) {\n\t throw new Error('Malformed UTF-8 data');\n\t }\n\t },\n\n\t /**\n\t * Converts a UTF-8 string to a word array.\n\t *\n\t * @param {string} utf8Str The UTF-8 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Utf8.parse(utf8String);\n\t */\n\t parse: function (utf8Str) {\n\t return Latin1.parse(unescape(encodeURIComponent(utf8Str)));\n\t }\n\t };\n\n\t /**\n\t * Abstract buffered block algorithm template.\n\t *\n\t * The property blockSize must be implemented in a concrete subtype.\n\t *\n\t * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0\n\t */\n\t var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({\n\t /**\n\t * Resets this block algorithm's data buffer to its initial state.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm.reset();\n\t */\n\t reset: function () {\n\t // Initial values\n\t this._data = new WordArray.init();\n\t this._nDataBytes = 0;\n\t },\n\n\t /**\n\t * Adds new data to this block algorithm's buffer.\n\t *\n\t * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm._append('data');\n\t * bufferedBlockAlgorithm._append(wordArray);\n\t */\n\t _append: function (data) {\n\t // Convert string to WordArray, else assume WordArray already\n\t if (typeof data == 'string') {\n\t data = Utf8.parse(data);\n\t }\n\n\t // Append\n\t this._data.concat(data);\n\t this._nDataBytes += data.sigBytes;\n\t },\n\n\t /**\n\t * Processes available data blocks.\n\t *\n\t * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.\n\t *\n\t * @param {boolean} doFlush Whether all blocks and partial blocks should be processed.\n\t *\n\t * @return {WordArray} The processed data.\n\t *\n\t * @example\n\t *\n\t * var processedData = bufferedBlockAlgorithm._process();\n\t * var processedData = bufferedBlockAlgorithm._process(!!'flush');\n\t */\n\t _process: function (doFlush) {\n\t var processedWords;\n\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\t var dataSigBytes = data.sigBytes;\n\t var blockSize = this.blockSize;\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Count blocks ready\n\t var nBlocksReady = dataSigBytes / blockSizeBytes;\n\t if (doFlush) {\n\t // Round up to include partial blocks\n\t nBlocksReady = Math.ceil(nBlocksReady);\n\t } else {\n\t // Round down to include only full blocks,\n\t // less the number of blocks that must remain in the buffer\n\t nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);\n\t }\n\n\t // Count words ready\n\t var nWordsReady = nBlocksReady * blockSize;\n\n\t // Count bytes ready\n\t var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);\n\n\t // Process blocks\n\t if (nWordsReady) {\n\t for (var offset = 0; offset < nWordsReady; offset += blockSize) {\n\t // Perform concrete-algorithm logic\n\t this._doProcessBlock(dataWords, offset);\n\t }\n\n\t // Remove processed words\n\t processedWords = dataWords.splice(0, nWordsReady);\n\t data.sigBytes -= nBytesReady;\n\t }\n\n\t // Return processed words\n\t return new WordArray.init(processedWords, nBytesReady);\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = bufferedBlockAlgorithm.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone._data = this._data.clone();\n\n\t return clone;\n\t },\n\n\t _minBufferSize: 0\n\t });\n\n\t /**\n\t * Abstract hasher template.\n\t *\n\t * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits)\n\t */\n\t var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({\n\t /**\n\t * Configuration options.\n\t */\n\t cfg: Base.extend(),\n\n\t /**\n\t * Initializes a newly created hasher.\n\t *\n\t * @param {Object} cfg (Optional) The configuration options to use for this hash computation.\n\t *\n\t * @example\n\t *\n\t * var hasher = CryptoJS.algo.SHA256.create();\n\t */\n\t init: function (cfg) {\n\t // Apply config defaults\n\t this.cfg = this.cfg.extend(cfg);\n\n\t // Set initial values\n\t this.reset();\n\t },\n\n\t /**\n\t * Resets this hasher to its initial state.\n\t *\n\t * @example\n\t *\n\t * hasher.reset();\n\t */\n\t reset: function () {\n\t // Reset data buffer\n\t BufferedBlockAlgorithm.reset.call(this);\n\n\t // Perform concrete-hasher logic\n\t this._doReset();\n\t },\n\n\t /**\n\t * Updates this hasher with a message.\n\t *\n\t * @param {WordArray|string} messageUpdate The message to append.\n\t *\n\t * @return {Hasher} This hasher.\n\t *\n\t * @example\n\t *\n\t * hasher.update('message');\n\t * hasher.update(wordArray);\n\t */\n\t update: function (messageUpdate) {\n\t // Append\n\t this._append(messageUpdate);\n\n\t // Update the hash\n\t this._process();\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Finalizes the hash computation.\n\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t *\n\t * @param {WordArray|string} messageUpdate (Optional) A final message update.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @example\n\t *\n\t * var hash = hasher.finalize();\n\t * var hash = hasher.finalize('message');\n\t * var hash = hasher.finalize(wordArray);\n\t */\n\t finalize: function (messageUpdate) {\n\t // Final message update\n\t if (messageUpdate) {\n\t this._append(messageUpdate);\n\t }\n\n\t // Perform concrete-hasher logic\n\t var hash = this._doFinalize();\n\n\t return hash;\n\t },\n\n\t blockSize: 512/32,\n\n\t /**\n\t * Creates a shortcut function to a hasher's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to create a helper for.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHelper: function (hasher) {\n\t return function (message, cfg) {\n\t return new hasher.init(cfg).finalize(message);\n\t };\n\t },\n\n\t /**\n\t * Creates a shortcut function to the HMAC's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to use in this HMAC helper.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHmacHelper: function (hasher) {\n\t return function (message, key) {\n\t return new C_algo.HMAC.init(hasher, key).finalize(message);\n\t };\n\t }\n\t });\n\n\t /**\n\t * Algorithm namespace.\n\t */\n\t var C_algo = C.algo = {};\n\n\t return C;\n\t}(Math));\n\n\n\treturn CryptoJS;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (Math) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_algo = C.algo;\n\n\t // Constants table\n\t var T = [];\n\n\t // Compute constants\n\t (function () {\n\t for (var i = 0; i < 64; i++) {\n\t T[i] = (Math.abs(Math.sin(i + 1)) * 0x100000000) | 0;\n\t }\n\t }());\n\n\t /**\n\t * MD5 hash algorithm.\n\t */\n\t var MD5 = C_algo.MD5 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = new WordArray.init([\n\t 0x67452301, 0xefcdab89,\n\t 0x98badcfe, 0x10325476\n\t ]);\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Swap endian\n\t for (var i = 0; i < 16; i++) {\n\t // Shortcuts\n\t var offset_i = offset + i;\n\t var M_offset_i = M[offset_i];\n\n\t M[offset_i] = (\n\t (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) |\n\t (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00)\n\t );\n\t }\n\n\t // Shortcuts\n\t var H = this._hash.words;\n\n\t var M_offset_0 = M[offset + 0];\n\t var M_offset_1 = M[offset + 1];\n\t var M_offset_2 = M[offset + 2];\n\t var M_offset_3 = M[offset + 3];\n\t var M_offset_4 = M[offset + 4];\n\t var M_offset_5 = M[offset + 5];\n\t var M_offset_6 = M[offset + 6];\n\t var M_offset_7 = M[offset + 7];\n\t var M_offset_8 = M[offset + 8];\n\t var M_offset_9 = M[offset + 9];\n\t var M_offset_10 = M[offset + 10];\n\t var M_offset_11 = M[offset + 11];\n\t var M_offset_12 = M[offset + 12];\n\t var M_offset_13 = M[offset + 13];\n\t var M_offset_14 = M[offset + 14];\n\t var M_offset_15 = M[offset + 15];\n\n\t // Working variables\n\t var a = H[0];\n\t var b = H[1];\n\t var c = H[2];\n\t var d = H[3];\n\n\t // Computation\n\t a = FF(a, b, c, d, M_offset_0, 7, T[0]);\n\t d = FF(d, a, b, c, M_offset_1, 12, T[1]);\n\t c = FF(c, d, a, b, M_offset_2, 17, T[2]);\n\t b = FF(b, c, d, a, M_offset_3, 22, T[3]);\n\t a = FF(a, b, c, d, M_offset_4, 7, T[4]);\n\t d = FF(d, a, b, c, M_offset_5, 12, T[5]);\n\t c = FF(c, d, a, b, M_offset_6, 17, T[6]);\n\t b = FF(b, c, d, a, M_offset_7, 22, T[7]);\n\t a = FF(a, b, c, d, M_offset_8, 7, T[8]);\n\t d = FF(d, a, b, c, M_offset_9, 12, T[9]);\n\t c = FF(c, d, a, b, M_offset_10, 17, T[10]);\n\t b = FF(b, c, d, a, M_offset_11, 22, T[11]);\n\t a = FF(a, b, c, d, M_offset_12, 7, T[12]);\n\t d = FF(d, a, b, c, M_offset_13, 12, T[13]);\n\t c = FF(c, d, a, b, M_offset_14, 17, T[14]);\n\t b = FF(b, c, d, a, M_offset_15, 22, T[15]);\n\n\t a = GG(a, b, c, d, M_offset_1, 5, T[16]);\n\t d = GG(d, a, b, c, M_offset_6, 9, T[17]);\n\t c = GG(c, d, a, b, M_offset_11, 14, T[18]);\n\t b = GG(b, c, d, a, M_offset_0, 20, T[19]);\n\t a = GG(a, b, c, d, M_offset_5, 5, T[20]);\n\t d = GG(d, a, b, c, M_offset_10, 9, T[21]);\n\t c = GG(c, d, a, b, M_offset_15, 14, T[22]);\n\t b = GG(b, c, d, a, M_offset_4, 20, T[23]);\n\t a = GG(a, b, c, d, M_offset_9, 5, T[24]);\n\t d = GG(d, a, b, c, M_offset_14, 9, T[25]);\n\t c = GG(c, d, a, b, M_offset_3, 14, T[26]);\n\t b = GG(b, c, d, a, M_offset_8, 20, T[27]);\n\t a = GG(a, b, c, d, M_offset_13, 5, T[28]);\n\t d = GG(d, a, b, c, M_offset_2, 9, T[29]);\n\t c = GG(c, d, a, b, M_offset_7, 14, T[30]);\n\t b = GG(b, c, d, a, M_offset_12, 20, T[31]);\n\n\t a = HH(a, b, c, d, M_offset_5, 4, T[32]);\n\t d = HH(d, a, b, c, M_offset_8, 11, T[33]);\n\t c = HH(c, d, a, b, M_offset_11, 16, T[34]);\n\t b = HH(b, c, d, a, M_offset_14, 23, T[35]);\n\t a = HH(a, b, c, d, M_offset_1, 4, T[36]);\n\t d = HH(d, a, b, c, M_offset_4, 11, T[37]);\n\t c = HH(c, d, a, b, M_offset_7, 16, T[38]);\n\t b = HH(b, c, d, a, M_offset_10, 23, T[39]);\n\t a = HH(a, b, c, d, M_offset_13, 4, T[40]);\n\t d = HH(d, a, b, c, M_offset_0, 11, T[41]);\n\t c = HH(c, d, a, b, M_offset_3, 16, T[42]);\n\t b = HH(b, c, d, a, M_offset_6, 23, T[43]);\n\t a = HH(a, b, c, d, M_offset_9, 4, T[44]);\n\t d = HH(d, a, b, c, M_offset_12, 11, T[45]);\n\t c = HH(c, d, a, b, M_offset_15, 16, T[46]);\n\t b = HH(b, c, d, a, M_offset_2, 23, T[47]);\n\n\t a = II(a, b, c, d, M_offset_0, 6, T[48]);\n\t d = II(d, a, b, c, M_offset_7, 10, T[49]);\n\t c = II(c, d, a, b, M_offset_14, 15, T[50]);\n\t b = II(b, c, d, a, M_offset_5, 21, T[51]);\n\t a = II(a, b, c, d, M_offset_12, 6, T[52]);\n\t d = II(d, a, b, c, M_offset_3, 10, T[53]);\n\t c = II(c, d, a, b, M_offset_10, 15, T[54]);\n\t b = II(b, c, d, a, M_offset_1, 21, T[55]);\n\t a = II(a, b, c, d, M_offset_8, 6, T[56]);\n\t d = II(d, a, b, c, M_offset_15, 10, T[57]);\n\t c = II(c, d, a, b, M_offset_6, 15, T[58]);\n\t b = II(b, c, d, a, M_offset_13, 21, T[59]);\n\t a = II(a, b, c, d, M_offset_4, 6, T[60]);\n\t d = II(d, a, b, c, M_offset_11, 10, T[61]);\n\t c = II(c, d, a, b, M_offset_2, 15, T[62]);\n\t b = II(b, c, d, a, M_offset_9, 21, T[63]);\n\n\t // Intermediate hash value\n\t H[0] = (H[0] + a) | 0;\n\t H[1] = (H[1] + b) | 0;\n\t H[2] = (H[2] + c) | 0;\n\t H[3] = (H[3] + d) | 0;\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\n\t var nBitsTotalH = Math.floor(nBitsTotal / 0x100000000);\n\t var nBitsTotalL = nBitsTotal;\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = (\n\t (((nBitsTotalH << 8) | (nBitsTotalH >>> 24)) & 0x00ff00ff) |\n\t (((nBitsTotalH << 24) | (nBitsTotalH >>> 8)) & 0xff00ff00)\n\t );\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = (\n\t (((nBitsTotalL << 8) | (nBitsTotalL >>> 24)) & 0x00ff00ff) |\n\t (((nBitsTotalL << 24) | (nBitsTotalL >>> 8)) & 0xff00ff00)\n\t );\n\n\t data.sigBytes = (dataWords.length + 1) * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Shortcuts\n\t var hash = this._hash;\n\t var H = hash.words;\n\n\t // Swap endian\n\t for (var i = 0; i < 4; i++) {\n\t // Shortcut\n\t var H_i = H[i];\n\n\t H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) |\n\t (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00);\n\t }\n\n\t // Return final computed hash\n\t return hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t }\n\t });\n\n\t function FF(a, b, c, d, x, s, t) {\n\t var n = a + ((b & c) | (~b & d)) + x + t;\n\t return ((n << s) | (n >>> (32 - s))) + b;\n\t }\n\n\t function GG(a, b, c, d, x, s, t) {\n\t var n = a + ((b & d) | (c & ~d)) + x + t;\n\t return ((n << s) | (n >>> (32 - s))) + b;\n\t }\n\n\t function HH(a, b, c, d, x, s, t) {\n\t var n = a + (b ^ c ^ d) + x + t;\n\t return ((n << s) | (n >>> (32 - s))) + b;\n\t }\n\n\t function II(a, b, c, d, x, s, t) {\n\t var n = a + (c ^ (b | ~d)) + x + t;\n\t return ((n << s) | (n >>> (32 - s))) + b;\n\t }\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.MD5('message');\n\t * var hash = CryptoJS.MD5(wordArray);\n\t */\n\t C.MD5 = Hasher._createHelper(MD5);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacMD5(message, key);\n\t */\n\t C.HmacMD5 = Hasher._createHmacHelper(MD5);\n\t}(Math));\n\n\n\treturn CryptoJS.MD5;\n\n}));",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["TranslationError","Error","region","constructor","message","super","this","captureStackTrace","OPEN_AI_MODELS","Cache","cache","Map","set","key","value","time","oldRecord","get","clearTimeout","timeout","record","expire","Date","now","isNaN","setTimeout","del","canDelete","delete","clear","val","entries","useLogger","name","log","args","info","console","error","warn","getGapLine","repeat","getErrorMessages","e","prefix","TypeError","cause","async","throwResponseError","res","bodyRes","json","status","statusText","CryptoJS","module","exports","Math","undefined","crypto","window","self","globalThis","msCrypto","global","require$$0","err","cryptoSecureRandomInt","getRandomValues","Uint32Array","randomBytes","readInt32LE","create","Object","F","obj","subtype","prototype","C","C_lib","lib","Base","extend","overrides","mixIn","hasOwnProperty","init","$super","apply","arguments","instance","properties","propertyName","toString","clone","WordArray","words","sigBytes","length","encoder","Hex","stringify","concat","wordArray","thisWords","thatWords","thisSigBytes","thatSigBytes","clamp","i","thatByte","j","ceil","call","slice","random","nBytes","push","C_enc","enc","hexChars","bite","join","parse","hexStr","hexStrLength","parseInt","substr","Latin1","latin1Chars","String","fromCharCode","latin1Str","latin1StrLength","charCodeAt","Utf8","decodeURIComponent","escape","utf8Str","unescape","encodeURIComponent","BufferedBlockAlgorithm","reset","_data","_nDataBytes","_append","data","_process","doFlush","processedWords","dataWords","dataSigBytes","blockSize","nBlocksReady","nWordsReady","max","_minBufferSize","nBytesReady","min","offset","_doProcessBlock","splice","Hasher","cfg","_doReset","update","messageUpdate","finalize","_doFinalize","_createHelper","hasher","_createHmacHelper","C_algo","HMAC","algo","T","abs","sin","MD5","_hash","M","offset_i","M_offset_i","H","M_offset_0","M_offset_1","M_offset_2","M_offset_3","M_offset_4","M_offset_5","M_offset_6","M_offset_7","M_offset_8","M_offset_9","M_offset_10","M_offset_11","M_offset_12","M_offset_13","M_offset_14","M_offset_15","a","b","c","d","FF","GG","HH","II","nBitsTotal","nBitsLeft","nBitsTotalH","floor","nBitsTotalL","hash","H_i","x","s","t","n","HmacMD5","logger","sha256","secret","encoding","createHmac","digest","getHash","createHash","buildAuthorization","secretId","secretKey","service","host","payload","httpRequestMethod","action","apiVersion","timestamp","date","getUTCFullYear","getUTCMonth","getUTCDate","getDate","canonicalHeaders","signedHeaders","hashedRequestPayload","algorithm","credentialScope","stringToSign","kDate","kService","kSigning","headers","Authorization","Host","engines","google","options","translate","text","opts","from","to","Array","isArray","textStr","url","encodeURI","fetch","ok","body","translations","item","replaceAll","checkOptions","method","JSON","map","it","Text","code","translation","accessKeyId","secretAccessKey","translateClient","TranslateClient","credentials","command","TranslateTextCommand","SourceLanguageCode","TargetLanguageCode","response","send","TranslatedText","translateText","split","appId","domain","q","salt","sign","md5","URLSearchParams","append","error_code","trans_result","error_msg","dst","Accept","Connection","source_lang","target_lang","apiKey","model","maxTokens","outputLog","includes","prompt","role","content","messages","max_tokens","temperature","choices","marks","trim","filter","Boolean","endpoint","source","payloadObj","SourceText","Source","Target","ProjectId","Response","Code","Message","translatedResults","TargetText","azure","Afrikaans","Albanian","Amharic","Arabic","Armenian","Assamese","Azerbaijani","Bashkir","Basque","Bengali","Bhojpuri","Bosnian","Bulgarian","Burmese","Catalan","Chhattisgarhi","Chinese","Croatian","Czech","Danish","Dari","Dhivehi","Dogri","Double","Dutch","English","Estonian","Faroese","Fijian","Filipino","Finnish","French","Galician","Georgian","German","Greek","Gujarati","Hausa","Hebrew","Hindi","Hmong","Hungarian","Icelandic","Igbo","Indonesian","Inuinnaqtun","Inuktitut","Irish","Italian","Japanese","Kannada","Kashmiri","Kazakh","Khmer","Kikwanda","Konkani","Korean","Kyrgyz","Lao","Latvian","Lingala","Lithuanian","Maithili","Malagasian","Malay","Malayalam","Maltese","Manipuri","Marathi","Nepali","Nyanja","Oriya","Pashto","Persian","Polish","Punjabi","Romanian","Rounds","Russian","Samoan","Sesotho","Setswana","Shona","Sindhi","Sinhalese","Slovak","Slovenian","Somali","Spanish","Swahili","Swedish","Tahiti","Tamil","Tatar","Telugu","Thai","Tibetan","Tigrinya","Tongan","Turkish","Turkmen","Uighur","Ukrainian","Urdu","Uzbek","Vietnamese","Welsh","Will","Xhosa","Yoruba","Zulu","openai","Abkhazian","Acehnese","Afar","Alur","Avar","Awadhi","Aymara","Badawi","Balinese","Balochi","Bambara","Bangasinan","Batakkalo","Bataktoba","Baure","Belarusian","Bikol","Breton","Cantonese","Casey","Cebuano","Chechen","Chevi","Chicheva","Chiga","Chuk","Chuvash","Conga","Corsican","Dinka","Dogra","Dyula","Dzongka","Elocano","Esperanto","Ewe","Frisian","Friulian","Fulani","Ga","Gongen","Gorkbojok","Greenlandic","Guarani","Hakachin","Hawaiian","Heligaignon","Iban","Javanese","Kanuri","Kekchi","Kithuba","Kongo","Latin","Ligurian","Limburg","Lombard","Luganda","Luo","Luxembourg","Madura","Makassar","Mamu","Manx","Marshallese","Minan","Mizo","Mongolian","Ndombe","Norwegian","Nuer","Occitan","Ossetian","Pampangja","Papiamento","Pemba","Quechua","Ratgale","Romani","Rondi","Sabatec","Sakha","Sango","Sanskrit","Santali","Serbian","Shan","Sicilian","Silesian","Sundanese","Swat","Tajik","Tamaset","Tetum","Tswana","Tulu","Tuvan","Udmurtic","Venda","Venetian","Yiddish","baidu","Achinese","Akan","Aragonese","Asturian","Baluchi","BasaSunda","Bemba","Bislama","Blin","Buriat","Cherokee","Chichewa","Cornish","Creek","Divehi","Dzongkha","Gaelic","Hiligaynon","Hupa","Ido","Ingush","Kabyle","Kalaallisut","Kalmyk","Kashubian","Kinyarwanda","Klingon","Kurdish","Latgalian","Limburgish","Lojban","Luxembourgish","Macedonian","Malagasy","Maori","Montenegrin","Neapolitan","Nynorsk","Ojibwa","Oromo","Pampanga","Portuguese","Romansh","Romany","Rusyn","Sardinian","Scots","Sinhala","Syriac","Tagalog","Tsonga","Twi","Uyghur","Walloon","Wolof","Zaza","amazon","originLanguages","deepl","tencent","Auto","TraditionalChinese","targetLanguages","getLanguage","engine","appName","defaultMaxCharacterNum","Translator","cache_time","concurrencyMax","concurrencyDelay","use","addEngine","has","removeEngine","engineName","engineLanguages","keys","values","normalFromLanguage","normalToLanguage","engineInstance","Promise","resolve","concurrencyHandle","then","translated","catch","max_character_num","maxCharacterNum","reduce","pre","cur","isOverMaxCharacterNum","concurrencyTranslate","maxCharacterMum","pendingTasks","SPLIT_PRIORITY","chunks","chunk","splitPos","delimiter","regex","RegExp","m","longestMatch","exec","index","lastIndex","lastIndexOf","splitText","result","activeTasks","reject","processTasks","shift","finally","sort","arr","ms","translator"],"mappings":"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","x_google_ignoreList":[4,5]}
|