katex4arabic 1.1.1 → 1.1.2

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 CHANGED
@@ -51,7 +51,7 @@ npm run check # فحص شامل: typecheck + tests + build
51
51
  > 📖 **دليل التنصيب والاستخدام الكامل**: [docs/INSTALL.md](docs/INSTALL.md)
52
52
 
53
53
  ```bash
54
- npm install katex-arabic
54
+ npm install katex4arabic
55
55
  ```
56
56
 
57
57
  الحزمة تتطلب `katex` كاعتماد نظير (peer dependency)، و`react` اختيارياً
@@ -65,13 +65,32 @@ npm install katex
65
65
 
66
66
  ```ts
67
67
  // الدوال الأساسية
68
- import { renderArabicToString, renderArabic, processLatex } from 'katex-arabic';
68
+ import { renderArabicToString, renderArabic, processLatex } from 'katex4arabic';
69
69
 
70
70
  // خطاطيف React (اختياري)
71
- import { useArabicKatex, useArabicKatexResult } from 'katex-arabic/hooks';
71
+ import { useArabicKatex, useArabicKatexResult } from 'katex4arabic/hooks';
72
72
 
73
73
  // ملف الأنماط — يجب استيراده مرة واحدة في تطبيقك
74
- import 'katex-arabic/katex-arabic.css';
74
+ import 'katex4arabic/katex-arabic.css';
75
+ ```
76
+
77
+ ---
78
+
79
+ ## 📦 كحزمة npm — استيراد وتحميل بملف واحد فقط
80
+
81
+ بعد `npm install katex4arabic katex`، يمكن استيراد **كامل المكتبة من ملف​​ JS واحد** (KaTeX مدمج داخله — صفر إعداد):
82
+
83
+ ```ts
84
+ import KaTeXArabic from 'katex4arabic/bundle'; // ملف واحد (يشمل KaTeX)
85
+ import 'katex4arabic/bundle.css'; // ملف CSS واحد
86
+
87
+ const html = KaTeXArabic.renderToString('x^2 + y^2 = z^2');
88
+ ```
89
+
90
+ أو في بيئة CommonJS:
91
+
92
+ ```ts
93
+ const KaTeXArabic = require('katex4arabic/bundle');
75
94
  ```
76
95
 
77
96
  ---
@@ -103,8 +122,8 @@ import 'katex-arabic/katex-arabic.css';
103
122
  ```
104
123
 
105
124
  > بعد النشر على npm يعمل الرابط الأقصر أيضاً:
106
- > `https://cdn.jsdelivr.net/npm/katex-arabic/dist/cdn/katex-arabic.min.js` —
107
- > مع ملف CSS بنفس المسار، ويعمل `https://cdn.jsdelivr.net/npm/katex-arabic` على نقطة دخول jsDelivr مباشرة.
125
+ > `https://cdn.jsdelivr.net/npm/katex4arabic/dist/cdn/katex-arabic.min.js` —
126
+ > مع ملف CSS بنفس المسار، ويعمل `https://cdn.jsdelivr.net/npm/katex4arabic` على نقطة دخول jsDelivr مباشرة.
108
127
 
109
128
  المتغير العمومي `window.KaTeXArabic` بنفس واجهة `katex`:
110
129
 
@@ -112,7 +131,7 @@ import 'katex-arabic/katex-arabic.css';
112
131
  const html = KaTeXArabic.renderToString('\\sin^2 x + \\cos^2 x = 1'); // ← افتراضياً: أرقام عربية + جا/جتا + RTL
113
132
  KaTeXArabic.render('\\int_0^1 x^2 dx', element); // (latex, element, options?)
114
133
  KaTeXArabic.toArabicNumerals('123'); // '١٢٣'
115
- KaTeXArabic.VERSION; // '1.1.1'
134
+ KaTeXArabic.VERSION; // '1.1.2'
116
135
  ```
117
136
 
118
137
  > الدليل التفصيلي: [docs/INSTALL.md](docs/INSTALL.md)
@@ -158,8 +177,8 @@ KaTeXArabic.VERSION; // '1.1.1'
158
177
  ### Vanilla JS
159
178
 
160
179
  ```ts
161
- import { renderArabicToString } from 'katex-arabic';
162
- import 'katex-arabic/katex-arabic.css';
180
+ import { renderArabicToString } from 'katex4arabic';
181
+ import 'katex4arabic/katex-arabic.css';
163
182
 
