page-agent-sdk 3.17.0 → 3.19.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 +4 -4
- package/README.zh-CN.md +4 -4
- package/dist/page-agent-sdk.headless.js +208 -180
- package/dist/page-agent-sdk.iife.js +146 -146
- package/dist/page-agent-sdk.js +9360 -9289
- package/dist/page-agent-sdk.umd.cjs +37 -37
- package/dist/style.css +1 -1
- package/package.json +2 -1
- package/types/index.d.ts +18 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("zod"),require("@langchain/openai"),require("@langchain/core/tools"),require("@langchain/core/messages"),require("@langchain/core/errors")):typeof define==`function`&&define.amd?define([`exports`,`zod`,`@langchain/openai`,`@langchain/core/tools`,`@langchain/core/messages`,`@langchain/core/errors`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.ChatSdk={},e.Zod,e.LangchainOpenAI,e.LangchainCoreTools,e.LangchainCoreMessages,e.LangchainCoreErrors))})(this,function(e,t,n,r,i,a){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var o=Object.create,s=Object.defineProperty,c=Object.getOwnPropertyDescriptor,l=Object.getOwnPropertyNames,u=Object.getPrototypeOf,d=Object.prototype.hasOwnProperty,f=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),p=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=l(t),a=0,o=i.length,u;a<o;a++)u=i[a],!d.call(e,u)&&u!==n&&s(e,u,{get:(e=>t[e]).bind(null,u),enumerable:!(r=c(t,u))||r.enumerable});return e},m=(e,t,n)=>(n=e==null?{}:o(u(e)),p(t||!e||!e.__esModule?s(n,`default`,{value:e,enumerable:!0}):n,e));function h(e){return!!(e==null||typeof e==`string`||e instanceof ArrayBuffer||ArrayBuffer.isView(e)||typeof Blob<`u`&&e instanceof Blob||e instanceof URLSearchParams||e instanceof FormData)}function g(e){let t=e.model||`gpt-3.5-turbo`,r=e.temperature,i=e.maxTokens,a=e.baseUrl;if(e.mode===`direct`){let o=!1;try{o=typeof location<`u`&&location.protocol===`https:`&&![`localhost`,`127.0.0.1`,`0.0.0.0`].includes(location.hostname)}catch{}if(o){if(e.throwOnDirectInProduction)throw Error(`[page-agent-sdk][proxyLlm] direct 模式在生产环境(https + 非本地)会泄露 apiKey(进 bundle),建议改用 proxy 模式(throwOnDirectInProduction 已启用强安全闸;若确需生产直连,设为 false 显式承认风险)`);console.warn(`[page-agent-sdk][proxyLlm] direct 模式在生产环境(https + 非本地)会泄露 apiKey(进 bundle),建议改用 proxy 模式`)}if(!e.apiKey)throw Error(`[page-agent-sdk][proxyLlm] direct 模式需提供 apiKey(开发环境用真实 key)`);return new n.ChatOpenAI({apiKey:e.apiKey,model:t,temperature:r,maxTokens:i,configuration:a?{baseURL:a}:void 0})}a||console.warn(`[page-agent-sdk][proxyLlm] proxy 模式未配 baseUrl,将打到页面 origin(通常不是预期);请传代理地址如 '/api/llm'`);let o=e.userToken||`proxy`,s=null;function c(){return e.refreshToken?(s||=e.refreshToken().finally(()=>{s=null}),s):Promise.resolve(o)}return new n.ChatOpenAI({apiKey:o,model:t,temperature:r,maxTokens:i,configuration:{baseURL:a||`/`,fetch:async(t,n)=>{let r,i;typeof t==`string`?(r=t,i=n?.headers):t instanceof URL?(r=t.toString(),i=n?.headers):(r=t.url,i=n?.headers??t.headers);let a=new Headers(i);if(a.set(`Authorization`,`Bearer ${o}`),e.headers)for(let[t,n]of Object.entries(e.headers))a.set(t,n);let s=()=>fetch(r,{...n,headers:a}),l=await s();if(l.status===401&&e.refreshToken&&h(n?.body))try{o=await c(),a.set(`Authorization`,`Bearer ${o}`),l=await s()}catch{}return l}}})}function _(e,t){if(t?.headers){let e=new Headers(t.headers),n=!1;for(let t of[...e.keys()])t.toLowerCase().startsWith(`x-stainless`)&&(e.delete(t),n=!0);n&&(t={...t,headers:e})}return fetch(e,t)}function v(e){return!e||!e.startsWith(`/`)||typeof location>`u`||!location.origin?e:`${location.origin}${e}`}function y(e,t={}){return new n.ChatOpenAI({apiKey:e.apiKey,model:e.model,temperature:t.temperature??e.temperature,maxTokens:t.maxTokens??e.maxTokens,configuration:{...e.baseUrl?{baseURL:v(e.baseUrl)}:{},fetch:_,...e.extraConfig},...e.extraBody?{modelKwargs:e.extraBody}:{}})}async function b(e,t={}){if((e.provider??`openai`)===`openai`)return y(e,t);let{ChatAnthropic:n}=await import(`@langchain/anthropic`);return new n({apiKey:e.apiKey,model:e.model,temperature:t.temperature??e.temperature,maxTokens:t.maxTokens??e.maxTokens,...e.baseUrl?{anthropicApiUrl:v(e.baseUrl)}:{},...e.extraConfig?{clientOptions:e.extraConfig}:{}})}function x(e){let t=e.content;return typeof t==`string`?t:Array.isArray(t)?t.map(e=>typeof e==`string`?e:e?.type===`text`&&typeof e.text==`string`?e.text:``).join(``):``}function S(e){let t=e.additional_kwargs||{},n=t.reasoning_content||t.reasoning||``;return!n&&Array.isArray(e.content)&&(n=e.content.map(e=>e?.type===`thinking`?e.thinking??``:e?.type===`thinking_delta`?e.delta??e.thinking??``:``).join(``)),n}function C(e){let t=e,n=[t?.additional_kwargs?.usage,t?.usage_metadata,t?.response_metadata?.usage,t?.response_metadata?.token_usage,t?.response_metadata?.tokenUsage];for(let e of n)if(e&&typeof e==`object`&&w(e))return e}function w(e){return[`prompt_tokens`,`completion_tokens`,`total_tokens`,`promptTokens`,`completionTokens`,`totalTokens`,`input_tokens`,`output_tokens`,`inputTokens`,`outputTokens`].some(t=>typeof e[t]==`number`&&e[t]>0)}function T(e){let t=C(e);if(!t||typeof t!=`object`)return null;let n=t,r=Number(n.prompt_tokens??n.promptTokens??n.input_tokens??n.inputTokens??0)||0,i=Number(n.completion_tokens??n.completionTokens??n.output_tokens??n.outputTokens??0)||0,a=Number(n.total_tokens??n.totalTokens??r+i)||0;return!r&&!i&&!a?null:{prompt_tokens:r,completion_tokens:i,total_tokens:a}}function E(e){let t=Object.create(null);for(let n of e.split(`,`))t[n]=1;return e=>e in t}var D=process.env.NODE_ENV===`production`?{}:Object.freeze({}),O=process.env.NODE_ENV===`production`?[]:Object.freeze([]),k=()=>{},A=()=>!1,ee=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),j=e=>e.startsWith(`onUpdate:`),M=Object.assign,N=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},te=Object.prototype.hasOwnProperty,P=(e,t)=>te.call(e,t),F=Array.isArray,I=e=>V(e)===`[object Map]`,L=e=>V(e)===`[object Set]`,ne=e=>V(e)===`[object Date]`,R=e=>typeof e==`function`,z=e=>typeof e==`string`,re=e=>typeof e==`symbol`,B=e=>typeof e==`object`&&!!e,ie=e=>(B(e)||R(e))&&R(e.then)&&R(e.catch),ae=Object.prototype.toString,V=e=>ae.call(e),oe=e=>V(e).slice(8,-1),se=e=>V(e)===`[object Object]`,H=e=>z(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,ce=E(`,key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted`),le=E(`bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo`),ue=e=>{let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},de=/-\w/g,fe=ue(e=>e.replace(de,e=>e.slice(1).toUpperCase())),pe=/\B([A-Z])/g,me=ue(e=>e.replace(pe,`-$1`).toLowerCase()),he=ue(e=>e.charAt(0).toUpperCase()+e.slice(1)),ge=ue(e=>e?`on${he(e)}`:``),_e=(e,t)=>!Object.is(e,t),ve=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},ye=(e,t,n,r=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},be=e=>{let t=parseFloat(e);return isNaN(t)?e:t},xe=e=>{let t=z(e)?Number(e):NaN;return isNaN(t)?e:t},Se,Ce=()=>Se||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{};function we(e){if(F(e)){let t={};for(let n=0;n<e.length;n++){let r=e[n],i=z(r)?Oe(r):we(r);if(i)for(let e in i)t[e]=i[e]}return t}else if(z(e)||B(e))return e}var Te=/;(?![^(]*\))/g,Ee=/:([^]+)/,De=/\/\*[^]*?\*\//g;function Oe(e){let t={};return e.replace(De,``).split(Te).forEach(e=>{if(e){let n=e.split(Ee);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function U(e){let t=``;if(z(e))t=e;else if(F(e))for(let n=0;n<e.length;n++){let r=U(e[n]);r&&(t+=r+` `)}else if(B(e))for(let n in e)e[n]&&(t+=n+` `);return t.trim()}var ke=`html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot`,Ae=`svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,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,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view`,je=`annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics`,Me=E(ke),Ne=E(Ae),Pe=E(je),Fe=`itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`,Ie=E(Fe);Fe+``;function Le(e){return!!e||e===``}function Re(e,t){if(e.length!==t.length)return!1;let n=!0;for(let r=0;n&&r<e.length;r++)n=ze(e[r],t[r]);return n}function ze(e,t){if(e===t)return!0;let n=ne(e),r=ne(t);if(n||r)return n&&r?e.getTime()===t.getTime():!1;if(n=re(e),r=re(t),n||r)return e===t;if(n=F(e),r=F(t),n||r)return n&&r?Re(e,t):!1;if(n=B(e),r=B(t),n||r){if(!n||!r||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e){let r=e.hasOwnProperty(n),i=t.hasOwnProperty(n);if(r&&!i||!r&&i||!ze(e[n],t[n]))return!1}}return String(e)===String(t)}var Be=e=>!!(e&&e.__v_isRef===!0),W=e=>z(e)?e:e==null?``:F(e)||B(e)&&(e.toString===ae||!R(e.toString))?Be(e)?W(e.value):JSON.stringify(e,Ve,2):String(e),Ve=(e,t)=>Be(t)?Ve(e,t.value):I(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[He(t,r)+` =>`]=n,e),{})}:L(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>He(e))}:re(t)?He(t):B(t)&&!F(t)&&!se(t)?String(t):t,He=(e,t=``)=>re(e)?`Symbol(${e.description??t})`:e;function Ue(e,...t){console.warn(`[Vue warn] ${e}`,...t)}var We,Ge=class{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!e&&We&&(We.active?(this.parent=We,this.index=(We.scopes||=[]).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e<t;e++)this.scopes[e].pause();for(e=0,t=this.effects.length;e<t;e++)this.effects[e].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e<t;e++)this.scopes[e].resume();for(e=0,t=this.effects.length;e<t;e++)this.effects[e].resume()}}run(e){if(this._active){let t=We;try{return We=this,e()}finally{We=t}}else process.env.NODE_ENV!==`production`&&this._warnOnRun&&Ue(`cannot run an inactive effect scope.`)}on(){++this._on===1&&(this.prevScope=We,We=this)}off(){if(this._on>0&&--this._on===0){if(We===this)We=this.prevScope;else{let e=We;for(;e;){if(e.prevScope===this){e.prevScope=this.prevScope;break}e=e.prevScope}}this.prevScope=void 0}}stop(e){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t<n;t++)this.effects[t].stop();for(this.effects.length=0,t=0,n=this.cleanups.length;t<n;t++)this.cleanups[t]();if(this.cleanups.length=0,this.scopes){for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!e){let e=this.parent.scopes.pop();e&&e!==this&&(this.parent.scopes[this.index]=e,e.index=this.index)}this.parent=void 0}}};function Ke(){return We}function qe(e,t=!1){We?We.cleanups.push(e):process.env.NODE_ENV!==`production`&&!t&&Ue(`onScopeDispose() is called when there is no active effect scope to be associated with.`)}var Je,Ye=new WeakSet,Xe=class{constructor(e){this.fn=e,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,We&&(We.active?We.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Ye.has(this)&&(Ye.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||et(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,pt(this),rt(this);let e=Je,t=lt;Je=this,lt=!0;try{return this.fn()}finally{process.env.NODE_ENV!==`production`&&Je!==this&&Ue(`Active effect was not restored correctly - this is likely a Vue internal bug.`),it(this),Je=e,lt=t,this.flags&=-3}}stop(){if(this.flags&1){for(let e=this.deps;e;e=e.nextDep)st(e);this.deps=this.depsTail=void 0,pt(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Ye.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){at(this)&&this.run()}get dirty(){return at(this)}},Ze=0,Qe,$e;function et(e,t=!1){if(e.flags|=8,t){e.next=$e,$e=e;return}e.next=Qe,Qe=e}function tt(){Ze++}function nt(){if(--Ze>0)return;if($e){let e=$e;for($e=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;Qe;){let t=Qe;for(Qe=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(t){e||=t}t=n}}if(e)throw e}function rt(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function it(e){let t,n=e.depsTail,r=n;for(;r;){let e=r.prevDep;r.version===-1?(r===n&&(n=e),st(r),ct(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function at(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ot(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ot(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===mt)||(e.globalVersion=mt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!at(e))))return;e.flags|=2;let t=e.dep,n=Je,r=lt;Je=e,lt=!0;try{rt(e);let n=e.fn(e._value);(t.version===0||_e(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(e){throw t.version++,e}finally{Je=n,lt=r,it(e),e.flags&=-3}}function st(e,t=!1){let{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),process.env.NODE_ENV!==`production`&&n.subsHead===e&&(n.subsHead=i),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)st(e,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function ct(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}var lt=!0,ut=[];function dt(){ut.push(lt),lt=!1}function ft(){let e=ut.pop();lt=e===void 0||e}function pt(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=Je;Je=void 0;try{t()}finally{Je=e}}}var mt=0,ht=class{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},gt=class{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0,process.env.NODE_ENV!==`production`&&(this.subsHead=void 0)}track(e){if(!Je||!lt||Je===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==Je)t=this.activeLink=new ht(Je,this),Je.deps?(t.prevDep=Je.depsTail,Je.depsTail.nextDep=t,Je.depsTail=t):Je.deps=Je.depsTail=t,_t(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=Je.depsTail,t.nextDep=void 0,Je.depsTail.nextDep=t,Je.depsTail=t,Je.deps===t&&(Je.deps=e)}return process.env.NODE_ENV!==`production`&&Je.onTrack&&Je.onTrack(M({effect:Je},e)),t}trigger(e){this.version++,mt++,this.notify(e)}notify(e){tt();try{if(process.env.NODE_ENV!==`production`)for(let t=this.subsHead;t;t=t.nextSub)t.sub.onTrigger&&!(t.sub.flags&8)&&t.sub.onTrigger(M({effect:t.sub},e));for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{nt()}}};function _t(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)_t(e)}let n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),process.env.NODE_ENV!==`production`&&e.dep.subsHead===void 0&&(e.dep.subsHead=e),e.dep.subs=e}}var vt=new WeakMap,yt=Symbol(process.env.NODE_ENV===`production`?``:`Object iterate`),bt=Symbol(process.env.NODE_ENV===`production`?``:`Map keys iterate`),xt=Symbol(process.env.NODE_ENV===`production`?``:`Array iterate`);function St(e,t,n){if(lt&&Je){let r=vt.get(e);r||vt.set(e,r=new Map);let i=r.get(n);i||(r.set(n,i=new gt),i.map=r,i.key=n),process.env.NODE_ENV===`production`?i.track():i.track({target:e,type:t,key:n})}}function Ct(e,t,n,r,i,a){let o=vt.get(e);if(!o){mt++;return}let s=o=>{o&&(process.env.NODE_ENV===`production`?o.trigger():o.trigger({target:e,type:t,key:n,newValue:r,oldValue:i,oldTarget:a}))};if(tt(),t===`clear`)o.forEach(s);else{let i=F(e),a=i&&H(n);if(i&&n===`length`){let e=Number(r);o.forEach((t,n)=>{(n===`length`||n===xt||!re(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(xt)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get(yt)),I(e)&&s(o.get(bt)));break;case`delete`:i||(s(o.get(yt)),I(e)&&s(o.get(bt)));break;case`set`:I(e)&&s(o.get(yt));break}}nt()}function wt(e){let t=hn(e);return t===e?t:(St(t,`iterate`,xt),pn(e)?t:t.map(_n))}function Tt(e){return St(e=hn(e),`iterate`,xt),e}function Et(e,t){return fn(e)?vn(dn(e)?_n(t):t):_n(t)}var Dt={__proto__:null,[Symbol.iterator](){return G(this,Symbol.iterator,e=>Et(this,e))},concat(...e){return wt(this).concat(...e.map(e=>F(e)?wt(e):e))},entries(){return G(this,`entries`,e=>(e[1]=Et(this,e[1]),e))},every(e,t){return kt(this,`every`,e,t,void 0,arguments)},filter(e,t){return kt(this,`filter`,e,t,e=>e.map(e=>Et(this,e)),arguments)},find(e,t){return kt(this,`find`,e,t,e=>Et(this,e),arguments)},findIndex(e,t){return kt(this,`findIndex`,e,t,void 0,arguments)},findLast(e,t){return kt(this,`findLast`,e,t,e=>Et(this,e),arguments)},findLastIndex(e,t){return kt(this,`findLastIndex`,e,t,void 0,arguments)},forEach(e,t){return kt(this,`forEach`,e,t,void 0,arguments)},includes(...e){return jt(this,`includes`,e)},indexOf(...e){return jt(this,`indexOf`,e)},join(e){return wt(this).join(e)},lastIndexOf(...e){return jt(this,`lastIndexOf`,e)},map(e,t){return kt(this,`map`,e,t,void 0,arguments)},pop(){return Mt(this,`pop`)},push(...e){return Mt(this,`push`,e)},reduce(e,...t){return At(this,`reduce`,e,t)},reduceRight(e,...t){return At(this,`reduceRight`,e,t)},shift(){return Mt(this,`shift`)},some(e,t){return kt(this,`some`,e,t,void 0,arguments)},splice(...e){return Mt(this,`splice`,e)},toReversed(){return wt(this).toReversed()},toSorted(e){return wt(this).toSorted(e)},toSpliced(...e){return wt(this).toSpliced(...e)},unshift(...e){return Mt(this,`unshift`,e)},values(){return G(this,`values`,e=>Et(this,e))}};function G(e,t,n){let r=Tt(e),i=r[t]();return r!==e&&!pn(e)&&(i._next=i.next,i.next=()=>{let e=i._next();return e.done||(e.value=n(e.value)),e}),i}var Ot=Array.prototype;function kt(e,t,n,r,i,a){let o=Tt(e),s=o!==e&&!pn(e),c=o[t];if(c!==Ot[t]){let t=c.apply(e,a);return s?_n(t):t}let l=n;o!==e&&(s?l=function(t,r){return n.call(this,Et(e,t),r,e)}:n.length>2&&(l=function(t,r){return n.call(this,t,r,e)}));let u=c.call(o,l,r);return s&&i?i(u):u}function At(e,t,n,r){let i=Tt(e),a=i!==e&&!pn(e),o=n,s=!1;i!==e&&(a?(s=r.length===0,o=function(t,r,i){return s&&(s=!1,t=Et(e,t)),n.call(this,t,Et(e,r),i,e)}):n.length>3&&(o=function(t,r,i){return n.call(this,t,r,i,e)}));let c=i[t](o,...r);return s?Et(e,c):c}function jt(e,t,n){let r=hn(e);St(r,`iterate`,xt);let i=r[t](...n);return(i===-1||i===!1)&&mn(n[0])?(n[0]=hn(n[0]),r[t](...n)):i}function Mt(e,t,n=[]){dt(),tt();let r=hn(e)[t].apply(e,n);return nt(),ft(),r}var Nt=E(`__proto__,__v_isRef,__isVue`),Pt=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==`arguments`&&e!==`caller`).map(e=>Symbol[e]).filter(re));function Ft(e){re(e)||(e=String(e));let t=hn(this);return St(t,`has`,e),t.hasOwnProperty(e)}var It=class{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if(t===`__v_skip`)return e.__v_skip;let r=this._isReadonly,i=this._isShallow;if(t===`__v_isReactive`)return!r;if(t===`__v_isReadonly`)return r;if(t===`__v_isShallow`)return i;if(t===`__v_raw`)return n===(r?i?rn:nn:i?tn:en).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let a=F(e);if(!r){let e;if(a&&(e=Dt[t]))return e;if(t===`hasOwnProperty`)return Ft}let o=Reflect.get(e,t,yn(e)?e:n);if((re(t)?Pt.has(t):Nt(t))||(r||St(e,`get`,t),i))return o;if(yn(o)){let e=a&&H(t)?o:o.value;return r&&B(e)?cn(e):e}return B(o)?r?cn(o):on(o):o}},Lt=class extends It{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t],a=F(e)&&H(t);if(!this._isShallow){let r=fn(i);if(!pn(n)&&!fn(n)&&(i=hn(i),n=hn(n)),!a&&yn(i)&&!yn(n))return r?(process.env.NODE_ENV!==`production`&&Ue(`Set operation on key "${String(t)}" failed: target is readonly.`,e[t]),!0):(i.value=n,!0)}let o=a?Number(t)<e.length:P(e,t),s=Reflect.set(e,t,n,yn(e)?e:r);return e===hn(r)&&s&&(o?_e(n,i)&&Ct(e,`set`,t,n,i):Ct(e,`add`,t,n)),s}deleteProperty(e,t){let n=P(e,t),r=e[t],i=Reflect.deleteProperty(e,t);return i&&n&&Ct(e,`delete`,t,void 0,r),i}has(e,t){let n=Reflect.has(e,t);return(!re(t)||!Pt.has(t))&&St(e,`has`,t),n}ownKeys(e){return St(e,`iterate`,F(e)?`length`:yt),Reflect.ownKeys(e)}},Rt=class extends It{constructor(e=!1){super(!0,e)}set(e,t){return process.env.NODE_ENV!==`production`&&Ue(`Set operation on key "${String(t)}" failed: target is readonly.`,e),!0}deleteProperty(e,t){return process.env.NODE_ENV!==`production`&&Ue(`Delete operation on key "${String(t)}" failed: target is readonly.`,e),!0}},zt=new Lt,Bt=new Rt,Vt=new Lt(!0),Ht=new Rt(!0),Ut=e=>e,Wt=e=>Reflect.getPrototypeOf(e);function Gt(e,t,n){return function(...r){let i=this.__v_raw,a=hn(i),o=I(a),s=e===`entries`||e===Symbol.iterator&&o,c=e===`keys`&&o,l=i[e](...r),u=n?Ut:t?vn:_n;return!t&&St(a,`iterate`,c?bt:yt),M(Object.create(l),{next(){let{value:e,done:t}=l.next();return t?{value:e,done:t}:{value:s?[u(e[0]),u(e[1])]:u(e),done:t}}})}}function Kt(e){return function(...t){if(process.env.NODE_ENV!==`production`){let n=t[0]?`on key "${t[0]}" `:``;Ue(`${he(e)} operation ${n}failed: target is readonly.`,hn(this))}return e===`delete`?!1:e===`clear`?void 0:this}}function qt(e,t){let n={get(n){let r=this.__v_raw,i=hn(r),a=hn(n);e||(_e(n,a)&&St(i,`get`,n),St(i,`get`,a));let{has:o}=Wt(i),s=t?Ut:e?vn:_n;if(o.call(i,n))return s(r.get(n));if(o.call(i,a))return s(r.get(a));r!==i&&r.get(n)},get size(){let t=this.__v_raw;return!e&&St(hn(t),`iterate`,yt),t.size},has(t){let n=this.__v_raw,r=hn(n),i=hn(t);return e||(_e(t,i)&&St(r,`has`,t),St(r,`has`,i)),t===i?n.has(t):n.has(t)||n.has(i)},forEach(n,r){let i=this,a=i.__v_raw,o=hn(a),s=t?Ut:e?vn:_n;return!e&&St(o,`iterate`,yt),a.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return M(n,e?{add:Kt(`add`),set:Kt(`set`),delete:Kt(`delete`),clear:Kt(`clear`)}:{add(e){let n=hn(this),r=Wt(n),i=hn(e),a=!t&&!pn(e)&&!fn(e)?i:e;return r.has.call(n,a)||_e(e,a)&&r.has.call(n,e)||_e(i,a)&&r.has.call(n,i)||(n.add(a),Ct(n,`add`,a,a)),this},set(e,n){!t&&!pn(n)&&!fn(n)&&(n=hn(n));let r=hn(this),{has:i,get:a}=Wt(r),o=i.call(r,e);o?process.env.NODE_ENV!==`production`&&$t(r,i,e):(e=hn(e),o=i.call(r,e));let s=a.call(r,e);return r.set(e,n),o?_e(n,s)&&Ct(r,`set`,e,n,s):Ct(r,`add`,e,n),this},delete(e){let t=hn(this),{has:n,get:r}=Wt(t),i=n.call(t,e);i?process.env.NODE_ENV!==`production`&&$t(t,n,e):(e=hn(e),i=n.call(t,e));let a=r?r.call(t,e):void 0,o=t.delete(e);return i&&Ct(t,`delete`,e,void 0,a),o},clear(){let e=hn(this),t=e.size!==0,n=process.env.NODE_ENV===`production`?void 0:I(e)?new Map(e):new Set(e),r=e.clear();return t&&Ct(e,`clear`,void 0,void 0,n),r}}),[`keys`,`values`,`entries`,Symbol.iterator].forEach(r=>{n[r]=Gt(r,e,t)}),n}function Jt(e,t){let n=qt(e,t);return(t,r,i)=>r===`__v_isReactive`?!e:r===`__v_isReadonly`?e:r===`__v_raw`?t:Reflect.get(P(n,r)&&r in t?n:t,r,i)}var Yt={get:Jt(!1,!1)},Xt={get:Jt(!1,!0)},Zt={get:Jt(!0,!1)},Qt={get:Jt(!0,!0)};function $t(e,t,n){let r=hn(n);if(r!==n&&t.call(e,r)){let t=oe(e);Ue(`Reactive ${t} contains both the raw and reactive versions of the same object${t===`Map`?` as keys`:``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`)}}var en=new WeakMap,tn=new WeakMap,nn=new WeakMap,rn=new WeakMap;function an(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 2;default:return 0}}function on(e){return fn(e)?e:un(e,!1,zt,Yt,en)}function sn(e){return un(e,!1,Vt,Xt,tn)}function cn(e){return un(e,!0,Bt,Zt,nn)}function ln(e){return un(e,!0,Ht,Qt,rn)}function un(e,t,n,r,i){if(!B(e))return process.env.NODE_ENV!==`production`&&Ue(`value cannot be made ${t?`readonly`:`reactive`}: ${String(e)}`),e;if(e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;let a=i.get(e);if(a)return a;let o=an(oe(e));if(o===0)return e;let s=new Proxy(e,o===2?r:n);return i.set(e,s),s}function dn(e){return fn(e)?dn(e.__v_raw):!!(e&&e.__v_isReactive)}function fn(e){return!!(e&&e.__v_isReadonly)}function pn(e){return!!(e&&e.__v_isShallow)}function mn(e){return e?!!e.__v_raw:!1}function hn(e){let t=e&&e.__v_raw;return t?hn(t):e}function gn(e){return!P(e,`__v_skip`)&&Object.isExtensible(e)&&ye(e,`__v_skip`,!0),e}var _n=e=>B(e)?on(e):e,vn=e=>B(e)?cn(e):e;function yn(e){return e?e.__v_isRef===!0:!1}function bn(e){return Sn(e,!1)}function xn(e){return Sn(e,!0)}function Sn(e,t){return yn(e)?e:new Cn(e,t)}var Cn=class{constructor(e,t){this.dep=new gt,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:hn(e),this._value=t?e:_n(e),this.__v_isShallow=t}get value(){return process.env.NODE_ENV===`production`?this.dep.track():this.dep.track({target:this,type:`get`,key:`value`}),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||pn(e)||fn(e);e=n?e:hn(e),_e(e,t)&&(this._rawValue=e,this._value=n?e:_n(e),process.env.NODE_ENV===`production`?this.dep.trigger():this.dep.trigger({target:this,type:`set`,key:`value`,newValue:e,oldValue:t}))}};function wn(e){e.dep&&(process.env.NODE_ENV===`production`?e.dep.trigger():e.dep.trigger({target:e,type:`set`,key:`value`,newValue:e._value}))}function K(e){return yn(e)?e.value:e}var Tn={get:(e,t,n)=>t===`__v_raw`?e:K(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let i=e[t];return yn(i)&&!yn(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function En(e){return dn(e)?e:new Proxy(e,Tn)}var Dn=class{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new gt(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=mt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Je!==this)return et(this,!0),!0;process.env.NODE_ENV}get value(){let e=process.env.NODE_ENV===`production`?this.dep.track():this.dep.track({target:this,type:`get`,key:`value`});return ot(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter?this.setter(e):process.env.NODE_ENV!==`production`&&Ue(`Write operation failed: computed value is readonly`)}};function On(e,t,n=!1){let r,i;R(e)?r=e:(r=e.get,i=e.set);let a=new Dn(r,i,n);return process.env.NODE_ENV!==`production`&&t&&!n&&(a.onTrack=t.onTrack,a.onTrigger=t.onTrigger),a}var kn={},An=new WeakMap,jn=void 0;function Mn(e,t=!1,n=jn){if(n){let t=An.get(n);t||An.set(n,t=[]),t.push(e)}else process.env.NODE_ENV!==`production`&&!t&&Ue(`onWatcherCleanup() was called when there was no active watcher to associate with.`)}function Nn(e,t,n=D){let{immediate:r,deep:i,once:a,scheduler:o,augmentJob:s,call:c}=n,l=e=>{(n.onWarn||Ue)(`Invalid watch source: `,e,`A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`)},u=e=>i?e:pn(e)||i===!1||i===0?Pn(e,1):Pn(e),d,f,p,m,h=!1,g=!1;if(yn(e)?(f=()=>e.value,h=pn(e)):dn(e)?(f=()=>u(e),h=!0):F(e)?(g=!0,h=e.some(e=>dn(e)||pn(e)),f=()=>e.map(e=>{if(yn(e))return e.value;if(dn(e))return u(e);if(R(e))return c?c(e,2):e();process.env.NODE_ENV!==`production`&&l(e)})):R(e)?f=t?c?()=>c(e,2):e:()=>{if(p){dt();try{p()}finally{ft()}}let t=jn;jn=d;try{return c?c(e,3,[m]):e(m)}finally{jn=t}}:(f=k,process.env.NODE_ENV!==`production`&&l(e)),t&&i){let e=f,t=i===!0?1/0:i;f=()=>Pn(e(),t)}let _=Ke(),v=()=>{d.stop(),_&&_.active&&N(_.effects,d)};if(a&&t){let e=t;t=(...t)=>{let n=e(...t);return v(),n}}let y=g?Array(e.length).fill(kn):kn,b=e=>{if(!(!(d.flags&1)||!d.dirty&&!e))if(t){let n=d.run();if(e||i||h||(g?n.some((e,t)=>_e(e,y[t])):_e(n,y))){p&&p();let e=jn;jn=d;try{let e=[n,y===kn?void 0:g&&y[0]===kn?[]:y,m];y=n,c?c(t,3,e):t(...e)}finally{jn=e}}}else d.run()};return s&&s(b),d=new Xe(f),d.scheduler=o?()=>o(b,!1):b,m=e=>Mn(e,!1,d),p=d.onStop=()=>{let e=An.get(d);if(e){if(c)c(e,4);else for(let t of e)t();An.delete(d)}},process.env.NODE_ENV!==`production`&&(d.onTrack=n.onTrack,d.onTrigger=n.onTrigger),t?r?b(!0):y=d.run():o?o(b.bind(null,!0),!0):d.run(),v.pause=d.pause.bind(d),v.resume=d.resume.bind(d),v.stop=v,v}function Pn(e,t=1/0,n){if(t<=0||!B(e)||e.__v_skip||(n||=new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,yn(e))Pn(e.value,t,n);else if(F(e))for(let r=0;r<e.length;r++)Pn(e[r],t,n);else if(L(e)||I(e))e.forEach(e=>{Pn(e,t,n)});else if(se(e)){for(let r in e)Pn(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Pn(e[r],t,n)}return e}var Fn=[];function In(e){Fn.push(e)}function Ln(){Fn.pop()}var Rn=!1;function q(e,...t){if(Rn)return;Rn=!0,dt();let n=Fn.length?Fn[Fn.length-1].component:null,r=n&&n.appContext.config.warnHandler,i=zn();if(r)Kn(r,n,11,[e+t.map(e=>e.toString?.call(e)??JSON.stringify(e)).join(``),n&&n.proxy,i.map(({vnode:e})=>`at <${qs(n,e.type)}>`).join(`
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("zod"),require("@langchain/openai"),require("@langchain/core/tools"),require("@langchain/core/messages"),require("@langchain/core/errors")):typeof define==`function`&&define.amd?define([`exports`,`zod`,`@langchain/openai`,`@langchain/core/tools`,`@langchain/core/messages`,`@langchain/core/errors`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.ChatSdk={},e.Zod,e.LangchainOpenAI,e.LangchainCoreTools,e.LangchainCoreMessages,e.LangchainCoreErrors))})(this,function(e,t,n,r,i,a){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var o=Object.create,s=Object.defineProperty,c=Object.getOwnPropertyDescriptor,l=Object.getOwnPropertyNames,u=Object.getPrototypeOf,d=Object.prototype.hasOwnProperty,f=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),p=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=l(t),a=0,o=i.length,u;a<o;a++)u=i[a],!d.call(e,u)&&u!==n&&s(e,u,{get:(e=>t[e]).bind(null,u),enumerable:!(r=c(t,u))||r.enumerable});return e},m=(e,t,n)=>(n=e==null?{}:o(u(e)),p(t||!e||!e.__esModule?s(n,`default`,{value:e,enumerable:!0}):n,e));function h(e){return!!(e==null||typeof e==`string`||e instanceof ArrayBuffer||ArrayBuffer.isView(e)||typeof Blob<`u`&&e instanceof Blob||e instanceof URLSearchParams||e instanceof FormData)}function g(e){let t=e.model||`gpt-3.5-turbo`,r=e.temperature,i=e.maxTokens,a=e.baseUrl;if(e.mode===`direct`){let o=!1;try{o=typeof location<`u`&&location.protocol===`https:`&&![`localhost`,`127.0.0.1`,`0.0.0.0`].includes(location.hostname)}catch{}if(o){if(e.throwOnDirectInProduction)throw Error(`[page-agent-sdk][proxyLlm] direct 模式在生产环境(https + 非本地)会泄露 apiKey(进 bundle),建议改用 proxy 模式(throwOnDirectInProduction 已启用强安全闸;若确需生产直连,设为 false 显式承认风险)`);console.warn(`[page-agent-sdk][proxyLlm] direct 模式在生产环境(https + 非本地)会泄露 apiKey(进 bundle),建议改用 proxy 模式`)}if(!e.apiKey)throw Error(`[page-agent-sdk][proxyLlm] direct 模式需提供 apiKey(开发环境用真实 key)`);return new n.ChatOpenAI({apiKey:e.apiKey,model:t,temperature:r,maxTokens:i,configuration:a?{baseURL:a}:void 0})}a||console.warn(`[page-agent-sdk][proxyLlm] proxy 模式未配 baseUrl,将打到页面 origin(通常不是预期);请传代理地址如 '/api/llm'`);let o=e.userToken||`proxy`,s=null;function c(){return e.refreshToken?(s||=e.refreshToken().finally(()=>{s=null}),s):Promise.resolve(o)}return new n.ChatOpenAI({apiKey:o,model:t,temperature:r,maxTokens:i,configuration:{baseURL:a||`/`,fetch:async(t,n)=>{let r,i;typeof t==`string`?(r=t,i=n?.headers):t instanceof URL?(r=t.toString(),i=n?.headers):(r=t.url,i=n?.headers??t.headers);let a=new Headers(i);if(a.set(`Authorization`,`Bearer ${o}`),e.headers)for(let[t,n]of Object.entries(e.headers))a.set(t,n);let s=()=>fetch(r,{...n,headers:a}),l=await s();if(l.status===401&&e.refreshToken&&h(n?.body))try{o=await c(),a.set(`Authorization`,`Bearer ${o}`),l=await s()}catch{}return l}}})}function _(e,t){if(t?.headers){let e=new Headers(t.headers),n=!1;for(let t of[...e.keys()])t.toLowerCase().startsWith(`x-stainless`)&&(e.delete(t),n=!0);n&&(t={...t,headers:e})}return fetch(e,t)}function v(e){return!e||!e.startsWith(`/`)||typeof location>`u`||!location.origin?e:`${location.origin}${e}`}function y(e,t={}){return new n.ChatOpenAI({apiKey:e.apiKey,model:e.model,temperature:t.temperature??e.temperature,maxTokens:t.maxTokens??e.maxTokens,configuration:{...e.baseUrl?{baseURL:v(e.baseUrl)}:{},fetch:_,...e.extraConfig},...e.extraBody?{modelKwargs:e.extraBody}:{}})}async function b(e,t={}){if((e.provider??`openai`)===`openai`)return y(e,t);let{ChatAnthropic:n}=await import(`@langchain/anthropic`);return new n({apiKey:e.apiKey,model:e.model,temperature:t.temperature??e.temperature,maxTokens:t.maxTokens??e.maxTokens,...e.baseUrl?{anthropicApiUrl:v(e.baseUrl)}:{},...e.extraConfig?{clientOptions:e.extraConfig}:{},...e.cacheControl?{invocationKwargs:{cache_control:{type:`ephemeral`,...e.cacheControl===!0?{}:{ttl:e.cacheControl}}}}:{}})}function x(e){let t=e.content;return typeof t==`string`?t:Array.isArray(t)?t.map(e=>typeof e==`string`?e:e?.type===`text`&&typeof e.text==`string`?e.text:``).join(``):``}function S(e){let t=e.additional_kwargs||{},n=t.reasoning_content||t.reasoning||``;return!n&&Array.isArray(e.content)&&(n=e.content.map(e=>e?.type===`thinking`?e.thinking??``:e?.type===`thinking_delta`?e.delta??e.thinking??``:``).join(``)),n}function C(e){let t=e,n=[t?.additional_kwargs?.usage,t?.usage_metadata,t?.response_metadata?.usage,t?.response_metadata?.token_usage,t?.response_metadata?.tokenUsage];for(let e of n)if(e&&typeof e==`object`&&w(e))return e}function w(e){return[`prompt_tokens`,`completion_tokens`,`total_tokens`,`promptTokens`,`completionTokens`,`totalTokens`,`input_tokens`,`output_tokens`,`inputTokens`,`outputTokens`].some(t=>typeof e[t]==`number`&&e[t]>0)}function T(e){let t=C(e);if(!t||typeof t!=`object`)return null;let n=t,r=Number(n.prompt_tokens??n.promptTokens??n.input_tokens??n.inputTokens??0)||0,i=Number(n.completion_tokens??n.completionTokens??n.output_tokens??n.outputTokens??0)||0,a=Number(n.total_tokens??n.totalTokens??r+i)||0;if(!r&&!i&&!a)return null;let o=n.input_token_details,s=Number(n.cache_read_input_tokens??n.cacheReadInputTokens??o?.cache_read??0)||0,c=Number(n.cache_creation_input_tokens??n.cacheCreationInputTokens??o?.cache_creation??0)||0;return{prompt_tokens:r,completion_tokens:i,total_tokens:a,...s?{cache_read_input_tokens:s}:{},...c?{cache_creation_input_tokens:c}:{}}}function E(e){let t=Object.create(null);for(let n of e.split(`,`))t[n]=1;return e=>e in t}var D=process.env.NODE_ENV===`production`?{}:Object.freeze({}),O=process.env.NODE_ENV===`production`?[]:Object.freeze([]),k=()=>{},A=()=>!1,ee=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),j=e=>e.startsWith(`onUpdate:`),M=Object.assign,N=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},te=Object.prototype.hasOwnProperty,P=(e,t)=>te.call(e,t),F=Array.isArray,I=e=>V(e)===`[object Map]`,L=e=>V(e)===`[object Set]`,ne=e=>V(e)===`[object Date]`,R=e=>typeof e==`function`,z=e=>typeof e==`string`,re=e=>typeof e==`symbol`,B=e=>typeof e==`object`&&!!e,ie=e=>(B(e)||R(e))&&R(e.then)&&R(e.catch),ae=Object.prototype.toString,V=e=>ae.call(e),oe=e=>V(e).slice(8,-1),se=e=>V(e)===`[object Object]`,H=e=>z(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,ce=E(`,key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted`),le=E(`bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo`),ue=e=>{let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},de=/-\w/g,fe=ue(e=>e.replace(de,e=>e.slice(1).toUpperCase())),pe=/\B([A-Z])/g,me=ue(e=>e.replace(pe,`-$1`).toLowerCase()),he=ue(e=>e.charAt(0).toUpperCase()+e.slice(1)),ge=ue(e=>e?`on${he(e)}`:``),_e=(e,t)=>!Object.is(e,t),ve=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},ye=(e,t,n,r=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},be=e=>{let t=parseFloat(e);return isNaN(t)?e:t},xe=e=>{let t=z(e)?Number(e):NaN;return isNaN(t)?e:t},Se,Ce=()=>Se||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{};function we(e){if(F(e)){let t={};for(let n=0;n<e.length;n++){let r=e[n],i=z(r)?Oe(r):we(r);if(i)for(let e in i)t[e]=i[e]}return t}else if(z(e)||B(e))return e}var Te=/;(?![^(]*\))/g,Ee=/:([^]+)/,De=/\/\*[^]*?\*\//g;function Oe(e){let t={};return e.replace(De,``).split(Te).forEach(e=>{if(e){let n=e.split(Ee);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function U(e){let t=``;if(z(e))t=e;else if(F(e))for(let n=0;n<e.length;n++){let r=U(e[n]);r&&(t+=r+` `)}else if(B(e))for(let n in e)e[n]&&(t+=n+` `);return t.trim()}var ke=`html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot`,Ae=`svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,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,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view`,je=`annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics`,Me=E(ke),Ne=E(Ae),Pe=E(je),Fe=`itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`,Ie=E(Fe);Fe+``;function Le(e){return!!e||e===``}function Re(e,t){if(e.length!==t.length)return!1;let n=!0;for(let r=0;n&&r<e.length;r++)n=ze(e[r],t[r]);return n}function ze(e,t){if(e===t)return!0;let n=ne(e),r=ne(t);if(n||r)return n&&r?e.getTime()===t.getTime():!1;if(n=re(e),r=re(t),n||r)return e===t;if(n=F(e),r=F(t),n||r)return n&&r?Re(e,t):!1;if(n=B(e),r=B(t),n||r){if(!n||!r||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e){let r=e.hasOwnProperty(n),i=t.hasOwnProperty(n);if(r&&!i||!r&&i||!ze(e[n],t[n]))return!1}}return String(e)===String(t)}var Be=e=>!!(e&&e.__v_isRef===!0),W=e=>z(e)?e:e==null?``:F(e)||B(e)&&(e.toString===ae||!R(e.toString))?Be(e)?W(e.value):JSON.stringify(e,Ve,2):String(e),Ve=(e,t)=>Be(t)?Ve(e,t.value):I(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[He(t,r)+` =>`]=n,e),{})}:L(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>He(e))}:re(t)?He(t):B(t)&&!F(t)&&!se(t)?String(t):t,He=(e,t=``)=>re(e)?`Symbol(${e.description??t})`:e;function Ue(e,...t){console.warn(`[Vue warn] ${e}`,...t)}var We,Ge=class{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!e&&We&&(We.active?(this.parent=We,this.index=(We.scopes||=[]).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e<t;e++)this.scopes[e].pause();for(e=0,t=this.effects.length;e<t;e++)this.effects[e].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e<t;e++)this.scopes[e].resume();for(e=0,t=this.effects.length;e<t;e++)this.effects[e].resume()}}run(e){if(this._active){let t=We;try{return We=this,e()}finally{We=t}}else process.env.NODE_ENV!==`production`&&this._warnOnRun&&Ue(`cannot run an inactive effect scope.`)}on(){++this._on===1&&(this.prevScope=We,We=this)}off(){if(this._on>0&&--this._on===0){if(We===this)We=this.prevScope;else{let e=We;for(;e;){if(e.prevScope===this){e.prevScope=this.prevScope;break}e=e.prevScope}}this.prevScope=void 0}}stop(e){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t<n;t++)this.effects[t].stop();for(this.effects.length=0,t=0,n=this.cleanups.length;t<n;t++)this.cleanups[t]();if(this.cleanups.length=0,this.scopes){for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!e){let e=this.parent.scopes.pop();e&&e!==this&&(this.parent.scopes[this.index]=e,e.index=this.index)}this.parent=void 0}}};function Ke(){return We}function qe(e,t=!1){We?We.cleanups.push(e):process.env.NODE_ENV!==`production`&&!t&&Ue(`onScopeDispose() is called when there is no active effect scope to be associated with.`)}var Je,Ye=new WeakSet,Xe=class{constructor(e){this.fn=e,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,We&&(We.active?We.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Ye.has(this)&&(Ye.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||et(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,pt(this),rt(this);let e=Je,t=lt;Je=this,lt=!0;try{return this.fn()}finally{process.env.NODE_ENV!==`production`&&Je!==this&&Ue(`Active effect was not restored correctly - this is likely a Vue internal bug.`),it(this),Je=e,lt=t,this.flags&=-3}}stop(){if(this.flags&1){for(let e=this.deps;e;e=e.nextDep)st(e);this.deps=this.depsTail=void 0,pt(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Ye.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){at(this)&&this.run()}get dirty(){return at(this)}},Ze=0,Qe,$e;function et(e,t=!1){if(e.flags|=8,t){e.next=$e,$e=e;return}e.next=Qe,Qe=e}function tt(){Ze++}function nt(){if(--Ze>0)return;if($e){let e=$e;for($e=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;Qe;){let t=Qe;for(Qe=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(t){e||=t}t=n}}if(e)throw e}function rt(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function it(e){let t,n=e.depsTail,r=n;for(;r;){let e=r.prevDep;r.version===-1?(r===n&&(n=e),st(r),ct(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function at(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ot(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ot(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===mt)||(e.globalVersion=mt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!at(e))))return;e.flags|=2;let t=e.dep,n=Je,r=lt;Je=e,lt=!0;try{rt(e);let n=e.fn(e._value);(t.version===0||_e(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(e){throw t.version++,e}finally{Je=n,lt=r,it(e),e.flags&=-3}}function st(e,t=!1){let{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),process.env.NODE_ENV!==`production`&&n.subsHead===e&&(n.subsHead=i),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)st(e,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function ct(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}var lt=!0,ut=[];function dt(){ut.push(lt),lt=!1}function ft(){let e=ut.pop();lt=e===void 0||e}function pt(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=Je;Je=void 0;try{t()}finally{Je=e}}}var mt=0,ht=class{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},gt=class{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0,process.env.NODE_ENV!==`production`&&(this.subsHead=void 0)}track(e){if(!Je||!lt||Je===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==Je)t=this.activeLink=new ht(Je,this),Je.deps?(t.prevDep=Je.depsTail,Je.depsTail.nextDep=t,Je.depsTail=t):Je.deps=Je.depsTail=t,_t(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=Je.depsTail,t.nextDep=void 0,Je.depsTail.nextDep=t,Je.depsTail=t,Je.deps===t&&(Je.deps=e)}return process.env.NODE_ENV!==`production`&&Je.onTrack&&Je.onTrack(M({effect:Je},e)),t}trigger(e){this.version++,mt++,this.notify(e)}notify(e){tt();try{if(process.env.NODE_ENV!==`production`)for(let t=this.subsHead;t;t=t.nextSub)t.sub.onTrigger&&!(t.sub.flags&8)&&t.sub.onTrigger(M({effect:t.sub},e));for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{nt()}}};function _t(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)_t(e)}let n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),process.env.NODE_ENV!==`production`&&e.dep.subsHead===void 0&&(e.dep.subsHead=e),e.dep.subs=e}}var vt=new WeakMap,yt=Symbol(process.env.NODE_ENV===`production`?``:`Object iterate`),bt=Symbol(process.env.NODE_ENV===`production`?``:`Map keys iterate`),xt=Symbol(process.env.NODE_ENV===`production`?``:`Array iterate`);function St(e,t,n){if(lt&&Je){let r=vt.get(e);r||vt.set(e,r=new Map);let i=r.get(n);i||(r.set(n,i=new gt),i.map=r,i.key=n),process.env.NODE_ENV===`production`?i.track():i.track({target:e,type:t,key:n})}}function Ct(e,t,n,r,i,a){let o=vt.get(e);if(!o){mt++;return}let s=o=>{o&&(process.env.NODE_ENV===`production`?o.trigger():o.trigger({target:e,type:t,key:n,newValue:r,oldValue:i,oldTarget:a}))};if(tt(),t===`clear`)o.forEach(s);else{let i=F(e),a=i&&H(n);if(i&&n===`length`){let e=Number(r);o.forEach((t,n)=>{(n===`length`||n===xt||!re(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(xt)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get(yt)),I(e)&&s(o.get(bt)));break;case`delete`:i||(s(o.get(yt)),I(e)&&s(o.get(bt)));break;case`set`:I(e)&&s(o.get(yt));break}}nt()}function wt(e){let t=hn(e);return t===e?t:(St(t,`iterate`,xt),pn(e)?t:t.map(_n))}function Tt(e){return St(e=hn(e),`iterate`,xt),e}function Et(e,t){return fn(e)?vn(dn(e)?_n(t):t):_n(t)}var Dt={__proto__:null,[Symbol.iterator](){return G(this,Symbol.iterator,e=>Et(this,e))},concat(...e){return wt(this).concat(...e.map(e=>F(e)?wt(e):e))},entries(){return G(this,`entries`,e=>(e[1]=Et(this,e[1]),e))},every(e,t){return kt(this,`every`,e,t,void 0,arguments)},filter(e,t){return kt(this,`filter`,e,t,e=>e.map(e=>Et(this,e)),arguments)},find(e,t){return kt(this,`find`,e,t,e=>Et(this,e),arguments)},findIndex(e,t){return kt(this,`findIndex`,e,t,void 0,arguments)},findLast(e,t){return kt(this,`findLast`,e,t,e=>Et(this,e),arguments)},findLastIndex(e,t){return kt(this,`findLastIndex`,e,t,void 0,arguments)},forEach(e,t){return kt(this,`forEach`,e,t,void 0,arguments)},includes(...e){return jt(this,`includes`,e)},indexOf(...e){return jt(this,`indexOf`,e)},join(e){return wt(this).join(e)},lastIndexOf(...e){return jt(this,`lastIndexOf`,e)},map(e,t){return kt(this,`map`,e,t,void 0,arguments)},pop(){return Mt(this,`pop`)},push(...e){return Mt(this,`push`,e)},reduce(e,...t){return At(this,`reduce`,e,t)},reduceRight(e,...t){return At(this,`reduceRight`,e,t)},shift(){return Mt(this,`shift`)},some(e,t){return kt(this,`some`,e,t,void 0,arguments)},splice(...e){return Mt(this,`splice`,e)},toReversed(){return wt(this).toReversed()},toSorted(e){return wt(this).toSorted(e)},toSpliced(...e){return wt(this).toSpliced(...e)},unshift(...e){return Mt(this,`unshift`,e)},values(){return G(this,`values`,e=>Et(this,e))}};function G(e,t,n){let r=Tt(e),i=r[t]();return r!==e&&!pn(e)&&(i._next=i.next,i.next=()=>{let e=i._next();return e.done||(e.value=n(e.value)),e}),i}var Ot=Array.prototype;function kt(e,t,n,r,i,a){let o=Tt(e),s=o!==e&&!pn(e),c=o[t];if(c!==Ot[t]){let t=c.apply(e,a);return s?_n(t):t}let l=n;o!==e&&(s?l=function(t,r){return n.call(this,Et(e,t),r,e)}:n.length>2&&(l=function(t,r){return n.call(this,t,r,e)}));let u=c.call(o,l,r);return s&&i?i(u):u}function At(e,t,n,r){let i=Tt(e),a=i!==e&&!pn(e),o=n,s=!1;i!==e&&(a?(s=r.length===0,o=function(t,r,i){return s&&(s=!1,t=Et(e,t)),n.call(this,t,Et(e,r),i,e)}):n.length>3&&(o=function(t,r,i){return n.call(this,t,r,i,e)}));let c=i[t](o,...r);return s?Et(e,c):c}function jt(e,t,n){let r=hn(e);St(r,`iterate`,xt);let i=r[t](...n);return(i===-1||i===!1)&&mn(n[0])?(n[0]=hn(n[0]),r[t](...n)):i}function Mt(e,t,n=[]){dt(),tt();let r=hn(e)[t].apply(e,n);return nt(),ft(),r}var Nt=E(`__proto__,__v_isRef,__isVue`),Pt=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==`arguments`&&e!==`caller`).map(e=>Symbol[e]).filter(re));function Ft(e){re(e)||(e=String(e));let t=hn(this);return St(t,`has`,e),t.hasOwnProperty(e)}var It=class{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if(t===`__v_skip`)return e.__v_skip;let r=this._isReadonly,i=this._isShallow;if(t===`__v_isReactive`)return!r;if(t===`__v_isReadonly`)return r;if(t===`__v_isShallow`)return i;if(t===`__v_raw`)return n===(r?i?rn:nn:i?tn:en).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let a=F(e);if(!r){let e;if(a&&(e=Dt[t]))return e;if(t===`hasOwnProperty`)return Ft}let o=Reflect.get(e,t,yn(e)?e:n);if((re(t)?Pt.has(t):Nt(t))||(r||St(e,`get`,t),i))return o;if(yn(o)){let e=a&&H(t)?o:o.value;return r&&B(e)?cn(e):e}return B(o)?r?cn(o):on(o):o}},Lt=class extends It{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t],a=F(e)&&H(t);if(!this._isShallow){let r=fn(i);if(!pn(n)&&!fn(n)&&(i=hn(i),n=hn(n)),!a&&yn(i)&&!yn(n))return r?(process.env.NODE_ENV!==`production`&&Ue(`Set operation on key "${String(t)}" failed: target is readonly.`,e[t]),!0):(i.value=n,!0)}let o=a?Number(t)<e.length:P(e,t),s=Reflect.set(e,t,n,yn(e)?e:r);return e===hn(r)&&s&&(o?_e(n,i)&&Ct(e,`set`,t,n,i):Ct(e,`add`,t,n)),s}deleteProperty(e,t){let n=P(e,t),r=e[t],i=Reflect.deleteProperty(e,t);return i&&n&&Ct(e,`delete`,t,void 0,r),i}has(e,t){let n=Reflect.has(e,t);return(!re(t)||!Pt.has(t))&&St(e,`has`,t),n}ownKeys(e){return St(e,`iterate`,F(e)?`length`:yt),Reflect.ownKeys(e)}},Rt=class extends It{constructor(e=!1){super(!0,e)}set(e,t){return process.env.NODE_ENV!==`production`&&Ue(`Set operation on key "${String(t)}" failed: target is readonly.`,e),!0}deleteProperty(e,t){return process.env.NODE_ENV!==`production`&&Ue(`Delete operation on key "${String(t)}" failed: target is readonly.`,e),!0}},zt=new Lt,Bt=new Rt,Vt=new Lt(!0),Ht=new Rt(!0),Ut=e=>e,Wt=e=>Reflect.getPrototypeOf(e);function Gt(e,t,n){return function(...r){let i=this.__v_raw,a=hn(i),o=I(a),s=e===`entries`||e===Symbol.iterator&&o,c=e===`keys`&&o,l=i[e](...r),u=n?Ut:t?vn:_n;return!t&&St(a,`iterate`,c?bt:yt),M(Object.create(l),{next(){let{value:e,done:t}=l.next();return t?{value:e,done:t}:{value:s?[u(e[0]),u(e[1])]:u(e),done:t}}})}}function Kt(e){return function(...t){if(process.env.NODE_ENV!==`production`){let n=t[0]?`on key "${t[0]}" `:``;Ue(`${he(e)} operation ${n}failed: target is readonly.`,hn(this))}return e===`delete`?!1:e===`clear`?void 0:this}}function qt(e,t){let n={get(n){let r=this.__v_raw,i=hn(r),a=hn(n);e||(_e(n,a)&&St(i,`get`,n),St(i,`get`,a));let{has:o}=Wt(i),s=t?Ut:e?vn:_n;if(o.call(i,n))return s(r.get(n));if(o.call(i,a))return s(r.get(a));r!==i&&r.get(n)},get size(){let t=this.__v_raw;return!e&&St(hn(t),`iterate`,yt),t.size},has(t){let n=this.__v_raw,r=hn(n),i=hn(t);return e||(_e(t,i)&&St(r,`has`,t),St(r,`has`,i)),t===i?n.has(t):n.has(t)||n.has(i)},forEach(n,r){let i=this,a=i.__v_raw,o=hn(a),s=t?Ut:e?vn:_n;return!e&&St(o,`iterate`,yt),a.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return M(n,e?{add:Kt(`add`),set:Kt(`set`),delete:Kt(`delete`),clear:Kt(`clear`)}:{add(e){let n=hn(this),r=Wt(n),i=hn(e),a=!t&&!pn(e)&&!fn(e)?i:e;return r.has.call(n,a)||_e(e,a)&&r.has.call(n,e)||_e(i,a)&&r.has.call(n,i)||(n.add(a),Ct(n,`add`,a,a)),this},set(e,n){!t&&!pn(n)&&!fn(n)&&(n=hn(n));let r=hn(this),{has:i,get:a}=Wt(r),o=i.call(r,e);o?process.env.NODE_ENV!==`production`&&$t(r,i,e):(e=hn(e),o=i.call(r,e));let s=a.call(r,e);return r.set(e,n),o?_e(n,s)&&Ct(r,`set`,e,n,s):Ct(r,`add`,e,n),this},delete(e){let t=hn(this),{has:n,get:r}=Wt(t),i=n.call(t,e);i?process.env.NODE_ENV!==`production`&&$t(t,n,e):(e=hn(e),i=n.call(t,e));let a=r?r.call(t,e):void 0,o=t.delete(e);return i&&Ct(t,`delete`,e,void 0,a),o},clear(){let e=hn(this),t=e.size!==0,n=process.env.NODE_ENV===`production`?void 0:I(e)?new Map(e):new Set(e),r=e.clear();return t&&Ct(e,`clear`,void 0,void 0,n),r}}),[`keys`,`values`,`entries`,Symbol.iterator].forEach(r=>{n[r]=Gt(r,e,t)}),n}function Jt(e,t){let n=qt(e,t);return(t,r,i)=>r===`__v_isReactive`?!e:r===`__v_isReadonly`?e:r===`__v_raw`?t:Reflect.get(P(n,r)&&r in t?n:t,r,i)}var Yt={get:Jt(!1,!1)},Xt={get:Jt(!1,!0)},Zt={get:Jt(!0,!1)},Qt={get:Jt(!0,!0)};function $t(e,t,n){let r=hn(n);if(r!==n&&t.call(e,r)){let t=oe(e);Ue(`Reactive ${t} contains both the raw and reactive versions of the same object${t===`Map`?` as keys`:``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`)}}var en=new WeakMap,tn=new WeakMap,nn=new WeakMap,rn=new WeakMap;function an(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 2;default:return 0}}function on(e){return fn(e)?e:un(e,!1,zt,Yt,en)}function sn(e){return un(e,!1,Vt,Xt,tn)}function cn(e){return un(e,!0,Bt,Zt,nn)}function ln(e){return un(e,!0,Ht,Qt,rn)}function un(e,t,n,r,i){if(!B(e))return process.env.NODE_ENV!==`production`&&Ue(`value cannot be made ${t?`readonly`:`reactive`}: ${String(e)}`),e;if(e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;let a=i.get(e);if(a)return a;let o=an(oe(e));if(o===0)return e;let s=new Proxy(e,o===2?r:n);return i.set(e,s),s}function dn(e){return fn(e)?dn(e.__v_raw):!!(e&&e.__v_isReactive)}function fn(e){return!!(e&&e.__v_isReadonly)}function pn(e){return!!(e&&e.__v_isShallow)}function mn(e){return e?!!e.__v_raw:!1}function hn(e){let t=e&&e.__v_raw;return t?hn(t):e}function gn(e){return!P(e,`__v_skip`)&&Object.isExtensible(e)&&ye(e,`__v_skip`,!0),e}var _n=e=>B(e)?on(e):e,vn=e=>B(e)?cn(e):e;function yn(e){return e?e.__v_isRef===!0:!1}function bn(e){return Sn(e,!1)}function xn(e){return Sn(e,!0)}function Sn(e,t){return yn(e)?e:new Cn(e,t)}var Cn=class{constructor(e,t){this.dep=new gt,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:hn(e),this._value=t?e:_n(e),this.__v_isShallow=t}get value(){return process.env.NODE_ENV===`production`?this.dep.track():this.dep.track({target:this,type:`get`,key:`value`}),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||pn(e)||fn(e);e=n?e:hn(e),_e(e,t)&&(this._rawValue=e,this._value=n?e:_n(e),process.env.NODE_ENV===`production`?this.dep.trigger():this.dep.trigger({target:this,type:`set`,key:`value`,newValue:e,oldValue:t}))}};function wn(e){e.dep&&(process.env.NODE_ENV===`production`?e.dep.trigger():e.dep.trigger({target:e,type:`set`,key:`value`,newValue:e._value}))}function K(e){return yn(e)?e.value:e}var Tn={get:(e,t,n)=>t===`__v_raw`?e:K(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let i=e[t];return yn(i)&&!yn(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function En(e){return dn(e)?e:new Proxy(e,Tn)}var Dn=class{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new gt(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=mt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Je!==this)return et(this,!0),!0;process.env.NODE_ENV}get value(){let e=process.env.NODE_ENV===`production`?this.dep.track():this.dep.track({target:this,type:`get`,key:`value`});return ot(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter?this.setter(e):process.env.NODE_ENV!==`production`&&Ue(`Write operation failed: computed value is readonly`)}};function On(e,t,n=!1){let r,i;R(e)?r=e:(r=e.get,i=e.set);let a=new Dn(r,i,n);return process.env.NODE_ENV!==`production`&&t&&!n&&(a.onTrack=t.onTrack,a.onTrigger=t.onTrigger),a}var kn={},An=new WeakMap,jn=void 0;function Mn(e,t=!1,n=jn){if(n){let t=An.get(n);t||An.set(n,t=[]),t.push(e)}else process.env.NODE_ENV!==`production`&&!t&&Ue(`onWatcherCleanup() was called when there was no active watcher to associate with.`)}function Nn(e,t,n=D){let{immediate:r,deep:i,once:a,scheduler:o,augmentJob:s,call:c}=n,l=e=>{(n.onWarn||Ue)(`Invalid watch source: `,e,`A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`)},u=e=>i?e:pn(e)||i===!1||i===0?Pn(e,1):Pn(e),d,f,p,m,h=!1,g=!1;if(yn(e)?(f=()=>e.value,h=pn(e)):dn(e)?(f=()=>u(e),h=!0):F(e)?(g=!0,h=e.some(e=>dn(e)||pn(e)),f=()=>e.map(e=>{if(yn(e))return e.value;if(dn(e))return u(e);if(R(e))return c?c(e,2):e();process.env.NODE_ENV!==`production`&&l(e)})):R(e)?f=t?c?()=>c(e,2):e:()=>{if(p){dt();try{p()}finally{ft()}}let t=jn;jn=d;try{return c?c(e,3,[m]):e(m)}finally{jn=t}}:(f=k,process.env.NODE_ENV!==`production`&&l(e)),t&&i){let e=f,t=i===!0?1/0:i;f=()=>Pn(e(),t)}let _=Ke(),v=()=>{d.stop(),_&&_.active&&N(_.effects,d)};if(a&&t){let e=t;t=(...t)=>{let n=e(...t);return v(),n}}let y=g?Array(e.length).fill(kn):kn,b=e=>{if(!(!(d.flags&1)||!d.dirty&&!e))if(t){let n=d.run();if(e||i||h||(g?n.some((e,t)=>_e(e,y[t])):_e(n,y))){p&&p();let e=jn;jn=d;try{let e=[n,y===kn?void 0:g&&y[0]===kn?[]:y,m];y=n,c?c(t,3,e):t(...e)}finally{jn=e}}}else d.run()};return s&&s(b),d=new Xe(f),d.scheduler=o?()=>o(b,!1):b,m=e=>Mn(e,!1,d),p=d.onStop=()=>{let e=An.get(d);if(e){if(c)c(e,4);else for(let t of e)t();An.delete(d)}},process.env.NODE_ENV!==`production`&&(d.onTrack=n.onTrack,d.onTrigger=n.onTrigger),t?r?b(!0):y=d.run():o?o(b.bind(null,!0),!0):d.run(),v.pause=d.pause.bind(d),v.resume=d.resume.bind(d),v.stop=v,v}function Pn(e,t=1/0,n){if(t<=0||!B(e)||e.__v_skip||(n||=new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,yn(e))Pn(e.value,t,n);else if(F(e))for(let r=0;r<e.length;r++)Pn(e[r],t,n);else if(L(e)||I(e))e.forEach(e=>{Pn(e,t,n)});else if(se(e)){for(let r in e)Pn(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Pn(e[r],t,n)}return e}var Fn=[];function In(e){Fn.push(e)}function Ln(){Fn.pop()}var Rn=!1;function q(e,...t){if(Rn)return;Rn=!0,dt();let n=Fn.length?Fn[Fn.length-1].component:null,r=n&&n.appContext.config.warnHandler,i=zn();if(r)Kn(r,n,11,[e+t.map(e=>e.toString?.call(e)??JSON.stringify(e)).join(``),n&&n.proxy,i.map(({vnode:e})=>`at <${qs(n,e.type)}>`).join(`
|
|
2
2
|
`),i]);else{let n=[`[Vue warn]: ${e}`,...t];i.length&&n.push(`
|
|
3
3
|
`,...Bn(i)),console.warn(...n)}ft(),Rn=!1}function zn(){let e=Fn[Fn.length-1];if(!e)return[];let t=[];for(;e;){let n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});let r=e.component&&e.component.parent;e=r&&r.vnode}return t}function Bn(e){let t=[];return e.forEach((e,n)=>{t.push(...n===0?[]:[`
|
|
4
4
|
`],...Vn(e))}),t}function Vn({vnode:e,recurseCount:t}){let n=t>0?`... (${t} recursive calls)`:``,r=e.component?e.component.parent==null:!1,i=` at <${qs(e.component,e.type,r)}`,a=`>`+n;return e.props?[i,...Hn(e.props),a]:[i+a]}function Hn(e){let t=[],n=Object.keys(e);return n.slice(0,3).forEach(n=>{t.push(...Un(n,e[n]))}),n.length>3&&t.push(` ...`),t}function Un(e,t,n){return z(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t==`number`||typeof t==`boolean`||t==null?n?t:[`${e}=${t}`]:yn(t)?(t=Un(e,hn(t.value),!0),n?t:[`${e}=Ref<`,t,`>`]):R(t)?[`${e}=fn${t.name?`<${t.name}>`:``}`]:(t=hn(t),n?t:[`${e}=`,t])}function Wn(e,t){process.env.NODE_ENV!==`production`&&e!==void 0&&(typeof e==`number`?isNaN(e)&&q(`${t} is NaN - the duration expression might be incorrect.`):q(`${t} is not a valid number - got ${JSON.stringify(e)}.`))}var Gn={sp:`serverPrefetch hook`,bc:`beforeCreate hook`,c:`created hook`,bm:`beforeMount hook`,m:`mounted hook`,bu:`beforeUpdate hook`,u:`updated`,bum:`beforeUnmount hook`,um:`unmounted hook`,a:`activated hook`,da:`deactivated hook`,ec:`errorCaptured hook`,rtc:`renderTracked hook`,rtg:`renderTriggered hook`,0:`setup function`,1:`render function`,2:`watcher getter`,3:`watcher callback`,4:`watcher cleanup function`,5:`native event handler`,6:`component event handler`,7:`vnode hook`,8:`directive hook`,9:`transition hook`,10:`app errorHandler`,11:`app warnHandler`,12:`ref function`,13:`async component loader`,14:`scheduler flush`,15:`component update`,16:`app unmount cleanup function`};function Kn(e,t,n,r){try{return r?e(...r):e()}catch(e){Jn(e,t,n)}}function qn(e,t,n,r){if(R(e)){let i=Kn(e,t,n,r);return i&&ie(i)&&i.catch(e=>{Jn(e,t,n)}),i}if(F(e)){let i=[];for(let a=0;a<e.length;a++)i.push(qn(e[a],t,n,r));return i}else process.env.NODE_ENV!==`production`&&q(`Invalid value type passed to callWithAsyncErrorHandling(): ${typeof e}`)}function Jn(e,t,n,r=!0){let i=t?t.vnode:null,{errorHandler:a,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||D;if(t){let r=t.parent,i=t.proxy,o=process.env.NODE_ENV===`production`?`https://vuejs.org/error-reference/#runtime-${n}`:Gn[n];for(;r;){let t=r.ec;if(t){for(let n=0;n<t.length;n++)if(t[n](e,i,o)===!1)return}r=r.parent}if(a){dt(),Kn(a,null,10,[e,i,o]),ft();return}}Yn(e,n,i,r,o)}function Yn(e,t,n,r=!0,i=!1){if(process.env.NODE_ENV!==`production`){let i=Gn[t];if(n&&In(n),q(`Unhandled error${i?` during execution of ${i}`:``}`),n&&Ln(),r)throw e;console.error(e)}else if(i)throw e;else console.error(e)}var Xn=[],Zn=-1,Qn=[],$n=null,er=0,tr=Promise.resolve(),nr=null,rr=100;function ir(e){let t=nr||tr;return e?t.then(this?e.bind(this):e):t}function ar(e){let t=Zn+1,n=Xn.length;for(;t<n;){let r=t+n>>>1,i=Xn[r],a=dr(i);a<e||a===e&&i.flags&2?t=r+1:n=r}return t}function or(e){if(!(e.flags&1)){let t=dr(e),n=Xn[Xn.length-1];!n||!(e.flags&2)&&t>=dr(n)?Xn.push(e):Xn.splice(ar(t),0,e),e.flags|=1,sr()}}function sr(){nr||=tr.then(fr)}function cr(e){F(e)?Qn.push(...e):$n&&e.id===-1?$n.splice(er+1,0,e):e.flags&1||(Qn.push(e),e.flags|=1),sr()}function lr(e,t,n=Zn+1){for(process.env.NODE_ENV!==`production`&&(t||=new Map);n<Xn.length;n++){let r=Xn[n];if(r&&r.flags&2){if(e&&r.id!==e.uid||process.env.NODE_ENV!==`production`&&pr(t,r))continue;Xn.splice(n,1),n--,r.flags&4&&(r.flags&=-2),r(),r.flags&4||(r.flags&=-2)}}}function ur(e){if(Qn.length){let t=[...new Set(Qn)].sort((e,t)=>dr(e)-dr(t));if(Qn.length=0,$n){$n.push(...t);return}for($n=t,process.env.NODE_ENV!==`production`&&(e||=new Map),er=0;er<$n.length;er++){let t=$n[er];process.env.NODE_ENV!==`production`&&pr(e,t)||(t.flags&4&&(t.flags&=-2),t.flags&8||t(),t.flags&=-2)}$n=null,er=0}}var dr=e=>e.id==null?e.flags&2?-1:1/0:e.id;function fr(e){process.env.NODE_ENV!==`production`&&(e||=new Map);let t=process.env.NODE_ENV===`production`?k:t=>pr(e,t);try{for(Zn=0;Zn<Xn.length;Zn++){let e=Xn[Zn];if(e&&!(e.flags&8)){if(process.env.NODE_ENV!==`production`&&t(e))continue;e.flags&4&&(e.flags&=-2),Kn(e,e.i,e.i?15:14),e.flags&4||(e.flags&=-2)}}}finally{for(;Zn<Xn.length;Zn++){let e=Xn[Zn];e&&(e.flags&=-2)}Zn=-1,Xn.length=0,ur(e),nr=null,(Xn.length||Qn.length)&&fr(e)}}function pr(e,t){let n=e.get(t)||0;if(n>rr){let e=t.i,n=e&&Ks(e.type);return Jn(`Maximum recursive updates exceeded${n?` in component <${n}>`:``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,null,10),!0}return e.set(t,n+1),!1}var mr=!1,hr=e=>{try{return mr}finally{mr=e}},gr=new Map;process.env.NODE_ENV!==`production`&&(Ce().__VUE_HMR_RUNTIME__={createRecord:Tr(br),rerender:Tr(Sr),reload:Tr(Cr)});var _r=new Map;function vr(e){let t=e.type.__hmrId,n=_r.get(t);n||=(br(t,e.type),_r.get(t)),n.instances.add(e)}function yr(e){_r.get(e.type.__hmrId).instances.delete(e)}function br(e,t){return _r.has(e)?!1:(_r.set(e,{initialDef:xr(t),instances:new Set}),!0)}function xr(e){return Js(e)?e.__vccOpts:e}function Sr(e,t){let n=_r.get(e);n&&(n.initialDef.render=t,[...n.instances].forEach(e=>{t&&(e.render=t,xr(e.type).render=t),e.renderCache=[],mr=!0,e.job.flags&8||e.update(),mr=!1}))}function Cr(e,t){let n=_r.get(e);if(!n)return;t=xr(t),wr(n.initialDef,t);let r=[...n.instances];for(let e=0;e<r.length;e++){let i=r[e],a=xr(i.type),o=gr.get(a);o||(a!==n.initialDef&&wr(a,t),gr.set(a,o=new Set)),o.add(i),i.appContext.propsCache.delete(i.type),i.appContext.emitsCache.delete(i.type),i.appContext.optionsCache.delete(i.type),i.ceReload?(o.add(i),i.ceReload(t.styles),o.delete(i)):i.parent?or(()=>{i.job.flags&8||(mr=!0,i.parent.update(),mr=!1,o.delete(i))}):i.appContext.reload?i.appContext.reload():typeof window<`u`?window.location.reload():console.warn(`[HMR] Root or manually mounted instance modified. Full reload required.`),i.root.ce&&i!==i.root&&i.root.ce._removeChildStyle(a)}cr(()=>{gr.clear()})}function wr(e,t){M(e,t);for(let n in e)n!==`__file`&&!(n in t)&&delete e[n]}function Tr(e){return(t,n)=>{try{return e(t,n)}catch(e){console.error(e),console.warn(`[HMR] Something went wrong during Vue component hot-reload. Full reload required.`)}}}var Er,Dr=[],Or=!1;function kr(e,...t){Er?Er.emit(e,...t):Or||Dr.push({event:e,args:t})}function Ar(e,t){Er=e,Er?(Er.enabled=!0,Dr.forEach(({event:e,args:t})=>Er.emit(e,...t)),Dr=[]):typeof window<`u`&&window.HTMLElement&&!(window.navigator?.userAgent)?.includes(`jsdom`)?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(e=>{Ar(e,t)}),setTimeout(()=>{Er||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,Or=!0,Dr=[])},3e3)):(Or=!0,Dr=[])}function jr(e,t){kr(`app:init`,e,t,{Fragment:J,Text:qo,Comment:Jo,Static:Yo})}function Mr(e){kr(`app:unmount`,e)}var Nr=Lr(`component:added`),Pr=Lr(`component:updated`),Fr=Lr(`component:removed`),Ir=e=>{Er&&typeof Er.cleanupBuffer==`function`&&!Er.cleanupBuffer(e)&&Fr(e)};function Lr(e){return t=>{kr(e,t.appContext.app,t.uid,t.parent?t.parent.uid:void 0,t)}}var Rr=Br(`perf:start`),zr=Br(`perf:end`);function Br(e){return(t,n,r)=>{kr(e,t.appContext.app,t.uid,t,n,r)}}function Vr(e,t,n){kr(`component:emit`,e.appContext.app,e,t,n)}var Hr=null,Ur=null;function Wr(e){let t=Hr;return Hr=e,Ur=e&&e.type.__scopeId||null,t}function Gr(e,t=Hr,n){if(!t||e._n)return e;let r=(...n)=>{r._d&&es(-1);let i=Wr(t),a;try{a=e(...n)}finally{Wr(i),r._d&&es(1)}return process.env.NODE_ENV!==`production`&&Pr(t),a};return r._n=!0,r._c=!0,r._d=!0,r}function Kr(e){le(e)&&q(`Do not use built-in directive ids as custom directive id: `+e)}function qr(e,t){if(Hr===null)return process.env.NODE_ENV!==`production`&&q(`withDirectives can only be used inside render functions.`),e;let n=Us(Hr),r=e.dirs||=[];for(let e=0;e<t.length;e++){let[i,a,o,s=D]=t[e];i&&(R(i)&&(i={mounted:i,updated:i}),i.deep&&Pn(a),r.push({dir:i,instance:n,value:a,oldValue:void 0,arg:o,modifiers:s}))}return e}function Jr(e,t,n,r){let i=e.dirs,a=t&&t.dirs;for(let o=0;o<i.length;o++){let s=i[o];a&&(s.oldValue=a[o].value);let c=s.dir[r];c&&(dt(),qn(c,n,8,[e.el,s,e,t]),ft())}}function Yr(e,t){if(process.env.NODE_ENV!==`production`&&(!Cs||Cs.isMounted)&&q(`provide() can only be used inside setup().`),Cs){let n=Cs.provides,r=Cs.parent&&Cs.parent.provides;r===n&&(n=Cs.provides=Object.create(r)),n[e]=t}}function Xr(e,t,n=!1){let r=ws();if(r||Fa){let i=Fa?Fa._context.provides:r?r.parent==null||r.ce?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides:void 0;if(i&&e in i)return i[e];if(arguments.length>1)return n&&R(t)?t.call(r&&r.proxy):t;process.env.NODE_ENV!==`production`&&q(`injection "${String(e)}" not found.`)}else process.env.NODE_ENV!==`production`&&q(`inject() can only be used inside setup() or functional components.`)}var Zr=Symbol.for(`v-scx`),Qr=()=>{{let e=Xr(Zr);return e||process.env.NODE_ENV!==`production`&&q(`Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`),e}};function $r(e,t,n){return process.env.NODE_ENV!==`production`&&!R(t)&&q("`watch(fn, options?)` signature has been moved to a separate API. Use `watchEffect(fn, options?)` instead. `watch` now only supports `watch(source, cb, options?) signature."),ei(e,t,n)}function ei(e,t,n=D){let{immediate:r,deep:i,flush:a,once:o}=n;process.env.NODE_ENV!==`production`&&!t&&(r!==void 0&&q(`watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`),i!==void 0&&q(`watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`),o!==void 0&&q(`watch() "once" option is only respected when using the watch(source, callback, options?) signature.`));let s=M({},n);process.env.NODE_ENV!==`production`&&(s.onWarn=q);let c=t&&r||!t&&a!==`post`,l;if(Ms){if(a===`sync`){let e=Qr();l=e.__watcherHandles||=[]}else if(!c){let e=()=>{};return e.stop=k,e.resume=k,e.pause=k,e}}let u=Cs;s.call=(e,t,n)=>qn(e,u,t,n);let d=!1;a===`post`?s.scheduler=e=>{Po(e,u&&u.suspense)}:a!==`sync`&&(d=!0,s.scheduler=(e,t)=>{t?e():or(e)}),s.augmentJob=e=>{t&&(e.flags|=4),d&&(e.flags|=2,u&&(e.id=u.uid,e.i=u))};let f=Nn(e,t,s);return Ms&&(l?l.push(f):c&&f()),f}function ti(e,t,n){let r=this.proxy,i=z(e)?e.includes(`.`)?ni(r,e):()=>r[e]:e.bind(r,r),a;R(t)?a=t:(a=t.handler,n=t);let o=Ds(this),s=ei(i,a.bind(r),n);return o(),s}function ni(e,t){let n=t.split(`.`);return()=>{let t=e;for(let e=0;e<n.length&&t;e++)t=t[n[e]];return t}}var ri=new WeakMap,ii=Symbol(`_vte`),ai=e=>e.__isTeleport,oi=e=>e&&(e.disabled||e.disabled===``),si=e=>e&&(e.defer||e.defer===``),ci=e=>typeof SVGElement<`u`&&e instanceof SVGElement,li=e=>typeof MathMLElement==`function`&&e instanceof MathMLElement,ui=(e,t)=>{let n=e&&e.to;if(z(n))if(t){let r=t(n);return process.env.NODE_ENV!==`production`&&!r&&!oi(e)&&q(`Failed to locate Teleport target with selector "${n}". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`),r}else return process.env.NODE_ENV!==`production`&&q(`Current renderer does not support string target for Teleports. (missing querySelector renderer option)`),null;else return process.env.NODE_ENV!==`production`&&!n&&!oi(e)&&q(`Invalid Teleport target: ${n}`),n},di={name:`Teleport`,__isTeleport:!0,process(e,t,n,r,i,a,o,s,c,l){let{mc:u,pc:d,pbc:f,o:{insert:p,querySelector:m,createText:h,createComment:g,parentNode:_}}=l,v=oi(t.props),{dynamicChildren:y}=t;process.env.NODE_ENV!==`production`&&mr&&(c=!1,y=null);let b=(e,t,n)=>{e.shapeFlag&16&&u(e.children,t,n,i,a,o,s,c)},x=(e=t)=>{let n=oi(e.props),r=e.target=ui(e.props,m),a=gi(r,e,h,p);r?(o!==`svg`&&ci(r)?o=`svg`:o!==`mathml`&&li(r)&&(o=`mathml`),i&&i.isCE&&(i.ce._teleportTargets||(i.ce._teleportTargets=new Set)).add(r),n||(b(e,r,a),hi(e,!1))):process.env.NODE_ENV!==`production`&&!n&&q(`Invalid Teleport target on mount:`,r,`(${typeof r})`)},S=e=>{let t=()=>{if(ri.get(e)===t){if(ri.delete(e),oi(e.props)){let t=_(e.el)||n;b(e,t,e.anchor),hi(e,!0)}x(e)}};ri.set(e,t),Po(t,a)};if(e==null){let e=t.el=process.env.NODE_ENV===`production`?h(``):g(`teleport start`),i=t.anchor=process.env.NODE_ENV===`production`?h(``):g(`teleport end`);if(p(e,n,r),p(i,n,r),si(t.props)||a&&a.pendingBranch){S(t);return}v&&(b(t,n,i),hi(t,!0)),x()}else{t.el=e.el;let r=t.anchor=e.anchor,u=ri.get(e);if(u){u.flags|=8,ri.delete(e),S(t);return}t.targetStart=e.targetStart;let p=t.target=e.target,h=t.targetAnchor=e.targetAnchor,g=oi(e.props),_=g?n:p,b=g?r:h;if(o===`svg`||ci(p)?o=`svg`:(o===`mathml`||li(p))&&(o=`mathml`),y?(f(e.dynamicChildren,y,_,i,a,o,s),Bo(e,t,process.env.NODE_ENV===`production`)):c||d(e,t,_,b,i,a,o,s,!1),v)g?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):fi(t,n,r,l,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){let e=ui(t.props,m);e?(t.target=e,fi(t,e,null,l,0)):process.env.NODE_ENV!==`production`&&q(`Invalid Teleport target on update:`,p,`(${typeof p})`)}else g&&fi(t,p,h,l,1);hi(t,v)}},remove(e,t,n,{um:r,o:{remove:i}},a){let{shapeFlag:o,children:s,anchor:c,targetStart:l,targetAnchor:u,target:d,props:f}=e,p=oi(f),m=a||!p,h=ri.get(e);if(h&&(h.flags|=8,ri.delete(e)),d&&(i(l),i(u)),a&&i(c),!h&&(p||d)&&o&16)for(let e=0;e<s.length;e++){let i=s[e];r(i,t,n,m,!!i.dynamicChildren)}},move:fi,hydrate:pi};function fi(e,t,n,{o:{insert:r},m:i},a=2){a===0&&r(e.targetAnchor,t,n);let{el:o,anchor:s,shapeFlag:c,children:l,props:u}=e,d=a===2;if(d&&r(o,t,n),!ri.has(e)&&(!d||oi(u))&&c&16)for(let e=0;e<l.length;e++)i(l[e],t,n,2);d&&r(s,t,n)}function pi(e,t,n,r,i,a,{o:{nextSibling:o,parentNode:s,querySelector:c,insert:l,createText:u}},d){function f(e,n){let r=n;for(;r;){if(r&&r.nodeType===8){if(r.data===`teleport start anchor`)t.targetStart=r;else if(r.data===`teleport anchor`){t.targetAnchor=r,e._lpa=t.targetAnchor&&o(t.targetAnchor);break}}r=o(r)}}function p(e,t){t.anchor=d(o(e),t,s(e),n,r,i,a)}let m=t.target=ui(t.props,c),h=oi(t.props);if(m){let c=m._lpa||m.firstChild;t.shapeFlag&16&&(h?(p(e,t),f(m,c),t.targetAnchor||gi(m,t,u,l,s(e)===m?e:null)):(t.anchor=o(e),f(m,c),t.targetAnchor||gi(m,t,u,l),d(c&&o(c),t,m,n,r,i,a))),hi(t,h)}else h&&t.shapeFlag&16&&(p(e,t),t.targetStart=e,t.targetAnchor=o(e));return t.anchor&&o(t.anchor)}var mi=di;function hi(e,t){let n=e.ctx;if(n&&n.ut){let r,i;for(t?(r=e.el,i=e.anchor):(r=e.targetStart,i=e.targetAnchor);r&&r!==i;)r.nodeType===1&&r.setAttribute(`data-v-owner`,n.uid),r=r.nextSibling;n.ut()}}function gi(e,t,n,r,i=null){let a=t.targetStart=n(``),o=t.targetAnchor=n(``);return a[ii]=o,e&&(r(a,e,i),r(o,e,i)),o}var _i=Symbol(`_leaveCb`),vi=Symbol(`_enterCb`);function yi(){let e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Ji(()=>{e.isMounted=!0}),Zi(()=>{e.isUnmounting=!0}),e}var bi=[Function,Array],xi={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:bi,onEnter:bi,onAfterEnter:bi,onEnterCancelled:bi,onBeforeLeave:bi,onLeave:bi,onAfterLeave:bi,onLeaveCancelled:bi,onBeforeAppear:bi,onAppear:bi,onAfterAppear:bi,onAppearCancelled:bi},Si=e=>{let t=e.subTree;return t.component?Si(t.component):t},Ci={name:`BaseTransition`,props:xi,setup(e,{slots:t}){let n=ws(),r=yi();return()=>{let i=t.default&&ji(t.default(),!0),a=i&&i.length?wi(i):n.subTree?Q():void 0;if(!a)return;let o=hn(e),{mode:s}=o;if(process.env.NODE_ENV!==`production`&&s&&s!==`in-out`&&s!==`out-in`&&s!=="default"&&q(`invalid <transition> mode: ${s}`),r.isLeaving)return Oi(a);let c=ki(a);if(!c)return Oi(a);let l=Di(c,o,r,n,e=>l=e);c.type!==Jo&&Ai(c,l);let u=n.subTree&&ki(n.subTree);if(u&&u.type!==Jo&&!is(u,c)&&Si(n).type!==Jo){let e=Di(u,o,r,n);if(Ai(u,e),s===`out-in`&&c.type!==Jo)return r.isLeaving=!0,e.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete e.afterLeave,u=void 0},Oi(a);s===`in-out`&&c.type!==Jo?e.delayLeave=(e,t,n)=>{let i=Ei(r,u);i[String(u.key)]=u,e[_i]=()=>{t(),e[_i]=void 0,delete l.delayedLeave,u=void 0},l.delayedLeave=()=>{n(),delete l.delayedLeave,u=void 0}}:u=void 0}else u&&=void 0;return a}}};function wi(e){let t=e[0];if(e.length>1){let n=!1;for(let r of e)if(r.type!==Jo){if(process.env.NODE_ENV!==`production`&&n){q(`<transition> can only be used on a single element or component. Use <transition-group> for lists.`);break}if(t=r,n=!0,process.env.NODE_ENV===`production`)break}}return t}var Ti=Ci;function Ei(e,t){let{leavingVNodes:n}=e,r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Di(e,t,n,r,i){let{appear:a,mode:o,persisted:s=!1,onBeforeEnter:c,onEnter:l,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:f,onLeave:p,onAfterLeave:m,onLeaveCancelled:h,onBeforeAppear:g,onAppear:_,onAfterAppear:v,onAppearCancelled:y}=t,b=String(e.key),x=Ei(n,e),S=(e,t)=>{e&&qn(e,r,9,t)},C=(e,t)=>{let n=t[1];S(e,t),F(e)?e.every(e=>e.length<=1)&&n():e.length<=1&&n()},w={mode:o,persisted:s,beforeEnter(t){let r=c;if(!n.isMounted)if(a)r=g||c;else return;t[_i]&&t[_i](!0);let i=x[b];i&&is(e,i)&&i.el[_i]&&i.el[_i](),S(r,[t])},enter(t){if(!mr&&x[b]===e)return;let r=l,i=u,o=d;if(!n.isMounted)if(a)r=_||l,i=v||u,o=y||d;else return;let s=!1;t[vi]=e=>{s||(s=!0,S(e?o:i,[t]),w.delayedLeave&&w.delayedLeave(),t[vi]=void 0)};let c=t[vi].bind(null,!1);r?C(r,[t,c]):c()},leave(t,r){let i=String(e.key);if(t[vi]&&t[vi](!0),n.isUnmounting)return r();S(f,[t]);let a=!1;t[_i]=n=>{a||(a=!0,r(),S(n?h:m,[t]),t[_i]=void 0,x[i]===e&&delete x[i])};let o=t[_i].bind(null,!1);x[i]=e,p?C(p,[t,o]):o()},clone(e){let a=Di(e,t,n,r,i);return i&&i(a),a}};return w}function Oi(e){if(Bi(e))return e=fs(e),e.children=null,e}function ki(e){if(!Bi(e))return ai(e.type)&&e.children?wi(e.children):e;if(e.component)return e.component.subTree;let{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&R(n.default))return n.default()}}function Ai(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Ai(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ji(e,t=!1,n){let r=[],i=0;for(let a=0;a<e.length;a++){let o=e[a],s=n==null?o.key:String(n)+String(o.key==null?a:o.key);o.type===J?(o.patchFlag&128&&i++,r=r.concat(ji(o.children,t,s))):(t||o.type!==Jo)&&r.push(s==null?o:fs(o,{key:s}))}if(i>1)for(let e=0;e<r.length;e++)r[e].patchFlag=-2;return r}function Mi(e,t){return R(e)?M({name:e.name},t,{setup:e}):e}function Ni(e){e.ids=[e.ids[0]+e.ids[2]+++`-`,0,0]}var Pi=new WeakSet;function Fi(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}var Ii=new WeakMap;function Li(e,t,n,r,i=!1){if(F(e)){e.forEach((e,a)=>Li(e,t&&(F(t)?t[a]:t),n,r,i));return}if(zi(r)&&!i){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&Li(e,t,n,r.component.subTree);return}let a=r.shapeFlag&4?Us(r.component):r.el,o=i?null:a,{i:s,r:c}=e;if(process.env.NODE_ENV!==`production`&&!s){q(`Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`);return}let l=t&&t.r,u=s.refs===D?s.refs={}:s.refs,d=s.setupState,f=hn(d),p=d===D?A:e=>process.env.NODE_ENV!==`production`&&(P(f,e)&&!yn(f[e])&&q(`Template ref "${e}" used on a non-ref value. It will not work in the production build.`),Pi.has(f[e]))||Fi(u,e)?!1:P(f,e),m=(e,t)=>!(process.env.NODE_ENV!==`production`&&Pi.has(e)||t&&Fi(u,t));if(l!=null&&l!==c){if(Ri(t),z(l))u[l]=null,p(l)&&(d[l]=null);else if(yn(l)){let e=t;m(l,e.k)&&(l.value=null),e.k&&(u[e.k]=null)}}if(R(c)){dt();try{Kn(c,s,12,[o,u])}finally{ft()}}else{let t=z(c),r=yn(c);if(t||r){let s=()=>{if(e.f){let n=t?p(c)?d[c]:u[c]:m(c)||!e.k?c.value:u[e.k];if(i)F(n)&&N(n,a);else if(F(n))n.includes(a)||n.push(a);else if(t)u[c]=[a],p(c)&&(d[c]=u[c]);else{let t=[a];m(c,e.k)&&(c.value=t),e.k&&(u[e.k]=t)}}else t?(u[c]=o,p(c)&&(d[c]=o)):r?(m(c,e.k)&&(c.value=o),e.k&&(u[e.k]=o)):process.env.NODE_ENV!==`production`&&q(`Invalid template ref type:`,c,`(${typeof c})`)};if(o){let t=()=>{s(),Ii.delete(e)};t.id=-1,Ii.set(e,t),Po(t,n)}else Ri(e),s()}else process.env.NODE_ENV!==`production`&&q(`Invalid template ref type:`,c,`(${typeof c})`)}}function Ri(e){let t=Ii.get(e);t&&(t.flags|=8,Ii.delete(e))}Ce().requestIdleCallback,Ce().cancelIdleCallback;var zi=e=>!!e.type.__asyncLoader,Bi=e=>e.type.__isKeepAlive;function Vi(e,t){Ui(e,`a`,t)}function Hi(e,t){Ui(e,`da`,t)}function Ui(e,t,n=Cs){let r=e.__wdc||=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()};if(Gi(t,r,n),n){let e=n.parent;for(;e&&e.parent;)Bi(e.parent.vnode)&&Wi(r,t,n,e),e=e.parent}}function Wi(e,t,n,r){let i=Gi(t,e,r,!0);Qi(()=>{N(r[t],i)},n)}function Gi(e,t,n=Cs,r=!1){if(n){let i=n[e]||(n[e]=[]),a=t.__weh||=(...r)=>{dt();let i=Ds(n),a=qn(t,n,e,r);return i(),ft(),a};return r?i.unshift(a):i.push(a),a}else process.env.NODE_ENV!==`production`&&q(`${ge(Gn[e].replace(/ hook$/,``))} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.`)}var Ki=e=>(t,n=Cs)=>{(!Ms||e===`sp`)&&Gi(e,(...e)=>t(...e),n)},qi=Ki(`bm`),Ji=Ki(`m`),Yi=Ki(`bu`),Xi=Ki(`u`),Zi=Ki(`bum`),Qi=Ki(`um`),$i=Ki(`sp`),ea=Ki(`rtg`),ta=Ki(`rtc`);function na(e,t=Cs){Gi(`ec`,e,t)}var ra=Symbol.for(`v-ndc`);function ia(e,t,n,r){let i,a=n&&n[r],o=F(e);if(o||z(e)){let n=o&&dn(e),r=!1,s=!1;n&&(r=!pn(e),s=fn(e),e=Tt(e)),i=Array(e.length);for(let n=0,o=e.length;n<o;n++)i[n]=t(r?s?vn(_n(e[n])):_n(e[n]):e[n],n,void 0,a&&a[n])}else if(typeof e==`number`)if(process.env.NODE_ENV!==`production`&&(!Number.isInteger(e)||e<0))q(`The v-for range expects a positive integer value but got ${e}.`),i=[];else{i=Array(e);for(let n=0;n<e;n++)i[n]=t(n+1,n,void 0,a&&a[n])}else if(B(e))if(e[Symbol.iterator])i=Array.from(e,(e,n)=>t(e,n,void 0,a&&a[n]));else{let n=Object.keys(e);i=Array(n.length);for(let r=0,o=n.length;r<o;r++){let o=n[r];i[r]=t(e[o],o,r,a&&a[r])}}else i=[];return n&&(n[r]=i),i}function aa(e,t,n={},r,i){if(Hr.ce||Hr.parent&&zi(Hr.parent)&&Hr.parent.ce){let e=Object.keys(n).length>0;return t!=="default"&&(n.name=t),Y(),ns(J,null,[ls(`slot`,n,r&&r())],e?-2:64)}let a=e[t];process.env.NODE_ENV!==`production`&&a&&a.length>1&&(q(`SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`),a=()=>[]),a&&a._c&&(a._d=!1),Y();let o=a&&oa(a(n)),s=n.key||o&&o.key,c=ns(J,{key:(s&&!re(s)?s:`_${t}`)+(!o&&r?`_fb`:``)},o||(r?r():[]),o&&e._===1?64:-2);return!i&&c.scopeId&&(c.slotScopeIds=[c.scopeId+`-s`]),a&&a._c&&(a._d=!0),c}function oa(e){return e.some(e=>!rs(e)||!(e.type===Jo||e.type===J&&!oa(e.children)))?e:null}var sa=e=>e?js(e)?Us(e):sa(e.parent):null,ca=M(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>process.env.NODE_ENV===`production`?e.props:ln(e.props),$attrs:e=>process.env.NODE_ENV===`production`?e.attrs:ln(e.attrs),$slots:e=>process.env.NODE_ENV===`production`?e.slots:ln(e.slots),$refs:e=>process.env.NODE_ENV===`production`?e.refs:ln(e.refs),$parent:e=>sa(e.parent),$root:e=>sa(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Sa(e),$forceUpdate:e=>e.f||=()=>{or(e.update)},$nextTick:e=>e.n||=ir.bind(e.proxy),$watch:e=>ti.bind(e)}),la=e=>e===`_`||e===`$`,ua=(e,t)=>e!==D&&!e.__isScriptSetup&&P(e,t),da={get({_:e},t){if(t===`__v_skip`)return!0;let{ctx:n,setupState:r,data:i,props:a,accessCache:o,type:s,appContext:c}=e;if(process.env.NODE_ENV!==`production`&&t===`__isVue`)return!0;if(t[0]!==`$`){let e=o[t];if(e!==void 0)switch(e){case 1:return r[t];case 2:return i[t];case 4:return n[t];case 3:return a[t]}else if(ua(r,t))return o[t]=1,r[t];else if(i!==D&&P(i,t))return o[t]=2,i[t];else if(P(a,t))return o[t]=3,a[t];else if(n!==D&&P(n,t))return o[t]=4,n[t];else _a&&(o[t]=0)}let l=ca[t],u,d;if(l)return t===`$attrs`?(St(e.attrs,`get`,``),process.env.NODE_ENV!==`production`&&Ha()):process.env.NODE_ENV!==`production`&&t===`$slots`&&St(e,`get`,t),l(e);if((u=s.__cssModules)&&(u=u[t]))return u;if(n!==D&&P(n,t))return o[t]=4,n[t];if(d=c.config.globalProperties,P(d,t))return d[t];process.env.NODE_ENV!==`production`&&Hr&&(!z(t)||t.indexOf(`__v`)!==0)&&(i!==D&&la(t[0])&&P(i,t)?q(`Property ${JSON.stringify(t)} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`):e===Hr&&q(`Property ${JSON.stringify(t)} was accessed during render but is not defined on instance.`))},set({_:e},t,n){let{data:r,setupState:i,ctx:a}=e;return ua(i,t)?(i[t]=n,!0):process.env.NODE_ENV!==`production`&&i.__isScriptSetup&&P(i,t)?(q(`Cannot mutate <script setup> binding "${t}" from Options API.`),!1):r!==D&&P(r,t)?(r[t]=n,!0):P(e.props,t)?(process.env.NODE_ENV!==`production`&&q(`Attempting to mutate prop "${t}". Props are readonly.`),!1):t[0]===`$`&&t.slice(1)in e?(process.env.NODE_ENV!==`production`&&q(`Attempting to mutate public property "${t}". Properties starting with $ are reserved and readonly.`),!1):(process.env.NODE_ENV!==`production`&&t in e.appContext.config.globalProperties?Object.defineProperty(a,t,{enumerable:!0,configurable:!0,value:n}):a[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:i,props:a,type:o}},s){let c;return!!(n[s]||e!==D&&s[0]!==`$`&&P(e,s)||ua(t,s)||P(a,s)||P(r,s)||P(ca,s)||P(i.config.globalProperties,s)||(c=o.__cssModules)&&c[s])},defineProperty(e,t,n){return n.get==null?P(n,`value`)&&this.set(e,t,n.value,null):e._.accessCache[t]=0,Reflect.defineProperty(e,t,n)}};process.env.NODE_ENV!==`production`&&(da.ownKeys=e=>(q(`Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.`),Reflect.ownKeys(e)));function fa(e){let t={};return Object.defineProperty(t,"_",{configurable:!0,enumerable:!1,get:()=>e}),Object.keys(ca).forEach(n=>{Object.defineProperty(t,n,{configurable:!0,enumerable:!1,get:()=>ca[n](e),set:k})}),t}function pa(e){let{ctx:t,propsOptions:[n]}=e;n&&Object.keys(n).forEach(n=>{Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>e.props[n],set:k})})}function ma(e){let{ctx:t,setupState:n}=e;Object.keys(hn(n)).forEach(e=>{if(!n.__isScriptSetup){if(la(e[0])){q(`setup() return property ${JSON.stringify(e)} should not start with "$" or "_" which are reserved prefixes for Vue internals.`);return}Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:()=>n[e],set:k})}})}function ha(e){return F(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}function ga(){let e=Object.create(null);return(t,n)=>{e[n]?q(`${t} property "${n}" is already defined in ${e[n]}.`):e[n]=t}}var _a=!0;function va(e){let t=Sa(e),n=e.proxy,r=e.ctx;_a=!1,t.beforeCreate&&ba(t.beforeCreate,e,`bc`);let{data:i,computed:a,methods:o,watch:s,provide:c,inject:l,created:u,beforeMount:d,mounted:f,beforeUpdate:p,updated:m,activated:h,deactivated:g,beforeDestroy:_,beforeUnmount:v,destroyed:y,unmounted:b,render:x,renderTracked:S,renderTriggered:C,errorCaptured:w,serverPrefetch:T,expose:E,inheritAttrs:D,components:O,directives:A,filters:ee}=t,j=process.env.NODE_ENV===`production`?null:ga();if(process.env.NODE_ENV!==`production`){let[t]=e.propsOptions;if(t)for(let e in t)j(`Props`,e)}if(l&&ya(l,r,j),o)for(let e in o){let t=o[e];R(t)?(process.env.NODE_ENV===`production`?r[e]=t.bind(n):Object.defineProperty(r,e,{value:t.bind(n),configurable:!0,enumerable:!0,writable:!0}),process.env.NODE_ENV!==`production`&&j(`Methods`,e)):process.env.NODE_ENV!==`production`&&q(`Method "${e}" has type "${typeof t}" in the component definition. Did you reference the function correctly?`)}if(i){process.env.NODE_ENV!==`production`&&!R(i)&&q(`The data option must be a function. Plain object usage is no longer supported.`);let t=i.call(n,n);if(process.env.NODE_ENV!==`production`&&ie(t)&&q(`data() returned a Promise - note data() cannot be async; If you intend to perform data fetching before component renders, use async setup() + <Suspense>.`),!B(t))process.env.NODE_ENV!==`production`&&q(`data() should return an object.`);else if(e.data=on(t),process.env.NODE_ENV!==`production`)for(let e in t)j(`Data`,e),la(e[0])||Object.defineProperty(r,e,{configurable:!0,enumerable:!0,get:()=>t[e],set:k})}if(_a=!0,a)for(let e in a){let t=a[e],i=R(t)?t.bind(n,n):R(t.get)?t.get.bind(n,n):k;process.env.NODE_ENV!==`production`&&i===k&&q(`Computed property "${e}" has no getter.`);let o=Ys({get:i,set:!R(t)&&R(t.set)?t.set.bind(n):process.env.NODE_ENV===`production`?k:()=>{q(`Write operation failed: computed property "${e}" is readonly.`)}});Object.defineProperty(r,e,{enumerable:!0,configurable:!0,get:()=>o.value,set:e=>o.value=e}),process.env.NODE_ENV!==`production`&&j(`Computed`,e)}if(s)for(let e in s)xa(s[e],r,n,e);if(c){let e=R(c)?c.call(n):c;Reflect.ownKeys(e).forEach(t=>{Yr(t,e[t])})}u&&ba(u,e,`c`);function M(e,t){F(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(M(qi,d),M(Ji,f),M(Yi,p),M(Xi,m),M(Vi,h),M(Hi,g),M(na,w),M(ta,S),M(ea,C),M(Zi,v),M(Qi,b),M($i,T),F(E))if(E.length){let t=e.exposed||={};E.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t,enumerable:!0})})}else e.exposed||={};x&&e.render===k&&(e.render=x),D!=null&&(e.inheritAttrs=D),O&&(e.components=O),A&&(e.directives=A),T&&Ni(e)}function ya(e,t,n=k){F(e)&&(e=Da(e));for(let r in e){let i=e[r],a;a=B(i)?`default`in i?Xr(i.from||r,i.default,!0):Xr(i.from||r):Xr(i),yn(a)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>a.value,set:e=>a.value=e}):t[r]=a,process.env.NODE_ENV!==`production`&&n(`Inject`,r)}}function ba(e,t,n){qn(F(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function xa(e,t,n,r){let i=r.includes(`.`)?ni(n,r):()=>n[r];if(z(e)){let n=t[e];R(n)?$r(i,n):process.env.NODE_ENV!==`production`&&q(`Invalid watch handler specified by key "${e}"`,n)}else if(R(e))$r(i,e.bind(n));else if(B(e))if(F(e))e.forEach(e=>xa(e,t,n,r));else{let r=R(e.handler)?e.handler.bind(n):t[e.handler];R(r)?$r(i,r,e):process.env.NODE_ENV!==`production`&&q(`Invalid watch handler specified by key "${e.handler}"`,r)}else process.env.NODE_ENV!==`production`&&q(`Invalid watch option: "${r}"`,e)}function Sa(e){let t=e.type,{mixins:n,extends:r}=t,{mixins:i,optionsCache:a,config:{optionMergeStrategies:o}}=e.appContext,s=a.get(t),c;return s?c=s:!i.length&&!n&&!r?c=t:(c={},i.length&&i.forEach(e=>Ca(c,e,o,!0)),Ca(c,t,o)),B(t)&&a.set(t,c),c}function Ca(e,t,n,r=!1){let{mixins:i,extends:a}=t;a&&Ca(e,a,n,!0),i&&i.forEach(t=>Ca(e,t,n,!0));for(let i in t)if(r&&i===`expose`)process.env.NODE_ENV!==`production`&&q(`"expose" option is ignored when declared in mixins or extends. It should only be declared in the base component itself.`);else{let r=wa[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}var wa={data:Ta,props:Aa,emits:Aa,methods:ka,computed:ka,beforeCreate:Oa,created:Oa,beforeMount:Oa,mounted:Oa,beforeUpdate:Oa,updated:Oa,beforeDestroy:Oa,beforeUnmount:Oa,destroyed:Oa,unmounted:Oa,activated:Oa,deactivated:Oa,errorCaptured:Oa,serverPrefetch:Oa,components:ka,directives:ka,watch:ja,provide:Ta,inject:Ea};function Ta(e,t){return t?e?function(){return M(R(e)?e.call(this,this):e,R(t)?t.call(this,this):t)}:t:e}function Ea(e,t){return ka(Da(e),Da(t))}function Da(e){if(F(e)){let t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function Oa(e,t){return e?[...new Set([].concat(e,t))]:t}function ka(e,t){return e?M(Object.create(null),e,t):t}function Aa(e,t){return e?F(e)&&F(t)?[...new Set([...e,...t])]:M(Object.create(null),ha(e),ha(t??{})):t}function ja(e,t){if(!e)return t;if(!t)return e;let n=M(Object.create(null),e);for(let r in t)n[r]=Oa(e[r],t[r]);return n}function Ma(){return{app:null,config:{isNativeTag:A,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}var Na=0;function Pa(e,t){return function(n,r=null){R(n)||(n=M({},n)),r!=null&&!B(r)&&(process.env.NODE_ENV!==`production`&&q(`root props passed to app.mount() must be an object.`),r=null);let i=Ma(),a=new WeakSet,o=[],s=!1,c=i.app={_uid:Na++,_component:n,_props:r,_container:null,_context:i,_instance:null,version:Qs,get config(){return i.config},set config(e){process.env.NODE_ENV!==`production`&&q(`app.config cannot be replaced. Modify individual options instead.`)},use(e,...t){return a.has(e)?process.env.NODE_ENV!==`production`&&q(`Plugin has already been applied to target app.`):e&&R(e.install)?(a.add(e),e.install(c,...t)):R(e)?(a.add(e),e(c,...t)):process.env.NODE_ENV!==`production`&&q(`A plugin must either be a function or an object with an "install" function.`),c},mixin(e){return i.mixins.includes(e)?process.env.NODE_ENV!==`production`&&q(`Mixin has already been applied to target app`+(e.name?`: ${e.name}`:``)):i.mixins.push(e),c},component(e,t){return process.env.NODE_ENV!==`production`&&As(e,i.config),t?(process.env.NODE_ENV!==`production`&&i.components[e]&&q(`Component "${e}" has already been registered in target app.`),i.components[e]=t,c):i.components[e]},directive(e,t){return process.env.NODE_ENV!==`production`&&Kr(e),t?(process.env.NODE_ENV!==`production`&&i.directives[e]&&q(`Directive "${e}" has already been registered in target app.`),i.directives[e]=t,c):i.directives[e]},mount(a,o,l){if(s)process.env.NODE_ENV!==`production`&&q("App has already been mounted.\nIf you want to remount the same app, move your app creation logic into a factory function and create fresh app instances for each mount - e.g. `const createMyApp = () => createApp(App)`");else{process.env.NODE_ENV!==`production`&&a.__vue_app__&&q("There is already an app instance mounted on the host container.\n If you want to mount another app on the same host container, you need to unmount the previous app by calling `app.unmount()` first.");let u=c._ceVNode||ls(n,r);return u.appContext=i,l===!0?l=`svg`:l===!1&&(l=void 0),process.env.NODE_ENV!==`production`&&(i.reload=()=>{let t=fs(u);t.el=null,e(t,a,l)}),o&&t?t(u,a):e(u,a,l),s=!0,c._container=a,a.__vue_app__=c,process.env.NODE_ENV!==`production`&&(c._instance=u.component,jr(c,Qs)),Us(u.component)}},onUnmount(e){process.env.NODE_ENV!==`production`&&typeof e!=`function`&&q(`Expected function as first argument to app.onUnmount(), but got ${typeof e}`),o.push(e)},unmount(){s?(qn(o,c._instance,16),e(null,c._container),process.env.NODE_ENV!==`production`&&(c._instance=null,Mr(c)),delete c._container.__vue_app__):process.env.NODE_ENV!==`production`&&q(`Cannot unmount an app that is not mounted.`)},provide(e,t){return process.env.NODE_ENV!==`production`&&e in i.provides&&(P(i.provides,e)?q(`App already provides property with key "${String(e)}". It will be overwritten with the new value.`):q(`App already provides property with key "${String(e)}" inherited from its parent element. It will be overwritten with the new value.`)),i.provides[e]=t,c},runWithContext(e){let t=Fa;Fa=c;try{return e()}finally{Fa=t}}};return c}}var Fa=null,Ia=(e,t)=>t===`modelValue`||t===`model-value`?e.modelModifiers:e[`${t}Modifiers`]||e[`${fe(t)}Modifiers`]||e[`${me(t)}Modifiers`];function La(e,t,...n){if(e.isUnmounted)return;let r=e.vnode.props||D;if(process.env.NODE_ENV!==`production`){let{emitsOptions:r,propsOptions:[i]}=e;if(r)if(!(t in r))(!i||!(ge(fe(t))in i))&&q(`Component emitted event "${t}" but it is neither declared in the emits option nor as an "${ge(fe(t))}" prop.`);else{let e=r[t];R(e)&&(e(...n)||q(`Invalid event arguments: event validation failed for event "${t}".`))}}let i=n,a=t.startsWith(`update:`),o=a&&Ia(r,t.slice(7));if(o&&(o.trim&&(i=n.map(e=>z(e)?e.trim():e)),o.number&&(i=n.map(be))),process.env.NODE_ENV!==`production`&&Vr(e,t,i),process.env.NODE_ENV!==`production`){let n=t.toLowerCase();n!==t&&r[ge(n)]&&q(`Event "${n}" is emitted in component ${qs(e,e.type)} but the handler is registered for "${t}". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use "${me(t)}" instead of "${t}".`)}let s,c=r[s=ge(t)]||r[s=ge(fe(t))];!c&&a&&(c=r[s=ge(me(t))]),c&&qn(c,e,6,i);let l=r[s+`Once`];if(l){if(!e.emitted)e.emitted={};else if(e.emitted[s])return;e.emitted[s]=!0,qn(l,e,6,i)}}var Ra=new WeakMap;function za(e,t,n=!1){let r=n?Ra:t.emitsCache,i=r.get(e);if(i!==void 0)return i;let a=e.emits,o={},s=!1;if(!R(e)){let r=e=>{let n=za(e,t,!0);n&&(s=!0,M(o,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return!a&&!s?(B(e)&&r.set(e,null),null):(F(a)?a.forEach(e=>o[e]=null):M(o,a),B(e)&&r.set(e,o),o)}function Ba(e,t){return!e||!ee(t)?!1:(t=t.slice(2),t=t===`Once`?t:t.replace(/Once$/,``),P(e,t[0].toLowerCase()+t.slice(1))||P(e,me(t))||P(e,t))}var Va=!1;function Ha(){Va=!0}function Ua(e){let{type:t,vnode:n,proxy:r,withProxy:i,propsOptions:[a],slots:o,attrs:s,emit:c,render:l,renderCache:u,props:d,data:f,setupState:p,ctx:m,inheritAttrs:h}=e,g=Wr(e),_,v;process.env.NODE_ENV!==`production`&&(Va=!1);try{if(n.shapeFlag&4){let e=i||r,t=process.env.NODE_ENV!==`production`&&p.__isScriptSetup?new Proxy(e,{get(e,t,n){return q(`Property '${String(t)}' was accessed via 'this'. Avoid using 'this' in templates.`),Reflect.get(e,t,n)}}):e;_=hs(l.call(t,e,u,process.env.NODE_ENV===`production`?d:ln(d),p,f,m)),v=s}else{let e=t;process.env.NODE_ENV!==`production`&&s===d&&Ha(),_=hs(e.length>1?e(process.env.NODE_ENV===`production`?d:ln(d),process.env.NODE_ENV===`production`?{attrs:s,slots:o,emit:c}:{get attrs(){return Ha(),ln(s)},slots:o,emit:c}):e(process.env.NODE_ENV===`production`?d:ln(d),null)),v=t.props?s:Ka(s)}}catch(t){Xo.length=0,Jn(t,e,1),_=ls(Jo)}let y=_,b;if(process.env.NODE_ENV!==`production`&&_.patchFlag>0&&_.patchFlag&2048&&([y,b]=Wa(_)),v&&h!==!1){let e=Object.keys(v),{shapeFlag:t}=y;if(e.length){if(t&7)a&&e.some(j)&&(v=qa(v,a)),y=fs(y,v,!1,!0);else if(process.env.NODE_ENV!==`production`&&!Va&&y.type!==Jo){let e=Object.keys(s),t=[],n=[];for(let r=0,i=e.length;r<i;r++){let i=e[r];ee(i)?j(i)||t.push(i[2].toLowerCase()+i.slice(3)):n.push(i)}n.length&&q(`Extraneous non-props attributes (${n.join(`, `)}) were passed to component but could not be automatically inherited because component renders fragment or text or teleport root nodes.`),t.length&&q(`Extraneous non-emits event listeners (${t.join(`, `)}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the "emits" option.`)}}}return n.dirs&&(process.env.NODE_ENV!==`production`&&!Ja(y)&&q(`Runtime directive used on component with non-element root node. The directives will not function as intended.`),y=fs(y,null,!1,!0),y.dirs=y.dirs?y.dirs.concat(n.dirs):n.dirs),n.transition&&(process.env.NODE_ENV!==`production`&&!Ja(y)&&q(`Component inside <Transition> renders non-element root node that cannot be animated.`),Ai(y,n.transition)),process.env.NODE_ENV!==`production`&&b?b(y):_=y,Wr(g),_}var Wa=e=>{let t=e.children,n=e.dynamicChildren,r=Ga(t,!1);if(!r)return[e,void 0];if(process.env.NODE_ENV!==`production`&&r.patchFlag>0&&r.patchFlag&2048)return Wa(r);let i=t.indexOf(r),a=n?n.indexOf(r):-1;return[hs(r),r=>{t[i]=r,n&&(a>-1?n[a]=r:r.patchFlag>0&&(e.dynamicChildren=[...n,r]))}]};function Ga(e,t=!0){let n;for(let r=0;r<e.length;r++){let i=e[r];if(rs(i)){if(i.type!==Jo||i.children===`v-if`){if(n)return;if(n=i,process.env.NODE_ENV!==`production`&&t&&n.patchFlag>0&&n.patchFlag&2048)return Ga(n.children)}}else return}return n}var Ka=e=>{let t;for(let n in e)(n===`class`||n===`style`||ee(n))&&((t||={})[n]=e[n]);return t},qa=(e,t)=>{let n={};for(let r in e)(!j(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n},Ja=e=>e.shapeFlag&7||e.type===Jo;function Ya(e,t,n){let{props:r,children:i,component:a}=e,{props:o,children:s,patchFlag:c}=t,l=a.emitsOptions;if(process.env.NODE_ENV!==`production`&&(i||s)&&mr||t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?Xa(r,o,l):!!o;if(c&8){let e=t.dynamicProps;for(let t=0;t<e.length;t++){let n=e[t];if(Za(o,r,n)&&!Ba(l,n))return!0}}}else return(i||s)&&(!s||!s.$stable)?!0:r===o?!1:r?!o||Xa(r,o,l):!!o;return!1}function Xa(e,t,n){let r=Object.keys(t);if(r.length!==Object.keys(e).length)return!0;for(let i=0;i<r.length;i++){let a=r[i];if(Za(t,e,a)&&!Ba(n,a))return!0}return!1}function Za(e,t,n){let r=e[n],i=t[n];return n===`style`&&B(r)&&B(i)?!ze(r,i):r!==i}function Qa({vnode:e,parent:t,suspense:n},r){for(;t;){let n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.suspense.vnode.el=n.el=r,e=n),n===e)(e=t.vnode).el=r,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=r)}var $a={},eo=()=>Object.create($a),to=e=>Object.getPrototypeOf(e)===$a;function no(e,t,n,r=!1){let i={},a=eo();e.propsDefaults=Object.create(null),ao(e,t,i,a);for(let t in e.propsOptions[0])t in i||(i[t]=void 0);process.env.NODE_ENV!==`production`&&fo(t||{},i,e),n?e.props=r?i:sn(i):e.type.props?e.props=i:e.props=a,e.attrs=a}function ro(e){for(;e;){if(e.type.__hmrId)return!0;e=e.parent}}function io(e,t,n,r){let{props:i,attrs:a,vnode:{patchFlag:o}}=e,s=hn(i),[c]=e.propsOptions,l=!1;if(!(process.env.NODE_ENV!==`production`&&ro(e))&&(r||o>0)&&!(o&16)){if(o&8){let n=e.vnode.dynamicProps;for(let r=0;r<n.length;r++){let o=n[r];if(Ba(e.emitsOptions,o))continue;let u=t[o];if(c)if(P(a,o))u!==a[o]&&(a[o]=u,l=!0);else{let t=fe(o);i[t]=oo(c,s,t,u,e,!1)}else u!==a[o]&&(a[o]=u,l=!0)}}}else{ao(e,t,i,a)&&(l=!0);let r;for(let a in s)(!t||!P(t,a)&&((r=me(a))===a||!P(t,r)))&&(c?n&&(n[a]!==void 0||n[r]!==void 0)&&(i[a]=oo(c,s,a,void 0,e,!0)):delete i[a]);if(a!==s)for(let e in a)(!t||!P(t,e))&&(delete a[e],l=!0)}l&&Ct(e.attrs,`set`,``),process.env.NODE_ENV!==`production`&&fo(t||{},i,e)}function ao(e,t,n,r){let[i,a]=e.propsOptions,o=!1,s;if(t)for(let c in t){if(ce(c))continue;let l=t[c],u;i&&P(i,u=fe(c))?!a||!a.includes(u)?n[u]=l:(s||={})[u]=l:Ba(e.emitsOptions,c)||(!(c in r)||l!==r[c])&&(r[c]=l,o=!0)}if(a){let t=hn(n),r=s||D;for(let o=0;o<a.length;o++){let s=a[o];n[s]=oo(i,t,s,r[s],e,!P(r,s))}}return o}function oo(e,t,n,r,i,a){let o=e[n];if(o!=null){let e=P(o,`default`);if(e&&r===void 0){let e=o.default;if(o.type!==Function&&!o.skipFactory&&R(e)){let{propsDefaults:a}=i;if(n in a)r=a[n];else{let o=Ds(i);r=a[n]=e.call(null,t),o()}}else r=e;i.ce&&i.ce._setProp(n,r)}o[0]&&(a&&!e?r=!1:o[1]&&(r===``||r===me(n))&&(r=!0))}return r}var so=new WeakMap;function co(e,t,n=!1){let r=n?so:t.propsCache,i=r.get(e);if(i)return i;let a=e.props,o={},s=[],c=!1;if(!R(e)){let r=e=>{c=!0;let[n,r]=co(e,t,!0);M(o,n),r&&s.push(...r)};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}if(!a&&!c)return B(e)&&r.set(e,O),O;if(F(a))for(let e=0;e<a.length;e++){process.env.NODE_ENV!==`production`&&!z(a[e])&&q(`props must be strings when using array syntax.`,a[e]);let t=fe(a[e]);lo(t)&&(o[t]=D)}else if(a){process.env.NODE_ENV!==`production`&&!B(a)&&q(`invalid props options`,a);for(let e in a){let t=fe(e);if(lo(t)){let n=a[e],r=o[t]=F(n)||R(n)?{type:n}:M({},n),i=r.type,c=!1,l=!0;if(F(i))for(let e=0;e<i.length;++e){let t=i[e],n=R(t)&&t.name;if(n===`Boolean`){c=!0;break}else n===`String`&&(l=!1)}else c=R(i)&&i.name===`Boolean`;r[0]=c,r[1]=l,(c||P(r,`default`))&&s.push(t)}}}let l=[o,s];return B(e)&&r.set(e,l),l}function lo(e){return e[0]!==`$`&&!ce(e)?!0:(process.env.NODE_ENV!==`production`&&q(`Invalid prop name: "${e}" is a reserved property.`),!1)}function uo(e){return e===null?`null`:typeof e==`function`?e.name||``:typeof e==`object`&&e.constructor&&e.constructor.name||``}function fo(e,t,n){let r=hn(t),i=n.propsOptions[0],a=Object.keys(e).map(e=>fe(e));for(let e in i){let t=i[e];t!=null&&po(e,r[e],t,process.env.NODE_ENV===`production`?r:ln(r),!a.includes(e))}}function po(e,t,n,r,i){let{type:a,required:o,validator:s,skipCheck:c}=n;if(o&&i){q(`Missing required prop: "`+e+`"`);return}if(!(t==null&&!o)){if(a!=null&&a!==!0&&!c){let n=!1,r=F(a)?a:[a],i=[];for(let e=0;e<r.length&&!n;e++){let{valid:a,expectedType:o}=ho(t,r[e]);i.push(o||``),n=a}if(!n){q(go(e,t,i));return}}s&&!s(t,r)&&q(`Invalid prop: custom validator check failed for prop "`+e+`".`)}}var mo=E(`String,Number,Boolean,Function,Symbol,BigInt`);function ho(e,t){let n,r=uo(t);if(r===`null`)n=e===null;else if(mo(r)){let i=typeof e;n=i===r.toLowerCase(),!n&&i===`object`&&(n=e instanceof t)}else n=r===`Object`?B(e):r===`Array`?F(e):e instanceof t;return{valid:n,expectedType:r}}function go(e,t,n){if(n.length===0)return`Prop type [] for prop "${e}" won't match anything. Did you mean to use type Array instead?`;let r=`Invalid prop: type check failed for prop "${e}". Expected ${n.map(he).join(` | `)}`,i=n[0],a=oe(t),o=_o(t,i),s=_o(t,a);return n.length===1&&vo(i)&&yo(i,a)&&(r+=` with value ${o}`),r+=`, got ${a} `,vo(a)&&(r+=`with value ${s}.`),r}function _o(e,t){return re(e)?e.toString():t===`String`?`"${e}"`:t===`Number`?`${Number(e)}`:`${e}`}function vo(e){return[`string`,`number`,`boolean`].some(t=>e.toLowerCase()===t)}function yo(...e){return e.every(e=>{let t=e.toLowerCase();return t!==`boolean`&&t!==`symbol`})}var bo=e=>e===`_`||e===`_ctx`||e===`$stable`,xo=e=>F(e)?e.map(hs):[hs(e)],So=(e,t,n)=>{if(t._n)return t;let r=Gr((...r)=>(process.env.NODE_ENV!==`production`&&Cs&&!(n===null&&Hr)&&!(n&&n.root!==Cs.root)&&q(`Slot "${e}" invoked outside of the render function: this will not track dependencies used in the slot. Invoke the slot function inside the render function instead.`),xo(t(...r))),n);return r._c=!1,r},Co=(e,t,n)=>{let r=e._ctx;for(let n in e){if(bo(n))continue;let i=e[n];if(R(i))t[n]=So(n,i,r);else if(i!=null){process.env.NODE_ENV!==`production`&&q(`Non-function value encountered for slot "${n}". Prefer function slots for better performance.`);let e=xo(i);t[n]=()=>e}}},wo=(e,t)=>{process.env.NODE_ENV!==`production`&&!Bi(e.vnode)&&q(`Non-function value encountered for default slot. Prefer function slots for better performance.`);let n=xo(t);e.slots.default=()=>n},To=(e,t,n)=>{for(let r in t)(n||!bo(r))&&(e[r]=t[r])},Eo=(e,t,n)=>{let r=e.slots=eo();if(e.vnode.shapeFlag&32){let e=t._;e?(To(r,t,n),n&&ye(r,`_`,e,!0)):Co(t,r)}else t&&wo(e,t)},Do=(e,t,n)=>{let{vnode:r,slots:i}=e,a=!0,o=D;if(r.shapeFlag&32){let r=t._;r?process.env.NODE_ENV!==`production`&&mr?(To(i,t,n),Ct(e,`set`,`$slots`)):n&&r===1?a=!1:To(i,t,n):(a=!t.$stable,Co(t,i)),o=t}else t&&(wo(e,t),o={default:1});if(a)for(let e in i)!bo(e)&&o[e]==null&&delete i[e]},Oo,ko;function Ao(e,t){e.appContext.config.performance&&Mo()&&ko.mark(`vue-${t}-${e.uid}`),process.env.NODE_ENV!==`production`&&Rr(e,t,Mo()?ko.now():Date.now())}function jo(e,t){if(e.appContext.config.performance&&Mo()){let n=`vue-${t}-${e.uid}`,r=n+`:end`,i=`<${qs(e,e.type)}> ${t}`;ko.mark(r),ko.measure(i,n,r),ko.clearMeasures(i),ko.clearMarks(n),ko.clearMarks(r)}process.env.NODE_ENV!==`production`&&zr(e,t,Mo()?ko.now():Date.now())}function Mo(){return Oo===void 0&&(typeof window<`u`&&window.performance?(Oo=!0,ko=window.performance):Oo=!1),Oo}function No(){let e=[];if(process.env.NODE_ENV!==`production`&&e.length){let t=e.length>1;console.warn(`Feature flag${t?`s`:``} ${e.join(`, `)} ${t?`are`:`is`} not explicitly defined. You are running the esm-bundler build of Vue, which expects these compile-time feature flags to be globally injected via the bundler config in order to get better tree-shaking in the production bundle.
|
|
@@ -178,7 +178,7 @@ ${`- 输出形态:完整、自包含的 HTML 页面(.${r},可独立成页)`}
|
|
|
178
178
|
`)}catch(t){let r=t?.message||String(t);return n.signal.aborted?`获取失败:请求超时(${xg}ms,${e})。`:/Failed to fetch|NetworkError|CORS|blocked/i.test(r)?`获取失败:可能是 CORS 跨域拦截或网络错误(${r})。浏览器仅能 GET 同源或服务端已配置 CORS 的资源;跨域抓取需后端代理。`:`获取失败:${r}`}finally{clearTimeout(r)}},{name:`fetch_document`,description:`以 GET 请求抓取文档/网页/接口文本。仅支持同源或已配置 CORS 的 URL;跨域会被浏览器拦截。大结果自动外存到虚拟工作区,可用 vfs_read / vfs_grep 回读。`,schema:t.z.object({url:t.z.string().describe(`要抓取的 URL(同源或已配 CORS)`),as:t.z.enum([`text`,`markdown`]).optional().describe(`返回格式标签,默认 text`)})})],Cg=[`id`,`class`,`href`,`src`,`alt`,`title`,`style`,`role`,`aria-label`,`name`,`type`],wg=/^(value|srcdoc|formaction|on\w+)$/i,Tg=/token|secret|password|passwd|api[-_]?key|auth|cred|csrf|session/i;function Eg(e,t){if(!e)return null;let{depth:n,attrs:r,includeText:i=!0}=t,a=r!==void 0,o=r??Cg,s=e=>{let t={};for(let n of Array.from(e.attributes))(a?o.includes(n.name):o.includes(n.name)||n.name.startsWith(`data-`))&&(wg.test(n.name)||Tg.test(n.name)||(t[n.name]=n.value));return t},c=(e,t)=>{let n={tag:e.tagName.toLowerCase(),attrs:s(e)};if(i){let t=Array.from(e.childNodes).filter(e=>e.nodeType===3).map(e=>e.textContent||``).join(``).trim();t&&(n.text=t)}let r=Array.from(e.children);return t>0?r.length&&(n.children=r.map(e=>c(e,t-1))):r.length&&(n.childCount=r.length),n};return c(e,n)}var Dg=(0,r.tool)(({selector:e,depth:t,attrs:n,includeText:r})=>{let i=e?document.querySelector(e):document.body;if(!i)return`未找到匹配元素:selector="${e}"`;let a=Eg(i,{depth:t??3,attrs:n,includeText:r??!0});return a?JSON.stringify(a,null,2):`selector="${e}" 未匹配到元素`},{name:`get_dom`,description:`读渲染后 DOM 结构(tag/attrs/text/children)。检查渲染效果/验证修改是否生效用;depth 控制深度(默认 3),attrs 限定返回属性。只读,大结果自动外存 vfs。`,schema:t.z.object({selector:t.z.string().optional().describe(`CSS 选择器(默认 body,读整个页面)`),depth:t.z.number().int().min(0).max(10).optional().describe(`遍历深度(默认 3;0 只读根节点)`),attrs:t.z.array(t.z.string()).optional().describe(`属性白名单(传了 = 严格白名单;不传 = 默认常用 + data-*)`),includeText:t.z.boolean().optional().describe(`是否包含直接文本(默认 true)`)})}),Og=[Dg];function kg(e){let t=e;return typeof t.tagName==`string`||typeof t.nodeType==`number`&&typeof t.nodeName==`string`}function Ag(e,t=3,n=2e3,r,i){if(e==null)return e;if(typeof e==`string`)return e.length>n?e.slice(0,n)+`…(已截断)`:e;if(typeof e==`number`||typeof e==`boolean`)return e;if(typeof e==`function`)return`[Function: ${e.name||`anonymous`}]`;if(typeof e==`symbol`)return e.toString();if(typeof e==`bigint`)return`${e.toString()}n`;if(typeof e!=`object`)return String(e);let a=e;if(kg(a)){let e=a;return e.tagName?`[Element: <${e.tagName.toLowerCase()}>]`:`[Node: ${e.nodeName}]`}if(r?.has(a))return`[Circular]`;let o=r??new WeakSet;if(o.add(a),Array.isArray(e)){let r=e.slice(0,100).map(e=>Ag(e,t-1,n,o,i));return e.length>100&&r.push(`…(共 ${e.length} 项,已截断)`),r}if(t<0)return`(对象,已截断)`;let s={},c=Object.keys(a);for(let e=0;e<c.length;e++){let r=c[e];if(e>=50){s[`…`]=`(共 ${c.length} 键,已截断)`;break}try{let e=a[r];i?.test(r)?s[r]=`[REDACTED]`:s[r]=Ag(e,t-1,n,o,i)}catch{s[r]=`(getter 抛错)`}}return s}function jg(e){let t=e??(typeof window<`u`?window:{}),n=t.navigator,r=t.location,i=t.document;return{location:{href:r?.href,origin:r?.origin,protocol:r?.protocol,host:r?.host,hostname:r?.hostname,pathname:r?.pathname,search:r?.search},navigator:{userAgent:n?.userAgent,language:n?.language,languages:n?.languages,platform:n?.platform,onLine:n?.onLine},viewport:{innerWidth:t.innerWidth,innerHeight:t.innerHeight,devicePixelRatio:t.devicePixelRatio,scrollX:t.scrollX,scrollY:t.scrollY},document:i?{title:i.title,readyState:i.readyState,characterSet:i.characterSet}:`(无 document)`}}var Mg=/^(localStorage|sessionStorage|cookie|document|frames|frameElement|opener|parent|top|self|window|globalThis|closed|history|navigation|trustedTypes|origin|crossOriginIsolated)$/,Ng=/token|secret|password|passwd|api[-_]?key|auth|cred|csrf|session|ticket/i,Pg=(0,r.tool)(({key:e})=>{if(e){if(Mg.test(e)||Ng.test(e))return JSON.stringify({key:e,denied:!0,reason:`安全:该 key 在 denylist(localStorage/sessionStorage/cookie/document 或敏感命名 token/secret/key/auth),不读取防泄漏`},null,2);let t=(typeof window<`u`?window:{})[e];return JSON.stringify({key:e,exists:t!==void 0,type:typeof t,value:Ag(t,3,2e3,void 0,Ng)},null,2)}return JSON.stringify(jg(),null,2)},{name:`inspect_env`,description:`读宿主页面环境信息(排查调试)。不传参返回摘要(URL/origin、浏览器/语言、viewport、title/readyState);传 key 读指定 window 属性值(如 key:"appConfig")。只读,大结果自动外存 vfs。`,schema:t.z.object({key:t.z.string().optional().describe(`要读取的 window 属性名(如 "appConfig"/"__DEBUG__");不传 = 返回环境摘要`)})}),Fg=[Pg];function Ig(e,t,n){let r=0;return{name:`budget`,beforeAgent:()=>{r=Date.now()},wrapModelCall:async(a,o)=>{let{tokenBudget:s,timeBudgetMs:c}=t,l=s!=null&&(e.total_tokens??0)>s,u=c!=null&&Date.now()-r>c;return l||u?(n({type:`error`,severity:`observable`,code:`BUDGET_EXCEEDED`,message:`资源预算超限:${l?`token 超限(累计 ${e.total_tokens??0} > 上限 ${s})`:`时间超限(${Date.now()-r}ms > 上限 ${c}ms)`},agent 已停止(未完成部分可用 restoreLastCheckpoint 回退)。`}),{message:new i.AIMessage({content:``}),content:``,toolCalls:[],aborted:!0}):o(a)}}}var Lg=/^[a-zA-Z][a-zA-Z0-9_]*$/;function Rg(e){let n=[];for(let[i,a]of Object.entries(e)){if(!Lg.test(i)){console.warn(`[page-agent-sdk][actions] 动作名 "${i}" 非法(须匹配 ${Lg}),已跳过`);continue}let e=a.description||`宿主动作 ${i}`;n.push((0,r.tool)(async e=>{try{let t=await a.run(e||{});return t===void 0?`动作 ${i} 执行完成。`:typeof t==`string`?t:JSON.stringify(t)}catch(e){let t=e?.message||String(e);return`动作 ${i} 执行失败:${t}`}},{name:i,description:e,schema:a.params??t.z.object({})}))}return n}function zg(e){let t={};for(let[n,r]of Object.entries(e))Lg.test(n)&&(t[n]={description:r.description,hasParams:!!r.params});return t}var Bg=Sg,Vg=Og;function Hg(e,t){return bg(e,t)}function Ug(e,t,n,r,i){let a=wh(e);return[...a.dataOps?t:[],...a.fetch?n:[],...a.domInspect&&r?r:[],...a.inspectEnv&&i?i:[]]}function Wg(e){let t=new Map,n=[];for(let r of e)for(let e of r.tools){let i=t.get(e.name);i&&n.push({name:e.name,winner:r.label,loser:i.label}),t.set(e.name,{tool:e,label:r.label})}return{tools:[...t.values()].map(e=>e.tool),collisions:n}}var Gg=.7;function Kg(e,t,n=`simple`,r,i){let a=wh(e),o=n!==`advanced`,s=n===`minimal`;return{name:`usageHints`,augmentPrompt:n=>{let r=[];if(a.planning&&(r.push(`【自适应规划】按任务复杂度决定是否先规划,不要对简单任务过度编排:`),r.push(` · 简单/明确任务(改单字段、调样式、查值)→ 直接 read/write 执行,不必 write_todos。`),r.push(` · 复杂任务(多步、大改、有歧义、不可逆)→ 先 write_todos 拆解,首个任务标 in_progress,逐项推进。`),r.push(` · 执行中发现步骤要改/补/细分 → 用 update_todo({id, content?, status?}) 按 id 增量改单项,不必重传整个清单。`),e?.humanConfirm?r.push(` · 规划出多步方案若需用户拍板 → 先 request_human_confirmation 给方案选项,确认后再执行。`):r.push(` · 规划出多步方案若需用户拍板 → 以文字列出方案选项等用户回复,勿自行拍板。`),r.push(` · 规划阶段有轮次预算(maxPlanRevisions,默认 5):勿反复调研/改计划而不执行,规划充分后即开始 write 落地。`)),t&&(o?(r.push(`读写主数据用 read/write(高层入口,自动乐观锁 + 自动快照)。read({jsonPath}) 读子路径当前值(返回含 hash,write 时自动比对,无需手动传);read() 不传读整个主数据 + 说明。write 改值两姿势:① 改单个字段/子路径用 write({patch:{op:"set", jsonPath:"路径.字段", value:新值}})——patch.value 就是该字段的新值(类型匹配:string 直传字符串、number 传数字、对象传对象),不要包成 {字段:值} 对象(字段名已在 jsonPath);也兼容 write({value:新值, patch:{op,jsonPath}}) 顶层 value(向后兼容,但优先 patch.value,避免与整体 set 的 value 混淆);② 替换整个对象用 write({value:{整个新对象}})。op:set 设值 / remove 删 / merge 合并对象 / append 追加数组 / move 移动数组元素(value=目标路径字符串:数组本身=追加到末尾、数组内下标=插到该位置;同数组即重排如组件调序,目标下标按移除源后解释,一步完成免双 set 交换);批量多改动 write({patches:[{op,jsonPath,value},...]});删子路径 write({patch:{jsonPath:"路径"}, del:true})。写入自动经 schema 校验(失败不写,按错误提示改值类型/形状后重试)+ 自动存快照`+(s?`。`:`(出错可用 restore_data 回退)。`)),r.push(`修改大对象/数组优先用 write 的 patch 增量(只发改动部分),避免整体重传被 max_tokens 截断致 JSON 不完整。`),r.push(`读大数组(read 返回 hasMore=true)用 read({jsonPath,offset,limit}) 分页(offset+=limit 续读,默认 limit=50);一次读多个不相关子路径用 read({jsonPaths:[...]}) 省轮次;复杂 patches 改动先 write({patches,dryRun:true}) 预检(走完整校验不落盘)。`),r.push(`read/describe 返回按 schema 投影:仅 schema 声明的字段可见(未声明字段自动隐藏,防误操作);要操作某字段需集成方在 schema 声明。`),s||(r.push(`查任意路径完整约束或对比快照差异需切 advanced 工具模式(schema_data/diff_data,当前未装载勿调用);查历史快照值(只读不改当前)用 history_data({id?,jsonPath?})。`),r.push(`在大数组里按条件筛选用 query_data(JSONPath,如 $.components[?(@.type=="card" && @.price<100)]),返回匹配元素 path/index;定位后用 write patch 改。找名字记不清的元素用 search_data(substring/regex/fuzzy)。批量过滤/映射/聚合/重写大数组用 eval_script(沙箱脚本,mode=query 只读/transform 落地)。`))):(r.push(`改主数据前先 get_data({jsonPath}) 读其当前真实值与 hash(返回末尾 hash=xxx),基于真实值改,不要凭记忆。写入(set/edit/delete)时回传 expectedHash=该 hash 启用乐观锁——若主数据在你 get 之后被外部代码/其他 agent/用户手动改过,会触发冲突:集成方若开启人工介入,工具会挂起等用户决定(保留外部/强制覆盖/回退),你应等待工具返回后按结果继续(保留外部→重新 get 再改;强制覆盖→已写入,继续;回退→已回退到历史快照,基于回退值重写);未开启人工介入时返回 VERSION_CONFLICT 不写入,重新 get 拿最新值与 hash 再改。`),r.push(`不确定主数据字段结构时用 describe_data 查看说明。`),r.push(`修改大对象/数组优先用 edit_data 增量 patch(只发改动部分),避免 set_data 整体重传被 max_tokens 截断导致 JSON 不完整、校验失败。`),r.push(`修改主数据出错时可用 restore_data 回退最近一次。`),r.push(`在大数组里按条件筛选元素用 query_data(JSONPath,如 $.components[?(@.type=="card" && @.price<100)]),返回匹配元素的 path/index;定位后再 edit_data 改。`),r.push(`找名字记不清的元素用 search_data(支持 substring/regex/fuzzy 模糊搜索)。`),r.push(`需要过滤/映射/聚合/批量重写大数组时用 eval_script(沙箱脚本,入参 data);只读探查用 mode=query,批量重写用 mode=transform(返回值经校验后落地)。`),r.push(`读大数组用 read({jsonPath,offset,limit}) 分页(返回 hasMore=true 时 offset+=limit 续读);一次读多个不相关子路径用 read({jsonPaths});复杂改动先 write({...,dryRun:true}) 预检不落盘。`),r.push(`对比当前与历史快照(或一段 JSON against)的差异用 diff_data({snapshotId?,against?})(返回结构化 path→from/to,verify 自纠/操作审计/"刚才改了啥");只读查历史快照值用 history_data({id?,jsonPath?})。`))),a.subagent&&r.push(`独立子任务可 spawn_agent 委派(过程隔离,不占主上下文):默认只读,需要子 agent 写数据时传 writablePaths(路径前缀白名单,越界 PATH_OUT_OF_SCOPE)。多个独立子任务可 spawn_agents 并行委派(各子互不通信,结论由你汇总;并行委派不可授写权限,写操作由你收尾执行)。`),a.inspectEnv&&r.push(`排查页面环境(当前 URL/浏览器/视口/集成方调试变量)用 inspect_env——不传参返回环境摘要(location/navigator/viewport/document),传 key 读特定 window 属性(如 inspect_env({key:"appConfig"}) 读 window.appConfig)。改完数据看渲染、定位"为何没生效"时用它(只读,不改数据)。`),a.domInspect&&r.push(`改完数据想确认渲染是否生效(或定位元素/辅助 UI 设计问答)用 get_dom({selector?,depth?}) 读渲染后 DOM(结构化返回 tag/attrs/text/children,depth 控制深度防爆炸,只读)。配合宿主 actions(save_draft/publish 等)形成"改数据→get_dom 看渲染→触发动作"闭环。`),a.draftWrite&&!o&&(r.push(`生成超大 JSON(如 50+ 组件页面,单次 write 受 max_tokens 限制装不下)用 draft_write 分块构建 → draft_commit 原子提交:draft_write({draftId, chunk, mode}) mode:"start" 新建/"append" 追加(拼 JSON 片段到 drafts 池);累积完 draft_commit({draftId}) 合并 + schema 校验 + 写主数据(失败草稿保留可修后重试,成功自动清草稿)。小改仍用 write patch,只在大 JSON 从零生成时用 draft。`),r.push(`⚠️ 大 JSON 分块构建是典型多轮工具调用(draft_write×N + draft_commit + read 确认 + 调研 read/query),默认 maxToolRounds=10 可能触顶被 while 截断导致草稿写不完;目标组件数大时集成方应在 createChatSdk 配 maxToolRounds ≥ 20(或按 N+5 估算)。draft_commit 提交同样走乐观锁(改前 read 拿 hash,bind 被改过会触发冲突介入,不静默覆盖)。`)),a.todoDeps&&r.push(`复杂任务可用 todos 层级依赖:write_todos 时给 todo 传 parentId(父任务 id,表达层级)+ deps(依赖的 todo id 数组,必须先完成)。有依赖的任务,deps 全 completed 后再标 in_progress;完成时 update_todo({id, status:"completed", evidence:"完成证据"}) 记证据。无依赖关系的任务不传 parentId/deps(扁平)。`),a.focus&&!o&&(r.push(`【上下文聚焦】判断任务范围,用 set_focus/add_focus/remove_focus/clear_focus 自动收敛工作范围:`),r.push(` · 局部任务(只改某一组件/区域,如「调导航栏」「改 components.3 样式」)→ 先 read 定位 jsonPath,再 set_focus({path:"该子树路径"}) 聚焦;聚焦后每轮只看该子树结构,写其他位置会被 PATH_DENIED 拒绝。`),r.push(` · 多个相关组件(如「同时改导航栏和页脚」)→ set_focus 聚焦首个后用 add_focus({path}) 追加其余;聚焦后可写任一焦点子树,越界仍被拒;移除单个用 remove_focus({path})。`),r.push(` · 全局任务(多处/整体结构,如「重排所有组件」「换主题」)→ 不要聚焦,保持全量视野直接写。`),r.push(` · 完成局部精修、要转向其他区域或做整体改动 → 调 clear_focus 退出聚焦(清空全部焦点),恢复全部读写权限。`),r.push(` · set_focus/add_focus 的 path 必须在 schema 内(类型校验);不确定路径先 read/describe_data 查。`)),e?.subagents?.length){let t=e.subagents.filter(e=>(e.temperature??0)>=Gg||/规划|创意|设计|方案|brainstorm|plan/i.test(e.description)),n=e.subagents.filter(e=>(e.temperature??0)<Gg&&/反思|审查|挑刺|校验|review|critique|reflect/i.test(e.description));r.push(`【规划-反思-执行·路由】按任务性质选模式,不要对简单任务过度编排:`),t.length&&(r.push(` · 创作/设计/开放性需求(如"设计主题风格""换个感觉")→ 先调 ${t.map(e=>`use_`+e.id).join(`/`)} 出 2-3 套方案(高温创意),`),r.push(e?.humanConfirm?` 不要自己拍板;拿到方案后,若需用户拍板用 request_human_confirmation 弹选项。`:` 不要自己拍板;拿到方案后以文字列出选项等用户回复(humanConfirm 未开,勿调不存在工具)。`)),n.length&&r.push(` · 严谨/易错/校验类 → 可先调 ${n.map(e=>`use_`+e.id).join(`/`)} 反思挑刺(低温审查),据反馈修订。`),r.push(o?` · 方案定稿后,由你(主 agent)用 write 落地成 JSON(低温度执行 + schema 校验 + 写前确认)。`:` · 方案定稿后,由你(主 agent)用 edit_data 落地成 JSON(低温度执行 + schema 校验 + 写前确认)。`),r.push(` · 简单/明确任务(如"标题改红色")直接执行,不必走规划-反思。`)}e?.humanConfirm&&(r.push(`【人工确认·必读】以下情形必须先调 request_human_confirmation 征询用户、拿到答复后再继续,不要自行拍板:`),r.push(` 1) 用户让你「给方案/列选项/我来选/挑一个」时:把每个方案作为一个 option,调 request_human_confirmation(question=简述, options=[方案A,方案B,...], recommendation=你推荐的)。不要只回文字罗列方案让用户自己回复——要用工具把选项做成可点选按钮。`),r.push(` 2) 需求有歧义/不确定时:调工具问清楚(options 不传则用户答同意或拒绝)。`),r.push(` 3) 即将执行高风险不可逆操作(删除/覆盖/批量改动)前:调工具确认。`),r.push(` 4) 规划出多步方案需用户确认时:把整个方案(或关键分步)作为 option 调 request_human_confirmation,确认后再执行。`),r.push(`用户在选项里选了哪个,就按那个方案继续;选「拒绝」则停止并询问如何调整。`));let c=n?.loopProgress;if(c){let e=c.invokeUsage.prompt_tokens||c.invokeUsage.total_tokens,t=i?.promptSoftCap??1/0,n=c.maxToolRounds>0&&c.rounds>=Math.ceil(c.maxToolRounds*.7),a=t!==1/0&&e>=t*.5;!c.budgetHinted&&(n||a)&&(c.rounds>0||e>0)&&(c.budgetHinted=!0,r.push(`⏳ 预算提示:本任务已用 ${c.rounds}/${c.maxToolRounds} 工具轮、累计约 ${Math.max(1,Math.round(e/1e3))}K prompt tokens。若已接近目标请收敛并给出总结;尚未接近请向用户汇报进度与剩余计划,勿默默继续。`));let o=Object.entries(c.writeFailures).filter(([,e])=>e>=2);if(o.length){let e=o.map(([e,t])=>`${e||`(整体)`}×${t}`).join(`、`);r.push(`⚠️ 以下路径已连续写失败:${e}。连续失败常意味着方向错了——先 read 重新核对实际值/类型,或 restore_data 回退后再改;若确需继续,换思路而非原样重试。`)}}return r.length&&r.unshift(`调用工具务必用标准 function calling(工具调用)格式发起,不要在回复正文里输出伪 XML/标签(如 deepseek 的 tool_calls 标签、invoke、function_call、tool_call 等)或 JSON 文本——那不会被识别为工具调用,会被当普通文字,工具不执行。`),r.length?`## 能力使用提示
|
|
179
179
|
`+r.join(`
|
|
180
180
|
`):void 0}}}function qg(e){let t=e.toolsExposed===!1?`读到 ⟦frozen:path⟧/⟦res:handle⟧ 占位符 = 精确值在冻结区/资源池(不入消息流);resource_get/resource_update 为 advanced 工具,当前模式未装载,勿尝试调用;freeze 字段不可写(撞 FROZEN_FIELD 即放弃);verbatim 字段保持原值,勿在当前模式下尝试改写(直接写新值会 VERBATIM_MISMATCH);撞 RESOURCE_EVICTED/RESOURCE_NOT_FOUND 重新 read 懒注册。`:`读到 ⟦frozen:path⟧/⟦res:handle⟧ 占位符 = 精确值在冻结区/资源池(不入消息流);需真值用 resource_get({path});freeze 字段不可写(撞 FROZEN_FIELD 即放弃);verbatim 直接写新值会 VERBATIM_MISMATCH,先 resource_update 再写回句柄;撞 RESOURCE_EVICTED/RESOURCE_NOT_FOUND 重新 read 懒注册。`;return{name:`resourcesPin`,augmentPrompt:()=>{let n=e.getResourcesSnapshot();if(!n.length)return;let r=[`## 受保护资源(跨压缩保留 · 精确值保护)`];for(let e of n)e.mode===`freeze`?r.push(`- ${e.path} (freeze 已冻结,不可改)`):r.push(`- ${e.path} (verbatim 原样保留)${e.handle?` ⟦res:${e.handle}⟧`:``}`);return r.push(t),r.join(`
|
|
181
|
-
`)}}}var Jg=`v:1::skill-store`,Yg=`chat-sdk`;function Xg(e,t,n){return`${Jg}::${e}::${t}::${n}`}function Zg(e,t){return`${Jg}::${e}::${t}::`}function Qg(e={}){let t=e.dbName??Yg,n=e.backend??`indexed`,r=e.id??``,i,a,o=new Promise(e=>{a=e});return(async()=>{try{if(n===`indexed`){if(typeof indexedDB>`u`)throw Error(`indexedDB 不可用`);i=await _h(t),a(!0)}else if(n===`session`){if(typeof sessionStorage>`u`)throw Error(`sessionStorage 不可用`);i=vh(sessionStorage),a(!0)}else if(n===`local`){if(typeof localStorage>`u`)throw Error(`localStorage 不可用`);i=vh(localStorage),a(!0)}else i=gh(),a(!1)}catch{i=gh(),a(!1)}})(),{ready:o,async list(){let e=[];return await i.scan(Zg(t,r),(t,n)=>{e.push(n)}),e},async get(e){return await i.get(Xg(t,r,e))},async put(e){try{await i.set(Xg(t,r,e.name),e)}catch(e){ch(e)&&(i=gh())}},async remove(e){let n=Xg(t,r,e);return await i.get(n)==null?!1:(await i.del(n),!0)},async clear(){await i.clearPrefix(Zg(t,r))},dispose(){}}}var $g=/large_results\/[^\s"'`),]+\.txt/g;function e_(e){let t=new Set,n=e=>{if(typeof e!=`string`||!e)return;let n;for($g.lastIndex=0;(n=$g.exec(e))!==null;)t.add(n[0])};for(let t of e)if(n(t.content),t.steps)for(let e of t.steps)n(e.result);return t}function t_(e,t){let n=[];for(let r of Object.keys(e))r.startsWith(`large_results/`)&&!t.has(r)&&n.push(r);return n}function n_(){let e=Promise.resolve();return function(t){let n=e.then(t,t);return e=n.then(()=>void 0,()=>void 0),n}}var r_=30,i_=new Map;function a_(e,t){return e===`set_data`?`set`:e===`edit_data`?`edit`:e===`delete_data`?`delete`:e===`restore_data`?`restore`:e===`write`?t?.del?`delete`:t?.patch?`edit`:`set`:null}function o_(e){return e===`spawn_agent`||e===`spawn_agents`||e.startsWith(`use_`)}function s_(e,t,n,r){let i=0;return{name:`sdk-events`,wrapToolCall:async(t,r)=>{let i=await r(t),a=a_(t.name,t.args);return a?e({type:`data_change`,operation:a,value:n()?.bind}):i.status===`done`&&o_(t.name)&&e({type:`data_change`,operation:`edit`,value:n()?.bind}),i},afterModel:t=>{let n=T(t.message);n&&(r.prompt_tokens=(r.prompt_tokens??0)+(n.prompt_tokens??0),r.completion_tokens=(r.completion_tokens??0)+(n.completion_tokens??0),r.total_tokens=(r.total_tokens??0)+(n.total_tokens??0),i++,e({type:`usage`,round:i,usage:n,cumulative:{prompt_tokens:r.prompt_tokens,completion_tokens:r.completion_tokens,total_tokens:r.total_tokens}}))},afterAgent:async()=>{e({type:`message_update`,count:t.length})}}}function c_(e,t,n,r,i){if(!n)return i&&console.warn(`[page-agent-sdk][focus] capabilities.focus 关闭,${t} 忽略`),{ok:!1,error:`capabilities.focus 关闭`};if(!e||!e.path)return i&&console.warn(`[page-agent-sdk][focus] ${t} 拒绝:path 必填且非空`),{ok:!1,error:`path 必填且非空`};let a=r();return a?Au(a,e.path)?{ok:!0}:(i&&console.warn(`[page-agent-sdk][focus] ${t} 拒绝:path "${e.path}" 不在 schema 内(getSchemaAtPath 返 null;数组组件须 z.array(...) 包裹,裸 discriminatedUnion/Union 会降级)`),{ok:!1,error:`path "${e.path}" 不在 schema 内`}):(i&&console.warn(`[page-agent-sdk][focus] ${t} 拒绝:当前无主数据 schema`),{ok:!1,error:`当前无主数据 schema,无法聚焦`})}function l_(e,n){let i={prompt_tokens:0,completion_tokens:0,total_tokens:0},a=Ym(()=>st),o=bn(0),s=xh(e.storage);e.debug&&s&&s.onEvent(e=>console.log(`[page-agent-sdk][storage]`,e));let{modelCaps:c,summaryLlmInvoke:l,titleLlmInvoke:u,compressDecisionInvoke:d}=Jm(e),f=c;if(e.debug&&console.log(`[page-agent-sdk][modelCaps]`,f),f.contextWindow<2e5)throw Error(`[page-agent-sdk] 模型上下文窗口 ${f.contextWindow} 小于最小支持 ${Bl}(需 ≥200K 窗口模型,如 GLM-5.2/Claude/Kimi/Qwen-1M/DeepSeek-v4)`);let p=Oh(e,f.contextWindow),m=p.enableLLMSummary!==!1,h=(e.contextOptions&&e.contextOptions.preserveLastToolResults)??Dh[e.contextPreset??`auto`],g=new Set(h),_=e.llm;e.debug&&!l&&console.warn(`[page-agent-sdk][summarization] 未构造 llmInvoke(apiKey 缺失?),摘要回退零成本索引摘要`);let v=on([]),x=qp(e.vfs?.initialFiles,{persist:s?{save:e=>{
|
|
181
|
+
`)}}}var Jg=`v:1::skill-store`,Yg=`chat-sdk`;function Xg(e,t,n){return`${Jg}::${e}::${t}::${n}`}function Zg(e,t){return`${Jg}::${e}::${t}::`}function Qg(e={}){let t=e.dbName??Yg,n=e.backend??`indexed`,r=e.id??``,i,a,o=new Promise(e=>{a=e});return(async()=>{try{if(n===`indexed`){if(typeof indexedDB>`u`)throw Error(`indexedDB 不可用`);i=await _h(t),a(!0)}else if(n===`session`){if(typeof sessionStorage>`u`)throw Error(`sessionStorage 不可用`);i=vh(sessionStorage),a(!0)}else if(n===`local`){if(typeof localStorage>`u`)throw Error(`localStorage 不可用`);i=vh(localStorage),a(!0)}else i=gh(),a(!1)}catch{i=gh(),a(!1)}})(),{ready:o,async list(){let e=[];return await i.scan(Zg(t,r),(t,n)=>{e.push(n)}),e},async get(e){return await i.get(Xg(t,r,e))},async put(e){try{await i.set(Xg(t,r,e.name),e)}catch(e){ch(e)&&(i=gh())}},async remove(e){let n=Xg(t,r,e);return await i.get(n)==null?!1:(await i.del(n),!0)},async clear(){await i.clearPrefix(Zg(t,r))},dispose(){}}}var $g=/large_results\/[^\s"'`),]+\.txt/g;function e_(e){let t=new Set,n=e=>{if(typeof e!=`string`||!e)return;let n;for($g.lastIndex=0;(n=$g.exec(e))!==null;)t.add(n[0])};for(let t of e)if(n(t.content),t.steps)for(let e of t.steps)n(e.result);return t}function t_(e,t){let n=[];for(let r of Object.keys(e))r.startsWith(`large_results/`)&&!t.has(r)&&n.push(r);return n}function n_(){let e=Promise.resolve();return function(t){let n=e.then(t,t);return e=n.then(()=>void 0,()=>void 0),n}}var r_=30,i_=new Map;function a_(e,t){return e===`set_data`?`set`:e===`edit_data`?`edit`:e===`delete_data`?`delete`:e===`restore_data`?`restore`:e===`write`?t?.del?`delete`:t?.patch?`edit`:`set`:null}function o_(e){return e===`spawn_agent`||e===`spawn_agents`||e.startsWith(`use_`)}function s_(e,t,n,r){let i=0;return{name:`sdk-events`,wrapToolCall:async(t,r)=>{let i=await r(t),a=a_(t.name,t.args);return a?e({type:`data_change`,operation:a,value:n()?.bind}):i.status===`done`&&o_(t.name)&&e({type:`data_change`,operation:`edit`,value:n()?.bind}),i},afterModel:t=>{let n=T(t.message);n&&(r.prompt_tokens=(r.prompt_tokens??0)+(n.prompt_tokens??0),r.completion_tokens=(r.completion_tokens??0)+(n.completion_tokens??0),r.total_tokens=(r.total_tokens??0)+(n.total_tokens??0),i++,e({type:`usage`,round:i,usage:n,cumulative:{prompt_tokens:r.prompt_tokens,completion_tokens:r.completion_tokens,total_tokens:r.total_tokens}}))},afterAgent:async()=>{e({type:`message_update`,count:t.length})}}}function c_(e,t,n,r,i){if(!n)return i&&console.warn(`[page-agent-sdk][focus] capabilities.focus 关闭,${t} 忽略`),{ok:!1,error:`capabilities.focus 关闭`};if(!e||!e.path)return i&&console.warn(`[page-agent-sdk][focus] ${t} 拒绝:path 必填且非空`),{ok:!1,error:`path 必填且非空`};let a=r();return a?Au(a,e.path)?{ok:!0}:(i&&console.warn(`[page-agent-sdk][focus] ${t} 拒绝:path "${e.path}" 不在 schema 内(getSchemaAtPath 返 null;数组组件须 z.array(...) 包裹,裸 discriminatedUnion/Union 会降级)`),{ok:!1,error:`path "${e.path}" 不在 schema 内`}):(i&&console.warn(`[page-agent-sdk][focus] ${t} 拒绝:当前无主数据 schema`),{ok:!1,error:`当前无主数据 schema,无法聚焦`})}function l_(e,n){let i={prompt_tokens:0,completion_tokens:0,total_tokens:0},a=Ym(()=>st),o=bn(0),s=xh(e.storage);e.debug&&s&&s.onEvent(e=>console.log(`[page-agent-sdk][storage]`,e));let{modelCaps:c,summaryLlmInvoke:l,titleLlmInvoke:u,compressDecisionInvoke:d}=Jm(e),f=c;if(e.debug&&console.log(`[page-agent-sdk][modelCaps]`,f),f.contextWindow<2e5)throw Error(`[page-agent-sdk] 模型上下文窗口 ${f.contextWindow} 小于最小支持 ${Bl}(需 ≥200K 窗口模型,如 GLM-5.2/Claude/Kimi/Qwen-1M/DeepSeek-v4)`);let p=Oh(e,f.contextWindow),m=p.enableLLMSummary!==!1,h=(e.contextOptions&&e.contextOptions.preserveLastToolResults)??Dh[e.contextPreset??`auto`],g=new Set(h),_=e.llm;e.debug&&!l&&console.warn(`[page-agent-sdk][summarization] 未构造 llmInvoke(apiKey 缺失?),摘要回退零成本索引摘要`);let v=on([]),x=qp(e.vfs?.initialFiles,{persist:s?{save:e=>{Ft({vfs:e})}}:void 0,maxBytes:e.vfs?.maxBytes,poolBytes:e.vfs?.poolBytes}),S=sd([],{maxPlanRevisions:e.maxPlanRevisions}),C=dd(),w=Ld({getSchema:()=>le()?.schema,getBind:()=>le()?.bind,unfocusGuidance:e.toolMode===`advanced`?`tool`:`ask-user`,onChange:e=>st({type:`focus_change`,focuses:e})}),T=Bd(),E=sf(e.memory||``);typeof e.memory==`function`&&E.refresh();let D={current:null},O=e.data?{...e.data,description:e.data.description??`主数据对象`}:void 0,k=!(e.subagents??[]).some(e=>e._codeAsset)&&wh(e.capabilities).subagent,A=e.subagents;k&&O?.schema&&Fu(O.schema).length&&(A=[...e.subagents??[],Nm()],console.info(`[page-agent-sdk] 检测到 schema 含代码组件数组(如 components[].code),已自动装配 HTML 代码子 agent(委派编排 + vfs 工作副本 + 格式校验 + 增量 commit)。需定制(codeField/formatCheck/craftNotes 等)请显式传 createHtmlSubagent(...)`));let ee=(A??[]).filter(e=>!!e._codeAsset),j=new Set;for(let e of ee){if(e._codeAsset.writablePaths.length)continue;let t=Fu(O?.schema,e._codeAsset.codeField);t.length?(e._codeAsset.writablePaths=t,Array.isArray(e.writablePaths)&&(e.writablePaths=t),e._rebuildCodeAssetPaths?.(t[0]),console.info(`[page-agent-sdk][createHtmlSubagent] 未传 writablePaths,已从 schema 推断: [${t.map(e=>`'${e}'`).join(`, `)}]`)):(console.warn(`[page-agent-sdk][createHtmlSubagent] 未能从 schema 推断 writablePaths(开放 schema(z.any()/z.record())/嵌套容器(如 sections[].children[])/点路径 codeField(如 props.html_code)不支持自动推断),已跳过该 html 子 agent(整体不受影响);如确需代码资产机制(vfs + 格式校验 + 增量 commit),请显式传 writablePaths(代码组件 data 区,如 ['components'])`),j.add(e))}let M=j.size?ee.filter(e=>!j.has(e)):ee,N=j.size?(A??[]).filter(e=>!j.has(e)):A,te=M.length>0,P=M.flatMap(e=>e._codeAsset.writablePaths),F=M.flatMap(e=>e._codeAsset.writablePaths.map(t=>`${t}.${e._codeAsset.codeField}`)),I=e.checkpoint,L=I!==void 0&&I!==!1,ne=L?Tf({getData:()=>le()?.bind,consumeDataDirty:()=>H?.consumeDataDirty?.()??!0,slotPaths:O?[``]:[],vfsStore:x,todosMw:S,getTodos:()=>D.current?.getState?.()?.todos??[],messages:v,maxCheckpoints:I&&typeof I==`object`?I.maxCheckpoints:void 0}):null,R=!I||typeof I!=`object`||I.auto!==!1,z=wh(e.capabilities),re=z.dataOps,B=z.draftWrite,ie=z.tracing,ae=z.automation,V=Up(e);if(te){let e=M.map(e=>e._codeAsset.orchestratorPrompt).filter(Boolean).join(`
|
|
182
182
|
|
|
183
183
|
`);e&&(V+=`
|
|
184
184
|
|
|
@@ -186,19 +186,21 @@ ${`- 输出形态:完整、自包含的 HTML 页面(.${r},可独立成页)`}
|
|
|
186
186
|
|
|
187
187
|
`+Qu.htmlDirectWriteFallback,console.warn(`[page-agent-sdk] 检测到 schema 含 code 字段但未注册 html 子 agent:已自动注入「主 agent 自己写 HTML」编排(code 作普通字段直接 write,无 vfs 工作副本 / 无格式校验门禁)。如需代码资产机制(vfs + 格式校验 + 增量 commit + 主上下文 code 摘要),注册 createHtmlSubagent;若确为降级意图可忽略。`));let oe=re&&O?bg(O,{onAudit:e.onAudit??(e.debug?e=>console.log(`[page-agent-sdk][data audit]`,e):void 0),maxSnapshots:e.maxSnapshots,onConflict:a.set,autoLock:e.autoLock,interceptors:e.interceptors,vfsStore:B||O?.resources?.length?x:void 0,...P.length?{pgIdPaths:P}:{},...F.length?{largeTextPaths:F}:{}}):[],se=re?dg(oe,e.toolMode):[],H=re&&O?oe.controller??null:null,ce=re&&O?.resources?.length&&H?.getResourcesSnapshot?qg({getResourcesSnapshot:()=>H?.getResourcesSnapshot?.()??[],toolsExposed:e.toolMode===`advanced`}):void 0,le=()=>H?.get()??O,ue=new Map,de=Ug(z,se,Sg,Og,Fg);de.forEach(e=>ue.set(e.name,`builtin`));let fe=[...e.tools||[]];fe.forEach(e=>ue.set(e.name,`user`));let pe=Rg(e.actions??{});pe.forEach(e=>ue.set(e.name,`action`));let me=[],he=!1,ge=e.humanConfirm!==!1&&(!e.approval||e.approval.humanConfirmTool!==!1),_e=ge?_f():null;_e&&ue.set(hf,`builtin`);let ve=L&&ne?[(0,r.tool)(async()=>{let e=ne.list();return e.length?ne.restore()?`已回退到最近一次正常状态(checkpoint #${e[e.length-1].id})。对话历史、主数据、vfs、todos 已整体还原。请基于回退后的状态重新判断并继续。`:`回退失败:无可用 checkpoint。`:`无可用 checkpoint,无法回退。`},{name:`restore_last_checkpoint`,description:`回退到最近一次正常状态(整体还原对话历史 + 主数据 + vfs + todos)。当本轮操作出错、页面被改坏、或走偏时调用,回到本轮起点重新来过。不传参数即回退最近一次。`,schema:t.z.object({}).optional()}),(0,r.tool)(async()=>{let e=ne.list();return e.length?`可用 checkpoint:
|
|
188
188
|
`+e.map(e=>`#${e.id} [${e.label??`auto`}] 消息数=${e.messageCount} 时间=${new Date(e.timestamp).toLocaleTimeString()}`).join(`
|
|
189
|
-
`):`无可用 checkpoint。`},{name:`list_checkpoints`,description:`列出可用会话 checkpoint(回退点)。`,schema:t.z.object({}).optional()})]:[];ve.forEach(e=>ue.set(e.name,`builtin`));let ye=z.focus,be=(0,r.tool)(async({path:e,label:t})=>{let n=le()?.schema;return n?Au(n,e)?(w.setFocus({path:e,...t?{label:t}:{}}),`已聚焦到 ${e}${t?`(${t})`:``}。后续仅可写该子树(越界被拒),每轮只看到该组件结构。完成精修后调 clear_focus 退出。`):`PATH_DENIED · 聚焦失败:path "${e}" 不在 schema 内。请先用 read 查看可操作路径再聚焦。`:`聚焦失败:当前无主数据 schema,无法聚焦。`},{name:`set_focus`,description:`聚焦到指定组件子树(如 components.3)精修,替换全部已有焦点(非累积;要保留已有焦点追加用 add_focus)。聚焦后:仅可写该子树(越界 PATH_DENIED)+ 每轮只看到该组件结构。多组件页面精修其中一个时用,避免改到别处。先 read 定位 path 再聚焦;完成调 clear_focus。`,schema:t.z.object({path:t.z.string().describe(`要聚焦的组件 jsonPath,如 components.3`),label:t.z.string().optional().describe(`人类可读标签,如「导航栏」`)})}),xe=(0,r.tool)(async()=>(w.clearFocus(),`已清除聚焦,恢复全量可操作范围(可读写所有组件)。`),{name:`clear_focus`,description:`清除当前聚焦,退出精修模式,恢复对全部组件的读写权限。`,schema:t.z.object({}).optional()}),Se=(0,r.tool)(async({path:e,label:t})=>{let n=le()?.schema;if(!n)return`聚焦失败:当前无主数据 schema,无法聚焦。`;if(!Au(n,e))return`PATH_DENIED · 聚焦失败:path "${e}" 不在 schema 内。请先用 read 查看可操作路径再聚焦。`;w.addFocus({path:e,...t?{label:t}:{}});let r=w.getFocuses();return`已聚焦 ${e}${t?`(${t})`:``}(当前共 ${r.length} 个焦点:${r.map(e=>e.path).join(`, `)})。后续仅可写这些子树之一(越界被拒)。`},{name:`add_focus`,description:`追加聚焦一个组件子树(multi-focus,可同时聚焦多个相关组件)。校验 path 在 schema 内。聚焦后仅可写已聚焦的子树之一(越界 PATH_DENIED)。与 set_focus(替换全部)不同:本工具累积追加,不清除已有焦点。`,schema:t.z.object({path:t.z.string().describe(`要追加聚焦的组件 jsonPath,如 components.3`),label:t.z.string().optional().describe(`人类可读标签`)})}),Ce=(0,r.tool)(async({path:e})=>{let t=w.getFocuses().length;w.removeFocus(e);let n=w.getFocuses();return n.length===t?`path "${e}" 不在当前焦点列表中(当前:${n.map(e=>e.path).join(`, `)||`无`})。`:n.length?`已移除焦点 ${e}(剩余 ${n.length} 个:${n.map(e=>e.path).join(`, `)})。`:`已移除焦点 ${e},聚焦已清空,恢复全量操作范围。`},{name:`remove_focus`,description:`移除单个聚焦焦点(by path),保留其他焦点。移除最后一个等价退出精修。全部退出用 clear_focus。`,schema:t.z.object({path:t.z.string().describe(`要移除的焦点 jsonPath`)})}),we=ye&&e.toolMode===`advanced`?[be,xe,Se,Ce]:[];we.forEach(e=>ue.set(e.name,`builtin`));let Te=[],Ee=new Map,De=Oe();function Oe(){let{tools:e,collisions:t}=Wg([{label:`builtin`,tools:de},{label:`user`,tools:fe},{label:`action`,tools:pe},{label:`humanConfirm`,tools:_e?[_e]:[]},{label:`checkpoint`,tools:ve},{label:`focus`,tools:we},{label:`mcp`,tools:me},{label:`skill`,tools:Te}]);return t.length&&console.warn(`[page-agent-sdk] 工具重名,后注册覆盖先注册:`,t.map(e=>`${e.name}(${e.loser}→${e.winner})`).join(`, `)),e}let U=z.planning,ke=z.missionAnchor,Ae=z.workingMemory,je=z.skills,Me=z.vfs||te;if(Me)for(let e of em)ue.set(e,`builtin`);if(U)for(let e of S.tools??[])ue.set(e.name,`builtin`);let Ne=z.summarization,Pe=z.agentCompression&&!!d;e.debug&&z.agentCompression&&!d&&console.warn(`[page-agent-sdk][agentCompression] agentCompression 开启但 summaryLlm 不可用(或缺 apiKey / 模型不支持工具),压缩决策不启用,回退静态压缩`);let Fe=z.memory,Ie=z.subagent,Le=Ie?Yf():void 0,Re=e.verify?.maxAttempts??2,ze=!!(e.verify?.check||e.verify?.maxAttempts||e.verify?.adversarial),Be=e.capabilities?.verify===!1,W=(z.verify||ze&&!Be)&&e.verify?.enabled!==!1&&Re>0,Ve=z.contextInspector;ze&&!W&&e.verify?.enabled!==!1&&console.warn(`[page-agent-sdk][verify] 检测到 verify 配置(check/maxAttempts/adversarial)但未装载(capabilities.verify:false 显式关闭 或 maxAttempts≤0)`);let He=e.subagent,Ue=He?.allowedTools??[],We=e.permissions?.length?pf(e.permissions):void 0,Ge=e.approval&&(e.approval.tools!==void 0||e.approval.confirm)?mf(e.approval):void 0,Ke=[...We?[We]:[],...Ge?[Ge]:[]],qe=!Ie||He?.enabled===!1?void 0:dp({llm:He?.llm??e.llm,allTools:()=>G.agent?.allTools??De,allowedTools:Ue.length?Ue:void 0,systemPrompt:He?.systemPrompt,temperature:He?.temperature,maxTokens:He?.maxTokens,skills:He?.skills,maxDepth:He?.maxDepth,maxParallel:He?.maxParallel,debug:e.debug,getFocuses:()=>w.getFocuses(),getSchema:()=>le()?.schema??null,tracker:Le,guardMiddleware:Ke.length?Ke:void 0,getVfsFiles:Me?()=>x.files:void 0,enterDataScope:H?.enterScope?e=>H.enterScope(e):void 0,exitDataScope:H?.exitScope?e=>H.exitScope(e):void 0,onUsage:e=>{i.prompt_tokens=(i.prompt_tokens??0)+(e.prompt_tokens??0),i.completion_tokens=(i.completion_tokens??0)+(e.completion_tokens??0),i.total_tokens=(i.total_tokens??0)+(e.total_tokens??0)},timeoutMs:He?.timeoutMs}),Je=N?.map(e=>{if(!e._codeAsset)return e;let t=e._codeAsset,n=vm({writablePaths:t.writablePaths,codeVfsPrefix:t.codeVfsPrefix,ext:t.ext,codeField:t.codeField,craftNotes:t.craftNotes,onWarning:e=>console.warn(`[page-agent-sdk][code-asset] ${e}`),getController:()=>H,vfsStore:x}),r=[...e.middleware??[],n];for(let e of r)e&&typeof e==`object`&&typeof e._setGetController==`function`&&e._setGetController(()=>H);return{...e,middleware:r}}),Ye=te&&Ie?ym():void 0,Xe=Ye?Tm({getBind:()=>le()?.bind,writablePaths:P,getLocked:()=>Ye.locked(),tools:De}):void 0,Ze=Ie&&Je!==void 0?mp(Je,{llm:e.llm,allTools:()=>G.agent?.allTools??De,debug:e.debug,getFocuses:()=>w.getFocuses(),getSchema:()=>le()?.schema??null,getBind:()=>le()?.bind,tracker:Le,guardMiddleware:Ke.length?Ke:void 0,getVfsFiles:Me?()=>x.files:void 0,enterDataScope:H?.enterScope?e=>H.enterScope(e):void 0,exitDataScope:H?.exitScope?e=>H.exitScope(e):void 0,onUsage:e=>{i.prompt_tokens=(i.prompt_tokens??0)+(e.prompt_tokens??0),i.completion_tokens=(i.completion_tokens??0)+(e.completion_tokens??0),i.total_tokens=(i.total_tokens??0)+(e.total_tokens??0)},timeoutMs:e.subagent?.timeoutMs,...Ye?{componentLock:Ye,resolveComponents:e=>bm(e,mm(le()?.bind,P))}:{}}):void 0,Qe=Ze?Ze.controller:null,$e=[`get_data`,`describe_data`,`read`,`fetch_document`],et=De.filter(e=>$e.includes(e.name)),tt=W?hp({check:e.verify.check??xp({schemas:()=>le()?{"":le().schema}:{},root:()=>le()?.bind}),adversarial:e.verify?.adversarial?{llm:e.llm,tools:et}:void 0}):void 0,nt=Ve?Fp({contextWindow:f.contextWindow,thresholdRatio:Oh(e,f.contextWindow).summaryThresholdRatio}):void 0,rt=Kg({...z,humanConfirm:ge,subagents:N?.map(e=>({id:e.id,description:e.description,temperature:e.temperature}))},re&&!!O,e.toolMode,!!O?.resources?.length,{promptSoftCap:Wf(f.contextWindow,p.promptSoftCapTokens)}),it=O?{name:`dataHint`,augmentPrompt:()=>Hp(le(),e.schemaHint)||void 0}:null,at=e.augmentSystem?{name:`augmentSystem`,augmentPrompt:t=>{try{return e.augmentSystem({state:t,data:le()})}catch(t){e.debug&&console.log(`[page-agent-sdk][augmentSystem] 回调抛错,降级跳过:`,t.message);return}}}:null,ot=Th(e.onEvent),st=ot.emit,ct,lt=[],ut=e=>({name:e.name,description:e.description,content:typeof e.getContent==`function`?e.getContent():``}),dt=e=>({name:e.name,description:e.description,getContent:()=>e.content}),ft=e.skillStorage===!1?null:Qg({...typeof e.skillStorage==`object`?e.skillStorage:{},id:e.skillStorage&&typeof e.skillStorage==`object`&&e.skillStorage.id?e.skillStorage.id:`agent::${n}`}),pt=()=>{let t=ct?ct.controller:null;if(t){let n=(e.skills||[]).filter(e=>!lt.some(t=>t.name===e.name));t.set([...n,...lt])}G.infoTick.value++},mt=async()=>{if(ft)try{let t=await ft.list();if(t.length){lt=t.map(dt);let n=ct?ct.controller:null;if(n){let t=(e.skills||[]).filter(e=>!lt.some(t=>t.name===e.name));n.set([...t,...lt])}G.infoTick.value++}}catch{}},ht=Ne?Jf({...p,llmInvoke:l,getRegisteredData:()=>le()?[{description:le().description??`主数据对象`}]:[],preserveLastToolResults:h,...Pe?{decideInvoke:d,getSnapshot:()=>nt?.getSnapshot()}:{}}):void 0,gt=Ah([...it?[it]:[],rt,...ke?[C]:[],...U?[S]:[],...je?[ct=of(e.skills||[],{readVfs:Me?e=>x.files[e]?.content:void 0,hostScriptEnabled:z.skillHostScript,onToolsReady:(e,t)=>{for(let n of t){let t=Te.findIndex(e=>e.name===n.name);t>=0&&Te.splice(t,1),Te.push(n),Ee.set(n.name,e),ue.set(n.name,`skill:${e}`)}De=Oe(),G.agent&&G.agent.setTools(De),G.infoTick.value++}})]:[],...Me?[nm(x)]:[],...ht?[ht]:[],...Ae?[T]:[],...ye?[w]:[],...ce?[ce]:[],...Fe?[E]:[],...We?[We]:[],...L&&R&&ne?[Ef(ne)]:[],...ge?[vf()]:[],...Ge?[Ge]:[],...tt?[tt]:[],...qe?[qe]:[],...Ze?[Ze]:[],...Xe?[Xe]:[],...at?[at]:[],...nt?[nt]:[],...e.middleware||[],...ae?[Ig(i,{tokenBudget:e.tokenBudget,timeBudgetMs:e.timeBudgetMs},st)]:[],s_(st,v,le,i)]),_t=e.maxMemoryRounds??r_,vt=e.approval?.timeoutMs,yt=vt===void 0||vt===0?3e4:!Number.isFinite(vt)||vt<0?0:vt;function bt(e){if(yt)return t=>{if(t.type!==`approval_request`)return;let n=Date.now(),r=t.toolName;setTimeout(()=>{e?.aborted||(t.resolve(!1),st({type:`error`,message:`确认请求(${r})${Math.round((Date.now()-n)/1e3)}s 无响应已自动拒绝 —— send/batch 路径无 UI 响应方;可传 approval.timeoutMs 调整(Infinity = 无限等)`,severity:`observable`,code:`APPROVAL_AUTO_REJECTED`,context:{toolName:r,waitedMs:Date.now()-n}}))},yt)}}function xt(e){let t=bt(e);return e=>{t?.(e),e.type===`error`&&st(e)}}let St=bn([]);async function Ct(){s&&(St.value=(await s.listSessions(n)).sort((e,t)=>t.lastAccessed-e.lastAccessed))}let wt=n_(),Tt=new Set;function Et(e){let t=new AbortController;return e&&(e.aborted?t.abort():e.addEventListener(`abort`,()=>t.abort(),{once:!0})),Tt.add(t),{controller:t,untrack:()=>Tt.delete(t)}}function Dt(){for(let e of Tt)e.abort();Tt.clear()}let G={agentId:n,store:s,messages:v,vfsStore:x,listeners:ot.listeners,todosMw:S,memoryMw:E,missionMw:C,workingMemoryMw:T,focusMw:w,agent:null,initDone:Promise.resolve(),sessionId:``,refCount:0,mcpClosers:[],mcpServers:[],checkpoint:ne,dataOpsController:H,skillsController:ct?ct.controller:null,infoTick:o,pendingConflict:a.pendingConflict,sessions:St,refreshSessions:Ct,liveData:le,usage:i,emit:st,runSerial:wt,trackActive:Et,abortAllActive:Dt,unloadSkillTools(e){if(e){let t=Te.length;if(Te=Te.filter(t=>Ee.get(t.name)===e?(ue.delete(t.name),Ee.delete(t.name),!1):!0),Te.length===t)return}else{if(!Te.length)return;for(let e of Te)ue.delete(e.name),Ee.delete(e.name);Te=[]}De=Oe(),G.agent&&G.agent.setTools(De)},applySnapshot(t){if(t.messages?.length&&v.push(...t.messages),t.vfs&&x.hydrate&&x.hydrate(t.vfs),t.todos?.length&&S.reset(t.todos),t.memory&&!e.memory&&E.reset(t.memory),t.checkpoints?.length&&ne&&ne.importStack(t.checkpoints),t.usage&&Object.assign(i,t.usage),t.mission&&ke&&C.setMission(t.mission),t.workingMemory&&Ae&&T.restore(t.workingMemory),ye){let n=t.focus,r=n?Array.isArray(n)?n:[n]:[];if(r.length){let t=le()?.schema,n=t?r.filter(e=>Au(t,e.path)):[];if(n.length&&(w.setFocus(null),n.forEach(e=>w.addFocus(e))),e.debug&&n.length<r.length){let e=r.filter(e=>!n.includes(e)).map(e=>e.path);console.warn(`[page-agent-sdk][focus] 恢复的焦点部分 path 已失效(schema 变化/无 schema),剔除:`,e)}}}jt()},addSkill(e){let t=lt.findIndex(t=>t.name===e.name);t>=0?lt[t]=e:lt.push(e),pt(),ft&&ft.put(ut(e))},removeSkill(e){let t=lt.findIndex(t=>t.name===e);return t<0?!1:(lt.splice(t,1),pt(),ft&&ft.remove(e),!0)},listUserSkills(){return lt.map(e=>e.name)},getUserSkill(e){let t=lt.find(t=>t.name===e);if(t)return{name:t.name,description:t.description,content:typeof t.getContent==`function`?t.getContent():``}},afterRound(){Mt(),Ft()},async send(e,t){await G.initDone,t??={},t?.mission&&ke&&C.setMission(t.mission);let n=e;if(t.interceptors?.input)try{let r=t.interceptors.input(e);typeof r==`string`&&(n=r)}catch{}let r=ae?t.maxAutoRetries??1:0,i=0,a=!1,o=xt(t.signal);for(;;){a||=(v.push({role:`user`,content:n,timestamp:Date.now()}),!0);try{let e=await G.agent.invoke(v,t.signal,o);if(t.interceptors?.output)try{let n=t.interceptors.output(e);typeof n==`string`&&(e=n)}catch{}return v.push({role:`assistant`,content:e,timestamp:Date.now()}),G.afterRound(),s&&await s.flush(),e}catch(e){if(ql(e,t.signal))throw e;let n=Ml(e,`fatal`);if(i<r&&ne?.canRestore()){i+=1,ne.restore(),a=!0,st({type:`error`,message:`致命错误自动恢复(${i}/${r}):${n.message},已回退 checkpoint 重试`,severity:`observable`,code:`AUTO_RECOVER_RETRY`,context:{attempt:i,cause:n.code??n.message.slice(0,120)}});continue}throw st({type:`error`,message:n.message,severity:n.severity,...n.code?{code:n.code}:{},...n.context===void 0?{}:{context:n.context}}),e}}},async batch(e,t,n){if(await G.initDone,!e.length)return[];let r=[],i=xt(n);for(let a=0;a<e.length;a++){if(n?.aborted){for(let t=a;t<e.length;t++)r.push({index:t,task:e[t],error:`aborted(外部中止)`,ok:!1});break}let o=e[a];ne&&ne.save(`batch:${a}`);let c=v.length;try{v.push({role:`user`,content:o,timestamp:Date.now()});let c=await G.agent.invoke(v,n,i);v.push({role:`assistant`,content:c,timestamp:Date.now()}),G.afterRound(),s&&await s.flush(),r.push({index:a,task:o,reply:c,ok:!0}),t?.({done:a+1,total:e.length,task:o,ok:!0})}catch(i){if(v.length>c&&v.splice(c),ql(i,n)){r.push({index:a,task:o,error:`aborted(外部中止)`,ok:!1});for(let t=a+1;t<e.length;t++)r.push({index:t,task:e[t],error:`aborted(外部中止)`,ok:!1});break}let s=Ml(i,`fatal`);st({type:`error`,message:`批量任务 ${a+1}/${e.length} 失败:${s.message}`,severity:`observable`,code:`BATCH_TASK_FAILED`,context:{index:a,task:o.slice(0,100)}}),r.push({index:a,task:o,error:s.message,ok:!1}),t?.({done:a+1,total:e.length,task:o,ok:!1})}}return r},async switchSession(t){if(await G.initDone,!s)throw Error(`page-agent-sdk: storage 未开启,无法切换会话(请传 storage 选项)`);if(a.resolve(`keep_external`),G.sessionId&&s){if(ke){let e=C.getMission();e&&s.save(n,G.sessionId,{mission:e})}if(Ae){let e=T.getWorkingMemory();e&&s.save(n,G.sessionId,{workingMemory:e})}if(ye){let e=w.getFocuses();s.save(n,G.sessionId,{focus:e.length?e:null})}}x.flush?.(),await s.flush();let r=t??``,i;return r?(i=await s.load(n,r),i||await s.createSession(n,e.session?.title,r)):r=await s.createSession(n,e.session?.title),G.sessionId=r,v.splice(0,v.length),x.clear?.(),S.reset([]),e.memory||E.reset(``),C.reset(),T.reset(),w.reset(),ne&&ne.importStack([]),G.agent.debugLogs.value=[],i||=await s.load(n,r),i&&(G.applySnapshot(i),st({type:`session_restored`,sessionId:r,rounds:i.messages?.length??0})),e.memory&&s.save(n,G.sessionId,{memory:E.get()||(typeof e.memory==`string`?e.memory:``)}),Ct(),Nt=void 0,Pt=!1,G.infoTick.value++,r},resetSession:()=>{Dt(),a.resolve(`keep_external`),G.sessionId=Xm(),v.splice(0,v.length),x.clear?.(),S.reset([]),e.memory||E.reset(``),C.reset(),T.reset(),w.reset(),ne&&ne.importStack([]),G.agent&&(G.agent.debugLogs.value=[]),s&&s.createSession(G.agentId,e.session?.title,G.sessionId),st({type:`session_restored`,sessionId:G.sessionId,rounds:0}),G.infoTick.value++,Ct(),Nt=void 0,Pt=!1},stream:(e,t,n)=>{if(!G.agent)throw Error(`page-agent-sdk: agent 尚未初始化完成,请先 await mount()`);x?.setProtectedRefs?.(e_(e));let r=e=>{t?.(e),st(e),e.type===`subagent`&&(e.kind===`tool_call`||e.kind===`tool_result`)&&G.infoTick.value++};if(n){let e=()=>a.resolve(`keep_external`);n.aborted?e():n.addEventListener(`abort`,e,{once:!0})}let{controller:i,untrack:o}=Et(n);return G.agent.stream(e,r,i.signal).finally(o)},release(){if(G.refCount--,G.refCount<=0){Dt(),he=!0,s&&(x.flush?.(),s.flush(),s.dispose()),ft&&ft.dispose();let e=G.mcpClosers.splice(0);e.length&&Promise.allSettled(e.map(e=>e())),i_.delete(n)}},resolveConflict:a.resolve,setTools(e){fe.length=0,e.forEach(e=>{fe.push(e),ue.set(e.name,`user`)}),De=Oe(),G.agent&&G.agent.setTools(De),G.infoTick.value++},addTool(e){De.some(t=>t.name===e.name)&&console.warn(`[page-agent-sdk] 工具 "${e.name}" 已存在,新工具覆盖(后注册覆盖先注册)`);for(let t=fe.length-1;t>=0;t--)fe[t].name===e.name&&fe.splice(t,1);fe.push(e),ue.set(e.name,`user`),De=Oe(),G.agent&&G.agent.setTools(De),G.infoTick.value++},removeTool(e){let t=fe.findIndex(t=>t.name===e);return t<0?!1:(fe.splice(t,1),ue.delete(e),De=Oe(),G.agent&&G.agent.setTools(De),G.infoTick.value++,!0)},setLlm(t){let n;if(zm(t))n=t;else{let e=t;if((e.provider??`openai`)===`anthropic`)throw Error(`[page-agent-sdk][setLlm] 切换到 Anthropic 需传 BaseChatModel 实例(动态 import 无法同步);请先 const { ChatAnthropic } = await import("@langchain/anthropic") 构造实例后传入`);n=y(e)}typeof n.bindTools!=`function`&&e.debug&&console.warn(`[page-agent-sdk][setLlm] 新模型不支持 bindTools(tool calling 会失效)`),_=t;let r=zm(t)?void 0:t;if(f=Vl({model:r?.model??t.model??t.modelName,contextWindow:e.contextWindow??r?.contextWindow,maxOutputTokens:e.maxOutputTokens??r?.maxOutputTokens}),f.contextWindow<2e5)throw Error(`[page-agent-sdk][setLlm] 新模型上下文窗口 ${f.contextWindow} 小于最小支持 ${Bl}(需 ≥200K 窗口模型)`);G.agent&&(G.agent.setLlm(n),G.agent.setModelCaps?.(f)),ht?.setContextWindow?.(f.contextWindow),nt?.setContextWindow?.(f.contextWindow),G.infoTick.value++,e.debug&&console.log(`[page-agent-sdk][setLlm] 重解析 modelCaps + 回灌:`,f)},setMemory(e){E.reset(e),typeof e==`function`&&E.refresh(),G.infoTick.value++},refreshMemory(){return E.refresh()},setSubagents(t){if(!Qe){e.debug&&console.warn(`[page-agent-sdk][setSubagents] 未配 subagents:[] 或 capabilities.subagent 关闭,忽略`);return}Qe.set(t),G.infoTick.value++},addSubagent(t){if(!Qe){e.debug&&console.warn(`[page-agent-sdk][addSubagent] 未配 subagents:[] 或 capabilities.subagent 关闭,忽略`);return}Qe.add(t),G.infoTick.value++},removeSubagent(t){if(!Qe)return e.debug&&console.warn(`[page-agent-sdk][removeSubagent] 未配 subagents:[] 或 capabilities.subagent 关闭,忽略`),!1;let n=Qe.remove(t);return n&&G.infoTick.value++,n},getActiveSubagents(){return Le?.getActive()??[]},get subagentHistory(){return Le?.getHistory()??[]},getInfo(){return{id:n,sessionId:G.sessionId,model:zm(_)?_.model??_.modelName:_.model,systemPrompt:G.agent?.getEffectiveSystemPrompt?.()??V+Hp(le(),e.schemaHint),tools:(G.agent?.allTools??De).map(e=>({name:e.name,description:e.description,schema:e.schema,source:ue.get(e.name)||`user`})),skills:(ct?ct.controller.get():e.skills??[]).map(e=>({name:e.name,description:e.description})),data:le()?{description:le().description,schema:le().schema}:void 0,contextPreset:e.contextPreset??`auto`,compression:{contextWindow:f.contextWindow,summaryThresholdRatio:p.summaryThresholdRatio??.5,promptSoftCap:Wf(f.contextWindow,p.promptSoftCapTokens)},memory:E.get(),middleware:gt.map(e=>e.name),todos:(G.agent?.getState?.()?.todos??[]).map(e=>({id:e.id,content:e.content,status:e.status,...e.parentId===void 0?{}:{parentId:e.parentId},...e.deps===void 0?{}:{deps:e.deps},...e.criteria===void 0?{}:{criteria:e.criteria},...e.evidence===void 0?{}:{evidence:e.evidence}})),planPhase:S.getPlanPhase(),mission:ke?C.getMission():void 0,workingMemory:Ae?T.getWorkingMemory():void 0,focus:ye?w.getFocus():void 0,focuses:ye?w.getFocuses():[],trace:ie&&G.agent?.spans?{spans:G.agent.spans.value,metrics:Gl(G.agent.spans.value)}:void 0,actions:zg(e.actions??{}),subagent:{enabled:!!qe,maxDepth:e.subagent?.maxDepth??1,maxParallel:e.subagent?.maxParallel??4,allowedTools:e.subagent?.allowedTools??[],subagents:Qe?.get()??[],active:Le?.getActive()??[],history:Le?.getHistory()??[],lockedComponents:Ye?.locked()??{}},verify:{enabled:!!tt,maxAttempts:W?Re:0,adversarial:W&&!!e.verify?.adversarial},context:(()=>{let e=nt?.getSnapshot();if(e){let t=G.agent?.getState?.()?.lastCompression;t&&(e.compression=t)}return e})(),mcp:{servers:G.mcpServers},lastCompression:G.agent?.getState?.()?.lastCompression,checkpoints:ne?{enabled:!0,auto:R,list:ne.list()}:void 0}},getMission(){return ke?C.getMission():void 0},setMission(t){if(!ke){e.debug&&console.warn(`[page-agent-sdk][mission] capabilities.missionAnchor 关闭,setMission 忽略`);return}C.setMission(t),G.infoTick.value++},getFocus(){return ye?w.getFocus():void 0},getFocuses(){return ye?w.getFocuses():[]},setFocus(t){let n=c_(t,`setFocus`,ye,()=>le()?.schema,e.debug);return n.ok?(w.setFocus(t),G.infoTick.value++,{ok:!0}):n},addFocus(t){let n=c_(t,`addFocus`,ye,()=>le()?.schema,e.debug);return n.ok?w.getFocuses().length>=8?(e.debug&&console.warn(`[page-agent-sdk][focus] addFocus 拒绝:焦点数已达上限 8(augmentPrompt 注入每焦点子树 schema,过多致 system prompt 超预算)`),{ok:!1,error:`焦点数上限 8(避免 system prompt 撑爆)`}):(w.addFocus(t),G.infoTick.value++,{ok:!0}):n},removeFocus(e){ye&&(w.removeFocus(e),G.infoTick.value++)},clearFocus(){ye&&(w.clearFocus(),G.infoTick.value++)}};async function Ot(){if(!s)return;await s.ready;let t=e.session||{};if(t.id){G.sessionId=t.id;let e=await s.load(n,G.sessionId);e?(G.applySnapshot(e),st({type:`session_restored`,sessionId:G.sessionId,rounds:e.messages?.length??0})):await s.createSession(n,t.title,G.sessionId)}else if(t.autoResume!==!1){let r=await s.listSessions(n);if(e.debug&&console.log(`[page-agent-sdk][restore] listSessions`,n,r.length,r.map(e=>e.sessionId)),r.length){G.sessionId=r[0].sessionId;let t=await s.load(n,G.sessionId);t?(G.applySnapshot(t),st({type:`session_restored`,sessionId:G.sessionId,rounds:t.messages?.length??0}),e.debug&&console.log(`[page-agent-sdk][restore] 恢复会话`,G.sessionId,`${t.messages?.length??0} msgs`)):e.debug&&console.log(`[page-agent-sdk][restore] 会话 meta 存在但快照为空`,G.sessionId)}else G.sessionId=await s.createSession(n,t.title),e.debug&&console.log(`[page-agent-sdk][restore] 新建会话(无历史)`,G.sessionId)}else G.sessionId=await s.createSession(n,t.title);e.memory&&s.save(n,G.sessionId,{memory:E.get()||(typeof e.memory==`string`?e.memory:``)}),Ct()}async function kt(){await mt()}function At(e){let t={};for(let n of e_(e)){let e=x.files[n];e&&(t[n]=e.content)}return t}function jt(){let e=t_(x.files,e_(v));for(let t of e)delete x.files[t]}function Mt(){let e=Ff(v,_t);if(!e.trimmed)return;let{older:t,summary:n}=e;if(st({type:`context_trimmed`,dropped:t.map(e=>({round:e.round,user:e.userMsg.content,assistant:e.assistantMsgs.map(e=>e.content),steps:e.assistantMsgs.flatMap(e=>e.steps??[])})),vfsResults:At(t.flatMap(e=>[e.userMsg,...e.assistantMsgs])),summary:n.content,reason:`max_memory_rounds`}),v.splice(e.deleteFrom,e.deleteCount,n),jt(),m&&l){let n=e.summary,{prevSeg:r}=e;(async()=>{try{let e=await l(Bf(t,g)),i=v.indexOf(n);if(i<0)return;v[i].content=Pf(t,r,e),Ft()}catch{}})()}}let Nt,Pt=!1;function Ft(){if(!G.sessionId||!s)return;let t=JSON.parse(JSON.stringify(v));s.save(n,G.sessionId,{messages:t});let r=G.agent?.getState?.()?.todos??[];if(s.save(n,G.sessionId,{todos:r}),ke){let e=C.getMission();e&&s.save(n,G.sessionId,{mission:e})}if(Ae){let e=T.getWorkingMemory();e&&s.save(n,G.sessionId,{workingMemory:e})}if(ye){let e=w.getFocuses();s.save(n,G.sessionId,{focus:e.length?e:null})}ae&&ne&&(s.save(n,G.sessionId,{checkpoints:ne.exportStack()}),s.save(n,G.sessionId,{usage:i}));let a=Rm(v);a&&a!==Nt&&(Nt=a,s.updateTitle(n,G.sessionId,a)),e.autoTitle!==!1&&u&&!Pt&&v.some(e=>e.role===`user`)&&v.some(e=>e.role===`assistant`)&&(Pt=!0,(async()=>{let e=await u(v);e&&(await s.updateTitle(n,G.sessionId,e),await Ct())})()),e.debug&&console.log(`[page-agent-sdk][persist] save`,G.sessionId,`${v.length} msgs`)}return G.initDone=(async()=>{await Ot(),await kt(),e.mcp?.length&&(async()=>{let t=await Promise.allSettled(e.mcp.map(e=>Bp(e))),n=t.flatMap(e=>e.status===`fulfilled`?[e.value.close]:[]);if(he){Promise.allSettled(n.map(e=>e()));return}G.mcpClosers=n,G.mcpServers=[];let r=new Set;for(let e of De){let t=ue.get(e.name);t&&!t.startsWith(`mcp:`)&&r.add(e.name)}t.forEach((t,n)=>{let i=e.mcp[n],a=i.name??i.url;t.status===`fulfilled`?(G.mcpServers.push({name:a,url:i.url,toolCount:t.value.tools.length}),t.value.tools.forEach(e=>{if(r.has(e.name)){console.warn(`[page-agent-sdk][mcp] 工具 "${e.name}" 与内置工具重名,已拒绝注入(安全保留字保护)`);return}ue.set(e.name,`mcp:${a}`),me.push(e)})):console.warn(`[page-agent-sdk][mcp] server ${a} 连接失败:`,t.reason)}),me.length&&(De=Oe(),G.agent&&G.agent.setTools(De),G.infoTick.value++),e.debug&&console.log(`[page-agent-sdk][mcp] 注入 ${me.length} 个工具,${G.mcpServers.length} 个 server`)})();let t=zm(e.llm)?e.llm:await b(e.llm);G.agent=Eu({llm:t,systemPrompt:V,tools:De,middleware:gt,maxToolRounds:e.maxToolRounds,maxRetries:e.maxRetries,stallMs:e.streamStallMs??9e4,maxParallelTools:e.maxParallelTools,contextWindow:f.contextWindow,maxOutputTokens:f.maxOutputTokens,maxVerifyAttempts:W?Re:0,roundTokenBudget:e.roundTokenBudget??0,onLlmChange:e=>{_=e},onTrace:ie?(e,t)=>{try{st({type:`trace`,spans:e,metrics:t})}catch{}}:void 0,debug:e.debug}),D.current=G.agent,Ze&&Ze.setReconfigureHook&&Ze.setReconfigureHook(()=>{G.agent&&G.agent.setTools(Oe())})})(),G}function u_(e,t){let n=e.id??Xm();e.id||console.warn(`[page-agent-sdk] 未传 options.id,已生成随机 id "${n}"。刷新后持久化数据无法恢复,请传稳定 id。`);let r=e.streaming??!0,i=e.ui??`default`,a,o=e.shareContext?i_.get(n):void 0;o?a=o:(a=l_(e,n),e.shareContext&&i_.set(n,a)),a.refCount++;let s=null,c=Sh(e),l=null,u=null;async function d(n){if(await a.initDone,s){s.show();return}let o=n===void 0?e.container:n,d=()=>{a.store&&(l=()=>{a.vfsStore.flush?.(),a.store.flush()},u=()=>{document.visibilityState===`hidden`&&a.store.flush()},typeof window<`u`&&window.addEventListener(`pagehide`,l),typeof document<`u`&&document.addEventListener(`visibilitychange`,u))};if(i===!1||!t){i!==!1&&console.warn(`[page-agent-sdk/headless] 未含 UI 组件,ui 渲染降级 headless;如需 UI 请 import page-agent-sdk 主包`),d();return}let m=typeof o==`string`?document.querySelector(o):o;if(!m)throw Error(`createChatSdk: 挂载点未找到(${o})`);s=t({el:m,core:a,dialogCfg:c,streaming:r,runSerial:a.runSerial,hide:p,unmount:f,onDialogUnmounted:()=>{s=null,a.release()}}),c.drawer===!0&&c.drawerHidden===!0&&s.hide(),d()}function f(){a.abortAllActive(),a.resolveConflict(`keep_external`),l&&typeof window<`u`&&window.removeEventListener(`pagehide`,l),u&&typeof document<`u`&&document.removeEventListener(`visibilitychange`,u),l=null,u=null,s?s.unmount():a.release()}function p(){s?.hide()}function m(){s?.show()}return{mount:d,unmount:f,hide:p,show:m,send:(e,t)=>a.runSerial(async()=>{let{controller:n,untrack:r}=a.trackActive(t?.signal);try{return await a.send(e,{...t,signal:n.signal})}finally{r()}}),batch:(e,t,n)=>a.runSerial(async()=>{let{controller:r,untrack:i}=a.trackActive(n);try{return await a.batch(e,t,r.signal)}finally{i()}}),switchSession:(...e)=>a.runSerial(async()=>(a.abortAllActive(),a.switchSession(...e))),resetSession:()=>a.resetSession(),sessions:a.sessions,async listSessions(){return a.store?a.store.listSessions(n):[]},async deleteSession(e){if(a.store){if(e===a.sessionId){console.warn(`[page-agent-sdk] deleteSession 忽略:不能删除当前会话,请先 switchSession 切到其他会话`);return}await a.store.deleteSession(n,e),await a.refreshSessions()}},get sessionId(){return a.sessionId},stream:(e,t,n)=>a.stream(e,t,n),afterRound:a.afterRound,get debugLogs(){return a.agent.debugLogs},infoTick:a.infoTick,inspect:a.getInfo,inspectContext:()=>a.getInfo().context,getMission:a.getMission,setMission:a.setMission,getFocus:a.getFocus,getFocuses:a.getFocuses,setFocus:a.setFocus,addFocus:a.addFocus,removeFocus:a.removeFocus,clearFocus:a.clearFocus,messages:a.messages,restoreLastCheckpoint:()=>a.checkpoint?.restore()??!1,listCheckpoints:()=>a.checkpoint?.list()??[],hook:e=>(a.listeners.add(e),()=>a.listeners.delete(e)),setData:e=>{if(!a.dataOpsController){console.warn(`[page-agent-sdk] setData 忽略:dataOps 已关闭(capabilities.dataOps:false)`);return}a.dataOpsController.set(e),a.infoTick.value++},getData:()=>a.liveData(),setSkills:e=>{let t=a.skillsController;if(!t){console.warn(`[page-agent-sdk] setSkills 忽略:skills 已关闭(capabilities.skills:false)`);return}t.set(e),a.unloadSkillTools?.(),a.infoTick.value++},addSkill:e=>{if(!a.skillsController){console.warn(`[page-agent-sdk] addSkill 忽略:skills 已关闭(capabilities.skills:false)`);return}a.addSkill(e),a.unloadSkillTools?.(e.name)},removeSkill:e=>{if(!a.skillsController)return console.warn(`[page-agent-sdk] removeSkill 忽略:skills 已关闭(capabilities.skills:false)`),!1;let t=a.removeSkill(e);return t&&a.unloadSkillTools?.(e),t},listUserSkills:()=>a.listUserSkills(),getUserSkill:e=>a.getUserSkill(e),invalidateSkillCache:e=>{let t=a.skillsController;if(!t){console.warn(`[page-agent-sdk] invalidateSkillCache 忽略:skills 已关闭(capabilities.skills:false)`);return}t.invalidateCache(e),a.unloadSkillTools?.(e)},exportData:()=>{let e=a.liveData()?.bind;return e==null?null:JSON.parse(JSON.stringify(e))},importData:(e,t)=>{let n=a.liveData();if(!n||!a.dataOpsController)return{ok:!1,error:`dataOps 未开启或无主数据`};let r=n.bind;if(typeof r!=`object`||!r)return{ok:!1,error:`主数据 bind 非对象,无法就地还原(集成方应用对象包裹)`};if(t?.validate!==!1){let t=n.schema.safeParse(e);if(!t.success)return{ok:!1,error:`schema 校验失败:`+(t.error?.message??`未知错误`)}}return Sf(r,e),a.dataOpsController?.markDataDirty?.(),t?.emit!==!1&&a.emit({type:`data_change`,operation:`set`,value:r}),{ok:!0}},vfsWrite:(e,t)=>{let n=typeof t==`string`?t:JSON.stringify(t);a.vfsStore.files[Zp(e)]={content:n,updatedAt:Date.now()}},vfsRead:e=>a.vfsStore.files[Zp(e)]?.content,createResource:(e,t)=>{let n=a.dataOpsController;if(!n?.createResource)throw Error(`[page-agent-sdk] createResource 不可用:需配 data.resources + vfsStore(capabilities.vfs 默认开)`);return n.createResource(e,t)},getResource:e=>a.dataOpsController?.getResource?.(e),updateResource:(e,t)=>{let n=a.dataOpsController;if(!n?.updateResource)throw Error(`[page-agent-sdk] updateResource 不可用:需配 data.resources + vfsStore`);n.updateResource(e,t)},deleteResource:e=>a.dataOpsController?.deleteResource?.(e)??!1,listResources:()=>a.dataOpsController?.listResources?.()??[],releaseResources:e=>{let t=a.dataOpsController;if(!(!t?.listResources||!t.deleteResource))if(e&&e.length)for(let n of e)t.deleteResource(n);else for(let e of t.listResources())t.deleteResource(e.path)},usage:a.usage,pendingConflict:a.pendingConflict,resolveConflict:e=>a.resolveConflict(e),setTools:e=>a.setTools(e),addTool:e=>a.addTool(e),removeTool:e=>a.removeTool(e),setLlm:e=>a.setLlm(e),setMemory:e=>a.setMemory(e),refreshMemory:()=>a.refreshMemory(),setSubagents:e=>a.setSubagents(e),addSubagent:e=>a.addSubagent(e),removeSubagent:e=>a.removeSubagent(e),getActiveSubagents:()=>a.getActiveSubagents(),get subagentHistory(){return a.subagentHistory}}}var d_=4e3;function f_(e={}){let{fetchResponse:t,fetchStream:n,onPersist:r,onClear:i,onQueuedCleared:a}=e,o=on({messages:e.messages??[],loading:!1,error:null}),s=bn(null),c=bn(!0),l=null,u=bn([]),d=bn(null);function f(){}function p(e){let t=s.value;e.deltaY<0?c.value=!1:t&&(c.value=t.scrollHeight-t.scrollTop-t.clientHeight<64)}function m(){s.value&&requestAnimationFrame(()=>{let e=s.value;!e||!c.value||(e.scrollTop=e.scrollHeight)})}function h(e,t,n){o.messages.push({role:e,content:t,timestamp:Date.now(),...n&&n.length?{focuses:n}:{}}),c.value=!0,m()}async function g(e){if(c.value=!0,n){let t=on({role:`assistant`,content:``,timestamp:Date.now(),reasoning:``,steps:[]}),r=!1;o.messages.push(t);try{await n(o.messages.slice(0,-1),e=>{switch(e.type){case`round_start`:e.round>1&&(t.content||t.reasoning)&&(r=!0);break;case`reasoning`:r&&=(t.reasoning+=`
|
|
189
|
+
`):`无可用 checkpoint。`},{name:`list_checkpoints`,description:`列出可用会话 checkpoint(回退点)。`,schema:t.z.object({}).optional()})]:[];ve.forEach(e=>ue.set(e.name,`builtin`));let ye=z.focus,be=(0,r.tool)(async({path:e,label:t})=>{let n=le()?.schema;return n?Au(n,e)?(w.setFocus({path:e,...t?{label:t}:{}}),`已聚焦到 ${e}${t?`(${t})`:``}。后续仅可写该子树(越界被拒),每轮只看到该组件结构。完成精修后调 clear_focus 退出。`):`PATH_DENIED · 聚焦失败:path "${e}" 不在 schema 内。请先用 read 查看可操作路径再聚焦。`:`聚焦失败:当前无主数据 schema,无法聚焦。`},{name:`set_focus`,description:`聚焦到指定组件子树(如 components.3)精修,替换全部已有焦点(非累积;要保留已有焦点追加用 add_focus)。聚焦后:仅可写该子树(越界 PATH_DENIED)+ 每轮只看到该组件结构。多组件页面精修其中一个时用,避免改到别处。先 read 定位 path 再聚焦;完成调 clear_focus。`,schema:t.z.object({path:t.z.string().describe(`要聚焦的组件 jsonPath,如 components.3`),label:t.z.string().optional().describe(`人类可读标签,如「导航栏」`)})}),xe=(0,r.tool)(async()=>(w.clearFocus(),`已清除聚焦,恢复全量可操作范围(可读写所有组件)。`),{name:`clear_focus`,description:`清除当前聚焦,退出精修模式,恢复对全部组件的读写权限。`,schema:t.z.object({}).optional()}),Se=(0,r.tool)(async({path:e,label:t})=>{let n=le()?.schema;if(!n)return`聚焦失败:当前无主数据 schema,无法聚焦。`;if(!Au(n,e))return`PATH_DENIED · 聚焦失败:path "${e}" 不在 schema 内。请先用 read 查看可操作路径再聚焦。`;w.addFocus({path:e,...t?{label:t}:{}});let r=w.getFocuses();return`已聚焦 ${e}${t?`(${t})`:``}(当前共 ${r.length} 个焦点:${r.map(e=>e.path).join(`, `)})。后续仅可写这些子树之一(越界被拒)。`},{name:`add_focus`,description:`追加聚焦一个组件子树(multi-focus,可同时聚焦多个相关组件)。校验 path 在 schema 内。聚焦后仅可写已聚焦的子树之一(越界 PATH_DENIED)。与 set_focus(替换全部)不同:本工具累积追加,不清除已有焦点。`,schema:t.z.object({path:t.z.string().describe(`要追加聚焦的组件 jsonPath,如 components.3`),label:t.z.string().optional().describe(`人类可读标签`)})}),Ce=(0,r.tool)(async({path:e})=>{let t=w.getFocuses().length;w.removeFocus(e);let n=w.getFocuses();return n.length===t?`path "${e}" 不在当前焦点列表中(当前:${n.map(e=>e.path).join(`, `)||`无`})。`:n.length?`已移除焦点 ${e}(剩余 ${n.length} 个:${n.map(e=>e.path).join(`, `)})。`:`已移除焦点 ${e},聚焦已清空,恢复全量操作范围。`},{name:`remove_focus`,description:`移除单个聚焦焦点(by path),保留其他焦点。移除最后一个等价退出精修。全部退出用 clear_focus。`,schema:t.z.object({path:t.z.string().describe(`要移除的焦点 jsonPath`)})}),we=ye&&e.toolMode===`advanced`?[be,xe,Se,Ce]:[];we.forEach(e=>ue.set(e.name,`builtin`));let Te=[],Ee=new Map,De=Oe();function Oe(){let{tools:e,collisions:t}=Wg([{label:`builtin`,tools:de},{label:`user`,tools:fe},{label:`action`,tools:pe},{label:`humanConfirm`,tools:_e?[_e]:[]},{label:`checkpoint`,tools:ve},{label:`focus`,tools:we},{label:`mcp`,tools:me},{label:`skill`,tools:Te}]);return t.length&&console.warn(`[page-agent-sdk] 工具重名,后注册覆盖先注册:`,t.map(e=>`${e.name}(${e.loser}→${e.winner})`).join(`, `)),e}let U=z.planning,ke=z.missionAnchor,Ae=z.workingMemory,je=z.skills,Me=z.vfs||te;if(Me)for(let e of em)ue.set(e,`builtin`);if(U)for(let e of S.tools??[])ue.set(e.name,`builtin`);let Ne=z.summarization,Pe=z.agentCompression&&!!d;e.debug&&z.agentCompression&&!d&&console.warn(`[page-agent-sdk][agentCompression] agentCompression 开启但 summaryLlm 不可用(或缺 apiKey / 模型不支持工具),压缩决策不启用,回退静态压缩`);let Fe=z.memory,Ie=z.subagent,Le=Ie?Yf():void 0,Re=e.verify?.maxAttempts??2,ze=!!(e.verify?.check||e.verify?.maxAttempts||e.verify?.adversarial),Be=e.capabilities?.verify===!1,W=(z.verify||ze&&!Be)&&e.verify?.enabled!==!1&&Re>0,Ve=z.contextInspector;ze&&!W&&e.verify?.enabled!==!1&&console.warn(`[page-agent-sdk][verify] 检测到 verify 配置(check/maxAttempts/adversarial)但未装载(capabilities.verify:false 显式关闭 或 maxAttempts≤0)`);let He=e.subagent,Ue=He?.allowedTools??[],We=e.permissions?.length?pf(e.permissions):void 0,Ge=e.approval&&(e.approval.tools!==void 0||e.approval.confirm)?mf(e.approval):void 0,Ke=[...We?[We]:[],...Ge?[Ge]:[]],qe=!Ie||He?.enabled===!1?void 0:dp({llm:He?.llm??e.llm,allTools:()=>G.agent?.allTools??De,allowedTools:Ue.length?Ue:void 0,systemPrompt:He?.systemPrompt,temperature:He?.temperature,maxTokens:He?.maxTokens,skills:He?.skills,maxDepth:He?.maxDepth,maxParallel:He?.maxParallel,debug:e.debug,getFocuses:()=>w.getFocuses(),getSchema:()=>le()?.schema??null,tracker:Le,guardMiddleware:Ke.length?Ke:void 0,getVfsFiles:Me?()=>x.files:void 0,enterDataScope:H?.enterScope?e=>H.enterScope(e):void 0,exitDataScope:H?.exitScope?e=>H.exitScope(e):void 0,onUsage:e=>{i.prompt_tokens=(i.prompt_tokens??0)+(e.prompt_tokens??0),i.completion_tokens=(i.completion_tokens??0)+(e.completion_tokens??0),i.total_tokens=(i.total_tokens??0)+(e.total_tokens??0)},timeoutMs:He?.timeoutMs}),Je=N?.map(e=>{if(!e._codeAsset)return e;let t=e._codeAsset,n=vm({writablePaths:t.writablePaths,codeVfsPrefix:t.codeVfsPrefix,ext:t.ext,codeField:t.codeField,craftNotes:t.craftNotes,onWarning:e=>console.warn(`[page-agent-sdk][code-asset] ${e}`),getController:()=>H,vfsStore:x}),r=[...e.middleware??[],n];for(let e of r)e&&typeof e==`object`&&typeof e._setGetController==`function`&&e._setGetController(()=>H);return{...e,middleware:r}}),Ye=te&&Ie?ym():void 0,Xe=Ye?Tm({getBind:()=>le()?.bind,writablePaths:P,getLocked:()=>Ye.locked(),tools:De}):void 0,Ze=Ie&&Je!==void 0?mp(Je,{llm:e.llm,allTools:()=>G.agent?.allTools??De,debug:e.debug,getFocuses:()=>w.getFocuses(),getSchema:()=>le()?.schema??null,getBind:()=>le()?.bind,tracker:Le,guardMiddleware:Ke.length?Ke:void 0,getVfsFiles:Me?()=>x.files:void 0,enterDataScope:H?.enterScope?e=>H.enterScope(e):void 0,exitDataScope:H?.exitScope?e=>H.exitScope(e):void 0,onUsage:e=>{i.prompt_tokens=(i.prompt_tokens??0)+(e.prompt_tokens??0),i.completion_tokens=(i.completion_tokens??0)+(e.completion_tokens??0),i.total_tokens=(i.total_tokens??0)+(e.total_tokens??0)},timeoutMs:e.subagent?.timeoutMs,...Ye?{componentLock:Ye,resolveComponents:e=>bm(e,mm(le()?.bind,P))}:{}}):void 0,Qe=Ze?Ze.controller:null,$e=[`get_data`,`describe_data`,`read`,`fetch_document`],et=De.filter(e=>$e.includes(e.name)),tt=W?hp({check:e.verify.check??xp({schemas:()=>le()?{"":le().schema}:{},root:()=>le()?.bind}),adversarial:e.verify?.adversarial?{llm:e.llm,tools:et}:void 0}):void 0,nt=Ve?Fp({contextWindow:f.contextWindow,thresholdRatio:Oh(e,f.contextWindow).summaryThresholdRatio}):void 0,rt=Kg({...z,humanConfirm:ge,subagents:N?.map(e=>({id:e.id,description:e.description,temperature:e.temperature}))},re&&!!O,e.toolMode,!!O?.resources?.length,{promptSoftCap:Wf(f.contextWindow,p.promptSoftCapTokens)}),it=O?{name:`dataHint`,augmentPrompt:()=>Hp(le(),e.schemaHint)||void 0}:null,at=e.augmentSystem?{name:`augmentSystem`,augmentPrompt:t=>{try{return e.augmentSystem({state:t,data:le()})}catch(t){e.debug&&console.log(`[page-agent-sdk][augmentSystem] 回调抛错,降级跳过:`,t.message);return}}}:null,ot=Th(e.onEvent),st=ot.emit,ct,lt=[],ut=e=>({name:e.name,description:e.description,content:typeof e.getContent==`function`?e.getContent():``}),dt=e=>({name:e.name,description:e.description,getContent:()=>e.content}),ft=e.skillStorage===!1?null:Qg({...typeof e.skillStorage==`object`?e.skillStorage:{},id:e.skillStorage&&typeof e.skillStorage==`object`&&e.skillStorage.id?e.skillStorage.id:`agent::${n}`}),pt=()=>{let t=ct?ct.controller:null;if(t){let n=(e.skills||[]).filter(e=>!lt.some(t=>t.name===e.name));t.set([...n,...lt])}G.infoTick.value++},mt=async()=>{if(ft)try{let t=await ft.list();if(t.length){lt=t.map(dt);let n=ct?ct.controller:null;if(n){let t=(e.skills||[]).filter(e=>!lt.some(t=>t.name===e.name));n.set([...t,...lt])}G.infoTick.value++}}catch{}},ht=Ne?Jf({...p,llmInvoke:l,getRegisteredData:()=>le()?[{description:le().description??`主数据对象`}]:[],preserveLastToolResults:h,...Pe?{decideInvoke:d,getSnapshot:()=>nt?.getSnapshot()}:{}}):void 0,gt=Ah([...it?[it]:[],rt,...ke?[C]:[],...U?[S]:[],...je?[ct=of(e.skills||[],{readVfs:Me?e=>x.files[e]?.content:void 0,hostScriptEnabled:z.skillHostScript,onToolsReady:(e,t)=>{for(let n of t){let t=Te.findIndex(e=>e.name===n.name);t>=0&&Te.splice(t,1),Te.push(n),Ee.set(n.name,e),ue.set(n.name,`skill:${e}`)}De=Oe(),G.agent&&G.agent.setTools(De),G.infoTick.value++}})]:[],...Me?[nm(x)]:[],...ht?[ht]:[],...Ae?[T]:[],...ye?[w]:[],...ce?[ce]:[],...Fe?[E]:[],...We?[We]:[],...L&&R&&ne?[Ef(ne)]:[],...ge?[vf()]:[],...Ge?[Ge]:[],...tt?[tt]:[],...qe?[qe]:[],...Ze?[Ze]:[],...Xe?[Xe]:[],...at?[at]:[],...nt?[nt]:[],...e.middleware||[],...ae?[Ig(i,{tokenBudget:e.tokenBudget,timeBudgetMs:e.timeBudgetMs},st)]:[],s_(st,v,le,i)]),_t=e.maxMemoryRounds??r_,vt=e.approval?.timeoutMs,yt=vt===void 0||vt===0?3e4:!Number.isFinite(vt)||vt<0?0:vt;function bt(e){if(yt)return t=>{if(t.type!==`approval_request`)return;let n=Date.now(),r=t.toolName;setTimeout(()=>{e?.aborted||(t.resolve(!1),st({type:`error`,message:`确认请求(${r})${Math.round((Date.now()-n)/1e3)}s 无响应已自动拒绝 —— send/batch 路径无 UI 响应方;可传 approval.timeoutMs 调整(Infinity = 无限等)`,severity:`observable`,code:`APPROVAL_AUTO_REJECTED`,context:{toolName:r,waitedMs:Date.now()-n}}))},yt)}}function xt(e){let t=bt(e);return e=>{t?.(e),e.type===`error`&&st(e)}}let St=bn([]);async function Ct(){if(s)try{St.value=(await s.listSessions(n)).sort((e,t)=>t.lastAccessed-e.lastAccessed)}catch(t){e.debug&&console.warn(`[page-agent-sdk][persist] refreshSessions 失败(已吞):`,t)}}let wt=n_(),Tt=new Set;function Et(e){let t=new AbortController;return e&&(e.aborted?t.abort():e.addEventListener(`abort`,()=>t.abort(),{once:!0})),Tt.add(t),{controller:t,untrack:()=>Tt.delete(t)}}function Dt(){for(let e of Tt)e.abort();Tt.clear()}let G={agentId:n,store:s,messages:v,vfsStore:x,listeners:ot.listeners,todosMw:S,memoryMw:E,missionMw:C,workingMemoryMw:T,focusMw:w,agent:null,initDone:Promise.resolve(),sessionId:``,refCount:0,mcpClosers:[],mcpServers:[],checkpoint:ne,dataOpsController:H,skillsController:ct?ct.controller:null,infoTick:o,pendingConflict:a.pendingConflict,sessions:St,refreshSessions:Ct,liveData:le,usage:i,emit:st,runSerial:wt,trackActive:Et,abortAllActive:Dt,unloadSkillTools(e){if(e){let t=Te.length;if(Te=Te.filter(t=>Ee.get(t.name)===e?(ue.delete(t.name),Ee.delete(t.name),!1):!0),Te.length===t)return}else{if(!Te.length)return;for(let e of Te)ue.delete(e.name),Ee.delete(e.name);Te=[]}De=Oe(),G.agent&&G.agent.setTools(De)},applySnapshot(t){if(t.messages?.length&&v.push(...t.messages),t.vfs&&x.hydrate&&x.hydrate(t.vfs),t.todos?.length&&S.reset(t.todos),t.memory&&!e.memory&&E.reset(t.memory),t.checkpoints?.length&&ne&&ne.importStack(t.checkpoints),t.usage&&Object.assign(i,t.usage),t.mission&&ke&&C.setMission(t.mission),t.workingMemory&&Ae&&T.restore(t.workingMemory),ye){let n=t.focus,r=n?Array.isArray(n)?n:[n]:[];if(r.length){let t=le()?.schema,n=t?r.filter(e=>Au(t,e.path)):[];if(n.length&&(w.setFocus(null),n.forEach(e=>w.addFocus(e))),e.debug&&n.length<r.length){let e=r.filter(e=>!n.includes(e)).map(e=>e.path);console.warn(`[page-agent-sdk][focus] 恢复的焦点部分 path 已失效(schema 变化/无 schema),剔除:`,e)}}}jt()},addSkill(e){let t=lt.findIndex(t=>t.name===e.name);t>=0?lt[t]=e:lt.push(e),pt(),ft&&ft.put(ut(e))},removeSkill(e){let t=lt.findIndex(t=>t.name===e);return t<0?!1:(lt.splice(t,1),pt(),ft&&ft.remove(e),!0)},listUserSkills(){return lt.map(e=>e.name)},getUserSkill(e){let t=lt.find(t=>t.name===e);if(t)return{name:t.name,description:t.description,content:typeof t.getContent==`function`?t.getContent():``}},afterRound(){Mt(),Lt()},async send(e,t){await G.initDone,t??={},t?.mission&&ke&&C.setMission(t.mission);let n=e;if(t.interceptors?.input)try{let r=t.interceptors.input(e);typeof r==`string`&&(n=r)}catch{}let r=ae?t.maxAutoRetries??1:0,i=0,a=!1,o=xt(t.signal);for(;;){a||=(v.push({role:`user`,content:n,timestamp:Date.now()}),!0);try{let e=await G.agent.invoke(v,t.signal,o);if(t.interceptors?.output)try{let n=t.interceptors.output(e);typeof n==`string`&&(e=n)}catch{}return v.push({role:`assistant`,content:e,timestamp:Date.now()}),G.afterRound(),s&&await s.flush(),e}catch(e){if(ql(e,t.signal))throw e;let n=Ml(e,`fatal`);if(i<r&&ne?.canRestore()){i+=1,ne.restore(),a=!0,st({type:`error`,message:`致命错误自动恢复(${i}/${r}):${n.message},已回退 checkpoint 重试`,severity:`observable`,code:`AUTO_RECOVER_RETRY`,context:{attempt:i,cause:n.code??n.message.slice(0,120)}});continue}throw st({type:`error`,message:n.message,severity:n.severity,...n.code?{code:n.code}:{},...n.context===void 0?{}:{context:n.context}}),e}}},async batch(e,t,n){if(await G.initDone,!e.length)return[];let r=[],i=xt(n);for(let a=0;a<e.length;a++){if(n?.aborted){for(let t=a;t<e.length;t++)r.push({index:t,task:e[t],error:`aborted(外部中止)`,ok:!1});break}let o=e[a];ne&&ne.save(`batch:${a}`);let c=v.length;try{v.push({role:`user`,content:o,timestamp:Date.now()});let c=await G.agent.invoke(v,n,i);v.push({role:`assistant`,content:c,timestamp:Date.now()}),G.afterRound(),s&&await s.flush(),r.push({index:a,task:o,reply:c,ok:!0}),t?.({done:a+1,total:e.length,task:o,ok:!0})}catch(i){if(v.length>c&&v.splice(c),ql(i,n)){r.push({index:a,task:o,error:`aborted(外部中止)`,ok:!1});for(let t=a+1;t<e.length;t++)r.push({index:t,task:e[t],error:`aborted(外部中止)`,ok:!1});break}let s=Ml(i,`fatal`);st({type:`error`,message:`批量任务 ${a+1}/${e.length} 失败:${s.message}`,severity:`observable`,code:`BATCH_TASK_FAILED`,context:{index:a,task:o.slice(0,100)}}),r.push({index:a,task:o,error:s.message,ok:!1}),t?.({done:a+1,total:e.length,task:o,ok:!1})}}return r},async switchSession(t){if(await G.initDone,!s)throw Error(`page-agent-sdk: storage 未开启,无法切换会话(请传 storage 选项)`);if(a.resolve(`keep_external`),G.sessionId&&s){if(ke){let e=C.getMission();e&&Ft({mission:e})}if(Ae){let e=T.getWorkingMemory();e&&Ft({workingMemory:e})}if(ye){let e=w.getFocuses();Ft({focus:e.length?e:null})}}x.flush?.(),await s.flush();let r=t??``,i;return r?(i=await s.load(n,r),i||await s.createSession(n,e.session?.title,r)):r=await s.createSession(n,e.session?.title),G.sessionId=r,v.splice(0,v.length),x.clear?.(),S.reset([]),e.memory||E.reset(``),C.reset(),T.reset(),w.reset(),ne&&ne.importStack([]),G.agent.debugLogs.value=[],i||=await s.load(n,r),i&&(G.applySnapshot(i),st({type:`session_restored`,sessionId:r,rounds:i.messages?.length??0})),e.memory&&Ft({memory:E.get()||(typeof e.memory==`string`?e.memory:``)}),Ct(),Nt=void 0,Pt=!1,G.infoTick.value++,r},resetSession:()=>{Dt(),a.resolve(`keep_external`),G.sessionId=Xm(),v.splice(0,v.length),x.clear?.(),S.reset([]),e.memory||E.reset(``),C.reset(),T.reset(),w.reset(),ne&&ne.importStack([]),G.agent&&(G.agent.debugLogs.value=[]),s&&s.createSession(G.agentId,e.session?.title,G.sessionId).catch(t=>{e.debug&&console.warn(`[page-agent-sdk][persist] createSession 失败(已吞):`,t)}),st({type:`session_restored`,sessionId:G.sessionId,rounds:0}),G.infoTick.value++,Ct(),Nt=void 0,Pt=!1},stream:(e,t,n)=>{if(!G.agent)throw Error(`page-agent-sdk: agent 尚未初始化完成,请先 await mount()`);x?.setProtectedRefs?.(e_(e));let r=e=>{t?.(e),st(e),e.type===`subagent`&&(e.kind===`tool_call`||e.kind===`tool_result`)&&G.infoTick.value++};if(n){let e=()=>a.resolve(`keep_external`);n.aborted?e():n.addEventListener(`abort`,e,{once:!0})}let{controller:i,untrack:o}=Et(n);return G.agent.stream(e,r,i.signal).finally(o)},release(){if(G.refCount--,G.refCount<=0){Dt(),he=!0,s&&(x.flush?.(),s.flush(),s.dispose()),ft&&ft.dispose();let e=G.mcpClosers.splice(0);e.length&&Promise.allSettled(e.map(e=>e())),i_.delete(n)}},resolveConflict:a.resolve,setTools(e){fe.length=0,e.forEach(e=>{fe.push(e),ue.set(e.name,`user`)}),De=Oe(),G.agent&&G.agent.setTools(De),G.infoTick.value++},addTool(e){De.some(t=>t.name===e.name)&&console.warn(`[page-agent-sdk] 工具 "${e.name}" 已存在,新工具覆盖(后注册覆盖先注册)`);for(let t=fe.length-1;t>=0;t--)fe[t].name===e.name&&fe.splice(t,1);fe.push(e),ue.set(e.name,`user`),De=Oe(),G.agent&&G.agent.setTools(De),G.infoTick.value++},removeTool(e){let t=fe.findIndex(t=>t.name===e);return t<0?!1:(fe.splice(t,1),ue.delete(e),De=Oe(),G.agent&&G.agent.setTools(De),G.infoTick.value++,!0)},setLlm(t){let n;if(zm(t))n=t;else{let e=t;if((e.provider??`openai`)===`anthropic`)throw Error(`[page-agent-sdk][setLlm] 切换到 Anthropic 需传 BaseChatModel 实例(动态 import 无法同步);请先 const { ChatAnthropic } = await import("@langchain/anthropic") 构造实例后传入`);n=y(e)}typeof n.bindTools!=`function`&&e.debug&&console.warn(`[page-agent-sdk][setLlm] 新模型不支持 bindTools(tool calling 会失效)`),_=t;let r=zm(t)?void 0:t;if(f=Vl({model:r?.model??t.model??t.modelName,contextWindow:e.contextWindow??r?.contextWindow,maxOutputTokens:e.maxOutputTokens??r?.maxOutputTokens}),f.contextWindow<2e5)throw Error(`[page-agent-sdk][setLlm] 新模型上下文窗口 ${f.contextWindow} 小于最小支持 ${Bl}(需 ≥200K 窗口模型)`);G.agent&&(G.agent.setLlm(n),G.agent.setModelCaps?.(f)),ht?.setContextWindow?.(f.contextWindow),nt?.setContextWindow?.(f.contextWindow),G.infoTick.value++,e.debug&&console.log(`[page-agent-sdk][setLlm] 重解析 modelCaps + 回灌:`,f)},setMemory(e){E.reset(e),typeof e==`function`&&E.refresh(),G.infoTick.value++},refreshMemory(){return E.refresh()},setSubagents(t){if(!Qe){e.debug&&console.warn(`[page-agent-sdk][setSubagents] 未配 subagents:[] 或 capabilities.subagent 关闭,忽略`);return}Qe.set(t),G.infoTick.value++},addSubagent(t){if(!Qe){e.debug&&console.warn(`[page-agent-sdk][addSubagent] 未配 subagents:[] 或 capabilities.subagent 关闭,忽略`);return}Qe.add(t),G.infoTick.value++},removeSubagent(t){if(!Qe)return e.debug&&console.warn(`[page-agent-sdk][removeSubagent] 未配 subagents:[] 或 capabilities.subagent 关闭,忽略`),!1;let n=Qe.remove(t);return n&&G.infoTick.value++,n},getActiveSubagents(){return Le?.getActive()??[]},get subagentHistory(){return Le?.getHistory()??[]},getInfo(){return{id:n,sessionId:G.sessionId,model:zm(_)?_.model??_.modelName:_.model,systemPrompt:G.agent?.getEffectiveSystemPrompt?.()??V+Hp(le(),e.schemaHint),tools:(G.agent?.allTools??De).map(e=>({name:e.name,description:e.description,schema:e.schema,source:ue.get(e.name)||`user`})),skills:(ct?ct.controller.get():e.skills??[]).map(e=>({name:e.name,description:e.description})),data:le()?{description:le().description,schema:le().schema}:void 0,contextPreset:e.contextPreset??`auto`,compression:{contextWindow:f.contextWindow,summaryThresholdRatio:p.summaryThresholdRatio??.5,promptSoftCap:Wf(f.contextWindow,p.promptSoftCapTokens)},memory:E.get(),middleware:gt.map(e=>e.name),todos:(G.agent?.getState?.()?.todos??[]).map(e=>({id:e.id,content:e.content,status:e.status,...e.parentId===void 0?{}:{parentId:e.parentId},...e.deps===void 0?{}:{deps:e.deps},...e.criteria===void 0?{}:{criteria:e.criteria},...e.evidence===void 0?{}:{evidence:e.evidence}})),planPhase:S.getPlanPhase(),mission:ke?C.getMission():void 0,workingMemory:Ae?T.getWorkingMemory():void 0,focus:ye?w.getFocus():void 0,focuses:ye?w.getFocuses():[],trace:ie&&G.agent?.spans?{spans:G.agent.spans.value,metrics:Gl(G.agent.spans.value)}:void 0,actions:zg(e.actions??{}),subagent:{enabled:!!qe,maxDepth:e.subagent?.maxDepth??1,maxParallel:e.subagent?.maxParallel??4,allowedTools:e.subagent?.allowedTools??[],subagents:Qe?.get()??[],active:Le?.getActive()??[],history:Le?.getHistory()??[],lockedComponents:Ye?.locked()??{}},verify:{enabled:!!tt,maxAttempts:W?Re:0,adversarial:W&&!!e.verify?.adversarial},context:(()=>{let e=nt?.getSnapshot();if(e){let t=G.agent?.getState?.()?.lastCompression;t&&(e.compression=t)}return e})(),mcp:{servers:G.mcpServers},lastCompression:G.agent?.getState?.()?.lastCompression,checkpoints:ne?{enabled:!0,auto:R,list:ne.list()}:void 0}},getMission(){return ke?C.getMission():void 0},setMission(t){if(!ke){e.debug&&console.warn(`[page-agent-sdk][mission] capabilities.missionAnchor 关闭,setMission 忽略`);return}C.setMission(t),G.infoTick.value++},getFocus(){return ye?w.getFocus():void 0},getFocuses(){return ye?w.getFocuses():[]},setFocus(t){let n=c_(t,`setFocus`,ye,()=>le()?.schema,e.debug);return n.ok?(w.setFocus(t),G.infoTick.value++,{ok:!0}):n},addFocus(t){let n=c_(t,`addFocus`,ye,()=>le()?.schema,e.debug);return n.ok?w.getFocuses().length>=8?(e.debug&&console.warn(`[page-agent-sdk][focus] addFocus 拒绝:焦点数已达上限 8(augmentPrompt 注入每焦点子树 schema,过多致 system prompt 超预算)`),{ok:!1,error:`焦点数上限 8(避免 system prompt 撑爆)`}):(w.addFocus(t),G.infoTick.value++,{ok:!0}):n},removeFocus(e){ye&&(w.removeFocus(e),G.infoTick.value++)},clearFocus(){ye&&(w.clearFocus(),G.infoTick.value++)}};async function Ot(){if(!s)return;await s.ready;let t=e.session||{};if(t.id){G.sessionId=t.id;let e=await s.load(n,G.sessionId);e?(G.applySnapshot(e),st({type:`session_restored`,sessionId:G.sessionId,rounds:e.messages?.length??0})):await s.createSession(n,t.title,G.sessionId)}else if(t.autoResume!==!1){let r=await s.listSessions(n);if(e.debug&&console.log(`[page-agent-sdk][restore] listSessions`,n,r.length,r.map(e=>e.sessionId)),r.length){G.sessionId=r[0].sessionId;let t=await s.load(n,G.sessionId);t?(G.applySnapshot(t),st({type:`session_restored`,sessionId:G.sessionId,rounds:t.messages?.length??0}),e.debug&&console.log(`[page-agent-sdk][restore] 恢复会话`,G.sessionId,`${t.messages?.length??0} msgs`)):e.debug&&console.log(`[page-agent-sdk][restore] 会话 meta 存在但快照为空`,G.sessionId)}else G.sessionId=await s.createSession(n,t.title),e.debug&&console.log(`[page-agent-sdk][restore] 新建会话(无历史)`,G.sessionId)}else G.sessionId=await s.createSession(n,t.title);e.memory&&Ft({memory:E.get()||(typeof e.memory==`string`?e.memory:``)}),Ct()}async function kt(){await mt()}function At(e){let t={};for(let n of e_(e)){let e=x.files[n];e&&(t[n]=e.content)}return t}function jt(){let e=t_(x.files,e_(v));for(let t of e)delete x.files[t]}function Mt(){let e=Ff(v,_t);if(!e.trimmed)return;let{older:t,summary:n}=e;if(st({type:`context_trimmed`,dropped:t.map(e=>({round:e.round,user:e.userMsg.content,assistant:e.assistantMsgs.map(e=>e.content),steps:e.assistantMsgs.flatMap(e=>e.steps??[])})),vfsResults:At(t.flatMap(e=>[e.userMsg,...e.assistantMsgs])),summary:n.content,reason:`max_memory_rounds`}),v.splice(e.deleteFrom,e.deleteCount,n),jt(),m&&l){let n=e.summary,{prevSeg:r}=e;(async()=>{try{let e=await l(Bf(t,g)),i=v.indexOf(n);if(i<0)return;v[i].content=Pf(t,r,e),Lt()}catch{}})()}}let Nt,Pt=!1;function Ft(t){!G.sessionId||!s||s.save(n,G.sessionId,t).catch(t=>{e.debug&&console.warn(`[page-agent-sdk][persist] save 失败(已吞):`,t)})}function It(t,r){s&&s.updateTitle(n,t,r).catch(t=>{e.debug&&console.warn(`[page-agent-sdk][persist] updateTitle 失败(已吞):`,t)})}function Lt(){if(!G.sessionId||!s)return;if(Ft({messages:JSON.parse(JSON.stringify(v))}),Ft({todos:G.agent?.getState?.()?.todos??[]}),ke){let e=C.getMission();e&&Ft({mission:e})}if(Ae){let e=T.getWorkingMemory();e&&Ft({workingMemory:e})}if(ye){let e=w.getFocuses();Ft({focus:e.length?e:null})}ae&&ne&&(Ft({checkpoints:ne.exportStack()}),Ft({usage:i}));let t=Rm(v);if(t&&t!==Nt&&(Nt=t,It(G.sessionId,t)),e.autoTitle!==!1&&u&&!Pt&&v.some(e=>e.role===`user`)&&v.some(e=>e.role===`assistant`)){Pt=!0;let e=G.sessionId;(async()=>{try{let t=await u(v);t&&G.refCount>0&&G.sessionId===e&&(It(e,t),await Ct())}catch{}})()}e.debug&&console.log(`[page-agent-sdk][persist] save`,G.sessionId,`${v.length} msgs`)}return G.initDone=(async()=>{await Ot(),await kt(),e.mcp?.length&&(async()=>{let t=await Promise.allSettled(e.mcp.map(e=>Bp(e))),n=t.flatMap(e=>e.status===`fulfilled`?[e.value.close]:[]);if(he){Promise.allSettled(n.map(e=>e()));return}G.mcpClosers=n,G.mcpServers=[];let r=new Set;for(let e of De){let t=ue.get(e.name);t&&!t.startsWith(`mcp:`)&&r.add(e.name)}t.forEach((t,n)=>{let i=e.mcp[n],a=i.name??i.url;t.status===`fulfilled`?(G.mcpServers.push({name:a,url:i.url,toolCount:t.value.tools.length}),t.value.tools.forEach(e=>{if(r.has(e.name)){console.warn(`[page-agent-sdk][mcp] 工具 "${e.name}" 与内置工具重名,已拒绝注入(安全保留字保护)`);return}ue.set(e.name,`mcp:${a}`),me.push(e)})):console.warn(`[page-agent-sdk][mcp] server ${a} 连接失败:`,t.reason)}),me.length&&(De=Oe(),G.agent&&G.agent.setTools(De),G.infoTick.value++),e.debug&&console.log(`[page-agent-sdk][mcp] 注入 ${me.length} 个工具,${G.mcpServers.length} 个 server`)})();let t=zm(e.llm)?e.llm:await b(e.llm);G.agent=Eu({llm:t,systemPrompt:V,tools:De,middleware:gt,maxToolRounds:e.maxToolRounds,maxRetries:e.maxRetries,stallMs:e.streamStallMs??9e4,maxParallelTools:e.maxParallelTools,contextWindow:f.contextWindow,maxOutputTokens:f.maxOutputTokens,maxVerifyAttempts:W?Re:0,roundTokenBudget:e.roundTokenBudget??0,onLlmChange:e=>{_=e},onTrace:ie?(e,t)=>{try{st({type:`trace`,spans:e,metrics:t})}catch{}}:void 0,debug:e.debug}),D.current=G.agent,Ze&&Ze.setReconfigureHook&&Ze.setReconfigureHook(()=>{G.agent&&G.agent.setTools(Oe())})})(),G}function u_(e,t){let n=e.id??Xm();e.id||console.warn(`[page-agent-sdk] 未传 options.id,已生成随机 id "${n}"。刷新后持久化数据无法恢复,请传稳定 id。`);let r=e.streaming??!0,i=e.ui??`default`,a,o=e.shareContext?i_.get(n):void 0;o?a=o:(a=l_(e,n),e.shareContext&&i_.set(n,a)),a.refCount++;let s=null,c=Sh(e),l=null,u=null;async function d(n){if(await a.initDone,s){s.show();return}let o=n===void 0?e.container:n,d=()=>{a.store&&(l=()=>{a.vfsStore.flush?.(),a.store.flush()},u=()=>{document.visibilityState===`hidden`&&a.store.flush()},typeof window<`u`&&window.addEventListener(`pagehide`,l),typeof document<`u`&&document.addEventListener(`visibilitychange`,u))};if(i===!1||!t){i!==!1&&console.warn(`[page-agent-sdk/headless] 未含 UI 组件,ui 渲染降级 headless;如需 UI 请 import page-agent-sdk 主包`),d();return}let m=typeof o==`string`?document.querySelector(o):o;if(!m)throw Error(`createChatSdk: 挂载点未找到(${o})`);s=t({el:m,core:a,dialogCfg:c,streaming:r,runSerial:a.runSerial,hide:p,unmount:f,onDialogUnmounted:()=>{s=null,a.release()}}),c.drawer===!0&&c.drawerHidden===!0&&s.hide(),d()}function f(){a.abortAllActive(),a.resolveConflict(`keep_external`),l&&typeof window<`u`&&window.removeEventListener(`pagehide`,l),u&&typeof document<`u`&&document.removeEventListener(`visibilitychange`,u),l=null,u=null,s?s.unmount():a.release()}function p(){s?.hide()}function m(){s?.show()}return{mount:d,unmount:f,hide:p,show:m,send:(e,t)=>a.runSerial(async()=>{let{controller:n,untrack:r}=a.trackActive(t?.signal);try{return await a.send(e,{...t,signal:n.signal})}finally{r()}}),batch:(e,t,n)=>a.runSerial(async()=>{let{controller:r,untrack:i}=a.trackActive(n);try{return await a.batch(e,t,r.signal)}finally{i()}}),switchSession:(...e)=>a.runSerial(async()=>(a.abortAllActive(),a.switchSession(...e))),resetSession:()=>a.resetSession(),sessions:a.sessions,async listSessions(){return a.store?a.store.listSessions(n):[]},async deleteSession(e){if(a.store){if(e===a.sessionId){console.warn(`[page-agent-sdk] deleteSession 忽略:不能删除当前会话,请先 switchSession 切到其他会话`);return}await a.store.deleteSession(n,e),await a.refreshSessions()}},get sessionId(){return a.sessionId},stream:(e,t,n)=>a.stream(e,t,n),afterRound:a.afterRound,get debugLogs(){return a.agent.debugLogs},infoTick:a.infoTick,inspect:a.getInfo,inspectContext:()=>a.getInfo().context,getMission:a.getMission,setMission:a.setMission,getFocus:a.getFocus,getFocuses:a.getFocuses,setFocus:a.setFocus,addFocus:a.addFocus,removeFocus:a.removeFocus,clearFocus:a.clearFocus,messages:a.messages,restoreLastCheckpoint:()=>a.checkpoint?.restore()??!1,listCheckpoints:()=>a.checkpoint?.list()??[],hook:e=>(a.listeners.add(e),()=>a.listeners.delete(e)),setData:e=>{if(!a.dataOpsController){console.warn(`[page-agent-sdk] setData 忽略:dataOps 已关闭(capabilities.dataOps:false)`);return}a.dataOpsController.set(e),a.infoTick.value++},getData:()=>a.liveData(),setSkills:e=>{let t=a.skillsController;if(!t){console.warn(`[page-agent-sdk] setSkills 忽略:skills 已关闭(capabilities.skills:false)`);return}t.set(e),a.unloadSkillTools?.(),a.infoTick.value++},addSkill:e=>{if(!a.skillsController){console.warn(`[page-agent-sdk] addSkill 忽略:skills 已关闭(capabilities.skills:false)`);return}a.addSkill(e),a.unloadSkillTools?.(e.name)},removeSkill:e=>{if(!a.skillsController)return console.warn(`[page-agent-sdk] removeSkill 忽略:skills 已关闭(capabilities.skills:false)`),!1;let t=a.removeSkill(e);return t&&a.unloadSkillTools?.(e),t},listUserSkills:()=>a.listUserSkills(),getUserSkill:e=>a.getUserSkill(e),invalidateSkillCache:e=>{let t=a.skillsController;if(!t){console.warn(`[page-agent-sdk] invalidateSkillCache 忽略:skills 已关闭(capabilities.skills:false)`);return}t.invalidateCache(e),a.unloadSkillTools?.(e)},exportData:()=>{let e=a.liveData()?.bind;return e==null?null:JSON.parse(JSON.stringify(e))},importData:(e,t)=>{let n=a.liveData();if(!n||!a.dataOpsController)return{ok:!1,error:`dataOps 未开启或无主数据`};let r=n.bind;if(typeof r!=`object`||!r)return{ok:!1,error:`主数据 bind 非对象,无法就地还原(集成方应用对象包裹)`};if(t?.validate!==!1){let t=n.schema.safeParse(e);if(!t.success)return{ok:!1,error:`schema 校验失败:`+(t.error?.message??`未知错误`)}}return Sf(r,e),a.dataOpsController?.markDataDirty?.(),t?.emit!==!1&&a.emit({type:`data_change`,operation:`set`,value:r}),{ok:!0}},vfsWrite:(e,t)=>{let n=typeof t==`string`?t:JSON.stringify(t);a.vfsStore.files[Zp(e)]={content:n,updatedAt:Date.now()}},vfsRead:e=>a.vfsStore.files[Zp(e)]?.content,createResource:(e,t)=>{let n=a.dataOpsController;if(!n?.createResource)throw Error(`[page-agent-sdk] createResource 不可用:需配 data.resources + vfsStore(capabilities.vfs 默认开)`);return n.createResource(e,t)},getResource:e=>a.dataOpsController?.getResource?.(e),updateResource:(e,t)=>{let n=a.dataOpsController;if(!n?.updateResource)throw Error(`[page-agent-sdk] updateResource 不可用:需配 data.resources + vfsStore`);n.updateResource(e,t)},deleteResource:e=>a.dataOpsController?.deleteResource?.(e)??!1,listResources:()=>a.dataOpsController?.listResources?.()??[],releaseResources:e=>{let t=a.dataOpsController;if(!(!t?.listResources||!t.deleteResource))if(e&&e.length)for(let n of e)t.deleteResource(n);else for(let e of t.listResources())t.deleteResource(e.path)},usage:a.usage,pendingConflict:a.pendingConflict,resolveConflict:e=>a.resolveConflict(e),setTools:e=>a.setTools(e),addTool:e=>a.addTool(e),removeTool:e=>a.removeTool(e),setLlm:e=>a.setLlm(e),setMemory:e=>a.setMemory(e),refreshMemory:()=>a.refreshMemory(),setSubagents:e=>a.setSubagents(e),addSubagent:e=>a.addSubagent(e),removeSubagent:e=>a.removeSubagent(e),getActiveSubagents:()=>a.getActiveSubagents(),get subagentHistory(){return a.subagentHistory}}}var d_=4e3;function f_(e={}){let{fetchResponse:t,fetchStream:n,onPersist:r,onClear:i,onQueuedCleared:a}=e,o=on({messages:e.messages??[],loading:!1,error:null}),s=bn(null),c=bn(!0),l=null,u=bn([]),d=bn(null);function f(){}function p(e){let t=s.value;e.deltaY<0?c.value=!1:t&&(c.value=t.scrollHeight-t.scrollTop-t.clientHeight<64)}function m(){s.value&&requestAnimationFrame(()=>{let e=s.value;!e||!c.value||(e.scrollTop=e.scrollHeight)})}function h(e,t,n){o.messages.push({role:e,content:t,timestamp:Date.now(),...n&&n.length?{focuses:n}:{}}),c.value=!0,m()}async function g(e){if(c.value=!0,n){let t=on({role:`assistant`,content:``,timestamp:Date.now(),reasoning:``,steps:[]}),r=!1;o.messages.push(t);try{await n(o.messages.slice(0,-1),e=>{switch(e.type){case`round_start`:e.round>1&&(t.content||t.reasoning)&&(r=!0);break;case`reasoning`:r&&=(t.reasoning+=`
|
|
190
190
|
`,!1),t.reasoning=(t.reasoning+e.delta).slice(-4e3);break;case`text`:r&&=(t.content+=`
|
|
191
|
-
`,!1),t.content+=e.delta;break;case`tool_call`:t.steps.push({name:e.name,args:e.args,status:`running`});break;case`tool_result`:for(let n=t.steps.length-1;n>=0;n--)if(t.steps[n].name===e.name&&t.steps[n].status===`running`){t.steps[n].result=e.result,t.steps[n].status=e.status,t.steps[n].durationMs=e.durationMs;let r=t.steps[n].subReason;r&&r.length>80&&(t.steps[n].subReason=r.slice(0,80)+`…`);break}break;case`subagent`:{let n=t.steps[t.steps.length-1];if(!n)break;if(e.kind===`reasoning`){let t=e.delta||``;n.subReasonFull=(n.subReasonFull||``)+t;let r=(n.subReason||``)+t;n.subReason=r.length>d_?r.slice(-4e3):r;break}n.children||=[];let r=e.label?`[${e.label}] ${e.name}`:e.name;if(e.kind===`tool_call`)n.children.push({name:r,args:e.args,status:`running`});else for(let t=n.children.length-1;t>=0;t--)if(n.children[t].status===`running`&&n.children[t].name===r){n.children[t].result=e.result,n.children[t].status=e.status||`done`;break}break}case`approval_request`:d.value={toolName:e.toolName,args:e.args,resolve:e.resolve};break}m()},e)}catch(n){if(ql(n,e)||(o.error=n.message||`请求失败,请重试`),!t.content&&!t.reasoning){let e=o.messages.indexOf(t);e>=0&&o.messages.splice(e,1)}}finally{await v()}return}try{h(`assistant`,await(t||S)(o.messages,e))}catch(t){ql(t,e)||(o.error=t.message||`请求失败,请重试`)}finally{await v()}}function _(e){let t=e=>{if(e?.length)for(let n of e)n.status===`running`&&(n.status=`error`,n.result||=`(本轮已结束,该步骤未收到结果 —— 子 agent 中断/异常)`),n.children?.length&&t(n.children)};for(let n=e.length-1;n>=0;n--)if(e[n].role===`assistant`){t(e[n].steps);break}}async function v(){_(o.messages);try{await r?.(o.messages)}catch{}o.loading=!1,l=null;let e=u.value.shift();e!==void 0&&(h(`user`,e),o.loading=!0,o.error=null,l=new AbortController,await g(l.signal))}function y(e){u.value.splice(e,1)}async function b(e,t){if(e.trim()){if(o.loading){u.value.push(e.trim());return}h(`user`,e.trim(),t),o.loading=!0,o.error=null,l=new AbortController,await g(l.signal)}}async function x(){if(o.loading)return;let e=o.messages;for(let t=e.length-1;t>=0;t--)if(e[t].role===`assistant`){e.splice(t);break}e.some(e=>e.role===`user`)&&(o.loading=!0,o.error=null,l=new AbortController,await g(l.signal))}async function S(e){return await new Promise(e=>setTimeout(e,800+Math.random()*1200)),`收到你的消息:"${e.filter(e=>e.role===`user`).pop()?.content}"。这是一个模拟回复,请接入实际的 AI API。`}function C(){i?.(),o.messages.splice(0,o.messages.length),o.error=null}function w(){u.value.length&&a?.([...u.value]),u.value=[],l?.abort()}function T(){u.value=[],l?.abort(),l=null,o.loading=!1,o.error=null,d.value=null}function E(e){let t=d.value;t&&(d.value=null,t.resolve(e))}async function D(){if(!o.error)return;let e=o.messages,t=-1;for(let n=e.length-1;n>=0;n--)if(e[n].role===`user`){t=n;break}if(t<0)return;let n=e[t].content;e.splice(t),o.error=null,await b(n)}return{state:o,scrollContainer:s,pendingApproval:d,queuedTasks:u,sendMessage:b,removeQueuedTask:y,clearMessages:C,stop:w,reset:T,retry:D,regenerate:x,resolveApproval:E,onScroll:f,onWheel:p}}async function p_(e){try{let t=globalThis.navigator?.clipboard;if(t&&typeof t.writeText==`function`)return await t.writeText(e),!0}catch{}try{let t=globalThis.document;if(!t||!t.body)return!1;let n=t.createElement(`textarea`);n.value=e,n.setAttribute(`readonly`,``),n.style.position=`fixed`,n.style.top=`0`,n.style.left=`0`,n.style.opacity=`0`,t.body.appendChild(n),n.select();let r=t.execCommand(`copy`);return t.body.removeChild(n),r}catch{return!1}}var m_={header:`🤖`,subagent:`🤖`,subagentProgress:`🧬`,empty:`💬`,focus:`🎯`,queued:`📋`,queuedEdit:`✏️`,recommend:`💡`,conflict:`⚠️`};function h_(e){let t={...m_};if(!e)return t;let n=Object.keys(m_);for(let r of n){let n=e[r];typeof n==`string`&&(t[r]=n)}return e.assistantAvatar&&(t.assistantAvatar=e.assistantAvatar),e.userAvatar&&(t.userAvatar=e.userAvatar),t}var g_=Symbol(`chatContext`);function __(e={}){let t=f_({fetchResponse:e.fetchResponse,fetchStream:e.fetchStream,messages:e.messages,onPersist:e.onPersist,onClear:e.onClear,onQueuedCleared:e.onQueuedCleared}),{state:n,sendMessage:r,removeQueuedTask:i,queuedTasks:a}=t,o=bn(``),s=bn(!0),c=()=>{s.value=!s.value},l=bn(!1),u=()=>{l.value=!0},d=()=>{l.value=!1},f=bn(!1),p=()=>{f.value=!0},m=()=>{f.value=!1},h=bn({}),g=e=>h.value[e]===!0,_=e=>{h.value[e]=!g(e)},v=bn(!1),y=e=>{p_(e).then(e=>{e&&(v.value=!0,setTimeout(()=>{v.value=!1},1500))})},b=Ys(()=>{let t=e.getInfo?.();return{mcp:t?.mcp?.servers?.length??0,tools:t?.tools?.length??0}}),x=Ys(()=>(n.messages.length,typeof e.canUndo==`function`&&!!e.canUndo())),S=()=>{e.onUndo?.()&&(n.error=null)},C=e=>new Date(e).toLocaleTimeString(`zh-CN`,{hour:`2-digit`,minute:`2-digit`}),w=()=>{o.value.trim()&&(r(o.value,O.value),o.value=``)},T=e=>{e.isComposing||e.keyCode===229||e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),w())},E=e=>{o.value=a.value[e]||``,i(e)},D=e=>{let t=n.messages,r=t[e];if(!r||r.role!==`assistant`)return!1;let i=`reasoning`in r?r.reasoning:void 0;return n.loading&&e===t.length-1&&!r.content&&!i},O=Ys(()=>(e.infoTick?.value,e.getFocuses?.()??[]));return{chat:t,inputText:o,isExpanded:s,toggleCollapse:c,debugVisible:l,openDebug:u,closeDebug:d,skillVisible:f,openSkill:p,closeSkill:m,reasoningExpanded:h,isReasoningExpanded:g,toggleReasoning:_,copiedMsg:v,copyMessage:y,summary:b,canUndo:x,undo:S,formatTime:C,send:w,keydown:T,editQueued:E,isPendingAssistant:D,focuses:O,addFocus:t=>e.onAddFocus?e.onAddFocus(t):{ok:!1,error:`focus 未启用`},removeFocus:t=>{e.onRemoveFocus?.(t)},clearFocus:()=>{e.onClearFocus?.()},focusChipClick:t=>{e.onFocusChipClick?.(t)},icons:h_(e.icons)}}function v_(){let e=Xr(g_);if(!e)throw Error(`useChatContext 必须在 provide(chatContextKey) 的组件子树内调用`);return e}var y_={class:`chat-header`},b_={class:`header-left`},x_={class:`header-icon`},S_={class:`header-title`},C_={key:0,class:`status-dot pulse`},w_=[`data-sid`,`onClick`],T_={class:`hist-title`},E_={class:`hist-meta`},D_=[`onClick`],O_={key:0,class:`debug-badge`},k_={key:0,class:`more-item-badge`},A_=[`disabled`],j_=Mi({__name:`ChatHeader`,props:{title:{},drawer:{type:Boolean},debugLogs:{},skillAvailable:{type:Boolean},sessions:{},currentSessionId:{},onNewSession:{type:Function},onOpenSession:{type:Function},onRemoveSession:{type:Function}},emits:[`close`],setup(e){let t=e,n=v_(),{chat:r,icons:i}=n,{state:a,reset:o,clearMessages:s}=r,c=bn(!1),l=bn(!1),u=Ys(()=>a.messages.length>0),d=Ys(()=>(t.debugLogs?.length??0)>0);function f(e){let t=Date.now()-e;return t<6e4?`刚刚`:t<36e5?Math.floor(t/6e4)+`分钟前`:new Date(e).toLocaleString()}function p(){o(),t.onNewSession?.()}function m(e){o(),t.onOpenSession?.(e)}return(t,r)=>(Y(),X(`div`,y_,[Z(`div`,b_,[Z(`span`,x_,W(K(i).header),1),Z(`span`,S_,W(e.title),1),K(a).loading?(Y(),X(`span`,C_)):Q(``,!0)]),Z(`div`,{class:`header-actions`,onClick:r[8]||=gl(()=>{},[`stop`])},[e.sessions?(Y(),X(`button`,{key:0,class:`action-btn`,"data-test":`new-chat`,title:`新建会话`,onClick:p},[...r[10]||=[Z(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[Z(`path`,{d:`M12 5v14M5 12h14`})],-1)]])):Q(``,!0),e.sessions?(Y(),X(`button`,{key:1,class:U([`action-btn`,{active:l.value}]),"data-test":`toggle-history`,title:`历史记录`,onClick:r[0]||=e=>{c.value=!1,l.value=!l.value}},[...r[11]||=[Z(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[Z(`path`,{d:`M3 12a9 9 0 1 0 3-6.7L3 8`}),Z(`path`,{d:`M3 3v5h5`}),Z(`path`,{d:`M12 7v5l3 2`})],-1)]],2)):Q(``,!0),e.sessions&&l.value?(Y(),X(`div`,{key:2,class:`cs-history-menu`,onClick:r[1]||=gl(()=>{},[`stop`])},[(Y(!0),X(J,null,ia(e.sessions,t=>(Y(),X(`div`,{key:t.sessionId,class:U([`hist-item`,{active:e.currentSessionId===t.sessionId}]),"data-sid":t.sessionId,onClick:e=>m(t.sessionId)},[Z(`div`,T_,W(t.title||`会话 `+t.sessionId.slice(-6)),1),Z(`div`,E_,[Z(`span`,null,W(f(t.lastAccessed)),1),e.currentSessionId===t.sessionId?Q(``,!0):(Y(),X(`button`,{key:0,class:`hist-del`,"data-test":`del-btn`,onClick:gl(n=>e.onRemoveSession?.(t.sessionId),[`stop`])},`✕`,8,D_))])],10,w_))),128))])):Q(``,!0),Z(`button`,{class:U([`action-btn more-btn`,{active:c.value}]),title:`更多`,onClick:r[2]||=e=>{l.value=!1,c.value=!c.value}},[r[12]||=Z(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`currentColor`},[Z(`circle`,{cx:`12`,cy:`5`,r:`1.6`}),Z(`circle`,{cx:`12`,cy:`12`,r:`1.6`}),Z(`circle`,{cx:`12`,cy:`19`,r:`1.6`})],-1),d.value?(Y(),X(`span`,O_,W(e.debugLogs?.length),1)):Q(``,!0)],2),c.value?(Y(),X(`div`,{key:3,class:`more-menu`,onClick:r[6]||=gl(()=>{},[`stop`])},[Z(`button`,{class:`more-item`,title:`日志 / 执行流程 / Agent 信息`,onClick:r[3]||=e=>{K(n).openDebug(),c.value=!1}},[r[13]||=Z(`svg`,{width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[Z(`path`,{d:`M9 2v8l-3 3v2h12v-2l-3-3V2`}),Z(`path`,{d:`M9 2h6`}),Z(`path`,{d:`M9 18h6`})],-1),r[14]||=Z(`span`,null,`调试 / 日志`,-1),d.value?(Y(),X(`span`,k_,W(e.debugLogs?.length),1)):Q(``,!0)]),e.skillAvailable?(Y(),X(`button`,{key:0,class:`more-item`,title:`创建 / 管理自定义 Skill`,onClick:r[4]||=e=>{K(n).openSkill(),c.value=!1}},[...r[15]||=[Z(`svg`,{width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[Z(`path`,{d:`M12 2l2.4 7.4H22l-6 4.4 2.3 7.2L12 16.8 5.7 21l2.3-7.2-6-4.4h7.6z`})],-1),Z(`span`,null,`Skill 管理`,-1)]])):Q(``,!0),Z(`button`,{class:`more-item`,title:`清空对话`,disabled:!u.value,onClick:r[5]||=e=>{K(s)(),c.value=!1}},[...r[16]||=[Z(`svg`,{width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[Z(`polyline`,{points:`3 6 5 6 21 6`}),Z(`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`})],-1),Z(`span`,null,`清空对话`,-1)]],8,A_)])):Q(``,!0),e.drawer?(Y(),X(`button`,{key:4,class:`action-btn`,title:`关闭`,onClick:r[7]||=e=>t.$emit(`close`)},[...r[17]||=[Z(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[Z(`path`,{d:`M18 6L6 18M6 6l12 12`})],-1)]])):Q(``,!0)]),c.value||l.value?(Y(),X(`div`,{key:0,class:`more-overlay`,onClick:r[9]||=e=>{c.value=!1,l.value=!1}})):Q(``,!0)]))}}),M_=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},N_=M_(j_,[[`__scopeId`,`data-v-c039d238`]]),P_={key:0,class:`focus-bar`},F_={class:`focus-bar-icon`},I_={class:`focus-bar-text`},L_={key:0,class:`focus-bar-label`},R_={class:`focus-bar-path`},z_={key:0,class:`focus-edit-row`},B_=M_(Mi({__name:`FocusBar`,props:{getFocus:{},onSetFocus:{},onClearFocus:{},infoTick:{},icons:{default:()=>({...m_})}},setup(e){let t=e,n=Ys(()=>(t.infoTick?.value,t.getFocus?.())),r=bn(!1),i=bn(``),a=bn(``);function o(){let e=i.value.trim();if(!e||!t.onSetFocus)return;let n=a.value.trim();t.onSetFocus({path:e,...n?{label:n}:{}})?.ok&&(r.value=!1,i.value=``,a.value=``)}function s(){t.onClearFocus?.(),r.value=!1}return(t,c)=>n.value?(Y(),X(`div`,P_,[Z(`span`,F_,W(e.icons.focus),1),Z(`span`,I_,[n.value.label?(Y(),X(`span`,L_,W(n.value.label),1)):Q(``,!0),Z(`code`,R_,W(n.value.path),1)]),Z(`button`,{class:`focus-bar-btn`,title:`切换聚焦路径`,onClick:c[0]||=e=>r.value=!r.value},`▾`),Z(`button`,{class:`focus-bar-btn`,title:`退出精修`,"data-test":`focus-clear`,onClick:s},`✕`),r.value?(Y(),X(`div`,z_,[qr(Z(`input`,{"onUpdate:modelValue":c[1]||=e=>i.value=e,class:`focus-edit-input`,placeholder:`jsonPath,如 components.3`,"data-test":`focus-path-input`,onKeyup:vl(o,[`enter`])},null,544),[[pl,i.value]]),qr(Z(`input`,{"onUpdate:modelValue":c[2]||=e=>a.value=e,class:`focus-edit-input focus-edit-label`,placeholder:`标签(可选)`,onKeyup:vl(o,[`enter`])},null,544),[[pl,a.value]]),Z(`button`,{class:`focus-edit-go`,"data-test":`focus-submit`,onClick:o},`聚焦`)])):Q(``,!0)])):Q(``,!0)}}),[[`__scopeId`,`data-v-2f9c89df`]]),V_={class:`reasoning-toggle`},H_={key:0,class:`reasoning-body`},U_=M_(Mi({__name:`MessageReasoning`,props:{text:{},expanded:{type:Boolean}},emits:[`toggle`],setup(e){return(t,n)=>e.text?(Y(),X(`div`,{key:0,class:U([`reasoning-block`,{expanded:e.expanded}])},[Z(`div`,{class:`reasoning-header`,onClick:n[0]||=e=>t.$emit(`toggle`)},[n[1]||=Z(`span`,{class:`status-dot ok`},null,-1),n[2]||=Z(`span`,{class:`reasoning-title`},`思考过程`,-1),Z(`span`,V_,W(e.expanded?`收起`:`展开`),1)]),e.expanded?(Y(),X(`div`,H_,W(e.text),1)):Q(``,!0)],2)):Q(``,!0)}}),[[`__scopeId`,`data-v-dbe90e42`]]),W_=[`open`],G_={class:`sub-reason-head`},K_={key:0,class:`sub-reason-trunc`},q_=[`title`],J_=M_(Mi({__name:`SubReasonDetails`,props:{subReason:{},subReasonFull:{},status:{}},setup(e){let t=e,n=bn(),r=bn(!1);$r(()=>t.subReason.length,async()=>{t.status===`running`&&r.value&&n.value&&(await ir(),n.value.scrollTop=n.value.scrollHeight)});let i=Ys(()=>t.subReasonFull?.length??t.subReason.length),a=Ys(()=>{let e=i.value;return e>=1e5?`${Math.round(e/1e3)}k`:`${e}`}),o=Ys(()=>(t.subReasonFull?.length??t.subReason.length)>t.subReason.length),s=bn(!1);async function c(){try{await navigator.clipboard.writeText(t.subReasonFull??t.subReason),s.value=!0,setTimeout(()=>{s.value=!1},1500)}catch{}}return(t,i)=>(Y(),X(`details`,{class:`step-sub-reason`,open:r.value,onToggle:i[0]||=e=>r.value=e.target.open},[Z(`summary`,G_,[Z(`span`,{class:U([`status-dot sm`,e.status===`running`?`running`:`ok`])},null,2),Z(`span`,{class:U([`sub-reason-label`,{pulsing:e.status===`running`}])},W(e.status===`running`?`思考中… ${a.value}字`:`思考过程`),3),o.value?(Y(),X(`span`,K_,`(仅显最近 `+W(e.subReason.length)+` 字)`,1)):Q(``,!0),Z(`button`,{type:`button`,class:U([`sub-reason-copy`,{copied:s.value}]),title:o.value?`复制完整思考(渲染已截尾,复制取全量)`:`复制完整思考内容`,onClick:gl(c,[`stop`,`prevent`])},W(s.value?`已复制`:`复制`),11,q_)]),Z(`div`,{ref_key:`bodyRef`,ref:n,class:`sub-reason-body`},W(o.value?`…(前面已截断)
|
|
192
|
-
`:``)+W(e.subReason),513)],40,W_))}}),[[`__scopeId`,`data-v-f415f3c9`]]),Y_={key:0,class:`steps-block`},X_={class:`step-head`},Z_={class:`step-name`},Q_={key:0,class:`subagent-badge`,title:`子 agent 委派(独立上下文,只回结论)`},$_={key:1,class:`step-count`},ev={key:2,class:`step-duration`},tv=[`onClick`],nv={key:0,class:`step-detail`},rv={key:0,class:`step-detail-call-label`},iv={key:1,class:`step-detail-section`},av={class:`step-detail-head`},ov=[`onClick`],sv={class:`step-detail-pre`},cv={key:2,class:`step-detail-section`},lv={class:`step-detail-head`},uv=[`onClick`],dv={key:3,class:`step-detail-empty`},fv={key:2,class:`step-children`},pv={class:`step-children-label`},mv={class:`step-name`},hv={key:0,class:`step-count`},gv={key:1,class:`step-status running`},_v=2e3,vv=4e3,yv=M_(Mi({__name:`MessageSteps`,props:{steps:{},icons:{default:()=>({...m_})}},setup(e){let t=e;function n(e){return e===`running`?`执行中`:e===`error`?`失败`:`成功`}function r(e){let t=[];for(let n of e){let e=t.length?t[t.length-1]:null;e&&e.name===n.name?(e.count++,n.status===`running`&&(e.hasRunning=!0),n.status===`error`&&(e.hasError=!0),n.durationMs&&(e.totalMs+=n.durationMs),n.children?.length&&e.children.push(...n.children),n.subReason&&(e.subReason=(e.subReason||``)+n.subReason),n.subReasonFull&&(e.subReasonFull=(e.subReasonFull||``)+n.subReasonFull),e.calls.push(n)):t.push({name:n.name,count:1,hasRunning:n.status===`running`,hasError:n.status===`error`,children:n.children?.length?[...n.children]:[],calls:[n],totalMs:n.durationMs??0,subReason:n.subReason,subReasonFull:n.subReasonFull})}return t.map(e=>({name:e.name,count:e.count,status:e.hasError?`error`:e.hasRunning?`running`:`done`,children:e.children,calls:e.calls,durationMs:e.totalMs||void 0,subReason:e.subReason,subReasonFull:e.subReasonFull}))}let i=Ys(()=>r(t.steps));function a(e){return e.startsWith(`use_`)}function o(e){if(e>=1e3){let t=e/1e3;return t>=10?`${Math.round(t)}s`:`${t.toFixed(1)}s`}return`${e}ms`}let s=on(new Set),c=0,l=`s${++c}`,u={has:e=>s.has(`${l}:${e}`),toggle:e=>{let t=`${l}:${e}`;s.has(t)?s.delete(t):(s.clear(),s.add(t))}};function d(e){u.toggle(e)}function f(e){return!!e?.some(e=>e.args!=null||e.result!=null)}function p(e){if(e==null)return{text:``,truncated:!1};let t;try{t=typeof e==`string`?e:JSON.stringify(e,null,2)}catch{t=String(e)}return t.length>_v?{text:t.slice(0,_v)+`
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
`)}
|
|
191
|
+
`,!1),t.content+=e.delta;break;case`tool_call`:t.steps.push({name:e.name,args:e.args,status:`running`});break;case`tool_result`:for(let n=t.steps.length-1;n>=0;n--)if(t.steps[n].name===e.name&&t.steps[n].status===`running`){t.steps[n].result=e.result,t.steps[n].status=e.status,t.steps[n].durationMs=e.durationMs;let r=t.steps[n].subReason;r&&r.length>80&&(t.steps[n].subReason=r.slice(0,80)+`…`);break}break;case`subagent`:{let n=t.steps[t.steps.length-1];if(!n)break;if(e.kind===`reasoning`){let t=e.delta||``;n.subReasonFull=(n.subReasonFull||``)+t;let r=(n.subReason||``)+t;n.subReason=r.length>d_?r.slice(-4e3):r;break}n.children||=[];let r=e.label?`[${e.label}] ${e.name}`:e.name;if(e.kind===`tool_call`)n.children.push({name:r,args:e.args,status:`running`});else for(let t=n.children.length-1;t>=0;t--)if(n.children[t].status===`running`&&n.children[t].name===r){n.children[t].result=e.result,n.children[t].status=e.status||`done`;break}break}case`approval_request`:d.value={toolName:e.toolName,args:e.args,resolve:e.resolve};break}m()},e)}catch(n){if(ql(n,e)||(o.error=n.message||`请求失败,请重试`),!t.content&&!t.reasoning){let e=o.messages.indexOf(t);e>=0&&o.messages.splice(e,1)}}finally{await v()}return}try{h(`assistant`,await(t||S)(o.messages,e))}catch(t){ql(t,e)||(o.error=t.message||`请求失败,请重试`)}finally{await v()}}function _(e){let t=e=>{if(e?.length)for(let n of e)n.status===`running`&&(n.status=`error`,n.result||=`(本轮已结束,该步骤未收到结果 —— 子 agent 中断/异常)`),n.children?.length&&t(n.children)};for(let n=e.length-1;n>=0;n--)if(e[n].role===`assistant`){t(e[n].steps);break}}async function v(){_(o.messages);try{await r?.(o.messages)}catch{}o.loading=!1,l=null;let e=u.value.shift();e!==void 0&&(h(`user`,e),o.loading=!0,o.error=null,l=new AbortController,await g(l.signal))}function y(e){u.value.splice(e,1)}async function b(e,t){if(e.trim()){if(o.loading){u.value.push(e.trim());return}h(`user`,e.trim(),t),o.loading=!0,o.error=null,l=new AbortController,await g(l.signal)}}async function x(){if(o.loading)return;let e=o.messages;for(let t=e.length-1;t>=0;t--)if(e[t].role===`assistant`){e.splice(t);break}e.some(e=>e.role===`user`)&&(o.loading=!0,o.error=null,l=new AbortController,await g(l.signal))}async function S(e){return await new Promise(e=>setTimeout(e,800+Math.random()*1200)),`收到你的消息:"${e.filter(e=>e.role===`user`).pop()?.content}"。这是一个模拟回复,请接入实际的 AI API。`}function C(){i?.(),o.messages.splice(0,o.messages.length),o.error=null}function w(){u.value.length&&a?.([...u.value]),u.value=[],l?.abort()}function T(){u.value=[],l?.abort(),l=null,o.loading=!1,o.error=null,d.value=null}function E(e){let t=d.value;t&&(d.value=null,t.resolve(e))}async function D(){if(!o.error)return;let e=o.messages,t=-1;for(let n=e.length-1;n>=0;n--)if(e[n].role===`user`){t=n;break}if(t<0)return;let n=e[t].content;e.splice(t),o.error=null,await b(n)}return{state:o,scrollContainer:s,pendingApproval:d,queuedTasks:u,sendMessage:b,removeQueuedTask:y,clearMessages:C,stop:w,reset:T,retry:D,regenerate:x,resolveApproval:E,onScroll:f,onWheel:p}}async function p_(e){try{let t=globalThis.navigator?.clipboard;if(t&&typeof t.writeText==`function`)return await t.writeText(e),!0}catch{}try{let t=globalThis.document;if(!t||!t.body)return!1;let n=t.createElement(`textarea`);n.value=e,n.setAttribute(`readonly`,``),n.style.position=`fixed`,n.style.top=`0`,n.style.left=`0`,n.style.opacity=`0`,t.body.appendChild(n),n.select();let r=t.execCommand(`copy`);return t.body.removeChild(n),r}catch{return!1}}var m_={header:`🤖`,subagent:`🤖`,subagentProgress:`🧬`,empty:`💬`,focus:`🎯`,queued:`📋`,queuedEdit:`✏️`,recommend:`💡`,conflict:`⚠️`};function h_(e){let t={...m_};if(!e)return t;let n=Object.keys(m_);for(let r of n){let n=e[r];typeof n==`string`&&(t[r]=n)}return e.assistantAvatar&&(t.assistantAvatar=e.assistantAvatar),e.userAvatar&&(t.userAvatar=e.userAvatar),t}var g_=Symbol(`chatContext`);function __(e={}){let t=f_({fetchResponse:e.fetchResponse,fetchStream:e.fetchStream,messages:e.messages,onPersist:e.onPersist,onClear:e.onClear,onQueuedCleared:e.onQueuedCleared}),{state:n,sendMessage:r,removeQueuedTask:i,queuedTasks:a}=t,o=bn(``),s=bn(!0),c=()=>{s.value=!s.value},l=bn(!1),u=()=>{l.value=!0},d=()=>{l.value=!1},f=bn(!1),p=()=>{f.value=!0},m=()=>{f.value=!1},h=bn({}),g=e=>h.value[e]===!0,_=e=>{h.value[e]=!g(e)},v=bn(!1),y=e=>{p_(e).then(e=>{e&&(v.value=!0,setTimeout(()=>{v.value=!1},1500))})},b=Ys(()=>{let t=e.getInfo?.();return{mcp:t?.mcp?.servers?.length??0,tools:t?.tools?.length??0}}),x=Ys(()=>(n.messages.length,typeof e.canUndo==`function`&&!!e.canUndo())),S=()=>{e.onUndo?.()&&(n.error=null)},C=e=>new Date(e).toLocaleTimeString(`zh-CN`,{hour:`2-digit`,minute:`2-digit`}),w=()=>{o.value.trim()&&(r(o.value,O.value),o.value=``)},T=e=>{e.isComposing||e.keyCode===229||e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),w())},E=e=>{o.value=a.value[e]||``,i(e)},D=e=>{let t=n.messages,r=t[e];if(!r||r.role!==`assistant`)return!1;let i=`reasoning`in r?r.reasoning:void 0;return n.loading&&e===t.length-1&&!r.content&&!i},O=Ys(()=>(e.infoTick?.value,e.getFocuses?.()??[]));return{chat:t,inputText:o,isExpanded:s,toggleCollapse:c,debugVisible:l,openDebug:u,closeDebug:d,skillVisible:f,openSkill:p,closeSkill:m,reasoningExpanded:h,isReasoningExpanded:g,toggleReasoning:_,copiedMsg:v,copyMessage:y,summary:b,canUndo:x,undo:S,formatTime:C,send:w,keydown:T,editQueued:E,isPendingAssistant:D,focuses:O,addFocus:t=>e.onAddFocus?e.onAddFocus(t):{ok:!1,error:`focus 未启用`},removeFocus:t=>{e.onRemoveFocus?.(t)},clearFocus:()=>{e.onClearFocus?.()},focusChipClick:t=>{e.onFocusChipClick?.(t)},icons:h_(e.icons)}}function v_(){let e=Xr(g_);if(!e)throw Error(`useChatContext 必须在 provide(chatContextKey) 的组件子树内调用`);return e}function y_(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function b_(e){if(Array.isArray(e))return e}function x_(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t!==0)for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function S_(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
192
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function C_(e,t){return b_(e)||x_(e,t)||w_(e,t)||S_()}function w_(e,t){if(e){if(typeof e==`string`)return y_(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)?y_(e,t):void 0}}var T_=Object.entries,E_=Object.setPrototypeOf,D_=Object.isFrozen,O_=Object.getPrototypeOf,k_=Object.getOwnPropertyDescriptor,A_=Object.freeze,j_=Object.seal,M_=Object.create,N_=typeof Reflect<`u`&&Reflect,P_=N_.apply,F_=N_.construct;A_||=function(e){return e},j_||=function(e){return e},P_||=function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];return e.apply(t,r)},F_||=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return new e(...n)};var I_=nv(Array.prototype.forEach),L_=nv(Array.prototype.lastIndexOf),R_=nv(Array.prototype.pop),z_=nv(Array.prototype.push),B_=nv(Array.prototype.splice),V_=Array.isArray,H_=nv(String.prototype.toLowerCase),U_=nv(String.prototype.toString),W_=nv(String.prototype.match),G_=nv(String.prototype.replace),K_=nv(String.prototype.indexOf),q_=nv(String.prototype.trim),J_=nv(Number.prototype.toString),Y_=nv(Boolean.prototype.toString),X_=typeof BigInt>`u`?null:nv(BigInt.prototype.toString),Z_=typeof Symbol>`u`?null:nv(Symbol.prototype.toString),Q_=nv(Object.prototype.hasOwnProperty),$_=nv(Object.prototype.toString),ev=nv(RegExp.prototype.test),tv=rv(TypeError);function nv(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return P_(e,t,r)}}function rv(e){return function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return F_(e,n)}}function iv(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:H_;if(E_&&E_(e,null),!V_(t))return e;let r=t.length;for(;r--;){let i=t[r];if(typeof i==`string`){let e=n(i);e!==i&&(D_(t)||(t[r]=e),i=e)}e[i]=!0}return e}function av(e){for(let t=0;t<e.length;t++)Q_(e,t)||(e[t]=null);return e}function ov(e){let t=M_(null);for(let r of T_(e)){var n=C_(r,2);let i=n[0],a=n[1];Q_(e,i)&&(V_(a)?t[i]=av(a):a&&typeof a==`object`&&a.constructor===Object?t[i]=ov(a):t[i]=a)}return t}function sv(e){switch(typeof e){case`string`:return e;case`number`:return J_(e);case`boolean`:return Y_(e);case`bigint`:return X_?X_(e):`0`;case`symbol`:return Z_?Z_(e):`Symbol()`;case`undefined`:return $_(e);case`function`:case`object`:{if(e===null)return $_(e);let t=e,n=cv(t,`toString`);if(typeof n==`function`){let e=n(t);return typeof e==`string`?e:$_(e)}return $_(e)}default:return $_(e)}}function cv(e,t){for(;e!==null;){let n=k_(e,t);if(n){if(n.get)return nv(n.get);if(typeof n.value==`function`)return nv(n.value)}e=O_(e)}function n(){return null}return n}function lv(e){try{return ev(e,``),!0}catch{return!1}}var uv=A_(`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`.split(`.`)),dv=A_(`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`.split(`.`)),fv=A_([`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`]),pv=A_([`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`]),mv=A_(`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`.split(`.`)),hv=A_([`maction`,`maligngroup`,`malignmark`,`mlongdiv`,`mscarries`,`mscarry`,`msgroup`,`mstack`,`msline`,`msrow`,`semantics`,`annotation`,`annotation-xml`,`mprescripts`,`none`]),gv=A_([`#text`]),_v=A_(`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`.split(`.`)),vv=A_(`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`.split(`.`)),yv=A_(`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`.split(`.`)),bv=A_([`xlink:href`,`xml:id`,`xlink:title`,`xml:space`,`xmlns:xlink`]),xv=j_(/{{[\w\W]*|^[\w\W]*}}/g),Sv=j_(/<%[\w\W]*|^[\w\W]*%>/g),Cv=j_(/\${[\w\W]*/g),wv=j_(/^data-[\-\w.\u00B7-\uFFFF]+$/),Tv=j_(/^aria-[\-\w]+$/),Ev=j_(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Dv=j_(/^(?:\w+script|data):/i),Ov=j_(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),kv=j_(/^html$/i),Av=j_(/^[a-z][.\w]*(-[.\w]+)+$/i),jv=j_(/<[/\w!]/g),Mv=j_(/<[/\w]/g),Nv=j_(/<\/no(script|embed|frames)/i),Pv=j_(/\/>/i),Fv={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Iv=function(){return typeof window>`u`?null:window},Lv=function(e,t){if(typeof e!=`object`||typeof e.createPolicy!=`function`)return null;let n=null,r=`data-tt-policy-suffix`;t&&t.hasAttribute(r)&&(n=t.getAttribute(r));let i=`dompurify`+(n?`#`+n:``);try{return e.createPolicy(i,{createHTML(e){return e},createScriptURL(e){return e}})}catch{return console.warn(`TrustedTypes policy `+i+` could not be created.`),null}},Rv=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},zv=function(e,t,n,r){return Q_(e,t)&&V_(e[t])?iv(r.base?ov(r.base):{},e[t],r.transform):n};function Bv(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Iv(),t=e=>Bv(e);if(t.version=`3.4.13`,t.removed=[],!e||!e.document||e.document.nodeType!==Fv.document||!e.Element)return t.isSupported=!1,t;let n=e.document,r=n,i=r.currentScript;e.DocumentFragment;let a=e.HTMLTemplateElement,o=e.Node,s=e.Element,c=e.NodeFilter;e.NamedNodeMap===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;let l=e.DOMParser,u=e.trustedTypes,d=s.prototype,f=cv(d,`cloneNode`),p=cv(d,`remove`),m=cv(d,`nextSibling`),h=cv(d,`childNodes`),g=cv(d,`parentNode`),_=cv(d,`shadowRoot`),v=cv(d,`attributes`),y=o&&o.prototype?cv(o.prototype,`nodeType`):null,b=o&&o.prototype?cv(o.prototype,`nodeName`):null,x=o&&o.prototype?cv(o.prototype,`ownerDocument`):null;if(typeof a==`function`){let e=n.createElement(`template`);e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let S,C=``,w,T=!1,E=0,D=function(){if(E>0)throw tv(`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.`)},O=function(e){D(),E++;try{return S.createHTML(e)}finally{E--}},k=function(e){D(),E++;try{return S.createScriptURL(e)}finally{E--}},A=function(){return T||=(w=Lv(u,i),!0),w},ee=n,j=ee.implementation,M=ee.createNodeIterator,N=ee.createDocumentFragment,te=ee.getElementsByTagName,P=r.importNode,F=Rv();t.isSupported=typeof T_==`function`&&typeof g==`function`&&j&&j.createHTMLDocument!==void 0;let I=xv,L=Sv,ne=Cv,R=wv,z=Tv,re=Dv,B=Ov,ie=Av,ae=Ev,V=null,oe=iv({},[...uv,...dv,...fv,...mv,...gv]),se=null,H=iv({},[..._v,...vv,...yv,...bv]),ce=Object.seal(M_(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}})),le=null,ue=null,de=Object.seal(M_(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),fe=!0,pe=!0,me=!1,he=!0,ge=!1,_e=!0,ve=!1,ye=!1,be=null,xe=null,Se=!1,Ce=!1,we=!1,Te=!1,Ee=!0,De=!1,Oe=`user-content-`,U=!0,ke=!1,Ae={},je=null,Me=iv({},`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`.split(`.`)),Ne=null,Pe=iv({},[`audio`,`video`,`img`,`source`,`image`,`track`]),Fe=null,Ie=iv({},[`alt`,`class`,`for`,`id`,`label`,`name`,`pattern`,`placeholder`,`role`,`summary`,`title`,`value`,`style`,`xmlns`]),Le=`http://www.w3.org/1998/Math/MathML`,Re=`http://www.w3.org/2000/svg`,ze=`http://www.w3.org/1999/xhtml`,Be=ze,W=!1,Ve=null,He=iv({},[Le,Re,ze],U_),Ue=A_([`mi`,`mo`,`mn`,`ms`,`mtext`]),We=iv({},Ue),Ge=A_([`annotation-xml`]),Ke=iv({},Ge),qe=iv({},[`title`,`style`,`font`,`a`,`script`]),Je=null,Ye=[`application/xhtml+xml`,`text/html`],Xe=null,Ze=null,Qe=n.createElement(`form`),$e=function(e){return e instanceof RegExp||e instanceof Function},et=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Ze&&Ze===e)return;(!e||typeof e!=`object`)&&(e={}),e=ov(e),Je=Ye.indexOf(e.PARSER_MEDIA_TYPE)===-1?`text/html`:e.PARSER_MEDIA_TYPE,Xe=Je===`application/xhtml+xml`?U_:H_,V=zv(e,`ALLOWED_TAGS`,oe,{transform:Xe}),se=zv(e,`ALLOWED_ATTR`,H,{transform:Xe}),Ve=zv(e,`ALLOWED_NAMESPACES`,He,{transform:U_}),Fe=zv(e,`ADD_URI_SAFE_ATTR`,Ie,{transform:Xe,base:Ie}),Ne=zv(e,`ADD_DATA_URI_TAGS`,Pe,{transform:Xe,base:Pe}),je=zv(e,`FORBID_CONTENTS`,Me,{transform:Xe}),le=zv(e,`FORBID_TAGS`,ov({}),{transform:Xe}),ue=zv(e,`FORBID_ATTR`,ov({}),{transform:Xe}),Ae=Q_(e,`USE_PROFILES`)?e.USE_PROFILES&&typeof e.USE_PROFILES==`object`?ov(e.USE_PROFILES):e.USE_PROFILES:!1,fe=e.ALLOW_ARIA_ATTR!==!1,pe=e.ALLOW_DATA_ATTR!==!1,me=e.ALLOW_UNKNOWN_PROTOCOLS||!1,he=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,ge=e.SAFE_FOR_TEMPLATES||!1,_e=e.SAFE_FOR_XML!==!1,ve=e.WHOLE_DOCUMENT||!1,Ce=e.RETURN_DOM||!1,we=e.RETURN_DOM_FRAGMENT||!1,Te=e.RETURN_TRUSTED_TYPE||!1,Se=e.FORCE_BODY||!1,Ee=e.SANITIZE_DOM!==!1,De=e.SANITIZE_NAMED_PROPS||!1,U=e.KEEP_CONTENT!==!1,ke=e.IN_PLACE||!1,ae=lv(e.ALLOWED_URI_REGEXP)?e.ALLOWED_URI_REGEXP:Ev,Be=typeof e.NAMESPACE==`string`?e.NAMESPACE:ze,We=Q_(e,`MATHML_TEXT_INTEGRATION_POINTS`)&&e.MATHML_TEXT_INTEGRATION_POINTS&&typeof e.MATHML_TEXT_INTEGRATION_POINTS==`object`?ov(e.MATHML_TEXT_INTEGRATION_POINTS):iv({},Ue),Ke=Q_(e,`HTML_INTEGRATION_POINTS`)&&e.HTML_INTEGRATION_POINTS&&typeof e.HTML_INTEGRATION_POINTS==`object`?ov(e.HTML_INTEGRATION_POINTS):iv({},Ge);let t=Q_(e,`CUSTOM_ELEMENT_HANDLING`)&&e.CUSTOM_ELEMENT_HANDLING&&typeof e.CUSTOM_ELEMENT_HANDLING==`object`?ov(e.CUSTOM_ELEMENT_HANDLING):M_(null);if(ce=M_(null),Q_(t,`tagNameCheck`)&&$e(t.tagNameCheck)&&(ce.tagNameCheck=t.tagNameCheck),Q_(t,`attributeNameCheck`)&&$e(t.attributeNameCheck)&&(ce.attributeNameCheck=t.attributeNameCheck),Q_(t,`allowCustomizedBuiltInElements`)&&typeof t.allowCustomizedBuiltInElements==`boolean`&&(ce.allowCustomizedBuiltInElements=t.allowCustomizedBuiltInElements),j_(ce),ge&&(pe=!1),we&&(Ce=!0),Ae&&(V=iv({},gv),se=M_(null),Ae.html===!0&&(iv(V,uv),iv(se,_v)),Ae.svg===!0&&(iv(V,dv),iv(se,vv),iv(se,bv)),Ae.svgFilters===!0&&(iv(V,fv),iv(se,vv),iv(se,bv)),Ae.mathMl===!0&&(iv(V,mv),iv(se,yv),iv(se,bv))),de.tagCheck=null,de.attributeCheck=null,Q_(e,`ADD_TAGS`)&&(typeof e.ADD_TAGS==`function`?de.tagCheck=e.ADD_TAGS:V_(e.ADD_TAGS)&&(V===oe&&(V=ov(V)),iv(V,e.ADD_TAGS,Xe))),Q_(e,`ADD_ATTR`)&&(typeof e.ADD_ATTR==`function`?de.attributeCheck=e.ADD_ATTR:V_(e.ADD_ATTR)&&(se===H&&(se=ov(se)),iv(se,e.ADD_ATTR,Xe))),Q_(e,`ADD_URI_SAFE_ATTR`)&&V_(e.ADD_URI_SAFE_ATTR)&&iv(Fe,e.ADD_URI_SAFE_ATTR,Xe),Q_(e,`FORBID_CONTENTS`)&&V_(e.FORBID_CONTENTS)&&(je===Me&&(je=ov(je)),iv(je,e.FORBID_CONTENTS,Xe)),Q_(e,`ADD_FORBID_CONTENTS`)&&V_(e.ADD_FORBID_CONTENTS)&&(je===Me&&(je=ov(je)),iv(je,e.ADD_FORBID_CONTENTS,Xe)),U&&(V[`#text`]=!0),ve&&iv(V,[`html`,`head`,`body`]),V.table&&(iv(V,[`tbody`]),delete le.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!=`function`)throw tv(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!=`function`)throw tv(`TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.`);let t=S;S=e.TRUSTED_TYPES_POLICY;try{C=O(``)}catch(e){throw S=t,e}}else e.TRUSTED_TYPES_POLICY===null?(S=void 0,C=``):(S===void 0&&(S=A()),S&&typeof C==`string`&&(C=O(``)));A_&&A_(e),Ze=e},tt=iv({},[...dv,...fv,...pv]),nt=iv({},[...mv,...hv]),rt=function(e,t,n){return t.namespaceURI===ze?e===`svg`:t.namespaceURI===Le?e===`svg`&&(n===`annotation-xml`||We[n]):!!tt[e]},it=function(e,t,n){return t.namespaceURI===ze?e===`math`:t.namespaceURI===Re?e===`math`&&Ke[n]:!!nt[e]},at=function(e,t,n){return t.namespaceURI===Re&&!Ke[n]||t.namespaceURI===Le&&!We[n]?!1:!nt[e]&&(qe[e]||!tt[e])},ot=function(e){let t=g(e);(!t||!t.tagName)&&(t={namespaceURI:Be,tagName:`template`});let n=H_(e.tagName),r=H_(t.tagName);return Ve[e.namespaceURI]?e.namespaceURI===Re?rt(n,t,r):e.namespaceURI===Le?it(n,t,r):e.namespaceURI===ze?at(n,t,r):!!(Je===`application/xhtml+xml`&&Ve[e.namespaceURI]):!1},st=function(e){z_(t.removed,{element:e});try{g(e).removeChild(e)}catch{if(p(e),!g(e))throw tv(`a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place`)}},ct=function(e){dt(e);let t=h(e);if(t){let e=[];I_(t,t=>{z_(e,t)}),I_(e,e=>{try{p(e)}catch{}})}let n=v(e);if(n)for(let t=n.length-1;t>=0;--t){let r=n[t],i=r&&r.name;if(typeof i==`string`)try{e.removeAttribute(i)}catch{}}},lt=function(e,n){try{z_(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch{z_(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),e===`is`)if(Ce||we)try{st(n)}catch{}else try{n.setAttribute(e,``)}catch{}},ut=function(e){let t=v(e);if(t)for(let n=t.length-1;n>=0;--n){let r=t[n],i=r&&r.name;if(!(typeof i!=`string`||se[Xe(i)]))try{e.removeAttribute(i)}catch{}}},dt=function(e){let t=[e];for(;t.length>0;){let e=t.pop();(y?y(e):e.nodeType)===Fv.element&&ut(e);let n=h(e);if(n)for(let e=n.length-1;e>=0;--e)t.push(n[e])}},ft=function(e){if(!_e)return;let t=[e];for(;t.length>0;){let e=t.pop(),n=y?y(e):e.nodeType;if(n===Fv.processingInstruction||n===Fv.comment&&ev(Mv,e.data)){try{p(e)}catch{}continue}if(n===Fv.element){let t=e,n=Xe(b?b(e):e.nodeName);try{t.hasAttribute&&t.hasAttribute(`patchsrc`)&&t.removeAttribute(`patchsrc`),t.hasAttribute&&t.hasAttribute(`for`)&&n!==`label`&&n!==`output`&&t.removeAttribute(`for`)}catch{}}let r=h(e);if(r)for(let e=r.length-1;e>=0;--e)t.push(r[e])}},pt=function(e){let t=null,r=null;if(Se)e=`<remove></remove>`+e;else{let t=W_(e,/^[\r\n\t ]+/);r=t&&t[0]}Je===`application/xhtml+xml`&&Be===ze&&(e=`<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>`+e+`</body></html>`);let i=S?O(e):e;if(Be===ze)try{t=new l().parseFromString(i,Je)}catch{}if(!t||!t.documentElement){t=j.createDocument(Be,`template`,null);try{t.documentElement.innerHTML=W?C:i}catch{}}let a=t.body||t.documentElement;return e&&r&&a.insertBefore(n.createTextNode(r),a.childNodes[0]||null),Be===ze?te.call(t,ve?`html`:`body`)[0]:ve?t.documentElement:a},mt=function(e){let t=x?x(e):e.ownerDocument;return M.call(t||e,e,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},ht=function(e){return e=G_(e,I,` `),e=G_(e,L,` `),e=G_(e,ne,` `),e},gt=function(e){e.normalize();let t=x?x(e):e.ownerDocument,n=M.call(t||e,e,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null),r=n.nextNode();for(;r;)r.data=ht(r.data),r=n.nextNode();let i=e.querySelectorAll?.call(e,`template`);i&&I_(i,e=>{vt(e.content)&>(e.content)})},_t=function(e){let t=b?b(e):null;return typeof t!=`string`||Xe(t)!==`form`?!1:typeof e.nodeName!=`string`||typeof e.textContent!=`string`||typeof e.removeChild!=`function`||e.attributes!==v(e)||typeof e.removeAttribute!=`function`||typeof e.setAttribute!=`function`||typeof e.namespaceURI!=`string`||typeof e.insertBefore!=`function`||typeof e.hasChildNodes!=`function`||e.nodeType!==y(e)||e.childNodes!==h(e)},vt=function(e){if(!y||typeof e!=`object`||!e)return!1;try{return y(e)===Fv.documentFragment}catch{return!1}},yt=function(e){if(!y||typeof e!=`object`||!e)return!1;try{return typeof y(e)==`number`}catch{return!1}};function bt(e,n,r){e.length!==0&&I_(e,e=>{e.call(t,n,r,Ze)})}let xt=function(e,t){return!!(_e&&e.hasChildNodes()&&!yt(e.firstElementChild)&&ev(jv,e.textContent)&&ev(jv,e.innerHTML)||_e&&e.namespaceURI===ze&&t===`style`&&yt(e.firstElementChild)||e.nodeType===Fv.processingInstruction||_e&&e.nodeType===Fv.comment&&ev(Mv,e.data))},St=function(e,t,n){if(!le[t]&&Dt(t)&&(ce.tagNameCheck instanceof RegExp&&ev(ce.tagNameCheck,t)||ce.tagNameCheck instanceof Function&&ce.tagNameCheck(t)))return!1;if(U&&!je[t]){let t=g(e),r=h(e);if(r&&t){let i=r.length;for(let a=i-1;a>=0;--a){let i=e===n?f(r[a],!0):r[a];t.insertBefore(i,m(e))}}}return st(e),!0},Ct=function(e,t,n,r){return e.length===0?t:t===n||t===r?ov(t):t},wt=function(e,n){if(bt(F.beforeSanitizeElements,e,null),e!==n&&g(e)===null)return ke&&dt(e),!0;if(_t(e))return st(e),!0;let r=Xe(b?b(e):e.nodeName);if(V=Ct(F.uponSanitizeElement,V,oe,be),bt(F.uponSanitizeElement,e,{tagName:r,allowedTags:V}),e!==n&&g(e)===null)return ke&&dt(e),!0;if(xt(e,r))return st(e),!0;if(le[r]||!(de.tagCheck instanceof Function&&de.tagCheck(r))&&!V[r]){let t=St(e,r,n);return t===!1&&bt(F.afterSanitizeElements,e,null),t}if((y?y(e):e.nodeType)===Fv.element&&!ot(e)||(r===`noscript`||r===`noembed`||r===`noframes`)&&ev(Nv,e.innerHTML))return st(e),!0;if(ge&&e.nodeType===Fv.text){let n=ht(e.textContent);e.textContent!==n&&(z_(t.removed,{element:e.cloneNode()}),e.textContent=n)}return bt(F.afterSanitizeElements,e,null),!1},Tt=function(e,t,r){if(ue[t]||_e&&t===`patchsrc`||_e&&t===`for`&&e!==`label`&&e!==`output`||Ee&&(t===`id`||t===`name`)&&(r in n||r in Qe))return!1;let i=se[t]||de.attributeCheck instanceof Function&&de.attributeCheck(t,e);if(!(pe&&ev(R,t))&&!(fe&&ev(z,t))){if(!i){if(!(Dt(e)&&(ce.tagNameCheck instanceof RegExp&&ev(ce.tagNameCheck,e)||ce.tagNameCheck instanceof Function&&ce.tagNameCheck(e))&&(ce.attributeNameCheck instanceof RegExp&&ev(ce.attributeNameCheck,t)||ce.attributeNameCheck instanceof Function&&ce.attributeNameCheck(t,e))||t===`is`&&ce.allowCustomizedBuiltInElements&&(ce.tagNameCheck instanceof RegExp&&ev(ce.tagNameCheck,r)||ce.tagNameCheck instanceof Function&&ce.tagNameCheck(r))))return!1}else if(!Fe[t]&&!ev(ae,G_(r,B,``))&&!((t===`src`||t===`xlink:href`||t===`href`)&&e!==`script`&&K_(r,`data:`)===0&&Ne[e])&&!(me&&!ev(re,G_(r,B,``)))&&r)return!1}return!0},Et=iv({},[`annotation-xml`,`color-profile`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`missing-glyph`]),Dt=function(e){return!Et[H_(e)]&&ev(ie,e)},G=function(e,t,n,r){if(S&&typeof u==`object`&&typeof u.getAttributeType==`function`&&!n)switch(u.getAttributeType(e,t)){case`TrustedHTML`:return O(r);case`TrustedScriptURL`:return k(r)}return r},Ot=function(e,n,r,i){try{r?e.setAttributeNS(r,n,i):e.setAttribute(n,i),_t(e)?st(e):R_(t.removed)}catch{lt(n,e)}},kt=function(e){bt(F.beforeSanitizeAttributes,e,null);let t=e.attributes;if(!t||_t(e))return;se=Ct(F.uponSanitizeAttribute,se,H,xe);let n={attrName:``,attrValue:``,keepAttr:!0,allowedAttributes:se,forceKeepAttr:void 0},r=t.length,i=Xe(e.nodeName);for(;r--;){let a=t[r],o=a.name,s=a.namespaceURI,c=a.value,l=Xe(o),u=c,d=o===`value`?u:q_(u);if(n.attrName=l,n.attrValue=d,n.keepAttr=!0,n.forceKeepAttr=void 0,bt(F.uponSanitizeAttribute,e,n),d=n.attrValue,De&&(l===`id`||l===`name`)&&K_(d,Oe)!==0&&(lt(o,e),d=Oe+d),_e&&ev(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,d)){lt(o,e);continue}if(l===`attributename`&&W_(d,`href`)){lt(o,e);continue}if(!n.forceKeepAttr){if(!n.keepAttr){lt(o,e);continue}if(!he&&ev(Pv,d)){lt(o,e);continue}if(ge&&(d=ht(d)),!Tt(i,l,d)){lt(o,e);continue}d=G(i,l,s,d),d!==u&&Ot(e,o,s,d)}}bt(F.afterSanitizeAttributes,e,null)},At=function(e){let t=null,n=mt(e);for(bt(F.beforeSanitizeShadowDOM,e,null);t=n.nextNode();)if(bt(F.uponSanitizeShadowNode,t,null),wt(t,e),kt(t),vt(t.content)&&At(t.content),(y?y(t):t.nodeType)===Fv.element){let e=_(t);vt(e)&&(jt(e),At(e))}bt(F.afterSanitizeShadowDOM,e,null)},jt=function(e){let t=[{node:e,shadow:null}];for(;t.length>0;){let e=t.pop();if(e.shadow){At(e.shadow);continue}let n=e.node,r=(y?y(n):n.nodeType)===Fv.element,i=h(n);if(i)for(let e=i.length-1;e>=0;--e)t.push({node:i[e],shadow:null});if(r){let e=b?b(n):null;if(typeof e==`string`&&Xe(e)===`template`){let e=n.content;vt(e)&&t.push({node:e,shadow:null})}}if(r){let e=_(n);vt(e)&&t.push({node:null,shadow:e},{node:e,shadow:null})}}};return t.sanitize=function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=null,a=null,o=null,s=null;if(W=!e,W&&(e=`<!-->`),typeof e!=`string`&&!yt(e)&&(e=sv(e),typeof e!=`string`))throw tv(`dirty is not a string, aborting`);if(!t.isSupported)return e;ye?(V=be,se=xe):et(n),(F.uponSanitizeElement.length>0||F.uponSanitizeAttribute.length>0)&&(V=ov(V)),F.uponSanitizeAttribute.length>0&&(se=ov(se)),t.removed=[];let c=ke&&typeof e!=`string`&&yt(e);if(c){ft(e);let t=b?b(e):e.nodeName;if(typeof t==`string`){let n=Xe(t);if(!V[n]||le[n])throw ct(e),tv(`root node is forbidden and cannot be sanitized in-place`)}if(_t(e))throw ct(e),tv(`root node is clobbered and cannot be sanitized in-place`);try{jt(e)}catch(t){throw ct(e),t}}else if(yt(e))i=pt(`<!---->`),a=i.ownerDocument.importNode(e,!0),a.nodeType===Fv.element&&a.nodeName===`BODY`||a.nodeName===`HTML`?i=a:i.appendChild(a),jt(a);else{if(!Ce&&!ge&&!ve&&e.indexOf(`<`)===-1)return S&&Te?O(e):e;if(i=pt(e),!i)return Ce?null:Te?C:``}i&&Se&&st(i.firstChild);let l=c?e:i;try{let e=mt(l);for(;o=e.nextNode();)wt(o,l),kt(o),vt(o.content)&&At(o.content)}catch(n){throw c&&(ct(e),I_(t.removed,e=>{e.element&&dt(e.element)})),n}if(c)return I_(t.removed,e=>{e.element&&dt(e.element)}),ge&>(e),e;if(Ce){if(ge&>(i),we)for(s=N.call(i.ownerDocument);i.firstChild;)s.appendChild(i.firstChild);else s=i;return(se.shadowroot||se.shadowrootmode)&&(s=P.call(r,s,!0)),s}let u=ve?i.outerHTML:i.innerHTML;return ve&&V[`!doctype`]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&ev(kv,i.ownerDocument.doctype.name)&&(u=`<!DOCTYPE `+i.ownerDocument.doctype.name+`>
|
|
193
|
+
`+u),ge&&(u=ht(u)),S&&Te?O(u):u},t.setConfig=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};et(e),ye=!0,be=V,xe=se},t.clearConfig=function(){Ze=null,ye=!1,be=null,xe=null,S=w,C=``},t.isValidAttribute=function(e,t,n){Ze||et({});let r=Xe(e),i=Xe(t);return Tt(r,i,n)},t.addHook=function(e,t){typeof t==`function`&&Q_(F,e)&&z_(F[e],t)},t.removeHook=function(e,t){if(Q_(F,e)){if(t!==void 0){let n=L_(F[e],t);return n===-1?void 0:B_(F[e],n,1)[0]}return R_(F[e])}},t.removeHooks=function(e){Q_(F,e)&&(F[e]=[])},t.removeAllHooks=function(){F=Rv()},t}var Vv=Bv();function Hv(e){return e.trimStart().startsWith(`<`)}var Uv=[`svg`,`path`,`circle`,`ellipse`,`rect`,`line`,`polyline`,`polygon`,`g`,`img`,`i`,`em`,`b`,`span`],Wv=`viewBox.xmlns.width.height.fill.fill-rule.fill-opacity.stroke.stroke-width.stroke-linecap.stroke-linejoin.stroke-opacity.stroke-dasharray.d.cx.cy.r.rx.ry.x.y.x1.y1.x2.y2.points.transform.opacity.clip-rule.src.alt.class.aria-hidden`.split(`.`);function Gv(e){return Vv.sanitize(e,{ALLOWED_TAGS:[...Uv],ALLOWED_ATTR:[...Wv],ALLOW_DATA_ATTR:!1})}var Kv=[`innerHTML`],qv={key:1,class:`icon-text`},Jv=Mi({__name:`IconGlyph`,props:{icon:{}},setup(e){let t=e,n=Ys(()=>Hv(t.icon)),r=Ys(()=>n.value?Gv(t.icon):``);return(t,i)=>n.value?(Y(),X(`span`,{key:0,class:`icon-html`,innerHTML:r.value},null,8,Kv)):(Y(),X(`span`,qv,W(e.icon),1))}}),Yv=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},Xv=Yv(Jv,[[`__scopeId`,`data-v-7d3cf5e5`]]),Zv={class:`chat-header`},Qv={class:`header-left`},$v={class:`header-icon`},ey={class:`header-title`},ty={key:0,class:`status-dot pulse`},ny=[`data-sid`,`onClick`],ry={class:`hist-title`},iy={class:`hist-meta`},ay=[`onClick`],oy={key:0,class:`debug-badge`},sy={key:0,class:`more-item-badge`},cy=[`disabled`],ly=Yv(Mi({__name:`ChatHeader`,props:{title:{},drawer:{type:Boolean},debugLogs:{},skillAvailable:{type:Boolean},sessions:{},currentSessionId:{},onNewSession:{type:Function},onOpenSession:{type:Function},onRemoveSession:{type:Function}},emits:[`close`],setup(e){let t=e,n=v_(),{chat:r,icons:i}=n,{state:a,reset:o,clearMessages:s}=r,c=bn(!1),l=bn(!1),u=Ys(()=>a.messages.length>0),d=Ys(()=>(t.debugLogs?.length??0)>0);function f(e){let t=Date.now()-e;return t<6e4?`刚刚`:t<36e5?Math.floor(t/6e4)+`分钟前`:new Date(e).toLocaleString()}function p(){o(),t.onNewSession?.()}function m(e){o(),t.onOpenSession?.(e)}return(t,r)=>(Y(),X(`div`,Zv,[Z(`div`,Qv,[Z(`span`,$v,[ls(Xv,{icon:K(i).header},null,8,[`icon`])]),Z(`span`,ey,W(e.title),1),K(a).loading?(Y(),X(`span`,ty)):Q(``,!0)]),Z(`div`,{class:`header-actions`,onClick:r[8]||=gl(()=>{},[`stop`])},[e.sessions?(Y(),X(`button`,{key:0,class:`action-btn`,"data-test":`new-chat`,title:`新建会话`,onClick:p},[...r[10]||=[Z(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[Z(`path`,{d:`M12 5v14M5 12h14`})],-1)]])):Q(``,!0),e.sessions?(Y(),X(`button`,{key:1,class:U([`action-btn`,{active:l.value}]),"data-test":`toggle-history`,title:`历史记录`,onClick:r[0]||=e=>{c.value=!1,l.value=!l.value}},[...r[11]||=[Z(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[Z(`path`,{d:`M3 12a9 9 0 1 0 3-6.7L3 8`}),Z(`path`,{d:`M3 3v5h5`}),Z(`path`,{d:`M12 7v5l3 2`})],-1)]],2)):Q(``,!0),e.sessions&&l.value?(Y(),X(`div`,{key:2,class:`cs-history-menu`,onClick:r[1]||=gl(()=>{},[`stop`])},[(Y(!0),X(J,null,ia(e.sessions,t=>(Y(),X(`div`,{key:t.sessionId,class:U([`hist-item`,{active:e.currentSessionId===t.sessionId}]),"data-sid":t.sessionId,onClick:e=>m(t.sessionId)},[Z(`div`,ry,W(t.title||`会话 `+t.sessionId.slice(-6)),1),Z(`div`,iy,[Z(`span`,null,W(f(t.lastAccessed)),1),e.currentSessionId===t.sessionId?Q(``,!0):(Y(),X(`button`,{key:0,class:`hist-del`,"data-test":`del-btn`,onClick:gl(n=>e.onRemoveSession?.(t.sessionId),[`stop`])},`✕`,8,ay))])],10,ny))),128))])):Q(``,!0),Z(`button`,{class:U([`action-btn more-btn`,{active:c.value}]),title:`更多`,onClick:r[2]||=e=>{l.value=!1,c.value=!c.value}},[r[12]||=Z(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`currentColor`},[Z(`circle`,{cx:`12`,cy:`5`,r:`1.6`}),Z(`circle`,{cx:`12`,cy:`12`,r:`1.6`}),Z(`circle`,{cx:`12`,cy:`19`,r:`1.6`})],-1),d.value?(Y(),X(`span`,oy,W(e.debugLogs?.length),1)):Q(``,!0)],2),c.value?(Y(),X(`div`,{key:3,class:`more-menu`,onClick:r[6]||=gl(()=>{},[`stop`])},[Z(`button`,{class:`more-item`,title:`日志 / 执行流程 / Agent 信息`,onClick:r[3]||=e=>{K(n).openDebug(),c.value=!1}},[r[13]||=Z(`svg`,{width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[Z(`path`,{d:`M9 2v8l-3 3v2h12v-2l-3-3V2`}),Z(`path`,{d:`M9 2h6`}),Z(`path`,{d:`M9 18h6`})],-1),r[14]||=Z(`span`,null,`调试 / 日志`,-1),d.value?(Y(),X(`span`,sy,W(e.debugLogs?.length),1)):Q(``,!0)]),e.skillAvailable?(Y(),X(`button`,{key:0,class:`more-item`,title:`创建 / 管理自定义 Skill`,onClick:r[4]||=e=>{K(n).openSkill(),c.value=!1}},[...r[15]||=[Z(`svg`,{width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[Z(`path`,{d:`M12 2l2.4 7.4H22l-6 4.4 2.3 7.2L12 16.8 5.7 21l2.3-7.2-6-4.4h7.6z`})],-1),Z(`span`,null,`Skill 管理`,-1)]])):Q(``,!0),Z(`button`,{class:`more-item`,title:`清空对话`,disabled:!u.value,onClick:r[5]||=e=>{K(s)(),c.value=!1}},[...r[16]||=[Z(`svg`,{width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[Z(`polyline`,{points:`3 6 5 6 21 6`}),Z(`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`})],-1),Z(`span`,null,`清空对话`,-1)]],8,cy)])):Q(``,!0),e.drawer?(Y(),X(`button`,{key:4,class:`action-btn`,title:`关闭`,onClick:r[7]||=e=>t.$emit(`close`)},[...r[17]||=[Z(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[Z(`path`,{d:`M18 6L6 18M6 6l12 12`})],-1)]])):Q(``,!0)]),c.value||l.value?(Y(),X(`div`,{key:0,class:`more-overlay`,onClick:r[9]||=e=>{c.value=!1,l.value=!1}})):Q(``,!0)]))}}),[[`__scopeId`,`data-v-37a2d793`]]),uy={key:0,class:`focus-bar`},dy={class:`focus-bar-icon`},fy={class:`focus-bar-text`},py={key:0,class:`focus-bar-label`},my={class:`focus-bar-path`},hy={key:0,class:`focus-edit-row`},gy=Yv(Mi({__name:`FocusBar`,props:{getFocus:{},onSetFocus:{},onClearFocus:{},infoTick:{},icons:{default:()=>({...m_})}},setup(e){let t=e,n=Ys(()=>(t.infoTick?.value,t.getFocus?.())),r=bn(!1),i=bn(``),a=bn(``);function o(){let e=i.value.trim();if(!e||!t.onSetFocus)return;let n=a.value.trim();t.onSetFocus({path:e,...n?{label:n}:{}})?.ok&&(r.value=!1,i.value=``,a.value=``)}function s(){t.onClearFocus?.(),r.value=!1}return(t,c)=>n.value?(Y(),X(`div`,uy,[Z(`span`,dy,[ls(Xv,{icon:e.icons.focus},null,8,[`icon`])]),Z(`span`,fy,[n.value.label?(Y(),X(`span`,py,W(n.value.label),1)):Q(``,!0),Z(`code`,my,W(n.value.path),1)]),Z(`button`,{class:`focus-bar-btn`,title:`切换聚焦路径`,onClick:c[0]||=e=>r.value=!r.value},`▾`),Z(`button`,{class:`focus-bar-btn`,title:`退出精修`,"data-test":`focus-clear`,onClick:s},`✕`),r.value?(Y(),X(`div`,hy,[qr(Z(`input`,{"onUpdate:modelValue":c[1]||=e=>i.value=e,class:`focus-edit-input`,placeholder:`jsonPath,如 components.3`,"data-test":`focus-path-input`,onKeyup:vl(o,[`enter`])},null,544),[[pl,i.value]]),qr(Z(`input`,{"onUpdate:modelValue":c[2]||=e=>a.value=e,class:`focus-edit-input focus-edit-label`,placeholder:`标签(可选)`,onKeyup:vl(o,[`enter`])},null,544),[[pl,a.value]]),Z(`button`,{class:`focus-edit-go`,"data-test":`focus-submit`,onClick:o},`聚焦`)])):Q(``,!0)])):Q(``,!0)}}),[[`__scopeId`,`data-v-b920e902`]]),_y={class:`reasoning-toggle`},vy={key:0,class:`reasoning-body`},yy=Yv(Mi({__name:`MessageReasoning`,props:{text:{},expanded:{type:Boolean}},emits:[`toggle`],setup(e){return(t,n)=>e.text?(Y(),X(`div`,{key:0,class:U([`reasoning-block`,{expanded:e.expanded}])},[Z(`div`,{class:`reasoning-header`,onClick:n[0]||=e=>t.$emit(`toggle`)},[n[1]||=Z(`span`,{class:`status-dot ok`},null,-1),n[2]||=Z(`span`,{class:`reasoning-title`},`思考过程`,-1),Z(`span`,_y,W(e.expanded?`收起`:`展开`),1)]),e.expanded?(Y(),X(`div`,vy,W(e.text),1)):Q(``,!0)],2)):Q(``,!0)}}),[[`__scopeId`,`data-v-dbe90e42`]]),by=[`open`],xy={class:`sub-reason-head`},Sy={key:0,class:`sub-reason-trunc`},Cy=[`title`],wy=Yv(Mi({__name:`SubReasonDetails`,props:{subReason:{},subReasonFull:{},status:{}},setup(e){let t=e,n=bn(),r=bn(!1);$r(()=>t.subReason.length,async()=>{t.status===`running`&&r.value&&n.value&&(await ir(),n.value.scrollTop=n.value.scrollHeight)});let i=Ys(()=>t.subReasonFull?.length??t.subReason.length),a=Ys(()=>{let e=i.value;return e>=1e5?`${Math.round(e/1e3)}k`:`${e}`}),o=Ys(()=>(t.subReasonFull?.length??t.subReason.length)>t.subReason.length),s=bn(!1);async function c(){try{await navigator.clipboard.writeText(t.subReasonFull??t.subReason),s.value=!0,setTimeout(()=>{s.value=!1},1500)}catch{}}return(t,i)=>(Y(),X(`details`,{class:`step-sub-reason`,open:r.value,onToggle:i[0]||=e=>r.value=e.target.open},[Z(`summary`,xy,[Z(`span`,{class:U([`status-dot sm`,e.status===`running`?`running`:`ok`])},null,2),Z(`span`,{class:U([`sub-reason-label`,{pulsing:e.status===`running`}])},W(e.status===`running`?`思考中… ${a.value}字`:`思考过程`),3),o.value?(Y(),X(`span`,Sy,`(仅显最近 `+W(e.subReason.length)+` 字)`,1)):Q(``,!0),Z(`button`,{type:`button`,class:U([`sub-reason-copy`,{copied:s.value}]),title:o.value?`复制完整思考(渲染已截尾,复制取全量)`:`复制完整思考内容`,onClick:gl(c,[`stop`,`prevent`])},W(s.value?`已复制`:`复制`),11,Cy)]),Z(`div`,{ref_key:`bodyRef`,ref:n,class:`sub-reason-body`},W(o.value?`…(前面已截断)
|
|
194
|
+
`:``)+W(e.subReason),513)],40,by))}}),[[`__scopeId`,`data-v-f415f3c9`]]),Ty={key:0,class:`steps-block`},Ey={class:`step-head`},Dy={class:`step-name`},Oy={key:0,class:`subagent-badge`,title:`子 agent 委派(独立上下文,只回结论)`},ky={key:1,class:`step-count`},Ay={key:2,class:`step-duration`},jy=[`onClick`],My={key:0,class:`step-detail`},Ny={key:0,class:`step-detail-call-label`},Py={key:1,class:`step-detail-section`},Fy={class:`step-detail-head`},Iy=[`onClick`],Ly={class:`step-detail-pre`},Ry={key:2,class:`step-detail-section`},zy={class:`step-detail-head`},By=[`onClick`],Vy={key:3,class:`step-detail-empty`},Hy={key:2,class:`step-children`},Uy={class:`step-children-label`},Wy={class:`step-name`},Gy={key:0,class:`step-count`},Ky={key:1,class:`step-status running`},qy=2e3,Jy=4e3,Yy=Yv(Mi({__name:`MessageSteps`,props:{steps:{},icons:{default:()=>({...m_})}},setup(e){let t=e;function n(e){return e===`running`?`执行中`:e===`error`?`失败`:`成功`}function r(e){let t=[];for(let n of e){let e=t.length?t[t.length-1]:null;e&&e.name===n.name?(e.count++,n.status===`running`&&(e.hasRunning=!0),n.status===`error`&&(e.hasError=!0),n.durationMs&&(e.totalMs+=n.durationMs),n.children?.length&&e.children.push(...n.children),n.subReason&&(e.subReason=(e.subReason||``)+n.subReason),n.subReasonFull&&(e.subReasonFull=(e.subReasonFull||``)+n.subReasonFull),e.calls.push(n)):t.push({name:n.name,count:1,hasRunning:n.status===`running`,hasError:n.status===`error`,children:n.children?.length?[...n.children]:[],calls:[n],totalMs:n.durationMs??0,subReason:n.subReason,subReasonFull:n.subReasonFull})}return t.map(e=>({name:e.name,count:e.count,status:e.hasError?`error`:e.hasRunning?`running`:`done`,children:e.children,calls:e.calls,durationMs:e.totalMs||void 0,subReason:e.subReason,subReasonFull:e.subReasonFull}))}let i=Ys(()=>r(t.steps));function a(e){return e.startsWith(`use_`)}function o(e){if(e>=1e3){let t=e/1e3;return t>=10?`${Math.round(t)}s`:`${t.toFixed(1)}s`}return`${e}ms`}let s=on(new Set),c=0,l=`s${++c}`,u={has:e=>s.has(`${l}:${e}`),toggle:e=>{let t=`${l}:${e}`;s.has(t)?s.delete(t):(s.clear(),s.add(t))}};function d(e){u.toggle(e)}function f(e){return!!e?.some(e=>e.args!=null||e.result!=null)}function p(e){if(e==null)return{text:``,truncated:!1};let t;try{t=typeof e==`string`?e:JSON.stringify(e,null,2)}catch{t=String(e)}return t.length>qy?{text:t.slice(0,qy)+`
|
|
195
|
+
…(展示截断,复制可得全量)`,truncated:!0}:{text:t,truncated:!1}}function m(e){return e==null||e===``?{text:``,truncated:!1}:e.length>Jy?{text:e.slice(0,Jy)+`
|
|
196
|
+
…(展示截断,复制可得全量)`,truncated:!0}:{text:e,truncated:!1}}function h(e,t,n){if(t&&n!=null){let e;try{e=typeof n==`string`?n:JSON.stringify(n,null,2)}catch{e=String(n)}p_(e);return}p_(e)}return(t,s)=>e.steps.length?(Y(),X(`div`,Ty,[(Y(!0),X(J,null,ia(i.value,(t,i)=>(Y(),X(`div`,{key:i,class:U([`step-item`,t.status])},[Z(`div`,Ey,[Z(`span`,{class:U([`status-dot`,t.status])},null,2),Z(`span`,Dy,W(t.name),1),a(t.name)?(Y(),X(`span`,Oy,[ls(Xv,{icon:e.icons.subagent},null,8,[`icon`]),s[0]||=ms(` 子`,-1)])):Q(``,!0),t.count>1?(Y(),X(`span`,ky,`×`+W(t.count),1)):Q(``,!0),Z(`span`,{class:U([`step-status`,t.status])},W(n(t.status)),3),t.durationMs!=null&&t.status!==`running`?(Y(),X(`span`,Ay,W(o(t.durationMs)),1)):Q(``,!0),f(t.calls)?(Y(),X(`button`,{key:3,type:`button`,class:U([`step-detail-toggle`,{open:u.has(i)}]),onClick:e=>d(i)},W(u.has(i)?`收起`:`展开`),11,jy)):Q(``,!0)]),u.has(i)&&t.calls?.length?(Y(),X(`div`,My,[(Y(!0),X(J,null,ia(t.calls,(e,n)=>(Y(),X(`div`,{key:n,class:`step-detail-call`},[t.count>1?(Y(),X(`div`,Ny,`第 `+W(n+1)+` 次`,1)):Q(``,!0),p(e.args).text?(Y(),X(`div`,Py,[Z(`div`,Fy,[s[1]||=ms(`入参`,-1),Z(`button`,{type:`button`,class:`step-detail-copy`,onClick:t=>h(p(e.args).text,p(e.args).truncated,e.args)},`复制`,8,Iy)]),Z(`pre`,Ly,W(p(e.args).text),1)])):Q(``,!0),e.status!==`running`&&m(e.result).text?(Y(),X(`div`,Ry,[Z(`div`,zy,[s[2]||=ms(`返回值`,-1),Z(`button`,{type:`button`,class:`step-detail-copy`,onClick:t=>h(m(e.result).text,m(e.result).truncated,e.result)},`复制`,8,By)]),Z(`pre`,{class:U([`step-detail-pre`,{err:e.status===`error`}])},W(m(e.result).text),3)])):e.status!==`running`&&!m(e.result).text?(Y(),X(`div`,Vy,`(无返回值)`)):Q(``,!0)]))),128))])):Q(``,!0),t.subReason?(Y(),ns(wy,{key:1,"sub-reason":t.subReason,"sub-reason-full":t.subReasonFull,status:t.status},null,8,[`sub-reason`,`sub-reason-full`,`status`])):Q(``,!0),t.children&&t.children.length?(Y(),X(`div`,Hy,[Z(`div`,Uy,[ls(Xv,{icon:e.icons.subagentProgress},null,8,[`icon`]),s[3]||=ms(` 子 agent 进度`,-1)]),(Y(!0),X(J,null,ia(r(t.children),(e,t)=>(Y(),X(`div`,{key:t,class:U([`step-child`,e.status])},[Z(`span`,{class:U([`status-dot sm`,e.status])},null,2),Z(`span`,Wy,W(e.name),1),e.count>1?(Y(),X(`span`,Gy,`×`+W(e.count),1)):Q(``,!0),e.status===`running`?(Y(),X(`span`,Ky,`…`)):Q(``,!0)],2))),128))])):Q(``,!0)],2))),128))])):Q(``,!0)}}),[[`__scopeId`,`data-v-abae31a2`]]);function Xy(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var Zy=Xy();function Qy(e){Zy=e}var $y={exec:()=>null};function eb(e){let t=[];return n=>{let r=Math.max(0,Math.min(3,n-1)),i=t[r];return i||(i=e(r),t[r]=i),i}}function tb(e,t=``){let n=typeof e==`string`?e:e.source,r={replace:(e,t)=>{let i=typeof t==`string`?t:t.source;return i=i.replace(rb.caret,`$1`),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}var nb=((e=``)=>{try{return!!RegExp(`(?<=1)(?<!1)`+e)}catch{return!1}})(),rb={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:eb(e=>RegExp(`^ {0,${e}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:eb(e=>RegExp(`^ {0,${e}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:eb(e=>RegExp(`^ {0,${e}}(?:\`\`\`|~~~)`)),headingBeginRegex:eb(e=>RegExp(`^ {0,${e}}#`)),htmlBeginRegex:eb(e=>RegExp(`^ {0,${e}}<(?:[a-z].*>|!--)`,`i`)),blockquoteBeginRegex:eb(e=>RegExp(`^ {0,${e}}>`))},ib=/^(?:[ \t]*(?:\n|$))+/,ab=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,ob=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,sb=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,cb=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,lb=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,ub=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,db=tb(ub).replace(/bull/g,lb).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,``).getRegex(),fb=tb(ub).replace(/bull/g,lb).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),pb=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,mb=/^[^\n]+/,hb=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,gb=tb(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace(`label`,hb).replace(`title`,/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),_b=tb(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,lb).getRegex(),vb=`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|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul`,yb=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,bb=tb(`^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>[^\\n]*\\n+|$)|<![A-Z][\\s\\S]*?(?:>[^\\n]*\\n+|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>[^\\n]*\\n+|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))`,`i`).replace(`comment`,yb).replace(`tag`,vb).replace(`attribute`,/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),xb=e=>tb(pb).replace(`hr`,sb).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,e).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,vb).getRegex(),Sb=xb(/ {0,3}(?:[*+-]|1[.)])[ \t]+[^ \t\n]/),Cb=xb(/ {0,3}(?:[*+-]|\d{1,9}[.)])[ \t]+[^ \t\n]/),wb={blockquote:tb(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace(`paragraph`,Cb).getRegex(),code:ab,def:gb,fences:ob,heading:cb,hr:sb,html:bb,lheading:db,list:_b,newline:ib,paragraph:Sb,table:$y,text:mb},Tb=tb(`^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)`).replace(`hr`,sb).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`blockquote`,` {0,3}>`).replace(`code`,`(?: {4}| {0,3} )[^\\n]`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,vb).getRegex(),Eb={...wb,lheading:fb,table:Tb,paragraph:tb(pb).replace(`hr`,sb).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`table`,Tb).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,vb).getRegex()},Db={...wb,html:tb(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace(`comment`,yb).replace(/tag/g,`(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b`).getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:$y,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:tb(pb).replace(`hr`,sb).replace(`heading`,` *#{1,6} *[^
|
|
197
|
+
]`).replace(`lheading`,db).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`|fences`,``).replace(`|list`,``).replace(`|html`,``).replace(`|tag`,``).getRegex()},Ob=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,kb=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Ab=/^( {2,}|\\)\n(?!\s*$)/,jb=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Mb=/[\p{P}\p{S}]/u,Nb=/[\s\p{P}\p{S}]/u,Pb=/[^\s\p{P}\p{S}]/u,Fb=tb(/^((?![*_])punctSpace)/,`u`).replace(/punctSpace/g,Nb).getRegex(),Ib=/(?!~)[\p{P}\p{S}]/u,Lb=/(?!~)[\s\p{P}\p{S}]/u,Rb=/(?:[^\s\p{P}\p{S}]|~)/u,zb=tb(/link|precode-code|html/,`g`).replace(`link`,/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace(`precode-`,nb?"(?<!`)()":"(^^|[^`])").replace(`code`,/(?<b>`+)[^`]+\k<b>(?!`)/).replace(`html`,/<(?! )[^<>]*?>/).getRegex(),Bb=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,Vb=tb(Bb,`u`).replace(/punct/g,Mb).getRegex(),Hb=tb(Bb,`u`).replace(/punct/g,Ib).getRegex(),Ub=`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)`,Wb=tb(Ub,`gu`).replace(/notPunctSpace/g,Pb).replace(/punctSpace/g,Nb).replace(/punct/g,Mb).getRegex(),Gb=tb(Ub,`gu`).replace(/notPunctSpace/g,Rb).replace(/punctSpace/g,Lb).replace(/punct/g,Ib).getRegex(),Kb=tb(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)`,`gu`).replace(/notPunctSpace/g,Pb).replace(/punctSpace/g,Nb).replace(/punct/g,Mb).getRegex(),qb=tb(/^~~?(?:((?!~)punct)|[^\s~])/,`u`).replace(/punct/g,Mb).getRegex(),Jb=tb(`^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,Pb).replace(/punctSpace/g,Nb).replace(/punct/g,Mb).getRegex(),Yb=tb(/\\(punct)/,`gu`).replace(/punct/g,Mb).getRegex(),Xb=tb(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace(`scheme`,/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(`email`,/[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])?)+(?![-_])/).getRegex(),Zb=tb(yb).replace(`(?:-->|$)`,`-->`).getRegex(),Qb=tb(`^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>`).replace(`comment`,Zb).replace(`attribute`,/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),$b=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,ex=tb(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace(`label`,$b).replace(`href`,/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]+|(?=\))/).replace(`title`,/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),tx=tb(/^!?\[(label)\]\[(ref)\]/).replace(`label`,$b).replace(`ref`,hb).getRegex(),nx=tb(/^!?\[(ref)\](?:\[\])?/).replace(`ref`,hb).getRegex(),rx=tb(`reflink|nolink(?!\\()`,`g`).replace(`reflink`,tx).replace(`nolink`,nx).getRegex(),ix=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,ax={_backpedal:$y,anyPunctuation:Yb,autolink:Xb,blockSkip:zb,br:Ab,code:kb,del:$y,delLDelim:$y,delRDelim:$y,emStrongLDelim:Vb,emStrongRDelimAst:Wb,emStrongRDelimUnd:Kb,escape:Ob,link:ex,nolink:nx,punctuation:Fb,reflink:tx,reflinkSearch:rx,tag:Qb,text:jb,url:$y},ox={...ax,link:tb(/^!?\[(label)\]\((.*?)\)/).replace(`label`,$b).getRegex(),reflink:tb(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace(`label`,$b).getRegex()},sx={...ax,emStrongRDelimAst:Gb,emStrongLDelim:Hb,delLDelim:qb,delRDelim:Jb,url:tb(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace(`protocol`,ix).replace(`email`,/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:tb(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace(`protocol`,ix).getRegex()},cx={...sx,br:tb(Ab).replace(`{2,}`,`*`).getRegex(),text:tb(sx.text).replace(`\\b_`,`\\b_| {2,}\\n`).replace(/\{2,\}/g,`*`).getRegex()},lx={normal:wb,gfm:Eb,pedantic:Db},ux={normal:ax,gfm:sx,breaks:cx,pedantic:ox},dx={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`},fx=e=>dx[e];function px(e,t){if(t){if(rb.escapeTest.test(e))return e.replace(rb.escapeReplace,fx)}else if(rb.escapeTestNoEncode.test(e))return e.replace(rb.escapeReplaceNoEncode,fx);return e}function mx(e){try{e=encodeURI(e).replace(rb.percentDecode,`%`)}catch{return null}return e}function hx(e,t){let n=e.replace(rb.findPipe,(e,t,n)=>{let r=!1,i=t;for(;--i>=0&&n[i]===`\\`;)r=!r;return r?`|`:` |`}).split(rb.splitPipe),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),t)if(n.length>t)n.splice(t);else for(;n.length<t;)n.push(``);for(;r<n.length;r++)n[r]=n[r].trim().replace(rb.slashPipe,`|`);return n}function gx(e,t,n){let r=e.length;if(r===0)return``;let i=0;for(;i<r;){let a=e.charAt(r-i-1);if(a===t&&!n)i++;else if(a!==t&&n)i++;else break}return e.slice(0,r-i)}function _x(e){let t=e.split(`
|
|
198
|
+
`),n=t.length-1;for(;n>=0&&rb.blankLine.test(t[n]);)n--;return t.length-n<=2?e:t.slice(0,n+1).join(`
|
|
199
|
+
`)}function vx(e,t){if(e.indexOf(t[1])===-1)return-1;let n=0;for(let r=0;r<e.length;r++)if(e[r]===`\\`)r++;else if(e[r]===t[0])n++;else if(e[r]===t[1]&&(n--,n<0))return r;return n>0?-2:-1}function yx(e,t=0){let n=t,r=``;for(let t of e)if(t===` `){let e=4-n%4;r+=` `.repeat(e),n+=e}else r+=t,n++;return r}function bx(e,t,n,r,i){let a=t.href,o=t.title||null,s=e[1].replace(i.other.outputLinkReplace,`$1`);r.state.inLink=!0;let c={type:e[0].charAt(0)===`!`?`image`:`link`,raw:n,href:a,title:o,text:s,tokens:r.inlineTokens(s)};return r.state.inLink=!1,c}function xx(e,t,n){let r=e.match(n.other.indentCodeCompensation);if(r===null)return t;let i=r[1];return t.split(`
|
|
198
200
|
`).map(e=>{let t=e.match(n.other.beginningSpace);if(t===null)return e;let[r]=t;return r.length>=i.length?e.slice(i.length):e}).join(`
|
|
199
|
-
`)}var
|
|
200
|
-
`),depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:`hr`,raw:
|
|
201
|
-
`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=
|
|
201
|
+
`)}var Sx=class{options;rules;lexer;constructor(e){this.options=e||Zy}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:`space`,raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=this.options.pedantic?t[0]:_x(t[0]);return{type:`code`,raw:e,codeBlockStyle:`indented`,text:e.replace(this.rules.other.codeRemoveIndent,``)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],n=xx(e,t[3]||``,this.rules);return{type:`code`,raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,`$1`):t[2],text:n}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(this.rules.other.endingHash.test(e)){let t=gx(e,`#`);(this.options.pedantic||!t||this.rules.other.endingSpaceChar.test(t))&&(e=t.trim())}return{type:`heading`,raw:gx(t[0],`
|
|
202
|
+
`),depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:`hr`,raw:gx(t[0],`
|
|
203
|
+
`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=gx(t[0],`
|
|
202
204
|
`).split(`
|
|
203
205
|
`),n=``,r=``,i=[];for(;e.length>0;){let t=!1,a=[],o;for(o=0;o<e.length;o++)if(this.rules.other.blockquoteStart.test(e[o]))a.push(e[o]),t=!0;else if(!t)a.push(e[o]);else break;e=e.slice(o);let s=a.join(`
|
|
204
206
|
`),c=s.replace(this.rules.other.blockquoteSetextReplace,`
|
|
@@ -209,20 +211,20 @@ ${c}`:c;let l=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTo
|
|
|
209
211
|
`),o=this.blockquote(a);i[i.length-1]=o,n=n.substring(0,n.length-t.raw.length)+o.raw,r=r.substring(0,r.length-t.text.length)+o.text;break}else if(u?.type===`list`){let t=u,a=t.raw+`
|
|
210
212
|
`+e.join(`
|
|
211
213
|
`),o=this.list(a);i[i.length-1]=o,n=n.substring(0,n.length-u.raw.length)+o.raw,r=r.substring(0,r.length-t.raw.length)+o.raw,e=a.substring(i.at(-1).raw.length).split(`
|
|
212
|
-
`);continue}}return{type:`blockquote`,raw:n,tokens:i,text:r}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,i={type:`list`,raw:``,ordered:r,start:r?+n.slice(0,-1):``,loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:`[*+-]`);let a=this.rules.other.listItemRegex(n),o=!1;for(;e;){let n=!1,r=``,s=``;if(!(t=a.exec(e))||this.rules.block.hr.test(e))break;r=t[0],e=e.substring(r.length);let c=
|
|
214
|
+
`);continue}}return{type:`blockquote`,raw:n,tokens:i,text:r}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,i={type:`list`,raw:``,ordered:r,start:r?+n.slice(0,-1):``,loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:`[*+-]`);let a=this.rules.other.listItemRegex(n),o=!1;for(;e;){let n=!1,r=``,s=``;if(!(t=a.exec(e))||this.rules.block.hr.test(e))break;r=t[0],e=e.substring(r.length);let c=yx(t[2].split(`
|
|
213
215
|
`,1)[0],t[1].length),l=e.split(`
|
|
214
216
|
`,1)[0],u=!c.trim(),d=0;if(this.options.pedantic?(d=2,s=c.trimStart()):u?d=t[1].length+1:(d=c.search(this.rules.other.nonSpaceChar),d=d>4?1:d,s=c.slice(d),d+=t[1].length),u&&this.rules.other.blankLine.test(l)&&(r+=l+`
|
|
215
217
|
`,e=e.substring(l.length+1),n=!0),!n){let t=this.rules.other.nextBulletRegex(d),n=this.rules.other.hrRegex(d),i=this.rules.other.fencesBeginRegex(d),a=this.rules.other.headingBeginRegex(d),o=this.rules.other.htmlBeginRegex(d),f=this.rules.other.blockquoteBeginRegex(d);for(;e;){let p=e.split(`
|
|
216
218
|
`,1)[0],m;if(l=p,this.options.pedantic?(l=l.replace(this.rules.other.listReplaceNesting,` `),m=l):m=l.replace(this.rules.other.tabCharGlobal,` `),i.test(l)||a.test(l)||o.test(l)||f.test(l)||t.test(l)||n.test(l))break;if(m.search(this.rules.other.nonSpaceChar)>=d||!l.trim())s+=`
|
|
217
219
|
`+m.slice(d);else{if(u||c.replace(this.rules.other.tabCharGlobal,` `).search(this.rules.other.nonSpaceChar)>=4||i.test(c)||a.test(c)||n.test(c))break;s+=`
|
|
218
220
|
`+l}u=!l.trim(),r+=p+`
|
|
219
|
-
`,e=e.substring(p.length+1),c=m.slice(d)}}i.loose||(o?i.loose=!0:this.rules.other.doubleBlankLine.test(r)&&(o=!0)),i.items.push({type:`list_item`,raw:r,task:!!this.options.gfm&&this.rules.other.listIsTask.test(s),loose:!1,text:s,tokens:[]}),i.raw+=r}let s=i.items.at(-1);if(s)s.raw=s.raw.trimEnd(),s.text=s.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let e of i.items){this.lexer.state.top=!1,e.tokens=this.lexer.blockTokens(e.text,[]);let t=e.tokens[0];if(e.task&&(t?.type===`text`||t?.type===`paragraph`)){e.text=e.text.replace(this.rules.other.listReplaceTask,``),t.raw=t.raw.replace(this.rules.other.listReplaceTask,``),t.text=t.text.replace(this.rules.other.listReplaceTask,``);for(let e=this.lexer.inlineQueue.length-1;e>=0;e--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[e].src)){this.lexer.inlineQueue[e].src=this.lexer.inlineQueue[e].src.replace(this.rules.other.listReplaceTask,``);break}let n=this.rules.other.listTaskCheckbox.exec(e.raw);if(n){let t={type:`checkbox`,raw:n[0]+` `,checked:n[0]!==`[ ]`};e.checked=t.checked,i.loose?e.tokens[0]&&[`paragraph`,`text`].includes(e.tokens[0].type)&&`tokens`in e.tokens[0]&&e.tokens[0].tokens?(e.tokens[0].raw=t.raw+e.tokens[0].raw,e.tokens[0].text=t.raw+e.tokens[0].text,e.tokens[0].tokens.unshift(t)):e.tokens.unshift({type:`paragraph`,raw:t.raw,text:t.raw,tokens:[t]}):e.tokens.unshift(t)}}else e.task&&=!1;if(!i.loose){let t=e.tokens.filter(e=>e.type===`space`);i.loose=t.length>0&&t.some(e=>this.rules.other.anyLine.test(e.raw))}}if(i.loose)for(let e of i.items){e.loose=!0;for(let t of e.tokens)t.type===`text`&&(t.type=`paragraph`)}return i}}html(e){let t=this.rules.block.html.exec(e);if(t){let e=
|
|
220
|
-
`),href:n,title:r}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=
|
|
221
|
-
`):[],a={type:`table`,raw:
|
|
222
|
-
`),header:[],align:[],rows:[]};if(n.length===r.length){for(let e of r)this.rules.other.tableAlignRight.test(e)?a.align.push(`right`):this.rules.other.tableAlignCenter.test(e)?a.align.push(`center`):this.rules.other.tableAlignLeft.test(e)?a.align.push(`left`):a.align.push(null);for(let e=0;e<n.length;e++)a.header.push({text:n[e],tokens:this.lexer.inline(n[e]),header:!0,align:a.align[e]});for(let e of i)a.rows.push(
|
|
221
|
+
`,e=e.substring(p.length+1),c=m.slice(d)}}i.loose||(o?i.loose=!0:this.rules.other.doubleBlankLine.test(r)&&(o=!0)),i.items.push({type:`list_item`,raw:r,task:!!this.options.gfm&&this.rules.other.listIsTask.test(s),loose:!1,text:s,tokens:[]}),i.raw+=r}let s=i.items.at(-1);if(s)s.raw=s.raw.trimEnd(),s.text=s.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let e of i.items){this.lexer.state.top=!1,e.tokens=this.lexer.blockTokens(e.text,[]);let t=e.tokens[0];if(e.task&&(t?.type===`text`||t?.type===`paragraph`)){e.text=e.text.replace(this.rules.other.listReplaceTask,``),t.raw=t.raw.replace(this.rules.other.listReplaceTask,``),t.text=t.text.replace(this.rules.other.listReplaceTask,``);for(let e=this.lexer.inlineQueue.length-1;e>=0;e--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[e].src)){this.lexer.inlineQueue[e].src=this.lexer.inlineQueue[e].src.replace(this.rules.other.listReplaceTask,``);break}let n=this.rules.other.listTaskCheckbox.exec(e.raw);if(n){let t={type:`checkbox`,raw:n[0]+` `,checked:n[0]!==`[ ]`};e.checked=t.checked,i.loose?e.tokens[0]&&[`paragraph`,`text`].includes(e.tokens[0].type)&&`tokens`in e.tokens[0]&&e.tokens[0].tokens?(e.tokens[0].raw=t.raw+e.tokens[0].raw,e.tokens[0].text=t.raw+e.tokens[0].text,e.tokens[0].tokens.unshift(t)):e.tokens.unshift({type:`paragraph`,raw:t.raw,text:t.raw,tokens:[t]}):e.tokens.unshift(t)}}else e.task&&=!1;if(!i.loose){let t=e.tokens.filter(e=>e.type===`space`);i.loose=t.length>0&&t.some(e=>this.rules.other.anyLine.test(e.raw))}}if(i.loose)for(let e of i.items){e.loose=!0;for(let t of e.tokens)t.type===`text`&&(t.type=`paragraph`)}return i}}html(e){let t=this.rules.block.html.exec(e);if(t){let e=_x(t[0]);return{type:`html`,block:!0,raw:e,pre:t[1]===`pre`||t[1]===`script`||t[1]===`style`,text:e}}}def(e){let t=this.rules.block.def.exec(e);if(t){let e=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal,` `),n=t[2]?t[2].replace(this.rules.other.hrefBrackets,`$1`).replace(this.rules.inline.anyPunctuation,`$1`):``,r=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,`$1`):t[3];return{type:`def`,tag:e,raw:gx(t[0],`
|
|
222
|
+
`),href:n,title:r}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=hx(t[1]),r=t[2].replace(this.rules.other.tableAlignChars,``).split(`|`),i=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,``).split(`
|
|
223
|
+
`):[],a={type:`table`,raw:gx(t[0],`
|
|
224
|
+
`),header:[],align:[],rows:[]};if(n.length===r.length){for(let e of r)this.rules.other.tableAlignRight.test(e)?a.align.push(`right`):this.rules.other.tableAlignCenter.test(e)?a.align.push(`center`):this.rules.other.tableAlignLeft.test(e)?a.align.push(`left`):a.align.push(null);for(let e=0;e<n.length;e++)a.header.push({text:n[e],tokens:this.lexer.inline(n[e]),header:!0,align:a.align[e]});for(let e of i)a.rows.push(hx(e,a.header.length).map((e,t)=>({text:e,tokens:this.lexer.inline(e),header:!1,align:a.align[t]})));return a}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let e=t[1].trim();return{type:`heading`,raw:gx(t[0],`
|
|
223
225
|
`),depth:t[2].charAt(0)===`=`?1:2,text:e,tokens:this.lexer.inline(e)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let e=t[1].charAt(t[1].length-1)===`
|
|
224
|
-
`?t[1].slice(0,-1):t[1];return{type:`paragraph`,raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:`text`,raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:`escape`,raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:`html`,raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let e=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(e)){if(!this.rules.other.endAngleBracket.test(e))return;let t=
|
|
225
|
-
`),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(
|
|
226
|
+
`?t[1].slice(0,-1):t[1];return{type:`paragraph`,raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:`text`,raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:`escape`,raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:`html`,raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let e=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(e)){if(!this.rules.other.endAngleBracket.test(e))return;let t=gx(e.slice(0,-1),`\\`);if((e.length-t.length)%2==0)return}else{let e=vx(t[2],`()`);if(e===-2)return;if(e>-1){let n=(t[0].indexOf(`!`)===0?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=``}}let n=t[2],r=``;if(this.options.pedantic){let e=this.rules.other.pedanticHrefTitle.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):``;return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(n=this.options.pedantic&&!this.rules.other.endAngleBracket.test(e)?n.slice(1):n.slice(1,-1)),bx(t,{href:n&&n.replace(this.rules.inline.anyPunctuation,`$1`),title:r&&r.replace(this.rules.inline.anyPunctuation,`$1`)},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=t[(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal,` `).toLowerCase()];if(!e){let e=n[0].charAt(0);return{type:`text`,raw:e,text:e}}return bx(n,e,n[0],this.lexer,this.rules)}}emStrong(e,t,n=``){let r=this.rules.inline.emStrongLDelim.exec(e);if(!(!r||!r[1]&&!r[2]&&!r[3]&&!r[4]||r[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(r[1]||r[3])||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,i,a,o=n,s=0,c=r[0][0]===`*`?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c.lastIndex=0,t=t.slice(-1*e.length+n);(r=c.exec(t))!==null;){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i)continue;if(a=[...i].length,r[3]||r[4]){o+=a;continue}else if((r[5]||r[6])&&n%3&&!((n+a)%3)){s+=a;continue}if(o-=a,o>0)continue;a=Math.min(a,a+o+s);let t=[...r[0]][0].length,c=e.slice(0,n+r.index+t+a);if(Math.min(n,a)%2){let e=c.slice(1,-1);return{type:`em`,raw:c,text:e,tokens:this.lexer.inlineTokens(e)}}let l=c.slice(2,-2);return{type:`strong`,raw:c,text:l,tokens:this.lexer.inlineTokens(l)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(this.rules.other.newLineCharGlobal,` `),n=this.rules.other.nonSpaceChar.test(e),r=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return n&&r&&(e=e.substring(1,e.length-1)),{type:`codespan`,raw:t[0],text:e}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:`br`,raw:t[0]}}del(e,t,n=``){let r=this.rules.inline.delLDelim.exec(e);if(r&&(!r[1]||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,i,a,o=n,s=this.rules.inline.delRDelim;for(s.lastIndex=0,t=t.slice(-1*e.length+n);(r=s.exec(t))!==null;){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i||(a=[...i].length,a!==n))continue;if(r[3]||r[4]){o+=a;continue}if(o-=a,o>0)continue;a=Math.min(a,a+o);let t=[...r[0]][0].length,s=e.slice(0,n+r.index+t+a),c=s.slice(n,-n);return{type:`del`,raw:s,text:c,tokens:this.lexer.inlineTokens(c)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let e,n;return t[2]===`@`?(e=t[1],n=`mailto:`+e):(e=t[1],n=e),{type:`link`,raw:t[0],text:e,href:n,tokens:[{type:`text`,raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,n;if(t[2]===`@`)e=t[0],n=`mailto:`+e;else{let r;do r=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??``;while(r!==t[0]);e=t[0],n=t[1]===`www.`?`http://`+t[0]:t[0]}return{type:`link`,raw:t[0],text:e,href:n,tokens:[{type:`text`,raw:e,text:e}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let e=this.lexer.state.inRawBlock;return{type:`text`,raw:t[0],text:t[0],escaped:e}}}},Cx=class e{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||Zy,this.options.tokenizer=this.options.tokenizer||new Sx,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:rb,block:lx.normal,inline:ux.normal};this.options.pedantic?(t.block=lx.pedantic,t.inline=ux.pedantic):this.options.gfm&&(t.block=lx.gfm,this.options.breaks?t.inline=ux.breaks:t.inline=ux.gfm),this.tokenizer.rules=t}static get rules(){return{block:lx,inline:ux}}static lex(t,n){return new e(n).lex(t)}static lexInline(t,n){return new e(n).inlineTokens(t)}lex(e){e=e.replace(rb.carriageReturn,`
|
|
227
|
+
`),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(rb.tabCharGlobal,` `).replace(rb.spaceLine,``));let r=1/0;for(;e;){if(e.length<r)r=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}let i;if(this.options.extensions?.block?.some(n=>(i=n.call({lexer:this},e,t))?(e=e.substring(i.raw.length),t.push(i),!0):!1))continue;if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length);let n=t.at(-1);i.raw.length===1&&n!==void 0?n.raw+=`
|
|
226
228
|
`:t.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length);let n=t.at(-1);n?.type===`paragraph`||n?.type===`text`?(n.raw+=(n.raw.endsWith(`
|
|
227
229
|
`)?``:`
|
|
228
230
|
`)+i.raw,n.text+=`
|
|
@@ -235,9 +237,9 @@ ${c}`:c;let l=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTo
|
|
|
235
237
|
`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=r.text):t.push(i),n=a.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length);let n=t.at(-1);n?.type===`text`?(n.raw+=(n.raw.endsWith(`
|
|
236
238
|
`)?``:`
|
|
237
239
|
`)+i.raw,n.text+=`
|
|
238
|
-
`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):t.push(i);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){this.tokenizer.lexer=this;let n=e,r=null;if(this.tokens.links){let e=Object.keys(this.tokens.links);if(e.length>0)for(;(r=this.tokenizer.rules.inline.reflinkSearch.exec(n))!==null;)e.includes(r[0].slice(r[0].lastIndexOf(`[`)+1,-1))&&(n=n.slice(0,r.index)+`[`+`a`.repeat(r[0].length-2)+`]`+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(r=this.tokenizer.rules.inline.anyPunctuation.exec(n))!==null;)n=n.slice(0,r.index)+`++`+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let i;for(;(r=this.tokenizer.rules.inline.blockSkip.exec(n))!==null;)i=r[2]?r[2].length:0,n=n.slice(0,r.index+i)+`[`+`a`.repeat(r[0].length-i-2)+`]`+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let a=!1,o=``,s=1/0;for(;e;){if(e.length<s)s=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}a||(o=``),a=!1;let r;if(this.options.extensions?.inline?.some(n=>(r=n.call({lexer:this},e,t))?(e=e.substring(r.raw.length),t.push(r),!0):!1))continue;if(r=this.tokenizer.escape(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.tag(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.link(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(r.raw.length);let n=t.at(-1);r.type===`text`&&n?.type===`text`?(n.raw+=r.raw,n.text+=r.text):t.push(r);continue}if(r=this.tokenizer.emStrong(e,n,o)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.codespan(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.br(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.del(e,n,o)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.autolink(e)){e=e.substring(r.raw.length),t.push(r);continue}if(!this.state.inLink&&(r=this.tokenizer.url(e))){e=e.substring(r.raw.length),t.push(r);continue}let i=e;if(this.options.extensions?.startInline){let t=1/0,n=e.slice(1),r;this.options.extensions.startInline.forEach(e=>{r=e.call({lexer:this},n),typeof r==`number`&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(i=e.substring(0,t+1))}if(r=this.tokenizer.inlineText(i)){e=e.substring(r.raw.length),r.raw.slice(-1)!==`_`&&(o=r.raw.slice(-1)),a=!0;let n=t.at(-1);n?.type===`text`?(n.raw+=r.raw,n.text+=r.text):t.push(r);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return t}infiniteLoopError(e){let t=`Infinite loop on byte: `+e;if(this.options.silent)console.error(t);else throw Error(t)}},
|
|
239
|
-
`;return r?`<pre><code class="language-`+
|
|
240
|
-
`:`<pre><code>`+(n?i:
|
|
240
|
+
`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):t.push(i);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){this.tokenizer.lexer=this;let n=e,r=null;if(this.tokens.links){let e=Object.keys(this.tokens.links);if(e.length>0)for(;(r=this.tokenizer.rules.inline.reflinkSearch.exec(n))!==null;)e.includes(r[0].slice(r[0].lastIndexOf(`[`)+1,-1))&&(n=n.slice(0,r.index)+`[`+`a`.repeat(r[0].length-2)+`]`+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(r=this.tokenizer.rules.inline.anyPunctuation.exec(n))!==null;)n=n.slice(0,r.index)+`++`+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let i;for(;(r=this.tokenizer.rules.inline.blockSkip.exec(n))!==null;)i=r[2]?r[2].length:0,n=n.slice(0,r.index+i)+`[`+`a`.repeat(r[0].length-i-2)+`]`+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let a=!1,o=``,s=1/0;for(;e;){if(e.length<s)s=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}a||(o=``),a=!1;let r;if(this.options.extensions?.inline?.some(n=>(r=n.call({lexer:this},e,t))?(e=e.substring(r.raw.length),t.push(r),!0):!1))continue;if(r=this.tokenizer.escape(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.tag(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.link(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(r.raw.length);let n=t.at(-1);r.type===`text`&&n?.type===`text`?(n.raw+=r.raw,n.text+=r.text):t.push(r);continue}if(r=this.tokenizer.emStrong(e,n,o)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.codespan(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.br(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.del(e,n,o)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.autolink(e)){e=e.substring(r.raw.length),t.push(r);continue}if(!this.state.inLink&&(r=this.tokenizer.url(e))){e=e.substring(r.raw.length),t.push(r);continue}let i=e;if(this.options.extensions?.startInline){let t=1/0,n=e.slice(1),r;this.options.extensions.startInline.forEach(e=>{r=e.call({lexer:this},n),typeof r==`number`&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(i=e.substring(0,t+1))}if(r=this.tokenizer.inlineText(i)){e=e.substring(r.raw.length),r.raw.slice(-1)!==`_`&&(o=r.raw.slice(-1)),a=!0;let n=t.at(-1);n?.type===`text`?(n.raw+=r.raw,n.text+=r.text):t.push(r);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return t}infiniteLoopError(e){let t=`Infinite loop on byte: `+e;if(this.options.silent)console.error(t);else throw Error(t)}},wx=class{options;parser;constructor(e){this.options=e||Zy}space(e){return``}code({text:e,lang:t,escaped:n}){let r=(t||``).match(rb.notSpaceStart)?.[0],i=e.replace(rb.endingNewline,``)+`
|
|
241
|
+
`;return r?`<pre><code class="language-`+px(r)+`">`+(n?i:px(i,!0))+`</code></pre>
|
|
242
|
+
`:`<pre><code>`+(n?i:px(i,!0))+`</code></pre>
|
|
241
243
|
`}blockquote({tokens:e}){return`<blockquote>
|
|
242
244
|
${this.parser.parse(e)}</blockquote>
|
|
243
245
|
`}html({text:e}){return e}def(e){return``}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>
|
|
@@ -253,14 +255,12 @@ ${this.parser.parse(e)}</blockquote>
|
|
|
253
255
|
`}tablerow({text:e}){return`<tr>
|
|
254
256
|
${e}</tr>
|
|
255
257
|
`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?`th`:`td`;return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>
|
|
256
|
-
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${
|
|
257
|
-
Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+Ly(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}};function $y(e,t){return Qy.parse(e,t)}$y.options=$y.setOptions=function(e){return Qy.setOptions(e),$y.defaults=Qy.defaults,Sv($y.defaults),$y},$y.getDefaults=bv,$y.defaults=xv,$y.use=function(...e){return Qy.use(...e),$y.defaults=Qy.defaults,Sv($y.defaults),$y},$y.walkTokens=function(e,t){return Qy.walkTokens(e,t)},$y.parseInline=Qy.parseInline,$y.Parser=Xy,$y.parser=Xy.parse,$y.Renderer=Jy,$y.TextRenderer=Yy,$y.Lexer=qy,$y.lexer=qy.lex,$y.Tokenizer=Ky,$y.Hooks=Zy,$y.parse=$y,$y.options,$y.setOptions,$y.use,$y.walkTokens,$y.parseInline,Xy.parse,qy.lex;var eb=f(((e,t)=>{function n(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw Error(`map is read-only`)}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw Error(`set is read-only`)}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{let r=e[t],i=typeof r;(i===`object`||i===`function`)&&!Object.isFrozen(r)&&n(r)}),e}var r=class{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function i(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}function a(e,...t){let n=Object.create(null);for(let t in e)n[t]=e[t];return t.forEach(function(e){for(let t in e)n[t]=e[t]}),n}var o=`</span>`,s=e=>!!e.scope,c=(e,{prefix:t})=>{if(e.startsWith(`language:`))return e.replace(`language:`,`language-`);if(e.includes(`.`)){let n=e.split(`.`);return[`${t}${n.shift()}`,...n.map((e,t)=>`${e}${`_`.repeat(t+1)}`)].join(` `)}return`${t}${e}`},l=class{constructor(e,t){this.buffer=``,this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=i(e)}openNode(e){if(!s(e))return;let t=c(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){s(e)&&(this.buffer+=o)}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}},u=(e={})=>{let t={children:[]};return Object.assign(t,e),t},d=class e{constructor(){this.rootNode=u(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){let t=u({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return typeof t==`string`?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(t=>this._walk(e,t)),e.closeNode(t)),e}static _collapse(t){typeof t!=`string`&&t.children&&(t.children.every(e=>typeof e==`string`)?t.children=[t.children.join(``)]:t.children.forEach(t=>{e._collapse(t)}))}},f=class extends d{constructor(e){super(),this.options=e}addText(e){e!==``&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){let n=e.root;t&&(n.scope=`language:${t}`),this.add(n)}toHTML(){return new l(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function p(e){return e?typeof e==`string`?e:e.source:null}function m(e){return _(`(?=`,e,`)`)}function h(e){return _(`(?:`,e,`)*`)}function g(e){return _(`(?:`,e,`)?`)}function _(...e){return e.map(e=>p(e)).join(``)}function v(e){let t=e[e.length-1];return typeof t==`object`&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function y(...e){return`(`+(v(e).capture?``:`?:`)+e.map(e=>p(e)).join(`|`)+`)`}function b(e){return RegExp(e.toString()+`|`).exec(``).length-1}function x(e,t){let n=e&&e.exec(t);return n&&n.index===0}var S=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function C(e,{joinWith:t}){let n=0;return e.map(e=>{n+=1;let t=n,r=p(e),i=``;for(;r.length>0;){let e=S.exec(r);if(!e){i+=r;break}i+=r.substring(0,e.index),r=r.substring(e.index+e[0].length),e[0][0]===`\\`&&e[1]?i+=`\\`+String(Number(e[1])+t):(i+=e[0],e[0]===`(`&&n++)}return i}).map(e=>`(${e})`).join(t)}var w=/\b\B/,T=`[a-zA-Z]\\w*`,E=`[a-zA-Z_]\\w*`,D=`\\b\\d+(\\.\\d+)?`,O=`(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)`,k=`\\b(0b[01]+)`,A=`!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~`,ee=(e={})=>{let t=/^#![ ]*\//;return e.binary&&(e.begin=_(t,/.*\b/,e.binary,/\b.*/)),a({scope:`meta`,begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{e.index!==0&&t.ignoreMatch()}},e)},j={begin:`\\\\[\\s\\S]`,relevance:0},M={scope:`string`,begin:`'`,end:`'`,illegal:`\\n`,contains:[j]},N={scope:`string`,begin:`"`,end:`"`,illegal:`\\n`,contains:[j]},te={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},P=function(e,t,n={}){let r=a({scope:`comment`,begin:e,end:t,contains:[]},n);r.contains.push({scope:`doctag`,begin:`[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)`,end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let i=y(`I`,`a`,`is`,`so`,`us`,`to`,`at`,`if`,`in`,`it`,`on`,/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return r.contains.push({begin:_(/[ ]+/,`(`,i,/[.]?[:]?([.][ ]|[ ])/,`){3}`)}),r},F=P(`//`,`$`),I=P(`/\\*`,`\\*/`),L=P(`#`,`$`),ne=Object.freeze({__proto__:null,APOS_STRING_MODE:M,BACKSLASH_ESCAPE:j,BINARY_NUMBER_MODE:{scope:`number`,begin:k,relevance:0},BINARY_NUMBER_RE:k,COMMENT:P,C_BLOCK_COMMENT_MODE:I,C_LINE_COMMENT_MODE:F,C_NUMBER_MODE:{scope:`number`,begin:O,relevance:0},C_NUMBER_RE:O,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})},HASH_COMMENT_MODE:L,IDENT_RE:T,MATCH_NOTHING_RE:w,METHOD_GUARD:{begin:`\\.\\s*[a-zA-Z_]\\w*`,relevance:0},NUMBER_MODE:{scope:`number`,begin:D,relevance:0},NUMBER_RE:D,PHRASAL_WORDS_MODE:te,QUOTE_STRING_MODE:N,REGEXP_MODE:{scope:`regexp`,begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[j,{begin:/\[/,end:/\]/,relevance:0,contains:[j]}]},RE_STARTERS_RE:A,SHEBANG:ee,TITLE_MODE:{scope:`title`,begin:T,relevance:0},UNDERSCORE_IDENT_RE:E,UNDERSCORE_TITLE_MODE:{scope:`title`,begin:E,relevance:0}});function R(e,t){e.input[e.index-1]===`.`&&t.ignoreMatch()}function z(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function re(e,t){t&&e.beginKeywords&&(e.begin=`\\b(`+e.beginKeywords.split(` `).join(`|`)+`)(?!\\.)(?=\\b|\\s)`,e.__beforeBegin=R,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function B(e,t){Array.isArray(e.illegal)&&(e.illegal=y(...e.illegal))}function ie(e,t){if(e.match){if(e.begin||e.end)throw Error(`begin & end are not supported with match`);e.begin=e.match,delete e.match}}function ae(e,t){e.relevance===void 0&&(e.relevance=1)}var V=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw Error(`beforeMatch cannot be used with starts`);let n=Object.assign({},e);Object.keys(e).forEach(t=>{delete e[t]}),e.keywords=n.keywords,e.begin=_(n.beforeMatch,m(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},oe=[`of`,`and`,`for`,`in`,`not`,`or`,`if`,`then`,`parent`,`list`,`value`],se=`keyword`;function H(e,t,n=se){let r=Object.create(null);return typeof e==`string`?i(n,e.split(` `)):Array.isArray(e)?i(n,e):Object.keys(e).forEach(function(n){Object.assign(r,H(e[n],t,n))}),r;function i(e,n){t&&(n=n.map(e=>e.toLowerCase())),n.forEach(function(t){let n=t.split(`|`);r[n[0]]=[e,ce(n[0],n[1])]})}}function ce(e,t){return t?Number(t):+!le(e)}function le(e){return oe.includes(e.toLowerCase())}var ue={},de=e=>{console.error(e)},fe=(e,...t)=>{console.log(`WARN: ${e}`,...t)},pe=(e,t)=>{ue[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),ue[`${e}/${t}`]=!0)},me=Error();function he(e,t,{key:n}){let r=0,i=e[n],a={},o={};for(let e=1;e<=t.length;e++)o[e+r]=i[e],a[e+r]=!0,r+=b(t[e-1]);e[n]=o,e[n]._emit=a,e[n]._multi=!0}function ge(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw de(`skip, excludeBegin, returnBegin not compatible with beginScope: {}`),me;if(typeof e.beginScope!=`object`||e.beginScope===null)throw de(`beginScope must be object`),me;he(e,e.begin,{key:`beginScope`}),e.begin=C(e.begin,{joinWith:``})}}function _e(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw de(`skip, excludeEnd, returnEnd not compatible with endScope: {}`),me;if(typeof e.endScope!=`object`||e.endScope===null)throw de(`endScope must be object`),me;he(e,e.end,{key:`endScope`}),e.end=C(e.end,{joinWith:``})}}function ve(e){e.scope&&typeof e.scope==`object`&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function ye(e){ve(e),typeof e.beginScope==`string`&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope==`string`&&(e.endScope={_wrap:e.endScope}),ge(e),_e(e)}function be(e){function t(t,n){return new RegExp(p(t),`m`+(e.case_insensitive?`i`:``)+(e.unicodeRegex?`u`:``)+(n?`g`:``))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=b(e)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let e=this.regexes.map(e=>e[1]);this.matcherRe=t(C(e,{joinWith:`|`}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;let t=this.matcherRe.exec(e);if(!t)return null;let n=t.findIndex((e,t)=>t>0&&e!==void 0),r=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,r)}}class r{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];let t=new n;return this.rules.slice(e).forEach(([e,n])=>t.addRule(e,n)),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),t.type===`begin`&&this.count++}exec(e){let t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition()&&!(n&&n.index===this.lastIndex)){let t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}function i(e){let t=new r;return e.contains.forEach(e=>t.addRule(e.begin,{rule:e,type:`begin`})),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:`end`}),e.illegal&&t.addRule(e.illegal,{type:`illegal`}),t}function o(n,r){let a=n;if(n.isCompiled)return a;[z,ie,ye,V].forEach(e=>e(n,r)),e.compilerExtensions.forEach(e=>e(n,r)),n.__beforeBegin=null,[re,B,ae].forEach(e=>e(n,r)),n.isCompiled=!0;let s=null;return typeof n.keywords==`object`&&n.keywords.$pattern&&(n.keywords=Object.assign({},n.keywords),s=n.keywords.$pattern,delete n.keywords.$pattern),s||=/\w+/,n.keywords&&=H(n.keywords,e.case_insensitive),a.keywordPatternRe=t(s,!0),r&&(n.begin||=/\B|\b/,a.beginRe=t(a.begin),!n.end&&!n.endsWithParent&&(n.end=/\B|\b/),n.end&&(a.endRe=t(a.end)),a.terminatorEnd=p(a.end)||``,n.endsWithParent&&r.terminatorEnd&&(a.terminatorEnd+=(n.end?`|`:``)+r.terminatorEnd)),n.illegal&&(a.illegalRe=t(n.illegal)),n.contains||=[],n.contains=[].concat(...n.contains.map(function(e){return Se(e===`self`?n:e)})),n.contains.forEach(function(e){o(e,a)}),n.starts&&o(n.starts,r),a.matcher=i(a),a}if(e.compilerExtensions||=[],e.contains&&e.contains.includes(`self`))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=a(e.classNameAliases||{}),o(e)}function xe(e){return e?e.endsWithParent||xe(e.starts):!1}function Se(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return a(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:xe(e)?a(e,{starts:e.starts?a(e.starts):null}):Object.isFrozen(e)?a(e):e}var Ce=`11.11.1`,we=class extends Error{constructor(e,t){super(e),this.name=`HTMLInjectionError`,this.html=t}},Te=i,Ee=a,De=Symbol(`nomatch`),Oe=7,U=function(e){let t=Object.create(null),i=Object.create(null),a=[],o=!0,s=`Could not find the language '{}', did you forget to load/include a language module?`,c={disableAutodetect:!0,name:`Plain text`,contains:[]},l={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:`hljs-`,cssSelector:`pre code`,languages:null,__emitter:f};function u(e){return l.noHighlightRe.test(e)}function d(e){let t=e.className+` `;t+=e.parentNode?e.parentNode.className:``;let n=l.languageDetectRe.exec(t);if(n){let t=M(n[1]);return t||(fe(s.replace(`{}`,n[1])),fe(`Falling back to no-highlight mode for this block.`,e)),t?n[1]:`no-highlight`}return t.split(/\s+/).find(e=>u(e)||M(e))}function p(e,t,n){let r=``,i=``;typeof t==`object`?(r=e,n=t.ignoreIllegals,i=t.language):(pe(`10.7.0`,`highlight(lang, code, ...args) has been deprecated.`),pe(`10.7.0`,`Please use highlight(code, options) instead.
|
|
258
|
+
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${px(e,!0)}</code>`}br(e){return`<br>`}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),i=mx(e);if(i===null)return r;e=i;let a=`<a href="`+e+`"`;return t&&(a+=` title="`+px(t)+`"`),a+=`>`+r+`</a>`,a}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=mx(e);if(i===null)return px(n);e=i;let a=`<img src="${e}" alt="${px(n)}"`;return t&&(a+=` title="${px(t)}"`),a+=`>`,a}text(e){return`tokens`in e&&e.tokens?this.parser.parseInline(e.tokens):`escaped`in e&&e.escaped?e.text:px(e.text)}},Tx=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return``+e}image({text:e}){return``+e}br(){return``}checkbox({raw:e}){return e}},Ex=class e{options;renderer;textRenderer;constructor(e){this.options=e||Zy,this.options.renderer=this.options.renderer||new wx,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Tx}static parse(t,n){return new e(n).parse(t)}static parseInline(t,n){return new e(n).parseInline(t)}parse(e){this.renderer.parser=this;let t=``;for(let n=0;n<e.length;n++){let r=e[n];if(this.options.extensions?.renderers?.[r.type]){let e=r,n=this.options.extensions.renderers[e.type].call({parser:this},e);if(n!==!1||![`space`,`hr`,`heading`,`code`,`table`,`blockquote`,`list`,`html`,`def`,`paragraph`,`text`].includes(e.type)){t+=n||``;continue}}let i=r;switch(i.type){case`space`:t+=this.renderer.space(i);break;case`hr`:t+=this.renderer.hr(i);break;case`heading`:t+=this.renderer.heading(i);break;case`code`:t+=this.renderer.code(i);break;case`table`:t+=this.renderer.table(i);break;case`blockquote`:t+=this.renderer.blockquote(i);break;case`list`:t+=this.renderer.list(i);break;case`checkbox`:t+=this.renderer.checkbox(i);break;case`html`:t+=this.renderer.html(i);break;case`def`:t+=this.renderer.def(i);break;case`paragraph`:t+=this.renderer.paragraph(i);break;case`text`:t+=this.renderer.text(i);break;default:{let e=`Token with "`+i.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return t}parseInline(e,t=this.renderer){this.renderer.parser=this;let n=``;for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let e=this.options.extensions.renderers[i.type].call({parser:this},i);if(e!==!1||![`escape`,`html`,`link`,`image`,`strong`,`em`,`codespan`,`br`,`del`,`text`].includes(i.type)){n+=e||``;continue}}let a=i;switch(a.type){case`escape`:n+=t.text(a);break;case`html`:n+=t.html(a);break;case`link`:n+=t.link(a);break;case`image`:n+=t.image(a);break;case`checkbox`:n+=t.checkbox(a);break;case`strong`:n+=t.strong(a);break;case`em`:n+=t.em(a);break;case`codespan`:n+=t.codespan(a);break;case`br`:n+=t.br(a);break;case`del`:n+=t.del(a);break;case`text`:n+=t.text(a);break;default:{let e=`Token with "`+a.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return n}},Dx=class{options;block;constructor(e){this.options=e||Zy}static passThroughHooks=new Set([`preprocess`,`postprocess`,`processAllTokens`,`emStrongMask`]);static passThroughHooksRespectAsync=new Set([`preprocess`,`postprocess`,`processAllTokens`]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(e=this.block){return e?Cx.lex:Cx.lexInline}provideParser(e=this.block){return e?Ex.parse:Ex.parseInline}},Ox=new class{defaults=Xy();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=Ex;Renderer=wx;TextRenderer=Tx;Lexer=Cx;Tokenizer=Sx;Hooks=Dx;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case`table`:{let e=r;for(let r of e.header)n=n.concat(this.walkTokens(r.tokens,t));for(let r of e.rows)for(let e of r)n=n.concat(this.walkTokens(e.tokens,t));break}case`list`:{let e=r;n=n.concat(this.walkTokens(e.items,t));break}default:{let e=r;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach(r=>{let i=e[r].flat(1/0);n=n.concat(this.walkTokens(i,t))}):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error(`extension name required`);if(`renderer`in e){let n=t.renderers[e.name];n?t.renderers[e.name]=function(...t){let r=e.renderer.apply(this,t);return r===!1&&(r=n.apply(this,t)),r}:t.renderers[e.name]=e.renderer}if(`tokenizer`in e){if(!e.level||e.level!==`block`&&e.level!==`inline`)throw Error(`extension level must be 'block' or 'inline'`);let n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&(e.level===`block`?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:e.level===`inline`&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}`childTokens`in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),n.extensions=t),e.renderer){let t=this.defaults.renderer||new wx(this.defaults);for(let n in e.renderer){if(!(n in t))throw Error(`renderer '${n}' does not exist`);if([`options`,`parser`].includes(n))continue;let r=n,i=e.renderer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n||``}}n.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new Sx(this.defaults);for(let n in e.tokenizer){if(!(n in t))throw Error(`tokenizer '${n}' does not exist`);if([`options`,`rules`,`lexer`].includes(n))continue;let r=n,i=e.tokenizer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new Dx;for(let n in e.hooks){if(!(n in t))throw Error(`hook '${n}' does not exist`);if([`options`,`block`].includes(n))continue;let r=n,i=e.hooks[r],a=t[r];Dx.passThroughHooks.has(n)?t[r]=e=>{if(this.defaults.async&&Dx.passThroughHooksRespectAsync.has(n))return(async()=>{let n=await i.call(t,e);return a.call(t,n)})();let r=i.call(t,e);return a.call(t,r)}:t[r]=(...e)=>{if(this.defaults.async)return(async()=>{let n=await i.apply(t,e);return n===!1&&(n=await a.apply(t,e)),n})();let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,r=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(r.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return Cx.lex(e,t??this.defaults)}parser(e,t){return Ex.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},i={...this.defaults,...r},a=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&r.async===!1)return a(Error(`marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.`));if(typeof t>`u`||t===null)return a(Error(`marked(): input parameter is undefined or null`));if(typeof t!=`string`)return a(Error(`marked(): input parameter is of type `+Object.prototype.toString.call(t)+`, string expected`));if(i.hooks&&(i.hooks.options=i,i.hooks.block=e),i.async)return(async()=>{let n=i.hooks?await i.hooks.preprocess(t):t,r=await(i.hooks?await i.hooks.provideLexer(e):e?Cx.lex:Cx.lexInline)(n,i),a=i.hooks?await i.hooks.processAllTokens(r):r;i.walkTokens&&await Promise.all(this.walkTokens(a,i.walkTokens));let o=await(i.hooks?await i.hooks.provideParser(e):e?Ex.parse:Ex.parseInline)(a,i);return i.hooks?await i.hooks.postprocess(o):o})().catch(a);try{i.hooks&&(t=i.hooks.preprocess(t));let n=(i.hooks?i.hooks.provideLexer(e):e?Cx.lex:Cx.lexInline)(t,i);i.hooks&&(n=i.hooks.processAllTokens(n)),i.walkTokens&&this.walkTokens(n,i.walkTokens);let r=(i.hooks?i.hooks.provideParser(e):e?Ex.parse:Ex.parseInline)(n,i);return i.hooks&&(r=i.hooks.postprocess(r)),r}catch(e){return a(e)}}}onError(e,t){return n=>{if(n.message+=`
|
|
259
|
+
Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+px(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}};function kx(e,t){return Ox.parse(e,t)}kx.options=kx.setOptions=function(e){return Ox.setOptions(e),kx.defaults=Ox.defaults,Qy(kx.defaults),kx},kx.getDefaults=Xy,kx.defaults=Zy,kx.use=function(...e){return Ox.use(...e),kx.defaults=Ox.defaults,Qy(kx.defaults),kx},kx.walkTokens=function(e,t){return Ox.walkTokens(e,t)},kx.parseInline=Ox.parseInline,kx.Parser=Ex,kx.parser=Ex.parse,kx.Renderer=wx,kx.TextRenderer=Tx,kx.Lexer=Cx,kx.lexer=Cx.lex,kx.Tokenizer=Sx,kx.Hooks=Dx,kx.parse=kx,kx.options,kx.setOptions,kx.use,kx.walkTokens,kx.parseInline,Ex.parse,Cx.lex;var Ax=f(((e,t)=>{function n(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw Error(`map is read-only`)}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw Error(`set is read-only`)}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{let r=e[t],i=typeof r;(i===`object`||i===`function`)&&!Object.isFrozen(r)&&n(r)}),e}var r=class{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function i(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}function a(e,...t){let n=Object.create(null);for(let t in e)n[t]=e[t];return t.forEach(function(e){for(let t in e)n[t]=e[t]}),n}var o=`</span>`,s=e=>!!e.scope,c=(e,{prefix:t})=>{if(e.startsWith(`language:`))return e.replace(`language:`,`language-`);if(e.includes(`.`)){let n=e.split(`.`);return[`${t}${n.shift()}`,...n.map((e,t)=>`${e}${`_`.repeat(t+1)}`)].join(` `)}return`${t}${e}`},l=class{constructor(e,t){this.buffer=``,this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=i(e)}openNode(e){if(!s(e))return;let t=c(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){s(e)&&(this.buffer+=o)}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}},u=(e={})=>{let t={children:[]};return Object.assign(t,e),t},d=class e{constructor(){this.rootNode=u(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){let t=u({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return typeof t==`string`?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(t=>this._walk(e,t)),e.closeNode(t)),e}static _collapse(t){typeof t!=`string`&&t.children&&(t.children.every(e=>typeof e==`string`)?t.children=[t.children.join(``)]:t.children.forEach(t=>{e._collapse(t)}))}},f=class extends d{constructor(e){super(),this.options=e}addText(e){e!==``&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){let n=e.root;t&&(n.scope=`language:${t}`),this.add(n)}toHTML(){return new l(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function p(e){return e?typeof e==`string`?e:e.source:null}function m(e){return _(`(?=`,e,`)`)}function h(e){return _(`(?:`,e,`)*`)}function g(e){return _(`(?:`,e,`)?`)}function _(...e){return e.map(e=>p(e)).join(``)}function v(e){let t=e[e.length-1];return typeof t==`object`&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function y(...e){return`(`+(v(e).capture?``:`?:`)+e.map(e=>p(e)).join(`|`)+`)`}function b(e){return RegExp(e.toString()+`|`).exec(``).length-1}function x(e,t){let n=e&&e.exec(t);return n&&n.index===0}var S=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function C(e,{joinWith:t}){let n=0;return e.map(e=>{n+=1;let t=n,r=p(e),i=``;for(;r.length>0;){let e=S.exec(r);if(!e){i+=r;break}i+=r.substring(0,e.index),r=r.substring(e.index+e[0].length),e[0][0]===`\\`&&e[1]?i+=`\\`+String(Number(e[1])+t):(i+=e[0],e[0]===`(`&&n++)}return i}).map(e=>`(${e})`).join(t)}var w=/\b\B/,T=`[a-zA-Z]\\w*`,E=`[a-zA-Z_]\\w*`,D=`\\b\\d+(\\.\\d+)?`,O=`(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)`,k=`\\b(0b[01]+)`,A=`!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~`,ee=(e={})=>{let t=/^#![ ]*\//;return e.binary&&(e.begin=_(t,/.*\b/,e.binary,/\b.*/)),a({scope:`meta`,begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{e.index!==0&&t.ignoreMatch()}},e)},j={begin:`\\\\[\\s\\S]`,relevance:0},M={scope:`string`,begin:`'`,end:`'`,illegal:`\\n`,contains:[j]},N={scope:`string`,begin:`"`,end:`"`,illegal:`\\n`,contains:[j]},te={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},P=function(e,t,n={}){let r=a({scope:`comment`,begin:e,end:t,contains:[]},n);r.contains.push({scope:`doctag`,begin:`[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)`,end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let i=y(`I`,`a`,`is`,`so`,`us`,`to`,`at`,`if`,`in`,`it`,`on`,/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return r.contains.push({begin:_(/[ ]+/,`(`,i,/[.]?[:]?([.][ ]|[ ])/,`){3}`)}),r},F=P(`//`,`$`),I=P(`/\\*`,`\\*/`),L=P(`#`,`$`),ne=Object.freeze({__proto__:null,APOS_STRING_MODE:M,BACKSLASH_ESCAPE:j,BINARY_NUMBER_MODE:{scope:`number`,begin:k,relevance:0},BINARY_NUMBER_RE:k,COMMENT:P,C_BLOCK_COMMENT_MODE:I,C_LINE_COMMENT_MODE:F,C_NUMBER_MODE:{scope:`number`,begin:O,relevance:0},C_NUMBER_RE:O,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})},HASH_COMMENT_MODE:L,IDENT_RE:T,MATCH_NOTHING_RE:w,METHOD_GUARD:{begin:`\\.\\s*[a-zA-Z_]\\w*`,relevance:0},NUMBER_MODE:{scope:`number`,begin:D,relevance:0},NUMBER_RE:D,PHRASAL_WORDS_MODE:te,QUOTE_STRING_MODE:N,REGEXP_MODE:{scope:`regexp`,begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[j,{begin:/\[/,end:/\]/,relevance:0,contains:[j]}]},RE_STARTERS_RE:A,SHEBANG:ee,TITLE_MODE:{scope:`title`,begin:T,relevance:0},UNDERSCORE_IDENT_RE:E,UNDERSCORE_TITLE_MODE:{scope:`title`,begin:E,relevance:0}});function R(e,t){e.input[e.index-1]===`.`&&t.ignoreMatch()}function z(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function re(e,t){t&&e.beginKeywords&&(e.begin=`\\b(`+e.beginKeywords.split(` `).join(`|`)+`)(?!\\.)(?=\\b|\\s)`,e.__beforeBegin=R,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function B(e,t){Array.isArray(e.illegal)&&(e.illegal=y(...e.illegal))}function ie(e,t){if(e.match){if(e.begin||e.end)throw Error(`begin & end are not supported with match`);e.begin=e.match,delete e.match}}function ae(e,t){e.relevance===void 0&&(e.relevance=1)}var V=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw Error(`beforeMatch cannot be used with starts`);let n=Object.assign({},e);Object.keys(e).forEach(t=>{delete e[t]}),e.keywords=n.keywords,e.begin=_(n.beforeMatch,m(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},oe=[`of`,`and`,`for`,`in`,`not`,`or`,`if`,`then`,`parent`,`list`,`value`],se=`keyword`;function H(e,t,n=se){let r=Object.create(null);return typeof e==`string`?i(n,e.split(` `)):Array.isArray(e)?i(n,e):Object.keys(e).forEach(function(n){Object.assign(r,H(e[n],t,n))}),r;function i(e,n){t&&(n=n.map(e=>e.toLowerCase())),n.forEach(function(t){let n=t.split(`|`);r[n[0]]=[e,ce(n[0],n[1])]})}}function ce(e,t){return t?Number(t):+!le(e)}function le(e){return oe.includes(e.toLowerCase())}var ue={},de=e=>{console.error(e)},fe=(e,...t)=>{console.log(`WARN: ${e}`,...t)},pe=(e,t)=>{ue[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),ue[`${e}/${t}`]=!0)},me=Error();function he(e,t,{key:n}){let r=0,i=e[n],a={},o={};for(let e=1;e<=t.length;e++)o[e+r]=i[e],a[e+r]=!0,r+=b(t[e-1]);e[n]=o,e[n]._emit=a,e[n]._multi=!0}function ge(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw de(`skip, excludeBegin, returnBegin not compatible with beginScope: {}`),me;if(typeof e.beginScope!=`object`||e.beginScope===null)throw de(`beginScope must be object`),me;he(e,e.begin,{key:`beginScope`}),e.begin=C(e.begin,{joinWith:``})}}function _e(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw de(`skip, excludeEnd, returnEnd not compatible with endScope: {}`),me;if(typeof e.endScope!=`object`||e.endScope===null)throw de(`endScope must be object`),me;he(e,e.end,{key:`endScope`}),e.end=C(e.end,{joinWith:``})}}function ve(e){e.scope&&typeof e.scope==`object`&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function ye(e){ve(e),typeof e.beginScope==`string`&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope==`string`&&(e.endScope={_wrap:e.endScope}),ge(e),_e(e)}function be(e){function t(t,n){return new RegExp(p(t),`m`+(e.case_insensitive?`i`:``)+(e.unicodeRegex?`u`:``)+(n?`g`:``))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=b(e)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let e=this.regexes.map(e=>e[1]);this.matcherRe=t(C(e,{joinWith:`|`}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;let t=this.matcherRe.exec(e);if(!t)return null;let n=t.findIndex((e,t)=>t>0&&e!==void 0),r=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,r)}}class r{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];let t=new n;return this.rules.slice(e).forEach(([e,n])=>t.addRule(e,n)),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),t.type===`begin`&&this.count++}exec(e){let t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition()&&!(n&&n.index===this.lastIndex)){let t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}function i(e){let t=new r;return e.contains.forEach(e=>t.addRule(e.begin,{rule:e,type:`begin`})),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:`end`}),e.illegal&&t.addRule(e.illegal,{type:`illegal`}),t}function o(n,r){let a=n;if(n.isCompiled)return a;[z,ie,ye,V].forEach(e=>e(n,r)),e.compilerExtensions.forEach(e=>e(n,r)),n.__beforeBegin=null,[re,B,ae].forEach(e=>e(n,r)),n.isCompiled=!0;let s=null;return typeof n.keywords==`object`&&n.keywords.$pattern&&(n.keywords=Object.assign({},n.keywords),s=n.keywords.$pattern,delete n.keywords.$pattern),s||=/\w+/,n.keywords&&=H(n.keywords,e.case_insensitive),a.keywordPatternRe=t(s,!0),r&&(n.begin||=/\B|\b/,a.beginRe=t(a.begin),!n.end&&!n.endsWithParent&&(n.end=/\B|\b/),n.end&&(a.endRe=t(a.end)),a.terminatorEnd=p(a.end)||``,n.endsWithParent&&r.terminatorEnd&&(a.terminatorEnd+=(n.end?`|`:``)+r.terminatorEnd)),n.illegal&&(a.illegalRe=t(n.illegal)),n.contains||=[],n.contains=[].concat(...n.contains.map(function(e){return Se(e===`self`?n:e)})),n.contains.forEach(function(e){o(e,a)}),n.starts&&o(n.starts,r),a.matcher=i(a),a}if(e.compilerExtensions||=[],e.contains&&e.contains.includes(`self`))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=a(e.classNameAliases||{}),o(e)}function xe(e){return e?e.endsWithParent||xe(e.starts):!1}function Se(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return a(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:xe(e)?a(e,{starts:e.starts?a(e.starts):null}):Object.isFrozen(e)?a(e):e}var Ce=`11.11.1`,we=class extends Error{constructor(e,t){super(e),this.name=`HTMLInjectionError`,this.html=t}},Te=i,Ee=a,De=Symbol(`nomatch`),Oe=7,U=function(e){let t=Object.create(null),i=Object.create(null),a=[],o=!0,s=`Could not find the language '{}', did you forget to load/include a language module?`,c={disableAutodetect:!0,name:`Plain text`,contains:[]},l={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:`hljs-`,cssSelector:`pre code`,languages:null,__emitter:f};function u(e){return l.noHighlightRe.test(e)}function d(e){let t=e.className+` `;t+=e.parentNode?e.parentNode.className:``;let n=l.languageDetectRe.exec(t);if(n){let t=M(n[1]);return t||(fe(s.replace(`{}`,n[1])),fe(`Falling back to no-highlight mode for this block.`,e)),t?n[1]:`no-highlight`}return t.split(/\s+/).find(e=>u(e)||M(e))}function p(e,t,n){let r=``,i=``;typeof t==`object`?(r=e,n=t.ignoreIllegals,i=t.language):(pe(`10.7.0`,`highlight(lang, code, ...args) has been deprecated.`),pe(`10.7.0`,`Please use highlight(code, options) instead.
|
|
258
260
|
https://github.com/highlightjs/highlight.js/issues/2277`),i=e,r=t),n===void 0&&(n=!0);let a={code:r,language:i};L(`before:highlight`,a);let o=a.result?a.result:v(a.language,a.code,n);return o.code=a.code,L(`after:highlight`,o),o}function v(e,n,i,a){let c=Object.create(null);function u(e,t){return e.keywords[t]}function d(){if(!A.keywords){j.addText(N);return}let e=0;A.keywordPatternRe.lastIndex=0;let t=A.keywordPatternRe.exec(N),n=``;for(;t;){n+=N.substring(e,t.index);let r=D.case_insensitive?t[0].toLowerCase():t[0],i=u(A,r);if(i){let[e,a]=i;if(j.addText(n),n=``,c[r]=(c[r]||0)+1,c[r]<=Oe&&(te+=a),e.startsWith(`_`))n+=t[0];else{let n=D.classNameAliases[e]||e;m(t[0],n)}}else n+=t[0];e=A.keywordPatternRe.lastIndex,t=A.keywordPatternRe.exec(N)}n+=N.substring(e),j.addText(n)}function f(){if(N===``)return;let e=null;if(typeof A.subLanguage==`string`){if(!t[A.subLanguage]){j.addText(N);return}e=v(A.subLanguage,N,!0,ee[A.subLanguage]),ee[A.subLanguage]=e._top}else e=S(N,A.subLanguage.length?A.subLanguage:null);A.relevance>0&&(te+=e.relevance),j.__addSublanguage(e._emitter,e.language)}function p(){A.subLanguage==null?d():f(),N=``}function m(e,t){e!==``&&(j.startScope(t),j.addText(e),j.endScope())}function h(e,t){let n=1,r=t.length-1;for(;n<=r;){if(!e._emit[n]){n++;continue}let r=D.classNameAliases[e[n]]||e[n],i=t[n];r?m(i,r):(N=i,d(),N=``),n++}}function g(e,t){return e.scope&&typeof e.scope==`string`&&j.openNode(D.classNameAliases[e.scope]||e.scope),e.beginScope&&(e.beginScope._wrap?(m(N,D.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap),N=``):e.beginScope._multi&&(h(e.beginScope,t),N=``)),A=Object.create(e,{parent:{value:A}}),A}function _(e,t,n){let i=x(e.endRe,n);if(i){if(e[`on:end`]){let n=new r(e);e[`on:end`](t,n),n.isMatchIgnored&&(i=!1)}if(i){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return _(e.parent,t,n)}function y(e){return A.matcher.regexIndex===0?(N+=e[0],1):(I=!0,0)}function b(e){let t=e[0],n=e.rule,i=new r(n),a=[n.__beforeBegin,n[`on:begin`]];for(let n of a)if(n&&(n(e,i),i.isMatchIgnored))return y(t);return n.skip?N+=t:(n.excludeBegin&&(N+=t),p(),!n.returnBegin&&!n.excludeBegin&&(N=t)),g(n,e),n.returnBegin?0:t.length}function C(e){let t=e[0],r=n.substring(e.index),i=_(A,e,r);if(!i)return De;let a=A;A.endScope&&A.endScope._wrap?(p(),m(t,A.endScope._wrap)):A.endScope&&A.endScope._multi?(p(),h(A.endScope,e)):a.skip?N+=t:(a.returnEnd||a.excludeEnd||(N+=t),p(),a.excludeEnd&&(N=t));do A.scope&&j.closeNode(),!A.skip&&!A.subLanguage&&(te+=A.relevance),A=A.parent;while(A!==i.parent);return i.starts&&g(i.starts,e),a.returnEnd?0:t.length}function w(){let e=[];for(let t=A;t!==D;t=t.parent)t.scope&&e.unshift(t.scope);e.forEach(e=>j.openNode(e))}let T={};function E(t,r){let a=r&&r[0];if(N+=t,a==null)return p(),0;if(T.type===`begin`&&r.type===`end`&&T.index===r.index&&a===``){if(N+=n.slice(r.index,r.index+1),!o){let t=Error(`0 width match regex (${e})`);throw t.languageName=e,t.badRule=T.rule,t}return 1}if(T=r,r.type===`begin`)return b(r);if(r.type===`illegal`&&!i){let e=Error(`Illegal lexeme "`+a+`" for mode "`+(A.scope||`<unnamed>`)+`"`);throw e.mode=A,e}else if(r.type===`end`){let e=C(r);if(e!==De)return e}if(r.type===`illegal`&&a===``)return N+=`
|
|
259
|
-
`,1;if(F>1e5&&F>r.index*3)throw Error(`potential infinite loop, way more iterations than matches`);return N+=a,a.length}let D=M(e);if(!D)throw de(s.replace(`{}`,e)),Error(`Unknown language: "`+e+`"`);let O=be(D),k=``,A=a||O,ee={},j=new l.__emitter(l);w();let N=``,te=0,P=0,F=0,I=!1;try{if(D.__emitTokens)D.__emitTokens(n,j);else{for(A.matcher.considerAll();;){F++,I?I=!1:A.matcher.considerAll(),A.matcher.lastIndex=P;let e=A.matcher.exec(n);if(!e)break;let t=E(n.substring(P,e.index),e);P=e.index+t}E(n.substring(P))}return j.finalize(),k=j.toHTML(),{language:e,value:k,relevance:te,illegal:!1,_emitter:j,_top:A}}catch(t){if(t.message&&t.message.includes(`Illegal`))return{language:e,value:Te(n),illegal:!0,relevance:0,_illegalBy:{message:t.message,index:P,context:n.slice(P-100,P+100),mode:t.mode,resultSoFar:k},_emitter:j};if(o)return{language:e,value:Te(n),illegal:!1,relevance:0,errorRaised:t,_emitter:j,_top:A};throw t}}function b(e){let t={value:Te(e),illegal:!1,relevance:0,_top:c,_emitter:new l.__emitter(l)};return t._emitter.addText(e),t}function S(e,n){n=n||l.languages||Object.keys(t);let r=b(e),i=n.filter(M).filter(te).map(t=>v(t,e,!1));i.unshift(r);let[a,o]=i.sort((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(M(e.language).supersetOf===t.language)return 1;if(M(t.language).supersetOf===e.language)return-1}return 0}),s=a;return s.secondBest=o,s}function C(e,t,n){let r=t&&i[t]||n;e.classList.add(`hljs`),e.classList.add(`language-${r}`)}function w(e){let t=null,n=d(e);if(u(n))return;if(L(`before:highlightElement`,{el:e,language:n}),e.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",e);return}if(e.children.length>0&&(l.ignoreUnescapedHTML||(console.warn(`One of your code blocks includes unescaped HTML. This is a potentially serious security risk.`),console.warn(`https://github.com/highlightjs/highlight.js/wiki/security`),console.warn(`The element with unescaped HTML:`),console.warn(e)),l.throwUnescapedHTML))throw new we(`One of your code blocks includes unescaped HTML.`,e.innerHTML);t=e;let r=t.textContent,i=n?p(r,{language:n,ignoreIllegals:!0}):S(r);e.innerHTML=i.value,e.dataset.highlighted=`yes`,C(e,n,i.language),e.result={language:i.language,re:i.relevance,relevance:i.relevance},i.secondBest&&(e.secondBest={language:i.secondBest.language,relevance:i.secondBest.relevance}),L(`after:highlightElement`,{el:e,result:i,text:r})}function T(e){l=Ee(l,e)}let E=()=>{k(),pe(`10.6.0`,`initHighlighting() deprecated. Use highlightAll() now.`)};function D(){k(),pe(`10.6.0`,`initHighlightingOnLoad() deprecated. Use highlightAll() now.`)}let O=!1;function k(){function e(){k()}if(document.readyState===`loading`){O||window.addEventListener(`DOMContentLoaded`,e,!1),O=!0;return}document.querySelectorAll(l.cssSelector).forEach(w)}function A(n,r){let i=null;try{i=r(e)}catch(e){if(de(`Language definition for '{}' could not be registered.`.replace(`{}`,n)),o)de(e);else throw e;i=c}i.name||=n,t[n]=i,i.rawDefinition=r.bind(null,e),i.aliases&&N(i.aliases,{languageName:n})}function ee(e){delete t[e];for(let t of Object.keys(i))i[t]===e&&delete i[t]}function j(){return Object.keys(t)}function M(e){return e=(e||``).toLowerCase(),t[e]||t[i[e]]}function N(e,{languageName:t}){typeof e==`string`&&(e=[e]),e.forEach(e=>{i[e.toLowerCase()]=t})}function te(e){let t=M(e);return t&&!t.disableAutodetect}function P(e){e[`before:highlightBlock`]&&!e[`before:highlightElement`]&&(e[`before:highlightElement`]=t=>{e[`before:highlightBlock`](Object.assign({block:t.el},t))}),e[`after:highlightBlock`]&&!e[`after:highlightElement`]&&(e[`after:highlightElement`]=t=>{e[`after:highlightBlock`](Object.assign({block:t.el},t))})}function F(e){P(e),a.push(e)}function I(e){let t=a.indexOf(e);t!==-1&&a.splice(t,1)}function L(e,t){let n=e;a.forEach(function(e){e[n]&&e[n](t)})}function R(e){return pe(`10.7.0`,`highlightBlock will be removed entirely in v12.0`),pe(`10.7.0`,`Please use highlightElement now.`),w(e)}Object.assign(e,{highlight:p,highlightAuto:S,highlightAll:k,highlightElement:w,highlightBlock:R,configure:T,initHighlighting:E,initHighlightingOnLoad:D,registerLanguage:A,unregisterLanguage:ee,listLanguages:j,getLanguage:M,registerAliases:N,autoDetection:te,inherit:Ee,addPlugin:F,removePlugin:I}),e.debugMode=function(){o=!1},e.safeMode=function(){o=!0},e.versionString=Ce,e.regex={concat:_,lookahead:m,either:y,optional:g,anyNumberOfTimes:h};for(let e in ne)typeof ne[e]==`object`&&n(ne[e]);return Object.assign(e,ne),e},ke=U({});ke.newInstance=()=>U({}),t.exports=ke,ke.HighlightJS=ke,ke.default=ke})),tb=f(((e,t)=>{function n(e){let t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),r=/[\p{L}0-9._:-]+/u,i={className:`symbol`,begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},a={begin:/\s/,contains:[{className:`keyword`,begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},o=e.inherit(a,{begin:/\(/,end:/\)/}),s=e.inherit(e.APOS_STRING_MODE,{className:`string`}),c=e.inherit(e.QUOTE_STRING_MODE,{className:`string`}),l={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:`attr`,begin:r,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:`string`,endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[i]},{begin:/'/,end:/'/,contains:[i]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:`HTML, XML`,aliases:[`html`,`xhtml`,`rss`,`atom`,`xjb`,`xsd`,`xsl`,`plist`,`wsf`,`svg`],case_insensitive:!0,unicodeRegex:!0,contains:[{className:`meta`,begin:/<![a-z]/,end:/>/,relevance:10,contains:[a,c,s,o,{begin:/\[/,end:/\]/,contains:[{className:`meta`,begin:/<![a-z]/,end:/>/,contains:[a,o,c,s]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},i,{className:`meta`,end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[c]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:`tag`,begin:/<style(?=\s|>)/,end:/>/,keywords:{name:`style`},contains:[l],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:[`css`,`xml`]}},{className:`tag`,begin:/<script(?=\s|>)/,end:/>/,keywords:{name:`script`},contains:[l],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:[`javascript`,`handlebars`,`xml`]}},{className:`tag`,begin:/<>|<\/>/},{className:`tag`,begin:t.concat(/</,t.lookahead(t.concat(n,t.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:`name`,begin:n,relevance:0,starts:l}]},{className:`tag`,begin:t.concat(/<\//,t.lookahead(t.concat(n,/>/))),contains:[{className:`name`,begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}t.exports=n})),nb=f(((e,t)=>{function n(e){let t=e.regex,n={},r={begin:/\$\{/,end:/\}/,contains:[`self`,{begin:/:-/,contains:[n]}]};Object.assign(n,{className:`variable`,variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,`(?![\\w\\d])(?![$])`)},r]});let i={className:`subst`,begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},a=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:`comment`}}),o={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:`string`})]}},s={className:`string`,begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,i]};i.contains.push(s);let c={match:/\\"/},l={className:`string`,begin:/'/,end:/'/},u={match:/\\'/},d={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:`number`},e.NUMBER_MODE,n]},f=e.SHEBANG({binary:`(${[`fish`,`bash`,`zsh`,`sh`,`csh`,`ksh`,`tcsh`,`dash`,`scsh`].join(`|`)})`,relevance:10}),p={className:`function`,begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},m=[`if`,`then`,`else`,`elif`,`fi`,`time`,`for`,`while`,`until`,`in`,`do`,`done`,`case`,`esac`,`coproc`,`function`,`select`],h=[`true`,`false`],g={match:/(\/[a-z._-]+)+/},_=[`break`,`cd`,`continue`,`eval`,`exec`,`exit`,`export`,`getopts`,`hash`,`pwd`,`readonly`,`return`,`shift`,`test`,`times`,`trap`,`umask`,`unset`],v=[`alias`,`bind`,`builtin`,`caller`,`command`,`declare`,`echo`,`enable`,`help`,`let`,`local`,`logout`,`mapfile`,`printf`,`read`,`readarray`,`source`,`sudo`,`type`,`typeset`,`ulimit`,`unalias`],y=`autoload.bg.bindkey.bye.cap.chdir.clone.comparguments.compcall.compctl.compdescribe.compfiles.compgroups.compquote.comptags.comptry.compvalues.dirs.disable.disown.echotc.echoti.emulate.fc.fg.float.functions.getcap.getln.history.integer.jobs.kill.limit.log.noglob.popd.print.pushd.pushln.rehash.sched.setcap.setopt.stat.suspend.ttyctl.unfunction.unhash.unlimit.unsetopt.vared.wait.whence.where.which.zcompile.zformat.zftp.zle.zmodload.zparseopts.zprof.zpty.zregexparse.zsocket.zstyle.ztcp`.split(`.`),b=`chcon.chgrp.chown.chmod.cp.dd.df.dir.dircolors.ln.ls.mkdir.mkfifo.mknod.mktemp.mv.realpath.rm.rmdir.shred.sync.touch.truncate.vdir.b2sum.base32.base64.cat.cksum.comm.csplit.cut.expand.fmt.fold.head.join.md5sum.nl.numfmt.od.paste.ptx.pr.sha1sum.sha224sum.sha256sum.sha384sum.sha512sum.shuf.sort.split.sum.tac.tail.tr.tsort.unexpand.uniq.wc.arch.basename.chroot.date.dirname.du.echo.env.expr.factor.groups.hostid.id.link.logname.nice.nohup.nproc.pathchk.pinky.printenv.printf.pwd.readlink.runcon.seq.sleep.stat.stdbuf.stty.tee.test.timeout.tty.uname.unlink.uptime.users.who.whoami.yes`.split(`.`);return{name:`Bash`,aliases:[`sh`,`zsh`],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:m,literal:h,built_in:[..._,...v,`set`,`shopt`,...y,...b]},contains:[f,e.SHEBANG(),p,d,a,o,g,s,c,l,u,n]}}t.exports=n})),rb=f(((e,t)=>{function n(e){let t=e.regex,n=e.COMMENT(`//`,`$`,{contains:[{begin:/\\\n/}]}),r=`[a-zA-Z_]\\w*::`,i=`(decltype\\(auto\\)|`+t.optional(r)+`[a-zA-Z_]\\w*`+t.optional(`<[^<>]+>`)+`)`,a={className:`type`,variants:[{begin:`\\b[a-z\\d_]*_t\\b`},{match:/\batomic_[a-z]{3,6}\b/}]},o={className:`string`,variants:[{begin:`(u8?|U|L)?"`,end:`"`,illegal:`\\n`,contains:[e.BACKSLASH_ESCAPE]},{begin:`(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)`,end:`'`,illegal:`.`},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},s={className:`number`,variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},c={className:`meta`,begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:`if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include`},contains:[{begin:/\\\n/,relevance:0},e.inherit(o,{className:`string`}),{className:`string`,begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},l={className:`title`,begin:t.optional(r)+e.IDENT_RE,relevance:0},u=t.optional(r)+e.IDENT_RE+`\\s*\\(`,d={keyword:`asm.auto.break.case.continue.default.do.else.enum.extern.for.fortran.goto.if.inline.register.restrict.return.sizeof.typeof.typeof_unqual.struct.switch.typedef.union.volatile.while._Alignas._Alignof._Atomic._Generic._Noreturn._Static_assert._Thread_local.alignas.alignof.noreturn.static_assert.thread_local._Pragma`.split(`.`),type:`float.double.signed.unsigned.int.short.long.char.void._Bool._BitInt._Complex._Imaginary._Decimal32._Decimal64._Decimal96._Decimal128._Decimal64x._Decimal128x._Float16._Float32._Float64._Float128._Float32x._Float64x._Float128x.const.static.constexpr.complex.bool.imaginary`.split(`.`),literal:`true false NULL`,built_in:`std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr`},f=[c,a,n,e.C_BLOCK_COMMENT_MODE,s,o],p={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:`new throw return else`,end:/;/}],keywords:d,contains:f.concat([{begin:/\(/,end:/\)/,keywords:d,contains:f.concat([`self`]),relevance:0}]),relevance:0},m={begin:`(`+i+`[\\*&\\s]+)+`+u,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:d,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:`decltype\\(auto\\)`,keywords:d,relevance:0},{begin:u,returnBegin:!0,contains:[e.inherit(l,{className:`title.function`})],relevance:0},{relevance:0,match:/,/},{className:`params`,begin:/\(/,end:/\)/,keywords:d,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,o,s,a,{begin:/\(/,end:/\)/,keywords:d,relevance:0,contains:[`self`,n,e.C_BLOCK_COMMENT_MODE,o,s,a]}]},a,n,e.C_BLOCK_COMMENT_MODE,c]};return{name:`C`,aliases:[`h`],keywords:d,disableAutodetect:!0,illegal:`</`,contains:[].concat(p,m,f,[c,{begin:e.IDENT_RE+`::`,keywords:d},{className:`class`,beginKeywords:`enum class struct union`,end:/[{;:<>=]/,contains:[{beginKeywords:`final class struct`},e.TITLE_MODE]}]),exports:{preprocessor:c,strings:o,keywords:d}}}t.exports=n})),ib=f(((e,t)=>{function n(e){let t=e.regex,n=e.COMMENT(`//`,`$`,{contains:[{begin:/\\\n/}]}),r=`[a-zA-Z_]\\w*::`,i=`(?!struct)(decltype\\(auto\\)|`+t.optional(r)+`[a-zA-Z_]\\w*`+t.optional(`<[^<>]+>`)+`)`,a={className:`type`,begin:`\\b[a-z\\d_]*_t\\b`},o={className:`string`,variants:[{begin:`(u8?|U|L)?"`,end:`"`,illegal:`\\n`,contains:[e.BACKSLASH_ESCAPE]},{begin:`(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)`,end:`'`,illegal:`.`},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},s={className:`number`,variants:[{begin:`[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)`},{begin:`[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)`}],relevance:0},c={className:`meta`,begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:`if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include`},contains:[{begin:/\\\n/,relevance:0},e.inherit(o,{className:`string`}),{className:`string`,begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},l={className:`title`,begin:t.optional(r)+e.IDENT_RE,relevance:0},u=t.optional(r)+e.IDENT_RE+`\\s*\\(`,d=`alignas.alignof.and.and_eq.asm.atomic_cancel.atomic_commit.atomic_noexcept.auto.bitand.bitor.break.case.catch.class.co_await.co_return.co_yield.compl.concept.const_cast|10.consteval.constexpr.constinit.continue.decltype.default.delete.do.dynamic_cast|10.else.enum.explicit.export.extern.false.final.for.friend.goto.if.import.inline.module.mutable.namespace.new.noexcept.not.not_eq.nullptr.operator.or.or_eq.override.private.protected.public.reflexpr.register.reinterpret_cast|10.requires.return.sizeof.static_assert.static_cast|10.struct.switch.synchronized.template.this.thread_local.throw.transaction_safe.transaction_safe_dynamic.true.try.typedef.typeid.typename.union.using.virtual.volatile.while.xor.xor_eq`.split(`.`),f=[`bool`,`char`,`char16_t`,`char32_t`,`char8_t`,`double`,`float`,`int`,`long`,`short`,`void`,`wchar_t`,`unsigned`,`signed`,`const`,`static`],p=`any.auto_ptr.barrier.binary_semaphore.bitset.complex.condition_variable.condition_variable_any.counting_semaphore.deque.false_type.flat_map.flat_set.future.imaginary.initializer_list.istringstream.jthread.latch.lock_guard.multimap.multiset.mutex.optional.ostringstream.packaged_task.pair.promise.priority_queue.queue.recursive_mutex.recursive_timed_mutex.scoped_lock.set.shared_future.shared_lock.shared_mutex.shared_timed_mutex.shared_ptr.stack.string_view.stringstream.timed_mutex.thread.true_type.tuple.unique_lock.unique_ptr.unordered_map.unordered_multimap.unordered_multiset.unordered_set.variant.vector.weak_ptr.wstring.wstring_view`.split(`.`),m=`abort.abs.acos.apply.as_const.asin.atan.atan2.calloc.ceil.cerr.cin.clog.cos.cosh.cout.declval.endl.exchange.exit.exp.fabs.floor.fmod.forward.fprintf.fputs.free.frexp.fscanf.future.invoke.isalnum.isalpha.iscntrl.isdigit.isgraph.islower.isprint.ispunct.isspace.isupper.isxdigit.labs.launder.ldexp.log.log10.make_pair.make_shared.make_shared_for_overwrite.make_tuple.make_unique.malloc.memchr.memcmp.memcpy.memset.modf.move.pow.printf.putchar.puts.realloc.scanf.sin.sinh.snprintf.sprintf.sqrt.sscanf.std.stderr.stdin.stdout.strcat.strchr.strcmp.strcpy.strcspn.strlen.strncat.strncmp.strncpy.strpbrk.strrchr.strspn.strstr.swap.tan.tanh.terminate.to_underlying.tolower.toupper.vfprintf.visit.vprintf.vsprintf`.split(`.`),h={type:f,keyword:d,literal:[`NULL`,`false`,`nullopt`,`nullptr`,`true`],built_in:[`_Pragma`],_type_hints:p},g={className:`function.dispatch`,relevance:0,keywords:{_hint:m},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},_=[g,c,a,n,e.C_BLOCK_COMMENT_MODE,s,o],v={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:`new throw return else`,end:/;/}],keywords:h,contains:_.concat([{begin:/\(/,end:/\)/,keywords:h,contains:_.concat([`self`]),relevance:0}]),relevance:0},y={className:`function`,begin:`(`+i+`[\\*&\\s]+)+`+u,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:h,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:`decltype\\(auto\\)`,keywords:h,relevance:0},{begin:u,returnBegin:!0,contains:[l],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[o,s]},{relevance:0,match:/,/},{className:`params`,begin:/\(/,end:/\)/,keywords:h,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,o,s,a,{begin:/\(/,end:/\)/,keywords:h,relevance:0,contains:[`self`,n,e.C_BLOCK_COMMENT_MODE,o,s,a]}]},a,n,e.C_BLOCK_COMMENT_MODE,c]};return{name:`C++`,aliases:[`cc`,`c++`,`h++`,`hpp`,`hh`,`hxx`,`cxx`],keywords:h,illegal:`</`,classNameAliases:{"function.dispatch":`built_in`},contains:[].concat(v,y,g,_,[c,{begin:`\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)`,end:`>`,keywords:h,contains:[`self`,a]},{begin:e.IDENT_RE+`::`,keywords:h},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:`keyword`,3:`title.class`}}])}}t.exports=n})),ab=f(((e,t)=>{function n(e){let t=[`bool`,`byte`,`char`,`decimal`,`delegate`,`double`,`dynamic`,`enum`,`float`,`int`,`long`,`nint`,`nuint`,`object`,`sbyte`,`short`,`string`,`ulong`,`uint`,`ushort`],n=[`public`,`private`,`protected`,`static`,`internal`,`protected`,`abstract`,`async`,`extern`,`override`,`unsafe`,`virtual`,`new`,`sealed`,`partial`],r={keyword:`abstract.as.base.break.case.catch.class.const.continue.do.else.event.explicit.extern.finally.fixed.for.foreach.goto.if.implicit.in.interface.internal.is.lock.namespace.new.operator.out.override.params.private.protected.public.readonly.record.ref.return.scoped.sealed.sizeof.stackalloc.static.struct.switch.this.throw.try.typeof.unchecked.unsafe.using.virtual.void.volatile.while`.split(`.`).concat(`add.alias.and.ascending.args.async.await.by.descending.dynamic.equals.file.from.get.global.group.init.into.join.let.nameof.not.notnull.on.or.orderby.partial.record.remove.required.scoped.select.set.unmanaged.value|0.var.when.where.with.yield`.split(`.`)),built_in:t,literal:[`default`,`false`,`null`,`true`]},i=e.inherit(e.TITLE_MODE,{begin:`[a-zA-Z](\\.?\\w)*`}),a={className:`number`,variants:[{begin:`\\b(0b[01']+)`},{begin:`(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)`},{begin:`(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)`}],relevance:0},o={className:`string`,begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},s={className:`string`,begin:`@"`,end:`"`,contains:[{begin:`""`}]},c=e.inherit(s,{illegal:/\n/}),l={className:`subst`,begin:/\{/,end:/\}/,keywords:r},u=e.inherit(l,{illegal:/\n/}),d={className:`string`,begin:/\$"/,end:`"`,illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,u]},f={className:`string`,begin:/\$@"/,end:`"`,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:`""`},l]},p=e.inherit(f,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:`""`},u]});l.contains=[f,d,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE],u.contains=[p,d,c,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];let m={variants:[o,f,d,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},h={begin:`<`,end:`>`,contains:[{beginKeywords:`in out`},i]},g=e.IDENT_RE+`(<`+e.IDENT_RE+`(\\s*,\\s*`+e.IDENT_RE+`)*>)?(\\[\\])?`,_={begin:`@`+e.IDENT_RE,relevance:0};return{name:`C#`,aliases:[`cs`,`c#`],keywords:r,illegal:/::/,contains:[e.COMMENT(`///`,`$`,{returnBegin:!0,contains:[{className:`doctag`,variants:[{begin:`///`,relevance:0},{begin:`<!--|-->`},{begin:`</?`,end:`>`}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:`meta`,begin:`#`,end:`$`,keywords:{keyword:`if else elif endif define undef warning error line region endregion pragma checksum`}},m,a,{beginKeywords:`class interface`,relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:`where class`},i,h,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:`namespace`,relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[i,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:`record`,relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[i,h,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:`meta`,begin:`^\\s*\\[(?=[\\w])`,excludeBegin:!0,end:`\\]`,excludeEnd:!0,contains:[{className:`string`,begin:/"/,end:/"/}]},{beginKeywords:`new return throw await else`,relevance:0},{className:`function`,begin:`(`+g+`\\s+)+`+e.IDENT_RE+`\\s*(<[^=]+>\\s*)?\\(`,returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:r,contains:[{beginKeywords:n.join(` `),relevance:0},{begin:e.IDENT_RE+`\\s*(<[^=]+>\\s*)?\\(`,returnBegin:!0,contains:[e.TITLE_MODE,h],relevance:0},{match:/\(\)/},{className:`params`,begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:r,relevance:0,contains:[m,a,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},_]}}t.exports=n})),ob=f(((e,t)=>{var n=e=>({IMPORTANT:{scope:`meta`,begin:`!important`},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:`number`,begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:`built_in`,begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:`selector-attr`,begin:/\[/,end:/\]/,illegal:`$`,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:`number`,begin:e.NUMBER_RE+`(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?`,relevance:0},CSS_VARIABLE:{className:`attr`,begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),r=`a.abbr.address.article.aside.audio.b.blockquote.body.button.canvas.caption.cite.code.dd.del.details.dfn.div.dl.dt.em.fieldset.figcaption.figure.footer.form.h1.h2.h3.h4.h5.h6.header.hgroup.html.i.iframe.img.input.ins.kbd.label.legend.li.main.mark.menu.nav.object.ol.optgroup.option.p.picture.q.quote.samp.section.select.source.span.strong.summary.sup.table.tbody.td.textarea.tfoot.th.thead.time.tr.ul.var.video`.split(`.`),i=`defs.g.marker.mask.pattern.svg.switch.symbol.feBlend.feColorMatrix.feComponentTransfer.feComposite.feConvolveMatrix.feDiffuseLighting.feDisplacementMap.feFlood.feGaussianBlur.feImage.feMerge.feMorphology.feOffset.feSpecularLighting.feTile.feTurbulence.linearGradient.radialGradient.stop.circle.ellipse.image.line.path.polygon.polyline.rect.text.use.textPath.tspan.foreignObject.clipPath`.split(`.`),a=[...r,...i],o=`any-hover.any-pointer.aspect-ratio.color.color-gamut.color-index.device-aspect-ratio.device-height.device-width.display-mode.forced-colors.grid.height.hover.inverted-colors.monochrome.orientation.overflow-block.overflow-inline.pointer.prefers-color-scheme.prefers-contrast.prefers-reduced-motion.prefers-reduced-transparency.resolution.scan.scripting.update.width.min-width.max-width.min-height.max-height`.split(`.`).sort().reverse(),s=`active.any-link.blank.checked.current.default.defined.dir.disabled.drop.empty.enabled.first.first-child.first-of-type.fullscreen.future.focus.focus-visible.focus-within.has.host.host-context.hover.indeterminate.in-range.invalid.is.lang.last-child.last-of-type.left.link.local-link.not.nth-child.nth-col.nth-last-child.nth-last-col.nth-last-of-type.nth-of-type.only-child.only-of-type.optional.out-of-range.past.placeholder-shown.read-only.read-write.required.right.root.scope.target.target-within.user-invalid.valid.visited.where`.split(`.`).sort().reverse(),c=[`after`,`backdrop`,`before`,`cue`,`cue-region`,`first-letter`,`first-line`,`grammar-error`,`marker`,`part`,`placeholder`,`selection`,`slotted`,`spelling-error`].sort().reverse(),l=`accent-color.align-content.align-items.align-self.alignment-baseline.all.anchor-name.animation.animation-composition.animation-delay.animation-direction.animation-duration.animation-fill-mode.animation-iteration-count.animation-name.animation-play-state.animation-range.animation-range-end.animation-range-start.animation-timeline.animation-timing-function.appearance.aspect-ratio.backdrop-filter.backface-visibility.background.background-attachment.background-blend-mode.background-clip.background-color.background-image.background-origin.background-position.background-position-x.background-position-y.background-repeat.background-size.baseline-shift.block-size.border.border-block.border-block-color.border-block-end.border-block-end-color.border-block-end-style.border-block-end-width.border-block-start.border-block-start-color.border-block-start-style.border-block-start-width.border-block-style.border-block-width.border-bottom.border-bottom-color.border-bottom-left-radius.border-bottom-right-radius.border-bottom-style.border-bottom-width.border-collapse.border-color.border-end-end-radius.border-end-start-radius.border-image.border-image-outset.border-image-repeat.border-image-slice.border-image-source.border-image-width.border-inline.border-inline-color.border-inline-end.border-inline-end-color.border-inline-end-style.border-inline-end-width.border-inline-start.border-inline-start-color.border-inline-start-style.border-inline-start-width.border-inline-style.border-inline-width.border-left.border-left-color.border-left-style.border-left-width.border-radius.border-right.border-right-color.border-right-style.border-right-width.border-spacing.border-start-end-radius.border-start-start-radius.border-style.border-top.border-top-color.border-top-left-radius.border-top-right-radius.border-top-style.border-top-width.border-width.bottom.box-align.box-decoration-break.box-direction.box-flex.box-flex-group.box-lines.box-ordinal-group.box-orient.box-pack.box-shadow.box-sizing.break-after.break-before.break-inside.caption-side.caret-color.clear.clip.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.color-scheme.column-count.column-fill.column-gap.column-rule.column-rule-color.column-rule-style.column-rule-width.column-span.column-width.columns.contain.contain-intrinsic-block-size.contain-intrinsic-height.contain-intrinsic-inline-size.contain-intrinsic-size.contain-intrinsic-width.container.container-name.container-type.content.content-visibility.counter-increment.counter-reset.counter-set.cue.cue-after.cue-before.cursor.cx.cy.direction.display.dominant-baseline.empty-cells.enable-background.field-sizing.fill.fill-opacity.fill-rule.filter.flex.flex-basis.flex-direction.flex-flow.flex-grow.flex-shrink.flex-wrap.float.flood-color.flood-opacity.flow.font.font-display.font-family.font-feature-settings.font-kerning.font-language-override.font-optical-sizing.font-palette.font-size.font-size-adjust.font-smooth.font-smoothing.font-stretch.font-style.font-synthesis.font-synthesis-position.font-synthesis-small-caps.font-synthesis-style.font-synthesis-weight.font-variant.font-variant-alternates.font-variant-caps.font-variant-east-asian.font-variant-emoji.font-variant-ligatures.font-variant-numeric.font-variant-position.font-variation-settings.font-weight.forced-color-adjust.gap.glyph-orientation-horizontal.glyph-orientation-vertical.grid.grid-area.grid-auto-columns.grid-auto-flow.grid-auto-rows.grid-column.grid-column-end.grid-column-start.grid-gap.grid-row.grid-row-end.grid-row-start.grid-template.grid-template-areas.grid-template-columns.grid-template-rows.hanging-punctuation.height.hyphenate-character.hyphenate-limit-chars.hyphens.icon.image-orientation.image-rendering.image-resolution.ime-mode.initial-letter.initial-letter-align.inline-size.inset.inset-area.inset-block.inset-block-end.inset-block-start.inset-inline.inset-inline-end.inset-inline-start.isolation.justify-content.justify-items.justify-self.kerning.left.letter-spacing.lighting-color.line-break.line-height.line-height-step.list-style.list-style-image.list-style-position.list-style-type.margin.margin-block.margin-block-end.margin-block-start.margin-bottom.margin-inline.margin-inline-end.margin-inline-start.margin-left.margin-right.margin-top.margin-trim.marker.marker-end.marker-mid.marker-start.marks.mask.mask-border.mask-border-mode.mask-border-outset.mask-border-repeat.mask-border-slice.mask-border-source.mask-border-width.mask-clip.mask-composite.mask-image.mask-mode.mask-origin.mask-position.mask-repeat.mask-size.mask-type.masonry-auto-flow.math-depth.math-shift.math-style.max-block-size.max-height.max-inline-size.max-width.min-block-size.min-height.min-inline-size.min-width.mix-blend-mode.nav-down.nav-index.nav-left.nav-right.nav-up.none.normal.object-fit.object-position.offset.offset-anchor.offset-distance.offset-path.offset-position.offset-rotate.opacity.order.orphans.outline.outline-color.outline-offset.outline-style.outline-width.overflow.overflow-anchor.overflow-block.overflow-clip-margin.overflow-inline.overflow-wrap.overflow-x.overflow-y.overlay.overscroll-behavior.overscroll-behavior-block.overscroll-behavior-inline.overscroll-behavior-x.overscroll-behavior-y.padding.padding-block.padding-block-end.padding-block-start.padding-bottom.padding-inline.padding-inline-end.padding-inline-start.padding-left.padding-right.padding-top.page.page-break-after.page-break-before.page-break-inside.paint-order.pause.pause-after.pause-before.perspective.perspective-origin.place-content.place-items.place-self.pointer-events.position.position-anchor.position-visibility.print-color-adjust.quotes.r.resize.rest.rest-after.rest-before.right.rotate.row-gap.ruby-align.ruby-position.scale.scroll-behavior.scroll-margin.scroll-margin-block.scroll-margin-block-end.scroll-margin-block-start.scroll-margin-bottom.scroll-margin-inline.scroll-margin-inline-end.scroll-margin-inline-start.scroll-margin-left.scroll-margin-right.scroll-margin-top.scroll-padding.scroll-padding-block.scroll-padding-block-end.scroll-padding-block-start.scroll-padding-bottom.scroll-padding-inline.scroll-padding-inline-end.scroll-padding-inline-start.scroll-padding-left.scroll-padding-right.scroll-padding-top.scroll-snap-align.scroll-snap-stop.scroll-snap-type.scroll-timeline.scroll-timeline-axis.scroll-timeline-name.scrollbar-color.scrollbar-gutter.scrollbar-width.shape-image-threshold.shape-margin.shape-outside.shape-rendering.speak.speak-as.src.stop-color.stop-opacity.stroke.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke-width.tab-size.table-layout.text-align.text-align-all.text-align-last.text-anchor.text-combine-upright.text-decoration.text-decoration-color.text-decoration-line.text-decoration-skip.text-decoration-skip-ink.text-decoration-style.text-decoration-thickness.text-emphasis.text-emphasis-color.text-emphasis-position.text-emphasis-style.text-indent.text-justify.text-orientation.text-overflow.text-rendering.text-shadow.text-size-adjust.text-transform.text-underline-offset.text-underline-position.text-wrap.text-wrap-mode.text-wrap-style.timeline-scope.top.touch-action.transform.transform-box.transform-origin.transform-style.transition.transition-behavior.transition-delay.transition-duration.transition-property.transition-timing-function.translate.unicode-bidi.user-modify.user-select.vector-effect.vertical-align.view-timeline.view-timeline-axis.view-timeline-inset.view-timeline-name.view-transition-name.visibility.voice-balance.voice-duration.voice-family.voice-pitch.voice-range.voice-rate.voice-stress.voice-volume.white-space.white-space-collapse.widows.width.will-change.word-break.word-spacing.word-wrap.writing-mode.x.y.z-index.zoom`.split(`.`).sort().reverse();function u(e){let t=e.regex,r=n(e),i={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},u=/@-?\w[\w]*(-\w+)*/,d=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:`CSS`,case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:`from to`},classNameAliases:{keyframePosition:`selector-tag`},contains:[r.BLOCK_COMMENT,i,r.CSS_NUMBER_MODE,{className:`selector-id`,begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:`selector-class`,begin:`\\.[a-zA-Z-][a-zA-Z0-9_-]*`,relevance:0},r.ATTRIBUTE_SELECTOR_MODE,{className:`selector-pseudo`,variants:[{begin:`:(`+s.join(`|`)+`)`},{begin:`:(:)?(`+c.join(`|`)+`)`}]},r.CSS_VARIABLE,{className:`attribute`,begin:`\\b(`+l.join(`|`)+`)\\b`},{begin:/:/,end:/[;}{]/,contains:[r.BLOCK_COMMENT,r.HEXCOLOR,r.IMPORTANT,r.CSS_NUMBER_MODE,...d,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:`url data-uri`},contains:[...d,{className:`string`,begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},r.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:`[{;]`,relevance:0,illegal:/:/,contains:[{className:`keyword`,begin:u},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:`and or not only`,attribute:o.join(` `)},contains:[{begin:/[a-z-]+(?=:)/,className:`attribute`},...d,r.CSS_NUMBER_MODE]}]},{className:`selector-tag`,begin:`\\b(`+a.join(`|`)+`)\\b`}]}}t.exports=u})),sb=f(((e,t)=>{function n(e){let t=e.regex,n={begin:/<\/?[A-Za-z_]/,end:`>`,subLanguage:`xml`,relevance:0},r={begin:`^[-\\*]{3,}`,end:`$`},i={className:`code`,variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:`(~{3,})[^~](.|\\n)*?\\1~*[ ]*`},{begin:"```",end:"```+[ ]*$"},{begin:`~~~`,end:`~~~+[ ]*$`},{begin:"`.+?`"},{begin:`(?=^( {4}|\\t))`,contains:[{begin:`^( {4}|\\t)`,end:`(\\n)$`}],relevance:0}]},a={className:`bullet`,begin:`^[ ]*([*+-]|(\\d+\\.))(?=\\s+)`,end:`\\s+`,excludeEnd:!0},o={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:`symbol`,begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:`link`,begin:/:\s*/,end:/$/,excludeBegin:!0}]},s={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:`string`,relevance:0,begin:`\\[`,end:`\\]`,excludeBegin:!0,returnEnd:!0},{className:`link`,relevance:0,begin:`\\]\\(`,end:`\\)`,excludeBegin:!0,excludeEnd:!0},{className:`symbol`,relevance:0,begin:`\\]\\[`,end:`\\]`,excludeBegin:!0,excludeEnd:!0}]},c={className:`strong`,contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},l={className:`emphasis`,contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},u=e.inherit(c,{contains:[]}),d=e.inherit(l,{contains:[]});c.contains.push(d),l.contains.push(u);let f=[n,s];return[c,l,u,d].forEach(e=>{e.contains=e.contains.concat(f)}),f=f.concat(c,l),{name:`Markdown`,aliases:[`md`,`mkdown`,`mkd`],contains:[{className:`section`,variants:[{begin:`^#{1,6}`,end:`$`,contains:f},{begin:`(?=^.+?\\n[=-]{2,}$)`,contains:[{begin:`^[=-]*$`},{begin:`^`,end:`\\n`,contains:f}]}]},n,a,c,l,{className:`quote`,begin:`^>\\s+`,contains:f,end:`$`},i,r,s,o,{scope:`literal`,match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}t.exports=n})),cb=f(((e,t)=>{function n(e){let t=e.regex;return{name:`Diff`,aliases:[`patch`],contains:[{className:`meta`,relevance:10,match:t.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:`comment`,variants:[{begin:t.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:`addition`,begin:/^\+/,end:/$/},{className:`deletion`,begin:/^-/,end:/$/},{className:`addition`,begin:/^!/,end:/$/}]}}t.exports=n})),lb=f(((e,t)=>{function n(e){let t=e.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",r=t.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=t.concat(r,/(::\w+)*/),a={"variable.constant":[`__FILE__`,`__LINE__`,`__ENCODING__`],"variable.language":[`self`,`super`],keyword:`alias.and.begin.BEGIN.break.case.class.defined.do.else.elsif.end.END.ensure.for.if.in.module.next.not.or.redo.require.rescue.retry.return.then.undef.unless.until.when.while.yield.include.extend.prepend.public.private.protected.raise.throw`.split(`.`),built_in:[`proc`,`lambda`,`attr_accessor`,`attr_reader`,`attr_writer`,`define_method`,`private_constant`,`module_function`],literal:[`true`,`false`,`nil`]},o={className:`doctag`,begin:`@[A-Za-z]+`},s={begin:`#<`,end:`>`},c=[e.COMMENT(`#`,`$`,{contains:[o]}),e.COMMENT(`^=begin`,`^=end`,{contains:[o],relevance:10}),e.COMMENT(`^__END__`,e.MATCH_NOTHING_RE)],l={className:`subst`,begin:/#\{/,end:/\}/,keywords:a},u={className:`string`,contains:[e.BACKSLASH_ESCAPE,l],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:t.concat(/<<[-~]?'?/,t.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,l]})]}]},d=`[0-9](_?[0-9])*`,f={className:`number`,relevance:0,variants:[{begin:`\\b([1-9](_?[0-9])*|0)(\\.(${d}))?([eE][+-]?(${d})|r)?i?\\b`},{begin:`\\b0[dD][0-9](_?[0-9])*r?i?\\b`},{begin:`\\b0[bB][0-1](_?[0-1])*r?i?\\b`},{begin:`\\b0[oO][0-7](_?[0-7])*r?i?\\b`},{begin:`\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b`},{begin:`\\b0(_?[0-7])+r?i?\\b`}]},p={variants:[{match:/\(\)/},{className:`params`,begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:a}]},m=[u,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{match:[/\b(class|module)\s+/,i]}],scope:{2:`title.class`,4:`title.class.inherited`},keywords:a},{match:[/(include|extend)\s+/,i],scope:{2:`title.class`},keywords:a},{relevance:0,match:[i,/\.new[. (]/],scope:{1:`title.class`}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:`variable.constant`},{relevance:0,match:r,scope:`title.class`},{match:[/def/,/\s+/,n],scope:{1:`keyword`,3:`title.function`},contains:[p]},{begin:e.IDENT_RE+`::`},{className:`symbol`,begin:e.UNDERSCORE_IDENT_RE+`(!|\\?)?:`,relevance:0},{className:`symbol`,begin:`:(?!\\s)`,contains:[u,{begin:n}],relevance:0},f,{className:`variable`,begin:`(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])`},{className:`params`,begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:a},{begin:`(`+e.RE_STARTERS_RE+`|unless)\\s*`,keywords:`unless`,contains:[{className:`regexp`,contains:[e.BACKSLASH_ESCAPE,l],illegal:/\n/,variants:[{begin:`/`,end:`/[a-z]*`},{begin:/%r\{/,end:/\}[a-z]*/},{begin:`%r\\(`,end:`\\)[a-z]*`},{begin:`%r!`,end:`![a-z]*`},{begin:`%r\\[`,end:`\\][a-z]*`}]}].concat(s,c),relevance:0}].concat(s,c);l.contains=m,p.contains=m;let h=[{begin:/^\s*=>/,starts:{end:`$`,contains:m}},{className:`meta.prompt`,begin:`^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])`,starts:{end:`$`,keywords:a,contains:m}}];return c.unshift(s),{name:`Ruby`,aliases:[`rb`,`gemspec`,`podspec`,`thor`,`irb`],keywords:a,illegal:/\/\*/,contains:[e.SHEBANG({binary:`ruby`})].concat(h,c,m)}}t.exports=n})),ub=f(((e,t)=>{function n(e){let t={keyword:[`break`,`case`,`chan`,`const`,`continue`,`default`,`defer`,`else`,`fallthrough`,`for`,`func`,`go`,`goto`,`if`,`import`,`interface`,`map`,`package`,`range`,`return`,`select`,`struct`,`switch`,`type`,`var`],type:[`bool`,`byte`,`complex64`,`complex128`,`error`,`float32`,`float64`,`int8`,`int16`,`int32`,`int64`,`string`,`uint8`,`uint16`,`uint32`,`uint64`,`int`,`uint`,`uintptr`,`rune`],literal:[`true`,`false`,`iota`,`nil`],built_in:[`append`,`cap`,`close`,`complex`,`copy`,`imag`,`len`,`make`,`new`,`panic`,`print`,`println`,`real`,`recover`,`delete`]};return{name:`Go`,aliases:[`golang`],keywords:t,illegal:`</`,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:`string`,variants:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:`number`,variants:[{match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0},{match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{begin:/:=/},{className:`function`,beginKeywords:`func`,end:`\\s*(\\{|$)`,excludeEnd:!0,contains:[e.TITLE_MODE,{className:`params`,begin:/\(/,end:/\)/,endsParent:!0,keywords:t,illegal:/["']/}]}]}}t.exports=n})),db=f(((e,t)=>{function n(e){let t=e.regex;return{name:`GraphQL`,aliases:[`gql`],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:[`query`,`mutation`,`subscription`,`type`,`input`,`schema`,`directive`,`interface`,`union`,`scalar`,`fragment`,`enum`,`on`],literal:[`true`,`false`,`null`]},contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{scope:`punctuation`,match:/[.]{3}/,relevance:0},{scope:`punctuation`,begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:`variable`,begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:`meta`,match:/@\w+/,excludeEnd:!0},{scope:`symbol`,begin:t.concat(/[_A-Za-z][_0-9A-Za-z]*/,t.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}}t.exports=n})),fb=f(((e,t)=>{function n(e){let t=e.regex,n={className:`number`,relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:e.NUMBER_RE}]},r=e.COMMENT();r.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];let i={className:`variable`,variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},a={className:`literal`,begin:/\bon|off|true|false|yes|no\b/},o={className:`string`,contains:[e.BACKSLASH_ESCAPE],variants:[{begin:`'''`,end:`'''`,relevance:10},{begin:`"""`,end:`"""`,relevance:10},{begin:`"`,end:`"`},{begin:`'`,end:`'`}]},s={begin:/\[/,end:/\]/,contains:[r,a,i,o,n,`self`],relevance:0},c=t.either(/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/);return{name:`TOML, also INI`,aliases:[`toml`],case_insensitive:!0,illegal:/\S/,contains:[r,{className:`section`,begin:/\[+/,end:/\]+/},{begin:t.concat(c,`(\\s*\\.\\s*`,c,`)*`,t.lookahead(/\s*=\s*[^#\s]/)),className:`attr`,starts:{end:/$/,contains:[r,s,a,i,o,n]}}]}}t.exports=n})),pb=f(((e,t)=>{var n=`[0-9](_*[0-9])*`,r=`\\.(${n})`,i=`[0-9a-fA-F](_*[0-9a-fA-F])*`,a={className:`number`,variants:[{begin:`(\\b(${n})((${r})|\\.)?|(${r}))[eE][+-]?(${n})[fFdD]?\\b`},{begin:`\\b(${n})((${r})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${r})[fFdD]?\\b`},{begin:`\\b(${n})[fFdD]\\b`},{begin:`\\b0[xX]((${i})\\.?|(${i})?\\.(${i}))[pP][+-]?(${n})[fFdD]?\\b`},{begin:`\\b(0|[1-9](_*[0-9])*)[lL]?\\b`},{begin:`\\b0[xX](${i})[lL]?\\b`},{begin:`\\b0(_*[0-7])*[lL]?\\b`},{begin:`\\b0[bB][01](_*[01])*[lL]?\\b`}],relevance:0};function o(e,t,n){return n===-1?``:e.replace(t,r=>o(e,t,n-1))}function s(e){let t=e.regex,n=`[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*`,r=n+o(`(?:<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*~~~(?:\\s*,\\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*~~~)*>)?`,/~~~/g,2),i={keyword:`synchronized.abstract.private.var.static.if.const .for.while.strictfp.finally.protected.import.native.final.void.enum.else.break.transient.catch.instanceof.volatile.case.assert.package.default.public.try.switch.continue.throws.protected.public.private.module.requires.exports.do.sealed.yield.permits.goto.when`.split(`.`),literal:[`false`,`true`,`null`],type:[`char`,`boolean`,`long`,`float`,`int`,`byte`,`short`,`double`],built_in:[`super`,`this`]},s={className:`meta`,begin:`@[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*`,contains:[{begin:/\(/,end:/\)/,contains:[`self`]}]},c={className:`params`,begin:/\(/,end:/\)/,keywords:i,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:`Java`,aliases:[`jsp`],keywords:i,illegal:/<\/|#/,contains:[e.COMMENT(`/\\*\\*`,`\\*/`,{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:`doctag`,begin:`@[A-Za-z]+`}]}),{begin:/import java\.[a-z]+\./,keywords:`import`,relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:`string`,contains:[e.BACKSLASH_ESCAPE]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,n],className:{1:`keyword`,3:`title.class`}},{match:/non-sealed/,scope:`keyword`},{begin:[t.concat(/(?!else)/,n),/\s+/,n,/\s+/,/=(?!=)/],className:{1:`type`,3:`variable`,5:`operator`}},{begin:[/record/,/\s+/,n],className:{1:`keyword`,3:`title.class`},contains:[c,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:`new throw return else`,relevance:0},{begin:[`(?:`+r+`\\s+)`,e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:`title.function`},keywords:i,contains:[{className:`params`,begin:/\(/,end:/\)/,keywords:i,relevance:0,contains:[s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},a,s]}}t.exports=s})),mb=f(((e,t)=>{var n=`[A-Za-z$_][0-9A-Za-z$_]*`,r=`as.in.of.if.for.while.finally.var.new.function.do.return.void.else.break.catch.instanceof.with.throw.case.default.try.switch.continue.typeof.delete.let.yield.const.class.debugger.async.await.static.import.from.export.extends.using`.split(`.`),i=[`true`,`false`,`null`,`undefined`,`NaN`,`Infinity`],a=`Object.Function.Boolean.Symbol.Math.Date.Number.BigInt.String.RegExp.Array.Float32Array.Float64Array.Int8Array.Uint8Array.Uint8ClampedArray.Int16Array.Int32Array.Uint16Array.Uint32Array.BigInt64Array.BigUint64Array.Set.Map.WeakSet.WeakMap.ArrayBuffer.SharedArrayBuffer.Atomics.DataView.JSON.Promise.Generator.GeneratorFunction.AsyncFunction.Reflect.Proxy.Intl.WebAssembly`.split(`.`),o=[`Error`,`EvalError`,`InternalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`],s=[`setInterval`,`setTimeout`,`clearInterval`,`clearTimeout`,`require`,`exports`,`eval`,`isFinite`,`isNaN`,`parseFloat`,`parseInt`,`decodeURI`,`decodeURIComponent`,`encodeURI`,`encodeURIComponent`,`escape`,`unescape`],c=[`arguments`,`this`,`super`,`console`,`window`,`document`,`localStorage`,`sessionStorage`,`module`,`global`],l=[].concat(s,a,o);function u(e){let t=e.regex,u=(e,{after:t})=>{let n=`</`+e[0].slice(1);return e.input.indexOf(n,t)!==-1},d=n,f={begin:`<>`,end:`</>`},p=/<[A-Za-z0-9\\._:-]+\s*\/>/,m={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,t)=>{let n=e[0].length+e.index,r=e.input[n];if(r===`<`||r===`,`){t.ignoreMatch();return}r===`>`&&(u(e,{after:n})||t.ignoreMatch());let i,a=e.input.substring(n);if(i=a.match(/^\s*=/)){t.ignoreMatch();return}if((i=a.match(/^\s+extends\s+/))&&i.index===0){t.ignoreMatch();return}}},h={$pattern:n,keyword:r,literal:i,built_in:l,"variable.language":c},g=`[0-9](_?[0-9])*`,_=`\\.(${g})`,v=`0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`,y={className:`number`,variants:[{begin:`(\\b(${v})((${_})|\\.)?|(${_}))[eE][+-]?(${g})\\b`},{begin:`\\b(${v})\\b((${_})\\b|\\.)?|(${_})\\b`},{begin:`\\b(0|[1-9](_?[0-9])*)n\\b`},{begin:`\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b`},{begin:`\\b0[bB][0-1](_?[0-1])*n?\\b`},{begin:`\\b0[oO][0-7](_?[0-7])*n?\\b`},{begin:`\\b0[0-7]+n?\\b`}],relevance:0},b={className:`subst`,begin:`\\$\\{`,end:`\\}`,keywords:h,contains:[]},x={begin:".?html`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,b],subLanguage:`xml`}},S={begin:".?css`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,b],subLanguage:`css`}},C={begin:".?gql`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,b],subLanguage:`graphql`}},w={className:`string`,begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,b]},T={className:`comment`,variants:[e.COMMENT(/\/\*\*(?!\/)/,`\\*/`,{relevance:0,contains:[{begin:`(?=@[A-Za-z]+)`,relevance:0,contains:[{className:`doctag`,begin:`@[A-Za-z]+`},{className:`type`,begin:`\\{`,end:`\\}`,excludeEnd:!0,excludeBegin:!0,relevance:0},{className:`variable`,begin:`[A-Za-z$_][0-9A-Za-z$_]*(?=\\s*(-)|$)`,endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},E=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,x,S,C,w,{match:/\$\d+/},y];b.contains=E.concat({begin:/\{/,end:/\}/,keywords:h,contains:[`self`].concat(E)});let D=[].concat(T,b.contains),O=D.concat([{begin:/(\s*)\(/,end:/\)/,keywords:h,contains:[`self`].concat(D)}]),k={className:`params`,begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:h,contains:O},A={variants:[{match:[/class/,/\s+/,d,/\s+/,/extends/,/\s+/,t.concat(d,`(`,t.concat(/\./,d),`)*`)],scope:{1:`keyword`,3:`title.class`,5:`keyword`,7:`title.class.inherited`}},{match:[/class/,/\s+/,d],scope:{1:`keyword`,3:`title.class`}}]},ee={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:`title.class`,keywords:{_:[...a,...o]}},j={label:`use_strict`,className:`meta`,relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},M={variants:[{match:[/function/,/\s+/,d,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:`keyword`,3:`title.function`},label:`func.def`,contains:[k],illegal:/%/},N={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:`variable.constant`};function te(e){return t.concat(`(?!`,e.join(`|`),`)`)}let P={match:t.concat(/\b/,te([...s,`super`,`import`].map(e=>`${e}\\s*\\(`)),d,t.lookahead(/\s*\(/)),className:`title.function`,relevance:0},F={begin:t.concat(/\./,t.lookahead(t.concat(d,/(?![0-9A-Za-z$_(])/))),end:d,excludeBegin:!0,keywords:`prototype`,className:`property`,relevance:0},I={match:[/get|set/,/\s+/,d,/(?=\()/],className:{1:`keyword`,3:`title.function`},contains:[{begin:/\(\)/},k]},L=`(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|`+e.UNDERSCORE_IDENT_RE+`)\\s*=>`,ne={match:[/const|var|let/,/\s+/,d,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(L)],keywords:`async`,className:{1:`keyword`,3:`title.function`},contains:[k]};return{name:`JavaScript`,aliases:[`js`,`jsx`,`mjs`,`cjs`],keywords:h,exports:{PARAMS_CONTAINS:O,CLASS_REFERENCE:ee},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:`shebang`,binary:`node`,relevance:5}),j,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,x,S,C,w,T,{match:/\$\d+/},y,ee,{scope:`attr`,match:d+t.lookahead(`:`),relevance:0},ne,{begin:`(`+e.RE_STARTERS_RE+`|\\b(case|return|throw)\\b)\\s*`,keywords:`return throw case`,relevance:0,contains:[T,e.REGEXP_MODE,{className:`function`,begin:L,returnBegin:!0,end:`\\s*=>`,contains:[{className:`params`,variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:h,contains:O}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:f.begin,end:f.end},{match:p},{begin:m.begin,"on:begin":m.isTrulyOpeningTag,end:m.end}],subLanguage:`xml`,contains:[{begin:m.begin,end:m.end,skip:!0,contains:[`self`]}]}]},M,{beginKeywords:`while if switch catch for`},{begin:`\\b(?!function)`+e.UNDERSCORE_IDENT_RE+`\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{`,returnBegin:!0,label:`func.def`,contains:[k,e.inherit(e.TITLE_MODE,{begin:d,className:`title.function`})]},{match:/\.\.\./,relevance:0},F,{match:`\\$[A-Za-z$_][0-9A-Za-z$_]*`,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:`title.function`},contains:[k]},P,N,A,I,{match:/\$[(.]/}]}}t.exports=u})),hb=f(((e,t)=>{function n(e){let t={className:`attr`,begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:`punctuation`,relevance:0},r=[`true`,`false`,`null`],i={scope:`literal`,beginKeywords:r.join(` `)};return{name:`JSON`,aliases:[`jsonc`],keywords:{literal:r},contains:[t,n,e.QUOTE_STRING_MODE,i,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:`\\S`}}t.exports=n})),gb=f(((e,t)=>{var n=`[0-9](_*[0-9])*`,r=`\\.(${n})`,i=`[0-9a-fA-F](_*[0-9a-fA-F])*`,a={className:`number`,variants:[{begin:`(\\b(${n})((${r})|\\.)?|(${r}))[eE][+-]?(${n})[fFdD]?\\b`},{begin:`\\b(${n})((${r})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${r})[fFdD]?\\b`},{begin:`\\b(${n})[fFdD]\\b`},{begin:`\\b0[xX]((${i})\\.?|(${i})?\\.(${i}))[pP][+-]?(${n})[fFdD]?\\b`},{begin:`\\b(0|[1-9](_*[0-9])*)[lL]?\\b`},{begin:`\\b0[xX](${i})[lL]?\\b`},{begin:`\\b0(_*[0-7])*[lL]?\\b`},{begin:`\\b0[bB][01](_*[01])*[lL]?\\b`}],relevance:0};function o(e){let t={keyword:`abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual`,built_in:`Byte Short Char Int Long Boolean Float Double Void Unit Nothing`,literal:`true false null`},n={className:`keyword`,begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:`symbol`,begin:/@\w+/}]}},r={className:`symbol`,begin:e.UNDERSCORE_IDENT_RE+`@`},i={className:`subst`,begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},o={className:`variable`,begin:`\\$`+e.UNDERSCORE_IDENT_RE},s={className:`string`,variants:[{begin:`"""`,end:`"""(?=[^"])`,contains:[o,i]},{begin:`'`,end:`'`,illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:`"`,end:`"`,illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,o,i]}]};i.contains.push(s);let c={className:`meta`,begin:`@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*`+e.UNDERSCORE_IDENT_RE+`)?`},l={className:`meta`,begin:`@`+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(s,{className:`string`}),`self`]}]},u=a,d=e.COMMENT(`/\\*`,`\\*/`,{contains:[e.C_BLOCK_COMMENT_MODE]}),f={variants:[{className:`type`,begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},p=f;return p.variants[1].contains=[f],f.variants[1].contains=[p],{name:`Kotlin`,aliases:[`kt`,`kts`],keywords:t,contains:[e.COMMENT(`/\\*\\*`,`\\*/`,{relevance:0,contains:[{className:`doctag`,begin:`@[A-Za-z]+`}]}),e.C_LINE_COMMENT_MODE,d,n,r,c,l,{className:`function`,beginKeywords:`fun`,end:`[(]|$`,returnBegin:!0,excludeEnd:!0,keywords:t,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+`\\s*\\(`,returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:`type`,begin:/</,end:/>/,keywords:`reified`,relevance:0},{className:`params`,begin:/\(/,end:/\)/,endsParent:!0,keywords:t,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[f,e.C_LINE_COMMENT_MODE,d],relevance:0},e.C_LINE_COMMENT_MODE,d,c,l,s,e.C_NUMBER_MODE]},d]},{begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{3:`title.class`},keywords:`class interface trait`,end:/[:\{(]|$/,excludeEnd:!0,illegal:`extends implements`,contains:[{beginKeywords:`public protected internal private constructor`},e.UNDERSCORE_TITLE_MODE,{className:`type`,begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:`type`,begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},c,l]},s,{className:`meta`,begin:`^#!/usr/bin/env`,end:`$`,illegal:`
|
|
260
|
-
`},u]}}t.exports=o})),_b=f(((e,t)=>{var n=e=>({IMPORTANT:{scope:`meta`,begin:`!important`},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:`number`,begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:`built_in`,begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:`selector-attr`,begin:/\[/,end:/\]/,illegal:`$`,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:`number`,begin:e.NUMBER_RE+`(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?`,relevance:0},CSS_VARIABLE:{className:`attr`,begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),r=`a.abbr.address.article.aside.audio.b.blockquote.body.button.canvas.caption.cite.code.dd.del.details.dfn.div.dl.dt.em.fieldset.figcaption.figure.footer.form.h1.h2.h3.h4.h5.h6.header.hgroup.html.i.iframe.img.input.ins.kbd.label.legend.li.main.mark.menu.nav.object.ol.optgroup.option.p.picture.q.quote.samp.section.select.source.span.strong.summary.sup.table.tbody.td.textarea.tfoot.th.thead.time.tr.ul.var.video`.split(`.`),i=`defs.g.marker.mask.pattern.svg.switch.symbol.feBlend.feColorMatrix.feComponentTransfer.feComposite.feConvolveMatrix.feDiffuseLighting.feDisplacementMap.feFlood.feGaussianBlur.feImage.feMerge.feMorphology.feOffset.feSpecularLighting.feTile.feTurbulence.linearGradient.radialGradient.stop.circle.ellipse.image.line.path.polygon.polyline.rect.text.use.textPath.tspan.foreignObject.clipPath`.split(`.`),a=[...r,...i],o=`any-hover.any-pointer.aspect-ratio.color.color-gamut.color-index.device-aspect-ratio.device-height.device-width.display-mode.forced-colors.grid.height.hover.inverted-colors.monochrome.orientation.overflow-block.overflow-inline.pointer.prefers-color-scheme.prefers-contrast.prefers-reduced-motion.prefers-reduced-transparency.resolution.scan.scripting.update.width.min-width.max-width.min-height.max-height`.split(`.`).sort().reverse(),s=`active.any-link.blank.checked.current.default.defined.dir.disabled.drop.empty.enabled.first.first-child.first-of-type.fullscreen.future.focus.focus-visible.focus-within.has.host.host-context.hover.indeterminate.in-range.invalid.is.lang.last-child.last-of-type.left.link.local-link.not.nth-child.nth-col.nth-last-child.nth-last-col.nth-last-of-type.nth-of-type.only-child.only-of-type.optional.out-of-range.past.placeholder-shown.read-only.read-write.required.right.root.scope.target.target-within.user-invalid.valid.visited.where`.split(`.`).sort().reverse(),c=[`after`,`backdrop`,`before`,`cue`,`cue-region`,`first-letter`,`first-line`,`grammar-error`,`marker`,`part`,`placeholder`,`selection`,`slotted`,`spelling-error`].sort().reverse(),l=`accent-color.align-content.align-items.align-self.alignment-baseline.all.anchor-name.animation.animation-composition.animation-delay.animation-direction.animation-duration.animation-fill-mode.animation-iteration-count.animation-name.animation-play-state.animation-range.animation-range-end.animation-range-start.animation-timeline.animation-timing-function.appearance.aspect-ratio.backdrop-filter.backface-visibility.background.background-attachment.background-blend-mode.background-clip.background-color.background-image.background-origin.background-position.background-position-x.background-position-y.background-repeat.background-size.baseline-shift.block-size.border.border-block.border-block-color.border-block-end.border-block-end-color.border-block-end-style.border-block-end-width.border-block-start.border-block-start-color.border-block-start-style.border-block-start-width.border-block-style.border-block-width.border-bottom.border-bottom-color.border-bottom-left-radius.border-bottom-right-radius.border-bottom-style.border-bottom-width.border-collapse.border-color.border-end-end-radius.border-end-start-radius.border-image.border-image-outset.border-image-repeat.border-image-slice.border-image-source.border-image-width.border-inline.border-inline-color.border-inline-end.border-inline-end-color.border-inline-end-style.border-inline-end-width.border-inline-start.border-inline-start-color.border-inline-start-style.border-inline-start-width.border-inline-style.border-inline-width.border-left.border-left-color.border-left-style.border-left-width.border-radius.border-right.border-right-color.border-right-style.border-right-width.border-spacing.border-start-end-radius.border-start-start-radius.border-style.border-top.border-top-color.border-top-left-radius.border-top-right-radius.border-top-style.border-top-width.border-width.bottom.box-align.box-decoration-break.box-direction.box-flex.box-flex-group.box-lines.box-ordinal-group.box-orient.box-pack.box-shadow.box-sizing.break-after.break-before.break-inside.caption-side.caret-color.clear.clip.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.color-scheme.column-count.column-fill.column-gap.column-rule.column-rule-color.column-rule-style.column-rule-width.column-span.column-width.columns.contain.contain-intrinsic-block-size.contain-intrinsic-height.contain-intrinsic-inline-size.contain-intrinsic-size.contain-intrinsic-width.container.container-name.container-type.content.content-visibility.counter-increment.counter-reset.counter-set.cue.cue-after.cue-before.cursor.cx.cy.direction.display.dominant-baseline.empty-cells.enable-background.field-sizing.fill.fill-opacity.fill-rule.filter.flex.flex-basis.flex-direction.flex-flow.flex-grow.flex-shrink.flex-wrap.float.flood-color.flood-opacity.flow.font.font-display.font-family.font-feature-settings.font-kerning.font-language-override.font-optical-sizing.font-palette.font-size.font-size-adjust.font-smooth.font-smoothing.font-stretch.font-style.font-synthesis.font-synthesis-position.font-synthesis-small-caps.font-synthesis-style.font-synthesis-weight.font-variant.font-variant-alternates.font-variant-caps.font-variant-east-asian.font-variant-emoji.font-variant-ligatures.font-variant-numeric.font-variant-position.font-variation-settings.font-weight.forced-color-adjust.gap.glyph-orientation-horizontal.glyph-orientation-vertical.grid.grid-area.grid-auto-columns.grid-auto-flow.grid-auto-rows.grid-column.grid-column-end.grid-column-start.grid-gap.grid-row.grid-row-end.grid-row-start.grid-template.grid-template-areas.grid-template-columns.grid-template-rows.hanging-punctuation.height.hyphenate-character.hyphenate-limit-chars.hyphens.icon.image-orientation.image-rendering.image-resolution.ime-mode.initial-letter.initial-letter-align.inline-size.inset.inset-area.inset-block.inset-block-end.inset-block-start.inset-inline.inset-inline-end.inset-inline-start.isolation.justify-content.justify-items.justify-self.kerning.left.letter-spacing.lighting-color.line-break.line-height.line-height-step.list-style.list-style-image.list-style-position.list-style-type.margin.margin-block.margin-block-end.margin-block-start.margin-bottom.margin-inline.margin-inline-end.margin-inline-start.margin-left.margin-right.margin-top.margin-trim.marker.marker-end.marker-mid.marker-start.marks.mask.mask-border.mask-border-mode.mask-border-outset.mask-border-repeat.mask-border-slice.mask-border-source.mask-border-width.mask-clip.mask-composite.mask-image.mask-mode.mask-origin.mask-position.mask-repeat.mask-size.mask-type.masonry-auto-flow.math-depth.math-shift.math-style.max-block-size.max-height.max-inline-size.max-width.min-block-size.min-height.min-inline-size.min-width.mix-blend-mode.nav-down.nav-index.nav-left.nav-right.nav-up.none.normal.object-fit.object-position.offset.offset-anchor.offset-distance.offset-path.offset-position.offset-rotate.opacity.order.orphans.outline.outline-color.outline-offset.outline-style.outline-width.overflow.overflow-anchor.overflow-block.overflow-clip-margin.overflow-inline.overflow-wrap.overflow-x.overflow-y.overlay.overscroll-behavior.overscroll-behavior-block.overscroll-behavior-inline.overscroll-behavior-x.overscroll-behavior-y.padding.padding-block.padding-block-end.padding-block-start.padding-bottom.padding-inline.padding-inline-end.padding-inline-start.padding-left.padding-right.padding-top.page.page-break-after.page-break-before.page-break-inside.paint-order.pause.pause-after.pause-before.perspective.perspective-origin.place-content.place-items.place-self.pointer-events.position.position-anchor.position-visibility.print-color-adjust.quotes.r.resize.rest.rest-after.rest-before.right.rotate.row-gap.ruby-align.ruby-position.scale.scroll-behavior.scroll-margin.scroll-margin-block.scroll-margin-block-end.scroll-margin-block-start.scroll-margin-bottom.scroll-margin-inline.scroll-margin-inline-end.scroll-margin-inline-start.scroll-margin-left.scroll-margin-right.scroll-margin-top.scroll-padding.scroll-padding-block.scroll-padding-block-end.scroll-padding-block-start.scroll-padding-bottom.scroll-padding-inline.scroll-padding-inline-end.scroll-padding-inline-start.scroll-padding-left.scroll-padding-right.scroll-padding-top.scroll-snap-align.scroll-snap-stop.scroll-snap-type.scroll-timeline.scroll-timeline-axis.scroll-timeline-name.scrollbar-color.scrollbar-gutter.scrollbar-width.shape-image-threshold.shape-margin.shape-outside.shape-rendering.speak.speak-as.src.stop-color.stop-opacity.stroke.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke-width.tab-size.table-layout.text-align.text-align-all.text-align-last.text-anchor.text-combine-upright.text-decoration.text-decoration-color.text-decoration-line.text-decoration-skip.text-decoration-skip-ink.text-decoration-style.text-decoration-thickness.text-emphasis.text-emphasis-color.text-emphasis-position.text-emphasis-style.text-indent.text-justify.text-orientation.text-overflow.text-rendering.text-shadow.text-size-adjust.text-transform.text-underline-offset.text-underline-position.text-wrap.text-wrap-mode.text-wrap-style.timeline-scope.top.touch-action.transform.transform-box.transform-origin.transform-style.transition.transition-behavior.transition-delay.transition-duration.transition-property.transition-timing-function.translate.unicode-bidi.user-modify.user-select.vector-effect.vertical-align.view-timeline.view-timeline-axis.view-timeline-inset.view-timeline-name.view-transition-name.visibility.voice-balance.voice-duration.voice-family.voice-pitch.voice-range.voice-rate.voice-stress.voice-volume.white-space.white-space-collapse.widows.width.will-change.word-break.word-spacing.word-wrap.writing-mode.x.y.z-index.zoom`.split(`.`).sort().reverse(),u=s.concat(c).sort().reverse();function d(e){let t=n(e),r=u,i=`([\\w-]+|@\\{[\\w-]+\\})`,d=[],f=[],p=function(e){return{className:`string`,begin:`~?`+e+`.*?`+e}},m=function(e,t,n){return{className:e,begin:t,relevance:n}},h={$pattern:/[a-z-]+/,keyword:`and or not only`,attribute:o.join(` `)},g={begin:`\\(`,end:`\\)`,contains:f,keywords:h,relevance:0};f.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,p(`'`),p(`"`),t.CSS_NUMBER_MODE,{begin:`(url|data-uri)\\(`,starts:{className:`string`,end:`[\\)\\n]`,excludeEnd:!0}},t.HEXCOLOR,g,m(`variable`,`@@?[\\w-]+`,10),m(`variable`,`@\\{[\\w-]+\\}`),m(`built_in`,"~?`[^`]*?`"),{className:`attribute`,begin:`[\\w-]+\\s*:`,end:`:`,returnBegin:!0,excludeEnd:!0},t.IMPORTANT,{beginKeywords:`and not`},t.FUNCTION_DISPATCH);let _=f.concat({begin:/\{/,end:/\}/,contains:d}),v={beginKeywords:`when`,endsWithParent:!0,contains:[{beginKeywords:`and not`}].concat(f)},y={begin:`([\\w-]+|@\\{[\\w-]+\\})\\s*:`,returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},t.CSS_VARIABLE,{className:`attribute`,begin:`\\b(`+l.join(`|`)+`)\\b`,end:/(?=:)/,starts:{endsWithParent:!0,illegal:`[<=$]`,relevance:0,contains:f}}]},b={className:`keyword`,begin:`@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b`,starts:{end:`[;{}]`,keywords:h,returnEnd:!0,contains:f,relevance:0}},x={className:`variable`,variants:[{begin:`@[\\w-]+\\s*:`,relevance:15},{begin:`@[\\w-]+`}],starts:{end:`[;}]`,returnEnd:!0,contains:_}},S={variants:[{begin:`[\\.#:&\\[>]`,end:`[;{}]`},{begin:i,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,v,m(`keyword`,`all\\b`),m(`variable`,`@\\{[\\w-]+\\}`),{begin:`\\b(`+a.join(`|`)+`)\\b`,className:`selector-tag`},t.CSS_NUMBER_MODE,m(`selector-tag`,i,0),m(`selector-id`,`#([\\w-]+|@\\{[\\w-]+\\})`),m(`selector-class`,`\\.([\\w-]+|@\\{[\\w-]+\\})`,0),m(`selector-tag`,`&`,0),t.ATTRIBUTE_SELECTOR_MODE,{className:`selector-pseudo`,begin:`:(`+s.join(`|`)+`)`},{className:`selector-pseudo`,begin:`:(:)?(`+c.join(`|`)+`)`},{begin:/\(/,end:/\)/,relevance:0,contains:_},{begin:`!important`},t.FUNCTION_DISPATCH]},C={begin:`[\\w-]+:(:)?(${r.join(`|`)})`,returnBegin:!0,contains:[S]};return d.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,b,x,C,y,S,v,t.FUNCTION_DISPATCH),{name:`Less`,case_insensitive:!0,illegal:`[=>'/<($"]`,contains:d}}t.exports=d})),vb=f(((e,t)=>{function n(e){let t=`\\[=*\\[`,n=`\\]=*\\]`,r={begin:t,end:n,contains:[`self`]},i=[e.COMMENT(`--(?!\\[=*\\[)`,`$`),e.COMMENT(`--\\[=*\\[`,n,{contains:[r],relevance:10})];return{name:`Lua`,aliases:[`pluto`],keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:`true false nil`,keyword:`and break do else elseif end for goto if in local not or repeat return then until while`,built_in:`_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove`},contains:i.concat([{className:`function`,beginKeywords:`function`,end:`\\)`,contains:[e.inherit(e.TITLE_MODE,{begin:`([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*`}),{className:`params`,begin:`\\(`,endsWithParent:!0,contains:i}].concat(i)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:`string`,begin:t,end:n,contains:[r],relevance:5}])}}t.exports=n})),yb=f(((e,t)=>{function n(e){let t={className:`variable`,variants:[{begin:`\\$\\(`+e.UNDERSCORE_IDENT_RE+`\\)`,contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},n={className:`string`,begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t]},r={className:`variable`,begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:`subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value`},contains:[t,n]},i={begin:`^`+e.UNDERSCORE_IDENT_RE+`\\s*(?=[:+?]?=)`},a={className:`meta`,begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:`.PHONY`}},o={className:`section`,begin:/^[^\s]+:/,end:/$/,contains:[t]};return{name:`Makefile`,aliases:[`mk`,`mak`,`make`],keywords:{$pattern:/[\w-]+/,keyword:`define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath`},contains:[e.HASH_COMMENT_MODE,t,n,r,i,a,o]}}t.exports=n})),bb=f(((e,t)=>{function n(e){let t=e.regex,n=`abs.accept.alarm.and.atan2.bind.binmode.bless.break.caller.chdir.chmod.chomp.chop.chown.chr.chroot.class.close.closedir.connect.continue.cos.crypt.dbmclose.dbmopen.defined.delete.die.do.dump.each.else.elsif.endgrent.endhostent.endnetent.endprotoent.endpwent.endservent.eof.eval.exec.exists.exit.exp.fcntl.field.fileno.flock.for.foreach.fork.format.formline.getc.getgrent.getgrgid.getgrnam.gethostbyaddr.gethostbyname.gethostent.getlogin.getnetbyaddr.getnetbyname.getnetent.getpeername.getpgrp.getpriority.getprotobyname.getprotobynumber.getprotoent.getpwent.getpwnam.getpwuid.getservbyname.getservbyport.getservent.getsockname.getsockopt.given.glob.gmtime.goto.grep.gt.hex.if.index.int.ioctl.join.keys.kill.last.lc.lcfirst.length.link.listen.local.localtime.log.lstat.lt.ma.map.method.mkdir.msgctl.msgget.msgrcv.msgsnd.my.ne.next.no.not.oct.open.opendir.or.ord.our.pack.package.pipe.pop.pos.print.printf.prototype.push.q|0.qq.quotemeta.qw.qx.rand.read.readdir.readline.readlink.readpipe.recv.redo.ref.rename.require.reset.return.reverse.rewinddir.rindex.rmdir.say.scalar.seek.seekdir.select.semctl.semget.semop.send.setgrent.sethostent.setnetent.setpgrp.setpriority.setprotoent.setpwent.setservent.setsockopt.shift.shmctl.shmget.shmread.shmwrite.shutdown.sin.sleep.socket.socketpair.sort.splice.split.sprintf.sqrt.srand.stat.state.study.sub.substr.symlink.syscall.sysopen.sysread.sysseek.system.syswrite.tell.telldir.tie.tied.time.times.tr.truncate.uc.ucfirst.umask.undef.unless.unlink.unpack.unshift.untie.until.use.utime.values.vec.wait.waitpid.wantarray.warn.when.while.write.x|0.xor.y|0`.split(`.`),r=/[dualxmsipngr]{0,12}/,i={$pattern:/[\w.]+/,keyword:n.join(` `)},a={className:`subst`,begin:`[$@]\\{`,end:`\\}`,keywords:i},o={begin:/->\{/,end:/\}/},s={scope:`attr`,match:/\s+:\s*\w+(\s*\(.*?\))?/},c={scope:`variable`,variants:[{begin:/\$\d/},{begin:t.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,`(?![A-Za-z])(?![@$%])`)},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[s]},l={className:`number`,variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},u=[e.BACKSLASH_ESCAPE,a,c],d=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],f=(e,n,i=`\\1`)=>{let a=i===`\\1`?i:t.concat(i,n);return t.concat(t.concat(`(?:`,e,`)`),n,/(?:\\.|[^\\\/])*?/,a,/(?:\\.|[^\\\/])*?/,i,r)},p=(e,n,i)=>t.concat(t.concat(`(?:`,e,`)`),n,/(?:\\.|[^\\\/])*?/,i,r),m=[c,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),o,{className:`string`,contains:u,variants:[{begin:`q[qwxr]?\\s*\\(`,end:`\\)`,relevance:5},{begin:`q[qwxr]?\\s*\\[`,end:`\\]`,relevance:5},{begin:`q[qwxr]?\\s*\\{`,end:`\\}`,relevance:5},{begin:`q[qwxr]?\\s*\\|`,end:`\\|`,relevance:5},{begin:`q[qwxr]?\\s*<`,end:`>`,relevance:5},{begin:`qw\\s+q`,end:`q`,relevance:5},{begin:`'`,end:`'`,contains:[e.BACKSLASH_ESCAPE]},{begin:`"`,end:`"`},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:`-?\\w+\\s*=>`,relevance:0}]},l,{begin:`(\\/\\/|`+e.RE_STARTERS_RE+`|\\b(split|return|print|reverse|grep)\\b)\\s*`,keywords:`split return print reverse grep`,relevance:0,contains:[e.HASH_COMMENT_MODE,{className:`regexp`,variants:[{begin:f(`s|tr|y`,t.either(...d,{capture:!0}))},{begin:f(`s|tr|y`,`\\(`,`\\)`)},{begin:f(`s|tr|y`,`\\[`,`\\]`)},{begin:f(`s|tr|y`,`\\{`,`\\}`)}],relevance:2},{className:`regexp`,variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:p(`(?:m|qr)?`,/\//,/\//)},{begin:p(`m|qr`,t.either(...d,{capture:!0}),/\1/)},{begin:p(`m|qr`,/\(/,/\)/)},{begin:p(`m|qr`,/\[/,/\]/)},{begin:p(`m|qr`,/\{/,/\}/)}]}]},{className:`function`,beginKeywords:`sub method`,end:`(\\s*\\(.*?\\))?[;{]`,excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,s]},{className:`class`,beginKeywords:`class`,end:`[;{]`,excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,s,l]},{begin:`-\\w\\b`,relevance:0},{begin:`^__DATA__$`,end:`^__END__$`,subLanguage:`mojolicious`,contains:[{begin:`^@@.*`,end:`$`,className:`comment`}]}];return a.contains=m,o.contains=m,{name:`Perl`,aliases:[`pl`,`pm`],keywords:i,contains:m}}t.exports=n})),xb=f(((e,t)=>{function n(e){let t={className:`built_in`,begin:`\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+`},n=/[a-zA-Z@][a-zA-Z0-9_]*/,r={"variable.language":[`this`,`super`],$pattern:n,keyword:`while.export.sizeof.typedef.const.struct.for.union.volatile.static.mutable.if.do.return.goto.enum.else.break.extern.asm.case.default.register.explicit.typename.switch.continue.inline.readonly.assign.readwrite.self.@synchronized.id.typeof.nonatomic.IBOutlet.IBAction.strong.weak.copy.in.out.inout.bycopy.byref.oneway.__strong.__weak.__block.__autoreleasing.@private.@protected.@public.@try.@property.@end.@throw.@catch.@finally.@autoreleasepool.@synthesize.@dynamic.@selector.@optional.@required.@encode.@package.@import.@defs.@compatibility_alias.__bridge.__bridge_transfer.__bridge_retained.__bridge_retain.__covariant.__contravariant.__kindof._Nonnull._Nullable._Null_unspecified.__FUNCTION__.__PRETTY_FUNCTION__.__attribute__.getter.setter.retain.unsafe_unretained.nonnull.nullable.null_unspecified.null_resettable.class.instancetype.NS_DESIGNATED_INITIALIZER.NS_UNAVAILABLE.NS_REQUIRES_SUPER.NS_RETURNS_INNER_POINTER.NS_INLINE.NS_AVAILABLE.NS_DEPRECATED.NS_ENUM.NS_OPTIONS.NS_SWIFT_UNAVAILABLE.NS_ASSUME_NONNULL_BEGIN.NS_ASSUME_NONNULL_END.NS_REFINED_FOR_SWIFT.NS_SWIFT_NAME.NS_SWIFT_NOTHROW.NS_DURING.NS_HANDLER.NS_ENDHANDLER.NS_VALUERETURN.NS_VOIDRETURN`.split(`.`),literal:[`false`,`true`,`FALSE`,`TRUE`,`nil`,`YES`,`NO`,`NULL`],built_in:[`dispatch_once_t`,`dispatch_queue_t`,`dispatch_sync`,`dispatch_async`,`dispatch_once`],type:[`int`,`float`,`char`,`unsigned`,`signed`,`short`,`long`,`double`,`wchar_t`,`unichar`,`void`,`bool`,`BOOL`,`id|0`,`_Bool`]},i={$pattern:n,keyword:[`@interface`,`@class`,`@protocol`,`@implementation`]};return{name:`Objective-C`,aliases:[`mm`,`objc`,`obj-c`,`obj-c++`,`objective-c++`],keywords:r,illegal:`</`,contains:[t,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:`string`,variants:[{begin:`@"`,end:`"`,illegal:`\\n`,contains:[e.BACKSLASH_ESCAPE]}]},{className:`meta`,begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:`if else elif endif define undef warning error line pragma ifdef ifndef include`},contains:[{begin:/\\\n/,relevance:0},e.inherit(e.QUOTE_STRING_MODE,{className:`string`}),{className:`string`,begin:/<.*?>/,end:/$/,illegal:`\\n`},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:`class`,begin:`(`+i.keyword.join(`|`)+`)\\b`,end:/(\{|$)/,excludeEnd:!0,keywords:i,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:`\\.`+e.UNDERSCORE_IDENT_RE,relevance:0}]}}t.exports=n})),Sb=f(((e,t)=>{function n(e){let t=e.regex,n=/(?![A-Za-z0-9])(?![$])/,r=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),i=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),a=t.concat(/[A-Z]+/,n),o={scope:`variable`,match:`\\$+`+r},s={scope:`meta`,variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},c={scope:`subst`,variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},l=e.inherit(e.APOS_STRING_MODE,{illegal:null}),u=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(c)}),d={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(c),"on:begin":(e,t)=>{t.data._beginMatch=e[1]||e[2]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}},f=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),p=`[
|
|
261
|
-
]`,m={scope:`string`,variants:[u,l,d,f]},h={scope:`number`,variants:[{begin:`\\b0[bB][01]+(?:_[01]+)*\\b`},{begin:`\\b0[oO][0-7]+(?:_[0-7]+)*\\b`},{begin:`\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b`},{begin:`(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?`}],relevance:0},g=[`false`,`null`,`true`],_=`__CLASS__.__DIR__.__FILE__.__FUNCTION__.__COMPILER_HALT_OFFSET__.__LINE__.__METHOD__.__NAMESPACE__.__TRAIT__.die.echo.exit.include.include_once.print.require.require_once.array.abstract.and.as.binary.bool.boolean.break.callable.case.catch.class.clone.const.continue.declare.default.do.double.else.elseif.empty.enddeclare.endfor.endforeach.endif.endswitch.endwhile.enum.eval.extends.final.finally.float.for.foreach.from.global.goto.if.implements.instanceof.insteadof.int.integer.interface.isset.iterable.list.match|0.mixed.new.never.object.or.private.protected.public.readonly.real.return.string.switch.throw.trait.try.unset.use.var.void.while.xor.yield`.split(`.`),v=`Error|0.AppendIterator.ArgumentCountError.ArithmeticError.ArrayIterator.ArrayObject.AssertionError.BadFunctionCallException.BadMethodCallException.CachingIterator.CallbackFilterIterator.CompileError.Countable.DirectoryIterator.DivisionByZeroError.DomainException.EmptyIterator.ErrorException.Exception.FilesystemIterator.FilterIterator.GlobIterator.InfiniteIterator.InvalidArgumentException.IteratorIterator.LengthException.LimitIterator.LogicException.MultipleIterator.NoRewindIterator.OutOfBoundsException.OutOfRangeException.OuterIterator.OverflowException.ParentIterator.ParseError.RangeException.RecursiveArrayIterator.RecursiveCachingIterator.RecursiveCallbackFilterIterator.RecursiveDirectoryIterator.RecursiveFilterIterator.RecursiveIterator.RecursiveIteratorIterator.RecursiveRegexIterator.RecursiveTreeIterator.RegexIterator.RuntimeException.SeekableIterator.SplDoublyLinkedList.SplFileInfo.SplFileObject.SplFixedArray.SplHeap.SplMaxHeap.SplMinHeap.SplObjectStorage.SplObserver.SplPriorityQueue.SplQueue.SplStack.SplSubject.SplTempFileObject.TypeError.UnderflowException.UnexpectedValueException.UnhandledMatchError.ArrayAccess.BackedEnum.Closure.Fiber.Generator.Iterator.IteratorAggregate.Serializable.Stringable.Throwable.Traversable.UnitEnum.WeakReference.WeakMap.Directory.__PHP_Incomplete_Class.parent.php_user_filter.self.static.stdClass`.split(`.`),y={keyword:_,literal:(e=>{let t=[];return e.forEach(e=>{t.push(e),e.toLowerCase()===e?t.push(e.toUpperCase()):t.push(e.toLowerCase())}),t})(g),built_in:v},b=e=>e.map(e=>e.replace(/\|\d+$/,``)),x={variants:[{match:[/new/,t.concat(p,`+`),t.concat(`(?!`,b(v).join(`\\b|`),`\\b)`),i],scope:{1:`keyword`,4:`title.class`}}]},S=t.concat(r,`\\b(?!\\()`),C={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),S],scope:{2:`variable.constant`}},{match:[/::/,/class/],scope:{2:`variable.language`}},{match:[i,t.concat(/::/,t.lookahead(/(?!class\b)/)),S],scope:{1:`title.class`,3:`variable.constant`}},{match:[i,t.concat(`::`,t.lookahead(/(?!class\b)/))],scope:{1:`title.class`}},{match:[i,/::/,/class/],scope:{1:`title.class`,3:`variable.language`}}]},w={scope:`attr`,match:t.concat(r,t.lookahead(`:`),t.lookahead(/(?!::)/))},T={relevance:0,begin:/\(/,end:/\)/,keywords:y,contains:[w,o,C,e.C_BLOCK_COMMENT_MODE,m,h,x]},E={relevance:0,match:[/\b/,t.concat(`(?!fn\\b|function\\b|`,b(_).join(`\\b|`),`|`,b(v).join(`\\b|`),`\\b)`),r,t.concat(p,`*`),t.lookahead(/(?=\()/)],scope:{3:`title.function.invoke`},contains:[T]};T.contains.push(E);let D=[w,C,e.C_BLOCK_COMMENT_MODE,m,h,x],O={begin:t.concat(/#\[\s*\\?/,t.either(i,a)),beginScope:`meta`,end:/]/,endScope:`meta`,keywords:{literal:g,keyword:[`new`,`array`]},contains:[{begin:/\[/,end:/]/,keywords:{literal:g,keyword:[`new`,`array`]},contains:[`self`,...D]},...D,{scope:`meta`,variants:[{match:i},{match:a}]}]};return{case_insensitive:!1,keywords:y,contains:[O,e.HASH_COMMENT_MODE,e.COMMENT(`//`,`$`),e.COMMENT(`/\\*`,`\\*/`,{contains:[{scope:`doctag`,match:`@[A-Za-z]+`}]}),{match:/__halt_compiler\(\);/,keywords:`__halt_compiler`,starts:{scope:`comment`,end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:`meta`,endsParent:!0}]}},s,{scope:`variable.language`,match:/\$this\b/},o,E,C,{match:[/const/,/\s/,r],scope:{1:`keyword`,3:`variable.constant`}},x,{scope:`function`,relevance:0,beginKeywords:`fn function`,end:/[;{]/,excludeEnd:!0,illegal:`[$%\\[]`,contains:[{beginKeywords:`use`},e.UNDERSCORE_TITLE_MODE,{begin:`=>`,endsParent:!0},{scope:`params`,begin:`\\(`,end:`\\)`,excludeBegin:!0,excludeEnd:!0,keywords:y,contains:[`self`,O,o,C,e.C_BLOCK_COMMENT_MODE,m,h]}]},{scope:`class`,variants:[{beginKeywords:`enum`,illegal:/[($"]/},{beginKeywords:`class interface trait`,illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:`extends implements`},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:`namespace`,relevance:0,end:`;`,illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:`title.class`})]},{beginKeywords:`use`,relevance:0,end:`;`,contains:[{match:/\b(as|const|function)\b/,scope:`keyword`},e.UNDERSCORE_TITLE_MODE]},m,h]}}t.exports=n})),Cb=f(((e,t)=>{function n(e){return{name:`PHP template`,subLanguage:`xml`,contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:`php`,contains:[{begin:`/\\*`,end:`\\*/`,skip:!0},{begin:`b"`,end:`"`,skip:!0},{begin:`b'`,end:`'`,skip:!0},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}t.exports=n})),wb=f(((e,t)=>{function n(e){return{name:`Plain text`,aliases:[`text`,`txt`],disableAutodetect:!0}}t.exports=n})),Tb=f(((e,t)=>{function n(e){let t=e.regex,n=/[\p{XID_Start}_]\p{XID_Continue}*/u,r=`and.as.assert.async.await.break.case.class.continue.def.del.elif.else.except.finally.for.from.global.if.import.in.is.lambda.match.nonlocal|10.not.or.pass.raise.return.try.while.with.yield`.split(`.`),i={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:r,built_in:`__import__.abs.all.any.ascii.bin.bool.breakpoint.bytearray.bytes.callable.chr.classmethod.compile.complex.delattr.dict.dir.divmod.enumerate.eval.exec.filter.float.format.frozenset.getattr.globals.hasattr.hash.help.hex.id.input.int.isinstance.issubclass.iter.len.list.locals.map.max.memoryview.min.next.object.oct.open.ord.pow.print.property.range.repr.reversed.round.set.setattr.slice.sorted.staticmethod.str.sum.super.tuple.type.vars.zip`.split(`.`),literal:[`__debug__`,`Ellipsis`,`False`,`None`,`NotImplemented`,`True`],type:[`Any`,`Callable`,`Coroutine`,`Dict`,`List`,`Literal`,`Generic`,`Optional`,`Sequence`,`Set`,`Tuple`,`Type`,`Union`]},a={className:`meta`,begin:/^(>>>|\.\.\.) /},o={className:`subst`,begin:/\{/,end:/\}/,keywords:i,illegal:/#/},s={begin:/\{\{/,relevance:0},c={className:`string`,contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a,s,o]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a,s,o]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,s,o]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,o]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},l=`[0-9](_?[0-9])*`,u=`(\\b(${l}))?\\.(${l})|\\b(${l})\\.`,d=`\\b|${r.join(`|`)}`,f={className:`number`,relevance:0,variants:[{begin:`(\\b(${l})|(${u}))[eE][+-]?(${l})[jJ]?(?=${d})`},{begin:`(${u})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${d})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${d})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${d})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${d})`},{begin:`\\b(${l})[jJ](?=${d})`}]},p={className:`comment`,begin:t.lookahead(/# type:/),end:/$/,keywords:i,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},m={className:`params`,variants:[{className:``,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:[`self`,a,f,c,e.HASH_COMMENT_MODE]}]};return o.contains=[c,f,a],{name:`Python`,aliases:[`py`,`gyp`,`ipython`],unicodeRegex:!0,keywords:i,illegal:/(<\/|\?)|=>/,contains:[a,f,{scope:`variable.language`,match:/\bself\b/},{beginKeywords:`if`,relevance:0},{match:/\bor\b/,scope:`keyword`},c,p,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:`keyword`,3:`title.function`},contains:[m]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:`keyword`,3:`title.class`,6:`title.class.inherited`}},{className:`meta`,begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[f,m,c]}]}}t.exports=n})),Eb=f(((e,t)=>{function n(e){return{aliases:[`pycon`],contains:[{className:`meta.prompt`,starts:{end:/ |$/,starts:{end:`$`,subLanguage:`python`}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}t.exports=n})),Db=f(((e,t)=>{function n(e){let t=e.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,r=t.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),i=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,a=t.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:`R`,keywords:{$pattern:n,keyword:`function if in break next repeat else for while`,literal:`NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10`,built_in:`LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm`},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:`doctag`,match:/@examples/,starts:{end:t.lookahead(t.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:`doctag`,begin:`@param`,end:/$/,contains:[{scope:`variable`,variants:[{match:n},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:`doctag`,match:/@[a-zA-Z]+/},{scope:`keyword`,match:/\\[a-zA-Z]+/}]}),e.HASH_COMMENT_MODE,{scope:`string`,contains:[e.BACKSLASH_ESCAPE],variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:`"`,end:`"`,relevance:0},{begin:`'`,end:`'`,relevance:0}]},{relevance:0,variants:[{scope:{1:`operator`,2:`number`},match:[i,r]},{scope:{1:`operator`,2:`number`},match:[/%[^%]*%/,r]},{scope:{1:`punctuation`,2:`number`},match:[a,r]},{scope:{2:`number`},match:[/[^a-zA-Z0-9._]|^/,r]}]},{scope:{3:`operator`},match:[n,/\s+/,/<-/,/\s+/]},{scope:`operator`,relevance:0,variants:[{match:i},{match:/%[^%]*%/}]},{scope:`punctuation`,relevance:0,match:a},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}t.exports=n})),Ob=f(((e,t)=>{function n(e){let t=e.regex,n=/(r#)?/,r=t.concat(n,e.UNDERSCORE_IDENT_RE),i=t.concat(n,e.IDENT_RE),a={className:`title.function.invoke`,relevance:0,begin:t.concat(/\b/,/(?!let|for|while|if|else|match\b)/,i,t.lookahead(/\s*\(/))},o=`abstract.as.async.await.become.box.break.const.continue.crate.do.dyn.else.enum.extern.false.final.fn.for.if.impl.in.let.loop.macro.match.mod.move.mut.override.priv.pub.ref.return.self.Self.static.struct.super.trait.true.try.type.typeof.union.unsafe.unsized.use.virtual.where.while.yield`.split(`.`),s=[`true`,`false`,`Some`,`None`,`Ok`,`Err`],c=`drop .Copy.Send.Sized.Sync.Drop.Fn.FnMut.FnOnce.ToOwned.Clone.Debug.PartialEq.PartialOrd.Eq.Ord.AsRef.AsMut.Into.From.Default.Iterator.Extend.IntoIterator.DoubleEndedIterator.ExactSizeIterator.SliceConcatExt.ToString.assert!.assert_eq!.bitflags!.bytes!.cfg!.col!.concat!.concat_idents!.debug_assert!.debug_assert_eq!.env!.eprintln!.panic!.file!.format!.format_args!.include_bytes!.include_str!.line!.local_data_key!.module_path!.option_env!.print!.println!.select!.stringify!.try!.unimplemented!.unreachable!.vec!.write!.writeln!.macro_rules!.assert_ne!.debug_assert_ne!`.split(`.`),l=[`i8`,`i16`,`i32`,`i64`,`i128`,`isize`,`u8`,`u16`,`u32`,`u64`,`u128`,`usize`,`f32`,`f64`,`str`,`char`,`bool`,`Box`,`Option`,`Result`,`String`,`Vec`];return{name:`Rust`,aliases:[`rs`],keywords:{$pattern:e.IDENT_RE+`!?`,type:l,keyword:o,literal:s,built_in:c},illegal:`</`,contains:[e.C_LINE_COMMENT_MODE,e.COMMENT(`/\\*`,`\\*/`,{contains:[`self`]}),e.inherit(e.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:`symbol`,begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:`string`,variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{scope:`char.escape`,match:/\\('|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{className:`number`,variants:[{begin:`\\b0b([01_]+)([ui](8|16|32|64|128|size)|f(32|64))?`},{begin:`\\b0o([0-7_]+)([ui](8|16|32|64|128|size)|f(32|64))?`},{begin:`\\b0x([A-Fa-f0-9_]+)([ui](8|16|32|64|128|size)|f(32|64))?`},{begin:`\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)([ui](8|16|32|64|128|size)|f(32|64))?`}],relevance:0},{begin:[/fn/,/\s+/,r],className:{1:`keyword`,3:`title.function`}},{className:`meta`,begin:`#!?\\[`,end:`\\]`,contains:[{className:`string`,begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,r],className:{1:`keyword`,3:`keyword`,4:`variable`}},{begin:[/for/,/\s+/,r,/\s+/,/in/],className:{1:`keyword`,3:`variable`,5:`keyword`}},{begin:[/type/,/\s+/,r],className:{1:`keyword`,3:`title.class`}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,r],className:{1:`keyword`,3:`title.class`}},{begin:e.IDENT_RE+`::`,keywords:{keyword:`Self`,built_in:c,type:l}},{className:`punctuation`,begin:`->`},a]}}t.exports=n})),kb=f(((e,t)=>{var n=e=>({IMPORTANT:{scope:`meta`,begin:`!important`},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:`number`,begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:`built_in`,begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:`selector-attr`,begin:/\[/,end:/\]/,illegal:`$`,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:`number`,begin:e.NUMBER_RE+`(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?`,relevance:0},CSS_VARIABLE:{className:`attr`,begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),r=`a.abbr.address.article.aside.audio.b.blockquote.body.button.canvas.caption.cite.code.dd.del.details.dfn.div.dl.dt.em.fieldset.figcaption.figure.footer.form.h1.h2.h3.h4.h5.h6.header.hgroup.html.i.iframe.img.input.ins.kbd.label.legend.li.main.mark.menu.nav.object.ol.optgroup.option.p.picture.q.quote.samp.section.select.source.span.strong.summary.sup.table.tbody.td.textarea.tfoot.th.thead.time.tr.ul.var.video`.split(`.`),i=`defs.g.marker.mask.pattern.svg.switch.symbol.feBlend.feColorMatrix.feComponentTransfer.feComposite.feConvolveMatrix.feDiffuseLighting.feDisplacementMap.feFlood.feGaussianBlur.feImage.feMerge.feMorphology.feOffset.feSpecularLighting.feTile.feTurbulence.linearGradient.radialGradient.stop.circle.ellipse.image.line.path.polygon.polyline.rect.text.use.textPath.tspan.foreignObject.clipPath`.split(`.`),a=[...r,...i],o=`any-hover.any-pointer.aspect-ratio.color.color-gamut.color-index.device-aspect-ratio.device-height.device-width.display-mode.forced-colors.grid.height.hover.inverted-colors.monochrome.orientation.overflow-block.overflow-inline.pointer.prefers-color-scheme.prefers-contrast.prefers-reduced-motion.prefers-reduced-transparency.resolution.scan.scripting.update.width.min-width.max-width.min-height.max-height`.split(`.`).sort().reverse(),s=`active.any-link.blank.checked.current.default.defined.dir.disabled.drop.empty.enabled.first.first-child.first-of-type.fullscreen.future.focus.focus-visible.focus-within.has.host.host-context.hover.indeterminate.in-range.invalid.is.lang.last-child.last-of-type.left.link.local-link.not.nth-child.nth-col.nth-last-child.nth-last-col.nth-last-of-type.nth-of-type.only-child.only-of-type.optional.out-of-range.past.placeholder-shown.read-only.read-write.required.right.root.scope.target.target-within.user-invalid.valid.visited.where`.split(`.`).sort().reverse(),c=[`after`,`backdrop`,`before`,`cue`,`cue-region`,`first-letter`,`first-line`,`grammar-error`,`marker`,`part`,`placeholder`,`selection`,`slotted`,`spelling-error`].sort().reverse(),l=`accent-color.align-content.align-items.align-self.alignment-baseline.all.anchor-name.animation.animation-composition.animation-delay.animation-direction.animation-duration.animation-fill-mode.animation-iteration-count.animation-name.animation-play-state.animation-range.animation-range-end.animation-range-start.animation-timeline.animation-timing-function.appearance.aspect-ratio.backdrop-filter.backface-visibility.background.background-attachment.background-blend-mode.background-clip.background-color.background-image.background-origin.background-position.background-position-x.background-position-y.background-repeat.background-size.baseline-shift.block-size.border.border-block.border-block-color.border-block-end.border-block-end-color.border-block-end-style.border-block-end-width.border-block-start.border-block-start-color.border-block-start-style.border-block-start-width.border-block-style.border-block-width.border-bottom.border-bottom-color.border-bottom-left-radius.border-bottom-right-radius.border-bottom-style.border-bottom-width.border-collapse.border-color.border-end-end-radius.border-end-start-radius.border-image.border-image-outset.border-image-repeat.border-image-slice.border-image-source.border-image-width.border-inline.border-inline-color.border-inline-end.border-inline-end-color.border-inline-end-style.border-inline-end-width.border-inline-start.border-inline-start-color.border-inline-start-style.border-inline-start-width.border-inline-style.border-inline-width.border-left.border-left-color.border-left-style.border-left-width.border-radius.border-right.border-right-color.border-right-style.border-right-width.border-spacing.border-start-end-radius.border-start-start-radius.border-style.border-top.border-top-color.border-top-left-radius.border-top-right-radius.border-top-style.border-top-width.border-width.bottom.box-align.box-decoration-break.box-direction.box-flex.box-flex-group.box-lines.box-ordinal-group.box-orient.box-pack.box-shadow.box-sizing.break-after.break-before.break-inside.caption-side.caret-color.clear.clip.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.color-scheme.column-count.column-fill.column-gap.column-rule.column-rule-color.column-rule-style.column-rule-width.column-span.column-width.columns.contain.contain-intrinsic-block-size.contain-intrinsic-height.contain-intrinsic-inline-size.contain-intrinsic-size.contain-intrinsic-width.container.container-name.container-type.content.content-visibility.counter-increment.counter-reset.counter-set.cue.cue-after.cue-before.cursor.cx.cy.direction.display.dominant-baseline.empty-cells.enable-background.field-sizing.fill.fill-opacity.fill-rule.filter.flex.flex-basis.flex-direction.flex-flow.flex-grow.flex-shrink.flex-wrap.float.flood-color.flood-opacity.flow.font.font-display.font-family.font-feature-settings.font-kerning.font-language-override.font-optical-sizing.font-palette.font-size.font-size-adjust.font-smooth.font-smoothing.font-stretch.font-style.font-synthesis.font-synthesis-position.font-synthesis-small-caps.font-synthesis-style.font-synthesis-weight.font-variant.font-variant-alternates.font-variant-caps.font-variant-east-asian.font-variant-emoji.font-variant-ligatures.font-variant-numeric.font-variant-position.font-variation-settings.font-weight.forced-color-adjust.gap.glyph-orientation-horizontal.glyph-orientation-vertical.grid.grid-area.grid-auto-columns.grid-auto-flow.grid-auto-rows.grid-column.grid-column-end.grid-column-start.grid-gap.grid-row.grid-row-end.grid-row-start.grid-template.grid-template-areas.grid-template-columns.grid-template-rows.hanging-punctuation.height.hyphenate-character.hyphenate-limit-chars.hyphens.icon.image-orientation.image-rendering.image-resolution.ime-mode.initial-letter.initial-letter-align.inline-size.inset.inset-area.inset-block.inset-block-end.inset-block-start.inset-inline.inset-inline-end.inset-inline-start.isolation.justify-content.justify-items.justify-self.kerning.left.letter-spacing.lighting-color.line-break.line-height.line-height-step.list-style.list-style-image.list-style-position.list-style-type.margin.margin-block.margin-block-end.margin-block-start.margin-bottom.margin-inline.margin-inline-end.margin-inline-start.margin-left.margin-right.margin-top.margin-trim.marker.marker-end.marker-mid.marker-start.marks.mask.mask-border.mask-border-mode.mask-border-outset.mask-border-repeat.mask-border-slice.mask-border-source.mask-border-width.mask-clip.mask-composite.mask-image.mask-mode.mask-origin.mask-position.mask-repeat.mask-size.mask-type.masonry-auto-flow.math-depth.math-shift.math-style.max-block-size.max-height.max-inline-size.max-width.min-block-size.min-height.min-inline-size.min-width.mix-blend-mode.nav-down.nav-index.nav-left.nav-right.nav-up.none.normal.object-fit.object-position.offset.offset-anchor.offset-distance.offset-path.offset-position.offset-rotate.opacity.order.orphans.outline.outline-color.outline-offset.outline-style.outline-width.overflow.overflow-anchor.overflow-block.overflow-clip-margin.overflow-inline.overflow-wrap.overflow-x.overflow-y.overlay.overscroll-behavior.overscroll-behavior-block.overscroll-behavior-inline.overscroll-behavior-x.overscroll-behavior-y.padding.padding-block.padding-block-end.padding-block-start.padding-bottom.padding-inline.padding-inline-end.padding-inline-start.padding-left.padding-right.padding-top.page.page-break-after.page-break-before.page-break-inside.paint-order.pause.pause-after.pause-before.perspective.perspective-origin.place-content.place-items.place-self.pointer-events.position.position-anchor.position-visibility.print-color-adjust.quotes.r.resize.rest.rest-after.rest-before.right.rotate.row-gap.ruby-align.ruby-position.scale.scroll-behavior.scroll-margin.scroll-margin-block.scroll-margin-block-end.scroll-margin-block-start.scroll-margin-bottom.scroll-margin-inline.scroll-margin-inline-end.scroll-margin-inline-start.scroll-margin-left.scroll-margin-right.scroll-margin-top.scroll-padding.scroll-padding-block.scroll-padding-block-end.scroll-padding-block-start.scroll-padding-bottom.scroll-padding-inline.scroll-padding-inline-end.scroll-padding-inline-start.scroll-padding-left.scroll-padding-right.scroll-padding-top.scroll-snap-align.scroll-snap-stop.scroll-snap-type.scroll-timeline.scroll-timeline-axis.scroll-timeline-name.scrollbar-color.scrollbar-gutter.scrollbar-width.shape-image-threshold.shape-margin.shape-outside.shape-rendering.speak.speak-as.src.stop-color.stop-opacity.stroke.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke-width.tab-size.table-layout.text-align.text-align-all.text-align-last.text-anchor.text-combine-upright.text-decoration.text-decoration-color.text-decoration-line.text-decoration-skip.text-decoration-skip-ink.text-decoration-style.text-decoration-thickness.text-emphasis.text-emphasis-color.text-emphasis-position.text-emphasis-style.text-indent.text-justify.text-orientation.text-overflow.text-rendering.text-shadow.text-size-adjust.text-transform.text-underline-offset.text-underline-position.text-wrap.text-wrap-mode.text-wrap-style.timeline-scope.top.touch-action.transform.transform-box.transform-origin.transform-style.transition.transition-behavior.transition-delay.transition-duration.transition-property.transition-timing-function.translate.unicode-bidi.user-modify.user-select.vector-effect.vertical-align.view-timeline.view-timeline-axis.view-timeline-inset.view-timeline-name.view-transition-name.visibility.voice-balance.voice-duration.voice-family.voice-pitch.voice-range.voice-rate.voice-stress.voice-volume.white-space.white-space-collapse.widows.width.will-change.word-break.word-spacing.word-wrap.writing-mode.x.y.z-index.zoom`.split(`.`).sort().reverse();function u(e){let t=n(e),r=c,i=s,u=`@[a-z-]+`,d={className:`variable`,begin:`(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b`,relevance:0};return{name:`SCSS`,case_insensitive:!0,illegal:`[=/|']`,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t.CSS_NUMBER_MODE,{className:`selector-id`,begin:`#[A-Za-z0-9_-]+`,relevance:0},{className:`selector-class`,begin:`\\.[A-Za-z0-9_-]+`,relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:`selector-tag`,begin:`\\b(`+a.join(`|`)+`)\\b`,relevance:0},{className:`selector-pseudo`,begin:`:(`+i.join(`|`)+`)`},{className:`selector-pseudo`,begin:`:(:)?(`+r.join(`|`)+`)`},d,{begin:/\(/,end:/\)/,contains:[t.CSS_NUMBER_MODE]},t.CSS_VARIABLE,{className:`attribute`,begin:`\\b(`+l.join(`|`)+`)\\b`},{begin:`\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b`},{begin:/:/,end:/[;}{]/,relevance:0,contains:[t.BLOCK_COMMENT,d,t.HEXCOLOR,t.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.IMPORTANT,t.FUNCTION_DISPATCH]},{begin:`@(page|font-face)`,keywords:{$pattern:u,keyword:`@page @font-face`}},{begin:`@`,end:`[{;]`,returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:`and or not only`,attribute:o.join(` `)},contains:[{begin:u,className:`keyword`},{begin:/[a-z-]+(?=:)/,className:`attribute`},d,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.HEXCOLOR,t.CSS_NUMBER_MODE]},t.FUNCTION_DISPATCH]}}t.exports=u})),Ab=f(((e,t)=>{function n(e){return{name:`Shell Session`,aliases:[`console`,`shellsession`],contains:[{className:`meta.prompt`,begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:`bash`}}]}}t.exports=n})),jb=f(((e,t)=>{function n(e){let t=e.regex,n=e.COMMENT(`--`,`$`),r={scope:`string`,variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},i={begin:/"/,end:/"/,contains:[{match:/""/}]},a=[`true`,`false`,`unknown`],o=[`double precision`,`large object`,`with timezone`,`without timezone`],s=`bigint.binary.blob.boolean.char.character.clob.date.dec.decfloat.decimal.float.int.integer.interval.nchar.nclob.national.numeric.real.row.smallint.time.timestamp.varchar.varying.varbinary`.split(`.`),c=[`add`,`asc`,`collation`,`desc`,`final`,`first`,`last`,`view`],l=`abs.acos.all.allocate.alter.and.any.are.array.array_agg.array_max_cardinality.as.asensitive.asin.asymmetric.at.atan.atomic.authorization.avg.begin.begin_frame.begin_partition.between.bigint.binary.blob.boolean.both.by.call.called.cardinality.cascaded.case.cast.ceil.ceiling.char.char_length.character.character_length.check.classifier.clob.close.coalesce.collate.collect.column.commit.condition.connect.constraint.contains.convert.copy.corr.corresponding.cos.cosh.count.covar_pop.covar_samp.create.cross.cube.cume_dist.current.current_catalog.current_date.current_default_transform_group.current_path.current_role.current_row.current_schema.current_time.current_timestamp.current_path.current_role.current_transform_group_for_type.current_user.cursor.cycle.date.day.deallocate.dec.decimal.decfloat.declare.default.define.delete.dense_rank.deref.describe.deterministic.disconnect.distinct.double.drop.dynamic.each.element.else.empty.end.end_frame.end_partition.end-exec.equals.escape.every.except.exec.execute.exists.exp.external.extract.false.fetch.filter.first_value.float.floor.for.foreign.frame_row.free.from.full.function.fusion.get.global.grant.group.grouping.groups.having.hold.hour.identity.in.indicator.initial.inner.inout.insensitive.insert.int.integer.intersect.intersection.interval.into.is.join.json_array.json_arrayagg.json_exists.json_object.json_objectagg.json_query.json_table.json_table_primitive.json_value.lag.language.large.last_value.lateral.lead.leading.left.like.like_regex.listagg.ln.local.localtime.localtimestamp.log.log10.lower.match.match_number.match_recognize.matches.max.member.merge.method.min.minute.mod.modifies.module.month.multiset.national.natural.nchar.nclob.new.no.none.normalize.not.nth_value.ntile.null.nullif.numeric.octet_length.occurrences_regex.of.offset.old.omit.on.one.only.open.or.order.out.outer.over.overlaps.overlay.parameter.partition.pattern.per.percent.percent_rank.percentile_cont.percentile_disc.period.portion.position.position_regex.power.precedes.precision.prepare.primary.procedure.ptf.range.rank.reads.real.recursive.ref.references.referencing.regr_avgx.regr_avgy.regr_count.regr_intercept.regr_r2.regr_slope.regr_sxx.regr_sxy.regr_syy.release.result.return.returns.revoke.right.rollback.rollup.row.row_number.rows.running.savepoint.scope.scroll.search.second.seek.select.sensitive.session_user.set.show.similar.sin.sinh.skip.smallint.some.specific.specifictype.sql.sqlexception.sqlstate.sqlwarning.sqrt.start.static.stddev_pop.stddev_samp.submultiset.subset.substring.substring_regex.succeeds.sum.symmetric.system.system_time.system_user.table.tablesample.tan.tanh.then.time.timestamp.timezone_hour.timezone_minute.to.trailing.translate.translate_regex.translation.treat.trigger.trim.trim_array.true.truncate.uescape.union.unique.unknown.unnest.update.upper.user.using.value.values.value_of.var_pop.var_samp.varbinary.varchar.varying.versioning.when.whenever.where.width_bucket.window.with.within.without.year`.split(`.`),u=`abs.acos.array_agg.asin.atan.avg.cast.ceil.ceiling.coalesce.corr.cos.cosh.count.covar_pop.covar_samp.cume_dist.dense_rank.deref.element.exp.extract.first_value.floor.json_array.json_arrayagg.json_exists.json_object.json_objectagg.json_query.json_table.json_table_primitive.json_value.lag.last_value.lead.listagg.ln.log.log10.lower.max.min.mod.nth_value.ntile.nullif.percent_rank.percentile_cont.percentile_disc.position.position_regex.power.rank.regr_avgx.regr_avgy.regr_count.regr_intercept.regr_r2.regr_slope.regr_sxx.regr_sxy.regr_syy.row_number.sin.sinh.sqrt.stddev_pop.stddev_samp.substring.substring_regex.sum.tan.tanh.translate.translate_regex.treat.trim.trim_array.unnest.upper.value_of.var_pop.var_samp.width_bucket`.split(`.`),d=[`current_catalog`,`current_date`,`current_default_transform_group`,`current_path`,`current_role`,`current_schema`,`current_transform_group_for_type`,`current_user`,`session_user`,`system_time`,`system_user`,`current_time`,`localtime`,`current_timestamp`,`localtimestamp`],f=[`create table`,`insert into`,`primary key`,`foreign key`,`not null`,`alter table`,`add constraint`,`grouping sets`,`on overflow`,`character set`,`respect nulls`,`ignore nulls`,`nulls first`,`nulls last`,`depth first`,`breadth first`],p=u,m=[...l,...c].filter(e=>!u.includes(e)),h={scope:`variable`,match:/@[a-z0-9][a-z0-9_]*/},g={scope:`operator`,match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},_={match:t.concat(/\b/,t.either(...p),/\s*\(/),relevance:0,keywords:{built_in:p}};function v(e){return t.concat(/\b/,t.either(...e.map(e=>e.replace(/\s+/,`\\s+`))),/\b/)}let y={scope:`keyword`,match:v(f),relevance:0};function b(e,{exceptions:t,when:n}={}){let r=n;return t||=[],e.map(e=>e.match(/\|\d+$/)||t.includes(e)?e:r(e)?`${e}|0`:e)}return{name:`SQL`,case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:b(m,{when:e=>e.length<3}),literal:a,type:s,built_in:d},contains:[{scope:`type`,match:v(o)},y,_,h,r,i,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,g]}}t.exports=n})),Mb=f(((e,t)=>{function n(e){return e?typeof e==`string`?e:e.source:null}function r(e){return i(`(?=`,e,`)`)}function i(...e){return e.map(e=>n(e)).join(``)}function a(e){let t=e[e.length-1];return typeof t==`object`&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function o(...e){return`(`+(a(e).capture?``:`?:`)+e.map(e=>n(e)).join(`|`)+`)`}var s=e=>i(/\b/,e,/\w$/.test(e)?/\b/:/\B/),c=[`Protocol`,`Type`].map(s),l=[`init`,`self`].map(s),u=[`Any`,`Self`],d=[`actor`,`any`,`associatedtype`,`async`,`await`,/as\?/,/as!/,`as`,`borrowing`,`break`,`case`,`catch`,`class`,`consume`,`consuming`,`continue`,`convenience`,`copy`,`default`,`defer`,`deinit`,`didSet`,`distributed`,`do`,`dynamic`,`each`,`else`,`enum`,`extension`,`fallthrough`,/fileprivate\(set\)/,`fileprivate`,`final`,`for`,`func`,`get`,`guard`,`if`,`import`,`indirect`,`infix`,/init\?/,/init!/,`inout`,/internal\(set\)/,`internal`,`in`,`is`,`isolated`,`nonisolated`,`lazy`,`let`,`macro`,`mutating`,`nonmutating`,/open\(set\)/,`open`,`operator`,`optional`,`override`,`package`,`postfix`,`precedencegroup`,`prefix`,/private\(set\)/,`private`,`protocol`,/public\(set\)/,`public`,`repeat`,`required`,`rethrows`,`return`,`set`,`some`,`static`,`struct`,`subscript`,`super`,`switch`,`throws`,`throw`,/try\?/,/try!/,`try`,`typealias`,/unowned\(safe\)/,/unowned\(unsafe\)/,`unowned`,`var`,`weak`,`where`,`while`,`willSet`],f=[`false`,`nil`,`true`],p=[`assignment`,`associativity`,`higherThan`,`left`,`lowerThan`,`none`,`right`],m=[`#colorLiteral`,`#column`,`#dsohandle`,`#else`,`#elseif`,`#endif`,`#error`,`#file`,`#fileID`,`#fileLiteral`,`#filePath`,`#function`,`#if`,`#imageLiteral`,`#keyPath`,`#line`,`#selector`,`#sourceLocation`,`#warning`],h=`abs.all.any.assert.assertionFailure.debugPrint.dump.fatalError.getVaList.isKnownUniquelyReferenced.max.min.numericCast.pointwiseMax.pointwiseMin.precondition.preconditionFailure.print.readLine.repeatElement.sequence.stride.swap.swift_unboxFromSwiftValueWithType.transcode.type.unsafeBitCast.unsafeDowncast.withExtendedLifetime.withUnsafeMutablePointer.withUnsafePointer.withVaList.withoutActuallyEscaping.zip`.split(`.`),g=o(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),_=o(g,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),v=i(g,_,`*`),y=o(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),b=o(y,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),x=i(y,b,`*`),S=i(/[A-Z]/,b,`*`),C=[`attached`,`autoclosure`,i(/convention\(/,o(`swift`,`block`,`c`),/\)/),`discardableResult`,`dynamicCallable`,`dynamicMemberLookup`,`escaping`,`freestanding`,`frozen`,`GKInspectable`,`IBAction`,`IBDesignable`,`IBInspectable`,`IBOutlet`,`IBSegueAction`,`inlinable`,`main`,`nonobjc`,`NSApplicationMain`,`NSCopying`,`NSManaged`,i(/objc\(/,x,/\)/),`objc`,`objcMembers`,`propertyWrapper`,`requires_stored_property_inits`,`resultBuilder`,`Sendable`,`testable`,`UIApplicationMain`,`unchecked`,`unknown`,`usableFromInline`,`warn_unqualified_access`],w=[`iOS`,`iOSApplicationExtension`,`macOS`,`macOSApplicationExtension`,`macCatalyst`,`macCatalystApplicationExtension`,`watchOS`,`watchOSApplicationExtension`,`tvOS`,`tvOSApplicationExtension`,`swift`];function T(e){let t={match:/\s+/,relevance:0},n=e.COMMENT(`/\\*`,`\\*/`,{contains:[`self`]}),a=[e.C_LINE_COMMENT_MODE,n],g={match:[/\./,o(...c,...l)],className:{2:`keyword`}},y={match:i(/\./,o(...d)),relevance:0},T=d.filter(e=>typeof e==`string`).concat([`_|0`]),E={variants:[{className:`keyword`,match:o(...d.filter(e=>typeof e!=`string`).concat(u).map(s),...l)}]},D={$pattern:o(/\b\w+/,/#\w+/),keyword:T.concat(m),literal:f},O=[g,y,E],k=[{match:i(/\./,o(...h)),relevance:0},{className:`built_in`,match:i(/\b/,o(...h),/(?=\()/)}],A={match:/->/,relevance:0},ee=[A,{className:`operator`,relevance:0,variants:[{match:v},{match:`\\.(\\.|${_})+`}]}],j=`([0-9]_*)+`,M=`([0-9a-fA-F]_*)+`,N={className:`number`,relevance:0,variants:[{match:`\\b(${j})(\\.(${j}))?([eE][+-]?(${j}))?\\b`},{match:`\\b0x(${M})(\\.(${M}))?([pP][+-]?(${j}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},te=(e=``)=>({className:`subst`,variants:[{match:i(/\\/,e,/[0\\tnr"']/)},{match:i(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}]}),P=(e=``)=>({className:`subst`,match:i(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/)}),F=(e=``)=>({className:`subst`,label:`interpol`,begin:i(/\\/,e,/\(/),end:/\)/}),I=(e=``)=>({begin:i(e,/"""/),end:i(/"""/,e),contains:[te(e),P(e),F(e)]}),L=(e=``)=>({begin:i(e,/"/),end:i(/"/,e),contains:[te(e),F(e)]}),ne={className:`string`,variants:[I(),I(`#`),I(`##`),I(`###`),L(),L(`#`),L(`##`),L(`###`)]},R=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],z={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:R},re=e=>{let t=i(e,/\//),n=i(/\//,e);return{begin:t,end:n,contains:[...R,{scope:`comment`,begin:`#(?!.*${n})`,end:/$/}]}},B={scope:`regexp`,variants:[re(`###`),re(`##`),re(`#`),z]},ie={match:i(/`/,x,/`/)},ae=[ie,{className:`variable`,match:/\$\d+/},{className:`variable`,match:`\\$${b}+`}],V=[{match:/(@|#(un)?)available/,scope:`keyword`,starts:{contains:[{begin:/\(/,end:/\)/,keywords:w,contains:[...ee,N,ne]}]}},{scope:`keyword`,match:i(/@/,o(...C),r(o(/\(/,/\s+/)))},{scope:`meta`,match:i(/@/,x)}],oe={match:r(/\b[A-Z]/),relevance:0,contains:[{className:`type`,match:i(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,b,`+`)},{className:`type`,match:S,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:i(/\s+&\s+/,r(S)),relevance:0}]},se={begin:/</,end:/>/,keywords:D,contains:[...a,...O,...V,A,oe]};oe.contains.push(se);let H={begin:/\(/,end:/\)/,relevance:0,keywords:D,contains:[`self`,{match:i(x,/\s*:/),keywords:`_|0`,relevance:0},...a,B,...O,...k,...ee,N,ne,...ae,...V,oe]},ce={begin:/</,end:/>/,keywords:`repeat each`,contains:[...a,oe]},le={begin:/\(/,end:/\)/,keywords:D,contains:[{begin:o(r(i(x,/\s*:/)),r(i(x,/\s+/,x,/\s*:/))),end:/:/,relevance:0,contains:[{className:`keyword`,match:/\b_\b/},{className:`params`,match:x}]},...a,...O,...ee,N,ne,...V,oe,H],endsParent:!0,illegal:/["']/},ue={match:[/(func|macro)/,/\s+/,o(ie.match,x,v)],className:{1:`keyword`,3:`title.function`},contains:[ce,le,t],illegal:[/\[/,/%/]},de={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:`keyword`},contains:[ce,le,t],illegal:/\[|%/},fe={match:[/operator/,/\s+/,v],className:{1:`keyword`,3:`title`}},pe={begin:[/precedencegroup/,/\s+/,S],className:{1:`keyword`,3:`title`},contains:[oe],keywords:[...p,...f],end:/}/},me={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:`keyword`,3:`keyword`,5:`title.function`}},he={match:[/class\b/,/\s+/,/var\b/],scope:{1:`keyword`,3:`keyword`}},ge={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,x,/\s*/],beginScope:{1:`keyword`,3:`title.class`},keywords:D,contains:[ce,...O,{begin:/:/,end:/\{/,keywords:D,contains:[{scope:`title.class.inherited`,match:S},...O],relevance:0}]};for(let e of ne.variants){let t=e.contains.find(e=>e.label===`interpol`);t.keywords=D;let n=[...O,...k,...ee,N,ne,...ae];t.contains=[...n,{begin:/\(/,end:/\)/,contains:[`self`,...n]}]}return{name:`Swift`,keywords:D,contains:[...a,ue,de,me,he,ge,fe,pe,{beginKeywords:`import`,end:/$/,contains:[...a],relevance:0},B,...O,...k,...ee,N,ne,...ae,...V,oe,H]}}t.exports=T})),Nb=f(((e,t)=>{function n(e){let t=`true false yes no null`,n={className:`attr`,variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},r={className:`template-variable`,variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},i={className:`string`,relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:`char.escape`,relevance:0}]},a={className:`string`,relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,r]},o=e.inherit(a,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),s={className:`number`,begin:`\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b`},c={end:`,`,endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},l={begin:/\{/,end:/\}/,contains:[c],illegal:`\\n`,relevance:0},u={begin:`\\[`,end:`\\]`,contains:[c],illegal:`\\n`,relevance:0},d=[n,{className:`meta`,begin:`^---\\s*$`,relevance:10},{className:`string`,begin:`[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*`},{begin:`<%[%=-]?`,end:`[%-]?%>`,subLanguage:`ruby`,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:`type`,begin:`!\\w+![\\w#;/?:@&=+$,.~*'()[\\]]+`},{className:`type`,begin:`!<[\\w#;/?:@&=+$,.~*'()[\\]]+>`},{className:`type`,begin:`![\\w#;/?:@&=+$,.~*'()[\\]]+`},{className:`type`,begin:`!![\\w#;/?:@&=+$,.~*'()[\\]]+`},{className:`meta`,begin:`&`+e.UNDERSCORE_IDENT_RE+`$`},{className:`meta`,begin:`\\*`+e.UNDERSCORE_IDENT_RE+`$`},{className:`bullet`,begin:`-(?=[ ]|$)`,relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},s,{className:`number`,begin:e.C_NUMBER_RE+`\\b`,relevance:0},l,u,i,a],f=[...d];return f.pop(),f.push(o),c.contains=f,{name:`YAML`,case_insensitive:!0,aliases:[`yml`],contains:d}}t.exports=n})),Pb=f(((e,t)=>{var n=`[A-Za-z$_][0-9A-Za-z$_]*`,r=`as.in.of.if.for.while.finally.var.new.function.do.return.void.else.break.catch.instanceof.with.throw.case.default.try.switch.continue.typeof.delete.let.yield.const.class.debugger.async.await.static.import.from.export.extends.using`.split(`.`),i=[`true`,`false`,`null`,`undefined`,`NaN`,`Infinity`],a=`Object.Function.Boolean.Symbol.Math.Date.Number.BigInt.String.RegExp.Array.Float32Array.Float64Array.Int8Array.Uint8Array.Uint8ClampedArray.Int16Array.Int32Array.Uint16Array.Uint32Array.BigInt64Array.BigUint64Array.Set.Map.WeakSet.WeakMap.ArrayBuffer.SharedArrayBuffer.Atomics.DataView.JSON.Promise.Generator.GeneratorFunction.AsyncFunction.Reflect.Proxy.Intl.WebAssembly`.split(`.`),o=[`Error`,`EvalError`,`InternalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`],s=[`setInterval`,`setTimeout`,`clearInterval`,`clearTimeout`,`require`,`exports`,`eval`,`isFinite`,`isNaN`,`parseFloat`,`parseInt`,`decodeURI`,`decodeURIComponent`,`encodeURI`,`encodeURIComponent`,`escape`,`unescape`],c=[`arguments`,`this`,`super`,`console`,`window`,`document`,`localStorage`,`sessionStorage`,`module`,`global`],l=[].concat(s,a,o);function u(e){let t=e.regex,u=(e,{after:t})=>{let n=`</`+e[0].slice(1);return e.input.indexOf(n,t)!==-1},d=n,f={begin:`<>`,end:`</>`},p=/<[A-Za-z0-9\\._:-]+\s*\/>/,m={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,t)=>{let n=e[0].length+e.index,r=e.input[n];if(r===`<`||r===`,`){t.ignoreMatch();return}r===`>`&&(u(e,{after:n})||t.ignoreMatch());let i,a=e.input.substring(n);if(i=a.match(/^\s*=/)){t.ignoreMatch();return}if((i=a.match(/^\s+extends\s+/))&&i.index===0){t.ignoreMatch();return}}},h={$pattern:n,keyword:r,literal:i,built_in:l,"variable.language":c},g=`[0-9](_?[0-9])*`,_=`\\.(${g})`,v=`0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`,y={className:`number`,variants:[{begin:`(\\b(${v})((${_})|\\.)?|(${_}))[eE][+-]?(${g})\\b`},{begin:`\\b(${v})\\b((${_})\\b|\\.)?|(${_})\\b`},{begin:`\\b(0|[1-9](_?[0-9])*)n\\b`},{begin:`\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b`},{begin:`\\b0[bB][0-1](_?[0-1])*n?\\b`},{begin:`\\b0[oO][0-7](_?[0-7])*n?\\b`},{begin:`\\b0[0-7]+n?\\b`}],relevance:0},b={className:`subst`,begin:`\\$\\{`,end:`\\}`,keywords:h,contains:[]},x={begin:".?html`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,b],subLanguage:`xml`}},S={begin:".?css`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,b],subLanguage:`css`}},C={begin:".?gql`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,b],subLanguage:`graphql`}},w={className:`string`,begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,b]},T={className:`comment`,variants:[e.COMMENT(/\/\*\*(?!\/)/,`\\*/`,{relevance:0,contains:[{begin:`(?=@[A-Za-z]+)`,relevance:0,contains:[{className:`doctag`,begin:`@[A-Za-z]+`},{className:`type`,begin:`\\{`,end:`\\}`,excludeEnd:!0,excludeBegin:!0,relevance:0},{className:`variable`,begin:`[A-Za-z$_][0-9A-Za-z$_]*(?=\\s*(-)|$)`,endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},E=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,x,S,C,w,{match:/\$\d+/},y];b.contains=E.concat({begin:/\{/,end:/\}/,keywords:h,contains:[`self`].concat(E)});let D=[].concat(T,b.contains),O=D.concat([{begin:/(\s*)\(/,end:/\)/,keywords:h,contains:[`self`].concat(D)}]),k={className:`params`,begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:h,contains:O},A={variants:[{match:[/class/,/\s+/,d,/\s+/,/extends/,/\s+/,t.concat(d,`(`,t.concat(/\./,d),`)*`)],scope:{1:`keyword`,3:`title.class`,5:`keyword`,7:`title.class.inherited`}},{match:[/class/,/\s+/,d],scope:{1:`keyword`,3:`title.class`}}]},ee={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:`title.class`,keywords:{_:[...a,...o]}},j={label:`use_strict`,className:`meta`,relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},M={variants:[{match:[/function/,/\s+/,d,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:`keyword`,3:`title.function`},label:`func.def`,contains:[k],illegal:/%/},N={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:`variable.constant`};function te(e){return t.concat(`(?!`,e.join(`|`),`)`)}let P={match:t.concat(/\b/,te([...s,`super`,`import`].map(e=>`${e}\\s*\\(`)),d,t.lookahead(/\s*\(/)),className:`title.function`,relevance:0},F={begin:t.concat(/\./,t.lookahead(t.concat(d,/(?![0-9A-Za-z$_(])/))),end:d,excludeBegin:!0,keywords:`prototype`,className:`property`,relevance:0},I={match:[/get|set/,/\s+/,d,/(?=\()/],className:{1:`keyword`,3:`title.function`},contains:[{begin:/\(\)/},k]},L=`(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|`+e.UNDERSCORE_IDENT_RE+`)\\s*=>`,ne={match:[/const|var|let/,/\s+/,d,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(L)],keywords:`async`,className:{1:`keyword`,3:`title.function`},contains:[k]};return{name:`JavaScript`,aliases:[`js`,`jsx`,`mjs`,`cjs`],keywords:h,exports:{PARAMS_CONTAINS:O,CLASS_REFERENCE:ee},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:`shebang`,binary:`node`,relevance:5}),j,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,x,S,C,w,T,{match:/\$\d+/},y,ee,{scope:`attr`,match:d+t.lookahead(`:`),relevance:0},ne,{begin:`(`+e.RE_STARTERS_RE+`|\\b(case|return|throw)\\b)\\s*`,keywords:`return throw case`,relevance:0,contains:[T,e.REGEXP_MODE,{className:`function`,begin:L,returnBegin:!0,end:`\\s*=>`,contains:[{className:`params`,variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:h,contains:O}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:f.begin,end:f.end},{match:p},{begin:m.begin,"on:begin":m.isTrulyOpeningTag,end:m.end}],subLanguage:`xml`,contains:[{begin:m.begin,end:m.end,skip:!0,contains:[`self`]}]}]},M,{beginKeywords:`while if switch catch for`},{begin:`\\b(?!function)`+e.UNDERSCORE_IDENT_RE+`\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{`,returnBegin:!0,label:`func.def`,contains:[k,e.inherit(e.TITLE_MODE,{begin:d,className:`title.function`})]},{match:/\.\.\./,relevance:0},F,{match:`\\$[A-Za-z$_][0-9A-Za-z$_]*`,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:`title.function`},contains:[k]},P,N,A,I,{match:/\$[(.]/}]}}function d(e){let t=e.regex,a=u(e),o=[`any`,`void`,`number`,`boolean`,`string`,`object`,`never`,`symbol`,`bigint`,`unknown`],s={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:`keyword`,3:`title.class`}},d={beginKeywords:`interface`,end:/\{/,excludeEnd:!0,keywords:{keyword:`interface extends`,built_in:o},contains:[a.exports.CLASS_REFERENCE]},f={className:`meta`,relevance:10,begin:/^\s*['"]use strict['"]/},p={$pattern:n,keyword:r.concat([`type`,`interface`,`public`,`private`,`protected`,`implements`,`declare`,`abstract`,`readonly`,`enum`,`override`,`satisfies`]),literal:i,built_in:l.concat(o),"variable.language":c},m={className:`meta`,begin:`@[A-Za-z$_][0-9A-Za-z$_]*`},h=(e,t,n)=>{let r=e.contains.findIndex(e=>e.label===t);if(r===-1)throw Error(`can not find mode to replace`);e.contains.splice(r,1,n)};Object.assign(a.keywords,p),a.exports.PARAMS_CONTAINS.push(m);let g=a.contains.find(e=>e.scope===`attr`),_=Object.assign({},g,{match:t.concat(`[A-Za-z$_][0-9A-Za-z$_]*`,t.lookahead(/\s*\?:/))});a.exports.PARAMS_CONTAINS.push([a.exports.CLASS_REFERENCE,g,_]),a.contains=a.contains.concat([m,s,d,_]),h(a,`shebang`,e.SHEBANG()),h(a,`use_strict`,f);let v=a.contains.find(e=>e.label===`func.def`);return v.relevance=0,Object.assign(a,{name:`TypeScript`,aliases:[`ts`,`tsx`,`mts`,`cts`]}),a}t.exports=d})),Fb=f(((e,t)=>{function n(e){let t=e.regex,n={className:`string`,begin:/"(""|[^/n])"C\b/},r={className:`string`,begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},i=/\d{1,2}\/\d{1,2}\/\d{4}/,a=/\d{4}-\d{1,2}-\d{1,2}/,o=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,s=/\d{1,2}(:\d{1,2}){1,2}/,c={className:`literal`,variants:[{begin:t.concat(/# */,t.either(a,i),/ *#/)},{begin:t.concat(/# */,s,/ *#/)},{begin:t.concat(/# */,o,/ *#/)},{begin:t.concat(/# */,t.either(a,i),/ +/,t.either(o,s),/ *#/)}]},l={className:`number`,relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},u={className:`label`,begin:/^\w+:/},d=e.COMMENT(/'''/,/$/,{contains:[{className:`doctag`,begin:/<\/?/,end:/>/}]}),f=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:`Visual Basic .NET`,aliases:[`vb`],case_insensitive:!0,classNameAliases:{label:`symbol`},keywords:{keyword:`addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield`,built_in:`addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort`,type:`boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort`,literal:`true false nothing`},illegal:`//|\\{|\\}|endif|gosub|variant|wend|^\\$ `,contains:[n,r,c,l,u,d,f,{className:`meta`,begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:`const disable else elseif enable end externalsource if region then`},contains:[f]}]}}t.exports=n})),Ib=f(((e,t)=>{function n(e){e.regex;let t=e.COMMENT(/\(;/,/;\)/);return t.contains.push(`self`),{name:`WebAssembly`,keywords:{$pattern:/[\w.]+/,keyword:`anyfunc,block,br,br_if,br_table,call,call_indirect,data,drop,elem,else,end,export,func,global.get,global.set,local.get,local.set,local.tee,get_global,get_local,global,if,import,local,loop,memory,memory.grow,memory.size,module,mut,nop,offset,param,result,return,select,set_global,set_local,start,table,tee_local,then,type,unreachable`.split(`,`)},contains:[e.COMMENT(/;;/,/$/),t,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:`keyword`,3:`operator`}},{className:`variable`,begin:/\$[\w_]+/},{match:/(\((?!;)|\))+/,className:`punctuation`,relevance:0},{begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:`keyword`,3:`title.function`}},e.QUOTE_STRING_MODE,{match:/(i32|i64|f32|f64)(?!\.)/,className:`type`},{className:`keyword`,match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/},{className:`number`,relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/}]}}t.exports=n})),Lb=m(f(((e,t)=>{var n=eb();n.registerLanguage(`xml`,tb()),n.registerLanguage(`bash`,nb()),n.registerLanguage(`c`,rb()),n.registerLanguage(`cpp`,ib()),n.registerLanguage(`csharp`,ab()),n.registerLanguage(`css`,ob()),n.registerLanguage(`markdown`,sb()),n.registerLanguage(`diff`,cb()),n.registerLanguage(`ruby`,lb()),n.registerLanguage(`go`,ub()),n.registerLanguage(`graphql`,db()),n.registerLanguage(`ini`,fb()),n.registerLanguage(`java`,pb()),n.registerLanguage(`javascript`,mb()),n.registerLanguage(`json`,hb()),n.registerLanguage(`kotlin`,gb()),n.registerLanguage(`less`,_b()),n.registerLanguage(`lua`,vb()),n.registerLanguage(`makefile`,yb()),n.registerLanguage(`perl`,bb()),n.registerLanguage(`objectivec`,xb()),n.registerLanguage(`php`,Sb()),n.registerLanguage(`php-template`,Cb()),n.registerLanguage(`plaintext`,wb()),n.registerLanguage(`python`,Tb()),n.registerLanguage(`python-repl`,Eb()),n.registerLanguage(`r`,Db()),n.registerLanguage(`rust`,Ob()),n.registerLanguage(`scss`,kb()),n.registerLanguage(`shell`,Ab()),n.registerLanguage(`sql`,jb()),n.registerLanguage(`swift`,Mb()),n.registerLanguage(`yaml`,Nb()),n.registerLanguage(`typescript`,Pb()),n.registerLanguage(`vbnet`,Fb()),n.registerLanguage(`wasm`,Ib()),n.HighlightJS=n,n.default=n,t.exports=n}))()).default;function Rb(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function zb(e){if(Array.isArray(e))return e}function Bb(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t!==0)for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function Vb(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
262
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Hb(e,t){return zb(e)||Bb(e,t)||Ub(e,t)||Vb()}function Ub(e,t){if(e){if(typeof e==`string`)return Rb(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)?Rb(e,t):void 0}}var Wb=Object.entries,Gb=Object.setPrototypeOf,Kb=Object.isFrozen,qb=Object.getPrototypeOf,Jb=Object.getOwnPropertyDescriptor,Yb=Object.freeze,Xb=Object.seal,Zb=Object.create,Qb=typeof Reflect<`u`&&Reflect,$b=Qb.apply,ex=Qb.construct;Yb||=function(e){return e},Xb||=function(e){return e},$b||=function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];return e.apply(t,r)},ex||=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return new e(...n)};var tx=xx(Array.prototype.forEach),nx=xx(Array.prototype.lastIndexOf),rx=xx(Array.prototype.pop),ix=xx(Array.prototype.push),ax=xx(Array.prototype.splice),ox=Array.isArray,sx=xx(String.prototype.toLowerCase),cx=xx(String.prototype.toString),lx=xx(String.prototype.match),ux=xx(String.prototype.replace),dx=xx(String.prototype.indexOf),fx=xx(String.prototype.trim),px=xx(Number.prototype.toString),mx=xx(Boolean.prototype.toString),hx=typeof BigInt>`u`?null:xx(BigInt.prototype.toString),gx=typeof Symbol>`u`?null:xx(Symbol.prototype.toString),_x=xx(Object.prototype.hasOwnProperty),vx=xx(Object.prototype.toString),yx=xx(RegExp.prototype.test),bx=Sx(TypeError);function xx(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return $b(e,t,r)}}function Sx(e){return function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return ex(e,n)}}function Cx(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:sx;if(Gb&&Gb(e,null),!ox(t))return e;let r=t.length;for(;r--;){let i=t[r];if(typeof i==`string`){let e=n(i);e!==i&&(Kb(t)||(t[r]=e),i=e)}e[i]=!0}return e}function wx(e){for(let t=0;t<e.length;t++)_x(e,t)||(e[t]=null);return e}function Tx(e){let t=Zb(null);for(let r of Wb(e)){var n=Hb(r,2);let i=n[0],a=n[1];_x(e,i)&&(ox(a)?t[i]=wx(a):a&&typeof a==`object`&&a.constructor===Object?t[i]=Tx(a):t[i]=a)}return t}function Ex(e){switch(typeof e){case`string`:return e;case`number`:return px(e);case`boolean`:return mx(e);case`bigint`:return hx?hx(e):`0`;case`symbol`:return gx?gx(e):`Symbol()`;case`undefined`:return vx(e);case`function`:case`object`:{if(e===null)return vx(e);let t=e,n=Dx(t,`toString`);if(typeof n==`function`){let e=n(t);return typeof e==`string`?e:vx(e)}return vx(e)}default:return vx(e)}}function Dx(e,t){for(;e!==null;){let n=Jb(e,t);if(n){if(n.get)return xx(n.get);if(typeof n.value==`function`)return xx(n.value)}e=qb(e)}function n(){return null}return n}function Ox(e){try{return yx(e,``),!0}catch{return!1}}var kx=Yb(`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`.split(`.`)),Ax=Yb(`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`.split(`.`)),jx=Yb([`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`]),Mx=Yb([`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`]),Nx=Yb(`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`.split(`.`)),Px=Yb([`maction`,`maligngroup`,`malignmark`,`mlongdiv`,`mscarries`,`mscarry`,`msgroup`,`mstack`,`msline`,`msrow`,`semantics`,`annotation`,`annotation-xml`,`mprescripts`,`none`]),Fx=Yb([`#text`]),Ix=Yb(`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`.split(`.`)),Lx=Yb(`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`.split(`.`)),Rx=Yb(`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`.split(`.`)),zx=Yb([`xlink:href`,`xml:id`,`xlink:title`,`xml:space`,`xmlns:xlink`]),Bx=Xb(/{{[\w\W]*|^[\w\W]*}}/g),Vx=Xb(/<%[\w\W]*|^[\w\W]*%>/g),Hx=Xb(/\${[\w\W]*/g),Ux=Xb(/^data-[\-\w.\u00B7-\uFFFF]+$/),Wx=Xb(/^aria-[\-\w]+$/),Gx=Xb(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Kx=Xb(/^(?:\w+script|data):/i),qx=Xb(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Jx=Xb(/^html$/i),Yx=Xb(/^[a-z][.\w]*(-[.\w]+)+$/i),Xx=Xb(/<[/\w!]/g),Zx=Xb(/<[/\w]/g),Qx=Xb(/<\/no(script|embed|frames)/i),$x=Xb(/\/>/i),eS={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},tS=function(){return typeof window>`u`?null:window},nS=function(e,t){if(typeof e!=`object`||typeof e.createPolicy!=`function`)return null;let n=null,r=`data-tt-policy-suffix`;t&&t.hasAttribute(r)&&(n=t.getAttribute(r));let i=`dompurify`+(n?`#`+n:``);try{return e.createPolicy(i,{createHTML(e){return e},createScriptURL(e){return e}})}catch{return console.warn(`TrustedTypes policy `+i+` could not be created.`),null}},rS=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},iS=function(e,t,n,r){return _x(e,t)&&ox(e[t])?Cx(r.base?Tx(r.base):{},e[t],r.transform):n};function aS(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:tS(),t=e=>aS(e);if(t.version=`3.4.13`,t.removed=[],!e||!e.document||e.document.nodeType!==eS.document||!e.Element)return t.isSupported=!1,t;let n=e.document,r=n,i=r.currentScript;e.DocumentFragment;let a=e.HTMLTemplateElement,o=e.Node,s=e.Element,c=e.NodeFilter;e.NamedNodeMap===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;let l=e.DOMParser,u=e.trustedTypes,d=s.prototype,f=Dx(d,`cloneNode`),p=Dx(d,`remove`),m=Dx(d,`nextSibling`),h=Dx(d,`childNodes`),g=Dx(d,`parentNode`),_=Dx(d,`shadowRoot`),v=Dx(d,`attributes`),y=o&&o.prototype?Dx(o.prototype,`nodeType`):null,b=o&&o.prototype?Dx(o.prototype,`nodeName`):null,x=o&&o.prototype?Dx(o.prototype,`ownerDocument`):null;if(typeof a==`function`){let e=n.createElement(`template`);e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let S,C=``,w,T=!1,E=0,D=function(){if(E>0)throw bx(`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.`)},O=function(e){D(),E++;try{return S.createHTML(e)}finally{E--}},k=function(e){D(),E++;try{return S.createScriptURL(e)}finally{E--}},A=function(){return T||=(w=nS(u,i),!0),w},ee=n,j=ee.implementation,M=ee.createNodeIterator,N=ee.createDocumentFragment,te=ee.getElementsByTagName,P=r.importNode,F=rS();t.isSupported=typeof Wb==`function`&&typeof g==`function`&&j&&j.createHTMLDocument!==void 0;let I=Bx,L=Vx,ne=Hx,R=Ux,z=Wx,re=Kx,B=qx,ie=Yx,ae=Gx,V=null,oe=Cx({},[...kx,...Ax,...jx,...Nx,...Fx]),se=null,H=Cx({},[...Ix,...Lx,...Rx,...zx]),ce=Object.seal(Zb(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}})),le=null,ue=null,de=Object.seal(Zb(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),fe=!0,pe=!0,me=!1,he=!0,ge=!1,_e=!0,ve=!1,ye=!1,be=null,xe=null,Se=!1,Ce=!1,we=!1,Te=!1,Ee=!0,De=!1,Oe=`user-content-`,U=!0,ke=!1,Ae={},je=null,Me=Cx({},`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`.split(`.`)),Ne=null,Pe=Cx({},[`audio`,`video`,`img`,`source`,`image`,`track`]),Fe=null,Ie=Cx({},[`alt`,`class`,`for`,`id`,`label`,`name`,`pattern`,`placeholder`,`role`,`summary`,`title`,`value`,`style`,`xmlns`]),Le=`http://www.w3.org/1998/Math/MathML`,Re=`http://www.w3.org/2000/svg`,ze=`http://www.w3.org/1999/xhtml`,Be=ze,W=!1,Ve=null,He=Cx({},[Le,Re,ze],cx),Ue=Yb([`mi`,`mo`,`mn`,`ms`,`mtext`]),We=Cx({},Ue),Ge=Yb([`annotation-xml`]),Ke=Cx({},Ge),qe=Cx({},[`title`,`style`,`font`,`a`,`script`]),Je=null,Ye=[`application/xhtml+xml`,`text/html`],Xe=null,Ze=null,Qe=n.createElement(`form`),$e=function(e){return e instanceof RegExp||e instanceof Function},et=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Ze&&Ze===e)return;(!e||typeof e!=`object`)&&(e={}),e=Tx(e),Je=Ye.indexOf(e.PARSER_MEDIA_TYPE)===-1?`text/html`:e.PARSER_MEDIA_TYPE,Xe=Je===`application/xhtml+xml`?cx:sx,V=iS(e,`ALLOWED_TAGS`,oe,{transform:Xe}),se=iS(e,`ALLOWED_ATTR`,H,{transform:Xe}),Ve=iS(e,`ALLOWED_NAMESPACES`,He,{transform:cx}),Fe=iS(e,`ADD_URI_SAFE_ATTR`,Ie,{transform:Xe,base:Ie}),Ne=iS(e,`ADD_DATA_URI_TAGS`,Pe,{transform:Xe,base:Pe}),je=iS(e,`FORBID_CONTENTS`,Me,{transform:Xe}),le=iS(e,`FORBID_TAGS`,Tx({}),{transform:Xe}),ue=iS(e,`FORBID_ATTR`,Tx({}),{transform:Xe}),Ae=_x(e,`USE_PROFILES`)?e.USE_PROFILES&&typeof e.USE_PROFILES==`object`?Tx(e.USE_PROFILES):e.USE_PROFILES:!1,fe=e.ALLOW_ARIA_ATTR!==!1,pe=e.ALLOW_DATA_ATTR!==!1,me=e.ALLOW_UNKNOWN_PROTOCOLS||!1,he=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,ge=e.SAFE_FOR_TEMPLATES||!1,_e=e.SAFE_FOR_XML!==!1,ve=e.WHOLE_DOCUMENT||!1,Ce=e.RETURN_DOM||!1,we=e.RETURN_DOM_FRAGMENT||!1,Te=e.RETURN_TRUSTED_TYPE||!1,Se=e.FORCE_BODY||!1,Ee=e.SANITIZE_DOM!==!1,De=e.SANITIZE_NAMED_PROPS||!1,U=e.KEEP_CONTENT!==!1,ke=e.IN_PLACE||!1,ae=Ox(e.ALLOWED_URI_REGEXP)?e.ALLOWED_URI_REGEXP:Gx,Be=typeof e.NAMESPACE==`string`?e.NAMESPACE:ze,We=_x(e,`MATHML_TEXT_INTEGRATION_POINTS`)&&e.MATHML_TEXT_INTEGRATION_POINTS&&typeof e.MATHML_TEXT_INTEGRATION_POINTS==`object`?Tx(e.MATHML_TEXT_INTEGRATION_POINTS):Cx({},Ue),Ke=_x(e,`HTML_INTEGRATION_POINTS`)&&e.HTML_INTEGRATION_POINTS&&typeof e.HTML_INTEGRATION_POINTS==`object`?Tx(e.HTML_INTEGRATION_POINTS):Cx({},Ge);let t=_x(e,`CUSTOM_ELEMENT_HANDLING`)&&e.CUSTOM_ELEMENT_HANDLING&&typeof e.CUSTOM_ELEMENT_HANDLING==`object`?Tx(e.CUSTOM_ELEMENT_HANDLING):Zb(null);if(ce=Zb(null),_x(t,`tagNameCheck`)&&$e(t.tagNameCheck)&&(ce.tagNameCheck=t.tagNameCheck),_x(t,`attributeNameCheck`)&&$e(t.attributeNameCheck)&&(ce.attributeNameCheck=t.attributeNameCheck),_x(t,`allowCustomizedBuiltInElements`)&&typeof t.allowCustomizedBuiltInElements==`boolean`&&(ce.allowCustomizedBuiltInElements=t.allowCustomizedBuiltInElements),Xb(ce),ge&&(pe=!1),we&&(Ce=!0),Ae&&(V=Cx({},Fx),se=Zb(null),Ae.html===!0&&(Cx(V,kx),Cx(se,Ix)),Ae.svg===!0&&(Cx(V,Ax),Cx(se,Lx),Cx(se,zx)),Ae.svgFilters===!0&&(Cx(V,jx),Cx(se,Lx),Cx(se,zx)),Ae.mathMl===!0&&(Cx(V,Nx),Cx(se,Rx),Cx(se,zx))),de.tagCheck=null,de.attributeCheck=null,_x(e,`ADD_TAGS`)&&(typeof e.ADD_TAGS==`function`?de.tagCheck=e.ADD_TAGS:ox(e.ADD_TAGS)&&(V===oe&&(V=Tx(V)),Cx(V,e.ADD_TAGS,Xe))),_x(e,`ADD_ATTR`)&&(typeof e.ADD_ATTR==`function`?de.attributeCheck=e.ADD_ATTR:ox(e.ADD_ATTR)&&(se===H&&(se=Tx(se)),Cx(se,e.ADD_ATTR,Xe))),_x(e,`ADD_URI_SAFE_ATTR`)&&ox(e.ADD_URI_SAFE_ATTR)&&Cx(Fe,e.ADD_URI_SAFE_ATTR,Xe),_x(e,`FORBID_CONTENTS`)&&ox(e.FORBID_CONTENTS)&&(je===Me&&(je=Tx(je)),Cx(je,e.FORBID_CONTENTS,Xe)),_x(e,`ADD_FORBID_CONTENTS`)&&ox(e.ADD_FORBID_CONTENTS)&&(je===Me&&(je=Tx(je)),Cx(je,e.ADD_FORBID_CONTENTS,Xe)),U&&(V[`#text`]=!0),ve&&Cx(V,[`html`,`head`,`body`]),V.table&&(Cx(V,[`tbody`]),delete le.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!=`function`)throw bx(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!=`function`)throw bx(`TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.`);let t=S;S=e.TRUSTED_TYPES_POLICY;try{C=O(``)}catch(e){throw S=t,e}}else e.TRUSTED_TYPES_POLICY===null?(S=void 0,C=``):(S===void 0&&(S=A()),S&&typeof C==`string`&&(C=O(``)));Yb&&Yb(e),Ze=e},tt=Cx({},[...Ax,...jx,...Mx]),nt=Cx({},[...Nx,...Px]),rt=function(e,t,n){return t.namespaceURI===ze?e===`svg`:t.namespaceURI===Le?e===`svg`&&(n===`annotation-xml`||We[n]):!!tt[e]},it=function(e,t,n){return t.namespaceURI===ze?e===`math`:t.namespaceURI===Re?e===`math`&&Ke[n]:!!nt[e]},at=function(e,t,n){return t.namespaceURI===Re&&!Ke[n]||t.namespaceURI===Le&&!We[n]?!1:!nt[e]&&(qe[e]||!tt[e])},ot=function(e){let t=g(e);(!t||!t.tagName)&&(t={namespaceURI:Be,tagName:`template`});let n=sx(e.tagName),r=sx(t.tagName);return Ve[e.namespaceURI]?e.namespaceURI===Re?rt(n,t,r):e.namespaceURI===Le?it(n,t,r):e.namespaceURI===ze?at(n,t,r):!!(Je===`application/xhtml+xml`&&Ve[e.namespaceURI]):!1},st=function(e){ix(t.removed,{element:e});try{g(e).removeChild(e)}catch{if(p(e),!g(e))throw bx(`a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place`)}},ct=function(e){dt(e);let t=h(e);if(t){let e=[];tx(t,t=>{ix(e,t)}),tx(e,e=>{try{p(e)}catch{}})}let n=v(e);if(n)for(let t=n.length-1;t>=0;--t){let r=n[t],i=r&&r.name;if(typeof i==`string`)try{e.removeAttribute(i)}catch{}}},lt=function(e,n){try{ix(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch{ix(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),e===`is`)if(Ce||we)try{st(n)}catch{}else try{n.setAttribute(e,``)}catch{}},ut=function(e){let t=v(e);if(t)for(let n=t.length-1;n>=0;--n){let r=t[n],i=r&&r.name;if(!(typeof i!=`string`||se[Xe(i)]))try{e.removeAttribute(i)}catch{}}},dt=function(e){let t=[e];for(;t.length>0;){let e=t.pop();(y?y(e):e.nodeType)===eS.element&&ut(e);let n=h(e);if(n)for(let e=n.length-1;e>=0;--e)t.push(n[e])}},ft=function(e){if(!_e)return;let t=[e];for(;t.length>0;){let e=t.pop(),n=y?y(e):e.nodeType;if(n===eS.processingInstruction||n===eS.comment&&yx(Zx,e.data)){try{p(e)}catch{}continue}if(n===eS.element){let t=e,n=Xe(b?b(e):e.nodeName);try{t.hasAttribute&&t.hasAttribute(`patchsrc`)&&t.removeAttribute(`patchsrc`),t.hasAttribute&&t.hasAttribute(`for`)&&n!==`label`&&n!==`output`&&t.removeAttribute(`for`)}catch{}}let r=h(e);if(r)for(let e=r.length-1;e>=0;--e)t.push(r[e])}},pt=function(e){let t=null,r=null;if(Se)e=`<remove></remove>`+e;else{let t=lx(e,/^[\r\n\t ]+/);r=t&&t[0]}Je===`application/xhtml+xml`&&Be===ze&&(e=`<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>`+e+`</body></html>`);let i=S?O(e):e;if(Be===ze)try{t=new l().parseFromString(i,Je)}catch{}if(!t||!t.documentElement){t=j.createDocument(Be,`template`,null);try{t.documentElement.innerHTML=W?C:i}catch{}}let a=t.body||t.documentElement;return e&&r&&a.insertBefore(n.createTextNode(r),a.childNodes[0]||null),Be===ze?te.call(t,ve?`html`:`body`)[0]:ve?t.documentElement:a},mt=function(e){let t=x?x(e):e.ownerDocument;return M.call(t||e,e,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},ht=function(e){return e=ux(e,I,` `),e=ux(e,L,` `),e=ux(e,ne,` `),e},gt=function(e){e.normalize();let t=x?x(e):e.ownerDocument,n=M.call(t||e,e,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null),r=n.nextNode();for(;r;)r.data=ht(r.data),r=n.nextNode();let i=e.querySelectorAll?.call(e,`template`);i&&tx(i,e=>{vt(e.content)&>(e.content)})},_t=function(e){let t=b?b(e):null;return typeof t!=`string`||Xe(t)!==`form`?!1:typeof e.nodeName!=`string`||typeof e.textContent!=`string`||typeof e.removeChild!=`function`||e.attributes!==v(e)||typeof e.removeAttribute!=`function`||typeof e.setAttribute!=`function`||typeof e.namespaceURI!=`string`||typeof e.insertBefore!=`function`||typeof e.hasChildNodes!=`function`||e.nodeType!==y(e)||e.childNodes!==h(e)},vt=function(e){if(!y||typeof e!=`object`||!e)return!1;try{return y(e)===eS.documentFragment}catch{return!1}},yt=function(e){if(!y||typeof e!=`object`||!e)return!1;try{return typeof y(e)==`number`}catch{return!1}};function bt(e,n,r){e.length!==0&&tx(e,e=>{e.call(t,n,r,Ze)})}let xt=function(e,t){return!!(_e&&e.hasChildNodes()&&!yt(e.firstElementChild)&&yx(Xx,e.textContent)&&yx(Xx,e.innerHTML)||_e&&e.namespaceURI===ze&&t===`style`&&yt(e.firstElementChild)||e.nodeType===eS.processingInstruction||_e&&e.nodeType===eS.comment&&yx(Zx,e.data))},St=function(e,t,n){if(!le[t]&&Dt(t)&&(ce.tagNameCheck instanceof RegExp&&yx(ce.tagNameCheck,t)||ce.tagNameCheck instanceof Function&&ce.tagNameCheck(t)))return!1;if(U&&!je[t]){let t=g(e),r=h(e);if(r&&t){let i=r.length;for(let a=i-1;a>=0;--a){let i=e===n?f(r[a],!0):r[a];t.insertBefore(i,m(e))}}}return st(e),!0},Ct=function(e,t,n,r){return e.length===0?t:t===n||t===r?Tx(t):t},wt=function(e,n){if(bt(F.beforeSanitizeElements,e,null),e!==n&&g(e)===null)return ke&&dt(e),!0;if(_t(e))return st(e),!0;let r=Xe(b?b(e):e.nodeName);if(V=Ct(F.uponSanitizeElement,V,oe,be),bt(F.uponSanitizeElement,e,{tagName:r,allowedTags:V}),e!==n&&g(e)===null)return ke&&dt(e),!0;if(xt(e,r))return st(e),!0;if(le[r]||!(de.tagCheck instanceof Function&&de.tagCheck(r))&&!V[r]){let t=St(e,r,n);return t===!1&&bt(F.afterSanitizeElements,e,null),t}if((y?y(e):e.nodeType)===eS.element&&!ot(e)||(r===`noscript`||r===`noembed`||r===`noframes`)&&yx(Qx,e.innerHTML))return st(e),!0;if(ge&&e.nodeType===eS.text){let n=ht(e.textContent);e.textContent!==n&&(ix(t.removed,{element:e.cloneNode()}),e.textContent=n)}return bt(F.afterSanitizeElements,e,null),!1},Tt=function(e,t,r){if(ue[t]||_e&&t===`patchsrc`||_e&&t===`for`&&e!==`label`&&e!==`output`||Ee&&(t===`id`||t===`name`)&&(r in n||r in Qe))return!1;let i=se[t]||de.attributeCheck instanceof Function&&de.attributeCheck(t,e);if(!(pe&&yx(R,t))&&!(fe&&yx(z,t))){if(!i){if(!(Dt(e)&&(ce.tagNameCheck instanceof RegExp&&yx(ce.tagNameCheck,e)||ce.tagNameCheck instanceof Function&&ce.tagNameCheck(e))&&(ce.attributeNameCheck instanceof RegExp&&yx(ce.attributeNameCheck,t)||ce.attributeNameCheck instanceof Function&&ce.attributeNameCheck(t,e))||t===`is`&&ce.allowCustomizedBuiltInElements&&(ce.tagNameCheck instanceof RegExp&&yx(ce.tagNameCheck,r)||ce.tagNameCheck instanceof Function&&ce.tagNameCheck(r))))return!1}else if(!Fe[t]&&!yx(ae,ux(r,B,``))&&!((t===`src`||t===`xlink:href`||t===`href`)&&e!==`script`&&dx(r,`data:`)===0&&Ne[e])&&!(me&&!yx(re,ux(r,B,``)))&&r)return!1}return!0},Et=Cx({},[`annotation-xml`,`color-profile`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`missing-glyph`]),Dt=function(e){return!Et[sx(e)]&&yx(ie,e)},G=function(e,t,n,r){if(S&&typeof u==`object`&&typeof u.getAttributeType==`function`&&!n)switch(u.getAttributeType(e,t)){case`TrustedHTML`:return O(r);case`TrustedScriptURL`:return k(r)}return r},Ot=function(e,n,r,i){try{r?e.setAttributeNS(r,n,i):e.setAttribute(n,i),_t(e)?st(e):rx(t.removed)}catch{lt(n,e)}},kt=function(e){bt(F.beforeSanitizeAttributes,e,null);let t=e.attributes;if(!t||_t(e))return;se=Ct(F.uponSanitizeAttribute,se,H,xe);let n={attrName:``,attrValue:``,keepAttr:!0,allowedAttributes:se,forceKeepAttr:void 0},r=t.length,i=Xe(e.nodeName);for(;r--;){let a=t[r],o=a.name,s=a.namespaceURI,c=a.value,l=Xe(o),u=c,d=o===`value`?u:fx(u);if(n.attrName=l,n.attrValue=d,n.keepAttr=!0,n.forceKeepAttr=void 0,bt(F.uponSanitizeAttribute,e,n),d=n.attrValue,De&&(l===`id`||l===`name`)&&dx(d,Oe)!==0&&(lt(o,e),d=Oe+d),_e&&yx(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,d)){lt(o,e);continue}if(l===`attributename`&&lx(d,`href`)){lt(o,e);continue}if(!n.forceKeepAttr){if(!n.keepAttr){lt(o,e);continue}if(!he&&yx($x,d)){lt(o,e);continue}if(ge&&(d=ht(d)),!Tt(i,l,d)){lt(o,e);continue}d=G(i,l,s,d),d!==u&&Ot(e,o,s,d)}}bt(F.afterSanitizeAttributes,e,null)},At=function(e){let t=null,n=mt(e);for(bt(F.beforeSanitizeShadowDOM,e,null);t=n.nextNode();)if(bt(F.uponSanitizeShadowNode,t,null),wt(t,e),kt(t),vt(t.content)&&At(t.content),(y?y(t):t.nodeType)===eS.element){let e=_(t);vt(e)&&(jt(e),At(e))}bt(F.afterSanitizeShadowDOM,e,null)},jt=function(e){let t=[{node:e,shadow:null}];for(;t.length>0;){let e=t.pop();if(e.shadow){At(e.shadow);continue}let n=e.node,r=(y?y(n):n.nodeType)===eS.element,i=h(n);if(i)for(let e=i.length-1;e>=0;--e)t.push({node:i[e],shadow:null});if(r){let e=b?b(n):null;if(typeof e==`string`&&Xe(e)===`template`){let e=n.content;vt(e)&&t.push({node:e,shadow:null})}}if(r){let e=_(n);vt(e)&&t.push({node:null,shadow:e},{node:e,shadow:null})}}};return t.sanitize=function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=null,a=null,o=null,s=null;if(W=!e,W&&(e=`<!-->`),typeof e!=`string`&&!yt(e)&&(e=Ex(e),typeof e!=`string`))throw bx(`dirty is not a string, aborting`);if(!t.isSupported)return e;ye?(V=be,se=xe):et(n),(F.uponSanitizeElement.length>0||F.uponSanitizeAttribute.length>0)&&(V=Tx(V)),F.uponSanitizeAttribute.length>0&&(se=Tx(se)),t.removed=[];let c=ke&&typeof e!=`string`&&yt(e);if(c){ft(e);let t=b?b(e):e.nodeName;if(typeof t==`string`){let n=Xe(t);if(!V[n]||le[n])throw ct(e),bx(`root node is forbidden and cannot be sanitized in-place`)}if(_t(e))throw ct(e),bx(`root node is clobbered and cannot be sanitized in-place`);try{jt(e)}catch(t){throw ct(e),t}}else if(yt(e))i=pt(`<!---->`),a=i.ownerDocument.importNode(e,!0),a.nodeType===eS.element&&a.nodeName===`BODY`||a.nodeName===`HTML`?i=a:i.appendChild(a),jt(a);else{if(!Ce&&!ge&&!ve&&e.indexOf(`<`)===-1)return S&&Te?O(e):e;if(i=pt(e),!i)return Ce?null:Te?C:``}i&&Se&&st(i.firstChild);let l=c?e:i;try{let e=mt(l);for(;o=e.nextNode();)wt(o,l),kt(o),vt(o.content)&&At(o.content)}catch(n){throw c&&(ct(e),tx(t.removed,e=>{e.element&&dt(e.element)})),n}if(c)return tx(t.removed,e=>{e.element&&dt(e.element)}),ge&>(e),e;if(Ce){if(ge&>(i),we)for(s=N.call(i.ownerDocument);i.firstChild;)s.appendChild(i.firstChild);else s=i;return(se.shadowroot||se.shadowrootmode)&&(s=P.call(r,s,!0)),s}let u=ve?i.outerHTML:i.innerHTML;return ve&&V[`!doctype`]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&yx(Jx,i.ownerDocument.doctype.name)&&(u=`<!DOCTYPE `+i.ownerDocument.doctype.name+`>
|
|
263
|
-
`+u),ge&&(u=ht(u)),S&&Te?O(u):u},t.setConfig=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};et(e),ye=!0,be=V,xe=se},t.clearConfig=function(){Ze=null,ye=!1,be=null,xe=null,S=w,C=``},t.isValidAttribute=function(e,t,n){Ze||et({});let r=Xe(e),i=Xe(t);return Tt(r,i,n)},t.addHook=function(e,t){typeof t==`function`&&_x(F,e)&&ix(F[e],t)},t.removeHook=function(e,t){if(_x(F,e)){if(t!==void 0){let n=nx(F[e],t);return n===-1?void 0:ax(F[e],n,1)[0]}return rx(F[e])}},t.removeHooks=function(e){_x(F,e)&&(F[e]=[])},t.removeAllHooks=function(){F=rS()},t}var oS=aS();$y.setOptions({breaks:!0,gfm:!0});var sS=2e4,cS=new $y.Renderer;cS.code=({text:e,lang:t})=>{let n=(t||``).trim()||`plaintext`,r=``;if(e.length>2e4)r=uS(e);else try{r=Lb.highlight(e,{language:n,ignoreIllegals:!0}).value}catch{r=uS(e)}let i=encodeURIComponent(e),a=lS(n);return`<pre class="code-block" data-lang="${a}" data-code="${i}"><code class="hljs language-${a}">${r}</code></pre>`};function lS(e){return e.replace(/&/g,`&`).replace(/"/g,`"`).replace(/</g,`<`).replace(/>/g,`>`)}function uS(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`)}var dS={ADD_ATTR:[`data-code`,`data-lang`,`target`,`rel`]};function fS(e){return oS.sanitize(e,dS)}function pS(e){return $y.parse(e||``,{renderer:cS})}function mS(e){return fS(pS(e))}var hS=100,gS=2e3;function _S(e){let t=xn(mS(e())),n=0,r=null;function i(){r=null,n=Date.now(),t.value=mS(e())}return $r(e,()=>{let a=e();if(a.length<=gS){r&&=(clearTimeout(r),null),n=Date.now(),t.value=mS(a);return}let o=n+hS-Date.now();o<=0?(r&&=(clearTimeout(r),null),i()):r||=setTimeout(i,o)}),qe(()=>{r&&=(clearTimeout(r),null)}),{html:t,codeBlocks:Ys(()=>{let t=[],n=/```(\w+)?\n([\s\S]*?)```/g,r;for(;(r=n.exec(e()||``))!==null;)t.push({lang:(r[1]||`plaintext`).toLowerCase(),code:r[2]});return t})}}var vS={class:`code-preview-modal`},yS={class:`preview-header`},bS={class:`preview-title`},xS={class:`preview-tabs`},SS=[`disabled`],CS={class:`preview-actions`},wS=[`title`],TS={key:0,viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`},ES={key:1,viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`},DS={class:`preview-body`},OS=[`srcdoc`],kS={key:1,class:`preview-source`},AS=M_(Mi({__name:`CodePreview`,props:{code:{},lang:{}},emits:[`close`],setup(e,{emit:t}){let n=e,r=t,i=bn(null),a=bn(`preview`),o=bn(!1),s=Ys(()=>{let e=n.lang.toLowerCase();return[`html`,`htm`,`vue`,`javascript`,`js`,`css`].includes(e)}),c=Ys(()=>{let e=n.lang.toLowerCase();return e===`html`||e===`htm`?n.code:e===`vue`?l(n.code):e===`javascript`||e===`js`?`<!DOCTYPE html><html><head><meta charset="utf-8"><style>body{font-family:sans-serif;padding:16px}</style></head><body><div id="app"></div><script>${n.code}<\/script></body></html>`:e===`css`?`<!DOCTYPE html><html><head><meta charset="utf-8"><style>${n.code}</style></head><body><div class="demo"><h1>CSS 预览</h1><p>这是一段示例文字,用于展示 CSS 效果。</p><button>按钮</button><input placeholder="输入框"/></div></body></html>`:n.code});function l(e){let t=e.replace(/<\/script>/g,`<\\/script>`);return`<!DOCTYPE html><html><head><meta charset="utf-8">
|
|
261
|
+
`,1;if(F>1e5&&F>r.index*3)throw Error(`potential infinite loop, way more iterations than matches`);return N+=a,a.length}let D=M(e);if(!D)throw de(s.replace(`{}`,e)),Error(`Unknown language: "`+e+`"`);let O=be(D),k=``,A=a||O,ee={},j=new l.__emitter(l);w();let N=``,te=0,P=0,F=0,I=!1;try{if(D.__emitTokens)D.__emitTokens(n,j);else{for(A.matcher.considerAll();;){F++,I?I=!1:A.matcher.considerAll(),A.matcher.lastIndex=P;let e=A.matcher.exec(n);if(!e)break;let t=E(n.substring(P,e.index),e);P=e.index+t}E(n.substring(P))}return j.finalize(),k=j.toHTML(),{language:e,value:k,relevance:te,illegal:!1,_emitter:j,_top:A}}catch(t){if(t.message&&t.message.includes(`Illegal`))return{language:e,value:Te(n),illegal:!0,relevance:0,_illegalBy:{message:t.message,index:P,context:n.slice(P-100,P+100),mode:t.mode,resultSoFar:k},_emitter:j};if(o)return{language:e,value:Te(n),illegal:!1,relevance:0,errorRaised:t,_emitter:j,_top:A};throw t}}function b(e){let t={value:Te(e),illegal:!1,relevance:0,_top:c,_emitter:new l.__emitter(l)};return t._emitter.addText(e),t}function S(e,n){n=n||l.languages||Object.keys(t);let r=b(e),i=n.filter(M).filter(te).map(t=>v(t,e,!1));i.unshift(r);let[a,o]=i.sort((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(M(e.language).supersetOf===t.language)return 1;if(M(t.language).supersetOf===e.language)return-1}return 0}),s=a;return s.secondBest=o,s}function C(e,t,n){let r=t&&i[t]||n;e.classList.add(`hljs`),e.classList.add(`language-${r}`)}function w(e){let t=null,n=d(e);if(u(n))return;if(L(`before:highlightElement`,{el:e,language:n}),e.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",e);return}if(e.children.length>0&&(l.ignoreUnescapedHTML||(console.warn(`One of your code blocks includes unescaped HTML. This is a potentially serious security risk.`),console.warn(`https://github.com/highlightjs/highlight.js/wiki/security`),console.warn(`The element with unescaped HTML:`),console.warn(e)),l.throwUnescapedHTML))throw new we(`One of your code blocks includes unescaped HTML.`,e.innerHTML);t=e;let r=t.textContent,i=n?p(r,{language:n,ignoreIllegals:!0}):S(r);e.innerHTML=i.value,e.dataset.highlighted=`yes`,C(e,n,i.language),e.result={language:i.language,re:i.relevance,relevance:i.relevance},i.secondBest&&(e.secondBest={language:i.secondBest.language,relevance:i.secondBest.relevance}),L(`after:highlightElement`,{el:e,result:i,text:r})}function T(e){l=Ee(l,e)}let E=()=>{k(),pe(`10.6.0`,`initHighlighting() deprecated. Use highlightAll() now.`)};function D(){k(),pe(`10.6.0`,`initHighlightingOnLoad() deprecated. Use highlightAll() now.`)}let O=!1;function k(){function e(){k()}if(document.readyState===`loading`){O||window.addEventListener(`DOMContentLoaded`,e,!1),O=!0;return}document.querySelectorAll(l.cssSelector).forEach(w)}function A(n,r){let i=null;try{i=r(e)}catch(e){if(de(`Language definition for '{}' could not be registered.`.replace(`{}`,n)),o)de(e);else throw e;i=c}i.name||=n,t[n]=i,i.rawDefinition=r.bind(null,e),i.aliases&&N(i.aliases,{languageName:n})}function ee(e){delete t[e];for(let t of Object.keys(i))i[t]===e&&delete i[t]}function j(){return Object.keys(t)}function M(e){return e=(e||``).toLowerCase(),t[e]||t[i[e]]}function N(e,{languageName:t}){typeof e==`string`&&(e=[e]),e.forEach(e=>{i[e.toLowerCase()]=t})}function te(e){let t=M(e);return t&&!t.disableAutodetect}function P(e){e[`before:highlightBlock`]&&!e[`before:highlightElement`]&&(e[`before:highlightElement`]=t=>{e[`before:highlightBlock`](Object.assign({block:t.el},t))}),e[`after:highlightBlock`]&&!e[`after:highlightElement`]&&(e[`after:highlightElement`]=t=>{e[`after:highlightBlock`](Object.assign({block:t.el},t))})}function F(e){P(e),a.push(e)}function I(e){let t=a.indexOf(e);t!==-1&&a.splice(t,1)}function L(e,t){let n=e;a.forEach(function(e){e[n]&&e[n](t)})}function R(e){return pe(`10.7.0`,`highlightBlock will be removed entirely in v12.0`),pe(`10.7.0`,`Please use highlightElement now.`),w(e)}Object.assign(e,{highlight:p,highlightAuto:S,highlightAll:k,highlightElement:w,highlightBlock:R,configure:T,initHighlighting:E,initHighlightingOnLoad:D,registerLanguage:A,unregisterLanguage:ee,listLanguages:j,getLanguage:M,registerAliases:N,autoDetection:te,inherit:Ee,addPlugin:F,removePlugin:I}),e.debugMode=function(){o=!1},e.safeMode=function(){o=!0},e.versionString=Ce,e.regex={concat:_,lookahead:m,either:y,optional:g,anyNumberOfTimes:h};for(let e in ne)typeof ne[e]==`object`&&n(ne[e]);return Object.assign(e,ne),e},ke=U({});ke.newInstance=()=>U({}),t.exports=ke,ke.HighlightJS=ke,ke.default=ke})),jx=f(((e,t)=>{function n(e){let t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),r=/[\p{L}0-9._:-]+/u,i={className:`symbol`,begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},a={begin:/\s/,contains:[{className:`keyword`,begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},o=e.inherit(a,{begin:/\(/,end:/\)/}),s=e.inherit(e.APOS_STRING_MODE,{className:`string`}),c=e.inherit(e.QUOTE_STRING_MODE,{className:`string`}),l={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:`attr`,begin:r,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:`string`,endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[i]},{begin:/'/,end:/'/,contains:[i]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:`HTML, XML`,aliases:[`html`,`xhtml`,`rss`,`atom`,`xjb`,`xsd`,`xsl`,`plist`,`wsf`,`svg`],case_insensitive:!0,unicodeRegex:!0,contains:[{className:`meta`,begin:/<![a-z]/,end:/>/,relevance:10,contains:[a,c,s,o,{begin:/\[/,end:/\]/,contains:[{className:`meta`,begin:/<![a-z]/,end:/>/,contains:[a,o,c,s]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},i,{className:`meta`,end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[c]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:`tag`,begin:/<style(?=\s|>)/,end:/>/,keywords:{name:`style`},contains:[l],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:[`css`,`xml`]}},{className:`tag`,begin:/<script(?=\s|>)/,end:/>/,keywords:{name:`script`},contains:[l],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:[`javascript`,`handlebars`,`xml`]}},{className:`tag`,begin:/<>|<\/>/},{className:`tag`,begin:t.concat(/</,t.lookahead(t.concat(n,t.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:`name`,begin:n,relevance:0,starts:l}]},{className:`tag`,begin:t.concat(/<\//,t.lookahead(t.concat(n,/>/))),contains:[{className:`name`,begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}t.exports=n})),Mx=f(((e,t)=>{function n(e){let t=e.regex,n={},r={begin:/\$\{/,end:/\}/,contains:[`self`,{begin:/:-/,contains:[n]}]};Object.assign(n,{className:`variable`,variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,`(?![\\w\\d])(?![$])`)},r]});let i={className:`subst`,begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},a=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:`comment`}}),o={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:`string`})]}},s={className:`string`,begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,i]};i.contains.push(s);let c={match:/\\"/},l={className:`string`,begin:/'/,end:/'/},u={match:/\\'/},d={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:`number`},e.NUMBER_MODE,n]},f=e.SHEBANG({binary:`(${[`fish`,`bash`,`zsh`,`sh`,`csh`,`ksh`,`tcsh`,`dash`,`scsh`].join(`|`)})`,relevance:10}),p={className:`function`,begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},m=[`if`,`then`,`else`,`elif`,`fi`,`time`,`for`,`while`,`until`,`in`,`do`,`done`,`case`,`esac`,`coproc`,`function`,`select`],h=[`true`,`false`],g={match:/(\/[a-z._-]+)+/},_=[`break`,`cd`,`continue`,`eval`,`exec`,`exit`,`export`,`getopts`,`hash`,`pwd`,`readonly`,`return`,`shift`,`test`,`times`,`trap`,`umask`,`unset`],v=[`alias`,`bind`,`builtin`,`caller`,`command`,`declare`,`echo`,`enable`,`help`,`let`,`local`,`logout`,`mapfile`,`printf`,`read`,`readarray`,`source`,`sudo`,`type`,`typeset`,`ulimit`,`unalias`],y=`autoload.bg.bindkey.bye.cap.chdir.clone.comparguments.compcall.compctl.compdescribe.compfiles.compgroups.compquote.comptags.comptry.compvalues.dirs.disable.disown.echotc.echoti.emulate.fc.fg.float.functions.getcap.getln.history.integer.jobs.kill.limit.log.noglob.popd.print.pushd.pushln.rehash.sched.setcap.setopt.stat.suspend.ttyctl.unfunction.unhash.unlimit.unsetopt.vared.wait.whence.where.which.zcompile.zformat.zftp.zle.zmodload.zparseopts.zprof.zpty.zregexparse.zsocket.zstyle.ztcp`.split(`.`),b=`chcon.chgrp.chown.chmod.cp.dd.df.dir.dircolors.ln.ls.mkdir.mkfifo.mknod.mktemp.mv.realpath.rm.rmdir.shred.sync.touch.truncate.vdir.b2sum.base32.base64.cat.cksum.comm.csplit.cut.expand.fmt.fold.head.join.md5sum.nl.numfmt.od.paste.ptx.pr.sha1sum.sha224sum.sha256sum.sha384sum.sha512sum.shuf.sort.split.sum.tac.tail.tr.tsort.unexpand.uniq.wc.arch.basename.chroot.date.dirname.du.echo.env.expr.factor.groups.hostid.id.link.logname.nice.nohup.nproc.pathchk.pinky.printenv.printf.pwd.readlink.runcon.seq.sleep.stat.stdbuf.stty.tee.test.timeout.tty.uname.unlink.uptime.users.who.whoami.yes`.split(`.`);return{name:`Bash`,aliases:[`sh`,`zsh`],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:m,literal:h,built_in:[..._,...v,`set`,`shopt`,...y,...b]},contains:[f,e.SHEBANG(),p,d,a,o,g,s,c,l,u,n]}}t.exports=n})),Nx=f(((e,t)=>{function n(e){let t=e.regex,n=e.COMMENT(`//`,`$`,{contains:[{begin:/\\\n/}]}),r=`[a-zA-Z_]\\w*::`,i=`(decltype\\(auto\\)|`+t.optional(r)+`[a-zA-Z_]\\w*`+t.optional(`<[^<>]+>`)+`)`,a={className:`type`,variants:[{begin:`\\b[a-z\\d_]*_t\\b`},{match:/\batomic_[a-z]{3,6}\b/}]},o={className:`string`,variants:[{begin:`(u8?|U|L)?"`,end:`"`,illegal:`\\n`,contains:[e.BACKSLASH_ESCAPE]},{begin:`(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)`,end:`'`,illegal:`.`},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},s={className:`number`,variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},c={className:`meta`,begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:`if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include`},contains:[{begin:/\\\n/,relevance:0},e.inherit(o,{className:`string`}),{className:`string`,begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},l={className:`title`,begin:t.optional(r)+e.IDENT_RE,relevance:0},u=t.optional(r)+e.IDENT_RE+`\\s*\\(`,d={keyword:`asm.auto.break.case.continue.default.do.else.enum.extern.for.fortran.goto.if.inline.register.restrict.return.sizeof.typeof.typeof_unqual.struct.switch.typedef.union.volatile.while._Alignas._Alignof._Atomic._Generic._Noreturn._Static_assert._Thread_local.alignas.alignof.noreturn.static_assert.thread_local._Pragma`.split(`.`),type:`float.double.signed.unsigned.int.short.long.char.void._Bool._BitInt._Complex._Imaginary._Decimal32._Decimal64._Decimal96._Decimal128._Decimal64x._Decimal128x._Float16._Float32._Float64._Float128._Float32x._Float64x._Float128x.const.static.constexpr.complex.bool.imaginary`.split(`.`),literal:`true false NULL`,built_in:`std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr`},f=[c,a,n,e.C_BLOCK_COMMENT_MODE,s,o],p={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:`new throw return else`,end:/;/}],keywords:d,contains:f.concat([{begin:/\(/,end:/\)/,keywords:d,contains:f.concat([`self`]),relevance:0}]),relevance:0},m={begin:`(`+i+`[\\*&\\s]+)+`+u,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:d,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:`decltype\\(auto\\)`,keywords:d,relevance:0},{begin:u,returnBegin:!0,contains:[e.inherit(l,{className:`title.function`})],relevance:0},{relevance:0,match:/,/},{className:`params`,begin:/\(/,end:/\)/,keywords:d,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,o,s,a,{begin:/\(/,end:/\)/,keywords:d,relevance:0,contains:[`self`,n,e.C_BLOCK_COMMENT_MODE,o,s,a]}]},a,n,e.C_BLOCK_COMMENT_MODE,c]};return{name:`C`,aliases:[`h`],keywords:d,disableAutodetect:!0,illegal:`</`,contains:[].concat(p,m,f,[c,{begin:e.IDENT_RE+`::`,keywords:d},{className:`class`,beginKeywords:`enum class struct union`,end:/[{;:<>=]/,contains:[{beginKeywords:`final class struct`},e.TITLE_MODE]}]),exports:{preprocessor:c,strings:o,keywords:d}}}t.exports=n})),Px=f(((e,t)=>{function n(e){let t=e.regex,n=e.COMMENT(`//`,`$`,{contains:[{begin:/\\\n/}]}),r=`[a-zA-Z_]\\w*::`,i=`(?!struct)(decltype\\(auto\\)|`+t.optional(r)+`[a-zA-Z_]\\w*`+t.optional(`<[^<>]+>`)+`)`,a={className:`type`,begin:`\\b[a-z\\d_]*_t\\b`},o={className:`string`,variants:[{begin:`(u8?|U|L)?"`,end:`"`,illegal:`\\n`,contains:[e.BACKSLASH_ESCAPE]},{begin:`(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)`,end:`'`,illegal:`.`},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},s={className:`number`,variants:[{begin:`[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)`},{begin:`[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)`}],relevance:0},c={className:`meta`,begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:`if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include`},contains:[{begin:/\\\n/,relevance:0},e.inherit(o,{className:`string`}),{className:`string`,begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},l={className:`title`,begin:t.optional(r)+e.IDENT_RE,relevance:0},u=t.optional(r)+e.IDENT_RE+`\\s*\\(`,d=`alignas.alignof.and.and_eq.asm.atomic_cancel.atomic_commit.atomic_noexcept.auto.bitand.bitor.break.case.catch.class.co_await.co_return.co_yield.compl.concept.const_cast|10.consteval.constexpr.constinit.continue.decltype.default.delete.do.dynamic_cast|10.else.enum.explicit.export.extern.false.final.for.friend.goto.if.import.inline.module.mutable.namespace.new.noexcept.not.not_eq.nullptr.operator.or.or_eq.override.private.protected.public.reflexpr.register.reinterpret_cast|10.requires.return.sizeof.static_assert.static_cast|10.struct.switch.synchronized.template.this.thread_local.throw.transaction_safe.transaction_safe_dynamic.true.try.typedef.typeid.typename.union.using.virtual.volatile.while.xor.xor_eq`.split(`.`),f=[`bool`,`char`,`char16_t`,`char32_t`,`char8_t`,`double`,`float`,`int`,`long`,`short`,`void`,`wchar_t`,`unsigned`,`signed`,`const`,`static`],p=`any.auto_ptr.barrier.binary_semaphore.bitset.complex.condition_variable.condition_variable_any.counting_semaphore.deque.false_type.flat_map.flat_set.future.imaginary.initializer_list.istringstream.jthread.latch.lock_guard.multimap.multiset.mutex.optional.ostringstream.packaged_task.pair.promise.priority_queue.queue.recursive_mutex.recursive_timed_mutex.scoped_lock.set.shared_future.shared_lock.shared_mutex.shared_timed_mutex.shared_ptr.stack.string_view.stringstream.timed_mutex.thread.true_type.tuple.unique_lock.unique_ptr.unordered_map.unordered_multimap.unordered_multiset.unordered_set.variant.vector.weak_ptr.wstring.wstring_view`.split(`.`),m=`abort.abs.acos.apply.as_const.asin.atan.atan2.calloc.ceil.cerr.cin.clog.cos.cosh.cout.declval.endl.exchange.exit.exp.fabs.floor.fmod.forward.fprintf.fputs.free.frexp.fscanf.future.invoke.isalnum.isalpha.iscntrl.isdigit.isgraph.islower.isprint.ispunct.isspace.isupper.isxdigit.labs.launder.ldexp.log.log10.make_pair.make_shared.make_shared_for_overwrite.make_tuple.make_unique.malloc.memchr.memcmp.memcpy.memset.modf.move.pow.printf.putchar.puts.realloc.scanf.sin.sinh.snprintf.sprintf.sqrt.sscanf.std.stderr.stdin.stdout.strcat.strchr.strcmp.strcpy.strcspn.strlen.strncat.strncmp.strncpy.strpbrk.strrchr.strspn.strstr.swap.tan.tanh.terminate.to_underlying.tolower.toupper.vfprintf.visit.vprintf.vsprintf`.split(`.`),h={type:f,keyword:d,literal:[`NULL`,`false`,`nullopt`,`nullptr`,`true`],built_in:[`_Pragma`],_type_hints:p},g={className:`function.dispatch`,relevance:0,keywords:{_hint:m},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},_=[g,c,a,n,e.C_BLOCK_COMMENT_MODE,s,o],v={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:`new throw return else`,end:/;/}],keywords:h,contains:_.concat([{begin:/\(/,end:/\)/,keywords:h,contains:_.concat([`self`]),relevance:0}]),relevance:0},y={className:`function`,begin:`(`+i+`[\\*&\\s]+)+`+u,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:h,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:`decltype\\(auto\\)`,keywords:h,relevance:0},{begin:u,returnBegin:!0,contains:[l],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[o,s]},{relevance:0,match:/,/},{className:`params`,begin:/\(/,end:/\)/,keywords:h,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,o,s,a,{begin:/\(/,end:/\)/,keywords:h,relevance:0,contains:[`self`,n,e.C_BLOCK_COMMENT_MODE,o,s,a]}]},a,n,e.C_BLOCK_COMMENT_MODE,c]};return{name:`C++`,aliases:[`cc`,`c++`,`h++`,`hpp`,`hh`,`hxx`,`cxx`],keywords:h,illegal:`</`,classNameAliases:{"function.dispatch":`built_in`},contains:[].concat(v,y,g,_,[c,{begin:`\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)`,end:`>`,keywords:h,contains:[`self`,a]},{begin:e.IDENT_RE+`::`,keywords:h},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:`keyword`,3:`title.class`}}])}}t.exports=n})),Fx=f(((e,t)=>{function n(e){let t=[`bool`,`byte`,`char`,`decimal`,`delegate`,`double`,`dynamic`,`enum`,`float`,`int`,`long`,`nint`,`nuint`,`object`,`sbyte`,`short`,`string`,`ulong`,`uint`,`ushort`],n=[`public`,`private`,`protected`,`static`,`internal`,`protected`,`abstract`,`async`,`extern`,`override`,`unsafe`,`virtual`,`new`,`sealed`,`partial`],r={keyword:`abstract.as.base.break.case.catch.class.const.continue.do.else.event.explicit.extern.finally.fixed.for.foreach.goto.if.implicit.in.interface.internal.is.lock.namespace.new.operator.out.override.params.private.protected.public.readonly.record.ref.return.scoped.sealed.sizeof.stackalloc.static.struct.switch.this.throw.try.typeof.unchecked.unsafe.using.virtual.void.volatile.while`.split(`.`).concat(`add.alias.and.ascending.args.async.await.by.descending.dynamic.equals.file.from.get.global.group.init.into.join.let.nameof.not.notnull.on.or.orderby.partial.record.remove.required.scoped.select.set.unmanaged.value|0.var.when.where.with.yield`.split(`.`)),built_in:t,literal:[`default`,`false`,`null`,`true`]},i=e.inherit(e.TITLE_MODE,{begin:`[a-zA-Z](\\.?\\w)*`}),a={className:`number`,variants:[{begin:`\\b(0b[01']+)`},{begin:`(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)`},{begin:`(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)`}],relevance:0},o={className:`string`,begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},s={className:`string`,begin:`@"`,end:`"`,contains:[{begin:`""`}]},c=e.inherit(s,{illegal:/\n/}),l={className:`subst`,begin:/\{/,end:/\}/,keywords:r},u=e.inherit(l,{illegal:/\n/}),d={className:`string`,begin:/\$"/,end:`"`,illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,u]},f={className:`string`,begin:/\$@"/,end:`"`,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:`""`},l]},p=e.inherit(f,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:`""`},u]});l.contains=[f,d,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE],u.contains=[p,d,c,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];let m={variants:[o,f,d,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},h={begin:`<`,end:`>`,contains:[{beginKeywords:`in out`},i]},g=e.IDENT_RE+`(<`+e.IDENT_RE+`(\\s*,\\s*`+e.IDENT_RE+`)*>)?(\\[\\])?`,_={begin:`@`+e.IDENT_RE,relevance:0};return{name:`C#`,aliases:[`cs`,`c#`],keywords:r,illegal:/::/,contains:[e.COMMENT(`///`,`$`,{returnBegin:!0,contains:[{className:`doctag`,variants:[{begin:`///`,relevance:0},{begin:`<!--|-->`},{begin:`</?`,end:`>`}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:`meta`,begin:`#`,end:`$`,keywords:{keyword:`if else elif endif define undef warning error line region endregion pragma checksum`}},m,a,{beginKeywords:`class interface`,relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:`where class`},i,h,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:`namespace`,relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[i,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:`record`,relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[i,h,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:`meta`,begin:`^\\s*\\[(?=[\\w])`,excludeBegin:!0,end:`\\]`,excludeEnd:!0,contains:[{className:`string`,begin:/"/,end:/"/}]},{beginKeywords:`new return throw await else`,relevance:0},{className:`function`,begin:`(`+g+`\\s+)+`+e.IDENT_RE+`\\s*(<[^=]+>\\s*)?\\(`,returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:r,contains:[{beginKeywords:n.join(` `),relevance:0},{begin:e.IDENT_RE+`\\s*(<[^=]+>\\s*)?\\(`,returnBegin:!0,contains:[e.TITLE_MODE,h],relevance:0},{match:/\(\)/},{className:`params`,begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:r,relevance:0,contains:[m,a,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},_]}}t.exports=n})),Ix=f(((e,t)=>{var n=e=>({IMPORTANT:{scope:`meta`,begin:`!important`},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:`number`,begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:`built_in`,begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:`selector-attr`,begin:/\[/,end:/\]/,illegal:`$`,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:`number`,begin:e.NUMBER_RE+`(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?`,relevance:0},CSS_VARIABLE:{className:`attr`,begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),r=`a.abbr.address.article.aside.audio.b.blockquote.body.button.canvas.caption.cite.code.dd.del.details.dfn.div.dl.dt.em.fieldset.figcaption.figure.footer.form.h1.h2.h3.h4.h5.h6.header.hgroup.html.i.iframe.img.input.ins.kbd.label.legend.li.main.mark.menu.nav.object.ol.optgroup.option.p.picture.q.quote.samp.section.select.source.span.strong.summary.sup.table.tbody.td.textarea.tfoot.th.thead.time.tr.ul.var.video`.split(`.`),i=`defs.g.marker.mask.pattern.svg.switch.symbol.feBlend.feColorMatrix.feComponentTransfer.feComposite.feConvolveMatrix.feDiffuseLighting.feDisplacementMap.feFlood.feGaussianBlur.feImage.feMerge.feMorphology.feOffset.feSpecularLighting.feTile.feTurbulence.linearGradient.radialGradient.stop.circle.ellipse.image.line.path.polygon.polyline.rect.text.use.textPath.tspan.foreignObject.clipPath`.split(`.`),a=[...r,...i],o=`any-hover.any-pointer.aspect-ratio.color.color-gamut.color-index.device-aspect-ratio.device-height.device-width.display-mode.forced-colors.grid.height.hover.inverted-colors.monochrome.orientation.overflow-block.overflow-inline.pointer.prefers-color-scheme.prefers-contrast.prefers-reduced-motion.prefers-reduced-transparency.resolution.scan.scripting.update.width.min-width.max-width.min-height.max-height`.split(`.`).sort().reverse(),s=`active.any-link.blank.checked.current.default.defined.dir.disabled.drop.empty.enabled.first.first-child.first-of-type.fullscreen.future.focus.focus-visible.focus-within.has.host.host-context.hover.indeterminate.in-range.invalid.is.lang.last-child.last-of-type.left.link.local-link.not.nth-child.nth-col.nth-last-child.nth-last-col.nth-last-of-type.nth-of-type.only-child.only-of-type.optional.out-of-range.past.placeholder-shown.read-only.read-write.required.right.root.scope.target.target-within.user-invalid.valid.visited.where`.split(`.`).sort().reverse(),c=[`after`,`backdrop`,`before`,`cue`,`cue-region`,`first-letter`,`first-line`,`grammar-error`,`marker`,`part`,`placeholder`,`selection`,`slotted`,`spelling-error`].sort().reverse(),l=`accent-color.align-content.align-items.align-self.alignment-baseline.all.anchor-name.animation.animation-composition.animation-delay.animation-direction.animation-duration.animation-fill-mode.animation-iteration-count.animation-name.animation-play-state.animation-range.animation-range-end.animation-range-start.animation-timeline.animation-timing-function.appearance.aspect-ratio.backdrop-filter.backface-visibility.background.background-attachment.background-blend-mode.background-clip.background-color.background-image.background-origin.background-position.background-position-x.background-position-y.background-repeat.background-size.baseline-shift.block-size.border.border-block.border-block-color.border-block-end.border-block-end-color.border-block-end-style.border-block-end-width.border-block-start.border-block-start-color.border-block-start-style.border-block-start-width.border-block-style.border-block-width.border-bottom.border-bottom-color.border-bottom-left-radius.border-bottom-right-radius.border-bottom-style.border-bottom-width.border-collapse.border-color.border-end-end-radius.border-end-start-radius.border-image.border-image-outset.border-image-repeat.border-image-slice.border-image-source.border-image-width.border-inline.border-inline-color.border-inline-end.border-inline-end-color.border-inline-end-style.border-inline-end-width.border-inline-start.border-inline-start-color.border-inline-start-style.border-inline-start-width.border-inline-style.border-inline-width.border-left.border-left-color.border-left-style.border-left-width.border-radius.border-right.border-right-color.border-right-style.border-right-width.border-spacing.border-start-end-radius.border-start-start-radius.border-style.border-top.border-top-color.border-top-left-radius.border-top-right-radius.border-top-style.border-top-width.border-width.bottom.box-align.box-decoration-break.box-direction.box-flex.box-flex-group.box-lines.box-ordinal-group.box-orient.box-pack.box-shadow.box-sizing.break-after.break-before.break-inside.caption-side.caret-color.clear.clip.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.color-scheme.column-count.column-fill.column-gap.column-rule.column-rule-color.column-rule-style.column-rule-width.column-span.column-width.columns.contain.contain-intrinsic-block-size.contain-intrinsic-height.contain-intrinsic-inline-size.contain-intrinsic-size.contain-intrinsic-width.container.container-name.container-type.content.content-visibility.counter-increment.counter-reset.counter-set.cue.cue-after.cue-before.cursor.cx.cy.direction.display.dominant-baseline.empty-cells.enable-background.field-sizing.fill.fill-opacity.fill-rule.filter.flex.flex-basis.flex-direction.flex-flow.flex-grow.flex-shrink.flex-wrap.float.flood-color.flood-opacity.flow.font.font-display.font-family.font-feature-settings.font-kerning.font-language-override.font-optical-sizing.font-palette.font-size.font-size-adjust.font-smooth.font-smoothing.font-stretch.font-style.font-synthesis.font-synthesis-position.font-synthesis-small-caps.font-synthesis-style.font-synthesis-weight.font-variant.font-variant-alternates.font-variant-caps.font-variant-east-asian.font-variant-emoji.font-variant-ligatures.font-variant-numeric.font-variant-position.font-variation-settings.font-weight.forced-color-adjust.gap.glyph-orientation-horizontal.glyph-orientation-vertical.grid.grid-area.grid-auto-columns.grid-auto-flow.grid-auto-rows.grid-column.grid-column-end.grid-column-start.grid-gap.grid-row.grid-row-end.grid-row-start.grid-template.grid-template-areas.grid-template-columns.grid-template-rows.hanging-punctuation.height.hyphenate-character.hyphenate-limit-chars.hyphens.icon.image-orientation.image-rendering.image-resolution.ime-mode.initial-letter.initial-letter-align.inline-size.inset.inset-area.inset-block.inset-block-end.inset-block-start.inset-inline.inset-inline-end.inset-inline-start.isolation.justify-content.justify-items.justify-self.kerning.left.letter-spacing.lighting-color.line-break.line-height.line-height-step.list-style.list-style-image.list-style-position.list-style-type.margin.margin-block.margin-block-end.margin-block-start.margin-bottom.margin-inline.margin-inline-end.margin-inline-start.margin-left.margin-right.margin-top.margin-trim.marker.marker-end.marker-mid.marker-start.marks.mask.mask-border.mask-border-mode.mask-border-outset.mask-border-repeat.mask-border-slice.mask-border-source.mask-border-width.mask-clip.mask-composite.mask-image.mask-mode.mask-origin.mask-position.mask-repeat.mask-size.mask-type.masonry-auto-flow.math-depth.math-shift.math-style.max-block-size.max-height.max-inline-size.max-width.min-block-size.min-height.min-inline-size.min-width.mix-blend-mode.nav-down.nav-index.nav-left.nav-right.nav-up.none.normal.object-fit.object-position.offset.offset-anchor.offset-distance.offset-path.offset-position.offset-rotate.opacity.order.orphans.outline.outline-color.outline-offset.outline-style.outline-width.overflow.overflow-anchor.overflow-block.overflow-clip-margin.overflow-inline.overflow-wrap.overflow-x.overflow-y.overlay.overscroll-behavior.overscroll-behavior-block.overscroll-behavior-inline.overscroll-behavior-x.overscroll-behavior-y.padding.padding-block.padding-block-end.padding-block-start.padding-bottom.padding-inline.padding-inline-end.padding-inline-start.padding-left.padding-right.padding-top.page.page-break-after.page-break-before.page-break-inside.paint-order.pause.pause-after.pause-before.perspective.perspective-origin.place-content.place-items.place-self.pointer-events.position.position-anchor.position-visibility.print-color-adjust.quotes.r.resize.rest.rest-after.rest-before.right.rotate.row-gap.ruby-align.ruby-position.scale.scroll-behavior.scroll-margin.scroll-margin-block.scroll-margin-block-end.scroll-margin-block-start.scroll-margin-bottom.scroll-margin-inline.scroll-margin-inline-end.scroll-margin-inline-start.scroll-margin-left.scroll-margin-right.scroll-margin-top.scroll-padding.scroll-padding-block.scroll-padding-block-end.scroll-padding-block-start.scroll-padding-bottom.scroll-padding-inline.scroll-padding-inline-end.scroll-padding-inline-start.scroll-padding-left.scroll-padding-right.scroll-padding-top.scroll-snap-align.scroll-snap-stop.scroll-snap-type.scroll-timeline.scroll-timeline-axis.scroll-timeline-name.scrollbar-color.scrollbar-gutter.scrollbar-width.shape-image-threshold.shape-margin.shape-outside.shape-rendering.speak.speak-as.src.stop-color.stop-opacity.stroke.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke-width.tab-size.table-layout.text-align.text-align-all.text-align-last.text-anchor.text-combine-upright.text-decoration.text-decoration-color.text-decoration-line.text-decoration-skip.text-decoration-skip-ink.text-decoration-style.text-decoration-thickness.text-emphasis.text-emphasis-color.text-emphasis-position.text-emphasis-style.text-indent.text-justify.text-orientation.text-overflow.text-rendering.text-shadow.text-size-adjust.text-transform.text-underline-offset.text-underline-position.text-wrap.text-wrap-mode.text-wrap-style.timeline-scope.top.touch-action.transform.transform-box.transform-origin.transform-style.transition.transition-behavior.transition-delay.transition-duration.transition-property.transition-timing-function.translate.unicode-bidi.user-modify.user-select.vector-effect.vertical-align.view-timeline.view-timeline-axis.view-timeline-inset.view-timeline-name.view-transition-name.visibility.voice-balance.voice-duration.voice-family.voice-pitch.voice-range.voice-rate.voice-stress.voice-volume.white-space.white-space-collapse.widows.width.will-change.word-break.word-spacing.word-wrap.writing-mode.x.y.z-index.zoom`.split(`.`).sort().reverse();function u(e){let t=e.regex,r=n(e),i={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},u=/@-?\w[\w]*(-\w+)*/,d=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:`CSS`,case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:`from to`},classNameAliases:{keyframePosition:`selector-tag`},contains:[r.BLOCK_COMMENT,i,r.CSS_NUMBER_MODE,{className:`selector-id`,begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:`selector-class`,begin:`\\.[a-zA-Z-][a-zA-Z0-9_-]*`,relevance:0},r.ATTRIBUTE_SELECTOR_MODE,{className:`selector-pseudo`,variants:[{begin:`:(`+s.join(`|`)+`)`},{begin:`:(:)?(`+c.join(`|`)+`)`}]},r.CSS_VARIABLE,{className:`attribute`,begin:`\\b(`+l.join(`|`)+`)\\b`},{begin:/:/,end:/[;}{]/,contains:[r.BLOCK_COMMENT,r.HEXCOLOR,r.IMPORTANT,r.CSS_NUMBER_MODE,...d,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:`url data-uri`},contains:[...d,{className:`string`,begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},r.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:`[{;]`,relevance:0,illegal:/:/,contains:[{className:`keyword`,begin:u},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:`and or not only`,attribute:o.join(` `)},contains:[{begin:/[a-z-]+(?=:)/,className:`attribute`},...d,r.CSS_NUMBER_MODE]}]},{className:`selector-tag`,begin:`\\b(`+a.join(`|`)+`)\\b`}]}}t.exports=u})),Lx=f(((e,t)=>{function n(e){let t=e.regex,n={begin:/<\/?[A-Za-z_]/,end:`>`,subLanguage:`xml`,relevance:0},r={begin:`^[-\\*]{3,}`,end:`$`},i={className:`code`,variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:`(~{3,})[^~](.|\\n)*?\\1~*[ ]*`},{begin:"```",end:"```+[ ]*$"},{begin:`~~~`,end:`~~~+[ ]*$`},{begin:"`.+?`"},{begin:`(?=^( {4}|\\t))`,contains:[{begin:`^( {4}|\\t)`,end:`(\\n)$`}],relevance:0}]},a={className:`bullet`,begin:`^[ ]*([*+-]|(\\d+\\.))(?=\\s+)`,end:`\\s+`,excludeEnd:!0},o={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:`symbol`,begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:`link`,begin:/:\s*/,end:/$/,excludeBegin:!0}]},s={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:`string`,relevance:0,begin:`\\[`,end:`\\]`,excludeBegin:!0,returnEnd:!0},{className:`link`,relevance:0,begin:`\\]\\(`,end:`\\)`,excludeBegin:!0,excludeEnd:!0},{className:`symbol`,relevance:0,begin:`\\]\\[`,end:`\\]`,excludeBegin:!0,excludeEnd:!0}]},c={className:`strong`,contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},l={className:`emphasis`,contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},u=e.inherit(c,{contains:[]}),d=e.inherit(l,{contains:[]});c.contains.push(d),l.contains.push(u);let f=[n,s];return[c,l,u,d].forEach(e=>{e.contains=e.contains.concat(f)}),f=f.concat(c,l),{name:`Markdown`,aliases:[`md`,`mkdown`,`mkd`],contains:[{className:`section`,variants:[{begin:`^#{1,6}`,end:`$`,contains:f},{begin:`(?=^.+?\\n[=-]{2,}$)`,contains:[{begin:`^[=-]*$`},{begin:`^`,end:`\\n`,contains:f}]}]},n,a,c,l,{className:`quote`,begin:`^>\\s+`,contains:f,end:`$`},i,r,s,o,{scope:`literal`,match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}t.exports=n})),Rx=f(((e,t)=>{function n(e){let t=e.regex;return{name:`Diff`,aliases:[`patch`],contains:[{className:`meta`,relevance:10,match:t.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:`comment`,variants:[{begin:t.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:`addition`,begin:/^\+/,end:/$/},{className:`deletion`,begin:/^-/,end:/$/},{className:`addition`,begin:/^!/,end:/$/}]}}t.exports=n})),zx=f(((e,t)=>{function n(e){let t=e.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",r=t.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=t.concat(r,/(::\w+)*/),a={"variable.constant":[`__FILE__`,`__LINE__`,`__ENCODING__`],"variable.language":[`self`,`super`],keyword:`alias.and.begin.BEGIN.break.case.class.defined.do.else.elsif.end.END.ensure.for.if.in.module.next.not.or.redo.require.rescue.retry.return.then.undef.unless.until.when.while.yield.include.extend.prepend.public.private.protected.raise.throw`.split(`.`),built_in:[`proc`,`lambda`,`attr_accessor`,`attr_reader`,`attr_writer`,`define_method`,`private_constant`,`module_function`],literal:[`true`,`false`,`nil`]},o={className:`doctag`,begin:`@[A-Za-z]+`},s={begin:`#<`,end:`>`},c=[e.COMMENT(`#`,`$`,{contains:[o]}),e.COMMENT(`^=begin`,`^=end`,{contains:[o],relevance:10}),e.COMMENT(`^__END__`,e.MATCH_NOTHING_RE)],l={className:`subst`,begin:/#\{/,end:/\}/,keywords:a},u={className:`string`,contains:[e.BACKSLASH_ESCAPE,l],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:t.concat(/<<[-~]?'?/,t.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,l]})]}]},d=`[0-9](_?[0-9])*`,f={className:`number`,relevance:0,variants:[{begin:`\\b([1-9](_?[0-9])*|0)(\\.(${d}))?([eE][+-]?(${d})|r)?i?\\b`},{begin:`\\b0[dD][0-9](_?[0-9])*r?i?\\b`},{begin:`\\b0[bB][0-1](_?[0-1])*r?i?\\b`},{begin:`\\b0[oO][0-7](_?[0-7])*r?i?\\b`},{begin:`\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b`},{begin:`\\b0(_?[0-7])+r?i?\\b`}]},p={variants:[{match:/\(\)/},{className:`params`,begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:a}]},m=[u,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{match:[/\b(class|module)\s+/,i]}],scope:{2:`title.class`,4:`title.class.inherited`},keywords:a},{match:[/(include|extend)\s+/,i],scope:{2:`title.class`},keywords:a},{relevance:0,match:[i,/\.new[. (]/],scope:{1:`title.class`}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:`variable.constant`},{relevance:0,match:r,scope:`title.class`},{match:[/def/,/\s+/,n],scope:{1:`keyword`,3:`title.function`},contains:[p]},{begin:e.IDENT_RE+`::`},{className:`symbol`,begin:e.UNDERSCORE_IDENT_RE+`(!|\\?)?:`,relevance:0},{className:`symbol`,begin:`:(?!\\s)`,contains:[u,{begin:n}],relevance:0},f,{className:`variable`,begin:`(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])`},{className:`params`,begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:a},{begin:`(`+e.RE_STARTERS_RE+`|unless)\\s*`,keywords:`unless`,contains:[{className:`regexp`,contains:[e.BACKSLASH_ESCAPE,l],illegal:/\n/,variants:[{begin:`/`,end:`/[a-z]*`},{begin:/%r\{/,end:/\}[a-z]*/},{begin:`%r\\(`,end:`\\)[a-z]*`},{begin:`%r!`,end:`![a-z]*`},{begin:`%r\\[`,end:`\\][a-z]*`}]}].concat(s,c),relevance:0}].concat(s,c);l.contains=m,p.contains=m;let h=[{begin:/^\s*=>/,starts:{end:`$`,contains:m}},{className:`meta.prompt`,begin:`^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])`,starts:{end:`$`,keywords:a,contains:m}}];return c.unshift(s),{name:`Ruby`,aliases:[`rb`,`gemspec`,`podspec`,`thor`,`irb`],keywords:a,illegal:/\/\*/,contains:[e.SHEBANG({binary:`ruby`})].concat(h,c,m)}}t.exports=n})),Bx=f(((e,t)=>{function n(e){let t={keyword:[`break`,`case`,`chan`,`const`,`continue`,`default`,`defer`,`else`,`fallthrough`,`for`,`func`,`go`,`goto`,`if`,`import`,`interface`,`map`,`package`,`range`,`return`,`select`,`struct`,`switch`,`type`,`var`],type:[`bool`,`byte`,`complex64`,`complex128`,`error`,`float32`,`float64`,`int8`,`int16`,`int32`,`int64`,`string`,`uint8`,`uint16`,`uint32`,`uint64`,`int`,`uint`,`uintptr`,`rune`],literal:[`true`,`false`,`iota`,`nil`],built_in:[`append`,`cap`,`close`,`complex`,`copy`,`imag`,`len`,`make`,`new`,`panic`,`print`,`println`,`real`,`recover`,`delete`]};return{name:`Go`,aliases:[`golang`],keywords:t,illegal:`</`,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:`string`,variants:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:`number`,variants:[{match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0},{match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{begin:/:=/},{className:`function`,beginKeywords:`func`,end:`\\s*(\\{|$)`,excludeEnd:!0,contains:[e.TITLE_MODE,{className:`params`,begin:/\(/,end:/\)/,endsParent:!0,keywords:t,illegal:/["']/}]}]}}t.exports=n})),Vx=f(((e,t)=>{function n(e){let t=e.regex;return{name:`GraphQL`,aliases:[`gql`],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:[`query`,`mutation`,`subscription`,`type`,`input`,`schema`,`directive`,`interface`,`union`,`scalar`,`fragment`,`enum`,`on`],literal:[`true`,`false`,`null`]},contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{scope:`punctuation`,match:/[.]{3}/,relevance:0},{scope:`punctuation`,begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:`variable`,begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:`meta`,match:/@\w+/,excludeEnd:!0},{scope:`symbol`,begin:t.concat(/[_A-Za-z][_0-9A-Za-z]*/,t.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}}t.exports=n})),Hx=f(((e,t)=>{function n(e){let t=e.regex,n={className:`number`,relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:e.NUMBER_RE}]},r=e.COMMENT();r.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];let i={className:`variable`,variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},a={className:`literal`,begin:/\bon|off|true|false|yes|no\b/},o={className:`string`,contains:[e.BACKSLASH_ESCAPE],variants:[{begin:`'''`,end:`'''`,relevance:10},{begin:`"""`,end:`"""`,relevance:10},{begin:`"`,end:`"`},{begin:`'`,end:`'`}]},s={begin:/\[/,end:/\]/,contains:[r,a,i,o,n,`self`],relevance:0},c=t.either(/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/);return{name:`TOML, also INI`,aliases:[`toml`],case_insensitive:!0,illegal:/\S/,contains:[r,{className:`section`,begin:/\[+/,end:/\]+/},{begin:t.concat(c,`(\\s*\\.\\s*`,c,`)*`,t.lookahead(/\s*=\s*[^#\s]/)),className:`attr`,starts:{end:/$/,contains:[r,s,a,i,o,n]}}]}}t.exports=n})),Ux=f(((e,t)=>{var n=`[0-9](_*[0-9])*`,r=`\\.(${n})`,i=`[0-9a-fA-F](_*[0-9a-fA-F])*`,a={className:`number`,variants:[{begin:`(\\b(${n})((${r})|\\.)?|(${r}))[eE][+-]?(${n})[fFdD]?\\b`},{begin:`\\b(${n})((${r})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${r})[fFdD]?\\b`},{begin:`\\b(${n})[fFdD]\\b`},{begin:`\\b0[xX]((${i})\\.?|(${i})?\\.(${i}))[pP][+-]?(${n})[fFdD]?\\b`},{begin:`\\b(0|[1-9](_*[0-9])*)[lL]?\\b`},{begin:`\\b0[xX](${i})[lL]?\\b`},{begin:`\\b0(_*[0-7])*[lL]?\\b`},{begin:`\\b0[bB][01](_*[01])*[lL]?\\b`}],relevance:0};function o(e,t,n){return n===-1?``:e.replace(t,r=>o(e,t,n-1))}function s(e){let t=e.regex,n=`[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*`,r=n+o(`(?:<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*~~~(?:\\s*,\\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*~~~)*>)?`,/~~~/g,2),i={keyword:`synchronized.abstract.private.var.static.if.const .for.while.strictfp.finally.protected.import.native.final.void.enum.else.break.transient.catch.instanceof.volatile.case.assert.package.default.public.try.switch.continue.throws.protected.public.private.module.requires.exports.do.sealed.yield.permits.goto.when`.split(`.`),literal:[`false`,`true`,`null`],type:[`char`,`boolean`,`long`,`float`,`int`,`byte`,`short`,`double`],built_in:[`super`,`this`]},s={className:`meta`,begin:`@[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*`,contains:[{begin:/\(/,end:/\)/,contains:[`self`]}]},c={className:`params`,begin:/\(/,end:/\)/,keywords:i,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:`Java`,aliases:[`jsp`],keywords:i,illegal:/<\/|#/,contains:[e.COMMENT(`/\\*\\*`,`\\*/`,{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:`doctag`,begin:`@[A-Za-z]+`}]}),{begin:/import java\.[a-z]+\./,keywords:`import`,relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:`string`,contains:[e.BACKSLASH_ESCAPE]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,n],className:{1:`keyword`,3:`title.class`}},{match:/non-sealed/,scope:`keyword`},{begin:[t.concat(/(?!else)/,n),/\s+/,n,/\s+/,/=(?!=)/],className:{1:`type`,3:`variable`,5:`operator`}},{begin:[/record/,/\s+/,n],className:{1:`keyword`,3:`title.class`},contains:[c,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:`new throw return else`,relevance:0},{begin:[`(?:`+r+`\\s+)`,e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:`title.function`},keywords:i,contains:[{className:`params`,begin:/\(/,end:/\)/,keywords:i,relevance:0,contains:[s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},a,s]}}t.exports=s})),Wx=f(((e,t)=>{var n=`[A-Za-z$_][0-9A-Za-z$_]*`,r=`as.in.of.if.for.while.finally.var.new.function.do.return.void.else.break.catch.instanceof.with.throw.case.default.try.switch.continue.typeof.delete.let.yield.const.class.debugger.async.await.static.import.from.export.extends.using`.split(`.`),i=[`true`,`false`,`null`,`undefined`,`NaN`,`Infinity`],a=`Object.Function.Boolean.Symbol.Math.Date.Number.BigInt.String.RegExp.Array.Float32Array.Float64Array.Int8Array.Uint8Array.Uint8ClampedArray.Int16Array.Int32Array.Uint16Array.Uint32Array.BigInt64Array.BigUint64Array.Set.Map.WeakSet.WeakMap.ArrayBuffer.SharedArrayBuffer.Atomics.DataView.JSON.Promise.Generator.GeneratorFunction.AsyncFunction.Reflect.Proxy.Intl.WebAssembly`.split(`.`),o=[`Error`,`EvalError`,`InternalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`],s=[`setInterval`,`setTimeout`,`clearInterval`,`clearTimeout`,`require`,`exports`,`eval`,`isFinite`,`isNaN`,`parseFloat`,`parseInt`,`decodeURI`,`decodeURIComponent`,`encodeURI`,`encodeURIComponent`,`escape`,`unescape`],c=[`arguments`,`this`,`super`,`console`,`window`,`document`,`localStorage`,`sessionStorage`,`module`,`global`],l=[].concat(s,a,o);function u(e){let t=e.regex,u=(e,{after:t})=>{let n=`</`+e[0].slice(1);return e.input.indexOf(n,t)!==-1},d=n,f={begin:`<>`,end:`</>`},p=/<[A-Za-z0-9\\._:-]+\s*\/>/,m={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,t)=>{let n=e[0].length+e.index,r=e.input[n];if(r===`<`||r===`,`){t.ignoreMatch();return}r===`>`&&(u(e,{after:n})||t.ignoreMatch());let i,a=e.input.substring(n);if(i=a.match(/^\s*=/)){t.ignoreMatch();return}if((i=a.match(/^\s+extends\s+/))&&i.index===0){t.ignoreMatch();return}}},h={$pattern:n,keyword:r,literal:i,built_in:l,"variable.language":c},g=`[0-9](_?[0-9])*`,_=`\\.(${g})`,v=`0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`,y={className:`number`,variants:[{begin:`(\\b(${v})((${_})|\\.)?|(${_}))[eE][+-]?(${g})\\b`},{begin:`\\b(${v})\\b((${_})\\b|\\.)?|(${_})\\b`},{begin:`\\b(0|[1-9](_?[0-9])*)n\\b`},{begin:`\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b`},{begin:`\\b0[bB][0-1](_?[0-1])*n?\\b`},{begin:`\\b0[oO][0-7](_?[0-7])*n?\\b`},{begin:`\\b0[0-7]+n?\\b`}],relevance:0},b={className:`subst`,begin:`\\$\\{`,end:`\\}`,keywords:h,contains:[]},x={begin:".?html`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,b],subLanguage:`xml`}},S={begin:".?css`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,b],subLanguage:`css`}},C={begin:".?gql`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,b],subLanguage:`graphql`}},w={className:`string`,begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,b]},T={className:`comment`,variants:[e.COMMENT(/\/\*\*(?!\/)/,`\\*/`,{relevance:0,contains:[{begin:`(?=@[A-Za-z]+)`,relevance:0,contains:[{className:`doctag`,begin:`@[A-Za-z]+`},{className:`type`,begin:`\\{`,end:`\\}`,excludeEnd:!0,excludeBegin:!0,relevance:0},{className:`variable`,begin:`[A-Za-z$_][0-9A-Za-z$_]*(?=\\s*(-)|$)`,endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},E=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,x,S,C,w,{match:/\$\d+/},y];b.contains=E.concat({begin:/\{/,end:/\}/,keywords:h,contains:[`self`].concat(E)});let D=[].concat(T,b.contains),O=D.concat([{begin:/(\s*)\(/,end:/\)/,keywords:h,contains:[`self`].concat(D)}]),k={className:`params`,begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:h,contains:O},A={variants:[{match:[/class/,/\s+/,d,/\s+/,/extends/,/\s+/,t.concat(d,`(`,t.concat(/\./,d),`)*`)],scope:{1:`keyword`,3:`title.class`,5:`keyword`,7:`title.class.inherited`}},{match:[/class/,/\s+/,d],scope:{1:`keyword`,3:`title.class`}}]},ee={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:`title.class`,keywords:{_:[...a,...o]}},j={label:`use_strict`,className:`meta`,relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},M={variants:[{match:[/function/,/\s+/,d,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:`keyword`,3:`title.function`},label:`func.def`,contains:[k],illegal:/%/},N={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:`variable.constant`};function te(e){return t.concat(`(?!`,e.join(`|`),`)`)}let P={match:t.concat(/\b/,te([...s,`super`,`import`].map(e=>`${e}\\s*\\(`)),d,t.lookahead(/\s*\(/)),className:`title.function`,relevance:0},F={begin:t.concat(/\./,t.lookahead(t.concat(d,/(?![0-9A-Za-z$_(])/))),end:d,excludeBegin:!0,keywords:`prototype`,className:`property`,relevance:0},I={match:[/get|set/,/\s+/,d,/(?=\()/],className:{1:`keyword`,3:`title.function`},contains:[{begin:/\(\)/},k]},L=`(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|`+e.UNDERSCORE_IDENT_RE+`)\\s*=>`,ne={match:[/const|var|let/,/\s+/,d,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(L)],keywords:`async`,className:{1:`keyword`,3:`title.function`},contains:[k]};return{name:`JavaScript`,aliases:[`js`,`jsx`,`mjs`,`cjs`],keywords:h,exports:{PARAMS_CONTAINS:O,CLASS_REFERENCE:ee},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:`shebang`,binary:`node`,relevance:5}),j,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,x,S,C,w,T,{match:/\$\d+/},y,ee,{scope:`attr`,match:d+t.lookahead(`:`),relevance:0},ne,{begin:`(`+e.RE_STARTERS_RE+`|\\b(case|return|throw)\\b)\\s*`,keywords:`return throw case`,relevance:0,contains:[T,e.REGEXP_MODE,{className:`function`,begin:L,returnBegin:!0,end:`\\s*=>`,contains:[{className:`params`,variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:h,contains:O}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:f.begin,end:f.end},{match:p},{begin:m.begin,"on:begin":m.isTrulyOpeningTag,end:m.end}],subLanguage:`xml`,contains:[{begin:m.begin,end:m.end,skip:!0,contains:[`self`]}]}]},M,{beginKeywords:`while if switch catch for`},{begin:`\\b(?!function)`+e.UNDERSCORE_IDENT_RE+`\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{`,returnBegin:!0,label:`func.def`,contains:[k,e.inherit(e.TITLE_MODE,{begin:d,className:`title.function`})]},{match:/\.\.\./,relevance:0},F,{match:`\\$[A-Za-z$_][0-9A-Za-z$_]*`,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:`title.function`},contains:[k]},P,N,A,I,{match:/\$[(.]/}]}}t.exports=u})),Gx=f(((e,t)=>{function n(e){let t={className:`attr`,begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:`punctuation`,relevance:0},r=[`true`,`false`,`null`],i={scope:`literal`,beginKeywords:r.join(` `)};return{name:`JSON`,aliases:[`jsonc`],keywords:{literal:r},contains:[t,n,e.QUOTE_STRING_MODE,i,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:`\\S`}}t.exports=n})),Kx=f(((e,t)=>{var n=`[0-9](_*[0-9])*`,r=`\\.(${n})`,i=`[0-9a-fA-F](_*[0-9a-fA-F])*`,a={className:`number`,variants:[{begin:`(\\b(${n})((${r})|\\.)?|(${r}))[eE][+-]?(${n})[fFdD]?\\b`},{begin:`\\b(${n})((${r})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${r})[fFdD]?\\b`},{begin:`\\b(${n})[fFdD]\\b`},{begin:`\\b0[xX]((${i})\\.?|(${i})?\\.(${i}))[pP][+-]?(${n})[fFdD]?\\b`},{begin:`\\b(0|[1-9](_*[0-9])*)[lL]?\\b`},{begin:`\\b0[xX](${i})[lL]?\\b`},{begin:`\\b0(_*[0-7])*[lL]?\\b`},{begin:`\\b0[bB][01](_*[01])*[lL]?\\b`}],relevance:0};function o(e){let t={keyword:`abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual`,built_in:`Byte Short Char Int Long Boolean Float Double Void Unit Nothing`,literal:`true false null`},n={className:`keyword`,begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:`symbol`,begin:/@\w+/}]}},r={className:`symbol`,begin:e.UNDERSCORE_IDENT_RE+`@`},i={className:`subst`,begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},o={className:`variable`,begin:`\\$`+e.UNDERSCORE_IDENT_RE},s={className:`string`,variants:[{begin:`"""`,end:`"""(?=[^"])`,contains:[o,i]},{begin:`'`,end:`'`,illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:`"`,end:`"`,illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,o,i]}]};i.contains.push(s);let c={className:`meta`,begin:`@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*`+e.UNDERSCORE_IDENT_RE+`)?`},l={className:`meta`,begin:`@`+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(s,{className:`string`}),`self`]}]},u=a,d=e.COMMENT(`/\\*`,`\\*/`,{contains:[e.C_BLOCK_COMMENT_MODE]}),f={variants:[{className:`type`,begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},p=f;return p.variants[1].contains=[f],f.variants[1].contains=[p],{name:`Kotlin`,aliases:[`kt`,`kts`],keywords:t,contains:[e.COMMENT(`/\\*\\*`,`\\*/`,{relevance:0,contains:[{className:`doctag`,begin:`@[A-Za-z]+`}]}),e.C_LINE_COMMENT_MODE,d,n,r,c,l,{className:`function`,beginKeywords:`fun`,end:`[(]|$`,returnBegin:!0,excludeEnd:!0,keywords:t,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+`\\s*\\(`,returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:`type`,begin:/</,end:/>/,keywords:`reified`,relevance:0},{className:`params`,begin:/\(/,end:/\)/,endsParent:!0,keywords:t,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[f,e.C_LINE_COMMENT_MODE,d],relevance:0},e.C_LINE_COMMENT_MODE,d,c,l,s,e.C_NUMBER_MODE]},d]},{begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{3:`title.class`},keywords:`class interface trait`,end:/[:\{(]|$/,excludeEnd:!0,illegal:`extends implements`,contains:[{beginKeywords:`public protected internal private constructor`},e.UNDERSCORE_TITLE_MODE,{className:`type`,begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:`type`,begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},c,l]},s,{className:`meta`,begin:`^#!/usr/bin/env`,end:`$`,illegal:`
|
|
262
|
+
`},u]}}t.exports=o})),qx=f(((e,t)=>{var n=e=>({IMPORTANT:{scope:`meta`,begin:`!important`},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:`number`,begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:`built_in`,begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:`selector-attr`,begin:/\[/,end:/\]/,illegal:`$`,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:`number`,begin:e.NUMBER_RE+`(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?`,relevance:0},CSS_VARIABLE:{className:`attr`,begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),r=`a.abbr.address.article.aside.audio.b.blockquote.body.button.canvas.caption.cite.code.dd.del.details.dfn.div.dl.dt.em.fieldset.figcaption.figure.footer.form.h1.h2.h3.h4.h5.h6.header.hgroup.html.i.iframe.img.input.ins.kbd.label.legend.li.main.mark.menu.nav.object.ol.optgroup.option.p.picture.q.quote.samp.section.select.source.span.strong.summary.sup.table.tbody.td.textarea.tfoot.th.thead.time.tr.ul.var.video`.split(`.`),i=`defs.g.marker.mask.pattern.svg.switch.symbol.feBlend.feColorMatrix.feComponentTransfer.feComposite.feConvolveMatrix.feDiffuseLighting.feDisplacementMap.feFlood.feGaussianBlur.feImage.feMerge.feMorphology.feOffset.feSpecularLighting.feTile.feTurbulence.linearGradient.radialGradient.stop.circle.ellipse.image.line.path.polygon.polyline.rect.text.use.textPath.tspan.foreignObject.clipPath`.split(`.`),a=[...r,...i],o=`any-hover.any-pointer.aspect-ratio.color.color-gamut.color-index.device-aspect-ratio.device-height.device-width.display-mode.forced-colors.grid.height.hover.inverted-colors.monochrome.orientation.overflow-block.overflow-inline.pointer.prefers-color-scheme.prefers-contrast.prefers-reduced-motion.prefers-reduced-transparency.resolution.scan.scripting.update.width.min-width.max-width.min-height.max-height`.split(`.`).sort().reverse(),s=`active.any-link.blank.checked.current.default.defined.dir.disabled.drop.empty.enabled.first.first-child.first-of-type.fullscreen.future.focus.focus-visible.focus-within.has.host.host-context.hover.indeterminate.in-range.invalid.is.lang.last-child.last-of-type.left.link.local-link.not.nth-child.nth-col.nth-last-child.nth-last-col.nth-last-of-type.nth-of-type.only-child.only-of-type.optional.out-of-range.past.placeholder-shown.read-only.read-write.required.right.root.scope.target.target-within.user-invalid.valid.visited.where`.split(`.`).sort().reverse(),c=[`after`,`backdrop`,`before`,`cue`,`cue-region`,`first-letter`,`first-line`,`grammar-error`,`marker`,`part`,`placeholder`,`selection`,`slotted`,`spelling-error`].sort().reverse(),l=`accent-color.align-content.align-items.align-self.alignment-baseline.all.anchor-name.animation.animation-composition.animation-delay.animation-direction.animation-duration.animation-fill-mode.animation-iteration-count.animation-name.animation-play-state.animation-range.animation-range-end.animation-range-start.animation-timeline.animation-timing-function.appearance.aspect-ratio.backdrop-filter.backface-visibility.background.background-attachment.background-blend-mode.background-clip.background-color.background-image.background-origin.background-position.background-position-x.background-position-y.background-repeat.background-size.baseline-shift.block-size.border.border-block.border-block-color.border-block-end.border-block-end-color.border-block-end-style.border-block-end-width.border-block-start.border-block-start-color.border-block-start-style.border-block-start-width.border-block-style.border-block-width.border-bottom.border-bottom-color.border-bottom-left-radius.border-bottom-right-radius.border-bottom-style.border-bottom-width.border-collapse.border-color.border-end-end-radius.border-end-start-radius.border-image.border-image-outset.border-image-repeat.border-image-slice.border-image-source.border-image-width.border-inline.border-inline-color.border-inline-end.border-inline-end-color.border-inline-end-style.border-inline-end-width.border-inline-start.border-inline-start-color.border-inline-start-style.border-inline-start-width.border-inline-style.border-inline-width.border-left.border-left-color.border-left-style.border-left-width.border-radius.border-right.border-right-color.border-right-style.border-right-width.border-spacing.border-start-end-radius.border-start-start-radius.border-style.border-top.border-top-color.border-top-left-radius.border-top-right-radius.border-top-style.border-top-width.border-width.bottom.box-align.box-decoration-break.box-direction.box-flex.box-flex-group.box-lines.box-ordinal-group.box-orient.box-pack.box-shadow.box-sizing.break-after.break-before.break-inside.caption-side.caret-color.clear.clip.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.color-scheme.column-count.column-fill.column-gap.column-rule.column-rule-color.column-rule-style.column-rule-width.column-span.column-width.columns.contain.contain-intrinsic-block-size.contain-intrinsic-height.contain-intrinsic-inline-size.contain-intrinsic-size.contain-intrinsic-width.container.container-name.container-type.content.content-visibility.counter-increment.counter-reset.counter-set.cue.cue-after.cue-before.cursor.cx.cy.direction.display.dominant-baseline.empty-cells.enable-background.field-sizing.fill.fill-opacity.fill-rule.filter.flex.flex-basis.flex-direction.flex-flow.flex-grow.flex-shrink.flex-wrap.float.flood-color.flood-opacity.flow.font.font-display.font-family.font-feature-settings.font-kerning.font-language-override.font-optical-sizing.font-palette.font-size.font-size-adjust.font-smooth.font-smoothing.font-stretch.font-style.font-synthesis.font-synthesis-position.font-synthesis-small-caps.font-synthesis-style.font-synthesis-weight.font-variant.font-variant-alternates.font-variant-caps.font-variant-east-asian.font-variant-emoji.font-variant-ligatures.font-variant-numeric.font-variant-position.font-variation-settings.font-weight.forced-color-adjust.gap.glyph-orientation-horizontal.glyph-orientation-vertical.grid.grid-area.grid-auto-columns.grid-auto-flow.grid-auto-rows.grid-column.grid-column-end.grid-column-start.grid-gap.grid-row.grid-row-end.grid-row-start.grid-template.grid-template-areas.grid-template-columns.grid-template-rows.hanging-punctuation.height.hyphenate-character.hyphenate-limit-chars.hyphens.icon.image-orientation.image-rendering.image-resolution.ime-mode.initial-letter.initial-letter-align.inline-size.inset.inset-area.inset-block.inset-block-end.inset-block-start.inset-inline.inset-inline-end.inset-inline-start.isolation.justify-content.justify-items.justify-self.kerning.left.letter-spacing.lighting-color.line-break.line-height.line-height-step.list-style.list-style-image.list-style-position.list-style-type.margin.margin-block.margin-block-end.margin-block-start.margin-bottom.margin-inline.margin-inline-end.margin-inline-start.margin-left.margin-right.margin-top.margin-trim.marker.marker-end.marker-mid.marker-start.marks.mask.mask-border.mask-border-mode.mask-border-outset.mask-border-repeat.mask-border-slice.mask-border-source.mask-border-width.mask-clip.mask-composite.mask-image.mask-mode.mask-origin.mask-position.mask-repeat.mask-size.mask-type.masonry-auto-flow.math-depth.math-shift.math-style.max-block-size.max-height.max-inline-size.max-width.min-block-size.min-height.min-inline-size.min-width.mix-blend-mode.nav-down.nav-index.nav-left.nav-right.nav-up.none.normal.object-fit.object-position.offset.offset-anchor.offset-distance.offset-path.offset-position.offset-rotate.opacity.order.orphans.outline.outline-color.outline-offset.outline-style.outline-width.overflow.overflow-anchor.overflow-block.overflow-clip-margin.overflow-inline.overflow-wrap.overflow-x.overflow-y.overlay.overscroll-behavior.overscroll-behavior-block.overscroll-behavior-inline.overscroll-behavior-x.overscroll-behavior-y.padding.padding-block.padding-block-end.padding-block-start.padding-bottom.padding-inline.padding-inline-end.padding-inline-start.padding-left.padding-right.padding-top.page.page-break-after.page-break-before.page-break-inside.paint-order.pause.pause-after.pause-before.perspective.perspective-origin.place-content.place-items.place-self.pointer-events.position.position-anchor.position-visibility.print-color-adjust.quotes.r.resize.rest.rest-after.rest-before.right.rotate.row-gap.ruby-align.ruby-position.scale.scroll-behavior.scroll-margin.scroll-margin-block.scroll-margin-block-end.scroll-margin-block-start.scroll-margin-bottom.scroll-margin-inline.scroll-margin-inline-end.scroll-margin-inline-start.scroll-margin-left.scroll-margin-right.scroll-margin-top.scroll-padding.scroll-padding-block.scroll-padding-block-end.scroll-padding-block-start.scroll-padding-bottom.scroll-padding-inline.scroll-padding-inline-end.scroll-padding-inline-start.scroll-padding-left.scroll-padding-right.scroll-padding-top.scroll-snap-align.scroll-snap-stop.scroll-snap-type.scroll-timeline.scroll-timeline-axis.scroll-timeline-name.scrollbar-color.scrollbar-gutter.scrollbar-width.shape-image-threshold.shape-margin.shape-outside.shape-rendering.speak.speak-as.src.stop-color.stop-opacity.stroke.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke-width.tab-size.table-layout.text-align.text-align-all.text-align-last.text-anchor.text-combine-upright.text-decoration.text-decoration-color.text-decoration-line.text-decoration-skip.text-decoration-skip-ink.text-decoration-style.text-decoration-thickness.text-emphasis.text-emphasis-color.text-emphasis-position.text-emphasis-style.text-indent.text-justify.text-orientation.text-overflow.text-rendering.text-shadow.text-size-adjust.text-transform.text-underline-offset.text-underline-position.text-wrap.text-wrap-mode.text-wrap-style.timeline-scope.top.touch-action.transform.transform-box.transform-origin.transform-style.transition.transition-behavior.transition-delay.transition-duration.transition-property.transition-timing-function.translate.unicode-bidi.user-modify.user-select.vector-effect.vertical-align.view-timeline.view-timeline-axis.view-timeline-inset.view-timeline-name.view-transition-name.visibility.voice-balance.voice-duration.voice-family.voice-pitch.voice-range.voice-rate.voice-stress.voice-volume.white-space.white-space-collapse.widows.width.will-change.word-break.word-spacing.word-wrap.writing-mode.x.y.z-index.zoom`.split(`.`).sort().reverse(),u=s.concat(c).sort().reverse();function d(e){let t=n(e),r=u,i=`([\\w-]+|@\\{[\\w-]+\\})`,d=[],f=[],p=function(e){return{className:`string`,begin:`~?`+e+`.*?`+e}},m=function(e,t,n){return{className:e,begin:t,relevance:n}},h={$pattern:/[a-z-]+/,keyword:`and or not only`,attribute:o.join(` `)},g={begin:`\\(`,end:`\\)`,contains:f,keywords:h,relevance:0};f.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,p(`'`),p(`"`),t.CSS_NUMBER_MODE,{begin:`(url|data-uri)\\(`,starts:{className:`string`,end:`[\\)\\n]`,excludeEnd:!0}},t.HEXCOLOR,g,m(`variable`,`@@?[\\w-]+`,10),m(`variable`,`@\\{[\\w-]+\\}`),m(`built_in`,"~?`[^`]*?`"),{className:`attribute`,begin:`[\\w-]+\\s*:`,end:`:`,returnBegin:!0,excludeEnd:!0},t.IMPORTANT,{beginKeywords:`and not`},t.FUNCTION_DISPATCH);let _=f.concat({begin:/\{/,end:/\}/,contains:d}),v={beginKeywords:`when`,endsWithParent:!0,contains:[{beginKeywords:`and not`}].concat(f)},y={begin:`([\\w-]+|@\\{[\\w-]+\\})\\s*:`,returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},t.CSS_VARIABLE,{className:`attribute`,begin:`\\b(`+l.join(`|`)+`)\\b`,end:/(?=:)/,starts:{endsWithParent:!0,illegal:`[<=$]`,relevance:0,contains:f}}]},b={className:`keyword`,begin:`@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b`,starts:{end:`[;{}]`,keywords:h,returnEnd:!0,contains:f,relevance:0}},x={className:`variable`,variants:[{begin:`@[\\w-]+\\s*:`,relevance:15},{begin:`@[\\w-]+`}],starts:{end:`[;}]`,returnEnd:!0,contains:_}},S={variants:[{begin:`[\\.#:&\\[>]`,end:`[;{}]`},{begin:i,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,v,m(`keyword`,`all\\b`),m(`variable`,`@\\{[\\w-]+\\}`),{begin:`\\b(`+a.join(`|`)+`)\\b`,className:`selector-tag`},t.CSS_NUMBER_MODE,m(`selector-tag`,i,0),m(`selector-id`,`#([\\w-]+|@\\{[\\w-]+\\})`),m(`selector-class`,`\\.([\\w-]+|@\\{[\\w-]+\\})`,0),m(`selector-tag`,`&`,0),t.ATTRIBUTE_SELECTOR_MODE,{className:`selector-pseudo`,begin:`:(`+s.join(`|`)+`)`},{className:`selector-pseudo`,begin:`:(:)?(`+c.join(`|`)+`)`},{begin:/\(/,end:/\)/,relevance:0,contains:_},{begin:`!important`},t.FUNCTION_DISPATCH]},C={begin:`[\\w-]+:(:)?(${r.join(`|`)})`,returnBegin:!0,contains:[S]};return d.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,b,x,C,y,S,v,t.FUNCTION_DISPATCH),{name:`Less`,case_insensitive:!0,illegal:`[=>'/<($"]`,contains:d}}t.exports=d})),Jx=f(((e,t)=>{function n(e){let t=`\\[=*\\[`,n=`\\]=*\\]`,r={begin:t,end:n,contains:[`self`]},i=[e.COMMENT(`--(?!\\[=*\\[)`,`$`),e.COMMENT(`--\\[=*\\[`,n,{contains:[r],relevance:10})];return{name:`Lua`,aliases:[`pluto`],keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:`true false nil`,keyword:`and break do else elseif end for goto if in local not or repeat return then until while`,built_in:`_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove`},contains:i.concat([{className:`function`,beginKeywords:`function`,end:`\\)`,contains:[e.inherit(e.TITLE_MODE,{begin:`([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*`}),{className:`params`,begin:`\\(`,endsWithParent:!0,contains:i}].concat(i)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:`string`,begin:t,end:n,contains:[r],relevance:5}])}}t.exports=n})),Yx=f(((e,t)=>{function n(e){let t={className:`variable`,variants:[{begin:`\\$\\(`+e.UNDERSCORE_IDENT_RE+`\\)`,contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},n={className:`string`,begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t]},r={className:`variable`,begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:`subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value`},contains:[t,n]},i={begin:`^`+e.UNDERSCORE_IDENT_RE+`\\s*(?=[:+?]?=)`},a={className:`meta`,begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:`.PHONY`}},o={className:`section`,begin:/^[^\s]+:/,end:/$/,contains:[t]};return{name:`Makefile`,aliases:[`mk`,`mak`,`make`],keywords:{$pattern:/[\w-]+/,keyword:`define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath`},contains:[e.HASH_COMMENT_MODE,t,n,r,i,a,o]}}t.exports=n})),Xx=f(((e,t)=>{function n(e){let t=e.regex,n=`abs.accept.alarm.and.atan2.bind.binmode.bless.break.caller.chdir.chmod.chomp.chop.chown.chr.chroot.class.close.closedir.connect.continue.cos.crypt.dbmclose.dbmopen.defined.delete.die.do.dump.each.else.elsif.endgrent.endhostent.endnetent.endprotoent.endpwent.endservent.eof.eval.exec.exists.exit.exp.fcntl.field.fileno.flock.for.foreach.fork.format.formline.getc.getgrent.getgrgid.getgrnam.gethostbyaddr.gethostbyname.gethostent.getlogin.getnetbyaddr.getnetbyname.getnetent.getpeername.getpgrp.getpriority.getprotobyname.getprotobynumber.getprotoent.getpwent.getpwnam.getpwuid.getservbyname.getservbyport.getservent.getsockname.getsockopt.given.glob.gmtime.goto.grep.gt.hex.if.index.int.ioctl.join.keys.kill.last.lc.lcfirst.length.link.listen.local.localtime.log.lstat.lt.ma.map.method.mkdir.msgctl.msgget.msgrcv.msgsnd.my.ne.next.no.not.oct.open.opendir.or.ord.our.pack.package.pipe.pop.pos.print.printf.prototype.push.q|0.qq.quotemeta.qw.qx.rand.read.readdir.readline.readlink.readpipe.recv.redo.ref.rename.require.reset.return.reverse.rewinddir.rindex.rmdir.say.scalar.seek.seekdir.select.semctl.semget.semop.send.setgrent.sethostent.setnetent.setpgrp.setpriority.setprotoent.setpwent.setservent.setsockopt.shift.shmctl.shmget.shmread.shmwrite.shutdown.sin.sleep.socket.socketpair.sort.splice.split.sprintf.sqrt.srand.stat.state.study.sub.substr.symlink.syscall.sysopen.sysread.sysseek.system.syswrite.tell.telldir.tie.tied.time.times.tr.truncate.uc.ucfirst.umask.undef.unless.unlink.unpack.unshift.untie.until.use.utime.values.vec.wait.waitpid.wantarray.warn.when.while.write.x|0.xor.y|0`.split(`.`),r=/[dualxmsipngr]{0,12}/,i={$pattern:/[\w.]+/,keyword:n.join(` `)},a={className:`subst`,begin:`[$@]\\{`,end:`\\}`,keywords:i},o={begin:/->\{/,end:/\}/},s={scope:`attr`,match:/\s+:\s*\w+(\s*\(.*?\))?/},c={scope:`variable`,variants:[{begin:/\$\d/},{begin:t.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,`(?![A-Za-z])(?![@$%])`)},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[s]},l={className:`number`,variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},u=[e.BACKSLASH_ESCAPE,a,c],d=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],f=(e,n,i=`\\1`)=>{let a=i===`\\1`?i:t.concat(i,n);return t.concat(t.concat(`(?:`,e,`)`),n,/(?:\\.|[^\\\/])*?/,a,/(?:\\.|[^\\\/])*?/,i,r)},p=(e,n,i)=>t.concat(t.concat(`(?:`,e,`)`),n,/(?:\\.|[^\\\/])*?/,i,r),m=[c,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),o,{className:`string`,contains:u,variants:[{begin:`q[qwxr]?\\s*\\(`,end:`\\)`,relevance:5},{begin:`q[qwxr]?\\s*\\[`,end:`\\]`,relevance:5},{begin:`q[qwxr]?\\s*\\{`,end:`\\}`,relevance:5},{begin:`q[qwxr]?\\s*\\|`,end:`\\|`,relevance:5},{begin:`q[qwxr]?\\s*<`,end:`>`,relevance:5},{begin:`qw\\s+q`,end:`q`,relevance:5},{begin:`'`,end:`'`,contains:[e.BACKSLASH_ESCAPE]},{begin:`"`,end:`"`},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:`-?\\w+\\s*=>`,relevance:0}]},l,{begin:`(\\/\\/|`+e.RE_STARTERS_RE+`|\\b(split|return|print|reverse|grep)\\b)\\s*`,keywords:`split return print reverse grep`,relevance:0,contains:[e.HASH_COMMENT_MODE,{className:`regexp`,variants:[{begin:f(`s|tr|y`,t.either(...d,{capture:!0}))},{begin:f(`s|tr|y`,`\\(`,`\\)`)},{begin:f(`s|tr|y`,`\\[`,`\\]`)},{begin:f(`s|tr|y`,`\\{`,`\\}`)}],relevance:2},{className:`regexp`,variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:p(`(?:m|qr)?`,/\//,/\//)},{begin:p(`m|qr`,t.either(...d,{capture:!0}),/\1/)},{begin:p(`m|qr`,/\(/,/\)/)},{begin:p(`m|qr`,/\[/,/\]/)},{begin:p(`m|qr`,/\{/,/\}/)}]}]},{className:`function`,beginKeywords:`sub method`,end:`(\\s*\\(.*?\\))?[;{]`,excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,s]},{className:`class`,beginKeywords:`class`,end:`[;{]`,excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,s,l]},{begin:`-\\w\\b`,relevance:0},{begin:`^__DATA__$`,end:`^__END__$`,subLanguage:`mojolicious`,contains:[{begin:`^@@.*`,end:`$`,className:`comment`}]}];return a.contains=m,o.contains=m,{name:`Perl`,aliases:[`pl`,`pm`],keywords:i,contains:m}}t.exports=n})),Zx=f(((e,t)=>{function n(e){let t={className:`built_in`,begin:`\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+`},n=/[a-zA-Z@][a-zA-Z0-9_]*/,r={"variable.language":[`this`,`super`],$pattern:n,keyword:`while.export.sizeof.typedef.const.struct.for.union.volatile.static.mutable.if.do.return.goto.enum.else.break.extern.asm.case.default.register.explicit.typename.switch.continue.inline.readonly.assign.readwrite.self.@synchronized.id.typeof.nonatomic.IBOutlet.IBAction.strong.weak.copy.in.out.inout.bycopy.byref.oneway.__strong.__weak.__block.__autoreleasing.@private.@protected.@public.@try.@property.@end.@throw.@catch.@finally.@autoreleasepool.@synthesize.@dynamic.@selector.@optional.@required.@encode.@package.@import.@defs.@compatibility_alias.__bridge.__bridge_transfer.__bridge_retained.__bridge_retain.__covariant.__contravariant.__kindof._Nonnull._Nullable._Null_unspecified.__FUNCTION__.__PRETTY_FUNCTION__.__attribute__.getter.setter.retain.unsafe_unretained.nonnull.nullable.null_unspecified.null_resettable.class.instancetype.NS_DESIGNATED_INITIALIZER.NS_UNAVAILABLE.NS_REQUIRES_SUPER.NS_RETURNS_INNER_POINTER.NS_INLINE.NS_AVAILABLE.NS_DEPRECATED.NS_ENUM.NS_OPTIONS.NS_SWIFT_UNAVAILABLE.NS_ASSUME_NONNULL_BEGIN.NS_ASSUME_NONNULL_END.NS_REFINED_FOR_SWIFT.NS_SWIFT_NAME.NS_SWIFT_NOTHROW.NS_DURING.NS_HANDLER.NS_ENDHANDLER.NS_VALUERETURN.NS_VOIDRETURN`.split(`.`),literal:[`false`,`true`,`FALSE`,`TRUE`,`nil`,`YES`,`NO`,`NULL`],built_in:[`dispatch_once_t`,`dispatch_queue_t`,`dispatch_sync`,`dispatch_async`,`dispatch_once`],type:[`int`,`float`,`char`,`unsigned`,`signed`,`short`,`long`,`double`,`wchar_t`,`unichar`,`void`,`bool`,`BOOL`,`id|0`,`_Bool`]},i={$pattern:n,keyword:[`@interface`,`@class`,`@protocol`,`@implementation`]};return{name:`Objective-C`,aliases:[`mm`,`objc`,`obj-c`,`obj-c++`,`objective-c++`],keywords:r,illegal:`</`,contains:[t,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:`string`,variants:[{begin:`@"`,end:`"`,illegal:`\\n`,contains:[e.BACKSLASH_ESCAPE]}]},{className:`meta`,begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:`if else elif endif define undef warning error line pragma ifdef ifndef include`},contains:[{begin:/\\\n/,relevance:0},e.inherit(e.QUOTE_STRING_MODE,{className:`string`}),{className:`string`,begin:/<.*?>/,end:/$/,illegal:`\\n`},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:`class`,begin:`(`+i.keyword.join(`|`)+`)\\b`,end:/(\{|$)/,excludeEnd:!0,keywords:i,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:`\\.`+e.UNDERSCORE_IDENT_RE,relevance:0}]}}t.exports=n})),Qx=f(((e,t)=>{function n(e){let t=e.regex,n=/(?![A-Za-z0-9])(?![$])/,r=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),i=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),a=t.concat(/[A-Z]+/,n),o={scope:`variable`,match:`\\$+`+r},s={scope:`meta`,variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},c={scope:`subst`,variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},l=e.inherit(e.APOS_STRING_MODE,{illegal:null}),u=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(c)}),d={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(c),"on:begin":(e,t)=>{t.data._beginMatch=e[1]||e[2]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}},f=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),p=`[
|
|
263
|
+
]`,m={scope:`string`,variants:[u,l,d,f]},h={scope:`number`,variants:[{begin:`\\b0[bB][01]+(?:_[01]+)*\\b`},{begin:`\\b0[oO][0-7]+(?:_[0-7]+)*\\b`},{begin:`\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b`},{begin:`(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?`}],relevance:0},g=[`false`,`null`,`true`],_=`__CLASS__.__DIR__.__FILE__.__FUNCTION__.__COMPILER_HALT_OFFSET__.__LINE__.__METHOD__.__NAMESPACE__.__TRAIT__.die.echo.exit.include.include_once.print.require.require_once.array.abstract.and.as.binary.bool.boolean.break.callable.case.catch.class.clone.const.continue.declare.default.do.double.else.elseif.empty.enddeclare.endfor.endforeach.endif.endswitch.endwhile.enum.eval.extends.final.finally.float.for.foreach.from.global.goto.if.implements.instanceof.insteadof.int.integer.interface.isset.iterable.list.match|0.mixed.new.never.object.or.private.protected.public.readonly.real.return.string.switch.throw.trait.try.unset.use.var.void.while.xor.yield`.split(`.`),v=`Error|0.AppendIterator.ArgumentCountError.ArithmeticError.ArrayIterator.ArrayObject.AssertionError.BadFunctionCallException.BadMethodCallException.CachingIterator.CallbackFilterIterator.CompileError.Countable.DirectoryIterator.DivisionByZeroError.DomainException.EmptyIterator.ErrorException.Exception.FilesystemIterator.FilterIterator.GlobIterator.InfiniteIterator.InvalidArgumentException.IteratorIterator.LengthException.LimitIterator.LogicException.MultipleIterator.NoRewindIterator.OutOfBoundsException.OutOfRangeException.OuterIterator.OverflowException.ParentIterator.ParseError.RangeException.RecursiveArrayIterator.RecursiveCachingIterator.RecursiveCallbackFilterIterator.RecursiveDirectoryIterator.RecursiveFilterIterator.RecursiveIterator.RecursiveIteratorIterator.RecursiveRegexIterator.RecursiveTreeIterator.RegexIterator.RuntimeException.SeekableIterator.SplDoublyLinkedList.SplFileInfo.SplFileObject.SplFixedArray.SplHeap.SplMaxHeap.SplMinHeap.SplObjectStorage.SplObserver.SplPriorityQueue.SplQueue.SplStack.SplSubject.SplTempFileObject.TypeError.UnderflowException.UnexpectedValueException.UnhandledMatchError.ArrayAccess.BackedEnum.Closure.Fiber.Generator.Iterator.IteratorAggregate.Serializable.Stringable.Throwable.Traversable.UnitEnum.WeakReference.WeakMap.Directory.__PHP_Incomplete_Class.parent.php_user_filter.self.static.stdClass`.split(`.`),y={keyword:_,literal:(e=>{let t=[];return e.forEach(e=>{t.push(e),e.toLowerCase()===e?t.push(e.toUpperCase()):t.push(e.toLowerCase())}),t})(g),built_in:v},b=e=>e.map(e=>e.replace(/\|\d+$/,``)),x={variants:[{match:[/new/,t.concat(p,`+`),t.concat(`(?!`,b(v).join(`\\b|`),`\\b)`),i],scope:{1:`keyword`,4:`title.class`}}]},S=t.concat(r,`\\b(?!\\()`),C={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),S],scope:{2:`variable.constant`}},{match:[/::/,/class/],scope:{2:`variable.language`}},{match:[i,t.concat(/::/,t.lookahead(/(?!class\b)/)),S],scope:{1:`title.class`,3:`variable.constant`}},{match:[i,t.concat(`::`,t.lookahead(/(?!class\b)/))],scope:{1:`title.class`}},{match:[i,/::/,/class/],scope:{1:`title.class`,3:`variable.language`}}]},w={scope:`attr`,match:t.concat(r,t.lookahead(`:`),t.lookahead(/(?!::)/))},T={relevance:0,begin:/\(/,end:/\)/,keywords:y,contains:[w,o,C,e.C_BLOCK_COMMENT_MODE,m,h,x]},E={relevance:0,match:[/\b/,t.concat(`(?!fn\\b|function\\b|`,b(_).join(`\\b|`),`|`,b(v).join(`\\b|`),`\\b)`),r,t.concat(p,`*`),t.lookahead(/(?=\()/)],scope:{3:`title.function.invoke`},contains:[T]};T.contains.push(E);let D=[w,C,e.C_BLOCK_COMMENT_MODE,m,h,x],O={begin:t.concat(/#\[\s*\\?/,t.either(i,a)),beginScope:`meta`,end:/]/,endScope:`meta`,keywords:{literal:g,keyword:[`new`,`array`]},contains:[{begin:/\[/,end:/]/,keywords:{literal:g,keyword:[`new`,`array`]},contains:[`self`,...D]},...D,{scope:`meta`,variants:[{match:i},{match:a}]}]};return{case_insensitive:!1,keywords:y,contains:[O,e.HASH_COMMENT_MODE,e.COMMENT(`//`,`$`),e.COMMENT(`/\\*`,`\\*/`,{contains:[{scope:`doctag`,match:`@[A-Za-z]+`}]}),{match:/__halt_compiler\(\);/,keywords:`__halt_compiler`,starts:{scope:`comment`,end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:`meta`,endsParent:!0}]}},s,{scope:`variable.language`,match:/\$this\b/},o,E,C,{match:[/const/,/\s/,r],scope:{1:`keyword`,3:`variable.constant`}},x,{scope:`function`,relevance:0,beginKeywords:`fn function`,end:/[;{]/,excludeEnd:!0,illegal:`[$%\\[]`,contains:[{beginKeywords:`use`},e.UNDERSCORE_TITLE_MODE,{begin:`=>`,endsParent:!0},{scope:`params`,begin:`\\(`,end:`\\)`,excludeBegin:!0,excludeEnd:!0,keywords:y,contains:[`self`,O,o,C,e.C_BLOCK_COMMENT_MODE,m,h]}]},{scope:`class`,variants:[{beginKeywords:`enum`,illegal:/[($"]/},{beginKeywords:`class interface trait`,illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:`extends implements`},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:`namespace`,relevance:0,end:`;`,illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:`title.class`})]},{beginKeywords:`use`,relevance:0,end:`;`,contains:[{match:/\b(as|const|function)\b/,scope:`keyword`},e.UNDERSCORE_TITLE_MODE]},m,h]}}t.exports=n})),$x=f(((e,t)=>{function n(e){return{name:`PHP template`,subLanguage:`xml`,contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:`php`,contains:[{begin:`/\\*`,end:`\\*/`,skip:!0},{begin:`b"`,end:`"`,skip:!0},{begin:`b'`,end:`'`,skip:!0},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}t.exports=n})),eS=f(((e,t)=>{function n(e){return{name:`Plain text`,aliases:[`text`,`txt`],disableAutodetect:!0}}t.exports=n})),tS=f(((e,t)=>{function n(e){let t=e.regex,n=/[\p{XID_Start}_]\p{XID_Continue}*/u,r=`and.as.assert.async.await.break.case.class.continue.def.del.elif.else.except.finally.for.from.global.if.import.in.is.lambda.match.nonlocal|10.not.or.pass.raise.return.try.while.with.yield`.split(`.`),i={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:r,built_in:`__import__.abs.all.any.ascii.bin.bool.breakpoint.bytearray.bytes.callable.chr.classmethod.compile.complex.delattr.dict.dir.divmod.enumerate.eval.exec.filter.float.format.frozenset.getattr.globals.hasattr.hash.help.hex.id.input.int.isinstance.issubclass.iter.len.list.locals.map.max.memoryview.min.next.object.oct.open.ord.pow.print.property.range.repr.reversed.round.set.setattr.slice.sorted.staticmethod.str.sum.super.tuple.type.vars.zip`.split(`.`),literal:[`__debug__`,`Ellipsis`,`False`,`None`,`NotImplemented`,`True`],type:[`Any`,`Callable`,`Coroutine`,`Dict`,`List`,`Literal`,`Generic`,`Optional`,`Sequence`,`Set`,`Tuple`,`Type`,`Union`]},a={className:`meta`,begin:/^(>>>|\.\.\.) /},o={className:`subst`,begin:/\{/,end:/\}/,keywords:i,illegal:/#/},s={begin:/\{\{/,relevance:0},c={className:`string`,contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a,s,o]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a,s,o]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,s,o]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,o]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},l=`[0-9](_?[0-9])*`,u=`(\\b(${l}))?\\.(${l})|\\b(${l})\\.`,d=`\\b|${r.join(`|`)}`,f={className:`number`,relevance:0,variants:[{begin:`(\\b(${l})|(${u}))[eE][+-]?(${l})[jJ]?(?=${d})`},{begin:`(${u})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${d})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${d})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${d})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${d})`},{begin:`\\b(${l})[jJ](?=${d})`}]},p={className:`comment`,begin:t.lookahead(/# type:/),end:/$/,keywords:i,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},m={className:`params`,variants:[{className:``,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:[`self`,a,f,c,e.HASH_COMMENT_MODE]}]};return o.contains=[c,f,a],{name:`Python`,aliases:[`py`,`gyp`,`ipython`],unicodeRegex:!0,keywords:i,illegal:/(<\/|\?)|=>/,contains:[a,f,{scope:`variable.language`,match:/\bself\b/},{beginKeywords:`if`,relevance:0},{match:/\bor\b/,scope:`keyword`},c,p,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:`keyword`,3:`title.function`},contains:[m]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:`keyword`,3:`title.class`,6:`title.class.inherited`}},{className:`meta`,begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[f,m,c]}]}}t.exports=n})),nS=f(((e,t)=>{function n(e){return{aliases:[`pycon`],contains:[{className:`meta.prompt`,starts:{end:/ |$/,starts:{end:`$`,subLanguage:`python`}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}t.exports=n})),rS=f(((e,t)=>{function n(e){let t=e.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,r=t.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),i=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,a=t.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:`R`,keywords:{$pattern:n,keyword:`function if in break next repeat else for while`,literal:`NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10`,built_in:`LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm`},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:`doctag`,match:/@examples/,starts:{end:t.lookahead(t.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:`doctag`,begin:`@param`,end:/$/,contains:[{scope:`variable`,variants:[{match:n},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:`doctag`,match:/@[a-zA-Z]+/},{scope:`keyword`,match:/\\[a-zA-Z]+/}]}),e.HASH_COMMENT_MODE,{scope:`string`,contains:[e.BACKSLASH_ESCAPE],variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:`"`,end:`"`,relevance:0},{begin:`'`,end:`'`,relevance:0}]},{relevance:0,variants:[{scope:{1:`operator`,2:`number`},match:[i,r]},{scope:{1:`operator`,2:`number`},match:[/%[^%]*%/,r]},{scope:{1:`punctuation`,2:`number`},match:[a,r]},{scope:{2:`number`},match:[/[^a-zA-Z0-9._]|^/,r]}]},{scope:{3:`operator`},match:[n,/\s+/,/<-/,/\s+/]},{scope:`operator`,relevance:0,variants:[{match:i},{match:/%[^%]*%/}]},{scope:`punctuation`,relevance:0,match:a},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}t.exports=n})),iS=f(((e,t)=>{function n(e){let t=e.regex,n=/(r#)?/,r=t.concat(n,e.UNDERSCORE_IDENT_RE),i=t.concat(n,e.IDENT_RE),a={className:`title.function.invoke`,relevance:0,begin:t.concat(/\b/,/(?!let|for|while|if|else|match\b)/,i,t.lookahead(/\s*\(/))},o=`abstract.as.async.await.become.box.break.const.continue.crate.do.dyn.else.enum.extern.false.final.fn.for.if.impl.in.let.loop.macro.match.mod.move.mut.override.priv.pub.ref.return.self.Self.static.struct.super.trait.true.try.type.typeof.union.unsafe.unsized.use.virtual.where.while.yield`.split(`.`),s=[`true`,`false`,`Some`,`None`,`Ok`,`Err`],c=`drop .Copy.Send.Sized.Sync.Drop.Fn.FnMut.FnOnce.ToOwned.Clone.Debug.PartialEq.PartialOrd.Eq.Ord.AsRef.AsMut.Into.From.Default.Iterator.Extend.IntoIterator.DoubleEndedIterator.ExactSizeIterator.SliceConcatExt.ToString.assert!.assert_eq!.bitflags!.bytes!.cfg!.col!.concat!.concat_idents!.debug_assert!.debug_assert_eq!.env!.eprintln!.panic!.file!.format!.format_args!.include_bytes!.include_str!.line!.local_data_key!.module_path!.option_env!.print!.println!.select!.stringify!.try!.unimplemented!.unreachable!.vec!.write!.writeln!.macro_rules!.assert_ne!.debug_assert_ne!`.split(`.`),l=[`i8`,`i16`,`i32`,`i64`,`i128`,`isize`,`u8`,`u16`,`u32`,`u64`,`u128`,`usize`,`f32`,`f64`,`str`,`char`,`bool`,`Box`,`Option`,`Result`,`String`,`Vec`];return{name:`Rust`,aliases:[`rs`],keywords:{$pattern:e.IDENT_RE+`!?`,type:l,keyword:o,literal:s,built_in:c},illegal:`</`,contains:[e.C_LINE_COMMENT_MODE,e.COMMENT(`/\\*`,`\\*/`,{contains:[`self`]}),e.inherit(e.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:`symbol`,begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:`string`,variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{scope:`char.escape`,match:/\\('|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{className:`number`,variants:[{begin:`\\b0b([01_]+)([ui](8|16|32|64|128|size)|f(32|64))?`},{begin:`\\b0o([0-7_]+)([ui](8|16|32|64|128|size)|f(32|64))?`},{begin:`\\b0x([A-Fa-f0-9_]+)([ui](8|16|32|64|128|size)|f(32|64))?`},{begin:`\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)([ui](8|16|32|64|128|size)|f(32|64))?`}],relevance:0},{begin:[/fn/,/\s+/,r],className:{1:`keyword`,3:`title.function`}},{className:`meta`,begin:`#!?\\[`,end:`\\]`,contains:[{className:`string`,begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,r],className:{1:`keyword`,3:`keyword`,4:`variable`}},{begin:[/for/,/\s+/,r,/\s+/,/in/],className:{1:`keyword`,3:`variable`,5:`keyword`}},{begin:[/type/,/\s+/,r],className:{1:`keyword`,3:`title.class`}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,r],className:{1:`keyword`,3:`title.class`}},{begin:e.IDENT_RE+`::`,keywords:{keyword:`Self`,built_in:c,type:l}},{className:`punctuation`,begin:`->`},a]}}t.exports=n})),aS=f(((e,t)=>{var n=e=>({IMPORTANT:{scope:`meta`,begin:`!important`},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:`number`,begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:`built_in`,begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:`selector-attr`,begin:/\[/,end:/\]/,illegal:`$`,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:`number`,begin:e.NUMBER_RE+`(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?`,relevance:0},CSS_VARIABLE:{className:`attr`,begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),r=`a.abbr.address.article.aside.audio.b.blockquote.body.button.canvas.caption.cite.code.dd.del.details.dfn.div.dl.dt.em.fieldset.figcaption.figure.footer.form.h1.h2.h3.h4.h5.h6.header.hgroup.html.i.iframe.img.input.ins.kbd.label.legend.li.main.mark.menu.nav.object.ol.optgroup.option.p.picture.q.quote.samp.section.select.source.span.strong.summary.sup.table.tbody.td.textarea.tfoot.th.thead.time.tr.ul.var.video`.split(`.`),i=`defs.g.marker.mask.pattern.svg.switch.symbol.feBlend.feColorMatrix.feComponentTransfer.feComposite.feConvolveMatrix.feDiffuseLighting.feDisplacementMap.feFlood.feGaussianBlur.feImage.feMerge.feMorphology.feOffset.feSpecularLighting.feTile.feTurbulence.linearGradient.radialGradient.stop.circle.ellipse.image.line.path.polygon.polyline.rect.text.use.textPath.tspan.foreignObject.clipPath`.split(`.`),a=[...r,...i],o=`any-hover.any-pointer.aspect-ratio.color.color-gamut.color-index.device-aspect-ratio.device-height.device-width.display-mode.forced-colors.grid.height.hover.inverted-colors.monochrome.orientation.overflow-block.overflow-inline.pointer.prefers-color-scheme.prefers-contrast.prefers-reduced-motion.prefers-reduced-transparency.resolution.scan.scripting.update.width.min-width.max-width.min-height.max-height`.split(`.`).sort().reverse(),s=`active.any-link.blank.checked.current.default.defined.dir.disabled.drop.empty.enabled.first.first-child.first-of-type.fullscreen.future.focus.focus-visible.focus-within.has.host.host-context.hover.indeterminate.in-range.invalid.is.lang.last-child.last-of-type.left.link.local-link.not.nth-child.nth-col.nth-last-child.nth-last-col.nth-last-of-type.nth-of-type.only-child.only-of-type.optional.out-of-range.past.placeholder-shown.read-only.read-write.required.right.root.scope.target.target-within.user-invalid.valid.visited.where`.split(`.`).sort().reverse(),c=[`after`,`backdrop`,`before`,`cue`,`cue-region`,`first-letter`,`first-line`,`grammar-error`,`marker`,`part`,`placeholder`,`selection`,`slotted`,`spelling-error`].sort().reverse(),l=`accent-color.align-content.align-items.align-self.alignment-baseline.all.anchor-name.animation.animation-composition.animation-delay.animation-direction.animation-duration.animation-fill-mode.animation-iteration-count.animation-name.animation-play-state.animation-range.animation-range-end.animation-range-start.animation-timeline.animation-timing-function.appearance.aspect-ratio.backdrop-filter.backface-visibility.background.background-attachment.background-blend-mode.background-clip.background-color.background-image.background-origin.background-position.background-position-x.background-position-y.background-repeat.background-size.baseline-shift.block-size.border.border-block.border-block-color.border-block-end.border-block-end-color.border-block-end-style.border-block-end-width.border-block-start.border-block-start-color.border-block-start-style.border-block-start-width.border-block-style.border-block-width.border-bottom.border-bottom-color.border-bottom-left-radius.border-bottom-right-radius.border-bottom-style.border-bottom-width.border-collapse.border-color.border-end-end-radius.border-end-start-radius.border-image.border-image-outset.border-image-repeat.border-image-slice.border-image-source.border-image-width.border-inline.border-inline-color.border-inline-end.border-inline-end-color.border-inline-end-style.border-inline-end-width.border-inline-start.border-inline-start-color.border-inline-start-style.border-inline-start-width.border-inline-style.border-inline-width.border-left.border-left-color.border-left-style.border-left-width.border-radius.border-right.border-right-color.border-right-style.border-right-width.border-spacing.border-start-end-radius.border-start-start-radius.border-style.border-top.border-top-color.border-top-left-radius.border-top-right-radius.border-top-style.border-top-width.border-width.bottom.box-align.box-decoration-break.box-direction.box-flex.box-flex-group.box-lines.box-ordinal-group.box-orient.box-pack.box-shadow.box-sizing.break-after.break-before.break-inside.caption-side.caret-color.clear.clip.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.color-scheme.column-count.column-fill.column-gap.column-rule.column-rule-color.column-rule-style.column-rule-width.column-span.column-width.columns.contain.contain-intrinsic-block-size.contain-intrinsic-height.contain-intrinsic-inline-size.contain-intrinsic-size.contain-intrinsic-width.container.container-name.container-type.content.content-visibility.counter-increment.counter-reset.counter-set.cue.cue-after.cue-before.cursor.cx.cy.direction.display.dominant-baseline.empty-cells.enable-background.field-sizing.fill.fill-opacity.fill-rule.filter.flex.flex-basis.flex-direction.flex-flow.flex-grow.flex-shrink.flex-wrap.float.flood-color.flood-opacity.flow.font.font-display.font-family.font-feature-settings.font-kerning.font-language-override.font-optical-sizing.font-palette.font-size.font-size-adjust.font-smooth.font-smoothing.font-stretch.font-style.font-synthesis.font-synthesis-position.font-synthesis-small-caps.font-synthesis-style.font-synthesis-weight.font-variant.font-variant-alternates.font-variant-caps.font-variant-east-asian.font-variant-emoji.font-variant-ligatures.font-variant-numeric.font-variant-position.font-variation-settings.font-weight.forced-color-adjust.gap.glyph-orientation-horizontal.glyph-orientation-vertical.grid.grid-area.grid-auto-columns.grid-auto-flow.grid-auto-rows.grid-column.grid-column-end.grid-column-start.grid-gap.grid-row.grid-row-end.grid-row-start.grid-template.grid-template-areas.grid-template-columns.grid-template-rows.hanging-punctuation.height.hyphenate-character.hyphenate-limit-chars.hyphens.icon.image-orientation.image-rendering.image-resolution.ime-mode.initial-letter.initial-letter-align.inline-size.inset.inset-area.inset-block.inset-block-end.inset-block-start.inset-inline.inset-inline-end.inset-inline-start.isolation.justify-content.justify-items.justify-self.kerning.left.letter-spacing.lighting-color.line-break.line-height.line-height-step.list-style.list-style-image.list-style-position.list-style-type.margin.margin-block.margin-block-end.margin-block-start.margin-bottom.margin-inline.margin-inline-end.margin-inline-start.margin-left.margin-right.margin-top.margin-trim.marker.marker-end.marker-mid.marker-start.marks.mask.mask-border.mask-border-mode.mask-border-outset.mask-border-repeat.mask-border-slice.mask-border-source.mask-border-width.mask-clip.mask-composite.mask-image.mask-mode.mask-origin.mask-position.mask-repeat.mask-size.mask-type.masonry-auto-flow.math-depth.math-shift.math-style.max-block-size.max-height.max-inline-size.max-width.min-block-size.min-height.min-inline-size.min-width.mix-blend-mode.nav-down.nav-index.nav-left.nav-right.nav-up.none.normal.object-fit.object-position.offset.offset-anchor.offset-distance.offset-path.offset-position.offset-rotate.opacity.order.orphans.outline.outline-color.outline-offset.outline-style.outline-width.overflow.overflow-anchor.overflow-block.overflow-clip-margin.overflow-inline.overflow-wrap.overflow-x.overflow-y.overlay.overscroll-behavior.overscroll-behavior-block.overscroll-behavior-inline.overscroll-behavior-x.overscroll-behavior-y.padding.padding-block.padding-block-end.padding-block-start.padding-bottom.padding-inline.padding-inline-end.padding-inline-start.padding-left.padding-right.padding-top.page.page-break-after.page-break-before.page-break-inside.paint-order.pause.pause-after.pause-before.perspective.perspective-origin.place-content.place-items.place-self.pointer-events.position.position-anchor.position-visibility.print-color-adjust.quotes.r.resize.rest.rest-after.rest-before.right.rotate.row-gap.ruby-align.ruby-position.scale.scroll-behavior.scroll-margin.scroll-margin-block.scroll-margin-block-end.scroll-margin-block-start.scroll-margin-bottom.scroll-margin-inline.scroll-margin-inline-end.scroll-margin-inline-start.scroll-margin-left.scroll-margin-right.scroll-margin-top.scroll-padding.scroll-padding-block.scroll-padding-block-end.scroll-padding-block-start.scroll-padding-bottom.scroll-padding-inline.scroll-padding-inline-end.scroll-padding-inline-start.scroll-padding-left.scroll-padding-right.scroll-padding-top.scroll-snap-align.scroll-snap-stop.scroll-snap-type.scroll-timeline.scroll-timeline-axis.scroll-timeline-name.scrollbar-color.scrollbar-gutter.scrollbar-width.shape-image-threshold.shape-margin.shape-outside.shape-rendering.speak.speak-as.src.stop-color.stop-opacity.stroke.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke-width.tab-size.table-layout.text-align.text-align-all.text-align-last.text-anchor.text-combine-upright.text-decoration.text-decoration-color.text-decoration-line.text-decoration-skip.text-decoration-skip-ink.text-decoration-style.text-decoration-thickness.text-emphasis.text-emphasis-color.text-emphasis-position.text-emphasis-style.text-indent.text-justify.text-orientation.text-overflow.text-rendering.text-shadow.text-size-adjust.text-transform.text-underline-offset.text-underline-position.text-wrap.text-wrap-mode.text-wrap-style.timeline-scope.top.touch-action.transform.transform-box.transform-origin.transform-style.transition.transition-behavior.transition-delay.transition-duration.transition-property.transition-timing-function.translate.unicode-bidi.user-modify.user-select.vector-effect.vertical-align.view-timeline.view-timeline-axis.view-timeline-inset.view-timeline-name.view-transition-name.visibility.voice-balance.voice-duration.voice-family.voice-pitch.voice-range.voice-rate.voice-stress.voice-volume.white-space.white-space-collapse.widows.width.will-change.word-break.word-spacing.word-wrap.writing-mode.x.y.z-index.zoom`.split(`.`).sort().reverse();function u(e){let t=n(e),r=c,i=s,u=`@[a-z-]+`,d={className:`variable`,begin:`(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b`,relevance:0};return{name:`SCSS`,case_insensitive:!0,illegal:`[=/|']`,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t.CSS_NUMBER_MODE,{className:`selector-id`,begin:`#[A-Za-z0-9_-]+`,relevance:0},{className:`selector-class`,begin:`\\.[A-Za-z0-9_-]+`,relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:`selector-tag`,begin:`\\b(`+a.join(`|`)+`)\\b`,relevance:0},{className:`selector-pseudo`,begin:`:(`+i.join(`|`)+`)`},{className:`selector-pseudo`,begin:`:(:)?(`+r.join(`|`)+`)`},d,{begin:/\(/,end:/\)/,contains:[t.CSS_NUMBER_MODE]},t.CSS_VARIABLE,{className:`attribute`,begin:`\\b(`+l.join(`|`)+`)\\b`},{begin:`\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b`},{begin:/:/,end:/[;}{]/,relevance:0,contains:[t.BLOCK_COMMENT,d,t.HEXCOLOR,t.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.IMPORTANT,t.FUNCTION_DISPATCH]},{begin:`@(page|font-face)`,keywords:{$pattern:u,keyword:`@page @font-face`}},{begin:`@`,end:`[{;]`,returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:`and or not only`,attribute:o.join(` `)},contains:[{begin:u,className:`keyword`},{begin:/[a-z-]+(?=:)/,className:`attribute`},d,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.HEXCOLOR,t.CSS_NUMBER_MODE]},t.FUNCTION_DISPATCH]}}t.exports=u})),oS=f(((e,t)=>{function n(e){return{name:`Shell Session`,aliases:[`console`,`shellsession`],contains:[{className:`meta.prompt`,begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:`bash`}}]}}t.exports=n})),sS=f(((e,t)=>{function n(e){let t=e.regex,n=e.COMMENT(`--`,`$`),r={scope:`string`,variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},i={begin:/"/,end:/"/,contains:[{match:/""/}]},a=[`true`,`false`,`unknown`],o=[`double precision`,`large object`,`with timezone`,`without timezone`],s=`bigint.binary.blob.boolean.char.character.clob.date.dec.decfloat.decimal.float.int.integer.interval.nchar.nclob.national.numeric.real.row.smallint.time.timestamp.varchar.varying.varbinary`.split(`.`),c=[`add`,`asc`,`collation`,`desc`,`final`,`first`,`last`,`view`],l=`abs.acos.all.allocate.alter.and.any.are.array.array_agg.array_max_cardinality.as.asensitive.asin.asymmetric.at.atan.atomic.authorization.avg.begin.begin_frame.begin_partition.between.bigint.binary.blob.boolean.both.by.call.called.cardinality.cascaded.case.cast.ceil.ceiling.char.char_length.character.character_length.check.classifier.clob.close.coalesce.collate.collect.column.commit.condition.connect.constraint.contains.convert.copy.corr.corresponding.cos.cosh.count.covar_pop.covar_samp.create.cross.cube.cume_dist.current.current_catalog.current_date.current_default_transform_group.current_path.current_role.current_row.current_schema.current_time.current_timestamp.current_path.current_role.current_transform_group_for_type.current_user.cursor.cycle.date.day.deallocate.dec.decimal.decfloat.declare.default.define.delete.dense_rank.deref.describe.deterministic.disconnect.distinct.double.drop.dynamic.each.element.else.empty.end.end_frame.end_partition.end-exec.equals.escape.every.except.exec.execute.exists.exp.external.extract.false.fetch.filter.first_value.float.floor.for.foreign.frame_row.free.from.full.function.fusion.get.global.grant.group.grouping.groups.having.hold.hour.identity.in.indicator.initial.inner.inout.insensitive.insert.int.integer.intersect.intersection.interval.into.is.join.json_array.json_arrayagg.json_exists.json_object.json_objectagg.json_query.json_table.json_table_primitive.json_value.lag.language.large.last_value.lateral.lead.leading.left.like.like_regex.listagg.ln.local.localtime.localtimestamp.log.log10.lower.match.match_number.match_recognize.matches.max.member.merge.method.min.minute.mod.modifies.module.month.multiset.national.natural.nchar.nclob.new.no.none.normalize.not.nth_value.ntile.null.nullif.numeric.octet_length.occurrences_regex.of.offset.old.omit.on.one.only.open.or.order.out.outer.over.overlaps.overlay.parameter.partition.pattern.per.percent.percent_rank.percentile_cont.percentile_disc.period.portion.position.position_regex.power.precedes.precision.prepare.primary.procedure.ptf.range.rank.reads.real.recursive.ref.references.referencing.regr_avgx.regr_avgy.regr_count.regr_intercept.regr_r2.regr_slope.regr_sxx.regr_sxy.regr_syy.release.result.return.returns.revoke.right.rollback.rollup.row.row_number.rows.running.savepoint.scope.scroll.search.second.seek.select.sensitive.session_user.set.show.similar.sin.sinh.skip.smallint.some.specific.specifictype.sql.sqlexception.sqlstate.sqlwarning.sqrt.start.static.stddev_pop.stddev_samp.submultiset.subset.substring.substring_regex.succeeds.sum.symmetric.system.system_time.system_user.table.tablesample.tan.tanh.then.time.timestamp.timezone_hour.timezone_minute.to.trailing.translate.translate_regex.translation.treat.trigger.trim.trim_array.true.truncate.uescape.union.unique.unknown.unnest.update.upper.user.using.value.values.value_of.var_pop.var_samp.varbinary.varchar.varying.versioning.when.whenever.where.width_bucket.window.with.within.without.year`.split(`.`),u=`abs.acos.array_agg.asin.atan.avg.cast.ceil.ceiling.coalesce.corr.cos.cosh.count.covar_pop.covar_samp.cume_dist.dense_rank.deref.element.exp.extract.first_value.floor.json_array.json_arrayagg.json_exists.json_object.json_objectagg.json_query.json_table.json_table_primitive.json_value.lag.last_value.lead.listagg.ln.log.log10.lower.max.min.mod.nth_value.ntile.nullif.percent_rank.percentile_cont.percentile_disc.position.position_regex.power.rank.regr_avgx.regr_avgy.regr_count.regr_intercept.regr_r2.regr_slope.regr_sxx.regr_sxy.regr_syy.row_number.sin.sinh.sqrt.stddev_pop.stddev_samp.substring.substring_regex.sum.tan.tanh.translate.translate_regex.treat.trim.trim_array.unnest.upper.value_of.var_pop.var_samp.width_bucket`.split(`.`),d=[`current_catalog`,`current_date`,`current_default_transform_group`,`current_path`,`current_role`,`current_schema`,`current_transform_group_for_type`,`current_user`,`session_user`,`system_time`,`system_user`,`current_time`,`localtime`,`current_timestamp`,`localtimestamp`],f=[`create table`,`insert into`,`primary key`,`foreign key`,`not null`,`alter table`,`add constraint`,`grouping sets`,`on overflow`,`character set`,`respect nulls`,`ignore nulls`,`nulls first`,`nulls last`,`depth first`,`breadth first`],p=u,m=[...l,...c].filter(e=>!u.includes(e)),h={scope:`variable`,match:/@[a-z0-9][a-z0-9_]*/},g={scope:`operator`,match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},_={match:t.concat(/\b/,t.either(...p),/\s*\(/),relevance:0,keywords:{built_in:p}};function v(e){return t.concat(/\b/,t.either(...e.map(e=>e.replace(/\s+/,`\\s+`))),/\b/)}let y={scope:`keyword`,match:v(f),relevance:0};function b(e,{exceptions:t,when:n}={}){let r=n;return t||=[],e.map(e=>e.match(/\|\d+$/)||t.includes(e)?e:r(e)?`${e}|0`:e)}return{name:`SQL`,case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:b(m,{when:e=>e.length<3}),literal:a,type:s,built_in:d},contains:[{scope:`type`,match:v(o)},y,_,h,r,i,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,g]}}t.exports=n})),cS=f(((e,t)=>{function n(e){return e?typeof e==`string`?e:e.source:null}function r(e){return i(`(?=`,e,`)`)}function i(...e){return e.map(e=>n(e)).join(``)}function a(e){let t=e[e.length-1];return typeof t==`object`&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function o(...e){return`(`+(a(e).capture?``:`?:`)+e.map(e=>n(e)).join(`|`)+`)`}var s=e=>i(/\b/,e,/\w$/.test(e)?/\b/:/\B/),c=[`Protocol`,`Type`].map(s),l=[`init`,`self`].map(s),u=[`Any`,`Self`],d=[`actor`,`any`,`associatedtype`,`async`,`await`,/as\?/,/as!/,`as`,`borrowing`,`break`,`case`,`catch`,`class`,`consume`,`consuming`,`continue`,`convenience`,`copy`,`default`,`defer`,`deinit`,`didSet`,`distributed`,`do`,`dynamic`,`each`,`else`,`enum`,`extension`,`fallthrough`,/fileprivate\(set\)/,`fileprivate`,`final`,`for`,`func`,`get`,`guard`,`if`,`import`,`indirect`,`infix`,/init\?/,/init!/,`inout`,/internal\(set\)/,`internal`,`in`,`is`,`isolated`,`nonisolated`,`lazy`,`let`,`macro`,`mutating`,`nonmutating`,/open\(set\)/,`open`,`operator`,`optional`,`override`,`package`,`postfix`,`precedencegroup`,`prefix`,/private\(set\)/,`private`,`protocol`,/public\(set\)/,`public`,`repeat`,`required`,`rethrows`,`return`,`set`,`some`,`static`,`struct`,`subscript`,`super`,`switch`,`throws`,`throw`,/try\?/,/try!/,`try`,`typealias`,/unowned\(safe\)/,/unowned\(unsafe\)/,`unowned`,`var`,`weak`,`where`,`while`,`willSet`],f=[`false`,`nil`,`true`],p=[`assignment`,`associativity`,`higherThan`,`left`,`lowerThan`,`none`,`right`],m=[`#colorLiteral`,`#column`,`#dsohandle`,`#else`,`#elseif`,`#endif`,`#error`,`#file`,`#fileID`,`#fileLiteral`,`#filePath`,`#function`,`#if`,`#imageLiteral`,`#keyPath`,`#line`,`#selector`,`#sourceLocation`,`#warning`],h=`abs.all.any.assert.assertionFailure.debugPrint.dump.fatalError.getVaList.isKnownUniquelyReferenced.max.min.numericCast.pointwiseMax.pointwiseMin.precondition.preconditionFailure.print.readLine.repeatElement.sequence.stride.swap.swift_unboxFromSwiftValueWithType.transcode.type.unsafeBitCast.unsafeDowncast.withExtendedLifetime.withUnsafeMutablePointer.withUnsafePointer.withVaList.withoutActuallyEscaping.zip`.split(`.`),g=o(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),_=o(g,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),v=i(g,_,`*`),y=o(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),b=o(y,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),x=i(y,b,`*`),S=i(/[A-Z]/,b,`*`),C=[`attached`,`autoclosure`,i(/convention\(/,o(`swift`,`block`,`c`),/\)/),`discardableResult`,`dynamicCallable`,`dynamicMemberLookup`,`escaping`,`freestanding`,`frozen`,`GKInspectable`,`IBAction`,`IBDesignable`,`IBInspectable`,`IBOutlet`,`IBSegueAction`,`inlinable`,`main`,`nonobjc`,`NSApplicationMain`,`NSCopying`,`NSManaged`,i(/objc\(/,x,/\)/),`objc`,`objcMembers`,`propertyWrapper`,`requires_stored_property_inits`,`resultBuilder`,`Sendable`,`testable`,`UIApplicationMain`,`unchecked`,`unknown`,`usableFromInline`,`warn_unqualified_access`],w=[`iOS`,`iOSApplicationExtension`,`macOS`,`macOSApplicationExtension`,`macCatalyst`,`macCatalystApplicationExtension`,`watchOS`,`watchOSApplicationExtension`,`tvOS`,`tvOSApplicationExtension`,`swift`];function T(e){let t={match:/\s+/,relevance:0},n=e.COMMENT(`/\\*`,`\\*/`,{contains:[`self`]}),a=[e.C_LINE_COMMENT_MODE,n],g={match:[/\./,o(...c,...l)],className:{2:`keyword`}},y={match:i(/\./,o(...d)),relevance:0},T=d.filter(e=>typeof e==`string`).concat([`_|0`]),E={variants:[{className:`keyword`,match:o(...d.filter(e=>typeof e!=`string`).concat(u).map(s),...l)}]},D={$pattern:o(/\b\w+/,/#\w+/),keyword:T.concat(m),literal:f},O=[g,y,E],k=[{match:i(/\./,o(...h)),relevance:0},{className:`built_in`,match:i(/\b/,o(...h),/(?=\()/)}],A={match:/->/,relevance:0},ee=[A,{className:`operator`,relevance:0,variants:[{match:v},{match:`\\.(\\.|${_})+`}]}],j=`([0-9]_*)+`,M=`([0-9a-fA-F]_*)+`,N={className:`number`,relevance:0,variants:[{match:`\\b(${j})(\\.(${j}))?([eE][+-]?(${j}))?\\b`},{match:`\\b0x(${M})(\\.(${M}))?([pP][+-]?(${j}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},te=(e=``)=>({className:`subst`,variants:[{match:i(/\\/,e,/[0\\tnr"']/)},{match:i(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}]}),P=(e=``)=>({className:`subst`,match:i(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/)}),F=(e=``)=>({className:`subst`,label:`interpol`,begin:i(/\\/,e,/\(/),end:/\)/}),I=(e=``)=>({begin:i(e,/"""/),end:i(/"""/,e),contains:[te(e),P(e),F(e)]}),L=(e=``)=>({begin:i(e,/"/),end:i(/"/,e),contains:[te(e),F(e)]}),ne={className:`string`,variants:[I(),I(`#`),I(`##`),I(`###`),L(),L(`#`),L(`##`),L(`###`)]},R=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],z={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:R},re=e=>{let t=i(e,/\//),n=i(/\//,e);return{begin:t,end:n,contains:[...R,{scope:`comment`,begin:`#(?!.*${n})`,end:/$/}]}},B={scope:`regexp`,variants:[re(`###`),re(`##`),re(`#`),z]},ie={match:i(/`/,x,/`/)},ae=[ie,{className:`variable`,match:/\$\d+/},{className:`variable`,match:`\\$${b}+`}],V=[{match:/(@|#(un)?)available/,scope:`keyword`,starts:{contains:[{begin:/\(/,end:/\)/,keywords:w,contains:[...ee,N,ne]}]}},{scope:`keyword`,match:i(/@/,o(...C),r(o(/\(/,/\s+/)))},{scope:`meta`,match:i(/@/,x)}],oe={match:r(/\b[A-Z]/),relevance:0,contains:[{className:`type`,match:i(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,b,`+`)},{className:`type`,match:S,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:i(/\s+&\s+/,r(S)),relevance:0}]},se={begin:/</,end:/>/,keywords:D,contains:[...a,...O,...V,A,oe]};oe.contains.push(se);let H={begin:/\(/,end:/\)/,relevance:0,keywords:D,contains:[`self`,{match:i(x,/\s*:/),keywords:`_|0`,relevance:0},...a,B,...O,...k,...ee,N,ne,...ae,...V,oe]},ce={begin:/</,end:/>/,keywords:`repeat each`,contains:[...a,oe]},le={begin:/\(/,end:/\)/,keywords:D,contains:[{begin:o(r(i(x,/\s*:/)),r(i(x,/\s+/,x,/\s*:/))),end:/:/,relevance:0,contains:[{className:`keyword`,match:/\b_\b/},{className:`params`,match:x}]},...a,...O,...ee,N,ne,...V,oe,H],endsParent:!0,illegal:/["']/},ue={match:[/(func|macro)/,/\s+/,o(ie.match,x,v)],className:{1:`keyword`,3:`title.function`},contains:[ce,le,t],illegal:[/\[/,/%/]},de={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:`keyword`},contains:[ce,le,t],illegal:/\[|%/},fe={match:[/operator/,/\s+/,v],className:{1:`keyword`,3:`title`}},pe={begin:[/precedencegroup/,/\s+/,S],className:{1:`keyword`,3:`title`},contains:[oe],keywords:[...p,...f],end:/}/},me={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:`keyword`,3:`keyword`,5:`title.function`}},he={match:[/class\b/,/\s+/,/var\b/],scope:{1:`keyword`,3:`keyword`}},ge={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,x,/\s*/],beginScope:{1:`keyword`,3:`title.class`},keywords:D,contains:[ce,...O,{begin:/:/,end:/\{/,keywords:D,contains:[{scope:`title.class.inherited`,match:S},...O],relevance:0}]};for(let e of ne.variants){let t=e.contains.find(e=>e.label===`interpol`);t.keywords=D;let n=[...O,...k,...ee,N,ne,...ae];t.contains=[...n,{begin:/\(/,end:/\)/,contains:[`self`,...n]}]}return{name:`Swift`,keywords:D,contains:[...a,ue,de,me,he,ge,fe,pe,{beginKeywords:`import`,end:/$/,contains:[...a],relevance:0},B,...O,...k,...ee,N,ne,...ae,...V,oe,H]}}t.exports=T})),lS=f(((e,t)=>{function n(e){let t=`true false yes no null`,n={className:`attr`,variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},r={className:`template-variable`,variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},i={className:`string`,relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:`char.escape`,relevance:0}]},a={className:`string`,relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,r]},o=e.inherit(a,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),s={className:`number`,begin:`\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b`},c={end:`,`,endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},l={begin:/\{/,end:/\}/,contains:[c],illegal:`\\n`,relevance:0},u={begin:`\\[`,end:`\\]`,contains:[c],illegal:`\\n`,relevance:0},d=[n,{className:`meta`,begin:`^---\\s*$`,relevance:10},{className:`string`,begin:`[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*`},{begin:`<%[%=-]?`,end:`[%-]?%>`,subLanguage:`ruby`,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:`type`,begin:`!\\w+![\\w#;/?:@&=+$,.~*'()[\\]]+`},{className:`type`,begin:`!<[\\w#;/?:@&=+$,.~*'()[\\]]+>`},{className:`type`,begin:`![\\w#;/?:@&=+$,.~*'()[\\]]+`},{className:`type`,begin:`!![\\w#;/?:@&=+$,.~*'()[\\]]+`},{className:`meta`,begin:`&`+e.UNDERSCORE_IDENT_RE+`$`},{className:`meta`,begin:`\\*`+e.UNDERSCORE_IDENT_RE+`$`},{className:`bullet`,begin:`-(?=[ ]|$)`,relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},s,{className:`number`,begin:e.C_NUMBER_RE+`\\b`,relevance:0},l,u,i,a],f=[...d];return f.pop(),f.push(o),c.contains=f,{name:`YAML`,case_insensitive:!0,aliases:[`yml`],contains:d}}t.exports=n})),uS=f(((e,t)=>{var n=`[A-Za-z$_][0-9A-Za-z$_]*`,r=`as.in.of.if.for.while.finally.var.new.function.do.return.void.else.break.catch.instanceof.with.throw.case.default.try.switch.continue.typeof.delete.let.yield.const.class.debugger.async.await.static.import.from.export.extends.using`.split(`.`),i=[`true`,`false`,`null`,`undefined`,`NaN`,`Infinity`],a=`Object.Function.Boolean.Symbol.Math.Date.Number.BigInt.String.RegExp.Array.Float32Array.Float64Array.Int8Array.Uint8Array.Uint8ClampedArray.Int16Array.Int32Array.Uint16Array.Uint32Array.BigInt64Array.BigUint64Array.Set.Map.WeakSet.WeakMap.ArrayBuffer.SharedArrayBuffer.Atomics.DataView.JSON.Promise.Generator.GeneratorFunction.AsyncFunction.Reflect.Proxy.Intl.WebAssembly`.split(`.`),o=[`Error`,`EvalError`,`InternalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`],s=[`setInterval`,`setTimeout`,`clearInterval`,`clearTimeout`,`require`,`exports`,`eval`,`isFinite`,`isNaN`,`parseFloat`,`parseInt`,`decodeURI`,`decodeURIComponent`,`encodeURI`,`encodeURIComponent`,`escape`,`unescape`],c=[`arguments`,`this`,`super`,`console`,`window`,`document`,`localStorage`,`sessionStorage`,`module`,`global`],l=[].concat(s,a,o);function u(e){let t=e.regex,u=(e,{after:t})=>{let n=`</`+e[0].slice(1);return e.input.indexOf(n,t)!==-1},d=n,f={begin:`<>`,end:`</>`},p=/<[A-Za-z0-9\\._:-]+\s*\/>/,m={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,t)=>{let n=e[0].length+e.index,r=e.input[n];if(r===`<`||r===`,`){t.ignoreMatch();return}r===`>`&&(u(e,{after:n})||t.ignoreMatch());let i,a=e.input.substring(n);if(i=a.match(/^\s*=/)){t.ignoreMatch();return}if((i=a.match(/^\s+extends\s+/))&&i.index===0){t.ignoreMatch();return}}},h={$pattern:n,keyword:r,literal:i,built_in:l,"variable.language":c},g=`[0-9](_?[0-9])*`,_=`\\.(${g})`,v=`0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`,y={className:`number`,variants:[{begin:`(\\b(${v})((${_})|\\.)?|(${_}))[eE][+-]?(${g})\\b`},{begin:`\\b(${v})\\b((${_})\\b|\\.)?|(${_})\\b`},{begin:`\\b(0|[1-9](_?[0-9])*)n\\b`},{begin:`\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b`},{begin:`\\b0[bB][0-1](_?[0-1])*n?\\b`},{begin:`\\b0[oO][0-7](_?[0-7])*n?\\b`},{begin:`\\b0[0-7]+n?\\b`}],relevance:0},b={className:`subst`,begin:`\\$\\{`,end:`\\}`,keywords:h,contains:[]},x={begin:".?html`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,b],subLanguage:`xml`}},S={begin:".?css`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,b],subLanguage:`css`}},C={begin:".?gql`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,b],subLanguage:`graphql`}},w={className:`string`,begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,b]},T={className:`comment`,variants:[e.COMMENT(/\/\*\*(?!\/)/,`\\*/`,{relevance:0,contains:[{begin:`(?=@[A-Za-z]+)`,relevance:0,contains:[{className:`doctag`,begin:`@[A-Za-z]+`},{className:`type`,begin:`\\{`,end:`\\}`,excludeEnd:!0,excludeBegin:!0,relevance:0},{className:`variable`,begin:`[A-Za-z$_][0-9A-Za-z$_]*(?=\\s*(-)|$)`,endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},E=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,x,S,C,w,{match:/\$\d+/},y];b.contains=E.concat({begin:/\{/,end:/\}/,keywords:h,contains:[`self`].concat(E)});let D=[].concat(T,b.contains),O=D.concat([{begin:/(\s*)\(/,end:/\)/,keywords:h,contains:[`self`].concat(D)}]),k={className:`params`,begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:h,contains:O},A={variants:[{match:[/class/,/\s+/,d,/\s+/,/extends/,/\s+/,t.concat(d,`(`,t.concat(/\./,d),`)*`)],scope:{1:`keyword`,3:`title.class`,5:`keyword`,7:`title.class.inherited`}},{match:[/class/,/\s+/,d],scope:{1:`keyword`,3:`title.class`}}]},ee={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:`title.class`,keywords:{_:[...a,...o]}},j={label:`use_strict`,className:`meta`,relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},M={variants:[{match:[/function/,/\s+/,d,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:`keyword`,3:`title.function`},label:`func.def`,contains:[k],illegal:/%/},N={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:`variable.constant`};function te(e){return t.concat(`(?!`,e.join(`|`),`)`)}let P={match:t.concat(/\b/,te([...s,`super`,`import`].map(e=>`${e}\\s*\\(`)),d,t.lookahead(/\s*\(/)),className:`title.function`,relevance:0},F={begin:t.concat(/\./,t.lookahead(t.concat(d,/(?![0-9A-Za-z$_(])/))),end:d,excludeBegin:!0,keywords:`prototype`,className:`property`,relevance:0},I={match:[/get|set/,/\s+/,d,/(?=\()/],className:{1:`keyword`,3:`title.function`},contains:[{begin:/\(\)/},k]},L=`(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|`+e.UNDERSCORE_IDENT_RE+`)\\s*=>`,ne={match:[/const|var|let/,/\s+/,d,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(L)],keywords:`async`,className:{1:`keyword`,3:`title.function`},contains:[k]};return{name:`JavaScript`,aliases:[`js`,`jsx`,`mjs`,`cjs`],keywords:h,exports:{PARAMS_CONTAINS:O,CLASS_REFERENCE:ee},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:`shebang`,binary:`node`,relevance:5}),j,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,x,S,C,w,T,{match:/\$\d+/},y,ee,{scope:`attr`,match:d+t.lookahead(`:`),relevance:0},ne,{begin:`(`+e.RE_STARTERS_RE+`|\\b(case|return|throw)\\b)\\s*`,keywords:`return throw case`,relevance:0,contains:[T,e.REGEXP_MODE,{className:`function`,begin:L,returnBegin:!0,end:`\\s*=>`,contains:[{className:`params`,variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:h,contains:O}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:f.begin,end:f.end},{match:p},{begin:m.begin,"on:begin":m.isTrulyOpeningTag,end:m.end}],subLanguage:`xml`,contains:[{begin:m.begin,end:m.end,skip:!0,contains:[`self`]}]}]},M,{beginKeywords:`while if switch catch for`},{begin:`\\b(?!function)`+e.UNDERSCORE_IDENT_RE+`\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{`,returnBegin:!0,label:`func.def`,contains:[k,e.inherit(e.TITLE_MODE,{begin:d,className:`title.function`})]},{match:/\.\.\./,relevance:0},F,{match:`\\$[A-Za-z$_][0-9A-Za-z$_]*`,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:`title.function`},contains:[k]},P,N,A,I,{match:/\$[(.]/}]}}function d(e){let t=e.regex,a=u(e),o=[`any`,`void`,`number`,`boolean`,`string`,`object`,`never`,`symbol`,`bigint`,`unknown`],s={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:`keyword`,3:`title.class`}},d={beginKeywords:`interface`,end:/\{/,excludeEnd:!0,keywords:{keyword:`interface extends`,built_in:o},contains:[a.exports.CLASS_REFERENCE]},f={className:`meta`,relevance:10,begin:/^\s*['"]use strict['"]/},p={$pattern:n,keyword:r.concat([`type`,`interface`,`public`,`private`,`protected`,`implements`,`declare`,`abstract`,`readonly`,`enum`,`override`,`satisfies`]),literal:i,built_in:l.concat(o),"variable.language":c},m={className:`meta`,begin:`@[A-Za-z$_][0-9A-Za-z$_]*`},h=(e,t,n)=>{let r=e.contains.findIndex(e=>e.label===t);if(r===-1)throw Error(`can not find mode to replace`);e.contains.splice(r,1,n)};Object.assign(a.keywords,p),a.exports.PARAMS_CONTAINS.push(m);let g=a.contains.find(e=>e.scope===`attr`),_=Object.assign({},g,{match:t.concat(`[A-Za-z$_][0-9A-Za-z$_]*`,t.lookahead(/\s*\?:/))});a.exports.PARAMS_CONTAINS.push([a.exports.CLASS_REFERENCE,g,_]),a.contains=a.contains.concat([m,s,d,_]),h(a,`shebang`,e.SHEBANG()),h(a,`use_strict`,f);let v=a.contains.find(e=>e.label===`func.def`);return v.relevance=0,Object.assign(a,{name:`TypeScript`,aliases:[`ts`,`tsx`,`mts`,`cts`]}),a}t.exports=d})),dS=f(((e,t)=>{function n(e){let t=e.regex,n={className:`string`,begin:/"(""|[^/n])"C\b/},r={className:`string`,begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},i=/\d{1,2}\/\d{1,2}\/\d{4}/,a=/\d{4}-\d{1,2}-\d{1,2}/,o=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,s=/\d{1,2}(:\d{1,2}){1,2}/,c={className:`literal`,variants:[{begin:t.concat(/# */,t.either(a,i),/ *#/)},{begin:t.concat(/# */,s,/ *#/)},{begin:t.concat(/# */,o,/ *#/)},{begin:t.concat(/# */,t.either(a,i),/ +/,t.either(o,s),/ *#/)}]},l={className:`number`,relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},u={className:`label`,begin:/^\w+:/},d=e.COMMENT(/'''/,/$/,{contains:[{className:`doctag`,begin:/<\/?/,end:/>/}]}),f=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:`Visual Basic .NET`,aliases:[`vb`],case_insensitive:!0,classNameAliases:{label:`symbol`},keywords:{keyword:`addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield`,built_in:`addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort`,type:`boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort`,literal:`true false nothing`},illegal:`//|\\{|\\}|endif|gosub|variant|wend|^\\$ `,contains:[n,r,c,l,u,d,f,{className:`meta`,begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:`const disable else elseif enable end externalsource if region then`},contains:[f]}]}}t.exports=n})),fS=f(((e,t)=>{function n(e){e.regex;let t=e.COMMENT(/\(;/,/;\)/);return t.contains.push(`self`),{name:`WebAssembly`,keywords:{$pattern:/[\w.]+/,keyword:`anyfunc,block,br,br_if,br_table,call,call_indirect,data,drop,elem,else,end,export,func,global.get,global.set,local.get,local.set,local.tee,get_global,get_local,global,if,import,local,loop,memory,memory.grow,memory.size,module,mut,nop,offset,param,result,return,select,set_global,set_local,start,table,tee_local,then,type,unreachable`.split(`,`)},contains:[e.COMMENT(/;;/,/$/),t,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:`keyword`,3:`operator`}},{className:`variable`,begin:/\$[\w_]+/},{match:/(\((?!;)|\))+/,className:`punctuation`,relevance:0},{begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:`keyword`,3:`title.function`}},e.QUOTE_STRING_MODE,{match:/(i32|i64|f32|f64)(?!\.)/,className:`type`},{className:`keyword`,match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/},{className:`number`,relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/}]}}t.exports=n})),pS=m(f(((e,t)=>{var n=Ax();n.registerLanguage(`xml`,jx()),n.registerLanguage(`bash`,Mx()),n.registerLanguage(`c`,Nx()),n.registerLanguage(`cpp`,Px()),n.registerLanguage(`csharp`,Fx()),n.registerLanguage(`css`,Ix()),n.registerLanguage(`markdown`,Lx()),n.registerLanguage(`diff`,Rx()),n.registerLanguage(`ruby`,zx()),n.registerLanguage(`go`,Bx()),n.registerLanguage(`graphql`,Vx()),n.registerLanguage(`ini`,Hx()),n.registerLanguage(`java`,Ux()),n.registerLanguage(`javascript`,Wx()),n.registerLanguage(`json`,Gx()),n.registerLanguage(`kotlin`,Kx()),n.registerLanguage(`less`,qx()),n.registerLanguage(`lua`,Jx()),n.registerLanguage(`makefile`,Yx()),n.registerLanguage(`perl`,Xx()),n.registerLanguage(`objectivec`,Zx()),n.registerLanguage(`php`,Qx()),n.registerLanguage(`php-template`,$x()),n.registerLanguage(`plaintext`,eS()),n.registerLanguage(`python`,tS()),n.registerLanguage(`python-repl`,nS()),n.registerLanguage(`r`,rS()),n.registerLanguage(`rust`,iS()),n.registerLanguage(`scss`,aS()),n.registerLanguage(`shell`,oS()),n.registerLanguage(`sql`,sS()),n.registerLanguage(`swift`,cS()),n.registerLanguage(`yaml`,lS()),n.registerLanguage(`typescript`,uS()),n.registerLanguage(`vbnet`,dS()),n.registerLanguage(`wasm`,fS()),n.HighlightJS=n,n.default=n,t.exports=n}))()).default;kx.setOptions({breaks:!0,gfm:!0});var mS=2e4,hS=new kx.Renderer;hS.code=({text:e,lang:t})=>{let n=(t||``).trim()||`plaintext`,r=``;if(e.length>2e4)r=_S(e);else try{r=pS.highlight(e,{language:n,ignoreIllegals:!0}).value}catch{r=_S(e)}let i=encodeURIComponent(e),a=gS(n);return`<pre class="code-block" data-lang="${a}" data-code="${i}"><code class="hljs language-${a}">${r}</code></pre>`};function gS(e){return e.replace(/&/g,`&`).replace(/"/g,`"`).replace(/</g,`<`).replace(/>/g,`>`)}function _S(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`)}var vS={ADD_ATTR:[`data-code`,`data-lang`,`target`,`rel`]};function yS(e){return Vv.sanitize(e,vS)}function bS(e){return kx.parse(e||``,{renderer:hS})}function xS(e){return yS(bS(e))}var SS=100,CS=2e3;function wS(e){let t=xn(xS(e())),n=0,r=null;function i(){r=null,n=Date.now(),t.value=xS(e())}return $r(e,()=>{let a=e();if(a.length<=CS){r&&=(clearTimeout(r),null),n=Date.now(),t.value=xS(a);return}let o=n+SS-Date.now();o<=0?(r&&=(clearTimeout(r),null),i()):r||=setTimeout(i,o)}),qe(()=>{r&&=(clearTimeout(r),null)}),{html:t,codeBlocks:Ys(()=>{let t=[],n=/```(\w+)?\n([\s\S]*?)```/g,r;for(;(r=n.exec(e()||``))!==null;)t.push({lang:(r[1]||`plaintext`).toLowerCase(),code:r[2]});return t})}}var TS={class:`code-preview-modal`},ES={class:`preview-header`},DS={class:`preview-title`},OS={class:`preview-tabs`},kS=[`disabled`],AS={class:`preview-actions`},jS=[`title`],MS={key:0,viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`},NS={key:1,viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`},PS={class:`preview-body`},FS=[`srcdoc`],IS={key:1,class:`preview-source`},LS=Yv(Mi({__name:`CodePreview`,props:{code:{},lang:{}},emits:[`close`],setup(e,{emit:t}){let n=e,r=t,i=bn(null),a=bn(`preview`),o=bn(!1),s=Ys(()=>{let e=n.lang.toLowerCase();return[`html`,`htm`,`vue`,`javascript`,`js`,`css`].includes(e)}),c=Ys(()=>{let e=n.lang.toLowerCase();return e===`html`||e===`htm`?n.code:e===`vue`?l(n.code):e===`javascript`||e===`js`?`<!DOCTYPE html><html><head><meta charset="utf-8"><style>body{font-family:sans-serif;padding:16px}</style></head><body><div id="app"></div><script>${n.code}<\/script></body></html>`:e===`css`?`<!DOCTYPE html><html><head><meta charset="utf-8"><style>${n.code}</style></head><body><div class="demo"><h1>CSS 预览</h1><p>这是一段示例文字,用于展示 CSS 效果。</p><button>按钮</button><input placeholder="输入框"/></div></body></html>`:n.code});function l(e){let t=e.replace(/<\/script>/g,`<\\/script>`);return`<!DOCTYPE html><html><head><meta charset="utf-8">
|
|
264
264
|
<script src="https://unpkg.com/vue@3/dist/vue.global.js"><\/script>
|
|
265
265
|
<script src="https://unpkg.com/@vue/compiler-dom@3/dist/compiler-dom.global.js"><\/script>
|
|
266
266
|
<style>body{margin:0;font-family:sans-serif}body>div{padding:16px}</style>
|
|
@@ -278,10 +278,10 @@ let options={};
|
|
|
278
278
|
try{ const fn=new Function(scriptContent+';\\nreturn {data:typeof data!=="undefined"?data:()=>({}),methods:typeof methods!=="undefined"?methods:{},computed:typeof computed!=="undefined"?computed:{},mounted:typeof mounted!=="undefined"?mounted:undefined}'); options=fn(); }catch(e){ console.error(e); }
|
|
279
279
|
const app=createApp({template:template||'<div></div>',...options});
|
|
280
280
|
app.mount('#app');
|
|
281
|
-
<\/script></body></html>`}$r(()=>a.value,async()=>{await ir(),a.value===`preview`&&i.value&&(i.value.srcdoc=c.value)},{immediate:!0});function u(){p_(n.code).then(e=>{e&&(o.value=!0,setTimeout(()=>o.value=!1,1500))})}function d(){let e=e=>e.replace(/&/g,`&`).replace(/"/g,`"`).replace(/</g,`<`),t=`<!DOCTYPE html><html><head><meta charset="utf-8"><title>代码预览 · `+e(n.lang)+`</title><style>html,body{margin:0;height:100%;background:#fff}iframe{border:none;width:100%;height:100%}</style></head><body><iframe sandbox="allow-scripts allow-modals allow-popups allow-forms" srcdoc="`+e(c.value)+`"></iframe></body></html>`,r=new Blob([t],{type:`text/html`}),i=URL.createObjectURL(r);window.open(i,`_blank`,`noopener,noreferrer`),setTimeout(()=>URL.revokeObjectURL(i),1e4)}return(t,n)=>(Y(),X(`div`,{class:`code-preview-overlay`,onClick:n[3]||=gl(e=>r(`close`),[`self`])},[Z(`div`,vS,[Z(`div`,yS,[Z(`span`,bS,`代码预览 · `+W(e.lang),1),Z(`div`,xS,[Z(`button`,{class:U({active:a.value===`preview`}),disabled:!s.value,onClick:n[0]||=e=>a.value=`preview`},`预览`,10,SS),Z(`button`,{class:U({active:a.value===`source`}),onClick:n[1]||=e=>a.value=`source`},`源码`,2)]),Z(`div`,CS,[Z(`button`,{class:U([`icon-btn`,{done:o.value}]),title:o.value?`已复制`:`复制代码`,onClick:u},[o.value?(Y(),X(`svg`,TS,[...n[4]||=[Z(`path`,{d:`M3 8.5l3 3 7-7`,stroke:`currentColor`,"stroke-width":`1.6`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)]])):(Y(),X(`svg`,ES,[...n[5]||=[Z(`rect`,{x:`5.5`,y:`5.5`,width:`8`,height:`8`,rx:`1.5`,stroke:`currentColor`,"stroke-width":`1.3`},null,-1),Z(`path`,{d:`M10.5 3.5v-.5A1.5 1.5 0 0 0 9 1.5H3.5A1.5 1.5 0 0 0 2 3v5.5A1.5 1.5 0 0 0 3.5 10H4`,stroke:`currentColor`,"stroke-width":`1.3`},null,-1)]]))],10,wS),Z(`button`,{class:`icon-btn`,title:`新窗口打开`,onClick:d},[...n[6]||=[Z(`svg`,{viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`},[Z(`path`,{d:`M6 3H4a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-2`,stroke:`currentColor`,"stroke-width":`1.3`,"stroke-linecap":`round`}),Z(`path`,{d:`M9 2.5h4.5V7M13 3l-6 6`,stroke:`currentColor`,"stroke-width":`1.3`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1)]]),Z(`button`,{class:`icon-btn`,title:`关闭`,onClick:n[2]||=e=>r(`close`)},[...n[7]||=[Z(`svg`,{viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`},[Z(`path`,{d:`M4 4l8 8M12 4l-8 8`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`})],-1)]])])]),Z(`div`,DS,[a.value===`preview`&&s.value?(Y(),X(`iframe`,{key:0,ref_key:`iframeRef`,ref:i,class:`preview-iframe`,sandbox:`allow-scripts allow-modals allow-popups allow-forms`,srcdoc:c.value},null,8,OS)):(Y(),X(`pre`,kS,[Z(`code`,null,W(e.code),1)]))])])]))}}),[[`__scopeId`,`data-v-bf0ccf96`]]),jS=[`innerHTML`],MS=Mi({__name:`MessageContent`,props:{content:{}},setup(e){let t=e,{html:n,codeBlocks:r}=_S(()=>t.content),i=bn(null),a=bn(null),o=[`html`,`htm`,`vue`,`javascript`,`js`,`css`];function s(e){return o.includes(e.toLowerCase())}function c(e,t){let n={html:`html`,htm:`html`,css:`css`,javascript:`js`,js:`js`,typescript:`ts`,ts:`ts`,vue:`vue`,python:`py`,json:`json`,xml:`xml`,markdown:`md`,md:`md`,shell:`sh`,bash:`sh`}[e.toLowerCase()]||`txt`,r=new Blob([t],{type:`text/plain;charset=utf-8`}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=`code-${Date.now()}.${n}`,a.click(),setTimeout(()=>URL.revokeObjectURL(i),1e3)}let l={copy:`<svg viewBox="0 0 16 16" fill="none" aria-hidden="true"><rect x="5.5" y="5.5" width="8" height="8" rx="1.5" stroke="currentColor" stroke-width="1.3" /><path d="M10.5 3.5v-.5A1.5 1.5 0 0 0 9 1.5H3.5A1.5 1.5 0 0 0 2 3v5.5A1.5 1.5 0 0 0 3.5 10H4" stroke="currentColor" stroke-width="1.3" /></svg>`,check:`<svg viewBox="0 0 16 16" fill="none" aria-hidden="true"><path d="M3 8.5l3 3 7-7" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" /></svg>`,download:`<svg viewBox="0 0 16 16" fill="none" aria-hidden="true"><path d="M8 2.5v7.5m0 0L5 7m3 3l3-3" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" /><path d="M2.5 11.5v1a1.5 1.5 0 0 0 1.5 1.5h8a1.5 1.5 0 0 0 1.5-1.5v-1" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" /></svg>`,play:`<svg viewBox="0 0 16 16" fill="none" aria-hidden="true"><path d="M4.5 3.2v9.6c0 .6.65.97 1.17.66l7.5-4.8a.78.78 0 0 0 0-1.32l-7.5-4.8A.78.78 0 0 0 4.5 3.2z" fill="currentColor" /></svg>`};async function u(){await ir();let e=i.value;e&&e.querySelectorAll(`pre.code-block`).forEach((e,t)=>{if(e.querySelector(`.code-toolbar`))return;let n=e.dataset.lang||`plaintext`,r=decodeURIComponent(e.dataset.code||``),i=document.createElement(`div`);i.className=`code-toolbar`;let o=document.createElement(`span`);o.className=`code-lang`,o.textContent=n,i.appendChild(o);let u=document.createElement(`div`);u.className=`code-toolbar-actions`;let d=document.createElement(`button`);d.className=`code-action-btn`,d.title=`复制代码`,d.innerHTML=l.copy+`<span>复制</span>`,d.onclick=async()=>{let e=await p_(r);d.classList.toggle(`done`,e),d.innerHTML=(e?l.check:l.copy)+`<span>${e?`已复制`:`复制失败`}</span>`,setTimeout(()=>{d.classList.remove(`done`),d.innerHTML=l.copy+`<span>复制</span>`},1500)},u.appendChild(d);let f=document.createElement(`button`);if(f.className=`code-action-btn`,f.title=`下载为文件`,f.innerHTML=l.download+`<span>下载</span>`,f.onclick=()=>c(n,r),u.appendChild(f),s(n)){let e=document.createElement(`button`);e.className=`code-action-btn preview-btn`,e.title=`在新弹层预览运行`,e.innerHTML=l.play+`<span>运行预览</span>`,e.onclick=()=>{a.value={lang:n,code:r}},u.appendChild(e)}i.appendChild(u),e.appendChild(i)})}return Ji(u),$r(n,u),(e,t)=>(Y(),X(J,null,[Z(`div`,{class:`message-md`,ref_key:`containerRef`,ref:i,innerHTML:K(n)},null,8,jS),(Y(),ns(mi,{to:`body`},[a.value?(Y(),ns(AS,{key:0,code:a.value.code,lang:a.value.lang,onClose:t[0]||=e=>a.value=null},null,8,[`code`,`lang`])):Q(``,!0)]))],64))}}),NS={key:0,class:`stream-cursor`},PS=M_(Mi({__name:`MessageBubble`,props:{content:{},role:{},isPendingAssistant:{type:Boolean},showTyping:{type:Boolean},showCursor:{type:Boolean}},setup(e){return(t,n)=>(Y(),X(J,null,[Z(`div`,{class:U([`message-bubble`,[e.role,{typing:e.isPendingAssistant}]])},[e.isPendingAssistant?(Y(),X(J,{key:0},[Z(`span`,{class:U([`typing-dot`,{pulse:e.showTyping}])},null,2),n[0]||=Z(`span`,{class:`typing-text`},`思考中...`,-1)],64)):(Y(),X(J,{key:1},[e.role===`assistant`?(Y(),ns(MS,{key:0,content:e.content},null,8,[`content`])):(Y(),X(J,{key:1},[ms(W(e.content),1)],64))],64))],2),e.showCursor?(Y(),X(`span`,NS)):Q(``,!0)],64))}}),[[`__scopeId`,`data-v-c38029d9`]]),FS={class:`message-time`},IS=M_(Mi({__name:`MessageTime`,props:{time:{}},setup(e){return(t,n)=>(Y(),X(`div`,FS,W(e.time),1))}}),[[`__scopeId`,`data-v-4a976e4a`]]),LS={class:`msg-actions`},RS=[`title`],zS={key:0,viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`},BS={key:1,viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`},VS=M_(Mi({__name:`MessageActions`,props:{copied:{type:Boolean}},emits:[`copy`,`regenerate`],setup(e){return(t,n)=>(Y(),X(`div`,LS,[Z(`button`,{class:U([`msg-action-btn`,{done:e.copied}]),title:e.copied?`已复制`:`复制`,onClick:n[0]||=e=>t.$emit(`copy`)},[e.copied?(Y(),X(`svg`,zS,[...n[2]||=[Z(`path`,{d:`M3 8.5l3 3 7-7`,stroke:`currentColor`,"stroke-width":`1.6`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)]])):(Y(),X(`svg`,BS,[...n[3]||=[Z(`rect`,{x:`5.5`,y:`5.5`,width:`8`,height:`8`,rx:`1.5`,stroke:`currentColor`,"stroke-width":`1.3`},null,-1),Z(`path`,{d:`M10.5 3.5v-.5A1.5 1.5 0 0 0 9 1.5H3.5A1.5 1.5 0 0 0 2 3v5.5A1.5 1.5 0 0 0 3.5 10H4`,stroke:`currentColor`,"stroke-width":`1.3`},null,-1)]])),Z(`span`,null,W(e.copied?`已复制`:`复制`),1)],10,RS),Z(`button`,{class:`msg-action-btn`,title:`重新生成`,onClick:n[1]||=e=>t.$emit(`regenerate`)},[...n[4]||=[Z(`svg`,{viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`},[Z(`path`,{d:`M13.5 8a5.5 5.5 0 1 1-1.6-3.9`,stroke:`currentColor`,"stroke-width":`1.3`,"stroke-linecap":`round`}),Z(`path`,{d:`M13.7 1.8v2.8h-2.8`,stroke:`currentColor`,"stroke-width":`1.3`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1),Z(`span`,null,`重新生成`,-1)]])]))}}),[[`__scopeId`,`data-v-49dbc830`]]),HS={key:0,class:`avatar-glyph`},US={key:1,class:`avatar-icon`,viewBox:`0 0 1024 1024`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`},WS={key:2,class:`avatar-icon`,viewBox:`0 0 1024 1024`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`},GS=M_(Mi({__name:`AvatarIcon`,props:{role:{},glyph:{}},setup(e){return(t,n)=>e.glyph?(Y(),X(`span`,HS,W(e.glyph),1)):e.role===`user`?(Y(),X(`svg`,US,[...n[0]||=[Z(`path`,{d:`M512 170.688a149.312 149.312 0 1 0 0 298.624 149.312 149.312 0 0 0 0-298.624zM277.312 320a234.688 234.688 0 1 1 469.376 0 234.688 234.688 0 0 1-469.376 0zM128 810.688a213.312 213.312 0 0 1 213.312-213.312h341.376A213.312 213.312 0 0 1 896 810.688v128H128v-128z m213.312-128a128 128 0 0 0-128 128v42.688h597.376v-42.688a128 128 0 0 0-128-128H341.312z`},null,-1)]])):(Y(),X(`svg`,WS,[...n[1]||=[Z(`path`,{d:`M717.12 274H762c82.842 0 150 67.158 150 150v200c0 82.842-67.158 150-150 150H262c-82.842 0-150-67.158-150-150V424c0-82.842 67.158-150 150-150h44.88l-18.268-109.602c-4.086-24.514 12.476-47.7 36.99-51.786 24.514-4.086 47.7 12.476 51.786 36.99l20 120c0.246 1.472 0.416 2.94 0.516 4.398h228.192c0.1-1.46 0.27-2.926 0.516-4.398l20-120c4.086-24.514 27.272-41.076 51.786-36.99 24.514 4.086 41.076 27.272 36.99 51.786L717.12 274zM262 364c-33.138 0-60 26.862-60 60v200c0 33.138 26.862 60 60 60h500c33.138 0 60-26.862 60-60V424c0-33.138-26.862-60-60-60H262z m50 548c-24.852 0-45-20.148-45-45S287.148 822 312 822h400c24.852 0 45 20.148 45 45S736.852 912 712 912H312z m-4-428c0-24.852 20.148-45 45-45S398 459.148 398 484v40c0 24.852-20.148 45-45 45S308 548.852 308 524v-40z m318 0c0-24.852 20.148-45 45-45S716 459.148 716 484v40c0 24.852-20.148 45-45 45S626 548.852 626 524v-40z`},null,-1)]]))}}),[[`__scopeId`,`data-v-e6430248`]]),KS=[`data-msg-idx`],qS={key:0,class:`message-avatar`},JS={class:`message-content`},YS={key:2,class:`msg-focuses`},XS=[`title`,`onClick`],ZS=M_(Mi({__name:`MessageRow`,props:{message:{},index:{},showAvatar:{type:Boolean},showTyping:{type:Boolean},isPendingAssistant:{type:Boolean},reasoningExpanded:{type:Boolean},copied:{type:Boolean},isLast:{type:Boolean},loading:{type:Boolean},time:{}},emits:[`toggle-reasoning`,`copy`,`regenerate`],setup(e){let t=e,n=v_(),r=Ys(()=>t.message.role===`assistant`),i=Ys(()=>r.value&&`reasoning`in t.message?t.message.reasoning??``:``),a=Ys(()=>r.value&&`steps`in t.message?t.message.steps??[]:[]),o=Ys(()=>r.value&&!!t.message.content&&!t.loading&&t.isLast),s=Ys(()=>r.value&&t.loading&&t.isLast&&!!t.message.content);return(t,c)=>(Y(),X(`div`,{class:U([`message-row`,e.message.role]),"data-msg-idx":e.index},[e.showAvatar?(Y(),X(`div`,qS,[ls(GS,{role:e.message.role,glyph:e.message.role===`user`?K(n).icons.userAvatar:K(n).icons.assistantAvatar},null,8,[`role`,`glyph`])])):Q(``,!0),Z(`div`,JS,[r.value?(Y(),ns(U_,{key:0,text:i.value,expanded:e.reasoningExpanded,onToggle:c[0]||=e=>t.$emit(`toggle-reasoning`)},null,8,[`text`,`expanded`])):Q(``,!0),r.value?(Y(),ns(yv,{key:1,steps:a.value,icons:K(n).icons},null,8,[`steps`,`icons`])):Q(``,!0),e.message.role===`user`&&e.message.focuses?.length?(Y(),X(`div`,YS,[(Y(!0),X(J,null,ia(e.message.focuses,e=>(Y(),X(`span`,{key:e.path,class:`msg-focus-chip`,title:`回看 ${e.path}`,onClick:t=>K(n).focusChipClick(e)},W(K(n).icons.focus)+` `+W(e.path),9,XS))),128))])):Q(``,!0),ls(PS,{content:e.message.content,role:e.message.role,"is-pending-assistant":e.isPendingAssistant,"show-typing":e.showTyping,"show-cursor":s.value},null,8,[`content`,`role`,`is-pending-assistant`,`show-typing`,`show-cursor`]),ls(IS,{time:e.time},null,8,[`time`]),o.value?(Y(),ns(VS,{key:3,copied:e.copied,onCopy:c[1]||=e=>t.$emit(`copy`),onRegenerate:c[2]||=e=>t.$emit(`regenerate`)},null,8,[`copied`])):Q(``,!0)])],10,KS))}}),[[`__scopeId`,`data-v-fccdaca0`]]),QS={class:`chat-body`},$S={key:0,class:`empty-state`},eC={class:`empty-icon`},tC={key:1,class:`message-row assistant`},nC={key:0,class:`message-avatar`},rC={class:`message-content`},iC={key:2,class:`error-bar`},aC={class:`error-text`},oC=M_(Mi({__name:`MessageList`,props:{showAvatar:{type:Boolean},showTyping:{type:Boolean}},setup(e){let{chat:t,formatTime:n,copiedMsg:r,copyMessage:i,isPendingAssistant:a,isReasoningExpanded:o,toggleReasoning:s,canUndo:c,undo:l,icons:u}=v_(),{state:d,retry:f,regenerate:p}=t,m=Ys(()=>d.messages.length>0),h=Ys(()=>d.messages.some(e=>e.role===`user`)),g=Ys(()=>d.messages[d.messages.length-1]?.role===`assistant`);return(t,_)=>(Y(),X(`div`,QS,[m.value?Q(``,!0):(Y(),X(`div`,$S,[Z(`div`,eC,W(K(u).empty),1),_[2]||=Z(`p`,null,`有什么可以帮你的?`,-1)])),(Y(!0),X(J,null,ia(K(d).messages,(t,c)=>(Y(),ns(ZS,{key:c,message:t,index:c,"show-avatar":e.showAvatar,"show-typing":e.showTyping,"is-pending-assistant":K(a)(c),"reasoning-expanded":K(o)(c),copied:K(r),"is-last":c===K(d).messages.length-1,loading:K(d).loading,time:K(n)(t.timestamp),onToggleReasoning:e=>K(s)(c),onCopy:e=>K(i)(t.content),onRegenerate:K(p)},null,8,[`message`,`index`,`show-avatar`,`show-typing`,`is-pending-assistant`,`reasoning-expanded`,`copied`,`is-last`,`loading`,`time`,`onToggleReasoning`,`onCopy`,`onRegenerate`]))),128)),K(d).loading&&!g.value?(Y(),X(`div`,tC,[e.showAvatar?(Y(),X(`div`,nC,[ls(GS,{role:`assistant`,glyph:K(u).assistantAvatar},null,8,[`glyph`])])):Q(``,!0),Z(`div`,rC,[ls(PS,{content:``,role:`assistant`,"is-pending-assistant":!0,"show-typing":e.showTyping,"show-cursor":!1},null,8,[`show-typing`])])])):Q(``,!0),K(d).error?(Y(),X(`div`,iC,[Z(`span`,aC,W(K(d).error),1),h.value?(Y(),X(`button`,{key:0,class:`retry-btn`,onClick:_[0]||=(...e)=>K(f)&&K(f)(...e)},`重试`)):Q(``,!0),K(c)?(Y(),X(`button`,{key:1,class:`undo-btn`,title:`回退到上次正常状态(还原对话历史 + 页面属性 + 工作区)`,onClick:_[1]||=(...e)=>K(l)&&K(l)(...e)},`↩ 回退`)):Q(``,!0)])):Q(``,!0)]))}}),[[`__scopeId`,`data-v-df6d11af`]]),sC={key:0,class:`queued-bar`},cC={class:`queued-head`},lC={class:`queued-icon`},uC={class:`queued-count`},dC={class:`queued-idx`},fC={class:`queued-text`},pC=[`onClick`],mC=[`onClick`],hC=M_(Mi({__name:`QueuedBar`,setup(e){let{chat:t,editQueued:n,icons:r}=v_(),{queuedTasks:i,removeQueuedTask:a}=t;return(e,t)=>K(i).length?(Y(),X(`div`,sC,[Z(`div`,cC,[Z(`span`,lC,W(K(r).queued),1),t[0]||=Z(`span`,{class:`queued-title`},`排队中 · 生成完后自动执行`,-1),Z(`span`,uC,W(K(i).length),1)]),(Y(!0),X(J,null,ia(K(i),(e,t)=>(Y(),X(`div`,{key:t,class:`queued-item`},[Z(`span`,dC,W(t+1),1),Z(`span`,fC,W(e),1),Z(`button`,{class:`queued-act`,title:`修改(填回输入框编辑)`,onClick:e=>K(n)(t)},W(K(r).queuedEdit),9,pC),Z(`button`,{class:`queued-act queued-del`,title:`撤销该任务`,onClick:e=>K(a)(t)},`✕`,8,mC)]))),128))])):Q(``,!0)}}),[[`__scopeId`,`data-v-d8bbbb53`]]),gC={key:0,class:`approval-bar`},_C={key:0,class:`approval-question`},vC={key:1,class:`approval-context`},yC={key:2,class:`approval-recommend`},bC={key:3,class:`approval-options`},xC=[`onClick`],SC={class:`approval-actions`},CC={class:`approval-head`},wC={class:`approval-title`},TC={key:0,class:`approval-args`},EC={class:`approval-actions`},DC=M_(Mi({__name:`ApprovalBar`,setup(e){let t=v_(),{pendingApproval:n,resolveApproval:r}=t.chat,i=bn(!1);$r(n,()=>{i.value=!1});let a=Ys(()=>n.value?.toolName===`request_human_confirmation`),o=Ys(()=>{let e=n.value?.args?.options;return Array.isArray(e)?e.map(String):[]}),s=Ys(()=>{let e=n.value?.args;if(e==null)return``;try{let t=typeof e==`string`?e:JSON.stringify(e,null,2);return t.length>400?t.slice(0,400)+`
|
|
282
|
-
…(已截断)`:t}catch{return String(e)}});return(e,c)=>K(n)?(Y(),X(`div`,
|
|
281
|
+
<\/script></body></html>`}$r(()=>a.value,async()=>{await ir(),a.value===`preview`&&i.value&&(i.value.srcdoc=c.value)},{immediate:!0});function u(){p_(n.code).then(e=>{e&&(o.value=!0,setTimeout(()=>o.value=!1,1500))})}function d(){let e=e=>e.replace(/&/g,`&`).replace(/"/g,`"`).replace(/</g,`<`),t=`<!DOCTYPE html><html><head><meta charset="utf-8"><title>代码预览 · `+e(n.lang)+`</title><style>html,body{margin:0;height:100%;background:#fff}iframe{border:none;width:100%;height:100%}</style></head><body><iframe sandbox="allow-scripts allow-modals allow-popups allow-forms" srcdoc="`+e(c.value)+`"></iframe></body></html>`,r=new Blob([t],{type:`text/html`}),i=URL.createObjectURL(r);window.open(i,`_blank`,`noopener,noreferrer`),setTimeout(()=>URL.revokeObjectURL(i),1e4)}return(t,n)=>(Y(),X(`div`,{class:`code-preview-overlay`,onClick:n[3]||=gl(e=>r(`close`),[`self`])},[Z(`div`,TS,[Z(`div`,ES,[Z(`span`,DS,`代码预览 · `+W(e.lang),1),Z(`div`,OS,[Z(`button`,{class:U({active:a.value===`preview`}),disabled:!s.value,onClick:n[0]||=e=>a.value=`preview`},`预览`,10,kS),Z(`button`,{class:U({active:a.value===`source`}),onClick:n[1]||=e=>a.value=`source`},`源码`,2)]),Z(`div`,AS,[Z(`button`,{class:U([`icon-btn`,{done:o.value}]),title:o.value?`已复制`:`复制代码`,onClick:u},[o.value?(Y(),X(`svg`,MS,[...n[4]||=[Z(`path`,{d:`M3 8.5l3 3 7-7`,stroke:`currentColor`,"stroke-width":`1.6`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)]])):(Y(),X(`svg`,NS,[...n[5]||=[Z(`rect`,{x:`5.5`,y:`5.5`,width:`8`,height:`8`,rx:`1.5`,stroke:`currentColor`,"stroke-width":`1.3`},null,-1),Z(`path`,{d:`M10.5 3.5v-.5A1.5 1.5 0 0 0 9 1.5H3.5A1.5 1.5 0 0 0 2 3v5.5A1.5 1.5 0 0 0 3.5 10H4`,stroke:`currentColor`,"stroke-width":`1.3`},null,-1)]]))],10,jS),Z(`button`,{class:`icon-btn`,title:`新窗口打开`,onClick:d},[...n[6]||=[Z(`svg`,{viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`},[Z(`path`,{d:`M6 3H4a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-2`,stroke:`currentColor`,"stroke-width":`1.3`,"stroke-linecap":`round`}),Z(`path`,{d:`M9 2.5h4.5V7M13 3l-6 6`,stroke:`currentColor`,"stroke-width":`1.3`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1)]]),Z(`button`,{class:`icon-btn`,title:`关闭`,onClick:n[2]||=e=>r(`close`)},[...n[7]||=[Z(`svg`,{viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`},[Z(`path`,{d:`M4 4l8 8M12 4l-8 8`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`})],-1)]])])]),Z(`div`,PS,[a.value===`preview`&&s.value?(Y(),X(`iframe`,{key:0,ref_key:`iframeRef`,ref:i,class:`preview-iframe`,sandbox:`allow-scripts allow-modals allow-popups allow-forms`,srcdoc:c.value},null,8,FS)):(Y(),X(`pre`,IS,[Z(`code`,null,W(e.code),1)]))])])]))}}),[[`__scopeId`,`data-v-bf0ccf96`]]),RS=[`innerHTML`],zS=Mi({__name:`MessageContent`,props:{content:{}},setup(e){let t=e,{html:n,codeBlocks:r}=wS(()=>t.content),i=bn(null),a=bn(null),o=[`html`,`htm`,`vue`,`javascript`,`js`,`css`];function s(e){return o.includes(e.toLowerCase())}function c(e,t){let n={html:`html`,htm:`html`,css:`css`,javascript:`js`,js:`js`,typescript:`ts`,ts:`ts`,vue:`vue`,python:`py`,json:`json`,xml:`xml`,markdown:`md`,md:`md`,shell:`sh`,bash:`sh`}[e.toLowerCase()]||`txt`,r=new Blob([t],{type:`text/plain;charset=utf-8`}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=`code-${Date.now()}.${n}`,a.click(),setTimeout(()=>URL.revokeObjectURL(i),1e3)}let l={copy:`<svg viewBox="0 0 16 16" fill="none" aria-hidden="true"><rect x="5.5" y="5.5" width="8" height="8" rx="1.5" stroke="currentColor" stroke-width="1.3" /><path d="M10.5 3.5v-.5A1.5 1.5 0 0 0 9 1.5H3.5A1.5 1.5 0 0 0 2 3v5.5A1.5 1.5 0 0 0 3.5 10H4" stroke="currentColor" stroke-width="1.3" /></svg>`,check:`<svg viewBox="0 0 16 16" fill="none" aria-hidden="true"><path d="M3 8.5l3 3 7-7" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" /></svg>`,download:`<svg viewBox="0 0 16 16" fill="none" aria-hidden="true"><path d="M8 2.5v7.5m0 0L5 7m3 3l3-3" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" /><path d="M2.5 11.5v1a1.5 1.5 0 0 0 1.5 1.5h8a1.5 1.5 0 0 0 1.5-1.5v-1" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" /></svg>`,play:`<svg viewBox="0 0 16 16" fill="none" aria-hidden="true"><path d="M4.5 3.2v9.6c0 .6.65.97 1.17.66l7.5-4.8a.78.78 0 0 0 0-1.32l-7.5-4.8A.78.78 0 0 0 4.5 3.2z" fill="currentColor" /></svg>`};async function u(){await ir();let e=i.value;e&&e.querySelectorAll(`pre.code-block`).forEach((e,t)=>{if(e.querySelector(`.code-toolbar`))return;let n=e.dataset.lang||`plaintext`,r=decodeURIComponent(e.dataset.code||``),i=document.createElement(`div`);i.className=`code-toolbar`;let o=document.createElement(`span`);o.className=`code-lang`,o.textContent=n,i.appendChild(o);let u=document.createElement(`div`);u.className=`code-toolbar-actions`;let d=document.createElement(`button`);d.className=`code-action-btn`,d.title=`复制代码`,d.innerHTML=l.copy+`<span>复制</span>`,d.onclick=async()=>{let e=await p_(r);d.classList.toggle(`done`,e),d.innerHTML=(e?l.check:l.copy)+`<span>${e?`已复制`:`复制失败`}</span>`,setTimeout(()=>{d.classList.remove(`done`),d.innerHTML=l.copy+`<span>复制</span>`},1500)},u.appendChild(d);let f=document.createElement(`button`);if(f.className=`code-action-btn`,f.title=`下载为文件`,f.innerHTML=l.download+`<span>下载</span>`,f.onclick=()=>c(n,r),u.appendChild(f),s(n)){let e=document.createElement(`button`);e.className=`code-action-btn preview-btn`,e.title=`在新弹层预览运行`,e.innerHTML=l.play+`<span>运行预览</span>`,e.onclick=()=>{a.value={lang:n,code:r}},u.appendChild(e)}i.appendChild(u),e.appendChild(i)})}return Ji(u),$r(n,u),(e,t)=>(Y(),X(J,null,[Z(`div`,{class:`message-md`,ref_key:`containerRef`,ref:i,innerHTML:K(n)},null,8,RS),(Y(),ns(mi,{to:`body`},[a.value?(Y(),ns(LS,{key:0,code:a.value.code,lang:a.value.lang,onClose:t[0]||=e=>a.value=null},null,8,[`code`,`lang`])):Q(``,!0)]))],64))}}),BS={key:0,class:`stream-cursor`},VS=Yv(Mi({__name:`MessageBubble`,props:{content:{},role:{},isPendingAssistant:{type:Boolean},showTyping:{type:Boolean},showCursor:{type:Boolean}},setup(e){return(t,n)=>(Y(),X(J,null,[Z(`div`,{class:U([`message-bubble`,[e.role,{typing:e.isPendingAssistant}]])},[e.isPendingAssistant?(Y(),X(J,{key:0},[Z(`span`,{class:U([`typing-dot`,{pulse:e.showTyping}])},null,2),n[0]||=Z(`span`,{class:`typing-text`},`思考中...`,-1)],64)):(Y(),X(J,{key:1},[e.role===`assistant`?(Y(),ns(zS,{key:0,content:e.content},null,8,[`content`])):(Y(),X(J,{key:1},[ms(W(e.content),1)],64))],64))],2),e.showCursor?(Y(),X(`span`,BS)):Q(``,!0)],64))}}),[[`__scopeId`,`data-v-c38029d9`]]),HS={class:`message-time`},US=Yv(Mi({__name:`MessageTime`,props:{time:{}},setup(e){return(t,n)=>(Y(),X(`div`,HS,W(e.time),1))}}),[[`__scopeId`,`data-v-4a976e4a`]]),WS={class:`msg-actions`},GS=[`title`],KS={key:0,viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`},qS={key:1,viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`},JS=Yv(Mi({__name:`MessageActions`,props:{copied:{type:Boolean}},emits:[`copy`,`regenerate`],setup(e){return(t,n)=>(Y(),X(`div`,WS,[Z(`button`,{class:U([`msg-action-btn`,{done:e.copied}]),title:e.copied?`已复制`:`复制`,onClick:n[0]||=e=>t.$emit(`copy`)},[e.copied?(Y(),X(`svg`,KS,[...n[2]||=[Z(`path`,{d:`M3 8.5l3 3 7-7`,stroke:`currentColor`,"stroke-width":`1.6`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)]])):(Y(),X(`svg`,qS,[...n[3]||=[Z(`rect`,{x:`5.5`,y:`5.5`,width:`8`,height:`8`,rx:`1.5`,stroke:`currentColor`,"stroke-width":`1.3`},null,-1),Z(`path`,{d:`M10.5 3.5v-.5A1.5 1.5 0 0 0 9 1.5H3.5A1.5 1.5 0 0 0 2 3v5.5A1.5 1.5 0 0 0 3.5 10H4`,stroke:`currentColor`,"stroke-width":`1.3`},null,-1)]])),Z(`span`,null,W(e.copied?`已复制`:`复制`),1)],10,GS),Z(`button`,{class:`msg-action-btn`,title:`重新生成`,onClick:n[1]||=e=>t.$emit(`regenerate`)},[...n[4]||=[Z(`svg`,{viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`},[Z(`path`,{d:`M13.5 8a5.5 5.5 0 1 1-1.6-3.9`,stroke:`currentColor`,"stroke-width":`1.3`,"stroke-linecap":`round`}),Z(`path`,{d:`M13.7 1.8v2.8h-2.8`,stroke:`currentColor`,"stroke-width":`1.3`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1),Z(`span`,null,`重新生成`,-1)]])]))}}),[[`__scopeId`,`data-v-49dbc830`]]),YS={key:1,class:`avatar-icon`,viewBox:`0 0 1024 1024`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`},XS={key:2,class:`avatar-icon`,viewBox:`0 0 1024 1024`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`},ZS=Yv(Mi({__name:`AvatarIcon`,props:{role:{},glyph:{}},setup(e){return(t,n)=>e.glyph?(Y(),ns(Xv,{key:0,icon:e.glyph,class:`avatar-glyph`},null,8,[`icon`])):e.role===`user`?(Y(),X(`svg`,YS,[...n[0]||=[Z(`path`,{d:`M512 170.688a149.312 149.312 0 1 0 0 298.624 149.312 149.312 0 0 0 0-298.624zM277.312 320a234.688 234.688 0 1 1 469.376 0 234.688 234.688 0 0 1-469.376 0zM128 810.688a213.312 213.312 0 0 1 213.312-213.312h341.376A213.312 213.312 0 0 1 896 810.688v128H128v-128z m213.312-128a128 128 0 0 0-128 128v42.688h597.376v-42.688a128 128 0 0 0-128-128H341.312z`},null,-1)]])):(Y(),X(`svg`,XS,[...n[1]||=[Z(`path`,{d:`M717.12 274H762c82.842 0 150 67.158 150 150v200c0 82.842-67.158 150-150 150H262c-82.842 0-150-67.158-150-150V424c0-82.842 67.158-150 150-150h44.88l-18.268-109.602c-4.086-24.514 12.476-47.7 36.99-51.786 24.514-4.086 47.7 12.476 51.786 36.99l20 120c0.246 1.472 0.416 2.94 0.516 4.398h228.192c0.1-1.46 0.27-2.926 0.516-4.398l20-120c4.086-24.514 27.272-41.076 51.786-36.99 24.514 4.086 41.076 27.272 36.99 51.786L717.12 274zM262 364c-33.138 0-60 26.862-60 60v200c0 33.138 26.862 60 60 60h500c33.138 0 60-26.862 60-60V424c0-33.138-26.862-60-60-60H262z m50 548c-24.852 0-45-20.148-45-45S287.148 822 312 822h400c24.852 0 45 20.148 45 45S736.852 912 712 912H312z m-4-428c0-24.852 20.148-45 45-45S398 459.148 398 484v40c0 24.852-20.148 45-45 45S308 548.852 308 524v-40z m318 0c0-24.852 20.148-45 45-45S716 459.148 716 484v40c0 24.852-20.148 45-45 45S626 548.852 626 524v-40z`},null,-1)]]))}}),[[`__scopeId`,`data-v-a0b508ea`]]),QS=[`data-msg-idx`],$S={key:0,class:`message-avatar`},eC={class:`message-content`},tC={key:2,class:`msg-focuses`},nC=[`title`,`onClick`],rC=Yv(Mi({__name:`MessageRow`,props:{message:{},index:{},showAvatar:{type:Boolean},showTyping:{type:Boolean},isPendingAssistant:{type:Boolean},reasoningExpanded:{type:Boolean},copied:{type:Boolean},isLast:{type:Boolean},loading:{type:Boolean},time:{}},emits:[`toggle-reasoning`,`copy`,`regenerate`],setup(e){let t=e,n=v_(),r=Ys(()=>t.message.role===`assistant`),i=Ys(()=>r.value&&`reasoning`in t.message?t.message.reasoning??``:``),a=Ys(()=>r.value&&`steps`in t.message?t.message.steps??[]:[]),o=Ys(()=>r.value&&!!t.message.content&&!t.loading&&t.isLast),s=Ys(()=>r.value&&t.loading&&t.isLast&&!!t.message.content);return(t,c)=>(Y(),X(`div`,{class:U([`message-row`,e.message.role]),"data-msg-idx":e.index},[e.showAvatar?(Y(),X(`div`,$S,[ls(ZS,{role:e.message.role,glyph:e.message.role===`user`?K(n).icons.userAvatar:K(n).icons.assistantAvatar},null,8,[`role`,`glyph`])])):Q(``,!0),Z(`div`,eC,[r.value?(Y(),ns(yy,{key:0,text:i.value,expanded:e.reasoningExpanded,onToggle:c[0]||=e=>t.$emit(`toggle-reasoning`)},null,8,[`text`,`expanded`])):Q(``,!0),r.value?(Y(),ns(Yy,{key:1,steps:a.value,icons:K(n).icons},null,8,[`steps`,`icons`])):Q(``,!0),e.message.role===`user`&&e.message.focuses?.length?(Y(),X(`div`,tC,[(Y(!0),X(J,null,ia(e.message.focuses,e=>(Y(),X(`span`,{key:e.path,class:`msg-focus-chip`,title:`回看 ${e.path}`,onClick:t=>K(n).focusChipClick(e)},[ls(Xv,{icon:K(n).icons.focus},null,8,[`icon`]),ms(` `+W(e.path),1)],8,nC))),128))])):Q(``,!0),ls(VS,{content:e.message.content,role:e.message.role,"is-pending-assistant":e.isPendingAssistant,"show-typing":e.showTyping,"show-cursor":s.value},null,8,[`content`,`role`,`is-pending-assistant`,`show-typing`,`show-cursor`]),ls(US,{time:e.time},null,8,[`time`]),o.value?(Y(),ns(JS,{key:3,copied:e.copied,onCopy:c[1]||=e=>t.$emit(`copy`),onRegenerate:c[2]||=e=>t.$emit(`regenerate`)},null,8,[`copied`])):Q(``,!0)])],10,QS))}}),[[`__scopeId`,`data-v-815fe44c`]]),iC={class:`chat-body`},aC={key:0,class:`empty-state`},oC={class:`empty-icon`},sC={key:1,class:`message-row assistant`},cC={key:0,class:`message-avatar`},lC={class:`message-content`},uC={key:2,class:`error-bar`},dC={class:`error-text`},fC=Yv(Mi({__name:`MessageList`,props:{showAvatar:{type:Boolean},showTyping:{type:Boolean}},setup(e){let{chat:t,formatTime:n,copiedMsg:r,copyMessage:i,isPendingAssistant:a,isReasoningExpanded:o,toggleReasoning:s,canUndo:c,undo:l,icons:u}=v_(),{state:d,retry:f,regenerate:p}=t,m=Ys(()=>d.messages.length>0),h=Ys(()=>d.messages.some(e=>e.role===`user`)),g=Ys(()=>d.messages[d.messages.length-1]?.role===`assistant`);return(t,_)=>(Y(),X(`div`,iC,[m.value?Q(``,!0):(Y(),X(`div`,aC,[Z(`div`,oC,[ls(Xv,{icon:K(u).empty},null,8,[`icon`])]),_[2]||=Z(`p`,null,`有什么可以帮你的?`,-1)])),(Y(!0),X(J,null,ia(K(d).messages,(t,c)=>(Y(),ns(rC,{key:c,message:t,index:c,"show-avatar":e.showAvatar,"show-typing":e.showTyping,"is-pending-assistant":K(a)(c),"reasoning-expanded":K(o)(c),copied:K(r),"is-last":c===K(d).messages.length-1,loading:K(d).loading,time:K(n)(t.timestamp),onToggleReasoning:e=>K(s)(c),onCopy:e=>K(i)(t.content),onRegenerate:K(p)},null,8,[`message`,`index`,`show-avatar`,`show-typing`,`is-pending-assistant`,`reasoning-expanded`,`copied`,`is-last`,`loading`,`time`,`onToggleReasoning`,`onCopy`,`onRegenerate`]))),128)),K(d).loading&&!g.value?(Y(),X(`div`,sC,[e.showAvatar?(Y(),X(`div`,cC,[ls(ZS,{role:`assistant`,glyph:K(u).assistantAvatar},null,8,[`glyph`])])):Q(``,!0),Z(`div`,lC,[ls(VS,{content:``,role:`assistant`,"is-pending-assistant":!0,"show-typing":e.showTyping,"show-cursor":!1},null,8,[`show-typing`])])])):Q(``,!0),K(d).error?(Y(),X(`div`,uC,[Z(`span`,dC,W(K(d).error),1),h.value?(Y(),X(`button`,{key:0,class:`retry-btn`,onClick:_[0]||=(...e)=>K(f)&&K(f)(...e)},`重试`)):Q(``,!0),K(c)?(Y(),X(`button`,{key:1,class:`undo-btn`,title:`回退到上次正常状态(还原对话历史 + 页面属性 + 工作区)`,onClick:_[1]||=(...e)=>K(l)&&K(l)(...e)},`↩ 回退`)):Q(``,!0)])):Q(``,!0)]))}}),[[`__scopeId`,`data-v-500db909`]]),pC={key:0,class:`queued-bar`},mC={class:`queued-head`},hC={class:`queued-icon`},gC={class:`queued-count`},_C={class:`queued-idx`},vC={class:`queued-text`},yC=[`onClick`],bC=[`onClick`],xC=Yv(Mi({__name:`QueuedBar`,setup(e){let{chat:t,editQueued:n,icons:r}=v_(),{queuedTasks:i,removeQueuedTask:a}=t;return(e,t)=>K(i).length?(Y(),X(`div`,pC,[Z(`div`,mC,[Z(`span`,hC,[ls(Xv,{icon:K(r).queued},null,8,[`icon`])]),t[0]||=Z(`span`,{class:`queued-title`},`排队中 · 生成完后自动执行`,-1),Z(`span`,gC,W(K(i).length),1)]),(Y(!0),X(J,null,ia(K(i),(e,t)=>(Y(),X(`div`,{key:t,class:`queued-item`},[Z(`span`,_C,W(t+1),1),Z(`span`,vC,W(e),1),Z(`button`,{class:`queued-act`,title:`修改(填回输入框编辑)`,onClick:e=>K(n)(t)},[ls(Xv,{icon:K(r).queuedEdit},null,8,[`icon`])],8,yC),Z(`button`,{class:`queued-act queued-del`,title:`撤销该任务`,onClick:e=>K(a)(t)},`✕`,8,bC)]))),128))])):Q(``,!0)}}),[[`__scopeId`,`data-v-6682e730`]]),SC={key:0,class:`approval-bar`},CC={key:0,class:`approval-question`},wC={key:1,class:`approval-context`},TC={key:2,class:`approval-recommend`},EC={key:3,class:`approval-options`},DC=[`onClick`],OC={class:`approval-actions`},kC={class:`approval-head`},AC={class:`approval-title`},jC={key:0,class:`approval-args`},MC={class:`approval-actions`},NC=Yv(Mi({__name:`ApprovalBar`,setup(e){let t=v_(),{pendingApproval:n,resolveApproval:r}=t.chat,i=bn(!1);$r(n,()=>{i.value=!1});let a=Ys(()=>n.value?.toolName===`request_human_confirmation`),o=Ys(()=>{let e=n.value?.args?.options;return Array.isArray(e)?e.map(String):[]}),s=Ys(()=>{let e=n.value?.args;if(e==null)return``;try{let t=typeof e==`string`?e:JSON.stringify(e,null,2);return t.length>400?t.slice(0,400)+`
|
|
282
|
+
…(已截断)`:t}catch{return String(e)}});return(e,c)=>K(n)?(Y(),X(`div`,SC,[a.value?(Y(),X(J,{key:0},[c[5]||=Z(`div`,{class:`approval-head`},[Z(`span`,{class:`approval-icon`},`❓`),Z(`span`,{class:`approval-title`},`AI 需要你确认`)],-1),K(n).args?.question?(Y(),X(`div`,CC,W(K(n).args.question),1)):Q(``,!0),K(n).args?.context?(Y(),X(`div`,wC,W(K(n).args.context),1)):Q(``,!0),K(n).args?.recommendation?(Y(),X(`div`,TC,[ls(Xv,{icon:K(t).icons.recommend},null,8,[`icon`]),ms(` 推荐:`+W(K(n).args.recommendation),1)])):Q(``,!0),o.value.length?(Y(),X(`div`,EC,[(Y(!0),X(J,null,ia(o.value,e=>(Y(),X(`button`,{key:e,class:`approval-opt`,onClick:t=>K(r)(e)},W(e),9,DC))),128))])):Q(``,!0),Z(`div`,OC,[Z(`button`,{class:`approval-deny`,onClick:c[0]||=e=>K(r)(!1)},`拒绝`),o.value.length?Q(``,!0):(Y(),X(`button`,{key:0,class:`approval-allow`,onClick:c[1]||=e=>K(r)(!0)},`允许`))])],64)):(Y(),X(J,{key:1},[Z(`div`,kC,[c[7]||=Z(`span`,{class:`approval-icon`},`✋`,-1),Z(`span`,AC,[c[6]||=ms(`需确认工具调用:`,-1),Z(`code`,null,W(K(n).toolName),1)]),s.value?(Y(),X(`button`,{key:0,class:`approval-toggle`,onClick:c[2]||=e=>i.value=!i.value},W(i.value?`收起参数`:`查看参数`)+W(i.value?` ▴`:` ▾`),1)):Q(``,!0)]),s.value&&i.value?(Y(),X(`pre`,jC,W(s.value),1)):Q(``,!0),Z(`div`,MC,[Z(`button`,{class:`approval-deny`,onClick:c[3]||=e=>K(r)(!1)},`拒绝`),Z(`button`,{class:`approval-allow`,onClick:c[4]||=e=>K(r)(!0)},`允许`)])],64))])):Q(``,!0)}}),[[`__scopeId`,`data-v-f5342fe5`]]),PC={key:0,class:`conflict-bar`},FC={class:`conflict-head`},IC={class:`conflict-icon`},LC={class:`conflict-title`},RC={class:`conflict-detail`},zC={key:0,class:`conflict-diff`},BC={class:`conflict-diff-col`},VC={class:`conflict-diff-pre`},HC={class:`conflict-diff-col`},UC={class:`conflict-diff-pre`},WC={class:`conflict-actions`},GC=Yv(Mi({__name:`ConflictBar`,props:{pendingConflict:{},onResolve:{},icons:{default:()=>({...m_})}},setup(e){let t=e,n=bn(!1);$r(()=>t.pendingConflict,()=>{n.value=!1});let r=Ys(()=>{let e=t.pendingConflict?.agentValue;if(e===void 0)return``;try{let t=JSON.stringify(e,null,2);return t.length>400?t.slice(0,400)+`
|
|
283
283
|
…(已截断)`:t}catch{return String(e)}}),i=Ys(()=>{let e=t.pendingConflict?.currentValue;if(e==null)return``;try{let t=JSON.stringify(e,null,2);return t.length>400?t.slice(0,400)+`
|
|
284
|
-
…(已截断)`:t}catch{return String(e)}});return(t,a)=>e.pendingConflict?(Y(),X(`div`,OC,[Z(`div`,kC,[Z(`span`,AC,W(e.icons.conflict),1),Z(`span`,jC,[a[4]||=ms(`写入冲突:`,-1),Z(`code`,null,W(e.pendingConflict.path),1),a[5]||=ms(` 已被外部修改`,-1)])]),Z(`div`,MC,` AI 基于「读取时的旧值」准备`+W(e.pendingConflict.op===`delete`?`删除`:`写入`)+`,但该属性在你读取之后被外部代码/其他 agent/手动改过。 `,1),Z(`button`,{class:`conflict-toggle`,onClick:a[0]||=e=>n.value=!n.value},W(n.value?`收起对比`:`查看值对比`)+W(n.value?` ▴`:` ▾`),1),n.value?(Y(),X(`div`,NC,[Z(`div`,PC,[a[6]||=Z(`div`,{class:`conflict-diff-label`},`AI 想写的值`,-1),Z(`pre`,FC,W(r.value||`(delete 操作无值)`),1)]),Z(`div`,IC,[a[7]||=Z(`div`,{class:`conflict-diff-label`},`外部改后的当前值`,-1),Z(`pre`,LC,W(i.value),1)])])):Q(``,!0),Z(`div`,RC,[Z(`button`,{class:`conflict-keep`,onClick:a[1]||=t=>e.onResolve?.(`keep_external`),title:`不写入,保留外部修改后的值,AI 重新读取再改`},`保留外部`),Z(`button`,{class:`conflict-overwrite`,onClick:a[2]||=t=>e.onResolve?.(`overwrite`),title:`用 AI 的值覆盖外部修改`},`强制覆盖`),Z(`button`,{class:`conflict-restore`,onClick:a[3]||=t=>e.onResolve?.(`restore`),title:`回退到最近一次历史快照(agent 之前操作的检查点),撤销外部修改 + AI 不写入`},`回退`)])])):Q(``,!0)}}),[[`__scopeId`,`data-v-71f89be4`]]),BC={class:`chat-footer`},VC={class:`chat-input-wrap`},HC={key:0,class:`focus-chips`},UC=[`title`,`onClick`],WC={class:`focus-chip-icon`},GC={class:`focus-chip-path`},KC=[`onClick`],qC=[`placeholder`,`rows`],JC={class:`input-actions`},YC=[`disabled`,`title`],XC={key:0,width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`currentColor`},ZC={key:1,width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},QC=M_(Mi({__name:`ChatInput`,props:{placeholder:{},inputRows:{}},setup(e){let t=v_(),{inputText:n,send:r,keydown:i,canUndo:a,undo:o,focuses:s,removeFocus:c,focusChipClick:l,icons:u}=t,{state:d,stop:f}=t.chat;return(t,p)=>(Y(),X(`div`,BC,[K(a)?(Y(),X(`button`,{key:0,class:`undo-foot-btn`,title:`回退到上次正常状态(还原对话历史 + 页面属性 + 工作区)`,onClick:p[0]||=(...e)=>K(o)&&K(o)(...e)},`↩ 回退`)):Q(``,!0),Z(`div`,VC,[K(s).length?(Y(),X(`div`,HC,[(Y(!0),X(J,null,ia(K(s),e=>(Y(),X(`span`,{key:e.path,class:`focus-chip`,title:`精修中:${e.path}(点击回看 · ✕ 移除)`,onClick:t=>K(l)(e)},[Z(`span`,WC,W(K(u).focus),1),Z(`code`,GC,W(e.path),1),Z(`button`,{type:`button`,class:`focus-chip-x`,"data-test":`focus-clear`,title:`移除此焦点`,onClick:gl(t=>K(c)(e.path),[`stop`])},`✕`,8,KC)],8,UC))),128))])):Q(``,!0),qr(Z(`textarea`,{"onUpdate:modelValue":p[1]||=e=>yn(n)?n.value=e:null,class:U([`chat-input`,{"has-focus-chip":K(s).length>0}]),placeholder:e.placeholder,rows:e.inputRows,onKeydown:p[2]||=(...e)=>K(i)&&K(i)(...e)},null,42,qC),[[pl,K(n)]]),Z(`div`,JC,[p[6]||=Z(`span`,{class:`send-hint`},`Enter 发送 · Shift+Enter 换行`,-1),Z(`button`,{class:U([`send-btn`,{"stop-btn":K(d).loading}]),disabled:!K(d).loading&&!K(n).trim(),title:K(d).loading?`停止生成`:`发送`,onClick:p[3]||=e=>K(d).loading?K(f)():K(r)()},[K(d).loading?(Y(),X(`svg`,XC,[...p[4]||=[Z(`rect`,{x:`6`,y:`6`,width:`12`,height:`12`,rx:`2`},null,-1)]])):(Y(),X(`svg`,ZC,[...p[5]||=[Z(`line`,{x1:`22`,y1:`2`,x2:`11`,y2:`13`},null,-1),Z(`polygon`,{points:`22 2 15 22 11 13 2 9 22 2`},null,-1)]]))],10,YC)])])]))}}),[[`__scopeId`,`data-v-2f56980e`]]),$C={key:0,class:`debug-drawer`},ew={class:`drawer-header`},tw={class:`tab-group`},nw={class:`header-actions`},rw={key:0,class:`drawer-filters`},iw=[`onClick`],aw={class:`chip-count`},ow={class:`chip-count`},sw={class:`drawer-body`},cw={key:0,class:`trace-panel`},lw={key:0,class:`trace-empty`},uw={class:`trace-metrics`},dw={class:`metric-card`},fw={class:`metric-card`},pw={class:`metric-card`},mw={class:`metric-card`},hw={key:0,class:`metric-card`},gw={key:1,class:`metric-card`},_w={class:`trace-spans`},vw={class:`span-ico`},yw={class:`span-name`},bw={key:0,class:`span-dur`},xw={key:1,class:`span-status`},Sw={key:1,class:`context-panel`},Cw={key:0,class:`trace-empty`},ww={class:`ctx-overview`},Tw={class:`ctx-occupancy`},Ew=[`title`],Dw={class:`ctx-pct`},Ow={class:`ctx-kv-row`},kw={class:`ctx-kv`},Aw={key:0,class:`ctx-kv`},jw={key:1,class:`ctx-kv`},Mw=[`title`],Nw={class:`ctx-cat-bar`},Pw={class:`ctx-cat-tokens`},Fw={key:0,class:`ctx-compression`},Iw={class:`ctx-kv-row`},Lw={class:`ctx-kv`},Rw={class:`ctx-kv`},zw={class:`ctx-kv`},Bw={key:0,class:`ctx-kv`},Vw={key:2,class:`subagent-panel`},Hw={key:0,class:`sub-section`},Uw={class:`sub-section-title`},Ww={key:1,class:`trace-empty`},Gw={key:0,class:`sub-section`},Kw={class:`sub-section-title`},qw={class:`sub-head`},Jw={class:`sub-label`},Yw={class:`sub-steps-badge`},Xw={class:`sub-task`},Zw={key:1,class:`sub-section`},Qw={class:`sub-section-title`},$w={class:`sub-head`},eT={class:`sub-label`},tT={key:0,class:`sub-dur`},nT=[`onClick`],rT={class:`sub-task`},iT={key:0,class:`sub-result`},aT={key:1,class:`sub-steps-list`},oT={class:`sub-step-kind`},sT={class:`sub-step-name`},cT={class:`sub-step-ts`},lT={key:0,class:`empty`},uT={class:`log-head`},dT={key:0,class:`log-source`},fT={class:`log-time`},pT={class:`log-body`},mT={class:`kv-grid`},hT={class:`kv`},gT={class:`v`},_T={class:`kv`},vT={class:`v`},yT={class:`kv`},bT={class:`v`},xT={class:`kv`},ST={class:`v`},CT={class:`section-label`},wT={class:`chip-row`},TT={class:`msg-list`},ET={class:`msg-text`},DT={class:`badge-row`},OT={class:`badge`},kT={key:0,class:`badge muted`},AT={class:`badge muted`},jT={key:1,class:`badge muted`},MT=[`onClick`],NT={key:0,class:`msg-list`},PT={class:`msg-detail`},FT={key:0,class:`msg-text`},IT={class:`tc-inline-name`},LT={class:`tc-inline-args`},RT={key:1,class:`tc-id`},zT={key:1,class:`log-raw`},BT={class:`badge-row`},VT={class:`badge`},HT={key:0,class:`badge warn`},UT={key:0,class:`resp-content`},WT={key:1,class:`tc-list`},GT={class:`tc-name`},KT={class:`tc-args`},qT={key:2,class:`usage-row`},JT={class:`usage`},YT={class:`usage`},XT={class:`usage`},ZT={key:3,class:`tc-card inline`},QT={class:`tc-name`},$T={class:`tc-args`},eE={key:4,class:`tc-card inline`},tE={class:`tc-name`},nE={class:`tc-args`},rE={key:5,class:`err-box`},iE={class:`log-footer`},aE=[`onClick`],oE=[`onClick`],sE={key:0,class:`log-raw`},cE={key:0,class:`empty`},lE={key:1,class:`flow-section`},uE={class:`flow-ico`},dE={class:`flow-label`},fE={class:`flow-detail`},pE={class:`flow-time`},mE={class:`flow-round-head`},hE={class:`flow-round-body`},gE={class:`flow-ico`},_E={class:`flow-label`},vE={class:`flow-detail`},yE={class:`flow-time`},bE={key:5,class:`info-body`},xE={key:0,class:`empty`},SE={class:`info-section`},CE={class:`kv-grid`},wE={class:`kv`},TE={class:`v`},EE={class:`kv`},DE={class:`v`},OE={class:`kv`},kE={class:`v`},AE={class:`kv`},jE={class:`v`},ME={class:`kv`,style:{"margin-top":`6px`}},NE={class:`v`,style:{"font-size":`11px`}},PE={class:`info-section`},FE={class:`info-title`},IE={class:`info-name`},LE={class:`info-desc`},RE={key:0,class:`info-section`},zE={class:`info-title`},BE=[`onClick`],VE={class:`info-desc`},HE={key:0,class:`skill-content`},UE={key:0,class:`skill-loading`},WE={key:1,class:`skill-error`},GE={key:2,class:`skill-pre`},KE={key:1,class:`info-section`},qE={class:`info-item`},JE={class:`info-name`},YE={class:`info-desc`},XE={class:`info-section`},ZE={class:`kv-grid`},QE={class:`kv`},$E={class:`v`},eD={class:`kv`},tD={class:`v`},nD={class:`kv`},rD={class:`v`},iD={class:`kv`},aD={class:`v`,style:{"font-size":`11px`}},oD={key:2,class:`info-section`},sD={class:`info-title`},cD={class:`info-name`},lD={class:`src-tag mcp`},uD={class:`info-desc`},dD={key:3,class:`info-section`},fD={class:`kv-grid`},pD={class:`kv`},mD={class:`v`},hD={class:`kv`},gD={class:`v`},_D={class:`kv`},vD={class:`v`},yD={key:0,class:`kv`},bD={class:`v`,style:{"font-size":`11px`}},xD={key:4,class:`info-section`},SD={class:`info-title`},CD={key:5,class:`info-section`},wD={class:`info-pre`},TD={key:6,class:`info-section`},ED={class:`info-kv`},DD={class:`kv`},OD={class:`v`},kD={class:`kv`},AD={class:`v`},jD={class:`kv`},MD={class:`v`},ND={class:`kv`},PD={class:`v`},FD={class:`kv`},ID={class:`v`,style:{"font-size":`11px`}},LD={key:0,class:`kv`},RD={class:`v`,style:{"font-size":`11px`}},zD=M_(Mi({__name:`DebugDrawer`,props:{logs:{default:()=>[]},visible:{type:Boolean},getInfo:{},infoTick:{},getSkillContent:{},csTheme:{}},emits:[`update:visible`,`clear`],setup(e,{emit:t}){let n=e,r=t,i=bn(`all`),a=bn(new Set),o=bn(new Set),s={context:{label:`上下文`,color:`var(--cs-primary)`,icon:`🧩`},llm_request:{label:`LLM请求`,color:`#059669`,icon:`➡️`},llm_response:{label:`LLM响应`,color:`#d97706`,icon:`⬅️`},tool_call:{label:`工具调用`,color:`#7c3aed`,icon:`🔧`},tool_result:{label:`工具结果`,color:`#2563eb`,icon:`✅`},error:{label:`错误`,color:`#dc2626`,icon:`❌`},middleware:{label:`中间件`,color:`#0891b2`,icon:`⚙️`}},c=Ys(()=>Array.isArray(n.logs)?n.logs:[]),l=Ys(()=>i.value===`all`?c.value:c.value.filter(e=>e.type===i.value)),u=Ys(()=>{let e={all:c.value.length};for(let t of c.value)e[t.type]=(e[t.type]||0)+1;return e});function d(e){return new Date(e).toLocaleTimeString(`zh-CN`,{hour12:!1})+`.`+String(e%1e3).padStart(3,`0`)}function f(e){let t=new Set(a.value);t.has(e)?t.delete(e):t.add(e),a.value=t}function p(e){let t=new Set(o.value);t.has(e)?t.delete(e):t.add(e),o.value=t}function m(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}}let h={system:{label:`SYSTEM`,color:`#6b7280`},human:{label:`USER`,color:`var(--cs-primary)`},user:{label:`USER`,color:`var(--cs-primary)`},ai:{label:`AI`,color:`#059669`},assistant:{label:`AI`,color:`#059669`},tool:{label:`TOOL`,color:`#2563eb`}};function g(e){return h[e]||{label:(e||`?`).toUpperCase(),color:`#9ca3af`}}function _(){r(`update:visible`,!1)}function v(){a.value=new Set,r(`clear`)}let y=bn(`logs`),b=bn(null),x=bn({});async function S(e){if(x.value[e]){delete x.value[e],x.value={...x.value};return}if(!n.getSkillContent){x.value={...x.value,[e]:{loading:!1,content:null,error:`当前 SDK 未注入 getSkillContent,无法查看 skill 全文`}};return}x.value={...x.value,[e]:{loading:!0,content:null}};try{let t=await n.getSkillContent(e);x.value={...x.value,[e]:{loading:!1,content:t,error:t==null?`skill 无内容或读取失败`:void 0}}}catch(t){x.value={...x.value,[e]:{loading:!1,content:null,error:String(t?.message||t)}}}}function C(){if(n.getInfo)try{b.value=n.getInfo()}catch{b.value=null}}function w(e){y.value=e,(e===`subagent`||e===`info`||e===`context`)&&C()}$r(()=>n.infoTick?.value,()=>{n.visible&&(y.value===`subagent`||y.value===`info`||y.value===`context`)&&C()});let T={pending:{label:`待办`,color:`#9ca3af`},in_progress:{label:`进行中`,color:`#d97706`},completed:{label:`完成`,color:`#059669`}};function E(e){return T[e]?.label??e}function D(e){return e?e===`builtin`?`builtin`:e.startsWith(`mcp:`)?`mcp`:`user`:``}let O=Ys(()=>{let e=new Map,t=[];for(let n of c.value){let r=n.data?.round;typeof r==`number`&&r>0?(e.has(r)||e.set(r,[]),e.get(r).push(n)):t.push(n)}return{pre:t,rounds:[...e.entries()].sort((e,t)=>e[0]-t[0]).map(([e,t])=>({round:e,items:t}))}});function k(e,t){return e.length>t?e.slice(0,t)+`…`:e}function A(e){if(e>=1e3){let t=e/1e3;return t>=10?`${Math.round(t)}s`:`${t.toFixed(1)}s`}return`${e}ms`}let ee=Ys(()=>b.value?.trace?.spans??[]),j=Ys(()=>b.value?.trace?.metrics),M=Ys(()=>b.value?.context),N=Ys(()=>{let e=M.value;return e?e.occupancy>=1?`red`:e.thresholdRatio>0&&e.occupancy>=e.thresholdRatio?`yellow`:`green`:``}),te=Ys(()=>b.value?.subagent?.active??[]),P=Ys(()=>b.value?.subagent?.history??[]),F=Ys(()=>Object.entries(b.value?.subagent?.lockedComponents??{})),I={running:{label:`运行中`,color:`#059669`},done:{label:`完成`,color:`#6b7280`},error:{label:`错误`,color:`#dc2626`}},L=bn(new Set);function ne(e){let t=new Set(L.value);t.has(e)?t.delete(e):t.add(e),L.value=t}function R(e){return e===`round`?`🔄`:e===`model`?`🧠`:e===`tool`?`🔧`:e===`compression`?`📦`:`•`}function z(e){return`${e.windowRatio==null?`keepRounds=${e.keepRounds??`?`}`:`windowRatio=${e.windowRatio}`} · ${e.summarize.mode}摘要 · 召回${e.recallTopK??`?`}${e.reason?` · `+e.reason:``}`}function re(e){let t=e.data||{};switch(e.type){case`context`:return`${t.tools?.length??0} 工具 · ${t.totalMessages??0} 消息`;case`llm_request`:return`${(t.messages||[]).length} 消息${t.tools?.length?` · `+t.tools.length+` 工具`:``}`;case`llm_response`:return t.toolCalls?.length?`${t.toolCalls.length} 个工具调用`:t.content?k(String(t.content),50):``;case`tool_call`:return String(t.name??``);case`tool_result`:return`${t.name??``} · ${t.status===`error`?`❌`:`✅`}`;case`error`:return k(String(t.error??t.tool??``),60);case`middleware`:return String(t.stage??``);default:return``}}return(t,n)=>(Y(),ns(mi,{to:`body`},[ls(pc,{name:`drawer`},{default:Gr(()=>[e.visible?(Y(),X(`div`,$C,[Z(`div`,{class:U([`drawer-panel`,{"cs-theme-dark":e.csTheme===`dark`}])},[Z(`div`,ew,[Z(`div`,tw,[Z(`button`,{class:U([`tab-btn`,{active:y.value===`logs`}]),onClick:n[0]||=e=>w(`logs`)},`🐛 日志`,2),Z(`button`,{class:U([`tab-btn`,{active:y.value===`flow`}]),onClick:n[1]||=e=>w(`flow`)},`🔀 流程`,2),e.getInfo?(Y(),X(`button`,{key:0,class:U([`tab-btn`,{active:y.value===`trace`}]),onClick:n[2]||=e=>w(`trace`)},`🌳 Trace`,2)):Q(``,!0),e.getInfo?(Y(),X(`button`,{key:1,class:U([`tab-btn`,{active:y.value===`context`}]),onClick:n[3]||=e=>w(`context`)},`📊 上下文`,2)):Q(``,!0),e.getInfo?(Y(),X(`button`,{key:2,class:U([`tab-btn`,{active:y.value===`subagent`}]),onClick:n[4]||=e=>w(`subagent`)},`🤖 子 agent`,2)):Q(``,!0),e.getInfo?(Y(),X(`button`,{key:3,class:U([`tab-btn`,{active:y.value===`info`}]),onClick:n[5]||=e=>w(`info`)},`🧬 Agent 信息`,2)):Q(``,!0)]),Z(`div`,nw,[y.value===`logs`?(Y(),X(`button`,{key:0,class:`hd-btn`,title:`清空日志`,onClick:v},`🗑️`)):Q(``,!0),Z(`button`,{class:`hd-btn`,title:`关闭`,onClick:_},`✕`)])]),y.value===`logs`?(Y(),X(`div`,rw,[(Y(),X(J,null,ia(s,(e,t)=>Z(`button`,{key:t,class:U([`filter-chip`,{active:i.value===t}]),style:we({"--chip-color":e.color}),onClick:e=>i.value=t},[ms(W(e.icon)+` `+W(e.label)+` `,1),Z(`span`,aw,W(u.value[t]||0),1)],14,iw)),64)),Z(`button`,{class:U([`filter-chip all`,{active:i.value===`all`}]),onClick:n[6]||=e=>i.value=`all`},[n[7]||=ms(` 全部 `,-1),Z(`span`,ow,W(u.value.all||0),1)],2)])):Q(``,!0),Z(`div`,sw,[y.value===`trace`?(Y(),X(`div`,cw,[j.value?(Y(),X(J,{key:1},[Z(`div`,uw,[Z(`div`,dw,[n[9]||=Z(`span`,null,`轮次`,-1),Z(`b`,null,W(j.value.rounds),1)]),Z(`div`,fw,[n[10]||=Z(`span`,null,`总耗时`,-1),Z(`b`,null,W(j.value.totalDurationMs)+`ms`,1)]),Z(`div`,pw,[n[11]||=Z(`span`,null,`平均/轮`,-1),Z(`b`,null,W(j.value.avgRoundMs)+`ms`,1)]),Z(`div`,mw,[n[12]||=Z(`span`,null,`工具`,-1),Z(`b`,null,W(j.value.toolCalls)+`(✅`+W(Math.round(j.value.toolSuccessRate*100))+`%)`,1)]),j.value.compressions?(Y(),X(`div`,hw,[n[13]||=Z(`span`,null,`压缩`,-1),Z(`b`,null,W(j.value.compressions),1)])):Q(``,!0),j.value.totalTokens?(Y(),X(`div`,gw,[n[14]||=Z(`span`,null,`Token`,-1),Z(`b`,null,W(j.value.totalTokens.total),1)])):Q(``,!0)]),Z(`div`,_w,[(Y(!0),X(J,null,ia(ee.value,e=>(Y(),X(`div`,{key:e.id,class:U([`trace-span`,[e.type,e.status]])},[Z(`span`,vw,W(R(e.type)),1),Z(`span`,yw,W(e.name),1),e.durationMs?(Y(),X(`span`,bw,W(A(e.durationMs)),1)):Q(``,!0),e.status===`error`?(Y(),X(`span`,xw,`❌`)):Q(``,!0)],2))),128))])],64)):(Y(),X(`div`,lw,[...n[8]||=[ms(`未开启 tracing(`,-1),Z(`code`,null,`capabilities.tracing:true`,-1),ms(`)或暂无 trace。跑一轮 agent 后刷新。`,-1)]]))])):Q(``,!0),y.value===`context`?(Y(),X(`div`,Sw,[M.value?(Y(),X(J,{key:1},[Z(`div`,ww,[Z(`div`,Tw,[Z(`div`,{class:`ctx-bar-track`,title:`占用 ${Math.round(M.value.occupancy*100)}%`},[Z(`div`,{class:U([`ctx-bar-fill`,N.value]),style:we({width:Math.min(M.value.occupancy*100,100)+`%`})},null,6),M.value.thresholdRatio>0?(Y(),X(`div`,{key:0,class:`ctx-threshold-mark`,style:we({left:Math.min(M.value.thresholdRatio*100,100)+`%`}),title:`压缩阈值`},null,4)):Q(``,!0)],8,Ew),Z(`span`,Dw,W(Math.round(M.value.occupancy*100))+`%`,1)]),Z(`div`,Ow,[Z(`span`,kw,`估算 `+W(M.value.totalTokens)+` token`,1),M.value.contextWindow?(Y(),X(`span`,Aw,`窗口 `+W(M.value.contextWindow),1)):Q(``,!0),M.value.thresholdRatio>0?(Y(),X(`span`,jw,`阈值 `+W(Math.round(M.value.thresholdRatio*100))+`%`,1)):Q(``,!0)])]),n[16]||=Z(`div`,{class:`ctx-section-title`},`分类构成(近似)`,-1),(Y(!0),X(J,null,ia(M.value.categories,e=>(Y(),X(`div`,{key:e.key,class:`ctx-cat`},[Z(`span`,{class:`ctx-cat-label`,title:e.label},W(e.label),9,Mw),Z(`div`,Nw,[Z(`div`,{class:`ctx-cat-fill`,style:we({width:Math.max(Math.round(e.pct*100),2)+`%`})},null,4)]),Z(`span`,Pw,[ms(W(e.tokens)+` `,1),Z(`i`,null,`(`+W(Math.round(e.pct*100))+`%)`,1)])]))),128)),M.value.compression?(Y(),X(`div`,Fw,[n[15]||=Z(`div`,{class:`ctx-section-title`},`最近压缩`,-1),Z(`div`,Iw,[Z(`span`,Lw,`摘要 `+W(M.value.compression.roundsSummarized)+`/`+W(M.value.compression.roundsTotal)+` 轮`,1),Z(`span`,Rw,`召回 `+W(M.value.compression.roundsRecalled),1),Z(`span`,zw,W(M.value.compression.strategy),1),M.value.compression.decision?(Y(),X(`span`,Bw,`🤖 agent 决策:`+W(z(M.value.compression.decision)),1)):Q(``,!0)])])):Q(``,!0)],64)):(Y(),X(`div`,Cw,`未开启 contextInspector(默认开)或暂无快照。跑一轮 agent 后切回刷新。`))])):Q(``,!0),y.value===`subagent`?(Y(),X(`div`,Vw,[F.value.length?(Y(),X(`div`,Hw,[Z(`div`,Uw,`🔒 组件锁 (`+W(F.value.length)+`)`,1),(Y(!0),X(J,null,ia(F.value,([e,t])=>(Y(),X(`div`,{key:`lock-`+e,class:`sub-task`},`🔒 `+W(e)+` ← `+W(t),1))),128))])):Q(``,!0),!te.value.length&&!P.value.length?(Y(),X(`div`,Ww,[...n[17]||=[ms(` 尚未委派子 agent。主 agent 调用 `,-1),Z(`code`,null,`use_<id>`,-1),ms(` 或 `,-1),Z(`code`,null,`spawn_agent`,-1),ms(` 后,这里展示运行状态与委派历史。 `,-1)]])):(Y(),X(J,{key:2},[te.value.length?(Y(),X(`div`,Gw,[Z(`div`,Kw,`▶ 运行中 (`+W(te.value.length)+`)`,1),(Y(!0),X(J,null,ia(te.value,(e,t)=>(Y(),X(`div`,{key:`a`+t,class:U([`sub-card`,e.status])},[Z(`div`,qw,[Z(`span`,{class:`sub-status`,style:we({background:I[e.status]&&I[e.status].color||`#9ca3af`})},W(I[e.status]&&I[e.status].label||e.status),5),Z(`span`,Jw,W(e.label),1),Z(`span`,Yw,W(e.steps.length)+` 步`,1)]),Z(`div`,Xw,W(k(e.task,80)),1)],2))),128))])):Q(``,!0),P.value.length?(Y(),X(`div`,Zw,[Z(`div`,Qw,`🕐 历史 (`+W(P.value.length)+`)`,1),(Y(!0),X(J,null,ia(P.value,(e,t)=>(Y(),X(`div`,{key:`h`+t,class:U([`sub-card`,e.status])},[Z(`div`,$w,[Z(`span`,{class:`sub-status`,style:we({background:I[e.status]&&I[e.status].color||`#9ca3af`})},W(I[e.status]&&I[e.status].label||e.status),5),Z(`span`,eT,W(e.label),1),e.durationMs==null?Q(``,!0):(Y(),X(`span`,tT,W(A(e.durationMs)),1)),e.steps.length?(Y(),X(`button`,{key:1,class:`sub-toggle`,onClick:e=>ne(t)},W(L.value.has(t)?`收起`:`步骤`),9,nT)):Q(``,!0)]),Z(`div`,rT,W(k(e.task,80)),1),e.resultPreview?(Y(),X(`div`,iT,W(e.resultPreview),1)):Q(``,!0),L.value.has(t)&&e.steps.length?(Y(),X(`div`,aT,[(Y(!0),X(J,null,ia(e.steps,(e,t)=>(Y(),X(`div`,{key:t,class:`sub-step`},[Z(`span`,oT,W(e.kind===`tool_call`?`🔧`:`✅`),1),Z(`span`,sT,W(e.name),1),Z(`span`,cT,W(d(e.ts)),1)]))),128))])):Q(``,!0)],2))),128))])):Q(``,!0)],64))])):Q(``,!0),y.value===`logs`?(Y(),X(J,{key:3},[l.value.length===0?(Y(),X(`div`,lT,` 暂无日志,发送消息后这里会显示 Agent 的完整上下文、工具调用等信息 `)):Q(``,!0),(Y(!0),X(J,null,ia(l.value,(e,t)=>(Y(),X(`div`,{key:t,class:`log-item`},[Z(`div`,uT,[Z(`span`,{class:`log-type`,style:we({background:s[e.type].color})},W(s[e.type].icon)+` `+W(s[e.type].label),5),e.source?(Y(),X(`span`,dT,`↳ `+W(e.source),1)):Q(``,!0),Z(`span`,fT,W(d(e.timestamp)),1)]),Z(`div`,pT,[e.type===`context`?(Y(),X(J,{key:0},[Z(`div`,mT,[Z(`div`,hT,[n[18]||=Z(`span`,{class:`k`},`模型`,-1),Z(`span`,gT,W(e.data.model),1)]),Z(`div`,_T,[n[19]||=Z(`span`,{class:`k`},`温度`,-1),Z(`span`,vT,W(e.data.temperature),1)]),Z(`div`,yT,[n[20]||=Z(`span`,{class:`k`},`MaxTokens`,-1),Z(`span`,bT,W(e.data.maxTokens),1)]),Z(`div`,xT,[n[21]||=Z(`span`,{class:`k`},`消息数`,-1),Z(`span`,ST,W(e.data.totalMessages),1)])]),Z(`div`,CT,`工具 (`+W(e.data.tools?.length||0)+`)`,1),Z(`div`,wT,[(Y(!0),X(J,null,ia(e.data.tools,e=>(Y(),X(`span`,{key:e,class:`tool-chip`},W(e),1))),128))]),n[22]||=Z(`div`,{class:`section-label`},`上下文消息`,-1),Z(`div`,TT,[(Y(!0),X(J,null,ia(e.data.messages,(e,t)=>(Y(),X(`div`,{key:t,class:`msg-row`},[Z(`span`,{class:`msg-role`,style:we({background:g(e.type).color})},W(g(e.type).label),5),Z(`span`,ET,W(e.content),1)]))),128))])],64)):e.type===`llm_request`?(Y(),X(J,{key:1},[Z(`div`,DT,[Z(`span`,OT,`第 `+W(e.data.round)+` 轮`,1),e.data.model?(Y(),X(`span`,kT,W(e.data.model),1)):Q(``,!0),Z(`span`,AT,W((e.data.messages||[]).length)+` 条消息`,1),e.data.tools?.length?(Y(),X(`span`,jT,W(e.data.tools.length)+` 工具`,1)):Q(``,!0),Z(`button`,{class:`view-toggle`,onClick:e=>p(t)},W(o.value.has(t)?`🗂 卡片视图`:`📋 请求体`),9,MT)]),o.value.has(t)?(Y(),X(`pre`,zT,[Z(`code`,null,W(m(e.data.messages)),1)])):(Y(),X(`div`,NT,[(Y(!0),X(J,null,ia(e.data.messages,(e,t)=>(Y(),X(`div`,{key:t,class:`msg-row`},[Z(`span`,{class:`msg-role`,style:we({background:g(e.role).color})},W(g(e.role).label),5),Z(`div`,PT,[e.content?(Y(),X(`span`,FT,W(e.content),1)):Q(``,!0),(Y(!0),X(J,null,ia(e.tool_calls||[],(e,t)=>(Y(),X(`div`,{key:t,class:`tc-inline`},[Z(`span`,IT,`🔧 `+W(e.function?.name||e.name),1),Z(`code`,LT,W(e.function?.arguments??e.args),1)]))),128)),e.tool_call_id?(Y(),X(`span`,RT,`↳ tool_call_id: `+W(e.tool_call_id),1)):Q(``,!0)])]))),128))]))],64)):e.type===`llm_response`?(Y(),X(J,{key:2},[Z(`div`,BT,[Z(`span`,VT,`第 `+W(e.data.round)+` 轮`,1),e.data.toolCalls?.length?(Y(),X(`span`,HT,`🔧 `+W(e.data.toolCalls.length)+` 个工具调用`,1)):Q(``,!0)]),e.data.content?(Y(),X(`div`,UT,W(e.data.content),1)):Q(``,!0),e.data.toolCalls?.length?(Y(),X(`div`,WT,[(Y(!0),X(J,null,ia(e.data.toolCalls,(e,t)=>(Y(),X(`div`,{key:t,class:`tc-card`},[Z(`div`,GT,`🔧 `+W(e.name),1),Z(`pre`,KT,W(m(e.args)),1)]))),128))])):Q(``,!0),e.data.usage?(Y(),X(`div`,qT,[Z(`span`,JT,`prompt: `+W(e.data.usage.prompt_tokens??`-`),1),Z(`span`,YT,`completion: `+W(e.data.usage.completion_tokens??`-`),1),Z(`span`,XT,`total: `+W(e.data.usage.total_tokens??`-`),1)])):Q(``,!0)],64)):e.type===`tool_call`?(Y(),X(`div`,ZT,[Z(`div`,QT,`🔧 `+W(e.data.name),1),Z(`pre`,$T,W(m(e.data.args)),1)])):e.type===`tool_result`?(Y(),X(`div`,eE,[Z(`div`,tE,`✅ `+W(e.data.name)+` 结果`,1),Z(`pre`,nE,W(e.data.result),1)])):e.type===`error`?(Y(),X(`div`,rE,W(e.data.tool?`[${e.data.tool}] `:``)+W(e.data.error),1)):Q(``,!0)]),Z(`div`,iE,[Z(`button`,{class:`raw-toggle`,onClick:e=>f(t)},W(a.value.has(t)?`收起原始 JSON`:`查看原始 JSON`),9,aE),Z(`button`,{class:`raw-toggle`,onClick:t=>K(p_)(m(e.data))},`复制`,8,oE)]),a.value.has(t)?(Y(),X(`pre`,sE,[Z(`code`,null,W(m(e.data)),1)])):Q(``,!0)]))),128))],64)):y.value===`flow`?(Y(),X(J,{key:4},[c.value.length?Q(``,!0):(Y(),X(`div`,cE,`暂无日志,发送消息后这里按轮次展示执行流程`)),O.value.pre.length?(Y(),X(`div`,lE,[n[23]||=Z(`div`,{class:`flow-section-title`},`⚙️ 准备 / 其他`,-1),(Y(!0),X(J,null,ia(O.value.pre,(e,t)=>(Y(),X(`div`,{key:`p`+t,class:U([`flow-node`,e.type])},[Z(`span`,uE,W(s[e.type]?.icon),1),Z(`span`,dE,W(s[e.type]?.label),1),Z(`span`,fE,W(re(e)),1),Z(`span`,pE,W(d(e.timestamp)),1)],2))),128))])):Q(``,!0),(Y(!0),X(J,null,ia(O.value.rounds,e=>(Y(),X(`div`,{key:e.round,class:`flow-round`},[Z(`div`,mE,`🔁 第 `+W(e.round)+` 轮`,1),Z(`div`,hE,[(Y(!0),X(J,null,ia(e.items,(e,t)=>(Y(),X(`div`,{key:t,class:U([`flow-node`,e.type])},[Z(`span`,gE,W(s[e.type]?.icon),1),Z(`span`,_E,W(s[e.type]?.label),1),Z(`span`,vE,W(re(e)),1),Z(`span`,yE,W(d(e.timestamp)),1)],2))),128))])]))),128))],64)):(Y(),X(`div`,bE,[b.value?(Y(),X(J,{key:1},[Z(`div`,SE,[n[29]||=Z(`div`,{class:`info-title`},`基本信息`,-1),Z(`div`,CE,[Z(`div`,wE,[n[24]||=Z(`span`,{class:`k`},`ID`,-1),Z(`span`,TE,W(b.value.id),1)]),Z(`div`,EE,[n[25]||=Z(`span`,{class:`k`},`模型`,-1),Z(`span`,DE,W(b.value.model||`-`),1)]),Z(`div`,OE,[n[26]||=Z(`span`,{class:`k`},`工具数`,-1),Z(`span`,kE,W(b.value.tools.length),1)]),Z(`div`,AE,[n[27]||=Z(`span`,{class:`k`},`中间件`,-1),Z(`span`,jE,W(b.value.middleware.length),1)])]),Z(`div`,ME,[n[28]||=Z(`span`,{class:`k`},`中间件栈`,-1),Z(`span`,NE,W(b.value.middleware.join(` → `)||`-`),1)])]),Z(`div`,PE,[Z(`div`,FE,`🔧 工具 (`+W(b.value.tools.length)+`)`,1),(Y(!0),X(J,null,ia(b.value.tools,e=>(Y(),X(`div`,{key:e.name,class:`info-item`},[Z(`div`,IE,[ms(W(e.name),1),e.source?(Y(),X(`span`,{key:0,class:U([`src-tag`,D(e.source)])},W(e.source),3)):Q(``,!0)]),Z(`div`,LE,W(e.description),1)]))),128))]),b.value.skills.length?(Y(),X(`div`,RE,[Z(`div`,zE,[ms(`📘 技能 (`+W(b.value.skills.length)+`)`,1),n[30]||=Z(`span`,{class:`info-hint`},`点击展开查看全文`,-1)]),(Y(!0),X(J,null,ia(b.value.skills,e=>(Y(),X(`div`,{key:e.name,class:`info-item`},[Z(`div`,{class:`info-name skill-toggle`,onClick:t=>S(e.name)},[Z(`span`,{class:U([`skill-arrow`,{open:!!x.value[e.name]}])},`▶`,2),ms(` `+W(e.name),1)],8,BE),Z(`div`,VE,W(e.description),1),x.value[e.name]?(Y(),X(`div`,HE,[x.value[e.name].loading?(Y(),X(`div`,UE,`加载中…`)):x.value[e.name].error?(Y(),X(`div`,WE,W(x.value[e.name].error),1)):x.value[e.name].content?(Y(),X(`pre`,GE,W(x.value[e.name].content),1)):Q(``,!0)])):Q(``,!0)]))),128))])):Q(``,!0),b.value.data?(Y(),X(`div`,KE,[n[31]||=Z(`div`,{class:`info-title`},`📊 可操作数据`,-1),Z(`div`,qE,[Z(`div`,JE,W(b.value.data.description||`主数据对象`),1),Z(`div`,YE,`schema: `+W(b.value.data.schema?`已声明`:`未声明`),1)])])):Q(``,!0),Z(`div`,XE,[n[36]||=Z(`div`,{class:`info-title`},`🧬 子 Agent`,-1),Z(`div`,ZE,[Z(`div`,QE,[n[32]||=Z(`span`,{class:`k`},`启用`,-1),Z(`span`,$E,W(b.value.subagent.enabled?`是`:`否`),1)]),Z(`div`,eD,[n[33]||=Z(`span`,{class:`k`},`最大递归`,-1),Z(`span`,tD,W(b.value.subagent.maxDepth),1)]),Z(`div`,nD,[n[34]||=Z(`span`,{class:`k`},`并行上限`,-1),Z(`span`,rD,W(b.value.subagent.maxParallel),1)]),Z(`div`,iD,[n[35]||=Z(`span`,{class:`k`},`额外工具`,-1),Z(`span`,aD,W(b.value.subagent.allowedTools.length?b.value.subagent.allowedTools.join(`, `):`默认只读`),1)])])]),b.value.mcp?.servers?.length?(Y(),X(`div`,oD,[Z(`div`,sD,`🔌 MCP (`+W(b.value.mcp.servers.length)+`)`,1),(Y(!0),X(J,null,ia(b.value.mcp.servers,e=>(Y(),X(`div`,{key:e.name,class:`info-item`},[Z(`div`,cD,[ms(W(e.name)+` `,1),Z(`span`,lD,W(e.toolCount)+` 工具`,1)]),Z(`div`,uD,W(e.url),1)]))),128))])):Q(``,!0),b.value.verify?(Y(),X(`div`,dD,[n[41]||=Z(`div`,{class:`info-title`},`✅ Verify 自检`,-1),Z(`div`,fD,[Z(`div`,pD,[n[37]||=Z(`span`,{class:`k`},`启用`,-1),Z(`span`,mD,W(b.value.verify.enabled?`是`:`否`),1)]),Z(`div`,hD,[n[38]||=Z(`span`,{class:`k`},`自纠上限`,-1),Z(`span`,gD,W(b.value.verify.maxAttempts),1)]),Z(`div`,_D,[n[39]||=Z(`span`,{class:`k`},`对抗验证`,-1),Z(`span`,vD,W(b.value.verify.adversarial?`开启`:`关闭`),1)]),b.value.verify.adversarial?(Y(),X(`div`,yD,[n[40]||=Z(`span`,{class:`k`},`对抗模型`,-1),Z(`span`,bD,W(b.value.model||`-`)+`(同主)`,1)])):Q(``,!0)])])):Q(``,!0),b.value.todos.length?(Y(),X(`div`,xD,[Z(`div`,SD,`📋 任务清单 (`+W(b.value.todos.length)+`)`,1),(Y(!0),X(J,null,ia(b.value.todos,(e,t)=>(Y(),X(`div`,{key:t,class:`info-todo`},[Z(`span`,{class:`todo-tag`,style:we({background:T[e.status]&&T[e.status].color||`#9ca3af`})},W(E(e.status)),5),Z(`span`,null,W(e.content),1)]))),128))])):Q(``,!0),b.value.memory?(Y(),X(`div`,CD,[n[42]||=Z(`div`,{class:`info-title`},`📝 持久指令 (memory)`,-1),Z(`pre`,wD,W(b.value.memory),1)])):Q(``,!0),b.value.lastCompression?(Y(),X(`div`,TD,[n[49]||=Z(`div`,{class:`info-title`},`🗜️ 上轮压缩`,-1),Z(`div`,ED,[Z(`div`,DD,[n[43]||=Z(`span`,{class:`k`},`触发`,-1),Z(`span`,OD,W(b.value.lastCompression.triggered?`✓`:`✗(未达阈值)`),1)]),Z(`div`,kD,[n[44]||=Z(`span`,{class:`k`},`摘要轮次`,-1),Z(`span`,AD,W(b.value.lastCompression.roundsSummarized)+` / `+W(b.value.lastCompression.roundsTotal),1)]),Z(`div`,jD,[n[45]||=Z(`span`,{class:`k`},`召回`,-1),Z(`span`,MD,W(b.value.lastCompression.roundsRecalled)+` 条`,1)]),Z(`div`,ND,[n[46]||=Z(`span`,{class:`k`},`消息数`,-1),Z(`span`,PD,W(b.value.lastCompression.originalMessages)+` → `+W(b.value.lastCompression.compressedMessages),1)]),Z(`div`,FD,[n[47]||=Z(`span`,{class:`k`},`策略`,-1),Z(`span`,ID,W(b.value.lastCompression.strategy),1)]),b.value.lastCompression.decision?(Y(),X(`div`,LD,[n[48]||=Z(`span`,{class:`k`},`压缩决策`,-1),Z(`span`,RD,`🤖 `+W(z(b.value.lastCompression.decision)),1)])):Q(``,!0)])])):Q(``,!0)],64)):(Y(),X(`div`,xE,`暂无信息`))]))])],2),Z(`div`,{class:`drawer-mask`,onClick:_})])):Q(``,!0)]),_:1})]))}}),[[`__scopeId`,`data-v-9c201fc3`]]),BD={class:`skill-panel`},VD={class:`skill-header`},HD={class:`skill-section`},UD={class:`section-title`},WD={class:`field`},GD=[`disabled`],KD={class:`field`},qD={class:`field field-textarea`},JD={key:0,class:`skill-error`},YD={class:`skill-section`},XD={class:`section-title`},ZD={key:0,class:`empty-hint`},QD={key:1,class:`skill-list`},$D={class:`skill-actions`},eO=[`onClick`],tO=[`onClick`],nO=M_(Mi({__name:`SkillPanel`,props:{visible:{type:Boolean},onAddSkill:{type:Function},onRemoveSkill:{type:Function},getUserSkillNames:{type:Function},onGetSkill:{type:Function}},emits:[`close`],setup(e,{emit:t}){let n=e,r=t,i=bn(``),a=bn(``),o=bn(``),s=bn(``),c=bn([]),l=bn(0),u=bn(null);$r(()=>n.visible,e=>{e&&d()},{immediate:!0}),$r(l,()=>d());function d(){n.getUserSkillNames&&(c.value=n.getUserSkillNames())}function f(){if(s.value=``,!i.value.trim()){s.value=`skill 名不能为空`;return}if(!a.value.trim()){s.value=`描述不能为空`;return}if(!o.value.trim()){s.value=`内容不能为空`;return}let e=i.value.trim();u.value===null&&c.value.includes(e)&&(s.value=`已存在同名用户 skill "${e}",将覆盖`),n.onAddSkill?.({name:e,description:a.value.trim(),getContent:()=>o.value}),h(),l.value++}function p(e){n.onRemoveSkill&&n.onRemoveSkill(e)&&(u.value===e&&h(),l.value++)}function m(e){if(!n.onGetSkill)return;let t=n.onGetSkill(e);t&&(u.value=e,i.value=t.name,a.value=t.description,o.value=t.content,s.value=``)}function h(){u.value=null,i.value=``,a.value=``,o.value=``,s.value=``}return(t,n)=>(Y(),ns(mi,{to:`body`},[ls(pc,{name:`cs-skill-fade`},{default:Gr(()=>[e.visible?(Y(),X(`div`,{key:0,class:`skill-mask`,onClick:n[4]||=gl(e=>r(`close`),[`self`])},[Z(`div`,BD,[Z(`div`,VD,[n[5]||=Z(`span`,{class:`skill-title`},`🧩 Skill 管理`,-1),Z(`button`,{class:`skill-close`,title:`关闭`,onClick:n[0]||=e=>r(`close`)},`✕`)]),Z(`div`,HD,[Z(`div`,UD,[ms(W(u.value?`编辑 Skill: ${u.value}`:`创建新 Skill`)+` `,1),u.value?(Y(),X(`button`,{key:0,class:`btn btn-ghost btn-cancel`,title:`取消编辑,回到新建`,onClick:h},`取消编辑`)):Q(``,!0)]),Z(`label`,WD,[n[6]||=Z(`span`,{class:`field-label`},`名称`,-1),qr(Z(`input`,{"onUpdate:modelValue":n[1]||=e=>i.value=e,disabled:!!u.value,placeholder:`如:my-writer`,class:`field-input`},null,8,GD),[[pl,i.value]])]),Z(`label`,KD,[n[7]||=Z(`span`,{class:`field-label`},`描述`,-1),qr(Z(`input`,{"onUpdate:modelValue":n[2]||=e=>a.value=e,placeholder:`一句话说明用途与触发时机`,class:`field-input`},null,512),[[pl,a.value]])]),Z(`label`,qD,[n[8]||=Z(`span`,{class:`field-label`},`内容`,-1),qr(Z(`textarea`,{"onUpdate:modelValue":n[3]||=e=>o.value=e,placeholder:`skill 全文指令(支持 Markdown)`,rows:`6`,class:`field-input`},null,512),[[pl,o.value]])]),s.value?(Y(),X(`div`,JD,W(s.value),1)):Q(``,!0),Z(`button`,{class:`btn btn-primary`,onClick:f},W(u.value?`保存修改`:`添加 Skill`),1)]),Z(`div`,YD,[Z(`div`,XD,`已创建 Skill(`+W(c.value.length)+`)`,1),c.value.length?(Y(),X(`ul`,QD,[(Y(!0),X(J,null,ia(c.value,e=>(Y(),X(`li`,{key:e,class:`skill-item`},[Z(`span`,{class:U([`skill-name`,{active:u.value===e}])},W(e),3),Z(`span`,$D,[Z(`button`,{class:`btn btn-ghost btn-edit`,title:`加载到表单编辑`,onClick:t=>m(e)},`编辑`,8,eO),Z(`button`,{class:`btn btn-ghost btn-del`,title:`删除该用户 skill`,onClick:t=>p(e)},`删除`,8,tO)])]))),128))])):(Y(),X(`div`,ZD,`暂无用户创建的 skill`))]),n[9]||=Z(`div`,{class:`skill-hint`},[ms(` 💡 创建/编辑的 skill 会自动加入 agent(下轮 system prompt 索引可见),agent 经 `),Z(`code`,null,`load_skill(name)`),ms(` 按需加载全文; 持久化由独立 SkillStore 管理(默认 indexedDB,与 storage 选项分离),跨刷新自动恢复;可经 `),Z(`code`,null,`skillStorage.id`),ms(` 跨页面复用。 `)],-1)])])):Q(``,!0)]),_:1})]))}}),[[`__scopeId`,`data-v-c6a22ea5`]]),rO=M_(Mi({__name:`ChatDialog`,props:{fetchResponse:{},fetchStream:{},title:{default:`AI 助手`},placeholder:{default:`输入消息,Enter 发送...`},debugLogs:{},initialMessages:{},onPersist:{},onQueuedCleared:{},onClear:{},getInfo:{},onUndo:{},canUndo:{},showAvatar:{type:Boolean,default:!0},showTyping:{type:Boolean,default:!0},pendingConflict:{},onResolveConflict:{},infoTick:{},getSkillContent:{},onAddSkill:{},onRemoveSkill:{},getUserSkillNames:{},onGetSkill:{},drawer:{type:Boolean},drawerWidth:{},drawerHidden:{type:Boolean},inputRows:{default:2},sessions:{},currentSessionId:{},onNewSession:{},onOpenSession:{},onRemoveSession:{},getFocus:{},onSetFocus:{},onClearFocus:{},getFocuses:{},onAddFocus:{},onRemoveFocus:{},onFocusChipClick:{},sections:{},csTheme:{},icons:{}},emits:[`close`],setup(e,{emit:t}){let n=e,r=t,i=__({fetchResponse:n.fetchResponse,fetchStream:n.fetchStream,messages:n.initialMessages,onPersist:n.onPersist,onClear:n.onClear,onQueuedCleared:n.onQueuedCleared,getInfo:n.getInfo,canUndo:n.canUndo,onUndo:n.onUndo,getFocuses:n.getFocuses,onAddFocus:n.onAddFocus,onRemoveFocus:n.onRemoveFocus,onClearFocus:n.onClearFocus,onFocusChipClick:n.onFocusChipClick,infoTick:n.infoTick,icons:n.icons});Yr(g_,i);let{isExpanded:a,debugVisible:o,skillVisible:s,closeSkill:c}=i,{scrollContainer:l,onScroll:u,onWheel:d}=i.chat;function f(e){return e===`focus`?n.sections?.focus===!0:n.sections?.[e]!==!1}let p=Ys(()=>!!n.onAddSkill),m=Ys(()=>{if(!n.drawer||n.drawerWidth==null)return null;let e=n.drawerWidth;return typeof e==`number`?`${e}px`:e});return(t,n)=>(Y(),X(J,null,[e.drawer?(Y(),X(`div`,{key:0,class:`chat-mask`,onClick:n[0]||=e=>r(`close`)})):Q(``,!0),Z(`div`,{class:U([`chat-dialog`,{collapsed:!K(a)&&!e.drawer,drawer:e.drawer,"cs-theme-dark":e.csTheme===`dark`}]),style:we(m.value?{width:m.value,maxWidth:m.value}:null)},[f(`header`)?aa(t.$slots,`header`,{key:0,chat:K(i)},()=>[ls(N_,{title:e.title,drawer:e.drawer,"debug-logs":e.debugLogs,"skill-available":p.value,sessions:e.sessions,"current-session-id":e.currentSessionId,"on-new-session":e.onNewSession,"on-open-session":e.onOpenSession,"on-remove-session":e.onRemoveSession,onClose:n[1]||=e=>r(`close`)},null,8,[`title`,`drawer`,`debug-logs`,`skill-available`,`sessions`,`current-session-id`,`on-new-session`,`on-open-session`,`on-remove-session`])],!0):Q(``,!0),f(`focus`)?aa(t.$slots,`focus`,{key:1,chat:K(i)},()=>[ls(B_,{"get-focus":e.getFocus,"on-set-focus":e.onSetFocus,"on-clear-focus":e.onClearFocus,"info-tick":e.infoTick,icons:K(i).icons},null,8,[`get-focus`,`on-set-focus`,`on-clear-focus`,`info-tick`,`icons`])],!0):Q(``,!0),Z(`div`,{class:`chat-main`,ref_key:`scrollContainer`,ref:l,onScroll:n[2]||=(...e)=>K(u)&&K(u)(...e),onWheel:n[3]||=(...e)=>K(d)&&K(d)(...e)},[f(`body`)?(Y(),ns(pc,{key:0,name:`cs-slide`},{default:Gr(()=>[aa(t.$slots,`body`,{chat:K(i)},()=>[qr(ls(oC,{"show-avatar":e.showAvatar,"show-typing":e.showTyping},null,8,[`show-avatar`,`show-typing`]),[[jc,K(a)]])],!0)]),_:3})):Q(``,!0),f(`queued`)?aa(t.$slots,`queued`,{key:1,chat:K(i)},()=>[ls(hC)],!0):Q(``,!0),f(`approval`)?aa(t.$slots,`approval`,{key:2,chat:K(i)},()=>[ls(DC)],!0):Q(``,!0),f(`conflict`)?aa(t.$slots,`conflict`,{key:3,chat:K(i)},()=>[ls(zC,{"pending-conflict":e.pendingConflict,"on-resolve":e.onResolveConflict,icons:K(i).icons},null,8,[`pending-conflict`,`on-resolve`,`icons`])],!0):Q(``,!0)],544),f(`footer`)?(Y(),ns(pc,{key:2,name:`cs-slide`},{default:Gr(()=>[aa(t.$slots,`footer`,{chat:K(i)},()=>[ls(QC,{placeholder:e.placeholder,"input-rows":e.inputRows},null,8,[`placeholder`,`input-rows`])],!0)]),_:3})):Q(``,!0),f(`debug`)?aa(t.$slots,`debug`,{key:3,chat:K(i)},()=>[ls(zD,{visible:K(o),"onUpdate:visible":n[4]||=e=>yn(o)?o.value=e:null,logs:e.debugLogs,"get-info":e.getInfo,"info-tick":e.infoTick,"get-skill-content":e.getSkillContent,"cs-theme":e.csTheme},null,8,[`visible`,`logs`,`get-info`,`info-tick`,`get-skill-content`,`cs-theme`])],!0):Q(``,!0),f(`skill`)?aa(t.$slots,`skill`,{key:4,chat:K(i)},()=>[ls(nO,{visible:K(s),"on-add-skill":e.onAddSkill,"on-remove-skill":e.onRemoveSkill,"get-user-skill-names":e.getUserSkillNames,"on-get-skill":e.onGetSkill,onClose:K(c)},null,8,[`visible`,`on-add-skill`,`on-remove-skill`,`get-user-skill-names`,`on-get-skill`,`onClose`])],!0):Q(``,!0)],6)],64))}}),[[`__scopeId`,`data-v-74327cc5`]]);function iO(e){let{core:t,dialogCfg:n}=e,r=null,i=e.el,a=t.agent.debugLogs;return r=Sl(Mi({setup(){return()=>Xs(rO,{fetchStream:e.streaming?t.stream:void 0,fetchResponse:e.streaming?void 0:(e,n)=>{if(n){let e=()=>t.resolveConflict(`keep_external`);n.aborted?e():n.addEventListener(`abort`,e,{once:!0})}return t.agent.invoke(e,n)},title:n.title,placeholder:n.placeholder,debugLogs:a.value.slice(),initialMessages:t.messages,getInfo:()=>t.getInfo(),onUndo:t.checkpoint?()=>t.checkpoint.restore():void 0,canUndo:t.checkpoint?()=>t.checkpoint.canRestore():void 0,onPersist:async()=>{t.afterRound(),t.store&&await t.store.flush()},onClear:()=>t.resetSession(),onQueuedCleared:e=>{let n=t.agent?.debugLogs;n&&(n.value.push({timestamp:Date.now(),type:`middleware`,data:{stage:`queued_cleared`,dropped:e.length,preview:e.map(e=>e.slice(0,60))}}),wn(n))},pendingConflict:t.pendingConflict.value,onResolveConflict:e=>t.resolveConflict(e),infoTick:t.infoTick,getSkillContent:t.skillsController?e=>t.skillsController.getContent(e):void 0,onAddSkill:t.skillsController?e=>t.addSkill(e):void 0,onRemoveSkill:t.skillsController?e=>t.removeSkill(e):void 0,getUserSkillNames:t.skillsController?()=>t.listUserSkills():void 0,onGetSkill:t.skillsController?e=>t.getUserSkill(e):void 0,drawer:n.drawer===!0,csTheme:n.theme===`light`?`light`:`dark`,drawerWidth:n.drawerWidth,drawerHidden:n.drawerHidden===!0,inputRows:n.inputRows,sections:n.sections,icons:n.icons,getFocus:()=>t.getFocus(),getFocuses:()=>t.getFocuses(),onSetFocus:e=>t.setFocus(e),onAddFocus:e=>t.addFocus(e),onRemoveFocus:e=>t.removeFocus(e),onClearFocus:()=>t.clearFocus(),onFocusChipClick:e=>t.emit({type:`focus_chip_click`,path:e.path,label:e.label}),onClose:n.onClose??(n.drawer===!0?()=>e.hide():()=>e.unmount()),...t.store?{sessions:t.sessions.value,currentSessionId:t.sessionId,onNewSession:()=>{e.runSerial(()=>t.switchSession())},onOpenSession:n=>{e.runSerial(()=>t.switchSession(n))},onRemoveSession:async e=>{e!==t.sessionId&&(await t.store.deleteSession(t.agentId,e),await t.refreshSessions())}}:{}})}})),r.mount(e.el),{unmount(){let t=i.querySelector?.(`.chat-dialog`);if(r&&t){t.classList.add(`cs-leaving`);let n=i.querySelector?.(`.chat-mask`);n&&n.classList.add(`cs-leaving`);let a=!1,o=()=>{a||(a=!0,r?.unmount(),r=null,e.onDialogUnmounted())};t.addEventListener(`transitionend`,o,{once:!0}),setTimeout(o,320);return}r?.unmount(),r=null,e.onDialogUnmounted()},hide(){let e=i.querySelector?.(`.chat-dialog`),t=i.querySelector?.(`.chat-mask`);e&&e.classList.add(`cs-hidden`),t&&t.classList.add(`cs-hidden`)},show(){let e=i.querySelector?.(`.chat-dialog`),t=i.querySelector?.(`.chat-mask`);e&&e.classList.remove(`cs-hidden`),t&&t.classList.remove(`cs-hidden`)}}}function aO(e,t,n,r,i){let a=[];e&&a.push(`vfs_grep + vfs_read(搜预注入文档)`),t&&a.push(`${r}(语义检索)`),n&&a.push(`${i}(按 source 加载)`),a.push(`fetch_document(公网 URL)`);let o=[];return e&&o.push(`先 vfs_grep 搜预注入文档(快、静态)`),t&&e?o.push(`不够用 ${r} 语义检索`):t&&o.push(`用 ${r} 语义检索(换不同关键词可多次调用)`),n&&o.push(`需特定文档用 ${i}`),o.push(`公网用 fetch_document`),`你是知识检索专家。可用工具:${a.join(` / `)}。
|
|
284
|
+
…(已截断)`:t}catch{return String(e)}});return(t,a)=>e.pendingConflict?(Y(),X(`div`,PC,[Z(`div`,FC,[Z(`span`,IC,[ls(Xv,{icon:e.icons.conflict},null,8,[`icon`])]),Z(`span`,LC,[a[4]||=ms(`写入冲突:`,-1),Z(`code`,null,W(e.pendingConflict.path),1),a[5]||=ms(` 已被外部修改`,-1)])]),Z(`div`,RC,` AI 基于「读取时的旧值」准备`+W(e.pendingConflict.op===`delete`?`删除`:`写入`)+`,但该属性在你读取之后被外部代码/其他 agent/手动改过。 `,1),Z(`button`,{class:`conflict-toggle`,onClick:a[0]||=e=>n.value=!n.value},W(n.value?`收起对比`:`查看值对比`)+W(n.value?` ▴`:` ▾`),1),n.value?(Y(),X(`div`,zC,[Z(`div`,BC,[a[6]||=Z(`div`,{class:`conflict-diff-label`},`AI 想写的值`,-1),Z(`pre`,VC,W(r.value||`(delete 操作无值)`),1)]),Z(`div`,HC,[a[7]||=Z(`div`,{class:`conflict-diff-label`},`外部改后的当前值`,-1),Z(`pre`,UC,W(i.value),1)])])):Q(``,!0),Z(`div`,WC,[Z(`button`,{class:`conflict-keep`,onClick:a[1]||=t=>e.onResolve?.(`keep_external`),title:`不写入,保留外部修改后的值,AI 重新读取再改`},`保留外部`),Z(`button`,{class:`conflict-overwrite`,onClick:a[2]||=t=>e.onResolve?.(`overwrite`),title:`用 AI 的值覆盖外部修改`},`强制覆盖`),Z(`button`,{class:`conflict-restore`,onClick:a[3]||=t=>e.onResolve?.(`restore`),title:`回退到最近一次历史快照(agent 之前操作的检查点),撤销外部修改 + AI 不写入`},`回退`)])])):Q(``,!0)}}),[[`__scopeId`,`data-v-26d6b137`]]),KC={class:`chat-footer`},qC={class:`chat-input-wrap`},JC={key:0,class:`focus-chips`},YC=[`title`,`onClick`],XC={class:`focus-chip-icon`},ZC={class:`focus-chip-path`},QC=[`onClick`],$C=[`placeholder`,`rows`],ew={class:`input-actions`},tw=[`disabled`,`title`],nw={key:0,width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`currentColor`},rw={key:1,width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},iw=Yv(Mi({__name:`ChatInput`,props:{placeholder:{},inputRows:{}},setup(e){let t=v_(),{inputText:n,send:r,keydown:i,canUndo:a,undo:o,focuses:s,removeFocus:c,focusChipClick:l,icons:u}=t,{state:d,stop:f}=t.chat;return(t,p)=>(Y(),X(`div`,KC,[K(a)?(Y(),X(`button`,{key:0,class:`undo-foot-btn`,title:`回退到上次正常状态(还原对话历史 + 页面属性 + 工作区)`,onClick:p[0]||=(...e)=>K(o)&&K(o)(...e)},`↩ 回退`)):Q(``,!0),Z(`div`,qC,[K(s).length?(Y(),X(`div`,JC,[(Y(!0),X(J,null,ia(K(s),e=>(Y(),X(`span`,{key:e.path,class:`focus-chip`,title:`精修中:${e.path}(点击回看 · ✕ 移除)`,onClick:t=>K(l)(e)},[Z(`span`,XC,[ls(Xv,{icon:K(u).focus},null,8,[`icon`])]),Z(`code`,ZC,W(e.path),1),Z(`button`,{type:`button`,class:`focus-chip-x`,"data-test":`focus-clear`,title:`移除此焦点`,onClick:gl(t=>K(c)(e.path),[`stop`])},`✕`,8,QC)],8,YC))),128))])):Q(``,!0),qr(Z(`textarea`,{"onUpdate:modelValue":p[1]||=e=>yn(n)?n.value=e:null,class:U([`chat-input`,{"has-focus-chip":K(s).length>0}]),placeholder:e.placeholder,rows:e.inputRows,onKeydown:p[2]||=(...e)=>K(i)&&K(i)(...e)},null,42,$C),[[pl,K(n)]]),Z(`div`,ew,[p[6]||=Z(`span`,{class:`send-hint`},`Enter 发送 · Shift+Enter 换行`,-1),Z(`button`,{class:U([`send-btn`,{"stop-btn":K(d).loading}]),disabled:!K(d).loading&&!K(n).trim(),title:K(d).loading?`停止生成`:`发送`,onClick:p[3]||=e=>K(d).loading?K(f)():K(r)()},[K(d).loading?(Y(),X(`svg`,nw,[...p[4]||=[Z(`rect`,{x:`6`,y:`6`,width:`12`,height:`12`,rx:`2`},null,-1)]])):(Y(),X(`svg`,rw,[...p[5]||=[Z(`line`,{x1:`22`,y1:`2`,x2:`11`,y2:`13`},null,-1),Z(`polygon`,{points:`22 2 15 22 11 13 2 9 22 2`},null,-1)]]))],10,tw)])])]))}}),[[`__scopeId`,`data-v-303174ea`]]),aw={key:0,class:`debug-drawer`},ow={class:`drawer-header`},sw={class:`tab-group`},cw={class:`header-actions`},lw={key:0,class:`drawer-filters`},uw=[`onClick`],dw={class:`chip-count`},fw={class:`chip-count`},pw={class:`drawer-body`},mw={key:0,class:`trace-panel`},hw={key:0,class:`trace-empty`},gw={class:`trace-metrics`},_w={class:`metric-card`},vw={class:`metric-card`},yw={class:`metric-card`},bw={class:`metric-card`},xw={key:0,class:`metric-card`},Sw={key:1,class:`metric-card`},Cw={class:`trace-spans`},ww={class:`span-ico`},Tw={class:`span-name`},Ew={key:0,class:`span-dur`},Dw={key:1,class:`span-status`},Ow={key:1,class:`context-panel`},kw={key:0,class:`trace-empty`},Aw={class:`ctx-overview`},jw={class:`ctx-occupancy`},Mw=[`title`],Nw={class:`ctx-pct`},Pw={class:`ctx-kv-row`},Fw={class:`ctx-kv`},Iw={key:0,class:`ctx-kv`},Lw={key:1,class:`ctx-kv`},Rw=[`title`],zw={class:`ctx-cat-bar`},Bw={class:`ctx-cat-tokens`},Vw={key:0,class:`ctx-compression`},Hw={class:`ctx-kv-row`},Uw={class:`ctx-kv`},Ww={class:`ctx-kv`},Gw={class:`ctx-kv`},Kw={key:0,class:`ctx-kv`},qw={key:2,class:`subagent-panel`},Jw={key:0,class:`sub-section`},Yw={class:`sub-section-title`},Xw={key:1,class:`trace-empty`},Zw={key:0,class:`sub-section`},Qw={class:`sub-section-title`},$w={class:`sub-head`},eT={class:`sub-label`},tT={class:`sub-steps-badge`},nT={class:`sub-task`},rT={key:1,class:`sub-section`},iT={class:`sub-section-title`},aT={class:`sub-head`},oT={class:`sub-label`},sT={key:0,class:`sub-dur`},cT=[`onClick`],lT={class:`sub-task`},uT={key:0,class:`sub-result`},dT={key:1,class:`sub-steps-list`},fT={class:`sub-step-kind`},pT={class:`sub-step-name`},mT={class:`sub-step-ts`},hT={key:0,class:`empty`},gT={class:`log-head`},_T={key:0,class:`log-source`},vT={class:`log-time`},yT={class:`log-body`},bT={class:`kv-grid`},xT={class:`kv`},ST={class:`v`},CT={class:`kv`},wT={class:`v`},TT={class:`kv`},ET={class:`v`},DT={class:`kv`},OT={class:`v`},kT={class:`section-label`},AT={class:`chip-row`},jT={class:`msg-list`},MT={class:`msg-text`},NT={class:`badge-row`},PT={class:`badge`},FT={key:0,class:`badge muted`},IT={class:`badge muted`},LT={key:1,class:`badge muted`},RT=[`onClick`],zT={key:0,class:`msg-list`},BT={class:`msg-detail`},VT={key:0,class:`msg-text`},HT={class:`tc-inline-name`},UT={class:`tc-inline-args`},WT={key:1,class:`tc-id`},GT={key:1,class:`log-raw`},KT={class:`badge-row`},qT={class:`badge`},JT={key:0,class:`badge warn`},YT={key:0,class:`resp-content`},XT={key:1,class:`tc-list`},ZT={class:`tc-name`},QT={class:`tc-args`},$T={key:2,class:`usage-row`},eE={class:`usage`},tE={class:`usage`},nE={class:`usage`},rE={key:3,class:`tc-card inline`},iE={class:`tc-name`},aE={class:`tc-args`},oE={key:4,class:`tc-card inline`},sE={class:`tc-name`},cE={class:`tc-args`},lE={key:5,class:`err-box`},uE={class:`log-footer`},dE=[`onClick`],fE=[`onClick`],pE={key:0,class:`log-raw`},mE={key:0,class:`empty`},hE={key:1,class:`flow-section`},gE={class:`flow-ico`},_E={class:`flow-label`},vE={class:`flow-detail`},yE={class:`flow-time`},bE={class:`flow-round-head`},xE={class:`flow-round-body`},SE={class:`flow-ico`},CE={class:`flow-label`},wE={class:`flow-detail`},TE={class:`flow-time`},EE={key:5,class:`info-body`},DE={key:0,class:`empty`},OE={class:`info-section`},kE={class:`kv-grid`},AE={class:`kv`},jE={class:`v`},ME={class:`kv`},NE={class:`v`},PE={class:`kv`},FE={class:`v`},IE={class:`kv`},LE={class:`v`},RE={class:`kv`,style:{"margin-top":`6px`}},zE={class:`v`,style:{"font-size":`11px`}},BE={class:`info-section`},VE={class:`info-title`},HE={class:`info-name`},UE={class:`info-desc`},WE={key:0,class:`info-section`},GE={class:`info-title`},KE=[`onClick`],qE={class:`info-desc`},JE={key:0,class:`skill-content`},YE={key:0,class:`skill-loading`},XE={key:1,class:`skill-error`},ZE={key:2,class:`skill-pre`},QE={key:1,class:`info-section`},$E={class:`info-item`},eD={class:`info-name`},tD={class:`info-desc`},nD={class:`info-section`},rD={class:`kv-grid`},iD={class:`kv`},aD={class:`v`},oD={class:`kv`},sD={class:`v`},cD={class:`kv`},lD={class:`v`},uD={class:`kv`},dD={class:`v`,style:{"font-size":`11px`}},fD={key:2,class:`info-section`},pD={class:`info-title`},mD={class:`info-name`},hD={class:`src-tag mcp`},gD={class:`info-desc`},_D={key:3,class:`info-section`},vD={class:`kv-grid`},yD={class:`kv`},bD={class:`v`},xD={class:`kv`},SD={class:`v`},CD={class:`kv`},wD={class:`v`},TD={key:0,class:`kv`},ED={class:`v`,style:{"font-size":`11px`}},DD={key:4,class:`info-section`},OD={class:`info-title`},kD={key:5,class:`info-section`},AD={class:`info-pre`},jD={key:6,class:`info-section`},MD={class:`info-kv`},ND={class:`kv`},PD={class:`v`},FD={class:`kv`},ID={class:`v`},LD={class:`kv`},RD={class:`v`},zD={class:`kv`},BD={class:`v`},VD={class:`kv`},HD={class:`v`,style:{"font-size":`11px`}},UD={key:0,class:`kv`},WD={class:`v`,style:{"font-size":`11px`}},GD=Yv(Mi({__name:`DebugDrawer`,props:{logs:{default:()=>[]},visible:{type:Boolean},getInfo:{},infoTick:{},getSkillContent:{},csTheme:{}},emits:[`update:visible`,`clear`],setup(e,{emit:t}){let n=e,r=t,i=bn(`all`),a=bn(new Set),o=bn(new Set),s={context:{label:`上下文`,color:`var(--cs-primary)`,icon:`🧩`},llm_request:{label:`LLM请求`,color:`#059669`,icon:`➡️`},llm_response:{label:`LLM响应`,color:`#d97706`,icon:`⬅️`},tool_call:{label:`工具调用`,color:`#7c3aed`,icon:`🔧`},tool_result:{label:`工具结果`,color:`#2563eb`,icon:`✅`},error:{label:`错误`,color:`#dc2626`,icon:`❌`},middleware:{label:`中间件`,color:`#0891b2`,icon:`⚙️`}},c=Ys(()=>Array.isArray(n.logs)?n.logs:[]),l=Ys(()=>i.value===`all`?c.value:c.value.filter(e=>e.type===i.value)),u=Ys(()=>{let e={all:c.value.length};for(let t of c.value)e[t.type]=(e[t.type]||0)+1;return e});function d(e){return new Date(e).toLocaleTimeString(`zh-CN`,{hour12:!1})+`.`+String(e%1e3).padStart(3,`0`)}function f(e){let t=new Set(a.value);t.has(e)?t.delete(e):t.add(e),a.value=t}function p(e){let t=new Set(o.value);t.has(e)?t.delete(e):t.add(e),o.value=t}function m(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}}let h={system:{label:`SYSTEM`,color:`#6b7280`},human:{label:`USER`,color:`var(--cs-primary)`},user:{label:`USER`,color:`var(--cs-primary)`},ai:{label:`AI`,color:`#059669`},assistant:{label:`AI`,color:`#059669`},tool:{label:`TOOL`,color:`#2563eb`}};function g(e){return h[e]||{label:(e||`?`).toUpperCase(),color:`#9ca3af`}}function _(){r(`update:visible`,!1)}function v(){a.value=new Set,r(`clear`)}let y=bn(`logs`),b=bn(null),x=bn({});async function S(e){if(x.value[e]){delete x.value[e],x.value={...x.value};return}if(!n.getSkillContent){x.value={...x.value,[e]:{loading:!1,content:null,error:`当前 SDK 未注入 getSkillContent,无法查看 skill 全文`}};return}x.value={...x.value,[e]:{loading:!0,content:null}};try{let t=await n.getSkillContent(e);x.value={...x.value,[e]:{loading:!1,content:t,error:t==null?`skill 无内容或读取失败`:void 0}}}catch(t){x.value={...x.value,[e]:{loading:!1,content:null,error:String(t?.message||t)}}}}function C(){if(n.getInfo)try{b.value=n.getInfo()}catch{b.value=null}}function w(e){y.value=e,(e===`subagent`||e===`info`||e===`context`)&&C()}$r(()=>n.infoTick?.value,()=>{n.visible&&(y.value===`subagent`||y.value===`info`||y.value===`context`)&&C()});let T={pending:{label:`待办`,color:`#9ca3af`},in_progress:{label:`进行中`,color:`#d97706`},completed:{label:`完成`,color:`#059669`}};function E(e){return T[e]?.label??e}function D(e){return e?e===`builtin`?`builtin`:e.startsWith(`mcp:`)?`mcp`:`user`:``}let O=Ys(()=>{let e=new Map,t=[];for(let n of c.value){let r=n.data?.round;typeof r==`number`&&r>0?(e.has(r)||e.set(r,[]),e.get(r).push(n)):t.push(n)}return{pre:t,rounds:[...e.entries()].sort((e,t)=>e[0]-t[0]).map(([e,t])=>({round:e,items:t}))}});function k(e,t){return e.length>t?e.slice(0,t)+`…`:e}function A(e){if(e>=1e3){let t=e/1e3;return t>=10?`${Math.round(t)}s`:`${t.toFixed(1)}s`}return`${e}ms`}let ee=Ys(()=>b.value?.trace?.spans??[]),j=Ys(()=>b.value?.trace?.metrics),M=Ys(()=>b.value?.context),N=Ys(()=>{let e=M.value;return e?e.occupancy>=1?`red`:e.thresholdRatio>0&&e.occupancy>=e.thresholdRatio?`yellow`:`green`:``}),te=Ys(()=>b.value?.subagent?.active??[]),P=Ys(()=>b.value?.subagent?.history??[]),F=Ys(()=>Object.entries(b.value?.subagent?.lockedComponents??{})),I={running:{label:`运行中`,color:`#059669`},done:{label:`完成`,color:`#6b7280`},error:{label:`错误`,color:`#dc2626`}},L=bn(new Set);function ne(e){let t=new Set(L.value);t.has(e)?t.delete(e):t.add(e),L.value=t}function R(e){return e===`round`?`🔄`:e===`model`?`🧠`:e===`tool`?`🔧`:e===`compression`?`📦`:`•`}function z(e){return`${e.windowRatio==null?`keepRounds=${e.keepRounds??`?`}`:`windowRatio=${e.windowRatio}`} · ${e.summarize.mode}摘要 · 召回${e.recallTopK??`?`}${e.reason?` · `+e.reason:``}`}function re(e){let t=e.data||{};switch(e.type){case`context`:return`${t.tools?.length??0} 工具 · ${t.totalMessages??0} 消息`;case`llm_request`:return`${(t.messages||[]).length} 消息${t.tools?.length?` · `+t.tools.length+` 工具`:``}`;case`llm_response`:return t.toolCalls?.length?`${t.toolCalls.length} 个工具调用`:t.content?k(String(t.content),50):``;case`tool_call`:return String(t.name??``);case`tool_result`:return`${t.name??``} · ${t.status===`error`?`❌`:`✅`}`;case`error`:return k(String(t.error??t.tool??``),60);case`middleware`:return String(t.stage??``);default:return``}}return(t,n)=>(Y(),ns(mi,{to:`body`},[ls(pc,{name:`drawer`},{default:Gr(()=>[e.visible?(Y(),X(`div`,aw,[Z(`div`,{class:U([`drawer-panel`,{"cs-theme-dark":e.csTheme===`dark`}])},[Z(`div`,ow,[Z(`div`,sw,[Z(`button`,{class:U([`tab-btn`,{active:y.value===`logs`}]),onClick:n[0]||=e=>w(`logs`)},`🐛 日志`,2),Z(`button`,{class:U([`tab-btn`,{active:y.value===`flow`}]),onClick:n[1]||=e=>w(`flow`)},`🔀 流程`,2),e.getInfo?(Y(),X(`button`,{key:0,class:U([`tab-btn`,{active:y.value===`trace`}]),onClick:n[2]||=e=>w(`trace`)},`🌳 Trace`,2)):Q(``,!0),e.getInfo?(Y(),X(`button`,{key:1,class:U([`tab-btn`,{active:y.value===`context`}]),onClick:n[3]||=e=>w(`context`)},`📊 上下文`,2)):Q(``,!0),e.getInfo?(Y(),X(`button`,{key:2,class:U([`tab-btn`,{active:y.value===`subagent`}]),onClick:n[4]||=e=>w(`subagent`)},`🤖 子 agent`,2)):Q(``,!0),e.getInfo?(Y(),X(`button`,{key:3,class:U([`tab-btn`,{active:y.value===`info`}]),onClick:n[5]||=e=>w(`info`)},`🧬 Agent 信息`,2)):Q(``,!0)]),Z(`div`,cw,[y.value===`logs`?(Y(),X(`button`,{key:0,class:`hd-btn`,title:`清空日志`,onClick:v},`🗑️`)):Q(``,!0),Z(`button`,{class:`hd-btn`,title:`关闭`,onClick:_},`✕`)])]),y.value===`logs`?(Y(),X(`div`,lw,[(Y(),X(J,null,ia(s,(e,t)=>Z(`button`,{key:t,class:U([`filter-chip`,{active:i.value===t}]),style:we({"--chip-color":e.color}),onClick:e=>i.value=t},[ms(W(e.icon)+` `+W(e.label)+` `,1),Z(`span`,dw,W(u.value[t]||0),1)],14,uw)),64)),Z(`button`,{class:U([`filter-chip all`,{active:i.value===`all`}]),onClick:n[6]||=e=>i.value=`all`},[n[7]||=ms(` 全部 `,-1),Z(`span`,fw,W(u.value.all||0),1)],2)])):Q(``,!0),Z(`div`,pw,[y.value===`trace`?(Y(),X(`div`,mw,[j.value?(Y(),X(J,{key:1},[Z(`div`,gw,[Z(`div`,_w,[n[9]||=Z(`span`,null,`轮次`,-1),Z(`b`,null,W(j.value.rounds),1)]),Z(`div`,vw,[n[10]||=Z(`span`,null,`总耗时`,-1),Z(`b`,null,W(j.value.totalDurationMs)+`ms`,1)]),Z(`div`,yw,[n[11]||=Z(`span`,null,`平均/轮`,-1),Z(`b`,null,W(j.value.avgRoundMs)+`ms`,1)]),Z(`div`,bw,[n[12]||=Z(`span`,null,`工具`,-1),Z(`b`,null,W(j.value.toolCalls)+`(✅`+W(Math.round(j.value.toolSuccessRate*100))+`%)`,1)]),j.value.compressions?(Y(),X(`div`,xw,[n[13]||=Z(`span`,null,`压缩`,-1),Z(`b`,null,W(j.value.compressions),1)])):Q(``,!0),j.value.totalTokens?(Y(),X(`div`,Sw,[n[14]||=Z(`span`,null,`Token`,-1),Z(`b`,null,W(j.value.totalTokens.total),1)])):Q(``,!0)]),Z(`div`,Cw,[(Y(!0),X(J,null,ia(ee.value,e=>(Y(),X(`div`,{key:e.id,class:U([`trace-span`,[e.type,e.status]])},[Z(`span`,ww,W(R(e.type)),1),Z(`span`,Tw,W(e.name),1),e.durationMs?(Y(),X(`span`,Ew,W(A(e.durationMs)),1)):Q(``,!0),e.status===`error`?(Y(),X(`span`,Dw,`❌`)):Q(``,!0)],2))),128))])],64)):(Y(),X(`div`,hw,[...n[8]||=[ms(`未开启 tracing(`,-1),Z(`code`,null,`capabilities.tracing:true`,-1),ms(`)或暂无 trace。跑一轮 agent 后刷新。`,-1)]]))])):Q(``,!0),y.value===`context`?(Y(),X(`div`,Ow,[M.value?(Y(),X(J,{key:1},[Z(`div`,Aw,[Z(`div`,jw,[Z(`div`,{class:`ctx-bar-track`,title:`占用 ${Math.round(M.value.occupancy*100)}%`},[Z(`div`,{class:U([`ctx-bar-fill`,N.value]),style:we({width:Math.min(M.value.occupancy*100,100)+`%`})},null,6),M.value.thresholdRatio>0?(Y(),X(`div`,{key:0,class:`ctx-threshold-mark`,style:we({left:Math.min(M.value.thresholdRatio*100,100)+`%`}),title:`压缩阈值`},null,4)):Q(``,!0)],8,Mw),Z(`span`,Nw,W(Math.round(M.value.occupancy*100))+`%`,1)]),Z(`div`,Pw,[Z(`span`,Fw,`估算 `+W(M.value.totalTokens)+` token`,1),M.value.contextWindow?(Y(),X(`span`,Iw,`窗口 `+W(M.value.contextWindow),1)):Q(``,!0),M.value.thresholdRatio>0?(Y(),X(`span`,Lw,`阈值 `+W(Math.round(M.value.thresholdRatio*100))+`%`,1)):Q(``,!0)])]),n[16]||=Z(`div`,{class:`ctx-section-title`},`分类构成(近似)`,-1),(Y(!0),X(J,null,ia(M.value.categories,e=>(Y(),X(`div`,{key:e.key,class:`ctx-cat`},[Z(`span`,{class:`ctx-cat-label`,title:e.label},W(e.label),9,Rw),Z(`div`,zw,[Z(`div`,{class:`ctx-cat-fill`,style:we({width:Math.max(Math.round(e.pct*100),2)+`%`})},null,4)]),Z(`span`,Bw,[ms(W(e.tokens)+` `,1),Z(`i`,null,`(`+W(Math.round(e.pct*100))+`%)`,1)])]))),128)),M.value.compression?(Y(),X(`div`,Vw,[n[15]||=Z(`div`,{class:`ctx-section-title`},`最近压缩`,-1),Z(`div`,Hw,[Z(`span`,Uw,`摘要 `+W(M.value.compression.roundsSummarized)+`/`+W(M.value.compression.roundsTotal)+` 轮`,1),Z(`span`,Ww,`召回 `+W(M.value.compression.roundsRecalled),1),Z(`span`,Gw,W(M.value.compression.strategy),1),M.value.compression.decision?(Y(),X(`span`,Kw,`🤖 agent 决策:`+W(z(M.value.compression.decision)),1)):Q(``,!0)])])):Q(``,!0)],64)):(Y(),X(`div`,kw,`未开启 contextInspector(默认开)或暂无快照。跑一轮 agent 后切回刷新。`))])):Q(``,!0),y.value===`subagent`?(Y(),X(`div`,qw,[F.value.length?(Y(),X(`div`,Jw,[Z(`div`,Yw,`🔒 组件锁 (`+W(F.value.length)+`)`,1),(Y(!0),X(J,null,ia(F.value,([e,t])=>(Y(),X(`div`,{key:`lock-`+e,class:`sub-task`},`🔒 `+W(e)+` ← `+W(t),1))),128))])):Q(``,!0),!te.value.length&&!P.value.length?(Y(),X(`div`,Xw,[...n[17]||=[ms(` 尚未委派子 agent。主 agent 调用 `,-1),Z(`code`,null,`use_<id>`,-1),ms(` 或 `,-1),Z(`code`,null,`spawn_agent`,-1),ms(` 后,这里展示运行状态与委派历史。 `,-1)]])):(Y(),X(J,{key:2},[te.value.length?(Y(),X(`div`,Zw,[Z(`div`,Qw,`▶ 运行中 (`+W(te.value.length)+`)`,1),(Y(!0),X(J,null,ia(te.value,(e,t)=>(Y(),X(`div`,{key:`a`+t,class:U([`sub-card`,e.status])},[Z(`div`,$w,[Z(`span`,{class:`sub-status`,style:we({background:I[e.status]&&I[e.status].color||`#9ca3af`})},W(I[e.status]&&I[e.status].label||e.status),5),Z(`span`,eT,W(e.label),1),Z(`span`,tT,W(e.steps.length)+` 步`,1)]),Z(`div`,nT,W(k(e.task,80)),1)],2))),128))])):Q(``,!0),P.value.length?(Y(),X(`div`,rT,[Z(`div`,iT,`🕐 历史 (`+W(P.value.length)+`)`,1),(Y(!0),X(J,null,ia(P.value,(e,t)=>(Y(),X(`div`,{key:`h`+t,class:U([`sub-card`,e.status])},[Z(`div`,aT,[Z(`span`,{class:`sub-status`,style:we({background:I[e.status]&&I[e.status].color||`#9ca3af`})},W(I[e.status]&&I[e.status].label||e.status),5),Z(`span`,oT,W(e.label),1),e.durationMs==null?Q(``,!0):(Y(),X(`span`,sT,W(A(e.durationMs)),1)),e.steps.length?(Y(),X(`button`,{key:1,class:`sub-toggle`,onClick:e=>ne(t)},W(L.value.has(t)?`收起`:`步骤`),9,cT)):Q(``,!0)]),Z(`div`,lT,W(k(e.task,80)),1),e.resultPreview?(Y(),X(`div`,uT,W(e.resultPreview),1)):Q(``,!0),L.value.has(t)&&e.steps.length?(Y(),X(`div`,dT,[(Y(!0),X(J,null,ia(e.steps,(e,t)=>(Y(),X(`div`,{key:t,class:`sub-step`},[Z(`span`,fT,W(e.kind===`tool_call`?`🔧`:`✅`),1),Z(`span`,pT,W(e.name),1),Z(`span`,mT,W(d(e.ts)),1)]))),128))])):Q(``,!0)],2))),128))])):Q(``,!0)],64))])):Q(``,!0),y.value===`logs`?(Y(),X(J,{key:3},[l.value.length===0?(Y(),X(`div`,hT,` 暂无日志,发送消息后这里会显示 Agent 的完整上下文、工具调用等信息 `)):Q(``,!0),(Y(!0),X(J,null,ia(l.value,(e,t)=>(Y(),X(`div`,{key:t,class:`log-item`},[Z(`div`,gT,[Z(`span`,{class:`log-type`,style:we({background:s[e.type].color})},W(s[e.type].icon)+` `+W(s[e.type].label),5),e.source?(Y(),X(`span`,_T,`↳ `+W(e.source),1)):Q(``,!0),Z(`span`,vT,W(d(e.timestamp)),1)]),Z(`div`,yT,[e.type===`context`?(Y(),X(J,{key:0},[Z(`div`,bT,[Z(`div`,xT,[n[18]||=Z(`span`,{class:`k`},`模型`,-1),Z(`span`,ST,W(e.data.model),1)]),Z(`div`,CT,[n[19]||=Z(`span`,{class:`k`},`温度`,-1),Z(`span`,wT,W(e.data.temperature),1)]),Z(`div`,TT,[n[20]||=Z(`span`,{class:`k`},`MaxTokens`,-1),Z(`span`,ET,W(e.data.maxTokens),1)]),Z(`div`,DT,[n[21]||=Z(`span`,{class:`k`},`消息数`,-1),Z(`span`,OT,W(e.data.totalMessages),1)])]),Z(`div`,kT,`工具 (`+W(e.data.tools?.length||0)+`)`,1),Z(`div`,AT,[(Y(!0),X(J,null,ia(e.data.tools,e=>(Y(),X(`span`,{key:e,class:`tool-chip`},W(e),1))),128))]),n[22]||=Z(`div`,{class:`section-label`},`上下文消息`,-1),Z(`div`,jT,[(Y(!0),X(J,null,ia(e.data.messages,(e,t)=>(Y(),X(`div`,{key:t,class:`msg-row`},[Z(`span`,{class:`msg-role`,style:we({background:g(e.type).color})},W(g(e.type).label),5),Z(`span`,MT,W(e.content),1)]))),128))])],64)):e.type===`llm_request`?(Y(),X(J,{key:1},[Z(`div`,NT,[Z(`span`,PT,`第 `+W(e.data.round)+` 轮`,1),e.data.model?(Y(),X(`span`,FT,W(e.data.model),1)):Q(``,!0),Z(`span`,IT,W((e.data.messages||[]).length)+` 条消息`,1),e.data.tools?.length?(Y(),X(`span`,LT,W(e.data.tools.length)+` 工具`,1)):Q(``,!0),Z(`button`,{class:`view-toggle`,onClick:e=>p(t)},W(o.value.has(t)?`🗂 卡片视图`:`📋 请求体`),9,RT)]),o.value.has(t)?(Y(),X(`pre`,GT,[Z(`code`,null,W(m(e.data.messages)),1)])):(Y(),X(`div`,zT,[(Y(!0),X(J,null,ia(e.data.messages,(e,t)=>(Y(),X(`div`,{key:t,class:`msg-row`},[Z(`span`,{class:`msg-role`,style:we({background:g(e.role).color})},W(g(e.role).label),5),Z(`div`,BT,[e.content?(Y(),X(`span`,VT,W(e.content),1)):Q(``,!0),(Y(!0),X(J,null,ia(e.tool_calls||[],(e,t)=>(Y(),X(`div`,{key:t,class:`tc-inline`},[Z(`span`,HT,`🔧 `+W(e.function?.name||e.name),1),Z(`code`,UT,W(e.function?.arguments??e.args),1)]))),128)),e.tool_call_id?(Y(),X(`span`,WT,`↳ tool_call_id: `+W(e.tool_call_id),1)):Q(``,!0)])]))),128))]))],64)):e.type===`llm_response`?(Y(),X(J,{key:2},[Z(`div`,KT,[Z(`span`,qT,`第 `+W(e.data.round)+` 轮`,1),e.data.toolCalls?.length?(Y(),X(`span`,JT,`🔧 `+W(e.data.toolCalls.length)+` 个工具调用`,1)):Q(``,!0)]),e.data.content?(Y(),X(`div`,YT,W(e.data.content),1)):Q(``,!0),e.data.toolCalls?.length?(Y(),X(`div`,XT,[(Y(!0),X(J,null,ia(e.data.toolCalls,(e,t)=>(Y(),X(`div`,{key:t,class:`tc-card`},[Z(`div`,ZT,`🔧 `+W(e.name),1),Z(`pre`,QT,W(m(e.args)),1)]))),128))])):Q(``,!0),e.data.usage?(Y(),X(`div`,$T,[Z(`span`,eE,`prompt: `+W(e.data.usage.prompt_tokens??`-`),1),Z(`span`,tE,`completion: `+W(e.data.usage.completion_tokens??`-`),1),Z(`span`,nE,`total: `+W(e.data.usage.total_tokens??`-`),1)])):Q(``,!0)],64)):e.type===`tool_call`?(Y(),X(`div`,rE,[Z(`div`,iE,`🔧 `+W(e.data.name),1),Z(`pre`,aE,W(m(e.data.args)),1)])):e.type===`tool_result`?(Y(),X(`div`,oE,[Z(`div`,sE,`✅ `+W(e.data.name)+` 结果`,1),Z(`pre`,cE,W(e.data.result),1)])):e.type===`error`?(Y(),X(`div`,lE,W(e.data.tool?`[${e.data.tool}] `:``)+W(e.data.error),1)):Q(``,!0)]),Z(`div`,uE,[Z(`button`,{class:`raw-toggle`,onClick:e=>f(t)},W(a.value.has(t)?`收起原始 JSON`:`查看原始 JSON`),9,dE),Z(`button`,{class:`raw-toggle`,onClick:t=>K(p_)(m(e.data))},`复制`,8,fE)]),a.value.has(t)?(Y(),X(`pre`,pE,[Z(`code`,null,W(m(e.data)),1)])):Q(``,!0)]))),128))],64)):y.value===`flow`?(Y(),X(J,{key:4},[c.value.length?Q(``,!0):(Y(),X(`div`,mE,`暂无日志,发送消息后这里按轮次展示执行流程`)),O.value.pre.length?(Y(),X(`div`,hE,[n[23]||=Z(`div`,{class:`flow-section-title`},`⚙️ 准备 / 其他`,-1),(Y(!0),X(J,null,ia(O.value.pre,(e,t)=>(Y(),X(`div`,{key:`p`+t,class:U([`flow-node`,e.type])},[Z(`span`,gE,W(s[e.type]?.icon),1),Z(`span`,_E,W(s[e.type]?.label),1),Z(`span`,vE,W(re(e)),1),Z(`span`,yE,W(d(e.timestamp)),1)],2))),128))])):Q(``,!0),(Y(!0),X(J,null,ia(O.value.rounds,e=>(Y(),X(`div`,{key:e.round,class:`flow-round`},[Z(`div`,bE,`🔁 第 `+W(e.round)+` 轮`,1),Z(`div`,xE,[(Y(!0),X(J,null,ia(e.items,(e,t)=>(Y(),X(`div`,{key:t,class:U([`flow-node`,e.type])},[Z(`span`,SE,W(s[e.type]?.icon),1),Z(`span`,CE,W(s[e.type]?.label),1),Z(`span`,wE,W(re(e)),1),Z(`span`,TE,W(d(e.timestamp)),1)],2))),128))])]))),128))],64)):(Y(),X(`div`,EE,[b.value?(Y(),X(J,{key:1},[Z(`div`,OE,[n[29]||=Z(`div`,{class:`info-title`},`基本信息`,-1),Z(`div`,kE,[Z(`div`,AE,[n[24]||=Z(`span`,{class:`k`},`ID`,-1),Z(`span`,jE,W(b.value.id),1)]),Z(`div`,ME,[n[25]||=Z(`span`,{class:`k`},`模型`,-1),Z(`span`,NE,W(b.value.model||`-`),1)]),Z(`div`,PE,[n[26]||=Z(`span`,{class:`k`},`工具数`,-1),Z(`span`,FE,W(b.value.tools.length),1)]),Z(`div`,IE,[n[27]||=Z(`span`,{class:`k`},`中间件`,-1),Z(`span`,LE,W(b.value.middleware.length),1)])]),Z(`div`,RE,[n[28]||=Z(`span`,{class:`k`},`中间件栈`,-1),Z(`span`,zE,W(b.value.middleware.join(` → `)||`-`),1)])]),Z(`div`,BE,[Z(`div`,VE,`🔧 工具 (`+W(b.value.tools.length)+`)`,1),(Y(!0),X(J,null,ia(b.value.tools,e=>(Y(),X(`div`,{key:e.name,class:`info-item`},[Z(`div`,HE,[ms(W(e.name),1),e.source?(Y(),X(`span`,{key:0,class:U([`src-tag`,D(e.source)])},W(e.source),3)):Q(``,!0)]),Z(`div`,UE,W(e.description),1)]))),128))]),b.value.skills.length?(Y(),X(`div`,WE,[Z(`div`,GE,[ms(`📘 技能 (`+W(b.value.skills.length)+`)`,1),n[30]||=Z(`span`,{class:`info-hint`},`点击展开查看全文`,-1)]),(Y(!0),X(J,null,ia(b.value.skills,e=>(Y(),X(`div`,{key:e.name,class:`info-item`},[Z(`div`,{class:`info-name skill-toggle`,onClick:t=>S(e.name)},[Z(`span`,{class:U([`skill-arrow`,{open:!!x.value[e.name]}])},`▶`,2),ms(` `+W(e.name),1)],8,KE),Z(`div`,qE,W(e.description),1),x.value[e.name]?(Y(),X(`div`,JE,[x.value[e.name].loading?(Y(),X(`div`,YE,`加载中…`)):x.value[e.name].error?(Y(),X(`div`,XE,W(x.value[e.name].error),1)):x.value[e.name].content?(Y(),X(`pre`,ZE,W(x.value[e.name].content),1)):Q(``,!0)])):Q(``,!0)]))),128))])):Q(``,!0),b.value.data?(Y(),X(`div`,QE,[n[31]||=Z(`div`,{class:`info-title`},`📊 可操作数据`,-1),Z(`div`,$E,[Z(`div`,eD,W(b.value.data.description||`主数据对象`),1),Z(`div`,tD,`schema: `+W(b.value.data.schema?`已声明`:`未声明`),1)])])):Q(``,!0),Z(`div`,nD,[n[36]||=Z(`div`,{class:`info-title`},`🧬 子 Agent`,-1),Z(`div`,rD,[Z(`div`,iD,[n[32]||=Z(`span`,{class:`k`},`启用`,-1),Z(`span`,aD,W(b.value.subagent.enabled?`是`:`否`),1)]),Z(`div`,oD,[n[33]||=Z(`span`,{class:`k`},`最大递归`,-1),Z(`span`,sD,W(b.value.subagent.maxDepth),1)]),Z(`div`,cD,[n[34]||=Z(`span`,{class:`k`},`并行上限`,-1),Z(`span`,lD,W(b.value.subagent.maxParallel),1)]),Z(`div`,uD,[n[35]||=Z(`span`,{class:`k`},`额外工具`,-1),Z(`span`,dD,W(b.value.subagent.allowedTools.length?b.value.subagent.allowedTools.join(`, `):`默认只读`),1)])])]),b.value.mcp?.servers?.length?(Y(),X(`div`,fD,[Z(`div`,pD,`🔌 MCP (`+W(b.value.mcp.servers.length)+`)`,1),(Y(!0),X(J,null,ia(b.value.mcp.servers,e=>(Y(),X(`div`,{key:e.name,class:`info-item`},[Z(`div`,mD,[ms(W(e.name)+` `,1),Z(`span`,hD,W(e.toolCount)+` 工具`,1)]),Z(`div`,gD,W(e.url),1)]))),128))])):Q(``,!0),b.value.verify?(Y(),X(`div`,_D,[n[41]||=Z(`div`,{class:`info-title`},`✅ Verify 自检`,-1),Z(`div`,vD,[Z(`div`,yD,[n[37]||=Z(`span`,{class:`k`},`启用`,-1),Z(`span`,bD,W(b.value.verify.enabled?`是`:`否`),1)]),Z(`div`,xD,[n[38]||=Z(`span`,{class:`k`},`自纠上限`,-1),Z(`span`,SD,W(b.value.verify.maxAttempts),1)]),Z(`div`,CD,[n[39]||=Z(`span`,{class:`k`},`对抗验证`,-1),Z(`span`,wD,W(b.value.verify.adversarial?`开启`:`关闭`),1)]),b.value.verify.adversarial?(Y(),X(`div`,TD,[n[40]||=Z(`span`,{class:`k`},`对抗模型`,-1),Z(`span`,ED,W(b.value.model||`-`)+`(同主)`,1)])):Q(``,!0)])])):Q(``,!0),b.value.todos.length?(Y(),X(`div`,DD,[Z(`div`,OD,`📋 任务清单 (`+W(b.value.todos.length)+`)`,1),(Y(!0),X(J,null,ia(b.value.todos,(e,t)=>(Y(),X(`div`,{key:t,class:`info-todo`},[Z(`span`,{class:`todo-tag`,style:we({background:T[e.status]&&T[e.status].color||`#9ca3af`})},W(E(e.status)),5),Z(`span`,null,W(e.content),1)]))),128))])):Q(``,!0),b.value.memory?(Y(),X(`div`,kD,[n[42]||=Z(`div`,{class:`info-title`},`📝 持久指令 (memory)`,-1),Z(`pre`,AD,W(b.value.memory),1)])):Q(``,!0),b.value.lastCompression?(Y(),X(`div`,jD,[n[49]||=Z(`div`,{class:`info-title`},`🗜️ 上轮压缩`,-1),Z(`div`,MD,[Z(`div`,ND,[n[43]||=Z(`span`,{class:`k`},`触发`,-1),Z(`span`,PD,W(b.value.lastCompression.triggered?`✓`:`✗(未达阈值)`),1)]),Z(`div`,FD,[n[44]||=Z(`span`,{class:`k`},`摘要轮次`,-1),Z(`span`,ID,W(b.value.lastCompression.roundsSummarized)+` / `+W(b.value.lastCompression.roundsTotal),1)]),Z(`div`,LD,[n[45]||=Z(`span`,{class:`k`},`召回`,-1),Z(`span`,RD,W(b.value.lastCompression.roundsRecalled)+` 条`,1)]),Z(`div`,zD,[n[46]||=Z(`span`,{class:`k`},`消息数`,-1),Z(`span`,BD,W(b.value.lastCompression.originalMessages)+` → `+W(b.value.lastCompression.compressedMessages),1)]),Z(`div`,VD,[n[47]||=Z(`span`,{class:`k`},`策略`,-1),Z(`span`,HD,W(b.value.lastCompression.strategy),1)]),b.value.lastCompression.decision?(Y(),X(`div`,UD,[n[48]||=Z(`span`,{class:`k`},`压缩决策`,-1),Z(`span`,WD,`🤖 `+W(z(b.value.lastCompression.decision)),1)])):Q(``,!0)])])):Q(``,!0)],64)):(Y(),X(`div`,DE,`暂无信息`))]))])],2),Z(`div`,{class:`drawer-mask`,onClick:_})])):Q(``,!0)]),_:1})]))}}),[[`__scopeId`,`data-v-9c201fc3`]]),KD={class:`skill-panel`},qD={class:`skill-header`},JD={class:`skill-section`},YD={class:`section-title`},XD={class:`field`},ZD=[`disabled`],QD={class:`field`},$D={class:`field field-textarea`},eO={key:0,class:`skill-error`},tO={class:`skill-section`},nO={class:`section-title`},rO={key:0,class:`empty-hint`},iO={key:1,class:`skill-list`},aO={class:`skill-actions`},oO=[`onClick`],sO=[`onClick`],cO=Yv(Mi({__name:`SkillPanel`,props:{visible:{type:Boolean},onAddSkill:{type:Function},onRemoveSkill:{type:Function},getUserSkillNames:{type:Function},onGetSkill:{type:Function}},emits:[`close`],setup(e,{emit:t}){let n=e,r=t,i=bn(``),a=bn(``),o=bn(``),s=bn(``),c=bn([]),l=bn(0),u=bn(null);$r(()=>n.visible,e=>{e&&d()},{immediate:!0}),$r(l,()=>d());function d(){n.getUserSkillNames&&(c.value=n.getUserSkillNames())}function f(){if(s.value=``,!i.value.trim()){s.value=`skill 名不能为空`;return}if(!a.value.trim()){s.value=`描述不能为空`;return}if(!o.value.trim()){s.value=`内容不能为空`;return}let e=i.value.trim();u.value===null&&c.value.includes(e)&&(s.value=`已存在同名用户 skill "${e}",将覆盖`),n.onAddSkill?.({name:e,description:a.value.trim(),getContent:()=>o.value}),h(),l.value++}function p(e){n.onRemoveSkill&&n.onRemoveSkill(e)&&(u.value===e&&h(),l.value++)}function m(e){if(!n.onGetSkill)return;let t=n.onGetSkill(e);t&&(u.value=e,i.value=t.name,a.value=t.description,o.value=t.content,s.value=``)}function h(){u.value=null,i.value=``,a.value=``,o.value=``,s.value=``}return(t,n)=>(Y(),ns(mi,{to:`body`},[ls(pc,{name:`cs-skill-fade`},{default:Gr(()=>[e.visible?(Y(),X(`div`,{key:0,class:`skill-mask`,onClick:n[4]||=gl(e=>r(`close`),[`self`])},[Z(`div`,KD,[Z(`div`,qD,[n[5]||=Z(`span`,{class:`skill-title`},`🧩 Skill 管理`,-1),Z(`button`,{class:`skill-close`,title:`关闭`,onClick:n[0]||=e=>r(`close`)},`✕`)]),Z(`div`,JD,[Z(`div`,YD,[ms(W(u.value?`编辑 Skill: ${u.value}`:`创建新 Skill`)+` `,1),u.value?(Y(),X(`button`,{key:0,class:`btn btn-ghost btn-cancel`,title:`取消编辑,回到新建`,onClick:h},`取消编辑`)):Q(``,!0)]),Z(`label`,XD,[n[6]||=Z(`span`,{class:`field-label`},`名称`,-1),qr(Z(`input`,{"onUpdate:modelValue":n[1]||=e=>i.value=e,disabled:!!u.value,placeholder:`如:my-writer`,class:`field-input`},null,8,ZD),[[pl,i.value]])]),Z(`label`,QD,[n[7]||=Z(`span`,{class:`field-label`},`描述`,-1),qr(Z(`input`,{"onUpdate:modelValue":n[2]||=e=>a.value=e,placeholder:`一句话说明用途与触发时机`,class:`field-input`},null,512),[[pl,a.value]])]),Z(`label`,$D,[n[8]||=Z(`span`,{class:`field-label`},`内容`,-1),qr(Z(`textarea`,{"onUpdate:modelValue":n[3]||=e=>o.value=e,placeholder:`skill 全文指令(支持 Markdown)`,rows:`6`,class:`field-input`},null,512),[[pl,o.value]])]),s.value?(Y(),X(`div`,eO,W(s.value),1)):Q(``,!0),Z(`button`,{class:`btn btn-primary`,onClick:f},W(u.value?`保存修改`:`添加 Skill`),1)]),Z(`div`,tO,[Z(`div`,nO,`已创建 Skill(`+W(c.value.length)+`)`,1),c.value.length?(Y(),X(`ul`,iO,[(Y(!0),X(J,null,ia(c.value,e=>(Y(),X(`li`,{key:e,class:`skill-item`},[Z(`span`,{class:U([`skill-name`,{active:u.value===e}])},W(e),3),Z(`span`,aO,[Z(`button`,{class:`btn btn-ghost btn-edit`,title:`加载到表单编辑`,onClick:t=>m(e)},`编辑`,8,oO),Z(`button`,{class:`btn btn-ghost btn-del`,title:`删除该用户 skill`,onClick:t=>p(e)},`删除`,8,sO)])]))),128))])):(Y(),X(`div`,rO,`暂无用户创建的 skill`))]),n[9]||=Z(`div`,{class:`skill-hint`},[ms(` 💡 创建/编辑的 skill 会自动加入 agent(下轮 system prompt 索引可见),agent 经 `),Z(`code`,null,`load_skill(name)`),ms(` 按需加载全文; 持久化由独立 SkillStore 管理(默认 indexedDB,与 storage 选项分离),跨刷新自动恢复;可经 `),Z(`code`,null,`skillStorage.id`),ms(` 跨页面复用。 `)],-1)])])):Q(``,!0)]),_:1})]))}}),[[`__scopeId`,`data-v-c6a22ea5`]]),lO=Yv(Mi({__name:`ChatDialog`,props:{fetchResponse:{},fetchStream:{},title:{default:`AI 助手`},placeholder:{default:`输入消息,Enter 发送...`},debugLogs:{},initialMessages:{},onPersist:{},onQueuedCleared:{},onClear:{},getInfo:{},onUndo:{},canUndo:{},showAvatar:{type:Boolean,default:!0},showTyping:{type:Boolean,default:!0},pendingConflict:{},onResolveConflict:{},infoTick:{},getSkillContent:{},onAddSkill:{},onRemoveSkill:{},getUserSkillNames:{},onGetSkill:{},drawer:{type:Boolean},drawerWidth:{},drawerHidden:{type:Boolean},inputRows:{default:2},sessions:{},currentSessionId:{},onNewSession:{},onOpenSession:{},onRemoveSession:{},getFocus:{},onSetFocus:{},onClearFocus:{},getFocuses:{},onAddFocus:{},onRemoveFocus:{},onFocusChipClick:{},sections:{},csTheme:{},icons:{}},emits:[`close`],setup(e,{emit:t}){let n=e,r=t,i=__({fetchResponse:n.fetchResponse,fetchStream:n.fetchStream,messages:n.initialMessages,onPersist:n.onPersist,onClear:n.onClear,onQueuedCleared:n.onQueuedCleared,getInfo:n.getInfo,canUndo:n.canUndo,onUndo:n.onUndo,getFocuses:n.getFocuses,onAddFocus:n.onAddFocus,onRemoveFocus:n.onRemoveFocus,onClearFocus:n.onClearFocus,onFocusChipClick:n.onFocusChipClick,infoTick:n.infoTick,icons:n.icons});Yr(g_,i);let{isExpanded:a,debugVisible:o,skillVisible:s,closeSkill:c}=i,{scrollContainer:l,onScroll:u,onWheel:d}=i.chat;function f(e){return e===`focus`?n.sections?.focus===!0:n.sections?.[e]!==!1}let p=Ys(()=>!!n.onAddSkill),m=Ys(()=>{if(!n.drawer||n.drawerWidth==null)return null;let e=n.drawerWidth;return typeof e==`number`?`${e}px`:e});return(t,n)=>(Y(),X(J,null,[e.drawer?(Y(),X(`div`,{key:0,class:`chat-mask`,onClick:n[0]||=e=>r(`close`)})):Q(``,!0),Z(`div`,{class:U([`chat-dialog`,{collapsed:!K(a)&&!e.drawer,drawer:e.drawer,"cs-theme-dark":e.csTheme===`dark`}]),style:we(m.value?{width:m.value,maxWidth:m.value}:null)},[f(`header`)?aa(t.$slots,`header`,{key:0,chat:K(i)},()=>[ls(ly,{title:e.title,drawer:e.drawer,"debug-logs":e.debugLogs,"skill-available":p.value,sessions:e.sessions,"current-session-id":e.currentSessionId,"on-new-session":e.onNewSession,"on-open-session":e.onOpenSession,"on-remove-session":e.onRemoveSession,onClose:n[1]||=e=>r(`close`)},null,8,[`title`,`drawer`,`debug-logs`,`skill-available`,`sessions`,`current-session-id`,`on-new-session`,`on-open-session`,`on-remove-session`])],!0):Q(``,!0),f(`focus`)?aa(t.$slots,`focus`,{key:1,chat:K(i)},()=>[ls(gy,{"get-focus":e.getFocus,"on-set-focus":e.onSetFocus,"on-clear-focus":e.onClearFocus,"info-tick":e.infoTick,icons:K(i).icons},null,8,[`get-focus`,`on-set-focus`,`on-clear-focus`,`info-tick`,`icons`])],!0):Q(``,!0),Z(`div`,{class:`chat-main`,ref_key:`scrollContainer`,ref:l,onScroll:n[2]||=(...e)=>K(u)&&K(u)(...e),onWheel:n[3]||=(...e)=>K(d)&&K(d)(...e)},[f(`body`)?(Y(),ns(pc,{key:0,name:`cs-slide`},{default:Gr(()=>[aa(t.$slots,`body`,{chat:K(i)},()=>[qr(ls(fC,{"show-avatar":e.showAvatar,"show-typing":e.showTyping},null,8,[`show-avatar`,`show-typing`]),[[jc,K(a)]])],!0)]),_:3})):Q(``,!0),f(`queued`)?aa(t.$slots,`queued`,{key:1,chat:K(i)},()=>[ls(xC)],!0):Q(``,!0),f(`approval`)?aa(t.$slots,`approval`,{key:2,chat:K(i)},()=>[ls(NC)],!0):Q(``,!0),f(`conflict`)?aa(t.$slots,`conflict`,{key:3,chat:K(i)},()=>[ls(GC,{"pending-conflict":e.pendingConflict,"on-resolve":e.onResolveConflict,icons:K(i).icons},null,8,[`pending-conflict`,`on-resolve`,`icons`])],!0):Q(``,!0)],544),f(`footer`)?(Y(),ns(pc,{key:2,name:`cs-slide`},{default:Gr(()=>[aa(t.$slots,`footer`,{chat:K(i)},()=>[ls(iw,{placeholder:e.placeholder,"input-rows":e.inputRows},null,8,[`placeholder`,`input-rows`])],!0)]),_:3})):Q(``,!0),f(`debug`)?aa(t.$slots,`debug`,{key:3,chat:K(i)},()=>[ls(GD,{visible:K(o),"onUpdate:visible":n[4]||=e=>yn(o)?o.value=e:null,logs:e.debugLogs,"get-info":e.getInfo,"info-tick":e.infoTick,"get-skill-content":e.getSkillContent,"cs-theme":e.csTheme},null,8,[`visible`,`logs`,`get-info`,`info-tick`,`get-skill-content`,`cs-theme`])],!0):Q(``,!0),f(`skill`)?aa(t.$slots,`skill`,{key:4,chat:K(i)},()=>[ls(cO,{visible:K(s),"on-add-skill":e.onAddSkill,"on-remove-skill":e.onRemoveSkill,"get-user-skill-names":e.getUserSkillNames,"on-get-skill":e.onGetSkill,onClose:K(c)},null,8,[`visible`,`on-add-skill`,`on-remove-skill`,`get-user-skill-names`,`on-get-skill`,`onClose`])],!0):Q(``,!0)],6)],64))}}),[[`__scopeId`,`data-v-74327cc5`]]);function uO(e){let{core:t,dialogCfg:n}=e,r=null,i=e.el,a=t.agent.debugLogs;return r=Sl(Mi({setup(){return()=>Xs(lO,{fetchStream:e.streaming?t.stream:void 0,fetchResponse:e.streaming?void 0:(e,n)=>{if(n){let e=()=>t.resolveConflict(`keep_external`);n.aborted?e():n.addEventListener(`abort`,e,{once:!0})}return t.agent.invoke(e,n)},title:n.title,placeholder:n.placeholder,debugLogs:a.value.slice(),initialMessages:t.messages,getInfo:()=>t.getInfo(),onUndo:t.checkpoint?()=>t.checkpoint.restore():void 0,canUndo:t.checkpoint?()=>t.checkpoint.canRestore():void 0,onPersist:async()=>{t.afterRound(),t.store&&await t.store.flush()},onClear:()=>t.resetSession(),onQueuedCleared:e=>{let n=t.agent?.debugLogs;n&&(n.value.push({timestamp:Date.now(),type:`middleware`,data:{stage:`queued_cleared`,dropped:e.length,preview:e.map(e=>e.slice(0,60))}}),wn(n))},pendingConflict:t.pendingConflict.value,onResolveConflict:e=>t.resolveConflict(e),infoTick:t.infoTick,getSkillContent:t.skillsController?e=>t.skillsController.getContent(e):void 0,onAddSkill:t.skillsController?e=>t.addSkill(e):void 0,onRemoveSkill:t.skillsController?e=>t.removeSkill(e):void 0,getUserSkillNames:t.skillsController?()=>t.listUserSkills():void 0,onGetSkill:t.skillsController?e=>t.getUserSkill(e):void 0,drawer:n.drawer===!0,csTheme:n.theme===`light`?`light`:`dark`,drawerWidth:n.drawerWidth,drawerHidden:n.drawerHidden===!0,inputRows:n.inputRows,sections:n.sections,icons:n.icons,getFocus:()=>t.getFocus(),getFocuses:()=>t.getFocuses(),onSetFocus:e=>t.setFocus(e),onAddFocus:e=>t.addFocus(e),onRemoveFocus:e=>t.removeFocus(e),onClearFocus:()=>t.clearFocus(),onFocusChipClick:e=>t.emit({type:`focus_chip_click`,path:e.path,label:e.label}),onClose:n.onClose??(n.drawer===!0?()=>e.hide():()=>e.unmount()),...t.store?{sessions:t.sessions.value,currentSessionId:t.sessionId,onNewSession:()=>{e.runSerial(()=>t.switchSession())},onOpenSession:n=>{e.runSerial(()=>t.switchSession(n))},onRemoveSession:async e=>{e!==t.sessionId&&(await t.store.deleteSession(t.agentId,e),await t.refreshSessions())}}:{}})}})),r.mount(e.el),{unmount(){let t=i.querySelector?.(`.chat-dialog`);if(r&&t){t.classList.add(`cs-leaving`);let n=i.querySelector?.(`.chat-mask`);n&&n.classList.add(`cs-leaving`);let a=!1,o=()=>{a||(a=!0,r?.unmount(),r=null,e.onDialogUnmounted())};t.addEventListener(`transitionend`,o,{once:!0}),setTimeout(o,320);return}r?.unmount(),r=null,e.onDialogUnmounted()},hide(){let e=i.querySelector?.(`.chat-dialog`),t=i.querySelector?.(`.chat-mask`);e&&e.classList.add(`cs-hidden`),t&&t.classList.add(`cs-hidden`)},show(){let e=i.querySelector?.(`.chat-dialog`),t=i.querySelector?.(`.chat-mask`);e&&e.classList.remove(`cs-hidden`),t&&t.classList.remove(`cs-hidden`)}}}function dO(e,t,n,r,i){let a=[];e&&a.push(`vfs_grep + vfs_read(搜预注入文档)`),t&&a.push(`${r}(语义检索)`),n&&a.push(`${i}(按 source 加载)`),a.push(`fetch_document(公网 URL)`);let o=[];return e&&o.push(`先 vfs_grep 搜预注入文档(快、静态)`),t&&e?o.push(`不够用 ${r} 语义检索`):t&&o.push(`用 ${r} 语义检索(换不同关键词可多次调用)`),n&&o.push(`需特定文档用 ${i}`),o.push(`公网用 fetch_document`),`你是知识检索专家。可用工具:${a.join(` / `)}。
|
|
285
285
|
|
|
286
286
|
工作方式:
|
|
287
287
|
1. 分析任务,拆出需查证的要点(如:需要哪些组件、各自的 props 约束、UI 规范要求);
|
|
@@ -290,7 +290,7 @@ app.mount('#app');
|
|
|
290
290
|
4. 综合成结构化、可执行结论(不堆原文,提炼成可直接用于决策/配置的信息);
|
|
291
291
|
5. 标注关键信息来源(文档名/段落),便于溯源;检索不到明确说「未检索到」,不编造。
|
|
292
292
|
|
|
293
|
-
你是只读检索角色,不要尝试修改任何数据。不要尝试上面未列出的工具。`}function
|
|
293
|
+
你是只读检索角色,不要尝试修改任何数据。不要尝试上面未列出的工具。`}function fO(e,t,n,r,i){let a=[],o=[];return e&&(a.push(`- vfs_grep / vfs_read:搜集成方预注入 vfs 的文档(组件文档 / UI 规范)—— 快、静态,先查`),o.push(`- 静态文档(组件库文档 / UI 规范):vfs_grep`)),t&&(a.push(`- ${r}:语义检索(retriever 向量库)—— 模糊匹配,关键词不确定 / 语义相似时用`),o.push(`- 语义相似(「瀑布流组件」「倒计时」「拼团」):${r}`)),n&&(a.push(`- ${i}:按 source 精确加载(已知文档 id / URL / key)—— 精确取特定文档`),o.push(`- 已知文档 id / URL:${i}`)),a.push(`- fetch_document:公网 URL —— 查公开资料`),o.push(`- 公开 URL(设计规范网站 / 第三方文档):fetch_document`),`# 知识检索策略(RAG)
|
|
294
294
|
|
|
295
295
|
## 多源决策树
|
|
296
296
|
${a.join(`
|
|
@@ -305,8 +305,8 @@ ${a.join(`
|
|
|
305
305
|
|
|
306
306
|
## 何时用何源
|
|
307
307
|
${o.join(`
|
|
308
|
-
`)}`}var
|
|
308
|
+
`)}`}var pO={name:`rag-search`,description:`多源知识检索策略:vfs 预注入文档 → 语义检索 → 指定文档加载 → 公网;综合结构化结论 + 溯源`,getContent:()=>fO(!0,!0,!0,`search_docs`,`load_doc`)};function mO(e,n,i){return(0,r.tool)(async({query:e,topK:t})=>{try{let r=await n(e,{topK:t??i});return r?.length?r.map((e,t)=>`【${t+1}】${e.source?`来源:${e.source}\n`:``}${e.content}`).join(`
|
|
309
309
|
|
|
310
|
-
`):`未检索到与「${e}」相关的内容。可换关键词或扩大 topK 重试。`}catch(e){return`检索出错:${e.message}。可换关键词重试。`}},{name:e,description:`语义检索知识库(组件文档/UI 规范/业务规则等),返回相关片段。需要查阅文档才能回答或配置时用;可多次调用不同关键词。`,schema:t.z.object({query:t.z.string().describe(`检索关键词或自然语言问题`),topK:t.z.number().int().positive().optional().describe(`期望召回数量(默认使用系统配置)`)})})}function
|
|
310
|
+
`):`未检索到与「${e}」相关的内容。可换关键词或扩大 topK 重试。`}catch(e){return`检索出错:${e.message}。可换关键词重试。`}},{name:e,description:`语义检索知识库(组件文档/UI 规范/业务规则等),返回相关片段。需要查阅文档才能回答或配置时用;可多次调用不同关键词。`,schema:t.z.object({query:t.z.string().describe(`检索关键词或自然语言问题`),topK:t.z.number().int().positive().optional().describe(`期望召回数量(默认使用系统配置)`)})})}function hO(e,n){return(0,r.tool)(async({source:e})=>{try{let t=await n(e),r=Array.isArray(t)?t:[t];return r.length?r.map((e,t)=>`【${t+1}】${e.source?`来源:${e.source}\n`:``}${e.content}`).join(`
|
|
311
311
|
|
|
312
|
-
`):`未加载到「${e}」。检查 source 是否正确。`}catch(e){return`加载出错:${e.message}。`}},{name:e,description:`按 source 加载指定文档(文档 id/URL/key);已知要查的具体文档用此工具精确加载。`,schema:t.z.object({source:t.z.string().describe(`文档标识(id/URL/key)`)})})}function
|
|
312
|
+
`):`未加载到「${e}」。检查 source 是否正确。`}catch(e){return`加载出错:${e.message}。`}},{name:e,description:`按 source 加载指定文档(文档 id/URL/key);已知要查的具体文档用此工具精确加载。`,schema:t.z.object({source:t.z.string().describe(`文档标识(id/URL/key)`)})})}function gO(e){let{retriever:t,loader:n,useVfs:r=!0,id:i=`rag`,description:a,topK:o=5,searchToolName:s=`search_docs`,loadToolName:c=`load_doc`,maxToolRounds:l=8,summarization:u,skills:d,extraTools:f}=e;if(!t&&!n&&r===!1)throw Error(`[page-agent-sdk][createRagSubagent] 至少配一种知识源:retriever / loader / useVfs(true)`);let p=[];t&&p.push(mO(s,t,o)),n&&p.push(hO(c,n)),f&&p.push(...f);let m=r?[`vfs_grep`,`vfs_read`,`vfs_json_read`]:void 0,h=dO(r,!!t,!!n,s,c),g={name:`rag-search`,description:pO.description,getContent:()=>fO(r,!!t,!!n,s,c)};return{id:i,description:a??`检索知识库(组件文档/UI 规范/业务规则),返回有依据的结构化结论。需要查阅文档才能回答或决定如何配置时委派`,systemPrompt:h,tools:p.length?p:void 0,allowedTools:m,skills:d??[g],maxToolRounds:l,...u===void 0?{}:{summarization:u}}}function _O(e){return u_(e,uO)}e.ApprovalBar=NC,e.CAPABILITIES=Ch,e.CONTEXT_PRESETS=Eh,e.ChatDialog=lO,e.ChatHeader=ly,e.ChatInput=iw,e.CodePreview=LS,e.CompressDecisionSchema=Lm,e.ConflictBar=GC,e.DEFAULT_DIALOG_ICONS=m_,e.DEFAULT_PROMPT_SOFT_CAP=Uf,e.DEFAULT_SYSTEM_PROMPT=Vp,e.DebugDrawer=GD,e.FocusBar=gy,e.HLJS_BLOCK_MAX_CHARS=mS,e.HTML_VOID_TAGS=rm,e.HUMAN_CONFIRM_TOOL_NAME=hf,e.IconGlyph=Xv,e.MIN_CONTEXT_WINDOW=Bl,e.MessageContent=zS,e.MessageList=fC,e.MessageRow=rC,e.QueuedBar=xC,e.SOFT_CAP_MIN_WINDOW=Hf,e.STOP_WORDS=If,e.SkillPanel=cO,e.UNSAFE_KEYS=fd,e.actionsToInspectInfo=zg,e.actionsToTools=Rg,e.agentError=Nl,e.analyzeContext=Pp,e.applyPatchToClone=Td,e.applyPatchToLive=Od,e.asAgentError=Ml,e.buildDataPrompt=Hp,e.buildHtmlFragmentSkill=Om,e.buildSystemPrompt=Up,e.chatContextKey=g_,e.commitSetToBind=fg,e.connectMcp=Bp,e.constructLlmFromConfig=b,e.constructOpenLlmSync=y,e.copyText=p_,e.createAgent=Eu,e.createApprovalMiddleware=mf,e.createChatContext=__,e.createChatSdk=_O,e.createCheckpointManager=Tf,e.createCheckpointMiddleware=Ef,e.createConflictManager=Ym,e.createContextInspectorMiddleware=Fp,e.createDataOps=bg,e.createHtmlFormatCheck=Am,e.createHtmlSubagent=Nm,e.createHumanConfirmMiddleware=vf,e.createHumanConfirmTool=_f,e.createMemoryBackend=gh,e.createMemoryMiddleware=sf,e.createProxyLlm=g,e.createRagSubagent=gO,e.createSandboxRunner=Wd,e.createSdkEvents=Th,e.createSerialRunner=n_,e.createSessionStore=bh,e.createSkillStore=Qg,e.createSubagentMiddleware=dp,e.createSubagentTracker=Yf,e.createSubagentsMiddleware=mp,e.createUsageHintsMiddleware=Kg,e.createVerifyMiddleware=hp,e.createVfs=qp,e.createWebStorageBackend=vh,e.createWriteBackCheck=xp,e.deepClone=vd,e.defineDataToolset=Hg,e.defineSkill=Kd,e.defineTool=Pm,e.deleteByPath=_d,e.deriveTitle=Rm,e.describeSchemaNode=Uu,e.detectGarbledToolCall=uu,e.detectTransitionalReply=mu,e.diffObjects=Md,e.domToStructure=Eg,e.domTools=Og,e.domToolsStatic=Vg,e.estimateMessageTokens=Rf,e.estimateRoundTokens=zf,e.estimateTokens=Hl,e.extractReasoningDelta=S,e.extractSchemaHint=nd,e.extractText=Ip,e.extractTextDelta=x,e.extractUsage=C,e.fetchDocTools=Sg,e.fetchTools=Bg,e.filterByToolMode=dg,e.findStrippedKeys=jd,e.formatConstraints=Wu,e.formatZodIssues=Ol,e.getByPath=hd,e.getDomTool=Dg,e.getEnvSummary=jg,e.getSchemaAtPath=Au,e.getSchemaTopKeys=Du,e.getTraceMetrics=Gl,e.hashValue=wd,e.htmlFragmentSkill=km,e.htmlOrchestratorPrompt=Zu,e.indexSummarize=Bf,e.inspectEnvTool=Pg,e.inspectTools=Fg,e.isChatModel=zm,e.isContextLengthError=tu,e.isIconHtml=Hv,e.isPathAllowed=Ou,e.isQuotaError=ch,e.isUnsafePath=pd,e.jpEval=Bh,e.jsonParseError=Al,e.limitDepth=xd,e.markedToHtml=bS,e.maybeParseValue=yd,e.moveByPath=Dd,e.normalizeBaseUrl=v,e.normalizeUsage=T,e.offloadPassThroughChars=Wl,e.offloadThresholdChars=Ul,e.presets=Xu,e.projectBySchema=Lu,e.projectBySchemaDeep=Iu,e.projectFields=bd,e.recallRounds=Vf,e.renderMarkdownHtml=xS,e.renderSchemaHint=Gu,e.renderSchemaOverview=Ku,e.renderSchemaShallow=Yu,e.resolveCapabilities=wh,e.resolveContextOptions=Oh,e.resolveDialogConfig=Sh,e.resolveDialogIcons=h_,e.resolveLlm=Jm,e.resolveModelCaps=Vl,e.resolvePromptSoftCap=Wf,e.resolveStorage=xh,e.restoreInPlace=Ad,e.restoreLive=kd,e.routeError=jl,e.runHostScript=Gd,e.runSandboxedScript=Wh,e.safeMerge=md,e.safeSerialize=Ag,e.safeStringify=Sd,e.sanitizeGarbledContent=du,e.sanitizeIconHtml=Gv,e.searchJson=Hh,e.selectBuiltinTools=Ug,e.setByPath=gd,e.shouldTriggerCompression=Gf,e.stripStainlessFetch=_,e.systemPromptHelpers=Qu,e.tokenize=Lf,e.toolError=$,e.unwrapSchema=ku,e.useChat=f_,e.useChatContext=v_,e.validateHtmlFormat=am,Object.defineProperty(e,"z",{enumerable:!0,get:function(){return t.z}}),e.zodError=kl});
|