@spacex110/core 0.1.15 → 0.1.17
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/dist/index.d.ts +337 -0
- package/dist/index.js +2553 -1893
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +19 -0
- package/dist/index.umd.js.map +1 -0
- package/package.json +1 -1
- package/src/channel-manager.ts +190 -2
- package/src/index.ts +18 -0
- package/src/multimodal-normalize.ts +170 -0
- package/src/providers.ts +2 -2
- package/src/strategies.ts +735 -1
- package/src/types.ts +177 -0
- package/dist/channel-manager.d.ts +0 -276
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
(function(U,f0){typeof exports=="object"&&typeof module<"u"?f0(exports):typeof define=="function"&&define.amd?define(["exports"],f0):(U=typeof globalThis<"u"?globalThis:U||self,f0(U.AISelectorCore={}))})(this,(function(U){"use strict";const f0={zh:{save:"保存配置",saved:"保存成功",providerLabel:"Provider",modelLabel:"Model",selectProvider:"选择 Provider...",customBaseUrl:"自定义 Base URL",apiKeyLabel:"API Key",apiKeyPlaceholder:"输入 API Key...",testConnection:"测试模型连接",testing:"测试中...",testSuccess:"连接成功",testFailed:"测试连通性失败",selectModel:"选择 Model...",searchModel:"搜索或自定义模型...",useCustom:"使用自定义",noModels:"暂无模型数据",apiKeyTip:"输入 API Key 后可获取完整模型列表",fetchModelsFailed:"拉取模型列表失败,已使用离线模型列表",refreshingModels:"列表刷新中...",modelListUpdated:"模型列表已刷新",preview:"配置预览",unselected:"(未选择)",customProvider:"自定义 (Custom)",baseUrlRequired:"请输入 Base URL",baseUrlPlaceholder:"输入 API 地址,如 http://localhost:11434/v1",apiKeyOptional:"API Key(可选)",modelAllTypes:"全部",modelCount:"个"},en:{save:"Save Config",saved:"Saved",providerLabel:"Provider",modelLabel:"Model",selectProvider:"Select Provider...",customBaseUrl:"Custom Base URL",apiKeyLabel:"API Key",apiKeyPlaceholder:"Enter API Key...",testConnection:"Test Model Connection",testing:"Testing...",testSuccess:"Connection Successful",testFailed:"Connection Failed",selectModel:"Select Model...",searchModel:"Search or custom models...",useCustom:"Use custom",noModels:"No models found",apiKeyTip:"Enter API Key to fetch full model list",fetchModelsFailed:"Failed to fetch model list, using offline models",refreshingModels:"Refreshing models...",modelListUpdated:"Model list updated",preview:"Config Preview",unselected:"(Unselected)",customProvider:"自定义 (Custom)",baseUrlRequired:"Base URL is required",baseUrlPlaceholder:"Enter API URL, e.g. http://localhost:11434/v1",apiKeyOptional:"API Key (optional)",modelAllTypes:"All",modelCount:""}},Pt={text:{type:"text",label:"Text",labelZh:"文本",icon:"💬"},vision:{type:"vision",label:"Vision",labelZh:"视觉",icon:"🖼️"},audio:{type:"audio",label:"Audio",labelZh:"音频",icon:"🎤"},video:{type:"video",label:"Video",labelZh:"视频",icon:"🎬"},embedding:{type:"embedding",label:"Embedding",labelZh:"嵌入",icon:"📐"},reasoning:{type:"reasoning",label:"Reasoning",labelZh:"推理",icon:"🧠"}},Q="https://registry.npmmirror.com/@lobehub/icons-static-svg/1.77.0/files/icons",R={OPENAI:"openai",ANTHROPIC:"anthropic",GEMINI:"gemini",DEEPSEEK:"deepseek",OPENROUTER:"openrouter",GROQ:"groq",MISTRAL:"mistral",MOONSHOT:"moonshot",QWEN:"qwen",ZHIPU:"zhipu",SILICONFLOW:"siliconflow",XAI:"xai",TOGETHER:"together",FIREWORKS:"fireworks",DEEPINFRA:"deepinfra",PERPLEXITY:"perplexity",COHERE:"cohere",OLLAMA:"ollama",DOUBAO:"doubao",MINIMAX:"minimax",MINIMAX_CN:"minimax-cn",CUSTOM:"custom"},u0={[R.OPENAI]:{id:R.OPENAI,name:"OpenAI",baseUrl:"https://api.openai.com/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/openai.svg`},[R.ANTHROPIC]:{id:R.ANTHROPIC,name:"Anthropic (Claude)",baseUrl:"https://api.anthropic.com/v1",needsApiKey:!0,apiFormat:"anthropic",supportsModelsApi:!0,icon:`${Q}/anthropic.svg`},[R.GEMINI]:{id:R.GEMINI,name:"Google Gemini",baseUrl:"https://generativelanguage.googleapis.com/v1beta",needsApiKey:!0,apiFormat:"gemini",supportsModelsApi:!0,icon:`${Q}/gemini.svg`},[R.OPENROUTER]:{id:R.OPENROUTER,name:"OpenRouter",baseUrl:"https://openrouter.ai/api/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/openrouter.svg`},[R.DEEPSEEK]:{id:R.DEEPSEEK,name:"DeepSeek",baseUrl:"https://api.deepseek.com",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/deepseek.svg`},[R.MOONSHOT]:{id:R.MOONSHOT,name:"Moonshot (Kimi)",baseUrl:"https://api.moonshot.cn/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/moonshot.svg`},[R.QWEN]:{id:R.QWEN,name:"通义千问 (Qwen)",baseUrl:"https://dashscope.aliyuncs.com/compatible-mode/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/qwen.svg`},[R.ZHIPU]:{id:R.ZHIPU,name:"智谱 AI (GLM)",baseUrl:"https://open.bigmodel.cn/api/paas/v4",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/zhipu.svg`},[R.SILICONFLOW]:{id:R.SILICONFLOW,name:"硅基流动 (siliconflow)",baseUrl:"https://api.siliconflow.cn/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/siliconcloud.svg`},[R.DOUBAO]:{id:R.DOUBAO,name:"火山方舟 (Doubao)",baseUrl:"https://ark.cn-beijing.volces.com/api/v3",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/doubao.svg`},[R.MINIMAX]:{id:R.MINIMAX,name:"MiniMax",baseUrl:"https://api.minimax.io/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/minimax.svg`},[R.MINIMAX_CN]:{id:R.MINIMAX_CN,name:"MiniMax (国内)",baseUrl:"https://api.minimaxi.com/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/minimax.svg`},[R.XAI]:{id:R.XAI,name:"xAI (Grok)",baseUrl:"https://api.x.ai/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/grok.svg`},[R.GROQ]:{id:R.GROQ,name:"Groq",baseUrl:"https://api.groq.com/openai/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/groq.svg`},[R.MISTRAL]:{id:R.MISTRAL,name:"Mistral AI",baseUrl:"https://api.mistral.ai/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/mistral.svg`},[R.TOGETHER]:{id:R.TOGETHER,name:"Together AI",baseUrl:"https://api.together.xyz/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/together.svg`},[R.FIREWORKS]:{id:R.FIREWORKS,name:"Fireworks AI",baseUrl:"https://api.fireworks.ai/inference/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/fireworks.svg`},[R.DEEPINFRA]:{id:R.DEEPINFRA,name:"DeepInfra",baseUrl:"https://api.deepinfra.com/v1/openai",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/deepinfra.svg`},[R.PERPLEXITY]:{id:R.PERPLEXITY,name:"Perplexity",baseUrl:"https://api.perplexity.ai",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!1,icon:`${Q}/perplexity.svg`},[R.COHERE]:{id:R.COHERE,name:"Cohere",baseUrl:"https://api.cohere.com/v2",needsApiKey:!0,apiFormat:"cohere",supportsModelsApi:!0,icon:`${Q}/cohere.svg`},[R.OLLAMA]:{id:R.OLLAMA,name:"Ollama (Local)",baseUrl:"http://localhost:11434/v1",needsApiKey:!1,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/ollama.svg`},[R.CUSTOM]:{id:R.CUSTOM,name:"自定义 (Custom)",baseUrl:"",needsApiKey:!1,apiFormat:"openai",supportsModelsApi:!0,icon:""}};function J(n){return u0[n]}function xe(){return Object.values(u0)}function Ae(n){return xe().filter(e=>e.apiFormat===n)}const ge={[R.OPENAI]:[{id:"gpt-5.2-pro",name:"GPT-5.2 Pro"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-nano",name:"GPT-5 Nano"},{id:"gpt-4.1",name:"GPT-4.1"}],[R.ANTHROPIC]:[{id:"claude-opus-4.5-20251101",name:"Claude Opus 4.5"},{id:"claude-opus-4.5-20251101-thinking",name:"Claude Opus 4.5 Thinking"},{id:"claude-sonnet-4.5-20250929",name:"Claude Sonnet 4.5"},{id:"claude-sonnet-4.5-20250929-thinking",name:"Claude Sonnet 4.5 Thinking"},{id:"claude-haiku-4.5-20251001",name:"Claude Haiku 4.5"},{id:"claude-haiku-4.5-20251001-thinking",name:"Claude Haiku 4.5 Thinking"},{id:"claude-opus-4.1-20250805",name:"Claude Opus 4.1"},{id:"claude-opus-4.1-20250805-thinking",name:"Claude Opus 4.1 Thinking"}],[R.GEMINI]:[{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash-Lite"}],[R.DEEPSEEK]:[{id:"deepseek-chat",name:"Deepseek Chat"},{id:"deepseek-reasoner",name:"Deepseek Reasoner"}],[R.MISTRAL]:[{id:"mistral-large-latest",name:"Mistral Large"},{id:"mistral-medium-latest",name:"Mistral Medium"},{id:"mistral-small-latest",name:"Mistral Small"},{id:"codestral-latest",name:"Codestral"},{id:"devstral-latest",name:"Devstral"},{id:"magistral-medium-latest",name:"Magistral Medium"},{id:"pixtral-large-latest",name:"Pixtral Large"},{id:"pixtral-12b-latest",name:"Pixtral 12B"},{id:"ministral-8b-latest",name:"Ministral 8B"},{id:"ministral-3b-latest",name:"Ministral 3B"}],[R.GROQ]:[{id:"canopylabs/orpheus-v1-english",name:"Orpheus V1 English"},{id:"canopylabs/orpheus-arabic-saudi",name:"Orpheus Arabic Saudi"},{id:"moonshotai/kimi-k2-instruct",name:"Kimi K2 Instruct"},{id:"groq/compound-mini",name:"Compound Mini"},{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B Versatile"},{id:"openai/gpt-oss-120b",name:"Gpt Oss 120B"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"groq/compound",name:"Compound"},{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick 17B 128E Instruct"}],[R.XAI]:[{id:"grok-4",name:"Grok 4"},{id:"grok-4-fast",name:"Grok 4 Fast"},{id:"grok-3-latest",name:"Grok 3"},{id:"grok-3-fast",name:"Grok 3 Fast"},{id:"grok-3-mini-latest",name:"Grok 3 Mini"},{id:"grok-3-mini-fast",name:"Grok 3 Mini Fast"},{id:"grok-vision-beta",name:"Grok Vision (Beta)"}],[R.TOGETHER]:[{id:"Qwen/Qwen2.5-72B-Instruct-Turbo",name:"Qwen2.5 72B Instruct Turbo"},{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3 235B A22B Thinking 2507"},{id:"deepseek-ai/DeepSeek-R1",name:"Deepseek R1"},{id:"deepseek-ai/DeepSeek-V3.1",name:"Deepseek V3.1"},{id:"meta-llama/Llama-3.2-3B-Instruct-Turbo",name:"Llama 3.2 3B Instruct Turbo"},{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B Instruct Turbo"},{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo-Free",name:"Llama 3.3 70B Instruct Turbo Free"}],[R.FIREWORKS]:[{id:"accounts/fireworks/models/llama4-scout-instruct-basic",name:"Llama4 Scout Instruct Basic"},{id:"accounts/fireworks/models/qwen3-vl-235b-a22b-thinking",name:"Qwen3 Vl 235B A22B Thinking"},{id:"accounts/fireworks/models/deepseek-v3p2",name:"Deepseek V3P2"},{id:"accounts/fireworks/models/qwen3-vl-30b-a3b-thinking",name:"Qwen3 Vl 30B A3B Thinking"},{id:"accounts/fireworks/models/qwen3-8b",name:"Qwen3 8B"},{id:"accounts/fireworks/models/qwen3-vl-30b-a3b-instruct",name:"Qwen3 Vl 30B A3B Instruct"},{id:"accounts/fireworks/models/qwen2p5-vl-32b-instruct",name:"Qwen2P5 Vl 32B Instruct"},{id:"accounts/fireworks/models/llama4-maverick-instruct-basic",name:"Llama4 Maverick Instruct Basic"},{id:"accounts/fireworks/models/qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507"},{id:"accounts/fireworks/models/qwen3-coder-480b-a35b-instruct",name:"Qwen3 Coder 480B A35B Instruct"}],[R.DEEPINFRA]:[{id:"meta-llama/Llama-3.2-11B-Vision-Instruct",name:"Llama 3.2 11B Vision Instruct"},{id:"Qwen/Qwen3-32B",name:"Qwen3 32B"},{id:"NousResearch/Hermes-3-Llama-3.1-70B",name:"Hermes 3 Llama 3.1 70B"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen2.5 72B Instruct"},{id:"deepseek-ai/DeepSeek-V3-0324",name:"Deepseek V3 0324"},{id:"Qwen/Qwen3-VL-235B-A22B-Instruct",name:"Qwen3 Vl 235B A22B Instruct"},{id:"meta-llama/Llama-3.2-3B-Instruct",name:"Llama 3.2 3B Instruct"},{id:"Qwen/Qwen2.5-VL-32B-Instruct",name:"Qwen2.5 Vl 32B Instruct"},{id:"meta-llama/Meta-Llama-3.1-8B-Instruct",name:"Meta Llama 3.1 8B Instruct"},{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo",name:"Qwen3 Coder 480B A35B Instruct Turbo"}],[R.OPENROUTER]:[{id:"google/gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"mistralai/mistral-small-creative",name:"Mistral Small Creative"},{id:"openai/gpt-5.2-chat",name:"Gpt 5.2 Chat"},{id:"openai/gpt-5.2-pro",name:"Gpt 5.2 Pro"},{id:"openai/gpt-5.2",name:"Gpt 5.2"},{id:"mistralai/devstral-2512",name:"Devstral 2512"},{id:"openai/gpt-5.1-codex-max",name:"Gpt 5.1 Codex Max"},{id:"mistralai/ministral-14b-2512",name:"Ministral 14B 2512"},{id:"mistralai/ministral-8b-2512",name:"Ministral 8B 2512"},{id:"mistralai/ministral-3b-2512",name:"Ministral 3B 2512"},{id:"mistralai/mistral-large-2512",name:"Mistral Large 2512"},{id:"deepseek/deepseek-v3.2-speciale",name:"Deepseek V3.2 Speciale"}],[R.PERPLEXITY]:[{id:"codellama-34b-instruct",name:"Codellama 34B Instruct"},{id:"codellama-70b-instruct",name:"Codellama 70B Instruct"},{id:"llama-2-70b-chat",name:"Llama 2 70B Chat"},{id:"llama-3.1-70b-instruct",name:"Llama 3.1 70B Instruct"},{id:"llama-3.1-8b-instruct",name:"Llama 3.1 8B Instruct"},{id:"llama-3.1-sonar-huge-128k-online",name:"Llama 3.1 Sonar Huge 128K Online"},{id:"llama-3.1-sonar-large-128k-chat",name:"Llama 3.1 Sonar Large 128K Chat"},{id:"llama-3.1-sonar-large-128k-online",name:"Llama 3.1 Sonar Large 128K Online"},{id:"llama-3.1-sonar-small-128k-chat",name:"Llama 3.1 Sonar Small 128K Chat"}],[R.COHERE]:[{id:"command-a-vision-07-2025",name:"Command A Vision 07 2025"},{id:"command-a-reasoning-08-2025",name:"Command A Reasoning 08 2025"},{id:"command-r-08-2024",name:"Command R 08 2024"},{id:"command-r7b-arabic-02-2025",name:"Command R7B Arabic 02 2025"},{id:"command-r7b-12-2024",name:"Command R7B 12 2024"}],[R.MOONSHOT]:[{id:"moonshot-v1-128k",name:"Moonshot 128K"},{id:"moonshot-v1-32k",name:"Moonshot 32K"},{id:"moonshot-v1-8k",name:"Moonshot 8K"},{id:"kimi-k2-0711-chat",name:"Kimi K2 Chat"},{id:"moonshot-v1-auto",name:"Moonshot Auto"}],[R.QWEN]:[{id:"qwen-flash",name:"Qwen Flash"},{id:"qwen3-vl-plus-2025-12-19",name:"Qwen3 Vl Plus 2025 12 19"},{id:"qwen3-tts-vd-realtime-2025-12-16",name:"Qwen3 Tts Vd Realtime 2025 12 16"},{id:"qwen-image-edit-plus-2025-12-15",name:"Qwen Image Edit Plus 2025 12 15"},{id:"qwen3-omni-flash-2025-12-01",name:"Qwen3 Omni Flash 2025 12 01"},{id:"qwen3-omni-flash-realtime-2025-12-01",name:"Qwen3 Omni Flash Realtime 2025 12 01"},{id:"qwen3-livetranslate-flash-2025-12-01",name:"Qwen3 Livetranslate Flash 2025 12 01"},{id:"qwen3-livetranslate-flash",name:"Qwen3 Livetranslate Flash"},{id:"qwen-plus-2025-12-01",name:"Qwen Plus 2025 12 01"},{id:"qwen3-tts-vc-realtime-2025-11-27",name:"Qwen3 Tts Vc Realtime 2025 11 27"}],[R.ZHIPU]:[{id:"glm-4.5",name:"Glm 4.5"},{id:"glm-4.5-air",name:"Glm 4.5 Air"},{id:"glm-4.6",name:"Glm 4.6"},{id:"glm-4.7",name:"Glm 4.7"}],[R.SILICONFLOW]:[{id:"deepseek-ai/DeepSeek-V3.2",name:"Deepseek V3.2"},{id:"deepseek-ai/DeepSeek-V3.1-Terminus",name:"Deepseek V3.1 Terminus"},{id:"deepseek-ai/DeepSeek-R1",name:"Deepseek R1"},{id:"deepseek-ai/DeepSeek-V3",name:"Deepseek V3"},{id:"zai-org/GLM-4.6V",name:"Glm 4.6V"},{id:"zai-org/GLM-4.6",name:"Glm 4.6"},{id:"Pro/zai-org/GLM-4.7",name:"Glm 4.7"},{id:"Qwen/Qwen3-VL-32B-Instruct",name:"Qwen3 Vl 32B Instruct"}],[R.OLLAMA]:[{id:"llama3.3",name:"Llama 3.3"},{id:"llama3.2",name:"Llama 3.2"},{id:"qwq",name:"QwQ (推理)"},{id:"qwen3:32b",name:"Qwen3 32B"},{id:"deepseek-r1:32b",name:"DeepSeek R1 32B"},{id:"deepseek-coder-v2",name:"DeepSeek Coder V2"},{id:"gemma3:27b",name:"Gemma 3 27B"},{id:"mistral:7b",name:"Mistral 7B"},{id:"phi4",name:"Phi 4"},{id:"codellama",name:"Code Llama"}],[R.DOUBAO]:[{id:"doubao-seed-1-8-251215",name:"Doubao 1.8"},{id:"doubao-seed-1-6-251015",name:"Doubao 1.6"},{id:"doubao-seed-1-6-lite-251015",name:"Doubao 1.6 Lite"},{id:"doubao-seed-1-6-flash-250828",name:"Doubao 1.6 Flash"},{id:"doubao-seed-1-6-thinking-250615",name:"Doubao 1.6 Thinking"}],[R.MINIMAX]:[{id:"MiniMax-M2.1",name:"MiniMax M2.1"},{id:"MiniMax-M2.1-lightning",name:"MiniMax M2.1 Lightning"},{id:"MiniMax-M2",name:"MiniMax M2"}],[R.MINIMAX_CN]:[{id:"MiniMax-M2.1",name:"MiniMax M2.1"},{id:"MiniMax-M2.1-lightning",name:"MiniMax M2.1 Lightning"},{id:"MiniMax-M2",name:"MiniMax M2"}]};function h0(n){return ge[n]||[]}async function ye(n){if(n.type==="text")return{type:"text",data:n.text};let e,t,r;if(n.type==="image_url")e=n.image_url.url,n.image_url.detail&&(r={detail:n.image_url.detail});else if(n.type==="image")n.source.type==="base64"?(e=`data:${n.source.media_type};base64,${n.source.data}`,t=n.source.media_type):e=n.source.url;else if(n.type==="inline_data")e=`data:${n.inline_data.mime_type};base64,${n.inline_data.data}`,t=n.inline_data.mime_type;else if(n.type==="audio")e=`data:audio/${n.input_audio.format};base64,${n.input_audio.data}`,t=`audio/${n.input_audio.format}`;else throw new Error(`未知的 ContentPart 类型: ${n.type}`);if(/^https?:\/\//i.test(e)){const o=await Ee(e);return{type:"image",data:o.dataUri,mimeType:o.mimeType,meta:{...r,remoteUrlOnly:o.fallback?e:void 0}}}if(/^data:/i.test(e)){const o=/^data:([^;,]+)/.exec(e);return{type:n.type==="audio"?"audio":"image",data:e,mimeType:t||(o==null?void 0:o[1]),meta:r}}const i=t||(n.type==="audio"?"audio/mpeg":"image/png");return{type:n.type==="audio"?"audio":"image",data:`data:${i};base64,${e}`,mimeType:i,meta:r}}async function Ee(n){try{const e=await fetch(n);if(!e.ok)return{dataUri:n,fallback:!0};const t=e.headers.get("content-type")||void 0,r=await e.arrayBuffer(),i=It(r);return{dataUri:`data:${t||"image/png"};base64,${i}`,mimeType:t,fallback:!1}}catch{return{dataUri:n,fallback:!0}}}function It(n){const e=globalThis;if(e.Buffer&&typeof e.Buffer.from=="function")return e.Buffer.from(n).toString("base64");let t="";const r=new Uint8Array(n),i=32768;for(let o=0;o<r.length;o+=i)t+=String.fromCharCode.apply(null,Array.from(r.subarray(o,o+i)));return e.btoa?e.btoa(t):t}async function ce(n){const e=[];for(const t of n){const r=t.role==="tool"?"user":t.role;if(typeof t.content=="string"){e.push({role:r,parts:[{type:"text",data:t.content}]});continue}const i=[];for(const o of t.content)i.push(await ye(o));e.push({role:r,parts:i})}return e}function Fe(n){return/^o\d/.test(n)||/reasoner|thinking|o1|o3|o4/i.test(n)}function x0(n){if(!n)return null;const e=/^data:([^;,]+)/.exec(n);return e?e[1]:null}function le(n){const e=new Set,t=n.input_modalities||[];if(t.length>0)return t.some(x=>/text/i.test(x))&&e.add("text"),t.some(x=>/image|vision/i.test(x))&&e.add("vision"),t.some(x=>/audio/i.test(x))&&e.add("audio"),t.some(x=>/video/i.test(x))&&e.add("video"),e.size===0&&e.add("text"),Array.from(e);const r=n.capabilities;if(r&&((r.vision||r.image)&&(e.add("vision"),e.add("text")),r.audio&&e.add("audio"),r.video&&e.add("video"),r.embeddings&&e.add("embedding"),e.size>0))return Array.from(e);const i=(n.id||"").toLowerCase(),o=(n.name||"").toLowerCase(),B=`${i} ${o}`;return e.add("text"),/vision|image|visual|multimodal|vl|pixtral|llava|bakllava/.test(B)&&e.add("vision"),/audio|speech|whisper|tts|stt/.test(B)&&e.add("audio"),/video/.test(B)&&e.add("video"),/embedding|embed/.test(B)&&e.add("embedding"),/reasoner|reasoning|thinking|qwq/.test(B)&&e.add("reasoning"),Array.from(e)}const Rt=n=>Array.isArray(n==null?void 0:n.data)?n.data.filter(e=>e.id).map(e=>{const t=e.name||e.display_name||(e.id.split("/").pop()??"").replace(/[-_]/g," ").replace(/\b\w/g,r=>r.toUpperCase());return{id:e.id,name:t,created:e.created||0,contextLength:e.context_length||e.max_context||void 0,capabilities:le(e)}}).sort((e,t)=>{const r=(t.created||0)-(e.created||0);return r!==0?r:(t.id||"").localeCompare(e.id||"")}):[],De={format:"openai",getModelsEndpoint:n=>`${n}/models`,getChatEndpoint:n=>`${n}/chat/completions`,buildHeaders:(n,e)=>{const t={"Content-Type":"application/json",Authorization:`Bearer ${n}`};if(!!e&&/openrouter\.ai/i.test(e)&&typeof window<"u"&&window.location){t["HTTP-Referer"]=window.location.origin;const i=document.title?document.title.replace(/[^\x20-\x7E]/g,"").slice(0,80):"AI Selector";t["X-Title"]=i||"AI Selector"}return t},buildChatPayload:(n,e,t)=>{const r={model:n,messages:e};return t&&(r[Fe(n)?"max_completion_tokens":"max_tokens"]=t),r},parseChatResponse:n=>{var e,t,r;return((r=(t=(e=n.choices)==null?void 0:e[0])==null?void 0:t.message)==null?void 0:r.content)||""},parseStreamChunk:n=>{var e,t,r;return((r=(t=(e=n.choices)==null?void 0:e[0])==null?void 0:t.delta)==null?void 0:r.content)||""},supportsMultimodalInput:!0,supportsMultimodalOutput:!0,buildMultimodalChatPayload:(n,e,t)=>{var o;const r=e.map(B=>({role:B.role,content:B.parts.map(x=>{var c,a;if(x.type==="text")return{type:"text",text:x.data};if(x.type==="image"){const s=((c=x.meta)==null?void 0:c.detail)||"auto";return{type:"image_url",image_url:{url:x.data,detail:s}}}if(x.type==="audio"){const s=(a=x.mimeType)!=null&&a.includes("mp3")?"mp3":"wav";return{type:"input_audio",input_audio:{data:x.data,format:s}}}return{type:"text",text:""}})})),i={model:n,messages:r};return t.maxTokens&&(i[Fe(n)?"max_completion_tokens":"max_tokens"]=t.maxTokens),t.temperature!==void 0&&(i.temperature=t.temperature),(o=t.outputModalities)!=null&&o.length&&/openrouter\.ai/i.test(t.baseUrl)&&(i.modalities=t.outputModalities),i},parseMultimodalChatResponse:n=>{var B,x,c,a,s;const e=(x=(B=n.choices)==null?void 0:B[0])==null?void 0:x.message;if(!e)return{role:"assistant",content:"",raw:n};let t="";typeof e.content=="string"?t=e.content:Array.isArray(e.content)&&(t=e.content.filter(C=>C.type==="text").map(C=>C.text||"").join(""));const r=[];if(Array.isArray(e.images))for(const C of e.images){const l=(c=C.image_url)==null?void 0:c.url;l?r.push({type:"image",url:l,mimeType:C.mimeType||x0(l)||"image/png"}):C.b64_json&&r.push({type:"image",b64_json:C.b64_json,mimeType:C.mimeType||"image/png"})}const i=n.usage;return{role:"assistant",content:r.length?[{type:"text",text:t},...r]:t||"",usage:i?{inputTokens:i.prompt_tokens,outputTokens:i.completion_tokens,totalTokens:i.total_tokens}:void 0,raw:n,finishReason:(s=(a=n.choices)==null?void 0:a[0])==null?void 0:s.finish_reason}},parseMultimodalStreamChunk:n=>{var r,i,o,B;const e=(i=(r=n.choices)==null?void 0:r[0])==null?void 0:i.delta;if(!e)return{};const t={};if(typeof e.content=="string")t.text=e.content;else if(Array.isArray(e.content)){t.text=e.content.filter(c=>c.type==="text").map(c=>c.text||"").join("");const x=e.content.filter(c=>c.type==="image_url");x.length&&(t.images=x.map(c=>{var a,s;return{type:"image",url:(a=c.image_url)==null?void 0:a.url,mimeType:x0(((s=c.image_url)==null?void 0:s.url)||"")||"image/png"}}))}if(Array.isArray(e.images)){const x=e.images.map(c=>{var a,s;return{type:"image",url:(a=c.image_url)==null?void 0:a.url,b64_json:c.b64_json,mimeType:c.mimeType||x0(((s=c.image_url)==null?void 0:s.url)||"")||"image/png"}});t.images=t.images?t.images.concat(x):x}return(B=(o=n.choices)==null?void 0:o[0])!=null&&B.finish_reason&&(t.finishReason=n.choices[0].finish_reason),n.usage&&(t.usage={inputTokens:n.usage.prompt_tokens,outputTokens:n.usage.completion_tokens,totalTokens:n.usage.total_tokens}),t}},be={openai:De,anthropic:{format:"anthropic",getModelsEndpoint:n=>`${n}/models`,getChatEndpoint:n=>`${n}/messages`,buildHeaders:n=>({"Content-Type":"application/json","x-api-key":n,"anthropic-version":"2023-06-01","anthropic-dangerous-direct-browser-access":"true"}),buildChatPayload:(n,e,t)=>({model:n,messages:e,max_tokens:t||1024}),parseChatResponse:n=>{var e,t;return((t=(e=n.content)==null?void 0:e[0])==null?void 0:t.text)||""},parseStreamChunk:n=>{var e;return n.type==="content_block_delta"&&((e=n.delta)==null?void 0:e.text)||""},parseModelsResponse:n=>Array.isArray(n.data)?n.data.filter(e=>e.id).map(e=>({id:e.id,name:e.display_name||e.id,created:e.created_at?new Date(e.created_at).getTime()/1e3:0,capabilities:le(e)})).sort((e,t)=>(t.created||0)-(e.created||0)):[],supportsMultimodalInput:!0,supportsMultimodalOutput:!1,buildMultimodalChatPayload:(n,e,t)=>{let r;const i=e.filter(B=>{if(B.role==="system"){const x=B.parts.filter(c=>c.type==="text").map(c=>c.data).join(`
|
|
2
|
+
`);return r=(r?r+`
|
|
3
|
+
`:"")+x,!1}return!0}).map(B=>({role:B.role==="assistant"?"assistant":"user",content:B.parts.map(x=>{if(x.type==="text")return{type:"text",text:x.data};if(x.type==="image"){const c=/^data:([^;]+);base64,(.*)$/.exec(x.data);return c?{type:"image",source:{type:"base64",media_type:c[1],data:c[2]}}:{type:"image",source:{type:"url",url:x.data}}}return{type:"text",text:"[audio content not supported]"}})})),o={model:n,messages:i,max_tokens:t.maxTokens||1024};return r&&(o.system=r),t.temperature!==void 0&&(o.temperature=t.temperature),o},parseMultimodalChatResponse:n=>{var o,B;const e=[];let t="";if(Array.isArray(n.content)){for(const x of n.content)if(x.type==="text")t+=x.text||"";else if(x.type==="image"){const c=(o=x.source)==null?void 0:o.url;c?e.push({type:"image",url:c,mimeType:x0(c)||"image/png"}):((B=x.source)==null?void 0:B.type)==="base64"&&e.push({type:"image",url:`data:${x.source.media_type};base64,${x.source.data}`,mimeType:x.source.media_type})}}const r=n.usage;return{role:"assistant",content:e.length?[{type:"text",text:t},...e]:t,usage:r?{inputTokens:r.input_tokens,outputTokens:r.output_tokens}:void 0,raw:n,finishReason:n.stop_reason}},parseMultimodalStreamChunk:n=>{var t;const e={};return n.type==="content_block_delta"&&((t=n.delta)==null?void 0:t.type)==="text_delta"&&(e.text=n.delta.text||""),n.type==="message_delta"&&n.usage&&(e.usage={inputTokens:n.usage.input_tokens,outputTokens:n.usage.output_tokens}),n.type==="message_stop"&&(e.finishReason="stop"),e}},gemini:{format:"gemini",getModelsEndpoint:(n,e)=>`${n}/models?key=${e}`,getChatEndpoint:(n,e,t)=>`${n}/models/${t}:generateContent?key=${e}`,buildHeaders:()=>({"Content-Type":"application/json"}),buildChatPayload:(n,e,t)=>{const i={contents:e.map(o=>({role:o.role==="assistant"?"model":"user",parts:[{text:o.content}]}))};return t&&(i.generationConfig={maxOutputTokens:t}),i},parseChatResponse:n=>{var e,t,r,i,o;return((o=(i=(r=(t=(e=n.candidates)==null?void 0:e[0])==null?void 0:t.content)==null?void 0:r.parts)==null?void 0:i[0])==null?void 0:o.text)||""},parseStreamChunk:n=>{var e,t,r,i,o;return((o=(i=(r=(t=(e=n.candidates)==null?void 0:e[0])==null?void 0:t.content)==null?void 0:r.parts)==null?void 0:i[0])==null?void 0:o.text)||""},parseModelsResponse:n=>Array.isArray(n.models)?n.models.filter(e=>{var t;return(t=e.supportedGenerationMethods)==null?void 0:t.includes("generateContent")}).map(e=>({id:e.name.replace("models/",""),name:e.displayName||e.name.replace("models/",""),created:e.created||0,capabilities:le(e)})).sort((e,t)=>(t.id||"").localeCompare(e.id||"")):[],supportsMultimodalInput:!0,supportsMultimodalOutput:!0,buildMultimodalChatPayload:(n,e,t)=>{var x,c;const r=e.filter(a=>a.role==="system").flatMap(a=>a.parts.filter(s=>s.type==="text").map(s=>({text:s.data}))),o={contents:e.filter(a=>a.role!=="system").map(a=>({role:a.role==="assistant"?"model":"user",parts:a.parts.map(s=>{if(s.type==="text")return{text:s.data};if(s.type==="image"){const C=/^data:([^;]+);base64,(.*)$/.exec(s.data);return C?{inline_data:{mime_type:C[1],data:C[2]}}:{file_data:{file_uri:s.data,mime_type:s.mimeType||"image/jpeg"}}}if(s.type==="audio"){const C=/^data:([^;]+);base64,(.*)$/.exec(s.data);if(C)return{inline_data:{mime_type:C[1],data:C[2]}}}return{text:""}})}))};r.length&&(o.systemInstruction={parts:r});const B={};return t.maxTokens&&(B.maxOutputTokens=t.maxTokens),t.temperature!==void 0&&(B.temperature=t.temperature),(x=t.outputModalities)!=null&&x.includes("image")?B.responseModalities=["TEXT","IMAGE"]:(c=t.outputModalities)!=null&&c.length&&(B.responseModalities=t.outputModalities.map(a=>a.toUpperCase())),Object.keys(B).length&&(o.generationConfig=B),o},parseMultimodalChatResponse:n=>{var x,c;const e=(x=n.candidates)==null?void 0:x[0];if(!e)return{role:"assistant",content:"",raw:n};const t=[];let r="";const i=((c=e.content)==null?void 0:c.parts)||[];for(const a of i)if(typeof a.text=="string")r+=a.text;else if(a.inline_data){const s=a.inline_data.mime_type||"image/png";t.push({type:"image",url:`data:${s};base64,${a.inline_data.data}`,mimeType:s})}else a.file_data&&t.push({type:"image",url:a.file_data.file_uri,mimeType:a.file_data.mime_type});const o=n.usageMetadata;return{role:"assistant",content:t.length?[{type:"text",text:r},...t]:r,usage:o?{inputTokens:o.promptTokenCount,outputTokens:o.candidatesTokenCount,totalTokens:o.totalTokenCount}:void 0,raw:n,finishReason:e.finishReason}},parseMultimodalStreamChunk:n=>{var B,x;const e={},t=(B=n.candidates)==null?void 0:B[0];if(!t)return e;let r="";const i=[],o=((x=t.content)==null?void 0:x.parts)||[];for(const c of o)if(typeof c.text=="string")r+=c.text;else if(c.inline_data){const a=c.inline_data.mime_type||"image/png";i.push({type:"image",url:`data:${a};base64,${c.inline_data.data}`,mimeType:a})}else c.file_data&&i.push({type:"image",url:c.file_data.file_uri,mimeType:c.file_data.mime_type});return r&&(e.text=r),i.length&&(e.images=i),t.finishReason&&(e.finishReason=t.finishReason),n.usageMetadata&&(e.usage={inputTokens:n.usageMetadata.promptTokenCount,outputTokens:n.usageMetadata.candidatesTokenCount,totalTokens:n.usageMetadata.totalTokenCount}),e}},cohere:{format:"cohere",getModelsEndpoint:n=>`${n}/models`,getChatEndpoint:n=>`${n}/chat`,buildHeaders:n=>({"Content-Type":"application/json",Authorization:`Bearer ${n}`}),buildChatPayload:(n,e,t)=>{const r={model:n,messages:e};return t&&(r.max_tokens=t),r},parseChatResponse:n=>{var e,t,r;return((r=(t=(e=n.message)==null?void 0:e.content)==null?void 0:t[0])==null?void 0:r.text)||""},parseStreamChunk:n=>{var e,t,r,i;return n.type==="content-delta"&&((i=(r=(t=(e=n.delta)==null?void 0:e.message)==null?void 0:t.content)==null?void 0:r[0])==null?void 0:i.text)||""},supportsMultimodalInput:!0,supportsMultimodalOutput:!1,buildMultimodalChatPayload:(n,e,t)=>{const r=e.map(o=>({role:o.role,content:o.parts.map(B=>B.type==="text"?{type:"text",text:B.data}:B.type==="image"?{type:"image_url",image_url:{url:B.data}}:{type:"text",text:"[audio content not supported]"})})),i={model:n,messages:r};return t.maxTokens&&(i.max_tokens=t.maxTokens),t.temperature!==void 0&&(i.temperature=t.temperature),i},parseMultimodalChatResponse:n=>{var B,x,c,a;const e=[];let t="";const r=((B=n.message)==null?void 0:B.content)||[];for(const s of r)if(s.type==="text")t+=s.text||"";else if(s.type==="image_url"||s.type==="image"){const C=((x=s.image_url)==null?void 0:x.url)||s.url;C&&e.push({type:"image",url:C,mimeType:x0(C)||"image/png"})}const i=n.usage;return{role:"assistant",content:e.length?[{type:"text",text:t},...e]:t,usage:i?{inputTokens:(c=i.tokens)==null?void 0:c.input_tokens,outputTokens:(a=i.tokens)==null?void 0:a.output_tokens}:void 0,raw:n,finishReason:n.finish_reason}},parseMultimodalStreamChunk:n=>{var t,r,i,o;const e={};if(n.type==="content-delta"){const B=(o=(i=(r=(t=n.delta)==null?void 0:t.message)==null?void 0:r.content)==null?void 0:i[0])==null?void 0:o.text;B&&(e.text=B)}return e}}};function i0(n){return be[n]||De}async function de(n){var l;const{apiFormat:e,baseUrl:t,apiKey:r,model:i,messages:o,maxTokens:B}=n,x=i0(e),c=x.getChatEndpoint(t,r,i),a=x.buildHeaders(r,t),s=x.buildChatPayload(i,o,B),C=performance.now();try{const u=await fetch(c,{method:"POST",headers:a,body:JSON.stringify(s)}),h=Math.round(performance.now()-C);if(!u.ok)return{success:!1,message:((l=(await u.json().catch(()=>({}))).error)==null?void 0:l.message)||`HTTP ${u.status}: ${u.statusText}`,latencyMs:h};const m=await u.json();return{success:!0,content:x.parseChatResponse(m),latencyMs:h}}catch(u){return{success:!1,message:u instanceof Error?u.message:"网络错误"}}}async function _e(n){var h;const{apiFormat:e,baseUrl:t,apiKey:r,model:i,messages:o,maxTokens:B,onDelta:x,signal:c}=n,a=i0(e);let s=a.getChatEndpoint(t,r,i);e==="gemini"&&(s=`${t}/models/${i}:streamGenerateContent?alt=sse&key=${encodeURIComponent(r)}`);const C=a.buildHeaders(r,t),l=a.buildChatPayload(i,o,B);l.stream=!0;const u=performance.now();try{const m=await fetch(s,{method:"POST",headers:C,body:JSON.stringify(l),signal:c});if(!m.ok||!m.body){const v=await m.text();let y=`HTTP ${m.status}`;try{const E=JSON.parse(v);y=((h=E.error)==null?void 0:h.message)||E.error||E.message||y}catch{v&&(y=v.slice(0,200))}return{success:!1,message:y,latencyMs:Math.round(performance.now()-u)}}const p=m.body.getReader(),g=new TextDecoder;let d="",f="";for(;;){const{done:v,value:y}=await p.read();if(v)break;d+=g.decode(y,{stream:!0});const E=d.split(`
|
|
4
|
+
`);d=E.pop()||"";for(const F of E){const b=F.trim();if(!b.startsWith("data:")&&!b.startsWith("event:")||b.startsWith("event:"))continue;const P=b.slice(5).trim();if(!(!P||P==="[DONE]"))try{const A=JSON.parse(P),D=a.parseStreamChunk?a.parseStreamChunk(A):"";D&&(f+=D,x(f))}catch{}}}return{success:!0,content:f,latencyMs:Math.round(performance.now()-u)}}catch(m){return m instanceof Error&&m.name==="AbortError"?{success:!1,message:"请求已取消",latencyMs:Math.round(performance.now()-u)}:{success:!1,message:m instanceof Error?m.message:"网络错误"}}}async function we(n){const e=await de({apiFormat:n.apiFormat,baseUrl:n.baseUrl,apiKey:n.apiKey,model:n.model,messages:[{role:"user",content:"Hi"}]});return{success:e.success,latencyMs:e.latencyMs,message:e.success?void 0:e.message}}function Tt(n,e,t){if(typeof n.content=="string")return{success:!0,text:n.content,usage:n.usage,latencyMs:e,finishReason:n.finishReason,raw:n.raw??t};const r=[];let i="";for(const o of n.content)o.type==="text"?i+=o.text:o.type==="image"&&r.push({type:"image",url:o.url,b64_json:o.b64_json,mimeType:o.mimeType});return{success:!0,text:i||void 0,images:r.length?r:void 0,usage:n.usage,latencyMs:e,finishReason:n.finishReason,raw:n.raw??t}}async function ke(n){var t,r;const e=i0(n.apiFormat);if(!e.buildMultimodalChatPayload||!e.parseMultimodalChatResponse)return{success:!1,message:`协议 ${n.apiFormat} 不支持多模态聊天`};if((t=n.outputModalities)!=null&&t.includes("image")&&!e.supportsMultimodalOutput)return{success:!1,message:`协议 ${n.apiFormat} 不支持图片输出`};try{const i=await ce(n.messages),o=e.getChatEndpoint(n.baseUrl,n.apiKey,n.model),B={...e.buildHeaders(n.apiKey,n.baseUrl),...n.extraHeaders||{}},x=e.buildMultimodalChatPayload(n.model,i,n),c=performance.now(),a=new AbortController,s=n.timeoutMs?setTimeout(()=>a.abort(),n.timeoutMs):null;try{const C=await fetch(o,{method:"POST",headers:B,body:JSON.stringify(x),signal:a.signal}),l=Math.round(performance.now()-c);if(!C.ok){const m=await C.json().catch(()=>({}));return{success:!1,message:((r=m==null?void 0:m.error)==null?void 0:r.message)||`HTTP ${C.status}`,latencyMs:l,raw:m}}const u=await C.json(),h=e.parseMultimodalChatResponse(u);return Tt(h,l,u)}finally{s&&clearTimeout(s)}}catch(i){return{success:!1,message:i instanceof Error?i.message:"网络错误"}}}async function Se(n){var t,r,i,o;const e=i0(n.apiFormat);if(!e.buildMultimodalChatPayload||!e.parseMultimodalStreamChunk)return{success:!1,message:`协议 ${n.apiFormat} 不支持多模态流式聊天`};if((t=n.outputModalities)!=null&&t.includes("image")&&!e.supportsMultimodalOutput)return{success:!1,message:`协议 ${n.apiFormat} 不支持图片输出`};try{const B=await ce(n.messages);let x=e.getChatEndpoint(n.baseUrl,n.apiKey,n.model);const c={...e.buildHeaders(n.apiKey,n.baseUrl),...n.extraHeaders||{}},a=e.buildMultimodalChatPayload(n.model,B,n);a.stream=!0,n.apiFormat==="gemini"&&(x=x.replace(":generateContent",":streamGenerateContent"));const s=performance.now(),C=new AbortController,l=n.timeoutMs?setTimeout(()=>C.abort(),n.timeoutMs):null;let u="";const h=[];let m,p;try{const g=await fetch(x,{method:"POST",headers:c,body:JSON.stringify(a),signal:C.signal});if(!g.ok){const y=await g.json().catch(()=>({}));return{success:!1,message:((r=y==null?void 0:y.error)==null?void 0:r.message)||`HTTP ${g.status}`,latencyMs:Math.round(performance.now()-s),raw:y}}const d=(i=g.body)==null?void 0:i.getReader();if(!d)return{success:!1,message:"响应无 body",latencyMs:Math.round(performance.now()-s)};const f=new TextDecoder;let v="";for(;;){const{value:y,done:E}=await d.read();if(E)break;v+=f.decode(y,{stream:!0});const F=v.split(`
|
|
5
|
+
`);v=F.pop()||"";for(const b of F){const P=b.trim();if(!P||!P.startsWith("data:"))continue;const A=P.slice(5).trim();if(A!=="[DONE]")try{const D=JSON.parse(A),_=e.parseMultimodalStreamChunk(D);_.text!==void 0&&(u+=_.text),(o=_.images)!=null&&o.length&&(h.length=0,h.push(..._.images)),_.finishReason&&(m=_.finishReason),_.usage&&(p=_.usage),n.onDelta({text:u,images:h.length?h.slice():void 0,finishReason:m,usage:p})}catch{}}}return{success:!0,text:u||void 0,images:h.length?h.slice():void 0,usage:p,finishReason:m,latencyMs:Math.round(performance.now()-s)}}finally{l&&clearTimeout(l)}}catch(B){return{success:!1,message:B instanceof Error?B.message:"网络错误"}}}async function Ht(n){const{provider:e,apiKey:t,model:r,baseUrl:i,proxyUrl:o}=n,B=i||e.baseUrl,x=Date.now();try{if(o){const p=await(await fetch(`${o}/test`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider_id:e.id,api_key:t,model:r||"",base_url:i||e.baseUrl,api_format:e.apiFormat})})).json();return{success:p.success,latencyMs:p.latency_ms||Date.now()-x,message:p.message}}const c=i0(e.apiFormat),a=r||"";if(!a)return{success:!1,latencyMs:0,message:"请先选择模型 (Please select a model)"};const s=c.buildHeaders(t,B),C=c.buildChatPayload(a,[{role:"user",content:"Hi"}]),l=c.getChatEndpoint(B,t,a),u=await fetch(l,{method:"POST",headers:s,body:JSON.stringify(C)}),h=Date.now()-x;if(u.ok)return{success:!0,latencyMs:h,message:"连接成功"};{const m=await u.text();return{success:!1,latencyMs:h,message:`HTTP ${u.status}: ${m.slice(0,200)}`}}}catch(c){return{success:!1,latencyMs:Date.now()-x,message:c instanceof Error?c.message:String(c)}}}async function Me(n){var B,x;const{provider:e,apiKey:t,baseUrl:r,proxyUrl:i,fallbackToStatic:o=!0}=n;if(i)try{const a=await(await fetch(`${i}/models`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider_id:e.id,api_key:t||void 0,base_url:r||e.baseUrl})})).json();if(a.success&&((B=a.models)==null?void 0:B.length)>0)return a.models}catch(c){if(console.warn("Failed to fetch models via proxy:",c),!o)throw c}if(!i&&e.supportsModelsApi)try{const c=i0(e.apiFormat);if(c.getModelsEndpoint){const a=c.getModelsEndpoint(r||e.baseUrl,t||""),s=c.buildHeaders(t||"",r||e.baseUrl),C=await fetch(a,{method:"GET",headers:s});if(C.ok){const l=await C.json();return(c.parseModelsResponse||Rt)(l)}else{const u=((x=(await C.json().catch(()=>({}))).error)==null?void 0:x.message)||`HTTP ${C.status}`;if(console.warn("Model fetch failed:",u),!o)throw new Error(u)}}}catch(c){if(console.warn("Failed to fetch models directly:",c),!o)throw c}if(!o&&e.supportsModelsApi)throw new Error("Failed to fetch models");return h0(e.id)}var fe=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function $t(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function Ot(n){if(Object.prototype.hasOwnProperty.call(n,"__esModule"))return n;var e=n.default;if(typeof e=="function"){var t=function r(){return this instanceof r?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};t.prototype=e.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(n).forEach(function(r){var i=Object.getOwnPropertyDescriptor(n,r);Object.defineProperty(t,r,i.get?i:{enumerable:!0,get:function(){return n[r]}})}),t}var y0={exports:{}};function Ut(n){throw new Error('Could not dynamically require "'+n+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var E0={exports:{}};const Lt=Ot(Object.freeze(Object.defineProperty({__proto__:null,default:{}},Symbol.toStringTag,{value:"Module"})));var Kt=E0.exports,Pe;function L(){return Pe||(Pe=1,(function(n,e){(function(t,r){n.exports=r()})(Kt,function(){var t=t||(function(r,i){var o;if(typeof window<"u"&&window.crypto&&(o=window.crypto),typeof self<"u"&&self.crypto&&(o=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(o=globalThis.crypto),!o&&typeof window<"u"&&window.msCrypto&&(o=window.msCrypto),!o&&typeof fe<"u"&&fe.crypto&&(o=fe.crypto),!o&&typeof Ut=="function")try{o=Lt}catch{}var B=function(){if(o){if(typeof o.getRandomValues=="function")try{return o.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof o.randomBytes=="function")try{return o.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},x=Object.create||(function(){function d(){}return function(f){var v;return d.prototype=f,v=new d,d.prototype=null,v}})(),c={},a=c.lib={},s=a.Base=(function(){return{extend:function(d){var f=x(this);return d&&f.mixIn(d),(!f.hasOwnProperty("init")||this.init===f.init)&&(f.init=function(){f.$super.init.apply(this,arguments)}),f.init.prototype=f,f.$super=this,f},create:function(){var d=this.extend();return d.init.apply(d,arguments),d},init:function(){},mixIn:function(d){for(var f in d)d.hasOwnProperty(f)&&(this[f]=d[f]);d.hasOwnProperty("toString")&&(this.toString=d.toString)},clone:function(){return this.init.prototype.extend(this)}}})(),C=a.WordArray=s.extend({init:function(d,f){d=this.words=d||[],f!=i?this.sigBytes=f:this.sigBytes=d.length*4},toString:function(d){return(d||u).stringify(this)},concat:function(d){var f=this.words,v=d.words,y=this.sigBytes,E=d.sigBytes;if(this.clamp(),y%4)for(var F=0;F<E;F++){var b=v[F>>>2]>>>24-F%4*8&255;f[y+F>>>2]|=b<<24-(y+F)%4*8}else for(var P=0;P<E;P+=4)f[y+P>>>2]=v[P>>>2];return this.sigBytes+=E,this},clamp:function(){var d=this.words,f=this.sigBytes;d[f>>>2]&=4294967295<<32-f%4*8,d.length=r.ceil(f/4)},clone:function(){var d=s.clone.call(this);return d.words=this.words.slice(0),d},random:function(d){for(var f=[],v=0;v<d;v+=4)f.push(B());return new C.init(f,d)}}),l=c.enc={},u=l.Hex={stringify:function(d){for(var f=d.words,v=d.sigBytes,y=[],E=0;E<v;E++){var F=f[E>>>2]>>>24-E%4*8&255;y.push((F>>>4).toString(16)),y.push((F&15).toString(16))}return y.join("")},parse:function(d){for(var f=d.length,v=[],y=0;y<f;y+=2)v[y>>>3]|=parseInt(d.substr(y,2),16)<<24-y%8*4;return new C.init(v,f/2)}},h=l.Latin1={stringify:function(d){for(var f=d.words,v=d.sigBytes,y=[],E=0;E<v;E++){var F=f[E>>>2]>>>24-E%4*8&255;y.push(String.fromCharCode(F))}return y.join("")},parse:function(d){for(var f=d.length,v=[],y=0;y<f;y++)v[y>>>2]|=(d.charCodeAt(y)&255)<<24-y%4*8;return new C.init(v,f)}},m=l.Utf8={stringify:function(d){try{return decodeURIComponent(escape(h.stringify(d)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(d){return h.parse(unescape(encodeURIComponent(d)))}},p=a.BufferedBlockAlgorithm=s.extend({reset:function(){this._data=new C.init,this._nDataBytes=0},_append:function(d){typeof d=="string"&&(d=m.parse(d)),this._data.concat(d),this._nDataBytes+=d.sigBytes},_process:function(d){var f,v=this._data,y=v.words,E=v.sigBytes,F=this.blockSize,b=F*4,P=E/b;d?P=r.ceil(P):P=r.max((P|0)-this._minBufferSize,0);var A=P*F,D=r.min(A*4,E);if(A){for(var _=0;_<A;_+=F)this._doProcessBlock(y,_);f=y.splice(0,A),v.sigBytes-=D}return new C.init(f,D)},clone:function(){var d=s.clone.call(this);return d._data=this._data.clone(),d},_minBufferSize:0});a.Hasher=p.extend({cfg:s.extend(),init:function(d){this.cfg=this.cfg.extend(d),this.reset()},reset:function(){p.reset.call(this),this._doReset()},update:function(d){return this._append(d),this._process(),this},finalize:function(d){d&&this._append(d);var f=this._doFinalize();return f},blockSize:16,_createHelper:function(d){return function(f,v){return new d.init(v).finalize(f)}},_createHmacHelper:function(d){return function(f,v){return new g.HMAC.init(d,v).finalize(f)}}});var g=c.algo={};return c})(Math);return t})})(E0)),E0.exports}var F0={exports:{}},zt=F0.exports,Ie;function D0(){return Ie||(Ie=1,(function(n,e){(function(t,r){n.exports=r(L())})(zt,function(t){return(function(r){var i=t,o=i.lib,B=o.Base,x=o.WordArray,c=i.x64={};c.Word=B.extend({init:function(a,s){this.high=a,this.low=s}}),c.WordArray=B.extend({init:function(a,s){a=this.words=a||[],s!=r?this.sigBytes=s:this.sigBytes=a.length*8},toX32:function(){for(var a=this.words,s=a.length,C=[],l=0;l<s;l++){var u=a[l];C.push(u.high),C.push(u.low)}return x.create(C,this.sigBytes)},clone:function(){for(var a=B.clone.call(this),s=a.words=this.words.slice(0),C=s.length,l=0;l<C;l++)s[l]=s[l].clone();return a}})})(),t})})(F0)),F0.exports}var b0={exports:{}},qt=b0.exports,Re;function Nt(){return Re||(Re=1,(function(n,e){(function(t,r){n.exports=r(L())})(qt,function(t){return(function(){if(typeof ArrayBuffer=="function"){var r=t,i=r.lib,o=i.WordArray,B=o.init,x=o.init=function(c){if(c instanceof ArrayBuffer&&(c=new Uint8Array(c)),(c instanceof Int8Array||typeof Uint8ClampedArray<"u"&&c instanceof Uint8ClampedArray||c instanceof Int16Array||c instanceof Uint16Array||c instanceof Int32Array||c instanceof Uint32Array||c instanceof Float32Array||c instanceof Float64Array)&&(c=new Uint8Array(c.buffer,c.byteOffset,c.byteLength)),c instanceof Uint8Array){for(var a=c.byteLength,s=[],C=0;C<a;C++)s[C>>>2]|=c[C]<<24-C%4*8;B.call(this,s,a)}else B.apply(this,arguments)};x.prototype=o}})(),t.lib.WordArray})})(b0)),b0.exports}var _0={exports:{}},Wt=_0.exports,Te;function Gt(){return Te||(Te=1,(function(n,e){(function(t,r){n.exports=r(L())})(Wt,function(t){return(function(){var r=t,i=r.lib,o=i.WordArray,B=r.enc;B.Utf16=B.Utf16BE={stringify:function(c){for(var a=c.words,s=c.sigBytes,C=[],l=0;l<s;l+=2){var u=a[l>>>2]>>>16-l%4*8&65535;C.push(String.fromCharCode(u))}return C.join("")},parse:function(c){for(var a=c.length,s=[],C=0;C<a;C++)s[C>>>1]|=c.charCodeAt(C)<<16-C%2*16;return o.create(s,a*2)}},B.Utf16LE={stringify:function(c){for(var a=c.words,s=c.sigBytes,C=[],l=0;l<s;l+=2){var u=x(a[l>>>2]>>>16-l%4*8&65535);C.push(String.fromCharCode(u))}return C.join("")},parse:function(c){for(var a=c.length,s=[],C=0;C<a;C++)s[C>>>1]|=x(c.charCodeAt(C)<<16-C%2*16);return o.create(s,a*2)}};function x(c){return c<<8&4278255360|c>>>8&16711935}})(),t.enc.Utf16})})(_0)),_0.exports}var w0={exports:{}},Qt=w0.exports,He;function s0(){return He||(He=1,(function(n,e){(function(t,r){n.exports=r(L())})(Qt,function(t){return(function(){var r=t,i=r.lib,o=i.WordArray,B=r.enc;B.Base64={stringify:function(c){var a=c.words,s=c.sigBytes,C=this._map;c.clamp();for(var l=[],u=0;u<s;u+=3)for(var h=a[u>>>2]>>>24-u%4*8&255,m=a[u+1>>>2]>>>24-(u+1)%4*8&255,p=a[u+2>>>2]>>>24-(u+2)%4*8&255,g=h<<16|m<<8|p,d=0;d<4&&u+d*.75<s;d++)l.push(C.charAt(g>>>6*(3-d)&63));var f=C.charAt(64);if(f)for(;l.length%4;)l.push(f);return l.join("")},parse:function(c){var a=c.length,s=this._map,C=this._reverseMap;if(!C){C=this._reverseMap=[];for(var l=0;l<s.length;l++)C[s.charCodeAt(l)]=l}var u=s.charAt(64);if(u){var h=c.indexOf(u);h!==-1&&(a=h)}return x(c,a,C)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function x(c,a,s){for(var C=[],l=0,u=0;u<a;u++)if(u%4){var h=s[c.charCodeAt(u-1)]<<u%4*2,m=s[c.charCodeAt(u)]>>>6-u%4*2,p=h|m;C[l>>>2]|=p<<24-l%4*8,l++}return o.create(C,l)}})(),t.enc.Base64})})(w0)),w0.exports}var k0={exports:{}},jt=k0.exports,$e;function Xt(){return $e||($e=1,(function(n,e){(function(t,r){n.exports=r(L())})(jt,function(t){return(function(){var r=t,i=r.lib,o=i.WordArray,B=r.enc;B.Base64url={stringify:function(c,a){a===void 0&&(a=!0);var s=c.words,C=c.sigBytes,l=a?this._safe_map:this._map;c.clamp();for(var u=[],h=0;h<C;h+=3)for(var m=s[h>>>2]>>>24-h%4*8&255,p=s[h+1>>>2]>>>24-(h+1)%4*8&255,g=s[h+2>>>2]>>>24-(h+2)%4*8&255,d=m<<16|p<<8|g,f=0;f<4&&h+f*.75<C;f++)u.push(l.charAt(d>>>6*(3-f)&63));var v=l.charAt(64);if(v)for(;u.length%4;)u.push(v);return u.join("")},parse:function(c,a){a===void 0&&(a=!0);var s=c.length,C=a?this._safe_map:this._map,l=this._reverseMap;if(!l){l=this._reverseMap=[];for(var u=0;u<C.length;u++)l[C.charCodeAt(u)]=u}var h=C.charAt(64);if(h){var m=c.indexOf(h);m!==-1&&(s=m)}return x(c,s,l)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"};function x(c,a,s){for(var C=[],l=0,u=0;u<a;u++)if(u%4){var h=s[c.charCodeAt(u-1)]<<u%4*2,m=s[c.charCodeAt(u)]>>>6-u%4*2,p=h|m;C[l>>>2]|=p<<24-l%4*8,l++}return o.create(C,l)}})(),t.enc.Base64url})})(k0)),k0.exports}var S0={exports:{}},Vt=S0.exports,Oe;function o0(){return Oe||(Oe=1,(function(n,e){(function(t,r){n.exports=r(L())})(Vt,function(t){return(function(r){var i=t,o=i.lib,B=o.WordArray,x=o.Hasher,c=i.algo,a=[];(function(){for(var m=0;m<64;m++)a[m]=r.abs(r.sin(m+1))*4294967296|0})();var s=c.MD5=x.extend({_doReset:function(){this._hash=new B.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(m,p){for(var g=0;g<16;g++){var d=p+g,f=m[d];m[d]=(f<<8|f>>>24)&16711935|(f<<24|f>>>8)&4278255360}var v=this._hash.words,y=m[p+0],E=m[p+1],F=m[p+2],b=m[p+3],P=m[p+4],A=m[p+5],D=m[p+6],_=m[p+7],k=m[p+8],T=m[p+9],H=m[p+10],$=m[p+11],W=m[p+12],K=m[p+13],q=m[p+14],z=m[p+15],w=v[0],M=v[1],I=v[2],S=v[3];w=C(w,M,I,S,y,7,a[0]),S=C(S,w,M,I,E,12,a[1]),I=C(I,S,w,M,F,17,a[2]),M=C(M,I,S,w,b,22,a[3]),w=C(w,M,I,S,P,7,a[4]),S=C(S,w,M,I,A,12,a[5]),I=C(I,S,w,M,D,17,a[6]),M=C(M,I,S,w,_,22,a[7]),w=C(w,M,I,S,k,7,a[8]),S=C(S,w,M,I,T,12,a[9]),I=C(I,S,w,M,H,17,a[10]),M=C(M,I,S,w,$,22,a[11]),w=C(w,M,I,S,W,7,a[12]),S=C(S,w,M,I,K,12,a[13]),I=C(I,S,w,M,q,17,a[14]),M=C(M,I,S,w,z,22,a[15]),w=l(w,M,I,S,E,5,a[16]),S=l(S,w,M,I,D,9,a[17]),I=l(I,S,w,M,$,14,a[18]),M=l(M,I,S,w,y,20,a[19]),w=l(w,M,I,S,A,5,a[20]),S=l(S,w,M,I,H,9,a[21]),I=l(I,S,w,M,z,14,a[22]),M=l(M,I,S,w,P,20,a[23]),w=l(w,M,I,S,T,5,a[24]),S=l(S,w,M,I,q,9,a[25]),I=l(I,S,w,M,b,14,a[26]),M=l(M,I,S,w,k,20,a[27]),w=l(w,M,I,S,K,5,a[28]),S=l(S,w,M,I,F,9,a[29]),I=l(I,S,w,M,_,14,a[30]),M=l(M,I,S,w,W,20,a[31]),w=u(w,M,I,S,A,4,a[32]),S=u(S,w,M,I,k,11,a[33]),I=u(I,S,w,M,$,16,a[34]),M=u(M,I,S,w,q,23,a[35]),w=u(w,M,I,S,E,4,a[36]),S=u(S,w,M,I,P,11,a[37]),I=u(I,S,w,M,_,16,a[38]),M=u(M,I,S,w,H,23,a[39]),w=u(w,M,I,S,K,4,a[40]),S=u(S,w,M,I,y,11,a[41]),I=u(I,S,w,M,b,16,a[42]),M=u(M,I,S,w,D,23,a[43]),w=u(w,M,I,S,T,4,a[44]),S=u(S,w,M,I,W,11,a[45]),I=u(I,S,w,M,z,16,a[46]),M=u(M,I,S,w,F,23,a[47]),w=h(w,M,I,S,y,6,a[48]),S=h(S,w,M,I,_,10,a[49]),I=h(I,S,w,M,q,15,a[50]),M=h(M,I,S,w,A,21,a[51]),w=h(w,M,I,S,W,6,a[52]),S=h(S,w,M,I,b,10,a[53]),I=h(I,S,w,M,H,15,a[54]),M=h(M,I,S,w,E,21,a[55]),w=h(w,M,I,S,k,6,a[56]),S=h(S,w,M,I,z,10,a[57]),I=h(I,S,w,M,D,15,a[58]),M=h(M,I,S,w,K,21,a[59]),w=h(w,M,I,S,P,6,a[60]),S=h(S,w,M,I,$,10,a[61]),I=h(I,S,w,M,F,15,a[62]),M=h(M,I,S,w,T,21,a[63]),v[0]=v[0]+w|0,v[1]=v[1]+M|0,v[2]=v[2]+I|0,v[3]=v[3]+S|0},_doFinalize:function(){var m=this._data,p=m.words,g=this._nDataBytes*8,d=m.sigBytes*8;p[d>>>5]|=128<<24-d%32;var f=r.floor(g/4294967296),v=g;p[(d+64>>>9<<4)+15]=(f<<8|f>>>24)&16711935|(f<<24|f>>>8)&4278255360,p[(d+64>>>9<<4)+14]=(v<<8|v>>>24)&16711935|(v<<24|v>>>8)&4278255360,m.sigBytes=(p.length+1)*4,this._process();for(var y=this._hash,E=y.words,F=0;F<4;F++){var b=E[F];E[F]=(b<<8|b>>>24)&16711935|(b<<24|b>>>8)&4278255360}return y},clone:function(){var m=x.clone.call(this);return m._hash=this._hash.clone(),m}});function C(m,p,g,d,f,v,y){var E=m+(p&g|~p&d)+f+y;return(E<<v|E>>>32-v)+p}function l(m,p,g,d,f,v,y){var E=m+(p&d|g&~d)+f+y;return(E<<v|E>>>32-v)+p}function u(m,p,g,d,f,v,y){var E=m+(p^g^d)+f+y;return(E<<v|E>>>32-v)+p}function h(m,p,g,d,f,v,y){var E=m+(g^(p|~d))+f+y;return(E<<v|E>>>32-v)+p}i.MD5=x._createHelper(s),i.HmacMD5=x._createHmacHelper(s)})(Math),t.MD5})})(S0)),S0.exports}var M0={exports:{}},Zt=M0.exports,Ue;function Le(){return Ue||(Ue=1,(function(n,e){(function(t,r){n.exports=r(L())})(Zt,function(t){return(function(){var r=t,i=r.lib,o=i.WordArray,B=i.Hasher,x=r.algo,c=[],a=x.SHA1=B.extend({_doReset:function(){this._hash=new o.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(s,C){for(var l=this._hash.words,u=l[0],h=l[1],m=l[2],p=l[3],g=l[4],d=0;d<80;d++){if(d<16)c[d]=s[C+d]|0;else{var f=c[d-3]^c[d-8]^c[d-14]^c[d-16];c[d]=f<<1|f>>>31}var v=(u<<5|u>>>27)+g+c[d];d<20?v+=(h&m|~h&p)+1518500249:d<40?v+=(h^m^p)+1859775393:d<60?v+=(h&m|h&p|m&p)-1894007588:v+=(h^m^p)-899497514,g=p,p=m,m=h<<30|h>>>2,h=u,u=v}l[0]=l[0]+u|0,l[1]=l[1]+h|0,l[2]=l[2]+m|0,l[3]=l[3]+p|0,l[4]=l[4]+g|0},_doFinalize:function(){var s=this._data,C=s.words,l=this._nDataBytes*8,u=s.sigBytes*8;return C[u>>>5]|=128<<24-u%32,C[(u+64>>>9<<4)+14]=Math.floor(l/4294967296),C[(u+64>>>9<<4)+15]=l,s.sigBytes=C.length*4,this._process(),this._hash},clone:function(){var s=B.clone.call(this);return s._hash=this._hash.clone(),s}});r.SHA1=B._createHelper(a),r.HmacSHA1=B._createHmacHelper(a)})(),t.SHA1})})(M0)),M0.exports}var P0={exports:{}},Yt=P0.exports,Ke;function ue(){return Ke||(Ke=1,(function(n,e){(function(t,r){n.exports=r(L())})(Yt,function(t){return(function(r){var i=t,o=i.lib,B=o.WordArray,x=o.Hasher,c=i.algo,a=[],s=[];(function(){function u(g){for(var d=r.sqrt(g),f=2;f<=d;f++)if(!(g%f))return!1;return!0}function h(g){return(g-(g|0))*4294967296|0}for(var m=2,p=0;p<64;)u(m)&&(p<8&&(a[p]=h(r.pow(m,1/2))),s[p]=h(r.pow(m,1/3)),p++),m++})();var C=[],l=c.SHA256=x.extend({_doReset:function(){this._hash=new B.init(a.slice(0))},_doProcessBlock:function(u,h){for(var m=this._hash.words,p=m[0],g=m[1],d=m[2],f=m[3],v=m[4],y=m[5],E=m[6],F=m[7],b=0;b<64;b++){if(b<16)C[b]=u[h+b]|0;else{var P=C[b-15],A=(P<<25|P>>>7)^(P<<14|P>>>18)^P>>>3,D=C[b-2],_=(D<<15|D>>>17)^(D<<13|D>>>19)^D>>>10;C[b]=A+C[b-7]+_+C[b-16]}var k=v&y^~v&E,T=p&g^p&d^g&d,H=(p<<30|p>>>2)^(p<<19|p>>>13)^(p<<10|p>>>22),$=(v<<26|v>>>6)^(v<<21|v>>>11)^(v<<7|v>>>25),W=F+$+k+s[b]+C[b],K=H+T;F=E,E=y,y=v,v=f+W|0,f=d,d=g,g=p,p=W+K|0}m[0]=m[0]+p|0,m[1]=m[1]+g|0,m[2]=m[2]+d|0,m[3]=m[3]+f|0,m[4]=m[4]+v|0,m[5]=m[5]+y|0,m[6]=m[6]+E|0,m[7]=m[7]+F|0},_doFinalize:function(){var u=this._data,h=u.words,m=this._nDataBytes*8,p=u.sigBytes*8;return h[p>>>5]|=128<<24-p%32,h[(p+64>>>9<<4)+14]=r.floor(m/4294967296),h[(p+64>>>9<<4)+15]=m,u.sigBytes=h.length*4,this._process(),this._hash},clone:function(){var u=x.clone.call(this);return u._hash=this._hash.clone(),u}});i.SHA256=x._createHelper(l),i.HmacSHA256=x._createHmacHelper(l)})(Math),t.SHA256})})(P0)),P0.exports}var I0={exports:{}},Jt=I0.exports,ze;function er(){return ze||(ze=1,(function(n,e){(function(t,r,i){n.exports=r(L(),ue())})(Jt,function(t){return(function(){var r=t,i=r.lib,o=i.WordArray,B=r.algo,x=B.SHA256,c=B.SHA224=x.extend({_doReset:function(){this._hash=new o.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var a=x._doFinalize.call(this);return a.sigBytes-=4,a}});r.SHA224=x._createHelper(c),r.HmacSHA224=x._createHmacHelper(c)})(),t.SHA224})})(I0)),I0.exports}var R0={exports:{}},tr=R0.exports,qe;function Ne(){return qe||(qe=1,(function(n,e){(function(t,r,i){n.exports=r(L(),D0())})(tr,function(t){return(function(){var r=t,i=r.lib,o=i.Hasher,B=r.x64,x=B.Word,c=B.WordArray,a=r.algo;function s(){return x.create.apply(x,arguments)}var C=[s(1116352408,3609767458),s(1899447441,602891725),s(3049323471,3964484399),s(3921009573,2173295548),s(961987163,4081628472),s(1508970993,3053834265),s(2453635748,2937671579),s(2870763221,3664609560),s(3624381080,2734883394),s(310598401,1164996542),s(607225278,1323610764),s(1426881987,3590304994),s(1925078388,4068182383),s(2162078206,991336113),s(2614888103,633803317),s(3248222580,3479774868),s(3835390401,2666613458),s(4022224774,944711139),s(264347078,2341262773),s(604807628,2007800933),s(770255983,1495990901),s(1249150122,1856431235),s(1555081692,3175218132),s(1996064986,2198950837),s(2554220882,3999719339),s(2821834349,766784016),s(2952996808,2566594879),s(3210313671,3203337956),s(3336571891,1034457026),s(3584528711,2466948901),s(113926993,3758326383),s(338241895,168717936),s(666307205,1188179964),s(773529912,1546045734),s(1294757372,1522805485),s(1396182291,2643833823),s(1695183700,2343527390),s(1986661051,1014477480),s(2177026350,1206759142),s(2456956037,344077627),s(2730485921,1290863460),s(2820302411,3158454273),s(3259730800,3505952657),s(3345764771,106217008),s(3516065817,3606008344),s(3600352804,1432725776),s(4094571909,1467031594),s(275423344,851169720),s(430227734,3100823752),s(506948616,1363258195),s(659060556,3750685593),s(883997877,3785050280),s(958139571,3318307427),s(1322822218,3812723403),s(1537002063,2003034995),s(1747873779,3602036899),s(1955562222,1575990012),s(2024104815,1125592928),s(2227730452,2716904306),s(2361852424,442776044),s(2428436474,593698344),s(2756734187,3733110249),s(3204031479,2999351573),s(3329325298,3815920427),s(3391569614,3928383900),s(3515267271,566280711),s(3940187606,3454069534),s(4118630271,4000239992),s(116418474,1914138554),s(174292421,2731055270),s(289380356,3203993006),s(460393269,320620315),s(685471733,587496836),s(852142971,1086792851),s(1017036298,365543100),s(1126000580,2618297676),s(1288033470,3409855158),s(1501505948,4234509866),s(1607167915,987167468),s(1816402316,1246189591)],l=[];(function(){for(var h=0;h<80;h++)l[h]=s()})();var u=a.SHA512=o.extend({_doReset:function(){this._hash=new c.init([new x.init(1779033703,4089235720),new x.init(3144134277,2227873595),new x.init(1013904242,4271175723),new x.init(2773480762,1595750129),new x.init(1359893119,2917565137),new x.init(2600822924,725511199),new x.init(528734635,4215389547),new x.init(1541459225,327033209)])},_doProcessBlock:function(h,m){for(var p=this._hash.words,g=p[0],d=p[1],f=p[2],v=p[3],y=p[4],E=p[5],F=p[6],b=p[7],P=g.high,A=g.low,D=d.high,_=d.low,k=f.high,T=f.low,H=v.high,$=v.low,W=y.high,K=y.low,q=E.high,z=E.low,w=F.high,M=F.low,I=b.high,S=b.low,G=P,N=A,X=D,O=_,p0=k,c0=T,Ce=H,v0=$,e0=W,V=K,ie=q,m0=z,se=w,C0=M,Be=I,B0=S,t0=0;t0<80;t0++){var Y,a0,oe=l[t0];if(t0<16)a0=oe.high=h[m+t0*2]|0,Y=oe.low=h[m+t0*2+1]|0;else{var At=l[t0-15],l0=At.high,A0=At.low,ra=(l0>>>1|A0<<31)^(l0>>>8|A0<<24)^l0>>>7,gt=(A0>>>1|l0<<31)^(A0>>>8|l0<<24)^(A0>>>7|l0<<25),yt=l[t0-2],d0=yt.high,g0=yt.low,aa=(d0>>>19|g0<<13)^(d0<<3|g0>>>29)^d0>>>6,Et=(g0>>>19|d0<<13)^(g0<<3|d0>>>29)^(g0>>>6|d0<<26),Ft=l[t0-7],na=Ft.high,ia=Ft.low,Dt=l[t0-16],sa=Dt.high,bt=Dt.low;Y=gt+ia,a0=ra+na+(Y>>>0<gt>>>0?1:0),Y=Y+Et,a0=a0+aa+(Y>>>0<Et>>>0?1:0),Y=Y+bt,a0=a0+sa+(Y>>>0<bt>>>0?1:0),oe.high=a0,oe.low=Y}var oa=e0&ie^~e0&se,_t=V&m0^~V&C0,xa=G&X^G&p0^X&p0,ca=N&O^N&c0^O&c0,la=(G>>>28|N<<4)^(G<<30|N>>>2)^(G<<25|N>>>7),wt=(N>>>28|G<<4)^(N<<30|G>>>2)^(N<<25|G>>>7),da=(e0>>>14|V<<18)^(e0>>>18|V<<14)^(e0<<23|V>>>9),fa=(V>>>14|e0<<18)^(V>>>18|e0<<14)^(V<<23|e0>>>9),kt=C[t0],ua=kt.high,St=kt.low,Z=B0+fa,n0=Be+da+(Z>>>0<B0>>>0?1:0),Z=Z+_t,n0=n0+oa+(Z>>>0<_t>>>0?1:0),Z=Z+St,n0=n0+ua+(Z>>>0<St>>>0?1:0),Z=Z+Y,n0=n0+a0+(Z>>>0<Y>>>0?1:0),Mt=wt+ca,ha=la+xa+(Mt>>>0<wt>>>0?1:0);Be=se,B0=C0,se=ie,C0=m0,ie=e0,m0=V,V=v0+Z|0,e0=Ce+n0+(V>>>0<v0>>>0?1:0)|0,Ce=p0,v0=c0,p0=X,c0=O,X=G,O=N,N=Z+Mt|0,G=n0+ha+(N>>>0<Z>>>0?1:0)|0}A=g.low=A+N,g.high=P+G+(A>>>0<N>>>0?1:0),_=d.low=_+O,d.high=D+X+(_>>>0<O>>>0?1:0),T=f.low=T+c0,f.high=k+p0+(T>>>0<c0>>>0?1:0),$=v.low=$+v0,v.high=H+Ce+($>>>0<v0>>>0?1:0),K=y.low=K+V,y.high=W+e0+(K>>>0<V>>>0?1:0),z=E.low=z+m0,E.high=q+ie+(z>>>0<m0>>>0?1:0),M=F.low=M+C0,F.high=w+se+(M>>>0<C0>>>0?1:0),S=b.low=S+B0,b.high=I+Be+(S>>>0<B0>>>0?1:0)},_doFinalize:function(){var h=this._data,m=h.words,p=this._nDataBytes*8,g=h.sigBytes*8;m[g>>>5]|=128<<24-g%32,m[(g+128>>>10<<5)+30]=Math.floor(p/4294967296),m[(g+128>>>10<<5)+31]=p,h.sigBytes=m.length*4,this._process();var d=this._hash.toX32();return d},clone:function(){var h=o.clone.call(this);return h._hash=this._hash.clone(),h},blockSize:1024/32});r.SHA512=o._createHelper(u),r.HmacSHA512=o._createHmacHelper(u)})(),t.SHA512})})(R0)),R0.exports}var T0={exports:{}},rr=T0.exports,We;function ar(){return We||(We=1,(function(n,e){(function(t,r,i){n.exports=r(L(),D0(),Ne())})(rr,function(t){return(function(){var r=t,i=r.x64,o=i.Word,B=i.WordArray,x=r.algo,c=x.SHA512,a=x.SHA384=c.extend({_doReset:function(){this._hash=new B.init([new o.init(3418070365,3238371032),new o.init(1654270250,914150663),new o.init(2438529370,812702999),new o.init(355462360,4144912697),new o.init(1731405415,4290775857),new o.init(2394180231,1750603025),new o.init(3675008525,1694076839),new o.init(1203062813,3204075428)])},_doFinalize:function(){var s=c._doFinalize.call(this);return s.sigBytes-=16,s}});r.SHA384=c._createHelper(a),r.HmacSHA384=c._createHmacHelper(a)})(),t.SHA384})})(T0)),T0.exports}var H0={exports:{}},nr=H0.exports,Ge;function ir(){return Ge||(Ge=1,(function(n,e){(function(t,r,i){n.exports=r(L(),D0())})(nr,function(t){return(function(r){var i=t,o=i.lib,B=o.WordArray,x=o.Hasher,c=i.x64,a=c.Word,s=i.algo,C=[],l=[],u=[];(function(){for(var p=1,g=0,d=0;d<24;d++){C[p+5*g]=(d+1)*(d+2)/2%64;var f=g%5,v=(2*p+3*g)%5;p=f,g=v}for(var p=0;p<5;p++)for(var g=0;g<5;g++)l[p+5*g]=g+(2*p+3*g)%5*5;for(var y=1,E=0;E<24;E++){for(var F=0,b=0,P=0;P<7;P++){if(y&1){var A=(1<<P)-1;A<32?b^=1<<A:F^=1<<A-32}y&128?y=y<<1^113:y<<=1}u[E]=a.create(F,b)}})();var h=[];(function(){for(var p=0;p<25;p++)h[p]=a.create()})();var m=s.SHA3=x.extend({cfg:x.cfg.extend({outputLength:512}),_doReset:function(){for(var p=this._state=[],g=0;g<25;g++)p[g]=new a.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(p,g){for(var d=this._state,f=this.blockSize/2,v=0;v<f;v++){var y=p[g+2*v],E=p[g+2*v+1];y=(y<<8|y>>>24)&16711935|(y<<24|y>>>8)&4278255360,E=(E<<8|E>>>24)&16711935|(E<<24|E>>>8)&4278255360;var F=d[v];F.high^=E,F.low^=y}for(var b=0;b<24;b++){for(var P=0;P<5;P++){for(var A=0,D=0,_=0;_<5;_++){var F=d[P+5*_];A^=F.high,D^=F.low}var k=h[P];k.high=A,k.low=D}for(var P=0;P<5;P++)for(var T=h[(P+4)%5],H=h[(P+1)%5],$=H.high,W=H.low,A=T.high^($<<1|W>>>31),D=T.low^(W<<1|$>>>31),_=0;_<5;_++){var F=d[P+5*_];F.high^=A,F.low^=D}for(var K=1;K<25;K++){var A,D,F=d[K],q=F.high,z=F.low,w=C[K];w<32?(A=q<<w|z>>>32-w,D=z<<w|q>>>32-w):(A=z<<w-32|q>>>64-w,D=q<<w-32|z>>>64-w);var M=h[l[K]];M.high=A,M.low=D}var I=h[0],S=d[0];I.high=S.high,I.low=S.low;for(var P=0;P<5;P++)for(var _=0;_<5;_++){var K=P+5*_,F=d[K],G=h[K],N=h[(P+1)%5+5*_],X=h[(P+2)%5+5*_];F.high=G.high^~N.high&X.high,F.low=G.low^~N.low&X.low}var F=d[0],O=u[b];F.high^=O.high,F.low^=O.low}},_doFinalize:function(){var p=this._data,g=p.words;this._nDataBytes*8;var d=p.sigBytes*8,f=this.blockSize*32;g[d>>>5]|=1<<24-d%32,g[(r.ceil((d+1)/f)*f>>>5)-1]|=128,p.sigBytes=g.length*4,this._process();for(var v=this._state,y=this.cfg.outputLength/8,E=y/8,F=[],b=0;b<E;b++){var P=v[b],A=P.high,D=P.low;A=(A<<8|A>>>24)&16711935|(A<<24|A>>>8)&4278255360,D=(D<<8|D>>>24)&16711935|(D<<24|D>>>8)&4278255360,F.push(D),F.push(A)}return new B.init(F,y)},clone:function(){for(var p=x.clone.call(this),g=p._state=this._state.slice(0),d=0;d<25;d++)g[d]=g[d].clone();return p}});i.SHA3=x._createHelper(m),i.HmacSHA3=x._createHmacHelper(m)})(Math),t.SHA3})})(H0)),H0.exports}var $0={exports:{}},sr=$0.exports,Qe;function or(){return Qe||(Qe=1,(function(n,e){(function(t,r){n.exports=r(L())})(sr,function(t){/** @preserve
|
|
6
|
+
(c) 2012 by Cédric Mesnil. All rights reserved.
|
|
7
|
+
|
|
8
|
+
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
|
9
|
+
|
|
10
|
+
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
11
|
+
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
|
12
|
+
|
|
13
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
14
|
+
*/return(function(r){var i=t,o=i.lib,B=o.WordArray,x=o.Hasher,c=i.algo,a=B.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),s=B.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),C=B.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),l=B.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),u=B.create([0,1518500249,1859775393,2400959708,2840853838]),h=B.create([1352829926,1548603684,1836072691,2053994217,0]),m=c.RIPEMD160=x.extend({_doReset:function(){this._hash=B.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(E,F){for(var b=0;b<16;b++){var P=F+b,A=E[P];E[P]=(A<<8|A>>>24)&16711935|(A<<24|A>>>8)&4278255360}var D=this._hash.words,_=u.words,k=h.words,T=a.words,H=s.words,$=C.words,W=l.words,K,q,z,w,M,I,S,G,N,X;I=K=D[0],S=q=D[1],G=z=D[2],N=w=D[3],X=M=D[4];for(var O,b=0;b<80;b+=1)O=K+E[F+T[b]]|0,b<16?O+=p(q,z,w)+_[0]:b<32?O+=g(q,z,w)+_[1]:b<48?O+=d(q,z,w)+_[2]:b<64?O+=f(q,z,w)+_[3]:O+=v(q,z,w)+_[4],O=O|0,O=y(O,$[b]),O=O+M|0,K=M,M=w,w=y(z,10),z=q,q=O,O=I+E[F+H[b]]|0,b<16?O+=v(S,G,N)+k[0]:b<32?O+=f(S,G,N)+k[1]:b<48?O+=d(S,G,N)+k[2]:b<64?O+=g(S,G,N)+k[3]:O+=p(S,G,N)+k[4],O=O|0,O=y(O,W[b]),O=O+X|0,I=X,X=N,N=y(G,10),G=S,S=O;O=D[1]+z+N|0,D[1]=D[2]+w+X|0,D[2]=D[3]+M+I|0,D[3]=D[4]+K+S|0,D[4]=D[0]+q+G|0,D[0]=O},_doFinalize:function(){var E=this._data,F=E.words,b=this._nDataBytes*8,P=E.sigBytes*8;F[P>>>5]|=128<<24-P%32,F[(P+64>>>9<<4)+14]=(b<<8|b>>>24)&16711935|(b<<24|b>>>8)&4278255360,E.sigBytes=(F.length+1)*4,this._process();for(var A=this._hash,D=A.words,_=0;_<5;_++){var k=D[_];D[_]=(k<<8|k>>>24)&16711935|(k<<24|k>>>8)&4278255360}return A},clone:function(){var E=x.clone.call(this);return E._hash=this._hash.clone(),E}});function p(E,F,b){return E^F^b}function g(E,F,b){return E&F|~E&b}function d(E,F,b){return(E|~F)^b}function f(E,F,b){return E&b|F&~b}function v(E,F,b){return E^(F|~b)}function y(E,F){return E<<F|E>>>32-F}i.RIPEMD160=x._createHelper(m),i.HmacRIPEMD160=x._createHmacHelper(m)})(),t.RIPEMD160})})($0)),$0.exports}var O0={exports:{}},xr=O0.exports,je;function he(){return je||(je=1,(function(n,e){(function(t,r){n.exports=r(L())})(xr,function(t){(function(){var r=t,i=r.lib,o=i.Base,B=r.enc,x=B.Utf8,c=r.algo;c.HMAC=o.extend({init:function(a,s){a=this._hasher=new a.init,typeof s=="string"&&(s=x.parse(s));var C=a.blockSize,l=C*4;s.sigBytes>l&&(s=a.finalize(s)),s.clamp();for(var u=this._oKey=s.clone(),h=this._iKey=s.clone(),m=u.words,p=h.words,g=0;g<C;g++)m[g]^=1549556828,p[g]^=909522486;u.sigBytes=h.sigBytes=l,this.reset()},reset:function(){var a=this._hasher;a.reset(),a.update(this._iKey)},update:function(a){return this._hasher.update(a),this},finalize:function(a){var s=this._hasher,C=s.finalize(a);s.reset();var l=s.finalize(this._oKey.clone().concat(C));return l}})})()})})(O0)),O0.exports}var U0={exports:{}},cr=U0.exports,Xe;function lr(){return Xe||(Xe=1,(function(n,e){(function(t,r,i){n.exports=r(L(),ue(),he())})(cr,function(t){return(function(){var r=t,i=r.lib,o=i.Base,B=i.WordArray,x=r.algo,c=x.SHA256,a=x.HMAC,s=x.PBKDF2=o.extend({cfg:o.extend({keySize:128/32,hasher:c,iterations:25e4}),init:function(C){this.cfg=this.cfg.extend(C)},compute:function(C,l){for(var u=this.cfg,h=a.create(u.hasher,C),m=B.create(),p=B.create([1]),g=m.words,d=p.words,f=u.keySize,v=u.iterations;g.length<f;){var y=h.update(l).finalize(p);h.reset();for(var E=y.words,F=E.length,b=y,P=1;P<v;P++){b=h.finalize(b),h.reset();for(var A=b.words,D=0;D<F;D++)E[D]^=A[D]}m.concat(y),d[0]++}return m.sigBytes=f*4,m}});r.PBKDF2=function(C,l,u){return s.create(u).compute(C,l)}})(),t.PBKDF2})})(U0)),U0.exports}var L0={exports:{}},dr=L0.exports,Ve;function r0(){return Ve||(Ve=1,(function(n,e){(function(t,r,i){n.exports=r(L(),Le(),he())})(dr,function(t){return(function(){var r=t,i=r.lib,o=i.Base,B=i.WordArray,x=r.algo,c=x.MD5,a=x.EvpKDF=o.extend({cfg:o.extend({keySize:128/32,hasher:c,iterations:1}),init:function(s){this.cfg=this.cfg.extend(s)},compute:function(s,C){for(var l,u=this.cfg,h=u.hasher.create(),m=B.create(),p=m.words,g=u.keySize,d=u.iterations;p.length<g;){l&&h.update(l),l=h.update(s).finalize(C),h.reset();for(var f=1;f<d;f++)l=h.finalize(l),h.reset();m.concat(l)}return m.sigBytes=g*4,m}});r.EvpKDF=function(s,C,l){return a.create(l).compute(s,C)}})(),t.EvpKDF})})(L0)),L0.exports}var K0={exports:{}},fr=K0.exports,Ze;function j(){return Ze||(Ze=1,(function(n,e){(function(t,r,i){n.exports=r(L(),r0())})(fr,function(t){t.lib.Cipher||(function(r){var i=t,o=i.lib,B=o.Base,x=o.WordArray,c=o.BufferedBlockAlgorithm,a=i.enc;a.Utf8;var s=a.Base64,C=i.algo,l=C.EvpKDF,u=o.Cipher=c.extend({cfg:B.extend(),createEncryptor:function(A,D){return this.create(this._ENC_XFORM_MODE,A,D)},createDecryptor:function(A,D){return this.create(this._DEC_XFORM_MODE,A,D)},init:function(A,D,_){this.cfg=this.cfg.extend(_),this._xformMode=A,this._key=D,this.reset()},reset:function(){c.reset.call(this),this._doReset()},process:function(A){return this._append(A),this._process()},finalize:function(A){A&&this._append(A);var D=this._doFinalize();return D},keySize:128/32,ivSize:128/32,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:(function(){function A(D){return typeof D=="string"?P:E}return function(D){return{encrypt:function(_,k,T){return A(k).encrypt(D,_,k,T)},decrypt:function(_,k,T){return A(k).decrypt(D,_,k,T)}}}})()});o.StreamCipher=u.extend({_doFinalize:function(){var A=this._process(!0);return A},blockSize:1});var h=i.mode={},m=o.BlockCipherMode=B.extend({createEncryptor:function(A,D){return this.Encryptor.create(A,D)},createDecryptor:function(A,D){return this.Decryptor.create(A,D)},init:function(A,D){this._cipher=A,this._iv=D}}),p=h.CBC=(function(){var A=m.extend();A.Encryptor=A.extend({processBlock:function(_,k){var T=this._cipher,H=T.blockSize;D.call(this,_,k,H),T.encryptBlock(_,k),this._prevBlock=_.slice(k,k+H)}}),A.Decryptor=A.extend({processBlock:function(_,k){var T=this._cipher,H=T.blockSize,$=_.slice(k,k+H);T.decryptBlock(_,k),D.call(this,_,k,H),this._prevBlock=$}});function D(_,k,T){var H,$=this._iv;$?(H=$,this._iv=r):H=this._prevBlock;for(var W=0;W<T;W++)_[k+W]^=H[W]}return A})(),g=i.pad={},d=g.Pkcs7={pad:function(A,D){for(var _=D*4,k=_-A.sigBytes%_,T=k<<24|k<<16|k<<8|k,H=[],$=0;$<k;$+=4)H.push(T);var W=x.create(H,k);A.concat(W)},unpad:function(A){var D=A.words[A.sigBytes-1>>>2]&255;A.sigBytes-=D}};o.BlockCipher=u.extend({cfg:u.cfg.extend({mode:p,padding:d}),reset:function(){var A;u.reset.call(this);var D=this.cfg,_=D.iv,k=D.mode;this._xformMode==this._ENC_XFORM_MODE?A=k.createEncryptor:(A=k.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==A?this._mode.init(this,_&&_.words):(this._mode=A.call(k,this,_&&_.words),this._mode.__creator=A)},_doProcessBlock:function(A,D){this._mode.processBlock(A,D)},_doFinalize:function(){var A,D=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(D.pad(this._data,this.blockSize),A=this._process(!0)):(A=this._process(!0),D.unpad(A)),A},blockSize:128/32});var f=o.CipherParams=B.extend({init:function(A){this.mixIn(A)},toString:function(A){return(A||this.formatter).stringify(this)}}),v=i.format={},y=v.OpenSSL={stringify:function(A){var D,_=A.ciphertext,k=A.salt;return k?D=x.create([1398893684,1701076831]).concat(k).concat(_):D=_,D.toString(s)},parse:function(A){var D,_=s.parse(A),k=_.words;return k[0]==1398893684&&k[1]==1701076831&&(D=x.create(k.slice(2,4)),k.splice(0,4),_.sigBytes-=16),f.create({ciphertext:_,salt:D})}},E=o.SerializableCipher=B.extend({cfg:B.extend({format:y}),encrypt:function(A,D,_,k){k=this.cfg.extend(k);var T=A.createEncryptor(_,k),H=T.finalize(D),$=T.cfg;return f.create({ciphertext:H,key:_,iv:$.iv,algorithm:A,mode:$.mode,padding:$.padding,blockSize:A.blockSize,formatter:k.format})},decrypt:function(A,D,_,k){k=this.cfg.extend(k),D=this._parse(D,k.format);var T=A.createDecryptor(_,k).finalize(D.ciphertext);return T},_parse:function(A,D){return typeof A=="string"?D.parse(A,this):A}}),F=i.kdf={},b=F.OpenSSL={execute:function(A,D,_,k,T){if(k||(k=x.random(64/8)),T)var H=l.create({keySize:D+_,hasher:T}).compute(A,k);else var H=l.create({keySize:D+_}).compute(A,k);var $=x.create(H.words.slice(D),_*4);return H.sigBytes=D*4,f.create({key:H,iv:$,salt:k})}},P=o.PasswordBasedCipher=E.extend({cfg:E.cfg.extend({kdf:b}),encrypt:function(A,D,_,k){k=this.cfg.extend(k);var T=k.kdf.execute(_,A.keySize,A.ivSize,k.salt,k.hasher);k.iv=T.iv;var H=E.encrypt.call(this,A,D,T.key,k);return H.mixIn(T),H},decrypt:function(A,D,_,k){k=this.cfg.extend(k),D=this._parse(D,k.format);var T=k.kdf.execute(_,A.keySize,A.ivSize,D.salt,k.hasher);k.iv=T.iv;var H=E.decrypt.call(this,A,D,T.key,k);return H}})})()})})(K0)),K0.exports}var z0={exports:{}},ur=z0.exports,Ye;function hr(){return Ye||(Ye=1,(function(n,e){(function(t,r,i){n.exports=r(L(),j())})(ur,function(t){return t.mode.CFB=(function(){var r=t.lib.BlockCipherMode.extend();r.Encryptor=r.extend({processBlock:function(o,B){var x=this._cipher,c=x.blockSize;i.call(this,o,B,c,x),this._prevBlock=o.slice(B,B+c)}}),r.Decryptor=r.extend({processBlock:function(o,B){var x=this._cipher,c=x.blockSize,a=o.slice(B,B+c);i.call(this,o,B,c,x),this._prevBlock=a}});function i(o,B,x,c){var a,s=this._iv;s?(a=s.slice(0),this._iv=void 0):a=this._prevBlock,c.encryptBlock(a,0);for(var C=0;C<x;C++)o[B+C]^=a[C]}return r})(),t.mode.CFB})})(z0)),z0.exports}var q0={exports:{}},pr=q0.exports,Je;function vr(){return Je||(Je=1,(function(n,e){(function(t,r,i){n.exports=r(L(),j())})(pr,function(t){return t.mode.CTR=(function(){var r=t.lib.BlockCipherMode.extend(),i=r.Encryptor=r.extend({processBlock:function(o,B){var x=this._cipher,c=x.blockSize,a=this._iv,s=this._counter;a&&(s=this._counter=a.slice(0),this._iv=void 0);var C=s.slice(0);x.encryptBlock(C,0),s[c-1]=s[c-1]+1|0;for(var l=0;l<c;l++)o[B+l]^=C[l]}});return r.Decryptor=i,r})(),t.mode.CTR})})(q0)),q0.exports}var N0={exports:{}},mr=N0.exports,et;function Cr(){return et||(et=1,(function(n,e){(function(t,r,i){n.exports=r(L(),j())})(mr,function(t){/** @preserve
|
|
15
|
+
* Counter block mode compatible with Dr Brian Gladman fileenc.c
|
|
16
|
+
* derived from CryptoJS.mode.CTR
|
|
17
|
+
* Jan Hruby jhruby.web@gmail.com
|
|
18
|
+
*/return t.mode.CTRGladman=(function(){var r=t.lib.BlockCipherMode.extend();function i(x){if((x>>24&255)===255){var c=x>>16&255,a=x>>8&255,s=x&255;c===255?(c=0,a===255?(a=0,s===255?s=0:++s):++a):++c,x=0,x+=c<<16,x+=a<<8,x+=s}else x+=1<<24;return x}function o(x){return(x[0]=i(x[0]))===0&&(x[1]=i(x[1])),x}var B=r.Encryptor=r.extend({processBlock:function(x,c){var a=this._cipher,s=a.blockSize,C=this._iv,l=this._counter;C&&(l=this._counter=C.slice(0),this._iv=void 0),o(l);var u=l.slice(0);a.encryptBlock(u,0);for(var h=0;h<s;h++)x[c+h]^=u[h]}});return r.Decryptor=B,r})(),t.mode.CTRGladman})})(N0)),N0.exports}var W0={exports:{}},Br=W0.exports,tt;function Ar(){return tt||(tt=1,(function(n,e){(function(t,r,i){n.exports=r(L(),j())})(Br,function(t){return t.mode.OFB=(function(){var r=t.lib.BlockCipherMode.extend(),i=r.Encryptor=r.extend({processBlock:function(o,B){var x=this._cipher,c=x.blockSize,a=this._iv,s=this._keystream;a&&(s=this._keystream=a.slice(0),this._iv=void 0),x.encryptBlock(s,0);for(var C=0;C<c;C++)o[B+C]^=s[C]}});return r.Decryptor=i,r})(),t.mode.OFB})})(W0)),W0.exports}var G0={exports:{}},gr=G0.exports,rt;function yr(){return rt||(rt=1,(function(n,e){(function(t,r,i){n.exports=r(L(),j())})(gr,function(t){return t.mode.ECB=(function(){var r=t.lib.BlockCipherMode.extend();return r.Encryptor=r.extend({processBlock:function(i,o){this._cipher.encryptBlock(i,o)}}),r.Decryptor=r.extend({processBlock:function(i,o){this._cipher.decryptBlock(i,o)}}),r})(),t.mode.ECB})})(G0)),G0.exports}var Q0={exports:{}},Er=Q0.exports,at;function Fr(){return at||(at=1,(function(n,e){(function(t,r,i){n.exports=r(L(),j())})(Er,function(t){return t.pad.AnsiX923={pad:function(r,i){var o=r.sigBytes,B=i*4,x=B-o%B,c=o+x-1;r.clamp(),r.words[c>>>2]|=x<<24-c%4*8,r.sigBytes+=x},unpad:function(r){var i=r.words[r.sigBytes-1>>>2]&255;r.sigBytes-=i}},t.pad.Ansix923})})(Q0)),Q0.exports}var j0={exports:{}},Dr=j0.exports,nt;function br(){return nt||(nt=1,(function(n,e){(function(t,r,i){n.exports=r(L(),j())})(Dr,function(t){return t.pad.Iso10126={pad:function(r,i){var o=i*4,B=o-r.sigBytes%o;r.concat(t.lib.WordArray.random(B-1)).concat(t.lib.WordArray.create([B<<24],1))},unpad:function(r){var i=r.words[r.sigBytes-1>>>2]&255;r.sigBytes-=i}},t.pad.Iso10126})})(j0)),j0.exports}var X0={exports:{}},_r=X0.exports,it;function wr(){return it||(it=1,(function(n,e){(function(t,r,i){n.exports=r(L(),j())})(_r,function(t){return t.pad.Iso97971={pad:function(r,i){r.concat(t.lib.WordArray.create([2147483648],1)),t.pad.ZeroPadding.pad(r,i)},unpad:function(r){t.pad.ZeroPadding.unpad(r),r.sigBytes--}},t.pad.Iso97971})})(X0)),X0.exports}var V0={exports:{}},kr=V0.exports,st;function Sr(){return st||(st=1,(function(n,e){(function(t,r,i){n.exports=r(L(),j())})(kr,function(t){return t.pad.ZeroPadding={pad:function(r,i){var o=i*4;r.clamp(),r.sigBytes+=o-(r.sigBytes%o||o)},unpad:function(r){for(var i=r.words,o=r.sigBytes-1,o=r.sigBytes-1;o>=0;o--)if(i[o>>>2]>>>24-o%4*8&255){r.sigBytes=o+1;break}}},t.pad.ZeroPadding})})(V0)),V0.exports}var Z0={exports:{}},Mr=Z0.exports,ot;function Pr(){return ot||(ot=1,(function(n,e){(function(t,r,i){n.exports=r(L(),j())})(Mr,function(t){return t.pad.NoPadding={pad:function(){},unpad:function(){}},t.pad.NoPadding})})(Z0)),Z0.exports}var Y0={exports:{}},Ir=Y0.exports,xt;function Rr(){return xt||(xt=1,(function(n,e){(function(t,r,i){n.exports=r(L(),j())})(Ir,function(t){return(function(r){var i=t,o=i.lib,B=o.CipherParams,x=i.enc,c=x.Hex,a=i.format;a.Hex={stringify:function(s){return s.ciphertext.toString(c)},parse:function(s){var C=c.parse(s);return B.create({ciphertext:C})}}})(),t.format.Hex})})(Y0)),Y0.exports}var J0={exports:{}},Tr=J0.exports,ct;function Hr(){return ct||(ct=1,(function(n,e){(function(t,r,i){n.exports=r(L(),s0(),o0(),r0(),j())})(Tr,function(t){return(function(){var r=t,i=r.lib,o=i.BlockCipher,B=r.algo,x=[],c=[],a=[],s=[],C=[],l=[],u=[],h=[],m=[],p=[];(function(){for(var f=[],v=0;v<256;v++)v<128?f[v]=v<<1:f[v]=v<<1^283;for(var y=0,E=0,v=0;v<256;v++){var F=E^E<<1^E<<2^E<<3^E<<4;F=F>>>8^F&255^99,x[y]=F,c[F]=y;var b=f[y],P=f[b],A=f[P],D=f[F]*257^F*16843008;a[y]=D<<24|D>>>8,s[y]=D<<16|D>>>16,C[y]=D<<8|D>>>24,l[y]=D;var D=A*16843009^P*65537^b*257^y*16843008;u[F]=D<<24|D>>>8,h[F]=D<<16|D>>>16,m[F]=D<<8|D>>>24,p[F]=D,y?(y=b^f[f[f[A^b]]],E^=f[f[E]]):y=E=1}})();var g=[0,1,2,4,8,16,32,64,128,27,54],d=B.AES=o.extend({_doReset:function(){var f;if(!(this._nRounds&&this._keyPriorReset===this._key)){for(var v=this._keyPriorReset=this._key,y=v.words,E=v.sigBytes/4,F=this._nRounds=E+6,b=(F+1)*4,P=this._keySchedule=[],A=0;A<b;A++)A<E?P[A]=y[A]:(f=P[A-1],A%E?E>6&&A%E==4&&(f=x[f>>>24]<<24|x[f>>>16&255]<<16|x[f>>>8&255]<<8|x[f&255]):(f=f<<8|f>>>24,f=x[f>>>24]<<24|x[f>>>16&255]<<16|x[f>>>8&255]<<8|x[f&255],f^=g[A/E|0]<<24),P[A]=P[A-E]^f);for(var D=this._invKeySchedule=[],_=0;_<b;_++){var A=b-_;if(_%4)var f=P[A];else var f=P[A-4];_<4||A<=4?D[_]=f:D[_]=u[x[f>>>24]]^h[x[f>>>16&255]]^m[x[f>>>8&255]]^p[x[f&255]]}}},encryptBlock:function(f,v){this._doCryptBlock(f,v,this._keySchedule,a,s,C,l,x)},decryptBlock:function(f,v){var y=f[v+1];f[v+1]=f[v+3],f[v+3]=y,this._doCryptBlock(f,v,this._invKeySchedule,u,h,m,p,c);var y=f[v+1];f[v+1]=f[v+3],f[v+3]=y},_doCryptBlock:function(f,v,y,E,F,b,P,A){for(var D=this._nRounds,_=f[v]^y[0],k=f[v+1]^y[1],T=f[v+2]^y[2],H=f[v+3]^y[3],$=4,W=1;W<D;W++){var K=E[_>>>24]^F[k>>>16&255]^b[T>>>8&255]^P[H&255]^y[$++],q=E[k>>>24]^F[T>>>16&255]^b[H>>>8&255]^P[_&255]^y[$++],z=E[T>>>24]^F[H>>>16&255]^b[_>>>8&255]^P[k&255]^y[$++],w=E[H>>>24]^F[_>>>16&255]^b[k>>>8&255]^P[T&255]^y[$++];_=K,k=q,T=z,H=w}var K=(A[_>>>24]<<24|A[k>>>16&255]<<16|A[T>>>8&255]<<8|A[H&255])^y[$++],q=(A[k>>>24]<<24|A[T>>>16&255]<<16|A[H>>>8&255]<<8|A[_&255])^y[$++],z=(A[T>>>24]<<24|A[H>>>16&255]<<16|A[_>>>8&255]<<8|A[k&255])^y[$++],w=(A[H>>>24]<<24|A[_>>>16&255]<<16|A[k>>>8&255]<<8|A[T&255])^y[$++];f[v]=K,f[v+1]=q,f[v+2]=z,f[v+3]=w},keySize:256/32});r.AES=o._createHelper(d)})(),t.AES})})(J0)),J0.exports}var ee={exports:{}},$r=ee.exports,lt;function Or(){return lt||(lt=1,(function(n,e){(function(t,r,i){n.exports=r(L(),s0(),o0(),r0(),j())})($r,function(t){return(function(){var r=t,i=r.lib,o=i.WordArray,B=i.BlockCipher,x=r.algo,c=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],a=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],s=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],C=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],l=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],u=x.DES=B.extend({_doReset:function(){for(var g=this._key,d=g.words,f=[],v=0;v<56;v++){var y=c[v]-1;f[v]=d[y>>>5]>>>31-y%32&1}for(var E=this._subKeys=[],F=0;F<16;F++){for(var b=E[F]=[],P=s[F],v=0;v<24;v++)b[v/6|0]|=f[(a[v]-1+P)%28]<<31-v%6,b[4+(v/6|0)]|=f[28+(a[v+24]-1+P)%28]<<31-v%6;b[0]=b[0]<<1|b[0]>>>31;for(var v=1;v<7;v++)b[v]=b[v]>>>(v-1)*4+3;b[7]=b[7]<<5|b[7]>>>27}for(var A=this._invSubKeys=[],v=0;v<16;v++)A[v]=E[15-v]},encryptBlock:function(g,d){this._doCryptBlock(g,d,this._subKeys)},decryptBlock:function(g,d){this._doCryptBlock(g,d,this._invSubKeys)},_doCryptBlock:function(g,d,f){this._lBlock=g[d],this._rBlock=g[d+1],h.call(this,4,252645135),h.call(this,16,65535),m.call(this,2,858993459),m.call(this,8,16711935),h.call(this,1,1431655765);for(var v=0;v<16;v++){for(var y=f[v],E=this._lBlock,F=this._rBlock,b=0,P=0;P<8;P++)b|=C[P][((F^y[P])&l[P])>>>0];this._lBlock=F,this._rBlock=E^b}var A=this._lBlock;this._lBlock=this._rBlock,this._rBlock=A,h.call(this,1,1431655765),m.call(this,8,16711935),m.call(this,2,858993459),h.call(this,16,65535),h.call(this,4,252645135),g[d]=this._lBlock,g[d+1]=this._rBlock},keySize:64/32,ivSize:64/32,blockSize:64/32});function h(g,d){var f=(this._lBlock>>>g^this._rBlock)&d;this._rBlock^=f,this._lBlock^=f<<g}function m(g,d){var f=(this._rBlock>>>g^this._lBlock)&d;this._lBlock^=f,this._rBlock^=f<<g}r.DES=B._createHelper(u);var p=x.TripleDES=B.extend({_doReset:function(){var g=this._key,d=g.words;if(d.length!==2&&d.length!==4&&d.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var f=d.slice(0,2),v=d.length<4?d.slice(0,2):d.slice(2,4),y=d.length<6?d.slice(0,2):d.slice(4,6);this._des1=u.createEncryptor(o.create(f)),this._des2=u.createEncryptor(o.create(v)),this._des3=u.createEncryptor(o.create(y))},encryptBlock:function(g,d){this._des1.encryptBlock(g,d),this._des2.decryptBlock(g,d),this._des3.encryptBlock(g,d)},decryptBlock:function(g,d){this._des3.decryptBlock(g,d),this._des2.encryptBlock(g,d),this._des1.decryptBlock(g,d)},keySize:192/32,ivSize:64/32,blockSize:64/32});r.TripleDES=B._createHelper(p)})(),t.TripleDES})})(ee)),ee.exports}var te={exports:{}},Ur=te.exports,dt;function Lr(){return dt||(dt=1,(function(n,e){(function(t,r,i){n.exports=r(L(),s0(),o0(),r0(),j())})(Ur,function(t){return(function(){var r=t,i=r.lib,o=i.StreamCipher,B=r.algo,x=B.RC4=o.extend({_doReset:function(){for(var s=this._key,C=s.words,l=s.sigBytes,u=this._S=[],h=0;h<256;h++)u[h]=h;for(var h=0,m=0;h<256;h++){var p=h%l,g=C[p>>>2]>>>24-p%4*8&255;m=(m+u[h]+g)%256;var d=u[h];u[h]=u[m],u[m]=d}this._i=this._j=0},_doProcessBlock:function(s,C){s[C]^=c.call(this)},keySize:256/32,ivSize:0});function c(){for(var s=this._S,C=this._i,l=this._j,u=0,h=0;h<4;h++){C=(C+1)%256,l=(l+s[C])%256;var m=s[C];s[C]=s[l],s[l]=m,u|=s[(s[C]+s[l])%256]<<24-h*8}return this._i=C,this._j=l,u}r.RC4=o._createHelper(x);var a=B.RC4Drop=x.extend({cfg:x.cfg.extend({drop:192}),_doReset:function(){x._doReset.call(this);for(var s=this.cfg.drop;s>0;s--)c.call(this)}});r.RC4Drop=o._createHelper(a)})(),t.RC4})})(te)),te.exports}var re={exports:{}},Kr=re.exports,ft;function zr(){return ft||(ft=1,(function(n,e){(function(t,r,i){n.exports=r(L(),s0(),o0(),r0(),j())})(Kr,function(t){return(function(){var r=t,i=r.lib,o=i.StreamCipher,B=r.algo,x=[],c=[],a=[],s=B.Rabbit=o.extend({_doReset:function(){for(var l=this._key.words,u=this.cfg.iv,h=0;h<4;h++)l[h]=(l[h]<<8|l[h]>>>24)&16711935|(l[h]<<24|l[h]>>>8)&4278255360;var m=this._X=[l[0],l[3]<<16|l[2]>>>16,l[1],l[0]<<16|l[3]>>>16,l[2],l[1]<<16|l[0]>>>16,l[3],l[2]<<16|l[1]>>>16],p=this._C=[l[2]<<16|l[2]>>>16,l[0]&4294901760|l[1]&65535,l[3]<<16|l[3]>>>16,l[1]&4294901760|l[2]&65535,l[0]<<16|l[0]>>>16,l[2]&4294901760|l[3]&65535,l[1]<<16|l[1]>>>16,l[3]&4294901760|l[0]&65535];this._b=0;for(var h=0;h<4;h++)C.call(this);for(var h=0;h<8;h++)p[h]^=m[h+4&7];if(u){var g=u.words,d=g[0],f=g[1],v=(d<<8|d>>>24)&16711935|(d<<24|d>>>8)&4278255360,y=(f<<8|f>>>24)&16711935|(f<<24|f>>>8)&4278255360,E=v>>>16|y&4294901760,F=y<<16|v&65535;p[0]^=v,p[1]^=E,p[2]^=y,p[3]^=F,p[4]^=v,p[5]^=E,p[6]^=y,p[7]^=F;for(var h=0;h<4;h++)C.call(this)}},_doProcessBlock:function(l,u){var h=this._X;C.call(this),x[0]=h[0]^h[5]>>>16^h[3]<<16,x[1]=h[2]^h[7]>>>16^h[5]<<16,x[2]=h[4]^h[1]>>>16^h[7]<<16,x[3]=h[6]^h[3]>>>16^h[1]<<16;for(var m=0;m<4;m++)x[m]=(x[m]<<8|x[m]>>>24)&16711935|(x[m]<<24|x[m]>>>8)&4278255360,l[u+m]^=x[m]},blockSize:128/32,ivSize:64/32});function C(){for(var l=this._X,u=this._C,h=0;h<8;h++)c[h]=u[h];u[0]=u[0]+1295307597+this._b|0,u[1]=u[1]+3545052371+(u[0]>>>0<c[0]>>>0?1:0)|0,u[2]=u[2]+886263092+(u[1]>>>0<c[1]>>>0?1:0)|0,u[3]=u[3]+1295307597+(u[2]>>>0<c[2]>>>0?1:0)|0,u[4]=u[4]+3545052371+(u[3]>>>0<c[3]>>>0?1:0)|0,u[5]=u[5]+886263092+(u[4]>>>0<c[4]>>>0?1:0)|0,u[6]=u[6]+1295307597+(u[5]>>>0<c[5]>>>0?1:0)|0,u[7]=u[7]+3545052371+(u[6]>>>0<c[6]>>>0?1:0)|0,this._b=u[7]>>>0<c[7]>>>0?1:0;for(var h=0;h<8;h++){var m=l[h]+u[h],p=m&65535,g=m>>>16,d=((p*p>>>17)+p*g>>>15)+g*g,f=((m&4294901760)*m|0)+((m&65535)*m|0);a[h]=d^f}l[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,l[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,l[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,l[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,l[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,l[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,l[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,l[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}r.Rabbit=o._createHelper(s)})(),t.Rabbit})})(re)),re.exports}var ae={exports:{}},qr=ae.exports,ut;function Nr(){return ut||(ut=1,(function(n,e){(function(t,r,i){n.exports=r(L(),s0(),o0(),r0(),j())})(qr,function(t){return(function(){var r=t,i=r.lib,o=i.StreamCipher,B=r.algo,x=[],c=[],a=[],s=B.RabbitLegacy=o.extend({_doReset:function(){var l=this._key.words,u=this.cfg.iv,h=this._X=[l[0],l[3]<<16|l[2]>>>16,l[1],l[0]<<16|l[3]>>>16,l[2],l[1]<<16|l[0]>>>16,l[3],l[2]<<16|l[1]>>>16],m=this._C=[l[2]<<16|l[2]>>>16,l[0]&4294901760|l[1]&65535,l[3]<<16|l[3]>>>16,l[1]&4294901760|l[2]&65535,l[0]<<16|l[0]>>>16,l[2]&4294901760|l[3]&65535,l[1]<<16|l[1]>>>16,l[3]&4294901760|l[0]&65535];this._b=0;for(var p=0;p<4;p++)C.call(this);for(var p=0;p<8;p++)m[p]^=h[p+4&7];if(u){var g=u.words,d=g[0],f=g[1],v=(d<<8|d>>>24)&16711935|(d<<24|d>>>8)&4278255360,y=(f<<8|f>>>24)&16711935|(f<<24|f>>>8)&4278255360,E=v>>>16|y&4294901760,F=y<<16|v&65535;m[0]^=v,m[1]^=E,m[2]^=y,m[3]^=F,m[4]^=v,m[5]^=E,m[6]^=y,m[7]^=F;for(var p=0;p<4;p++)C.call(this)}},_doProcessBlock:function(l,u){var h=this._X;C.call(this),x[0]=h[0]^h[5]>>>16^h[3]<<16,x[1]=h[2]^h[7]>>>16^h[5]<<16,x[2]=h[4]^h[1]>>>16^h[7]<<16,x[3]=h[6]^h[3]>>>16^h[1]<<16;for(var m=0;m<4;m++)x[m]=(x[m]<<8|x[m]>>>24)&16711935|(x[m]<<24|x[m]>>>8)&4278255360,l[u+m]^=x[m]},blockSize:128/32,ivSize:64/32});function C(){for(var l=this._X,u=this._C,h=0;h<8;h++)c[h]=u[h];u[0]=u[0]+1295307597+this._b|0,u[1]=u[1]+3545052371+(u[0]>>>0<c[0]>>>0?1:0)|0,u[2]=u[2]+886263092+(u[1]>>>0<c[1]>>>0?1:0)|0,u[3]=u[3]+1295307597+(u[2]>>>0<c[2]>>>0?1:0)|0,u[4]=u[4]+3545052371+(u[3]>>>0<c[3]>>>0?1:0)|0,u[5]=u[5]+886263092+(u[4]>>>0<c[4]>>>0?1:0)|0,u[6]=u[6]+1295307597+(u[5]>>>0<c[5]>>>0?1:0)|0,u[7]=u[7]+3545052371+(u[6]>>>0<c[6]>>>0?1:0)|0,this._b=u[7]>>>0<c[7]>>>0?1:0;for(var h=0;h<8;h++){var m=l[h]+u[h],p=m&65535,g=m>>>16,d=((p*p>>>17)+p*g>>>15)+g*g,f=((m&4294901760)*m|0)+((m&65535)*m|0);a[h]=d^f}l[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,l[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,l[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,l[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,l[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,l[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,l[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,l[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}r.RabbitLegacy=o._createHelper(s)})(),t.RabbitLegacy})})(ae)),ae.exports}var ne={exports:{}},Wr=ne.exports,ht;function Gr(){return ht||(ht=1,(function(n,e){(function(t,r,i){n.exports=r(L(),s0(),o0(),r0(),j())})(Wr,function(t){return(function(){var r=t,i=r.lib,o=i.BlockCipher,B=r.algo;const x=16,c=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],a=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var s={pbox:[],sbox:[]};function C(p,g){let d=g>>24&255,f=g>>16&255,v=g>>8&255,y=g&255,E=p.sbox[0][d]+p.sbox[1][f];return E=E^p.sbox[2][v],E=E+p.sbox[3][y],E}function l(p,g,d){let f=g,v=d,y;for(let E=0;E<x;++E)f=f^p.pbox[E],v=C(p,f)^v,y=f,f=v,v=y;return y=f,f=v,v=y,v=v^p.pbox[x],f=f^p.pbox[x+1],{left:f,right:v}}function u(p,g,d){let f=g,v=d,y;for(let E=x+1;E>1;--E)f=f^p.pbox[E],v=C(p,f)^v,y=f,f=v,v=y;return y=f,f=v,v=y,v=v^p.pbox[1],f=f^p.pbox[0],{left:f,right:v}}function h(p,g,d){for(let F=0;F<4;F++){p.sbox[F]=[];for(let b=0;b<256;b++)p.sbox[F][b]=a[F][b]}let f=0;for(let F=0;F<x+2;F++)p.pbox[F]=c[F]^g[f],f++,f>=d&&(f=0);let v=0,y=0,E=0;for(let F=0;F<x+2;F+=2)E=l(p,v,y),v=E.left,y=E.right,p.pbox[F]=v,p.pbox[F+1]=y;for(let F=0;F<4;F++)for(let b=0;b<256;b+=2)E=l(p,v,y),v=E.left,y=E.right,p.sbox[F][b]=v,p.sbox[F][b+1]=y;return!0}var m=B.Blowfish=o.extend({_doReset:function(){if(this._keyPriorReset!==this._key){var p=this._keyPriorReset=this._key,g=p.words,d=p.sigBytes/4;h(s,g,d)}},encryptBlock:function(p,g){var d=l(s,p[g],p[g+1]);p[g]=d.left,p[g+1]=d.right},decryptBlock:function(p,g){var d=u(s,p[g],p[g+1]);p[g]=d.left,p[g+1]=d.right},blockSize:64/32,keySize:128/32,ivSize:64/32});r.Blowfish=o._createHelper(m)})(),t.Blowfish})})(ne)),ne.exports}var Qr=y0.exports,pt;function jr(){return pt||(pt=1,(function(n,e){(function(t,r,i){n.exports=r(L(),D0(),Nt(),Gt(),s0(),Xt(),o0(),Le(),ue(),er(),Ne(),ar(),ir(),or(),he(),lr(),r0(),j(),hr(),vr(),Cr(),Ar(),yr(),Fr(),br(),wr(),Sr(),Pr(),Rr(),Hr(),Or(),Lr(),zr(),Nr(),Gr())})(Qr,function(t){return t})})(y0)),y0.exports}var Xr=jr();const pe=$t(Xr),ve="ai_provider_config",vt="aiselector";function Vr(n,e=vt){try{return pe.AES.encrypt(n,e).toString()}catch{return n}}function Zr(n,e=vt){try{return pe.AES.decrypt(n,e).toString(pe.enc.Utf8)}catch{return n}}const mt={get:n=>{if(typeof window>"u")return null;try{const e=localStorage.getItem(n);return e?Zr(e):null}catch{return null}},set:(n,e)=>{if(!(typeof window>"u"))try{localStorage.setItem(n,Vr(e))}catch{}},remove:n=>{typeof window>"u"||localStorage.removeItem(n)}},Ct={get:n=>typeof window>"u"?null:localStorage.getItem(n),set:(n,e)=>{typeof window>"u"||localStorage.setItem(n,e)},remove:n=>{typeof window>"u"||localStorage.removeItem(n)}},Yr=Ct,me=mt;function Jr(n=me,e={}){const t=e.serialize||JSON.stringify,r=e.deserialize||JSON.parse;return{save(i){try{const o=t(i);n.set(ve,o)}catch(o){console.error("Failed to save config:",o)}},load(){const i=n.get(ve);if(!i)return null;try{return r(i)}catch(o){return console.error("Failed to load config:",o),null}},clear(){n.remove(ve)}}}function Bt(n){if(!n)return{providers:Object.values(u0),getModels:c=>h0(c)};const{mode:e,include:t,exclude:r,custom:i}=n;let o=[];if(e==="default"){let c=Object.values(u0);t&&t.length>0&&(c=c.filter(a=>t.includes(a.id))),r&&r.length>0&&(c=c.filter(a=>!r.includes(a.id))),o=[...c]}const B={};if(i)for(const[c,a]of Object.entries(i)){const s={id:c,name:a.name,baseUrl:a.baseUrl,needsApiKey:a.needsApiKey,apiFormat:a.apiFormat,supportsModelsApi:a.supportsModelsApi??!1,icon:a.icon},C=o.findIndex(l=>l.id===c);C>=0?o[C]={...o[C],...s,icon:s.icon||o[C].icon}:o.push(s),a.models&&a.models.length>0&&(B[c]=a.models)}return{providers:o,getModels:c=>B[c]?B[c]:h0(c)}}function ea(n,e){const{providers:t}=Bt(e);return t.find(r=>r.id===n)||null}class ta{constructor(e={}){this.channels=[],this.activeChannelId=null,this.capabilityDefaults={},this.listeners=new Map,this.storagePrefix=e.storagePrefix||"ai_channel",this.activeChannelKey=e.activeChannelKey||"ai_active_channel",this.capabilityDefaultsKey=e.capabilityDefaultsKey||"ai_capability_defaults",this.proxyUrl=e.proxyUrl,this.storageAdapter=e.storageAdapter||me,this.loadChannels(),this.loadActiveChannel(),this.loadCapabilityDefaults()}on(e,t){return this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(t),()=>this.off(e,t)}off(e,t){var r;(r=this.listeners.get(e))==null||r.delete(t)}emit(e,t){var r;(r=this.listeners.get(e))==null||r.forEach(i=>i(t))}getStorageKey(e){return`${this.storagePrefix}_${e}`}loadChannels(){try{const e=Object.keys(localStorage||{}).filter(t=>t.startsWith(this.storagePrefix));this.channels=e.map(t=>{const r=this.storageAdapter.get(t);return r?JSON.parse(r):null}).filter(t=>t!==null)}catch(e){console.error("Failed to load channels:",e),this.channels=[]}}loadActiveChannel(){try{const e=this.storageAdapter.get(this.activeChannelKey);e&&(this.activeChannelId=e)}catch(e){console.error("Failed to load active channel:",e)}}saveChannel(e){try{this.storageAdapter.set(this.getStorageKey(e.id),JSON.stringify(e))}catch(t){console.error("Failed to save channel:",t)}}deleteChannelFromStorage(e){try{this.storageAdapter.remove(this.getStorageKey(e))}catch(t){console.error("Failed to delete channel from storage:",t)}}saveActiveChannel(){try{this.activeChannelId?this.storageAdapter.set(this.activeChannelKey,this.activeChannelId):this.storageAdapter.remove(this.activeChannelKey)}catch(e){console.error("Failed to save active channel:",e)}}loadCapabilityDefaults(){try{const e=this.storageAdapter.get(this.capabilityDefaultsKey);if(e){const t=JSON.parse(e);this.capabilityDefaults=t}}catch(e){console.error("Failed to load capability defaults:",e)}}saveCapabilityDefaults(){try{const e=Object.keys(this.capabilityDefaults).filter(t=>this.capabilityDefaults[t]);if(e.length>0){const t={};for(const r of e)t[r]=this.capabilityDefaults[r];this.storageAdapter.set(this.capabilityDefaultsKey,JSON.stringify(t))}else this.storageAdapter.remove(this.capabilityDefaultsKey)}catch(e){console.error("Failed to save capability defaults:",e)}}async addChannel(e,t){const r=J(e.providerId);if(!r)throw new Error(`Provider not found: ${e.providerId}`);let i=e.modelName||e.model,o=[],B;try{const s=(await this.getProviderModels(e.providerId,e.apiKey,e.baseUrl)).find(C=>C.id===e.model);s&&(i=s.name,o=s.capabilities||[],B=s.contextLength)}catch(a){console.warn("Failed to fetch models, using static info:",a)}const x={id:Date.now().toString()+Math.random().toString(36).slice(2,6),providerId:e.providerId,providerName:r.name,model:e.model,modelName:i,apiKey:e.apiKey,baseUrl:e.baseUrl,apiFormat:r.apiFormat,capabilities:o,contextLength:B,name:t,createdAt:Date.now(),status:"untested"},c=this.channels.findIndex(a=>a.providerId===x.providerId&&a.model===x.model&&a.baseUrl===x.baseUrl);return c>=0?(this.channels[c]={...x,id:this.channels[c].id},this.saveChannel(this.channels[c]),this.emit("update",this.channels[c]),this.channels[c]):(this.channels.unshift(x),this.saveChannel(x),this.emit("add",x),x)}deleteChannel(e){const t=this.getChannel(e);t&&(this.channels=this.channels.filter(r=>r.id!==e),this.deleteChannelFromStorage(e),this.activeChannelId===e&&(this.activeChannelId=null,this.saveActiveChannel()),this.emit("delete",{id:e,channel:t}))}async updateChannel(e,t,r){const i=this.channels.find(x=>x.id===e);if(!i)throw new Error(`Channel not found: ${e}`);const o={...i,...t};if(r!==void 0&&(o.name=r),t.providerId||t.model||t.baseUrl){const x=J(o.providerId);if(x){o.providerName=x.name,o.apiFormat=x.apiFormat;try{const a=(await this.getProviderModels(o.providerId,o.apiKey,o.baseUrl)).find(s=>s.id===o.model);a&&(o.modelName=a.name,o.capabilities=a.capabilities||[],o.contextLength=a.contextLength)}catch(c){console.warn("Failed to fetch models:",c)}}}const B=this.channels.findIndex(x=>x.id===e);return this.channels[B]=o,this.saveChannel(o),this.emit("update",o),o}getChannels(){return[...this.channels]}getChannel(e){return this.channels.find(t=>t.id===e)}getChannelsByProvider(e){return this.channels.filter(t=>t.providerId===e)}getChannelsByCapability(e){return this.channels.filter(t=>{var r;return(r=t.capabilities)==null?void 0:r.includes(e)})}getChannelsByFormat(e){return this.channels.filter(t=>t.apiFormat===e)}getChannelsByStatus(e){return this.channels.filter(t=>t.status===e)}queryChannels(e){return this.channels.filter(t=>{var r;if(e.providerId&&t.providerId!==e.providerId||e.apiFormat&&t.apiFormat!==e.apiFormat||e.capability&&!((r=t.capabilities)!=null&&r.includes(e.capability))||e.status&&t.status!==e.status)return!1;if(e.keyword){const i=e.keyword.toLowerCase();if(!`${t.name||""} ${t.modelName} ${t.providerName} ${t.model}`.toLowerCase().includes(i))return!1}return!0})}getChannelCount(){return this.channels.length}getActiveChannel(){if(this.activeChannelId)return this.getChannel(this.activeChannelId)}setActiveChannel(e){const t=this.getChannel(e);if(!t)throw new Error(`Channel not found: ${e}`);this.activeChannelId=e,this.saveActiveChannel();const r=this.channels.findIndex(i=>i.id===e);this.channels[r].lastUsedAt=Date.now(),this.saveChannel(this.channels[r]),this.emit("activate",t)}clearActiveChannel(){this.activeChannelId=null,this.saveActiveChannel()}setDefaultForCapability(e,t){if(!this.getChannel(t))throw new Error(`Channel not found: ${t}`);this.capabilityDefaults[e]=t,this.saveCapabilityDefaults(),this.emit("update",{type:"capabilityDefault",capability:e,channelId:t})}getDefaultForCapability(e){return this.capabilityDefaults[e]||void 0}clearDefaultForCapability(e){delete this.capabilityDefaults[e],this.saveCapabilityDefaults()}getAllCapabilityDefaults(){return{...this.capabilityDefaults}}getChannelForCapability(e){const t=this.capabilityDefaults[e];if(t){const o=this.getChannel(t);if(o)return o}const r=this.getChannelsByCapability(e).filter(o=>o.lastUsedAt).sort((o,B)=>(B.lastUsedAt||0)-(o.lastUsedAt||0));if(r.length>0)return r[0];const i=this.getActiveChannel();return i||this.channels[0]}async chatForCapability(e,t,r){const i=this.getChannelForCapability(e);if(!i)throw new Error(`No available channel for capability: ${e}`);return this.chatWith(i.id,t,r)}async chatStreamForCapability(e,t,r){const i=this.getChannelForCapability(e);if(!i)throw new Error(`No available channel for capability: ${e}`);return this.chatWithStream(i.id,t,{...r,onDelta:(r==null?void 0:r.onDelta)||(o=>{})})}async getProviderModels(e,t,r){const i=J(e);if(!i)throw new Error(`Provider not found: ${e}`);return Me({provider:i,apiKey:t,baseUrl:r,proxyUrl:this.proxyUrl,fallbackToStatic:!0})}async getChannelModels(e){const t=this.getChannel(e);if(!t)throw new Error(`Channel not found: ${e}`);return this.getProviderModels(t.providerId,t.apiKey,t.baseUrl)}getStaticModelList(e){return h0(e)}getModelsByCapability(e,t){return e.filter(r=>{var i;return(i=r.capabilities)==null?void 0:i.includes(t)})}getConfiguredModels(){return this.channels.map(e=>({channelId:e.id,providerId:e.providerId,providerName:e.providerName,model:e.model,modelName:e.modelName,apiFormat:e.apiFormat,capabilities:e.capabilities||[],status:e.status}))}async updateApiKey(e,t){return this.updateChannel(e,{apiKey:t})}validateApiKey(e,t){const r=J(e);return r?r.needsApiKey?!t||t.trim().length===0?{valid:!1,message:"API Key 不能为空"}:t.length<10?{valid:!1,message:"API Key 长度过短"}:{valid:!0}:{valid:!0,message:"此 Provider 不需要 API Key"}:{valid:!1,message:`Provider not found: ${e}`}}maskApiKey(e){return!e||e.length<=8?"••••••••":`${e.slice(0,4)}••••••••${e.slice(-4)}`}getMaskedApiKey(e){const t=this.getChannel(e);return t?this.maskApiKey(t.apiKey):""}async chat(e,t){const r=this.getActiveChannel();if(!r)throw new Error("No active channel. Please set an active channel first.");return this.chatWith(r.id,e,t)}async chatWith(e,t,r){const i=this.getChannel(e);if(!i)throw new Error(`Channel not found: ${e}`);const o=J(i.providerId);if(!o)throw new Error(`Provider not found: ${i.providerId}`);const B=(r==null?void 0:r.messages)||[{role:"user",content:t}],x=await de({apiFormat:i.apiFormat,baseUrl:i.baseUrl||o.baseUrl,apiKey:i.apiKey,model:i.model,messages:B,maxTokens:r==null?void 0:r.maxTokens}),c={...x,channelId:i.id,model:i.model};if(x.success){const a=this.channels.findIndex(s=>s.id===i.id);this.channels[a].lastUsedAt=Date.now(),this.channels[a].status="connected",this.channels[a].lastError=void 0,this.saveChannel(this.channels[a])}else{const a=this.channels.findIndex(s=>s.id===i.id);this.channels[a].status="error",this.channels[a].lastError=x.message,this.saveChannel(this.channels[a])}return this.emit("chat",c),c}async chatStream(e,t){const r=this.getActiveChannel();if(!r)throw new Error("No active channel. Please set an active channel first.");return this.chatWithStream(r.id,e,t)}async chatWithStream(e,t,r){const i=this.getChannel(e);if(!i)throw new Error(`Channel not found: ${e}`);const o=J(i.providerId);if(!o)throw new Error(`Provider not found: ${i.providerId}`);const B=r.messages||[{role:"user",content:t}],x=await _e({apiFormat:i.apiFormat,baseUrl:i.baseUrl||o.baseUrl,apiKey:i.apiKey,model:i.model,messages:B,maxTokens:r.maxTokens,onDelta:r.onDelta,signal:r.signal}),c={...x,channelId:i.id,model:i.model},a=this.channels.findIndex(s=>s.id===i.id);return x.success?(this.channels[a].lastUsedAt=Date.now(),this.channels[a].status="connected",this.channels[a].lastError=void 0):(this.channels[a].status="error",this.channels[a].lastError=x.message),this.saveChannel(this.channels[a]),this.emit("chat",c),c}updateChannelStatusAfterChat(e,t,r){const i=this.channels.findIndex(o=>o.id===e);i<0||(t?(this.channels[i].lastUsedAt=Date.now(),this.channels[i].status="connected",this.channels[i].lastError=void 0):(this.channels[i].status="error",this.channels[i].lastError=r),this.saveChannel(this.channels[i]))}async chatMultimodal(e,t){const r=this.getActiveChannel();if(!r)throw new Error("No active channel. Please set an active channel first.");return this.chatMultimodalWith(r.id,e,t)}async chatMultimodalWith(e,t,r){const i=this.getChannel(e);if(!i)throw new Error(`Channel not found: ${e}`);const o=J(i.providerId);if(!o)throw new Error(`Provider not found: ${i.providerId}`);const B=(r==null?void 0:r.messages)||(Array.isArray(t)?t:[t]),x=await ke({apiFormat:i.apiFormat,baseUrl:i.baseUrl||o.baseUrl,apiKey:i.apiKey,model:i.model,messages:B,maxTokens:r==null?void 0:r.maxTokens,outputModalities:r==null?void 0:r.outputModalities,temperature:r==null?void 0:r.temperature,timeoutMs:r==null?void 0:r.timeoutMs}),c={...x,channelId:i.id,model:i.model};return this.updateChannelStatusAfterChat(i.id,x.success,x.message),this.emit("chat",c),c}async chatMultimodalStream(e,t){const r=this.getActiveChannel();if(!r)throw new Error("No active channel. Please set an active channel first.");return this.chatMultimodalStreamWith(r.id,e,t)}async chatMultimodalStreamWith(e,t,r){const i=this.getChannel(e);if(!i)throw new Error(`Channel not found: ${e}`);const o=J(i.providerId);if(!o)throw new Error(`Provider not found: ${i.providerId}`);const B=r.messages||(Array.isArray(t)?t:[t]),x=await Se({apiFormat:i.apiFormat,baseUrl:i.baseUrl||o.baseUrl,apiKey:i.apiKey,model:i.model,messages:B,maxTokens:r.maxTokens,outputModalities:r.outputModalities,temperature:r.temperature,timeoutMs:r.timeoutMs,onDelta:r.onDelta}),c={...x,channelId:i.id,model:i.model};return this.updateChannelStatusAfterChat(i.id,x.success,x.message),this.emit("chat",c),c}async testChannel(e){const t=this.getChannel(e);if(!t)throw new Error(`Channel not found: ${e}`);const r=J(t.providerId);if(!r)throw new Error(`Provider not found: ${t.providerId}`);const i=await we({apiFormat:t.apiFormat,baseUrl:t.baseUrl||r.baseUrl,apiKey:t.apiKey,model:t.model}),o=this.channels.findIndex(B=>B.id===e);return i.success?(this.channels[o].status="connected",this.channels[o].lastError=void 0):(this.channels[o].status="error",this.channels[o].lastError=i.message),this.saveChannel(this.channels[o]),this.emit("test",{id:e,...i}),i}async testAllChannels(){return await Promise.all(this.channels.map(async t=>{try{const r=await this.testChannel(t.id);return{id:t.id,channel:t,result:r}}catch(r){return{id:t.id,channel:t,result:{success:!1,message:r instanceof Error?r.message:String(r)}}}}))}getAvailableProviders(){return xe()}getProvider(e){return J(e)}getProvidersByFormat(e){return Ae(e)}exportChannels(e){const t=this.channels.map(r=>{if(e)return r;const{apiKey:i,...o}=r;return{...o,apiKey:this.maskApiKey(i)}});return JSON.stringify({version:1,exportedAt:Date.now(),channels:t},null,2)}async importChannels(e,t=!0){const r=JSON.parse(e);if(!r.channels||!Array.isArray(r.channels))throw new Error("Invalid import format: missing channels array");t||this.clearAllChannels();const i=[];for(const o of r.channels){if(o.apiKey&&o.apiKey.includes("••••")){console.warn(`Skipping channel ${o.modelName}: API Key is masked`);continue}const B={providerId:o.providerId,apiKey:o.apiKey,model:o.model,modelName:o.modelName,baseUrl:o.baseUrl},x=await this.addChannel(B,o.name);i.push(x)}return i}clearAllChannels(){this.channels.forEach(e=>{this.deleteChannelFromStorage(e.id)}),this.channels=[],this.activeChannelId=null,this.saveActiveChannel(),this.capabilityDefaults={},this.saveCapabilityDefaults(),this.emit("clear",{})}deleteChannels(e){e.forEach(t=>this.deleteChannel(t))}getStats(){const e={total:this.channels.length,byStatus:{},byFormat:{},byProvider:{},byCapability:{}};for(const t of this.channels){const r=t.status||"untested";e.byStatus[r]=(e.byStatus[r]||0)+1,e.byFormat[t.apiFormat]=(e.byFormat[t.apiFormat]||0)+1,e.byProvider[t.providerId]=(e.byProvider[t.providerId]||0)+1;for(const i of t.capabilities||[])e.byCapability[i]=(e.byCapability[i]||0)+1}return e}}U.AIChannelManager=ta,U.I18N=f0,U.MODEL_CAPABILITIES=Pt,U.PROVIDERS=u0,U.PROVIDER_ID=R,U.STATIC_MODELS=ge,U.createConfigStorage=Jr,U.defaultStorageAdapter=me,U.encryptedStorageAdapter=mt,U.fetchModels=Me,U.fetchRemoteToDataUri=Ee,U.getAllProviders=xe,U.getProvider=J,U.getProviderFromConfig=ea,U.getProvidersByFormat=Ae,U.getStaticModels=h0,U.getStrategy=i0,U.guessMimeFromDataUri=x0,U.localStorageAdapter=Yr,U.normalizeMessages=ce,U.normalizePart=ye,U.plainStorageAdapter=Ct,U.resolveProviderConfig=Bt,U.sendDirectChat=de,U.sendDirectChatStream=_e,U.sendMultimodalChat=ke,U.sendMultimodalChatStream=Se,U.strategyRegistry=be,U.testConnection=Ht,U.testDirectConnection=we,Object.defineProperty(U,Symbol.toStringTag,{value:"Module"})}));
|
|
19
|
+
//# sourceMappingURL=index.umd.js.map
|