164
183
  const html = renderArabicToString('\\sin^2(x) + \\cos^2(x) = 1', {
165
184
  numerals: 'arabic',
@@ -172,7 +191,7 @@ document.getElementById('eq')!.innerHTML = html;
172
191
  ### معالجة LaTeX فقط (بدون عرض)
173
192
 
174
193
  ```ts
175
- import { processLatex, validateLatex } from 'katex-arabic';
194
+ import { processLatex, validateLatex } from 'katex4arabic';
176
195
 
177
196
  const processed = processLatex('\\sin(x) + dx');
178
197
  // → "\\operatorname{جا}(\\text{س}) + \\text{د}\\text{س}"
@@ -188,7 +207,7 @@ if (validateLatex('\\frac{1}{2} + x') === null) {
188
207
  وذاكرة التخزين المؤقت مشتركة):
189
208
 
190
209
  ```ts
191
- import { renderArabicBatch } from 'katex-arabic';
210
+ import { renderArabicBatch } from 'katex4arabic';
192
211
 
193
212
  const results = renderArabicBatch(
194
213
  ['x = 1', { latex: 'y = 2', options: { numerals: 'latin' } }],
@@ -204,7 +223,7 @@ const results = renderArabicBatch(
204
223
  (مثلاً عند تغيّر الخيارات جذرياً أو في الاختبارات):
205
224
 
206
225
  ```ts
207
- import { clearRenderCache } from 'katex-arabic';
226
+ import { clearRenderCache } from 'katex4arabic';
208
227
  clearRenderCache();
209
228
  ```
210
229
 
@@ -228,7 +247,7 @@ import { MathBlock, MathInline } from './components/MathEquation';
228
247
  ### خطاطيف React
229
248
 
230
249
  ```tsx
231
- import { useArabicKatex, useArabicKatexResult } from 'katex-arabic/hooks';
250
+ import { useArabicKatex, useArabicKatexResult } from 'katex4arabic/hooks';
232
251
 
233
252
  const html = useArabicKatex('x^2 + y^2', { numerals: 'arabic' });
234
253
  const { ok, error } = useArabicKatexResult(latex, options);
@@ -255,4 +255,4 @@ l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
255
255
  ?)[ \r ]*`,Lt="[̀-ͯ]",Kn=new RegExp(Lt+"+$"),Jn="("+Aa+"+)|"+(Zn+"|")+"([!-\\[\\]-‧‪-퟿豈-￿]"+(Lt+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(Lt+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+Yn)+("|"+Wn+")");class za{constructor(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=new RegExp(Jn,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){var e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new p0("EOF",new h0(this,t,t));var a=this.tokenRegex.exec(e);if(a===null||a.index!==t)throw new w("Unexpected character: '"+e[t]+"'",new p0(e[t],new h0(this,t,t+1)));var n=a[6]||a[3]||(a[2]?"\\ ":" ");if(this.catcodes[n]===14){var s=e.indexOf(`
256
256
  `,this.tokenRegex.lastIndex);return s===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=s+1,this.lex()}return new p0(n,new h0(this,t,this.tokenRegex.lastIndex))}}class Qn{constructor(e,t){e===void 0&&(e={}),t===void 0&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new w("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var t of Object.keys(e))e[t]===void 0?delete this.current[t]:this.current[t]=e[t]}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return Object.prototype.hasOwnProperty.call(this.current,e)||Object.prototype.hasOwnProperty.call(this.builtins,e)}get(e){return Object.prototype.hasOwnProperty.call(this.current,e)?this.current[e]:Object.prototype.hasOwnProperty.call(this.builtins,e)?this.builtins[e]:void 0}set(e,t,a){if(a===void 0&&(a=!1),a){for(var n=0;n<this.undefStack.length;n++)delete this.undefStack[n][e];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var s=this.undefStack[this.undefStack.length-1];s&&!Object.prototype.hasOwnProperty.call(s,e)&&(s[e]=Object.prototype.hasOwnProperty.call(this.current,e)?this.current[e]:void 0)}t==null?delete this.current[e]:this.current[e]=t}}var _n=ea;c("\\noexpand",function(r){var e=r.popToken();return r.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}}),c("\\expandafter",function(r){var e=r.popToken();return r.expandOnce(!0),{tokens:[e],numArgs:0}}),c("\\@firstoftwo",function(r){var e=r.consumeArgs(2);return{tokens:e[0],numArgs:0}}),c("\\@secondoftwo",function(r){var e=r.consumeArgs(2);return{tokens:e[1],numArgs:0}}),c("\\@ifnextchar",function(r){var e=r.consumeArgs(3);r.consumeSpaces();var t=r.future();return e[0].length===1&&e[0][0].text===t.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}}),c("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),c("\\TextOrMath",function(r){var e=r.consumeArgs(2);return r.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var Ma={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};c("\\char",function(r){var e=r.popToken(),t,a=0;if(e.text==="'")t=8,e=r.popToken();else if(e.text==='"')t=16,e=r.popToken();else if(e.text==="`")if(e=r.popToken(),e.text[0]==="\\")a=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new w("\\char` missing argument");a=e.text.charCodeAt(0)}else t=10;if(t){if(a=Ma[e.text],a==null||a>=t)throw new w("Invalid base-"+t+" digit "+e.text);for(var n;(n=Ma[r.future().text])!=null&&n<t;)a*=t,a+=n,r.popToken()}return"\\@char{"+a+"}"});var Pt=(r,e,t,a)=>{var n=r.consumeArg().tokens;if(n.length!==1)throw new w("\\newcommand's first argument must be a macro name");var s=n[0].text,o=r.isDefined(s);if(o&&!e)throw new w("\\newcommand{"+s+"} attempting to redefine "+(s+"; use \\renewcommand"));if(!o&&!t)throw new w("\\renewcommand{"+s+"} when command "+s+" does not yet exist; use \\newcommand");var h=0;if(n=r.consumeArg().tokens,n.length===1&&n[0].text==="["){for(var m="",d=r.expandNextToken();d.text!=="]"&&d.text!=="EOF";)m+=d.text,d=r.expandNextToken();if(!m.match(/^\s*[0-9]+\s*$/))throw new w("Invalid number of arguments: "+m);h=parseInt(m),n=r.consumeArg().tokens}return o&&a||r.macros.set(s,{tokens:n,numArgs:h}),""};c("\\newcommand",r=>Pt(r,!1,!0,!1)),c("\\renewcommand",r=>Pt(r,!0,!1,!1)),c("\\providecommand",r=>Pt(r,!0,!0,!0)),c("\\message",r=>{var e=r.consumeArgs(1)[0];return console.log(e.reverse().map(t=>t.text).join("")),""}),c("\\errmessage",r=>{var e=r.consumeArgs(1)[0];return console.error(e.reverse().map(t=>t.text).join("")),""}),c("\\show",r=>{var e=r.popToken(),t=e.text;return console.log(e,r.macros.get(t),U0[t],W.math[t],W.text[t]),""}),c("\\bgroup","{"),c("\\egroup","}"),c("~","\\nobreakspace"),c("\\lq","`"),c("\\rq","'"),c("\\aa","\\r a"),c("\\AA","\\r A"),c("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}"),c("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),c("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"),c("ℬ","\\mathscr{B}"),c("ℰ","\\mathscr{E}"),c("ℱ","\\mathscr{F}"),c("ℋ","\\mathscr{H}"),c("ℐ","\\mathscr{I}"),c("ℒ","\\mathscr{L}"),c("ℳ","\\mathscr{M}"),c("ℛ","\\mathscr{R}"),c("ℭ","\\mathfrak{C}"),c("ℌ","\\mathfrak{H}"),c("ℨ","\\mathfrak{Z}"),c("\\Bbbk","\\Bbb{k}"),c("\\llap","\\mathllap{\\textrm{#1}}"),c("\\rlap","\\mathrlap{\\textrm{#1}}"),c("\\clap","\\mathclap{\\textrm{#1}}"),c("\\mathstrut","\\vphantom{(}"),c("\\underbar","\\underline{\\text{#1}}"),c("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}'),c("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"),c("\\ne","\\neq"),c("≠","\\neq"),c("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}"),c("∉","\\notin"),c("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}"),c("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}"),c("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}"),c("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}"),c("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}"),c("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}"),c("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}"),c("⟂","\\perp"),c("‼","\\mathclose{!\\mkern-0.8mu!}"),c("∌","\\notni"),c("⌜","\\ulcorner"),c("⌝","\\urcorner"),c("⌞","\\llcorner"),c("⌟","\\lrcorner"),c("©","\\copyright"),c("®","\\textregistered"),c("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}'),c("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}'),c("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}'),c("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}'),c("\\vdots","{\\varvdots\\rule{0pt}{15pt}}"),c("⋮","\\vdots"),c("\\varGamma","\\mathit{\\Gamma}"),c("\\varDelta","\\mathit{\\Delta}"),c("\\varTheta","\\mathit{\\Theta}"),c("\\varLambda","\\mathit{\\Lambda}"),c("\\varXi","\\mathit{\\Xi}"),c("\\varPi","\\mathit{\\Pi}"),c("\\varSigma","\\mathit{\\Sigma}"),c("\\varUpsilon","\\mathit{\\Upsilon}"),c("\\varPhi","\\mathit{\\Phi}"),c("\\varPsi","\\mathit{\\Psi}"),c("\\varOmega","\\mathit{\\Omega}"),c("\\substack","\\begin{subarray}{c}#1\\end{subarray}"),c("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax"),c("\\boxed","\\fbox{$\\displaystyle{#1}$}"),c("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;"),c("\\implies","\\DOTSB\\;\\Longrightarrow\\;"),c("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;"),c("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}"),c("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var Ta={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"},ei=new Set(["bin","rel"]);c("\\dots",function(r){var e="\\dotso",t=r.expandAfterFuture().text;return t in Ta?e=Ta[t]:(t.slice(0,4)==="\\not"||t in W.math&&ei.has(W.math[t].group))&&(e="\\dotsb"),e});var Gt={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};c("\\dotso",function(r){var e=r.future().text;return e in Gt?"\\ldots\\,":"\\ldots"}),c("\\dotsc",function(r){var e=r.future().text;return e in Gt&&e!==","?"\\ldots\\,":"\\ldots"}),c("\\cdots",function(r){var e=r.future().text;return e in Gt?"\\@cdots\\,":"\\@cdots"}),c("\\dotsb","\\cdots"),c("\\dotsm","\\cdots"),c("\\dotsi","\\!\\cdots"),c("\\dotsx","\\ldots\\,"),c("\\DOTSI","\\relax"),c("\\DOTSB","\\relax"),c("\\DOTSX","\\relax"),c("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),c("\\,","\\tmspace+{3mu}{.1667em}"),c("\\thinspace","\\,"),c("\\>","\\mskip{4mu}"),c("\\:","\\tmspace+{4mu}{.2222em}"),c("\\medspace","\\:"),c("\\;","\\tmspace+{5mu}{.2777em}"),c("\\thickspace","\\;"),c("\\!","\\tmspace-{3mu}{.1667em}"),c("\\negthinspace","\\!"),c("\\negmedspace","\\tmspace-{4mu}{.2222em}"),c("\\negthickspace","\\tmspace-{5mu}{.277em}"),c("\\enspace","\\kern.5em "),c("\\enskip","\\hskip.5em\\relax"),c("\\quad","\\hskip1em\\relax"),c("\\qquad","\\hskip2em\\relax"),c("\\tag","\\@ifstar\\tag@literal\\tag@paren"),c("\\tag@paren","\\tag@literal{({#1})}"),c("\\tag@literal",r=>{if(r.macros.get("\\df@tag"))throw new w("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"}),c("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),c("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),c("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),c("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),c("\\newline","\\\\\\relax"),c("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var Ca=z(k0["Main-Regular"][84][1]-.7*k0["Main-Regular"][65][1]);c("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+Ca+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}"),c("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+Ca+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}"),c("\\hspace","\\@ifstar\\@hspacer\\@hspace"),c("\\@hspace","\\hskip #1\\relax"),c("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),c("\\ordinarycolon",":"),c("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),c("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),c("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),c("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),c("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),c("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),c("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),c("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),c("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),c("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),c("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),c("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),c("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),c("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),c("∷","\\dblcolon"),c("∹","\\eqcolon"),c("≔","\\coloneqq"),c("≕","\\eqqcolon"),c("⩴","\\Coloneqq"),c("\\ratio","\\vcentcolon"),c("\\coloncolon","\\dblcolon"),c("\\colonequals","\\coloneqq"),c("\\coloncolonequals","\\Coloneqq"),c("\\equalscolon","\\eqqcolon"),c("\\equalscoloncolon","\\Eqqcolon"),c("\\colonminus","\\coloneq"),c("\\coloncolonminus","\\Coloneq"),c("\\minuscolon","\\eqcolon"),c("\\minuscoloncolon","\\Eqcolon"),c("\\coloncolonapprox","\\Colonapprox"),c("\\coloncolonsim","\\Colonsim"),c("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),c("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),c("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),c("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),c("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}"),c("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),c("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),c("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}"),c("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}"),c("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}"),c("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}"),c("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}"),c("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}"),c("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}"),c("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}"),c("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}"),c("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}"),c("\\nleqq","\\html@mathml{\\@nleqq}{≰}"),c("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}"),c("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}"),c("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}"),c("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}"),c("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}"),c("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}"),c("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}"),c("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}"),c("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}"),c("\\imath","\\html@mathml{\\@imath}{ı}"),c("\\jmath","\\html@mathml{\\@jmath}{ȷ}"),c("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}"),c("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}"),c("⟦","\\llbracket"),c("⟧","\\rrbracket"),c("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}"),c("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}"),c("⦃","\\lBrace"),c("⦄","\\rBrace"),c("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}"),c("⦵","\\minuso"),c("\\darr","\\downarrow"),c("\\dArr","\\Downarrow"),c("\\Darr","\\Downarrow"),c("\\lang","\\langle"),c("\\rang","\\rangle"),c("\\uarr","\\uparrow"),c("\\uArr","\\Uparrow"),c("\\Uarr","\\Uparrow"),c("\\N","\\mathbb{N}"),c("\\R","\\mathbb{R}"),c("\\Z","\\mathbb{Z}"),c("\\alef","\\aleph"),c("\\alefsym","\\aleph"),c("\\Alpha","\\mathrm{A}"),c("\\Beta","\\mathrm{B}"),c("\\bull","\\bullet"),c("\\Chi","\\mathrm{X}"),c("\\clubs","\\clubsuit"),c("\\cnums","\\mathbb{C}"),c("\\Complex","\\mathbb{C}"),c("\\Dagger","\\ddagger"),c("\\diamonds","\\diamondsuit"),c("\\empty","\\emptyset"),c("\\Epsilon","\\mathrm{E}"),c("\\Eta","\\mathrm{H}"),c("\\exist","\\exists"),c("\\harr","\\leftrightarrow"),c("\\hArr","\\Leftrightarrow"),c("\\Harr","\\Leftrightarrow"),c("\\hearts","\\heartsuit"),c("\\image","\\Im"),c("\\infin","\\infty"),c("\\Iota","\\mathrm{I}"),c("\\isin","\\in"),c("\\Kappa","\\mathrm{K}"),c("\\larr","\\leftarrow"),c("\\lArr","\\Leftarrow"),c("\\Larr","\\Leftarrow"),c("\\lrarr","\\leftrightarrow"),c("\\lrArr","\\Leftrightarrow"),c("\\Lrarr","\\Leftrightarrow"),c("\\Mu","\\mathrm{M}"),c("\\natnums","\\mathbb{N}"),c("\\Nu","\\mathrm{N}"),c("\\Omicron","\\mathrm{O}"),c("\\plusmn","\\pm"),c("\\rarr","\\rightarrow"),c("\\rArr","\\Rightarrow"),c("\\Rarr","\\Rightarrow"),c("\\real","\\Re"),c("\\reals","\\mathbb{R}"),c("\\Reals","\\mathbb{R}"),c("\\Rho","\\mathrm{P}"),c("\\sdot","\\cdot"),c("\\sect","\\S"),c("\\spades","\\spadesuit"),c("\\sub","\\subset"),c("\\sube","\\subseteq"),c("\\supe","\\supseteq"),c("\\Tau","\\mathrm{T}"),c("\\thetasym","\\vartheta"),c("\\weierp","\\wp"),c("\\Zeta","\\mathrm{Z}"),c("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),c("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),c("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),c("\\bra","\\mathinner{\\langle{#1}|}"),c("\\ket","\\mathinner{|{#1}\\rangle}"),c("\\braket","\\mathinner{\\langle{#1}\\rangle}"),c("\\Bra","\\left\\langle#1\\right|"),c("\\Ket","\\left|#1\\right\\rangle");var Ba=r=>e=>{var t=e.consumeArg().tokens,a=e.consumeArg().tokens,n=e.consumeArg().tokens,s=e.consumeArg().tokens,o=e.macros.get("|"),h=e.macros.get("\\|");e.macros.beginGroup();var m=b=>y=>{r&&(y.macros.set("|",o),n.length&&y.macros.set("\\|",h));var x=b;if(!b&&n.length){var M=y.future();M.text==="|"&&(y.popToken(),x=!0)}return{tokens:x?n:a,numArgs:0}};e.macros.set("|",m(!1)),n.length&&e.macros.set("\\|",m(!0));var d=e.consumeArg().tokens,v=e.expandTokens([...s,...d,...t]);return e.macros.endGroup(),{tokens:v.reverse(),numArgs:0}};c("\\bra@ket",Ba(!1)),c("\\bra@set",Ba(!0)),c("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}"),c("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}"),c("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}"),c("\\angln","{\\angl n}"),c("\\blue","\\textcolor{##6495ed}{#1}"),c("\\orange","\\textcolor{##ffa500}{#1}"),c("\\pink","\\textcolor{##ff00af}{#1}"),c("\\red","\\textcolor{##df0030}{#1}"),c("\\green","\\textcolor{##28ae7b}{#1}"),c("\\gray","\\textcolor{gray}{#1}"),c("\\purple","\\textcolor{##9d38bd}{#1}"),c("\\blueA","\\textcolor{##ccfaff}{#1}"),c("\\blueB","\\textcolor{##80f6ff}{#1}"),c("\\blueC","\\textcolor{##63d9ea}{#1}"),c("\\blueD","\\textcolor{##11accd}{#1}"),c("\\blueE","\\textcolor{##0c7f99}{#1}"),c("\\tealA","\\textcolor{##94fff5}{#1}"),c("\\tealB","\\textcolor{##26edd5}{#1}"),c("\\tealC","\\textcolor{##01d1c1}{#1}"),c("\\tealD","\\textcolor{##01a995}{#1}"),c("\\tealE","\\textcolor{##208170}{#1}"),c("\\greenA","\\textcolor{##b6ffb0}{#1}"),c("\\greenB","\\textcolor{##8af281}{#1}"),c("\\greenC","\\textcolor{##74cf70}{#1}"),c("\\greenD","\\textcolor{##1fab54}{#1}"),c("\\greenE","\\textcolor{##0d923f}{#1}"),c("\\goldA","\\textcolor{##ffd0a9}{#1}"),c("\\goldB","\\textcolor{##ffbb71}{#1}"),c("\\goldC","\\textcolor{##ff9c39}{#1}"),c("\\goldD","\\textcolor{##e07d10}{#1}"),c("\\goldE","\\textcolor{##a75a05}{#1}"),c("\\redA","\\textcolor{##fca9a9}{#1}"),c("\\redB","\\textcolor{##ff8482}{#1}"),c("\\redC","\\textcolor{##f9685d}{#1}"),c("\\redD","\\textcolor{##e84d39}{#1}"),c("\\redE","\\textcolor{##bc2612}{#1}"),c("\\maroonA","\\textcolor{##ffbde0}{#1}"),c("\\maroonB","\\textcolor{##ff92c6}{#1}"),c("\\maroonC","\\textcolor{##ed5fa6}{#1}"),c("\\maroonD","\\textcolor{##ca337c}{#1}"),c("\\maroonE","\\textcolor{##9e034e}{#1}"),c("\\purpleA","\\textcolor{##ddd7ff}{#1}"),c("\\purpleB","\\textcolor{##c6b9fc}{#1}"),c("\\purpleC","\\textcolor{##aa87ff}{#1}"),c("\\purpleD","\\textcolor{##7854ab}{#1}"),c("\\purpleE","\\textcolor{##543b78}{#1}"),c("\\mintA","\\textcolor{##f5f9e8}{#1}"),c("\\mintB","\\textcolor{##edf2df}{#1}"),c("\\mintC","\\textcolor{##e0e5cc}{#1}"),c("\\grayA","\\textcolor{##f6f7f7}{#1}"),c("\\grayB","\\textcolor{##f0f1f2}{#1}"),c("\\grayC","\\textcolor{##e3e5e6}{#1}"),c("\\grayD","\\textcolor{##d6d8da}{#1}"),c("\\grayE","\\textcolor{##babec2}{#1}"),c("\\grayF","\\textcolor{##888d93}{#1}"),c("\\grayG","\\textcolor{##626569}{#1}"),c("\\grayH","\\textcolor{##3b3e40}{#1}"),c("\\grayI","\\textcolor{##21242c}{#1}"),c("\\kaBlue","\\textcolor{##314453}{#1}"),c("\\kaGreen","\\textcolor{##71B307}{#1}");var Da={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class ti{constructor(e,t,a){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new Qn(_n,t.macros),this.mode=a,this.stack=[]}feed(e){this.lexer=new za(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var t,a,n;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;t=this.popToken();var s=this.consumeArg(["]"]);n=s.tokens,a=s.end}else{var o=this.consumeArg();n=o.tokens,t=o.start,a=o.end}return this.pushToken(new p0("EOF",a.loc)),this.pushTokens(n),new p0("",h0.range(t,a))}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var t=[],a=e&&e.length>0;a||this.consumeSpaces();var n=this.future(),s,o=0,h=0;do{if(s=this.popToken(),t.push(s),s.text==="{")++o;else if(s.text==="}"){if(--o,o===-1)throw new w("Extra }",s)}else if(s.text==="EOF")throw new w("Unexpected end of input in a macro argument, expected '"+(e&&a?e[h]:"}")+"'",s);if(e&&a)if((o===0||o===1&&e[h]==="{")&&s.text===e[h]){if(++h,h===e.length){t.splice(-h,h);break}}else h=0}while(o!==0||a);return n.text==="{"&&t[t.length-1].text==="}"&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:n,end:s}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new w("The length of delimiters doesn't match the number of args!");for(var a=t[0],n=0;n<a.length;n++){var s=this.popToken();if(a[n]!==s.text)throw new w("Use of the macro doesn't match its definition",s)}}for(var o=[],h=0;h<e;h++)o.push(this.consumeArg(t&&t[h+1]).tokens);return o}countExpansion(e){if(this.expansionCount+=e,this.expansionCount>this.settings.maxExpand)throw new w("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var t=this.popToken(),a=t.text,n=t.noexpand?null:this._getExpansion(a);if(n==null||e&&n.unexpandable){if(e&&n==null&&a[0]==="\\"&&!this.isDefined(a))throw new w("Undefined control sequence: "+a);return this.pushToken(t),!1}this.countExpansion(1);var s=n.tokens,o=this.consumeArgs(n.numArgs,n.delimiters);if(n.numArgs){s=s.slice();for(var h=s.length-1;h>=0;--h){var m=s[h];if(m.text==="#"){if(h===0)throw new w("Incomplete placeholder at end of macro body",m);if(m=s[--h],m.text==="#")s.splice(h+1,1);else if(/^[1-9]$/.test(m.text))s.splice(h,2,...o[+m.text-1]);else throw new w("Not a valid argument number",m)}}}return this.pushTokens(s),s.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}}expandMacro(e){return this.macros.has(e)?this.expandTokens([new p0(e)]):void 0}expandTokens(e){var t=[],a=this.stack.length;for(this.pushTokens(e);this.stack.length>a;)if(this.expandOnce(!0)===!1){var n=this.stack.pop();n.treatAsRelax&&(n.noexpand=!1,n.treatAsRelax=!1),t.push(n)}return this.countExpansion(t.length),t}expandMacroAsText(e){var t=this.expandMacro(e);return t&&t.map(a=>a.text).join("")}_getExpansion(e){var t=this.macros.get(e);if(t==null)return t;if(e.length===1){var a=this.lexer.catcodes[e];if(a!=null&&a!==13)return}var n=typeof t=="function"?t(this):t;if(typeof n=="string"){var s=0;if(n.includes("#"))for(var o=n.replace(/##/g,"");o.includes("#"+(s+1));)++s;for(var h=new za(n,this.settings),m=[],d=h.lex();d.text!=="EOF";)m.push(d),d=h.lex();m.reverse();var v={tokens:m,numArgs:s};return v}return n}isDefined(e){return this.macros.has(e)||Object.prototype.hasOwnProperty.call(U0,e)||Object.prototype.hasOwnProperty.call(W.math,e)||Object.prototype.hasOwnProperty.call(W.text,e)||Object.prototype.hasOwnProperty.call(Da,e)}isExpandable(e){var t=this.macros.get(e);return t!=null?typeof t=="string"||typeof t=="function"||!t.unexpandable:Object.prototype.hasOwnProperty.call(U0,e)&&!U0[e].primitive}}var qa=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,Le=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),Ut={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},Ra={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};class Pe{constructor(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new ti(e,t,this.mode),this.settings=t,this.leftrightDepth=0,this.nextToken=null}expect(e,t){if(t===void 0&&(t=!0),this.fetch().text!==e)throw new w("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var t=this.nextToken;this.consume(),this.gullet.pushToken(new p0("}")),this.gullet.pushTokens(e);var a=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,a}parseExpression(e,t){for(var a=[];;){this.mode==="math"&&this.consumeSpaces();var n=this.fetch();if(Pe.endOfExpression.has(n.text)||t&&n.text===t||e&&U0[n.text]&&U0[n.text].infix)break;var s=this.parseAtom(t);if(s){if(s.type==="internal")continue}else break;a.push(s)}return this.mode==="text"&&this.formLigatures(a),this.handleInfixNodes(a)}handleInfixNodes(e){for(var t=-1,a,n=0;n<e.length;n++){var s=e[n];if(s.type==="infix"){if(t!==-1)throw new w("only one infix operator per group",s.token);t=n,a=s.replaceWith}}if(t!==-1&&a){var o,h,m=e.slice(0,t),d=e.slice(t+1);m.length===1&&m[0].type==="ordgroup"?o=m[0]:o={type:"ordgroup",mode:this.mode,body:m},d.length===1&&d[0].type==="ordgroup"?h=d[0]:h={type:"ordgroup",mode:this.mode,body:d};var v;return a==="\\\\abovefrac"?v=this.callFunction(a,[o,e[t],h],[]):v=this.callFunction(a,[o,h],[]),[v]}else return e}handleSupSubscript(e){var t=this.fetch(),a=t.text;this.consume(),this.consumeSpaces();var n;do{var s;n=this.parseGroup(e)}while(((s=n)==null?void 0:s.type)==="internal");if(!n)throw new w("Expected group after '"+a+"'",t);return n}formatUnsupportedCmd(e){for(var t=[],a=0;a<e.length;a++)t.push({type:"textord",mode:"text",text:e[a]});var n={type:"text",mode:this.mode,body:t},s={type:"color",mode:this.mode,color:this.settings.errorColor,body:[n]};return s}parseAtom(e){var t=this.parseGroup("atom",e);if((t==null?void 0:t.type)==="internal"||this.mode==="text")return t;for(var a,n;;){this.consumeSpaces();var s=this.fetch();if(s.text==="\\limits"||s.text==="\\nolimits"){if(t&&t.type==="op")t.limits=s.text==="\\limits",t.alwaysHandleSupSub=!0;else if(t&&t.type==="operatorname")t.alwaysHandleSupSub&&(t.limits=s.text==="\\limits");else throw new w("Limit controls must follow a math operator",s);this.consume()}else if(s.text==="^"){if(a)throw new w("Double superscript",s);a=this.handleSupSubscript("superscript")}else if(s.text==="_"){if(n)throw new w("Double subscript",s);n=this.handleSupSubscript("subscript")}else if(s.text==="'"){if(a)throw new w("Double superscript",s);var o={type:"textord",mode:this.mode,text:"\\prime"},h=[o];for(this.consume();this.fetch().text==="'";)h.push(o),this.consume();this.fetch().text==="^"&&h.push(this.handleSupSubscript("superscript")),a={type:"ordgroup",mode:this.mode,body:h}}else if(Le[s.text]){var m=qa.test(s.text),d=[];for(d.push(new p0(Le[s.text])),this.consume();;){var v=this.fetch().text;if(!Le[v]||qa.test(v)!==m)break;d.unshift(new p0(Le[v])),this.consume()}var b=this.subparse(d);m?n={type:"ordgroup",mode:"math",body:b}:a={type:"ordgroup",mode:"math",body:b}}else break}return a&&n?{type:"supsub",mode:this.mode,base:t,sup:a,sub:n}:a?{type:"supsub",mode:this.mode,base:t,sup:a}:n?{type:"supsub",mode:this.mode,base:t,sub:n}:t}parseFunction(e,t){var a=this.fetch(),n=a.text,s=U0[n];if(!s)return null;if(this.consume(),t&&t!=="atom"&&!s.allowedInArgument)throw new w("Got function '"+n+"' with no arguments"+(t?" as "+t:""),a);if(this.mode==="text"&&!s.allowedInText)throw new w("Can't use function '"+n+"' in text mode",a);if(this.mode==="math"&&s.allowedInMath===!1)throw new w("Can't use function '"+n+"' in math mode",a);var o=this.parseArguments(n,s),h=o.args,m=o.optArgs;return this.callFunction(n,h,m,a,e)}callFunction(e,t,a,n,s){var o={funcName:e,parser:this,token:n,breakOnTokenText:s},h=U0[e];if(h&&h.handler)return h.handler(o,t,a);throw new w("No function handler for "+e)}parseArguments(e,t){var a,n=(a=t.numOptionalArgs)!=null?a:0,s=t.numArgs+n;if(s===0)return{args:[],optArgs:[]};for(var o=[],h=[],m=0;m<s;m++){var d,v=(d=t.argTypes)==null?void 0:d[m],b=m<n;("primitive"in t&&t.primitive&&v==null||t.type==="sqrt"&&m===1&&h[0]==null)&&(v="primitive");var y=this.parseGroupOfType("argument to '"+e+"'",v,b);if(b)h.push(y);else if(y!=null)o.push(y);else throw new w("Null argument, please report this as a bug")}return{args:o,optArgs:h}}parseGroupOfType(e,t,a){switch(t){case"color":return this.parseColorGroup(a);case"size":return this.parseSizeGroup(a);case"url":return this.parseUrlGroup(a);case"math":case"text":return this.parseArgumentGroup(a,t);case"hbox":{var n=this.parseArgumentGroup(a,"text");return n!=null?{type:"styling",mode:n.mode,body:[n],style:"text",resetFont:!0}:null}case"raw":{var s=this.parseStringGroup(a);return s!=null?{type:"raw",mode:"text",string:s.text}:null}case"primitive":{if(a)throw new w("A primitive argument cannot be optional");var o=this.parseGroup(e);if(o==null)throw new w("Expected group as "+e,this.fetch());return o}case"original":case void 0:return this.parseArgumentGroup(a);default:throw new w("Unknown group type as "+e,this.fetch())}}consumeSpaces(){for(;this.fetch().text===" ";)this.consume()}parseStringGroup(e){var t=this.gullet.scanArgument(e);if(t==null)return null;for(var a="",n;(n=this.fetch()).text!=="EOF";)a+=n.text,this.consume();return this.consume(),t.text=a,t}parseRegexGroup(e,t){for(var a=this.fetch(),n=a,s="",o;(o=this.fetch()).text!=="EOF"&&e.test(s+o.text);)n=o,s+=n.text,this.consume();if(s==="")throw new w("Invalid "+t+": '"+a.text+"'",a);return a.range(n,s)}parseColorGroup(e){var t=this.parseStringGroup(e);if(t==null)return null;var a=/^(#[a-f0-9]{3,4}|#[a-f0-9]{6}|#[a-f0-9]{8}|[a-f0-9]{6}|[a-z]+)$/i.exec(t.text);if(!a)throw new w("Invalid color: '"+t.text+"'",t);var n=a[0];return/^[0-9a-f]{6}$/i.test(n)&&(n="#"+n),{type:"color-token",mode:this.mode,color:n}}parseSizeGroup(e){var t,a=!1;if(this.gullet.consumeSpaces(),!e&&this.gullet.future().text!=="{"?t=this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size"):t=this.parseStringGroup(e),!t)return null;!e&&t.text.length===0&&(t.text="0pt",a=!0);var n=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t.text);if(!n)throw new w("Invalid size: '"+t.text+"'",t);var s={number:+(n[1]+n[2]),unit:n[3]};if(!sr(s))throw new w("Invalid unit: '"+s.unit+"'",t);return{type:"size",mode:this.mode,value:s,isBlank:a}}parseUrlGroup(e){this.gullet.lexer.setCatcode("%",13),this.gullet.lexer.setCatcode("~",12);var t=this.parseStringGroup(e);if(this.gullet.lexer.setCatcode("%",14),this.gullet.lexer.setCatcode("~",13),t==null)return null;var a=t.text.replace(/\\([#$%&~_^{}])/g,"$1");return{type:"url",mode:this.mode,url:a}}parseArgumentGroup(e,t){var a=this.gullet.scanArgument(e);if(a==null)return null;var n=this.mode;t&&this.switchMode(t),this.gullet.beginGroup();var s=this.parseExpression(!1,"EOF");this.expect("EOF"),this.gullet.endGroup();var o={type:"ordgroup",mode:this.mode,loc:a.loc,body:s};return t&&this.switchMode(n),o}parseGroup(e,t){var a=this.fetch(),n=a.text,s;if(n==="{"||n==="\\begingroup"){this.consume();var o=n==="{"?"}":"\\endgroup";this.gullet.beginGroup();var h=this.parseExpression(!1,o),m=this.fetch();this.expect(o),this.gullet.endGroup(),s={type:"ordgroup",mode:this.mode,loc:h0.range(a,m),body:h,semisimple:n==="\\begingroup"||void 0}}else if(s=this.parseFunction(t,e)||this.parseSymbol(),s==null&&n[0]==="\\"&&!Object.prototype.hasOwnProperty.call(Da,n)){if(this.settings.throwOnError)throw new w("Undefined control sequence: "+n,a);s=this.formatUnsupportedCmd(n),this.consume()}return s}formLigatures(e){for(var t=e.length-1,a=0;a<t;++a){var n=e[a];if(n.type==="textord"){var s=n.text,o=e[a+1];if(!(!o||o.type!=="textord")){if(s==="-"&&o.text==="-"){var h=e[a+2];a+1<t&&h&&h.type==="textord"&&h.text==="-"?(e.splice(a,3,{type:"textord",mode:"text",loc:h0.range(n,h),text:"---"}),t-=2):(e.splice(a,2,{type:"textord",mode:"text",loc:h0.range(n,o),text:"--"}),t-=1)}(s==="'"||s==="`")&&o.text===s&&(e.splice(a,2,{type:"textord",mode:"text",loc:h0.range(n,o),text:s+s}),t-=1)}}}}parseSymbol(){var e=this.fetch(),t=e.text;if(/^\\verb[^a-zA-Z]/.test(t)){this.consume();var a=t.slice(5),n=a.charAt(0)==="*";if(n&&(a=a.slice(1)),a.length<2||a.charAt(0)!==a.slice(-1))throw new w(`\\verb assertion failed --
257
257
  please report what input caused this bug`);return a=a.slice(1,-1),{type:"verb",mode:"text",body:a,star:n}}Object.prototype.hasOwnProperty.call(Ra,t[0])&&!W[this.mode][t[0]]&&(this.settings.strict&&this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+t[0]+'" used in math mode',e),t=Ra[t[0]]+t.slice(1));var s=Kn.exec(t);s&&(t=t.substring(0,s.index),t==="i"?t="ı":t==="j"&&(t="ȷ"));var o;if(W[this.mode][t]){this.settings.strict&&this.mode==="math"&&ot.includes(t)&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);var h=W[this.mode][t].group,m=h0.range(e),d;ln(h)?d={type:"atom",mode:this.mode,family:h,loc:m,text:t}:d={type:h,mode:this.mode,loc:m,text:t},o=d}else if(t.charCodeAt(0)>=128)this.settings.strict&&(nr(t.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'"'+(" ("+t.charCodeAt(0)+")"),e)),o={type:"textord",mode:"text",loc:h0.range(e),text:t};else return null;if(this.consume(),s)for(var v=0;v<s[0].length;v++){var b=s[0][v];if(!Ut[b])throw new w("Unknown accent ' "+b+"'",e);var y=Ut[b][this.mode]||Ut[b].text;if(!y)throw new w("Accent "+b+" unsupported in "+this.mode+" mode",e);o={type:"accent",mode:this.mode,loc:h0.range(e),label:y,isStretchy:!1,isShifty:!0,base:o}}return o}}Pe.endOfExpression=new Set(["}","\\endgroup","\\end","\\right","&"]);var Vt=function(e,t){if(!(typeof e=="string"||e instanceof String))throw new TypeError("KaTeX can only parse string typed expression");var a=new Pe(e,t);delete a.gullet.macros.current["\\df@tag"];var n=a.parse();if(delete a.gullet.macros.current["\\current@color"],delete a.gullet.macros.current["\\color"],a.gullet.macros.get("\\df@tag")){if(!t.displayMode)throw new w("\\tag works only in display equations");n=[{type:"tag",mode:"text",body:n,tag:a.subparse([new p0("\\df@tag")])}]}return n},Na=function(e,t,a){t.textContent="";var n=$t(e,a).toNode();t.appendChild(n)};typeof document!="undefined"&&document.compatMode!=="CSS1Compat"&&(typeof console!="undefined"&&console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."),Na=function(){throw new w("KaTeX doesn't work in quirks mode.")});var ri=function(e,t){var a=$t(e,t).toMarkup();return a},ai=function(e,t){var a=new Ke(t);return Vt(e,a)},Ea=function(e,t,a){if(a.throwOnError||!(e instanceof w))throw e;var n=S(["katex-error"],[new m0(t)]);return n.setAttribute("title",e.toString()),n.setAttribute("style","color:"+a.errorColor),n},$t=function(e,t){var a=new Ke(t);try{var n=Vt(e,a);return K1(n,e,a)}catch(s){return Ea(s,e,a)}},ni=function(e,t){var a=new Ke(t);try{var n=Vt(e,a);return J1(n,e,a)}catch(s){return Ea(s,e,a)}},ii="0.18.4",si={Span:re,Anchor:ke,SymbolNode:m0,SvgNode:B0,PathNode:F0,LineNode:tt},Ia={version:ii,render:Na,renderToString:ri,ParseError:w,SETTINGS_SCHEMA:Ze,__parse:ai,__renderToDomTree:$t,__renderToHTMLTree:ni,__setFontMetrics:q1,__defineSymbol:i,__defineFunction:B,__defineMacro:c,__domTree:si};const jt=["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"],Oa=["۰","۱","۲","۳","۴","۵","۶","۷","۸","۹"],li={arabic:jt,extended:Oa};function Xt(r,e="arabic"){if(e==="latin")return String(r);const t=li[e];return String(r).replace(/[0-9]/g,a=>t[Number(a)])}function oi(r){return String(r).replace(/[٠-٩]/g,e=>String(jt.indexOf(e))).replace(/[۰-۹]/g,e=>String(Oa.indexOf(e)))}function Wt(r){return r.replace(/,/g,"٬").replace(/\./g,"٫").replace(/[0-9]/g,e=>jt[Number(e)])}function ui(r,e="arabic",t=!0){return e==="latin"?r:r.replace(/\d+(?:[.,]\d+)*/g,a=>t?Wt(a):Xt(a,e))}function hi(r){return/[٠-٩۰-۹]/.test(r)}const ci=["text","textnormal","textbf","textit","textrm","mathrm","mathbf","mathit","mathtt","mathsf","mathscr","mathfrak","mathbb","mathcal","color","textcolor","operatorname","operatorname*","operatornamewithlimits"],Fa=new RegExp(`\\\\(?:${ci.join("|")})\\{[^}]*\\}`,"g");function Yt(r){const e=[];let t;for(Fa.lastIndex=0;(t=Fa.exec(r))!==null;)e.push({start:t.index,end:t.index+t[0].length});e.sort((n,s)=>n.start-s.start);const a=[];for(const n of e){const s=a[a.length-1];s&&n.start<=s.end?s.end=Math.max(s.end,n.end):a.push({...n})}return a}function Zt(r,e){for(const t of e){if(r>=t.start&&r<t.end)return!0;if(t.start>r)break}return!1}const mi={"\\sin":"\\operatorname{جا}","\\cos":"\\operatorname{جتا}","\\tan":"\\operatorname{ظا}","\\cot":"\\operatorname{ظتا}","\\sec":"\\operatorname{قا}","\\csc":"\\operatorname{قتا}","\\arcsin":"\\operatorname{جا}^{-1}","\\arccos":"\\operatorname{جتا}^{-1}","\\arctan":"\\operatorname{ظا}^{-1}","\\arccot":"\\operatorname{ظتا}^{-1}","\\arcsec":"\\operatorname{قا}^{-1}","\\arccsc":"\\operatorname{قتا}^{-1}","\\sinh":"\\operatorname{جـا}","\\cosh":"\\operatorname{جتـا}","\\tanh":"\\operatorname{ظـا}","\\coth":"\\operatorname{ظتـا}","\\sech":"\\operatorname{قـا}","\\csch":"\\operatorname{قتـا}","\\ln":"\\operatorname{لو}","\\log":"\\operatorname{لغ}","\\lg":"\\operatorname{لغ}","\\liminf":"\\operatorname*{نها}","\\max":"\\operatorname*{أقصى}","\\min":"\\operatorname*{أدنى}","\\sup":"\\operatorname*{حد\\,أعلى}","\\inf":"\\operatorname*{حد\\,أدنى}","\\det":"\\operatorname{محدد}","\\dim":"\\operatorname{بعد}","\\ker":"\\operatorname{نواة}","\\rank":"\\operatorname{رتبة}","\\tr":"\\operatorname{أثر}","\\diag":"\\operatorname{قطري}","\\span":"\\operatorname{مدى}","\\null":"\\operatorname{فضاء\\,صفري}","\\gcd":"\\operatorname{ق.م.أ}","\\lcm":"\\operatorname{م.م.أ}","\\mod":"\\operatorname{باقي}","\\bmod":"\\operatorname{باقي}","\\Pr":"\\operatorname{حا}","\\P":"\\operatorname{حا}","\\arg":"\\operatorname{سعة}","\\deg":"\\operatorname{درجة}","\\sgn":"\\operatorname{إشا}","\\Re":"\\operatorname{حق}","\\Im":"\\operatorname{تخ}","\\hom":"\\operatorname{تشا}","\\Hom":"\\operatorname{تشا}","\\sum":"\\sum","\\prod":"\\prod","\\coprod":"\\coprod","\\int":"\\int","\\iint":"\\iint","\\iiint":"\\iiint","\\oint":"\\oint","\\partial":"\\partial","\\nabla":"\\nabla","\\infty":"\\infty","\\lim":"\\lim","\\limsup":"\\operatorname*{نها}","\\arabiLim":"\\operatorname*{نها}"},Kt={x:"س",y:"ص",z:"ع",a:"أ",b:"ب",c:"جـ",d:"د",e:"هـ",f:"ف",g:"ق",h:"ح",i:"ت",j:"ج",k:"ك",l:"ل",m:"م",n:"ن",o:"ع",p:"ب",q:"ق",r:"ر",s:"ز",t:"ت",A:"أ",B:"ب",C:"جـ",D:"د",E:"هـ",F:"ف",G:"ق",H:"ح",I:"ت",J:"ج",K:"ك",L:"ل",M:"م",N:"ن",O:"ع",P:"ح",Q:"ق",R:"ر",S:"ز",T:"ت",U:"ث",V:"ڤ",W:"و",X:"س",Y:"ص",Z:"ز"};function di(r){return r.replace(/[\\^$*+?.()|[\]{}]/g,"\\$&")}function Jt(r,e={}){const t={...mi,...e},a=Yt(r),n=/\\[a-zA-Z]+/g;let s="",o=0,h;for(;(h=n.exec(r))!==null;){const m=h[0],d=h.index+m.length,v=r[d],y=!!v&&/[A-Za-z]/.test(v)?void 0:t[m];if(y!==void 0&&!Zt(h.index,a)){s+=r.slice(o,h.index)+y,o=d;continue}s+=r.slice(o,d),o=d}return s+=r.slice(o),s}function Ge(r){let e=r;return e=e.replace(/\bd([xyztruvs])\b/g,(t,a)=>{var s;return`\\text{د}\\text{${(s=Kt[a])!=null?s:a}}`}),e=e.replace(/d\\(theta|phi|rho|alpha|beta|gamma|delta)\b/g,(t,a)=>`\\text{د}\\${a}`),e=e.replace(/\bd([AVS])\b/g,(t,a)=>{var s;return`\\text{د}\\text{${(s=Kt[a])!=null?s:a}}`}),e}function Qt(r,e={}){const t={...Kt,...e},a=Object.keys(t);if(a.length===0)return r;const n=a.sort((h,m)=>m.length-h.length),s=Yt(r),o=new RegExp(`(?<![A-Za-z\\\\])(${n.map(di).join("|")})(?![A-Za-z])`,"g");return r.replace(o,(h,m,d,v)=>{const b=Number(d);return Zt(b,s)?h:`\\text{${t[h]}}`})}function fi(r){return Ge(r)}function pi(r,e={}){const{functions:t=!0,variables:a=!0,differentials:n=!0,customFunctionMap:s={},customVariableMap:o={}}=e;let h=r;return n&&(h=Ge(h)),t&&(h=Jt(h,s)),a&&(h=Qt(h,o)),h}const vi={...{"<":">",">":"<","\\lt":"\\gt","\\gt":"\\lt","\\leq":"\\geq","\\geq":"\\leq","\\le":"\\ge","\\ge":"\\le","\\leqslant":"\\geqslant","\\geqslant":"\\leqslant","\\lesssim":"\\gtrsim","\\gtrsim":"\\lesssim","\\ll":"\\gg","\\gg":"\\ll","\\nless":"\\ngtr","\\ngtr":"\\nless","\\nleq":"\\ngeq","\\ngeq":"\\nleq"},...{"\\to":"\\gets","\\gets":"\\to","\\rightarrow":"\\leftarrow","\\leftarrow":"\\rightarrow","\\longrightarrow":"\\longleftarrow","\\longleftarrow":"\\longrightarrow","\\Rightarrow":"\\Leftarrow","\\Leftarrow":"\\Rightarrow","\\Longrightarrow":"\\Longleftarrow","\\Longleftarrow":"\\Longrightarrow","\\hookrightarrow":"\\hookleftarrow","\\hookleftarrow":"\\hookrightarrow","\\mapsto":"\\mapsfrom","\\mapsfrom":"\\mapsto","\\rightleftharpoons":"\\leftrightharpoons","\\leftrightharpoons":"\\rightleftharpoons"},...{"\\langle":"\\rangle","\\rangle":"\\langle","\\lceil":"\\rceil","\\rceil":"\\lceil","\\lfloor":"\\rfloor","\\rfloor":"\\lfloor","\\lbrace":"\\rbrace","\\rbrace":"\\lbrace","\\lbrack":"\\rbrack","\\rbrack":"\\lbrack"},...{"\\sum":"\\sum","\\prod":"\\prod","\\int":"\\int","\\iint":"\\iint","\\iiint":"\\iiint","\\oint":"\\oint"}};function gi(r){return r.replace(/[\\^$*+?.()|[\]{}]/g,"\\$&")}function bi(r){const e=gi(r);return r.length===1?new RegExp(`(?<![A-Za-z\\\\])${e}(?![A-Za-z])`,"g"):new RegExp(e+"(?![A-Za-z])","g")}function Ha(r,e=!0){if(!e)return r;const t=Object.entries(vi).sort((o,h)=>h[0].length-o[0].length),a=new RegExp(t.map(([o])=>`(?:${bi(o).source})`).join("|"),"g"),n=new Map(t.map(([o,h])=>[o,h])),s=Yt(r);return r.replace(a,(...o)=>{var d;const h=o[0],m=o[1];return Zt(m,s)?h:(d=n.get(h))!=null?d:h})}const La=2e4,yi=256;class xi{constructor(e){ar(this,"capacity");ar(this,"map",new Map);this.capacity=e}get(e){const t=this.map.get(e);return t!==void 0&&(this.map.delete(e),this.map.set(e,t)),t}set(e,t){if(this.map.has(e))this.map.delete(e);else if(this.map.size>=this.capacity){const a=this.map.keys().next().value;a!==void 0&&this.map.delete(a)}this.map.set(e,t)}clear(){this.map.clear()}get size(){return this.map.size}}const _t=new xi(yi);function wi(){_t.clear()}function ki(r,e){return[r,e.numerals,e.formatNumbers,e.translateFuncs,e.translateVars,e.translateDiffs,JSON.stringify(e.customFunctionMap),JSON.stringify(e.customVariableMap),e.mirrorSymbols,e.mirrorBigOperators,e.mirrorSqrt,e.mirrorBrackets,e.direction,e.fontFamily,e.displayMode,e.fullArabicMode,e.operatorScale,JSON.stringify(e.macros),e.output,String(e.strict),e.trust,e.minRuleThickness].join("|")}const Pa={numerals:"arabic",formatNumbers:!0,translateFuncs:!0,translateVars:!0,translateDiffs:!0,customFunctionMap:{},customVariableMap:{},mirrorSymbols:!0,mirrorBigOperators:!0,mirrorSqrt:!0,mirrorBrackets:!0,direction:"rtl",fontFamily:"Amiri",displayMode:!1,fullArabicMode:!0,operatorScale:1.05,macros:{},throwOnError:!1,output:"html",strict:!1,trust:!1,minRuleThickness:.04};function K0(r={}){return{...Pa,...r}}function er(r,e={}){const t=K0(e);let a=r.length>La?r.slice(0,La):r;return a.trim()&&(t.translateFuncs&&(a=a.replace(/\\lim(?![A-Za-z])/g,"\\arabiLim")),t.translateDiffs&&(a=Ge(a)),t.translateFuncs&&(a=Jt(a,t.customFunctionMap)),t.translateVars&&(a=Qt(a,t.customVariableMap)),t.mirrorSymbols&&(a=Ha(a,!0)),t.numerals!=="latin"&&(a=Si(a,t.numerals,t.formatNumbers))),a}function Si(r,e,t){let a="",n=0;for(;n<r.length;){const s=r[n];if(s&&/[0-9]/.test(s)){const o=n>0?r[n-1]:"";if(o&&/[A-Za-z]/.test(o))a+=s;else{let h=n;for(;h<r.length;){const d=r[h];if(d&&/[0-9.,]/.test(d))h++;else break}const m=r.slice(n,h);a+=t?Wt(m):Xt(m,e),n=h;continue}}else a+=s!=null?s:"";n++}return a}function Ga(r={}){return{"\\جا":"\\operatorname{جا}","\\جتا":"\\operatorname{جتا}","\\ظا":"\\operatorname{ظا}","\\ظتا":"\\operatorname{ظتا}","\\قا":"\\operatorname{قا}","\\قتا":"\\operatorname{قتا}","\\لو":"\\operatorname{لو}","\\لغ":"\\operatorname{لغ}","\\نها":"\\operatorname*{نها}","\\نهى":"\\operatorname*{نها}","\\اقصى":"\\operatorname*{أقصى}","\\ادنى":"\\operatorname*{أدنى}","\\ت":"\\text{ت}","\\هـ":"\\text{هـ}",...r}}function Ua(r){const e=K0(r),t=["katex-arabic"];return e.mirrorBigOperators&&t.push("mirror-big-ops"),e.mirrorSqrt&&t.push("mirror-sqrt"),e.mirrorBrackets&&t.push("mirror-brackets"),e.mirrorSymbols&&t.push("mirror-symbols"),e.fullArabicMode&&t.push("full-rtl-mode"),e.displayMode?t.push("is-display"):t.push("is-inline"),t}function Ai(r,e){const t=K0(e);return`<span class="${Ua(t).join(" ")}" dir="${t.direction}" style="font-family:'${t.fontFamily}','KaTeX_Main',serif;direction:${t.direction};--ka-op-scale:${t.operatorScale};">${r}</span>`}function zi(r){return r.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function Va(r,e={}){return Ue(r,e).html}function Ue(r,e={}){var o;const t=K0(e),a=ki(r,t),n=_t.get(a);if(n!==void 0)return{html:n,error:null};const s=er(r,t);try{const h=Ia.renderToString(s,{displayMode:t.displayMode,throwOnError:!0,output:t.output,strict:t.strict,trust:t.trust,minRuleThickness:t.minRuleThickness,macros:{...Ga(t.macros),...(o=t.macros)!=null?o:{}}}),m=Ai(h,t);return _t.set(a,m),{html:m,error:null}}catch(h){const m=h instanceof Error?h.message:String(h);if(t.throwOnError)throw h instanceof Error?h:new Error(m);return console.error("[katex-arabic] render failed:",m,`
258
- LaTeX:`,r),{html:`<span class="katex-arabic katex-arabic--error" dir="rtl" role="alert" style="color:#dc2626;font-family:monospace;"><span class="katex-arabic__error-icon" aria-hidden="true">⚠</span> <span class="katex-arabic__error-text">${zi(r)}</span></span>`,error:m}}}function Mi(r,e,t={}){const a=Va(r,t);e.innerHTML=a,Di(e,t)}function Ti(r,e={}){return r.map(t=>typeof t=="string"?Ue(t,e):Ue(t.latex,{...e,...t.options}))}function Ci(r,e={}){return er(r,e)}function Bi(r,e={}){const t=K0(e),a=er(r,t);try{return Ia.renderToString(a,{displayMode:t.displayMode,throwOnError:!0,strict:t.strict,trust:t.trust}),null}catch(n){return n instanceof Error?n.message:String(n)}}function Di(r,e){const t=K0(e),a=r.querySelector(".katex");a&&(a.setAttribute("dir",t.direction),a.style.fontFamily=`'${t.fontFamily}', 'KaTeX_Main', serif`,a.style.direction=t.direction)}return{render:Mi,renderToString:Va,renderWithMeta:Ue,renderBatch:Ti,process:Ci,validate:Bi,toArabicNumerals:Xt,fromArabicNumerals:oi,formatArabicNumber:Wt,convertNumbersInText:ui,isArabicDigit:hi,translateFunctions:Jt,translateVariables:Qt,translateDifferentials:Ge,translateSpecialPatterns:fi,translateAll:pi,applyMirroredSymbols:Ha,resolveOptions:K0,buildCssClasses:Ua,getArabicMacros:Ga,clearCache:wi,DEFAULT_OPTIONS:Pa,VERSION:"1.1.1"}}));
258
+ LaTeX:`,r),{html:`<span class="katex-arabic katex-arabic--error" dir="rtl" role="alert" style="color:#dc2626;font-family:monospace;"><span class="katex-arabic__error-icon" aria-hidden="true">⚠</span> <span class="katex-arabic__error-text">${zi(r)}</span></span>`,error:m}}}function Mi(r,e,t={}){const a=Va(r,t);e.innerHTML=a,Di(e,t)}function Ti(r,e={}){return r.map(t=>typeof t=="string"?Ue(t,e):Ue(t.latex,{...e,...t.options}))}function Ci(r,e={}){return er(r,e)}function Bi(r,e={}){const t=K0(e),a=er(r,t);try{return Ia.renderToString(a,{displayMode:t.displayMode,throwOnError:!0,strict:t.strict,trust:t.trust}),null}catch(n){return n instanceof Error?n.message:String(n)}}function Di(r,e){const t=K0(e),a=r.querySelector(".katex");a&&(a.setAttribute("dir",t.direction),a.style.fontFamily=`'${t.fontFamily}', 'KaTeX_Main', serif`,a.style.direction=t.direction)}return{render:Mi,renderToString:Va,renderWithMeta:Ue,renderBatch:Ti,process:Ci,validate:Bi,toArabicNumerals:Xt,fromArabicNumerals:oi,formatArabicNumber:Wt,convertNumbersInText:ui,isArabicDigit:hi,translateFunctions:Jt,translateVariables:Qt,translateDifferentials:Ge,translateSpecialPatterns:fi,translateAll:pi,applyMirroredSymbols:Ha,resolveOptions:K0,buildCssClasses:Ua,getArabicMacros:Ga,clearCache:wi,DEFAULT_OPTIONS:Pa,VERSION:"1.1.2"}}));
@@ -255,4 +255,4 @@ l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
255
255
  ?)[ \r ]*`,Lt="[̀-ͯ]",Kn=new RegExp(Lt+"+$"),Jn="("+Aa+"+)|"+(Zn+"|")+"([!-\\[\\]-‧‪-퟿豈-￿]"+(Lt+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(Lt+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+Yn)+("|"+Wn+")");class za{constructor(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=new RegExp(Jn,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){var e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new p0("EOF",new h0(this,t,t));var a=this.tokenRegex.exec(e);if(a===null||a.index!==t)throw new w("Unexpected character: '"+e[t]+"'",new p0(e[t],new h0(this,t,t+1)));var n=a[6]||a[3]||(a[2]?"\\ ":" ");if(this.catcodes[n]===14){var s=e.indexOf(`
256
256
  `,this.tokenRegex.lastIndex);return s===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=s+1,this.lex()}return new p0(n,new h0(this,t,this.tokenRegex.lastIndex))}}class Qn{constructor(e,t){e===void 0&&(e={}),t===void 0&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new w("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var t of Object.keys(e))e[t]===void 0?delete this.current[t]:this.current[t]=e[t]}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return Object.prototype.hasOwnProperty.call(this.current,e)||Object.prototype.hasOwnProperty.call(this.builtins,e)}get(e){return Object.prototype.hasOwnProperty.call(this.current,e)?this.current[e]:Object.prototype.hasOwnProperty.call(this.builtins,e)?this.builtins[e]:void 0}set(e,t,a){if(a===void 0&&(a=!1),a){for(var n=0;n<this.undefStack.length;n++)delete this.undefStack[n][e];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var s=this.undefStack[this.undefStack.length-1];s&&!Object.prototype.hasOwnProperty.call(s,e)&&(s[e]=Object.prototype.hasOwnProperty.call(this.current,e)?this.current[e]:void 0)}t==null?delete this.current[e]:this.current[e]=t}}var _n=ea;c("\\noexpand",function(r){var e=r.popToken();return r.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}}),c("\\expandafter",function(r){var e=r.popToken();return r.expandOnce(!0),{tokens:[e],numArgs:0}}),c("\\@firstoftwo",function(r){var e=r.consumeArgs(2);return{tokens:e[0],numArgs:0}}),c("\\@secondoftwo",function(r){var e=r.consumeArgs(2);return{tokens:e[1],numArgs:0}}),c("\\@ifnextchar",function(r){var e=r.consumeArgs(3);r.consumeSpaces();var t=r.future();return e[0].length===1&&e[0][0].text===t.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}}),c("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),c("\\TextOrMath",function(r){var e=r.consumeArgs(2);return r.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var Ma={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};c("\\char",function(r){var e=r.popToken(),t,a=0;if(e.text==="'")t=8,e=r.popToken();else if(e.text==='"')t=16,e=r.popToken();else if(e.text==="`")if(e=r.popToken(),e.text[0]==="\\")a=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new w("\\char` missing argument");a=e.text.charCodeAt(0)}else t=10;if(t){if(a=Ma[e.text],a==null||a>=t)throw new w("Invalid base-"+t+" digit "+e.text);for(var n;(n=Ma[r.future().text])!=null&&n<t;)a*=t,a+=n,r.popToken()}return"\\@char{"+a+"}"});var Pt=(r,e,t,a)=>{var n=r.consumeArg().tokens;if(n.length!==1)throw new w("\\newcommand's first argument must be a macro name");var s=n[0].text,o=r.isDefined(s);if(o&&!e)throw new w("\\newcommand{"+s+"} attempting to redefine "+(s+"; use \\renewcommand"));if(!o&&!t)throw new w("\\renewcommand{"+s+"} when command "+s+" does not yet exist; use \\newcommand");var h=0;if(n=r.consumeArg().tokens,n.length===1&&n[0].text==="["){for(var m="",d=r.expandNextToken();d.text!=="]"&&d.text!=="EOF";)m+=d.text,d=r.expandNextToken();if(!m.match(/^\s*[0-9]+\s*$/))throw new w("Invalid number of arguments: "+m);h=parseInt(m),n=r.consumeArg().tokens}return o&&a||r.macros.set(s,{tokens:n,numArgs:h}),""};c("\\newcommand",r=>Pt(r,!1,!0,!1)),c("\\renewcommand",r=>Pt(r,!0,!1,!1)),c("\\providecommand",r=>Pt(r,!0,!0,!0)),c("\\message",r=>{var e=r.consumeArgs(1)[0];return console.log(e.reverse().map(t=>t.text).join("")),""}),c("\\errmessage",r=>{var e=r.consumeArgs(1)[0];return console.error(e.reverse().map(t=>t.text).join("")),""}),c("\\show",r=>{var e=r.popToken(),t=e.text;return console.log(e,r.macros.get(t),U0[t],W.math[t],W.text[t]),""}),c("\\bgroup","{"),c("\\egroup","}"),c("~","\\nobreakspace"),c("\\lq","`"),c("\\rq","'"),c("\\aa","\\r a"),c("\\AA","\\r A"),c("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}"),c("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),c("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"),c("ℬ","\\mathscr{B}"),c("ℰ","\\mathscr{E}"),c("ℱ","\\mathscr{F}"),c("ℋ","\\mathscr{H}"),c("ℐ","\\mathscr{I}"),c("ℒ","\\mathscr{L}"),c("ℳ","\\mathscr{M}"),c("ℛ","\\mathscr{R}"),c("ℭ","\\mathfrak{C}"),c("ℌ","\\mathfrak{H}"),c("ℨ","\\mathfrak{Z}"),c("\\Bbbk","\\Bbb{k}"),c("\\llap","\\mathllap{\\textrm{#1}}"),c("\\rlap","\\mathrlap{\\textrm{#1}}"),c("\\clap","\\mathclap{\\textrm{#1}}"),c("\\mathstrut","\\vphantom{(}"),c("\\underbar","\\underline{\\text{#1}}"),c("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}'),c("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"),c("\\ne","\\neq"),c("≠","\\neq"),c("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}"),c("∉","\\notin"),c("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}"),c("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}"),c("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}"),c("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}"),c("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}"),c("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}"),c("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}"),c("⟂","\\perp"),c("‼","\\mathclose{!\\mkern-0.8mu!}"),c("∌","\\notni"),c("⌜","\\ulcorner"),c("⌝","\\urcorner"),c("⌞","\\llcorner"),c("⌟","\\lrcorner"),c("©","\\copyright"),c("®","\\textregistered"),c("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}'),c("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}'),c("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}'),c("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}'),c("\\vdots","{\\varvdots\\rule{0pt}{15pt}}"),c("⋮","\\vdots"),c("\\varGamma","\\mathit{\\Gamma}"),c("\\varDelta","\\mathit{\\Delta}"),c("\\varTheta","\\mathit{\\Theta}"),c("\\varLambda","\\mathit{\\Lambda}"),c("\\varXi","\\mathit{\\Xi}"),c("\\varPi","\\mathit{\\Pi}"),c("\\varSigma","\\mathit{\\Sigma}"),c("\\varUpsilon","\\mathit{\\Upsilon}"),c("\\varPhi","\\mathit{\\Phi}"),c("\\varPsi","\\mathit{\\Psi}"),c("\\varOmega","\\mathit{\\Omega}"),c("\\substack","\\begin{subarray}{c}#1\\end{subarray}"),c("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax"),c("\\boxed","\\fbox{$\\displaystyle{#1}$}"),c("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;"),c("\\implies","\\DOTSB\\;\\Longrightarrow\\;"),c("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;"),c("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}"),c("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var Ta={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"},ei=new Set(["bin","rel"]);c("\\dots",function(r){var e="\\dotso",t=r.expandAfterFuture().text;return t in Ta?e=Ta[t]:(t.slice(0,4)==="\\not"||t in W.math&&ei.has(W.math[t].group))&&(e="\\dotsb"),e});var Gt={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};c("\\dotso",function(r){var e=r.future().text;return e in Gt?"\\ldots\\,":"\\ldots"}),c("\\dotsc",function(r){var e=r.future().text;return e in Gt&&e!==","?"\\ldots\\,":"\\ldots"}),c("\\cdots",function(r){var e=r.future().text;return e in Gt?"\\@cdots\\,":"\\@cdots"}),c("\\dotsb","\\cdots"),c("\\dotsm","\\cdots"),c("\\dotsi","\\!\\cdots"),c("\\dotsx","\\ldots\\,"),c("\\DOTSI","\\relax"),c("\\DOTSB","\\relax"),c("\\DOTSX","\\relax"),c("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),c("\\,","\\tmspace+{3mu}{.1667em}"),c("\\thinspace","\\,"),c("\\>","\\mskip{4mu}"),c("\\:","\\tmspace+{4mu}{.2222em}"),c("\\medspace","\\:"),c("\\;","\\tmspace+{5mu}{.2777em}"),c("\\thickspace","\\;"),c("\\!","\\tmspace-{3mu}{.1667em}"),c("\\negthinspace","\\!"),c("\\negmedspace","\\tmspace-{4mu}{.2222em}"),c("\\negthickspace","\\tmspace-{5mu}{.277em}"),c("\\enspace","\\kern.5em "),c("\\enskip","\\hskip.5em\\relax"),c("\\quad","\\hskip1em\\relax"),c("\\qquad","\\hskip2em\\relax"),c("\\tag","\\@ifstar\\tag@literal\\tag@paren"),c("\\tag@paren","\\tag@literal{({#1})}"),c("\\tag@literal",r=>{if(r.macros.get("\\df@tag"))throw new w("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"}),c("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),c("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),c("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),c("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),c("\\newline","\\\\\\relax"),c("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var Ca=z(k0["Main-Regular"][84][1]-.7*k0["Main-Regular"][65][1]);c("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+Ca+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}"),c("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+Ca+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}"),c("\\hspace","\\@ifstar\\@hspacer\\@hspace"),c("\\@hspace","\\hskip #1\\relax"),c("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),c("\\ordinarycolon",":"),c("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),c("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),c("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),c("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),c("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),c("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),c("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),c("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),c("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),c("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),c("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),c("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),c("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),c("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),c("∷","\\dblcolon"),c("∹","\\eqcolon"),c("≔","\\coloneqq"),c("≕","\\eqqcolon"),c("⩴","\\Coloneqq"),c("\\ratio","\\vcentcolon"),c("\\coloncolon","\\dblcolon"),c("\\colonequals","\\coloneqq"),c("\\coloncolonequals","\\Coloneqq"),c("\\equalscolon","\\eqqcolon"),c("\\equalscoloncolon","\\Eqqcolon"),c("\\colonminus","\\coloneq"),c("\\coloncolonminus","\\Coloneq"),c("\\minuscolon","\\eqcolon"),c("\\minuscoloncolon","\\Eqcolon"),c("\\coloncolonapprox","\\Colonapprox"),c("\\coloncolonsim","\\Colonsim"),c("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),c("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),c("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),c("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),c("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}"),c("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),c("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),c("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}"),c("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}"),c("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}"),c("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}"),c("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}"),c("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}"),c("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}"),c("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}"),c("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}"),c("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}"),c("\\nleqq","\\html@mathml{\\@nleqq}{≰}"),c("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}"),c("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}"),c("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}"),c("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}"),c("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}"),c("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}"),c("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}"),c("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}"),c("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}"),c("\\imath","\\html@mathml{\\@imath}{ı}"),c("\\jmath","\\html@mathml{\\@jmath}{ȷ}"),c("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}"),c("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}"),c("⟦","\\llbracket"),c("⟧","\\rrbracket"),c("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}"),c("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}"),c("⦃","\\lBrace"),c("⦄","\\rBrace"),c("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}"),c("⦵","\\minuso"),c("\\darr","\\downarrow"),c("\\dArr","\\Downarrow"),c("\\Darr","\\Downarrow"),c("\\lang","\\langle"),c("\\rang","\\rangle"),c("\\uarr","\\uparrow"),c("\\uArr","\\Uparrow"),c("\\Uarr","\\Uparrow"),c("\\N","\\mathbb{N}"),c("\\R","\\mathbb{R}"),c("\\Z","\\mathbb{Z}"),c("\\alef","\\aleph"),c("\\alefsym","\\aleph"),c("\\Alpha","\\mathrm{A}"),c("\\Beta","\\mathrm{B}"),c("\\bull","\\bullet"),c("\\Chi","\\mathrm{X}"),c("\\clubs","\\clubsuit"),c("\\cnums","\\mathbb{C}"),c("\\Complex","\\mathbb{C}"),c("\\Dagger","\\ddagger"),c("\\diamonds","\\diamondsuit"),c("\\empty","\\emptyset"),c("\\Epsilon","\\mathrm{E}"),c("\\Eta","\\mathrm{H}"),c("\\exist","\\exists"),c("\\harr","\\leftrightarrow"),c("\\hArr","\\Leftrightarrow"),c("\\Harr","\\Leftrightarrow"),c("\\hearts","\\heartsuit"),c("\\image","\\Im"),c("\\infin","\\infty"),c("\\Iota","\\mathrm{I}"),c("\\isin","\\in"),c("\\Kappa","\\mathrm{K}"),c("\\larr","\\leftarrow"),c("\\lArr","\\Leftarrow"),c("\\Larr","\\Leftarrow"),c("\\lrarr","\\leftrightarrow"),c("\\lrArr","\\Leftrightarrow"),c("\\Lrarr","\\Leftrightarrow"),c("\\Mu","\\mathrm{M}"),c("\\natnums","\\mathbb{N}"),c("\\Nu","\\mathrm{N}"),c("\\Omicron","\\mathrm{O}"),c("\\plusmn","\\pm"),c("\\rarr","\\rightarrow"),c("\\rArr","\\Rightarrow"),c("\\Rarr","\\Rightarrow"),c("\\real","\\Re"),c("\\reals","\\mathbb{R}"),c("\\Reals","\\mathbb{R}"),c("\\Rho","\\mathrm{P}"),c("\\sdot","\\cdot"),c("\\sect","\\S"),c("\\spades","\\spadesuit"),c("\\sub","\\subset"),c("\\sube","\\subseteq"),c("\\supe","\\supseteq"),c("\\Tau","\\mathrm{T}"),c("\\thetasym","\\vartheta"),c("\\weierp","\\wp"),c("\\Zeta","\\mathrm{Z}"),c("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),c("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),c("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),c("\\bra","\\mathinner{\\langle{#1}|}"),c("\\ket","\\mathinner{|{#1}\\rangle}"),c("\\braket","\\mathinner{\\langle{#1}\\rangle}"),c("\\Bra","\\left\\langle#1\\right|"),c("\\Ket","\\left|#1\\right\\rangle");var Ba=r=>e=>{var t=e.consumeArg().tokens,a=e.consumeArg().tokens,n=e.consumeArg().tokens,s=e.consumeArg().tokens,o=e.macros.get("|"),h=e.macros.get("\\|");e.macros.beginGroup();var m=b=>y=>{r&&(y.macros.set("|",o),n.length&&y.macros.set("\\|",h));var x=b;if(!b&&n.length){var M=y.future();M.text==="|"&&(y.popToken(),x=!0)}return{tokens:x?n:a,numArgs:0}};e.macros.set("|",m(!1)),n.length&&e.macros.set("\\|",m(!0));var d=e.consumeArg().tokens,v=e.expandTokens([...s,...d,...t]);return e.macros.endGroup(),{tokens:v.reverse(),numArgs:0}};c("\\bra@ket",Ba(!1)),c("\\bra@set",Ba(!0)),c("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}"),c("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}"),c("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}"),c("\\angln","{\\angl n}"),c("\\blue","\\textcolor{##6495ed}{#1}"),c("\\orange","\\textcolor{##ffa500}{#1}"),c("\\pink","\\textcolor{##ff00af}{#1}"),c("\\red","\\textcolor{##df0030}{#1}"),c("\\green","\\textcolor{##28ae7b}{#1}"),c("\\gray","\\textcolor{gray}{#1}"),c("\\purple","\\textcolor{##9d38bd}{#1}"),c("\\blueA","\\textcolor{##ccfaff}{#1}"),c("\\blueB","\\textcolor{##80f6ff}{#1}"),c("\\blueC","\\textcolor{##63d9ea}{#1}"),c("\\blueD","\\textcolor{##11accd}{#1}"),c("\\blueE","\\textcolor{##0c7f99}{#1}"),c("\\tealA","\\textcolor{##94fff5}{#1}"),c("\\tealB","\\textcolor{##26edd5}{#1}"),c("\\tealC","\\textcolor{##01d1c1}{#1}"),c("\\tealD","\\textcolor{##01a995}{#1}"),c("\\tealE","\\textcolor{##208170}{#1}"),c("\\greenA","\\textcolor{##b6ffb0}{#1}"),c("\\greenB","\\textcolor{##8af281}{#1}"),c("\\greenC","\\textcolor{##74cf70}{#1}"),c("\\greenD","\\textcolor{##1fab54}{#1}"),c("\\greenE","\\textcolor{##0d923f}{#1}"),c("\\goldA","\\textcolor{##ffd0a9}{#1}"),c("\\goldB","\\textcolor{##ffbb71}{#1}"),c("\\goldC","\\textcolor{##ff9c39}{#1}"),c("\\goldD","\\textcolor{##e07d10}{#1}"),c("\\goldE","\\textcolor{##a75a05}{#1}"),c("\\redA","\\textcolor{##fca9a9}{#1}"),c("\\redB","\\textcolor{##ff8482}{#1}"),c("\\redC","\\textcolor{##f9685d}{#1}"),c("\\redD","\\textcolor{##e84d39}{#1}"),c("\\redE","\\textcolor{##bc2612}{#1}"),c("\\maroonA","\\textcolor{##ffbde0}{#1}"),c("\\maroonB","\\textcolor{##ff92c6}{#1}"),c("\\maroonC","\\textcolor{##ed5fa6}{#1}"),c("\\maroonD","\\textcolor{##ca337c}{#1}"),c("\\maroonE","\\textcolor{##9e034e}{#1}"),c("\\purpleA","\\textcolor{##ddd7ff}{#1}"),c("\\purpleB","\\textcolor{##c6b9fc}{#1}"),c("\\purpleC","\\textcolor{##aa87ff}{#1}"),c("\\purpleD","\\textcolor{##7854ab}{#1}"),c("\\purpleE","\\textcolor{##543b78}{#1}"),c("\\mintA","\\textcolor{##f5f9e8}{#1}"),c("\\mintB","\\textcolor{##edf2df}{#1}"),c("\\mintC","\\textcolor{##e0e5cc}{#1}"),c("\\grayA","\\textcolor{##f6f7f7}{#1}"),c("\\grayB","\\textcolor{##f0f1f2}{#1}"),c("\\grayC","\\textcolor{##e3e5e6}{#1}"),c("\\grayD","\\textcolor{##d6d8da}{#1}"),c("\\grayE","\\textcolor{##babec2}{#1}"),c("\\grayF","\\textcolor{##888d93}{#1}"),c("\\grayG","\\textcolor{##626569}{#1}"),c("\\grayH","\\textcolor{##3b3e40}{#1}"),c("\\grayI","\\textcolor{##21242c}{#1}"),c("\\kaBlue","\\textcolor{##314453}{#1}"),c("\\kaGreen","\\textcolor{##71B307}{#1}");var Da={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class ti{constructor(e,t,a){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new Qn(_n,t.macros),this.mode=a,this.stack=[]}feed(e){this.lexer=new za(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var t,a,n;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;t=this.popToken();var s=this.consumeArg(["]"]);n=s.tokens,a=s.end}else{var o=this.consumeArg();n=o.tokens,t=o.start,a=o.end}return this.pushToken(new p0("EOF",a.loc)),this.pushTokens(n),new p0("",h0.range(t,a))}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var t=[],a=e&&e.length>0;a||this.consumeSpaces();var n=this.future(),s,o=0,h=0;do{if(s=this.popToken(),t.push(s),s.text==="{")++o;else if(s.text==="}"){if(--o,o===-1)throw new w("Extra }",s)}else if(s.text==="EOF")throw new w("Unexpected end of input in a macro argument, expected '"+(e&&a?e[h]:"}")+"'",s);if(e&&a)if((o===0||o===1&&e[h]==="{")&&s.text===e[h]){if(++h,h===e.length){t.splice(-h,h);break}}else h=0}while(o!==0||a);return n.text==="{"&&t[t.length-1].text==="}"&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:n,end:s}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new w("The length of delimiters doesn't match the number of args!");for(var a=t[0],n=0;n<a.length;n++){var s=this.popToken();if(a[n]!==s.text)throw new w("Use of the macro doesn't match its definition",s)}}for(var o=[],h=0;h<e;h++)o.push(this.consumeArg(t&&t[h+1]).tokens);return o}countExpansion(e){if(this.expansionCount+=e,this.expansionCount>this.settings.maxExpand)throw new w("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var t=this.popToken(),a=t.text,n=t.noexpand?null:this._getExpansion(a);if(n==null||e&&n.unexpandable){if(e&&n==null&&a[0]==="\\"&&!this.isDefined(a))throw new w("Undefined control sequence: "+a);return this.pushToken(t),!1}this.countExpansion(1);var s=n.tokens,o=this.consumeArgs(n.numArgs,n.delimiters);if(n.numArgs){s=s.slice();for(var h=s.length-1;h>=0;--h){var m=s[h];if(m.text==="#"){if(h===0)throw new w("Incomplete placeholder at end of macro body",m);if(m=s[--h],m.text==="#")s.splice(h+1,1);else if(/^[1-9]$/.test(m.text))s.splice(h,2,...o[+m.text-1]);else throw new w("Not a valid argument number",m)}}}return this.pushTokens(s),s.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}}expandMacro(e){return this.macros.has(e)?this.expandTokens([new p0(e)]):void 0}expandTokens(e){var t=[],a=this.stack.length;for(this.pushTokens(e);this.stack.length>a;)if(this.expandOnce(!0)===!1){var n=this.stack.pop();n.treatAsRelax&&(n.noexpand=!1,n.treatAsRelax=!1),t.push(n)}return this.countExpansion(t.length),t}expandMacroAsText(e){var t=this.expandMacro(e);return t&&t.map(a=>a.text).join("")}_getExpansion(e){var t=this.macros.get(e);if(t==null)return t;if(e.length===1){var a=this.lexer.catcodes[e];if(a!=null&&a!==13)return}var n=typeof t=="function"?t(this):t;if(typeof n=="string"){var s=0;if(n.includes("#"))for(var o=n.replace(/##/g,"");o.includes("#"+(s+1));)++s;for(var h=new za(n,this.settings),m=[],d=h.lex();d.text!=="EOF";)m.push(d),d=h.lex();m.reverse();var v={tokens:m,numArgs:s};return v}return n}isDefined(e){return this.macros.has(e)||Object.prototype.hasOwnProperty.call(U0,e)||Object.prototype.hasOwnProperty.call(W.math,e)||Object.prototype.hasOwnProperty.call(W.text,e)||Object.prototype.hasOwnProperty.call(Da,e)}isExpandable(e){var t=this.macros.get(e);return t!=null?typeof t=="string"||typeof t=="function"||!t.unexpandable:Object.prototype.hasOwnProperty.call(U0,e)&&!U0[e].primitive}}var qa=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,Le=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),Ut={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},Ra={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};class Pe{constructor(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new ti(e,t,this.mode),this.settings=t,this.leftrightDepth=0,this.nextToken=null}expect(e,t){if(t===void 0&&(t=!0),this.fetch().text!==e)throw new w("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var t=this.nextToken;this.consume(),this.gullet.pushToken(new p0("}")),this.gullet.pushTokens(e);var a=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,a}parseExpression(e,t){for(var a=[];;){this.mode==="math"&&this.consumeSpaces();var n=this.fetch();if(Pe.endOfExpression.has(n.text)||t&&n.text===t||e&&U0[n.text]&&U0[n.text].infix)break;var s=this.parseAtom(t);if(s){if(s.type==="internal")continue}else break;a.push(s)}return this.mode==="text"&&this.formLigatures(a),this.handleInfixNodes(a)}handleInfixNodes(e){for(var t=-1,a,n=0;n<e.length;n++){var s=e[n];if(s.type==="infix"){if(t!==-1)throw new w("only one infix operator per group",s.token);t=n,a=s.replaceWith}}if(t!==-1&&a){var o,h,m=e.slice(0,t),d=e.slice(t+1);m.length===1&&m[0].type==="ordgroup"?o=m[0]:o={type:"ordgroup",mode:this.mode,body:m},d.length===1&&d[0].type==="ordgroup"?h=d[0]:h={type:"ordgroup",mode:this.mode,body:d};var v;return a==="\\\\abovefrac"?v=this.callFunction(a,[o,e[t],h],[]):v=this.callFunction(a,[o,h],[]),[v]}else return e}handleSupSubscript(e){var t=this.fetch(),a=t.text;this.consume(),this.consumeSpaces();var n;do{var s;n=this.parseGroup(e)}while(((s=n)==null?void 0:s.type)==="internal");if(!n)throw new w("Expected group after '"+a+"'",t);return n}formatUnsupportedCmd(e){for(var t=[],a=0;a<e.length;a++)t.push({type:"textord",mode:"text",text:e[a]});var n={type:"text",mode:this.mode,body:t},s={type:"color",mode:this.mode,color:this.settings.errorColor,body:[n]};return s}parseAtom(e){var t=this.parseGroup("atom",e);if((t==null?void 0:t.type)==="internal"||this.mode==="text")return t;for(var a,n;;){this.consumeSpaces();var s=this.fetch();if(s.text==="\\limits"||s.text==="\\nolimits"){if(t&&t.type==="op")t.limits=s.text==="\\limits",t.alwaysHandleSupSub=!0;else if(t&&t.type==="operatorname")t.alwaysHandleSupSub&&(t.limits=s.text==="\\limits");else throw new w("Limit controls must follow a math operator",s);this.consume()}else if(s.text==="^"){if(a)throw new w("Double superscript",s);a=this.handleSupSubscript("superscript")}else if(s.text==="_"){if(n)throw new w("Double subscript",s);n=this.handleSupSubscript("subscript")}else if(s.text==="'"){if(a)throw new w("Double superscript",s);var o={type:"textord",mode:this.mode,text:"\\prime"},h=[o];for(this.consume();this.fetch().text==="'";)h.push(o),this.consume();this.fetch().text==="^"&&h.push(this.handleSupSubscript("superscript")),a={type:"ordgroup",mode:this.mode,body:h}}else if(Le[s.text]){var m=qa.test(s.text),d=[];for(d.push(new p0(Le[s.text])),this.consume();;){var v=this.fetch().text;if(!Le[v]||qa.test(v)!==m)break;d.unshift(new p0(Le[v])),this.consume()}var b=this.subparse(d);m?n={type:"ordgroup",mode:"math",body:b}:a={type:"ordgroup",mode:"math",body:b}}else break}return a&&n?{type:"supsub",mode:this.mode,base:t,sup:a,sub:n}:a?{type:"supsub",mode:this.mode,base:t,sup:a}:n?{type:"supsub",mode:this.mode,base:t,sub:n}:t}parseFunction(e,t){var a=this.fetch(),n=a.text,s=U0[n];if(!s)return null;if(this.consume(),t&&t!=="atom"&&!s.allowedInArgument)throw new w("Got function '"+n+"' with no arguments"+(t?" as "+t:""),a);if(this.mode==="text"&&!s.allowedInText)throw new w("Can't use function '"+n+"' in text mode",a);if(this.mode==="math"&&s.allowedInMath===!1)throw new w("Can't use function '"+n+"' in math mode",a);var o=this.parseArguments(n,s),h=o.args,m=o.optArgs;return this.callFunction(n,h,m,a,e)}callFunction(e,t,a,n,s){var o={funcName:e,parser:this,token:n,breakOnTokenText:s},h=U0[e];if(h&&h.handler)return h.handler(o,t,a);throw new w("No function handler for "+e)}parseArguments(e,t){var a,n=(a=t.numOptionalArgs)!=null?a:0,s=t.numArgs+n;if(s===0)return{args:[],optArgs:[]};for(var o=[],h=[],m=0;m<s;m++){var d,v=(d=t.argTypes)==null?void 0:d[m],b=m<n;("primitive"in t&&t.primitive&&v==null||t.type==="sqrt"&&m===1&&h[0]==null)&&(v="primitive");var y=this.parseGroupOfType("argument to '"+e+"'",v,b);if(b)h.push(y);else if(y!=null)o.push(y);else throw new w("Null argument, please report this as a bug")}return{args:o,optArgs:h}}parseGroupOfType(e,t,a){switch(t){case"color":return this.parseColorGroup(a);case"size":return this.parseSizeGroup(a);case"url":return this.parseUrlGroup(a);case"math":case"text":return this.parseArgumentGroup(a,t);case"hbox":{var n=this.parseArgumentGroup(a,"text");return n!=null?{type:"styling",mode:n.mode,body:[n],style:"text",resetFont:!0}:null}case"raw":{var s=this.parseStringGroup(a);return s!=null?{type:"raw",mode:"text",string:s.text}:null}case"primitive":{if(a)throw new w("A primitive argument cannot be optional");var o=this.parseGroup(e);if(o==null)throw new w("Expected group as "+e,this.fetch());return o}case"original":case void 0:return this.parseArgumentGroup(a);default:throw new w("Unknown group type as "+e,this.fetch())}}consumeSpaces(){for(;this.fetch().text===" ";)this.consume()}parseStringGroup(e){var t=this.gullet.scanArgument(e);if(t==null)return null;for(var a="",n;(n=this.fetch()).text!=="EOF";)a+=n.text,this.consume();return this.consume(),t.text=a,t}parseRegexGroup(e,t){for(var a=this.fetch(),n=a,s="",o;(o=this.fetch()).text!=="EOF"&&e.test(s+o.text);)n=o,s+=n.text,this.consume();if(s==="")throw new w("Invalid "+t+": '"+a.text+"'",a);return a.range(n,s)}parseColorGroup(e){var t=this.parseStringGroup(e);if(t==null)return null;var a=/^(#[a-f0-9]{3,4}|#[a-f0-9]{6}|#[a-f0-9]{8}|[a-f0-9]{6}|[a-z]+)$/i.exec(t.text);if(!a)throw new w("Invalid color: '"+t.text+"'",t);var n=a[0];return/^[0-9a-f]{6}$/i.test(n)&&(n="#"+n),{type:"color-token",mode:this.mode,color:n}}parseSizeGroup(e){var t,a=!1;if(this.gullet.consumeSpaces(),!e&&this.gullet.future().text!=="{"?t=this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size"):t=this.parseStringGroup(e),!t)return null;!e&&t.text.length===0&&(t.text="0pt",a=!0);var n=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t.text);if(!n)throw new w("Invalid size: '"+t.text+"'",t);var s={number:+(n[1]+n[2]),unit:n[3]};if(!sr(s))throw new w("Invalid unit: '"+s.unit+"'",t);return{type:"size",mode:this.mode,value:s,isBlank:a}}parseUrlGroup(e){this.gullet.lexer.setCatcode("%",13),this.gullet.lexer.setCatcode("~",12);var t=this.parseStringGroup(e);if(this.gullet.lexer.setCatcode("%",14),this.gullet.lexer.setCatcode("~",13),t==null)return null;var a=t.text.replace(/\\([#$%&~_^{}])/g,"$1");return{type:"url",mode:this.mode,url:a}}parseArgumentGroup(e,t){var a=this.gullet.scanArgument(e);if(a==null)return null;var n=this.mode;t&&this.switchMode(t),this.gullet.beginGroup();var s=this.parseExpression(!1,"EOF");this.expect("EOF"),this.gullet.endGroup();var o={type:"ordgroup",mode:this.mode,loc:a.loc,body:s};return t&&this.switchMode(n),o}parseGroup(e,t){var a=this.fetch(),n=a.text,s;if(n==="{"||n==="\\begingroup"){this.consume();var o=n==="{"?"}":"\\endgroup";this.gullet.beginGroup();var h=this.parseExpression(!1,o),m=this.fetch();this.expect(o),this.gullet.endGroup(),s={type:"ordgroup",mode:this.mode,loc:h0.range(a,m),body:h,semisimple:n==="\\begingroup"||void 0}}else if(s=this.parseFunction(t,e)||this.parseSymbol(),s==null&&n[0]==="\\"&&!Object.prototype.hasOwnProperty.call(Da,n)){if(this.settings.throwOnError)throw new w("Undefined control sequence: "+n,a);s=this.formatUnsupportedCmd(n),this.consume()}return s}formLigatures(e){for(var t=e.length-1,a=0;a<t;++a){var n=e[a];if(n.type==="textord"){var s=n.text,o=e[a+1];if(!(!o||o.type!=="textord")){if(s==="-"&&o.text==="-"){var h=e[a+2];a+1<t&&h&&h.type==="textord"&&h.text==="-"?(e.splice(a,3,{type:"textord",mode:"text",loc:h0.range(n,h),text:"---"}),t-=2):(e.splice(a,2,{type:"textord",mode:"text",loc:h0.range(n,o),text:"--"}),t-=1)}(s==="'"||s==="`")&&o.text===s&&(e.splice(a,2,{type:"textord",mode:"text",loc:h0.range(n,o),text:s+s}),t-=1)}}}}parseSymbol(){var e=this.fetch(),t=e.text;if(/^\\verb[^a-zA-Z]/.test(t)){this.consume();var a=t.slice(5),n=a.charAt(0)==="*";if(n&&(a=a.slice(1)),a.length<2||a.charAt(0)!==a.slice(-1))throw new w(`\\verb assertion failed --
257
257
  please report what input caused this bug`);return a=a.slice(1,-1),{type:"verb",mode:"text",body:a,star:n}}Object.prototype.hasOwnProperty.call(Ra,t[0])&&!W[this.mode][t[0]]&&(this.settings.strict&&this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+t[0]+'" used in math mode',e),t=Ra[t[0]]+t.slice(1));var s=Kn.exec(t);s&&(t=t.substring(0,s.index),t==="i"?t="ı":t==="j"&&(t="ȷ"));var o;if(W[this.mode][t]){this.settings.strict&&this.mode==="math"&&ot.includes(t)&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);var h=W[this.mode][t].group,m=h0.range(e),d;ln(h)?d={type:"atom",mode:this.mode,family:h,loc:m,text:t}:d={type:h,mode:this.mode,loc:m,text:t},o=d}else if(t.charCodeAt(0)>=128)this.settings.strict&&(nr(t.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'"'+(" ("+t.charCodeAt(0)+")"),e)),o={type:"textord",mode:"text",loc:h0.range(e),text:t};else return null;if(this.consume(),s)for(var v=0;v<s[0].length;v++){var b=s[0][v];if(!Ut[b])throw new w("Unknown accent ' "+b+"'",e);var y=Ut[b][this.mode]||Ut[b].text;if(!y)throw new w("Accent "+b+" unsupported in "+this.mode+" mode",e);o={type:"accent",mode:this.mode,loc:h0.range(e),label:y,isStretchy:!1,isShifty:!0,base:o}}return o}}Pe.endOfExpression=new Set(["}","\\endgroup","\\end","\\right","&"]);var Vt=function(e,t){if(!(typeof e=="string"||e instanceof String))throw new TypeError("KaTeX can only parse string typed expression");var a=new Pe(e,t);delete a.gullet.macros.current["\\df@tag"];var n=a.parse();if(delete a.gullet.macros.current["\\current@color"],delete a.gullet.macros.current["\\color"],a.gullet.macros.get("\\df@tag")){if(!t.displayMode)throw new w("\\tag works only in display equations");n=[{type:"tag",mode:"text",body:n,tag:a.subparse([new p0("\\df@tag")])}]}return n},Na=function(e,t,a){t.textContent="";var n=$t(e,a).toNode();t.appendChild(n)};typeof document!="undefined"&&document.compatMode!=="CSS1Compat"&&(typeof console!="undefined"&&console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."),Na=function(){throw new w("KaTeX doesn't work in quirks mode.")});var ri=function(e,t){var a=$t(e,t).toMarkup();return a},ai=function(e,t){var a=new Ke(t);return Vt(e,a)},Ea=function(e,t,a){if(a.throwOnError||!(e instanceof w))throw e;var n=S(["katex-error"],[new m0(t)]);return n.setAttribute("title",e.toString()),n.setAttribute("style","color:"+a.errorColor),n},$t=function(e,t){var a=new Ke(t);try{var n=Vt(e,a);return K1(n,e,a)}catch(s){return Ea(s,e,a)}},ni=function(e,t){var a=new Ke(t);try{var n=Vt(e,a);return J1(n,e,a)}catch(s){return Ea(s,e,a)}},ii="0.18.4",si={Span:re,Anchor:ke,SymbolNode:m0,SvgNode:B0,PathNode:F0,LineNode:tt},Ia={version:ii,render:Na,renderToString:ri,ParseError:w,SETTINGS_SCHEMA:Ze,__parse:ai,__renderToDomTree:$t,__renderToHTMLTree:ni,__setFontMetrics:q1,__defineSymbol:i,__defineFunction:B,__defineMacro:c,__domTree:si};const jt=["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"],Oa=["۰","۱","۲","۳","۴","۵","۶","۷","۸","۹"],li={arabic:jt,extended:Oa};function Xt(r,e="arabic"){if(e==="latin")return String(r);const t=li[e];return String(r).replace(/[0-9]/g,a=>t[Number(a)])}function oi(r){return String(r).replace(/[٠-٩]/g,e=>String(jt.indexOf(e))).replace(/[۰-۹]/g,e=>String(Oa.indexOf(e)))}function Wt(r){return r.replace(/,/g,"٬").replace(/\./g,"٫").replace(/[0-9]/g,e=>jt[Number(e)])}function ui(r,e="arabic",t=!0){return e==="latin"?r:r.replace(/\d+(?:[.,]\d+)*/g,a=>t?Wt(a):Xt(a,e))}function hi(r){return/[٠-٩۰-۹]/.test(r)}const ci=["text","textnormal","textbf","textit","textrm","mathrm","mathbf","mathit","mathtt","mathsf","mathscr","mathfrak","mathbb","mathcal","color","textcolor","operatorname","operatorname*","operatornamewithlimits"],Fa=new RegExp(`\\\\(?:${ci.join("|")})\\{[^}]*\\}`,"g");function Yt(r){const e=[];let t;for(Fa.lastIndex=0;(t=Fa.exec(r))!==null;)e.push({start:t.index,end:t.index+t[0].length});e.sort((n,s)=>n.start-s.start);const a=[];for(const n of e){const s=a[a.length-1];s&&n.start<=s.end?s.end=Math.max(s.end,n.end):a.push({...n})}return a}function Zt(r,e){for(const t of e){if(r>=t.start&&r<t.end)return!0;if(t.start>r)break}return!1}const mi={"\\sin":"\\operatorname{جا}","\\cos":"\\operatorname{جتا}","\\tan":"\\operatorname{ظا}","\\cot":"\\operatorname{ظتا}","\\sec":"\\operatorname{قا}","\\csc":"\\operatorname{قتا}","\\arcsin":"\\operatorname{جا}^{-1}","\\arccos":"\\operatorname{جتا}^{-1}","\\arctan":"\\operatorname{ظا}^{-1}","\\arccot":"\\operatorname{ظتا}^{-1}","\\arcsec":"\\operatorname{قا}^{-1}","\\arccsc":"\\operatorname{قتا}^{-1}","\\sinh":"\\operatorname{جـا}","\\cosh":"\\operatorname{جتـا}","\\tanh":"\\operatorname{ظـا}","\\coth":"\\operatorname{ظتـا}","\\sech":"\\operatorname{قـا}","\\csch":"\\operatorname{قتـا}","\\ln":"\\operatorname{لو}","\\log":"\\operatorname{لغ}","\\lg":"\\operatorname{لغ}","\\liminf":"\\operatorname*{نها}","\\max":"\\operatorname*{أقصى}","\\min":"\\operatorname*{أدنى}","\\sup":"\\operatorname*{حد\\,أعلى}","\\inf":"\\operatorname*{حد\\,أدنى}","\\det":"\\operatorname{محدد}","\\dim":"\\operatorname{بعد}","\\ker":"\\operatorname{نواة}","\\rank":"\\operatorname{رتبة}","\\tr":"\\operatorname{أثر}","\\diag":"\\operatorname{قطري}","\\span":"\\operatorname{مدى}","\\null":"\\operatorname{فضاء\\,صفري}","\\gcd":"\\operatorname{ق.م.أ}","\\lcm":"\\operatorname{م.م.أ}","\\mod":"\\operatorname{باقي}","\\bmod":"\\operatorname{باقي}","\\Pr":"\\operatorname{حا}","\\P":"\\operatorname{حا}","\\arg":"\\operatorname{سعة}","\\deg":"\\operatorname{درجة}","\\sgn":"\\operatorname{إشا}","\\Re":"\\operatorname{حق}","\\Im":"\\operatorname{تخ}","\\hom":"\\operatorname{تشا}","\\Hom":"\\operatorname{تشا}","\\sum":"\\sum","\\prod":"\\prod","\\coprod":"\\coprod","\\int":"\\int","\\iint":"\\iint","\\iiint":"\\iiint","\\oint":"\\oint","\\partial":"\\partial","\\nabla":"\\nabla","\\infty":"\\infty","\\lim":"\\lim","\\limsup":"\\operatorname*{نها}","\\arabiLim":"\\operatorname*{نها}"},Kt={x:"س",y:"ص",z:"ع",a:"أ",b:"ب",c:"جـ",d:"د",e:"هـ",f:"ف",g:"ق",h:"ح",i:"ت",j:"ج",k:"ك",l:"ل",m:"م",n:"ن",o:"ع",p:"ب",q:"ق",r:"ر",s:"ز",t:"ت",A:"أ",B:"ب",C:"جـ",D:"د",E:"هـ",F:"ف",G:"ق",H:"ح",I:"ت",J:"ج",K:"ك",L:"ل",M:"م",N:"ن",O:"ع",P:"ح",Q:"ق",R:"ر",S:"ز",T:"ت",U:"ث",V:"ڤ",W:"و",X:"س",Y:"ص",Z:"ز"};function di(r){return r.replace(/[\\^$*+?.()|[\]{}]/g,"\\$&")}function Jt(r,e={}){const t={...mi,...e},a=Yt(r),n=/\\[a-zA-Z]+/g;let s="",o=0,h;for(;(h=n.exec(r))!==null;){const m=h[0],d=h.index+m.length,v=r[d],y=!!v&&/[A-Za-z]/.test(v)?void 0:t[m];if(y!==void 0&&!Zt(h.index,a)){s+=r.slice(o,h.index)+y,o=d;continue}s+=r.slice(o,d),o=d}return s+=r.slice(o),s}function Ge(r){let e=r;return e=e.replace(/\bd([xyztruvs])\b/g,(t,a)=>{var s;return`\\text{د}\\text{${(s=Kt[a])!=null?s:a}}`}),e=e.replace(/d\\(theta|phi|rho|alpha|beta|gamma|delta)\b/g,(t,a)=>`\\text{د}\\${a}`),e=e.replace(/\bd([AVS])\b/g,(t,a)=>{var s;return`\\text{د}\\text{${(s=Kt[a])!=null?s:a}}`}),e}function Qt(r,e={}){const t={...Kt,...e},a=Object.keys(t);if(a.length===0)return r;const n=a.sort((h,m)=>m.length-h.length),s=Yt(r),o=new RegExp(`(?<![A-Za-z\\\\])(${n.map(di).join("|")})(?![A-Za-z])`,"g");return r.replace(o,(h,m,d,v)=>{const b=Number(d);return Zt(b,s)?h:`\\text{${t[h]}}`})}function fi(r){return Ge(r)}function pi(r,e={}){const{functions:t=!0,variables:a=!0,differentials:n=!0,customFunctionMap:s={},customVariableMap:o={}}=e;let h=r;return n&&(h=Ge(h)),t&&(h=Jt(h,s)),a&&(h=Qt(h,o)),h}const vi={...{"<":">",">":"<","\\lt":"\\gt","\\gt":"\\lt","\\leq":"\\geq","\\geq":"\\leq","\\le":"\\ge","\\ge":"\\le","\\leqslant":"\\geqslant","\\geqslant":"\\leqslant","\\lesssim":"\\gtrsim","\\gtrsim":"\\lesssim","\\ll":"\\gg","\\gg":"\\ll","\\nless":"\\ngtr","\\ngtr":"\\nless","\\nleq":"\\ngeq","\\ngeq":"\\nleq"},...{"\\to":"\\gets","\\gets":"\\to","\\rightarrow":"\\leftarrow","\\leftarrow":"\\rightarrow","\\longrightarrow":"\\longleftarrow","\\longleftarrow":"\\longrightarrow","\\Rightarrow":"\\Leftarrow","\\Leftarrow":"\\Rightarrow","\\Longrightarrow":"\\Longleftarrow","\\Longleftarrow":"\\Longrightarrow","\\hookrightarrow":"\\hookleftarrow","\\hookleftarrow":"\\hookrightarrow","\\mapsto":"\\mapsfrom","\\mapsfrom":"\\mapsto","\\rightleftharpoons":"\\leftrightharpoons","\\leftrightharpoons":"\\rightleftharpoons"},...{"\\langle":"\\rangle","\\rangle":"\\langle","\\lceil":"\\rceil","\\rceil":"\\lceil","\\lfloor":"\\rfloor","\\rfloor":"\\lfloor","\\lbrace":"\\rbrace","\\rbrace":"\\lbrace","\\lbrack":"\\rbrack","\\rbrack":"\\lbrack"},...{"\\sum":"\\sum","\\prod":"\\prod","\\int":"\\int","\\iint":"\\iint","\\iiint":"\\iiint","\\oint":"\\oint"}};function gi(r){return r.replace(/[\\^$*+?.()|[\]{}]/g,"\\$&")}function bi(r){const e=gi(r);return r.length===1?new RegExp(`(?<![A-Za-z\\\\])${e}(?![A-Za-z])`,"g"):new RegExp(e+"(?![A-Za-z])","g")}function Ha(r,e=!0){if(!e)return r;const t=Object.entries(vi).sort((o,h)=>h[0].length-o[0].length),a=new RegExp(t.map(([o])=>`(?:${bi(o).source})`).join("|"),"g"),n=new Map(t.map(([o,h])=>[o,h])),s=Yt(r);return r.replace(a,(...o)=>{var d;const h=o[0],m=o[1];return Zt(m,s)?h:(d=n.get(h))!=null?d:h})}const La=2e4,yi=256;class xi{constructor(e){ar(this,"capacity");ar(this,"map",new Map);this.capacity=e}get(e){const t=this.map.get(e);return t!==void 0&&(this.map.delete(e),this.map.set(e,t)),t}set(e,t){if(this.map.has(e))this.map.delete(e);else if(this.map.size>=this.capacity){const a=this.map.keys().next().value;a!==void 0&&this.map.delete(a)}this.map.set(e,t)}clear(){this.map.clear()}get size(){return this.map.size}}const _t=new xi(yi);function wi(){_t.clear()}function ki(r,e){return[r,e.numerals,e.formatNumbers,e.translateFuncs,e.translateVars,e.translateDiffs,JSON.stringify(e.customFunctionMap),JSON.stringify(e.customVariableMap),e.mirrorSymbols,e.mirrorBigOperators,e.mirrorSqrt,e.mirrorBrackets,e.direction,e.fontFamily,e.displayMode,e.fullArabicMode,e.operatorScale,JSON.stringify(e.macros),e.output,String(e.strict),e.trust,e.minRuleThickness].join("|")}const Pa={numerals:"arabic",formatNumbers:!0,translateFuncs:!0,translateVars:!0,translateDiffs:!0,customFunctionMap:{},customVariableMap:{},mirrorSymbols:!0,mirrorBigOperators:!0,mirrorSqrt:!0,mirrorBrackets:!0,direction:"rtl",fontFamily:"Amiri",displayMode:!1,fullArabicMode:!0,operatorScale:1.05,macros:{},throwOnError:!1,output:"html",strict:!1,trust:!1,minRuleThickness:.04};function K0(r={}){return{...Pa,...r}}function er(r,e={}){const t=K0(e);let a=r.length>La?r.slice(0,La):r;return a.trim()&&(t.translateFuncs&&(a=a.replace(/\\lim(?![A-Za-z])/g,"\\arabiLim")),t.translateDiffs&&(a=Ge(a)),t.translateFuncs&&(a=Jt(a,t.customFunctionMap)),t.translateVars&&(a=Qt(a,t.customVariableMap)),t.mirrorSymbols&&(a=Ha(a,!0)),t.numerals!=="latin"&&(a=Si(a,t.numerals,t.formatNumbers))),a}function Si(r,e,t){let a="",n=0;for(;n<r.length;){const s=r[n];if(s&&/[0-9]/.test(s)){const o=n>0?r[n-1]:"";if(o&&/[A-Za-z]/.test(o))a+=s;else{let h=n;for(;h<r.length;){const d=r[h];if(d&&/[0-9.,]/.test(d))h++;else break}const m=r.slice(n,h);a+=t?Wt(m):Xt(m,e),n=h;continue}}else a+=s!=null?s:"";n++}return a}function Ga(r={}){return{"\\جا":"\\operatorname{جا}","\\جتا":"\\operatorname{جتا}","\\ظا":"\\operatorname{ظا}","\\ظتا":"\\operatorname{ظتا}","\\قا":"\\operatorname{قا}","\\قتا":"\\operatorname{قتا}","\\لو":"\\operatorname{لو}","\\لغ":"\\operatorname{لغ}","\\نها":"\\operatorname*{نها}","\\نهى":"\\operatorname*{نها}","\\اقصى":"\\operatorname*{أقصى}","\\ادنى":"\\operatorname*{أدنى}","\\ت":"\\text{ت}","\\هـ":"\\text{هـ}",...r}}function Ua(r){const e=K0(r),t=["katex-arabic"];return e.mirrorBigOperators&&t.push("mirror-big-ops"),e.mirrorSqrt&&t.push("mirror-sqrt"),e.mirrorBrackets&&t.push("mirror-brackets"),e.mirrorSymbols&&t.push("mirror-symbols"),e.fullArabicMode&&t.push("full-rtl-mode"),e.displayMode?t.push("is-display"):t.push("is-inline"),t}function Ai(r,e){const t=K0(e);return`<span class="${Ua(t).join(" ")}" dir="${t.direction}" style="font-family:'${t.fontFamily}','KaTeX_Main',serif;direction:${t.direction};--ka-op-scale:${t.operatorScale};">${r}</span>`}function zi(r){return r.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function Va(r,e={}){return Ue(r,e).html}function Ue(r,e={}){var o;const t=K0(e),a=ki(r,t),n=_t.get(a);if(n!==void 0)return{html:n,error:null};const s=er(r,t);try{const h=Ia.renderToString(s,{displayMode:t.displayMode,throwOnError:!0,output:t.output,strict:t.strict,trust:t.trust,minRuleThickness:t.minRuleThickness,macros:{...Ga(t.macros),...(o=t.macros)!=null?o:{}}}),m=Ai(h,t);return _t.set(a,m),{html:m,error:null}}catch(h){const m=h instanceof Error?h.message:String(h);if(t.throwOnError)throw h instanceof Error?h:new Error(m);return console.error("[katex-arabic] render failed:",m,`
258
- LaTeX:`,r),{html:`<span class="katex-arabic katex-arabic--error" dir="rtl" role="alert" style="color:#dc2626;font-family:monospace;"><span class="katex-arabic__error-icon" aria-hidden="true">⚠</span> <span class="katex-arabic__error-text">${zi(r)}</span></span>`,error:m}}}function Mi(r,e,t={}){const a=Va(r,t);e.innerHTML=a,Di(e,t)}function Ti(r,e={}){return r.map(t=>typeof t=="string"?Ue(t,e):Ue(t.latex,{...e,...t.options}))}function Ci(r,e={}){return er(r,e)}function Bi(r,e={}){const t=K0(e),a=er(r,t);try{return Ia.renderToString(a,{displayMode:t.displayMode,throwOnError:!0,strict:t.strict,trust:t.trust}),null}catch(n){return n instanceof Error?n.message:String(n)}}function Di(r,e){const t=K0(e),a=r.querySelector(".katex");a&&(a.setAttribute("dir",t.direction),a.style.fontFamily=`'${t.fontFamily}', 'KaTeX_Main', serif`,a.style.direction=t.direction)}return{render:Mi,renderToString:Va,renderWithMeta:Ue,renderBatch:Ti,process:Ci,validate:Bi,toArabicNumerals:Xt,fromArabicNumerals:oi,formatArabicNumber:Wt,convertNumbersInText:ui,isArabicDigit:hi,translateFunctions:Jt,translateVariables:Qt,translateDifferentials:Ge,translateSpecialPatterns:fi,translateAll:pi,applyMirroredSymbols:Ha,resolveOptions:K0,buildCssClasses:Ua,getArabicMacros:Ga,clearCache:wi,DEFAULT_OPTIONS:Pa,VERSION:"1.1.1"}}));
258
+ LaTeX:`,r),{html:`<span class="katex-arabic katex-arabic--error" dir="rtl" role="alert" style="color:#dc2626;font-family:monospace;"><span class="katex-arabic__error-icon" aria-hidden="true">⚠</span> <span class="katex-arabic__error-text">${zi(r)}</span></span>`,error:m}}}function Mi(r,e,t={}){const a=Va(r,t);e.innerHTML=a,Di(e,t)}function Ti(r,e={}){return r.map(t=>typeof t=="string"?Ue(t,e):Ue(t.latex,{...e,...t.options}))}function Ci(r,e={}){return er(r,e)}function Bi(r,e={}){const t=K0(e),a=er(r,t);try{return Ia.renderToString(a,{displayMode:t.displayMode,throwOnError:!0,strict:t.strict,trust:t.trust}),null}catch(n){return n instanceof Error?n.message:String(n)}}function Di(r,e){const t=K0(e),a=r.querySelector(".katex");a&&(a.setAttribute("dir",t.direction),a.style.fontFamily=`'${t.fontFamily}', 'KaTeX_Main', serif`,a.style.direction=t.direction)}return{render:Mi,renderToString:Va,renderWithMeta:Ue,renderBatch:Ti,process:Ci,validate:Bi,toArabicNumerals:Xt,fromArabicNumerals:oi,formatArabicNumber:Wt,convertNumbersInText:ui,isArabicDigit:hi,translateFunctions:Jt,translateVariables:Qt,translateDifferentials:Ge,translateSpecialPatterns:fi,translateAll:pi,applyMirroredSymbols:Ha,resolveOptions:K0,buildCssClasses:Ua,getArabicMacros:Ga,clearCache:wi,DEFAULT_OPTIONS:Pa,VERSION:"1.1.2"}}));
@@ -11842,7 +11842,7 @@ function $i(r, e) {
11842
11842
  const t = Z0(e), a = r.querySelector(".katex");
11843
11843
  a && (a.setAttribute("dir", t.direction), a.style.fontFamily = `'${t.fontFamily}', 'KaTeX_Main', serif`, a.style.direction = t.direction);
11844
11844
  }
