tiny-markdown-editor 0.2.6 → 0.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/dist/tiny-mde.js +8 -1
- package/dist/tiny-mde.min.js +1 -1
- package/dist/tiny-mde.tiny.js +1 -1
- package/lib/TinyMDE.d.ts +108 -0
- package/lib/TinyMDE.js +1558 -0
- package/lib/TinyMDECommandBar.d.ts +35 -0
- package/lib/TinyMDECommandBar.js +329 -0
- package/lib/grammar.d.ts +77 -0
- package/lib/grammar.js +311 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +10 -0
- package/lib/svg/svg.d.ts +2 -0
- package/lib/svg/svg.js +21 -0
- package/lib/tiny.d.ts +2 -0
- package/lib/tiny.js +8 -0
- package/package.json +3 -2
package/dist/tiny-mde.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyMDE={})}(this,(function(e){"use strict";const t={blockquote:'<svg height="18" width="18"><rect width="5" height="5" x="3" y="4" ry="1"/><rect ry="1" y="4" x="10" height="5" width="5"/><path d="M8 6.999v3c0 1-1 3-1 3s-.331 1-1.331 1h-1c-1 0-.669-1-.669-1s1-2 1-3v-3zm7 0v3c0 1-1 3-1 3s-.331 1-1.331 1h-1c-1 0-.669-1-.669-1s1-2 1-3v-3z"/></svg>',bold:'<svg height="18" width="18"><path d="M4 2a1 1 0 00-1 1v12a1 1 0 001 1h6c4 0 5-2 5-4 0-1.322-.434-2.636-1.885-3.381C13.772 7.885 14 6.945 14 6c0-2-1-4-5-4zm1 2h4c1.668 0 2.32.393 2.6.672.28.279.4.662.4 1.328s-.12 1.057-.4 1.338c-.275.274-1.014.646-2.6.662H5zm5 6c1.666.005 2.318.388 2.596.666.277.278.404.667.404 1.334s-.127 1.06-.404 1.338c-.278.278-.93.66-2.596.662l-4.992.004L5 10z"/></svg>',code:'<svg height="18" width="18"><path d="M13.5 2.994a.5.5 0 00-.5.5.5.5 0 000 .034V4.53a5.993 5.993 0 00-7.451-.445A6 6 0 1012.45 13.9a5.99 5.99 0 001.346-1.334.5.5 0 00.096-.101.5.5 0 00-.12-.698.5.5 0 00-.697.12l-.004-.005a5 5 0 01-1.197 1.2 5 5 0 111.215-6.965.5.5 0 00.697.12.5.5 0 00.211-.44V4.745H14V3.493a.5.5 0 00-.5-.5z"/></svg>',h1:'<svg height="18" width="18"><path d="M3 2s0-1 1-1h1c1 0 1 1 1 1v6h6V2s0-1 1-1h1c1 0 1 1 1 1v14s0 1-1 1h-1c-1 0-1-1-1-1v-6H6v6s0 1-1 1H4c-1 0-1-1-1-1z"/></svg>',h2:'<svg height="18" width="18"><path d="M4 2s0-1 1-1 1 1 1 1v6c1-1 2-1 4-1 3 0 4 2 4 4v5s0 1-1 1-1-1-1-1v-5c0-1.094-1-2-2-2-2 0-3 0-4 2v5s0 1-1 1-1-1-1-1z"/></svg>',hr:'<svg height="18" width="18"><rect ry="1" y="8" height="2" width="18" style="font-variation-settings:normal;marker:none"/></svg>',image:'<svg height="18" width="18"><path d="M1 2v14h16V2H1zm2 2h12v7l-3-3-4 4-2-2-3 3V4z"/><circle r="1.5" cy="6.5" cx="5.5"/></svg>',italic:'<svg height="18" width="18"><path d="M9 2a1 1 0 000 2L7 14a1 1 0 100 2h2a1 1 0 000-2l2-10a1 1 0 100-2z"/></svg>',link:'<svg height="18" width="18"><path d="M9.07 5.18a3.9 3.9 0 00-1.52.43C6.31 6.22 5.3 7.29 4.3 8.29c-1 1-2.07 2.02-2.68 3.26-.31.62-.5 1.33-.41 2.07.09.75.48 1.47 1.1 2.09.61.61 1.33 1 2.08 1.1.74.09 1.45-.1 2.07-.42 1.24-.61 2.26-1.68 3.26-2.68.46-.47.94-.94 1.39-1.44l-.43.26c-.68.34-1.49.56-2.36.46-.2-.03-.4-.08-.6-.14-.79.76-1.55 1.45-2.16 1.76-.38.19-.67.24-.92.21-.26-.03-.54-.14-.92-.53-.39-.38-.5-.66-.53-.91-.03-.26.02-.55.21-.93.39-.76 1.32-1.74 2.32-2.74 1-1 1.98-1.93 2.74-2.32.38-.19.67-.24.93-.21.25.03.53.14.91.53.39.38.5.66.53.92v.06l1.12-1.06.44-.47c-.18-.3-.4-.6-.67-.87-.62-.61-1.34-1-2.09-1.1a3.08 3.08 0 00-.55-.01z"/><path d="M13.07.86a3.9 3.9 0 00-1.52.43c-1.24.62-2.26 1.69-3.26 2.69-.46.47-.94.94-1.39 1.43.15-.08.28-.18.43-.25a4.4 4.4 0 012.36-.46c.2.02.4.07.6.14.79-.77 1.55-1.46 2.16-1.76.38-.19.67-.25.93-.21.25.03.53.14.91.52.39.38.5.66.53.92.03.26-.02.55-.21.93-.39.76-1.32 1.74-2.32 2.74-1 1-1.98 1.93-2.74 2.31-.38.2-.67.25-.93.22-.25-.04-.53-.15-.91-.53-.39-.38-.5-.66-.53-.92V9c-.36.33-.73.67-1.12 1.06l-.43.46c.17.3.4.6.66.87.62.62 1.34 1 2.08 1.1.75.1 1.46-.1 2.08-.41 1.24-.62 2.26-1.69 3.26-2.69s2.07-2.02 2.68-3.26c.31-.62.5-1.32.41-2.07a3.63 3.63 0 00-1.1-2.08c-.61-.62-1.33-1-2.07-1.1a3.08 3.08 0 00-.56-.02z"/></svg>',ol:'<svg height="18" width="18"><path d="M1.5 7a.5.5 0 100 1h1a.5.5 0 01.5.5c0 .164-.08.31-.14.355l-1.655 1.25A.492.492 0 001 10.5a.5.5 0 00.5.5h2a.5.5 0 000-1H3l.398-.299A1.5 1.5 0 002.5 7z"/><path d="M1.5 12c-.667 0-.667 1 0 1h1.25c.333 0 .333.5 0 .5H2.5c-.667 0-.667 1 0 1h.25c.333 0 .333.5 0 .5H1.5c-.667 0-.667 1 0 1h1c.398 0 .78-.131 1.06-.365.282-.235.44-.554.44-.885a1.121 1.121 0 00-.303-.75c.191-.204.3-.47.303-.75 0-.332-.158-.651-.44-.885-.3-.241-.675-.37-1.06-.365z"/><rect y="13" x="6" height="2" width="12" ry="1"/><rect ry="1" width="12" height="2" x="6" y="8"/><rect y="3" x="6" height="2" width="12" ry="1"/><path d="M1.5 2a.5.5 0 100 1H2v2h-.5a.5.5 0 100 1h2a.5.5 0 100-1H3V2.5c0-.277-.223-.5-.5-.5z"/></svg>',redo:'<svg height="18" width="18"><path d="M 7.2695308,2.7050781 C 8.1128755,2.7081581 8.9529895,2.8712156 9.730469,3.1347656 11.408874,3.7037121 12.90142,4.6847104 14,5.6367188 V 4 h 2 V 9 H 11 V 7 h 1.509765 C 11.59075,6.2485173 10.340208,5.453808 9.0878904,5.0292969 7.4309398,4.4676231 5.9453458,4.468717 4.7070308,5.7070312 c -1.225014,1.2250142 -1.409769,2.7206953 -0.779297,4.2968748 0.630472,1.57618 2.167475,3.158006 4.4433598,4.06836 l -0.7421878,1.855468 c -2.724115,-1.089646 -4.687112,-3.00782 -5.55664,-5.18164 -0.869528,-2.1738206 -0.554283,-4.6781393 1.220703,-6.4531252 0.923857,-0.9238568 2.015388,-1.388828 3.134765,-1.5351563 0.279845,-0.036582 0.560682,-0.053761 0.841797,-0.052734 z" /></svg>',strikethrough:'<svg width="18" height="18"><path d="M10 2C6 2 4 4 4 6c0 .338.08.672.193 1h2.34C6.113 6.629 6 6.295 6 6c0-.334.117-.725.691-1.154C7.265 4.416 8.331 4 10 4h3a1 1 0 000-2zm1.477 9c.413.368.523.706.523 1 0 .334-.127.712-.701 1.143-.575.43-1.632.85-3.299.857l-1.006.007V14H5a1 1 0 000 2h3c4 0 6-2 6-4 0-.338-.081-.672-.195-1z"/><rect ry="1" y="8" x="1" height="2" width="16"/></svg>',ul:'<svg height="18" width="18"><circle cx="2" cy="9" r="2"/><circle cy="4" cx="2" r="2"/><rect y="3" x="6" height="2" width="12" ry="1"/><circle cx="2" cy="14" r="2"/><rect ry="1" width="12" height="2" x="6" y="8"/><rect y="13" x="6" height="2" width="12" ry="1"/></svg>',undo:'<svg height="18" width="18"><path d="M 10.730469 2.7050781 C 9.8871243 2.7081594 9.0470103 2.8712156 8.2695312 3.1347656 C 6.5911256 3.7037121 5.0985797 4.6847104 4 5.6367188 L 4 4 L 2 4 L 2 9 L 7 9 L 7 7 L 5.4902344 7 C 6.4092499 6.2485173 7.6597914 5.453808 8.9121094 5.0292969 C 10.56906 4.4676231 12.054654 4.468717 13.292969 5.7070312 C 14.517983 6.9320454 14.702738 8.4277265 14.072266 10.003906 C 13.441794 11.580086 11.904791 13.161912 9.6289062 14.072266 L 10.371094 15.927734 C 13.095209 14.838088 15.058206 12.919914 15.927734 10.746094 C 16.797262 8.5722734 16.482017 6.0679547 14.707031 4.2929688 C 13.783174 3.369112 12.691643 2.9041408 11.572266 2.7578125 C 11.292421 2.7212304 11.011584 2.704051 10.730469 2.7050781 z " /></svg>\n'},n=/(Mac|iPhone|iPod|iPad)/i.test("undefined"!=typeof navigator?navigator.platform:""),s={bold:{name:"bold",action:"bold",innerHTML:t.bold,title:"Bold",hotkey:"Mod-B"},italic:{name:"italic",action:"italic",innerHTML:t.italic,title:"Italic",hotkey:"Mod-I"},strikethrough:{name:"strikethrough",action:"strikethrough",innerHTML:t.strikethrough,title:"Strikethrough",hotkey:"Mod2-Shift-5"},code:{name:"code",action:"code",innerHTML:t.code,title:"Format as code"},h1:{name:"h1",action:"h1",innerHTML:t.h1,title:"Level 1 heading",hotkey:"Mod-Shift-1"},h2:{name:"h2",action:"h2",innerHTML:t.h2,title:"Level 2 heading",hotkey:"Mod-Shift-2"},ul:{name:"ul",action:"ul",innerHTML:t.ul,title:"Bulleted list"},ol:{name:"ol",action:"ol",innerHTML:t.ol,title:"Numbered list"},blockquote:{name:"blockquote",action:"blockquote",innerHTML:t.blockquote,title:"Quote",hotkey:"Mod2-Shift-Q"},insertLink:{name:"insertLink",action:e=>{e.isInlineFormattingAllowed()&&e.wrapSelection("[","]()")},enabled:(e,t,n)=>!e.isInlineFormattingAllowed(t,n)&&null,innerHTML:t.link,title:"Insert link",hotkey:"Mod-K"},insertImage:{name:"insertImage",action:e=>{e.isInlineFormattingAllowed()&&e.wrapSelection("![","]()")},enabled:(e,t,n)=>!e.isInlineFormattingAllowed(t,n)&&null,innerHTML:t.image,title:"Insert image",hotkey:"Mod2-Shift-I"},hr:{name:"hr",action:e=>e.paste("\n***\n"),enabled:()=>!1,innerHTML:t.hr,title:"Insert horizontal line",hotkey:"Mod2-Shift-L"},undo:{name:"undo",action:e=>e.undo(),enabled:e=>!e.canUndo&&null,innerHTML:t.undo,title:"Undo"},redo:{name:"redo",action:e=>e.redo(),enabled:e=>!e.canRedo&&null,innerHTML:t.redo,title:"Redo"}};var i,r,a,l,o,u,c="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},h={};function p(){if(r)return i;r=1;var e=function(e){return e&&e.Math===Math&&e};return i=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof c&&c)||e("object"==typeof i&&i)||function(){return this}()||Function("return this")()}function d(){return l?a:(l=1,a=function(e){try{return!!e()}catch(e){return!0}})}function m(){if(u)return o;u=1;var e=d();return o=!e((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}))}var f,g,M,T,F,D,y,C,k,b,E,v,w,$,A,S,x={exports:{}};function L(){if(g)return f;g=1;var e=d();return f=!e((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))}function H(){if(T)return M;T=1;var e=L(),t=Function.prototype,n=t.call,s=e&&t.bind.bind(n,n);return M=e?s:function(e){return function(){return n.apply(e,arguments)}},M}function B(){if(D)return F;D=1;var e="object"==typeof document&&document.all;return F=void 0===e&&void 0!==e?function(t){return"function"==typeof t||t===e}:function(e){return"function"==typeof e}}function N(){return C?y:(C=1,y=function(e){return null==e})}function I(){if(b)return k;b=1;var e=N(),t=TypeError;return k=function(n){if(e(n))throw new t("Can't call method on "+n);return n}}function O(){if(v)return E;v=1;var e=I(),t=Object;return E=function(n){return t(e(n))}}function _(){if($)return w;$=1;var e=H(),t=O(),n=e({}.hasOwnProperty);return w=Object.hasOwn||function(e,s){return n(t(e),s)}}var P,R,j,z,G,q,V,K,U,Z,W,X={exports:{}};function Q(){if(z)return j;z=1;var e=p(),t=Object.defineProperty;return j=function(n,s){try{t(e,n,{value:s,configurable:!0,writable:!0})}catch(t){e[n]=s}return s}}function Y(){if(G)return X.exports;G=1;var e=R?P:(R=1,P=!1),t=p(),n=Q(),s="__core-js_shared__",i=X.exports=t[s]||n(s,{});return(i.versions||(i.versions=[])).push({version:"3.42.0",mode:e?"pure":"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.42.0/LICENSE",source:"https://github.com/zloirock/core-js"}),X.exports}function J(){if(V)return q;V=1;var e=H(),t=B(),n=Y(),s=e(Function.toString);return t(n.inspectSource)||(n.inspectSource=function(e){return s(e)}),q=n.inspectSource}function ee(){if(W)return Z;W=1;var e=B();return Z=function(t){return"object"==typeof t?null!==t:e(t)}}var te,ne,se,ie,re,ae,le,oe,ue,ce,he,pe,de,me,fe,ge,Me,Te,Fe,De,ye,Ce,ke,be,Ee,ve,we,$e,Ae,Se,xe,Le,He,Be,Ne,Ie,Oe,_e,Pe,Re,je,ze,Ge,qe,Ve,Ke,Ue,Ze,We,Xe,Qe,Ye,Je,et,tt,nt,st,it,rt,at={};function lt(){if(ie)return se;ie=1;var e=m(),t=d(),n=function(){if(ne)return te;ne=1;var e=p(),t=ee(),n=e.document,s=t(n)&&t(n.createElement);return te=function(e){return s?n.createElement(e):{}}}();return se=!e&&!t((function(){return 7!==Object.defineProperty(n("div"),"a",{get:function(){return 7}}).a}))}function ot(){if(oe)return le;oe=1;var e=ee(),t=String,n=TypeError;return le=function(s){if(e(s))return s;throw new n(t(s)+" is not an object")}}function ut(){if(ce)return ue;ce=1;var e=L(),t=Function.prototype.call;return ue=e?t.bind(t):function(){return t.apply(t,arguments)},ue}function ct(){if(pe)return he;pe=1;var e=p(),t=B();return he=function(n,s){return arguments.length<2?(i=e[n],t(i)?i:void 0):e[n]&&e[n][s];var i},he}function ht(){if(Te)return Me;Te=1;var e,t,n=p(),s=function(){if(ge)return fe;ge=1;var e=p().navigator,t=e&&e.userAgent;return fe=t?String(t):""}(),i=n.process,r=n.Deno,a=i&&i.versions||r&&r.version,l=a&&a.v8;return l&&(t=(e=l.split("."))[0]>0&&e[0]<4?1:+(e[0]+e[1])),!t&&s&&(!(e=s.match(/Edge\/(\d+)/))||e[1]>=74)&&(e=s.match(/Chrome\/(\d+)/))&&(t=+e[1]),Me=t}function pt(){if(De)return Fe;De=1;var e=ht(),t=d(),n=p().String;return Fe=!!Object.getOwnPropertySymbols&&!t((function(){var t=Symbol("symbol detection");return!n(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&e&&e<41}))}function dt(){if(Ce)return ye;Ce=1;var e=pt();return ye=e&&!Symbol.sham&&"symbol"==typeof Symbol.iterator}function mt(){if(be)return ke;be=1;var e=ct(),t=B(),n=function(){if(me)return de;me=1;var e=H();return de=e({}.isPrototypeOf)}(),s=dt(),i=Object;return ke=s?function(e){return"symbol"==typeof e}:function(s){var r=e("Symbol");return t(r)&&n(r.prototype,i(s))}}function ft(){if(ve)return Ee;ve=1;var e=String;return Ee=function(t){try{return e(t)}catch(e){return"Object"}}}function gt(){if($e)return we;$e=1;var e=B(),t=ft(),n=TypeError;return we=function(s){if(e(s))return s;throw new n(t(s)+" is not a function")}}function Mt(){if(Se)return Ae;Se=1;var e=gt(),t=N();return Ae=function(n,s){var i=n[s];return t(i)?void 0:e(i)}}function Tt(){if(Le)return xe;Le=1;var e=ut(),t=B(),n=ee(),s=TypeError;return xe=function(i,r){var a,l;if("string"===r&&t(a=i.toString)&&!n(l=e(a,i)))return l;if(t(a=i.valueOf)&&!n(l=e(a,i)))return l;if("string"!==r&&t(a=i.toString)&&!n(l=e(a,i)))return l;throw new s("Can't convert object to primitive value")}}function Ft(){if(Be)return He;Be=1;var e=Y();return He=function(t,n){return e[t]||(e[t]=n||{})}}function Dt(){if(Ie)return Ne;Ie=1;var e=H(),t=0,n=Math.random(),s=e(1..toString);return Ne=function(e){return"Symbol("+(void 0===e?"":e)+")_"+s(++t+n,36)}}function yt(){if(_e)return Oe;_e=1;var e=p(),t=Ft(),n=_(),s=Dt(),i=pt(),r=dt(),a=e.Symbol,l=t("wks"),o=r?a.for||a:a&&a.withoutSetter||s;return Oe=function(e){return n(l,e)||(l[e]=i&&n(a,e)?a[e]:o("Symbol."+e)),l[e]}}function Ct(){if(Re)return Pe;Re=1;var e=ut(),t=ee(),n=mt(),s=Mt(),i=Tt(),r=yt(),a=TypeError,l=r("toPrimitive");return Pe=function(r,o){if(!t(r)||n(r))return r;var u,c=s(r,l);if(c){if(void 0===o&&(o="default"),u=e(c,r,o),!t(u)||n(u))return u;throw new a("Can't convert object to primitive value")}return void 0===o&&(o="number"),i(r,o)}}function kt(){if(ze)return je;ze=1;var e=Ct(),t=mt();return je=function(n){var s=e(n,"string");return t(s)?s:s+""}}function bt(){if(Ge)return at;Ge=1;var e=m(),t=lt(),n=function(){if(ae)return re;ae=1;var e=m(),t=d();return re=e&&t((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))}(),s=ot(),i=kt(),r=TypeError,a=Object.defineProperty,l=Object.getOwnPropertyDescriptor,o="enumerable",u="configurable",c="writable";return at.f=e?n?function(e,t,n){if(s(e),t=i(t),s(n),"function"==typeof e&&"prototype"===t&&"value"in n&&c in n&&!n[c]){var r=l(e,t);r&&r[c]&&(e[t]=n.value,n={configurable:u in n?n[u]:r[u],enumerable:o in n?n[o]:r[o],writable:!1})}return a(e,t,n)}:a:function(e,n,l){if(s(e),n=i(n),s(l),t)try{return a(e,n,l)}catch(e){}if("get"in l||"set"in l)throw new r("Accessors not supported");return"value"in l&&(e[n]=l.value),e},at}function Et(){return Ve?qe:(Ve=1,qe=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}})}function vt(){if(Ue)return Ke;Ue=1;var e=m(),t=bt(),n=Et();return Ke=e?function(e,s,i){return t.f(e,s,n(1,i))}:function(e,t,n){return e[t]=n,e}}function wt(){if(We)return Ze;We=1;var e=Ft(),t=Dt(),n=e("keys");return Ze=function(e){return n[e]||(n[e]=t(e))}}function $t(){return Qe?Xe:(Qe=1,Xe={})}function At(){if(Je)return Ye;Je=1;var e,t,n,s=function(){if(U)return K;U=1;var e=p(),t=B(),n=e.WeakMap;return K=t(n)&&/native code/.test(String(n))}(),i=p(),r=ee(),a=vt(),l=_(),o=Y(),u=wt(),c=$t(),h="Object already initialized",d=i.TypeError,m=i.WeakMap;if(s||o.state){var f=o.state||(o.state=new m);f.get=f.get,f.has=f.has,f.set=f.set,e=function(e,t){if(f.has(e))throw new d(h);return t.facade=e,f.set(e,t),t},t=function(e){return f.get(e)||{}},n=function(e){return f.has(e)}}else{var g=u("state");c[g]=!0,e=function(e,t){if(l(e,g))throw new d(h);return t.facade=e,a(e,g,t),t},t=function(e){return l(e,g)?e[g]:{}},n=function(e){return l(e,g)}}return Ye={set:e,get:t,has:n,enforce:function(s){return n(s)?t(s):e(s,{})},getterFor:function(e){return function(n){var s;if(!r(n)||(s=t(n)).type!==e)throw new d("Incompatible receiver, "+e+" required");return s}}}}function St(){if(et)return x.exports;et=1;var e=H(),t=d(),n=B(),s=_(),i=m(),r=function(){if(S)return A;S=1;var e=m(),t=_(),n=Function.prototype,s=e&&Object.getOwnPropertyDescriptor,i=t(n,"name"),r=i&&"something"===function(){}.name,a=i&&(!e||e&&s(n,"name").configurable);return A={EXISTS:i,PROPER:r,CONFIGURABLE:a}}().CONFIGURABLE,a=J(),l=At(),o=l.enforce,u=l.get,c=String,h=Object.defineProperty,p=e("".slice),f=e("".replace),g=e([].join),M=i&&!t((function(){return 8!==h((function(){}),"length",{value:8}).length})),T=String(String).split("String"),F=x.exports=function(e,t,n){"Symbol("===p(c(t),0,7)&&(t="["+f(c(t),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),n&&n.getter&&(t="get "+t),n&&n.setter&&(t="set "+t),(!s(e,"name")||r&&e.name!==t)&&(i?h(e,"name",{value:t,configurable:!0}):e.name=t),M&&n&&s(n,"arity")&&e.length!==n.arity&&h(e,"length",{value:n.arity});try{n&&s(n,"constructor")&&n.constructor?i&&h(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var a=o(e);return s(a,"source")||(a.source=g(T,"string"==typeof t?t:"")),e};return Function.prototype.toString=F((function(){return n(this)&&u(this).source||a(this)}),"toString"),x.exports}function xt(){if(nt)return tt;nt=1;var e=St(),t=bt();return tt=function(n,s,i){return i.get&&e(i.get,s,{getter:!0}),i.set&&e(i.set,s,{setter:!0}),t.f(n,s,i)}}!function(){if(rt)return h;rt=1;var e=p(),t=m(),n=xt(),s=function(){if(it)return st;it=1;var e=ot();return st=function(){var t=e(this),n="";return t.hasIndices&&(n+="d"),t.global&&(n+="g"),t.ignoreCase&&(n+="i"),t.multiline&&(n+="m"),t.dotAll&&(n+="s"),t.unicode&&(n+="u"),t.unicodeSets&&(n+="v"),t.sticky&&(n+="y"),n}}(),i=d(),r=e.RegExp,a=r.prototype;t&&i((function(){var e=!0;try{r(".","d")}catch(t){e=!1}var t={},n="",s=e?"dgimsy":"gimsy",i=function(e,s){Object.defineProperty(t,e,{get:function(){return n+=s,!0}})},l={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};for(var o in e&&(l.hasIndices="d"),l)i(o,l[o]);return Object.getOwnPropertyDescriptor(a,"flags").get.call(t)!==s||n!==s}))&&n(a,"flags",{configurable:!0,get:s})}();const Lt={ASCIIPunctuation:/[!"#$%&'()*+,\-./:;<=>?@[\]^_`{|}~\\]/,NotTriggerChar:/[^`_*[\]()<>!~]/,Scheme:/[A-Za-z][A-Za-z0-9+.-]{1,31}/,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])?)*/,HTMLOpenTag:/<HTMLTagName(?:HTMLAttribute)*\s*\/?>/,HTMLCloseTag:/<\/HTMLTagName\s*>/,HTMLTagName:/[A-Za-z][A-Za-z0-9-]*/,HTMLComment:/<!--(?:[^>-]|(?:[^>-](?:[^-]|-[^-])*[^-]))-->/,HTMLPI:/<\?(?:|.|(?:[^?]|\?[^>])*)\?>/,HTMLDeclaration:/<![A-Z]+\s[^>]*>/,HTMLCDATA:/<!\[CDATA\[.*?\]\]>/,HTMLAttribute:/\s+[A-Za-z_:][A-Za-z0-9_.:-]*(?:HTMLAttValue)?/,HTMLAttValue:/\s*=\s*(?:(?:'[^']*')|(?:"[^"]*")|(?:[^\s"'=<>`]+))/,KnownTag:/address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul/},Ht=new RegExp(/^(?:[!"#$%&'()*+,\-./:;<=>?@[\]\\^_`{|}~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B])/),Bt=new RegExp(/(?:[!"#$%&'()*+,\-./:;<=>?@[\]\\^_`{|}~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B])$/),Nt={TMH1:{regexp:/^( {0,3}#\s)(.*?)((?:\s+#+\s*)?)$/,replacement:'<span class="TMMark TMMark_TMH1">$1</span>$$2<span class="TMMark TMMark_TMH1">$3</span>'},TMH2:{regexp:/^( {0,3}##\s)(.*?)((?:\s+#+\s*)?)$/,replacement:'<span class="TMMark TMMark_TMH2">$1</span>$$2<span class="TMMark TMMark_TMH2">$3</span>'},TMH3:{regexp:/^( {0,3}###\s)(.*?)((?:\s+#+\s*)?)$/,replacement:'<span class="TMMark TMMark_TMH3">$1</span>$$2<span class="TMMark TMMark_TMH3">$3</span>'},TMH4:{regexp:/^( {0,3}####\s)(.*?)((?:\s+#+\s*)?)$/,replacement:'<span class="TMMark TMMark_TMH4">$1</span>$$2<span class="TMMark TMMark_TMH4">$3</span>'},TMH5:{regexp:/^( {0,3}#####\s)(.*?)((?:\s+#+\s*)?)$/,replacement:'<span class="TMMark TMMark_TMH5">$1</span>$$2<span class="TMMark TMMark_TMH5">$3</span>'},TMH6:{regexp:/^( {0,3}######\s)(.*?)((?:\s+#+\s*)?)$/,replacement:'<span class="TMMark TMMark_TMH6">$1</span>$$2<span class="TMMark TMMark_TMH6">$3</span>'},TMBlockquote:{regexp:/^( {0,3}>[ ]?)(.*)$/,replacement:'<span class="TMMark TMMark_TMBlockquote">$1</span>$$2'},TMCodeFenceBacktickOpen:{regexp:/^( {0,3}(?<seq>````*)\s*)([^`]*?)(\s*)$/,replacement:'<span class="TMMark TMMark_TMCodeFenceBacktick">$1</span><span class="TMInfoString">$3</span>$4'},TMCodeFenceTildeOpen:{regexp:/^( {0,3}(?<seq>~~~~*)\s*)(.*?)(\s*)$/,replacement:'<span class="TMMark TMMark_TMCodeFenceTilde">$1</span><span class="TMInfoString">$3</span>$4'},TMCodeFenceBacktickClose:{regexp:/^( {0,3}(?<seq>````*))(\s*)$/,replacement:'<span class="TMMark TMMark_TMCodeFenceBacktick">$1</span>$3'},TMCodeFenceTildeClose:{regexp:/^( {0,3}(?<seq>~~~~*))(\s*)$/,replacement:'<span class="TMMark TMMark_TMCodeFenceTilde">$1</span>$3'},TMBlankLine:{regexp:/^([ \t]*)$/,replacement:"$0"},TMSetextH1Marker:{regexp:/^ {0,3}=+\s*$/,replacement:'<span class="TMMark TMMark_TMSetextH1Marker">$0</span>'},TMSetextH2Marker:{regexp:/^ {0,3}-+\s*$/,replacement:'<span class="TMMark TMMark_TMSetextH1Marker">$0</span>'},TMHR:{regexp:/^( {0,3}(\*[ \t]*\*[ \t]*\*[ \t*]*)|(-[ \t]*-[ \t]*-[ \t-]*)|(_[ \t]*_[ \t]*_[ \t_]*))$/,replacement:'<span class="TMMark TMMark_TMHR">$0</span>'},TMUL:{regexp:/^( {0,3}[+*-] {1,4})(.*)$/,replacement:'<span class="TMMark TMMark_TMUL">$1</span>$$2'},TMOL:{regexp:/^( {0,3}\d{1,9}[.)] {1,4})(.*)$/,replacement:'<span class="TMMark TMMark_TMOL">$1</span>$$2'},TMIndentedCode:{regexp:/^( {4}|\t)(.*)$/,replacement:'<span class="TMMark TMMark_TMIndentedCode">$1</span>$2'},TMLinkReferenceDefinition:{regexp:/^( {0,3}\[\s*)([^\s\]](?:[^\]]|\\\])*?)(\s*\]:\s*)((?:[^\s<>]+)|(?:<(?:[^<>\\]|\\.)*>))?(\s*)((?:\((?:[^()\\]|\\.)*\))|(?:"(?:[^"\\]|\\.)*")|(?:'(?:[^'\\]|\\.)*'))?(\s*)$/,replacement:'<span class="TMMark TMMark_TMLinkReferenceDefinition">$1</span><span class="TMLinkLabel TMLinkLabel_Definition">$2</span><span class="TMMark TMMark_TMLinkReferenceDefinition">$3</span><span class="TMLinkDestination">$4</span>$5<span class="TMLinkTitle">$6</span>$7',labelPlaceholder:2}},It=[{start:/^ {0,3}<(?:script|pre|style)(?:\s|>|$)/i,end:/(?:<\/script>|<\/pre>|<\/style>)/i,paraInterrupt:!0},{start:/^ {0,3}<!--/,end:/-->/,paraInterrupt:!0},{start:/^ {0,3}<\?/,end:/\?>/,paraInterrupt:!0},{start:/^ {0,3}<![A-Z]/,end:/>/,paraInterrupt:!0},{start:/^ {0,3}<!\[CDATA\[/,end:/\]\]>/,paraInterrupt:!0},{start:/^ {0,3}(?:<|<\/)(?:KnownTag)(?:\s|>|\/>|$)/i,end:!1,paraInterrupt:!0},{start:/^ {0,3}(?:HTMLOpenTag|HTMLCloseTag)\s*$/,end:!1,paraInterrupt:!1}],Ot={escape:{regexp:/^\\(ASCIIPunctuation)/,replacement:'<span class="TMMark TMMark_TMEscape">\\</span>$1'},code:{regexp:/^(`+)((?:[^`])|(?:[^`].*?[^`]))(\1)/,replacement:'<span class="TMMark TMMark_TMCode">$1</span><code class="TMCode">$2</code><span class="TMMark TMMark_TMCode">$3</span>'},autolink:{regexp:/^<((?:Scheme:[^\s<>]*)|(?:Email))>/,replacement:'<span class="TMMark TMMark_TMAutolink"><</span><span class="TMAutolink">$1</span><span class="TMMark TMMark_TMAutolink">></span>'},html:{regexp:/^((?:HTMLOpenTag)|(?:HTMLCloseTag)|(?:HTMLComment)|(?:HTMLPI)|(?:HTMLDeclaration)|(?:HTMLCDATA))/,replacement:'<span class="TMHTML">$1</span>'},linkOpen:{regexp:/^\[/,replacement:""},imageOpen:{regexp:/^!\[/,replacement:""},linkLabel:{regexp:/^(\[\s*)([^\]]*?)(\s*\])/,replacement:"",labelPlaceholder:2},default:{regexp:/^(.|(?:NotTriggerChar+))/,replacement:"$1"}},_t=new RegExp(Object.keys(Lt).join("|")),Pt=[...Object.keys(Ot)];for(let e of Pt){let t=Ot[e].regexp.source;for(;t.match(_t);)t=t.replace(_t,(e=>Lt[e].source));Ot[e].regexp=new RegExp(t,Ot[e].regexp.flags)}for(let e of It){let t=e.start.source;for(;t.match(_t);)t=t.replace(_t,(e=>Lt[e].source));e.start=new RegExp(t,e.start.flags)}function Rt(e){return(e||"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}const jt={bold:{type:"inline",className:"TMStrong",set:{pre:"**",post:"**"},unset:{prePattern:/(?:\*\*|__)$/,postPattern:/^(?:\*\*|__)/}},italic:{type:"inline",className:"TMEm",set:{pre:"*",post:"*"},unset:{prePattern:/(?:\*|_)$/,postPattern:/^(?:\*|_)/}},code:{type:"inline",className:"TMCode",set:{pre:"`",post:"`"},unset:{prePattern:/`+$/,postPattern:/^`+/}},strikethrough:{type:"inline",className:"TMStrikethrough",set:{pre:"~~",post:"~~"},unset:{prePattern:/~~$/,postPattern:/^~~/}},h1:{type:"line",className:"TMH1",set:{pattern:/^( {0,3}(?:(?:#+|[0-9]{1,9}[).]|[>\-*+])\s+)?)(.*)$/,replacement:"# $2"},unset:{pattern:/^( {0,3}#\s+)(.*?)((?:\s+#+\s*)?)$/,replacement:"$2"}},h2:{type:"line",className:"TMH2",set:{pattern:/^( {0,3}(?:(?:#+|[0-9]{1,9}[).]|[>\-*+])\s+)?)(.*)$/,replacement:"## $2"},unset:{pattern:/^( {0,3}##\s+)(.*?)((?:\s+#+\s*)?)$/,replacement:"$2"}},h3:{type:"line",className:"TMH3",set:{pattern:/^( {0,3}(?:(?:#+|[0-9]{1,9}[).]|[>\-*+])\s+)?)(.*)$/,replacement:"### $2"},unset:{pattern:/^( {0,3}###\s+)(.*?)((?:\s+#+\s*)?)$/,replacement:"$2"}},h4:{type:"line",className:"TMH4",set:{pattern:/^( {0,3}(?:(?:#+|[0-9]{1,9}[).]|[>\-*+])\s+)?)(.*)$/,replacement:"#### $2"},unset:{pattern:/^( {0,3}####\s+)(.*?)((?:\s+#+\s*)?)$/,replacement:"$2"}},h5:{type:"line",className:"TMH5",set:{pattern:/^( {0,3}(?:(?:#+|[0-9]{1,9}[).]|[>\-*+])\s+)?)(.*)$/,replacement:"##### $2"},unset:{pattern:/^( {0,3}#####\s+)(.*?)((?:\s+#+\s*)?)$/,replacement:"$2"}},h6:{type:"line",className:"TMH6",set:{pattern:/^( {0,3}(?:(?:#+|[0-9]{1,9}[).]|[>\-*+])\s+)?)(.*)$/,replacement:"###### $2"},unset:{pattern:/^( {0,3}######\s+)(.*?)((?:\s+#+\s*)?)$/,replacement:"$2"}},ul:{type:"line",className:"TMUL",set:{pattern:/^( {0,3}(?:(?:#+|[0-9]{1,9}[).]|[>\-*+])\s+)?)(.*)$/,replacement:"- $2"},unset:{pattern:/^( {0,3}[+*-] {1,4})(.*)$/,replacement:"$2"}},ol:{type:"line",className:"TMOL",set:{pattern:/^( {0,3}(?:(?:#+|[0-9]{1,9}[).]|[>\-*+])\s+)?)(.*)$/,replacement:"$#. $2"},unset:{pattern:/^( {0,3}\d{1,9}[.)] {1,4})(.*)$/,replacement:"$2"}},blockquote:{type:"line",className:"TMBlockquote",set:{pattern:/^( {0,3}(?:(?:#+|[0-9]{1,9}[).]|[>\-*+])\s+)?)(.*)$/,replacement:"> $2"},unset:{pattern:/^( {0,3}>[ ]?)(.*)$/,replacement:"$2"}}};e.CommandBar=class{constructor(e){this.e=null,this.editor=null,this.commands={},this.buttons={},this.state={},this.hotkeys=[],this.e=null,this.editor=null,this.commands={},this.buttons={},this.state={},this.hotkeys=[];let t=null;"string"==typeof e.element?t=document.getElementById(e.element):e.element&&(t=e.element),t||(t=document.body),this.createCommandBarElement(t,e.commands||["bold","italic","strikethrough","|","code","|","h1","h2","|","ul","ol","|","blockquote","hr","|","undo","redo","|","insertLink","insertImage"]),document.addEventListener("keydown",(e=>this.handleKeydown(e))),e.editor&&this.setEditor(e.editor)}createCommandBarElement(e,t){this.e=document.createElement("div"),this.e.className="TMCommandBar";for(let e of t)if("|"===e){let e=document.createElement("div");e.className="TMCommandDivider",this.e.appendChild(e)}else{let t;if("string"==typeof e){if(!s[e])continue;t=e,this.commands[t]=s[t]}else{if("object"!=typeof e||!e.name)continue;t=e.name,this.commands[t]={},s[t]&&Object.assign(this.commands[t],s[t]),Object.assign(this.commands[t],e)}let i=this.commands[t].title||t;if(this.commands[t].hotkey){const e=this.commands[t].hotkey.split("-");let s=[],r=[];for(let t=0;t<e.length-1;t++)switch(e[t]){case"Ctrl":s.push("ctrlKey"),r.push("Ctrl");break;case"Cmd":s.push("metaKey"),r.push("⌘");break;case"Alt":s.push("altKey"),r.push("Alt");break;case"Option":s.push("altKey"),r.push("⌥");break;case"Win":s.push("metaKey"),r.push("⊞ Win");break;case"Shift":s.push("shiftKey"),r.push("⇧");break;case"Mod":n?(s.push("metaKey"),r.push("⌘")):(s.push("ctrlKey"),r.push("Ctrl"));break;case"Mod2":s.push("altKey"),n?r.push("⌥"):r.push("Alt")}r.push(e[e.length-1]);let a={modifiers:s,command:t};e[e.length-1].match(/^[0-9]$/)?a.code=`Digit${e[e.length-1]}`:a.key=e[e.length-1].toLowerCase(),this.hotkeys.push(a),i=i.concat(` (${r.join("+")})`)}this.buttons[t]=document.createElement("div"),this.buttons[t].className="TMCommandButton TMCommandButton_Disabled",this.buttons[t].title=i,this.buttons[t].innerHTML=this.commands[t].innerHTML,this.buttons[t].addEventListener("mousedown",(e=>this.handleClick(t,e))),this.e.appendChild(this.buttons[t])}e.appendChild(this.e)}handleClick(e,t){this.editor&&(t.preventDefault(),"string"==typeof this.commands[e].action?!1===this.state[e]?this.editor.setCommandState(e,!0):this.editor.setCommandState(e,!1):"function"==typeof this.commands[e].action&&this.commands[e].action(this.editor))}setEditor(e){this.editor=e,e.addEventListener("selection",(e=>this.handleSelection(e)))}handleSelection(e){if(e.commandState)for(let t in this.commands)void 0===e.commandState[t]?this.commands[t].enabled?this.state[t]=this.commands[t].enabled(this.editor,e.focus,e.anchor):this.state[t]=!e.focus&&null:this.state[t]=e.commandState[t],!0===this.state[t]?this.buttons[t].className="TMCommandButton TMCommandButton_Active":!1===this.state[t]?this.buttons[t].className="TMCommandButton TMCommandButton_Inactive":this.buttons[t].className="TMCommandButton TMCommandButton_Disabled"}handleKeydown(e){e:for(let t of this.hotkeys)if(t.key&&e.key.toLowerCase()===t.key||t.code&&e.code===t.code){for(let n of t.modifiers)if(!e[n])continue e;return void this.handleClick(t.command,e)}}},e.Editor=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.e=null,this.textarea=null,this.lines=[],this.lineElements=[],this.lineTypes=[],this.lineCaptures=[],this.lineReplacements=[],this.linkLabels=[],this.lineDirty=[],this.lastCommandState=null,this.customInlineGrammar={},this.mergedInlineGrammar=Ot,this.hasFocus=!0,this.listeners={change:[],selection:[],drop:[]},this.undoStack=[],this.redoStack=[],this.isRestoringHistory=!1,this.maxHistory=100,this.e=null,this.textarea=null,this.lines=[],this.lineElements=[],this.lineTypes=[],this.lineCaptures=[],this.lineReplacements=[],this.linkLabels=[],this.lineDirty=[],this.lastCommandState=null,this.hasFocus=!0,this.customInlineGrammar=e.customInlineGrammar||{},this.mergedInlineGrammar=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t={...Ot};for(const[n,s]of Object.entries(e)){const e={...s};let i=s.regexp.source;const r=new RegExp(Object.keys(Lt).join("|"));for(;i.match(r);)i=i.replace(r,(e=>Lt[e].source));e.regexp=new RegExp(i,s.regexp.flags),t[n]=e}return t}(this.customInlineGrammar),this.listeners={change:[],selection:[],drop:[]};let t=null;"string"==typeof e.element?t=document.getElementById(e.element):e.element&&(t=e.element),"string"==typeof e.textarea?this.textarea=document.getElementById(e.textarea):e.textarea&&(this.textarea=e.textarea),this.textarea&&(t||(t=this.textarea)),t||(t=document.getElementsByTagName("body")[0]),t&&"TEXTAREA"===t.tagName&&(this.textarea=t,t=this.textarea.parentNode),this.textarea&&(this.textarea.style.display="none"),this.undoStack=[],this.redoStack=[],this.isRestoringHistory=!1,this.maxHistory=100,this.createEditorElement(t,e),this.setContent("string"==typeof e.content?e.content:this.textarea?this.textarea.value:"# Hello TinyMDE!\nEdit **here**"),this.e.addEventListener("keydown",(e=>this.handleUndoRedoKey(e)))}get canUndo(){return this.undoStack.length>=2}get canRedo(){return this.redoStack.length>0}pushHistory(){this.isRestoringHistory||(this.pushCurrentState(),this.redoStack=[])}pushCurrentState(){this.undoStack.push({content:this.getContent(),selection:this.getSelection(),anchor:this.getSelection(!0)}),this.undoStack.length>this.maxHistory&&this.undoStack.shift()}undo(){if(this.undoStack.length<2)return;this.isRestoringHistory=!0,this.pushCurrentState();const e=this.undoStack.pop();this.redoStack.push(e);const t=this.undoStack[this.undoStack.length-1];this.setContent(t.content),t.selection&&this.setSelection(t.selection,t.anchor),this.undoStack.pop(),this.isRestoringHistory=!1}redo(){if(!this.redoStack.length)return;this.isRestoringHistory=!0,this.pushCurrentState();const e=this.redoStack.pop();this.setContent(e.content),e.selection&&this.setSelection(e.selection,e.anchor),this.isRestoringHistory=!1}handleUndoRedoKey(e){(/Mac|iPod|iPhone|iPad/.test(navigator.platform)?e.metaKey:e.ctrlKey)&&!e.altKey&&("z"===e.key||"Z"===e.key?(e.shiftKey?this.redo():this.undo(),e.preventDefault()):"y"!==e.key&&"Y"!==e.key||(this.redo(),e.preventDefault()))}createEditorElement(e,t){t&&void 0!==t.editor?"string"==typeof t.editor?this.e=document.getElementById(t.editor):this.e=t.editor:this.e=document.createElement("div"),this.e.classList.add("TinyMDE"),this.e.contentEditable="true",this.e.style.whiteSpace="pre-wrap",this.e.style.webkitUserModify="read-write-plaintext-only",void 0===t.editor&&(this.textarea&&this.textarea.parentNode===e&&this.textarea.nextSibling?e.insertBefore(this.e,this.textarea.nextSibling):e.appendChild(this.e)),this.e.addEventListener("input",(e=>this.handleInputEvent(e))),this.e.addEventListener("beforeinput",(e=>this.handleBeforeInputEvent(e))),this.e.addEventListener("compositionend",(e=>this.handleInputEvent(e))),document.addEventListener("selectionchange",(e=>{this.hasFocus&&this.handleSelectionChangeEvent(e)})),this.e.addEventListener("blur",(()=>this.hasFocus=!1)),this.e.addEventListener("focus",(()=>this.hasFocus=!0)),this.e.addEventListener("paste",(e=>this.handlePaste(e))),this.e.addEventListener("drop",(e=>this.handleDrop(e))),this.lineElements=this.e.childNodes}setContent(e){for(;this.e.firstChild;)this.e.removeChild(this.e.firstChild);this.lines=e.split(/(?:\r\n|\r|\n)/),this.lineDirty=[];for(let e=0;e<this.lines.length;e++){let e=document.createElement("div");this.e.appendChild(e),this.lineDirty.push(!0)}this.lineTypes=new Array(this.lines.length),this.updateFormatting(),this.fireChange(),this.isRestoringHistory||this.pushHistory()}getContent(){return this.lines.join("\n")}updateFormatting(){this.updateLineTypes(),this.updateLinkLabels(),this.applyLineTypes()}updateLinkLabels(){this.linkLabels=[];for(let e=0;e<this.lines.length;e++)"TMLinkReferenceDefinition"===this.lineTypes[e]&&this.linkLabels.push(this.lineCaptures[e][Nt.TMLinkReferenceDefinition.labelPlaceholder])}replace(e,t){return e.replace(/(\${1,2})([0-9])/g,((e,n,s)=>"$"===n?Rt(t[parseInt(s)]):`<span class="TMInlineFormatted">${this.processInlineStyles(t[parseInt(s)])}</span>`))}applyLineTypes(){for(let e=0;e<this.lines.length;e++){if(this.lineDirty[e]){let t=this.replace(this.lineReplacements[e],this.lineCaptures[e]);this.lineElements[e].className=this.lineTypes[e],this.lineElements[e].removeAttribute("style"),this.lineElements[e].innerHTML=""===t?"<br />":t}this.lineElements[e].dataset.lineNum=e.toString()}}updateLineTypes(){let e=!1,t=0,n=!1;for(let s=0;s<this.lines.length;s++){let i="TMPara",r=[this.lines[s]],a="$$0";if("TMCodeFenceBacktickOpen"===e){let n=Nt.TMCodeFenceBacktickClose.regexp.exec(this.lines[s]);n&&n.groups.seq.length>=t?(i="TMCodeFenceBacktickClose",a=Nt.TMCodeFenceBacktickClose.replacement,r=n,e=!1):(i="TMFencedCodeBacktick",a='<span class="TMFencedCode">$0<br /></span>',r=[this.lines[s]])}else if("TMCodeFenceTildeOpen"===e){let n=Nt.TMCodeFenceTildeClose.regexp.exec(this.lines[s]);n&&n.groups.seq.length>=t?(i="TMCodeFenceTildeClose",a=Nt.TMCodeFenceTildeClose.replacement,r=n,e=!1):(i="TMFencedCodeTilde",a='<span class="TMFencedCode">$0<br /></span>',r=[this.lines[s]])}if("TMPara"===i&&!1===n)for(let e of It)if(this.lines[s].match(e.start)&&(e.paraInterrupt||0===s||"TMPara"!==this.lineTypes[s-1]&&"TMUL"!==this.lineTypes[s-1]&&"TMOL"!==this.lineTypes[s-1]&&"TMBlockquote"!==this.lineTypes[s-1])){n=e;break}if(!1!==n&&(i="TMHTMLBlock",a='<span class="TMHTMLContent">$0<br /></span>',r=[this.lines[s]],n.end?this.lines[s].match(n.end)&&(n=!1):(s===this.lines.length-1||this.lines[s+1].match(Nt.TMBlankLine.regexp))&&(n=!1)),"TMPara"===i)for(let e in Nt)if(Nt[e].regexp){let t=Nt[e].regexp.exec(this.lines[s]);if(t){i=e,a=Nt[e].replacement,r=t;break}}if("TMCodeFenceBacktickOpen"!==i&&"TMCodeFenceTildeOpen"!==i||(e=i,t=r.groups.seq.length),"TMIndentedCode"!==i&&"TMLinkReferenceDefinition"!==i||!(s>0)||"TMPara"!==this.lineTypes[s-1]&&"TMUL"!==this.lineTypes[s-1]&&"TMOL"!==this.lineTypes[s-1]&&"TMBlockquote"!==this.lineTypes[s-1]||(i="TMPara",r=[this.lines[s]],a="$$0"),"TMSetextH2Marker"===i){let e=Nt.TMUL.regexp.exec(this.lines[s]);e&&(i="TMUL",a=Nt.TMUL.replacement,r=e)}if("TMSetextH1Marker"===i||"TMSetextH2Marker"===i)if(0===s||"TMPara"!==this.lineTypes[s-1]){let e=Nt.TMHR.regexp.exec(this.lines[s]);e?(i="TMHR",r=e,a=Nt.TMHR.replacement):(i="TMPara",r=[this.lines[s]],a="$$0")}else{let e=s-1;const t="TMSetextH1Marker"===i?"TMSetextH1":"TMSetextH2";do{this.lineTypes[e]!==t&&(this.lineTypes[e]=t,this.lineDirty[e]=!0),this.lineReplacements[e]="$$0",this.lineCaptures[e]=[this.lines[e]],e--}while(e>=0&&"TMPara"===this.lineTypes[e])}this.lineTypes[s]!==i&&(this.lineTypes[s]=i,this.lineDirty[s]=!0),this.lineReplacements[s]=a,this.lineCaptures[s]=r}}getSelection(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];var t,n;const s=window.getSelection();let i=e?s.anchorNode:s.focusNode;if(!i)return null;let r=e?s.anchorOffset:s.focusOffset;if(i===this.e)return r<this.lines.length?{row:r,col:0}:{row:r-1,col:this.lines[r-1].length};let a=this.computeColumn(i,r);if(null===a)return null;let l=i;for(;l.parentElement!==this.e;)l=l.parentElement;let o=0;if(l.previousSibling){const e=null===(t=l.dataset)||void 0===t?void 0:t.lineNum,s=null===(n=l.previousSibling.dataset)||void 0===n?void 0:n.lineNum;if(e&&s){const t=parseInt(e);if(t===parseInt(s)+1)o=t;else for(;l.previousSibling;)o++,l=l.previousSibling}}return{row:o,col:a}}setSelection(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!e)return;let{node:n,offset:s}=this.computeNodeAndOffset(e.row,e.col,!!t&&(t.row===e.row&&t.col>e.col)),i=null,r=null;if(t&&(t.row!==e.row||t.col!==e.col)){let{node:n,offset:s}=this.computeNodeAndOffset(t.row,t.col,e.row===t.row&&e.col>t.col);i=n,r=s}window.getSelection().setBaseAndExtent(n,s,i||n,i?r:s)}paste(e){let t,n,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;s||(s=this.getSelection(!0)),i||(i=this.getSelection(!1)),i||(i={row:this.lines.length-1,col:this.lines[this.lines.length-1].length}),s||(s=i),s.row<i.row||s.row===i.row&&s.col<=i.col?(t=s,n=i):(t=i,n=s);let r=e.split(/(?:\r\n|\r|\n)/),a=this.lines[t.row].substr(0,t.col),l=this.lines[n.row].substr(n.col);r[0]=a.concat(r[0]);let o=r[r.length-1].length;r[r.length-1]=r[r.length-1].concat(l),this.spliceLines(t.row,1+n.row-t.row,r),i.row=t.row+r.length-1,i.col=o,this.updateFormatting(),this.setSelection(i),this.fireChange()}wrapSelection(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;if(this.isRestoringHistory||this.pushHistory(),n||(n=this.getSelection(!1)),s||(s=this.getSelection(!0)),!n||!s||n.row!==s.row)return;this.lineDirty[n.row]=!0;const i=n.col<s.col?n.col:s.col,r=n.col<s.col?s.col:n.col,a=this.lines[n.row].substr(0,i).concat(e),l=r===i?"":this.lines[n.row].substr(i,r-i),o=t.concat(this.lines[n.row].substr(r));this.lines[n.row]=a.concat(l,o),s.col=a.length,n.col=s.col+l.length,this.updateFormatting(),this.setSelection(n,s)}addEventListener(e,t){e.match(/^(?:change|input)$/i)&&this.listeners.change.push(t),e.match(/^(?:selection|selectionchange)$/i)&&this.listeners.selection.push(t),e.match(/^(?:drop)$/i)&&this.listeners.drop.push(t)}fireChange(){if(!this.textarea&&!this.listeners.change.length)return;const e=this.getContent();this.textarea&&(this.textarea.value=e);for(let t of this.listeners.change)t({content:e,linesDirty:[...this.lineDirty]})}handleBeforeInputEvent(e){const t=e;if("insertParagraph"!==t.inputType&&"insertLineBreak"!==t.inputType)return;this.isRestoringHistory||this.pushHistory(),e.preventDefault(),this.clearDirtyFlag();const n=this.getSelection(),s=this.getSelection(!0);if(n&&s){if(n.row!==s.row){const e=n.row<s.row?n:s,t=n.row<s.row?s:n;this.lines[e.row]=this.lines[e.row].substring(0,e.col),this.lines[t.row]=this.lines[t.row].substring(t.col),this.spliceLines(e.row+1,t.row-e.row-1),n.row=e.row+1,n.col=0}else{let e=!1;switch(this.lineTypes[n.row]){case"TMUL":e="TMUL";break;case"TMOL":e="TMOL";break;case"TMIndentedCode":e="TMIndentedCode"}const t=this.lines[n.row].substring(0,n.col<=s.col?n.col:s.col),i=this.lines[n.row].substring(n.col<=s.col?s.col:n.col);if(this.spliceLines(n.row,1,[t,i]),n.row+=1,n.col=0,e){let t=Nt[e].regexp.exec(this.lines[n.row-1]);t&&(t[2]?("TMOL"===e&&(t[1]=t[1].replace(/\d{1,9}/,(e=>(parseInt(e)+1).toString()))),this.lines[n.row]=`${t[1]}${this.lines[n.row]}`,this.lineDirty[n.row]=!0,n.col=t[1].length):(this.lines[n.row-1]="",this.lineDirty[n.row-1]=!0))}}this.updateFormatting(),this.setSelection(n),this.fireChange()}}handleInputEvent(e){const t=e;if("insertCompositionText"===t.inputType)return;this.isRestoringHistory||this.pushHistory();let n=this.getSelection();("insertParagraph"!==t.inputType&&"insertLineBreak"!==t.inputType||!n)&&(this.e.firstChild?this.fixNodeHierarchy():this.e.innerHTML='<div class="TMBlankLine"><br></div>',this.updateLineContentsAndFormatting(),n&&this.setSelection(n),this.fireChange())}handleSelectionChangeEvent(e){this.fireSelection()}handlePaste(e){this.isRestoringHistory||this.pushHistory(),e.preventDefault();let t=e.clipboardData.getData("text/plain");this.paste(t)}handleDrop(e){e.preventDefault(),this.fireDrop(e.dataTransfer)}processInlineStyles(e){let t="",n=[],s=0,i=e;e:for(;i;){for(let e of["escape","code","autolink","html"])if(this.mergedInlineGrammar[e]){let n=this.mergedInlineGrammar[e].regexp.exec(i);if(n){i=i.substr(n[0].length),s+=n[0].length,t+=this.mergedInlineGrammar[e].replacement.replace(/\$([1-9])/g,((e,t)=>Rt(n[t])));continue e}}for(let e in this.customInlineGrammar)if("escape"!==e&&"code"!==e&&"autolink"!==e&&"html"!==e&&"linkOpen"!==e&&"imageOpen"!==e&&"linkLabel"!==e&&"default"!==e){let n=this.mergedInlineGrammar[e].regexp.exec(i);if(n){i=i.substr(n[0].length),s+=n[0].length,t+=this.mergedInlineGrammar[e].replacement.replace(/\$([1-9])/g,((e,t)=>Rt(n[t])));continue e}}let r=i.match(this.mergedInlineGrammar.linkOpen.regexp),a=i.match(this.mergedInlineGrammar.imageOpen.regexp);if(a||r){let e=this.parseLinkOrImage(i,!!a);if(e){t=`${t}${e.output}`,i=i.substr(e.charCount),s+=e.charCount;continue e}}let l=/(^\*+)|(^_+)/.exec(i);if(l){let r=l[0].length;const a=l[0],o=l[0][0];i=i.substr(l[0].length);const u=s>0?e.substr(0,s):" ",c=s+l[0].length<e.length?i:" ",h=c.match(Ht),p=u.match(Bt),d=c.match(/^\s/),m=u.match(/\s$/);let f=!(d||h&&!m&&!p),g=!(m||p&&!d&&!h);if("_"===o&&f&&g&&(f=!!p,g=!!h),g){let e=n.length-1;for(;r&&e>=0;)if(n[e].delimiter===o){for(;e<n.length-1;){const e=n.pop();t=`${e.output}${e.delimString.substr(0,e.count)}${t}`}if(r>=2&&n[e].count>=2?(t=`<span class="TMMark">${o}${o}</span><strong class="TMStrong">${t}</strong><span class="TMMark">${o}${o}</span>`,r-=2,n[e].count-=2):(t=`<span class="TMMark">${o}</span><em class="TMEm">${t}</em><span class="TMMark">${o}</span>`,r-=1,n[e].count-=1),0===n[e].count){t=`${n.pop().output}${t}`,e--}}else e--}r&&f&&(n.push({delimiter:o,delimString:a,count:r,output:t}),t="",r=0),r&&(t=`${t}${a.substr(0,r)}`),s+=l[0].length}else if(l=/^~~/.exec(i),l){let e=!1,r=n.length-1;for(;!e&&r>=0;)if("~"===n[r].delimiter){for(;r<n.length-1;){const e=n.pop();t=`${e.output}${e.delimString.substr(0,e.count)}${t}`}t=`<span class="TMMark">~~</span><del class="TMStrikethrough">${t}</del><span class="TMMark">~~</span>`,t=`${n.pop().output}${t}`,e=!0}else r--;e||(n.push({delimiter:"~",delimString:"~~",count:2,output:t}),t=""),s+=l[0].length,i=i.substr(l[0].length)}else{if(l=this.mergedInlineGrammar.default.regexp.exec(i),!l)throw"Infinite loop!";i=i.substr(l[0].length),s+=l[0].length,t+=this.mergedInlineGrammar.default.replacement.replace(/\$([1-9])/g,((e,t)=>Rt(l[t])))}}for(;n.length;){const e=n.pop();t=`${e.output}${e.delimString.substr(0,e.count)}${t}`}return t}computeColumn(e,t){let n,s=e;for(;s&&s.parentNode!==this.e;)s=s.parentNode;if(null===s)return null;for(e.nodeType===Node.TEXT_NODE||0===t?(n=t,s=e):t>0?(s=e.childNodes[t-1],n=s.textContent.length):(n=0,s=e);s.parentNode!==this.e;)s.previousSibling?(s=s.previousSibling,n+=s.textContent.length):s=s.parentNode;return n}computeNodeAndOffset(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];e>=this.lineElements.length&&(e=this.lineElements.length-1,t=this.lines[e].length),t>this.lines[e].length&&(t=this.lines[e].length);const s=this.lineElements[e];let i=s.firstChild,r=!1,a={node:s.firstChild?s.firstChild:s,offset:0};for(;i!==s;){if(!r&&i.nodeType===Node.TEXT_NODE)if(i.nodeValue.length>=t){if(!n||i.nodeValue.length!==t)return{node:i,offset:t};a={node:i,offset:t},t=0}else t-=i.nodeValue.length;!r&&i.firstChild?i=i.firstChild:i.nextSibling?(r=!1,i=i.nextSibling):(r=!0,i=i.parentNode)}return a}updateLineContentsAndFormatting(){this.clearDirtyFlag(),this.updateLineContents(),this.updateFormatting()}clearDirtyFlag(){this.lineDirty=new Array(this.lines.length);for(let e=0;e<this.lineDirty.length;e++)this.lineDirty[e]=!1}updateLineContents(){let e=this.e.childElementCount-this.lines.length;if(e){let t=0;for(;t<=this.lines.length&&t<=this.lineElements.length&&this.lineElements[t]&&this.lines[t]===this.lineElements[t].textContent&&this.lineTypes[t]===this.lineElements[t].className;)t++;let n=-1;for(;-n<this.lines.length&&-n<this.lineElements.length&&this.lines[this.lines.length+n]===this.lineElements[this.lineElements.length+n].textContent&&this.lineTypes[this.lines.length+n]===this.lineElements[this.lineElements.length+n].className;)n--;let s=this.lines.length+n+1-t;s<-e&&(s=-e),s<0&&(s=0);let i=[];for(let n=0;n<s+e;n++)i.push(this.lineElements[t+n].textContent||"");this.spliceLines(t,s,i,!1)}else for(let e=0;e<this.lineElements.length;e++){let t=this.lineElements[e],n=t.textContent||"";this.lines[e]===n&&this.lineTypes[e]===t.className||(this.lines[e]=n,this.lineTypes[e]=t.className,this.lineDirty[e]=!0)}}spliceLines(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(s)for(let n=0;n<t;n++)this.e.removeChild(this.e.childNodes[e]);let i=[],r=[];for(let t=0;t<n.length;t++)i.push(""),r.push(!0),s&&(this.e.childNodes[e]?this.e.insertBefore(document.createElement("div"),this.e.childNodes[e]):this.e.appendChild(document.createElement("div")));this.lines.splice(e,t,...n),this.lineTypes.splice(e,t,...i),this.lineDirty.splice(e,t,...r)}fixNodeHierarchy(){const e=Array.from(this.e.childNodes),t=function(e){const t=e.parentElement,n=e.nextSibling;t.removeChild(e);for(var s=arguments.length,i=new Array(s>1?s-1:0),r=1;r<s;r++)i[r-1]=arguments[r];i.forEach((e=>n?t.insertBefore(e,n):t.appendChild(e)))};e.forEach((e=>{if(e.nodeType!==Node.ELEMENT_NODE||"DIV"!==e.tagName){const n=document.createElement("div");t(e,n),n.appendChild(e)}else if(0===e.childNodes.length)e.appendChild(document.createElement("br"));else{const n=Array.from(e.childNodes);if(n.some((e=>e.nodeType===Node.ELEMENT_NODE&&"DIV"===e.tagName)))return t(e,...n)}}))}parseLinkOrImage(e,t){let n=t?2:1,s=e.substr(0,n),i=t?"TMImage":"TMLink",r=n,a=1,l=!1,o=!1,u=[],c=[];e:for(;r<e.length&&!1===l;){let s=e.substr(r);for(let e of["escape","code","autolink","html"]){let t=this.mergedInlineGrammar[e].regexp.exec(s);if(t){r+=t[0].length;continue e}}if(s.match(this.mergedInlineGrammar.imageOpen.regexp))a++,r+=2;else if(s.match(this.mergedInlineGrammar.linkOpen.regexp)){if(a++,!t&&this.parseLinkOrImage(s,!1))return!1;r+=1}else s.match(/^\]/)&&(a--,0===a)?(l=e.substr(n,r-n),r++):r++}if(!1===l)return!1;let h=r<e.length?e.substr(r,1):"";if("["===h){let t=e.substr(r),n=this.mergedInlineGrammar.linkLabel.regexp.exec(t);if(!n)return!1;r+=n[0].length,u.push(n[1],n[2],n[3]),o=n[this.mergedInlineGrammar.linkLabel.labelPlaceholder]?n[this.mergedInlineGrammar.linkLabel.labelPlaceholder]:l.trim()}else if("("!==h)o=l.trim();else{r++;let t=1;for(;r<e.length&&t>0;){let n=e.substr(r),s=/^\s+/.exec(n);if(s){switch(c.length){case 0:case 1:c.push(s[0]);break;case 2:if(c[0].match(/</))c[1]=c[1].concat(s[0]);else{if(1!==t)return!1;c.push(""),c.push(s[0])}break;case 3:c.push(s[0]);break;case 4:return!1;case 5:c.push("");case 6:c[5]=c[5].concat(s[0]);break;case 7:c[6]=c[6].concat(s[0]);break;default:return!1}r+=s[0].length}else if(s=this.mergedInlineGrammar.escape.regexp.exec(n),s){switch(c.length){case 0:c.push("");case 1:c.push(s[0]);break;case 2:c[1]=c[1].concat(s[0]);break;case 3:case 4:return!1;case 5:c.push("");case 6:c[5]=c[5].concat(s[0]);break;default:return!1}r+=s[0].length}else if(c.length<2&&n.match(/^</))0===c.length&&c.push(""),c[0]=c[0].concat("<"),r++;else if(1!==c.length&&2!==c.length||!n.match(/^>/))if(s=/^["']/.exec(n),!s||0!==c.length&&1!==c.length&&4!==c.length)if(!s||5!==c.length&&6!==c.length||c[4]!==s[0])if(n.match(/^\(/)){switch(c.length){case 0:c.push("");case 1:c.push("");case 2:c[1]=c[1].concat("("),c[0].match(/<$/)||t++;break;case 3:c.push("");case 4:c.push("(");break;case 5:c.push("");case 6:if("("===c[4])return!1;c[5]=c[5].concat("(");break;default:return!1}r++}else if(n.match(/^\)/)){if(c.length<=2){for(;c.length<2;)c.push("");c[0].match(/<$/)||t--,t>0&&(c[1]=c[1].concat(")"))}else 5===c.length||6===c.length?"("===c[4]?(5===c.length&&c.push(""),c.push(")")):5===c.length?c.push(")"):c[5]=c[5].concat(")"):t--;if(0===t)for(;c.length<7;)c.push("");r++}else{if(s=/^./.exec(n),!s)throw"Infinite loop";switch(c.length){case 0:c.push("");case 1:c.push(s[0]);break;case 2:c[1]=c[1].concat(s[0]);break;case 3:case 4:return!1;case 5:c.push("");case 6:c[5]=c[5].concat(s[0]);break;default:return!1}r+=s[0].length}else 5===c.length&&c.push(""),c.push(s[0]),r++;else{for(;c.length<4;)c.push("");c.push(s[0]),r++}else 1===c.length&&c.push(""),c.push(">"),r++}if(t>0)return!1}if(!1!==o){let e=!1;for(let t of this.linkLabels)if(t===o){e=!0;break}let t=e?"TMLinkLabel TMLinkLabel_Valid":"TMLinkLabel TMLinkLabel_Invalid",n=`<span class="TMMark TMMark_${i}">${s}</span><span class="${i} ${u.length<3||!u[1]?t:""}">${this.processInlineStyles(l)}</span><span class="TMMark TMMark_${i}">]</span>`;return u.length>=3&&(n=n.concat(`<span class="TMMark TMMark_${i}">${u[0]}</span>`,`<span class="${t}">${u[1]}</span>`,`<span class="TMMark TMMark_${i}">${u[2]}</span>`)),{output:n,charCount:r}}if(c.length>0){for(;c.length<7;)c.push("");return{output:`<span class="TMMark TMMark_${i}">${s}</span><span class="${i}">${this.processInlineStyles(l)}</span><span class="TMMark TMMark_${i}">](${c[0]}</span><span class="${i}Destination">${c[1]}</span><span class="TMMark TMMark_${i}">${c[2]}${c[3]}${c[4]}</span><span class="${i}Title">${c[5]}</span><span class="TMMark TMMark_${i}">${c[6]})</span>`,charCount:r}}return!1}computeCommonAncestor(e,t){if(!e||!t)return null;if(e===t)return e;const n=e=>{let t=[];for(;e;)t.unshift(e),e=e.parentNode;return t},s=n(e),i=n(t);if(s[0]!==i[0])return null;let r;for(r=0;s[r]===i[r];r++);return s[r-1]}computeEnclosingMarkupNode(e,t,n){let s=null;if(!e)return null;if(t){if(e.row!==t.row)return null;const n=window.getSelection();if(!n)return null;s=this.computeCommonAncestor(n.focusNode,n.anchorNode)}else{const e=window.getSelection();if(!e||!e.focusNode)return null;s=e.focusNode}if(!s)return null;for(;s!==this.e;){if(s.className&&s.className.includes(n))return s;s=s.parentNode}return null}getCommandState(){let e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i={};if(n||(n=this.getSelection(!1)),s||(s=this.getSelection(!0)),!n){for(let e in jt)i[e]=null;return i}s||(s=n),s.row<n.row||s.row===n.row&&s.col<n.col?(e=s,t=n):(e=n,t=s),t.row>e.row&&0===t.col&&(t.row--,t.col=this.lines[t.row].length);for(let r in jt)if("inline"===jt[r].type&&(n&&n.row===s.row&&this.isInlineFormattingAllowed()?i[r]=!!this.computeEnclosingMarkupNode(n,s,jt[r].className)||n.col===s.col&&!!this.lines[n.row].substr(0,n.col).match(jt[r].unset.prePattern)&&!!this.lines[n.row].substr(n.col).match(jt[r].unset.postPattern):i[r]=null),"line"===jt[r].type)if(n){let n=this.lineTypes[e.row]===jt[r].className;for(let s=e.row;s<=t.row;s++)if(this.lineTypes[s]===jt[r].className!==n){n=null;break}i[r]=n}else i[r]=null;return i}setCommandState(e,t){if(this.isRestoringHistory||this.pushHistory(),"inline"===jt[e].type){let t=this.getSelection(!0),n=this.getSelection(!1);if(t||(t=n),!t)return;if(t.row!==n.row)return;if(!this.isInlineFormattingAllowed())return;let s=this.computeEnclosingMarkupNode(n,t,jt[e].className);if(this.clearDirtyFlag(),s){this.lineDirty[n.row]=!0;const i=this.computeColumn(s,0),r=s.textContent.length,a=this.lines[n.row].substr(0,i).replace(jt[e].unset.prePattern,""),l=this.lines[n.row].substr(i,r),o=this.lines[n.row].substr(i+r).replace(jt[e].unset.postPattern,"");this.lines[n.row]=a.concat(l,o),t.col=a.length,n.col=t.col+r,this.updateFormatting(),this.setSelection(n,t),this.fireChange()}else if(n.col===t.col&&this.lines[n.row].substr(0,n.col).match(jt[e].unset.prePattern)&&this.lines[n.row].substr(n.col).match(jt[e].unset.postPattern)){this.lineDirty[n.row]=!0;const s=this.lines[n.row].substr(0,n.col).replace(jt[e].unset.prePattern,""),i=this.lines[n.row].substr(n.col).replace(jt[e].unset.postPattern,"");this.lines[n.row]=s.concat(i),n.col=t.col=s.length,this.updateFormatting(),this.setSelection(n,t),this.fireChange()}else{let{startCol:s,endCol:i}=n.col<t.col?{startCol:n.col,endCol:t.col}:{startCol:t.col,endCol:n.col},r=this.lines[n.row].substr(s,i-s).match(/^(?<leading>\s*).*\S(?<trailing>\s*)$/);r&&(s+=r.groups.leading.length,i-=r.groups.trailing.length),n.col=s,t.col=i,this.wrapSelection(jt[e].set.pre,jt[e].set.post,n,t),this.fireChange()}}else if("line"===jt[e].type){let n=this.getSelection(!0),s=this.getSelection(!1);if(n||(n=s),!s)return;this.clearDirtyFlag();let i=n.row>s.row?s:n,r=n.row>s.row?n:s;r.row>i.row&&0===r.col&&r.row--;for(let n=i.row;n<=r.row;n++)t&&this.lineTypes[n]!==jt[e].className&&(this.lines[n]=this.lines[n].replace(jt[e].set.pattern,jt[e].set.replacement.replace("$#",(n-i.row+1).toString())),this.lineDirty[n]=!0),t||this.lineTypes[n]!==jt[e].className||(this.lines[n]=this.lines[n].replace(jt[e].unset.pattern,jt[e].unset.replacement),this.lineDirty[n]=!0);this.updateFormatting(),this.setSelection({row:r.row,col:this.lines[r.row].length},{row:i.row,col:0}),this.fireChange()}}isInlineFormattingAllowed(){const e=window.getSelection();if(!e||!e.focusNode||!e.anchorNode)return!1;if(e.isCollapsed&&3===e.focusNode.nodeType&&e.focusOffset===e.focusNode.nodeValue.length){let t;for(t=e.focusNode;t&&null===t.nextSibling;t=t.parentNode);if(t&&t.nextSibling&&t.nextSibling.className&&t.nextSibling.className.includes("TMInlineFormatted"))return!0}let t=this.computeCommonAncestor(e.focusNode,e.anchorNode);if(!t)return!1;for(;t&&t!==this.e;){if(t.className&&"function"==typeof t.className.includes&&(t.className.includes("TMInlineFormatted")||t.className.includes("TMBlankLine")))return!0;t=t.parentNode}return!1}toggleCommandState(e){this.lastCommandState||(this.lastCommandState=this.getCommandState()),this.setCommandState(e,!this.lastCommandState[e])}fireDrop(e){for(let t of this.listeners.drop)t({dataTransfer:e})}fireSelection(){if(this.listeners.selection&&this.listeners.selection.length){let e=this.getSelection(!1),t=this.getSelection(!0),n=this.getCommandState(e,t);this.lastCommandState?Object.assign(this.lastCommandState,n):this.lastCommandState=Object.assign({},n);for(let n of this.listeners.selection)n({focus:e,anchor:t,commandState:this.lastCommandState})}}}}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyMDE={})}(this,(function(e){"use strict";const t={blockquote:'<svg height="18" width="18"><rect width="5" height="5" x="3" y="4" ry="1"/><rect ry="1" y="4" x="10" height="5" width="5"/><path d="M8 6.999v3c0 1-1 3-1 3s-.331 1-1.331 1h-1c-1 0-.669-1-.669-1s1-2 1-3v-3zm7 0v3c0 1-1 3-1 3s-.331 1-1.331 1h-1c-1 0-.669-1-.669-1s1-2 1-3v-3z"/></svg>',bold:'<svg height="18" width="18"><path d="M4 2a1 1 0 00-1 1v12a1 1 0 001 1h6c4 0 5-2 5-4 0-1.322-.434-2.636-1.885-3.381C13.772 7.885 14 6.945 14 6c0-2-1-4-5-4zm1 2h4c1.668 0 2.32.393 2.6.672.28.279.4.662.4 1.328s-.12 1.057-.4 1.338c-.275.274-1.014.646-2.6.662H5zm5 6c1.666.005 2.318.388 2.596.666.277.278.404.667.404 1.334s-.127 1.06-.404 1.338c-.278.278-.93.66-2.596.662l-4.992.004L5 10z"/></svg>',code:'<svg height="18" width="18"><path d="M13.5 2.994a.5.5 0 00-.5.5.5.5 0 000 .034V4.53a5.993 5.993 0 00-7.451-.445A6 6 0 1012.45 13.9a5.99 5.99 0 001.346-1.334.5.5 0 00.096-.101.5.5 0 00-.12-.698.5.5 0 00-.697.12l-.004-.005a5 5 0 01-1.197 1.2 5 5 0 111.215-6.965.5.5 0 00.697.12.5.5 0 00.211-.44V4.745H14V3.493a.5.5 0 00-.5-.5z"/></svg>',h1:'<svg height="18" width="18"><path d="M3 2s0-1 1-1h1c1 0 1 1 1 1v6h6V2s0-1 1-1h1c1 0 1 1 1 1v14s0 1-1 1h-1c-1 0-1-1-1-1v-6H6v6s0 1-1 1H4c-1 0-1-1-1-1z"/></svg>',h2:'<svg height="18" width="18"><path d="M4 2s0-1 1-1 1 1 1 1v6c1-1 2-1 4-1 3 0 4 2 4 4v5s0 1-1 1-1-1-1-1v-5c0-1.094-1-2-2-2-2 0-3 0-4 2v5s0 1-1 1-1-1-1-1z"/></svg>',hr:'<svg height="18" width="18"><rect ry="1" y="8" height="2" width="18" style="font-variation-settings:normal;marker:none"/></svg>',image:'<svg height="18" width="18"><path d="M1 2v14h16V2H1zm2 2h12v7l-3-3-4 4-2-2-3 3V4z"/><circle r="1.5" cy="6.5" cx="5.5"/></svg>',italic:'<svg height="18" width="18"><path d="M9 2a1 1 0 000 2L7 14a1 1 0 100 2h2a1 1 0 000-2l2-10a1 1 0 100-2z"/></svg>',link:'<svg height="18" width="18"><path d="M9.07 5.18a3.9 3.9 0 00-1.52.43C6.31 6.22 5.3 7.29 4.3 8.29c-1 1-2.07 2.02-2.68 3.26-.31.62-.5 1.33-.41 2.07.09.75.48 1.47 1.1 2.09.61.61 1.33 1 2.08 1.1.74.09 1.45-.1 2.07-.42 1.24-.61 2.26-1.68 3.26-2.68.46-.47.94-.94 1.39-1.44l-.43.26c-.68.34-1.49.56-2.36.46-.2-.03-.4-.08-.6-.14-.79.76-1.55 1.45-2.16 1.76-.38.19-.67.24-.92.21-.26-.03-.54-.14-.92-.53-.39-.38-.5-.66-.53-.91-.03-.26.02-.55.21-.93.39-.76 1.32-1.74 2.32-2.74 1-1 1.98-1.93 2.74-2.32.38-.19.67-.24.93-.21.25.03.53.14.91.53.39.38.5.66.53.92v.06l1.12-1.06.44-.47c-.18-.3-.4-.6-.67-.87-.62-.61-1.34-1-2.09-1.1a3.08 3.08 0 00-.55-.01z"/><path d="M13.07.86a3.9 3.9 0 00-1.52.43c-1.24.62-2.26 1.69-3.26 2.69-.46.47-.94.94-1.39 1.43.15-.08.28-.18.43-.25a4.4 4.4 0 012.36-.46c.2.02.4.07.6.14.79-.77 1.55-1.46 2.16-1.76.38-.19.67-.25.93-.21.25.03.53.14.91.52.39.38.5.66.53.92.03.26-.02.55-.21.93-.39.76-1.32 1.74-2.32 2.74-1 1-1.98 1.93-2.74 2.31-.38.2-.67.25-.93.22-.25-.04-.53-.15-.91-.53-.39-.38-.5-.66-.53-.92V9c-.36.33-.73.67-1.12 1.06l-.43.46c.17.3.4.6.66.87.62.62 1.34 1 2.08 1.1.75.1 1.46-.1 2.08-.41 1.24-.62 2.26-1.69 3.26-2.69s2.07-2.02 2.68-3.26c.31-.62.5-1.32.41-2.07a3.63 3.63 0 00-1.1-2.08c-.61-.62-1.33-1-2.07-1.1a3.08 3.08 0 00-.56-.02z"/></svg>',ol:'<svg height="18" width="18"><path d="M1.5 7a.5.5 0 100 1h1a.5.5 0 01.5.5c0 .164-.08.31-.14.355l-1.655 1.25A.492.492 0 001 10.5a.5.5 0 00.5.5h2a.5.5 0 000-1H3l.398-.299A1.5 1.5 0 002.5 7z"/><path d="M1.5 12c-.667 0-.667 1 0 1h1.25c.333 0 .333.5 0 .5H2.5c-.667 0-.667 1 0 1h.25c.333 0 .333.5 0 .5H1.5c-.667 0-.667 1 0 1h1c.398 0 .78-.131 1.06-.365.282-.235.44-.554.44-.885a1.121 1.121 0 00-.303-.75c.191-.204.3-.47.303-.75 0-.332-.158-.651-.44-.885-.3-.241-.675-.37-1.06-.365z"/><rect y="13" x="6" height="2" width="12" ry="1"/><rect ry="1" width="12" height="2" x="6" y="8"/><rect y="3" x="6" height="2" width="12" ry="1"/><path d="M1.5 2a.5.5 0 100 1H2v2h-.5a.5.5 0 100 1h2a.5.5 0 100-1H3V2.5c0-.277-.223-.5-.5-.5z"/></svg>',redo:'<svg height="18" width="18"><path d="M 7.2695308,2.7050781 C 8.1128755,2.7081581 8.9529895,2.8712156 9.730469,3.1347656 11.408874,3.7037121 12.90142,4.6847104 14,5.6367188 V 4 h 2 V 9 H 11 V 7 h 1.509765 C 11.59075,6.2485173 10.340208,5.453808 9.0878904,5.0292969 7.4309398,4.4676231 5.9453458,4.468717 4.7070308,5.7070312 c -1.225014,1.2250142 -1.409769,2.7206953 -0.779297,4.2968748 0.630472,1.57618 2.167475,3.158006 4.4433598,4.06836 l -0.7421878,1.855468 c -2.724115,-1.089646 -4.687112,-3.00782 -5.55664,-5.18164 -0.869528,-2.1738206 -0.554283,-4.6781393 1.220703,-6.4531252 0.923857,-0.9238568 2.015388,-1.388828 3.134765,-1.5351563 0.279845,-0.036582 0.560682,-0.053761 0.841797,-0.052734 z" /></svg>',strikethrough:'<svg width="18" height="18"><path d="M10 2C6 2 4 4 4 6c0 .338.08.672.193 1h2.34C6.113 6.629 6 6.295 6 6c0-.334.117-.725.691-1.154C7.265 4.416 8.331 4 10 4h3a1 1 0 000-2zm1.477 9c.413.368.523.706.523 1 0 .334-.127.712-.701 1.143-.575.43-1.632.85-3.299.857l-1.006.007V14H5a1 1 0 000 2h3c4 0 6-2 6-4 0-.338-.081-.672-.195-1z"/><rect ry="1" y="8" x="1" height="2" width="16"/></svg>',ul:'<svg height="18" width="18"><circle cx="2" cy="9" r="2"/><circle cy="4" cx="2" r="2"/><rect y="3" x="6" height="2" width="12" ry="1"/><circle cx="2" cy="14" r="2"/><rect ry="1" width="12" height="2" x="6" y="8"/><rect y="13" x="6" height="2" width="12" ry="1"/></svg>',undo:'<svg height="18" width="18"><path d="M 10.730469 2.7050781 C 9.8871243 2.7081594 9.0470103 2.8712156 8.2695312 3.1347656 C 6.5911256 3.7037121 5.0985797 4.6847104 4 5.6367188 L 4 4 L 2 4 L 2 9 L 7 9 L 7 7 L 5.4902344 7 C 6.4092499 6.2485173 7.6597914 5.453808 8.9121094 5.0292969 C 10.56906 4.4676231 12.054654 4.468717 13.292969 5.7070312 C 14.517983 6.9320454 14.702738 8.4277265 14.072266 10.003906 C 13.441794 11.580086 11.904791 13.161912 9.6289062 14.072266 L 10.371094 15.927734 C 13.095209 14.838088 15.058206 12.919914 15.927734 10.746094 C 16.797262 8.5722734 16.482017 6.0679547 14.707031 4.2929688 C 13.783174 3.369112 12.691643 2.9041408 11.572266 2.7578125 C 11.292421 2.7212304 11.011584 2.704051 10.730469 2.7050781 z " /></svg>\n'},n=/(Mac|iPhone|iPod|iPad)/i.test("undefined"!=typeof navigator?navigator.platform:""),s={bold:{name:"bold",action:"bold",innerHTML:t.bold,title:"Bold",hotkey:"Mod-B"},italic:{name:"italic",action:"italic",innerHTML:t.italic,title:"Italic",hotkey:"Mod-I"},strikethrough:{name:"strikethrough",action:"strikethrough",innerHTML:t.strikethrough,title:"Strikethrough",hotkey:"Mod2-Shift-5"},code:{name:"code",action:"code",innerHTML:t.code,title:"Format as code"},h1:{name:"h1",action:"h1",innerHTML:t.h1,title:"Level 1 heading",hotkey:"Mod-Shift-1"},h2:{name:"h2",action:"h2",innerHTML:t.h2,title:"Level 2 heading",hotkey:"Mod-Shift-2"},ul:{name:"ul",action:"ul",innerHTML:t.ul,title:"Bulleted list"},ol:{name:"ol",action:"ol",innerHTML:t.ol,title:"Numbered list"},blockquote:{name:"blockquote",action:"blockquote",innerHTML:t.blockquote,title:"Quote",hotkey:"Mod2-Shift-Q"},insertLink:{name:"insertLink",action:e=>{e.isInlineFormattingAllowed()&&e.wrapSelection("[","]()")},enabled:(e,t,n)=>!e.isInlineFormattingAllowed(t,n)&&null,innerHTML:t.link,title:"Insert link",hotkey:"Mod-K"},insertImage:{name:"insertImage",action:e=>{e.isInlineFormattingAllowed()&&e.wrapSelection("![","]()")},enabled:(e,t,n)=>!e.isInlineFormattingAllowed(t,n)&&null,innerHTML:t.image,title:"Insert image",hotkey:"Mod2-Shift-I"},hr:{name:"hr",action:e=>e.paste("\n***\n"),enabled:()=>!1,innerHTML:t.hr,title:"Insert horizontal line",hotkey:"Mod2-Shift-L"},undo:{name:"undo",action:e=>e.undo(),enabled:e=>!e.canUndo&&null,innerHTML:t.undo,title:"Undo"},redo:{name:"redo",action:e=>e.redo(),enabled:e=>!e.canRedo&&null,innerHTML:t.redo,title:"Redo"}};var i,r,a,l,o,u,c="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},h={};function p(){if(r)return i;r=1;var e=function(e){return e&&e.Math===Math&&e};return i=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof c&&c)||e("object"==typeof i&&i)||function(){return this}()||Function("return this")()}function d(){return l?a:(l=1,a=function(e){try{return!!e()}catch(e){return!0}})}function m(){if(u)return o;u=1;var e=d();return o=!e((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}))}var f,g,M,T,F,D,y,C,k,b,E,v,w,$,A,S,x={exports:{}};function L(){if(g)return f;g=1;var e=d();return f=!e((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))}function H(){if(T)return M;T=1;var e=L(),t=Function.prototype,n=t.call,s=e&&t.bind.bind(n,n);return M=e?s:function(e){return function(){return n.apply(e,arguments)}},M}function B(){if(D)return F;D=1;var e="object"==typeof document&&document.all;return F=void 0===e&&void 0!==e?function(t){return"function"==typeof t||t===e}:function(e){return"function"==typeof e}}function N(){return C?y:(C=1,y=function(e){return null==e})}function I(){if(b)return k;b=1;var e=N(),t=TypeError;return k=function(n){if(e(n))throw new t("Can't call method on "+n);return n}}function O(){if(v)return E;v=1;var e=I(),t=Object;return E=function(n){return t(e(n))}}function _(){if($)return w;$=1;var e=H(),t=O(),n=e({}.hasOwnProperty);return w=Object.hasOwn||function(e,s){return n(t(e),s)}}var P,R,j,z,G,V,q,K,U,Z,W,X={exports:{}};function Q(){if(z)return j;z=1;var e=p(),t=Object.defineProperty;return j=function(n,s){try{t(e,n,{value:s,configurable:!0,writable:!0})}catch(t){e[n]=s}return s}}function Y(){if(G)return X.exports;G=1;var e=R?P:(R=1,P=!1),t=p(),n=Q(),s="__core-js_shared__",i=X.exports=t[s]||n(s,{});return(i.versions||(i.versions=[])).push({version:"3.42.0",mode:e?"pure":"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.42.0/LICENSE",source:"https://github.com/zloirock/core-js"}),X.exports}function J(){if(q)return V;q=1;var e=H(),t=B(),n=Y(),s=e(Function.toString);return t(n.inspectSource)||(n.inspectSource=function(e){return s(e)}),V=n.inspectSource}function ee(){if(W)return Z;W=1;var e=B();return Z=function(t){return"object"==typeof t?null!==t:e(t)}}var te,ne,se,ie,re,ae,le,oe,ue,ce,he,pe,de,me,fe,ge,Me,Te,Fe,De,ye,Ce,ke,be,Ee,ve,we,$e,Ae,Se,xe,Le,He,Be,Ne,Ie,Oe,_e,Pe,Re,je,ze,Ge,Ve,qe,Ke,Ue,Ze,We,Xe,Qe,Ye,Je,et,tt,nt,st,it,rt,at={};function lt(){if(ie)return se;ie=1;var e=m(),t=d(),n=function(){if(ne)return te;ne=1;var e=p(),t=ee(),n=e.document,s=t(n)&&t(n.createElement);return te=function(e){return s?n.createElement(e):{}}}();return se=!e&&!t((function(){return 7!==Object.defineProperty(n("div"),"a",{get:function(){return 7}}).a}))}function ot(){if(oe)return le;oe=1;var e=ee(),t=String,n=TypeError;return le=function(s){if(e(s))return s;throw new n(t(s)+" is not an object")}}function ut(){if(ce)return ue;ce=1;var e=L(),t=Function.prototype.call;return ue=e?t.bind(t):function(){return t.apply(t,arguments)},ue}function ct(){if(pe)return he;pe=1;var e=p(),t=B();return he=function(n,s){return arguments.length<2?(i=e[n],t(i)?i:void 0):e[n]&&e[n][s];var i},he}function ht(){if(Te)return Me;Te=1;var e,t,n=p(),s=function(){if(ge)return fe;ge=1;var e=p().navigator,t=e&&e.userAgent;return fe=t?String(t):""}(),i=n.process,r=n.Deno,a=i&&i.versions||r&&r.version,l=a&&a.v8;return l&&(t=(e=l.split("."))[0]>0&&e[0]<4?1:+(e[0]+e[1])),!t&&s&&(!(e=s.match(/Edge\/(\d+)/))||e[1]>=74)&&(e=s.match(/Chrome\/(\d+)/))&&(t=+e[1]),Me=t}function pt(){if(De)return Fe;De=1;var e=ht(),t=d(),n=p().String;return Fe=!!Object.getOwnPropertySymbols&&!t((function(){var t=Symbol("symbol detection");return!n(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&e&&e<41}))}function dt(){if(Ce)return ye;Ce=1;var e=pt();return ye=e&&!Symbol.sham&&"symbol"==typeof Symbol.iterator}function mt(){if(be)return ke;be=1;var e=ct(),t=B(),n=function(){if(me)return de;me=1;var e=H();return de=e({}.isPrototypeOf)}(),s=dt(),i=Object;return ke=s?function(e){return"symbol"==typeof e}:function(s){var r=e("Symbol");return t(r)&&n(r.prototype,i(s))}}function ft(){if(ve)return Ee;ve=1;var e=String;return Ee=function(t){try{return e(t)}catch(e){return"Object"}}}function gt(){if($e)return we;$e=1;var e=B(),t=ft(),n=TypeError;return we=function(s){if(e(s))return s;throw new n(t(s)+" is not a function")}}function Mt(){if(Se)return Ae;Se=1;var e=gt(),t=N();return Ae=function(n,s){var i=n[s];return t(i)?void 0:e(i)}}function Tt(){if(Le)return xe;Le=1;var e=ut(),t=B(),n=ee(),s=TypeError;return xe=function(i,r){var a,l;if("string"===r&&t(a=i.toString)&&!n(l=e(a,i)))return l;if(t(a=i.valueOf)&&!n(l=e(a,i)))return l;if("string"!==r&&t(a=i.toString)&&!n(l=e(a,i)))return l;throw new s("Can't convert object to primitive value")}}function Ft(){if(Be)return He;Be=1;var e=Y();return He=function(t,n){return e[t]||(e[t]=n||{})}}function Dt(){if(Ie)return Ne;Ie=1;var e=H(),t=0,n=Math.random(),s=e(1..toString);return Ne=function(e){return"Symbol("+(void 0===e?"":e)+")_"+s(++t+n,36)}}function yt(){if(_e)return Oe;_e=1;var e=p(),t=Ft(),n=_(),s=Dt(),i=pt(),r=dt(),a=e.Symbol,l=t("wks"),o=r?a.for||a:a&&a.withoutSetter||s;return Oe=function(e){return n(l,e)||(l[e]=i&&n(a,e)?a[e]:o("Symbol."+e)),l[e]}}function Ct(){if(Re)return Pe;Re=1;var e=ut(),t=ee(),n=mt(),s=Mt(),i=Tt(),r=yt(),a=TypeError,l=r("toPrimitive");return Pe=function(r,o){if(!t(r)||n(r))return r;var u,c=s(r,l);if(c){if(void 0===o&&(o="default"),u=e(c,r,o),!t(u)||n(u))return u;throw new a("Can't convert object to primitive value")}return void 0===o&&(o="number"),i(r,o)}}function kt(){if(ze)return je;ze=1;var e=Ct(),t=mt();return je=function(n){var s=e(n,"string");return t(s)?s:s+""}}function bt(){if(Ge)return at;Ge=1;var e=m(),t=lt(),n=function(){if(ae)return re;ae=1;var e=m(),t=d();return re=e&&t((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))}(),s=ot(),i=kt(),r=TypeError,a=Object.defineProperty,l=Object.getOwnPropertyDescriptor,o="enumerable",u="configurable",c="writable";return at.f=e?n?function(e,t,n){if(s(e),t=i(t),s(n),"function"==typeof e&&"prototype"===t&&"value"in n&&c in n&&!n[c]){var r=l(e,t);r&&r[c]&&(e[t]=n.value,n={configurable:u in n?n[u]:r[u],enumerable:o in n?n[o]:r[o],writable:!1})}return a(e,t,n)}:a:function(e,n,l){if(s(e),n=i(n),s(l),t)try{return a(e,n,l)}catch(e){}if("get"in l||"set"in l)throw new r("Accessors not supported");return"value"in l&&(e[n]=l.value),e},at}function Et(){return qe?Ve:(qe=1,Ve=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}})}function vt(){if(Ue)return Ke;Ue=1;var e=m(),t=bt(),n=Et();return Ke=e?function(e,s,i){return t.f(e,s,n(1,i))}:function(e,t,n){return e[t]=n,e}}function wt(){if(We)return Ze;We=1;var e=Ft(),t=Dt(),n=e("keys");return Ze=function(e){return n[e]||(n[e]=t(e))}}function $t(){return Qe?Xe:(Qe=1,Xe={})}function At(){if(Je)return Ye;Je=1;var e,t,n,s=function(){if(U)return K;U=1;var e=p(),t=B(),n=e.WeakMap;return K=t(n)&&/native code/.test(String(n))}(),i=p(),r=ee(),a=vt(),l=_(),o=Y(),u=wt(),c=$t(),h="Object already initialized",d=i.TypeError,m=i.WeakMap;if(s||o.state){var f=o.state||(o.state=new m);f.get=f.get,f.has=f.has,f.set=f.set,e=function(e,t){if(f.has(e))throw new d(h);return t.facade=e,f.set(e,t),t},t=function(e){return f.get(e)||{}},n=function(e){return f.has(e)}}else{var g=u("state");c[g]=!0,e=function(e,t){if(l(e,g))throw new d(h);return t.facade=e,a(e,g,t),t},t=function(e){return l(e,g)?e[g]:{}},n=function(e){return l(e,g)}}return Ye={set:e,get:t,has:n,enforce:function(s){return n(s)?t(s):e(s,{})},getterFor:function(e){return function(n){var s;if(!r(n)||(s=t(n)).type!==e)throw new d("Incompatible receiver, "+e+" required");return s}}}}function St(){if(et)return x.exports;et=1;var e=H(),t=d(),n=B(),s=_(),i=m(),r=function(){if(S)return A;S=1;var e=m(),t=_(),n=Function.prototype,s=e&&Object.getOwnPropertyDescriptor,i=t(n,"name"),r=i&&"something"===function(){}.name,a=i&&(!e||e&&s(n,"name").configurable);return A={EXISTS:i,PROPER:r,CONFIGURABLE:a}}().CONFIGURABLE,a=J(),l=At(),o=l.enforce,u=l.get,c=String,h=Object.defineProperty,p=e("".slice),f=e("".replace),g=e([].join),M=i&&!t((function(){return 8!==h((function(){}),"length",{value:8}).length})),T=String(String).split("String"),F=x.exports=function(e,t,n){"Symbol("===p(c(t),0,7)&&(t="["+f(c(t),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),n&&n.getter&&(t="get "+t),n&&n.setter&&(t="set "+t),(!s(e,"name")||r&&e.name!==t)&&(i?h(e,"name",{value:t,configurable:!0}):e.name=t),M&&n&&s(n,"arity")&&e.length!==n.arity&&h(e,"length",{value:n.arity});try{n&&s(n,"constructor")&&n.constructor?i&&h(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var a=o(e);return s(a,"source")||(a.source=g(T,"string"==typeof t?t:"")),e};return Function.prototype.toString=F((function(){return n(this)&&u(this).source||a(this)}),"toString"),x.exports}function xt(){if(nt)return tt;nt=1;var e=St(),t=bt();return tt=function(n,s,i){return i.get&&e(i.get,s,{getter:!0}),i.set&&e(i.set,s,{setter:!0}),t.f(n,s,i)}}!function(){if(rt)return h;rt=1;var e=p(),t=m(),n=xt(),s=function(){if(it)return st;it=1;var e=ot();return st=function(){var t=e(this),n="";return t.hasIndices&&(n+="d"),t.global&&(n+="g"),t.ignoreCase&&(n+="i"),t.multiline&&(n+="m"),t.dotAll&&(n+="s"),t.unicode&&(n+="u"),t.unicodeSets&&(n+="v"),t.sticky&&(n+="y"),n}}(),i=d(),r=e.RegExp,a=r.prototype;t&&i((function(){var e=!0;try{r(".","d")}catch(t){e=!1}var t={},n="",s=e?"dgimsy":"gimsy",i=function(e,s){Object.defineProperty(t,e,{get:function(){return n+=s,!0}})},l={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};for(var o in e&&(l.hasIndices="d"),l)i(o,l[o]);return Object.getOwnPropertyDescriptor(a,"flags").get.call(t)!==s||n!==s}))&&n(a,"flags",{configurable:!0,get:s})}();const Lt={ASCIIPunctuation:/[!"#$%&'()*+,\-./:;<=>?@[\]^_`{|}~\\]/,NotTriggerChar:/[^`_*[\]()<>!~]/,Scheme:/[A-Za-z][A-Za-z0-9+.-]{1,31}/,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])?)*/,HTMLOpenTag:/<HTMLTagName(?:HTMLAttribute)*\s*\/?>/,HTMLCloseTag:/<\/HTMLTagName\s*>/,HTMLTagName:/[A-Za-z][A-Za-z0-9-]*/,HTMLComment:/<!--(?:[^>-]|(?:[^>-](?:[^-]|-[^-])*[^-]))-->/,HTMLPI:/<\?(?:|.|(?:[^?]|\?[^>])*)\?>/,HTMLDeclaration:/<![A-Z]+\s[^>]*>/,HTMLCDATA:/<!\[CDATA\[.*?\]\]>/,HTMLAttribute:/\s+[A-Za-z_:][A-Za-z0-9_.:-]*(?:HTMLAttValue)?/,HTMLAttValue:/\s*=\s*(?:(?:'[^']*')|(?:"[^"]*")|(?:[^\s"'=<>`]+))/,KnownTag:/address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul/},Ht=new RegExp(/^(?:[!"#$%&'()*+,\-./:;<=>?@[\]\\^_`{|}~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B])/),Bt=new RegExp(/(?:[!"#$%&'()*+,\-./:;<=>?@[\]\\^_`{|}~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B])$/),Nt={TMH1:{regexp:/^( {0,3}#\s)(.*?)((?:\s+#+\s*)?)$/,replacement:'<span class="TMMark TMMark_TMH1">$1</span>$$2<span class="TMMark TMMark_TMH1">$3</span>'},TMH2:{regexp:/^( {0,3}##\s)(.*?)((?:\s+#+\s*)?)$/,replacement:'<span class="TMMark TMMark_TMH2">$1</span>$$2<span class="TMMark TMMark_TMH2">$3</span>'},TMH3:{regexp:/^( {0,3}###\s)(.*?)((?:\s+#+\s*)?)$/,replacement:'<span class="TMMark TMMark_TMH3">$1</span>$$2<span class="TMMark TMMark_TMH3">$3</span>'},TMH4:{regexp:/^( {0,3}####\s)(.*?)((?:\s+#+\s*)?)$/,replacement:'<span class="TMMark TMMark_TMH4">$1</span>$$2<span class="TMMark TMMark_TMH4">$3</span>'},TMH5:{regexp:/^( {0,3}#####\s)(.*?)((?:\s+#+\s*)?)$/,replacement:'<span class="TMMark TMMark_TMH5">$1</span>$$2<span class="TMMark TMMark_TMH5">$3</span>'},TMH6:{regexp:/^( {0,3}######\s)(.*?)((?:\s+#+\s*)?)$/,replacement:'<span class="TMMark TMMark_TMH6">$1</span>$$2<span class="TMMark TMMark_TMH6">$3</span>'},TMBlockquote:{regexp:/^( {0,3}>[ ]?)(.*)$/,replacement:'<span class="TMMark TMMark_TMBlockquote">$1</span>$$2'},TMCodeFenceBacktickOpen:{regexp:/^( {0,3}(?<seq>````*)\s*)([^`]*?)(\s*)$/,replacement:'<span class="TMMark TMMark_TMCodeFenceBacktick">$1</span><span class="TMInfoString">$3</span>$4'},TMCodeFenceTildeOpen:{regexp:/^( {0,3}(?<seq>~~~~*)\s*)(.*?)(\s*)$/,replacement:'<span class="TMMark TMMark_TMCodeFenceTilde">$1</span><span class="TMInfoString">$3</span>$4'},TMCodeFenceBacktickClose:{regexp:/^( {0,3}(?<seq>````*))(\s*)$/,replacement:'<span class="TMMark TMMark_TMCodeFenceBacktick">$1</span>$3'},TMCodeFenceTildeClose:{regexp:/^( {0,3}(?<seq>~~~~*))(\s*)$/,replacement:'<span class="TMMark TMMark_TMCodeFenceTilde">$1</span>$3'},TMBlankLine:{regexp:/^([ \t]*)$/,replacement:"$0"},TMSetextH1Marker:{regexp:/^ {0,3}=+\s*$/,replacement:'<span class="TMMark TMMark_TMSetextH1Marker">$0</span>'},TMSetextH2Marker:{regexp:/^ {0,3}-+\s*$/,replacement:'<span class="TMMark TMMark_TMSetextH1Marker">$0</span>'},TMHR:{regexp:/^( {0,3}(\*[ \t]*\*[ \t]*\*[ \t*]*)|(-[ \t]*-[ \t]*-[ \t-]*)|(_[ \t]*_[ \t]*_[ \t_]*))$/,replacement:'<span class="TMMark TMMark_TMHR">$0</span>'},TMUL:{regexp:/^( {0,3}[+*-] {1,4})(.*)$/,replacement:'<span class="TMMark TMMark_TMUL">$1</span>$$2'},TMOL:{regexp:/^( {0,3}\d{1,9}[.)] {1,4})(.*)$/,replacement:'<span class="TMMark TMMark_TMOL">$1</span>$$2'},TMIndentedCode:{regexp:/^( {4}|\t)(.*)$/,replacement:'<span class="TMMark TMMark_TMIndentedCode">$1</span>$2'},TMLinkReferenceDefinition:{regexp:/^( {0,3}\[\s*)([^\s\]](?:[^\]]|\\\])*?)(\s*\]:\s*)((?:[^\s<>]+)|(?:<(?:[^<>\\]|\\.)*>))?(\s*)((?:\((?:[^()\\]|\\.)*\))|(?:"(?:[^"\\]|\\.)*")|(?:'(?:[^'\\]|\\.)*'))?(\s*)$/,replacement:'<span class="TMMark TMMark_TMLinkReferenceDefinition">$1</span><span class="TMLinkLabel TMLinkLabel_Definition">$2</span><span class="TMMark TMMark_TMLinkReferenceDefinition">$3</span><span class="TMLinkDestination">$4</span>$5<span class="TMLinkTitle">$6</span>$7',labelPlaceholder:2}},It=[{start:/^ {0,3}<(?:script|pre|style)(?:\s|>|$)/i,end:/(?:<\/script>|<\/pre>|<\/style>)/i,paraInterrupt:!0},{start:/^ {0,3}<!--/,end:/-->/,paraInterrupt:!0},{start:/^ {0,3}<\?/,end:/\?>/,paraInterrupt:!0},{start:/^ {0,3}<![A-Z]/,end:/>/,paraInterrupt:!0},{start:/^ {0,3}<!\[CDATA\[/,end:/\]\]>/,paraInterrupt:!0},{start:/^ {0,3}(?:<|<\/)(?:KnownTag)(?:\s|>|\/>|$)/i,end:!1,paraInterrupt:!0},{start:/^ {0,3}(?:HTMLOpenTag|HTMLCloseTag)\s*$/,end:!1,paraInterrupt:!1}],Ot={escape:{regexp:/^\\(ASCIIPunctuation)/,replacement:'<span class="TMMark TMMark_TMEscape">\\</span>$1'},code:{regexp:/^(`+)((?:[^`])|(?:[^`].*?[^`]))(\1)/,replacement:'<span class="TMMark TMMark_TMCode">$1</span><code class="TMCode">$2</code><span class="TMMark TMMark_TMCode">$3</span>'},autolink:{regexp:/^<((?:Scheme:[^\s<>]*)|(?:Email))>/,replacement:'<span class="TMMark TMMark_TMAutolink"><</span><span class="TMAutolink">$1</span><span class="TMMark TMMark_TMAutolink">></span>'},html:{regexp:/^((?:HTMLOpenTag)|(?:HTMLCloseTag)|(?:HTMLComment)|(?:HTMLPI)|(?:HTMLDeclaration)|(?:HTMLCDATA))/,replacement:'<span class="TMHTML">$1</span>'},linkOpen:{regexp:/^\[/,replacement:""},imageOpen:{regexp:/^!\[/,replacement:""},linkLabel:{regexp:/^(\[\s*)([^\]]*?)(\s*\])/,replacement:"",labelPlaceholder:2},default:{regexp:/^(.|(?:NotTriggerChar+))/,replacement:"$1"}},_t=new RegExp(Object.keys(Lt).join("|")),Pt=[...Object.keys(Ot)];for(let e of Pt){let t=Ot[e].regexp.source;for(;t.match(_t);)t=t.replace(_t,(e=>Lt[e].source));Ot[e].regexp=new RegExp(t,Ot[e].regexp.flags)}for(let e of It){let t=e.start.source;for(;t.match(_t);)t=t.replace(_t,(e=>Lt[e].source));e.start=new RegExp(t,e.start.flags)}function Rt(e){return(e||"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}const jt={bold:{type:"inline",className:"TMStrong",set:{pre:"**",post:"**"},unset:{prePattern:/(?:\*\*|__)$/,postPattern:/^(?:\*\*|__)/}},italic:{type:"inline",className:"TMEm",set:{pre:"*",post:"*"},unset:{prePattern:/(?:\*|_)$/,postPattern:/^(?:\*|_)/}},code:{type:"inline",className:"TMCode",set:{pre:"`",post:"`"},unset:{prePattern:/`+$/,postPattern:/^`+/}},strikethrough:{type:"inline",className:"TMStrikethrough",set:{pre:"~~",post:"~~"},unset:{prePattern:/~~$/,postPattern:/^~~/}},h1:{type:"line",className:"TMH1",set:{pattern:/^( {0,3}(?:(?:#+|[0-9]{1,9}[).]|[>\-*+])\s+)?)(.*)$/,replacement:"# $2"},unset:{pattern:/^( {0,3}#\s+)(.*?)((?:\s+#+\s*)?)$/,replacement:"$2"}},h2:{type:"line",className:"TMH2",set:{pattern:/^( {0,3}(?:(?:#+|[0-9]{1,9}[).]|[>\-*+])\s+)?)(.*)$/,replacement:"## $2"},unset:{pattern:/^( {0,3}##\s+)(.*?)((?:\s+#+\s*)?)$/,replacement:"$2"}},h3:{type:"line",className:"TMH3",set:{pattern:/^( {0,3}(?:(?:#+|[0-9]{1,9}[).]|[>\-*+])\s+)?)(.*)$/,replacement:"### $2"},unset:{pattern:/^( {0,3}###\s+)(.*?)((?:\s+#+\s*)?)$/,replacement:"$2"}},h4:{type:"line",className:"TMH4",set:{pattern:/^( {0,3}(?:(?:#+|[0-9]{1,9}[).]|[>\-*+])\s+)?)(.*)$/,replacement:"#### $2"},unset:{pattern:/^( {0,3}####\s+)(.*?)((?:\s+#+\s*)?)$/,replacement:"$2"}},h5:{type:"line",className:"TMH5",set:{pattern:/^( {0,3}(?:(?:#+|[0-9]{1,9}[).]|[>\-*+])\s+)?)(.*)$/,replacement:"##### $2"},unset:{pattern:/^( {0,3}#####\s+)(.*?)((?:\s+#+\s*)?)$/,replacement:"$2"}},h6:{type:"line",className:"TMH6",set:{pattern:/^( {0,3}(?:(?:#+|[0-9]{1,9}[).]|[>\-*+])\s+)?)(.*)$/,replacement:"###### $2"},unset:{pattern:/^( {0,3}######\s+)(.*?)((?:\s+#+\s*)?)$/,replacement:"$2"}},ul:{type:"line",className:"TMUL",set:{pattern:/^( {0,3}(?:(?:#+|[0-9]{1,9}[).]|[>\-*+])\s+)?)(.*)$/,replacement:"- $2"},unset:{pattern:/^( {0,3}[+*-] {1,4})(.*)$/,replacement:"$2"}},ol:{type:"line",className:"TMOL",set:{pattern:/^( {0,3}(?:(?:#+|[0-9]{1,9}[).]|[>\-*+])\s+)?)(.*)$/,replacement:"$#. $2"},unset:{pattern:/^( {0,3}\d{1,9}[.)] {1,4})(.*)$/,replacement:"$2"}},blockquote:{type:"line",className:"TMBlockquote",set:{pattern:/^( {0,3}(?:(?:#+|[0-9]{1,9}[).]|[>\-*+])\s+)?)(.*)$/,replacement:"> $2"},unset:{pattern:/^( {0,3}>[ ]?)(.*)$/,replacement:"$2"}}};e.CommandBar=class{constructor(e){this.e=null,this.editor=null,this.commands={},this.buttons={},this.state={},this.hotkeys=[],this.e=null,this.editor=null,this.commands={},this.buttons={},this.state={},this.hotkeys=[];let t=null;"string"==typeof e.element?t=document.getElementById(e.element):e.element&&(t=e.element),t||(t=document.body),this.createCommandBarElement(t,e.commands||["bold","italic","strikethrough","|","code","|","h1","h2","|","ul","ol","|","blockquote","hr","|","undo","redo","|","insertLink","insertImage"]),document.addEventListener("keydown",(e=>this.handleKeydown(e))),e.editor&&this.setEditor(e.editor)}createCommandBarElement(e,t){this.e=document.createElement("div"),this.e.className="TMCommandBar";for(let e of t)if("|"===e){let e=document.createElement("div");e.className="TMCommandDivider",this.e.appendChild(e)}else{let t;if("string"==typeof e){if(!s[e])continue;t=e,this.commands[t]=s[t]}else{if("object"!=typeof e||!e.name)continue;t=e.name,this.commands[t]={},s[t]&&Object.assign(this.commands[t],s[t]),Object.assign(this.commands[t],e)}let i=this.commands[t].title||t;if(this.commands[t].hotkey){const e=this.commands[t].hotkey.split("-");let s=[],r=[];for(let t=0;t<e.length-1;t++)switch(e[t]){case"Ctrl":s.push("ctrlKey"),r.push("Ctrl");break;case"Cmd":s.push("metaKey"),r.push("⌘");break;case"Alt":s.push("altKey"),r.push("Alt");break;case"Option":s.push("altKey"),r.push("⌥");break;case"Win":s.push("metaKey"),r.push("⊞ Win");break;case"Shift":s.push("shiftKey"),r.push("⇧");break;case"Mod":n?(s.push("metaKey"),r.push("⌘")):(s.push("ctrlKey"),r.push("Ctrl"));break;case"Mod2":s.push("altKey"),n?r.push("⌥"):r.push("Alt")}r.push(e[e.length-1]);let a={modifiers:s,command:t};e[e.length-1].match(/^[0-9]$/)?a.code=`Digit${e[e.length-1]}`:a.key=e[e.length-1].toLowerCase(),this.hotkeys.push(a),i=i.concat(` (${r.join("+")})`)}this.buttons[t]=document.createElement("div"),this.buttons[t].className="TMCommandButton TMCommandButton_Disabled",this.buttons[t].title=i,this.buttons[t].innerHTML=this.commands[t].innerHTML,this.buttons[t].addEventListener("mousedown",(e=>this.handleClick(t,e))),this.e.appendChild(this.buttons[t])}e.appendChild(this.e)}handleClick(e,t){this.editor&&(t.preventDefault(),"string"==typeof this.commands[e].action?!1===this.state[e]?this.editor.setCommandState(e,!0):this.editor.setCommandState(e,!1):"function"==typeof this.commands[e].action&&this.commands[e].action(this.editor))}setEditor(e){this.editor=e,e.addEventListener("selection",(e=>this.handleSelection(e)))}handleSelection(e){if(e.commandState)for(let t in this.commands)void 0===e.commandState[t]?this.commands[t].enabled?this.state[t]=this.commands[t].enabled(this.editor,e.focus,e.anchor):this.state[t]=!e.focus&&null:this.state[t]=e.commandState[t],!0===this.state[t]?this.buttons[t].className="TMCommandButton TMCommandButton_Active":!1===this.state[t]?this.buttons[t].className="TMCommandButton TMCommandButton_Inactive":this.buttons[t].className="TMCommandButton TMCommandButton_Disabled"}handleKeydown(e){e:for(let t of this.hotkeys)if(t.key&&e.key.toLowerCase()===t.key||t.code&&e.code===t.code){for(let n of t.modifiers)if(!e[n])continue e;return void this.handleClick(t.command,e)}}},e.Editor=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.e=null,this.textarea=null,this.lines=[],this.lineElements=[],this.lineTypes=[],this.lineCaptures=[],this.lineReplacements=[],this.linkLabels=[],this.lineDirty=[],this.lastCommandState=null,this.customInlineGrammar={},this.mergedInlineGrammar=Ot,this.hasFocus=!0,this.listeners={change:[],selection:[],drop:[]},this.undoStack=[],this.redoStack=[],this.isRestoringHistory=!1,this.maxHistory=100,this.e=null,this.textarea=null,this.lines=[],this.lineElements=[],this.lineTypes=[],this.lineCaptures=[],this.lineReplacements=[],this.linkLabels=[],this.lineDirty=[],this.lastCommandState=null,this.hasFocus=!0,this.customInlineGrammar=e.customInlineGrammar||{},this.mergedInlineGrammar=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t={...Ot};for(const[n,s]of Object.entries(e)){const e={...s};let i=s.regexp.source;const r=new RegExp(Object.keys(Lt).join("|"));for(;i.match(r);)i=i.replace(r,(e=>Lt[e].source));e.regexp=new RegExp(i,s.regexp.flags),t[n]=e}return t}(this.customInlineGrammar),this.listeners={change:[],selection:[],drop:[]};let t=null;"string"==typeof e.element?t=document.getElementById(e.element):e.element&&(t=e.element),"string"==typeof e.textarea?this.textarea=document.getElementById(e.textarea):e.textarea&&(this.textarea=e.textarea),this.textarea&&(t||(t=this.textarea)),t||(t=document.getElementsByTagName("body")[0]),t&&"TEXTAREA"===t.tagName&&(this.textarea=t,t=this.textarea.parentNode),this.textarea&&(this.textarea.style.display="none"),this.undoStack=[],this.redoStack=[],this.isRestoringHistory=!1,this.maxHistory=100,this.createEditorElement(t,e),this.setContent("string"==typeof e.content?e.content:this.textarea?this.textarea.value:"# Hello TinyMDE!\nEdit **here**"),this.e.addEventListener("keydown",(e=>this.handleUndoRedoKey(e)))}get canUndo(){return this.undoStack.length>=2}get canRedo(){return this.redoStack.length>0}pushHistory(){this.isRestoringHistory||(this.pushCurrentState(),this.redoStack=[])}pushCurrentState(){this.undoStack.push({content:this.getContent(),selection:this.getSelection(),anchor:this.getSelection(!0)}),this.undoStack.length>this.maxHistory&&this.undoStack.shift()}undo(){if(this.undoStack.length<2)return;this.isRestoringHistory=!0,this.pushCurrentState();const e=this.undoStack.pop();this.redoStack.push(e);const t=this.undoStack[this.undoStack.length-1];this.setContent(t.content),t.selection&&this.setSelection(t.selection,t.anchor),this.undoStack.pop(),this.isRestoringHistory=!1}redo(){if(!this.redoStack.length)return;this.isRestoringHistory=!0,this.pushCurrentState();const e=this.redoStack.pop();this.setContent(e.content),e.selection&&this.setSelection(e.selection,e.anchor),this.isRestoringHistory=!1}handleUndoRedoKey(e){(/Mac|iPod|iPhone|iPad/.test(navigator.platform)?e.metaKey:e.ctrlKey)&&!e.altKey&&("z"===e.key||"Z"===e.key?(e.shiftKey?this.redo():this.undo(),e.preventDefault()):"y"!==e.key&&"Y"!==e.key||(this.redo(),e.preventDefault()))}createEditorElement(e,t){t&&void 0!==t.editor?"string"==typeof t.editor?this.e=document.getElementById(t.editor):this.e=t.editor:this.e=document.createElement("div"),this.e.classList.add("TinyMDE"),this.e.contentEditable="true",this.e.style.whiteSpace="pre-wrap",this.e.style.webkitUserModify="read-write-plaintext-only",void 0===t.editor&&(this.textarea&&this.textarea.parentNode===e&&this.textarea.nextSibling?e.insertBefore(this.e,this.textarea.nextSibling):e.appendChild(this.e)),this.e.addEventListener("input",(e=>this.handleInputEvent(e))),this.e.addEventListener("beforeinput",(e=>this.handleBeforeInputEvent(e))),this.e.addEventListener("compositionend",(e=>this.handleInputEvent(e))),document.addEventListener("selectionchange",(e=>{this.hasFocus&&this.handleSelectionChangeEvent(e)})),this.e.addEventListener("blur",(()=>this.hasFocus=!1)),this.e.addEventListener("focus",(()=>this.hasFocus=!0)),this.e.addEventListener("paste",(e=>this.handlePaste(e))),this.e.addEventListener("drop",(e=>this.handleDrop(e))),this.lineElements=this.e.childNodes}setContent(e){for(;this.e.firstChild;)this.e.removeChild(this.e.firstChild);this.lines=e.split(/(?:\r\n|\r|\n)/),this.lineDirty=[];for(let e=0;e<this.lines.length;e++){let e=document.createElement("div");this.e.appendChild(e),this.lineDirty.push(!0)}this.lineTypes=new Array(this.lines.length),this.updateFormatting(),this.fireChange(),this.isRestoringHistory||this.pushHistory()}getContent(){return this.lines.join("\n")}updateFormatting(){this.updateLineTypes(),this.updateLinkLabels(),this.applyLineTypes()}updateLinkLabels(){this.linkLabels=[];for(let e=0;e<this.lines.length;e++)"TMLinkReferenceDefinition"===this.lineTypes[e]&&this.linkLabels.push(this.lineCaptures[e][Nt.TMLinkReferenceDefinition.labelPlaceholder])}replace(e,t){return e.replace(/(\${1,2})([0-9])/g,((e,n,s)=>"$"===n?Rt(t[parseInt(s)]):`<span class="TMInlineFormatted">${this.processInlineStyles(t[parseInt(s)])}</span>`))}applyLineTypes(){for(let e=0;e<this.lines.length;e++){if(this.lineDirty[e]){let t=this.replace(this.lineReplacements[e],this.lineCaptures[e]);this.lineElements[e].className=this.lineTypes[e],this.lineElements[e].removeAttribute("style"),this.lineElements[e].innerHTML=""===t?"<br />":t}this.lineElements[e].dataset.lineNum=e.toString()}}updateLineTypes(){let e=!1,t=0,n=!1;for(let s=0;s<this.lines.length;s++){let i="TMPara",r=[this.lines[s]],a="$$0";if("TMCodeFenceBacktickOpen"===e){let n=Nt.TMCodeFenceBacktickClose.regexp.exec(this.lines[s]);n&&n.groups.seq.length>=t?(i="TMCodeFenceBacktickClose",a=Nt.TMCodeFenceBacktickClose.replacement,r=n,e=!1):(i="TMFencedCodeBacktick",a='<span class="TMFencedCode">$0<br /></span>',r=[this.lines[s]])}else if("TMCodeFenceTildeOpen"===e){let n=Nt.TMCodeFenceTildeClose.regexp.exec(this.lines[s]);n&&n.groups.seq.length>=t?(i="TMCodeFenceTildeClose",a=Nt.TMCodeFenceTildeClose.replacement,r=n,e=!1):(i="TMFencedCodeTilde",a='<span class="TMFencedCode">$0<br /></span>',r=[this.lines[s]])}if("TMPara"===i&&!1===n)for(let e of It)if(this.lines[s].match(e.start)&&(e.paraInterrupt||0===s||"TMPara"!==this.lineTypes[s-1]&&"TMUL"!==this.lineTypes[s-1]&&"TMOL"!==this.lineTypes[s-1]&&"TMBlockquote"!==this.lineTypes[s-1])){n=e;break}if(!1!==n&&(i="TMHTMLBlock",a='<span class="TMHTMLContent">$0<br /></span>',r=[this.lines[s]],n.end?this.lines[s].match(n.end)&&(n=!1):(s===this.lines.length-1||this.lines[s+1].match(Nt.TMBlankLine.regexp))&&(n=!1)),"TMPara"===i)for(let e in Nt)if(Nt[e].regexp){let t=Nt[e].regexp.exec(this.lines[s]);if(t){i=e,a=Nt[e].replacement,r=t;break}}if("TMCodeFenceBacktickOpen"!==i&&"TMCodeFenceTildeOpen"!==i||(e=i,t=r.groups.seq.length),"TMIndentedCode"!==i&&"TMLinkReferenceDefinition"!==i||!(s>0)||"TMPara"!==this.lineTypes[s-1]&&"TMUL"!==this.lineTypes[s-1]&&"TMOL"!==this.lineTypes[s-1]&&"TMBlockquote"!==this.lineTypes[s-1]||(i="TMPara",r=[this.lines[s]],a="$$0"),"TMSetextH2Marker"===i){let e=Nt.TMUL.regexp.exec(this.lines[s]);e&&(i="TMUL",a=Nt.TMUL.replacement,r=e)}if("TMSetextH1Marker"===i||"TMSetextH2Marker"===i)if(0===s||"TMPara"!==this.lineTypes[s-1]){let e=Nt.TMHR.regexp.exec(this.lines[s]);e?(i="TMHR",r=e,a=Nt.TMHR.replacement):(i="TMPara",r=[this.lines[s]],a="$$0")}else{let e=s-1;const t="TMSetextH1Marker"===i?"TMSetextH1":"TMSetextH2";do{this.lineTypes[e]!==t&&(this.lineTypes[e]=t,this.lineDirty[e]=!0),this.lineReplacements[e]="$$0",this.lineCaptures[e]=[this.lines[e]],e--}while(e>=0&&"TMPara"===this.lineTypes[e])}this.lineTypes[s]!==i&&(this.lineTypes[s]=i,this.lineDirty[s]=!0),this.lineReplacements[s]=a,this.lineCaptures[s]=r}}getSelection(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];var t,n;const s=window.getSelection();let i=e?s.anchorNode:s.focusNode;if(!i)return null;let r=e?s.anchorOffset:s.focusOffset;if(i===this.e)return r<this.lines.length?{row:r,col:0}:{row:r-1,col:this.lines[r-1].length};let a=this.computeColumn(i,r);if(null===a)return null;let l=i;for(;l.parentElement!==this.e;)l=l.parentElement;let o=0;if(l.previousSibling){const e=null===(t=l.dataset)||void 0===t?void 0:t.lineNum,s=null===(n=l.previousSibling.dataset)||void 0===n?void 0:n.lineNum;if(e&&s){const t=parseInt(e);if(t===parseInt(s)+1)o=t;else for(;l.previousSibling;)o++,l=l.previousSibling}}return{row:o,col:a}}setSelection(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!e)return;let{node:n,offset:s}=this.computeNodeAndOffset(e.row,e.col,!!t&&(t.row===e.row&&t.col>e.col)),i=null,r=null;if(t&&(t.row!==e.row||t.col!==e.col)){let{node:n,offset:s}=this.computeNodeAndOffset(t.row,t.col,e.row===t.row&&e.col>t.col);i=n,r=s}window.getSelection().setBaseAndExtent(n,s,i||n,i?r:s)}paste(e){let t,n,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;s||(s=this.getSelection(!0)),i||(i=this.getSelection(!1)),i||(i={row:this.lines.length-1,col:this.lines[this.lines.length-1].length}),s||(s=i),s.row<i.row||s.row===i.row&&s.col<=i.col?(t=s,n=i):(t=i,n=s);let r=e.split(/(?:\r\n|\r|\n)/),a=this.lines[t.row].substr(0,t.col),l=this.lines[n.row].substr(n.col);r[0]=a.concat(r[0]);let o=r[r.length-1].length;r[r.length-1]=r[r.length-1].concat(l),this.spliceLines(t.row,1+n.row-t.row,r),i.row=t.row+r.length-1,i.col=o,this.updateFormatting(),this.setSelection(i),this.fireChange()}wrapSelection(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;if(this.isRestoringHistory||this.pushHistory(),n||(n=this.getSelection(!1)),s||(s=this.getSelection(!0)),!n||!s||n.row!==s.row)return;this.lineDirty[n.row]=!0;const i=n.col<s.col?n.col:s.col,r=n.col<s.col?s.col:n.col,a=this.lines[n.row].substr(0,i).concat(e),l=r===i?"":this.lines[n.row].substr(i,r-i),o=t.concat(this.lines[n.row].substr(r));this.lines[n.row]=a.concat(l,o),s.col=a.length,n.col=s.col+l.length,this.updateFormatting(),this.setSelection(n,s)}addEventListener(e,t){e.match(/^(?:change|input)$/i)&&this.listeners.change.push(t),e.match(/^(?:selection|selectionchange)$/i)&&this.listeners.selection.push(t),e.match(/^(?:drop)$/i)&&this.listeners.drop.push(t)}fireChange(){if(!this.textarea&&!this.listeners.change.length)return;const e=this.getContent();this.textarea&&(this.textarea.value=e);for(let t of this.listeners.change)t({content:e,linesDirty:[...this.lineDirty]})}handleBeforeInputEvent(e){const t=e;if("insertParagraph"!==t.inputType&&"insertLineBreak"!==t.inputType)return;this.isRestoringHistory||this.pushHistory(),e.preventDefault(),this.clearDirtyFlag();const n=this.getSelection(),s=this.getSelection(!0);if(n&&s){if(n.row!==s.row){const e=n.row<s.row?n:s,t=n.row<s.row?s:n;this.lines[e.row]=this.lines[e.row].substring(0,e.col),this.lines[t.row]=this.lines[t.row].substring(t.col),this.spliceLines(e.row+1,t.row-e.row-1),n.row=e.row+1,n.col=0}else{let e=!1;switch(this.lineTypes[n.row]){case"TMUL":e="TMUL";break;case"TMOL":e="TMOL";break;case"TMIndentedCode":e="TMIndentedCode"}const t=this.lines[n.row].substring(0,n.col<=s.col?n.col:s.col),i=this.lines[n.row].substring(n.col<=s.col?s.col:n.col);if(this.spliceLines(n.row,1,[t,i]),n.row+=1,n.col=0,e){let t=Nt[e].regexp.exec(this.lines[n.row-1]);t&&(t[2]?("TMOL"===e&&(t[1]=t[1].replace(/\d{1,9}/,(e=>(parseInt(e)+1).toString()))),this.lines[n.row]=`${t[1]}${this.lines[n.row]}`,this.lineDirty[n.row]=!0,n.col=t[1].length):(this.lines[n.row-1]="",this.lineDirty[n.row-1]=!0))}}this.updateFormatting(),this.setSelection(n),n&&n.row<this.lineElements.length&&this.lineElements[n.row].scrollIntoView({block:"nearest",inline:"nearest"}),this.fireChange()}}handleInputEvent(e){const t=e;if("insertCompositionText"===t.inputType)return;this.isRestoringHistory||this.pushHistory();let n=this.getSelection();("insertParagraph"!==t.inputType&&"insertLineBreak"!==t.inputType||!n)&&(this.e.firstChild?this.fixNodeHierarchy():this.e.innerHTML='<div class="TMBlankLine"><br></div>',this.updateLineContentsAndFormatting(),n&&this.setSelection(n),this.fireChange())}handleSelectionChangeEvent(e){this.fireSelection()}handlePaste(e){this.isRestoringHistory||this.pushHistory(),e.preventDefault();let t=e.clipboardData.getData("text/plain");this.paste(t)}handleDrop(e){e.preventDefault(),this.fireDrop(e.dataTransfer)}processInlineStyles(e){let t="",n=[],s=0,i=e;e:for(;i;){for(let e of["escape","code","autolink","html"])if(this.mergedInlineGrammar[e]){let n=this.mergedInlineGrammar[e].regexp.exec(i);if(n){i=i.substr(n[0].length),s+=n[0].length,t+=this.mergedInlineGrammar[e].replacement.replace(/\$([1-9])/g,((e,t)=>Rt(n[t])));continue e}}for(let e in this.customInlineGrammar)if("escape"!==e&&"code"!==e&&"autolink"!==e&&"html"!==e&&"linkOpen"!==e&&"imageOpen"!==e&&"linkLabel"!==e&&"default"!==e){let n=this.mergedInlineGrammar[e].regexp.exec(i);if(n){i=i.substr(n[0].length),s+=n[0].length,t+=this.mergedInlineGrammar[e].replacement.replace(/\$([1-9])/g,((e,t)=>Rt(n[t])));continue e}}let r=i.match(this.mergedInlineGrammar.linkOpen.regexp),a=i.match(this.mergedInlineGrammar.imageOpen.regexp);if(a||r){let e=this.parseLinkOrImage(i,!!a);if(e){t=`${t}${e.output}`,i=i.substr(e.charCount),s+=e.charCount;continue e}}let l=/(^\*+)|(^_+)/.exec(i);if(l){let r=l[0].length;const a=l[0],o=l[0][0];i=i.substr(l[0].length);const u=s>0?e.substr(0,s):" ",c=s+l[0].length<e.length?i:" ",h=c.match(Ht),p=u.match(Bt),d=c.match(/^\s/),m=u.match(/\s$/);let f=!(d||h&&!m&&!p),g=!(m||p&&!d&&!h);if("_"===o&&f&&g&&(f=!!p,g=!!h),g){let e=n.length-1;for(;r&&e>=0;)if(n[e].delimiter===o){for(;e<n.length-1;){const e=n.pop();t=`${e.output}${e.delimString.substr(0,e.count)}${t}`}if(r>=2&&n[e].count>=2?(t=`<span class="TMMark">${o}${o}</span><strong class="TMStrong">${t}</strong><span class="TMMark">${o}${o}</span>`,r-=2,n[e].count-=2):(t=`<span class="TMMark">${o}</span><em class="TMEm">${t}</em><span class="TMMark">${o}</span>`,r-=1,n[e].count-=1),0===n[e].count){t=`${n.pop().output}${t}`,e--}}else e--}r&&f&&(n.push({delimiter:o,delimString:a,count:r,output:t}),t="",r=0),r&&(t=`${t}${a.substr(0,r)}`),s+=l[0].length}else if(l=/^~~/.exec(i),l){let e=!1,r=n.length-1;for(;!e&&r>=0;)if("~"===n[r].delimiter){for(;r<n.length-1;){const e=n.pop();t=`${e.output}${e.delimString.substr(0,e.count)}${t}`}t=`<span class="TMMark">~~</span><del class="TMStrikethrough">${t}</del><span class="TMMark">~~</span>`,t=`${n.pop().output}${t}`,e=!0}else r--;e||(n.push({delimiter:"~",delimString:"~~",count:2,output:t}),t=""),s+=l[0].length,i=i.substr(l[0].length)}else{if(l=this.mergedInlineGrammar.default.regexp.exec(i),!l)throw"Infinite loop!";i=i.substr(l[0].length),s+=l[0].length,t+=this.mergedInlineGrammar.default.replacement.replace(/\$([1-9])/g,((e,t)=>Rt(l[t])))}}for(;n.length;){const e=n.pop();t=`${e.output}${e.delimString.substr(0,e.count)}${t}`}return t}computeColumn(e,t){let n,s=e;for(;s&&s.parentNode!==this.e;)s=s.parentNode;if(null===s)return null;for(e.nodeType===Node.TEXT_NODE||0===t?(n=t,s=e):t>0?(s=e.childNodes[t-1],n=s.textContent.length):(n=0,s=e);s.parentNode!==this.e;)s.previousSibling?(s=s.previousSibling,n+=s.textContent.length):s=s.parentNode;return n}computeNodeAndOffset(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];e>=this.lineElements.length&&(e=this.lineElements.length-1,t=this.lines[e].length),t>this.lines[e].length&&(t=this.lines[e].length);const s=this.lineElements[e];let i=s.firstChild,r=!1,a={node:s.firstChild?s.firstChild:s,offset:0};for(;i!==s;){if(!r&&i.nodeType===Node.TEXT_NODE)if(i.nodeValue.length>=t){if(!n||i.nodeValue.length!==t)return{node:i,offset:t};a={node:i,offset:t},t=0}else t-=i.nodeValue.length;!r&&i.firstChild?i=i.firstChild:i.nextSibling?(r=!1,i=i.nextSibling):(r=!0,i=i.parentNode)}return a}updateLineContentsAndFormatting(){this.clearDirtyFlag(),this.updateLineContents(),this.updateFormatting()}clearDirtyFlag(){this.lineDirty=new Array(this.lines.length);for(let e=0;e<this.lineDirty.length;e++)this.lineDirty[e]=!1}updateLineContents(){let e=this.e.childElementCount-this.lines.length;if(e){let t=0;for(;t<=this.lines.length&&t<=this.lineElements.length&&this.lineElements[t]&&this.lines[t]===this.lineElements[t].textContent&&this.lineTypes[t]===this.lineElements[t].className;)t++;let n=-1;for(;-n<this.lines.length&&-n<this.lineElements.length&&this.lines[this.lines.length+n]===this.lineElements[this.lineElements.length+n].textContent&&this.lineTypes[this.lines.length+n]===this.lineElements[this.lineElements.length+n].className;)n--;let s=this.lines.length+n+1-t;s<-e&&(s=-e),s<0&&(s=0);let i=[];for(let n=0;n<s+e;n++)i.push(this.lineElements[t+n].textContent||"");this.spliceLines(t,s,i,!1)}else for(let e=0;e<this.lineElements.length;e++){let t=this.lineElements[e],n=t.textContent||"";this.lines[e]===n&&this.lineTypes[e]===t.className||(this.lines[e]=n,this.lineTypes[e]=t.className,this.lineDirty[e]=!0)}}spliceLines(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(s)for(let n=0;n<t;n++)this.e.removeChild(this.e.childNodes[e]);let i=[],r=[];for(let t=0;t<n.length;t++)i.push(""),r.push(!0),s&&(this.e.childNodes[e]?this.e.insertBefore(document.createElement("div"),this.e.childNodes[e]):this.e.appendChild(document.createElement("div")));this.lines.splice(e,t,...n),this.lineTypes.splice(e,t,...i),this.lineDirty.splice(e,t,...r)}fixNodeHierarchy(){const e=Array.from(this.e.childNodes),t=function(e){const t=e.parentElement,n=e.nextSibling;t.removeChild(e);for(var s=arguments.length,i=new Array(s>1?s-1:0),r=1;r<s;r++)i[r-1]=arguments[r];i.forEach((e=>n?t.insertBefore(e,n):t.appendChild(e)))};e.forEach((e=>{if(e.nodeType!==Node.ELEMENT_NODE||"DIV"!==e.tagName){const n=document.createElement("div");t(e,n),n.appendChild(e)}else if(0===e.childNodes.length)e.appendChild(document.createElement("br"));else{const n=Array.from(e.childNodes);if(n.some((e=>e.nodeType===Node.ELEMENT_NODE&&"DIV"===e.tagName)))return t(e,...n)}}))}parseLinkOrImage(e,t){let n=t?2:1,s=e.substr(0,n),i=t?"TMImage":"TMLink",r=n,a=1,l=!1,o=!1,u=[],c=[];e:for(;r<e.length&&!1===l;){let s=e.substr(r);for(let e of["escape","code","autolink","html"]){let t=this.mergedInlineGrammar[e].regexp.exec(s);if(t){r+=t[0].length;continue e}}if(s.match(this.mergedInlineGrammar.imageOpen.regexp))a++,r+=2;else if(s.match(this.mergedInlineGrammar.linkOpen.regexp)){if(a++,!t&&this.parseLinkOrImage(s,!1))return!1;r+=1}else s.match(/^\]/)&&(a--,0===a)?(l=e.substr(n,r-n),r++):r++}if(!1===l)return!1;let h=r<e.length?e.substr(r,1):"";if("["===h){let t=e.substr(r),n=this.mergedInlineGrammar.linkLabel.regexp.exec(t);if(!n)return!1;r+=n[0].length,u.push(n[1],n[2],n[3]),o=n[this.mergedInlineGrammar.linkLabel.labelPlaceholder]?n[this.mergedInlineGrammar.linkLabel.labelPlaceholder]:l.trim()}else if("("!==h)o=l.trim();else{r++;let t=1;for(;r<e.length&&t>0;){let n=e.substr(r),s=/^\s+/.exec(n);if(s){switch(c.length){case 0:case 1:c.push(s[0]);break;case 2:if(c[0].match(/</))c[1]=c[1].concat(s[0]);else{if(1!==t)return!1;c.push(""),c.push(s[0])}break;case 3:c.push(s[0]);break;case 4:return!1;case 5:c.push("");case 6:c[5]=c[5].concat(s[0]);break;case 7:c[6]=c[6].concat(s[0]);break;default:return!1}r+=s[0].length}else if(s=this.mergedInlineGrammar.escape.regexp.exec(n),s){switch(c.length){case 0:c.push("");case 1:c.push(s[0]);break;case 2:c[1]=c[1].concat(s[0]);break;case 3:case 4:return!1;case 5:c.push("");case 6:c[5]=c[5].concat(s[0]);break;default:return!1}r+=s[0].length}else if(c.length<2&&n.match(/^</))0===c.length&&c.push(""),c[0]=c[0].concat("<"),r++;else if(1!==c.length&&2!==c.length||!n.match(/^>/))if(s=/^["']/.exec(n),!s||0!==c.length&&1!==c.length&&4!==c.length)if(!s||5!==c.length&&6!==c.length||c[4]!==s[0])if(n.match(/^\(/)){switch(c.length){case 0:c.push("");case 1:c.push("");case 2:c[1]=c[1].concat("("),c[0].match(/<$/)||t++;break;case 3:c.push("");case 4:c.push("(");break;case 5:c.push("");case 6:if("("===c[4])return!1;c[5]=c[5].concat("(");break;default:return!1}r++}else if(n.match(/^\)/)){if(c.length<=2){for(;c.length<2;)c.push("");c[0].match(/<$/)||t--,t>0&&(c[1]=c[1].concat(")"))}else 5===c.length||6===c.length?"("===c[4]?(5===c.length&&c.push(""),c.push(")")):5===c.length?c.push(")"):c[5]=c[5].concat(")"):t--;if(0===t)for(;c.length<7;)c.push("");r++}else{if(s=/^./.exec(n),!s)throw"Infinite loop";switch(c.length){case 0:c.push("");case 1:c.push(s[0]);break;case 2:c[1]=c[1].concat(s[0]);break;case 3:case 4:return!1;case 5:c.push("");case 6:c[5]=c[5].concat(s[0]);break;default:return!1}r+=s[0].length}else 5===c.length&&c.push(""),c.push(s[0]),r++;else{for(;c.length<4;)c.push("");c.push(s[0]),r++}else 1===c.length&&c.push(""),c.push(">"),r++}if(t>0)return!1}if(!1!==o){let e=!1;for(let t of this.linkLabels)if(t===o){e=!0;break}let t=e?"TMLinkLabel TMLinkLabel_Valid":"TMLinkLabel TMLinkLabel_Invalid",n=`<span class="TMMark TMMark_${i}">${s}</span><span class="${i} ${u.length<3||!u[1]?t:""}">${this.processInlineStyles(l)}</span><span class="TMMark TMMark_${i}">]</span>`;return u.length>=3&&(n=n.concat(`<span class="TMMark TMMark_${i}">${u[0]}</span>`,`<span class="${t}">${u[1]}</span>`,`<span class="TMMark TMMark_${i}">${u[2]}</span>`)),{output:n,charCount:r}}if(c.length>0){for(;c.length<7;)c.push("");return{output:`<span class="TMMark TMMark_${i}">${s}</span><span class="${i}">${this.processInlineStyles(l)}</span><span class="TMMark TMMark_${i}">](${c[0]}</span><span class="${i}Destination">${c[1]}</span><span class="TMMark TMMark_${i}">${c[2]}${c[3]}${c[4]}</span><span class="${i}Title">${c[5]}</span><span class="TMMark TMMark_${i}">${c[6]})</span>`,charCount:r}}return!1}computeCommonAncestor(e,t){if(!e||!t)return null;if(e===t)return e;const n=e=>{let t=[];for(;e;)t.unshift(e),e=e.parentNode;return t},s=n(e),i=n(t);if(s[0]!==i[0])return null;let r;for(r=0;s[r]===i[r];r++);return s[r-1]}computeEnclosingMarkupNode(e,t,n){let s=null;if(!e)return null;if(t){if(e.row!==t.row)return null;const n=window.getSelection();if(!n)return null;s=this.computeCommonAncestor(n.focusNode,n.anchorNode)}else{const e=window.getSelection();if(!e||!e.focusNode)return null;s=e.focusNode}if(!s)return null;for(;s!==this.e;){if(s.className&&s.className.includes(n))return s;s=s.parentNode}return null}getCommandState(){let e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i={};if(n||(n=this.getSelection(!1)),s||(s=this.getSelection(!0)),!n){for(let e in jt)i[e]=null;return i}s||(s=n),s.row<n.row||s.row===n.row&&s.col<n.col?(e=s,t=n):(e=n,t=s),t.row>e.row&&0===t.col&&(t.row--,t.col=this.lines[t.row].length);for(let r in jt)if("inline"===jt[r].type&&(n&&n.row===s.row&&this.isInlineFormattingAllowed()?i[r]=!!this.computeEnclosingMarkupNode(n,s,jt[r].className)||n.col===s.col&&!!this.lines[n.row].substr(0,n.col).match(jt[r].unset.prePattern)&&!!this.lines[n.row].substr(n.col).match(jt[r].unset.postPattern):i[r]=null),"line"===jt[r].type)if(n){let n=this.lineTypes[e.row]===jt[r].className;for(let s=e.row;s<=t.row;s++)if(this.lineTypes[s]===jt[r].className!==n){n=null;break}i[r]=n}else i[r]=null;return i}setCommandState(e,t){if(this.isRestoringHistory||this.pushHistory(),"inline"===jt[e].type){let t=this.getSelection(!0),n=this.getSelection(!1);if(t||(t=n),!t)return;if(t.row!==n.row)return;if(!this.isInlineFormattingAllowed())return;let s=this.computeEnclosingMarkupNode(n,t,jt[e].className);if(this.clearDirtyFlag(),s){this.lineDirty[n.row]=!0;const i=this.computeColumn(s,0),r=s.textContent.length,a=this.lines[n.row].substr(0,i).replace(jt[e].unset.prePattern,""),l=this.lines[n.row].substr(i,r),o=this.lines[n.row].substr(i+r).replace(jt[e].unset.postPattern,"");this.lines[n.row]=a.concat(l,o),t.col=a.length,n.col=t.col+r,this.updateFormatting(),this.setSelection(n,t),this.fireChange()}else if(n.col===t.col&&this.lines[n.row].substr(0,n.col).match(jt[e].unset.prePattern)&&this.lines[n.row].substr(n.col).match(jt[e].unset.postPattern)){this.lineDirty[n.row]=!0;const s=this.lines[n.row].substr(0,n.col).replace(jt[e].unset.prePattern,""),i=this.lines[n.row].substr(n.col).replace(jt[e].unset.postPattern,"");this.lines[n.row]=s.concat(i),n.col=t.col=s.length,this.updateFormatting(),this.setSelection(n,t),this.fireChange()}else{let{startCol:s,endCol:i}=n.col<t.col?{startCol:n.col,endCol:t.col}:{startCol:t.col,endCol:n.col},r=this.lines[n.row].substr(s,i-s).match(/^(?<leading>\s*).*\S(?<trailing>\s*)$/);r&&(s+=r.groups.leading.length,i-=r.groups.trailing.length),n.col=s,t.col=i,this.wrapSelection(jt[e].set.pre,jt[e].set.post,n,t),this.fireChange()}}else if("line"===jt[e].type){let n=this.getSelection(!0),s=this.getSelection(!1);if(n||(n=s),!s)return;this.clearDirtyFlag();let i=n.row>s.row?s:n,r=n.row>s.row?n:s;r.row>i.row&&0===r.col&&r.row--;for(let n=i.row;n<=r.row;n++)t&&this.lineTypes[n]!==jt[e].className&&(this.lines[n]=this.lines[n].replace(jt[e].set.pattern,jt[e].set.replacement.replace("$#",(n-i.row+1).toString())),this.lineDirty[n]=!0),t||this.lineTypes[n]!==jt[e].className||(this.lines[n]=this.lines[n].replace(jt[e].unset.pattern,jt[e].unset.replacement),this.lineDirty[n]=!0);this.updateFormatting(),this.setSelection({row:r.row,col:this.lines[r.row].length},{row:i.row,col:0}),this.fireChange()}}isInlineFormattingAllowed(){const e=window.getSelection();if(!e||!e.focusNode||!e.anchorNode)return!1;if(e.isCollapsed&&3===e.focusNode.nodeType&&e.focusOffset===e.focusNode.nodeValue.length){let t;for(t=e.focusNode;t&&null===t.nextSibling;t=t.parentNode);if(t&&t.nextSibling&&t.nextSibling.className&&t.nextSibling.className.includes("TMInlineFormatted"))return!0}let t=this.computeCommonAncestor(e.focusNode,e.anchorNode);if(!t)return!1;for(;t&&t!==this.e;){if(t.className&&"function"==typeof t.className.includes&&(t.className.includes("TMInlineFormatted")||t.className.includes("TMBlankLine")))return!0;t=t.parentNode}return!1}toggleCommandState(e){this.lastCommandState||(this.lastCommandState=this.getCommandState()),this.setCommandState(e,!this.lastCommandState[e])}fireDrop(e){for(let t of this.listeners.drop)t({dataTransfer:e})}fireSelection(){if(this.listeners.selection&&this.listeners.selection.length){let e=this.getSelection(!1),t=this.getSelection(!0),n=this.getCommandState(e,t);this.lastCommandState?Object.assign(this.lastCommandState,n):this.lastCommandState=Object.assign({},n);for(let n of this.listeners.selection)n({focus:e,anchor:t,commandState:this.lastCommandState})}}}}));
|