56 lines
157 KiB
JavaScript
56 lines
157 KiB
JavaScript
![]() |
var Wh=Object.defineProperty,qh=(e,t,n)=>t in e?Wh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ne=(e,t,n)=>(qh(e,"symbol"!=typeof t?t+"":t,n),n),Kh=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)},xr=(e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)},_i=(e,t,n)=>(Kh(e,t,"access private method"),n);!function(e,t){"object"==typeof exports&&typeof module<"u"?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=typeof globalThis<"u"?globalThis:e||self).Waline={})}(this,function(e){"use strict";var i,x,L,R;const I={"Content-Type":"application/json"},A=e=>e.replace(/\/?$/,"/")+"api/",$=(e,t="")=>{if("object"==typeof e&&e.errno)throw new TypeError(`${t} failed with ${e.errno}: `+e.errmsg);return e},M=({serverURL:e,lang:t,paths:n,type:r,signal:l})=>fetch(`${A(e)}article?path=${encodeURIComponent(n.join(","))}&type=${encodeURIComponent(r.join(","))}&lang=`+t,{signal:l}).then(e=>e.json()).then(e=>$(e,"Get counter").data),P=({serverURL:e,lang:t,path:n,type:r,action:l})=>fetch(A(e)+"article?lang="+t,{method:"POST",headers:I,body:JSON.stringify({path:n,type:r,action:l})}).then(e=>e.json()).then(e=>$(e,"Update counter").data),U=({serverURL:e,lang:t,path:n,page:r,pageSize:l,sortBy:i,signal:o,token:s})=>{const a={};return s&&(a.Authorization="Bearer "+s),fetch(`${A(e)}comment?path=${encodeURIComponent(n)}&pageSize=${l}&page=${r}&lang=${t}&sortBy=`+i,{signal:o,headers:a}).then(e=>e.json()).then(e=>$(e,"Get comment data").data)},V=({serverURL:e,lang:t,token:n,comment:r})=>{const l={"Content-Type":"application/json"};return n&&(l.Authorization="Bearer "+n),fetch(A(e)+"comment?lang="+t,{method:"POST",headers:l,body:JSON.stringify(r)}).then(e=>e.json())},D=({serverURL:e,lang:t,token:n,objectId:r})=>fetch(A(e)+`comment/${r}?lang=`+t,{method:"DELETE",headers:{Authorization:"Bearer "+n}}).then(e=>e.json()).then(e=>$(e,"Delete comment")),H=({serverURL:e,lang:t,token:n,objectId:r,comment:l})=>fetch(A(e)+`comment/${r}?lang=`+t,{method:"PUT",headers:{...I,Authorization:"Bearer "+n},body:JSON.stringify(l)}).then(e=>e.json()).then(e=>$(e,"Update comment")),B=({serverURL:e,lang:t,paths:n,signal:r})=>fetch(`${A(e)}comment?type=count&url=${encodeURIComponent(n.join(","))}&lang=`+t,{signal:r}).then(e=>e.json()).then(e=>$(e,"Get comment count").data),W=({lang:e,serverURL:t})=>{const n=(window.innerWidth-450)/2,r=(window.innerHeight-450)/2,l=window.open(t.replace(/\/$/,"")+"/ui/login?lng="+encodeURIComponent(e),"_blank",`width=450,height=450,left=${n},top=${r},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`);return null!=l&&l.postMessage({type:"TOKEN",data:null},"*"),new Promise(t=>{const n=({data:e})=>{e&&"object"==typeof e&&"userInfo"===e.type&&e.data.token&&(null!=l&&l.close(),window.removeEventListener("message",n),t(e.data))};window.addEventListener("message",n)})},q=({serverURL:e,lang:t,paths:n,signal:r})=>M({serverURL:e,lang:t,paths:n,type:["time"],signal:r}),G=e=>P({...e,type:"time",action:"inc"}),Z=({serverURL:e,lang:t,count:n,signal:r,token:l})=>{const i={};return l&&(i.Authorization="Bearer "+l),fetch(A(e)+`comment?type=recent&count=${n}&lang=`+t,{signal:r,headers:i}).then(e=>e.json())},K=({serverURL:e,signal:t,pageSize:n,lang:r})=>fetch(A(e)+`user?pageSize=${n}&lang=`+r,{signal:t}).then(e=>e.json()).then(e=>$(e,"user list")).then(e=>e.data),Q=["nick","mail","link"],ne=e=>e.filter(e=>Q.includes(e)),re=["//unpkg.com/@waline/emojis@1.1.0/weibo"],le=["//unpkg.com/@waline/emojis/tieba/tieba_agree.png","//unpkg.com/@waline/emojis/tieba/tieba_look_down.png","//unpkg.com/@waline/emojis/tieba/tieba_sunglasses.png","//unpkg.com/@waline/emojis/tieba/tieba_pick_nose.png","//unpkg.com/@waline/emojis/tieba/tieba_awkward.png","//unpkg.com/@waline/emojis/tieba/tieba_sleep.png"],ie=r=>new Promise((t,e)=>{if(128e3<r.size)return e(new Error("File too large! File size limit 128KB"));const n=new FileReader;n.readAsDataURL(r),n.onload=()=>{var e;return t((null==(e=n.result)?void 0:e.toString())??"")},n.onerror=e}),
|
|||
|
Current word number: $2`,"Anonymous","Dwarves","Hobbits","Ents","Wizards","Elves","Maiar","GIF","Search GIF","Profile","Approved","Waiting","Spam","Unsticky","Oldest","Latest","Hottest","What do you think?"]),fe=de(["Pseudo","Le pseudo ne peut pas faire moins de 3 octets.","E-mail","Veuillez confirmer votre adresse e-mail.","Site Web","Optionnel","Commentez ici...","Aucun commentaire pour l'instant.","Envoyer","J'aime","Annuler le j'aime","Répondre","Annuler la réponse","Commentaires","Actualiser","Charger plus...","Aperçu","Emoji","Télécharger une image","Il y a quelques secondes","Il y a quelques minutes","Il y a quelques heures","Il y a quelques jours","À l'instant","Téléchargement en cours","Connexion","Déconnexion","Admin","Épinglé","Mots",`Veuillez saisir des commentaires entre $0 et $1 mots !
|
|||
|
Nombre actuel de mots : $2`,"Anonyme","Nains","Hobbits","Ents","Mages","Elfes","Maïar","GIF","Rechercher un GIF","Profil","Approuvé","En attente","Indésirable","Détacher","Le plus ancien","Dernier","Le plus populaire","Qu'en pensez-vous ?"]),ge=de(["ニックネーム","3バイト以上のニックネームをご入力ください.","メールアドレス","メールアドレスをご確認ください.","サイト","オプション","ここにコメント","コメントしましょう~","提出する","Like","Cancel like","返信する","キャンセル","コメント","更新","さらに読み込む","プレビュー","絵文字","画像をアップロード","秒前","分前","時間前","日前","たっだ今","アップロード","ログインする","ログアウト","管理者","トップに置く","ワード",`コメントは $0 から $1 ワードの間でなければなりません!
|
|||
|
現在の単語番号: $2`,"匿名","うえにん","なかにん","しもおし","特にしもおし","かげ","なぬし","GIF","探す GIF","個人情報","承認済み","待っている","スパム","べたつかない","逆順","正順","人気順","どう思いますか?"]),me=de(["Apelido","Apelido não pode ser menor que 3 bytes.","E-Mail","Por favor, confirme seu endereço de e-mail.","Website","Opcional","Comente aqui...","Nenhum comentário, ainda.","Enviar","Like","Cancel like","Responder","Cancelar resposta","Comentários","Refrescar","Carregar Mais...","Visualizar","Emoji","Enviar Imagem","segundos atrás","minutos atrás","horas atrás","dias atrás","agora mesmo","Enviando","Entrar","Sair","Admin","Sticky","Palavras",`Favor enviar comentário com $0 a $1 palavras!
|
|||
|
Número de palavras atuais: $2`,"Anônimo","Dwarves","Hobbits","Ents","Wizards","Elves","Maiar","GIF","Pesquisar GIF","informação pessoal","Aprovado","Espera","Spam","Unsticky","Mais velho","Mais recentes","Mais quente","O que você acha?"]),ve=de(["Псевдоним","Никнейм не может быть меньше 3 байт.","Эл. адрес","Пожалуйста, подтвердите адрес вашей электронной почты.","Веб-сайт","Необязательный","Комментарий здесь...","Пока нет комментариев.","Отправить","Like","Cancel like","Отвечать","Отменить ответ","Комментарии","Обновить","Загрузи больше...","Превью","эмодзи","Загрузить изображение","секунд назад","несколько минут назад","несколько часов назад","дней назад","прямо сейчас","Загрузка","Авторизоваться","Выход из системы","Админ","Липкий","Слова",`Пожалуйста, введите комментарии от $0 до $1 слов!
|
|||
|
Номер текущего слова: $2`,"Анонимный","Dwarves","Hobbits","Ents","Wizards","Elves","Maiar","GIF","Поиск GIF","Персональные данные","Одобренный","Ожидающий","Спам","Нелипкий","самый старый","последний","самый горячий","Что вы думаете?"]),ye=de(["Tên","Tên không được nhỏ hơn 3 ký tự.","E-Mail","Vui lòng xác nhập địa chỉ email của bạn.","Website","Tùy chọn","Hãy bình luận có văn hoá!","Chưa có bình luận","Gửi","Thích","Bỏ thích","Trả lời","Hủy bỏ","bình luận","Làm mới","Tải thêm...","Xem trước","Emoji","Tải lên hình ảnh","giây trước","phút trước","giờ trước","ngày trước","Vừa xong","Đang tải lên","Đăng nhập","đăng xuất","Quản trị viên","Dính","từ",`Bình luận phải có độ dài giữa $0 và $1 từ!
|
|||
|
Số từ hiện tại: $2`,"Vô danh","Người lùn","Người tí hon","Thần rừng","Pháp sư","Tiên tộc","Maiar","Ảnh GIF","Tìm kiếm ảnh GIF","thông tin cá nhân","Đã được phê duyệt","Đang chờ đợi","Thư rác","Không dính","lâu đời nhất","muộn nhất","nóng nhất","What do you think?"]),t=de(["昵称","昵称不能少于3个字符","邮箱","请填写正确的邮件地址","网址","可选","欢迎评论","来发评论吧~","提交","喜欢","取消喜欢","回复","取消回复","评论","刷新","加载更多...","预览","表情","上传图片","秒前","分钟前","小时前","天前","刚刚","正在上传","登录","退出","博主","置顶","字",`评论字数应在 $0 到 $1 字之间!
|
|||
|
当前字数:$2`,"匿名","潜水","冒泡","吐槽","活跃","话痨","传说","表情包","搜索表情包","个人资料","通过","待审核","垃圾","取消置顶","按倒序","按正序","按热度","你认为这篇文章怎么样?"]),we=de(["暱稱","暱稱不能少於3個字元","郵箱","請填寫正確的郵件地址","網址","可選","歡迎留言","來發留言吧~","送出","喜歡","取消喜歡","回覆","取消回覆","留言","重整","載入更多...","預覽","表情","上傳圖片","秒前","分鐘前","小時前","天前","剛剛","正在上傳","登入","登出","管理者","置頂","字",`留言字數應在 $0 到 $1 字之間!
|
|||
|
目前字數:$2`,"匿名","潛水","冒泡","吐槽","活躍","多話","傳說","表情包","搜尋表情包","個人資料","通過","待審核","垃圾","取消置頂","最早","最新","熱門","你認為這篇文章怎麼樣?"]),be=de(["Benutzername","Der Benutzername darf nicht weniger als 3 Bytes umfassen.","E-Mail","Bitte bestätigen Sie Ihre E-Mail-Adresse.","Webseite","Optional","Kommentieren Sie hier...","Noch keine Kommentare.","Senden","Gefällt mir","Gefällt mir nicht mehr","Antworten","Antwort abbrechen","Kommentare","Aktualisieren","Mehr laden...","Vorschau","Emoji","Ein Bild hochladen","Vor einigen Sekunden","Vor einigen Minuten","Vor einigen Stunden","Vor einigen Tagen","Gerade eben","Hochladen läuft","Anmelden","Abmelden","Admin","Angeheftet","Wörter","Bitte geben Sie Kommentare zwischen $0 und $1 Wörtern ein! Aktuelle Anzahl der Wörter: $2","Anonym","Zwerge","Hobbits","Ents","Magier","Elfen","Maïar","GIF","Nach einem GIF suchen","Profil","Genehmigt","Ausstehend","Spam","Lösen","Älteste","Neueste","Am beliebtesten","Was denken Sie?"]);const ke="en-US",xe={zh:t,"zh-cn":t,"zh-tw":we,en:he,"en-us":he,fr:fe,"fr-fr":fe,jp:ge,"jp-jp":ge,"pt-br":me,ru:ve,"ru-ru":ve,vi:ye,"vi-vn":ye,de:be},_e=e=>xe[e.toLowerCase()]||xe[ke.toLowerCase()],Ce=e=>Object.keys(xe).includes(e.toLowerCase())?e:ke,Se=e=>{try{e=decodeURI(e)}catch{}return e},Le=(e="")=>e.replace(/\/$/u,""),Re=e=>/^(https?:)?\/\//.test(e),Ie=e=>{e=Le(e);return Re(e)?e:"https://"+e},Ee=(e,t)=>"function"==typeof e?e:!1!==e&&t,Ae=({serverURL:e,path:t=location.pathname,lang:n="u"<typeof navigator?"en-US":navigator.language,locale:r,emoji:l=re,meta:i=["nick","mail","link"],requiredMeta:o=[],dark:s=!1,pageSize:a=10,wordLimit:c,imageUploader:u,highlighter:p,texRenderer:d,copyright:h=!0,login:f="enable",search:g,reaction:m,recaptchaV3Key:v="",turnstileKey:y="",commentSorting:w="latest",...b})=>({serverURL:Ie(e),path:Se(t),lang:Ce(n),locale:{..._e(Ce(n)),..."object"==typeof r?r:{}},wordLimit:(e=>Array.isArray(e)?e:!!e&&[0,e])(c),meta:ne(i),requiredMeta:ne(o),imageUploader:Ee(u,ie),highlighter:Ee(p,ue),texRenderer:Ee(d,oe),dark:s,emoji:"boolean"==typeof l?l?re:[]:l,pageSize:a,login:f,copyright:h,search:!1!==g&&("object"==typeof g?g:(n=>{const r=async(e,t={})=>fetch(`https://api.giphy.com/v1/gifs/${e}?`+new URLSearchParams({lang:n,limit:"20",rating:"g",api_key:"6CIMLkNMMOhRcXPoMCPkFy4Ybk2XUiMp",...t}).toString()).then(e=>e.json()).then(({data:e})=>e.map(e=>({title:e.title,src:e.images.downsized_medium.url})));return{search:e=>r("search",{q:e,offset:"0"}),default:()=>r("trending",{}),more:(e,t=0)=>r("search",{q:e,offset:t.toString()})}})(n)),recaptchaV3Key:v,turnstileKey:y,reaction:Array.isArray(m)?m:!0===m?le:[],commentSorting:w,...b}),$e=e=>"string"==typeof e,Te="{--waline-white:#000;--waline-light-grey:#666;--waline-dark-grey:#999;--waline-color:#888;--waline-bg-color:#1e1e1e;--waline-bg-color-light:#272727;--waline-bg-color-hover: #444;--waline-border-color:#333;--waline-disable-bg-color:#444;--waline-disable-color:#272727;--waline-bq-color:#272727;--waline-info-bg-color:#272727;--waline-info-color:#666}",je=(e,t)=>{let n=e.toString();for(;n.length<t;)n="0"+n;return n},ze=(e,t,n)=>{if(!e)return"";const r=$e(e)?new Date(-1!==e.indexOf(" ")?e.replace(/-/g,"/"):e):e,l=t.getTime()-r.getTime(),i=Math.floor(l/864e5);var o;return 0===i?(e=l%864e5,0===(t=Math.floor(e/36e5))?(e=e%36e5,0===(o=Math.floor(e/6e4))?Math.round(e%6e4/1e3)+" "+n.seconds:o+" "+n.minutes):t+" "+n.hours):i<0?n.now:i<8?i+" "+n.days:(e=r,o=je(e.getDate(),2),t=je(e.getMonth()+1,2),je(e.getFullYear(),2)+`-${t}-`+o)},Oe=/^[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])?)*$/;function Me(e){const t=new Set(e.split(","));return e=>t.has(e)}const _={},Pe=[],Ue=()=>{},Fe=()=>!1,Ve=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(122<e.charCodeAt(2)||e.charCodeAt(2)<97),De=e=>e.startsWith("onUpdate:"),f=Object.assign,He=(e,t)=>{t=e.indexOf(t);-1<t&&e.splice(t,1)},Be=Object.prototype.hasOwnProperty,T=(e,t)=>Be.call(e,t)
|
|||
|
`)}}fences(e){const t=this.rules.block.fences.exec(e);var n;if(t)return n=function(e,t){if(null===(e=e.match(/^(\s+)(?:```)/)))return t;const n=e[1];return t.split(`
|
|||
|
`).map(e=>{var t=e.match(/^\s+/);if(null===t)return e;var[t]=t;return t.length>=n.length?e.slice(n.length):e}).join(`
|
|||
|
`)}(e=t[0],t[3]||""),{type:"code",raw:e,lang:t[2]&&t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"),text:n}}heading(e){const t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(/#$/.test(e)){const n=Eo(e,"#");!this.options.pedantic&&n&&!/ $/.test(n)||(e=n.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){e=this.rules.block.hr.exec(e);if(e)return{type:"hr",raw:e[0]}}blockquote(t){const n=this.rules.block.blockquote.exec(t);if(n){let e=n[0].replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,`
|
|||
|
$1`);e=Eo(e.replace(/^ *>[ \t]?/gm,""),`
|
|||
|
`);var t=this.lexer.state.top,r=(this.lexer.state.top=!0,this.lexer.blockTokens(e));return this.lexer.state.top=t,{type:"blockquote",raw:n[0],tokens:r,text:e}}}list(u){let p=this.rules.block.list.exec(u);if(p){let e=p[1].trim();const t=1<e.length,h={type:"list",raw:"",ordered:t,start:t?+e.slice(0,-1):"",loose:!1,items:[]},f=(e=t?"\\d{1,9}\\"+e.slice(-1):"\\"+e,this.options.pedantic&&(e=t?e:"[*+-]"),new RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`));let s="",a="",c=!1;for(;u;){let e=!1;if(!(p=f.exec(u))||this.rules.block.hr.test(u))break;s=p[0],u=u.substring(s.length);let t=p[2].split(`
|
|||
|
`,1)[0].replace(/^\t+/,e=>" ".repeat(3*e.length)),n=u.split(`
|
|||
|
`,1)[0],r=0,l=(this.options.pedantic?(r=2,a=t.trimStart()):(r=4<(r=p[2].search(/[^ ]/))?1:r,a=t.slice(r),r+=p[1].length),!1);if(!t&&/^ *$/.test(n)&&(s+=n+`
|
|||
|
`,u=u.substring(n.length+1),e=!0),!e){const g=new RegExp(`^ {0,${Math.min(3,r-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),m=new RegExp(`^ {0,${Math.min(3,r-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),v=new RegExp(`^ {0,${Math.min(3,r-1)}}(?:\`\`\`|~~~)`),y=new RegExp(`^ {0,${Math.min(3,r-1)}}#`);for(;u;){var d=u.split(`
|
|||
|
`,1)[0];if(n=d,this.options.pedantic&&(n=n.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),v.test(n)||y.test(n)||g.test(n)||m.test(u))break;if(n.search(/[^ ]/)>=r||!n.trim())a+=`
|
|||
|
`+n.slice(r);else{if(l||4<=t.search(/[^ ]/)||v.test(t)||y.test(t)||m.test(t))break;a+=`
|
|||
|
`+n}l||n.trim()||(l=!0),s+=d+`
|
|||
|
`,u=u.substring(d.length+1),t=n.slice(r)}}h.loose||(c?h.loose=!0:/\n *\n *$/.test(s)&&(c=!0));let i=null,o;this.options.gfm&&((i=/^\[[ xX]\] /.exec(a))&&(o="[ ] "!==i[0],a=a.replace(/^\[[ xX]\] +/,""))),h.items.push({type:"list_item",raw:s,task:!!i,checked:o,loose:!1,text:a,tokens:[]}),h.raw+=s}h.items[h.items.length-1].raw=s.trimEnd(),h.items[h.items.length-1].text=a.trimEnd(),h.raw=h.raw.trimEnd();for(let e=0;e<h.items.length;e++)if(this.lexer.state.top=!1,h.items[e].tokens=this.lexer.blockTokens(h.items[e].text,[]),!h.loose){const n=h.items[e].tokens.filter(e=>"space"===e.type),r=0<n.length&&n.some(e=>/\n.*\n/.test(e.raw));h.loose=r}if(h.loose)for(let e=0;e<h.items.length;e++)h.items[e].loose=!0;return h}}html(e){e=this.rules.block.html.exec(e);if(e)return{type:"html",block:!0,raw:e[0],pre:"pre"===e[1]||"script"===e[1]||"style"===e[1],text:e[0]}}def(e){const t=this.rules.block.def.exec(e);var n,r;if(t)return 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"),{type:"def",tag:e,raw:t[0],href:n,title:r}}table(e){const t=this.rules.block.table.exec(e);if(t&&/[:|]/.test(t[2])){const n=Io(t[1]),r=t[2].replace(/^\||\| *$/g,"").split("|"),l=t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split(`
|
|||
|
`):[],i={type:"table",raw:t[0],header:[],align:[],rows:[]};if(n.length===r.length){for(const o of r)/^ *-+: *$/.test(o)?i.align.push("right"):/^ *:-+: *$/.test(o)?i.align.push("center"):/^ *:-+ *$/.test(o)?i.align.push("left"):i.align.push(null);for(const s of n)i.header.push({text:s,tokens:this.lexer.inline(s)});for(const a of l)i.rows.push(Io(a,i.header.length).map(e=>({text:e,tokens:this.lexer.inline(e)})));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)return e=t[1].charAt(t[1].length-1)===`
|
|||
|
`?t[1].slice(0,-1):t[1],{type:"paragraph",raw:t[0],text:e,tokens:this.lexer.inline(e)}}text(e){e=this.rules.block.text.exec(e);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(e){e=this.rules.inline.escape.exec(e);if(e)return{type:"escape",raw:e[0],text:s(e[1])}}tag(e){e=this.rules.inline.tag.exec(e);if(e)return!this.lexer.state.inLink&&/^<a /i.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\/a>/i.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(n){const r=this.rules.inline.link.exec(n);if(r){const i=r[2].trim();if(!this.options.pedantic&&/^</.test(i)){if(!/>$/.test(i))return;n=Eo(i.slice(0,-1),"\\");if((i.length-n.length)%2==0)return}else{var l,n=function(t,n){if(-1===t.indexOf(n[1]))return-1;let r=0;for(let e=0;e<t.length;e++)if("\\"===t[e])e++;else if(t[e]===n[0])r++;else if(t[e]===n[1]&&--r<0)return e;return-1}(r[2],"()");-1<n&&(l=(0===r[0].indexOf("!")?5:4)+r[1].length+n,r[2]=r[2].substring(0,n),r[0]=r[0].substring(0,l).trim(),r[3]="")}let e=r[2],t="";return this.options.pedantic?(n=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(e))&&(e=n[1],t=n[3]):t=r[3]?r[3].slice(1,-1):"",e=e.trim(),/^</.test(e)&&(e=this.options.pedantic&&!/>$/.test(i)?e.slice(1):e.slice(1,-1)),Ao(r,{href:e&&e.replace(this.rules.inline.anyPunctuation,"$1"),title:t&&t.replace(this.rules.inline.anyPunctuation,"$1")},r[0],this.lexer)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){const r=(n[2]||n[1]).replace(/\s+/g," "),l=t[r.toLowerCase()];return l?Ao(n,l,n[0],this.lexer):{type:"text",raw:e=n[0].charAt(0),text:e}}}emStrong(l,i,e=""){let o=this.rules.inline.emStrongLDelim.exec(l);if(!(!o||o[3]&&e.match(/[\p{L}\p{N}]/u))&&(!o[1]&&!o[2]||!e||this.rules.inline.punctuation.exec(e))){var s=[...o[0]].length-1;let e,t,n=s,r=0;const c="*"===o[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c.lastIndex=0,i=i.slice(-1*l.length+s);null!=(o=c.exec(i));)if(e=o[1]||o[2]||o[3]||o[4]||o[5]||o[6])if(t=[...e].length,o[3]||o[4])n+=t;else if((o[5]||o[6])&&s%3&&!((s+t)%3))r+=t;else if(!(0<(n-=t))){t=Math.min(t,t+n+r);const u=[...o[0]][0].length,p=l.slice(0,s+o.index+u+t);if(Math.min(s,t)%2)return a=p.slice(1,-1),{type:"em",raw:p,text:a,tokens:this.lexer.inlineTokens(a)};var a=p.slice(2,-2);return{type:"strong",raw:p,text:a,tokens:this.lexer.inlineTokens(a)}}}}codespan(t){const n=this.rules.inline.code.exec(t);if(n){let e=n[2].replace(/\n/g," ");var t=/[^ ]/.test(e),r=/^ /.test(e)&&/ $/.test(e);return e=s(e=t&&r?e.substring(1,e.length-1):e,!0),{type:"codespan",raw:n[0],text:e}}}br(e){e=this.rules.inline.br.exec(e);if(e)return{type:"br",raw:e[0]}}del(e){e=this.rules.inline.del.exec(e);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(n){n=this.rules.inline.autolink.exec(n);if(n){let e,t;return t="@"===n[2]?"mailto:"+(e=s(n[1])):e=s(n[1]),{type:"link",raw:n[0],text:e,href:t,tokens:[{type:"text",raw:e,text:e}]}}}url(e){var n,r;let l;if(l=this.rules.inline.url.exec(e)){let e,t;if("@"===l[2])e=s(l[0]),t="mailto:"+e;else{for(;r=l[0],l[0]=(null==(n=this.rules.inline._backpedal.exec(l[0]))?void 0:n[0])??"",r!==l[0];);e=s(l[0]),t="www."===l[1]?"http://"+l[0]:l[0]}return{type:"link",raw:l[0],text:e,href:t,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(t){t=this.rules.inline.text.exec(t);if(t){let e;return e=this.lexer.state.inRawBlock?t[0]:s(t[0]),{type:"text",raw:t[0],text:e}}}}const To=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,jo=/(?:[*+-]|\d{1,9}[.)])/,zo=n(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,jo).replace(/blockCode/g,/ {4}/).replace(/fenc
|
|||
|
]`).replace("lheading",zo).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Go=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Zo=/^( {2,}|\\)\n(?!\s*$)/,Ko="\\p{P}\\p{S}",Qo=n(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,Ko).getRegex(),Xo=n(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,Ko).getRegex(),Jo=n("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,Ko).getRegex(),Yo=n("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,Ko).getRegex(),es=n(/\\([punct])/,"gu").replace(/punct/g,Ko).getRegex(),ts=n(/^<(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(),ns=n(Fo).replace("(?:--\x3e|$)","--\x3e").getRegex(),rs=n("^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",ns).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),ls=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,is=n(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",ls).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),os=n(/^!?\[(label)\]\[(ref)\]/).replace("label",ls).replace("ref",Mo).getRegex(),ss=n(/^!?\[(ref)\](?:\[\])?/).replace("ref",Mo).getRegex(),as=n("reflink|nolink(?!\\()","g").replace("reflink",os).replace("nolink",ss).getRegex(),cs={_backpedal:t,anyPunctuation:es,autolink:ts,blockSkip:/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,br:Zo,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:t,emStrongLDelim:Xo,emStrongRDelimAst:Jo,emStrongRDelimUnd:Yo,escape:Go,link:is,nolink:ss,punctuation:Qo,reflink:os,reflinkSearch:as,tag:rs,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,url:t},us={...cs,link:n(/^!?\[(label)\]\((.*?)\)/).replace("label",ls).getRegex(),reflink:n(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",ls).getRegex()},ps={...cs,escape:n(Go).replace("])","~|])").getRegex(),url:n(/^((?: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.!#$%&'*+\/=?_`{\|}~-]+@)))/},ds={...ps,br:n(Zo).replace("{2,}","*").getRegex(),text:n(ps.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},hs={normal:Ho,gfm:Wo,pedantic:qo},fs={normal:cs,gfm:ps,breaks:ds,pedantic:us};class gs{tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||vo,this.options.tokenizer=this.options.tokenizer||new $o,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,(this.tokenizer.lexer=this).inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const t={block:hs.normal,inline:fs.normal};this.options.pedantic?(t.block=hs.pedantic,t.inline=fs.pedantic):this.options.gfm&&(t.block=hs.gfm,this.options.breaks?t.inline=fs.breaks:t.inline=fs.gfm),t
|
|||
|
`),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){var t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(r,t=[]){r=this.options.pedantic?r.replace(/\t/g," ").replace(/^ +$/gm,""):r.replace(/^( *)(\t+)/gm,(e,t,n)=>t+" ".repeat(n.length));let n,e,l,i;for(;r;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(e=>!!(n=e.call({lexer:this},r,t))&&(r=r.substring(n.raw.length),t.push(n),!0)))){if(n=this.tokenizer.space(r)){r=r.substring(n.raw.length),1===n.raw.length&&0<t.length?t[t.length-1].raw+=`
|
|||
|
`:t.push(n);continue}if(n=this.tokenizer.code(r)){r=r.substring(n.raw.length),!(e=t[t.length-1])||"paragraph"!==e.type&&"text"!==e.type?t.push(n):(e.raw+=`
|
|||
|
`+n.raw,e.text+=`
|
|||
|
`+n.text,this.inlineQueue[this.inlineQueue.length-1].src=e.text);continue}if(n=this.tokenizer.fences(r)){r=r.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.heading(r)){r=r.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.hr(r)){r=r.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.blockquote(r)){r=r.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.list(r)){r=r.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.html(r)){r=r.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.def(r)){r=r.substring(n.raw.length),!(e=t[t.length-1])||"paragraph"!==e.type&&"text"!==e.type?this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title}):(e.raw+=`
|
|||
|
`+n.raw,e.text+=`
|
|||
|
`+n.raw,this.inlineQueue[this.inlineQueue.length-1].src=e.text);continue}if(n=this.tokenizer.table(r)){r=r.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.lheading(r)){r=r.substring(n.raw.length),t.push(n);continue}if(l=r,this.options.extensions&&this.options.extensions.startBlock){let t=1/0;const s=r.slice(1);let n;this.options.extensions.startBlock.forEach(e=>{"number"==typeof(n=e.call({lexer:this},s))&&0<=n&&(t=Math.min(t,n))}),t<1/0&&0<=t&&(l=r.substring(0,t+1))}if(this.state.top&&(n=this.tokenizer.paragraph(l))){e=t[t.length-1],i&&"paragraph"===e.type?(e.raw+=`
|
|||
|
`+n.raw,e.text+=`
|
|||
|
`+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=e.text):t.push(n),i=l.length!==r.length,r=r.substring(n.raw.length);continue}if(n=this.tokenizer.text(r)){r=r.substring(n.raw.length),(e=t[t.length-1])&&"text"===e.type?(e.raw+=`
|
|||
|
`+n.raw,e.text+=`
|
|||
|
`+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=e.text):t.push(n);continue}if(r){var o="Infinite loop on byte: "+r.charCodeAt(0);if(this.options.silent){console.error(o);break}throw new Error(o)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(r,t=[]){let n,e,l,i=r,o,s,a;if(this.tokens.links){const u=Object.keys(this.tokens.links);if(0<u.length)for(;null!=(o=this.tokenizer.rules.inline.reflinkSearch.exec(i));)u.includes(o[0].slice(o[0].lastIndexOf("[")+1,-1))&&(i=i.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+i.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(o=this.tokenizer.rules.inline.blockSkip.exec(i));)i=i.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+i.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(o=this.tokenizer.rules.inline.anyPunctuation.exec(i));)i=i.slice(0,o.index)+"++"+i.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;r;)if(s||(a=""),s=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(e=>!!(n=e.call({lexer:this},r,t))&&(r=r.substring(n.raw.length),t.push(n),!0)))){if(n=this.tokenizer.escape(r)){r=r.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.tag(r)){r=r.substring(n.raw.length),(e=t[t.length-1])&&"text"===n.type&&"text"===e.type?(e.raw+=n.raw,e.text+=n.text):t.push(n);continue}if(n=this.tokenizer.link(r)){r=r.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.reflink(r,this.tokens.links)){r=r.substring(n.raw.length),(e=t[t.length-1])&&"text"===n.type&&"text"===e.type?(e.raw+=n.raw,e.text+=n.text):t.push(n);continue}if(n=this.tokenizer.emStrong(r,i,a)){r=r.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.codespan(r)){r=r.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.br(r)){r=r.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.del(r)){r=r.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.autolink(r)){r=r.substring(n.raw.length),t.push(n);continue}if(!this.state.inLink&&(n=this.tokenizer.url(r))){r=r.substring(n.raw.length),t.push(n);continue}if(l=r,this.options.extensions&&this.options.extensions.startInline){let t=1/0;const p=r.slice(1);let n;this.options.extensions.startInline.forEach(e=>{"number"==typeof(n=e.call({lexer:this},p))&&0<=n&&(t=Math.min(t,n))}),t<1/0&&0<=t&&(l=r.substring(0,t+1))}if(n=this.tokenizer.inlineText(l)){r=r.substring(n.raw.length),"_"!==n.raw.slice(-1)&&(a=n.raw.slice(-1)),s=!0,(e=t[t.length-1])&&"text"===e.type?(e.raw+=n.raw,e.text+=n.text):t.push(n);continue}if(r){var c="Infinite loop on byte: "+r.charCodeAt(0);if(this.options.silent){console.error(c);break}throw new Error(c)}}return t}}class ms{options;constructor(e){this.options=e||vo}code(e,t,n){t=null==(t=(t||"").match(/^\S*/))?void 0:t[0];return e=e.replace(/\n$/,"")+`
|
|||
|
`,t?'<pre><code class="language-'+s(t)+'">'+(n?e:s(e,!0))+`</code></pre>
|
|||
|
`:"<pre><code>"+(n?e:s(e,!0))+`</code></pre>
|
|||
|
`}blockquote(e){return`<blockquote>
|
|||
|
${e}</blockquote>
|
|||
|
`}html(e,t){return e}heading(e,t,n){return`<h${t}>${e}</h${t}>
|
|||
|
`}hr(){return`<hr>
|
|||
|
`}list(e,t,n){var r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+`>
|
|||
|
`+e+"</"+r+`>
|
|||
|
`}listitem(e,t,n){return`<li>${e}</li>
|
|||
|
`}checkbox(e){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph(e){return`<p>${e}</p>
|
|||
|
`}table(e,t){return`<table>
|
|||
|
<thead>
|
|||
|
`+e+`</thead>
|
|||
|
`+(t=t&&`<tbody>${t}</tbody>`)+`</table>
|
|||
|
`}tablerow(e){return`<tr>
|
|||
|
${e}</tr>
|
|||
|
`}tablecell(e,t){var n=t.header?"th":"td";return(t.align?`<${n} align="${t.align}">`:`<${n}>`)+e+`</${n}>
|
|||
|
`}strong(e){return`<strong>${e}</strong>`}em(e){return`<em>${e}</em>`}codespan(e){return`<code>${e}</code>`}br(){return"<br>"}del(e){return`<del>${e}</del>`}link(e,t,n){var r=Ro(e);if(null===r)return n;let l='<a href="'+(e=r)+'"';return t&&(l+=' title="'+t+'"'),l+=">"+n+"</a>"}image(e,t,n){var r=Ro(e);if(null===r)return n;let l=`<img src="${e=r}" alt="${n}"`;return t&&(l+=` title="${t}"`),l+=">"}text(e){return e}}class vs{strong(e){return e}em(e){return e}codespan(e){return e}del(e){return e}html(e){return e}text(e){return e}link(e,t,n){return""+n}image(e,t,n){return""+n}br(){return""}}class ys{options;renderer;textRenderer;constructor(e){this.options=e||vo,this.options.renderer=this.options.renderer||new ms,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new vs}static parse(e,t){return new ys(t).parse(e)}static parseInline(e,t){return new ys(t).parseInline(e)}parse(r,l=!0){let i="";for(let n=0;n<r.length;n++){var o=r[n];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[o.type]){var e=o,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)){i+=t||"";continue}}switch(o.type){case"space":continue;case"hr":i+=this.renderer.hr();continue;case"heading":var s=o;i+=this.renderer.heading(this.parseInline(s.tokens),s.depth,this.parseInline(s.tokens,this.textRenderer).replace(So,(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)):""));continue;case"code":i+=this.renderer.code(o.text,o.lang,!!o.escaped);continue;case"table":{var a=o;let e="",t="";for(let e=0;e<a.header.length;e++)t+=this.renderer.tablecell(this.parseInline(a.header[e].tokens),{header:!0,align:a.align[e]});e+=this.renderer.tablerow(t);let n="";for(let e=0;e<a.rows.length;e++){var c=a.rows[e];t="";for(let e=0;e<c.length;e++)t+=this.renderer.tablecell(this.parseInline(c[e].tokens),{header:!1,align:a.align[e]});n+=this.renderer.tablerow(t)}i+=this.renderer.table(e,n);continue}case"blockquote":s=this.parse(o.tokens);i+=this.renderer.blockquote(s);continue;case"list":{var u,p=o,d=p.ordered,h=p.start,f=p.loose;let n="";for(let t=0;t<p.items.length;t++){const g=p.items[t],m=g.checked,v=g.task;let e="";g.task&&(u=this.renderer.checkbox(!!m),f?0<g.tokens.length&&"paragraph"===g.tokens[0].type?(g.tokens[0].text=u+" "+g.tokens[0].text,g.tokens[0].tokens&&0<g.tokens[0].tokens.length&&"text"===g.tokens[0].tokens[0].type&&(g.tokens[0].tokens[0].text=u+" "+g.tokens[0].tokens[0].text)):g.tokens.unshift({type:"text",text:u+" "}):e+=u+" "),e+=this.parse(g.tokens,f),n+=this.renderer.listitem(e,v,!!m)}i+=this.renderer.list(n,d,h);continue}case"html":i+=this.renderer.html(o.text,o.block);continue;case"paragraph":i+=this.renderer.paragraph(this.parseInline(o.tokens));continue;case"text":{let e=o,t=e.tokens?this.parseInline(e.tokens):e.text;for(;n+1<r.length&&"text"===r[n+1].type;)e=r[++n],t+=`
|
|||
|
`+(e.tokens?this.parseInline(e.tokens):e.text);i+=l?this.renderer.paragraph(t):t;continue}default:d='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(d),"";throw new Error(d)}}return i}parseInline(t,n){n=n||this.renderer;let r="";for(let e=0;e<t.length;e++){var l=t[e];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[l.type]){var i=this.options.extensions.renderers[l.type].call({parser:this},l);if(!1!==i||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(l.type)){r+=i||"";continue}}switch(l.type){case"escape":r+=n.text(l.text);break;case"html":r+=n.html(l.text);break;case"link":r+=n.link(l.href,l.title,this.parseInline(l.tokens,n));break;case"image":r+=n.image(l.href,l.title,l.text);break;case"strong":r+=n.strong(this.parseInline(l.tokens,n));break;case"em":r+=n.em(this.parseInline(l.tokens,n));break;case"codespan":r+=n.codespan(l.text);break;case"br":r+=n.br();break;case"del":r+=n.del(this.parseInline(l.tokens,n));break;case"text":r+=n.text(l.text);break;default:var o='Token with "'+l.type+'" type was not found.';if(this.options.silent)return console.error(o),"";throw new Error(o)}}return r}}class ws{options;constructor(e){this.options=e||vo}preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}}Ne(ws,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens"]));class bs{constructor(...e){xr(this,i),xr(this,L),Ne(this,"defaults",mo()),Ne(this,"options",this.setOptions),Ne(this,"parse",_i(this,i,x).call(this,gs.lex,ys.parse)),Ne(this,"parseInline",_i(this,i,x).call(this,gs.lexInline,ys.parseInline)),Ne(this,"Parser",ys),Ne(this,"Renderer",ms),Ne(this,"TextRenderer",vs),Ne(this,"Lexer",gs),Ne(this,"Tokenizer",$o),Ne(this,"Hooks",ws),this.use(...e)}walkTokens(e,t){var n;let r=[];for(const i of e)switch(r=r.concat(t.call(this,i)),i.type){case"table":var l=i;for(const o of l.header)r=r.concat(this.walkTokens(o.tokens,t));for(const s of l.rows)for(const a of s)r=r.concat(this.walkTokens(a.tokens,t));break;case"list":l=i;r=r.concat(this.walkTokens(l.items,t));break;default:{const c=i;null!=(n=null==(n=this.defaults.extensions)?void 0:n.childTokens)&&n[c.type]?this.defaults.extensions.childTokens[c.type].forEach(e=>{e=c[e].flat(1/0);r=r.concat(this.walkTokens(e,t))}):c.tokens&&(r=r.concat(this.walkTokens(c.tokens,t)))}}return r}use(...e){const w=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{const t={...e};if(t.async=this.defaults.async||t.async||!1,e.extensions&&(e.extensions.forEach(n=>{if(!n.name)throw new Error("extension name required");if("renderer"in n){const r=w.renderers[n.name];r?w.renderers[n.name]=function(...e){let t=n.renderer.apply(this,e);return t=!1===t?r.apply(this,e):t}:w.renderers[n.name]=n.renderer}if("tokenizer"in n){if(!n.level||"block"!==n.level&&"inline"!==n.level)throw new Error("extension level must be 'block' or 'inline'");const e=w[n.level];e?e.unshift(n.tokenizer):w[n.level]=[n.tokenizer],n.start&&("block"===n.level?w.startBlock?w.startBlock.push(n.start):w.startBlock=[n.start]:"inline"===n.level&&(w.startInline?w.startInline.push(n.start):w.startInline=[n.start]))}"childTokens"in n&&n.childTokens&&(w.childTokens[n.name]=n.childTokens)}),t.extensions=w),e.renderer){const n=this.defaults.renderer||new ms(this.defaults);for(const r in e.renderer){if(!(r in n))throw new Error(`renderer '${r}' does not exist`);if("options"!==r){const l=r,i=e.renderer[l],o=n[l];n[l]=(...e)=>{let t=i.apply(n,e);return(t=!1===t?o.apply(n,e):t)||""}}}t.renderer=n}if(e.tokenizer){const s=this.defaults.tokenizer||new $o(this.defaults);for(const a in e.tokenizer){if(!(a in s))throw new Error(`tokenizer '${a}' does not exist`);if(!["options","rules","lexer"].includes(a)){const c=a,u=e.tokenizer[c],p=s[c];s[c]=(...e)=>{let t=u.apply(s,e);return t=!1===t?p.apply(s,e):t}}}t.tokenizer=s}if(e.hooks){const d=this.defaults.hooks||new ws;for(const h in e.hooks){if(!(h in d))throw new Error(`hook '${h}' does not exist`);if("options"!==h){const f=h,
|
|||
|
Please report this to https://github.com/markedjs/marked.`,n)return t="<p>An error occurred:</p><pre>"+s(e.message+"",!0)+"</pre>",r?Promise.resolve(t):t;if(r)return Promise.reject(e);throw e}};const ks=new bs;function r(e,t){return ks.parse(e,t)}function xs(e){return(e||"").match(/\S*/)[0]}function _s(t){return e=>{"string"==typeof e&&e!==t.text&&(t.escaped=!0,t.text=e)}}r.options=r.setOptions=function(e){return ks.setOptions(e),yo(r.defaults=ks.defaults),r},r.getDefaults=mo,r.defaults=vo,r.use=function(...e){return ks.use(...e),yo(r.defaults=ks.defaults),r},r.walkTokens=function(e,t){return ks.walkTokens(e,t)},r.parseInline=ks.parseInline,r.Parser=ys,r.parser=ys.parse,r.Renderer=ms,r.TextRenderer=vs,r.Lexer=gs,r.lexer=gs.lex,r.Tokenizer=$o,r.Hooks=ws,r.parse=r;const Cs=/[&<>"']/,Ss=new RegExp(Cs.source,"g"),Ls=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,Rs=new RegExp(Ls.source,"g"),Is={"&":"&","<":"<",">":">",'"':""","'":"'"},Es=e=>Is[e];function As(e,t){if(t){if(Cs.test(e))return e.replace(Ss,Es)}else if(Ls.test(e))return e.replace(Rs,Es);return e}const $s=/\$.*?\$/,Ts=/^\$(.*?)\$/,js=/^(?:\s{0,3})\$\$((?:[^\n]|\n[^\n])+?)\n{0,1}\$\$/,zs=(e="",n={})=>e.replace(/:(.+?):/g,(e,t)=>n[t]?`<img class="wl-emoji" src="${n[t]}" alt="${t}">`:e),Os=(e,{emojiMap:t,highlighter:n,texRenderer:r})=>{const l=new bs;var i;return l.setOptions({breaks:!0}),n&&l.use(function(r){if((r="function"==typeof r?{highlight:r}:r)&&"function"==typeof r.highlight)return"string"!=typeof r.langPrefix&&(r.langPrefix="language-"),{async:!!r.async,walkTokens(e){if("code"===e.type){var t=xs(e.lang);if(r.async)return Promise.resolve(r.highlight(e.text,t,e.lang||"")).then(_s(e));t=r.highlight(e.text,t,e.lang||"");if(t 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.");_s(e)(t)}},renderer:{code(e,t,n){t=xs(t),t=t?` class="${r.langPrefix}${As(t)}"`:"";return e=e.replace(/\n$/,""),`<pre><code${t}>${n?e:As(e,!0)}
|
|||
|
</code></pre>`}}};throw new Error("Must provide highlight function")}({highlight:n})),r&&(i=r,l.use({extensions:[{name:"blockMath",level:"block",tokenizer(e){e=js.exec(e);if(null!==e)return{type:"html",raw:e[0],text:i(!0,e[1])}}},{name:"inlineMath",level:"inline",start(e){var t=e.search($s);return-1!==t?t:e.length},tokenizer(e){e=Ts.exec(e);if(null!==e)return{type:"html",raw:e[0],text:i(!1,e[1])}}}]})),l.parse(zs(e,t))},Ms=e=>{e=e.dataset.path;return null!=e&&e.length?e:null},Ps=({serverURL:e,path:t=window.location.pathname,selector:n=".waline-comment-count",lang:r=navigator.language})=>{const l=new AbortController,i=document.querySelectorAll(n);return i.length&&B({serverURL:Ie(e),paths:Array.from(i).map(e=>Se(Ms(e)??t)),lang:r,signal:l.signal}).then(n=>{i.forEach((e,t)=>{e.innerText=n[t].toString()})}).catch(po),l.abort.bind(l)},Us=({size:e})=>w("svg",{class:"wl-close-icon",viewBox:"0 0 1024 1024",width:e,height:e},[w("path",{d:"M697.173 85.333h-369.92c-144.64 0-241.92 101.547-241.92 252.587v348.587c0 150.613 97.28 252.16 241.92 252.16h369.92c144.64 0 241.494-101.547 241.494-252.16V337.92c0-151.04-96.854-252.587-241.494-252.587z",fill:"currentColor"}),w("path",{d:"m640.683 587.52-75.947-75.861 75.904-75.862a37.29 37.29 0 0 0 0-52.778 37.205 37.205 0 0 0-52.779 0l-75.946 75.818-75.862-75.946a37.419 37.419 0 0 0-52.821 0 37.419 37.419 0 0 0 0 52.821l75.947 75.947-75.776 75.733a37.29 37.29 0 1 0 52.778 52.821l75.776-75.776 75.947 75.947a37.376 37.376 0 0 0 52.779-52.821z",fill:"#888"})]),Ns=()=>w("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},w("path",{d:"m341.013 394.667 27.755 393.45h271.83l27.733-393.45h64.106l-28.01 397.952a64 64 0 0 1-63.83 59.498H368.768a64 64 0 0 1-63.83-59.52l-28.053-397.93h64.128zm139.307 19.818v298.667h-64V414.485h64zm117.013 0v298.667h-64V414.485h64zM181.333 288h640v64h-640v-64zm453.483-106.667v64h-256v-64h256z",fill:"red"})),Fs=()=>w("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},w("path",{d:"M563.2 463.3 677 540c1.7 1.2 3.7 1.8 5.8 1.8.7 0 1.4-.1 2-.2 2.7-.5 5.1-2.1 6.6-4.4l25.3-37.8c1.5-2.3 2.1-5.1 1.6-7.8s-2.1-5.1-4.4-6.6l-73.6-49.1 73.6-49.1c2.3-1.5 3.9-3.9 4.4-6.6.5-2.7 0-5.5-1.6-7.8l-25.3-37.8a10.1 10.1 0 0 0-6.6-4.4c-.7-.1-1.3-.2-2-.2-2.1 0-4.1.6-5.8 1.8l-113.8 76.6c-9.2 6.2-14.7 16.4-14.7 27.5.1 11 5.5 21.3 14.7 27.4zM387 348.8h-45.5c-5.7 0-10.4 4.7-10.4 10.4v153.3c0 5.7 4.7 10.4 10.4 10.4H387c5.7 0 10.4-4.7 10.4-10.4V359.2c0-5.7-4.7-10.4-10.4-10.4zm333.8 241.3-41-20a10.3 10.3 0 0 0-8.1-.5c-2.6.9-4.8 2.9-5.9 5.4-30.1 64.9-93.1 109.1-164.4 115.2-5.7.5-9.9 5.5-9.5 11.2l3.9 45.5c.5 5.3 5 9.5 10.3 9.5h.9c94.8-8 178.5-66.5 218.6-152.7 2.4-5 .3-11.2-4.8-13.6zm186-186.1c-11.9-42-30.5-81.4-55.2-117.1-24.1-34.9-53.5-65.6-87.5-91.2-33.9-25.6-71.5-45.5-111.6-59.2-41.2-14-84.1-21.1-127.8-21.1h-1.2c-75.4 0-148.8 21.4-212.5 61.7-63.7 40.3-114.3 97.6-146.5 165.8-32.2 68.1-44.3 143.6-35.1 218.4 9.3 74.8 39.4 145 87.3 203.3.1.2.3.3.4.5l36.2 38.4c1.1 1.2 2.5 2.1 3.9 2.6 73.3 66.7 168.2 103.5 267.5 103.5 73.3 0 145.2-20.3 207.7-58.7 37.3-22.9 70.3-51.5 98.1-85 27.1-32.7 48.7-69.5 64.2-109.1 15.5-39.7 24.4-81.3 26.6-123.8 2.4-43.6-2.5-87-14.5-129zm-60.5 181.1c-8.3 37-22.8 72-43 104-19.7 31.1-44.3 58.6-73.1 81.7-28.8 23.1-61 41-95.7 53.4-35.6 12.7-72.9 19.1-110.9 19.1-82.6 0-161.7-30.6-222.8-86.2l-34.1-35.8c-23.9-29.3-42.4-62.2-55.1-97.7-12.4-34.7-18.8-71-19.2-107.9-.4-36.9 5.4-73.3 17.1-108.2 12-35.8 30-69.2 53.4-99.1 31.7-40.4 71.1-72 117.2-94.1 44.5-21.3 94-32.6 143.4-32.6 49.3 0 97 10.8 141.8 32 34.3 16.3 65.3 38.1 92 64.8 26.1 26 47.5 56 63.6 89.2 16.2 33.2 26.6 68.5 31 105.1 4.6 37.5 2.7 75.3-5.6 112.3z",fill:"currentColor"})),Vs=()=>w("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[w("path",{d:"M784 112H240c-88 0-160 72-160 160v480c0 88 72 160 160 160h544c88 0 160-72 160-160V272c0-88-72-160-160-160zm96 640c0 52.8-43.2 96-96 96H240c-52.8 0-96-43.2-96-96V272c0-52.8 43.2-96 96-96h544c52.8 0 96 43.2 96 96v480z",fill:"currentColor"}),w("path",{d:"M352 480c52.8 0 96-43.2 96-96s-43.2-96-96-96-96 43.2-96 96 43.2 96 96 96zm0-128c17.6 0 32 14.4 32 32s-14.4 32-32 32-32-14.4-32-32 14.4-3
|
|||
|
`)}).catch(e=>{alert(e.message),y.value=y.value.replace(n,"")}).then(()=>{I.value=!1})},j=async()=>{var e,t,n,r;const{serverURL:l,lang:i,login:o,wordLimit:s,requiredMeta:a,recaptchaV3Key:c,turnstileKey:u}=v.value,p=await(async()=>{if(!navigator)return"";const e=navigator["userAgentData"];let t=navigator.userAgent;if(!e||"Windows"!==e.platform)return t;const n=(await e.getHighEntropyValues(["platformVersion"]))["platformVersion"];return t=n&&13<=parseInt(n.split(".")[0])?t.replace("Windows NT 10.0","Windows NT 11.0"):t})(),d={comment:R.value,nick:w.value.nick,mail:w.value.mail,link:w.value.link,url:v.value.path,ua:p};if(!g.edit)if(null!=(n=b.value)&&n.token)d.nick=b.value.display_name,d.mail=b.value.email,d.link=b.value.url;else{if("force"===o)return;if(-1<a.indexOf("nick")&&!d.nick)return null!=(n=k.value.nick)&&n.focus(),alert(E.value.nickError);if(-1<a.indexOf("mail")&&!d.mail||d.mail&&(n=d.mail,!Oe.test(n)))return null!=(n=k.value.mail)&&n.focus(),alert(E.value.mailError);d.nick||(d.nick=E.value.anonymous)}if(d.comment){if(!L.value)return alert(E.value.wordHint.replace("$0",s[0].toString()).replace("$1",s[1].toString()).replace("$2",S.value.toString()));d.comment=zs(d.comment,_.value.map),g.replyId&&g.rootId&&(d.pid=g.replyId,d.rid=g.rootId,d.at=g.replyUser),I.value=!0;try{c&&(d.recaptchaV3=await(e=>{const n=sa[e]??(sa[e]=Ys.load(e,{useRecaptchaNet:!0,autoHideBadge:!0}));return{execute:t=>n.then(e=>e.execute(t))}})(c).execute("social")),u&&(d.turnstile=(r=u,await(async t=>{const e=oo("https://challenges.cloudflare.com/turnstile/v0/api.js",void 0,{async:!1})["load"],n=(await e(),null==window?void 0:window.turnstile);return new Promise(e=>{null!=n&&n.ready(()=>{null!=n&&n.render(".wl-captcha-container",{sitekey:r,action:t,size:"compact",callback:e})})})})("social")));var h={serverURL:l,lang:i,token:null==(e=b.value)?void 0:e.token,comment:d},f=await(g.edit?H({objectId:g.edit.objectId,...h}):V(h));if(I.value=!1,f.errmsg)return alert(f.errmsg);m("submit",f.data),y.value="",C.value="",await tr(),g.replyId&&m("cancelReply"),null!=(t=g.edit)&&t.objectId&&m("cancelEdit")}catch(e){I.value=!1,alert(e.message)}}else null!=(n=x.value)&&n.focus()},z=e=>{var t;null!=(t=l.value)&&t.contains(e.target)||null!=(t=i.value)&&t.contains(e.target)||(u.value=!1),null!=(t=o.value)&&t.contains(e.target)||null!=(t=s.value)&&t.contains(e.target)||(p.value=!1)},O=async e=>{var t;const{scrollTop:n,clientHeight:r,scrollHeight:l}=e.target,i=(r+n)/l,o=v.value.search,s=(null==(t=a.value)?void 0:t.value)??"";i<.9||d.loading||f.value||(d.loading=!0,(o.more&&d.list.length?await o.more(s,d.list.length):await o.search(s)).length?d.list=[...d.list,...o.more&&d.list.length?await o.more(s,d.list.length):await o.search(s)]:f.value=!0,d.loading=!1,setTimeout(()=>{e.target.scrollTop=n},50))},U=Gi(e=>{d.list=[],f.value=!1,O(e)},300);Sr([v,S],([e,t])=>{e=e.wordLimit;e?t<e[0]&&0!==e[0]?(h.value=e[0],L.value=!1):t>e[1]?(h.value=e[1],L.value=!1):(h.value=e[1],L.value=!0):(h.value=0,L.value=!0)},{immediate:!0}),Ji("click",z),Ji("message",({data:e})=>{e&&"profile"===e.type&&(b.value={...b.value,...e.data},[localStorage,sessionStorage].filter(e=>e.getItem("WALINE_USER")).forEach(e=>e.setItem("WALINE_USER",JSON.stringify(b))))}),Sr(p,async e=>{if(e){const t=v.value.search;a.value&&(a.value.value=""),d.loading=!0,d.list=await((null==(e=t.default)?void 0:e.call(t))??t.search("")),d.loading=!1}}),zr(()=>{var e;null!=(e=g.edit)&&e.objectId&&(y.value=g.edit.orig),Lr(()=>y.value,e=>{var{highlighter:t,texRenderer:n}=v.value;R.value=e,C.value=Os(e,{emojiMap:_.value.map,highlighter:t,texRenderer:n}),S.value=((null==(n=(t=e).match(/[\w\d\s,.\u00C0-\u024F\u0400-\u04FF]+/giu))?void 0:n.reduce((e,t)=>e+(["",",","."].includes(t.trim())?0:t.trim().split(/\s+/u).length),0))??0)+((null==(n=t.match(/[\u4E00-\u9FD5]/gu))?void 0:n.length)??0),e?xa(x.value):xa.destroy(x.value)},{immediate:!0}),Lr(()=>v.value.emoji,e=>uo(e).then(e=>{_.value=e}),{immediate:!0})});t={props:g,emit:m,config:v,editor:y,userMeta:w,userInfo:b,inputRefs:k,editorRef:x,imageUploadRef:r,emojiButtonRe
|