@mathcrowd/mmarked 1.8.4 → 1.8.5
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/CHANGELOG.md +4 -0
- package/dist/index.mjs +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"crypto";import t from"buffer";import n from"highlight.js";import r from"highlight.js/lib/languages/javascript";import s from"highlight.js/lib/languages/json";import i from"highlight.js/lib/languages/latex";import l from"highlight.js/lib/languages/python";import{liteAdaptor as o}from"mathjax-full/js/adaptors/liteAdaptor.js";import{RegisterHTMLHandler as a}from"mathjax-full/js/handlers/html.js";import{AllPackages as c}from"mathjax-full/js/input/tex/AllPackages.js";import{TeX as h}from"mathjax-full/js/input/tex.js";import{mathjax as p}from"mathjax-full/js/mathjax.js";import{SVG as u}from"mathjax-full/js/output/svg.js";function g(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let f={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null};function d(e){f=e}const k=/[&<>"']/,x=new RegExp(k.source,"g"),m=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,b=new RegExp(m.source,"g"),y={"&":"&","<":"<",">":">",'"':""","'":"'"},w=e=>y[e];function $(e,t){if(t){if(k.test(e))return e.replace(x,w)}else if(m.test(e))return e.replace(b,w);return e}const _=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;const z=/(^|[^\[])\^/g;function v(e,t){let n="string"==typeof e?e:e.source;t=t||"";const r={replace:(e,t)=>{let s="string"==typeof t?t:t.source;return s=s.replace(z,"$1"),n=n.replace(e,s),r},getRegex:()=>new RegExp(n,t)};return r}function R(e){try{e=encodeURI(e).replace(/%25/g,"%")}catch{return null}return e}const A={exec:()=>null};function S(e,t){const n=e.replace(/\|/g,((e,t,n)=>{let r=!1,s=t;for(;--s>=0&&"\\"===n[s];)r=!r;return r?"|":" |"})).split(/ \|/);let r=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-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(/\\\|/g,"|");return n}function T(e,t,n){const r=e.length;if(0===r)return"";let s=0;for(;s<r;){const i=e.charAt(r-s-1);if(i!==t||n){if(i===t||!n)break;s++}else s++}return e.slice(0,r-s)}function j(e,t,n,r){const s=t.href,i=t.title?$(t.title):null,l=e[1].replace(/\\([\[\]])/g,"$1");if("!"!==e[0].charAt(0)){r.state.inLink=!0;const e={type:"link",raw:n,href:s,title:i,text:l,tokens:r.inlineTokens(l)};return r.state.inLink=!1,e}return{type:"image",raw:n,href:s,title:i,text:$(l)}}class I{options;rules;lexer;constructor(e){this.options=e||f}space(e){const t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){const t=this.rules.block.code.exec(e);if(t){const e=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:T(e,"\n")}}}fences(e){const t=this.rules.block.fences.exec(e);if(t){const e=t[0],n=function(e,t){const n=e.match(/^(\s+)(?:```)/);if(null===n)return t;const r=n[1];return t.split("\n").map((e=>{const t=e.match(/^\s+/);if(null===t)return e;const[n]=t;return n.length>=r.length?e.slice(r.length):e})).join("\n")}(e,t[3]||"");return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:n}}}heading(e){const t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(/#$/.test(e)){const t=T(e,"#");this.options.pedantic?e=t.trim():t&&!/ $/.test(t)||(e=t.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){const t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:T(t[0],"\n")}}blockquote(e){const t=this.rules.block.blockquote.exec(e);if(t){let e=T(t[0],"\n").split("\n"),n="",r="";const s=[];for(;e.length>0;){let t=!1;const i=[];let l;for(l=0;l<e.length;l++)if(/^ {0,3}>/.test(e[l]))i.push(e[l]),t=!0;else{if(t)break;i.push(e[l])}e=e.slice(l);const o=i.join("\n"),a=o.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,"\n $1").replace(/^ {0,3}>[ \t]?/gm,"");n=n?`${n}\n${o}`:o,r=r?`${r}\n${a}`:a;const c=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(a,s,!0),this.lexer.state.top=c,0===e.length)break;const h=s[s.length-1];if("code"===h?.type)break;if("blockquote"===h?.type){const t=h,i=t.raw+"\n"+e.join("\n"),l=this.blockquote(i);s[s.length-1]=l,n=n.substring(0,n.length-t.raw.length)+l.raw,r=r.substring(0,r.length-t.text.length)+l.text;break}if("list"!==h?.type);else{const t=h,i=t.raw+"\n"+e.join("\n"),l=this.list(i);s[s.length-1]=l,n=n.substring(0,n.length-h.raw.length)+l.raw,r=r.substring(0,r.length-t.raw.length)+l.raw,e=i.substring(s[s.length-1].raw.length).split("\n")}}return{type:"blockquote",raw:n,tokens:s,text:r}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim();const r=n.length>1,s={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:"[*+-]");const i=new RegExp(`^( {0,3}${n})((?:[\t ][^\\n]*)?(?:\\n|$))`);let l=!1;for(;e;){let n=!1,r="",o="";if(!(t=i.exec(e)))break;if(this.rules.block.hr.test(e))break;r=t[0],e=e.substring(r.length);let a=t[2].split("\n",1)[0].replace(/^\t+/,(e=>" ".repeat(3*e.length))),c=e.split("\n",1)[0],h=!a.trim(),p=0;if(this.options.pedantic?(p=2,o=a.trimStart()):h?p=t[1].length+1:(p=t[2].search(/[^ ]/),p=p>4?1:p,o=a.slice(p),p+=t[1].length),h&&/^ *$/.test(c)&&(r+=c+"\n",e=e.substring(c.length+1),n=!0),!n){const t=new RegExp(`^ {0,${Math.min(3,p-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`),n=new RegExp(`^ {0,${Math.min(3,p-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),s=new RegExp(`^ {0,${Math.min(3,p-1)}}(?:\`\`\`|~~~)`),i=new RegExp(`^ {0,${Math.min(3,p-1)}}#`);for(;e;){const l=e.split("\n",1)[0];if(c=l,this.options.pedantic&&(c=c.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),s.test(c))break;if(i.test(c))break;if(t.test(c))break;if(n.test(e))break;if(c.search(/[^ ]/)>=p||!c.trim())o+="\n"+c.slice(p);else{if(h)break;if(a.search(/[^ ]/)>=4)break;if(s.test(a))break;if(i.test(a))break;if(n.test(a))break;o+="\n"+c}h||c.trim()||(h=!0),r+=l+"\n",e=e.substring(l.length+1),a=c.slice(p)}}s.loose||(l?s.loose=!0:/\n *\n *$/.test(r)&&(l=!0));let u,g=null;this.options.gfm&&(g=/^\[[ xX]\] /.exec(o),g&&(u="[ ] "!==g[0],o=o.replace(/^\[[ xX]\] +/,""))),s.items.push({type:"list_item",raw:r,task:!!g,checked:u,loose:!1,text:o,tokens:[]}),s.raw+=r}s.items[s.items.length-1].raw=s.items[s.items.length-1].raw.trimEnd(),s.items[s.items.length-1].text=s.items[s.items.length-1].text.trimEnd(),s.raw=s.raw.trimEnd();for(let e=0;e<s.items.length;e++)if(this.lexer.state.top=!1,s.items[e].tokens=this.lexer.blockTokens(s.items[e].text,[]),!s.loose){const t=s.items[e].tokens.filter((e=>"space"===e.type)),n=t.length>0&&t.some((e=>/\n.*\n/.test(e.raw)));s.loose=n}if(s.loose)for(let e=0;e<s.items.length;e++)s.items[e].loose=!0;return s}}html(e){const t=this.rules.block.html.exec(e);if(t){return{type:"html",block:!0,raw:t[0],pre:"pre"===t[1]||"script"===t[1]||"style"===t[1],text:t[0]}}}def(e){const t=this.rules.block.def.exec(e);if(t){const e=t[1].toLowerCase().replace(/\s+/g," "),n=t[2]?t[2].replace(/^<(.*)>$/,"$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:t[0],href:n,title:r}}}table(e){const t=this.rules.block.table.exec(e);if(!t)return;if(!/[:|]/.test(t[2]))return;const n=S(t[1]),r=t[2].replace(/^\||\| *$/g,"").split("|"),s=t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[],i={type:"table",raw:t[0],header:[],align:[],rows:[]};if(n.length===r.length){for(const e of r)/^ *-+: *$/.test(e)?i.align.push("right"):/^ *:-+: *$/.test(e)?i.align.push("center"):/^ *:-+ *$/.test(e)?i.align.push("left"):i.align.push(null);for(let e=0;e<n.length;e++)i.header.push({text:n[e],tokens:this.lexer.inline(n[e]),header:!0,align:i.align[e]});for(const e of s)i.rows.push(S(e,i.header.length).map(((e,t)=>({text:e,tokens:this.lexer.inline(e),header:!1,align:i.align[t]}))));return i}}lheading(e){const t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:"="===t[2].charAt(0)?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){const t=this.rules.block.paragraph.exec(e);if(t){const e="\n"===t[1].charAt(t[1].length-1)?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){const 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){const t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:$(t[1])}}tag(e){const t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&/^<a /i.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\/a>/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.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){const t=this.rules.inline.link.exec(e);if(t){const e=t[2].trim();if(!this.options.pedantic&&/^</.test(e)){if(!/>$/.test(e))return;const t=T(e.slice(0,-1),"\\");if((e.length-t.length)%2==0)return}else{const e=function(e,t){if(-1===e.indexOf(t[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-1}(t[2],"()");if(e>-1){const n=(0===t[0].indexOf("!")?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){const e=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):"";return n=n.trim(),/^</.test(n)&&(n=this.options.pedantic&&!/>$/.test(e)?n.slice(1):n.slice(1,-1)),j(t,{href:n?n.replace(this.rules.inline.anyPunctuation,"$1"):n,title:r?r.replace(this.rules.inline.anyPunctuation,"$1"):r},t[0],this.lexer)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){const e=t[(n[2]||n[1]).replace(/\s+/g," ").toLowerCase()];if(!e){const e=n[0].charAt(0);return{type:"text",raw:e,text:e}}return j(n,e,n[0],this.lexer)}}emStrong(e,t,n=""){let r=this.rules.inline.emStrongLDelim.exec(e);if(!r)return;if(r[3]&&n.match(/[\p{L}\p{N}]/u))return;if(!(r[1]||r[2]||"")||!n||this.rules.inline.punctuation.exec(n)){const n=[...r[0]].length-1;let s,i,l=n,o=0;const a="*"===r[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(a.lastIndex=0,t=t.slice(-1*e.length+n);null!=(r=a.exec(t));){if(s=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!s)continue;if(i=[...s].length,r[3]||r[4]){l+=i;continue}if((r[5]||r[6])&&n%3&&!((n+i)%3)){o+=i;continue}if(l-=i,l>0)continue;i=Math.min(i,i+l+o);const t=[...r[0]][0].length,a=e.slice(0,n+r.index+t+i);if(Math.min(n,i)%2){const e=a.slice(1,-1);return{type:"em",raw:a,text:e,tokens:this.lexer.inlineTokens(e)}}const c=a.slice(2,-2);return{type:"strong",raw:a,text:c,tokens:this.lexer.inlineTokens(c)}}}}codespan(e){const t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(/\n/g," ");const n=/[^ ]/.test(e),r=/^ /.test(e)&&/ $/.test(e);return n&&r&&(e=e.substring(1,e.length-1)),e=$(e,!0),{type:"codespan",raw:t[0],text:e}}}br(e){const t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){const t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){const 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="www."===t[1]?"http://"+t[0]:t[0]}return{type:"link",raw:t[0],text:e,href:n,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e){const t=this.rules.inline.text.exec(e);if(t){let e;return e=this.lexer.state.inRawBlock?t[0]:$(t[0]),{type:"text",raw:t[0],text:e}}}}const O=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,E=/(?:[*+-]|\d{1,9}[.)])/,q=v(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,E).replace(/blockCode/g,/ {4}/).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/).getRegex(),D=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,L=/(?!\s*\])(?:\\.|[^\[\]\\])+/,M=v(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",L).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),B=v(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,E).getRegex(),C="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",P=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Z=v("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\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",P).replace("tag",C).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),N=v(D).replace("hr",O).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"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",C).getRegex(),U={blockquote:v(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",N).getRegex(),code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,def:M,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:O,html:Z,lheading:q,list:B,newline:/^(?: *(?:\n|$))+/,paragraph:N,table:A,text:/^[^\n]+/},Q=v("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",O).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",C).getRegex(),F={...U,table:Q,paragraph:v(D).replace("hr",O).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Q).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",C).getRegex()},J={...U,html:v("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",P).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:A,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:v(D).replace("hr",O).replace("heading"," *#{1,6} *[^\n]").replace("lheading",q).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},H=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,W=/^( {2,}|\\)\n(?!\s*$)/,X="\\p{P}\\p{S}",K=v(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,X).getRegex(),V=v(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,X).getRegex(),Y=v("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,X).getRegex(),G=v("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,X).getRegex(),ee=v(/\\([punct])/,"gu").replace(/punct/g,X).getRegex(),te=v(/^<(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(),ne=v(P).replace("(?:--\x3e|$)","--\x3e").getRegex(),re=v("^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",ne).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),se=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,ie=v(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",se).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),le=v(/^!?\[(label)\]\[(ref)\]/).replace("label",se).replace("ref",L).getRegex(),oe=v(/^!?\[(ref)\](?:\[\])?/).replace("ref",L).getRegex(),ae={_backpedal:A,anyPunctuation:ee,autolink:te,blockSkip:/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,br:W,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:A,emStrongLDelim:V,emStrongRDelimAst:Y,emStrongRDelimUnd:G,escape:H,link:ie,nolink:oe,punctuation:K,reflink:le,reflinkSearch:v("reflink|nolink(?!\\()","g").replace("reflink",le).replace("nolink",oe).getRegex(),tag:re,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,url:A},ce={...ae,link:v(/^!?\[(label)\]\((.*?)\)/).replace("label",se).getRegex(),reflink:v(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",se).getRegex()},he={...ae,escape:v(H).replace("])","~|])").getRegex(),url:v(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").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~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},pe={...he,br:v(W).replace("{2,}","*").getRegex(),text:v(he.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},ue={normal:U,gfm:F,pedantic:J},ge={normal:ae,gfm:he,breaks:pe,pedantic:ce};class fe{tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||f,this.options.tokenizer=this.options.tokenizer||new I,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const t={block:ue.normal,inline:ge.normal};this.options.pedantic?(t.block=ue.pedantic,t.inline=ge.pedantic):this.options.gfm&&(t.block=ue.gfm,this.options.breaks?t.inline=ge.breaks:t.inline=ge.gfm),this.tokenizer.rules=t}static get rules(){return{block:ue,inline:ge}}static lex(e,t){return new fe(t).lex(e)}static lexInline(e,t){return new fe(t).inlineTokens(e)}lex(e){e=e.replace(/\r\n|\r/g,"\n"),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){const t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){let r,s,i;for(e=this.options.pedantic?e.replace(/\t/g," ").replace(/^ +$/gm,""):e.replace(/^( *)(\t+)/gm,((e,t,n)=>t+" ".repeat(n.length)));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some((n=>!!(r=n.call({lexer:this},e,t))&&(e=e.substring(r.raw.length),t.push(r),!0)))))if(r=this.tokenizer.space(e))e=e.substring(r.raw.length),1===r.raw.length&&t.length>0?t[t.length-1].raw+="\n":t.push(r);else if(r=this.tokenizer.code(e))e=e.substring(r.raw.length),s=t[t.length-1],!s||"paragraph"!==s.type&&"text"!==s.type?t.push(r):(s.raw+="\n"+r.raw,s.text+="\n"+r.text,this.inlineQueue[this.inlineQueue.length-1].src=s.text);else if(r=this.tokenizer.fences(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.heading(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.hr(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.blockquote(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.list(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.html(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.def(e))e=e.substring(r.raw.length),s=t[t.length-1],!s||"paragraph"!==s.type&&"text"!==s.type?this.tokens.links[r.tag]||(this.tokens.links[r.tag]={href:r.href,title:r.title}):(s.raw+="\n"+r.raw,s.text+="\n"+r.raw,this.inlineQueue[this.inlineQueue.length-1].src=s.text);else if(r=this.tokenizer.table(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.lheading(e))e=e.substring(r.raw.length),t.push(r);else{if(i=e,this.options.extensions&&this.options.extensions.startBlock){let t=1/0;const n=e.slice(1);let r;this.options.extensions.startBlock.forEach((e=>{r=e.call({lexer:this},n),"number"==typeof r&&r>=0&&(t=Math.min(t,r))})),t<1/0&&t>=0&&(i=e.substring(0,t+1))}if(this.state.top&&(r=this.tokenizer.paragraph(i)))s=t[t.length-1],n&&"paragraph"===s?.type?(s.raw+="\n"+r.raw,s.text+="\n"+r.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=s.text):t.push(r),n=i.length!==e.length,e=e.substring(r.raw.length);else if(r=this.tokenizer.text(e))e=e.substring(r.raw.length),s=t[t.length-1],s&&"text"===s.type?(s.raw+="\n"+r.raw,s.text+="\n"+r.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=s.text):t.push(r);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent)break;throw new Error(t)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let n,r,s,i,l,o,a=e;if(this.tokens.links){const e=Object.keys(this.tokens.links);if(e.length>0)for(;null!=(i=this.tokenizer.rules.inline.reflinkSearch.exec(a));)e.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(a=a.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+a.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(i=this.tokenizer.rules.inline.blockSkip.exec(a));)a=a.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+a.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(i=this.tokenizer.rules.inline.anyPunctuation.exec(a));)a=a.slice(0,i.index)+"++"+a.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(l||(o=""),l=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((r=>!!(n=r.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)))))if(n=this.tokenizer.escape(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.tag(e))e=e.substring(n.raw.length),r=t[t.length-1],r&&"text"===n.type&&"text"===r.type?(r.raw+=n.raw,r.text+=n.text):t.push(n);else if(n=this.tokenizer.link(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(n.raw.length),r=t[t.length-1],r&&"text"===n.type&&"text"===r.type?(r.raw+=n.raw,r.text+=n.text):t.push(n);else if(n=this.tokenizer.emStrong(e,a,o))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.codespan(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.br(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.del(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.autolink(e))e=e.substring(n.raw.length),t.push(n);else if(this.state.inLink||!(n=this.tokenizer.url(e))){if(s=e,this.options.extensions&&this.options.extensions.startInline){let t=1/0;const n=e.slice(1);let r;this.options.extensions.startInline.forEach((e=>{r=e.call({lexer:this},n),"number"==typeof r&&r>=0&&(t=Math.min(t,r))})),t<1/0&&t>=0&&(s=e.substring(0,t+1))}if(n=this.tokenizer.inlineText(s))e=e.substring(n.raw.length),"_"!==n.raw.slice(-1)&&(o=n.raw.slice(-1)),l=!0,r=t[t.length-1],r&&"text"===r.type?(r.raw+=n.raw,r.text+=n.text):t.push(n);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent)break;throw new Error(t)}}else e=e.substring(n.raw.length),t.push(n);return t}}class de{options;parser;constructor(e){this.options=e||f}space(e){return""}code({text:e,lang:t,escaped:n}){const r=(t||"").match(/^\S*/)?.[0],s=e.replace(/\n$/,"")+"\n";return r?'<pre><code class="language-'+$(r)+'">'+(n?s:$(s,!0))+"</code></pre>\n":"<pre><code>"+(n?s:$(s,!0))+"</code></pre>\n"}blockquote({tokens:e}){return`<blockquote>\n${this.parser.parse(e)}</blockquote>\n`}html({text:e}){return e}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>\n`}hr(e){return"<hr>\n"}list(e){const t=e.ordered,n=e.start;let r="";for(let t=0;t<e.items.length;t++){const n=e.items[t];r+=this.listitem(n)}const s=t?"ol":"ul";return"<"+s+(t&&1!==n?' start="'+n+'"':"")+">\n"+r+"</"+s+">\n"}listitem(e){let t="";if(e.task){const n=this.checkbox({checked:!!e.checked});e.loose?e.tokens.length>0&&"paragraph"===e.tokens[0].type?(e.tokens[0].text=n+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&"text"===e.tokens[0].tokens[0].type&&(e.tokens[0].tokens[0].text=n+" "+e.tokens[0].tokens[0].text)):e.tokens.unshift({type:"text",raw:n+" ",text:n+" "}):t+=n+" "}return t+=this.parser.parse(e.tokens,!!e.loose),`<li>${t}</li>\n`}checkbox({checked:e}){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>\n`}table(e){let t="",n="";for(let t=0;t<e.header.length;t++)n+=this.tablecell(e.header[t]);t+=this.tablerow({text:n});let r="";for(let t=0;t<e.rows.length;t++){const s=e.rows[t];n="";for(let e=0;e<s.length;e++)n+=this.tablecell(s[e]);r+=this.tablerow({text:n})}return r&&(r=`<tbody>${r}</tbody>`),"<table>\n<thead>\n"+t+"</thead>\n"+r+"</table>\n"}tablerow({text:e}){return`<tr>\n${e}</tr>\n`}tablecell(e){const t=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>\n`}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>${e}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){const r=this.parser.parseInline(n),s=R(e);if(null===s)return r;let i='<a href="'+(e=s)+'"';return t&&(i+=' title="'+t+'"'),i+=">"+r+"</a>",i}image({href:e,title:t,text:n}){const r=R(e);if(null===r)return n;let s=`<img src="${e=r}" alt="${n}"`;return t&&(s+=` title="${t}"`),s+=">",s}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):e.text}}class ke{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""}}class xe{options;renderer;textRenderer;constructor(e){this.options=e||f,this.options.renderer=this.options.renderer||new de,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new ke}static parse(e,t){return new xe(t).parse(e)}static parseInline(e,t){return new xe(t).parseInline(e)}parse(e,t=!0){let n="";for(let r=0;r<e.length;r++){const s=e[r];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[s.type]){const e=s,t=this.options.extensions.renderers[e.type].call({parser:this},e);if(!1!==t||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(e.type)){n+=t||"";continue}}const i=s;switch(i.type){case"space":n+=this.renderer.space(i);continue;case"hr":n+=this.renderer.hr(i);continue;case"heading":n+=this.renderer.heading(i);continue;case"code":n+=this.renderer.code(i);continue;case"table":n+=this.renderer.table(i);continue;case"blockquote":n+=this.renderer.blockquote(i);continue;case"list":n+=this.renderer.list(i);continue;case"html":n+=this.renderer.html(i);continue;case"paragraph":n+=this.renderer.paragraph(i);continue;case"text":{let s=i,l=this.renderer.text(s);for(;r+1<e.length&&"text"===e[r+1].type;)s=e[++r],l+="\n"+this.renderer.text(s);n+=t?this.renderer.paragraph({type:"paragraph",raw:l,text:l,tokens:[{type:"text",raw:l,text:l}]}):l;continue}default:{const e='Token with "'+i.type+'" type was not found.';if(this.options.silent)return"";throw new Error(e)}}}return n}parseInline(e,t){t=t||this.renderer;let n="";for(let r=0;r<e.length;r++){const s=e[r];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[s.type]){const e=this.options.extensions.renderers[s.type].call({parser:this},s);if(!1!==e||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(s.type)){n+=e||"";continue}}const i=s;switch(i.type){case"escape":case"text":n+=t.text(i);break;case"html":n+=t.html(i);break;case"link":n+=t.link(i);break;case"image":n+=t.image(i);break;case"strong":n+=t.strong(i);break;case"em":n+=t.em(i);break;case"codespan":n+=t.codespan(i);break;case"br":n+=t.br(i);break;case"del":n+=t.del(i);break;default:{const e='Token with "'+i.type+'" type was not found.';if(this.options.silent)return"";throw new Error(e)}}}return n}}class me{options;constructor(e){this.options=e||f}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}}class be{defaults={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null};options=this.setOptions;parse=this.#e(fe.lex,xe.parse);parseInline=this.#e(fe.lexInline,xe.parseInline);Parser=xe;Renderer=de;TextRenderer=ke;Lexer=fe;Tokenizer=I;Hooks=me;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(const r of e)switch(n=n.concat(t.call(this,r)),r.type){case"table":{const e=r;for(const r of e.header)n=n.concat(this.walkTokens(r.tokens,t));for(const r of e.rows)for(const e of r)n=n.concat(this.walkTokens(e.tokens,t));break}case"list":{const e=r;n=n.concat(this.walkTokens(e.items,t));break}default:{const e=r;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach((r=>{const s=e[r].flat(1/0);n=n.concat(this.walkTokens(s,t))})):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){const t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach((e=>{const n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach((e=>{if(!e.name)throw new Error("extension name required");if("renderer"in e){const n=t.renderers[e.name];t.renderers[e.name]=n?function(...t){let r=e.renderer.apply(this,t);return!1===r&&(r=n.apply(this,t)),r}:e.renderer}if("tokenizer"in e){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw new Error("extension level must be 'block' or 'inline'");const n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&("block"===e.level?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:"inline"===e.level&&(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){const t=this.defaults.renderer||new de(this.defaults);for(const n in e.renderer){if(!(n in t))throw new Error(`renderer '${n}' does not exist`);if(["options","parser"].includes(n))continue;const r=n;let s=e.renderer[r];e.useNewRenderer||(s=this.#t(s,r,t));const i=t[r];t[r]=(...e)=>{let n=s.apply(t,e);return!1===n&&(n=i.apply(t,e)),n||""}}n.renderer=t}if(e.tokenizer){const t=this.defaults.tokenizer||new I(this.defaults);for(const n in e.tokenizer){if(!(n in t))throw new Error(`tokenizer '${n}' does not exist`);if(["options","rules","lexer"].includes(n))continue;const r=n,s=e.tokenizer[r],i=t[r];t[r]=(...e)=>{let n=s.apply(t,e);return!1===n&&(n=i.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){const t=this.defaults.hooks||new me;for(const n in e.hooks){if(!(n in t))throw new Error(`hook '${n}' does not exist`);if("options"===n)continue;const r=n,s=e.hooks[r],i=t[r];me.passThroughHooks.has(n)?t[r]=e=>{if(this.defaults.async)return Promise.resolve(s.call(t,e)).then((e=>i.call(t,e)));const n=s.call(t,e);return i.call(t,n)}:t[r]=(...e)=>{let n=s.apply(t,e);return!1===n&&(n=i.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){const 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}#t(e,t,n){switch(t){case"heading":return function(r){return r.type&&r.type===t?e.call(this,n.parser.parseInline(r.tokens),r.depth,function(e){return e.replace(_,((e,t)=>"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""))}(n.parser.parseInline(r.tokens,n.parser.textRenderer))):e.apply(this,arguments)};case"code":return function(n){return n.type&&n.type===t?e.call(this,n.text,n.lang,!!n.escaped):e.apply(this,arguments)};case"table":return function(n){if(!n.type||n.type!==t)return e.apply(this,arguments);let r="",s="";for(let e=0;e<n.header.length;e++)s+=this.tablecell({text:n.header[e].text,tokens:n.header[e].tokens,header:!0,align:n.align[e]});r+=this.tablerow({text:s});let i="";for(let e=0;e<n.rows.length;e++){const t=n.rows[e];s="";for(let e=0;e<t.length;e++)s+=this.tablecell({text:t[e].text,tokens:t[e].tokens,header:!1,align:n.align[e]});i+=this.tablerow({text:s})}return e.call(this,r,i)};case"blockquote":return function(n){if(!n.type||n.type!==t)return e.apply(this,arguments);const r=this.parser.parse(n.tokens);return e.call(this,r)};case"list":return function(n){if(!n.type||n.type!==t)return e.apply(this,arguments);const r=n.ordered,s=n.start,i=n.loose;let l="";for(let e=0;e<n.items.length;e++){const t=n.items[e],r=t.checked,s=t.task;let o="";if(t.task){const e=this.checkbox({checked:!!r});i?t.tokens.length>0&&"paragraph"===t.tokens[0].type?(t.tokens[0].text=e+" "+t.tokens[0].text,t.tokens[0].tokens&&t.tokens[0].tokens.length>0&&"text"===t.tokens[0].tokens[0].type&&(t.tokens[0].tokens[0].text=e+" "+t.tokens[0].tokens[0].text)):t.tokens.unshift({type:"text",text:e+" "}):o+=e+" "}o+=this.parser.parse(t.tokens,i),l+=this.listitem({type:"list_item",raw:o,text:o,task:s,checked:!!r,loose:i,tokens:t.tokens})}return e.call(this,l,r,s)};case"html":return function(n){return n.type&&n.type===t?e.call(this,n.text,n.block):e.apply(this,arguments)};case"paragraph":case"strong":case"em":case"del":return function(n){return n.type&&n.type===t?e.call(this,this.parser.parseInline(n.tokens)):e.apply(this,arguments)};case"escape":case"codespan":case"text":return function(n){return n.type&&n.type===t?e.call(this,n.text):e.apply(this,arguments)};case"link":return function(n){return n.type&&n.type===t?e.call(this,n.href,n.title,this.parser.parseInline(n.tokens)):e.apply(this,arguments)};case"image":return function(n){return n.type&&n.type===t?e.call(this,n.href,n.title,n.text):e.apply(this,arguments)}}return e}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return fe.lex(e,t??this.defaults)}parser(e,t){return xe.parse(e,t??this.defaults)}#e(e,t){return(n,r)=>{const s={...r},i={...this.defaults,...s};!0===this.defaults.async&&!1===s.async&&(i.silent,i.async=!0);const l=this.#n(!!i.silent,!!i.async);if(null==n)return l(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof n)return l(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(n)+", string expected"));if(i.hooks&&(i.hooks.options=i),i.async)return Promise.resolve(i.hooks?i.hooks.preprocess(n):n).then((t=>e(t,i))).then((e=>i.hooks?i.hooks.processAllTokens(e):e)).then((e=>i.walkTokens?Promise.all(this.walkTokens(e,i.walkTokens)).then((()=>e)):e)).then((e=>t(e,i))).then((e=>i.hooks?i.hooks.postprocess(e):e)).catch(l);try{i.hooks&&(n=i.hooks.preprocess(n));let r=e(n,i);i.hooks&&(r=i.hooks.processAllTokens(r)),i.walkTokens&&this.walkTokens(r,i.walkTokens);let s=t(r,i);return i.hooks&&(s=i.hooks.postprocess(s)),s}catch(e){return l(e)}}}#n(e,t){return n=>{if(n.message+="\nPlease report this to https://github.com/markedjs/marked.",e){const e="<p>An error occurred:</p><pre>"+$(n.message+"",!0)+"</pre>";return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}}const ye=new be;function we(e,t){return ye.parse(e,t)}we.options=we.setOptions=function(e){return ye.setOptions(e),we.defaults=ye.defaults,d(we.defaults),we},we.getDefaults=g,we.defaults=f,we.use=function(...e){return ye.use(...e),we.defaults=ye.defaults,d(we.defaults),we},we.walkTokens=function(e,t){return ye.walkTokens(e,t)},we.parseInline=ye.parseInline,we.Parser=xe,we.parser=xe.parse,we.Renderer=de,we.TextRenderer=ke,we.Lexer=fe,we.lexer=fe.lex,we.Tokenizer=I,we.Hooks=me,we.parse=we,we.options,we.setOptions,we.use,we.walkTokens,we.parseInline,xe.parse,fe.lex;var $e,_e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},ze={exports:{}};$e=ze,function(){var n="input is invalid type",r="object"==typeof window,s=r?window:{};s.JS_MD5_NO_WINDOW&&(r=!1);var i=!r&&"object"==typeof self,l=!s.JS_MD5_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node;l?s=_e:i&&(s=self);var o,a=!s.JS_MD5_NO_COMMON_JS&&$e.exports,c=!s.JS_MD5_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,h="0123456789abcdef".split(""),p=[128,32768,8388608,-2147483648],u=[0,8,16,24],g=["hex","array","digest","buffer","arrayBuffer","base64"],f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),d=[];if(c){var k=new ArrayBuffer(68);o=new Uint8Array(k),d=new Uint32Array(k)}var x=Array.isArray;!s.JS_MD5_NO_NODE_JS&&x||(x=function(e){return"[object Array]"===Object.prototype.toString.call(e)});var m=ArrayBuffer.isView;!c||!s.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW&&m||(m=function(e){return"object"==typeof e&&e.buffer&&e.buffer.constructor===ArrayBuffer});var b=function(e){var t=typeof e;if("string"===t)return[e,!0];if("object"!==t||null===e)throw new Error(n);if(c&&e.constructor===ArrayBuffer)return[new Uint8Array(e),!1];if(!x(e)&&!m(e))throw new Error(n);return[e,!1]},y=function(e){return function(t){return new _(!0).update(t)[e]()}},w=function(r){var i,l=e,o=t.Buffer;return i=o.from&&!s.JS_MD5_NO_BUFFER_FROM?o.from:function(e){return new o(e)},function(e){if("string"==typeof e)return l.createHash("md5").update(e,"utf8").digest("hex");if(null==e)throw new Error(n);return e.constructor===ArrayBuffer&&(e=new Uint8Array(e)),x(e)||m(e)||e.constructor===o?l.createHash("md5").update(i(e)).digest("hex"):r(e)}},$=function(e){return function(t,n){return new z(t,!0).update(n)[e]()}};function _(e){if(e)d[0]=d[16]=d[1]=d[2]=d[3]=d[4]=d[5]=d[6]=d[7]=d[8]=d[9]=d[10]=d[11]=d[12]=d[13]=d[14]=d[15]=0,this.blocks=d,this.buffer8=o;else if(c){var t=new ArrayBuffer(68);this.buffer8=new Uint8Array(t),this.blocks=new Uint32Array(t)}else this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.h0=this.h1=this.h2=this.h3=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0}function z(e,t){var n,r=b(e);if(e=r[0],r[1]){var s,i=[],l=e.length,o=0;for(n=0;n<l;++n)(s=e.charCodeAt(n))<128?i[o++]=s:s<2048?(i[o++]=192|s>>>6,i[o++]=128|63&s):s<55296||s>=57344?(i[o++]=224|s>>>12,i[o++]=128|s>>>6&63,i[o++]=128|63&s):(s=65536+((1023&s)<<10|1023&e.charCodeAt(++n)),i[o++]=240|s>>>18,i[o++]=128|s>>>12&63,i[o++]=128|s>>>6&63,i[o++]=128|63&s);e=i}e.length>64&&(e=new _(!0).update(e).array());var a=[],c=[];for(n=0;n<64;++n){var h=e[n]||0;a[n]=92^h,c[n]=54^h}_.call(this,t),this.update(c),this.oKeyPad=a,this.inner=!0,this.sharedMemory=t}_.prototype.update=function(e){if(this.finalized)throw new Error("finalize already called");var t=b(e);e=t[0];for(var n,r,s=t[1],i=0,l=e.length,o=this.blocks,a=this.buffer8;i<l;){if(this.hashed&&(this.hashed=!1,o[0]=o[16],o[16]=o[1]=o[2]=o[3]=o[4]=o[5]=o[6]=o[7]=o[8]=o[9]=o[10]=o[11]=o[12]=o[13]=o[14]=o[15]=0),s)if(c)for(r=this.start;i<l&&r<64;++i)(n=e.charCodeAt(i))<128?a[r++]=n:n<2048?(a[r++]=192|n>>>6,a[r++]=128|63&n):n<55296||n>=57344?(a[r++]=224|n>>>12,a[r++]=128|n>>>6&63,a[r++]=128|63&n):(n=65536+((1023&n)<<10|1023&e.charCodeAt(++i)),a[r++]=240|n>>>18,a[r++]=128|n>>>12&63,a[r++]=128|n>>>6&63,a[r++]=128|63&n);else for(r=this.start;i<l&&r<64;++i)(n=e.charCodeAt(i))<128?o[r>>>2]|=n<<u[3&r++]:n<2048?(o[r>>>2]|=(192|n>>>6)<<u[3&r++],o[r>>>2]|=(128|63&n)<<u[3&r++]):n<55296||n>=57344?(o[r>>>2]|=(224|n>>>12)<<u[3&r++],o[r>>>2]|=(128|n>>>6&63)<<u[3&r++],o[r>>>2]|=(128|63&n)<<u[3&r++]):(n=65536+((1023&n)<<10|1023&e.charCodeAt(++i)),o[r>>>2]|=(240|n>>>18)<<u[3&r++],o[r>>>2]|=(128|n>>>12&63)<<u[3&r++],o[r>>>2]|=(128|n>>>6&63)<<u[3&r++],o[r>>>2]|=(128|63&n)<<u[3&r++]);else if(c)for(r=this.start;i<l&&r<64;++i)a[r++]=e[i];else for(r=this.start;i<l&&r<64;++i)o[r>>>2]|=e[i]<<u[3&r++];this.lastByteIndex=r,this.bytes+=r-this.start,r>=64?(this.start=r-64,this.hash(),this.hashed=!0):this.start=r}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296|0,this.bytes=this.bytes%4294967296),this},_.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex;e[t>>>2]|=p[3&t],t>=56&&(this.hashed||this.hash(),e[0]=e[16],e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=this.bytes<<3,e[15]=this.hBytes<<3|this.bytes>>>29,this.hash()}},_.prototype.hash=function(){var e,t,n,r,s,i,l=this.blocks;this.first?t=((t=((e=((e=l[0]-680876937)<<7|e>>>25)-271733879|0)^(n=((n=(-271733879^(r=((r=(-1732584194^2004318071&e)+l[1]-117830708)<<12|r>>>20)+e|0)&(-271733879^e))+l[2]-1126478375)<<17|n>>>15)+r|0)&(r^e))+l[3]-1316259209)<<22|t>>>10)+n|0:(e=this.h0,t=this.h1,n=this.h2,t=((t+=((e=((e+=((r=this.h3)^t&(n^r))+l[0]-680876936)<<7|e>>>25)+t|0)^(n=((n+=(t^(r=((r+=(n^e&(t^n))+l[1]-389564586)<<12|r>>>20)+e|0)&(e^t))+l[2]+606105819)<<17|n>>>15)+r|0)&(r^e))+l[3]-1044525330)<<22|t>>>10)+n|0),t=((t+=((e=((e+=(r^t&(n^r))+l[4]-176418897)<<7|e>>>25)+t|0)^(n=((n+=(t^(r=((r+=(n^e&(t^n))+l[5]+1200080426)<<12|r>>>20)+e|0)&(e^t))+l[6]-1473231341)<<17|n>>>15)+r|0)&(r^e))+l[7]-45705983)<<22|t>>>10)+n|0,t=((t+=((e=((e+=(r^t&(n^r))+l[8]+1770035416)<<7|e>>>25)+t|0)^(n=((n+=(t^(r=((r+=(n^e&(t^n))+l[9]-1958414417)<<12|r>>>20)+e|0)&(e^t))+l[10]-42063)<<17|n>>>15)+r|0)&(r^e))+l[11]-1990404162)<<22|t>>>10)+n|0,t=((t+=((e=((e+=(r^t&(n^r))+l[12]+1804603682)<<7|e>>>25)+t|0)^(n=((n+=(t^(r=((r+=(n^e&(t^n))+l[13]-40341101)<<12|r>>>20)+e|0)&(e^t))+l[14]-1502002290)<<17|n>>>15)+r|0)&(r^e))+l[15]+1236535329)<<22|t>>>10)+n|0,t=((t+=((r=((r+=(t^n&((e=((e+=(n^r&(t^n))+l[1]-165796510)<<5|e>>>27)+t|0)^t))+l[6]-1069501632)<<9|r>>>23)+e|0)^e&((n=((n+=(e^t&(r^e))+l[11]+643717713)<<14|n>>>18)+r|0)^r))+l[0]-373897302)<<20|t>>>12)+n|0,t=((t+=((r=((r+=(t^n&((e=((e+=(n^r&(t^n))+l[5]-701558691)<<5|e>>>27)+t|0)^t))+l[10]+38016083)<<9|r>>>23)+e|0)^e&((n=((n+=(e^t&(r^e))+l[15]-660478335)<<14|n>>>18)+r|0)^r))+l[4]-405537848)<<20|t>>>12)+n|0,t=((t+=((r=((r+=(t^n&((e=((e+=(n^r&(t^n))+l[9]+568446438)<<5|e>>>27)+t|0)^t))+l[14]-1019803690)<<9|r>>>23)+e|0)^e&((n=((n+=(e^t&(r^e))+l[3]-187363961)<<14|n>>>18)+r|0)^r))+l[8]+1163531501)<<20|t>>>12)+n|0,t=((t+=((r=((r+=(t^n&((e=((e+=(n^r&(t^n))+l[13]-1444681467)<<5|e>>>27)+t|0)^t))+l[2]-51403784)<<9|r>>>23)+e|0)^e&((n=((n+=(e^t&(r^e))+l[7]+1735328473)<<14|n>>>18)+r|0)^r))+l[12]-1926607734)<<20|t>>>12)+n|0,t=((t+=((i=(r=((r+=((s=t^n)^(e=((e+=(s^r)+l[5]-378558)<<4|e>>>28)+t|0))+l[8]-2022574463)<<11|r>>>21)+e|0)^e)^(n=((n+=(i^t)+l[11]+1839030562)<<16|n>>>16)+r|0))+l[14]-35309556)<<23|t>>>9)+n|0,t=((t+=((i=(r=((r+=((s=t^n)^(e=((e+=(s^r)+l[1]-1530992060)<<4|e>>>28)+t|0))+l[4]+1272893353)<<11|r>>>21)+e|0)^e)^(n=((n+=(i^t)+l[7]-155497632)<<16|n>>>16)+r|0))+l[10]-1094730640)<<23|t>>>9)+n|0,t=((t+=((i=(r=((r+=((s=t^n)^(e=((e+=(s^r)+l[13]+681279174)<<4|e>>>28)+t|0))+l[0]-358537222)<<11|r>>>21)+e|0)^e)^(n=((n+=(i^t)+l[3]-722521979)<<16|n>>>16)+r|0))+l[6]+76029189)<<23|t>>>9)+n|0,t=((t+=((i=(r=((r+=((s=t^n)^(e=((e+=(s^r)+l[9]-640364487)<<4|e>>>28)+t|0))+l[12]-421815835)<<11|r>>>21)+e|0)^e)^(n=((n+=(i^t)+l[15]+530742520)<<16|n>>>16)+r|0))+l[2]-995338651)<<23|t>>>9)+n|0,t=((t+=((r=((r+=(t^((e=((e+=(n^(t|~r))+l[0]-198630844)<<6|e>>>26)+t|0)|~n))+l[7]+1126891415)<<10|r>>>22)+e|0)^((n=((n+=(e^(r|~t))+l[14]-1416354905)<<15|n>>>17)+r|0)|~e))+l[5]-57434055)<<21|t>>>11)+n|0,t=((t+=((r=((r+=(t^((e=((e+=(n^(t|~r))+l[12]+1700485571)<<6|e>>>26)+t|0)|~n))+l[3]-1894986606)<<10|r>>>22)+e|0)^((n=((n+=(e^(r|~t))+l[10]-1051523)<<15|n>>>17)+r|0)|~e))+l[1]-2054922799)<<21|t>>>11)+n|0,t=((t+=((r=((r+=(t^((e=((e+=(n^(t|~r))+l[8]+1873313359)<<6|e>>>26)+t|0)|~n))+l[15]-30611744)<<10|r>>>22)+e|0)^((n=((n+=(e^(r|~t))+l[6]-1560198380)<<15|n>>>17)+r|0)|~e))+l[13]+1309151649)<<21|t>>>11)+n|0,t=((t+=((r=((r+=(t^((e=((e+=(n^(t|~r))+l[4]-145523070)<<6|e>>>26)+t|0)|~n))+l[11]-1120210379)<<10|r>>>22)+e|0)^((n=((n+=(e^(r|~t))+l[2]+718787259)<<15|n>>>17)+r|0)|~e))+l[9]-343485551)<<21|t>>>11)+n|0,this.first?(this.h0=e+1732584193|0,this.h1=t-271733879|0,this.h2=n-1732584194|0,this.h3=r+271733878|0,this.first=!1):(this.h0=this.h0+e|0,this.h1=this.h1+t|0,this.h2=this.h2+n|0,this.h3=this.h3+r|0)},_.prototype.hex=function(){this.finalize();var e=this.h0,t=this.h1,n=this.h2,r=this.h3;return h[e>>>4&15]+h[15&e]+h[e>>>12&15]+h[e>>>8&15]+h[e>>>20&15]+h[e>>>16&15]+h[e>>>28&15]+h[e>>>24&15]+h[t>>>4&15]+h[15&t]+h[t>>>12&15]+h[t>>>8&15]+h[t>>>20&15]+h[t>>>16&15]+h[t>>>28&15]+h[t>>>24&15]+h[n>>>4&15]+h[15&n]+h[n>>>12&15]+h[n>>>8&15]+h[n>>>20&15]+h[n>>>16&15]+h[n>>>28&15]+h[n>>>24&15]+h[r>>>4&15]+h[15&r]+h[r>>>12&15]+h[r>>>8&15]+h[r>>>20&15]+h[r>>>16&15]+h[r>>>28&15]+h[r>>>24&15]},_.prototype.toString=_.prototype.hex,_.prototype.digest=function(){this.finalize();var e=this.h0,t=this.h1,n=this.h2,r=this.h3;return[255&e,e>>>8&255,e>>>16&255,e>>>24&255,255&t,t>>>8&255,t>>>16&255,t>>>24&255,255&n,n>>>8&255,n>>>16&255,n>>>24&255,255&r,r>>>8&255,r>>>16&255,r>>>24&255]},_.prototype.array=_.prototype.digest,_.prototype.arrayBuffer=function(){this.finalize();var e=new ArrayBuffer(16),t=new Uint32Array(e);return t[0]=this.h0,t[1]=this.h1,t[2]=this.h2,t[3]=this.h3,e},_.prototype.buffer=_.prototype.arrayBuffer,_.prototype.base64=function(){for(var e,t,n,r="",s=this.array(),i=0;i<15;)e=s[i++],t=s[i++],n=s[i++],r+=f[e>>>2]+f[63&(e<<4|t>>>4)]+f[63&(t<<2|n>>>6)]+f[63&n];return e=s[i],r+=f[e>>>2]+f[e<<4&63]+"=="},z.prototype=new _,z.prototype.finalize=function(){if(_.prototype.finalize.call(this),this.inner){this.inner=!1;var e=this.array();_.call(this,this.sharedMemory),this.update(this.oKeyPad),this.update(e),_.prototype.finalize.call(this)}};var v=function(){var e=y("hex");l&&(e=w(e)),e.create=function(){return new _},e.update=function(t){return e.create().update(t)};for(var t=0;t<g.length;++t){var n=g[t];e[n]=y(n)}return e}();v.md5=v,v.md5.hmac=function(){var e=$("hex");e.create=function(e){return new z(e)},e.update=function(t,n){return e.create(t).update(n)};for(var t=0;t<g.length;++t){var n=g[t];e[n]=$(n)}return e}(),a?$e.exports=v:s.md5=v}();var ve=ze.exports;function Re(e){try{e=encodeURI(e).replace(/%25/g,"%")}catch(e){return null}return e}const Ae={exec:()=>null};function Se(e,t){let n="string"==typeof e?e:e.source;t=t||"";const r=/(^|[^[])\^/g,s={replace:(e,t)=>{let i="string"==typeof t?t:t.source;return i=i.replace(r,"$1"),n=n.replace(e,i),s},getRegex:()=>new RegExp(n,t)};return s}const Te=e=>/^[a-z][\w-]*$/i.test(e)?e:"class-"+ve.md5(e);function je(e){const t=e.match(/^(.*?)(?:\s*=(\d*)(?:x(\d+))?)?$/);if(t){const e=t[1].trim(),n=t[2]?parseInt(t[2],10):null,r=t[3]?parseInt(t[3],10):null;return{text:0===e.length?null:e,width:n,height:r}}return{text:null,width:null,height:null}}function Ie(e,t){const n=e.replace(/\|/g,((e,t,n)=>{let r=!1,s=t;for(;--s>=0&&"\\"===n[s];)r=!r;return r?"|":" |"})).split(/ \|/);let r=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-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(/\\\|/g,"|");return n}const Oe={paragraph({tokens:e}){if(1===e.length&&"image"===e[0].type){const t=e[0];if(null===Re(t.href))return t.text;let n="<figure>\n";if(n+='<section class="img-container">\n',n+=this.image(t)+"\n",n+="</section>\n",t.title){const{text:e}=je(t.title);e&&(n+=`<figcaption>${e}</figcaption>\n`)}return n+="</figure>\n",n}return`<p class="paragraph">${this.parser.parseInline(e)}</p>\n`},list(e){const t=e.ordered,n=e.start;let r="";for(let t=0;t<e.items.length;t++){const n=e.items[t];r+=this.listitem(n)}const s=t?"ol":"ul";return"<"+s+(t&&1!==n?' start="'+n+'"':"")+' class="md-list">\n'+r+"</"+s+">\n"},listitem(e){let t="";if(e.task){const n=this.checkbox({checked:!!e.checked});e.loose?e.tokens.length>0&&"paragraph"===e.tokens[0].type?(e.tokens[0].text=n+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&"text"===e.tokens[0].tokens[0].type&&(e.tokens[0].tokens[0].text=n+" "+e.tokens[0].tokens[0].text)):e.tokens.unshift({type:"text",raw:n+" ",text:n+" "}):t+=n+" "}return t+=this.parser.parse(e.tokens,!!e.loose),`<li class="md-list-item">${t}</li>\n`},table(e){let t="",n="";for(let t=0;t<e.header.length;t++)n+=this.tablecell(e.header[t]);t+=this.tablerow({text:n});let r="";for(let t=0;t<e.rows.length;t++){const s=e.rows[t];n="";for(let e=0;e<s.length;e++)n+=this.tablecell(s[e]);r+=this.tablerow({text:n})}r&&(r=`<tbody>${r}</tbody>\n`);let s="";return e.caption.text&&(s=`<figcaption>${this.parser.parseInline([e.caption])}</figcaption>\n`),"<figure>\n<table>\n<thead>\n"+t+"</thead>\n"+r+"</table>\n"+s+"</figure>\n"}},Ee={image(e){const t=Re(e.href);if(null===t)return e.text;let n=`<img src="${t}" alt="${e.text}"`;if(e.title){const{text:t,width:r,height:s}=je(e.title);t&&(n+=` title="${t}"`),(r||s)&&(n+=' style="',r&&(n+="width:"+r+"px;"),s&&(n+="height:"+s+"px;"),n+='"')}return n+=">",n}},qe=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,De=/(?:[*+-]|\d{1,9}[.)])/,Le=Se(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,De).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/).getRegex(),Me=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Be=/(?!\s*\])(?:\\.|[^[\]\\])+/,Ce=Se(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s]\S*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Be).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Pe=Se(/^( {0,3}bull)([ \t][^\n]+)?(?:\n|$)/).replace(/bull/g,De).getRegex(),Ze="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",Ne=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Ue=Se("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$))","i").replace("comment",Ne).replace("tag",Ze).replace("attribute",/ +[a-z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/i).getRegex(),Qe=Se(Me).replace("hr",qe).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"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ze).getRegex(),Fe={blockquote:Se(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Qe).getRegex(),code:/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,def:Ce,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:qe,html:Ue,lheading:Le,list:Pe,newline:/^(?:[ \t]*(?:\n|$))+/,paragraph:Qe,table:Ae,text:/^[^\n]+/},Je=Se("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",qe).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3}\t)[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ze).getRegex(),He=Object.assign(Object.assign({},Fe),{table:Je,paragraph:Se(Me).replace("hr",qe).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Je).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ze).getRegex()}),We=/^\\([!"#$%&'()*+,\-./:;<=>?@[\]\\^_`{|}~])/,Xe="\\p{P}\\p{S}",Ke=Se(/^((?![*_])[\spunctaio])/,"u").replace(/punctuation/g,Xe).getRegex(),Ve=Se(/^\*+(?:((?!\*)[punct])|[^\s*])|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,Xe).getRegex(),Ye=Se("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,Xe).getRegex(),Ge=Se("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,Xe).getRegex(),et=Se(/\\([punct])/,"gu").replace(/punct/g,Xe).getRegex(),tt=Se(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-z][a-z\d+.-]{1,31}/i).replace("email",/[\w.!#$%&'*+/=?^`{|}~-]+(@)[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)+(?![-_])/i).getRegex(),nt=Se(Ne).replace("(?:--\x3e|$)","--\x3e").getRegex(),rt=Se("^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",nt).replace("attribute",/\s+[a-z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/i).getRegex(),st=/(?:\[(?:\\.|[^[\]\\])*\]|\\.|`[^`]*`|[^[\]\\`])*?/,it=Se(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",st).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),lt=Se(/^!?\[(label)\]\[(ref)\]/).replace("label",st).replace("ref",Be).getRegex(),ot=Se(/^!?\[(ref)\](?:\[\])?/).replace("ref",Be).getRegex(),at={_backpedal:Ae,anyPunctuation:et,autolink:tt,blockSkip:/\[[^[\]]*\]\((?:\\.|[^\\()]|\((?:\\.|[^\\()])*\))*\)|`[^`]*`|<[^<>]*>/g,br:/^( {2,}|\\)\n(?!\s*$)/,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:Ae,emStrongLDelim:Ve,emStrongRDelimAst:Ye,emStrongRDelimUnd:Ge,escape:We,link:it,nolink:ot,punctuation:Ke,reflink:lt,reflinkSearch:Se("reflink|nolink(?!\\()","g").replace("reflink",lt).replace("nolink",ot).getRegex(),tag:rt,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<![`*_]|\b_|$)|[^ ](?= {2,}\n)))/,url:Ae},ct=Object.assign(Object.assign({},at),{escape:Se(We).replace("])","~|])").getRegex(),url:Se(/^((?:ftp|https?):\/\/|www\.)[a-zA-Z\d-][^\s<]*|^email/,"i").replace("email",/[\w.+-]+(@)[\w-]+(?:\.[\w-]*[a-z\d])+(?![-_])/i).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]|\([^)]*\)|&(?![a-z\d]+;$)|[?!.,:;*_'"~)]+(?!$))+/i,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[\w.!#$%&'*+/=?`{|}~-]+@)|[\s\S]*?(?:(?=[\\<![`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^\w.!#$%&'*+/=?`{|}~-](?=[\w.!#$%&'*+/=?`{|}~-]+@)))/}),ht=Object.assign(Object.assign({},ct),{br:Ae,emStrongLDelim:/^\*+(?:([!"#$%&'()+\-.,/:;<=>?@[\]`{|}~_])|[^\s*])/}),pt={block:Object.assign(Object.assign({},He),{lheading:Ae,code:Ae,fences:/^ {0,3}(`{3,}(?=[^`\n[]*(?:\n|$)))([^\n]*)(?:\n|$)([\s\S]*?)(?:\n|$)(?: {0,3}\1`* *(?=\n|$)|$)/,paragraph:Se(Me).replace("hr",qe).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Je).replace("blockquote"," {0,3}(?<!>)>(?!>)").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ze).getRegex(),table:Se("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html|\\|\\|[^\\|]+\\|\\|).*(?:\\n|$))*)(?:(?:\\|\\|([^\\|]+)\\|\\|)?\\n*|$)").replace("hr",qe).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3}\t)[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ze).getRegex(),blockquote:Se(/^( {0,3}(?<!>)>(?!>) ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Qe).getRegex()}),inline:ht};const ut={table(e){const t=pt.block.table.exec(e);if(!t)return;if(!/[:|]/.test(t[2]))return;const n=Ie(t[1]),r=t[2].replace(/^\||\| *$/g,"").split("|"),s=t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[],i=t[5],l={type:"table",raw:t[0],header:[],align:[],rows:[],caption:{type:"text",text:i,raw:i,tokens:this.lexer.inline(i)}};if(n.length===r.length){for(const e of r)/^ *-+: *$/.test(e)?l.align.push("right"):/^ *:-+: *$/.test(e)?l.align.push("center"):/^ *:-+ *$/.test(e)?l.align.push("left"):l.align.push(null);for(let e=0;e<n.length;e++)l.header.push({text:n[e],tokens:this.lexer.inline(n[e]),header:!0,align:l.align[e]});for(const e of s)l.rows.push(Ie(e,l.header.length).map(((e,t)=>({text:e,tokens:this.lexer.inline(e),header:!1,align:l.align[t]}))));return l}},lheading(){},code(){},fences(e){const t=pt.block.fences.exec(e);if(t){const e=t[0],n=function(e,t){const n=e.match(/^(\s+)```/);if(null===n)return t;const r=n[1];return t.split("\n").map((e=>{const t=e.match(/^\s+/);if(null===t)return e;const[n]=t;return n.length>=r.length?e.slice(r.length):e})).join("\n")}(e,t[3]||"");return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(pt.inline.anyPunctuation,"$1"):t[2],text:n}}},br(){},emStrong(e,t,n=""){let r=pt.inline.emStrongLDelim.exec(e);if(!r)return;if(r[3]&&n.match(/[\p{L}\p{N}]/u))return;if(!(r[1]||r[2]||"")||!n||pt.inline.punctuation.exec(n)){const n=[...r[0]].length-1;let s,i,l=n,o=0;const a="*"===r[0][0]?pt.inline.emStrongRDelimAst:pt.inline.emStrongRDelimUnd;for(a.lastIndex=0,t=t.slice(-1*e.length+n);null!=(r=a.exec(t));){if(s=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!s)continue;if(i=[...s].length,r[3]||r[4]){l+=i;continue}if((r[5]||r[6])&&n%3&&!((n+i)%3)){o+=i;continue}if(l-=i,l>0)continue;i=Math.min(i,i+l+o);const t=[...r[0]][0].length,a=e.slice(0,n+r.index+t+i);if(Math.min(n,i)%2){const e=a.slice(1,-1);return{type:"em",raw:a,text:e,tokens:this.lexer.inlineTokens(e)}}const c=a.slice(2,-2);return{type:"strong",raw:a,text:c,tokens:this.lexer.inlineTokens(c)}}}},blockquote(e){const t=pt.block.blockquote.exec(e);if(t){let e=function(e,t,n){const r=e.length;if(0===r)return"";let s=0;for(;s<r;){const i=e.charAt(r-s-1);if(i!==t||n){if(i===t||!n)break;s++}else s++}return e.slice(0,r-s)}(t[0],"\n").split("\n"),n="",r="";const s=[];for(;e.length>0;){let t=!1;const i=[];let l;for(l=0;l<e.length;l++)if(/^ {0,3}>/.test(e[l]))i.push(e[l]),t=!0;else{if(t)break;i.push(e[l])}e=e.slice(l);const o=i.join("\n"),a=o.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,"\n $1").replace(/^ {0,3}>[ \t]?/gm,"");n=n?`${n}\n${o}`:o,r=r?`${r}\n${a}`:a;const c=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(a,s,!0),this.lexer.state.top=c,0===e.length)break;const h=s[s.length-1];if("code"===(null==h?void 0:h.type))break;if("blockquote"===(null==h?void 0:h.type)){const t=h,i=t.raw+"\n"+e.join("\n"),l=this.blockquote(i);s[s.length-1]=l,n=n.substring(0,n.length-t.raw.length)+l.raw,r=r.substring(0,r.length-t.text.length)+l.text;break}if("list"!==(null==h?void 0:h.type));else{const t=h,i=t.raw+"\n"+e.join("\n"),l=this.list(i);s[s.length-1]=l,n=n.substring(0,n.length-h.raw.length)+l.raw,r=r.substring(0,r.length-t.raw.length)+l.raw,e=i.substring(s[s.length-1].raw.length).split("\n")}}return{type:"blockquote",raw:n,tokens:s,text:r}}}};var gt;!function(e){e.Warn="warn",e.Success="success",e.Error="error",e.Info="info"}(gt||(gt={}));const ft={name:"alert",level:"block",start:e=>e.indexOf("^ {0,3}!!!["),tokenizer(e){var t,n,r,s;const i=/^ {0,3}(!{3,}(?=\[[^\n\]]*\](?:\n|$)))\[([^\],]*)(?:,([^\],]*))?(?:,([^\],]+))?\]\n([\s\S]*?)(?:\n|$)(?: {0,3}\1 *(?=\n|$)|$)/.exec(e);if(i){const e=null===(t=i[2])||void 0===t?void 0:t.trim(),l=null===(n=i[3])||void 0===n?void 0:n.trim(),o=null===(r=i[4])||void 0===r?void 0:r.trim(),a=null===(s=i[5])||void 0===s?void 0:s.trim();return{type:"alert",raw:i[0],title:l,icon:o,text:a,ttype:e,tokens:this.lexer.inlineTokens(a)}}},renderer(e){var t;let n="";if("true"===e.icon)switch(e.ttype){case gt.Warn:e.icon="⚠️";break;case gt.Success:e.icon="🎉";break;case gt.Error:e.icon="⛔";break;case gt.Info:e.icon="ℹ️"}const r=void 0!==e.icon?`<span class="icon">${e.icon}</span> `:"";return n+=`<section class="alert ${e.ttype}">`,e.title&&(n+=`<p class="heading">${r}<span class='title'>${e.title}</span></p>`),n+=`<p class="content paragraph">${e.title?"":r}${this.parser.parseInline(null!==(t=e.tokens)&&void 0!==t?t:[])}</p>`,n+="</section>",n}};function dt(e){return(e||"").match(/\S*/)[0]}function kt(e){return t=>{"string"==typeof t&&t!==e.text&&(e.escaped=!0,e.text=t)}}const xt=/[&<>"']/,mt=new RegExp(xt.source,"g"),bt=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,yt=new RegExp(bt.source,"g"),wt={"&":"&","<":"<",">":">",'"':""","'":"'"},$t=e=>wt[e];function _t(e,t){if(t){if(xt.test(e))return e.replace(mt,$t)}else if(bt.test(e))return e.replace(yt,$t);return e}n.registerLanguage("javascript",r),n.registerLanguage("python",l),n.registerLanguage("latex",i),n.registerLanguage("json",s);const zt=new be(function(e){if("function"==typeof e&&(e={highlight:e}),!e||"function"!=typeof e.highlight)throw new Error("Must provide highlight function");return"string"!=typeof e.langPrefix&&(e.langPrefix="language-"),{async:!!e.async,walkTokens(t){if("code"!==t.type)return;const n=dt(t.lang);if(e.async)return Promise.resolve(e.highlight(t.text,n,t.lang||"")).then(kt(t));const r=e.highlight(t.text,n,t.lang||"");if(r instanceof Promise)throw new Error("markedHighlight is not set to async but the highlight function is async. Set the async option to true on markedHighlight to await the async highlight function.");kt(t)(r)},useNewRenderer:!0,renderer:{code(t,n,r){"object"==typeof t&&(r=t.escaped,n=t.lang,t=t.text);const s=dt(n),i=s?` class="${e.langPrefix}${_t(s)}"`:"";return t=t.replace(/\n$/,""),`<pre><code${i}>${r?t:_t(t,!0)}\n</code></pre>`}}}}({highlight(e,t){const r=n.getLanguage(t)?t:"plaintext";return n.highlight(e,{language:r}).value}})),vt={name:"gallery",level:"block",start:e=>e.indexOf("!!!"),tokenizer(e){const t=/^ {0,3}(!{3,}) *\n([\s\S]*?)(?:\n|$)(?: {0,3}\1 *(?=\n|$)|$)/.exec(e);if(t){const e=t[2];return{type:"gallery",raw:t[0],text:e,tokens:this.lexer.blockTokens(e)}}},renderer(e){var t;let n='<section class="gallery-container">\n';return n+='<section class="gallery-wrapper">\n',null===(t=e.tokens)||void 0===t||t.forEach((e=>{var t;"paragraph"===e.type&&(null===(t=e.tokens)||void 0===t||t.forEach((e=>{"image"===e.type&&(n+=zt.parse(e.raw))})))})),n+="</section>\n",n+="</section>\n",n}},Rt={name:"footnoteRef",level:"inline",start:e=>e.indexOf("[^"),tokenizer:e=>{const t=/^\[\^([^\]]+)\]/.exec(e);if(t){const e=t[1].trim();return{type:"footnoteRef",raw:t[0],id:e,tokens:[]}}},renderer:e=>`<span class="footnote-ref" id="footnote-ref-${e.id}"><sup><a href="#footnote-${e.id}">[${e.number}]</a></sup></span>`},At={name:"footnoteDef",level:"block",start:e=>e.indexOf("[^"),tokenizer(e){const t=/^\[\^(.+?)\]: ([\s\S]*?)(?:\n+|$)/.exec(e);if(t){const e=t[1].trim(),n=t[2].trim();return{type:"footnoteDef",raw:t[0],id:e,text:n,tokens:this.lexer.inlineTokens(n)}}},renderer(e){var t;const n=` <a href="#footnote-ref-${e.id}"> ⬅ </a>`;return`<li class="footnote-def" key="${e.number}" id="footnote-${e.id}">${this.parser.parseInline(null!==(t=null==e?void 0:e.tokens)&&void 0!==t?t:[])}${e.isolated?"":n}</li>`}},St=e=>{const t={};let n=1;return function e(r){r.forEach((r=>{"footnoteRef"===r.type&&(r.id in t||(t[r.id]=n,n++),r.number=t[r.id]),"list"===r.type&&r.items.forEach((t=>{t.tokens&&t.tokens.length>0&&e(t.tokens)})),r.tokens&&r.tokens.length>0&&e(r.tokens)}))}(e),function e(r){r.forEach((r=>{"footnoteDef"===r.type&&(r.isolated=!1,r.id in t||(t[r.id]=n,n++,r.isolated=!0),r.number=t[r.id]),r.tokens&&r.tokens.length>0&&e(r.tokens)}))}(e),e};var Tt;!function(e){e.PROOF="proof",e.SOLUTION="solution"}(Tt||(Tt={}));const jt={[Tt.PROOF]:"证明",[Tt.SOLUTION]:"解答"},It={name:"solution",level:"block",start:e=>e.indexOf("~~~["),tokenizer(e){var t;const n=/^ {0,3}(~{3,}(?=\[[^\n\]]*\](?:\n|$)))\[([^\],]*)\]\n([\s\S]*?)(?:\n|$)(?: {0,3}\1~* *(?=\n|$)|$)/.exec(e);if(n){const e=n[2].trim(),r=n[3].trim();return{type:"solution",raw:n[0],stype:e,typeName:null!==(t=jt[e])&&void 0!==t?t:e,text:r,tokens:this.lexer.blockTokens(r)}}},renderer(e){var t;return`<details class="solution ${Te(e.stype)}"><summary>${e.typeName}</summary>\n <section class="content">\n ${this.parser.parse(null!==(t=null==e?void 0:e.tokens)&&void 0!==t?t:[])}\n </section></details>`}};var Ot;!function(e){e.Theorem="theorem",e.Lemma="lemma",e.Corollary="corollary",e.Axiom="axiom",e.Definition="definition",e.Example="example"}(Ot||(Ot={}));const Et={[Ot.Theorem]:"定理",[Ot.Lemma]:"引理",[Ot.Corollary]:"推论",[Ot.Axiom]:"公理",[Ot.Definition]:"定义",[Ot.Example]:"例"},qt={name:"theoremLikeRef",level:"inline",start:e=>e.indexOf("[~"),tokenizer:e=>{const t=/^\[~([^\]]+)\]/.exec(e);if(t){const e=t[1].trim();return{type:"theoremLikeRef",raw:t[0],id:e,tokens:[]}}},renderer:e=>`<a id="theorem-like-ref-${e.id}" href="#theorem-like-${e.id}">${(e.typeName+" "+e.number).trimEnd()}</a>`},Dt={name:"theoremLikeDef",level:"block",start:e=>e.indexOf("```["),tokenizer(e){var t,n,r,s,i,l;const o=/^ {0,3}(`{3,}(?=\[[^\n\]]*\](?:\n|$)))\[([^\],]*),([^\],]*)(?:,([^\],]+))?\]\n([\s\S]*?)(?:\n|$)(?: {0,3}\1 *(?=\n|$)|$)/.exec(e);if(o){const e=null===(t=o[2])||void 0===t?void 0:t.trim().replace(/\*$/,""),a=null===(n=o[2])||void 0===n?void 0:n.trim().endsWith("*"),c=null===(r=o[3])||void 0===r?void 0:r.trim(),h=null===(s=o[4])||void 0===s?void 0:s.trim(),p=null===(i=o[5])||void 0===i?void 0:i.trim();return{type:"theoremLikeDef",raw:o[0],id:c,name:h,text:p,ttype:e,typeName:null!==(l=Et[e])&&void 0!==l?l:e,tokens:this.lexer.blockTokens(p),unnumbered:a}}},renderer(e){var t;return`<section class="theorem-like ${Te(e.ttype)}" id="theorem-like-${e.id}">\n <p class="title"><b>${e.typeName}</b>${e.unnumbered?"":" "+e.number}${e.name?" ( <em>"+e.name+"</em> )":""}\n </p>\n <section class="content">\n ${this.parser.parse(null!==(t=null==e?void 0:e.tokens)&&void 0!==t?t:[])}\n </section> \n</section>`}},Lt=/^>>>([^\r\n]+?) *(?<!\\)\[ *([^\r\n]+?) *\|\s*([^\r\n]+?) *\| *([^\r\n]+?) *(?<!\\)\] *<<</,Mt={name:"tooltip",level:"inline",start:e=>e.indexOf(">>>"),tokenizer(e){const t=Lt.exec(e);if(t){const[e,n,r,s,i]=t;return{type:"tooltip",id:"id-"+ve.md5(e),raw:e,title:r,text:n,imageUrl:i,description:{type:"text",text:s,raw:s,tokens:this.lexer.inline(s)},tokens:this.lexer.inlineTokens(n.trim())}}},renderer(e){var t;let n='<span class="tooltip-container">\n';return n+=`<input type="checkbox" id=${e.id} class="tooltip-toggle">`,n+=`<label for=${e.id} class="tooltip-trigger">${this.parser.parseInline(null!==(t=e.tokens)&&void 0!==t?t:[])}</label>\n`,n+='<span class="tooltip">\n',e.imageUrl.trim()&&(n+=`<span class="tooltip-image"><img src="${e.imageUrl.trim()}" alt="${e.title.trim()}"></span>\n`),e.title.trim()&&(n+=`<span class="tooltip-title">${e.title.trim()}</span>\n`),e.description.raw.trim()&&(n+=`<span class="tooltip-description">${this.parser.parseInline([e.description])}</span>\n`),n+="</span>\n</span>\n",n}};function Bt(e){return e.replace(/\s*<\s*/g," \\lt ").replace(/\s*>\s*/g," \\gt ")}const Ct={name:"inlineMath",level:"inline",start:e=>e.indexOf("$"),tokenizer(e){const t=/^\$(?:[^$]|\\\$)+\$(?!\$)/.exec(e);if(t)return{type:"inlineMath",raw:t[0],text:t[0]}},renderer:e=>Bt(e.text)},Pt={name:"inlineMath2",level:"inline",start:e=>e.indexOf("\\("),tokenizer(e){const t=e.match(/^\\\(.*?\\\)/);if(t)return{type:"inlineMath2",raw:t[0],text:t[0]}},renderer:e=>Bt(e.text)},Zt={name:"blockMath",level:"block",start:e=>e.indexOf("$$"),tokenizer(e){const t=e.match(/^\${2}(?:[^$]|\\\$|\$[^$])+\${2}(?!\$)/);if(t)return{type:"blockMath",raw:t[0],text:t[0].trim()}},renderer:e=>`<p class="paragraph">${Bt(e.text)}</p>\n`},Nt={name:"blockMath2",level:"block",start:e=>e.indexOf("\\["),tokenizer(e){const t=e.match(/^\\\[(?:[^$]|\\\$)+\\\]/);if(t)return{type:"blockMath2",raw:t[0],text:t[0].trim()}},renderer:e=>`<p class="paragraph">${Bt(e.text)}</p>\n`},Ut=e=>{const t=new Date,n=new be;n.use({extensions:[Ct,Pt],tokenizer:Object.assign({},ut),renderer:Object.assign({},Ee)});const r=n.Lexer.lexInline(e,n.defaults);return{parsed:n.parseInline(e),lexed:r,time:(new Date).getTime()-t.getTime()}},Qt=e=>{const t={renderer:Object.assign(Object.assign({},Oe),Ee),tokenizer:Object.assign({},ut),useNewRenderer:!0,gfm:!0,extensions:[Ct,Pt,Zt,Nt,Rt,At,Dt,qt,It,ft,vt,Mt],hooks:{preprocess:e=>e,processAllTokens:e=>(e=>{const t={[Ot.Theorem]:0,[Ot.Lemma]:0,[Ot.Corollary]:0,[Ot.Axiom]:0,[Ot.Definition]:0,[Ot.Example]:0},n={};return function e(r){r.forEach((r=>{"theoremLikeDef"===r.type&&(r.ttype in t?t[r.ttype]=t[r.ttype]+1:t[r.ttype]=1,r.number=r.unnumbered?"":t[r.ttype],n[r.id]={typeName:r.typeName,number:r.number}),r.tokens&&r.tokens.length>0&&e(r.tokens)}))}(e),function e(t){t.forEach((t=>{"theoremLikeRef"===t.type&&t.id in n&&(t.number=n[t.id].number,t.typeName=n[t.id].typeName),"list"===t.type&&t.items.forEach((t=>{t.tokens&&t.tokens.length>0&&e(t.tokens)})),t.tokens&&t.tokens.length>0&&e(t.tokens)}))}(e),e})(St(e)),postprocess:e=>(e=>{const t=[];return e=e.replaceAll(/<li class="footnote-def" key="(\d+)".*?<\/li>/g,((e,n)=>(t.push({key:parseInt(n),content:e}),""))),t.sort(((e,t)=>e.key-t.key)),e=e.replaceAll(/<ol class="footnote-list">.*?<\/ol>/g,(()=>"")),t.length>0&&(e+=`<ol class="footnote-list">${t.map((e=>e.content)).join("")}</ol>`),e})(e)}};zt.use(t);const n=new Date,r=St(zt.lexer(e));return{parsed:zt.parse(e),lexed:r,time:(new Date).getTime()-n.getTime()}},Ft=e=>{try{const t=o({fontSize:13});a(t);const n=new h({packages:c,inlineMath:[["$","$"],["\\(","\\)"]],displayMath:[["$$","$$"],["\\[","\\]"]],macros:{parallelogram:"\\unicode{x25B1}"}}),r=new u({fontCache:"none"}),s=p.document(e,{InputJax:n,OutputJax:r});return s.render(),t.innerHTML(t.body(s.document))}catch(t){return e}};export{Qt as renderMarkdown,Ut as renderMarkdownCompact,Ft as tex2svg};
|
|
1
|
+
import e from"highlight.js";import t from"highlight.js/lib/languages/javascript";import n from"highlight.js/lib/languages/json";import r from"highlight.js/lib/languages/latex";import s from"highlight.js/lib/languages/python";import{liteAdaptor as i}from"mathjax-full/js/adaptors/liteAdaptor.js";import{RegisterHTMLHandler as l}from"mathjax-full/js/handlers/html.js";import{AllPackages as o}from"mathjax-full/js/input/tex/AllPackages.js";import{TeX as a}from"mathjax-full/js/input/tex.js";import{mathjax as c}from"mathjax-full/js/mathjax.js";import{SVG as h}from"mathjax-full/js/output/svg.js";function p(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let u={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null};function g(e){u=e}const f=/[&<>"']/,d=new RegExp(f.source,"g"),k=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,x=new RegExp(k.source,"g"),m={"&":"&","<":"<",">":">",'"':""","'":"'"},b=e=>m[e];function y(e,t){if(t){if(f.test(e))return e.replace(d,b)}else if(k.test(e))return e.replace(x,b);return e}const w=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;const $=/(^|[^\[])\^/g;function _(e,t){let n="string"==typeof e?e:e.source;t=t||"";const r={replace:(e,t)=>{let s="string"==typeof t?t:t.source;return s=s.replace($,"$1"),n=n.replace(e,s),r},getRegex:()=>new RegExp(n,t)};return r}function z(e){try{e=encodeURI(e).replace(/%25/g,"%")}catch{return null}return e}const v={exec:()=>null};function R(e,t){const n=e.replace(/\|/g,((e,t,n)=>{let r=!1,s=t;for(;--s>=0&&"\\"===n[s];)r=!r;return r?"|":" |"})).split(/ \|/);let r=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-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(/\\\|/g,"|");return n}function A(e,t,n){const r=e.length;if(0===r)return"";let s=0;for(;s<r;){const i=e.charAt(r-s-1);if(i!==t||n){if(i===t||!n)break;s++}else s++}return e.slice(0,r-s)}function S(e,t,n,r){const s=t.href,i=t.title?y(t.title):null,l=e[1].replace(/\\([\[\]])/g,"$1");if("!"!==e[0].charAt(0)){r.state.inLink=!0;const e={type:"link",raw:n,href:s,title:i,text:l,tokens:r.inlineTokens(l)};return r.state.inLink=!1,e}return{type:"image",raw:n,href:s,title:i,text:y(l)}}class T{options;rules;lexer;constructor(e){this.options=e||u}space(e){const t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){const t=this.rules.block.code.exec(e);if(t){const e=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:A(e,"\n")}}}fences(e){const t=this.rules.block.fences.exec(e);if(t){const e=t[0],n=function(e,t){const n=e.match(/^(\s+)(?:```)/);if(null===n)return t;const r=n[1];return t.split("\n").map((e=>{const t=e.match(/^\s+/);if(null===t)return e;const[n]=t;return n.length>=r.length?e.slice(r.length):e})).join("\n")}(e,t[3]||"");return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:n}}}heading(e){const t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(/#$/.test(e)){const t=A(e,"#");this.options.pedantic?e=t.trim():t&&!/ $/.test(t)||(e=t.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){const t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:A(t[0],"\n")}}blockquote(e){const t=this.rules.block.blockquote.exec(e);if(t){let e=A(t[0],"\n").split("\n"),n="",r="";const s=[];for(;e.length>0;){let t=!1;const i=[];let l;for(l=0;l<e.length;l++)if(/^ {0,3}>/.test(e[l]))i.push(e[l]),t=!0;else{if(t)break;i.push(e[l])}e=e.slice(l);const o=i.join("\n"),a=o.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,"\n $1").replace(/^ {0,3}>[ \t]?/gm,"");n=n?`${n}\n${o}`:o,r=r?`${r}\n${a}`:a;const c=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(a,s,!0),this.lexer.state.top=c,0===e.length)break;const h=s[s.length-1];if("code"===h?.type)break;if("blockquote"===h?.type){const t=h,i=t.raw+"\n"+e.join("\n"),l=this.blockquote(i);s[s.length-1]=l,n=n.substring(0,n.length-t.raw.length)+l.raw,r=r.substring(0,r.length-t.text.length)+l.text;break}if("list"!==h?.type);else{const t=h,i=t.raw+"\n"+e.join("\n"),l=this.list(i);s[s.length-1]=l,n=n.substring(0,n.length-h.raw.length)+l.raw,r=r.substring(0,r.length-t.raw.length)+l.raw,e=i.substring(s[s.length-1].raw.length).split("\n")}}return{type:"blockquote",raw:n,tokens:s,text:r}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim();const r=n.length>1,s={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:"[*+-]");const i=new RegExp(`^( {0,3}${n})((?:[\t ][^\\n]*)?(?:\\n|$))`);let l=!1;for(;e;){let n=!1,r="",o="";if(!(t=i.exec(e)))break;if(this.rules.block.hr.test(e))break;r=t[0],e=e.substring(r.length);let a=t[2].split("\n",1)[0].replace(/^\t+/,(e=>" ".repeat(3*e.length))),c=e.split("\n",1)[0],h=!a.trim(),p=0;if(this.options.pedantic?(p=2,o=a.trimStart()):h?p=t[1].length+1:(p=t[2].search(/[^ ]/),p=p>4?1:p,o=a.slice(p),p+=t[1].length),h&&/^ *$/.test(c)&&(r+=c+"\n",e=e.substring(c.length+1),n=!0),!n){const t=new RegExp(`^ {0,${Math.min(3,p-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`),n=new RegExp(`^ {0,${Math.min(3,p-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),s=new RegExp(`^ {0,${Math.min(3,p-1)}}(?:\`\`\`|~~~)`),i=new RegExp(`^ {0,${Math.min(3,p-1)}}#`);for(;e;){const l=e.split("\n",1)[0];if(c=l,this.options.pedantic&&(c=c.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),s.test(c))break;if(i.test(c))break;if(t.test(c))break;if(n.test(e))break;if(c.search(/[^ ]/)>=p||!c.trim())o+="\n"+c.slice(p);else{if(h)break;if(a.search(/[^ ]/)>=4)break;if(s.test(a))break;if(i.test(a))break;if(n.test(a))break;o+="\n"+c}h||c.trim()||(h=!0),r+=l+"\n",e=e.substring(l.length+1),a=c.slice(p)}}s.loose||(l?s.loose=!0:/\n *\n *$/.test(r)&&(l=!0));let u,g=null;this.options.gfm&&(g=/^\[[ xX]\] /.exec(o),g&&(u="[ ] "!==g[0],o=o.replace(/^\[[ xX]\] +/,""))),s.items.push({type:"list_item",raw:r,task:!!g,checked:u,loose:!1,text:o,tokens:[]}),s.raw+=r}s.items[s.items.length-1].raw=s.items[s.items.length-1].raw.trimEnd(),s.items[s.items.length-1].text=s.items[s.items.length-1].text.trimEnd(),s.raw=s.raw.trimEnd();for(let e=0;e<s.items.length;e++)if(this.lexer.state.top=!1,s.items[e].tokens=this.lexer.blockTokens(s.items[e].text,[]),!s.loose){const t=s.items[e].tokens.filter((e=>"space"===e.type)),n=t.length>0&&t.some((e=>/\n.*\n/.test(e.raw)));s.loose=n}if(s.loose)for(let e=0;e<s.items.length;e++)s.items[e].loose=!0;return s}}html(e){const t=this.rules.block.html.exec(e);if(t){return{type:"html",block:!0,raw:t[0],pre:"pre"===t[1]||"script"===t[1]||"style"===t[1],text:t[0]}}}def(e){const t=this.rules.block.def.exec(e);if(t){const e=t[1].toLowerCase().replace(/\s+/g," "),n=t[2]?t[2].replace(/^<(.*)>$/,"$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:t[0],href:n,title:r}}}table(e){const t=this.rules.block.table.exec(e);if(!t)return;if(!/[:|]/.test(t[2]))return;const n=R(t[1]),r=t[2].replace(/^\||\| *$/g,"").split("|"),s=t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[],i={type:"table",raw:t[0],header:[],align:[],rows:[]};if(n.length===r.length){for(const e of r)/^ *-+: *$/.test(e)?i.align.push("right"):/^ *:-+: *$/.test(e)?i.align.push("center"):/^ *:-+ *$/.test(e)?i.align.push("left"):i.align.push(null);for(let e=0;e<n.length;e++)i.header.push({text:n[e],tokens:this.lexer.inline(n[e]),header:!0,align:i.align[e]});for(const e of s)i.rows.push(R(e,i.header.length).map(((e,t)=>({text:e,tokens:this.lexer.inline(e),header:!1,align:i.align[t]}))));return i}}lheading(e){const t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:"="===t[2].charAt(0)?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){const t=this.rules.block.paragraph.exec(e);if(t){const e="\n"===t[1].charAt(t[1].length-1)?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){const 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){const t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:y(t[1])}}tag(e){const t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&/^<a /i.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\/a>/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.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){const t=this.rules.inline.link.exec(e);if(t){const e=t[2].trim();if(!this.options.pedantic&&/^</.test(e)){if(!/>$/.test(e))return;const t=A(e.slice(0,-1),"\\");if((e.length-t.length)%2==0)return}else{const e=function(e,t){if(-1===e.indexOf(t[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-1}(t[2],"()");if(e>-1){const n=(0===t[0].indexOf("!")?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){const e=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):"";return n=n.trim(),/^</.test(n)&&(n=this.options.pedantic&&!/>$/.test(e)?n.slice(1):n.slice(1,-1)),S(t,{href:n?n.replace(this.rules.inline.anyPunctuation,"$1"):n,title:r?r.replace(this.rules.inline.anyPunctuation,"$1"):r},t[0],this.lexer)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){const e=t[(n[2]||n[1]).replace(/\s+/g," ").toLowerCase()];if(!e){const e=n[0].charAt(0);return{type:"text",raw:e,text:e}}return S(n,e,n[0],this.lexer)}}emStrong(e,t,n=""){let r=this.rules.inline.emStrongLDelim.exec(e);if(!r)return;if(r[3]&&n.match(/[\p{L}\p{N}]/u))return;if(!(r[1]||r[2]||"")||!n||this.rules.inline.punctuation.exec(n)){const n=[...r[0]].length-1;let s,i,l=n,o=0;const a="*"===r[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(a.lastIndex=0,t=t.slice(-1*e.length+n);null!=(r=a.exec(t));){if(s=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!s)continue;if(i=[...s].length,r[3]||r[4]){l+=i;continue}if((r[5]||r[6])&&n%3&&!((n+i)%3)){o+=i;continue}if(l-=i,l>0)continue;i=Math.min(i,i+l+o);const t=[...r[0]][0].length,a=e.slice(0,n+r.index+t+i);if(Math.min(n,i)%2){const e=a.slice(1,-1);return{type:"em",raw:a,text:e,tokens:this.lexer.inlineTokens(e)}}const c=a.slice(2,-2);return{type:"strong",raw:a,text:c,tokens:this.lexer.inlineTokens(c)}}}}codespan(e){const t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(/\n/g," ");const n=/[^ ]/.test(e),r=/^ /.test(e)&&/ $/.test(e);return n&&r&&(e=e.substring(1,e.length-1)),e=y(e,!0),{type:"codespan",raw:t[0],text:e}}}br(e){const t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){const t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){const t=this.rules.inline.autolink.exec(e);if(t){let e,n;return"@"===t[2]?(e=y(t[1]),n="mailto:"+e):(e=y(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=y(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=y(t[0]),n="www."===t[1]?"http://"+t[0]:t[0]}return{type:"link",raw:t[0],text:e,href:n,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e){const t=this.rules.inline.text.exec(e);if(t){let e;return e=this.lexer.state.inRawBlock?t[0]:y(t[0]),{type:"text",raw:t[0],text:e}}}}const j=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,O=/(?:[*+-]|\d{1,9}[.)])/,E=_(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,O).replace(/blockCode/g,/ {4}/).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/).getRegex(),I=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,q=/(?!\s*\])(?:\\.|[^\[\]\\])+/,D=_(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",q).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),L=_(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,O).getRegex(),M="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",B=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,P=_("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\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",B).replace("tag",M).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),C=_(I).replace("hr",j).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"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",M).getRegex(),Z={blockquote:_(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",C).getRegex(),code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,def:D,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:j,html:P,lheading:E,list:L,newline:/^(?: *(?:\n|$))+/,paragraph:C,table:v,text:/^[^\n]+/},N=_("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",j).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",M).getRegex(),U={...Z,table:N,paragraph:_(I).replace("hr",j).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",N).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",M).getRegex()},Q={...Z,html:_("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",B).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:v,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:_(I).replace("hr",j).replace("heading"," *#{1,6} *[^\n]").replace("lheading",E).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},F=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,J=/^( {2,}|\\)\n(?!\s*$)/,H="\\p{P}\\p{S}",W=_(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,H).getRegex(),X=_(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,H).getRegex(),K=_("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,H).getRegex(),V=_("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,H).getRegex(),Y=_(/\\([punct])/,"gu").replace(/punct/g,H).getRegex(),G=_(/^<(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(),ee=_(B).replace("(?:--\x3e|$)","--\x3e").getRegex(),te=_("^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",ee).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),ne=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,re=_(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",ne).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),se=_(/^!?\[(label)\]\[(ref)\]/).replace("label",ne).replace("ref",q).getRegex(),ie=_(/^!?\[(ref)\](?:\[\])?/).replace("ref",q).getRegex(),le={_backpedal:v,anyPunctuation:Y,autolink:G,blockSkip:/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,br:J,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:v,emStrongLDelim:X,emStrongRDelimAst:K,emStrongRDelimUnd:V,escape:F,link:re,nolink:ie,punctuation:W,reflink:se,reflinkSearch:_("reflink|nolink(?!\\()","g").replace("reflink",se).replace("nolink",ie).getRegex(),tag:te,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,url:v},oe={...le,link:_(/^!?\[(label)\]\((.*?)\)/).replace("label",ne).getRegex(),reflink:_(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",ne).getRegex()},ae={...le,escape:_(F).replace("])","~|])").getRegex(),url:_(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").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~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},ce={...ae,br:_(J).replace("{2,}","*").getRegex(),text:_(ae.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},he={normal:Z,gfm:U,pedantic:Q},pe={normal:le,gfm:ae,breaks:ce,pedantic:oe};class ue{tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||u,this.options.tokenizer=this.options.tokenizer||new T,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const t={block:he.normal,inline:pe.normal};this.options.pedantic?(t.block=he.pedantic,t.inline=pe.pedantic):this.options.gfm&&(t.block=he.gfm,this.options.breaks?t.inline=pe.breaks:t.inline=pe.gfm),this.tokenizer.rules=t}static get rules(){return{block:he,inline:pe}}static lex(e,t){return new ue(t).lex(e)}static lexInline(e,t){return new ue(t).inlineTokens(e)}lex(e){e=e.replace(/\r\n|\r/g,"\n"),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){const t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){let r,s,i;for(e=this.options.pedantic?e.replace(/\t/g," ").replace(/^ +$/gm,""):e.replace(/^( *)(\t+)/gm,((e,t,n)=>t+" ".repeat(n.length)));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some((n=>!!(r=n.call({lexer:this},e,t))&&(e=e.substring(r.raw.length),t.push(r),!0)))))if(r=this.tokenizer.space(e))e=e.substring(r.raw.length),1===r.raw.length&&t.length>0?t[t.length-1].raw+="\n":t.push(r);else if(r=this.tokenizer.code(e))e=e.substring(r.raw.length),s=t[t.length-1],!s||"paragraph"!==s.type&&"text"!==s.type?t.push(r):(s.raw+="\n"+r.raw,s.text+="\n"+r.text,this.inlineQueue[this.inlineQueue.length-1].src=s.text);else if(r=this.tokenizer.fences(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.heading(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.hr(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.blockquote(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.list(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.html(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.def(e))e=e.substring(r.raw.length),s=t[t.length-1],!s||"paragraph"!==s.type&&"text"!==s.type?this.tokens.links[r.tag]||(this.tokens.links[r.tag]={href:r.href,title:r.title}):(s.raw+="\n"+r.raw,s.text+="\n"+r.raw,this.inlineQueue[this.inlineQueue.length-1].src=s.text);else if(r=this.tokenizer.table(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.lheading(e))e=e.substring(r.raw.length),t.push(r);else{if(i=e,this.options.extensions&&this.options.extensions.startBlock){let t=1/0;const n=e.slice(1);let r;this.options.extensions.startBlock.forEach((e=>{r=e.call({lexer:this},n),"number"==typeof r&&r>=0&&(t=Math.min(t,r))})),t<1/0&&t>=0&&(i=e.substring(0,t+1))}if(this.state.top&&(r=this.tokenizer.paragraph(i)))s=t[t.length-1],n&&"paragraph"===s?.type?(s.raw+="\n"+r.raw,s.text+="\n"+r.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=s.text):t.push(r),n=i.length!==e.length,e=e.substring(r.raw.length);else if(r=this.tokenizer.text(e))e=e.substring(r.raw.length),s=t[t.length-1],s&&"text"===s.type?(s.raw+="\n"+r.raw,s.text+="\n"+r.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=s.text):t.push(r);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent)break;throw new Error(t)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let n,r,s,i,l,o,a=e;if(this.tokens.links){const e=Object.keys(this.tokens.links);if(e.length>0)for(;null!=(i=this.tokenizer.rules.inline.reflinkSearch.exec(a));)e.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(a=a.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+a.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(i=this.tokenizer.rules.inline.blockSkip.exec(a));)a=a.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+a.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(i=this.tokenizer.rules.inline.anyPunctuation.exec(a));)a=a.slice(0,i.index)+"++"+a.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(l||(o=""),l=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((r=>!!(n=r.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)))))if(n=this.tokenizer.escape(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.tag(e))e=e.substring(n.raw.length),r=t[t.length-1],r&&"text"===n.type&&"text"===r.type?(r.raw+=n.raw,r.text+=n.text):t.push(n);else if(n=this.tokenizer.link(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(n.raw.length),r=t[t.length-1],r&&"text"===n.type&&"text"===r.type?(r.raw+=n.raw,r.text+=n.text):t.push(n);else if(n=this.tokenizer.emStrong(e,a,o))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.codespan(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.br(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.del(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.autolink(e))e=e.substring(n.raw.length),t.push(n);else if(this.state.inLink||!(n=this.tokenizer.url(e))){if(s=e,this.options.extensions&&this.options.extensions.startInline){let t=1/0;const n=e.slice(1);let r;this.options.extensions.startInline.forEach((e=>{r=e.call({lexer:this},n),"number"==typeof r&&r>=0&&(t=Math.min(t,r))})),t<1/0&&t>=0&&(s=e.substring(0,t+1))}if(n=this.tokenizer.inlineText(s))e=e.substring(n.raw.length),"_"!==n.raw.slice(-1)&&(o=n.raw.slice(-1)),l=!0,r=t[t.length-1],r&&"text"===r.type?(r.raw+=n.raw,r.text+=n.text):t.push(n);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent)break;throw new Error(t)}}else e=e.substring(n.raw.length),t.push(n);return t}}class ge{options;parser;constructor(e){this.options=e||u}space(e){return""}code({text:e,lang:t,escaped:n}){const r=(t||"").match(/^\S*/)?.[0],s=e.replace(/\n$/,"")+"\n";return r?'<pre><code class="language-'+y(r)+'">'+(n?s:y(s,!0))+"</code></pre>\n":"<pre><code>"+(n?s:y(s,!0))+"</code></pre>\n"}blockquote({tokens:e}){return`<blockquote>\n${this.parser.parse(e)}</blockquote>\n`}html({text:e}){return e}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>\n`}hr(e){return"<hr>\n"}list(e){const t=e.ordered,n=e.start;let r="";for(let t=0;t<e.items.length;t++){const n=e.items[t];r+=this.listitem(n)}const s=t?"ol":"ul";return"<"+s+(t&&1!==n?' start="'+n+'"':"")+">\n"+r+"</"+s+">\n"}listitem(e){let t="";if(e.task){const n=this.checkbox({checked:!!e.checked});e.loose?e.tokens.length>0&&"paragraph"===e.tokens[0].type?(e.tokens[0].text=n+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&"text"===e.tokens[0].tokens[0].type&&(e.tokens[0].tokens[0].text=n+" "+e.tokens[0].tokens[0].text)):e.tokens.unshift({type:"text",raw:n+" ",text:n+" "}):t+=n+" "}return t+=this.parser.parse(e.tokens,!!e.loose),`<li>${t}</li>\n`}checkbox({checked:e}){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>\n`}table(e){let t="",n="";for(let t=0;t<e.header.length;t++)n+=this.tablecell(e.header[t]);t+=this.tablerow({text:n});let r="";for(let t=0;t<e.rows.length;t++){const s=e.rows[t];n="";for(let e=0;e<s.length;e++)n+=this.tablecell(s[e]);r+=this.tablerow({text:n})}return r&&(r=`<tbody>${r}</tbody>`),"<table>\n<thead>\n"+t+"</thead>\n"+r+"</table>\n"}tablerow({text:e}){return`<tr>\n${e}</tr>\n`}tablecell(e){const t=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>\n`}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>${e}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){const r=this.parser.parseInline(n),s=z(e);if(null===s)return r;let i='<a href="'+(e=s)+'"';return t&&(i+=' title="'+t+'"'),i+=">"+r+"</a>",i}image({href:e,title:t,text:n}){const r=z(e);if(null===r)return n;let s=`<img src="${e=r}" alt="${n}"`;return t&&(s+=` title="${t}"`),s+=">",s}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):e.text}}class fe{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""}}class de{options;renderer;textRenderer;constructor(e){this.options=e||u,this.options.renderer=this.options.renderer||new ge,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new fe}static parse(e,t){return new de(t).parse(e)}static parseInline(e,t){return new de(t).parseInline(e)}parse(e,t=!0){let n="";for(let r=0;r<e.length;r++){const s=e[r];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[s.type]){const e=s,t=this.options.extensions.renderers[e.type].call({parser:this},e);if(!1!==t||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(e.type)){n+=t||"";continue}}const i=s;switch(i.type){case"space":n+=this.renderer.space(i);continue;case"hr":n+=this.renderer.hr(i);continue;case"heading":n+=this.renderer.heading(i);continue;case"code":n+=this.renderer.code(i);continue;case"table":n+=this.renderer.table(i);continue;case"blockquote":n+=this.renderer.blockquote(i);continue;case"list":n+=this.renderer.list(i);continue;case"html":n+=this.renderer.html(i);continue;case"paragraph":n+=this.renderer.paragraph(i);continue;case"text":{let s=i,l=this.renderer.text(s);for(;r+1<e.length&&"text"===e[r+1].type;)s=e[++r],l+="\n"+this.renderer.text(s);n+=t?this.renderer.paragraph({type:"paragraph",raw:l,text:l,tokens:[{type:"text",raw:l,text:l}]}):l;continue}default:{const e='Token with "'+i.type+'" type was not found.';if(this.options.silent)return"";throw new Error(e)}}}return n}parseInline(e,t){t=t||this.renderer;let n="";for(let r=0;r<e.length;r++){const s=e[r];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[s.type]){const e=this.options.extensions.renderers[s.type].call({parser:this},s);if(!1!==e||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(s.type)){n+=e||"";continue}}const i=s;switch(i.type){case"escape":case"text":n+=t.text(i);break;case"html":n+=t.html(i);break;case"link":n+=t.link(i);break;case"image":n+=t.image(i);break;case"strong":n+=t.strong(i);break;case"em":n+=t.em(i);break;case"codespan":n+=t.codespan(i);break;case"br":n+=t.br(i);break;case"del":n+=t.del(i);break;default:{const e='Token with "'+i.type+'" type was not found.';if(this.options.silent)return"";throw new Error(e)}}}return n}}class ke{options;constructor(e){this.options=e||u}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}}class xe{defaults={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null};options=this.setOptions;parse=this.#e(ue.lex,de.parse);parseInline=this.#e(ue.lexInline,de.parseInline);Parser=de;Renderer=ge;TextRenderer=fe;Lexer=ue;Tokenizer=T;Hooks=ke;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(const r of e)switch(n=n.concat(t.call(this,r)),r.type){case"table":{const e=r;for(const r of e.header)n=n.concat(this.walkTokens(r.tokens,t));for(const r of e.rows)for(const e of r)n=n.concat(this.walkTokens(e.tokens,t));break}case"list":{const e=r;n=n.concat(this.walkTokens(e.items,t));break}default:{const e=r;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach((r=>{const s=e[r].flat(1/0);n=n.concat(this.walkTokens(s,t))})):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){const t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach((e=>{const n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach((e=>{if(!e.name)throw new Error("extension name required");if("renderer"in e){const n=t.renderers[e.name];t.renderers[e.name]=n?function(...t){let r=e.renderer.apply(this,t);return!1===r&&(r=n.apply(this,t)),r}:e.renderer}if("tokenizer"in e){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw new Error("extension level must be 'block' or 'inline'");const n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&("block"===e.level?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:"inline"===e.level&&(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){const t=this.defaults.renderer||new ge(this.defaults);for(const n in e.renderer){if(!(n in t))throw new Error(`renderer '${n}' does not exist`);if(["options","parser"].includes(n))continue;const r=n;let s=e.renderer[r];e.useNewRenderer||(s=this.#t(s,r,t));const i=t[r];t[r]=(...e)=>{let n=s.apply(t,e);return!1===n&&(n=i.apply(t,e)),n||""}}n.renderer=t}if(e.tokenizer){const t=this.defaults.tokenizer||new T(this.defaults);for(const n in e.tokenizer){if(!(n in t))throw new Error(`tokenizer '${n}' does not exist`);if(["options","rules","lexer"].includes(n))continue;const r=n,s=e.tokenizer[r],i=t[r];t[r]=(...e)=>{let n=s.apply(t,e);return!1===n&&(n=i.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){const t=this.defaults.hooks||new ke;for(const n in e.hooks){if(!(n in t))throw new Error(`hook '${n}' does not exist`);if("options"===n)continue;const r=n,s=e.hooks[r],i=t[r];ke.passThroughHooks.has(n)?t[r]=e=>{if(this.defaults.async)return Promise.resolve(s.call(t,e)).then((e=>i.call(t,e)));const n=s.call(t,e);return i.call(t,n)}:t[r]=(...e)=>{let n=s.apply(t,e);return!1===n&&(n=i.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){const 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}#t(e,t,n){switch(t){case"heading":return function(r){return r.type&&r.type===t?e.call(this,n.parser.parseInline(r.tokens),r.depth,function(e){return e.replace(w,((e,t)=>"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""))}(n.parser.parseInline(r.tokens,n.parser.textRenderer))):e.apply(this,arguments)};case"code":return function(n){return n.type&&n.type===t?e.call(this,n.text,n.lang,!!n.escaped):e.apply(this,arguments)};case"table":return function(n){if(!n.type||n.type!==t)return e.apply(this,arguments);let r="",s="";for(let e=0;e<n.header.length;e++)s+=this.tablecell({text:n.header[e].text,tokens:n.header[e].tokens,header:!0,align:n.align[e]});r+=this.tablerow({text:s});let i="";for(let e=0;e<n.rows.length;e++){const t=n.rows[e];s="";for(let e=0;e<t.length;e++)s+=this.tablecell({text:t[e].text,tokens:t[e].tokens,header:!1,align:n.align[e]});i+=this.tablerow({text:s})}return e.call(this,r,i)};case"blockquote":return function(n){if(!n.type||n.type!==t)return e.apply(this,arguments);const r=this.parser.parse(n.tokens);return e.call(this,r)};case"list":return function(n){if(!n.type||n.type!==t)return e.apply(this,arguments);const r=n.ordered,s=n.start,i=n.loose;let l="";for(let e=0;e<n.items.length;e++){const t=n.items[e],r=t.checked,s=t.task;let o="";if(t.task){const e=this.checkbox({checked:!!r});i?t.tokens.length>0&&"paragraph"===t.tokens[0].type?(t.tokens[0].text=e+" "+t.tokens[0].text,t.tokens[0].tokens&&t.tokens[0].tokens.length>0&&"text"===t.tokens[0].tokens[0].type&&(t.tokens[0].tokens[0].text=e+" "+t.tokens[0].tokens[0].text)):t.tokens.unshift({type:"text",text:e+" "}):o+=e+" "}o+=this.parser.parse(t.tokens,i),l+=this.listitem({type:"list_item",raw:o,text:o,task:s,checked:!!r,loose:i,tokens:t.tokens})}return e.call(this,l,r,s)};case"html":return function(n){return n.type&&n.type===t?e.call(this,n.text,n.block):e.apply(this,arguments)};case"paragraph":case"strong":case"em":case"del":return function(n){return n.type&&n.type===t?e.call(this,this.parser.parseInline(n.tokens)):e.apply(this,arguments)};case"escape":case"codespan":case"text":return function(n){return n.type&&n.type===t?e.call(this,n.text):e.apply(this,arguments)};case"link":return function(n){return n.type&&n.type===t?e.call(this,n.href,n.title,this.parser.parseInline(n.tokens)):e.apply(this,arguments)};case"image":return function(n){return n.type&&n.type===t?e.call(this,n.href,n.title,n.text):e.apply(this,arguments)}}return e}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return ue.lex(e,t??this.defaults)}parser(e,t){return de.parse(e,t??this.defaults)}#e(e,t){return(n,r)=>{const s={...r},i={...this.defaults,...s};!0===this.defaults.async&&!1===s.async&&(i.silent,i.async=!0);const l=this.#n(!!i.silent,!!i.async);if(null==n)return l(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof n)return l(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(n)+", string expected"));if(i.hooks&&(i.hooks.options=i),i.async)return Promise.resolve(i.hooks?i.hooks.preprocess(n):n).then((t=>e(t,i))).then((e=>i.hooks?i.hooks.processAllTokens(e):e)).then((e=>i.walkTokens?Promise.all(this.walkTokens(e,i.walkTokens)).then((()=>e)):e)).then((e=>t(e,i))).then((e=>i.hooks?i.hooks.postprocess(e):e)).catch(l);try{i.hooks&&(n=i.hooks.preprocess(n));let r=e(n,i);i.hooks&&(r=i.hooks.processAllTokens(r)),i.walkTokens&&this.walkTokens(r,i.walkTokens);let s=t(r,i);return i.hooks&&(s=i.hooks.postprocess(s)),s}catch(e){return l(e)}}}#n(e,t){return n=>{if(n.message+="\nPlease report this to https://github.com/markedjs/marked.",e){const e="<p>An error occurred:</p><pre>"+y(n.message+"",!0)+"</pre>";return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}}const me=new xe;function be(e,t){return me.parse(e,t)}be.options=be.setOptions=function(e){return me.setOptions(e),be.defaults=me.defaults,g(be.defaults),be},be.getDefaults=p,be.defaults=u,be.use=function(...e){return me.use(...e),be.defaults=me.defaults,g(be.defaults),be},be.walkTokens=function(e,t){return me.walkTokens(e,t)},be.parseInline=me.parseInline,be.Parser=de,be.parser=de.parse,be.Renderer=ge,be.TextRenderer=fe,be.Lexer=ue,be.lexer=ue.lex,be.Tokenizer=T,be.Hooks=ke,be.parse=be,be.options,be.setOptions,be.use,be.walkTokens,be.parseInline,de.parse,ue.lex;var ye="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function we(e){if(e.__esModule)return e;var t=e.default;if("function"==typeof t){var n=function e(){return this instanceof e?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach((function(t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})})),n}var $e,_e={exports:{}},ze=we(Object.freeze({__proto__:null,default:{}}));$e=_e,function(){var e="input is invalid type",t="object"==typeof window,n=t?window:{};n.JS_MD5_NO_WINDOW&&(t=!1);var r=!t&&"object"==typeof self,s=!n.JS_MD5_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node;s?n=ye:r&&(n=self);var i,l=!n.JS_MD5_NO_COMMON_JS&&$e.exports,o=!n.JS_MD5_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,a="0123456789abcdef".split(""),c=[128,32768,8388608,-2147483648],h=[0,8,16,24],p=["hex","array","digest","buffer","arrayBuffer","base64"],u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),g=[];if(o){var f=new ArrayBuffer(68);i=new Uint8Array(f),g=new Uint32Array(f)}var d=Array.isArray;!n.JS_MD5_NO_NODE_JS&&d||(d=function(e){return"[object Array]"===Object.prototype.toString.call(e)});var k=ArrayBuffer.isView;!o||!n.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW&&k||(k=function(e){return"object"==typeof e&&e.buffer&&e.buffer.constructor===ArrayBuffer});var x=function(t){var n=typeof t;if("string"===n)return[t,!0];if("object"!==n||null===t)throw new Error(e);if(o&&t.constructor===ArrayBuffer)return[new Uint8Array(t),!1];if(!d(t)&&!k(t))throw new Error(e);return[t,!1]},m=function(e){return function(t){return new w(!0).update(t)[e]()}},b=function(t){var r,s=ze,i=ze.Buffer;return r=i.from&&!n.JS_MD5_NO_BUFFER_FROM?i.from:function(e){return new i(e)},function(n){if("string"==typeof n)return s.createHash("md5").update(n,"utf8").digest("hex");if(null==n)throw new Error(e);return n.constructor===ArrayBuffer&&(n=new Uint8Array(n)),d(n)||k(n)||n.constructor===i?s.createHash("md5").update(r(n)).digest("hex"):t(n)}},y=function(e){return function(t,n){return new $(t,!0).update(n)[e]()}};function w(e){if(e)g[0]=g[16]=g[1]=g[2]=g[3]=g[4]=g[5]=g[6]=g[7]=g[8]=g[9]=g[10]=g[11]=g[12]=g[13]=g[14]=g[15]=0,this.blocks=g,this.buffer8=i;else if(o){var t=new ArrayBuffer(68);this.buffer8=new Uint8Array(t),this.blocks=new Uint32Array(t)}else this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.h0=this.h1=this.h2=this.h3=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0}function $(e,t){var n,r=x(e);if(e=r[0],r[1]){var s,i=[],l=e.length,o=0;for(n=0;n<l;++n)(s=e.charCodeAt(n))<128?i[o++]=s:s<2048?(i[o++]=192|s>>>6,i[o++]=128|63&s):s<55296||s>=57344?(i[o++]=224|s>>>12,i[o++]=128|s>>>6&63,i[o++]=128|63&s):(s=65536+((1023&s)<<10|1023&e.charCodeAt(++n)),i[o++]=240|s>>>18,i[o++]=128|s>>>12&63,i[o++]=128|s>>>6&63,i[o++]=128|63&s);e=i}e.length>64&&(e=new w(!0).update(e).array());var a=[],c=[];for(n=0;n<64;++n){var h=e[n]||0;a[n]=92^h,c[n]=54^h}w.call(this,t),this.update(c),this.oKeyPad=a,this.inner=!0,this.sharedMemory=t}w.prototype.update=function(e){if(this.finalized)throw new Error("finalize already called");var t=x(e);e=t[0];for(var n,r,s=t[1],i=0,l=e.length,a=this.blocks,c=this.buffer8;i<l;){if(this.hashed&&(this.hashed=!1,a[0]=a[16],a[16]=a[1]=a[2]=a[3]=a[4]=a[5]=a[6]=a[7]=a[8]=a[9]=a[10]=a[11]=a[12]=a[13]=a[14]=a[15]=0),s)if(o)for(r=this.start;i<l&&r<64;++i)(n=e.charCodeAt(i))<128?c[r++]=n:n<2048?(c[r++]=192|n>>>6,c[r++]=128|63&n):n<55296||n>=57344?(c[r++]=224|n>>>12,c[r++]=128|n>>>6&63,c[r++]=128|63&n):(n=65536+((1023&n)<<10|1023&e.charCodeAt(++i)),c[r++]=240|n>>>18,c[r++]=128|n>>>12&63,c[r++]=128|n>>>6&63,c[r++]=128|63&n);else for(r=this.start;i<l&&r<64;++i)(n=e.charCodeAt(i))<128?a[r>>>2]|=n<<h[3&r++]:n<2048?(a[r>>>2]|=(192|n>>>6)<<h[3&r++],a[r>>>2]|=(128|63&n)<<h[3&r++]):n<55296||n>=57344?(a[r>>>2]|=(224|n>>>12)<<h[3&r++],a[r>>>2]|=(128|n>>>6&63)<<h[3&r++],a[r>>>2]|=(128|63&n)<<h[3&r++]):(n=65536+((1023&n)<<10|1023&e.charCodeAt(++i)),a[r>>>2]|=(240|n>>>18)<<h[3&r++],a[r>>>2]|=(128|n>>>12&63)<<h[3&r++],a[r>>>2]|=(128|n>>>6&63)<<h[3&r++],a[r>>>2]|=(128|63&n)<<h[3&r++]);else if(o)for(r=this.start;i<l&&r<64;++i)c[r++]=e[i];else for(r=this.start;i<l&&r<64;++i)a[r>>>2]|=e[i]<<h[3&r++];this.lastByteIndex=r,this.bytes+=r-this.start,r>=64?(this.start=r-64,this.hash(),this.hashed=!0):this.start=r}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296|0,this.bytes=this.bytes%4294967296),this},w.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex;e[t>>>2]|=c[3&t],t>=56&&(this.hashed||this.hash(),e[0]=e[16],e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=this.bytes<<3,e[15]=this.hBytes<<3|this.bytes>>>29,this.hash()}},w.prototype.hash=function(){var e,t,n,r,s,i,l=this.blocks;this.first?t=((t=((e=((e=l[0]-680876937)<<7|e>>>25)-271733879|0)^(n=((n=(-271733879^(r=((r=(-1732584194^2004318071&e)+l[1]-117830708)<<12|r>>>20)+e|0)&(-271733879^e))+l[2]-1126478375)<<17|n>>>15)+r|0)&(r^e))+l[3]-1316259209)<<22|t>>>10)+n|0:(e=this.h0,t=this.h1,n=this.h2,t=((t+=((e=((e+=((r=this.h3)^t&(n^r))+l[0]-680876936)<<7|e>>>25)+t|0)^(n=((n+=(t^(r=((r+=(n^e&(t^n))+l[1]-389564586)<<12|r>>>20)+e|0)&(e^t))+l[2]+606105819)<<17|n>>>15)+r|0)&(r^e))+l[3]-1044525330)<<22|t>>>10)+n|0),t=((t+=((e=((e+=(r^t&(n^r))+l[4]-176418897)<<7|e>>>25)+t|0)^(n=((n+=(t^(r=((r+=(n^e&(t^n))+l[5]+1200080426)<<12|r>>>20)+e|0)&(e^t))+l[6]-1473231341)<<17|n>>>15)+r|0)&(r^e))+l[7]-45705983)<<22|t>>>10)+n|0,t=((t+=((e=((e+=(r^t&(n^r))+l[8]+1770035416)<<7|e>>>25)+t|0)^(n=((n+=(t^(r=((r+=(n^e&(t^n))+l[9]-1958414417)<<12|r>>>20)+e|0)&(e^t))+l[10]-42063)<<17|n>>>15)+r|0)&(r^e))+l[11]-1990404162)<<22|t>>>10)+n|0,t=((t+=((e=((e+=(r^t&(n^r))+l[12]+1804603682)<<7|e>>>25)+t|0)^(n=((n+=(t^(r=((r+=(n^e&(t^n))+l[13]-40341101)<<12|r>>>20)+e|0)&(e^t))+l[14]-1502002290)<<17|n>>>15)+r|0)&(r^e))+l[15]+1236535329)<<22|t>>>10)+n|0,t=((t+=((r=((r+=(t^n&((e=((e+=(n^r&(t^n))+l[1]-165796510)<<5|e>>>27)+t|0)^t))+l[6]-1069501632)<<9|r>>>23)+e|0)^e&((n=((n+=(e^t&(r^e))+l[11]+643717713)<<14|n>>>18)+r|0)^r))+l[0]-373897302)<<20|t>>>12)+n|0,t=((t+=((r=((r+=(t^n&((e=((e+=(n^r&(t^n))+l[5]-701558691)<<5|e>>>27)+t|0)^t))+l[10]+38016083)<<9|r>>>23)+e|0)^e&((n=((n+=(e^t&(r^e))+l[15]-660478335)<<14|n>>>18)+r|0)^r))+l[4]-405537848)<<20|t>>>12)+n|0,t=((t+=((r=((r+=(t^n&((e=((e+=(n^r&(t^n))+l[9]+568446438)<<5|e>>>27)+t|0)^t))+l[14]-1019803690)<<9|r>>>23)+e|0)^e&((n=((n+=(e^t&(r^e))+l[3]-187363961)<<14|n>>>18)+r|0)^r))+l[8]+1163531501)<<20|t>>>12)+n|0,t=((t+=((r=((r+=(t^n&((e=((e+=(n^r&(t^n))+l[13]-1444681467)<<5|e>>>27)+t|0)^t))+l[2]-51403784)<<9|r>>>23)+e|0)^e&((n=((n+=(e^t&(r^e))+l[7]+1735328473)<<14|n>>>18)+r|0)^r))+l[12]-1926607734)<<20|t>>>12)+n|0,t=((t+=((i=(r=((r+=((s=t^n)^(e=((e+=(s^r)+l[5]-378558)<<4|e>>>28)+t|0))+l[8]-2022574463)<<11|r>>>21)+e|0)^e)^(n=((n+=(i^t)+l[11]+1839030562)<<16|n>>>16)+r|0))+l[14]-35309556)<<23|t>>>9)+n|0,t=((t+=((i=(r=((r+=((s=t^n)^(e=((e+=(s^r)+l[1]-1530992060)<<4|e>>>28)+t|0))+l[4]+1272893353)<<11|r>>>21)+e|0)^e)^(n=((n+=(i^t)+l[7]-155497632)<<16|n>>>16)+r|0))+l[10]-1094730640)<<23|t>>>9)+n|0,t=((t+=((i=(r=((r+=((s=t^n)^(e=((e+=(s^r)+l[13]+681279174)<<4|e>>>28)+t|0))+l[0]-358537222)<<11|r>>>21)+e|0)^e)^(n=((n+=(i^t)+l[3]-722521979)<<16|n>>>16)+r|0))+l[6]+76029189)<<23|t>>>9)+n|0,t=((t+=((i=(r=((r+=((s=t^n)^(e=((e+=(s^r)+l[9]-640364487)<<4|e>>>28)+t|0))+l[12]-421815835)<<11|r>>>21)+e|0)^e)^(n=((n+=(i^t)+l[15]+530742520)<<16|n>>>16)+r|0))+l[2]-995338651)<<23|t>>>9)+n|0,t=((t+=((r=((r+=(t^((e=((e+=(n^(t|~r))+l[0]-198630844)<<6|e>>>26)+t|0)|~n))+l[7]+1126891415)<<10|r>>>22)+e|0)^((n=((n+=(e^(r|~t))+l[14]-1416354905)<<15|n>>>17)+r|0)|~e))+l[5]-57434055)<<21|t>>>11)+n|0,t=((t+=((r=((r+=(t^((e=((e+=(n^(t|~r))+l[12]+1700485571)<<6|e>>>26)+t|0)|~n))+l[3]-1894986606)<<10|r>>>22)+e|0)^((n=((n+=(e^(r|~t))+l[10]-1051523)<<15|n>>>17)+r|0)|~e))+l[1]-2054922799)<<21|t>>>11)+n|0,t=((t+=((r=((r+=(t^((e=((e+=(n^(t|~r))+l[8]+1873313359)<<6|e>>>26)+t|0)|~n))+l[15]-30611744)<<10|r>>>22)+e|0)^((n=((n+=(e^(r|~t))+l[6]-1560198380)<<15|n>>>17)+r|0)|~e))+l[13]+1309151649)<<21|t>>>11)+n|0,t=((t+=((r=((r+=(t^((e=((e+=(n^(t|~r))+l[4]-145523070)<<6|e>>>26)+t|0)|~n))+l[11]-1120210379)<<10|r>>>22)+e|0)^((n=((n+=(e^(r|~t))+l[2]+718787259)<<15|n>>>17)+r|0)|~e))+l[9]-343485551)<<21|t>>>11)+n|0,this.first?(this.h0=e+1732584193|0,this.h1=t-271733879|0,this.h2=n-1732584194|0,this.h3=r+271733878|0,this.first=!1):(this.h0=this.h0+e|0,this.h1=this.h1+t|0,this.h2=this.h2+n|0,this.h3=this.h3+r|0)},w.prototype.hex=function(){this.finalize();var e=this.h0,t=this.h1,n=this.h2,r=this.h3;return a[e>>>4&15]+a[15&e]+a[e>>>12&15]+a[e>>>8&15]+a[e>>>20&15]+a[e>>>16&15]+a[e>>>28&15]+a[e>>>24&15]+a[t>>>4&15]+a[15&t]+a[t>>>12&15]+a[t>>>8&15]+a[t>>>20&15]+a[t>>>16&15]+a[t>>>28&15]+a[t>>>24&15]+a[n>>>4&15]+a[15&n]+a[n>>>12&15]+a[n>>>8&15]+a[n>>>20&15]+a[n>>>16&15]+a[n>>>28&15]+a[n>>>24&15]+a[r>>>4&15]+a[15&r]+a[r>>>12&15]+a[r>>>8&15]+a[r>>>20&15]+a[r>>>16&15]+a[r>>>28&15]+a[r>>>24&15]},w.prototype.toString=w.prototype.hex,w.prototype.digest=function(){this.finalize();var e=this.h0,t=this.h1,n=this.h2,r=this.h3;return[255&e,e>>>8&255,e>>>16&255,e>>>24&255,255&t,t>>>8&255,t>>>16&255,t>>>24&255,255&n,n>>>8&255,n>>>16&255,n>>>24&255,255&r,r>>>8&255,r>>>16&255,r>>>24&255]},w.prototype.array=w.prototype.digest,w.prototype.arrayBuffer=function(){this.finalize();var e=new ArrayBuffer(16),t=new Uint32Array(e);return t[0]=this.h0,t[1]=this.h1,t[2]=this.h2,t[3]=this.h3,e},w.prototype.buffer=w.prototype.arrayBuffer,w.prototype.base64=function(){for(var e,t,n,r="",s=this.array(),i=0;i<15;)e=s[i++],t=s[i++],n=s[i++],r+=u[e>>>2]+u[63&(e<<4|t>>>4)]+u[63&(t<<2|n>>>6)]+u[63&n];return e=s[i],r+=u[e>>>2]+u[e<<4&63]+"=="},$.prototype=new w,$.prototype.finalize=function(){if(w.prototype.finalize.call(this),this.inner){this.inner=!1;var e=this.array();w.call(this,this.sharedMemory),this.update(this.oKeyPad),this.update(e),w.prototype.finalize.call(this)}};var _=function(){var e=m("hex");s&&(e=b(e)),e.create=function(){return new w},e.update=function(t){return e.create().update(t)};for(var t=0;t<p.length;++t){var n=p[t];e[n]=m(n)}return e}();_.md5=_,_.md5.hmac=function(){var e=y("hex");e.create=function(e){return new $(e)},e.update=function(t,n){return e.create(t).update(n)};for(var t=0;t<p.length;++t){var n=p[t];e[n]=y(n)}return e}(),l?$e.exports=_:n.md5=_}();var ve=_e.exports;function Re(e){try{e=encodeURI(e).replace(/%25/g,"%")}catch(e){return null}return e}const Ae={exec:()=>null};function Se(e,t){let n="string"==typeof e?e:e.source;t=t||"";const r=/(^|[^[])\^/g,s={replace:(e,t)=>{let i="string"==typeof t?t:t.source;return i=i.replace(r,"$1"),n=n.replace(e,i),s},getRegex:()=>new RegExp(n,t)};return s}const Te=e=>/^[a-z][\w-]*$/i.test(e)?e:"class-"+ve.md5(e);function je(e){const t=e.match(/^(.*?)(?:\s*=(\d*)(?:x(\d+))?)?$/);if(t){const e=t[1].trim(),n=t[2]?parseInt(t[2],10):null,r=t[3]?parseInt(t[3],10):null;return{text:0===e.length?null:e,width:n,height:r}}return{text:null,width:null,height:null}}function Oe(e,t){const n=e.replace(/\|/g,((e,t,n)=>{let r=!1,s=t;for(;--s>=0&&"\\"===n[s];)r=!r;return r?"|":" |"})).split(/ \|/);let r=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-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(/\\\|/g,"|");return n}const Ee={paragraph({tokens:e}){if(1===e.length&&"image"===e[0].type){const t=e[0];if(null===Re(t.href))return t.text;let n="<figure>\n";if(n+='<section class="img-container">\n',n+=this.image(t)+"\n",n+="</section>\n",t.title){const{text:e}=je(t.title);e&&(n+=`<figcaption>${e}</figcaption>\n`)}return n+="</figure>\n",n}return`<p class="paragraph">${this.parser.parseInline(e)}</p>\n`},list(e){const t=e.ordered,n=e.start;let r="";for(let t=0;t<e.items.length;t++){const n=e.items[t];r+=this.listitem(n)}const s=t?"ol":"ul";return"<"+s+(t&&1!==n?' start="'+n+'"':"")+' class="md-list">\n'+r+"</"+s+">\n"},listitem(e){let t="";if(e.task){const n=this.checkbox({checked:!!e.checked});e.loose?e.tokens.length>0&&"paragraph"===e.tokens[0].type?(e.tokens[0].text=n+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&"text"===e.tokens[0].tokens[0].type&&(e.tokens[0].tokens[0].text=n+" "+e.tokens[0].tokens[0].text)):e.tokens.unshift({type:"text",raw:n+" ",text:n+" "}):t+=n+" "}return t+=this.parser.parse(e.tokens,!!e.loose),`<li class="md-list-item">${t}</li>\n`},table(e){let t="",n="";for(let t=0;t<e.header.length;t++)n+=this.tablecell(e.header[t]);t+=this.tablerow({text:n});let r="";for(let t=0;t<e.rows.length;t++){const s=e.rows[t];n="";for(let e=0;e<s.length;e++)n+=this.tablecell(s[e]);r+=this.tablerow({text:n})}r&&(r=`<tbody>${r}</tbody>\n`);let s="";return e.caption.text&&(s=`<figcaption>${this.parser.parseInline([e.caption])}</figcaption>\n`),"<figure>\n<table>\n<thead>\n"+t+"</thead>\n"+r+"</table>\n"+s+"</figure>\n"}},Ie={image(e){const t=Re(e.href);if(null===t)return e.text;let n=`<img src="${t}" alt="${e.text}"`;if(e.title){const{text:t,width:r,height:s}=je(e.title);t&&(n+=` title="${t}"`),(r||s)&&(n+=' style="',r&&(n+="width:"+r+"px;"),s&&(n+="height:"+s+"px;"),n+='"')}return n+=">",n}},qe=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,De=/(?:[*+-]|\d{1,9}[.)])/,Le=Se(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,De).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/).getRegex(),Me=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Be=/(?!\s*\])(?:\\.|[^[\]\\])+/,Pe=Se(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s]\S*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Be).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Ce=Se(/^( {0,3}bull)([ \t][^\n]+)?(?:\n|$)/).replace(/bull/g,De).getRegex(),Ze="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",Ne=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Ue=Se("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$))","i").replace("comment",Ne).replace("tag",Ze).replace("attribute",/ +[a-z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/i).getRegex(),Qe=Se(Me).replace("hr",qe).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"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ze).getRegex(),Fe={blockquote:Se(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Qe).getRegex(),code:/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,def:Pe,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:qe,html:Ue,lheading:Le,list:Ce,newline:/^(?:[ \t]*(?:\n|$))+/,paragraph:Qe,table:Ae,text:/^[^\n]+/},Je=Se("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",qe).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3}\t)[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ze).getRegex(),He=Object.assign(Object.assign({},Fe),{table:Je,paragraph:Se(Me).replace("hr",qe).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Je).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ze).getRegex()}),We=/^\\([!"#$%&'()*+,\-./:;<=>?@[\]\\^_`{|}~])/,Xe="\\p{P}\\p{S}",Ke=Se(/^((?![*_])[\spunctaio])/,"u").replace(/punctuation/g,Xe).getRegex(),Ve=Se(/^\*+(?:((?!\*)[punct])|[^\s*])|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,Xe).getRegex(),Ye=Se("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,Xe).getRegex(),Ge=Se("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,Xe).getRegex(),et=Se(/\\([punct])/,"gu").replace(/punct/g,Xe).getRegex(),tt=Se(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-z][a-z\d+.-]{1,31}/i).replace("email",/[\w.!#$%&'*+/=?^`{|}~-]+(@)[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)+(?![-_])/i).getRegex(),nt=Se(Ne).replace("(?:--\x3e|$)","--\x3e").getRegex(),rt=Se("^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",nt).replace("attribute",/\s+[a-z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/i).getRegex(),st=/(?:\[(?:\\.|[^[\]\\])*\]|\\.|`[^`]*`|[^[\]\\`])*?/,it=Se(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",st).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),lt=Se(/^!?\[(label)\]\[(ref)\]/).replace("label",st).replace("ref",Be).getRegex(),ot=Se(/^!?\[(ref)\](?:\[\])?/).replace("ref",Be).getRegex(),at={_backpedal:Ae,anyPunctuation:et,autolink:tt,blockSkip:/\[[^[\]]*\]\((?:\\.|[^\\()]|\((?:\\.|[^\\()])*\))*\)|`[^`]*`|<[^<>]*>/g,br:/^( {2,}|\\)\n(?!\s*$)/,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:Ae,emStrongLDelim:Ve,emStrongRDelimAst:Ye,emStrongRDelimUnd:Ge,escape:We,link:it,nolink:ot,punctuation:Ke,reflink:lt,reflinkSearch:Se("reflink|nolink(?!\\()","g").replace("reflink",lt).replace("nolink",ot).getRegex(),tag:rt,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<![`*_]|\b_|$)|[^ ](?= {2,}\n)))/,url:Ae},ct=Object.assign(Object.assign({},at),{escape:Se(We).replace("])","~|])").getRegex(),url:Se(/^((?:ftp|https?):\/\/|www\.)[a-zA-Z\d-][^\s<]*|^email/,"i").replace("email",/[\w.+-]+(@)[\w-]+(?:\.[\w-]*[a-z\d])+(?![-_])/i).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]|\([^)]*\)|&(?![a-z\d]+;$)|[?!.,:;*_'"~)]+(?!$))+/i,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[\w.!#$%&'*+/=?`{|}~-]+@)|[\s\S]*?(?:(?=[\\<![`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^\w.!#$%&'*+/=?`{|}~-](?=[\w.!#$%&'*+/=?`{|}~-]+@)))/}),ht=Object.assign(Object.assign({},ct),{br:Ae,emStrongLDelim:/^\*+(?:([!"#$%&'()+\-.,/:;<=>?@[\]`{|}~_])|[^\s*])/}),pt={block:Object.assign(Object.assign({},He),{lheading:Ae,code:Ae,fences:/^ {0,3}(`{3,}(?=[^`\n[]*(?:\n|$)))([^\n]*)(?:\n|$)([\s\S]*?)(?:\n|$)(?: {0,3}\1`* *(?=\n|$)|$)/,paragraph:Se(Me).replace("hr",qe).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Je).replace("blockquote"," {0,3}(?<!>)>(?!>)").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ze).getRegex(),table:Se("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html|\\|\\|[^\\|]+\\|\\|).*(?:\\n|$))*)(?:(?:\\|\\|([^\\|]+)\\|\\|)?\\n*|$)").replace("hr",qe).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3}\t)[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ze).getRegex(),blockquote:Se(/^( {0,3}(?<!>)>(?!>) ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Qe).getRegex()}),inline:ht};const ut={table(e){const t=pt.block.table.exec(e);if(!t)return;if(!/[:|]/.test(t[2]))return;const n=Oe(t[1]),r=t[2].replace(/^\||\| *$/g,"").split("|"),s=t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[],i=t[5],l={type:"table",raw:t[0],header:[],align:[],rows:[],caption:{type:"text",text:i,raw:i,tokens:this.lexer.inline(i)}};if(n.length===r.length){for(const e of r)/^ *-+: *$/.test(e)?l.align.push("right"):/^ *:-+: *$/.test(e)?l.align.push("center"):/^ *:-+ *$/.test(e)?l.align.push("left"):l.align.push(null);for(let e=0;e<n.length;e++)l.header.push({text:n[e],tokens:this.lexer.inline(n[e]),header:!0,align:l.align[e]});for(const e of s)l.rows.push(Oe(e,l.header.length).map(((e,t)=>({text:e,tokens:this.lexer.inline(e),header:!1,align:l.align[t]}))));return l}},lheading(){},code(){},fences(e){const t=pt.block.fences.exec(e);if(t){const e=t[0],n=function(e,t){const n=e.match(/^(\s+)```/);if(null===n)return t;const r=n[1];return t.split("\n").map((e=>{const t=e.match(/^\s+/);if(null===t)return e;const[n]=t;return n.length>=r.length?e.slice(r.length):e})).join("\n")}(e,t[3]||"");return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(pt.inline.anyPunctuation,"$1"):t[2],text:n}}},br(){},emStrong(e,t,n=""){let r=pt.inline.emStrongLDelim.exec(e);if(!r)return;if(r[3]&&n.match(/[\p{L}\p{N}]/u))return;if(!(r[1]||r[2]||"")||!n||pt.inline.punctuation.exec(n)){const n=[...r[0]].length-1;let s,i,l=n,o=0;const a="*"===r[0][0]?pt.inline.emStrongRDelimAst:pt.inline.emStrongRDelimUnd;for(a.lastIndex=0,t=t.slice(-1*e.length+n);null!=(r=a.exec(t));){if(s=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!s)continue;if(i=[...s].length,r[3]||r[4]){l+=i;continue}if((r[5]||r[6])&&n%3&&!((n+i)%3)){o+=i;continue}if(l-=i,l>0)continue;i=Math.min(i,i+l+o);const t=[...r[0]][0].length,a=e.slice(0,n+r.index+t+i);if(Math.min(n,i)%2){const e=a.slice(1,-1);return{type:"em",raw:a,text:e,tokens:this.lexer.inlineTokens(e)}}const c=a.slice(2,-2);return{type:"strong",raw:a,text:c,tokens:this.lexer.inlineTokens(c)}}}},blockquote(e){const t=pt.block.blockquote.exec(e);if(t){let e=function(e,t,n){const r=e.length;if(0===r)return"";let s=0;for(;s<r;){const i=e.charAt(r-s-1);if(i!==t||n){if(i===t||!n)break;s++}else s++}return e.slice(0,r-s)}(t[0],"\n").split("\n"),n="",r="";const s=[];for(;e.length>0;){let t=!1;const i=[];let l;for(l=0;l<e.length;l++)if(/^ {0,3}>/.test(e[l]))i.push(e[l]),t=!0;else{if(t)break;i.push(e[l])}e=e.slice(l);const o=i.join("\n"),a=o.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,"\n $1").replace(/^ {0,3}>[ \t]?/gm,"");n=n?`${n}\n${o}`:o,r=r?`${r}\n${a}`:a;const c=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(a,s,!0),this.lexer.state.top=c,0===e.length)break;const h=s[s.length-1];if("code"===(null==h?void 0:h.type))break;if("blockquote"===(null==h?void 0:h.type)){const t=h,i=t.raw+"\n"+e.join("\n"),l=this.blockquote(i);s[s.length-1]=l,n=n.substring(0,n.length-t.raw.length)+l.raw,r=r.substring(0,r.length-t.text.length)+l.text;break}if("list"!==(null==h?void 0:h.type));else{const t=h,i=t.raw+"\n"+e.join("\n"),l=this.list(i);s[s.length-1]=l,n=n.substring(0,n.length-h.raw.length)+l.raw,r=r.substring(0,r.length-t.raw.length)+l.raw,e=i.substring(s[s.length-1].raw.length).split("\n")}}return{type:"blockquote",raw:n,tokens:s,text:r}}}};var gt;!function(e){e.Warn="warn",e.Success="success",e.Error="error",e.Info="info"}(gt||(gt={}));const ft={name:"alert",level:"block",start:e=>e.indexOf("^ {0,3}!!!["),tokenizer(e){var t,n,r,s;const i=/^ {0,3}(!{3,}(?=\[[^\n\]]*\](?:\n|$)))\[([^\],]*)(?:,([^\],]*))?(?:,([^\],]+))?\]\n([\s\S]*?)(?:\n|$)(?: {0,3}\1 *(?=\n|$)|$)/.exec(e);if(i){const e=null===(t=i[2])||void 0===t?void 0:t.trim(),l=null===(n=i[3])||void 0===n?void 0:n.trim(),o=null===(r=i[4])||void 0===r?void 0:r.trim(),a=null===(s=i[5])||void 0===s?void 0:s.trim();return{type:"alert",raw:i[0],title:l,icon:o,text:a,ttype:e,tokens:this.lexer.inlineTokens(a)}}},renderer(e){var t;let n="";if("true"===e.icon)switch(e.ttype){case gt.Warn:e.icon="⚠️";break;case gt.Success:e.icon="🎉";break;case gt.Error:e.icon="⛔";break;case gt.Info:e.icon="ℹ️"}const r=void 0!==e.icon?`<span class="icon">${e.icon}</span> `:"";return n+=`<section class="alert ${e.ttype}">`,e.title&&(n+=`<p class="heading">${r}<span class='title'>${e.title}</span></p>`),n+=`<p class="content paragraph">${e.title?"":r}${this.parser.parseInline(null!==(t=e.tokens)&&void 0!==t?t:[])}</p>`,n+="</section>",n}};function dt(e){return(e||"").match(/\S*/)[0]}function kt(e){return t=>{"string"==typeof t&&t!==e.text&&(e.escaped=!0,e.text=t)}}const xt=/[&<>"']/,mt=new RegExp(xt.source,"g"),bt=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,yt=new RegExp(bt.source,"g"),wt={"&":"&","<":"<",">":">",'"':""","'":"'"},$t=e=>wt[e];function _t(e,t){if(t){if(xt.test(e))return e.replace(mt,$t)}else if(bt.test(e))return e.replace(yt,$t);return e}e.registerLanguage("javascript",t),e.registerLanguage("python",s),e.registerLanguage("latex",r),e.registerLanguage("json",n);const zt=new xe(function(e){if("function"==typeof e&&(e={highlight:e}),!e||"function"!=typeof e.highlight)throw new Error("Must provide highlight function");return"string"!=typeof e.langPrefix&&(e.langPrefix="language-"),{async:!!e.async,walkTokens(t){if("code"!==t.type)return;const n=dt(t.lang);if(e.async)return Promise.resolve(e.highlight(t.text,n,t.lang||"")).then(kt(t));const r=e.highlight(t.text,n,t.lang||"");if(r instanceof Promise)throw new Error("markedHighlight is not set to async but the highlight function is async. Set the async option to true on markedHighlight to await the async highlight function.");kt(t)(r)},useNewRenderer:!0,renderer:{code(t,n,r){"object"==typeof t&&(r=t.escaped,n=t.lang,t=t.text);const s=dt(n),i=s?` class="${e.langPrefix}${_t(s)}"`:"";return t=t.replace(/\n$/,""),`<pre><code${i}>${r?t:_t(t,!0)}\n</code></pre>`}}}}({highlight(t,n){const r=e.getLanguage(n)?n:"plaintext";return e.highlight(t,{language:r}).value}})),vt={name:"gallery",level:"block",start:e=>e.indexOf("!!!"),tokenizer(e){const t=/^ {0,3}(!{3,}) *\n([\s\S]*?)(?:\n|$)(?: {0,3}\1 *(?=\n|$)|$)/.exec(e);if(t){const e=t[2];return{type:"gallery",raw:t[0],text:e,tokens:this.lexer.blockTokens(e)}}},renderer(e){var t;let n='<section class="gallery-container">\n';return n+='<section class="gallery-wrapper">\n',null===(t=e.tokens)||void 0===t||t.forEach((e=>{var t;"paragraph"===e.type&&(null===(t=e.tokens)||void 0===t||t.forEach((e=>{"image"===e.type&&(n+=zt.parse(e.raw))})))})),n+="</section>\n",n+="</section>\n",n}},Rt={name:"footnoteRef",level:"inline",start:e=>e.indexOf("[^"),tokenizer:e=>{const t=/^\[\^([^\]]+)\]/.exec(e);if(t){const e=t[1].trim();return{type:"footnoteRef",raw:t[0],id:e,tokens:[]}}},renderer:e=>`<span class="footnote-ref" id="footnote-ref-${e.id}"><sup><a href="#footnote-${e.id}">[${e.number}]</a></sup></span>`},At={name:"footnoteDef",level:"block",start:e=>e.indexOf("[^"),tokenizer(e){const t=/^\[\^(.+?)\]: ([\s\S]*?)(?:\n+|$)/.exec(e);if(t){const e=t[1].trim(),n=t[2].trim();return{type:"footnoteDef",raw:t[0],id:e,text:n,tokens:this.lexer.inlineTokens(n)}}},renderer(e){var t;const n=` <a href="#footnote-ref-${e.id}"> ⬅ </a>`;return`<li class="footnote-def" key="${e.number}" id="footnote-${e.id}">${this.parser.parseInline(null!==(t=null==e?void 0:e.tokens)&&void 0!==t?t:[])}${e.isolated?"":n}</li>`}},St=e=>{const t={};let n=1;return function e(r){r.forEach((r=>{"footnoteRef"===r.type&&(r.id in t||(t[r.id]=n,n++),r.number=t[r.id]),"list"===r.type&&r.items.forEach((t=>{t.tokens&&t.tokens.length>0&&e(t.tokens)})),r.tokens&&r.tokens.length>0&&e(r.tokens)}))}(e),function e(r){r.forEach((r=>{"footnoteDef"===r.type&&(r.isolated=!1,r.id in t||(t[r.id]=n,n++,r.isolated=!0),r.number=t[r.id]),r.tokens&&r.tokens.length>0&&e(r.tokens)}))}(e),e};var Tt;!function(e){e.PROOF="proof",e.SOLUTION="solution"}(Tt||(Tt={}));const jt={[Tt.PROOF]:"证明",[Tt.SOLUTION]:"解答"},Ot={name:"solution",level:"block",start:e=>e.indexOf("~~~["),tokenizer(e){var t;const n=/^ {0,3}(~{3,}(?=\[[^\n\]]*\](?:\n|$)))\[([^\],]*)\]\n([\s\S]*?)(?:\n|$)(?: {0,3}\1~* *(?=\n|$)|$)/.exec(e);if(n){const e=n[2].trim(),r=n[3].trim();return{type:"solution",raw:n[0],stype:e,typeName:null!==(t=jt[e])&&void 0!==t?t:e,text:r,tokens:this.lexer.blockTokens(r)}}},renderer(e){var t;return`<details class="solution ${Te(e.stype)}"><summary>${e.typeName}</summary>\n <section class="content">\n ${this.parser.parse(null!==(t=null==e?void 0:e.tokens)&&void 0!==t?t:[])}\n </section></details>`}};var Et;!function(e){e.Theorem="theorem",e.Lemma="lemma",e.Corollary="corollary",e.Axiom="axiom",e.Definition="definition",e.Example="example"}(Et||(Et={}));const It={[Et.Theorem]:"定理",[Et.Lemma]:"引理",[Et.Corollary]:"推论",[Et.Axiom]:"公理",[Et.Definition]:"定义",[Et.Example]:"例"},qt={name:"theoremLikeRef",level:"inline",start:e=>e.indexOf("[~"),tokenizer:e=>{const t=/^\[~([^\]]+)\]/.exec(e);if(t){const e=t[1].trim();return{type:"theoremLikeRef",raw:t[0],id:e,tokens:[]}}},renderer:e=>`<a id="theorem-like-ref-${e.id}" href="#theorem-like-${e.id}">${(e.typeName+" "+e.number).trimEnd()}</a>`},Dt={name:"theoremLikeDef",level:"block",start:e=>e.indexOf("```["),tokenizer(e){var t,n,r,s,i,l;const o=/^ {0,3}(`{3,}(?=\[[^\n\]]*\](?:\n|$)))\[([^\],]*),([^\],]*)(?:,([^\],]+))?\]\n([\s\S]*?)(?:\n|$)(?: {0,3}\1 *(?=\n|$)|$)/.exec(e);if(o){const e=null===(t=o[2])||void 0===t?void 0:t.trim().replace(/\*$/,""),a=null===(n=o[2])||void 0===n?void 0:n.trim().endsWith("*"),c=null===(r=o[3])||void 0===r?void 0:r.trim(),h=null===(s=o[4])||void 0===s?void 0:s.trim(),p=null===(i=o[5])||void 0===i?void 0:i.trim();return{type:"theoremLikeDef",raw:o[0],id:c,name:h,text:p,ttype:e,typeName:null!==(l=It[e])&&void 0!==l?l:e,tokens:this.lexer.blockTokens(p),unnumbered:a}}},renderer(e){var t;return`<section class="theorem-like ${Te(e.ttype)}" id="theorem-like-${e.id}">\n <p class="title"><b>${e.typeName}</b>${e.unnumbered?"":" "+e.number}${e.name?" ( <em>"+e.name+"</em> )":""}\n </p>\n <section class="content">\n ${this.parser.parse(null!==(t=null==e?void 0:e.tokens)&&void 0!==t?t:[])}\n </section> \n</section>`}},Lt=/^>>>([^\r\n]+?) *(?<!\\)\[ *([^\r\n]+?) *\|\s*([^\r\n]+?) *\| *([^\r\n]+?) *(?<!\\)\] *<<</,Mt={name:"tooltip",level:"inline",start:e=>e.indexOf(">>>"),tokenizer(e){const t=Lt.exec(e);if(t){const[e,n,r,s,i]=t;return{type:"tooltip",id:"id-"+ve.md5(e),raw:e,title:r,text:n,imageUrl:i,description:{type:"text",text:s,raw:s,tokens:this.lexer.inline(s)},tokens:this.lexer.inlineTokens(n.trim())}}},renderer(e){var t;let n='<span class="tooltip-container">\n';return n+=`<input type="checkbox" id=${e.id} class="tooltip-toggle">`,n+=`<label for=${e.id} class="tooltip-trigger">${this.parser.parseInline(null!==(t=e.tokens)&&void 0!==t?t:[])}</label>\n`,n+='<span class="tooltip">\n',e.imageUrl.trim()&&(n+=`<span class="tooltip-image"><img src="${e.imageUrl.trim()}" alt="${e.title.trim()}"></span>\n`),e.title.trim()&&(n+=`<span class="tooltip-title">${e.title.trim()}</span>\n`),e.description.raw.trim()&&(n+=`<span class="tooltip-description">${this.parser.parseInline([e.description])}</span>\n`),n+="</span>\n</span>\n",n}};function Bt(e){return e.replace(/\s*<\s*/g," \\lt ").replace(/\s*>\s*/g," \\gt ")}const Pt={name:"inlineMath",level:"inline",start:e=>e.indexOf("$"),tokenizer(e){const t=/^\$(?:[^$]|\\\$)+\$(?!\$)/.exec(e);if(t)return{type:"inlineMath",raw:t[0],text:t[0]}},renderer:e=>Bt(e.text)},Ct={name:"inlineMath2",level:"inline",start:e=>e.indexOf("\\("),tokenizer(e){const t=e.match(/^\\\(.*?\\\)/);if(t)return{type:"inlineMath2",raw:t[0],text:t[0]}},renderer:e=>Bt(e.text)},Zt={name:"blockMath",level:"block",start:e=>e.indexOf("$$"),tokenizer(e){const t=e.match(/^\${2}(?:[^$]|\\\$|\$[^$])+\${2}(?!\$)/);if(t)return{type:"blockMath",raw:t[0],text:t[0].trim()}},renderer:e=>`<p class="paragraph">${Bt(e.text)}</p>\n`},Nt={name:"blockMath2",level:"block",start:e=>e.indexOf("\\["),tokenizer(e){const t=e.match(/^\\\[(?:[^$]|\\\$)+\\\]/);if(t)return{type:"blockMath2",raw:t[0],text:t[0].trim()}},renderer:e=>`<p class="paragraph">${Bt(e.text)}</p>\n`},Ut=e=>{const t=new Date,n=new xe;n.use({extensions:[Pt,Ct],tokenizer:Object.assign({},ut),renderer:Object.assign({},Ie)});const r=n.Lexer.lexInline(e,n.defaults);return{parsed:n.parseInline(e),lexed:r,time:(new Date).getTime()-t.getTime()}},Qt=e=>{const t={renderer:Object.assign(Object.assign({},Ee),Ie),tokenizer:Object.assign({},ut),useNewRenderer:!0,gfm:!0,extensions:[Pt,Ct,Zt,Nt,Rt,At,Dt,qt,Ot,ft,vt,Mt],hooks:{preprocess:e=>e,processAllTokens:e=>(e=>{const t={[Et.Theorem]:0,[Et.Lemma]:0,[Et.Corollary]:0,[Et.Axiom]:0,[Et.Definition]:0,[Et.Example]:0},n={};return function e(r){r.forEach((r=>{"theoremLikeDef"===r.type&&(r.ttype in t?t[r.ttype]=t[r.ttype]+1:t[r.ttype]=1,r.number=r.unnumbered?"":t[r.ttype],n[r.id]={typeName:r.typeName,number:r.number}),r.tokens&&r.tokens.length>0&&e(r.tokens)}))}(e),function e(t){t.forEach((t=>{"theoremLikeRef"===t.type&&t.id in n&&(t.number=n[t.id].number,t.typeName=n[t.id].typeName),"list"===t.type&&t.items.forEach((t=>{t.tokens&&t.tokens.length>0&&e(t.tokens)})),t.tokens&&t.tokens.length>0&&e(t.tokens)}))}(e),e})(St(e)),postprocess:e=>(e=>{const t=[];return e=e.replaceAll(/<li class="footnote-def" key="(\d+)".*?<\/li>/g,((e,n)=>(t.push({key:parseInt(n),content:e}),""))),t.sort(((e,t)=>e.key-t.key)),e=e.replaceAll(/<ol class="footnote-list">.*?<\/ol>/g,(()=>"")),t.length>0&&(e+=`<ol class="footnote-list">${t.map((e=>e.content)).join("")}</ol>`),e})(e)}};zt.use(t);const n=new Date,r=St(zt.lexer(e));return{parsed:zt.parse(e),lexed:r,time:(new Date).getTime()-n.getTime()}},Ft=e=>{try{const t=i({fontSize:13});l(t);const n=new a({packages:o,inlineMath:[["$","$"],["\\(","\\)"]],displayMath:[["$$","$$"],["\\[","\\]"]],macros:{parallelogram:"\\unicode{x25B1}"}}),r=new h({fontCache:"none"}),s=c.document(e,{InputJax:n,OutputJax:r});return s.render(),t.innerHTML(t.body(s.document))}catch(t){return e}};export{Qt as renderMarkdown,Ut as renderMarkdownCompact,Ft as tex2svg};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mathcrowd/mmarked",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.5",
|
|
4
4
|
"description": "A customized markdown parser/renderer with tex2svg.",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -78,4 +78,4 @@
|
|
|
78
78
|
"highlight.js": "^11.10.0",
|
|
79
79
|
"mathjax-full": "^3.2.2"
|
|
80
80
|
}
|
|
81
|
-
}
|
|
81
|
+
}
|