blade-code 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +399 -0
- package/config.env.example +26 -0
- package/dist/blade.js +530 -0
- package/package.json +118 -0
package/dist/blade.js
ADDED
|
@@ -0,0 +1,530 @@
|
|
|
1
|
+
import{createRequire as pq}from"node:module";var tv=Object.create;var{getPrototypeOf:ev,defineProperty:H1,getOwnPropertyNames:V7,getOwnPropertyDescriptor:cq}=Object,F7=Object.prototype.hasOwnProperty;var Sc=(c,x,p)=>{p=c!=null?tv(ev(c)):{};let $=x||!c||!c.__esModule?H1(p,"default",{value:c,enumerable:!0}):p;for(let z of V7(c))if(!F7.call($,z))H1($,z,{get:()=>c[z],enumerable:!0});return $},B7=new WeakMap,xq=(c)=>{var x=B7.get(c),p;if(x)return x;if(x=H1({},"__esModule",{value:!0}),c&&typeof c==="object"||typeof c==="function")V7(c).map(($)=>!F7.call(x,$)&&H1(x,$,{get:()=>c[$],enumerable:!(p=cq(c,$))||p.enumerable}));return B7.set(c,x),x},P=(c,x)=>()=>(x||c((x={exports:{}}).exports,x),x.exports);var b7=(c,x)=>{for(var p in x)H1(c,p,{get:x[p],enumerable:!0,configurable:!0,set:($)=>x[p]=()=>$})};var g=(c,x)=>()=>(c&&(x=c(c=0)),x);var e=pq(import.meta.url);var C7="2024-11-05";var d4=()=>{};import{spawn as Gq}from"child_process";import{EventEmitter as Yq}from"events";var W1;var h4=g(()=>{d4();W1=class W1 extends Yq{config;status="disconnected";process=null;messageId=0;pendingRequests=new Map;tools=new Map;serverInfo=null;constructor(c){super();this.config=c}get connectionStatus(){return this.status}get availableTools(){return Array.from(this.tools.values())}get server(){return this.serverInfo}async connect(){if(this.status!=="disconnected")throw Error("客户端已连接或正在连接中");try{this.setStatus("connecting"),this.process=Gq(this.config.command,this.config.args||[],{env:{...process.env,...this.config.env},stdio:["pipe","pipe","pipe"]}),this.setupProcessHandlers();let c=await this.sendInitializeRequest();this.serverInfo=c.serverInfo,await this.loadTools(),this.setStatus("connected"),this.emit("connected",this.serverInfo)}catch(c){throw this.setStatus("error"),this.emit("error",c),c}}async disconnect(){if(this.process)this.process.kill(),this.process=null;this.tools.clear(),this.pendingRequests.clear(),this.serverInfo=null,this.setStatus("disconnected"),this.emit("disconnected")}async callTool(c,x={}){if(this.status!=="connected")throw Error("客户端未连接到服务器");if(!this.tools.has(c))throw Error(`工具 "${c}" 不存在`);let p={method:"tools/call",params:{name:c,arguments:x}};return await this.sendRequest(p)}async sendRequest(c){if(!this.process||!this.process.stdin)throw Error("服务器进程不可用");let x=++this.messageId,p={jsonrpc:"2.0",id:x,...c};return new Promise(($,z)=>{let Z=setTimeout(()=>{this.pendingRequests.delete(x),z(Error("请求超时"))},this.config.timeout||30000);this.pendingRequests.set(x,{resolve:(J)=>{clearTimeout(Z),$(J)},reject:(J)=>{clearTimeout(Z),z(J)}});let Q=JSON.stringify(p)+`
|
|
2
|
+
`;this.process.stdin.write(Q)})}async sendInitializeRequest(){let c={method:"initialize",params:{protocolVersion:C7,capabilities:{roots:{listChanged:!0},sampling:{}},clientInfo:{name:"Blade-AI",version:"1.0.0"}}};return await this.sendRequest(c)}async loadTools(){try{let c=await this.sendRequest({method:"tools/list"});if(c.tools&&Array.isArray(c.tools)){this.tools.clear();for(let x of c.tools)this.tools.set(x.name,x);this.emit("toolsUpdated",this.availableTools)}}catch(c){console.warn("加载MCP工具列表失败:",c)}}setupProcessHandlers(){if(!this.process)return;let c="";this.process.stdout?.on("data",(x)=>{c+=x.toString();let p=c.split(`
|
|
3
|
+
`);c=p.pop()||"";for(let $ of p)if($.trim())try{let z=JSON.parse($);this.handleMessage(z)}catch(z){console.warn("解析MCP消息失败:",z,$)}}),this.process.stderr?.on("data",(x)=>{let p=x.toString();console.warn("MCP服务器错误:",p),this.emit("serverError",p)}),this.process.on("close",(x)=>{if(this.status==="connected")this.setStatus("error"),this.emit("error",Error(`MCP服务器意外退出,退出码: ${x}`))}),this.process.on("error",(x)=>{this.setStatus("error"),this.emit("error",x)})}handleMessage(c){if(c.id!==void 0){let x=this.pendingRequests.get(c.id);if(x)if(this.pendingRequests.delete(c.id),c.error)x.reject(Error(c.error.message));else x.resolve(c.result)}else if(c.method)this.handleNotification(c)}handleNotification(c){switch(c.method){case"tools/list_changed":this.loadTools();break;case"logging/message":this.emit("serverLog",c.params);break;default:console.debug("未处理的MCP通知:",c.method)}}setStatus(c){let x=this.status;this.status=c,this.emit("statusChanged",c,x)}async initialize(){return this.connect()}async destroy(){return this.disconnect()}async connectToServer(c){return this.connect()}async disconnectFromServer(c){return this.disconnect()}async listResources(c){return[]}async listTools(c){return this.availableTools}async readResource(c,x){return{uri:c,content:""}}}});class a4{name;displayName;description;kind;parameterSchema;requiresConfirmation;version;category;tags;constructor(c,x,p,$,z,Z=!1,Q="1.0.0",J,X=[]){this.name=c;this.displayName=x;this.description=p;this.kind=$;this.parameterSchema=z;this.requiresConfirmation=Z;this.version=Q;this.category=J;this.tags=X;this.validateSchema()}get functionDeclaration(){return{name:this.name,description:this.description,parameters:this.parameterSchema}}validateSchema(){if(!this.parameterSchema.type)this.parameterSchema.type="object";if(!this.parameterSchema.properties)this.parameterSchema.properties={}}validateParameters(c){if(this.parameterSchema.required){for(let x of this.parameterSchema.required)if(!(x in c))throw Error(`缺少必需参数: ${x}`)}}async execute(c,x){return this.build(c).execute(x||new AbortController().signal)}getMetadata(){return{name:this.name,displayName:this.displayName,description:this.description,kind:this.kind,version:this.version,category:this.category,tags:this.tags,requiresConfirmation:this.requiresConfirmation,parameterSchema:this.parameterSchema}}getExamples(){return[]}}var Jc;var Ic=g(()=>{Jc=class Jc extends a4{constructor(c,x,p,$,z,Z=!1,Q="1.0.0",J,X=[]){super(c,x,p,$,z,Z,Q,J,X)}createValidationError(c,x,p){throw Error(`参数验证失败 [${c}]: ${x}${p!==void 0?` (当前值: ${p})`:""}`)}validateString(c,x,p={}){if(p.required&&(c===void 0||c===null||c===""))this.createValidationError(x,"参数不能为空",c);if(c!==void 0&&c!==null&&typeof c!=="string")this.createValidationError(x,"参数必须是字符串类型",c);let $=String(c||"");if(p.minLength!==void 0&&$.length<p.minLength)this.createValidationError(x,`长度不能少于${p.minLength}个字符`,$.length);if(p.maxLength!==void 0&&$.length>p.maxLength)this.createValidationError(x,`长度不能超过${p.maxLength}个字符`,$.length);if(p.pattern&&!p.pattern.test($))this.createValidationError(x,"格式不符合要求",$);return $}validateNumber(c,x,p={}){if(p.required&&(c===void 0||c===null))this.createValidationError(x,"参数不能为空",c);if(c!==void 0&&c!==null){let $=Number(c);if(isNaN($))this.createValidationError(x,"参数必须是数字类型",c);if(p.integer&&!Number.isInteger($))this.createValidationError(x,"参数必须是整数",$);if(p.min!==void 0&&$<p.min)this.createValidationError(x,`不能小于${p.min}`,$);if(p.max!==void 0&&$>p.max)this.createValidationError(x,`不能大于${p.max}`,$);return $}return 0}validateBoolean(c,x,p=!1){if(p&&(c===void 0||c===null))this.createValidationError(x,"参数不能为空",c);if(c!==void 0&&c!==null&&typeof c!=="boolean")this.createValidationError(x,"参数必须是布尔类型",c);return Boolean(c)}validateArray(c,x,p={}){if(p.required&&(!c||!Array.isArray(c)||c.length===0))this.createValidationError(x,"参数不能为空数组",c);if(c!==void 0&&c!==null&&!Array.isArray(c))this.createValidationError(x,"参数必须是数组类型",c);let $=Array.isArray(c)?c:[];if(p.minLength!==void 0&&$.length<p.minLength)this.createValidationError(x,`数组长度不能少于${p.minLength}`,$.length);if(p.maxLength!==void 0&&$.length>p.maxLength)this.createValidationError(x,`数组长度不能超过${p.maxLength}`,$.length);if(p.itemValidator)return $.map((z,Z)=>p.itemValidator(z,Z));return $}}});var _4=()=>{};var j7=g(()=>{_4()});var S7=()=>{};var Cc=g(()=>{j7();S7();_4()});class K1{mcpClient;mcpTool;toolName;params;constructor(c,x,p){this.mcpClient=c;this.mcpTool=x;this.toolName=x.name,this.params=p}getDescription(){let c=Object.keys(this.params).length>0?` (${Object.keys(this.params).join(", ")})`:"";return`调用MCP工具 ${this.toolName}${c}`}getAffectedPaths(){return[]}async shouldConfirm(){return{type:"external",title:"确认调用外部MCP工具",message:`将调用MCP工具: ${this.toolName}
|
|
4
|
+
描述: ${this.mcpTool.description}`,risks:["工具由外部MCP服务器提供","可能访问本地系统资源","数据将发送到外部服务进行处理","执行结果依赖外部服务的可靠性"],affectedFiles:[]}}async execute(c,x){try{if(x)x(`正在调用MCP工具 ${this.toolName}...`);if(this.mcpClient.connectionStatus!=="connected")throw Error("MCP客户端未连接到服务器");let p=await this.mcpClient.callTool(this.toolName,this.params);if(x)x("MCP工具调用完成");if(p.isError)return{success:!1,llmContent:`MCP工具 ${this.toolName} 执行失败`,displayContent:this.formatErrorContent(p),error:{message:`MCP工具 ${this.toolName} 执行失败`,type:"EXECUTION_ERROR",details:p.content}};return{success:!0,llmContent:this.formatResponseContent(p),displayContent:this.formatDisplayContent(p),metadata:{toolName:this.toolName,serverInfo:this.mcpClient.server,contentCount:p.content.length}}}catch(p){let $=p instanceof Error?p.message:"未知错误";if(x)x(`MCP工具调用失败: ${$}`);return{success:!1,llmContent:`MCP工具 ${this.toolName} 调用失败: ${$}`,displayContent:`❌ MCP工具调用失败: ${$}`,error:{message:$,type:"EXECUTION_ERROR",details:p}}}}formatResponseContent(c){let x=c.content||[],p=x.filter(($)=>$.type==="text"&&$.text).map(($)=>$.text).join(`
|
|
5
|
+
`);if(p)return`MCP工具 ${this.toolName} 执行结果:
|
|
6
|
+
${p}`;return`MCP工具 ${this.toolName} 执行完成,返回了 ${x.length} 个内容项`}formatDisplayContent(c){let x=c.content||[],p=`✅ MCP工具 ${this.toolName} 执行成功
|
|
7
|
+
`;for(let $ of x)switch($.type){case"text":if($.text)p+=`
|
|
8
|
+
\uD83D\uDCDD 文本内容:
|
|
9
|
+
${$.text}
|
|
10
|
+
`;break;case"image":p+=`
|
|
11
|
+
\uD83D\uDDBC️ 图片内容 (${$.mimeType||"未知格式"})
|
|
12
|
+
`;break;case"resource":p+=`
|
|
13
|
+
\uD83D\uDCC4 资源内容 (${$.mimeType||"未知格式"})
|
|
14
|
+
`;break;default:p+=`
|
|
15
|
+
❓ 未知内容类型: ${$.type}
|
|
16
|
+
`}return p}formatErrorContent(c){let x=c.content||[],p=`❌ MCP工具 ${this.toolName} 执行失败
|
|
17
|
+
`;for(let $ of x)if($.type==="text"&&$.text)p+=`
|
|
18
|
+
错误信息: ${$.text}
|
|
19
|
+
`;return p}}var cx;var g4=g(()=>{Ic();Cc();cx=class cx extends Jc{mcpClient;mcpTool;constructor(c,x){super(x.name,`MCP工具: ${x.name}`,x.description,"external",x.inputSchema,!0,"1.0.0","MCP工具",["mcp","external",x.name.toLowerCase()]);this.mcpClient=c;this.mcpTool=x}build(c){return new K1(this.mcpClient,this.mcpTool,c)}getServerInfo(){return this.mcpClient.server}isAvailable(){return this.mcpClient.connectionStatus==="connected"}getFullIdentifier(){return`${this.mcpClient.server?.name||"unknown"}.${this.name}`}getMetadata(){return{...super.getMetadata(),type:"mcp-tool",serverInfo:this.mcpClient.server,mcpTool:{name:this.mcpTool.name,description:this.mcpTool.description,inputSchema:this.mcpTool.inputSchema}}}}});import{EventEmitter as Wq}from"events";var _c;var l4=g(()=>{h4();g4();d4();_c=class _c extends Wq{static instance=null;servers=new Map;isDiscovering=!1;constructor(){super()}static getInstance(){if(!_c.instance)_c.instance=new _c;return _c.instance}async registerServer(c){if(this.servers.has(c.name))throw Error(`MCP服务器 "${c.name}" 已经注册`);let x=new W1(c),p={config:c,client:x,status:"disconnected",tools:[]};this.setupClientEventHandlers(x,p),this.servers.set(c.name,p),this.emit("serverRegistered",c.name,p);try{await this.connectServer(c.name)}catch($){console.warn(`MCP服务器 "${c.name}" 连接失败:`,$)}}async unregisterServer(c){let x=this.servers.get(c);if(!x)return;try{await x.client.disconnect()}catch(p){console.warn(`断开MCP服务器 "${c}" 时出错:`,p)}this.servers.delete(c),this.emit("serverUnregistered",c)}async connectServer(c){let x=this.servers.get(c);if(!x)throw Error(`MCP服务器 "${c}" 未注册`);if(x.status==="connected")return;try{x.status="connecting",await x.client.connect(),x.connectedAt=new Date,x.lastError=void 0,x.tools=x.client.availableTools}catch(p){throw x.lastError=p,x.status="error",p}}async disconnectServer(c){let x=this.servers.get(c);if(!x)return;await x.client.disconnect(),x.connectedAt=void 0}async getAvailableTools(){let c=[];for(let[,x]of this.servers)if(x.status==="connected")for(let p of x.tools){let $=new cx(x.client,p);c.push($)}return c}async findTool(c){for(let[,x]of this.servers)if(x.status==="connected"){let p=x.tools.find(($)=>$.name===c);if(p)return new cx(x.client,p)}return null}getToolsByServer(c){let x=this.servers.get(c);if(!x||x.status!=="connected")return[];return x.tools.map((p)=>new cx(x.client,p))}getServerStatus(c){return this.servers.get(c)||null}getAllServers(){return new Map(this.servers)}async refreshAllTools(){let c=[];for(let[x,p]of this.servers)if(p.status==="connected")c.push(this.refreshServerTools(x));await Promise.allSettled(c)}async refreshServerTools(c){let x=this.servers.get(c);if(!x||x.status!=="connected")return;try{let p=x.client.availableTools,$=x.tools.length;x.tools=p,this.emit("toolsUpdated",c,p,$)}catch(p){console.warn(`刷新服务器 "${c}" 工具列表失败:`,p)}}setupClientEventHandlers(c,x){c.on("connected",(p)=>{x.status="connected",x.connectedAt=new Date,x.tools=c.availableTools,this.emit("serverConnected",x.config.name,p)}),c.on("disconnected",()=>{x.status="disconnected",x.connectedAt=void 0,x.tools=[],this.emit("serverDisconnected",x.config.name)}),c.on("error",(p)=>{x.status="error",x.lastError=p,this.emit("serverError",x.config.name,p)}),c.on("toolsUpdated",(p)=>{let $=x.tools.length;x.tools=p,this.emit("toolsUpdated",x.config.name,p,$)}),c.on("statusChanged",(p,$)=>{x.status=p,this.emit("serverStatusChanged",x.config.name,p,$)})}async discoverServers(){if(this.isDiscovering)return Array.from(this.servers.values());this.isDiscovering=!0,this.emit("discoveryStarted");try{return Array.from(this.servers.values())}finally{this.isDiscovering=!1,this.emit("discoveryCompleted")}}async registerServers(c){let x=c.map((p)=>this.registerServer(p).catch(($)=>{return console.warn(`注册MCP服务器 "${p.name}" 失败:`,$),$}));await Promise.allSettled(x)}getStatistics(){let c=0,x=0,p=0;for(let $ of this.servers.values())if($.status==="connected")c++,x+=$.tools.length;else if($.status==="error")p++;return{totalServers:this.servers.size,connectedServers:c,errorServers:p,totalTools:x,isDiscovering:this.isDiscovering}}}});var w1=P((Bq)=>{class o4 extends Error{constructor(c,x,p){super(p);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=x,this.exitCode=c,this.nestedError=void 0}}class D7 extends o4{constructor(c){super(1,"commander.invalidArgument",c);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}Bq.CommanderError=o4;Bq.InvalidArgumentError=D7});var F2=P((Nq)=>{var{InvalidArgumentError:bq}=w1();class E7{constructor(c,x){switch(this.description=x||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,c[0]){case"<":this.required=!0,this._name=c.slice(1,-1);break;case"[":this.required=!1,this._name=c.slice(1,-1);break;default:this.required=!0,this._name=c;break}if(this._name.length>3&&this._name.slice(-3)==="...")this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_concatValue(c,x){if(x===this.defaultValue||!Array.isArray(x))return[c];return x.concat(c)}default(c,x){return this.defaultValue=c,this.defaultValueDescription=x,this}argParser(c){return this.parseArg=c,this}choices(c){return this.argChoices=c.slice(),this.parseArg=(x,p)=>{if(!this.argChoices.includes(x))throw new bq(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue(x,p);return x},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function Lq(c){let x=c.name()+(c.variadic===!0?"...":"");return c.required?"<"+x+">":"["+x+"]"}Nq.Argument=E7;Nq.humanReadableArgName=Lq});var s4=P((yq)=>{var{humanReadableArgName:Pq}=F2();class T7{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(c){this.helpWidth=this.helpWidth??c.helpWidth??80}visibleCommands(c){let x=c.commands.filter(($)=>!$._hidden),p=c._getHelpCommand();if(p&&!p._hidden)x.push(p);if(this.sortSubcommands)x.sort(($,z)=>{return $.name().localeCompare(z.name())});return x}compareOptions(c,x){let p=($)=>{return $.short?$.short.replace(/^-/,""):$.long.replace(/^--/,"")};return p(c).localeCompare(p(x))}visibleOptions(c){let x=c.options.filter(($)=>!$.hidden),p=c._getHelpOption();if(p&&!p.hidden){let $=p.short&&c._findOption(p.short),z=p.long&&c._findOption(p.long);if(!$&&!z)x.push(p);else if(p.long&&!z)x.push(c.createOption(p.long,p.description));else if(p.short&&!$)x.push(c.createOption(p.short,p.description))}if(this.sortOptions)x.sort(this.compareOptions);return x}visibleGlobalOptions(c){if(!this.showGlobalOptions)return[];let x=[];for(let p=c.parent;p;p=p.parent){let $=p.options.filter((z)=>!z.hidden);x.push(...$)}if(this.sortOptions)x.sort(this.compareOptions);return x}visibleArguments(c){if(c._argsDescription)c.registeredArguments.forEach((x)=>{x.description=x.description||c._argsDescription[x.name()]||""});if(c.registeredArguments.find((x)=>x.description))return c.registeredArguments;return[]}subcommandTerm(c){let x=c.registeredArguments.map((p)=>Pq(p)).join(" ");return c._name+(c._aliases[0]?"|"+c._aliases[0]:"")+(c.options.length?" [options]":"")+(x?" "+x:"")}optionTerm(c){return c.flags}argumentTerm(c){return c.name()}longestSubcommandTermLength(c,x){return x.visibleCommands(c).reduce((p,$)=>{return Math.max(p,this.displayWidth(x.styleSubcommandTerm(x.subcommandTerm($))))},0)}longestOptionTermLength(c,x){return x.visibleOptions(c).reduce((p,$)=>{return Math.max(p,this.displayWidth(x.styleOptionTerm(x.optionTerm($))))},0)}longestGlobalOptionTermLength(c,x){return x.visibleGlobalOptions(c).reduce((p,$)=>{return Math.max(p,this.displayWidth(x.styleOptionTerm(x.optionTerm($))))},0)}longestArgumentTermLength(c,x){return x.visibleArguments(c).reduce((p,$)=>{return Math.max(p,this.displayWidth(x.styleArgumentTerm(x.argumentTerm($))))},0)}commandUsage(c){let x=c._name;if(c._aliases[0])x=x+"|"+c._aliases[0];let p="";for(let $=c.parent;$;$=$.parent)p=$.name()+" "+p;return p+x+" "+c.usage()}commandDescription(c){return c.description()}subcommandDescription(c){return c.summary()||c.description()}optionDescription(c){let x=[];if(c.argChoices)x.push(`choices: ${c.argChoices.map((p)=>JSON.stringify(p)).join(", ")}`);if(c.defaultValue!==void 0){if(c.required||c.optional||c.isBoolean()&&typeof c.defaultValue==="boolean")x.push(`default: ${c.defaultValueDescription||JSON.stringify(c.defaultValue)}`)}if(c.presetArg!==void 0&&c.optional)x.push(`preset: ${JSON.stringify(c.presetArg)}`);if(c.envVar!==void 0)x.push(`env: ${c.envVar}`);if(x.length>0){let p=`(${x.join(", ")})`;if(c.description)return`${c.description} ${p}`;return p}return c.description}argumentDescription(c){let x=[];if(c.argChoices)x.push(`choices: ${c.argChoices.map((p)=>JSON.stringify(p)).join(", ")}`);if(c.defaultValue!==void 0)x.push(`default: ${c.defaultValueDescription||JSON.stringify(c.defaultValue)}`);if(x.length>0){let p=`(${x.join(", ")})`;if(c.description)return`${c.description} ${p}`;return p}return c.description}formatItemList(c,x,p){if(x.length===0)return[];return[p.styleTitle(c),...x,""]}groupItems(c,x,p){let $=new Map;return c.forEach((z)=>{let Z=p(z);if(!$.has(Z))$.set(Z,[])}),x.forEach((z)=>{let Z=p(z);if(!$.has(Z))$.set(Z,[]);$.get(Z).push(z)}),$}formatHelp(c,x){let p=x.padWidth(c,x),$=x.helpWidth??80;function z(G,Y){return x.formatItem(G,p,Y,x)}let Z=[`${x.styleTitle("Usage:")} ${x.styleUsage(x.commandUsage(c))}`,""],Q=x.commandDescription(c);if(Q.length>0)Z=Z.concat([x.boxWrap(x.styleCommandDescription(Q),$),""]);let J=x.visibleArguments(c).map((G)=>{return z(x.styleArgumentTerm(x.argumentTerm(G)),x.styleArgumentDescription(x.argumentDescription(G)))});if(Z=Z.concat(this.formatItemList("Arguments:",J,x)),this.groupItems(c.options,x.visibleOptions(c),(G)=>G.helpGroupHeading??"Options:").forEach((G,Y)=>{let H=G.map((W)=>{return z(x.styleOptionTerm(x.optionTerm(W)),x.styleOptionDescription(x.optionDescription(W)))});Z=Z.concat(this.formatItemList(Y,H,x))}),x.showGlobalOptions){let G=x.visibleGlobalOptions(c).map((Y)=>{return z(x.styleOptionTerm(x.optionTerm(Y)),x.styleOptionDescription(x.optionDescription(Y)))});Z=Z.concat(this.formatItemList("Global Options:",G,x))}return this.groupItems(c.commands,x.visibleCommands(c),(G)=>G.helpGroup()||"Commands:").forEach((G,Y)=>{let H=G.map((W)=>{return z(x.styleSubcommandTerm(x.subcommandTerm(W)),x.styleSubcommandDescription(x.subcommandDescription(W)))});Z=Z.concat(this.formatItemList(Y,H,x))}),Z.join(`
|
|
20
|
+
`)}displayWidth(c){return R7(c).length}styleTitle(c){return c}styleUsage(c){return c.split(" ").map((x)=>{if(x==="[options]")return this.styleOptionText(x);if(x==="[command]")return this.styleSubcommandText(x);if(x[0]==="["||x[0]==="<")return this.styleArgumentText(x);return this.styleCommandText(x)}).join(" ")}styleCommandDescription(c){return this.styleDescriptionText(c)}styleOptionDescription(c){return this.styleDescriptionText(c)}styleSubcommandDescription(c){return this.styleDescriptionText(c)}styleArgumentDescription(c){return this.styleDescriptionText(c)}styleDescriptionText(c){return c}styleOptionTerm(c){return this.styleOptionText(c)}styleSubcommandTerm(c){return c.split(" ").map((x)=>{if(x==="[options]")return this.styleOptionText(x);if(x[0]==="["||x[0]==="<")return this.styleArgumentText(x);return this.styleSubcommandText(x)}).join(" ")}styleArgumentTerm(c){return this.styleArgumentText(c)}styleOptionText(c){return c}styleArgumentText(c){return c}styleSubcommandText(c){return c}styleCommandText(c){return c}padWidth(c,x){return Math.max(x.longestOptionTermLength(c,x),x.longestGlobalOptionTermLength(c,x),x.longestSubcommandTermLength(c,x),x.longestArgumentTermLength(c,x))}preformatted(c){return/\n[^\S\r\n]/.test(c)}formatItem(c,x,p,$){let Z=" ".repeat(2);if(!p)return Z+c;let Q=c.padEnd(x+c.length-$.displayWidth(c)),J=2,i=(this.helpWidth??80)-x-J-2,G;if(i<this.minWidthToWrap||$.preformatted(p))G=p;else G=$.boxWrap(p,i).replace(/\n/g,`
|
|
21
|
+
`+" ".repeat(x+J));return Z+Q+" ".repeat(J)+G.replace(/\n/g,`
|
|
22
|
+
${Z}`)}boxWrap(c,x){if(x<this.minWidthToWrap)return c;let p=c.split(/\r\n|\n/),$=/[\s]*[^\s]+/g,z=[];return p.forEach((Z)=>{let Q=Z.match($);if(Q===null){z.push("");return}let J=[Q.shift()],X=this.displayWidth(J[0]);Q.forEach((i)=>{let G=this.displayWidth(i);if(X+G<=x){J.push(i),X+=G;return}z.push(J.join(""));let Y=i.trimStart();J=[Y],X=this.displayWidth(Y)}),z.push(J.join(""))}),z.join(`
|
|
23
|
+
`)}}function R7(c){let x=/\x1b\[\d*(;\d*)*m/g;return c.replace(x,"")}yq.Help=T7;yq.stripColor=R7});var r4=P((Oq)=>{var{InvalidArgumentError:nq}=w1();class d7{constructor(c,x){this.flags=c,this.description=x||"",this.required=c.includes("<"),this.optional=c.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(c),this.mandatory=!1;let p=kq(c);if(this.short=p.shortFlag,this.long=p.longFlag,this.negate=!1,this.long)this.negate=this.long.startsWith("--no-");this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0,this.helpGroupHeading=void 0}default(c,x){return this.defaultValue=c,this.defaultValueDescription=x,this}preset(c){return this.presetArg=c,this}conflicts(c){return this.conflictsWith=this.conflictsWith.concat(c),this}implies(c){let x=c;if(typeof c==="string")x={[c]:!0};return this.implied=Object.assign(this.implied||{},x),this}env(c){return this.envVar=c,this}argParser(c){return this.parseArg=c,this}makeOptionMandatory(c=!0){return this.mandatory=!!c,this}hideHelp(c=!0){return this.hidden=!!c,this}_concatValue(c,x){if(x===this.defaultValue||!Array.isArray(x))return[c];return x.concat(c)}choices(c){return this.argChoices=c.slice(),this.parseArg=(x,p)=>{if(!this.argChoices.includes(x))throw new nq(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue(x,p);return x},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return m7(this.name().replace(/^no-/,""));return m7(this.name())}helpGroup(c){return this.helpGroupHeading=c,this}is(c){return this.short===c||this.long===c}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class h7{constructor(c){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,c.forEach((x)=>{if(x.negate)this.negativeOptions.set(x.attributeName(),x);else this.positiveOptions.set(x.attributeName(),x)}),this.negativeOptions.forEach((x,p)=>{if(this.positiveOptions.has(p))this.dualOptions.add(p)})}valueFromOption(c,x){let p=x.attributeName();if(!this.dualOptions.has(p))return!0;let $=this.negativeOptions.get(p).presetArg,z=$!==void 0?$:!1;return x.negate===(z===c)}}function m7(c){return c.split("-").reduce((x,p)=>{return x+p[0].toUpperCase()+p.slice(1)})}function kq(c){let x,p,$=/^-[^-]$/,z=/^--[^-]/,Z=c.split(/[ |,]+/).concat("guard");if($.test(Z[0]))x=Z.shift();if(z.test(Z[0]))p=Z.shift();if(!x&&$.test(Z[0]))x=Z.shift();if(!x&&z.test(Z[0]))x=p,p=Z.shift();if(Z[0].startsWith("-")){let Q=Z[0],J=`option creation failed due to '${Q}' in option flags '${c}'`;if(/^-[^-][^-]/.test(Q))throw Error(`${J}
|
|
24
|
+
- a short flag is a single dash and a single character
|
|
25
|
+
- either use a single dash and a single character (for a short flag)
|
|
26
|
+
- or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if($.test(Q))throw Error(`${J}
|
|
27
|
+
- too many short flags`);if(z.test(Q))throw Error(`${J}
|
|
28
|
+
- too many long flags`);throw Error(`${J}
|
|
29
|
+
- unrecognised flag format`)}if(x===void 0&&p===void 0)throw Error(`option creation failed due to no flags found in '${c}'.`);return{shortFlag:x,longFlag:p}}Oq.Option=d7;Oq.DualOptions=h7});var a7=P((Dq)=>{function Sq(c,x){if(Math.abs(c.length-x.length)>3)return Math.max(c.length,x.length);let p=[];for(let $=0;$<=c.length;$++)p[$]=[$];for(let $=0;$<=x.length;$++)p[0][$]=$;for(let $=1;$<=x.length;$++)for(let z=1;z<=c.length;z++){let Z=1;if(c[z-1]===x[$-1])Z=0;else Z=1;if(p[z][$]=Math.min(p[z-1][$]+1,p[z][$-1]+1,p[z-1][$-1]+Z),z>1&&$>1&&c[z-1]===x[$-2]&&c[z-2]===x[$-1])p[z][$]=Math.min(p[z][$],p[z-2][$-2]+1)}return p[c.length][x.length]}function Iq(c,x){if(!x||x.length===0)return"";x=Array.from(new Set(x));let p=c.startsWith("--");if(p)c=c.slice(2),x=x.map((Q)=>Q.slice(2));let $=[],z=3,Z=0.4;if(x.forEach((Q)=>{if(Q.length<=1)return;let J=Sq(c,Q),X=Math.max(c.length,Q.length);if((X-J)/X>Z){if(J<z)z=J,$=[Q];else if(J===z)$.push(Q)}}),$.sort((Q,J)=>Q.localeCompare(J)),p)$=$.map((Q)=>`--${Q}`);if($.length>1)return`
|
|
30
|
+
(Did you mean one of ${$.join(", ")}?)`;if($.length===1)return`
|
|
31
|
+
(Did you mean ${$[0]}?)`;return""}Dq.suggestSimilar=Iq});var o7=P((_q)=>{var Tq=e("node:events").EventEmitter,t4=e("node:child_process"),B0=e("node:path"),b2=e("node:fs"),Zc=e("node:process"),{Argument:Rq,humanReadableArgName:mq}=F2(),{CommanderError:e4}=w1(),{Help:dq,stripColor:hq}=s4(),{Option:_7,DualOptions:aq}=r4(),{suggestSimilar:g7}=a7();class x3 extends Tq{constructor(c){super();this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!1,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=c||"",this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description="",this._summary="",this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._savedState=null,this._outputConfiguration={writeOut:(x)=>Zc.stdout.write(x),writeErr:(x)=>Zc.stderr.write(x),outputError:(x,p)=>p(x),getOutHelpWidth:()=>Zc.stdout.isTTY?Zc.stdout.columns:void 0,getErrHelpWidth:()=>Zc.stderr.isTTY?Zc.stderr.columns:void 0,getOutHasColors:()=>c3()??(Zc.stdout.isTTY&&Zc.stdout.hasColors?.()),getErrHasColors:()=>c3()??(Zc.stderr.isTTY&&Zc.stderr.hasColors?.()),stripColor:(x)=>hq(x)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={},this._helpGroupHeading=void 0,this._defaultCommandGroup=void 0,this._defaultOptionGroup=void 0}copyInheritedSettings(c){return this._outputConfiguration=c._outputConfiguration,this._helpOption=c._helpOption,this._helpCommand=c._helpCommand,this._helpConfiguration=c._helpConfiguration,this._exitCallback=c._exitCallback,this._storeOptionsAsProperties=c._storeOptionsAsProperties,this._combineFlagAndOptionalValue=c._combineFlagAndOptionalValue,this._allowExcessArguments=c._allowExcessArguments,this._enablePositionalOptions=c._enablePositionalOptions,this._showHelpAfterError=c._showHelpAfterError,this._showSuggestionAfterError=c._showSuggestionAfterError,this}_getCommandAndAncestors(){let c=[];for(let x=this;x;x=x.parent)c.push(x);return c}command(c,x,p){let $=x,z=p;if(typeof $==="object"&&$!==null)z=$,$=null;z=z||{};let[,Z,Q]=c.match(/([^ ]+) *(.*)/),J=this.createCommand(Z);if($)J.description($),J._executableHandler=!0;if(z.isDefault)this._defaultCommandName=J._name;if(J._hidden=!!(z.noHelp||z.hidden),J._executableFile=z.executableFile||null,Q)J.arguments(Q);if(this._registerCommand(J),J.parent=this,J.copyInheritedSettings(this),$)return this;return J}createCommand(c){return new x3(c)}createHelp(){return Object.assign(new dq,this.configureHelp())}configureHelp(c){if(c===void 0)return this._helpConfiguration;return this._helpConfiguration=c,this}configureOutput(c){if(c===void 0)return this._outputConfiguration;return this._outputConfiguration=Object.assign({},this._outputConfiguration,c),this}showHelpAfterError(c=!0){if(typeof c!=="string")c=!!c;return this._showHelpAfterError=c,this}showSuggestionAfterError(c=!0){return this._showSuggestionAfterError=!!c,this}addCommand(c,x){if(!c._name)throw Error(`Command passed to .addCommand() must have a name
|
|
32
|
+
- specify the name in Command constructor or using .name()`);if(x=x||{},x.isDefault)this._defaultCommandName=c._name;if(x.noHelp||x.hidden)c._hidden=!0;return this._registerCommand(c),c.parent=this,c._checkForBrokenPassThrough(),this}createArgument(c,x){return new Rq(c,x)}argument(c,x,p,$){let z=this.createArgument(c,x);if(typeof p==="function")z.default($).argParser(p);else z.default(p);return this.addArgument(z),this}arguments(c){return c.trim().split(/ +/).forEach((x)=>{this.argument(x)}),this}addArgument(c){let x=this.registeredArguments.slice(-1)[0];if(x&&x.variadic)throw Error(`only the last argument can be variadic '${x.name()}'`);if(c.required&&c.defaultValue!==void 0&&c.parseArg===void 0)throw Error(`a default value for a required argument is never used: '${c.name()}'`);return this.registeredArguments.push(c),this}helpCommand(c,x){if(typeof c==="boolean"){if(this._addImplicitHelpCommand=c,c&&this._defaultCommandGroup)this._initCommandGroup(this._getHelpCommand());return this}let p=c??"help [command]",[,$,z]=p.match(/([^ ]+) *(.*)/),Z=x??"display help for command",Q=this.createCommand($);if(Q.helpOption(!1),z)Q.arguments(z);if(Z)Q.description(Z);if(this._addImplicitHelpCommand=!0,this._helpCommand=Q,c||x)this._initCommandGroup(Q);return this}addHelpCommand(c,x){if(typeof c!=="object")return this.helpCommand(c,x),this;return this._addImplicitHelpCommand=!0,this._helpCommand=c,this._initCommandGroup(c),this}_getHelpCommand(){if(this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"))){if(this._helpCommand===void 0)this.helpCommand(void 0,void 0);return this._helpCommand}return null}hook(c,x){let p=["preSubcommand","preAction","postAction"];if(!p.includes(c))throw Error(`Unexpected value for event passed to hook : '${c}'.
|
|
33
|
+
Expecting one of '${p.join("', '")}'`);if(this._lifeCycleHooks[c])this._lifeCycleHooks[c].push(x);else this._lifeCycleHooks[c]=[x];return this}exitOverride(c){if(c)this._exitCallback=c;else this._exitCallback=(x)=>{if(x.code!=="commander.executeSubCommandAsync")throw x};return this}_exit(c,x,p){if(this._exitCallback)this._exitCallback(new e4(c,x,p));Zc.exit(c)}action(c){let x=(p)=>{let $=this.registeredArguments.length,z=p.slice(0,$);if(this._storeOptionsAsProperties)z[$]=this;else z[$]=this.opts();return z.push(this),c.apply(this,z)};return this._actionHandler=x,this}createOption(c,x){return new _7(c,x)}_callParseArg(c,x,p,$){try{return c.parseArg(x,p)}catch(z){if(z.code==="commander.invalidArgument"){let Z=`${$} ${z.message}`;this.error(Z,{exitCode:z.exitCode,code:z.code})}throw z}}_registerOption(c){let x=c.short&&this._findOption(c.short)||c.long&&this._findOption(c.long);if(x){let p=c.long&&this._findOption(c.long)?c.long:c.short;throw Error(`Cannot add option '${c.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${p}'
|
|
34
|
+
- already used by option '${x.flags}'`)}this._initOptionGroup(c),this.options.push(c)}_registerCommand(c){let x=($)=>{return[$.name()].concat($.aliases())},p=x(c).find(($)=>this._findCommand($));if(p){let $=x(this._findCommand(p)).join("|"),z=x(c).join("|");throw Error(`cannot add command '${z}' as already have command '${$}'`)}this._initCommandGroup(c),this.commands.push(c)}addOption(c){this._registerOption(c);let x=c.name(),p=c.attributeName();if(c.negate){let z=c.long.replace(/^--no-/,"--");if(!this._findOption(z))this.setOptionValueWithSource(p,c.defaultValue===void 0?!0:c.defaultValue,"default")}else if(c.defaultValue!==void 0)this.setOptionValueWithSource(p,c.defaultValue,"default");let $=(z,Z,Q)=>{if(z==null&&c.presetArg!==void 0)z=c.presetArg;let J=this.getOptionValue(p);if(z!==null&&c.parseArg)z=this._callParseArg(c,z,J,Z);else if(z!==null&&c.variadic)z=c._concatValue(z,J);if(z==null)if(c.negate)z=!1;else if(c.isBoolean()||c.optional)z=!0;else z="";this.setOptionValueWithSource(p,z,Q)};if(this.on("option:"+x,(z)=>{let Z=`error: option '${c.flags}' argument '${z}' is invalid.`;$(z,Z,"cli")}),c.envVar)this.on("optionEnv:"+x,(z)=>{let Z=`error: option '${c.flags}' value '${z}' from env '${c.envVar}' is invalid.`;$(z,Z,"env")});return this}_optionEx(c,x,p,$,z){if(typeof x==="object"&&x instanceof _7)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let Z=this.createOption(x,p);if(Z.makeOptionMandatory(!!c.mandatory),typeof $==="function")Z.default(z).argParser($);else if($ instanceof RegExp){let Q=$;$=(J,X)=>{let i=Q.exec(J);return i?i[0]:X},Z.default(z).argParser($)}else Z.default($);return this.addOption(Z)}option(c,x,p,$){return this._optionEx({},c,x,p,$)}requiredOption(c,x,p,$){return this._optionEx({mandatory:!0},c,x,p,$)}combineFlagAndOptionalValue(c=!0){return this._combineFlagAndOptionalValue=!!c,this}allowUnknownOption(c=!0){return this._allowUnknownOption=!!c,this}allowExcessArguments(c=!0){return this._allowExcessArguments=!!c,this}enablePositionalOptions(c=!0){return this._enablePositionalOptions=!!c,this}passThroughOptions(c=!0){return this._passThroughOptions=!!c,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties(c=!0){if(this.options.length)throw Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this._optionValues).length)throw Error("call .storeOptionsAsProperties() before setting option values");return this._storeOptionsAsProperties=!!c,this}getOptionValue(c){if(this._storeOptionsAsProperties)return this[c];return this._optionValues[c]}setOptionValue(c,x){return this.setOptionValueWithSource(c,x,void 0)}setOptionValueWithSource(c,x,p){if(this._storeOptionsAsProperties)this[c]=x;else this._optionValues[c]=x;return this._optionValueSources[c]=p,this}getOptionValueSource(c){return this._optionValueSources[c]}getOptionValueSourceWithGlobals(c){let x;return this._getCommandAndAncestors().forEach((p)=>{if(p.getOptionValueSource(c)!==void 0)x=p.getOptionValueSource(c)}),x}_prepareUserArgs(c,x){if(c!==void 0&&!Array.isArray(c))throw Error("first parameter to parse must be array or undefined");if(x=x||{},c===void 0&&x.from===void 0){if(Zc.versions?.electron)x.from="electron";let $=Zc.execArgv??[];if($.includes("-e")||$.includes("--eval")||$.includes("-p")||$.includes("--print"))x.from="eval"}if(c===void 0)c=Zc.argv;this.rawArgs=c.slice();let p;switch(x.from){case void 0:case"node":this._scriptPath=c[1],p=c.slice(2);break;case"electron":if(Zc.defaultApp)this._scriptPath=c[1],p=c.slice(2);else p=c.slice(1);break;case"user":p=c.slice(0);break;case"eval":p=c.slice(1);break;default:throw Error(`unexpected parse option { from: '${x.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);return this._name=this._name||"program",p}parse(c,x){this._prepareForParse();let p=this._prepareUserArgs(c,x);return this._parseCommand([],p),this}async parseAsync(c,x){this._prepareForParse();let p=this._prepareUserArgs(c,x);return await this._parseCommand([],p),this}_prepareForParse(){if(this._savedState===null)this.saveStateBeforeParse();else this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw Error(`Can not call parse again when storeOptionsAsProperties is true.
|
|
35
|
+
- either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name,this._scriptPath=null,this.rawArgs=[],this._optionValues={...this._savedState._optionValues},this._optionValueSources={...this._savedState._optionValueSources},this.args=[],this.processedArgs=[]}_checkForMissingExecutable(c,x,p){if(b2.existsSync(c))return;let $=x?`searched for local subcommand relative to directory '${x}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",z=`'${c}' does not exist
|
|
36
|
+
- if '${p}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
|
|
37
|
+
- if the default executable name is not suitable, use the executableFile option to supply a custom name or path
|
|
38
|
+
- ${$}`;throw Error(z)}_executeSubCommand(c,x){x=x.slice();let p=!1,$=[".js",".ts",".tsx",".mjs",".cjs"];function z(i,G){let Y=B0.resolve(i,G);if(b2.existsSync(Y))return Y;if($.includes(B0.extname(G)))return;let H=$.find((W)=>b2.existsSync(`${Y}${W}`));if(H)return`${Y}${H}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let Z=c._executableFile||`${this._name}-${c._name}`,Q=this._executableDir||"";if(this._scriptPath){let i;try{i=b2.realpathSync(this._scriptPath)}catch{i=this._scriptPath}Q=B0.resolve(B0.dirname(i),Q)}if(Q){let i=z(Q,Z);if(!i&&!c._executableFile&&this._scriptPath){let G=B0.basename(this._scriptPath,B0.extname(this._scriptPath));if(G!==this._name)i=z(Q,`${G}-${c._name}`)}Z=i||Z}p=$.includes(B0.extname(Z));let J;if(Zc.platform!=="win32")if(p)x.unshift(Z),x=l7(Zc.execArgv).concat(x),J=t4.spawn(Zc.argv[0],x,{stdio:"inherit"});else J=t4.spawn(Z,x,{stdio:"inherit"});else this._checkForMissingExecutable(Z,Q,c._name),x.unshift(Z),x=l7(Zc.execArgv).concat(x),J=t4.spawn(Zc.execPath,x,{stdio:"inherit"});if(!J.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((G)=>{Zc.on(G,()=>{if(J.killed===!1&&J.exitCode===null)J.kill(G)})});let X=this._exitCallback;J.on("close",(i)=>{if(i=i??1,!X)Zc.exit(i);else X(new e4(i,"commander.executeSubCommandAsync","(close)"))}),J.on("error",(i)=>{if(i.code==="ENOENT")this._checkForMissingExecutable(Z,Q,c._name);else if(i.code==="EACCES")throw Error(`'${Z}' not executable`);if(!X)Zc.exit(1);else{let G=new e4(1,"commander.executeSubCommandAsync","(error)");G.nestedError=i,X(G)}}),this.runningCommand=J}_dispatchSubcommand(c,x,p){let $=this._findCommand(c);if(!$)this.help({error:!0});$._prepareForParse();let z;return z=this._chainOrCallSubCommandHook(z,$,"preSubcommand"),z=this._chainOrCall(z,()=>{if($._executableHandler)this._executeSubCommand($,x.concat(p));else return $._parseCommand(x,p)}),z}_dispatchHelpCommand(c){if(!c)this.help();let x=this._findCommand(c);if(x&&!x._executableHandler)x.help();return this._dispatchSubcommand(c,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach((c,x)=>{if(c.required&&this.args[x]==null)this.missingArgument(c.name())}),this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)return;if(this.args.length>this.registeredArguments.length)this._excessArguments(this.args)}_processArguments(){let c=(p,$,z)=>{let Z=$;if($!==null&&p.parseArg){let Q=`error: command-argument value '${$}' is invalid for argument '${p.name()}'.`;Z=this._callParseArg(p,$,z,Q)}return Z};this._checkNumberOfArguments();let x=[];this.registeredArguments.forEach((p,$)=>{let z=p.defaultValue;if(p.variadic){if($<this.args.length){if(z=this.args.slice($),p.parseArg)z=z.reduce((Z,Q)=>{return c(p,Q,Z)},p.defaultValue)}else if(z===void 0)z=[]}else if($<this.args.length){if(z=this.args[$],p.parseArg)z=c(p,z,p.defaultValue)}x[$]=z}),this.processedArgs=x}_chainOrCall(c,x){if(c&&c.then&&typeof c.then==="function")return c.then(()=>x());return x()}_chainOrCallHooks(c,x){let p=c,$=[];if(this._getCommandAndAncestors().reverse().filter((z)=>z._lifeCycleHooks[x]!==void 0).forEach((z)=>{z._lifeCycleHooks[x].forEach((Z)=>{$.push({hookedCommand:z,callback:Z})})}),x==="postAction")$.reverse();return $.forEach((z)=>{p=this._chainOrCall(p,()=>{return z.callback(z.hookedCommand,this)})}),p}_chainOrCallSubCommandHook(c,x,p){let $=c;if(this._lifeCycleHooks[p]!==void 0)this._lifeCycleHooks[p].forEach((z)=>{$=this._chainOrCall($,()=>{return z(this,x)})});return $}_parseCommand(c,x){let p=this.parseOptions(x);if(this._parseOptionsEnv(),this._parseOptionsImplied(),c=c.concat(p.operands),x=p.unknown,this.args=c.concat(x),c&&this._findCommand(c[0]))return this._dispatchSubcommand(c[0],c.slice(1),x);if(this._getHelpCommand()&&c[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(c[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(x),this._dispatchSubcommand(this._defaultCommandName,c,x);if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName)this.help({error:!0});this._outputHelpIfRequested(p.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let $=()=>{if(p.unknown.length>0)this.unknownOption(p.unknown[0])},z=`command:${this.name()}`;if(this._actionHandler){$(),this._processArguments();let Z;if(Z=this._chainOrCallHooks(Z,"preAction"),Z=this._chainOrCall(Z,()=>this._actionHandler(this.processedArgs)),this.parent)Z=this._chainOrCall(Z,()=>{this.parent.emit(z,c,x)});return Z=this._chainOrCallHooks(Z,"postAction"),Z}if(this.parent&&this.parent.listenerCount(z))$(),this._processArguments(),this.parent.emit(z,c,x);else if(c.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",c,x);if(this.listenerCount("command:*"))this.emit("command:*",c,x);else if(this.commands.length)this.unknownCommand();else $(),this._processArguments()}else if(this.commands.length)$(),this.help({error:!0});else $(),this._processArguments()}_findCommand(c){if(!c)return;return this.commands.find((x)=>x._name===c||x._aliases.includes(c))}_findOption(c){return this.options.find((x)=>x.is(c))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach((c)=>{c.options.forEach((x)=>{if(x.mandatory&&c.getOptionValue(x.attributeName())===void 0)c.missingMandatoryOptionValue(x)})})}_checkForConflictingLocalOptions(){let c=this.options.filter((p)=>{let $=p.attributeName();if(this.getOptionValue($)===void 0)return!1;return this.getOptionValueSource($)!=="default"});c.filter((p)=>p.conflictsWith.length>0).forEach((p)=>{let $=c.find((z)=>p.conflictsWith.includes(z.attributeName()));if($)this._conflictingOption(p,$)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach((c)=>{c._checkForConflictingLocalOptions()})}parseOptions(c){let x=[],p=[],$=x,z=c.slice();function Z(X){return X.length>1&&X[0]==="-"}let Q=(X)=>{if(!/^-\d*\.?\d+(e[+-]?\d+)?$/.test(X))return!1;return!this._getCommandAndAncestors().some((i)=>i.options.map((G)=>G.short).some((G)=>/^-\d$/.test(G)))},J=null;while(z.length){let X=z.shift();if(X==="--"){if($===p)$.push(X);$.push(...z);break}if(J&&(!Z(X)||Q(X))){this.emit(`option:${J.name()}`,X);continue}if(J=null,Z(X)){let i=this._findOption(X);if(i){if(i.required){let G=z.shift();if(G===void 0)this.optionMissingArgument(i);this.emit(`option:${i.name()}`,G)}else if(i.optional){let G=null;if(z.length>0&&(!Z(z[0])||Q(z[0])))G=z.shift();this.emit(`option:${i.name()}`,G)}else this.emit(`option:${i.name()}`);J=i.variadic?i:null;continue}}if(X.length>2&&X[0]==="-"&&X[1]!=="-"){let i=this._findOption(`-${X[1]}`);if(i){if(i.required||i.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${i.name()}`,X.slice(2));else this.emit(`option:${i.name()}`),z.unshift(`-${X.slice(2)}`);continue}}if(/^--[^=]+=/.test(X)){let i=X.indexOf("="),G=this._findOption(X.slice(0,i));if(G&&(G.required||G.optional)){this.emit(`option:${G.name()}`,X.slice(i+1));continue}}if($===x&&Z(X)&&!(this.commands.length===0&&Q(X)))$=p;if((this._enablePositionalOptions||this._passThroughOptions)&&x.length===0&&p.length===0){if(this._findCommand(X)){if(x.push(X),z.length>0)p.push(...z);break}else if(this._getHelpCommand()&&X===this._getHelpCommand().name()){if(x.push(X),z.length>0)x.push(...z);break}else if(this._defaultCommandName){if(p.push(X),z.length>0)p.push(...z);break}}if(this._passThroughOptions){if($.push(X),z.length>0)$.push(...z);break}$.push(X)}return{operands:x,unknown:p}}opts(){if(this._storeOptionsAsProperties){let c={},x=this.options.length;for(let p=0;p<x;p++){let $=this.options[p].attributeName();c[$]=$===this._versionOptionName?this._version:this[$]}return c}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((c,x)=>Object.assign(c,x.opts()),{})}error(c,x){if(this._outputConfiguration.outputError(`${c}
|
|
39
|
+
`,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==="string")this._outputConfiguration.writeErr(`${this._showHelpAfterError}
|
|
40
|
+
`);else if(this._showHelpAfterError)this._outputConfiguration.writeErr(`
|
|
41
|
+
`),this.outputHelp({error:!0});let p=x||{},$=p.exitCode||1,z=p.code||"commander.error";this._exit($,z,c)}_parseOptionsEnv(){this.options.forEach((c)=>{if(c.envVar&&c.envVar in Zc.env){let x=c.attributeName();if(this.getOptionValue(x)===void 0||["default","config","env"].includes(this.getOptionValueSource(x)))if(c.required||c.optional)this.emit(`optionEnv:${c.name()}`,Zc.env[c.envVar]);else this.emit(`optionEnv:${c.name()}`)}})}_parseOptionsImplied(){let c=new aq(this.options),x=(p)=>{return this.getOptionValue(p)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(p))};this.options.filter((p)=>p.implied!==void 0&&x(p.attributeName())&&c.valueFromOption(this.getOptionValue(p.attributeName()),p)).forEach((p)=>{Object.keys(p.implied).filter(($)=>!x($)).forEach(($)=>{this.setOptionValueWithSource($,p.implied[$],"implied")})})}missingArgument(c){let x=`error: missing required argument '${c}'`;this.error(x,{code:"commander.missingArgument"})}optionMissingArgument(c){let x=`error: option '${c.flags}' argument missing`;this.error(x,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(c){let x=`error: required option '${c.flags}' not specified`;this.error(x,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(c,x){let p=(Z)=>{let Q=Z.attributeName(),J=this.getOptionValue(Q),X=this.options.find((G)=>G.negate&&Q===G.attributeName()),i=this.options.find((G)=>!G.negate&&Q===G.attributeName());if(X&&(X.presetArg===void 0&&J===!1||X.presetArg!==void 0&&J===X.presetArg))return X;return i||Z},$=(Z)=>{let Q=p(Z),J=Q.attributeName();if(this.getOptionValueSource(J)==="env")return`environment variable '${Q.envVar}'`;return`option '${Q.flags}'`},z=`error: ${$(c)} cannot be used with ${$(x)}`;this.error(z,{code:"commander.conflictingOption"})}unknownOption(c){if(this._allowUnknownOption)return;let x="";if(c.startsWith("--")&&this._showSuggestionAfterError){let $=[],z=this;do{let Z=z.createHelp().visibleOptions(z).filter((Q)=>Q.long).map((Q)=>Q.long);$=$.concat(Z),z=z.parent}while(z&&!z._enablePositionalOptions);x=g7(c,$)}let p=`error: unknown option '${c}'${x}`;this.error(p,{code:"commander.unknownOption"})}_excessArguments(c){if(this._allowExcessArguments)return;let x=this.registeredArguments.length,p=x===1?"":"s",z=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${x} argument${p} but got ${c.length}.`;this.error(z,{code:"commander.excessArguments"})}unknownCommand(){let c=this.args[0],x="";if(this._showSuggestionAfterError){let $=[];this.createHelp().visibleCommands(this).forEach((z)=>{if($.push(z.name()),z.alias())$.push(z.alias())}),x=g7(c,$)}let p=`error: unknown command '${c}'${x}`;this.error(p,{code:"commander.unknownCommand"})}version(c,x,p){if(c===void 0)return this._version;this._version=c,x=x||"-V, --version",p=p||"output the version number";let $=this.createOption(x,p);return this._versionOptionName=$.attributeName(),this._registerOption($),this.on("option:"+$.name(),()=>{this._outputConfiguration.writeOut(`${c}
|
|
42
|
+
`),this._exit(0,"commander.version",c)}),this}description(c,x){if(c===void 0&&x===void 0)return this._description;if(this._description=c,x)this._argsDescription=x;return this}summary(c){if(c===void 0)return this._summary;return this._summary=c,this}alias(c){if(c===void 0)return this._aliases[0];let x=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)x=this.commands[this.commands.length-1];if(c===x._name)throw Error("Command alias can't be the same as its name");let p=this.parent?._findCommand(c);if(p){let $=[p.name()].concat(p.aliases()).join("|");throw Error(`cannot add alias '${c}' to command '${this.name()}' as already have command '${$}'`)}return x._aliases.push(c),this}aliases(c){if(c===void 0)return this._aliases;return c.forEach((x)=>this.alias(x)),this}usage(c){if(c===void 0){if(this._usage)return this._usage;let x=this.registeredArguments.map((p)=>{return mq(p)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?x:[]).join(" ")}return this._usage=c,this}name(c){if(c===void 0)return this._name;return this._name=c,this}helpGroup(c){if(c===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=c,this}commandsGroup(c){if(c===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=c,this}optionsGroup(c){if(c===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=c,this}_initOptionGroup(c){if(this._defaultOptionGroup&&!c.helpGroupHeading)c.helpGroup(this._defaultOptionGroup)}_initCommandGroup(c){if(this._defaultCommandGroup&&!c.helpGroup())c.helpGroup(this._defaultCommandGroup)}nameFromFilename(c){return this._name=B0.basename(c,B0.extname(c)),this}executableDir(c){if(c===void 0)return this._executableDir;return this._executableDir=c,this}helpInformation(c){let x=this.createHelp(),p=this._getOutputContext(c);x.prepareContext({error:p.error,helpWidth:p.helpWidth,outputHasColors:p.hasColors});let $=x.formatHelp(this,x);if(p.hasColors)return $;return this._outputConfiguration.stripColor($)}_getOutputContext(c){c=c||{};let x=!!c.error,p,$,z;if(x)p=(Q)=>this._outputConfiguration.writeErr(Q),$=this._outputConfiguration.getErrHasColors(),z=this._outputConfiguration.getErrHelpWidth();else p=(Q)=>this._outputConfiguration.writeOut(Q),$=this._outputConfiguration.getOutHasColors(),z=this._outputConfiguration.getOutHelpWidth();return{error:x,write:(Q)=>{if(!$)Q=this._outputConfiguration.stripColor(Q);return p(Q)},hasColors:$,helpWidth:z}}outputHelp(c){let x;if(typeof c==="function")x=c,c=void 0;let p=this._getOutputContext(c),$={error:p.error,write:p.write,command:this};this._getCommandAndAncestors().reverse().forEach((Z)=>Z.emit("beforeAllHelp",$)),this.emit("beforeHelp",$);let z=this.helpInformation({error:p.error});if(x){if(z=x(z),typeof z!=="string"&&!Buffer.isBuffer(z))throw Error("outputHelp callback must return a string or a Buffer")}if(p.write(z),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",$),this._getCommandAndAncestors().forEach((Z)=>Z.emit("afterAllHelp",$))}helpOption(c,x){if(typeof c==="boolean"){if(c){if(this._helpOption===null)this._helpOption=void 0;if(this._defaultOptionGroup)this._initOptionGroup(this._getHelpOption())}else this._helpOption=null;return this}if(this._helpOption=this.createOption(c??"-h, --help",x??"display help for command"),c||x)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption(c){return this._helpOption=c,this._initOptionGroup(c),this}help(c){this.outputHelp(c);let x=Number(Zc.exitCode??0);if(x===0&&c&&typeof c!=="function"&&c.error)x=1;this._exit(x,"commander.help","(outputHelp)")}addHelpText(c,x){let p=["beforeAll","before","after","afterAll"];if(!p.includes(c))throw Error(`Unexpected value for position to addHelpText.
|
|
43
|
+
Expecting one of '${p.join("', '")}'`);let $=`${c}Help`;return this.on($,(z)=>{let Z;if(typeof x==="function")Z=x({error:z.error,command:z.command});else Z=x;if(Z)z.write(`${Z}
|
|
44
|
+
`)}),this}_outputHelpIfRequested(c){let x=this._getHelpOption();if(x&&c.find(($)=>x.is($)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function l7(c){return c.map((x)=>{if(!x.startsWith("--inspect"))return x;let p,$="127.0.0.1",z="9229",Z;if((Z=x.match(/^(--inspect(-brk)?)$/))!==null)p=Z[1];else if((Z=x.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(p=Z[1],/^\d+$/.test(Z[3]))z=Z[3];else $=Z[3];else if((Z=x.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)p=Z[1],$=Z[3],z=Z[4];if(p&&z!=="0")return`${p}=${$}:${parseInt(z)+1}`;return x})}function c3(){if(Zc.env.NO_COLOR||Zc.env.FORCE_COLOR==="0"||Zc.env.FORCE_COLOR==="false")return!1;if(Zc.env.FORCE_COLOR||Zc.env.CLICOLOR_FORCE!==void 0)return!0;return}_q.Command=x3;_q.useColor=c3});var e7=P((rq)=>{var{Argument:s7}=F2(),{Command:p3}=o7(),{CommanderError:oq,InvalidArgumentError:r7}=w1(),{Help:sq}=s4(),{Option:t7}=r4();rq.program=new p3;rq.createCommand=(c)=>new p3(c);rq.createOption=(c,x)=>new t7(c,x);rq.createArgument=(c,x)=>new s7(c,x);rq.Command=p3;rq.Option=t7;rq.Argument=s7;rq.Help=sq;rq.CommanderError=oq;rq.InvalidArgumentError=r7;rq.InvalidOptionArgumentError=r7});import{promises as Lx}from"fs";import U8 from"os";import Z3 from"path";class Q3{config;configPath;constructor(c){this.config=c,this.configPath=this.getDefaultConfigPath()}getDefaultConfigPath(){let c=U8.homedir();return Z3.join(c,".blade","mcp-config.json")}async initialize(){let c=Z3.dirname(this.configPath);try{await Lx.mkdir(c,{recursive:!0})}catch(x){}console.log("MCP配置管理器初始化完成")}async loadConfig(){try{await Lx.access(this.configPath);let c=await Lx.readFile(this.configPath,"utf-8"),x=JSON.parse(c);return this.mergeConfig(this.getDefaultConfig(),x)}catch(c){if(c.code==="ENOENT")return console.log("MCP配置文件不存在,使用默认配置"),this.getDefaultConfig();return console.error("加载MCP配置失败:",c),this.getDefaultConfig()}}async saveConfig(c){try{let x=JSON.stringify(c,null,2);await Lx.writeFile(this.configPath,x,"utf-8"),console.log(`MCP配置已保存: ${this.configPath}`)}catch(x){throw console.error("保存MCP配置失败:",x),x}}getDefaultConfig(){return{enabled:!0,servers:[],autoConnect:!1,timeout:30000,maxConnections:10,defaultTransport:"stdio",security:{validateCertificates:!0,allowedOrigins:["localhost"],maxMessageSize:1048576},logging:{enabled:!0,level:"info",filePath:Z3.join(U8.homedir(),".blade","mcp.log")},caching:{enabled:!0,ttl:300,maxSize:1000}}}mergeConfig(c,x){return{...c,...x,servers:this.mergeServers(c.servers,x.servers||[]),security:{...c.security,...x.security||{}},logging:{...c.logging,...x.logging||{}},caching:{...c.caching,...x.caching||{}}}}mergeServers(c,x){let p=[...c];for(let $ of x){if(!$.id)continue;let z=p.findIndex((Z)=>Z.id===$.id);if(z>=0)p[z]={...p[z],...$};else p.push({id:$.id,name:$.name||$.id,endpoint:$.endpoint||"",transport:$.transport||"stdio",enabled:$.enabled!==!1,config:$.config||{},capabilities:$.capabilities||[],autoConnect:$.autoConnect||!1})}return p}async addServer(c){let x=await this.loadConfig(),p=c.id||this.generateServerId(c.name);if(x.servers.some(($)=>$.id===p))throw Error(`MCP服务器已存在: ${p}`);return x.servers.push({id:p,name:c.name,endpoint:c.endpoint,transport:c.transport,enabled:c.enabled!==!1,config:c.config||{},capabilities:c.capabilities||[],autoConnect:c.autoConnect||!1}),await this.saveConfig(x),console.log(`添加MCP服务器: ${c.name} (${p})`),p}async removeServer(c){let x=await this.loadConfig(),p=x.servers.findIndex((z)=>z.id===c);if(p<0)throw Error(`MCP服务器未找到: ${c}`);let $=x.servers.splice(p,1)[0];await this.saveConfig(x),console.log(`移除MCP服务器: ${$.name} (${c})`)}async updateServer(c,x){let p=await this.loadConfig(),$=p.servers.findIndex((z)=>z.id===c);if($<0)throw Error(`MCP服务器未找到: ${c}`);p.servers[$]={...p.servers[$],...x},await this.saveConfig(p),console.log(`更新MCP服务器: ${c}`)}async getServer(c){return(await this.loadConfig()).servers.find((p)=>p.id===c)}async getAllServers(){return(await this.loadConfig()).servers}async enableServer(c){await this.updateServer(c,{enabled:!0})}async disableServer(c){await this.updateServer(c,{enabled:!1})}async setAutoConnect(c,x){await this.updateServer(c,{autoConnect:x})}generateServerId(c){return`${c.toLowerCase().replace(/[^a-z0-9]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}-${Date.now()}`}async backupConfig(c){try{await Lx.copyFile(this.configPath,c),console.log(`MCP配置备份已创建: ${c}`)}catch(x){if(x.code==="ENOENT")console.log("没有MCP配置需要备份");else throw console.error("MCP配置备份失败:",x),x}}async restoreConfig(c){try{await Lx.copyFile(c,this.configPath),console.log(`MCP配置已从备份恢复: ${c}`)}catch(x){throw console.error("MCP配置恢复失败:",x),x}}async validateConfig(c){let x=[],p=[];if(c.timeout&&c.timeout<1000)p.push("超时时间过短,建议至少1000ms");if(c.maxConnections&&c.maxConnections>100)p.push("最大连接数过大,可能影响性能");for(let $ of c.servers){if(!$.endpoint)x.push(`服务器 ${$.name} 缺少端点配置`);if(!["stdio","sse","websocket"].includes($.transport))x.push(`服务器 ${$.name} 使用不支持的传输类型: ${$.transport}`)}return{valid:x.length===0,errors:x,warnings:p}}async migrateConfig(){console.log("检查MCP配置迁移...")}}var B8=()=>{};function U1(c,x){return function(){return c.apply(x,arguments)}}function V1(c){return c!==null&&!B1(c)&&c.constructor!==null&&!B1(c.constructor)&&Tc(c.constructor.isBuffer)&&c.constructor.isBuffer(c)}function MU(c){let x;if(typeof ArrayBuffer<"u"&&ArrayBuffer.isView)x=ArrayBuffer.isView(c);else x=c&&c.buffer&&b8(c.buffer);return x}function b1(c,x,{allOwnKeys:p=!1}={}){if(c===null||typeof c>"u")return;let $,z;if(typeof c!=="object")c=[c];if(Nx(c))for($=0,z=c.length;$<z;$++)x.call(null,c[$],$,c);else{if(V1(c))return;let Z=p?Object.getOwnPropertyNames(c):Object.keys(c),Q=Z.length,J;for($=0;$<Q;$++)J=Z[$],x.call(null,c[J],J,c)}}function N8(c,x){if(V1(c))return null;x=x.toLowerCase();let p=Object.keys(c),$=p.length,z;while($-- >0)if(z=p[$],x===z.toLowerCase())return z;return null}function J3(){let{caseless:c}=A8(this)&&this||{},x={},p=($,z)=>{let Z=c&&N8(x,z)||z;if(R2(x[Z])&&R2($))x[Z]=J3(x[Z],$);else if(R2($))x[Z]=J3({},$);else if(Nx($))x[Z]=$.slice();else x[Z]=$};for(let $=0,z=arguments.length;$<z;$++)arguments[$]&&b1(arguments[$],p);return x}function JB(c){return!!(c&&Tc(c.append)&&c[F8]==="FormData"&&c[m2])}var yU,X3,m2,F8,d2,p0=(c)=>{return c=c.toLowerCase(),(x)=>d2(x)===c},h2=(c)=>(x)=>typeof x===c,Nx,B1,b8,fU,Tc,L8,F1=(c)=>c!==null&&typeof c==="object",nU=(c)=>c===!0||c===!1,R2=(c)=>{if(d2(c)!=="object")return!1;let x=X3(c);return(x===null||x===Object.prototype||Object.getPrototypeOf(x)===null)&&!(F8 in c)&&!(m2 in c)},kU=(c)=>{if(!F1(c)||V1(c))return!1;try{return Object.keys(c).length===0&&Object.getPrototypeOf(c)===Object.prototype}catch(x){return!1}},OU,CU,jU,SU,IU=(c)=>F1(c)&&Tc(c.pipe),DU=(c)=>{let x;return c&&(typeof FormData==="function"&&c instanceof FormData||Tc(c.append)&&((x=d2(c))==="formdata"||x==="object"&&Tc(c.toString)&&c.toString()==="[object FormData]"))},EU,TU,RU,mU,dU,hU=(c)=>c.trim?c.trim():c.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),px,A8=(c)=>!B1(c)&&c!==px,aU=(c,x,p,{allOwnKeys:$}={})=>{return b1(x,(z,Z)=>{if(p&&Tc(z))c[Z]=U1(z,p);else c[Z]=z},{allOwnKeys:$}),c},_U=(c)=>{if(c.charCodeAt(0)===65279)c=c.slice(1);return c},gU=(c,x,p,$)=>{c.prototype=Object.create(x.prototype,$),c.prototype.constructor=c,Object.defineProperty(c,"super",{value:x.prototype}),p&&Object.assign(c.prototype,p)},lU=(c,x,p,$)=>{let z,Z,Q,J={};if(x=x||{},c==null)return x;do{z=Object.getOwnPropertyNames(c),Z=z.length;while(Z-- >0)if(Q=z[Z],(!$||$(Q,c,x))&&!J[Q])x[Q]=c[Q],J[Q]=!0;c=p!==!1&&X3(c)}while(c&&(!p||p(c,x))&&c!==Object.prototype);return x},oU=(c,x,p)=>{if(c=String(c),p===void 0||p>c.length)p=c.length;p-=x.length;let $=c.indexOf(x,p);return $!==-1&&$===p},sU=(c)=>{if(!c)return null;if(Nx(c))return c;let x=c.length;if(!L8(x))return null;let p=Array(x);while(x-- >0)p[x]=c[x];return p},rU,tU=(c,x)=>{let $=(c&&c[m2]).call(c),z;while((z=$.next())&&!z.done){let Z=z.value;x.call(c,Z[0],Z[1])}},eU=(c,x)=>{let p,$=[];while((p=c.exec(x))!==null)$.push(p);return $},cB,xB=(c)=>{return c.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(p,$,z){return $.toUpperCase()+z})},V8,pB,u8=(c,x)=>{let p=Object.getOwnPropertyDescriptors(c),$={};b1(p,(z,Z)=>{let Q;if((Q=x(z,Z,c))!==!1)$[Z]=Q||z}),Object.defineProperties(c,$)},$B=(c)=>{u8(c,(x,p)=>{if(Tc(c)&&["arguments","caller","callee"].indexOf(p)!==-1)return!1;let $=c[p];if(!Tc($))return;if(x.enumerable=!1,"writable"in x){x.writable=!1;return}if(!x.set)x.set=()=>{throw Error("Can not rewrite read-only method '"+p+"'")}})},zB=(c,x)=>{let p={},$=(z)=>{z.forEach((Z)=>{p[Z]=!0})};return Nx(c)?$(c):$(String(c).split(x)),p},ZB=()=>{},QB=(c,x)=>{return c!=null&&Number.isFinite(c=+c)?c:x},XB=(c)=>{let x=[,,,,,,,,,,],p=($,z)=>{if(F1($)){if(x.indexOf($)>=0)return;if(V1($))return $;if(!("toJSON"in $)){x[z]=$;let Z=Nx($)?[]:{};return b1($,(Q,J)=>{let X=p(Q,z+1);!B1(X)&&(Z[J]=X)}),x[z]=void 0,Z}}return $};return p(c,0)},iB,GB=(c)=>c&&(F1(c)||Tc(c))&&Tc(c.then)&&Tc(c.catch),P8,YB,HB=(c)=>c!=null&&Tc(c[m2]),M;var Kc=g(()=>{({toString:yU}=Object.prototype),{getPrototypeOf:X3}=Object,{iterator:m2,toStringTag:F8}=Symbol,d2=((c)=>(x)=>{let p=yU.call(x);return c[p]||(c[p]=p.slice(8,-1).toLowerCase())})(Object.create(null)),{isArray:Nx}=Array,B1=h2("undefined");b8=p0("ArrayBuffer");fU=h2("string"),Tc=h2("function"),L8=h2("number"),OU=p0("Date"),CU=p0("File"),jU=p0("Blob"),SU=p0("FileList"),EU=p0("URLSearchParams"),[TU,RU,mU,dU]=["ReadableStream","Request","Response","Headers"].map(p0);px=(()=>{if(typeof globalThis<"u")return globalThis;return typeof self<"u"?self:typeof window<"u"?window:global})();rU=((c)=>{return(x)=>{return c&&x instanceof c}})(typeof Uint8Array<"u"&&X3(Uint8Array)),cB=p0("HTMLFormElement"),V8=(({hasOwnProperty:c})=>(x,p)=>c.call(x,p))(Object.prototype),pB=p0("RegExp");iB=p0("AsyncFunction"),P8=((c,x)=>{if(c)return setImmediate;return x?((p,$)=>{return px.addEventListener("message",({source:z,data:Z})=>{if(z===px&&Z===p)$.length&&$.shift()()},!1),(z)=>{$.push(z),px.postMessage(p,"*")}})(`axios@${Math.random()}`,[]):(p)=>setTimeout(p)})(typeof setImmediate==="function",Tc(px.postMessage)),YB=typeof queueMicrotask<"u"?queueMicrotask.bind(px):typeof process<"u"&&process.nextTick||P8,M={isArray:Nx,isArrayBuffer:b8,isBuffer:V1,isFormData:DU,isArrayBufferView:MU,isString:fU,isNumber:L8,isBoolean:nU,isObject:F1,isPlainObject:R2,isEmptyObject:kU,isReadableStream:TU,isRequest:RU,isResponse:mU,isHeaders:dU,isUndefined:B1,isDate:OU,isFile:CU,isBlob:jU,isRegExp:pB,isFunction:Tc,isStream:IU,isURLSearchParams:EU,isTypedArray:rU,isFileList:SU,forEach:b1,merge:J3,extend:aU,trim:hU,stripBOM:_U,inherits:gU,toFlatObject:lU,kindOf:d2,kindOfTest:p0,endsWith:oU,toArray:sU,forEachEntry:tU,matchAll:eU,isHTMLForm:cB,hasOwnProperty:V8,hasOwnProp:V8,reduceDescriptors:u8,freezeMethods:$B,toObjectSet:zB,toCamelCase:xB,noop:ZB,toFiniteNumber:QB,findKey:N8,global:px,isContextDefined:A8,isSpecCompliantForm:JB,toJSONObject:XB,isAsyncFn:iB,isThenable:GB,setImmediate:P8,asap:YB,isIterable:HB}});function Ax(c,x,p,$,z){if(Error.call(this),Error.captureStackTrace)Error.captureStackTrace(this,this.constructor);else this.stack=Error().stack;if(this.message=c,this.name="AxiosError",x&&(this.code=x),p&&(this.config=p),$&&(this.request=$),z)this.response=z,this.status=z.status?z.status:null}var y8,M8,d;var gc=g(()=>{Kc();M.inherits(Ax,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:M.toJSONObject(this.config),code:this.code,status:this.status}}});y8=Ax.prototype,M8={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((c)=>{M8[c]={value:c}});Object.defineProperties(Ax,M8);Object.defineProperty(y8,"isAxiosError",{value:!0});Ax.from=(c,x,p,$,z,Z)=>{let Q=Object.create(y8);return M.toFlatObject(c,Q,function(X){return X!==Error.prototype},(J)=>{return J!=="isAxiosError"}),Ax.call(Q,c.message,x,p,$,z),Q.cause=c,Q.name=c.name,Z&&Object.assign(Q,Z),Q};d=Ax});var k8=P((WE,n8)=>{var f8=e("stream").Stream,WB=e("util");n8.exports=$0;function $0(){this.source=null,this.dataSize=0,this.maxDataSize=1048576,this.pauseStream=!0,this._maxDataSizeExceeded=!1,this._released=!1,this._bufferedEvents=[]}WB.inherits($0,f8);$0.create=function(c,x){var p=new this;x=x||{};for(var $ in x)p[$]=x[$];p.source=c;var z=c.emit;if(c.emit=function(){return p._handleEmit(arguments),z.apply(c,arguments)},c.on("error",function(){}),p.pauseStream)c.pause();return p};Object.defineProperty($0.prototype,"readable",{configurable:!0,enumerable:!0,get:function(){return this.source.readable}});$0.prototype.setEncoding=function(){return this.source.setEncoding.apply(this.source,arguments)};$0.prototype.resume=function(){if(!this._released)this.release();this.source.resume()};$0.prototype.pause=function(){this.source.pause()};$0.prototype.release=function(){this._released=!0,this._bufferedEvents.forEach(function(c){this.emit.apply(this,c)}.bind(this)),this._bufferedEvents=[]};$0.prototype.pipe=function(){var c=f8.prototype.pipe.apply(this,arguments);return this.resume(),c};$0.prototype._handleEmit=function(c){if(this._released){this.emit.apply(this,c);return}if(c[0]==="data")this.dataSize+=c[1].length,this._checkIfMaxDataSizeExceeded();this._bufferedEvents.push(c)};$0.prototype._checkIfMaxDataSizeExceeded=function(){if(this._maxDataSizeExceeded)return;if(this.dataSize<=this.maxDataSize)return;this._maxDataSizeExceeded=!0;var c="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this.emit("error",Error(c))}});var S8=P((KE,j8)=>{var KB=e("util"),C8=e("stream").Stream,O8=k8();j8.exports=Bc;function Bc(){this.writable=!1,this.readable=!0,this.dataSize=0,this.maxDataSize=2097152,this.pauseStreams=!0,this._released=!1,this._streams=[],this._currentStream=null,this._insideLoop=!1,this._pendingNext=!1}KB.inherits(Bc,C8);Bc.create=function(c){var x=new this;c=c||{};for(var p in c)x[p]=c[p];return x};Bc.isStreamLike=function(c){return typeof c!=="function"&&typeof c!=="string"&&typeof c!=="boolean"&&typeof c!=="number"&&!Buffer.isBuffer(c)};Bc.prototype.append=function(c){var x=Bc.isStreamLike(c);if(x){if(!(c instanceof O8)){var p=O8.create(c,{maxDataSize:1/0,pauseStream:this.pauseStreams});c.on("data",this._checkDataSize.bind(this)),c=p}if(this._handleErrors(c),this.pauseStreams)c.pause()}return this._streams.push(c),this};Bc.prototype.pipe=function(c,x){return C8.prototype.pipe.call(this,c,x),this.resume(),c};Bc.prototype._getNext=function(){if(this._currentStream=null,this._insideLoop){this._pendingNext=!0;return}this._insideLoop=!0;try{do this._pendingNext=!1,this._realGetNext();while(this._pendingNext)}finally{this._insideLoop=!1}};Bc.prototype._realGetNext=function(){var c=this._streams.shift();if(typeof c>"u"){this.end();return}if(typeof c!=="function"){this._pipeNext(c);return}var x=c;x(function(p){var $=Bc.isStreamLike(p);if($)p.on("data",this._checkDataSize.bind(this)),this._handleErrors(p);this._pipeNext(p)}.bind(this))};Bc.prototype._pipeNext=function(c){this._currentStream=c;var x=Bc.isStreamLike(c);if(x){c.on("end",this._getNext.bind(this)),c.pipe(this,{end:!1});return}var p=c;this.write(p),this._getNext()};Bc.prototype._handleErrors=function(c){var x=this;c.on("error",function(p){x._emitError(p)})};Bc.prototype.write=function(c){this.emit("data",c)};Bc.prototype.pause=function(){if(!this.pauseStreams)return;if(this.pauseStreams&&this._currentStream&&typeof this._currentStream.pause=="function")this._currentStream.pause();this.emit("pause")};Bc.prototype.resume=function(){if(!this._released)this._released=!0,this.writable=!0,this._getNext();if(this.pauseStreams&&this._currentStream&&typeof this._currentStream.resume=="function")this._currentStream.resume();this.emit("resume")};Bc.prototype.end=function(){this._reset(),this.emit("end")};Bc.prototype.destroy=function(){this._reset(),this.emit("close")};Bc.prototype._reset=function(){this.writable=!1,this._streams=[],this._currentStream=null};Bc.prototype._checkDataSize=function(){if(this._updateDataSize(),this.dataSize<=this.maxDataSize)return;var c="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this._emitError(Error(c))};Bc.prototype._updateDataSize=function(){this.dataSize=0;var c=this;if(this._streams.forEach(function(x){if(!x.dataSize)return;c.dataSize+=x.dataSize}),this._currentStream&&this._currentStream.dataSize)this.dataSize+=this._currentStream.dataSize};Bc.prototype._emitError=function(c){this._reset(),this.emit("error",c)}});var I8=P((wE,wB)=>{wB.exports={"application/1d-interleaved-parityfec":{source:"iana"},"application/3gpdash-qoe-report+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/3gpp-ims+xml":{source:"iana",compressible:!0},"application/3gpphal+json":{source:"iana",compressible:!0},"application/3gpphalforms+json":{source:"iana",compressible:!0},"application/a2l":{source:"iana"},"application/ace+cbor":{source:"iana"},"application/activemessage":{source:"iana"},"application/activity+json":{source:"iana",compressible:!0},"application/alto-costmap+json":{source:"iana",compressible:!0},"application/alto-costmapfilter+json":{source:"iana",compressible:!0},"application/alto-directory+json":{source:"iana",compressible:!0},"application/alto-endpointcost+json":{source:"iana",compressible:!0},"application/alto-endpointcostparams+json":{source:"iana",compressible:!0},"application/alto-endpointprop+json":{source:"iana",compressible:!0},"application/alto-endpointpropparams+json":{source:"iana",compressible:!0},"application/alto-error+json":{source:"iana",compressible:!0},"application/alto-networkmap+json":{source:"iana",compressible:!0},"application/alto-networkmapfilter+json":{source:"iana",compressible:!0},"application/alto-updatestreamcontrol+json":{source:"iana",compressible:!0},"application/alto-updatestreamparams+json":{source:"iana",compressible:!0},"application/aml":{source:"iana"},"application/andrew-inset":{source:"iana",extensions:["ez"]},"application/applefile":{source:"iana"},"application/applixware":{source:"apache",extensions:["aw"]},"application/at+jwt":{source:"iana"},"application/atf":{source:"iana"},"application/atfx":{source:"iana"},"application/atom+xml":{source:"iana",compressible:!0,extensions:["atom"]},"application/atomcat+xml":{source:"iana",compressible:!0,extensions:["atomcat"]},"application/atomdeleted+xml":{source:"iana",compressible:!0,extensions:["atomdeleted"]},"application/atomicmail":{source:"iana"},"application/atomsvc+xml":{source:"iana",compressible:!0,extensions:["atomsvc"]},"application/atsc-dwd+xml":{source:"iana",compressible:!0,extensions:["dwd"]},"application/atsc-dynamic-event-message":{source:"iana"},"application/atsc-held+xml":{source:"iana",compressible:!0,extensions:["held"]},"application/atsc-rdt+json":{source:"iana",compressible:!0},"application/atsc-rsat+xml":{source:"iana",compressible:!0,extensions:["rsat"]},"application/atxml":{source:"iana"},"application/auth-policy+xml":{source:"iana",compressible:!0},"application/bacnet-xdd+zip":{source:"iana",compressible:!1},"application/batch-smtp":{source:"iana"},"application/bdoc":{compressible:!1,extensions:["bdoc"]},"application/beep+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/calendar+json":{source:"iana",compressible:!0},"application/calendar+xml":{source:"iana",compressible:!0,extensions:["xcs"]},"application/call-completion":{source:"iana"},"application/cals-1840":{source:"iana"},"application/captive+json":{source:"iana",compressible:!0},"application/cbor":{source:"iana"},"application/cbor-seq":{source:"iana"},"application/cccex":{source:"iana"},"application/ccmp+xml":{source:"iana",compressible:!0},"application/ccxml+xml":{source:"iana",compressible:!0,extensions:["ccxml"]},"application/cdfx+xml":{source:"iana",compressible:!0,extensions:["cdfx"]},"application/cdmi-capability":{source:"iana",extensions:["cdmia"]},"application/cdmi-container":{source:"iana",extensions:["cdmic"]},"application/cdmi-domain":{source:"iana",extensions:["cdmid"]},"application/cdmi-object":{source:"iana",extensions:["cdmio"]},"application/cdmi-queue":{source:"iana",extensions:["cdmiq"]},"application/cdni":{source:"iana"},"application/cea":{source:"iana"},"application/cea-2018+xml":{source:"iana",compressible:!0},"application/cellml+xml":{source:"iana",compressible:!0},"application/cfw":{source:"iana"},"application/city+json":{source:"iana",compressible:!0},"application/clr":{source:"iana"},"application/clue+xml":{source:"iana",compressible:!0},"application/clue_info+xml":{source:"iana",compressible:!0},"application/cms":{source:"iana"},"application/cnrp+xml":{source:"iana",compressible:!0},"application/coap-group+json":{source:"iana",compressible:!0},"application/coap-payload":{source:"iana"},"application/commonground":{source:"iana"},"application/conference-info+xml":{source:"iana",compressible:!0},"application/cose":{source:"iana"},"application/cose-key":{source:"iana"},"application/cose-key-set":{source:"iana"},"application/cpl+xml":{source:"iana",compressible:!0,extensions:["cpl"]},"application/csrattrs":{source:"iana"},"application/csta+xml":{source:"iana",compressible:!0},"application/cstadata+xml":{source:"iana",compressible:!0},"application/csvm+json":{source:"iana",compressible:!0},"application/cu-seeme":{source:"apache",extensions:["cu"]},"application/cwt":{source:"iana"},"application/cybercash":{source:"iana"},"application/dart":{compressible:!0},"application/dash+xml":{source:"iana",compressible:!0,extensions:["mpd"]},"application/dash-patch+xml":{source:"iana",compressible:!0,extensions:["mpp"]},"application/dashdelta":{source:"iana"},"application/davmount+xml":{source:"iana",compressible:!0,extensions:["davmount"]},"application/dca-rft":{source:"iana"},"application/dcd":{source:"iana"},"application/dec-dx":{source:"iana"},"application/dialog-info+xml":{source:"iana",compressible:!0},"application/dicom":{source:"iana"},"application/dicom+json":{source:"iana",compressible:!0},"application/dicom+xml":{source:"iana",compressible:!0},"application/dii":{source:"iana"},"application/dit":{source:"iana"},"application/dns":{source:"iana"},"application/dns+json":{source:"iana",compressible:!0},"application/dns-message":{source:"iana"},"application/docbook+xml":{source:"apache",compressible:!0,extensions:["dbk"]},"application/dots+cbor":{source:"iana"},"application/dskpp+xml":{source:"iana",compressible:!0},"application/dssc+der":{source:"iana",extensions:["dssc"]},"application/dssc+xml":{source:"iana",compressible:!0,extensions:["xdssc"]},"application/dvcs":{source:"iana"},"application/ecmascript":{source:"iana",compressible:!0,extensions:["es","ecma"]},"application/edi-consent":{source:"iana"},"application/edi-x12":{source:"iana",compressible:!1},"application/edifact":{source:"iana",compressible:!1},"application/efi":{source:"iana"},"application/elm+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/elm+xml":{source:"iana",compressible:!0},"application/emergencycalldata.cap+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/emergencycalldata.comment+xml":{source:"iana",compressible:!0},"application/emergencycalldata.control+xml":{source:"iana",compressible:!0},"application/emergencycalldata.deviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.ecall.msd":{source:"iana"},"application/emergencycalldata.providerinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.serviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.subscriberinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.veds+xml":{source:"iana",compressible:!0},"application/emma+xml":{source:"iana",compressible:!0,extensions:["emma"]},"application/emotionml+xml":{source:"iana",compressible:!0,extensions:["emotionml"]},"application/encaprtp":{source:"iana"},"application/epp+xml":{source:"iana",compressible:!0},"application/epub+zip":{source:"iana",compressible:!1,extensions:["epub"]},"application/eshop":{source:"iana"},"application/exi":{source:"iana",extensions:["exi"]},"application/expect-ct-report+json":{source:"iana",compressible:!0},"application/express":{source:"iana",extensions:["exp"]},"application/fastinfoset":{source:"iana"},"application/fastsoap":{source:"iana"},"application/fdt+xml":{source:"iana",compressible:!0,extensions:["fdt"]},"application/fhir+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/fhir+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/fido.trusted-apps+json":{compressible:!0},"application/fits":{source:"iana"},"application/flexfec":{source:"iana"},"application/font-sfnt":{source:"iana"},"application/font-tdpfr":{source:"iana",extensions:["pfr"]},"application/font-woff":{source:"iana",compressible:!1},"application/framework-attributes+xml":{source:"iana",compressible:!0},"application/geo+json":{source:"iana",compressible:!0,extensions:["geojson"]},"application/geo+json-seq":{source:"iana"},"application/geopackage+sqlite3":{source:"iana"},"application/geoxacml+xml":{source:"iana",compressible:!0},"application/gltf-buffer":{source:"iana"},"application/gml+xml":{source:"iana",compressible:!0,extensions:["gml"]},"application/gpx+xml":{source:"apache",compressible:!0,extensions:["gpx"]},"application/gxf":{source:"apache",extensions:["gxf"]},"application/gzip":{source:"iana",compressible:!1,extensions:["gz"]},"application/h224":{source:"iana"},"application/held+xml":{source:"iana",compressible:!0},"application/hjson":{extensions:["hjson"]},"application/http":{source:"iana"},"application/hyperstudio":{source:"iana",extensions:["stk"]},"application/ibe-key-request+xml":{source:"iana",compressible:!0},"application/ibe-pkg-reply+xml":{source:"iana",compressible:!0},"application/ibe-pp-data":{source:"iana"},"application/iges":{source:"iana"},"application/im-iscomposing+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/index":{source:"iana"},"application/index.cmd":{source:"iana"},"application/index.obj":{source:"iana"},"application/index.response":{source:"iana"},"application/index.vnd":{source:"iana"},"application/inkml+xml":{source:"iana",compressible:!0,extensions:["ink","inkml"]},"application/iotp":{source:"iana"},"application/ipfix":{source:"iana",extensions:["ipfix"]},"application/ipp":{source:"iana"},"application/isup":{source:"iana"},"application/its+xml":{source:"iana",compressible:!0,extensions:["its"]},"application/java-archive":{source:"apache",compressible:!1,extensions:["jar","war","ear"]},"application/java-serialized-object":{source:"apache",compressible:!1,extensions:["ser"]},"application/java-vm":{source:"apache",compressible:!1,extensions:["class"]},"application/javascript":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["js","mjs"]},"application/jf2feed+json":{source:"iana",compressible:!0},"application/jose":{source:"iana"},"application/jose+json":{source:"iana",compressible:!0},"application/jrd+json":{source:"iana",compressible:!0},"application/jscalendar+json":{source:"iana",compressible:!0},"application/json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["json","map"]},"application/json-patch+json":{source:"iana",compressible:!0},"application/json-seq":{source:"iana"},"application/json5":{extensions:["json5"]},"application/jsonml+json":{source:"apache",compressible:!0,extensions:["jsonml"]},"application/jwk+json":{source:"iana",compressible:!0},"application/jwk-set+json":{source:"iana",compressible:!0},"application/jwt":{source:"iana"},"application/kpml-request+xml":{source:"iana",compressible:!0},"application/kpml-response+xml":{source:"iana",compressible:!0},"application/ld+json":{source:"iana",compressible:!0,extensions:["jsonld"]},"application/lgr+xml":{source:"iana",compressible:!0,extensions:["lgr"]},"application/link-format":{source:"iana"},"application/load-control+xml":{source:"iana",compressible:!0},"application/lost+xml":{source:"iana",compressible:!0,extensions:["lostxml"]},"application/lostsync+xml":{source:"iana",compressible:!0},"application/lpf+zip":{source:"iana",compressible:!1},"application/lxf":{source:"iana"},"application/mac-binhex40":{source:"iana",extensions:["hqx"]},"application/mac-compactpro":{source:"apache",extensions:["cpt"]},"application/macwriteii":{source:"iana"},"application/mads+xml":{source:"iana",compressible:!0,extensions:["mads"]},"application/manifest+json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["webmanifest"]},"application/marc":{source:"iana",extensions:["mrc"]},"application/marcxml+xml":{source:"iana",compressible:!0,extensions:["mrcx"]},"application/mathematica":{source:"iana",extensions:["ma","nb","mb"]},"application/mathml+xml":{source:"iana",compressible:!0,extensions:["mathml"]},"application/mathml-content+xml":{source:"iana",compressible:!0},"application/mathml-presentation+xml":{source:"iana",compressible:!0},"application/mbms-associated-procedure-description+xml":{source:"iana",compressible:!0},"application/mbms-deregister+xml":{source:"iana",compressible:!0},"application/mbms-envelope+xml":{source:"iana",compressible:!0},"application/mbms-msk+xml":{source:"iana",compressible:!0},"application/mbms-msk-response+xml":{source:"iana",compressible:!0},"application/mbms-protection-description+xml":{source:"iana",compressible:!0},"application/mbms-reception-report+xml":{source:"iana",compressible:!0},"application/mbms-register+xml":{source:"iana",compressible:!0},"application/mbms-register-response+xml":{source:"iana",compressible:!0},"application/mbms-schedule+xml":{source:"iana",compressible:!0},"application/mbms-user-service-description+xml":{source:"iana",compressible:!0},"application/mbox":{source:"iana",extensions:["mbox"]},"application/media-policy-dataset+xml":{source:"iana",compressible:!0,extensions:["mpf"]},"application/media_control+xml":{source:"iana",compressible:!0},"application/mediaservercontrol+xml":{source:"iana",compressible:!0,extensions:["mscml"]},"application/merge-patch+json":{source:"iana",compressible:!0},"application/metalink+xml":{source:"apache",compressible:!0,extensions:["metalink"]},"application/metalink4+xml":{source:"iana",compressible:!0,extensions:["meta4"]},"application/mets+xml":{source:"iana",compressible:!0,extensions:["mets"]},"application/mf4":{source:"iana"},"application/mikey":{source:"iana"},"application/mipc":{source:"iana"},"application/missing-blocks+cbor-seq":{source:"iana"},"application/mmt-aei+xml":{source:"iana",compressible:!0,extensions:["maei"]},"application/mmt-usd+xml":{source:"iana",compressible:!0,extensions:["musd"]},"application/mods+xml":{source:"iana",compressible:!0,extensions:["mods"]},"application/moss-keys":{source:"iana"},"application/moss-signature":{source:"iana"},"application/mosskey-data":{source:"iana"},"application/mosskey-request":{source:"iana"},"application/mp21":{source:"iana",extensions:["m21","mp21"]},"application/mp4":{source:"iana",extensions:["mp4s","m4p"]},"application/mpeg4-generic":{source:"iana"},"application/mpeg4-iod":{source:"iana"},"application/mpeg4-iod-xmt":{source:"iana"},"application/mrb-consumer+xml":{source:"iana",compressible:!0},"application/mrb-publish+xml":{source:"iana",compressible:!0},"application/msc-ivr+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msc-mixer+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msword":{source:"iana",compressible:!1,extensions:["doc","dot"]},"application/mud+json":{source:"iana",compressible:!0},"application/multipart-core":{source:"iana"},"application/mxf":{source:"iana",extensions:["mxf"]},"application/n-quads":{source:"iana",extensions:["nq"]},"application/n-triples":{source:"iana",extensions:["nt"]},"application/nasdata":{source:"iana"},"application/news-checkgroups":{source:"iana",charset:"US-ASCII"},"application/news-groupinfo":{source:"iana",charset:"US-ASCII"},"application/news-transmission":{source:"iana"},"application/nlsml+xml":{source:"iana",compressible:!0},"application/node":{source:"iana",extensions:["cjs"]},"application/nss":{source:"iana"},"application/oauth-authz-req+jwt":{source:"iana"},"application/oblivious-dns-message":{source:"iana"},"application/ocsp-request":{source:"iana"},"application/ocsp-response":{source:"iana"},"application/octet-stream":{source:"iana",compressible:!1,extensions:["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{source:"iana",extensions:["oda"]},"application/odm+xml":{source:"iana",compressible:!0},"application/odx":{source:"iana"},"application/oebps-package+xml":{source:"iana",compressible:!0,extensions:["opf"]},"application/ogg":{source:"iana",compressible:!1,extensions:["ogx"]},"application/omdoc+xml":{source:"apache",compressible:!0,extensions:["omdoc"]},"application/onenote":{source:"apache",extensions:["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{source:"iana",compressible:!0},"application/oscore":{source:"iana"},"application/oxps":{source:"iana",extensions:["oxps"]},"application/p21":{source:"iana"},"application/p21+zip":{source:"iana",compressible:!1},"application/p2p-overlay+xml":{source:"iana",compressible:!0,extensions:["relo"]},"application/parityfec":{source:"iana"},"application/passport":{source:"iana"},"application/patch-ops-error+xml":{source:"iana",compressible:!0,extensions:["xer"]},"application/pdf":{source:"iana",compressible:!1,extensions:["pdf"]},"application/pdx":{source:"iana"},"application/pem-certificate-chain":{source:"iana"},"application/pgp-encrypted":{source:"iana",compressible:!1,extensions:["pgp"]},"application/pgp-keys":{source:"iana",extensions:["asc"]},"application/pgp-signature":{source:"iana",extensions:["asc","sig"]},"application/pics-rules":{source:"apache",extensions:["prf"]},"application/pidf+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pidf-diff+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pkcs10":{source:"iana",extensions:["p10"]},"application/pkcs12":{source:"iana"},"application/pkcs7-mime":{source:"iana",extensions:["p7m","p7c"]},"application/pkcs7-signature":{source:"iana",extensions:["p7s"]},"application/pkcs8":{source:"iana",extensions:["p8"]},"application/pkcs8-encrypted":{source:"iana"},"application/pkix-attr-cert":{source:"iana",extensions:["ac"]},"application/pkix-cert":{source:"iana",extensions:["cer"]},"application/pkix-crl":{source:"iana",extensions:["crl"]},"application/pkix-pkipath":{source:"iana",extensions:["pkipath"]},"application/pkixcmp":{source:"iana",extensions:["pki"]},"application/pls+xml":{source:"iana",compressible:!0,extensions:["pls"]},"application/poc-settings+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/postscript":{source:"iana",compressible:!0,extensions:["ai","eps","ps"]},"application/ppsp-tracker+json":{source:"iana",compressible:!0},"application/problem+json":{source:"iana",compressible:!0},"application/problem+xml":{source:"iana",compressible:!0},"application/provenance+xml":{source:"iana",compressible:!0,extensions:["provx"]},"application/prs.alvestrand.titrax-sheet":{source:"iana"},"application/prs.cww":{source:"iana",extensions:["cww"]},"application/prs.cyn":{source:"iana",charset:"7-BIT"},"application/prs.hpub+zip":{source:"iana",compressible:!1},"application/prs.nprend":{source:"iana"},"application/prs.plucker":{source:"iana"},"application/prs.rdf-xml-crypt":{source:"iana"},"application/prs.xsf+xml":{source:"iana",compressible:!0},"application/pskc+xml":{source:"iana",compressible:!0,extensions:["pskcxml"]},"application/pvd+json":{source:"iana",compressible:!0},"application/qsig":{source:"iana"},"application/raml+yaml":{compressible:!0,extensions:["raml"]},"application/raptorfec":{source:"iana"},"application/rdap+json":{source:"iana",compressible:!0},"application/rdf+xml":{source:"iana",compressible:!0,extensions:["rdf","owl"]},"application/reginfo+xml":{source:"iana",compressible:!0,extensions:["rif"]},"application/relax-ng-compact-syntax":{source:"iana",extensions:["rnc"]},"application/remote-printing":{source:"iana"},"application/reputon+json":{source:"iana",compressible:!0},"application/resource-lists+xml":{source:"iana",compressible:!0,extensions:["rl"]},"application/resource-lists-diff+xml":{source:"iana",compressible:!0,extensions:["rld"]},"application/rfc+xml":{source:"iana",compressible:!0},"application/riscos":{source:"iana"},"application/rlmi+xml":{source:"iana",compressible:!0},"application/rls-services+xml":{source:"iana",compressible:!0,extensions:["rs"]},"application/route-apd+xml":{source:"iana",compressible:!0,extensions:["rapd"]},"application/route-s-tsid+xml":{source:"iana",compressible:!0,extensions:["sls"]},"application/route-usd+xml":{source:"iana",compressible:!0,extensions:["rusd"]},"application/rpki-ghostbusters":{source:"iana",extensions:["gbr"]},"application/rpki-manifest":{source:"iana",extensions:["mft"]},"application/rpki-publication":{source:"iana"},"application/rpki-roa":{source:"iana",extensions:["roa"]},"application/rpki-updown":{source:"iana"},"application/rsd+xml":{source:"apache",compressible:!0,extensions:["rsd"]},"application/rss+xml":{source:"apache",compressible:!0,extensions:["rss"]},"application/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"application/rtploopback":{source:"iana"},"application/rtx":{source:"iana"},"application/samlassertion+xml":{source:"iana",compressible:!0},"application/samlmetadata+xml":{source:"iana",compressible:!0},"application/sarif+json":{source:"iana",compressible:!0},"application/sarif-external-properties+json":{source:"iana",compressible:!0},"application/sbe":{source:"iana"},"application/sbml+xml":{source:"iana",compressible:!0,extensions:["sbml"]},"application/scaip+xml":{source:"iana",compressible:!0},"application/scim+json":{source:"iana",compressible:!0},"application/scvp-cv-request":{source:"iana",extensions:["scq"]},"application/scvp-cv-response":{source:"iana",extensions:["scs"]},"application/scvp-vp-request":{source:"iana",extensions:["spq"]},"application/scvp-vp-response":{source:"iana",extensions:["spp"]},"application/sdp":{source:"iana",extensions:["sdp"]},"application/secevent+jwt":{source:"iana"},"application/senml+cbor":{source:"iana"},"application/senml+json":{source:"iana",compressible:!0},"application/senml+xml":{source:"iana",compressible:!0,extensions:["senmlx"]},"application/senml-etch+cbor":{source:"iana"},"application/senml-etch+json":{source:"iana",compressible:!0},"application/senml-exi":{source:"iana"},"application/sensml+cbor":{source:"iana"},"application/sensml+json":{source:"iana",compressible:!0},"application/sensml+xml":{source:"iana",compressible:!0,extensions:["sensmlx"]},"application/sensml-exi":{source:"iana"},"application/sep+xml":{source:"iana",compressible:!0},"application/sep-exi":{source:"iana"},"application/session-info":{source:"iana"},"application/set-payment":{source:"iana"},"application/set-payment-initiation":{source:"iana",extensions:["setpay"]},"application/set-registration":{source:"iana"},"application/set-registration-initiation":{source:"iana",extensions:["setreg"]},"application/sgml":{source:"iana"},"application/sgml-open-catalog":{source:"iana"},"application/shf+xml":{source:"iana",compressible:!0,extensions:["shf"]},"application/sieve":{source:"iana",extensions:["siv","sieve"]},"application/simple-filter+xml":{source:"iana",compressible:!0},"application/simple-message-summary":{source:"iana"},"application/simplesymbolcontainer":{source:"iana"},"application/sipc":{source:"iana"},"application/slate":{source:"iana"},"application/smil":{source:"iana"},"application/smil+xml":{source:"iana",compressible:!0,extensions:["smi","smil"]},"application/smpte336m":{source:"iana"},"application/soap+fastinfoset":{source:"iana"},"application/soap+xml":{source:"iana",compressible:!0},"application/sparql-query":{source:"iana",extensions:["rq"]},"application/sparql-results+xml":{source:"iana",compressible:!0,extensions:["srx"]},"application/spdx+json":{source:"iana",compressible:!0},"application/spirits-event+xml":{source:"iana",compressible:!0},"application/sql":{source:"iana"},"application/srgs":{source:"iana",extensions:["gram"]},"application/srgs+xml":{source:"iana",compressible:!0,extensions:["grxml"]},"application/sru+xml":{source:"iana",compressible:!0,extensions:["sru"]},"application/ssdl+xml":{source:"apache",compressible:!0,extensions:["ssdl"]},"application/ssml+xml":{source:"iana",compressible:!0,extensions:["ssml"]},"application/stix+json":{source:"iana",compressible:!0},"application/swid+xml":{source:"iana",compressible:!0,extensions:["swidtag"]},"application/tamp-apex-update":{source:"iana"},"application/tamp-apex-update-confirm":{source:"iana"},"application/tamp-community-update":{source:"iana"},"application/tamp-community-update-confirm":{source:"iana"},"application/tamp-error":{source:"iana"},"application/tamp-sequence-adjust":{source:"iana"},"application/tamp-sequence-adjust-confirm":{source:"iana"},"application/tamp-status-query":{source:"iana"},"application/tamp-status-response":{source:"iana"},"application/tamp-update":{source:"iana"},"application/tamp-update-confirm":{source:"iana"},"application/tar":{compressible:!0},"application/taxii+json":{source:"iana",compressible:!0},"application/td+json":{source:"iana",compressible:!0},"application/tei+xml":{source:"iana",compressible:!0,extensions:["tei","teicorpus"]},"application/tetra_isi":{source:"iana"},"application/thraud+xml":{source:"iana",compressible:!0,extensions:["tfi"]},"application/timestamp-query":{source:"iana"},"application/timestamp-reply":{source:"iana"},"application/timestamped-data":{source:"iana",extensions:["tsd"]},"application/tlsrpt+gzip":{source:"iana"},"application/tlsrpt+json":{source:"iana",compressible:!0},"application/tnauthlist":{source:"iana"},"application/token-introspection+jwt":{source:"iana"},"application/toml":{compressible:!0,extensions:["toml"]},"application/trickle-ice-sdpfrag":{source:"iana"},"application/trig":{source:"iana",extensions:["trig"]},"application/ttml+xml":{source:"iana",compressible:!0,extensions:["ttml"]},"application/tve-trigger":{source:"iana"},"application/tzif":{source:"iana"},"application/tzif-leap":{source:"iana"},"application/ubjson":{compressible:!1,extensions:["ubj"]},"application/ulpfec":{source:"iana"},"application/urc-grpsheet+xml":{source:"iana",compressible:!0},"application/urc-ressheet+xml":{source:"iana",compressible:!0,extensions:["rsheet"]},"application/urc-targetdesc+xml":{source:"iana",compressible:!0,extensions:["td"]},"application/urc-uisocketdesc+xml":{source:"iana",compressible:!0},"application/vcard+json":{source:"iana",compressible:!0},"application/vcard+xml":{source:"iana",compressible:!0},"application/vemmi":{source:"iana"},"application/vividence.scriptfile":{source:"apache"},"application/vnd.1000minds.decision-model+xml":{source:"iana",compressible:!0,extensions:["1km"]},"application/vnd.3gpp-prose+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc3ch+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-v2x-local-service-information":{source:"iana"},"application/vnd.3gpp.5gnas":{source:"iana"},"application/vnd.3gpp.access-transfer-events+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.bsf+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gmop+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gtpc":{source:"iana"},"application/vnd.3gpp.interworking-data":{source:"iana"},"application/vnd.3gpp.lpp":{source:"iana"},"application/vnd.3gpp.mc-signalling-ear":{source:"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-payload":{source:"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-signalling":{source:"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-floor-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-signed+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-init-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-transmission-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mid-call+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ngap":{source:"iana"},"application/vnd.3gpp.pfcp":{source:"iana"},"application/vnd.3gpp.pic-bw-large":{source:"iana",extensions:["plb"]},"application/vnd.3gpp.pic-bw-small":{source:"iana",extensions:["psb"]},"application/vnd.3gpp.pic-bw-var":{source:"iana",extensions:["pvb"]},"application/vnd.3gpp.s1ap":{source:"iana"},"application/vnd.3gpp.sms":{source:"iana"},"application/vnd.3gpp.sms+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-ext+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.state-and-event-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ussd+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.bcmcsinfo+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.sms":{source:"iana"},"application/vnd.3gpp2.tcap":{source:"iana",extensions:["tcap"]},"application/vnd.3lightssoftware.imagescal":{source:"iana"},"application/vnd.3m.post-it-notes":{source:"iana",extensions:["pwn"]},"application/vnd.accpac.simply.aso":{source:"iana",extensions:["aso"]},"application/vnd.accpac.simply.imp":{source:"iana",extensions:["imp"]},"application/vnd.acucobol":{source:"iana",extensions:["acu"]},"application/vnd.acucorp":{source:"iana",extensions:["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{source:"apache",compressible:!1,extensions:["air"]},"application/vnd.adobe.flash.movie":{source:"iana"},"application/vnd.adobe.formscentral.fcdt":{source:"iana",extensions:["fcdt"]},"application/vnd.adobe.fxp":{source:"iana",extensions:["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{source:"iana"},"application/vnd.adobe.xdp+xml":{source:"iana",compressible:!0,extensions:["xdp"]},"application/vnd.adobe.xfdf":{source:"iana",extensions:["xfdf"]},"application/vnd.aether.imp":{source:"iana"},"application/vnd.afpc.afplinedata":{source:"iana"},"application/vnd.afpc.afplinedata-pagedef":{source:"iana"},"application/vnd.afpc.cmoca-cmresource":{source:"iana"},"application/vnd.afpc.foca-charset":{source:"iana"},"application/vnd.afpc.foca-codedfont":{source:"iana"},"application/vnd.afpc.foca-codepage":{source:"iana"},"application/vnd.afpc.modca":{source:"iana"},"application/vnd.afpc.modca-cmtable":{source:"iana"},"application/vnd.afpc.modca-formdef":{source:"iana"},"application/vnd.afpc.modca-mediummap":{source:"iana"},"application/vnd.afpc.modca-objectcontainer":{source:"iana"},"application/vnd.afpc.modca-overlay":{source:"iana"},"application/vnd.afpc.modca-pagesegment":{source:"iana"},"application/vnd.age":{source:"iana",extensions:["age"]},"application/vnd.ah-barcode":{source:"iana"},"application/vnd.ahead.space":{source:"iana",extensions:["ahead"]},"application/vnd.airzip.filesecure.azf":{source:"iana",extensions:["azf"]},"application/vnd.airzip.filesecure.azs":{source:"iana",extensions:["azs"]},"application/vnd.amadeus+json":{source:"iana",compressible:!0},"application/vnd.amazon.ebook":{source:"apache",extensions:["azw"]},"application/vnd.amazon.mobi8-ebook":{source:"iana"},"application/vnd.americandynamics.acc":{source:"iana",extensions:["acc"]},"application/vnd.amiga.ami":{source:"iana",extensions:["ami"]},"application/vnd.amundsen.maze+xml":{source:"iana",compressible:!0},"application/vnd.android.ota":{source:"iana"},"application/vnd.android.package-archive":{source:"apache",compressible:!1,extensions:["apk"]},"application/vnd.anki":{source:"iana"},"application/vnd.anser-web-certificate-issue-initiation":{source:"iana",extensions:["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{source:"apache",extensions:["fti"]},"application/vnd.antix.game-component":{source:"iana",extensions:["atx"]},"application/vnd.apache.arrow.file":{source:"iana"},"application/vnd.apache.arrow.stream":{source:"iana"},"application/vnd.apache.thrift.binary":{source:"iana"},"application/vnd.apache.thrift.compact":{source:"iana"},"application/vnd.apache.thrift.json":{source:"iana"},"application/vnd.api+json":{source:"iana",compressible:!0},"application/vnd.aplextor.warrp+json":{source:"iana",compressible:!0},"application/vnd.apothekende.reservation+json":{source:"iana",compressible:!0},"application/vnd.apple.installer+xml":{source:"iana",compressible:!0,extensions:["mpkg"]},"application/vnd.apple.keynote":{source:"iana",extensions:["key"]},"application/vnd.apple.mpegurl":{source:"iana",extensions:["m3u8"]},"application/vnd.apple.numbers":{source:"iana",extensions:["numbers"]},"application/vnd.apple.pages":{source:"iana",extensions:["pages"]},"application/vnd.apple.pkpass":{compressible:!1,extensions:["pkpass"]},"application/vnd.arastra.swi":{source:"iana"},"application/vnd.aristanetworks.swi":{source:"iana",extensions:["swi"]},"application/vnd.artisan+json":{source:"iana",compressible:!0},"application/vnd.artsquare":{source:"iana"},"application/vnd.astraea-software.iota":{source:"iana",extensions:["iota"]},"application/vnd.audiograph":{source:"iana",extensions:["aep"]},"application/vnd.autopackage":{source:"iana"},"application/vnd.avalon+json":{source:"iana",compressible:!0},"application/vnd.avistar+xml":{source:"iana",compressible:!0},"application/vnd.balsamiq.bmml+xml":{source:"iana",compressible:!0,extensions:["bmml"]},"application/vnd.balsamiq.bmpr":{source:"iana"},"application/vnd.banana-accounting":{source:"iana"},"application/vnd.bbf.usp.error":{source:"iana"},"application/vnd.bbf.usp.msg":{source:"iana"},"application/vnd.bbf.usp.msg+json":{source:"iana",compressible:!0},"application/vnd.bekitzur-stech+json":{source:"iana",compressible:!0},"application/vnd.bint.med-content":{source:"iana"},"application/vnd.biopax.rdf+xml":{source:"iana",compressible:!0},"application/vnd.blink-idb-value-wrapper":{source:"iana"},"application/vnd.blueice.multipass":{source:"iana",extensions:["mpm"]},"application/vnd.bluetooth.ep.oob":{source:"iana"},"application/vnd.bluetooth.le.oob":{source:"iana"},"application/vnd.bmi":{source:"iana",extensions:["bmi"]},"application/vnd.bpf":{source:"iana"},"application/vnd.bpf3":{source:"iana"},"application/vnd.businessobjects":{source:"iana",extensions:["rep"]},"application/vnd.byu.uapi+json":{source:"iana",compressible:!0},"application/vnd.cab-jscript":{source:"iana"},"application/vnd.canon-cpdl":{source:"iana"},"application/vnd.canon-lips":{source:"iana"},"application/vnd.capasystems-pg+json":{source:"iana",compressible:!0},"application/vnd.cendio.thinlinc.clientconf":{source:"iana"},"application/vnd.century-systems.tcp_stream":{source:"iana"},"application/vnd.chemdraw+xml":{source:"iana",compressible:!0,extensions:["cdxml"]},"application/vnd.chess-pgn":{source:"iana"},"application/vnd.chipnuts.karaoke-mmd":{source:"iana",extensions:["mmd"]},"application/vnd.ciedi":{source:"iana"},"application/vnd.cinderella":{source:"iana",extensions:["cdy"]},"application/vnd.cirpack.isdn-ext":{source:"iana"},"application/vnd.citationstyles.style+xml":{source:"iana",compressible:!0,extensions:["csl"]},"application/vnd.claymore":{source:"iana",extensions:["cla"]},"application/vnd.cloanto.rp9":{source:"iana",extensions:["rp9"]},"application/vnd.clonk.c4group":{source:"iana",extensions:["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{source:"iana",extensions:["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{source:"iana",extensions:["c11amz"]},"application/vnd.coffeescript":{source:"iana"},"application/vnd.collabio.xodocuments.document":{source:"iana"},"application/vnd.collabio.xodocuments.document-template":{source:"iana"},"application/vnd.collabio.xodocuments.presentation":{source:"iana"},"application/vnd.collabio.xodocuments.presentation-template":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{source:"iana"},"application/vnd.collection+json":{source:"iana",compressible:!0},"application/vnd.collection.doc+json":{source:"iana",compressible:!0},"application/vnd.collection.next+json":{source:"iana",compressible:!0},"application/vnd.comicbook+zip":{source:"iana",compressible:!1},"application/vnd.comicbook-rar":{source:"iana"},"application/vnd.commerce-battelle":{source:"iana"},"application/vnd.commonspace":{source:"iana",extensions:["csp"]},"application/vnd.contact.cmsg":{source:"iana",extensions:["cdbcmsg"]},"application/vnd.coreos.ignition+json":{source:"iana",compressible:!0},"application/vnd.cosmocaller":{source:"iana",extensions:["cmc"]},"application/vnd.crick.clicker":{source:"iana",extensions:["clkx"]},"application/vnd.crick.clicker.keyboard":{source:"iana",extensions:["clkk"]},"application/vnd.crick.clicker.palette":{source:"iana",extensions:["clkp"]},"application/vnd.crick.clicker.template":{source:"iana",extensions:["clkt"]},"application/vnd.crick.clicker.wordbank":{source:"iana",extensions:["clkw"]},"application/vnd.criticaltools.wbs+xml":{source:"iana",compressible:!0,extensions:["wbs"]},"application/vnd.cryptii.pipe+json":{source:"iana",compressible:!0},"application/vnd.crypto-shade-file":{source:"iana"},"application/vnd.cryptomator.encrypted":{source:"iana"},"application/vnd.cryptomator.vault":{source:"iana"},"application/vnd.ctc-posml":{source:"iana",extensions:["pml"]},"application/vnd.ctct.ws+xml":{source:"iana",compressible:!0},"application/vnd.cups-pdf":{source:"iana"},"application/vnd.cups-postscript":{source:"iana"},"application/vnd.cups-ppd":{source:"iana",extensions:["ppd"]},"application/vnd.cups-raster":{source:"iana"},"application/vnd.cups-raw":{source:"iana"},"application/vnd.curl":{source:"iana"},"application/vnd.curl.car":{source:"apache",extensions:["car"]},"application/vnd.curl.pcurl":{source:"apache",extensions:["pcurl"]},"application/vnd.cyan.dean.root+xml":{source:"iana",compressible:!0},"application/vnd.cybank":{source:"iana"},"application/vnd.cyclonedx+json":{source:"iana",compressible:!0},"application/vnd.cyclonedx+xml":{source:"iana",compressible:!0},"application/vnd.d2l.coursepackage1p0+zip":{source:"iana",compressible:!1},"application/vnd.d3m-dataset":{source:"iana"},"application/vnd.d3m-problem":{source:"iana"},"application/vnd.dart":{source:"iana",compressible:!0,extensions:["dart"]},"application/vnd.data-vision.rdz":{source:"iana",extensions:["rdz"]},"application/vnd.datapackage+json":{source:"iana",compressible:!0},"application/vnd.dataresource+json":{source:"iana",compressible:!0},"application/vnd.dbf":{source:"iana",extensions:["dbf"]},"application/vnd.debian.binary-package":{source:"iana"},"application/vnd.dece.data":{source:"iana",extensions:["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{source:"iana",compressible:!0,extensions:["uvt","uvvt"]},"application/vnd.dece.unspecified":{source:"iana",extensions:["uvx","uvvx"]},"application/vnd.dece.zip":{source:"iana",extensions:["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{source:"iana",extensions:["fe_launch"]},"application/vnd.desmume.movie":{source:"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{source:"iana"},"application/vnd.dm.delegation+xml":{source:"iana",compressible:!0},"application/vnd.dna":{source:"iana",extensions:["dna"]},"application/vnd.document+json":{source:"iana",compressible:!0},"application/vnd.dolby.mlp":{source:"apache",extensions:["mlp"]},"application/vnd.dolby.mobile.1":{source:"iana"},"application/vnd.dolby.mobile.2":{source:"iana"},"application/vnd.doremir.scorecloud-binary-document":{source:"iana"},"application/vnd.dpgraph":{source:"iana",extensions:["dpg"]},"application/vnd.dreamfactory":{source:"iana",extensions:["dfac"]},"application/vnd.drive+json":{source:"iana",compressible:!0},"application/vnd.ds-keypoint":{source:"apache",extensions:["kpxx"]},"application/vnd.dtg.local":{source:"iana"},"application/vnd.dtg.local.flash":{source:"iana"},"application/vnd.dtg.local.html":{source:"iana"},"application/vnd.dvb.ait":{source:"iana",extensions:["ait"]},"application/vnd.dvb.dvbisl+xml":{source:"iana",compressible:!0},"application/vnd.dvb.dvbj":{source:"iana"},"application/vnd.dvb.esgcontainer":{source:"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess2":{source:"iana"},"application/vnd.dvb.ipdcesgpdd":{source:"iana"},"application/vnd.dvb.ipdcroaming":{source:"iana"},"application/vnd.dvb.iptv.alfec-base":{source:"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{source:"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-container+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-generic+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-msglist+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-request+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-response+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-init+xml":{source:"iana",compressible:!0},"application/vnd.dvb.pfr":{source:"iana"},"application/vnd.dvb.service":{source:"iana",extensions:["svc"]},"application/vnd.dxr":{source:"iana"},"application/vnd.dynageo":{source:"iana",extensions:["geo"]},"application/vnd.dzr":{source:"iana"},"application/vnd.easykaraoke.cdgdownload":{source:"iana"},"application/vnd.ecdis-update":{source:"iana"},"application/vnd.ecip.rlp":{source:"iana"},"application/vnd.eclipse.ditto+json":{source:"iana",compressible:!0},"application/vnd.ecowin.chart":{source:"iana",extensions:["mag"]},"application/vnd.ecowin.filerequest":{source:"iana"},"application/vnd.ecowin.fileupdate":{source:"iana"},"application/vnd.ecowin.series":{source:"iana"},"application/vnd.ecowin.seriesrequest":{source:"iana"},"application/vnd.ecowin.seriesupdate":{source:"iana"},"application/vnd.efi.img":{source:"iana"},"application/vnd.efi.iso":{source:"iana"},"application/vnd.emclient.accessrequest+xml":{source:"iana",compressible:!0},"application/vnd.enliven":{source:"iana",extensions:["nml"]},"application/vnd.enphase.envoy":{source:"iana"},"application/vnd.eprints.data+xml":{source:"iana",compressible:!0},"application/vnd.epson.esf":{source:"iana",extensions:["esf"]},"application/vnd.epson.msf":{source:"iana",extensions:["msf"]},"application/vnd.epson.quickanime":{source:"iana",extensions:["qam"]},"application/vnd.epson.salt":{source:"iana",extensions:["slt"]},"application/vnd.epson.ssf":{source:"iana",extensions:["ssf"]},"application/vnd.ericsson.quickcall":{source:"iana"},"application/vnd.espass-espass+zip":{source:"iana",compressible:!1},"application/vnd.eszigno3+xml":{source:"iana",compressible:!0,extensions:["es3","et3"]},"application/vnd.etsi.aoc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.asic-e+zip":{source:"iana",compressible:!1},"application/vnd.etsi.asic-s+zip":{source:"iana",compressible:!1},"application/vnd.etsi.cug+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvcommand+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-bc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-cod+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-npvr+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvservice+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsync+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvueprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mcid+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mheg5":{source:"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{source:"iana",compressible:!0},"application/vnd.etsi.pstn+xml":{source:"iana",compressible:!0},"application/vnd.etsi.sci+xml":{source:"iana",compressible:!0},"application/vnd.etsi.simservs+xml":{source:"iana",compressible:!0},"application/vnd.etsi.timestamp-token":{source:"iana"},"application/vnd.etsi.tsl+xml":{source:"iana",compressible:!0},"application/vnd.etsi.tsl.der":{source:"iana"},"application/vnd.eu.kasparian.car+json":{source:"iana",compressible:!0},"application/vnd.eudora.data":{source:"iana"},"application/vnd.evolv.ecig.profile":{source:"iana"},"application/vnd.evolv.ecig.settings":{source:"iana"},"application/vnd.evolv.ecig.theme":{source:"iana"},"application/vnd.exstream-empower+zip":{source:"iana",compressible:!1},"application/vnd.exstream-package":{source:"iana"},"application/vnd.ezpix-album":{source:"iana",extensions:["ez2"]},"application/vnd.ezpix-package":{source:"iana",extensions:["ez3"]},"application/vnd.f-secure.mobile":{source:"iana"},"application/vnd.familysearch.gedcom+zip":{source:"iana",compressible:!1},"application/vnd.fastcopy-disk-image":{source:"iana"},"application/vnd.fdf":{source:"iana",extensions:["fdf"]},"application/vnd.fdsn.mseed":{source:"iana",extensions:["mseed"]},"application/vnd.fdsn.seed":{source:"iana",extensions:["seed","dataless"]},"application/vnd.ffsns":{source:"iana"},"application/vnd.ficlab.flb+zip":{source:"iana",compressible:!1},"application/vnd.filmit.zfc":{source:"iana"},"application/vnd.fints":{source:"iana"},"application/vnd.firemonkeys.cloudcell":{source:"iana"},"application/vnd.flographit":{source:"iana",extensions:["gph"]},"application/vnd.fluxtime.clip":{source:"iana",extensions:["ftc"]},"application/vnd.font-fontforge-sfd":{source:"iana"},"application/vnd.framemaker":{source:"iana",extensions:["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{source:"iana",extensions:["fnc"]},"application/vnd.frogans.ltf":{source:"iana",extensions:["ltf"]},"application/vnd.fsc.weblaunch":{source:"iana",extensions:["fsc"]},"application/vnd.fujifilm.fb.docuworks":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.container":{source:"iana"},"application/vnd.fujifilm.fb.jfi+xml":{source:"iana",compressible:!0},"application/vnd.fujitsu.oasys":{source:"iana",extensions:["oas"]},"application/vnd.fujitsu.oasys2":{source:"iana",extensions:["oa2"]},"application/vnd.fujitsu.oasys3":{source:"iana",extensions:["oa3"]},"application/vnd.fujitsu.oasysgp":{source:"iana",extensions:["fg5"]},"application/vnd.fujitsu.oasysprs":{source:"iana",extensions:["bh2"]},"application/vnd.fujixerox.art-ex":{source:"iana"},"application/vnd.fujixerox.art4":{source:"iana"},"application/vnd.fujixerox.ddd":{source:"iana",extensions:["ddd"]},"application/vnd.fujixerox.docuworks":{source:"iana",extensions:["xdw"]},"application/vnd.fujixerox.docuworks.binder":{source:"iana",extensions:["xbd"]},"application/vnd.fujixerox.docuworks.container":{source:"iana"},"application/vnd.fujixerox.hbpl":{source:"iana"},"application/vnd.fut-misnet":{source:"iana"},"application/vnd.futoin+cbor":{source:"iana"},"application/vnd.futoin+json":{source:"iana",compressible:!0},"application/vnd.fuzzysheet":{source:"iana",extensions:["fzs"]},"application/vnd.genomatix.tuxedo":{source:"iana",extensions:["txd"]},"application/vnd.gentics.grd+json":{source:"iana",compressible:!0},"application/vnd.geo+json":{source:"iana",compressible:!0},"application/vnd.geocube+xml":{source:"iana",compressible:!0},"application/vnd.geogebra.file":{source:"iana",extensions:["ggb"]},"application/vnd.geogebra.slides":{source:"iana"},"application/vnd.geogebra.tool":{source:"iana",extensions:["ggt"]},"application/vnd.geometry-explorer":{source:"iana",extensions:["gex","gre"]},"application/vnd.geonext":{source:"iana",extensions:["gxt"]},"application/vnd.geoplan":{source:"iana",extensions:["g2w"]},"application/vnd.geospace":{source:"iana",extensions:["g3w"]},"application/vnd.gerber":{source:"iana"},"application/vnd.globalplatform.card-content-mgt":{source:"iana"},"application/vnd.globalplatform.card-content-mgt-response":{source:"iana"},"application/vnd.gmx":{source:"iana",extensions:["gmx"]},"application/vnd.google-apps.document":{compressible:!1,extensions:["gdoc"]},"application/vnd.google-apps.presentation":{compressible:!1,extensions:["gslides"]},"application/vnd.google-apps.spreadsheet":{compressible:!1,extensions:["gsheet"]},"application/vnd.google-earth.kml+xml":{source:"iana",compressible:!0,extensions:["kml"]},"application/vnd.google-earth.kmz":{source:"iana",compressible:!1,extensions:["kmz"]},"application/vnd.gov.sk.e-form+xml":{source:"iana",compressible:!0},"application/vnd.gov.sk.e-form+zip":{source:"iana",compressible:!1},"application/vnd.gov.sk.xmldatacontainer+xml":{source:"iana",compressible:!0},"application/vnd.grafeq":{source:"iana",extensions:["gqf","gqs"]},"application/vnd.gridmp":{source:"iana"},"application/vnd.groove-account":{source:"iana",extensions:["gac"]},"application/vnd.groove-help":{source:"iana",extensions:["ghf"]},"application/vnd.groove-identity-message":{source:"iana",extensions:["gim"]},"application/vnd.groove-injector":{source:"iana",extensions:["grv"]},"application/vnd.groove-tool-message":{source:"iana",extensions:["gtm"]},"application/vnd.groove-tool-template":{source:"iana",extensions:["tpl"]},"application/vnd.groove-vcard":{source:"iana",extensions:["vcg"]},"application/vnd.hal+json":{source:"iana",compressible:!0},"application/vnd.hal+xml":{source:"iana",compressible:!0,extensions:["hal"]},"application/vnd.handheld-entertainment+xml":{source:"iana",compressible:!0,extensions:["zmm"]},"application/vnd.hbci":{source:"iana",extensions:["hbci"]},"application/vnd.hc+json":{source:"iana",compressible:!0},"application/vnd.hcl-bireports":{source:"iana"},"application/vnd.hdt":{source:"iana"},"application/vnd.heroku+json":{source:"iana",compressible:!0},"application/vnd.hhe.lesson-player":{source:"iana",extensions:["les"]},"application/vnd.hl7cda+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hl7v2+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hp-hpgl":{source:"iana",extensions:["hpgl"]},"application/vnd.hp-hpid":{source:"iana",extensions:["hpid"]},"application/vnd.hp-hps":{source:"iana",extensions:["hps"]},"application/vnd.hp-jlyt":{source:"iana",extensions:["jlt"]},"application/vnd.hp-pcl":{source:"iana",extensions:["pcl"]},"application/vnd.hp-pclxl":{source:"iana",extensions:["pclxl"]},"application/vnd.httphone":{source:"iana"},"application/vnd.hydrostatix.sof-data":{source:"iana",extensions:["sfd-hdstx"]},"application/vnd.hyper+json":{source:"iana",compressible:!0},"application/vnd.hyper-item+json":{source:"iana",compressible:!0},"application/vnd.hyperdrive+json":{source:"iana",compressible:!0},"application/vnd.hzn-3d-crossword":{source:"iana"},"application/vnd.ibm.afplinedata":{source:"iana"},"application/vnd.ibm.electronic-media":{source:"iana"},"application/vnd.ibm.minipay":{source:"iana",extensions:["mpy"]},"application/vnd.ibm.modcap":{source:"iana",extensions:["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{source:"iana",extensions:["irm"]},"application/vnd.ibm.secure-container":{source:"iana",extensions:["sc"]},"application/vnd.iccprofile":{source:"iana",extensions:["icc","icm"]},"application/vnd.ieee.1905":{source:"iana"},"application/vnd.igloader":{source:"iana",extensions:["igl"]},"application/vnd.imagemeter.folder+zip":{source:"iana",compressible:!1},"application/vnd.imagemeter.image+zip":{source:"iana",compressible:!1},"application/vnd.immervision-ivp":{source:"iana",extensions:["ivp"]},"application/vnd.immervision-ivu":{source:"iana",extensions:["ivu"]},"application/vnd.ims.imsccv1p1":{source:"iana"},"application/vnd.ims.imsccv1p2":{source:"iana"},"application/vnd.ims.imsccv1p3":{source:"iana"},"application/vnd.ims.lis.v2.result+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy.id+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings.simple+json":{source:"iana",compressible:!0},"application/vnd.informedcontrol.rms+xml":{source:"iana",compressible:!0},"application/vnd.informix-visionary":{source:"iana"},"application/vnd.infotech.project":{source:"iana"},"application/vnd.infotech.project+xml":{source:"iana",compressible:!0},"application/vnd.innopath.wamp.notification":{source:"iana"},"application/vnd.insors.igm":{source:"iana",extensions:["igm"]},"application/vnd.intercon.formnet":{source:"iana",extensions:["xpw","xpx"]},"application/vnd.intergeo":{source:"iana",extensions:["i2g"]},"application/vnd.intertrust.digibox":{source:"iana"},"application/vnd.intertrust.nncp":{source:"iana"},"application/vnd.intu.qbo":{source:"iana",extensions:["qbo"]},"application/vnd.intu.qfx":{source:"iana",extensions:["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.conceptitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.knowledgeitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsmessage+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.packageitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.planningitem+xml":{source:"iana",compressible:!0},"application/vnd.ipunplugged.rcprofile":{source:"iana",extensions:["rcprofile"]},"application/vnd.irepository.package+xml":{source:"iana",compressible:!0,extensions:["irp"]},"application/vnd.is-xpr":{source:"iana",extensions:["xpr"]},"application/vnd.isac.fcs":{source:"iana",extensions:["fcs"]},"application/vnd.iso11783-10+zip":{source:"iana",compressible:!1},"application/vnd.jam":{source:"iana",extensions:["jam"]},"application/vnd.japannet-directory-service":{source:"iana"},"application/vnd.japannet-jpnstore-wakeup":{source:"iana"},"application/vnd.japannet-payment-wakeup":{source:"iana"},"application/vnd.japannet-registration":{source:"iana"},"application/vnd.japannet-registration-wakeup":{source:"iana"},"application/vnd.japannet-setstore-wakeup":{source:"iana"},"application/vnd.japannet-verification":{source:"iana"},"application/vnd.japannet-verification-wakeup":{source:"iana"},"application/vnd.jcp.javame.midlet-rms":{source:"iana",extensions:["rms"]},"application/vnd.jisp":{source:"iana",extensions:["jisp"]},"application/vnd.joost.joda-archive":{source:"iana",extensions:["joda"]},"application/vnd.jsk.isdn-ngn":{source:"iana"},"application/vnd.kahootz":{source:"iana",extensions:["ktz","ktr"]},"application/vnd.kde.karbon":{source:"iana",extensions:["karbon"]},"application/vnd.kde.kchart":{source:"iana",extensions:["chrt"]},"application/vnd.kde.kformula":{source:"iana",extensions:["kfo"]},"application/vnd.kde.kivio":{source:"iana",extensions:["flw"]},"application/vnd.kde.kontour":{source:"iana",extensions:["kon"]},"application/vnd.kde.kpresenter":{source:"iana",extensions:["kpr","kpt"]},"application/vnd.kde.kspread":{source:"iana",extensions:["ksp"]},"application/vnd.kde.kword":{source:"iana",extensions:["kwd","kwt"]},"application/vnd.kenameaapp":{source:"iana",extensions:["htke"]},"application/vnd.kidspiration":{source:"iana",extensions:["kia"]},"application/vnd.kinar":{source:"iana",extensions:["kne","knp"]},"application/vnd.koan":{source:"iana",extensions:["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{source:"iana",extensions:["sse"]},"application/vnd.las":{source:"iana"},"application/vnd.las.las+json":{source:"iana",compressible:!0},"application/vnd.las.las+xml":{source:"iana",compressible:!0,extensions:["lasxml"]},"application/vnd.laszip":{source:"iana"},"application/vnd.leap+json":{source:"iana",compressible:!0},"application/vnd.liberty-request+xml":{source:"iana",compressible:!0},"application/vnd.llamagraphics.life-balance.desktop":{source:"iana",extensions:["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{source:"iana",compressible:!0,extensions:["lbe"]},"application/vnd.logipipe.circuit+zip":{source:"iana",compressible:!1},"application/vnd.loom":{source:"iana"},"application/vnd.lotus-1-2-3":{source:"iana",extensions:["123"]},"application/vnd.lotus-approach":{source:"iana",extensions:["apr"]},"application/vnd.lotus-freelance":{source:"iana",extensions:["pre"]},"application/vnd.lotus-notes":{source:"iana",extensions:["nsf"]},"application/vnd.lotus-organizer":{source:"iana",extensions:["org"]},"application/vnd.lotus-screencam":{source:"iana",extensions:["scm"]},"application/vnd.lotus-wordpro":{source:"iana",extensions:["lwp"]},"application/vnd.macports.portpkg":{source:"iana",extensions:["portpkg"]},"application/vnd.mapbox-vector-tile":{source:"iana",extensions:["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.conftoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.license+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.mdcf":{source:"iana"},"application/vnd.mason+json":{source:"iana",compressible:!0},"application/vnd.maxar.archive.3tz+zip":{source:"iana",compressible:!1},"application/vnd.maxmind.maxmind-db":{source:"iana"},"application/vnd.mcd":{source:"iana",extensions:["mcd"]},"application/vnd.medcalcdata":{source:"iana",extensions:["mc1"]},"application/vnd.mediastation.cdkey":{source:"iana",extensions:["cdkey"]},"application/vnd.meridian-slingshot":{source:"iana"},"application/vnd.mfer":{source:"iana",extensions:["mwf"]},"application/vnd.mfmp":{source:"iana",extensions:["mfm"]},"application/vnd.micro+json":{source:"iana",compressible:!0},"application/vnd.micrografx.flo":{source:"iana",extensions:["flo"]},"application/vnd.micrografx.igx":{source:"iana",extensions:["igx"]},"application/vnd.microsoft.portable-executable":{source:"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{source:"iana"},"application/vnd.miele+json":{source:"iana",compressible:!0},"application/vnd.mif":{source:"iana",extensions:["mif"]},"application/vnd.minisoft-hp3000-save":{source:"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{source:"iana"},"application/vnd.mobius.daf":{source:"iana",extensions:["daf"]},"application/vnd.mobius.dis":{source:"iana",extensions:["dis"]},"application/vnd.mobius.mbk":{source:"iana",extensions:["mbk"]},"application/vnd.mobius.mqy":{source:"iana",extensions:["mqy"]},"application/vnd.mobius.msl":{source:"iana",extensions:["msl"]},"application/vnd.mobius.plc":{source:"iana",extensions:["plc"]},"application/vnd.mobius.txf":{source:"iana",extensions:["txf"]},"application/vnd.mophun.application":{source:"iana",extensions:["mpn"]},"application/vnd.mophun.certificate":{source:"iana",extensions:["mpc"]},"application/vnd.motorola.flexsuite":{source:"iana"},"application/vnd.motorola.flexsuite.adsi":{source:"iana"},"application/vnd.motorola.flexsuite.fis":{source:"iana"},"application/vnd.motorola.flexsuite.gotap":{source:"iana"},"application/vnd.motorola.flexsuite.kmr":{source:"iana"},"application/vnd.motorola.flexsuite.ttc":{source:"iana"},"application/vnd.motorola.flexsuite.wem":{source:"iana"},"application/vnd.motorola.iprm":{source:"iana"},"application/vnd.mozilla.xul+xml":{source:"iana",compressible:!0,extensions:["xul"]},"application/vnd.ms-3mfdocument":{source:"iana"},"application/vnd.ms-artgalry":{source:"iana",extensions:["cil"]},"application/vnd.ms-asf":{source:"iana"},"application/vnd.ms-cab-compressed":{source:"iana",extensions:["cab"]},"application/vnd.ms-color.iccprofile":{source:"apache"},"application/vnd.ms-excel":{source:"iana",compressible:!1,extensions:["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{source:"iana",extensions:["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{source:"iana",extensions:["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{source:"iana",extensions:["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{source:"iana",extensions:["xltm"]},"application/vnd.ms-fontobject":{source:"iana",compressible:!0,extensions:["eot"]},"application/vnd.ms-htmlhelp":{source:"iana",extensions:["chm"]},"application/vnd.ms-ims":{source:"iana",extensions:["ims"]},"application/vnd.ms-lrm":{source:"iana",extensions:["lrm"]},"application/vnd.ms-office.activex+xml":{source:"iana",compressible:!0},"application/vnd.ms-officetheme":{source:"iana",extensions:["thmx"]},"application/vnd.ms-opentype":{source:"apache",compressible:!0},"application/vnd.ms-outlook":{compressible:!1,extensions:["msg"]},"application/vnd.ms-package.obfuscated-opentype":{source:"apache"},"application/vnd.ms-pki.seccat":{source:"apache",extensions:["cat"]},"application/vnd.ms-pki.stl":{source:"apache",extensions:["stl"]},"application/vnd.ms-playready.initiator+xml":{source:"iana",compressible:!0},"application/vnd.ms-powerpoint":{source:"iana",compressible:!1,extensions:["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{source:"iana",extensions:["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{source:"iana",extensions:["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{source:"iana",extensions:["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{source:"iana",extensions:["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{source:"iana",extensions:["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{source:"iana",compressible:!0},"application/vnd.ms-printing.printticket+xml":{source:"apache",compressible:!0},"application/vnd.ms-printschematicket+xml":{source:"iana",compressible:!0},"application/vnd.ms-project":{source:"iana",extensions:["mpp","mpt"]},"application/vnd.ms-tnef":{source:"iana"},"application/vnd.ms-windows.devicepairing":{source:"iana"},"application/vnd.ms-windows.nwprinting.oob":{source:"iana"},"application/vnd.ms-windows.printerpairing":{source:"iana"},"application/vnd.ms-windows.wsd.oob":{source:"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.lic-resp":{source:"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.meter-resp":{source:"iana"},"application/vnd.ms-word.document.macroenabled.12":{source:"iana",extensions:["docm"]},"application/vnd.ms-word.template.macroenabled.12":{source:"iana",extensions:["dotm"]},"application/vnd.ms-works":{source:"iana",extensions:["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{source:"iana",extensions:["wpl"]},"application/vnd.ms-xpsdocument":{source:"iana",compressible:!1,extensions:["xps"]},"application/vnd.msa-disk-image":{source:"iana"},"application/vnd.mseq":{source:"iana",extensions:["mseq"]},"application/vnd.msign":{source:"iana"},"application/vnd.multiad.creator":{source:"iana"},"application/vnd.multiad.creator.cif":{source:"iana"},"application/vnd.music-niff":{source:"iana"},"application/vnd.musician":{source:"iana",extensions:["mus"]},"application/vnd.muvee.style":{source:"iana",extensions:["msty"]},"application/vnd.mynfc":{source:"iana",extensions:["taglet"]},"application/vnd.nacamar.ybrid+json":{source:"iana",compressible:!0},"application/vnd.ncd.control":{source:"iana"},"application/vnd.ncd.reference":{source:"iana"},"application/vnd.nearst.inv+json":{source:"iana",compressible:!0},"application/vnd.nebumind.line":{source:"iana"},"application/vnd.nervana":{source:"iana"},"application/vnd.netfpx":{source:"iana"},"application/vnd.neurolanguage.nlu":{source:"iana",extensions:["nlu"]},"application/vnd.nimn":{source:"iana"},"application/vnd.nintendo.nitro.rom":{source:"iana"},"application/vnd.nintendo.snes.rom":{source:"iana"},"application/vnd.nitf":{source:"iana",extensions:["ntf","nitf"]},"application/vnd.noblenet-directory":{source:"iana",extensions:["nnd"]},"application/vnd.noblenet-sealer":{source:"iana",extensions:["nns"]},"application/vnd.noblenet-web":{source:"iana",extensions:["nnw"]},"application/vnd.nokia.catalogs":{source:"iana"},"application/vnd.nokia.conml+wbxml":{source:"iana"},"application/vnd.nokia.conml+xml":{source:"iana",compressible:!0},"application/vnd.nokia.iptv.config+xml":{source:"iana",compressible:!0},"application/vnd.nokia.isds-radio-presets":{source:"iana"},"application/vnd.nokia.landmark+wbxml":{source:"iana"},"application/vnd.nokia.landmark+xml":{source:"iana",compressible:!0},"application/vnd.nokia.landmarkcollection+xml":{source:"iana",compressible:!0},"application/vnd.nokia.n-gage.ac+xml":{source:"iana",compressible:!0,extensions:["ac"]},"application/vnd.nokia.n-gage.data":{source:"iana",extensions:["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{source:"iana",extensions:["n-gage"]},"application/vnd.nokia.ncd":{source:"iana"},"application/vnd.nokia.pcd+wbxml":{source:"iana"},"application/vnd.nokia.pcd+xml":{source:"iana",compressible:!0},"application/vnd.nokia.radio-preset":{source:"iana",extensions:["rpst"]},"application/vnd.nokia.radio-presets":{source:"iana",extensions:["rpss"]},"application/vnd.novadigm.edm":{source:"iana",extensions:["edm"]},"application/vnd.novadigm.edx":{source:"iana",extensions:["edx"]},"application/vnd.novadigm.ext":{source:"iana",extensions:["ext"]},"application/vnd.ntt-local.content-share":{source:"iana"},"application/vnd.ntt-local.file-transfer":{source:"iana"},"application/vnd.ntt-local.ogw_remote-access":{source:"iana"},"application/vnd.ntt-local.sip-ta_remote":{source:"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{source:"iana"},"application/vnd.oasis.opendocument.chart":{source:"iana",extensions:["odc"]},"application/vnd.oasis.opendocument.chart-template":{source:"iana",extensions:["otc"]},"application/vnd.oasis.opendocument.database":{source:"iana",extensions:["odb"]},"application/vnd.oasis.opendocument.formula":{source:"iana",extensions:["odf"]},"application/vnd.oasis.opendocument.formula-template":{source:"iana",extensions:["odft"]},"application/vnd.oasis.opendocument.graphics":{source:"iana",compressible:!1,extensions:["odg"]},"application/vnd.oasis.opendocument.graphics-template":{source:"iana",extensions:["otg"]},"application/vnd.oasis.opendocument.image":{source:"iana",extensions:["odi"]},"application/vnd.oasis.opendocument.image-template":{source:"iana",extensions:["oti"]},"application/vnd.oasis.opendocument.presentation":{source:"iana",compressible:!1,extensions:["odp"]},"application/vnd.oasis.opendocument.presentation-template":{source:"iana",extensions:["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{source:"iana",compressible:!1,extensions:["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{source:"iana",extensions:["ots"]},"application/vnd.oasis.opendocument.text":{source:"iana",compressible:!1,extensions:["odt"]},"application/vnd.oasis.opendocument.text-master":{source:"iana",extensions:["odm"]},"application/vnd.oasis.opendocument.text-template":{source:"iana",extensions:["ott"]},"application/vnd.oasis.opendocument.text-web":{source:"iana",extensions:["oth"]},"application/vnd.obn":{source:"iana"},"application/vnd.ocf+cbor":{source:"iana"},"application/vnd.oci.image.manifest.v1+json":{source:"iana",compressible:!0},"application/vnd.oftn.l10n+json":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessdownload+xml":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessstreaming+xml":{source:"iana",compressible:!0},"application/vnd.oipf.cspg-hexbinary":{source:"iana"},"application/vnd.oipf.dae.svg+xml":{source:"iana",compressible:!0},"application/vnd.oipf.dae.xhtml+xml":{source:"iana",compressible:!0},"application/vnd.oipf.mippvcontrolmessage+xml":{source:"iana",compressible:!0},"application/vnd.oipf.pae.gem":{source:"iana"},"application/vnd.oipf.spdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.oipf.spdlist+xml":{source:"iana",compressible:!0},"application/vnd.oipf.ueprofile+xml":{source:"iana",compressible:!0},"application/vnd.oipf.userprofile+xml":{source:"iana",compressible:!0},"application/vnd.olpc-sugar":{source:"iana",extensions:["xo"]},"application/vnd.oma-scws-config":{source:"iana"},"application/vnd.oma-scws-http-request":{source:"iana"},"application/vnd.oma-scws-http-response":{source:"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.drm-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.imd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.ltkm":{source:"iana"},"application/vnd.oma.bcast.notification+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.provisioningtrigger":{source:"iana"},"application/vnd.oma.bcast.sgboot":{source:"iana"},"application/vnd.oma.bcast.sgdd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sgdu":{source:"iana"},"application/vnd.oma.bcast.simple-symbol-container":{source:"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sprov+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.stkm":{source:"iana"},"application/vnd.oma.cab-address-book+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-feature-handler+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-pcc+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-subs-invite+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-user-prefs+xml":{source:"iana",compressible:!0},"application/vnd.oma.dcd":{source:"iana"},"application/vnd.oma.dcdc":{source:"iana"},"application/vnd.oma.dd2+xml":{source:"iana",compressible:!0,extensions:["dd2"]},"application/vnd.oma.drm.risd+xml":{source:"iana",compressible:!0},"application/vnd.oma.group-usage-list+xml":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+cbor":{source:"iana"},"application/vnd.oma.lwm2m+json":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+tlv":{source:"iana"},"application/vnd.oma.pal+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.detailed-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.final-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.groups+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.invocation-descriptor+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.optimized-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.push":{source:"iana"},"application/vnd.oma.scidm.messages+xml":{source:"iana",compressible:!0},"application/vnd.oma.xcap-directory+xml":{source:"iana",compressible:!0},"application/vnd.omads-email+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-file+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-folder+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omaloc-supl-init":{source:"iana"},"application/vnd.onepager":{source:"iana"},"application/vnd.onepagertamp":{source:"iana"},"application/vnd.onepagertamx":{source:"iana"},"application/vnd.onepagertat":{source:"iana"},"application/vnd.onepagertatp":{source:"iana"},"application/vnd.onepagertatx":{source:"iana"},"application/vnd.openblox.game+xml":{source:"iana",compressible:!0,extensions:["obgx"]},"application/vnd.openblox.game-binary":{source:"iana"},"application/vnd.openeye.oeb":{source:"iana"},"application/vnd.openofficeorg.extension":{source:"apache",extensions:["oxt"]},"application/vnd.openstreetmap.data+xml":{source:"iana",compressible:!0,extensions:["osm"]},"application/vnd.opentimestamps.ots":{source:"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawing+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{source:"iana",compressible:!1,extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slide":{source:"iana",extensions:["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{source:"iana",extensions:["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.template":{source:"iana",extensions:["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{source:"iana",compressible:!1,extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{source:"iana",extensions:["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.theme+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.vmldrawing":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{source:"iana",compressible:!1,extensions:["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{source:"iana",extensions:["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.core-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.relationships+xml":{source:"iana",compressible:!0},"application/vnd.oracle.resource+json":{source:"iana",compressible:!0},"application/vnd.orange.indata":{source:"iana"},"application/vnd.osa.netdeploy":{source:"iana"},"application/vnd.osgeo.mapguide.package":{source:"iana",extensions:["mgp"]},"application/vnd.osgi.bundle":{source:"iana"},"application/vnd.osgi.dp":{source:"iana",extensions:["dp"]},"application/vnd.osgi.subsystem":{source:"iana",extensions:["esa"]},"application/vnd.otps.ct-kip+xml":{source:"iana",compressible:!0},"application/vnd.oxli.countgraph":{source:"iana"},"application/vnd.pagerduty+json":{source:"iana",compressible:!0},"application/vnd.palm":{source:"iana",extensions:["pdb","pqa","oprc"]},"application/vnd.panoply":{source:"iana"},"application/vnd.paos.xml":{source:"iana"},"application/vnd.patentdive":{source:"iana"},"application/vnd.patientecommsdoc":{source:"iana"},"application/vnd.pawaafile":{source:"iana",extensions:["paw"]},"application/vnd.pcos":{source:"iana"},"application/vnd.pg.format":{source:"iana",extensions:["str"]},"application/vnd.pg.osasli":{source:"iana",extensions:["ei6"]},"application/vnd.piaccess.application-licence":{source:"iana"},"application/vnd.picsel":{source:"iana",extensions:["efif"]},"application/vnd.pmi.widget":{source:"iana",extensions:["wg"]},"application/vnd.poc.group-advertisement+xml":{source:"iana",compressible:!0},"application/vnd.pocketlearn":{source:"iana",extensions:["plf"]},"application/vnd.powerbuilder6":{source:"iana",extensions:["pbd"]},"application/vnd.powerbuilder6-s":{source:"iana"},"application/vnd.powerbuilder7":{source:"iana"},"application/vnd.powerbuilder7-s":{source:"iana"},"application/vnd.powerbuilder75":{source:"iana"},"application/vnd.powerbuilder75-s":{source:"iana"},"application/vnd.preminet":{source:"iana"},"application/vnd.previewsystems.box":{source:"iana",extensions:["box"]},"application/vnd.proteus.magazine":{source:"iana",extensions:["mgz"]},"application/vnd.psfs":{source:"iana"},"application/vnd.publishare-delta-tree":{source:"iana",extensions:["qps"]},"application/vnd.pvi.ptid1":{source:"iana",extensions:["ptid"]},"application/vnd.pwg-multiplexed":{source:"iana"},"application/vnd.pwg-xhtml-print+xml":{source:"iana",compressible:!0},"application/vnd.qualcomm.brew-app-res":{source:"iana"},"application/vnd.quarantainenet":{source:"iana"},"application/vnd.quark.quarkxpress":{source:"iana",extensions:["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{source:"iana"},"application/vnd.radisys.moml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conn+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-stream+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-base+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-detect+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-group+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-speech+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-transform+xml":{source:"iana",compressible:!0},"application/vnd.rainstor.data":{source:"iana"},"application/vnd.rapid":{source:"iana"},"application/vnd.rar":{source:"iana",extensions:["rar"]},"application/vnd.realvnc.bed":{source:"iana",extensions:["bed"]},"application/vnd.recordare.musicxml":{source:"iana",extensions:["mxl"]},"application/vnd.recordare.musicxml+xml":{source:"iana",compressible:!0,extensions:["musicxml"]},"application/vnd.renlearn.rlprint":{source:"iana"},"application/vnd.resilient.logic":{source:"iana"},"application/vnd.restful+json":{source:"iana",compressible:!0},"application/vnd.rig.cryptonote":{source:"iana",extensions:["cryptonote"]},"application/vnd.rim.cod":{source:"apache",extensions:["cod"]},"application/vnd.rn-realmedia":{source:"apache",extensions:["rm"]},"application/vnd.rn-realmedia-vbr":{source:"apache",extensions:["rmvb"]},"application/vnd.route66.link66+xml":{source:"iana",compressible:!0,extensions:["link66"]},"application/vnd.rs-274x":{source:"iana"},"application/vnd.ruckus.download":{source:"iana"},"application/vnd.s3sms":{source:"iana"},"application/vnd.sailingtracker.track":{source:"iana",extensions:["st"]},"application/vnd.sar":{source:"iana"},"application/vnd.sbm.cid":{source:"iana"},"application/vnd.sbm.mid2":{source:"iana"},"application/vnd.scribus":{source:"iana"},"application/vnd.sealed.3df":{source:"iana"},"application/vnd.sealed.csf":{source:"iana"},"application/vnd.sealed.doc":{source:"iana"},"application/vnd.sealed.eml":{source:"iana"},"application/vnd.sealed.mht":{source:"iana"},"application/vnd.sealed.net":{source:"iana"},"application/vnd.sealed.ppt":{source:"iana"},"application/vnd.sealed.tiff":{source:"iana"},"application/vnd.sealed.xls":{source:"iana"},"application/vnd.sealedmedia.softseal.html":{source:"iana"},"application/vnd.sealedmedia.softseal.pdf":{source:"iana"},"application/vnd.seemail":{source:"iana",extensions:["see"]},"application/vnd.seis+json":{source:"iana",compressible:!0},"application/vnd.sema":{source:"iana",extensions:["sema"]},"application/vnd.semd":{source:"iana",extensions:["semd"]},"application/vnd.semf":{source:"iana",extensions:["semf"]},"application/vnd.shade-save-file":{source:"iana"},"application/vnd.shana.informed.formdata":{source:"iana",extensions:["ifm"]},"application/vnd.shana.informed.formtemplate":{source:"iana",extensions:["itp"]},"application/vnd.shana.informed.interchange":{source:"iana",extensions:["iif"]},"application/vnd.shana.informed.package":{source:"iana",extensions:["ipk"]},"application/vnd.shootproof+json":{source:"iana",compressible:!0},"application/vnd.shopkick+json":{source:"iana",compressible:!0},"application/vnd.shp":{source:"iana"},"application/vnd.shx":{source:"iana"},"application/vnd.sigrok.session":{source:"iana"},"application/vnd.simtech-mindmapper":{source:"iana",extensions:["twd","twds"]},"application/vnd.siren+json":{source:"iana",compressible:!0},"application/vnd.smaf":{source:"iana",extensions:["mmf"]},"application/vnd.smart.notebook":{source:"iana"},"application/vnd.smart.teacher":{source:"iana",extensions:["teacher"]},"application/vnd.snesdev-page-table":{source:"iana"},"application/vnd.software602.filler.form+xml":{source:"iana",compressible:!0,extensions:["fo"]},"application/vnd.software602.filler.form-xml-zip":{source:"iana"},"application/vnd.solent.sdkm+xml":{source:"iana",compressible:!0,extensions:["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{source:"iana",extensions:["dxp"]},"application/vnd.spotfire.sfs":{source:"iana",extensions:["sfs"]},"application/vnd.sqlite3":{source:"iana"},"application/vnd.sss-cod":{source:"iana"},"application/vnd.sss-dtf":{source:"iana"},"application/vnd.sss-ntf":{source:"iana"},"application/vnd.stardivision.calc":{source:"apache",extensions:["sdc"]},"application/vnd.stardivision.draw":{source:"apache",extensions:["sda"]},"application/vnd.stardivision.impress":{source:"apache",extensions:["sdd"]},"application/vnd.stardivision.math":{source:"apache",extensions:["smf"]},"application/vnd.stardivision.writer":{source:"apache",extensions:["sdw","vor"]},"application/vnd.stardivision.writer-global":{source:"apache",extensions:["sgl"]},"application/vnd.stepmania.package":{source:"iana",extensions:["smzip"]},"application/vnd.stepmania.stepchart":{source:"iana",extensions:["sm"]},"application/vnd.street-stream":{source:"iana"},"application/vnd.sun.wadl+xml":{source:"iana",compressible:!0,extensions:["wadl"]},"application/vnd.sun.xml.calc":{source:"apache",extensions:["sxc"]},"application/vnd.sun.xml.calc.template":{source:"apache",extensions:["stc"]},"application/vnd.sun.xml.draw":{source:"apache",extensions:["sxd"]},"application/vnd.sun.xml.draw.template":{source:"apache",extensions:["std"]},"application/vnd.sun.xml.impress":{source:"apache",extensions:["sxi"]},"application/vnd.sun.xml.impress.template":{source:"apache",extensions:["sti"]},"application/vnd.sun.xml.math":{source:"apache",extensions:["sxm"]},"application/vnd.sun.xml.writer":{source:"apache",extensions:["sxw"]},"application/vnd.sun.xml.writer.global":{source:"apache",extensions:["sxg"]},"application/vnd.sun.xml.writer.template":{source:"apache",extensions:["stw"]},"application/vnd.sus-calendar":{source:"iana",extensions:["sus","susp"]},"application/vnd.svd":{source:"iana",extensions:["svd"]},"application/vnd.swiftview-ics":{source:"iana"},"application/vnd.sycle+xml":{source:"iana",compressible:!0},"application/vnd.syft+json":{source:"iana",compressible:!0},"application/vnd.symbian.install":{source:"apache",extensions:["sis","sisx"]},"application/vnd.syncml+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xsm"]},"application/vnd.syncml.dm+wbxml":{source:"iana",charset:"UTF-8",extensions:["bdm"]},"application/vnd.syncml.dm+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xdm"]},"application/vnd.syncml.dm.notification":{source:"iana"},"application/vnd.syncml.dmddf+wbxml":{source:"iana"},"application/vnd.syncml.dmddf+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{source:"iana"},"application/vnd.syncml.dmtnds+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.syncml.ds.notification":{source:"iana"},"application/vnd.tableschema+json":{source:"iana",compressible:!0},"application/vnd.tao.intent-module-archive":{source:"iana",extensions:["tao"]},"application/vnd.tcpdump.pcap":{source:"iana",extensions:["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{source:"iana",compressible:!0},"application/vnd.tmd.mediaflex.api+xml":{source:"iana",compressible:!0},"application/vnd.tml":{source:"iana"},"application/vnd.tmobile-livetv":{source:"iana",extensions:["tmo"]},"application/vnd.tri.onesource":{source:"iana"},"application/vnd.trid.tpt":{source:"iana",extensions:["tpt"]},"application/vnd.triscape.mxs":{source:"iana",extensions:["mxs"]},"application/vnd.trueapp":{source:"iana",extensions:["tra"]},"application/vnd.truedoc":{source:"iana"},"application/vnd.ubisoft.webplayer":{source:"iana"},"application/vnd.ufdl":{source:"iana",extensions:["ufd","ufdl"]},"application/vnd.uiq.theme":{source:"iana",extensions:["utz"]},"application/vnd.umajin":{source:"iana",extensions:["umj"]},"application/vnd.unity":{source:"iana",extensions:["unityweb"]},"application/vnd.uoml+xml":{source:"iana",compressible:!0,extensions:["uoml"]},"application/vnd.uplanet.alert":{source:"iana"},"application/vnd.uplanet.alert-wbxml":{source:"iana"},"application/vnd.uplanet.bearer-choice":{source:"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{source:"iana"},"application/vnd.uplanet.cacheop":{source:"iana"},"application/vnd.uplanet.cacheop-wbxml":{source:"iana"},"application/vnd.uplanet.channel":{source:"iana"},"application/vnd.uplanet.channel-wbxml":{source:"iana"},"application/vnd.uplanet.list":{source:"iana"},"application/vnd.uplanet.list-wbxml":{source:"iana"},"application/vnd.uplanet.listcmd":{source:"iana"},"application/vnd.uplanet.listcmd-wbxml":{source:"iana"},"application/vnd.uplanet.signal":{source:"iana"},"application/vnd.uri-map":{source:"iana"},"application/vnd.valve.source.material":{source:"iana"},"application/vnd.vcx":{source:"iana",extensions:["vcx"]},"application/vnd.vd-study":{source:"iana"},"application/vnd.vectorworks":{source:"iana"},"application/vnd.vel+json":{source:"iana",compressible:!0},"application/vnd.verimatrix.vcas":{source:"iana"},"application/vnd.veritone.aion+json":{source:"iana",compressible:!0},"application/vnd.veryant.thin":{source:"iana"},"application/vnd.ves.encrypted":{source:"iana"},"application/vnd.vidsoft.vidconference":{source:"iana"},"application/vnd.visio":{source:"iana",extensions:["vsd","vst","vss","vsw"]},"application/vnd.visionary":{source:"iana",extensions:["vis"]},"application/vnd.vividence.scriptfile":{source:"iana"},"application/vnd.vsf":{source:"iana",extensions:["vsf"]},"application/vnd.wap.sic":{source:"iana"},"application/vnd.wap.slc":{source:"iana"},"application/vnd.wap.wbxml":{source:"iana",charset:"UTF-8",extensions:["wbxml"]},"application/vnd.wap.wmlc":{source:"iana",extensions:["wmlc"]},"application/vnd.wap.wmlscriptc":{source:"iana",extensions:["wmlsc"]},"application/vnd.webturbo":{source:"iana",extensions:["wtb"]},"application/vnd.wfa.dpp":{source:"iana"},"application/vnd.wfa.p2p":{source:"iana"},"application/vnd.wfa.wsc":{source:"iana"},"application/vnd.windows.devicepairing":{source:"iana"},"application/vnd.wmc":{source:"iana"},"application/vnd.wmf.bootstrap":{source:"iana"},"application/vnd.wolfram.mathematica":{source:"iana"},"application/vnd.wolfram.mathematica.package":{source:"iana"},"application/vnd.wolfram.player":{source:"iana",extensions:["nbp"]},"application/vnd.wordperfect":{source:"iana",extensions:["wpd"]},"application/vnd.wqd":{source:"iana",extensions:["wqd"]},"application/vnd.wrq-hp3000-labelled":{source:"iana"},"application/vnd.wt.stf":{source:"iana",extensions:["stf"]},"application/vnd.wv.csp+wbxml":{source:"iana"},"application/vnd.wv.csp+xml":{source:"iana",compressible:!0},"application/vnd.wv.ssp+xml":{source:"iana",compressible:!0},"application/vnd.xacml+json":{source:"iana",compressible:!0},"application/vnd.xara":{source:"iana",extensions:["xar"]},"application/vnd.xfdl":{source:"iana",extensions:["xfdl"]},"application/vnd.xfdl.webform":{source:"iana"},"application/vnd.xmi+xml":{source:"iana",compressible:!0},"application/vnd.xmpie.cpkg":{source:"iana"},"application/vnd.xmpie.dpkg":{source:"iana"},"application/vnd.xmpie.plan":{source:"iana"},"application/vnd.xmpie.ppkg":{source:"iana"},"application/vnd.xmpie.xlim":{source:"iana"},"application/vnd.yamaha.hv-dic":{source:"iana",extensions:["hvd"]},"application/vnd.yamaha.hv-script":{source:"iana",extensions:["hvs"]},"application/vnd.yamaha.hv-voice":{source:"iana",extensions:["hvp"]},"application/vnd.yamaha.openscoreformat":{source:"iana",extensions:["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{source:"iana",compressible:!0,extensions:["osfpvg"]},"application/vnd.yamaha.remote-setup":{source:"iana"},"application/vnd.yamaha.smaf-audio":{source:"iana",extensions:["saf"]},"application/vnd.yamaha.smaf-phrase":{source:"iana",extensions:["spf"]},"application/vnd.yamaha.through-ngn":{source:"iana"},"application/vnd.yamaha.tunnel-udpencap":{source:"iana"},"application/vnd.yaoweme":{source:"iana"},"application/vnd.yellowriver-custom-menu":{source:"iana",extensions:["cmp"]},"application/vnd.youtube.yt":{source:"iana"},"application/vnd.zul":{source:"iana",extensions:["zir","zirz"]},"application/vnd.zzazz.deck+xml":{source:"iana",compressible:!0,extensions:["zaz"]},"application/voicexml+xml":{source:"iana",compressible:!0,extensions:["vxml"]},"application/voucher-cms+json":{source:"iana",compressible:!0},"application/vq-rtcpxr":{source:"iana"},"application/wasm":{source:"iana",compressible:!0,extensions:["wasm"]},"application/watcherinfo+xml":{source:"iana",compressible:!0,extensions:["wif"]},"application/webpush-options+json":{source:"iana",compressible:!0},"application/whoispp-query":{source:"iana"},"application/whoispp-response":{source:"iana"},"application/widget":{source:"iana",extensions:["wgt"]},"application/winhlp":{source:"apache",extensions:["hlp"]},"application/wita":{source:"iana"},"application/wordperfect5.1":{source:"iana"},"application/wsdl+xml":{source:"iana",compressible:!0,extensions:["wsdl"]},"application/wspolicy+xml":{source:"iana",compressible:!0,extensions:["wspolicy"]},"application/x-7z-compressed":{source:"apache",compressible:!1,extensions:["7z"]},"application/x-abiword":{source:"apache",extensions:["abw"]},"application/x-ace-compressed":{source:"apache",extensions:["ace"]},"application/x-amf":{source:"apache"},"application/x-apple-diskimage":{source:"apache",extensions:["dmg"]},"application/x-arj":{compressible:!1,extensions:["arj"]},"application/x-authorware-bin":{source:"apache",extensions:["aab","x32","u32","vox"]},"application/x-authorware-map":{source:"apache",extensions:["aam"]},"application/x-authorware-seg":{source:"apache",extensions:["aas"]},"application/x-bcpio":{source:"apache",extensions:["bcpio"]},"application/x-bdoc":{compressible:!1,extensions:["bdoc"]},"application/x-bittorrent":{source:"apache",extensions:["torrent"]},"application/x-blorb":{source:"apache",extensions:["blb","blorb"]},"application/x-bzip":{source:"apache",compressible:!1,extensions:["bz"]},"application/x-bzip2":{source:"apache",compressible:!1,extensions:["bz2","boz"]},"application/x-cbr":{source:"apache",extensions:["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{source:"apache",extensions:["vcd"]},"application/x-cfs-compressed":{source:"apache",extensions:["cfs"]},"application/x-chat":{source:"apache",extensions:["chat"]},"application/x-chess-pgn":{source:"apache",extensions:["pgn"]},"application/x-chrome-extension":{extensions:["crx"]},"application/x-cocoa":{source:"nginx",extensions:["cco"]},"application/x-compress":{source:"apache"},"application/x-conference":{source:"apache",extensions:["nsc"]},"application/x-cpio":{source:"apache",extensions:["cpio"]},"application/x-csh":{source:"apache",extensions:["csh"]},"application/x-deb":{compressible:!1},"application/x-debian-package":{source:"apache",extensions:["deb","udeb"]},"application/x-dgc-compressed":{source:"apache",extensions:["dgc"]},"application/x-director":{source:"apache",extensions:["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{source:"apache",extensions:["wad"]},"application/x-dtbncx+xml":{source:"apache",compressible:!0,extensions:["ncx"]},"application/x-dtbook+xml":{source:"apache",compressible:!0,extensions:["dtb"]},"application/x-dtbresource+xml":{source:"apache",compressible:!0,extensions:["res"]},"application/x-dvi":{source:"apache",compressible:!1,extensions:["dvi"]},"application/x-envoy":{source:"apache",extensions:["evy"]},"application/x-eva":{source:"apache",extensions:["eva"]},"application/x-font-bdf":{source:"apache",extensions:["bdf"]},"application/x-font-dos":{source:"apache"},"application/x-font-framemaker":{source:"apache"},"application/x-font-ghostscript":{source:"apache",extensions:["gsf"]},"application/x-font-libgrx":{source:"apache"},"application/x-font-linux-psf":{source:"apache",extensions:["psf"]},"application/x-font-pcf":{source:"apache",extensions:["pcf"]},"application/x-font-snf":{source:"apache",extensions:["snf"]},"application/x-font-speedo":{source:"apache"},"application/x-font-sunos-news":{source:"apache"},"application/x-font-type1":{source:"apache",extensions:["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{source:"apache"},"application/x-freearc":{source:"apache",extensions:["arc"]},"application/x-futuresplash":{source:"apache",extensions:["spl"]},"application/x-gca-compressed":{source:"apache",extensions:["gca"]},"application/x-glulx":{source:"apache",extensions:["ulx"]},"application/x-gnumeric":{source:"apache",extensions:["gnumeric"]},"application/x-gramps-xml":{source:"apache",extensions:["gramps"]},"application/x-gtar":{source:"apache",extensions:["gtar"]},"application/x-gzip":{source:"apache"},"application/x-hdf":{source:"apache",extensions:["hdf"]},"application/x-httpd-php":{compressible:!0,extensions:["php"]},"application/x-install-instructions":{source:"apache",extensions:["install"]},"application/x-iso9660-image":{source:"apache",extensions:["iso"]},"application/x-iwork-keynote-sffkey":{extensions:["key"]},"application/x-iwork-numbers-sffnumbers":{extensions:["numbers"]},"application/x-iwork-pages-sffpages":{extensions:["pages"]},"application/x-java-archive-diff":{source:"nginx",extensions:["jardiff"]},"application/x-java-jnlp-file":{source:"apache",compressible:!1,extensions:["jnlp"]},"application/x-javascript":{compressible:!0},"application/x-keepass2":{extensions:["kdbx"]},"application/x-latex":{source:"apache",compressible:!1,extensions:["latex"]},"application/x-lua-bytecode":{extensions:["luac"]},"application/x-lzh-compressed":{source:"apache",extensions:["lzh","lha"]},"application/x-makeself":{source:"nginx",extensions:["run"]},"application/x-mie":{source:"apache",extensions:["mie"]},"application/x-mobipocket-ebook":{source:"apache",extensions:["prc","mobi"]},"application/x-mpegurl":{compressible:!1},"application/x-ms-application":{source:"apache",extensions:["application"]},"application/x-ms-shortcut":{source:"apache",extensions:["lnk"]},"application/x-ms-wmd":{source:"apache",extensions:["wmd"]},"application/x-ms-wmz":{source:"apache",extensions:["wmz"]},"application/x-ms-xbap":{source:"apache",extensions:["xbap"]},"application/x-msaccess":{source:"apache",extensions:["mdb"]},"application/x-msbinder":{source:"apache",extensions:["obd"]},"application/x-mscardfile":{source:"apache",extensions:["crd"]},"application/x-msclip":{source:"apache",extensions:["clp"]},"application/x-msdos-program":{extensions:["exe"]},"application/x-msdownload":{source:"apache",extensions:["exe","dll","com","bat","msi"]},"application/x-msmediaview":{source:"apache",extensions:["mvb","m13","m14"]},"application/x-msmetafile":{source:"apache",extensions:["wmf","wmz","emf","emz"]},"application/x-msmoney":{source:"apache",extensions:["mny"]},"application/x-mspublisher":{source:"apache",extensions:["pub"]},"application/x-msschedule":{source:"apache",extensions:["scd"]},"application/x-msterminal":{source:"apache",extensions:["trm"]},"application/x-mswrite":{source:"apache",extensions:["wri"]},"application/x-netcdf":{source:"apache",extensions:["nc","cdf"]},"application/x-ns-proxy-autoconfig":{compressible:!0,extensions:["pac"]},"application/x-nzb":{source:"apache",extensions:["nzb"]},"application/x-perl":{source:"nginx",extensions:["pl","pm"]},"application/x-pilot":{source:"nginx",extensions:["prc","pdb"]},"application/x-pkcs12":{source:"apache",compressible:!1,extensions:["p12","pfx"]},"application/x-pkcs7-certificates":{source:"apache",extensions:["p7b","spc"]},"application/x-pkcs7-certreqresp":{source:"apache",extensions:["p7r"]},"application/x-pki-message":{source:"iana"},"application/x-rar-compressed":{source:"apache",compressible:!1,extensions:["rar"]},"application/x-redhat-package-manager":{source:"nginx",extensions:["rpm"]},"application/x-research-info-systems":{source:"apache",extensions:["ris"]},"application/x-sea":{source:"nginx",extensions:["sea"]},"application/x-sh":{source:"apache",compressible:!0,extensions:["sh"]},"application/x-shar":{source:"apache",extensions:["shar"]},"application/x-shockwave-flash":{source:"apache",compressible:!1,extensions:["swf"]},"application/x-silverlight-app":{source:"apache",extensions:["xap"]},"application/x-sql":{source:"apache",extensions:["sql"]},"application/x-stuffit":{source:"apache",compressible:!1,extensions:["sit"]},"application/x-stuffitx":{source:"apache",extensions:["sitx"]},"application/x-subrip":{source:"apache",extensions:["srt"]},"application/x-sv4cpio":{source:"apache",extensions:["sv4cpio"]},"application/x-sv4crc":{source:"apache",extensions:["sv4crc"]},"application/x-t3vm-image":{source:"apache",extensions:["t3"]},"application/x-tads":{source:"apache",extensions:["gam"]},"application/x-tar":{source:"apache",compressible:!0,extensions:["tar"]},"application/x-tcl":{source:"apache",extensions:["tcl","tk"]},"application/x-tex":{source:"apache",extensions:["tex"]},"application/x-tex-tfm":{source:"apache",extensions:["tfm"]},"application/x-texinfo":{source:"apache",extensions:["texinfo","texi"]},"application/x-tgif":{source:"apache",extensions:["obj"]},"application/x-ustar":{source:"apache",extensions:["ustar"]},"application/x-virtualbox-hdd":{compressible:!0,extensions:["hdd"]},"application/x-virtualbox-ova":{compressible:!0,extensions:["ova"]},"application/x-virtualbox-ovf":{compressible:!0,extensions:["ovf"]},"application/x-virtualbox-vbox":{compressible:!0,extensions:["vbox"]},"application/x-virtualbox-vbox-extpack":{compressible:!1,extensions:["vbox-extpack"]},"application/x-virtualbox-vdi":{compressible:!0,extensions:["vdi"]},"application/x-virtualbox-vhd":{compressible:!0,extensions:["vhd"]},"application/x-virtualbox-vmdk":{compressible:!0,extensions:["vmdk"]},"application/x-wais-source":{source:"apache",extensions:["src"]},"application/x-web-app-manifest+json":{compressible:!0,extensions:["webapp"]},"application/x-www-form-urlencoded":{source:"iana",compressible:!0},"application/x-x509-ca-cert":{source:"iana",extensions:["der","crt","pem"]},"application/x-x509-ca-ra-cert":{source:"iana"},"application/x-x509-next-ca-cert":{source:"iana"},"application/x-xfig":{source:"apache",extensions:["fig"]},"application/x-xliff+xml":{source:"apache",compressible:!0,extensions:["xlf"]},"application/x-xpinstall":{source:"apache",compressible:!1,extensions:["xpi"]},"application/x-xz":{source:"apache",extensions:["xz"]},"application/x-zmachine":{source:"apache",extensions:["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{source:"iana"},"application/xacml+xml":{source:"iana",compressible:!0},"application/xaml+xml":{source:"apache",compressible:!0,extensions:["xaml"]},"application/xcap-att+xml":{source:"iana",compressible:!0,extensions:["xav"]},"application/xcap-caps+xml":{source:"iana",compressible:!0,extensions:["xca"]},"application/xcap-diff+xml":{source:"iana",compressible:!0,extensions:["xdf"]},"application/xcap-el+xml":{source:"iana",compressible:!0,extensions:["xel"]},"application/xcap-error+xml":{source:"iana",compressible:!0},"application/xcap-ns+xml":{source:"iana",compressible:!0,extensions:["xns"]},"application/xcon-conference-info+xml":{source:"iana",compressible:!0},"application/xcon-conference-info-diff+xml":{source:"iana",compressible:!0},"application/xenc+xml":{source:"iana",compressible:!0,extensions:["xenc"]},"application/xhtml+xml":{source:"iana",compressible:!0,extensions:["xhtml","xht"]},"application/xhtml-voice+xml":{source:"apache",compressible:!0},"application/xliff+xml":{source:"iana",compressible:!0,extensions:["xlf"]},"application/xml":{source:"iana",compressible:!0,extensions:["xml","xsl","xsd","rng"]},"application/xml-dtd":{source:"iana",compressible:!0,extensions:["dtd"]},"application/xml-external-parsed-entity":{source:"iana"},"application/xml-patch+xml":{source:"iana",compressible:!0},"application/xmpp+xml":{source:"iana",compressible:!0},"application/xop+xml":{source:"iana",compressible:!0,extensions:["xop"]},"application/xproc+xml":{source:"apache",compressible:!0,extensions:["xpl"]},"application/xslt+xml":{source:"iana",compressible:!0,extensions:["xsl","xslt"]},"application/xspf+xml":{source:"apache",compressible:!0,extensions:["xspf"]},"application/xv+xml":{source:"iana",compressible:!0,extensions:["mxml","xhvml","xvml","xvm"]},"application/yang":{source:"iana",extensions:["yang"]},"application/yang-data+json":{source:"iana",compressible:!0},"application/yang-data+xml":{source:"iana",compressible:!0},"application/yang-patch+json":{source:"iana",compressible:!0},"application/yang-patch+xml":{source:"iana",compressible:!0},"application/yin+xml":{source:"iana",compressible:!0,extensions:["yin"]},"application/zip":{source:"iana",compressible:!1,extensions:["zip"]},"application/zlib":{source:"iana"},"application/zstd":{source:"iana"},"audio/1d-interleaved-parityfec":{source:"iana"},"audio/32kadpcm":{source:"iana"},"audio/3gpp":{source:"iana",compressible:!1,extensions:["3gpp"]},"audio/3gpp2":{source:"iana"},"audio/aac":{source:"iana"},"audio/ac3":{source:"iana"},"audio/adpcm":{source:"apache",extensions:["adp"]},"audio/amr":{source:"iana",extensions:["amr"]},"audio/amr-wb":{source:"iana"},"audio/amr-wb+":{source:"iana"},"audio/aptx":{source:"iana"},"audio/asc":{source:"iana"},"audio/atrac-advanced-lossless":{source:"iana"},"audio/atrac-x":{source:"iana"},"audio/atrac3":{source:"iana"},"audio/basic":{source:"iana",compressible:!1,extensions:["au","snd"]},"audio/bv16":{source:"iana"},"audio/bv32":{source:"iana"},"audio/clearmode":{source:"iana"},"audio/cn":{source:"iana"},"audio/dat12":{source:"iana"},"audio/dls":{source:"iana"},"audio/dsr-es201108":{source:"iana"},"audio/dsr-es202050":{source:"iana"},"audio/dsr-es202211":{source:"iana"},"audio/dsr-es202212":{source:"iana"},"audio/dv":{source:"iana"},"audio/dvi4":{source:"iana"},"audio/eac3":{source:"iana"},"audio/encaprtp":{source:"iana"},"audio/evrc":{source:"iana"},"audio/evrc-qcp":{source:"iana"},"audio/evrc0":{source:"iana"},"audio/evrc1":{source:"iana"},"audio/evrcb":{source:"iana"},"audio/evrcb0":{source:"iana"},"audio/evrcb1":{source:"iana"},"audio/evrcnw":{source:"iana"},"audio/evrcnw0":{source:"iana"},"audio/evrcnw1":{source:"iana"},"audio/evrcwb":{source:"iana"},"audio/evrcwb0":{source:"iana"},"audio/evrcwb1":{source:"iana"},"audio/evs":{source:"iana"},"audio/flexfec":{source:"iana"},"audio/fwdred":{source:"iana"},"audio/g711-0":{source:"iana"},"audio/g719":{source:"iana"},"audio/g722":{source:"iana"},"audio/g7221":{source:"iana"},"audio/g723":{source:"iana"},"audio/g726-16":{source:"iana"},"audio/g726-24":{source:"iana"},"audio/g726-32":{source:"iana"},"audio/g726-40":{source:"iana"},"audio/g728":{source:"iana"},"audio/g729":{source:"iana"},"audio/g7291":{source:"iana"},"audio/g729d":{source:"iana"},"audio/g729e":{source:"iana"},"audio/gsm":{source:"iana"},"audio/gsm-efr":{source:"iana"},"audio/gsm-hr-08":{source:"iana"},"audio/ilbc":{source:"iana"},"audio/ip-mr_v2.5":{source:"iana"},"audio/isac":{source:"apache"},"audio/l16":{source:"iana"},"audio/l20":{source:"iana"},"audio/l24":{source:"iana",compressible:!1},"audio/l8":{source:"iana"},"audio/lpc":{source:"iana"},"audio/melp":{source:"iana"},"audio/melp1200":{source:"iana"},"audio/melp2400":{source:"iana"},"audio/melp600":{source:"iana"},"audio/mhas":{source:"iana"},"audio/midi":{source:"apache",extensions:["mid","midi","kar","rmi"]},"audio/mobile-xmf":{source:"iana",extensions:["mxmf"]},"audio/mp3":{compressible:!1,extensions:["mp3"]},"audio/mp4":{source:"iana",compressible:!1,extensions:["m4a","mp4a"]},"audio/mp4a-latm":{source:"iana"},"audio/mpa":{source:"iana"},"audio/mpa-robust":{source:"iana"},"audio/mpeg":{source:"iana",compressible:!1,extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{source:"iana"},"audio/musepack":{source:"apache"},"audio/ogg":{source:"iana",compressible:!1,extensions:["oga","ogg","spx","opus"]},"audio/opus":{source:"iana"},"audio/parityfec":{source:"iana"},"audio/pcma":{source:"iana"},"audio/pcma-wb":{source:"iana"},"audio/pcmu":{source:"iana"},"audio/pcmu-wb":{source:"iana"},"audio/prs.sid":{source:"iana"},"audio/qcelp":{source:"iana"},"audio/raptorfec":{source:"iana"},"audio/red":{source:"iana"},"audio/rtp-enc-aescm128":{source:"iana"},"audio/rtp-midi":{source:"iana"},"audio/rtploopback":{source:"iana"},"audio/rtx":{source:"iana"},"audio/s3m":{source:"apache",extensions:["s3m"]},"audio/scip":{source:"iana"},"audio/silk":{source:"apache",extensions:["sil"]},"audio/smv":{source:"iana"},"audio/smv-qcp":{source:"iana"},"audio/smv0":{source:"iana"},"audio/sofa":{source:"iana"},"audio/sp-midi":{source:"iana"},"audio/speex":{source:"iana"},"audio/t140c":{source:"iana"},"audio/t38":{source:"iana"},"audio/telephone-event":{source:"iana"},"audio/tetra_acelp":{source:"iana"},"audio/tetra_acelp_bb":{source:"iana"},"audio/tone":{source:"iana"},"audio/tsvcis":{source:"iana"},"audio/uemclip":{source:"iana"},"audio/ulpfec":{source:"iana"},"audio/usac":{source:"iana"},"audio/vdvi":{source:"iana"},"audio/vmr-wb":{source:"iana"},"audio/vnd.3gpp.iufp":{source:"iana"},"audio/vnd.4sb":{source:"iana"},"audio/vnd.audiokoz":{source:"iana"},"audio/vnd.celp":{source:"iana"},"audio/vnd.cisco.nse":{source:"iana"},"audio/vnd.cmles.radio-events":{source:"iana"},"audio/vnd.cns.anp1":{source:"iana"},"audio/vnd.cns.inf1":{source:"iana"},"audio/vnd.dece.audio":{source:"iana",extensions:["uva","uvva"]},"audio/vnd.digital-winds":{source:"iana",extensions:["eol"]},"audio/vnd.dlna.adts":{source:"iana"},"audio/vnd.dolby.heaac.1":{source:"iana"},"audio/vnd.dolby.heaac.2":{source:"iana"},"audio/vnd.dolby.mlp":{source:"iana"},"audio/vnd.dolby.mps":{source:"iana"},"audio/vnd.dolby.pl2":{source:"iana"},"audio/vnd.dolby.pl2x":{source:"iana"},"audio/vnd.dolby.pl2z":{source:"iana"},"audio/vnd.dolby.pulse.1":{source:"iana"},"audio/vnd.dra":{source:"iana",extensions:["dra"]},"audio/vnd.dts":{source:"iana",extensions:["dts"]},"audio/vnd.dts.hd":{source:"iana",extensions:["dtshd"]},"audio/vnd.dts.uhd":{source:"iana"},"audio/vnd.dvb.file":{source:"iana"},"audio/vnd.everad.plj":{source:"iana"},"audio/vnd.hns.audio":{source:"iana"},"audio/vnd.lucent.voice":{source:"iana",extensions:["lvp"]},"audio/vnd.ms-playready.media.pya":{source:"iana",extensions:["pya"]},"audio/vnd.nokia.mobile-xmf":{source:"iana"},"audio/vnd.nortel.vbk":{source:"iana"},"audio/vnd.nuera.ecelp4800":{source:"iana",extensions:["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{source:"iana",extensions:["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{source:"iana",extensions:["ecelp9600"]},"audio/vnd.octel.sbc":{source:"iana"},"audio/vnd.presonus.multitrack":{source:"iana"},"audio/vnd.qcelp":{source:"iana"},"audio/vnd.rhetorex.32kadpcm":{source:"iana"},"audio/vnd.rip":{source:"iana",extensions:["rip"]},"audio/vnd.rn-realaudio":{compressible:!1},"audio/vnd.sealedmedia.softseal.mpeg":{source:"iana"},"audio/vnd.vmx.cvsd":{source:"iana"},"audio/vnd.wave":{compressible:!1},"audio/vorbis":{source:"iana",compressible:!1},"audio/vorbis-config":{source:"iana"},"audio/wav":{compressible:!1,extensions:["wav"]},"audio/wave":{compressible:!1,extensions:["wav"]},"audio/webm":{source:"apache",compressible:!1,extensions:["weba"]},"audio/x-aac":{source:"apache",compressible:!1,extensions:["aac"]},"audio/x-aiff":{source:"apache",extensions:["aif","aiff","aifc"]},"audio/x-caf":{source:"apache",compressible:!1,extensions:["caf"]},"audio/x-flac":{source:"apache",extensions:["flac"]},"audio/x-m4a":{source:"nginx",extensions:["m4a"]},"audio/x-matroska":{source:"apache",extensions:["mka"]},"audio/x-mpegurl":{source:"apache",extensions:["m3u"]},"audio/x-ms-wax":{source:"apache",extensions:["wax"]},"audio/x-ms-wma":{source:"apache",extensions:["wma"]},"audio/x-pn-realaudio":{source:"apache",extensions:["ram","ra"]},"audio/x-pn-realaudio-plugin":{source:"apache",extensions:["rmp"]},"audio/x-realaudio":{source:"nginx",extensions:["ra"]},"audio/x-tta":{source:"apache"},"audio/x-wav":{source:"apache",extensions:["wav"]},"audio/xm":{source:"apache",extensions:["xm"]},"chemical/x-cdx":{source:"apache",extensions:["cdx"]},"chemical/x-cif":{source:"apache",extensions:["cif"]},"chemical/x-cmdf":{source:"apache",extensions:["cmdf"]},"chemical/x-cml":{source:"apache",extensions:["cml"]},"chemical/x-csml":{source:"apache",extensions:["csml"]},"chemical/x-pdb":{source:"apache"},"chemical/x-xyz":{source:"apache",extensions:["xyz"]},"font/collection":{source:"iana",extensions:["ttc"]},"font/otf":{source:"iana",compressible:!0,extensions:["otf"]},"font/sfnt":{source:"iana"},"font/ttf":{source:"iana",compressible:!0,extensions:["ttf"]},"font/woff":{source:"iana",extensions:["woff"]},"font/woff2":{source:"iana",extensions:["woff2"]},"image/aces":{source:"iana",extensions:["exr"]},"image/apng":{compressible:!1,extensions:["apng"]},"image/avci":{source:"iana",extensions:["avci"]},"image/avcs":{source:"iana",extensions:["avcs"]},"image/avif":{source:"iana",compressible:!1,extensions:["avif"]},"image/bmp":{source:"iana",compressible:!0,extensions:["bmp"]},"image/cgm":{source:"iana",extensions:["cgm"]},"image/dicom-rle":{source:"iana",extensions:["drle"]},"image/emf":{source:"iana",extensions:["emf"]},"image/fits":{source:"iana",extensions:["fits"]},"image/g3fax":{source:"iana",extensions:["g3"]},"image/gif":{source:"iana",compressible:!1,extensions:["gif"]},"image/heic":{source:"iana",extensions:["heic"]},"image/heic-sequence":{source:"iana",extensions:["heics"]},"image/heif":{source:"iana",extensions:["heif"]},"image/heif-sequence":{source:"iana",extensions:["heifs"]},"image/hej2k":{source:"iana",extensions:["hej2"]},"image/hsj2":{source:"iana",extensions:["hsj2"]},"image/ief":{source:"iana",extensions:["ief"]},"image/jls":{source:"iana",extensions:["jls"]},"image/jp2":{source:"iana",compressible:!1,extensions:["jp2","jpg2"]},"image/jpeg":{source:"iana",compressible:!1,extensions:["jpeg","jpg","jpe"]},"image/jph":{source:"iana",extensions:["jph"]},"image/jphc":{source:"iana",extensions:["jhc"]},"image/jpm":{source:"iana",compressible:!1,extensions:["jpm"]},"image/jpx":{source:"iana",compressible:!1,extensions:["jpx","jpf"]},"image/jxr":{source:"iana",extensions:["jxr"]},"image/jxra":{source:"iana",extensions:["jxra"]},"image/jxrs":{source:"iana",extensions:["jxrs"]},"image/jxs":{source:"iana",extensions:["jxs"]},"image/jxsc":{source:"iana",extensions:["jxsc"]},"image/jxsi":{source:"iana",extensions:["jxsi"]},"image/jxss":{source:"iana",extensions:["jxss"]},"image/ktx":{source:"iana",extensions:["ktx"]},"image/ktx2":{source:"iana",extensions:["ktx2"]},"image/naplps":{source:"iana"},"image/pjpeg":{compressible:!1},"image/png":{source:"iana",compressible:!1,extensions:["png"]},"image/prs.btif":{source:"iana",extensions:["btif"]},"image/prs.pti":{source:"iana",extensions:["pti"]},"image/pwg-raster":{source:"iana"},"image/sgi":{source:"apache",extensions:["sgi"]},"image/svg+xml":{source:"iana",compressible:!0,extensions:["svg","svgz"]},"image/t38":{source:"iana",extensions:["t38"]},"image/tiff":{source:"iana",compressible:!1,extensions:["tif","tiff"]},"image/tiff-fx":{source:"iana",extensions:["tfx"]},"image/vnd.adobe.photoshop":{source:"iana",compressible:!0,extensions:["psd"]},"image/vnd.airzip.accelerator.azv":{source:"iana",extensions:["azv"]},"image/vnd.cns.inf2":{source:"iana"},"image/vnd.dece.graphic":{source:"iana",extensions:["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{source:"iana",extensions:["djvu","djv"]},"image/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"image/vnd.dwg":{source:"iana",extensions:["dwg"]},"image/vnd.dxf":{source:"iana",extensions:["dxf"]},"image/vnd.fastbidsheet":{source:"iana",extensions:["fbs"]},"image/vnd.fpx":{source:"iana",extensions:["fpx"]},"image/vnd.fst":{source:"iana",extensions:["fst"]},"image/vnd.fujixerox.edmics-mmr":{source:"iana",extensions:["mmr"]},"image/vnd.fujixerox.edmics-rlc":{source:"iana",extensions:["rlc"]},"image/vnd.globalgraphics.pgb":{source:"iana"},"image/vnd.microsoft.icon":{source:"iana",compressible:!0,extensions:["ico"]},"image/vnd.mix":{source:"iana"},"image/vnd.mozilla.apng":{source:"iana"},"image/vnd.ms-dds":{compressible:!0,extensions:["dds"]},"image/vnd.ms-modi":{source:"iana",extensions:["mdi"]},"image/vnd.ms-photo":{source:"apache",extensions:["wdp"]},"image/vnd.net-fpx":{source:"iana",extensions:["npx"]},"image/vnd.pco.b16":{source:"iana",extensions:["b16"]},"image/vnd.radiance":{source:"iana"},"image/vnd.sealed.png":{source:"iana"},"image/vnd.sealedmedia.softseal.gif":{source:"iana"},"image/vnd.sealedmedia.softseal.jpg":{source:"iana"},"image/vnd.svf":{source:"iana"},"image/vnd.tencent.tap":{source:"iana",extensions:["tap"]},"image/vnd.valve.source.texture":{source:"iana",extensions:["vtf"]},"image/vnd.wap.wbmp":{source:"iana",extensions:["wbmp"]},"image/vnd.xiff":{source:"iana",extensions:["xif"]},"image/vnd.zbrush.pcx":{source:"iana",extensions:["pcx"]},"image/webp":{source:"apache",extensions:["webp"]},"image/wmf":{source:"iana",extensions:["wmf"]},"image/x-3ds":{source:"apache",extensions:["3ds"]},"image/x-cmu-raster":{source:"apache",extensions:["ras"]},"image/x-cmx":{source:"apache",extensions:["cmx"]},"image/x-freehand":{source:"apache",extensions:["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{source:"apache",compressible:!0,extensions:["ico"]},"image/x-jng":{source:"nginx",extensions:["jng"]},"image/x-mrsid-image":{source:"apache",extensions:["sid"]},"image/x-ms-bmp":{source:"nginx",compressible:!0,extensions:["bmp"]},"image/x-pcx":{source:"apache",extensions:["pcx"]},"image/x-pict":{source:"apache",extensions:["pic","pct"]},"image/x-portable-anymap":{source:"apache",extensions:["pnm"]},"image/x-portable-bitmap":{source:"apache",extensions:["pbm"]},"image/x-portable-graymap":{source:"apache",extensions:["pgm"]},"image/x-portable-pixmap":{source:"apache",extensions:["ppm"]},"image/x-rgb":{source:"apache",extensions:["rgb"]},"image/x-tga":{source:"apache",extensions:["tga"]},"image/x-xbitmap":{source:"apache",extensions:["xbm"]},"image/x-xcf":{compressible:!1},"image/x-xpixmap":{source:"apache",extensions:["xpm"]},"image/x-xwindowdump":{source:"apache",extensions:["xwd"]},"message/cpim":{source:"iana"},"message/delivery-status":{source:"iana"},"message/disposition-notification":{source:"iana",extensions:["disposition-notification"]},"message/external-body":{source:"iana"},"message/feedback-report":{source:"iana"},"message/global":{source:"iana",extensions:["u8msg"]},"message/global-delivery-status":{source:"iana",extensions:["u8dsn"]},"message/global-disposition-notification":{source:"iana",extensions:["u8mdn"]},"message/global-headers":{source:"iana",extensions:["u8hdr"]},"message/http":{source:"iana",compressible:!1},"message/imdn+xml":{source:"iana",compressible:!0},"message/news":{source:"iana"},"message/partial":{source:"iana",compressible:!1},"message/rfc822":{source:"iana",compressible:!0,extensions:["eml","mime"]},"message/s-http":{source:"iana"},"message/sip":{source:"iana"},"message/sipfrag":{source:"iana"},"message/tracking-status":{source:"iana"},"message/vnd.si.simp":{source:"iana"},"message/vnd.wfa.wsc":{source:"iana",extensions:["wsc"]},"model/3mf":{source:"iana",extensions:["3mf"]},"model/e57":{source:"iana"},"model/gltf+json":{source:"iana",compressible:!0,extensions:["gltf"]},"model/gltf-binary":{source:"iana",compressible:!0,extensions:["glb"]},"model/iges":{source:"iana",compressible:!1,extensions:["igs","iges"]},"model/mesh":{source:"iana",compressible:!1,extensions:["msh","mesh","silo"]},"model/mtl":{source:"iana",extensions:["mtl"]},"model/obj":{source:"iana",extensions:["obj"]},"model/step":{source:"iana"},"model/step+xml":{source:"iana",compressible:!0,extensions:["stpx"]},"model/step+zip":{source:"iana",compressible:!1,extensions:["stpz"]},"model/step-xml+zip":{source:"iana",compressible:!1,extensions:["stpxz"]},"model/stl":{source:"iana",extensions:["stl"]},"model/vnd.collada+xml":{source:"iana",compressible:!0,extensions:["dae"]},"model/vnd.dwf":{source:"iana",extensions:["dwf"]},"model/vnd.flatland.3dml":{source:"iana"},"model/vnd.gdl":{source:"iana",extensions:["gdl"]},"model/vnd.gs-gdl":{source:"apache"},"model/vnd.gs.gdl":{source:"iana"},"model/vnd.gtw":{source:"iana",extensions:["gtw"]},"model/vnd.moml+xml":{source:"iana",compressible:!0},"model/vnd.mts":{source:"iana",extensions:["mts"]},"model/vnd.opengex":{source:"iana",extensions:["ogex"]},"model/vnd.parasolid.transmit.binary":{source:"iana",extensions:["x_b"]},"model/vnd.parasolid.transmit.text":{source:"iana",extensions:["x_t"]},"model/vnd.pytha.pyox":{source:"iana"},"model/vnd.rosette.annotated-data-model":{source:"iana"},"model/vnd.sap.vds":{source:"iana",extensions:["vds"]},"model/vnd.usdz+zip":{source:"iana",compressible:!1,extensions:["usdz"]},"model/vnd.valve.source.compiled-map":{source:"iana",extensions:["bsp"]},"model/vnd.vtu":{source:"iana",extensions:["vtu"]},"model/vrml":{source:"iana",compressible:!1,extensions:["wrl","vrml"]},"model/x3d+binary":{source:"apache",compressible:!1,extensions:["x3db","x3dbz"]},"model/x3d+fastinfoset":{source:"iana",extensions:["x3db"]},"model/x3d+vrml":{source:"apache",compressible:!1,extensions:["x3dv","x3dvz"]},"model/x3d+xml":{source:"iana",compressible:!0,extensions:["x3d","x3dz"]},"model/x3d-vrml":{source:"iana",extensions:["x3dv"]},"multipart/alternative":{source:"iana",compressible:!1},"multipart/appledouble":{source:"iana"},"multipart/byteranges":{source:"iana"},"multipart/digest":{source:"iana"},"multipart/encrypted":{source:"iana",compressible:!1},"multipart/form-data":{source:"iana",compressible:!1},"multipart/header-set":{source:"iana"},"multipart/mixed":{source:"iana"},"multipart/multilingual":{source:"iana"},"multipart/parallel":{source:"iana"},"multipart/related":{source:"iana",compressible:!1},"multipart/report":{source:"iana"},"multipart/signed":{source:"iana",compressible:!1},"multipart/vnd.bint.med-plus":{source:"iana"},"multipart/voice-message":{source:"iana"},"multipart/x-mixed-replace":{source:"iana"},"text/1d-interleaved-parityfec":{source:"iana"},"text/cache-manifest":{source:"iana",compressible:!0,extensions:["appcache","manifest"]},"text/calendar":{source:"iana",extensions:["ics","ifb"]},"text/calender":{compressible:!0},"text/cmd":{compressible:!0},"text/coffeescript":{extensions:["coffee","litcoffee"]},"text/cql":{source:"iana"},"text/cql-expression":{source:"iana"},"text/cql-identifier":{source:"iana"},"text/css":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["css"]},"text/csv":{source:"iana",compressible:!0,extensions:["csv"]},"text/csv-schema":{source:"iana"},"text/directory":{source:"iana"},"text/dns":{source:"iana"},"text/ecmascript":{source:"iana"},"text/encaprtp":{source:"iana"},"text/enriched":{source:"iana"},"text/fhirpath":{source:"iana"},"text/flexfec":{source:"iana"},"text/fwdred":{source:"iana"},"text/gff3":{source:"iana"},"text/grammar-ref-list":{source:"iana"},"text/html":{source:"iana",compressible:!0,extensions:["html","htm","shtml"]},"text/jade":{extensions:["jade"]},"text/javascript":{source:"iana",compressible:!0},"text/jcr-cnd":{source:"iana"},"text/jsx":{compressible:!0,extensions:["jsx"]},"text/less":{compressible:!0,extensions:["less"]},"text/markdown":{source:"iana",compressible:!0,extensions:["markdown","md"]},"text/mathml":{source:"nginx",extensions:["mml"]},"text/mdx":{compressible:!0,extensions:["mdx"]},"text/mizar":{source:"iana"},"text/n3":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["n3"]},"text/parameters":{source:"iana",charset:"UTF-8"},"text/parityfec":{source:"iana"},"text/plain":{source:"iana",compressible:!0,extensions:["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{source:"iana",charset:"UTF-8"},"text/prs.fallenstein.rst":{source:"iana"},"text/prs.lines.tag":{source:"iana",extensions:["dsc"]},"text/prs.prop.logic":{source:"iana"},"text/raptorfec":{source:"iana"},"text/red":{source:"iana"},"text/rfc822-headers":{source:"iana"},"text/richtext":{source:"iana",compressible:!0,extensions:["rtx"]},"text/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"text/rtp-enc-aescm128":{source:"iana"},"text/rtploopback":{source:"iana"},"text/rtx":{source:"iana"},"text/sgml":{source:"iana",extensions:["sgml","sgm"]},"text/shaclc":{source:"iana"},"text/shex":{source:"iana",extensions:["shex"]},"text/slim":{extensions:["slim","slm"]},"text/spdx":{source:"iana",extensions:["spdx"]},"text/strings":{source:"iana"},"text/stylus":{extensions:["stylus","styl"]},"text/t140":{source:"iana"},"text/tab-separated-values":{source:"iana",compressible:!0,extensions:["tsv"]},"text/troff":{source:"iana",extensions:["t","tr","roff","man","me","ms"]},"text/turtle":{source:"iana",charset:"UTF-8",extensions:["ttl"]},"text/ulpfec":{source:"iana"},"text/uri-list":{source:"iana",compressible:!0,extensions:["uri","uris","urls"]},"text/vcard":{source:"iana",compressible:!0,extensions:["vcard"]},"text/vnd.a":{source:"iana"},"text/vnd.abc":{source:"iana"},"text/vnd.ascii-art":{source:"iana"},"text/vnd.curl":{source:"iana",extensions:["curl"]},"text/vnd.curl.dcurl":{source:"apache",extensions:["dcurl"]},"text/vnd.curl.mcurl":{source:"apache",extensions:["mcurl"]},"text/vnd.curl.scurl":{source:"apache",extensions:["scurl"]},"text/vnd.debian.copyright":{source:"iana",charset:"UTF-8"},"text/vnd.dmclientscript":{source:"iana"},"text/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"text/vnd.esmertec.theme-descriptor":{source:"iana",charset:"UTF-8"},"text/vnd.familysearch.gedcom":{source:"iana",extensions:["ged"]},"text/vnd.ficlab.flt":{source:"iana"},"text/vnd.fly":{source:"iana",extensions:["fly"]},"text/vnd.fmi.flexstor":{source:"iana",extensions:["flx"]},"text/vnd.gml":{source:"iana"},"text/vnd.graphviz":{source:"iana",extensions:["gv"]},"text/vnd.hans":{source:"iana"},"text/vnd.hgl":{source:"iana"},"text/vnd.in3d.3dml":{source:"iana",extensions:["3dml"]},"text/vnd.in3d.spot":{source:"iana",extensions:["spot"]},"text/vnd.iptc.newsml":{source:"iana"},"text/vnd.iptc.nitf":{source:"iana"},"text/vnd.latex-z":{source:"iana"},"text/vnd.motorola.reflex":{source:"iana"},"text/vnd.ms-mediapackage":{source:"iana"},"text/vnd.net2phone.commcenter.command":{source:"iana"},"text/vnd.radisys.msml-basic-layout":{source:"iana"},"text/vnd.senx.warpscript":{source:"iana"},"text/vnd.si.uricatalogue":{source:"iana"},"text/vnd.sosi":{source:"iana"},"text/vnd.sun.j2me.app-descriptor":{source:"iana",charset:"UTF-8",extensions:["jad"]},"text/vnd.trolltech.linguist":{source:"iana",charset:"UTF-8"},"text/vnd.wap.si":{source:"iana"},"text/vnd.wap.sl":{source:"iana"},"text/vnd.wap.wml":{source:"iana",extensions:["wml"]},"text/vnd.wap.wmlscript":{source:"iana",extensions:["wmls"]},"text/vtt":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["vtt"]},"text/x-asm":{source:"apache",extensions:["s","asm"]},"text/x-c":{source:"apache",extensions:["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{source:"nginx",extensions:["htc"]},"text/x-fortran":{source:"apache",extensions:["f","for","f77","f90"]},"text/x-gwt-rpc":{compressible:!0},"text/x-handlebars-template":{extensions:["hbs"]},"text/x-java-source":{source:"apache",extensions:["java"]},"text/x-jquery-tmpl":{compressible:!0},"text/x-lua":{extensions:["lua"]},"text/x-markdown":{compressible:!0,extensions:["mkd"]},"text/x-nfo":{source:"apache",extensions:["nfo"]},"text/x-opml":{source:"apache",extensions:["opml"]},"text/x-org":{compressible:!0,extensions:["org"]},"text/x-pascal":{source:"apache",extensions:["p","pas"]},"text/x-processing":{compressible:!0,extensions:["pde"]},"text/x-sass":{extensions:["sass"]},"text/x-scss":{extensions:["scss"]},"text/x-setext":{source:"apache",extensions:["etx"]},"text/x-sfv":{source:"apache",extensions:["sfv"]},"text/x-suse-ymp":{compressible:!0,extensions:["ymp"]},"text/x-uuencode":{source:"apache",extensions:["uu"]},"text/x-vcalendar":{source:"apache",extensions:["vcs"]},"text/x-vcard":{source:"apache",extensions:["vcf"]},"text/xml":{source:"iana",compressible:!0,extensions:["xml"]},"text/xml-external-parsed-entity":{source:"iana"},"text/yaml":{compressible:!0,extensions:["yaml","yml"]},"video/1d-interleaved-parityfec":{source:"iana"},"video/3gpp":{source:"iana",extensions:["3gp","3gpp"]},"video/3gpp-tt":{source:"iana"},"video/3gpp2":{source:"iana",extensions:["3g2"]},"video/av1":{source:"iana"},"video/bmpeg":{source:"iana"},"video/bt656":{source:"iana"},"video/celb":{source:"iana"},"video/dv":{source:"iana"},"video/encaprtp":{source:"iana"},"video/ffv1":{source:"iana"},"video/flexfec":{source:"iana"},"video/h261":{source:"iana",extensions:["h261"]},"video/h263":{source:"iana",extensions:["h263"]},"video/h263-1998":{source:"iana"},"video/h263-2000":{source:"iana"},"video/h264":{source:"iana",extensions:["h264"]},"video/h264-rcdo":{source:"iana"},"video/h264-svc":{source:"iana"},"video/h265":{source:"iana"},"video/iso.segment":{source:"iana",extensions:["m4s"]},"video/jpeg":{source:"iana",extensions:["jpgv"]},"video/jpeg2000":{source:"iana"},"video/jpm":{source:"apache",extensions:["jpm","jpgm"]},"video/jxsv":{source:"iana"},"video/mj2":{source:"iana",extensions:["mj2","mjp2"]},"video/mp1s":{source:"iana"},"video/mp2p":{source:"iana"},"video/mp2t":{source:"iana",extensions:["ts"]},"video/mp4":{source:"iana",compressible:!1,extensions:["mp4","mp4v","mpg4"]},"video/mp4v-es":{source:"iana"},"video/mpeg":{source:"iana",compressible:!1,extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{source:"iana"},"video/mpv":{source:"iana"},"video/nv":{source:"iana"},"video/ogg":{source:"iana",compressible:!1,extensions:["ogv"]},"video/parityfec":{source:"iana"},"video/pointer":{source:"iana"},"video/quicktime":{source:"iana",compressible:!1,extensions:["qt","mov"]},"video/raptorfec":{source:"iana"},"video/raw":{source:"iana"},"video/rtp-enc-aescm128":{source:"iana"},"video/rtploopback":{source:"iana"},"video/rtx":{source:"iana"},"video/scip":{source:"iana"},"video/smpte291":{source:"iana"},"video/smpte292m":{source:"iana"},"video/ulpfec":{source:"iana"},"video/vc1":{source:"iana"},"video/vc2":{source:"iana"},"video/vnd.cctv":{source:"iana"},"video/vnd.dece.hd":{source:"iana",extensions:["uvh","uvvh"]},"video/vnd.dece.mobile":{source:"iana",extensions:["uvm","uvvm"]},"video/vnd.dece.mp4":{source:"iana"},"video/vnd.dece.pd":{source:"iana",extensions:["uvp","uvvp"]},"video/vnd.dece.sd":{source:"iana",extensions:["uvs","uvvs"]},"video/vnd.dece.video":{source:"iana",extensions:["uvv","uvvv"]},"video/vnd.directv.mpeg":{source:"iana"},"video/vnd.directv.mpeg-tts":{source:"iana"},"video/vnd.dlna.mpeg-tts":{source:"iana"},"video/vnd.dvb.file":{source:"iana",extensions:["dvb"]},"video/vnd.fvt":{source:"iana",extensions:["fvt"]},"video/vnd.hns.video":{source:"iana"},"video/vnd.iptvforum.1dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.1dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.2dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.2dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.ttsavc":{source:"iana"},"video/vnd.iptvforum.ttsmpeg2":{source:"iana"},"video/vnd.motorola.video":{source:"iana"},"video/vnd.motorola.videop":{source:"iana"},"video/vnd.mpegurl":{source:"iana",extensions:["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{source:"iana",extensions:["pyv"]},"video/vnd.nokia.interleaved-multimedia":{source:"iana"},"video/vnd.nokia.mp4vr":{source:"iana"},"video/vnd.nokia.videovoip":{source:"iana"},"video/vnd.objectvideo":{source:"iana"},"video/vnd.radgamettools.bink":{source:"iana"},"video/vnd.radgamettools.smacker":{source:"iana"},"video/vnd.sealed.mpeg1":{source:"iana"},"video/vnd.sealed.mpeg4":{source:"iana"},"video/vnd.sealed.swf":{source:"iana"},"video/vnd.sealedmedia.softseal.mov":{source:"iana"},"video/vnd.uvvu.mp4":{source:"iana",extensions:["uvu","uvvu"]},"video/vnd.vivo":{source:"iana",extensions:["viv"]},"video/vnd.youtube.yt":{source:"iana"},"video/vp8":{source:"iana"},"video/vp9":{source:"iana"},"video/webm":{source:"apache",compressible:!1,extensions:["webm"]},"video/x-f4v":{source:"apache",extensions:["f4v"]},"video/x-fli":{source:"apache",extensions:["fli"]},"video/x-flv":{source:"apache",compressible:!1,extensions:["flv"]},"video/x-m4v":{source:"apache",extensions:["m4v"]},"video/x-matroska":{source:"apache",compressible:!1,extensions:["mkv","mk3d","mks"]},"video/x-mng":{source:"apache",extensions:["mng"]},"video/x-ms-asf":{source:"apache",extensions:["asf","asx"]},"video/x-ms-vob":{source:"apache",extensions:["vob"]},"video/x-ms-wm":{source:"apache",extensions:["wm"]},"video/x-ms-wmv":{source:"apache",compressible:!1,extensions:["wmv"]},"video/x-ms-wmx":{source:"apache",extensions:["wmx"]},"video/x-ms-wvx":{source:"apache",extensions:["wvx"]},"video/x-msvideo":{source:"apache",extensions:["avi"]},"video/x-sgi-movie":{source:"apache",extensions:["movie"]},"video/x-smv":{source:"apache",extensions:["smv"]},"x-conference/x-cooltalk":{source:"apache",extensions:["ice"]},"x-shader/x-fragment":{compressible:!0},"x-shader/x-vertex":{compressible:!0}}});var E8=P((vE,D8)=>{/*!
|
|
45
|
+
* mime-db
|
|
46
|
+
* Copyright(c) 2014 Jonathan Ong
|
|
47
|
+
* Copyright(c) 2015-2022 Douglas Christopher Wilson
|
|
48
|
+
* MIT Licensed
|
|
49
|
+
*/D8.exports=I8()});var h8=P((bB)=>{/*!
|
|
50
|
+
* mime-types
|
|
51
|
+
* Copyright(c) 2014 Jonathan Ong
|
|
52
|
+
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
53
|
+
* MIT Licensed
|
|
54
|
+
*/var a2=E8(),vB=e("path").extname,T8=/^\s*([^;\s]*)(?:;|\s|$)/,qB=/^text\//i;bB.charset=R8;bB.charsets={lookup:R8};bB.contentType=UB;bB.extension=BB;bB.extensions=Object.create(null);bB.lookup=VB;bB.types=Object.create(null);FB(bB.extensions,bB.types);function R8(c){if(!c||typeof c!=="string")return!1;var x=T8.exec(c),p=x&&a2[x[1].toLowerCase()];if(p&&p.charset)return p.charset;if(x&&qB.test(x[1]))return"UTF-8";return!1}function UB(c){if(!c||typeof c!=="string")return!1;var x=c.indexOf("/")===-1?bB.lookup(c):c;if(!x)return!1;if(x.indexOf("charset")===-1){var p=bB.charset(x);if(p)x+="; charset="+p.toLowerCase()}return x}function BB(c){if(!c||typeof c!=="string")return!1;var x=T8.exec(c),p=x&&bB.extensions[x[1].toLowerCase()];if(!p||!p.length)return!1;return p[0]}function VB(c){if(!c||typeof c!=="string")return!1;var x=vB("x."+c).toLowerCase().substr(1);if(!x)return!1;return bB.types[x]||!1}function FB(c,x){var p=["nginx","apache",void 0,"iana"];Object.keys(a2).forEach(function(z){var Z=a2[z],Q=Z.extensions;if(!Q||!Q.length)return;c[z]=Q;for(var J=0;J<Q.length;J++){var X=Q[J];if(x[X]){var i=p.indexOf(a2[x[X]].source),G=p.indexOf(Z.source);if(x[X]!=="application/octet-stream"&&(i>G||i===G&&x[X].substr(0,12)==="application/"))continue}x[X]=z}})}});var _8=P((UE,a8)=>{a8.exports=uB;function uB(c){var x=typeof setImmediate=="function"?setImmediate:typeof process=="object"&&typeof process.nextTick=="function"?process.nextTick:null;if(x)x(c);else setTimeout(c,0)}});var Y3=P((BE,l8)=>{var g8=_8();l8.exports=PB;function PB(c){var x=!1;return g8(function(){x=!0}),function($,z){if(x)c($,z);else g8(function(){c($,z)})}}});var H3=P((VE,o8)=>{o8.exports=yB;function yB(c){Object.keys(c.jobs).forEach(MB.bind(c)),c.jobs={}}function MB(c){if(typeof this.jobs[c]=="function")this.jobs[c]()}});var W3=P((FE,r8)=>{var s8=Y3(),fB=H3();r8.exports=nB;function nB(c,x,p,$){var z=p.keyedList?p.keyedList[p.index]:p.index;p.jobs[z]=kB(x,z,c[z],function(Z,Q){if(!(z in p.jobs))return;if(delete p.jobs[z],Z)fB(p);else p.results[z]=Q;$(Z,p.results)})}function kB(c,x,p,$){var z;if(c.length==2)z=c(p,s8($));else z=c(p,x,s8($));return z}});var K3=P((bE,t8)=>{t8.exports=OB;function OB(c,x){var p=!Array.isArray(c),$={index:0,keyedList:p||x?Object.keys(c):null,jobs:{},results:p?{}:[],size:p?Object.keys(c).length:c.length};if(x)$.keyedList.sort(p?x:function(z,Z){return x(c[z],c[Z])});return $}});var w3=P((LE,e8)=>{var CB=H3(),jB=Y3();e8.exports=SB;function SB(c){if(!Object.keys(this.jobs).length)return;this.index=this.size,CB(this),jB(c)(null,this.results)}});var x9=P((NE,c9)=>{var IB=W3(),DB=K3(),EB=w3();c9.exports=TB;function TB(c,x,p){var $=DB(c);while($.index<($.keyedList||c).length)IB(c,x,$,function(z,Z){if(z){p(z,Z);return}if(Object.keys($.jobs).length===0){p(null,$.results);return}}),$.index++;return EB.bind($,p)}});var v3=P((AE,_2)=>{var p9=W3(),RB=K3(),mB=w3();_2.exports=dB;_2.exports.ascending=$9;_2.exports.descending=hB;function dB(c,x,p,$){var z=RB(c,p);return p9(c,x,z,function Z(Q,J){if(Q){$(Q,J);return}if(z.index++,z.index<(z.keyedList||c).length){p9(c,x,z,Z);return}$(null,z.results)}),mB.bind(z,$)}function $9(c,x){return c<x?-1:c>x?1:0}function hB(c,x){return-1*$9(c,x)}});var Z9=P((uE,z9)=>{var aB=v3();z9.exports=_B;function _B(c,x,p){return aB(c,x,null,p)}});var J9=P((PE,Q9)=>{Q9.exports={parallel:x9(),serial:Z9(),serialOrdered:v3()}});var q3=P((yE,X9)=>{X9.exports=Object});var G9=P((ME,i9)=>{i9.exports=Error});var H9=P((fE,Y9)=>{Y9.exports=EvalError});var K9=P((nE,W9)=>{W9.exports=RangeError});var v9=P((kE,w9)=>{w9.exports=ReferenceError});var U9=P((OE,q9)=>{q9.exports=SyntaxError});var g2=P((CE,B9)=>{B9.exports=TypeError});var F9=P((jE,V9)=>{V9.exports=URIError});var L9=P((SE,b9)=>{b9.exports=Math.abs});var A9=P((IE,N9)=>{N9.exports=Math.floor});var P9=P((DE,u9)=>{u9.exports=Math.max});var M9=P((EE,y9)=>{y9.exports=Math.min});var n9=P((TE,f9)=>{f9.exports=Math.pow});var O9=P((RE,k9)=>{k9.exports=Math.round});var j9=P((mE,C9)=>{C9.exports=Number.isNaN||function(x){return x!==x}});var I9=P((dE,S9)=>{var gB=j9();S9.exports=function(x){if(gB(x)||x===0)return x;return x<0?-1:1}});var E9=P((hE,D9)=>{D9.exports=Object.getOwnPropertyDescriptor});var U3=P((aE,T9)=>{var l2=E9();if(l2)try{l2([],"length")}catch(c){l2=null}T9.exports=l2});var m9=P((_E,R9)=>{var o2=Object.defineProperty||!1;if(o2)try{o2({},"a",{value:1})}catch(c){o2=!1}R9.exports=o2});var B3=P((gE,d9)=>{d9.exports=function(){if(typeof Symbol!=="function"||typeof Object.getOwnPropertySymbols!=="function")return!1;if(typeof Symbol.iterator==="symbol")return!0;var x={},p=Symbol("test"),$=Object(p);if(typeof p==="string")return!1;if(Object.prototype.toString.call(p)!=="[object Symbol]")return!1;if(Object.prototype.toString.call($)!=="[object Symbol]")return!1;var z=42;x[p]=z;for(var Z in x)return!1;if(typeof Object.keys==="function"&&Object.keys(x).length!==0)return!1;if(typeof Object.getOwnPropertyNames==="function"&&Object.getOwnPropertyNames(x).length!==0)return!1;var Q=Object.getOwnPropertySymbols(x);if(Q.length!==1||Q[0]!==p)return!1;if(!Object.prototype.propertyIsEnumerable.call(x,p))return!1;if(typeof Object.getOwnPropertyDescriptor==="function"){var J=Object.getOwnPropertyDescriptor(x,p);if(J.value!==z||J.enumerable!==!0)return!1}return!0}});var _9=P((lE,a9)=>{var h9=typeof Symbol<"u"&&Symbol,lB=B3();a9.exports=function(){if(typeof h9!=="function")return!1;if(typeof Symbol!=="function")return!1;if(typeof h9("foo")!=="symbol")return!1;if(typeof Symbol("bar")!=="symbol")return!1;return lB()}});var V3=P((oE,g9)=>{g9.exports=typeof Reflect<"u"&&Reflect.getPrototypeOf||null});var F3=P((sE,l9)=>{var oB=q3();l9.exports=oB.getPrototypeOf||null});var r9=P((rE,s9)=>{var sB="Function.prototype.bind called on incompatible ",rB=Object.prototype.toString,tB=Math.max,eB="[object Function]",o9=function(x,p){var $=[];for(var z=0;z<x.length;z+=1)$[z]=x[z];for(var Z=0;Z<p.length;Z+=1)$[Z+x.length]=p[Z];return $},cV=function(x,p){var $=[];for(var z=p||0,Z=0;z<x.length;z+=1,Z+=1)$[Z]=x[z];return $},xV=function(c,x){var p="";for(var $=0;$<c.length;$+=1)if(p+=c[$],$+1<c.length)p+=x;return p};s9.exports=function(x){var p=this;if(typeof p!=="function"||rB.apply(p)!==eB)throw TypeError(sB+p);var $=cV(arguments,1),z,Z=function(){if(this instanceof z){var G=p.apply(this,o9($,arguments));if(Object(G)===G)return G;return this}return p.apply(x,o9($,arguments))},Q=tB(0,p.length-$.length),J=[];for(var X=0;X<Q;X++)J[X]="$"+X;if(z=Function("binder","return function ("+xV(J,",")+"){ return binder.apply(this,arguments); }")(Z),p.prototype){var i=function(){};i.prototype=p.prototype,z.prototype=new i,i.prototype=null}return z}});var L1=P((tE,t9)=>{var pV=r9();t9.exports=Function.prototype.bind||pV});var s2=P((eE,e9)=>{e9.exports=Function.prototype.call});var b3=P((cT,c$)=>{c$.exports=Function.prototype.apply});var p$=P((xT,x$)=>{x$.exports=typeof Reflect<"u"&&Reflect&&Reflect.apply});var z$=P((pT,$$)=>{var $V=L1(),zV=b3(),ZV=s2(),QV=p$();$$.exports=QV||$V.call(ZV,zV)});var Q$=P(($T,Z$)=>{var JV=L1(),XV=g2(),iV=s2(),GV=z$();Z$.exports=function(x){if(x.length<1||typeof x[0]!=="function")throw new XV("a function is required");return GV(JV,iV,x)}});var H$=P((zT,Y$)=>{var YV=Q$(),J$=U3(),i$;try{i$=[].__proto__===Array.prototype}catch(c){if(!c||typeof c!=="object"||!("code"in c)||c.code!=="ERR_PROTO_ACCESS")throw c}var L3=!!i$&&J$&&J$(Object.prototype,"__proto__"),G$=Object,X$=G$.getPrototypeOf;Y$.exports=L3&&typeof L3.get==="function"?YV([L3.get]):typeof X$==="function"?function(x){return X$(x==null?x:G$(x))}:!1});var q$=P((ZT,v$)=>{var W$=V3(),K$=F3(),w$=H$();v$.exports=W$?function(x){return W$(x)}:K$?function(x){if(!x||typeof x!=="object"&&typeof x!=="function")throw TypeError("getProto: not an object");return K$(x)}:w$?function(x){return w$(x)}:null});var r2=P((QT,U$)=>{var HV=Function.prototype.call,WV=Object.prototype.hasOwnProperty,KV=L1();U$.exports=KV.call(HV,WV)});var N$=P((JT,L$)=>{var pc,wV=q3(),vV=G9(),qV=H9(),UV=K9(),BV=v9(),Mx=U9(),yx=g2(),VV=F9(),FV=L9(),bV=A9(),LV=P9(),NV=M9(),AV=n9(),uV=O9(),PV=I9(),F$=Function,N3=function(c){try{return F$('"use strict"; return ('+c+").constructor;")()}catch(x){}},N1=U3(),yV=m9(),A3=function(){throw new yx},MV=N1?function(){try{return arguments.callee,A3}catch(c){try{return N1(arguments,"callee").get}catch(x){return A3}}}():A3,ux=_9()(),Mc=q$(),fV=F3(),nV=V3(),b$=b3(),A1=s2(),Px={},kV=typeof Uint8Array>"u"||!Mc?pc:Mc(Uint8Array),$x={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?pc:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?pc:ArrayBuffer,"%ArrayIteratorPrototype%":ux&&Mc?Mc([][Symbol.iterator]()):pc,"%AsyncFromSyncIteratorPrototype%":pc,"%AsyncFunction%":Px,"%AsyncGenerator%":Px,"%AsyncGeneratorFunction%":Px,"%AsyncIteratorPrototype%":Px,"%Atomics%":typeof Atomics>"u"?pc:Atomics,"%BigInt%":typeof BigInt>"u"?pc:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?pc:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?pc:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?pc:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":vV,"%eval%":eval,"%EvalError%":qV,"%Float16Array%":typeof Float16Array>"u"?pc:Float16Array,"%Float32Array%":typeof Float32Array>"u"?pc:Float32Array,"%Float64Array%":typeof Float64Array>"u"?pc:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?pc:FinalizationRegistry,"%Function%":F$,"%GeneratorFunction%":Px,"%Int8Array%":typeof Int8Array>"u"?pc:Int8Array,"%Int16Array%":typeof Int16Array>"u"?pc:Int16Array,"%Int32Array%":typeof Int32Array>"u"?pc:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":ux&&Mc?Mc(Mc([][Symbol.iterator]())):pc,"%JSON%":typeof JSON==="object"?JSON:pc,"%Map%":typeof Map>"u"?pc:Map,"%MapIteratorPrototype%":typeof Map>"u"||!ux||!Mc?pc:Mc(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":wV,"%Object.getOwnPropertyDescriptor%":N1,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?pc:Promise,"%Proxy%":typeof Proxy>"u"?pc:Proxy,"%RangeError%":UV,"%ReferenceError%":BV,"%Reflect%":typeof Reflect>"u"?pc:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?pc:Set,"%SetIteratorPrototype%":typeof Set>"u"||!ux||!Mc?pc:Mc(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?pc:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":ux&&Mc?Mc(""[Symbol.iterator]()):pc,"%Symbol%":ux?Symbol:pc,"%SyntaxError%":Mx,"%ThrowTypeError%":MV,"%TypedArray%":kV,"%TypeError%":yx,"%Uint8Array%":typeof Uint8Array>"u"?pc:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?pc:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?pc:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?pc:Uint32Array,"%URIError%":VV,"%WeakMap%":typeof WeakMap>"u"?pc:WeakMap,"%WeakRef%":typeof WeakRef>"u"?pc:WeakRef,"%WeakSet%":typeof WeakSet>"u"?pc:WeakSet,"%Function.prototype.call%":A1,"%Function.prototype.apply%":b$,"%Object.defineProperty%":yV,"%Object.getPrototypeOf%":fV,"%Math.abs%":FV,"%Math.floor%":bV,"%Math.max%":LV,"%Math.min%":NV,"%Math.pow%":AV,"%Math.round%":uV,"%Math.sign%":PV,"%Reflect.getPrototypeOf%":nV};if(Mc)try{null.error}catch(c){u3=Mc(Mc(c)),$x["%Error.prototype%"]=u3}var u3,OV=function c(x){var p;if(x==="%AsyncFunction%")p=N3("async function () {}");else if(x==="%GeneratorFunction%")p=N3("function* () {}");else if(x==="%AsyncGeneratorFunction%")p=N3("async function* () {}");else if(x==="%AsyncGenerator%"){var $=c("%AsyncGeneratorFunction%");if($)p=$.prototype}else if(x==="%AsyncIteratorPrototype%"){var z=c("%AsyncGenerator%");if(z&&Mc)p=Mc(z.prototype)}return $x[x]=p,p},B$={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},u1=L1(),t2=r2(),CV=u1.call(A1,Array.prototype.concat),jV=u1.call(b$,Array.prototype.splice),V$=u1.call(A1,String.prototype.replace),e2=u1.call(A1,String.prototype.slice),SV=u1.call(A1,RegExp.prototype.exec),IV=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,DV=/\\(\\)?/g,EV=function(x){var p=e2(x,0,1),$=e2(x,-1);if(p==="%"&&$!=="%")throw new Mx("invalid intrinsic syntax, expected closing `%`");else if($==="%"&&p!=="%")throw new Mx("invalid intrinsic syntax, expected opening `%`");var z=[];return V$(x,IV,function(Z,Q,J,X){z[z.length]=J?V$(X,DV,"$1"):Q||Z}),z},TV=function(x,p){var $=x,z;if(t2(B$,$))z=B$[$],$="%"+z[0]+"%";if(t2($x,$)){var Z=$x[$];if(Z===Px)Z=OV($);if(typeof Z>"u"&&!p)throw new yx("intrinsic "+x+" exists, but is not available. Please file an issue!");return{alias:z,name:$,value:Z}}throw new Mx("intrinsic "+x+" does not exist!")};L$.exports=function(x,p){if(typeof x!=="string"||x.length===0)throw new yx("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof p!=="boolean")throw new yx('"allowMissing" argument must be a boolean');if(SV(/^%?[^%]*%?$/,x)===null)throw new Mx("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var $=EV(x),z=$.length>0?$[0]:"",Z=TV("%"+z+"%",p),Q=Z.name,J=Z.value,X=!1,i=Z.alias;if(i)z=i[0],jV($,CV([0,1],i));for(var G=1,Y=!0;G<$.length;G+=1){var H=$[G],W=e2(H,0,1),K=e2(H,-1);if((W==='"'||W==="'"||W==="`"||(K==='"'||K==="'"||K==="`"))&&W!==K)throw new Mx("property names with quotes must have matching quotes");if(H==="constructor"||!Y)X=!0;if(z+="."+H,Q="%"+z+"%",t2($x,Q))J=$x[Q];else if(J!=null){if(!(H in J)){if(!p)throw new yx("base intrinsic for "+x+" exists, but the property is not available.");return}if(N1&&G+1>=$.length){var w=N1(J,H);if(Y=!!w,Y&&"get"in w&&!("originalValue"in w.get))J=w.get;else J=J[H]}else Y=t2(J,H),J=J[H];if(Y&&!X)$x[Q]=J}}return J}});var u$=P((XT,A$)=>{var RV=B3();A$.exports=function(){return RV()&&!!Symbol.toStringTag}});var M$=P((iT,y$)=>{var mV=N$(),P$=mV("%Object.defineProperty%",!0),dV=u$()(),hV=r2(),aV=g2(),c5=dV?Symbol.toStringTag:null;y$.exports=function(x,p){var $=arguments.length>2&&!!arguments[2]&&arguments[2].force,z=arguments.length>2&&!!arguments[2]&&arguments[2].nonConfigurable;if(typeof $<"u"&&typeof $!=="boolean"||typeof z<"u"&&typeof z!=="boolean")throw new aV("if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans");if(c5&&($||!hV(x,c5)))if(P$)P$(x,c5,{configurable:!z,enumerable:!1,value:p,writable:!1});else x[c5]=p}});var n$=P((GT,f$)=>{f$.exports=function(c,x){return Object.keys(x).forEach(function(p){c[p]=c[p]||x[p]}),c}});var O$=P((YT,k$)=>{var f3=S8(),_V=e("util"),P3=e("path"),gV=e("http"),lV=e("https"),oV=e("url").parse,sV=e("fs"),rV=e("stream").Stream,tV=e("crypto"),y3=h8(),eV=J9(),cF=M$(),E0=r2(),M3=n$();function $c(c){if(!(this instanceof $c))return new $c(c);this._overheadLength=0,this._valueLength=0,this._valuesToMeasure=[],f3.call(this),c=c||{};for(var x in c)this[x]=c[x]}_V.inherits($c,f3);$c.LINE_BREAK=`\r
|
|
55
|
+
`;$c.DEFAULT_CONTENT_TYPE="application/octet-stream";$c.prototype.append=function(c,x,p){if(p=p||{},typeof p==="string")p={filename:p};var $=f3.prototype.append.bind(this);if(typeof x==="number"||x==null)x=String(x);if(Array.isArray(x)){this._error(Error("Arrays are not supported."));return}var z=this._multiPartHeader(c,x,p),Z=this._multiPartFooter();$(z),$(x),$(Z),this._trackLength(z,x,p)};$c.prototype._trackLength=function(c,x,p){var $=0;if(p.knownLength!=null)$+=Number(p.knownLength);else if(Buffer.isBuffer(x))$=x.length;else if(typeof x==="string")$=Buffer.byteLength(x);if(this._valueLength+=$,this._overheadLength+=Buffer.byteLength(c)+$c.LINE_BREAK.length,!x||!x.path&&!(x.readable&&E0(x,"httpVersion"))&&!(x instanceof rV))return;if(!p.knownLength)this._valuesToMeasure.push(x)};$c.prototype._lengthRetriever=function(c,x){if(E0(c,"fd"))if(c.end!=null&&c.end!=1/0&&c.start!=null)x(null,c.end+1-(c.start?c.start:0));else sV.stat(c.path,function(p,$){if(p){x(p);return}var z=$.size-(c.start?c.start:0);x(null,z)});else if(E0(c,"httpVersion"))x(null,Number(c.headers["content-length"]));else if(E0(c,"httpModule"))c.on("response",function(p){c.pause(),x(null,Number(p.headers["content-length"]))}),c.resume();else x("Unknown stream")};$c.prototype._multiPartHeader=function(c,x,p){if(typeof p.header==="string")return p.header;var $=this._getContentDisposition(x,p),z=this._getContentType(x,p),Z="",Q={"Content-Disposition":["form-data",'name="'+c+'"'].concat($||[]),"Content-Type":[].concat(z||[])};if(typeof p.header==="object")M3(Q,p.header);var J;for(var X in Q)if(E0(Q,X)){if(J=Q[X],J==null)continue;if(!Array.isArray(J))J=[J];if(J.length)Z+=X+": "+J.join("; ")+$c.LINE_BREAK}return"--"+this.getBoundary()+$c.LINE_BREAK+Z+$c.LINE_BREAK};$c.prototype._getContentDisposition=function(c,x){var p;if(typeof x.filepath==="string")p=P3.normalize(x.filepath).replace(/\\/g,"/");else if(x.filename||c&&(c.name||c.path))p=P3.basename(x.filename||c&&(c.name||c.path));else if(c&&c.readable&&E0(c,"httpVersion"))p=P3.basename(c.client._httpMessage.path||"");if(p)return'filename="'+p+'"'};$c.prototype._getContentType=function(c,x){var p=x.contentType;if(!p&&c&&c.name)p=y3.lookup(c.name);if(!p&&c&&c.path)p=y3.lookup(c.path);if(!p&&c&&c.readable&&E0(c,"httpVersion"))p=c.headers["content-type"];if(!p&&(x.filepath||x.filename))p=y3.lookup(x.filepath||x.filename);if(!p&&c&&typeof c==="object")p=$c.DEFAULT_CONTENT_TYPE;return p};$c.prototype._multiPartFooter=function(){return function(c){var x=$c.LINE_BREAK,p=this._streams.length===0;if(p)x+=this._lastBoundary();c(x)}.bind(this)};$c.prototype._lastBoundary=function(){return"--"+this.getBoundary()+"--"+$c.LINE_BREAK};$c.prototype.getHeaders=function(c){var x,p={"content-type":"multipart/form-data; boundary="+this.getBoundary()};for(x in c)if(E0(c,x))p[x.toLowerCase()]=c[x];return p};$c.prototype.setBoundary=function(c){if(typeof c!=="string")throw TypeError("FormData boundary must be a string");this._boundary=c};$c.prototype.getBoundary=function(){if(!this._boundary)this._generateBoundary();return this._boundary};$c.prototype.getBuffer=function(){var c=new Buffer.alloc(0),x=this.getBoundary();for(var p=0,$=this._streams.length;p<$;p++)if(typeof this._streams[p]!=="function"){if(Buffer.isBuffer(this._streams[p]))c=Buffer.concat([c,this._streams[p]]);else c=Buffer.concat([c,Buffer.from(this._streams[p])]);if(typeof this._streams[p]!=="string"||this._streams[p].substring(2,x.length+2)!==x)c=Buffer.concat([c,Buffer.from($c.LINE_BREAK)])}return Buffer.concat([c,Buffer.from(this._lastBoundary())])};$c.prototype._generateBoundary=function(){this._boundary="--------------------------"+tV.randomBytes(12).toString("hex")};$c.prototype.getLengthSync=function(){var c=this._overheadLength+this._valueLength;if(this._streams.length)c+=this._lastBoundary().length;if(!this.hasKnownLength())this._error(Error("Cannot calculate proper length in synchronous way."));return c};$c.prototype.hasKnownLength=function(){var c=!0;if(this._valuesToMeasure.length)c=!1;return c};$c.prototype.getLength=function(c){var x=this._overheadLength+this._valueLength;if(this._streams.length)x+=this._lastBoundary().length;if(!this._valuesToMeasure.length){process.nextTick(c.bind(this,null,x));return}eV.parallel(this._valuesToMeasure,this._lengthRetriever,function(p,$){if(p){c(p);return}$.forEach(function(z){x+=z}),c(null,x)})};$c.prototype.submit=function(c,x){var p,$,z={method:"post"};if(typeof c==="string")c=oV(c),$=M3({port:c.port,path:c.pathname,host:c.hostname,protocol:c.protocol},z);else if($=M3(c,z),!$.port)$.port=$.protocol==="https:"?443:80;if($.headers=this.getHeaders(c.headers),$.protocol==="https:")p=lV.request($);else p=gV.request($);return this.getLength(function(Z,Q){if(Z&&Z!=="Unknown stream"){this._error(Z);return}if(Q)p.setHeader("Content-Length",Q);if(this.pipe(p),x){var J,X=function(i,G){return p.removeListener("error",X),p.removeListener("response",J),x.call(this,i,G)};J=X.bind(this,null),p.on("error",X),p.on("response",J)}}.bind(this)),p};$c.prototype._error=function(c){if(!this.error)this.error=c,this.pause(),this.emit("error",c)};$c.prototype.toString=function(){return"[object FormData]"};cF($c,"FormData");k$.exports=$c});var C$,x5;var n3=g(()=>{C$=Sc(O$(),1),x5=C$.default});function k3(c){return M.isPlainObject(c)||M.isArray(c)}function S$(c){return M.endsWith(c,"[]")?c.slice(0,-2):c}function j$(c,x,p){if(!c)return x;return c.concat(x).map(function(z,Z){return z=S$(z),!p&&Z?"["+z+"]":z}).join(p?".":"")}function xF(c){return M.isArray(c)&&!c.some(k3)}function $F(c,x,p){if(!M.isObject(c))throw TypeError("target must be an object");x=x||new(x5||FormData),p=M.toFlatObject(p,{metaTokens:!0,dots:!1,indexes:!1},!1,function(w,q){return!M.isUndefined(q[w])});let $=p.metaTokens,z=p.visitor||G,Z=p.dots,Q=p.indexes,X=(p.Blob||typeof Blob<"u"&&Blob)&&M.isSpecCompliantForm(x);if(!M.isFunction(z))throw TypeError("visitor must be a function");function i(K){if(K===null)return"";if(M.isDate(K))return K.toISOString();if(M.isBoolean(K))return K.toString();if(!X&&M.isBlob(K))throw new d("Blob is not supported. Use a Buffer instead.");if(M.isArrayBuffer(K)||M.isTypedArray(K))return X&&typeof Blob==="function"?new Blob([K]):Buffer.from(K);return K}function G(K,w,q){let U=K;if(K&&!q&&typeof K==="object"){if(M.endsWith(w,"{}"))w=$?w:w.slice(0,-2),K=JSON.stringify(K);else if(M.isArray(K)&&xF(K)||(M.isFileList(K)||M.endsWith(w,"[]"))&&(U=M.toArray(K)))return w=S$(w),U.forEach(function(v,B){!(M.isUndefined(v)||v===null)&&x.append(Q===!0?j$([w],B,Z):Q===null?w:w+"[]",i(v))}),!1}if(k3(K))return!0;return x.append(j$(q,w,Z),i(K)),!1}let Y=[],H=Object.assign(pF,{defaultVisitor:G,convertValue:i,isVisitable:k3});function W(K,w){if(M.isUndefined(K))return;if(Y.indexOf(K)!==-1)throw Error("Circular reference detected in "+w.join("."));Y.push(K),M.forEach(K,function(U,b){if((!(M.isUndefined(U)||U===null)&&z.call(x,U,M.isString(b)?b.trim():b,w,H))===!0)W(U,w?w.concat(b):[b])}),Y.pop()}if(!M.isObject(c))throw TypeError("data must be an object");return W(c),x}var pF,T0;var P1=g(()=>{Kc();gc();n3();pF=M.toFlatObject(M,{},null,function(x){return/^is[A-Z]/.test(x)});T0=$F});function I$(c){let x={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\x00"};return encodeURIComponent(c).replace(/[!'()~]|%20|%00/g,function($){return x[$]})}function D$(c,x){this._pairs=[],c&&T0(c,this,x)}var E$,T$;var R$=g(()=>{P1();E$=D$.prototype;E$.append=function(x,p){this._pairs.push([x,p])};E$.toString=function(x){let p=x?function($){return x.call(this,$,I$)}:I$;return this._pairs.map(function(z){return p(z[0])+"="+p(z[1])},"").join("&")};T$=D$});function zF(c){return encodeURIComponent(c).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function zx(c,x,p){if(!x)return c;let $=p&&p.encode||zF;if(M.isFunction(p))p={serialize:p};let z=p&&p.serialize,Z;if(z)Z=z(x,p);else Z=M.isURLSearchParams(x)?x.toString():new T$(x,p).toString($);if(Z){let Q=c.indexOf("#");if(Q!==-1)c=c.slice(0,Q);c+=(c.indexOf("?")===-1?"?":"&")+Z}return c}var p5=g(()=>{Kc();R$()});class m${constructor(){this.handlers=[]}use(c,x,p){return this.handlers.push({fulfilled:c,rejected:x,synchronous:p?p.synchronous:!1,runWhen:p?p.runWhen:null}),this.handlers.length-1}eject(c){if(this.handlers[c])this.handlers[c]=null}clear(){if(this.handlers)this.handlers=[]}forEach(c){M.forEach(this.handlers,function(p){if(p!==null)c(p)})}}var O3;var d$=g(()=>{Kc();O3=m$});var fx;var $5=g(()=>{fx={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1}});import ZF from"url";var h$;var a$=g(()=>{h$=ZF.URLSearchParams});import QF from"crypto";var C3="abcdefghijklmnopqrstuvwxyz",_$="0123456789",g$,JF=(c=16,x=g$.ALPHA_DIGIT)=>{let p="",{length:$}=x,z=new Uint32Array(c);QF.randomFillSync(z);for(let Z=0;Z<c;Z++)p+=x[z[Z]%$];return p},l$;var o$=g(()=>{a$();n3();g$={DIGIT:_$,ALPHA:C3,ALPHA_DIGIT:C3+C3.toUpperCase()+_$},l$={isNode:!0,classes:{URLSearchParams:h$,FormData:x5,Blob:typeof Blob<"u"&&Blob||null},ALPHABET:g$,generateString:JF,protocols:["http","https","file","data"]}});var I3={};b7(I3,{origin:()=>GF,navigator:()=>j3,hasStandardBrowserWebWorkerEnv:()=>iF,hasStandardBrowserEnv:()=>XF,hasBrowserEnv:()=>S3});var S3,j3,XF,iF,GF;var s$=g(()=>{S3=typeof window<"u"&&typeof document<"u",j3=typeof navigator==="object"&&navigator||void 0,XF=S3&&(!j3||["ReactNative","NativeScript","NS"].indexOf(j3.product)<0),iF=(()=>{return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts==="function"})(),GF=S3&&window.location.href||"http://localhost"});var zc;var z0=g(()=>{o$();s$();zc={...I3,...l$}});function D3(c,x){return T0(c,new zc.classes.URLSearchParams,{visitor:function(p,$,z,Z){if(zc.isNode&&M.isBuffer(p))return this.append($,p.toString("base64")),!1;return Z.defaultVisitor.apply(this,arguments)},...x})}var r$=g(()=>{Kc();P1();z0()});function YF(c){return M.matchAll(/\w+|\[(\w*)]/g,c).map((x)=>{return x[0]==="[]"?"":x[1]||x[0]})}function HF(c){let x={},p=Object.keys(c),$,z=p.length,Z;for($=0;$<z;$++)Z=p[$],x[Z]=c[Z];return x}function WF(c){function x(p,$,z,Z){let Q=p[Z++];if(Q==="__proto__")return!0;let J=Number.isFinite(+Q),X=Z>=p.length;if(Q=!Q&&M.isArray(z)?z.length:Q,X){if(M.hasOwnProp(z,Q))z[Q]=[z[Q],$];else z[Q]=$;return!J}if(!z[Q]||!M.isObject(z[Q]))z[Q]=[];if(x(p,$,z[Q],Z)&&M.isArray(z[Q]))z[Q]=HF(z[Q]);return!J}if(M.isFormData(c)&&M.isFunction(c.entries)){let p={};return M.forEachEntry(c,($,z)=>{x(YF($),z,p,0)}),p}return null}var z5;var E3=g(()=>{Kc();z5=WF});function KF(c,x,p){if(M.isString(c))try{return(x||JSON.parse)(c),M.trim(c)}catch($){if($.name!=="SyntaxError")throw $}return(p||JSON.stringify)(c)}var T3,nx;var Z5=g(()=>{Kc();gc();$5();P1();r$();z0();E3();T3={transitional:fx,adapter:["xhr","http","fetch"],transformRequest:[function(x,p){let $=p.getContentType()||"",z=$.indexOf("application/json")>-1,Z=M.isObject(x);if(Z&&M.isHTMLForm(x))x=new FormData(x);if(M.isFormData(x))return z?JSON.stringify(z5(x)):x;if(M.isArrayBuffer(x)||M.isBuffer(x)||M.isStream(x)||M.isFile(x)||M.isBlob(x)||M.isReadableStream(x))return x;if(M.isArrayBufferView(x))return x.buffer;if(M.isURLSearchParams(x))return p.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),x.toString();let J;if(Z){if($.indexOf("application/x-www-form-urlencoded")>-1)return D3(x,this.formSerializer).toString();if((J=M.isFileList(x))||$.indexOf("multipart/form-data")>-1){let X=this.env&&this.env.FormData;return T0(J?{"files[]":x}:x,X&&new X,this.formSerializer)}}if(Z||z)return p.setContentType("application/json",!1),KF(x);return x}],transformResponse:[function(x){let p=this.transitional||T3.transitional,$=p&&p.forcedJSONParsing,z=this.responseType==="json";if(M.isResponse(x)||M.isReadableStream(x))return x;if(x&&M.isString(x)&&($&&!this.responseType||z)){let Q=!(p&&p.silentJSONParsing)&&z;try{return JSON.parse(x)}catch(J){if(Q){if(J.name==="SyntaxError")throw d.from(J,d.ERR_BAD_RESPONSE,this,null,this.response);throw J}}}return x}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:zc.classes.FormData,Blob:zc.classes.Blob},validateStatus:function(x){return x>=200&&x<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};M.forEach(["delete","get","head","post","put","patch"],(c)=>{T3.headers[c]={}});nx=T3});var wF,t$=(c)=>{let x={},p,$,z;return c&&c.split(`
|
|
56
|
+
`).forEach(function(Q){if(z=Q.indexOf(":"),p=Q.substring(0,z).trim().toLowerCase(),$=Q.substring(z+1).trim(),!p||x[p]&&wF[p])return;if(p==="set-cookie")if(x[p])x[p].push($);else x[p]=[$];else x[p]=x[p]?x[p]+", "+$:$}),x};var e$=g(()=>{Kc();wF=M.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"])});function y1(c){return c&&String(c).trim().toLowerCase()}function Q5(c){if(c===!1||c==null)return c;return M.isArray(c)?c.map(Q5):String(c)}function vF(c){let x=Object.create(null),p=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,$;while($=p.exec(c))x[$[1]]=$[2];return x}function R3(c,x,p,$,z){if(M.isFunction($))return $.call(this,x,p);if(z)x=p;if(!M.isString(x))return;if(M.isString($))return x.indexOf($)!==-1;if(M.isRegExp($))return $.test(x)}function UF(c){return c.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(x,p,$)=>{return p.toUpperCase()+$})}function BF(c,x){let p=M.toCamelCase(" "+x);["get","set","has"].forEach(($)=>{Object.defineProperty(c,$+p,{value:function(z,Z,Q){return this[$].call(this,x,z,Z,Q)},configurable:!0})})}var cz,qF=(c)=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(c.trim()),M1,Uc;var G0=g(()=>{Kc();e$();cz=Symbol("internals");M1=class M1{constructor(c){c&&this.set(c)}set(c,x,p){let $=this;function z(Q,J,X){let i=y1(J);if(!i)throw Error("header name must be a non-empty string");let G=M.findKey($,i);if(!G||$[G]===void 0||X===!0||X===void 0&&$[G]!==!1)$[G||J]=Q5(Q)}let Z=(Q,J)=>M.forEach(Q,(X,i)=>z(X,i,J));if(M.isPlainObject(c)||c instanceof this.constructor)Z(c,x);else if(M.isString(c)&&(c=c.trim())&&!qF(c))Z(t$(c),x);else if(M.isObject(c)&&M.isIterable(c)){let Q={},J,X;for(let i of c){if(!M.isArray(i))throw TypeError("Object iterator must return a key-value pair");Q[X=i[0]]=(J=Q[X])?M.isArray(J)?[...J,i[1]]:[J,i[1]]:i[1]}Z(Q,x)}else c!=null&&z(x,c,p);return this}get(c,x){if(c=y1(c),c){let p=M.findKey(this,c);if(p){let $=this[p];if(!x)return $;if(x===!0)return vF($);if(M.isFunction(x))return x.call(this,$,p);if(M.isRegExp(x))return x.exec($);throw TypeError("parser must be boolean|regexp|function")}}}has(c,x){if(c=y1(c),c){let p=M.findKey(this,c);return!!(p&&this[p]!==void 0&&(!x||R3(this,this[p],p,x)))}return!1}delete(c,x){let p=this,$=!1;function z(Z){if(Z=y1(Z),Z){let Q=M.findKey(p,Z);if(Q&&(!x||R3(p,p[Q],Q,x)))delete p[Q],$=!0}}if(M.isArray(c))c.forEach(z);else z(c);return $}clear(c){let x=Object.keys(this),p=x.length,$=!1;while(p--){let z=x[p];if(!c||R3(this,this[z],z,c,!0))delete this[z],$=!0}return $}normalize(c){let x=this,p={};return M.forEach(this,($,z)=>{let Z=M.findKey(p,z);if(Z){x[Z]=Q5($),delete x[z];return}let Q=c?UF(z):String(z).trim();if(Q!==z)delete x[z];x[Q]=Q5($),p[Q]=!0}),this}concat(...c){return this.constructor.concat(this,...c)}toJSON(c){let x=Object.create(null);return M.forEach(this,(p,$)=>{p!=null&&p!==!1&&(x[$]=c&&M.isArray(p)?p.join(", "):p)}),x}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([c,x])=>c+": "+x).join(`
|
|
57
|
+
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(c){return c instanceof this?c:new this(c)}static concat(c,...x){let p=new this(c);return x.forEach(($)=>p.set($)),p}static accessor(c){let p=(this[cz]=this[cz]={accessors:{}}).accessors,$=this.prototype;function z(Z){let Q=y1(Z);if(!p[Q])BF($,Z),p[Q]=!0}return M.isArray(c)?c.forEach(z):z(c),this}};M1.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);M.reduceDescriptors(M1.prototype,({value:c},x)=>{let p=x[0].toUpperCase()+x.slice(1);return{get:()=>c,set($){this[p]=$}}});M.freezeMethods(M1);Uc=M1});function f1(c,x){let p=this||nx,$=x||p,z=Uc.from($.headers),Z=$.data;return M.forEach(c,function(J){Z=J.call(p,Z,z.normalize(),x?x.status:void 0)}),z.normalize(),Z}var xz=g(()=>{Kc();Z5();G0()});function n1(c){return!!(c&&c.__CANCEL__)}function pz(c,x,p){d.call(this,c==null?"canceled":c,d.ERR_CANCELED,x,p),this.name="CanceledError"}var lc;var Zx=g(()=>{gc();Kc();M.inherits(pz,d,{__CANCEL__:!0});lc=pz});function Y0(c,x,p){let $=p.config.validateStatus;if(!p.status||!$||$(p.status))c(p);else x(new d("Request failed with status code "+p.status,[d.ERR_BAD_REQUEST,d.ERR_BAD_RESPONSE][Math.floor(p.status/100)-4],p.config,p.request,p))}var J5=g(()=>{gc()});function m3(c){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(c)}function d3(c,x){return x?c.replace(/\/?\/$/,"")+"/"+x.replace(/^\/+/,""):c}function Qx(c,x,p){let $=!m3(x);if(c&&($||p==!1))return d3(c,x);return x}var X5=()=>{};var $z=P((AF)=>{var VF=e("url").parse,FF={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443},bF=String.prototype.endsWith||function(c){return c.length<=this.length&&this.indexOf(c,this.length-c.length)!==-1};function LF(c){var x=typeof c==="string"?VF(c):c||{},p=x.protocol,$=x.host,z=x.port;if(typeof $!=="string"||!$||typeof p!=="string")return"";if(p=p.split(":",1)[0],$=$.replace(/:\d*$/,""),z=parseInt(z)||FF[p]||0,!NF($,z))return"";var Z=kx("npm_config_"+p+"_proxy")||kx(p+"_proxy")||kx("npm_config_proxy")||kx("all_proxy");if(Z&&Z.indexOf("://")===-1)Z=p+"://"+Z;return Z}function NF(c,x){var p=(kx("npm_config_no_proxy")||kx("no_proxy")).toLowerCase();if(!p)return!0;if(p==="*")return!1;return p.split(/[,\s]/).every(function($){if(!$)return!0;var z=$.match(/^(.+):(\d+)$/),Z=z?z[1]:$,Q=z?parseInt(z[2]):0;if(Q&&Q!==x)return!0;if(!/^[.*]/.test(Z))return c!==Z;if(Z.charAt(0)==="*")Z=Z.slice(1);return!bF.call(c,Z)})}function kx(c){return process.env[c.toLowerCase()]||process.env[c.toUpperCase()]||""}AF.getProxyForUrl=LF});var Zz=P((KR,zz)=>{var Ox=1000,Cx=Ox*60,jx=Cx*60,Jx=jx*24,PF=Jx*7,yF=Jx*365.25;zz.exports=function(c,x){x=x||{};var p=typeof c;if(p==="string"&&c.length>0)return MF(c);else if(p==="number"&&isFinite(c))return x.long?nF(c):fF(c);throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify(c))};function MF(c){if(c=String(c),c.length>100)return;var x=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(c);if(!x)return;var p=parseFloat(x[1]),$=(x[2]||"ms").toLowerCase();switch($){case"years":case"year":case"yrs":case"yr":case"y":return p*yF;case"weeks":case"week":case"w":return p*PF;case"days":case"day":case"d":return p*Jx;case"hours":case"hour":case"hrs":case"hr":case"h":return p*jx;case"minutes":case"minute":case"mins":case"min":case"m":return p*Cx;case"seconds":case"second":case"secs":case"sec":case"s":return p*Ox;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return p;default:return}}function fF(c){var x=Math.abs(c);if(x>=Jx)return Math.round(c/Jx)+"d";if(x>=jx)return Math.round(c/jx)+"h";if(x>=Cx)return Math.round(c/Cx)+"m";if(x>=Ox)return Math.round(c/Ox)+"s";return c+"ms"}function nF(c){var x=Math.abs(c);if(x>=Jx)return i5(c,x,Jx,"day");if(x>=jx)return i5(c,x,jx,"hour");if(x>=Cx)return i5(c,x,Cx,"minute");if(x>=Ox)return i5(c,x,Ox,"second");return c+" ms"}function i5(c,x,p,$){var z=x>=p*1.5;return Math.round(c/p)+" "+$+(z?"s":"")}});var h3=P((wR,Qz)=>{function kF(c){p.debug=p,p.default=p,p.coerce=X,p.disable=Q,p.enable=z,p.enabled=J,p.humanize=Zz(),p.destroy=i,Object.keys(c).forEach((G)=>{p[G]=c[G]}),p.names=[],p.skips=[],p.formatters={};function x(G){let Y=0;for(let H=0;H<G.length;H++)Y=(Y<<5)-Y+G.charCodeAt(H),Y|=0;return p.colors[Math.abs(Y)%p.colors.length]}p.selectColor=x;function p(G){let Y,H=null,W,K;function w(...q){if(!w.enabled)return;let U=w,b=Number(new Date),v=b-(Y||b);if(U.diff=v,U.prev=Y,U.curr=b,Y=b,q[0]=p.coerce(q[0]),typeof q[0]!=="string")q.unshift("%O");let B=0;q[0]=q[0].replace(/%([a-zA-Z%])/g,(V,y)=>{if(V==="%%")return"%";B++;let k=p.formatters[y];if(typeof k==="function"){let O=q[B];V=k.call(U,O),q.splice(B,1),B--}return V}),p.formatArgs.call(U,q),(U.log||p.log).apply(U,q)}if(w.namespace=G,w.useColors=p.useColors(),w.color=p.selectColor(G),w.extend=$,w.destroy=p.destroy,Object.defineProperty(w,"enabled",{enumerable:!0,configurable:!1,get:()=>{if(H!==null)return H;if(W!==p.namespaces)W=p.namespaces,K=p.enabled(G);return K},set:(q)=>{H=q}}),typeof p.init==="function")p.init(w);return w}function $(G,Y){let H=p(this.namespace+(typeof Y>"u"?":":Y)+G);return H.log=this.log,H}function z(G){p.save(G),p.namespaces=G,p.names=[],p.skips=[];let Y=(typeof G==="string"?G:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let H of Y)if(H[0]==="-")p.skips.push(H.slice(1));else p.names.push(H)}function Z(G,Y){let H=0,W=0,K=-1,w=0;while(H<G.length)if(W<Y.length&&(Y[W]===G[H]||Y[W]==="*"))if(Y[W]==="*")K=W,w=H,W++;else H++,W++;else if(K!==-1)W=K+1,w++,H=w;else return!1;while(W<Y.length&&Y[W]==="*")W++;return W===Y.length}function Q(){let G=[...p.names,...p.skips.map((Y)=>"-"+Y)].join(",");return p.enable(""),G}function J(G){for(let Y of p.skips)if(Z(G,Y))return!1;for(let Y of p.names)if(Z(G,Y))return!0;return!1}function X(G){if(G instanceof Error)return G.stack||G.message;return G}function i(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return p.enable(p.load()),p}Qz.exports=kF});var Xz=P((Jz,G5)=>{Jz.formatArgs=CF;Jz.save=jF;Jz.load=SF;Jz.useColors=OF;Jz.storage=IF();Jz.destroy=(()=>{let c=!1;return()=>{if(!c)c=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}})();Jz.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function OF(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let c;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(c=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(c[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function CF(c){if(c[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+c[0]+(this.useColors?"%c ":" ")+"+"+G5.exports.humanize(this.diff),!this.useColors)return;let x="color: "+this.color;c.splice(1,0,x,"color: inherit");let p=0,$=0;c[0].replace(/%[a-zA-Z%]/g,(z)=>{if(z==="%%")return;if(p++,z==="%c")$=p}),c.splice($,0,x)}Jz.log=console.debug||console.log||(()=>{});function jF(c){try{if(c)Jz.storage.setItem("debug",c);else Jz.storage.removeItem("debug")}catch(x){}}function SF(){let c;try{c=Jz.storage.getItem("debug")||Jz.storage.getItem("DEBUG")}catch(x){}if(!c&&typeof process<"u"&&"env"in process)c=process.env.DEBUG;return c}function IF(){try{return localStorage}catch(c){}}G5.exports=h3()(Jz);var{formatters:DF}=G5.exports;DF.j=function(c){try{return JSON.stringify(c)}catch(x){return"[UnexpectedJSONParseError]: "+x.message}}});var Gz=P((qR,iz)=>{iz.exports=(c,x=process.argv)=>{let p=c.startsWith("-")?"":c.length===1?"-":"--",$=x.indexOf(p+c),z=x.indexOf("--");return $!==-1&&(z===-1||$<z)}});var Wz=P((UR,Hz)=>{var _F=e("os"),Yz=e("tty"),c0=Gz(),{env:fc}=process,R0;if(c0("no-color")||c0("no-colors")||c0("color=false")||c0("color=never"))R0=0;else if(c0("color")||c0("colors")||c0("color=true")||c0("color=always"))R0=1;if("FORCE_COLOR"in fc)if(fc.FORCE_COLOR==="true")R0=1;else if(fc.FORCE_COLOR==="false")R0=0;else R0=fc.FORCE_COLOR.length===0?1:Math.min(parseInt(fc.FORCE_COLOR,10),3);function a3(c){if(c===0)return!1;return{level:c,hasBasic:!0,has256:c>=2,has16m:c>=3}}function _3(c,x){if(R0===0)return 0;if(c0("color=16m")||c0("color=full")||c0("color=truecolor"))return 3;if(c0("color=256"))return 2;if(c&&!x&&R0===void 0)return 0;let p=R0||0;if(fc.TERM==="dumb")return p;if(process.platform==="win32"){let $=_F.release().split(".");if(Number($[0])>=10&&Number($[2])>=10586)return Number($[2])>=14931?3:2;return 1}if("CI"in fc){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(($)=>($ in fc))||fc.CI_NAME==="codeship")return 1;return p}if("TEAMCITY_VERSION"in fc)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(fc.TEAMCITY_VERSION)?1:0;if(fc.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in fc){let $=parseInt((fc.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(fc.TERM_PROGRAM){case"iTerm.app":return $>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(fc.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(fc.TERM))return 1;if("COLORTERM"in fc)return 1;return p}function gF(c){let x=_3(c,c&&c.isTTY);return a3(x)}Hz.exports={supportsColor:gF,stdout:a3(_3(!0,Yz.isatty(1))),stderr:a3(_3(!0,Yz.isatty(2)))}});var qz=P((wz,H5)=>{var lF=e("tty"),Y5=e("util");wz.init=xb;wz.log=tF;wz.formatArgs=sF;wz.save=eF;wz.load=cb;wz.useColors=oF;wz.destroy=Y5.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");wz.colors=[6,2,3,4,5,1];try{let c=Wz();if(c&&(c.stderr||c).level>=2)wz.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}catch(c){}wz.inspectOpts=Object.keys(process.env).filter((c)=>{return/^debug_/i.test(c)}).reduce((c,x)=>{let p=x.substring(6).toLowerCase().replace(/_([a-z])/g,(z,Z)=>{return Z.toUpperCase()}),$=process.env[x];if(/^(yes|on|true|enabled)$/i.test($))$=!0;else if(/^(no|off|false|disabled)$/i.test($))$=!1;else if($==="null")$=null;else $=Number($);return c[p]=$,c},{});function oF(){return"colors"in wz.inspectOpts?Boolean(wz.inspectOpts.colors):lF.isatty(process.stderr.fd)}function sF(c){let{namespace:x,useColors:p}=this;if(p){let $=this.color,z="\x1B[3"+($<8?$:"8;5;"+$),Z=` ${z};1m${x} \x1B[0m`;c[0]=Z+c[0].split(`
|
|
58
|
+
`).join(`
|
|
59
|
+
`+Z),c.push(z+"m+"+H5.exports.humanize(this.diff)+"\x1B[0m")}else c[0]=rF()+x+" "+c[0]}function rF(){if(wz.inspectOpts.hideDate)return"";return new Date().toISOString()+" "}function tF(...c){return process.stderr.write(Y5.formatWithOptions(wz.inspectOpts,...c)+`
|
|
60
|
+
`)}function eF(c){if(c)process.env.DEBUG=c;else delete process.env.DEBUG}function cb(){return process.env.DEBUG}function xb(c){c.inspectOpts={};let x=Object.keys(wz.inspectOpts);for(let p=0;p<x.length;p++)c.inspectOpts[x[p]]=wz.inspectOpts[x[p]]}H5.exports=h3()(wz);var{formatters:Kz}=H5.exports;Kz.o=function(c){return this.inspectOpts.colors=this.useColors,Y5.inspect(c,this.inspectOpts).split(`
|
|
61
|
+
`).map((x)=>x.trim()).join(" ")};Kz.O=function(c){return this.inspectOpts.colors=this.useColors,Y5.inspect(c,this.inspectOpts)}});var Uz=P((VR,g3)=>{if(typeof process>"u"||process.type==="renderer"||!1||process.__nwjs)g3.exports=Xz();else g3.exports=qz()});var Vz=P((FR,Bz)=>{var O1;Bz.exports=function(){if(!O1){try{O1=Uz()("follow-redirects")}catch(c){}if(typeof O1!=="function")O1=function(){}}O1.apply(null,arguments)}});var Az=P((bR,Z6)=>{var j1=e("url"),C1=j1.URL,ib=e("http"),Gb=e("https"),t3=e("stream").Writable,e3=e("assert"),Fz=Vz();(function(){var x=typeof process<"u",p=typeof window<"u"&&typeof document<"u",$=Gx(Error.captureStackTrace);if(!x&&(p||!$))console.warn("The follow-redirects package should be excluded from browser builds.")})();var c6=!1;try{e3(new C1(""))}catch(c){c6=c.code==="ERR_INVALID_URL"}var Yb=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"],x6=["abort","aborted","connect","error","socket","timeout"],p6=Object.create(null);x6.forEach(function(c){p6[c]=function(x,p,$){this._redirectable.emit(c,x,p,$)}});var o3=S1("ERR_INVALID_URL","Invalid URL",TypeError),s3=S1("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),Hb=S1("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",s3),Wb=S1("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),Kb=S1("ERR_STREAM_WRITE_AFTER_END","write after end"),wb=t3.prototype.destroy||Lz;function Rc(c,x){if(t3.call(this),this._sanitizeOptions(c),this._options=c,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],x)this.on("response",x);var p=this;this._onNativeResponse=function($){try{p._processResponse($)}catch(z){p.emit("error",z instanceof s3?z:new s3({cause:z}))}},this._performRequest()}Rc.prototype=Object.create(t3.prototype);Rc.prototype.abort=function(){z6(this._currentRequest),this._currentRequest.abort(),this.emit("abort")};Rc.prototype.destroy=function(c){return z6(this._currentRequest,c),wb.call(this,c),this};Rc.prototype.write=function(c,x,p){if(this._ending)throw new Kb;if(!ix(c)&&!Ub(c))throw TypeError("data should be a string, Buffer or Uint8Array");if(Gx(x))p=x,x=null;if(c.length===0){if(p)p();return}if(this._requestBodyLength+c.length<=this._options.maxBodyLength)this._requestBodyLength+=c.length,this._requestBodyBuffers.push({data:c,encoding:x}),this._currentRequest.write(c,x,p);else this.emit("error",new Wb),this.abort()};Rc.prototype.end=function(c,x,p){if(Gx(c))p=c,c=x=null;else if(Gx(x))p=x,x=null;if(!c)this._ended=this._ending=!0,this._currentRequest.end(null,null,p);else{var $=this,z=this._currentRequest;this.write(c,x,function(){$._ended=!0,z.end(null,null,p)}),this._ending=!0}};Rc.prototype.setHeader=function(c,x){this._options.headers[c]=x,this._currentRequest.setHeader(c,x)};Rc.prototype.removeHeader=function(c){delete this._options.headers[c],this._currentRequest.removeHeader(c)};Rc.prototype.setTimeout=function(c,x){var p=this;function $(Q){Q.setTimeout(c),Q.removeListener("timeout",Q.destroy),Q.addListener("timeout",Q.destroy)}function z(Q){if(p._timeout)clearTimeout(p._timeout);p._timeout=setTimeout(function(){p.emit("timeout"),Z()},c),$(Q)}function Z(){if(p._timeout)clearTimeout(p._timeout),p._timeout=null;if(p.removeListener("abort",Z),p.removeListener("error",Z),p.removeListener("response",Z),p.removeListener("close",Z),x)p.removeListener("timeout",x);if(!p.socket)p._currentRequest.removeListener("socket",z)}if(x)this.on("timeout",x);if(this.socket)z(this.socket);else this._currentRequest.once("socket",z);return this.on("socket",$),this.on("abort",Z),this.on("error",Z),this.on("response",Z),this.on("close",Z),this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(c){Rc.prototype[c]=function(x,p){return this._currentRequest[c](x,p)}});["aborted","connection","socket"].forEach(function(c){Object.defineProperty(Rc.prototype,c,{get:function(){return this._currentRequest[c]}})});Rc.prototype._sanitizeOptions=function(c){if(!c.headers)c.headers={};if(c.host){if(!c.hostname)c.hostname=c.host;delete c.host}if(!c.pathname&&c.path){var x=c.path.indexOf("?");if(x<0)c.pathname=c.path;else c.pathname=c.path.substring(0,x),c.search=c.path.substring(x)}};Rc.prototype._performRequest=function(){var c=this._options.protocol,x=this._options.nativeProtocols[c];if(!x)throw TypeError("Unsupported protocol "+c);if(this._options.agents){var p=c.slice(0,-1);this._options.agent=this._options.agents[p]}var $=this._currentRequest=x.request(this._options,this._onNativeResponse);$._redirectable=this;for(var z of x6)$.on(z,p6[z]);if(this._currentUrl=/^\//.test(this._options.path)?j1.format(this._options):this._options.path,this._isRedirect){var Z=0,Q=this,J=this._requestBodyBuffers;(function X(i){if($===Q._currentRequest){if(i)Q.emit("error",i);else if(Z<J.length){var G=J[Z++];if(!$.finished)$.write(G.data,G.encoding,X)}else if(Q._ended)$.end()}})()}};Rc.prototype._processResponse=function(c){var x=c.statusCode;if(this._options.trackRedirects)this._redirects.push({url:this._currentUrl,headers:c.headers,statusCode:x});var p=c.headers.location;if(!p||this._options.followRedirects===!1||x<300||x>=400){c.responseUrl=this._currentUrl,c.redirects=this._redirects,this.emit("response",c),this._requestBodyBuffers=[];return}if(z6(this._currentRequest),c.destroy(),++this._redirectCount>this._options.maxRedirects)throw new Hb;var $,z=this._options.beforeRedirect;if(z)$=Object.assign({Host:c.req.getHeader("host")},this._options.headers);var Z=this._options.method;if((x===301||x===302)&&this._options.method==="POST"||x===303&&!/^(?:GET|HEAD)$/.test(this._options.method))this._options.method="GET",this._requestBodyBuffers=[],l3(/^content-/i,this._options.headers);var Q=l3(/^host$/i,this._options.headers),J=$6(this._currentUrl),X=Q||J.host,i=/^\w+:/.test(p)?this._currentUrl:j1.format(Object.assign(J,{host:X})),G=vb(p,i);if(Fz("redirecting to",G.href),this._isRedirect=!0,r3(G,this._options),G.protocol!==J.protocol&&G.protocol!=="https:"||G.host!==X&&!qb(G.host,X))l3(/^(?:(?:proxy-)?authorization|cookie)$/i,this._options.headers);if(Gx(z)){var Y={headers:c.headers,statusCode:x},H={url:i,method:Z,headers:$};z(this._options,Y,H),this._sanitizeOptions(this._options)}this._performRequest()};function bz(c){var x={maxRedirects:21,maxBodyLength:10485760},p={};return Object.keys(c).forEach(function($){var z=$+":",Z=p[z]=c[$],Q=x[$]=Object.create(Z);function J(i,G,Y){if(Bb(i))i=r3(i);else if(ix(i))i=r3($6(i));else Y=G,G=Nz(i),i={protocol:z};if(Gx(G))Y=G,G=null;if(G=Object.assign({maxRedirects:x.maxRedirects,maxBodyLength:x.maxBodyLength},i,G),G.nativeProtocols=p,!ix(G.host)&&!ix(G.hostname))G.hostname="::1";return e3.equal(G.protocol,z,"protocol mismatch"),Fz("options",G),new Rc(G,Y)}function X(i,G,Y){var H=Q.request(i,G,Y);return H.end(),H}Object.defineProperties(Q,{request:{value:J,configurable:!0,enumerable:!0,writable:!0},get:{value:X,configurable:!0,enumerable:!0,writable:!0}})}),x}function Lz(){}function $6(c){var x;if(c6)x=new C1(c);else if(x=Nz(j1.parse(c)),!ix(x.protocol))throw new o3({input:c});return x}function vb(c,x){return c6?new C1(c,x):$6(j1.resolve(x,c))}function Nz(c){if(/^\[/.test(c.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(c.hostname))throw new o3({input:c.href||c});if(/^\[/.test(c.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(c.host))throw new o3({input:c.href||c});return c}function r3(c,x){var p=x||{};for(var $ of Yb)p[$]=c[$];if(p.hostname.startsWith("["))p.hostname=p.hostname.slice(1,-1);if(p.port!=="")p.port=Number(p.port);return p.path=p.search?p.pathname+p.search:p.pathname,p}function l3(c,x){var p;for(var $ in x)if(c.test($))p=x[$],delete x[$];return p===null||typeof p>"u"?void 0:String(p).trim()}function S1(c,x,p){function $(z){if(Gx(Error.captureStackTrace))Error.captureStackTrace(this,this.constructor);Object.assign(this,z||{}),this.code=c,this.message=this.cause?x+": "+this.cause.message:x}return $.prototype=new(p||Error),Object.defineProperties($.prototype,{constructor:{value:$,enumerable:!1},name:{value:"Error ["+c+"]",enumerable:!1}}),$}function z6(c,x){for(var p of x6)c.removeListener(p,p6[p]);c.on("error",Lz),c.destroy(x)}function qb(c,x){e3(ix(c)&&ix(x));var p=c.length-x.length-1;return p>0&&c[p]==="."&&c.endsWith(x)}function ix(c){return typeof c==="string"||c instanceof String}function Gx(c){return typeof c==="function"}function Ub(c){return typeof c==="object"&&"length"in c}function Bb(c){return C1&&c instanceof C1}Z6.exports=bz({http:ib,https:Gb});Z6.exports.wrap=bz});var Yx="1.11.0";function I1(c){let x=/^([-+\w]{1,25})(:?\/\/|:)/.exec(c);return x&&x[1]||""}function Q6(c,x,p){let $=p&&p.Blob||zc.classes.Blob,z=I1(c);if(x===void 0&&$)x=!0;if(z==="data"){c=z.length?c.slice(z.length+1):c;let Z=Vb.exec(c);if(!Z)throw new d("Invalid URL",d.ERR_INVALID_URL);let Q=Z[1],J=Z[2],X=Z[3],i=Buffer.from(decodeURIComponent(X),J?"base64":"utf8");if(x){if(!$)throw new d("Blob is not supported",d.ERR_NOT_SUPPORT);return new $([i],{type:Q})}return i}throw new d("Unsupported protocol "+z,d.ERR_NOT_SUPPORT)}var Vb;var uz=g(()=>{gc();z0();Vb=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/});import Fb from"stream";var J6,Pz,X6;var yz=g(()=>{Kc();J6=Symbol("internals");Pz=class Pz extends Fb.Transform{constructor(c){c=M.toFlatObject(c,{maxRate:0,chunkSize:65536,minChunkSize:100,timeWindow:500,ticksRate:2,samplesCount:15},null,(p,$)=>{return!M.isUndefined($[p])});super({readableHighWaterMark:c.chunkSize});let x=this[J6]={timeWindow:c.timeWindow,chunkSize:c.chunkSize,maxRate:c.maxRate,minChunkSize:c.minChunkSize,bytesSeen:0,isCaptured:!1,notifiedBytesLoaded:0,ts:Date.now(),bytes:0,onReadCallback:null};this.on("newListener",(p)=>{if(p==="progress"){if(!x.isCaptured)x.isCaptured=!0}})}_read(c){let x=this[J6];if(x.onReadCallback)x.onReadCallback();return super._read(c)}_transform(c,x,p){let $=this[J6],z=$.maxRate,Z=this.readableHighWaterMark,Q=$.timeWindow,J=1000/Q,X=z/J,i=$.minChunkSize!==!1?Math.max($.minChunkSize,X*0.01):0,G=(H,W)=>{let K=Buffer.byteLength(H);if($.bytesSeen+=K,$.bytes+=K,$.isCaptured&&this.emit("progress",$.bytesSeen),this.push(H))process.nextTick(W);else $.onReadCallback=()=>{$.onReadCallback=null,process.nextTick(W)}},Y=(H,W)=>{let K=Buffer.byteLength(H),w=null,q=Z,U,b=0;if(z){let v=Date.now();if(!$.ts||(b=v-$.ts)>=Q)$.ts=v,U=X-$.bytes,$.bytes=U<0?-U:0,b=0;U=X-$.bytes}if(z){if(U<=0)return setTimeout(()=>{W(null,H)},Q-b);if(U<q)q=U}if(q&&K>q&&K-q>i)w=H.subarray(q),H=H.subarray(0,q);G(H,w?()=>{process.nextTick(W,null,w)}:W)};Y(c,function H(W,K){if(W)return p(W);if(K)Y(K,H);else p(null)})}};X6=Pz});var Mz,bb=async function*(c){if(c.stream)yield*c.stream();else if(c.arrayBuffer)yield await c.arrayBuffer();else if(c[Mz])yield*c[Mz]();else yield c},W5;var i6=g(()=>{({asyncIterator:Mz}=Symbol),W5=bb});import Lb from"util";import{Readable as Nb}from"stream";class fz{constructor(c,x){let{escapeName:p}=this.constructor,$=M.isString(x),z=`Content-Disposition: form-data; name="${p(c)}"${!$&&x.name?`; filename="${p(x.name)}"`:""}${Hx}`;if($)x=D1.encode(String(x).replace(/\r?\n|\r\n?/g,Hx));else z+=`Content-Type: ${x.type||"application/octet-stream"}${Hx}`;this.headers=D1.encode(z+Hx),this.contentLength=$?x.byteLength:x.size,this.size=this.headers.byteLength+this.contentLength+Pb,this.name=c,this.value=x}async*encode(){yield this.headers;let{value:c}=this;if(M.isTypedArray(c))yield c;else yield*W5(c);yield ub}static escapeName(c){return String(c).replace(/[\r\n"]/g,(x)=>({"\r":"%0D","\n":"%0A",'"':"%22"})[x])}}var Ab,D1,Hx=`\r
|
|
62
|
+
`,ub,Pb=2,yb=(c,x,p)=>{let{tag:$="form-data-boundary",size:z=25,boundary:Z=$+"-"+zc.generateString(z,Ab)}=p||{};if(!M.isFormData(c))throw TypeError("FormData instance required");if(Z.length<1||Z.length>70)throw Error("boundary must be 10-70 characters long");let Q=D1.encode("--"+Z+Hx),J=D1.encode("--"+Z+"--"+Hx),X=J.byteLength,i=Array.from(c.entries()).map(([Y,H])=>{let W=new fz(Y,H);return X+=W.size,W});X+=Q.byteLength*i.length,X=M.toFiniteNumber(X);let G={"Content-Type":`multipart/form-data; boundary=${Z}`};if(Number.isFinite(X))G["Content-Length"]=X;return x&&x(G),Nb.from(async function*(){for(let Y of i)yield Q,yield*Y.encode();yield J}())},nz;var kz=g(()=>{Kc();i6();z0();Ab=zc.ALPHABET.ALPHA_DIGIT+"-_",D1=typeof TextEncoder==="function"?new TextEncoder:new Lb.TextEncoder,ub=D1.encode(Hx);nz=yb});import Mb from"stream";var Oz,Cz;var jz=g(()=>{Oz=class Oz extends Mb.Transform{__transform(c,x,p){this.push(c),p()}_transform(c,x,p){if(c.length!==0){if(this._transform=this.__transform,c[0]!==120){let $=Buffer.alloc(2);$[0]=120,$[1]=156,this.push($,x)}}this.__transform(c,x,p)}};Cz=Oz});var fb=(c,x)=>{return M.isAsyncFn(c)?function(...p){let $=p.pop();c.apply(this,p).then((z)=>{try{x?$(null,...x(z)):$(null,z)}catch(Z){$(Z)}},$)}:c},Sz;var Iz=g(()=>{Kc();Sz=fb});function nb(c,x){c=c||10;let p=Array(c),$=Array(c),z=0,Z=0,Q;return x=x!==void 0?x:1000,function(X){let i=Date.now(),G=$[Z];if(!Q)Q=i;p[z]=X,$[z]=i;let Y=Z,H=0;while(Y!==z)H+=p[Y++],Y=Y%c;if(z=(z+1)%c,z===Z)Z=(Z+1)%c;if(i-Q<x)return;let W=G&&i-G;return W?Math.round(H*1000/W):void 0}}var Dz;var Ez=g(()=>{Dz=nb});function kb(c,x){let p=0,$=1000/x,z,Z,Q=(i,G=Date.now())=>{if(p=G,z=null,Z)clearTimeout(Z),Z=null;c(...i)};return[(...i)=>{let G=Date.now(),Y=G-p;if(Y>=$)Q(i,G);else if(z=i,!Z)Z=setTimeout(()=>{Z=null,Q(z)},$-Y)},()=>z&&Q(z)]}var Tz;var Rz=g(()=>{Tz=kb});var F0=(c,x,p=3)=>{let $=0,z=Dz(50,250);return Tz((Z)=>{let Q=Z.loaded,J=Z.lengthComputable?Z.total:void 0,X=Q-$,i=z(X),G=Q<=J;$=Q;let Y={loaded:Q,total:J,progress:J?Q/J:void 0,bytes:X,rate:i?i:void 0,estimated:i&&J&&G?(J-Q)/i:void 0,event:Z,lengthComputable:J!=null,[x?"download":"upload"]:!0};c(Y)},p)},Sx=(c,x)=>{let p=c!=null;return[($)=>x[0]({lengthComputable:p,total:c,loaded:$}),x[1]]},Ix=(c)=>(...x)=>M.asap(()=>c(...x));var K5=g(()=>{Ez();Rz();Kc()});import Ob from"http";import Cb from"https";import jb from"util";import m0 from"zlib";import Dx from"stream";import{EventEmitter as Sb}from"events";function Rb(c,x){if(c.beforeRedirects.proxy)c.beforeRedirects.proxy(c);if(c.beforeRedirects.config)c.beforeRedirects.config(c,x)}function oz(c,x,p){let $=x;if(!$&&$!==!1){let z=gz.default.getProxyForUrl(p);if(z)$=new URL(z)}if($){if($.username)$.auth=($.username||"")+":"+($.password||"");if($.auth){if($.auth.username||$.auth.password)$.auth=($.auth.username||"")+":"+($.auth.password||"");let Z=Buffer.from($.auth,"utf8").toString("base64");c.headers["Proxy-Authorization"]="Basic "+Z}c.headers.host=c.hostname+(c.port?":"+c.port:"");let z=$.hostname||$.host;if(c.hostname=z,c.host=z,c.port=$.port,c.path=p,$.protocol)c.protocol=$.protocol.includes(":")?$.protocol:`${$.protocol}:`}c.beforeRedirects.proxy=function(Z){oz(Z,x,Z.href)}}var gz,lz,mz,Ib,dz,Db,Eb,Tb,hz,az=(c,[x,p])=>{return c.on("end",p).on("error",p),x},mb,db=(c)=>{return new Promise((x,p)=>{let $,z,Z=(X,i)=>{if(z)return;z=!0,$&&$(X,i)},Q=(X)=>{Z(X),x(X)},J=(X)=>{Z(X,!0),p(X)};c(Q,J,(X)=>$=X).catch(J)})},hb=({address:c,family:x})=>{if(!M.isString(c))throw TypeError("address must be a string");return{address:c,family:x||(c.indexOf(".")<0?6:4)}},_z=(c,x)=>hb(M.isObject(c)?c:{address:c,family:x}),sz;var rz=g(()=>{Kc();J5();X5();p5();gz=Sc($z(),1),lz=Sc(Az(),1);$5();gc();Zx();z0();uz();G0();yz();kz();i6();jz();Iz();K5();mz={flush:m0.constants.Z_SYNC_FLUSH,finishFlush:m0.constants.Z_SYNC_FLUSH},Ib={flush:m0.constants.BROTLI_OPERATION_FLUSH,finishFlush:m0.constants.BROTLI_OPERATION_FLUSH},dz=M.isFunction(m0.createBrotliDecompress),{http:Db,https:Eb}=lz.default,Tb=/https:?/,hz=zc.protocols.map((c)=>{return c+":"});mb=typeof process<"u"&&M.kindOf(process)==="process",sz=mb&&function(x){return db(async function($,z,Z){let{data:Q,lookup:J,family:X}=x,{responseType:i,responseEncoding:G}=x,Y=x.method.toUpperCase(),H,W=!1,K;if(J){let u=Sz(J,(f)=>M.isArray(f)?f:[f]);J=(f,j,T)=>{u(f,j,(S,D,a)=>{if(S)return T(S);let o=M.isArray(D)?D.map((r)=>_z(r)):[_z(D,a)];j.all?T(S,o):T(S,o[0].address,o[0].family)})}}let w=new Sb,q=()=>{if(x.cancelToken)x.cancelToken.unsubscribe(U);if(x.signal)x.signal.removeEventListener("abort",U);w.removeAllListeners()};Z((u,f)=>{if(H=!0,f)W=!0,q()});function U(u){w.emit("abort",!u||u.type?new lc(null,x,K):u)}if(w.once("abort",z),x.cancelToken||x.signal){if(x.cancelToken&&x.cancelToken.subscribe(U),x.signal)x.signal.aborted?U():x.signal.addEventListener("abort",U)}let b=Qx(x.baseURL,x.url,x.allowAbsoluteUrls),v=new URL(b,zc.hasBrowserEnv?zc.origin:void 0),B=v.protocol||hz[0];if(B==="data:"){let u;if(Y!=="GET")return Y0($,z,{status:405,statusText:"method not allowed",headers:{},config:x});try{u=Q6(x.url,i==="blob",{Blob:x.env&&x.env.Blob})}catch(f){throw d.from(f,d.ERR_BAD_REQUEST,x)}if(i==="text"){if(u=u.toString(G),!G||G==="utf8")u=M.stripBOM(u)}else if(i==="stream")u=Dx.Readable.from(u);return Y0($,z,{data:u,status:200,statusText:"OK",headers:new Uc,config:x})}if(hz.indexOf(B)===-1)return z(new d("Unsupported protocol "+B,d.ERR_BAD_REQUEST,x));let A=Uc.from(x.headers).normalize();A.set("User-Agent","axios/"+Yx,!1);let{onUploadProgress:V,onDownloadProgress:y}=x,k=x.maxRate,O=void 0,I=void 0;if(M.isSpecCompliantForm(Q)){let u=A.getContentType(/boundary=([-_\w\d]{10,70})/i);Q=nz(Q,(f)=>{A.set(f)},{tag:`axios-${Yx}-boundary`,boundary:u&&u[1]||void 0})}else if(M.isFormData(Q)&&M.isFunction(Q.getHeaders)){if(A.set(Q.getHeaders()),!A.hasContentLength())try{let u=await jb.promisify(Q.getLength).call(Q);Number.isFinite(u)&&u>=0&&A.setContentLength(u)}catch(u){}}else if(M.isBlob(Q)||M.isFile(Q))Q.size&&A.setContentType(Q.type||"application/octet-stream"),A.setContentLength(Q.size||0),Q=Dx.Readable.from(W5(Q));else if(Q&&!M.isStream(Q)){if(Buffer.isBuffer(Q));else if(M.isArrayBuffer(Q))Q=Buffer.from(new Uint8Array(Q));else if(M.isString(Q))Q=Buffer.from(Q,"utf-8");else return z(new d("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",d.ERR_BAD_REQUEST,x));if(A.setContentLength(Q.length,!1),x.maxBodyLength>-1&&Q.length>x.maxBodyLength)return z(new d("Request body larger than maxBodyLength limit",d.ERR_BAD_REQUEST,x))}let m=M.toFiniteNumber(A.getContentLength());if(M.isArray(k))O=k[0],I=k[1];else O=I=k;if(Q&&(V||O)){if(!M.isStream(Q))Q=Dx.Readable.from(Q,{objectMode:!1});Q=Dx.pipeline([Q,new X6({maxRate:M.toFiniteNumber(O)})],M.noop),V&&Q.on("progress",az(Q,Sx(m,F0(Ix(V),!1,3))))}let C=void 0;if(x.auth){let u=x.auth.username||"",f=x.auth.password||"";C=u+":"+f}if(!C&&v.username){let{username:u,password:f}=v;C=u+":"+f}C&&A.delete("authorization");let N;try{N=zx(v.pathname+v.search,x.params,x.paramsSerializer).replace(/^\?/,"")}catch(u){let f=Error(u.message);return f.config=x,f.url=x.url,f.exists=!0,z(f)}A.set("Accept-Encoding","gzip, compress, deflate"+(dz?", br":""),!1);let L={path:N,method:Y,headers:A.toJSON(),agents:{http:x.httpAgent,https:x.httpsAgent},auth:C,protocol:B,family:X,beforeRedirect:Rb,beforeRedirects:{}};if(!M.isUndefined(J)&&(L.lookup=J),x.socketPath)L.socketPath=x.socketPath;else L.hostname=v.hostname.startsWith("[")?v.hostname.slice(1,-1):v.hostname,L.port=v.port,oz(L,x.proxy,B+"//"+v.hostname+(v.port?":"+v.port:"")+L.path);let n,F=Tb.test(L.protocol);if(L.agent=F?x.httpsAgent:x.httpAgent,x.transport)n=x.transport;else if(x.maxRedirects===0)n=F?Cb:Ob;else{if(x.maxRedirects)L.maxRedirects=x.maxRedirects;if(x.beforeRedirect)L.beforeRedirects.config=x.beforeRedirect;n=F?Eb:Db}if(x.maxBodyLength>-1)L.maxBodyLength=x.maxBodyLength;else L.maxBodyLength=1/0;if(x.insecureHTTPParser)L.insecureHTTPParser=x.insecureHTTPParser;if(K=n.request(L,function(f){if(K.destroyed)return;let j=[f],T=+f.headers["content-length"];if(y||I){let r=new X6({maxRate:M.toFiniteNumber(I)});y&&r.on("progress",az(r,Sx(T,F0(Ix(y),!0,3)))),j.push(r)}let S=f,D=f.req||K;if(x.decompress!==!1&&f.headers["content-encoding"]){if(Y==="HEAD"||f.statusCode===204)delete f.headers["content-encoding"];switch((f.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":j.push(m0.createUnzip(mz)),delete f.headers["content-encoding"];break;case"deflate":j.push(new Cz),j.push(m0.createUnzip(mz)),delete f.headers["content-encoding"];break;case"br":if(dz)j.push(m0.createBrotliDecompress(Ib)),delete f.headers["content-encoding"]}}S=j.length>1?Dx.pipeline(j,M.noop):j[0];let a=Dx.finished(S,()=>{a(),q()}),o={status:f.statusCode,statusText:f.statusMessage,headers:new Uc(f.headers),config:x,request:D};if(i==="stream")o.data=S,Y0($,z,o);else{let r=[],wc=0;S.on("data",function(xc){if(r.push(xc),wc+=xc.length,x.maxContentLength>-1&&wc>x.maxContentLength)W=!0,S.destroy(),z(new d("maxContentLength size of "+x.maxContentLength+" exceeded",d.ERR_BAD_RESPONSE,x,D))}),S.on("aborted",function(){if(W)return;let xc=new d("stream has been aborted",d.ERR_BAD_RESPONSE,x,D);S.destroy(xc),z(xc)}),S.on("error",function(xc){if(K.destroyed)return;z(d.from(xc,null,x,D))}),S.on("end",function(){try{let xc=r.length===1?r[0]:Buffer.concat(r);if(i!=="arraybuffer"){if(xc=xc.toString(G),!G||G==="utf8")xc=M.stripBOM(xc)}o.data=xc}catch(xc){return z(d.from(xc,null,x,o.request,o))}Y0($,z,o)})}w.once("abort",(r)=>{if(!S.destroyed)S.emit("error",r),S.destroy()})}),w.once("abort",(u)=>{z(u),K.destroy(u)}),K.on("error",function(f){z(d.from(f,null,x,K))}),K.on("socket",function(f){f.setKeepAlive(!0,60000)}),x.timeout){let u=parseInt(x.timeout,10);if(Number.isNaN(u)){z(new d("error trying to parse `config.timeout` to int",d.ERR_BAD_OPTION_VALUE,x,K));return}K.setTimeout(u,function(){if(H)return;let j=x.timeout?"timeout of "+x.timeout+"ms exceeded":"timeout exceeded",T=x.transitional||fx;if(x.timeoutErrorMessage)j=x.timeoutErrorMessage;z(new d(j,T.clarifyTimeoutError?d.ETIMEDOUT:d.ECONNABORTED,x,K)),U()})}if(M.isStream(Q)){let u=!1,f=!1;Q.on("end",()=>{u=!0}),Q.once("error",(j)=>{f=!0,K.destroy(j)}),Q.on("close",()=>{if(!u&&!f)U(new lc("Request stream has been aborted",x,K))}),Q.pipe(K)}else K.end(Q)})}});var tz;var ez=g(()=>{z0();tz=zc.hasStandardBrowserEnv?((c,x)=>(p)=>{return p=new URL(p,zc.origin),c.protocol===p.protocol&&c.host===p.host&&(x||c.port===p.port)})(new URL(zc.origin),zc.navigator&&/(msie|trident)/i.test(zc.navigator.userAgent)):()=>!0});var cZ;var xZ=g(()=>{Kc();z0();cZ=zc.hasStandardBrowserEnv?{write(c,x,p,$,z,Z){let Q=[c+"="+encodeURIComponent(x)];M.isNumber(p)&&Q.push("expires="+new Date(p).toGMTString()),M.isString($)&&Q.push("path="+$),M.isString(z)&&Q.push("domain="+z),Z===!0&&Q.push("secure"),document.cookie=Q.join("; ")},read(c){let x=document.cookie.match(new RegExp("(^|;\\s*)("+c+")=([^;]*)"));return x?decodeURIComponent(x[3]):null},remove(c){this.write(c,"",Date.now()-86400000)}}:{write(){},read(){return null},remove(){}}});function Z0(c,x){x=x||{};let p={};function $(i,G,Y,H){if(M.isPlainObject(i)&&M.isPlainObject(G))return M.merge.call({caseless:H},i,G);else if(M.isPlainObject(G))return M.merge({},G);else if(M.isArray(G))return G.slice();return G}function z(i,G,Y,H){if(!M.isUndefined(G))return $(i,G,Y,H);else if(!M.isUndefined(i))return $(void 0,i,Y,H)}function Z(i,G){if(!M.isUndefined(G))return $(void 0,G)}function Q(i,G){if(!M.isUndefined(G))return $(void 0,G);else if(!M.isUndefined(i))return $(void 0,i)}function J(i,G,Y){if(Y in x)return $(i,G);else if(Y in c)return $(void 0,i)}let X={url:Z,method:Z,data:Z,baseURL:Q,transformRequest:Q,transformResponse:Q,paramsSerializer:Q,timeout:Q,timeoutMessage:Q,withCredentials:Q,withXSRFToken:Q,adapter:Q,responseType:Q,xsrfCookieName:Q,xsrfHeaderName:Q,onUploadProgress:Q,onDownloadProgress:Q,decompress:Q,maxContentLength:Q,maxBodyLength:Q,beforeRedirect:Q,transport:Q,httpAgent:Q,httpsAgent:Q,cancelToken:Q,socketPath:Q,responseEncoding:Q,validateStatus:J,headers:(i,G,Y)=>z(pZ(i),pZ(G),Y,!0)};return M.forEach(Object.keys({...c,...x}),function(G){let Y=X[G]||z,H=Y(c[G],x[G],G);M.isUndefined(H)&&Y!==J||(p[G]=H)}),p}var pZ=(c)=>c instanceof Uc?{...c}:c;var w5=g(()=>{Kc();G0()});var v5=(c)=>{let x=Z0({},c),{data:p,withXSRFToken:$,xsrfHeaderName:z,xsrfCookieName:Z,headers:Q,auth:J}=x;if(x.headers=Q=Uc.from(Q),x.url=zx(Qx(x.baseURL,x.url,x.allowAbsoluteUrls),c.params,c.paramsSerializer),J)Q.set("Authorization","Basic "+btoa((J.username||"")+":"+(J.password?unescape(encodeURIComponent(J.password)):"")));let X;if(M.isFormData(p)){if(zc.hasStandardBrowserEnv||zc.hasStandardBrowserWebWorkerEnv)Q.setContentType(void 0);else if((X=Q.getContentType())!==!1){let[i,...G]=X?X.split(";").map((Y)=>Y.trim()).filter(Boolean):[];Q.setContentType([i||"multipart/form-data",...G].join("; "))}}if(zc.hasStandardBrowserEnv){if($&&M.isFunction($)&&($=$(x)),$||$!==!1&&tz(x.url)){let i=z&&Z&&cZ.read(Z);if(i)Q.set(z,i)}}return x};var G6=g(()=>{z0();Kc();ez();xZ();X5();w5();G0();p5()});var ab,$Z;var zZ=g(()=>{Kc();J5();$5();gc();Zx();z0();G0();K5();G6();ab=typeof XMLHttpRequest<"u",$Z=ab&&function(c){return new Promise(function(p,$){let z=v5(c),Z=z.data,Q=Uc.from(z.headers).normalize(),{responseType:J,onUploadProgress:X,onDownloadProgress:i}=z,G,Y,H,W,K;function w(){W&&W(),K&&K(),z.cancelToken&&z.cancelToken.unsubscribe(G),z.signal&&z.signal.removeEventListener("abort",G)}let q=new XMLHttpRequest;q.open(z.method.toUpperCase(),z.url,!0),q.timeout=z.timeout;function U(){if(!q)return;let v=Uc.from("getAllResponseHeaders"in q&&q.getAllResponseHeaders()),A={data:!J||J==="text"||J==="json"?q.responseText:q.response,status:q.status,statusText:q.statusText,headers:v,config:c,request:q};Y0(function(y){p(y),w()},function(y){$(y),w()},A),q=null}if("onloadend"in q)q.onloadend=U;else q.onreadystatechange=function(){if(!q||q.readyState!==4)return;if(q.status===0&&!(q.responseURL&&q.responseURL.indexOf("file:")===0))return;setTimeout(U)};if(q.onabort=function(){if(!q)return;$(new d("Request aborted",d.ECONNABORTED,c,q)),q=null},q.onerror=function(){$(new d("Network Error",d.ERR_NETWORK,c,q)),q=null},q.ontimeout=function(){let B=z.timeout?"timeout of "+z.timeout+"ms exceeded":"timeout exceeded",A=z.transitional||fx;if(z.timeoutErrorMessage)B=z.timeoutErrorMessage;$(new d(B,A.clarifyTimeoutError?d.ETIMEDOUT:d.ECONNABORTED,c,q)),q=null},Z===void 0&&Q.setContentType(null),"setRequestHeader"in q)M.forEach(Q.toJSON(),function(B,A){q.setRequestHeader(A,B)});if(!M.isUndefined(z.withCredentials))q.withCredentials=!!z.withCredentials;if(J&&J!=="json")q.responseType=z.responseType;if(i)[H,K]=F0(i,!0),q.addEventListener("progress",H);if(X&&q.upload)[Y,W]=F0(X),q.upload.addEventListener("progress",Y),q.upload.addEventListener("loadend",W);if(z.cancelToken||z.signal){if(G=(v)=>{if(!q)return;$(!v||v.type?new lc(null,c,q):v),q.abort(),q=null},z.cancelToken&&z.cancelToken.subscribe(G),z.signal)z.signal.aborted?G():z.signal.addEventListener("abort",G)}let b=I1(z.url);if(b&&zc.protocols.indexOf(b)===-1){$(new d("Unsupported protocol "+b+":",d.ERR_BAD_REQUEST,c));return}q.send(Z||null)})}});var _b=(c,x)=>{let{length:p}=c=c?c.filter(Boolean):[];if(x||p){let $=new AbortController,z,Z=function(i){if(!z){z=!0,J();let G=i instanceof Error?i:this.reason;$.abort(G instanceof d?G:new lc(G instanceof Error?G.message:G))}},Q=x&&setTimeout(()=>{Q=null,Z(new d(`timeout ${x} of ms exceeded`,d.ETIMEDOUT))},x),J=()=>{if(c)Q&&clearTimeout(Q),Q=null,c.forEach((i)=>{i.unsubscribe?i.unsubscribe(Z):i.removeEventListener("abort",Z)}),c=null};c.forEach((i)=>i.addEventListener("abort",Z));let{signal:X}=$;return X.unsubscribe=()=>M.asap(J),X}},ZZ;var QZ=g(()=>{Zx();gc();Kc();ZZ=_b});var gb=function*(c,x){let p=c.byteLength;if(!x||p<x){yield c;return}let $=0,z;while($<p)z=$+x,yield c.slice($,z),$=z},lb=async function*(c,x){for await(let p of ob(c))yield*gb(p,x)},ob=async function*(c){if(c[Symbol.asyncIterator]){yield*c;return}let x=c.getReader();try{for(;;){let{done:p,value:$}=await x.read();if(p)break;yield $}}finally{await x.cancel()}},Y6=(c,x,p,$)=>{let z=lb(c,x),Z=0,Q,J=(X)=>{if(!Q)Q=!0,$&&$(X)};return new ReadableStream({async pull(X){try{let{done:i,value:G}=await z.next();if(i){J(),X.close();return}let Y=G.byteLength;if(p){let H=Z+=Y;p(H)}X.enqueue(new Uint8Array(G))}catch(i){throw J(i),i}},cancel(X){return J(X),z.return()}},{highWaterMark:2})};var U5,XZ,sb,iZ=(c,...x)=>{try{return!!c(...x)}catch(p){return!1}},rb,JZ=65536,H6,q5,tb=async(c)=>{if(c==null)return 0;if(M.isBlob(c))return c.size;if(M.isSpecCompliantForm(c))return(await new Request(zc.origin,{method:"POST",body:c}).arrayBuffer()).byteLength;if(M.isArrayBufferView(c)||M.isArrayBuffer(c))return c.byteLength;if(M.isURLSearchParams(c))c=c+"";if(M.isString(c))return(await sb(c)).byteLength},eb=async(c,x)=>{let p=M.toFiniteNumber(c.getContentLength());return p==null?tb(x):p},GZ;var YZ=g(()=>{z0();Kc();gc();QZ();G0();K5();G6();J5();U5=typeof fetch==="function"&&typeof Request==="function"&&typeof Response==="function",XZ=U5&&typeof ReadableStream==="function",sb=U5&&(typeof TextEncoder==="function"?((c)=>(x)=>c.encode(x))(new TextEncoder):async(c)=>new Uint8Array(await new Response(c).arrayBuffer())),rb=XZ&&iZ(()=>{let c=!1,x=new Request(zc.origin,{body:new ReadableStream,method:"POST",get duplex(){return c=!0,"half"}}).headers.has("Content-Type");return c&&!x}),H6=XZ&&iZ(()=>M.isReadableStream(new Response("").body)),q5={stream:H6&&((c)=>c.body)};U5&&((c)=>{["text","arrayBuffer","blob","formData","stream"].forEach((x)=>{!q5[x]&&(q5[x]=M.isFunction(c[x])?(p)=>p[x]():(p,$)=>{throw new d(`Response type '${x}' is not supported`,d.ERR_NOT_SUPPORT,$)})})})(new Response);GZ=U5&&(async(c)=>{let{url:x,method:p,data:$,signal:z,cancelToken:Z,timeout:Q,onDownloadProgress:J,onUploadProgress:X,responseType:i,headers:G,withCredentials:Y="same-origin",fetchOptions:H}=v5(c);i=i?(i+"").toLowerCase():"text";let W=ZZ([z,Z&&Z.toAbortSignal()],Q),K,w=W&&W.unsubscribe&&(()=>{W.unsubscribe()}),q;try{if(X&&rb&&p!=="get"&&p!=="head"&&(q=await eb(G,$))!==0){let A=new Request(x,{method:"POST",body:$,duplex:"half"}),V;if(M.isFormData($)&&(V=A.headers.get("content-type")))G.setContentType(V);if(A.body){let[y,k]=Sx(q,F0(Ix(X)));$=Y6(A.body,JZ,y,k)}}if(!M.isString(Y))Y=Y?"include":"omit";let U="credentials"in Request.prototype;K=new Request(x,{...H,signal:W,method:p.toUpperCase(),headers:G.normalize().toJSON(),body:$,duplex:"half",credentials:U?Y:void 0});let b=await fetch(K,H),v=H6&&(i==="stream"||i==="response");if(H6&&(J||v&&w)){let A={};["status","statusText","headers"].forEach((O)=>{A[O]=b[O]});let V=M.toFiniteNumber(b.headers.get("content-length")),[y,k]=J&&Sx(V,F0(Ix(J),!0))||[];b=new Response(Y6(b.body,JZ,y,()=>{k&&k(),w&&w()}),A)}i=i||"text";let B=await q5[M.findKey(q5,i)||"text"](b,c);return!v&&w&&w(),await new Promise((A,V)=>{Y0(A,V,{data:B,headers:Uc.from(b.headers),status:b.status,statusText:b.statusText,config:c,request:K})})}catch(U){if(w&&w(),U&&U.name==="TypeError"&&/Load failed|fetch/i.test(U.message))throw Object.assign(new d("Network Error",d.ERR_NETWORK,c,K),{cause:U.cause||U});throw d.from(U,U&&U.code,c,K)}})});var W6,HZ=(c)=>`- ${c}`,cL=(c)=>M.isFunction(c)||c===null||c===!1,B5;var K6=g(()=>{Kc();rz();zZ();YZ();gc();W6={http:sz,xhr:$Z,fetch:GZ};M.forEach(W6,(c,x)=>{if(c){try{Object.defineProperty(c,"name",{value:x})}catch(p){}Object.defineProperty(c,"adapterName",{value:x})}});B5={getAdapter:(c)=>{c=M.isArray(c)?c:[c];let{length:x}=c,p,$,z={};for(let Z=0;Z<x;Z++){p=c[Z];let Q;if($=p,!cL(p)){if($=W6[(Q=String(p)).toLowerCase()],$===void 0)throw new d(`Unknown adapter '${Q}'`)}if($)break;z[Q||"#"+Z]=$}if(!$){let Z=Object.entries(z).map(([J,X])=>`adapter ${J} `+(X===!1?"is not supported by the environment":"is not available in the build")),Q=x?Z.length>1?`since :
|
|
63
|
+
`+Z.map(HZ).join(`
|
|
64
|
+
`):" "+HZ(Z[0]):"as no adapter specified";throw new d("There is no suitable adapter to dispatch the request "+Q,"ERR_NOT_SUPPORT")}return $},adapters:W6}});function w6(c){if(c.cancelToken)c.cancelToken.throwIfRequested();if(c.signal&&c.signal.aborted)throw new lc(null,c)}function V5(c){if(w6(c),c.headers=Uc.from(c.headers),c.data=f1.call(c,c.transformRequest),["post","put","patch"].indexOf(c.method)!==-1)c.headers.setContentType("application/x-www-form-urlencoded",!1);return B5.getAdapter(c.adapter||nx.adapter)(c).then(function($){return w6(c),$.data=f1.call(c,c.transformResponse,$),$.headers=Uc.from($.headers),$},function($){if(!n1($)){if(w6(c),$&&$.response)$.response.data=f1.call(c,c.transformResponse,$.response),$.response.headers=Uc.from($.response.headers)}return Promise.reject($)})}var WZ=g(()=>{xz();Z5();Zx();G0();K6()});function xL(c,x,p){if(typeof c!=="object")throw new d("options must be an object",d.ERR_BAD_OPTION_VALUE);let $=Object.keys(c),z=$.length;while(z-- >0){let Z=$[z],Q=x[Z];if(Q){let J=c[Z],X=J===void 0||Q(J,Z,c);if(X!==!0)throw new d("option "+Z+" must be "+X,d.ERR_BAD_OPTION_VALUE);continue}if(p!==!0)throw new d("Unknown option "+Z,d.ERR_BAD_OPTION)}}var F5,KZ,E1;var wZ=g(()=>{gc();F5={};["object","boolean","number","function","string","symbol"].forEach((c,x)=>{F5[c]=function($){return typeof $===c||"a"+(x<1?"n ":" ")+c}});KZ={};F5.transitional=function(x,p,$){function z(Z,Q){return"[Axios v"+Yx+"] Transitional option '"+Z+"'"+Q+($?". "+$:"")}return(Z,Q,J)=>{if(x===!1)throw new d(z(Q," has been removed"+(p?" in "+p:"")),d.ERR_DEPRECATED);if(p&&!KZ[Q])KZ[Q]=!0,console.warn(z(Q," has been deprecated since v"+p+" and will be removed in the near future"));return x?x(Z,Q,J):!0}};F5.spelling=function(x){return(p,$)=>{return console.warn(`${$} is likely a misspelling of ${x}`),!0}};E1={assertOptions:xL,validators:F5}});class T1{constructor(c){this.defaults=c||{},this.interceptors={request:new O3,response:new O3}}async request(c,x){try{return await this._request(c,x)}catch(p){if(p instanceof Error){let $={};Error.captureStackTrace?Error.captureStackTrace($):$=Error();let z=$.stack?$.stack.replace(/^.+\n/,""):"";try{if(!p.stack)p.stack=z;else if(z&&!String(p.stack).endsWith(z.replace(/^.+\n.+\n/,"")))p.stack+=`
|
|
65
|
+
`+z}catch(Z){}}throw p}}_request(c,x){if(typeof c==="string")x=x||{},x.url=c;else x=c||{};x=Z0(this.defaults,x);let{transitional:p,paramsSerializer:$,headers:z}=x;if(p!==void 0)E1.assertOptions(p,{silentJSONParsing:H0.transitional(H0.boolean),forcedJSONParsing:H0.transitional(H0.boolean),clarifyTimeoutError:H0.transitional(H0.boolean)},!1);if($!=null)if(M.isFunction($))x.paramsSerializer={serialize:$};else E1.assertOptions($,{encode:H0.function,serialize:H0.function},!0);if(x.allowAbsoluteUrls!==void 0);else if(this.defaults.allowAbsoluteUrls!==void 0)x.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls;else x.allowAbsoluteUrls=!0;E1.assertOptions(x,{baseUrl:H0.spelling("baseURL"),withXsrfToken:H0.spelling("withXSRFToken")},!0),x.method=(x.method||this.defaults.method||"get").toLowerCase();let Z=z&&M.merge(z.common,z[x.method]);z&&M.forEach(["delete","get","head","post","put","patch","common"],(W)=>{delete z[W]}),x.headers=Uc.concat(Z,z);let Q=[],J=!0;this.interceptors.request.forEach(function(K){if(typeof K.runWhen==="function"&&K.runWhen(x)===!1)return;J=J&&K.synchronous,Q.unshift(K.fulfilled,K.rejected)});let X=[];this.interceptors.response.forEach(function(K){X.push(K.fulfilled,K.rejected)});let i,G=0,Y;if(!J){let W=[V5.bind(this),void 0];W.unshift(...Q),W.push(...X),Y=W.length,i=Promise.resolve(x);while(G<Y)i=i.then(W[G++],W[G++]);return i}Y=Q.length;let H=x;G=0;while(G<Y){let W=Q[G++],K=Q[G++];try{H=W(H)}catch(w){K.call(this,w);break}}try{i=V5.call(this,H)}catch(W){return Promise.reject(W)}G=0,Y=X.length;while(G<Y)i=i.then(X[G++],X[G++]);return i}getUri(c){c=Z0(this.defaults,c);let x=Qx(c.baseURL,c.url,c.allowAbsoluteUrls);return zx(x,c.params,c.paramsSerializer)}}var H0,R1;var vZ=g(()=>{Kc();p5();d$();WZ();w5();X5();wZ();G0();H0=E1.validators;M.forEach(["delete","get","head","options"],function(x){T1.prototype[x]=function(p,$){return this.request(Z0($||{},{method:x,url:p,data:($||{}).data}))}});M.forEach(["post","put","patch"],function(x){function p($){return function(Z,Q,J){return this.request(Z0(J||{},{method:x,headers:$?{"Content-Type":"multipart/form-data"}:{},url:Z,data:Q}))}}T1.prototype[x]=p(),T1.prototype[x+"Form"]=p(!0)});R1=T1});class v6{constructor(c){if(typeof c!=="function")throw TypeError("executor must be a function.");let x;this.promise=new Promise(function(z){x=z});let p=this;this.promise.then(($)=>{if(!p._listeners)return;let z=p._listeners.length;while(z-- >0)p._listeners[z]($);p._listeners=null}),this.promise.then=($)=>{let z,Z=new Promise((Q)=>{p.subscribe(Q),z=Q}).then($);return Z.cancel=function(){p.unsubscribe(z)},Z},c(function(z,Z,Q){if(p.reason)return;p.reason=new lc(z,Z,Q),x(p.reason)})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(c){if(this.reason){c(this.reason);return}if(this._listeners)this._listeners.push(c);else this._listeners=[c]}unsubscribe(c){if(!this._listeners)return;let x=this._listeners.indexOf(c);if(x!==-1)this._listeners.splice(x,1)}toAbortSignal(){let c=new AbortController,x=(p)=>{c.abort(p)};return this.subscribe(x),c.signal.unsubscribe=()=>this.unsubscribe(x),c.signal}static source(){let c;return{token:new v6(function($){c=$}),cancel:c}}}var qZ;var UZ=g(()=>{Zx();qZ=v6});function q6(c){return function(p){return c.apply(null,p)}}function U6(c){return M.isObject(c)&&c.isAxiosError===!0}var BZ=g(()=>{Kc()});var B6,VZ;var FZ=g(()=>{B6={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(B6).forEach(([c,x])=>{B6[x]=c});VZ=B6});function bZ(c){let x=new R1(c),p=U1(R1.prototype.request,x);return M.extend(p,R1.prototype,x,{allOwnKeys:!0}),M.extend(p,x,null,{allOwnKeys:!0}),p.create=function(z){return bZ(Z0(c,z))},p}var uc,Ex;var LZ=g(()=>{Kc();vZ();w5();Z5();E3();Zx();UZ();P1();gc();BZ();G0();K6();FZ();uc=bZ(nx);uc.Axios=R1;uc.CanceledError=lc;uc.CancelToken=qZ;uc.isCancel=n1;uc.VERSION=Yx;uc.toFormData=T0;uc.AxiosError=d;uc.Cancel=uc.CanceledError;uc.all=function(x){return Promise.all(x)};uc.spread=q6;uc.isAxiosError=U6;uc.mergeConfig=Z0;uc.AxiosHeaders=Uc;uc.formToJSON=(c)=>z5(M.isHTMLForm(c)?new FormData(c):c);uc.getAdapter=B5.getAdapter;uc.HttpStatusCode=VZ;uc.default=uc;Ex=uc});var NZ=g(()=>{LZ()});import{createHash as pL,randomBytes as AZ}from"crypto";import{URLSearchParams as $L}from"url";class m1{config;clientId;clientSecret;redirectUri;tokenUrl;authorizeUrl;scopes;constructor(c,x){this.config=c,this.clientId=x.clientId,this.clientSecret=x.clientSecret,this.redirectUri=x.redirectUri,this.tokenUrl=x.tokenUrl,this.authorizeUrl=x.authorizeUrl,this.scopes=x.scopes||[]}async generateAuthorizationUrl(c){if(!c)c=this.generateState();let x=new $L({client_id:this.clientId,redirect_uri:this.redirectUri,response_type:"code",scope:this.scopes.join(" "),state:c});return`${this.authorizeUrl}?${x.toString()}`}async exchangeCodeForToken(c,x){try{let $=(await Ex.post(this.tokenUrl,{client_id:this.clientId,client_secret:this.clientSecret,redirect_uri:this.redirectUri,grant_type:"authorization_code",code:c,state:x},{headers:{"Content-Type":"application/x-www-form-urlencoded"}})).data;return{accessToken:$.access_token,refreshToken:$.refresh_token,tokenType:$.token_type,expiresIn:$.expires_in,scope:$.scope,issuedAt:Math.floor(Date.now()/1000)}}catch(p){throw console.error("令牌交换失败:",p),Error("令牌交换失败")}}async refreshAccessToken(c){try{let p=(await Ex.post(this.tokenUrl,{client_id:this.clientId,client_secret:this.clientSecret,grant_type:"refresh_token",refresh_token:c},{headers:{"Content-Type":"application/x-www-form-urlencoded"}})).data;return{accessToken:p.access_token,refreshToken:p.refresh_token||c,tokenType:p.token_type,expiresIn:p.expires_in,scope:p.scope,issuedAt:Math.floor(Date.now()/1000)}}catch(x){throw console.error("令牌刷新失败:",x),Error("令牌刷新失败")}}generateState(){return AZ(32).toString("hex")}generateCodeVerifier(){return AZ(32).toString("hex")}generateCodeChallenge(c){return pL("sha256").update(c).digest("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}validateState(c,x){return c===x}isTokenExpired(c){if(!c.expiresIn||!c.issuedAt)return!1;let x=c.issuedAt+c.expiresIn;return Math.floor(Date.now()/1000)>=x-300}getAuthorizationHeader(c){return`${c.tokenType} ${c.accessToken}`}}var V6,F6;var uZ=g(()=>{NZ();V6=class V6 extends m1{constructor(c){super(c,{clientId:process.env.GOOGLE_CLIENT_ID||"",clientSecret:process.env.GOOGLE_CLIENT_SECRET||"",redirectUri:"http://localhost:3000/oauth/callback/google",tokenUrl:"https://oauth2.googleapis.com/token",authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",scopes:["openid","profile","email","https://www.googleapis.com/auth/userinfo.profile","https://www.googleapis.com/auth/userinfo.email"]})}async getUserInfo(c){try{let p=(await Ex.get("https://www.googleapis.com/oauth2/v2/userinfo",{headers:{Authorization:`Bearer ${c}`}})).data;return{id:p.id,email:p.email,name:p.name,given_name:p.given_name,family_name:p.family_name,picture:p.picture,locale:p.locale,verified_email:p.verified_email}}catch(x){throw console.error("获取用户信息失败:",x),Error("获取用户信息失败")}}};F6=class F6 extends m1{constructor(c){super(c,{clientId:process.env.GITHUB_CLIENT_ID||"",clientSecret:process.env.GITHUB_CLIENT_SECRET||"",redirectUri:"http://localhost:3000/oauth/callback/github",tokenUrl:"https://github.com/login/oauth/access_token",authorizeUrl:"https://github.com/login/oauth/authorize",scopes:["user","repo","gist"]})}async getUserInfo(c){try{let p=(await Ex.get("https://api.github.com/user",{headers:{Authorization:`Bearer ${c}`,Accept:"application/vnd.github.v3+json"}})).data;return{id:p.id,login:p.login,name:p.name,email:p.email,avatar_url:p.avatar_url,url:p.html_url,company:p.company,blog:p.blog,location:p.location,bio:p.bio,public_repos:p.public_repos,public_gists:p.public_gists,followers:p.followers,following:p.following,created_at:p.created_at,updated_at:p.updated_at}}catch(x){throw console.error("获取用户信息失败:",x),Error("获取用户信息失败")}}}});import W0 from"crypto";import{promises as b0}from"fs";import zL from"os";import PZ from"path";class b6{storagePath;encryptionKey;constructor(c={}){this.storagePath=c.storagePath||this.getDefaultStoragePath(),this.encryptionKey=c.encryptionKey||this.generateDefaultKey()}getDefaultStoragePath(){let c=zL.homedir();return PZ.join(c,".blade","oauth-tokens.json")}generateDefaultKey(){return process.env.BLADE_OAUTH_ENCRYPTION_KEY||"default-encryption-key-32-characters"}async saveToken(c,x){try{let p=PZ.dirname(this.storagePath);try{await b0.mkdir(p,{recursive:!0})}catch(Q){if(Q.code!=="EEXIST")throw Q}let $=await this.loadAllTokens(),z=this.encryptToken(x);$[c]={...z,timestamp:Date.now()};let Z=JSON.stringify($,null,2);await b0.writeFile(this.storagePath,Z,"utf-8"),console.log(`令牌已保存: ${c}`)}catch(p){throw console.error("保存令牌失败:",p),p}}async getToken(c){try{let p=(await this.loadAllTokens())[c];if(!p)return null;if(this.isTokenExpired(p))return console.log(`令牌已过期: ${c}`),null;return this.decryptToken(p)}catch(x){return console.error("获取令牌失败:",x),null}}async removeToken(c){try{let x=await this.loadAllTokens();if(x[c]){delete x[c];let p=JSON.stringify(x,null,2);await b0.writeFile(this.storagePath,p,"utf-8"),console.log(`令牌已删除: ${c}`)}}catch(x){throw console.error("删除令牌失败:",x),x}}async clearAllTokens(){try{await b0.unlink(this.storagePath),console.log("所有令牌已清除")}catch(c){if(c.code!=="ENOENT")throw console.error("清除令牌失败:",c),c}}async listProviders(){try{let c=await this.loadAllTokens();return Object.keys(c)}catch(c){return console.error("列出提供者失败:",c),[]}}async getTokenInfo(c){try{let p=(await this.loadAllTokens())[c];if(!p)return null;return{provider:c,issuedAt:p.issuedAt,expiresAt:p.issuedAt&&p.expiresIn?p.issuedAt+p.expiresIn:void 0,isExpired:this.isTokenExpired(p),scope:p.scope,tokenType:p.tokenType}}catch(x){return console.error("获取令牌信息失败:",x),null}}async loadAllTokens(){try{await b0.access(this.storagePath);let c=await b0.readFile(this.storagePath,"utf-8");return JSON.parse(c)}catch(c){if(c.code==="ENOENT")return{};throw c}}encryptToken(c){try{let p=W0.createHash("sha256").update(this.encryptionKey).digest(),$=W0.randomBytes(16),z=W0.createCipheriv("aes-256-cbc",p,$),Z=z.update(JSON.stringify(c),"utf8","hex");return Z+=z.final("hex"),{accessToken:Z,refreshToken:c.refreshToken?this.encryptString(c.refreshToken):void 0,tokenType:c.tokenType,expiresIn:c.expiresIn,scope:c.scope,issuedAt:c.issuedAt,iv:$.toString("hex"),encrypted:!0}}catch(x){return console.error("加密令牌失败,使用明文存储:",x),{...c,encrypted:!1}}}decryptToken(c){if(!c.encrypted)return c;try{let p=W0.createHash("sha256").update(this.encryptionKey).digest(),$=Buffer.from(c.iv,"hex"),z=W0.createDecipheriv("aes-256-cbc",p,$),Z=z.update(c.accessToken,"hex","utf8");Z+=z.final("utf8");let Q=JSON.parse(Z);if(c.refreshToken)Q.refreshToken=this.decryptString(c.refreshToken);return Q}catch(x){throw console.error("解密令牌失败:",x),Error("令牌解密失败")}}encryptString(c){try{let p=W0.createHash("sha256").update(this.encryptionKey).digest(),$=W0.randomBytes(16),z=W0.createCipheriv("aes-256-cbc",p,$),Z=z.update(c,"utf8","hex");return Z+=z.final("hex"),`${Z}:${$.toString("hex")}`}catch(x){return console.error("字符串加密失败:",x),c}}decryptString(c){try{let[x,p]=c.split(":"),$="aes-256-cbc",z=W0.createHash("sha256").update(this.encryptionKey).digest(),Z=Buffer.from(p,"hex"),Q=W0.createDecipheriv("aes-256-cbc",z,Z),J=Q.update(x,"hex","utf8");return J+=Q.final("utf8"),J}catch(x){return console.error("字符串解密失败:",x),c}}isTokenExpired(c){if(!c.expiresIn||!c.issuedAt)return!1;let x=c.issuedAt+c.expiresIn;return Math.floor(Date.now()/1000)>=x-300}async cleanupExpiredTokens(){try{let c=await this.loadAllTokens(),x=!1;for(let[p,$]of Object.entries(c))if(this.isTokenExpired($))delete c[p],x=!0,console.log(`已清理过期令牌: ${p}`);if(x){let p=JSON.stringify(c,null,2);await b0.writeFile(this.storagePath,p,"utf-8")}}catch(c){console.error("清理过期令牌失败:",c)}}async backupTokens(c){try{await b0.copyFile(this.storagePath,c),console.log(`令牌备份已创建: ${c}`)}catch(x){if(x.code==="ENOENT")console.log("没有令牌需要备份");else throw console.error("令牌备份失败:",x),x}}async restoreTokens(c){try{await b0.copyFile(c,this.storagePath),console.log(`令牌已从备份恢复: ${c}`)}catch(x){throw console.error("令牌恢复失败:",x),x}}}var yZ=()=>{};var MZ={};b7(MZ,{OAuthTokenStorage:()=>b6,OAuthProvider:()=>m1,McpToolInvocation:()=>K1,McpToolAdapter:()=>cx,McpRegistry:()=>_c,McpConfigManager:()=>Q3,McpClient:()=>W1,GoogleOAuthProvider:()=>V6,GitHubOAuthProvider:()=>F6});var fZ=g(()=>{B8();h4();l4();g4();uZ();yZ()});var E=P((lh,h1)=>{function KL(c){return c&&c.__esModule?c:{default:c}}h1.exports=KL,h1.exports.__esModule=!0,h1.exports.default=h1.exports});var Q0=P((oh,L0)=>{function A6(c){return L0.exports=A6=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(x){return typeof x}:function(x){return x&&typeof Symbol=="function"&&x.constructor===Symbol&&x!==Symbol.prototype?"symbol":typeof x},L0.exports.__esModule=!0,L0.exports.default=L0.exports,A6(c)}L0.exports=A6,L0.exports.__esModule=!0,L0.exports.default=L0.exports});import*as EZ from"react";var b5=P((TZ)=>{Object.defineProperty(TZ,"__esModule",{value:!0});TZ.default=TZ.createUpdateEffect=void 0;var wL=TZ.createUpdateEffect=function(x){return function(p,$){var z=EZ.useRef(!1);x(function(){return function(){z.current=!1}},[]),x(function(){if(!z.current)z.current=!0;else return p()},$)}},sh=TZ.default=wL});var l=P((th,A5)=>{var mZ,dZ,hZ,aZ,_Z,gZ,lZ,oZ,sZ,rZ,tZ,eZ,cQ,L5,u6,xQ,pQ,$Q,Rx,zQ,ZQ,QQ,JQ,XQ,iQ,GQ,YQ,HQ,N5,WQ,KQ,wQ;(function(c){var x=typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:{};if(typeof define==="function"&&define.amd)define("tslib",["exports"],function($){c(p(x,p($)))});else if(typeof A5==="object"&&typeof th==="object")c(p(x,p(th)));else c(p(x));function p($,z){if($!==x)if(typeof Object.create==="function")Object.defineProperty($,"__esModule",{value:!0});else $.__esModule=!0;return function(Z,Q){return $[Z]=z?z(Z,Q):Q}}})(function(c){var x=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Z,Q){Z.__proto__=Q}||function(Z,Q){for(var J in Q)if(Object.prototype.hasOwnProperty.call(Q,J))Z[J]=Q[J]};mZ=function(Z,Q){if(typeof Q!=="function"&&Q!==null)throw TypeError("Class extends value "+String(Q)+" is not a constructor or null");x(Z,Q);function J(){this.constructor=Z}Z.prototype=Q===null?Object.create(Q):(J.prototype=Q.prototype,new J)},dZ=Object.assign||function(Z){for(var Q,J=1,X=arguments.length;J<X;J++){Q=arguments[J];for(var i in Q)if(Object.prototype.hasOwnProperty.call(Q,i))Z[i]=Q[i]}return Z},hZ=function(Z,Q){var J={};for(var X in Z)if(Object.prototype.hasOwnProperty.call(Z,X)&&Q.indexOf(X)<0)J[X]=Z[X];if(Z!=null&&typeof Object.getOwnPropertySymbols==="function"){for(var i=0,X=Object.getOwnPropertySymbols(Z);i<X.length;i++)if(Q.indexOf(X[i])<0&&Object.prototype.propertyIsEnumerable.call(Z,X[i]))J[X[i]]=Z[X[i]]}return J},aZ=function(Z,Q,J,X){var i=arguments.length,G=i<3?Q:X===null?X=Object.getOwnPropertyDescriptor(Q,J):X,Y;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")G=Reflect.decorate(Z,Q,J,X);else for(var H=Z.length-1;H>=0;H--)if(Y=Z[H])G=(i<3?Y(G):i>3?Y(Q,J,G):Y(Q,J))||G;return i>3&&G&&Object.defineProperty(Q,J,G),G},_Z=function(Z,Q){return function(J,X){Q(J,X,Z)}},gZ=function(Z,Q,J,X,i,G){function Y(V){if(V!==void 0&&typeof V!=="function")throw TypeError("Function expected");return V}var H=X.kind,W=H==="getter"?"get":H==="setter"?"set":"value",K=!Q&&Z?X.static?Z:Z.prototype:null,w=Q||(K?Object.getOwnPropertyDescriptor(K,X.name):{}),q,U=!1;for(var b=J.length-1;b>=0;b--){var v={};for(var B in X)v[B]=B==="access"?{}:X[B];for(var B in X.access)v.access[B]=X.access[B];v.addInitializer=function(V){if(U)throw TypeError("Cannot add initializers after decoration has completed");G.push(Y(V||null))};var A=(0,J[b])(H==="accessor"?{get:w.get,set:w.set}:w[W],v);if(H==="accessor"){if(A===void 0)continue;if(A===null||typeof A!=="object")throw TypeError("Object expected");if(q=Y(A.get))w.get=q;if(q=Y(A.set))w.set=q;if(q=Y(A.init))i.unshift(q)}else if(q=Y(A))if(H==="field")i.unshift(q);else w[W]=q}if(K)Object.defineProperty(K,X.name,w);U=!0},lZ=function(Z,Q,J){var X=arguments.length>2;for(var i=0;i<Q.length;i++)J=X?Q[i].call(Z,J):Q[i].call(Z);return X?J:void 0},oZ=function(Z){return typeof Z==="symbol"?Z:"".concat(Z)},sZ=function(Z,Q,J){if(typeof Q==="symbol")Q=Q.description?"[".concat(Q.description,"]"):"";return Object.defineProperty(Z,"name",{configurable:!0,value:J?"".concat(J," ",Q):Q})},rZ=function(Z,Q){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(Z,Q)},tZ=function(Z,Q,J,X){function i(G){return G instanceof J?G:new J(function(Y){Y(G)})}return new(J||(J=Promise))(function(G,Y){function H(w){try{K(X.next(w))}catch(q){Y(q)}}function W(w){try{K(X.throw(w))}catch(q){Y(q)}}function K(w){w.done?G(w.value):i(w.value).then(H,W)}K((X=X.apply(Z,Q||[])).next())})},eZ=function(Z,Q){var J={label:0,sent:function(){if(G[0]&1)throw G[1];return G[1]},trys:[],ops:[]},X,i,G,Y=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return Y.next=H(0),Y.throw=H(1),Y.return=H(2),typeof Symbol==="function"&&(Y[Symbol.iterator]=function(){return this}),Y;function H(K){return function(w){return W([K,w])}}function W(K){if(X)throw TypeError("Generator is already executing.");while(Y&&(Y=0,K[0]&&(J=0)),J)try{if(X=1,i&&(G=K[0]&2?i.return:K[0]?i.throw||((G=i.return)&&G.call(i),0):i.next)&&!(G=G.call(i,K[1])).done)return G;if(i=0,G)K=[K[0]&2,G.value];switch(K[0]){case 0:case 1:G=K;break;case 4:return J.label++,{value:K[1],done:!1};case 5:J.label++,i=K[1],K=[0];continue;case 7:K=J.ops.pop(),J.trys.pop();continue;default:if((G=J.trys,!(G=G.length>0&&G[G.length-1]))&&(K[0]===6||K[0]===2)){J=0;continue}if(K[0]===3&&(!G||K[1]>G[0]&&K[1]<G[3])){J.label=K[1];break}if(K[0]===6&&J.label<G[1]){J.label=G[1],G=K;break}if(G&&J.label<G[2]){J.label=G[2],J.ops.push(K);break}if(G[2])J.ops.pop();J.trys.pop();continue}K=Q.call(Z,J)}catch(w){K=[6,w],i=0}finally{X=G=0}if(K[0]&5)throw K[1];return{value:K[0]?K[1]:void 0,done:!0}}},cQ=function(Z,Q){for(var J in Z)if(J!=="default"&&!Object.prototype.hasOwnProperty.call(Q,J))N5(Q,Z,J)},N5=Object.create?function(Z,Q,J,X){if(X===void 0)X=J;var i=Object.getOwnPropertyDescriptor(Q,J);if(!i||("get"in i?!Q.__esModule:i.writable||i.configurable))i={enumerable:!0,get:function(){return Q[J]}};Object.defineProperty(Z,X,i)}:function(Z,Q,J,X){if(X===void 0)X=J;Z[X]=Q[J]},L5=function(Z){var Q=typeof Symbol==="function"&&Symbol.iterator,J=Q&&Z[Q],X=0;if(J)return J.call(Z);if(Z&&typeof Z.length==="number")return{next:function(){if(Z&&X>=Z.length)Z=void 0;return{value:Z&&Z[X++],done:!Z}}};throw TypeError(Q?"Object is not iterable.":"Symbol.iterator is not defined.")},u6=function(Z,Q){var J=typeof Symbol==="function"&&Z[Symbol.iterator];if(!J)return Z;var X=J.call(Z),i,G=[],Y;try{while((Q===void 0||Q-- >0)&&!(i=X.next()).done)G.push(i.value)}catch(H){Y={error:H}}finally{try{if(i&&!i.done&&(J=X.return))J.call(X)}finally{if(Y)throw Y.error}}return G},xQ=function(){for(var Z=[],Q=0;Q<arguments.length;Q++)Z=Z.concat(u6(arguments[Q]));return Z},pQ=function(){for(var Z=0,Q=0,J=arguments.length;Q<J;Q++)Z+=arguments[Q].length;for(var X=Array(Z),i=0,Q=0;Q<J;Q++)for(var G=arguments[Q],Y=0,H=G.length;Y<H;Y++,i++)X[i]=G[Y];return X},$Q=function(Z,Q,J){if(J||arguments.length===2){for(var X=0,i=Q.length,G;X<i;X++)if(G||!(X in Q)){if(!G)G=Array.prototype.slice.call(Q,0,X);G[X]=Q[X]}}return Z.concat(G||Array.prototype.slice.call(Q))},Rx=function(Z){return this instanceof Rx?(this.v=Z,this):new Rx(Z)},zQ=function(Z,Q,J){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var X=J.apply(Z,Q||[]),i,G=[];return i=Object.create((typeof AsyncIterator==="function"?AsyncIterator:Object).prototype),H("next"),H("throw"),H("return",Y),i[Symbol.asyncIterator]=function(){return this},i;function Y(b){return function(v){return Promise.resolve(v).then(b,q)}}function H(b,v){if(X[b]){if(i[b]=function(B){return new Promise(function(A,V){G.push([b,B,A,V])>1||W(b,B)})},v)i[b]=v(i[b])}}function W(b,v){try{K(X[b](v))}catch(B){U(G[0][3],B)}}function K(b){b.value instanceof Rx?Promise.resolve(b.value.v).then(w,q):U(G[0][2],b)}function w(b){W("next",b)}function q(b){W("throw",b)}function U(b,v){if(b(v),G.shift(),G.length)W(G[0][0],G[0][1])}},ZQ=function(Z){var Q,J;return Q={},X("next"),X("throw",function(i){throw i}),X("return"),Q[Symbol.iterator]=function(){return this},Q;function X(i,G){Q[i]=Z[i]?function(Y){return(J=!J)?{value:Rx(Z[i](Y)),done:!1}:G?G(Y):Y}:G}},QQ=function(Z){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var Q=Z[Symbol.asyncIterator],J;return Q?Q.call(Z):(Z=typeof L5==="function"?L5(Z):Z[Symbol.iterator](),J={},X("next"),X("throw"),X("return"),J[Symbol.asyncIterator]=function(){return this},J);function X(G){J[G]=Z[G]&&function(Y){return new Promise(function(H,W){Y=Z[G](Y),i(H,W,Y.done,Y.value)})}}function i(G,Y,H,W){Promise.resolve(W).then(function(K){G({value:K,done:H})},Y)}},JQ=function(Z,Q){if(Object.defineProperty)Object.defineProperty(Z,"raw",{value:Q});else Z.raw=Q;return Z};var p=Object.create?function(Z,Q){Object.defineProperty(Z,"default",{enumerable:!0,value:Q})}:function(Z,Q){Z.default=Q},$=function(Z){return $=Object.getOwnPropertyNames||function(Q){var J=[];for(var X in Q)if(Object.prototype.hasOwnProperty.call(Q,X))J[J.length]=X;return J},$(Z)};XQ=function(Z){if(Z&&Z.__esModule)return Z;var Q={};if(Z!=null){for(var J=$(Z),X=0;X<J.length;X++)if(J[X]!=="default")N5(Q,Z,J[X])}return p(Q,Z),Q},iQ=function(Z){return Z&&Z.__esModule?Z:{default:Z}},GQ=function(Z,Q,J,X){if(J==="a"&&!X)throw TypeError("Private accessor was defined without a getter");if(typeof Q==="function"?Z!==Q||!X:!Q.has(Z))throw TypeError("Cannot read private member from an object whose class did not declare it");return J==="m"?X:J==="a"?X.call(Z):X?X.value:Q.get(Z)},YQ=function(Z,Q,J,X,i){if(X==="m")throw TypeError("Private method is not writable");if(X==="a"&&!i)throw TypeError("Private accessor was defined without a setter");if(typeof Q==="function"?Z!==Q||!i:!Q.has(Z))throw TypeError("Cannot write private member to an object whose class did not declare it");return X==="a"?i.call(Z,J):i?i.value=J:Q.set(Z,J),J},HQ=function(Z,Q){if(Q===null||typeof Q!=="object"&&typeof Q!=="function")throw TypeError("Cannot use 'in' operator on non-object");return typeof Z==="function"?Q===Z:Z.has(Q)},WQ=function(Z,Q,J){if(Q!==null&&Q!==void 0){if(typeof Q!=="object"&&typeof Q!=="function")throw TypeError("Object expected.");var X,i;if(J){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");X=Q[Symbol.asyncDispose]}if(X===void 0){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");if(X=Q[Symbol.dispose],J)i=X}if(typeof X!=="function")throw TypeError("Object not disposable.");if(i)X=function(){try{i.call(this)}catch(G){return Promise.reject(G)}};Z.stack.push({value:Q,dispose:X,async:J})}else if(J)Z.stack.push({async:!0});return Q};var z=typeof SuppressedError==="function"?SuppressedError:function(Z,Q,J){var X=Error(J);return X.name="SuppressedError",X.error=Z,X.suppressed=Q,X};KQ=function(Z){function Q(G){Z.error=Z.hasError?new z(G,Z.error,"An error was suppressed during disposal."):G,Z.hasError=!0}var J,X=0;function i(){while(J=Z.stack.pop())try{if(!J.async&&X===1)return X=0,Z.stack.push(J),Promise.resolve().then(i);if(J.dispose){var G=J.dispose.call(J.value);if(J.async)return X|=2,Promise.resolve(G).then(i,function(Y){return Q(Y),i()})}else X|=1}catch(Y){Q(Y)}if(X===1)return Z.hasError?Promise.reject(Z.error):Promise.resolve();if(Z.hasError)throw Z.error}return i()},wQ=function(Z,Q){if(typeof Z==="string"&&/^\.\.?\//.test(Z))return Z.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(J,X,i,G,Y){return X?Q?".jsx":".js":i&&(!G||!Y)?J:i+G+"."+Y.toLowerCase()+"js"});return Z},c("__extends",mZ),c("__assign",dZ),c("__rest",hZ),c("__decorate",aZ),c("__param",_Z),c("__esDecorate",gZ),c("__runInitializers",lZ),c("__propKey",oZ),c("__setFunctionName",sZ),c("__metadata",rZ),c("__awaiter",tZ),c("__generator",eZ),c("__exportStar",cQ),c("__createBinding",N5),c("__values",L5),c("__read",u6),c("__spread",xQ),c("__spreadArrays",pQ),c("__spreadArray",$Q),c("__await",Rx),c("__asyncGenerator",zQ),c("__asyncDelegator",ZQ),c("__asyncValues",QQ),c("__makeTemplateObject",JQ),c("__importStar",XQ),c("__importDefault",iQ),c("__classPrivateFieldGet",GQ),c("__classPrivateFieldSet",YQ),c("__classPrivateFieldIn",HQ),c("__addDisposableResource",WQ),c("__disposeResources",KQ),c("__rewriteRelativeImportExtension",wQ)})});var Gc=P((vQ)=>{var qL=E();Object.defineProperty(vQ,"__esModule",{value:!0});vQ.isUndef=vQ.isString=vQ.isObject=vQ.isNumber=vQ.isFunction=vQ.isBoolean=void 0;var UL=qL(Q0()),eh=vQ.isObject=function(x){return x!==null&&(0,UL.default)(x)==="object"},ca=vQ.isFunction=function(x){return typeof x==="function"},xa=vQ.isString=function(x){return typeof x==="string"},pa=vQ.isBoolean=function(x){return typeof x==="boolean"},$a=vQ.isNumber=function(x){return typeof x==="number"},za=vQ.isUndef=function(x){return typeof x>"u"}});var d0=P((UQ)=>{Object.defineProperty(UQ,"__esModule",{value:!0});UQ.default=void 0;var NL=!0,Qa=UQ.default=NL});import*as a1 from"react";var Vc=P((FQ)=>{var VQ=E();Object.defineProperty(FQ,"__esModule",{value:!0});FQ.default=void 0;var AL=VQ(Q0()),uL=Gc(),PL=VQ(d0()),yL=function(x){if(PL.default){if(!(0,uL.isFunction)(x))console.error("useMemoizedFn expected parameter is a function, got ".concat((0,AL.default)(x)))}var p=a1.useRef(x);p.current=a1.useMemo(function(){return x},[x]);var $=a1.useRef(void 0);if(!$.current)$.current=function(){var z=[];for(var Z=0;Z<arguments.length;Z++)z[Z]=arguments[Z];return p.current.apply(this,z)};return $.current},Xa=FQ.default=yL});import*as LQ from"react";var K0=P((NQ)=>{Object.defineProperty(NQ,"__esModule",{value:!0});NQ.default=void 0;var ML=b5(),Ga=NQ.default=(0,ML.createUpdateEffect)(LQ.useEffect)});import*as PQ from"react";var nQ=P((MQ)=>{var fL=E();Object.defineProperty(MQ,"__esModule",{value:!0});MQ.default=void 0;var u5=l(),uQ=fL(K0()),yQ=function(x,p){var{manual:$,ready:z}=p,Z=z===void 0?!0:z,Q=p.defaultParams,J=Q===void 0?[]:Q,X=p.refreshDeps,i=X===void 0?[]:X,G=p.refreshDepsAction,Y=PQ.useRef(!1);return Y.current=!1,(0,uQ.default)(function(){if(!$&&Z)Y.current=!0,x.run.apply(x,(0,u5.__spreadArray)([],(0,u5.__read)(J),!1))},[Z]),(0,uQ.default)(function(){if(Y.current)return;if(!$)if(Y.current=!0,G)G();else x.refresh()},(0,u5.__spreadArray)([],(0,u5.__read)(i),!1)),{onBefore:function(){if(!Z)return{stopNow:!0}}}};yQ.onInit=function(c){var x=c.ready,p=x===void 0?!0:x,$=c.manual;return{loading:!$&&p}};var Ha=MQ.default=yQ});var P6=P((kQ)=>{Object.defineProperty(kQ,"__esModule",{value:!0});kQ.default=void 0;function nL(c,x){if(c===x)return!0;for(var p=0;p<c.length;p++)if(!Object.is(c[p],x[p]))return!1;return!0}var Ka=kQ.default=nL});import*as CQ from"react";var mx=P((jQ)=>{var kL=E();Object.defineProperty(jQ,"__esModule",{value:!0});jQ.default=void 0;var OL=kL(P6()),CL=function(x,p){var $=CQ.useRef({deps:p,obj:void 0,initialized:!1}).current;if($.initialized===!1||!(0,OL.default)($.deps,p))$.deps=p,$.obj=x(),$.initialized=!0;return $.obj},va=jQ.default=CL});import*as IQ from"react";var Fc=P((DQ)=>{Object.defineProperty(DQ,"__esModule",{value:!0});DQ.default=void 0;function jL(c){var x=IQ.useRef(c);return x.current=c,x}var Ua=DQ.default=jL});import*as TQ from"react";var J0=P((RQ)=>{var y6=E();Object.defineProperty(RQ,"__esModule",{value:!0});RQ.default=void 0;var SL=y6(Q0()),IL=y6(Fc()),DL=Gc(),EL=y6(d0()),TL=function(x){if(EL.default){if(!(0,DL.isFunction)(x))console.error("useUnmount expected parameter is a function, got ".concat((0,SL.default)(x)))}var p=(0,IL.default)(x);TQ.useEffect(function(){return function(){p.current()}},[])},Va=RQ.default=TL});var M6=P((hQ)=>{Object.defineProperty(hQ,"__esModule",{value:!0});hQ.setCache=hQ.getCache=hQ.clearCache=void 0;var dQ=l(),dx=new Map,ba=hQ.setCache=function(x,p,$){var z=dx.get(x);if(z===null||z===void 0?void 0:z.timer)clearTimeout(z.timer);var Z=void 0;if(p>-1)Z=setTimeout(function(){dx.delete(x)},p);dx.set(x,(0,dQ.__assign)((0,dQ.__assign)({},$),{timer:Z}))},La=hQ.getCache=function(x){return dx.get(x)},Na=hQ.clearCache=function(x){if(x){var p=Array.isArray(x)?x:[x];p.forEach(function($){return dx.delete($)})}else dx.clear()}});var lQ=P((_Q)=>{Object.defineProperty(_Q,"__esModule",{value:!0});_Q.setCachePromise=_Q.getCachePromise=void 0;var P5=new Map,ua=_Q.getCachePromise=function(x){return P5.get(x)},Pa=_Q.setCachePromise=function(x,p){P5.set(x,p),p.then(function($){return P5.delete(x),$}).catch(function(){P5.delete(x)})}});var rQ=P((oQ)=>{Object.defineProperty(oQ,"__esModule",{value:!0});oQ.trigger=oQ.subscribe=void 0;var Wx={},Ma=oQ.trigger=function(x,p){if(Wx[x])Wx[x].forEach(function($){return $(p)})},fa=oQ.subscribe=function(x,p){if(!Wx[x])Wx[x]=[];return Wx[x].push(p),function(){var z=Wx[x].indexOf(p);Wx[x].splice(z,1)}}});import*as f6 from"react";var zJ=P((pJ)=>{var xJ=E();Object.defineProperty(pJ,"__esModule",{value:!0});pJ.default=void 0;var tQ=l(),aL=xJ(mx()),_L=xJ(J0()),eQ=M6(),cJ=lQ(),y5=rQ(),gL=function(x,p){var{cacheKey:$,cacheTime:z}=p,Z=z===void 0?300000:z,Q=p.staleTime,J=Q===void 0?0:Q,X=p.setCache,i=p.getCache,G=f6.useRef(void 0),Y=f6.useRef(void 0),H=function(w,q){if(X)X(q);else(0,eQ.setCache)(w,Z,q);(0,y5.trigger)(w,q.data)},W=function(w,q){if(q===void 0)q=[];if(i)return i(q);return(0,eQ.getCache)(w)};if((0,aL.default)(function(){if(!$)return;var K=W($);if(K&&Object.hasOwnProperty.call(K,"data")){if(x.state.data=K.data,x.state.params=K.params,J===-1||Date.now()-K.time<=J)x.state.loading=!1}G.current=(0,y5.subscribe)($,function(w){x.setState({data:w})})},[]),(0,_L.default)(function(){var K;(K=G.current)===null||K===void 0||K.call(G)}),!$)return{};return{onBefore:function(w){var q=W($,w);if(!q||!Object.hasOwnProperty.call(q,"data"))return{};if(J===-1||Date.now()-q.time<=J)return{loading:!1,data:q===null||q===void 0?void 0:q.data,error:void 0,returnNow:!0};else return{data:q===null||q===void 0?void 0:q.data,error:void 0}},onRequest:function(w,q){var U=(0,cJ.getCachePromise)($);if(U&&U!==Y.current)return{servicePromise:U};return U=w.apply(void 0,(0,tQ.__spreadArray)([],(0,tQ.__read)(q),!1)),Y.current=U,(0,cJ.setCachePromise)($,U),{servicePromise:U}},onSuccess:function(w,q){var U;if($)(U=G.current)===null||U===void 0||U.call(G),H($,{data:w,params:q,time:Date.now()}),G.current=(0,y5.subscribe)($,function(b){x.setState({data:b})})},onMutate:function(w){var q;if($)(q=G.current)===null||q===void 0||q.call(G),H($,{data:w,params:x.state.params,time:Date.now()}),G.current=(0,y5.subscribe)($,function(U){x.setState({data:U})})}}},ka=pJ.default=gL});var M5=P((Ca,ZJ)=>{function lL(c){var x=typeof c;return c!=null&&(x=="object"||x=="function")}ZJ.exports=lL});var JJ=P((ja,QJ)=>{var oL=typeof global=="object"&&global&&global.Object===Object&&global;QJ.exports=oL});var n6=P((Sa,XJ)=>{var sL=JJ(),rL=typeof self=="object"&&self&&self.Object===Object&&self,tL=sL||rL||Function("return this")();XJ.exports=tL});var GJ=P((Ia,iJ)=>{var eL=n6(),cN=function(){return eL.Date.now()};iJ.exports=cN});var HJ=P((Da,YJ)=>{var xN=/\s/;function pN(c){var x=c.length;while(x--&&xN.test(c.charAt(x)));return x}YJ.exports=pN});var KJ=P((Ea,WJ)=>{var $N=HJ(),zN=/^\s+/;function ZN(c){return c?c.slice(0,$N(c)+1).replace(zN,""):c}WJ.exports=ZN});var k6=P((Ta,wJ)=>{var QN=n6(),JN=QN.Symbol;wJ.exports=JN});var BJ=P((Ra,UJ)=>{var vJ=k6(),qJ=Object.prototype,XN=qJ.hasOwnProperty,iN=qJ.toString,_1=vJ?vJ.toStringTag:void 0;function GN(c){var x=XN.call(c,_1),p=c[_1];try{c[_1]=void 0;var $=!0}catch(Z){}var z=iN.call(c);if($)if(x)c[_1]=p;else delete c[_1];return z}UJ.exports=GN});var FJ=P((ma,VJ)=>{var YN=Object.prototype,HN=YN.toString;function WN(c){return HN.call(c)}VJ.exports=WN});var O6=P((da,NJ)=>{var bJ=k6(),KN=BJ(),wN=FJ(),vN="[object Null]",qN="[object Undefined]",LJ=bJ?bJ.toStringTag:void 0;function UN(c){if(c==null)return c===void 0?qN:vN;return LJ&&LJ in Object(c)?KN(c):wN(c)}NJ.exports=UN});var C6=P((ha,AJ)=>{function BN(c){return c!=null&&typeof c=="object"}AJ.exports=BN});var PJ=P((aa,uJ)=>{var VN=O6(),FN=C6(),bN="[object Symbol]";function LN(c){return typeof c=="symbol"||FN(c)&&VN(c)==bN}uJ.exports=LN});var nJ=P((_a,fJ)=>{var NN=KJ(),yJ=M5(),AN=PJ(),MJ=NaN,uN=/^[-+]0x[0-9a-f]+$/i,PN=/^0b[01]+$/i,yN=/^0o[0-7]+$/i,MN=parseInt;function fN(c){if(typeof c=="number")return c;if(AN(c))return MJ;if(yJ(c)){var x=typeof c.valueOf=="function"?c.valueOf():c;c=yJ(x)?x+"":x}if(typeof c!="string")return c===0?c:+c;c=NN(c);var p=PN.test(c);return p||yN.test(c)?MN(c.slice(2),p?2:8):uN.test(c)?MJ:+c}fJ.exports=fN});var f5=P((ga,OJ)=>{var nN=M5(),j6=GJ(),kJ=nJ(),kN="Expected a function",ON=Math.max,CN=Math.min;function jN(c,x,p){var $,z,Z,Q,J,X,i=0,G=!1,Y=!1,H=!0;if(typeof c!="function")throw TypeError(kN);if(x=kJ(x)||0,nN(p))G=!!p.leading,Y="maxWait"in p,Z=Y?ON(kJ(p.maxWait)||0,x):Z,H="trailing"in p?!!p.trailing:H;function W(V){var y=$,k=z;return $=z=void 0,i=V,Q=c.apply(k,y),Q}function K(V){return i=V,J=setTimeout(U,x),G?W(V):Q}function w(V){var y=V-X,k=V-i,O=x-y;return Y?CN(O,Z-k):O}function q(V){var y=V-X,k=V-i;return X===void 0||y>=x||y<0||Y&&k>=Z}function U(){var V=j6();if(q(V))return b(V);J=setTimeout(U,w(V))}function b(V){if(J=void 0,H&&$)return W(V);return $=z=void 0,Q}function v(){if(J!==void 0)clearTimeout(J);i=0,$=X=z=J=void 0}function B(){return J===void 0?Q:b(j6())}function A(){var V=j6(),y=q(V);if($=arguments,z=this,X=V,y){if(J===void 0)return K(X);if(Y)return clearTimeout(J),J=setTimeout(U,x),W(X)}if(J===void 0)J=setTimeout(U,x);return Q}return A.cancel=v,A.flush=B,A}OJ.exports=jN});import*as hx from"react";var IJ=P((jJ)=>{var SN=E();Object.defineProperty(jJ,"__esModule",{value:!0});jJ.default=void 0;var CJ=l(),IN=SN(f5()),DN=function(x,p){var{debounceWait:$,debounceLeading:z,debounceTrailing:Z,debounceMaxWait:Q}=p,J=hx.useRef(void 0),X=hx.useMemo(function(){var i={};if(z!==void 0)i.leading=z;if(Z!==void 0)i.trailing=Z;if(Q!==void 0)i.maxWait=Q;return i},[z,Z,Q]);if(hx.useEffect(function(){if($){var i=x.runAsync.bind(x);return J.current=(0,IN.default)(function(G){G()},$,X),x.runAsync=function(){var G=[];for(var Y=0;Y<arguments.length;Y++)G[Y]=arguments[Y];return new Promise(function(H,W){var K;(K=J.current)===null||K===void 0||K.call(J,function(){i.apply(void 0,(0,CJ.__spreadArray)([],(0,CJ.__read)(G),!1)).then(H).catch(W)})})},function(){var G;(G=J.current)===null||G===void 0||G.cancel(),x.runAsync=i}}},[$,X]),!$)return{};return{onCancel:function(){var G;(G=J.current)===null||G===void 0||G.cancel()}}},la=jJ.default=DN});import*as DJ from"react";var RJ=P((EJ)=>{Object.defineProperty(EJ,"__esModule",{value:!0});EJ.default=void 0;var EN=function(x,p){var{loadingDelay:$,ready:z}=p,Z=DJ.useRef(void 0);if(!$)return{};var Q=function(){if(Z.current)clearTimeout(Z.current)};return{onBefore:function(){if(Q(),z!==!1)Z.current=setTimeout(function(){x.setState({loading:!0})},$);return{loading:!1}},onFinally:function(){Q()},onCancel:function(){Q()}}},sa=EJ.default=EN});var mc=P((mJ)=>{Object.defineProperty(mJ,"__esModule",{value:!0});mJ.default=void 0;var TN=!!(typeof window<"u"&&window.document&&window.document.createElement),ta=mJ.default=TN});var n5=P((hJ)=>{var RN=E();Object.defineProperty(hJ,"__esModule",{value:!0});hJ.default=dN;var mN=RN(mc());function dN(){if(mN.default)return document.visibilityState!=="hidden";return!0}});var lJ=P((_J)=>{var aJ=E();Object.defineProperty(_J,"__esModule",{value:!0});_J.default=void 0;var aN=aJ(mc()),_N=aJ(n5()),k5=new Set;function gN(c){return k5.add(c),function(){k5.has(c)&&k5.delete(c)}}if(aN.default)S6=function(){if(!(0,_N.default)())return;k5.forEach(function(x){return x()})},window.addEventListener("visibilitychange",S6,!1);var S6,x_=_J.default=gN});import*as O5 from"react";var rJ=P((oJ)=>{var I6=E();Object.defineProperty(oJ,"__esModule",{value:!0});oJ.default=void 0;var lN=I6(K0()),oN=I6(n5()),sN=I6(lJ()),rN=function(x,p){var{pollingInterval:$,pollingWhenHidden:z}=p,Z=z===void 0?!0:z,Q=p.pollingErrorRetryCount,J=Q===void 0?-1:Q,X=O5.useRef(void 0),i=O5.useRef(void 0),G=O5.useRef(0),Y=function(){var W;if(X.current)clearTimeout(X.current);(W=i.current)===null||W===void 0||W.call(i)};if((0,lN.default)(function(){if(!$)Y()},[$]),!$)return{};return{onBefore:function(){Y()},onError:function(){G.current+=1},onSuccess:function(){G.current=0},onFinally:function(){if(J===-1||J!==-1&&G.current<=J)X.current=setTimeout(function(){if(!Z&&!(0,oN.default)())i.current=(0,sN.default)(function(){x.refresh()});else x.refresh()},$);else G.current=0},onCancel:function(){Y()}}},$_=oJ.default=rN});var cX=P((eJ)=>{Object.defineProperty(eJ,"__esModule",{value:!0});eJ.default=tN;var tJ=l();function tN(c,x){var p=!1;return function(){var $=[];for(var z=0;z<arguments.length;z++)$[z]=arguments[z];if(p)return;p=!0,c.apply(void 0,(0,tJ.__spreadArray)([],(0,tJ.__read)($),!1)),setTimeout(function(){p=!1},x)}}});var $X=P((xX)=>{var cA=E();Object.defineProperty(xX,"__esModule",{value:!0});xX.default=void 0;var xA=cA(mc()),pA=function(){if(xA.default&&typeof navigator.onLine<"u")return navigator.onLine;return!0},Q_=xX.default=pA});var QX=P((zX)=>{var D6=E();Object.defineProperty(zX,"__esModule",{value:!0});zX.default=void 0;var $A=D6(mc()),zA=D6(n5()),ZA=D6($X()),C5=new Set;function QA(c){return C5.add(c),function(){C5.has(c)&&C5.delete(c)}}if($A.default)j5=function(){if(!(0,zA.default)()||!(0,ZA.default)())return;C5.forEach(function(x){return x()})},window.addEventListener("visibilitychange",j5,!1),window.addEventListener("focus",j5,!1);var j5,X_=zX.default=QA});import*as S5 from"react";var iX=P((JX)=>{var E6=E();Object.defineProperty(JX,"__esModule",{value:!0});JX.default=void 0;var JA=E6(J0()),XA=E6(cX()),iA=E6(QX()),GA=function(x,p){var{refreshOnWindowFocus:$,focusTimespan:z}=p,Z=z===void 0?5000:z,Q=S5.useRef(void 0),J=function(){var i;(i=Q.current)===null||i===void 0||i.call(Q)};return S5.useEffect(function(){if($){var X=(0,XA.default)(x.refresh.bind(x),Z);Q.current=(0,iA.default)(function(){X()})}return function(){J()}},[$,Z]),(0,JA.default)(function(){J()}),{}},G_=JX.default=GA});import*as I5 from"react";var HX=P((GX)=>{Object.defineProperty(GX,"__esModule",{value:!0});GX.default=void 0;var YA=function(x,p){var{retryInterval:$,retryCount:z}=p,Z=I5.useRef(void 0),Q=I5.useRef(0),J=I5.useRef(!1);if(!z)return{};return{onBefore:function(){if(!J.current)Q.current=0;if(J.current=!1,Z.current)clearTimeout(Z.current)},onSuccess:function(){Q.current=0},onError:function(){if(Q.current+=1,z===-1||Q.current<=z){var i=$!==null&&$!==void 0?$:Math.min(1000*Math.pow(2,Q.current),30000);Z.current=setTimeout(function(){J.current=!0,x.refresh()},i)}else Q.current=0},onCancel:function(){if(Q.current=0,Z.current)clearTimeout(Z.current)}}},H_=GX.default=YA});var T6=P((K_,WX)=>{var HA=f5(),WA=M5(),KA="Expected a function";function wA(c,x,p){var $=!0,z=!0;if(typeof c!="function")throw TypeError(KA);if(WA(p))$="leading"in p?!!p.leading:$,z="trailing"in p?!!p.trailing:z;return HA(c,x,{leading:$,maxWait:x,trailing:z})}WX.exports=wA});import*as D5 from"react";var qX=P((wX)=>{var vA=E();Object.defineProperty(wX,"__esModule",{value:!0});wX.default=void 0;var KX=l(),qA=vA(T6()),UA=function(x,p){var{throttleWait:$,throttleLeading:z,throttleTrailing:Z}=p,Q=D5.useRef(void 0),J={};if(z!==void 0)J.leading=z;if(Z!==void 0)J.trailing=Z;if(D5.useEffect(function(){if($){var X=x.runAsync.bind(x);return Q.current=(0,qA.default)(function(i){i()},$,J),x.runAsync=function(){var i=[];for(var G=0;G<arguments.length;G++)i[G]=arguments[G];return new Promise(function(Y,H){var W;(W=Q.current)===null||W===void 0||W.call(Q,function(){X.apply(void 0,(0,KX.__spreadArray)([],(0,KX.__read)(i),!1)).then(Y).catch(H)})})},function(){var i;x.runAsync=X,(i=Q.current)===null||i===void 0||i.cancel()}}},[$,z,Z]),!$)return{};return{onCancel:function(){var i;(i=Q.current)===null||i===void 0||i.cancel()}}},w_=wX.default=UA});import*as VX from"react";var E5=P((FX)=>{var BX=E();Object.defineProperty(FX,"__esModule",{value:!0});FX.default=void 0;var UX=BX(Q0()),BA=Gc(),VA=BX(d0()),FA=function(x){if(VA.default){if(!(0,BA.isFunction)(x))console.error('useMount: parameter `fn` expected to be a function, but got "'.concat((0,UX.default)(x),'".'))}VX.useEffect(function(){var p=x===null||x===void 0?void 0:x();if(p&&(0,UX.default)(p)==="object"&&typeof p.then==="function")return;return p},[])},q_=FX.default=FA});import*as T5 from"react";var g1=P((LX)=>{Object.defineProperty(LX,"__esModule",{value:!0});LX.default=void 0;var bA=l(),LA=function(){var x=(0,bA.__read)(T5.useState({}),2),p=x[1];return T5.useCallback(function(){return p({})},[])},B_=LX.default=LA});var PX=P((AX)=>{Object.defineProperty(AX,"__esModule",{value:!0});AX.default=void 0;var Nc=l(),NA=Gc(),AA=function(){function c(x,p,$,z){if(z===void 0)z={};this.serviceRef=x,this.options=p,this.subscribe=$,this.initState=z,this.count=0,this.state={loading:!1,params:void 0,data:void 0,error:void 0},this.state=(0,Nc.__assign)((0,Nc.__assign)((0,Nc.__assign)({},this.state),{loading:!p.manual}),z)}return c.prototype.setState=function(x){if(x===void 0)x={};this.state=(0,Nc.__assign)((0,Nc.__assign)({},this.state),x),this.subscribe()},c.prototype.runPluginHandler=function(x){var p=[];for(var $=1;$<arguments.length;$++)p[$-1]=arguments[$];var z=this.pluginImpls.map(function(Z){var Q;return(Q=Z[x])===null||Q===void 0?void 0:Q.call.apply(Q,(0,Nc.__spreadArray)([Z],(0,Nc.__read)(p),!1))}).filter(Boolean);return Object.assign.apply(Object,(0,Nc.__spreadArray)([{}],(0,Nc.__read)(z),!1))},c.prototype.runAsync=function(){var x=[];for(var p=0;p<arguments.length;p++)x[p]=arguments[p];return(0,Nc.__awaiter)(this,void 0,void 0,function(){var $,z,Z,Q,J,X,i,G,Y,H,W,K,w,q,U,b,v,B,A,V,y;return(0,Nc.__generator)(this,function(k){switch(k.label){case 0:if(this.count+=1,$=this.count,z=this.runPluginHandler("onBefore",x),Z=z.stopNow,Q=Z===void 0?!1:Z,J=z.returnNow,X=J===void 0?!1:J,i=(0,Nc.__rest)(z,["stopNow","returnNow"]),Q)return[2,new Promise(function(){})];if(this.setState((0,Nc.__assign)({loading:!0,params:x},i)),X)return[2,Promise.resolve(i.data)];(w=(K=this.options).onBefore)===null||w===void 0||w.call(K,x),k.label=1;case 1:if(k.trys.push([1,3,,4]),G=this.runPluginHandler("onRequest",this.serviceRef.current,x).servicePromise,!G)G=(W=this.serviceRef).current.apply(W,(0,Nc.__spreadArray)([],(0,Nc.__read)(x),!1));return[4,G];case 2:if(Y=k.sent(),$!==this.count)return[2,new Promise(function(){})];if(this.setState({data:Y,error:void 0,loading:!1}),(U=(q=this.options).onSuccess)===null||U===void 0||U.call(q,Y,x),this.runPluginHandler("onSuccess",Y,x),(v=(b=this.options).onFinally)===null||v===void 0||v.call(b,x,Y,void 0),$===this.count)this.runPluginHandler("onFinally",x,Y,void 0);return[2,Y];case 3:if(H=k.sent(),$!==this.count)return[2,new Promise(function(){})];if(this.setState({error:H,loading:!1}),(A=(B=this.options).onError)===null||A===void 0||A.call(B,H,x),this.runPluginHandler("onError",H,x),(y=(V=this.options).onFinally)===null||y===void 0||y.call(V,x,void 0,H),$===this.count)this.runPluginHandler("onFinally",x,void 0,H);throw H;case 4:return[2]}})})},c.prototype.run=function(){var x=this,p=[];for(var $=0;$<arguments.length;$++)p[$]=arguments[$];this.runAsync.apply(this,(0,Nc.__spreadArray)([],(0,Nc.__read)(p),!1)).catch(function(z){if(!x.options.onError)console.error(z)})},c.prototype.cancel=function(){this.count+=1,this.setState({loading:!1}),this.runPluginHandler("onCancel")},c.prototype.refresh=function(){this.run.apply(this,(0,Nc.__spreadArray)([],(0,Nc.__read)(this.state.params||[]),!1))},c.prototype.refreshAsync=function(){return this.runAsync.apply(this,(0,Nc.__spreadArray)([],(0,Nc.__read)(this.state.params||[]),!1))},c.prototype.mutate=function(x){var p=(0,NA.isFunction)(x)?x(this.state.data):x;this.runPluginHandler("onMutate",p),this.setState({data:p})},c}(),F_=AX.default=AA});var fX=P((yX)=>{var N0=E();Object.defineProperty(yX,"__esModule",{value:!0});yX.default=void 0;var uA=N0(Q0()),ax=l(),PA=N0(mx()),yA=N0(Fc()),_x=N0(Vc()),MA=N0(E5()),fA=N0(J0()),nA=N0(g1()),kA=N0(d0()),OA=N0(PX());function CA(c,x,p){if(x===void 0)x={};if(p===void 0)p=[];var $=x.manual,z=$===void 0?!1:$,Z=x.ready,Q=Z===void 0?!0:Z,J=(0,ax.__rest)(x,["manual","ready"]);if(kA.default){if(x.defaultParams&&!Array.isArray(x.defaultParams))console.warn("expected defaultParams is array, got ".concat((0,uA.default)(x.defaultParams)))}var X=(0,ax.__assign)({manual:z,ready:Q},J),i=(0,yA.default)(c),G=(0,nA.default)(),Y=(0,PA.default)(function(){var H=p.map(function(W){var K;return(K=W===null||W===void 0?void 0:W.onInit)===null||K===void 0?void 0:K.call(W,X)}).filter(Boolean);return new OA.default(i,X,G,Object.assign.apply(Object,(0,ax.__spreadArray)([{}],(0,ax.__read)(H),!1)))},[]);return Y.options=X,Y.pluginImpls=p.map(function(H){return H(Y,X)}),(0,MA.default)(function(){if(!z&&Q){var H=Y.state.params||x.defaultParams||[];Y.run.apply(Y,(0,ax.__spreadArray)([],(0,ax.__read)(H),!1))}}),(0,fA.default)(function(){Y.cancel()}),{loading:Y.state.loading,data:Y.state.data,error:Y.state.error,params:Y.state.params||[],cancel:(0,_x.default)(Y.cancel.bind(Y)),refresh:(0,_x.default)(Y.refresh.bind(Y)),refreshAsync:(0,_x.default)(Y.refreshAsync.bind(Y)),run:(0,_x.default)(Y.run.bind(Y)),runAsync:(0,_x.default)(Y.runAsync.bind(Y)),mutate:(0,_x.default)(Y.mutate.bind(Y))}}var L_=yX.default=CA});var OX=P((nX)=>{var A0=E();Object.defineProperty(nX,"__esModule",{value:!0});nX.default=void 0;var R6=l(),jA=A0(nQ()),SA=A0(zJ()),IA=A0(IJ()),DA=A0(RJ()),EA=A0(rJ()),TA=A0(iX()),RA=A0(HX()),mA=A0(qX()),dA=A0(fX());function hA(c,x,p){return(0,dA.default)(c,x,(0,R6.__spreadArray)((0,R6.__spreadArray)([],(0,R6.__read)(p||[]),!1),[IA.default,DA.default,EA.default,TA.default,mA.default,jA.default,SA.default,RA.default],!1))}var A_=nX.default=hA});var R5=P((m6)=>{var aA=E();Object.defineProperty(m6,"__esModule",{value:!0});Object.defineProperty(m6,"clearCache",{enumerable:!0,get:function(){return gA.clearCache}});m6.default=void 0;var _A=aA(OX()),gA=M6(),P_=m6.default=_A.default});import*as SX from"react";var h6=P((IX)=>{var jX=E();Object.defineProperty(IX,"__esModule",{value:!0});IX.default=void 0;var u0=l(),d6=jX(Vc()),lA=jX(R5()),oA=function(x,p){var $;if(p===void 0)p={};var z=p.defaultPageSize,Z=z===void 0?10:z,Q=p.defaultCurrent,J=Q===void 0?1:Q,X=(0,u0.__rest)(p,["defaultPageSize","defaultCurrent"]),i=(0,lA.default)(x,(0,u0.__assign)({defaultParams:[{current:J,pageSize:Z}],refreshDepsAction:function(){b(1)}},X)),G=i.params[0]||{},Y=G.current,H=Y===void 0?1:Y,W=G.pageSize,K=W===void 0?Z:W,w=(($=i.data)===null||$===void 0?void 0:$.total)||0,q=SX.useMemo(function(){return Math.ceil(w/K)},[K,w]),U=function(A,V){var y=A<=0?1:A,k=V<=0?1:V,O=Math.ceil(w/k);if(y>O)y=Math.max(1,O);var I=(0,u0.__read)(i.params||[]),m=I[0],C=m===void 0?{}:m,N=I.slice(1);i.run.apply(i,(0,u0.__spreadArray)([(0,u0.__assign)((0,u0.__assign)({},C),{current:y,pageSize:k})],(0,u0.__read)(N),!1))},b=function(A){U(A,K)},v=function(A){U(H,A)};return(0,u0.__assign)((0,u0.__assign)({},i),{pagination:{current:H,pageSize:K,total:w,totalPage:q,onChange:(0,d6.default)(U),changeCurrent:(0,d6.default)(b),changePageSize:(0,d6.default)(v)}})},M_=IX.default=oA});import*as P0 from"react";var g6=P((EX)=>{var _6=E();Object.defineProperty(EX,"__esModule",{value:!0});EX.default=void 0;var qc=l(),m5=_6(Vc()),sA=_6(h6()),a6=_6(K0()),rA=function(x,p){var $;if(p===void 0)p={};var{form:z,defaultType:Z}=p,Q=Z===void 0?"simple":Z,J=p.defaultParams,X=p.manual,i=X===void 0?!1:X,G=p.refreshDeps,Y=G===void 0?[]:G,H=p.ready,W=H===void 0?!0:H,K=(0,qc.__rest)(p,["form","defaultType","defaultParams","manual","refreshDeps","ready"]),w=(0,sA.default)(x,(0,qc.__assign)((0,qc.__assign)({ready:W,manual:!0},K),{onSuccess:function(){var S,D=[];for(var a=0;a<arguments.length;a++)D[a]=arguments[a];O.current=!0,(S=K.onSuccess)===null||S===void 0||S.call.apply(S,(0,qc.__spreadArray)([K],(0,qc.__read)(D),!1))}})),q=w.params,U=q===void 0?[]:q,b=w.run,v=U[2]||{},B=(0,qc.__read)(P0.useState((v===null||v===void 0?void 0:v.type)||Q),2),A=B[0],V=B[1],y=P0.useRef({}),k=P0.useRef([]),O=P0.useRef(!1),I=!!(z===null||z===void 0?void 0:z.getInternalHooks),m=function(){if(!z)return{};if(I)return z.getFieldsValue(null,function(){return!0});var S=z.getFieldsValue(),D={};return Object.keys(S).forEach(function(a){if(z.getFieldInstance?z.getFieldInstance(a):!0)D[a]=S[a]}),D},C=function(){if(!z)return Promise.resolve({});var S=m(),D=Object.keys(S);if(I)return z.validateFields(D);return new Promise(function(a,o){z.validateFields(D,function(r,wc){if(r)o(r);else a(wc)})})},N=function(){if(!z)return;if(I)return z.setFieldsValue(y.current);var S={};Object.keys(y.current).forEach(function(D){if(z.getFieldInstance?z.getFieldInstance(D):!0)S[D]=y.current[D]}),z.setFieldsValue(S)},L=function(){var S=m();y.current=(0,qc.__assign)((0,qc.__assign)({},y.current),S),V(function(D){return D==="simple"?"advance":"simple"})},n=function(S){if(!W)return;setTimeout(function(){C().then(function(D){if(D===void 0)D={};var a=S||(0,qc.__assign)((0,qc.__assign)({pageSize:p.defaultPageSize||10},(U===null||U===void 0?void 0:U[0])||{}),{current:1});if(!z){b(a);return}y.current=(0,qc.__assign)((0,qc.__assign)({},y.current),D),b(a,D,{allFormData:y.current,type:A})}).catch(function(D){return D})})},F=function(){var S,D;if(z)z.resetFields();n((0,qc.__assign)((0,qc.__assign)({},(J===null||J===void 0?void 0:J[0])||{}),{pageSize:p.defaultPageSize||((D=(S=p.defaultParams)===null||S===void 0?void 0:S[0])===null||D===void 0?void 0:D.pageSize)||10,current:1}))},u=function(S){var D,a,o;(D=S===null||S===void 0?void 0:S.preventDefault)===null||D===void 0||D.call(S),n(O.current?void 0:(0,qc.__assign)({pageSize:p.defaultPageSize||((o=(a=p.defaultParams)===null||a===void 0?void 0:a[0])===null||o===void 0?void 0:o.pageSize)||10,current:1},(J===null||J===void 0?void 0:J[0])||{}))},f=function(S,D,a,o){var r=(0,qc.__read)(U||[]),wc=r[0],Hc=r.slice(1);b.apply(void 0,(0,qc.__spreadArray)([(0,qc.__assign)((0,qc.__assign)({},wc),{current:S.current,pageSize:S.pageSize,filters:D,sorter:a,extra:o})],(0,qc.__read)(Hc),!1))};P0.useEffect(function(){if(U.length>0){y.current=(v===null||v===void 0?void 0:v.allFormData)||{},N(),b.apply(void 0,(0,qc.__spreadArray)([],(0,qc.__read)(U),!1));return}if(W){if(y.current=(J===null||J===void 0?void 0:J[1])||{},N(),!i)n(J===null||J===void 0?void 0:J[0])}},[]),(0,a6.default)(function(){if(!W)return;N()},[A]);var j=P0.useRef(!1);return j.current=!1,(0,a6.default)(function(){if(!i&&W){if(j.current=!0,z)z.resetFields();y.current=(J===null||J===void 0?void 0:J[1])||{},N(),n(J===null||J===void 0?void 0:J[0])}},[W]),(0,a6.default)(function(){if(j.current)return;if(!W)return;if(!i)if(j.current=!0,p.refreshDepsAction)p.refreshDepsAction();else w.pagination.changeCurrent(1)},(0,qc.__spreadArray)([],(0,qc.__read)(Y),!1)),(0,qc.__assign)((0,qc.__assign)({},w),{tableProps:{dataSource:(($=w.data)===null||$===void 0?void 0:$.list)||k.current,loading:w.loading,onChange:(0,m5.default)(f),pagination:{current:w.pagination.current,pageSize:w.pagination.pageSize,total:w.pagination.total}},search:{submit:(0,m5.default)(u),type:A,changeType:(0,m5.default)(L),reset:(0,m5.default)(F)}})},n_=EX.default=rA});import*as mX from"react";var aX=P((dX)=>{Object.defineProperty(dX,"__esModule",{value:!0});dX.default=void 0;var RX=l(),tA=Gc();function eA(c){return(0,tA.isFunction)(c[Symbol.asyncIterator])}function cu(c,x){mX.useEffect(function(){var p=c(),$=!1;function z(){return(0,RX.__awaiter)(this,void 0,void 0,function(){var Z;return(0,RX.__generator)(this,function(Q){switch(Q.label){case 0:if(!eA(p))return[3,4];Q.label=1;case 1:return[4,p.next()];case 2:if(Z=Q.sent(),Z.done||$)return[3,3];return[3,1];case 3:return[3,6];case 4:return[4,p];case 5:Q.sent(),Q.label=6;case 6:return[2]}})})}return z(),function(){$=!0}},x)}var O_=dX.default=cu});import*as d5 from"react";var l6=P((_X)=>{Object.defineProperty(_X,"__esModule",{value:!0});_X.default=void 0;var xu=l();function pu(c,x){if(c===void 0)c=!1;var p=(0,xu.__read)(d5.useState(c),2),$=p[0],z=p[1],Z=d5.useMemo(function(){var Q=x===void 0?!c:x,J=function(){return z(function(H){return H===c?Q:c})},X=function(H){return z(H)},i=function(){return z(c)},G=function(){return z(Q)};return{toggle:J,set:X,setLeft:i,setRight:G}},[]);return[$,Z]}var j_=_X.default=pu});import*as lX from"react";var o6=P((oX)=>{var $u=E();Object.defineProperty(oX,"__esModule",{value:!0});oX.default=Qu;var zu=l(),Zu=$u(l6());function Qu(c){if(c===void 0)c=!1;var x=(0,zu.__read)((0,Zu.default)(!!c),2),p=x[0],$=x[1],z=$.toggle,Z=$.set,Q=lX.useMemo(function(){var J=function(){return Z(!0)},X=function(){return Z(!1)};return{toggle:z,set:function(G){return Z(!!G)},setTrue:J,setFalse:X}},[]);return[p,Q]}});var nc=P((sX)=>{var Xu=E();Object.defineProperty(sX,"__esModule",{value:!0});sX.getTargetElement=Yu;var iu=Gc(),Gu=Xu(mc());function Yu(c,x){if(!Gu.default)return;if(!c)return x;var p;if((0,iu.isFunction)(c))p=c();else if("current"in c)p=c.current;else p=c;return p}});var ci=P((tX)=>{Object.defineProperty(tX,"__esModule",{value:!0});tX.default=void 0;var rX=nc(),Wu=function(x){return x.every(function(p){var $=(0,rX.getTargetElement)(p);if(!$)return!1;if($.getRootNode()instanceof ShadowRoot)return!0;return!1})},Ku=function(x){if(!x)return document;return x.getRootNode()},wu=function(x){if(!x||!document.getRootNode)return document;var p=Array.isArray(x)?x:[x];if(Wu(p))return Ku((0,rX.getTargetElement)(p[0]));return document},E_=tX.default=wu});import*as l1 from"react";var s6=P(($i)=>{var pi=E();Object.defineProperty($i,"__esModule",{value:!0});$i.default=void 0;var vu=pi(J0()),xi=pi(P6()),qu=nc(),Uu=function(x){var p=function(z,Z,Q){var J=l1.useRef(!1),X=l1.useRef([]),i=l1.useRef([]),G=l1.useRef(void 0);x(function(){var Y,H=Array.isArray(Q)?Q:[Q],W=H.map(function(K){return(0,qu.getTargetElement)(K)});if(!J.current){J.current=!0,X.current=W,i.current=Z,G.current=z();return}if(W.length!==X.current.length||!(0,xi.default)(X.current,W)||!(0,xi.default)(i.current,Z))(Y=G.current)===null||Y===void 0||Y.call(G),X.current=W,i.current=Z,G.current=z()}),(0,vu.default)(function(){var Y;(Y=G.current)===null||Y===void 0||Y.call(G),J.current=!1})};return p},R_=$i.default=Uu});import*as Zi from"react";var X0=P((Qi)=>{var Bu=E();Object.defineProperty(Qi,"__esModule",{value:!0});Qi.default=void 0;var Vu=Bu(s6()),Fu=(0,Vu.default)(Zi.useEffect),d_=Qi.default=Fu});var ii=P((Xi)=>{var r6=E();Object.defineProperty(Xi,"__esModule",{value:!0});Xi.default=uu;var bu=r6(Fc()),Lu=nc(),Nu=r6(ci()),Au=r6(X0());function uu(c,x,p){if(p===void 0)p="click";var $=(0,bu.default)(c);(0,Au.default)(function(){var z=function(X){var i=Array.isArray(x)?x:[x];if(i.some(function(G){var Y=(0,Lu.getTargetElement)(G);return!Y||Y.contains(X.target)}))return;$.current(X)},Z=(0,Nu.default)(x),Q=Array.isArray(p)?p:[p];return Q.forEach(function(J){return Z.addEventListener(J,z)}),function(){Q.forEach(function(J){return Z.removeEventListener(J,z)})}},Array.isArray(p)?p:[p],x)}});import*as h5 from"react";var Ki=P((Hi)=>{var Yi=E();Object.defineProperty(Hi,"__esModule",{value:!0});Hi.default=void 0;var Gi=l(),yu=Gc(),Mu=Yi(Vc()),fu=Yi(g1());function nu(c,x){if(x===void 0)x={};var p=c!==null&&c!==void 0?c:{},$=x.defaultValue,z=x.defaultValuePropName,Z=z===void 0?"defaultValue":z,Q=x.valuePropName,J=Q===void 0?"value":Q,X=x.trigger,i=X===void 0?"onChange":X,G=p[J],Y=Object.prototype.hasOwnProperty.call(p,J),H=h5.useMemo(function(){if(Y)return G;if(Object.prototype.hasOwnProperty.call(p,Z))return p[Z];return $},[]),W=h5.useRef(H);if(Y)W.current=G;var K=(0,fu.default)();function w(q){var U=[];for(var b=1;b<arguments.length;b++)U[b-1]=arguments[b];var v=(0,yu.isFunction)(q)?q(W.current):q;if(!Y)W.current=v,K();if(p[i])p[i].apply(p,(0,Gi.__spreadArray)([v],(0,Gi.__read)(U),!1))}return[W.current,(0,Mu.default)(w)]}var __=Hi.default=nu});var wi=P((t6,e6)=>{/*! js-cookie v3.0.5 | MIT */(function(c,x){typeof t6==="object"&&typeof e6<"u"?e6.exports=x():typeof define==="function"&&define.amd?define(x):(c=typeof globalThis<"u"?globalThis:c||self,function(){var p=c.Cookies,$=c.Cookies=x();$.noConflict=function(){return c.Cookies=p,$}}())})(t6,function(){function c(z){for(var Z=1;Z<arguments.length;Z++){var Q=arguments[Z];for(var J in Q)z[J]=Q[J]}return z}var x={read:function(z){if(z[0]==='"')z=z.slice(1,-1);return z.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(z){return encodeURIComponent(z).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function p(z,Z){function Q(X,i,G){if(typeof document>"u")return;if(G=c({},Z,G),typeof G.expires==="number")G.expires=new Date(Date.now()+G.expires*86400000);if(G.expires)G.expires=G.expires.toUTCString();X=encodeURIComponent(X).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var Y="";for(var H in G){if(!G[H])continue;if(Y+="; "+H,G[H]===!0)continue;Y+="="+G[H].split(";")[0]}return document.cookie=X+"="+z.write(i,X)+Y}function J(X){if(typeof document>"u"||arguments.length&&!X)return;var i=document.cookie?document.cookie.split("; "):[],G={};for(var Y=0;Y<i.length;Y++){var H=i[Y].split("="),W=H.slice(1).join("=");try{var K=decodeURIComponent(H[0]);if(G[K]=z.read(W,K),X===K)break}catch(w){}}return X?G[X]:G}return Object.create({set:Q,get:J,remove:function(X,i){Q(X,"",c({},i,{expires:-1}))},withAttributes:function(X){return p(this.converter,c({},this.attributes,X))},withConverter:function(X){return p(c({},this.converter,X),this.attributes)}},{attributes:{value:Object.freeze(Z)},converter:{value:Object.freeze(z)}})}var $=p(x,{path:"/"});return $})});import*as qi from"react";var Vi=P((Ui)=>{var vi=E();Object.defineProperty(Ui,"__esModule",{value:!0});Ui.default=void 0;var a5=l(),cp=vi(wi()),ku=vi(Vc()),xp=Gc();function Ou(c,x){if(x===void 0)x={};var p=(0,a5.__read)(qi.useState(function(){var Q=cp.default.get(c);if((0,xp.isString)(Q))return Q;if((0,xp.isFunction)(x.defaultValue))return x.defaultValue();return x.defaultValue}),2),$=p[0],z=p[1],Z=(0,ku.default)(function(Q,J){if(J===void 0)J={};var X=(0,a5.__assign)((0,a5.__assign)({},x),J),i=X.defaultValue,G=(0,a5.__rest)(X,["defaultValue"]),Y=(0,xp.isFunction)(Q)?Q($):Q;if(z(Y),Y===void 0)cp.default.remove(c);else cp.default.set(c,Y,G)});return[$,Z]}var l_=Ui.default=Ou});var Fi=P((pp,$p)=>{(function(c,x){typeof pp=="object"&&typeof $p<"u"?$p.exports=x():typeof define=="function"&&define.amd?define(x):(c=typeof globalThis<"u"?globalThis:c||self).dayjs=x()})(pp,function(){var c=1000,x=60000,p=3600000,$="millisecond",z="second",Z="minute",Q="hour",J="day",X="week",i="month",G="quarter",Y="year",H="date",W="Invalid Date",K=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,w=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,q={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(C){var N=["th","st","nd","rd"],L=C%100;return"["+C+(N[(L-20)%10]||N[L]||N[0])+"]"}},U=function(C,N,L){var n=String(C);return!n||n.length>=N?C:""+Array(N+1-n.length).join(L)+C},b={s:U,z:function(C){var N=-C.utcOffset(),L=Math.abs(N),n=Math.floor(L/60),F=L%60;return(N<=0?"+":"-")+U(n,2,"0")+":"+U(F,2,"0")},m:function C(N,L){if(N.date()<L.date())return-C(L,N);var n=12*(L.year()-N.year())+(L.month()-N.month()),F=N.clone().add(n,i),u=L-F<0,f=N.clone().add(n+(u?-1:1),i);return+(-(n+(L-F)/(u?F-f:f-F))||0)},a:function(C){return C<0?Math.ceil(C)||0:Math.floor(C)},p:function(C){return{M:i,y:Y,w:X,d:J,D:H,h:Q,m:Z,s:z,ms:$,Q:G}[C]||String(C||"").toLowerCase().replace(/s$/,"")},u:function(C){return C===void 0}},v="en",B={};B[v]=q;var A="$isDayjsObject",V=function(C){return C instanceof I||!(!C||!C[A])},y=function C(N,L,n){var F;if(!N)return v;if(typeof N=="string"){var u=N.toLowerCase();B[u]&&(F=u),L&&(B[u]=L,F=u);var f=N.split("-");if(!F&&f.length>1)return C(f[0])}else{var j=N.name;B[j]=N,F=j}return!n&&F&&(v=F),F||!n&&v},k=function(C,N){if(V(C))return C.clone();var L=typeof N=="object"?N:{};return L.date=C,L.args=arguments,new I(L)},O=b;O.l=y,O.i=V,O.w=function(C,N){return k(C,{locale:N.$L,utc:N.$u,x:N.$x,$offset:N.$offset})};var I=function(){function C(L){this.$L=y(L.locale,null,!0),this.parse(L),this.$x=this.$x||L.x||{},this[A]=!0}var N=C.prototype;return N.parse=function(L){this.$d=function(n){var{date:F,utc:u}=n;if(F===null)return new Date(NaN);if(O.u(F))return new Date;if(F instanceof Date)return new Date(F);if(typeof F=="string"&&!/Z$/i.test(F)){var f=F.match(K);if(f){var j=f[2]-1||0,T=(f[7]||"0").substring(0,3);return u?new Date(Date.UTC(f[1],j,f[3]||1,f[4]||0,f[5]||0,f[6]||0,T)):new Date(f[1],j,f[3]||1,f[4]||0,f[5]||0,f[6]||0,T)}}return new Date(F)}(L),this.init()},N.init=function(){var L=this.$d;this.$y=L.getFullYear(),this.$M=L.getMonth(),this.$D=L.getDate(),this.$W=L.getDay(),this.$H=L.getHours(),this.$m=L.getMinutes(),this.$s=L.getSeconds(),this.$ms=L.getMilliseconds()},N.$utils=function(){return O},N.isValid=function(){return this.$d.toString()!==W},N.isSame=function(L,n){var F=k(L);return this.startOf(n)<=F&&F<=this.endOf(n)},N.isAfter=function(L,n){return k(L)<this.startOf(n)},N.isBefore=function(L,n){return this.endOf(n)<k(L)},N.$g=function(L,n,F){return O.u(L)?this[n]:this.set(F,L)},N.unix=function(){return Math.floor(this.valueOf()/1000)},N.valueOf=function(){return this.$d.getTime()},N.startOf=function(L,n){var F=this,u=!!O.u(n)||n,f=O.p(L),j=function(Hc,xc){var tc=O.w(F.$u?Date.UTC(F.$y,xc,Hc):new Date(F.$y,xc,Hc),F);return u?tc:tc.endOf(J)},T=function(Hc,xc){return O.w(F.toDate()[Hc].apply(F.toDate("s"),(u?[0,0,0,0]:[23,59,59,999]).slice(xc)),F)},S=this.$W,D=this.$M,a=this.$D,o="set"+(this.$u?"UTC":"");switch(f){case Y:return u?j(1,0):j(31,11);case i:return u?j(1,D):j(0,D+1);case X:var r=this.$locale().weekStart||0,wc=(S<r?S+7:S)-r;return j(u?a-wc:a+(6-wc),D);case J:case H:return T(o+"Hours",0);case Q:return T(o+"Minutes",1);case Z:return T(o+"Seconds",2);case z:return T(o+"Milliseconds",3);default:return this.clone()}},N.endOf=function(L){return this.startOf(L,!1)},N.$set=function(L,n){var F,u=O.p(L),f="set"+(this.$u?"UTC":""),j=(F={},F[J]=f+"Date",F[H]=f+"Date",F[i]=f+"Month",F[Y]=f+"FullYear",F[Q]=f+"Hours",F[Z]=f+"Minutes",F[z]=f+"Seconds",F[$]=f+"Milliseconds",F)[u],T=u===J?this.$D+(n-this.$W):n;if(u===i||u===Y){var S=this.clone().set(H,1);S.$d[j](T),S.init(),this.$d=S.set(H,Math.min(this.$D,S.daysInMonth())).$d}else j&&this.$d[j](T);return this.init(),this},N.set=function(L,n){return this.clone().$set(L,n)},N.get=function(L){return this[O.p(L)]()},N.add=function(L,n){var F,u=this;L=Number(L);var f=O.p(n),j=function(D){var a=k(u);return O.w(a.date(a.date()+Math.round(D*L)),u)};if(f===i)return this.set(i,this.$M+L);if(f===Y)return this.set(Y,this.$y+L);if(f===J)return j(1);if(f===X)return j(7);var T=(F={},F[Z]=x,F[Q]=p,F[z]=c,F)[f]||1,S=this.$d.getTime()+L*T;return O.w(S,this)},N.subtract=function(L,n){return this.add(-1*L,n)},N.format=function(L){var n=this,F=this.$locale();if(!this.isValid())return F.invalidDate||W;var u=L||"YYYY-MM-DDTHH:mm:ssZ",f=O.z(this),j=this.$H,T=this.$m,S=this.$M,D=F.weekdays,a=F.months,o=F.meridiem,r=function(xc,tc,q0,j0){return xc&&(xc[tc]||xc(n,u))||q0[tc].slice(0,j0)},wc=function(xc){return O.s(j%12||12,xc,"0")},Hc=o||function(xc,tc,q0){var j0=xc<12?"AM":"PM";return q0?j0.toLowerCase():j0};return u.replace(w,function(xc,tc){return tc||function(q0){switch(q0){case"YY":return String(n.$y).slice(-2);case"YYYY":return O.s(n.$y,4,"0");case"M":return S+1;case"MM":return O.s(S+1,2,"0");case"MMM":return r(F.monthsShort,S,a,3);case"MMMM":return r(a,S);case"D":return n.$D;case"DD":return O.s(n.$D,2,"0");case"d":return String(n.$W);case"dd":return r(F.weekdaysMin,n.$W,D,2);case"ddd":return r(F.weekdaysShort,n.$W,D,3);case"dddd":return D[n.$W];case"H":return String(j);case"HH":return O.s(j,2,"0");case"h":return wc(1);case"hh":return wc(2);case"a":return Hc(j,T,!0);case"A":return Hc(j,T,!1);case"m":return String(T);case"mm":return O.s(T,2,"0");case"s":return String(n.$s);case"ss":return O.s(n.$s,2,"0");case"SSS":return O.s(n.$ms,3,"0");case"Z":return f}return null}(xc)||f.replace(":","")})},N.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},N.diff=function(L,n,F){var u,f=this,j=O.p(n),T=k(L),S=(T.utcOffset()-this.utcOffset())*x,D=this-T,a=function(){return O.m(f,T)};switch(j){case Y:u=a()/12;break;case i:u=a();break;case G:u=a()/3;break;case X:u=(D-S)/604800000;break;case J:u=(D-S)/86400000;break;case Q:u=D/p;break;case Z:u=D/x;break;case z:u=D/c;break;default:u=D}return F?u:O.a(u)},N.daysInMonth=function(){return this.endOf(i).$D},N.$locale=function(){return B[this.$L]},N.locale=function(L,n){if(!L)return this.$L;var F=this.clone(),u=y(L,n,!0);return u&&(F.$L=u),F},N.clone=function(){return O.w(this.$d,this)},N.toDate=function(){return new Date(this.valueOf())},N.toJSON=function(){return this.isValid()?this.toISOString():null},N.toISOString=function(){return this.$d.toISOString()},N.toString=function(){return this.$d.toUTCString()},C}(),m=I.prototype;return k.prototype=m,[["$ms",$],["$s",z],["$m",Z],["$H",Q],["$W",J],["$M",i],["$y",Y],["$D",H]].forEach(function(C){m[C[1]]=function(N){return this.$g(N,C[0],C[1])}}),k.extend=function(C,N){return C.$i||(C(N,I,k),C.$i=!0),k},k.locale=y,k.isDayjs=V,k.unix=function(C){return k(1000*C)},k.en=B[v],k.Ls=B,k.p={},k})});import*as Kx from"react";var Ai=P((Li)=>{var bi=E();Object.defineProperty(Li,"__esModule",{value:!0});Li.default=void 0;var Cu=l(),ju=bi(Fi()),Su=bi(Fc()),Iu=Gc(),zp=function(x){if(!x)return 0;var p=(0,ju.default)(x).valueOf()-Date.now();return p<0?0:p},Du=function(x){return{days:Math.floor(x/86400000),hours:Math.floor(x/3600000)%24,minutes:Math.floor(x/60000)%60,seconds:Math.floor(x/1000)%60,milliseconds:Math.floor(x)%1000}},Eu=function(x){if(x===void 0)x={};var p=x||{},$=p.leftTime,z=p.targetDate,Z=p.interval,Q=Z===void 0?1000:Z,J=p.onEnd,X=Kx.useMemo(function(){return(0,Iu.isNumber)($)&&$>0?Date.now()+$:void 0},[$]),i="leftTime"in x?X:z,G=(0,Cu.__read)(Kx.useState(function(){return zp(i)}),2),Y=G[0],H=G[1],W=(0,Su.default)(J);Kx.useEffect(function(){if(!i){H(0);return}H(zp(i));var w=setInterval(function(){var q,U=zp(i);if(H(U),U===0)clearInterval(w),(q=W.current)===null||q===void 0||q.call(W)},Q);return function(){return clearInterval(w)}},[i,Q]);var K=Kx.useMemo(function(){return Du(Y)},[Y]);return[Y,K]},s_=Li.default=Eu});import*as Pi from"react";var fi=P((yi)=>{var Tu=E();Object.defineProperty(yi,"__esModule",{value:!0});yi.default=void 0;var Ru=l(),_5=Tu(Vc()),Zp=Gc();function ui(c,x){if(x===void 0)x={};var{min:p,max:$}=x,z=c;if((0,Zp.isNumber)($))z=Math.min($,z);if((0,Zp.isNumber)(p))z=Math.max(p,z);return z}function mu(c,x){if(c===void 0)c=0;if(x===void 0)x={};var{min:p,max:$}=x,z=(0,Ru.__read)(Pi.useState(function(){return ui(c,{min:p,max:$})}),2),Z=z[0],Q=z[1],J=function(W){Q(function(K){var w=(0,Zp.isNumber)(W)?W:W(K);return ui(w,{max:$,min:p})})},X=function(W){if(W===void 0)W=1;J(function(K){return K+W})},i=function(W){if(W===void 0)W=1;J(function(K){return K-W})},G=function(W){J(W)},Y=function(){J(c)};return[Z,{inc:(0,_5.default)(X),dec:(0,_5.default)(i),set:(0,_5.default)(G),reset:(0,_5.default)(Y)}]}var t_=yi.default=mu});var Oi=P((Qp)=>{var ki=E();Object.defineProperty(Qp,"__esModule",{value:!0});Object.defineProperty(Qp,"debounce",{enumerable:!0,get:function(){return du.default}});var ni=ki(Q0()),du=ki(f5());function hu(){var c=(typeof global>"u"?"undefined":typeof global>"u"?"undefined":(0,ni.default)(global))=="object"&&global&&global.Object===Object&&global,x=(typeof self>"u"?"undefined":(0,ni.default)(self))=="object"&&self&&self.Object===Object&&self;return c||x}if(!hu())global.Date=Date});import*as ji from"react";var l5=P((Si)=>{var g5=E();Object.defineProperty(Si,"__esModule",{value:!0});Si.default=void 0;var au=g5(Q0()),Ci=l(),_u=Oi(),gu=g5(Fc()),lu=g5(J0()),ou=Gc(),su=g5(d0());function ru(c,x){var p;if(su.default){if(!(0,ou.isFunction)(c))console.error("useDebounceFn expected parameter is a function, got ".concat((0,au.default)(c)))}var $=(0,gu.default)(c),z=(p=x===null||x===void 0?void 0:x.wait)!==null&&p!==void 0?p:1000,Z=ji.useMemo(function(){return(0,_u.debounce)(function(){var Q=[];for(var J=0;J<arguments.length;J++)Q[J]=arguments[J];return $.current.apply($,(0,Ci.__spreadArray)([],(0,Ci.__read)(Q),!1))},z,x)},[]);return(0,lu.default)(function(){Z.cancel()}),{run:Z,cancel:Z.cancel,flush:Z.flush}}var xg=Si.default=ru});import*as o5 from"react";var Ti=P((Di)=>{var tu=E();Object.defineProperty(Di,"__esModule",{value:!0});Di.default=void 0;var eu=l(),cP=tu(l5());function xP(c,x){var p=(0,eu.__read)(o5.useState(c),2),$=p[0],z=p[1],Z=(0,cP.default)(function(){z(c)},x).run;return o5.useEffect(function(){Z()},[c]),$}var $g=Di.default=xP});import*as s5 from"react";var hi=P((mi)=>{var Ri=E();Object.defineProperty(mi,"__esModule",{value:!0});mi.default=void 0;var pP=l(),$P=Ri(l5()),zP=Ri(K0());function ZP(c,x,p){var $=(0,pP.__read)(s5.useState({}),2),z=$[0],Z=$[1],Q=(0,$P.default)(function(){Z({})},p).run;s5.useEffect(function(){return Q()},x),(0,zP.default)(c,[z])}var Zg=mi.default=ZP});var _i=P((Jg,ai)=>{var QP=typeof Element<"u",JP=typeof Map==="function",XP=typeof Set==="function",iP=typeof ArrayBuffer==="function"&&!!ArrayBuffer.isView;function r5(c,x){if(c===x)return!0;if(c&&x&&typeof c=="object"&&typeof x=="object"){if(c.constructor!==x.constructor)return!1;var p,$,z;if(Array.isArray(c)){if(p=c.length,p!=x.length)return!1;for($=p;$--!==0;)if(!r5(c[$],x[$]))return!1;return!0}var Z;if(JP&&c instanceof Map&&x instanceof Map){if(c.size!==x.size)return!1;Z=c.entries();while(!($=Z.next()).done)if(!x.has($.value[0]))return!1;Z=c.entries();while(!($=Z.next()).done)if(!r5($.value[1],x.get($.value[0])))return!1;return!0}if(XP&&c instanceof Set&&x instanceof Set){if(c.size!==x.size)return!1;Z=c.entries();while(!($=Z.next()).done)if(!x.has($.value[0]))return!1;return!0}if(iP&&ArrayBuffer.isView(c)&&ArrayBuffer.isView(x)){if(p=c.length,p!=x.length)return!1;for($=p;$--!==0;)if(c[$]!==x[$])return!1;return!0}if(c.constructor===RegExp)return c.source===x.source&&c.flags===x.flags;if(c.valueOf!==Object.prototype.valueOf&&typeof c.valueOf==="function"&&typeof x.valueOf==="function")return c.valueOf()===x.valueOf();if(c.toString!==Object.prototype.toString&&typeof c.toString==="function"&&typeof x.toString==="function")return c.toString()===x.toString();if(z=Object.keys(c),p=z.length,p!==Object.keys(x).length)return!1;for($=p;$--!==0;)if(!Object.prototype.hasOwnProperty.call(x,z[$]))return!1;if(QP&&c instanceof Element)return!1;for($=p;$--!==0;){if((z[$]==="_owner"||z[$]==="__v"||z[$]==="__o")&&c.$$typeof)continue;if(!r5(c[z[$]],x[z[$]]))return!1}return!0}return c!==c&&x!==x}ai.exports=function(x,p){try{return r5(x,p)}catch($){if(($.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw $}}});var Jp=P((gi)=>{var GP=E();Object.defineProperty(gi,"__esModule",{value:!0});gi.depsEqual=void 0;var YP=GP(_i()),Xg=gi.depsEqual=function(x,p){if(x===void 0)x=[];if(p===void 0)p=[];return(0,YP.default)(x,p)}});import*as Xp from"react";var ip=P((oi)=>{Object.defineProperty(oi,"__esModule",{value:!0});oi.createDeepCompareEffect=void 0;var HP=Jp(),Gg=oi.createDeepCompareEffect=function(x){return function(p,$){var z=Xp.useRef(void 0),Z=Xp.useRef(0);if($===void 0||!(0,HP.depsEqual)($,z.current))Z.current+=1;z.current=$,x(p,[Z.current])}}});import*as ri from"react";var cG=P((ti)=>{Object.defineProperty(ti,"__esModule",{value:!0});ti.default=void 0;var WP=ip(),Hg=ti.default=(0,WP.createDeepCompareEffect)(ri.useEffect)});import*as xG from"react";var zG=P((pG)=>{Object.defineProperty(pG,"__esModule",{value:!0});pG.default=void 0;var KP=ip(),Kg=pG.default=(0,KP.createDeepCompareEffect)(xG.useLayoutEffect)});var y0=P((QG)=>{var ZG=E();Object.defineProperty(QG,"__esModule",{value:!0});QG.default=void 0;var wP=ZG(Fc()),vP=nc(),qP=ZG(X0());function UP(c,x,p){if(p===void 0)p={};var $=p.enable,z=$===void 0?!0:$,Z=(0,wP.default)(x);(0,qP.default)(function(){if(!z)return;var Q=(0,vP.getTargetElement)(p.target,window);if(!(Q===null||Q===void 0?void 0:Q.addEventListener))return;var J=function(G){return Z.current(G)},X=Array.isArray(c)?c:[c];return X.forEach(function(i){Q.addEventListener(i,J,{capture:p.capture,once:p.once,passive:p.passive})}),function(){X.forEach(function(i){Q.removeEventListener(i,J,{capture:p.capture})})}},[c,p.capture,p.once,p.passive,z],p.target)}var vg=QG.default=UP});import*as GG from"react";var WG=P((YG)=>{var iG=E();Object.defineProperty(YG,"__esModule",{value:!0});YG.default=void 0;var BP=l(),VP=iG(y0()),FP=iG(mc()),XG=function(){if(!FP.default)return"visible";return document.visibilityState};function bP(){var c=(0,BP.__read)(GG.useState(XG),2),x=c[0],p=c[1];return(0,VP.default)("visibilitychange",function(){p(XG())},{target:function(){return document}}),x}var Ug=YG.default=bP});import*as wG from"react";var UG=P((vG)=>{var Gp=E();Object.defineProperty(vG,"__esModule",{value:!0});vG.default=void 0;var KG=Gp(Fc()),LP=Gp(E5()),NP=Gc(),AP=nc(),uP=Gp(X0()),PP=function(x,p,$){if($===void 0)$={};var z=(0,KG.default)($),Z=(0,KG.default)(x),Q=wG.useRef(void 0),J=z.current.dragImage;(0,LP.default)(function(){if(J===null||J===void 0?void 0:J.image){var X=J.image;if((0,NP.isString)(X)){var i=new Image;i.src=X,Q.current=i}else Q.current=X}}),(0,uP.default)(function(){var X=(0,AP.getTargetElement)(p);if(!(X===null||X===void 0?void 0:X.addEventListener))return;var i=function(H){var W,K;if((K=(W=z.current).onDragStart)===null||K===void 0||K.call(W,H),H.dataTransfer.setData("custom",JSON.stringify(Z.current)),(J===null||J===void 0?void 0:J.image)&&Q.current){var w=J.offsetX,q=w===void 0?0:w,U=J.offsetY,b=U===void 0?0:U;H.dataTransfer.setDragImage(Q.current,q,b)}},G=function(H){var W,K;(K=(W=z.current).onDragEnd)===null||K===void 0||K.call(W,H)};return X.setAttribute("draggable","true"),X.addEventListener("dragstart",i),X.addEventListener("dragend",G),function(){X.removeEventListener("dragstart",i),X.removeEventListener("dragend",G)}},[],p)},Vg=vG.default=PP});import*as VG from"react";var LG=P((FG)=>{var BG=E();Object.defineProperty(FG,"__esModule",{value:!0});FG.default=void 0;var yP=BG(Fc()),MP=nc(),fP=BG(X0()),nP=function(x,p){if(p===void 0)p={};var $=(0,yP.default)(p),z=VG.useRef(void 0);(0,fP.default)(function(){var Z=(0,MP.getTargetElement)(x);if(!(Z===null||Z===void 0?void 0:Z.addEventListener))return;var Q=function(W,K){var w=W.getData("text/uri-list"),q=W.getData("custom");if(q&&$.current.onDom){var U=q;try{U=JSON.parse(q)}catch(b){U=q}$.current.onDom(U,K);return}if(w&&$.current.onUri){$.current.onUri(w,K);return}if(W.files&&W.files.length&&$.current.onFiles){$.current.onFiles(Array.from(W.files),K);return}if(W.items&&W.items.length&&$.current.onText)W.items[0].getAsString(function(b){$.current.onText(b,K)})},J=function(W){var K,w;W.preventDefault(),W.stopPropagation(),z.current=W.target,(w=(K=$.current).onDragEnter)===null||w===void 0||w.call(K,W)},X=function(W){var K,w;W.preventDefault(),(w=(K=$.current).onDragOver)===null||w===void 0||w.call(K,W)},i=function(W){var K,w;if(W.target===z.current)(w=(K=$.current).onDragLeave)===null||w===void 0||w.call(K,W)},G=function(W){var K,w;W.preventDefault(),Q(W.dataTransfer,W),(w=(K=$.current).onDrop)===null||w===void 0||w.call(K,W)},Y=function(W){var K,w;Q(W.clipboardData,W),(w=(K=$.current).onPaste)===null||w===void 0||w.call(K,W)};return Z.addEventListener("dragenter",J),Z.addEventListener("dragover",X),Z.addEventListener("dragleave",i),Z.addEventListener("drop",G),Z.addEventListener("paste",Y),function(){Z.removeEventListener("dragenter",J),Z.removeEventListener("dragover",X),Z.removeEventListener("dragleave",i),Z.removeEventListener("drop",G),Z.removeEventListener("paste",Y)}},[],x)},bg=FG.default=nP});import*as Ac from"react";var PG=P((AG)=>{var NG=E();Object.defineProperty(AG,"__esModule",{value:!0});AG.default=void 0;var kP=NG(Q0()),oc=l(),OP=NG(d0()),CP=function(x){if(x===void 0)x=[];var p=Ac.useRef(-1),$=Ac.useRef([]),z=Ac.useCallback(function(V){p.current+=1,$.current.splice(V,0,p.current)},[]),Z=(0,oc.__read)(Ac.useState(function(){return x.forEach(function(V,y){z(y)}),x}),2),Q=Z[0],J=Z[1],X=Ac.useCallback(function(V){$.current=[],J(function(){return V.forEach(function(y,k){z(k)}),V})},[]),i=Ac.useCallback(function(V,y){J(function(k){var O=(0,oc.__spreadArray)([],(0,oc.__read)(k),!1);return O.splice(V,0,y),z(V),O})},[]),G=Ac.useCallback(function(V){return $.current[V]},[]),Y=Ac.useCallback(function(V){return $.current.findIndex(function(y){return y===V})},[]),H=Ac.useCallback(function(V,y){J(function(k){var O=(0,oc.__spreadArray)([],(0,oc.__read)(k),!1);return y.forEach(function(I,m){z(V+m)}),O.splice.apply(O,(0,oc.__spreadArray)([V,0],(0,oc.__read)(y),!1)),O})},[]),W=Ac.useCallback(function(V,y){J(function(k){var O=(0,oc.__spreadArray)([],(0,oc.__read)(k),!1);return O[V]=y,O})},[]),K=Ac.useCallback(function(V){J(function(y){var k=(0,oc.__spreadArray)([],(0,oc.__read)(y),!1);k.splice(V,1);try{$.current.splice(V,1)}catch(O){console.error(O)}return k})},[]),w=Ac.useCallback(function(V){if(!Array.isArray(V)){if(OP.default)console.error('`indexes` parameter of `batchRemove` function expected to be an array, but got "'.concat((0,kP.default)(V),'".'));return}if(!V.length)return;J(function(y){var k=[],O=y.filter(function(I,m){var C=!V.includes(m);if(C)k.push(G(m));return C});return $.current=k,O})},[]),q=Ac.useCallback(function(V,y){if(V===y)return;J(function(k){var O=(0,oc.__spreadArray)([],(0,oc.__read)(k),!1),I=O.filter(function(C,N){return N!==V});I.splice(y,0,O[V]);try{var m=$.current.filter(function(C,N){return N!==V});m.splice(y,0,$.current[V]),$.current=m}catch(C){console.error(C)}return I})},[]),U=Ac.useCallback(function(V){J(function(y){return z(y.length),y.concat([V])})},[]),b=Ac.useCallback(function(){try{$.current=$.current.slice(0,$.current.length-1)}catch(V){console.error(V)}J(function(V){return V.slice(0,V.length-1)})},[]),v=Ac.useCallback(function(V){J(function(y){return z(0),[V].concat(y)})},[]),B=Ac.useCallback(function(){try{$.current=$.current.slice(1,$.current.length)}catch(V){console.error(V)}J(function(V){return V.slice(1,V.length)})},[]),A=Ac.useCallback(function(V){return V.map(function(y,k){return{key:k,item:y}}).sort(function(y,k){return Y(y.key)-Y(k.key)}).filter(function(y){return!!y.item}).map(function(y){return y.item})},[]);return{list:Q,insert:i,merge:H,replace:W,remove:K,batchRemove:w,getKey:G,getIndex:Y,move:q,push:U,pop:b,unshift:v,shift:B,sortList:A,resetList:X}},Ng=AG.default=CP});import*as o1 from"react";var fG=P((yG)=>{Object.defineProperty(yG,"__esModule",{value:!0});yG.default=yG.EventEmitter=void 0;var jP=l(),SP=yG.EventEmitter=function(){function c(){var x=this;this.subscriptions=new Set,this.emit=function(p){var $,z;try{for(var Z=(0,jP.__values)(x.subscriptions),Q=Z.next();!Q.done;Q=Z.next()){var J=Q.value;J(p)}}catch(X){$={error:X}}finally{try{if(Q&&!Q.done&&(z=Z.return))z.call(Z)}finally{if($)throw $.error}}},this.useSubscription=function(p){var $=o1.useRef(void 0);$.current=p,o1.useEffect(function(){function z(Z){if($.current)$.current(Z)}return x.subscriptions.add(z),function(){x.subscriptions.delete(z)}},[])}}return c}();function IP(){var c=o1.useRef(void 0);if(!c.current)c.current=new SP;return c.current}var ug=yG.default=IP});import*as s1 from"react";var OG=P((nG)=>{var EP=E();Object.defineProperty(nG,"__esModule",{value:!0});nG.default=void 0;var TP=l(),RP=EP(Fc()),mP=Gc();function dP(c){var x=c||{},p=x.initialValue,$=x.transformer,z=(0,TP.__read)(s1.useState(p),2),Z=z[0],Q=z[1],J=(0,RP.default)($),X=s1.useCallback(function(){return Q(p)},[]),i=s1.useCallback(function(G){var Y=G.target.value;if((0,mP.isFunction)(J.current))return Q(J.current(Y));return Q(Y)},[]);return[Z,{onChange:i,reset:X}]}var yg=nG.default=dP});import*as gx from"react";var SG=P((CG)=>{Object.defineProperty(CG,"__esModule",{value:!0});CG.default=void 0;var hP=l(),r1={},aP=function(x,p){if(p===void 0)p={};var $=document.querySelector('script[src="'.concat(x,'"]'));if(!$){var z=document.createElement("script");return z.src=x,Object.keys(p).forEach(function(Z){z[Z]=p[Z]}),z.setAttribute("data-status","loading"),document.body.appendChild(z),{ref:z,status:"loading"}}return{ref:$,status:$.getAttribute("data-status")||"ready"}},_P=function(x,p){if(p===void 0)p={};var $=document.querySelector('link[href="'.concat(x,'"]'));if(!$){var z=document.createElement("link");z.rel="stylesheet",z.href=x,Object.keys(p).forEach(function(Q){z[Q]=p[Q]});var Z="hideFocus"in z;if(Z&&z.relList)z.rel="preload",z.as="style";return z.setAttribute("data-status","loading"),document.head.appendChild(z),{ref:z,status:"loading"}}return{ref:$,status:$.getAttribute("data-status")||"ready"}},gP=function(x,p){var $=(0,hP.__read)(gx.useState(x?"loading":"unset"),2),z=$[0],Z=$[1],Q=gx.useRef(void 0);return gx.useEffect(function(){if(!x){Z("unset");return}var J=x.replace(/[|#].*$/,"");if((p===null||p===void 0?void 0:p.type)==="css"||!(p===null||p===void 0?void 0:p.type)&&/(^css!|\.css$)/.test(J)){var X=_P(x,p===null||p===void 0?void 0:p.css);Q.current=X.ref,Z(X.status)}else if((p===null||p===void 0?void 0:p.type)==="js"||!(p===null||p===void 0?void 0:p.type)&&/(^js!|\.js$)/.test(J)){var X=aP(x,p===null||p===void 0?void 0:p.js);Q.current=X.ref,Z(X.status)}else console.error("Cannot infer the type of external resource, and please provide a type ('js' | 'css'). Refer to the https://ahooks.js.org/hooks/dom/use-external/#options");if(!Q.current)return;if(r1[x]===void 0)r1[x]=1;else r1[x]+=1;var i=function(Y){var H,W=Y.type==="load"?"ready":"error";(H=Q.current)===null||H===void 0||H.setAttribute("data-status",W),Z(W)};return Q.current.addEventListener("load",i),Q.current.addEventListener("error",i),function(){var G,Y,H;if((G=Q.current)===null||G===void 0||G.removeEventListener("load",i),(Y=Q.current)===null||Y===void 0||Y.removeEventListener("error",i),r1[x]-=1,r1[x]===0&&!(p===null||p===void 0?void 0:p.keepWhenUnused))(H=Q.current)===null||H===void 0||H.remove();Q.current=void 0}},[x]),z},fg=CG.default=gP});import*as IG from"react";var TG=P((DG)=>{Object.defineProperty(DG,"__esModule",{value:!0});DG.default=void 0;var lP={SVG:"image/svg+xml",ICO:"image/x-icon",GIF:"image/gif",PNG:"image/png"},oP=function(x){IG.useEffect(function(){if(!x)return;var p=x.split("."),$=p[p.length-1].toLocaleUpperCase(),z=document.querySelector("link[rel*='icon']")||document.createElement("link");z.type=lP[$],z.href=x,z.rel="shortcut icon",document.getElementsByTagName("head")[0].appendChild(z)},[x])},kg=DG.default=oP});import*as mG from"react";var hG=P((dG)=>{var sP=E();Object.defineProperty(dG,"__esModule",{value:!0});dG.default=tP;var rP=l(),RG=sP(y0());function tP(c,x){var p=(0,rP.__read)(mG.useState(!1),2),$=p[0],z=p[1],Z=x||{},Q=Z.onFocus,J=Z.onBlur,X=Z.onChange;return(0,RG.default)("focusin",function(i){if(!$)Q===null||Q===void 0||Q(i),X===null||X===void 0||X(!0),z(!0)},{target:c}),(0,RG.default)("focusout",function(i){var G,Y;if($&&!((Y=(G=i.currentTarget)===null||G===void 0?void 0:G.contains)===null||Y===void 0?void 0:Y.call(G,i.relatedTarget)))J===null||J===void 0||J(i),X===null||X===void 0||X(!1),z(!1)},{target:c}),$}});var aG=P((jg,t1)=>{/*!
|
|
66
|
+
* screenfull
|
|
67
|
+
* v5.2.0 - 2021-11-03
|
|
68
|
+
* (c) Sindre Sorhus; MIT License
|
|
69
|
+
*/(function(){var c=typeof window<"u"&&typeof window.document<"u"?window.document:{},x=typeof t1<"u"&&t1.exports,p=function(){var Z,Q=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],J=0,X=Q.length,i={};for(;J<X;J++)if(Z=Q[J],Z&&Z[1]in c){for(J=0;J<Z.length;J++)i[Q[0][J]]=Z[J];return i}return!1}(),$={change:p.fullscreenchange,error:p.fullscreenerror},z={request:function(Z,Q){return new Promise(function(J,X){var i=function(){this.off("change",i),J()}.bind(this);this.on("change",i),Z=Z||c.documentElement;var G=Z[p.requestFullscreen](Q);if(G instanceof Promise)G.then(i).catch(X)}.bind(this))},exit:function(){return new Promise(function(Z,Q){if(!this.isFullscreen){Z();return}var J=function(){this.off("change",J),Z()}.bind(this);this.on("change",J);var X=c[p.exitFullscreen]();if(X instanceof Promise)X.then(J).catch(Q)}.bind(this))},toggle:function(Z,Q){return this.isFullscreen?this.exit():this.request(Z,Q)},onchange:function(Z){this.on("change",Z)},onerror:function(Z){this.on("error",Z)},on:function(Z,Q){var J=$[Z];if(J)c.addEventListener(J,Q,!1)},off:function(Z,Q){var J=$[Z];if(J)c.removeEventListener(J,Q,!1)},raw:p};if(!p){if(x)t1.exports={isEnabled:!1};else window.screenfull={isEnabled:!1};return}if(Object.defineProperties(z,{isFullscreen:{get:function(){return Boolean(c[p.fullscreenElement])}},element:{enumerable:!0,get:function(){return c[p.fullscreenElement]}},isEnabled:{enumerable:!0,get:function(){return Boolean(c[p.fullscreenEnabled])}}}),x)t1.exports=z;else window.screenfull=z})()});import*as lx from"react";var oG=P((gG)=>{var Hp=E();Object.defineProperty(gG,"__esModule",{value:!0});gG.default=void 0;var cy=l(),x0=Hp(aG()),_G=Hp(Fc()),Yp=Hp(Vc()),t5=nc(),xy=Gc(),py=function(x,p){var $=p||{},z=$.onExit,Z=$.onEnter,Q=$.pageFullscreen,J=Q===void 0?!1:Q,X=(0,xy.isBoolean)(J)||!J?{}:J,i=X.className,G=i===void 0?"ahooks-page-fullscreen":i,Y=X.zIndex,H=Y===void 0?999999:Y,W=(0,_G.default)(z),K=(0,_G.default)(Z),w=(0,cy.__read)(lx.useState(v),2),q=w[0],U=w[1],b=lx.useRef(v());function v(){return x0.default.isEnabled&&!!x0.default.element&&x0.default.element===(0,t5.getTargetElement)(x)}var B=function(C){var N,L;if(C)(N=K.current)===null||N===void 0||N.call(K);else(L=W.current)===null||L===void 0||L.call(W)},A=function(C){if(b.current!==C)B(C),U(C),b.current=C},V=function(){var C=v();A(C)},y=function(C){var N=(0,t5.getTargetElement)(x);if(!N)return;var L=document.getElementById(G);if(C){if(N.classList.add(G),!L)L=document.createElement("style"),L.setAttribute("id",G),L.textContent=`
|
|
70
|
+
.`.concat(G,` {
|
|
71
|
+
position: fixed; left: 0; top: 0; right: 0; bottom: 0;
|
|
72
|
+
width: 100% !important; height: 100% !important;
|
|
73
|
+
z-index: `).concat(H,`;
|
|
74
|
+
}`),N.appendChild(L)}else if(N.classList.remove(G),L)L.remove();A(C)},k=function(){var C=(0,t5.getTargetElement)(x);if(!C)return;if(J){y(!0);return}if(x0.default.isEnabled)try{x0.default.request(C)}catch(N){console.error(N)}},O=function(){var C=(0,t5.getTargetElement)(x);if(!C)return;if(J){y(!1);return}if(x0.default.isEnabled&&x0.default.element===C)x0.default.exit()},I=function(){if(q)O();else k()};return lx.useEffect(function(){if(!x0.default.isEnabled||J)return;return x0.default.on("change",V),function(){x0.default.off("change",V)}},[]),[q,{enterFullscreen:(0,Yp.default)(k),exitFullscreen:(0,Yp.default)(O),toggleFullscreen:(0,Yp.default)(I),isEnabled:x0.default.isEnabled}]},Sg=gG.default=py});var eG=P((rG)=>{Object.defineProperty(rG,"__esModule",{value:!0});rG.resultAdapter=rG.fieldAdapter=void 0;var sG=l(),Dg=rG.fieldAdapter=function(x){return{getFieldInstance:function($){return x.getNames().includes($)},setFieldsValue:x.setValues,getFieldsValue:x.getValues,resetFields:x.resetToDefault,validateFields:function($,z){x.validate($,z)}}},Eg=rG.resultAdapter=function(x){var p={dataSource:x.tableProps.dataSource,loading:x.tableProps.loading,onSort:function(Z,Q){var J;x.tableProps.onChange({current:x.pagination.current,pageSize:x.pagination.pageSize},(J=x.params[0])===null||J===void 0?void 0:J.filters,{field:Z,order:Q})},onFilter:function(Z){var Q;x.tableProps.onChange({current:x.pagination.current,pageSize:x.pagination.pageSize},Z,(Q=x.params[0])===null||Q===void 0?void 0:Q.sorter)}},$={onChange:x.pagination.changeCurrent,onPageSizeChange:x.pagination.changePageSize,current:x.pagination.current,pageSize:x.pagination.pageSize,total:x.pagination.total};return(0,sG.__assign)((0,sG.__assign)({},x),{tableProps:p,paginationProps:$})}});var zY=P((pY)=>{var zy=E();Object.defineProperty(pY,"__esModule",{value:!0});pY.default=void 0;var cY=l(),Zy=zy(g6()),xY=eG(),Qy=function(x,p){if(p===void 0)p={};var $=(0,Zy.default)(x,(0,cY.__assign)((0,cY.__assign)({},p),{form:p.field?(0,xY.fieldAdapter)(p.field):void 0}));return(0,xY.resultAdapter)($)},Rg=pY.default=Qy});import*as e5 from"react";var JY=P((ZY)=>{var Jy=E();Object.defineProperty(ZY,"__esModule",{value:!0});ZY.default=void 0;var Xy=l(),iy=Jy(Fc());function Gy(c){var x=(0,Xy.__read)(e5.useState(c),2),p=x[0],$=x[1],z=(0,iy.default)(p),Z=e5.useCallback(function(){return z.current},[]);return[p,$,Z]}var dg=ZY.default=Gy});import*as c4 from"react";var YY=P((GY)=>{var Yy=E();Object.defineProperty(GY,"__esModule",{value:!0});GY.default=Wy;var dc=l(),e1=Yy(Vc()),XY=Gc(),Hy=function(x,p){var $=x>0?x-1:p.length+x;if($>=p.length-1)$=p.length-1;if($<0)$=0;return $},iY=function(x,p){var $=Hy(x,p);return{_current:p[$],_before:p.slice(0,$),_after:p.slice($+1)}};function Wy(c,x){if(x===void 0)x=0;var p=(0,dc.__read)(c4.useState({present:c,past:[],future:[]}),2),$=p[0],z=p[1],Z=$.present,Q=$.past,J=$.future,X=c4.useRef(c),i=function(){var w=[];for(var q=0;q<arguments.length;q++)w[q]=arguments[q];var U=w.length>0?w[0]:X.current;X.current=U,z({present:U,future:[],past:[]})},G=function(w){var q=(0,dc.__spreadArray)((0,dc.__spreadArray)([],(0,dc.__read)(Q),!1),[Z],!1),U=(0,XY.isNumber)(x)?x:Number(x);if(U>0&&q.length>U)q.splice(0,1);z({present:w,future:[],past:q})},Y=function(w){if(w===void 0)w=1;if(J.length===0)return;var q=iY(w,J),U=q._before,b=q._current,v=q._after;z({past:(0,dc.__spreadArray)((0,dc.__spreadArray)((0,dc.__spreadArray)([],(0,dc.__read)(Q),!1),[Z],!1),(0,dc.__read)(U),!1),present:b,future:v})},H=function(w){if(w===void 0)w=-1;if(Q.length===0)return;var q=iY(w,Q),U=q._before,b=q._current,v=q._after;z({past:U,present:b,future:(0,dc.__spreadArray)((0,dc.__spreadArray)((0,dc.__spreadArray)([],(0,dc.__read)(v),!1),[Z],!1),(0,dc.__read)(J),!1)})},W=function(w){var q=(0,XY.isNumber)(w)?w:Number(w);if(q===0)return;if(q>0)return Y(q);H(q)};return{value:Z,backLength:Q.length,forwardLength:J.length,setValue:(0,e1.default)(G),go:(0,e1.default)(W),back:(0,e1.default)(function(){W(-1)}),forward:(0,e1.default)(function(){W(1)}),reset:(0,e1.default)(i)}}});var vY=P((KY)=>{var WY=E();Object.defineProperty(KY,"__esModule",{value:!0});KY.default=void 0;var wy=l(),vy=WY(o6()),HY=WY(y0()),_g=KY.default=function(x,p){var $=p||{},z=$.onEnter,Z=$.onLeave,Q=$.onChange,J=(0,wy.__read)((0,vy.default)(!1),2),X=J[0],i=J[1],G=i.setTrue,Y=i.setFalse;return(0,HY.default)("mouseenter",function(){z===null||z===void 0||z(),G(),Q===null||Q===void 0||Q(!0)},{target:x}),(0,HY.default)("mouseleave",function(){Z===null||Z===void 0||Z(),Y(),Q===null||Q===void 0||Q(!1)},{target:x}),X}});var BY=P((qY)=>{Object.defineProperty(qY,"__esModule",{value:!0});qY.getScrollTop=qY.getScrollHeight=qY.getClientHeight=void 0;var lg=qY.getScrollTop=function(x){if(x===document||x===document.documentElement||x===document.body)return Math.max(window.pageYOffset,document.documentElement.scrollTop,document.body.scrollTop);return x.scrollTop},og=qY.getScrollHeight=function(x){return x.scrollHeight||Math.max(document.documentElement.scrollHeight,document.body.scrollHeight)},sg=qY.getClientHeight=function(x){return x.clientHeight||Math.max(document.documentElement.clientHeight,document.body.clientHeight)}});import*as h0 from"react";var LY=P((FY)=>{var $4=E();Object.defineProperty(FY,"__esModule",{value:!0});FY.default=void 0;var bc=l(),By=$4(y0()),x4=$4(Vc()),Vy=$4(R5()),Fy=$4(K0()),VY=nc(),p4=BY(),by=function(x,p){if(p===void 0)p={};var{target:$,isNoMore:z,threshold:Z}=p,Q=Z===void 0?100:Z,J=p.direction,X=J===void 0?"bottom":J,i=p.reloadDeps,G=i===void 0?[]:i,Y=p.manual,H=p.onBefore,W=p.onSuccess,K=p.onError,w=p.onFinally,q=(0,bc.__read)(h0.useState(),2),U=q[0],b=q[1],v=(0,bc.__read)(h0.useState(!1),2),B=v[0],A=v[1],V=X==="top",y=h0.useRef(void 0),k=h0.useRef(0),O=h0.useMemo(function(){if(!z)return!1;return z(U)},[U]),I=(0,Vy.default)(function(D){return(0,bc.__awaiter)(void 0,void 0,void 0,function(){var a;return(0,bc.__generator)(this,function(o){switch(o.label){case 0:return[4,x(D)];case 1:return a=o.sent(),[2,{currentData:a,lastData:D}]}})})},{manual:Y,onFinally:function(a,o,r){A(!1),w===null||w===void 0||w(o===null||o===void 0?void 0:o.currentData,r)},onBefore:function(){return H===null||H===void 0?void 0:H()},onSuccess:function(a){var o,r,wc;if(!a.lastData)b((0,bc.__assign)((0,bc.__assign)({},a.currentData),{list:(0,bc.__spreadArray)([],(0,bc.__read)((o=a.currentData.list)!==null&&o!==void 0?o:[]),!1)}));else b((0,bc.__assign)((0,bc.__assign)({},a.currentData),{list:V?(0,bc.__spreadArray)((0,bc.__spreadArray)([],(0,bc.__read)(a.currentData.list),!1),(0,bc.__read)((r=a.lastData.list)!==null&&r!==void 0?r:[]),!1):(0,bc.__spreadArray)((0,bc.__spreadArray)([],(0,bc.__read)((wc=a.lastData.list)!==null&&wc!==void 0?wc:[]),!1),(0,bc.__read)(a.currentData.list),!1)}));setTimeout(function(){if(V){var Hc=(0,VY.getTargetElement)($);if(Hc=Hc===document?document.documentElement:Hc,Hc){var xc=(0,p4.getScrollHeight)(Hc);Hc.scrollTo(0,xc-k.current)}}else S()}),W===null||W===void 0||W(a.currentData)},onError:function(a){return K===null||K===void 0?void 0:K(a)}}),m=I.loading,C=I.error,N=I.run,L=I.runAsync,n=I.cancel,F=(0,x4.default)(function(){if(O)return;A(!0),N(U)}),u=function(a){return(0,bc.__awaiter)(void 0,void 0,void 0,function(){var o;return(0,bc.__generator)(this,function(r){switch(r.label){case 0:return[4,L(a)];case 1:return o=r.sent(),[2,o.currentData]}})})},f=(0,x4.default)(function(){if(O)return Promise.reject();return A(!0),u(U)}),j=function(){return A(!1),N()},T=function(){return A(!1),u()},S=function(){var a=(0,VY.getTargetElement)($);if(!a)return;var o=a===document?document.documentElement:a,r=(0,p4.getScrollTop)(o),wc=(0,p4.getScrollHeight)(o),Hc=(0,p4.getClientHeight)(o);if(V){if(y.current!==void 0&&y.current>r&&r<=Q)F();y.current=r,k.current=wc-r}else if(wc-r<=Hc+Q)F()};return(0,By.default)("scroll",function(){if(m||B)return;S()},{target:$}),(0,Fy.default)(function(){N()},(0,bc.__spreadArray)([],(0,bc.__read)(G),!1)),{data:U,loading:!B&&m,error:C,loadingMore:B,noMore:O,loadMore:F,loadMoreAsync:f,reload:(0,x4.default)(j),reloadAsync:(0,x4.default)(T),mutate:b,cancel:n}},tg=FY.default=by});import*as ox from"react";var uY=P((NY)=>{var Ly=E();Object.defineProperty(NY,"__esModule",{value:!0});NY.default=void 0;var Ny=Ly(Vc()),Ay=Gc(),uy=function(x,p,$){if($===void 0)$={};var z=(0,Ny.default)(x),Z=ox.useRef(null),Q=ox.useCallback(function(){if(Z.current)clearInterval(Z.current)},[]);return ox.useEffect(function(){if(!(0,Ay.isNumber)(p)||p<0)return;if($.immediate)z();return Z.current=setInterval(z,p),Q},[p,$.immediate]),Q},cl=NY.default=uy});var Py={};var PY=g(()=>{(function(){if(typeof window!=="object")return;if("IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype){if(!("isIntersecting"in window.IntersectionObserverEntry.prototype))Object.defineProperty(window.IntersectionObserverEntry.prototype,"isIntersecting",{get:function(){return this.intersectionRatio>0}});return}function c(v){try{return v.defaultView&&v.defaultView.frameElement||null}catch(B){return null}}var x=function(v){var B=v,A=c(B);while(A)B=A.ownerDocument,A=c(B);return B}(window.document),p=[],$=null,z=null;function Z(v){this.time=v.time,this.target=v.target,this.rootBounds=K(v.rootBounds),this.boundingClientRect=K(v.boundingClientRect),this.intersectionRect=K(v.intersectionRect||W()),this.isIntersecting=!!v.intersectionRect;var B=this.boundingClientRect,A=B.width*B.height,V=this.intersectionRect,y=V.width*V.height;if(A)this.intersectionRatio=Number((y/A).toFixed(4));else this.intersectionRatio=this.isIntersecting?1:0}function Q(v,B){var A=B||{};if(typeof v!="function")throw Error("callback must be a function");if(A.root&&A.root.nodeType!=1&&A.root.nodeType!=9)throw Error("root must be a Document or Element");this._checkForIntersections=X(this._checkForIntersections.bind(this),this.THROTTLE_TIMEOUT),this._callback=v,this._observationTargets=[],this._queuedEntries=[],this._rootMarginValues=this._parseRootMargin(A.rootMargin),this.thresholds=this._initThresholds(A.threshold),this.root=A.root||null,this.rootMargin=this._rootMarginValues.map(function(V){return V.value+V.unit}).join(" "),this._monitoringDocuments=[],this._monitoringUnsubscribes=[]}Q.prototype.THROTTLE_TIMEOUT=100,Q.prototype.POLL_INTERVAL=null,Q.prototype.USE_MUTATION_OBSERVER=!0,Q._setupCrossOriginUpdater=function(){if(!$)$=function(v,B){if(!v||!B)z=W();else z=w(v,B);p.forEach(function(A){A._checkForIntersections()})};return $},Q._resetCrossOriginUpdater=function(){$=null,z=null},Q.prototype.observe=function(v){var B=this._observationTargets.some(function(A){return A.element==v});if(B)return;if(!(v&&v.nodeType==1))throw Error("target must be an Element");this._registerInstance(),this._observationTargets.push({element:v,entry:null}),this._monitorIntersections(v.ownerDocument),this._checkForIntersections()},Q.prototype.unobserve=function(v){if(this._observationTargets=this._observationTargets.filter(function(B){return B.element!=v}),this._unmonitorIntersections(v.ownerDocument),this._observationTargets.length==0)this._unregisterInstance()},Q.prototype.disconnect=function(){this._observationTargets=[],this._unmonitorAllIntersections(),this._unregisterInstance()},Q.prototype.takeRecords=function(){var v=this._queuedEntries.slice();return this._queuedEntries=[],v},Q.prototype._initThresholds=function(v){var B=v||[0];if(!Array.isArray(B))B=[B];return B.sort().filter(function(A,V,y){if(typeof A!="number"||isNaN(A)||A<0||A>1)throw Error("threshold must be a number between 0 and 1 inclusively");return A!==y[V-1]})},Q.prototype._parseRootMargin=function(v){var B=v||"0px",A=B.split(/\s+/).map(function(V){var y=/^(-?\d*\.?\d+)(px|%)$/.exec(V);if(!y)throw Error("rootMargin must be specified in pixels or percent");return{value:parseFloat(y[1]),unit:y[2]}});return A[1]=A[1]||A[0],A[2]=A[2]||A[0],A[3]=A[3]||A[1],A},Q.prototype._monitorIntersections=function(v){var B=v.defaultView;if(!B)return;if(this._monitoringDocuments.indexOf(v)!=-1)return;var A=this._checkForIntersections,V=null,y=null;if(this.POLL_INTERVAL)V=B.setInterval(A,this.POLL_INTERVAL);else if(i(B,"resize",A,!0),i(v,"scroll",A,!0),this.USE_MUTATION_OBSERVER&&"MutationObserver"in B)y=new B.MutationObserver(A),y.observe(v,{attributes:!0,childList:!0,characterData:!0,subtree:!0});this._monitoringDocuments.push(v),this._monitoringUnsubscribes.push(function(){var I=v.defaultView;if(I){if(V)I.clearInterval(V);G(I,"resize",A,!0)}if(G(v,"scroll",A,!0),y)y.disconnect()});var k=this.root&&(this.root.ownerDocument||this.root)||x;if(v!=k){var O=c(v);if(O)this._monitorIntersections(O.ownerDocument)}},Q.prototype._unmonitorIntersections=function(v){var B=this._monitoringDocuments.indexOf(v);if(B==-1)return;var A=this.root&&(this.root.ownerDocument||this.root)||x,V=this._observationTargets.some(function(O){var I=O.element.ownerDocument;if(I==v)return!0;while(I&&I!=A){var m=c(I);if(I=m&&m.ownerDocument,I==v)return!0}return!1});if(V)return;var y=this._monitoringUnsubscribes[B];if(this._monitoringDocuments.splice(B,1),this._monitoringUnsubscribes.splice(B,1),y(),v!=A){var k=c(v);if(k)this._unmonitorIntersections(k.ownerDocument)}},Q.prototype._unmonitorAllIntersections=function(){var v=this._monitoringUnsubscribes.slice(0);this._monitoringDocuments.length=0,this._monitoringUnsubscribes.length=0;for(var B=0;B<v.length;B++)v[B]()},Q.prototype._checkForIntersections=function(){if(!this.root&&$&&!z)return;var v=this._rootIsInDom(),B=v?this._getRootRect():W();if(this._observationTargets.forEach(function(A){var V=A.element,y=H(V),k=this._rootContainsTarget(V),O=A.entry,I=v&&k&&this._computeTargetAndRootIntersection(V,y,B),m=null;if(!this._rootContainsTarget(V))m=W();else if(!$||this.root)m=B;var C=A.entry=new Z({time:J(),target:V,boundingClientRect:y,rootBounds:m,intersectionRect:I});if(!O)this._queuedEntries.push(C);else if(v&&k){if(this._hasCrossedThreshold(O,C))this._queuedEntries.push(C)}else if(O&&O.isIntersecting)this._queuedEntries.push(C)},this),this._queuedEntries.length)this._callback(this.takeRecords(),this)},Q.prototype._computeTargetAndRootIntersection=function(v,B,A){if(window.getComputedStyle(v).display=="none")return;var V=B,y=U(v),k=!1;while(!k&&y){var O=null,I=y.nodeType==1?window.getComputedStyle(y):{};if(I.display=="none")return null;if(y==this.root||y.nodeType==9)if(k=!0,y==this.root||y==x)if($&&!this.root)if(!z||z.width==0&&z.height==0)y=null,O=null,V=null;else O=z;else O=A;else{var m=U(y),C=m&&H(m),N=m&&this._computeTargetAndRootIntersection(m,C,A);if(C&&N)y=m,O=w(C,N);else y=null,V=null}else{var L=y.ownerDocument;if(y!=L.body&&y!=L.documentElement&&I.overflow!="visible")O=H(y)}if(O)V=Y(O,V);if(!V)break;y=y&&U(y)}return V},Q.prototype._getRootRect=function(){var v;if(this.root&&!b(this.root))v=H(this.root);else{var B=b(this.root)?this.root:x,A=B.documentElement,V=B.body;v={top:0,left:0,right:A.clientWidth||V.clientWidth,width:A.clientWidth||V.clientWidth,bottom:A.clientHeight||V.clientHeight,height:A.clientHeight||V.clientHeight}}return this._expandRectByRootMargin(v)},Q.prototype._expandRectByRootMargin=function(v){var B=this._rootMarginValues.map(function(V,y){return V.unit=="px"?V.value:V.value*(y%2?v.width:v.height)/100}),A={top:v.top-B[0],right:v.right+B[1],bottom:v.bottom+B[2],left:v.left-B[3]};return A.width=A.right-A.left,A.height=A.bottom-A.top,A},Q.prototype._hasCrossedThreshold=function(v,B){var A=v&&v.isIntersecting?v.intersectionRatio||0:-1,V=B.isIntersecting?B.intersectionRatio||0:-1;if(A===V)return;for(var y=0;y<this.thresholds.length;y++){var k=this.thresholds[y];if(k==A||k==V||k<A!==k<V)return!0}},Q.prototype._rootIsInDom=function(){return!this.root||q(x,this.root)},Q.prototype._rootContainsTarget=function(v){var B=this.root&&(this.root.ownerDocument||this.root)||x;return q(B,v)&&(!this.root||B==v.ownerDocument)},Q.prototype._registerInstance=function(){if(p.indexOf(this)<0)p.push(this)},Q.prototype._unregisterInstance=function(){var v=p.indexOf(this);if(v!=-1)p.splice(v,1)};function J(){return window.performance&&performance.now&&performance.now()}function X(v,B){var A=null;return function(){if(!A)A=setTimeout(function(){v(),A=null},B)}}function i(v,B,A,V){if(typeof v.addEventListener=="function")v.addEventListener(B,A,V||!1);else if(typeof v.attachEvent=="function")v.attachEvent("on"+B,A)}function G(v,B,A,V){if(typeof v.removeEventListener=="function")v.removeEventListener(B,A,V||!1);else if(typeof v.detachEvent=="function")v.detachEvent("on"+B,A)}function Y(v,B){var A=Math.max(v.top,B.top),V=Math.min(v.bottom,B.bottom),y=Math.max(v.left,B.left),k=Math.min(v.right,B.right),O=k-y,I=V-A;return O>=0&&I>=0&&{top:A,bottom:V,left:y,right:k,width:O,height:I}||null}function H(v){var B;try{B=v.getBoundingClientRect()}catch(A){}if(!B)return W();if(!(B.width&&B.height))B={top:B.top,right:B.right,bottom:B.bottom,left:B.left,width:B.right-B.left,height:B.bottom-B.top};return B}function W(){return{top:0,bottom:0,left:0,right:0,width:0,height:0}}function K(v){if(!v||"x"in v)return v;return{top:v.top,y:v.top,bottom:v.bottom,left:v.left,x:v.left,right:v.right,width:v.width,height:v.height}}function w(v,B){var A=B.top-v.top,V=B.left-v.left;return{top:A,left:V,height:B.height,width:B.width,bottom:A+B.height,right:V+B.width}}function q(v,B){var A=B;while(A){if(A==v)return!0;A=U(A)}return!1}function U(v){var B=v.parentNode;if(v.nodeType==9&&v!=x)return c(v);if(B&&B.assignedSlot)B=B.assignedSlot.parentNode;if(B&&B.nodeType==11&&B.host)return B.host;return B}function b(v){return v&&v.nodeType===9}window.IntersectionObserver=Q,window.IntersectionObserverEntry=Z})()});import*as Wp from"react";var nY=P((MY)=>{var yy=E();Object.defineProperty(MY,"__esModule",{value:!0});MY.default=void 0;var sx=l();PY();var yY=nc(),My=yy(X0());function fy(c,x){var p=x||{},$=p.callback,z=(0,sx.__rest)(p,["callback"]),Z=(0,sx.__read)(Wp.useState(),2),Q=Z[0],J=Z[1],X=(0,sx.__read)(Wp.useState(),2),i=X[0],G=X[1];return(0,My.default)(function(){var Y=Array.isArray(c)?c:[c],H=Y.map(function(K){return(0,yY.getTargetElement)(K)}).filter(Boolean);if(!H.length)return;var W=new IntersectionObserver(function(K){var w,q;try{for(var U=(0,sx.__values)(K),b=U.next();!b.done;b=U.next()){var v=b.value;G(v.intersectionRatio),J(v.isIntersecting),$===null||$===void 0||$(v)}}catch(B){w={error:B}}finally{try{if(b&&!b.done&&(q=U.return))q.call(U)}finally{if(w)throw w.error}}},(0,sx.__assign)((0,sx.__assign)({},z),{root:(0,yY.getTargetElement)(x===null||x===void 0?void 0:x.root)}));return H.forEach(function(K){return W.observe(K)}),function(){W.disconnect()}},[x===null||x===void 0?void 0:x.rootMargin,x===null||x===void 0?void 0:x.threshold,$],c),[Q,i]}var pl=MY.default=fy});import*as z4 from"react";var CY=P((kY)=>{var ny=E();Object.defineProperty(kY,"__esModule",{value:!0});kY.default=void 0;var ky=ny(mc()),Oy=ky.default?z4.useLayoutEffect:z4.useEffect,zl=kY.default=Oy});import*as Kp from"react";var wp=P((jY)=>{var Cy=E();Object.defineProperty(jY,"__esModule",{value:!0});jY.default=void 0;var jy=Cy(X0()),Sy=Jp(),Iy=function(x,p,$){var z=Kp.useRef(void 0),Z=Kp.useRef(0);if(!(0,Sy.depsEqual)(p,z.current))Z.current+=1;z.current=p,(0,jy.default)(x,[Z.current],$)},Ql=jY.default=Iy});var EY=P((IY)=>{Object.defineProperty(IY,"__esModule",{value:!0});IY.default=void 0;var Dy=/(mac|iphone|ipod|ipad)/i.test(typeof navigator<"u"?navigator===null||navigator===void 0?void 0:navigator.platform:""),Xl=IY.default=Dy});var _Y=P((hY)=>{var Up=E();Object.defineProperty(hY,"__esModule",{value:!0});hY.default=void 0;var vp=l(),TY=Up(Fc()),Z4=Gc(),Ey=nc(),Ty=Up(wp()),Ry=Up(EY()),mY={"0":48,"1":49,"2":50,"3":51,"4":52,"5":53,"6":54,"7":55,"8":56,"9":57,backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,pausebreak:19,capslock:20,esc:27,space:32,pageup:33,pagedown:34,end:35,home:36,leftarrow:37,uparrow:38,rightarrow:39,downarrow:40,insert:45,delete:46,a:65,b:66,c:67,d:68,e:69,f:70,g:71,h:72,i:73,j:74,k:75,l:76,m:77,n:78,o:79,p:80,q:81,r:82,s:83,t:84,u:85,v:86,w:87,x:88,y:89,z:90,leftwindowkey:91,rightwindowkey:92,meta:Ry.default?[91,93]:[91,92],selectkey:93,numpad0:96,numpad1:97,numpad2:98,numpad3:99,numpad4:100,numpad5:101,numpad6:102,numpad7:103,numpad8:104,numpad9:105,multiply:106,add:107,subtract:109,decimalpoint:110,divide:111,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123,numlock:144,scrolllock:145,semicolon:186,equalsign:187,comma:188,dash:189,period:190,forwardslash:191,graveaccent:192,openbracket:219,backslash:220,closebracket:221,singlequote:222},qp={ctrl:function(x){return x.ctrlKey},shift:function(x){return x.shiftKey},alt:function(x){return x.altKey},meta:function(x){if(x.type==="keyup")return mY.meta.includes(x.keyCode);return x.metaKey}};function dY(c){return(0,Z4.isString)(c)||(0,Z4.isNumber)(c)}function my(c){var x=Object.keys(qp).reduce(function(p,$){if(qp[$](c))return p+1;return p},0);return[16,17,18,91,92].includes(c.keyCode)?x:x+1}function RY(c,x,p){var $,z;if(!c.key)return!1;if((0,Z4.isNumber)(x))return c.keyCode===x?x:!1;var Z=x.split("."),Q=0;try{for(var J=(0,vp.__values)(Z),X=J.next();!X.done;X=J.next()){var i=X.value,G=qp[i],Y=mY[i.toLowerCase()];if(G&&G(c)||Y&&Y===c.keyCode)Q++}}catch(H){$={error:H}}finally{try{if(X&&!X.done&&(z=J.return))z.call(J)}finally{if($)throw $.error}}if(p)return Q===Z.length&&my(c)===Z.length?x:!1;return Q===Z.length?x:!1}function dy(c,x){if((0,Z4.isFunction)(c))return c;if(dY(c))return function(p){return RY(p,c,x)};if(Array.isArray(c))return function(p){return c.find(function($){return RY(p,$,x)})};return function(){return Boolean(c)}}var hy=["keydown"];function ay(c,x,p){var $=p||{},z=$.events,Z=z===void 0?hy:z,Q=$.target,J=$.exactMatch,X=J===void 0?!1:J,i=$.useCapture,G=i===void 0?!1:i,Y=(0,TY.default)(x),H=(0,TY.default)(c);(0,Ty.default)(function(){var W,K,w,q=(0,Ey.getTargetElement)(Q,window);if(!q)return;var U=function(V){var y,k=dy(H.current,X),O=k(V),I=dY(O)?O:V.key;if(O)return(y=Y.current)===null||y===void 0?void 0:y.call(Y,V,I)};try{for(var b=(0,vp.__values)(Z),v=b.next();!v.done;v=b.next()){var B=v.value;(w=q===null||q===void 0?void 0:q.addEventListener)===null||w===void 0||w.call(q,B,U,G)}}catch(A){W={error:A}}finally{try{if(v&&!v.done&&(K=b.return))K.call(b)}finally{if(W)throw W.error}}return function(){var A,V,y;try{for(var k=(0,vp.__values)(Z),O=k.next();!O.done;O=k.next()){var I=O.value;(y=q===null||q===void 0?void 0:q.removeEventListener)===null||y===void 0||y.call(q,I,U,G)}}catch(m){A={error:m}}finally{try{if(O&&!O.done&&(V=k.return))V.call(k)}finally{if(A)throw A.error}}}},[Z],Q)}var Gl=hY.default=ay});import*as oY from"react";var Fp=P((sY)=>{var Vp=E();Object.defineProperty(sY,"__esModule",{value:!0});sY.SYNC_STORAGE_EVENT_NAME=void 0;sY.createUseStorageState=oy;var _y=l(),gY=Vp(y0()),gy=Vp(Vc()),ly=Vp(K0()),Bp=Gc(),lY=sY.SYNC_STORAGE_EVENT_NAME="AHOOKS_SYNC_STORAGE_EVENT_NAME";function oy(c){function x(p,$){if($===void 0)$={};var z,Z=$.listenStorageChange,Q=Z===void 0?!1:Z,J=$.onError,X=J===void 0?function(b){console.error(b)}:J;try{z=c()}catch(b){X(b)}var i=function(v){if($.serializer)return $.serializer(v);return JSON.stringify(v)},G=function(v){if($.deserializer)return $.deserializer(v);return JSON.parse(v)};function Y(){try{var b=z===null||z===void 0?void 0:z.getItem(p);if(b)return G(b)}catch(v){X(v)}if((0,Bp.isFunction)($.defaultValue))return $.defaultValue();return $.defaultValue}var H=(0,_y.__read)(oY.useState(Y),2),W=H[0],K=H[1];(0,ly.default)(function(){K(Y())},[p]);var w=function(v){var B=(0,Bp.isFunction)(v)?v(W):v;if(!Q)K(B);try{var A=void 0,V=z===null||z===void 0?void 0:z.getItem(p);if((0,Bp.isUndef)(B))A=null,z===null||z===void 0||z.removeItem(p);else A=i(B),z===null||z===void 0||z.setItem(p,A);dispatchEvent(new CustomEvent(lY,{detail:{key:p,newValue:A,oldValue:V,storageArea:z}}))}catch(y){X(y)}},q=function(v){if(v.key!==p||v.storageArea!==z)return;K(Y())},U=function(v){q(v.detail)};return(0,gY.default)("storage",q,{enable:Q}),(0,gY.default)(lY,U,{enable:Q}),[W,(0,gy.default)(w)]}return x}});var cH=P((tY)=>{var ry=E();Object.defineProperty(tY,"__esModule",{value:!0});tY.default=void 0;var ty=Fp(),ey=ry(mc()),cM=(0,ty.createUseStorageState)(function(){return ey.default?localStorage:void 0}),Wl=tY.default=cM});import*as J4 from"react";var $H=P((xH)=>{Object.defineProperty(xH,"__esModule",{value:!0});xH.default=void 0;var Q4=l();function xM(c){var x=this,p=J4.useRef(!1);return J4.useCallback(function(){var $=[];for(var z=0;z<arguments.length;z++)$[z]=arguments[z];return(0,Q4.__awaiter)(x,void 0,void 0,function(){var Z,Q;return(0,Q4.__generator)(this,function(J){switch(J.label){case 0:if(p.current)return[2];p.current=!0,J.label=1;case 1:return J.trys.push([1,3,4,5]),[4,c.apply(void 0,(0,Q4.__spreadArray)([],(0,Q4.__read)($),!1))];case 2:return Z=J.sent(),[2,Z];case 3:throw Q=J.sent(),Q;case 4:return p.current=!1,[7];case 5:return[2]}})})},[c])}var wl=xH.default=xM});import*as rx from"react";var JH=P((ZH)=>{var zH=E();Object.defineProperty(ZH,"__esModule",{value:!0});ZH.default=void 0;var bp=zH(Fc()),pM=nc(),$M=zH(X0());function zM(c,x,p){var $=p===void 0?{}:p,z=$.delay,Z=z===void 0?300:z,Q=$.moveThreshold,J=$.onClick,X=$.onLongPressEnd,i=(0,bp.default)(c),G=(0,bp.default)(J),Y=(0,bp.default)(X),H=rx.useRef(void 0),W=rx.useRef(!1),K=rx.useRef({x:0,y:0}),w=rx.useRef(!1),q=rx.useRef(!1),U=!!((Q===null||Q===void 0?void 0:Q.x)&&Q.x>0||(Q===null||Q===void 0?void 0:Q.y)&&Q.y>0);(0,$M.default)(function(){var b=(0,pM.getTargetElement)(x);if(!(b===null||b===void 0?void 0:b.addEventListener))return;var v=function(N){var L=B(N),n=L.clientX,F=L.clientY,u=Math.abs(n-K.current.x),f=Math.abs(F-K.current.y);return!!((Q===null||Q===void 0?void 0:Q.x)&&u>Q.x||(Q===null||Q===void 0?void 0:Q.y)&&f>Q.y)};function B(C){if("TouchEvent"in window&&C instanceof TouchEvent)return{clientX:C.touches[0].clientX,clientY:C.touches[0].clientY};if(C instanceof MouseEvent)return{clientX:C.clientX,clientY:C.clientY};return{clientX:0,clientY:0}}var A=function(N){H.current=setTimeout(function(){i.current(N),W.current=!0},Z)},V=function(N){if(q.current)return;if(q.current=!0,U){var L=B(N),n=L.clientX,F=L.clientY;K.current.x=n,K.current.y=F}A(N)},y=function(N){var L;if((L=N===null||N===void 0?void 0:N.sourceCapabilities)===null||L===void 0?void 0:L.firesTouchEvents)return;if(w.current=!0,U)K.current.x=N.clientX,K.current.y=N.clientY;A(N)},k=function(N){if(H.current&&v(N))clearTimeout(H.current),H.current=void 0},O=function(N){var L;if(!q.current)return;if(q.current=!1,H.current)clearTimeout(H.current),H.current=void 0;if(W.current)(L=Y.current)===null||L===void 0||L.call(Y,N);else if(G.current)G.current(N);W.current=!1},I=function(N){var L,n;if((L=N===null||N===void 0?void 0:N.sourceCapabilities)===null||L===void 0?void 0:L.firesTouchEvents)return;if(!w.current)return;if(w.current=!1,H.current)clearTimeout(H.current),H.current=void 0;if(W.current)(n=Y.current)===null||n===void 0||n.call(Y,N);else if(G.current)G.current(N);W.current=!1},m=function(N){var L;if(!w.current)return;if(w.current=!1,H.current)clearTimeout(H.current),H.current=void 0;if(W.current)(L=Y.current)===null||L===void 0||L.call(Y,N),W.current=!1};if(b.addEventListener("mousedown",y),b.addEventListener("mouseup",I),b.addEventListener("mouseleave",m),b.addEventListener("touchstart",V),b.addEventListener("touchend",O),U)b.addEventListener("mousemove",k),b.addEventListener("touchmove",k);return function(){if(H.current)clearTimeout(H.current),W.current=!1;if(b.removeEventListener("mousedown",y),b.removeEventListener("mouseup",I),b.removeEventListener("mouseleave",m),b.removeEventListener("touchstart",V),b.removeEventListener("touchend",O),U)b.removeEventListener("mousemove",k),b.removeEventListener("touchmove",k)}},[],x)}var ql=ZH.default=zM});import*as XH from"react";var YH=P((iH)=>{var ZM=E();Object.defineProperty(iH,"__esModule",{value:!0});iH.default=void 0;var QM=l(),c2=ZM(Vc());function JM(c){var x=function(){return new Map(c)},p=(0,QM.__read)(XH.useState(x),2),$=p[0],z=p[1],Z=function(Y,H){z(function(W){var K=new Map(W);return K.set(Y,H),K})},Q=function(Y){z(new Map(Y))},J=function(Y){z(function(H){var W=new Map(H);return W.delete(Y),W})},X=function(){return z(x())},i=function(Y){return $.get(Y)};return[$,{set:(0,c2.default)(Z),setAll:(0,c2.default)(Q),remove:(0,c2.default)(J),reset:(0,c2.default)(X),get:(0,c2.default)(i)}]}var Bl=iH.default=JM});import*as tx from"react";var x2=P((HH)=>{var XM=E();Object.defineProperty(HH,"__esModule",{value:!0});HH.default=void 0;var iM=l(),GM=XM(J0());function YM(c){var x=tx.useRef(0),p=(0,iM.__read)(tx.useState(c),2),$=p[0],z=p[1],Z=tx.useCallback(function(Q){cancelAnimationFrame(x.current),x.current=requestAnimationFrame(function(){z(Q)})},[]);return(0,GM.default)(function(){cancelAnimationFrame(x.current)}),[$,Z]}var Fl=HH.default=YM});var qH=P((wH)=>{var KH=E();Object.defineProperty(wH,"__esModule",{value:!0});wH.default=void 0;var HM=l(),WM=KH(x2()),KM=KH(y0()),wM=nc(),vM={screenX:NaN,screenY:NaN,clientX:NaN,clientY:NaN,pageX:NaN,pageY:NaN,elementX:NaN,elementY:NaN,elementH:NaN,elementW:NaN,elementPosX:NaN,elementPosY:NaN},Ll=wH.default=function(x){var p=(0,HM.__read)((0,WM.default)(vM),2),$=p[0],z=p[1];return(0,KM.default)("mousemove",function(Z){var{screenX:Q,screenY:J,clientX:X,clientY:i,pageX:G,pageY:Y}=Z,H={screenX:Q,screenY:J,clientX:X,clientY:i,pageX:G,pageY:Y,elementX:NaN,elementY:NaN,elementH:NaN,elementW:NaN,elementPosX:NaN,elementPosY:NaN},W=(0,wM.getTargetElement)(x);if(W){var K=W.getBoundingClientRect(),w=K.left,q=K.top,U=K.width,b=K.height;H.elementPosX=w+window.pageXOffset,H.elementPosY=q+window.pageYOffset,H.elementX=G-H.elementPosX,H.elementY=Y-H.elementPosY,H.elementW=U,H.elementH=b}z(H)},{target:function(){return document}}),$}});import*as X4 from"react";var bH=P((VH)=>{Object.defineProperty(VH,"__esModule",{value:!0});VH.default=void 0;var a0=l(),qM=Gc(),_0;(function(c){c.ONLINE="online",c.OFFLINE="offline",c.CHANGE="change"})(_0||(_0={}));function BH(){var c=navigator;if(!(0,qM.isObject)(c))return null;return c.connection||c.mozConnection||c.webkitConnection}function UH(){var c=BH();if(!c)return{};return{rtt:c.rtt,type:c.type,saveData:c.saveData,downlink:c.downlink,downlinkMax:c.downlinkMax,effectiveType:c.effectiveType}}function UM(){var c=(0,a0.__read)(X4.useState(function(){return(0,a0.__assign)({since:void 0,online:navigator===null||navigator===void 0?void 0:navigator.onLine},UH())}),2),x=c[0],p=c[1];return X4.useEffect(function(){var $=function(){p(function(X){return(0,a0.__assign)((0,a0.__assign)({},X),{online:!0,since:new Date})})},z=function(){p(function(X){return(0,a0.__assign)((0,a0.__assign)({},X),{online:!1,since:new Date})})},Z=function(){p(function(X){return(0,a0.__assign)((0,a0.__assign)({},X),UH())})};window.addEventListener(_0.ONLINE,$),window.addEventListener(_0.OFFLINE,z);var Q=BH();return Q===null||Q===void 0||Q.addEventListener(_0.CHANGE,Z),function(){window.removeEventListener(_0.ONLINE,$),window.removeEventListener(_0.OFFLINE,z),Q===null||Q===void 0||Q.removeEventListener(_0.CHANGE,Z)}},[]),x}var Al=VH.default=UM});import*as Lp from"react";var AH=P((LH)=>{Object.defineProperty(LH,"__esModule",{value:!0});LH.default=void 0;var BM=function(x,p){return!Object.is(x,p)};function VM(c,x){if(x===void 0)x=BM;var p=Lp.useRef(void 0),$=Lp.useRef(void 0);if(x($.current,c))p.current=$.current,$.current=c;return p.current}var Pl=LH.default=VM});import*as ex from"react";var yH=P((uH)=>{var FM=E();Object.defineProperty(uH,"__esModule",{value:!0});uH.default=void 0;var bM=FM(Fc()),LM=Gc(),NM=function(x,p){if(p===void 0)p=0;if(typeof requestAnimationFrame>"u")return{id:setInterval(x,p)};var $=Date.now(),z={id:0},Z=function(){var J=Date.now();if(J-$>=p)x(),$=Date.now();z.id=requestAnimationFrame(Z)};return z.id=requestAnimationFrame(Z),z},AM=function(x){return typeof cancelAnimationFrame>"u"},uM=function(x){if(AM(x.id))return clearInterval(x.id);cancelAnimationFrame(x.id)};function PM(c,x,p){var $=p===null||p===void 0?void 0:p.immediate,z=(0,bM.default)(c),Z=ex.useRef(void 0),Q=ex.useCallback(function(){if(Z.current)uM(Z.current)},[]);return ex.useEffect(function(){if(!(0,LM.isNumber)(x)||x<0)return;if($)z.current();return Z.current=NM(function(){z.current()},x),Q},[x]),Q}var Ml=uH.default=PM});import*as c1 from"react";var nH=P((MH)=>{var yM=E();Object.defineProperty(MH,"__esModule",{value:!0});MH.default=void 0;var MM=yM(Fc()),fM=Gc(),nM=function(x,p){if(p===void 0)p=0;if(typeof requestAnimationFrame>"u")return{id:setTimeout(x,p)};var $={id:0},z=Date.now(),Z=function(){var J=Date.now();if(J-z>=p)x();else $.id=requestAnimationFrame(Z)};return $.id=requestAnimationFrame(Z),$},kM=function(x){return typeof cancelAnimationFrame>"u"},OM=function(x){if(kM(x.id))return clearTimeout(x.id);cancelAnimationFrame(x.id)};function CM(c,x){var p=(0,MM.default)(c),$=c1.useRef(void 0),z=c1.useCallback(function(){if($.current)OM($.current)},[]);return c1.useEffect(function(){if(!(0,fM.isNumber)(x)||x<0)return;return $.current=nM(function(){p.current()},x),z},[x]),z}var nl=MH.default=CM});var OH=P((Ol,kH)=>{function jM(c,x){return function(p){return c(x(p))}}kH.exports=jM});var jH=P((Cl,CH)=>{var SM=OH(),IM=SM(Object.getPrototypeOf,Object);CH.exports=IM});var Np=P((jl,IH)=>{var DM=O6(),EM=jH(),TM=C6(),RM="[object Object]",mM=Function.prototype,dM=Object.prototype,SH=mM.toString,hM=dM.hasOwnProperty,aM=SH.call(Object);function _M(c){if(!TM(c)||DM(c)!=RM)return!1;var x=EM(c);if(x===null)return!0;var p=hM.call(x,"constructor")&&x.constructor;return typeof p=="function"&&p instanceof p&&SH.call(p)==aM}IH.exports=_M});import*as TH from"react";var hH=P((mH)=>{var Ap=E();Object.defineProperty(mH,"__esModule",{value:!0});mH.default=void 0;var gM=Ap(Np()),lM=Ap(mx()),oM=Ap(g1()),DH=new WeakMap,EH=new WeakMap;function RH(c,x){var p=DH.get(c);if(p)return p;if(EH.has(c))return c;var $=new Proxy(c,{get:function(Z,Q,J){var X=Reflect.get(Z,Q,J),i=Reflect.getOwnPropertyDescriptor(Z,Q);if(!(i===null||i===void 0?void 0:i.configurable)&&!(i===null||i===void 0?void 0:i.writable))return X;return(0,gM.default)(X)||Array.isArray(X)?RH(X,x):X},set:function(Z,Q,J){var X=Reflect.set(Z,Q,J);return x(),X},deleteProperty:function(Z,Q){var J=Reflect.deleteProperty(Z,Q);return x(),J}});return DH.set(c,$),EH.set($,c),$}function sM(c){var x=(0,oM.default)(),p=TH.useRef(c),$=(0,lM.default)(function(){return RH(p.current,function(){x()})},[]);return $}var Sl=mH.default=sM});import*as i4 from"react";var lH=P((_H)=>{var aH=E();Object.defineProperty(_H,"__esModule",{value:!0});_H.default=void 0;var rM=l(),tM=Gc(),eM=aH(Vc()),cf=aH(mx()),xf=function(x){var p=i4.useRef(x),$=(0,cf.default)(function(){return(0,tM.isFunction)(p.current)?p.current():p.current},[]),z=(0,rM.__read)(i4.useState($),2),Z=z[0],Q=z[1],J=(0,eM.default)(function(){Q($)});return[Z,Q,J]},Dl=_H.default=xf});import*as H4 from"react";var tH=P((sH)=>{var pf=E();Object.defineProperty(sH,"__esModule",{value:!0});sH.configResponsive=$f;sH.default=void 0;var yp=l(),oH=pf(mc()),Y4=new Set,g0,Pp={xs:0,sm:576,md:768,lg:992,xl:1200};function up(){var c,x,p=g0;if(Mp(),p===g0)return;try{for(var $=(0,yp.__values)(Y4),z=$.next();!z.done;z=$.next()){var Z=z.value;Z()}}catch(Q){c={error:Q}}finally{try{if(z&&!z.done&&(x=$.return))x.call($)}finally{if(c)throw c.error}}}var G4=!1;function Mp(){var c,x,p=window.innerWidth,$={},z=!1;try{for(var Z=(0,yp.__values)(Object.keys(Pp)),Q=Z.next();!Q.done;Q=Z.next()){var J=Q.value;if($[J]=p>=Pp[J],$[J]!==g0[J])z=!0}}catch(X){c={error:X}}finally{try{if(Q&&!Q.done&&(x=Z.return))x.call(Z)}finally{if(c)throw c.error}}if(z)g0=$}function $f(c){if(Pp=c,g0)Mp()}function zf(){if(oH.default&&!G4)g0={},Mp(),window.addEventListener("resize",up),G4=!0;var c=(0,yp.__read)(H4.useState(g0),2),x=c[0],p=c[1];return H4.useEffect(function(){if(!oH.default)return;if(!G4)window.addEventListener("resize",up);var $=function(){p(g0)};return Y4.add($),function(){if(Y4.delete($),Y4.size===0)window.removeEventListener("resize",up),G4=!1}},[]),x}var Tl=sH.default=zf});import*as W4 from"react";var fp=P((eH)=>{Object.defineProperty(eH,"__esModule",{value:!0});eH.default=void 0;var Qf=function(){var x=W4.useRef(!1);return W4.useEffect(function(){return x.current=!1,function(){x.current=!0}},[]),x},ml=eH.default=Qf});import*as K4 from"react";var $W=P((xW)=>{var Jf=E();Object.defineProperty(xW,"__esModule",{value:!0});xW.default=void 0;var Xf=l(),Gf=Jf(fp());function Yf(c){var x=(0,Gf.default)(),p=(0,Xf.__read)(K4.useState(c),2),$=p[0],z=p[1],Z=K4.useCallback(function(Q){if(x.current)return;z(Q)},[]);return[$,Z]}var hl=xW.default=Yf});var QW=P((zW)=>{var np=E();Object.defineProperty(zW,"__esModule",{value:!0});zW.default=void 0;var Hf=l(),Wf=np(x2()),Kf=np(Fc()),wf=nc(),vf=np(X0());function qf(c,x){if(x===void 0)x=function(){return!0};var p=(0,Hf.__read)((0,Wf.default)(),2),$=p[0],z=p[1],Z=(0,Kf.default)(x);return(0,vf.default)(function(){var Q=(0,wf.getTargetElement)(c,document);if(!Q)return;var J=function(){var i;if(Q===document)if(document.scrollingElement)i={left:document.scrollingElement.scrollLeft,top:document.scrollingElement.scrollTop};else i={left:Math.max(window.pageXOffset,document.documentElement.scrollLeft,document.body.scrollLeft),top:Math.max(window.pageYOffset,document.documentElement.scrollTop,document.body.scrollTop)};else i={left:Q.scrollLeft,top:Q.scrollTop};if(Z.current(i))z(i)};return J(),Q.addEventListener("scroll",J),function(){Q.removeEventListener("scroll",J)}},[],c),$}var _l=zW.default=qf});import*as vx from"react";var HW=P((GW)=>{var iW=E();Object.defineProperty(GW,"__esModule",{value:!0});GW.default=void 0;var Uf=l(),JW=iW(Np()),wx=iW(Vc()),XW=Gc();function Bf(c,x){var p,$,z=[],Z;if(Array.isArray(x))z=x;else if((0,JW.default)(x))z=(p=x===null||x===void 0?void 0:x.defaultSelected)!==null&&p!==void 0?p:z,Z=($=x===null||x===void 0?void 0:x.itemKey)!==null&&$!==void 0?$:Z;var Q=function(y){if((0,XW.isFunction)(Z))return Z(y);if((0,XW.isString)(Z)&&(0,JW.default)(y))return y[Z];return y},J=(0,Uf.__read)(vx.useState(z),2),X=J[0],i=J[1],G=vx.useMemo(function(){var V=new Map;if(!Array.isArray(X))return V;return X.forEach(function(y){V.set(Q(y),y)}),V},[X]),Y=function(y){return G.has(Q(y))},H=function(y){G.set(Q(y),y),i(Array.from(G.values()))},W=function(y){G.delete(Q(y)),i(Array.from(G.values()))},K=function(y){if(Y(y))W(y);else H(y)},w=function(){c.forEach(function(y){G.set(Q(y),y)}),i(Array.from(G.values()))},q=function(){c.forEach(function(y){G.delete(Q(y))}),i(Array.from(G.values()))},U=vx.useMemo(function(){return c.every(function(V){return!G.has(Q(V))})},[c,G]),b=vx.useMemo(function(){return c.every(function(V){return G.has(Q(V))})&&!U},[c,G,U]),v=vx.useMemo(function(){return!U&&!b},[U,b]),B=function(){return b?q():w()},A=function(){G.clear(),i([])};return{selected:X,noneSelected:U,allSelected:b,partiallySelected:v,setSelected:i,isSelected:Y,select:(0,wx.default)(H),unSelect:(0,wx.default)(W),toggle:(0,wx.default)(K),selectAll:(0,wx.default)(w),unSelectAll:(0,wx.default)(q),clearAll:(0,wx.default)(A),toggleAll:(0,wx.default)(B)}}var ll=GW.default=Bf});var wW=P((WW)=>{var Vf=E();Object.defineProperty(WW,"__esModule",{value:!0});WW.default=void 0;var Ff=Fp(),bf=Vf(mc()),Lf=(0,Ff.createUseStorageState)(function(){return bf.default?sessionStorage:void 0}),sl=WW.default=Lf});import*as vW from"react";var BW=P((qW)=>{var Nf=E();Object.defineProperty(qW,"__esModule",{value:!0});qW.default=void 0;var Af=l(),kp=Nf(Vc());function uf(c){var x=function(){return new Set(c)},p=(0,Af.__read)(vW.useState(x),2),$=p[0],z=p[1],Z=function(G){z(function(Y){return G(new Set(Y))})},Q=function(G){if($.has(G))return;Z(function(Y){return Y.add(G),Y})},J=function(G){if(!$.has(G))return;Z(function(Y){return Y.delete(G),Y})},X=function(){return z(x())};return[$,{add:(0,kp.default)(Q),remove:(0,kp.default)(J),reset:(0,kp.default)(X)}]}var tl=qW.default=uf});import*as VW from"react";var LW=P((FW)=>{var Pf=E();Object.defineProperty(FW,"__esModule",{value:!0});FW.default=void 0;var Op=l(),yf=Pf(Vc()),Mf=Gc(),ff=function(x){var p=(0,Op.__read)(VW.useState(x),2),$=p[0],z=p[1],Z=(0,yf.default)(function(Q){z(function(J){var X=(0,Mf.isFunction)(Q)?Q(J):Q;return X?(0,Op.__assign)((0,Op.__assign)({},J),X):J})});return[$,Z]},co=FW.default=ff});var NW=P((Cp,jp)=>{(function(c,x){typeof Cp==="object"&&typeof jp<"u"?jp.exports=x():typeof define==="function"&&define.amd?define(x):c.ResizeObserver=x()})(Cp,function(){var c=function(){if(typeof Map<"u")return Map;function N(L,n){var F=-1;return L.some(function(u,f){if(u[0]===n)return F=f,!0;return!1}),F}return function(){function L(){this.__entries__=[]}return Object.defineProperty(L.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),L.prototype.get=function(n){var F=N(this.__entries__,n),u=this.__entries__[F];return u&&u[1]},L.prototype.set=function(n,F){var u=N(this.__entries__,n);if(~u)this.__entries__[u][1]=F;else this.__entries__.push([n,F])},L.prototype.delete=function(n){var F=this.__entries__,u=N(F,n);if(~u)F.splice(u,1)},L.prototype.has=function(n){return!!~N(this.__entries__,n)},L.prototype.clear=function(){this.__entries__.splice(0)},L.prototype.forEach=function(n,F){if(F===void 0)F=null;for(var u=0,f=this.__entries__;u<f.length;u++){var j=f[u];n.call(F,j[1],j[0])}},L}()}(),x=typeof window<"u"&&typeof document<"u"&&window.document===document,p=function(){if(typeof global<"u"&&global.Math===Math)return global;if(typeof self<"u"&&self.Math===Math)return self;if(typeof window<"u"&&window.Math===Math)return window;return Function("return this")()}(),$=function(){if(typeof requestAnimationFrame==="function")return requestAnimationFrame.bind(p);return function(N){return setTimeout(function(){return N(Date.now())},16.666666666666668)}}(),z=2;function Z(N,L){var n=!1,F=!1,u=0;function f(){if(n)n=!1,N();if(F)T()}function j(){$(f)}function T(){var S=Date.now();if(n){if(S-u<z)return;F=!0}else n=!0,F=!1,setTimeout(j,L);u=S}return T}var Q=20,J=["top","right","bottom","left","width","height","size","weight"],X=typeof MutationObserver<"u",i=function(){function N(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=Z(this.refresh.bind(this),Q)}return N.prototype.addObserver=function(L){if(!~this.observers_.indexOf(L))this.observers_.push(L);if(!this.connected_)this.connect_()},N.prototype.removeObserver=function(L){var n=this.observers_,F=n.indexOf(L);if(~F)n.splice(F,1);if(!n.length&&this.connected_)this.disconnect_()},N.prototype.refresh=function(){var L=this.updateObservers_();if(L)this.refresh()},N.prototype.updateObservers_=function(){var L=this.observers_.filter(function(n){return n.gatherActive(),n.hasActive()});return L.forEach(function(n){return n.broadcastActive()}),L.length>0},N.prototype.connect_=function(){if(!x||this.connected_)return;if(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),X)this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0});else document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0;this.connected_=!0},N.prototype.disconnect_=function(){if(!x||!this.connected_)return;if(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_)this.mutationsObserver_.disconnect();if(this.mutationEventsAdded_)document.removeEventListener("DOMSubtreeModified",this.refresh);this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1},N.prototype.onTransitionEnd_=function(L){var n=L.propertyName,F=n===void 0?"":n,u=J.some(function(f){return!!~F.indexOf(f)});if(u)this.refresh()},N.getInstance=function(){if(!this.instance_)this.instance_=new N;return this.instance_},N.instance_=null,N}(),G=function(N,L){for(var n=0,F=Object.keys(L);n<F.length;n++){var u=F[n];Object.defineProperty(N,u,{value:L[u],enumerable:!1,writable:!1,configurable:!0})}return N},Y=function(N){var L=N&&N.ownerDocument&&N.ownerDocument.defaultView;return L||p},H=V(0,0,0,0);function W(N){return parseFloat(N)||0}function K(N){var L=[];for(var n=1;n<arguments.length;n++)L[n-1]=arguments[n];return L.reduce(function(F,u){var f=N["border-"+u+"-width"];return F+W(f)},0)}function w(N){var L=["top","right","bottom","left"],n={};for(var F=0,u=L;F<u.length;F++){var f=u[F],j=N["padding-"+f];n[f]=W(j)}return n}function q(N){var L=N.getBBox();return V(0,0,L.width,L.height)}function U(N){var{clientWidth:L,clientHeight:n}=N;if(!L&&!n)return H;var F=Y(N).getComputedStyle(N),u=w(F),f=u.left+u.right,j=u.top+u.bottom,T=W(F.width),S=W(F.height);if(F.boxSizing==="border-box"){if(Math.round(T+f)!==L)T-=K(F,"left","right")+f;if(Math.round(S+j)!==n)S-=K(F,"top","bottom")+j}if(!v(N)){var D=Math.round(T+f)-L,a=Math.round(S+j)-n;if(Math.abs(D)!==1)T-=D;if(Math.abs(a)!==1)S-=a}return V(u.left,u.top,T,S)}var b=function(){if(typeof SVGGraphicsElement<"u")return function(N){return N instanceof Y(N).SVGGraphicsElement};return function(N){return N instanceof Y(N).SVGElement&&typeof N.getBBox==="function"}}();function v(N){return N===Y(N).document.documentElement}function B(N){if(!x)return H;if(b(N))return q(N);return U(N)}function A(N){var{x:L,y:n,width:F,height:u}=N,f=typeof DOMRectReadOnly<"u"?DOMRectReadOnly:Object,j=Object.create(f.prototype);return G(j,{x:L,y:n,width:F,height:u,top:n,right:L+F,bottom:u+n,left:L}),j}function V(N,L,n,F){return{x:N,y:L,width:n,height:F}}var y=function(){function N(L){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=V(0,0,0,0),this.target=L}return N.prototype.isActive=function(){var L=B(this.target);return this.contentRect_=L,L.width!==this.broadcastWidth||L.height!==this.broadcastHeight},N.prototype.broadcastRect=function(){var L=this.contentRect_;return this.broadcastWidth=L.width,this.broadcastHeight=L.height,L},N}(),k=function(){function N(L,n){var F=A(n);G(this,{target:L,contentRect:F})}return N}(),O=function(){function N(L,n,F){if(this.activeObservations_=[],this.observations_=new c,typeof L!=="function")throw TypeError("The callback provided as parameter 1 is not a function.");this.callback_=L,this.controller_=n,this.callbackCtx_=F}return N.prototype.observe=function(L){if(!arguments.length)throw TypeError("1 argument required, but only 0 present.");if(typeof Element>"u"||!(Element instanceof Object))return;if(!(L instanceof Y(L).Element))throw TypeError('parameter 1 is not of type "Element".');var n=this.observations_;if(n.has(L))return;n.set(L,new y(L)),this.controller_.addObserver(this),this.controller_.refresh()},N.prototype.unobserve=function(L){if(!arguments.length)throw TypeError("1 argument required, but only 0 present.");if(typeof Element>"u"||!(Element instanceof Object))return;if(!(L instanceof Y(L).Element))throw TypeError('parameter 1 is not of type "Element".');var n=this.observations_;if(!n.has(L))return;if(n.delete(L),!n.size)this.controller_.removeObserver(this)},N.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},N.prototype.gatherActive=function(){var L=this;this.clearActive(),this.observations_.forEach(function(n){if(n.isActive())L.activeObservations_.push(n)})},N.prototype.broadcastActive=function(){if(!this.hasActive())return;var L=this.callbackCtx_,n=this.activeObservations_.map(function(F){return new k(F.target,F.broadcastRect())});this.callback_.call(L,n,L),this.clearActive()},N.prototype.clearActive=function(){this.activeObservations_.splice(0)},N.prototype.hasActive=function(){return this.activeObservations_.length>0},N}(),I=typeof WeakMap<"u"?new WeakMap:new c,m=function(){function N(L){if(!(this instanceof N))throw TypeError("Cannot call a class as a function.");if(!arguments.length)throw TypeError("1 argument required, but only 0 present.");var n=i.getInstance(),F=new O(L,n,this);I.set(this,F)}return N}();["observe","unobserve","disconnect"].forEach(function(N){m.prototype[N]=function(){var L;return(L=I.get(this))[N].apply(L,arguments)}});var C=function(){if(typeof p.ResizeObserver<"u")return p.ResizeObserver;return m}();return C})});import*as AW from"react";var yW=P((uW)=>{var nf=E();Object.defineProperty(uW,"__esModule",{value:!0});uW.default=void 0;var kf=nf(s6()),Of=(0,kf.default)(AW.useLayoutEffect),po=uW.default=Of});var nW=P((MW)=>{var Sp=E();Object.defineProperty(MW,"__esModule",{value:!0});MW.default=void 0;var Cf=Sp(mc()),jf=Sp(X0()),Sf=Sp(yW()),If=Cf.default?Sf.default:jf.default,zo=MW.default=If});var Dp=P((OW)=>{var Ip=E();Object.defineProperty(OW,"__esModule",{value:!0});OW.default=void 0;var Df=l(),Ef=Ip(NW()),Tf=Ip(x2()),kW=nc(),Rf=Ip(nW());function mf(c){var x=(0,Df.__read)((0,Tf.default)(function(){var z=(0,kW.getTargetElement)(c);return z?{width:z.clientWidth,height:z.clientHeight}:void 0}),2),p=x[0],$=x[1];return(0,Rf.default)(function(){var z=(0,kW.getTargetElement)(c);if(!z)return;var Z=new Ef.default(function(Q){Q.forEach(function(J){var X=J.target,i=X.clientWidth,G=X.clientHeight;$({width:i,height:G})})});return Z.observe(z),function(){Z.disconnect()}},[],c),p}var Qo=OW.default=mf});import*as p2 from"react";var DW=P((SW)=>{var df=E();Object.defineProperty(SW,"__esModule",{value:!0});SW.default=void 0;var x1=l(),hf=nc(),af=df(X0()),w4={top:NaN,left:NaN,bottom:NaN,right:NaN,height:NaN,width:NaN},jW=(0,x1.__assign)({text:""},w4);function _f(c){if(!c)return w4;if(c.rangeCount<1)return w4;var x=c.getRangeAt(0),p=x.getBoundingClientRect(),$=p.height,z=p.width,Z=p.top,Q=p.left,J=p.right,X=p.bottom;return{height:$,width:z,top:Z,left:Q,right:J,bottom:X}}function gf(c){var x=(0,x1.__read)(p2.useState(jW),2),p=x[0],$=x[1],z=p2.useRef(p),Z=p2.useRef(!1);return z.current=p,(0,af.default)(function(){var Q=(0,hf.getTargetElement)(c,document);if(!Q)return;var J=function(){var G=null,Y="",H=w4;if(!window.getSelection)return;if(G=window.getSelection(),Y=G?G.toString():"",Y&&Z.current)H=_f(G),$((0,x1.__assign)((0,x1.__assign)((0,x1.__assign)({},p),{text:Y}),H))},X=function(G){if(G.button===2)return;if(!window.getSelection)return;if(z.current.text)$((0,x1.__assign)({},jW));Z.current=!1;var Y=window.getSelection();if(!Y)return;Y.removeAllRanges(),Z.current=Q.contains(G.target)};return Q.addEventListener("mouseup",J),document.addEventListener("mousedown",X),function(){Q.removeEventListener("mouseup",J),document.removeEventListener("mousedown",X)}},[],c),p}var Xo=SW.default=gf});import*as TW from"react";var v4=P((RW)=>{var $2=E();Object.defineProperty(RW,"__esModule",{value:!0});RW.default=void 0;var lf=$2(Q0()),EW=l(),of=$2(T6()),sf=$2(Fc()),rf=$2(J0()),tf=Gc(),ef=$2(d0());function cn(c,x){var p;if(ef.default){if(!(0,tf.isFunction)(c))console.error("useThrottleFn expected parameter is a function, got ".concat((0,lf.default)(c)))}var $=(0,sf.default)(c),z=(p=x===null||x===void 0?void 0:x.wait)!==null&&p!==void 0?p:1000,Z=TW.useMemo(function(){return(0,of.default)(function(){var Q=[];for(var J=0;J<arguments.length;J++)Q[J]=arguments[J];return $.current.apply($,(0,EW.__spreadArray)([],(0,EW.__read)(Q),!1))},z,x)},[]);return(0,rf.default)(function(){Z.cancel()}),{run:Z,cancel:Z.cancel,flush:Z.flush}}var Go=RW.default=cn});import*as q4 from"react";var aW=P((dW)=>{var xn=E();Object.defineProperty(dW,"__esModule",{value:!0});dW.default=void 0;var pn=l(),$n=xn(v4());function zn(c,x){var p=(0,pn.__read)(q4.useState(c),2),$=p[0],z=p[1],Z=(0,$n.default)(function(){z(c)},x).run;return q4.useEffect(function(){Z()},[c]),$}var Ho=dW.default=zn});import*as U4 from"react";var oW=P((gW)=>{var _W=E();Object.defineProperty(gW,"__esModule",{value:!0});gW.default=void 0;var Zn=l(),Qn=_W(v4()),Jn=_W(K0());function Xn(c,x,p){var $=(0,Zn.__read)(U4.useState({}),2),z=$[0],Z=$[1],Q=(0,Qn.default)(function(){Z({})},p).run;U4.useEffect(function(){return Q()},x),(0,Jn.default)(c,[z])}var Ko=gW.default=Xn});import*as p1 from"react";var tW=P((sW)=>{var Gn=E();Object.defineProperty(sW,"__esModule",{value:!0});sW.default=void 0;var Yn=Gn(Vc()),Hn=Gc(),Wn=function(x,p){var $=(0,Yn.default)(x),z=p1.useRef(null),Z=p1.useCallback(function(){if(z.current)clearTimeout(z.current)},[]);return p1.useEffect(function(){if(!(0,Hn.isNumber)(p)||p<0)return;return z.current=setTimeout($,p),Z},[p]),Z},vo=sW.default=Wn});import*as B4 from"react";var pK=P((cK)=>{var eW=E();Object.defineProperty(cK,"__esModule",{value:!0});cK.default=void 0;var Kn=eW(J0()),wn=eW(mc()),vn={restoreOnUnmount:!1};function qn(c,x){if(x===void 0)x=vn;var p=B4.useRef(wn.default?document.title:"");B4.useEffect(function(){document.title=c},[c]),(0,Kn.default)(function(){if(x.restoreOnUnmount)document.title=p.current})}var Uo=cK.default=qn});import*as V4 from"react";var ZK=P(($K)=>{Object.defineProperty($K,"__esModule",{value:!0});$K.default=void 0;var Un=function(x,p){return x?x.map(function($,z){return!Object.is(x[z],p===null||p===void 0?void 0:p[z])?z:-1}).filter(function($){return $>=0}):p?p.map(function($,z){return z}):[]},Bn=function(x,p){var $=V4.useRef(void 0);V4.useEffect(function(){var z=Un($.current,p),Z=$.current;return $.current=p,x(z,Z,p)},p)},Vo=$K.default=Bn});import*as QK from"react";var iK=P((JK)=>{Object.defineProperty(JK,"__esModule",{value:!0});JK.default=void 0;var Vn=b5(),bo=JK.default=(0,Vn.createUpdateEffect)(QK.useLayoutEffect)});import*as M0 from"react";var WK=P((YK)=>{var z2=E();Object.defineProperty(YK,"__esModule",{value:!0});YK.default=void 0;var GK=l(),Fn=z2(y0()),bn=z2(Fc()),Ln=z2(Vc()),Nn=z2(Dp()),Ep=nc(),F4=Gc(),An=z2(K0()),un=function(x,p){var{containerTarget:$,wrapperTarget:z,itemHeight:Z,overscan:Q}=p,J=Q===void 0?5:Q,X=(0,bn.default)(Z),i=(0,Nn.default)($),G=M0.useRef(!1),Y=(0,GK.__read)(M0.useState([]),2),H=Y[0],W=Y[1],K=(0,GK.__read)(M0.useState({}),2),w=K[0],q=K[1],U=function(k,O){if((0,F4.isNumber)(X.current))return Math.ceil(k/X.current);var I=0,m=0;for(var C=O;C<x.length;C++){var N=X.current(C,x[C]);if(I+=N,m=C,I>=k)break}return m-O},b=function(k){if((0,F4.isNumber)(X.current))return Math.floor(k/X.current);var O=0,I=0;for(var m=0;m<x.length;m++){var C=X.current(m,x[m]);if(O+=C,O>=k){I=m;break}}return I+1},v=function(k){if((0,F4.isNumber)(X.current)){var O=k*X.current;return O}var I=x.slice(0,k).reduce(function(m,C,N){return m+X.current(N,x[N])},0);return I},B=M0.useMemo(function(){if((0,F4.isNumber)(X.current))return x.length*X.current;return x.reduce(function(y,k,O){return y+X.current(O,x[O])},0)},[x]),A=function(){var k=(0,Ep.getTargetElement)($);if(k){var{scrollTop:O,clientHeight:I}=k,m=b(O),C=U(I,m),N=Math.max(0,m-J),L=Math.min(x.length,m+C+J),n=v(N);q({height:B-n+"px",marginTop:n+"px"}),W(x.slice(N,L).map(function(F,u){return{data:F,index:u+N}}))}};(0,An.default)(function(){var y=(0,Ep.getTargetElement)(z);if(y)Object.keys(w).forEach(function(k){return y.style[k]=w[k]})},[w]),M0.useEffect(function(){if(!(i===null||i===void 0?void 0:i.width)||!(i===null||i===void 0?void 0:i.height))return;A()},[i===null||i===void 0?void 0:i.width,i===null||i===void 0?void 0:i.height,x]),(0,Fn.default)("scroll",function(y){if(G.current){G.current=!1;return}y.preventDefault(),A()},{target:$});var V=function(k){var O=(0,Ep.getTargetElement)($);if(O)G.current=!0,O.scrollTop=v(k),A()};return[H,(0,Ln.default)(V)]},No=YK.default=un});import*as n0 from"react";var qK=P((wK)=>{var Rp=E();Object.defineProperty(wK,"__esModule",{value:!0});wK.default=wK.ReadyState=void 0;var KK=l(),Z2=Rp(Fc()),Tp=Rp(Vc()),Pn=Rp(J0()),f0;(function(c){c[c.Connecting=0]="Connecting",c[c.Open=1]="Open",c[c.Closing=2]="Closing",c[c.Closed=3]="Closed"})(f0||(wK.ReadyState=f0={}));function yn(c,x){if(x===void 0)x={};var p=x.reconnectLimit,$=p===void 0?3:p,z=x.reconnectInterval,Z=z===void 0?3000:z,Q=x.manual,J=Q===void 0?!1:Q,X=x.onOpen,i=x.onClose,G=x.onMessage,Y=x.onError,H=x.protocols,W=(0,KK.__read)(n0.useState(),2),K=W[0],w=W[1],q=(0,KK.__read)(n0.useState(f0.Closed),2),U=q[0],b=q[1],v=(0,Z2.default)(X),B=(0,Z2.default)(i),A=(0,Z2.default)(G),V=(0,Z2.default)(Y),y=(0,Z2.default)(U),k=n0.useRef(0),O=n0.useRef(void 0),I=n0.useRef(void 0),m=function(){var u;if(k.current<$&&((u=I.current)===null||u===void 0?void 0:u.readyState)!==f0.Open){if(O.current)clearTimeout(O.current);O.current=setTimeout(function(){C(),k.current++},Z)}},C=function(){if(O.current)clearTimeout(O.current);if(I.current)I.current.close();var u=new WebSocket(c,H);b(f0.Connecting),u.onerror=function(f){var j;if(I.current!==u)return;m(),(j=V.current)===null||j===void 0||j.call(V,f,u),b(u.readyState||f0.Closed)},u.onopen=function(f){var j;if(I.current!==u)return;(j=v.current)===null||j===void 0||j.call(v,f,u),k.current=0,b(u.readyState||f0.Open)},u.onmessage=function(f){var j;if(I.current!==u)return;(j=A.current)===null||j===void 0||j.call(A,f,u),w(f)},u.onclose=function(f){var j;if((j=B.current)===null||j===void 0||j.call(B,f,u),I.current===u)m();if(!I.current||I.current===u)b(u.readyState||f0.Closed)},I.current=u},N=function(u){var f;if(y.current===f0.Open)(f=I.current)===null||f===void 0||f.send(u);else throw Error("WebSocket disconnected")},L=function(){k.current=0,C()},n=function(){var u;if(O.current)clearTimeout(O.current);k.current=$,(u=I.current)===null||u===void 0||u.close(),I.current=void 0};return n0.useEffect(function(){if(!J&&c)L()},[c,J]),(0,Pn.default)(function(){n()}),{latestMessage:K,sendMessage:(0,Tp.default)(N),connect:(0,Tp.default)(L),disconnect:(0,Tp.default)(n),readyState:U,webSocketIns:I.current}}var uo=wK.default=yn});import*as b4 from"react";var FK=P((BK)=>{Object.defineProperty(BK,"__esModule",{value:!0});BK.default=void 0;var UK=l();function fn(c,x){var p=b4.useRef({});b4.useEffect(function(){if(p.current){var $=Object.keys((0,UK.__assign)((0,UK.__assign)({},p.current),x)),z={};if($.forEach(function(Z){if(!Object.is(p.current[Z],x[Z]))z[Z]={from:p.current[Z],to:x[Z]}}),Object.keys(z).length)console.log("[why-did-you-update]",c,z)}p.current=x})}var yo=BK.default=fn});var AK=P((LK)=>{var bK=E();Object.defineProperty(LK,"__esModule",{value:!0});LK.default=void 0;var nn=nc(),kn=bK(wp()),On=bK(Fc()),Cn=function(x,p,$){if($===void 0)$={};var z=(0,On.default)(x);(0,kn.default)(function(){var Z=(0,nn.getTargetElement)(p);if(!Z)return;var Q=new MutationObserver(z.current);return Q.observe(Z,$),function(){Q===null||Q===void 0||Q.disconnect()}},[$],p)},fo=LK.default=Cn});import*as Q2 from"react";var nK=P((MK)=>{var PK=E();Object.defineProperty(MK,"__esModule",{value:!0});MK.ThemeMode=void 0;MK.default=In;var yK=l(),jn=PK(Vc()),uK=PK(mc()),k0;(function(c){c.LIGHT="light",c.DARK="dark",c.SYSTEM="system"})(k0||(MK.ThemeMode=k0={}));var Sn=function(){var x=uK.default?window.matchMedia("(prefers-color-scheme: dark)"):void 0,p=(0,yK.__read)(Q2.useState(function(){if(uK.default)return(x===null||x===void 0?void 0:x.matches)?k0.DARK:k0.LIGHT;else return k0.LIGHT}),2),$=p[0],z=p[1];return Q2.useEffect(function(){var Z=function(J){if(J.matches)z(k0.DARK);else z(k0.LIGHT)};return x===null||x===void 0||x.addEventListener("change",Z),function(){x===null||x===void 0||x.removeEventListener("change",Z)}},[]),$};function In(c){if(c===void 0)c={};var x=c.localStorageKey,p=(0,yK.__read)(Q2.useState(function(){var X=(x===null||x===void 0?void 0:x.length)&&localStorage.getItem(x);return X||k0.SYSTEM}),2),$=p[0],z=p[1],Z=function(i){if(z(i),x===null||x===void 0?void 0:x.length)localStorage.setItem(x,i)},Q=Sn(),J=$===k0.SYSTEM?Q:$;return{theme:J,themeMode:$,setThemeMode:(0,jn.default)(Z)}}});var CK=P((R)=>{var h=E(),En=Q0();Object.defineProperty(R,"__esModule",{value:!0});Object.defineProperty(R,"clearCache",{enumerable:!0,get:function(){return kK.clearCache}});Object.defineProperty(R,"configResponsive",{enumerable:!0,get:function(){return OK.configResponsive}});Object.defineProperty(R,"createUpdateEffect",{enumerable:!0,get:function(){return Tn.createUpdateEffect}});Object.defineProperty(R,"useAntdTable",{enumerable:!0,get:function(){return Rn.default}});Object.defineProperty(R,"useAsyncEffect",{enumerable:!0,get:function(){return mn.default}});Object.defineProperty(R,"useBoolean",{enumerable:!0,get:function(){return dn.default}});Object.defineProperty(R,"useClickAway",{enumerable:!0,get:function(){return hn.default}});Object.defineProperty(R,"useControllableValue",{enumerable:!0,get:function(){return an.default}});Object.defineProperty(R,"useCookieState",{enumerable:!0,get:function(){return _n.default}});Object.defineProperty(R,"useCountDown",{enumerable:!0,get:function(){return gn.default}});Object.defineProperty(R,"useCounter",{enumerable:!0,get:function(){return ln.default}});Object.defineProperty(R,"useCreation",{enumerable:!0,get:function(){return on.default}});Object.defineProperty(R,"useDebounce",{enumerable:!0,get:function(){return sn.default}});Object.defineProperty(R,"useDebounceEffect",{enumerable:!0,get:function(){return rn.default}});Object.defineProperty(R,"useDebounceFn",{enumerable:!0,get:function(){return tn.default}});Object.defineProperty(R,"useDeepCompareEffect",{enumerable:!0,get:function(){return en.default}});Object.defineProperty(R,"useDeepCompareLayoutEffect",{enumerable:!0,get:function(){return ck.default}});Object.defineProperty(R,"useDocumentVisibility",{enumerable:!0,get:function(){return xk.default}});Object.defineProperty(R,"useDrag",{enumerable:!0,get:function(){return pk.default}});Object.defineProperty(R,"useDrop",{enumerable:!0,get:function(){return $k.default}});Object.defineProperty(R,"useDynamicList",{enumerable:!0,get:function(){return zk.default}});Object.defineProperty(R,"useEventEmitter",{enumerable:!0,get:function(){return Zk.default}});Object.defineProperty(R,"useEventListener",{enumerable:!0,get:function(){return Qk.default}});Object.defineProperty(R,"useEventTarget",{enumerable:!0,get:function(){return Jk.default}});Object.defineProperty(R,"useExternal",{enumerable:!0,get:function(){return Xk.default}});Object.defineProperty(R,"useFavicon",{enumerable:!0,get:function(){return ik.default}});Object.defineProperty(R,"useFocusWithin",{enumerable:!0,get:function(){return Gk.default}});Object.defineProperty(R,"useFullscreen",{enumerable:!0,get:function(){return Yk.default}});Object.defineProperty(R,"useFusionTable",{enumerable:!0,get:function(){return Hk.default}});Object.defineProperty(R,"useGetState",{enumerable:!0,get:function(){return Wk.default}});Object.defineProperty(R,"useHistoryTravel",{enumerable:!0,get:function(){return Kk.default}});Object.defineProperty(R,"useHover",{enumerable:!0,get:function(){return wk.default}});Object.defineProperty(R,"useInViewport",{enumerable:!0,get:function(){return Uk.default}});Object.defineProperty(R,"useInfiniteScroll",{enumerable:!0,get:function(){return vk.default}});Object.defineProperty(R,"useInterval",{enumerable:!0,get:function(){return qk.default}});Object.defineProperty(R,"useIsomorphicLayoutEffect",{enumerable:!0,get:function(){return Bk.default}});Object.defineProperty(R,"useKeyPress",{enumerable:!0,get:function(){return Vk.default}});Object.defineProperty(R,"useLatest",{enumerable:!0,get:function(){return Fk.default}});Object.defineProperty(R,"useLocalStorageState",{enumerable:!0,get:function(){return bk.default}});Object.defineProperty(R,"useLockFn",{enumerable:!0,get:function(){return Lk.default}});Object.defineProperty(R,"useLongPress",{enumerable:!0,get:function(){return Nk.default}});Object.defineProperty(R,"useMap",{enumerable:!0,get:function(){return Ak.default}});Object.defineProperty(R,"useMemoizedFn",{enumerable:!0,get:function(){return uk.default}});Object.defineProperty(R,"useMount",{enumerable:!0,get:function(){return Pk.default}});Object.defineProperty(R,"useMouse",{enumerable:!0,get:function(){return yk.default}});Object.defineProperty(R,"useMutationObserver",{enumerable:!0,get:function(){return QO.default}});Object.defineProperty(R,"useNetwork",{enumerable:!0,get:function(){return Mk.default}});Object.defineProperty(R,"usePagination",{enumerable:!0,get:function(){return fk.default}});Object.defineProperty(R,"usePrevious",{enumerable:!0,get:function(){return nk.default}});Object.defineProperty(R,"useRafInterval",{enumerable:!0,get:function(){return kk.default}});Object.defineProperty(R,"useRafState",{enumerable:!0,get:function(){return Ok.default}});Object.defineProperty(R,"useRafTimeout",{enumerable:!0,get:function(){return Ck.default}});Object.defineProperty(R,"useReactive",{enumerable:!0,get:function(){return jk.default}});Object.defineProperty(R,"useRequest",{enumerable:!0,get:function(){return kK.default}});Object.defineProperty(R,"useResetState",{enumerable:!0,get:function(){return Sk.default}});Object.defineProperty(R,"useResponsive",{enumerable:!0,get:function(){return OK.default}});Object.defineProperty(R,"useSafeState",{enumerable:!0,get:function(){return Ik.default}});Object.defineProperty(R,"useScroll",{enumerable:!0,get:function(){return Dk.default}});Object.defineProperty(R,"useSelections",{enumerable:!0,get:function(){return Ek.default}});Object.defineProperty(R,"useSessionStorageState",{enumerable:!0,get:function(){return Tk.default}});Object.defineProperty(R,"useSet",{enumerable:!0,get:function(){return Rk.default}});Object.defineProperty(R,"useSetState",{enumerable:!0,get:function(){return mk.default}});Object.defineProperty(R,"useSize",{enumerable:!0,get:function(){return dk.default}});Object.defineProperty(R,"useTextSelection",{enumerable:!0,get:function(){return hk.default}});Object.defineProperty(R,"useTheme",{enumerable:!0,get:function(){return JO.default}});Object.defineProperty(R,"useThrottle",{enumerable:!0,get:function(){return ak.default}});Object.defineProperty(R,"useThrottleEffect",{enumerable:!0,get:function(){return _k.default}});Object.defineProperty(R,"useThrottleFn",{enumerable:!0,get:function(){return gk.default}});Object.defineProperty(R,"useTimeout",{enumerable:!0,get:function(){return lk.default}});Object.defineProperty(R,"useTitle",{enumerable:!0,get:function(){return ok.default}});Object.defineProperty(R,"useToggle",{enumerable:!0,get:function(){return sk.default}});Object.defineProperty(R,"useTrackedEffect",{enumerable:!0,get:function(){return rk.default}});Object.defineProperty(R,"useUnmount",{enumerable:!0,get:function(){return tk.default}});Object.defineProperty(R,"useUnmountedRef",{enumerable:!0,get:function(){return ek.default}});Object.defineProperty(R,"useUpdate",{enumerable:!0,get:function(){return cO.default}});Object.defineProperty(R,"useUpdateEffect",{enumerable:!0,get:function(){return xO.default}});Object.defineProperty(R,"useUpdateLayoutEffect",{enumerable:!0,get:function(){return pO.default}});Object.defineProperty(R,"useVirtualList",{enumerable:!0,get:function(){return $O.default}});Object.defineProperty(R,"useWebSocket",{enumerable:!0,get:function(){return zO.default}});Object.defineProperty(R,"useWhyDidYouUpdate",{enumerable:!0,get:function(){return ZO.default}});var Tn=b5(),Rn=h(g6()),mn=h(aX()),dn=h(o6()),hn=h(ii()),an=h(Ki()),_n=h(Vi()),gn=h(Ai()),ln=h(fi()),on=h(mx()),sn=h(Ti()),rn=h(hi()),tn=h(l5()),en=h(cG()),ck=h(zG()),xk=h(WG()),pk=h(UG()),$k=h(LG()),zk=h(PG()),Zk=h(fG()),Qk=h(y0()),Jk=h(OG()),Xk=h(SG()),ik=h(TG()),Gk=h(hG()),Yk=h(oG()),Hk=h(zY()),Wk=h(JY()),Kk=h(YY()),wk=h(vY()),vk=h(LY()),qk=h(uY()),Uk=h(nY()),Bk=h(CY()),Vk=h(_Y()),Fk=h(Fc()),bk=h(cH()),Lk=h($H()),Nk=h(JH()),Ak=h(YH()),uk=h(Vc()),Pk=h(E5()),yk=h(qH()),Mk=h(bH()),fk=h(h6()),nk=h(AH()),kk=h(yH()),Ok=h(x2()),Ck=h(nH()),jk=h(hH()),kK=mp(R5()),Sk=h(lH()),OK=mp(tH()),Ik=h($W()),Dk=h(QW()),Ek=h(HW()),Tk=h(wW()),Rk=h(BW()),mk=h(LW()),dk=h(Dp()),hk=h(DW()),ak=h(aW()),_k=h(oW()),gk=h(v4()),lk=h(tW()),ok=h(pK()),sk=h(l6()),rk=h(ZK()),tk=h(J0()),ek=h(fp()),cO=h(g1()),xO=h(K0()),pO=h(iK()),$O=h(WK()),zO=h(qK()),ZO=h(FK()),QO=h(AK()),JO=h(nK());function mp(c,x){if(typeof WeakMap=="function")var p=new WeakMap,$=new WeakMap;return(mp=function(Z,Q){if(!Q&&Z&&Z.__esModule)return Z;var J,X,i={__proto__:null,default:Z};if(Z===null||En(Z)!="object"&&typeof Z!="function")return i;if(J=Q?$:p){if(J.has(Z))return J.get(Z);J.set(Z,i)}for(var G in Z)G!=="default"&&{}.hasOwnProperty.call(Z,G)&&((X=(J=Object.defineProperty)&&Object.getOwnPropertyDescriptor(Z,G))&&(X.get||X.set)?J(i,G,X):i[G]=Z[G]);return i})(c,x)}});var Mv=P((Rr,yv)=>{function Wv(c){if(c instanceof Map)c.clear=c.delete=c.set=function(){throw Error("map is read-only")};else if(c instanceof Set)c.add=c.clear=c.delete=function(){throw Error("set is read-only")};return Object.freeze(c),Object.getOwnPropertyNames(c).forEach((x)=>{let p=c[x],$=typeof p;if(($==="object"||$==="function")&&!Object.isFrozen(p))Wv(p)}),c}class $7{constructor(c){if(c.data===void 0)c.data={};this.data=c.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function Kv(c){return c.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function l0(c,...x){let p=Object.create(null);for(let $ in c)p[$]=c[$];return x.forEach(function($){for(let z in $)p[z]=$[z]}),p}var YC="</span>",Jv=(c)=>{return!!c.scope},HC=(c,{prefix:x})=>{if(c.startsWith("language:"))return c.replace("language:","language-");if(c.includes(".")){let p=c.split(".");return[`${x}${p.shift()}`,...p.map(($,z)=>`${$}${"_".repeat(z+1)}`)].join(" ")}return`${x}${c}`};class wv{constructor(c,x){this.buffer="",this.classPrefix=x.classPrefix,c.walk(this)}addText(c){this.buffer+=Kv(c)}openNode(c){if(!Jv(c))return;let x=HC(c.scope,{prefix:this.classPrefix});this.span(x)}closeNode(c){if(!Jv(c))return;this.buffer+=YC}value(){return this.buffer}span(c){this.buffer+=`<span class="${c}">`}}var Xv=(c={})=>{let x={children:[]};return Object.assign(x,c),x};class z7{constructor(){this.rootNode=Xv(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(c){this.top.children.push(c)}openNode(c){let x=Xv({scope:c});this.add(x),this.stack.push(x)}closeNode(){if(this.stack.length>1)return this.stack.pop();return}closeAllNodes(){while(this.closeNode());}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(c){return this.constructor._walk(c,this.rootNode)}static _walk(c,x){if(typeof x==="string")c.addText(x);else if(x.children)c.openNode(x),x.children.forEach((p)=>this._walk(c,p)),c.closeNode(x);return c}static _collapse(c){if(typeof c==="string")return;if(!c.children)return;if(c.children.every((x)=>typeof x==="string"))c.children=[c.children.join("")];else c.children.forEach((x)=>{z7._collapse(x)})}}class vv extends z7{constructor(c){super();this.options=c}addText(c){if(c==="")return;this.add(c)}startScope(c){this.openNode(c)}endScope(){this.closeNode()}__addSublanguage(c,x){let p=c.root;if(x)p.scope=`language:${x}`;this.add(p)}toHTML(){return new wv(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function G2(c){if(!c)return null;if(typeof c==="string")return c;return c.source}function qv(c){return Ux("(?=",c,")")}function WC(c){return Ux("(?:",c,")*")}function KC(c){return Ux("(?:",c,")?")}function Ux(...c){return c.map((p)=>G2(p)).join("")}function wC(c){let x=c[c.length-1];if(typeof x==="object"&&x.constructor===Object)return c.splice(c.length-1,1),x;else return{}}function Z7(...c){return"("+(wC(c).capture?"":"?:")+c.map(($)=>G2($)).join("|")+")"}function Uv(c){return new RegExp(c.toString()+"|").exec("").length-1}function vC(c,x){let p=c&&c.exec(x);return p&&p.index===0}var qC=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function Q7(c,{joinWith:x}){let p=0;return c.map(($)=>{p+=1;let z=p,Z=G2($),Q="";while(Z.length>0){let J=qC.exec(Z);if(!J){Q+=Z;break}if(Q+=Z.substring(0,J.index),Z=Z.substring(J.index+J[0].length),J[0][0]==="\\"&&J[1])Q+="\\"+String(Number(J[1])+z);else if(Q+=J[0],J[0]==="(")p++}return Q}).map(($)=>`(${$})`).join(x)}var UC=/\b\B/,Bv="[a-zA-Z]\\w*",J7="[a-zA-Z_]\\w*",Vv="\\b\\d+(\\.\\d+)?",Fv="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",bv="\\b(0b[01]+)",BC="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",VC=(c={})=>{let x=/^#![ ]*\//;if(c.binary)c.begin=Ux(x,/.*\b/,c.binary,/\b.*/);return l0({scope:"meta",begin:x,end:/$/,relevance:0,"on:begin":(p,$)=>{if(p.index!==0)$.ignoreMatch()}},c)},Y2={begin:"\\\\[\\s\\S]",relevance:0},FC={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Y2]},bC={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Y2]},LC={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},j4=function(c,x,p={}){let $=l0({scope:"comment",begin:c,end:x,contains:[]},p);$.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let z=Z7("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return $.contains.push({begin:Ux(/[ ]+/,"(",z,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),$},NC=j4("//","$"),AC=j4("/\\*","\\*/"),uC=j4("#","$"),PC={scope:"number",begin:Vv,relevance:0},yC={scope:"number",begin:Fv,relevance:0},MC={scope:"number",begin:bv,relevance:0},fC={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Y2,{begin:/\[/,end:/\]/,relevance:0,contains:[Y2]}]},nC={scope:"title",begin:Bv,relevance:0},kC={scope:"title",begin:J7,relevance:0},OC={begin:"\\.\\s*"+J7,relevance:0},CC=function(c){return Object.assign(c,{"on:begin":(x,p)=>{p.data._beginMatch=x[1]},"on:end":(x,p)=>{if(p.data._beginMatch!==x[1])p.ignoreMatch()}})},O4=Object.freeze({__proto__:null,APOS_STRING_MODE:FC,BACKSLASH_ESCAPE:Y2,BINARY_NUMBER_MODE:MC,BINARY_NUMBER_RE:bv,COMMENT:j4,C_BLOCK_COMMENT_MODE:AC,C_LINE_COMMENT_MODE:NC,C_NUMBER_MODE:yC,C_NUMBER_RE:Fv,END_SAME_AS_BEGIN:CC,HASH_COMMENT_MODE:uC,IDENT_RE:Bv,MATCH_NOTHING_RE:UC,METHOD_GUARD:OC,NUMBER_MODE:PC,NUMBER_RE:Vv,PHRASAL_WORDS_MODE:LC,QUOTE_STRING_MODE:bC,REGEXP_MODE:fC,RE_STARTERS_RE:BC,SHEBANG:VC,TITLE_MODE:nC,UNDERSCORE_IDENT_RE:J7,UNDERSCORE_TITLE_MODE:kC});function jC(c,x){if(c.input[c.index-1]===".")x.ignoreMatch()}function SC(c,x){if(c.className!==void 0)c.scope=c.className,delete c.className}function IC(c,x){if(!x)return;if(!c.beginKeywords)return;if(c.begin="\\b("+c.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",c.__beforeBegin=jC,c.keywords=c.keywords||c.beginKeywords,delete c.beginKeywords,c.relevance===void 0)c.relevance=0}function DC(c,x){if(!Array.isArray(c.illegal))return;c.illegal=Z7(...c.illegal)}function EC(c,x){if(!c.match)return;if(c.begin||c.end)throw Error("begin & end are not supported with match");c.begin=c.match,delete c.match}function TC(c,x){if(c.relevance===void 0)c.relevance=1}var RC=(c,x)=>{if(!c.beforeMatch)return;if(c.starts)throw Error("beforeMatch cannot be used with starts");let p=Object.assign({},c);Object.keys(c).forEach(($)=>{delete c[$]}),c.keywords=p.keywords,c.begin=Ux(p.beforeMatch,qv(p.begin)),c.starts={relevance:0,contains:[Object.assign(p,{endsParent:!0})]},c.relevance=0,delete p.beforeMatch},mC=["of","and","for","in","not","or","if","then","parent","list","value"],dC="keyword";function Lv(c,x,p=dC){let $=Object.create(null);if(typeof c==="string")z(p,c.split(" "));else if(Array.isArray(c))z(p,c);else Object.keys(c).forEach(function(Z){Object.assign($,Lv(c[Z],x,Z))});return $;function z(Z,Q){if(x)Q=Q.map((J)=>J.toLowerCase());Q.forEach(function(J){let X=J.split("|");$[X[0]]=[Z,hC(X[0],X[1])]})}}function hC(c,x){if(x)return Number(x);return aC(c)?0:1}function aC(c){return mC.includes(c.toLowerCase())}var iv={},qx=(c)=>{console.error(c)},Gv=(c,...x)=>{console.log(`WARN: ${c}`,...x)},X1=(c,x)=>{if(iv[`${c}/${x}`])return;console.log(`Deprecated as of ${c}. ${x}`),iv[`${c}/${x}`]=!0},C4=Error();function Nv(c,x,{key:p}){let $=0,z=c[p],Z={},Q={};for(let J=1;J<=x.length;J++)Q[J+$]=z[J],Z[J+$]=!0,$+=Uv(x[J-1]);c[p]=Q,c[p]._emit=Z,c[p]._multi=!0}function _C(c){if(!Array.isArray(c.begin))return;if(c.skip||c.excludeBegin||c.returnBegin)throw qx("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),C4;if(typeof c.beginScope!=="object"||c.beginScope===null)throw qx("beginScope must be object"),C4;Nv(c,c.begin,{key:"beginScope"}),c.begin=Q7(c.begin,{joinWith:""})}function gC(c){if(!Array.isArray(c.end))return;if(c.skip||c.excludeEnd||c.returnEnd)throw qx("skip, excludeEnd, returnEnd not compatible with endScope: {}"),C4;if(typeof c.endScope!=="object"||c.endScope===null)throw qx("endScope must be object"),C4;Nv(c,c.end,{key:"endScope"}),c.end=Q7(c.end,{joinWith:""})}function lC(c){if(c.scope&&typeof c.scope==="object"&&c.scope!==null)c.beginScope=c.scope,delete c.scope}function oC(c){if(lC(c),typeof c.beginScope==="string")c.beginScope={_wrap:c.beginScope};if(typeof c.endScope==="string")c.endScope={_wrap:c.endScope};_C(c),gC(c)}function sC(c){function x(Q,J){return new RegExp(G2(Q),"m"+(c.case_insensitive?"i":"")+(c.unicodeRegex?"u":"")+(J?"g":""))}class p{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(Q,J){J.position=this.position++,this.matchIndexes[this.matchAt]=J,this.regexes.push([J,Q]),this.matchAt+=Uv(Q)+1}compile(){if(this.regexes.length===0)this.exec=()=>null;let Q=this.regexes.map((J)=>J[1]);this.matcherRe=x(Q7(Q,{joinWith:"|"}),!0),this.lastIndex=0}exec(Q){this.matcherRe.lastIndex=this.lastIndex;let J=this.matcherRe.exec(Q);if(!J)return null;let X=J.findIndex((G,Y)=>Y>0&&G!==void 0),i=this.matchIndexes[X];return J.splice(0,X),Object.assign(J,i)}}class ${constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(Q){if(this.multiRegexes[Q])return this.multiRegexes[Q];let J=new p;return this.rules.slice(Q).forEach(([X,i])=>J.addRule(X,i)),J.compile(),this.multiRegexes[Q]=J,J}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(Q,J){if(this.rules.push([Q,J]),J.type==="begin")this.count++}exec(Q){let J=this.getMatcher(this.regexIndex);J.lastIndex=this.lastIndex;let X=J.exec(Q);if(this.resumingScanAtSamePosition())if(X&&X.index===this.lastIndex);else{let i=this.getMatcher(0);i.lastIndex=this.lastIndex+1,X=i.exec(Q)}if(X){if(this.regexIndex+=X.position+1,this.regexIndex===this.count)this.considerAll()}return X}}function z(Q){let J=new $;if(Q.contains.forEach((X)=>J.addRule(X.begin,{rule:X,type:"begin"})),Q.terminatorEnd)J.addRule(Q.terminatorEnd,{type:"end"});if(Q.illegal)J.addRule(Q.illegal,{type:"illegal"});return J}function Z(Q,J){let X=Q;if(Q.isCompiled)return X;[SC,EC,oC,RC].forEach((G)=>G(Q,J)),c.compilerExtensions.forEach((G)=>G(Q,J)),Q.__beforeBegin=null,[IC,DC,TC].forEach((G)=>G(Q,J)),Q.isCompiled=!0;let i=null;if(typeof Q.keywords==="object"&&Q.keywords.$pattern)Q.keywords=Object.assign({},Q.keywords),i=Q.keywords.$pattern,delete Q.keywords.$pattern;if(i=i||/\w+/,Q.keywords)Q.keywords=Lv(Q.keywords,c.case_insensitive);if(X.keywordPatternRe=x(i,!0),J){if(!Q.begin)Q.begin=/\B|\b/;if(X.beginRe=x(X.begin),!Q.end&&!Q.endsWithParent)Q.end=/\B|\b/;if(Q.end)X.endRe=x(X.end);if(X.terminatorEnd=G2(X.end)||"",Q.endsWithParent&&J.terminatorEnd)X.terminatorEnd+=(Q.end?"|":"")+J.terminatorEnd}if(Q.illegal)X.illegalRe=x(Q.illegal);if(!Q.contains)Q.contains=[];if(Q.contains=[].concat(...Q.contains.map(function(G){return rC(G==="self"?Q:G)})),Q.contains.forEach(function(G){Z(G,X)}),Q.starts)Z(Q.starts,J);return X.matcher=z(X),X}if(!c.compilerExtensions)c.compilerExtensions=[];if(c.contains&&c.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return c.classNameAliases=l0(c.classNameAliases||{}),Z(c)}function Av(c){if(!c)return!1;return c.endsWithParent||Av(c.starts)}function rC(c){if(c.variants&&!c.cachedVariants)c.cachedVariants=c.variants.map(function(x){return l0(c,{variants:null},x)});if(c.cachedVariants)return c.cachedVariants;if(Av(c))return l0(c,{starts:c.starts?l0(c.starts):null});if(Object.isFrozen(c))return l0(c);return c}var tC="11.11.1";class uv extends Error{constructor(c,x){super(c);this.name="HTMLInjectionError",this.html=x}}var p7=Kv,Yv=l0,Hv=Symbol("nomatch"),eC=7,Pv=function(c){let x=Object.create(null),p=Object.create(null),$=[],z=!0,Z="Could not find the language '{}', did you forget to load/include a language module?",Q={disableAutodetect:!0,name:"Plain text",contains:[]},J={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:vv};function X(F){return J.noHighlightRe.test(F)}function i(F){let u=F.className+" ";u+=F.parentNode?F.parentNode.className:"";let f=J.languageDetectRe.exec(u);if(f){let j=k(f[1]);if(!j)Gv(Z.replace("{}",f[1])),Gv("Falling back to no-highlight mode for this block.",F);return j?f[1]:"no-highlight"}return u.split(/\s+/).find((j)=>X(j)||k(j))}function G(F,u,f){let j="",T="";if(typeof u==="object")j=F,f=u.ignoreIllegals,T=u.language;else X1("10.7.0","highlight(lang, code, ...args) has been deprecated."),X1("10.7.0",`Please use highlight(code, options) instead.
|
|
75
|
+
https://github.com/highlightjs/highlight.js/issues/2277`),T=F,j=u;if(f===void 0)f=!0;let S={code:j,language:T};L("before:highlight",S);let D=S.result?S.result:Y(S.language,S.code,f);return D.code=S.code,L("after:highlight",D),D}function Y(F,u,f,j){let T=Object.create(null);function S(_,s){return _.keywords[s]}function D(){if(!t.keywords){kc.addText(vc);return}let _=0;t.keywordPatternRe.lastIndex=0;let s=t.keywordPatternRe.exec(vc),cc="";while(s){cc+=vc.substring(_,s.index);let Qc=ec.case_insensitive?s[0].toLowerCase():s[0],Oc=S(t,Qc);if(Oc){let[U0,sv]=Oc;if(kc.addText(cc),cc="",T[Qc]=(T[Qc]||0)+1,T[Qc]<=eC)U2+=sv;if(U0.startsWith("_"))cc+=s[0];else{let rv=ec.classNameAliases[U0]||U0;r(s[0],rv)}}else cc+=s[0];_=t.keywordPatternRe.lastIndex,s=t.keywordPatternRe.exec(vc)}cc+=vc.substring(_),kc.addText(cc)}function a(){if(vc==="")return;let _=null;if(typeof t.subLanguage==="string"){if(!x[t.subLanguage]){kc.addText(vc);return}_=Y(t.subLanguage,vc,!0,q2[t.subLanguage]),q2[t.subLanguage]=_._top}else _=W(vc,t.subLanguage.length?t.subLanguage:null);if(t.relevance>0)U2+=_.relevance;kc.__addSublanguage(_._emitter,_.language)}function o(){if(t.subLanguage!=null)a();else D();vc=""}function r(_,s){if(_==="")return;kc.startScope(s),kc.addText(_),kc.endScope()}function wc(_,s){let cc=1,Qc=s.length-1;while(cc<=Qc){if(!_._emit[cc]){cc++;continue}let Oc=ec.classNameAliases[_[cc]]||_[cc],U0=s[cc];if(Oc)r(U0,Oc);else vc=U0,D(),vc="";cc++}}function Hc(_,s){if(_.scope&&typeof _.scope==="string")kc.openNode(ec.classNameAliases[_.scope]||_.scope);if(_.beginScope){if(_.beginScope._wrap)r(vc,ec.classNameAliases[_.beginScope._wrap]||_.beginScope._wrap),vc="";else if(_.beginScope._multi)wc(_.beginScope,s),vc=""}return t=Object.create(_,{parent:{value:t}}),t}function xc(_,s,cc){let Qc=vC(_.endRe,cc);if(Qc){if(_["on:end"]){let Oc=new $7(_);if(_["on:end"](s,Oc),Oc.isMatchIgnored)Qc=!1}if(Qc){while(_.endsParent&&_.parent)_=_.parent;return _}}if(_.endsWithParent)return xc(_.parent,s,cc)}function tc(_){if(t.matcher.regexIndex===0)return vc+=_[0],1;else return R4=!0,0}function q0(_){let s=_[0],cc=_.rule,Qc=new $7(cc),Oc=[cc.__beforeBegin,cc["on:begin"]];for(let U0 of Oc){if(!U0)continue;if(U0(_,Qc),Qc.isMatchIgnored)return tc(s)}if(cc.skip)vc+=s;else{if(cc.excludeBegin)vc+=s;if(o(),!cc.returnBegin&&!cc.excludeBegin)vc=s}return Hc(cc,_),cc.returnBegin?0:s.length}function j0(_){let s=_[0],cc=u.substring(_.index),Qc=xc(t,_,cc);if(!Qc)return Hv;let Oc=t;if(t.endScope&&t.endScope._wrap)o(),r(s,t.endScope._wrap);else if(t.endScope&&t.endScope._multi)o(),wc(t.endScope,_);else if(Oc.skip)vc+=s;else{if(!(Oc.returnEnd||Oc.excludeEnd))vc+=s;if(o(),Oc.excludeEnd)vc=s}do{if(t.scope)kc.closeNode();if(!t.skip&&!t.subLanguage)U2+=t.relevance;t=t.parent}while(t!==Qc.parent);if(Qc.starts)Hc(Qc.starts,_);return Oc.returnEnd?0:s.length}function E4(){let _=[];for(let s=t;s!==ec;s=s.parent)if(s.scope)_.unshift(s.scope);_.forEach((s)=>kc.openNode(s))}let Fx={};function v2(_,s){let cc=s&&s[0];if(vc+=_,cc==null)return o(),0;if(Fx.type==="begin"&&s.type==="end"&&Fx.index===s.index&&cc===""){if(vc+=u.slice(s.index,s.index+1),!z){let Qc=Error(`0 width match regex (${F})`);throw Qc.languageName=F,Qc.badRule=Fx.rule,Qc}return 1}if(Fx=s,s.type==="begin")return q0(s);else if(s.type==="illegal"&&!f){let Qc=Error('Illegal lexeme "'+cc+'" for mode "'+(t.scope||"<unnamed>")+'"');throw Qc.mode=t,Qc}else if(s.type==="end"){let Qc=j0(s);if(Qc!==Hv)return Qc}if(s.type==="illegal"&&cc==="")return vc+=`
|
|
76
|
+
`,1;if(T4>1e5&&T4>s.index*3)throw Error("potential infinite loop, way more iterations than matches");return vc+=cc,cc.length}let ec=k(F);if(!ec)throw qx(Z.replace("{}",F)),Error('Unknown language: "'+F+'"');let ic=sC(ec),S0="",t=j||ic,q2={},kc=new J.__emitter(J);E4();let vc="",U2=0,r0=0,T4=0,R4=!1;try{if(!ec.__emitTokens){t.matcher.considerAll();for(;;){if(T4++,R4)R4=!1;else t.matcher.considerAll();t.matcher.lastIndex=r0;let _=t.matcher.exec(u);if(!_)break;let s=u.substring(r0,_.index),cc=v2(s,_);r0=_.index+cc}v2(u.substring(r0))}else ec.__emitTokens(u,kc);return kc.finalize(),S0=kc.toHTML(),{language:F,value:S0,relevance:U2,illegal:!1,_emitter:kc,_top:t}}catch(_){if(_.message&&_.message.includes("Illegal"))return{language:F,value:p7(u),illegal:!0,relevance:0,_illegalBy:{message:_.message,index:r0,context:u.slice(r0-100,r0+100),mode:_.mode,resultSoFar:S0},_emitter:kc};else if(z)return{language:F,value:p7(u),illegal:!1,relevance:0,errorRaised:_,_emitter:kc,_top:t};else throw _}}function H(F){let u={value:p7(F),illegal:!1,relevance:0,_top:Q,_emitter:new J.__emitter(J)};return u._emitter.addText(F),u}function W(F,u){u=u||J.languages||Object.keys(x);let f=H(F),j=u.filter(k).filter(I).map((o)=>Y(o,F,!1));j.unshift(f);let T=j.sort((o,r)=>{if(o.relevance!==r.relevance)return r.relevance-o.relevance;if(o.language&&r.language){if(k(o.language).supersetOf===r.language)return 1;else if(k(r.language).supersetOf===o.language)return-1}return 0}),[S,D]=T,a=S;return a.secondBest=D,a}function K(F,u,f){let j=u&&p[u]||f;F.classList.add("hljs"),F.classList.add(`language-${j}`)}function w(F){let u=null,f=i(F);if(X(f))return;if(L("before:highlightElement",{el:F,language:f}),F.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",F);return}if(F.children.length>0){if(!J.ignoreUnescapedHTML)console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(F);if(J.throwUnescapedHTML)throw new uv("One of your code blocks includes unescaped HTML.",F.innerHTML)}u=F;let j=u.textContent,T=f?G(j,{language:f,ignoreIllegals:!0}):W(j);if(F.innerHTML=T.value,F.dataset.highlighted="yes",K(F,f,T.language),F.result={language:T.language,re:T.relevance,relevance:T.relevance},T.secondBest)F.secondBest={language:T.secondBest.language,relevance:T.secondBest.relevance};L("after:highlightElement",{el:F,result:T,text:j})}function q(F){J=Yv(J,F)}let U=()=>{B(),X1("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function b(){B(),X1("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let v=!1;function B(){function F(){B()}if(document.readyState==="loading"){if(!v)window.addEventListener("DOMContentLoaded",F,!1);v=!0;return}document.querySelectorAll(J.cssSelector).forEach(w)}function A(F,u){let f=null;try{f=u(c)}catch(j){if(qx("Language definition for '{}' could not be registered.".replace("{}",F)),!z)throw j;else qx(j);f=Q}if(!f.name)f.name=F;if(x[F]=f,f.rawDefinition=u.bind(null,c),f.aliases)O(f.aliases,{languageName:F})}function V(F){delete x[F];for(let u of Object.keys(p))if(p[u]===F)delete p[u]}function y(){return Object.keys(x)}function k(F){return F=(F||"").toLowerCase(),x[F]||x[p[F]]}function O(F,{languageName:u}){if(typeof F==="string")F=[F];F.forEach((f)=>{p[f.toLowerCase()]=u})}function I(F){let u=k(F);return u&&!u.disableAutodetect}function m(F){if(F["before:highlightBlock"]&&!F["before:highlightElement"])F["before:highlightElement"]=(u)=>{F["before:highlightBlock"](Object.assign({block:u.el},u))};if(F["after:highlightBlock"]&&!F["after:highlightElement"])F["after:highlightElement"]=(u)=>{F["after:highlightBlock"](Object.assign({block:u.el},u))}}function C(F){m(F),$.push(F)}function N(F){let u=$.indexOf(F);if(u!==-1)$.splice(u,1)}function L(F,u){let f=F;$.forEach(function(j){if(j[f])j[f](u)})}function n(F){return X1("10.7.0","highlightBlock will be removed entirely in v12.0"),X1("10.7.0","Please use highlightElement now."),w(F)}Object.assign(c,{highlight:G,highlightAuto:W,highlightAll:B,highlightElement:w,highlightBlock:n,configure:q,initHighlighting:U,initHighlightingOnLoad:b,registerLanguage:A,unregisterLanguage:V,listLanguages:y,getLanguage:k,registerAliases:O,autoDetection:I,inherit:Yv,addPlugin:C,removePlugin:N}),c.debugMode=function(){z=!1},c.safeMode=function(){z=!0},c.versionString=tC,c.regex={concat:Ux,lookahead:qv,either:Z7,optional:KC,anyNumberOfTimes:WC};for(let F in O4)if(typeof O4[F]==="object")Wv(O4[F]);return Object.assign(c,O4),c},i1=Pv({});i1.newInstance=()=>Pv({});yv.exports=i1;i1.HighlightJS=i1;i1.default=i1});import{render as Ij}from"ink";import Dj from"react";import Ej from"yargs";import{hideBin as Tj}from"yargs/helpers";var B2={name:"blade-code",version:"0.0.2",private:!1,description:"🗡️ Blade Code - 智能代码助手命令行工具",type:"module",main:"dist/blade.js",bin:{blade:"dist/blade.js"},files:["dist","bin","config.env.example","README.md"],scripts:{dev:"bun --watch src/blade.tsx",build:"rm -rf dist && bun build src/blade.tsx --external react-devtools-core --external react --external react-dom --external ink --external yargs --external chalk --external inquirer --minify --outfile dist/blade.js --target=node",start:"bun run dist/blade.js",test:"vitest","test:watch":"vitest --watch","test:coverage":"vitest --coverage","test:unit":'vitest --testNamePattern="(unit|__tests__)"',"test:integration":'vitest --testNamePattern="integration"',"test:e2e":'vitest --testNamePattern="e2e"',"test:ci":"vitest run --coverage","test:performance":'vitest --testNamePattern="performance" --verbose',"test:debug":"vitest --no-cache --verbose",lint:"biome lint src tests","lint:fix":"biome lint --write src tests",format:"biome format --write src tests","format:check":"biome format src tests",check:"biome check src tests","check:fix":"biome check --write src tests","type-check":"tsc --noEmit","check:full":"npm run type-check && npm run lint && npm run format:check && npm run test","security:audit":"pnpm audit","security:test":"bash scripts/run-security-tests.sh",release:"node scripts/release.js","release:dry":"node scripts/release.js --dry-run","release:major":"node scripts/release.js --major","release:minor":"node scripts/release.js --minor","release:patch":"node scripts/release.js --patch",clean:"rm -rf dist node_modules/.cache",prepare:"bun run build",preflight:"npm run clean && pnpm install && npm run format && npm run lint && npm run build && npm run type-check && npm run test:ci"},keywords:["cli","blade","ai","assistant","agent","llm","tool","qwen","volcengine","smart-tools","code-review","documentation","git-tools"],author:"echoVic",license:"MIT",repository:{type:"git",url:"git+https://github.com/echoVic/blade-code.git"},homepage:"https://github.com/echoVic/blade-code",bugs:{url:"https://github.com/echoVic/blade-code/issues"},engines:{node:">=16.0.0"},devDependencies:{"@babel/core":"^7.23.0","@babel/preset-env":"^7.23.0","@babel/preset-react":"^7.22.0","@biomejs/biome":"^2.2.4","@testing-library/react":"^16.2.0","@testing-library/user-event":"^14.5.0","@types/inquirer":"^9.0.8","@types/jest":"^30.0.0","@types/lodash-es":"^4.17.12","@types/node":"^22.15.24","@types/react":"^19.1.12","@types/react-dom":"^19.1.9","@types/uuid":"^10.0.0","@types/ws":"^8.5.12","@types/yargs":"^17.0.33","@vitest/coverage-v8":"^3.0.0",jsdom:"^26.0.0","ts-node":"^10.9.2",typescript:"^5.9.2",vitest:"^3.0.0"},dependencies:{"@modelcontextprotocol/sdk":"^1.17.4","@types/react":"^19.1.12","@types/react-dom":"^19.1.9",ahooks:"^3.9.5",axios:"^1.9.0",chalk:"^5.4.1",ink:"^6.2.3",inquirer:"^12.6.3","lodash-es":"^4.17.21",lowlight:"^3.3.0",openai:"^4.103.0",react:"^19.1.1","react-dom":"^19.1.1",uuid:"^11.1.0",ws:"^8.18.0",yargs:"^18.0.0",zod:"^3.24.2"}};function L7(){return B2.version}function N7(){return B2.description}function m4(){return`v${B2.version} © 2025 Blade Code`}var A7={debug:{alias:"d",type:"string",describe:"Enable debug mode with optional category filtering",group:"Debug Options:"},verbose:{type:"boolean",describe:"Override verbose mode setting from config",group:"Debug Options:"},print:{alias:"p",type:"boolean",describe:"Print response and exit (useful for pipes)",group:"Output Options:"},outputFormat:{type:"string",choices:["text","json","stream-json"],default:"text",describe:"Output format (only works with --print)",group:"Output Options:"},includePartialMessages:{type:"boolean",describe:"Include partial message chunks as they arrive",group:"Output Options:"},inputFormat:{type:"string",choices:["text","stream-json"],default:"text",describe:"Input format",group:"Input Options:"},dangerouslySkipPermissions:{type:"boolean",describe:"Bypass all permission checks",group:"Security Options:"},replayUserMessages:{type:"boolean",describe:"Re-emit user messages from stdin",group:"Input Options:"},allowedTools:{type:"array",string:!0,describe:"Comma or space-separated list of tool names to allow",group:"Security Options:"},disallowedTools:{type:"array",string:!0,describe:"Comma or space-separated list of tool names to deny",group:"Security Options:"},mcpConfig:{type:"array",string:!0,describe:"Load MCP servers from JSON files or strings",group:"MCP Options:"},appendSystemPrompt:{type:"string",describe:"Append a system prompt to the default system prompt",group:"AI Options:"},permissionMode:{type:"string",choices:["acceptEdits","bypassPermissions","default","plan"],describe:"Permission mode",group:"Security Options:"},continue:{alias:"c",type:"boolean",describe:"Continue the most recent conversation",group:"Session Options:"},resume:{alias:"r",type:"string",describe:"Resume a conversation",group:"Session Options:"},forkSession:{type:"boolean",describe:"Create a new session ID when resuming",group:"Session Options:"},model:{type:"string",describe:"Model for the current session",group:"AI Options:"},fallbackModel:{type:"string",describe:"Enable automatic fallback to specified model",group:"AI Options:"},settings:{type:"string",describe:"Path to a settings JSON file or JSON string",group:"Configuration:"},addDir:{type:"array",string:!0,describe:"Additional directories to allow tool access to",group:"Security Options:"},ide:{type:"boolean",describe:"Automatically connect to IDE on startup",group:"Integration:"},strictMcpConfig:{type:"boolean",describe:"Only use MCP servers from --mcp-config",group:"MCP Options:"},sessionId:{type:"string",describe:"Use a specific session ID for the conversation",group:"Session Options:"},agents:{type:"string",describe:"JSON object defining custom agents",group:"AI Options:"},settingSources:{type:"string",describe:"Comma-separated list of setting sources to load",group:"Configuration:"}},t0={scriptName:"blade",usage:"$0 [command] [options]",description:N7(),version:L7(),locale:"en",showHelpOnFail:!0,demandCommand:!1,recommendCommands:!0,strict:!1};var u7=(c)=>{if(c.dangerouslySkipPermissions)console.warn("⚠️ Warning: Permissions checks are disabled");if(Array.isArray(c.allowedTools)&&Array.isArray(c.disallowedTools)){let x=c.allowedTools.filter((p)=>c.disallowedTools.includes(p));if(x.length>0)throw Error(`Tools cannot be both allowed and disallowed: ${x.join(", ")}`)}},P7=(c)=>{if(typeof c.settingSources==="string"){let x=c.settingSources.split(",").map((p)=>p.trim());console.log(`Loading configuration from: ${x.join(", ")}`)}if(c.continue&&c.resume)throw Error("Cannot use both --continue and --resume flags simultaneously")},y7=(c)=>{if(c.debug)process.env.BLADE_DEBUG=c.debug===!0?"1":String(c.debug),console.log(`Debug mode enabled: ${c.debug}`);if(c.verbose)process.env.BLADE_VERBOSE="1",console.log("Verbose mode enabled")},M7=(c)=>{if(c.outputFormat&&c.outputFormat!=="text"&&!c.print)throw Error("--output-format can only be used with --print flag");if(c.inputFormat==="stream-json"&&c.print)console.warn("⚠️ Warning: stream-json input format may not work as expected with --print")};import zq from"crypto";import{promises as e0}from"fs";import f7 from"os";import D0 from"path";import{performance as V2}from"perf_hooks";var I0={core:{debug:!1,telemetry:!0,autoUpdate:!0,maxMemory:1073741824,timeout:30000,workingDirectory:process.cwd(),tempDirectory:process.env.TEMP||"/tmp"},auth:{apiKey:"",apiSecret:"",baseUrl:"https://apis.iflow.cn/v1/chat/completions",modelName:"Qwen3-Coder",temperature:0.7,maxTokens:4000,stream:!0,topP:0.9,topK:50,frequencyPenalty:0,presencePenalty:0,tokenStorage:"file",tokenRefreshInterval:3600,timeout:30000,providers:[]},systemPrompt:{enabled:!0,default:"你是 Blade Code,一个专业的命令行智能代码助手。",allowOverride:!0,maxLength:4000,loadUserConfig:!0,loadProjectConfig:!0},mcp:{enabled:!1,servers:[],autoConnect:!1,timeout:5000,maxConnections:5},ui:{theme:"GitHub",fontSize:14,fontFamily:"monospace",lineHeight:1.4,showStatusBar:!0,showNotifications:!0,animations:!0,shortcuts:{},language:"zh-CN"},tools:{git:{autoDetect:!0,defaultBranch:"main",commitVerification:!1},fileSystem:{allowedPaths:[],blockedPaths:[],maxFileSize:10485760},shell:{allowedCommands:[],blockedCommands:["rm -rf","format","del"],timeout:30000},network:{timeout:1e4,maxRetries:3,userAgent:"Blade-Agent/1.0"}},services:{fileSystem:{watchEnabled:!0,watchInterval:1000,indexingEnabled:!0},git:{autoSync:!1,syncInterval:60000,commitOnExit:!1},logging:{level:"info",format:"text",output:"both",maxFiles:5,maxSize:"10MB"},telemetry:{enabled:!0,endpoint:"https://telemetry.blade-code.com/api/v1/events",interval:300000,batchSize:100}},advanced:{experimentalFeatures:!1,performanceMode:"balanced",memoryManagement:"auto",gcInterval:60000,threadPool:{minThreads:2,maxThreads:8},cache:{enabled:!0,maxSize:104857600,ttl:3600000,strategy:"lru"},security:{sandboxEnabled:!0,validateInputs:!0,rateLimiting:{enabled:!0,requests:100,window:60000},encryption:{algorithm:"aes-256-gcm",keyRotationInterval:86400000}}},privacy:{dataCollection:!0,crashReporting:!0,usageMetrics:!0,personalizedExperience:!0,thirdPartySharing:!1},extensions:{enabled:!0,directory:"./extensions",autoInstall:!1,autoUpdate:!0,trustedSources:["https://extensions.blade-code.com"],installed:[]},development:{mode:"production",hotReload:!1,debugTools:!1,mockData:!1,testRunner:{enabled:!1,autoRun:!1,coverage:!1}},plugins:{enabled:!1,directory:"./plugins",loadOrder:{pre:[],core:[],post:[]},hooks:{}}};class Ec{config=null;configStatus=null;locations;envMapping;migrations;configLoaded=!1;configLoading=!1;constructor(){this.locations=this.getConfigLocations(),this.envMapping=this.getEnvMapping(),this.migrations=this.getConfigMigrations()}async initialize(c){if(this.configLoaded)return this.config;if(this.configLoading)return await this.waitForConfigLoad(),this.config;this.configLoading=!0;let x=V2.now();try{this.config=await this.loadDefaultConfig(),this.config=this.applyEnvVariables(this.config);let p=await this.loadUserConfigFile();if(p)this.config=this.mergeConfig(this.config,p);if(c)this.config=this.mergeConfig(this.config,c);this.config=await this.runMigrations(this.config);let{isValid:$,errors:z,warnings:Z}=this.validateConfig(this.config);if(this.configStatus={isValid:$,errors:z,warnings:Z,loadedFrom:this.determineConfigSource(),lastModified:Date.now(),checksum:this.generateConfigChecksum(this.config)},await this.ensureConfigDirectories(),$)await this.saveConfig(this.config);else console.warn("配置验证失败,使用默认配置"),console.warn("错误信息:",z.map((J)=>J.message).join(", "));this.configLoaded=!0;let Q=V2.now()-x;if(this.config.core.debug)console.log(`配置加载完成,耗时: ${Q.toFixed(2)}ms`);return this.config}catch(p){return console.error("配置初始化失败:",p),this.config=this.createFallbackConfig(),this.configLoaded=!0,this.config}finally{this.configLoading=!1}}getConfig(){if(!this.configLoaded||!this.config)throw Error("配置尚未初始化,请先调用 initialize()");return this.config}getConfigStatus(){if(!this.configStatus)throw Error("配置状态尚未初始化");return this.configStatus}async updateConfig(c){if(!this.config)throw Error("配置尚未初始化");let x=V2.now();try{let p=this.cloneConfig(this.config),$=this.mergeConfig(p,c),{isValid:z,errors:Z,warnings:Q}=this.validateConfig($);if(z){if(this.config=$,await this.saveConfig(this.config),this.configStatus={isValid:z,errors:Z,warnings:Q,loadedFrom:this.determineConfigSource(),lastModified:Date.now(),checksum:this.generateConfigChecksum(this.config)},this.config.core.debug){let J=V2.now()-x;console.log(`配置更新完成,耗时: ${J.toFixed(2)}ms`)}}else console.warn("配置更新失败,验证未通过"),Z.forEach((J)=>{console.warn(`配置错误: ${J.path} - ${J.message}`)});return this.configStatus}catch(p){throw console.error("配置更新失败:",p),p}}async resetConfig(){try{await e0.unlink(this.locations.userConfigPath)}catch(c){}return this.configLoaded=!1,this.config=null,this.configStatus=null,await this.initialize()}exportConfig(){if(!this.config)throw Error("配置尚未初始化");return JSON.stringify(this.config,null,2)}importConfig(c){try{let x=JSON.parse(c);return this.updateConfig(x)}catch(x){throw Error("配置导入失败: "+(x instanceof Error?x.message:"未知错误"))}}async loadDefaultConfig(){let c=await this.loadPackageJson();return{version:c.version||"1.0.0",name:c.name||"blade-code",description:c.description||"智能AI助手命令行工具",...I0}}async loadPackageJson(){try{let c=D0.resolve(process.cwd(),"package.json"),x=await e0.readFile(c,"utf-8");return JSON.parse(x)}catch(c){return{version:"1.0.0",name:"blade-code",description:"智能代码助手命令行工具"}}}async loadUserConfigFile(){let c=[this.locations.userConfigPath,this.locations.globalConfigPath,this.locations.localConfigPath];for(let x of c)try{if(await this.fileExists(x)){let p=await e0.readFile(x,"utf-8"),$=JSON.parse(p);if(this.config?.core.debug)console.log(`加载配置文件: ${x}`);return $}}catch(p){console.warn(`加载配置文件失败: ${x}`,p)}return null}applyEnvVariables(c){let x=this.cloneConfig(c);for(let[p,$]of Object.entries(this.envMapping)){let z=process.env[p];if(z!==void 0)try{let Z=this.parseEnvValue(z,$.type,$.default);if(this.setConfigValue(x,$.path,Z),x.core.debug)console.log(`应用环境变量: ${p} -> ${$.path} = ${Z}`)}catch(Z){console.warn(`环境变量解析失败: ${p} = ${z}`)}else if($.required&&$.default===void 0)console.warn(`缺少必需的环境变量: ${p}`)}return x}parseEnvValue(c,x,p){if(c===void 0||c==="")return p;switch(x){case"string":return c;case"number":return Number(c);case"boolean":return c.toLowerCase()==="true"||c==="1";default:return c}}setConfigValue(c,x,p){let $=x.split("."),z=c;for(let Z=0;Z<$.length-1;Z++){let Q=$[Z];if(!(Q in z)||typeof z[Q]!=="object")z[Q]={};z=z[Q]}z[$[$.length-1]]=p}mergeConfig(c,x){let p=this.cloneConfig(c);return this.deepMerge(p,x),p}deepMerge(c,x){if(typeof c!=="object"||c===null||typeof x!=="object"||x===null)return;for(let p of Object.keys(x)){if(x[p]===void 0||x[p]===null)continue;if(typeof x[p]==="object"&&!Array.isArray(x[p])){if(!(p in c)||typeof c[p]!=="object")c[p]={};this.deepMerge(c[p],x[p])}else c[p]=x[p]}}cloneConfig(c){return JSON.parse(JSON.stringify(c))}validateConfig(c){let x=[],p=[];if(!c.version)x.push({code:"MISSING_VERSION",message:"缺少版本信息",path:"version",severity:"error"});if(!c.core.workingDirectory)x.push({code:"MISSING_WORKING_DIR",message:"缺少工作目录配置",path:"core.workingDirectory",severity:"error"});if(c.tools.network.timeout<=0)x.push({code:"INVALID_TIMEOUT",message:"网络超时时间必须大于0",path:"tools.network.timeout",severity:"error",value:c.tools.network.timeout});if(c.core.maxMemory<=0)x.push({code:"INVALID_MAX_MEMORY",message:"最大内存必须大于0",path:"core.maxMemory",severity:"error",value:c.core.maxMemory});if(c.ui.fontSize<8||c.ui.fontSize>32)p.push({code:"FONT_SIZE_OUT_OF_RANGE",message:"字体大小建议在8-32之间",path:"ui.fontSize",severity:"warning",value:c.ui.fontSize});return{isValid:x.length===0,errors:x,warnings:p}}async runMigrations(c){let x=this.cloneConfig(c);for(let p of this.migrations)if(c.version===p.from){console.log(`运行配置迁移: ${p.from} -> ${p.to}`);for(let $ of p.changes)if($.migrationScript)try{$.migrationScript(x)}catch(z){console.warn(`迁移脚本执行失败: ${$.path}`,z)}x.version=p.to}return x}async saveConfig(c){let x=this.locations.userConfigPath,p=D0.dirname(x);await e0.mkdir(p,{recursive:!0});let $=JSON.stringify(c,null,2);if(await e0.writeFile(x,$,"utf-8"),c.core.debug)console.log(`配置已保存到: ${x}`)}async ensureConfigDirectories(){let c=[this.locations.userConfigPath,D0.dirname(this.locations.tempConfigPath)];for(let x of c){let p=D0.dirname(x);await e0.mkdir(p,{recursive:!0})}}async fileExists(c){try{return await e0.access(c),!0}catch{return!1}}async waitForConfigLoad(){let c=0,x=100,p=50;return new Promise(($,z)=>{let Z=setInterval(()=>{if(this.configLoaded)clearInterval(Z),$(void 0);else if(c>=x)clearInterval(Z),z(Error("等待配置加载超时"));c++},p)})}determineConfigSource(){return this.locations.userConfigPath}generateConfigChecksum(c){let x=JSON.stringify(c);return zq.createHash("sha256").update(x).digest("hex")}createFallbackConfig(){return console.warn("使用备用配置"),{version:"1.0.0",name:"blade-code",description:"智能代码助手命令行工具",...I0}}getConfigLocations(){let c=f7.homedir();return{userConfigPath:D0.join(c,".blade","config.json"),globalConfigPath:D0.join("/usr","local","etc","blade","config.json"),localConfigPath:D0.join(process.cwd(),".blade","config.json"),tempConfigPath:D0.join(f7.tmpdir(),"blade-config.json")}}getEnvMapping(){return{BLADE_DEBUG:{path:"core.debug",type:"boolean",default:!1,description:"启用调试模式"},BLADE_API_KEY:{path:"auth.apiKey",type:"string",required:!1,description:"API密钥"},BLADE_THEME:{path:"ui.theme",type:"string",default:"default",description:"UI主题"},BLADE_LANGUAGE:{path:"ui.language",type:"string",default:"zh-CN",description:"界面语言"},BLADE_WORKING_DIR:{path:"core.workingDirectory",type:"string",default:process.cwd(),description:"工作目录"},BLADE_MAX_MEMORY:{path:"core.maxMemory",type:"number",default:1073741824,description:"最大内存使用量"},BLADE_LLM_PROVIDER:{path:"llm.provider",type:"string",default:"qwen",description:"LLM提供商"},BLADE_LLM_MODEL:{path:"llm.model",type:"string",default:"qwen-turbo",description:"LLM模型"},BLADE_TELEMETRY:{path:"core.telemetry",type:"boolean",default:!0,description:"遥测数据收集"},BLADE_AUTO_UPDATE:{path:"core.autoUpdate",type:"boolean",default:!0,description:"自动更新"}}}getConfigMigrations(){return[{from:"1.0.0",to:"1.1.0",breaking:!1,notes:"添加遥测配置",changes:[{path:"telemetry",type:"add",description:"添加遥测配置",defaultValue:{enabled:I0.services.telemetry.enabled,target:"local",otlpEndpoint:I0.services.telemetry.endpoint}}]},{from:"1.1.0",to:"1.2.0",breaking:!1,notes:"添加MCP配置",changes:[{path:"mcp",type:"add",description:"添加MCP服务器配置",defaultValue:I0.mcp}]}]}}var Zq={command:"set <key> <value>",describe:"Set a configuration value",builder:(c)=>{return c.positional("key",{describe:"Configuration key (supports dot notation)",type:"string",demandOption:!0}).positional("value",{describe:"Configuration value",type:"string",demandOption:!0}).option("global",{alias:"g",type:"boolean",describe:"Set global configuration",default:!1}).example([["$0 config set theme dark","Set theme to dark"],["$0 config set -g model claude-3-opus","Set global model"],["$0 config set ai.temperature 0.7","Set nested configuration"]])},handler:async(c)=>{try{let x=new Ec;await x.initialize();let p=c.key.split("."),$={},z=$;for(let Z=0;Z<p.length-1;Z++){if(!z[p[Z]])z[p[Z]]={};z=z[p[Z]]}z[p[p.length-1]]=c.value,await x.updateConfig($),console.log(`✅ Set ${c.key} = ${c.value}${c.global?" (global)":""}`)}catch(x){console.error(`❌ Failed to set config: ${x instanceof Error?x.message:"Unknown error"}`),process.exit(1)}}},Qq={command:"get <key>",describe:"Get a configuration value",builder:(c)=>{return c.positional("key",{describe:"Configuration key to retrieve",type:"string",demandOption:!0}).example([["$0 config get theme","Get current theme"],["$0 config get ai.model","Get AI model setting"]])},handler:async(c)=>{try{let x=new Ec;await x.initialize();let p=x.getConfig(),$=c.key.split("."),z=p;for(let Z of $)if(z&&typeof z==="object"&&Z in z)z=z[Z];else{console.log(`\uD83D\uDD0D ${c.key}: undefined`);return}console.log(`\uD83D\uDD0D ${c.key}: ${JSON.stringify(z,null,2)}`)}catch(x){console.error(`❌ Failed to get config: ${x instanceof Error?x.message:"Unknown error"}`),process.exit(1)}}},Jq={command:"list",describe:"List all configuration values",aliases:["ls"],builder:(c)=>{return c.example([["$0 config list","Show all configuration values"]])},handler:async()=>{try{let c=new Ec;await c.initialize();let x=c.getConfig();console.log("\uD83D\uDCCB Current configuration:"),console.log(JSON.stringify(x,null,2))}catch(c){console.error(`❌ Failed to list config: ${c instanceof Error?c.message:"Unknown error"}`),process.exit(1)}}},Xq={command:"reset",describe:"Reset configuration to defaults",builder:(c)=>{return c.option("confirm",{type:"boolean",describe:"Confirm the reset operation",demandOption:!0}).example([["$0 config reset --confirm","Reset all configuration to defaults"]])},handler:async(c)=>{if(!c.confirm)console.error("❌ Reset operation requires --confirm flag"),process.exit(1);try{await new Ec().initialize(),console.log("\uD83D\uDD04 Resetting configuration to defaults..."),console.log("✅ Configuration reset complete")}catch(x){console.error(`❌ Failed to reset config: ${x instanceof Error?x.message:"Unknown error"}`),process.exit(1)}}},n7={command:"config",describe:"Manage configuration (e.g., blade config set theme dark)",builder:(c)=>{return c.command(Zq).command(Qq).command(Jq).command(Xq).demandCommand(1,"You need to specify a subcommand").help().example([["$0 config set theme dark","Set theme to dark mode"],["$0 config get ai.model","Get current AI model"],["$0 config list","Show all configuration"]])},handler:()=>{}};var k7={command:"doctor",describe:"Check the health of your Blade installation",handler:async()=>{console.log(`\uD83D\uDD0D Running Blade health check...
|
|
77
|
+
`);let c=0;try{await new Ec().initialize(),console.log("✅ Configuration: OK")}catch($){console.log("❌ Configuration: FAILED"),console.log(` Error: ${$ instanceof Error?$.message:"未知错误"}`),c++}let x=process.version;if(parseInt(x.slice(1).split(".")[0])>=18)console.log(`✅ Node.js version: ${x}`);else console.log(`⚠️ Node.js version: ${x} (recommended: v18+)`),c++;try{let $=await import("fs/promises"),z=process.cwd();await $.access(z,(await import("fs")).constants.R_OK|(await import("fs")).constants.W_OK),console.log("✅ File system permissions: OK")}catch($){console.log("❌ File system permissions: FAILED"),console.log(" Error: Cannot read/write in current directory"),c++}try{await import("ink"),console.log("✅ Dependencies: OK")}catch($){console.log("❌ Dependencies: FAILED"),console.log(" Error: Missing required dependencies"),c++}if(console.log(`
|
|
78
|
+
\uD83D\uDCCA Health Check Summary:`),c===0)console.log("\uD83C\uDF89 All checks passed! Blade is ready to use.");else console.log(`⚠️ Found ${c} issue(s). Please resolve them for optimal performance.`),process.exit(1)}};var O7={command:"install [target]",describe:"Install Blade native build. Use [target] to specify version (stable, latest, or specific version)",builder:(c)=>{return c.positional("target",{describe:"Version to install",type:"string",default:"stable",choices:["stable","latest"]}).option("force",{type:"boolean",describe:"Force reinstall",default:!1}).example([["$0 install","Install stable version"],["$0 install latest","Install latest version"],["$0 install --force","Force reinstall stable version"]])},handler:async(c)=>{console.log(`\uD83D\uDCE6 Installing Blade ${c.target}...`);try{if(c.force)console.log("\uD83D\uDD04 Force reinstall enabled");console.log("⬇️ Downloading..."),console.log("\uD83D\uDD27 Installing..."),console.log("✅ Installation completed successfully")}catch(x){console.error(`❌ Installation failed: ${x instanceof Error?x.message:"未知错误"}`),process.exit(1)}}};l4();var Kq={command:"list",describe:"List all configured MCP servers",aliases:["ls"],handler:async()=>{try{let x=_c.getInstance().getAllServers();if(x.size===0){console.log("No MCP servers configured");return}console.log("Configured MCP servers:");let p=Array.from(x.entries()).map(([$,z])=>({name:$,status:z.status,command:z.config?.command||"unknown",connectedAt:z.connectedAt?.toISOString()||"never"}));console.table(p)}catch(c){console.error(`❌ Failed to list MCP servers: ${c instanceof Error?c.message:"未知错误"}`),process.exit(1)}}},wq={command:"add <name> <config>",describe:"Add a new MCP server",builder:(c)=>{return c.positional("name",{describe:"Server name",type:"string",demandOption:!0}).positional("config",{describe:"Server config JSON or file path",type:"string",demandOption:!0}).example([[`$0 mcp add myserver '{"command": "node", "args": ["server.js"]}'`,"Add server with JSON config"],["$0 mcp add myserver config.json","Add server from config file"]])},handler:async(c)=>{try{let x=_c.getInstance(),p;try{p=JSON.parse(c.config)}catch{let z=await(await import("fs/promises")).readFile(c.config,"utf-8");p=JSON.parse(z)}await x.registerServer({name:c.name,...p}),console.log(`✅ Added MCP server: ${c.name}`)}catch(x){console.error(`❌ Failed to add MCP server: ${x instanceof Error?x.message:"未知错误"}`),process.exit(1)}}},vq={command:"remove <name>",describe:"Remove an MCP server",aliases:["rm"],builder:(c)=>{return c.positional("name",{describe:"Server name to remove",type:"string",demandOption:!0}).example([["$0 mcp remove myserver","Remove the specified MCP server"]])},handler:async(c)=>{try{await _c.getInstance().unregisterServer(c.name),console.log(`✅ Removed MCP server: ${c.name}`)}catch(x){console.error(`❌ Failed to remove MCP server: ${x instanceof Error?x.message:"未知错误"}`),process.exit(1)}}},qq={command:"start <name>",describe:"Start an MCP server",builder:(c)=>{return c.positional("name",{describe:"Server name to start",type:"string",demandOption:!0}).example([["$0 mcp start myserver","Start the specified MCP server"]])},handler:async(c)=>{try{await _c.getInstance().connectServer(c.name),console.log(`✅ Started MCP server: ${c.name}`)}catch(x){console.error(`❌ Failed to start MCP server: ${x instanceof Error?x.message:"未知错误"}`),process.exit(1)}}},Uq={command:"stop <name>",describe:"Stop an MCP server",builder:(c)=>{return c.positional("name",{describe:"Server name to stop",type:"string",demandOption:!0}).example([["$0 mcp stop myserver","Stop the specified MCP server"]])},handler:async(c)=>{try{await _c.getInstance().disconnectServer(c.name),console.log(`✅ Stopped MCP server: ${c.name}`)}catch(x){console.error(`❌ Failed to stop MCP server: ${x instanceof Error?x.message:"未知错误"}`),process.exit(1)}}},I7={command:"mcp",describe:"Configure and manage MCP servers",builder:(c)=>{return c.command(Kq).command(wq).command(vq).command(qq).command(Uq).demandCommand(1,"You need to specify a subcommand").help().example([["$0 mcp list","List all MCP servers"],["$0 mcp add myserver config.json","Add MCP server from file"],["$0 mcp start myserver","Start MCP server"]])},handler:()=>{}};var c8=Sc(e7(),1),{program:oS,createCommand:sS,createArgument:rS,createOption:tS,CommanderError:eS,InvalidArgumentError:cI,InvalidOptionArgumentError:xI,Command:x8,Argument:pI,Option:$I,Help:zI}=c8.default;import{EventEmitter as QL}from"events";class $3{config;baseUrl;constructor(c){this.config=c;if(!c.baseUrl)throw Error("baseUrl is required in ChatConfig");if(!c.apiKey)throw Error("apiKey is required in ChatConfig");if(!c.model)throw Error("model is required in ChatConfig");this.baseUrl=c.baseUrl}async chat(c,x,p){let $=this.injectSystemPrompt(c,p?.systemPrompt),z=x&&x.length>0?await this.callChatAPIWithTools($,x):await this.callChatAPI($);if(typeof z.content==="string")return z.content;return z.content.filter((Z)=>Z.type==="text"&&Z.text).map((Z)=>Z.text).join(`
|
|
79
|
+
`)}async chatDetailed(c,x,p){let $=this.injectSystemPrompt(c,p?.systemPrompt);return x&&x.length>0?await this.callChatAPIWithTools($,x):await this.callChatAPI($)}async chatText(c){let x=[{role:"user",content:c}];return this.chat(x)}async chatWithSystem(c,x){let p=[{role:"user",content:`系统提示: ${c}
|
|
80
|
+
|
|
81
|
+
用户消息: ${x}`}];return this.chat(p)}async callChatAPIWithTools(c,x){let p={"Content-Type":"application/json",Authorization:`Bearer ${this.config.apiKey}`},$={model:this.config.model,messages:c,tools:x.map((z)=>({type:"function",function:{name:z.name,description:z.description,parameters:z.parameters}})),max_tokens:this.config.maxTokens||4000,temperature:this.config.temperature||0.7};try{let z=await fetch(this.baseUrl,{method:"POST",headers:p,body:JSON.stringify($)});if(!z.ok)throw Error(`API调用失败: ${z.status} ${z.statusText}`);let Z=await z.json(),Q=Z.choices?.[0];if(!Q)throw Error("API响应格式无效");let J=Q.message;if(J.tool_calls)return{content:J.content||"",tool_calls:J.tool_calls,usage:{promptTokens:Z.usage?.prompt_tokens||0,completionTokens:Z.usage?.completion_tokens||0,totalTokens:Z.usage?.total_tokens||0}};return{content:J.content||"",usage:{promptTokens:Z.usage?.prompt_tokens||0,completionTokens:Z.usage?.completion_tokens||0,totalTokens:Z.usage?.total_tokens||0}}}catch(z){throw console.error("ChatService API调用失败:",z),z}}async callChatAPI(c){let x={"Content-Type":"application/json",Authorization:`Bearer ${this.config.apiKey}`},p={model:this.config.model,messages:c,max_tokens:this.config.maxTokens||1000,temperature:this.config.temperature||0.7};try{let $=await fetch(this.baseUrl,{method:"POST",headers:x,body:JSON.stringify(p)});if(!$.ok)throw Error(`API调用失败: ${$.status} ${$.statusText}`);let z=await $.json();return{content:z.choices?.[0]?.message?.content||"",usage:{promptTokens:z.usage?.prompt_tokens||0,completionTokens:z.usage?.completion_tokens||0,totalTokens:z.usage?.total_tokens||0}}}catch($){throw Error(`Chat API调用失败: ${$ instanceof Error?$.message:"未知错误"}`)}}getConfig(){return{...this.config}}updateConfig(c){this.config={...this.config,...c}}injectSystemPrompt(c,x){if(!x)return c;if(c.some(($)=>$.role==="system"))return c;return[{role:"system",content:x},...c]}}import{promises as p8}from"fs";import iU from"path";var z3=`You are Blade Code, a professional command line intelligent coding assistant.
|
|
82
|
+
|
|
83
|
+
You are an interactive CLI tool that helps users with software engineering tasks. Use the instructions below and the tools available to you to assist the user.
|
|
84
|
+
|
|
85
|
+
IMPORTANT: Assist with defensive security tasks only. Refuse to create, modify, or improve code that may be used maliciously. Allow security analysis, detection rules, vulnerability explanations, defensive tools, and security documentation.
|
|
86
|
+
IMPORTANT: You must NEVER generate or guess URLs for the user unless you are confident that the URLs are for helping the user with programming. You may use URLs provided by the user in their messages or local files.
|
|
87
|
+
|
|
88
|
+
If the user asks for help or wants to give feedback inform them of the following:
|
|
89
|
+
- /help: Get help with using Blade Code
|
|
90
|
+
- To give feedback, users should report the issue at https://github.com/echoVic/Blade/issues
|
|
91
|
+
|
|
92
|
+
When the user directly asks about Blade Code (eg. "can Blade Code do...", "does Blade Code have..."), or asks in second person (eg. "are you able...", "can you do..."), or asks how to use a specific Blade Code feature, use the WebFetch tool to gather information to answer the question from the Blade Code documentation at https://github.com/echoVic/Blade/blob/main/README.md.
|
|
93
|
+
|
|
94
|
+
# Tone and style
|
|
95
|
+
You should be concise, direct, and to the point. When you run a non-trivial bash command, you should explain what the command does and why you are running it, to make sure the user understands what you are doing (this is especially important when you are running a command that will make changes to the user's system).
|
|
96
|
+
Remember that your output will be displayed on a command line interface. Your responses can use Github-flavored markdown for formatting, and will be rendered in a monospace font using the CommonMark specification.
|
|
97
|
+
Output text to communicate with the user; all text you output outside of tool use is displayed to the user. Only use tools to complete tasks. Never use tools like Bash or code comments as means to communicate with the user during the session.
|
|
98
|
+
If you cannot or will not help the user with something, please do not say why or what it could lead to, since this comes across as preachy and annoying. Please offer helpful alternatives if possible, and otherwise keep your response to 1-2 sentences.
|
|
99
|
+
Only use emojis if the user explicitly requests it. Avoid using emojis in all communication unless asked.
|
|
100
|
+
IMPORTANT: You should minimize output tokens as much as possible while maintaining helpfulness, quality, and accuracy. Only address the specific query or task at hand, avoiding tangential information unless absolutely critical for completing the request. If you can answer in 1-3 sentences or a short paragraph, please do.
|
|
101
|
+
IMPORTANT: You should NOT answer with unnecessary preamble or postamble (such as explaining your code or summarizing your action), unless the user asks you to.
|
|
102
|
+
IMPORTANT: Keep your responses short, since they will be displayed on a command line interface. You MUST answer concisely with fewer than 4 lines (not including tool use or code generation), unless user asks for detail. Answer the user's question directly, without elaboration, explanation, or details. One word answers are best. Avoid introductions, conclusions, and explanations. You MUST avoid text before/after your response, such as "The answer is <answer>.", "Here is the content of the file..." or "Based on the information provided, the answer is..." or "Here is what I will do next...". Here are some examples to demonstrate appropriate verbosity:
|
|
103
|
+
<example>
|
|
104
|
+
user: 2 + 2
|
|
105
|
+
assistant: 4
|
|
106
|
+
</example>
|
|
107
|
+
|
|
108
|
+
<example>
|
|
109
|
+
user: what is 2+2?
|
|
110
|
+
assistant: 4
|
|
111
|
+
</example>
|
|
112
|
+
|
|
113
|
+
<example>
|
|
114
|
+
user: is 11 a prime number?
|
|
115
|
+
assistant: Yes
|
|
116
|
+
</example>
|
|
117
|
+
|
|
118
|
+
<example>
|
|
119
|
+
user: what command should I run to list files in the current directory?
|
|
120
|
+
assistant: ls
|
|
121
|
+
</example>
|
|
122
|
+
|
|
123
|
+
<example>
|
|
124
|
+
user: what command should I run to watch files in the current directory?
|
|
125
|
+
assistant: [use the ls tool to list the files in the current directory, then read docs/commands in the relevant file to find out how to watch files]
|
|
126
|
+
npm run dev
|
|
127
|
+
</example>
|
|
128
|
+
|
|
129
|
+
<example>
|
|
130
|
+
user: How many golf balls fit inside a jetta?
|
|
131
|
+
assistant: 150000
|
|
132
|
+
</example>
|
|
133
|
+
|
|
134
|
+
<example>
|
|
135
|
+
user: what files are in the directory src/?
|
|
136
|
+
assistant: [runs ls and sees foo.c, bar.c, baz.c]
|
|
137
|
+
user: which file contains the implementation of foo?
|
|
138
|
+
assistant: src/foo.c
|
|
139
|
+
</example>
|
|
140
|
+
|
|
141
|
+
# Proactiveness
|
|
142
|
+
You are allowed to be proactive, but only when the user asks you to do something. You should strive to strike a balance between:
|
|
143
|
+
1. Doing the right thing when asked, including taking actions and follow-up actions
|
|
144
|
+
2. Not surprising the user with actions you take without asking
|
|
145
|
+
For example, if the user asks you how to approach something, you should do your best to answer their question first, and not immediately jump into taking actions.
|
|
146
|
+
3. Do not add additional code explanation summary unless requested by the user. After working on a file, just stop, rather than providing an explanation of what you did.
|
|
147
|
+
|
|
148
|
+
# Following conventions
|
|
149
|
+
When making changes to files, first understand the file's code conventions. Mimic code style, use existing libraries and utilities, and follow existing patterns.
|
|
150
|
+
- NEVER assume that a given library is available, even if it is well known. Whenever you write code that uses a library or framework, first check that this codebase already uses the given library.
|
|
151
|
+
- When you create a new component, first look at existing components to see how they're written; then consider framework choice, naming conventions, typing, and other conventions.
|
|
152
|
+
- When you edit a piece of code, first look at the code's surrounding context (especially its imports) to understand the code's choice of frameworks and libraries. Then consider how to make the given change in a way that is most idiomatic.
|
|
153
|
+
- Always follow security best practices. Never introduce code that exposes or logs secrets and keys. Never commit secrets or keys to the repository.
|
|
154
|
+
|
|
155
|
+
# Code style
|
|
156
|
+
- IMPORTANT: DO NOT ADD ***ANY*** COMMENTS unless asked
|
|
157
|
+
|
|
158
|
+
# Task Management
|
|
159
|
+
You have access to the TodoWrite tools to help you manage and plan tasks. Use these tools VERY frequently to ensure that you are tracking your tasks and giving the user visibility into your progress.
|
|
160
|
+
These tools are also EXTREMELY helpful for planning tasks, and for breaking down larger complex tasks into smaller steps. If you do not use this tool when planning, you may forget to do important tasks - and that is unacceptable.
|
|
161
|
+
|
|
162
|
+
It is critical that you mark todos as completed as soon as you are done with a task. Do not batch up multiple tasks before marking them as completed.
|
|
163
|
+
|
|
164
|
+
Examples:
|
|
165
|
+
|
|
166
|
+
<example>
|
|
167
|
+
user: Run the build and fix any type errors
|
|
168
|
+
assistant: I'm going to use the TodoWrite tool to write the following items to the todo list:
|
|
169
|
+
- Run the build
|
|
170
|
+
- Fix any type errors
|
|
171
|
+
|
|
172
|
+
I'm now going to run the build using Bash.
|
|
173
|
+
|
|
174
|
+
Looks like I found 10 type errors. I'm going to use the TodoWrite tool to write 10 items to the todo list.
|
|
175
|
+
|
|
176
|
+
marking the first todo as in_progress
|
|
177
|
+
|
|
178
|
+
Let me start working on the first item...
|
|
179
|
+
|
|
180
|
+
The first item has been fixed, let me mark the first todo as completed, and move on to the second item...
|
|
181
|
+
..
|
|
182
|
+
..
|
|
183
|
+
</example>
|
|
184
|
+
In the above example, the assistant completes all the tasks, including the 10 error fixes and running the build and fixing all errors.
|
|
185
|
+
|
|
186
|
+
<example>
|
|
187
|
+
user: Help me write a new feature that allows users to track their usage metrics and export them to various formats
|
|
188
|
+
|
|
189
|
+
A: I'll help you implement a usage metrics tracking and export feature. Let me first use the TodoWrite tool to plan this task.
|
|
190
|
+
Adding the following todos to the todo list:
|
|
191
|
+
1. Research existing metrics tracking in the codebase
|
|
192
|
+
2. Design the metrics collection system
|
|
193
|
+
3. Implement core metrics tracking functionality
|
|
194
|
+
4. Create export functionality for different formats
|
|
195
|
+
|
|
196
|
+
Let me start by researching the existing codebase to understand what metrics we might already be tracking and how we can build on that.
|
|
197
|
+
|
|
198
|
+
I'm going to search for any existing metrics or telemetry code in the project.
|
|
199
|
+
|
|
200
|
+
I've found some existing telemetry code. Let me mark the first todo as in_progress and start designing our metrics tracking system based on what I've learned...
|
|
201
|
+
|
|
202
|
+
[Assistant continues implementing the feature step by step, marking todos as in_progress and completed as they go]
|
|
203
|
+
</example>
|
|
204
|
+
|
|
205
|
+
Users may configure 'hooks', shell commands that execute in response to events like tool calls, in settings. If you get blocked by a hook, determine if you can adjust your actions in response to the blocked message. If not, ask the user to check their hooks configuration.
|
|
206
|
+
|
|
207
|
+
# Doing tasks
|
|
208
|
+
The user will primarily request you perform software engineering tasks. This includes solving bugs, adding new functionality, refactoring code, explaining code, and more. For these tasks the following steps are recommended:
|
|
209
|
+
- Use the TodoWrite tool to plan the task if required
|
|
210
|
+
- Use the available search tools to understand the codebase and the user's query. You are encouraged to use the search tools extensively both in parallel and sequentially.
|
|
211
|
+
- Implement the solution using all tools available to you
|
|
212
|
+
- Verify the solution if possible with tests. NEVER assume specific test framework or test script. Check the README or search codebase to determine the testing approach.
|
|
213
|
+
- VERY IMPORTANT: When you have completed a task, you MUST run the lint and typecheck commands (eg. npm run lint, npm run typecheck, ruff, etc.) with Bash if they were provided to you to ensure your code is correct.
|
|
214
|
+
NEVER commit changes unless the user explicitly asks you to. It is VERY IMPORTANT to only commit when explicitly asked, otherwise the user will feel that you are being too proactive.
|
|
215
|
+
|
|
216
|
+
- Tool results and user messages may include <system-reminder> tags. <system-reminder> tags contain useful information and reminders. They are NOT part of the user's provided input or the tool result.
|
|
217
|
+
|
|
218
|
+
# Tool usage policy
|
|
219
|
+
- When doing file search, prefer to use the Task tool in order to reduce context usage.
|
|
220
|
+
- A custom slash command is a prompt that starts with / to run an expanded prompt saved as a Markdown file, like /compact. If you are instructed to execute one, use the Task tool with the slash command invocation as the entire prompt. Slash commands can take arguments; defer to user instructions.
|
|
221
|
+
- When WebFetch returns a message about a redirect to a different host, you should immediately make a new WebFetch request with the redirect URL provided in the response.
|
|
222
|
+
- You have the capability to call multiple tools in a single response. When multiple independent pieces of information are requested, batch your tool calls together for optimal performance. When making multiple bash tool calls, you MUST send a single message with multiple tools calls to run the calls in parallel. For example, if you need to run "git status" and "git diff", send a single message with two tool calls to run the calls in parallel.
|
|
223
|
+
|
|
224
|
+
You MUST answer concisely with fewer than 4 lines of text (not including tool use or code generation), unless user asks for detail.
|
|
225
|
+
|
|
226
|
+
# Code References
|
|
227
|
+
|
|
228
|
+
When referencing specific functions or pieces of code include the pattern \`file_path:line_number\` to allow the user to easily navigate to the source code location.
|
|
229
|
+
|
|
230
|
+
<example>
|
|
231
|
+
user: Where are errors from the client handled?
|
|
232
|
+
assistant: Clients are marked as failed in the \`connectToServer\` function in src/services/process.ts:712.
|
|
233
|
+
</example>`;class v1{sources=[];config;constructor(c){this.config={enabled:!0,default:z3,allowOverride:!0,maxLength:4000,...c},this.addSource({type:"default",content:this.config.default,priority:0})}addSource(c){this.sources.push(c),this.sources.sort((x,p)=>p.priority-x.priority)}async loadFromFile(c,x=5){try{let p=await p8.readFile(c,"utf-8");if(p.trim())return this.addSource({type:"file",content:p.trim(),priority:x,source:c}),!0}catch(p){}return!1}addCliPrompt(c){if(!this.config.allowOverride)return;this.addSource({type:"cli",content:c,priority:10})}build(){if(!this.config.enabled||this.sources.length===0)return"";let c=[];for(let p of this.sources)if(p.content.trim())c.push(p.content.trim());let x=c.join(`
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
`);if(x.length>this.config.maxLength)console.warn(`系统提示长度 (${x.length}) 超过限制 (${this.config.maxLength}),可能影响性能`);return x}getSources(){return[...this.sources]}clear(){this.sources=this.sources.filter((c)=>c.type==="default")}static async fromSources(c){let x=new v1(c.config);if(c.projectPath){let p=iU.join(c.projectPath,"BLADE.md");await x.loadFromFile(p,5)}if(c.cliPrompt)x.addCliPrompt(c.cliPrompt);return x}async fileExists(c){try{return await p8.access(c),!0}catch{return!1}}}import $8 from"path";class q1{options;constructor(c={}){this.options={workingDirectory:process.cwd(),...c}}async build(c){let x={cliPrompt:c,config:this.options.config};if(this.options.workingDirectory)x.projectPath=this.options.workingDirectory;return v1.fromSources(x)}async buildString(c){return(await this.build(c)).build()}getProjectConfigPath(){return $8.join(this.options.workingDirectory||process.cwd(),"BLADE.md")}async hasProjectConfig(){try{return await(await import("fs/promises")).access(this.getProjectConfigPath()),!0}catch{return!1}}async createExampleConfig(){let c=this.getExampleConfigContent(),x=this.getProjectConfigPath(),p=await import("fs/promises"),$=$8.dirname(x);return await p.mkdir($,{recursive:!0}),await p.writeFile(x,c,"utf-8"),x}getExampleConfigContent(){return`# Blade Code 项目配置
|
|
238
|
+
|
|
239
|
+
这个文件定义了 Blade Code 在当前项目中的行为和个性。
|
|
240
|
+
|
|
241
|
+
## 项目背景
|
|
242
|
+
请描述这个项目的主要目的、技术栈和特殊要求。
|
|
243
|
+
|
|
244
|
+
## AI 助手行为指导
|
|
245
|
+
- 专注于本项目的技术栈和架构
|
|
246
|
+
- 遵循项目的代码规范和最佳实践
|
|
247
|
+
- 提供符合项目上下文的建议
|
|
248
|
+
|
|
249
|
+
## 示例自定义提示
|
|
250
|
+
\`\`\`
|
|
251
|
+
你是这个 TypeScript 项目的专家助手。请特别关注:
|
|
252
|
+
1. 类型安全和 TypeScript 最佳实践
|
|
253
|
+
2. 模块化架构和代码组织
|
|
254
|
+
3. 测试覆盖率和代码质量
|
|
255
|
+
4. 性能优化和安全考虑
|
|
256
|
+
|
|
257
|
+
在回答时请考虑项目的现有架构和约定。
|
|
258
|
+
\`\`\`
|
|
259
|
+
|
|
260
|
+
## 使用方法
|
|
261
|
+
1. 编辑此文件来自定义 AI 助手的行为
|
|
262
|
+
2. 删除示例内容,添加你的项目特定指导
|
|
263
|
+
3. Blade Code 会自动加载这些配置
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
此文件由 \`blade /init\` 命令创建。
|
|
267
|
+
`}}var GU=new q1;Ic();import{promises as L2}from"fs";Cc();class Wc{toolName;params;constructor(c,x){this.toolName=c;this.params=x}validateParams(){if(!this.params)throw Error(`工具 ${this.toolName} 缺少必需参数`)}createSuccessResult(c,x,p){return{success:!0,llmContent:c,displayContent:x||"执行成功",metadata:p}}createErrorResult(c,x){let p=typeof c==="string"?c:c.message;return{success:!1,llmContent:`执行失败: ${p}`,displayContent:`错误: ${p}`,error:{type:"execution_error",message:p},metadata:x}}checkAbortSignal(c){if(c.aborted)throw Error("工具执行已被中止")}}Cc();class z8 extends Wc{constructor(c){super("edit",c)}getDescription(){let{file_path:c,old_string:x,new_string:p,replace_all:$}=this.params,z=$?"替换所有":"替换首个",Z=x.length>50?`${x.substring(0,50)}...`:x;return`${z}匹配项: "${Z}" → "${p}" (${c})`}getAffectedPaths(){return[this.params.file_path]}async shouldConfirm(){let{file_path:c,old_string:x,new_string:p,replace_all:$}=this.params;try{let z=await L2.readFile(c,"utf8"),Z=this.findMatches(z,x);if(Z.length===0)return{type:"edit",title:"未找到匹配内容",message:`在文件 ${c} 中未找到要替换的内容`,risks:["操作将不会进行任何更改"],affectedFiles:[c]};let Q=$?Z.length:1;return{type:"edit",title:"确认文件编辑",message:`将在 ${c} 中${$?"替换所有":"替换首个"}匹配项 (共找到${Z.length}处)`,risks:[`将替换 ${Q} 处匹配项`,"此操作将直接修改文件","建议先备份重要文件"],affectedFiles:[c]}}catch(z){return{type:"edit",title:"文件访问错误",message:`无法读取文件 ${c}: ${z.message}`,risks:["文件可能不存在或无权访问"],affectedFiles:[c]}}}async execute(c,x){try{this.validateParams(),this.checkAbortSignal(c);let{file_path:p,old_string:$,new_string:z,replace_all:Z=!1}=this.params;x?.("开始读取文件...");let Q;try{Q=await L2.readFile(p,"utf8")}catch(W){if(W.code==="ENOENT")return this.createErrorResult(`文件不存在: ${p}`);throw W}if(this.checkAbortSignal(c),$===z)return this.createErrorResult("新字符串与旧字符串相同,无需进行替换");let J=this.findMatches(Q,$);if(J.length===0)return this.createErrorResult(`在文件中未找到要替换的字符串: "${$}"`);x?.(`找到 ${J.length} 个匹配项,开始替换...`);let X,i;if(Z)X=Q.split($).join(z),i=J.length;else{let W=Q.indexOf($);X=Q.substring(0,W)+z+Q.substring(W+$.length),i=1}this.checkAbortSignal(c),await L2.writeFile(p,X,"utf8");let G=await L2.stat(p),Y={file_path:p,matches_found:J.length,replacements_made:i,replace_all:Z,old_string_length:$.length,new_string_length:z.length,original_size:Q.length,new_size:X.length,size_diff:X.length-Q.length,last_modified:G.mtime.toISOString()},H=this.formatDisplayMessage(Y);return this.createSuccessResult({file_path:p,replacements:i,total_matches:J.length},H,Y)}catch(p){return this.createErrorResult(p)}}findMatches(c,x){let p=[],$=c.indexOf(x);while($!==-1)p.push($),$=c.indexOf(x,$+1);return p}formatDisplayMessage(c){let{file_path:x,matches_found:p,replacements_made:$,replace_all:z,size_diff:Z}=c,Q=`成功编辑文件: ${x}`;if(Q+=`
|
|
268
|
+
替换了 ${$} 个匹配项`,!z&&p>1)Q+=` (共找到 ${p} 个匹配项)`;if(Z!==0){let J=Z>0?`增加${Z}`:`减少${Math.abs(Z)}`;Q+=`
|
|
269
|
+
文件大小${J}个字符`}return Q}}class N2 extends Jc{constructor(){let c={type:"object",properties:{file_path:{type:"string",description:"要编辑的文件路径(绝对路径)"},old_string:{type:"string",description:"要替换的字符串"},new_string:{type:"string",description:"新的字符串内容"},replace_all:{type:"boolean",default:!1,description:"是否替换所有匹配项(默认只替换第一个)"}},required:["file_path","old_string","new_string"],additionalProperties:!1};super("edit","文件编辑","在文件中进行精确的字符串替换,支持替换单个或所有匹配项","edit",c,!0,"1.0.0","文件操作",["file","edit","replace","modify"])}build(c){let x=this.validateString(c.file_path,"file_path",{required:!0,minLength:1}),p=this.validateString(c.old_string,"old_string",{required:!0,minLength:1}),$=this.validateString(c.new_string,"new_string",{required:!0}),z=this.validateBoolean(c.replace_all??!1,"replace_all");return new z8({file_path:x,old_string:p,new_string:$,replace_all:z})}}Ic();import{promises as A2}from"fs";Cc();class Z8 extends Wc{constructor(c){super("multi_edit",c)}getDescription(){let{file_path:c,edits:x}=this.params;return`在 ${c} 中执行 ${x.length} 个编辑操作`}getAffectedPaths(){return[this.params.file_path]}async shouldConfirm(){let{file_path:c,edits:x}=this.params;try{let p=await A2.readFile(c,"utf8"),$=this.analyzeEdits(p,x);if($.totalMatches===0)return{type:"edit",title:"未找到匹配内容",message:`在文件 ${c} 中未找到任何要替换的内容`,risks:["操作将不会进行任何更改"],affectedFiles:[c]};return{type:"edit",title:"确认批量编辑",message:`将在 ${c} 中执行 ${x.length} 个编辑操作`,risks:[`总共将替换 ${$.totalReplacements} 处内容`,`涉及 ${$.successfulEdits} 个有效编辑操作`,"此操作将按顺序执行所有编辑,后续编辑基于前面编辑的结果","建议先备份重要文件"],affectedFiles:[c]}}catch(p){return{type:"edit",title:"文件访问错误",message:`无法读取文件 ${c}: ${p.message}`,risks:["文件可能不存在或无权访问"],affectedFiles:[c]}}}async execute(c,x){try{this.validateParams(),this.checkAbortSignal(c);let{file_path:p,edits:$}=this.params;x?.("开始读取文件...");let z;try{z=await A2.readFile(p,"utf8")}catch(W){if(W.code==="ENOENT")return this.createErrorResult(`文件不存在: ${p}`);throw W}this.checkAbortSignal(c);let Z=this.validateEdits($);if(!Z.isValid)return this.createErrorResult(Z.error);x?.(`开始执行 ${$.length} 个编辑操作...`);let Q=z,J=[];for(let W=0;W<$.length;W++){let K=$[W];x?.(`执行编辑操作 ${W+1}/${$.length}...`);try{let w=this.applyEdit(Q,K);Q=w.newContent,J.push({index:W,operation:K,success:!0,matchesFound:w.matchesFound,replacementsMade:w.replacementsMade}),this.checkAbortSignal(c)}catch(w){J.push({index:W,operation:K,success:!1,matchesFound:0,replacementsMade:0,error:w.message})}}x?.("写入修改后的文件..."),await A2.writeFile(p,Q,"utf8");let X=await A2.stat(p),i=J.filter((W)=>W.success),G=i.reduce((W,K)=>W+K.replacementsMade,0),Y={file_path:p,total_operations:$.length,successful_operations:i.length,failed_operations:$.length-i.length,total_replacements:G,original_size:z.length,new_size:Q.length,size_diff:Q.length-z.length,operation_results:J,last_modified:X.mtime.toISOString()},H=this.formatDisplayMessage(Y);return this.createSuccessResult({file_path:p,operations_completed:i.length,total_replacements:G,operations_failed:$.length-i.length},H,Y)}catch(p){return this.createErrorResult(p)}}analyzeEdits(c,x){let p=0,$=0,z=0;for(let Z of x){let Q=this.findMatches(c,Z.old_string);if(Q.length>0)z++,p+=Q.length,$+=Z.replace_all?Q.length:1}return{totalMatches:p,totalReplacements:$,successfulEdits:z}}validateEdits(c){if(c.length===0)return{isValid:!1,error:"编辑操作列表不能为空"};for(let x=0;x<c.length;x++){let p=c[x];if(!p.old_string||p.old_string.length===0)return{isValid:!1,error:`编辑操作 ${x+1}: old_string 不能为空`};if(p.new_string===void 0||p.new_string===null)return{isValid:!1,error:`编辑操作 ${x+1}: new_string 不能为空`};if(p.old_string===p.new_string)return{isValid:!1,error:`编辑操作 ${x+1}: 新字符串与旧字符串相同`}}return{isValid:!0}}applyEdit(c,x){let p=this.findMatches(c,x.old_string);if(p.length===0)throw Error(`未找到要替换的字符串: "${x.old_string}"`);let $,z;if(x.replace_all)$=c.split(x.old_string).join(x.new_string),z=p.length;else{let Z=c.indexOf(x.old_string);$=c.substring(0,Z)+x.new_string+c.substring(Z+x.old_string.length),z=1}return{newContent:$,matchesFound:p.length,replacementsMade:z}}findMatches(c,x){let p=[],$=c.indexOf(x);while($!==-1)p.push($),$=c.indexOf(x,$+1);return p}formatDisplayMessage(c){let{file_path:x,successful_operations:p,failed_operations:$,total_replacements:z,size_diff:Z}=c,Q=`成功批量编辑文件: ${x}`;if(Q+=`
|
|
270
|
+
完成 ${p} 个编辑操作`,$>0)Q+=` (${$} 个操作失败)`;if(Q+=`
|
|
271
|
+
总共替换了 ${z} 处内容`,Z!==0){let J=Z>0?`增加${Z}`:`减少${Math.abs(Z)}`;Q+=`
|
|
272
|
+
文件大小${J}个字符`}return Q}}class u2 extends Jc{constructor(){let c={type:"object",properties:{file_path:{type:"string",description:"要编辑的文件路径(绝对路径)"},edits:{type:"array",description:"编辑操作列表,按顺序执行",items:{type:"object",properties:{old_string:{type:"string",description:"要替换的字符串"},new_string:{type:"string",description:"新的字符串内容"},replace_all:{type:"boolean",default:!1,description:"是否替换所有匹配项(默认只替换第一个)"}},required:["old_string","new_string"],additionalProperties:!1},minItems:1}},required:["file_path","edits"],additionalProperties:!1};super("multi_edit","批量编辑","在单个文件中按顺序执行多个字符串替换操作","edit",c,!0,"1.0.0","文件操作",["file","edit","batch","multi","replace"])}build(c){let x=this.validateString(c.file_path,"file_path",{required:!0,minLength:1}),p=this.validateArray(c.edits,"edits",{required:!0,minLength:1,itemValidator:(z,Z)=>{if(typeof z!=="object"||z===null)this.createValidationError("edits",`编辑操作 ${Z+1} 必须是对象类型`,z);let Q=this.validateString(z.old_string,`edits[${Z}].old_string`,{required:!0,minLength:1}),J=this.validateString(z.new_string,`edits[${Z}].new_string`,{required:!0}),X=this.validateBoolean(z.replace_all??!1,`edits[${Z}].replace_all`);return{old_string:Q,new_string:J,replace_all:X}}});return new Z8({file_path:x,edits:p})}}Ic();import{promises as P2}from"fs";import{extname as YU}from"path";Cc();class Q8 extends Wc{constructor(c){super("read",c)}getDescription(){let{file_path:c,offset:x,limit:p}=this.params,$=`读取文件 ${c}`;if(x!==void 0){if($+=` (从第${x+1}行开始`,p!==void 0)$+=`,最多${p}行`;$+=")"}return $}getAffectedPaths(){return[this.params.file_path]}async shouldConfirm(){return null}async execute(c,x){try{this.validateParams(),this.checkAbortSignal(c);let{file_path:p,offset:$,limit:z,encoding:Z="utf8"}=this.params;x?.("开始读取文件...");try{await P2.access(p)}catch(W){return this.createErrorResult(`文件不存在: ${p}`)}this.checkAbortSignal(c);let Q=await P2.stat(p);if(Q.isDirectory())return this.createErrorResult(`无法读取目录: ${p}`);let J=YU(p).toLowerCase(),X=this.isTextFile(J),i=this.isBinaryFile(J),G,Y={file_path:p,file_size:Q.size,file_type:J,last_modified:Q.mtime.toISOString(),encoding:Z};if(i&&Z==="utf8")x?.("检测到二进制文件,使用base64编码..."),G=await P2.readFile(p,"base64"),Y.encoding="base64",Y.is_binary=!0;else{let W=await P2.readFile(p);if(Z==="base64")G=W.toString("base64");else if(Z==="binary")G=W.toString("binary");else G=W.toString("utf8")}if(this.checkAbortSignal(c),($!==void 0||z!==void 0)&&Z==="utf8"&&X){let W=G.split(`
|
|
273
|
+
`),K=$||0,w=z!==void 0?K+z:W.length,q=W.slice(K,w);G=q.map((U,b)=>{return`${(K+b+1).toString().padStart(6)}→${U}`}).join(`
|
|
274
|
+
`),Y.lines_read=q.length,Y.total_lines=W.length,Y.start_line=K+1,Y.end_line=Math.min(w,W.length)}let H=this.formatDisplayMessage(p,Y);return this.createSuccessResult(G,H,Y)}catch(p){return this.createErrorResult(p)}}isTextFile(c){return[".txt",".md",".js",".ts",".jsx",".tsx",".json",".xml",".html",".htm",".css",".scss",".sass",".less",".yml",".yaml",".toml",".ini",".cfg",".py",".rb",".php",".java",".cpp",".c",".h",".hpp",".rs",".go",".sh",".bash",".zsh",".fish",".ps1",".bat",".cmd",".sql",".graphql",".vue",".svelte",".astro",".dockerfile",".gitignore",".env"].includes(c)||c===""}isBinaryFile(c){return[".jpg",".jpeg",".png",".gif",".bmp",".svg",".ico",".webp",".mp3",".wav",".mp4",".avi",".mov",".wmv",".flv",".webm",".pdf",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".zip",".tar",".gz",".rar",".7z",".exe",".dll",".so",".ttf",".otf",".woff",".woff2",".eot"].includes(c)}formatDisplayMessage(c,x){let p=`成功读取文件: ${c}`;if(x.file_size)p+=` (${this.formatFileSize(x.file_size)})`;if(x.lines_read!==void 0)p+=`
|
|
275
|
+
读取了 ${x.lines_read} 行 (第${x.start_line}-${x.end_line}行,共${x.total_lines}行)`;if(x.is_binary)p+=`
|
|
276
|
+
文件以base64编码显示`;return p}formatFileSize(c){let x=["B","KB","MB","GB"],p=c,$=0;while(p>=1024&&$<x.length-1)p/=1024,$++;return`${p.toFixed(1)}${x[$]}`}}class y2 extends Jc{constructor(){let c={type:"object",properties:{file_path:{type:"string",description:"要读取的文件路径(绝对路径)"},offset:{type:"integer",minimum:0,description:"开始读取的行号(可选,仅对文本文件有效)"},limit:{type:"integer",minimum:1,description:"读取的行数(可选,仅对文本文件有效)"},encoding:{type:"string",enum:["utf8","base64","binary"],default:"utf8",description:"文件编码方式"}},required:["file_path"],additionalProperties:!1};super("read","文件读取","读取本地文件系统中的文件,支持文本、图片、PDF等多种格式","read",c,!1,"1.0.0","文件操作",["file","io","read"])}build(c){let x=this.validateString(c.file_path,"file_path",{required:!0,minLength:1}),p;if(c.offset!==void 0)p=this.validateNumber(c.offset,"offset",{min:0,integer:!0});let $;if(c.limit!==void 0)$=this.validateNumber(c.limit,"limit",{min:1,integer:!0});let z=c.encoding||"utf8";if(!["utf8","base64","binary"].includes(z))this.createValidationError("encoding","编码格式必须是 utf8、base64 或 binary 之一",z);let Z={file_path:x,...p!==void 0&&{offset:p},...$!==void 0&&{limit:$},encoding:z};return new Q8(Z)}}Ic();import{promises as bx}from"fs";import{dirname as HU}from"path";Cc();class J8 extends Wc{constructor(c){super("write",c)}getDescription(){let{file_path:c}=this.params;return`写入文件 ${c}`}getAffectedPaths(){return[this.params.file_path]}async shouldConfirm(){let{file_path:c}=this.params;try{return await bx.access(c),{type:"edit",title:"确认文件覆盖",message:`文件 ${c} 已存在,确认要覆盖吗?`,risks:["现有文件内容将被完全替换","此操作不可撤销(除非有备份)"],affectedFiles:[c]}}catch{return null}}async execute(c,x){try{this.validateParams(),this.checkAbortSignal(c);let{file_path:p,content:$,encoding:z="utf8",create_directories:Z=!0,backup:Q=!1}=this.params;if(x?.("开始写入文件..."),Z){let H=HU(p);try{await bx.mkdir(H,{recursive:!0})}catch(W){if(W.code!=="EEXIST")throw W}}this.checkAbortSignal(c);let J;if(Q)try{await bx.access(p),J=`${p}.backup.${Date.now()}`,await bx.copyFile(p,J),x?.(`已创建备份: ${J}`)}catch{}this.checkAbortSignal(c);let X;if(z==="base64")X=Buffer.from($,"base64");else if(z==="binary")X=Buffer.from($,"binary");else X=Buffer.from($,"utf8");await bx.writeFile(p,X),this.checkAbortSignal(c);let i=await bx.stat(p),G={file_path:p,content_size:$.length,file_size:i.size,encoding:z,created_directories:Z,backup_created:Q&&J!==void 0,backup_path:J,last_modified:i.mtime.toISOString()},Y=this.formatDisplayMessage(p,G);return this.createSuccessResult({file_path:p,size:i.size,modified:i.mtime.toISOString()},Y,G)}catch(p){return this.createErrorResult(p)}}formatDisplayMessage(c,x){let p=`成功写入文件: ${c}`;if(x.file_size!==void 0)p+=` (${this.formatFileSize(x.file_size)})`;if(x.backup_created)p+=`
|
|
277
|
+
已创建备份: ${x.backup_path}`;if(x.encoding!=="utf8")p+=`
|
|
278
|
+
使用编码: ${x.encoding}`;return p}formatFileSize(c){let x=["B","KB","MB","GB"],p=c,$=0;while(p>=1024&&$<x.length-1)p/=1024,$++;return`${p.toFixed(1)}${x[$]}`}}class M2 extends Jc{constructor(){let c={type:"object",properties:{file_path:{type:"string",description:"要写入的文件路径(绝对路径)"},content:{type:"string",description:"要写入的文件内容"},encoding:{type:"string",enum:["utf8","base64","binary"],default:"utf8",description:"文件编码方式"},create_directories:{type:"boolean",default:!0,description:"是否自动创建不存在的目录"},backup:{type:"boolean",default:!1,description:"是否在覆盖文件前创建备份"}},required:["file_path","content"],additionalProperties:!1};super("write","文件写入","将内容写入到本地文件系统,支持自动创建目录和备份功能","edit",c,!0,"1.0.0","文件操作",["file","io","write","create"])}build(c){let x=this.validateString(c.file_path,"file_path",{required:!0,minLength:1}),p=this.validateString(c.content,"content",{required:!0}),$=c.encoding||"utf8";if(!["utf8","base64","binary"].includes($))this.createValidationError("encoding","编码格式必须是 utf8、base64 或 binary 之一",$);let z=this.validateBoolean(c.create_directories??!0,"create_directories"),Z=this.validateBoolean(c.backup??!1,"backup");return new J8({file_path:x,content:p,encoding:$,create_directories:z,backup:Z})}}Ic();import{promises as f2}from"fs";import{extname as WU,join as KU,relative as wU,resolve as vU}from"path";Cc();class X8 extends Wc{constructor(c){super("find",c)}getDescription(){let{name:c,path:x,type:p}=this.params,$=x||"当前目录",z=p==="file"?"文件":p==="directory"?"目录":"文件和目录",Z=c?` 匹配"${c}"`:"";return`在 ${$} 中查找${z}${Z}`}getAffectedPaths(){return[this.params.path||process.cwd()]}async shouldConfirm(){return null}async execute(c,x){try{this.validateParams(),this.checkAbortSignal(c);let{name:p,path:$=process.cwd(),type:z="both",size_min:Z,size_max:Q,modified_after:J,modified_before:X,extension:i,case_sensitive:G=!1,max_depth:Y=10,max_results:H=100,exclude_patterns:W=[]}=this.params;x?.(`开始在 ${$} 中查找文件...`);let K=vU($);try{if(!(await f2.stat(K)).isDirectory())return this.createErrorResult(`搜索路径必须是目录: ${K}`)}catch(V){if(V.code==="ENOENT")return this.createErrorResult(`搜索路径不存在: ${K}`);throw V}this.checkAbortSignal(c);let w=J?new Date(J):void 0,q=X?new Date(X):void 0,U=await this.performFind(K,{name:p,type:z,size_min:Z,size_max:Q,modified_after:w,modified_before:q,extension:i,case_sensitive:G,max_depth:Y,max_results:H,exclude_patterns:W,signal:c}),v=this.sortMatches(U).slice(0,H),B={search_path:K,search_criteria:{name:p,type:z,size_min:Z,size_max:Q,modified_after:J,modified_before:X,extension:i,case_sensitive:G,max_depth:Y,exclude_patterns:W},total_matches:U.length,returned_matches:v.length,max_results:H,truncated:U.length>H},A=this.formatDisplayMessage(B);return this.createSuccessResult(v,A,B)}catch(p){return this.createErrorResult(p)}}async performFind(c,x){let p=[];return await this.walkDirectory(c,c,0,p,x),p}async walkDirectory(c,x,p,$,z){if($.length>=z.max_results||p>z.max_depth)return;z.signal.throwIfAborted();try{let Z=await f2.readdir(c,{withFileTypes:!0});for(let Q of Z){if($.length>=z.max_results)break;z.signal.throwIfAborted();let J=KU(c,Q.name),X=wU(x,J);if(this.shouldExclude(X,Q.name,z.exclude_patterns))continue;let i;try{i=await f2.stat(J)}catch{continue}let G=Q.isDirectory(),Y=G?void 0:WU(Q.name);if(this.matchesCriteria(Q.name,J,X,G,i,Y,p,z))$.push({path:J,relative_path:X,name:Q.name,is_directory:G,size:G?void 0:i.size,modified:i.mtime.toISOString(),extension:Y,depth:p});if(G&&p<z.max_depth)await this.walkDirectory(J,x,p+1,$,z)}}catch(Z){if(Z.code!=="EACCES"&&Z.code!=="EPERM")throw Z}}shouldExclude(c,x,p){for(let $ of p){let z=this.createGlobRegex($,!1);if(z.test(c)||z.test(x))return!0}return!1}matchesCriteria(c,x,p,$,z,Z,Q,J){if(J.type==="file"&&$)return!1;if(J.type==="directory"&&!$)return!1;if(J.name){if(!this.createGlobRegex(J.name,J.case_sensitive).test(c))return!1}if(J.extension&&!$){let i=J.extension.startsWith(".")?J.extension:`.${J.extension}`;if(Z!==i)return!1}if(!$){if(J.size_min!==void 0&&z.size<J.size_min)return!1;if(J.size_max!==void 0&&z.size>J.size_max)return!1}let X=z.mtime;if(J.modified_after&&X<J.modified_after)return!1;if(J.modified_before&&X>J.modified_before)return!1;return!0}createGlobRegex(c,x){let p=c.replace(/\./g,"\\.").replace(/\*/g,".*").replace(/\?/g,".");return p=`^${p}$`,new RegExp(p,x?"":"i")}sortMatches(c){return c.sort((x,p)=>{if(x.depth!==p.depth)return x.depth-p.depth;if(x.is_directory!==p.is_directory)return x.is_directory?-1:1;let $=new Date(x.modified).getTime(),z=new Date(p.modified).getTime();if($!==z)return z-$;return x.name.localeCompare(p.name)})}formatDisplayMessage(c){let{search_path:x,search_criteria:p,total_matches:$,returned_matches:z,truncated:Z}=c,Q=`在 ${x} 中找到 ${$} 个匹配项`;if(Z)Q+=`
|
|
279
|
+
显示前 ${z} 个结果`;let J=[];if(p.name)J.push(`名称: ${p.name}`);if(p.type!=="both")J.push(`类型: ${p.type}`);if(p.extension)J.push(`扩展名: ${p.extension}`);if(J.length>0)Q+=`
|
|
280
|
+
搜索条件: ${J.join(", ")}`;return Q}}class n2 extends Jc{constructor(){let c={type:"object",properties:{name:{type:"string",description:"文件/目录名称模式(支持*和?通配符)"},path:{type:"string",description:"搜索路径(可选,默认当前工作目录)"},type:{type:"string",enum:["file","directory","both"],default:"both",description:"搜索类型:文件、目录或两者"},size_min:{type:"integer",minimum:0,description:"最小文件大小(字节)"},size_max:{type:"integer",minimum:0,description:"最大文件大小(字节)"},modified_after:{type:"string",description:"修改时间晚于指定时间(ISO格式)"},modified_before:{type:"string",description:"修改时间早于指定时间(ISO格式)"},extension:{type:"string",description:'文件扩展名过滤(如 ".js" 或 "js")'},case_sensitive:{type:"boolean",default:!1,description:"名称匹配是否区分大小写"},max_depth:{type:"integer",minimum:0,maximum:20,default:10,description:"最大搜索深度"},max_results:{type:"integer",minimum:1,maximum:1000,default:100,description:"最大返回结果数"},exclude_patterns:{type:"array",items:{type:"string"},default:[],description:"排除模式列表(支持通配符)"}},additionalProperties:!1};super("find","高级文件查找","基于多种条件(名称、类型、大小、修改时间等)查找文件和目录","search",c,!1,"1.0.0","搜索工具",["file","search","find","filter","locate"])}build(c){let x;if(c.name!==void 0)x=this.validateString(c.name,"name",{required:!1,minLength:1});let p;if(c.path!==void 0)p=this.validateString(c.path,"path",{required:!1,minLength:1});let $=c.type||"both";if(!["file","directory","both"].includes($))this.createValidationError("type","类型必须是 file、directory 或 both 之一",$);let z;if(c.size_min!==void 0)z=this.validateNumber(c.size_min,"size_min",{min:0,integer:!0});let Z;if(c.size_max!==void 0)Z=this.validateNumber(c.size_max,"size_max",{min:0,integer:!0});let Q;if(c.modified_after!==void 0){Q=this.validateString(c.modified_after,"modified_after");try{new Date(Q)}catch{this.createValidationError("modified_after","时间格式无效,请使用ISO格式",Q)}}let J;if(c.modified_before!==void 0){J=this.validateString(c.modified_before,"modified_before");try{new Date(J)}catch{this.createValidationError("modified_before","时间格式无效,请使用ISO格式",J)}}let X;if(c.extension!==void 0)X=this.validateString(c.extension,"extension",{required:!1,minLength:1});let i=this.validateBoolean(c.case_sensitive??!1,"case_sensitive"),G=10;if(c.max_depth!==void 0)G=this.validateNumber(c.max_depth,"max_depth",{min:0,max:20,integer:!0});let Y=100;if(c.max_results!==void 0)Y=this.validateNumber(c.max_results,"max_results",{min:1,max:1000,integer:!0});let H=this.validateArray(c.exclude_patterns||[],"exclude_patterns",{itemValidator:(K,w)=>{return this.validateString(K,`exclude_patterns[${w}]`,{required:!0,minLength:1})}}),W={...x!==void 0&&{name:x},...p!==void 0&&{path:p},type:$,...z!==void 0&&{size_min:z},...Z!==void 0&&{size_max:Z},...Q!==void 0&&{modified_after:Q},...J!==void 0&&{modified_before:J},...X!==void 0&&{extension:X},case_sensitive:i,max_depth:G,max_results:Y,exclude_patterns:H};return new X8(W)}}Ic();import{promises as k2}from"fs";import{join as qU,relative as UU,resolve as BU}from"path";Cc();class i8 extends Wc{constructor(c){super("glob",c)}getDescription(){let{pattern:c,path:x}=this.params;return`在 ${x||"当前目录"} 中搜索匹配 "${c}" 的文件`}getAffectedPaths(){return[this.params.path||process.cwd()]}async shouldConfirm(){return null}async execute(c,x){try{this.validateParams(),this.checkAbortSignal(c);let{pattern:p,path:$=process.cwd(),max_results:z=100,include_directories:Z=!1,case_sensitive:Q=!1}=this.params;x?.(`开始在 ${$} 中搜索模式 "${p}"...`);let J=BU($);try{if(!(await k2.stat(J)).isDirectory())return this.createErrorResult(`搜索路径必须是目录: ${J}`)}catch(W){if(W.code==="ENOENT")return this.createErrorResult(`搜索路径不存在: ${J}`);throw W}this.checkAbortSignal(c);let X=await this.performGlobSearch(J,p,{maxResults:z,includeDirectories:Z,caseSensitive:Q,signal:c}),G=this.sortMatches(X).slice(0,z),Y={search_path:J,pattern:p,total_matches:X.length,returned_matches:G.length,max_results:z,include_directories:Z,case_sensitive:Q,truncated:X.length>z},H=this.formatDisplayMessage(Y);return this.createSuccessResult(G,H,Y)}catch(p){return this.createErrorResult(p)}}async performGlobSearch(c,x,p){let $=[],z=this.createGlobRegex(x,p.caseSensitive);return await this.walkDirectory(c,c,z,$,p),$}async walkDirectory(c,x,p,$,z){if($.length>=z.maxResults)return;z.signal.throwIfAborted();try{let Z=await k2.readdir(c,{withFileTypes:!0});for(let Q of Z){if($.length>=z.maxResults)break;z.signal.throwIfAborted();let J=qU(c,Q.name),X=UU(x,J),i=p.test(X)||p.test(Q.name);if(Q.isDirectory()){if(z.includeDirectories&&i)$.push({path:J,relative_path:X,is_directory:!0});await this.walkDirectory(J,x,p,$,z)}else if(Q.isFile()&&i)try{let G=await k2.stat(J);$.push({path:J,relative_path:X,is_directory:!1,size:G.size,modified:G.mtime.toISOString()})}catch{$.push({path:J,relative_path:X,is_directory:!1})}}}catch(Z){if(Z.code!=="EACCES"&&Z.code!=="EPERM")throw Z}}createGlobRegex(c,x){let p=c.replace(/\./g,"\\.").replace(/\*/g,"[^/]*").replace(/\?/g,"[^/]").replace(/\*\*/g,".*");if(!c.startsWith("/"))p="(^|/)"+p;if(!c.endsWith("/")&&!c.includes("."))p=p+"($|/|\\.)";return new RegExp(p,x?"":"i")}sortMatches(c){return c.sort((x,p)=>{if(x.is_directory!==p.is_directory)return x.is_directory?1:-1;if(x.modified&&p.modified)return new Date(p.modified).getTime()-new Date(x.modified).getTime();return x.relative_path.localeCompare(p.relative_path)})}formatDisplayMessage(c){let{search_path:x,pattern:p,total_matches:$,returned_matches:z,truncated:Z}=c,Q=`在 ${x} 中找到 ${$} 个匹配 "${p}" 的文件`;if(Z)Q+=`
|
|
281
|
+
显示前 ${z} 个结果`;return Q}}class O2 extends Jc{constructor(){let c={type:"object",properties:{pattern:{type:"string",description:"Glob模式字符串(支持*、?、**通配符)"},path:{type:"string",description:"搜索路径(可选,默认当前工作目录)"},max_results:{type:"integer",minimum:1,maximum:1000,default:100,description:"最大返回结果数"},include_directories:{type:"boolean",default:!1,description:"是否包含目录"},case_sensitive:{type:"boolean",default:!1,description:"是否区分大小写"}},required:["pattern"],additionalProperties:!1};super("glob","文件模式匹配","使用glob模式搜索文件和目录,支持通配符匹配","search",c,!1,"1.0.0","搜索工具",["file","search","glob","pattern","wildcard"])}build(c){let x=this.validateString(c.pattern,"pattern",{required:!0,minLength:1}),p;if(c.path!==void 0)p=this.validateString(c.path,"path",{required:!1,minLength:1});let $;if(c.max_results!==void 0)$=this.validateNumber(c.max_results,"max_results",{min:1,max:1000,integer:!0});let z=this.validateBoolean(c.include_directories??!1,"include_directories"),Z=this.validateBoolean(c.case_sensitive??!1,"case_sensitive"),Q={pattern:x,...p!==void 0&&{path:p},...$!==void 0&&{max_results:$},include_directories:z,case_sensitive:Z};return new i8(Q)}}Ic();import{spawn as VU}from"child_process";Cc();class G8 extends Wc{constructor(c){super("grep",c)}getDescription(){let{pattern:c,path:x,output_mode:p}=this.params;return`在 ${x||"当前目录"} 中搜索 "${c}" (${p==="files_with_matches"?"文件列表":p==="count"?"匹配计数":"内容搜索"})`}getAffectedPaths(){return[this.params.path||process.cwd()]}async shouldConfirm(){return null}async execute(c,x){try{this.validateParams(),this.checkAbortSignal(c);let{pattern:p,path:$=process.cwd(),glob:z,type:Z,output_mode:Q="files_with_matches",case_insensitive:J=!1,line_numbers:X=!1,context_before:i,context_after:G,context:Y,head_limit:H,multiline:W=!1}=this.params;x?.(`使用ripgrep搜索模式 "${p}"...`);let K=this.buildRipgrepArgs({pattern:p,path:$,glob:z,type:Z,output_mode:Q,case_insensitive:J,line_numbers:X,context_before:i,context_after:G,context:Y,head_limit:H,multiline:W});this.checkAbortSignal(c);let w=await this.executeRipgrep(K,c,x),q=this.parseRipgrepOutput(w.stdout,Q),U={search_pattern:p,search_path:$,output_mode:Q,case_insensitive:J,total_matches:q.length,command_executed:`rg ${K.join(" ")}`,exit_code:w.exitCode,stderr:w.stderr};if(w.exitCode!==0&&w.stderr)return this.createErrorResult(`ripgrep执行失败: ${w.stderr}`);let b=this.formatDisplayMessage(U);return this.createSuccessResult(q,b,U)}catch(p){return this.createErrorResult(p)}}buildRipgrepArgs(c){let x=[];if(c.case_insensitive)x.push("-i");if(c.multiline)x.push("-U","--multiline-dotall");switch(c.output_mode){case"files_with_matches":x.push("-l");break;case"count":x.push("-c");break;case"content":if(c.line_numbers)x.push("-n");break}if(c.context!==void 0&&c.output_mode==="content")x.push("-C",c.context.toString());else{if(c.context_before!==void 0&&c.output_mode==="content")x.push("-B",c.context_before.toString());if(c.context_after!==void 0&&c.output_mode==="content")x.push("-A",c.context_after.toString())}if(c.type)x.push("--type",c.type);if(c.glob)x.push("--glob",c.glob);if(c.head_limit!==void 0)x.push("-m",c.head_limit.toString());return x.push(c.pattern),x.push(c.path),x}async executeRipgrep(c,x,p){return new Promise(($,z)=>{let Z=VU("rg",c,{stdio:["pipe","pipe","pipe"]}),Q="",J="";Z.stdout.on("data",(i)=>{Q+=i.toString()}),Z.stderr.on("data",(i)=>{J+=i.toString()}),Z.on("close",(i)=>{$({stdout:Q,stderr:J,exitCode:i||0})}),Z.on("error",(i)=>{if(i.message.includes("ENOENT"))z(Error("ripgrep (rg) 未安装或不在PATH中。请安装ripgrep: https://github.com/BurntSushi/ripgrep"));else z(i)});let X=()=>{Z.kill("SIGTERM"),z(Error("搜索被用户中止"))};x.addEventListener("abort",X),Z.on("close",()=>{x.removeEventListener("abort",X)})})}parseRipgrepOutput(c,x){if(!c.trim())return[];let p=c.trim().split(`
|
|
282
|
+
`),$=[];switch(x){case"files_with_matches":return p.map((z)=>({file_path:z.trim()}));case"count":return p.map((z)=>{let[Z,Q]=z.split(":");return{file_path:Z,count:parseInt(Q,10)}});case"content":for(let z of p){let Z=this.parseContentLine(z);if(Z)$.push(Z)}return $;default:return[]}}parseContentLine(c){let x=c.indexOf(":");if(x===-1)return null;let p=c.substring(0,x),$=c.substring(x+1),z=$.indexOf(":");if(z!==-1&&/^\d+$/.test($.substring(0,z))){let Z=parseInt($.substring(0,z),10),Q=$.substring(z+1);return{file_path:p,line_number:Z,content:Q}}else return{file_path:p,content:$}}formatDisplayMessage(c){let{search_pattern:x,search_path:p,output_mode:$,total_matches:z}=c,Z=`在 ${p} 中搜索 "${x}"`;switch($){case"files_with_matches":Z+=`
|
|
283
|
+
找到 ${z} 个包含匹配内容的文件`;break;case"count":Z+=`
|
|
284
|
+
统计了 ${z} 个文件的匹配数量`;break;case"content":Z+=`
|
|
285
|
+
找到 ${z} 个匹配行`;break}return Z}}class C2 extends Jc{constructor(){let c={type:"object",properties:{pattern:{type:"string",description:"要搜索的正则表达式模式"},path:{type:"string",description:"搜索路径(可选,默认当前工作目录)"},glob:{type:"string",description:'Glob模式过滤文件(如 "*.js", "*.{ts,tsx}")'},type:{type:"string",description:"文件类型过滤(如 js, py, rust, go, java等)"},output_mode:{type:"string",enum:["content","files_with_matches","count"],default:"files_with_matches",description:"输出模式:content显示匹配行,files_with_matches显示文件路径,count显示匹配计数"},case_insensitive:{type:"boolean",default:!1,description:"忽略大小写"},line_numbers:{type:"boolean",default:!1,description:"显示行号(仅content模式有效)"},context_before:{type:"integer",minimum:0,description:"显示匹配行之前的行数(仅content模式有效)"},context_after:{type:"integer",minimum:0,description:"显示匹配行之后的行数(仅content模式有效)"},context:{type:"integer",minimum:0,description:"显示匹配行前后的行数(仅content模式有效)"},head_limit:{type:"integer",minimum:1,description:"限制输出的最大行数/文件数/计数条目数"},multiline:{type:"boolean",default:!1,description:"启用多行模式,允许.匹配换行符"}},required:["pattern"],additionalProperties:!1};super("grep","内容搜索","基于ripgrep的强大文本内容搜索工具,支持正则表达式和多种输出格式","search",c,!1,"1.0.0","搜索工具",["search","grep","ripgrep","regex","text"])}build(c){let x=this.validateString(c.pattern,"pattern",{required:!0,minLength:1}),p;if(c.path!==void 0)p=this.validateString(c.path,"path",{required:!1,minLength:1});let $;if(c.glob!==void 0)$=this.validateString(c.glob,"glob",{required:!1,minLength:1});let z;if(c.type!==void 0)z=this.validateString(c.type,"type",{required:!1,minLength:1});let Z=c.output_mode||"files_with_matches";if(!["content","files_with_matches","count"].includes(Z))this.createValidationError("output_mode","输出模式必须是 content、files_with_matches 或 count 之一",Z);let Q=this.validateBoolean(c.case_insensitive??!1,"case_insensitive"),J=this.validateBoolean(c.line_numbers??!1,"line_numbers"),X=this.validateBoolean(c.multiline??!1,"multiline"),i;if(c.context_before!==void 0)i=this.validateNumber(c.context_before,"context_before",{min:0,integer:!0});let G;if(c.context_after!==void 0)G=this.validateNumber(c.context_after,"context_after",{min:0,integer:!0});let Y;if(c.context!==void 0)Y=this.validateNumber(c.context,"context",{min:0,integer:!0});let H;if(c.head_limit!==void 0)H=this.validateNumber(c.head_limit,"head_limit",{min:1,integer:!0});let W={pattern:x,...p!==void 0&&{path:p},...$!==void 0&&{glob:$},...z!==void 0&&{type:z},output_mode:Z,case_insensitive:Q,line_numbers:J,...i!==void 0&&{context_before:i},...G!==void 0&&{context_after:G},...Y!==void 0&&{context:Y},...H!==void 0&&{head_limit:H},multiline:X};return new G8(W)}}Ic();import{spawn as FU}from"child_process";import{randomUUID as bU}from"crypto";Cc();class xx{static instance;sessions=new Map;sessionOutputs=new Map;sessionErrors=new Map;static getInstance(){if(!xx.instance)xx.instance=new xx;return xx.instance}createSession(c,x,p){if(this.sessions.has(c))throw Error(`会话 ${c} 已存在`);let $=FU("bash",["-i"],{cwd:x||process.cwd(),env:{...process.env,...p},stdio:["pipe","pipe","pipe"]});return this.sessions.set(c,$),this.sessionOutputs.set(c,""),this.sessionErrors.set(c,""),$.stdout.on("data",(z)=>{let Z=z.toString(),Q=this.sessionOutputs.get(c)||"";this.sessionOutputs.set(c,Q+Z)}),$.stderr.on("data",(z)=>{let Z=z.toString(),Q=this.sessionErrors.get(c)||"";this.sessionErrors.set(c,Q+Z)}),$.on("close",()=>{this.sessions.delete(c),this.sessionOutputs.delete(c),this.sessionErrors.delete(c)}),$}getSession(c){return this.sessions.get(c)}getSessionOutput(c){return{stdout:this.sessionOutputs.get(c)||"",stderr:this.sessionErrors.get(c)||""}}clearSessionOutput(c){this.sessionOutputs.set(c,""),this.sessionErrors.set(c,"")}closeSession(c){let x=this.sessions.get(c);if(x)return x.kill(),!0;return!1}getAllSessions(){return Array.from(this.sessions.keys())}}class Y8 extends Wc{constructor(c){super("bash",c)}getDescription(){let{command:c,session_id:x,run_in_background:p}=this.params,$=x?` (会话: ${x})`:"";return`执行Bash命令: ${c}${$}${p?" (后台执行)":""}`}getAffectedPaths(){let c=[];if(this.params.cwd)c.push(this.params.cwd);return c}async shouldConfirm(){let{command:c,run_in_background:x}=this.params;if(["rm -rf","sudo rm","del /f","format","fdisk","mkfs","dd if=","shred","wipe","sudo","su -","chmod 777","chown","passwd","useradd","userdel","groupadd","groupdel","systemctl","service","reboot","shutdown","killall","pkill"].some((z)=>c.toLowerCase().includes(z))||x)return{type:"execute",title:x?"确认后台执行命令":"确认执行危险命令",message:`命令 "${c}" ${x?"将在后台持续运行":"可能对系统造成影响"},确认要执行吗?`,risks:x?["命令将在后台持续运行","需要手动终止后台进程","可能消耗系统资源"]:["命令可能修改或删除文件","命令可能影响系统配置","操作可能不可逆"],affectedFiles:this.getAffectedPaths()};return null}async execute(c,x){try{this.validateParams(),this.checkAbortSignal(c);let{command:p,session_id:$,timeout:z=30000,cwd:Z,env:Q,run_in_background:J=!1}=this.params,X=xx.getInstance(),i=$||bU();x?.(`在Bash会话中执行: ${p}`);let G=X.getSession(i);if(!G)G=X.createSession(i,Z,Q),await new Promise((Y)=>setTimeout(Y,1000)),X.clearSessionOutput(i);if(this.checkAbortSignal(c),J)return this.executeInBackground(G,p,i,X,x);else return this.executeWithTimeout(G,p,i,X,z,c,x)}catch(p){return this.createErrorResult(p)}}async executeInBackground(c,x,p,$,z){$.clearSessionOutput(p),c.stdin.write(`${x}
|
|
286
|
+
`),await new Promise((J)=>setTimeout(J,500));let Z={session_id:p,command:x,background:!0,message:"命令已在后台启动"},Q=`命令已在后台会话 ${p} 中启动
|
|
287
|
+
`+`使用 bash_output 工具查看输出
|
|
288
|
+
`+"使用 kill_bash 工具终止会话";return this.createSuccessResult({session_id:p,command:x,background:!0},Q,Z)}async executeWithTimeout(c,x,p,$,z,Z,Q){return new Promise((J)=>{let X=Date.now();$.clearSessionOutput(p);let i=setTimeout(()=>{let{stdout:H,stderr:W}=$.getSessionOutput(p);J(this.createErrorResult(`命令执行超时 (${z}ms)`,{session_id:p,command:x,timeout:!0,stdout:H,stderr:W,execution_time:z}))},z),G=()=>{clearTimeout(i);let{stdout:H,stderr:W}=$.getSessionOutput(p);J(this.createErrorResult("命令执行被用户中止",{session_id:p,command:x,aborted:!0,stdout:H,stderr:W,execution_time:Date.now()-X}))};Z.addEventListener("abort",G);let Y=setInterval(()=>{let{stdout:H,stderr:W}=$.getSessionOutput(p);if(H.includes("$ ")||H.includes("# ")||H.endsWith(`
|
|
289
|
+
$ `)||H.endsWith(`
|
|
290
|
+
# `)){clearInterval(Y),clearTimeout(i),Z.removeEventListener("abort",G);let K=Date.now()-X,w={session_id:p,command:x,execution_time:K,stdout_length:H.length,stderr_length:W.length,has_stderr:W.length>0},q=this.formatDisplayMessage({stdout:H,stderr:W,session_id:p,command:x,execution_time:K});J(this.createSuccessResult({stdout:H.trim(),stderr:W.trim(),session_id:p,execution_time:K},q,w))}},100);c.stdin.write(`${x}
|
|
291
|
+
`)})}formatDisplayMessage(c){let{stdout:x,stderr:p,session_id:$,command:z,execution_time:Z}=c,Q=`Bash命令执行完成: ${z}`;if(Q+=`
|
|
292
|
+
会话ID: ${$}`,Q+=`
|
|
293
|
+
执行时间: ${Z}ms`,x&&x.trim()){let J=x.replace(/^\$\s*/gm,"").trim();if(J)Q+=`
|
|
294
|
+
输出:
|
|
295
|
+
${J}`}if(p&&p.trim())Q+=`
|
|
296
|
+
错误输出:
|
|
297
|
+
${p.trim()}`;return Q}}class j2 extends Jc{constructor(){let c={type:"object",properties:{command:{type:"string",description:"要执行的bash命令"},session_id:{type:"string",description:"会话ID(可选,用于复用会话)"},timeout:{type:"integer",minimum:1000,maximum:300000,default:30000,description:"超时时间(毫秒,默认30秒)"},cwd:{type:"string",description:"工作目录(可选,仅在创建新会话时有效)"},env:{type:"object",additionalProperties:{type:"string"},description:"环境变量(可选,仅在创建新会话时有效)"},run_in_background:{type:"boolean",default:!1,description:"是否在后台运行(适合长时间执行的命令)"}},required:["command"],additionalProperties:!1};super("bash","Bash会话执行","在持久化的bash会话中执行命令,支持会话复用和后台执行","execute",c,!0,"1.0.0","命令工具",["bash","shell","session","persistent"])}build(c){let x=this.validateString(c.command,"command",{required:!0,minLength:1}),p;if(c.session_id!==void 0)p=this.validateString(c.session_id,"session_id",{required:!1,minLength:1});let $;if(c.timeout!==void 0)$=this.validateNumber(c.timeout,"timeout",{min:1000,max:300000,integer:!0});let z;if(c.cwd!==void 0)z=this.validateString(c.cwd,"cwd",{required:!1,minLength:1});let Z;if(c.env!==void 0){if(typeof c.env!=="object"||c.env===null)this.createValidationError("env","环境变量必须是对象类型",c.env);Z={};for(let[X,i]of Object.entries(c.env))Z[X]=this.validateString(i,`env.${X}`,{required:!0})}let Q=this.validateBoolean(c.run_in_background??!1,"run_in_background"),J={command:x,...p!==void 0&&{session_id:p},...$!==void 0&&{timeout:$},...z!==void 0&&{cwd:z},...Z!==void 0&&{env:Z},run_in_background:Q};return new Y8(J)}}Ic();import{spawn as LU}from"child_process";import{promises as H8}from"fs";import{extname as NU}from"path";Cc();var AU={".js":"node",".ts":"ts-node",".py":"python3",".rb":"ruby",".php":"php",".pl":"perl",".sh":"bash",".bash":"bash",".zsh":"zsh",".fish":"fish",".ps1":"powershell",".bat":"cmd",".cmd":"cmd"};class W8 extends Wc{constructor(c){super("script",c)}getDescription(){let{script_path:c,args:x,interpreter:p}=this.params,$=x&&x.length>0?` ${x.join(" ")}`:"";return`${p?`使用 ${p} `:""}执行脚本: ${c}${$}`}getAffectedPaths(){let c=[this.params.script_path];if(this.params.cwd)c.push(this.params.cwd);return c}async shouldConfirm(){let{script_path:c,interpreter:x}=this.params;try{let p=await H8.readFile(c,"utf8"),$=[],z=[/rm\s+-rf/gi,/sudo/gi,/passwd/gi,/chmod\s+777/gi,/eval\s*\(/gi,/exec\s*\(/gi,/system\s*\(/gi,/shell_exec/gi,/\$\(.*\)/gi],Z=!1;for(let Q of z)if(Q.test(p)){Z=!0;break}if(Z)$.push("脚本包含可能危险的系统操作");if(/curl|wget|fetch|http/gi.test(p))$.push("脚本可能访问外部网络资源");if(/write|create|delete|remove|mkdir|rmdir/gi.test(p))$.push("脚本可能修改文件系统");if($.length>0||x)return{type:"execute",title:"确认执行脚本",message:`将要${x?`使用 ${x} `:""}执行脚本 ${c}`,risks:$.length>0?$:["脚本执行可能对系统造成影响"],affectedFiles:[c]}}catch(p){return{type:"execute",title:"脚本访问错误",message:`无法读取脚本文件 ${c}: ${p.message}`,risks:["文件可能不存在或无权访问"],affectedFiles:[c]}}return null}async execute(c,x){try{this.validateParams(),this.checkAbortSignal(c);let{script_path:p,args:$=[],interpreter:z,cwd:Z=process.cwd(),timeout:Q=60000,env:J={}}=this.params;try{await H8.access(p)}catch(K){return this.createErrorResult(`脚本文件不存在: ${p}`)}let X=z||this.detectInterpreter(p);if(!X)return this.createErrorResult(`无法确定脚本解释器: ${p}`);x?.(`使用 ${X} 执行脚本: ${p}`),this.checkAbortSignal(c);let i=Date.now(),G=await this.executeScript({interpreter:X,scriptPath:p,args:$,cwd:Z,timeout:Q,env:{...process.env,...J},signal:c,updateOutput:x}),Y=Date.now()-i;G.execution_time=Y;let H={script_path:p,interpreter:X,args:$,cwd:Z,exit_code:G.exit_code,execution_time:Y,has_stderr:G.stderr.length>0,stdout_length:G.stdout.length,stderr_length:G.stderr.length},W=this.formatDisplayMessage(G,H);if(G.exit_code!==0)return this.createErrorResult(`脚本执行失败 (退出码: ${G.exit_code})${G.stderr?`
|
|
298
|
+
错误输出: ${G.stderr}`:""}`,H);return this.createSuccessResult(G,W,H)}catch(p){return this.createErrorResult(p)}}detectInterpreter(c){let x=NU(c).toLowerCase();return AU[x]||null}async executeScript(c){return new Promise((x,p)=>{let{interpreter:$,scriptPath:z,args:Z,cwd:Q,timeout:J,env:X,signal:i,updateOutput:G}=c,Y=LU($,[z,...Z],{cwd:Q,env:X,stdio:["pipe","pipe","pipe"]}),H="",W="",K=!1,w=setTimeout(()=>{if(!K)Y.kill("SIGTERM"),p(Error(`脚本执行超时 (${J}ms)`))},J),q=()=>{if(!K)Y.kill("SIGTERM"),p(Error("脚本执行被用户中止"))};i.addEventListener("abort",q),Y.stdout.on("data",(U)=>{let b=U.toString();H+=b,G?.(b)}),Y.stderr.on("data",(U)=>{let b=U.toString();W+=b,G?.(b)}),Y.on("close",(U)=>{if(!K)K=!0,clearTimeout(w),i.removeEventListener("abort",q),x({stdout:H.trim(),stderr:W.trim(),exit_code:U||0,execution_time:0})}),Y.on("error",(U)=>{if(!K)K=!0,clearTimeout(w),i.removeEventListener("abort",q),p(U)})})}formatDisplayMessage(c,x){let{script_path:p,interpreter:$,exit_code:z,execution_time:Z}=x,Q=`脚本执行完成: ${p}`;if(Q+=`
|
|
299
|
+
解释器: ${$}`,Q+=`
|
|
300
|
+
退出码: ${z}`,Q+=`
|
|
301
|
+
执行时间: ${Z}ms`,c.stdout)Q+=`
|
|
302
|
+
标准输出 (${c.stdout.length} 字符):
|
|
303
|
+
${c.stdout}`;if(c.stderr&&c.stderr.length>0)Q+=`
|
|
304
|
+
错误输出 (${c.stderr.length} 字符):
|
|
305
|
+
${c.stderr}`;return Q}}class S2 extends Jc{constructor(){let c={type:"object",properties:{script_path:{type:"string",description:"脚本文件路径"},args:{type:"array",items:{type:"string"},description:"脚本参数列表(可选)"},interpreter:{type:"string",description:"指定解释器(可选,默认根据文件扩展名自动检测)"},cwd:{type:"string",description:"执行目录(可选,默认当前目录)"},timeout:{type:"integer",minimum:1000,maximum:600000,default:60000,description:"超时时间(毫秒,默认60秒)"},env:{type:"object",additionalProperties:{type:"string"},description:"环境变量(可选)"}},required:["script_path"],additionalProperties:!1};super("script","脚本执行","执行各种脚本文件,支持多种编程语言和解释器","execute",c,!0,"1.0.0","命令工具",["script","execute","interpreter","automation"])}build(c){let x=this.validateString(c.script_path,"script_path",{required:!0,minLength:1}),p;if(c.args!==void 0)p=this.validateArray(c.args,"args",{itemValidator:(X,i)=>{return this.validateString(X,`args[${i}]`,{required:!0})}});let $;if(c.interpreter!==void 0)$=this.validateString(c.interpreter,"interpreter",{required:!1,minLength:1});let z;if(c.cwd!==void 0)z=this.validateString(c.cwd,"cwd",{required:!1,minLength:1});let Z;if(c.timeout!==void 0)Z=this.validateNumber(c.timeout,"timeout",{min:1000,max:600000,integer:!0});let Q;if(c.env!==void 0){if(typeof c.env!=="object"||c.env===null)this.createValidationError("env","环境变量必须是对象类型",c.env);Q={};for(let[X,i]of Object.entries(c.env))Q[X]=this.validateString(i,`env.${X}`,{required:!0})}let J={script_path:x,...p!==void 0&&{args:p},...$!==void 0&&{interpreter:$},...z!==void 0&&{cwd:z},...Z!==void 0&&{timeout:Z},...Q!==void 0&&{env:Q}};return new W8(J)}}Ic();import{spawn as uU}from"child_process";Cc();class K8 extends Wc{constructor(c){super("shell",c)}getDescription(){let{command:c,args:x,cwd:p}=this.params,$=x?`${c} ${x.join(" ")}`:c,z=p?` (在 ${p} 目录)`:"";return`执行命令: ${$}${z}`}getAffectedPaths(){let c=[];if(this.params.cwd)c.push(this.params.cwd);return c}async shouldConfirm(){let{command:c,args:x}=this.params,p=x?`${c} ${x.join(" ")}`:c;if(["rm","del","rmdir","format","fdisk","mkfs","dd","shred","wipe","sudo","su","chmod","chown","passwd","useradd","userdel","groupadd","groupdel","systemctl","service","reboot","shutdown"].some((Z)=>p.toLowerCase().includes(Z)))return{type:"execute",title:"确认执行危险命令",message:`命令 "${p}" 可能对系统造成影响,确认要执行吗?`,risks:["命令可能修改或删除文件","命令可能影响系统配置","操作可能不可逆"],affectedFiles:this.getAffectedPaths()};return null}async execute(c,x){try{this.validateParams(),this.checkAbortSignal(c);let{command:p,args:$=[],cwd:z=process.cwd(),timeout:Z=30000,env:Q={},capture_stderr:J=!0}=this.params,X=$.length>0?`${p} ${$.join(" ")}`:p;x?.(`执行命令: ${X}`);let i=Date.now(),G=await this.executeCommand({command:p,args:$,cwd:z,timeout:Z,env:{...process.env,...Q},capture_stderr:J,signal:c,updateOutput:x}),Y=Date.now()-i;G.execution_time=Y;let H={command:X,cwd:z,exit_code:G.exit_code,execution_time:Y,has_stderr:G.stderr.length>0,stdout_length:G.stdout.length,stderr_length:G.stderr.length},W=this.formatDisplayMessage(G,H);if(G.exit_code!==0)return this.createErrorResult(`命令执行失败 (退出码: ${G.exit_code})${G.stderr?`
|
|
306
|
+
错误输出: ${G.stderr}`:""}`,H);return this.createSuccessResult(G,W,H)}catch(p){return this.createErrorResult(p)}}async executeCommand(c){return new Promise((x,p)=>{let{command:$,args:z,cwd:Z,timeout:Q,env:J,capture_stderr:X,signal:i,updateOutput:G}=c,Y=uU($,z,{cwd:Z,env:J,stdio:["pipe","pipe",X?"pipe":"inherit"]}),H="",W="",K=!1,w=setTimeout(()=>{if(!K)Y.kill("SIGTERM"),p(Error(`命令执行超时 (${Q}ms)`))},Q),q=()=>{if(!K)Y.kill("SIGTERM"),p(Error("命令执行被用户中止"))};if(i.addEventListener("abort",q),Y.stdout.on("data",(U)=>{let b=U.toString();H+=b,G?.(b)}),X)Y.stderr.on("data",(U)=>{let b=U.toString();W+=b,G?.(b)});Y.on("close",(U,b)=>{if(!K)K=!0,clearTimeout(w),c.signal.removeEventListener("abort",q),x({stdout:H.trim(),stderr:W.trim(),exit_code:U||0,signal:b||void 0,execution_time:0})}),Y.on("error",(U)=>{if(!K)K=!0,clearTimeout(w),c.signal.removeEventListener("abort",q),p(U)})})}formatDisplayMessage(c,x){let{command:p,exit_code:$,execution_time:z}=x,Z=`命令执行完成: ${p}`;if(Z+=`
|
|
307
|
+
退出码: ${$}`,Z+=`
|
|
308
|
+
执行时间: ${z}ms`,c.stdout)Z+=`
|
|
309
|
+
标准输出 (${c.stdout.length} 字符):
|
|
310
|
+
${c.stdout}`;if(c.stderr&&c.stderr.length>0)Z+=`
|
|
311
|
+
错误输出 (${c.stderr.length} 字符):
|
|
312
|
+
${c.stderr}`;return Z}}class I2 extends Jc{constructor(){let c={type:"object",properties:{command:{type:"string",description:"要执行的命令"},args:{type:"array",items:{type:"string"},description:"命令参数列表(可选)"},cwd:{type:"string",description:"执行目录(可选,默认当前目录)"},timeout:{type:"integer",minimum:1000,maximum:300000,default:30000,description:"超时时间(毫秒,默认30秒)"},env:{type:"object",additionalProperties:{type:"string"},description:"环境变量(可选)"},capture_stderr:{type:"boolean",default:!0,description:"是否捕获错误输出"}},required:["command"],additionalProperties:!1};super("shell","Shell命令执行","执行单次shell命令并返回执行结果,支持超时控制和环境变量","execute",c,!0,"1.0.0","命令工具",["shell","command","execute","system"])}build(c){let x=this.validateString(c.command,"command",{required:!0,minLength:1}),p;if(c.args!==void 0)p=this.validateArray(c.args,"args",{itemValidator:(X,i)=>{return this.validateString(X,`args[${i}]`,{required:!0,minLength:1})}});let $;if(c.cwd!==void 0)$=this.validateString(c.cwd,"cwd",{required:!1,minLength:1});let z;if(c.timeout!==void 0)z=this.validateNumber(c.timeout,"timeout",{min:1000,max:300000,integer:!0});let Z;if(c.env!==void 0){if(typeof c.env!=="object"||c.env===null)this.createValidationError("env","环境变量必须是对象类型",c.env);Z={};for(let[X,i]of Object.entries(c.env))Z[X]=this.validateString(i,`env.${X}`,{required:!0})}let Q=this.validateBoolean(c.capture_stderr??!0,"capture_stderr"),J={command:x,...p!==void 0&&{args:p},...$!==void 0&&{cwd:$},...z!==void 0&&{timeout:z},...Z!==void 0&&{env:Z},capture_stderr:Q};return new K8(J)}}Ic();import{randomUUID as PU}from"crypto";Cc();class V0{static instance;tasks=new Map;static getInstance(){if(!V0.instance)V0.instance=new V0;return V0.instance}createTask(c){let x=PU(),p={task_id:x,status:"pending",description:c.description,subagent_type:c.subagent_type,created_at:new Date().toISOString(),background:c.run_in_background||!1};return this.tasks.set(x,p),p}getTask(c){return this.tasks.get(c)}getAllTasks(){return Array.from(this.tasks.values()).sort((c,x)=>new Date(x.created_at).getTime()-new Date(c.created_at).getTime())}updateTaskStatus(c,x,p){let $=this.tasks.get(c);if($){if($.status=x,x==="running"&&!$.started_at)$.started_at=new Date().toISOString();if((x==="completed"||x==="failed")&&!$.completed_at){if($.completed_at=new Date().toISOString(),$.started_at)$.duration=new Date($.completed_at).getTime()-new Date($.started_at).getTime()}if(p)Object.assign($,p)}}cancelTask(c){let x=this.tasks.get(c);if(x&&x.status==="pending")return this.updateTaskStatus(c,"cancelled"),!0;return!1}cleanupCompletedTasks(c=24){let x=new Date(Date.now()-c*60*60*1000),p=0;for(let[$,z]of this.tasks.entries())if(z.completed_at&&new Date(z.completed_at)<x){if(z.status==="completed"||z.status==="failed")this.tasks.delete($),p++}return p}}class w8 extends Wc{constructor(c){super("task",c)}getDescription(){let{description:c,subagent_type:x,run_in_background:p}=this.params,$=x?` (使用${x}代理)`:"";return`创建任务: ${c}${$}${p?" (后台执行)":""}`}getAffectedPaths(){return[]}async shouldConfirm(){let{description:c,subagent_type:x,run_in_background:p}=this.params;if(p||x)return{type:"execute",title:"确认创建任务",message:`将创建任务: ${c}`,risks:[p?"任务将在后台执行":"任务将立即执行",x?`将使用${x}代理执行任务`:"将使用默认代理执行任务","任务可能消耗系统资源"],affectedFiles:[]};return null}async execute(c,x){try{this.validateParams(),this.checkAbortSignal(c);let{description:p,subagent_type:$,prompt:z,context:Z,timeout:Q=300000,run_in_background:J=!1}=this.params,X=V0.getInstance();x?.(`创建任务: ${p}`);let i=X.createTask(this.params);if(J){this.scheduleBackgroundTask(i,{prompt:z,context:Z,timeout:Q,signal:c});let G={task_id:i.task_id,background:!0,created_at:i.created_at},Y=`任务已创建并在后台执行
|
|
313
|
+
`+`任务ID: ${i.task_id}
|
|
314
|
+
`+`描述: ${p}
|
|
315
|
+
`+"使用 task_status 工具查看进度";return this.createSuccessResult({task_id:i.task_id,status:i.status,background:!0,description:i.description},Y,G)}else return await this.executeTaskSync(i,{prompt:z,context:Z,timeout:Q,signal:c,updateOutput:x})}catch(p){return this.createErrorResult(p)}}scheduleBackgroundTask(c,x){let p=V0.getInstance();setTimeout(async()=>{try{p.updateTaskStatus(c.task_id,"running");let $=await this.simulateTaskExecution(c,x);p.updateTaskStatus(c.task_id,"completed",{result:$})}catch($){p.updateTaskStatus(c.task_id,"failed",{error:$.message})}},0)}async executeTaskSync(c,x){let p=V0.getInstance();try{updateOutput?.(`开始执行任务: ${c.description}`),p.updateTaskStatus(c.task_id,"running");let $=await this.simulateTaskExecution(c,x);p.updateTaskStatus(c.task_id,"completed",{result:$});let z=p.getTask(c.task_id),Z={task_id:c.task_id,duration:z.duration,completed_at:z.completed_at},Q=this.formatDisplayMessage(z);return this.createSuccessResult(z,Q,Z)}catch($){p.updateTaskStatus(c.task_id,"failed",{error:$.message});let z=p.getTask(c.task_id);return this.createErrorResult(`任务执行失败: ${$.message}`,{task_id:c.task_id,error:$.message,failed_at:z.completed_at})}}async simulateTaskExecution(c,x){return new Promise((p,$)=>{let z=setTimeout(()=>{$(Error("任务执行超时"))},x.timeout),Z=()=>{clearTimeout(z),$(Error("任务被用户中止"))};x.signal.addEventListener("abort",Z),setTimeout(()=>{clearTimeout(z),x.signal.removeEventListener("abort",Z),p({task_description:c.description,subagent_type:c.subagent_type||"general",execution_result:`任务 "${c.description}" 已成功完成`,context:x.context,timestamp:new Date().toISOString()})},Math.random()*2000+1000)})}formatDisplayMessage(c){let x=`任务执行完成: ${c.description}`;if(x+=`
|
|
316
|
+
任务ID: ${c.task_id}`,x+=`
|
|
317
|
+
状态: ${c.status}`,c.duration)x+=`
|
|
318
|
+
执行时间: ${c.duration}ms`;if(c.result){let p=typeof c.result==="object"?JSON.stringify(c.result,null,2):String(c.result);if(p.length>500)x+=`
|
|
319
|
+
执行结果:
|
|
320
|
+
${p.substring(0,500)}...(已截断)`;else x+=`
|
|
321
|
+
执行结果:
|
|
322
|
+
${p}`}return x}}class D2 extends Jc{constructor(){let c={type:"object",properties:{description:{type:"string",minLength:1,description:"任务描述"},subagent_type:{type:"string",description:"指定子代理类型(可选)"},prompt:{type:"string",description:"任务提示词(可选)"},context:{type:"object",description:"任务上下文数据(可选)"},timeout:{type:"integer",minimum:5000,maximum:1800000,default:300000,description:"任务超时时间(毫秒)"},run_in_background:{type:"boolean",default:!1,description:"是否在后台执行任务"}},required:["description"],additionalProperties:!1};super("task","Agent任务调度","创建和管理Agent执行任务,支持同步和异步执行模式","execute",c,!0,"1.0.0","任务工具",["task","agent","schedule","workflow"])}build(c){let x=this.validateString(c.description,"description",{required:!0,minLength:1}),p;if(c.subagent_type!==void 0)p=this.validateString(c.subagent_type,"subagent_type",{required:!1,minLength:1});let $;if(c.prompt!==void 0)$=this.validateString(c.prompt,"prompt",{required:!1});let z;if(c.context!==void 0){if(typeof c.context!=="object"||c.context===null||Array.isArray(c.context))this.createValidationError("context","上下文必须是对象类型",c.context);z=c.context}let Z;if(c.timeout!==void 0)Z=this.validateNumber(c.timeout,"timeout",{min:5000,max:1800000,integer:!0});let Q=this.validateBoolean(c.run_in_background??!1,"run_in_background"),J={description:x,...p!==void 0&&{subagent_type:p},...$!==void 0&&{prompt:$},...z!==void 0&&{context:z},...Z!==void 0&&{timeout:Z},run_in_background:Q};return new w8(J)}}Ic();Cc();class v8 extends Wc{constructor(c){super("api_call",c)}getDescription(){let{url:c,method:x="GET"}=this.params;return`调用API: ${x} ${c}`}getAffectedPaths(){return[]}async shouldConfirm(){let{url:c,method:x="GET",body:p,auth:$}=this.params,z=["将向外部API发送请求"];if(x!=="GET")z.push(`使用 ${x} 方法可能修改远程数据`);if(p)z.push("请求包含数据内容");if($)z.push("请求包含认证信息");return{type:"network",title:"确认API调用",message:`将调用API: ${x} ${c}`,risks:z,affectedFiles:[]}}async execute(c,x){try{this.validateParams(),this.checkAbortSignal(c);let{url:p,method:$="GET",headers:z={},query_params:Z,body:Q,auth:J,timeout:X=30000,parse_response:i=!0}=this.params,G=this.buildUrl(p,Z);x?.(`调用API: ${$} ${G}`);let Y=Date.now(),H=await this.performApiCall({url:G,method:$,headers:z,body:Q,auth:J,timeout:X,signal:c}),W=Date.now()-Y;if(H.response_time=W,i&&H.raw_body)try{H.data=JSON.parse(H.raw_body)}catch{H.data=H.raw_body}else H.data=H.raw_body;let K={url:G,method:$,status:H.status,response_time:W,content_type:H.headers["content-type"]||"unknown",content_length:H.raw_body.length,has_auth:!!J},w=this.formatDisplayMessage(H,K);if(H.status>=400)return this.createErrorResult(`API调用失败 ${H.status}: ${H.status_text}`,{...K,response_data:H.data});return this.createSuccessResult(H,w,K)}catch(p){return this.createErrorResult(p)}}buildUrl(c,x){if(!x||Object.keys(x).length===0)return c;let p=new URL(c);return Object.entries(x).forEach(([$,z])=>{p.searchParams.append($,z)}),p.toString()}async performApiCall(c){let{url:x,method:p,headers:$,body:z,auth:Z,timeout:Q,signal:J}=c,X=new AbortController,i=setTimeout(()=>X.abort(),Q);J.addEventListener("abort",()=>X.abort());try{let G={"User-Agent":"Blade-AI/1.0",Accept:"application/json, text/plain, */*",...$};if(Z)this.applyAuthentication(G,Z);let Y={method:p,headers:G,signal:X.signal};if(z&&p!=="GET"&&p!=="HEAD")if(typeof z==="string"){if(Y.body=z,!G["Content-Type"])G["Content-Type"]="application/json"}else Y.body=JSON.stringify(z),G["Content-Type"]="application/json";let H=await fetch(x,Y);clearTimeout(i);let W=await H.text(),K={};return H.headers.forEach((w,q)=>{K[q]=w}),{status:H.status,status_text:H.statusText,headers:K,data:null,raw_body:W,url:H.url,response_time:0}}catch(G){if(clearTimeout(i),G.name==="AbortError")throw Error("API请求被中止或超时");throw Error(`API请求失败: ${G.message}`)}}applyAuthentication(c,x){switch(x.type){case"bearer":if(x.token)c.Authorization=`Bearer ${x.token}`;break;case"basic":if(x.username&&x.password){let p=btoa(`${x.username}:${x.password}`);c.Authorization=`Basic ${p}`}break;case"api_key":if(x.api_key){let p=x.api_key_header||"X-API-Key";c[p]=x.api_key}break}}formatDisplayMessage(c,x){let{url:p,method:$,status:z,response_time:Z,content_type:Q}=x,J=`API调用成功: ${$} ${p}`;if(J+=`
|
|
323
|
+
状态码: ${z} ${c.status_text}`,J+=`
|
|
324
|
+
响应时间: ${Z}ms`,J+=`
|
|
325
|
+
内容类型: ${Q}`,c.data){let X;if(typeof c.data==="object"){if(X=JSON.stringify(c.data,null,2),X.length>1000)X=X.substring(0,1000)+`
|
|
326
|
+
... (响应数据已截断)`}else if(X=String(c.data),X.length>500)X=X.substring(0,500)+"... (响应内容已截断)";J+=`
|
|
327
|
+
响应数据:
|
|
328
|
+
${X}`}return J}}class E2 extends Jc{constructor(){let c={type:"object",properties:{url:{type:"string",format:"uri",description:"API端点URL"},method:{type:"string",enum:["GET","POST","PUT","DELETE","PATCH"],default:"GET",description:"HTTP方法"},headers:{type:"object",additionalProperties:{type:"string"},description:"自定义请求头(可选)"},query_params:{type:"object",additionalProperties:{type:"string"},description:"查询参数(可选)"},body:{description:"请求体数据(可选,支持JSON对象或字符串)"},auth:{type:"object",properties:{type:{type:"string",enum:["bearer","basic","api_key"],description:"认证类型"},token:{type:"string",description:"Bearer token(用于bearer认证)"},username:{type:"string",description:"用户名(用于basic认证)"},password:{type:"string",description:"密码(用于basic认证)"},api_key:{type:"string",description:"API密钥(用于api_key认证)"},api_key_header:{type:"string",default:"X-API-Key",description:"API密钥头部名称(可选)"}},required:["type"],description:"认证信息(可选)"},timeout:{type:"integer",minimum:1000,maximum:120000,default:30000,description:"超时时间(毫秒,默认30秒)"},parse_response:{type:"boolean",default:!0,description:"是否尝试解析JSON响应"}},required:["url"],additionalProperties:!1};super("api_call","API调用","调用RESTful API,支持多种HTTP方法和认证方式","network",c,!0,"1.0.0","网络工具",["api","rest","http","request","web_service"])}build(c){let x=this.validateString(c.url,"url",{required:!0,minLength:1});try{new URL(x)}catch{this.createValidationError("url","URL格式无效",x)}let p=c.method||"GET";if(!["GET","POST","PUT","DELETE","PATCH"].includes(p))this.createValidationError("method","HTTP方法无效",p);let $;if(c.headers!==void 0){if(typeof c.headers!=="object"||c.headers===null)this.createValidationError("headers","请求头必须是对象类型",c.headers);$={};for(let[i,G]of Object.entries(c.headers))$[i]=this.validateString(G,`headers.${i}`,{required:!0})}let z;if(c.query_params!==void 0){if(typeof c.query_params!=="object"||c.query_params===null)this.createValidationError("query_params","查询参数必须是对象类型",c.query_params);z={};for(let[i,G]of Object.entries(c.query_params))z[i]=this.validateString(G,`query_params.${i}`,{required:!0})}let Z;if(c.auth!==void 0){if(typeof c.auth!=="object"||c.auth===null)this.createValidationError("auth","认证信息必须是对象类型",c.auth);let i=c.auth.type;if(!["bearer","basic","api_key"].includes(i))this.createValidationError("auth.type","认证类型无效",i);switch(Z={type:i},i){case"bearer":if(c.auth.token)Z.token=this.validateString(c.auth.token,"auth.token",{required:!0});break;case"basic":if(c.auth.username)Z.username=this.validateString(c.auth.username,"auth.username",{required:!0});if(c.auth.password)Z.password=this.validateString(c.auth.password,"auth.password",{required:!0});break;case"api_key":if(c.auth.api_key)Z.api_key=this.validateString(c.auth.api_key,"auth.api_key",{required:!0});if(c.auth.api_key_header)Z.api_key_header=this.validateString(c.auth.api_key_header,"auth.api_key_header",{required:!0});break}}let Q;if(c.timeout!==void 0)Q=this.validateNumber(c.timeout,"timeout",{min:1000,max:120000,integer:!0});let J=this.validateBoolean(c.parse_response??!0,"parse_response"),X={url:x,method:p,...$!==void 0&&{headers:$},...z!==void 0&&{query_params:z},...c.body!==void 0&&{body:c.body},...Z!==void 0&&{auth:Z},...Q!==void 0&&{timeout:Q},parse_response:J};return new v8(X)}}Ic();Cc();class q8 extends Wc{constructor(c){super("web_fetch",c)}getDescription(){let{url:c,method:x="GET"}=this.params;return`${x} 请求: ${c}`}getAffectedPaths(){return[]}async shouldConfirm(){let{url:c,method:x="GET",body:p}=this.params;if(!c.startsWith("http://localhost")&&!c.startsWith("http://127.0.0.1")){let $=["将向外部网站发送网络请求"];if(x!=="GET")$.push(`使用 ${x} 方法可能修改远程数据`);if(p)$.push("请求包含数据内容");return{type:"network",title:"确认网络请求",message:`将向 ${c} 发送 ${x} 请求`,risks:$,affectedFiles:[]}}return null}async execute(c,x){try{this.validateParams(),this.checkAbortSignal(c);let{url:p,method:$="GET",headers:z={},body:Z,timeout:Q=30000,follow_redirects:J=!0,max_redirects:X=5,return_headers:i=!1}=this.params;x?.(`发送 ${$} 请求到: ${p}`);let G=Date.now(),Y=await this.performRequest({url:p,method:$,headers:z,body:Z,timeout:Q,follow_redirects:J,max_redirects:X,signal:c}),H=Date.now()-G;if(Y.response_time=H,!i)delete Y.headers;let W={url:p,method:$,status:Y.status,response_time:H,content_length:Y.body.length,redirected:Y.redirected||!1},K=this.formatDisplayMessage(Y,W);if(Y.status>=400)return this.createErrorResult(`HTTP错误 ${Y.status}: ${Y.status_text}`,{...W,response_body:Y.body});return this.createSuccessResult(Y,K,W)}catch(p){return this.createErrorResult(p)}}async performRequest(c){let{url:x,method:p,headers:$,body:z,timeout:Z,follow_redirects:Q,max_redirects:J,signal:X}=c,i=new AbortController,G=setTimeout(()=>i.abort(),Z);X.addEventListener("abort",()=>i.abort());try{let Y={"User-Agent":"Blade-AI/1.0",...$},H={method:p,headers:Y,signal:i.signal,redirect:Q?"follow":"manual"};if(z&&p!=="GET"&&p!=="HEAD"){if(H.body=z,!Y["Content-Type"])Y["Content-Type"]="application/json"}let W=await fetch(x,H);clearTimeout(G);let K=await W.text(),w={};return W.headers.forEach((q,U)=>{w[U]=q}),{status:W.status,status_text:W.statusText,headers:w,body:K,url:W.url,redirected:W.redirected,response_time:0}}catch(Y){if(clearTimeout(G),Y.name==="AbortError")throw Error("请求被中止或超时");throw Error(`网络请求失败: ${Y.message}`)}}formatDisplayMessage(c,x){let{url:p,method:$,status:z,response_time:Z,content_length:Q}=x,J=`${$} ${p} - ${z} ${c.status_text}`;if(J+=`
|
|
329
|
+
响应时间: ${Z}ms`,J+=`
|
|
330
|
+
内容长度: ${Q} 字符`,c.redirected)J+=`
|
|
331
|
+
最终URL: ${c.url}`;if(c.body&&c.body.length>0){let X=c.body.length>500?c.body.substring(0,500)+"...":c.body;J+=`
|
|
332
|
+
响应内容:
|
|
333
|
+
${X}`}return J}}class T2 extends Jc{constructor(){let c={type:"object",properties:{url:{type:"string",format:"uri",description:"要请求的URL地址"},method:{type:"string",enum:["GET","POST","PUT","DELETE","HEAD"],default:"GET",description:"HTTP方法"},headers:{type:"object",additionalProperties:{type:"string"},description:"请求头(可选)"},body:{type:"string",description:"请求体内容(可选)"},timeout:{type:"integer",minimum:1000,maximum:120000,default:30000,description:"超时时间(毫秒,默认30秒)"},follow_redirects:{type:"boolean",default:!0,description:"是否跟随重定向"},max_redirects:{type:"integer",minimum:0,maximum:10,default:5,description:"最大重定向次数"},return_headers:{type:"boolean",default:!1,description:"是否返回响应头信息"}},required:["url"],additionalProperties:!1};super("web_fetch","网页内容获取","发送HTTP请求获取网页或API内容,支持多种HTTP方法和自定义请求头","network",c,!0,"1.0.0","网络工具",["web","http","fetch","request","api"])}build(c){let x=this.validateString(c.url,"url",{required:!0,minLength:1});try{new URL(x)}catch{this.createValidationError("url","URL格式无效",x)}let p=c.method||"GET";if(!["GET","POST","PUT","DELETE","HEAD"].includes(p))this.createValidationError("method","HTTP方法无效",p);let $;if(c.headers!==void 0){if(typeof c.headers!=="object"||c.headers===null)this.createValidationError("headers","请求头必须是对象类型",c.headers);$={};for(let[G,Y]of Object.entries(c.headers))$[G]=this.validateString(Y,`headers.${G}`,{required:!0})}let z;if(c.body!==void 0)z=this.validateString(c.body,"body",{required:!1});let Z;if(c.timeout!==void 0)Z=this.validateNumber(c.timeout,"timeout",{min:1000,max:120000,integer:!0});let Q=this.validateBoolean(c.follow_redirects??!0,"follow_redirects"),J;if(c.max_redirects!==void 0)J=this.validateNumber(c.max_redirects,"max_redirects",{min:0,max:10,integer:!0});let X=this.validateBoolean(c.return_headers??!1,"return_headers"),i={url:x,method:p,...$!==void 0&&{headers:$},...z!==void 0&&{body:z},...Z!==void 0&&{timeout:Z},follow_redirects:Q,...J!==void 0&&{max_redirects:J},return_headers:X};return new q8(i)}}async function ZL(){try{let{McpRegistry:c}=await Promise.resolve().then(() => (fZ(),MZ));return await c.getInstance().getAvailableTools()}catch(c){return console.warn("MCP协议工具加载失败:",c),[]}}async function nZ(){let c=[new y2,new M2,new N2,new u2,new O2,new C2,new n2,new I2,new j2,new S2,new T2,new E2,new D2],x=await ZL();return[...c,...x]}class L6{chatService;config;contextManager;constructor(c,x){this.chatService=c,this.config=x,this.contextManager=this.createContextManager()}createContextManager(){let c=[];return{getMessages:()=>[...c],addMessage:(x)=>{c.push(x)},clearContext:()=>{c.length=0},getContextSize:()=>c.length}}getContextManager(){return this.contextManager}async executeSimpleTask(c){let x=[{role:"user",content:c.prompt}],p=await this.chatService.chat(x);return{taskId:c.id,content:p,metadata:{executionMode:"simple",taskType:c.type}}}async executeParallelTask(c){let x=this.decomposeTask(c),p=await Promise.all(x.map(async(z)=>{try{return{success:!0,result:await this.executeSimpleTask(z)}}catch(Z){return{success:!1,error:Z instanceof Error?Z.message:"执行失败",taskId:z.id}}})),$=this.combineSubTaskResults(p);return{taskId:c.id,content:$,metadata:{executionMode:"parallel",taskType:c.type,subTaskCount:x.length,failedSubTasks:p.filter((z)=>!z.success).length}}}async executeSteeringTask(c){let x=await this.generateExecutionSteps(c),p="",$={};for(let z=0;z<x.length;z++){let Z=x[z];try{let Q=await this.executeStep(Z,c);p+=Q.content+`
|
|
334
|
+
|
|
335
|
+
`,$[`step_${z}_type`]=Z.type,$[`step_${z}_result`]=Q}catch(Q){throw Error(`步骤 ${Z.id} 执行失败: ${Q instanceof Error?Q.message:"未知错误"}`)}}return{taskId:c.id,content:p.trim(),metadata:{executionMode:"steering",taskType:c.type,steps:x.length,...$}}}decomposeTask(c){return[{...c,id:`${c.id}_sub1`,prompt:`${c.prompt} (子任务1: 分析和规划)`},{...c,id:`${c.id}_sub2`,prompt:`${c.prompt} (子任务2: 执行和验证)`}]}async generateExecutionSteps(c){return[{id:`${c.id}_step1`,type:"llm",description:"理解任务要求和约束",status:"pending"},{id:`${c.id}_step2`,type:"tool",description:"准备执行环境和工具",status:"pending"},{id:`${c.id}_step3`,type:"llm",description:"执行任务并生成结果",status:"pending"}]}async executeStep(c,x){switch(c.type){case"llm":return this.executeLlmStep(c,x);case"tool":return this.executeToolStep(c,x);default:throw Error(`未知的步骤类型: ${c.type}`)}}async executeLlmStep(c,x){let p=`步骤: ${c.description}
|
|
336
|
+
任务: ${x.prompt}`;return{content:await this.chatService.chat([{role:"user",content:p}]),stepId:c.id}}async executeToolStep(c,x){return{content:`工具步骤执行完成: ${c.description}`,stepId:c.id}}combineSubTaskResults(c){return c.filter((x)=>x.success).map((x)=>x.result?.content||x.content||"").join(`
|
|
337
|
+
|
|
338
|
+
`)}}class kZ{tools=new Map;register(c){if(this.tools.has(c.name))throw Error(`Tool '${c.name}' already registered`);this.tools.set(c.name,c)}registerAll(c){c.forEach((x)=>this.register(x))}get(c){return this.tools.get(c)}getAll(){return Array.from(this.tools.values())}getFunctionDeclarations(){return this.getAll().map((c)=>({name:c.name,description:c.description,parameters:c.parameterSchema}))}}class N6 extends QL{config;isInitialized=!1;activeTask;toolRegistry;systemPrompt;chatService;executionEngine;promptBuilder;constructor(c,x){super();this.config=c,this.toolRegistry=x||new kZ}async initialize(){if(this.isInitialized)return;try{this.log("初始化Agent..."),await this.initializeSystemPrompt(),await this.registerBuiltinTools(),this.chatService=new $3(this.config.chat),this.executionEngine=new L6(this.chatService,this.config),this.isInitialized=!0,this.log(`Agent初始化完成,已加载 ${this.toolRegistry.getAll().length} 个工具`),this.emit("initialized")}catch(c){throw this.error("Agent初始化失败",c),c}}async executeTask(c){if(!this.isInitialized)throw Error("Agent未初始化");this.activeTask=c,this.emit("taskStarted",c);try{this.log(`开始执行任务: ${c.id}`);let x;if(c.type==="parallel")x=await this.executionEngine.executeParallelTask(c);else if(c.type==="steering")x=await this.executionEngine.executeSteeringTask(c);else x=await this.executionEngine.executeSimpleTask(c);return this.activeTask=void 0,this.emit("taskCompleted",c,x),this.log(`任务执行完成: ${c.id}`),x}catch(x){throw this.activeTask=void 0,this.emit("taskFailed",c,x),this.error(`任务执行失败: ${c.id}`,x),x}}async chat(c,x){if(!this.isInitialized)throw Error("Agent未初始化");if(x)return(await this.processMessageWithTools(c,x)).message;let p={id:this.generateTaskId(),type:"simple",prompt:c};return(await this.executeTask(p)).content}async processMessageWithTools(c,x){if(!this.isInitialized)throw Error("Agent未初始化");try{console.log("\uD83D\uDCAC Processing enhanced chat message...");let p=this.toolRegistry.getFunctionDeclarations(),$=[...x.messages,{role:"user",content:c}],z=await this.chatService.chatDetailed($,p,{systemPrompt:this.systemPrompt});if(console.log("\uD83D\uDD27 LLM response:",JSON.stringify(z,null,2)),z.tool_calls&&z.tool_calls.length>0){console.log(`\uD83D\uDD27 LLM requested ${z.tool_calls.length} tool calls`);let Z=[],Q=[...$];if(z.content)Q.push({role:"assistant",content:z.content});for(let X of z.tool_calls)try{console.log(`\uD83D\uDD27 Executing tool: ${X.function.name} with arguments: ${X.function.arguments}`);let i=this.toolRegistry.get(X.function.name);if(!i)throw Error(`未找到工具: ${X.function.name}`);let G=JSON.parse(X.function.arguments);console.log("\uD83D\uDD27 Tool parameters:",G);let H=await i.build(G).execute(new AbortController().signal);console.log("\uD83D\uDD27 Tool execution result:",H),Z.push(H);let W=H.success?H.llmContent||H.displayContent||"":H.error?.message||"执行失败";Q.push({role:"user",content:`工具 ${X.function.name} 执行结果: ${H.success?"成功":"失败"}
|
|
339
|
+
|
|
340
|
+
${W}`})}catch(i){console.error(`Tool execution failed for ${X.function.name}:`,i),Q.push({role:"user",content:`工具 ${X.function.name} 执行失败: ${i instanceof Error?i.message:"未知错误"}`})}return{message:await this.chatService.chat(Q),toolResults:Z}}return{message:typeof z.content==="string"?z.content:"",toolResults:[]}}catch(p){return console.error("Enhanced chat processing error:",p),{message:`处理消息时发生错误: ${p instanceof Error?p.message:"未知错误"}`,toolResults:[]}}}async chatWithSystem(c,x){if(!this.isInitialized)throw Error("Agent未初始化");let p=[{role:"user",content:x}];return this.chatService.chat(p,void 0,{systemPrompt:c})}getActiveTask(){return this.activeTask}getChatService(){return this.chatService}getContextManager(){return this.executionEngine?.getContextManager()}getStats(){return{initialized:this.isInitialized,activeTask:this.activeTask?.id,components:{chatService:this.chatService?"ready":"not_loaded",executionEngine:this.executionEngine?"ready":"not_loaded"}}}getAvailableTools(){return this.toolRegistry?this.toolRegistry.getAll():[]}getToolStats(){let c=this.getAvailableTools(),x=new Map;return c.forEach((p)=>{let $=x.get(p.kind)||0;x.set(p.kind,$+1)}),{totalTools:c.length,toolsByKind:Object.fromEntries(x),toolNames:c.map((p)=>p.name)}}async destroy(){this.log("销毁Agent...");try{this.removeAllListeners(),this.isInitialized=!1,this.log("Agent已销毁")}catch(c){throw this.error("Agent销毁失败",c),c}}buildLLMRequest(c,x){let p=this.toolRegistry?this.toolRegistry.getFunctionDeclarations():[];return{messages:[...x.messages,{role:"user",content:c}],tools:p,temperature:0.7,maxTokens:4000}}async callLLM(c){try{return{content:await this.chatService.chat(c.messages),finishReason:"stop"}}catch(x){return console.error("LLM call failed:",x),{content:`抱歉,调用语言模型时出现错误: ${x instanceof Error?x.message:"未知错误"}`,finishReason:"error"}}}async handleToolCalls(c,x){let p=[],$="";for(let z of c)try{console.log(`\uD83D\uDD27 Executing tool: ${z.name}`);let Z=this.toolRegistry?.get(z.name);if(!Z){let J={success:!1,llmContent:`工具 ${z.name} 不存在`,displayContent:`❌ 工具 "${z.name}" 未找到`,error:{message:`Tool "${z.name}" not found`,type:"VALIDATION_ERROR"}};p.push(J);continue}let Q=await this.executeTool(Z,z.parameters,x);if(p.push(Q),Q.success){if($+=`✅ ${z.name} 执行成功
|
|
341
|
+
`,Q.displayContent)$+=`${Q.displayContent}
|
|
342
|
+
|
|
343
|
+
`}else $+=`❌ ${z.name} 执行失败: ${Q.error?.message}
|
|
344
|
+
|
|
345
|
+
`}catch(Z){console.error(`Tool execution error for ${z.name}:`,Z);let Q={success:!1,llmContent:`工具 ${z.name} 执行失败: ${Z instanceof Error?Z.message:"未知错误"}`,displayContent:`❌ 工具执行失败: ${Z instanceof Error?Z.message:"未知错误"}`,error:{message:Z instanceof Error?Z.message:"Unknown error",type:"EXECUTION_ERROR"}};p.push(Q),$+=`❌ ${z.name} 执行出错: ${Z instanceof Error?Z.message:"未知错误"}
|
|
346
|
+
|
|
347
|
+
`}return this.emit("toolCallsCompleted",{toolCalls:c,results:p}),{message:$.trim()||"工具执行完成",toolResults:p}}async executeTool(c,x,p){try{let $={userId:p.userId,sessionId:p.sessionId,workspaceRoot:p.workspaceRoot,signal:new AbortController().signal},z=c.build(x);if(c.requiresConfirmation){let Q=await z.shouldConfirm();if(Q)console.log(`⚠️ Tool ${c.name} requires confirmation:`,Q.title)}let Z=await z.execute($.signal,(Q)=>{console.log(`\uD83D\uDCCA Tool progress: ${Q}`),this.emit("toolProgress",{toolName:c.name,output:Q})});return this.emit("toolExecuted",{toolName:c.name,parameters:x,result:Z}),Z}catch($){throw console.error(`Tool execution failed for ${c.name}:`,$),$}}generateTaskId(){return`task_${Date.now()}_${Math.random().toString(36).substring(2,9)}`}log(c,x){console.log(`[MainAgent] ${c}`,x||"")}error(c,x){console.error(`[MainAgent] ${c}`,x||"")}async initializeSystemPrompt(){try{this.promptBuilder=new q1({workingDirectory:process.cwd(),config:{enabled:!0,allowOverride:!0}});let c=this.config.systemPrompt;if(this.systemPrompt=await this.promptBuilder.buildString(c),this.systemPrompt)this.log("系统提示已加载")}catch(c){this.error("初始化系统提示失败",c)}}getSystemPrompt(){return this.systemPrompt}setCliSystemPrompt(c){this.config.systemPrompt=c}async registerBuiltinTools(){try{let c=await nZ();console.log(`\uD83D\uDCE6 Registering ${c.length} builtin tools...`),this.toolRegistry.registerAll(c),console.log("✅ Builtin tools registered successfully"),this.emit("toolsRegistered",c)}catch(c){throw console.error("Failed to register builtin tools:",c),c}}}async function d1(c={}){let x=await JL(c),p=new N6(x);return await p.initialize(),p}async function JL(c){let x;try{let Z=new Ec;await Z.initialize(),x=Z.getConfig()}catch(Z){console.warn("获取全局配置失败,使用默认值"),x=null}let p=c.apiKey||process.env.BLADE_API_KEY||x?.auth?.apiKey||"",$=c.baseUrl||process.env.BLADE_BASE_URL||x?.auth?.baseUrl||"",z=c.model||process.env.BLADE_MODEL||x?.auth?.modelName||"Qwen3-Coder";if(!p)throw Error("缺少 API 密钥。请通过参数、环境变量或配置文件提供。");if(!$)throw Error("缺少 API 基础 URL。请通过参数、环境变量或配置文件提供。");return{chat:{apiKey:p,baseUrl:$,model:z},systemPrompt:c.systemPrompt}}function XL(c){c.argument("[message]","Message to process").option("-p, --print","Print response and exit (useful for pipes)").option("--output-format <format>",'Output format: "text", "json", "stream-json"',"text").option("--include-partial-messages","Include partial message chunks as they arrive").option("--input-format <format>",'Input format: "text", "stream-json"',"text").option("--model <model>","Model for the current session").option("--append-system-prompt <prompt>","Append a system prompt to the default system prompt").action(async(x,p)=>{if(!p.print)return;try{let $=await d1({model:p.model,systemPrompt:p.appendSystemPrompt}),z="";if(x)z=x;else if(!process.stdin.isTTY){let Q=[];for await(let J of process.stdin)Q.push(J);z=Buffer.concat(Q).toString("utf-8").trim()}else z="Hello";let Z;if(p.appendSystemPrompt)Z=await $.chatWithSystem(p.appendSystemPrompt,z);else Z=await $.chat(z,{messages:[],userId:"cli-user",sessionId:`print-${Date.now()}`,workspaceRoot:process.cwd()});if(p.outputFormat==="json")console.log(JSON.stringify({response:Z,input:z,model:p.model,timestamp:new Date().toISOString()},null,2));else if(p.outputFormat==="stream-json")console.log(JSON.stringify({type:"response",content:Z}));else console.log(Z);process.exit(0)}catch($){console.error(`Error: ${$ instanceof Error?$.message:"未知错误"}`),process.exit(1)}})}async function OZ(){let c=process.argv.slice(2),x=c.findIndex(($)=>$==="--print"||$==="-p");if(x===-1)return!1;let p=new x8;p.name("blade").allowUnknownOption(!0).exitOverride(),XL(p);try{let $=c.slice(0,x),z=c.slice(x+1),Z=[...$,...z].filter((X)=>!X.startsWith("-")).join(" "),Q=[];for(let X=0;X<c.length;X++){let i=c[X];if(i.startsWith("-")&&i!=="--print"&&i!=="-p"){if(Q.push(i),X+1<c.length&&!c[X+1].startsWith("-"))Q.push(c[X+1]),X++}}let J=["node","blade",...Z?[Z]:[],"--print",...Q];return await p.parseAsync(J),!0}catch($){console.error(`Print mode error: ${$ instanceof Error?$.message:"未知错误"}`),process.exit(1)}}var CZ={command:"setup-token",describe:"Set up a long-lived authentication token (requires Claude subscription)",builder:(c)=>{return c.option("token",{type:"string",describe:"Provide token directly"}).option("provider",{type:"string",choices:["qwen","volcengine","openai","anthropic"],describe:"API provider for the token"}).example([["$0 setup-token","Interactive token setup"],["$0 setup-token --token sk-xxx --provider anthropic","Set token directly"]])},handler:async(c)=>{console.log(`\uD83D\uDD10 Setting up authentication token...
|
|
348
|
+
`);try{let x=c.token;if(!x){if(console.log("To get your authentication token:"),c.provider==="qwen")console.log("1. Visit https://dashscope.aliyun.com/"),console.log("2. Generate a new API token");else if(c.provider==="volcengine")console.log("1. Visit https://console.volcengine.com/"),console.log("2. Generate a new API token");else console.log("1. Visit https://claude.ai/settings"),console.log("2. Generate a new API token");console.log("3. Copy the token and run: blade setup-token --token <your-token>"),console.log(""),console.log("For security, tokens are not displayed in the terminal.");return}if(typeof x==="string"&&!x.startsWith("sk-")&&!x.match(/^[a-zA-Z0-9_-]+$/))throw Error("Invalid token format");let p=new Ec;await p.initialize();let $=p.getConfig();await p.updateConfig({auth:{...$.auth,apiKey:x}}),console.log("✅ Authentication token saved successfully"),console.log("\uD83D\uDD12 Token is encrypted and stored securely"),console.log(""),console.log("You can now use Blade with your authenticated account.")}catch(x){console.error(`❌ Failed to setup token: ${x instanceof Error?x.message:"未知错误"}`),console.log(""),console.log("Common issues:"),console.log("• Invalid token format"),console.log("• Network connection problems"),console.log("• Insufficient permissions to save config"),process.exit(1)}}};var jZ={command:"update",describe:"Check for updates and install if available",handler:async()=>{console.log("\uD83D\uDD0D Checking for updates...");try{let c=await import("fs/promises"),p=(await import("path")).join(process.cwd(),"package.json"),z=JSON.parse(await c.readFile(p,"utf-8")).version;console.log(`\uD83D\uDCE6 Current version: ${z}`),console.log("✅ You are running the latest version of Blade")}catch(c){console.error(`❌ Failed to check for updates: ${c instanceof Error?c.message:"未知错误"}`),process.exit(1)}}};import{Box as _v,useStdout as fj}from"ink";import{useEffect as nj,useState as kj}from"react";import{createContext as iL,useContext as GL,useReducer as YL}from"react";import{jsxDEV as WL}from"react/jsx-dev-runtime";var SZ=iL(void 0),IZ={messages:[],isThinking:!1,input:"",currentCommand:null,error:null,isActive:!0};function HL(c,x){switch(x.type){case"ADD_MESSAGE":return{...c,messages:[...c.messages,x.payload],error:null};case"SET_INPUT":return{...c,input:x.payload};case"SET_THINKING":return{...c,isThinking:x.payload};case"SET_COMMAND":return{...c,currentCommand:x.payload};case"SET_ERROR":return{...c,error:x.payload};case"CLEAR_MESSAGES":return{...c,messages:[],error:null};case"RESET_SESSION":return{...IZ,isActive:!0};default:return c}}function DZ({children:c}){let[x,p]=YL(HL,IZ),J={state:x,dispatch:p,addUserMessage:(X)=>{let i={id:`user-${Date.now()}-${Math.random()}`,role:"user",content:X,timestamp:Date.now()};p({type:"ADD_MESSAGE",payload:i})},addAssistantMessage:(X)=>{let i={id:`assistant-${Date.now()}-${Math.random()}`,role:"assistant",content:X,timestamp:Date.now()};p({type:"ADD_MESSAGE",payload:i})},clearMessages:()=>{p({type:"CLEAR_MESSAGES"})},resetSession:()=>{p({type:"RESET_SESSION"})}};return WL(SZ.Provider,{value:J,children:c},void 0,!1,void 0,this)}function Tx(){let c=GL(SZ);if(c===void 0)throw Error("useSession must be used within a SessionProvider");return c}var jK=Sc(CK(),1);import{useEffect as XO,useState as dp}from"react";var SK=(c,x=!1)=>{let[p,$]=dp(!1),[z,Z]=dp("正在初始化..."),[Q,J]=dp(!1),X=jK.useMemoizedFn(async()=>{try{Z("加载配置...");let i=new Ec;await i.initialize();let G=i.getConfig();if(Z("检查 API 密钥..."),!G.auth?.apiKey||G.auth.apiKey.trim()===""){J(!1),$(!0),c("\uD83D\uDE80 欢迎使用 Blade Code 助手!"),c("/help for help, /status for your current setup"),c(`Cwd: ${process.cwd()}`),c(`⚠️ API Key 未配置
|
|
349
|
+
|
|
350
|
+
API Base URL: https://apis.iflow.cn
|
|
351
|
+
|
|
352
|
+
\uD83D\uDCCB 配置步骤:
|
|
353
|
+
1. 设置环境变量: export BLADE_API_KEY="your-api-key"
|
|
354
|
+
2. 重新启动 Blade
|
|
355
|
+
|
|
356
|
+
\uD83D\uDCA1 或者使用命令行参数: blade --api-key="your-api-key"`);return}Z("初始化完成!"),J(!0),$(!0),c("\uD83D\uDE80 Blade Code 助手已就绪!"),c("请输入您的问题,我将为您提供帮助。"),console.log("Blade 应用初始化完成")}catch(i){console.error("应用初始化失败:",i),c(`❌ 初始化失败: ${i}`),$(!0)}});return XO(()=>{if(!p)X()},[p,X]),{isInitialized:p,loadingStatus:z,hasApiKey:Q,initializeApp:X}};import{useCallback as aK,useState as bO}from"react";var iO={name:"help",description:"Show all available slash commands",fullDescription:"显示所有可用的 slash commands 及其使用方法",usage:"/help",aliases:["h"],async handler(c,x){let{addAssistantMessage:p}=x,$=`\uD83D\uDD27 **可用的 Slash Commands:**
|
|
357
|
+
|
|
358
|
+
**/init** - 分析当前项目并生成 BLADE.md 配置文件
|
|
359
|
+
**/help** - 显示此帮助信息
|
|
360
|
+
**/clear** - 清除屏幕内容
|
|
361
|
+
**/version** - 显示 Blade Code 版本信息
|
|
362
|
+
**/status** - 显示当前配置状态
|
|
363
|
+
|
|
364
|
+
\uD83D\uDCA1 **使用提示:**
|
|
365
|
+
- 在命令前加上 \`/\` 即可执行 slash command
|
|
366
|
+
- 普通消息会发送给 AI 助手处理
|
|
367
|
+
- 按 Ctrl+C 退出程序
|
|
368
|
+
- 按 Ctrl+L 快速清屏`;return p(`\uD83D\uDD27 **可用的 Slash Commands:**
|
|
369
|
+
|
|
370
|
+
**/init** - 分析当前项目并生成 BLADE.md 配置文件
|
|
371
|
+
**/help** - 显示此帮助信息
|
|
372
|
+
**/clear** - 清除屏幕内容
|
|
373
|
+
**/version** - 显示 Blade Code 版本信息
|
|
374
|
+
**/status** - 显示当前配置状态
|
|
375
|
+
|
|
376
|
+
\uD83D\uDCA1 **使用提示:**
|
|
377
|
+
- 在命令前加上 \`/\` 即可执行 slash command
|
|
378
|
+
- 普通消息会发送给 AI 助手处理
|
|
379
|
+
- 按 Ctrl+C 退出程序
|
|
380
|
+
- 按 Ctrl+L 快速清屏`),{success:!0,message:"帮助信息已显示"}}},GO={name:"clear",description:"Clear conversation history and free up context",fullDescription:"清除屏幕内容和对话历史",usage:"/clear",aliases:["cls"],async handler(c,x){return{success:!0,message:"clear_screen"}}},YO={name:"version",description:"Show Blade Code version information",fullDescription:"显示 Blade Code 版本信息和构建详情",usage:"/version",aliases:["v"],async handler(c,x){let{addAssistantMessage:p}=x;try{let Z=`\uD83D\uDDE1️ **Blade Code v${(()=>{throw new Error("Cannot require module "+"../../../package.json");})().version||"1.3.0"}**
|
|
381
|
+
|
|
382
|
+
**构建信息:**
|
|
383
|
+
- Node.js: ${process.version}
|
|
384
|
+
- 平台: ${process.platform}
|
|
385
|
+
- 架构: ${process.arch}
|
|
386
|
+
|
|
387
|
+
**功能特性:**
|
|
388
|
+
- \uD83E\uDD16 智能 AI 对话
|
|
389
|
+
- \uD83D\uDD27 项目自动分析
|
|
390
|
+
- \uD83D\uDCDD 自定义系统提示
|
|
391
|
+
- \uD83C\uDFAF 多工具集成支持`;return p(Z),{success:!0,message:"版本信息已显示"}}catch($){return p(`\uD83D\uDDE1️ **Blade Code**
|
|
392
|
+
|
|
393
|
+
版本信息获取失败`),{success:!0,message:"版本信息已显示"}}}},HO={name:"status",description:"Show current configuration status",fullDescription:"显示当前项目配置状态和环境信息",usage:"/status",async handler(c,x){let{addAssistantMessage:p,cwd:$}=x,z=e("path"),Z=e("fs").promises;try{let Q=z.join($,"BLADE.md"),J=await Z.access(Q).then(()=>!0).catch(()=>!1),X=z.join($,"package.json"),i="未知项目",G="未知类型";try{let H=await Z.readFile(X,"utf-8"),W=JSON.parse(H);i=W.name||"未知项目";let K={...W.dependencies,...W.devDependencies};if(K.react)G="React 项目";else if(K.vue)G="Vue 项目";else if(K.next)G="Next.js 项目";else if(K.express)G="Express 项目";else G="Node.js 项目"}catch{}let Y=`\uD83D\uDCCA **当前状态**
|
|
394
|
+
|
|
395
|
+
**项目信息:**
|
|
396
|
+
- 名称: ${i}
|
|
397
|
+
- 类型: ${G}
|
|
398
|
+
- 路径: ${$}
|
|
399
|
+
|
|
400
|
+
**配置状态:**
|
|
401
|
+
- BLADE.md: ${J?"✅ 已配置":"❌ 未配置 (使用 /init 创建)"}
|
|
402
|
+
|
|
403
|
+
**环境信息:**
|
|
404
|
+
- 工作目录: ${process.cwd()}
|
|
405
|
+
- Node.js: ${process.version}
|
|
406
|
+
|
|
407
|
+
${!J?"\n\uD83D\uDCA1 **建议:** 运行 `/init` 命令来创建项目配置文件":""}`;return p(Y),{success:!0,message:"状态信息已显示"}}catch(Q){return{success:!1,error:`获取状态信息失败: ${Q instanceof Error?Q.message:"未知错误"}`}}}},WO={name:"exit",description:"Exit the REPL",fullDescription:"退出 Blade Code 命令行界面",usage:"/exit",aliases:["quit","q"],async handler(c,x){return{success:!0,message:"exit_application"}}},KO={name:"config",description:"Open config panel",fullDescription:"打开配置面板,管理 Blade Code 设置",usage:"/config [theme]",async handler(c,x){let{addAssistantMessage:p}=x,$=`⚙️ **配置面板**
|
|
408
|
+
|
|
409
|
+
**当前配置:**
|
|
410
|
+
- 主题: Default
|
|
411
|
+
- 语言: 中文
|
|
412
|
+
- 调试模式: 关闭
|
|
413
|
+
|
|
414
|
+
**可用配置项:**
|
|
415
|
+
- \`/config theme\` - 切换主题
|
|
416
|
+
- \`/config lang\` - 切换语言
|
|
417
|
+
- \`/config debug\` - 切换调试模式
|
|
418
|
+
|
|
419
|
+
\uD83D\uDCA1 **提示:** 配置更改会在下次启动时生效`;return p(`⚙️ **配置面板**
|
|
420
|
+
|
|
421
|
+
**当前配置:**
|
|
422
|
+
- 主题: Default
|
|
423
|
+
- 语言: 中文
|
|
424
|
+
- 调试模式: 关闭
|
|
425
|
+
|
|
426
|
+
**可用配置项:**
|
|
427
|
+
- \`/config theme\` - 切换主题
|
|
428
|
+
- \`/config lang\` - 切换语言
|
|
429
|
+
- \`/config debug\` - 切换调试模式
|
|
430
|
+
|
|
431
|
+
\uD83D\uDCA1 **提示:** 配置更改会在下次启动时生效`),{success:!0,message:"配置面板已显示"}}},wO={name:"context",description:"Visualize current context usage as a colored grid",fullDescription:"可视化显示当前上下文使用情况",usage:"/context",async handler(c,x){let{addAssistantMessage:p}=x,$=`\uD83D\uDCCA **上下文使用情况**
|
|
432
|
+
|
|
433
|
+
**当前会话:**
|
|
434
|
+
- 消息数量: ${Math.floor(Math.random()*20)+5}
|
|
435
|
+
- 使用令牌: ${Math.floor(Math.random()*5000)+1000}
|
|
436
|
+
- 剩余容量: ${Math.floor(Math.random()*50)+30}%
|
|
437
|
+
|
|
438
|
+
**内存使用:**
|
|
439
|
+
- 对话历史: ${Math.floor(Math.random()*2000)+500} tokens
|
|
440
|
+
- 系统提示: ${Math.floor(Math.random()*500)+200} tokens
|
|
441
|
+
- 项目上下文: ${Math.floor(Math.random()*1000)+300} tokens
|
|
442
|
+
|
|
443
|
+
\uD83D\uDFE2 正常 \uD83D\uDFE1 中等 \uD83D\uDD34 高负载`;return p($),{success:!0,message:"上下文信息已显示"}}},vO={name:"cost",description:"Show the total cost and duration of the current session",fullDescription:"显示当前会话的成本和持续时间",usage:"/cost",async handler(c,x){let{addAssistantMessage:p}=x,$=`\uD83D\uDCB0 **会话成本统计**
|
|
444
|
+
|
|
445
|
+
**时间统计:**
|
|
446
|
+
- 开始时间: ${new Date().toLocaleTimeString()}
|
|
447
|
+
- 持续时间: ${Math.floor(Math.random()*60)+5} 分钟
|
|
448
|
+
|
|
449
|
+
**使用统计:**
|
|
450
|
+
- 输入令牌: ${Math.floor(Math.random()*5000)+1000}
|
|
451
|
+
- 输出令牌: ${Math.floor(Math.random()*3000)+500}
|
|
452
|
+
- 总计令牌: ${Math.floor(Math.random()*8000)+1500}
|
|
453
|
+
|
|
454
|
+
**估算成本:**
|
|
455
|
+
- 当前会话: $${(Math.random()*0.5+0.1).toFixed(3)}
|
|
456
|
+
- 今日总计: $${(Math.random()*2+0.5).toFixed(3)}
|
|
457
|
+
|
|
458
|
+
\uD83D\uDCA1 **提示:** 成本基于当前 AI 模型定价估算`;return p($),{success:!0,message:"成本信息已显示"}}},IK={help:iO,clear:GO,version:YO,status:HO,exit:WO,config:KO,context:wO,cost:vO};import{promises as hp}from"fs";import*as ap from"path";function DK(c,x){return`Please analyze this codebase and create a BLADE.md file, which will be given to future instances of Blade Code to operate in this repository.
|
|
459
|
+
|
|
460
|
+
**Project Information:**
|
|
461
|
+
- Name: ${c.name}
|
|
462
|
+
- Type: ${c.type}
|
|
463
|
+
- Languages: ${c.languages.join(", ")||"Unknown"}
|
|
464
|
+
- Frameworks: ${c.frameworks.join(", ")||"None detected"}
|
|
465
|
+
- Working Directory: ${x}
|
|
466
|
+
|
|
467
|
+
**Package Information:**
|
|
468
|
+
${c.hasPackageJson?`
|
|
469
|
+
- Has package.json: Yes
|
|
470
|
+
- Dependencies: ${Object.keys(c.dependencies).length} packages
|
|
471
|
+
- DevDependencies: ${Object.keys(c.devDependencies).length} packages
|
|
472
|
+
- Scripts: ${Object.keys(c.scripts).join(", ")||"None"}
|
|
473
|
+
`:"- Has package.json: No"}
|
|
474
|
+
|
|
475
|
+
**Development Setup:**
|
|
476
|
+
- TypeScript: ${c.hasTypeScript?"Yes":"No"}
|
|
477
|
+
- Testing: ${c.hasTests?`Yes (${c.testFramework||"Unknown framework"})`:"No"}
|
|
478
|
+
- Linting: ${c.hasLinting?"Yes":"No"}
|
|
479
|
+
- Formatting: ${c.hasFormatting?"Yes":"No"}
|
|
480
|
+
${c.buildSystem?`- Build System: ${c.buildSystem}`:""}
|
|
481
|
+
|
|
482
|
+
**What to add to BLADE.md:**
|
|
483
|
+
|
|
484
|
+
1. **Essential Commands**: Commands that will be commonly used, such as:
|
|
485
|
+
- How to build the project
|
|
486
|
+
- How to run tests (including single test execution)
|
|
487
|
+
- How to lint and format code
|
|
488
|
+
- How to start development server
|
|
489
|
+
- Any custom scripts from package.json
|
|
490
|
+
|
|
491
|
+
2. **High-level Architecture**: Big picture architecture that requires reading multiple files to understand:
|
|
492
|
+
- Project structure and organization
|
|
493
|
+
- Key architectural patterns and design decisions
|
|
494
|
+
- Important relationships between modules/components
|
|
495
|
+
- Entry points and main workflows
|
|
496
|
+
|
|
497
|
+
3. **Development Guidelines**: Project-specific guidelines that would help developers:
|
|
498
|
+
- Code style and patterns used in this project
|
|
499
|
+
- Testing approach and strategies
|
|
500
|
+
- Build and deployment processes
|
|
501
|
+
- Any unique aspects of this codebase
|
|
502
|
+
|
|
503
|
+
**Important Notes:**
|
|
504
|
+
- Focus on non-obvious information that requires understanding multiple files
|
|
505
|
+
- Don't include generic development practices unless they're project-specific
|
|
506
|
+
- Include actual commands that work for this project
|
|
507
|
+
- Be concise but comprehensive
|
|
508
|
+
- Start the file with: "# BLADE.md\\n\\n你是一个专门帮助 ${c.type} 开发者的助手。"
|
|
509
|
+
|
|
510
|
+
Please analyze the current codebase structure and generate a comprehensive BLADE.md file with the above information. Write the complete content that should go into the BLADE.md file.`}function EK(c,x,p){let $={...c,...x},z="Unknown";if($.vite)z="Vite";else if($.webpack)z="Webpack";else if($["@angular/cli"])z="Angular CLI";else if($.next)z="Next.js";else if($.nuxt)z="Nuxt.js";else if(p.build)z="Custom (via npm scripts)";let Z=void 0;if($.jest)Z="Jest";else if($.vitest)Z="Vitest";else if($.mocha)Z="Mocha";else if($.jasmine)Z="Jasmine";else if($["@playwright/test"])Z="Playwright";else if($.cypress)Z="Cypress";let Q=Boolean($.typescript||$["@types/node"]||Object.keys(p).some((G)=>p[G].includes("tsc"))),J=Boolean(Z||Object.keys(p).some((G)=>G.includes("test"))||$["@testing-library/react"]||$["@testing-library/vue"]),X=Boolean($.eslint||$.biome||$.tslint||Object.keys(p).some((G)=>G.includes("lint"))),i=Boolean($.prettier||$.biome||Object.keys(p).some((G)=>G.includes("format")));return{hasTypeScript:Q,hasTests:J,hasLinting:X,hasFormatting:i,buildSystem:z!=="Unknown"?z:void 0,testFramework:Z}}function TK(c){let x=new Set;try{let p=e("fs"),$=e("path"),z=(Z,Q=0)=>{if(Q>3)return;try{let J=p.readdirSync(Z);for(let X of J){if(X.startsWith(".")||X==="node_modules")continue;let i=$.join(Z,X);if(p.statSync(i).isDirectory())z(i,Q+1);else switch($.extname(X).toLowerCase()){case".ts":case".tsx":x.add("typescript");break;case".js":case".jsx":x.add("javascript");break;case".vue":x.add("vue");break;case".py":x.add("python");break;case".go":x.add("go");break;case".rs":x.add("rust");break;case".java":x.add("java");break}}}catch(J){}};z(c)}catch(p){}return Array.from(x)}function qO(c){let x=[],p={...c.dependencies,...c.devDependencies};if(p.react)x.push("react");if(p.next)x.push("nextjs");if(p.vue)x.push("vue");if(p.nuxt)x.push("nuxt");if(p.angular)x.push("angular");if(p.express)x.push("express");if(p.koa)x.push("koa");if(p.fastify)x.push("fastify");if(p.electron)x.push("electron");if(p.gatsby)x.push("gatsby");return x}function UO(c,x){let p={...c.dependencies,...c.devDependencies};if(p.react)return"React";if(p.vue)return"Vue.js";if(p.angular)return"Angular";if(p.next)return"Next.js";if(p.nuxt)return"Nuxt.js";if(p.electron)return"Electron";if(p.express||p.koa||p.fastify)return"Node.js 后端";let $=TK(x);if($.includes("typescript"))return"TypeScript";if($.includes("javascript"))return"JavaScript";if($.includes("python"))return"Python";if($.includes("go"))return"Go";if($.includes("rust"))return"Rust";if($.includes("java"))return"Java";return"Node.js"}var BO={name:"init",description:"分析当前项目并生成 BLADE.md 配置文件",usage:"/init",async handler(c,x){try{let{cwd:p,addAssistantMessage:$}=x,z=ap.join(p,"BLADE.md");if(await hp.access(z).then(()=>!0).catch(()=>!1))return $("⚠️ BLADE.md 已存在。"),$("\uD83D\uDCA1 建议让 AI 分析现有文件并提供改进建议..."),{success:!0,message:"trigger_analysis",data:{analysisPrompt:`Please analyze the existing BLADE.md file in this project and suggest improvements. The file is located at: ${z}
|
|
511
|
+
|
|
512
|
+
Please:
|
|
513
|
+
1. Read the current BLADE.md content
|
|
514
|
+
2. Analyze the project structure and identify any missing information
|
|
515
|
+
3. Suggest specific improvements to make the file more useful for future AI assistants
|
|
516
|
+
4. Provide an updated version if significant improvements are needed
|
|
517
|
+
|
|
518
|
+
Focus on practical commands, architecture insights, and development workflows that aren't obvious from just reading individual files.`,blademdPath:z,mode:"improve_existing"}};await hp.writeFile(z,"","utf-8"),$("✅ 已创建空的 BLADE.md 文件"),$("\uD83D\uDD0D 正在分析项目结构...");let Q=await VO(p);return{success:!0,message:"trigger_analysis",data:{analysisPrompt:DK(Q,p),blademdPath:z,mode:"create_new"}}}catch(p){return{success:!1,error:`初始化失败: ${p instanceof Error?p.message:"未知错误"}`}}}};async function VO(c){try{let x=ap.join(c,"package.json"),p={},$=!1;try{let X=await hp.readFile(x,"utf-8");p=JSON.parse(X),$=!0}catch{}let z=TK(c),Z=qO(p),Q=UO(p,c),J=EK(p.dependencies||{},p.devDependencies||{},p.scripts||{});return{name:p.name||"unknown-project",description:p.description,type:Q,languages:z,frameworks:Z,dependencies:p.dependencies||{},devDependencies:p.devDependencies||{},scripts:p.scripts||{},hasPackageJson:$,hasTypeScript:J.hasTypeScript??!1,hasTests:J.hasTests??!1,hasLinting:J.hasLinting??!1,hasFormatting:J.hasFormatting??!1,buildSystem:J.buildSystem,testFramework:J.testFramework}}catch(x){throw Error(`项目信息收集失败: ${x instanceof Error?x.message:"未知错误"}`)}}var RK=BO;var gp={...IK,init:RK};function mK(c){return c.trim().startsWith("/")}function FO(c){let x=c.trim();if(!x.startsWith("/"))throw Error("不是有效的 slash command");let p=x.slice(1).split(/\s+/),$=p[0]||"",z=p.slice(1);return{command:$,args:z}}async function dK(c,x){try{let{command:p,args:$}=FO(c),z=gp[p];if(!z)return{success:!1,error:`未知命令: /${p}\\n使用 /help 查看可用命令`};return await z.handler($,x)}catch(p){return{success:!1,error:`命令执行失败: ${p instanceof Error?p.message:"未知错误"}`}}}function _p(c,x){let p=c.toLowerCase(),$=x.toLowerCase();if($===p)return 100;if($.startsWith(p))return 80;if($.includes(p))return 60;let z=0;for(let Z=0;Z<$.length&&z<p.length;Z++)if($[Z]===p[z])z++;if(z===p.length)return 40;return 0}function hK(c){let x=c.startsWith("/")?c.slice(1):c;if(!x)return Object.values(gp).map(($)=>({command:`/${$.name}`,description:$.description,matchScore:50}));let p=[];return Object.values(gp).forEach(($)=>{let z=_p(x,$.name),Z=_p(x,$.description)*0.5,Q=0;if($.aliases)Q=Math.max(...$.aliases.map((X)=>_p(x,X)));let J=Math.max(z,Z,Q);if(J>0)p.push({command:`/${$.name}`,description:$.description,matchScore:J})}),p.sort(($,z)=>(z.matchScore||0)-($.matchScore||0))}var _K=(c)=>{let[x,p]=bO(!1),{dispatch:$}=Tx(),z=aK(async(Q,J,X)=>{console.log("[DEBUG] handleCommandSubmit 被调用,命令:",Q);try{if(console.log("[DEBUG] 添加用户消息到UI"),J(Q),mK(Q)){console.log("[DEBUG] 检测到 slash command,执行中...");let W={cwd:process.cwd(),addUserMessage:J,addAssistantMessage:X},K=await dK(Q,W);if(!K.success&&K.error)return X(`❌ ${K.error}`),{success:K.success,output:K.message,error:K.error,metadata:K.data};if(K.success&&K.message==="trigger_analysis"&&K.data){let{analysisPrompt:w}=K.data;console.log("[DEBUG] 触发 AI 分析,提示:",w.substring(0,100)+"...");let q=await d1({systemPrompt:c}),U={messages:[],userId:"cli-user",sessionId:`session-${Date.now()}`,workspaceRoot:process.cwd()};try{let b=await q.chat(w,U);return X(b),{success:!0,output:b,metadata:K.data}}catch(b){let v=b instanceof Error?b.message:"未知错误";return X(`❌ AI 分析失败: ${v}`),{success:!1,error:`AI 分析失败: ${v}`}}}return{success:K.success,output:K.message,error:K.error,metadata:K.data}}console.log("[DEBUG] 普通命令,发送给 Agent...");let i=await d1({systemPrompt:c}),G={messages:[],userId:"cli-user",sessionId:`session-${Date.now()}`,workspaceRoot:process.cwd()},H={success:!0,output:await i.chat(Q,G)};if(console.log("[DEBUG] 命令执行结果:",H),H.output)console.log("[DEBUG] 添加助手消息到UI"),X(H.output);else console.log("[DEBUG] 命令执行成功但无输出内容"),X("✅ 处理完成");return H}catch(i){console.log("[ERROR] handleCommandSubmit 异常:",i);let G=i instanceof Error?i.message:"未知错误",Y={success:!1,error:G};return X(`❌ ${G}`),Y}},[c]),Z=aK(async(Q,J,X)=>{if(console.log("[DEBUG] executeCommand 被调用,输入:",Q,"处理中:",x),Q.trim()&&!x){let i=Q.trim();console.log("[DEBUG] 开始处理命令:",i),console.log("[DEBUG] 设置处理状态为 true"),p(!0),$({type:"SET_THINKING",payload:!0});try{console.log("[DEBUG] 开始执行 handleCommandSubmit...");let G=await z(i,J,X);if(console.log("[DEBUG] handleCommandSubmit 完成,结果:",G),!G.success&&G.error)console.log("[DEBUG] 设置错误状态:",G.error),$({type:"SET_ERROR",payload:G.error});else console.log("[DEBUG] 命令执行成功")}catch(G){console.log("[ERROR] executeCommand 异常:",G);let Y=G instanceof Error?G.message:"未知错误";$({type:"SET_ERROR",payload:`执行失败: ${Y}`})}finally{console.log("[DEBUG] 设置处理状态为 false"),p(!1),$({type:"SET_THINKING",payload:!1})}}else console.log("[DEBUG] 跳过提交 - 输入为空或正在处理中")},[x,z,$]);return{isProcessing:x,executeCommand:Z}};import{useCallback as L4,useState as gK}from"react";var lK=()=>{let[c,x]=gK([]),[p,$]=gK(-1),z=L4((X)=>{x((i)=>[...i,X]),$(-1)},[]),Z=L4(()=>{if(c.length===0)return"";let X=p===-1?c.length-1:Math.max(0,p-1);return $(X),c[X]||""},[c,p]),Q=L4(()=>{if(p===-1)return"";let X=p+1;if(X>=c.length)return $(-1),"";else return $(X),c[X]||""},[c,p]),J=L4(()=>{$(-1)},[]);return{commandHistory:c,historyIndex:p,addToHistory:z,getPreviousCommand:Z,getNextCommand:Q,resetHistoryIndex:J}};import{useApp as LO,useInput as NO}from"ink";import{useCallback as lp,useEffect as AO,useState as N4}from"react";var oK=(c,x,p,$)=>{let[z,Z]=N4(""),[Q,J]=N4(!1),[X,i]=N4([]),[G,Y]=N4(0),{exit:H}=LO(),{dispatch:W}=Tx();AO(()=>{if(z.startsWith("/")){let U=hK(z);i(U),J(U.length>0),Y(0)}else J(!1),i([])},[z]);let K=lp(()=>{W({type:"CLEAR_MESSAGES"}),W({type:"SET_ERROR",payload:null})},[W]),w=lp(()=>{H()},[H]),q=lp(()=>{let U=z.trim();if(Q&&X.length>0&&G>=0)U=X[G].command;if(U)J(!1),i([]),$(U),Z(""),c(U)},[z,c,$,Q,X,G]);return NO((U,b)=>{if(b.return)q();else if(b.ctrl&&U==="c"||b.meta&&U==="c")w();else if(b.ctrl&&U==="d"||b.meta&&U==="d")w();else if(b.ctrl&&U==="l"||b.meta&&U==="l")K();else if(U==="\x1B")if(Q)J(!1),i([]);else w();else if(b.tab&&Q&&X.length>0){let v=X[G].command;Z(v),J(!1),i([])}else if(b.upArrow)if(Q&&X.length>0){let v=X.length-1;Y((B)=>B>0?B-1:v)}else{let v=x();if(v!=="")Z(v)}else if(b.downArrow)if(Q&&X.length>0){let v=X.length-1;Y((B)=>B<v?B+1:0)}else{let v=p();Z(v)}else if(b.backspace||b.delete)Z((v)=>v.slice(0,-1));else if(U&&U!=="\x1B")Z((v)=>v+U)}),{input:z,setInput:Z,showSuggestions:Q,suggestions:X,selectedSuggestionIndex:G}};import{Box as sK,Text as A4}from"ink";import{jsxDEV as $1}from"react/jsx-dev-runtime";var rK=({messageCount:c,hasApiKey:x,isProcessing:p})=>{return $1(sK,{flexDirection:"row",justifyContent:"space-between",paddingX:2,paddingY:0,children:[$1(sK,{flexDirection:"row",gap:2,children:c>0&&$1(A4,{color:"gray",dimColor:!0,children:[c," messages"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),!x?$1(A4,{color:"red",children:"⚠ API 密钥未配置"},void 0,!1,void 0,this):p?$1(A4,{color:"yellow",children:"Processing..."},void 0,!1,void 0,this):$1(A4,{color:"green",children:"Ready"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)};import{Box as op,Text as sp}from"ink";import{jsxDEV as z1}from"react/jsx-dev-runtime";var tK=({suggestions:c,selectedIndex:x,visible:p,maxDisplay:$=8})=>{if(!p||c.length===0)return null;let z=0,Z=Math.min($,c.length),Q=x>=c.length;if(x>=$&&!Q)z=x-$+1,Z=x+1;let J=c.slice(z,Z),X=c.length>$;return z1(op,{flexDirection:"column",paddingX:2,paddingY:0,children:[J.map((i,G)=>{let H=z+G===x;return z1(op,{justifyContent:"space-between",paddingX:1,children:[z1(sp,{color:H?"cyan":"white",bold:H,children:i.command},void 0,!1,void 0,this),z1(sp,{color:H?"cyan":"gray",dimColor:!H,children:i.description},void 0,!1,void 0,this)]},i.command,!0,void 0,this)}),X&&z1(op,{paddingX:1,children:z1(sp,{color:Q?"cyan":"gray",bold:Q,dimColor:!Q,children:["... and ",c.length-$," more"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)};import{Box as eK,Text as rp}from"ink";import{jsxDEV as J2}from"react/jsx-dev-runtime";var cw=({testMode:c})=>{return J2(eK,{flexDirection:"row",justifyContent:"space-between",marginBottom:1,paddingX:2,children:[J2(rp,{color:"cyan",bold:!0,children:"⚡ Blade Code"},void 0,!1,void 0,this),J2(eK,{flexDirection:"row",gap:2,children:[c&&J2(rp,{backgroundColor:"red",color:"white",children:[" ","TEST"," "]},void 0,!0,void 0,this),J2(rp,{color:"gray",dimColor:!0,children:"Press Ctrl+C to exit"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};import{Box as uO,Text as u4}from"ink";import{jsxDEV as X2}from"react/jsx-dev-runtime";var xw=({input:c,isProcessing:x})=>{return X2(uO,{flexDirection:"row",paddingX:2,paddingY:0,borderStyle:"round",borderColor:"gray",children:[X2(u4,{color:"blue",bold:!0,children:"> "},void 0,!1,void 0,this),X2(u4,{children:c},void 0,!1,void 0,this),x?X2(u4,{color:"yellow",children:"█"},void 0,!1,void 0,this):X2(u4,{color:"white",children:"█"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)};import{Box as i0,Text as rc}from"ink";import{Box as Vx,Text as W2}from"ink";import{Box as H2,Text as Bx}from"ink";function PO(c){let x=c.regex,p=c.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),$="decltype\\(auto\\)",z="[a-zA-Z_]\\w*::",Z="<[^<>]+>",Q="(?!struct)(decltype\\(auto\\)|"+x.optional("[a-zA-Z_]\\w*::")+"[a-zA-Z_]\\w*"+x.optional("<[^<>]+>")+")",J={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},X="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",i={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[c.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},c.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},G={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},Y={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},c.inherit(i,{className:"string"}),{className:"string",begin:/<.*?>/},p,c.C_BLOCK_COMMENT_MODE]},H={className:"title",begin:x.optional("[a-zA-Z_]\\w*::")+c.IDENT_RE,relevance:0},W=x.optional("[a-zA-Z_]\\w*::")+c.IDENT_RE+"\\s*\\(",K=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],w=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],q=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],U=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],B={type:w,keyword:K,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:q},A={className:"function.dispatch",relevance:0,keywords:{_hint:U},begin:x.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,c.IDENT_RE,x.lookahead(/(<[^<>]+>|)\s*\(/))},V=[A,Y,J,p,c.C_BLOCK_COMMENT_MODE,G,i],y={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:B,contains:V.concat([{begin:/\(/,end:/\)/,keywords:B,contains:V.concat(["self"]),relevance:0}]),relevance:0},k={className:"function",begin:"("+Q+"[\\*&\\s]+)+"+W,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:B,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:"decltype\\(auto\\)",keywords:B,relevance:0},{begin:W,returnBegin:!0,contains:[H],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[i,G]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:B,relevance:0,contains:[p,c.C_BLOCK_COMMENT_MODE,i,G,J,{begin:/\(/,end:/\)/,keywords:B,relevance:0,contains:["self",p,c.C_BLOCK_COMMENT_MODE,i,G,J]}]},J,p,c.C_BLOCK_COMMENT_MODE,Y]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:B,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(y,k,A,V,[Y,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:B,contains:["self",J]},{begin:c.IDENT_RE+"::",keywords:B},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function pw(c){let x={type:["boolean","byte","word","String"],built_in:["KeyboardController","MouseController","SoftwareSerial","EthernetServer","EthernetClient","LiquidCrystal","RobotControl","GSMVoiceCall","EthernetUDP","EsploraTFT","HttpClient","RobotMotor","WiFiClient","GSMScanner","FileSystem","Scheduler","GSMServer","YunClient","YunServer","IPAddress","GSMClient","GSMModem","Keyboard","Ethernet","Console","GSMBand","Esplora","Stepper","Process","WiFiUDP","GSM_SMS","Mailbox","USBHost","Firmata","PImage","Client","Server","GSMPIN","FileIO","Bridge","Serial","EEPROM","Stream","Mouse","Audio","Servo","File","Task","GPRS","WiFi","Wire","TFT","GSM","SPI","SD"],_hints:["setup","loop","runShellCommandAsynchronously","analogWriteResolution","retrieveCallingNumber","printFirmwareVersion","analogReadResolution","sendDigitalPortPair","noListenOnLocalhost","readJoystickButton","setFirmwareVersion","readJoystickSwitch","scrollDisplayRight","getVoiceCallStatus","scrollDisplayLeft","writeMicroseconds","delayMicroseconds","beginTransmission","getSignalStrength","runAsynchronously","getAsynchronously","listenOnLocalhost","getCurrentCarrier","readAccelerometer","messageAvailable","sendDigitalPorts","lineFollowConfig","countryNameWrite","runShellCommand","readStringUntil","rewindDirectory","readTemperature","setClockDivider","readLightSensor","endTransmission","analogReference","detachInterrupt","countryNameRead","attachInterrupt","encryptionType","readBytesUntil","robotNameWrite","readMicrophone","robotNameRead","cityNameWrite","userNameWrite","readJoystickY","readJoystickX","mouseReleased","openNextFile","scanNetworks","noInterrupts","digitalWrite","beginSpeaker","mousePressed","isActionDone","mouseDragged","displayLogos","noAutoscroll","addParameter","remoteNumber","getModifiers","keyboardRead","userNameRead","waitContinue","processInput","parseCommand","printVersion","readNetworks","writeMessage","blinkVersion","cityNameRead","readMessage","setDataMode","parsePacket","isListening","setBitOrder","beginPacket","isDirectory","motorsWrite","drawCompass","digitalRead","clearScreen","serialEvent","rightToLeft","setTextSize","leftToRight","requestFrom","keyReleased","compassRead","analogWrite","interrupts","WiFiServer","disconnect","playMelody","parseFloat","autoscroll","getPINUsed","setPINUsed","setTimeout","sendAnalog","readSlider","analogRead","beginWrite","createChar","motorsStop","keyPressed","tempoWrite","readButton","subnetMask","debugPrint","macAddress","writeGreen","randomSeed","attachGPRS","readString","sendString","remotePort","releaseAll","mouseMoved","background","getXChange","getYChange","answerCall","getResult","voiceCall","endPacket","constrain","getSocket","writeJSON","getButton","available","connected","findUntil","readBytes","exitValue","readGreen","writeBlue","startLoop","IPAddress","isPressed","sendSysex","pauseMode","gatewayIP","setCursor","getOemKey","tuneWrite","noDisplay","loadImage","switchPIN","onRequest","onReceive","changePIN","playFile","noBuffer","parseInt","overflow","checkPIN","knobRead","beginTFT","bitClear","updateIR","bitWrite","position","writeRGB","highByte","writeRed","setSpeed","readBlue","noStroke","remoteIP","transfer","shutdown","hangCall","beginSMS","endWrite","attached","maintain","noCursor","checkReg","checkPUK","shiftOut","isValid","shiftIn","pulseIn","connect","println","localIP","pinMode","getIMEI","display","noBlink","process","getBand","running","beginSD","drawBMP","lowByte","setBand","release","bitRead","prepare","pointTo","readRed","setMode","noFill","remove","listen","stroke","detach","attach","noTone","exists","buffer","height","bitSet","circle","config","cursor","random","IRread","setDNS","endSMS","getKey","micros","millis","begin","print","write","ready","flush","width","isPIN","blink","clear","press","mkdir","rmdir","close","point","yield","image","BSSID","click","delay","read","text","move","peek","beep","rect","line","open","seek","fill","size","turn","stop","home","find","step","tone","sqrt","RSSI","SSID","end","bit","tan","cos","sin","pow","map","abs","max","min","get","run","put"],literal:["DIGITAL_MESSAGE","FIRMATA_STRING","ANALOG_MESSAGE","REPORT_DIGITAL","REPORT_ANALOG","INPUT_PULLUP","SET_PIN_MODE","INTERNAL2V56","SYSTEM_RESET","LED_BUILTIN","INTERNAL1V1","SYSEX_START","INTERNAL","EXTERNAL","DEFAULT","OUTPUT","INPUT","HIGH","LOW"]},p=PO(c),$=p.keywords;return $.type=[...$.type,...x.type],$.literal=[...$.literal,...x.literal],$.built_in=[...$.built_in,...x.built_in],$._hints=x._hints,p.name="Arduino",p.aliases=["ino"],p.supersetOf="cpp",p}function $w(c){let x=c.regex,p={},$={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[p]}]};Object.assign(p,{className:"variable",variants:[{begin:x.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},$]});let z={className:"subst",begin:/\$\(/,end:/\)/,contains:[c.BACKSLASH_ESCAPE]},Z=c.inherit(c.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),Q={begin:/<<-?\s*(?=\w+)/,starts:{contains:[c.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},J={className:"string",begin:/"/,end:/"/,contains:[c.BACKSLASH_ESCAPE,p,z]};z.contains.push(J);let X={match:/\\"/},i={className:"string",begin:/'/,end:/'/},G={match:/\\'/},Y={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},c.NUMBER_MODE,p]},H=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],W=c.SHEBANG({binary:`(${H.join("|")})`,relevance:10}),K={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[c.inherit(c.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},w=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],q=["true","false"],U={match:/(\/[a-z._-]+)+/},b=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],v=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],B=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],A=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:w,literal:q,built_in:[...b,...v,"set","shopt",...B,...A]},contains:[W,c.SHEBANG(),K,Y,Z,Q,U,J,X,i,G,p]}}function zw(c){let x=c.regex,p=c.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),$="decltype\\(auto\\)",z="[a-zA-Z_]\\w*::",Z="<[^<>]+>",Q="(decltype\\(auto\\)|"+x.optional("[a-zA-Z_]\\w*::")+"[a-zA-Z_]\\w*"+x.optional("<[^<>]+>")+")",J={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},X="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",i={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[c.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},c.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},G={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},Y={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},c.inherit(i,{className:"string"}),{className:"string",begin:/<.*?>/},p,c.C_BLOCK_COMMENT_MODE]},H={className:"title",begin:x.optional("[a-zA-Z_]\\w*::")+c.IDENT_RE,relevance:0},W=x.optional("[a-zA-Z_]\\w*::")+c.IDENT_RE+"\\s*\\(",q={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},U=[Y,J,p,c.C_BLOCK_COMMENT_MODE,G,i],b={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:q,contains:U.concat([{begin:/\(/,end:/\)/,keywords:q,contains:U.concat(["self"]),relevance:0}]),relevance:0},v={begin:"("+Q+"[\\*&\\s]+)+"+W,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:q,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:"decltype\\(auto\\)",keywords:q,relevance:0},{begin:W,returnBegin:!0,contains:[c.inherit(H,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:q,relevance:0,contains:[p,c.C_BLOCK_COMMENT_MODE,i,G,J,{begin:/\(/,end:/\)/,keywords:q,relevance:0,contains:["self",p,c.C_BLOCK_COMMENT_MODE,i,G,J]}]},J,p,c.C_BLOCK_COMMENT_MODE,Y]};return{name:"C",aliases:["h"],keywords:q,disableAutodetect:!0,illegal:"</",contains:[].concat(b,v,U,[Y,{begin:c.IDENT_RE+"::",keywords:q},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},c.TITLE_MODE]}]),exports:{preprocessor:Y,strings:i,keywords:q}}}function Zw(c){let x=c.regex,p=c.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),$="decltype\\(auto\\)",z="[a-zA-Z_]\\w*::",Z="<[^<>]+>",Q="(?!struct)(decltype\\(auto\\)|"+x.optional("[a-zA-Z_]\\w*::")+"[a-zA-Z_]\\w*"+x.optional("<[^<>]+>")+")",J={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},X="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",i={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[c.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},c.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},G={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},Y={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},c.inherit(i,{className:"string"}),{className:"string",begin:/<.*?>/},p,c.C_BLOCK_COMMENT_MODE]},H={className:"title",begin:x.optional("[a-zA-Z_]\\w*::")+c.IDENT_RE,relevance:0},W=x.optional("[a-zA-Z_]\\w*::")+c.IDENT_RE+"\\s*\\(",K=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],w=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],q=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],U=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],B={type:w,keyword:K,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:q},A={className:"function.dispatch",relevance:0,keywords:{_hint:U},begin:x.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,c.IDENT_RE,x.lookahead(/(<[^<>]+>|)\s*\(/))},V=[A,Y,J,p,c.C_BLOCK_COMMENT_MODE,G,i],y={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:B,contains:V.concat([{begin:/\(/,end:/\)/,keywords:B,contains:V.concat(["self"]),relevance:0}]),relevance:0},k={className:"function",begin:"("+Q+"[\\*&\\s]+)+"+W,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:B,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:"decltype\\(auto\\)",keywords:B,relevance:0},{begin:W,returnBegin:!0,contains:[H],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[i,G]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:B,relevance:0,contains:[p,c.C_BLOCK_COMMENT_MODE,i,G,J,{begin:/\(/,end:/\)/,keywords:B,relevance:0,contains:["self",p,c.C_BLOCK_COMMENT_MODE,i,G,J]}]},J,p,c.C_BLOCK_COMMENT_MODE,Y]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:B,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(y,k,A,V,[Y,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:B,contains:["self",J]},{begin:c.IDENT_RE+"::",keywords:B},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function Qw(c){let x=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],p=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],$=["default","false","null","true"],z=["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"],Z=["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"],Q={keyword:z.concat(Z),built_in:x,literal:$},J=c.inherit(c.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),X={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},i={className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},G={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},Y=c.inherit(G,{illegal:/\n/}),H={className:"subst",begin:/\{/,end:/\}/,keywords:Q},W=c.inherit(H,{illegal:/\n/}),K={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},c.BACKSLASH_ESCAPE,W]},w={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},H]},q=c.inherit(w,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},W]});H.contains=[w,K,G,c.APOS_STRING_MODE,c.QUOTE_STRING_MODE,X,c.C_BLOCK_COMMENT_MODE],W.contains=[q,K,Y,c.APOS_STRING_MODE,c.QUOTE_STRING_MODE,X,c.inherit(c.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];let U={variants:[i,w,K,G,c.APOS_STRING_MODE,c.QUOTE_STRING_MODE]},b={begin:"<",end:">",contains:[{beginKeywords:"in out"},J]},v=c.IDENT_RE+"(<"+c.IDENT_RE+"(\\s*,\\s*"+c.IDENT_RE+")*>)?(\\[\\])?",B={begin:"@"+c.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:Q,illegal:/::/,contains:[c.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"<!--|-->"},{begin:"</?",end:">"}]}]}),c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},U,X,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},J,b,c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[J,c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[J,b,c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+v+"\\s+)+"+c.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:Q,contains:[{beginKeywords:p.join(" "),relevance:0},{begin:c.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[c.TITLE_MODE,b],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:Q,relevance:0,contains:[U,X,c.C_BLOCK_COMMENT_MODE]},c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE]},B]}}var yO=(c)=>{return{IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:c.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[c.APOS_STRING_MODE,c.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:c.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}},MO=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],fO=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],nO=[...MO,...fO],kO=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),OO=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),CO=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),jO=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function Jw(c){let x=c.regex,p=yO(c),$={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},z="and or not only",Z=/@-?\w[\w]*(-\w+)*/,Q="[a-zA-Z-][a-zA-Z0-9_-]*",J=[c.APOS_STRING_MODE,c.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[p.BLOCK_COMMENT,$,p.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},p.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+OO.join("|")+")"},{begin:":(:)?("+CO.join("|")+")"}]},p.CSS_VARIABLE,{className:"attribute",begin:"\\b("+jO.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[p.BLOCK_COMMENT,p.HEXCOLOR,p.IMPORTANT,p.CSS_NUMBER_MODE,...J,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...J,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},p.FUNCTION_DISPATCH]},{begin:x.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:Z},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:kO.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...J,p.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+nO.join("|")+")\\b"}]}}function Xw(c){let x=c.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:x.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:x.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}function iw(c){let Z={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:Z,illegal:"</",contains:[c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE,{className:"string",variants:[c.QUOTE_STRING_MODE,c.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0},{match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[c.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:Z,illegal:/["']/}]}]}}function Gw(c){let x=c.regex,p=/[_A-Za-z][_0-9A-Za-z]*/;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[c.HASH_COMMENT_MODE,c.QUOTE_STRING_MODE,c.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:x.concat(p,x.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}}function Yw(c){let x=c.regex,p={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:c.NUMBER_RE}]},$=c.COMMENT();$.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];let z={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},Z={className:"literal",begin:/\bon|off|true|false|yes|no\b/},Q={className:"string",contains:[c.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},J={begin:/\[/,end:/\]/,contains:[$,Z,z,Q,p,"self"],relevance:0},X=/[A-Za-z0-9_-]+/,i=/"(\\"|[^"])*"/,G=/'[^']*'/,Y=x.either(X,i,G),H=x.concat(Y,"(\\s*\\.\\s*",Y,")*",x.lookahead(/\s*=\s*[^#\s]/));return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[$,{className:"section",begin:/\[+/,end:/\]+/},{begin:H,className:"attr",starts:{end:/$/,contains:[$,J,Z,z,Q,p]}}]}}var Z1="[0-9](_*[0-9])*",P4=`\\.(${Z1})`,y4="[0-9a-fA-F](_*[0-9a-fA-F])*",Hw={className:"number",variants:[{begin:`(\\b(${Z1})((${P4})|\\.)?|(${P4}))[eE][+-]?(${Z1})[fFdD]?\\b`},{begin:`\\b(${Z1})((${P4})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${P4})[fFdD]?\\b`},{begin:`\\b(${Z1})[fFdD]\\b`},{begin:`\\b0[xX]((${y4})\\.?|(${y4})?\\.(${y4}))[pP][+-]?(${Z1})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${y4})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function Ww(c,x,p){if(p===-1)return"";return c.replace(x,($)=>{return Ww(c,x,p-1)})}function Kw(c){let x=c.regex,p="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",$="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"+Ww("(?:<"+"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"+"~~~(?:\\s*,\\s*"+"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"+"~~~)*>)?",/~~~/g,2),X={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},i={className:"meta",begin:"@"+"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},G={className:"params",begin:/\(/,end:/\)/,keywords:X,relevance:0,contains:[c.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:X,illegal:/<\/|#/,contains:[c.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[c.BACKSLASH_ESCAPE]},c.APOS_STRING_MODE,c.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[x.concat(/(?!else)/,"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"),/\s+/,"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"],className:{1:"keyword",3:"title.class"},contains:[G,c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+$+"\\s+)",c.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:X,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:X,relevance:0,contains:[i,c.APOS_STRING_MODE,c.QUOTE_STRING_MODE,Hw,c.C_BLOCK_COMMENT_MODE]},c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE]},Hw,i]}}var SO=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],IO=["true","false","null","undefined","NaN","Infinity"],ww=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],vw=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],qw=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],DO=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],EO=[].concat(qw,ww,vw);function Uw(c){let x=c.regex,p=(f,{after:j})=>{let T="</"+f[0].slice(1);return f.input.indexOf(T,j)!==-1},$="[A-Za-z$_][0-9A-Za-z$_]*",z={begin:"<>",end:"</>"},Z=/<[A-Za-z0-9\\._:-]+\s*\/>/,Q={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(f,j)=>{let T=f[0].length+f.index,S=f.input[T];if(S==="<"||S===","){j.ignoreMatch();return}if(S===">"){if(!p(f,{after:T}))j.ignoreMatch()}let D,a=f.input.substring(T);if(D=a.match(/^\s*=/)){j.ignoreMatch();return}if(D=a.match(/^\s+extends\s+/)){if(D.index===0){j.ignoreMatch();return}}}},J={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:SO,literal:IO,built_in:EO,"variable.language":DO},X="[0-9](_?[0-9])*",i="\\.([0-9](_?[0-9])*)",G="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",Y={className:"number",variants:[{begin:"(\\b(0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*)((\\.([0-9](_?[0-9])*))|\\.)?|(\\.([0-9](_?[0-9])*)))[eE][+-]?([0-9](_?[0-9])*)\\b"},{begin:"\\b(0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*)\\b((\\.([0-9](_?[0-9])*))\\b|\\.)?|(\\.([0-9](_?[0-9])*))\\b"},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},H={className:"subst",begin:"\\$\\{",end:"\\}",keywords:J,contains:[]},W={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[c.BACKSLASH_ESCAPE,H],subLanguage:"xml"}},K={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[c.BACKSLASH_ESCAPE,H],subLanguage:"css"}},w={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[c.BACKSLASH_ESCAPE,H],subLanguage:"graphql"}},q={className:"string",begin:"`",end:"`",contains:[c.BACKSLASH_ESCAPE,H]},b={className:"comment",variants:[c.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:"[A-Za-z$_][0-9A-Za-z$_]*(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),c.C_BLOCK_COMMENT_MODE,c.C_LINE_COMMENT_MODE]},v=[c.APOS_STRING_MODE,c.QUOTE_STRING_MODE,W,K,w,q,{match:/\$\d+/},Y];H.contains=v.concat({begin:/\{/,end:/\}/,keywords:J,contains:["self"].concat(v)});let B=[].concat(b,H.contains),A=B.concat([{begin:/(\s*)\(/,end:/\)/,keywords:J,contains:["self"].concat(B)}]),V={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:J,contains:A},y={variants:[{match:[/class/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/\s+/,/extends/,/\s+/,x.concat("[A-Za-z$_][0-9A-Za-z$_]*","(",x.concat(/\./,"[A-Za-z$_][0-9A-Za-z$_]*"),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*"],scope:{1:"keyword",3:"title.class"}}]},k={relevance:0,match:x.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...ww,...vw]}},O={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},I={variants:[{match:[/function/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[V],illegal:/%/},m={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function C(f){return x.concat("(?!",f.join("|"),")")}let N={match:x.concat(/\b/,C([...qw,"super","import"].map((f)=>`${f}\\s*\\(`)),"[A-Za-z$_][0-9A-Za-z$_]*",x.lookahead(/\s*\(/)),className:"title.function",relevance:0},L={begin:x.concat(/\./,x.lookahead(x.concat("[A-Za-z$_][0-9A-Za-z$_]*",/(?![0-9A-Za-z$_(])/))),end:"[A-Za-z$_][0-9A-Za-z$_]*",excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},n={match:[/get|set/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},V]},F="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+c.UNDERSCORE_IDENT_RE+")\\s*=>",u={match:[/const|var|let/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/\s*/,/=\s*/,/(async\s*)?/,x.lookahead(F)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[V]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:J,exports:{PARAMS_CONTAINS:A,CLASS_REFERENCE:k},illegal:/#(?![$_A-z])/,contains:[c.SHEBANG({label:"shebang",binary:"node",relevance:5}),O,c.APOS_STRING_MODE,c.QUOTE_STRING_MODE,W,K,w,q,b,{match:/\$\d+/},Y,k,{scope:"attr",match:"[A-Za-z$_][0-9A-Za-z$_]*"+x.lookahead(":"),relevance:0},u,{begin:"("+c.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[b,c.REGEXP_MODE,{className:"function",begin:F,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:c.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:J,contains:A}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:z.begin,end:z.end},{match:Z},{begin:Q.begin,"on:begin":Q.isTrulyOpeningTag,end:Q.end}],subLanguage:"xml",contains:[{begin:Q.begin,end:Q.end,skip:!0,contains:["self"]}]}]},I,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+c.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[V,c.inherit(c.TITLE_MODE,{begin:"[A-Za-z$_][0-9A-Za-z$_]*",className:"title.function"})]},{match:/\.\.\./,relevance:0},L,{match:"\\$[A-Za-z$_][0-9A-Za-z$_]*",relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[V]},N,m,y,n,{match:/\$[(.]/}]}}function Bw(c){let x={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},p={match:/[{}[\],:]/,className:"punctuation",relevance:0},$=["true","false","null"],z={scope:"literal",beginKeywords:$.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:$},contains:[x,p,c.QUOTE_STRING_MODE,z,c.C_NUMBER_MODE,c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}var Q1="[0-9](_*[0-9])*",M4=`\\.(${Q1})`,f4="[0-9a-fA-F](_*[0-9a-fA-F])*",TO={className:"number",variants:[{begin:`(\\b(${Q1})((${M4})|\\.)?|(${M4}))[eE][+-]?(${Q1})[fFdD]?\\b`},{begin:`\\b(${Q1})((${M4})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${M4})[fFdD]?\\b`},{begin:`\\b(${Q1})[fFdD]\\b`},{begin:`\\b0[xX]((${f4})\\.?|(${f4})?\\.(${f4}))[pP][+-]?(${Q1})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${f4})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function Vw(c){let x={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},p={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},$={className:"symbol",begin:c.UNDERSCORE_IDENT_RE+"@"},z={className:"subst",begin:/\$\{/,end:/\}/,contains:[c.C_NUMBER_MODE]},Z={className:"variable",begin:"\\$"+c.UNDERSCORE_IDENT_RE},Q={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[Z,z]},{begin:"'",end:"'",illegal:/\n/,contains:[c.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[c.BACKSLASH_ESCAPE,Z,z]}]};z.contains.push(Q);let J={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+c.UNDERSCORE_IDENT_RE+")?"},X={className:"meta",begin:"@"+c.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[c.inherit(Q,{className:"string"}),"self"]}]},i=TO,G=c.COMMENT("/\\*","\\*/",{contains:[c.C_BLOCK_COMMENT_MODE]}),Y={variants:[{className:"type",begin:c.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},H=Y;return H.variants[1].contains=[Y],Y.variants[1].contains=[H],{name:"Kotlin",aliases:["kt","kts"],keywords:x,contains:[c.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),c.C_LINE_COMMENT_MODE,G,p,$,J,X,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:x,relevance:5,contains:[{begin:c.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[c.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:x,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[Y,c.C_LINE_COMMENT_MODE,G],relevance:0},c.C_LINE_COMMENT_MODE,G,J,X,Q,c.C_NUMBER_MODE]},G]},{begin:[/class|interface|trait/,/\s+/,c.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},c.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},J,X]},Q,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:`
|
|
519
|
+
`},i]}}var RO=(c)=>{return{IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:c.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[c.APOS_STRING_MODE,c.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:c.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}},mO=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],dO=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],hO=[...mO,...dO],aO=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),Fw=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),bw=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),_O=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),gO=Fw.concat(bw).sort().reverse();function Lw(c){let x=RO(c),p=gO,$="and or not only",z="[\\w-]+",Z="([\\w-]+|@\\{[\\w-]+\\})",Q=[],J=[],X=function(v){return{className:"string",begin:"~?"+v+".*?"+v}},i=function(v,B,A){return{className:v,begin:B,relevance:A}},G={$pattern:/[a-z-]+/,keyword:"and or not only",attribute:aO.join(" ")},Y={begin:"\\(",end:"\\)",contains:J,keywords:G,relevance:0};J.push(c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE,X("'"),X('"'),x.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},x.HEXCOLOR,Y,i("variable","@@?[\\w-]+",10),i("variable","@\\{[\\w-]+\\}"),i("built_in","~?`[^`]*?`"),{className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0},x.IMPORTANT,{beginKeywords:"and not"},x.FUNCTION_DISPATCH);let H=J.concat({begin:/\{/,end:/\}/,contains:Q}),W={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(J)},K={begin:Z+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},x.CSS_VARIABLE,{className:"attribute",begin:"\\b("+_O.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:J}}]},w={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:G,returnEnd:!0,contains:J,relevance:0}},q={className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:H}},U={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:Z,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE,W,i("keyword","all\\b"),i("variable","@\\{[\\w-]+\\}"),{begin:"\\b("+hO.join("|")+")\\b",className:"selector-tag"},x.CSS_NUMBER_MODE,i("selector-tag",Z,0),i("selector-id","#"+Z),i("selector-class","\\."+Z,0),i("selector-tag","&",0),x.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+Fw.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+bw.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:H},{begin:"!important"},x.FUNCTION_DISPATCH]},b={begin:`[\\w-]+:(:)?(${p.join("|")})`,returnBegin:!0,contains:[U]};return Q.push(c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE,w,q,b,K,U,W,x.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:Q}}function Nw(c){let $={begin:"\\[=*\\[",end:"\\]=*\\]",contains:["self"]},z=[c.COMMENT("--(?!\\[=*\\[)","$"),c.COMMENT("--\\[=*\\[","\\]=*\\]",{contains:[$],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:c.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:z.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[c.inherit(c.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:z}].concat(z)},c.C_NUMBER_MODE,c.APOS_STRING_MODE,c.QUOTE_STRING_MODE,{className:"string",begin:"\\[=*\\[",end:"\\]=*\\]",contains:[$],relevance:5}])}}function Aw(c){let x={className:"variable",variants:[{begin:"\\$\\("+c.UNDERSCORE_IDENT_RE+"\\)",contains:[c.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},p={className:"string",begin:/"/,end:/"/,contains:[c.BACKSLASH_ESCAPE,x]},$={className:"variable",begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"},contains:[x,p]},z={begin:"^"+c.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},Z={className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:".PHONY"}},Q={className:"section",begin:/^[^\s]+:/,end:/$/,contains:[x]};return{name:"Makefile",aliases:["mk","mak","make"],keywords:{$pattern:/[\w-]+/,keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath"},contains:[c.HASH_COMMENT_MODE,x,p,$,z,Z,Q]}}function uw(c){let x=c.regex,p={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},$={begin:"^[-\\*]{3,}",end:"$"},z={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},Z={className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},Q={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},J=/[A-Za-z][A-Za-z0-9+.-]*/,X={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:x.concat(/\[.+?\]\(/,J,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},i={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},G={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},Y=c.inherit(i,{contains:[]}),H=c.inherit(G,{contains:[]});i.contains.push(H),G.contains.push(Y);let W=[p,X];return[i,G,Y,H].forEach((U)=>{U.contains=U.contains.concat(W)}),W=W.concat(i,G),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:W},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:W}]}]},p,Z,i,G,{className:"quote",begin:"^>\\s+",contains:W,end:"$"},z,$,X,Q,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function Pw(c){let x={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},p=/[a-zA-Z@][a-zA-Z0-9_]*/,J={"variable.language":["this","super"],$pattern:p,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},X={$pattern:p,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:J,illegal:"</",contains:[x,c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE,c.C_NUMBER_MODE,c.QUOTE_STRING_MODE,c.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[c.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},c.inherit(c.QUOTE_STRING_MODE,{className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"},c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+X.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:X,contains:[c.UNDERSCORE_TITLE_MODE]},{begin:"\\."+c.UNDERSCORE_IDENT_RE,relevance:0}]}}function yw(c){let x=c.regex,p=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","field","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","method","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],$=/[dualxmsipngr]{0,12}/,z={$pattern:/[\w.]+/,keyword:p.join(" ")},Z={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:z},Q={begin:/->\{/,end:/\}/},J={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},X={scope:"variable",variants:[{begin:/\$\d/},{begin:x.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[J]},i={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},G=[c.BACKSLASH_ESCAPE,Z,X],Y=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],H=(w,q,U="\\1")=>{let b=U==="\\1"?U:x.concat(U,q);return x.concat(x.concat("(?:",w,")"),q,/(?:\\.|[^\\\/])*?/,b,/(?:\\.|[^\\\/])*?/,U,$)},W=(w,q,U)=>{return x.concat(x.concat("(?:",w,")"),q,/(?:\\.|[^\\\/])*?/,U,$)},K=[X,c.HASH_COMMENT_MODE,c.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),Q,{className:"string",contains:G,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[c.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[c.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},i,{begin:"(\\/\\/|"+c.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[c.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:H("s|tr|y",x.either(...Y,{capture:!0}))},{begin:H("s|tr|y","\\(","\\)")},{begin:H("s|tr|y","\\[","\\]")},{begin:H("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:W("(?:m|qr)?",/\//,/\//)},{begin:W("m|qr",x.either(...Y,{capture:!0}),/\1/)},{begin:W("m|qr",/\(/,/\)/)},{begin:W("m|qr",/\[/,/\]/)},{begin:W("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[c.TITLE_MODE,J]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[c.TITLE_MODE,J,i]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return Z.contains=K,Q.contains=K,{name:"Perl",aliases:["pl","pm"],keywords:z,contains:K}}function Mw(c){let x=c.regex,p=/(?![A-Za-z0-9])(?![$])/,$=x.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,p),z=x.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,p),Z=x.concat(/[A-Z]+/,p),Q={scope:"variable",match:"\\$+"+$},J={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:0.1},{begin:/\?>/}]},X={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},i=c.inherit(c.APOS_STRING_MODE,{illegal:null}),G=c.inherit(c.QUOTE_STRING_MODE,{illegal:null,contains:c.QUOTE_STRING_MODE.contains.concat(X)}),Y={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:c.QUOTE_STRING_MODE.contains.concat(X),"on:begin":(L,n)=>{n.data._beginMatch=L[1]||L[2]},"on:end":(L,n)=>{if(n.data._beginMatch!==L[1])n.ignoreMatch()}},H=c.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),W=`[
|
|
520
|
+
]`,K={scope:"string",variants:[G,i,Y,H]},w={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},q=["false","null","true"],U=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],b=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],B={keyword:U,literal:((L)=>{let n=[];return L.forEach((F)=>{if(n.push(F),F.toLowerCase()===F)n.push(F.toUpperCase());else n.push(F.toLowerCase())}),n})(q),built_in:b},A=(L)=>{return L.map((n)=>{return n.replace(/\|\d+$/,"")})},V={variants:[{match:[/new/,x.concat(`[
|
|
521
|
+
]`,"+"),x.concat("(?!",A(b).join("\\b|"),"\\b)"),z],scope:{1:"keyword",4:"title.class"}}]},y=x.concat($,"\\b(?!\\()"),k={variants:[{match:[x.concat(/::/,x.lookahead(/(?!class\b)/)),y],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[z,x.concat(/::/,x.lookahead(/(?!class\b)/)),y],scope:{1:"title.class",3:"variable.constant"}},{match:[z,x.concat("::",x.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[z,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},O={scope:"attr",match:x.concat($,x.lookahead(":"),x.lookahead(/(?!::)/))},I={relevance:0,begin:/\(/,end:/\)/,keywords:B,contains:[O,Q,k,c.C_BLOCK_COMMENT_MODE,K,w,V]},m={relevance:0,match:[/\b/,x.concat("(?!fn\\b|function\\b|",A(U).join("\\b|"),"|",A(b).join("\\b|"),"\\b)"),$,x.concat(`[
|
|
522
|
+
]`,"*"),x.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[I]};I.contains.push(m);let C=[O,k,c.C_BLOCK_COMMENT_MODE,K,w,V],N={begin:x.concat(/#\[\s*\\?/,x.either(z,Z)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:q,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:q,keyword:["new","array"]},contains:["self",...C]},...C,{scope:"meta",variants:[{match:z},{match:Z}]}]};return{case_insensitive:!1,keywords:B,contains:[N,c.HASH_COMMENT_MODE,c.COMMENT("//","$"),c.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:c.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},J,{scope:"variable.language",match:/\$this\b/},Q,m,k,{match:[/const/,/\s/,$],scope:{1:"keyword",3:"variable.constant"}},V,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},c.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:B,contains:["self",N,Q,k,c.C_BLOCK_COMMENT_MODE,K,w]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},c.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[c.inherit(c.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},c.UNDERSCORE_TITLE_MODE]},K,w]}}function fw(c){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},c.inherit(c.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),c.inherit(c.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}function nw(c){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function kw(c){let x=c.regex,p=/[\p{XID_Start}_]\p{XID_Continue}*/u,$=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],J={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:$,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},X={className:"meta",begin:/^(>>>|\.\.\.) /},i={className:"subst",begin:/\{/,end:/\}/,keywords:J,illegal:/#/},G={begin:/\{\{/,relevance:0},Y={className:"string",contains:[c.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[c.BACKSLASH_ESCAPE,X],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[c.BACKSLASH_ESCAPE,X],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[c.BACKSLASH_ESCAPE,X,G,i]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[c.BACKSLASH_ESCAPE,X,G,i]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[c.BACKSLASH_ESCAPE,G,i]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[c.BACKSLASH_ESCAPE,G,i]},c.APOS_STRING_MODE,c.QUOTE_STRING_MODE]},H="[0-9](_?[0-9])*",W="(\\b([0-9](_?[0-9])*))?\\.([0-9](_?[0-9])*)|\\b([0-9](_?[0-9])*)\\.",K=`\\b|${$.join("|")}`,w={className:"number",relevance:0,variants:[{begin:`(\\b([0-9](_?[0-9])*)|((\\b([0-9](_?[0-9])*))?\\.([0-9](_?[0-9])*)|\\b([0-9](_?[0-9])*)\\.))[eE][+-]?([0-9](_?[0-9])*)[jJ]?(?=${K})`},{begin:"((\\b([0-9](_?[0-9])*))?\\.([0-9](_?[0-9])*)|\\b([0-9](_?[0-9])*)\\.)[jJ]?"},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${K})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${K})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${K})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${K})`},{begin:`\\b([0-9](_?[0-9])*)[jJ](?=${K})`}]},q={className:"comment",begin:x.lookahead(/# type:/),end:/$/,keywords:J,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},U={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:J,contains:["self",X,w,Y,c.HASH_COMMENT_MODE]}]};return i.contains=[Y,w,X],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:J,illegal:/(<\/|\?)|=>/,contains:[X,w,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},Y,q,c.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,p],scope:{1:"keyword",3:"title.function"},contains:[U]},{variants:[{match:[/\bclass/,/\s+/,p,/\s*/,/\(\s*/,p,/\s*\)/]},{match:[/\bclass/,/\s+/,p]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[w,U,Y]}]}}function Ow(c){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}function Cw(c){let x=c.regex,p=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,$=x.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),z=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,Z=x.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:p,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[c.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:x.lookahead(x.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:p},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),c.HASH_COMMENT_MODE,{scope:"string",contains:[c.BACKSLASH_ESCAPE],variants:[c.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),c.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),c.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),c.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),c.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),c.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[z,$]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,$]},{scope:{1:"punctuation",2:"number"},match:[Z,$]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,$]}]},{scope:{3:"operator"},match:[p,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:z},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:Z},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}function jw(c){let x=c.regex,p="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",$=x.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),z=x.concat($,/(::\w+)*/),Q={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield",...["include","extend","prepend","public","private","protected","raise","throw"]],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},J={className:"doctag",begin:"@[A-Za-z]+"},X={begin:"#<",end:">"},i=[c.COMMENT("#","$",{contains:[J]}),c.COMMENT("^=begin","^=end",{contains:[J],relevance:10}),c.COMMENT("^__END__",c.MATCH_NOTHING_RE)],G={className:"subst",begin:/#\{/,end:/\}/,keywords:Q},Y={className:"string",contains:[c.BACKSLASH_ESCAPE,G],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:x.concat(/<<[-~]?'?/,x.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[c.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[c.BACKSLASH_ESCAPE,G]})]}]},H="[1-9](_?[0-9])*|0",W="[0-9](_?[0-9])*",K={className:"number",relevance:0,variants:[{begin:"\\b([1-9](_?[0-9])*|0)(\\.([0-9](_?[0-9])*))?([eE][+-]?([0-9](_?[0-9])*)|r)?i?\\b"},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},w={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:Q}]},V=[Y,{variants:[{match:[/class\s+/,z,/\s+<\s+/,z]},{match:[/\b(class|module)\s+/,z]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:Q},{match:[/(include|extend)\s+/,z],scope:{2:"title.class"},keywords:Q},{relevance:0,match:[z,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:$,scope:"title.class"},{match:[/def/,/\s+/,"([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)"],scope:{1:"keyword",3:"title.function"},contains:[w]},{begin:c.IDENT_RE+"::"},{className:"symbol",begin:c.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[Y,{begin:"([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)"}],relevance:0},K,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:Q},{begin:"("+c.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[c.BACKSLASH_ESCAPE,G],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(X,i),relevance:0}].concat(X,i);G.contains=V,w.contains=V;let y="[>?]>",k="[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]",O="(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>",I=[{begin:/^\s*=>/,starts:{end:"$",contains:V}},{className:"meta.prompt",begin:"^("+y+"|"+k+"|"+O+")(?=[ ])",starts:{end:"$",keywords:Q,contains:V}}];return i.unshift(X),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:Q,illegal:/\/\*/,contains:[c.SHEBANG({binary:"ruby"})].concat(I).concat(i).concat(V)}}function Sw(c){let x=c.regex,p=/(r#)?/,$=x.concat(p,c.UNDERSCORE_IDENT_RE),z=x.concat(p,c.IDENT_RE),Z={className:"title.function.invoke",relevance:0,begin:x.concat(/\b/,/(?!let|for|while|if|else|match\b)/,z,x.lookahead(/\s*\(/))},Q="([ui](8|16|32|64|128|size)|f(32|64))?",J=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],X=["true","false","Some","None","Ok","Err"],i=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],G=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:c.IDENT_RE+"!?",type:G,keyword:J,literal:X,built_in:i},illegal:"</",contains:[c.C_LINE_COMMENT_MODE,c.COMMENT("/\\*","\\*/",{contains:["self"]}),c.inherit(c.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:"string",variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{scope:"char.escape",match:/\\('|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{className:"number",variants:[{begin:"\\b0b([01_]+)([ui](8|16|32|64|128|size)|f(32|64))?"},{begin:"\\b0o([0-7_]+)([ui](8|16|32|64|128|size)|f(32|64))?"},{begin:"\\b0x([A-Fa-f0-9_]+)([ui](8|16|32|64|128|size)|f(32|64))?"},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)([ui](8|16|32|64|128|size)|f(32|64))?"}],relevance:0},{begin:[/fn/,/\s+/,$],className:{1:"keyword",3:"title.function"}},{className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string",begin:/"/,end:/"/,contains:[c.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,$],className:{1:"keyword",3:"keyword",4:"variable"}},{begin:[/for/,/\s+/,$,/\s+/,/in/],className:{1:"keyword",3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,$],className:{1:"keyword",3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,$],className:{1:"keyword",3:"title.class"}},{begin:c.IDENT_RE+"::",keywords:{keyword:"Self",built_in:i,type:G}},{className:"punctuation",begin:"->"},Z]}}var lO=(c)=>{return{IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:c.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[c.APOS_STRING_MODE,c.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:c.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}},oO=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],sO=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],rO=[...oO,...sO],tO=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),eO=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),cC=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),xC=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function Iw(c){let x=lO(c),p=cC,$=eO,z="@[a-z-]+",Z="and or not only",Q="[a-zA-Z-][a-zA-Z0-9_-]*",J={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE,x.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},x.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+rO.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+$.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+p.join("|")+")"},J,{begin:/\(/,end:/\)/,contains:[x.CSS_NUMBER_MODE]},x.CSS_VARIABLE,{className:"attribute",begin:"\\b("+xC.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[x.BLOCK_COMMENT,J,x.HEXCOLOR,x.CSS_NUMBER_MODE,c.QUOTE_STRING_MODE,c.APOS_STRING_MODE,x.IMPORTANT,x.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:"@[a-z-]+",keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:tO.join(" ")},contains:[{begin:"@[a-z-]+",className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},J,c.QUOTE_STRING_MODE,c.APOS_STRING_MODE,x.HEXCOLOR,x.CSS_NUMBER_MODE]},x.FUNCTION_DISPATCH]}}function Dw(c){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}function Ew(c){let x=c.regex,p=c.COMMENT("--","$"),$={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},z={begin:/"/,end:/"/,contains:[{match:/""/}]},Z=["true","false","unknown"],Q=["double precision","large object","with timezone","without timezone"],J=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],X=["add","asc","collation","desc","final","first","last","view"],i=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],G=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],Y=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],H=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],W=G,K=[...i,...X].filter((A)=>{return!G.includes(A)}),w={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},q={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},U={match:x.concat(/\b/,x.either(...W),/\s*\(/),relevance:0,keywords:{built_in:W}};function b(A){return x.concat(/\b/,x.either(...A.map((V)=>{return V.replace(/\s+/,"\\s+")})),/\b/)}let v={scope:"keyword",match:b(H),relevance:0};function B(A,{exceptions:V,when:y}={}){let k=y;return V=V||[],A.map((O)=>{if(O.match(/\|\d+$/)||V.includes(O))return O;else if(k(O))return`${O}|0`;else return O})}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:B(K,{when:(A)=>A.length<3}),literal:Z,type:J,built_in:Y},contains:[{scope:"type",match:b(Q)},v,U,w,$,z,c.C_NUMBER_MODE,c.C_BLOCK_COMMENT_MODE,p,q]}}function dw(c){if(!c)return null;if(typeof c==="string")return c;return c.source}function i2(c){return Yc("(?=",c,")")}function Yc(...c){return c.map((p)=>dw(p)).join("")}function pC(c){let x=c[c.length-1];if(typeof x==="object"&&x.constructor===Object)return c.splice(c.length-1,1),x;else return{}}function Dc(...c){return"("+(pC(c).capture?"":"?:")+c.map(($)=>dw($)).join("|")+")"}var c7=(c)=>Yc(/\b/,c,/\w$/.test(c)?/\b/:/\B/),$C=["Protocol","Type"].map(c7),Tw=["init","self"].map(c7),zC=["Any","Self"],tp=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],Rw=["false","nil","true"],ZC=["assignment","associativity","higherThan","left","lowerThan","none","right"],QC=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],mw=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],hw=Dc(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),aw=Dc(hw,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),ep=Yc(hw,aw,"*"),_w=Dc(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),k4=Dc(_w,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),w0=Yc(_w,k4,"*"),n4=Yc(/[A-Z]/,k4,"*"),JC=["attached","autoclosure",Yc(/convention\(/,Dc("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",Yc(/objc\(/,w0,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],XC=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function gw(c){let x={match:/\s+/,relevance:0},p=c.COMMENT("/\\*","\\*/",{contains:["self"]}),$=[c.C_LINE_COMMENT_MODE,p],z={match:[/\./,Dc(...$C,...Tw)],className:{2:"keyword"}},Z={match:Yc(/\./,Dc(...tp)),relevance:0},Q=tp.filter((ic)=>typeof ic==="string").concat(["_|0"]),J=tp.filter((ic)=>typeof ic!=="string").concat(zC).map(c7),X={variants:[{className:"keyword",match:Dc(...J,...Tw)}]},i={$pattern:Dc(/\b\w+/,/#\w+/),keyword:Q.concat(QC),literal:Rw},G=[z,Z,X],Y={match:Yc(/\./,Dc(...mw)),relevance:0},H={className:"built_in",match:Yc(/\b/,Dc(...mw),/(?=\()/)},W=[Y,H],K={match:/->/,relevance:0},w={className:"operator",relevance:0,variants:[{match:ep},{match:`\\.(\\.|${aw})+`}]},q=[K,w],U="([0-9]_*)+",b="([0-9a-fA-F]_*)+",v={className:"number",relevance:0,variants:[{match:"\\b(([0-9]_*)+)(\\.(([0-9]_*)+))?([eE][+-]?(([0-9]_*)+))?\\b"},{match:"\\b0x(([0-9a-fA-F]_*)+)(\\.(([0-9a-fA-F]_*)+))?([pP][+-]?(([0-9]_*)+))?\\b"},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},B=(ic="")=>({className:"subst",variants:[{match:Yc(/\\/,ic,/[0\\tnr"']/)},{match:Yc(/\\/,ic,/u\{[0-9a-fA-F]{1,8}\}/)}]}),A=(ic="")=>({className:"subst",match:Yc(/\\/,ic,/[\t ]*(?:[\r\n]|\r\n)/)}),V=(ic="")=>({className:"subst",label:"interpol",begin:Yc(/\\/,ic,/\(/),end:/\)/}),y=(ic="")=>({begin:Yc(ic,/"""/),end:Yc(/"""/,ic),contains:[B(ic),A(ic),V(ic)]}),k=(ic="")=>({begin:Yc(ic,/"/),end:Yc(/"/,ic),contains:[B(ic),V(ic)]}),O={className:"string",variants:[y(),y("#"),y("##"),y("###"),k(),k("#"),k("##"),k("###")]},I=[c.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[c.BACKSLASH_ESCAPE]}],m={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:I},C=(ic)=>{let S0=Yc(ic,/\//),t=Yc(/\//,ic);return{begin:S0,end:t,contains:[...I,{scope:"comment",begin:`#(?!.*${t})`,end:/$/}]}},N={scope:"regexp",variants:[C("###"),C("##"),C("#"),m]},L={match:Yc(/`/,w0,/`/)},n={className:"variable",match:/\$\d+/},F={className:"variable",match:`\\$${k4}+`},u=[L,n,F],f={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:XC,contains:[...q,v,O]}]}},j={scope:"keyword",match:Yc(/@/,Dc(...JC),i2(Dc(/\(/,/\s+/)))},T={scope:"meta",match:Yc(/@/,w0)},S=[f,j,T],D={match:i2(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:Yc(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,k4,"+")},{className:"type",match:n4,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:Yc(/\s+&\s+/,i2(n4)),relevance:0}]},a={begin:/</,end:/>/,keywords:i,contains:[...$,...G,...S,K,D]};D.contains.push(a);let o={match:Yc(w0,/\s*:/),keywords:"_|0",relevance:0},r={begin:/\(/,end:/\)/,relevance:0,keywords:i,contains:["self",o,...$,N,...G,...W,...q,v,O,...u,...S,D]},wc={begin:/</,end:/>/,keywords:"repeat each",contains:[...$,D]},Hc={begin:Dc(i2(Yc(w0,/\s*:/)),i2(Yc(w0,/\s+/,w0,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:w0}]},xc={begin:/\(/,end:/\)/,keywords:i,contains:[Hc,...$,...G,...q,v,O,...S,D,r],endsParent:!0,illegal:/["']/},tc={match:[/(func|macro)/,/\s+/,Dc(L.match,w0,ep)],className:{1:"keyword",3:"title.function"},contains:[wc,xc,x],illegal:[/\[/,/%/]},q0={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[wc,xc,x],illegal:/\[|%/},j0={match:[/operator/,/\s+/,ep],className:{1:"keyword",3:"title"}},E4={begin:[/precedencegroup/,/\s+/,n4],className:{1:"keyword",3:"title"},contains:[D],keywords:[...ZC,...Rw],end:/}/},Fx={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},v2={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},ec={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,w0,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:i,contains:[wc,...G,{begin:/:/,end:/\{/,keywords:i,contains:[{scope:"title.class.inherited",match:n4},...G],relevance:0}]};for(let ic of O.variants){let S0=ic.contains.find((q2)=>q2.label==="interpol");S0.keywords=i;let t=[...G,...W,...q,v,O,...u];S0.contains=[...t,{begin:/\(/,end:/\)/,contains:["self",...t]}]}return{name:"Swift",keywords:i,contains:[...$,tc,q0,Fx,v2,ec,j0,E4,{beginKeywords:"import",end:/$/,contains:[...$],relevance:0},N,...G,...W,...q,v,O,...u,...S,D,r]}}var lw=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],ow=["true","false","null","undefined","NaN","Infinity"],sw=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],rw=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],tw=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],ew=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],cv=[].concat(tw,sw,rw);function iC(c){let x=c.regex,p=(f,{after:j})=>{let T="</"+f[0].slice(1);return f.input.indexOf(T,j)!==-1},$="[A-Za-z$_][0-9A-Za-z$_]*",z={begin:"<>",end:"</>"},Z=/<[A-Za-z0-9\\._:-]+\s*\/>/,Q={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(f,j)=>{let T=f[0].length+f.index,S=f.input[T];if(S==="<"||S===","){j.ignoreMatch();return}if(S===">"){if(!p(f,{after:T}))j.ignoreMatch()}let D,a=f.input.substring(T);if(D=a.match(/^\s*=/)){j.ignoreMatch();return}if(D=a.match(/^\s+extends\s+/)){if(D.index===0){j.ignoreMatch();return}}}},J={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:lw,literal:ow,built_in:cv,"variable.language":ew},X="[0-9](_?[0-9])*",i="\\.([0-9](_?[0-9])*)",G="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",Y={className:"number",variants:[{begin:"(\\b(0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*)((\\.([0-9](_?[0-9])*))|\\.)?|(\\.([0-9](_?[0-9])*)))[eE][+-]?([0-9](_?[0-9])*)\\b"},{begin:"\\b(0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*)\\b((\\.([0-9](_?[0-9])*))\\b|\\.)?|(\\.([0-9](_?[0-9])*))\\b"},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},H={className:"subst",begin:"\\$\\{",end:"\\}",keywords:J,contains:[]},W={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[c.BACKSLASH_ESCAPE,H],subLanguage:"xml"}},K={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[c.BACKSLASH_ESCAPE,H],subLanguage:"css"}},w={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[c.BACKSLASH_ESCAPE,H],subLanguage:"graphql"}},q={className:"string",begin:"`",end:"`",contains:[c.BACKSLASH_ESCAPE,H]},b={className:"comment",variants:[c.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:"[A-Za-z$_][0-9A-Za-z$_]*(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),c.C_BLOCK_COMMENT_MODE,c.C_LINE_COMMENT_MODE]},v=[c.APOS_STRING_MODE,c.QUOTE_STRING_MODE,W,K,w,q,{match:/\$\d+/},Y];H.contains=v.concat({begin:/\{/,end:/\}/,keywords:J,contains:["self"].concat(v)});let B=[].concat(b,H.contains),A=B.concat([{begin:/(\s*)\(/,end:/\)/,keywords:J,contains:["self"].concat(B)}]),V={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:J,contains:A},y={variants:[{match:[/class/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/\s+/,/extends/,/\s+/,x.concat("[A-Za-z$_][0-9A-Za-z$_]*","(",x.concat(/\./,"[A-Za-z$_][0-9A-Za-z$_]*"),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*"],scope:{1:"keyword",3:"title.class"}}]},k={relevance:0,match:x.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...sw,...rw]}},O={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},I={variants:[{match:[/function/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[V],illegal:/%/},m={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function C(f){return x.concat("(?!",f.join("|"),")")}let N={match:x.concat(/\b/,C([...tw,"super","import"].map((f)=>`${f}\\s*\\(`)),"[A-Za-z$_][0-9A-Za-z$_]*",x.lookahead(/\s*\(/)),className:"title.function",relevance:0},L={begin:x.concat(/\./,x.lookahead(x.concat("[A-Za-z$_][0-9A-Za-z$_]*",/(?![0-9A-Za-z$_(])/))),end:"[A-Za-z$_][0-9A-Za-z$_]*",excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},n={match:[/get|set/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},V]},F="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+c.UNDERSCORE_IDENT_RE+")\\s*=>",u={match:[/const|var|let/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/\s*/,/=\s*/,/(async\s*)?/,x.lookahead(F)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[V]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:J,exports:{PARAMS_CONTAINS:A,CLASS_REFERENCE:k},illegal:/#(?![$_A-z])/,contains:[c.SHEBANG({label:"shebang",binary:"node",relevance:5}),O,c.APOS_STRING_MODE,c.QUOTE_STRING_MODE,W,K,w,q,b,{match:/\$\d+/},Y,k,{scope:"attr",match:"[A-Za-z$_][0-9A-Za-z$_]*"+x.lookahead(":"),relevance:0},u,{begin:"("+c.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[b,c.REGEXP_MODE,{className:"function",begin:F,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:c.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:J,contains:A}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:z.begin,end:z.end},{match:Z},{begin:Q.begin,"on:begin":Q.isTrulyOpeningTag,end:Q.end}],subLanguage:"xml",contains:[{begin:Q.begin,end:Q.end,skip:!0,contains:["self"]}]}]},I,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+c.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[V,c.inherit(c.TITLE_MODE,{begin:"[A-Za-z$_][0-9A-Za-z$_]*",className:"title.function"})]},{match:/\.\.\./,relevance:0},L,{match:"\\$[A-Za-z$_][0-9A-Za-z$_]*",relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[V]},N,m,y,n,{match:/\$[(.]/}]}}function xv(c){let x=c.regex,p=iC(c),$="[A-Za-z$_][0-9A-Za-z$_]*",z=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],Z={begin:[/namespace/,/\s+/,c.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},Q={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:z},contains:[p.exports.CLASS_REFERENCE]},J={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},X=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],i={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:lw.concat(X),literal:ow,built_in:cv.concat(z),"variable.language":ew},G={className:"meta",begin:"@[A-Za-z$_][0-9A-Za-z$_]*"},Y=(w,q,U)=>{let b=w.contains.findIndex((v)=>v.label===q);if(b===-1)throw Error("can not find mode to replace");w.contains.splice(b,1,U)};Object.assign(p.keywords,i),p.exports.PARAMS_CONTAINS.push(G);let H=p.contains.find((w)=>w.scope==="attr"),W=Object.assign({},H,{match:x.concat("[A-Za-z$_][0-9A-Za-z$_]*",x.lookahead(/\s*\?:/))});p.exports.PARAMS_CONTAINS.push([p.exports.CLASS_REFERENCE,H,W]),p.contains=p.contains.concat([G,Z,Q,W]),Y(p,"shebang",c.SHEBANG()),Y(p,"use_strict",J);let K=p.contains.find((w)=>w.label==="func.def");return K.relevance=0,Object.assign(p,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),p}function pv(c){let x=c.regex,p={className:"string",begin:/"(""|[^/n])"C\b/},$={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},z=/\d{1,2}\/\d{1,2}\/\d{4}/,Z=/\d{4}-\d{1,2}-\d{1,2}/,Q=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,J=/\d{1,2}(:\d{1,2}){1,2}/,X={className:"literal",variants:[{begin:x.concat(/# */,x.either(Z,z),/ *#/)},{begin:x.concat(/# */,J,/ *#/)},{begin:x.concat(/# */,Q,/ *#/)},{begin:x.concat(/# */,x.either(Z,z),/ +/,x.either(Q,J),/ *#/)}]},i={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},G={className:"label",begin:/^\w+:/},Y=c.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),H=c.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[p,$,X,i,G,Y,H,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[H]}]}}function $v(c){c.regex;let x=c.COMMENT(/\(;/,/;\)/);x.contains.push("self");let p=c.COMMENT(/;;/,/$/),$=["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"],z={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},Z={className:"variable",begin:/\$[\w_]+/},Q={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},J={className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},X={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},i={className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:$},contains:[p,x,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},Z,Q,z,c.QUOTE_STRING_MODE,X,i,J]}}function zv(c){let x=c.regex,p=x.concat(/[\p{L}_]/u,x.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),$=/[\p{L}0-9._:-]+/u,z={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},Z={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},Q=c.inherit(Z,{begin:/\(/,end:/\)/}),J=c.inherit(c.APOS_STRING_MODE,{className:"string"}),X=c.inherit(c.QUOTE_STRING_MODE,{className:"string"}),i={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:$,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[z]},{begin:/'/,end:/'/,contains:[z]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[Z,X,J,Q,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[Z,Q,X,J]}]}]},c.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},z,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[X]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[i],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[i],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:x.concat(/</,x.lookahead(x.concat(p,x.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:p,relevance:0,starts:i}]},{className:"tag",begin:x.concat(/<\//,x.lookahead(x.concat(p,/>/))),contains:[{className:"name",begin:p,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function Zv(c){let $={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},z={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},Z={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},Q={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[c.BACKSLASH_ESCAPE,z]},J=c.inherit(Q,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),X="[0-9]{4}(-[0-9][0-9]){0,2}",i="([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?",G="(\\.[0-9]*)?",Y="([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?",H={className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},W={end:",",endsWithParent:!0,excludeEnd:!0,keywords:"true false yes no null",relevance:0},K={begin:/\{/,end:/\}/,contains:[W],illegal:"\\n",relevance:0},w={begin:"\\[",end:"\\]",contains:[W],illegal:"\\n",relevance:0},q=[$,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+![\\w#;/?:@&=+$,.~*'()[\\]]+"},{className:"type",begin:"!<[\\w#;/?:@&=+$,.~*'()[\\]]+>"},{className:"type",begin:"![\\w#;/?:@&=+$,.~*'()[\\]]+"},{className:"type",begin:"!![\\w#;/?:@&=+$,.~*'()[\\]]+"},{className:"meta",begin:"&"+c.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+c.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},c.HASH_COMMENT_MODE,{beginKeywords:"true false yes no null",keywords:{literal:"true false yes no null"}},H,{className:"number",begin:c.C_NUMBER_RE+"\\b",relevance:0},K,w,Z,Q],U=[...q];return U.pop(),U.push(J),W.contains=U,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:q}}var x7={arduino:pw,bash:$w,c:zw,cpp:Zw,csharp:Qw,css:Jw,diff:Xw,go:iw,graphql:Gw,ini:Yw,java:Kw,javascript:Uw,json:Bw,kotlin:Vw,less:Lw,lua:Nw,makefile:Aw,markdown:uw,objectivec:Pw,perl:yw,php:Mw,"php-template":fw,plaintext:nw,python:kw,"python-repl":Ow,r:Cw,ruby:jw,rust:Sw,scss:Iw,shell:Dw,sql:Ew,swift:gw,typescript:xv,vbnet:pv,wasm:$v,xml:zv,yaml:Zv};class Qv extends Error{name="Assertion";code="ERR_ASSERTION";constructor(c,x,p,$,z){super(c);if(Error.captureStackTrace)Error.captureStackTrace(this,this.constructor);this.actual=x,this.expected=p,this.generated=z,this.operator=$}}function J1(c,x){GC(Boolean(c),!1,!0,"ok","Expected value to be truthy",x)}function GC(c,x,p,$,z,Z){if(!c)throw Z instanceof Error?Z:new Qv(Z||z,x,p,$,!Z)}var fv=Sc(Mv(),1);var nv=fv.default;var kv={},cj="hljs-";function X7(c){let x=nv.newInstance();if(c)Z(c);return{highlight:p,highlightAuto:$,listLanguages:z,register:Z,registerAlias:Q,registered:J};function p(X,i,G){J1(typeof X==="string","expected `string` as `name`"),J1(typeof i==="string","expected `string` as `value`");let Y=G||kv,H=typeof Y.prefix==="string"?Y.prefix:cj;if(!x.getLanguage(X))throw Error("Unknown language: `"+X+"` is not registered");x.configure({__emitter:Ov,classPrefix:H});let W=x.highlight(i,{ignoreIllegals:!0,language:X});if(W.errorRaised)throw Error("Could not highlight with `Highlight.js`",{cause:W.errorRaised});let K=W._emitter.root,w=K.data;return w.language=W.language,w.relevance=W.relevance,K}function $(X,i){J1(typeof X==="string","expected `string` as `value`");let Y=(i||kv).subset||z(),H=-1,W=0,K;while(++H<Y.length){let w=Y[H];if(!x.getLanguage(w))continue;let q=p(w,X,i);if(q.data&&q.data.relevance!==void 0&&q.data.relevance>W)W=q.data.relevance,K=q}return K||{type:"root",children:[],data:{language:void 0,relevance:W}}}function z(){return x.listLanguages()}function Z(X,i){if(typeof X==="string")J1(i!==void 0,"expected `grammar`"),x.registerLanguage(X,i);else{let G;for(G in X)if(Object.hasOwn(X,G))x.registerLanguage(G,X[G])}}function Q(X,i){if(typeof X==="string")J1(i!==void 0),x.registerAliases(typeof i==="string"?i:[...i],{languageName:X});else{let G;for(G in X)if(Object.hasOwn(X,G)){let Y=X[G];x.registerAliases(typeof Y==="string"?Y:[...Y],{languageName:G})}}}function J(X){return Boolean(x.getLanguage(X))}}class Ov{constructor(c){this.options=c,this.root={type:"root",children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(c){if(c==="")return;let x=this.stack[this.stack.length-1],p=x.children[x.children.length-1];if(p&&p.type==="text")p.value+=c;else x.children.push({type:"text",value:c})}startScope(c){this.openNode(String(c))}endScope(){this.closeNode()}__addSublanguage(c,x){let p=this.stack[this.stack.length-1],$=c.root.children;if(x)p.children.push({type:"element",tagName:"span",properties:{className:[x]},children:$});else p.children.push(...$)}openNode(c){let x=this,p=c.split(".").map(function(Z,Q){return Q?Z+"_".repeat(Q):x.options.classPrefix+Z}),$=this.stack[this.stack.length-1],z={type:"element",tagName:"span",properties:{className:p},children:[]};$.children.push(z),this.stack.push(z)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}}import wj from"react";var xj={name:"ayu-dark",colors:{primary:"#ffcc66",secondary:"#bae67e",accent:"#73d0ff",success:"#bae67e",warning:"#ffcc66",error:"#ff3333",info:"#73d0ff",light:"#f0f0f0",dark:"#000000",muted:"#5c6773",highlight:"#2d323b",text:{primary:"#e6e1cf",secondary:"#bae67e",muted:"#5c6773",light:"#ffffff"},background:{primary:"#0f1419",secondary:"#14191f",dark:"#000000"},border:{light:"#2d323b",dark:"#000000"}},spacing:{xs:0.25,sm:0.5,md:1,lg:1.5,xl:2},typography:{fontSize:{xs:0.75,sm:0.875,base:1,lg:1.125,xl:1.25,"2xl":1.5,"3xl":1.875},fontWeight:{light:300,normal:400,medium:500,semibold:600,bold:700}},borderRadius:{sm:0.125,base:0.25,lg:0.5,xl:0.75},boxShadow:{sm:"0 1px 2px 0 rgba(0, 0, 0, 0.2)",base:"0 1px 3px 0 rgba(0, 0, 0, 0.3), 0 1px 2px 0 rgba(0, 0, 0, 0.2)",lg:"0 10px 15px -3px rgba(0, 0, 0, 0.3), 0 4px 6px -2px rgba(0, 0, 0, 0.2)"}},pj={name:"dracula",colors:{primary:"#bd93f9",secondary:"#ffb86c",accent:"#ff79c6",success:"#50fa7b",warning:"#f1fa8c",error:"#ff5555",info:"#8be9fd",light:"#f8f8f2",dark:"#282a36",muted:"#6272a4",highlight:"#44475a",text:{primary:"#f8f8f2",secondary:"#f1fa8c",muted:"#6272a4",light:"#ffffff"},background:{primary:"#282a36",secondary:"#44475a",dark:"#21222c"},border:{light:"#44475a",dark:"#000000"}},spacing:{xs:0.25,sm:0.5,md:1,lg:1.5,xl:2},typography:{fontSize:{xs:0.75,sm:0.875,base:1,lg:1.125,xl:1.25,"2xl":1.5,"3xl":1.875},fontWeight:{light:300,normal:400,medium:500,semibold:600,bold:700}},borderRadius:{sm:0.125,base:0.25,lg:0.5,xl:0.75},boxShadow:{sm:"0 1px 2px 0 rgba(40, 42, 54, 0.2)",base:"0 1px 3px 0 rgba(40, 42, 54, 0.3), 0 1px 2px 0 rgba(40, 42, 54, 0.2)",lg:"0 10px 15px -3px rgba(40, 42, 54, 0.3), 0 4px 6px -2px rgba(40, 42, 54, 0.2)"}},$j={name:"monokai",colors:{primary:"#66d9ef",secondary:"#a6e22e",accent:"#f92672",success:"#a6e22e",warning:"#e6db74",error:"#f92672",info:"#66d9ef",light:"#f8f8f2",dark:"#272822",muted:"#75715e",highlight:"#3e3d32",text:{primary:"#f8f8f2",secondary:"#e6db74",muted:"#75715e",light:"#ffffff"},background:{primary:"#272822",secondary:"#3e3d32",dark:"#1e1f1c"},border:{light:"#3e3d32",dark:"#000000"}},spacing:{xs:0.25,sm:0.5,md:1,lg:1.5,xl:2},typography:{fontSize:{xs:0.75,sm:0.875,base:1,lg:1.125,xl:1.25,"2xl":1.5,"3xl":1.875},fontWeight:{light:300,normal:400,medium:500,semibold:600,bold:700}},borderRadius:{sm:0.125,base:0.25,lg:0.5,xl:0.75},boxShadow:{sm:"0 1px 2px 0 rgba(39, 40, 34, 0.2)",base:"0 1px 3px 0 rgba(39, 40, 34, 0.3), 0 1px 2px 0 rgba(39, 40, 34, 0.2)",lg:"0 10px 15px -3px rgba(39, 40, 34, 0.3), 0 4px 6px -2px rgba(39, 40, 34, 0.2)"}},zj={name:"nord",colors:{primary:"#88c0d0",secondary:"#81a1c1",accent:"#b48ead",success:"#a3be8c",warning:"#ebcb8b",error:"#bf616a",info:"#88c0d0",light:"#eceff4",dark:"#2e3440",muted:"#4c566a",highlight:"#434c5e",text:{primary:"#eceff4",secondary:"#d8dee9",muted:"#4c566a",light:"#ffffff"},background:{primary:"#2e3440",secondary:"#3b4252",dark:"#242933"},border:{light:"#434c5e",dark:"#000000"}},spacing:{xs:0.25,sm:0.5,md:1,lg:1.5,xl:2},typography:{fontSize:{xs:0.75,sm:0.875,base:1,lg:1.125,xl:1.25,"2xl":1.5,"3xl":1.875},fontWeight:{light:300,normal:400,medium:500,semibold:600,bold:700}},borderRadius:{sm:0.125,base:0.25,lg:0.5,xl:0.75},boxShadow:{sm:"0 1px 2px 0 rgba(46, 52, 64, 0.2)",base:"0 1px 3px 0 rgba(46, 52, 64, 0.3), 0 1px 2px 0 rgba(46, 52, 64, 0.2)",lg:"0 10px 15px -3px rgba(46, 52, 64, 0.3), 0 4px 6px -2px rgba(46, 52, 64, 0.2)"}},Zj={name:"solarized-light",colors:{primary:"#268bd2",secondary:"#2aa198",accent:"#d33682",success:"#859900",warning:"#b58900",error:"#dc322f",info:"#268bd2",light:"#fdf6e3",dark:"#073642",muted:"#93a1a1",highlight:"#eee8d5",text:{primary:"#586e75",secondary:"#657b83",muted:"#93a1a1",light:"#002b36"},background:{primary:"#fdf6e3",secondary:"#eee8d5",dark:"#073642"},border:{light:"#eee8d5",dark:"#073642"}},spacing:{xs:0.25,sm:0.5,md:1,lg:1.5,xl:2},typography:{fontSize:{xs:0.75,sm:0.875,base:1,lg:1.125,xl:1.25,"2xl":1.5,"3xl":1.875},fontWeight:{light:300,normal:400,medium:500,semibold:600,bold:700}},borderRadius:{sm:0.125,base:0.25,lg:0.5,xl:0.75},boxShadow:{sm:"0 1px 2px 0 rgba(253, 246, 227, 0.2)",base:"0 1px 3px 0 rgba(253, 246, 227, 0.3), 0 1px 2px 0 rgba(253, 246, 227, 0.2)",lg:"0 10px 15px -3px rgba(253, 246, 227, 0.3), 0 4px 6px -2px rgba(253, 246, 227, 0.2)"}},Qj={name:"solarized-dark",colors:{primary:"#268bd2",secondary:"#2aa198",accent:"#d33682",success:"#859900",warning:"#b58900",error:"#dc322f",info:"#268bd2",light:"#fdf6e3",dark:"#073642",muted:"#586e75",highlight:"#073642",text:{primary:"#839496",secondary:"#93a1a1",muted:"#586e75",light:"#fdf6e3"},background:{primary:"#002b36",secondary:"#073642",dark:"#001f29"},border:{light:"#073642",dark:"#000000"}},spacing:{xs:0.25,sm:0.5,md:1,lg:1.5,xl:2},typography:{fontSize:{xs:0.75,sm:0.875,base:1,lg:1.125,xl:1.25,"2xl":1.5,"3xl":1.875},fontWeight:{light:300,normal:400,medium:500,semibold:600,bold:700}},borderRadius:{sm:0.125,base:0.25,lg:0.5,xl:0.75},boxShadow:{sm:"0 1px 2px 0 rgba(0, 43, 54, 0.2)",base:"0 1px 3px 0 rgba(0, 43, 54, 0.3), 0 1px 2px 0 rgba(0, 43, 54, 0.2)",lg:"0 10px 15px -3px rgba(0, 43, 54, 0.3), 0 4px 6px -2px rgba(0, 43, 54, 0.2)"}},Jj={name:"tokyo-night",colors:{primary:"#7aa2f7",secondary:"#7dcfff",accent:"#bb9af7",success:"#9ece6a",warning:"#e0af68",error:"#f7768e",info:"#7aa2f7",light:"#c0caf5",dark:"#1a1b26",muted:"#565f89",highlight:"#292e42",text:{primary:"#a9b1d6",secondary:"#c0caf5",muted:"#565f89",light:"#ffffff"},background:{primary:"#1a1b26",secondary:"#292e42",dark:"#16161e"},border:{light:"#292e42",dark:"#000000"}},spacing:{xs:0.25,sm:0.5,md:1,lg:1.5,xl:2},typography:{fontSize:{xs:0.75,sm:0.875,base:1,lg:1.125,xl:1.25,"2xl":1.5,"3xl":1.875},fontWeight:{light:300,normal:400,medium:500,semibold:600,bold:700}},borderRadius:{sm:0.125,base:0.25,lg:0.5,xl:0.75},boxShadow:{sm:"0 1px 2px 0 rgba(26, 27, 38, 0.2)",base:"0 1px 3px 0 rgba(26, 27, 38, 0.3), 0 1px 2px 0 rgba(26, 27, 38, 0.2)",lg:"0 10px 15px -3px rgba(26, 27, 38, 0.3), 0 4px 6px -2px rgba(26, 27, 38, 0.2)"}},Xj={name:"github",colors:{primary:"#0969da",secondary:"#8250df",accent:"#bc4c00",success:"#1a7f37",warning:"#9a6700",error:"#d1242f",info:"#0969da",light:"#f6f8fa",dark:"#24292f",muted:"#6e7781",highlight:"#ddf4ff",text:{primary:"#24292f",secondary:"#57606a",muted:"#6e7781",light:"#ffffff"},background:{primary:"#ffffff",secondary:"#f6f8fa",dark:"#24292f"},border:{light:"#d0d7de",dark:"#24292f"}},spacing:{xs:0.25,sm:0.5,md:1,lg:1.5,xl:2},typography:{fontSize:{xs:0.75,sm:0.875,base:1,lg:1.125,xl:1.25,"2xl":1.5,"3xl":1.875},fontWeight:{light:300,normal:400,medium:500,semibold:600,bold:700}},borderRadius:{sm:0.125,base:0.25,lg:0.5,xl:0.75},boxShadow:{sm:"0 1px 2px 0 rgba(255, 255, 255, 0.2)",base:"0 1px 3px 0 rgba(255, 255, 255, 0.3), 0 1px 2px 0 rgba(255, 255, 255, 0.2)",lg:"0 10px 15px -3px rgba(255, 255, 255, 0.3), 0 4px 6px -2px rgba(255, 255, 255, 0.2)"}},ij={name:"gruvbox",colors:{primary:"#83a598",secondary:"#8ec07c",accent:"#d3869b",success:"#b8bb26",warning:"#fabd2f",error:"#fb4934",info:"#83a598",light:"#fbf1c7",dark:"#282828",muted:"#928374",highlight:"#3c3836",text:{primary:"#ebdbb2",secondary:"#d5c4a1",muted:"#928374",light:"#ffffff"},background:{primary:"#282828",secondary:"#3c3836",dark:"#1d2021"},border:{light:"#3c3836",dark:"#000000"}},spacing:{xs:0.25,sm:0.5,md:1,lg:1.5,xl:2},typography:{fontSize:{xs:0.75,sm:0.875,base:1,lg:1.125,xl:1.25,"2xl":1.5,"3xl":1.875},fontWeight:{light:300,normal:400,medium:500,semibold:600,bold:700}},borderRadius:{sm:0.125,base:0.25,lg:0.5,xl:0.75},boxShadow:{sm:"0 1px 2px 0 rgba(40, 40, 40, 0.2)",base:"0 1px 3px 0 rgba(40, 40, 40, 0.3), 0 1px 2px 0 rgba(40, 40, 40, 0.2)",lg:"0 10px 15px -3px rgba(40, 40, 40, 0.3), 0 4px 6px -2px rgba(40, 40, 40, 0.2)"}},Gj={name:"one-dark",colors:{primary:"#61afef",secondary:"#c678dd",accent:"#e5c07b",success:"#98c379",warning:"#e5c07b",error:"#e06c75",info:"#56b6c2",light:"#abb2bf",dark:"#282c34",muted:"#5c6370",highlight:"#3e4451",text:{primary:"#abb2bf",secondary:"#c6c8d0",muted:"#5c6370",light:"#ffffff"},background:{primary:"#282c34",secondary:"#3e4451",dark:"#21252b"},border:{light:"#3e4451",dark:"#000000"}},spacing:{xs:0.25,sm:0.5,md:1,lg:1.5,xl:2},typography:{fontSize:{xs:0.75,sm:0.875,base:1,lg:1.125,xl:1.25,"2xl":1.5,"3xl":1.875},fontWeight:{light:300,normal:400,medium:500,semibold:600,bold:700}},borderRadius:{sm:0.125,base:0.25,lg:0.5,xl:0.75},boxShadow:{sm:"0 1px 2px 0 rgba(40, 44, 52, 0.2)",base:"0 1px 3px 0 rgba(40, 44, 52, 0.3), 0 1px 2px 0 rgba(40, 44, 52, 0.2)",lg:"0 10px 15px -3px rgba(40, 44, 52, 0.3), 0 4px 6px -2px rgba(40, 44, 52, 0.2)"}},Yj={name:"catppuccin",colors:{primary:"#89b4fa",secondary:"#cba6f7",accent:"#f5c2e7",success:"#a6e3a1",warning:"#f9e2af",error:"#f38ba8",info:"#89dceb",light:"#cdd6f4",dark:"#11111b",muted:"#6c7086",highlight:"#181825",text:{primary:"#cdd6f4",secondary:"#bac2de",muted:"#6c7086",light:"#ffffff"},background:{primary:"#1e1e2e",secondary:"#181825",dark:"#11111b"},border:{light:"#181825",dark:"#000000"}},spacing:{xs:0.25,sm:0.5,md:1,lg:1.5,xl:2},typography:{fontSize:{xs:0.75,sm:0.875,base:1,lg:1.125,xl:1.25,"2xl":1.5,"3xl":1.875},fontWeight:{light:300,normal:400,medium:500,semibold:600,bold:700}},borderRadius:{sm:0.125,base:0.25,lg:0.5,xl:0.75},boxShadow:{sm:"0 1px 2px 0 rgba(30, 30, 46, 0.2)",base:"0 1px 3px 0 rgba(30, 30, 46, 0.3), 0 1px 2px 0 rgba(30, 30, 46, 0.2)",lg:"0 10px 15px -3px rgba(30, 30, 46, 0.3), 0 4px 6px -2px rgba(30, 30, 46, 0.2)"}},Hj={name:"rose-pine",colors:{primary:"#9ccfd8",secondary:"#c4a7e7",accent:"#f6c177",success:"#31748f",warning:"#f6c177",error:"#eb6f92",info:"#9ccfd8",light:"#e0def4",dark:"#191724",muted:"#6e6a86",highlight:"#1f1d2e",text:{primary:"#e0def4",secondary:"#cecacd",muted:"#6e6a86",light:"#ffffff"},background:{primary:"#191724",secondary:"#1f1d2e",dark:"#12101a"},border:{light:"#1f1d2e",dark:"#000000"}},spacing:{xs:0.25,sm:0.5,md:1,lg:1.5,xl:2},typography:{fontSize:{xs:0.75,sm:0.875,base:1,lg:1.125,xl:1.25,"2xl":1.5,"3xl":1.875},fontWeight:{light:300,normal:400,medium:500,semibold:600,bold:700}},borderRadius:{sm:0.125,base:0.25,lg:0.5,xl:0.75},boxShadow:{sm:"0 1px 2px 0 rgba(25, 23, 36, 0.2)",base:"0 1px 3px 0 rgba(25, 23, 36, 0.3), 0 1px 2px 0 rgba(25, 23, 36, 0.2)",lg:"0 10px 15px -3px rgba(25, 23, 36, 0.3), 0 4px 6px -2px rgba(25, 23, 36, 0.2)"}},Wj={name:"kanagawa",colors:{primary:"#8ba4b0",secondary:"#a292a3",accent:"#c47fd5",success:"#76946a",warning:"#c0a36e",error:"#c34043",info:"#7e9cd8",light:"#dcd7ba",dark:"#1f1f28",muted:"#727169",highlight:"#2a2a37",text:{primary:"#dcd7ba",secondary:"#c8c093",muted:"#727169",light:"#ffffff"},background:{primary:"#1f1f28",secondary:"#2a2a37",dark:"#16161d"},border:{light:"#2a2a37",dark:"#000000"}},spacing:{xs:0.25,sm:0.5,md:1,lg:1.5,xl:2},typography:{fontSize:{xs:0.75,sm:0.875,base:1,lg:1.125,xl:1.25,"2xl":1.5,"3xl":1.875},fontWeight:{light:300,normal:400,medium:500,semibold:600,bold:700}},borderRadius:{sm:0.125,base:0.25,lg:0.5,xl:0.75},boxShadow:{sm:"0 1px 2px 0 rgba(31, 31, 40, 0.2)",base:"0 1px 3px 0 rgba(31, 31, 40, 0.3), 0 1px 2px 0 rgba(31, 31, 40, 0.2)",lg:"0 10px 15px -3px rgba(31, 31, 40, 0.3), 0 4px 6px -2px rgba(31, 31, 40, 0.2)"}};var i7={"ayu-dark":xj,dracula:pj,monokai:$j,nord:zj,"solarized-light":Zj,"solarized-dark":Qj,"tokyo-night":Jj,github:Xj,gruvbox:ij,"one-dark":Gj,catppuccin:Yj,"rose-pine":Hj,kanagawa:Wj};function G7(c){if(!c||typeof c!=="object")return!1;if(!c.name||typeof c.name!=="string")return!1;if(!c.colors||typeof c.colors!=="object")return!1;let x=["primary","secondary","accent","success","warning","error","info","light","dark","muted","highlight"];for(let Z of x)if(!c.colors[Z]||typeof c.colors[Z]!=="string")return!1;if(!c.colors.text||typeof c.colors.text!=="object")return!1;if(!c.colors.background||typeof c.colors.background!=="object")return!1;if(!c.colors.border||typeof c.colors.border!=="object")return!1;let p=["primary","secondary","muted","light"],$=["primary","secondary","dark"],z=["light","dark"];for(let Z of p)if(!c.colors.text[Z]||typeof c.colors.text[Z]!=="string")return!1;for(let Z of $)if(!c.colors.background[Z]||typeof c.colors.background[Z]!=="string")return!1;for(let Z of z)if(!c.colors.border[Z]||typeof c.colors.border[Z]!=="string")return!1;if(!c.spacing||typeof c.spacing!=="object")return!1;if(!c.typography||typeof c.typography!=="object")return!1;if(!c.borderRadius||typeof c.borderRadius!=="object")return!1;if(!c.boxShadow||typeof c.boxShadow!=="object")return!1;return!0}var Cv={primary:"#0066cc",secondary:"#6c757d",accent:"#e83e8c",success:"#28a745",warning:"#ffc107",error:"#dc3545",info:"#17a2b8",light:"#f8f9fa",dark:"#343a40",muted:"#6c757d",highlight:"#fff3cd",text:{primary:"#212529",secondary:"#6c757d",muted:"#6c757d",light:"#ffffff"},background:{primary:"#ffffff",secondary:"#f8f9fa",dark:"#343a40"},border:{light:"#dee2e6",dark:"#495057"},syntax:{comment:"#6c757d",string:"#28a745",number:"#e83e8c",keyword:"#007bff",function:"#17a2b8",variable:"#495057",operator:"#ffc107",type:"#007bff",tag:"#dc3545",attr:"#ffc107",default:"#212529"}},Y7={name:"default",colors:Cv,spacing:{xs:0.25,sm:0.5,md:1,lg:1.5,xl:2},typography:{fontSize:{xs:0.75,sm:0.875,base:1,lg:1.125,xl:1.25,"2xl":1.5,"3xl":1.875},fontWeight:{light:300,normal:400,medium:500,semibold:600,bold:700}},borderRadius:{sm:0.125,base:0.25,lg:0.5,xl:0.75},boxShadow:{sm:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",base:"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)",lg:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)"}},Kj={...Y7,name:"dark",colors:{...Cv,text:{primary:"#ffffff",secondary:"#e2e8f0",muted:"#94a3b8",light:"#000000"},background:{primary:"#1e293b",secondary:"#334155",dark:"#0f172a"},border:{light:"#475569",dark:"#64748b"},syntax:{comment:"#94a3b8",string:"#34d399",number:"#f472b6",keyword:"#60a5fa",function:"#06b6d4",variable:"#e2e8f0",operator:"#fbbf24",type:"#60a5fa",tag:"#fb7185",attr:"#fbbf24",default:"#ffffff"}}};class jv{currentTheme=Y7;themes=new Map;constructor(){this.themes.set("default",Y7),this.themes.set("dark",Kj);for(let[c,x]of Object.entries(i7))this.themes.set(c,x)}setTheme(c){let x=this.themes.get(c);if(x)this.currentTheme=x;else throw Error(`Theme '${c}' not found`)}getTheme(){return this.currentTheme}addTheme(c,x){if(!G7(x))throw Error(`Invalid theme configuration for '${c}'`);this.themes.set(c,x)}getAvailableThemes(){return Array.from(this.themes.keys())}getCurrentThemeName(){return this.currentTheme.name}getThemeByName(c){return this.themes.get(c)}removeTheme(c){if(c==="default"||c==="dark"||Object.hasOwn(i7,c))throw Error(`Cannot remove built-in theme '${c}'`);this.themes.delete(c)}hasTheme(c){return this.themes.has(c)}validateTheme(c){return G7(c)}}var H7=new jv;import{jsxDEV as sc}from"react/jsx-dev-runtime";var W7=X7(x7);function S4(c,x,p=0){if(c.type==="text")return sc(Bx,{children:c.value},p,!1,void 0,this);if(c.type==="element"){let $=c.properties?.className?.[0]||"",z=x.default;if($.includes("comment"))z=x.comment;else if($.includes("string"))z=x.string;else if($.includes("number"))z=x.number;else if($.includes("keyword"))z=x.keyword;else if($.includes("function"))z=x.function;else if($.includes("variable"))z=x.variable;else if($.includes("operator"))z=x.operator;else if($.includes("type"))z=x.type;else if($.includes("tag"))z=x.tag;else if($.includes("attr"))z=x.attr;let Z=c.children?.map((Q,J)=>S4(Q,x,J));return sc(Bx,{color:z,children:Z},p,!1,void 0,this)}if(c.type==="root"&&c.children)return sc(wj.Fragment,{children:c.children.map(($,z)=>S4($,x,z))},p,!1,void 0,this);return sc(Bx,{},p,!1,void 0,this)}function vj(c,x,p){let $=p||H7.getTheme().colors.syntax;try{if(!x||!W7.registered(x)){let Z=W7.highlightAuto(c);return S4(Z,$)}let z=W7.highlight(x,c);return S4(z,$)}catch(z){return sc(Bx,{color:$.default,children:c},void 0,!1,void 0,this)}}var Sv=({content:c,language:x,showLineNumbers:p=!0,terminalWidth:$})=>{let z=H7.getTheme(),Z=c.split(`
|
|
523
|
+
`),Q=String(Z.length).length+1,J=Math.max(20,$-Q-4);return sc(H2,{borderStyle:"round",borderColor:z.colors.border.light,paddingX:1,paddingY:0,marginY:1,flexDirection:"column",width:Math.min($,J+Q+4),children:[x&&sc(H2,{marginBottom:0,children:sc(Bx,{color:z.colors.text.muted,dimColor:!0,children:x},void 0,!1,void 0,this)},void 0,!1,void 0,this),Z.map((X,i)=>sc(H2,{flexDirection:"row",children:[p&&sc(H2,{width:Q,children:sc(Bx,{color:z.colors.text.muted,dimColor:!0,children:String(i+1).padStart(Q-1," ")},void 0,!1,void 0,this)},void 0,!1,void 0,this),sc(H2,{flexShrink:1,children:X.trim()===""?sc(Bx,{children:" "},void 0,!1,void 0,this):vj(X,x,z.colors.syntax)},void 0,!1,void 0,this)]},i,!0,void 0,this))]},void 0,!0,void 0,this)};import{Box as v0,Text as G1}from"ink";import K7 from"react";import{jsxDEV as yc}from"react/jsx-dev-runtime";function qj(c,x,p){let $=c.length,z=c.map((i)=>Math.max(i.length,3));x.forEach((i)=>{i.forEach((G,Y)=>{if(Y<z.length)z[Y]=Math.max(z[Y],G.length)})});let Z=z.reduce((i,G)=>i+G,0),Q=$*3+1;if(Z+Q<=p)return z;let X=(p-Q)/Z;return z.map((i)=>Math.max(3,Math.floor(i*X)))}function Iv(c,x){if(c.length<=x)return c;return c.substring(0,x-1)+"…"}var Dv=({headers:c,rows:x,terminalWidth:p})=>{let $=Math.floor(p*0.9),z=qj(c,x,$);if(z.length===0||c.length===0)return null;return yc(v0,{flexDirection:"column",marginY:1,borderStyle:"round",borderColor:"gray",paddingX:1,children:[yc(v0,{flexDirection:"row",children:c.map((Z,Q)=>yc(K7.Fragment,{children:[yc(v0,{width:z[Q],justifyContent:"center",children:yc(G1,{bold:!0,color:"cyan",children:Iv(Z,z[Q])},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q<c.length-1&&yc(v0,{width:3,justifyContent:"center",children:yc(G1,{color:"gray",children:" | "},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},Q,!0,void 0,this))},void 0,!1,void 0,this),yc(v0,{flexDirection:"row",children:c.map((Z,Q)=>yc(K7.Fragment,{children:[yc(v0,{width:z[Q],justifyContent:"center",children:yc(G1,{color:"gray",children:"─".repeat(z[Q])},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q<c.length-1&&yc(v0,{width:3,justifyContent:"center",children:yc(G1,{color:"gray",children:"─┼─"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},Q,!0,void 0,this))},void 0,!1,void 0,this),x.map((Z,Q)=>yc(v0,{flexDirection:"row",children:Z.map((J,X)=>yc(K7.Fragment,{children:[yc(v0,{width:z[X],justifyContent:"flex-start",children:yc(G1,{children:Iv(J||"",z[X])},void 0,!1,void 0,this)},void 0,!1,void 0,this),X<c.length-1&&yc(v0,{width:3,justifyContent:"center",children:yc(G1,{color:"gray",children:" | "},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},X,!0,void 0,this))},Q,!1,void 0,this))]},void 0,!0,void 0,this)};import{jsxDEV as jc}from"react/jsx-dev-runtime";var K2={codeBlock:/^```(\w+)?\s*\n([\s\S]*?)\n```$/gm,inlineCode:/`([^`]+)`/g,heading:/^(#{1,4})\s+(.+)$/gm,bold:/\*\*([^*]+)\*\*/g,italic:/\*([^*]+)\*/g,listItem:/^[-*+]\s+(.+)$/gm,table:/^\|(.+)\|$/gm,tableSeparator:/^\|[\s]*:?-+:?[\s]*\|/};function Uj(c){let x=[],p=c,$=Array.from(p.matchAll(K2.codeBlock));if($.length>0){let z=0;for(let Z of $){let[Q,J="",X]=Z,i=Z.index||0;if(i>z){let G=p.slice(z,i).trim();if(G){let Y=w7(G);x.push(...Y)}}x.push({type:"code",content:X.trim(),language:J||void 0}),z=i+Q.length}if(z<p.length){let Z=p.slice(z).trim();if(Z){let Q=w7(Z);x.push(...Q)}}}else{let z=w7(p);x.push(...z)}return x}function w7(c){let x=[],p=c.split(`
|
|
524
|
+
`),$=[],z=null,Z=!1;for(let Q=0;Q<p.length;Q++){let J=p[Q],X=J.match(K2.table),i=J.match(K2.tableSeparator);if(X&&!Z){let G=p[Q+1];if(G&&G.match(K2.tableSeparator)){if(Z=!0,$.length>0)x.push({type:"text",content:$.join(`
|
|
525
|
+
`).trim()}),$=[];z={headers:X[1].split("|").map((H)=>H.trim()).filter((H)=>H.length>0),rows:[]},Q++;continue}}if(Z&&X){let G=X[1].split("|").map((Y)=>Y.trim()).filter((Y)=>Y.length>0);z.rows.push(G)}else if(Z&&!X&&!i){if(z)x.push({type:"table",content:"",tableData:z});if(Z=!1,z=null,J.trim())$.push(J)}else if(!Z)$.push(J)}if(Z&&z)x.push({type:"table",content:"",tableData:z});else if($.length>0)x.push({type:"text",content:$.join(`
|
|
526
|
+
`).trim()});return x.filter((Q)=>Q.type!=="text"||Q.content&&Q.content.trim().length>0)}var Bj=({content:c,language:x,terminalWidth:p})=>{return jc(Sv,{content:c,language:x,showLineNumbers:!0,terminalWidth:p},void 0,!1,void 0,this)},Vj=({content:c,role:x})=>{let p=(z)=>{let Z=z.split(K2.inlineCode),Q=[];for(let J=0;J<Z.length;J++)if(J%2===0){if(Z[J])Q.push(jc(W2,{children:Z[J]},J,!1,void 0,this))}else Q.push(jc(W2,{backgroundColor:"gray",color:"white",children:` ${Z[J]} `},J,!1,void 0,this));return Q.length>0?Q:[jc(W2,{children:z},"empty",!1,void 0,this)]},$=c.split(`
|
|
527
|
+
`);return jc(Vx,{flexDirection:"column",children:$.map((z,Z)=>jc(Vx,{marginBottom:Z<$.length-1?0:0,children:jc(W2,{color:x==="user"?"cyan":"green",wrap:"wrap",children:p(z)},void 0,!1,void 0,this)},Z,!1,void 0,this))},void 0,!1,void 0,this)},v7=({content:c,role:x,terminalWidth:p})=>{let $=Uj(c),z=x==="user"?"❯ ":"\uD83E\uDD16 ";return jc(Vx,{flexDirection:"column",marginBottom:1,children:$.map((Z,Q)=>jc(Vx,{flexDirection:"row",children:[Q===0&&jc(Vx,{marginRight:1,children:jc(W2,{color:x==="user"?"cyan":"green",bold:!0,children:z},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q>0&&jc(Vx,{width:z.length+1},void 0,!1,void 0,this),jc(Vx,{flexGrow:1,children:Z.type==="code"?jc(Bj,{content:Z.content,language:Z.language,terminalWidth:p-(z.length+1)},void 0,!1,void 0,this):Z.type==="table"&&Z.tableData?jc(Dv,{headers:Z.tableData.headers,rows:Z.tableData.rows,terminalWidth:p-(z.length+1)},void 0,!1,void 0,this):jc(Vj,{content:Z.content,role:x},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},Q,!0,void 0,this))},void 0,!1,void 0,this)};import{jsxDEV as Xc,Fragment as q7}from"react/jsx-dev-runtime";var Ev=({sessionState:c,terminalWidth:x,isProcessing:p,isInitialized:$})=>{let Z=!c.messages.some((J)=>J.role==="user");return Xc(i0,{flexDirection:"column",flexGrow:1,paddingX:2,paddingY:Z?2:0,children:Xc(i0,{flexDirection:"column",flexGrow:1,children:Z?Xc(i0,{flexDirection:"column",children:[Xc(i0,{flexDirection:"column",marginBottom:2,children:["██████╗ ██╗ █████╗ ██████╗ ███████╗","██╔══██╗██║ ██╔══██╗██╔══██╗██╔════╝","██████╔╝██║ ███████║██║ ██║█████╗ ","██╔══██╗██║ ██╔══██║██║ ██║██╔══╝ ","██████╔╝███████╗██║ ██║██████╔╝███████╗","╚═════╝ ╚══════╝╚═╝ ╚═╝╚═════╝ ╚══════╝"].map((J,X)=>Xc(rc,{color:"blue",bold:!0,children:J},X,!1,void 0,this))},void 0,!1,void 0,this),c.messages.length===0?Xc(q7,{children:[Xc(i0,{flexDirection:"column",marginBottom:2,children:[Xc(i0,{marginBottom:1,children:Xc(rc,{color:"gray",bold:!0,children:"使用指南:"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Xc(rc,{color:"gray",children:"1. 输入问题、编辑文件或运行命令"},void 0,!1,void 0,this),Xc(rc,{color:"gray",children:"2. 使用 /init 创建项目配置文件"},void 0,!1,void 0,this),Xc(rc,{color:"gray",children:"3. 输入 /help 查看所有 slash 命令"},void 0,!1,void 0,this),Xc(rc,{color:"gray",children:"4. 按 Ctrl+C 退出应用"},void 0,!1,void 0,this),!$&&Xc(q7,{children:[Xc(rc,{},void 0,!1,void 0,this),Xc(rc,{color:"yellow",children:"⚠️ API 密钥未配置,请先设置环境变量 BLADE_API_KEY"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Xc(i0,{flexDirection:"column",children:[Xc(rc,{color:"cyan",children:"智能代码助手命令行工具"},void 0,!1,void 0,this),Xc(rc,{color:"gray",dimColor:!0,children:m4()},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this):Xc(q7,{children:[c.messages.map((J,X)=>Xc(v7,{content:J.content,role:J.role,terminalWidth:x},X,!1,void 0,this)),Xc(i0,{flexDirection:"column",marginTop:2,children:[Xc(rc,{color:"gray",children:"输入问题开始对话 • 使用 /init 创建项目配置 • 输入 /help 查看 slash 命令"},void 0,!1,void 0,this),Xc(i0,{marginTop:1,children:Xc(rc,{color:"gray",dimColor:!0,children:m4()},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this):Xc(i0,{flexDirection:"column",children:[c.messages.map((J,X)=>Xc(v7,{content:J.content,role:J.role,terminalWidth:x},X,!1,void 0,this)),p&&Xc(i0,{paddingX:2,children:Xc(rc,{color:"yellow",dimColor:!0,children:"正在思考中..."},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)};import{Box as Y1,Text as hc}from"ink";import{useEffect as yj,useState as Mj}from"react";import{createContext as Fj,useContext as bj,useReducer as Lj}from"react";import{jsxDEV as Pj}from"react/jsx-dev-runtime";var Nj={isInitialized:!1,isLoading:!1,currentCommand:null,selectedTool:null,notifications:[],config:null,userPreferences:{theme:"default",language:"zh-CN",autoSave:!0,debugMode:!1,telemetry:!0,shortcuts:{},fontSize:14,showStatusBar:!0,showNotifications:!0},performance:{memory:{used:0,total:0,percentage:0},render:{fps:60,renderTime:16},cpu:{usage:0},uptime:0},error:null};function Aj(c,x){switch(x.type){case"SET_INITIALIZED":return{...c,isInitialized:x.payload};case"SET_LOADING":return{...c,isLoading:x.payload};case"SET_CURRENT_COMMAND":return{...c,currentCommand:x.payload};case"SET_SELECTED_TOOL":return{...c,selectedTool:x.payload};case"ADD_NOTIFICATION":return{...c,notifications:[...c.notifications,x.payload]};case"REMOVE_NOTIFICATION":return{...c,notifications:c.notifications.filter((p)=>p.id!==x.payload)};case"CLEAR_NOTIFICATIONS":return{...c,notifications:[]};case"SET_CONFIG":return{...c,config:x.payload};case"UPDATE_PREFERENCES":return{...c,userPreferences:{...c.userPreferences,...x.payload}};case"SET_PERFORMANCE_STATS":return{...c,performance:{...c.performance,...x.payload}};case"SET_ERROR":return{...c,error:x.payload};case"CLEAR_ERROR":return{...c,error:null};default:return c}}var Tv=Fj(null),uj={setInitialized:(c)=>({type:"SET_INITIALIZED",payload:c}),setLoading:(c)=>({type:"SET_LOADING",payload:c}),setCurrentCommand:(c)=>({type:"SET_CURRENT_COMMAND",payload:c}),setSelectedTool:(c)=>({type:"SET_SELECTED_TOOL",payload:c}),addNotification:(c)=>{return{type:"ADD_NOTIFICATION",payload:{...c,id:`notif_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,timestamp:Date.now()}}},removeNotification:(c)=>({type:"REMOVE_NOTIFICATION",payload:c}),clearNotifications:()=>({type:"CLEAR_NOTIFICATIONS"}),setConfig:(c)=>({type:"SET_CONFIG",payload:c}),updatePreferences:(c)=>({type:"UPDATE_PREFERENCES",payload:c}),setPerformanceStats:(c)=>({type:"SET_PERFORMANCE_STATS",payload:c}),setError:(c)=>({type:"SET_ERROR",payload:c}),clearError:()=>({type:"CLEAR_ERROR"})},Rv=({children:c})=>{let[x,p]=Lj(Aj,Nj),$=uj;return Pj(Tv.Provider,{value:{state:x,dispatch:p,actions:$},children:c},void 0,!1,void 0,this)},mv=()=>{let c=bj(Tv);if(!c)throw Error("useAppState must be used within an AppProvider");return c},dv=()=>{let{state:c,actions:x}=mv();return{notifications:c.notifications,addNotification:x.addNotification,removeNotification:x.removeNotification,clearNotifications:x.clearNotifications}};var hv=()=>{let{state:c,actions:x}=mv();return{performance:c.performance,updatePerformance:x.setPerformanceStats}};import{jsxDEV as Pc}from"react/jsx-dev-runtime";var av=({interval:c=1000,showGraph:x=!1,className:p})=>{let{performance:$,updatePerformance:z}=hv(),[Z,Q]=Mj([]);yj(()=>{let G=()=>{let H=process.memoryUsage(),W=H.heapTotal,K=H.heapUsed,w=Math.round(K/W*100),q=process.cpuUsage(),U=Math.min(100,Math.round(q.user/1e6));z({memory:{used:K,total:W,percentage:w},cpu:{usage:U},uptime:Math.floor(process.uptime())}),Q((b)=>{let v=[...b,w];return v.length>20?v.slice(-20):v})};G();let Y=setInterval(G,c);return()=>clearInterval(Y)},[c,z]);let J=(G,Y,H)=>{if(G.length===0)return"";let W=Math.max(...G,1),K=Math.max(1,Math.floor(G.length/Y)),w="";for(let q=0;q<H;q++){let U="";for(let b=0;b<Y;b+=K){let v=Math.floor(b*G.length/Y),B=G[v]||0,A=Math.floor(B/W*H);if(q>=H-A)U+="█";else U+=" "}w+=U+`
|
|
528
|
+
`}return w},X=(G)=>{if(G===0)return"0 Bytes";let Y=1024,H=["Bytes","KB","MB","GB"],W=Math.floor(Math.log(G)/Math.log(Y));return parseFloat((G/Math.pow(Y,W)).toFixed(2))+" "+H[W]},i=(G)=>{let Y=Math.floor(G/3600),H=Math.floor(G%3600/60),W=G%60;if(Y>0)return`${Y}h ${H}m ${W}s`;else if(H>0)return`${H}m ${W}s`;else return`${W}s`};return Pc(Y1,{flexDirection:"column",paddingX:1,paddingY:0,borderStyle:"round",borderColor:"#4F46E5",backgroundColor:"#1F2937",...p?{className:p}:{},children:[Pc(Y1,{flexDirection:"row",justifyContent:"space-between",marginBottom:1,children:[Pc(hc,{color:"#93C5FD",bold:!0,children:"\uD83D\uDCCA 性能监控"},void 0,!1,void 0,this),Pc(hc,{color:"#9CA3AF",dimColor:!0,children:["更新间隔: ",c,"ms"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Pc(Y1,{flexDirection:"row",alignItems:"center",marginBottom:1,children:[Pc(hc,{color:"#FBBF24",marginRight:1,children:"\uD83E\uDDE0"},void 0,!1,void 0,this),Pc(hc,{color:"#D1D5DB",width:12,children:"内存:"},void 0,!1,void 0,this),Pc(hc,{color:"#93C5FD",children:[X($.memory.used)," /"," ",X($.memory.total)]},void 0,!0,void 0,this),Pc(hc,{color:"#9CA3AF",marginLeft:2,children:["(",$.memory.percentage,"%)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Pc(Y1,{flexDirection:"row",alignItems:"center",marginBottom:1,children:[Pc(hc,{color:"#EF4444",marginRight:1,children:"⚡"},void 0,!1,void 0,this),Pc(hc,{color:"#D1D5DB",width:12,children:"CPU:"},void 0,!1,void 0,this),Pc(hc,{color:"#93C5FD",children:[$.cpu.usage,"%"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Pc(Y1,{flexDirection:"row",alignItems:"center",marginBottom:1,children:[Pc(hc,{color:"#10B981",marginRight:1,children:"⏰"},void 0,!1,void 0,this),Pc(hc,{color:"#D1D5DB",width:12,children:"运行时间:"},void 0,!1,void 0,this),Pc(hc,{color:"#93C5FD",children:i($.uptime)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),x&&Z.length>0&&Pc(Y1,{flexDirection:"column",marginTop:1,children:[Pc(hc,{color:"#9CA3AF",dimColor:!0,marginBottom:1,children:"内存使用趋势:"},void 0,!1,void 0,this),Pc(hc,{color:"#93C5FD",children:J(Z,30,5)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};import{jsxDEV as o0}from"react/jsx-dev-runtime";var gv=({debug:c=!1,testMode:x=!1,...p})=>{let{state:$,addUserMessage:z,addAssistantMessage:Z}=Tx(),{isInitialized:Q,hasApiKey:J}=SK(Z,c),{stdout:X}=fj(),[i,G]=kj(80);nj(()=>{let B=()=>{G(X.columns||80)};return B(),X.on("resize",B),()=>{X.off("resize",B)}},[X]);let{isProcessing:Y,executeCommand:H}=_K(p.appendSystemPrompt),{getPreviousCommand:W,getNextCommand:K,addToHistory:w}=lK(),{input:q,showSuggestions:U,suggestions:b,selectedSuggestionIndex:v}=oK((B)=>H(B,z,Z),W,K,w);return o0(_v,{flexDirection:"column",width:"100%",height:"100%",children:[o0(cw,{testMode:x},void 0,!1,void 0,this),o0(Ev,{sessionState:$,terminalWidth:i,isProcessing:Y,isInitialized:J},void 0,!1,void 0,this),o0(xw,{input:q,isProcessing:Y||!Q},void 0,!1,void 0,this),o0(tK,{suggestions:b,selectedIndex:v,visible:U},void 0,!1,void 0,this),o0(rK,{messageCount:$.messages.length,hasApiKey:J,isProcessing:Y||!Q},void 0,!1,void 0,this),c&&o0(_v,{position:"absolute",width:30,children:o0(av,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)};import{Box as Oj,Text as s0}from"ink";import Cj from"react";import{jsxDEV as O0}from"react/jsx-dev-runtime";class U7 extends Cj.Component{constructor(c){super(c);this.state={hasError:!1,error:null,errorInfo:null}}static getDerivedStateFromError(c){return{hasError:!0,error:c,errorInfo:null}}componentDidCatch(c,x){this.setState({error:c,errorInfo:x}),console.error("未捕获的错误:",c,x)}render(){if(this.state.hasError)return O0(Oj,{flexDirection:"column",padding:1,borderStyle:"round",borderColor:"red",children:[O0(s0,{color:"red",children:"\uD83D\uDCA5 应用发生错误"},void 0,!1,void 0,this),O0(s0,{children:" "},void 0,!1,void 0,this),O0(s0,{color:"red",children:this.state.error?.message},void 0,!1,void 0,this),O0(s0,{children:" "},void 0,!1,void 0,this),O0(s0,{color:"gray",children:"错误详情:"},void 0,!1,void 0,this),O0(s0,{color:"gray",children:this.state.error?.stack},void 0,!1,void 0,this),O0(s0,{children:" "},void 0,!1,void 0,this),O0(s0,{color:"yellow",children:"请重启应用或联系开发者"},void 0,!1,void 0,this)]},void 0,!0,void 0,this);return this.props.children}}import{Box as D4,Text as I4}from"ink";import{useEffect as jj}from"react";import{jsxDEV as C0}from"react/jsx-dev-runtime";var lv=({position:c="top-right",maxNotifications:x=5,autoDismiss:p=!0,dismissDelay:$=5000})=>{let{notifications:z,removeNotification:Z}=dv(),Q={"top-right":{top:1,right:1},"top-left":{top:1,left:1},"bottom-right":{bottom:1,right:1},"bottom-left":{bottom:1,left:1}},J={info:{bg:"#2563EB",text:"#DBEAFE",icon:"ℹ️"},success:{bg:"#16A34A",text:"#DCFAE6",icon:"✅"},warning:{bg:"#EA580C",text:"#FED7AA",icon:"⚠️"},error:{bg:"#DC2626",text:"#FECACA",icon:"❌"}},X=z.slice(0,x);return C0(D4,{flexDirection:"column",position:"absolute",...Q[c],width:50,zIndex:1000,children:X.map((i,G)=>{let Y=J[i.type],H={top:c.includes("top")?(Q[c].top||0)+G*4:void 0,bottom:c.includes("bottom")?(Q[c].bottom||0)+G*4:void 0,[c.includes("left")?"left":"right"]:c.includes("left")?Q[c].left:Q[c].right};return C0(Sj,{notification:i,colors:Y,style:H,autoDismiss:p,dismissDelay:$,onDismiss:()=>Z(i.id)},i.id,!1,void 0,this)})},void 0,!1,void 0,this)},Sj=({notification:c,colors:x,style:p,autoDismiss:$,dismissDelay:z,onDismiss:Z})=>{return jj(()=>{if($&&c.duration!==0){let Q=c.duration||z,J=setTimeout(()=>{Z()},Q);return()=>clearTimeout(J)}},[$,c.duration,z,Z]),C0(D4,{flexDirection:"column",position:"absolute",...p,width:48,borderStyle:"round",borderColor:x.bg,backgroundColor:x.bg,paddingX:1,paddingY:0,children:[C0(D4,{flexDirection:"row",alignItems:"center",marginBottom:1,children:[C0(I4,{color:x.text,children:x.icon},void 0,!1,void 0,this),C0(I4,{color:x.text,bold:!0,marginLeft:1,children:c.title},void 0,!1,void 0,this)]},void 0,!0,void 0,this),C0(I4,{color:x.text,wrap:"wrap",children:c.message},void 0,!1,void 0,this),C0(D4,{flexDirection:"row",justifyContent:"flex-end",marginTop:1,children:C0(I4,{color:x.text,dimColor:!0,underline:!0,onPress:Z,children:"关闭"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)};import{jsxDEV as w2}from"react/jsx-dev-runtime";var ov=(c)=>{let x={...c,debug:Boolean(c.debug)};return w2(U7,{children:w2(Rv,{children:w2(DZ,{children:[w2(gv,{...x},void 0,!1,void 0,this),w2(lv,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)};async function Rj(){if(await OZ())return;let c=Ej(Tj(process.argv)).scriptName(t0.scriptName).usage(t0.usage).version(t0.version).locale(t0.locale).showHelpOnFail(t0.showHelpOnFail).demandCommand(0,"").recommendCommands().strict(t0.strict).options(A7).middleware([u7,P7,y7,M7]).command(n7).command(I7).command(k7).command(jZ).command(O7).command(CZ).completion("completion","Generate completion script for bash/zsh").help("help","Show help").alias("help","h").alias("version","V").fail((x,p,$)=>{if(p){if(console.error("\uD83D\uDCA5 An error occurred:"),console.error(p.message),process.env.BLADE_DEBUG)console.error(`
|
|
529
|
+
Stack trace:`),console.error(p.stack);process.exit(1)}if(x)console.error("❌ Invalid arguments:"),console.error(x),console.error(`
|
|
530
|
+
\uD83D\uDCA1 Did you mean:`),$.showHelp(),process.exit(1)}).command("$0 [message..]","Start interactive AI assistant",(x)=>{return x.positional("message",{describe:"Initial message to send to the AI",type:"string",array:!0})},async(x)=>{let p={...x},z={initialMessage:x.message?x.message.join(" "):void 0,...p.debug!==void 0&&{debug:p.debug},...p.verbose!==void 0&&{verbose:Boolean(p.verbose)},...p.print!==void 0&&{print:Boolean(p.print)}},{unmount:Z}=Ij(Dj.createElement(ov,z),{patchConsole:!0,exitOnCtrlC:!1}),Q=()=>{Z(),process.exit(0)};process.on("SIGINT",Q),process.on("SIGTERM",Q)});try{await c.parse()}catch(x){console.error("Parse error:",x),process.exit(1)}}if(e.main==e.module)Rj().catch(console.error);export{Rj as main};
|