agent-tool-chat 1.1.6 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -0
- package/dist/agent-core/types.d.ts +6 -0
- package/dist/agent-tool-chat.css +1 -1
- package/dist/api/openai-compatible.d.ts +11 -0
- package/dist/api/openai.d.ts +2 -0
- package/dist/api/provider-registry.d.ts +8 -0
- package/dist/composables/useAgentChat.d.ts +18 -14
- package/dist/config.d.ts +11 -4
- package/dist/index.cjs +29 -30
- package/dist/index.d.ts +7 -2
- package/dist/index.js +3247 -2981
- package/dist/types.d.ts +58 -9
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,56 +1,55 @@
|
|
|
1
|
-
"use strict";var ci=Object.defineProperty;var ui=(e,t,n)=>t in e?ci(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var L=(e,t,n)=>ui(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),ft=require("element-plus");function hi(e){let t="";return typeof e.content=="string"?t=e.content:e.content!=null&&(t=JSON.stringify(e.content)),e.tool_calls&&(t+=JSON.stringify(e.tool_calls)),e.name&&(t+=e.name),Math.ceil(t.length/2)||1}function di(e,t){const n=e.length;if(n===0)return e;let i=0,o=n-1;for(let s=n-1;s>=0;s--)if(i+=hi(e[s]),o=s,i>t){o=Math.min(s+1,n-1);break}return o>0&&e[o].role==="tool"&&(o-=1),e.slice(o)}class Zo{constructor(t){L(this,"messages",[]);L(this,"config");L(this,"listeners",new Set);L(this,"abortController",null);L(this,"_loading",!1);this.config={...t,maxToolRounds:t.maxToolRounds??6}}get loading(){return this._loading}updateProviderConfig(t){this.config.providerConfig={...this.config.providerConfig,...t}}initialize(t){this.messages.length=0,this.messages.push(...t)}clear(){var t;this.stop(),this.messages.length=0,(t=this.config.storage)==null||t.save([])}on(t){return this.listeners.add(t),()=>this.listeners.delete(t)}emit(t){this.listeners.forEach(n=>n(t))}async sendMessage(t){var o;const n=t.trim();if(!n||this._loading)return;this._loading=!0,this.abortController=new AbortController,this.emit({type:"status",loading:!0});const i={role:"user",content:n};this.messages.push(i),this.emit({type:"message",message:i});try{let s=0;const l=this.config.maxToolRounds;for(;s<l;){s++;const A={role:"assistant",content:""};this.messages.push(A),this.emit({type:"message",message:A});const a=this.buildApiMessages(),u=await this.config.provider.streamChat({config:this.config.providerConfig,messages:a,tools:this.config.tools.getDefinitions(),signal:this.abortController.signal,onContent:d=>{A.content+=d,this.emit({type:"stream:delta",delta:{content:d}})},onReasoning:d=>{this.emit({type:"stream:delta",delta:{reasoning:d}})}});if(A.content=u.content,this.emit({type:"stream:end",content:u.content,reasoning:u.reasoning}),u.tool_calls.length>0){A.tool_calls=u.tool_calls;for(const d of u.tool_calls){this.emit({type:"tool:start",call:d});const f=await this.config.tools.execute(d.function.name,d.function.arguments);this.emit({type:"tool:end",call:d,output:f}),this.messages.push({role:"tool",tool_call_id:d.id,content:f.result,name:d.function.name})}continue}break}await((o=this.config.storage)==null?void 0:o.save(this.messages))}catch(s){if((s==null?void 0:s.name)!=="AbortError")this.emit({type:"error",error:(s==null?void 0:s.message)||"请求出错"});else{const l=this.messages[this.messages.length-1];(l==null?void 0:l.role)==="assistant"&&!l.content&&(l.content="(已停止生成)")}}finally{this._loading=!1,this.abortController=null,this.emit({type:"status",loading:!1})}}stop(){var t;(t=this.abortController)==null||t.abort()}buildApiMessages(){const t=this.messages;let i=t.length>0&&t[t.length-1].role==="assistant"&&t[t.length-1].content===""&&!t[t.length-1].tool_calls?t.slice(0,-1):t;const o=this.config.maxHistoryMessages??0;o>0&&i.length>o&&(i=i.slice(i.length-o));const s=this.config.maxContextTokens??0;for(s>0&&(i=di(i,s));i.length&&i[0].role==="tool";)i=i.slice(1);return this.config.systemPrompt?[{role:"system",content:this.config.systemPrompt},...i]:[...i]}}class Po{constructor(){L(this,"_definitions",[]);L(this,"_handlers",new Map)}register(t,n){const i=t.function.name,o=this._definitions.findIndex(s=>s.function.name===i);return o!==-1&&this._definitions.splice(o,1),this._definitions.push(t),this._handlers.set(i,n),this}registerBatch(t){for(const n of t)this.register(n.definition,n.handler);return this}getDefinitions(){return[...this._definitions]}async execute(t,n){const i=this._handlers.get(t);if(!i)return{success:!1,result:`未知工具:${t}`};try{const o=n?JSON.parse(n):{};return await i(o)}catch(o){return{success:!1,result:`工具执行异常:${(o==null?void 0:o.message)||String(o)}`}}}}function fi(e){let t=e.trim().replace(/\/+$/,"");return t=t.replace(/\/v1$/,""),t}function zo(){return{async streamChat(e){var w;const{config:{baseUrl:t,apiKey:n,model:i,temperature:o,thinking:s},messages:l,tools:A,signal:a,onContent:u,onReasoning:d}=e;if(!n)throw new Error("未配置 API Key");const f=`${fi(t)}/chat/completions`,_={model:i,messages:l,stream:!0};typeof o=="number"&&(_.temperature=o),_.thinking={type:(s==null?void 0:s.type)==="enabled"?"enabled":"disabled"},(s==null?void 0:s.type)==="enabled"&&s.effort&&(_.reasoning_effort=s.effort),A!=null&&A.length&&(_.tools=A,_.tool_choice="auto");const m=await fetch(f,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`},body:JSON.stringify(_),signal:a});if(!m.ok||!m.body){let b=`请求失败(HTTP ${m.status})`;try{const v=await m.json();(w=v==null?void 0:v.error)!=null&&w.message&&(b=v.error.message)}catch{}throw new Error(b)}const h=m.body.getReader(),k=new TextDecoder("utf-8");let D="",g="",B="",x="stop";const C=new Map,y=b=>{if(!b)return;const v=b.index??0;C.has(v)||C.set(v,{id:"",type:"function",function:{name:"",arguments:""}});const N=C.get(v);b.id&&(N.id=b.id),b.type&&(N.type=b.type),b.function&&(b.function.name&&(N.function.name+=b.function.name),b.function.arguments&&(N.function.arguments+=b.function.arguments))},K=b=>{var J;const v=(J=b==null?void 0:b.choices)==null?void 0:J[0];if(!v)return;const N=v.delta||{};typeof N.content=="string"&&N.content&&(g+=N.content,u==null||u(N.content)),typeof N.reasoning_content=="string"&&N.reasoning_content&&(B+=N.reasoning_content,d==null||d(N.reasoning_content)),Array.isArray(N.tool_calls)&&N.tool_calls.forEach(z=>y(z)),v.finish_reason&&(x=v.finish_reason)};for(;;){const{done:b,value:v}=await h.read();if(b)break;D+=k.decode(v,{stream:!0});let N;for(;(N=D.indexOf(`
|
|
2
|
-
`))!==-1;){const
|
|
3
|
-
`))
|
|
4
|
-
`)}
|
|
5
|
-
`)}const mi=`--- 重复指令处理规则 ---
|
|
1
|
+
"use strict";var Si=Object.defineProperty;var Ni=(e,t,n)=>t in e?Si(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var L=(e,t,n)=>Ni(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),Xe=require("element-plus");function Ri(e){let t="";return typeof e.content=="string"?t=e.content:e.content!=null&&(t=JSON.stringify(e.content)),e.tool_calls&&(t+=JSON.stringify(e.tool_calls)),e.name&&(t+=e.name),Math.ceil(t.length/2)||1}function Ti(e,t){const n=e.length;if(n===0)return e;let i=0,o=n-1;for(let s=n-1;s>=0;s--)if(i+=Ri(e[s]),o=s,i>t){o=Math.min(s+1,n-1);break}return o>0&&e[o].role==="tool"&&(o-=1),e.slice(o)}class ir{constructor(t){L(this,"messages",[]);L(this,"config");L(this,"listeners",new Set);L(this,"abortController",null);L(this,"_loading",!1);this.config={...t,maxToolRounds:t.maxToolRounds??6}}get loading(){return this._loading}updateProviderConfig(t){this.config.providerConfig={...this.config.providerConfig,...t}}initialize(t){this.messages.length=0,this.messages.push(...t)}clear(){var t;this.stop(),this.messages.length=0,(t=this.config.storage)==null||t.save([])}on(t){return this.listeners.add(t),()=>this.listeners.delete(t)}emit(t){this.listeners.forEach(n=>n(t))}async sendMessage(t){var o;const n=t.trim();if(!n||this._loading)return;this._loading=!0,this.abortController=new AbortController,this.emit({type:"status",loading:!0});const i={role:"user",content:n};this.messages.push(i),this.emit({type:"message",message:i});try{let s=0;const l=this.config.maxToolRounds;for(;s<l;){s++;const A={role:"assistant",content:""};this.messages.push(A),this.emit({type:"message",message:A});const a=this.buildApiMessages(),u=await this.config.provider.streamChat({config:this.config.providerConfig,messages:a,tools:this.config.tools.getDefinitions(),signal:this.abortController.signal,onContent:h=>{A.content+=h,this.emit({type:"stream:delta",delta:{content:h}})},onReasoning:h=>{this.emit({type:"stream:delta",delta:{reasoning:h}})}});if(A.content=u.content,this.emit({type:"stream:end",content:u.content,reasoning:u.reasoning}),u.tool_calls.length>0){A.tool_calls=u.tool_calls;for(const h of u.tool_calls){this.emit({type:"tool:start",call:h});const f=await this.config.tools.execute(h.function.name,h.function.arguments);this.emit({type:"tool:end",call:h,output:f}),this.messages.push({role:"tool",tool_call_id:h.id,content:f.result,name:h.function.name})}continue}break}await((o=this.config.storage)==null?void 0:o.save(this.messages))}catch(s){if((s==null?void 0:s.name)!=="AbortError")this.emit({type:"error",error:(s==null?void 0:s.message)||"请求出错"});else{const l=this.messages[this.messages.length-1];(l==null?void 0:l.role)==="assistant"&&!l.content&&(l.content="(已停止生成)")}}finally{this._loading=!1,this.abortController=null,this.emit({type:"status",loading:!1})}}stop(){var t;(t=this.abortController)==null||t.abort()}buildApiMessages(){const t=this.messages;let i=t.length>0&&t[t.length-1].role==="assistant"&&t[t.length-1].content===""&&!t[t.length-1].tool_calls?t.slice(0,-1):t;const o=this.config.maxHistoryMessages??0;o>0&&i.length>o&&(i=i.slice(i.length-o));const s=this.config.maxContextTokens??0;for(s>0&&(i=Ti(i,s));i.length&&i[0].role==="tool";)i=i.slice(1);return this.config.systemPrompt?[{role:"system",content:this.config.systemPrompt},...i]:[...i]}}class sr{constructor(){L(this,"_definitions",[]);L(this,"_handlers",new Map)}register(t,n){const i=t.function.name,o=this._definitions.findIndex(s=>s.function.name===i);return o!==-1&&this._definitions.splice(o,1),this._definitions.push(t),this._handlers.set(i,n),this}registerBatch(t){for(const n of t)this.register(n.definition,n.handler);return this}getDefinitions(){return[...this._definitions]}async execute(t,n){const i=this._handlers.get(t);if(!i)return{success:!1,result:`未知工具:${t}`};try{const o=n?JSON.parse(n):{};return await i(o)}catch(o){return{success:!1,result:`工具执行异常:${(o==null?void 0:o.message)||String(o)}`}}}}const Se={deepseek:{apiKey:"",baseUrl:"https://api.deepseek.com",model:"deepseek-v4-flash",temperature:0,thinking:!1,thinkingEffort:"low"},openai:{apiKey:"",baseUrl:"https://api.openai.com/v1",model:"gpt-4o-mini",temperature:0,thinking:!1,thinkingEffort:"low"},"openai-compatible":{apiKey:"",baseUrl:"",model:"",temperature:0,thinking:!1,thinkingEffort:"low"}},Nt={providerId:"deepseek",providerMode:"direct",proxyUrl:"http://localhost:3001/api/chat",providers:Se,mdTableClick:!0,mdListClick:!0,apiKey:Se.deepseek.apiKey,baseUrl:Se.deepseek.baseUrl,model:Se.deepseek.model,temperature:Se.deepseek.temperature,thinking:Se.deepseek.thinking,thinkingEffort:Se.deepseek.thinkingEffort};function Mi(e){return{type:"function",function:{name:e.name,description:e.description,parameters:e.parameters}}}const go=Se.deepseek;Se.openai;const Rt=Se["openai-compatible"],It="deepseek",Ln=[{id:"deepseek",name:"DeepSeek",protocol:"openai-compatible",defaultBaseUrl:go.baseUrl,defaultModel:go.model,models:[{label:"deepseek-v4-flash",value:"deepseek-v4-flash"},{label:"deepseek-v4-pro",value:"deepseek-v4-pro"}],apiKeyUrl:"https://platform.deepseek.com/api_keys",capabilities:{thinking:!0,reasoningEffort:!0},buildBody(e,t){var n,i;e.thinking={type:((n=t.thinking)==null?void 0:n.type)==="enabled"?"enabled":"disabled"},((i=t.thinking)==null?void 0:i.type)==="enabled"&&t.thinking.effort&&(e.reasoning_effort=t.thinking.effort)}},{id:"shangshan",name:"上善",protocol:"openai-compatible",defaultBaseUrl:Rt.baseUrl,defaultModel:Rt.model,models:[],allowCustomModel:!0,capabilities:{}},{id:"openai-compatible-custom",name:"自定义(OpenAI 兼容协议)",protocol:"openai-compatible",defaultBaseUrl:Rt.baseUrl,defaultModel:Rt.model,models:[],allowCustomModel:!0,capabilities:{}}],$e=new Map(Ln.map(e=>[e.id,e]));function lr(e){$e.set(e.id,e)}function Ye(e){return e?$e.get(e)??$e.get(It):$e.get(It)}function Jn(){return Array.from($e.values())}function lt(e){const t=Se[e.id];return{apiKey:(t==null?void 0:t.apiKey)??"",baseUrl:e.defaultBaseUrl||(t==null?void 0:t.baseUrl)||"",model:e.defaultModel||(t==null?void 0:t.model)||"",temperature:(t==null?void 0:t.temperature)??0,thinking:(t==null?void 0:t.thinking)??!1,thinkingEffort:(t==null?void 0:t.thinkingEffort)??"low"}}const Ar=["apiKey","baseUrl","model","temperature","thinking","thinkingEffort"];function ar(e){return Ar.some(t=>e[t]!==void 0)}function cr(e){return e.providerId&&$e.has(e.providerId)?e.providerId:It}function ur(e){const t={};for(const n of Ar)e[n]!==void 0&&(t[n]=e[n]);return t}function dr(e){const t=e.providers[e.providerId];return t&&(e.apiKey=t.apiKey,e.baseUrl=t.baseUrl,e.model=t.model,e.temperature=t.temperature,e.thinking=t.thinking,e.thinkingEffort=t.thinkingEffort),e}function at(e){var l,A;const t=e??{},n={};for(const a of Jn())n[a.id]={...lt(a),...((l=t.providers)==null?void 0:l[a.id])??{}};for(const[a,u]of Object.entries(t.providers??{})){if(n[a])continue;const h=$e.get(a);n[a]={...h?lt(h):{...Rt},...u}}const i=cr(t);!((A=t.providers)!=null&&A[i])&&ar(t)&&(n[i]={...n[i]??lt(Ye(i)),...ur(t)});const s={providerId:t.providerId&&$e.has(t.providerId)&&n[t.providerId]?t.providerId:It,providerMode:t.providerMode??Nt.providerMode,proxyUrl:t.proxyUrl??Nt.proxyUrl,providers:n,mdTableClick:t.mdTableClick??Nt.mdTableClick,mdListClick:t.mdListClick??Nt.mdListClick,useTools:t.useTools};return dr(s)}function Wn(e,t){var o;if(!t)return at(e);const n={};for(const[s,l]of Object.entries(e.providers))n[s]={...l};for(const[s,l]of Object.entries(t.providers??{}))n[s]={...n[s]??{},...l};const i=cr(t);return!((o=t.providers)!=null&&o[i])&&ar(t)&&(n[i]={...n[i]??lt(Ye(i)),...ur(t)}),at({...e,...t,providers:n})}const Qi=Ln[0].models;function hr(e){return(e||"").trim().replace(/\/+$/,"")}function Ki(e){const t=hr(e);if(!t)throw new Error("未配置接口地址");return/\/chat\/completions$/.test(t)?t:`${t}/chat/completions`}function fr(e){return hr(e).replace(/\/api\/chat$/,"")}async function Gi(e){var n;let t=`请求失败(HTTP ${e.status})`;try{const i=await e.text();if(!i)return t;try{const o=JSON.parse(i);if((n=o==null?void 0:o.error)!=null&&n.message)return o.error.message;if(typeof(o==null?void 0:o.error)=="string")return o.error;if(o!=null&&o.message)return o.message}catch{return i.slice(0,300)}}catch{}return t}function Vt(e){const{preset:t,mode:n="direct"}=e;return{async streamChat(i){var O,te,q;const{config:{baseUrl:o,apiKey:s,model:l,temperature:A},messages:a,tools:u,signal:h,onContent:f,onReasoning:m}=i;if(n==="direct"&&!s)throw new Error("未配置 API Key");const _=n==="proxy"?`${fr(o)}/api/chat`:Ki(o),d={model:l,messages:a,stream:!0};t.capabilities.temperature!==!1&&typeof A=="number"&&(d.temperature=A),t.capabilities.tools!==!1&&(u!=null&&u.length)&&(d.tools=u,d.tool_choice="auto"),(O=t.buildBody)==null||O.call(t,d,i.config),i.config.extraBody&&Object.assign(d,i.config.extraBody),n==="proxy"&&(d.providerId=i.config.providerId??t.id);const C={"Content-Type":"application/json"};n==="direct"&&Object.assign(C,((te=t.buildHeaders)==null?void 0:te.call(t,s))??{Authorization:`Bearer ${s}`});const g=await fetch(_,{method:"POST",headers:C,body:JSON.stringify(d),signal:h});if(!g.ok||!g.body)throw new Error(await Gi(g));const E=g.body.getReader(),D=new TextDecoder("utf-8");let F="",k="",B="",M="stop";const K=new Map,S=U=>{if(!U)return;const j=U.index??0;K.has(j)||K.set(j,{id:"",type:"function",function:{name:"",arguments:""}});const J=K.get(j);U.id&&(J.id=U.id),U.type&&(J.type=U.type),U.function&&(U.function.name&&(J.function.name+=U.function.name),U.function.arguments&&(J.function.arguments+=U.function.arguments))},I=U=>{var Be;const j=(Be=U==null?void 0:U.choices)==null?void 0:Be[0];if(!j)return;const J=j.delta||{};typeof J.content=="string"&&J.content&&(k+=J.content,f==null||f(J.content));const fe=typeof J.reasoning_content=="string"?J.reasoning_content:typeof J.reasoning=="string"?J.reasoning:"";fe&&(B+=fe,m==null||m(fe)),Array.isArray(J.tool_calls)&&J.tool_calls.forEach(ye=>S(ye)),j.finish_reason&&(M=j.finish_reason)},W=()=>{const U=Array.from(K.values()).filter(j=>j.function.name);return{content:k,reasoning:B,tool_calls:U,finish_reason:M}};for(;;){const{done:U,value:j}=await E.read();if(U)break;F+=D.decode(j,{stream:!0});let J;for(;(J=F.indexOf(`
|
|
2
|
+
`))!==-1;){const fe=F.slice(0,J).replace(/\r$/,"").trim();if(F=F.slice(J+1),!fe||fe.startsWith(":")||!fe.startsWith("data:"))continue;const Be=fe.slice(5).trim();if(Be==="[DONE]")return W();if(!Be)continue;let ye;try{ye=JSON.parse(Be)}catch{continue}if(ye!=null&&ye.error){const et=((q=ye.error)==null?void 0:q.message)||(typeof ye.error=="string"?ye.error:"模型服务返回错误");throw new Error(et)}I(ye)}}return W()}}}function pr(){return{streamChat(e){const t=Ye(e.config.providerId);if(!t)throw new Error("未找到当前模型提供方配置");return Vt({preset:t,mode:"proxy"}).streamChat(e)}}}const mr=new Map;function Wi(e,t){mr.set(e,t)}function gr(e,t){const n=mr.get(e);if(n)return n({id:e,mode:t});const i=Ye(e);if(!i||e&&i.id!==e)throw new Error(`未知模型提供方:${e}`);return t==="proxy"?pr():Vt({preset:i})}function Oi(e){var n,i,o,s,l;const t=[];return(n=e.displayHints)!=null&&n.suggestComponent&&t.push(`展示建议: 使用 ${e.displayHints.suggestComponent} 组件`),(i=e.displayHints)!=null&&i.resultFormat&&t.push(`格式: ${e.displayHints.resultFormat}`),(s=(o=e.displayHints)==null?void 0:o.previewFields)!=null&&s.length&&t.push(`预览字段: ${e.displayHints.previewFields.join(", ")}`),(l=e.displayHints)!=null&&l.summaryTemplate&&t.push(`概要模板: ${e.displayHints.summaryTemplate}`),t.length?t.join(" | "):""}function Cr(e){const t=[`【${e.name}】${e.description}`];for(const n of e.tools){const i=Oi(n);t.push(` - ${n.name}: ${n.description}`),i&&t.push(` ${i}`)}return t.join(`
|
|
3
|
+
`)}function _r(e){const t=["你是一个 AI 助手,可以帮助用户完成各种操作。","","你可以使用以下工具包:",""];for(const n of e)t.push(Cr(n)),t.push("");return t.push("注意:"),t.push("1. 所有回复与思考/推理过程(reasoning / thinking)一律使用中文(禁止使用英文),保持简洁清晰;除非用户明确要求使用其他语言,此时思考与回复也相应使用该语言。"),t.push("2. 当你需要查询或操作数据时,调用对应工具包中的函数。"),t.push("3. 工具函数由宿主系统执行,你只需要传递正确的参数。"),t.push("4. 获取到工具结果后,回复用户并告知结果。"),t.push("5. 如果工具返回了结构化数据(如订单信息、系统状态等),在回复中清晰地展示给用户。"),t.push("6. 根据结果动态建议用户接下来可以做什么。"),t.push("7. 你返回的建议必须是中文,不能是英文或其他语言。"),t.push("8. 你返回的建议中涉及到工具要分条目,每个条目占一行,方便用户点击执行。"),t.push("9. 如果用户上传了文件,文件格式为(.txt、.json、.geojson等格式),你必须调用 open_mapview_file 工具在地图上展示,不要只回复文字。"),t.push(""),t.push("--- 文件上传规则 ---"),t.push("用户可能上传文件,文件以如下格式出现在消息中:"),t.push("已上传文件:"),t.push("1. **文件名**(类型,大小KB),文件ID:`fileId`"),t.push("你无法查看文件内容,只能看到文件名和类型。"),t.push("你必须根据文件名、扩展名和用户的文字指令,调用对应的工具来处理文件。"),t.push("如果某个工具需要处理该文件,在工具参数中传入 fileId。"),t.push('不要回复假性成功消息(如"已在地图上显示"),如果不调用工具,文件不会被实际处理。'),t.push("不要编造文件内容,不要假装你看到了文件数据。"),t.join(`
|
|
4
|
+
`)}const Yi=`--- 重复指令处理规则 ---
|
|
6
5
|
如果用户再次发送相同或类似的指令(即使之前已经执行过),必须重新调用对应的工具再次执行。
|
|
7
|
-
不得以"已经执行过""之前做过"等理由拒绝,也不能用历史中的工具结果代替重新执行。`;function
|
|
6
|
+
不得以"已经执行过""之前做过"等理由拒绝,也不能用历史中的工具结果代替重新执行。`;function Hi(e){const t=String(e).replace(/\s+/g,"");if(!t||!/^[\d+\-*/%().]+$/.test(t))throw new Error("表达式含非法字符");return Ui(t)}function Ui(e){let t=0;function n(){return e[t]??""}function i(u){return e[t]===u?(t++,!0):!1}function o(){const u=t;for(;/[\d.]/.test(n());)t++;const h=e.slice(u,t);if(!h)throw new Error("预期数字");const f=Number(h);if(Number.isNaN(f))throw new Error("无效数字");return f}function s(){if(i("-"))return-s();if(i("+"))return s();if(i("(")){const u=A();if(!i(")"))throw new Error("括号不匹配");return u}return o()}function l(){let u=s();for(;;)if(i("*"))u*=s();else if(i("/"))u/=s();else if(i("%"))u=(u%s()+s())%s();else break;return u}function A(){let u=l();for(;;)if(i("+"))u+=l();else if(i("-"))u-=l();else break;return u}const a=A();if(t!==e.length)throw new Error("无法解析的表达式");return a}const Mt={id:"__builtin",name:"内置工具",description:"开箱即用的通用工具(时间、计算、UUID、客户端信息)",tools:[{name:"get_current_time",description:"获取用户当前的时间、日期、时区与星期",parameters:{type:"object",properties:{}},displayHints:{resultFormat:"card"}},{name:"calculate_expression",description:"安全计算数学表达式(支持 + - * / % 和括号)",parameters:{type:"object",properties:{expression:{type:"string",description:"数学表达式,如 (1+2)*3"}},required:["expression"]},displayHints:{resultFormat:"text"}},{name:"generate_uuid",description:"生成一个 UUID v4 随机标识符",parameters:{type:"object",properties:{}},displayHints:{resultFormat:"text"}},{name:"get_client_info",description:"获取用户浏览器的基本信息(UA、平台、语言、屏幕尺寸)",parameters:{type:"object",properties:{}},displayHints:{resultFormat:"card"}}]};function Vi(){return{get_current_time:()=>{const e=new Date;return{time:e.toLocaleTimeString(),date:e.toLocaleDateString(),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,weekday:e.toLocaleDateString("zh-CN",{weekday:"long"})}},calculate_expression:e=>{if(!(e!=null&&e.expression))throw new Error("缺少 expression 参数");const t=Hi(String(e.expression));return{expression:e.expression,result:t}},generate_uuid:()=>{let e=[];const t="0123456789abcdef";for(let n=0;n<36;n++)e[n]=t.charAt(Math.floor(Math.random()*16));return e[14]="4",e[19]=t.charAt(parseInt(e[19],16)&3|8),e[8]=e[13]=e[18]=e[23]="-",{uuid:e.join("")}},get_client_info:()=>{var e;return{userAgent:navigator.userAgent,platform:navigator.platform,language:navigator.language,languages:(e=navigator.languages)==null?void 0:e.join(", "),screen:`${window.screen.width}×${window.screen.height}`}}}}const Li=Vi();function kr(e,t){const n=Li[e];if(!n)throw new Error(`未知内置工具:${e}`);return n(t)}function Ji(e,t,n){var s;let i=null;if(e.type==="auto"&&(e={...e,type:Zn(e.data)}),e.type==="component"&&e.componentName){let l;e.packageId&&(l=t.find(A=>A.id===e.packageId)),!l&&n&&(l=t.find(A=>A.id===n)),(s=l==null?void 0:l.components)!=null&&s[e.componentName]&&(i=l.components[e.componentName])}const o=Zi(e);return{component:i,block:e,fallbackText:o}}function Zn(e){const t=Lt(e);return t&&t.length===1?"none":"table"}function Zi(e){switch(e.type){case"table":return Pi(e);case"card":return zi(e);case"list":return ji(e);case"none":return"";default:return JSON.stringify(e.data,null,2)}}function Lt(e){return e==null?null:Array.isArray(e)?e:typeof e!="object"?null:Array.isArray(e.data)?e.data:Array.isArray(e.list)?e.list:Array.isArray(e.items)?e.items:[e]}function Pi(e){const t=Lt(e.data);if(!(t!=null&&t.length))return"(无数据)";const n=e.title?`**${e.title}**
|
|
8
7
|
|
|
9
8
|
`:"",i=Object.keys(t[0]),o=`| ${i.join(" | ")} |`,s=`| ${i.map(()=>"---").join(" | ")} |`,l=t.map(A=>`| ${i.map(a=>String(A[a]??"")).join(" | ")} |`).join(`
|
|
10
9
|
`);return`${n}${o}
|
|
11
10
|
${s}
|
|
12
|
-
${l}`}function
|
|
11
|
+
${l}`}function zi(e){const t=Lt(e.data);if(!(t!=null&&t.length))return"(无数据)";const n=e.title?`**${e.title}**
|
|
13
12
|
|
|
14
13
|
`:"",i=t.map(o=>(e.fields&&e.fields.length?e.fields.filter(A=>A in o):Object.keys(o)).map(A=>`- **${A}**: ${o[A]??""}`).join(`
|
|
15
14
|
`)).join(`
|
|
16
15
|
|
|
17
16
|
---
|
|
18
17
|
|
|
19
|
-
`);return`${n}${i}`}function
|
|
18
|
+
`);return`${n}${i}`}function ji(e){const t=Lt(e.data);if(!(t!=null&&t.length))return"(无数据)";const n=e.title?`**${e.title}**
|
|
20
19
|
|
|
21
20
|
`:"",i=t.map(o=>`- ${typeof o=="string"?o:Object.values(o).join(" - ")}`).join(`
|
|
22
|
-
`);return`${n}${i}`}class
|
|
21
|
+
`);return`${n}${i}`}class Pn{constructor(){L(this,"exactHandlers",new Map);L(this,"regexHandlers",[]);L(this,"isChatOpen",()=>!0)}setChatOpenGetter(t){this.isChatOpen=t}on(t,n){return typeof t=="string"?(this.exactHandlers.has(t)||this.exactHandlers.set(t,new Set),this.exactHandlers.get(t).add(n),()=>this.off(t,n)):(this.regexHandlers.push({pattern:t,handler:n}),()=>this.off(t,n))}off(t,n){var i;if(typeof t=="string"){(i=this.exactHandlers.get(t))==null||i.delete(n);return}this.regexHandlers=this.regexHandlers.filter(o=>o.pattern!==t||o.handler!==n)}dispatch(t,n=!1){var i;if(!(n&&!this.isChatOpen())){(i=this.exactHandlers.get(t.type))==null||i.forEach(o=>o(t));for(const{pattern:o,handler:s}of this.regexHandlers)o.test(t.type)&&s(t)}}clear(){this.exactHandlers.clear(),this.regexHandlers=[]}}function Xi(){return new Pn}let yn=null;function ln(){return yn||(yn=new Pn),yn}const Er="agent:page-action";let Co=0,Qt=null,zn=ln(),In=null;function yr(e){In&&In(),In=zn.on(Er,t=>{e.pendingAction.value=t.payload})}function Ir(){const e=r.ref(null),t={pendingAction:e,dispatch(n){Co++,zn.dispatch({type:Er,timestamp:Date.now(),payload:{...n,actionId:Co}})},consume(){e.value=null}};return yr(t),t}function br(){return Qt||(Qt=Ir()),Qt}function Dr(e){zn=e||ln(),Qt&&yr(Qt)}function $i(e){const t=e.bridge||br();function n(o){const s=o.actionName&&e.handlers[o.actionName]||e.handlers["*"];s&&s(o)}function i(){const o=t.pendingAction.value;!o||o.page!==e.page||(t.consume(),r.nextTick(()=>n(o)))}r.onMounted(()=>{i()}),r.watch(()=>{var o;return(o=t.pendingAction.value)==null?void 0:o.actionId},o=>{o&&i()})}class qi{constructor(t,n){L(this,"bus");L(this,"rules");L(this,"cooldowns",new Map);L(this,"unsubscribers",[]);this.bus=t,this.rules=n}start(t){for(const n of this.rules){const i=this.bus.on(n.event,o=>{if(this.isOnCooldown(n)||(this.setCooldown(n),n.autoPopup&&t.onAutoPopup(),n.action==="silent"))return;const s=this.buildPrompt(n,o);s&&t.onRespond(s)});this.unsubscribers.push(i)}}stop(){for(const t of this.unsubscribers)t();this.unsubscribers=[],this.cooldowns.clear()}getBus(){return this.bus}isOnCooldown(t){if(!t.cooldown)return!1;const n=typeof t.event=="string"?t.event:t.event.source,i=this.cooldowns.get(n);return i?Date.now()<i:!1}setCooldown(t){if(!t.cooldown)return;const n=typeof t.event=="string"?t.event:t.event.source;this.cooldowns.set(n,Date.now()+t.cooldown)}buildPrompt(t,n){return t.prompt?t.prompt.replace(/\{\{payload\.([^}]+)\}\}/g,(i,o)=>{const s=n.payload[o];return s!==void 0?String(s):`{{payload.${o}}}`}):""}}function bn(){return`m_${Date.now()}_${Math.random().toString(36).slice(2,8)}`}function es(){let e=[],t="0123456789abcdef";for(let i=0;i<36;i++)e[i]=t.substr(Math.floor(Math.random()*16),1);return e[14]="4",e[19]=t.substr(e[19]&3|8,1),e[8]=e[13]=e[18]=e[23]="-",e.join("")}const _o="agent_chat_device_id";function en(){let e=localStorage.getItem(_o);return e||(e=es(),localStorage.setItem(_o,e)),e}function Dn(e){return fr(e)}function Bn(e){const t=[];for(const n of e)if(n.role==="user")t.push({role:"user",content:n.content});else if(n.role==="assistant"&&(t.push({role:"assistant",content:n.content,tool_calls:n.tool_calls}),n.toolResults))for(const i of n.toolResults)t.push({role:"tool",tool_call_id:i.callId,content:i.result,name:i.name});return t}function Br(e){return e===!0?Mt:Array.isArray(e)&&e.length?{...Mt,tools:Mt.tools.filter(t=>e.includes(t.name))}:null}function ts(e,t){const n=Br(t);return!n||!n.tools.length?e:[n,...e]}function wr(e){var Re,Y,N;const{toolPackages:t,onToolCall:n=async()=>({success:!0}),provider:i,providerConfig:o,systemPrompt:s,storagePrefix:l="agent_chat_",sendFileToLLM:A=!1,suggestedCommands:a=[],builtInTools:u=!0,providerPresets:h=[],maxContextTokens:f=48e3,maxHistoryMessages:m=60}=e;for(const y of h)lr(y);const _=ts(t,u),d={messages:`${l}messages`,settings:`${l}settings`},C=r.ref([]),g=r.ref(at(e.settings)),E=r.ref(!1),D=r.ref(""),F=new Map,k=r.ref(!1);let B=null;const M=((Re=e.businessEvents)==null?void 0:Re.bus)||ln();M.setChatOpenGetter(()=>k.value),(Y=e.businessEvents)!=null&&Y.bus&&Dr(e.businessEvents.bus),(N=e.businessEvents)!=null&&N.rules.length&&(B=new qi(M,e.businessEvents.rules),B.start({onAutoPopup:()=>{k.value=!0},onRespond:y=>{var x;D.value="",!(!((x=I())!=null&&x.apiKey)&&g.value.providerMode!=="proxy")&&ht(y)}})),r.onUnmounted(()=>{B==null||B.stop(),ct()});const K=new sr;for(const y of _){const x=y.id==="__builtin";for(const R of y.tools){const w=Mi(R);K.register(w,async H=>{if(x)return await Be(R,H);const z={packageId:y.id,toolName:R.name,args:H};return await fe(z,y,R)})}}const S=i||{streamChat(y){return gr(g.value.providerId,g.value.providerMode).streamChat(y)}};function I(){return g.value.providers[g.value.providerId]??g.value.providers[It]}function W(){const y=I(),x={...o},R=y.thinking?{type:"enabled",effort:y.thinkingEffort??"low"}:{type:"disabled"},w={...x,providerId:g.value.providerId,mode:g.value.providerMode,model:y.model,temperature:y.temperature,thinking:R};return g.value.providerMode==="proxy"?{...w,baseUrl:g.value.proxyUrl,apiKey:""}:{...w,baseUrl:y.baseUrl,apiKey:y.apiKey}}const O=Br(u);let te=s?O!=null&&O.tools.length?`${s}
|
|
23
22
|
|
|
24
|
-
${
|
|
23
|
+
${Cr(O)}`:s:_r(_);te=`${te}
|
|
25
24
|
|
|
26
|
-
${
|
|
27
|
-
${
|
|
28
|
-
${
|
|
25
|
+
${Yi}`;const q=new ir({provider:S,providerConfig:W(),tools:K,systemPrompt:te,maxContextTokens:f,maxHistoryMessages:m});let U=[],j=!1;const J=[];async function fe(y,x,R){const w={toolCallId:`${Date.now()}_${Math.random().toString(36).slice(2,6)}`,packageId:y.packageId,toolName:y.toolName,args:y.args};try{const H=await n(w);U.push({pkg:x,toolDef:R,data:H,args:y.args});const z=R.displayHints;return j=(z==null?void 0:z.showModelContent)===!1&&(!!z.suggestComponent||["table","card","list"].includes(z.resultFormat)),{success:!0,result:typeof H=="string"?H:JSON.stringify(H)}}catch(H){return{success:!1,result:(H==null?void 0:H.message)||"工具执行失败"}}}async function Be(y,x){try{const R=await kr(y.name,x);U.push({pkg:Mt,toolDef:y,data:R,args:x});const w=y.displayHints;return j=(w==null?void 0:w.showModelContent)===!1&&(!!w.suggestComponent||["table","card","list"].includes(w.resultFormat)),{success:!0,result:typeof R=="string"?R:JSON.stringify(R)}}catch(R){return{success:!1,result:(R==null?void 0:R.message)||"内置工具执行失败"}}}function ye(){var w,H;const y=C.value[C.value.length-1];if(!y||y.role!=="assistant"){U=[];return}const x=[];let R=!1;for(const{pkg:z,toolDef:X,data:ne,args:le}of U){const oe=X.displayHints;if(oe){if(oe.suggestComponent){let _e=ne;if(oe.resultFormat==="map"){if((w=ne==null?void 0:ne.data)!=null&&w.fileId){const de=F.get(ne.data.fileId);de&&(_e=de.name.endsWith(".geojson")||de.name.endsWith(".json")?{data:{id:ne.data.fileId,wkt:"",geojson:de.data}}:{data:{id:ne.data.fileId,wkt:de.data,geojson:""}})}else if((H=ne==null?void 0:ne.data)!=null&&H.fileIds){const de=ne.data.fileIds.map(pe=>F.get(pe));if(de.filter(pe=>!pe).length)continue;const Me=[];de.forEach(pe=>{pe.name.endsWith(".geojson")||pe.name.endsWith(".json")?Me.push({id:pe.id,data:pe.data,type:"geojson"}):pe.name.endsWith(".txt")?Me.push({id:pe.id,data:pe.data,type:"wkt"}):pe.name.endsWith(".tif")?Me.push({id:pe.id,data:pe,type:"tif"}):Me.push({id:pe.id,data:pe.data,type:"unknown"})}),_e={...ne,data:Me}}}x.push({type:"component",packageId:z.id,componentName:oe.suggestComponent,data:_e})}else if(oe.resultFormat==="table"||oe.resultFormat==="card"||oe.resultFormat==="list"||oe.resultFormat==="auto"){const _e=Lt(ne);if(_e!=null&&_e.length){const de=oe.resultFormat==="auto"?Zn(ne):oe.resultFormat;if(de==="none")continue;x.push({type:de,title:$(oe.summaryTemplate,le),data:_e,fields:oe.previewFields,labelField:oe.labelField,selectable:oe.selectable})}}if(oe.showModelContent===!1&&(oe.suggestComponent||["table","card","list","auto"].includes(oe.resultFormat))&&(R=!0),oe.suggestedNext)if(oe.suggestedNextEvent){const _e=oe.suggestedNextEvent,de=M.on(_e,()=>et(_e));J.push({event:_e,text:oe.suggestedNext,unsub:de})}else y.suggestedNext=oe.suggestedNext}}R&&!x.length&&(R=!1),y.renderBlocks=x,y.hideMarkdown=R,U=[]}function et(y){const x=J.findIndex(w=>w.event===y);if(x===-1)return;const R=J[x];R.unsub(),J.splice(x,1);for(let w=C.value.length-1;w>=0;w--){const H=C.value[w];if(H.role==="assistant"){H.suggestedNext=R.text;break}}}function ct(){for(const y of J)y.unsub();J.length=0}function $(y,x){if(y)return y.replace(/\{(\w+)\}/g,(R,w)=>x[w]!==void 0?String(x[w]):R)}const ue=new Map;q.on(y=>{var x,R;switch(y.type){case"message":{if(y.message.role==="tool")break;const w={id:bn(),role:y.message.role,content:y.message.content,reasoning:"",status:y.message.role==="assistant"?"streaming":"done",timestamp:Date.now(),tool_calls:y.message.tool_calls};y.message.role==="assistant"&&j&&(w.hideMarkdown=!0,j=!1),C.value.push(w);break}case"stream:delta":{const w=C.value[C.value.length-1];(w==null?void 0:w.role)==="assistant"&&w.status==="streaming"&&(y.delta.content&&(w.content+=y.delta.content),y.delta.reasoning&&(w.reasoning=(w.reasoning||"")+y.delta.reasoning));break}case"stream:end":{const w=C.value[C.value.length-1];(w==null?void 0:w.role)==="assistant"&&(w.content=y.content,y.reasoning&&(w.reasoning=y.reasoning),w.status==="streaming"&&(w.status="done"));break}case"tool:start":{const w=C.value[C.value.length-1];if(!w||w.role!=="assistant")break;w.tool_calls||(w.tool_calls=[]),w.toolResults||(w.toolResults=[]);const H=w.toolResults.length;w.toolResults.push({callId:y.call.id,name:y.call.function.name,arguments:y.call.function.arguments,result:"",success:!1,status:"running"}),ue.set(y.call.id,{msgIndex:C.value.length-1,toolIndex:H}),w.tool_calls.find(z=>z.id===y.call.id)||w.tool_calls.push({id:y.call.id,type:"function",function:{name:y.call.function.name,arguments:y.call.function.arguments}});break}case"tool:end":{const w=ue.get(y.call.id);if(!w)break;const H=(R=(x=C.value[w.msgIndex])==null?void 0:x.toolResults)==null?void 0:R[w.toolIndex];H&&(H.result=y.output.result,H.success=y.output.success,H.status=y.output.success?"success":"error"),ue.delete(y.call.id);break}case"error":{D.value=y.error;const w=C.value[C.value.length-1];(w==null?void 0:w.role)==="assistant"&&(w.status="error",w.error=y.error);break}case"status":{if(E.value=y.loading,!y.loading){let w=null;for(const H of C.value)H.role==="assistant"&&H.status==="streaming"&&(H.status="done",!H.content&&!w&&(w=H));w&&(w.content="(已停止生成)"),ye()}break}}});function ve(){const y=at(e.settings);let x=null;try{const R=localStorage.getItem(d.settings);R&&(x=JSON.parse(R))}catch{x=null}g.value=x?Wn(y,x):y,q.updateProviderConfig(W())}function Ne(y){for(const x of y)if(x.files)for(const R of x.files)R.id&&F.set(R.id,R)}async function tt(){if(g.value.providerMode==="proxy"){try{const y=Dn(g.value.proxyUrl);if(!y)return;const x=await fetch(`${y}/api/messages?device_id=${encodeURIComponent(en())}`,{method:"GET"});if(!x.ok)return;const R=await x.json(),w=R==null?void 0:R.messages;Array.isArray(w)&&(C.value=w,Ne(w),q.initialize(Bn(w)))}catch{}return}try{const y=localStorage.getItem(d.messages);if(y){const x=JSON.parse(y);Array.isArray(x)&&(C.value=x,Ne(x),q.initialize(Bn(x)))}}catch{}}function ut(y){g.value=Wn(g.value,y),localStorage.setItem(d.settings,JSON.stringify(g.value)),q.updateProviderConfig(W())}async function Ve(){if(g.value.providerMode==="proxy"){try{const y=Dn(g.value.proxyUrl);if(!y)return;await fetch(`${y}/api/messages`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({device_id:en(),messages:C.value})})}catch{}return}try{localStorage.setItem(d.messages,JSON.stringify(C.value))}catch{}}function dt(y){return y.startsWith("data:")}async function ht(y,x){const R=y.trim();if(!R&&(!x||x.length===0))return;D.value="";const w=I();if(g.value.providerMode==="direct"&&!(w!=null&&w.apiKey)){const z=Ye(g.value.providerId);D.value=`请先配置 ${(z==null?void 0:z.name)??"当前模型提供方"} 的 API Key。`;return}if(q.updateProviderConfig(W()),U=[],ue.clear(),x&&x.length>0){for(const X of x)X.id=bn(),F.set(X.id,{...X});const z={id:bn(),role:"user",content:R,status:"done",timestamp:Date.now(),files:x};C.value.push(z),q.initialize(Bn(C.value))}let H=R;x&&x.length>0&&(A?H=`已上传文件:
|
|
26
|
+
${x.map((X,ne)=>{const le=`${ne+1}. **${X.name}**(${X.type},${(X.size/1024).toFixed(1)}KB),文件ID:\`${X.id}\``;return dt(X.data)?`${le}
|
|
27
|
+
${X.data}`:`${le}
|
|
29
28
|
\`\`\`
|
|
30
|
-
${
|
|
29
|
+
${X.data}
|
|
31
30
|
\`\`\``}).join(`
|
|
32
31
|
|
|
33
|
-
`)}`+(
|
|
32
|
+
`)}`+(R?`
|
|
34
33
|
|
|
35
|
-
${
|
|
36
|
-
${
|
|
37
|
-
`)}`+(
|
|
34
|
+
${R}`:""):H=`已上传文件:
|
|
35
|
+
${x.map((X,ne)=>`${ne+1}. **${X.name}**(${X.type},${(X.size/1024).toFixed(1)}KB),文件ID:\`${X.id}\``).join(`
|
|
36
|
+
`)}`+(R?`
|
|
38
37
|
|
|
39
|
-
${G}`:"")),await z.sendMessage(F)}function je(){z.stop()}async function X(){if(ne(),z.clear(),h.value=[],g.value="",$=[],nt(),B.clear(),k.value.providerMode==="proxy")try{const E=gn(k.value.proxyUrl);E&&await fetch(`${E}/api/messages?device_id=${encodeURIComponent(Lt())}`,{method:"DELETE"})}catch{}else localStorage.removeItem(m.messages)}const Oe=r.computed(()=>k.value.providerMode==="proxy"||!!k.value.apiKey);r.onMounted(()=>{Be(),ze()});let Z=null;function Xe(){Z&&clearTimeout(Z),Z=setTimeout(()=>{Z=null,Ye()},400)}function ne(){Z&&(clearTimeout(Z),Z=null)}return r.watch(h,()=>Xe(),{deep:!0}),{messages:h,settings:k,loading:D,errorMsg:g,hasApiKey:Oe,toolPackages:t,fileStore:B,visible:x,eventBus:y,deviceId:Lt(),sendMessage:it,stopGeneration:je,clearMessages:X,saveSettings:ot,suggestedCommands:a}}function lo(e={}){const t=e.threshold??4,n=r.ref(null),i=r.ref(!1);let o=0,s=0,l=0,A=0,a=0,u=0,d=!1;function f(k){var K;const D=k.clientX-o,g=k.clientY-s;if(!d&&Math.hypot(D,g)>t&&(d=!0,i.value=!0,(K=e.onDragStart)==null||K.call(e)),!d)return;const B=Math.max(window.innerWidth-a,0),x=Math.max(window.innerHeight-u,0),C=Math.min(Math.max(l+D,0),B),y=Math.min(Math.max(A+g,0),x);n.value={x:C,y}}function _(){var k;window.removeEventListener("pointermove",f),window.removeEventListener("pointerup",_),window.removeEventListener("pointercancel",_),document.body.style.userSelect="",d&&((k=e.onDragMove)==null||k.call(e)),i.value=!1}function m(k,D){var B;if(k.button!==0||(B=e.disabled)!=null&&B.call(e))return;const g=D.getBoundingClientRect();l=g.left,A=g.top,a=g.width,u=g.height,o=k.clientX,s=k.clientY,d=!1,window.addEventListener("pointermove",f),window.addEventListener("pointerup",_),window.addEventListener("pointercancel",_),document.body.style.userSelect="none"}function h(){const k=d;return d=!1,k}return{pos:n,dragging:i,startDrag:m,consumeMoved:h}}/*! Element Plus Icons Vue v2.3.2 */var Ni=r.defineComponent({name:"Bottom",__name:"bottom",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M544 805.888V168a32 32 0 1 0-64 0v637.888L246.656 557.952a30.72 30.72 0 0 0-45.312 0 35.52 35.52 0 0 0 0 48.064l288 306.048a30.72 30.72 0 0 0 45.312 0l288-306.048a35.52 35.52 0 0 0 0-48 30.72 30.72 0 0 0-45.312 0L544 805.824z"})]))}}),Ri=Ni,Ti=r.defineComponent({name:"ChatDotRound",__name:"chat-dot-round",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"m174.72 855.68 135.296-45.12 23.68 11.84C388.096 849.536 448.576 864 512 864c211.84 0 384-166.784 384-352S723.84 160 512 160 128 326.784 128 512c0 69.12 24.96 139.264 70.848 199.232l22.08 28.8-46.272 115.584zm-45.248 82.56A32 32 0 0 1 89.6 896l58.368-145.92C94.72 680.32 64 596.864 64 512 64 299.904 256 96 512 96s448 203.904 448 416-192 416-448 416a461.06 461.06 0 0 1-206.912-48.384l-175.616 58.56z"}),r.createElementVNode("path",{fill:"currentColor",d:"M512 563.2a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4m192 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4m-384 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4"})]))}}),Qi=Ti,Mi=r.defineComponent({name:"Close",__name:"close",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"})]))}}),Ki=Mi,Gi=r.defineComponent({name:"CopyDocument",__name:"copy-document",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M768 832a128 128 0 0 1-128 128H192A128 128 0 0 1 64 832V384a128 128 0 0 1 128-128v64a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64z"}),r.createElementVNode("path",{fill:"currentColor",d:"M384 128a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64V192a64 64 0 0 0-64-64zm0-64h448a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H384a128 128 0 0 1-128-128V192A128 128 0 0 1 384 64"})]))}}),Wi=Gi,Yi=r.defineComponent({name:"Cpu",__name:"cpu",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M320 256a64 64 0 0 0-64 64v384a64 64 0 0 0 64 64h384a64 64 0 0 0 64-64V320a64 64 0 0 0-64-64zm0-64h384a128 128 0 0 1 128 128v384a128 128 0 0 1-128 128H320a128 128 0 0 1-128-128V320a128 128 0 0 1 128-128"}),r.createElementVNode("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m160 0a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m-320 0a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m160 896a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32m160 0a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32m-320 0a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32M64 512a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m0-160a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m0 320a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m896-160a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32m0-160a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32m0 320a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32"})]))}}),Oi=Yi,Hi=r.defineComponent({name:"Delete",__name:"delete",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M160 256H96a32 32 0 0 1 0-64h256V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64h-64v672a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32zm448-64v-64H416v64zM224 896h576V256H224zm192-128a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32m192 0a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32"})]))}}),Vi=Hi,Ui=r.defineComponent({name:"Document",__name:"document",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640zm-26.496-64L640 154.496V320zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h160v64H320zm0 384h384v64H320z"})]))}}),lr=Ui,Li=r.defineComponent({name:"FullScreen",__name:"full-screen",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"m160 96.064 192 .192a32 32 0 0 1 0 64l-192-.192V352a32 32 0 0 1-64 0V96h64zm0 831.872V928H96V672a32 32 0 1 1 64 0v191.936l192-.192a32 32 0 1 1 0 64zM864 96.064V96h64v256a32 32 0 1 1-64 0V160.064l-192 .192a32 32 0 1 1 0-64zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64z"})]))}}),Ji=Li,Zi=r.defineComponent({name:"Paperclip",__name:"paperclip",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M602.496 240.448A192 192 0 1 1 874.048 512l-316.8 316.8A256 256 0 0 1 195.2 466.752L602.496 59.456l45.248 45.248L240.448 512A192 192 0 0 0 512 783.552l316.8-316.8a128 128 0 1 0-181.056-181.056L353.6 579.904a32 32 0 1 0 45.248 45.248l294.144-294.144 45.312 45.248L444.096 670.4a96 96 0 1 1-135.744-135.744z"})]))}}),Pi=Zi,zi=r.defineComponent({name:"Picture",__name:"picture",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M160 160v704h704V160zm-32-64h768a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H128a32 32 0 0 1-32-32V128a32 32 0 0 1 32-32"}),r.createElementVNode("path",{fill:"currentColor",d:"M384 288q64 0 64 64t-64 64-64-64 64-64M185.408 876.992l-50.816-38.912L350.72 556.032a96 96 0 0 1 134.592-17.856l1.856 1.472 122.88 99.136a32 32 0 0 0 44.992-4.864l216-269.888 49.92 39.936-215.808 269.824-.256.32a96 96 0 0 1-135.04 14.464l-122.88-99.072-.64-.512a32 32 0 0 0-44.8 5.952z"})]))}}),ji=zi,Xi=r.defineComponent({name:"Position",__name:"position",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"m249.6 417.088 319.744 43.072 39.168 310.272L845.12 178.88zm-129.024 47.168a32 32 0 0 1-7.68-61.44l777.792-311.04a32 32 0 0 1 41.6 41.6l-310.336 775.68a32 32 0 0 1-61.44-7.808L512 516.992z"})]))}}),$i=Xi,qi=r.defineComponent({name:"Promotion",__name:"promotion",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"m64 448 832-320-128 704-446.08-243.328L832 192 242.816 545.472zm256 512V657.024L512 768z"})]))}}),es=qi,ts=r.defineComponent({name:"Setting",__name:"setting",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M600.704 64a32 32 0 0 1 30.464 22.208l35.2 109.376c14.784 7.232 28.928 15.36 42.432 24.512l112.384-24.192a32 32 0 0 1 34.432 15.36L944.32 364.8a32 32 0 0 1-4.032 37.504l-77.12 85.12a357 357 0 0 1 0 49.024l77.12 85.248a32 32 0 0 1 4.032 37.504l-88.704 153.6a32 32 0 0 1-34.432 15.296L708.8 803.904c-13.44 9.088-27.648 17.28-42.368 24.512l-35.264 109.376A32 32 0 0 1 600.704 960H423.296a32 32 0 0 1-30.464-22.208L357.696 828.48a352 352 0 0 1-42.56-24.64l-112.32 24.256a32 32 0 0 1-34.432-15.36L79.68 659.2a32 32 0 0 1 4.032-37.504l77.12-85.248a357 357 0 0 1 0-48.896l-77.12-85.248A32 32 0 0 1 79.68 364.8l88.704-153.6a32 32 0 0 1 34.432-15.296l112.32 24.256c13.568-9.152 27.776-17.408 42.56-24.64l35.2-109.312A32 32 0 0 1 423.232 64H600.64zm-23.424 64H446.72l-36.352 113.088-24.512 11.968a294 294 0 0 0-34.816 20.096l-22.656 15.36-116.224-25.088-65.28 113.152 79.68 88.192-1.92 27.136a293 293 0 0 0 0 40.192l1.92 27.136-79.808 88.192 65.344 113.152 116.224-25.024 22.656 15.296a294 294 0 0 0 34.816 20.096l24.512 11.968L446.72 896h130.688l36.48-113.152 24.448-11.904a288 288 0 0 0 34.752-20.096l22.592-15.296 116.288 25.024 65.28-113.152-79.744-88.192 1.92-27.136a293 293 0 0 0 0-40.256l-1.92-27.136 79.808-88.128-65.344-113.152-116.288 24.96-22.592-15.232a288 288 0 0 0-34.752-20.096l-24.448-11.904L577.344 128zM512 320a192 192 0 1 1 0 384 192 192 0 0 1 0-384m0 64a128 128 0 1 0 0 256 128 128 0 0 0 0-256"})]))}}),Ao=ts,ns=r.defineComponent({name:"Top",__name:"top",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M572.235 205.282v600.365a30.118 30.118 0 1 1-60.235 0V205.282L292.382 438.633a28.913 28.913 0 0 1-42.646 0 33.43 33.43 0 0 1 0-45.236l271.058-288.045a28.913 28.913 0 0 1 42.647 0L834.5 393.397a33.43 33.43 0 0 1 0 45.176 28.913 28.913 0 0 1-42.647 0l-219.618-233.23z"})]))}}),os=ns,rs=r.defineComponent({name:"UserFilled",__name:"user-filled",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M288 320a224 224 0 1 0 448 0 224 224 0 1 0-448 0m544 608H160a32 32 0 0 1-32-32v-96a160 160 0 0 1 160-160h448a160 160 0 0 1 160 160v96a32 32 0 0 1-32 32z"})]))}}),is=rs,ss=r.defineComponent({name:"VideoPause",__name:"video-pause",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m-96-544q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32m192 0q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32"})]))}}),ls=ss,As=r.defineComponent({name:"View",__name:"view",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352m0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288m0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448m0 64a160.19 160.19 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160"})]))}}),as=As;const cs={key:0,class:"render-block"},us={key:0,class:"render-block__title"},hs={key:2,class:"render-block__cards"},ds={class:"card-item"},fs={class:"card-label"},ps={class:"card-value"},ms={key:3,class:"render-block__table"},gs={key:4,class:"render-block__cards"},Cs={class:"card-label"},_s={class:"card-value"},ks={key:5,class:"render-block__list"},ys=400,Es=320,bs=80,Ds=r.defineComponent({__name:"RenderBlock",props:{block:{},resolvedComponent:{}},emits:["select"],setup(e,{emit:t}){const n=e,i=t,o=r.computed(()=>n.block.type==="auto"?Mn(n.block.data):n.block.type);function s(h){const k=n.block.fields;return k&&k.length?k.filter(D=>h!=null&&D in h):Object.keys(h??{})}const l=r.computed(()=>n.block.data||{}),A=r.computed(()=>n.block.selectable&&a.value.length>1),a=r.computed(()=>Array.isArray(l.value)?l.value:l.value.list?Array.isArray(l.value.list)?l.value.list:[]:l.value.items?Array.isArray(l.value.items)?l.value.items:[]:[l.value]),u=r.computed(()=>{var h;return a.value.length?(h=n.block.fields)!=null&&h.length?n.block.fields:Object.keys(a.value[0]):[]});function d(h){if(h==null)return 0;let k=0;for(const D of String(h))k+=/^[\u2E80-\u9FFF\uF900-\uFAFF\uFF00-\uFFEF]/.test(D)?14:8;return k}const f=r.computed(()=>{const h={};for(const k of u.value){let D=d(k);for(const g of a.value){const B=g!=null?g[k]:void 0;B!=null&&(D=Math.max(D,d(String(B))))}h[k]=Math.min(Es,Math.max(bs,D+32))}return h});function _(h){return typeof h=="string"?h:Object.values(h).join(" - ")}function m(h){var D;const k=(n.block.labelField&&(h==null?void 0:h[n.block.labelField])!=null?h[n.block.labelField]:(D=n.block.fields)!=null&&D.length?h==null?void 0:h[n.block.fields[0]]:(h==null?void 0:h.name)??(h==null?void 0:h.title)??(h==null?void 0:h.id)??Object.values(h??{})[0])??"";i("select",`我选择 ${k}`)}return(h,k)=>{const D=r.resolveComponent("el-button");return o.value!=="none"?(r.openBlock(),r.createElementBlock("div",cs,[e.block.title?(r.openBlock(),r.createElementBlock("div",us,r.toDisplayString(e.block.title),1)):r.createCommentVNode("",!0),e.resolvedComponent?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(e.resolvedComponent),{key:1,class:"render-block__component",data:e.block.data},null,8,["data"])):o.value==="component"?(r.openBlock(),r.createElementBlock("div",hs,[r.createElementVNode("div",ds,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(s(a.value[0]),g=>(r.openBlock(),r.createElementBlock("div",{key:g,class:"card-field"},[r.createElementVNode("span",fs,r.toDisplayString(g)+":",1),r.createElementVNode("span",ps,r.toDisplayString(a.value[0][g]),1)]))),128))])])):o.value==="table"?(r.openBlock(),r.createElementBlock("div",ms,[r.createVNode(r.unref(ft.ElTable),{data:a.value,"max-height":ys,border:"",stripe:"",size:"small","table-layout":"fixed",style:{width:"100%"}},{default:r.withCtx(()=>[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(u.value,g=>(r.openBlock(),r.createBlock(r.unref(ft.ElTableColumn),{key:g,prop:g,label:g,width:f.value[g],align:"center","show-overflow-tooltip":""},null,8,["prop","label","width"]))),128)),A.value?(r.openBlock(),r.createBlock(r.unref(ft.ElTableColumn),{key:0,label:"操作","min-width":80,align:"center",fixed:"right"},{default:r.withCtx(({row:g})=>[r.createVNode(D,{size:"small",type:"primary",plain:"",onClick:B=>m(g)},{default:r.withCtx(()=>[...k[0]||(k[0]=[r.createTextVNode(" 选择 ",-1)])]),_:1},8,["onClick"])]),_:1})):r.createCommentVNode("",!0)]),_:1},8,["data"])])):o.value==="card"?(r.openBlock(),r.createElementBlock("div",gs,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(a.value,(g,B)=>(r.openBlock(),r.createElementBlock("div",{key:B,class:"card-item"},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(s(g),x=>(r.openBlock(),r.createElementBlock("div",{key:x,class:"card-field"},[r.createElementVNode("span",Cs,r.toDisplayString(x)+":",1),r.createElementVNode("span",_s,r.toDisplayString(g[x]),1)]))),128))]))),128))])):o.value==="list"?(r.openBlock(),r.createElementBlock("div",ks,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(a.value,(g,B)=>(r.openBlock(),r.createElementBlock("div",{key:B,class:"list-item"},r.toDisplayString(_(g)),1))),128))])):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0)}}}),Ct=(e,t)=>{const n=e.__vccOpts||e;for(const[i,o]of t)n[i]=o;return n},Ar=Ct(Ds,[["__scopeId","data-v-ea599d5b"]]),Is={key:0,class:"suggested-next"},Bs={class:"suggested-next__text"},ws=r.defineComponent({__name:"SuggestedNext",props:{text:{}},emits:["execute"],setup(e,{emit:t}){const n=e,i=t;function o(){i("execute",n.text)}return(s,l)=>{const A=r.resolveComponent("el-button");return e.text?(r.openBlock(),r.createElementBlock("div",Is,[l[1]||(l[1]=r.createElementVNode("span",{class:"suggested-next__icon"},"💡",-1)),r.createElementVNode("span",Bs,r.toDisplayString(e.text),1),r.createVNode(A,{size:"small",type:"primary",plain:"",onClick:o},{default:r.withCtx(()=>[...l[0]||(l[0]=[r.createTextVNode("去执行",-1)])]),_:1})])):r.createCommentVNode("",!0)}}}),ar=Ct(ws,[["__scopeId","data-v-0e0e9b65"]]),ao={};function Fs(e){let t=ao[e];if(t)return t;t=ao[e]=[];for(let n=0;n<128;n++){const i=String.fromCharCode(n);t.push(i)}for(let n=0;n<e.length;n++){const i=e.charCodeAt(n);t[i]="%"+("0"+i.toString(16).toUpperCase()).slice(-2)}return t}function mt(e,t){typeof t!="string"&&(t=mt.defaultChars);const n=Fs(t);return e.replace(/(%[a-f0-9]{2})+/gi,function(i){let o="";for(let s=0,l=i.length;s<l;s+=3){const A=parseInt(i.slice(s+1,s+3),16);if(A<128){o+=n[A];continue}if((A&224)===192&&s+3<l){const a=parseInt(i.slice(s+4,s+6),16);if((a&192)===128){const u=A<<6&1984|a&63;u<128?o+="��":o+=String.fromCharCode(u),s+=3;continue}}if((A&240)===224&&s+6<l){const a=parseInt(i.slice(s+4,s+6),16),u=parseInt(i.slice(s+7,s+9),16);if((a&192)===128&&(u&192)===128){const d=A<<12&61440|a<<6&4032|u&63;d<2048||d>=55296&&d<=57343?o+="���":o+=String.fromCharCode(d),s+=6;continue}}if((A&248)===240&&s+9<l){const a=parseInt(i.slice(s+4,s+6),16),u=parseInt(i.slice(s+7,s+9),16),d=parseInt(i.slice(s+10,s+12),16);if((a&192)===128&&(u&192)===128&&(d&192)===128){let f=A<<18&1835008|a<<12&258048|u<<6&4032|d&63;f<65536||f>1114111?o+="����":(f-=65536,o+=String.fromCharCode(55296+(f>>10),56320+(f&1023))),s+=9;continue}}o+="�"}return o})}mt.defaultChars=";/?:@&=+$,#";mt.componentChars="";const co={};function xs(e){let t=co[e];if(t)return t;t=co[e]=[];for(let n=0;n<128;n++){const i=String.fromCharCode(n);/^[0-9a-z]$/i.test(i)?t.push(i):t.push("%"+("0"+n.toString(16).toUpperCase()).slice(-2))}for(let n=0;n<e.length;n++)t[e.charCodeAt(n)]=e[n];return t}function Kt(e,t,n){typeof t!="string"&&(n=t,t=Kt.defaultChars),typeof n>"u"&&(n=!0);const i=xs(t);let o="";for(let s=0,l=e.length;s<l;s++){const A=e.charCodeAt(s);if(n&&A===37&&s+2<l&&/^[0-9a-f]{2}$/i.test(e.slice(s+1,s+3))){o+=e.slice(s,s+3),s+=2;continue}if(A<128){o+=i[A];continue}if(A>=55296&&A<=57343){if(A>=55296&&A<=56319&&s+1<l){const a=e.charCodeAt(s+1);if(a>=56320&&a<=57343){o+=encodeURIComponent(e[s]+e[s+1]),s++;continue}}o+="%EF%BF%BD";continue}o+=encodeURIComponent(e[s])}return o}Kt.defaultChars=";/?:@&=+$,-_.!~*'()#";Kt.componentChars="-_.!~*'()";function Sn(e){let t="";return t+=e.protocol||"",t+=e.slashes?"//":"",t+=e.auth?e.auth+"@":"",e.hostname&&e.hostname.indexOf(":")!==-1?t+="["+e.hostname+"]":t+=e.hostname||"",t+=e.port?":"+e.port:"",t+=e.pathname||"",t+=e.search||"",t+=e.hash||"",t}function jt(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}const vs=/^([a-z0-9.+-]+:)/i,Ss=/:[0-9]*$/,Ns=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,Rs=["<",">",'"',"`"," ","\r",`
|
|
40
|
-
`," "],Ts=["{","}","|","\\","^","`"].concat(Rs),Qs=["'"].concat(Ts),uo=["%","/","?",";","#"].concat(Qs),ho=["/","?","#"],Ms=255,fo=/^[+a-z0-9A-Z_-]{0,63}$/,Ks=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,po={javascript:!0,"javascript:":!0},mo={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function Nn(e,t){if(e&&e instanceof jt)return e;const n=new jt;return n.parse(e,t),n}jt.prototype.parse=function(e,t){let n,i,o,s=e;if(s=s.trim(),!t&&e.split("#").length===1){const u=Ns.exec(s);if(u)return this.pathname=u[1],u[2]&&(this.search=u[2]),this}let l=vs.exec(s);if(l&&(l=l[0],n=l.toLowerCase(),this.protocol=l,s=s.substr(l.length)),(t||l||s.match(/^\/\/[^@\/]+@[^@\/]+/))&&(o=s.substr(0,2)==="//",o&&!(l&&po[l])&&(s=s.substr(2),this.slashes=!0)),!po[l]&&(o||l&&!mo[l])){let u=-1;for(let h=0;h<ho.length;h++)i=s.indexOf(ho[h]),i!==-1&&(u===-1||i<u)&&(u=i);let d,f;u===-1?f=s.lastIndexOf("@"):f=s.lastIndexOf("@",u),f!==-1&&(d=s.slice(0,f),s=s.slice(f+1),this.auth=d),u=-1;for(let h=0;h<uo.length;h++)i=s.indexOf(uo[h]),i!==-1&&(u===-1||i<u)&&(u=i);u===-1&&(u=s.length),s[u-1]===":"&&u--;const _=s.slice(0,u);s=s.slice(u),this.parseHost(_),this.hostname=this.hostname||"";const m=this.hostname[0]==="["&&this.hostname[this.hostname.length-1]==="]";if(!m){const h=this.hostname.split(/\./);for(let k=0,D=h.length;k<D;k++){const g=h[k];if(g&&!g.match(fo)){let B="";for(let x=0,C=g.length;x<C;x++)g.charCodeAt(x)>127?B+="x":B+=g[x];if(!B.match(fo)){const x=h.slice(0,k),C=h.slice(k+1),y=g.match(Ks);y&&(x.push(y[1]),C.unshift(y[2])),C.length&&(s=C.join(".")+s),this.hostname=x.join(".");break}}}}this.hostname.length>Ms&&(this.hostname=""),m&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}const A=s.indexOf("#");A!==-1&&(this.hash=s.substr(A),s=s.slice(0,A));const a=s.indexOf("?");return a!==-1&&(this.search=s.substr(a),s=s.slice(0,a)),s&&(this.pathname=s),mo[n]&&this.hostname&&!this.pathname&&(this.pathname=""),this};jt.prototype.parseHost=function(e){let t=Ss.exec(e);t&&(t=t[0],t!==":"&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)};const Gs=Object.freeze(Object.defineProperty({__proto__:null,decode:mt,encode:Kt,format:Sn,parse:Nn},Symbol.toStringTag,{value:"Module"})),cr=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,ur=/[\0-\x1F\x7F-\x9F]/,Ws=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/,Wn=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B4E\u1B4F\u1B5A-\u1B60\u1B7D-\u1B7F\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDD6E\uDEAD\uDED0\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9\uDFD4\uDFD5\uDFD7\uDFD8]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09\uDFE1]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDD6D-\uDD6F\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD839\uDDFF|\uD83A[\uDD5E\uDD5F]/,hr=/[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C1\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2429\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E5\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD803[\uDD8E\uDD8F\uDED1-\uDED8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDC00-\uDCEF\uDCFA-\uDCFC\uDD00-\uDEB3\uDEBA-\uDED0\uDEE0-\uDEF0\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED8\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0-\uDCBB\uDCC0\uDCC1\uDCD0-\uDCD8\uDD00-\uDE57\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF-\uDEF8\uDF00-\uDF92\uDF94-\uDFEF\uDFFA]/,dr=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/,Ys=Object.freeze(Object.defineProperty({__proto__:null,Any:cr,Cc:ur,Cf:Ws,P:Wn,S:hr,Z:dr},Symbol.toStringTag,{value:"Module"})),Os=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);function Hs(e){return e>=55296&&e<=57343||e>1114111?65533:Os.get(e)??e}function Vs(e){const t=atob(e),n=t.length&-2,i=new Uint16Array(n/2);for(let o=0,s=0;o<n;o+=2){const l=t.charCodeAt(o),A=t.charCodeAt(o+1);i[s++]=l|A<<8}return i}const Us=Vs("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg");var be;(function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.FLAG13=8192]="FLAG13",e[e.BRANCH_LENGTH=8064]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"})(be||(be={}));var se;(function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"})(se||(se={}));const go=32;function Rn(e){return e>=se.ZERO&&e<=se.NINE}function Ls(e){return e>=se.UPPER_A&&e<=se.UPPER_F||e>=se.LOWER_A&&e<=se.LOWER_F}function Js(e){return e>=se.UPPER_A&&e<=se.UPPER_Z||e>=se.LOWER_A&&e<=se.LOWER_Z||Rn(e)}function Zs(e){return e===se.EQUALS||Js(e)}var me;(function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"})(me||(me={}));var Le;(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(Le||(Le={}));class Ps{constructor(t,n,i){L(this,"decodeTree");L(this,"emitCodePoint");L(this,"errors");L(this,"state",me.EntityStart);L(this,"consumed",1);L(this,"result",0);L(this,"treeIndex",0);L(this,"excess",1);L(this,"decodeMode",Le.Strict);L(this,"runConsumed",0);this.decodeTree=t,this.emitCodePoint=n,this.errors=i}startEntity(t){this.decodeMode=t,this.state=me.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1,this.runConsumed=0}write(t,n){switch(this.state){case me.EntityStart:return t.charCodeAt(n)===se.NUM?(this.state=me.NumericStart,this.consumed+=1,this.stateNumericStart(t,n+1)):(this.state=me.NamedEntity,this.stateNamedEntity(t,n));case me.NumericStart:return this.stateNumericStart(t,n);case me.NumericDecimal:return this.stateNumericDecimal(t,n);case me.NumericHex:return this.stateNumericHex(t,n);case me.NamedEntity:return this.stateNamedEntity(t,n)}}stateNumericStart(t,n){return n>=t.length?-1:(t.charCodeAt(n)|go)===se.LOWER_X?(this.state=me.NumericHex,this.consumed+=1,this.stateNumericHex(t,n+1)):(this.state=me.NumericDecimal,this.stateNumericDecimal(t,n))}stateNumericHex(t,n){for(;n<t.length;){const i=t.charCodeAt(n);if(Rn(i)||Ls(i)){const o=i<=se.NINE?i-se.ZERO:(i|go)-se.LOWER_A+10;this.result=this.result*16+o,this.consumed++,n++}else return this.emitNumericEntity(i,3)}return-1}stateNumericDecimal(t,n){for(;n<t.length;){const i=t.charCodeAt(n);if(Rn(i))this.result=this.result*10+(i-se.ZERO),this.consumed++,n++;else return this.emitNumericEntity(i,2)}return-1}emitNumericEntity(t,n){var i;if(this.consumed<=n)return(i=this.errors)==null||i.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(t===se.SEMI)this.consumed+=1;else if(this.decodeMode===Le.Strict)return 0;return this.emitCodePoint(Hs(this.result),this.consumed),this.errors&&(t!==se.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(t,n){const{decodeTree:i}=this;let o=i[this.treeIndex],s=(o&be.VALUE_LENGTH)>>14;for(;n<t.length;){if(s===0&&(o&be.FLAG13)!==0){const A=(o&be.BRANCH_LENGTH)>>7;if(this.runConsumed===0){const a=o&be.JUMP_TABLE;if(t.charCodeAt(n)!==a)return this.result===0?0:this.emitNotTerminatedNamedEntity();n++,this.excess++,this.runConsumed++}for(;this.runConsumed<A;){if(n>=t.length)return-1;const a=this.runConsumed-1,u=i[this.treeIndex+1+(a>>1)],d=a%2===0?u&255:u>>8&255;if(t.charCodeAt(n)!==d)return this.runConsumed=0,this.result===0?0:this.emitNotTerminatedNamedEntity();n++,this.excess++,this.runConsumed++}this.runConsumed=0,this.treeIndex+=1+(A>>1),o=i[this.treeIndex],s=(o&be.VALUE_LENGTH)>>14}if(n>=t.length)break;const l=t.charCodeAt(n);if(l===se.SEMI&&s!==0&&(o&be.FLAG13)!==0)return this.emitNamedEntityData(this.treeIndex,s,this.consumed+this.excess);if(this.treeIndex=js(i,o,this.treeIndex+Math.max(1,s),l),this.treeIndex<0)return this.result===0||this.decodeMode===Le.Attribute&&(s===0||Zs(l))?0:this.emitNotTerminatedNamedEntity();if(o=i[this.treeIndex],s=(o&be.VALUE_LENGTH)>>14,s!==0){if(l===se.SEMI)return this.emitNamedEntityData(this.treeIndex,s,this.consumed+this.excess);this.decodeMode!==Le.Strict&&(o&be.FLAG13)===0&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}n++,this.excess++}return-1}emitNotTerminatedNamedEntity(){var o;const{result:t,decodeTree:n}=this,i=(n[t]&be.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,i,this.consumed),(o=this.errors)==null||o.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,n,i){const{decodeTree:o}=this;return this.emitCodePoint(n===1?o[t]&~(be.VALUE_LENGTH|be.FLAG13):o[t+1],i),n===3&&this.emitCodePoint(o[t+2],i),i}end(){var t;switch(this.state){case me.NamedEntity:return this.result!==0&&(this.decodeMode!==Le.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case me.NumericDecimal:return this.emitNumericEntity(0,2);case me.NumericHex:return this.emitNumericEntity(0,3);case me.NumericStart:return(t=this.errors)==null||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case me.EntityStart:return 0}}}function zs(e){let t="";const n=new Ps(e,i=>t+=String.fromCodePoint(i));return function(o,s){let l=0,A=0;for(;(A=o.indexOf("&",A))>=0;){t+=o.slice(l,A),n.startEntity(s);const u=n.write(o,A+1);if(u<0){l=A+n.end();break}l=A+u,A=u===0?l+1:l}const a=t+o.slice(l);return t="",a}}function js(e,t,n,i){const o=(t&be.BRANCH_LENGTH)>>7,s=t&be.JUMP_TABLE;if(o===0)return s!==0&&i===s?n:-1;if(s){const u=i-s;return u<0||u>=o?-1:e[n+u]-1}const l=o+1>>1;let A=0,a=o-1;for(;A<=a;){const u=A+a>>>1,d=u>>1,_=e[n+d]>>(u&1)*8&255;if(_<i)A=u+1;else if(_>i)a=u-1;else return e[n+l+u]}return-1}const Xs=zs(Us);function fr(e){return Xs(e,Le.Strict)}var $s=class{constructor(e={}){L(this,"src_Any",cr.source);L(this,"src_Cc",ur.source);L(this,"src_Z",dr.source);L(this,"src_P",Wn.source);L(this,"src_ZPCc",[this.src_Z,this.src_P,this.src_Cc].join("|"));L(this,"src_ZCc",[this.src_Z,this.src_Cc].join("|"));L(this,"cache",{});L(this,"opts",{maxLength:1e4,urlAuth:!1,schema_names:[]});this.opts={...this.opts,...e}}set(e={}){return this.opts={...this.opts,...e},this.cache={},this}escapeRE(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}nestedPairRE(e,t,n=4){const i=this.escapeRE(e),o=this.escapeRE(t),s=`(?:(?!${this.src_ZCc}|${i}|${o}).)`;let l=`${i}${s}{0,1000}${o}`;for(let A=2;A<=n;A++)l=`${i}(?:${s}|${l}){0,1000}${o}`;return l}get_text_separators(){var e;return(e=this.cache).text_separators??(e.text_separators=/[><\uff5c]/)}get_pseudo_letter(){var e;return(e=this.cache).src_pseudo_letter??(e.src_pseudo_letter=new RegExp(`(?:(?!${this.get_text_separators().source}|${this.src_ZPCc})${this.src_Any})`))}get_ipv4_addr(){var e;return(e=this.cache).src_ip4??(e.src_ip4=new RegExp("(?:(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])[.]){3}(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])"))}get_ipv6_addr(){var n;const e="[0-9A-Fa-f]{1,4}",t=`(?:(?:${e}:${e})|${this.get_ipv4_addr().source})`;return(n=this.cache).src_ip6_addr??(n.src_ip6_addr=new RegExp(`(?:(?:${e}:){6}${t}|::(?:${e}:){5}${t}|(?:${e})?::(?:${e}:){4}${t}|(?:(?:${e}:){0,1}${e})?::(?:${e}:){3}${t}|(?:(?:${e}:){0,2}${e})?::(?:${e}:){2}${t}|(?:(?:${e}:){0,3}${e})?::${e}:${t}|(?:(?:${e}:){0,4}${e})?::${t}|(?:(?:${e}:){0,5}${e})?::${e}|(?:(?:${e}:){0,6}${e})?::)`))}get_ipv6_url_host(){var e;return(e=this.cache).src_ip6_host??(e.src_ip6_host=new RegExp(`\\[${this.get_ipv6_addr().source}\\]`))}get_ipv6_mail_host(){var e;return(e=this.cache).src_ipv6_mail_host??(e.src_ipv6_mail_host=new RegExp(`\\[IPv6:${this.get_ipv6_addr().source}\\]`))}get_auth(){var e;return(e=this.cache).src_auth??(e.src_auth=new RegExp(`(?:(?:(?!${this.src_ZCc}|[@/\\[\\]()]).){1,50}@)?`))}get_port(){var e;return(e=this.cache).src_port??(e.src_port=new RegExp("(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?"))}get_host_terminator(){var e;return(e=this.cache).src_host_terminator??(e.src_host_terminator=new RegExp(`(?=$|${this.get_text_separators().source}|${this.src_ZPCc})(?!${this.opts["---"]?"-(?!--)|":"-|"}_|:\\d|\\.-|\\.(?!$|${this.src_ZPCc}))`))}get_path_terminator(){var e;return(e=this.cache).src_path_terminator??(e.src_path_terminator=new RegExp(`${this.src_ZPCc}|${this.get_text_separators().source}`))}get_path(){var e;return(e=this.cache).src_path??(e.src_path=new RegExp(`(?:[/?#](?:${this.nestedPairRE("[","]")}|${this.nestedPairRE("(",")")}|${this.nestedPairRE("{","}")}|\\"(?:(?!${this.src_ZCc}|["]).){1,100}\\"|\\'(?:(?!${this.src_ZCc}|[']).){1,100}\\'|\\'(?=${this.get_pseudo_letter().source}|[-])|\\.{2,20}[:]?[a-zA-Z0-9%/&]|\\.(?!${this.src_ZCc}|[.]|$)|`+(this.opts["---"]?"\\-(?!--(?:[^-]|$))(?:-{0,19})|":"\\-{1,20}|")+`,(?!${this.src_ZCc}|$)|;(?!${this.src_ZCc}|$)|\\!{1,20}(?!${this.src_ZCc}|[!]|$)|\\?(?!${this.src_ZCc}|[?]|$)|`+this.get_path_extra().source+`[\\\\/:%@#&=_~*]|(?!${this.get_path_terminator().source}).){1,${this.opts.maxLength}}|\\/)?`))}get_mail_name(){var e;return(e=this.cache).src_mail_name??(e.src_mail_name=new RegExp("[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9](?:[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9]|[.](?=[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9])){0,63}"))}get_xn(){var e;return(e=this.cache).src_xn??(e.src_xn=new RegExp("xn--[a-z0-9\\-]{1,59}"))}get_tld(){if(this.cache.tld)return this.cache.tld;const e=[...new Set(this.opts.tlds||[])].sort().reverse().join("|");return this.cache.tld=new RegExp(`${e||"$#none#$"}|${this.get_xn().source}`),this.cache.tld}get_domain_root(){var e;return(e=this.cache).src_domain_root??(e.src_domain_root=new RegExp("(?:"+this.get_xn().source+`|${this.get_pseudo_letter().source}{1,63})`))}get_domain(){var e;return(e=this.cache).src_domain??(e.src_domain=new RegExp("(?:"+this.get_xn().source+`|(?:${this.get_pseudo_letter().source})|(?:${this.get_pseudo_letter().source}(?:-|${this.get_pseudo_letter().source}){0,61}${this.get_pseudo_letter().source}))`))}get_url_host_port(){var e;return(e=this.cache).url_host_port??(e.url_host_port=new RegExp("(?:"+this.get_ipv6_url_host().source+`|(?:(?:(?:${this.get_domain().source})\\.){0,10}${this.get_domain().source}))`+this.get_port().source+this.get_host_terminator().source))}get_fuzzy_url_host_port(){var e;return(e=this.cache).fuzzy_url_host_port??(e.fuzzy_url_host_port=new RegExp("(?:"+(this.opts.fuzzyIP?this.get_ipv4_addr().source+"|":"")+`(?:(?:(?:${this.get_domain().source})\\.){1,10}(?:${this.get_tld().source})))`+this.get_host_terminator().source))}get_mail_host(){var e;return(e=this.cache).src_mail_host??(e.src_mail_host=new RegExp("(?:"+this.get_ipv6_mail_host().source+`|(?:(?:(?:${this.get_domain().source})\\.){0,4}${this.get_domain().source}))`+this.get_host_terminator().source))}get_fuzzy_mail_host(){var e;return(e=this.cache).src_fuzzy_mail_host??(e.src_fuzzy_mail_host=new RegExp("(?:"+this.get_ipv6_mail_host().source+`|(?:(?:(?:${this.get_domain().source})[.]){1,4}${this.get_domain_root().source}))`+this.get_host_terminator().source))}get_path_extra(){var e;return(e=this.cache).src_path_extra??(e.src_path_extra=new RegExp(""))}get_fuzzy_mail_host_search(){var e;return(e=this.cache).mail_fuzzy_host_search??(e.mail_fuzzy_host_search=new RegExp(`@${this.get_fuzzy_mail_host().source}`,"ig"))}get_fuzzy_link_search(){var e;return(e=this.cache).link_fuzzy_search??(e.link_fuzzy_search=new RegExp(`(^|(?![.:/\\-_@])(?:[$+<=>^\`||]|${this.src_ZPCc}))(?:(?![$+<=>^\`||])${this.get_fuzzy_url_host_port().source}${this.get_path().source})`,"ig"))}get_http_validator(){var e;return(e=this.cache).http_validator??(e.http_validator=new RegExp("\\/\\/"+(this.opts.urlAuth?this.get_auth().source:"")+this.get_url_host_port().source+this.get_path().source,"iy"))}get_relative_proto_validator(){var e;return(e=this.cache).relative_proto_validator??(e.relative_proto_validator=new RegExp((this.opts.urlAuth?this.get_auth().source:"")+`(?:localhost|${this.get_ipv6_url_host().source}|(?:(?:${this.get_domain().source})[.]){1,10}${this.get_domain_root().source})`+this.get_port().source+this.get_host_terminator().source+this.get_path().source,"iy"))}get_mail_name_validator(){var e;return(e=this.cache).mail_name_validator??(e.mail_name_validator=new RegExp(`(?:^|${this.get_text_separators().source}|"|\\(|${this.src_ZCc})(${this.get_mail_name().source})$`))}get_mailto_validator(){var e;return(e=this.cache).mailto_validator??(e.mailto_validator=new RegExp(`${this.get_mail_name().source}@${this.get_mail_host().source}`,"iy"))}get_schema_names(){var e;return(e=this.cache).schema_names??(e.schema_names=new RegExp((this.opts.schema_names||[]).map(t=>this.escapeRE(t)).join("|")))}get_schema_search(){var e;return(e=this.cache).schema_search??(e.schema_search=new RegExp(`(^|(?!_)(?:[><|]|${this.src_ZPCc}))(${this.get_schema_names().source})`,"ig"))}get_schema_at_start(){var e;return(e=this.cache).schema_at_start??(e.schema_at_start=new RegExp(`^${this.get_schema_search().source}`,"i"))}},_n={validate:(e,t,n)=>{const i=n.re.get_http_validator();i.lastIndex=t;const o=i.exec(e);return o?o[0].length:0},normalize:(e,t)=>t.normalize(e)},qs={"http:":_n,"https:":_n,"ftp:":_n,"//":{validate:function(e,t,n){const i=n.re.get_relative_proto_validator();i.lastIndex=t;const o=i.exec(e);return o?t>=3&&e[t-3]===":"||t>=3&&e[t-3]==="/"?0:o[0].length:0},normalize:(e,t)=>t.normalize(e)},"mailto:":{validate:function(e,t,n){const i=n.re.get_mailto_validator();i.lastIndex=t;const o=i.exec(e);return o?o[0].length:0},normalize:(e,t)=>t.normalize(e)}},el="a:cdefgilmnoqrstuwxz|b:abdefghijmnorstvwyz|c:acdfghiklmnoruvwxyz|d:ejkmoz|e:cegrstu|f:ijkmor|g:abdefghilmnpqrstuwy|h:kmnrtu|i:delmnoqrst|j:emop|k:eghimnprwyz|l:abcikrstuvy|m:acdeghklmnopqrstuvwxyz|n:acefgilopruz|o:m|p:aefghklmnrstwy|q:a|r:eosuw|s:abcdeghijklmnortuvxyz|t:cdfghjklmnortvwz|u:agksyz|v:aceginu|w:fs|y:et|z:amw",tl="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф";function nl(){const e=tl.split("|");return el.split("|").forEach(t=>{const n=t.indexOf(":"),i=t.slice(0,n);for(const o of t.slice(n+1))e.push(i+o)}),e}var ol={fuzzyLink:!1,fuzzyEmail:!0,fuzzyIP:!1,"---":!1,tlds:nl(),urlAuth:!1,maxLength:1e4},Co=class{constructor(e,t,n,i){L(this,"schema");L(this,"index");L(this,"lastIndex");L(this,"raw");L(this,"text");L(this,"url");const o=e.slice(n,i);this.schema=t.toLowerCase(),this.index=n,this.lastIndex=i,this.raw=o,this.text=o,this.url=o}},rl=class{constructor(e={}){L(this,"__opts__");L(this,"__schemas__");L(this,"re");const{rebuilder:t,...n}=e;this.__opts__={...ol,...n},this.__schemas__={...qs},this.re=t||new $s,this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)})}add(e,t=null){if(!t)delete this.__schemas__[e];else{const n={normalize:(i,o)=>o.normalize(i),...t};this.__schemas__[e]=n}return this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}set(e={}){return this.__opts__={...this.__opts__,...e},this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}test(e){if(!e.length)return!1;let t,n;for(n=this.re.get_schema_search(),n.lastIndex=0;(t=n.exec(e))!==null;)if(this.testSchemaAt(e,t[2],n.lastIndex))return!0;if(this.__opts__.fuzzyLink&&this.__schemas__["http:"]&&(n=this.re.get_fuzzy_link_search(),n.lastIndex=0,n.exec(e)!==null))return!0;if(this.__opts__.fuzzyEmail&&this.__schemas__["mailto:"]&&e.indexOf("@")>=0){const i=this.re.get_fuzzy_mail_host_search(),o=this.re.get_mail_name_validator();for(i.lastIndex=0;(t=i.exec(e))!==null;){const s=e.slice(Math.max(0,t.index-65),t.index);if(o.test(s))return!0}}return!1}testSchemaAt(e,t,n){return this.__schemas__[t.toLowerCase()]?this.__schemas__[t.toLowerCase()].validate(e.slice(0,n+this.__opts__.maxLength),n,this):0}match(e){const t=[],n=this.re.get_schema_search();let i,o,s,l,A,a,u=!1,d=!1,f=!1,_=0;if(!e.length)return null;for(n.lastIndex=0,this.__opts__.fuzzyLink&&this.__schemas__["http:"]&&(i=this.re.get_fuzzy_link_search(),i.lastIndex=0),this.__opts__.fuzzyEmail&&this.__schemas__["mailto:"]&&(o=this.re.get_fuzzy_mail_host_search(),o.lastIndex=0,s=this.re.get_mail_name_validator());;){const m=Math.max(_-1,0);if(o&&s&&!f&&(!A||A.index<_))for(o.lastIndex<m&&(o.lastIndex=m);;){const B=o.exec(e);if(!B){f=!0,A=void 0;break}const x=s.exec(e.slice(Math.max(0,B.index-65),B.index));if(x){if(A={schema:"mailto:",index:B.index-x[1].length,lastIndex:B.index+B[0].length},A.index>=_)break;o.lastIndex<m&&(o.lastIndex=m)}}if(i&&!d&&(!l||l.index<_))for(i.lastIndex<m&&(i.lastIndex=m);;){const B=i.exec(e);if(!B){d=!0,l=void 0;break}if(l={schema:"",index:B.index+B[1].length,lastIndex:B.index+B[0].length},l.index>=_)break;i.lastIndex<m&&(i.lastIndex=m)}let h=A;(!h||l&&(l.index<h.index||l.index===h.index&&l.lastIndex>h.lastIndex))&&(h=l);let k;if(!u)for(;;){if(!a){n.lastIndex<m&&(n.lastIndex=m);const C=n.exec(e);if(!C){u=!0;break}a={schema:C[2],index:C.index+C[1].length,lastIndex:C.index+C[0].length}}if(a.index<_){a=void 0;continue}if(h&&a.index>h.index)break;const B=a;a=void 0;const x=this.testSchemaAt(e,B.schema,B.lastIndex);if(x){k={schema:B.schema,index:B.index,lastIndex:B.lastIndex+x};break}}let D=k;if((!D||A&&(A.index<D.index||A.index===D.index&&A.lastIndex>D.lastIndex))&&(D=A),(!D||l&&(l.index<D.index||l.index===D.index&&l.lastIndex>D.lastIndex))&&(D=l),!D)break;D===A?A=void 0:D===l&&(l=void 0);const g=new Co(e,D.schema,D.index,D.lastIndex);g.schema?this.__schemas__[g.schema].normalize(g,this):this.normalize(g),t.push(g),_=D.lastIndex}return t.length?t:null}matchAtStart(e){if(!e.length)return null;const t=this.re.get_schema_at_start().exec(e);if(!t)return null;const n=this.testSchemaAt(e,t[2],t[0].length);if(!n)return null;const i=new Co(e,t[2],t.index+t[1].length,t.index+t[0].length+n);return this.__schemas__[i.schema].normalize(i,this),i}tlds(e,t=!1){return e=Array.isArray(e)?e:[e],t?this.__opts__.tlds=this.__opts__.tlds.concat(e):this.__opts__.tlds=e,this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}normalize(e){e.schema||(e.url=`http://${e.url}`),e.schema==="mailto:"&&!/^mailto:/i.test(e.url)&&(e.url=`mailto:${e.url}`)}};const pt=2147483647,Me=36,Yn=1,xt=26,il=38,sl=700,pr=72,mr=128,gr="-",ll=/^xn--/,Al=/[^\0-\x7F]/,al=/[\x2E\u3002\uFF0E\uFF61]/g,cl={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},kn=Me-Yn,Ke=Math.floor,yn=String.fromCharCode;function Ue(e){throw new RangeError(cl[e])}function ul(e,t){const n=[];let i=e.length;for(;i--;)n[i]=t(e[i]);return n}function Cr(e,t){const n=e.split("@");let i="";n.length>1&&(i=n[0]+"@",e=n[1]),e=e.replace(al,".");const o=e.split("."),s=ul(o,t).join(".");return i+s}function _r(e){const t=[];let n=0;const i=e.length;for(;n<i;){const o=e.charCodeAt(n++);if(o>=55296&&o<=56319&&n<i){const s=e.charCodeAt(n++);(s&64512)==56320?t.push(((o&1023)<<10)+(s&1023)+65536):(t.push(o),n--)}else t.push(o)}return t}const hl=e=>String.fromCodePoint(...e),dl=function(e){return e>=48&&e<58?26+(e-48):e>=65&&e<91?e-65:e>=97&&e<123?e-97:Me},_o=function(e,t){return e+22+75*(e<26)-((t!=0)<<5)},kr=function(e,t,n){let i=0;for(e=n?Ke(e/sl):e>>1,e+=Ke(e/t);e>kn*xt>>1;i+=Me)e=Ke(e/kn);return Ke(i+(kn+1)*e/(e+il))},yr=function(e){const t=[],n=e.length;let i=0,o=mr,s=pr,l=e.lastIndexOf(gr);l<0&&(l=0);for(let A=0;A<l;++A)e.charCodeAt(A)>=128&&Ue("not-basic"),t.push(e.charCodeAt(A));for(let A=l>0?l+1:0;A<n;){const a=i;for(let d=1,f=Me;;f+=Me){A>=n&&Ue("invalid-input");const _=dl(e.charCodeAt(A++));_>=Me&&Ue("invalid-input"),_>Ke((pt-i)/d)&&Ue("overflow"),i+=_*d;const m=f<=s?Yn:f>=s+xt?xt:f-s;if(_<m)break;const h=Me-m;d>Ke(pt/h)&&Ue("overflow"),d*=h}const u=t.length+1;s=kr(i-a,u,a==0),Ke(i/u)>pt-o&&Ue("overflow"),o+=Ke(i/u),i%=u,t.splice(i++,0,o)}return String.fromCodePoint(...t)},Er=function(e){const t=[];e=_r(e);const n=e.length;let i=mr,o=0,s=pr;for(const a of e)a<128&&t.push(yn(a));const l=t.length;let A=l;for(l&&t.push(gr);A<n;){let a=pt;for(const d of e)d>=i&&d<a&&(a=d);const u=A+1;a-i>Ke((pt-o)/u)&&Ue("overflow"),o+=(a-i)*u,i=a;for(const d of e)if(d<i&&++o>pt&&Ue("overflow"),d===i){let f=o;for(let _=Me;;_+=Me){const m=_<=s?Yn:_>=s+xt?xt:_-s;if(f<m)break;const h=f-m,k=Me-m;t.push(yn(_o(m+h%k,0))),f=Ke(h/k)}t.push(yn(_o(f,0))),s=kr(o,u,A===l),o=0,++A}++o,++i}return t.join("")},fl=function(e){return Cr(e,function(t){return ll.test(t)?yr(t.slice(4).toLowerCase()):t})},pl=function(e){return Cr(e,function(t){return Al.test(t)?"xn--"+Er(t):t})},ko={version:"2.3.1",ucs2:{decode:_r,encode:hl},decode:yr,encode:Er,toASCII:pl,toUnicode:fl};/*! markdown-it 15.0.0 https://github.com/markdown-it/markdown-it @license MIT */var yo=Object.defineProperty,br=(e,t)=>{let n={};for(var i in e)yo(n,i,{get:e[i],enumerable:!0});return yo(n,Symbol.toStringTag,{value:"Module"}),n},ml=br({arrayReplaceAt:()=>Ir,asciiTrim:()=>en,callable:()=>Dr,escapeHtml:()=>Ze,escapeRE:()=>Bl,fromCodePoint:()=>vt,isMdAsciiPunct:()=>Rt,isPunctChar:()=>wr,isPunctCharCode:()=>Nt,isSpace:()=>oe,isValidEntityCode:()=>On,isWhiteSpace:()=>St,lib:()=>wl,normalizeReference:()=>qt,unescapeAll:()=>gt,unescapeMd:()=>kl});function Dr(e){const t=function(...n){return Reflect.construct(e,n,new.target&&new.target!==t?new.target:e)};return Object.defineProperty(t,"name",{value:e.name}),Object.setPrototypeOf(t,e),t.prototype=e.prototype,t}function Ir(e,t,n){return[].concat(e.slice(0,t),n,e.slice(t+1))}function On(e){return!(e>=55296&&e<=57343||e>=64976&&e<=65007||(e&65535)===65535||(e&65535)===65534||e>=0&&e<=8||e===11||e>=14&&e<=31||e>=127&&e<=159||e>1114111)}function vt(e){if(e>65535){e-=65536;const t=55296+(e>>10),n=56320+(e&1023);return String.fromCharCode(t,n)}return String.fromCharCode(e)}var Br=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g,gl=new RegExp(`${Br.source}|${/&([a-z#][a-z0-9]{1,31});/gi.source}`,"gi"),Cl=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;function _l(e,t){if(t.charCodeAt(0)===35&&Cl.test(t)){const i=t[1].toLowerCase()==="x"?parseInt(t.slice(2),16):parseInt(t.slice(1),10);return On(i)?vt(i):e}const n=fr(e);return n!==e?n:e}function kl(e){return e.indexOf("\\")<0?e:e.replace(Br,"$1")}function gt(e){return e.indexOf("\\")<0&&e.indexOf("&")<0?e:e.replace(gl,function(t,n,i){return n||_l(t,i)})}var yl=/[&<>"]/,El=/[&<>"]/g,bl={"&":"&","<":"<",">":">",'"':"""};function Dl(e){return bl[e]}function Ze(e){return yl.test(e)?e.replace(El,Dl):e}var Il=/[.?*+^$[\]\\(){}|-]/g;function Bl(e){return e.replace(Il,"\\$&")}function oe(e){switch(e){case 9:case 32:return!0}return!1}function St(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}function wr(e){return Wn.test(e)||hr.test(e)}function Nt(e){return wr(vt(e))}function Rt(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function qt(e){return e=e.trim().replace(/\s+/g," "),e.toLowerCase().toUpperCase()}function Eo(e){return e===32||e===9||e===10||e===13}function en(e){let t=0;for(;t<e.length&&Eo(e.charCodeAt(t));t++);let n=e.length-1;for(;n>=t&&Eo(e.charCodeAt(n));n--);return e.slice(t,n+1)}var wl={mdurl:Gs,ucmicro:Ys};function Fl(e,t,n){let i,o,s,l;const A=e.posMax,a=e.pos;for(e.pos=t+1,i=1;e.pos<A;){if(s=e.src.charCodeAt(e.pos),s===93&&(i--,i===0)){o=!0;break}if(l=e.pos,e.md.inline.skipToken(e),s===91){if(l===e.pos-1)i++;else if(n)return e.pos=a,-1}}let u=-1;return o&&(u=e.pos),e.pos=a,u}function xl(e,t,n){let i,o=t;const s={ok:!1,pos:0,str:""};if(e.charCodeAt(o)===60){for(o++;o<n;){if(i=e.charCodeAt(o),i===10||i===60)return s;if(i===62)return s.pos=o+1,s.str=gt(e.slice(t+1,o)),s.ok=!0,s;if(i===92&&o+1<n){o+=2;continue}o++}return s}let l=0;for(;o<n&&(i=e.charCodeAt(o),!(i===32||i<32||i===127));){if(i===92&&o+1<n){if(e.charCodeAt(o+1)===32){o++;continue}o+=2;continue}if(i===40&&(l++,l>32))return s;if(i===41){if(l===0)break;l--}o++}return t===o||l!==0||(s.str=gt(e.slice(t,o)),s.pos=o,s.ok=!0),s}function vl(e,t,n,i){let o,s=t;const l={ok:!1,can_continue:!1,pos:0,str:"",marker:0};if(i)l.str=i.str,l.marker=i.marker;else{if(s>=n)return l;let A=e.charCodeAt(s);if(A!==34&&A!==39&&A!==40)return l;t++,s++,A===40&&(A=41),l.marker=A}for(;s<n;){if(o=e.charCodeAt(s),o===l.marker)return l.pos=s+1,l.str+=gt(e.slice(t,s)),l.ok=!0,l;if(o===40&&l.marker===41)return l;o===92&&s+1<n&&s++,s++}return l.can_continue=!0,l.str+=gt(e.slice(t,s)),l}var Sl=br({parseLinkDestination:()=>xl,parseLinkLabel:()=>Fl,parseLinkTitle:()=>vl});function Tt(e){"@babel/helpers - typeof";return Tt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Tt(e)}function Nl(e,t){if(Tt(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var i=n.call(e,t);if(Tt(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Rl(e){var t=Nl(e,"string");return Tt(t)=="symbol"?t:t+""}function Q(e,t,n){return(t=Rl(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var tt=class{constructor(e,t,n){Q(this,"map",null),Q(this,"level",0),Q(this,"children",null),Q(this,"content",""),Q(this,"markup",""),Q(this,"info",""),Q(this,"block",!1),Q(this,"hidden",!1),this.type=e,this.tag=t,this.attrs=null,this.nesting=n,this.meta=null}attrIndex(e){if(!this.attrs)return-1;const t=this.attrs;for(let n=0,i=t.length;n<i;n++)if(t[n][0]===e)return n;return-1}attrPush(e){this.attrs?this.attrs.push(e):this.attrs=[e]}attrSet(e,t){const n=this.attrIndex(e),i=[e,t];n<0?this.attrPush(i):this.attrs[n]=i}attrGet(e){const t=this.attrIndex(e);let n=null;return t>=0&&(n=this.attrs[t][1]),n}attrJoin(e,t){const n=this.attrIndex(e);n<0?this.attrPush([e,t]):this.attrs[n][1]=`${this.attrs[n][1]} ${t}`}},Qt=class{constructor(){Q(this,"__rules__",[]),Q(this,"__cache__",null)}__find__(e){for(let t=0;t<this.__rules__.length;t++)if(this.__rules__[t].name===e)return t;return-1}__compile__(){const e=new Set;this.__rules__.forEach(t=>{t.enabled&&t.alt.forEach(n=>{n&&e.add(n)})}),this.__cache__=Object.create(null),this.__cache__[""]=[],this.__rules__.forEach(t=>{t.enabled&&this.__cache__[""].push(t.fn)}),e.forEach(t=>{this.__cache__[t]=[],this.__rules__.forEach(n=>{n.enabled&&n.alt.indexOf(t)>=0&&this.__cache__[t].push(n.fn)})})}at(e,t,n={}){const i=this.__find__(e);if(i===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__[i].fn=t,this.__rules__[i].alt=n.alt||[],this.__cache__=null}before(e,t,n,i={}){const o=this.__find__(e);if(o===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__.splice(o,0,{name:t,enabled:!0,fn:n,alt:i.alt||[]}),this.__cache__=null}after(e,t,n,i={}){const o=this.__find__(e);if(o===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__.splice(o+1,0,{name:t,enabled:!0,fn:n,alt:i.alt||[]}),this.__cache__=null}push(e,t,n={}){this.__rules__.push({name:e,enabled:!0,fn:t,alt:n.alt||[]}),this.__cache__=null}enable(e,t=!1){Array.isArray(e)||(e=[e]);const n=[];return e.forEach(i=>{const o=this.__find__(i);if(o<0){if(t)return;throw new Error(`Rules manager: invalid rule name ${i}`)}this.__rules__[o].enabled=!0,n.push(i)}),this.__cache__=null,n}enableOnly(e,t=!1){Array.isArray(e)||(e=[e]),this.__rules__.forEach(n=>{n.enabled=!1}),this.enable(e,t)}disable(e,t=!1){Array.isArray(e)||(e=[e]);const n=[];return e.forEach(i=>{const o=this.__find__(i);if(o<0){if(t)return;throw new Error(`Rules manager: invalid rule name ${i}`)}this.__rules__[o].enabled=!1,n.push(i)}),this.__cache__=null,n}getRules(e){return this.__cache__||this.__compile__(),this.__cache__[e]||[]}},Ge={};Ge.code_inline=function(e,t,n,i,o){const s=e[t];return`<code${o.renderAttrs(s)}>${Ze(s.content)}</code>`};Ge.code_block=function(e,t,n,i,o){const s=e[t];return`<pre${o.renderAttrs(s)}><code>${Ze(e[t].content)}</code></pre>
|
|
41
|
-
`};
|
|
42
|
-
`;if(l){const
|
|
38
|
+
${R}`:"")),await q.sendMessage(H)}function nt(){q.stop()}async function ee(){if(ie(),q.clear(),C.value=[],D.value="",U=[],ct(),F.clear(),g.value.providerMode==="proxy")try{const y=Dn(g.value.proxyUrl);y&&await fetch(`${y}/api/messages?device_id=${encodeURIComponent(en())}`,{method:"DELETE"})}catch{}else localStorage.removeItem(d.messages)}const Le=r.computed(()=>{var y;return g.value.providerMode==="proxy"||!!((y=I())!=null&&y.apiKey)});r.onMounted(()=>{ve(),tt()});let Z=null;function ot(){Z&&clearTimeout(Z),Z=setTimeout(()=>{Z=null,Ve()},400)}function ie(){Z&&(clearTimeout(Z),Z=null)}return r.watch(C,()=>ot(),{deep:!0}),{messages:C,settings:g,loading:E,errorMsg:D,hasApiKey:Le,toolPackages:t,fileStore:F,visible:k,eventBus:M,deviceId:en(),sendMessage:ht,stopGeneration:nt,clearMessages:ee,saveSettings:ut,suggestedCommands:a}}function ns(){const e=Ye("deepseek");if(!e)throw new Error("未找到 DeepSeek 提供方配置");return Vt({preset:e})}function os(){const e=Ye("openai");if(!e)throw new Error("未找到 OpenAI 提供方配置");return Vt({preset:e})}function ko(e={}){const t=e.threshold??4,n=r.ref(null),i=r.ref(!1);let o=0,s=0,l=0,A=0,a=0,u=0,h=!1;function f(C){var M;const g=C.clientX-o,E=C.clientY-s;if(!h&&Math.hypot(g,E)>t&&(h=!0,i.value=!0,(M=e.onDragStart)==null||M.call(e)),!h)return;const D=Math.max(window.innerWidth-a,0),F=Math.max(window.innerHeight-u,0),k=Math.min(Math.max(l+g,0),D),B=Math.min(Math.max(A+E,0),F);n.value={x:k,y:B}}function m(){var C;window.removeEventListener("pointermove",f),window.removeEventListener("pointerup",m),window.removeEventListener("pointercancel",m),document.body.style.userSelect="",h&&((C=e.onDragMove)==null||C.call(e)),i.value=!1}function _(C,g){var D;if(C.button!==0||(D=e.disabled)!=null&&D.call(e))return;const E=g.getBoundingClientRect();l=E.left,A=E.top,a=E.width,u=E.height,o=C.clientX,s=C.clientY,h=!1,window.addEventListener("pointermove",f),window.addEventListener("pointerup",m),window.addEventListener("pointercancel",m),document.body.style.userSelect="none"}function d(){const C=h;return h=!1,C}return{pos:n,dragging:i,startDrag:_,consumeMoved:d}}/*! Element Plus Icons Vue v2.3.2 */var rs=r.defineComponent({name:"Bottom",__name:"bottom",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M544 805.888V168a32 32 0 1 0-64 0v637.888L246.656 557.952a30.72 30.72 0 0 0-45.312 0 35.52 35.52 0 0 0 0 48.064l288 306.048a30.72 30.72 0 0 0 45.312 0l288-306.048a35.52 35.52 0 0 0 0-48 30.72 30.72 0 0 0-45.312 0L544 805.824z"})]))}}),is=rs,ss=r.defineComponent({name:"ChatDotRound",__name:"chat-dot-round",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"m174.72 855.68 135.296-45.12 23.68 11.84C388.096 849.536 448.576 864 512 864c211.84 0 384-166.784 384-352S723.84 160 512 160 128 326.784 128 512c0 69.12 24.96 139.264 70.848 199.232l22.08 28.8-46.272 115.584zm-45.248 82.56A32 32 0 0 1 89.6 896l58.368-145.92C94.72 680.32 64 596.864 64 512 64 299.904 256 96 512 96s448 203.904 448 416-192 416-448 416a461.06 461.06 0 0 1-206.912-48.384l-175.616 58.56z"}),r.createElementVNode("path",{fill:"currentColor",d:"M512 563.2a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4m192 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4m-384 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4"})]))}}),ls=ss,As=r.defineComponent({name:"Close",__name:"close",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"})]))}}),as=As,cs=r.defineComponent({name:"CopyDocument",__name:"copy-document",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M768 832a128 128 0 0 1-128 128H192A128 128 0 0 1 64 832V384a128 128 0 0 1 128-128v64a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64z"}),r.createElementVNode("path",{fill:"currentColor",d:"M384 128a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64V192a64 64 0 0 0-64-64zm0-64h448a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H384a128 128 0 0 1-128-128V192A128 128 0 0 1 384 64"})]))}}),us=cs,ds=r.defineComponent({name:"Cpu",__name:"cpu",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M320 256a64 64 0 0 0-64 64v384a64 64 0 0 0 64 64h384a64 64 0 0 0 64-64V320a64 64 0 0 0-64-64zm0-64h384a128 128 0 0 1 128 128v384a128 128 0 0 1-128 128H320a128 128 0 0 1-128-128V320a128 128 0 0 1 128-128"}),r.createElementVNode("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m160 0a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m-320 0a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m160 896a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32m160 0a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32m-320 0a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32M64 512a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m0-160a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m0 320a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m896-160a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32m0-160a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32m0 320a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32"})]))}}),hs=ds,fs=r.defineComponent({name:"Delete",__name:"delete",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M160 256H96a32 32 0 0 1 0-64h256V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64h-64v672a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32zm448-64v-64H416v64zM224 896h576V256H224zm192-128a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32m192 0a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32"})]))}}),ps=fs,ms=r.defineComponent({name:"Document",__name:"document",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640zm-26.496-64L640 154.496V320zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h160v64H320zm0 384h384v64H320z"})]))}}),Fr=ms,gs=r.defineComponent({name:"FullScreen",__name:"full-screen",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"m160 96.064 192 .192a32 32 0 0 1 0 64l-192-.192V352a32 32 0 0 1-64 0V96h64zm0 831.872V928H96V672a32 32 0 1 1 64 0v191.936l192-.192a32 32 0 1 1 0 64zM864 96.064V96h64v256a32 32 0 1 1-64 0V160.064l-192 .192a32 32 0 1 1 0-64zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64z"})]))}}),Cs=gs,_s=r.defineComponent({name:"Paperclip",__name:"paperclip",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M602.496 240.448A192 192 0 1 1 874.048 512l-316.8 316.8A256 256 0 0 1 195.2 466.752L602.496 59.456l45.248 45.248L240.448 512A192 192 0 0 0 512 783.552l316.8-316.8a128 128 0 1 0-181.056-181.056L353.6 579.904a32 32 0 1 0 45.248 45.248l294.144-294.144 45.312 45.248L444.096 670.4a96 96 0 1 1-135.744-135.744z"})]))}}),ks=_s,Es=r.defineComponent({name:"Picture",__name:"picture",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M160 160v704h704V160zm-32-64h768a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H128a32 32 0 0 1-32-32V128a32 32 0 0 1 32-32"}),r.createElementVNode("path",{fill:"currentColor",d:"M384 288q64 0 64 64t-64 64-64-64 64-64M185.408 876.992l-50.816-38.912L350.72 556.032a96 96 0 0 1 134.592-17.856l1.856 1.472 122.88 99.136a32 32 0 0 0 44.992-4.864l216-269.888 49.92 39.936-215.808 269.824-.256.32a96 96 0 0 1-135.04 14.464l-122.88-99.072-.64-.512a32 32 0 0 0-44.8 5.952z"})]))}}),ys=Es,Is=r.defineComponent({name:"Position",__name:"position",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"m249.6 417.088 319.744 43.072 39.168 310.272L845.12 178.88zm-129.024 47.168a32 32 0 0 1-7.68-61.44l777.792-311.04a32 32 0 0 1 41.6 41.6l-310.336 775.68a32 32 0 0 1-61.44-7.808L512 516.992z"})]))}}),bs=Is,Ds=r.defineComponent({name:"Promotion",__name:"promotion",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"m64 448 832-320-128 704-446.08-243.328L832 192 242.816 545.472zm256 512V657.024L512 768z"})]))}}),Bs=Ds,ws=r.defineComponent({name:"Setting",__name:"setting",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M600.704 64a32 32 0 0 1 30.464 22.208l35.2 109.376c14.784 7.232 28.928 15.36 42.432 24.512l112.384-24.192a32 32 0 0 1 34.432 15.36L944.32 364.8a32 32 0 0 1-4.032 37.504l-77.12 85.12a357 357 0 0 1 0 49.024l77.12 85.248a32 32 0 0 1 4.032 37.504l-88.704 153.6a32 32 0 0 1-34.432 15.296L708.8 803.904c-13.44 9.088-27.648 17.28-42.368 24.512l-35.264 109.376A32 32 0 0 1 600.704 960H423.296a32 32 0 0 1-30.464-22.208L357.696 828.48a352 352 0 0 1-42.56-24.64l-112.32 24.256a32 32 0 0 1-34.432-15.36L79.68 659.2a32 32 0 0 1 4.032-37.504l77.12-85.248a357 357 0 0 1 0-48.896l-77.12-85.248A32 32 0 0 1 79.68 364.8l88.704-153.6a32 32 0 0 1 34.432-15.296l112.32 24.256c13.568-9.152 27.776-17.408 42.56-24.64l35.2-109.312A32 32 0 0 1 423.232 64H600.64zm-23.424 64H446.72l-36.352 113.088-24.512 11.968a294 294 0 0 0-34.816 20.096l-22.656 15.36-116.224-25.088-65.28 113.152 79.68 88.192-1.92 27.136a293 293 0 0 0 0 40.192l1.92 27.136-79.808 88.192 65.344 113.152 116.224-25.024 22.656 15.296a294 294 0 0 0 34.816 20.096l24.512 11.968L446.72 896h130.688l36.48-113.152 24.448-11.904a288 288 0 0 0 34.752-20.096l22.592-15.296 116.288 25.024 65.28-113.152-79.744-88.192 1.92-27.136a293 293 0 0 0 0-40.256l-1.92-27.136 79.808-88.128-65.344-113.152-116.288 24.96-22.592-15.232a288 288 0 0 0-34.752-20.096l-24.448-11.904L577.344 128zM512 320a192 192 0 1 1 0 384 192 192 0 0 1 0-384m0 64a128 128 0 1 0 0 256 128 128 0 0 0 0-256"})]))}}),Eo=ws,Fs=r.defineComponent({name:"Top",__name:"top",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M572.235 205.282v600.365a30.118 30.118 0 1 1-60.235 0V205.282L292.382 438.633a28.913 28.913 0 0 1-42.646 0 33.43 33.43 0 0 1 0-45.236l271.058-288.045a28.913 28.913 0 0 1 42.647 0L834.5 393.397a33.43 33.43 0 0 1 0 45.176 28.913 28.913 0 0 1-42.647 0l-219.618-233.23z"})]))}}),vs=Fs,xs=r.defineComponent({name:"UserFilled",__name:"user-filled",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M288 320a224 224 0 1 0 448 0 224 224 0 1 0-448 0m544 608H160a32 32 0 0 1-32-32v-96a160 160 0 0 1 160-160h448a160 160 0 0 1 160 160v96a32 32 0 0 1-32 32z"})]))}}),Ss=xs,Ns=r.defineComponent({name:"VideoPause",__name:"video-pause",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m-96-544q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32m192 0q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32"})]))}}),Rs=Ns,Ts=r.defineComponent({name:"View",__name:"view",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352m0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288m0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448m0 64a160.19 160.19 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160"})]))}}),Ms=Ts;const Qs={key:0,class:"render-block"},Ks={key:0,class:"render-block__title"},Gs={key:2,class:"render-block__cards"},Ws={class:"card-item"},Os={class:"card-label"},Ys={class:"card-value"},Hs={key:3,class:"render-block__table"},Us={key:4,class:"render-block__cards"},Vs={class:"card-label"},Ls={class:"card-value"},Js={key:5,class:"render-block__list"},Zs=400,Ps=320,zs=80,js=r.defineComponent({__name:"RenderBlock",props:{block:{},resolvedComponent:{}},emits:["select"],setup(e,{emit:t}){const n=e,i=t,o=r.computed(()=>n.block.type==="auto"?Zn(n.block.data):n.block.type);function s(d){const C=n.block.fields;return C&&C.length?C.filter(g=>d!=null&&g in d):Object.keys(d??{})}const l=r.computed(()=>n.block.data||{}),A=r.computed(()=>n.block.selectable&&a.value.length>1),a=r.computed(()=>Array.isArray(l.value)?l.value:l.value.list?Array.isArray(l.value.list)?l.value.list:[]:l.value.items?Array.isArray(l.value.items)?l.value.items:[]:[l.value]),u=r.computed(()=>{var d;return a.value.length?(d=n.block.fields)!=null&&d.length?n.block.fields:Object.keys(a.value[0]):[]});function h(d){if(d==null)return 0;let C=0;for(const g of String(d))C+=/^[\u2E80-\u9FFF\uF900-\uFAFF\uFF00-\uFFEF]/.test(g)?14:8;return C}const f=r.computed(()=>{const d={};for(const C of u.value){let g=h(C);for(const E of a.value){const D=E!=null?E[C]:void 0;D!=null&&(g=Math.max(g,h(String(D))))}d[C]=Math.min(Ps,Math.max(zs,g+32))}return d});function m(d){return typeof d=="string"?d:Object.values(d).join(" - ")}function _(d){var g;const C=(n.block.labelField&&(d==null?void 0:d[n.block.labelField])!=null?d[n.block.labelField]:(g=n.block.fields)!=null&&g.length?d==null?void 0:d[n.block.fields[0]]:(d==null?void 0:d.name)??(d==null?void 0:d.title)??(d==null?void 0:d.id)??Object.values(d??{})[0])??"";i("select",`我选择 ${C}`)}return(d,C)=>{const g=r.resolveComponent("el-button");return o.value!=="none"?(r.openBlock(),r.createElementBlock("div",Qs,[e.block.title?(r.openBlock(),r.createElementBlock("div",Ks,r.toDisplayString(e.block.title),1)):r.createCommentVNode("",!0),e.resolvedComponent?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(e.resolvedComponent),{key:1,class:"render-block__component",data:e.block.data},null,8,["data"])):o.value==="component"?(r.openBlock(),r.createElementBlock("div",Gs,[r.createElementVNode("div",Ws,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(s(a.value[0]),E=>(r.openBlock(),r.createElementBlock("div",{key:E,class:"card-field"},[r.createElementVNode("span",Os,r.toDisplayString(E)+":",1),r.createElementVNode("span",Ys,r.toDisplayString(a.value[0][E]),1)]))),128))])])):o.value==="table"?(r.openBlock(),r.createElementBlock("div",Hs,[r.createVNode(r.unref(Xe.ElTable),{data:a.value,"max-height":Zs,border:"",stripe:"",size:"small","table-layout":"fixed",style:{width:"100%"}},{default:r.withCtx(()=>[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(u.value,E=>(r.openBlock(),r.createBlock(r.unref(Xe.ElTableColumn),{key:E,prop:E,label:E,width:f.value[E],align:"center","show-overflow-tooltip":""},null,8,["prop","label","width"]))),128)),A.value?(r.openBlock(),r.createBlock(r.unref(Xe.ElTableColumn),{key:0,label:"操作","min-width":80,align:"center",fixed:"right"},{default:r.withCtx(({row:E})=>[r.createVNode(g,{size:"small",type:"primary",plain:"",onClick:D=>_(E)},{default:r.withCtx(()=>[...C[0]||(C[0]=[r.createTextVNode(" 选择 ",-1)])]),_:1},8,["onClick"])]),_:1})):r.createCommentVNode("",!0)]),_:1},8,["data"])])):o.value==="card"?(r.openBlock(),r.createElementBlock("div",Us,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(a.value,(E,D)=>(r.openBlock(),r.createElementBlock("div",{key:D,class:"card-item"},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(s(E),F=>(r.openBlock(),r.createElementBlock("div",{key:F,class:"card-field"},[r.createElementVNode("span",Vs,r.toDisplayString(F)+":",1),r.createElementVNode("span",Ls,r.toDisplayString(E[F]),1)]))),128))]))),128))])):o.value==="list"?(r.openBlock(),r.createElementBlock("div",Js,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(a.value,(E,D)=>(r.openBlock(),r.createElementBlock("div",{key:D,class:"list-item"},r.toDisplayString(m(E)),1))),128))])):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0)}}}),Bt=(e,t)=>{const n=e.__vccOpts||e;for(const[i,o]of t)n[i]=o;return n},vr=Bt(js,[["__scopeId","data-v-ea599d5b"]]),Xs={key:0,class:"suggested-next"},$s={class:"suggested-next__text"},qs=r.defineComponent({__name:"SuggestedNext",props:{text:{}},emits:["execute"],setup(e,{emit:t}){const n=e,i=t;function o(){i("execute",n.text)}return(s,l)=>{const A=r.resolveComponent("el-button");return e.text?(r.openBlock(),r.createElementBlock("div",Xs,[l[1]||(l[1]=r.createElementVNode("span",{class:"suggested-next__icon"},"💡",-1)),r.createElementVNode("span",$s,r.toDisplayString(e.text),1),r.createVNode(A,{size:"small",type:"primary",plain:"",onClick:o},{default:r.withCtx(()=>[...l[0]||(l[0]=[r.createTextVNode("去执行",-1)])]),_:1})])):r.createCommentVNode("",!0)}}}),xr=Bt(qs,[["__scopeId","data-v-0e0e9b65"]]),yo={};function el(e){let t=yo[e];if(t)return t;t=yo[e]=[];for(let n=0;n<128;n++){const i=String.fromCharCode(n);t.push(i)}for(let n=0;n<e.length;n++){const i=e.charCodeAt(n);t[i]="%"+("0"+i.toString(16).toUpperCase()).slice(-2)}return t}function bt(e,t){typeof t!="string"&&(t=bt.defaultChars);const n=el(t);return e.replace(/(%[a-f0-9]{2})+/gi,function(i){let o="";for(let s=0,l=i.length;s<l;s+=3){const A=parseInt(i.slice(s+1,s+3),16);if(A<128){o+=n[A];continue}if((A&224)===192&&s+3<l){const a=parseInt(i.slice(s+4,s+6),16);if((a&192)===128){const u=A<<6&1984|a&63;u<128?o+="��":o+=String.fromCharCode(u),s+=3;continue}}if((A&240)===224&&s+6<l){const a=parseInt(i.slice(s+4,s+6),16),u=parseInt(i.slice(s+7,s+9),16);if((a&192)===128&&(u&192)===128){const h=A<<12&61440|a<<6&4032|u&63;h<2048||h>=55296&&h<=57343?o+="���":o+=String.fromCharCode(h),s+=6;continue}}if((A&248)===240&&s+9<l){const a=parseInt(i.slice(s+4,s+6),16),u=parseInt(i.slice(s+7,s+9),16),h=parseInt(i.slice(s+10,s+12),16);if((a&192)===128&&(u&192)===128&&(h&192)===128){let f=A<<18&1835008|a<<12&258048|u<<6&4032|h&63;f<65536||f>1114111?o+="����":(f-=65536,o+=String.fromCharCode(55296+(f>>10),56320+(f&1023))),s+=9;continue}}o+="�"}return o})}bt.defaultChars=";/?:@&=+$,#";bt.componentChars="";const Io={};function tl(e){let t=Io[e];if(t)return t;t=Io[e]=[];for(let n=0;n<128;n++){const i=String.fromCharCode(n);/^[0-9a-z]$/i.test(i)?t.push(i):t.push("%"+("0"+n.toString(16).toUpperCase()).slice(-2))}for(let n=0;n<e.length;n++)t[e.charCodeAt(n)]=e[n];return t}function Jt(e,t,n){typeof t!="string"&&(n=t,t=Jt.defaultChars),typeof n>"u"&&(n=!0);const i=tl(t);let o="";for(let s=0,l=e.length;s<l;s++){const A=e.charCodeAt(s);if(n&&A===37&&s+2<l&&/^[0-9a-f]{2}$/i.test(e.slice(s+1,s+3))){o+=e.slice(s,s+3),s+=2;continue}if(A<128){o+=i[A];continue}if(A>=55296&&A<=57343){if(A>=55296&&A<=56319&&s+1<l){const a=e.charCodeAt(s+1);if(a>=56320&&a<=57343){o+=encodeURIComponent(e[s]+e[s+1]),s++;continue}}o+="%EF%BF%BD";continue}o+=encodeURIComponent(e[s])}return o}Jt.defaultChars=";/?:@&=+$,-_.!~*'()#";Jt.componentChars="-_.!~*'()";function On(e){let t="";return t+=e.protocol||"",t+=e.slashes?"//":"",t+=e.auth?e.auth+"@":"",e.hostname&&e.hostname.indexOf(":")!==-1?t+="["+e.hostname+"]":t+=e.hostname||"",t+=e.port?":"+e.port:"",t+=e.pathname||"",t+=e.search||"",t+=e.hash||"",t}function rn(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}const nl=/^([a-z0-9.+-]+:)/i,ol=/:[0-9]*$/,rl=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,il=["<",">",'"',"`"," ","\r",`
|
|
39
|
+
`," "],sl=["{","}","|","\\","^","`"].concat(il),ll=["'"].concat(sl),bo=["%","/","?",";","#"].concat(ll),Do=["/","?","#"],Al=255,Bo=/^[+a-z0-9A-Z_-]{0,63}$/,al=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,wo={javascript:!0,"javascript:":!0},Fo={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function Yn(e,t){if(e&&e instanceof rn)return e;const n=new rn;return n.parse(e,t),n}rn.prototype.parse=function(e,t){let n,i,o,s=e;if(s=s.trim(),!t&&e.split("#").length===1){const u=rl.exec(s);if(u)return this.pathname=u[1],u[2]&&(this.search=u[2]),this}let l=nl.exec(s);if(l&&(l=l[0],n=l.toLowerCase(),this.protocol=l,s=s.substr(l.length)),(t||l||s.match(/^\/\/[^@\/]+@[^@\/]+/))&&(o=s.substr(0,2)==="//",o&&!(l&&wo[l])&&(s=s.substr(2),this.slashes=!0)),!wo[l]&&(o||l&&!Fo[l])){let u=-1;for(let d=0;d<Do.length;d++)i=s.indexOf(Do[d]),i!==-1&&(u===-1||i<u)&&(u=i);let h,f;u===-1?f=s.lastIndexOf("@"):f=s.lastIndexOf("@",u),f!==-1&&(h=s.slice(0,f),s=s.slice(f+1),this.auth=h),u=-1;for(let d=0;d<bo.length;d++)i=s.indexOf(bo[d]),i!==-1&&(u===-1||i<u)&&(u=i);u===-1&&(u=s.length),s[u-1]===":"&&u--;const m=s.slice(0,u);s=s.slice(u),this.parseHost(m),this.hostname=this.hostname||"";const _=this.hostname[0]==="["&&this.hostname[this.hostname.length-1]==="]";if(!_){const d=this.hostname.split(/\./);for(let C=0,g=d.length;C<g;C++){const E=d[C];if(E&&!E.match(Bo)){let D="";for(let F=0,k=E.length;F<k;F++)E.charCodeAt(F)>127?D+="x":D+=E[F];if(!D.match(Bo)){const F=d.slice(0,C),k=d.slice(C+1),B=E.match(al);B&&(F.push(B[1]),k.unshift(B[2])),k.length&&(s=k.join(".")+s),this.hostname=F.join(".");break}}}}this.hostname.length>Al&&(this.hostname=""),_&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}const A=s.indexOf("#");A!==-1&&(this.hash=s.substr(A),s=s.slice(0,A));const a=s.indexOf("?");return a!==-1&&(this.search=s.substr(a),s=s.slice(0,a)),s&&(this.pathname=s),Fo[n]&&this.hostname&&!this.pathname&&(this.pathname=""),this};rn.prototype.parseHost=function(e){let t=ol.exec(e);t&&(t=t[0],t!==":"&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)};const cl=Object.freeze(Object.defineProperty({__proto__:null,decode:bt,encode:Jt,format:On,parse:Yn},Symbol.toStringTag,{value:"Module"})),Sr=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Nr=/[\0-\x1F\x7F-\x9F]/,ul=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/,jn=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B4E\u1B4F\u1B5A-\u1B60\u1B7D-\u1B7F\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDD6E\uDEAD\uDED0\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9\uDFD4\uDFD5\uDFD7\uDFD8]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09\uDFE1]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDD6D-\uDD6F\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD839\uDDFF|\uD83A[\uDD5E\uDD5F]/,Rr=/[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C1\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2429\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E5\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD803[\uDD8E\uDD8F\uDED1-\uDED8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDC00-\uDCEF\uDCFA-\uDCFC\uDD00-\uDEB3\uDEBA-\uDED0\uDEE0-\uDEF0\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED8\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0-\uDCBB\uDCC0\uDCC1\uDCD0-\uDCD8\uDD00-\uDE57\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF-\uDEF8\uDF00-\uDF92\uDF94-\uDFEF\uDFFA]/,Tr=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/,dl=Object.freeze(Object.defineProperty({__proto__:null,Any:Sr,Cc:Nr,Cf:ul,P:jn,S:Rr,Z:Tr},Symbol.toStringTag,{value:"Module"})),hl=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);function fl(e){return e>=55296&&e<=57343||e>1114111?65533:hl.get(e)??e}function pl(e){const t=atob(e),n=t.length&-2,i=new Uint16Array(n/2);for(let o=0,s=0;o<n;o+=2){const l=t.charCodeAt(o),A=t.charCodeAt(o+1);i[s++]=l|A<<8}return i}const ml=pl("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg");var De;(function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.FLAG13=8192]="FLAG13",e[e.BRANCH_LENGTH=8064]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"})(De||(De={}));var ce;(function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"})(ce||(ce={}));const vo=32;function Hn(e){return e>=ce.ZERO&&e<=ce.NINE}function gl(e){return e>=ce.UPPER_A&&e<=ce.UPPER_F||e>=ce.LOWER_A&&e<=ce.LOWER_F}function Cl(e){return e>=ce.UPPER_A&&e<=ce.UPPER_Z||e>=ce.LOWER_A&&e<=ce.LOWER_Z||Hn(e)}function _l(e){return e===ce.EQUALS||Cl(e)}var ge;(function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"})(ge||(ge={}));var ze;(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(ze||(ze={}));class kl{constructor(t,n,i){L(this,"decodeTree");L(this,"emitCodePoint");L(this,"errors");L(this,"state",ge.EntityStart);L(this,"consumed",1);L(this,"result",0);L(this,"treeIndex",0);L(this,"excess",1);L(this,"decodeMode",ze.Strict);L(this,"runConsumed",0);this.decodeTree=t,this.emitCodePoint=n,this.errors=i}startEntity(t){this.decodeMode=t,this.state=ge.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1,this.runConsumed=0}write(t,n){switch(this.state){case ge.EntityStart:return t.charCodeAt(n)===ce.NUM?(this.state=ge.NumericStart,this.consumed+=1,this.stateNumericStart(t,n+1)):(this.state=ge.NamedEntity,this.stateNamedEntity(t,n));case ge.NumericStart:return this.stateNumericStart(t,n);case ge.NumericDecimal:return this.stateNumericDecimal(t,n);case ge.NumericHex:return this.stateNumericHex(t,n);case ge.NamedEntity:return this.stateNamedEntity(t,n)}}stateNumericStart(t,n){return n>=t.length?-1:(t.charCodeAt(n)|vo)===ce.LOWER_X?(this.state=ge.NumericHex,this.consumed+=1,this.stateNumericHex(t,n+1)):(this.state=ge.NumericDecimal,this.stateNumericDecimal(t,n))}stateNumericHex(t,n){for(;n<t.length;){const i=t.charCodeAt(n);if(Hn(i)||gl(i)){const o=i<=ce.NINE?i-ce.ZERO:(i|vo)-ce.LOWER_A+10;this.result=this.result*16+o,this.consumed++,n++}else return this.emitNumericEntity(i,3)}return-1}stateNumericDecimal(t,n){for(;n<t.length;){const i=t.charCodeAt(n);if(Hn(i))this.result=this.result*10+(i-ce.ZERO),this.consumed++,n++;else return this.emitNumericEntity(i,2)}return-1}emitNumericEntity(t,n){var i;if(this.consumed<=n)return(i=this.errors)==null||i.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(t===ce.SEMI)this.consumed+=1;else if(this.decodeMode===ze.Strict)return 0;return this.emitCodePoint(fl(this.result),this.consumed),this.errors&&(t!==ce.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(t,n){const{decodeTree:i}=this;let o=i[this.treeIndex],s=(o&De.VALUE_LENGTH)>>14;for(;n<t.length;){if(s===0&&(o&De.FLAG13)!==0){const A=(o&De.BRANCH_LENGTH)>>7;if(this.runConsumed===0){const a=o&De.JUMP_TABLE;if(t.charCodeAt(n)!==a)return this.result===0?0:this.emitNotTerminatedNamedEntity();n++,this.excess++,this.runConsumed++}for(;this.runConsumed<A;){if(n>=t.length)return-1;const a=this.runConsumed-1,u=i[this.treeIndex+1+(a>>1)],h=a%2===0?u&255:u>>8&255;if(t.charCodeAt(n)!==h)return this.runConsumed=0,this.result===0?0:this.emitNotTerminatedNamedEntity();n++,this.excess++,this.runConsumed++}this.runConsumed=0,this.treeIndex+=1+(A>>1),o=i[this.treeIndex],s=(o&De.VALUE_LENGTH)>>14}if(n>=t.length)break;const l=t.charCodeAt(n);if(l===ce.SEMI&&s!==0&&(o&De.FLAG13)!==0)return this.emitNamedEntityData(this.treeIndex,s,this.consumed+this.excess);if(this.treeIndex=yl(i,o,this.treeIndex+Math.max(1,s),l),this.treeIndex<0)return this.result===0||this.decodeMode===ze.Attribute&&(s===0||_l(l))?0:this.emitNotTerminatedNamedEntity();if(o=i[this.treeIndex],s=(o&De.VALUE_LENGTH)>>14,s!==0){if(l===ce.SEMI)return this.emitNamedEntityData(this.treeIndex,s,this.consumed+this.excess);this.decodeMode!==ze.Strict&&(o&De.FLAG13)===0&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}n++,this.excess++}return-1}emitNotTerminatedNamedEntity(){var o;const{result:t,decodeTree:n}=this,i=(n[t]&De.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,i,this.consumed),(o=this.errors)==null||o.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,n,i){const{decodeTree:o}=this;return this.emitCodePoint(n===1?o[t]&~(De.VALUE_LENGTH|De.FLAG13):o[t+1],i),n===3&&this.emitCodePoint(o[t+2],i),i}end(){var t;switch(this.state){case ge.NamedEntity:return this.result!==0&&(this.decodeMode!==ze.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case ge.NumericDecimal:return this.emitNumericEntity(0,2);case ge.NumericHex:return this.emitNumericEntity(0,3);case ge.NumericStart:return(t=this.errors)==null||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case ge.EntityStart:return 0}}}function El(e){let t="";const n=new kl(e,i=>t+=String.fromCodePoint(i));return function(o,s){let l=0,A=0;for(;(A=o.indexOf("&",A))>=0;){t+=o.slice(l,A),n.startEntity(s);const u=n.write(o,A+1);if(u<0){l=A+n.end();break}l=A+u,A=u===0?l+1:l}const a=t+o.slice(l);return t="",a}}function yl(e,t,n,i){const o=(t&De.BRANCH_LENGTH)>>7,s=t&De.JUMP_TABLE;if(o===0)return s!==0&&i===s?n:-1;if(s){const u=i-s;return u<0||u>=o?-1:e[n+u]-1}const l=o+1>>1;let A=0,a=o-1;for(;A<=a;){const u=A+a>>>1,h=u>>1,m=e[n+h]>>(u&1)*8&255;if(m<i)A=u+1;else if(m>i)a=u-1;else return e[n+l+u]}return-1}const Il=El(ml);function Mr(e){return Il(e,ze.Strict)}var bl=class{constructor(e={}){L(this,"src_Any",Sr.source);L(this,"src_Cc",Nr.source);L(this,"src_Z",Tr.source);L(this,"src_P",jn.source);L(this,"src_ZPCc",[this.src_Z,this.src_P,this.src_Cc].join("|"));L(this,"src_ZCc",[this.src_Z,this.src_Cc].join("|"));L(this,"cache",{});L(this,"opts",{maxLength:1e4,urlAuth:!1,schema_names:[]});this.opts={...this.opts,...e}}set(e={}){return this.opts={...this.opts,...e},this.cache={},this}escapeRE(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}nestedPairRE(e,t,n=4){const i=this.escapeRE(e),o=this.escapeRE(t),s=`(?:(?!${this.src_ZCc}|${i}|${o}).)`;let l=`${i}${s}{0,1000}${o}`;for(let A=2;A<=n;A++)l=`${i}(?:${s}|${l}){0,1000}${o}`;return l}get_text_separators(){var e;return(e=this.cache).text_separators??(e.text_separators=/[><\uff5c]/)}get_pseudo_letter(){var e;return(e=this.cache).src_pseudo_letter??(e.src_pseudo_letter=new RegExp(`(?:(?!${this.get_text_separators().source}|${this.src_ZPCc})${this.src_Any})`))}get_ipv4_addr(){var e;return(e=this.cache).src_ip4??(e.src_ip4=new RegExp("(?:(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])[.]){3}(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])"))}get_ipv6_addr(){var n;const e="[0-9A-Fa-f]{1,4}",t=`(?:(?:${e}:${e})|${this.get_ipv4_addr().source})`;return(n=this.cache).src_ip6_addr??(n.src_ip6_addr=new RegExp(`(?:(?:${e}:){6}${t}|::(?:${e}:){5}${t}|(?:${e})?::(?:${e}:){4}${t}|(?:(?:${e}:){0,1}${e})?::(?:${e}:){3}${t}|(?:(?:${e}:){0,2}${e})?::(?:${e}:){2}${t}|(?:(?:${e}:){0,3}${e})?::${e}:${t}|(?:(?:${e}:){0,4}${e})?::${t}|(?:(?:${e}:){0,5}${e})?::${e}|(?:(?:${e}:){0,6}${e})?::)`))}get_ipv6_url_host(){var e;return(e=this.cache).src_ip6_host??(e.src_ip6_host=new RegExp(`\\[${this.get_ipv6_addr().source}\\]`))}get_ipv6_mail_host(){var e;return(e=this.cache).src_ipv6_mail_host??(e.src_ipv6_mail_host=new RegExp(`\\[IPv6:${this.get_ipv6_addr().source}\\]`))}get_auth(){var e;return(e=this.cache).src_auth??(e.src_auth=new RegExp(`(?:(?:(?!${this.src_ZCc}|[@/\\[\\]()]).){1,50}@)?`))}get_port(){var e;return(e=this.cache).src_port??(e.src_port=new RegExp("(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?"))}get_host_terminator(){var e;return(e=this.cache).src_host_terminator??(e.src_host_terminator=new RegExp(`(?=$|${this.get_text_separators().source}|${this.src_ZPCc})(?!${this.opts["---"]?"-(?!--)|":"-|"}_|:\\d|\\.-|\\.(?!$|${this.src_ZPCc}))`))}get_path_terminator(){var e;return(e=this.cache).src_path_terminator??(e.src_path_terminator=new RegExp(`${this.src_ZPCc}|${this.get_text_separators().source}`))}get_path(){var e;return(e=this.cache).src_path??(e.src_path=new RegExp(`(?:[/?#](?:${this.nestedPairRE("[","]")}|${this.nestedPairRE("(",")")}|${this.nestedPairRE("{","}")}|\\"(?:(?!${this.src_ZCc}|["]).){1,100}\\"|\\'(?:(?!${this.src_ZCc}|[']).){1,100}\\'|\\'(?=${this.get_pseudo_letter().source}|[-])|\\.{2,20}[:]?[a-zA-Z0-9%/&]|\\.(?!${this.src_ZCc}|[.]|$)|`+(this.opts["---"]?"\\-(?!--(?:[^-]|$))(?:-{0,19})|":"\\-{1,20}|")+`,(?!${this.src_ZCc}|$)|;(?!${this.src_ZCc}|$)|\\!{1,20}(?!${this.src_ZCc}|[!]|$)|\\?(?!${this.src_ZCc}|[?]|$)|`+this.get_path_extra().source+`[\\\\/:%@#&=_~*]|(?!${this.get_path_terminator().source}).){1,${this.opts.maxLength}}|\\/)?`))}get_mail_name(){var e;return(e=this.cache).src_mail_name??(e.src_mail_name=new RegExp("[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9](?:[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9]|[.](?=[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9])){0,63}"))}get_xn(){var e;return(e=this.cache).src_xn??(e.src_xn=new RegExp("xn--[a-z0-9\\-]{1,59}"))}get_tld(){if(this.cache.tld)return this.cache.tld;const e=[...new Set(this.opts.tlds||[])].sort().reverse().join("|");return this.cache.tld=new RegExp(`${e||"$#none#$"}|${this.get_xn().source}`),this.cache.tld}get_domain_root(){var e;return(e=this.cache).src_domain_root??(e.src_domain_root=new RegExp("(?:"+this.get_xn().source+`|${this.get_pseudo_letter().source}{1,63})`))}get_domain(){var e;return(e=this.cache).src_domain??(e.src_domain=new RegExp("(?:"+this.get_xn().source+`|(?:${this.get_pseudo_letter().source})|(?:${this.get_pseudo_letter().source}(?:-|${this.get_pseudo_letter().source}){0,61}${this.get_pseudo_letter().source}))`))}get_url_host_port(){var e;return(e=this.cache).url_host_port??(e.url_host_port=new RegExp("(?:"+this.get_ipv6_url_host().source+`|(?:(?:(?:${this.get_domain().source})\\.){0,10}${this.get_domain().source}))`+this.get_port().source+this.get_host_terminator().source))}get_fuzzy_url_host_port(){var e;return(e=this.cache).fuzzy_url_host_port??(e.fuzzy_url_host_port=new RegExp("(?:"+(this.opts.fuzzyIP?this.get_ipv4_addr().source+"|":"")+`(?:(?:(?:${this.get_domain().source})\\.){1,10}(?:${this.get_tld().source})))`+this.get_host_terminator().source))}get_mail_host(){var e;return(e=this.cache).src_mail_host??(e.src_mail_host=new RegExp("(?:"+this.get_ipv6_mail_host().source+`|(?:(?:(?:${this.get_domain().source})\\.){0,4}${this.get_domain().source}))`+this.get_host_terminator().source))}get_fuzzy_mail_host(){var e;return(e=this.cache).src_fuzzy_mail_host??(e.src_fuzzy_mail_host=new RegExp("(?:"+this.get_ipv6_mail_host().source+`|(?:(?:(?:${this.get_domain().source})[.]){1,4}${this.get_domain_root().source}))`+this.get_host_terminator().source))}get_path_extra(){var e;return(e=this.cache).src_path_extra??(e.src_path_extra=new RegExp(""))}get_fuzzy_mail_host_search(){var e;return(e=this.cache).mail_fuzzy_host_search??(e.mail_fuzzy_host_search=new RegExp(`@${this.get_fuzzy_mail_host().source}`,"ig"))}get_fuzzy_link_search(){var e;return(e=this.cache).link_fuzzy_search??(e.link_fuzzy_search=new RegExp(`(^|(?![.:/\\-_@])(?:[$+<=>^\`||]|${this.src_ZPCc}))(?:(?![$+<=>^\`||])${this.get_fuzzy_url_host_port().source}${this.get_path().source})`,"ig"))}get_http_validator(){var e;return(e=this.cache).http_validator??(e.http_validator=new RegExp("\\/\\/"+(this.opts.urlAuth?this.get_auth().source:"")+this.get_url_host_port().source+this.get_path().source,"iy"))}get_relative_proto_validator(){var e;return(e=this.cache).relative_proto_validator??(e.relative_proto_validator=new RegExp((this.opts.urlAuth?this.get_auth().source:"")+`(?:localhost|${this.get_ipv6_url_host().source}|(?:(?:${this.get_domain().source})[.]){1,10}${this.get_domain_root().source})`+this.get_port().source+this.get_host_terminator().source+this.get_path().source,"iy"))}get_mail_name_validator(){var e;return(e=this.cache).mail_name_validator??(e.mail_name_validator=new RegExp(`(?:^|${this.get_text_separators().source}|"|\\(|${this.src_ZCc})(${this.get_mail_name().source})$`))}get_mailto_validator(){var e;return(e=this.cache).mailto_validator??(e.mailto_validator=new RegExp(`${this.get_mail_name().source}@${this.get_mail_host().source}`,"iy"))}get_schema_names(){var e;return(e=this.cache).schema_names??(e.schema_names=new RegExp((this.opts.schema_names||[]).map(t=>this.escapeRE(t)).join("|")))}get_schema_search(){var e;return(e=this.cache).schema_search??(e.schema_search=new RegExp(`(^|(?!_)(?:[><|]|${this.src_ZPCc}))(${this.get_schema_names().source})`,"ig"))}get_schema_at_start(){var e;return(e=this.cache).schema_at_start??(e.schema_at_start=new RegExp(`^${this.get_schema_search().source}`,"i"))}},wn={validate:(e,t,n)=>{const i=n.re.get_http_validator();i.lastIndex=t;const o=i.exec(e);return o?o[0].length:0},normalize:(e,t)=>t.normalize(e)},Dl={"http:":wn,"https:":wn,"ftp:":wn,"//":{validate:function(e,t,n){const i=n.re.get_relative_proto_validator();i.lastIndex=t;const o=i.exec(e);return o?t>=3&&e[t-3]===":"||t>=3&&e[t-3]==="/"?0:o[0].length:0},normalize:(e,t)=>t.normalize(e)},"mailto:":{validate:function(e,t,n){const i=n.re.get_mailto_validator();i.lastIndex=t;const o=i.exec(e);return o?o[0].length:0},normalize:(e,t)=>t.normalize(e)}},Bl="a:cdefgilmnoqrstuwxz|b:abdefghijmnorstvwyz|c:acdfghiklmnoruvwxyz|d:ejkmoz|e:cegrstu|f:ijkmor|g:abdefghilmnpqrstuwy|h:kmnrtu|i:delmnoqrst|j:emop|k:eghimnprwyz|l:abcikrstuvy|m:acdeghklmnopqrstuvwxyz|n:acefgilopruz|o:m|p:aefghklmnrstwy|q:a|r:eosuw|s:abcdeghijklmnortuvxyz|t:cdfghjklmnortvwz|u:agksyz|v:aceginu|w:fs|y:et|z:amw",wl="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф";function Fl(){const e=wl.split("|");return Bl.split("|").forEach(t=>{const n=t.indexOf(":"),i=t.slice(0,n);for(const o of t.slice(n+1))e.push(i+o)}),e}var vl={fuzzyLink:!1,fuzzyEmail:!0,fuzzyIP:!1,"---":!1,tlds:Fl(),urlAuth:!1,maxLength:1e4},xo=class{constructor(e,t,n,i){L(this,"schema");L(this,"index");L(this,"lastIndex");L(this,"raw");L(this,"text");L(this,"url");const o=e.slice(n,i);this.schema=t.toLowerCase(),this.index=n,this.lastIndex=i,this.raw=o,this.text=o,this.url=o}},xl=class{constructor(e={}){L(this,"__opts__");L(this,"__schemas__");L(this,"re");const{rebuilder:t,...n}=e;this.__opts__={...vl,...n},this.__schemas__={...Dl},this.re=t||new bl,this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)})}add(e,t=null){if(!t)delete this.__schemas__[e];else{const n={normalize:(i,o)=>o.normalize(i),...t};this.__schemas__[e]=n}return this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}set(e={}){return this.__opts__={...this.__opts__,...e},this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}test(e){if(!e.length)return!1;let t,n;for(n=this.re.get_schema_search(),n.lastIndex=0;(t=n.exec(e))!==null;)if(this.testSchemaAt(e,t[2],n.lastIndex))return!0;if(this.__opts__.fuzzyLink&&this.__schemas__["http:"]&&(n=this.re.get_fuzzy_link_search(),n.lastIndex=0,n.exec(e)!==null))return!0;if(this.__opts__.fuzzyEmail&&this.__schemas__["mailto:"]&&e.indexOf("@")>=0){const i=this.re.get_fuzzy_mail_host_search(),o=this.re.get_mail_name_validator();for(i.lastIndex=0;(t=i.exec(e))!==null;){const s=e.slice(Math.max(0,t.index-65),t.index);if(o.test(s))return!0}}return!1}testSchemaAt(e,t,n){return this.__schemas__[t.toLowerCase()]?this.__schemas__[t.toLowerCase()].validate(e.slice(0,n+this.__opts__.maxLength),n,this):0}match(e){const t=[],n=this.re.get_schema_search();let i,o,s,l,A,a,u=!1,h=!1,f=!1,m=0;if(!e.length)return null;for(n.lastIndex=0,this.__opts__.fuzzyLink&&this.__schemas__["http:"]&&(i=this.re.get_fuzzy_link_search(),i.lastIndex=0),this.__opts__.fuzzyEmail&&this.__schemas__["mailto:"]&&(o=this.re.get_fuzzy_mail_host_search(),o.lastIndex=0,s=this.re.get_mail_name_validator());;){const _=Math.max(m-1,0);if(o&&s&&!f&&(!A||A.index<m))for(o.lastIndex<_&&(o.lastIndex=_);;){const D=o.exec(e);if(!D){f=!0,A=void 0;break}const F=s.exec(e.slice(Math.max(0,D.index-65),D.index));if(F){if(A={schema:"mailto:",index:D.index-F[1].length,lastIndex:D.index+D[0].length},A.index>=m)break;o.lastIndex<_&&(o.lastIndex=_)}}if(i&&!h&&(!l||l.index<m))for(i.lastIndex<_&&(i.lastIndex=_);;){const D=i.exec(e);if(!D){h=!0,l=void 0;break}if(l={schema:"",index:D.index+D[1].length,lastIndex:D.index+D[0].length},l.index>=m)break;i.lastIndex<_&&(i.lastIndex=_)}let d=A;(!d||l&&(l.index<d.index||l.index===d.index&&l.lastIndex>d.lastIndex))&&(d=l);let C;if(!u)for(;;){if(!a){n.lastIndex<_&&(n.lastIndex=_);const k=n.exec(e);if(!k){u=!0;break}a={schema:k[2],index:k.index+k[1].length,lastIndex:k.index+k[0].length}}if(a.index<m){a=void 0;continue}if(d&&a.index>d.index)break;const D=a;a=void 0;const F=this.testSchemaAt(e,D.schema,D.lastIndex);if(F){C={schema:D.schema,index:D.index,lastIndex:D.lastIndex+F};break}}let g=C;if((!g||A&&(A.index<g.index||A.index===g.index&&A.lastIndex>g.lastIndex))&&(g=A),(!g||l&&(l.index<g.index||l.index===g.index&&l.lastIndex>g.lastIndex))&&(g=l),!g)break;g===A?A=void 0:g===l&&(l=void 0);const E=new xo(e,g.schema,g.index,g.lastIndex);E.schema?this.__schemas__[E.schema].normalize(E,this):this.normalize(E),t.push(E),m=g.lastIndex}return t.length?t:null}matchAtStart(e){if(!e.length)return null;const t=this.re.get_schema_at_start().exec(e);if(!t)return null;const n=this.testSchemaAt(e,t[2],t[0].length);if(!n)return null;const i=new xo(e,t[2],t.index+t[1].length,t.index+t[0].length+n);return this.__schemas__[i.schema].normalize(i,this),i}tlds(e,t=!1){return e=Array.isArray(e)?e:[e],t?this.__opts__.tlds=this.__opts__.tlds.concat(e):this.__opts__.tlds=e,this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}normalize(e){e.schema||(e.url=`http://${e.url}`),e.schema==="mailto:"&&!/^mailto:/i.test(e.url)&&(e.url=`mailto:${e.url}`)}};const yt=2147483647,We=36,Xn=1,Kt=26,Sl=38,Nl=700,Qr=72,Kr=128,Gr="-",Rl=/^xn--/,Tl=/[^\0-\x7F]/,Ml=/[\x2E\u3002\uFF0E\uFF61]/g,Ql={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},Fn=We-Xn,Oe=Math.floor,vn=String.fromCharCode;function Pe(e){throw new RangeError(Ql[e])}function Kl(e,t){const n=[];let i=e.length;for(;i--;)n[i]=t(e[i]);return n}function Wr(e,t){const n=e.split("@");let i="";n.length>1&&(i=n[0]+"@",e=n[1]),e=e.replace(Ml,".");const o=e.split("."),s=Kl(o,t).join(".");return i+s}function Or(e){const t=[];let n=0;const i=e.length;for(;n<i;){const o=e.charCodeAt(n++);if(o>=55296&&o<=56319&&n<i){const s=e.charCodeAt(n++);(s&64512)==56320?t.push(((o&1023)<<10)+(s&1023)+65536):(t.push(o),n--)}else t.push(o)}return t}const Gl=e=>String.fromCodePoint(...e),Wl=function(e){return e>=48&&e<58?26+(e-48):e>=65&&e<91?e-65:e>=97&&e<123?e-97:We},So=function(e,t){return e+22+75*(e<26)-((t!=0)<<5)},Yr=function(e,t,n){let i=0;for(e=n?Oe(e/Nl):e>>1,e+=Oe(e/t);e>Fn*Kt>>1;i+=We)e=Oe(e/Fn);return Oe(i+(Fn+1)*e/(e+Sl))},Hr=function(e){const t=[],n=e.length;let i=0,o=Kr,s=Qr,l=e.lastIndexOf(Gr);l<0&&(l=0);for(let A=0;A<l;++A)e.charCodeAt(A)>=128&&Pe("not-basic"),t.push(e.charCodeAt(A));for(let A=l>0?l+1:0;A<n;){const a=i;for(let h=1,f=We;;f+=We){A>=n&&Pe("invalid-input");const m=Wl(e.charCodeAt(A++));m>=We&&Pe("invalid-input"),m>Oe((yt-i)/h)&&Pe("overflow"),i+=m*h;const _=f<=s?Xn:f>=s+Kt?Kt:f-s;if(m<_)break;const d=We-_;h>Oe(yt/d)&&Pe("overflow"),h*=d}const u=t.length+1;s=Yr(i-a,u,a==0),Oe(i/u)>yt-o&&Pe("overflow"),o+=Oe(i/u),i%=u,t.splice(i++,0,o)}return String.fromCodePoint(...t)},Ur=function(e){const t=[];e=Or(e);const n=e.length;let i=Kr,o=0,s=Qr;for(const a of e)a<128&&t.push(vn(a));const l=t.length;let A=l;for(l&&t.push(Gr);A<n;){let a=yt;for(const h of e)h>=i&&h<a&&(a=h);const u=A+1;a-i>Oe((yt-o)/u)&&Pe("overflow"),o+=(a-i)*u,i=a;for(const h of e)if(h<i&&++o>yt&&Pe("overflow"),h===i){let f=o;for(let m=We;;m+=We){const _=m<=s?Xn:m>=s+Kt?Kt:m-s;if(f<_)break;const d=f-_,C=We-_;t.push(vn(So(_+d%C,0))),f=Oe(d/C)}t.push(vn(So(f,0))),s=Yr(o,u,A===l),o=0,++A}++o,++i}return t.join("")},Ol=function(e){return Wr(e,function(t){return Rl.test(t)?Hr(t.slice(4).toLowerCase()):t})},Yl=function(e){return Wr(e,function(t){return Tl.test(t)?"xn--"+Ur(t):t})},No={version:"2.3.1",ucs2:{decode:Or,encode:Gl},decode:Hr,encode:Ur,toASCII:Yl,toUnicode:Ol};/*! markdown-it 15.0.0 https://github.com/markdown-it/markdown-it @license MIT */var Ro=Object.defineProperty,Vr=(e,t)=>{let n={};for(var i in e)Ro(n,i,{get:e[i],enumerable:!0});return Ro(n,Symbol.toStringTag,{value:"Module"}),n},Hl=Vr({arrayReplaceAt:()=>Jr,asciiTrim:()=>an,callable:()=>Lr,escapeHtml:()=>qe,escapeRE:()=>$l,fromCodePoint:()=>Gt,isMdAsciiPunct:()=>Yt,isPunctChar:()=>Pr,isPunctCharCode:()=>Ot,isSpace:()=>se,isValidEntityCode:()=>$n,isWhiteSpace:()=>Wt,lib:()=>ql,normalizeReference:()=>An,unescapeAll:()=>Dt,unescapeMd:()=>Jl});function Lr(e){const t=function(...n){return Reflect.construct(e,n,new.target&&new.target!==t?new.target:e)};return Object.defineProperty(t,"name",{value:e.name}),Object.setPrototypeOf(t,e),t.prototype=e.prototype,t}function Jr(e,t,n){return[].concat(e.slice(0,t),n,e.slice(t+1))}function $n(e){return!(e>=55296&&e<=57343||e>=64976&&e<=65007||(e&65535)===65535||(e&65535)===65534||e>=0&&e<=8||e===11||e>=14&&e<=31||e>=127&&e<=159||e>1114111)}function Gt(e){if(e>65535){e-=65536;const t=55296+(e>>10),n=56320+(e&1023);return String.fromCharCode(t,n)}return String.fromCharCode(e)}var Zr=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g,Ul=new RegExp(`${Zr.source}|${/&([a-z#][a-z0-9]{1,31});/gi.source}`,"gi"),Vl=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;function Ll(e,t){if(t.charCodeAt(0)===35&&Vl.test(t)){const i=t[1].toLowerCase()==="x"?parseInt(t.slice(2),16):parseInt(t.slice(1),10);return $n(i)?Gt(i):e}const n=Mr(e);return n!==e?n:e}function Jl(e){return e.indexOf("\\")<0?e:e.replace(Zr,"$1")}function Dt(e){return e.indexOf("\\")<0&&e.indexOf("&")<0?e:e.replace(Ul,function(t,n,i){return n||Ll(t,i)})}var Zl=/[&<>"]/,Pl=/[&<>"]/g,zl={"&":"&","<":"<",">":">",'"':"""};function jl(e){return zl[e]}function qe(e){return Zl.test(e)?e.replace(Pl,jl):e}var Xl=/[.?*+^$[\]\\(){}|-]/g;function $l(e){return e.replace(Xl,"\\$&")}function se(e){switch(e){case 9:case 32:return!0}return!1}function Wt(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}function Pr(e){return jn.test(e)||Rr.test(e)}function Ot(e){return Pr(Gt(e))}function Yt(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function An(e){return e=e.trim().replace(/\s+/g," "),e.toLowerCase().toUpperCase()}function To(e){return e===32||e===9||e===10||e===13}function an(e){let t=0;for(;t<e.length&&To(e.charCodeAt(t));t++);let n=e.length-1;for(;n>=t&&To(e.charCodeAt(n));n--);return e.slice(t,n+1)}var ql={mdurl:cl,ucmicro:dl};function eA(e,t,n){let i,o,s,l;const A=e.posMax,a=e.pos;for(e.pos=t+1,i=1;e.pos<A;){if(s=e.src.charCodeAt(e.pos),s===93&&(i--,i===0)){o=!0;break}if(l=e.pos,e.md.inline.skipToken(e),s===91){if(l===e.pos-1)i++;else if(n)return e.pos=a,-1}}let u=-1;return o&&(u=e.pos),e.pos=a,u}function tA(e,t,n){let i,o=t;const s={ok:!1,pos:0,str:""};if(e.charCodeAt(o)===60){for(o++;o<n;){if(i=e.charCodeAt(o),i===10||i===60)return s;if(i===62)return s.pos=o+1,s.str=Dt(e.slice(t+1,o)),s.ok=!0,s;if(i===92&&o+1<n){o+=2;continue}o++}return s}let l=0;for(;o<n&&(i=e.charCodeAt(o),!(i===32||i<32||i===127));){if(i===92&&o+1<n){if(e.charCodeAt(o+1)===32){o++;continue}o+=2;continue}if(i===40&&(l++,l>32))return s;if(i===41){if(l===0)break;l--}o++}return t===o||l!==0||(s.str=Dt(e.slice(t,o)),s.pos=o,s.ok=!0),s}function nA(e,t,n,i){let o,s=t;const l={ok:!1,can_continue:!1,pos:0,str:"",marker:0};if(i)l.str=i.str,l.marker=i.marker;else{if(s>=n)return l;let A=e.charCodeAt(s);if(A!==34&&A!==39&&A!==40)return l;t++,s++,A===40&&(A=41),l.marker=A}for(;s<n;){if(o=e.charCodeAt(s),o===l.marker)return l.pos=s+1,l.str+=Dt(e.slice(t,s)),l.ok=!0,l;if(o===40&&l.marker===41)return l;o===92&&s+1<n&&s++,s++}return l.can_continue=!0,l.str+=Dt(e.slice(t,s)),l}var oA=Vr({parseLinkDestination:()=>tA,parseLinkLabel:()=>eA,parseLinkTitle:()=>nA});function Ht(e){"@babel/helpers - typeof";return Ht=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ht(e)}function rA(e,t){if(Ht(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var i=n.call(e,t);if(Ht(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function iA(e){var t=rA(e,"string");return Ht(t)=="symbol"?t:t+""}function T(e,t,n){return(t=iA(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var At=class{constructor(e,t,n){T(this,"map",null),T(this,"level",0),T(this,"children",null),T(this,"content",""),T(this,"markup",""),T(this,"info",""),T(this,"block",!1),T(this,"hidden",!1),this.type=e,this.tag=t,this.attrs=null,this.nesting=n,this.meta=null}attrIndex(e){if(!this.attrs)return-1;const t=this.attrs;for(let n=0,i=t.length;n<i;n++)if(t[n][0]===e)return n;return-1}attrPush(e){this.attrs?this.attrs.push(e):this.attrs=[e]}attrSet(e,t){const n=this.attrIndex(e),i=[e,t];n<0?this.attrPush(i):this.attrs[n]=i}attrGet(e){const t=this.attrIndex(e);let n=null;return t>=0&&(n=this.attrs[t][1]),n}attrJoin(e,t){const n=this.attrIndex(e);n<0?this.attrPush([e,t]):this.attrs[n][1]=`${this.attrs[n][1]} ${t}`}},Ut=class{constructor(){T(this,"__rules__",[]),T(this,"__cache__",null)}__find__(e){for(let t=0;t<this.__rules__.length;t++)if(this.__rules__[t].name===e)return t;return-1}__compile__(){const e=new Set;this.__rules__.forEach(t=>{t.enabled&&t.alt.forEach(n=>{n&&e.add(n)})}),this.__cache__=Object.create(null),this.__cache__[""]=[],this.__rules__.forEach(t=>{t.enabled&&this.__cache__[""].push(t.fn)}),e.forEach(t=>{this.__cache__[t]=[],this.__rules__.forEach(n=>{n.enabled&&n.alt.indexOf(t)>=0&&this.__cache__[t].push(n.fn)})})}at(e,t,n={}){const i=this.__find__(e);if(i===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__[i].fn=t,this.__rules__[i].alt=n.alt||[],this.__cache__=null}before(e,t,n,i={}){const o=this.__find__(e);if(o===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__.splice(o,0,{name:t,enabled:!0,fn:n,alt:i.alt||[]}),this.__cache__=null}after(e,t,n,i={}){const o=this.__find__(e);if(o===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__.splice(o+1,0,{name:t,enabled:!0,fn:n,alt:i.alt||[]}),this.__cache__=null}push(e,t,n={}){this.__rules__.push({name:e,enabled:!0,fn:t,alt:n.alt||[]}),this.__cache__=null}enable(e,t=!1){Array.isArray(e)||(e=[e]);const n=[];return e.forEach(i=>{const o=this.__find__(i);if(o<0){if(t)return;throw new Error(`Rules manager: invalid rule name ${i}`)}this.__rules__[o].enabled=!0,n.push(i)}),this.__cache__=null,n}enableOnly(e,t=!1){Array.isArray(e)||(e=[e]),this.__rules__.forEach(n=>{n.enabled=!1}),this.enable(e,t)}disable(e,t=!1){Array.isArray(e)||(e=[e]);const n=[];return e.forEach(i=>{const o=this.__find__(i);if(o<0){if(t)return;throw new Error(`Rules manager: invalid rule name ${i}`)}this.__rules__[o].enabled=!1,n.push(i)}),this.__cache__=null,n}getRules(e){return this.__cache__||this.__compile__(),this.__cache__[e]||[]}},He={};He.code_inline=function(e,t,n,i,o){const s=e[t];return`<code${o.renderAttrs(s)}>${qe(s.content)}</code>`};He.code_block=function(e,t,n,i,o){const s=e[t];return`<pre${o.renderAttrs(s)}><code>${qe(e[t].content)}</code></pre>
|
|
40
|
+
`};He.fence=function(e,t,n,i,o){const s=e[t],l=s.info?Dt(s.info).trim():"";let A="",a="";if(l){const h=l.split(/(\s+)/g);A=h[0],a=h.slice(2).join("")}let u;if(n.highlight?u=n.highlight(s.content,A,a)||qe(s.content):u=qe(s.content),u.indexOf("<pre")===0)return u+`
|
|
41
|
+
`;if(l){const h=s.attrIndex("class"),f=s.attrs?s.attrs.slice():[];h<0?f.push(["class",`${n.langPrefix}${A}`]):(f[h]=[f[h][0],f[h][1]],f[h][1]+=` ${n.langPrefix}${A}`);const m={attrs:f};return`<pre><code${o.renderAttrs(m)}>${u}</code></pre>
|
|
43
42
|
`}return`<pre><code${o.renderAttrs(s)}>${u}</code></pre>
|
|
44
|
-
`};
|
|
43
|
+
`};He.image=function(e,t,n,i,o){const s=e[t];return s.attrs[s.attrIndex("alt")][1]=o.renderInlineAsText(s.children,n,i),o.renderToken(e,t,n)};He.hardbreak=function(e,t,n){return n.xhtmlOut?`<br />
|
|
45
44
|
`:`<br>
|
|
46
|
-
`};
|
|
45
|
+
`};He.softbreak=function(e,t,n){return n.breaks?n.xhtmlOut?`<br />
|
|
47
46
|
`:`<br>
|
|
48
47
|
`:`
|
|
49
|
-
`};
|
|
48
|
+
`};He.text=function(e,t){return qe(e[t].content)};He.html_block=function(e,t){return e[t].content};He.html_inline=function(e,t){return e[t].content};var zr=class{constructor(){T(this,"rules",Object.assign({},He))}renderAttrs(e){let t,n,i;if(!e.attrs)return"";for(i="",t=0,n=e.attrs.length;t<n;t++)i+=` ${qe(e.attrs[t][0])}="${qe(String(e.attrs[t][1]))}"`;return i}renderToken(e,t,n){const i=e[t];let o="";if(i.hidden)return"";let s=t-1;for(;s>=0&&e[s].hidden&&e[s].nesting===0;)s--;i.block&&i.nesting!==-1&&s>=0&&e[s].hidden&&e[s].nesting===-1&&(o+=`
|
|
50
49
|
`),o+=(i.nesting===-1?"</":"<")+i.tag,o+=this.renderAttrs(i),i.nesting===0&&n.xhtmlOut&&(o+=" /");let l=!1;if(i.block&&(l=!0,i.nesting===1)){let A=t+1;for(;A<e.length&&e[A].hidden&&e[A].nesting===0;)A++;if(A<e.length){const a=e[A];(a.type==="inline"||a.hidden||a.nesting===-1&&a.tag===i.tag)&&(l=!1)}}return o+=l?`>
|
|
51
50
|
`:">",o}renderInline(e,t,n){let i="";const o=this.rules;for(let s=0,l=e.length;s<l;s++){const A=e[s].type;typeof o[A]<"u"?i+=o[A](e,s,t,n,this):i+=this.renderToken(e,s,t)}return i}renderInlineAsText(e,t,n){let i="";for(let o=0,s=e.length;o<s;o++)switch(e[o].type){case"text":case"code_inline":i+=e[o].content;break;case"image":i+=this.renderInlineAsText(e[o].children,t,n);break;case"html_inline":case"html_block":i+=e[o].content;break;case"softbreak":case"hardbreak":i+=`
|
|
52
|
-
`}return i}render(e,t,n){let i="";const o=this.rules;for(let s=0,l=e.length;s<l;s++){const A=e[s].type;A==="inline"?i+=this.renderInline(e[s].children,t,n):typeof o[A]<"u"?i+=o[A](e,s,t,n,this):i+=this.renderToken(e,s,t)}return i}},
|
|
53
|
-
`),t=t.replace(Ql,"�"),e.src=t}function Kl(e){let t;e.inlineMode?(t=new e.Token("inline","",0),t.content=e.src,t.map=[0,1],t.children=[],e.tokens.push(t)):e.md.block.parse(e.src,e.md,e.env,e.tokens)}function Gl(e){const t=e.tokens;let n=0;for(let i=0;i<t.length;i++)t[i].type!=="reference_definition"&&(i!==n&&(t[n]=t[i]),n++);t.length!==n&&(t.length=n)}function Wl(e){const t=e.tokens;for(let n=0,i=t.length;n<i;n++){const o=t[n];o.type==="inline"&&e.md.inline.parse(o.content,e.md,e.env,o.children)}}function Yl(e){return/^<a[>\s]/i.test(e)}function Ol(e){return/^<\/a\s*>/i.test(e)}function Hl(e){const t=e.tokens;if(e.md.options.linkify)for(let n=0,i=t.length;n<i;n++){if(t[n].type!=="inline"||!e.md.linkify.test(t[n].content))continue;let o=t[n].children,s=0;for(let l=o.length-1;l>=0;l--){const A=o[l];if(A.type==="link_close"){for(l--;o[l].level!==A.level&&o[l].type!=="link_open";)l--;continue}if(A.type==="html_inline"&&(Yl(A.content)&&s>0&&s--,Ol(A.content)&&s++),!(s>0)&&A.type==="text"&&e.md.linkify.test(A.content)){const a=A.content;let u=e.md.linkify.match(a);const d=[];let f=A.level,_=0;u.length>0&&u[0].index===0&&l>0&&o[l-1].type==="text_special"&&(u=u.slice(1));for(let m=0;m<u.length;m++){const h=u[m].url,k=e.md.normalizeLink(h);if(!e.md.validateLink(k))continue;let D=u[m].text;u[m].schema?u[m].schema==="mailto:"&&!/^mailto:/i.test(D)?D=e.md.normalizeLinkText(`mailto:${D}`).replace(/^mailto:/,""):D=e.md.normalizeLinkText(D):D=e.md.normalizeLinkText(`http://${D}`).replace(/^http:\/\//,"");const g=u[m].index;if(g>_){const y=new e.Token("text","",0);y.content=a.slice(_,g),y.level=f,d.push(y)}const B=new e.Token("link_open","a",1);B.attrs=[["href",k]],B.level=f++,B.markup="linkify",B.info="auto",d.push(B);const x=new e.Token("text","",0);x.content=D,x.level=f,d.push(x);const C=new e.Token("link_close","a",-1);C.level=--f,C.markup="linkify",C.info="auto",d.push(C),_=u[m].lastIndex}if(_<a.length){const m=new e.Token("text","",0);m.content=a.slice(_),m.level=f,d.push(m)}t[n].children=o=Ir(o,l,d)}}}}var vr=/\+-|\.\.|\?\?\?\?|!!!!|,,|--/,Vl=/\((c|tm|r)\)/i,Ul=/\((c|tm|r)\)/gi,Ll={c:"©",r:"®",tm:"™"};function Jl(e,t){return Ll[t.toLowerCase()]}function Zl(e){let t=0;for(let n=e.length-1;n>=0;n--){const i=e[n];i.type==="text"&&!t&&(i.content=i.content.replace(Ul,Jl)),i.type==="link_open"&&i.info==="auto"&&t--,i.type==="link_close"&&i.info==="auto"&&t++}}function Pl(e){let t=0;for(let n=e.length-1;n>=0;n--){const i=e[n];i.type==="text"&&!t&&vr.test(i.content)&&(i.content=i.content.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/gm,"$1—").replace(/(^|\s)--(?=\s|$)/gm,"$1–").replace(/(^|[^-\s])--(?=[^-\s]|$)/gm,"$1–")),i.type==="link_open"&&i.info==="auto"&&t--,i.type==="link_close"&&i.info==="auto"&&t++}}function zl(e){let t;if(e.md.options.typographer)for(t=e.tokens.length-1;t>=0;t--)e.tokens[t].type==="inline"&&(Vl.test(e.tokens[t].content)&&Zl(e.tokens[t].children),vr.test(e.tokens[t].content)&&Pl(e.tokens[t].children))}var jl=/['"]/,bo=/['"]/g,Do="’";function Jt(e,t,n,i){e[t]||(e[t]=[]),e[t].push({pos:n,ch:i})}function Xl(e,t){let n="",i=0;t.sort((o,s)=>o.pos-s.pos);for(let o=0;o<t.length;o++){const s=t[o];n+=e.slice(i,s.pos)+s.ch,i=s.pos+1}return n+e.slice(i)}function $l(e,t){let n;const i=[],o={};for(let s=0;s<e.length;s++){const l=e[s],A=e[s].level;for(n=i.length-1;n>=0&&!(i[n].level<=A);n--);if(i.length=n+1,l.type!=="text")continue;const a=l.content;let u=0;const d=a.length;e:for(;u<d;){bo.lastIndex=u;const f=bo.exec(a);if(!f)break;let _=!0,m=!0;u=f.index+1;const h=f[0]==="'";let k=32;if(f.index-1>=0)k=a.charCodeAt(f.index-1);else for(n=s-1;n>=0&&!(e[n].type==="softbreak"||e[n].type==="hardbreak");n--)if(e[n].content){k=e[n].content.charCodeAt(e[n].content.length-1);break}let D=32;if(u<d)D=a.charCodeAt(u);else for(n=s+1;n<e.length&&!(e[n].type==="softbreak"||e[n].type==="hardbreak");n++)if(e[n].content){D=e[n].content.charCodeAt(0);break}const g=Rt(k)||Nt(k),B=Rt(D)||Nt(D),x=St(k),C=St(D);if(C?_=!1:B&&(x||g||(_=!1)),x?m=!1:g&&(C||B||(m=!1)),D===34&&f[0]==='"'&&k>=48&&k<=57&&(m=_=!1),_&&m&&(_=g,m=B),!_&&!m){h&&Jt(o,s,f.index,Do);continue}if(m)for(n=i.length-1;n>=0;n--){let y=i[n];if(i[n].level<A)break;if(y.single===h&&i[n].level===A){y=i[n];let K,H;h?(K=t.md.options.quotes[2],H=t.md.options.quotes[3]):(K=t.md.options.quotes[0],H=t.md.options.quotes[1]),Jt(o,s,f.index,H),Jt(o,y.token,y.pos,K),i.length=n;continue e}}_?i.push({token:s,pos:f.index,single:h,level:A}):m&&h&&Jt(o,s,f.index,Do)}}Object.keys(o).forEach(function(s){const l=Number(s);e[l].content=Xl(e[l].content,o[s])})}function ql(e){if(e.md.options.typographer)for(let t=e.tokens.length-1;t>=0;t--)e.tokens[t].type!=="inline"||!jl.test(e.tokens[t].content)||$l(e.tokens[t].children,e)}function eA(e){let t,n;const i=e.length;for(t=0;t<i;t++)e[t].type==="text_special"&&(e[t].type="text");for(t=n=0;t<i;t++)e[t].type==="text"&&t+1<i&&e[t+1].type==="text"?e[t+1].content=e[t].content+e[t+1].content:(t!==n&&(e[n]=e[t]),n++);t!==n&&(e.length=n)}function tA(e){let t,n;const i=e.tokens,o=i.length;for(let s=0;s<o;s++){if(i[s].type!=="inline")continue;const l=i[s].children,A=l.length;for(t=0;t<A;t++)l[t].type==="text_special"&&(l[t].type="text"),l[t].children&&eA(l[t].children);for(t=n=0;t<A;t++)l[t].type==="text"&&t+1<A&&l[t+1].type==="text"?l[t+1].content=l[t].content+l[t+1].content:(t!==n&&(l[n]=l[t]),n++);t!==n&&(l.length=n)}}var En=[["normalize",Ml],["block",Kl],["strip_references",Gl],["inline",Wl],["linkify",Hl],["replacements",zl],["smartquotes",ql],["text_join",tA]],Sr=class{constructor(){Q(this,"ruler",new Qt),Q(this,"State",xr);for(let e=0;e<En.length;e++)this.ruler.push(En[e][0],En[e][1])}process(e){const t=this.ruler.getRules("");for(let n=0,i=t.length;n<i;n++)t[n](e)}},Nr=class{constructor(e,t,n,i){Q(this,"bMarks",[]),Q(this,"eMarks",[]),Q(this,"tShift",[]),Q(this,"sCount",[]),Q(this,"bsCount",[]),Q(this,"blkIndent",0),Q(this,"line",0),Q(this,"lineMax",0),Q(this,"tight",!1),Q(this,"listIndent",-1),Q(this,"parentType","root"),Q(this,"level",0),Q(this,"Token",tt),this.src=e,this.md=t,this.env=n,this.tokens=i;const o=this.src;for(let s=0,l=0,A=0,a=0,u=o.length,d=!1;l<u;l++){const f=o.charCodeAt(l);if(!d)if(oe(f)){A++,f===9?a+=4-a%4:a++;continue}else d=!0;(f===10||l===u-1)&&(f!==10&&l++,this.bMarks.push(s),this.eMarks.push(l),this.tShift.push(A),this.sCount.push(a),this.bsCount.push(0),d=!1,A=0,a=0,s=l+1)}this.bMarks.push(o.length),this.eMarks.push(o.length),this.tShift.push(0),this.sCount.push(0),this.bsCount.push(0),this.lineMax=this.bMarks.length-1}push(e,t,n){const i=new tt(e,t,n);return i.block=!0,n<0&&this.level--,i.level=this.level,n>0&&this.level++,this.tokens.push(i),i}isEmpty(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]}skipEmptyLines(e){for(let t=this.lineMax;e<t&&!(this.bMarks[e]+this.tShift[e]<this.eMarks[e]);e++);return e}skipSpaces(e){for(let t=this.src.length;e<t&&oe(this.src.charCodeAt(e));e++);return e}skipSpacesBack(e,t){if(e<=t)return e;for(;e>t;)if(!oe(this.src.charCodeAt(--e)))return e+1;return e}skipChars(e,t){for(let n=this.src.length;e<n&&this.src.charCodeAt(e)===t;e++);return e}skipCharsBack(e,t,n){if(e<=n)return e;for(;e>n;)if(t!==this.src.charCodeAt(--e))return e+1;return e}getLines(e,t,n,i){if(e>=t)return"";const o=new Array(t-e);for(let s=0,l=e;l<t;l++,s++){let A=0;const a=this.bMarks[l];let u=a,d;for(l+1<t||i?d=this.eMarks[l]+1:d=this.eMarks[l];u<d&&A<n;){const f=this.src.charCodeAt(u);if(oe(f))f===9?A+=4-(A+this.bsCount[l])%4:A++;else if(u-a<this.tShift[l])A++;else break;u++}A>n?o[s]=new Array(A-n+1).join(" ")+this.src.slice(u,d):o[s]=this.src.slice(u,d)}return o.join("")}},nA=65536;function bn(e,t){const n=e.bMarks[t]+e.tShift[t],i=e.eMarks[t];return e.src.slice(n,i)}function Io(e){const t=[],n=e.length;let i=0,o=e.charCodeAt(i),s=!1,l=0,A="";for(;i<n;)o===124&&(s?(A+=e.substring(l,i-1),l=i):(t.push(A+e.substring(l,i)),A="",l=i+1)),s=o===92,i++,o=e.charCodeAt(i);return t.push(A+e.substring(l)),t}function oA(e,t,n,i){if(t+2>n)return!1;let o=t+1;if(e.sCount[o]<e.blkIndent||e.sCount[o]-e.blkIndent>=4)return!1;let s=e.bMarks[o]+e.tShift[o];if(s>=e.eMarks[o])return!1;const l=e.src.charCodeAt(s++);if(l!==124&&l!==45&&l!==58||s>=e.eMarks[o])return!1;const A=e.src.charCodeAt(s++);if(A!==124&&A!==45&&A!==58&&!oe(A)||l===45&&oe(A))return!1;for(;s<e.eMarks[o];){const C=e.src.charCodeAt(s);if(C!==124&&C!==45&&C!==58&&!oe(C))return!1;s++}let a=bn(e,t+1),u=a.split("|");const d=[];for(let C=0;C<u.length;C++){const y=u[C].trim();if(!y){if(C===0||C===u.length-1)continue;return!1}if(!/^:?-+:?$/.test(y))return!1;y.charCodeAt(y.length-1)===58?d.push(y.charCodeAt(0)===58?"center":"right"):y.charCodeAt(0)===58?d.push("left"):d.push("")}if(a=bn(e,t).trim(),a.indexOf("|")===-1||e.sCount[t]-e.blkIndent>=4)return!1;u=Io(a),u.length&&u[0]===""&&u.shift(),u.length&&u[u.length-1]===""&&u.pop();const f=u.length;if(f===0||f!==d.length)return!1;if(i)return!0;const _=e.parentType;e.parentType="table";const m=e.md.block.ruler.getRules("blockquote"),h=e.push("table_open","table",1),k=[t,0];h.map=k;const D=e.push("thead_open","thead",1);D.map=[t,t+1];const g=e.push("tr_open","tr",1);g.map=[t,t+1];for(let C=0;C<u.length;C++){const y=e.push("th_open","th",1);d[C]&&(y.attrs=[["style",`text-align:${d[C]}`]]);const K=e.push("inline","",0);K.content=u[C].trim(),K.children=[],e.push("th_close","th",-1)}e.push("tr_close","tr",-1),e.push("thead_close","thead",-1);let B,x=0;for(o=t+2;o<n&&!(e.sCount[o]<e.blkIndent);o++){let C=!1;for(let K=0,H=m.length;K<H;K++)if(m[K](e,o,n,!0)){C=!0;break}if(C||(a=bn(e,o).trim(),!a)||e.sCount[o]-e.blkIndent>=4||(u=Io(a),u.length&&u[0]===""&&u.shift(),u.length&&u[u.length-1]===""&&u.pop(),x+=f-u.length,x>nA))break;if(o===t+2){const K=e.push("tbody_open","tbody",1);K.map=B=[t+2,0]}const y=e.push("tr_open","tr",1);y.map=[o,o+1];for(let K=0;K<f;K++){const H=e.push("td_open","td",1);d[K]&&(H.attrs=[["style",`text-align:${d[K]}`]]);const w=e.push("inline","",0);w.content=u[K]?u[K].trim():"",w.children=[],e.push("td_close","td",-1)}e.push("tr_close","tr",-1)}return B&&(e.push("tbody_close","tbody",-1),B[1]=o),e.push("table_close","table",-1),k[1]=o,e.parentType=_,e.line=o,!0}function rA(e,t,n){if(e.sCount[t]-e.blkIndent<4)return!1;let i=t+1,o=i;for(;i<n;){if(e.isEmpty(i)){i++;continue}if(e.sCount[i]-e.blkIndent>=4){i++,o=i;continue}break}e.line=o;const s=e.push("code_block","code",0);return s.content=e.getLines(t,o,4+e.blkIndent,!1)+`
|
|
54
|
-
`,s.map=[t,e.line],!0}function iA(e,t,n,i){let o=e.bMarks[t]+e.tShift[t],s=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||o+3>s)return!1;const l=e.src.charCodeAt(o);if(l!==126&&l!==96)return!1;let A=o;o=e.skipChars(o,l);let a=o-A;if(a<3)return!1;const u=e.src.slice(A,o),d=e.src.slice(o,s);if(l===96&&d.indexOf(String.fromCharCode(l))>=0)return!1;if(i)return!0;let f=t,_=!1;for(;f++,!(f>=n||(o=A=e.bMarks[f]+e.tShift[f],s=e.eMarks[f],o<s&&e.sCount[f]<e.blkIndent));)if(e.src.charCodeAt(o)===l&&!(e.sCount[f]-e.blkIndent>=4)&&(o=e.skipChars(o,l),!(o-A<a)&&(o=e.skipSpaces(o),!(o<s)))){_=!0;break}a=e.sCount[t],e.line=f+(_?1:0);const m=e.push("fence","code",0);return m.info=d,m.content=e.getLines(t+1,f,a,!0),m.markup=u,m.map=[t,e.line],!0}function sA(e,t,n,i){let o=e.bMarks[t]+e.tShift[t],s=e.eMarks[t];const l=e.lineMax;if(e.sCount[t]-e.blkIndent>=4||e.src.charCodeAt(o)!==62)return!1;if(i)return!0;const A=[],a=[],u=[],d=[],f=e.md.block.ruler.getRules("blockquote"),_=e.parentType;e.parentType="blockquote";let m=!1,h;for(h=t;h<n;h++){const x=e.sCount[h]<e.blkIndent;if(o=e.bMarks[h]+e.tShift[h],s=e.eMarks[h],o>=s)break;if(e.src.charCodeAt(o++)===62&&!x){let y=e.sCount[h]+1,K,H;e.src.charCodeAt(o)===32?(o++,y++,H=!1,K=!0):e.src.charCodeAt(o)===9?(K=!0,(e.bsCount[h]+y)%4===3?(o++,y++,H=!1):H=!0):K=!1;let w=y;for(A.push(e.bMarks[h]),e.bMarks[h]=o;o<s;){const b=e.src.charCodeAt(o);if(oe(b))b===9?w+=4-(w+e.bsCount[h]+(H?1:0))%4:w++;else break;o++}m=o>=s,a.push(e.bsCount[h]),e.bsCount[h]=e.sCount[h]+1+(K?1:0),u.push(e.sCount[h]),e.sCount[h]=w-y,d.push(e.tShift[h]),e.tShift[h]=o-e.bMarks[h];continue}if(m)break;let C=!1;for(let y=0,K=f.length;y<K;y++)if(f[y](e,h,n,!0)){C=!0;break}if(C){e.lineMax=h,e.blkIndent!==0&&(A.push(e.bMarks[h]),a.push(e.bsCount[h]),d.push(e.tShift[h]),u.push(e.sCount[h]),e.sCount[h]-=e.blkIndent);break}A.push(e.bMarks[h]),a.push(e.bsCount[h]),d.push(e.tShift[h]),u.push(e.sCount[h]),e.sCount[h]=-1}const k=e.blkIndent;e.blkIndent=0;const D=e.push("blockquote_open","blockquote",1);D.markup=">";const g=[t,0];D.map=g,e.md.block.tokenize(e,t,h);const B=e.push("blockquote_close","blockquote",-1);B.markup=">",e.lineMax=l,e.parentType=_,g[1]=e.line;for(let x=0;x<d.length;x++)e.bMarks[x+t]=A[x],e.tShift[x+t]=d[x],e.sCount[x+t]=u[x],e.bsCount[x+t]=a[x];return e.blkIndent=k,!0}function lA(e,t,n,i){const o=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;let s=e.bMarks[t]+e.tShift[t];const l=e.src.charCodeAt(s++);if(l!==42&&l!==45&&l!==95)return!1;let A=1;for(;s<o;){const u=e.src.charCodeAt(s++);if(u!==l&&!oe(u))return!1;u===l&&A++}if(A<3)return!1;if(i)return!0;e.line=t+1;const a=e.push("hr","hr",0);return a.map=[t,e.line],a.markup=Array(A+1).join(String.fromCharCode(l)),!0}function Bo(e,t){const n=e.eMarks[t];let i=e.bMarks[t]+e.tShift[t];const o=e.src.charCodeAt(i++);return o!==42&&o!==45&&o!==43||i<n&&!oe(e.src.charCodeAt(i))?-1:i}function wo(e,t){const n=e.bMarks[t]+e.tShift[t],i=e.eMarks[t];let o=n;if(o+1>=i)return-1;let s=e.src.charCodeAt(o++);if(s<48||s>57)return-1;for(;;){if(o>=i)return-1;if(s=e.src.charCodeAt(o++),s>=48&&s<=57){if(o-n>=10)return-1;continue}if(s===41||s===46)break;return-1}return o<i&&(s=e.src.charCodeAt(o),!oe(s))?-1:o}function AA(e,t){const n=e.level+2;for(let i=t+2,o=e.tokens.length-2;i<o;i++)e.tokens[i].level===n&&e.tokens[i].type==="paragraph_open"&&(e.tokens[i+2].hidden=!0,e.tokens[i].hidden=!0,i+=2)}function aA(e,t,n,i){let o,s,l,A,a=t,u=!0;if(e.sCount[a]-e.blkIndent>=4||e.listIndent>=0&&e.sCount[a]-e.listIndent>=4&&e.sCount[a]<e.blkIndent)return!1;let d=!1;i&&e.parentType==="paragraph"&&e.sCount[a]>=e.blkIndent&&(d=!0);let f,_,m;if((m=wo(e,a))>=0){if(f=!0,l=e.bMarks[a]+e.tShift[a],_=Number(e.src.slice(l,m-1)),d&&_!==1)return!1}else if((m=Bo(e,a))>=0)f=!1;else return!1;if(d&&e.skipSpaces(m)>=e.eMarks[a])return!1;if(i)return!0;const h=e.src.charCodeAt(m-1),k=e.tokens.length;f?(A=e.push("ordered_list_open","ol",1),_!==1&&(A.attrs=[["start",_]])):A=e.push("bullet_list_open","ul",1);const D=[a,0];A.map=D,A.markup=String.fromCharCode(h);let g=!1;const B=e.md.block.ruler.getRules("list"),x=e.parentType;for(e.parentType="list";a<n;){s=m,o=e.eMarks[a];const C=e.sCount[a]+m-(e.bMarks[a]+e.tShift[a]);let y=C;for(;s<o;){const ue=e.src.charCodeAt(s);if(ue===9)y+=4-(y+e.bsCount[a])%4;else if(ue===32)y++;else break;s++}const K=s;let H;K>=o?H=1:H=y-C,H>4&&(H=1);const w=C+H;A=e.push("list_item_open","li",1),A.markup=String.fromCharCode(h);const b=[a,0];A.map=b,f&&(A.info=e.src.slice(l,m-1));const v=e.tight,N=e.tShift[a],J=e.sCount[a],z=e.listIndent;if(e.listIndent=e.blkIndent,e.blkIndent=w,e.tight=!0,e.tShift[a]=K-e.bMarks[a],e.sCount[a]=y,K>=o&&e.isEmpty(a+1)?e.line=Math.min(e.line+2,n):e.md.block.tokenize(e,a,n),(!e.tight||g)&&(u=!1),g=e.line-a>1&&e.isEmpty(e.line-1),e.blkIndent=e.listIndent,e.listIndent=z,e.tShift[a]=N,e.sCount[a]=J,e.tight=v,A=e.push("list_item_close","li",-1),A.markup=String.fromCharCode(h),a=e.line,b[1]=a,a>=n||e.sCount[a]<e.blkIndent||e.sCount[a]-e.blkIndent>=4)break;let $=!1;for(let ue=0,de=B.length;ue<de;ue++)if(B[ue](e,a,n,!0)){$=!0;break}if($)break;if(f){if(m=wo(e,a),m<0)break;l=e.bMarks[a]+e.tShift[a]}else if(m=Bo(e,a),m<0)break;if(h!==e.src.charCodeAt(m-1))break}return f?A=e.push("ordered_list_close","ol",-1):A=e.push("bullet_list_close","ul",-1),A.markup=String.fromCharCode(h),D[1]=a,e.line=a,e.parentType=x,u&&AA(e,k),!0}function cA(e,t,n,i){let o=e.bMarks[t]+e.tShift[t],s=e.eMarks[t],l=t+1;if(e.sCount[t]-e.blkIndent>=4||e.src.charCodeAt(o)!==91)return!1;function A(C){const y=e.lineMax;if(C>=y||e.isEmpty(C))return null;let K=!1;if(e.sCount[C]-e.blkIndent>3&&(K=!0),e.sCount[C]<0&&(K=!0),!K){const b=e.md.block.ruler.getRules("reference"),v=e.parentType;e.parentType="reference";let N=!1;for(let J=0,z=b.length;J<z;J++)if(b[J](e,C,y,!0)){N=!0;break}if(e.parentType=v,N)return null}const H=e.bMarks[C]+e.tShift[C],w=e.eMarks[C];return e.src.slice(H,w+1)}let a=e.src.slice(o,s+1);s=a.length;let u=-1;for(o=1;o<s;o++){const C=a.charCodeAt(o);if(C===91)return!1;if(C===93){u=o;break}else if(C===10){const y=A(l);y!==null&&(a+=y,s=a.length,l++)}else if(C===92&&(o++,o<s&&a.charCodeAt(o)===10)){const y=A(l);y!==null&&(a+=y,s=a.length,l++)}}if(u<0||a.charCodeAt(u+1)!==58)return!1;for(o=u+2;o<s;o++){const C=a.charCodeAt(o);if(C===10){const y=A(l);y!==null&&(a+=y,s=a.length,l++)}else if(!oe(C))break}const d=e.md.helpers.parseLinkDestination(a,o,s);if(!d.ok)return!1;const f=e.md.normalizeLink(d.str);if(!e.md.validateLink(f))return!1;o=d.pos;const _=o,m=l,h=o;for(;o<s;o++){const C=a.charCodeAt(o);if(C===10){const y=A(l);y!==null&&(a+=y,s=a.length,l++)}else if(!oe(C))break}let k=e.md.helpers.parseLinkTitle(a,o,s);for(;k.can_continue;){const C=A(l);if(C===null)break;a+=C,o=s,s=a.length,l++,k=e.md.helpers.parseLinkTitle(a,o,s,k)}let D;for(o<s&&h!==o&&k.ok?(D=k.str,o=k.pos):(D="",o=_,l=m);o<s&&oe(a.charCodeAt(o));)o++;if(o<s&&a.charCodeAt(o)!==10&&D)for(D="",o=_,l=m;o<s&&oe(a.charCodeAt(o));)o++;if(o<s&&a.charCodeAt(o)!==10)return!1;const g=qt(a.slice(1,u));if(!g)return!1;if(i)return!0;typeof e.env.references>"u"&&(e.env.references={}),typeof e.env.references[g]>"u"&&(e.env.references[g]={title:D,href:f});const B=e.push("reference_definition","",0);B.map=[t,l],B.hidden=!0;const x=Object.create(null);return x.label=g,B.meta=x,e.line=l,!0}var uA=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Rr=`<[A-Za-z][A-Za-z0-9\\-]*(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^"'=<>\`\\x00-\\x20]+|'[^']*'|"[^"]*"))?)*\\s*\\/?>`,Tr="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",hA=new RegExp(`^(?:${Rr}|${Tr}|<!---?>|<!--(?:[^-]|-[^-]|--[^>])*-->|<[?][\\s\\S]*?[?]>|<![A-Za-z][^>]*>|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>)`),dA=new RegExp(`^(?:${Rr}|${Tr})`),qe=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^<!--/,/-->/,!0],[/^<\?/,/\?>/,!0],[/^<![A-Za-z]/,/>/,!0],[/^<!\[CDATA\[/,/\]\]>/,!0],[new RegExp(`^</?(${uA.join("|")})(?=(\\s|/?>|$))`,"i"),/^$/,!0],[new RegExp(`${dA.source}\\s*$`),/^$/,!1]];function fA(e,t,n,i){let o=e.bMarks[t]+e.tShift[t],s=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||!e.md.options.html||e.src.charCodeAt(o)!==60)return!1;let l=e.src.slice(o,s),A=0;for(;A<qe.length&&!qe[A][0].test(l);A++);if(A===qe.length)return!1;if(i)return qe[A][2];let a=t+1;const u=qe[A][1].test("");if(!qe[A][1].test(l)){for(;a<n&&!(e.sCount[a]<e.blkIndent&&(u||!e.isEmpty(a)));a++)if(o=e.bMarks[a]+e.tShift[a],s=e.eMarks[a],l=e.src.slice(o,s),qe[A][1].test(l)){l.length!==0&&a++;break}}e.line=a;const d=e.push("html_block","",0);return d.map=[t,a],d.content=e.getLines(t,a,e.blkIndent,!0),!0}function pA(e,t,n,i){let o=e.bMarks[t]+e.tShift[t],s=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;let l=e.src.charCodeAt(o);if(l!==35||o>=s)return!1;let A=1;for(l=e.src.charCodeAt(++o);l===35&&o<s&&A<=6;)A++,l=e.src.charCodeAt(++o);if(A>6||o<s&&!oe(l))return!1;if(i)return!0;s=e.skipSpacesBack(s,o);const a=e.skipCharsBack(s,35,o);a>o&&oe(e.src.charCodeAt(a-1))&&(s=a),e.line=t+1;const u=e.push("heading_open",`h${A}`,1);u.markup="########".slice(0,A),u.map=[t,e.line];const d=e.push("inline","",0);d.content=en(e.src.slice(o,s)),d.map=[t,e.line],d.children=[];const f=e.push("heading_close",`h${A}`,-1);return f.markup="########".slice(0,A),!0}function mA(e,t,n){const i=e.md.block.ruler.getRules("paragraph");if(e.sCount[t]-e.blkIndent>=4)return!1;const o=e.parentType;e.parentType="paragraph";let s=0,l,A=t+1;for(;A<n&&!e.isEmpty(A);A++){if(e.sCount[A]-e.blkIndent>3)continue;if(e.sCount[A]>=e.blkIndent){let m=e.bMarks[A]+e.tShift[A];const h=e.eMarks[A];if(m<h&&(l=e.src.charCodeAt(m),(l===45||l===61)&&(m=e.skipChars(m,l),m=e.skipSpaces(m),m>=h))){s=l===61?1:2;break}}if(e.sCount[A]<0)continue;let _=!1;for(let m=0,h=i.length;m<h;m++)if(i[m](e,A,n,!0)){_=!0;break}if(_)break}if(!s)return e.parentType=o,!1;const a=en(e.getLines(t,A,e.blkIndent,!1));e.line=A+1;const u=e.push("heading_open",`h${s}`,1);u.markup=String.fromCharCode(l),u.map=[t,e.line];const d=e.push("inline","",0);d.content=a,d.map=[t,e.line-1],d.children=[];const f=e.push("heading_close",`h${s}`,-1);return f.markup=String.fromCharCode(l),e.parentType=o,!0}function gA(e,t,n){const i=e.md.block.ruler.getRules("paragraph"),o=e.parentType;let s=t+1;for(e.parentType="paragraph";s<n&&!e.isEmpty(s);s++){if(e.sCount[s]-e.blkIndent>3||e.sCount[s]<0)continue;let u=!1;for(let d=0,f=i.length;d<f;d++)if(i[d](e,s,n,!0)){u=!0;break}if(u)break}const l=en(e.getLines(t,s,e.blkIndent,!1));e.line=s;const A=e.push("paragraph_open","p",1);A.map=[t,e.line];const a=e.push("inline","",0);return a.content=l,a.map=[t,e.line],a.children=[],e.push("paragraph_close","p",-1),e.parentType=o,!0}var Zt=[["table",oA,["paragraph","reference"]],["code",rA],["fence",iA,["paragraph","reference","blockquote","list"]],["blockquote",sA,["paragraph","reference","blockquote","list"]],["hr",lA,["paragraph","reference","blockquote","list"]],["list",aA,["paragraph","reference","blockquote"]],["reference",cA],["html_block",fA,["paragraph","reference","blockquote"]],["heading",pA,["paragraph","reference","blockquote"]],["lheading",mA],["paragraph",gA]],Qr=class{constructor(){Q(this,"ruler",new Qt),Q(this,"State",Nr);for(let e=0;e<Zt.length;e++)this.ruler.push(Zt[e][0],Zt[e][1],{alt:(Zt[e][2]||[]).slice()})}tokenize(e,t,n){const i=this.ruler.getRules(""),o=i.length,s=e.md.options.maxNesting;let l=t,A=!1;for(;l<n&&(e.line=l=e.skipEmptyLines(l),!(l>=n||e.sCount[l]<e.blkIndent));){if(e.level>=s){e.line=n;break}const a=e.line;let u=!1;for(let d=0;d<o;d++)if(u=i[d](e,l,n,!1),u){if(a>=e.line)throw new Error("block rule didn't increment state.line");break}if(!u)throw new Error("none of the block rules matched");e.tight=!A,e.isEmpty(e.line-1)&&(A=!0),l=e.line,l<n&&e.isEmpty(l)&&(A=!0,l++,e.line=l)}}parse(e,t,n,i){if(!e)return;const o=new this.State(e,t,n,i);this.tokenize(o,o.line,o.lineMax)}},Mr=class{constructor(e,t,n,i){Q(this,"pos",0),Q(this,"level",0),Q(this,"pending",""),Q(this,"pendingLevel",0),Q(this,"cache",{}),Q(this,"backticks",{}),Q(this,"backticksScanned",!1),Q(this,"linkLevel",0),Q(this,"delimiters",[]),Q(this,"_prev_delimiters",[]),Q(this,"Token",tt),this.src=e,this.env=n,this.md=t,this.tokens=i,this.tokens_meta=Array(i.length),this.posMax=this.src.length}pushPending(){const e=new tt("text","",0);return e.content=this.pending,e.level=this.pendingLevel,this.tokens.push(e),this.pending="",e}push(e,t,n){this.pending&&this.pushPending();const i=new tt(e,t,n);let o;return n<0&&(this.level--,this.delimiters=this._prev_delimiters.pop()),i.level=this.level,n>0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],o={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(i),this.tokens_meta.push(o),i}scanDelims(e,t){const n=this.posMax,i=this.src.charCodeAt(e);let o;if(e===0)o=32;else if(e===1)o=this.src.charCodeAt(0),(o&63488)===55296&&(o=65533);else if(o=this.src.charCodeAt(e-1),(o&64512)===56320){const h=this.src.charCodeAt(e-2);o=(h&64512)===55296?65536+(h-55296<<10)+(o-56320):65533}else(o&64512)===55296&&(o=65533);let s=e;for(;s<n&&this.src.charCodeAt(s)===i;)s++;const l=s-e;let A=s<n?this.src.charCodeAt(s):32;if((A&64512)===55296){const h=this.src.charCodeAt(s+1);A=(h&64512)===56320?65536+(A-55296<<10)+(h-56320):65533}else(A&64512)===56320&&(A=65533);const a=Rt(o)||Nt(o),u=Rt(A)||Nt(A),d=St(o),f=St(A),_=!f&&(!u||d||a),m=!d&&(!a||f||u);return{can_open:_&&(t||!m||a),can_close:m&&(t||!_||u),length:l}}};function CA(e){switch(e){case 10:case 33:case 35:case 36:case 37:case 38:case 42:case 43:case 45:case 58:case 60:case 61:case 62:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 125:case 126:return!0;default:return!1}}function _A(e,t){let n=e.pos;for(;n<e.posMax&&!CA(e.src.charCodeAt(n));)n++;return n===e.pos?!1:(t||(e.pending+=e.src.slice(e.pos,n)),e.pos=n,!0)}var kA=/(?:^|[^a-z0-9.+-])([a-z][a-z0-9.+-]*)$/i;function yA(e,t){if(!e.md.options.linkify||e.linkLevel>0)return!1;const n=e.pos,i=e.posMax;if(n+3>i||e.src.charCodeAt(n)!==58||e.src.charCodeAt(n+1)!==47||e.src.charCodeAt(n+2)!==47)return!1;const o=e.pending.match(kA);if(!o)return!1;const s=o[1],l=e.md.linkify.matchAtStart(e.src.slice(n-s.length));if(!l)return!1;let A=l.url;if(A.length<=s.length)return!1;let a=A.length;for(;a>0&&A.charCodeAt(a-1)===42;)a--;a!==A.length&&(A=A.slice(0,a));const u=e.md.normalizeLink(A);if(!e.md.validateLink(u))return!1;if(!t){e.pending=e.pending.slice(0,-s.length);const d=e.push("link_open","a",1);d.attrs=[["href",u]],d.markup="linkify",d.info="auto";const f=e.push("text","",0);f.content=e.md.normalizeLinkText(A);const _=e.push("link_close","a",-1);_.markup="linkify",_.info="auto"}return e.pos+=A.length-s.length,!0}function EA(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==10)return!1;const i=e.pending.length-1,o=e.posMax;if(!t)if(i>=0&&e.pending.charCodeAt(i)===32)if(i>=1&&e.pending.charCodeAt(i-1)===32){let s=i-1;for(;s>=1&&e.pending.charCodeAt(s-1)===32;)s--;e.pending=e.pending.slice(0,s),e.push("hardbreak","br",0)}else e.pending=e.pending.slice(0,-1),e.push("softbreak","br",0);else e.push("softbreak","br",0);for(n++;n<o&&oe(e.src.charCodeAt(n));)n++;return e.pos=n,!0}var Hn=[];for(let e=0;e<256;e++)Hn.push(0);"\\!\"#$%&'()*+,./:;<=>?@[]^_`{|}~-".split("").forEach(function(e){Hn[e.charCodeAt(0)]=1});function bA(e,t){let n=e.pos;const i=e.posMax;if(e.src.charCodeAt(n)!==92||(n++,n>=i))return!1;let o=e.src.charCodeAt(n);if(o===10){for(t||e.push("hardbreak","br",0),n++;n<i&&(o=e.src.charCodeAt(n),!!oe(o));)n++;return e.pos=n,!0}if(o===32){if(!t){const A=e.push("text_special","",0);A.content="\\",A.markup="\\",A.info="escape"}return e.pos=n,!0}let s=e.src[n];if(o>=55296&&o<=56319&&n+1<i){const A=e.src.charCodeAt(n+1);A>=56320&&A<=57343&&(s+=e.src[n+1],n++)}const l="\\"+s;if(!t){const A=e.push("text_special","",0);o<256&&Hn[o]!==0?A.content=s:A.content=l,A.markup=l,A.info="escape"}return e.pos=n+1,!0}function DA(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==96)return!1;const i=n;n++;const o=e.posMax;for(;n<o&&e.src.charCodeAt(n)===96;)n++;const s=e.src.slice(i,n),l=s.length;if(e.backticksScanned&&(e.backticks[l]||0)<=i)return t||(e.pending+=s),e.pos+=l,!0;let A=n,a;for(;(a=e.src.indexOf("`",A))!==-1;){for(A=a+1;A<o&&e.src.charCodeAt(A)===96;)A++;const u=A-a;if(u===l){if(!t){const d=e.push("code_inline","code",0);d.markup=s,d.content=e.src.slice(n,a).replace(/\n/g," ").replace(/^ (.+) $/,"$1")}return e.pos=A,!0}e.backticks[u]=a}return e.backticksScanned=!0,t||(e.pending+=s),e.pos+=l,!0}function IA(e,t){const n=e.pos,i=e.src.charCodeAt(n);if(t||i!==126)return!1;const o=e.scanDelims(e.pos,!0);let s=o.length;const l=String.fromCharCode(i);if(s<2)return!1;let A;s%2&&(A=e.push("text","",0),A.content=l,s--);for(let a=0;a<s;a+=2)A=e.push("text","",0),A.content=l+l,e.delimiters.push({marker:i,length:0,token:e.tokens.length-1,end:-1,open:o.can_open,close:o.can_close});return e.pos+=o.length,!0}function Fo(e,t){let n;const i=[],o=t.length;for(let s=0;s<o;s++){const l=t[s];if(l.marker!==126||l.end===-1)continue;const A=t[l.end];n=e.tokens[l.token],n.type="s_open",n.tag="s",n.nesting=1,n.markup="~~",n.content="",n=e.tokens[A.token],n.type="s_close",n.tag="s",n.nesting=-1,n.markup="~~",n.content="",e.tokens[A.token-1].type==="text"&&e.tokens[A.token-1].content==="~"&&i.push(A.token-1)}for(;i.length;){const s=i.pop();let l=s+1;for(;l<e.tokens.length&&e.tokens[l].type==="s_close";)l++;l--,s!==l&&(n=e.tokens[l],e.tokens[l]=e.tokens[s],e.tokens[s]=n)}}function BA(e){const t=e.tokens_meta,n=e.tokens_meta.length;Fo(e,e.delimiters);for(let o=0;o<n;o++){var i;const s=(i=t[o])===null||i===void 0?void 0:i.delimiters;s&&Fo(e,s)}}var Kr={tokenize:IA,postProcess:BA};function wA(e,t){const n=e.pos,i=e.src.charCodeAt(n);if(t||i!==95&&i!==42)return!1;const o=e.scanDelims(e.pos,i===42);for(let s=0;s<o.length;s++){const l=e.push("text","",0);l.content=String.fromCharCode(i),e.delimiters.push({marker:i,length:o.length,token:e.tokens.length-1,end:-1,open:o.can_open,close:o.can_close})}return e.pos+=o.length,!0}function xo(e,t){const n=t.length;for(let i=n-1;i>=0;i--){const o=t[i];if(o.marker!==95&&o.marker!==42||o.end===-1)continue;const s=t[o.end],l=i>0&&t[i-1].end===o.end+1&&t[i-1].marker===o.marker&&t[i-1].token===o.token-1&&t[o.end+1].token===s.token+1,A=String.fromCharCode(o.marker),a=e.tokens[o.token];a.type=l?"strong_open":"em_open",a.tag=l?"strong":"em",a.nesting=1,a.markup=l?A+A:A,a.content="";const u=e.tokens[s.token];u.type=l?"strong_close":"em_close",u.tag=l?"strong":"em",u.nesting=-1,u.markup=l?A+A:A,u.content="",l&&(e.tokens[t[i-1].token].content="",e.tokens[t[o.end+1].token].content="",i--)}}function FA(e){const t=e.tokens_meta,n=e.tokens_meta.length;xo(e,e.delimiters);for(let o=0;o<n;o++){var i;const s=(i=t[o])===null||i===void 0?void 0:i.delimiters;s&&xo(e,s)}}var Gr={tokenize:wA,postProcess:FA};function xA(e,t){let n,i,o,s,l="",A="",a=e.pos,u=!0;if(e.src.charCodeAt(e.pos)!==91)return!1;const d=e.pos,f=e.posMax,_=e.pos+1,m=e.md.helpers.parseLinkLabel(e,e.pos,!0);if(m<0)return!1;let h=m+1;if(h<f&&e.src.charCodeAt(h)===40){for(u=!1,h++;h<f&&(n=e.src.charCodeAt(h),!(!oe(n)&&n!==10));h++);if(h>=f)return!1;if(a=h,o=e.md.helpers.parseLinkDestination(e.src,h,e.posMax),o.ok){for(l=e.md.normalizeLink(o.str),e.md.validateLink(l)?h=o.pos:l="",a=h;h<f&&(n=e.src.charCodeAt(h),!(!oe(n)&&n!==10));h++);if(o=e.md.helpers.parseLinkTitle(e.src,h,e.posMax),h<f&&a!==h&&o.ok)for(A=o.str,h=o.pos;h<f&&(n=e.src.charCodeAt(h),!(!oe(n)&&n!==10));h++);}(h>=f||e.src.charCodeAt(h)!==41)&&(u=!0),h++}if(u){if(typeof e.env.references>"u")return!1;if(h<f&&e.src.charCodeAt(h)===91?(a=h+1,h=e.md.helpers.parseLinkLabel(e,h),h>=0?i=e.src.slice(a,h++):h=m+1):h=m+1,i||(i=e.src.slice(_,m)),i=qt(i),s=e.env.references[i],!s)return e.pos=d,!1;l=s.href,A=s.title}if(!t){e.pos=_,e.posMax=m;const k=e.push("link_open","a",1),D=[["href",l]];if(k.attrs=D,A&&D.push(["title",A]),i){const g=Object.create(null);g.label=i,k.meta=g}e.linkLevel++,e.md.inline.tokenize(e),e.linkLevel--,e.push("link_close","a",-1)}return e.pos=h,e.posMax=f,!0}function vA(e,t){let n,i,o,s,l,A,a,u,d="";const f=e.pos,_=e.posMax;if(e.src.charCodeAt(e.pos)!==33||e.src.charCodeAt(e.pos+1)!==91)return!1;const m=e.pos+2,h=e.md.helpers.parseLinkLabel(e,e.pos+1,!1);if(h<0)return!1;if(s=h+1,s<_&&e.src.charCodeAt(s)===40){for(s++;s<_&&(n=e.src.charCodeAt(s),!(!oe(n)&&n!==10));s++);if(s>=_)return!1;for(u=s,A=e.md.helpers.parseLinkDestination(e.src,s,e.posMax),A.ok&&(d=e.md.normalizeLink(A.str),e.md.validateLink(d)?s=A.pos:d=""),u=s;s<_&&(n=e.src.charCodeAt(s),!(!oe(n)&&n!==10));s++);if(A=e.md.helpers.parseLinkTitle(e.src,s,e.posMax),s<_&&u!==s&&A.ok)for(a=A.str,s=A.pos;s<_&&(n=e.src.charCodeAt(s),!(!oe(n)&&n!==10));s++);else a="";if(s>=_||e.src.charCodeAt(s)!==41)return e.pos=f,!1;s++}else{if(typeof e.env.references>"u")return!1;if(s<_&&e.src.charCodeAt(s)===91?(u=s+1,s=e.md.helpers.parseLinkLabel(e,s),s>=0?o=e.src.slice(u,s++):s=h+1):s=h+1,o||(o=e.src.slice(m,h)),o=qt(o),l=e.env.references[o],!l)return e.pos=f,!1;d=l.href,a=l.title}if(!t){i=e.src.slice(m,h);const k=[];e.md.inline.parse(i,e.md,e.env,k);const D=e.push("image","img",0),g=[["src",d],["alt",""]];if(D.attrs=g,D.children=k,D.content=i,a&&g.push(["title",a]),o){const B=Object.create(null);B.label=o,D.meta=B}}return e.pos=s,e.posMax=_,!0}var SA=/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,NA=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function RA(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==60)return!1;const i=e.pos,o=e.posMax;for(;;){if(++n>=o)return!1;const l=e.src.charCodeAt(n);if(l===60)return!1;if(l===62)break}const s=e.src.slice(i+1,n);if(NA.test(s)){const l=e.md.normalizeLink(s);if(!e.md.validateLink(l))return!1;if(!t){const A=e.push("link_open","a",1);A.attrs=[["href",l]],A.markup="autolink",A.info="auto";const a=e.push("text","",0);a.content=e.md.normalizeLinkText(s);const u=e.push("link_close","a",-1);u.markup="autolink",u.info="auto"}return e.pos+=s.length+2,!0}if(SA.test(s)){const l=e.md.normalizeLink(`mailto:${s}`);if(!e.md.validateLink(l))return!1;if(!t){const A=e.push("link_open","a",1);A.attrs=[["href",l]],A.markup="autolink",A.info="auto";const a=e.push("text","",0);a.content=e.md.normalizeLinkText(s);const u=e.push("link_close","a",-1);u.markup="autolink",u.info="auto"}return e.pos+=s.length+2,!0}return!1}function TA(e){return/^<a[>\s]/i.test(e)}function QA(e){return/^<\/a\s*>/i.test(e)}function MA(e){const t=e|32;return t>=97&&t<=122}function KA(e,t){if(!e.md.options.html)return!1;const n=e.posMax,i=e.pos;if(e.src.charCodeAt(i)!==60||i+2>=n)return!1;const o=e.src.charCodeAt(i+1);if(o!==33&&o!==63&&o!==47&&!MA(o))return!1;const s=e.src.slice(i).match(hA);if(!s)return!1;if(!t){const l=e.push("html_inline","",0);l.content=s[0],TA(l.content)&&e.linkLevel++,QA(l.content)&&e.linkLevel--}return e.pos+=s[0].length,!0}var GA=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,WA=/^&([a-z][a-z0-9]{1,31});/i;function YA(e,t){const n=e.pos,i=e.posMax;if(e.src.charCodeAt(n)!==38||n+1>=i)return!1;if(e.src.charCodeAt(n+1)===35){const o=e.src.slice(n).match(GA);if(o){if(!t){const s=o[1][0].toLowerCase()==="x"?parseInt(o[1].slice(1),16):parseInt(o[1],10),l=e.push("text_special","",0);l.content=On(s)?vt(s):vt(65533),l.markup=o[0],l.info="entity"}return e.pos+=o[0].length,!0}}else{const o=e.src.slice(n).match(WA);if(o){const s=fr(o[0]);if(s!==o[0]){if(!t){const l=e.push("text_special","",0);l.content=s,l.markup=o[0],l.info="entity"}return e.pos+=o[0].length,!0}}}return!1}function vo(e){const t={},n=e.length;if(!n)return;let i=0,o=-2;const s=[];for(let l=0;l<n;l++){const A=e[l];if(s.push(0),(e[i].marker!==A.marker||o!==A.token-1)&&(i=l),o=A.token,A.length=A.length||0,!A.close)continue;t.hasOwnProperty(A.marker)||(t[A.marker]=[-1,-1,-1,-1,-1,-1]);const a=t[A.marker][(A.open?3:0)+A.length%3];let u=i-s[i]-1,d=u;for(;u>a;u-=s[u]+1){const f=e[u];if(f.marker===A.marker&&f.open&&f.end<0){let _=!1;if((f.close||A.open)&&(f.length+A.length)%3===0&&(f.length%3!==0||A.length%3!==0)&&(_=!0),!_){const m=u>0&&!e[u-1].open?s[u-1]+1:0;s[l]=l-u+m,s[u]=m,A.open=!1,f.end=l,f.close=!1,d=-1,o=-2;break}}}d!==-1&&(t[A.marker][(A.open?3:0)+(A.length||0)%3]=d)}}function OA(e){const t=e.tokens_meta,n=e.tokens_meta.length;vo(e.delimiters);for(let o=0;o<n;o++){var i;const s=(i=t[o])===null||i===void 0?void 0:i.delimiters;s&&vo(s)}}function HA(e){let t,n,i=0;const o=e.tokens,s=e.tokens.length;for(t=n=0;t<s;t++)o[t].nesting<0&&i--,o[t].level=i,o[t].nesting>0&&i++,o[t].type==="text"&&t+1<s&&o[t+1].type==="text"?o[t+1].content=o[t].content+o[t+1].content:(t!==n&&(o[n]=o[t]),n++);t!==n&&(o.length=n)}var Dn=[["text",_A],["linkify",yA],["newline",EA],["escape",bA],["backticks",DA],["strikethrough",Kr.tokenize],["emphasis",Gr.tokenize],["link",xA],["image",vA],["autolink",RA],["html_inline",KA],["entity",YA]],In=[["balance_pairs",OA],["strikethrough",Kr.postProcess],["emphasis",Gr.postProcess],["fragments_join",HA]],Wr=class{constructor(){Q(this,"ruler",new Qt),Q(this,"ruler2",new Qt),Q(this,"State",Mr);for(let e=0;e<Dn.length;e++)this.ruler.push(Dn[e][0],Dn[e][1]);for(let e=0;e<In.length;e++)this.ruler2.push(In[e][0],In[e][1])}skipToken(e){const t=e.pos,n=this.ruler.getRules(""),i=n.length,o=e.md.options.maxNesting,s=e.cache;if(typeof s[t]<"u"){e.pos=s[t];return}let l=!1;if(e.level<o){for(let A=0;A<i;A++)if(e.level++,l=n[A](e,!0),e.level--,l){if(t>=e.pos)throw new Error("inline rule didn't increment state.pos");break}}else e.pos=e.posMax;l||e.pos++,s[t]=e.pos}tokenize(e){const t=this.ruler.getRules(""),n=t.length,i=e.posMax,o=e.md.options.maxNesting;for(;e.pos<i;){const s=e.pos;let l=!1;if(e.level<o){for(let A=0;A<n;A++)if(l=t[A](e,!1),l){if(s>=e.pos)throw new Error("inline rule didn't increment state.pos");break}}if(l){if(e.pos>=i)break;continue}e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()}parse(e,t,n,i){const o=new this.State(e,t,n,i);this.tokenize(o);const s=this.ruler2.getRules(""),l=s.length;for(let A=0;A<l;A++)s[A](o)}},VA={default:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:100},components:{core:{},block:{},inline:{}}},zero:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","strip_references","inline","text_join"]},block:{rules:["paragraph"]},inline:{rules:["text"],rules2:["balance_pairs","fragments_join"]}}},commonmark:{options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","strip_references","inline","text_join"]},block:{rules:["blockquote","code","fence","heading","hr","html_block","lheading","list","reference","paragraph"]},inline:{rules:["autolink","backticks","emphasis","entity","escape","html_inline","image","link","newline","text"],rules2:["balance_pairs","emphasis","fragments_join"]}}}},UA=/^(vbscript|javascript|file|data):/,LA=/^data:image\/(gif|png|jpeg|webp);/,So=["http:","https:","mailto:"],We=class{validateLink(e){const t=e.trim().toLowerCase();return UA.test(t)?LA.test(t):!0}normalizeLink(e){const t=Nn(e,!0);if(t.hostname&&(!t.protocol||So.indexOf(t.protocol)>=0))try{t.hostname=ko.toASCII(t.hostname)}catch{}return Kt(Sn(t))}normalizeLinkText(e){const t=Nn(e,!0);if(t.hostname&&(!t.protocol||So.indexOf(t.protocol)>=0))try{t.hostname=ko.toUnicode(t.hostname)}catch{}return mt(Sn(t),mt.defaultChars+"%")}constructor(...e){Q(this,"inline",new Wr),Q(this,"block",new Qr),Q(this,"core",new Sr),Q(this,"renderer",new Fr),Q(this,"linkify",new rl),Q(this,"utils",ml),Q(this,"helpers",Object.assign({},Sl));const[t,n]=e;typeof t=="string"?(this.configure(t),n&&this.set(n)):(this.configure("default"),this.set(t||{}))}set(e){return Object.assign(this.options,e),this}configure(e){let t;if(typeof e=="string"){const o=e;if(t=VA[o],!t)throw new Error(`Wrong 'markdown-it' preset "${o}", check name`)}else t=e;if(!t)throw new Error("Wrong `markdown-it` preset, can't be empty");t.options&&(this.options={...t.options});const n=t.components;if(n){var i;["core","block","inline"].forEach(s=>{var l;const A=(l=n[s])===null||l===void 0?void 0:l.rules;A&&this[s].ruler.enableOnly(A)});const o=(i=n.inline)===null||i===void 0?void 0:i.rules2;o&&this.inline.ruler2.enableOnly(o)}return this}enable(e,t=!1){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(o=>{n=n.concat(this[o].ruler.enable(e,!0))}),n=n.concat(this.inline.ruler2.enable(e,!0));const i=e.filter(o=>n.indexOf(o)<0);if(i.length&&!t)throw new Error(`MarkdownIt. Failed to enable unknown rule(s): ${i}`);return this}disable(e,t=!1){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(o=>{n=n.concat(this[o].ruler.disable(e,!0))}),n=n.concat(this.inline.ruler2.disable(e,!0));const i=e.filter(o=>n.indexOf(o)<0);if(i.length&&!t)throw new Error(`MarkdownIt. Failed to disable unknown rule(s): ${i}`);return this}use(e,...t){return e.apply(e,[this,...t]),this}parse(e,t){if(typeof e!="string")throw new Error("Input data should be a String");const n=new this.core.State(e,this,t);return this.core.process(n),n.tokens}render(e,t={}){return this.renderer.render(this.parse(e,t),this.options,t)}parseInline(e,t){const n=new this.core.State(e,this,t);return n.inlineMode=!0,this.core.process(n),n.tokens}renderInline(e,t={}){return this.renderer.render(this.parseInline(e,t),this.options,t)}};Q(We,"Token",tt);Q(We,"Ruler",Qt);Q(We,"Renderer",Fr);Q(We,"ParserCore",Sr);Q(We,"StateCore",xr);Q(We,"ParserBlock",Qr);Q(We,"StateBlock",Nr);Q(We,"ParserInline",Wr);Q(We,"StateInline",Mr);var JA=Dr(We);/*! @license DOMPurify 3.4.13 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.13/LICENSE */function No(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function ZA(e){if(Array.isArray(e))return e}function PA(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var i,o,s,l,A=[],a=!0,u=!1;try{if(s=(n=n.call(e)).next,t!==0)for(;!(a=(i=s.call(n)).done)&&(A.push(i.value),A.length!==t);a=!0);}catch(d){u=!0,o=d}finally{try{if(!a&&n.return!=null&&(l=n.return(),Object(l)!==l))return}finally{if(u)throw o}}return A}}function zA(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
55
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function jA(e,t){return ZA(e)||PA(e,t)||XA(e,t)||zA()}function XA(e,t){if(e){if(typeof e=="string")return No(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?No(e,t):void 0}}const Yr=Object.entries,Ro=Object.setPrototypeOf,$A=Object.isFrozen,qA=Object.getPrototypeOf,ea=Object.getOwnPropertyDescriptor;let _e=Object.freeze,ke=Object.seal,dt=Object.create,Or=typeof Reflect<"u"&&Reflect,Tn=Or.apply,Qn=Or.construct;_e||(_e=function(t){return t});ke||(ke=function(t){return t});Tn||(Tn=function(t,n){for(var i=arguments.length,o=new Array(i>2?i-2:0),s=2;s<i;s++)o[s-2]=arguments[s];return t.apply(n,o)});Qn||(Qn=function(t){for(var n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];return new t(...i)});const ut=ce(Array.prototype.forEach),ta=ce(Array.prototype.lastIndexOf),To=ce(Array.prototype.pop),ht=ce(Array.prototype.push),na=ce(Array.prototype.splice),Je=Array.isArray,Bt=ce(String.prototype.toLowerCase),Bn=ce(String.prototype.toString),Qo=ce(String.prototype.match),Dt=ce(String.prototype.replace),Mo=ce(String.prototype.indexOf),oa=ce(String.prototype.trim),ra=ce(Number.prototype.toString),ia=ce(Boolean.prototype.toString),Ko=typeof BigInt>"u"?null:ce(BigInt.prototype.toString),Go=typeof Symbol>"u"?null:ce(Symbol.prototype.toString),ge=ce(Object.prototype.hasOwnProperty),It=ce(Object.prototype.toString),pe=ce(RegExp.prototype.test),et=sa(TypeError);function ce(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];return Tn(e,t,i)}}function sa(e){return function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return Qn(e,n)}}function P(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Bt;if(Ro&&Ro(e,null),!Je(t))return e;let i=t.length;for(;i--;){let o=t[i];if(typeof o=="string"){const s=n(o);s!==o&&($A(t)||(t[i]=s),o=s)}e[o]=!0}return e}function la(e){for(let t=0;t<e.length;t++)ge(e,t)||(e[t]=null);return e}function ye(e){const t=dt(null);for(const i of Yr(e)){var n=jA(i,2);const o=n[0],s=n[1];ge(e,o)&&(Je(s)?t[o]=la(s):s&&typeof s=="object"&&s.constructor===Object?t[o]=ye(s):t[o]=s)}return t}function Aa(e){switch(typeof e){case"string":return e;case"number":return ra(e);case"boolean":return ia(e);case"bigint":return Ko?Ko(e):"0";case"symbol":return Go?Go(e):"Symbol()";case"undefined":return It(e);case"function":case"object":{if(e===null)return It(e);const t=e,n=ve(t,"toString");if(typeof n=="function"){const i=n(t);return typeof i=="string"?i:It(i)}return It(e)}default:return It(e)}}function ve(e,t){for(;e!==null;){const i=ea(e,t);if(i){if(i.get)return ce(i.get);if(typeof i.value=="function")return ce(i.value)}e=qA(e)}function n(){return null}return n}function aa(e){try{return pe(e,""),!0}catch{return!1}}const Wo=_e(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),wn=_e(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Fn=_e(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),ca=_e(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),xn=_e(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),ua=_e(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Yo=_e(["#text"]),Oo=_e(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),vn=_e(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dominant-baseline","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-orientation","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Ho=_e(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Pt=_e(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),ha=ke(/{{[\w\W]*|^[\w\W]*}}/g),da=ke(/<%[\w\W]*|^[\w\W]*%>/g),fa=ke(/\${[\w\W]*/g),pa=ke(/^data-[\-\w.\u00B7-\uFFFF]+$/),ma=ke(/^aria-[\-\w]+$/),Vo=ke(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ga=ke(/^(?:\w+script|data):/i),Ca=ke(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),_a=ke(/^html$/i),ka=ke(/^[a-z][.\w]*(-[.\w]+)+$/i),Uo=ke(/<[/\w!]/g),Lo=ke(/<[/\w]/g),ya=ke(/<\/no(script|embed|frames)/i),Ea=ke(/\/>/i),we={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},ba=function(){return typeof window>"u"?null:window},Da=function(t,n){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let i=null;const o="data-tt-policy-suffix";n&&n.hasAttribute(o)&&(i=n.getAttribute(o));const s="dompurify"+(i?"#"+i:"");try{return t.createPolicy(s,{createHTML(l){return l},createScriptURL(l){return l}})}catch{return console.warn("TrustedTypes policy "+s+" could not be created."),null}},Jo=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Ve=function(t,n,i,o){return ge(t,n)&&Je(t[n])?P(o.base?ye(o.base):{},t[n],o.transform):i};function Hr(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ba();const t=S=>Hr(S);if(t.version="3.4.13",t.removed=[],!e||!e.document||e.document.nodeType!==we.document||!e.Element)return t.isSupported=!1,t;let n=e.document;const i=n,o=i.currentScript;e.DocumentFragment;const s=e.HTMLTemplateElement,l=e.Node,A=e.Element,a=e.NodeFilter,u=e.NamedNodeMap;u===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const d=e.DOMParser,f=e.trustedTypes,_=A.prototype,m=ve(_,"cloneNode"),h=ve(_,"remove"),k=ve(_,"nextSibling"),D=ve(_,"childNodes"),g=ve(_,"parentNode"),B=ve(_,"shadowRoot"),x=ve(_,"attributes"),C=l&&l.prototype?ve(l.prototype,"nodeType"):null,y=l&&l.prototype?ve(l.prototype,"nodeName"):null,K=l&&l.prototype?ve(l.prototype,"ownerDocument"):null;if(typeof s=="function"){const S=n.createElement("template");S.content&&S.content.ownerDocument&&(n=S.content.ownerDocument)}let H,w="",b,v=!1,N=0;const J=function(){if(N>0)throw et('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},z=function(c){J(),N++;try{return H.createHTML(c)}finally{N--}},$=function(c){J(),N++;try{return H.createScriptURL(c)}finally{N--}},ue=function(){return v||(b=Da(f,o),v=!0),b},de=n,Se=de.implementation,Pe=de.createNodeIterator,_t=de.createDocumentFragment,kt=de.getElementsByTagName,nt=i.importNode;let j=Jo();t.isSupported=typeof Yr=="function"&&typeof g=="function"&&Se&&Se.createHTMLDocument!==void 0;const le=ha,Be=da,Fe=fa,ze=pa,ot=ma,Ye=ga,rt=Ca,it=ka;let je=Vo,X=null;const Oe=P({},[...Wo,...wn,...Fn,...xn,...Yo]);let Z=null;const Xe=P({},[...Oo,...vn,...Ho,...Pt]);let ne=Object.seal(dt(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),xe=null,Y=null;const T=Object.seal(dt(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let E=!0,R=!0,G=!1,F=!0,O=!1,V=!0,fe=!1,te=!1,Ae=null,q=null,Ce=!1,ae=!1,st=!1,Ne=!1,he=!0,tn=!1;const Vn="user-content-";let nn=!0,Gt=!1,lt={},Re=null;const on=P({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]);let Un=null;const Ln=P({},["audio","video","img","source","image","track"]);let rn=null;const Jn=P({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Wt="http://www.w3.org/1998/Math/MathML",Yt="http://www.w3.org/2000/svg",Te="http://www.w3.org/1999/xhtml";let At=Te,sn=!1,ln=null;const Pr=P({},[Wt,Yt,Te],Bn),Zn=_e(["mi","mo","mn","ms","mtext"]);let An=P({},Zn);const Pn=_e(["annotation-xml"]);let an=P({},Pn);const zr=P({},["title","style","font","a","script"]);let yt=null;const jr=["application/xhtml+xml","text/html"],Xr="text/html";let re=null,at=null;const $r=n.createElement("form"),zn=function(c){return c instanceof RegExp||c instanceof Function},cn=function(){let c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(at&&at===c)return;(!c||typeof c!="object")&&(c={}),c=ye(c),yt=jr.indexOf(c.PARSER_MEDIA_TYPE)===-1?Xr:c.PARSER_MEDIA_TYPE,re=yt==="application/xhtml+xml"?Bn:Bt,X=Ve(c,"ALLOWED_TAGS",Oe,{transform:re}),Z=Ve(c,"ALLOWED_ATTR",Xe,{transform:re}),ln=Ve(c,"ALLOWED_NAMESPACES",Pr,{transform:Bn}),rn=Ve(c,"ADD_URI_SAFE_ATTR",Jn,{transform:re,base:Jn}),Un=Ve(c,"ADD_DATA_URI_TAGS",Ln,{transform:re,base:Ln}),Re=Ve(c,"FORBID_CONTENTS",on,{transform:re}),xe=Ve(c,"FORBID_TAGS",ye({}),{transform:re}),Y=Ve(c,"FORBID_ATTR",ye({}),{transform:re}),lt=ge(c,"USE_PROFILES")?c.USE_PROFILES&&typeof c.USE_PROFILES=="object"?ye(c.USE_PROFILES):c.USE_PROFILES:!1,E=c.ALLOW_ARIA_ATTR!==!1,R=c.ALLOW_DATA_ATTR!==!1,G=c.ALLOW_UNKNOWN_PROTOCOLS||!1,F=c.ALLOW_SELF_CLOSE_IN_ATTR!==!1,O=c.SAFE_FOR_TEMPLATES||!1,V=c.SAFE_FOR_XML!==!1,fe=c.WHOLE_DOCUMENT||!1,ae=c.RETURN_DOM||!1,st=c.RETURN_DOM_FRAGMENT||!1,Ne=c.RETURN_TRUSTED_TYPE||!1,Ce=c.FORCE_BODY||!1,he=c.SANITIZE_DOM!==!1,tn=c.SANITIZE_NAMED_PROPS||!1,nn=c.KEEP_CONTENT!==!1,Gt=c.IN_PLACE||!1,je=aa(c.ALLOWED_URI_REGEXP)?c.ALLOWED_URI_REGEXP:Vo,At=typeof c.NAMESPACE=="string"?c.NAMESPACE:Te,An=ge(c,"MATHML_TEXT_INTEGRATION_POINTS")&&c.MATHML_TEXT_INTEGRATION_POINTS&&typeof c.MATHML_TEXT_INTEGRATION_POINTS=="object"?ye(c.MATHML_TEXT_INTEGRATION_POINTS):P({},Zn),an=ge(c,"HTML_INTEGRATION_POINTS")&&c.HTML_INTEGRATION_POINTS&&typeof c.HTML_INTEGRATION_POINTS=="object"?ye(c.HTML_INTEGRATION_POINTS):P({},Pn);const p=ge(c,"CUSTOM_ELEMENT_HANDLING")&&c.CUSTOM_ELEMENT_HANDLING&&typeof c.CUSTOM_ELEMENT_HANDLING=="object"?ye(c.CUSTOM_ELEMENT_HANDLING):dt(null);if(ne=dt(null),ge(p,"tagNameCheck")&&zn(p.tagNameCheck)&&(ne.tagNameCheck=p.tagNameCheck),ge(p,"attributeNameCheck")&&zn(p.attributeNameCheck)&&(ne.attributeNameCheck=p.attributeNameCheck),ge(p,"allowCustomizedBuiltInElements")&&typeof p.allowCustomizedBuiltInElements=="boolean"&&(ne.allowCustomizedBuiltInElements=p.allowCustomizedBuiltInElements),ke(ne),O&&(R=!1),st&&(ae=!0),lt&&(X=P({},Yo),Z=dt(null),lt.html===!0&&(P(X,Wo),P(Z,Oo)),lt.svg===!0&&(P(X,wn),P(Z,vn),P(Z,Pt)),lt.svgFilters===!0&&(P(X,Fn),P(Z,vn),P(Z,Pt)),lt.mathMl===!0&&(P(X,xn),P(Z,Ho),P(Z,Pt))),T.tagCheck=null,T.attributeCheck=null,ge(c,"ADD_TAGS")&&(typeof c.ADD_TAGS=="function"?T.tagCheck=c.ADD_TAGS:Je(c.ADD_TAGS)&&(X===Oe&&(X=ye(X)),P(X,c.ADD_TAGS,re))),ge(c,"ADD_ATTR")&&(typeof c.ADD_ATTR=="function"?T.attributeCheck=c.ADD_ATTR:Je(c.ADD_ATTR)&&(Z===Xe&&(Z=ye(Z)),P(Z,c.ADD_ATTR,re))),ge(c,"ADD_URI_SAFE_ATTR")&&Je(c.ADD_URI_SAFE_ATTR)&&P(rn,c.ADD_URI_SAFE_ATTR,re),ge(c,"FORBID_CONTENTS")&&Je(c.FORBID_CONTENTS)&&(Re===on&&(Re=ye(Re)),P(Re,c.FORBID_CONTENTS,re)),ge(c,"ADD_FORBID_CONTENTS")&&Je(c.ADD_FORBID_CONTENTS)&&(Re===on&&(Re=ye(Re)),P(Re,c.ADD_FORBID_CONTENTS,re)),nn&&(X["#text"]=!0),fe&&P(X,["html","head","body"]),X.table&&(P(X,["tbody"]),delete xe.tbody),c.TRUSTED_TYPES_POLICY){if(typeof c.TRUSTED_TYPES_POLICY.createHTML!="function")throw et('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof c.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw et('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const I=H;H=c.TRUSTED_TYPES_POLICY;try{w=z("")}catch(M){throw H=I,M}}else c.TRUSTED_TYPES_POLICY===null?(H=void 0,w=""):(H===void 0&&(H=ue()),H&&typeof w=="string"&&(w=z("")));_e&&_e(c),at=c},jn=P({},[...wn,...Fn,...ca]),Xn=P({},[...xn,...ua]),qr=function(c,p,I){return p.namespaceURI===Te?c==="svg":p.namespaceURI===Wt?c==="svg"&&(I==="annotation-xml"||An[I]):!!jn[c]},ei=function(c,p,I){return p.namespaceURI===Te?c==="math":p.namespaceURI===Yt?c==="math"&&an[I]:!!Xn[c]},ti=function(c,p,I){return p.namespaceURI===Yt&&!an[I]||p.namespaceURI===Wt&&!An[I]?!1:!Xn[c]&&(zr[c]||!jn[c])},ni=function(c){let p=g(c);(!p||!p.tagName)&&(p={namespaceURI:At,tagName:"template"});const I=Bt(c.tagName),M=Bt(p.tagName);return ln[c.namespaceURI]?c.namespaceURI===Yt?qr(I,p,M):c.namespaceURI===Wt?ei(I,p,M):c.namespaceURI===Te?ti(I,p,M):!!(yt==="application/xhtml+xml"&&ln[c.namespaceURI]):!1},He=function(c){ht(t.removed,{element:c});try{g(c).removeChild(c)}catch{if(h(c),!g(c))throw et("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},Ot=function(c){Et(c);const p=D(c);if(p){const M=[];ut(p,W=>{ht(M,W)}),ut(M,W=>{try{h(W)}catch{}})}const I=x(c);if(I)for(let M=I.length-1;M>=0;--M){const W=I[M],U=W&&W.name;if(typeof U=="string")try{c.removeAttribute(U)}catch{}}},$e=function(c,p){try{ht(t.removed,{attribute:p.getAttributeNode(c),from:p})}catch{ht(t.removed,{attribute:null,from:p})}if(p.removeAttribute(c),c==="is")if(ae||st)try{He(p)}catch{}else try{p.setAttribute(c,"")}catch{}},oi=function(c){const p=x(c);if(p)for(let I=p.length-1;I>=0;--I){const M=p[I],W=M&&M.name;if(!(typeof W!="string"||Z[re(W)]))try{c.removeAttribute(W)}catch{}}},Et=function(c){const p=[c];for(;p.length>0;){const I=p.pop();(C?C(I):I.nodeType)===we.element&&oi(I);const W=D(I);if(W)for(let U=W.length-1;U>=0;--U)p.push(W[U])}},ri=function(c){if(!V)return;const p=[c];for(;p.length>0;){const I=p.pop(),M=C?C(I):I.nodeType;if(M===we.processingInstruction||M===we.comment&&pe(Lo,I.data)){try{h(I)}catch{}continue}if(M===we.element){const U=I,ee=re(y?y(I):I.nodeName);try{U.hasAttribute&&U.hasAttribute("patchsrc")&&U.removeAttribute("patchsrc"),U.hasAttribute&&U.hasAttribute("for")&&ee!=="label"&&ee!=="output"&&U.removeAttribute("for")}catch{}}const W=D(I);if(W)for(let U=W.length-1;U>=0;--U)p.push(W[U])}},$n=function(c){let p=null,I=null;if(Ce)c="<remove></remove>"+c;else{const U=Qo(c,/^[\r\n\t ]+/);I=U&&U[0]}yt==="application/xhtml+xml"&&At===Te&&(c='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+c+"</body></html>");const M=H?z(c):c;if(At===Te)try{p=new d().parseFromString(M,yt)}catch{}if(!p||!p.documentElement){p=Se.createDocument(At,"template",null);try{p.documentElement.innerHTML=sn?w:M}catch{}}const W=p.body||p.documentElement;return c&&I&&W.insertBefore(n.createTextNode(I),W.childNodes[0]||null),At===Te?kt.call(p,fe?"html":"body")[0]:fe?p.documentElement:W},qn=function(c){const p=K?K(c):c.ownerDocument;return Pe.call(p||c,c,a.SHOW_ELEMENT|a.SHOW_COMMENT|a.SHOW_TEXT|a.SHOW_PROCESSING_INSTRUCTION|a.SHOW_CDATA_SECTION,null)},Ht=function(c){return c=Dt(c,le," "),c=Dt(c,Be," "),c=Dt(c,Fe," "),c},un=function(c){var p;c.normalize();const I=K?K(c):c.ownerDocument,M=Pe.call(I||c,c,a.SHOW_TEXT|a.SHOW_COMMENT|a.SHOW_CDATA_SECTION|a.SHOW_PROCESSING_INSTRUCTION,null);let W=M.nextNode();for(;W;)W.data=Ht(W.data),W=M.nextNode();const U=(p=c.querySelectorAll)===null||p===void 0?void 0:p.call(c,"template");U&&ut(U,ee=>{ct(ee.content)&&un(ee.content)})},Vt=function(c){const p=y?y(c):null;return typeof p!="string"||re(p)!=="form"?!1:typeof c.nodeName!="string"||typeof c.textContent!="string"||typeof c.removeChild!="function"||c.attributes!==x(c)||typeof c.removeAttribute!="function"||typeof c.setAttribute!="function"||typeof c.namespaceURI!="string"||typeof c.insertBefore!="function"||typeof c.hasChildNodes!="function"||c.nodeType!==C(c)||c.childNodes!==D(c)},ct=function(c){if(!C||typeof c!="object"||c===null)return!1;try{return C(c)===we.documentFragment}catch{return!1}},bt=function(c){if(!C||typeof c!="object"||c===null)return!1;try{return typeof C(c)=="number"}catch{return!1}};function Qe(S,c,p){S.length!==0&&ut(S,I=>{I.call(t,c,p,at)})}const ii=function(c,p){return!!(V&&c.hasChildNodes()&&!bt(c.firstElementChild)&&pe(Uo,c.textContent)&&pe(Uo,c.innerHTML)||V&&c.namespaceURI===Te&&p==="style"&&bt(c.firstElementChild)||c.nodeType===we.processingInstruction||V&&c.nodeType===we.comment&&pe(Lo,c.data))},si=function(c,p,I){if(!xe[p]&&oo(p)&&(ne.tagNameCheck instanceof RegExp&&pe(ne.tagNameCheck,p)||ne.tagNameCheck instanceof Function&&ne.tagNameCheck(p)))return!1;if(nn&&!Re[p]){const M=g(c),W=D(c);if(W&&M){const U=W.length;for(let ee=U-1;ee>=0;--ee){const ie=c===I?m(W[ee],!0):W[ee];M.insertBefore(ie,k(c))}}}return He(c),!0},eo=function(c,p,I,M){return c.length===0?p:p===I||p===M?ye(p):p},to=function(c,p){if(Qe(j.beforeSanitizeElements,c,null),c!==p&&g(c)===null)return Gt&&Et(c),!0;if(Vt(c))return He(c),!0;const I=re(y?y(c):c.nodeName);if(X=eo(j.uponSanitizeElement,X,Oe,Ae),Qe(j.uponSanitizeElement,c,{tagName:I,allowedTags:X}),c!==p&&g(c)===null)return Gt&&Et(c),!0;if(ii(c,I))return He(c),!0;if(xe[I]||!(T.tagCheck instanceof Function&&T.tagCheck(I))&&!X[I]){const W=si(c,I,p);return W===!1&&Qe(j.afterSanitizeElements,c,null),W}if((C?C(c):c.nodeType)===we.element&&!ni(c)||(I==="noscript"||I==="noembed"||I==="noframes")&&pe(ya,c.innerHTML))return He(c),!0;if(O&&c.nodeType===we.text){const W=Ht(c.textContent);c.textContent!==W&&(ht(t.removed,{element:c.cloneNode()}),c.textContent=W)}return Qe(j.afterSanitizeElements,c,null),!1},no=function(c,p,I){if(Y[p]||V&&p==="patchsrc"||V&&p==="for"&&c!=="label"&&c!=="output"||he&&(p==="id"||p==="name")&&(I in n||I in $r))return!1;const M=Z[p]||T.attributeCheck instanceof Function&&T.attributeCheck(p,c);if(!(R&&pe(ze,p))){if(!(E&&pe(ot,p))){if(M){if(!rn[p]){if(!pe(je,Dt(I,rt,""))){if(!((p==="src"||p==="xlink:href"||p==="href")&&c!=="script"&&Mo(I,"data:")===0&&Un[c])){if(!(G&&!pe(Ye,Dt(I,rt,"")))){if(I)return!1}}}}}else if(!(oo(c)&&(ne.tagNameCheck instanceof RegExp&&pe(ne.tagNameCheck,c)||ne.tagNameCheck instanceof Function&&ne.tagNameCheck(c))&&(ne.attributeNameCheck instanceof RegExp&&pe(ne.attributeNameCheck,p)||ne.attributeNameCheck instanceof Function&&ne.attributeNameCheck(p,c))||p==="is"&&ne.allowCustomizedBuiltInElements&&(ne.tagNameCheck instanceof RegExp&&pe(ne.tagNameCheck,I)||ne.tagNameCheck instanceof Function&&ne.tagNameCheck(I))))return!1}}return!0},li=P({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),oo=function(c){return!li[Bt(c)]&&pe(it,c)},Ai=function(c,p,I,M){if(H&&typeof f=="object"&&typeof f.getAttributeType=="function"&&!I)switch(f.getAttributeType(c,p)){case"TrustedHTML":return z(M);case"TrustedScriptURL":return $(M)}return M},ai=function(c,p,I,M){try{I?c.setAttributeNS(I,p,M):c.setAttribute(p,M),Vt(c)?He(c):To(t.removed)}catch{$e(p,c)}},ro=function(c){Qe(j.beforeSanitizeAttributes,c,null);const p=c.attributes;if(!p||Vt(c))return;Z=eo(j.uponSanitizeAttribute,Z,Xe,q);const I={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Z,forceKeepAttr:void 0};let M=p.length;const W=re(c.nodeName);for(;M--;){const U=p[M],ee=U.name,ie=U.namespaceURI,De=U.value,Ie=re(ee),dn=De;let Ee=ee==="value"?dn:oa(dn);if(I.attrName=Ie,I.attrValue=Ee,I.keepAttr=!0,I.forceKeepAttr=void 0,Qe(j.uponSanitizeAttribute,c,I),Ee=I.attrValue,tn&&(Ie==="id"||Ie==="name")&&Mo(Ee,Vn)!==0&&($e(ee,c),Ee=Vn+Ee),V&&pe(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Ee)){$e(ee,c);continue}if(Ie==="attributename"&&Qo(Ee,"href")){$e(ee,c);continue}if(!I.forceKeepAttr){if(!I.keepAttr){$e(ee,c);continue}if(!F&&pe(Ea,Ee)){$e(ee,c);continue}if(O&&(Ee=Ht(Ee)),!no(W,Ie,Ee)){$e(ee,c);continue}Ee=Ai(W,Ie,ie,Ee),Ee!==dn&&ai(c,ee,ie,Ee)}}Qe(j.afterSanitizeAttributes,c,null)},Ut=function(c){let p=null;const I=qn(c);for(Qe(j.beforeSanitizeShadowDOM,c,null);p=I.nextNode();)if(Qe(j.uponSanitizeShadowNode,p,null),to(p,c),ro(p),ct(p.content)&&Ut(p.content),(C?C(p):p.nodeType)===we.element){const W=B(p);ct(W)&&(hn(W),Ut(W))}Qe(j.afterSanitizeShadowDOM,c,null)},hn=function(c){const p=[{node:c,shadow:null}];for(;p.length>0;){const I=p.pop();if(I.shadow){Ut(I.shadow);continue}const M=I.node,U=(C?C(M):M.nodeType)===we.element,ee=D(M);if(ee)for(let ie=ee.length-1;ie>=0;--ie)p.push({node:ee[ie],shadow:null});if(U){const ie=y?y(M):null;if(typeof ie=="string"&&re(ie)==="template"){const De=M.content;ct(De)&&p.push({node:De,shadow:null})}}if(U){const ie=B(M);ct(ie)&&p.push({node:null,shadow:ie},{node:ie,shadow:null})}}};return t.sanitize=function(S){let c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},p=null,I=null,M=null,W=null;if(sn=!S,sn&&(S="<!-->"),typeof S!="string"&&!bt(S)&&(S=Aa(S),typeof S!="string"))throw et("dirty is not a string, aborting");if(!t.isSupported)return S;te?(X=Ae,Z=q):cn(c),(j.uponSanitizeElement.length>0||j.uponSanitizeAttribute.length>0)&&(X=ye(X)),j.uponSanitizeAttribute.length>0&&(Z=ye(Z)),t.removed=[];const U=Gt&&typeof S!="string"&&bt(S);if(U){ri(S);const De=y?y(S):S.nodeName;if(typeof De=="string"){const Ie=re(De);if(!X[Ie]||xe[Ie])throw Ot(S),et("root node is forbidden and cannot be sanitized in-place")}if(Vt(S))throw Ot(S),et("root node is clobbered and cannot be sanitized in-place");try{hn(S)}catch(Ie){throw Ot(S),Ie}}else if(bt(S))p=$n("<!---->"),I=p.ownerDocument.importNode(S,!0),I.nodeType===we.element&&I.nodeName==="BODY"||I.nodeName==="HTML"?p=I:p.appendChild(I),hn(I);else{if(!ae&&!O&&!fe&&S.indexOf("<")===-1)return H&&Ne?z(S):S;if(p=$n(S),!p)return ae?null:Ne?w:""}p&&Ce&&He(p.firstChild);const ee=U?S:p;try{const De=qn(ee);for(;M=De.nextNode();)to(M,ee),ro(M),ct(M.content)&&Ut(M.content)}catch(De){throw U&&(Ot(S),ut(t.removed,Ie=>{Ie.element&&Et(Ie.element)})),De}if(U)return ut(t.removed,De=>{De.element&&Et(De.element)}),O&&un(S),S;if(ae){if(O&&un(p),st)for(W=_t.call(p.ownerDocument);p.firstChild;)W.appendChild(p.firstChild);else W=p;return(Z.shadowroot||Z.shadowrootmode)&&(W=nt.call(i,W,!0)),W}let ie=fe?p.outerHTML:p.innerHTML;return fe&&X["!doctype"]&&p.ownerDocument&&p.ownerDocument.doctype&&p.ownerDocument.doctype.name&&pe(_a,p.ownerDocument.doctype.name)&&(ie="<!DOCTYPE "+p.ownerDocument.doctype.name+`>
|
|
56
|
-
`+ie),O&&(ie=Ht(ie)),H&&Ne?z(ie):ie},t.setConfig=function(){let S=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};cn(S),te=!0,Ae=X,q=Z},t.clearConfig=function(){at=null,te=!1,Ae=null,q=null,H=b,w=""},t.isValidAttribute=function(S,c,p){at||cn({});const I=re(S),M=re(c);return no(I,M,p)},t.addHook=function(S,c){typeof c=="function"&&ge(j,S)&&ht(j[S],c)},t.removeHook=function(S,c){if(ge(j,S)){if(c!==void 0){const p=ta(j[S],c);return p===-1?void 0:na(j[S],p,1)[0]}return To(j[S])}},t.removeHooks=function(S){ge(j,S)&&(j[S]=[])},t.removeAllHooks=function(){j=Jo()},t}var Ia=Hr();const Xt=new JA({html:!1,linkify:!0,breaks:!0}),Ba=Xt.renderer.rules.fence;Xt.renderer.rules.fence=(e,t,n,i,o)=>{var u;const l=((u=e[t].info)==null?void 0:u.trim().split(/\s+/)[0])||"",A=Xt.utils.escapeHtml(l)||"code",a=Ba(e,t,n,i,o);return`<div class="md-code-block"><div class="md-code-block__head"><span class="md-code-block__lang">${A}</span><span class="md-code-block__copy" data-md-copy>复制</span></div>`+a+"</div>"};function wa(e){if(!e)return"";const t=Xt.render(e);return Ia.sanitize(t)}function Vr(e){return/\.tiff?$/i.test(e)}function Fa(e){var t;try{const n=e.slice(0,e.indexOf(",")),i=e.slice(e.indexOf(",")+1),o=((t=n.match(/^data:([^;]+)/))==null?void 0:t[1])||"",s=atob(i),l=new Uint8Array(s.length);for(let A=0;A<s.length;A++)l[A]=s.charCodeAt(A);return new Blob([l],{type:o})}catch{return null}}function Ur(e){var t;return e.blob instanceof Blob?e.blob:(t=e.data)!=null&&t.startsWith("data:")?Fa(e.data):null}const xa={class:"message-avatar"},va={class:"message-body"},Sa={class:"message-time"},Na={key:0,class:"message-files"},Ra=["src","alt","onClick"],Ta={class:"file-info"},Qa={class:"file-name"},Ma={class:"file-size"},Ka={key:1,class:"message-user-text"},Ga={class:"message-actions"},Wa={key:0,class:"message-reasoning"},Ya={key:0,class:"reasoning-content"},Oa=["innerHTML"],Ha={key:3,class:"typing-dots"},Va={key:4,class:"message-error"},Ua=r.defineComponent({__name:"ChatMessage",props:{message:{},toolPackages:{},mdTableClick:{type:Boolean},mdListClick:{type:Boolean}},emits:["execute"],setup(e,{emit:t}){const n=e,i=t,o=r.computed(()=>wa(n.message.content)),s=r.computed(()=>!!n.message.hideMarkdown),l=r.ref(!1),A=r.ref([]),a=r.ref(0),u=[];function d(w){var v;if((v=w.data)!=null&&v.startsWith("data:"))return w.data;const b=Ur(w);if(b){const N=URL.createObjectURL(b);return u.push(N),N}return""}function f(w){var N;const b=(N=n.message.files)==null?void 0:N.filter(J=>J.type.startsWith("image/")).map(d).filter(Boolean);if(!(b!=null&&b.length))return;const v=d(w);a.value=Math.max(0,b.indexOf(v)),A.value=b}function _(){u.forEach(w=>URL.revokeObjectURL(w)),u.length=0,A.value=[]}function m(w){if(!w)return"";const b=new Date(w),v=String(b.getHours()).padStart(2,"0"),N=String(b.getMinutes()).padStart(2,"0");return`${v}:${N}`}function h(w){var v;if(w.type!=="component"||!w.componentName)return null;let b=w.packageId?n.toolPackages.find(N=>N.id===w.packageId):null;return b||(b=n.toolPackages.find(N=>N.components&&w.componentName in N.components)),b||(b=n.toolPackages[n.toolPackages.length-1]),b&&((v=b.components)==null?void 0:v[w.componentName])||null}function k(w){i("execute",w)}function D(){const w=window.getSelection();return!!w&&w.toString().length>0}async function g(w){try{await navigator.clipboard.writeText(w),ft.ElMessage.success("已复制")}catch{ft.ElMessage.error("复制失败,请手动复制")}}async function B(){await g(n.message.content)}async function x(w){var N;const b=w.closest("[data-md-copy]");if(!b)return;const v=(N=b.closest(".md-code-block"))==null?void 0:N.querySelector("pre code");v!=null&&v.textContent&&await g(v.textContent)}function C(w){const b=[];let v=w.nextElementSibling;for(;v&&!/^H[1-6]$/.test(v.tagName);)b.push(v),v=v.nextElementSibling;const N=w.hasAttribute("data-collapsed");w.toggleAttribute("data-collapsed",!N),b.forEach(J=>{J.style.display=N?"":"none"})}async function y(w){var N;const b=w.querySelector("td, th"),v=(N=b==null?void 0:b.textContent)==null?void 0:N.trim();v&&i("execute",`我选择 ${v}`)}function K(w){var v;const b=(v=w.textContent)==null?void 0:v.trim();b&&i("execute",b)}function H(w){if(D())return;const b=w.target;if(b.closest("a"))return;if(b.closest("[data-md-copy]")){x(b);return}const v=b.closest("h1,h2,h3,h4,h5,h6");if(v){C(v);return}if(n.mdTableClick){const N=b.closest("table tr");if(N&&!N.closest("thead")){const J=N.parentElement;J&&/^TBODY$/i.test(J.tagName)&&y(N);return}}if(n.mdListClick){const N=b.closest("li");N&&K(N)}}return(w,b)=>{var z;const v=r.resolveComponent("el-icon"),N=r.resolveComponent("el-tooltip"),J=r.resolveComponent("el-image-viewer");return r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(["chat-message",[`role-${e.message.role}`,{"is-streaming":e.message.status==="streaming"}]])},[r.createElementVNode("div",xa,[e.message.role==="user"?(r.openBlock(),r.createBlock(v,{key:0},{default:r.withCtx(()=>[r.createVNode(r.unref(is))]),_:1})):(r.openBlock(),r.createBlock(v,{key:1},{default:r.withCtx(()=>[r.createVNode(r.unref(Qi))]),_:1}))]),r.createElementVNode("div",va,[r.createElementVNode("span",Sa,r.toDisplayString(m(e.message.timestamp)),1),(z=e.message.files)!=null&&z.length?(r.openBlock(),r.createElementBlock("div",Na,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(e.message.files,($,ue)=>{var de,Se;return r.openBlock(),r.createElementBlock("div",{key:ue,class:r.normalizeClass(["message-file",{"is-image":$.type.startsWith("image/")&&((de=$.data)==null?void 0:de.startsWith("data:"))}])},[$.type.startsWith("image/")&&((Se=$.data)!=null&&Se.startsWith("data:"))?(r.openBlock(),r.createElementBlock("img",{key:0,src:$.data,alt:$.name,class:"file-image",onClick:Pe=>f($)},null,8,Ra)):(r.openBlock(),r.createBlock(v,{key:1},{default:r.withCtx(()=>[r.createVNode(r.unref(lr))]),_:1})),r.createElementVNode("div",Ta,[r.createElementVNode("span",Qa,r.toDisplayString($.name),1),r.createElementVNode("span",Ma,r.toDisplayString(($.size/1024).toFixed(1))+" KB",1)])],2)}),128))])):r.createCommentVNode("",!0),e.message.role==="user"?(r.openBlock(),r.createElementBlock("div",Ka,r.toDisplayString(e.message.content),1)):r.createCommentVNode("",!0),e.message.role==="assistant"?(r.openBlock(),r.createElementBlock(r.Fragment,{key:2},[r.createElementVNode("div",Ga,[r.createVNode(N,{content:"复制完整回复","show-after":300,placement:"top"},{default:r.withCtx(()=>[r.createElementVNode("button",{class:"message-action-btn",type:"button",onClick:B},[r.createVNode(v,null,{default:r.withCtx(()=>[r.createVNode(r.unref(Wi))]),_:1})])]),_:1})]),e.message.reasoning?(r.openBlock(),r.createElementBlock("div",Wa,[r.createElementVNode("button",{class:"reasoning-toggle",onClick:b[0]||(b[0]=$=>l.value=!l.value)},[r.createVNode(v,{style:{"margin-right":"4px"}},{default:r.withCtx(()=>[r.createVNode(r.unref(Oi))]),_:1}),b[1]||(b[1]=r.createTextVNode(" 推理过程 ",-1)),r.createElementVNode("span",{class:r.normalizeClass(["reasoning-toggle__arrow",{open:l.value}])},"▾",2)]),l.value?(r.openBlock(),r.createElementBlock("pre",Ya,r.toDisplayString(e.message.reasoning),1)):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),s.value?r.createCommentVNode("",!0):(r.openBlock(),r.createElementBlock("div",{key:1,class:r.normalizeClass(["message-content markdown-body",{"is-table-clickable":e.mdTableClick,"is-list-clickable":e.mdListClick}]),innerHTML:o.value,onClick:H},null,10,Oa)),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(e.message.renderBlocks,($,ue)=>(r.openBlock(),r.createBlock(Ar,{key:ue,block:$,"resolved-component":h($),onSelect:k},null,8,["block","resolved-component"]))),128)),e.message.suggestedNext?(r.openBlock(),r.createBlock(ar,{key:2,text:e.message.suggestedNext,onExecute:k},null,8,["text"])):r.createCommentVNode("",!0)],64)):r.createCommentVNode("",!0),e.message.status==="streaming"?(r.openBlock(),r.createElementBlock("div",Ha,[...b[2]||(b[2]=[r.createElementVNode("i",null,null,-1),r.createElementVNode("i",null,null,-1),r.createElementVNode("i",null,null,-1)])])):r.createCommentVNode("",!0),e.message.status==="error"?(r.openBlock(),r.createElementBlock("div",Va,r.toDisplayString(e.message.error),1)):r.createCommentVNode("",!0)]),A.value.length?(r.openBlock(),r.createBlock(J,{key:0,"initial-index":a.value,"url-list":A.value,onClose:_},null,8,["initial-index","url-list"])):r.createCommentVNode("",!0)],2)}}}),Lr=Ct(Ua,[["__scopeId","data-v-7317da3a"]]),La={class:"chat-input"},Ja={key:0,class:"chat-input__files"},Za={class:"chat-input__wrap"},Pa={class:"chat-input__actions"},za=r.defineComponent({__name:"ChatInput",props:{loading:{type:Boolean},disabled:{type:Boolean},placeholder:{}},emits:["send"],setup(e,{emit:t}){const n=e,i=t,o=r.ref(""),s=r.ref([]),l=r.ref(null),A=r.computed(()=>(o.value.trim().length>0||s.value.length>0)&&!n.disabled);function a(){var g;(g=l.value)==null||g.click()}const u=new Set(["text/plain","text/html","text/css","text/javascript","text/typescript","text/markdown","text/csv","text/xml","application/json","application/xml","application/javascript","application/typescript","application/yaml","application/x-yaml"]);function d(g){var B;if(g.type.startsWith("text/")||u.has(g.type))return!0;if(g.type===""||g.type.startsWith("application/")){const x=(B=g.name.split(".").pop())==null?void 0:B.toLowerCase();return new Set(["txt","md","json","geojson","xml","yml","yaml","csv","ts","js","tsx","jsx","vue","html","css","scss","less","sh","bat","ps1","py","java","c","cpp","h","hpp","go","rs","rb","php","sql","toml","ini","cfg","conf","log","env","gitignore","dockerfile","wkt","wkb","kml","gpx","geojson","topojson","xlsx","docx"]).has(x??"")}return!1}function f(g){return new Promise(B=>{const x={id:"",name:g.name,size:g.size,type:g.type,blob:g};if(Vr(g.name)){B({...x,data:""});return}const C=new FileReader;C.onload=()=>{B({...x,data:C.result})},d(g)?C.readAsText(g):C.readAsDataURL(g)})}async function _(g){var x;const B=g.target;if((x=B.files)!=null&&x.length){for(const C of Array.from(B.files)){const y=await f(C);s.value.push(y)}B.value=""}}function m(g){s.value.splice(g,1)}function h(g){g.shiftKey||(g.preventDefault(),k())}function k(){if(!A.value||n.loading)return;const g=o.value.trim();i("send",g,s.value),o.value="",s.value=[]}function D(){!s.value.length||n.disabled||n.loading||(i("send","预览",s.value),s.value=[])}return(g,B)=>{const x=r.resolveComponent("el-icon"),C=r.resolveComponent("el-tag"),y=r.resolveComponent("el-button"),K=r.resolveComponent("el-input"),H=r.resolveComponent("el-tooltip");return r.openBlock(),r.createElementBlock("div",La,[s.value.length?(r.openBlock(),r.createElementBlock("div",Ja,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(s.value,(w,b)=>(r.openBlock(),r.createBlock(C,{key:b,closable:"",size:"small",type:w.type.startsWith("image/")?"success":"info",onClose:v=>m(b)},{default:r.withCtx(()=>[w.type.startsWith("image/")?(r.openBlock(),r.createBlock(x,{key:0,style:{"margin-right":"4px"}},{default:r.withCtx(()=>[r.createVNode(r.unref(ji))]),_:1})):(r.openBlock(),r.createBlock(x,{key:1,style:{"margin-right":"4px"}},{default:r.withCtx(()=>[r.createVNode(r.unref(lr))]),_:1})),r.createTextVNode(" "+r.toDisplayString(w.name),1)]),_:2},1032,["type","onClose"]))),128)),r.createVNode(y,{class:"chat-input__preview",size:"small",plain:"",disabled:e.disabled||e.loading,onClick:D},{default:r.withCtx(()=>[r.createVNode(x,{style:{"margin-right":"2px"}},{default:r.withCtx(()=>[r.createVNode(r.unref(as))]),_:1}),B[1]||(B[1]=r.createTextVNode("预览 ",-1))]),_:1},8,["disabled"])])):r.createCommentVNode("",!0),r.createElementVNode("div",Za,[r.createVNode(K,{modelValue:o.value,"onUpdate:modelValue":B[0]||(B[0]=w=>o.value=w),type:"textarea",autosize:{minRows:1,maxRows:6},resize:"none",placeholder:e.placeholder,onKeydown:r.withKeys(h,["enter"])},null,8,["modelValue","placeholder"]),r.createElementVNode("div",Pa,[r.createVNode(H,{content:"上传文件",placement:"top"},{default:r.withCtx(()=>[r.createVNode(y,{text:"",circle:"",onClick:a},{default:r.withCtx(()=>[r.createVNode(x,null,{default:r.withCtx(()=>[r.createVNode(r.unref(Pi))]),_:1})]),_:1})]),_:1}),r.createElementVNode("input",{ref_key:"fileInputRef",ref:l,type:"file",multiple:"",hidden:"",onChange:_},null,544),r.createVNode(H,{content:"Enter 发送,Shift+Enter 换行",placement:"top"},{default:r.withCtx(()=>[r.createVNode(y,{class:"chat-input__send",type:"primary",icon:r.unref(es),loading:e.loading,disabled:!A.value,circle:"",onClick:k},null,8,["icon","loading","disabled"])]),_:1})])])])}}}),Jr=Ct(za,[["__scopeId","data-v-e7db63f0"]]),ja=[{label:"deepseek-v4-flash",value:"deepseek-v4-flash"},{label:"deepseek-v4-pro",value:"deepseek-v4-pro"}],Xa={class:"form-tip"},$a={class:"temp-row"},qa={class:"temp-val"},ec=r.defineComponent({__name:"ChatSettings",props:{modelValue:{type:Boolean},settings:{},deviceId:{}},emits:["update:modelValue","save"],setup(e,{emit:t}){const n=e,i=t,o=r.ref(n.modelValue);r.watch(()=>n.modelValue,A=>{o.value=A,A&&(s.value={...n.settings})}),r.watch(o,A=>i("update:modelValue",A));const s=r.ref({...n.settings});function l(){i("save",{...s.value}),o.value=!1}return(A,a)=>{const u=r.resolveComponent("el-radio"),d=r.resolveComponent("el-radio-group"),f=r.resolveComponent("el-form-item"),_=r.resolveComponent("el-input"),m=r.resolveComponent("el-link"),h=r.resolveComponent("el-option"),k=r.resolveComponent("el-select"),D=r.resolveComponent("el-slider"),g=r.resolveComponent("el-switch"),B=r.resolveComponent("el-form"),x=r.resolveComponent("el-button"),C=r.resolveComponent("el-dialog");return r.openBlock(),r.createBlock(C,{modelValue:o.value,"onUpdate:modelValue":a[11]||(a[11]=y=>o.value=y),title:"AI 助手设置",width:"520px","append-to-body":""},{footer:r.withCtx(()=>[r.createVNode(x,{onClick:a[10]||(a[10]=y=>o.value=!1)},{default:r.withCtx(()=>[...a[22]||(a[22]=[r.createTextVNode("取消",-1)])]),_:1}),r.createVNode(x,{type:"primary",onClick:l},{default:r.withCtx(()=>[...a[23]||(a[23]=[r.createTextVNode("保存",-1)])]),_:1})]),default:r.withCtx(()=>[r.createVNode(B,{model:s.value,"label-width":"110px","label-position":"right"},{default:r.withCtx(()=>[r.createVNode(f,{label:"调用模式"},{default:r.withCtx(()=>[r.createVNode(d,{modelValue:s.value.providerMode,"onUpdate:modelValue":a[0]||(a[0]=y=>s.value.providerMode=y)},{default:r.withCtx(()=>[r.createVNode(u,{value:"direct"},{default:r.withCtx(()=>[...a[12]||(a[12]=[r.createTextVNode("前端直连",-1)])]),_:1}),r.createVNode(u,{value:"proxy"},{default:r.withCtx(()=>[...a[13]||(a[13]=[r.createTextVNode("后端代理",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),s.value.providerMode==="direct"?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createVNode(f,{label:"API Key"},{default:r.withCtx(()=>[r.createVNode(_,{modelValue:s.value.apiKey,"onUpdate:modelValue":a[1]||(a[1]=y=>s.value.apiKey=y),type:"password",placeholder:"sk-xxxxxxxxxxxxxxxx",clearable:""},null,8,["modelValue"]),r.createElementVNode("div",Xa,[a[15]||(a[15]=r.createTextVNode(" 在 ",-1)),r.createVNode(m,{type:"primary",href:"https://platform.deepseek.com/api_keys",target:"_blank"},{default:r.withCtx(()=>[...a[14]||(a[14]=[r.createTextVNode(" DeepSeek 开放平台 ",-1)])]),_:1}),a[16]||(a[16]=r.createTextVNode(" 获取,仅保存在浏览器本地。 ",-1))])]),_:1}),r.createVNode(f,{label:"接口地址"},{default:r.withCtx(()=>[r.createVNode(_,{modelValue:s.value.baseUrl,"onUpdate:modelValue":a[2]||(a[2]=y=>s.value.baseUrl=y),placeholder:"https://api.deepseek.com",clearable:""},null,8,["modelValue"])]),_:1})],64)):(r.openBlock(),r.createBlock(f,{key:1,label:"代理地址"},{default:r.withCtx(()=>[r.createVNode(_,{modelValue:s.value.proxyUrl,"onUpdate:modelValue":a[3]||(a[3]=y=>s.value.proxyUrl=y),placeholder:"http://localhost:3001/api/chat",clearable:"",disabled:""},null,8,["modelValue"]),a[17]||(a[17]=r.createElementVNode("div",{class:"form-tip"},null,-1))]),_:1})),r.createVNode(f,{label:"模型"},{default:r.withCtx(()=>[r.createVNode(k,{modelValue:s.value.model,"onUpdate:modelValue":a[4]||(a[4]=y=>s.value.model=y),style:{width:"100%"}},{default:r.withCtx(()=>[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(r.unref(ja),y=>(r.openBlock(),r.createBlock(h,{key:y.value,label:y.label,value:y.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),r.createVNode(f,{label:"温度"},{default:r.withCtx(()=>[r.createElementVNode("div",$a,[r.createVNode(D,{modelValue:s.value.temperature,"onUpdate:modelValue":a[5]||(a[5]=y=>s.value.temperature=y),disabled:s.value.thinking,min:0,max:2,step:.1,style:{flex:"1"}},null,8,["modelValue","disabled"]),r.createElementVNode("span",qa,r.toDisplayString(s.value.temperature.toFixed(1)),1)]),a[18]||(a[18]=r.createElementVNode("div",{class:"form-tip"}," 思考模式不起作用 ",-1))]),_:1}),r.createVNode(f,{label:"思考模式"},{default:r.withCtx(()=>[r.createVNode(g,{modelValue:s.value.thinking,"onUpdate:modelValue":a[6]||(a[6]=y=>s.value.thinking=y)},null,8,["modelValue"]),a[19]||(a[19]=r.createElementVNode("span",{class:"form-tip-inline"},"开启后模型进行推理/思维链(reasoning),适合复杂任务",-1))]),_:1}),r.createVNode(f,{label:"思考强度"},{default:r.withCtx(()=>[r.createVNode(k,{modelValue:s.value.thinkingEffort,"onUpdate:modelValue":a[7]||(a[7]=y=>s.value.thinkingEffort=y),disabled:!s.value.thinking,style:{width:"100%"}},{default:r.withCtx(()=>[r.createVNode(h,{label:"低",value:"low"}),r.createVNode(h,{label:"高",value:"high"}),r.createVNode(h,{label:"最高",value:"max"})]),_:1},8,["modelValue","disabled"])]),_:1}),r.createVNode(f,{label:"md表格点击"},{default:r.withCtx(()=>[r.createVNode(g,{modelValue:s.value.mdTableClick,"onUpdate:modelValue":a[8]||(a[8]=y=>s.value.mdTableClick=y)},null,8,["modelValue"]),a[20]||(a[20]=r.createElementVNode("span",{class:"form-tip-inline"},'开启后点击回复中的 md 表格行会向助手发送"我选择 X"',-1))]),_:1}),r.createVNode(f,{label:"md列表点击"},{default:r.withCtx(()=>[r.createVNode(g,{modelValue:s.value.mdListClick,"onUpdate:modelValue":a[9]||(a[9]=y=>s.value.mdListClick=y)},null,8,["modelValue"]),a[21]||(a[21]=r.createElementVNode("span",{class:"form-tip-inline"},"开启后点击回复中的列表项会把该项内容作为指令发送",-1))]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])}}}),Zr=Ct(ec,[["__scopeId","data-v-2522ad20"]]),tc={class:"chat-panel-root"},nc={class:"ai-fab__label"},oc={class:"chat-panel__title"},rc={class:"chat-panel__ops"},ic={class:"chat-panel__scroll-wrap"},sc={key:0,class:"chat-empty"},lc={class:"chat-empty__logo"},Ac={key:0,class:"chat-empty__commands"},ac={class:"chat-panel__nav-count"},cc=["disabled"],uc=["disabled"],hc={key:0,class:"chat-panel__error"},dc={class:"chat-panel__footer"},fc={key:0,class:"chat-panel__stop"},pc=r.defineComponent({__name:"ChatPanel",props:{chat:{},options:{},showFab:{type:Boolean,default:!0}},setup(e){const t=e,n={get_current_time:{label:"现在几点",text:"现在几点了?"},calculate_expression:{label:"帮我计算",text:"帮我计算 (1+2)*3"},generate_uuid:{label:"生成 UUID",text:"帮我生成一个 UUID"},get_client_info:{label:"客户端信息",text:"获取我的客户端信息"}};function i(Y){const T=Y??{toolPackages:[]};let E;return T.suggestedCommands!==void 0?E=T.suggestedCommands:T.builtInTools===!1?E=[]:Array.isArray(T.builtInTools)?E=T.builtInTools.map(R=>n[R]).filter(Boolean):E=Object.values(n),{...T,toolPackages:T.toolPackages??[],suggestedCommands:E}}const o=t.chat?null:sr(i(t.options)),s=t.chat??o,{messages:l,settings:A,loading:a,errorMsg:u,hasApiKey:d,visible:f,toolPackages:_,sendMessage:m,stopGeneration:h,clearMessages:k,saveSettings:D,deviceId:g,suggestedCommands:B}=s,x=r.ref(!1),C=r.ref(!1),y=r.ref(null),K=r.ref(null),H=r.ref(null),{pos:w,startDrag:b,consumeMoved:v}=lo({onDragStart:()=>{N.value=!0}}),N=r.ref(!1),{pos:J,startDrag:z}=lo({disabled:()=>C.value}),$=r.computed(()=>w.value?{left:`${w.value.x}px`,top:`${w.value.y}px`,right:"auto",bottom:"auto"}:{}),ue=r.computed(()=>C.value||!J.value?{}:{left:`${J.value.x}px`,top:`${J.value.y}px`,right:"auto",bottom:"auto"});function de(Y){K.value&&b(Y,K.value)}function Se(){v()||_t()}function Pe(Y){Y.target.closest(".chat-panel__ops")||H.value&&z(Y,H.value)}function _t(){f.value=!f.value}function kt(){f.value=!1}function nt(){C.value=!C.value}function j(){r.nextTick(()=>{requestAnimationFrame(()=>{const Y=y.value;Y&&Y.scrollTo({top:Y.scrollHeight,behavior:"smooth"})})})}const le=r.computed(()=>l.value.map((Y,T)=>Y.role==="user"?T:-1).filter(Y=>Y>=0)),Be=r.ref(0),Fe=r.ref(!1);let ze=null,ot=!1,Ye=0;function rt(Y){var E,R,G;const T=(R=y.value)==null?void 0:R.querySelector(`[data-msg-id="${(E=l.value[Y])==null?void 0:E.id}"]`);T&&((G=y.value)==null||G.scrollTo({top:Math.max(0,T.offsetTop-12),behavior:"smooth"}),it(T))}function it(Y){Y.classList.add("is-locate"),ze&&clearTimeout(ze),ze=setTimeout(()=>{Y.classList.remove("is-locate")},1200)}function je(Y){if(!le.value.length)return;const T=Math.min(Math.max(Be.value+Y,0),le.value.length-1);Be.value=T,Fe.value=!0,rt(le.value[T])}function X(){Be.value=le.value.length?le.value.length-1:0,Fe.value=!1,j()}function Oe(Y,T){Fe.value=!1,Be.value=le.value.length?le.value.length-1:0,m(Y,T),j()}function Z(Y){D(Y)}function Xe(){ft.ElMessageBox.confirm("确定要清空所有对话记录吗?","提示",{type:"warning",confirmButtonText:"清空",cancelButtonText:"取消"}).then(()=>{k()}).catch(()=>{})}function ne(Y){if(!le.value.length)return;const T=Y.getBoundingClientRect(),E=T.top+T.height/2;let R=0,G=1/0;le.value.forEach((F,O)=>{var te;const V=Y.querySelector(`[data-msg-id="${(te=l.value[F])==null?void 0:te.id}"]`);if(!V)return;const fe=Math.abs(V.getBoundingClientRect().top-E);fe<G&&(G=fe,R=O)}),Be.value=R}function xe(){const Y=y.value;Y&&(Ye&&cancelAnimationFrame(Ye),Ye=requestAnimationFrame(()=>{ne(Y);const T=Y.scrollHeight-Y.scrollTop-Y.clientHeight<60;Fe.value=!T}))}return r.onMounted(()=>{var Y;(Y=y.value)==null||Y.addEventListener("scroll",xe,{passive:!0})}),r.onBeforeUnmount(()=>{var Y;(Y=y.value)==null||Y.removeEventListener("scroll",xe),Ye&&cancelAnimationFrame(Ye)}),r.watch(f,Y=>{Y&&!ot&&(ot=!0,l.value.length&&X())}),r.watch(()=>l.value.map(Y=>{var T;return Y.content+Y.status+(((T=Y.renderBlocks)==null?void 0:T.length)||0)}).join("|"),()=>{Fe.value||(Be.value=le.value.length?le.value.length-1:0,j())}),(Y,T)=>{const E=r.resolveComponent("ChatDotRound"),R=r.resolveComponent("el-icon"),G=r.resolveComponent("el-tag"),F=r.resolveComponent("el-button"),O=r.resolveComponent("el-tooltip"),V=r.resolveComponent("SemiSelect"),fe=r.resolveComponent("el-alert");return r.openBlock(),r.createElementBlock("div",tc,[e.showFab?(r.openBlock(),r.createElementBlock("div",{key:0,ref_key:"fabRef",ref:K,class:r.normalizeClass(["ai-fab",{"ai-fab--active":r.unref(f),"ai-fab--dragged":N.value}]),style:r.normalizeStyle($.value),onPointerdown:de,onClick:Se},[r.createElementVNode("span",nc,r.toDisplayString(r.unref(f)?"收起":"AI 助手"),1)],38)):r.createCommentVNode("",!0),r.createVNode(r.Transition,{name:"panel"},{default:r.withCtx(()=>{var te;return[r.withDirectives(r.createElementVNode("div",{ref_key:"panelRef",ref:H,class:r.normalizeClass(["chat-panel",{"chat-panel--fullscreen":C.value}]),style:r.normalizeStyle(ue.value)},[r.createElementVNode("div",{class:"chat-panel__header",onPointerdown:Pe},[r.createElementVNode("div",oc,[r.createVNode(R,{class:"title-icon"},{default:r.withCtx(()=>[r.createVNode(E)]),_:1}),T[7]||(T[7]=r.createElementVNode("span",null,"AI 智能助手",-1)),r.unref(d)?(r.openBlock(),r.createBlock(G,{key:0,size:"small",type:"success",effect:"plain"},{default:r.withCtx(()=>[...T[5]||(T[5]=[r.createTextVNode("已配置",-1)])]),_:1})):(r.openBlock(),r.createBlock(G,{key:1,size:"small",type:"warning",effect:"plain"},{default:r.withCtx(()=>[...T[6]||(T[6]=[r.createTextVNode("未配置",-1)])]),_:1}))]),r.createElementVNode("div",rc,[r.createVNode(O,{content:"设置",placement:"bottom"},{default:r.withCtx(()=>[r.createVNode(F,{text:"",circle:"",onClick:T[0]||(T[0]=Ae=>x.value=!0)},{default:r.withCtx(()=>[r.createVNode(R,null,{default:r.withCtx(()=>[r.createVNode(r.unref(Ao))]),_:1})]),_:1})]),_:1}),r.createVNode(O,{content:"清空对话",placement:"bottom"},{default:r.withCtx(()=>[r.createVNode(F,{text:"",circle:"",disabled:!r.unref(l).length,onClick:Xe},{default:r.withCtx(()=>[r.createVNode(R,null,{default:r.withCtx(()=>[r.createVNode(r.unref(Vi))]),_:1})]),_:1},8,["disabled"])]),_:1}),r.createVNode(O,{content:C.value?"退出全屏":"全屏",placement:"bottom"},{default:r.withCtx(()=>[r.createVNode(F,{text:"",circle:"",onClick:nt},{default:r.withCtx(()=>[C.value?(r.openBlock(),r.createBlock(R,{key:1},{default:r.withCtx(()=>[r.createVNode(V)]),_:1})):(r.openBlock(),r.createBlock(R,{key:0},{default:r.withCtx(()=>[r.createVNode(r.unref(Ji))]),_:1}))]),_:1})]),_:1},8,["content"]),r.createVNode(O,{content:"关闭",placement:"bottom"},{default:r.withCtx(()=>[r.createVNode(F,{text:"",circle:"",onClick:kt},{default:r.withCtx(()=>[r.createVNode(R,null,{default:r.withCtx(()=>[r.createVNode(r.unref(Ki))]),_:1})]),_:1})]),_:1})])],32),r.createElementVNode("div",ic,[r.createElementVNode("div",{ref_key:"scrollRef",ref:y,class:"chat-panel__body"},[r.unref(l).length?(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:1},r.renderList(r.unref(l),Ae=>(r.openBlock(),r.createBlock(Lr,{key:Ae.id,message:Ae,"tool-packages":r.unref(_),"md-table-click":r.unref(A).mdTableClick,"md-list-click":r.unref(A).mdListClick,"data-msg-id":Ae.id,onExecute:Oe},null,8,["message","tool-packages","md-table-click","md-list-click","data-msg-id"]))),128)):(r.openBlock(),r.createElementBlock("div",sc,[r.createElementVNode("div",lc,[r.createVNode(R,null,{default:r.withCtx(()=>[r.createVNode(E)]),_:1})]),T[9]||(T[9]=r.createElementVNode("h3",null,"你好,我是系统 AI 助手",-1)),T[10]||(T[10]=r.createElementVNode("p",{class:"chat-empty__desc"},[r.createTextVNode(" 我可以帮你"),r.createElementVNode("span",{class:"hl"},"查询数据"),r.createTextVNode("、"),r.createElementVNode("span",{class:"hl"},"执行操作"),r.createTextVNode("。试试输入指令: ")],-1)),(te=r.unref(B))!=null&&te.length?(r.openBlock(),r.createElementBlock("div",Ac,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(r.unref(B),Ae=>(r.openBlock(),r.createBlock(F,{key:Ae.text,size:"small",type:"primary",round:"",plain:"",onClick:q=>Oe(Ae.text)},{default:r.withCtx(()=>[r.createTextVNode(r.toDisplayString(Ae.label),1)]),_:2},1032,["onClick"]))),128))])):r.createCommentVNode("",!0),r.unref(d)?r.createCommentVNode("",!0):(r.openBlock(),r.createBlock(F,{key:1,type:"primary",icon:r.unref(Ao),onClick:T[1]||(T[1]=Ae=>x.value=!0)},{default:r.withCtx(()=>[...T[8]||(T[8]=[r.createTextVNode(" 先配置 API Key ",-1)])]),_:1},8,["icon"]))]))],512),r.createVNode(r.Transition,{name:"fade"},{default:r.withCtx(()=>[le.value.length?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(["chat-panel__nav",{"is-suppressed-scroll":Fe.value}])},[r.createElementVNode("div",ac,r.toDisplayString(Be.value+1)+"/"+r.toDisplayString(le.value.length),1),r.createVNode(O,{content:"上一个用户消息",placement:"left","show-after":300},{default:r.withCtx(()=>[r.createElementVNode("button",{class:"chat-panel__nav-btn",disabled:Be.value<=0,type:"button",onClick:T[2]||(T[2]=Ae=>je(-1))},[r.createVNode(R,null,{default:r.withCtx(()=>[r.createVNode(r.unref(os))]),_:1})],8,cc)]),_:1}),r.createVNode(O,{content:"下一个用户消息",placement:"left","show-after":300},{default:r.withCtx(()=>[r.createElementVNode("button",{class:"chat-panel__nav-btn",disabled:Be.value>=le.value.length-1,type:"button",onClick:T[3]||(T[3]=Ae=>je(1))},[r.createVNode(R,null,{default:r.withCtx(()=>[r.createVNode(r.unref(Ri))]),_:1})],8,uc)]),_:1}),r.createVNode(O,{content:"最新消息",placement:"left","show-after":300},{default:r.withCtx(()=>[r.createElementVNode("button",{class:"chat-panel__nav-btn",type:"button",onClick:X},[r.createVNode(R,null,{default:r.withCtx(()=>[r.createVNode(r.unref($i))]),_:1})])]),_:1})],2)):r.createCommentVNode("",!0)]),_:1})]),r.createVNode(r.Transition,{name:"fade"},{default:r.withCtx(()=>[r.unref(u)?(r.openBlock(),r.createElementBlock("div",hc,[r.createVNode(fe,{title:r.unref(u),type:"error","show-icon":"",closable:!1},null,8,["title"])])):r.createCommentVNode("",!0)]),_:1}),r.createElementVNode("div",dc,[r.unref(a)?(r.openBlock(),r.createElementBlock("div",fc,[r.createVNode(F,{size:"small",icon:r.unref(ls),onClick:r.unref(h)},{default:r.withCtx(()=>[...T[11]||(T[11]=[r.createTextVNode("停止生成",-1)])]),_:1},8,["icon","onClick"])])):r.createCommentVNode("",!0),r.createVNode(Jr,{loading:r.unref(a),placeholder:r.unref(d)?"输入指令...":"请先配置 API Key",onSend:Oe},null,8,["loading","placeholder"])]),r.createVNode(Zr,{modelValue:x.value,"onUpdate:modelValue":T[4]||(T[4]=Ae=>x.value=Ae),settings:r.unref(A),"device-id":r.unref(g),onSave:Z},null,8,["modelValue","settings","device-id"])],6),[[r.vShow,r.unref(f)]])]}),_:1})])}}}),mc=Ct(pc,[["__scopeId","data-v-5dde3b27"]]);function gc(e){if(typeof e!="string")return e;try{const t=JSON.parse(e);return t!==null&&(typeof t=="object"||Array.isArray(t))?t:e}catch{return e}}const Cc=Object.freeze(Object.defineProperty({__proto__:null,parseStringToObject:gc},Symbol.toStringTag,{value:"Module"}));exports.Agent=Zo;exports.BUILTIN_TOOL_PACKAGE=wt;exports.ChatInput=Jr;exports.ChatMessageComp=Lr;exports.ChatPanel=mc;exports.ChatSettingsComp=Zr;exports.DEFAULT_SETTINGS=zt;exports.EventBus=Kn;exports.ParseUtils=Cc;exports.RenderBlockComp=Ar;exports.SuggestedNext=ar;exports.ToolRegistry=Po;exports.blobFromAttachment=Ur;exports.buildSystemPrompt=$o;exports.createAgentBridge=nr;exports.createDeepSeekProvider=zo;exports.createEventBus=Bi;exports.createProxyProvider=jo;exports.getDefaultBridge=or;exports.getDefaultEventBus=$t;exports.isTifFile=Vr;exports.resolveRenderBlock=yi;exports.runBuiltinToolHandler=qo;exports.setBridgeBus=rr;exports.useAgentChat=sr;exports.usePageAgentBridge=wi;
|
|
51
|
+
`}return i}render(e,t,n){let i="";const o=this.rules;for(let s=0,l=e.length;s<l;s++){const A=e[s].type;A==="inline"?i+=this.renderInline(e[s].children,t,n):typeof o[A]<"u"?i+=o[A](e,s,t,n,this):i+=this.renderToken(e,s,t)}return i}},jr=class{constructor(e,t,n){T(this,"tokens",[]),T(this,"inlineMode",!1),T(this,"Token",At),this.src=e,this.env=n,this.md=t}},sA=/\r\n?|\n/g,lA=/\0/g;function AA(e){let t;t=e.src.replace(sA,`
|
|
52
|
+
`),t=t.replace(lA,"�"),e.src=t}function aA(e){let t;e.inlineMode?(t=new e.Token("inline","",0),t.content=e.src,t.map=[0,1],t.children=[],e.tokens.push(t)):e.md.block.parse(e.src,e.md,e.env,e.tokens)}function cA(e){const t=e.tokens;let n=0;for(let i=0;i<t.length;i++)t[i].type!=="reference_definition"&&(i!==n&&(t[n]=t[i]),n++);t.length!==n&&(t.length=n)}function uA(e){const t=e.tokens;for(let n=0,i=t.length;n<i;n++){const o=t[n];o.type==="inline"&&e.md.inline.parse(o.content,e.md,e.env,o.children)}}function dA(e){return/^<a[>\s]/i.test(e)}function hA(e){return/^<\/a\s*>/i.test(e)}function fA(e){const t=e.tokens;if(e.md.options.linkify)for(let n=0,i=t.length;n<i;n++){if(t[n].type!=="inline"||!e.md.linkify.test(t[n].content))continue;let o=t[n].children,s=0;for(let l=o.length-1;l>=0;l--){const A=o[l];if(A.type==="link_close"){for(l--;o[l].level!==A.level&&o[l].type!=="link_open";)l--;continue}if(A.type==="html_inline"&&(dA(A.content)&&s>0&&s--,hA(A.content)&&s++),!(s>0)&&A.type==="text"&&e.md.linkify.test(A.content)){const a=A.content;let u=e.md.linkify.match(a);const h=[];let f=A.level,m=0;u.length>0&&u[0].index===0&&l>0&&o[l-1].type==="text_special"&&(u=u.slice(1));for(let _=0;_<u.length;_++){const d=u[_].url,C=e.md.normalizeLink(d);if(!e.md.validateLink(C))continue;let g=u[_].text;u[_].schema?u[_].schema==="mailto:"&&!/^mailto:/i.test(g)?g=e.md.normalizeLinkText(`mailto:${g}`).replace(/^mailto:/,""):g=e.md.normalizeLinkText(g):g=e.md.normalizeLinkText(`http://${g}`).replace(/^http:\/\//,"");const E=u[_].index;if(E>m){const B=new e.Token("text","",0);B.content=a.slice(m,E),B.level=f,h.push(B)}const D=new e.Token("link_open","a",1);D.attrs=[["href",C]],D.level=f++,D.markup="linkify",D.info="auto",h.push(D);const F=new e.Token("text","",0);F.content=g,F.level=f,h.push(F);const k=new e.Token("link_close","a",-1);k.level=--f,k.markup="linkify",k.info="auto",h.push(k),m=u[_].lastIndex}if(m<a.length){const _=new e.Token("text","",0);_.content=a.slice(m),_.level=f,h.push(_)}t[n].children=o=Jr(o,l,h)}}}}var Xr=/\+-|\.\.|\?\?\?\?|!!!!|,,|--/,pA=/\((c|tm|r)\)/i,mA=/\((c|tm|r)\)/gi,gA={c:"©",r:"®",tm:"™"};function CA(e,t){return gA[t.toLowerCase()]}function _A(e){let t=0;for(let n=e.length-1;n>=0;n--){const i=e[n];i.type==="text"&&!t&&(i.content=i.content.replace(mA,CA)),i.type==="link_open"&&i.info==="auto"&&t--,i.type==="link_close"&&i.info==="auto"&&t++}}function kA(e){let t=0;for(let n=e.length-1;n>=0;n--){const i=e[n];i.type==="text"&&!t&&Xr.test(i.content)&&(i.content=i.content.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/gm,"$1—").replace(/(^|\s)--(?=\s|$)/gm,"$1–").replace(/(^|[^-\s])--(?=[^-\s]|$)/gm,"$1–")),i.type==="link_open"&&i.info==="auto"&&t--,i.type==="link_close"&&i.info==="auto"&&t++}}function EA(e){let t;if(e.md.options.typographer)for(t=e.tokens.length-1;t>=0;t--)e.tokens[t].type==="inline"&&(pA.test(e.tokens[t].content)&&_A(e.tokens[t].children),Xr.test(e.tokens[t].content)&&kA(e.tokens[t].children))}var yA=/['"]/,Mo=/['"]/g,Qo="’";function tn(e,t,n,i){e[t]||(e[t]=[]),e[t].push({pos:n,ch:i})}function IA(e,t){let n="",i=0;t.sort((o,s)=>o.pos-s.pos);for(let o=0;o<t.length;o++){const s=t[o];n+=e.slice(i,s.pos)+s.ch,i=s.pos+1}return n+e.slice(i)}function bA(e,t){let n;const i=[],o={};for(let s=0;s<e.length;s++){const l=e[s],A=e[s].level;for(n=i.length-1;n>=0&&!(i[n].level<=A);n--);if(i.length=n+1,l.type!=="text")continue;const a=l.content;let u=0;const h=a.length;e:for(;u<h;){Mo.lastIndex=u;const f=Mo.exec(a);if(!f)break;let m=!0,_=!0;u=f.index+1;const d=f[0]==="'";let C=32;if(f.index-1>=0)C=a.charCodeAt(f.index-1);else for(n=s-1;n>=0&&!(e[n].type==="softbreak"||e[n].type==="hardbreak");n--)if(e[n].content){C=e[n].content.charCodeAt(e[n].content.length-1);break}let g=32;if(u<h)g=a.charCodeAt(u);else for(n=s+1;n<e.length&&!(e[n].type==="softbreak"||e[n].type==="hardbreak");n++)if(e[n].content){g=e[n].content.charCodeAt(0);break}const E=Yt(C)||Ot(C),D=Yt(g)||Ot(g),F=Wt(C),k=Wt(g);if(k?m=!1:D&&(F||E||(m=!1)),F?_=!1:E&&(k||D||(_=!1)),g===34&&f[0]==='"'&&C>=48&&C<=57&&(_=m=!1),m&&_&&(m=E,_=D),!m&&!_){d&&tn(o,s,f.index,Qo);continue}if(_)for(n=i.length-1;n>=0;n--){let B=i[n];if(i[n].level<A)break;if(B.single===d&&i[n].level===A){B=i[n];let M,K;d?(M=t.md.options.quotes[2],K=t.md.options.quotes[3]):(M=t.md.options.quotes[0],K=t.md.options.quotes[1]),tn(o,s,f.index,K),tn(o,B.token,B.pos,M),i.length=n;continue e}}m?i.push({token:s,pos:f.index,single:d,level:A}):_&&d&&tn(o,s,f.index,Qo)}}Object.keys(o).forEach(function(s){const l=Number(s);e[l].content=IA(e[l].content,o[s])})}function DA(e){if(e.md.options.typographer)for(let t=e.tokens.length-1;t>=0;t--)e.tokens[t].type!=="inline"||!yA.test(e.tokens[t].content)||bA(e.tokens[t].children,e)}function BA(e){let t,n;const i=e.length;for(t=0;t<i;t++)e[t].type==="text_special"&&(e[t].type="text");for(t=n=0;t<i;t++)e[t].type==="text"&&t+1<i&&e[t+1].type==="text"?e[t+1].content=e[t].content+e[t+1].content:(t!==n&&(e[n]=e[t]),n++);t!==n&&(e.length=n)}function wA(e){let t,n;const i=e.tokens,o=i.length;for(let s=0;s<o;s++){if(i[s].type!=="inline")continue;const l=i[s].children,A=l.length;for(t=0;t<A;t++)l[t].type==="text_special"&&(l[t].type="text"),l[t].children&&BA(l[t].children);for(t=n=0;t<A;t++)l[t].type==="text"&&t+1<A&&l[t+1].type==="text"?l[t+1].content=l[t].content+l[t+1].content:(t!==n&&(l[n]=l[t]),n++);t!==n&&(l.length=n)}}var xn=[["normalize",AA],["block",aA],["strip_references",cA],["inline",uA],["linkify",fA],["replacements",EA],["smartquotes",DA],["text_join",wA]],$r=class{constructor(){T(this,"ruler",new Ut),T(this,"State",jr);for(let e=0;e<xn.length;e++)this.ruler.push(xn[e][0],xn[e][1])}process(e){const t=this.ruler.getRules("");for(let n=0,i=t.length;n<i;n++)t[n](e)}},qr=class{constructor(e,t,n,i){T(this,"bMarks",[]),T(this,"eMarks",[]),T(this,"tShift",[]),T(this,"sCount",[]),T(this,"bsCount",[]),T(this,"blkIndent",0),T(this,"line",0),T(this,"lineMax",0),T(this,"tight",!1),T(this,"listIndent",-1),T(this,"parentType","root"),T(this,"level",0),T(this,"Token",At),this.src=e,this.md=t,this.env=n,this.tokens=i;const o=this.src;for(let s=0,l=0,A=0,a=0,u=o.length,h=!1;l<u;l++){const f=o.charCodeAt(l);if(!h)if(se(f)){A++,f===9?a+=4-a%4:a++;continue}else h=!0;(f===10||l===u-1)&&(f!==10&&l++,this.bMarks.push(s),this.eMarks.push(l),this.tShift.push(A),this.sCount.push(a),this.bsCount.push(0),h=!1,A=0,a=0,s=l+1)}this.bMarks.push(o.length),this.eMarks.push(o.length),this.tShift.push(0),this.sCount.push(0),this.bsCount.push(0),this.lineMax=this.bMarks.length-1}push(e,t,n){const i=new At(e,t,n);return i.block=!0,n<0&&this.level--,i.level=this.level,n>0&&this.level++,this.tokens.push(i),i}isEmpty(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]}skipEmptyLines(e){for(let t=this.lineMax;e<t&&!(this.bMarks[e]+this.tShift[e]<this.eMarks[e]);e++);return e}skipSpaces(e){for(let t=this.src.length;e<t&&se(this.src.charCodeAt(e));e++);return e}skipSpacesBack(e,t){if(e<=t)return e;for(;e>t;)if(!se(this.src.charCodeAt(--e)))return e+1;return e}skipChars(e,t){for(let n=this.src.length;e<n&&this.src.charCodeAt(e)===t;e++);return e}skipCharsBack(e,t,n){if(e<=n)return e;for(;e>n;)if(t!==this.src.charCodeAt(--e))return e+1;return e}getLines(e,t,n,i){if(e>=t)return"";const o=new Array(t-e);for(let s=0,l=e;l<t;l++,s++){let A=0;const a=this.bMarks[l];let u=a,h;for(l+1<t||i?h=this.eMarks[l]+1:h=this.eMarks[l];u<h&&A<n;){const f=this.src.charCodeAt(u);if(se(f))f===9?A+=4-(A+this.bsCount[l])%4:A++;else if(u-a<this.tShift[l])A++;else break;u++}A>n?o[s]=new Array(A-n+1).join(" ")+this.src.slice(u,h):o[s]=this.src.slice(u,h)}return o.join("")}},FA=65536;function Sn(e,t){const n=e.bMarks[t]+e.tShift[t],i=e.eMarks[t];return e.src.slice(n,i)}function Ko(e){const t=[],n=e.length;let i=0,o=e.charCodeAt(i),s=!1,l=0,A="";for(;i<n;)o===124&&(s?(A+=e.substring(l,i-1),l=i):(t.push(A+e.substring(l,i)),A="",l=i+1)),s=o===92,i++,o=e.charCodeAt(i);return t.push(A+e.substring(l)),t}function vA(e,t,n,i){if(t+2>n)return!1;let o=t+1;if(e.sCount[o]<e.blkIndent||e.sCount[o]-e.blkIndent>=4)return!1;let s=e.bMarks[o]+e.tShift[o];if(s>=e.eMarks[o])return!1;const l=e.src.charCodeAt(s++);if(l!==124&&l!==45&&l!==58||s>=e.eMarks[o])return!1;const A=e.src.charCodeAt(s++);if(A!==124&&A!==45&&A!==58&&!se(A)||l===45&&se(A))return!1;for(;s<e.eMarks[o];){const k=e.src.charCodeAt(s);if(k!==124&&k!==45&&k!==58&&!se(k))return!1;s++}let a=Sn(e,t+1),u=a.split("|");const h=[];for(let k=0;k<u.length;k++){const B=u[k].trim();if(!B){if(k===0||k===u.length-1)continue;return!1}if(!/^:?-+:?$/.test(B))return!1;B.charCodeAt(B.length-1)===58?h.push(B.charCodeAt(0)===58?"center":"right"):B.charCodeAt(0)===58?h.push("left"):h.push("")}if(a=Sn(e,t).trim(),a.indexOf("|")===-1||e.sCount[t]-e.blkIndent>=4)return!1;u=Ko(a),u.length&&u[0]===""&&u.shift(),u.length&&u[u.length-1]===""&&u.pop();const f=u.length;if(f===0||f!==h.length)return!1;if(i)return!0;const m=e.parentType;e.parentType="table";const _=e.md.block.ruler.getRules("blockquote"),d=e.push("table_open","table",1),C=[t,0];d.map=C;const g=e.push("thead_open","thead",1);g.map=[t,t+1];const E=e.push("tr_open","tr",1);E.map=[t,t+1];for(let k=0;k<u.length;k++){const B=e.push("th_open","th",1);h[k]&&(B.attrs=[["style",`text-align:${h[k]}`]]);const M=e.push("inline","",0);M.content=u[k].trim(),M.children=[],e.push("th_close","th",-1)}e.push("tr_close","tr",-1),e.push("thead_close","thead",-1);let D,F=0;for(o=t+2;o<n&&!(e.sCount[o]<e.blkIndent);o++){let k=!1;for(let M=0,K=_.length;M<K;M++)if(_[M](e,o,n,!0)){k=!0;break}if(k||(a=Sn(e,o).trim(),!a)||e.sCount[o]-e.blkIndent>=4||(u=Ko(a),u.length&&u[0]===""&&u.shift(),u.length&&u[u.length-1]===""&&u.pop(),F+=f-u.length,F>FA))break;if(o===t+2){const M=e.push("tbody_open","tbody",1);M.map=D=[t+2,0]}const B=e.push("tr_open","tr",1);B.map=[o,o+1];for(let M=0;M<f;M++){const K=e.push("td_open","td",1);h[M]&&(K.attrs=[["style",`text-align:${h[M]}`]]);const S=e.push("inline","",0);S.content=u[M]?u[M].trim():"",S.children=[],e.push("td_close","td",-1)}e.push("tr_close","tr",-1)}return D&&(e.push("tbody_close","tbody",-1),D[1]=o),e.push("table_close","table",-1),C[1]=o,e.parentType=m,e.line=o,!0}function xA(e,t,n){if(e.sCount[t]-e.blkIndent<4)return!1;let i=t+1,o=i;for(;i<n;){if(e.isEmpty(i)){i++;continue}if(e.sCount[i]-e.blkIndent>=4){i++,o=i;continue}break}e.line=o;const s=e.push("code_block","code",0);return s.content=e.getLines(t,o,4+e.blkIndent,!1)+`
|
|
53
|
+
`,s.map=[t,e.line],!0}function SA(e,t,n,i){let o=e.bMarks[t]+e.tShift[t],s=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||o+3>s)return!1;const l=e.src.charCodeAt(o);if(l!==126&&l!==96)return!1;let A=o;o=e.skipChars(o,l);let a=o-A;if(a<3)return!1;const u=e.src.slice(A,o),h=e.src.slice(o,s);if(l===96&&h.indexOf(String.fromCharCode(l))>=0)return!1;if(i)return!0;let f=t,m=!1;for(;f++,!(f>=n||(o=A=e.bMarks[f]+e.tShift[f],s=e.eMarks[f],o<s&&e.sCount[f]<e.blkIndent));)if(e.src.charCodeAt(o)===l&&!(e.sCount[f]-e.blkIndent>=4)&&(o=e.skipChars(o,l),!(o-A<a)&&(o=e.skipSpaces(o),!(o<s)))){m=!0;break}a=e.sCount[t],e.line=f+(m?1:0);const _=e.push("fence","code",0);return _.info=h,_.content=e.getLines(t+1,f,a,!0),_.markup=u,_.map=[t,e.line],!0}function NA(e,t,n,i){let o=e.bMarks[t]+e.tShift[t],s=e.eMarks[t];const l=e.lineMax;if(e.sCount[t]-e.blkIndent>=4||e.src.charCodeAt(o)!==62)return!1;if(i)return!0;const A=[],a=[],u=[],h=[],f=e.md.block.ruler.getRules("blockquote"),m=e.parentType;e.parentType="blockquote";let _=!1,d;for(d=t;d<n;d++){const F=e.sCount[d]<e.blkIndent;if(o=e.bMarks[d]+e.tShift[d],s=e.eMarks[d],o>=s)break;if(e.src.charCodeAt(o++)===62&&!F){let B=e.sCount[d]+1,M,K;e.src.charCodeAt(o)===32?(o++,B++,K=!1,M=!0):e.src.charCodeAt(o)===9?(M=!0,(e.bsCount[d]+B)%4===3?(o++,B++,K=!1):K=!0):M=!1;let S=B;for(A.push(e.bMarks[d]),e.bMarks[d]=o;o<s;){const I=e.src.charCodeAt(o);if(se(I))I===9?S+=4-(S+e.bsCount[d]+(K?1:0))%4:S++;else break;o++}_=o>=s,a.push(e.bsCount[d]),e.bsCount[d]=e.sCount[d]+1+(M?1:0),u.push(e.sCount[d]),e.sCount[d]=S-B,h.push(e.tShift[d]),e.tShift[d]=o-e.bMarks[d];continue}if(_)break;let k=!1;for(let B=0,M=f.length;B<M;B++)if(f[B](e,d,n,!0)){k=!0;break}if(k){e.lineMax=d,e.blkIndent!==0&&(A.push(e.bMarks[d]),a.push(e.bsCount[d]),h.push(e.tShift[d]),u.push(e.sCount[d]),e.sCount[d]-=e.blkIndent);break}A.push(e.bMarks[d]),a.push(e.bsCount[d]),h.push(e.tShift[d]),u.push(e.sCount[d]),e.sCount[d]=-1}const C=e.blkIndent;e.blkIndent=0;const g=e.push("blockquote_open","blockquote",1);g.markup=">";const E=[t,0];g.map=E,e.md.block.tokenize(e,t,d);const D=e.push("blockquote_close","blockquote",-1);D.markup=">",e.lineMax=l,e.parentType=m,E[1]=e.line;for(let F=0;F<h.length;F++)e.bMarks[F+t]=A[F],e.tShift[F+t]=h[F],e.sCount[F+t]=u[F],e.bsCount[F+t]=a[F];return e.blkIndent=C,!0}function RA(e,t,n,i){const o=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;let s=e.bMarks[t]+e.tShift[t];const l=e.src.charCodeAt(s++);if(l!==42&&l!==45&&l!==95)return!1;let A=1;for(;s<o;){const u=e.src.charCodeAt(s++);if(u!==l&&!se(u))return!1;u===l&&A++}if(A<3)return!1;if(i)return!0;e.line=t+1;const a=e.push("hr","hr",0);return a.map=[t,e.line],a.markup=Array(A+1).join(String.fromCharCode(l)),!0}function Go(e,t){const n=e.eMarks[t];let i=e.bMarks[t]+e.tShift[t];const o=e.src.charCodeAt(i++);return o!==42&&o!==45&&o!==43||i<n&&!se(e.src.charCodeAt(i))?-1:i}function Wo(e,t){const n=e.bMarks[t]+e.tShift[t],i=e.eMarks[t];let o=n;if(o+1>=i)return-1;let s=e.src.charCodeAt(o++);if(s<48||s>57)return-1;for(;;){if(o>=i)return-1;if(s=e.src.charCodeAt(o++),s>=48&&s<=57){if(o-n>=10)return-1;continue}if(s===41||s===46)break;return-1}return o<i&&(s=e.src.charCodeAt(o),!se(s))?-1:o}function TA(e,t){const n=e.level+2;for(let i=t+2,o=e.tokens.length-2;i<o;i++)e.tokens[i].level===n&&e.tokens[i].type==="paragraph_open"&&(e.tokens[i+2].hidden=!0,e.tokens[i].hidden=!0,i+=2)}function MA(e,t,n,i){let o,s,l,A,a=t,u=!0;if(e.sCount[a]-e.blkIndent>=4||e.listIndent>=0&&e.sCount[a]-e.listIndent>=4&&e.sCount[a]<e.blkIndent)return!1;let h=!1;i&&e.parentType==="paragraph"&&e.sCount[a]>=e.blkIndent&&(h=!0);let f,m,_;if((_=Wo(e,a))>=0){if(f=!0,l=e.bMarks[a]+e.tShift[a],m=Number(e.src.slice(l,_-1)),h&&m!==1)return!1}else if((_=Go(e,a))>=0)f=!1;else return!1;if(h&&e.skipSpaces(_)>=e.eMarks[a])return!1;if(i)return!0;const d=e.src.charCodeAt(_-1),C=e.tokens.length;f?(A=e.push("ordered_list_open","ol",1),m!==1&&(A.attrs=[["start",m]])):A=e.push("bullet_list_open","ul",1);const g=[a,0];A.map=g,A.markup=String.fromCharCode(d);let E=!1;const D=e.md.block.ruler.getRules("list"),F=e.parentType;for(e.parentType="list";a<n;){s=_,o=e.eMarks[a];const k=e.sCount[a]+_-(e.bMarks[a]+e.tShift[a]);let B=k;for(;s<o;){const j=e.src.charCodeAt(s);if(j===9)B+=4-(B+e.bsCount[a])%4;else if(j===32)B++;else break;s++}const M=s;let K;M>=o?K=1:K=B-k,K>4&&(K=1);const S=k+K;A=e.push("list_item_open","li",1),A.markup=String.fromCharCode(d);const I=[a,0];A.map=I,f&&(A.info=e.src.slice(l,_-1));const W=e.tight,O=e.tShift[a],te=e.sCount[a],q=e.listIndent;if(e.listIndent=e.blkIndent,e.blkIndent=S,e.tight=!0,e.tShift[a]=M-e.bMarks[a],e.sCount[a]=B,M>=o&&e.isEmpty(a+1)?e.line=Math.min(e.line+2,n):e.md.block.tokenize(e,a,n),(!e.tight||E)&&(u=!1),E=e.line-a>1&&e.isEmpty(e.line-1),e.blkIndent=e.listIndent,e.listIndent=q,e.tShift[a]=O,e.sCount[a]=te,e.tight=W,A=e.push("list_item_close","li",-1),A.markup=String.fromCharCode(d),a=e.line,I[1]=a,a>=n||e.sCount[a]<e.blkIndent||e.sCount[a]-e.blkIndent>=4)break;let U=!1;for(let j=0,J=D.length;j<J;j++)if(D[j](e,a,n,!0)){U=!0;break}if(U)break;if(f){if(_=Wo(e,a),_<0)break;l=e.bMarks[a]+e.tShift[a]}else if(_=Go(e,a),_<0)break;if(d!==e.src.charCodeAt(_-1))break}return f?A=e.push("ordered_list_close","ol",-1):A=e.push("bullet_list_close","ul",-1),A.markup=String.fromCharCode(d),g[1]=a,e.line=a,e.parentType=F,u&&TA(e,C),!0}function QA(e,t,n,i){let o=e.bMarks[t]+e.tShift[t],s=e.eMarks[t],l=t+1;if(e.sCount[t]-e.blkIndent>=4||e.src.charCodeAt(o)!==91)return!1;function A(k){const B=e.lineMax;if(k>=B||e.isEmpty(k))return null;let M=!1;if(e.sCount[k]-e.blkIndent>3&&(M=!0),e.sCount[k]<0&&(M=!0),!M){const I=e.md.block.ruler.getRules("reference"),W=e.parentType;e.parentType="reference";let O=!1;for(let te=0,q=I.length;te<q;te++)if(I[te](e,k,B,!0)){O=!0;break}if(e.parentType=W,O)return null}const K=e.bMarks[k]+e.tShift[k],S=e.eMarks[k];return e.src.slice(K,S+1)}let a=e.src.slice(o,s+1);s=a.length;let u=-1;for(o=1;o<s;o++){const k=a.charCodeAt(o);if(k===91)return!1;if(k===93){u=o;break}else if(k===10){const B=A(l);B!==null&&(a+=B,s=a.length,l++)}else if(k===92&&(o++,o<s&&a.charCodeAt(o)===10)){const B=A(l);B!==null&&(a+=B,s=a.length,l++)}}if(u<0||a.charCodeAt(u+1)!==58)return!1;for(o=u+2;o<s;o++){const k=a.charCodeAt(o);if(k===10){const B=A(l);B!==null&&(a+=B,s=a.length,l++)}else if(!se(k))break}const h=e.md.helpers.parseLinkDestination(a,o,s);if(!h.ok)return!1;const f=e.md.normalizeLink(h.str);if(!e.md.validateLink(f))return!1;o=h.pos;const m=o,_=l,d=o;for(;o<s;o++){const k=a.charCodeAt(o);if(k===10){const B=A(l);B!==null&&(a+=B,s=a.length,l++)}else if(!se(k))break}let C=e.md.helpers.parseLinkTitle(a,o,s);for(;C.can_continue;){const k=A(l);if(k===null)break;a+=k,o=s,s=a.length,l++,C=e.md.helpers.parseLinkTitle(a,o,s,C)}let g;for(o<s&&d!==o&&C.ok?(g=C.str,o=C.pos):(g="",o=m,l=_);o<s&&se(a.charCodeAt(o));)o++;if(o<s&&a.charCodeAt(o)!==10&&g)for(g="",o=m,l=_;o<s&&se(a.charCodeAt(o));)o++;if(o<s&&a.charCodeAt(o)!==10)return!1;const E=An(a.slice(1,u));if(!E)return!1;if(i)return!0;typeof e.env.references>"u"&&(e.env.references={}),typeof e.env.references[E]>"u"&&(e.env.references[E]={title:g,href:f});const D=e.push("reference_definition","",0);D.map=[t,l],D.hidden=!0;const F=Object.create(null);return F.label=E,D.meta=F,e.line=l,!0}var KA=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],ei=`<[A-Za-z][A-Za-z0-9\\-]*(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^"'=<>\`\\x00-\\x20]+|'[^']*'|"[^"]*"))?)*\\s*\\/?>`,ti="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",GA=new RegExp(`^(?:${ei}|${ti}|<!---?>|<!--(?:[^-]|-[^-]|--[^>])*-->|<[?][\\s\\S]*?[?]>|<![A-Za-z][^>]*>|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>)`),WA=new RegExp(`^(?:${ei}|${ti})`),it=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^<!--/,/-->/,!0],[/^<\?/,/\?>/,!0],[/^<![A-Za-z]/,/>/,!0],[/^<!\[CDATA\[/,/\]\]>/,!0],[new RegExp(`^</?(${KA.join("|")})(?=(\\s|/?>|$))`,"i"),/^$/,!0],[new RegExp(`${WA.source}\\s*$`),/^$/,!1]];function OA(e,t,n,i){let o=e.bMarks[t]+e.tShift[t],s=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||!e.md.options.html||e.src.charCodeAt(o)!==60)return!1;let l=e.src.slice(o,s),A=0;for(;A<it.length&&!it[A][0].test(l);A++);if(A===it.length)return!1;if(i)return it[A][2];let a=t+1;const u=it[A][1].test("");if(!it[A][1].test(l)){for(;a<n&&!(e.sCount[a]<e.blkIndent&&(u||!e.isEmpty(a)));a++)if(o=e.bMarks[a]+e.tShift[a],s=e.eMarks[a],l=e.src.slice(o,s),it[A][1].test(l)){l.length!==0&&a++;break}}e.line=a;const h=e.push("html_block","",0);return h.map=[t,a],h.content=e.getLines(t,a,e.blkIndent,!0),!0}function YA(e,t,n,i){let o=e.bMarks[t]+e.tShift[t],s=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;let l=e.src.charCodeAt(o);if(l!==35||o>=s)return!1;let A=1;for(l=e.src.charCodeAt(++o);l===35&&o<s&&A<=6;)A++,l=e.src.charCodeAt(++o);if(A>6||o<s&&!se(l))return!1;if(i)return!0;s=e.skipSpacesBack(s,o);const a=e.skipCharsBack(s,35,o);a>o&&se(e.src.charCodeAt(a-1))&&(s=a),e.line=t+1;const u=e.push("heading_open",`h${A}`,1);u.markup="########".slice(0,A),u.map=[t,e.line];const h=e.push("inline","",0);h.content=an(e.src.slice(o,s)),h.map=[t,e.line],h.children=[];const f=e.push("heading_close",`h${A}`,-1);return f.markup="########".slice(0,A),!0}function HA(e,t,n){const i=e.md.block.ruler.getRules("paragraph");if(e.sCount[t]-e.blkIndent>=4)return!1;const o=e.parentType;e.parentType="paragraph";let s=0,l,A=t+1;for(;A<n&&!e.isEmpty(A);A++){if(e.sCount[A]-e.blkIndent>3)continue;if(e.sCount[A]>=e.blkIndent){let _=e.bMarks[A]+e.tShift[A];const d=e.eMarks[A];if(_<d&&(l=e.src.charCodeAt(_),(l===45||l===61)&&(_=e.skipChars(_,l),_=e.skipSpaces(_),_>=d))){s=l===61?1:2;break}}if(e.sCount[A]<0)continue;let m=!1;for(let _=0,d=i.length;_<d;_++)if(i[_](e,A,n,!0)){m=!0;break}if(m)break}if(!s)return e.parentType=o,!1;const a=an(e.getLines(t,A,e.blkIndent,!1));e.line=A+1;const u=e.push("heading_open",`h${s}`,1);u.markup=String.fromCharCode(l),u.map=[t,e.line];const h=e.push("inline","",0);h.content=a,h.map=[t,e.line-1],h.children=[];const f=e.push("heading_close",`h${s}`,-1);return f.markup=String.fromCharCode(l),e.parentType=o,!0}function UA(e,t,n){const i=e.md.block.ruler.getRules("paragraph"),o=e.parentType;let s=t+1;for(e.parentType="paragraph";s<n&&!e.isEmpty(s);s++){if(e.sCount[s]-e.blkIndent>3||e.sCount[s]<0)continue;let u=!1;for(let h=0,f=i.length;h<f;h++)if(i[h](e,s,n,!0)){u=!0;break}if(u)break}const l=an(e.getLines(t,s,e.blkIndent,!1));e.line=s;const A=e.push("paragraph_open","p",1);A.map=[t,e.line];const a=e.push("inline","",0);return a.content=l,a.map=[t,e.line],a.children=[],e.push("paragraph_close","p",-1),e.parentType=o,!0}var nn=[["table",vA,["paragraph","reference"]],["code",xA],["fence",SA,["paragraph","reference","blockquote","list"]],["blockquote",NA,["paragraph","reference","blockquote","list"]],["hr",RA,["paragraph","reference","blockquote","list"]],["list",MA,["paragraph","reference","blockquote"]],["reference",QA],["html_block",OA,["paragraph","reference","blockquote"]],["heading",YA,["paragraph","reference","blockquote"]],["lheading",HA],["paragraph",UA]],ni=class{constructor(){T(this,"ruler",new Ut),T(this,"State",qr);for(let e=0;e<nn.length;e++)this.ruler.push(nn[e][0],nn[e][1],{alt:(nn[e][2]||[]).slice()})}tokenize(e,t,n){const i=this.ruler.getRules(""),o=i.length,s=e.md.options.maxNesting;let l=t,A=!1;for(;l<n&&(e.line=l=e.skipEmptyLines(l),!(l>=n||e.sCount[l]<e.blkIndent));){if(e.level>=s){e.line=n;break}const a=e.line;let u=!1;for(let h=0;h<o;h++)if(u=i[h](e,l,n,!1),u){if(a>=e.line)throw new Error("block rule didn't increment state.line");break}if(!u)throw new Error("none of the block rules matched");e.tight=!A,e.isEmpty(e.line-1)&&(A=!0),l=e.line,l<n&&e.isEmpty(l)&&(A=!0,l++,e.line=l)}}parse(e,t,n,i){if(!e)return;const o=new this.State(e,t,n,i);this.tokenize(o,o.line,o.lineMax)}},oi=class{constructor(e,t,n,i){T(this,"pos",0),T(this,"level",0),T(this,"pending",""),T(this,"pendingLevel",0),T(this,"cache",{}),T(this,"backticks",{}),T(this,"backticksScanned",!1),T(this,"linkLevel",0),T(this,"delimiters",[]),T(this,"_prev_delimiters",[]),T(this,"Token",At),this.src=e,this.env=n,this.md=t,this.tokens=i,this.tokens_meta=Array(i.length),this.posMax=this.src.length}pushPending(){const e=new At("text","",0);return e.content=this.pending,e.level=this.pendingLevel,this.tokens.push(e),this.pending="",e}push(e,t,n){this.pending&&this.pushPending();const i=new At(e,t,n);let o;return n<0&&(this.level--,this.delimiters=this._prev_delimiters.pop()),i.level=this.level,n>0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],o={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(i),this.tokens_meta.push(o),i}scanDelims(e,t){const n=this.posMax,i=this.src.charCodeAt(e);let o;if(e===0)o=32;else if(e===1)o=this.src.charCodeAt(0),(o&63488)===55296&&(o=65533);else if(o=this.src.charCodeAt(e-1),(o&64512)===56320){const d=this.src.charCodeAt(e-2);o=(d&64512)===55296?65536+(d-55296<<10)+(o-56320):65533}else(o&64512)===55296&&(o=65533);let s=e;for(;s<n&&this.src.charCodeAt(s)===i;)s++;const l=s-e;let A=s<n?this.src.charCodeAt(s):32;if((A&64512)===55296){const d=this.src.charCodeAt(s+1);A=(d&64512)===56320?65536+(A-55296<<10)+(d-56320):65533}else(A&64512)===56320&&(A=65533);const a=Yt(o)||Ot(o),u=Yt(A)||Ot(A),h=Wt(o),f=Wt(A),m=!f&&(!u||h||a),_=!h&&(!a||f||u);return{can_open:m&&(t||!_||a),can_close:_&&(t||!m||u),length:l}}};function VA(e){switch(e){case 10:case 33:case 35:case 36:case 37:case 38:case 42:case 43:case 45:case 58:case 60:case 61:case 62:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 125:case 126:return!0;default:return!1}}function LA(e,t){let n=e.pos;for(;n<e.posMax&&!VA(e.src.charCodeAt(n));)n++;return n===e.pos?!1:(t||(e.pending+=e.src.slice(e.pos,n)),e.pos=n,!0)}var JA=/(?:^|[^a-z0-9.+-])([a-z][a-z0-9.+-]*)$/i;function ZA(e,t){if(!e.md.options.linkify||e.linkLevel>0)return!1;const n=e.pos,i=e.posMax;if(n+3>i||e.src.charCodeAt(n)!==58||e.src.charCodeAt(n+1)!==47||e.src.charCodeAt(n+2)!==47)return!1;const o=e.pending.match(JA);if(!o)return!1;const s=o[1],l=e.md.linkify.matchAtStart(e.src.slice(n-s.length));if(!l)return!1;let A=l.url;if(A.length<=s.length)return!1;let a=A.length;for(;a>0&&A.charCodeAt(a-1)===42;)a--;a!==A.length&&(A=A.slice(0,a));const u=e.md.normalizeLink(A);if(!e.md.validateLink(u))return!1;if(!t){e.pending=e.pending.slice(0,-s.length);const h=e.push("link_open","a",1);h.attrs=[["href",u]],h.markup="linkify",h.info="auto";const f=e.push("text","",0);f.content=e.md.normalizeLinkText(A);const m=e.push("link_close","a",-1);m.markup="linkify",m.info="auto"}return e.pos+=A.length-s.length,!0}function PA(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==10)return!1;const i=e.pending.length-1,o=e.posMax;if(!t)if(i>=0&&e.pending.charCodeAt(i)===32)if(i>=1&&e.pending.charCodeAt(i-1)===32){let s=i-1;for(;s>=1&&e.pending.charCodeAt(s-1)===32;)s--;e.pending=e.pending.slice(0,s),e.push("hardbreak","br",0)}else e.pending=e.pending.slice(0,-1),e.push("softbreak","br",0);else e.push("softbreak","br",0);for(n++;n<o&&se(e.src.charCodeAt(n));)n++;return e.pos=n,!0}var qn=[];for(let e=0;e<256;e++)qn.push(0);"\\!\"#$%&'()*+,./:;<=>?@[]^_`{|}~-".split("").forEach(function(e){qn[e.charCodeAt(0)]=1});function zA(e,t){let n=e.pos;const i=e.posMax;if(e.src.charCodeAt(n)!==92||(n++,n>=i))return!1;let o=e.src.charCodeAt(n);if(o===10){for(t||e.push("hardbreak","br",0),n++;n<i&&(o=e.src.charCodeAt(n),!!se(o));)n++;return e.pos=n,!0}if(o===32){if(!t){const A=e.push("text_special","",0);A.content="\\",A.markup="\\",A.info="escape"}return e.pos=n,!0}let s=e.src[n];if(o>=55296&&o<=56319&&n+1<i){const A=e.src.charCodeAt(n+1);A>=56320&&A<=57343&&(s+=e.src[n+1],n++)}const l="\\"+s;if(!t){const A=e.push("text_special","",0);o<256&&qn[o]!==0?A.content=s:A.content=l,A.markup=l,A.info="escape"}return e.pos=n+1,!0}function jA(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==96)return!1;const i=n;n++;const o=e.posMax;for(;n<o&&e.src.charCodeAt(n)===96;)n++;const s=e.src.slice(i,n),l=s.length;if(e.backticksScanned&&(e.backticks[l]||0)<=i)return t||(e.pending+=s),e.pos+=l,!0;let A=n,a;for(;(a=e.src.indexOf("`",A))!==-1;){for(A=a+1;A<o&&e.src.charCodeAt(A)===96;)A++;const u=A-a;if(u===l){if(!t){const h=e.push("code_inline","code",0);h.markup=s,h.content=e.src.slice(n,a).replace(/\n/g," ").replace(/^ (.+) $/,"$1")}return e.pos=A,!0}e.backticks[u]=a}return e.backticksScanned=!0,t||(e.pending+=s),e.pos+=l,!0}function XA(e,t){const n=e.pos,i=e.src.charCodeAt(n);if(t||i!==126)return!1;const o=e.scanDelims(e.pos,!0);let s=o.length;const l=String.fromCharCode(i);if(s<2)return!1;let A;s%2&&(A=e.push("text","",0),A.content=l,s--);for(let a=0;a<s;a+=2)A=e.push("text","",0),A.content=l+l,e.delimiters.push({marker:i,length:0,token:e.tokens.length-1,end:-1,open:o.can_open,close:o.can_close});return e.pos+=o.length,!0}function Oo(e,t){let n;const i=[],o=t.length;for(let s=0;s<o;s++){const l=t[s];if(l.marker!==126||l.end===-1)continue;const A=t[l.end];n=e.tokens[l.token],n.type="s_open",n.tag="s",n.nesting=1,n.markup="~~",n.content="",n=e.tokens[A.token],n.type="s_close",n.tag="s",n.nesting=-1,n.markup="~~",n.content="",e.tokens[A.token-1].type==="text"&&e.tokens[A.token-1].content==="~"&&i.push(A.token-1)}for(;i.length;){const s=i.pop();let l=s+1;for(;l<e.tokens.length&&e.tokens[l].type==="s_close";)l++;l--,s!==l&&(n=e.tokens[l],e.tokens[l]=e.tokens[s],e.tokens[s]=n)}}function $A(e){const t=e.tokens_meta,n=e.tokens_meta.length;Oo(e,e.delimiters);for(let o=0;o<n;o++){var i;const s=(i=t[o])===null||i===void 0?void 0:i.delimiters;s&&Oo(e,s)}}var ri={tokenize:XA,postProcess:$A};function qA(e,t){const n=e.pos,i=e.src.charCodeAt(n);if(t||i!==95&&i!==42)return!1;const o=e.scanDelims(e.pos,i===42);for(let s=0;s<o.length;s++){const l=e.push("text","",0);l.content=String.fromCharCode(i),e.delimiters.push({marker:i,length:o.length,token:e.tokens.length-1,end:-1,open:o.can_open,close:o.can_close})}return e.pos+=o.length,!0}function Yo(e,t){const n=t.length;for(let i=n-1;i>=0;i--){const o=t[i];if(o.marker!==95&&o.marker!==42||o.end===-1)continue;const s=t[o.end],l=i>0&&t[i-1].end===o.end+1&&t[i-1].marker===o.marker&&t[i-1].token===o.token-1&&t[o.end+1].token===s.token+1,A=String.fromCharCode(o.marker),a=e.tokens[o.token];a.type=l?"strong_open":"em_open",a.tag=l?"strong":"em",a.nesting=1,a.markup=l?A+A:A,a.content="";const u=e.tokens[s.token];u.type=l?"strong_close":"em_close",u.tag=l?"strong":"em",u.nesting=-1,u.markup=l?A+A:A,u.content="",l&&(e.tokens[t[i-1].token].content="",e.tokens[t[o.end+1].token].content="",i--)}}function ea(e){const t=e.tokens_meta,n=e.tokens_meta.length;Yo(e,e.delimiters);for(let o=0;o<n;o++){var i;const s=(i=t[o])===null||i===void 0?void 0:i.delimiters;s&&Yo(e,s)}}var ii={tokenize:qA,postProcess:ea};function ta(e,t){let n,i,o,s,l="",A="",a=e.pos,u=!0;if(e.src.charCodeAt(e.pos)!==91)return!1;const h=e.pos,f=e.posMax,m=e.pos+1,_=e.md.helpers.parseLinkLabel(e,e.pos,!0);if(_<0)return!1;let d=_+1;if(d<f&&e.src.charCodeAt(d)===40){for(u=!1,d++;d<f&&(n=e.src.charCodeAt(d),!(!se(n)&&n!==10));d++);if(d>=f)return!1;if(a=d,o=e.md.helpers.parseLinkDestination(e.src,d,e.posMax),o.ok){for(l=e.md.normalizeLink(o.str),e.md.validateLink(l)?d=o.pos:l="",a=d;d<f&&(n=e.src.charCodeAt(d),!(!se(n)&&n!==10));d++);if(o=e.md.helpers.parseLinkTitle(e.src,d,e.posMax),d<f&&a!==d&&o.ok)for(A=o.str,d=o.pos;d<f&&(n=e.src.charCodeAt(d),!(!se(n)&&n!==10));d++);}(d>=f||e.src.charCodeAt(d)!==41)&&(u=!0),d++}if(u){if(typeof e.env.references>"u")return!1;if(d<f&&e.src.charCodeAt(d)===91?(a=d+1,d=e.md.helpers.parseLinkLabel(e,d),d>=0?i=e.src.slice(a,d++):d=_+1):d=_+1,i||(i=e.src.slice(m,_)),i=An(i),s=e.env.references[i],!s)return e.pos=h,!1;l=s.href,A=s.title}if(!t){e.pos=m,e.posMax=_;const C=e.push("link_open","a",1),g=[["href",l]];if(C.attrs=g,A&&g.push(["title",A]),i){const E=Object.create(null);E.label=i,C.meta=E}e.linkLevel++,e.md.inline.tokenize(e),e.linkLevel--,e.push("link_close","a",-1)}return e.pos=d,e.posMax=f,!0}function na(e,t){let n,i,o,s,l,A,a,u,h="";const f=e.pos,m=e.posMax;if(e.src.charCodeAt(e.pos)!==33||e.src.charCodeAt(e.pos+1)!==91)return!1;const _=e.pos+2,d=e.md.helpers.parseLinkLabel(e,e.pos+1,!1);if(d<0)return!1;if(s=d+1,s<m&&e.src.charCodeAt(s)===40){for(s++;s<m&&(n=e.src.charCodeAt(s),!(!se(n)&&n!==10));s++);if(s>=m)return!1;for(u=s,A=e.md.helpers.parseLinkDestination(e.src,s,e.posMax),A.ok&&(h=e.md.normalizeLink(A.str),e.md.validateLink(h)?s=A.pos:h=""),u=s;s<m&&(n=e.src.charCodeAt(s),!(!se(n)&&n!==10));s++);if(A=e.md.helpers.parseLinkTitle(e.src,s,e.posMax),s<m&&u!==s&&A.ok)for(a=A.str,s=A.pos;s<m&&(n=e.src.charCodeAt(s),!(!se(n)&&n!==10));s++);else a="";if(s>=m||e.src.charCodeAt(s)!==41)return e.pos=f,!1;s++}else{if(typeof e.env.references>"u")return!1;if(s<m&&e.src.charCodeAt(s)===91?(u=s+1,s=e.md.helpers.parseLinkLabel(e,s),s>=0?o=e.src.slice(u,s++):s=d+1):s=d+1,o||(o=e.src.slice(_,d)),o=An(o),l=e.env.references[o],!l)return e.pos=f,!1;h=l.href,a=l.title}if(!t){i=e.src.slice(_,d);const C=[];e.md.inline.parse(i,e.md,e.env,C);const g=e.push("image","img",0),E=[["src",h],["alt",""]];if(g.attrs=E,g.children=C,g.content=i,a&&E.push(["title",a]),o){const D=Object.create(null);D.label=o,g.meta=D}}return e.pos=s,e.posMax=m,!0}var oa=/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,ra=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function ia(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==60)return!1;const i=e.pos,o=e.posMax;for(;;){if(++n>=o)return!1;const l=e.src.charCodeAt(n);if(l===60)return!1;if(l===62)break}const s=e.src.slice(i+1,n);if(ra.test(s)){const l=e.md.normalizeLink(s);if(!e.md.validateLink(l))return!1;if(!t){const A=e.push("link_open","a",1);A.attrs=[["href",l]],A.markup="autolink",A.info="auto";const a=e.push("text","",0);a.content=e.md.normalizeLinkText(s);const u=e.push("link_close","a",-1);u.markup="autolink",u.info="auto"}return e.pos+=s.length+2,!0}if(oa.test(s)){const l=e.md.normalizeLink(`mailto:${s}`);if(!e.md.validateLink(l))return!1;if(!t){const A=e.push("link_open","a",1);A.attrs=[["href",l]],A.markup="autolink",A.info="auto";const a=e.push("text","",0);a.content=e.md.normalizeLinkText(s);const u=e.push("link_close","a",-1);u.markup="autolink",u.info="auto"}return e.pos+=s.length+2,!0}return!1}function sa(e){return/^<a[>\s]/i.test(e)}function la(e){return/^<\/a\s*>/i.test(e)}function Aa(e){const t=e|32;return t>=97&&t<=122}function aa(e,t){if(!e.md.options.html)return!1;const n=e.posMax,i=e.pos;if(e.src.charCodeAt(i)!==60||i+2>=n)return!1;const o=e.src.charCodeAt(i+1);if(o!==33&&o!==63&&o!==47&&!Aa(o))return!1;const s=e.src.slice(i).match(GA);if(!s)return!1;if(!t){const l=e.push("html_inline","",0);l.content=s[0],sa(l.content)&&e.linkLevel++,la(l.content)&&e.linkLevel--}return e.pos+=s[0].length,!0}var ca=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,ua=/^&([a-z][a-z0-9]{1,31});/i;function da(e,t){const n=e.pos,i=e.posMax;if(e.src.charCodeAt(n)!==38||n+1>=i)return!1;if(e.src.charCodeAt(n+1)===35){const o=e.src.slice(n).match(ca);if(o){if(!t){const s=o[1][0].toLowerCase()==="x"?parseInt(o[1].slice(1),16):parseInt(o[1],10),l=e.push("text_special","",0);l.content=$n(s)?Gt(s):Gt(65533),l.markup=o[0],l.info="entity"}return e.pos+=o[0].length,!0}}else{const o=e.src.slice(n).match(ua);if(o){const s=Mr(o[0]);if(s!==o[0]){if(!t){const l=e.push("text_special","",0);l.content=s,l.markup=o[0],l.info="entity"}return e.pos+=o[0].length,!0}}}return!1}function Ho(e){const t={},n=e.length;if(!n)return;let i=0,o=-2;const s=[];for(let l=0;l<n;l++){const A=e[l];if(s.push(0),(e[i].marker!==A.marker||o!==A.token-1)&&(i=l),o=A.token,A.length=A.length||0,!A.close)continue;t.hasOwnProperty(A.marker)||(t[A.marker]=[-1,-1,-1,-1,-1,-1]);const a=t[A.marker][(A.open?3:0)+A.length%3];let u=i-s[i]-1,h=u;for(;u>a;u-=s[u]+1){const f=e[u];if(f.marker===A.marker&&f.open&&f.end<0){let m=!1;if((f.close||A.open)&&(f.length+A.length)%3===0&&(f.length%3!==0||A.length%3!==0)&&(m=!0),!m){const _=u>0&&!e[u-1].open?s[u-1]+1:0;s[l]=l-u+_,s[u]=_,A.open=!1,f.end=l,f.close=!1,h=-1,o=-2;break}}}h!==-1&&(t[A.marker][(A.open?3:0)+(A.length||0)%3]=h)}}function ha(e){const t=e.tokens_meta,n=e.tokens_meta.length;Ho(e.delimiters);for(let o=0;o<n;o++){var i;const s=(i=t[o])===null||i===void 0?void 0:i.delimiters;s&&Ho(s)}}function fa(e){let t,n,i=0;const o=e.tokens,s=e.tokens.length;for(t=n=0;t<s;t++)o[t].nesting<0&&i--,o[t].level=i,o[t].nesting>0&&i++,o[t].type==="text"&&t+1<s&&o[t+1].type==="text"?o[t+1].content=o[t].content+o[t+1].content:(t!==n&&(o[n]=o[t]),n++);t!==n&&(o.length=n)}var Nn=[["text",LA],["linkify",ZA],["newline",PA],["escape",zA],["backticks",jA],["strikethrough",ri.tokenize],["emphasis",ii.tokenize],["link",ta],["image",na],["autolink",ia],["html_inline",aa],["entity",da]],Rn=[["balance_pairs",ha],["strikethrough",ri.postProcess],["emphasis",ii.postProcess],["fragments_join",fa]],si=class{constructor(){T(this,"ruler",new Ut),T(this,"ruler2",new Ut),T(this,"State",oi);for(let e=0;e<Nn.length;e++)this.ruler.push(Nn[e][0],Nn[e][1]);for(let e=0;e<Rn.length;e++)this.ruler2.push(Rn[e][0],Rn[e][1])}skipToken(e){const t=e.pos,n=this.ruler.getRules(""),i=n.length,o=e.md.options.maxNesting,s=e.cache;if(typeof s[t]<"u"){e.pos=s[t];return}let l=!1;if(e.level<o){for(let A=0;A<i;A++)if(e.level++,l=n[A](e,!0),e.level--,l){if(t>=e.pos)throw new Error("inline rule didn't increment state.pos");break}}else e.pos=e.posMax;l||e.pos++,s[t]=e.pos}tokenize(e){const t=this.ruler.getRules(""),n=t.length,i=e.posMax,o=e.md.options.maxNesting;for(;e.pos<i;){const s=e.pos;let l=!1;if(e.level<o){for(let A=0;A<n;A++)if(l=t[A](e,!1),l){if(s>=e.pos)throw new Error("inline rule didn't increment state.pos");break}}if(l){if(e.pos>=i)break;continue}e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()}parse(e,t,n,i){const o=new this.State(e,t,n,i);this.tokenize(o);const s=this.ruler2.getRules(""),l=s.length;for(let A=0;A<l;A++)s[A](o)}},pa={default:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:100},components:{core:{},block:{},inline:{}}},zero:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","strip_references","inline","text_join"]},block:{rules:["paragraph"]},inline:{rules:["text"],rules2:["balance_pairs","fragments_join"]}}},commonmark:{options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","strip_references","inline","text_join"]},block:{rules:["blockquote","code","fence","heading","hr","html_block","lheading","list","reference","paragraph"]},inline:{rules:["autolink","backticks","emphasis","entity","escape","html_inline","image","link","newline","text"],rules2:["balance_pairs","emphasis","fragments_join"]}}}},ma=/^(vbscript|javascript|file|data):/,ga=/^data:image\/(gif|png|jpeg|webp);/,Uo=["http:","https:","mailto:"],Ue=class{validateLink(e){const t=e.trim().toLowerCase();return ma.test(t)?ga.test(t):!0}normalizeLink(e){const t=Yn(e,!0);if(t.hostname&&(!t.protocol||Uo.indexOf(t.protocol)>=0))try{t.hostname=No.toASCII(t.hostname)}catch{}return Jt(On(t))}normalizeLinkText(e){const t=Yn(e,!0);if(t.hostname&&(!t.protocol||Uo.indexOf(t.protocol)>=0))try{t.hostname=No.toUnicode(t.hostname)}catch{}return bt(On(t),bt.defaultChars+"%")}constructor(...e){T(this,"inline",new si),T(this,"block",new ni),T(this,"core",new $r),T(this,"renderer",new zr),T(this,"linkify",new xl),T(this,"utils",Hl),T(this,"helpers",Object.assign({},oA));const[t,n]=e;typeof t=="string"?(this.configure(t),n&&this.set(n)):(this.configure("default"),this.set(t||{}))}set(e){return Object.assign(this.options,e),this}configure(e){let t;if(typeof e=="string"){const o=e;if(t=pa[o],!t)throw new Error(`Wrong 'markdown-it' preset "${o}", check name`)}else t=e;if(!t)throw new Error("Wrong `markdown-it` preset, can't be empty");t.options&&(this.options={...t.options});const n=t.components;if(n){var i;["core","block","inline"].forEach(s=>{var l;const A=(l=n[s])===null||l===void 0?void 0:l.rules;A&&this[s].ruler.enableOnly(A)});const o=(i=n.inline)===null||i===void 0?void 0:i.rules2;o&&this.inline.ruler2.enableOnly(o)}return this}enable(e,t=!1){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(o=>{n=n.concat(this[o].ruler.enable(e,!0))}),n=n.concat(this.inline.ruler2.enable(e,!0));const i=e.filter(o=>n.indexOf(o)<0);if(i.length&&!t)throw new Error(`MarkdownIt. Failed to enable unknown rule(s): ${i}`);return this}disable(e,t=!1){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(o=>{n=n.concat(this[o].ruler.disable(e,!0))}),n=n.concat(this.inline.ruler2.disable(e,!0));const i=e.filter(o=>n.indexOf(o)<0);if(i.length&&!t)throw new Error(`MarkdownIt. Failed to disable unknown rule(s): ${i}`);return this}use(e,...t){return e.apply(e,[this,...t]),this}parse(e,t){if(typeof e!="string")throw new Error("Input data should be a String");const n=new this.core.State(e,this,t);return this.core.process(n),n.tokens}render(e,t={}){return this.renderer.render(this.parse(e,t),this.options,t)}parseInline(e,t){const n=new this.core.State(e,this,t);return n.inlineMode=!0,this.core.process(n),n.tokens}renderInline(e,t={}){return this.renderer.render(this.parseInline(e,t),this.options,t)}};T(Ue,"Token",At);T(Ue,"Ruler",Ut);T(Ue,"Renderer",zr);T(Ue,"ParserCore",$r);T(Ue,"StateCore",jr);T(Ue,"ParserBlock",ni);T(Ue,"StateBlock",qr);T(Ue,"ParserInline",si);T(Ue,"StateInline",oi);var Ca=Lr(Ue);/*! @license DOMPurify 3.4.13 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.13/LICENSE */function Vo(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function _a(e){if(Array.isArray(e))return e}function ka(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var i,o,s,l,A=[],a=!0,u=!1;try{if(s=(n=n.call(e)).next,t!==0)for(;!(a=(i=s.call(n)).done)&&(A.push(i.value),A.length!==t);a=!0);}catch(h){u=!0,o=h}finally{try{if(!a&&n.return!=null&&(l=n.return(),Object(l)!==l))return}finally{if(u)throw o}}return A}}function Ea(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
54
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ya(e,t){return _a(e)||ka(e,t)||Ia(e,t)||Ea()}function Ia(e,t){if(e){if(typeof e=="string")return Vo(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Vo(e,t):void 0}}const li=Object.entries,Lo=Object.setPrototypeOf,ba=Object.isFrozen,Da=Object.getPrototypeOf,Ba=Object.getOwnPropertyDescriptor;let ke=Object.freeze,Ee=Object.seal,Et=Object.create,Ai=typeof Reflect<"u"&&Reflect,Un=Ai.apply,Vn=Ai.construct;ke||(ke=function(t){return t});Ee||(Ee=function(t){return t});Un||(Un=function(t,n){for(var i=arguments.length,o=new Array(i>2?i-2:0),s=2;s<i;s++)o[s-2]=arguments[s];return t.apply(n,o)});Vn||(Vn=function(t){for(var n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];return new t(...i)});const _t=he(Array.prototype.forEach),wa=he(Array.prototype.lastIndexOf),Jo=he(Array.prototype.pop),kt=he(Array.prototype.push),Fa=he(Array.prototype.splice),je=Array.isArray,Tt=he(String.prototype.toLowerCase),Tn=he(String.prototype.toString),Zo=he(String.prototype.match),xt=he(String.prototype.replace),Po=he(String.prototype.indexOf),va=he(String.prototype.trim),xa=he(Number.prototype.toString),Sa=he(Boolean.prototype.toString),zo=typeof BigInt>"u"?null:he(BigInt.prototype.toString),jo=typeof Symbol>"u"?null:he(Symbol.prototype.toString),Ce=he(Object.prototype.hasOwnProperty),St=he(Object.prototype.toString),me=he(RegExp.prototype.test),st=Na(TypeError);function he(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];return Un(e,t,i)}}function Na(e){return function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return Vn(e,n)}}function P(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Tt;if(Lo&&Lo(e,null),!je(t))return e;let i=t.length;for(;i--;){let o=t[i];if(typeof o=="string"){const s=n(o);s!==o&&(ba(t)||(t[i]=s),o=s)}e[o]=!0}return e}function Ra(e){for(let t=0;t<e.length;t++)Ce(e,t)||(e[t]=null);return e}function Ie(e){const t=Et(null);for(const i of li(e)){var n=ya(i,2);const o=n[0],s=n[1];Ce(e,o)&&(je(s)?t[o]=Ra(s):s&&typeof s=="object"&&s.constructor===Object?t[o]=Ie(s):t[o]=s)}return t}function Ta(e){switch(typeof e){case"string":return e;case"number":return xa(e);case"boolean":return Sa(e);case"bigint":return zo?zo(e):"0";case"symbol":return jo?jo(e):"Symbol()";case"undefined":return St(e);case"function":case"object":{if(e===null)return St(e);const t=e,n=Te(t,"toString");if(typeof n=="function"){const i=n(t);return typeof i=="string"?i:St(i)}return St(e)}default:return St(e)}}function Te(e,t){for(;e!==null;){const i=Ba(e,t);if(i){if(i.get)return he(i.get);if(typeof i.value=="function")return he(i.value)}e=Da(e)}function n(){return null}return n}function Ma(e){try{return me(e,""),!0}catch{return!1}}const Xo=ke(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Mn=ke(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Qn=ke(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),Qa=ke(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Kn=ke(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),Ka=ke(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),$o=ke(["#text"]),qo=ke(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),Gn=ke(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dominant-baseline","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-orientation","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),er=ke(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),on=ke(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),Ga=Ee(/{{[\w\W]*|^[\w\W]*}}/g),Wa=Ee(/<%[\w\W]*|^[\w\W]*%>/g),Oa=Ee(/\${[\w\W]*/g),Ya=Ee(/^data-[\-\w.\u00B7-\uFFFF]+$/),Ha=Ee(/^aria-[\-\w]+$/),tr=Ee(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Ua=Ee(/^(?:\w+script|data):/i),Va=Ee(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),La=Ee(/^html$/i),Ja=Ee(/^[a-z][.\w]*(-[.\w]+)+$/i),nr=Ee(/<[/\w!]/g),or=Ee(/<[/\w]/g),Za=Ee(/<\/no(script|embed|frames)/i),Pa=Ee(/\/>/i),xe={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},za=function(){return typeof window>"u"?null:window},ja=function(t,n){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let i=null;const o="data-tt-policy-suffix";n&&n.hasAttribute(o)&&(i=n.getAttribute(o));const s="dompurify"+(i?"#"+i:"");try{return t.createPolicy(s,{createHTML(l){return l},createScriptURL(l){return l}})}catch{return console.warn("TrustedTypes policy "+s+" could not be created."),null}},rr=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Ze=function(t,n,i,o){return Ce(t,n)&&je(t[n])?P(o.base?Ie(o.base):{},t[n],o.transform):i};function ai(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:za();const t=v=>ai(v);if(t.version="3.4.13",t.removed=[],!e||!e.document||e.document.nodeType!==xe.document||!e.Element)return t.isSupported=!1,t;let n=e.document;const i=n,o=i.currentScript;e.DocumentFragment;const s=e.HTMLTemplateElement,l=e.Node,A=e.Element,a=e.NodeFilter,u=e.NamedNodeMap;u===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const h=e.DOMParser,f=e.trustedTypes,m=A.prototype,_=Te(m,"cloneNode"),d=Te(m,"remove"),C=Te(m,"nextSibling"),g=Te(m,"childNodes"),E=Te(m,"parentNode"),D=Te(m,"shadowRoot"),F=Te(m,"attributes"),k=l&&l.prototype?Te(l.prototype,"nodeType"):null,B=l&&l.prototype?Te(l.prototype,"nodeName"):null,M=l&&l.prototype?Te(l.prototype,"ownerDocument"):null;if(typeof s=="function"){const v=n.createElement("template");v.content&&v.content.ownerDocument&&(n=v.content.ownerDocument)}let K,S="",I,W=!1,O=0;const te=function(){if(O>0)throw st('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},q=function(c){te(),O++;try{return K.createHTML(c)}finally{O--}},U=function(c){te(),O++;try{return K.createScriptURL(c)}finally{O--}},j=function(){return W||(I=ja(f,o),W=!0),I},J=n,fe=J.implementation,Be=J.createNodeIterator,ye=J.createDocumentFragment,et=J.getElementsByTagName,ct=i.importNode;let $=rr();t.isSupported=typeof li=="function"&&typeof E=="function"&&fe&&fe.createHTMLDocument!==void 0;const ue=Ga,ve=Wa,Ne=Oa,tt=Ya,ut=Ha,Ve=Ua,dt=Va,ht=Ja;let nt=tr,ee=null;const Le=P({},[...Xo,...Mn,...Qn,...Kn,...$o]);let Z=null;const ot=P({},[...qo,...Gn,...er,...on]);let ie=Object.seal(Et(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Re=null,Y=null;const N=Object.seal(Et(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let y=!0,x=!0,R=!1,w=!0,H=!1,z=!0,X=!1,ne=!1,le=null,oe=null,_e=!1,de=!1,ft=!1,Me=!1,pe=!0,cn=!1;const eo="user-content-";let un=!0,Zt=!1,pt={},Qe=null;const dn=P({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]);let to=null;const no=P({},["audio","video","img","source","image","track"]);let hn=null;const oo=P({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Pt="http://www.w3.org/1998/Math/MathML",zt="http://www.w3.org/2000/svg",Ke="http://www.w3.org/1999/xhtml";let mt=Ke,fn=!1,pn=null;const pi=P({},[Pt,zt,Ke],Tn),ro=ke(["mi","mo","mn","ms","mtext"]);let mn=P({},ro);const io=ke(["annotation-xml"]);let gn=P({},io);const mi=P({},["title","style","font","a","script"]);let wt=null;const gi=["application/xhtml+xml","text/html"],Ci="text/html";let Ae=null,gt=null;const _i=n.createElement("form"),so=function(c){return c instanceof RegExp||c instanceof Function},Cn=function(){let c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(gt&>===c)return;(!c||typeof c!="object")&&(c={}),c=Ie(c),wt=gi.indexOf(c.PARSER_MEDIA_TYPE)===-1?Ci:c.PARSER_MEDIA_TYPE,Ae=wt==="application/xhtml+xml"?Tn:Tt,ee=Ze(c,"ALLOWED_TAGS",Le,{transform:Ae}),Z=Ze(c,"ALLOWED_ATTR",ot,{transform:Ae}),pn=Ze(c,"ALLOWED_NAMESPACES",pi,{transform:Tn}),hn=Ze(c,"ADD_URI_SAFE_ATTR",oo,{transform:Ae,base:oo}),to=Ze(c,"ADD_DATA_URI_TAGS",no,{transform:Ae,base:no}),Qe=Ze(c,"FORBID_CONTENTS",dn,{transform:Ae}),Re=Ze(c,"FORBID_TAGS",Ie({}),{transform:Ae}),Y=Ze(c,"FORBID_ATTR",Ie({}),{transform:Ae}),pt=Ce(c,"USE_PROFILES")?c.USE_PROFILES&&typeof c.USE_PROFILES=="object"?Ie(c.USE_PROFILES):c.USE_PROFILES:!1,y=c.ALLOW_ARIA_ATTR!==!1,x=c.ALLOW_DATA_ATTR!==!1,R=c.ALLOW_UNKNOWN_PROTOCOLS||!1,w=c.ALLOW_SELF_CLOSE_IN_ATTR!==!1,H=c.SAFE_FOR_TEMPLATES||!1,z=c.SAFE_FOR_XML!==!1,X=c.WHOLE_DOCUMENT||!1,de=c.RETURN_DOM||!1,ft=c.RETURN_DOM_FRAGMENT||!1,Me=c.RETURN_TRUSTED_TYPE||!1,_e=c.FORCE_BODY||!1,pe=c.SANITIZE_DOM!==!1,cn=c.SANITIZE_NAMED_PROPS||!1,un=c.KEEP_CONTENT!==!1,Zt=c.IN_PLACE||!1,nt=Ma(c.ALLOWED_URI_REGEXP)?c.ALLOWED_URI_REGEXP:tr,mt=typeof c.NAMESPACE=="string"?c.NAMESPACE:Ke,mn=Ce(c,"MATHML_TEXT_INTEGRATION_POINTS")&&c.MATHML_TEXT_INTEGRATION_POINTS&&typeof c.MATHML_TEXT_INTEGRATION_POINTS=="object"?Ie(c.MATHML_TEXT_INTEGRATION_POINTS):P({},ro),gn=Ce(c,"HTML_INTEGRATION_POINTS")&&c.HTML_INTEGRATION_POINTS&&typeof c.HTML_INTEGRATION_POINTS=="object"?Ie(c.HTML_INTEGRATION_POINTS):P({},io);const p=Ce(c,"CUSTOM_ELEMENT_HANDLING")&&c.CUSTOM_ELEMENT_HANDLING&&typeof c.CUSTOM_ELEMENT_HANDLING=="object"?Ie(c.CUSTOM_ELEMENT_HANDLING):Et(null);if(ie=Et(null),Ce(p,"tagNameCheck")&&so(p.tagNameCheck)&&(ie.tagNameCheck=p.tagNameCheck),Ce(p,"attributeNameCheck")&&so(p.attributeNameCheck)&&(ie.attributeNameCheck=p.attributeNameCheck),Ce(p,"allowCustomizedBuiltInElements")&&typeof p.allowCustomizedBuiltInElements=="boolean"&&(ie.allowCustomizedBuiltInElements=p.allowCustomizedBuiltInElements),Ee(ie),H&&(x=!1),ft&&(de=!0),pt&&(ee=P({},$o),Z=Et(null),pt.html===!0&&(P(ee,Xo),P(Z,qo)),pt.svg===!0&&(P(ee,Mn),P(Z,Gn),P(Z,on)),pt.svgFilters===!0&&(P(ee,Qn),P(Z,Gn),P(Z,on)),pt.mathMl===!0&&(P(ee,Kn),P(Z,er),P(Z,on))),N.tagCheck=null,N.attributeCheck=null,Ce(c,"ADD_TAGS")&&(typeof c.ADD_TAGS=="function"?N.tagCheck=c.ADD_TAGS:je(c.ADD_TAGS)&&(ee===Le&&(ee=Ie(ee)),P(ee,c.ADD_TAGS,Ae))),Ce(c,"ADD_ATTR")&&(typeof c.ADD_ATTR=="function"?N.attributeCheck=c.ADD_ATTR:je(c.ADD_ATTR)&&(Z===ot&&(Z=Ie(Z)),P(Z,c.ADD_ATTR,Ae))),Ce(c,"ADD_URI_SAFE_ATTR")&&je(c.ADD_URI_SAFE_ATTR)&&P(hn,c.ADD_URI_SAFE_ATTR,Ae),Ce(c,"FORBID_CONTENTS")&&je(c.FORBID_CONTENTS)&&(Qe===dn&&(Qe=Ie(Qe)),P(Qe,c.FORBID_CONTENTS,Ae)),Ce(c,"ADD_FORBID_CONTENTS")&&je(c.ADD_FORBID_CONTENTS)&&(Qe===dn&&(Qe=Ie(Qe)),P(Qe,c.ADD_FORBID_CONTENTS,Ae)),un&&(ee["#text"]=!0),X&&P(ee,["html","head","body"]),ee.table&&(P(ee,["tbody"]),delete Re.tbody),c.TRUSTED_TYPES_POLICY){if(typeof c.TRUSTED_TYPES_POLICY.createHTML!="function")throw st('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof c.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw st('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const b=K;K=c.TRUSTED_TYPES_POLICY;try{S=q("")}catch(Q){throw K=b,Q}}else c.TRUSTED_TYPES_POLICY===null?(K=void 0,S=""):(K===void 0&&(K=j()),K&&typeof S=="string"&&(S=q("")));ke&&ke(c),gt=c},lo=P({},[...Mn,...Qn,...Qa]),Ao=P({},[...Kn,...Ka]),ki=function(c,p,b){return p.namespaceURI===Ke?c==="svg":p.namespaceURI===Pt?c==="svg"&&(b==="annotation-xml"||mn[b]):!!lo[c]},Ei=function(c,p,b){return p.namespaceURI===Ke?c==="math":p.namespaceURI===zt?c==="math"&&gn[b]:!!Ao[c]},yi=function(c,p,b){return p.namespaceURI===zt&&!gn[b]||p.namespaceURI===Pt&&!mn[b]?!1:!Ao[c]&&(mi[c]||!lo[c])},Ii=function(c){let p=E(c);(!p||!p.tagName)&&(p={namespaceURI:mt,tagName:"template"});const b=Tt(c.tagName),Q=Tt(p.tagName);return pn[c.namespaceURI]?c.namespaceURI===zt?ki(b,p,Q):c.namespaceURI===Pt?Ei(b,p,Q):c.namespaceURI===Ke?yi(b,p,Q):!!(wt==="application/xhtml+xml"&&pn[c.namespaceURI]):!1},Je=function(c){kt(t.removed,{element:c});try{E(c).removeChild(c)}catch{if(d(c),!E(c))throw st("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},jt=function(c){Ft(c);const p=g(c);if(p){const Q=[];_t(p,G=>{kt(Q,G)}),_t(Q,G=>{try{d(G)}catch{}})}const b=F(c);if(b)for(let Q=b.length-1;Q>=0;--Q){const G=b[Q],V=G&&G.name;if(typeof V=="string")try{c.removeAttribute(V)}catch{}}},rt=function(c,p){try{kt(t.removed,{attribute:p.getAttributeNode(c),from:p})}catch{kt(t.removed,{attribute:null,from:p})}if(p.removeAttribute(c),c==="is")if(de||ft)try{Je(p)}catch{}else try{p.setAttribute(c,"")}catch{}},bi=function(c){const p=F(c);if(p)for(let b=p.length-1;b>=0;--b){const Q=p[b],G=Q&&Q.name;if(!(typeof G!="string"||Z[Ae(G)]))try{c.removeAttribute(G)}catch{}}},Ft=function(c){const p=[c];for(;p.length>0;){const b=p.pop();(k?k(b):b.nodeType)===xe.element&&bi(b);const G=g(b);if(G)for(let V=G.length-1;V>=0;--V)p.push(G[V])}},Di=function(c){if(!z)return;const p=[c];for(;p.length>0;){const b=p.pop(),Q=k?k(b):b.nodeType;if(Q===xe.processingInstruction||Q===xe.comment&&me(or,b.data)){try{d(b)}catch{}continue}if(Q===xe.element){const V=b,re=Ae(B?B(b):b.nodeName);try{V.hasAttribute&&V.hasAttribute("patchsrc")&&V.removeAttribute("patchsrc"),V.hasAttribute&&V.hasAttribute("for")&&re!=="label"&&re!=="output"&&V.removeAttribute("for")}catch{}}const G=g(b);if(G)for(let V=G.length-1;V>=0;--V)p.push(G[V])}},ao=function(c){let p=null,b=null;if(_e)c="<remove></remove>"+c;else{const V=Zo(c,/^[\r\n\t ]+/);b=V&&V[0]}wt==="application/xhtml+xml"&&mt===Ke&&(c='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+c+"</body></html>");const Q=K?q(c):c;if(mt===Ke)try{p=new h().parseFromString(Q,wt)}catch{}if(!p||!p.documentElement){p=fe.createDocument(mt,"template",null);try{p.documentElement.innerHTML=fn?S:Q}catch{}}const G=p.body||p.documentElement;return c&&b&&G.insertBefore(n.createTextNode(b),G.childNodes[0]||null),mt===Ke?et.call(p,X?"html":"body")[0]:X?p.documentElement:G},co=function(c){const p=M?M(c):c.ownerDocument;return Be.call(p||c,c,a.SHOW_ELEMENT|a.SHOW_COMMENT|a.SHOW_TEXT|a.SHOW_PROCESSING_INSTRUCTION|a.SHOW_CDATA_SECTION,null)},Xt=function(c){return c=xt(c,ue," "),c=xt(c,ve," "),c=xt(c,Ne," "),c},_n=function(c){var p;c.normalize();const b=M?M(c):c.ownerDocument,Q=Be.call(b||c,c,a.SHOW_TEXT|a.SHOW_COMMENT|a.SHOW_CDATA_SECTION|a.SHOW_PROCESSING_INSTRUCTION,null);let G=Q.nextNode();for(;G;)G.data=Xt(G.data),G=Q.nextNode();const V=(p=c.querySelectorAll)===null||p===void 0?void 0:p.call(c,"template");V&&_t(V,re=>{Ct(re.content)&&_n(re.content)})},$t=function(c){const p=B?B(c):null;return typeof p!="string"||Ae(p)!=="form"?!1:typeof c.nodeName!="string"||typeof c.textContent!="string"||typeof c.removeChild!="function"||c.attributes!==F(c)||typeof c.removeAttribute!="function"||typeof c.setAttribute!="function"||typeof c.namespaceURI!="string"||typeof c.insertBefore!="function"||typeof c.hasChildNodes!="function"||c.nodeType!==k(c)||c.childNodes!==g(c)},Ct=function(c){if(!k||typeof c!="object"||c===null)return!1;try{return k(c)===xe.documentFragment}catch{return!1}},vt=function(c){if(!k||typeof c!="object"||c===null)return!1;try{return typeof k(c)=="number"}catch{return!1}};function Ge(v,c,p){v.length!==0&&_t(v,b=>{b.call(t,c,p,gt)})}const Bi=function(c,p){return!!(z&&c.hasChildNodes()&&!vt(c.firstElementChild)&&me(nr,c.textContent)&&me(nr,c.innerHTML)||z&&c.namespaceURI===Ke&&p==="style"&&vt(c.firstElementChild)||c.nodeType===xe.processingInstruction||z&&c.nodeType===xe.comment&&me(or,c.data))},wi=function(c,p,b){if(!Re[p]&&po(p)&&(ie.tagNameCheck instanceof RegExp&&me(ie.tagNameCheck,p)||ie.tagNameCheck instanceof Function&&ie.tagNameCheck(p)))return!1;if(un&&!Qe[p]){const Q=E(c),G=g(c);if(G&&Q){const V=G.length;for(let re=V-1;re>=0;--re){const ae=c===b?_(G[re],!0):G[re];Q.insertBefore(ae,C(c))}}}return Je(c),!0},uo=function(c,p,b,Q){return c.length===0?p:p===b||p===Q?Ie(p):p},ho=function(c,p){if(Ge($.beforeSanitizeElements,c,null),c!==p&&E(c)===null)return Zt&&Ft(c),!0;if($t(c))return Je(c),!0;const b=Ae(B?B(c):c.nodeName);if(ee=uo($.uponSanitizeElement,ee,Le,le),Ge($.uponSanitizeElement,c,{tagName:b,allowedTags:ee}),c!==p&&E(c)===null)return Zt&&Ft(c),!0;if(Bi(c,b))return Je(c),!0;if(Re[b]||!(N.tagCheck instanceof Function&&N.tagCheck(b))&&!ee[b]){const G=wi(c,b,p);return G===!1&&Ge($.afterSanitizeElements,c,null),G}if((k?k(c):c.nodeType)===xe.element&&!Ii(c)||(b==="noscript"||b==="noembed"||b==="noframes")&&me(Za,c.innerHTML))return Je(c),!0;if(H&&c.nodeType===xe.text){const G=Xt(c.textContent);c.textContent!==G&&(kt(t.removed,{element:c.cloneNode()}),c.textContent=G)}return Ge($.afterSanitizeElements,c,null),!1},fo=function(c,p,b){if(Y[p]||z&&p==="patchsrc"||z&&p==="for"&&c!=="label"&&c!=="output"||pe&&(p==="id"||p==="name")&&(b in n||b in _i))return!1;const Q=Z[p]||N.attributeCheck instanceof Function&&N.attributeCheck(p,c);if(!(x&&me(tt,p))){if(!(y&&me(ut,p))){if(Q){if(!hn[p]){if(!me(nt,xt(b,dt,""))){if(!((p==="src"||p==="xlink:href"||p==="href")&&c!=="script"&&Po(b,"data:")===0&&to[c])){if(!(R&&!me(Ve,xt(b,dt,"")))){if(b)return!1}}}}}else if(!(po(c)&&(ie.tagNameCheck instanceof RegExp&&me(ie.tagNameCheck,c)||ie.tagNameCheck instanceof Function&&ie.tagNameCheck(c))&&(ie.attributeNameCheck instanceof RegExp&&me(ie.attributeNameCheck,p)||ie.attributeNameCheck instanceof Function&&ie.attributeNameCheck(p,c))||p==="is"&&ie.allowCustomizedBuiltInElements&&(ie.tagNameCheck instanceof RegExp&&me(ie.tagNameCheck,b)||ie.tagNameCheck instanceof Function&&ie.tagNameCheck(b))))return!1}}return!0},Fi=P({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),po=function(c){return!Fi[Tt(c)]&&me(ht,c)},vi=function(c,p,b,Q){if(K&&typeof f=="object"&&typeof f.getAttributeType=="function"&&!b)switch(f.getAttributeType(c,p)){case"TrustedHTML":return q(Q);case"TrustedScriptURL":return U(Q)}return Q},xi=function(c,p,b,Q){try{b?c.setAttributeNS(b,p,Q):c.setAttribute(p,Q),$t(c)?Je(c):Jo(t.removed)}catch{rt(p,c)}},mo=function(c){Ge($.beforeSanitizeAttributes,c,null);const p=c.attributes;if(!p||$t(c))return;Z=uo($.uponSanitizeAttribute,Z,ot,oe);const b={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Z,forceKeepAttr:void 0};let Q=p.length;const G=Ae(c.nodeName);for(;Q--;){const V=p[Q],re=V.name,ae=V.namespaceURI,we=V.value,Fe=Ae(re),En=we;let be=re==="value"?En:va(En);if(b.attrName=Fe,b.attrValue=be,b.keepAttr=!0,b.forceKeepAttr=void 0,Ge($.uponSanitizeAttribute,c,b),be=b.attrValue,cn&&(Fe==="id"||Fe==="name")&&Po(be,eo)!==0&&(rt(re,c),be=eo+be),z&&me(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,be)){rt(re,c);continue}if(Fe==="attributename"&&Zo(be,"href")){rt(re,c);continue}if(!b.forceKeepAttr){if(!b.keepAttr){rt(re,c);continue}if(!w&&me(Pa,be)){rt(re,c);continue}if(H&&(be=Xt(be)),!fo(G,Fe,be)){rt(re,c);continue}be=vi(G,Fe,ae,be),be!==En&&xi(c,re,ae,be)}}Ge($.afterSanitizeAttributes,c,null)},qt=function(c){let p=null;const b=co(c);for(Ge($.beforeSanitizeShadowDOM,c,null);p=b.nextNode();)if(Ge($.uponSanitizeShadowNode,p,null),ho(p,c),mo(p),Ct(p.content)&&qt(p.content),(k?k(p):p.nodeType)===xe.element){const G=D(p);Ct(G)&&(kn(G),qt(G))}Ge($.afterSanitizeShadowDOM,c,null)},kn=function(c){const p=[{node:c,shadow:null}];for(;p.length>0;){const b=p.pop();if(b.shadow){qt(b.shadow);continue}const Q=b.node,V=(k?k(Q):Q.nodeType)===xe.element,re=g(Q);if(re)for(let ae=re.length-1;ae>=0;--ae)p.push({node:re[ae],shadow:null});if(V){const ae=B?B(Q):null;if(typeof ae=="string"&&Ae(ae)==="template"){const we=Q.content;Ct(we)&&p.push({node:we,shadow:null})}}if(V){const ae=D(Q);Ct(ae)&&p.push({node:null,shadow:ae},{node:ae,shadow:null})}}};return t.sanitize=function(v){let c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},p=null,b=null,Q=null,G=null;if(fn=!v,fn&&(v="<!-->"),typeof v!="string"&&!vt(v)&&(v=Ta(v),typeof v!="string"))throw st("dirty is not a string, aborting");if(!t.isSupported)return v;ne?(ee=le,Z=oe):Cn(c),($.uponSanitizeElement.length>0||$.uponSanitizeAttribute.length>0)&&(ee=Ie(ee)),$.uponSanitizeAttribute.length>0&&(Z=Ie(Z)),t.removed=[];const V=Zt&&typeof v!="string"&&vt(v);if(V){Di(v);const we=B?B(v):v.nodeName;if(typeof we=="string"){const Fe=Ae(we);if(!ee[Fe]||Re[Fe])throw jt(v),st("root node is forbidden and cannot be sanitized in-place")}if($t(v))throw jt(v),st("root node is clobbered and cannot be sanitized in-place");try{kn(v)}catch(Fe){throw jt(v),Fe}}else if(vt(v))p=ao("<!---->"),b=p.ownerDocument.importNode(v,!0),b.nodeType===xe.element&&b.nodeName==="BODY"||b.nodeName==="HTML"?p=b:p.appendChild(b),kn(b);else{if(!de&&!H&&!X&&v.indexOf("<")===-1)return K&&Me?q(v):v;if(p=ao(v),!p)return de?null:Me?S:""}p&&_e&&Je(p.firstChild);const re=V?v:p;try{const we=co(re);for(;Q=we.nextNode();)ho(Q,re),mo(Q),Ct(Q.content)&&qt(Q.content)}catch(we){throw V&&(jt(v),_t(t.removed,Fe=>{Fe.element&&Ft(Fe.element)})),we}if(V)return _t(t.removed,we=>{we.element&&Ft(we.element)}),H&&_n(v),v;if(de){if(H&&_n(p),ft)for(G=ye.call(p.ownerDocument);p.firstChild;)G.appendChild(p.firstChild);else G=p;return(Z.shadowroot||Z.shadowrootmode)&&(G=ct.call(i,G,!0)),G}let ae=X?p.outerHTML:p.innerHTML;return X&&ee["!doctype"]&&p.ownerDocument&&p.ownerDocument.doctype&&p.ownerDocument.doctype.name&&me(La,p.ownerDocument.doctype.name)&&(ae="<!DOCTYPE "+p.ownerDocument.doctype.name+`>
|
|
55
|
+
`+ae),H&&(ae=Xt(ae)),K&&Me?q(ae):ae},t.setConfig=function(){let v=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Cn(v),ne=!0,le=ee,oe=Z},t.clearConfig=function(){gt=null,ne=!1,le=null,oe=null,K=I,S=""},t.isValidAttribute=function(v,c,p){gt||Cn({});const b=Ae(v),Q=Ae(c);return fo(b,Q,p)},t.addHook=function(v,c){typeof c=="function"&&Ce($,v)&&kt($[v],c)},t.removeHook=function(v,c){if(Ce($,v)){if(c!==void 0){const p=wa($[v],c);return p===-1?void 0:Fa($[v],p,1)[0]}return Jo($[v])}},t.removeHooks=function(v){Ce($,v)&&($[v]=[])},t.removeAllHooks=function(){$=rr()},t}var Xa=ai();const sn=new Ca({html:!1,linkify:!0,breaks:!0}),$a=sn.renderer.rules.fence;sn.renderer.rules.fence=(e,t,n,i,o)=>{var u;const l=((u=e[t].info)==null?void 0:u.trim().split(/\s+/)[0])||"",A=sn.utils.escapeHtml(l)||"code",a=$a(e,t,n,i,o);return`<div class="md-code-block"><div class="md-code-block__head"><span class="md-code-block__lang">${A}</span><span class="md-code-block__copy" data-md-copy>复制</span></div>`+a+"</div>"};function qa(e){if(!e)return"";const t=sn.render(e);return Xa.sanitize(t)}function ci(e){return/\.tiff?$/i.test(e)}function ec(e){var t;try{const n=e.slice(0,e.indexOf(",")),i=e.slice(e.indexOf(",")+1),o=((t=n.match(/^data:([^;]+)/))==null?void 0:t[1])||"",s=atob(i),l=new Uint8Array(s.length);for(let A=0;A<s.length;A++)l[A]=s.charCodeAt(A);return new Blob([l],{type:o})}catch{return null}}function ui(e){var t;return e.blob instanceof Blob?e.blob:(t=e.data)!=null&&t.startsWith("data:")?ec(e.data):null}const tc={class:"message-avatar"},nc={class:"message-body"},oc={class:"message-time"},rc={key:0,class:"message-files"},ic=["src","alt","onClick"],sc={class:"file-info"},lc={class:"file-name"},Ac={class:"file-size"},ac={key:1,class:"message-user-text"},cc={class:"message-actions"},uc={key:0,class:"message-reasoning"},dc={key:0,class:"reasoning-content"},hc=["innerHTML"],fc={key:3,class:"typing-dots"},pc={key:4,class:"message-error"},mc=r.defineComponent({__name:"ChatMessage",props:{message:{},toolPackages:{},mdTableClick:{type:Boolean},mdListClick:{type:Boolean}},emits:["execute"],setup(e,{emit:t}){const n=e,i=t,o=r.computed(()=>qa(n.message.content)),s=r.computed(()=>!!n.message.hideMarkdown),l=r.ref(!1),A=r.ref([]),a=r.ref(0),u=[];function h(S){var W;if((W=S.data)!=null&&W.startsWith("data:"))return S.data;const I=ui(S);if(I){const O=URL.createObjectURL(I);return u.push(O),O}return""}function f(S){var O;const I=(O=n.message.files)==null?void 0:O.filter(te=>te.type.startsWith("image/")).map(h).filter(Boolean);if(!(I!=null&&I.length))return;const W=h(S);a.value=Math.max(0,I.indexOf(W)),A.value=I}function m(){u.forEach(S=>URL.revokeObjectURL(S)),u.length=0,A.value=[]}function _(S){if(!S)return"";const I=new Date(S),W=String(I.getHours()).padStart(2,"0"),O=String(I.getMinutes()).padStart(2,"0");return`${W}:${O}`}function d(S){var W;if(S.type!=="component"||!S.componentName)return null;let I=S.packageId?n.toolPackages.find(O=>O.id===S.packageId):null;return I||(I=n.toolPackages.find(O=>O.components&&S.componentName in O.components)),I||(I=n.toolPackages[n.toolPackages.length-1]),I&&((W=I.components)==null?void 0:W[S.componentName])||null}function C(S){i("execute",S)}function g(){const S=window.getSelection();return!!S&&S.toString().length>0}async function E(S){try{await navigator.clipboard.writeText(S),Xe.ElMessage.success("已复制")}catch{Xe.ElMessage.error("复制失败,请手动复制")}}async function D(){await E(n.message.content)}async function F(S){var O;const I=S.closest("[data-md-copy]");if(!I)return;const W=(O=I.closest(".md-code-block"))==null?void 0:O.querySelector("pre code");W!=null&&W.textContent&&await E(W.textContent)}function k(S){const I=[];let W=S.nextElementSibling;for(;W&&!/^H[1-6]$/.test(W.tagName);)I.push(W),W=W.nextElementSibling;const O=S.hasAttribute("data-collapsed");S.toggleAttribute("data-collapsed",!O),I.forEach(te=>{te.style.display=O?"":"none"})}async function B(S){var O;const I=S.querySelector("td, th"),W=(O=I==null?void 0:I.textContent)==null?void 0:O.trim();W&&i("execute",`我选择 ${W}`)}function M(S){var W;const I=(W=S.textContent)==null?void 0:W.trim();I&&i("execute",I)}function K(S){if(g())return;const I=S.target;if(I.closest("a"))return;if(I.closest("[data-md-copy]")){F(I);return}const W=I.closest("h1,h2,h3,h4,h5,h6");if(W){k(W);return}if(n.mdTableClick){const O=I.closest("table tr");if(O&&!O.closest("thead")){const te=O.parentElement;te&&/^TBODY$/i.test(te.tagName)&&B(O);return}}if(n.mdListClick){const O=I.closest("li");O&&M(O)}}return(S,I)=>{var q;const W=r.resolveComponent("el-icon"),O=r.resolveComponent("el-tooltip"),te=r.resolveComponent("el-image-viewer");return r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(["chat-message",[`role-${e.message.role}`,{"is-streaming":e.message.status==="streaming"}]])},[r.createElementVNode("div",tc,[e.message.role==="user"?(r.openBlock(),r.createBlock(W,{key:0},{default:r.withCtx(()=>[r.createVNode(r.unref(Ss))]),_:1})):(r.openBlock(),r.createBlock(W,{key:1},{default:r.withCtx(()=>[r.createVNode(r.unref(ls))]),_:1}))]),r.createElementVNode("div",nc,[r.createElementVNode("span",oc,r.toDisplayString(_(e.message.timestamp)),1),(q=e.message.files)!=null&&q.length?(r.openBlock(),r.createElementBlock("div",rc,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(e.message.files,(U,j)=>{var J,fe;return r.openBlock(),r.createElementBlock("div",{key:j,class:r.normalizeClass(["message-file",{"is-image":U.type.startsWith("image/")&&((J=U.data)==null?void 0:J.startsWith("data:"))}])},[U.type.startsWith("image/")&&((fe=U.data)!=null&&fe.startsWith("data:"))?(r.openBlock(),r.createElementBlock("img",{key:0,src:U.data,alt:U.name,class:"file-image",onClick:Be=>f(U)},null,8,ic)):(r.openBlock(),r.createBlock(W,{key:1},{default:r.withCtx(()=>[r.createVNode(r.unref(Fr))]),_:1})),r.createElementVNode("div",sc,[r.createElementVNode("span",lc,r.toDisplayString(U.name),1),r.createElementVNode("span",Ac,r.toDisplayString((U.size/1024).toFixed(1))+" KB",1)])],2)}),128))])):r.createCommentVNode("",!0),e.message.role==="user"?(r.openBlock(),r.createElementBlock("div",ac,r.toDisplayString(e.message.content),1)):r.createCommentVNode("",!0),e.message.role==="assistant"?(r.openBlock(),r.createElementBlock(r.Fragment,{key:2},[r.createElementVNode("div",cc,[r.createVNode(O,{content:"复制完整回复","show-after":300,placement:"top"},{default:r.withCtx(()=>[r.createElementVNode("button",{class:"message-action-btn",type:"button",onClick:D},[r.createVNode(W,null,{default:r.withCtx(()=>[r.createVNode(r.unref(us))]),_:1})])]),_:1})]),e.message.reasoning?(r.openBlock(),r.createElementBlock("div",uc,[r.createElementVNode("button",{class:"reasoning-toggle",onClick:I[0]||(I[0]=U=>l.value=!l.value)},[r.createVNode(W,{style:{"margin-right":"4px"}},{default:r.withCtx(()=>[r.createVNode(r.unref(hs))]),_:1}),I[1]||(I[1]=r.createTextVNode(" 推理过程 ",-1)),r.createElementVNode("span",{class:r.normalizeClass(["reasoning-toggle__arrow",{open:l.value}])},"▾",2)]),l.value?(r.openBlock(),r.createElementBlock("pre",dc,r.toDisplayString(e.message.reasoning),1)):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),s.value?r.createCommentVNode("",!0):(r.openBlock(),r.createElementBlock("div",{key:1,class:r.normalizeClass(["message-content markdown-body",{"is-table-clickable":e.mdTableClick,"is-list-clickable":e.mdListClick}]),innerHTML:o.value,onClick:K},null,10,hc)),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(e.message.renderBlocks,(U,j)=>(r.openBlock(),r.createBlock(vr,{key:j,block:U,"resolved-component":d(U),onSelect:C},null,8,["block","resolved-component"]))),128)),e.message.suggestedNext?(r.openBlock(),r.createBlock(xr,{key:2,text:e.message.suggestedNext,onExecute:C},null,8,["text"])):r.createCommentVNode("",!0)],64)):r.createCommentVNode("",!0),e.message.status==="streaming"?(r.openBlock(),r.createElementBlock("div",fc,[...I[2]||(I[2]=[r.createElementVNode("i",null,null,-1),r.createElementVNode("i",null,null,-1),r.createElementVNode("i",null,null,-1)])])):r.createCommentVNode("",!0),e.message.status==="error"?(r.openBlock(),r.createElementBlock("div",pc,r.toDisplayString(e.message.error),1)):r.createCommentVNode("",!0)]),A.value.length?(r.openBlock(),r.createBlock(te,{key:0,"initial-index":a.value,"url-list":A.value,onClose:m},null,8,["initial-index","url-list"])):r.createCommentVNode("",!0)],2)}}}),di=Bt(mc,[["__scopeId","data-v-7317da3a"]]),gc={class:"chat-input"},Cc={key:0,class:"chat-input__files"},_c={class:"chat-input__wrap"},kc={class:"chat-input__actions"},Ec=r.defineComponent({__name:"ChatInput",props:{loading:{type:Boolean},disabled:{type:Boolean},placeholder:{}},emits:["send"],setup(e,{emit:t}){const n=e,i=t,o=r.ref(""),s=r.ref([]),l=r.ref(null),A=r.computed(()=>(o.value.trim().length>0||s.value.length>0)&&!n.disabled);function a(){var E;(E=l.value)==null||E.click()}const u=new Set(["text/plain","text/html","text/css","text/javascript","text/typescript","text/markdown","text/csv","text/xml","application/json","application/xml","application/javascript","application/typescript","application/yaml","application/x-yaml"]);function h(E){var D;if(E.type.startsWith("text/")||u.has(E.type))return!0;if(E.type===""||E.type.startsWith("application/")){const F=(D=E.name.split(".").pop())==null?void 0:D.toLowerCase();return new Set(["txt","md","json","geojson","xml","yml","yaml","csv","ts","js","tsx","jsx","vue","html","css","scss","less","sh","bat","ps1","py","java","c","cpp","h","hpp","go","rs","rb","php","sql","toml","ini","cfg","conf","log","env","gitignore","dockerfile","wkt","wkb","kml","gpx","geojson","topojson","xlsx","docx"]).has(F??"")}return!1}function f(E){return new Promise(D=>{const F={id:"",name:E.name,size:E.size,type:E.type,blob:E};if(ci(E.name)){D({...F,data:""});return}const k=new FileReader;k.onload=()=>{D({...F,data:k.result})},h(E)?k.readAsText(E):k.readAsDataURL(E)})}async function m(E){var F;const D=E.target;if((F=D.files)!=null&&F.length){for(const k of Array.from(D.files)){const B=await f(k);s.value.push(B)}D.value=""}}function _(E){s.value.splice(E,1)}function d(E){E.shiftKey||(E.preventDefault(),C())}function C(){if(!A.value||n.loading)return;const E=o.value.trim();i("send",E,s.value),o.value="",s.value=[]}function g(){!s.value.length||n.disabled||n.loading||(i("send","预览",s.value),s.value=[])}return(E,D)=>{const F=r.resolveComponent("el-icon"),k=r.resolveComponent("el-tag"),B=r.resolveComponent("el-button"),M=r.resolveComponent("el-input"),K=r.resolveComponent("el-tooltip");return r.openBlock(),r.createElementBlock("div",gc,[s.value.length?(r.openBlock(),r.createElementBlock("div",Cc,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(s.value,(S,I)=>(r.openBlock(),r.createBlock(k,{key:I,closable:"",size:"small",type:S.type.startsWith("image/")?"success":"info",onClose:W=>_(I)},{default:r.withCtx(()=>[S.type.startsWith("image/")?(r.openBlock(),r.createBlock(F,{key:0,style:{"margin-right":"4px"}},{default:r.withCtx(()=>[r.createVNode(r.unref(ys))]),_:1})):(r.openBlock(),r.createBlock(F,{key:1,style:{"margin-right":"4px"}},{default:r.withCtx(()=>[r.createVNode(r.unref(Fr))]),_:1})),r.createTextVNode(" "+r.toDisplayString(S.name),1)]),_:2},1032,["type","onClose"]))),128)),r.createVNode(B,{class:"chat-input__preview",size:"small",plain:"",disabled:e.disabled||e.loading,onClick:g},{default:r.withCtx(()=>[r.createVNode(F,{style:{"margin-right":"2px"}},{default:r.withCtx(()=>[r.createVNode(r.unref(Ms))]),_:1}),D[1]||(D[1]=r.createTextVNode("预览 ",-1))]),_:1},8,["disabled"])])):r.createCommentVNode("",!0),r.createElementVNode("div",_c,[r.createVNode(M,{modelValue:o.value,"onUpdate:modelValue":D[0]||(D[0]=S=>o.value=S),type:"textarea",autosize:{minRows:1,maxRows:6},resize:"none",placeholder:e.placeholder,onKeydown:r.withKeys(d,["enter"])},null,8,["modelValue","placeholder"]),r.createElementVNode("div",kc,[r.createVNode(K,{content:"上传文件",placement:"top"},{default:r.withCtx(()=>[r.createVNode(B,{text:"",circle:"",onClick:a},{default:r.withCtx(()=>[r.createVNode(F,null,{default:r.withCtx(()=>[r.createVNode(r.unref(ks))]),_:1})]),_:1})]),_:1}),r.createElementVNode("input",{ref_key:"fileInputRef",ref:l,type:"file",multiple:"",hidden:"",onChange:m},null,544),r.createVNode(K,{content:"Enter 发送,Shift+Enter 换行",placement:"top"},{default:r.withCtx(()=>[r.createVNode(B,{class:"chat-input__send",type:"primary",icon:r.unref(Bs),loading:e.loading,disabled:!A.value,circle:"",onClick:C},null,8,["icon","loading","disabled"])]),_:1})])])])}}}),hi=Bt(Ec,[["__scopeId","data-v-e7db63f0"]]),yc={class:"form-tip"},Ic={class:"temp-row"},bc={class:"temp-val"},Dc=r.defineComponent({__name:"ChatSettings",props:{modelValue:{type:Boolean},settings:{},deviceId:{}},emits:["update:modelValue","save"],setup(e,{emit:t}){const n=e,i=t,o=Jn(),s=r.ref(n.modelValue);r.watch(()=>n.modelValue,f=>{s.value=f,f&&(l.value=at(n.settings))}),r.watch(s,f=>i("update:modelValue",f));const l=r.ref(at(n.settings)),A=r.computed(()=>Ye(l.value.providerId)??o[0]),a=r.computed(()=>{const f=l.value.providers[l.value.providerId];if(f)return f;const m=lt(A.value);return l.value.providers[l.value.providerId]=m,m});function u(f){if(!(!f||f===l.value.providerId)){if(!l.value.providers[f]){const m=Ye(f);m&&(l.value.providers[f]=lt(m))}l.value.providerId=f}}function h(){if(l.value.providerMode==="direct"){if(!a.value.apiKey){Xe.ElMessage.warning("请填写 API Key");return}if(!a.value.baseUrl){Xe.ElMessage.warning("请填写接口地址");return}}i("save",JSON.parse(JSON.stringify(l.value))),s.value=!1}return(f,m)=>{const _=r.resolveComponent("el-radio"),d=r.resolveComponent("el-radio-group"),C=r.resolveComponent("el-form-item"),g=r.resolveComponent("el-option"),E=r.resolveComponent("el-select"),D=r.resolveComponent("el-input"),F=r.resolveComponent("el-link"),k=r.resolveComponent("el-slider"),B=r.resolveComponent("el-switch"),M=r.resolveComponent("el-form"),K=r.resolveComponent("el-button"),S=r.resolveComponent("el-dialog");return r.openBlock(),r.createBlock(S,{modelValue:s.value,"onUpdate:modelValue":m[11]||(m[11]=I=>s.value=I),title:"AI 助手设置",width:"520px","append-to-body":""},{footer:r.withCtx(()=>[r.createVNode(K,{onClick:m[10]||(m[10]=I=>s.value=!1)},{default:r.withCtx(()=>[...m[21]||(m[21]=[r.createTextVNode("取消",-1)])]),_:1}),r.createVNode(K,{type:"primary",onClick:h},{default:r.withCtx(()=>[...m[22]||(m[22]=[r.createTextVNode("保存",-1)])]),_:1})]),default:r.withCtx(()=>[r.createVNode(M,{model:l.value,"label-width":"110px","label-position":"right"},{default:r.withCtx(()=>[r.createVNode(C,{label:"调用模式"},{default:r.withCtx(()=>[r.createVNode(d,{modelValue:l.value.providerMode,"onUpdate:modelValue":m[0]||(m[0]=I=>l.value.providerMode=I)},{default:r.withCtx(()=>[r.createVNode(_,{value:"direct"},{default:r.withCtx(()=>[...m[12]||(m[12]=[r.createTextVNode("前端直连",-1)])]),_:1}),r.createVNode(_,{value:"proxy"},{default:r.withCtx(()=>[...m[13]||(m[13]=[r.createTextVNode("后端代理",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),r.createVNode(C,{label:"模型提供方"},{default:r.withCtx(()=>[r.createVNode(E,{"model-value":l.value.providerId,style:{width:"100%"},"onUpdate:modelValue":u},{default:r.withCtx(()=>[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(r.unref(o),I=>(r.openBlock(),r.createBlock(g,{key:I.id,label:I.name,value:I.id},null,8,["label","value"]))),128))]),_:1},8,["model-value"])]),_:1}),l.value.providerMode==="direct"?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createVNode(C,{label:"API Key"},{default:r.withCtx(()=>[r.createVNode(D,{modelValue:a.value.apiKey,"onUpdate:modelValue":m[1]||(m[1]=I=>a.value.apiKey=I),type:"password",placeholder:"xxxxxxxxxxxxxxxx",clearable:""},null,8,["modelValue"]),r.createElementVNode("div",yc,[A.value.apiKeyUrl?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[m[14]||(m[14]=r.createTextVNode(" 在 ",-1)),r.createVNode(F,{type:"primary",href:A.value.apiKeyUrl,target:"_blank"},{default:r.withCtx(()=>[r.createTextVNode(r.toDisplayString(A.value.name)+" 开放平台 ",1)]),_:1},8,["href"]),m[15]||(m[15]=r.createTextVNode(" 获取。 ",-1))],64)):r.createCommentVNode("",!0)])]),_:1}),r.createVNode(C,{label:"接口地址"},{default:r.withCtx(()=>[r.createVNode(D,{modelValue:a.value.baseUrl,"onUpdate:modelValue":m[2]||(m[2]=I=>a.value.baseUrl=I),placeholder:A.value.defaultBaseUrl||"https://example.com/v1",clearable:""},null,8,["modelValue","placeholder"])]),_:1})],64)):(r.openBlock(),r.createBlock(C,{key:1,label:"代理地址"},{default:r.withCtx(()=>[r.createVNode(D,{modelValue:l.value.proxyUrl,"onUpdate:modelValue":m[3]||(m[3]=I=>l.value.proxyUrl=I),placeholder:"http://localhost:3001/api/chat",clearable:"",disabled:""},null,8,["modelValue"]),m[16]||(m[16]=r.createElementVNode("div",{class:"form-tip"}," API Key 与上游地址由服务端按当前模型提供方配置。 ",-1))]),_:1})),A.value.models.length>0?(r.openBlock(),r.createBlock(C,{key:2,label:"模型"},{default:r.withCtx(()=>[r.createVNode(E,{modelValue:a.value.model,"onUpdate:modelValue":m[4]||(m[4]=I=>a.value.model=I),style:{width:"100%"},filterable:"","default-first-option":"","allow-create":A.value.allowCustomModel!==!1,placeholder:A.value.models.length?"请选择或输入模型名":"请输入模型名"},{default:r.withCtx(()=>[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(A.value.models,I=>(r.openBlock(),r.createBlock(g,{key:I.value,label:I.label,value:I.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","allow-create","placeholder"])]),_:1})):r.createCommentVNode("",!0),r.createVNode(C,{label:"温度"},{default:r.withCtx(()=>[r.createElementVNode("div",Ic,[r.createVNode(k,{modelValue:a.value.temperature,"onUpdate:modelValue":m[5]||(m[5]=I=>a.value.temperature=I),disabled:a.value.thinking||A.value.capabilities.temperature===!1,min:0,max:2,step:.1,style:{flex:"1"}},null,8,["modelValue","disabled"]),r.createElementVNode("span",bc,r.toDisplayString(Number(a.value.temperature).toFixed(1)),1)]),m[17]||(m[17]=r.createElementVNode("div",{class:"form-tip"},"思考模式开启时温度不生效",-1))]),_:1}),A.value.capabilities.thinking?(r.openBlock(),r.createElementBlock(r.Fragment,{key:3},[r.createVNode(C,{label:"思考模式"},{default:r.withCtx(()=>[r.createVNode(B,{modelValue:a.value.thinking,"onUpdate:modelValue":m[6]||(m[6]=I=>a.value.thinking=I)},null,8,["modelValue"]),m[18]||(m[18]=r.createElementVNode("span",{class:"form-tip-inline"},"开启后模型进行推理/思维链(reasoning),适合复杂任务",-1))]),_:1}),r.createVNode(C,{label:"思考强度"},{default:r.withCtx(()=>[r.createVNode(E,{modelValue:a.value.thinkingEffort,"onUpdate:modelValue":m[7]||(m[7]=I=>a.value.thinkingEffort=I),disabled:!a.value.thinking,style:{width:"100%"}},{default:r.withCtx(()=>[r.createVNode(g,{label:"低",value:"low"}),r.createVNode(g,{label:"高",value:"high"}),r.createVNode(g,{label:"最高",value:"max"})]),_:1},8,["modelValue","disabled"])]),_:1})],64)):r.createCommentVNode("",!0),r.createVNode(C,{label:"md表格点击"},{default:r.withCtx(()=>[r.createVNode(B,{modelValue:l.value.mdTableClick,"onUpdate:modelValue":m[8]||(m[8]=I=>l.value.mdTableClick=I)},null,8,["modelValue"]),m[19]||(m[19]=r.createElementVNode("span",{class:"form-tip-inline"},'开启后点击回复中的 md 表格行会向助手发送"我选择 X"',-1))]),_:1}),r.createVNode(C,{label:"md列表点击"},{default:r.withCtx(()=>[r.createVNode(B,{modelValue:l.value.mdListClick,"onUpdate:modelValue":m[9]||(m[9]=I=>l.value.mdListClick=I)},null,8,["modelValue"]),m[20]||(m[20]=r.createElementVNode("span",{class:"form-tip-inline"},"开启后点击回复中的列表项会把该项内容作为指令发送",-1))]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])}}}),fi=Bt(Dc,[["__scopeId","data-v-6282664f"]]),Bc={class:"chat-panel-root"},wc={class:"ai-fab__label"},Fc={class:"chat-panel__title"},vc={class:"chat-panel__ops"},xc={class:"chat-panel__scroll-wrap"},Sc={key:0,class:"chat-empty"},Nc={class:"chat-empty__logo"},Rc={key:0,class:"chat-empty__commands"},Tc={class:"chat-panel__nav-count"},Mc=["disabled"],Qc=["disabled"],Kc={key:0,class:"chat-panel__error"},Gc={class:"chat-panel__footer"},Wc={key:0,class:"chat-panel__stop"},Oc=r.defineComponent({__name:"ChatPanel",props:{chat:{},options:{},showFab:{type:Boolean,default:!0}},setup(e){const t=e,n={get_current_time:{label:"现在几点",text:"现在几点了?"},calculate_expression:{label:"帮我计算",text:"帮我计算 (1+2)*3"},generate_uuid:{label:"生成 UUID",text:"帮我生成一个 UUID"},get_client_info:{label:"客户端信息",text:"获取我的客户端信息"}};function i(Y){const N=Y??{toolPackages:[]};let y;return N.suggestedCommands!==void 0?y=N.suggestedCommands:N.builtInTools===!1?y=[]:Array.isArray(N.builtInTools)?y=N.builtInTools.map(x=>n[x]).filter(Boolean):y=Object.values(n),{...N,toolPackages:N.toolPackages??[],suggestedCommands:y}}const o=t.chat?null:wr(i(t.options)),s=t.chat??o,{messages:l,settings:A,loading:a,errorMsg:u,hasApiKey:h,visible:f,toolPackages:m,sendMessage:_,stopGeneration:d,clearMessages:C,saveSettings:g,deviceId:E,suggestedCommands:D}=s,F=r.ref(!1),k=r.ref(!1),B=r.ref(null),M=r.ref(null),K=r.ref(null),{pos:S,startDrag:I,consumeMoved:W}=ko({onDragStart:()=>{O.value=!0}}),O=r.ref(!1),{pos:te,startDrag:q}=ko({disabled:()=>k.value}),U=r.computed(()=>S.value?{left:`${S.value.x}px`,top:`${S.value.y}px`,right:"auto",bottom:"auto"}:{}),j=r.computed(()=>k.value||!te.value?{}:{left:`${te.value.x}px`,top:`${te.value.y}px`,right:"auto",bottom:"auto"});function J(Y){M.value&&I(Y,M.value)}function fe(){W()||ye()}function Be(Y){Y.target.closest(".chat-panel__ops")||K.value&&q(Y,K.value)}function ye(){f.value=!f.value}function et(){f.value=!1}function ct(){k.value=!k.value}function $(){r.nextTick(()=>{requestAnimationFrame(()=>{const Y=B.value;Y&&Y.scrollTo({top:Y.scrollHeight,behavior:"smooth"})})})}const ue=r.computed(()=>l.value.map((Y,N)=>Y.role==="user"?N:-1).filter(Y=>Y>=0)),ve=r.ref(0),Ne=r.ref(!1);let tt=null,ut=!1,Ve=0;function dt(Y){var y,x,R;const N=(x=B.value)==null?void 0:x.querySelector(`[data-msg-id="${(y=l.value[Y])==null?void 0:y.id}"]`);N&&((R=B.value)==null||R.scrollTo({top:Math.max(0,N.offsetTop-12),behavior:"smooth"}),ht(N))}function ht(Y){Y.classList.add("is-locate"),tt&&clearTimeout(tt),tt=setTimeout(()=>{Y.classList.remove("is-locate")},1200)}function nt(Y){if(!ue.value.length)return;const N=Math.min(Math.max(ve.value+Y,0),ue.value.length-1);ve.value=N,Ne.value=!0,dt(ue.value[N])}function ee(){ve.value=ue.value.length?ue.value.length-1:0,Ne.value=!1,$()}function Le(Y,N){Ne.value=!1,ve.value=ue.value.length?ue.value.length-1:0,_(Y,N),$()}function Z(Y){g(Y)}function ot(){Xe.ElMessageBox.confirm("确定要清空所有对话记录吗?","提示",{type:"warning",confirmButtonText:"清空",cancelButtonText:"取消"}).then(()=>{C()}).catch(()=>{})}function ie(Y){if(!ue.value.length)return;const N=Y.getBoundingClientRect(),y=N.top+N.height/2;let x=0,R=1/0;ue.value.forEach((w,H)=>{var ne;const z=Y.querySelector(`[data-msg-id="${(ne=l.value[w])==null?void 0:ne.id}"]`);if(!z)return;const X=Math.abs(z.getBoundingClientRect().top-y);X<R&&(R=X,x=H)}),ve.value=x}function Re(){const Y=B.value;Y&&(Ve&&cancelAnimationFrame(Ve),Ve=requestAnimationFrame(()=>{ie(Y);const N=Y.scrollHeight-Y.scrollTop-Y.clientHeight<60;Ne.value=!N}))}return r.onMounted(()=>{var Y;(Y=B.value)==null||Y.addEventListener("scroll",Re,{passive:!0})}),r.onBeforeUnmount(()=>{var Y;(Y=B.value)==null||Y.removeEventListener("scroll",Re),Ve&&cancelAnimationFrame(Ve)}),r.watch(f,Y=>{Y&&!ut&&(ut=!0,l.value.length&&ee())}),r.watch(()=>l.value.map(Y=>{var N;return Y.content+Y.status+(((N=Y.renderBlocks)==null?void 0:N.length)||0)}).join("|"),()=>{Ne.value||(ve.value=ue.value.length?ue.value.length-1:0,$())}),(Y,N)=>{const y=r.resolveComponent("ChatDotRound"),x=r.resolveComponent("el-icon"),R=r.resolveComponent("el-tag"),w=r.resolveComponent("el-button"),H=r.resolveComponent("el-tooltip"),z=r.resolveComponent("SemiSelect"),X=r.resolveComponent("el-alert");return r.openBlock(),r.createElementBlock("div",Bc,[e.showFab?(r.openBlock(),r.createElementBlock("div",{key:0,ref_key:"fabRef",ref:M,class:r.normalizeClass(["ai-fab",{"ai-fab--active":r.unref(f),"ai-fab--dragged":O.value}]),style:r.normalizeStyle(U.value),onPointerdown:J,onClick:fe},[r.createElementVNode("span",wc,r.toDisplayString(r.unref(f)?"收起":"AI 助手"),1)],38)):r.createCommentVNode("",!0),r.createVNode(r.Transition,{name:"panel"},{default:r.withCtx(()=>{var ne;return[r.withDirectives(r.createElementVNode("div",{ref_key:"panelRef",ref:K,class:r.normalizeClass(["chat-panel",{"chat-panel--fullscreen":k.value}]),style:r.normalizeStyle(j.value)},[r.createElementVNode("div",{class:"chat-panel__header",onPointerdown:Be},[r.createElementVNode("div",Fc,[r.createVNode(x,{class:"title-icon"},{default:r.withCtx(()=>[r.createVNode(y)]),_:1}),N[7]||(N[7]=r.createElementVNode("span",null,"AI 智能助手",-1)),r.unref(h)?(r.openBlock(),r.createBlock(R,{key:0,size:"small",type:"success",effect:"plain"},{default:r.withCtx(()=>[...N[5]||(N[5]=[r.createTextVNode("已配置",-1)])]),_:1})):(r.openBlock(),r.createBlock(R,{key:1,size:"small",type:"warning",effect:"plain"},{default:r.withCtx(()=>[...N[6]||(N[6]=[r.createTextVNode("未配置",-1)])]),_:1}))]),r.createElementVNode("div",vc,[r.createVNode(H,{content:"设置",placement:"bottom"},{default:r.withCtx(()=>[r.createVNode(w,{text:"",circle:"",onClick:N[0]||(N[0]=le=>F.value=!0)},{default:r.withCtx(()=>[r.createVNode(x,null,{default:r.withCtx(()=>[r.createVNode(r.unref(Eo))]),_:1})]),_:1})]),_:1}),r.createVNode(H,{content:"清空对话",placement:"bottom"},{default:r.withCtx(()=>[r.createVNode(w,{text:"",circle:"",disabled:!r.unref(l).length,onClick:ot},{default:r.withCtx(()=>[r.createVNode(x,null,{default:r.withCtx(()=>[r.createVNode(r.unref(ps))]),_:1})]),_:1},8,["disabled"])]),_:1}),r.createVNode(H,{content:k.value?"退出全屏":"全屏",placement:"bottom"},{default:r.withCtx(()=>[r.createVNode(w,{text:"",circle:"",onClick:ct},{default:r.withCtx(()=>[k.value?(r.openBlock(),r.createBlock(x,{key:1},{default:r.withCtx(()=>[r.createVNode(z)]),_:1})):(r.openBlock(),r.createBlock(x,{key:0},{default:r.withCtx(()=>[r.createVNode(r.unref(Cs))]),_:1}))]),_:1})]),_:1},8,["content"]),r.createVNode(H,{content:"关闭",placement:"bottom"},{default:r.withCtx(()=>[r.createVNode(w,{text:"",circle:"",onClick:et},{default:r.withCtx(()=>[r.createVNode(x,null,{default:r.withCtx(()=>[r.createVNode(r.unref(as))]),_:1})]),_:1})]),_:1})])],32),r.createElementVNode("div",xc,[r.createElementVNode("div",{ref_key:"scrollRef",ref:B,class:"chat-panel__body"},[r.unref(l).length?(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:1},r.renderList(r.unref(l),le=>(r.openBlock(),r.createBlock(di,{key:le.id,message:le,"tool-packages":r.unref(m),"md-table-click":r.unref(A).mdTableClick,"md-list-click":r.unref(A).mdListClick,"data-msg-id":le.id,onExecute:Le},null,8,["message","tool-packages","md-table-click","md-list-click","data-msg-id"]))),128)):(r.openBlock(),r.createElementBlock("div",Sc,[r.createElementVNode("div",Nc,[r.createVNode(x,null,{default:r.withCtx(()=>[r.createVNode(y)]),_:1})]),N[9]||(N[9]=r.createElementVNode("h3",null,"你好,我是系统 AI 助手",-1)),N[10]||(N[10]=r.createElementVNode("p",{class:"chat-empty__desc"},[r.createTextVNode(" 我可以帮你"),r.createElementVNode("span",{class:"hl"},"查询数据"),r.createTextVNode("、"),r.createElementVNode("span",{class:"hl"},"执行操作"),r.createTextVNode("。试试输入指令: ")],-1)),(ne=r.unref(D))!=null&&ne.length?(r.openBlock(),r.createElementBlock("div",Rc,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(r.unref(D),le=>(r.openBlock(),r.createBlock(w,{key:le.text,size:"small",type:"primary",round:"",plain:"",onClick:oe=>Le(le.text)},{default:r.withCtx(()=>[r.createTextVNode(r.toDisplayString(le.label),1)]),_:2},1032,["onClick"]))),128))])):r.createCommentVNode("",!0),r.unref(h)?r.createCommentVNode("",!0):(r.openBlock(),r.createBlock(w,{key:1,type:"primary",icon:r.unref(Eo),onClick:N[1]||(N[1]=le=>F.value=!0)},{default:r.withCtx(()=>[...N[8]||(N[8]=[r.createTextVNode(" 先配置 API Key ",-1)])]),_:1},8,["icon"]))]))],512),r.createVNode(r.Transition,{name:"fade"},{default:r.withCtx(()=>[ue.value.length?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(["chat-panel__nav",{"is-suppressed-scroll":Ne.value}])},[r.createElementVNode("div",Tc,r.toDisplayString(ve.value+1)+"/"+r.toDisplayString(ue.value.length),1),r.createVNode(H,{content:"上一个用户消息",placement:"left","show-after":300},{default:r.withCtx(()=>[r.createElementVNode("button",{class:"chat-panel__nav-btn",disabled:ve.value<=0,type:"button",onClick:N[2]||(N[2]=le=>nt(-1))},[r.createVNode(x,null,{default:r.withCtx(()=>[r.createVNode(r.unref(vs))]),_:1})],8,Mc)]),_:1}),r.createVNode(H,{content:"下一个用户消息",placement:"left","show-after":300},{default:r.withCtx(()=>[r.createElementVNode("button",{class:"chat-panel__nav-btn",disabled:ve.value>=ue.value.length-1,type:"button",onClick:N[3]||(N[3]=le=>nt(1))},[r.createVNode(x,null,{default:r.withCtx(()=>[r.createVNode(r.unref(is))]),_:1})],8,Qc)]),_:1}),r.createVNode(H,{content:"最新消息",placement:"left","show-after":300},{default:r.withCtx(()=>[r.createElementVNode("button",{class:"chat-panel__nav-btn",type:"button",onClick:ee},[r.createVNode(x,null,{default:r.withCtx(()=>[r.createVNode(r.unref(bs))]),_:1})])]),_:1})],2)):r.createCommentVNode("",!0)]),_:1})]),r.createVNode(r.Transition,{name:"fade"},{default:r.withCtx(()=>[r.unref(u)?(r.openBlock(),r.createElementBlock("div",Kc,[r.createVNode(X,{title:r.unref(u),type:"error","show-icon":"",closable:!1},null,8,["title"])])):r.createCommentVNode("",!0)]),_:1}),r.createElementVNode("div",Gc,[r.unref(a)?(r.openBlock(),r.createElementBlock("div",Wc,[r.createVNode(w,{size:"small",icon:r.unref(Rs),onClick:r.unref(d)},{default:r.withCtx(()=>[...N[11]||(N[11]=[r.createTextVNode("停止生成",-1)])]),_:1},8,["icon","onClick"])])):r.createCommentVNode("",!0),r.createVNode(hi,{loading:r.unref(a),placeholder:r.unref(h)?"输入指令...":"请先配置 API Key",onSend:Le},null,8,["loading","placeholder"])]),r.createVNode(fi,{modelValue:F.value,"onUpdate:modelValue":N[4]||(N[4]=le=>F.value=le),settings:r.unref(A),"device-id":r.unref(E),onSave:Z},null,8,["modelValue","settings","device-id"])],6),[[r.vShow,r.unref(f)]])]}),_:1})])}}}),Yc=Bt(Oc,[["__scopeId","data-v-5dde3b27"]]);function Hc(e){if(typeof e!="string")return e;try{const t=JSON.parse(e);return t!==null&&(typeof t=="object"||Array.isArray(t))?t:e}catch{return e}}const Uc=Object.freeze(Object.defineProperty({__proto__:null,parseStringToObject:Hc},Symbol.toStringTag,{value:"Module"}));exports.Agent=ir;exports.BUILTIN_TOOL_PACKAGE=Mt;exports.ChatInput=hi;exports.ChatMessageComp=di;exports.ChatPanel=Yc;exports.ChatSettingsComp=fi;exports.DEFAULT_PROVIDER_ID=It;exports.DEFAULT_PROVIDER_SETTINGS=Se;exports.DEFAULT_SETTINGS=Nt;exports.EventBus=Pn;exports.MODEL_OPTIONS=Qi;exports.PROVIDER_PRESETS=Ln;exports.ParseUtils=Uc;exports.RenderBlockComp=vr;exports.SuggestedNext=xr;exports.ToolRegistry=sr;exports.blobFromAttachment=ui;exports.buildSystemPrompt=_r;exports.createAgentBridge=Ir;exports.createDeepSeekProvider=ns;exports.createEventBus=Xi;exports.createOpenAICompatibleProvider=Vt;exports.createOpenAIProvider=os;exports.createProvider=gr;exports.createProviderSettings=lt;exports.createProxyProvider=pr;exports.getDefaultBridge=br;exports.getDefaultEventBus=ln;exports.getProviderPreset=Ye;exports.isTifFile=ci;exports.listProviderPresets=Jn;exports.mergeSettings=Wn;exports.normalizeSettings=at;exports.registerProvider=Wi;exports.registerProviderPreset=lr;exports.resolveRenderBlock=Ji;exports.runBuiltinToolHandler=kr;exports.setBridgeBus=Dr;exports.syncLegacySettings=dr;exports.useAgentChat=wr;exports.usePageAgentBridge=$i;
|