11845
- const ji = "1.1.1", Wi = {
11845
+ const ji = "1.1.2", Wi = {
11846
11846
  // ─── Rendering ───────────────────────────────────────────
11847
11847
  render: Pi,
11848
11848
  renderToString: Ka,
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const render = require("./render.cjs");
4
- const VERSION = "1.1.1";
4
+ const VERSION = "1.1.2";
5
5
  const KaTeXArabic = {
6
6
  // ─── Rendering ───────────────────────────────────────────
7
7
  render: render.renderArabic,
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/lib/katex-arabic/index.ts"],"sourcesContent":["/**\n * ════════════════════════════════════════════════════════════════\n * index.ts\n * Public entry point for the KaTeX Arabic library.\n *\n * This module is the *only* file the application should import\n * from when consuming the library. All internal modules are\n * re-exported below for advanced use cases.\n *\n * The render functions themselves live in `render.ts` so that\n * `hooks.ts` can import them without a circular dependency\n * through this barrel.\n * ════════════════════════════════════════════════════════════════\n */\n\nimport {\n renderArabic,\n renderArabicToString,\n renderArabicWithMeta,\n renderArabicBatch,\n processLatex,\n validateLatex,\n} from './render';\nimport {\n DEFAULT_OPTIONS,\n clearRenderCache,\n resolveOptions,\n buildCssClasses,\n getArabicMacros,\n} from './rtlRenderer';\nimport {\n toArabicNumerals,\n fromArabicNumerals,\n formatArabicNumber,\n convertNumbersInText,\n isArabicDigit,\n} from './arabicNumerals';\nimport {\n translateFunctions,\n translateVariables,\n translateDifferentials,\n translateSpecialPatterns,\n translateAll,\n} from './arabicFunctions';\nimport { applyMirroredSymbols } from './arabicSymbols';\n\n// ─── Re-exports: configuration ─────────────────────────────\nexport {\n DEFAULT_OPTIONS,\n resolveOptions,\n buildCssClasses,\n getArabicMacros,\n clearRenderCache,\n MAX_INPUT_LENGTH,\n} from './rtlRenderer';\nexport type { ArabicKatexOptions, PartialArabicOptions, RenderResult } from './types';\n\n// ─── Re-exports: render functions ────────────────────────────\nexport {\n renderArabicToString,\n renderArabicWithMeta,\n renderArabic,\n renderArabicBatch,\n processLatex,\n validateLatex,\n} from './render';\n\n// ─── Re-exports: numerals ──────────────────────────────────\nexport {\n toArabicNumerals,\n fromArabicNumerals,\n formatArabicNumber,\n convertNumbersInText,\n isArabicDigit,\n} from './arabicNumerals';\n\n// ─── Re-exports: function translation ──────────────────────\nexport {\n translateFunctions,\n translateVariables,\n translateDifferentials,\n translateSpecialPatterns,\n translateAll,\n FUNCTION_MAP,\n VARIABLE_MAP,\n GREEK_MAP,\n DIFFERENTIAL_PATTERNS,\n} from './arabicFunctions';\n\n// ─── Re-exports: symbol mirroring ──────────────────────────\nexport {\n applyMirroredSymbols,\n MIRRORED_SYMBOLS,\n COMPARISON_SYMBOLS,\n ARROW_SYMBOLS,\n BRACKET_SYMBOLS,\n ARABIC_MATH_UNICODE,\n SPECIAL_ARABIC_SYMBOLS,\n} from './arabicSymbols';\n\n// ─── Version constant ──────────────────────────────────────\n// Kept in sync with package.json by scripts/build-cdn.mjs\n// (the CDN build fails if these ever drift apart).\nexport const VERSION = '1.1.1';\n\n// ═══════════════════════════════════════════════════════════════\n// Default export — the \"KaTeXArabic\" namespace\n//\n// This object is what a CDN <script> tag exposes as `window.KaTeXArabic`,\n// and what `import KaTeXArabic from 'katex-arabic'` returns. It mirrors\n// `katex`'s own API shape (render / renderToString / …) plus every\n// Arabic helper, so it works as a full drop-in namespace.\n// ═══════════════════════════════════════════════════════════════\n\nconst KaTeXArabic = {\n // ─── Rendering ───────────────────────────────────────────\n render: renderArabic,\n renderToString: renderArabicToString,\n renderWithMeta: renderArabicWithMeta,\n renderBatch: renderArabicBatch,\n\n // ─── Text processing ─────────────────────────────────────\n process: processLatex,\n validate: validateLatex,\n\n // ─── Numerals ────────────────────────────────────────────\n toArabicNumerals,\n fromArabicNumerals,\n formatArabicNumber,\n convertNumbersInText,\n isArabicDigit,\n\n // ─── Translation ─────────────────────────────────────────\n translateFunctions,\n translateVariables,\n translateDifferentials,\n translateSpecialPatterns,\n translateAll,\n\n // ─── Mirroring ───────────────────────────────────────────\n applyMirroredSymbols,\n\n // ─── Options / cache ─────────────────────────────────────\n resolveOptions,\n buildCssClasses,\n getArabicMacros,\n clearCache: clearRenderCache,\n DEFAULT_OPTIONS,\n VERSION,\n};\n\nexport default KaTeXArabic;"],"names":["renderArabic","renderArabicToString","renderArabicWithMeta","renderArabicBatch","processLatex","validateLatex","toArabicNumerals","fromArabicNumerals","formatArabicNumber","convertNumbersInText","isArabicDigit","translateFunctions","translateVariables","translateDifferentials","translateSpecialPatterns","translateAll","applyMirroredSymbols","resolveOptions","buildCssClasses","getArabicMacros","clearRenderCache","DEFAULT_OPTIONS"],"mappings":";;;AAuGO,MAAM,UAAU;AAWvB,MAAM,cAAc;AAAA;AAAA,EAElB,QAAQA,OAAAA;AAAAA,EACR,gBAAgBC,OAAAA;AAAAA,EAChB,gBAAgBC,OAAAA;AAAAA,EAChB,aAAaC,OAAAA;AAAAA;AAAAA,EAGb,SAASC,OAAAA;AAAAA,EACT,UAAUC,OAAAA;AAAAA;AAAAA,EAAA,kBAGVC,OAAAA;AAAAA,EAAA,oBACAC,OAAAA;AAAAA,EAAA,oBACAC,OAAAA;AAAAA,EAAA,sBACAC,OAAAA;AAAAA,EAAA,eACAC,OAAAA;AAAAA;AAAAA,EAAA,oBAGAC,OAAAA;AAAAA,EAAA,oBACAC,OAAAA;AAAAA,EAAA,wBACAC,OAAAA;AAAAA,EAAA,0BACAC,OAAAA;AAAAA,EAAA,cACAC,OAAAA;AAAAA;AAAAA,EAAA,sBAGAC,OAAAA;AAAAA;AAAAA,EAAA,gBAGAC,OAAAA;AAAAA,EAAA,iBACAC,OAAAA;AAAAA,EAAA,iBACAC,OAAAA;AAAAA,EACA,YAAYC,OAAAA;AAAAA,EAAA,iBACZC,OAAAA;AAAAA,EACA;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/lib/katex-arabic/index.ts"],"sourcesContent":["/**\n * ════════════════════════════════════════════════════════════════\n * index.ts\n * Public entry point for the KaTeX Arabic library.\n *\n * This module is the *only* file the application should import\n * from when consuming the library. All internal modules are\n * re-exported below for advanced use cases.\n *\n * The render functions themselves live in `render.ts` so that\n * `hooks.ts` can import them without a circular dependency\n * through this barrel.\n * ════════════════════════════════════════════════════════════════\n */\n\nimport {\n renderArabic,\n renderArabicToString,\n renderArabicWithMeta,\n renderArabicBatch,\n processLatex,\n validateLatex,\n} from './render';\nimport {\n DEFAULT_OPTIONS,\n clearRenderCache,\n resolveOptions,\n buildCssClasses,\n getArabicMacros,\n} from './rtlRenderer';\nimport {\n toArabicNumerals,\n fromArabicNumerals,\n formatArabicNumber,\n convertNumbersInText,\n isArabicDigit,\n} from './arabicNumerals';\nimport {\n translateFunctions,\n translateVariables,\n translateDifferentials,\n translateSpecialPatterns,\n translateAll,\n} from './arabicFunctions';\nimport { applyMirroredSymbols } from './arabicSymbols';\n\n// ─── Re-exports: configuration ─────────────────────────────\nexport {\n DEFAULT_OPTIONS,\n resolveOptions,\n buildCssClasses,\n getArabicMacros,\n clearRenderCache,\n MAX_INPUT_LENGTH,\n} from './rtlRenderer';\nexport type { ArabicKatexOptions, PartialArabicOptions, RenderResult } from './types';\n\n// ─── Re-exports: render functions ────────────────────────────\nexport {\n renderArabicToString,\n renderArabicWithMeta,\n renderArabic,\n renderArabicBatch,\n processLatex,\n validateLatex,\n} from './render';\n\n// ─── Re-exports: numerals ──────────────────────────────────\nexport {\n toArabicNumerals,\n fromArabicNumerals,\n formatArabicNumber,\n convertNumbersInText,\n isArabicDigit,\n} from './arabicNumerals';\n\n// ─── Re-exports: function translation ──────────────────────\nexport {\n translateFunctions,\n translateVariables,\n translateDifferentials,\n translateSpecialPatterns,\n translateAll,\n FUNCTION_MAP,\n VARIABLE_MAP,\n GREEK_MAP,\n DIFFERENTIAL_PATTERNS,\n} from './arabicFunctions';\n\n// ─── Re-exports: symbol mirroring ──────────────────────────\nexport {\n applyMirroredSymbols,\n MIRRORED_SYMBOLS,\n COMPARISON_SYMBOLS,\n ARROW_SYMBOLS,\n BRACKET_SYMBOLS,\n ARABIC_MATH_UNICODE,\n SPECIAL_ARABIC_SYMBOLS,\n} from './arabicSymbols';\n\n// ─── Version constant ──────────────────────────────────────\n// Kept in sync with package.json by scripts/build-cdn.mjs\n// (the CDN build fails if these ever drift apart).\nexport const VERSION = '1.1.2';\n\n// ═══════════════════════════════════════════════════════════════\n// Default export — the \"KaTeXArabic\" namespace\n//\n// This object is what a CDN <script> tag exposes as `window.KaTeXArabic`,\n// and what `import KaTeXArabic from 'katex-arabic'` returns. It mirrors\n// `katex`'s own API shape (render / renderToString / …) plus every\n// Arabic helper, so it works as a full drop-in namespace.\n// ═══════════════════════════════════════════════════════════════\n\nconst KaTeXArabic = {\n // ─── Rendering ───────────────────────────────────────────\n render: renderArabic,\n renderToString: renderArabicToString,\n renderWithMeta: renderArabicWithMeta,\n renderBatch: renderArabicBatch,\n\n // ─── Text processing ─────────────────────────────────────\n process: processLatex,\n validate: validateLatex,\n\n // ─── Numerals ────────────────────────────────────────────\n toArabicNumerals,\n fromArabicNumerals,\n formatArabicNumber,\n convertNumbersInText,\n isArabicDigit,\n\n // ─── Translation ─────────────────────────────────────────\n translateFunctions,\n translateVariables,\n translateDifferentials,\n translateSpecialPatterns,\n translateAll,\n\n // ─── Mirroring ───────────────────────────────────────────\n applyMirroredSymbols,\n\n // ─── Options / cache ─────────────────────────────────────\n resolveOptions,\n buildCssClasses,\n getArabicMacros,\n clearCache: clearRenderCache,\n DEFAULT_OPTIONS,\n VERSION,\n};\n\nexport default KaTeXArabic;"],"names":["renderArabic","renderArabicToString","renderArabicWithMeta","renderArabicBatch","processLatex","validateLatex","toArabicNumerals","fromArabicNumerals","formatArabicNumber","convertNumbersInText","isArabicDigit","translateFunctions","translateVariables","translateDifferentials","translateSpecialPatterns","translateAll","applyMirroredSymbols","resolveOptions","buildCssClasses","getArabicMacros","clearRenderCache","DEFAULT_OPTIONS"],"mappings":";;;AAuGO,MAAM,UAAU;AAWvB,MAAM,cAAc;AAAA;AAAA,EAElB,QAAQA,OAAAA;AAAAA,EACR,gBAAgBC,OAAAA;AAAAA,EAChB,gBAAgBC,OAAAA;AAAAA,EAChB,aAAaC,OAAAA;AAAAA;AAAAA,EAGb,SAASC,OAAAA;AAAAA,EACT,UAAUC,OAAAA;AAAAA;AAAAA,EAAA,kBAGVC,OAAAA;AAAAA,EAAA,oBACAC,OAAAA;AAAAA,EAAA,oBACAC,OAAAA;AAAAA,EAAA,sBACAC,OAAAA;AAAAA,EAAA,eACAC,OAAAA;AAAAA;AAAAA,EAAA,oBAGAC,OAAAA;AAAAA,EAAA,oBACAC,OAAAA;AAAAA,EAAA,wBACAC,OAAAA;AAAAA,EAAA,0BACAC,OAAAA;AAAAA,EAAA,cACAC,OAAAA;AAAAA;AAAAA,EAAA,sBAGAC,OAAAA;AAAAA;AAAAA,EAAA,gBAGAC,OAAAA;AAAAA,EAAA,iBACAC,OAAAA;AAAAA,EAAA,iBACAC,OAAAA;AAAAA,EACA,YAAYC,OAAAA;AAAAA,EAAA,iBACZC,OAAAA;AAAAA,EACA;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -23,7 +23,7 @@ export { renderArabicToString, renderArabicWithMeta, renderArabic, renderArabicB
23
23
  export { toArabicNumerals, fromArabicNumerals, formatArabicNumber, convertNumbersInText, isArabicDigit, } from './arabicNumerals';
24
24
  export { translateFunctions, translateVariables, translateDifferentials, translateSpecialPatterns, translateAll, FUNCTION_MAP, VARIABLE_MAP, GREEK_MAP, DIFFERENTIAL_PATTERNS, } from './arabicFunctions';
25
25
  export { applyMirroredSymbols, MIRRORED_SYMBOLS, COMPARISON_SYMBOLS, ARROW_SYMBOLS, BRACKET_SYMBOLS, ARABIC_MATH_UNICODE, SPECIAL_ARABIC_SYMBOLS, } from './arabicSymbols';
26
- export declare const VERSION = "1.1.1";
26
+ export declare const VERSION = "1.1.2";
27
27
  declare const KaTeXArabic: {
28
28
  render: typeof renderArabic;
29
29
  renderToString: typeof renderArabicToString;
@@ -23,7 +23,7 @@ export { renderArabicToString, renderArabicWithMeta, renderArabic, renderArabicB
23
23
  export { toArabicNumerals, fromArabicNumerals, formatArabicNumber, convertNumbersInText, isArabicDigit, } from './arabicNumerals';
24
24
  export { translateFunctions, translateVariables, translateDifferentials, translateSpecialPatterns, translateAll, FUNCTION_MAP, VARIABLE_MAP, GREEK_MAP, DIFFERENTIAL_PATTERNS, } from './arabicFunctions';
25
25
  export { applyMirroredSymbols, MIRRORED_SYMBOLS, COMPARISON_SYMBOLS, ARROW_SYMBOLS, BRACKET_SYMBOLS, ARABIC_MATH_UNICODE, SPECIAL_ARABIC_SYMBOLS, } from './arabicSymbols';
26
- export declare const VERSION = "1.1.1";
26
+ export declare const VERSION = "1.1.2";
27
27
  declare const KaTeXArabic: {
28
28
  render: typeof renderArabic;
29
29
  renderToString: typeof renderArabicToString;
@@ -1,6 +1,6 @@
1
1
  import { D as DEFAULT_OPTIONS, c as clearRenderCache, g as getArabicMacros, b as buildCssClasses, d as resolveOptions, e as applyMirroredSymbols, t as translateAll, f as translateSpecialPatterns, h as translateDifferentials, i as translateVariables, j as translateFunctions, k as isArabicDigit, l as convertNumbersInText, m as formatArabicNumber, n as fromArabicNumerals, o as toArabicNumerals, v as validateLatex, q as processLatex, a as renderArabicBatch, r as renderArabicWithMeta, s as renderArabicToString, u as renderArabic } from "./render.mjs";
2
2
  import { A, w, B, C, x, F, G, M, y, S, V } from "./render.mjs";
3
- const VERSION = "1.1.1";
3
+ const VERSION = "1.1.2";
4
4
  const KaTeXArabic = {
5
5
  // ─── Rendering ───────────────────────────────────────────
6
6
  render: renderArabic,
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/lib/katex-arabic/index.ts"],"sourcesContent":["/**\n * ════════════════════════════════════════════════════════════════\n * index.ts\n * Public entry point for the KaTeX Arabic library.\n *\n * This module is the *only* file the application should import\n * from when consuming the library. All internal modules are\n * re-exported below for advanced use cases.\n *\n * The render functions themselves live in `render.ts` so that\n * `hooks.ts` can import them without a circular dependency\n * through this barrel.\n * ════════════════════════════════════════════════════════════════\n */\n\nimport {\n renderArabic,\n renderArabicToString,\n renderArabicWithMeta,\n renderArabicBatch,\n processLatex,\n validateLatex,\n} from './render';\nimport {\n DEFAULT_OPTIONS,\n clearRenderCache,\n resolveOptions,\n buildCssClasses,\n getArabicMacros,\n} from './rtlRenderer';\nimport {\n toArabicNumerals,\n fromArabicNumerals,\n formatArabicNumber,\n convertNumbersInText,\n isArabicDigit,\n} from './arabicNumerals';\nimport {\n translateFunctions,\n translateVariables,\n translateDifferentials,\n translateSpecialPatterns,\n translateAll,\n} from './arabicFunctions';\nimport { applyMirroredSymbols } from './arabicSymbols';\n\n// ─── Re-exports: configuration ─────────────────────────────\nexport {\n DEFAULT_OPTIONS,\n resolveOptions,\n buildCssClasses,\n getArabicMacros,\n clearRenderCache,\n MAX_INPUT_LENGTH,\n} from './rtlRenderer';\nexport type { ArabicKatexOptions, PartialArabicOptions, RenderResult } from './types';\n\n// ─── Re-exports: render functions ────────────────────────────\nexport {\n renderArabicToString,\n renderArabicWithMeta,\n renderArabic,\n renderArabicBatch,\n processLatex,\n validateLatex,\n} from './render';\n\n// ─── Re-exports: numerals ──────────────────────────────────\nexport {\n toArabicNumerals,\n fromArabicNumerals,\n formatArabicNumber,\n convertNumbersInText,\n isArabicDigit,\n} from './arabicNumerals';\n\n// ─── Re-exports: function translation ──────────────────────\nexport {\n translateFunctions,\n translateVariables,\n translateDifferentials,\n translateSpecialPatterns,\n translateAll,\n FUNCTION_MAP,\n VARIABLE_MAP,\n GREEK_MAP,\n DIFFERENTIAL_PATTERNS,\n} from './arabicFunctions';\n\n// ─── Re-exports: symbol mirroring ──────────────────────────\nexport {\n applyMirroredSymbols,\n MIRRORED_SYMBOLS,\n COMPARISON_SYMBOLS,\n ARROW_SYMBOLS,\n BRACKET_SYMBOLS,\n ARABIC_MATH_UNICODE,\n SPECIAL_ARABIC_SYMBOLS,\n} from './arabicSymbols';\n\n// ─── Version constant ──────────────────────────────────────\n// Kept in sync with package.json by scripts/build-cdn.mjs\n// (the CDN build fails if these ever drift apart).\nexport const VERSION = '1.1.1';\n\n// ═══════════════════════════════════════════════════════════════\n// Default export — the \"KaTeXArabic\" namespace\n//\n// This object is what a CDN <script> tag exposes as `window.KaTeXArabic`,\n// and what `import KaTeXArabic from 'katex-arabic'` returns. It mirrors\n// `katex`'s own API shape (render / renderToString / …) plus every\n// Arabic helper, so it works as a full drop-in namespace.\n// ═══════════════════════════════════════════════════════════════\n\nconst KaTeXArabic = {\n // ─── Rendering ───────────────────────────────────────────\n render: renderArabic,\n renderToString: renderArabicToString,\n renderWithMeta: renderArabicWithMeta,\n renderBatch: renderArabicBatch,\n\n // ─── Text processing ─────────────────────────────────────\n process: processLatex,\n validate: validateLatex,\n\n // ─── Numerals ────────────────────────────────────────────\n toArabicNumerals,\n fromArabicNumerals,\n formatArabicNumber,\n convertNumbersInText,\n isArabicDigit,\n\n // ─── Translation ─────────────────────────────────────────\n translateFunctions,\n translateVariables,\n translateDifferentials,\n translateSpecialPatterns,\n translateAll,\n\n // ─── Mirroring ───────────────────────────────────────────\n applyMirroredSymbols,\n\n // ─── Options / cache ─────────────────────────────────────\n resolveOptions,\n buildCssClasses,\n getArabicMacros,\n clearCache: clearRenderCache,\n DEFAULT_OPTIONS,\n VERSION,\n};\n\nexport default KaTeXArabic;"],"names":[],"mappings":";;AAuGO,MAAM,UAAU;AAWvB,MAAM,cAAc;AAAA;AAAA,EAElB,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,aAAa;AAAA;AAAA,EAGb,SAAS;AAAA,EACT,UAAU;AAAA;AAAA,EAGV;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA;AACF;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/lib/katex-arabic/index.ts"],"sourcesContent":["/**\n * ════════════════════════════════════════════════════════════════\n * index.ts\n * Public entry point for the KaTeX Arabic library.\n *\n * This module is the *only* file the application should import\n * from when consuming the library. All internal modules are\n * re-exported below for advanced use cases.\n *\n * The render functions themselves live in `render.ts` so that\n * `hooks.ts` can import them without a circular dependency\n * through this barrel.\n * ════════════════════════════════════════════════════════════════\n */\n\nimport {\n renderArabic,\n renderArabicToString,\n renderArabicWithMeta,\n renderArabicBatch,\n processLatex,\n validateLatex,\n} from './render';\nimport {\n DEFAULT_OPTIONS,\n clearRenderCache,\n resolveOptions,\n buildCssClasses,\n getArabicMacros,\n} from './rtlRenderer';\nimport {\n toArabicNumerals,\n fromArabicNumerals,\n formatArabicNumber,\n convertNumbersInText,\n isArabicDigit,\n} from './arabicNumerals';\nimport {\n translateFunctions,\n translateVariables,\n translateDifferentials,\n translateSpecialPatterns,\n translateAll,\n} from './arabicFunctions';\nimport { applyMirroredSymbols } from './arabicSymbols';\n\n// ─── Re-exports: configuration ─────────────────────────────\nexport {\n DEFAULT_OPTIONS,\n resolveOptions,\n buildCssClasses,\n getArabicMacros,\n clearRenderCache,\n MAX_INPUT_LENGTH,\n} from './rtlRenderer';\nexport type { ArabicKatexOptions, PartialArabicOptions, RenderResult } from './types';\n\n// ─── Re-exports: render functions ────────────────────────────\nexport {\n renderArabicToString,\n renderArabicWithMeta,\n renderArabic,\n renderArabicBatch,\n processLatex,\n validateLatex,\n} from './render';\n\n// ─── Re-exports: numerals ──────────────────────────────────\nexport {\n toArabicNumerals,\n fromArabicNumerals,\n formatArabicNumber,\n convertNumbersInText,\n isArabicDigit,\n} from './arabicNumerals';\n\n// ─── Re-exports: function translation ──────────────────────\nexport {\n translateFunctions,\n translateVariables,\n translateDifferentials,\n translateSpecialPatterns,\n translateAll,\n FUNCTION_MAP,\n VARIABLE_MAP,\n GREEK_MAP,\n DIFFERENTIAL_PATTERNS,\n} from './arabicFunctions';\n\n// ─── Re-exports: symbol mirroring ──────────────────────────\nexport {\n applyMirroredSymbols,\n MIRRORED_SYMBOLS,\n COMPARISON_SYMBOLS,\n ARROW_SYMBOLS,\n BRACKET_SYMBOLS,\n ARABIC_MATH_UNICODE,\n SPECIAL_ARABIC_SYMBOLS,\n} from './arabicSymbols';\n\n// ─── Version constant ──────────────────────────────────────\n// Kept in sync with package.json by scripts/build-cdn.mjs\n// (the CDN build fails if these ever drift apart).\nexport const VERSION = '1.1.2';\n\n// ═══════════════════════════════════════════════════════════════\n// Default export — the \"KaTeXArabic\" namespace\n//\n// This object is what a CDN <script> tag exposes as `window.KaTeXArabic`,\n// and what `import KaTeXArabic from 'katex-arabic'` returns. It mirrors\n// `katex`'s own API shape (render / renderToString / …) plus every\n// Arabic helper, so it works as a full drop-in namespace.\n// ═══════════════════════════════════════════════════════════════\n\nconst KaTeXArabic = {\n // ─── Rendering ───────────────────────────────────────────\n render: renderArabic,\n renderToString: renderArabicToString,\n renderWithMeta: renderArabicWithMeta,\n renderBatch: renderArabicBatch,\n\n // ─── Text processing ─────────────────────────────────────\n process: processLatex,\n validate: validateLatex,\n\n // ─── Numerals ────────────────────────────────────────────\n toArabicNumerals,\n fromArabicNumerals,\n formatArabicNumber,\n convertNumbersInText,\n isArabicDigit,\n\n // ─── Translation ─────────────────────────────────────────\n translateFunctions,\n translateVariables,\n translateDifferentials,\n translateSpecialPatterns,\n translateAll,\n\n // ─── Mirroring ───────────────────────────────────────────\n applyMirroredSymbols,\n\n // ─── Options / cache ─────────────────────────────────────\n resolveOptions,\n buildCssClasses,\n getArabicMacros,\n clearCache: clearRenderCache,\n DEFAULT_OPTIONS,\n VERSION,\n};\n\nexport default KaTeXArabic;"],"names":[],"mappings":";;AAuGO,MAAM,UAAU;AAWvB,MAAM,cAAc;AAAA;AAAA,EAElB,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,aAAa;AAAA;AAAA,EAGb,SAAS;AAAA,EACT,UAAU;AAAA;AAAA,EAGV;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA;AACF;"}
package/docs/INSTALL.md CHANGED
@@ -15,7 +15,7 @@
15
15
 
16
16
  ```bash
17
17
  # تثبيت الحزمة مع KaTeX
18
- npm install katex-arabic katex
18
+ npm install katex4arabic katex
19
19
 
20
20
  # إذا كنت تستخدم React وتريد الخطاطيف
21
21
  npm install react react-dom
@@ -37,22 +37,44 @@ pnpm add katex-arabic katex
37
37
  | المدخل | المحتوى |
38
38
  | --- | --- |
39
39
  | `katex-arabic` | الدوال الأساسية للعرض والمعالجة |
40
- | `katex-arabic/hooks` | خطاطيف React (اختياري) |
41
- | `katex-arabic/katex-arabic.css` | ملف الأنماط — **يجب استيراده مرة واحدة** |
40
+ | `katex4arabic/hooks` | خطاطيف React (اختياري) |
41
+ | `katex4arabic/katex-arabic.css` | ملف الأنماط — **يجب استيراده مرة واحدة** |
42
42
 
43
43
  ```ts
44
44
  // الدوال الأساسية
45
- import { renderArabicToString, renderArabic, processLatex } from 'katex-arabic';
45
+ import { renderArabicToString, renderArabic, processLatex } from 'katex4arabic';
46
46
 
47
47
  // خطاطيف React (اختياري)
48
- import { useArabicKatex, useArabicKatexResult } from 'katex-arabic/hooks';
48
+ import { useArabicKatex, useArabicKatexResult } from 'katex4arabic/hooks';
49
49
 
50
50
  // ملف الأنماط — استورده مرة واحدة في نقطة دخول تطبيقك
51
- import 'katex-arabic/katex-arabic.css';
51
+ import 'katex4arabic/katex-arabic.css';
52
52
  ```
53
53
 
54
54
  ---
55
55
 
56
+ ## 2️⃣ أ) التثبيت عبر npm — بملف واحد فقط
57
+
58
+ بعد التنصيب، يمكنك استيراد **كامل المكتبة من ملف JS واحد** (KaTeX مدمج داخله):
59
+
60
+ ```ts
61
+ import KaTeXArabic from 'katex4arabic/bundle'; // ملف واحد (يشمل KaTeX)
62
+ import 'katex4arabic/bundle.css'; // ملف CSS واحد
63
+
64
+ const html = KaTeXArabic.renderToString('x^2 + y^2 = z^2');
65
+ ```
66
+
67
+ أو عبر CommonJS:
68
+
69
+ ```ts
70
+ const KaTeXArabic = require('katex4arabic/bundle');
71
+ ```
72
+
73
+ > ملاحظة: `bundle` يحزم KaTeX + كل تحويلاتنا في ملف واحد مصغّر للراحة التامّة.
74
+ > أما مدخل `katex4arabic` الأساسي فمصمّم للمشاريع الاحترافية (KaTeX كاعتماد نظير، بدون تكرار).
75
+
76
+ ---
77
+
56
78
  ## 2️⃣ ب) التثبيت عبر CDN (ملفان فقط — بدون أي إعداد)
57
79
 
58
80
  تُبنى الحزمة أيضاً كملفين جاهزين للتحميل المباشر عبر أي CDN:
@@ -69,9 +91,9 @@ https://cdn.jsdelivr.net/gh/AhmedAlmaghz/katex4arabic@main/dist/cdn/katex-arabic
69
91
  https://cdn.jsdelivr.net/gh/AhmedAlmaghz/katex4arabic@main/dist/cdn/katex-arabic.min.css
70
92
  ```
71
93
 
72
- > استبدل `@main` بفرعك الافتراضي (سيكون `master` في بعض المستودعات) أو بنسخة release مثل `@1.1.1`.
94
+ > استبدل `@main` بفرعك الافتراضي (سيكون `master` في بعض المستودعات) أو بنسخة release مثل `@1.1.2`.
73
95
  > بعد النشر على npm يعمل أيضاً:
74
- > `https://cdn.jsdelivr.net/npm/katex-arabic/dist/cdn/katex-arabic.min.js` + ملف CSS بنفس المسار.
96
+ > `https://cdn.jsdelivr.net/npm/katex4arabic/dist/cdn/katex-arabic.min.js` + ملف CSS بنفس المسار.
75
97
 
76
98
  **مثال HTML كامل — لا يحتاج شيئاً سواهما:**
77
99
 
@@ -107,7 +129,7 @@ KaTeXArabic.render('\\int_0^1 x^2 dx', element);
107
129
  KaTeXArabic.toArabicNumerals('123'); // '١٢٣'
108
130
  KaTeXArabic.translateFunctions('sin'); // 'جا'
109
131
  KaTeXArabic.resolveOptions({}); // الخيارات الافتراضية
110
- KaTeXArabic.VERSION; // '1.1.1'
132
+ KaTeXArabic.VERSION; // '1.1.2'
111
133
  ```
112
134
 
113
135
  ---
@@ -117,8 +139,8 @@ KaTeXArabic.VERSION; // '1.1.1'
117
139
  ### أ) JavaScript عادي (Vanilla JS)
118
140
 
119
141
  ```ts
120
- import { renderArabicToString } from 'katex-arabic';
121
- import 'katex-arabic/katex-arabic.css';
142
+ import { renderArabicToString } from 'katex4arabic';
143
+ import 'katex4arabic/katex-arabic.css';
122
144
 
123
145
  const html = renderArabicToString('\\sin^2(x) + \\cos^2(x) = 1', {
124
146
  numerals: 'arabic', // أرقام عربية-هندية ٠١٢…٩
@@ -134,7 +156,7 @@ document.getElementById('equation').innerHTML = html;
134
156
  ### ب) العرض داخل عنصر DOM مباشرة
135
157
 
136
158
  ```ts
137
- import { renderArabic } from 'katex-arabic';
159
+ import { renderArabic } from 'katex4arabic';
138
160
 
139
161
  const element = document.getElementById('math');
140
162
  // التوقيع: renderArabic(latex, element, options)
@@ -149,8 +171,8 @@ renderArabic('\\int_0^1 x^2 \\, dx', element, {
149
171
  ### ج) مع React (الخطاطيف)
150
172
 
151
173
  ```tsx
152
- import { useArabicKatex } from 'katex-arabic/hooks';
153
- import 'katex-arabic/katex-arabic.css';
174
+ import { useArabicKatex } from 'katex4arabic/hooks';
175
+ import 'katex4arabic/katex-arabic.css';
154
176
 
155
177
  function Equation({ latex }: { latex: string }) {
156
178
  const html = useArabicKatex(latex, { numerals: 'arabic' });
@@ -161,7 +183,7 @@ function Equation({ latex }: { latex: string }) {
161
183
  وللحصول على نتيجة مفصّلة مع رسالة الخطأ (مفيد للمحررات):
162
184
 
163
185
  ```tsx
164
- import { useArabicKatexResult } from 'katex-arabic/hooks';
186
+ import { useArabicKatexResult } from 'katex4arabic/hooks';
165
187
 
166
188
  function Editor({ latex }: { latex: string }) {
167
189
  const { html, ok, error, processedLatex } = useArabicKatexResult(latex);
@@ -174,7 +196,7 @@ function Editor({ latex }: { latex: string }) {
174
196
  ولعرض قائمة معادلات دفعة واحدة (الأكثر كفاءة):
175
197
 
176
198
  ```tsx
177
- import { useArabicKatexBatch } from 'katex-arabic/hooks';
199
+ import { useArabicKatexBatch } from 'katex4arabic/hooks';
178
200
 
179
201
  function Gallery({ items }: { items: string[] }) {
180
202
  const results = useArabicKatexBatch(items, { fullArabicMode: true });
@@ -263,14 +285,14 @@ import {
263
285
  processLatex, // المعالجة دون عرض
264
286
  clearRenderCache, // مسح ذاكرة التخزين المؤقت
265
287
  VERSION, // رقم إصدار المكتبة
266
- } from 'katex-arabic';
288
+ } from 'katex4arabic';
267
289
  ```
268
290
 
269
291
  ---
270
292
 
271
293
  ## 6️⃣ ملاحظات مهمة
272
294
 
273
- 1. **ملف CSS إلزامي**: بدون استيراد `katex-arabic/katex-arabic.css` ستظهر المعادلات بدون تنسيق صحيح (محاذاة، خطوط، عكس الرموز).
295
+ 1. **ملف CSS إلزامي**: بدون استيراد `katex4arabic/katex-arabic.css` ستظهر المعادلات بدون تنسيق صحيح (محاذاة، خطوط، عكس الرموز).
274
296
  2. **الخطوط العربية**: يفضّل تحميل خط عربي في صفحتك (مثل Amiri أو Noto Naskh Arabic) للحصول على أفضل تشكيل للحروف.
275
297
  3. **الأداء**: الدوال تستخدم ذاكرة تخزين مؤقت (LRU cache) داخليا، فلا تقلق من استدعاء نفس المعادلة مرارا.
276
298
  4. **الخطأ الآمن**: عند وجود خطأ في LaTeX، تعرض رسالة خطأ منسّقة بدلا من توقف التطبيق (ما لم تفعّل `throwOnError: true`).
@@ -289,7 +311,7 @@ import {
289
311
  <body>
290
312
  <div id="math"></div>
291
313
  <script type="module">
292
- import { renderArabic } from 'katex-arabic';
314
+ import { renderArabic } from 'katex4arabic';
293
315
  renderArabic(document.getElementById('math'),
294
316
  '\\lim_{x \\to \\infty} \\frac{\\sin(x)}{x} = 0',
295
317
  { fullArabicMode: true, displayMode: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "katex4arabic",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "description": "Render LaTeX math with Arabic transforms: Arabic-Indic numerals, translated function/variable names, RTL mirroring, and full KaTeX compatibility.",
5
5
  "author": "Ahmed Almaghz",
6
6
  "license": "MIT",
@@ -9,13 +9,14 @@
9
9
  "type": "git",
10
10
  "url": "https://github.com/ahmedalmaghz/KaTeX4Arabic.git"
11
11
  },
12
- "homepage": "https://github.com/ahmedalmaghz/KaTeX4Arabic#readme",
12
+ "homepage": "https://KaTeX4Arabic.vercel.app",
13
13
  "bugs": {
14
14
  "url": "https://github.com/ahmedalmaghz/KaTeX4Arabic/issues"
15
15
  },
16
16
  "keywords": [
17
17
  "katex",
18
18
  "arabic",
19
+ "arabic-math",
19
20
  "math",
20
21
  "latex",
21
22
  "rtl",