dsh-aha-tutor 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/client.js CHANGED
@@ -1,4 +1,4 @@
1
- window.__ModuleLoader__.load({id:`dsh-aha-tutor`,factory:e=>{var t={exports:{}},n=t.exports;Object.defineProperty(n,Symbol.toStringTag,{value:`Module`});let r=e("react"),i=e("react/jsx-runtime"),a=e("@deepseek-ai/dsh-client-ui-primitives");var o=class extends Error{constructor(e,t){super(t),this.name=`ApiError`,this.code=e}};function s(e){async function t(t,n={}){let r;try{r=await e.call(`/aha-tutor`,t,n??{})}catch(e){throw new o(`network`,e?.message||`Connection to DSH failed`)}if(!r?.ok)throw new o(r?.error?.code??`failed`,r?.error?.message??`Request failed`);return r.value}async function n(e,{onPartial:n,onProgress:r,signal:i}={}){let a=e?.job;if(!a)return e;let s=0,c=a;for(;;){if(c.partial?.length&&(n?.(c.partial,s),s+=c.partial.length),c.progress&&r?.(c.progress),c.status===`done`)return c.result;if(c.status===`failed`||c.status===`cancelled`)throw new o(c.error?.code??c.status,c.error?.message??c.status);if(c.status===`missing`)throw new o(`missing`,`The task was lost; try again`);if(i?.aborted)throw t(`job/cancel`,{id:a.id}).catch(()=>void 0),new o(`cancelled`,`cancelled`);await new Promise(e=>{setTimeout(e,650)}),c=await t(`job/get`,{id:a.id,since:s})}}async function r(e,r,i){return n(await t(e,r),i)}return{call:t,follow:n,run:r}}function c(e){return new Promise((t,n)=>{let r=new FileReader;r.onerror=()=>n(r.error??Error(`read failed`)),r.onload=()=>{let e=String(r.result??``);t(e.slice(e.indexOf(`,`)+1))},r.readAsDataURL(e)})}function l(e,t,n=`application/json`){let r=URL.createObjectURL(new Blob([t],{type:`${n};charset=utf-8`})),i=document.createElement(`a`);i.href=r,i.download=e,document.body.append(i),i.click(),i.remove(),setTimeout(()=>URL.revokeObjectURL(r),5e3)}function u(e,t){let n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=e,document.body.append(r),r.click(),r.remove(),setTimeout(()=>URL.revokeObjectURL(n),1e4)}let d=(0,r.createContext)(null);function f(){let e=(0,r.useContext)(d);if(!e)throw Error(`AppContext missing`);return e}function p(e,t=[]){let[n,i]=(0,r.useState)({loading:!0,error:null,value:void 0}),a=(0,r.useRef)(0),o=(0,r.useCallback)(()=>{let t=++a.current;i(e=>({...e,loading:!0,error:null})),Promise.resolve().then(e).then(e=>{a.current===t&&i({loading:!1,error:null,value:e})}).catch(e=>{a.current===t&&i(t=>({loading:!1,error:e,value:t.value}))})},t);return(0,r.useEffect)(()=>(o(),()=>{a.current+=1}),[o]),{...n,reload:o,setValue:e=>i(t=>({...t,value:typeof e==`function`?e(t.value):e}))}}function m(){let{api:e}=f(),[t,n]=(0,r.useState)({running:!1,progress:null,error:null}),i=(0,r.useRef)(null);(0,r.useEffect)(()=>()=>i.current?.abort(),[]);let a=(0,r.useCallback)(async(t,r,{onPartial:a,existing:o}={})=>{i.current?.abort();let s=new AbortController;i.current=s,n({running:!0,progress:null,error:null});try{let i={signal:s.signal,onPartial:a,onProgress:e=>{s.signal.aborted||n(t=>({...t,progress:e}))}},c=o?await e.follow({job:o},i):await e.run(t,r,i);return s.signal.aborted||n({running:!1,progress:null,error:null}),c}catch(e){throw s.signal.aborted||n({running:!1,progress:null,error:e}),e}},[e]),o=(0,r.useCallback)(()=>{i.current?.abort(),n({running:!1,progress:null,error:null})},[]);return{...t,run:a,cancel:o}}function h(e){let[t]=(0,r.useState)(()=>{if(!e)return!1;let t=`aha-tutor:once:${e}`;try{if(window.sessionStorage.getItem(t))return!1;window.sessionStorage.setItem(t,`1`)}catch{}return!0});return t}function g(e,t){let n=`aha-tutor:${e}`,[i,a]=(0,r.useState)(()=>{try{let e=window.localStorage.getItem(n);return e===null?t:JSON.parse(e)}catch{return t}});return(0,r.useEffect)(()=>{try{window.localStorage.setItem(n,JSON.stringify(i))}catch{}},[n,i]),[i,a]}function _(){let e=()=>{if(document.body?.hasAttribute(`data-ds-dark-theme`))return!0;let e=getComputedStyle(document.documentElement).colorScheme;return/dark/iu.test(e)&&!/light/iu.test(e)?!0:!document.body&&window.matchMedia?.(`(prefers-color-scheme: dark)`).matches===!0},[t,n]=(0,r.useState)(e);return(0,r.useEffect)(()=>{let t=window.matchMedia?.(`(prefers-color-scheme: dark)`),r=()=>n(e());t?.addEventListener?.(`change`,r);let i=new MutationObserver(r);return i.observe(document.body,{attributes:!0,attributeFilter:[`data-ds-dark-theme`]}),i.observe(document.documentElement,{attributes:!0,attributeFilter:[`style`,`data-ds-theme-source`]}),()=>{t?.removeEventListener?.(`change`,r),i.disconnect()}},[]),t}let v=/[^。!?!?;;\n]+[。!?!?;;]*\s*|\n+/gu;function y(e){let t=[];for(let n of String(e??``).matchAll(v)){let e=n[0].trim();if(e)if(e.length<=160)t.push(e);else for(let n=0;n<e.length;n+=140)t.push(e.slice(n,n+140))}return t}function b(){return typeof window<`u`&&`speechSynthesis`in window&&typeof window.SpeechSynthesisUtterance==`function`}function x(){return b()?window.speechSynthesis.getVoices().map(e=>({id:e.voiceURI,name:e.name,lang:e.lang,local:e.localService,default:e.default})):[]}function S(e){if(!b())return()=>void 0;let t=()=>e(x());return window.speechSynthesis.addEventListener?.(`voiceschanged`,t),()=>window.speechSynthesis.removeEventListener?.(`voiceschanged`,t)}function C(e,t){if(!b())return null;let n=window.speechSynthesis.getVoices();if(t){let e=n.find(e=>e.voiceURI===t);if(e)return e}let r=String(e||`zh-CN`).toLowerCase(),i=r.split(`-`)[0],a=e=>{let t=e.lang.toLowerCase().replace(`_`,`-`),n=0;if(t===r)n+=40;else if(t.startsWith(i))n+=25;else return-1;return i===`zh`&&r===`zh-cn`&&/tw|hk/u.test(t)&&(n-=10),/natural|neural|enhanced|premium|siri/iu.test(e.name)&&(n+=12),e.localService&&(n+=6),/xiaoxiao|tingting|yunxi|xiaoyi|lili|huihui/iu.test(e.name)&&(n+=4),n};return n.map(e=>({voice:e,value:a(e)})).filter(e=>e.value>=0).sort((e,t)=>t.value-e.value)[0]?.voice??null}function w(){let e=null;function t(t,{language:r,voiceId:i,rate:a=1,onSentence:s}={}){o();let c=y(t);if(!b()||!c.length)return{done:Promise.resolve({completed:!0})};let l,u=new Promise(e=>{l=e}),d={sentences:c,index:0,paused:!1,cancelled:!1,rate:a,language:r,voiceId:i,resolveDone:l,onSentence:s};return e=d,n(d),{done:u}}function n(t){if(t.cancelled||t.paused)return;if(t.index>=t.sentences.length){t.resolveDone({completed:!0}),e===t&&(e=null);return}let r=new window.SpeechSynthesisUtterance(t.sentences[t.index]),i=C(t.language,t.voiceId);i?(r.voice=i,r.lang=i.lang):t.language&&(r.lang=t.language),r.rate=Math.min(2,Math.max(.5,t.rate));let a=t.index;r.onstart=()=>t.onSentence?.(a,t.sentences.length);let o=()=>{t.cancelled||t.paused||t.index!==a||(t.index+=1,n(t))};r.onend=o,r.onerror=n=>{if(!(n?.error===`interrupted`||n?.error===`canceled`)){if(n?.error===`not-allowed`||n?.error===`synthesis-unavailable`){e===t&&(e=null),t.cancelled=!0,t.resolveDone({completed:!1,error:n.error});return}o()}},t.utterance=r,window.speechSynthesis.speak(r)}function r(){!e||e.paused||(e.paused=!0,window.speechSynthesis.cancel())}function i(){!e||!e.paused||(e.paused=!1,n(e))}function a(t){e&&(e.rate=t)}function o(){if(!e)return;let t=e;e=null,t.cancelled=!0,b()&&window.speechSynthesis.cancel(),t.resolveDone({completed:!1})}return{speak:t,pause:r,resume:i,cancel:o,setRate:a}}function T({fetchAudio:e}){let t=null,n=new Map;async function r(t){if(n.has(t))return n.get(t);let r=e(t).then(({blob:e,base64:t,mime:n})=>{if(e)return URL.createObjectURL(e);let r=Uint8Array.from(atob(t),e=>e.charCodeAt(0));return URL.createObjectURL(new Blob([r],{type:n||`audio/mpeg`}))});if(n.set(t,r),r.catch(()=>n.delete(t)),n.size>40){let[e,t]=n.entries().next().value;n.delete(e),t.then(e=>URL.revokeObjectURL(e)).catch(()=>void 0)}return r}function i(e){e&&r(e).catch(()=>void 0)}function a(e,{rate:n=1}={}){if(cancel(),!String(e??``).trim())return{done:Promise.resolve({completed:!0})};let i,a=new Promise(e=>{i=e}),o=new Audio;o.preservesPitch=!0;let s={audio:o,cancelled:!1,resolveDone:i,rate:n};return t=s,r(e).then(e=>{if(!s.cancelled)return o.src=e,o.playbackRate=Math.min(2,Math.max(.5,n)),o.onended=()=>{t===s&&(t=null),i({completed:!0})},o.onerror=()=>{t===s&&(t=null),i({completed:!1,error:`playback`})},o.play()}).catch(e=>{t===s&&(t=null),i({completed:!1,error:e?.message??`tts`})}),{done:a}}return{speak:a,prefetch:i,pause:()=>t?.audio.pause(),resume:()=>t?.audio.play().catch(()=>void 0),setRate:e=>{t&&(t.audio.playbackRate=Math.min(2,Math.max(.5,e)))},cancel(){if(!t)return;let e=t;t=null,e.cancelled=!0,e.audio.pause(),e.resolveDone({completed:!1})},clear(){for(let e of n.values())e.then(e=>URL.revokeObjectURL(e)).catch(()=>void 0);n.clear()}}}function E({fetchAudio:e}){let t={browser:w(),cloud:T({fetchAudio:e})},n={engine:`browser`,rate:1},r=null;return{configure(e){n={...n,...e}},get settings(){return n},speak(e,i={}){return r?.cancel(),n.engine===`off`?(r=null,{done:Promise.resolve({completed:!0,silent:!0})}):(r=t[n.engine]??t.browser,r.speak(e,{...n,...i}))},prefetch(e){n.engine===`cloud`&&t.cloud.prefetch(e)},pause:()=>r?.pause(),resume:()=>r?.resume(),setRate(e){n={...n,rate:e},r?.setRate(e)},cancel:()=>r?.cancel(),dispose(){t.browser.cancel(),t.cloud.cancel(),t.cloud.clear()}}}let ee=`aha-tutor:navigate`;function te({rpc:e,t,language:n,dsh:i,navigate:a=()=>void 0,back:o=()=>void 0}){let c=(0,r.useMemo)(()=>s(e),[e]),l=(0,r.useMemo)(()=>E({fetchAudio:e=>ne(c,e)}),[c]);(0,r.useEffect)(()=>()=>l.dispose(),[l]);let[u,d]=(0,r.useState)({}),[f,p]=g(`voice`,``),[m,h]=(0,r.useState)(null),_=(0,r.useRef)(null),v=(0,r.useCallback)(e=>{h(e),clearTimeout(_.current),_.current=setTimeout(()=>h(null),3600)},[]),y=(0,r.useCallback)(()=>c.call(`settings/get`).then(d).catch(()=>void 0),[c]);(0,r.useEffect)(()=>{y(),c.call(`app/info`,{language:n}).catch(()=>void 0)},[y,n]);let b=(0,r.useMemo)(()=>({...u,voiceId:f}),[u,f]);return{value:(0,r.useMemo)(()=>({api:c,t,language:n,speech:l,settings:b,setVoiceId:p,reloadSettings:y,navigate:a,back:o,toast:v,dsh:i}),[c,t,n,l,b,p,y,a,o,v,i]),toastText:m}}async function ne(e,t){try{let e=await fetch(new URL(`api/aha-tutor/tts`,document.baseURI),{method:`POST`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify({text:t})});if(e.ok)return{blob:await e.blob()};if(e.status!==404){let t=`tts failed`;try{t=(await e.json())?.error?.message??t}catch{}throw Error(t)}}catch(e){if(e?.message&&e.message!==`Failed to fetch`)throw e}let n=await e.call(`tts/speak`,{text:t});return{base64:n.base64,mime:n.mime}}function D(e,t,n={}){let r={screen:t,params:n};try{window.localStorage.setItem(`aha-tutor:route`,JSON.stringify(r))}catch{}window.dispatchEvent(new CustomEvent(ee,{detail:r})),e?.selectPanel?.()}let re={logo:`M12 2v1.5M4.5 5l1.1 1.1M19.5 5l-1.1 1.1M9 18v-.6c0-.8-.4-1.5-1-2.1a5.5 5.5 0 1 1 8 0c-.6.6-1 1.3-1 2.1v.6zM9.5 21h5`,home:`M4 11l8-6.5 8 6.5V20h-5v-5h-6v5H4z`,courses:`M4 5.5A1.5 1.5 0 0 1 5.5 4H11v15H5.5A1.5 1.5 0 0 0 4 20.5zM20 5.5A1.5 1.5 0 0 0 18.5 4H13v15h5.5a1.5 1.5 0 0 1 1.5 1.5z`,assist:`M4 5h16v10H9l-5 4zM9 9.5h6M9 12h4`,library:`M5 4h4v16H5zM10 4h4v16h-4zM15.5 5l3.6-.9 2.4 15.6-3.6.9z`,studio:`M5 19l4-1 10-10-3-3L6 15l-1 4zM14 6l3 3M4 21h16`,shorts:`M4 6h16v12H4zM10 9.5v5l4.5-2.5z`,plan:`M5 5h14v15H5zM5 9h14M9 3v4M15 3v4M8.5 13h3M8.5 16h6`,profile:`M12 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM4.5 20a7.5 7.5 0 0 1 15 0`,settings:`M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM19 12l2-1.5-2-3.5-2.3.7a7 7 0 0 0-1.7-1L14.5 4h-5l-.5 2.7a7 7 0 0 0-1.7 1L5 7 3 10.5 5 12l-2 1.5L5 17l2.3-.7a7 7 0 0 0 1.7 1l.5 2.7h5l.5-2.7a7 7 0 0 0 1.7-1L19 17l2-3.5z`,board:`M3 5h18v11H3zM8 20h8M12 16v4M7 9l3 3 2-2 4 3`,plus:`M12 5v14M5 12h14`,upload:`M12 16V4M7 9l5-5 5 5M5 20h14`,link:`M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1`,trash:`M5 7h14M10 11v6M14 11v6M7 7l1 13h8l1-13M9 7V4h6v3`,play:`M7 5l12 7-12 7z`,folder:`M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,spark:`M12 3l1.8 5.2L19 10l-5.2 1.8L12 17l-1.8-5.2L5 10l5.2-1.8z`};function ie({name:e,size:t=18}){return(0,i.jsx)(`svg`,{width:t,height:t,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.7`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,i.jsx)(`path`,{d:re[e]??re.spark})})}let ae=Object.freeze([`#2f6fde`,`#d64545`,`#2f9e6e`,`#e08a1e`,`#7a4fd6`,`#1f9bb4`]),oe=`#2b2b2b`;function se(e){return String(e??``).replace(/[&<>"']/gu,e=>({"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#39;`})[e])}function ce(e,t,n=5){if(!Number.isFinite(e)||!Number.isFinite(t))return[0,1];if(e===t){let n=Math.abs(e)||1;e-=n/2,t+=n/2}let r=(t-e)/Math.max(1,n),i=10**Math.floor(Math.log10(r)),a=r/i,o=(a>=7.5?10:a>=3.5?5:a>=1.5?2:1)*i,s=Math.floor(e/o)*o,c=[];for(let e=s;e<=t+o*.5;e+=o)c.push(Number(e.toPrecision(12)));return c}function le(e){let t=Math.abs(e);return t>=1e6||t>0&&t<.001?e.toExponential(1):Number(e.toPrecision(6)).toString()}function ue({width:e,height:t,title:n,xLabel:r,yLabel:i}){let a={top:n?34:16,right:18,bottom:r?50:34,left:i?62:48};return{margin:a,plotW:e-a.left-a.right,plotH:t-a.top-a.bottom}}function de(e,t){return e.length<2?``:e.map((e,n)=>{let r=t-150,i=14+n*18;return`<rect x="${r}" y="${i-9}" width="14" height="4" rx="2" fill="${ae[n%ae.length]}"/><text x="${r+20}" y="${i-3}" font-size="12" fill="${oe}">${se(e)}</text>`}).join(``)}function fe({margin:e,plotW:t,plotH:n,width:r,height:i,xTicks:a,yTicks:o,xScale:s,yScale:c,xLabel:l,yLabel:u,xFormat:d=le}){let f=[];f.push(`<line x1="${e.left}" y1="${e.top+n}" x2="${e.left+t}" y2="${e.top+n}" stroke="${oe}" stroke-width="1.6" stroke-linecap="round"/>`),f.push(`<line x1="${e.left}" y1="${e.top}" x2="${e.left}" y2="${e.top+n}" stroke="${oe}" stroke-width="1.6" stroke-linecap="round"/>`);for(let r of o){let i=c(r);i<e.top-1||i>e.top+n+1||(f.push(`<line x1="${e.left}" y1="${i}" x2="${e.left+t}" y2="${i}" stroke="${oe}" stroke-opacity="0.08"/>`),f.push(`<text x="${e.left-6}" y="${i+4}" font-size="11" text-anchor="end" fill="${oe}">${se(le(r))}</text>`))}for(let r of a){let i=s(r);i<e.left-1||i>e.left+t+1||f.push(`<text x="${i}" y="${e.top+n+16}" font-size="11" text-anchor="middle" fill="${oe}">${se(d(r))}</text>`)}return l&&f.push(`<text x="${e.left+t/2}" y="${i-10}" font-size="13" text-anchor="middle" fill="${oe}">${se(l)}</text>`),u&&f.push(`<text transform="translate(16 ${e.top+n/2}) rotate(-90)" font-size="13" text-anchor="middle" fill="${oe}">${se(u)}</text>`),f.join(``)}function pe(e,t){let{width:n,height:r}=t,i=ue({width:n,height:r,...e}),{margin:a,plotW:o,plotH:s}=i,c=e.series.flatMap(e=>e.points),l=c.map(e=>e[0]),u=c.map(e=>e[1]),d=ce(Math.min(...l),Math.max(...l)),f=ce(Math.min(e.kind===`area`?0:Math.min(...u),Math.min(...u)),Math.max(...u)),[p,m]=[d[0],d[d.length-1]],[h,g]=[f[0],f[f.length-1]],_=e=>a.left+(e-p)/(m-p||1)*o,v=e=>a.top+s-(e-h)/(g-h||1)*s,y=[fe({...i,width:n,height:r,xTicks:d,yTicks:f,xScale:_,yScale:v,xLabel:e.xLabel,yLabel:e.yLabel})];return e.series.forEach((t,n)=>{let r=ae[n%ae.length],i=e.kind===`scatter`?t.points:[...t.points].sort((e,t)=>e[0]-t[0]);if(e.kind===`scatter`){for(let[e,t]of i)y.push(`<circle cx="${_(e).toFixed(1)}" cy="${v(t).toFixed(1)}" r="3.6" fill="${r}" fill-opacity="0.8"/>`);return}let a=i.map(([e,t],n)=>`${n?`L`:`M`}${_(e).toFixed(1)} ${v(t).toFixed(1)}`).join(` `);if(e.kind===`area`){let e=v(Math.max(h,Math.min(0,g)));y.push(`<path d="${a} L${_(i[i.length-1][0]).toFixed(1)} ${e} L${_(i[0][0]).toFixed(1)} ${e} Z" fill="${r}" fill-opacity="0.15" stroke="none"/>`)}y.push(`<path d="${a}" fill="none" stroke="${r}" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/>`)}),y.push(de(e.series.map(e=>e.name||``),n)),y.join(``)}function me(e,t){let{width:n,height:r}=t,i=e.data.length?e.data:(e.series[0]?.points??[]).map(([e,t])=>({label:le(e),value:t})),a=ue({width:n,height:r,...e}),{margin:o,plotW:s,plotH:c}=a,l=i.map(e=>e.value),u=ce(Math.min(0,...l),Math.max(0,...l)),[d,f]=[u[0],u[u.length-1]],p=e=>o.top+c-(e-d)/(f-d||1)*c,m=s/Math.max(1,i.length),h=[fe({...a,width:n,height:r,xTicks:[],yTicks:u,xScale:()=>0,yScale:p,xLabel:e.xLabel,yLabel:e.yLabel})];return i.forEach((e,t)=>{let n=o.left+t*m+m*.18,r=p(Math.max(0,e.value)),i=p(Math.min(0,e.value)),a=ae[t%ae.length];h.push(`<rect x="${n.toFixed(1)}" y="${r.toFixed(1)}" width="${(m*.64).toFixed(1)}" height="${Math.max(1,i-r).toFixed(1)}" rx="3" fill="${a}" fill-opacity="0.78" stroke="${a}" stroke-width="1.4"/>`);let s=e.label.length>10?`${e.label.slice(0,9)}…`:e.label;h.push(`<text x="${(n+m*.32).toFixed(1)}" y="${o.top+c+16}" font-size="11" text-anchor="middle" fill="${oe}">${se(s)}</text>`),h.push(`<text x="${(n+m*.32).toFixed(1)}" y="${(r-5).toFixed(1)}" font-size="11" text-anchor="middle" fill="${oe}">${se(le(e.value))}</text>`)}),h.join(``)}function he(e,t){let{width:n,height:r}=t,i=(e.data.length?e.data:[]).filter(e=>e.value>0),a=i.reduce((e,t)=>e+t.value,0);if(!a)return``;let o=n*.36,s=(r+(e.title?20:0))/2,c=Math.min(n*.3,r*.38),l=-Math.PI/2,u=[];return i.forEach((e,t)=>{let r=e.value/a*Math.PI*2,d=l+r,f=+(r>Math.PI),[p,m]=[o+c*Math.cos(l),s+c*Math.sin(l)],[h,g]=[o+c*Math.cos(d),s+c*Math.sin(d)],_=ae[t%ae.length],v=i.length===1?`M${o-c} ${s} a${c} ${c} 0 1 0 ${c*2} 0 a${c} ${c} 0 1 0 ${-c*2} 0`:`M${o} ${s} L${p.toFixed(1)} ${m.toFixed(1)} A${c} ${c} 0 ${f} 1 ${h.toFixed(1)} ${g.toFixed(1)} Z`;u.push(`<path d="${v}" fill="${_}" fill-opacity="0.75" stroke="#fff" stroke-width="2"/>`);let y=30+t*20;u.push(`<rect x="${n*.7}" y="${y-10}" width="12" height="12" rx="2" fill="${_}"/>`),u.push(`<text x="${n*.7+18}" y="${y}" font-size="12" fill="${oe}">${se(e.label)} ${Math.round(e.value/a*100)}%</text>`),l=d}),u.join(``)}function ge(e,t={width:480,height:300}){let n=``;try{n=e.kind===`pie`?he(e,t):e.kind===`bar`?me(e,t):e.series.length?pe(e,t):me({...e,kind:`bar`},t)}catch{n=``}let r=e.title?`<text x="${t.width/2}" y="20" font-size="15" text-anchor="middle" fill="${oe}" font-weight="600">${se(e.title)}</text>`:``;return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${t.width} ${t.height}" width="${t.width}" height="${t.height}" font-family="${se(`'Segoe Print','Bradley Hand','Comic Sans MS','Kaiti SC','STKaiti','KaiTi',cursive`)}">${r}${n}</svg>`}var O=class e extends Error{constructor(t,n){var r=`KaTeX parse error: `+t,i,a,o=n&&n.loc;if(o&&o.start<=o.end){var s=o.lexer.input;i=o.start,a=o.end,i===s.length?r+=` at end of input: `:r+=` at position `+(i+1)+`: `;var c=s.slice(i,a).replace(/[^]/g,`$&̲`),l=i>15?`…`+s.slice(i-15,i):s.slice(0,i),u=a+15<s.length?s.slice(a,a+15)+`…`:s.slice(a);r+=l+c+u}super(r),this.name=`ParseError`,this.position=void 0,this.length=void 0,this.rawMessage=void 0,Object.setPrototypeOf(this,e.prototype),this.position=i,i!=null&&a!=null&&(this.length=a-i),this.rawMessage=t}},_e=/([A-Z])/g,k=e=>e.replace(_e,`-$1`).toLowerCase(),A={"&":`&amp;`,">":`&gt;`,"<":`&lt;`,'"':`&quot;`,"'":`&#x27;`},ve=/[&><"']/g,j=e=>String(e).replace(ve,e=>A[e]),ye=e=>e.type===`ordgroup`||e.type===`color`?e.body.length===1?ye(e.body[0]):e:e.type===`font`?ye(e.body):e,be=new Set([`mathord`,`textord`,`atom`]),xe=e=>be.has(ye(e).type),Se=e=>{var t=/^[\x00-\x20]*([^\\/#?]*?)(:|&#0*58|&#x0*3a|&colon)/i.exec(e);return t?t[2]!==`:`||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():`_relative`},Ce={displayMode:{type:`boolean`,description:`Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.`,cli:`-d, --display-mode`},output:{type:{enum:[`htmlAndMathml`,`html`,`mathml`]},description:`Determines the markup language of the output.`,cli:`-F, --format <type>`},leqno:{type:`boolean`,description:`Render display math in leqno style (left-justified tags).`},fleqn:{type:`boolean`,description:`Render display math flush left.`},throwOnError:{type:`boolean`,default:!0,cli:`-t, --no-throw-on-error`,cliDescription:`Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error.`},errorColor:{type:`string`,default:`#cc0000`,cli:`-c, --error-color <color>`,cliDescription:`A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.`,cliProcessor:e=>`#`+e},macros:{type:`object`,cli:`-m, --macro <def>`,cliDescription:`Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).`,cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:`number`,description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:`--min-rule-thickness <size>`,cliProcessor:parseFloat},colorIsTextColor:{type:`boolean`,description:`Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.`,cli:`-b, --color-is-text-color`},strict:{type:[{enum:[`warn`,`ignore`,`error`]},`boolean`,`function`],description:`Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.`,cli:`-S, --strict`,cliDefault:!1},trust:{type:[`boolean`,`function`],description:`Trust the input, enabling all HTML features such as \\url.`,cli:`-T, --trust`},maxSize:{type:`number`,default:1/0,description:`If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large`,processor:e=>Math.max(0,e),cli:`-s, --max-size <n>`,cliProcessor:parseInt},maxExpand:{type:`number`,default:1e3,description:`Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.`,processor:e=>Math.max(0,e),cli:`-e, --max-expand <n>`,cliProcessor:e=>e===`Infinity`?1/0:parseInt(e)},globalGroup:{type:`boolean`,cli:!1}};function we(e){if(typeof e!=`string`)return e.enum[0];switch(e){case`boolean`:return!1;case`string`:return``;case`number`:return 0;case`object`:return{};default:throw Error(`Unexpected schema type; settings must declare an explicit default.`)}}function Te(e){return e.default===void 0?we(Array.isArray(e.type)?e.type[0]:e.type):e.default}function Ee(e,t,n,r){var i=n[t];e[t]=i===void 0?Te(r):r.processor?r.processor(i):i}var De=class{constructor(e){e===void 0&&(e={}),this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e||={};for(var t of Object.keys(Ce)){var n=Ce[t];n&&Ee(this,t,e,n)}}reportNonstrict(e,t,n){var r=this.strict;if(typeof r==`function`&&(r=r(e,t,n)),!(!r||r===`ignore`)){if(r===!0||r===`error`)throw new O(`LaTeX-incompatible input and strict mode is set to 'error': `+(t+` [`+e+`]`),n);r===`warn`?typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to 'warn': `+(t+` [`+e+`]`)):typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to `+(`unrecognized '`+r+`': `+t+` [`+e+`]`))}}useStrictBehavior(e,t,n){var r=this.strict;if(typeof r==`function`)try{r=r(e,t,n)}catch{r=`error`}return!r||r===`ignore`?!1:r===!0||r===`error`?!0:r===`warn`?(typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to 'warn': `+(t+` [`+e+`]`)),!1):(typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to `+(`unrecognized '`+r+`': `+t+` [`+e+`]`)),!1)}isTrusted(e){if(`url`in e&&e.url&&!e.protocol){var t=Se(e.url);if(t==null)return!1;e.protocol=t}return!!(typeof this.trust==`function`?this.trust(e):this.trust)}},Oe=class{constructor(e,t,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=n}sup(){return Le[Re[this.id]]}sub(){return Le[ze[this.id]]}fracNum(){return Le[Be[this.id]]}fracDen(){return Le[Ve[this.id]]}cramp(){return Le[He[this.id]]}text(){return Le[Ue[this.id]]}isTight(){return this.size>=2}},ke=0,Ae=1,je=2,Me=3,Ne=4,Pe=5,Fe=6,Ie=7,Le=[new Oe(ke,0,!1),new Oe(Ae,0,!0),new Oe(je,1,!1),new Oe(Me,1,!0),new Oe(Ne,2,!1),new Oe(Pe,2,!0),new Oe(Fe,3,!1),new Oe(Ie,3,!0)],Re=[Ne,Pe,Ne,Pe,Fe,Ie,Fe,Ie],ze=[Pe,Pe,Pe,Pe,Ie,Ie,Ie,Ie],Be=[je,Me,Ne,Pe,Fe,Ie,Fe,Ie],Ve=[Me,Me,Pe,Pe,Ie,Ie,Ie,Ie],He=[Ae,Ae,Me,Me,Pe,Pe,Ie,Ie],Ue=[ke,Ae,je,Me,je,Me,je,Me],M={DISPLAY:Le[ke],TEXT:Le[je],SCRIPT:Le[Ne],SCRIPTSCRIPT:Le[Fe]},We=[{name:`latin`,blocks:[[256,591],[768,879]]},{name:`cyrillic`,blocks:[[1024,1279]]},{name:`armenian`,blocks:[[1328,1423]]},{name:`brahmic`,blocks:[[2304,4255]]},{name:`georgian`,blocks:[[4256,4351]]},{name:`cjk`,blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:`hangul`,blocks:[[44032,55215]]}];function Ge(e){for(var t=0;t<We.length;t++)for(var n=We[t],r=0;r<n.blocks.length;r++){var i=n.blocks[r];if(e>=i[0]&&e<=i[1])return n.name}return null}var Ke=[];We.forEach(e=>e.blocks.forEach(e=>Ke.push(...e)));function qe(e){for(var t=0;t<Ke.length;t+=2)if(e>=Ke[t]&&e<=Ke[t+1])return!0;return!1}var Je=e=>e+` `+e,Ye=80,Xe=function(e,t){return`M95,`+(622+e+t)+`
1
+ window.__ModuleLoader__.load({id:`dsh-aha-tutor`,factory:e=>{var t={exports:{}},n=t.exports;Object.defineProperty(n,Symbol.toStringTag,{value:`Module`});let r=e("react"),i=e("react/jsx-runtime"),a=e("@deepseek-ai/dsh-client-ui-primitives");var o=class extends Error{constructor(e,t){super(t),this.name=`ApiError`,this.code=e}};function s(e){async function t(t,n={}){let r;try{r=await e.call(`/aha-tutor`,t,n??{})}catch(e){throw new o(`network`,e?.message||`Connection to DSH failed`)}if(!r?.ok)throw new o(r?.error?.code??`failed`,r?.error?.message??`Request failed`);return r.value}async function n(e,{onPartial:n,onProgress:r,signal:i}={}){let a=e?.job;if(!a)return e;let s=0,c=a;for(;;){if(c.partial?.length&&(n?.(c.partial,s),s+=c.partial.length),c.progress&&r?.(c.progress),c.status===`done`)return c.result;if(c.status===`failed`||c.status===`cancelled`)throw new o(c.error?.code??c.status,c.error?.message??c.status);if(c.status===`missing`)throw new o(`missing`,`The task was lost; try again`);if(i?.aborted)throw t(`job/cancel`,{id:a.id}).catch(()=>void 0),new o(`cancelled`,`cancelled`);await new Promise(e=>{setTimeout(e,650)}),c=await t(`job/get`,{id:a.id,since:s})}}async function r(e,r,i){return n(await t(e,r),i)}return{call:t,follow:n,run:r}}function c(e){return new Promise((t,n)=>{let r=new FileReader;r.onerror=()=>n(r.error??Error(`read failed`)),r.onload=()=>{let e=String(r.result??``);t(e.slice(e.indexOf(`,`)+1))},r.readAsDataURL(e)})}function l(e,t,n=`application/json`){let r=URL.createObjectURL(new Blob([t],{type:`${n};charset=utf-8`})),i=document.createElement(`a`);i.href=r,i.download=e,document.body.append(i),i.click(),i.remove(),setTimeout(()=>URL.revokeObjectURL(r),5e3)}function u(e,t){let n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=e,document.body.append(r),r.click(),r.remove(),setTimeout(()=>URL.revokeObjectURL(n),1e4)}let d=(0,r.createContext)(null);function f(){let e=(0,r.useContext)(d);if(!e)throw Error(`AppContext missing`);return e}function p(e,t=[]){let[n,i]=(0,r.useState)({loading:!0,error:null,value:void 0}),a=(0,r.useRef)(0),o=(0,r.useCallback)(()=>{let t=++a.current;i(e=>({...e,loading:!0,error:null})),Promise.resolve().then(e).then(e=>{a.current===t&&i({loading:!1,error:null,value:e})}).catch(e=>{a.current===t&&i(t=>({loading:!1,error:e,value:t.value}))})},t);return(0,r.useEffect)(()=>(o(),()=>{a.current+=1}),[o]),{...n,reload:o,setValue:e=>i(t=>({...t,value:typeof e==`function`?e(t.value):e}))}}function m(){let{api:e}=f(),[t,n]=(0,r.useState)({running:!1,progress:null,error:null}),i=(0,r.useRef)(null);(0,r.useEffect)(()=>()=>i.current?.abort(),[]);let a=(0,r.useCallback)(async(t,r,{onPartial:a,existing:o}={})=>{i.current?.abort();let s=new AbortController;i.current=s,n({running:!0,progress:null,error:null});try{let i={signal:s.signal,onPartial:a,onProgress:e=>{s.signal.aborted||n(t=>({...t,progress:e}))}},c=o?await e.follow({job:o},i):await e.run(t,r,i);return s.signal.aborted||n({running:!1,progress:null,error:null}),c}catch(e){throw s.signal.aborted||n({running:!1,progress:null,error:e}),e}},[e]),o=(0,r.useCallback)(()=>{i.current?.abort(),n({running:!1,progress:null,error:null})},[]);return{...t,run:a,cancel:o}}function h(e){let[t]=(0,r.useState)(()=>{if(!e)return!1;let t=`aha-tutor:once:${e}`;try{if(window.sessionStorage.getItem(t))return!1;window.sessionStorage.setItem(t,`1`)}catch{}return!0});return t}function g(e,t){let n=`aha-tutor:${e}`,[i,a]=(0,r.useState)(()=>{try{let e=window.localStorage.getItem(n);return e===null?t:JSON.parse(e)}catch{return t}});return(0,r.useEffect)(()=>{try{window.localStorage.setItem(n,JSON.stringify(i))}catch{}},[n,i]),[i,a]}function _(){let e=()=>{if(document.body?.hasAttribute(`data-ds-dark-theme`))return!0;let e=getComputedStyle(document.documentElement).colorScheme;return/dark/iu.test(e)&&!/light/iu.test(e)?!0:!document.body&&window.matchMedia?.(`(prefers-color-scheme: dark)`).matches===!0},[t,n]=(0,r.useState)(e);return(0,r.useEffect)(()=>{let t=window.matchMedia?.(`(prefers-color-scheme: dark)`),r=()=>n(e());t?.addEventListener?.(`change`,r);let i=new MutationObserver(r);return i.observe(document.body,{attributes:!0,attributeFilter:[`data-ds-dark-theme`]}),i.observe(document.documentElement,{attributes:!0,attributeFilter:[`style`,`data-ds-theme-source`]}),()=>{t?.removeEventListener?.(`change`,r),i.disconnect()}},[]),t}let v=/[^。!?!?;;\n]+[。!?!?;;]*\s*|\n+/gu;function y(e){let t=[];for(let n of String(e??``).matchAll(v)){let e=n[0].trim();if(e)if(e.length<=160)t.push(e);else for(let n=0;n<e.length;n+=140)t.push(e.slice(n,n+140))}return t}function b(){return typeof window<`u`&&`speechSynthesis`in window&&typeof window.SpeechSynthesisUtterance==`function`}function x(){return b()?window.speechSynthesis.getVoices().map(e=>({id:e.voiceURI,name:e.name,lang:e.lang,local:e.localService,default:e.default})):[]}function S(e){if(!b())return()=>void 0;let t=()=>e(x());return window.speechSynthesis.addEventListener?.(`voiceschanged`,t),()=>window.speechSynthesis.removeEventListener?.(`voiceschanged`,t)}function C(e,t){if(!b())return null;let n=window.speechSynthesis.getVoices();if(t){let e=n.find(e=>e.voiceURI===t);if(e)return e}let r=String(e||`zh-CN`).toLowerCase(),i=r.split(`-`)[0],a=e=>{let t=e.lang.toLowerCase().replace(`_`,`-`),n=0;if(t===r)n+=40;else if(t.startsWith(i))n+=25;else return-1;return i===`zh`&&r===`zh-cn`&&/tw|hk/u.test(t)&&(n-=10),/natural|neural|enhanced|premium|siri/iu.test(e.name)&&(n+=12),e.localService&&(n+=6),/xiaoxiao|tingting|yunxi|xiaoyi|lili|huihui/iu.test(e.name)&&(n+=4),n};return n.map(e=>({voice:e,value:a(e)})).filter(e=>e.value>=0).sort((e,t)=>t.value-e.value)[0]?.voice??null}function w(){let e=null;function t(t,{language:r,voiceId:i,rate:a=1,onSentence:s}={}){o();let c=y(t);if(!b()||!c.length)return{done:Promise.resolve({completed:!0})};let l,u=new Promise(e=>{l=e}),d={sentences:c,index:0,paused:!1,cancelled:!1,rate:a,language:r,voiceId:i,resolveDone:l,onSentence:s};return e=d,n(d),{done:u}}function n(t){if(t.cancelled||t.paused)return;if(t.index>=t.sentences.length){t.resolveDone({completed:!0}),e===t&&(e=null);return}let r=new window.SpeechSynthesisUtterance(t.sentences[t.index]),i=C(t.language,t.voiceId);i?(r.voice=i,r.lang=i.lang):t.language&&(r.lang=t.language),r.rate=Math.min(2,Math.max(.5,t.rate));let a=t.index;r.onstart=()=>t.onSentence?.(a,t.sentences.length);let o=()=>{t.cancelled||t.paused||t.index!==a||(t.index+=1,n(t))};r.onend=o,r.onerror=n=>{if(!(n?.error===`interrupted`||n?.error===`canceled`)){if(n?.error===`not-allowed`||n?.error===`synthesis-unavailable`){e===t&&(e=null),t.cancelled=!0,t.resolveDone({completed:!1,error:n.error});return}o()}},t.utterance=r,window.speechSynthesis.speak(r)}function r(){!e||e.paused||(e.paused=!0,window.speechSynthesis.cancel())}function i(){!e||!e.paused||(e.paused=!1,n(e))}function a(t){e&&(e.rate=t)}function o(){if(!e)return;let t=e;e=null,t.cancelled=!0,b()&&window.speechSynthesis.cancel(),t.resolveDone({completed:!1})}return{speak:t,pause:r,resume:i,cancel:o,setRate:a}}function T({fetchAudio:e}){let t=null,n=new Map;async function r(t){if(n.has(t))return n.get(t);let r=e(t).then(({blob:e,base64:t,mime:n})=>{if(e)return URL.createObjectURL(e);let r=Uint8Array.from(atob(t),e=>e.charCodeAt(0));return URL.createObjectURL(new Blob([r],{type:n||`audio/mpeg`}))});if(n.set(t,r),r.catch(()=>n.delete(t)),n.size>40){let[e,t]=n.entries().next().value;n.delete(e),t.then(e=>URL.revokeObjectURL(e)).catch(()=>void 0)}return r}function i(e){e&&r(e).catch(()=>void 0)}function a(e,{rate:n=1}={}){if(cancel(),!String(e??``).trim())return{done:Promise.resolve({completed:!0})};let i,a=new Promise(e=>{i=e}),o=new Audio;o.preservesPitch=!0;let s={audio:o,cancelled:!1,resolveDone:i,rate:n};return t=s,r(e).then(e=>{if(!s.cancelled)return o.src=e,o.playbackRate=Math.min(2,Math.max(.5,n)),o.onended=()=>{t===s&&(t=null),i({completed:!0})},o.onerror=()=>{t===s&&(t=null),i({completed:!1,error:`playback`})},o.play()}).catch(e=>{t===s&&(t=null),i({completed:!1,error:e?.message??`tts`})}),{done:a}}return{speak:a,prefetch:i,pause:()=>t?.audio.pause(),resume:()=>t?.audio.play().catch(()=>void 0),setRate:e=>{t&&(t.audio.playbackRate=Math.min(2,Math.max(.5,e)))},cancel(){if(!t)return;let e=t;t=null,e.cancelled=!0,e.audio.pause(),e.resolveDone({completed:!1})},clear(){for(let e of n.values())e.then(e=>URL.revokeObjectURL(e)).catch(()=>void 0);n.clear()}}}function E({fetchAudio:e}){let t={browser:w(),cloud:T({fetchAudio:e})},n={engine:`browser`,rate:1},r=null;return{configure(e){n={...n,...e}},get settings(){return n},speak(e,i={}){return r?.cancel(),n.engine===`off`?(r=null,{done:Promise.resolve({completed:!0,silent:!0})}):(r=t[n.engine]??t.browser,r.speak(e,{...n,...i}))},prefetch(e){n.engine===`cloud`&&t.cloud.prefetch(e)},pause:()=>r?.pause(),resume:()=>r?.resume(),setRate(e){n={...n,rate:e},r?.setRate(e)},cancel:()=>r?.cancel(),dispose(){t.browser.cancel(),t.cloud.cancel(),t.cloud.clear()}}}let ee=`aha-tutor:navigate`;function te({rpc:e,t,language:n,dsh:i,navigate:a=()=>void 0,back:o=()=>void 0}){let c=(0,r.useMemo)(()=>s(e),[e]),l=(0,r.useMemo)(()=>E({fetchAudio:e=>ne(c,e)}),[c]);(0,r.useEffect)(()=>()=>l.dispose(),[l]);let[u,d]=(0,r.useState)({}),[f,p]=g(`voice`,``),[m,h]=(0,r.useState)(null),_=(0,r.useRef)(null),v=(0,r.useCallback)(e=>{h(e),clearTimeout(_.current),_.current=setTimeout(()=>h(null),3600)},[]),y=(0,r.useCallback)(()=>c.call(`settings/get`).then(d).catch(()=>void 0),[c]);(0,r.useEffect)(()=>{y(),c.call(`app/info`,{language:n}).catch(()=>void 0)},[y,n]);let b=(0,r.useMemo)(()=>({...u,voiceId:f}),[u,f]);return{value:(0,r.useMemo)(()=>({api:c,t,language:n,speech:l,settings:b,setVoiceId:p,reloadSettings:y,navigate:a,back:o,toast:v,dsh:i}),[c,t,n,l,b,p,y,a,o,v,i]),toastText:m}}async function ne(e,t){try{let e=await fetch(new URL(`api/aha-tutor/tts`,document.baseURI),{method:`POST`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify({text:t})});if(e.ok)return{blob:await e.blob()};if(e.status!==404){let t=`tts failed`;try{t=(await e.json())?.error?.message??t}catch{}throw Error(t)}}catch(e){if(e?.message&&e.message!==`Failed to fetch`)throw e}let n=await e.call(`tts/speak`,{text:t});return{base64:n.base64,mime:n.mime}}function D(e,t,n={}){let r={screen:t,params:n};try{window.localStorage.setItem(`aha-tutor:route`,JSON.stringify(r))}catch{}window.dispatchEvent(new CustomEvent(ee,{detail:r})),e?.selectPanel?.()}let re={logo:`M12 2v1.5M4.5 5l1.1 1.1M19.5 5l-1.1 1.1M9 18v-.6c0-.8-.4-1.5-1-2.1a5.5 5.5 0 1 1 8 0c-.6.6-1 1.3-1 2.1v.6zM9.5 21h5`,home:`M4 11l8-6.5 8 6.5V20h-5v-5h-6v5H4z`,courses:`M4 5.5A1.5 1.5 0 0 1 5.5 4H11v15H5.5A1.5 1.5 0 0 0 4 20.5zM20 5.5A1.5 1.5 0 0 0 18.5 4H13v15h5.5a1.5 1.5 0 0 1 1.5 1.5z`,assist:`M4 5h16v10H9l-5 4zM9 9.5h6M9 12h4`,library:`M5 4h4v16H5zM10 4h4v16h-4zM15.5 5l3.6-.9 2.4 15.6-3.6.9z`,studio:`M5 19l4-1 10-10-3-3L6 15l-1 4zM14 6l3 3M4 21h16`,shorts:`M4 6h16v12H4zM10 9.5v5l4.5-2.5z`,plan:`M5 5h14v15H5zM5 9h14M9 3v4M15 3v4M8.5 13h3M8.5 16h6`,profile:`M12 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM4.5 20a7.5 7.5 0 0 1 15 0`,settings:`M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM19 12l2-1.5-2-3.5-2.3.7a7 7 0 0 0-1.7-1L14.5 4h-5l-.5 2.7a7 7 0 0 0-1.7 1L5 7 3 10.5 5 12l-2 1.5L5 17l2.3-.7a7 7 0 0 0 1.7 1l.5 2.7h5l.5-2.7a7 7 0 0 0 1.7-1L19 17l2-3.5z`,board:`M3 5h18v11H3zM8 20h8M12 16v4M7 9l3 3 2-2 4 3`,plus:`M12 5v14M5 12h14`,upload:`M12 16V4M7 9l5-5 5 5M5 20h14`,link:`M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1`,trash:`M5 7h14M10 11v6M14 11v6M7 7l1 13h8l1-13M9 7V4h6v3`,play:`M7 5l12 7-12 7z`,folder:`M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,spark:`M12 3l1.8 5.2L19 10l-5.2 1.8L12 17l-1.8-5.2L5 10l5.2-1.8z`,heart:`M12 20s-7.5-4.6-7.5-10.2A4.3 4.3 0 0 1 12 7.2a4.3 4.3 0 0 1 7.5 2.6C19.5 15.4 12 20 12 20z`};function ie({name:e,size:t=18}){return(0,i.jsx)(`svg`,{width:t,height:t,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.7`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,i.jsx)(`path`,{d:re[e]??re.spark})})}var ae=`data:image/png;base64,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`,oe=`data:image/png;base64,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`;let se=`https://github.com/BaronCyrus/dsh-aha-tutor`;function ce(){let{t:e}=f();return(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:820},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:e(`aboutTitle`)}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-aboutHead`,children:[(0,i.jsx)(`span`,{className:`aha-aboutLogo`,children:(0,i.jsx)(ie,{name:`logo`,size:28})}),(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`div`,{className:`aha-cardTitle`,children:`BaronCyrus`}),(0,i.jsx)(`div`,{className:`aha-hint`,children:e(`aboutRole`)})]})]}),(0,i.jsx)(`p`,{className:`aha-aboutIntro`,children:e(`aboutIntro`)}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`a`,{className:`aha-btn`,href:se,target:`_blank`,rel:`noopener noreferrer`,children:e(`aboutRepo`)}),(0,i.jsx)(`a`,{className:`aha-btn`,href:`${se}/issues`,target:`_blank`,rel:`noopener noreferrer`,children:e(`aboutIssues`)})]})]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`div`,{className:`aha-cardTitle`,children:e(`aboutSupport`)}),(0,i.jsxs)(`div`,{className:`aha-sponsors`,children:[(0,i.jsxs)(`figure`,{children:[(0,i.jsx)(`img`,{src:oe,width:`180`,height:`180`,alt:e(`aboutWechat`)}),(0,i.jsx)(`figcaption`,{children:e(`aboutWechat`)})]}),(0,i.jsxs)(`figure`,{children:[(0,i.jsx)(`img`,{src:ae,width:`180`,height:`180`,alt:e(`aboutAlipay`)}),(0,i.jsx)(`figcaption`,{children:e(`aboutAlipay`)})]})]}),(0,i.jsx)(`p`,{className:`aha-hint`,style:{textAlign:`center`},children:e(`aboutScan`)})]})]})}let le=Object.freeze([`#2f6fde`,`#d64545`,`#2f9e6e`,`#e08a1e`,`#7a4fd6`,`#1f9bb4`]),ue=`#2b2b2b`;function de(e){return String(e??``).replace(/[&<>"']/gu,e=>({"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#39;`})[e])}function fe(e,t,n=5){if(!Number.isFinite(e)||!Number.isFinite(t))return[0,1];if(e===t){let n=Math.abs(e)||1;e-=n/2,t+=n/2}let r=(t-e)/Math.max(1,n),i=10**Math.floor(Math.log10(r)),a=r/i,o=(a>=7.5?10:a>=3.5?5:a>=1.5?2:1)*i,s=Math.floor(e/o)*o,c=[];for(let e=s;e<=t+o*.5;e+=o)c.push(Number(e.toPrecision(12)));return c}function pe(e){let t=Math.abs(e);return t>=1e6||t>0&&t<.001?e.toExponential(1):Number(e.toPrecision(6)).toString()}function me({width:e,height:t,title:n,xLabel:r,yLabel:i}){let a={top:n?34:16,right:18,bottom:r?50:34,left:i?62:48};return{margin:a,plotW:e-a.left-a.right,plotH:t-a.top-a.bottom}}function he(e,t){return e.length<2?``:e.map((e,n)=>{let r=t-150,i=14+n*18;return`<rect x="${r}" y="${i-9}" width="14" height="4" rx="2" fill="${le[n%le.length]}"/><text x="${r+20}" y="${i-3}" font-size="12" fill="${ue}">${de(e)}</text>`}).join(``)}function ge({margin:e,plotW:t,plotH:n,width:r,height:i,xTicks:a,yTicks:o,xScale:s,yScale:c,xLabel:l,yLabel:u,xFormat:d=pe}){let f=[];f.push(`<line x1="${e.left}" y1="${e.top+n}" x2="${e.left+t}" y2="${e.top+n}" stroke="${ue}" stroke-width="1.6" stroke-linecap="round"/>`),f.push(`<line x1="${e.left}" y1="${e.top}" x2="${e.left}" y2="${e.top+n}" stroke="${ue}" stroke-width="1.6" stroke-linecap="round"/>`);for(let r of o){let i=c(r);i<e.top-1||i>e.top+n+1||(f.push(`<line x1="${e.left}" y1="${i}" x2="${e.left+t}" y2="${i}" stroke="${ue}" stroke-opacity="0.08"/>`),f.push(`<text x="${e.left-6}" y="${i+4}" font-size="11" text-anchor="end" fill="${ue}">${de(pe(r))}</text>`))}for(let r of a){let i=s(r);i<e.left-1||i>e.left+t+1||f.push(`<text x="${i}" y="${e.top+n+16}" font-size="11" text-anchor="middle" fill="${ue}">${de(d(r))}</text>`)}return l&&f.push(`<text x="${e.left+t/2}" y="${i-10}" font-size="13" text-anchor="middle" fill="${ue}">${de(l)}</text>`),u&&f.push(`<text transform="translate(16 ${e.top+n/2}) rotate(-90)" font-size="13" text-anchor="middle" fill="${ue}">${de(u)}</text>`),f.join(``)}function _e(e,t){let{width:n,height:r}=t,i=me({width:n,height:r,...e}),{margin:a,plotW:o,plotH:s}=i,c=e.series.flatMap(e=>e.points),l=c.map(e=>e[0]),u=c.map(e=>e[1]),d=fe(Math.min(...l),Math.max(...l)),f=fe(Math.min(e.kind===`area`?0:Math.min(...u),Math.min(...u)),Math.max(...u)),[p,m]=[d[0],d[d.length-1]],[h,g]=[f[0],f[f.length-1]],_=e=>a.left+(e-p)/(m-p||1)*o,v=e=>a.top+s-(e-h)/(g-h||1)*s,y=[ge({...i,width:n,height:r,xTicks:d,yTicks:f,xScale:_,yScale:v,xLabel:e.xLabel,yLabel:e.yLabel})];return e.series.forEach((t,n)=>{let r=le[n%le.length],i=e.kind===`scatter`?t.points:[...t.points].sort((e,t)=>e[0]-t[0]);if(e.kind===`scatter`){for(let[e,t]of i)y.push(`<circle cx="${_(e).toFixed(1)}" cy="${v(t).toFixed(1)}" r="3.6" fill="${r}" fill-opacity="0.8"/>`);return}let a=i.map(([e,t],n)=>`${n?`L`:`M`}${_(e).toFixed(1)} ${v(t).toFixed(1)}`).join(` `);if(e.kind===`area`){let e=v(Math.max(h,Math.min(0,g)));y.push(`<path d="${a} L${_(i[i.length-1][0]).toFixed(1)} ${e} L${_(i[0][0]).toFixed(1)} ${e} Z" fill="${r}" fill-opacity="0.15" stroke="none"/>`)}y.push(`<path d="${a}" fill="none" stroke="${r}" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/>`)}),y.push(he(e.series.map(e=>e.name||``),n)),y.join(``)}function ve(e,t){let{width:n,height:r}=t,i=e.data.length?e.data:(e.series[0]?.points??[]).map(([e,t])=>({label:pe(e),value:t})),a=me({width:n,height:r,...e}),{margin:o,plotW:s,plotH:c}=a,l=i.map(e=>e.value),u=fe(Math.min(0,...l),Math.max(0,...l)),[d,f]=[u[0],u[u.length-1]],p=e=>o.top+c-(e-d)/(f-d||1)*c,m=s/Math.max(1,i.length),h=[ge({...a,width:n,height:r,xTicks:[],yTicks:u,xScale:()=>0,yScale:p,xLabel:e.xLabel,yLabel:e.yLabel})];return i.forEach((e,t)=>{let n=o.left+t*m+m*.18,r=p(Math.max(0,e.value)),i=p(Math.min(0,e.value)),a=le[t%le.length];h.push(`<rect x="${n.toFixed(1)}" y="${r.toFixed(1)}" width="${(m*.64).toFixed(1)}" height="${Math.max(1,i-r).toFixed(1)}" rx="3" fill="${a}" fill-opacity="0.78" stroke="${a}" stroke-width="1.4"/>`);let s=e.label.length>10?`${e.label.slice(0,9)}…`:e.label;h.push(`<text x="${(n+m*.32).toFixed(1)}" y="${o.top+c+16}" font-size="11" text-anchor="middle" fill="${ue}">${de(s)}</text>`),h.push(`<text x="${(n+m*.32).toFixed(1)}" y="${(r-5).toFixed(1)}" font-size="11" text-anchor="middle" fill="${ue}">${de(pe(e.value))}</text>`)}),h.join(``)}function O(e,t){let{width:n,height:r}=t,i=(e.data.length?e.data:[]).filter(e=>e.value>0),a=i.reduce((e,t)=>e+t.value,0);if(!a)return``;let o=n*.36,s=(r+(e.title?20:0))/2,c=Math.min(n*.3,r*.38),l=-Math.PI/2,u=[];return i.forEach((e,t)=>{let r=e.value/a*Math.PI*2,d=l+r,f=+(r>Math.PI),[p,m]=[o+c*Math.cos(l),s+c*Math.sin(l)],[h,g]=[o+c*Math.cos(d),s+c*Math.sin(d)],_=le[t%le.length],v=i.length===1?`M${o-c} ${s} a${c} ${c} 0 1 0 ${c*2} 0 a${c} ${c} 0 1 0 ${-c*2} 0`:`M${o} ${s} L${p.toFixed(1)} ${m.toFixed(1)} A${c} ${c} 0 ${f} 1 ${h.toFixed(1)} ${g.toFixed(1)} Z`;u.push(`<path d="${v}" fill="${_}" fill-opacity="0.75" stroke="#fff" stroke-width="2"/>`);let y=30+t*20;u.push(`<rect x="${n*.7}" y="${y-10}" width="12" height="12" rx="2" fill="${_}"/>`),u.push(`<text x="${n*.7+18}" y="${y}" font-size="12" fill="${ue}">${de(e.label)} ${Math.round(e.value/a*100)}%</text>`),l=d}),u.join(``)}function k(e,t={width:480,height:300}){let n=``;try{n=e.kind===`pie`?O(e,t):e.kind===`bar`?ve(e,t):e.series.length?_e(e,t):ve({...e,kind:`bar`},t)}catch{n=``}let r=e.title?`<text x="${t.width/2}" y="20" font-size="15" text-anchor="middle" fill="${ue}" font-weight="600">${de(e.title)}</text>`:``;return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${t.width} ${t.height}" width="${t.width}" height="${t.height}" font-family="${de(`'Segoe Print','Bradley Hand','Comic Sans MS','Kaiti SC','STKaiti','KaiTi',cursive`)}">${r}${n}</svg>`}var A=class e extends Error{constructor(t,n){var r=`KaTeX parse error: `+t,i,a,o=n&&n.loc;if(o&&o.start<=o.end){var s=o.lexer.input;i=o.start,a=o.end,i===s.length?r+=` at end of input: `:r+=` at position `+(i+1)+`: `;var c=s.slice(i,a).replace(/[^]/g,`$&̲`),l=i>15?`…`+s.slice(i-15,i):s.slice(0,i),u=a+15<s.length?s.slice(a,a+15)+`…`:s.slice(a);r+=l+c+u}super(r),this.name=`ParseError`,this.position=void 0,this.length=void 0,this.rawMessage=void 0,Object.setPrototypeOf(this,e.prototype),this.position=i,i!=null&&a!=null&&(this.length=a-i),this.rawMessage=t}},ye=/([A-Z])/g,be=e=>e.replace(ye,`-$1`).toLowerCase(),xe={"&":`&amp;`,">":`&gt;`,"<":`&lt;`,'"':`&quot;`,"'":`&#x27;`},Se=/[&><"']/g,Ce=e=>String(e).replace(Se,e=>xe[e]),we=e=>e.type===`ordgroup`||e.type===`color`?e.body.length===1?we(e.body[0]):e:e.type===`font`?we(e.body):e,Te=new Set([`mathord`,`textord`,`atom`]),Ee=e=>Te.has(we(e).type),De=e=>{var t=/^[\x00-\x20]*([^\\/#?]*?)(:|&#0*58|&#x0*3a|&colon)/i.exec(e);return t?t[2]!==`:`||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():`_relative`},Oe={displayMode:{type:`boolean`,description:`Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.`,cli:`-d, --display-mode`},output:{type:{enum:[`htmlAndMathml`,`html`,`mathml`]},description:`Determines the markup language of the output.`,cli:`-F, --format <type>`},leqno:{type:`boolean`,description:`Render display math in leqno style (left-justified tags).`},fleqn:{type:`boolean`,description:`Render display math flush left.`},throwOnError:{type:`boolean`,default:!0,cli:`-t, --no-throw-on-error`,cliDescription:`Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error.`},errorColor:{type:`string`,default:`#cc0000`,cli:`-c, --error-color <color>`,cliDescription:`A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.`,cliProcessor:e=>`#`+e},macros:{type:`object`,cli:`-m, --macro <def>`,cliDescription:`Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).`,cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:`number`,description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:`--min-rule-thickness <size>`,cliProcessor:parseFloat},colorIsTextColor:{type:`boolean`,description:`Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.`,cli:`-b, --color-is-text-color`},strict:{type:[{enum:[`warn`,`ignore`,`error`]},`boolean`,`function`],description:`Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.`,cli:`-S, --strict`,cliDefault:!1},trust:{type:[`boolean`,`function`],description:`Trust the input, enabling all HTML features such as \\url.`,cli:`-T, --trust`},maxSize:{type:`number`,default:1/0,description:`If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large`,processor:e=>Math.max(0,e),cli:`-s, --max-size <n>`,cliProcessor:parseInt},maxExpand:{type:`number`,default:1e3,description:`Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.`,processor:e=>Math.max(0,e),cli:`-e, --max-expand <n>`,cliProcessor:e=>e===`Infinity`?1/0:parseInt(e)},globalGroup:{type:`boolean`,cli:!1}};function ke(e){if(typeof e!=`string`)return e.enum[0];switch(e){case`boolean`:return!1;case`string`:return``;case`number`:return 0;case`object`:return{};default:throw Error(`Unexpected schema type; settings must declare an explicit default.`)}}function Ae(e){return e.default===void 0?ke(Array.isArray(e.type)?e.type[0]:e.type):e.default}function je(e,t,n,r){var i=n[t];e[t]=i===void 0?Ae(r):r.processor?r.processor(i):i}var Me=class{constructor(e){e===void 0&&(e={}),this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e||={};for(var t of Object.keys(Oe)){var n=Oe[t];n&&je(this,t,e,n)}}reportNonstrict(e,t,n){var r=this.strict;if(typeof r==`function`&&(r=r(e,t,n)),!(!r||r===`ignore`)){if(r===!0||r===`error`)throw new A(`LaTeX-incompatible input and strict mode is set to 'error': `+(t+` [`+e+`]`),n);r===`warn`?typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to 'warn': `+(t+` [`+e+`]`)):typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to `+(`unrecognized '`+r+`': `+t+` [`+e+`]`))}}useStrictBehavior(e,t,n){var r=this.strict;if(typeof r==`function`)try{r=r(e,t,n)}catch{r=`error`}return!r||r===`ignore`?!1:r===!0||r===`error`?!0:r===`warn`?(typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to 'warn': `+(t+` [`+e+`]`)),!1):(typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to `+(`unrecognized '`+r+`': `+t+` [`+e+`]`)),!1)}isTrusted(e){if(`url`in e&&e.url&&!e.protocol){var t=De(e.url);if(t==null)return!1;e.protocol=t}return!!(typeof this.trust==`function`?this.trust(e):this.trust)}},Ne=class{constructor(e,t,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=n}sup(){return He[Ue[this.id]]}sub(){return He[We[this.id]]}fracNum(){return He[Ge[this.id]]}fracDen(){return He[Ke[this.id]]}cramp(){return He[qe[this.id]]}text(){return He[Je[this.id]]}isTight(){return this.size>=2}},Pe=0,Fe=1,Ie=2,Le=3,Re=4,ze=5,Be=6,Ve=7,He=[new Ne(Pe,0,!1),new Ne(Fe,0,!0),new Ne(Ie,1,!1),new Ne(Le,1,!0),new Ne(Re,2,!1),new Ne(ze,2,!0),new Ne(Be,3,!1),new Ne(Ve,3,!0)],Ue=[Re,ze,Re,ze,Be,Ve,Be,Ve],We=[ze,ze,ze,ze,Ve,Ve,Ve,Ve],Ge=[Ie,Le,Re,ze,Be,Ve,Be,Ve],Ke=[Le,Le,ze,ze,Ve,Ve,Ve,Ve],qe=[Fe,Fe,Le,Le,ze,ze,Ve,Ve],Je=[Pe,Fe,Ie,Le,Ie,Le,Ie,Le],j={DISPLAY:He[Pe],TEXT:He[Ie],SCRIPT:He[Re],SCRIPTSCRIPT:He[Be]},Ye=[{name:`latin`,blocks:[[256,591],[768,879]]},{name:`cyrillic`,blocks:[[1024,1279]]},{name:`armenian`,blocks:[[1328,1423]]},{name:`brahmic`,blocks:[[2304,4255]]},{name:`georgian`,blocks:[[4256,4351]]},{name:`cjk`,blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:`hangul`,blocks:[[44032,55215]]}];function Xe(e){for(var t=0;t<Ye.length;t++)for(var n=Ye[t],r=0;r<n.blocks.length;r++){var i=n.blocks[r];if(e>=i[0]&&e<=i[1])return n.name}return null}var Ze=[];Ye.forEach(e=>e.blocks.forEach(e=>Ze.push(...e)));function Qe(e){for(var t=0;t<Ze.length;t+=2)if(e>=Ze[t]&&e<=Ze[t+1])return!0;return!1}var $e=e=>e+` `+e,et=80,tt=function(e,t){return`M95,`+(622+e+t)+`
2
2
  c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
3
3
  c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
4
4
  c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
@@ -9,7 +9,7 @@ c5.3,-9.3,12,-14,20,-14
9
9
  H400000v`+(40+e)+`H845.2724
10
10
  s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7
11
11
  c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z
12
- M`+(834+e)+` `+t+`h400000v`+(40+e)+`h-400000z`},Ze=function(e,t){return`M263,`+(601+e+t)+`c0.7,0,18,39.7,52,119
12
+ M`+(834+e)+` `+t+`h400000v`+(40+e)+`h-400000z`},nt=function(e,t){return`M263,`+(601+e+t)+`c0.7,0,18,39.7,52,119
13
13
  c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120
14
14
  c340,-704.7,510.7,-1060.3,512,-1067
15
15
  l`+e/2.084+` -`+e+`
@@ -19,7 +19,7 @@ s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,
19
19
  c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1
20
20
  s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26
21
21
  c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z
22
- M`+(1001+e)+` `+t+`h400000v`+(40+e)+`h-400000z`},Qe=function(e,t){return`M983 `+(10+e+t)+`
22
+ M`+(1001+e)+` `+t+`h400000v`+(40+e)+`h-400000z`},rt=function(e,t){return`M983 `+(10+e+t)+`
23
23
  l`+e/3.13+` -`+e+`
24
24
  c4,-6.7,10,-10,18,-10 H400000v`+(40+e)+`
25
25
  H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7
@@ -28,7 +28,7 @@ c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30
28
28
  c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722
29
29
  c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5
30
30
  c53.7,-170.3,84.5,-266.8,92.5,-289.5z
31
- M`+(1001+e)+` `+t+`h400000v`+(40+e)+`h-400000z`},$e=function(e,t){return`M424,`+(2398+e+t)+`
31
+ M`+(1001+e)+` `+t+`h400000v`+(40+e)+`h-400000z`},it=function(e,t){return`M424,`+(2398+e+t)+`
32
32
  c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514
33
33
  c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20
34
34
  s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121
@@ -38,18 +38,18 @@ v`+(40+e)+`H1014.6
38
38
  s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185
39
39
  c-2,6,-10,9,-24,9
40
40
  c-8,0,-12,-0.7,-12,-2z M`+(1001+e)+` `+t+`
41
- h400000v`+(40+e)+`h-400000z`},et=function(e,t){return`M473,`+(2713+e+t)+`
41
+ h400000v`+(40+e)+`h-400000z`},at=function(e,t){return`M473,`+(2713+e+t)+`
42
42
  c339.3,-1799.3,509.3,-2700,510,-2702 l`+e/5.298+` -`+e+`
43
43
  c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+e)+`H1017.7
44
44
  s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9
45
45
  c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200
46
46
  c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26
47
47
  s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,
48
- 606zM`+(1001+e)+` `+t+`h400000v`+(40+e)+`H1017.7z`},tt=function(e){var t=e/2;return`M400000 `+e+` H0 L`+t+` 0 l65 45 L145 `+(e-80)+` H400000z`},nt=function(e,t,n){var r=n-54-t-e;return`M702 `+(e+t)+`H400000`+(40+e)+`
48
+ 606zM`+(1001+e)+` `+t+`h400000v`+(40+e)+`H1017.7z`},ot=function(e){var t=e/2;return`M400000 `+e+` H0 L`+t+` 0 l65 45 L145 `+(e-80)+` H400000z`},st=function(e,t,n){var r=n-54-t-e;return`M702 `+(e+t)+`H400000`+(40+e)+`
49
49
  H742v`+r+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1
50
50
  h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170
51
51
  c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667
52
- 219 661 l218 661zM702 `+t+`H400000v`+(40+e)+`H742z`},rt=function(e,t,n){t=1e3*t;var r=``;switch(e){case`sqrtMain`:r=Xe(t,Ye);break;case`sqrtSize1`:r=Ze(t,Ye);break;case`sqrtSize2`:r=Qe(t,Ye);break;case`sqrtSize3`:r=$e(t,Ye);break;case`sqrtSize4`:r=et(t,Ye);break;case`sqrtTall`:r=nt(t,Ye,n)}return r},it=function(e,t){switch(e){case`⎜`:return Je(`M291 0 H417 V`+t+` H291z`);case`∣`:return Je(`M145 0 H188 V`+t+` H145z`);case`∥`:return Je(`M145 0 H188 V`+t+` H145z`)+Je(`M367 0 H410 V`+t+` H367z`);case`⎟`:return Je(`M457 0 H583 V`+t+` H457z`);case`⎢`:return Je(`M319 0 H403 V`+t+` H319z`);case`⎥`:return Je(`M263 0 H347 V`+t+` H263z`);case`⎪`:return Je(`M384 0 H504 V`+t+` H384z`);case`⏐`:return Je(`M312 0 H355 V`+t+` H312z`);case`‖`:return Je(`M257 0 H300 V`+t+` H257z`)+Je(`M478 0 H521 V`+t+` H478z`);default:return``}},at={doubleleftarrow:`M262 157
52
+ 219 661 l218 661zM702 `+t+`H400000v`+(40+e)+`H742z`},ct=function(e,t,n){t=1e3*t;var r=``;switch(e){case`sqrtMain`:r=tt(t,et);break;case`sqrtSize1`:r=nt(t,et);break;case`sqrtSize2`:r=rt(t,et);break;case`sqrtSize3`:r=it(t,et);break;case`sqrtSize4`:r=at(t,et);break;case`sqrtTall`:r=st(t,et,n)}return r},lt=function(e,t){switch(e){case`⎜`:return $e(`M291 0 H417 V`+t+` H291z`);case`∣`:return $e(`M145 0 H188 V`+t+` H145z`);case`∥`:return $e(`M145 0 H188 V`+t+` H145z`)+$e(`M367 0 H410 V`+t+` H367z`);case`⎟`:return $e(`M457 0 H583 V`+t+` H457z`);case`⎢`:return $e(`M319 0 H403 V`+t+` H319z`);case`⎥`:return $e(`M263 0 H347 V`+t+` H263z`);case`⎪`:return $e(`M384 0 H504 V`+t+` H384z`);case`⏐`:return $e(`M312 0 H355 V`+t+` H312z`);case`‖`:return $e(`M257 0 H300 V`+t+` H257z`)+$e(`M478 0 H521 V`+t+` H478z`);default:return``}},ut={doubleleftarrow:`M262 157
53
53
  l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3
54
54
  0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28
55
55
  14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5
@@ -95,10 +95,10 @@ m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9
95
95
  v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5
96
96
  -83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3
97
97
  -68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21
98
- 71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:Je(`M40 281 V428 H0 V94 H40 V241 H400000 v40z`),leftbracketunder:Je(`M0 0 h120 V290 H399995 v120 H0z`),leftbracketover:Je(`M0 440 h120 V150 H399995 v-120 H0z`),leftmapsto:Je(`M40 281 V448H0V74H40V241H400000v40z`),leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23
98
+ 71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:$e(`M40 281 V428 H0 V94 H40 V241 H400000 v40z`),leftbracketunder:$e(`M0 0 h120 V290 H399995 v120 H0z`),leftbracketover:$e(`M0 440 h120 V150 H399995 v-120 H0z`),leftmapsto:$e(`M40 281 V448H0V74H40V241H400000v40z`),leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23
99
99
  -.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8
100
100
  c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3
101
- 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:Je(`M0 50 h400000 v40H0z m0 194h40000v40H0z`),midbrace:`M200428 334
101
+ 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:$e(`M0 50 h400000 v40H0z m0 194h40000v40H0z`),midbrace:`M200428 334
102
102
  c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14
103
103
  -53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7
104
104
  311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11
@@ -147,7 +147,7 @@ m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,rightharpoondown
147
147
  m0-194v40h400000v-40zm0 0v40h400000v-40z`,righthook:`M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3
148
148
  15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0
149
149
  -13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21
150
- 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:Je(`M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`),rightbracketunder:Je(`M399995 0 h-120 V290 H0 v120 H400000z`),rightbracketover:Je(`M399995 440 h-120 V150 H0 v-120 H399995z`),rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23
150
+ 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:$e(`M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`),rightbracketunder:$e(`M399995 0 h-120 V290 H0 v120 H400000z`),rightbracketover:$e(`M399995 440 h-120 V150 H0 v-120 H399995z`),rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23
151
151
  1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32
152
152
  -52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142
153
153
  -167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40
@@ -220,7 +220,7 @@ M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`
220
220
  c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,
221
221
  -231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6
222
222
  c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z
223
- M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},ot=function(e,t){switch(e){case`lbrack`:return`M403 1759 V84 H666 V0 H319 V1759 v`+t+` v1759 v84 h347 v-84
223
+ M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},dt=function(e,t){switch(e){case`lbrack`:return`M403 1759 V84 H666 V0 H319 V1759 v`+t+` v1759 v84 h347 v-84
224
224
  H403z M403 1759 V0 H319 V1759 v`+t+` v1759 v84 h84z`;case`rbrack`:return`M347 1759 V0 H0 V84 H263 V1759 v`+t+` v1759 H0 v84 H347z
225
225
  M347 1759 V0 H263 V1759 v`+t+` v1759 h84z`;case`vert`:return`M145 15 v585 v`+t+` v585 c2.667,10,9.667,15,21,15
226
226
  c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15
@@ -248,21 +248,21 @@ c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6
248
248
  c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17
249
249
  c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558
250
250
  l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
251
- -470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw Error(`Unknown stretchy delimiter.`)}};function st(e){return`toText`in e}var ct=class{constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),t=0;t<this.children.length;t++)e.appendChild(this.children[t].toNode());return e}toMarkup(){for(var e=``,t=0;t<this.children.length;t++)e+=this.children[t].toMarkup();return e}toText(){return this.children.map(e=>{if(st(e))return e.toText();throw Error(`Expected MathDomNode with toText, got `+e.constructor.name)}).join(``)}},lt={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},ut={ex:!0,em:!0,mu:!0},dt=function(e){return typeof e!=`string`&&(e=e.unit),e in lt||e in ut||e===`ex`},ft=function(e,t){var n;if(e.unit in lt)n=lt[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if(e.unit===`mu`)n=t.fontMetrics().cssEmPerMu;else{var r=t.style.isTight()?t.havingStyle(t.style.text()):t;if(e.unit===`ex`)n=r.fontMetrics().xHeight;else if(e.unit===`em`)n=r.fontMetrics().quad;else throw new O(`Invalid unit: '`+e.unit+`'`);r!==t&&(n*=r.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*n,t.maxSize)},N=function(e){return+e.toFixed(4)+`em`},pt=function(e){return e.filter(e=>e).join(` `)},mt=function(e){var t=``;for(var n of Object.keys(e)){var r=e[n];r!==void 0&&(t+=k(n)+`:`+r+`;`)}return t},ht=function(e,t,n){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},t){t.style.isTight()&&this.classes.push(`mtight`);var r=t.getColor();r&&(this.style.color=r)}},gt=function(e){var t=document.createElement(e);t.className=pt(this.classes),Object.assign(t.style,this.style);for(var n of Object.keys(this.attributes))t.setAttribute(n,this.attributes[n]);for(var r=0;r<this.children.length;r++)t.appendChild(this.children[r].toNode());return t},_t=/[\s"'>/=\x00-\x1f]/,vt=function(e){var t=`<`+e;this.classes.length&&(t+=` class="`+j(pt(this.classes))+`"`);var n=mt(this.style);n&&(t+=` style="`+j(n)+`"`);for(var r of Object.keys(this.attributes)){if(_t.test(r))throw new O(`Invalid attribute name '`+r+`'`);t+=` `+r+`="`+j(this.attributes[r])+`"`}t+=`>`;for(var i=0;i<this.children.length;i++)t+=this.children[i].toMarkup();return t+=`</`+e+`>`,t},yt=class{constructor(e,t,n,r){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,this.italic=void 0,ht.call(this,e,n,r),this.children=t||[]}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return gt.call(this,`span`)}toMarkup(){return vt.call(this,`span`)}},bt=class{constructor(e,t,n,r){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,ht.call(this,t,r),this.children=n||[],this.setAttribute(`href`,e)}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return gt.call(this,`a`)}toMarkup(){return vt.call(this,`a`)}},xt=class{constructor(e,t,n){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=t,this.src=e,this.classes=[`mord`],this.height=0,this.depth=0,this.maxFontSize=0,this.style=n}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement(`img`);return e.src=this.src,e.alt=this.alt,e.className=`mord`,Object.assign(e.style,this.style),e}toMarkup(){var e=`<img src="`+j(this.src)+`"`+(` alt="`+j(this.alt)+`"`),t=mt(this.style);return t&&(e+=` style="`+j(t)+`"`),e+=`'/>`,e}},St={î:`ı̂`,ï:`ı̈`,í:`ı́`,ì:`ı̀`},Ct=class{constructor(e,t,n,r,i,a,o,s){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=e,this.height=t||0,this.depth=n||0,this.italic=r||0,this.skew=i||0,this.width=a||0,this.classes=o||[],this.style=s||{},this.maxFontSize=0;var c=Ge(this.text.charCodeAt(0));c&&this.classes.push(c+`_fallback`),/[îïíì]/.test(this.text)&&(this.text=St[this.text])}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createTextNode(this.text),t=null;return this.italic>0&&(t=document.createElement(`span`),t.style.marginRight=N(this.italic)),this.classes.length>0&&(t||=document.createElement(`span`),t.className=pt(this.classes)),Object.keys(this.style).length>0&&(t||=document.createElement(`span`),Object.assign(t.style,this.style)),t?(t.appendChild(e),t):e}toMarkup(){var e=!1,t=`<span`;this.classes.length&&(e=!0,t+=` class="`,t+=j(pt(this.classes)),t+=`"`);var n=``;this.italic>0&&(n+=`margin-right:`+N(this.italic)+`;`),n+=mt(this.style),n&&(e=!0,t+=` style="`+j(n)+`"`);var r=j(this.text);return e?(t+=`>`,t+=r,t+=`</span>`,t):r}},wt=class{constructor(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}toNode(){var e=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);for(var t of Object.keys(this.attributes))e.setAttribute(t,this.attributes[t]);for(var n=0;n<this.children.length;n++)e.appendChild(this.children[n].toNode());return e}toMarkup(){var e=`<svg xmlns="http://www.w3.org/2000/svg"`;for(var t of Object.keys(this.attributes))e+=` `+t+`="`+j(this.attributes[t])+`"`;e+=`>`;for(var n=0;n<this.children.length;n++)e+=this.children[n].toMarkup();return e+=`</svg>`,e}},Tt=class{constructor(e,t){this.pathName=void 0,this.alternate=void 0,this.pathName=e,this.alternate=t}toNode(){var e=document.createElementNS(`http://www.w3.org/2000/svg`,`path`);return this.alternate?e.setAttribute(`d`,this.alternate):e.setAttribute(`d`,at[this.pathName]),e}toMarkup(){return this.alternate?`<path d="`+j(this.alternate)+`"/>`:`<path d="`+j(at[this.pathName])+`"/>`}},Et=class{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e=document.createElementNS(`http://www.w3.org/2000/svg`,`line`);for(var t of Object.keys(this.attributes))e.setAttribute(t,this.attributes[t]);return e}toMarkup(){var e=`<line`;for(var t of Object.keys(this.attributes))e+=` `+t+`="`+j(this.attributes[t])+`"`;return e+=`/>`,e}};function Dt(e){if(e instanceof Ct)return e;throw Error(`Expected symbolNode but got `+String(e)+`.`)}function Ot(e){if(e instanceof yt)return e;throw Error(`Expected span<HtmlDomNode> but got `+String(e)+`.`)}var kt=e=>e instanceof yt||e instanceof bt||e instanceof ct,At={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},jt={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},Mt={Å:`A`,Ð:`D`,Þ:`o`,å:`a`,ð:`d`,þ:`o`,А:`A`,Б:`B`,В:`B`,Г:`F`,Д:`A`,Е:`E`,Ж:`K`,З:`3`,И:`N`,Й:`N`,К:`K`,Л:`N`,М:`M`,Н:`H`,О:`O`,П:`N`,Р:`P`,С:`C`,Т:`T`,У:`y`,Ф:`O`,Х:`X`,Ц:`U`,Ч:`h`,Ш:`W`,Щ:`W`,Ъ:`B`,Ы:`X`,Ь:`B`,Э:`3`,Ю:`X`,Я:`R`,а:`a`,б:`b`,в:`a`,г:`r`,д:`y`,е:`e`,ж:`m`,з:`e`,и:`n`,й:`n`,к:`n`,л:`n`,м:`m`,н:`n`,о:`o`,п:`n`,р:`p`,с:`c`,т:`o`,у:`y`,ф:`b`,х:`x`,ц:`n`,ч:`n`,ш:`w`,щ:`w`,ъ:`a`,ы:`m`,ь:`a`,э:`e`,ю:`m`,я:`r`};function Nt(e,t){At[e]=t}function Pt(e,t,n){if(!At[t])throw Error(`Font metrics not found for font: `+t+`.`);var r=e.charCodeAt(0),i=At[t][r];if(!i&&e[0]in Mt&&(r=Mt[e[0]].charCodeAt(0),i=At[t][r]),!i&&n===`text`&&qe(r)&&(i=At[t][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}var Ft={};function It(e){var t=e>=5?0:e>=3?1:2;if(!Ft[t]){var n=Ft[t]={cssEmPerMu:jt.quad[t]/18};for(var r in jt)jt.hasOwnProperty(r)&&(n[r]=jt[r][t])}return Ft[t]}var Lt={math:{},text:{}};function P(e,t,n,r,i,a){Lt[e][i]={font:t,group:n,replace:r},a&&r&&(Lt[e][r]=Lt[e][i])}var F=`math`,I=`text`,L=`main`,R=`ams`,Rt=`accent-token`,z=`bin`,zt=`close`,Bt=`inner`,B=`mathord`,Vt=`op-token`,Ht=`open`,Ut=`punct`,V=`rel`,Wt=`spacing`,H=`textord`;P(F,L,V,`≡`,`\\equiv`,!0),P(F,L,V,`≺`,`\\prec`,!0),P(F,L,V,`≻`,`\\succ`,!0),P(F,L,V,`∼`,`\\sim`,!0),P(F,L,V,`⊥`,`\\perp`),P(F,L,V,`⪯`,`\\preceq`,!0),P(F,L,V,`⪰`,`\\succeq`,!0),P(F,L,V,`≃`,`\\simeq`,!0),P(F,L,V,`∣`,`\\mid`,!0),P(F,L,V,`≪`,`\\ll`,!0),P(F,L,V,`≫`,`\\gg`,!0),P(F,L,V,`≍`,`\\asymp`,!0),P(F,L,V,`∥`,`\\parallel`),P(F,L,V,`⋈`,`\\bowtie`,!0),P(F,L,V,`⌣`,`\\smile`,!0),P(F,L,V,`⊑`,`\\sqsubseteq`,!0),P(F,L,V,`⊒`,`\\sqsupseteq`,!0),P(F,L,V,`≐`,`\\doteq`,!0),P(F,L,V,`⌢`,`\\frown`,!0),P(F,L,V,`∋`,`\\ni`,!0),P(F,L,V,`∝`,`\\propto`,!0),P(F,L,V,`⊢`,`\\vdash`,!0),P(F,L,V,`⊣`,`\\dashv`,!0),P(F,L,V,`∋`,`\\owns`),P(F,L,Ut,`.`,`\\ldotp`),P(F,L,Ut,`⋅`,`\\cdotp`),P(F,L,Ut,`⋅`,`·`),P(I,L,H,`⋅`,`·`),P(F,L,H,`#`,`\\#`),P(I,L,H,`#`,`\\#`),P(F,L,H,`&`,`\\&`),P(I,L,H,`&`,`\\&`),P(F,L,H,`ℵ`,`\\aleph`,!0),P(F,L,H,`∀`,`\\forall`,!0),P(F,L,H,`ℏ`,`\\hbar`,!0),P(F,L,H,`∃`,`\\exists`,!0),P(F,L,H,`∇`,`\\nabla`,!0),P(F,L,H,`♭`,`\\flat`,!0),P(F,L,H,`ℓ`,`\\ell`,!0),P(F,L,H,`♮`,`\\natural`,!0),P(F,L,H,`♣`,`\\clubsuit`,!0),P(F,L,H,`℘`,`\\wp`,!0),P(F,L,H,`♯`,`\\sharp`,!0),P(F,L,H,`♢`,`\\diamondsuit`,!0),P(F,L,H,`ℜ`,`\\Re`,!0),P(F,L,H,`♡`,`\\heartsuit`,!0),P(F,L,H,`ℑ`,`\\Im`,!0),P(F,L,H,`♠`,`\\spadesuit`,!0),P(F,L,H,`§`,`\\S`,!0),P(I,L,H,`§`,`\\S`),P(F,L,H,`¶`,`\\P`,!0),P(I,L,H,`¶`,`\\P`),P(F,L,H,`†`,`\\dag`),P(I,L,H,`†`,`\\dag`),P(I,L,H,`†`,`\\textdagger`),P(F,L,H,`‡`,`\\ddag`),P(I,L,H,`‡`,`\\ddag`),P(I,L,H,`‡`,`\\textdaggerdbl`),P(F,L,zt,`⎱`,`\\rmoustache`,!0),P(F,L,Ht,`⎰`,`\\lmoustache`,!0),P(F,L,zt,`⟯`,`\\rgroup`,!0),P(F,L,Ht,`⟮`,`\\lgroup`,!0),P(F,L,z,`∓`,`\\mp`,!0),P(F,L,z,`⊖`,`\\ominus`,!0),P(F,L,z,`⊎`,`\\uplus`,!0),P(F,L,z,`⊓`,`\\sqcap`,!0),P(F,L,z,`∗`,`\\ast`),P(F,L,z,`⊔`,`\\sqcup`,!0),P(F,L,z,`◯`,`\\bigcirc`,!0),P(F,L,z,`∙`,`\\bullet`,!0),P(F,L,z,`‡`,`\\ddagger`),P(F,L,z,`≀`,`\\wr`,!0),P(F,L,z,`⨿`,`\\amalg`),P(F,L,z,`&`,`\\And`),P(F,L,V,`⟵`,`\\longleftarrow`,!0),P(F,L,V,`⇐`,`\\Leftarrow`,!0),P(F,L,V,`⟸`,`\\Longleftarrow`,!0),P(F,L,V,`⟶`,`\\longrightarrow`,!0),P(F,L,V,`⇒`,`\\Rightarrow`,!0),P(F,L,V,`⟹`,`\\Longrightarrow`,!0),P(F,L,V,`↔`,`\\leftrightarrow`,!0),P(F,L,V,`⟷`,`\\longleftrightarrow`,!0),P(F,L,V,`⇔`,`\\Leftrightarrow`,!0),P(F,L,V,`⟺`,`\\Longleftrightarrow`,!0),P(F,L,V,`↦`,`\\mapsto`,!0),P(F,L,V,`⟼`,`\\longmapsto`,!0),P(F,L,V,`↗`,`\\nearrow`,!0),P(F,L,V,`↩`,`\\hookleftarrow`,!0),P(F,L,V,`↪`,`\\hookrightarrow`,!0),P(F,L,V,`↘`,`\\searrow`,!0),P(F,L,V,`↼`,`\\leftharpoonup`,!0),P(F,L,V,`⇀`,`\\rightharpoonup`,!0),P(F,L,V,`↙`,`\\swarrow`,!0),P(F,L,V,`↽`,`\\leftharpoondown`,!0),P(F,L,V,`⇁`,`\\rightharpoondown`,!0),P(F,L,V,`↖`,`\\nwarrow`,!0),P(F,L,V,`⇌`,`\\rightleftharpoons`,!0),P(F,R,V,`≮`,`\\nless`,!0),P(F,R,V,``,`\\@nleqslant`),P(F,R,V,``,`\\@nleqq`),P(F,R,V,`⪇`,`\\lneq`,!0),P(F,R,V,`≨`,`\\lneqq`,!0),P(F,R,V,``,`\\@lvertneqq`),P(F,R,V,`⋦`,`\\lnsim`,!0),P(F,R,V,`⪉`,`\\lnapprox`,!0),P(F,R,V,`⊀`,`\\nprec`,!0),P(F,R,V,`⋠`,`\\npreceq`,!0),P(F,R,V,`⋨`,`\\precnsim`,!0),P(F,R,V,`⪹`,`\\precnapprox`,!0),P(F,R,V,`≁`,`\\nsim`,!0),P(F,R,V,``,`\\@nshortmid`),P(F,R,V,`∤`,`\\nmid`,!0),P(F,R,V,`⊬`,`\\nvdash`,!0),P(F,R,V,`⊭`,`\\nvDash`,!0),P(F,R,V,`⋪`,`\\ntriangleleft`),P(F,R,V,`⋬`,`\\ntrianglelefteq`,!0),P(F,R,V,`⊊`,`\\subsetneq`,!0),P(F,R,V,``,`\\@varsubsetneq`),P(F,R,V,`⫋`,`\\subsetneqq`,!0),P(F,R,V,``,`\\@varsubsetneqq`),P(F,R,V,`≯`,`\\ngtr`,!0),P(F,R,V,``,`\\@ngeqslant`),P(F,R,V,``,`\\@ngeqq`),P(F,R,V,`⪈`,`\\gneq`,!0),P(F,R,V,`≩`,`\\gneqq`,!0),P(F,R,V,``,`\\@gvertneqq`),P(F,R,V,`⋧`,`\\gnsim`,!0),P(F,R,V,`⪊`,`\\gnapprox`,!0),P(F,R,V,`⊁`,`\\nsucc`,!0),P(F,R,V,`⋡`,`\\nsucceq`,!0),P(F,R,V,`⋩`,`\\succnsim`,!0),P(F,R,V,`⪺`,`\\succnapprox`,!0),P(F,R,V,`≆`,`\\ncong`,!0),P(F,R,V,``,`\\@nshortparallel`),P(F,R,V,`∦`,`\\nparallel`,!0),P(F,R,V,`⊯`,`\\nVDash`,!0),P(F,R,V,`⋫`,`\\ntriangleright`),P(F,R,V,`⋭`,`\\ntrianglerighteq`,!0),P(F,R,V,``,`\\@nsupseteqq`),P(F,R,V,`⊋`,`\\supsetneq`,!0),P(F,R,V,``,`\\@varsupsetneq`),P(F,R,V,`⫌`,`\\supsetneqq`,!0),P(F,R,V,``,`\\@varsupsetneqq`),P(F,R,V,`⊮`,`\\nVdash`,!0),P(F,R,V,`⪵`,`\\precneqq`,!0),P(F,R,V,`⪶`,`\\succneqq`,!0),P(F,R,V,``,`\\@nsubseteqq`),P(F,R,z,`⊴`,`\\unlhd`),P(F,R,z,`⊵`,`\\unrhd`),P(F,R,V,`↚`,`\\nleftarrow`,!0),P(F,R,V,`↛`,`\\nrightarrow`,!0),P(F,R,V,`⇍`,`\\nLeftarrow`,!0),P(F,R,V,`⇏`,`\\nRightarrow`,!0),P(F,R,V,`↮`,`\\nleftrightarrow`,!0),P(F,R,V,`⇎`,`\\nLeftrightarrow`,!0),P(F,R,V,`△`,`\\vartriangle`),P(F,R,H,`ℏ`,`\\hslash`),P(F,R,H,`▽`,`\\triangledown`),P(F,R,H,`◊`,`\\lozenge`),P(F,R,H,`Ⓢ`,`\\circledS`),P(F,R,H,`®`,`\\circledR`),P(I,R,H,`®`,`\\circledR`),P(F,R,H,`∡`,`\\measuredangle`,!0),P(F,R,H,`∄`,`\\nexists`),P(F,R,H,`℧`,`\\mho`),P(F,R,H,`Ⅎ`,`\\Finv`,!0),P(F,R,H,`⅁`,`\\Game`,!0),P(F,R,H,`‵`,`\\backprime`),P(F,R,H,`▲`,`\\blacktriangle`),P(F,R,H,`▼`,`\\blacktriangledown`),P(F,R,H,`■`,`\\blacksquare`),P(F,R,H,`⧫`,`\\blacklozenge`),P(F,R,H,`★`,`\\bigstar`),P(F,R,H,`∢`,`\\sphericalangle`,!0),P(F,R,H,`∁`,`\\complement`,!0),P(F,R,H,`ð`,`\\eth`,!0),P(I,L,H,`ð`,`ð`),P(F,R,H,`╱`,`\\diagup`),P(F,R,H,`╲`,`\\diagdown`),P(F,R,H,`□`,`\\square`),P(F,R,H,`□`,`\\Box`),P(F,R,H,`◊`,`\\Diamond`),P(F,R,H,`¥`,`\\yen`,!0),P(I,R,H,`¥`,`\\yen`,!0),P(F,R,H,`✓`,`\\checkmark`,!0),P(I,R,H,`✓`,`\\checkmark`),P(F,R,H,`ℶ`,`\\beth`,!0),P(F,R,H,`ℸ`,`\\daleth`,!0),P(F,R,H,`ℷ`,`\\gimel`,!0),P(F,R,H,`ϝ`,`\\digamma`,!0),P(F,R,H,`ϰ`,`\\varkappa`),P(F,R,Ht,`┌`,`\\@ulcorner`,!0),P(F,R,zt,`┐`,`\\@urcorner`,!0),P(F,R,Ht,`└`,`\\@llcorner`,!0),P(F,R,zt,`┘`,`\\@lrcorner`,!0),P(F,R,V,`≦`,`\\leqq`,!0),P(F,R,V,`⩽`,`\\leqslant`,!0),P(F,R,V,`⪕`,`\\eqslantless`,!0),P(F,R,V,`≲`,`\\lesssim`,!0),P(F,R,V,`⪅`,`\\lessapprox`,!0),P(F,R,V,`≊`,`\\approxeq`,!0),P(F,R,z,`⋖`,`\\lessdot`),P(F,R,V,`⋘`,`\\lll`,!0),P(F,R,V,`≶`,`\\lessgtr`,!0),P(F,R,V,`⋚`,`\\lesseqgtr`,!0),P(F,R,V,`⪋`,`\\lesseqqgtr`,!0),P(F,R,V,`≑`,`\\doteqdot`),P(F,R,V,`≓`,`\\risingdotseq`,!0),P(F,R,V,`≒`,`\\fallingdotseq`,!0),P(F,R,V,`∽`,`\\backsim`,!0),P(F,R,V,`⋍`,`\\backsimeq`,!0),P(F,R,V,`⫅`,`\\subseteqq`,!0),P(F,R,V,`⋐`,`\\Subset`,!0),P(F,R,V,`⊏`,`\\sqsubset`,!0),P(F,R,V,`≼`,`\\preccurlyeq`,!0),P(F,R,V,`⋞`,`\\curlyeqprec`,!0),P(F,R,V,`≾`,`\\precsim`,!0),P(F,R,V,`⪷`,`\\precapprox`,!0),P(F,R,V,`⊲`,`\\vartriangleleft`),P(F,R,V,`⊴`,`\\trianglelefteq`),P(F,R,V,`⊨`,`\\vDash`,!0),P(F,R,V,`⊪`,`\\Vvdash`,!0),P(F,R,V,`⌣`,`\\smallsmile`),P(F,R,V,`⌢`,`\\smallfrown`),P(F,R,V,`≏`,`\\bumpeq`,!0),P(F,R,V,`≎`,`\\Bumpeq`,!0),P(F,R,V,`≧`,`\\geqq`,!0),P(F,R,V,`⩾`,`\\geqslant`,!0),P(F,R,V,`⪖`,`\\eqslantgtr`,!0),P(F,R,V,`≳`,`\\gtrsim`,!0),P(F,R,V,`⪆`,`\\gtrapprox`,!0),P(F,R,z,`⋗`,`\\gtrdot`),P(F,R,V,`⋙`,`\\ggg`,!0),P(F,R,V,`≷`,`\\gtrless`,!0),P(F,R,V,`⋛`,`\\gtreqless`,!0),P(F,R,V,`⪌`,`\\gtreqqless`,!0),P(F,R,V,`≖`,`\\eqcirc`,!0),P(F,R,V,`≗`,`\\circeq`,!0),P(F,R,V,`≜`,`\\triangleq`,!0),P(F,R,V,`∼`,`\\thicksim`),P(F,R,V,`≈`,`\\thickapprox`),P(F,R,V,`⫆`,`\\supseteqq`,!0),P(F,R,V,`⋑`,`\\Supset`,!0),P(F,R,V,`⊐`,`\\sqsupset`,!0),P(F,R,V,`≽`,`\\succcurlyeq`,!0),P(F,R,V,`⋟`,`\\curlyeqsucc`,!0),P(F,R,V,`≿`,`\\succsim`,!0),P(F,R,V,`⪸`,`\\succapprox`,!0),P(F,R,V,`⊳`,`\\vartriangleright`),P(F,R,V,`⊵`,`\\trianglerighteq`),P(F,R,V,`⊩`,`\\Vdash`,!0),P(F,R,V,`∣`,`\\shortmid`),P(F,R,V,`∥`,`\\shortparallel`),P(F,R,V,`≬`,`\\between`,!0),P(F,R,V,`⋔`,`\\pitchfork`,!0),P(F,R,V,`∝`,`\\varpropto`),P(F,R,V,`◀`,`\\blacktriangleleft`),P(F,R,V,`∴`,`\\therefore`,!0),P(F,R,V,`∍`,`\\backepsilon`),P(F,R,V,`▶`,`\\blacktriangleright`),P(F,R,V,`∵`,`\\because`,!0),P(F,R,V,`⋘`,`\\llless`),P(F,R,V,`⋙`,`\\gggtr`),P(F,R,z,`⊲`,`\\lhd`),P(F,R,z,`⊳`,`\\rhd`),P(F,R,V,`≂`,`\\eqsim`,!0),P(F,L,V,`⋈`,`\\Join`),P(F,R,V,`≑`,`\\Doteq`,!0),P(F,R,z,`∔`,`\\dotplus`,!0),P(F,R,z,`∖`,`\\smallsetminus`),P(F,R,z,`⋒`,`\\Cap`,!0),P(F,R,z,`⋓`,`\\Cup`,!0),P(F,R,z,`⩞`,`\\doublebarwedge`,!0),P(F,R,z,`⊟`,`\\boxminus`,!0),P(F,R,z,`⊞`,`\\boxplus`,!0),P(F,R,z,`⋇`,`\\divideontimes`,!0),P(F,R,z,`⋉`,`\\ltimes`,!0),P(F,R,z,`⋊`,`\\rtimes`,!0),P(F,R,z,`⋋`,`\\leftthreetimes`,!0),P(F,R,z,`⋌`,`\\rightthreetimes`,!0),P(F,R,z,`⋏`,`\\curlywedge`,!0),P(F,R,z,`⋎`,`\\curlyvee`,!0),P(F,R,z,`⊝`,`\\circleddash`,!0),P(F,R,z,`⊛`,`\\circledast`,!0),P(F,R,z,`⋅`,`\\centerdot`),P(F,R,z,`⊺`,`\\intercal`,!0),P(F,R,z,`⋒`,`\\doublecap`),P(F,R,z,`⋓`,`\\doublecup`),P(F,R,z,`⊠`,`\\boxtimes`,!0),P(F,R,V,`⇢`,`\\dashrightarrow`,!0),P(F,R,V,`⇠`,`\\dashleftarrow`,!0),P(F,R,V,`⇇`,`\\leftleftarrows`,!0),P(F,R,V,`⇆`,`\\leftrightarrows`,!0),P(F,R,V,`⇚`,`\\Lleftarrow`,!0),P(F,R,V,`↞`,`\\twoheadleftarrow`,!0),P(F,R,V,`↢`,`\\leftarrowtail`,!0),P(F,R,V,`↫`,`\\looparrowleft`,!0),P(F,R,V,`⇋`,`\\leftrightharpoons`,!0),P(F,R,V,`↶`,`\\curvearrowleft`,!0),P(F,R,V,`↺`,`\\circlearrowleft`,!0),P(F,R,V,`↰`,`\\Lsh`,!0),P(F,R,V,`⇈`,`\\upuparrows`,!0),P(F,R,V,`↿`,`\\upharpoonleft`,!0),P(F,R,V,`⇃`,`\\downharpoonleft`,!0),P(F,L,V,`⊶`,`\\origof`,!0),P(F,L,V,`⊷`,`\\imageof`,!0),P(F,R,V,`⊸`,`\\multimap`,!0),P(F,R,V,`↭`,`\\leftrightsquigarrow`,!0),P(F,R,V,`⇉`,`\\rightrightarrows`,!0),P(F,R,V,`⇄`,`\\rightleftarrows`,!0),P(F,R,V,`↠`,`\\twoheadrightarrow`,!0),P(F,R,V,`↣`,`\\rightarrowtail`,!0),P(F,R,V,`↬`,`\\looparrowright`,!0),P(F,R,V,`↷`,`\\curvearrowright`,!0),P(F,R,V,`↻`,`\\circlearrowright`,!0),P(F,R,V,`↱`,`\\Rsh`,!0),P(F,R,V,`⇊`,`\\downdownarrows`,!0),P(F,R,V,`↾`,`\\upharpoonright`,!0),P(F,R,V,`⇂`,`\\downharpoonright`,!0),P(F,R,V,`⇝`,`\\rightsquigarrow`,!0),P(F,R,V,`⇝`,`\\leadsto`),P(F,R,V,`⇛`,`\\Rrightarrow`,!0),P(F,R,V,`↾`,`\\restriction`),P(F,L,H,`‘`,"`"),P(F,L,H,`$`,`\\$`),P(I,L,H,`$`,`\\$`),P(I,L,H,`$`,`\\textdollar`),P(F,L,H,`%`,`\\%`),P(I,L,H,`%`,`\\%`),P(F,L,H,`_`,`\\_`),P(I,L,H,`_`,`\\_`),P(I,L,H,`_`,`\\textunderscore`),P(F,L,H,`∠`,`\\angle`,!0),P(F,L,H,`∞`,`\\infty`,!0),P(F,L,H,`′`,`\\prime`),P(F,L,H,`△`,`\\triangle`),P(F,L,H,`Γ`,`\\Gamma`,!0),P(F,L,H,`Δ`,`\\Delta`,!0),P(F,L,H,`Θ`,`\\Theta`,!0),P(F,L,H,`Λ`,`\\Lambda`,!0),P(F,L,H,`Ξ`,`\\Xi`,!0),P(F,L,H,`Π`,`\\Pi`,!0),P(F,L,H,`Σ`,`\\Sigma`,!0),P(F,L,H,`Υ`,`\\Upsilon`,!0),P(F,L,H,`Φ`,`\\Phi`,!0),P(F,L,H,`Ψ`,`\\Psi`,!0),P(F,L,H,`Ω`,`\\Omega`,!0),P(F,L,H,`A`,`Α`),P(F,L,H,`B`,`Β`),P(F,L,H,`E`,`Ε`),P(F,L,H,`Z`,`Ζ`),P(F,L,H,`H`,`Η`),P(F,L,H,`I`,`Ι`),P(F,L,H,`K`,`Κ`),P(F,L,H,`M`,`Μ`),P(F,L,H,`N`,`Ν`),P(F,L,H,`O`,`Ο`),P(F,L,H,`P`,`Ρ`),P(F,L,H,`T`,`Τ`),P(F,L,H,`X`,`Χ`),P(F,L,H,`¬`,`\\neg`,!0),P(F,L,H,`¬`,`\\lnot`),P(F,L,H,`⊤`,`\\top`),P(F,L,H,`⊥`,`\\bot`),P(F,L,H,`∅`,`\\emptyset`),P(F,R,H,`∅`,`\\varnothing`),P(F,L,B,`α`,`\\alpha`,!0),P(F,L,B,`β`,`\\beta`,!0),P(F,L,B,`γ`,`\\gamma`,!0),P(F,L,B,`δ`,`\\delta`,!0),P(F,L,B,`ϵ`,`\\epsilon`,!0),P(F,L,B,`ζ`,`\\zeta`,!0),P(F,L,B,`η`,`\\eta`,!0),P(F,L,B,`θ`,`\\theta`,!0),P(F,L,B,`ι`,`\\iota`,!0),P(F,L,B,`κ`,`\\kappa`,!0),P(F,L,B,`λ`,`\\lambda`,!0),P(F,L,B,`μ`,`\\mu`,!0),P(F,L,B,`ν`,`\\nu`,!0),P(F,L,B,`ξ`,`\\xi`,!0),P(F,L,B,`ο`,`\\omicron`,!0),P(F,L,B,`π`,`\\pi`,!0),P(F,L,B,`ρ`,`\\rho`,!0),P(F,L,B,`σ`,`\\sigma`,!0),P(F,L,B,`τ`,`\\tau`,!0),P(F,L,B,`υ`,`\\upsilon`,!0),P(F,L,B,`ϕ`,`\\phi`,!0),P(F,L,B,`χ`,`\\chi`,!0),P(F,L,B,`ψ`,`\\psi`,!0),P(F,L,B,`ω`,`\\omega`,!0),P(F,L,B,`ε`,`\\varepsilon`,!0),P(F,L,B,`ϑ`,`\\vartheta`,!0),P(F,L,B,`ϖ`,`\\varpi`,!0),P(F,L,B,`ϱ`,`\\varrho`,!0),P(F,L,B,`ς`,`\\varsigma`,!0),P(F,L,B,`φ`,`\\varphi`,!0),P(F,L,z,`∗`,`*`,!0),P(F,L,z,`+`,`+`),P(F,L,z,`−`,`-`,!0),P(F,L,z,`⋅`,`\\cdot`,!0),P(F,L,z,`∘`,`\\circ`,!0),P(F,L,z,`÷`,`\\div`,!0),P(F,L,z,`±`,`\\pm`,!0),P(F,L,z,`×`,`\\times`,!0),P(F,L,z,`∩`,`\\cap`,!0),P(F,L,z,`∪`,`\\cup`,!0),P(F,L,z,`∖`,`\\setminus`,!0),P(F,L,z,`∧`,`\\land`),P(F,L,z,`∨`,`\\lor`),P(F,L,z,`∧`,`\\wedge`,!0),P(F,L,z,`∨`,`\\vee`,!0),P(F,L,H,`√`,`\\surd`),P(F,L,Ht,`⟨`,`\\langle`,!0),P(F,L,Ht,`∣`,`\\lvert`),P(F,L,Ht,`∥`,`\\lVert`),P(F,L,zt,`?`,`?`),P(F,L,zt,`!`,`!`),P(F,L,zt,`⟩`,`\\rangle`,!0),P(F,L,zt,`∣`,`\\rvert`),P(F,L,zt,`∥`,`\\rVert`),P(F,L,V,`=`,`=`),P(F,L,V,`:`,`:`),P(F,L,V,`≈`,`\\approx`,!0),P(F,L,V,`≅`,`\\cong`,!0),P(F,L,V,`≥`,`\\ge`),P(F,L,V,`≥`,`\\geq`,!0),P(F,L,V,`←`,`\\gets`),P(F,L,V,`>`,`\\gt`,!0),P(F,L,V,`∈`,`\\in`,!0),P(F,L,V,``,`\\@not`),P(F,L,V,`⊂`,`\\subset`,!0),P(F,L,V,`⊃`,`\\supset`,!0),P(F,L,V,`⊆`,`\\subseteq`,!0),P(F,L,V,`⊇`,`\\supseteq`,!0),P(F,R,V,`⊈`,`\\nsubseteq`,!0),P(F,R,V,`⊉`,`\\nsupseteq`,!0),P(F,L,V,`⊨`,`\\models`),P(F,L,V,`←`,`\\leftarrow`,!0),P(F,L,V,`≤`,`\\le`),P(F,L,V,`≤`,`\\leq`,!0),P(F,L,V,`<`,`\\lt`,!0),P(F,L,V,`→`,`\\rightarrow`,!0),P(F,L,V,`→`,`\\to`),P(F,R,V,`≱`,`\\ngeq`,!0),P(F,R,V,`≰`,`\\nleq`,!0),P(F,L,Wt,`\xA0`,`\\ `),P(F,L,Wt,`\xA0`,`\\space`),P(F,L,Wt,`\xA0`,`\\nobreakspace`),P(I,L,Wt,`\xA0`,`\\ `),P(I,L,Wt,`\xA0`,` `),P(I,L,Wt,`\xA0`,`\\space`),P(I,L,Wt,`\xA0`,`\\nobreakspace`),P(F,L,Wt,``,`\\nobreak`),P(F,L,Wt,``,`\\allowbreak`),P(F,L,Ut,`,`,`,`),P(F,L,Ut,`;`,`;`),P(F,R,z,`⊼`,`\\barwedge`,!0),P(F,R,z,`⊻`,`\\veebar`,!0),P(F,L,z,`⊙`,`\\odot`,!0),P(F,L,z,`⊕`,`\\oplus`,!0),P(F,L,z,`⊗`,`\\otimes`,!0),P(F,L,H,`∂`,`\\partial`,!0),P(F,L,z,`⊘`,`\\oslash`,!0),P(F,R,z,`⊚`,`\\circledcirc`,!0),P(F,R,z,`⊡`,`\\boxdot`,!0),P(F,L,z,`△`,`\\bigtriangleup`),P(F,L,z,`▽`,`\\bigtriangledown`),P(F,L,z,`†`,`\\dagger`),P(F,L,z,`⋄`,`\\diamond`),P(F,L,z,`⋆`,`\\star`),P(F,L,z,`◃`,`\\triangleleft`),P(F,L,z,`▹`,`\\triangleright`),P(F,L,Ht,`{`,`\\{`),P(I,L,H,`{`,`\\{`),P(I,L,H,`{`,`\\textbraceleft`),P(F,L,zt,`}`,`\\}`),P(I,L,H,`}`,`\\}`),P(I,L,H,`}`,`\\textbraceright`),P(F,L,Ht,`{`,`\\lbrace`),P(F,L,zt,`}`,`\\rbrace`),P(F,L,Ht,`[`,`\\lbrack`,!0),P(I,L,H,`[`,`\\lbrack`,!0),P(F,L,zt,`]`,`\\rbrack`,!0),P(I,L,H,`]`,`\\rbrack`,!0),P(F,L,Ht,`(`,`\\lparen`,!0),P(F,L,zt,`)`,`\\rparen`,!0),P(I,L,H,`<`,`\\textless`,!0),P(I,L,H,`>`,`\\textgreater`,!0),P(F,L,Ht,`⌊`,`\\lfloor`,!0),P(F,L,zt,`⌋`,`\\rfloor`,!0),P(F,L,Ht,`⌈`,`\\lceil`,!0),P(F,L,zt,`⌉`,`\\rceil`,!0),P(F,L,H,`\\`,`\\backslash`),P(F,L,H,`∣`,`|`),P(F,L,H,`∣`,`\\vert`),P(I,L,H,`|`,`\\textbar`,!0),P(F,L,H,`∥`,`\\|`),P(F,L,H,`∥`,`\\Vert`),P(I,L,H,`∥`,`\\textbardbl`),P(I,L,H,`~`,`\\textasciitilde`),P(I,L,H,`\\`,`\\textbackslash`),P(I,L,H,`^`,`\\textasciicircum`),P(F,L,V,`↑`,`\\uparrow`,!0),P(F,L,V,`⇑`,`\\Uparrow`,!0),P(F,L,V,`↓`,`\\downarrow`,!0),P(F,L,V,`⇓`,`\\Downarrow`,!0),P(F,L,V,`↕`,`\\updownarrow`,!0),P(F,L,V,`⇕`,`\\Updownarrow`,!0),P(F,L,Vt,`∐`,`\\coprod`),P(F,L,Vt,`⋁`,`\\bigvee`),P(F,L,Vt,`⋀`,`\\bigwedge`),P(F,L,Vt,`⨄`,`\\biguplus`),P(F,L,Vt,`⋂`,`\\bigcap`),P(F,L,Vt,`⋃`,`\\bigcup`),P(F,L,Vt,`∫`,`\\int`),P(F,L,Vt,`∫`,`\\intop`),P(F,L,Vt,`∬`,`\\iint`),P(F,L,Vt,`∭`,`\\iiint`),P(F,L,Vt,`∏`,`\\prod`),P(F,L,Vt,`∑`,`\\sum`),P(F,L,Vt,`⨂`,`\\bigotimes`),P(F,L,Vt,`⨁`,`\\bigoplus`),P(F,L,Vt,`⨀`,`\\bigodot`),P(F,L,Vt,`∮`,`\\oint`),P(F,L,Vt,`∯`,`\\oiint`),P(F,L,Vt,`∰`,`\\oiiint`),P(F,L,Vt,`⨆`,`\\bigsqcup`),P(F,L,Vt,`∫`,`\\smallint`),P(I,L,Bt,`…`,`\\textellipsis`),P(F,L,Bt,`…`,`\\mathellipsis`),P(I,L,Bt,`…`,`\\ldots`,!0),P(F,L,Bt,`…`,`\\ldots`,!0),P(F,L,Bt,`⋯`,`\\@cdots`,!0),P(F,L,Bt,`⋱`,`\\ddots`,!0),P(F,L,H,`⋮`,`\\varvdots`),P(I,L,H,`⋮`,`\\varvdots`),P(F,L,Rt,`ˊ`,`\\acute`),P(F,L,Rt,`ˋ`,`\\grave`),P(F,L,Rt,`¨`,`\\ddot`),P(F,L,Rt,`~`,`\\tilde`),P(F,L,Rt,`ˉ`,`\\bar`),P(F,L,Rt,`˘`,`\\breve`),P(F,L,Rt,`ˇ`,`\\check`),P(F,L,Rt,`^`,`\\hat`),P(F,L,Rt,`⃗`,`\\vec`),P(F,L,Rt,`˙`,`\\dot`),P(F,L,Rt,`˚`,`\\mathring`),P(F,L,B,``,`\\@imath`),P(F,L,B,``,`\\@jmath`),P(F,L,H,`ı`,`ı`),P(F,L,H,`ȷ`,`ȷ`),P(I,L,H,`ı`,`\\i`,!0),P(I,L,H,`ȷ`,`\\j`,!0),P(I,L,H,`ß`,`\\ss`,!0),P(I,L,H,`æ`,`\\ae`,!0),P(I,L,H,`œ`,`\\oe`,!0),P(I,L,H,`ø`,`\\o`,!0),P(I,L,H,`Æ`,`\\AE`,!0),P(I,L,H,`Œ`,`\\OE`,!0),P(I,L,H,`Ø`,`\\O`,!0),P(I,L,Rt,`ˊ`,`\\'`),P(I,L,Rt,`ˋ`,"\\`"),P(I,L,Rt,`ˆ`,`\\^`),P(I,L,Rt,`˜`,`\\~`),P(I,L,Rt,`ˉ`,`\\=`),P(I,L,Rt,`˘`,`\\u`),P(I,L,Rt,`˙`,`\\.`),P(I,L,Rt,`¸`,`\\c`),P(I,L,Rt,`˚`,`\\r`),P(I,L,Rt,`ˇ`,`\\v`),P(I,L,Rt,`¨`,`\\"`),P(I,L,Rt,`˝`,`\\H`),P(I,L,Rt,`◯`,`\\textcircled`);var Gt={"--":!0,"---":!0,"``":!0,"''":!0};P(I,L,H,`–`,`--`,!0),P(I,L,H,`–`,`\\textendash`),P(I,L,H,`—`,`---`,!0),P(I,L,H,`—`,`\\textemdash`),P(I,L,H,`‘`,"`",!0),P(I,L,H,`‘`,`\\textquoteleft`),P(I,L,H,`’`,`'`,!0),P(I,L,H,`’`,`\\textquoteright`),P(I,L,H,`“`,"``",!0),P(I,L,H,`“`,`\\textquotedblleft`),P(I,L,H,`”`,`''`,!0),P(I,L,H,`”`,`\\textquotedblright`),P(F,L,H,`°`,`\\degree`,!0),P(I,L,H,`°`,`\\degree`),P(I,L,H,`°`,`\\textdegree`,!0),P(F,L,H,`£`,`\\pounds`),P(F,L,H,`£`,`\\mathsterling`,!0),P(I,L,H,`£`,`\\pounds`),P(I,L,H,`£`,`\\textsterling`,!0),P(F,R,H,`✠`,`\\maltese`),P(I,R,H,`✠`,`\\maltese`);for(var Kt=`0123456789/@."`,qt=0;qt<Kt.length;qt++){var Jt=Kt.charAt(qt);P(F,L,H,Jt,Jt)}for(var Yt=`0123456789!@*()-=+";:?/.,`,Xt=0;Xt<Yt.length;Xt++){var Zt=Yt.charAt(Xt);P(I,L,H,Zt,Zt)}for(var Qt=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`,$t=0;$t<Qt.length;$t++){var en=Qt.charAt($t);P(F,L,B,en,en),P(I,L,H,en,en)}P(F,R,H,`C`,`ℂ`),P(I,R,H,`C`,`ℂ`),P(F,R,H,`H`,`ℍ`),P(I,R,H,`H`,`ℍ`),P(F,R,H,`N`,`ℕ`),P(I,R,H,`N`,`ℕ`),P(F,R,H,`P`,`ℙ`),P(I,R,H,`P`,`ℙ`),P(F,R,H,`Q`,`ℚ`),P(I,R,H,`Q`,`ℚ`),P(F,R,H,`R`,`ℝ`),P(I,R,H,`R`,`ℝ`),P(F,R,H,`Z`,`ℤ`),P(I,R,H,`Z`,`ℤ`),P(F,L,B,`h`,`ℎ`),P(I,L,B,`h`,`ℎ`);for(var U,tn=0;tn<Qt.length;tn++){var nn=Qt.charAt(tn);U=String.fromCharCode(55349,56320+tn),P(F,L,B,nn,U),P(I,L,H,nn,U),U=String.fromCharCode(55349,56372+tn),P(F,L,B,nn,U),P(I,L,H,nn,U),U=String.fromCharCode(55349,56424+tn),P(F,L,B,nn,U),P(I,L,H,nn,U),U=String.fromCharCode(55349,56580+tn),P(F,L,B,nn,U),P(I,L,H,nn,U),U=String.fromCharCode(55349,56684+tn),P(F,L,B,nn,U),P(I,L,H,nn,U),U=String.fromCharCode(55349,56736+tn),P(F,L,B,nn,U),P(I,L,H,nn,U),U=String.fromCharCode(55349,56788+tn),P(F,L,B,nn,U),P(I,L,H,nn,U),U=String.fromCharCode(55349,56840+tn),P(F,L,B,nn,U),P(I,L,H,nn,U),U=String.fromCharCode(55349,56944+tn),P(F,L,B,nn,U),P(I,L,H,nn,U),tn<26&&(U=String.fromCharCode(55349,56632+tn),P(F,L,B,nn,U),P(I,L,H,nn,U),U=String.fromCharCode(55349,56476+tn),P(F,L,B,nn,U),P(I,L,H,nn,U))}U=String.fromCharCode(55349,56668),P(F,L,B,`k`,U),P(I,L,H,`k`,U);for(var rn=0;rn<10;rn++){var an=rn.toString();U=String.fromCharCode(55349,57294+rn),P(F,L,B,an,U),P(I,L,H,an,U),U=String.fromCharCode(55349,57314+rn),P(F,L,B,an,U),P(I,L,H,an,U),U=String.fromCharCode(55349,57324+rn),P(F,L,B,an,U),P(I,L,H,an,U),U=String.fromCharCode(55349,57334+rn),P(F,L,B,an,U),P(I,L,H,an,U)}for(var on=`ÐÞþ`,sn=0;sn<on.length;sn++){var cn=on.charAt(sn);P(F,L,B,cn,cn),P(I,L,H,cn,cn)}var ln={mathClass:`mathbf`,textClass:`textbf`,font:`Main-Bold`},un={mathClass:`mathnormal`,textClass:`textit`,font:`Math-Italic`},dn={mathClass:`boldsymbol`,textClass:`boldsymbol`,font:`Main-BoldItalic`},fn={mathClass:`mathscr`,textClass:`textscr`,font:`Script-Regular`},pn={mathClass:``,textClass:``,font:``},mn={mathClass:`mathfrak`,textClass:`textfrak`,font:`Fraktur-Regular`},hn={mathClass:`mathbb`,textClass:`textbb`,font:`AMS-Regular`},gn={mathClass:`mathboldfrak`,textClass:`textboldfrak`,font:`Fraktur-Regular`},_n={mathClass:`mathsf`,textClass:`textsf`,font:`SansSerif-Regular`},vn={mathClass:`mathboldsf`,textClass:`textboldsf`,font:`SansSerif-Bold`},yn={mathClass:`mathitsf`,textClass:`textitsf`,font:`SansSerif-Italic`},bn={mathClass:`mathtt`,textClass:`texttt`,font:`Typewriter-Regular`},xn=[ln,ln,un,un,dn,dn,fn,pn,pn,pn,mn,mn,hn,hn,gn,gn,_n,_n,vn,vn,yn,yn,pn,pn,bn,bn],Sn=[ln,pn,_n,vn,bn],Cn=e=>{var t=e.charCodeAt(0),n=e.charCodeAt(1),r=(t-55296)*1024+(n-56320)+65536;if(119808<=r&&r<120484)return xn[Math.floor((r-119808)/26)];if(120782<=r&&r<=120831)return Sn[Math.floor((r-120782)/10)];if(r===120485||r===120486)return xn[0];if(120486<r&&r<120782)return pn;throw new O(`Unsupported character: `+e)},wn=function(e,t,n){if(Lt[n][e]){var r=Lt[n][e].replace;r&&(e=r)}return{value:e,metrics:Pt(e,t,n)}},Tn=function(e,t,n,r,i){var a=wn(e,t,n),o=a.metrics;e=a.value;var s;if(o){var c=o.italic;(n===`text`||r&&r.font===`mathit`)&&(c=0),s=new Ct(e,o.height,o.depth,c,o.skew,o.width,i)}else typeof console<`u`&&console.warn(`No character metrics `+(`for '`+e+`' in style '`+t+`' and mode '`+n+`'`)),s=new Ct(e,0,0,0,0,0,i);if(r){s.maxFontSize=r.sizeMultiplier,r.style.isTight()&&s.classes.push(`mtight`);var l=r.getColor();l&&(s.style.color=l)}return s},En=function(e,t,n,r){return r===void 0&&(r=[]),n.font===`boldsymbol`&&wn(e,`Main-Bold`,t).metrics?Tn(e,`Main-Bold`,t,n,r.concat([`mathbf`])):e===`\\`||Lt[t][e].font===`main`?Tn(e,`Main-Regular`,t,n,r):Tn(e,`AMS-Regular`,t,n,r.concat([`amsrm`]))},Dn=function(e,t,n){return n!==`textord`&&wn(e,`Math-BoldItalic`,t).metrics?{fontName:`Math-BoldItalic`,fontClass:`boldsymbol`}:{fontName:`Main-Bold`,fontClass:`mathbf`}},On=function(e,t,n){var r=e.mode,i=e.text,a=[`mord`],{font:o,fontFamily:s,fontWeight:c,fontShape:l}=t,u=r===`math`||r===`text`&&!!o,d=u?o:s,f=``,p=``;if(i.charCodeAt(0)===55349){var m=Cn(i);f=m.font,p=m[r+`Class`]}if(f)return Tn(i,f,r,t,a.concat(p));if(d){var h,g;if(d===`boldsymbol`){var _=Dn(i,r,n);h=_.fontName,g=[_.fontClass]}else u?(h=Bn[o].fontName,g=[o]):(h=zn(s,c,l),g=[s,c,l]);if(wn(i,h,r).metrics)return Tn(i,h,r,t,a.concat(g));if(Gt.hasOwnProperty(i)&&h.slice(0,10)===`Typewriter`){for(var v=[],y=0;y<i.length;y++)v.push(Tn(i[y],h,r,t,a.concat(g)));return Fn(v)}}if(n===`mathord`)return Tn(i,`Math-Italic`,r,t,a.concat([`mathnormal`]));if(n===`textord`){var b=Lt[r][i]&&Lt[r][i].font;if(b===`ams`)return Tn(i,zn(`amsrm`,c,l),r,t,a.concat(`amsrm`,c,l));if(b===`main`||!b)return Tn(i,zn(`textrm`,c,l),r,t,a.concat(c,l));var x=zn(b,c,l);return Tn(i,x,r,t,a.concat(x,c,l))}else throw Error(`unexpected type: `+n+` in makeOrd`)},kn=(e,t)=>{if(pt(e.classes)!==pt(t.classes)||e.skew!==t.skew||e.maxFontSize!==t.maxFontSize||e.italic!==0&&e.hasClass(`mathnormal`))return!1;if(e.classes.length===1){var n=e.classes[0];if(n===`mbin`||n===`mord`)return!1}for(var r of Object.keys(e.style))if(e.style[r]!==t.style[r])return!1;for(var i of Object.keys(t.style))if(e.style[i]!==t.style[i])return!1;return!0},An=e=>{for(var t=0;t<e.length-1;t++){var n=e[t],r=e[t+1];n instanceof Ct&&r instanceof Ct&&kn(n,r)&&(n.text+=r.text,n.height=Math.max(n.height,r.height),n.depth=Math.max(n.depth,r.depth),n.italic=r.italic,e.splice(t+1,1),t--)}return e},jn=function(e){for(var t=0,n=0,r=0,i=0;i<e.children.length;i++){var a=e.children[i];a.height>t&&(t=a.height),a.depth>n&&(n=a.depth),a.maxFontSize>r&&(r=a.maxFontSize)}e.height=t,e.depth=n,e.maxFontSize=r},W=function(e,t,n,r){var i=new yt(e,t,n,r);return jn(i),i},Mn=(e,t,n,r)=>new yt(e,t,n,r),Nn=function(e,t,n){var r=W([e],[],t);return r.height=Math.max(n||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),r.style.borderBottomWidth=N(r.height),r.maxFontSize=1,r},Pn=function(e,t,n,r){var i=new bt(e,t,n,r);return jn(i),i},Fn=function(e){var t=new ct(e);return jn(t),t},In=function(e,t){return e instanceof ct?W([],[e],t):e},Ln=function(e){if(e.positionType===`individualShift`){for(var t=e.children,n=[t[0]],r=-t[0].shift-t[0].elem.depth,i=r,a=1;a<t.length;a++){var o=-t[a].shift-i-t[a].elem.depth,s=o-(t[a-1].elem.height+t[a-1].elem.depth);i+=o,n.push({type:`kern`,size:s}),n.push(t[a])}return{children:n,depth:r}}var c;if(e.positionType===`top`){for(var l=e.positionData,u=0;u<e.children.length;u++){var d=e.children[u];l-=d.type===`kern`?d.size:d.elem.height+d.elem.depth}c=l}else if(e.positionType===`bottom`)c=-e.positionData;else{var f=e.children[0];if(f.type!==`elem`)throw Error(`First child must have type "elem".`);if(e.positionType===`shift`)c=-f.elem.depth-e.positionData;else if(e.positionType===`firstBaseline`)c=-f.elem.depth;else throw Error(`Invalid positionType `+e.positionType+`.`)}return{children:e.children,depth:c}},G=function(e,t){for(var{children:n,depth:r}=Ln(e),i=0,a=0;a<n.length;a++){var o=n[a];if(o.type===`elem`){var s=o.elem;i=Math.max(i,s.maxFontSize,s.height)}}i+=2;var c=W([`pstrut`],[]);c.style.height=N(i);for(var l=[],u=r,d=r,f=r,p=0;p<n.length;p++){var m=n[p];if(m.type===`kern`)f+=m.size;else{var h=m.elem,g=m.wrapperClasses||[],_=m.wrapperStyle||{},v=W(g,[c,h],void 0,_);v.style.top=N(-i-f-h.depth),m.marginLeft&&(v.style.marginLeft=m.marginLeft),m.marginRight&&(v.style.marginRight=m.marginRight),l.push(v),f+=h.height+h.depth}u=Math.min(u,f),d=Math.max(d,f)}var y=W([`vlist`],l);y.style.height=N(d);var b;if(u<0){var x=W([`vlist`],[W([],[])]);x.style.height=N(-u),b=[W([`vlist-r`],[y,W([`vlist-s`],[new Ct(`​`)])]),W([`vlist-r`],[x])]}else b=[W([`vlist-r`],[y])];var S=W([`vlist-t`],b);return b.length===2&&S.classes.push(`vlist-t2`),S.height=d,S.depth=-u,S},Rn=(e,t)=>{var n=W([`mspace`],[],t),r=ft(e,t);return n.style.marginRight=N(r),n},zn=(e,t,n)=>{var r,i;switch(e){case`amsrm`:r=`AMS`;break;case`textrm`:r=`Main`;break;case`textsf`:r=`SansSerif`;break;case`texttt`:r=`Typewriter`;break;default:r=e}return i=t===`textbf`&&n===`textit`?`BoldItalic`:t===`textbf`?`Bold`:n===`textit`?`Italic`:`Regular`,r+`-`+i},Bn={mathbf:{variant:`bold`,fontName:`Main-Bold`},mathrm:{variant:`normal`,fontName:`Main-Regular`},textit:{variant:`italic`,fontName:`Main-Italic`},mathit:{variant:`italic`,fontName:`Main-Italic`},mathnormal:{variant:`italic`,fontName:`Math-Italic`},mathsfit:{variant:`sans-serif-italic`,fontName:`SansSerif-Italic`},mathbb:{variant:`double-struck`,fontName:`AMS-Regular`},mathcal:{variant:`script`,fontName:`Caligraphic-Regular`},mathfrak:{variant:`fraktur`,fontName:`Fraktur-Regular`},mathscr:{variant:`script`,fontName:`Script-Regular`},mathsf:{variant:`sans-serif`,fontName:`SansSerif-Regular`},mathtt:{variant:`monospace`,fontName:`Typewriter-Regular`}},Vn={vec:[`vec`,.471,.714],oiintSize1:[`oiintSize1`,.957,.499],oiintSize2:[`oiintSize2`,1.472,.659],oiiintSize1:[`oiiintSize1`,1.304,.499],oiiintSize2:[`oiiintSize2`,1.98,.659]},Hn=function(e,t){var[n,r,i]=Vn[e],a=Mn([`overlay`],[new wt([new Tt(n)],{width:N(r),height:N(i),style:`width:`+N(r),viewBox:`0 0 `+1e3*r+` `+1e3*i,preserveAspectRatio:`xMinYMin`})],t);return a.height=i,a.style.height=N(i),a.style.width=N(r),a},Un={number:3,unit:`mu`},Wn={number:4,unit:`mu`},Gn={number:5,unit:`mu`},Kn={mord:{mop:Un,mbin:Wn,mrel:Gn,minner:Un},mop:{mord:Un,mop:Un,mrel:Gn,minner:Un},mbin:{mord:Wn,mop:Wn,mopen:Wn,minner:Wn},mrel:{mord:Gn,mop:Gn,mopen:Gn,minner:Gn},mopen:{},mclose:{mop:Un,mbin:Wn,mrel:Gn,minner:Un},mpunct:{mord:Un,mop:Un,mrel:Gn,mopen:Un,mclose:Un,mpunct:Un,minner:Un},minner:{mord:Un,mop:Un,mbin:Wn,mrel:Gn,mopen:Un,mpunct:Un,minner:Un}},qn={mord:{mop:Un},mop:{mord:Un,mop:Un},mbin:{},mrel:{},mopen:{},mclose:{mop:Un},mpunct:{},minner:{mop:Un}},Jn={},Yn={},Xn={};function K(e){for(var{type:t,names:n,props:r,handler:i,htmlBuilder:a,mathmlBuilder:o}=e,s={type:t,numArgs:r.numArgs,argTypes:r.argTypes,allowedInArgument:!!r.allowedInArgument,allowedInText:!!r.allowedInText,allowedInMath:r.allowedInMath===void 0||r.allowedInMath,numOptionalArgs:r.numOptionalArgs||0,infix:!!r.infix,primitive:!!r.primitive,handler:i},c=0;c<n.length;++c)Jn[n[c]]=s;t&&(a&&(Yn[t]=a),o&&(Xn[t]=o))}function Zn(e){var{type:t,htmlBuilder:n,mathmlBuilder:r}=e;K({type:t,names:[],props:{numArgs:0},handler(){throw Error(`Should never be called.`)},htmlBuilder:n,mathmlBuilder:r})}var Qn=function(e){return e.type===`ordgroup`&&e.body.length===1?e.body[0]:e},$n=function(e){return e.type===`ordgroup`?e.body:[e]},er=new Set([`leftmost`,`mbin`,`mopen`,`mrel`,`mop`,`mpunct`]),tr=new Set([`rightmost`,`mrel`,`mclose`,`mpunct`]),nr={display:M.DISPLAY,text:M.TEXT,script:M.SCRIPT,scriptscript:M.SCRIPTSCRIPT},rr={mord:`mord`,mop:`mop`,mbin:`mbin`,mrel:`mrel`,mopen:`mopen`,mclose:`mclose`,mpunct:`mpunct`,minner:`minner`},ir=function(e,t,n,r){r===void 0&&(r=[null,null]);for(var i=[],a=0;a<e.length;a++){var o=q(e[a],t);if(o instanceof ct){var s=o.children;i.push(...s)}else i.push(o)}if(An(i),!n)return i;var c=t;if(e.length===1){var l=e[0];l.type===`sizing`?c=t.havingSize(l.size):l.type===`styling`&&(c=t.havingStyle(nr[l.style]))}var u=W([r[0]||`leftmost`],[],t),d=W([r[1]||`rightmost`],[],t),f=n===`root`;return ar(i,(e,t)=>{var n=t.classes[0],r=e.classes[0];n===`mbin`&&tr.has(r)?t.classes[0]=`mord`:r===`mbin`&&er.has(n)&&(e.classes[0]=`mord`)},{node:u},d,f),ar(i,(e,t)=>{var n=cr(t),r=cr(e),i=n&&r?e.hasClass(`mtight`)?qn[n]?.[r]:Kn[n]?.[r]:null;if(i)return Rn(i,c)},{node:u},d,f),i},ar=function(e,t,n,r,i){r&&e.push(r);for(var a=0;a<e.length;a++){var o=e[a],s=or(o);if(s){ar(s.children,t,n,null,i);continue}var c=!o.hasClass(`mspace`);if(c){var l=t(o,n.node);l&&(n.insertAfter?n.insertAfter(l):(e.unshift(l),a++))}c?n.node=o:i&&o.hasClass(`newline`)&&(n.node=W([`leftmost`])),n.insertAfter=(t=>n=>{e.splice(t+1,0,n),a++})(a)}r&&e.pop()},or=function(e){return e instanceof ct||e instanceof bt||e instanceof yt&&e.hasClass(`enclosing`)?e:null},sr=function(e,t){var n=or(e);if(n){var r=n.children;if(r.length){if(t===`right`)return sr(r[r.length-1],`right`);if(t===`left`)return sr(r[0],`left`)}}return e},cr=function(e,t){return e?(t&&(e=sr(e,t)),rr[e.classes[0]]||null):null},lr=function(e,t){var n=[`nulldelimiter`].concat(e.baseSizingClasses());return W(t.concat(n))},q=function(e,t,n){if(!e)return W();if(Yn[e.type]){var r=Yn[e.type](e,t);if(n&&t.size!==n.size){r=W(t.sizingClasses(n),[r],t);var i=t.sizeMultiplier/n.sizeMultiplier;r.height*=i,r.depth*=i}return r}else throw new O(`Got group of unknown type: '`+e.type+`'`)};function ur(e,t){var n=W([`base`],e,t),r=W([`strut`]);return r.style.height=N(n.height+n.depth),n.depth&&(r.style.verticalAlign=N(-n.depth)),n.children.unshift(r),n}function dr(e,t){var n=null;e.length===1&&e[0].type===`tag`&&(n=e[0].tag,e=e[0].body);var r=ir(e,t,`root`),i;r.length===2&&r[1].hasClass(`tag`)&&(i=r.pop());for(var a=[],o=[],s=0;s<r.length;s++)if(o.push(r[s]),r[s].hasClass(`mbin`)||r[s].hasClass(`mrel`)||r[s].hasClass(`allowbreak`)){for(var c=!1;s<r.length-1&&r[s+1].hasClass(`mspace`)&&!r[s+1].hasClass(`newline`);)s++,o.push(r[s]),r[s].hasClass(`nobreak`)&&(c=!0);c||(a.push(ur(o,t)),o=[])}else r[s].hasClass(`newline`)&&(o.pop(),o.length>0&&(a.push(ur(o,t)),o=[]),a.push(r[s]));o.length>0&&a.push(ur(o,t));var l;n?(l=ur(ir(n,t,!0),t),l.classes=[`tag`],a.push(l)):i&&a.push(i);var u=W([`katex-html`],a);if(u.setAttribute(`aria-hidden`,`true`),l){var d=l.children[0];d.style.height=N(u.height+u.depth),u.depth&&(d.style.verticalAlign=N(-u.depth))}return u}function fr(e){return new ct(e)}var J=class{constructor(e,t,n){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=n||[]}setAttribute(e,t){this.attributes[e]=t}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS(`http://www.w3.org/1998/Math/MathML`,this.type);for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);this.classes.length>0&&(e.className=pt(this.classes));for(var n=0;n<this.children.length;n++)if(this.children[n]instanceof pr&&this.children[n+1]instanceof pr){for(var r=this.children[n].toText()+this.children[++n].toText();this.children[n+1]instanceof pr;)r+=this.children[++n].toText();e.appendChild(new pr(r).toNode())}else e.appendChild(this.children[n].toNode());return e}toMarkup(){var e=`<`+this.type;for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&(e+=` `+t+`="`,e+=j(this.attributes[t]),e+=`"`);this.classes.length>0&&(e+=` class ="`+j(pt(this.classes))+`"`),e+=`>`;for(var n=0;n<this.children.length;n++)e+=this.children[n].toMarkup();return e+=`</`+this.type+`>`,e}toText(){return this.children.map(e=>e.toText()).join(``)}},pr=class{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return j(this.toText())}toText(){return this.text}},mr=class{constructor(e){this.width=void 0,this.character=void 0,this.width=e,e>=.05555&&e<=.05556?this.character=` `:e>=.1666&&e<=.1667?this.character=` `:e>=.2222&&e<=.2223?this.character=` `:e>=.2777&&e<=.2778?this.character=`  `:e>=-.05556&&e<=-.05555?this.character=` ⁣`:e>=-.1667&&e<=-.1666?this.character=` ⁣`:e>=-.2223&&e<=-.2222?this.character=` ⁣`:e>=-.2778&&e<=-.2777?this.character=` ⁣`:this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS(`http://www.w3.org/1998/Math/MathML`,`mspace`);return e.setAttribute(`width`,N(this.width)),e}toMarkup(){return this.character?`<mtext>`+this.character+`</mtext>`:`<mspace width="`+N(this.width)+`"/>`}toText(){return this.character?this.character:` `}},hr=new Set([`\\imath`,`\\jmath`]),gr=new Set([`mrow`,`mtable`]),_r=function(e,t,n){return Lt[t][e]&&Lt[t][e].replace&&e.charCodeAt(0)!==55349&&!(Gt.hasOwnProperty(e)&&n&&(n.fontFamily&&n.fontFamily.slice(4,6)===`tt`||n.font&&n.font.slice(4,6)===`tt`))&&(e=Lt[t][e].replace),new pr(e)},vr=function(e){return e.length===1?e[0]:new J(`mrow`,e)},yr={mathit:`italic`,boldsymbol:e=>e.type===`textord`?`bold`:`bold-italic`,mathbf:`bold`,mathbb:`double-struck`,mathsfit:`sans-serif-italic`,mathfrak:`fraktur`,mathscr:`script`,mathcal:`script`,mathsf:`sans-serif`,mathtt:`monospace`},br=(e,t)=>{if(e.mode===`text`){if(t.fontFamily===`texttt`)return`monospace`;if(t.fontFamily===`textsf`)return t.fontShape===`textit`&&t.fontWeight===`textbf`?`sans-serif-bold-italic`:t.fontShape===`textit`?`sans-serif-italic`:t.fontWeight===`textbf`?`bold-sans-serif`:`sans-serif`;if(t.fontShape===`textit`&&t.fontWeight===`textbf`)return`bold-italic`;if(t.fontShape===`textit`)return`italic`;if(t.fontWeight===`textbf`)return`bold`}var n=t.font;if(!n||n===`mathnormal`)return null;var r=e.mode,i=yr[n];if(i)return typeof i==`function`?i(e):i;var a=e.text;if(hr.has(a))return null;if(Lt[r][a]){var o=Lt[r][a].replace;o&&(a=o)}var s=Bn[n].fontName;return Pt(a,s,r)?Bn[n].variant:null};function xr(e){if(!e)return!1;if(e.type===`mi`&&e.children.length===1){var t=e.children[0];return t instanceof pr&&t.text===`.`}else if(e.type===`mo`&&e.children.length===1&&e.getAttribute(`separator`)===`true`&&e.getAttribute(`lspace`)===`0em`&&e.getAttribute(`rspace`)===`0em`){var n=e.children[0];return n instanceof pr&&n.text===`,`}else return!1}var Sr=function(e,t,n){if(e.length===1){var r=Y(e[0],t);return n&&r instanceof J&&r.type===`mo`&&(r.setAttribute(`lspace`,`0em`),r.setAttribute(`rspace`,`0em`)),[r]}for(var i=[],a,o=0;o<e.length;o++){var s=Y(e[o],t);if(s instanceof J&&a instanceof J){if(s.type===`mtext`&&a.type===`mtext`&&s.getAttribute(`mathvariant`)===a.getAttribute(`mathvariant`)){a.children.push(...s.children);continue}else if(s.type===`mn`&&a.type===`mn`){a.children.push(...s.children);continue}else if(xr(s)&&a.type===`mn`){a.children.push(...s.children);continue}else if(s.type===`mn`&&xr(a))s.children=[...a.children,...s.children],i.pop();else if((s.type===`msup`||s.type===`msub`)&&s.children.length>=1&&(a.type===`mn`||xr(a))){var c=s.children[0];c instanceof J&&c.type===`mn`&&(c.children=[...a.children,...c.children],i.pop())}else if(a.type===`mi`&&a.children.length===1){var l=a.children[0];if(l instanceof pr&&l.text===`̸`&&(s.type===`mo`||s.type===`mi`||s.type===`mn`)){var u=s.children[0];u instanceof pr&&u.text.length>0&&(u.text=u.text.slice(0,1)+`̸`+u.text.slice(1),i.pop())}}}i.push(s),a=s}return i},Cr=function(e,t,n){return vr(Sr(e,t,n))},Y=function(e,t){if(!e)return new J(`mrow`);if(Xn[e.type])return Xn[e.type](e,t);throw new O(`Got group of unknown type: '`+e.type+`'`)};function wr(e,t,n,r,i){var a=Sr(e,n),o=a.length===1&&a[0]instanceof J&&gr.has(a[0].type)?a[0]:new J(`mrow`,a),s=new J(`annotation`,[new pr(t)]);s.setAttribute(`encoding`,`application/x-tex`);var c=new J(`math`,[new J(`semantics`,[o,s])]);return c.setAttribute(`xmlns`,`http://www.w3.org/1998/Math/MathML`),r&&c.setAttribute(`display`,`block`),W([i?`katex`:`katex-mathml`],[c])}var Tr=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],Er=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],Dr=function(e,t){return t.size<2?e:Tr[e-1][t.size-1]},Or=class e{constructor(t){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=t.style,this.color=t.color,this.size=t.size||e.BASESIZE,this.textSize=t.textSize||this.size,this.phantom=!!t.phantom,this.font=t.font||``,this.fontFamily=t.fontFamily||``,this.fontWeight=t.fontWeight||``,this.fontShape=t.fontShape||``,this.sizeMultiplier=Er[this.size-1],this.maxSize=t.maxSize,this.minRuleThickness=t.minRuleThickness,this._fontMetrics=void 0}extend(t){var n={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};return Object.assign(n,t),new e(n)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:Dr(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:Er[e-1]})}havingBaseStyle(t){t||=this.style.text();var n=Dr(e.BASESIZE,t);return this.size===n&&this.textSize===e.BASESIZE&&this.style===t?this:this.extend({style:t,size:n})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:``})}withTextFontWeight(e){return this.extend({fontWeight:e,font:``})}withTextFontShape(e){return this.extend({fontShape:e,font:``})}sizingClasses(e){return e.size===this.size?[]:[`sizing`,`reset-size`+e.size,`size`+this.size]}baseSizingClasses(){return this.size===e.BASESIZE?[]:[`sizing`,`reset-size`+this.size,`size`+e.BASESIZE]}fontMetrics(){return this._fontMetrics||=It(this.size),this._fontMetrics}getColor(){return this.phantom?`transparent`:this.color}};Or.BASESIZE=6;var kr=function(e){return new Or({style:e.displayMode?M.DISPLAY:M.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},Ar=function(e,t){if(t.displayMode){var n=[`katex-display`];t.leqno&&n.push(`leqno`),t.fleqn&&n.push(`fleqn`),e=W(n,[e])}return e},jr=function(e,t,n){var r=kr(n),i;return n.output===`mathml`?wr(e,t,r,n.displayMode,!0):(i=n.output===`html`?W([`katex`],[dr(e,r)]):W([`katex`],[wr(e,t,r,n.displayMode,!1),dr(e,r)]),Ar(i,n))},Mr=function(e,t,n){return Ar(W([`katex`],[dr(e,kr(n))]),n)},Nr={widehat:`^`,widecheck:`ˇ`,widetilde:`~`,utilde:`~`,overleftarrow:`←`,underleftarrow:`←`,xleftarrow:`←`,overrightarrow:`→`,underrightarrow:`→`,xrightarrow:`→`,underbrace:`⏟`,overbrace:`⏞`,underbracket:`⎵`,overbracket:`⎴`,overgroup:`⏠`,undergroup:`⏡`,overleftrightarrow:`↔`,underleftrightarrow:`↔`,xleftrightarrow:`↔`,Overrightarrow:`⇒`,xRightarrow:`⇒`,overleftharpoon:`↼`,xleftharpoonup:`↼`,overrightharpoon:`⇀`,xrightharpoonup:`⇀`,xLeftarrow:`⇐`,xLeftrightarrow:`⇔`,xhookleftarrow:`↩`,xhookrightarrow:`↪`,xmapsto:`↦`,xrightharpoondown:`⇁`,xleftharpoondown:`↽`,xrightleftharpoons:`⇌`,xleftrightharpoons:`⇋`,xtwoheadleftarrow:`↞`,xtwoheadrightarrow:`↠`,xlongequal:`=`,xtofrom:`⇄`,xrightleftarrows:`⇄`,xrightequilibrium:`⇌`,xleftequilibrium:`⇋`,"\\cdrightarrow":`→`,"\\cdleftarrow":`←`,"\\cdlongequal":`=`},Pr=function(e){var t=new J(`mo`,[new pr(Nr[e.replace(/^\\/,``)])]);return t.setAttribute(`stretchy`,`true`),t},Fr={overrightarrow:[[`rightarrow`],.888,522,`xMaxYMin`],overleftarrow:[[`leftarrow`],.888,522,`xMinYMin`],underrightarrow:[[`rightarrow`],.888,522,`xMaxYMin`],underleftarrow:[[`leftarrow`],.888,522,`xMinYMin`],xrightarrow:[[`rightarrow`],1.469,522,`xMaxYMin`],"\\cdrightarrow":[[`rightarrow`],3,522,`xMaxYMin`],xleftarrow:[[`leftarrow`],1.469,522,`xMinYMin`],"\\cdleftarrow":[[`leftarrow`],3,522,`xMinYMin`],Overrightarrow:[[`doublerightarrow`],.888,560,`xMaxYMin`],xRightarrow:[[`doublerightarrow`],1.526,560,`xMaxYMin`],xLeftarrow:[[`doubleleftarrow`],1.526,560,`xMinYMin`],overleftharpoon:[[`leftharpoon`],.888,522,`xMinYMin`],xleftharpoonup:[[`leftharpoon`],.888,522,`xMinYMin`],xleftharpoondown:[[`leftharpoondown`],.888,522,`xMinYMin`],overrightharpoon:[[`rightharpoon`],.888,522,`xMaxYMin`],xrightharpoonup:[[`rightharpoon`],.888,522,`xMaxYMin`],xrightharpoondown:[[`rightharpoondown`],.888,522,`xMaxYMin`],xlongequal:[[`longequal`],.888,334,`xMinYMin`],"\\cdlongequal":[[`longequal`],3,334,`xMinYMin`],xtwoheadleftarrow:[[`twoheadleftarrow`],.888,334,`xMinYMin`],xtwoheadrightarrow:[[`twoheadrightarrow`],.888,334,`xMaxYMin`],overleftrightarrow:[[`leftarrow`,`rightarrow`],.888,522],overbrace:[[`leftbrace`,`midbrace`,`rightbrace`],1.6,548],underbrace:[[`leftbraceunder`,`midbraceunder`,`rightbraceunder`],1.6,548],underleftrightarrow:[[`leftarrow`,`rightarrow`],.888,522],xleftrightarrow:[[`leftarrow`,`rightarrow`],1.75,522],xLeftrightarrow:[[`doubleleftarrow`,`doublerightarrow`],1.75,560],xrightleftharpoons:[[`leftharpoondownplus`,`rightharpoonplus`],1.75,716],xleftrightharpoons:[[`leftharpoonplus`,`rightharpoondownplus`],1.75,716],xhookleftarrow:[[`leftarrow`,`righthook`],1.08,522],xhookrightarrow:[[`lefthook`,`rightarrow`],1.08,522],overlinesegment:[[`leftlinesegment`,`rightlinesegment`],.888,522],underlinesegment:[[`leftlinesegment`,`rightlinesegment`],.888,522],overbracket:[[`leftbracketover`,`rightbracketover`],1.6,440],underbracket:[[`leftbracketunder`,`rightbracketunder`],1.6,410],overgroup:[[`leftgroup`,`rightgroup`],.888,342],undergroup:[[`leftgroupunder`,`rightgroupunder`],.888,342],xmapsto:[[`leftmapsto`,`rightarrow`],1.5,522],xtofrom:[[`leftToFrom`,`rightToFrom`],1.75,528],xrightleftarrows:[[`baraboveleftarrow`,`rightarrowabovebar`],1.75,901],xrightequilibrium:[[`baraboveshortleftharpoon`,`rightharpoonaboveshortbar`],1.75,716],xleftequilibrium:[[`shortbaraboveleftharpoon`,`shortrightharpoonabovebar`],1.75,716]},Ir=new Set([`widehat`,`widecheck`,`widetilde`,`utilde`]),Lr=function(e,t){function n(){var n=4e5,r=e.label.slice(1);if(Ir.has(r)&&`base`in e){var i=e.base.type===`ordgroup`?e.base.body.length:1,a,o,s;if(i>5)r===`widehat`||r===`widecheck`?(a=420,n=2364,s=.42,o=r+`4`):(a=312,n=2340,s=.34,o=`tilde4`);else{var c=[1,1,2,2,3,3][i];r===`widehat`||r===`widecheck`?(n=[0,1062,2364,2364,2364][c],a=[0,239,300,360,420][c],s=[0,.24,.3,.3,.36,.42][c],o=r+c):(n=[0,600,1033,2339,2340][c],a=[0,260,286,306,312][c],s=[0,.26,.286,.3,.306,.34][c],o=`tilde`+c)}return{span:Mn([],[new wt([new Tt(o)],{width:`100%`,height:N(s),viewBox:`0 0 `+n+` `+a,preserveAspectRatio:`none`})],t),minWidth:0,height:s}}else{var l=[],u=Fr[r];if(!u)throw Error(`No SVG data for "`+r+`".`);var[d,f,p]=u,m=p/1e3,h=d.length,g,_;if(h===1){if(u.length!==4)throw Error(`Expected 4-tuple for single-path SVG data "`+r+`".`);g=[`hide-tail`],_=[u[3]]}else if(h===2)g=[`halfarrow-left`,`halfarrow-right`],_=[`xMinYMin`,`xMaxYMin`];else if(h===3)g=[`brace-left`,`brace-center`,`brace-right`],_=[`xMinYMin`,`xMidYMin`,`xMaxYMin`];else throw Error(`Correct katexImagesData or update code here to support
252
- `+h+` children.`);for(var v=0;v<h;v++){var y=new wt([new Tt(d[v])],{width:`400em`,height:N(m),viewBox:`0 0 `+n+` `+p,preserveAspectRatio:_[v]+` slice`}),b=Mn([g[v]],[y],t);if(h===1)return{span:b,minWidth:f,height:m};b.style.height=N(m),l.push(b)}return{span:W([`stretchy`],l,t),minWidth:f,height:m}}}var{span:r,minWidth:i,height:a}=n();return r.height=a,r.style.height=N(a),i>0&&(r.style.minWidth=N(i)),r},Rr=function(e,t,n,r,i){var a,o=e.height+e.depth+n+r;if(/fbox|color|angl/.test(t)){if(a=W([`stretchy`,t],[],i),t===`fbox`){var s=i.color&&i.getColor();s&&(a.style.borderColor=s)}}else{var c=[];/^[bx]cancel$/.test(t)&&c.push(new Et({x1:`0`,y1:`0`,x2:`100%`,y2:`100%`,"stroke-width":`0.046em`})),/^x?cancel$/.test(t)&&c.push(new Et({x1:`0`,y1:`100%`,x2:`100%`,y2:`0`,"stroke-width":`0.046em`})),a=Mn([],[new wt(c,{width:`100%`,height:N(o)})],i)}return a.height=o,a.style.height=N(o),a},zr={bin:1,close:1,inner:1,open:1,punct:1,rel:1},Br={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1};function Vr(e){return e in zr}function X(e,t){if(!e||e.type!==t)throw Error(`Expected node of type `+t+`, but got `+(e?`node of type `+e.type:String(e)));return e}function Hr(e){var t=Ur(e);if(!t)throw Error(`Expected node of symbol group type, but got `+(e?`node of type `+e.type:String(e)));return t}function Ur(e){return e&&(e.type===`atom`||Br.hasOwnProperty(e.type))?e:null}var Wr=e=>{if(e instanceof Ct)return e;if(kt(e)&&e.children.length===1)return Wr(e.children[0])},Gr=(e,t)=>{var n,r,i;e&&e.type===`supsub`?(r=X(e.base,`accent`),n=r.base,e.base=n,i=Ot(q(e,t)),e.base=r):(r=X(e,`accent`),n=r.base);var a=q(n,t.havingCrampedStyle()),o=r.isShifty&&xe(n),s=0;o&&(s=Wr(a)?.skew??0);var c=r.label===`\\c`,l=c?a.height+a.depth:Math.min(a.height,t.fontMetrics().xHeight),u;if(r.isStretchy)u=Lr(r,t),u=G({positionType:`firstBaseline`,children:[{type:`elem`,elem:a},{type:`elem`,elem:u,wrapperClasses:[`svg-align`],wrapperStyle:s>0?{width:`calc(100% - `+N(2*s)+`)`,marginLeft:N(2*s)}:void 0}]});else{var d,f;r.label===`\\vec`?(d=Hn(`vec`,t),f=Vn.vec[1]):(d=On({type:`textord`,mode:r.mode,text:r.label},t,`textord`),d=Dt(d),d.italic=0,f=d.width,c&&(l+=d.depth)),u=W([`accent-body`],[d]);var p=r.label===`\\textcircled`;p&&(u.classes.push(`accent-full`),l=a.height);var m=s;p||(m-=f/2),u.style.left=N(m),r.label===`\\textcircled`&&(u.style.top=`.2em`),u=G({positionType:`firstBaseline`,children:[{type:`elem`,elem:a},{type:`kern`,size:-l},{type:`elem`,elem:u}]})}var h=W([`mord`,`accent`],[u],t);return i?(i.children[0]=h,i.height=Math.max(h.height,i.height),i.classes[0]=`mord`,i):h},Kr=(e,t)=>{var n=e.isStretchy?Pr(e.label):new J(`mo`,[_r(e.label,e.mode)]),r=new J(`mover`,[Y(e.base,t),n]);return r.setAttribute(`accent`,`true`),r},qr=new RegExp([`\\acute`,`\\grave`,`\\ddot`,`\\tilde`,`\\bar`,`\\breve`,`\\check`,`\\hat`,`\\vec`,`\\dot`,`\\mathring`].map(e=>`\\`+e).join(`|`));K({type:`accent`,names:[`\\acute`,`\\grave`,`\\ddot`,`\\tilde`,`\\bar`,`\\breve`,`\\check`,`\\hat`,`\\vec`,`\\dot`,`\\mathring`,`\\widecheck`,`\\widehat`,`\\widetilde`,`\\overrightarrow`,`\\overleftarrow`,`\\Overrightarrow`,`\\overleftrightarrow`,`\\overgroup`,`\\overlinesegment`,`\\overleftharpoon`,`\\overrightharpoon`],props:{numArgs:1},handler:(e,t)=>{var n=Qn(t[0]),r=!qr.test(e.funcName),i=!r||e.funcName===`\\widehat`||e.funcName===`\\widetilde`||e.funcName===`\\widecheck`;return{type:`accent`,mode:e.parser.mode,label:e.funcName,isStretchy:r,isShifty:i,base:n}},htmlBuilder:Gr,mathmlBuilder:Kr}),K({type:`accent`,names:[`\\'`,"\\`",`\\^`,`\\~`,`\\=`,`\\u`,`\\.`,`\\"`,`\\c`,`\\r`,`\\H`,`\\v`,`\\textcircled`],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:[`primitive`]},handler:(e,t)=>{var n=t[0],r=e.parser.mode;return r===`math`&&(e.parser.settings.reportNonstrict(`mathVsTextAccents`,`LaTeX's accent `+e.funcName+` works only in text mode`),r=`text`),{type:`accent`,mode:r,label:e.funcName,isStretchy:!1,isShifty:!0,base:n}},htmlBuilder:Gr,mathmlBuilder:Kr}),K({type:`accentUnder`,names:[`\\underleftarrow`,`\\underrightarrow`,`\\underleftrightarrow`,`\\undergroup`,`\\underlinesegment`,`\\utilde`],props:{numArgs:1},handler:(e,t)=>{var{parser:n,funcName:r}=e,i=t[0];return{type:`accentUnder`,mode:n.mode,label:r,base:i}},htmlBuilder:(e,t)=>{var n=q(e.base,t),r=Lr(e,t),i=e.label===`\\utilde`?.12:0;return W([`mord`,`accentunder`],[G({positionType:`top`,positionData:n.height,children:[{type:`elem`,elem:r,wrapperClasses:[`svg-align`]},{type:`kern`,size:i},{type:`elem`,elem:n}]})],t)},mathmlBuilder:(e,t)=>{var n=Pr(e.label),r=new J(`munder`,[Y(e.base,t),n]);return r.setAttribute(`accentunder`,`true`),r}});var Jr=e=>{var t=new J(`mpadded`,e?[e]:[]);return t.setAttribute(`width`,`+0.6em`),t.setAttribute(`lspace`,`0.3em`),t};K({type:`xArrow`,names:[`\\xleftarrow`,`\\xrightarrow`,`\\xLeftarrow`,`\\xRightarrow`,`\\xleftrightarrow`,`\\xLeftrightarrow`,`\\xhookleftarrow`,`\\xhookrightarrow`,`\\xmapsto`,`\\xrightharpoondown`,`\\xrightharpoonup`,`\\xleftharpoondown`,`\\xleftharpoonup`,`\\xrightleftharpoons`,`\\xleftrightharpoons`,`\\xlongequal`,`\\xtwoheadrightarrow`,`\\xtwoheadleftarrow`,`\\xtofrom`,`\\xrightleftarrows`,`\\xrightequilibrium`,`\\xleftequilibrium`,`\\\\cdrightarrow`,`\\\\cdleftarrow`,`\\\\cdlongequal`],props:{numArgs:1,numOptionalArgs:1},handler(e,t,n){var{parser:r,funcName:i}=e;return{type:`xArrow`,mode:r.mode,label:i,body:t[0],below:n[0]}},htmlBuilder(e,t){var n=t.style,r=t.havingStyle(n.sup()),i=In(q(e.body,r,t),t),a=e.label.slice(0,2)===`\\x`?`x`:`cd`;i.classes.push(a+`-arrow-pad`);var o;e.below&&(r=t.havingStyle(n.sub()),o=In(q(e.below,r,t),t),o.classes.push(a+`-arrow-pad`));var s=Lr(e,t),c=-t.fontMetrics().axisHeight+.5*s.height,l=-t.fontMetrics().axisHeight-.5*s.height-.111;(i.depth>.25||e.label===`\\xleftequilibrium`)&&(l-=i.depth);var u;if(o){var d=-t.fontMetrics().axisHeight+o.height+.5*s.height+.111;u=G({positionType:`individualShift`,children:[{type:`elem`,elem:i,shift:l},{type:`elem`,elem:s,shift:c,wrapperClasses:[`svg-align`]},{type:`elem`,elem:o,shift:d}]})}else u=G({positionType:`individualShift`,children:[{type:`elem`,elem:i,shift:l},{type:`elem`,elem:s,shift:c,wrapperClasses:[`svg-align`]}]});return W([`mrel`,`x-arrow`],[u],t)},mathmlBuilder(e,t){var n=Pr(e.label);n.setAttribute(`minsize`,e.label.charAt(0)===`x`?`1.75em`:`3.0em`);var r;if(e.body){var i=Jr(Y(e.body,t));r=e.below?new J(`munderover`,[n,Jr(Y(e.below,t)),i]):new J(`mover`,[n,i])}else e.below?r=new J(`munder`,[n,Jr(Y(e.below,t))]):(r=Jr(),r=new J(`mover`,[n,r]));return r}});function Yr(e,t){var n=ir(e.body,t,!0);return W([e.mclass],n,t)}function Xr(e,t){var n,r=Sr(e.body,t);return e.mclass===`minner`?n=new J(`mpadded`,r):e.mclass===`mord`?e.isCharacterBox?(n=r[0],n.type=`mi`):n=new J(`mi`,r):(e.isCharacterBox?(n=r[0],n.type=`mo`):n=new J(`mo`,r),e.mclass===`mbin`?(n.attributes.lspace=`0.22em`,n.attributes.rspace=`0.22em`):e.mclass===`mpunct`?(n.attributes.lspace=`0em`,n.attributes.rspace=`0.17em`):e.mclass===`mopen`||e.mclass===`mclose`?(n.attributes.lspace=`0em`,n.attributes.rspace=`0em`):e.mclass===`minner`&&(n.attributes.lspace=`0.0556em`,n.attributes.width=`+0.1111em`)),n}K({type:`mclass`,names:[`\\mathord`,`\\mathbin`,`\\mathrel`,`\\mathopen`,`\\mathclose`,`\\mathpunct`,`\\mathinner`],props:{numArgs:1,primitive:!0},handler(e,t){var{parser:n,funcName:r}=e,i=t[0];return{type:`mclass`,mode:n.mode,mclass:`m`+r.slice(5),body:$n(i),isCharacterBox:xe(i)}},htmlBuilder:Yr,mathmlBuilder:Xr});var Zr=e=>{var t=e.type===`ordgroup`&&e.body.length?e.body[0]:e;return t.type===`atom`&&(t.family===`bin`||t.family===`rel`)?`m`+t.family:`mord`};K({type:`mclass`,names:[`\\@binrel`],props:{numArgs:2},handler(e,t){var{parser:n}=e;return{type:`mclass`,mode:n.mode,mclass:Zr(t[0]),body:$n(t[1]),isCharacterBox:xe(t[1])}}}),K({type:`mclass`,names:[`\\stackrel`,`\\overset`,`\\underset`],props:{numArgs:2},handler(e,t){var{parser:n,funcName:r}=e,i=t[1],a=t[0],o=r===`\\stackrel`?`mrel`:Zr(i),s={type:`op`,mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:r!==`\\stackrel`,body:$n(i)},c={type:`supsub`,mode:a.mode,base:s,sup:r===`\\underset`?null:a,sub:r===`\\underset`?a:null};return{type:`mclass`,mode:n.mode,mclass:o,body:[c],isCharacterBox:xe(c)}},htmlBuilder:Yr,mathmlBuilder:Xr}),K({type:`pmb`,names:[`\\pmb`],props:{numArgs:1,allowedInText:!0},handler(e,t){var{parser:n}=e;return{type:`pmb`,mode:n.mode,mclass:Zr(t[0]),body:$n(t[0])}},htmlBuilder(e,t){var n=ir(e.body,t,!0),r=W([e.mclass],n,t);return r.style.textShadow=`0.02em 0.01em 0.04px`,r},mathmlBuilder(e,t){var n=new J(`mstyle`,Sr(e.body,t));return n.setAttribute(`style`,`text-shadow: 0.02em 0.01em 0.04px`),n}});var Qr={">":`\\\\cdrightarrow`,"<":`\\\\cdleftarrow`,"=":`\\\\cdlongequal`,A:`\\uparrow`,V:`\\downarrow`,"|":`\\Vert`,".":`no arrow`},$r=()=>({type:`styling`,body:[],mode:`math`,style:`display`,resetFont:!0}),ei=e=>e.type===`textord`&&e.text===`@`,ti=(e,t)=>(e.type===`mathord`||e.type===`atom`)&&e.text===t;function ni(e,t,n){var r=Qr[e];switch(r){case`\\\\cdrightarrow`:case`\\\\cdleftarrow`:return n.callFunction(r,[t[0]],[t[1]]);case`\\uparrow`:case`\\downarrow`:var i=n.callFunction(`\\\\cdleft`,[t[0]],[]),a={type:`atom`,text:r,mode:`math`,family:`rel`},o={type:`ordgroup`,mode:`math`,body:[i,n.callFunction(`\\Big`,[a],[]),n.callFunction(`\\\\cdright`,[t[1]],[])]};return n.callFunction(`\\\\cdparent`,[o],[]);case`\\\\cdlongequal`:return n.callFunction(`\\\\cdlongequal`,[],[]);case`\\Vert`:return n.callFunction(`\\Big`,[{type:`textord`,text:`\\Vert`,mode:`math`}],[]);default:return{type:`textord`,text:` `,mode:`math`}}}function ri(e){var t=[];for(e.gullet.beginGroup(),e.gullet.macros.set(`\\cr`,`\\\\\\relax`),e.gullet.beginGroup();;){t.push(e.parseExpression(!1,`\\\\`)),e.gullet.endGroup(),e.gullet.beginGroup();var n=e.fetch().text;if(n===`&`||n===`\\\\`)e.consume();else if(n===`\\end`){t[t.length-1].length===0&&t.pop();break}else throw new O(`Expected \\\\ or \\cr or \\end`,e.nextToken)}for(var r=[],i=[r],a=0;a<t.length;a++){for(var o=t[a],s=$r(),c=0;c<o.length;c++)if(!ei(o[c]))s.body.push(o[c]);else{r.push(s),c+=1;var l=Hr(o[c]).text,u=[,,];if(u[0]={type:`ordgroup`,mode:`math`,body:[]},u[1]={type:`ordgroup`,mode:`math`,body:[]},!`=|.`.includes(l))if(`<>AV`.includes(l))for(var d=0;d<2;d++){for(var f=!0,p=c+1;p<o.length;p++){if(ti(o[p],l)){f=!1,c=p;break}if(ei(o[p]))throw new O(`Missing a `+l+` character to complete a CD arrow.`,o[p]);u[d].body.push(o[p])}if(f)throw new O(`Missing a `+l+` character to complete a CD arrow.`,o[c])}else throw new O(`Expected one of "<>AV=|." after @`,o[c]);var m={type:`styling`,body:[ni(l,u,e)],mode:`math`,style:`display`,resetFont:!0};r.push(m),s=$r()}a%2==0?r.push(s):r.shift(),r=[],i.push(r)}return e.gullet.endGroup(),e.gullet.endGroup(),{type:`array`,mode:`math`,body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:Array(i[0].length).fill({type:`align`,align:`c`,pregap:.25,postgap:.25}),colSeparationType:`CD`,hLinesBeforeRow:Array(i.length+1).fill([])}}K({type:`cdlabel`,names:[`\\\\cdleft`,`\\\\cdright`],props:{numArgs:1},handler(e,t){var{parser:n,funcName:r}=e;return{type:`cdlabel`,mode:n.mode,side:r.slice(4),label:t[0]}},htmlBuilder(e,t){var n=t.havingStyle(t.style.sup()),r=In(q(e.label,n,t),t);return r.classes.push(`cd-label-`+e.side),r.style.bottom=N(.8-r.depth),r.height=0,r.depth=0,r},mathmlBuilder(e,t){var n=new J(`mrow`,[Y(e.label,t)]);return n=new J(`mpadded`,[n]),n.setAttribute(`width`,`0`),e.side===`left`&&n.setAttribute(`lspace`,`-1width`),n.setAttribute(`voffset`,`0.7em`),n=new J(`mstyle`,[n]),n.setAttribute(`displaystyle`,`false`),n.setAttribute(`scriptlevel`,`1`),n}}),K({type:`cdlabelparent`,names:[`\\\\cdparent`],props:{numArgs:1},handler(e,t){var{parser:n}=e;return{type:`cdlabelparent`,mode:n.mode,fragment:t[0]}},htmlBuilder(e,t){var n=In(q(e.fragment,t),t);return n.classes.push(`cd-vert-arrow`),n},mathmlBuilder(e,t){return new J(`mrow`,[Y(e.fragment,t)])}}),K({type:`textord`,names:[`\\@char`],props:{numArgs:1,allowedInText:!0},handler(e,t){for(var{parser:n}=e,r=X(t[0],`ordgroup`).body,i=``,a=0;a<r.length;a++){var o=X(r[a],`textord`);i+=o.text}var s=parseInt(i),c;if(isNaN(s))throw new O(`\\@char has non-numeric argument `+i);if(s<0||s>=1114111)throw new O(`\\@char with invalid code point `+i);return s<=65535?c=String.fromCharCode(s):(s-=65536,c=String.fromCharCode((s>>10)+55296,(s&1023)+56320)),{type:`textord`,mode:n.mode,text:c}}});var ii=(e,t)=>Fn(ir(e.body,t.withColor(e.color),!1)),ai=(e,t)=>{var n=new J(`mstyle`,Sr(e.body,t.withColor(e.color)));return n.setAttribute(`mathcolor`,e.color),n};K({type:`color`,names:[`\\textcolor`],props:{numArgs:2,allowedInText:!0,argTypes:[`color`,`original`]},handler(e,t){var{parser:n}=e,r=X(t[0],`color-token`).color,i=t[1];return{type:`color`,mode:n.mode,color:r,body:$n(i)}},htmlBuilder:ii,mathmlBuilder:ai}),K({type:`color`,names:[`\\color`],props:{numArgs:1,allowedInText:!0,argTypes:[`color`]},handler(e,t){var{parser:n,breakOnTokenText:r}=e,i=X(t[0],`color-token`).color;n.gullet.macros.set(`\\current@color`,i);var a=n.parseExpression(!0,r);return{type:`color`,mode:n.mode,color:i,body:a}},htmlBuilder:ii,mathmlBuilder:ai}),K({type:`cr`,names:[`\\\\`],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(e,t,n){var{parser:r}=e,i=r.gullet.future().text===`[`?r.parseSizeGroup(!0):null,a=!r.settings.displayMode||!r.settings.useStrictBehavior(`newLineInDisplayMode`,`In LaTeX, \\\\ or \\newline does nothing in display mode`);return{type:`cr`,mode:r.mode,newLine:a,size:i&&X(i,`size`).value}},htmlBuilder(e,t){var n=W([`mspace`],[],t);return e.newLine&&(n.classes.push(`newline`),e.size&&(n.style.marginTop=N(ft(e.size,t)))),n},mathmlBuilder(e,t){var n=new J(`mspace`);return e.newLine&&(n.setAttribute(`linebreak`,`newline`),e.size&&n.setAttribute(`height`,N(ft(e.size,t)))),n}});var oi={"\\global":`\\global`,"\\long":`\\\\globallong`,"\\\\globallong":`\\\\globallong`,"\\def":`\\gdef`,"\\gdef":`\\gdef`,"\\edef":`\\xdef`,"\\xdef":`\\xdef`,"\\let":`\\\\globallet`,"\\futurelet":`\\\\globalfuture`},si=e=>{var t=e.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(t))throw new O(`Expected a control sequence`,e);return t},ci=e=>{var t=e.gullet.popToken();return t.text===`=`&&(t=e.gullet.popToken(),t.text===` `&&(t=e.gullet.popToken())),t},li=(e,t,n,r)=>{var i=e.gullet.macros.get(n.text);i??=(n.noexpand=!0,{tokens:[n],numArgs:0,unexpandable:!e.gullet.isExpandable(n.text)}),e.gullet.macros.set(t,i,r)};K({type:`internal`,names:[`\\global`,`\\long`,`\\\\globallong`],props:{numArgs:0,allowedInText:!0},handler(e){var{parser:t,funcName:n}=e;t.consumeSpaces();var r=t.fetch();if(oi[r.text])return(n===`\\global`||n===`\\\\globallong`)&&(r.text=oi[r.text]),X(t.parseFunction(),`internal`);throw new O(`Invalid token after macro prefix`,r)}}),K({type:`internal`,names:[`\\def`,`\\gdef`,`\\edef`,`\\xdef`],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var{parser:t,funcName:n}=e,r=t.gullet.popToken(),i=r.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new O(`Expected a control sequence`,r);for(var a=0,o,s=[[]];t.gullet.future().text!==`{`;)if(r=t.gullet.popToken(),r.text===`#`){if(t.gullet.future().text===`{`){o=t.gullet.future(),s[a].push(`{`);break}if(r=t.gullet.popToken(),!/^[1-9]$/.test(r.text))throw new O(`Invalid argument number "`+r.text+`"`);if(parseInt(r.text)!==a+1)throw new O(`Argument number "`+r.text+`" out of order`);a++,s.push([])}else if(r.text===`EOF`)throw new O(`Expected a macro definition`);else s[a].push(r.text);var{tokens:c}=t.gullet.consumeArg();return o&&c.unshift(o),(n===`\\edef`||n===`\\xdef`)&&(c=t.gullet.expandTokens(c),c.reverse()),t.gullet.macros.set(i,{tokens:c,numArgs:a,delimiters:s},n===oi[n]),{type:`internal`,mode:t.mode}}}),K({type:`internal`,names:[`\\let`,`\\\\globallet`],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var{parser:t,funcName:n}=e,r=si(t.gullet.popToken());return t.gullet.consumeSpaces(),li(t,r,ci(t),n===`\\\\globallet`),{type:`internal`,mode:t.mode}}}),K({type:`internal`,names:[`\\futurelet`,`\\\\globalfuture`],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var{parser:t,funcName:n}=e,r=si(t.gullet.popToken()),i=t.gullet.popToken(),a=t.gullet.popToken();return li(t,r,a,n===`\\\\globalfuture`),t.gullet.pushToken(a),t.gullet.pushToken(i),{type:`internal`,mode:t.mode}}});var ui=function(e,t,n){var r=Pt(Lt.math[e]&&Lt.math[e].replace||e,t,n);if(!r)throw Error(`Unsupported symbol `+e+` and font size `+t+`.`);return r},di=function(e,t,n,r){var i=n.havingBaseStyle(t),a=W(r.concat(i.sizingClasses(n)),[e],n),o=i.sizeMultiplier/n.sizeMultiplier;return a.height*=o,a.depth*=o,a.maxFontSize=i.sizeMultiplier,a},fi=function(e,t,n){var r=t.havingBaseStyle(n),i=(1-t.sizeMultiplier/r.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push(`delimcenter`),e.style.top=N(i),e.height-=i,e.depth+=i},pi=function(e,t,n,r,i,a){var o=di(Tn(e,`Main-Regular`,i,r),t,r,a);return n&&fi(o,r,t),o},mi=function(e,t,n,r){return Tn(e,`Size`+t+`-Regular`,n,r)},hi=function(e,t,n,r,i,a){var o=mi(e,t,i,r),s=di(W([`delimsizing`,`size`+t],[o],r),M.TEXT,r,a);return n&&fi(s,r,M.TEXT),s},gi=function(e,t,n){return{type:`elem`,elem:W([`delimsizinginner`,t===`Size1-Regular`?`delim-size1`:`delim-size4`],[W([],[Tn(e,t,n)])])}},_i=function(e,t,n){var r=At[`Size4-Regular`][e.charCodeAt(0)]?At[`Size4-Regular`][e.charCodeAt(0)][4]:At[`Size1-Regular`][e.charCodeAt(0)][4],i=Mn([],[new wt([new Tt(`inner`,it(e,Math.round(1e3*t)))],{width:N(r),height:N(t),style:`width:`+N(r),viewBox:`0 0 `+1e3*r+` `+Math.round(1e3*t),preserveAspectRatio:`xMinYMin`})],n);return i.height=t,i.style.height=N(t),i.style.width=N(r),{type:`elem`,elem:i}},vi=.008,yi={type:`kern`,size:-1*vi},bi=new Set([`|`,`\\lvert`,`\\rvert`,`\\vert`]),xi=new Set([`\\|`,`\\lVert`,`\\rVert`,`\\Vert`]),Si=function(e,t,n,r,i,a){var o,s,c,l,u=``,d=0;o=c=l=e,s=null;var f=`Size1-Regular`;e===`\\uparrow`?c=l=`⏐`:e===`\\Uparrow`?c=l=`‖`:e===`\\downarrow`?o=c=`⏐`:e===`\\Downarrow`?o=c=`‖`:e===`\\updownarrow`?(o=`\\uparrow`,c=`⏐`,l=`\\downarrow`):e===`\\Updownarrow`?(o=`\\Uparrow`,c=`‖`,l=`\\Downarrow`):bi.has(e)?(c=`∣`,u=`vert`,d=333):xi.has(e)?(c=`∥`,u=`doublevert`,d=556):e===`[`||e===`\\lbrack`?(o=`⎡`,c=`⎢`,l=`⎣`,f=`Size4-Regular`,u=`lbrack`,d=667):e===`]`||e===`\\rbrack`?(o=`⎤`,c=`⎥`,l=`⎦`,f=`Size4-Regular`,u=`rbrack`,d=667):e===`\\lfloor`||e===`⌊`?(c=o=`⎢`,l=`⎣`,f=`Size4-Regular`,u=`lfloor`,d=667):e===`\\lceil`||e===`⌈`?(o=`⎡`,c=l=`⎢`,f=`Size4-Regular`,u=`lceil`,d=667):e===`\\rfloor`||e===`⌋`?(c=o=`⎥`,l=`⎦`,f=`Size4-Regular`,u=`rfloor`,d=667):e===`\\rceil`||e===`⌉`?(o=`⎤`,c=l=`⎥`,f=`Size4-Regular`,u=`rceil`,d=667):e===`(`||e===`\\lparen`?(o=`⎛`,c=`⎜`,l=`⎝`,f=`Size4-Regular`,u=`lparen`,d=875):e===`)`||e===`\\rparen`?(o=`⎞`,c=`⎟`,l=`⎠`,f=`Size4-Regular`,u=`rparen`,d=875):e===`\\{`||e===`\\lbrace`?(o=`⎧`,s=`⎨`,l=`⎩`,c=`⎪`,f=`Size4-Regular`):e===`\\}`||e===`\\rbrace`?(o=`⎫`,s=`⎬`,l=`⎭`,c=`⎪`,f=`Size4-Regular`):e===`\\lgroup`||e===`⟮`?(o=`⎧`,l=`⎩`,c=`⎪`,f=`Size4-Regular`):e===`\\rgroup`||e===`⟯`?(o=`⎫`,l=`⎭`,c=`⎪`,f=`Size4-Regular`):e===`\\lmoustache`||e===`⎰`?(o=`⎧`,l=`⎭`,c=`⎪`,f=`Size4-Regular`):(e===`\\rmoustache`||e===`⎱`)&&(o=`⎫`,l=`⎩`,c=`⎪`,f=`Size4-Regular`);var p=ui(o,f,i),m=p.height+p.depth,h=ui(c,f,i),g=h.height+h.depth,_=ui(l,f,i),v=_.height+_.depth,y=0,b=1;if(s!==null){var x=ui(s,f,i);y=x.height+x.depth,b=2}var S=m+v+y,C=S+Math.max(0,Math.ceil((t-S)/(b*g)))*b*g,w=r.fontMetrics().axisHeight;n&&(w*=r.sizeMultiplier);var T=C/2-w,E=[];if(u.length>0){var ee=C-m-v,te=Math.round(C*1e3),ne=ot(u,Math.round(ee*1e3)),D=new Tt(u,ne),re=N(d/1e3),ie=N(te/1e3),ae=Mn([],[new wt([D],{width:re,height:ie,viewBox:`0 0 `+d+` `+te})],r);ae.height=te/1e3,ae.style.width=re,ae.style.height=ie,E.push({type:`elem`,elem:ae})}else{if(E.push(gi(l,f,i)),E.push(yi),s===null){var oe=C-m-v+2*vi;E.push(_i(c,oe,r))}else{var se=(C-m-v-y)/2+2*vi;E.push(_i(c,se,r)),E.push(yi),E.push(gi(s,f,i)),E.push(yi),E.push(_i(c,se,r))}E.push(yi),E.push(gi(o,f,i))}var ce=r.havingBaseStyle(M.TEXT);return di(W([`delimsizing`,`mult`],[G({positionType:`bottom`,positionData:T,children:E})],ce),M.TEXT,r,a)},Ci=80,wi=.08,Ti=function(e,t,n,r,i){return Mn([`hide-tail`],[new wt([new Tt(e,rt(e,r,n))],{width:`400em`,height:N(t),viewBox:`0 0 400000 `+n,preserveAspectRatio:`xMinYMin slice`})],i)},Ei=function(e,t){var n=t.havingBaseSizing(),r=Ii(`\\surd`,e*n.sizeMultiplier,Pi,n),i=n.sizeMultiplier,a=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness),o,s,c,l,u;return r.type===`small`?(l=1e3+1e3*a+Ci,e<1?i=1:e<1.4&&(i=.7),s=(1+a+wi)/i,c=(1+a)/i,o=Ti(`sqrtMain`,s,l,a,t),o.style.minWidth=`0.853em`,u=.833/i):r.type===`large`?(l=(1e3+Ci)*Ai[r.size],c=(Ai[r.size]+a)/i,s=(Ai[r.size]+a+wi)/i,o=Ti(`sqrtSize`+r.size,s,l,a,t),o.style.minWidth=`1.02em`,u=1/i):(s=e+a+wi,c=e+a,l=Math.floor(1e3*e+a)+Ci,o=Ti(`sqrtTall`,s,l,a,t),o.style.minWidth=`0.742em`,u=1.056),o.height=c,o.style.height=N(s),{span:o,advanceWidth:u,ruleWidth:(t.fontMetrics().sqrtRuleThickness+a)*i}},Di=new Set([`(`,`\\lparen`,`)`,`\\rparen`,`[`,`\\lbrack`,`]`,`\\rbrack`,`\\{`,`\\lbrace`,`\\}`,`\\rbrace`,`\\lfloor`,`\\rfloor`,`⌊`,`⌋`,`\\lceil`,`\\rceil`,`⌈`,`⌉`,`\\surd`]),Oi=new Set([`\\uparrow`,`\\downarrow`,`\\updownarrow`,`\\Uparrow`,`\\Downarrow`,`\\Updownarrow`,`|`,`\\|`,`\\vert`,`\\Vert`,`\\lvert`,`\\rvert`,`\\lVert`,`\\rVert`,`\\lgroup`,`\\rgroup`,`⟮`,`⟯`,`\\lmoustache`,`\\rmoustache`,`⎰`,`⎱`]),ki=new Set([`<`,`>`,`\\langle`,`\\rangle`,`/`,`\\backslash`,`\\lt`,`\\gt`]),Ai=[0,1.2,1.8,2.4,3],ji=function(e,t,n,r,i){if(e===`<`||e===`\\lt`||e===`⟨`?e=`\\langle`:(e===`>`||e===`\\gt`||e===`⟩`)&&(e=`\\rangle`),Di.has(e)||ki.has(e))return hi(e,t,!1,n,r,i);if(Oi.has(e))return Si(e,Ai[t],!1,n,r,i);throw new O(`Illegal delimiter: '`+e+`'`)},Mi=[{type:`small`,style:M.SCRIPTSCRIPT},{type:`small`,style:M.SCRIPT},{type:`small`,style:M.TEXT},{type:`large`,size:1},{type:`large`,size:2},{type:`large`,size:3},{type:`large`,size:4}],Ni=[{type:`small`,style:M.SCRIPTSCRIPT},{type:`small`,style:M.SCRIPT},{type:`small`,style:M.TEXT},{type:`stack`}],Pi=[{type:`small`,style:M.SCRIPTSCRIPT},{type:`small`,style:M.SCRIPT},{type:`small`,style:M.TEXT},{type:`large`,size:1},{type:`large`,size:2},{type:`large`,size:3},{type:`large`,size:4},{type:`stack`}],Fi=function(e){if(e.type===`small`)return`Main-Regular`;if(e.type===`large`)return`Size`+e.size+`-Regular`;if(e.type===`stack`)return`Size4-Regular`;var t=e.type;throw Error(`Add support for delim type '`+t+`' here.`)},Ii=function(e,t,n,r){for(var i=Math.min(2,3-r.style.size);i<n.length;i++){var a=n[i];if(a.type===`stack`)break;var o=ui(e,Fi(a),`math`),s=o.height+o.depth;if(a.type===`small`){var c=r.havingBaseStyle(a.style);s*=c.sizeMultiplier}if(s>t)return a}return n[n.length-1]},Li=function(e,t,n,r,i,a){e===`<`||e===`\\lt`||e===`⟨`?e=`\\langle`:(e===`>`||e===`\\gt`||e===`⟩`)&&(e=`\\rangle`);var o=ki.has(e)?Mi:Di.has(e)?Pi:Ni,s=Ii(e,t,o,r);return s.type===`small`?pi(e,s.style,n,r,i,a):s.type===`large`?hi(e,s.size,n,r,i,a):Si(e,t,n,r,i,a)},Ri=function(e,t,n,r,i,a){var o=r.fontMetrics().axisHeight*r.sizeMultiplier,s=901,c=5/r.fontMetrics().ptPerEm,l=Math.max(t-o,n+o);return Li(e,Math.max(l/500*s,2*l-c),!0,r,i,a)},zi={"\\bigl":{mclass:`mopen`,size:1},"\\Bigl":{mclass:`mopen`,size:2},"\\biggl":{mclass:`mopen`,size:3},"\\Biggl":{mclass:`mopen`,size:4},"\\bigr":{mclass:`mclose`,size:1},"\\Bigr":{mclass:`mclose`,size:2},"\\biggr":{mclass:`mclose`,size:3},"\\Biggr":{mclass:`mclose`,size:4},"\\bigm":{mclass:`mrel`,size:1},"\\Bigm":{mclass:`mrel`,size:2},"\\biggm":{mclass:`mrel`,size:3},"\\Biggm":{mclass:`mrel`,size:4},"\\big":{mclass:`mord`,size:1},"\\Big":{mclass:`mord`,size:2},"\\bigg":{mclass:`mord`,size:3},"\\Bigg":{mclass:`mord`,size:4}},Bi=new Set(`(,\\lparen,),\\rparen,[,\\lbrack,],\\rbrack,\\{,\\lbrace,\\},\\rbrace,\\lfloor,\\rfloor,⌊,⌋,\\lceil,\\rceil,⌈,⌉,<,>,\\langle,⟨,\\rangle,⟩,\\lt,\\gt,\\lvert,\\rvert,\\lVert,\\rVert,\\lgroup,\\rgroup,⟮,⟯,\\lmoustache,\\rmoustache,⎰,⎱,/,\\backslash,|,\\vert,\\|,\\Vert,\\uparrow,\\Uparrow,\\downarrow,\\Downarrow,\\updownarrow,\\Updownarrow,.`.split(`,`));function Vi(e){return`isMiddle`in e}function Hi(e,t){var n=Ur(e);if(n&&Bi.has(n.text))return n;throw n?new O(`Invalid delimiter '`+n.text+`' after '`+t.funcName+`'`,e):new O(`Invalid delimiter type '`+e.type+`'`,e)}K({type:`delimsizing`,names:[`\\bigl`,`\\Bigl`,`\\biggl`,`\\Biggl`,`\\bigr`,`\\Bigr`,`\\biggr`,`\\Biggr`,`\\bigm`,`\\Bigm`,`\\biggm`,`\\Biggm`,`\\big`,`\\Big`,`\\bigg`,`\\Bigg`],props:{numArgs:1,argTypes:[`primitive`]},handler:(e,t)=>{var n=Hi(t[0],e);return{type:`delimsizing`,mode:e.parser.mode,size:zi[e.funcName].size,mclass:zi[e.funcName].mclass,delim:n.text}},htmlBuilder:(e,t)=>e.delim===`.`?W([e.mclass]):ji(e.delim,e.size,t,e.mode,[e.mclass]),mathmlBuilder:e=>{var t=[];e.delim!==`.`&&t.push(_r(e.delim,e.mode));var n=new J(`mo`,t);e.mclass===`mopen`||e.mclass===`mclose`?n.setAttribute(`fence`,`true`):n.setAttribute(`fence`,`false`),n.setAttribute(`stretchy`,`true`);var r=N(Ai[e.size]);return n.setAttribute(`minsize`,r),n.setAttribute(`maxsize`,r),n}});function Ui(e){if(!e.body)throw Error(`Bug: The leftright ParseNode wasn't fully parsed.`)}K({type:`leftright-right`,names:[`\\right`],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var n=e.parser.gullet.macros.get(`\\current@color`);if(n&&typeof n!=`string`)throw new O(`\\current@color set to non-string in \\right`);return{type:`leftright-right`,mode:e.parser.mode,delim:Hi(t[0],e).text,color:n}}}),K({type:`leftright`,names:[`\\left`],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var n=Hi(t[0],e),r=e.parser;++r.leftrightDepth;var i=r.parseExpression(!1);--r.leftrightDepth,r.expect(`\\right`,!1);var a=X(r.parseFunction(),`leftright-right`);return{type:`leftright`,mode:r.mode,body:i,left:n.text,right:a.delim,rightColor:a.color}},htmlBuilder:(e,t)=>{Ui(e);for(var n=ir(e.body,t,!0,[`mopen`,`mclose`]),r=0,i=0,a=!1,o=0;o<n.length;o++){var s=n[o];Vi(s)?a=!0:(r=Math.max(n[o].height,r),i=Math.max(n[o].depth,i))}r*=t.sizeMultiplier,i*=t.sizeMultiplier;var c=e.left===`.`?lr(t,[`mopen`]):Ri(e.left,r,i,t,e.mode,[`mopen`]);if(n.unshift(c),a)for(var l=1;l<n.length;l++){var u=n[l];if(Vi(u)){var d=u.isMiddle;n[l]=Ri(d.delim,r,i,d.options,e.mode,[])}}var f;if(e.right===`.`)f=lr(t,[`mclose`]);else{var p=e.rightColor?t.withColor(e.rightColor):t;f=Ri(e.right,r,i,p,e.mode,[`mclose`])}return n.push(f),W([`minner`],n,t)},mathmlBuilder:(e,t)=>{Ui(e);var n=Sr(e.body,t);if(e.left!==`.`){var r=new J(`mo`,[_r(e.left,e.mode)]);r.setAttribute(`fence`,`true`),n.unshift(r)}if(e.right!==`.`){var i=new J(`mo`,[_r(e.right,e.mode)]);i.setAttribute(`fence`,`true`),e.rightColor&&i.setAttribute(`mathcolor`,e.rightColor),n.push(i)}return vr(n)}}),K({type:`middle`,names:[`\\middle`],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var n=Hi(t[0],e);if(!e.parser.leftrightDepth)throw new O(`\\middle without preceding \\left`,n);return{type:`middle`,mode:e.parser.mode,delim:n.text}},htmlBuilder:(e,t)=>{var n;return e.delim===`.`?n=lr(t,[]):(n=ji(e.delim,1,t,e.mode,[]),n.isMiddle={delim:e.delim,options:t}),n},mathmlBuilder:(e,t)=>{var n=new J(`mo`,[e.delim===`\\vert`||e.delim===`|`?_r(`|`,`text`):_r(e.delim,e.mode)]);return n.setAttribute(`fence`,`true`),n.setAttribute(`lspace`,`0.05em`),n.setAttribute(`rspace`,`0.05em`),n}});var Wi=(e,t)=>{var n=In(q(e.body,t),t),r=e.label.slice(1),i=t.sizeMultiplier,a,o,s=xe(e.body);if(r===`sout`)a=W([`stretchy`,`sout`]),a.height=t.fontMetrics().defaultRuleThickness/i,o=-.5*t.fontMetrics().xHeight;else if(r===`phase`){var c=ft({number:.6,unit:`pt`},t),l=ft({number:.35,unit:`ex`},t),u=t.havingBaseSizing();i/=u.sizeMultiplier;var d=n.height+n.depth+c+l;n.style.paddingLeft=N(d/2+c);var f=Math.floor(1e3*d*i);a=Mn([`hide-tail`],[new wt([new Tt(`phase`,tt(f))],{width:`400em`,height:N(f/1e3),viewBox:`0 0 400000 `+f,preserveAspectRatio:`xMinYMin slice`})],t),a.style.height=N(d),o=n.depth+c+l}else{/cancel/.test(r)?s||n.classes.push(`cancel-pad`):r===`angl`?n.classes.push(`anglpad`):n.classes.push(`boxpad`);var p,m,h=0;/box/.test(r)?(h=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness),p=t.fontMetrics().fboxsep+(r===`colorbox`?0:h),m=p):r===`angl`?(h=Math.max(t.fontMetrics().defaultRuleThickness,t.minRuleThickness),p=4*h,m=Math.max(0,.25-n.depth)):(p=s?.2:0,m=p),a=Rr(n,r,p,m,t),/fbox|boxed|fcolorbox/.test(r)?(a.style.borderStyle=`solid`,a.style.borderWidth=N(h)):r===`angl`&&h!==.049&&(a.style.borderTopWidth=N(h),a.style.borderRightWidth=N(h)),o=n.depth+m,e.backgroundColor&&(a.style.backgroundColor=e.backgroundColor,e.borderColor&&(a.style.borderColor=e.borderColor))}var g;if(e.backgroundColor)g=G({positionType:`individualShift`,children:[{type:`elem`,elem:a,shift:o},{type:`elem`,elem:n,shift:0}]});else{var _=/cancel|phase/.test(r)?[`svg-align`]:[];g=G({positionType:`individualShift`,children:[{type:`elem`,elem:n,shift:0},{type:`elem`,elem:a,shift:o,wrapperClasses:_}]})}return/cancel/.test(r)&&(g.height=n.height,g.depth=n.depth),/cancel/.test(r)&&!s?W([`mord`,`cancel-lap`],[g],t):W([`mord`],[g],t)},Gi=(e,t)=>{var n,r=new J(e.label.includes(`colorbox`)?`mpadded`:`menclose`,[Y(e.body,t)]);switch(e.label){case`\\cancel`:r.setAttribute(`notation`,`updiagonalstrike`);break;case`\\bcancel`:r.setAttribute(`notation`,`downdiagonalstrike`);break;case`\\phase`:r.setAttribute(`notation`,`phasorangle`);break;case`\\sout`:r.setAttribute(`notation`,`horizontalstrike`);break;case`\\fbox`:r.setAttribute(`notation`,`box`);break;case`\\angl`:r.setAttribute(`notation`,`actuarial`);break;case`\\fcolorbox`:case`\\colorbox`:if(n=t.fontMetrics().fboxsep*t.fontMetrics().ptPerEm,r.setAttribute(`width`,`+`+2*n+`pt`),r.setAttribute(`height`,`+`+2*n+`pt`),r.setAttribute(`lspace`,n+`pt`),r.setAttribute(`voffset`,n+`pt`),e.label===`\\fcolorbox`){var i=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness);r.setAttribute(`style`,`border: `+N(i)+` solid `+e.borderColor)}break;case`\\xcancel`:r.setAttribute(`notation`,`updiagonalstrike downdiagonalstrike`);break}return e.backgroundColor&&r.setAttribute(`mathbackground`,e.backgroundColor),r};K({type:`enclose`,names:[`\\colorbox`],props:{numArgs:2,allowedInText:!0,argTypes:[`color`,`hbox`]},handler(e,t,n){var{parser:r,funcName:i}=e,a=X(t[0],`color-token`).color,o=t[1];return{type:`enclose`,mode:r.mode,label:i,backgroundColor:a,body:o}},htmlBuilder:Wi,mathmlBuilder:Gi}),K({type:`enclose`,names:[`\\fcolorbox`],props:{numArgs:3,allowedInText:!0,argTypes:[`color`,`color`,`hbox`]},handler(e,t,n){var{parser:r,funcName:i}=e,a=X(t[0],`color-token`).color,o=X(t[1],`color-token`).color,s=t[2];return{type:`enclose`,mode:r.mode,label:i,backgroundColor:o,borderColor:a,body:s}},htmlBuilder:Wi,mathmlBuilder:Gi}),K({type:`enclose`,names:[`\\fbox`],props:{numArgs:1,argTypes:[`hbox`],allowedInText:!0},handler(e,t){var{parser:n}=e;return{type:`enclose`,mode:n.mode,label:`\\fbox`,body:t[0]}}}),K({type:`enclose`,names:[`\\cancel`,`\\bcancel`,`\\xcancel`,`\\phase`],props:{numArgs:1},handler(e,t){var{parser:n,funcName:r}=e,i=t[0];return{type:`enclose`,mode:n.mode,label:r,body:i}},htmlBuilder:Wi,mathmlBuilder:Gi}),K({type:`enclose`,names:[`\\sout`],props:{numArgs:1,allowedInText:!0},handler(e,t){var{parser:n,funcName:r}=e;n.mode===`math`&&n.settings.reportNonstrict(`mathVsSout`,`LaTeX's \\sout works only in text mode`);var i=t[0];return{type:`enclose`,mode:n.mode,label:r,body:i}},htmlBuilder:Wi,mathmlBuilder:Gi}),K({type:`enclose`,names:[`\\angl`],props:{numArgs:1,argTypes:[`hbox`],allowedInText:!1},handler(e,t){var{parser:n}=e;return{type:`enclose`,mode:n.mode,label:`\\angl`,body:t[0]}}});var Ki={};function qi(e){for(var{type:t,names:n,props:r,handler:i,htmlBuilder:a,mathmlBuilder:o}=e,s={type:t,numArgs:r.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},c=0;c<n.length;++c)Ki[n[c]]=s;a&&(Yn[t]=a),o&&(Xn[t]=o)}var Ji={};function Z(e,t){Ji[e]=t}var Yi=class e{constructor(e,t,n){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=t,this.end=n}static range(t,n){return n?!t||!t.loc||!n.loc||t.loc.lexer!==n.loc.lexer?null:new e(t.loc.lexer,t.loc.start,n.loc.end):t&&t.loc}},Xi=class e{constructor(e,t){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=t}range(t,n){return new e(n,Yi.range(this,t))}};function Zi(e){var t=[];e.consumeSpaces();var n=e.fetch().text;for(n===`\\relax`&&(e.consume(),e.consumeSpaces(),n=e.fetch().text);n===`\\hline`||n===`\\hdashline`;)e.consume(),t.push(n===`\\hdashline`),e.consumeSpaces(),n=e.fetch().text;return t}var Qi=e=>{if(!e.parser.settings.displayMode)throw new O(`{`+e.envName+`} can be used only in display mode.`)},$i=new Set([`gather`,`gather*`]);function ea(e){if(!e.includes(`ed`))return!e.includes(`*`)}function ta(e,t,n){var{hskipBeforeAndAfter:r,addJot:i,cols:a,arraystretch:o,colSeparationType:s,autoTag:c,singleRow:l,emptySingleRow:u,maxNumCols:d,leqno:f}=t;if(e.gullet.beginGroup(),l||e.gullet.macros.set(`\\cr`,`\\\\\\relax`),!o){var p=e.gullet.expandMacroAsText(`\\arraystretch`);if(p==null)o=1;else if(o=parseFloat(p),!o||o<0)throw new O(`Invalid \\arraystretch: `+p)}e.gullet.beginGroup();var m=[],h=[m],g=[],_=[],v=c==null?void 0:[];function y(){c&&e.gullet.macros.set(`\\@eqnsw`,`1`,!0)}function b(){v&&(e.gullet.macros.get(`\\df@tag`)?(v.push(e.subparse([new Xi(`\\df@tag`)])),e.gullet.macros.set(`\\df@tag`,void 0,!0)):v.push(!!c&&e.gullet.macros.get(`\\@eqnsw`)===`1`))}for(y(),_.push(Zi(e));;){var x=e.parseExpression(!1,l?`\\end`:`\\\\`);e.gullet.endGroup(),e.gullet.beginGroup();var S={type:`ordgroup`,mode:e.mode,body:x};n&&(S={type:`styling`,mode:e.mode,style:n,resetFont:!0,body:[S]}),m.push(S);var C=e.fetch().text;if(C===`&`){if(d&&m.length===d){if(l||s)throw new O(`Too many tab characters: &`,e.nextToken);e.settings.reportNonstrict(`textEnv`,`Too few columns specified in the {array} column argument.`)}e.consume()}else if(C===`\\end`){b(),m.length===1&&S.type===`styling`&&S.body.length===1&&S.body[0].type===`ordgroup`&&S.body[0].body.length===0&&(h.length>1||!u)&&h.pop(),_.length<h.length+1&&_.push([]);break}else if(C===`\\\\`){e.consume();var w=void 0;e.gullet.future().text!==` `&&(w=e.parseSizeGroup(!0)),g.push(w?w.value:null),b(),_.push(Zi(e)),m=[],h.push(m),y()}else throw new O(`Expected & or \\\\ or \\cr or \\end`,e.nextToken)}return e.gullet.endGroup(),e.gullet.endGroup(),{type:`array`,mode:e.mode,addJot:i,arraystretch:o,body:h,cols:a,rowGaps:g,hskipBeforeAndAfter:r,hLinesBeforeRow:_,colSeparationType:s,tags:v,leqno:f}}function na(e){return e.slice(0,1)===`d`?`display`:`text`}var ra=function(e,t){var n,r,i=e.body.length,a=e.hLinesBeforeRow,o=0,s=Array(i),c=[],l=Math.max(t.fontMetrics().arrayRuleWidth,t.minRuleThickness),u=1/t.fontMetrics().ptPerEm,d=5*u;e.colSeparationType&&e.colSeparationType===`small`&&(d=.2778*(t.havingStyle(M.SCRIPT).sizeMultiplier/t.sizeMultiplier));var f=e.colSeparationType===`CD`?ft({number:3,unit:`ex`},t):12*u,p=3*u,m=e.arraystretch*f,h=.7*m,g=.3*m,_=0;function v(e){for(var t=0;t<e.length;++t)t>0&&(_+=.25),c.push({pos:_,isDashed:e[t]})}for(v(a[0]),n=0;n<e.body.length;++n){var y=e.body[n],b=h,x=g;o<y.length&&(o=y.length);var S={cells:Array(y.length),height:0,depth:0,pos:0};for(r=0;r<y.length;++r){var C=q(y[r],t);x<C.depth&&(x=C.depth),b<C.height&&(b=C.height),S.cells[r]=C}var w=e.rowGaps[n],T=0;w&&(T=ft(w,t),T>0&&(T+=g,x<T&&(x=T),T=0)),e.addJot&&n<e.body.length-1&&(x+=p),S.height=b,S.depth=x,_+=b,S.pos=_,_+=x+T,s[n]=S,v(a[n+1])}var E=_/2+t.fontMetrics().axisHeight,ee=e.cols||[],te=[],ne,D,re=[];if(e.tags&&e.tags.some(e=>e))for(n=0;n<i;++n){var ie=s[n],ae=ie.pos-E,oe=e.tags[n],se=void 0;se=oe===!0?W([`eqn-num`],[],t):oe===!1?W([],[],t):W([],ir(oe,t,!0),t),se.depth=ie.depth,se.height=ie.height,re.push({type:`elem`,elem:se,shift:ae})}for(r=0,D=0;r<o||D<ee.length;++r,++D){for(var ce=ee[D],le=!0;(ue=ce)?.type===`separator`;){var ue;if(le||(ne=W([`arraycolsep`],[]),ne.style.width=N(t.fontMetrics().doubleRuleSep),te.push(ne)),ce.separator===`|`||ce.separator===`:`){var de=ce.separator===`|`?`solid`:`dashed`,fe=W([`vertical-separator`],[],t);fe.style.height=N(_),fe.style.borderRightWidth=N(l),fe.style.borderRightStyle=de,fe.style.margin=`0 `+N(-l/2);var pe=_-E;pe&&(fe.style.verticalAlign=N(-pe)),te.push(fe)}else throw new O(`Invalid separator type: `+ce.separator);D++,ce=ee[D],le=!1}if(!(r>=o)){var me=void 0;(r>0||e.hskipBeforeAndAfter)&&(me=ce?.pregap??d,me!==0&&(ne=W([`arraycolsep`],[]),ne.style.width=N(me),te.push(ne)));var he=[];for(n=0;n<i;++n){var ge=s[n],_e=ge.cells[r];if(_e){var k=ge.pos-E;_e.depth=ge.depth,_e.height=ge.height,he.push({type:`elem`,elem:_e,shift:k})}}var A=G({positionType:`individualShift`,children:he}),ve=W([`col-align-`+(ce?.align||`c`)],[A]);te.push(ve),(r<o-1||e.hskipBeforeAndAfter)&&(me=ce?.postgap??d,me!==0&&(ne=W([`arraycolsep`],[]),ne.style.width=N(me),te.push(ne)))}}var j=W([`mtable`],te);if(c.length>0){for(var ye=Nn(`hline`,t,l),be=Nn(`hdashline`,t,l),xe=[{type:`elem`,elem:j,shift:0}];c.length>0;){var Se=c.pop(),Ce=Se.pos-E;Se.isDashed?xe.push({type:`elem`,elem:be,shift:Ce}):xe.push({type:`elem`,elem:ye,shift:Ce})}j=G({positionType:`individualShift`,children:xe})}if(re.length===0)return W([`mord`],[j],t);var we=W([`tag`],[G({positionType:`individualShift`,children:re})],t);return Fn([j,we])},ia={c:`center `,l:`left `,r:`right `},aa=function(e,t){for(var n=[],r=new J(`mtd`,[],[`mtr-glue`]),i=new J(`mtd`,[],[`mml-eqn-num`]),a=0;a<e.body.length;a++){for(var o=e.body[a],s=[],c=0;c<o.length;c++)s.push(new J(`mtd`,[Y(o[c],t)]));e.tags&&e.tags[a]&&(s.unshift(r),s.push(r),e.leqno?s.unshift(i):s.push(i)),n.push(new J(`mtr`,s))}var l=new J(`mtable`,n),u=e.arraystretch===.5?.1:.16+e.arraystretch-1+(e.addJot?.09:0);l.setAttribute(`rowspacing`,N(u));var d=``,f=``;if(e.cols&&e.cols.length>0){var p=e.cols,m=``,h=!1,g=0,_=p.length;p[0].type===`separator`&&(d+=`top `,g=1),p[p.length-1].type===`separator`&&(d+=`bottom `,--_);for(var v=g;v<_;v++){var y=p[v];y.type===`align`?(f+=ia[y.align],h&&(m+=`none `),h=!0):y.type===`separator`&&(h&&=(m+=y.separator===`|`?`solid `:`dashed `,!1))}l.setAttribute(`columnalign`,f.trim()),/[sd]/.test(m)&&l.setAttribute(`columnlines`,m.trim())}if(e.colSeparationType===`align`){for(var b=e.cols||[],x=``,S=1;S<b.length;S++)x+=S%2?`0em `:`1em `;l.setAttribute(`columnspacing`,x.trim())}else e.colSeparationType===`alignat`||e.colSeparationType===`gather`?l.setAttribute(`columnspacing`,`0em`):e.colSeparationType===`small`?l.setAttribute(`columnspacing`,`0.2778em`):e.colSeparationType===`CD`?l.setAttribute(`columnspacing`,`0.5em`):l.setAttribute(`columnspacing`,`1em`);var C=``,w=e.hLinesBeforeRow;d+=w[0].length>0?`left `:``,d+=w[w.length-1].length>0?`right `:``;for(var T=1;T<w.length-1;T++)C+=w[T].length===0?`none `:w[T][0]?`dashed `:`solid `;return/[sd]/.test(C)&&l.setAttribute(`rowlines`,C.trim()),d!==``&&(l=new J(`menclose`,[l]),l.setAttribute(`notation`,d.trim())),e.arraystretch&&e.arraystretch<1&&(l=new J(`mstyle`,[l]),l.setAttribute(`scriptlevel`,`1`)),l},oa=function(e,t){e.envName.includes(`ed`)||Qi(e);var n=[],r=e.envName.includes(`at`)?`alignat`:`align`,i=e.envName===`split`,a=ta(e.parser,{cols:n,addJot:!0,autoTag:i?void 0:ea(e.envName),emptySingleRow:!0,colSeparationType:r,maxNumCols:i?2:void 0,leqno:e.parser.settings.leqno},`display`),o=0,s=0,c={type:`ordgroup`,mode:e.mode,body:[]};if(t[0]&&t[0].type===`ordgroup`){for(var l=``,u=0;u<t[0].body.length;u++){var d=X(t[0].body[u],`textord`);l+=d.text}o=Number(l),s=o*2}var f=!s;a.body.forEach(function(e){for(var t=1;t<e.length;t+=2)X(X(e[t],`styling`).body[0],`ordgroup`).body.unshift(c);if(f)s<e.length&&(s=e.length);else{var n=e.length/2;if(o<n)throw new O(`Too many math in a row: `+(`expected `+o+`, but got `+n),e[0])}});for(var p=0;p<s;++p){var m=`r`,h=0;p%2==1?m=`l`:p>0&&f&&(h=1),n[p]={type:`align`,align:m,pregap:h,postgap:0}}return a.colSeparationType=f?`align`:`alignat`,a};qi({type:`array`,names:[`array`,`darray`],props:{numArgs:1},handler(e,t){var n=(Ur(t[0])?[t[0]]:X(t[0],`ordgroup`).body).map(function(e){var t=Hr(e).text;if(`lcr`.includes(t))return{type:`align`,align:t};if(t===`|`)return{type:`separator`,separator:`|`};if(t===`:`)return{type:`separator`,separator:`:`};throw new O(`Unknown column alignment: `+t,e)}),r={cols:n,hskipBeforeAndAfter:!0,maxNumCols:n.length};return ta(e.parser,r,na(e.envName))},htmlBuilder:ra,mathmlBuilder:aa}),qi({type:`array`,names:[`matrix`,`pmatrix`,`bmatrix`,`Bmatrix`,`vmatrix`,`Vmatrix`,`matrix*`,`pmatrix*`,`bmatrix*`,`Bmatrix*`,`vmatrix*`,`Vmatrix*`],props:{numArgs:0},handler(e){var t={matrix:null,pmatrix:[`(`,`)`],bmatrix:[`[`,`]`],Bmatrix:[`\\{`,`\\}`],vmatrix:[`|`,`|`],Vmatrix:[`\\Vert`,`\\Vert`]}[e.envName.replace(`*`,``)],n=`c`,r={hskipBeforeAndAfter:!1,cols:[{type:`align`,align:n}]};if(e.envName.charAt(e.envName.length-1)===`*`){var i=e.parser;if(i.consumeSpaces(),i.fetch().text===`[`){if(i.consume(),i.consumeSpaces(),n=i.fetch().text,!`lcr`.includes(n))throw new O(`Expected l or c or r`,i.nextToken);i.consume(),i.consumeSpaces(),i.expect(`]`),i.consume(),r.cols=[{type:`align`,align:n}]}}var a=ta(e.parser,r,na(e.envName)),o=Math.max(0,...a.body.map(e=>e.length));return a.cols=Array(o).fill({type:`align`,align:n}),t?{type:`leftright`,mode:e.mode,body:[a],left:t[0],right:t[1],rightColor:void 0}:a},htmlBuilder:ra,mathmlBuilder:aa}),qi({type:`array`,names:[`smallmatrix`],props:{numArgs:0},handler(e){var t=ta(e.parser,{arraystretch:.5},`script`);return t.colSeparationType=`small`,t},htmlBuilder:ra,mathmlBuilder:aa}),qi({type:`array`,names:[`subarray`],props:{numArgs:1},handler(e,t){var n=(Ur(t[0])?[t[0]]:X(t[0],`ordgroup`).body).map(function(e){var t=Hr(e).text;if(`lc`.includes(t))return{type:`align`,align:t};throw new O(`Unknown column alignment: `+t,e)});if(n.length>1)throw new O(`{subarray} can contain only one column`);var r={cols:n,hskipBeforeAndAfter:!1,arraystretch:.5},i=ta(e.parser,r,`script`);if(i.body.length>0&&i.body[0].length>1)throw new O(`{subarray} can contain only one column`);return i},htmlBuilder:ra,mathmlBuilder:aa}),qi({type:`array`,names:[`cases`,`dcases`,`rcases`,`drcases`],props:{numArgs:0},handler(e){var t=ta(e.parser,{arraystretch:1.2,cols:[{type:`align`,align:`l`,pregap:0,postgap:1},{type:`align`,align:`l`,pregap:0,postgap:0}]},na(e.envName));return{type:`leftright`,mode:e.mode,body:[t],left:e.envName.includes(`r`)?`.`:`\\{`,right:e.envName.includes(`r`)?`\\}`:`.`,rightColor:void 0}},htmlBuilder:ra,mathmlBuilder:aa}),qi({type:`array`,names:[`align`,`align*`,`aligned`,`split`],props:{numArgs:0},handler:oa,htmlBuilder:ra,mathmlBuilder:aa}),qi({type:`array`,names:[`gathered`,`gather`,`gather*`],props:{numArgs:0},handler(e){$i.has(e.envName)&&Qi(e);var t={cols:[{type:`align`,align:`c`}],addJot:!0,colSeparationType:`gather`,autoTag:ea(e.envName),emptySingleRow:!0,leqno:e.parser.settings.leqno};return ta(e.parser,t,`display`)},htmlBuilder:ra,mathmlBuilder:aa}),qi({type:`array`,names:[`alignat`,`alignat*`,`alignedat`],props:{numArgs:1},handler:oa,htmlBuilder:ra,mathmlBuilder:aa}),qi({type:`array`,names:[`equation`,`equation*`],props:{numArgs:0},handler(e){Qi(e);var t={autoTag:ea(e.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:e.parser.settings.leqno};return ta(e.parser,t,`display`)},htmlBuilder:ra,mathmlBuilder:aa}),qi({type:`array`,names:[`CD`],props:{numArgs:0},handler(e){return Qi(e),ri(e.parser)},htmlBuilder:ra,mathmlBuilder:aa}),Z(`\\nonumber`,`\\gdef\\@eqnsw{0}`),Z(`\\notag`,`\\nonumber`),K({type:`text`,names:[`\\hline`,`\\hdashline`],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(e,t){throw new O(e.funcName+` valid only within array environment`)}});var sa=Ki;K({type:`environment`,names:[`\\begin`,`\\end`],props:{numArgs:1,argTypes:[`text`]},handler(e,t){var{parser:n,funcName:r}=e,i=t[0];if(i.type!==`ordgroup`)throw new O(`Invalid environment name`,i);for(var a=``,o=0;o<i.body.length;++o)a+=X(i.body[o],`textord`).text;if(r===`\\begin`){if(!sa.hasOwnProperty(a))throw new O(`No such environment: `+a,i);var s=sa[a],{args:c,optArgs:l}=n.parseArguments(`\\begin{`+a+`}`,s),u={mode:n.mode,envName:a,parser:n},d=s.handler(u,c,l);n.expect(`\\end`,!1);var f=n.nextToken,p=X(n.parseFunction(),`environment`);if(p.name!==a)throw new O(`Mismatch: \\begin{`+a+`} matched by \\end{`+p.name+`}`,f);return d}return{type:`environment`,mode:n.mode,name:a,nameGroup:i}}});var ca=(e,t)=>{var n=e.font,r=t.withFont(n);return q(e.body,r)},la=(e,t)=>{var n=e.font,r=t.withFont(n);return Y(e.body,r)},ua={"\\Bbb":`\\mathbb`,"\\bold":`\\mathbf`,"\\frak":`\\mathfrak`};K({type:`font`,names:[`\\mathrm`,`\\mathit`,`\\mathbf`,`\\mathnormal`,`\\mathsfit`,`\\mathbb`,`\\mathcal`,`\\mathfrak`,`\\mathscr`,`\\mathsf`,`\\mathtt`,`\\Bbb`,`\\bold`,`\\frak`],props:{numArgs:1,allowedInArgument:!0},handler:(e,t)=>{var{parser:n,funcName:r}=e,i=Qn(t[0]),a=r;return a in ua&&(a=ua[a]),{type:`font`,mode:n.mode,font:a.slice(1),body:i}},htmlBuilder:ca,mathmlBuilder:la}),K({type:`mclass`,names:[`\\boldsymbol`,`\\bm`],props:{numArgs:1},handler:(e,t)=>{var{parser:n}=e,r=t[0];return{type:`mclass`,mode:n.mode,mclass:Zr(r),body:[{type:`font`,mode:n.mode,font:`boldsymbol`,body:r}],isCharacterBox:xe(r)}}}),K({type:`font`,names:[`\\rm`,`\\sf`,`\\tt`,`\\bf`,`\\it`,`\\cal`],props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{var{parser:n,funcName:r,breakOnTokenText:i}=e,{mode:a}=n,o=n.parseExpression(!0,i);return{type:`font`,mode:a,font:`math`+r.slice(1),body:{type:`ordgroup`,mode:n.mode,body:o}}},htmlBuilder:ca,mathmlBuilder:la});var da=(e,t)=>{var n=t.style,r=n.fracNum(),i=n.fracDen(),a=t.havingStyle(r),o=q(e.numer,a,t);if(e.continued){var s=8.5/t.fontMetrics().ptPerEm,c=3.5/t.fontMetrics().ptPerEm;o.height=o.height<s?s:o.height,o.depth=o.depth<c?c:o.depth}a=t.havingStyle(i);var l=q(e.denom,a,t),u,d,f;e.hasBarLine?(e.barSize?(d=ft(e.barSize,t),u=Nn(`frac-line`,t,d)):u=Nn(`frac-line`,t),d=u.height,f=u.height):(u=null,d=0,f=t.fontMetrics().defaultRuleThickness);var p,m,h;n.size===M.DISPLAY.size?(p=t.fontMetrics().num1,m=d>0?3*f:7*f,h=t.fontMetrics().denom1):(d>0?(p=t.fontMetrics().num2,m=f):(p=t.fontMetrics().num3,m=3*f),h=t.fontMetrics().denom2);var g;if(u){var _=t.fontMetrics().axisHeight;p-o.depth-(_+.5*d)<m&&(p+=m-(p-o.depth-(_+.5*d))),_-.5*d-(l.height-h)<m&&(h+=m-(_-.5*d-(l.height-h)));var v=-(_-.5*d);g=G({positionType:`individualShift`,children:[{type:`elem`,elem:l,shift:h},{type:`elem`,elem:u,shift:v},{type:`elem`,elem:o,shift:-p}]})}else{var y=p-o.depth-(l.height-h);y<m&&(p+=.5*(m-y),h+=.5*(m-y)),g=G({positionType:`individualShift`,children:[{type:`elem`,elem:l,shift:h},{type:`elem`,elem:o,shift:-p}]})}a=t.havingStyle(n),g.height*=a.sizeMultiplier/t.sizeMultiplier,g.depth*=a.sizeMultiplier/t.sizeMultiplier;var b=n.size===M.DISPLAY.size?t.fontMetrics().delim1:n.size===M.SCRIPTSCRIPT.size?t.havingStyle(M.SCRIPT).fontMetrics().delim2:t.fontMetrics().delim2,x=e.leftDelim==null?lr(t,[`mopen`]):Li(e.leftDelim,b,!0,t.havingStyle(n),e.mode,[`mopen`]),S=e.continued?W([]):e.rightDelim==null?lr(t,[`mclose`]):Li(e.rightDelim,b,!0,t.havingStyle(n),e.mode,[`mclose`]);return W([`mord`].concat(a.sizingClasses(t)),[x,W([`mfrac`],[g]),S],t)},fa=(e,t)=>{var n=new J(`mfrac`,[Y(e.numer,t),Y(e.denom,t)]);if(!e.hasBarLine)n.setAttribute(`linethickness`,`0px`);else if(e.barSize){var r=ft(e.barSize,t);n.setAttribute(`linethickness`,N(r))}if(e.leftDelim!=null||e.rightDelim!=null){var i=[];if(e.leftDelim!=null){var a=new J(`mo`,[new pr(e.leftDelim.replace(`\\`,``))]);a.setAttribute(`fence`,`true`),i.push(a)}if(i.push(n),e.rightDelim!=null){var o=new J(`mo`,[new pr(e.rightDelim.replace(`\\`,``))]);o.setAttribute(`fence`,`true`),i.push(o)}return vr(i)}return n},pa=(e,t)=>t?{type:`styling`,mode:e.mode,style:t,body:[e]}:e;K({type:`genfrac`,names:[`\\cfrac`,`\\dfrac`,`\\frac`,`\\tfrac`,`\\dbinom`,`\\binom`,`\\tbinom`,`\\\\atopfrac`,`\\\\bracefrac`,`\\\\brackfrac`],props:{numArgs:2,allowedInArgument:!0},handler:(e,t)=>{var{parser:n,funcName:r}=e,i=t[0],a=t[1],o,s=null,c=null;switch(r){case`\\cfrac`:case`\\dfrac`:case`\\frac`:case`\\tfrac`:o=!0;break;case`\\\\atopfrac`:o=!1;break;case`\\dbinom`:case`\\binom`:case`\\tbinom`:o=!1,s=`(`,c=`)`;break;case`\\\\bracefrac`:o=!1,s=`\\{`,c=`\\}`;break;case`\\\\brackfrac`:o=!1,s=`[`,c=`]`;break;default:throw Error(`Unrecognized genfrac command`)}var l=r===`\\cfrac`,u=null;return l||r.startsWith(`\\d`)?u=`display`:r.startsWith(`\\t`)&&(u=`text`),pa({type:`genfrac`,mode:n.mode,numer:i,denom:a,continued:l,hasBarLine:o,leftDelim:s,rightDelim:c,barSize:null},u)},htmlBuilder:da,mathmlBuilder:fa}),K({type:`infix`,names:[`\\over`,`\\choose`,`\\atop`,`\\brace`,`\\brack`],props:{numArgs:0,infix:!0},handler(e){var{parser:t,funcName:n,token:r}=e,i;switch(n){case`\\over`:i=`\\frac`;break;case`\\choose`:i=`\\binom`;break;case`\\atop`:i=`\\\\atopfrac`;break;case`\\brace`:i=`\\\\bracefrac`;break;case`\\brack`:i=`\\\\brackfrac`;break;default:throw Error(`Unrecognized infix genfrac command`)}return{type:`infix`,mode:t.mode,replaceWith:i,token:r}}});var ma=[`display`,`text`,`script`,`scriptscript`],ha=function(e){var t=null;return e.length>0&&(t=e,t=t===`.`?null:t),t};K({type:`genfrac`,names:[`\\genfrac`],props:{numArgs:6,allowedInArgument:!0,argTypes:[`math`,`math`,`size`,`text`,`math`,`math`]},handler(e,t){var{parser:n}=e,r=t[4],i=t[5],a=Qn(t[0]),o=a.type===`atom`&&a.family===`open`?ha(a.text):null,s=Qn(t[1]),c=s.type===`atom`&&s.family===`close`?ha(s.text):null,l=X(t[2],`size`),u,d=null;l.isBlank?u=!0:(d=l.value,u=d.number>0);var f=null,p=t[3];if(p.type===`ordgroup`){if(p.body.length>0){var m=X(p.body[0],`textord`);f=ma[Number(m.text)]}}else p=X(p,`textord`),f=ma[Number(p.text)];return pa({type:`genfrac`,mode:n.mode,numer:r,denom:i,continued:!1,hasBarLine:u,barSize:d,leftDelim:o,rightDelim:c},f)}}),K({type:`infix`,names:[`\\above`],props:{numArgs:1,argTypes:[`size`],infix:!0},handler(e,t){var{parser:n,funcName:r,token:i}=e;return{type:`infix`,mode:n.mode,replaceWith:`\\\\abovefrac`,size:X(t[0],`size`).value,token:i}}}),K({type:`genfrac`,names:[`\\\\abovefrac`],props:{numArgs:3,argTypes:[`math`,`size`,`math`]},handler:(e,t)=>{var{parser:n,funcName:r}=e,i=t[0],a=X(t[1],`infix`).size;if(!a)throw Error(`\\\\abovefrac expected size, but got `+String(a));var o=t[2],s=a.number>0;return{type:`genfrac`,mode:n.mode,numer:i,denom:o,continued:!1,hasBarLine:s,barSize:a,leftDelim:null,rightDelim:null}}});var ga=(e,t)=>{var n=t.style,r,i;e.type===`supsub`?(r=e.sup?q(e.sup,t.havingStyle(n.sup()),t):q(e.sub,t.havingStyle(n.sub()),t),i=X(e.base,`horizBrace`)):i=X(e,`horizBrace`);var a=q(i.base,t.havingBaseStyle(M.DISPLAY)),o=Lr(i,t),s=i.isOver?G({positionType:`firstBaseline`,children:[{type:`elem`,elem:a},{type:`kern`,size:.1},{type:`elem`,elem:o,wrapperClasses:[`svg-align`]}]}):G({positionType:`bottom`,positionData:a.depth+.1+o.height,children:[{type:`elem`,elem:o,wrapperClasses:[`svg-align`]},{type:`kern`,size:.1},{type:`elem`,elem:a}]});if(r){var c=W([`minner`,i.isOver?`mover`:`munder`],[s],t);s=i.isOver?G({positionType:`firstBaseline`,children:[{type:`elem`,elem:c},{type:`kern`,size:.2},{type:`elem`,elem:r}]}):G({positionType:`bottom`,positionData:c.depth+.2+r.height+r.depth,children:[{type:`elem`,elem:r},{type:`kern`,size:.2},{type:`elem`,elem:c}]})}return W([`minner`,i.isOver?`mover`:`munder`],[s],t)};K({type:`horizBrace`,names:[`\\overbrace`,`\\underbrace`,`\\overbracket`,`\\underbracket`],props:{numArgs:1},handler(e,t){var{parser:n,funcName:r}=e;return{type:`horizBrace`,mode:n.mode,label:r,isOver:r.includes(`\\over`),base:t[0]}},htmlBuilder:ga,mathmlBuilder:(e,t)=>{var n=Pr(e.label);return new J(e.isOver?`mover`:`munder`,[Y(e.base,t),n])}}),K({type:`href`,names:[`\\href`],props:{numArgs:2,argTypes:[`url`,`original`],allowedInText:!0},handler:(e,t)=>{var{parser:n}=e,r=t[1],i=X(t[0],`url`).url;return n.settings.isTrusted({command:`\\href`,url:i})?{type:`href`,mode:n.mode,href:i,body:$n(r)}:n.formatUnsupportedCmd(`\\href`)},htmlBuilder:(e,t)=>{var n=ir(e.body,t,!1);return Pn(e.href,[],n,t)},mathmlBuilder:(e,t)=>{var n=Cr(e.body,t);return n instanceof J||(n=new J(`mrow`,[n])),n.setAttribute(`href`,e.href),n}}),K({type:`href`,names:[`\\url`],props:{numArgs:1,argTypes:[`url`],allowedInText:!0},handler:(e,t)=>{var{parser:n}=e,r=X(t[0],`url`).url;if(!n.settings.isTrusted({command:`\\url`,url:r}))return n.formatUnsupportedCmd(`\\url`);for(var i=[],a=0;a<r.length;a++){var o=r[a];o===`~`&&(o=`\\textasciitilde`),i.push({type:`textord`,mode:`text`,text:o})}var s={type:`text`,mode:n.mode,font:`\\texttt`,body:i};return{type:`href`,mode:n.mode,href:r,body:$n(s)}}}),K({type:`hbox`,names:[`\\hbox`],props:{numArgs:1,argTypes:[`text`],allowedInText:!0,primitive:!0},handler(e,t){var{parser:n}=e;return{type:`hbox`,mode:n.mode,body:$n(t[0])}},htmlBuilder(e,t){return Fn(ir(e.body,t.withFont(``),!1))},mathmlBuilder(e,t){return new J(`mrow`,Sr(e.body,t.withFont(``)))}}),K({type:`html`,names:[`\\htmlClass`,`\\htmlId`,`\\htmlStyle`,`\\htmlData`],props:{numArgs:2,argTypes:[`raw`,`original`],allowedInText:!0},handler:(e,t)=>{var{parser:n,funcName:r,token:i}=e,a=X(t[0],`raw`).string,o=t[1];n.settings.strict&&n.settings.reportNonstrict(`htmlExtension`,`HTML extension is disabled on strict mode`);var s,c={};switch(r){case`\\htmlClass`:c.class=a,s={command:`\\htmlClass`,class:a};break;case`\\htmlId`:c.id=a,s={command:`\\htmlId`,id:a};break;case`\\htmlStyle`:c.style=a,s={command:`\\htmlStyle`,style:a};break;case`\\htmlData`:for(var l=a.split(`,`),u=0;u<l.length;u++){var d=l[u],f=d.indexOf(`=`);if(f<0)throw new O(`\\htmlData key/value '`+d+`' missing equals sign`);var p=d.slice(0,f),m=d.slice(f+1);c[`data-`+p.trim()]=m}s={command:`\\htmlData`,attributes:c};break;default:throw Error(`Unrecognized html command`)}return n.settings.isTrusted(s)?{type:`html`,mode:n.mode,attributes:c,body:$n(o)}:n.formatUnsupportedCmd(r)},htmlBuilder:(e,t)=>{var n=ir(e.body,t,!1),r=[`enclosing`];e.attributes.class&&r.push(...e.attributes.class.trim().split(/\s+/));var i=W(r,n,t);for(var a in e.attributes)a!==`class`&&e.attributes.hasOwnProperty(a)&&i.setAttribute(a,e.attributes[a]);return i},mathmlBuilder:(e,t)=>Cr(e.body,t)}),K({type:`htmlmathml`,names:[`\\html@mathml`],props:{numArgs:2,allowedInArgument:!0,allowedInText:!0},handler:(e,t)=>{var{parser:n}=e;return{type:`htmlmathml`,mode:n.mode,html:$n(t[0]),mathml:$n(t[1])}},htmlBuilder:(e,t)=>Fn(ir(e.html,t,!1)),mathmlBuilder:(e,t)=>Cr(e.mathml,t)});var _a=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:`bp`};var t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new O(`Invalid size: '`+e+`' in \\includegraphics`);var n={number:+(t[1]+t[2]),unit:t[3]};if(!dt(n))throw new O(`Invalid unit: '`+n.unit+`' in \\includegraphics.`);return n};K({type:`includegraphics`,names:[`\\includegraphics`],props:{numArgs:1,numOptionalArgs:1,argTypes:[`raw`,`url`],allowedInText:!1},handler:(e,t,n)=>{var{parser:r}=e,i={number:0,unit:`em`},a={number:.9,unit:`em`},o={number:0,unit:`em`},s=``;if(n[0])for(var c=X(n[0],`raw`).string.split(`,`),l=0;l<c.length;l++){var u=c[l].split(`=`);if(u.length===2){var d=u[1].trim();switch(u[0].trim()){case`alt`:s=d;break;case`width`:i=_a(d);break;case`height`:a=_a(d);break;case`totalheight`:o=_a(d);break;default:throw new O(`Invalid key: '`+u[0]+`' in \\includegraphics.`)}}}var f=X(t[0],`url`).url;return s===``&&(s=f,s=s.replace(/^.*[\\/]/,``),s=s.substring(0,s.lastIndexOf(`.`))),r.settings.isTrusted({command:`\\includegraphics`,url:f})?{type:`includegraphics`,mode:r.mode,alt:s,width:i,height:a,totalheight:o,src:f}:r.formatUnsupportedCmd(`\\includegraphics`)},htmlBuilder:(e,t)=>{var n=ft(e.height,t),r=0;e.totalheight.number>0&&(r=ft(e.totalheight,t)-n);var i=0;e.width.number>0&&(i=ft(e.width,t));var a={height:N(n+r)};i>0&&(a.width=N(i)),r>0&&(a.verticalAlign=N(-r));var o=new xt(e.src,e.alt,a);return o.height=n,o.depth=r,o},mathmlBuilder:(e,t)=>{var n=new J(`mglyph`,[]);n.setAttribute(`alt`,e.alt);var r=ft(e.height,t),i=0;if(e.totalheight.number>0&&(i=ft(e.totalheight,t)-r,n.setAttribute(`valign`,N(-i))),n.setAttribute(`height`,N(r+i)),e.width.number>0){var a=ft(e.width,t);n.setAttribute(`width`,N(a))}return n.setAttribute(`src`,e.src),n}}),K({type:`kern`,names:[`\\kern`,`\\mkern`,`\\hskip`,`\\mskip`],props:{numArgs:1,argTypes:[`size`],primitive:!0,allowedInText:!0},handler(e,t){var{parser:n,funcName:r}=e,i=X(t[0],`size`);if(n.settings.strict){var a=r[1]===`m`,o=i.value.unit===`mu`;a?(o||n.settings.reportNonstrict(`mathVsTextUnits`,`LaTeX's `+r+` supports only mu units, `+(`not `+i.value.unit+` units`)),n.mode!==`math`&&n.settings.reportNonstrict(`mathVsTextUnits`,`LaTeX's `+r+` works only in math mode`)):o&&n.settings.reportNonstrict(`mathVsTextUnits`,`LaTeX's `+r+` doesn't support mu units`)}return{type:`kern`,mode:n.mode,dimension:i.value}},htmlBuilder(e,t){return Rn(e.dimension,t)},mathmlBuilder(e,t){return new mr(ft(e.dimension,t))}}),K({type:`lap`,names:[`\\mathllap`,`\\mathrlap`,`\\mathclap`],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:n,funcName:r}=e,i=t[0];return{type:`lap`,mode:n.mode,alignment:r.slice(5),body:i}},htmlBuilder:(e,t)=>{var n;e.alignment===`clap`?(n=W([],[q(e.body,t)]),n=W([`inner`],[n],t)):n=W([`inner`],[q(e.body,t)]);var r=W([`fix`],[]),i=W([e.alignment],[n,r],t),a=W([`strut`]);return a.style.height=N(i.height+i.depth),i.depth&&(a.style.verticalAlign=N(-i.depth)),i.children.unshift(a),i=W([`thinbox`],[i],t),W([`mord`,`vbox`],[i],t)},mathmlBuilder:(e,t)=>{var n=new J(`mpadded`,[Y(e.body,t)]);if(e.alignment!==`rlap`){var r=e.alignment===`llap`?`-1`:`-0.5`;n.setAttribute(`lspace`,r+`width`)}return n.setAttribute(`width`,`0px`),n}}),K({type:`styling`,names:[`\\(`,`$`],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){var{funcName:n,parser:r}=e,i=r.mode;r.switchMode(`math`);var a=n===`\\(`?`\\)`:`$`,o=r.parseExpression(!1,a);return r.expect(a),r.switchMode(i),{type:`styling`,mode:r.mode,style:`text`,resetFont:!0,body:o}}}),K({type:`text`,names:[`\\)`,`\\]`],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){throw new O(`Mismatched `+e.funcName)}});var va=(e,t)=>{switch(t.style.size){case M.DISPLAY.size:return e.display;case M.TEXT.size:return e.text;case M.SCRIPT.size:return e.script;case M.SCRIPTSCRIPT.size:return e.scriptscript;default:return e.text}};K({type:`mathchoice`,names:[`\\mathchoice`],props:{numArgs:4,primitive:!0},handler:(e,t)=>{var{parser:n}=e;return{type:`mathchoice`,mode:n.mode,display:$n(t[0]),text:$n(t[1]),script:$n(t[2]),scriptscript:$n(t[3])}},htmlBuilder:(e,t)=>Fn(ir(va(e,t),t,!1)),mathmlBuilder:(e,t)=>Cr(va(e,t),t)});var ya=(e,t,n,r,i,a,o)=>{e=W([],[e]);var s=n&&xe(n),c,l;if(t){var u=q(t,r.havingStyle(i.sup()),r);l={elem:u,kern:Math.max(r.fontMetrics().bigOpSpacing1,r.fontMetrics().bigOpSpacing3-u.depth)}}if(n){var d=q(n,r.havingStyle(i.sub()),r);c={elem:d,kern:Math.max(r.fontMetrics().bigOpSpacing2,r.fontMetrics().bigOpSpacing4-d.height)}}var f;if(l&&c)f=G({positionType:`bottom`,positionData:r.fontMetrics().bigOpSpacing5+c.elem.height+c.elem.depth+c.kern+e.depth+o,children:[{type:`kern`,size:r.fontMetrics().bigOpSpacing5},{type:`elem`,elem:c.elem,marginLeft:N(-a)},{type:`kern`,size:c.kern},{type:`elem`,elem:e},{type:`kern`,size:l.kern},{type:`elem`,elem:l.elem,marginLeft:N(a)},{type:`kern`,size:r.fontMetrics().bigOpSpacing5}]});else if(c)f=G({positionType:`top`,positionData:e.height-o,children:[{type:`kern`,size:r.fontMetrics().bigOpSpacing5},{type:`elem`,elem:c.elem,marginLeft:N(-a)},{type:`kern`,size:c.kern},{type:`elem`,elem:e}]});else if(l)f=G({positionType:`bottom`,positionData:e.depth+o,children:[{type:`elem`,elem:e},{type:`kern`,size:l.kern},{type:`elem`,elem:l.elem,marginLeft:N(a)},{type:`kern`,size:r.fontMetrics().bigOpSpacing5}]});else return e;var p=[f];if(c&&a!==0&&!s){var m=W([`mspace`],[],r);m.style.marginRight=N(a),p.unshift(m)}return W([`mop`,`op-limits`],p,r)},ba=new Set([`\\smallint`]),xa=(e,t)=>{var n,r,i=!1,a;e.type===`supsub`?(n=e.sup,r=e.sub,a=X(e.base,`op`),i=!0):a=X(e,`op`);var o=t.style,s=!1;o.size===M.DISPLAY.size&&a.symbol&&!ba.has(a.name)&&(s=!0);var c,l;if(a.symbol){var u=s?`Size2-Regular`:`Size1-Regular`,d=``;if((a.name===`\\oiint`||a.name===`\\oiiint`)&&(d=a.name.slice(1),a.name=d===`oiint`?`\\iint`:`\\iiint`),c=Tn(a.name,u,`math`,t,[`mop`,`op-symbol`,s?`large-op`:`small-op`]),l=c.italic,d.length>0){var f=Hn(d+`Size`+(s?`2`:`1`),t);c=G({positionType:`individualShift`,children:[{type:`elem`,elem:c,shift:0},{type:`elem`,elem:f,shift:s?.08:0}]}),a.name=`\\`+d,c.classes.unshift(`mop`),c.italic=l}}else if(a.body){var p=ir(a.body,t,!0);p.length===1&&p[0]instanceof Ct?(c=p[0],c.classes[0]=`mop`):c=W([`mop`],p,t)}else{for(var m=[],h=1;h<a.name.length;h++)m.push(En(a.name[h],a.mode,t));c=W([`mop`],m,t)}var g=0,_=0;return(c instanceof Ct||a.name===`\\oiint`||a.name===`\\oiiint`)&&!a.suppressBaseShift&&(g=(c.height-c.depth)/2-t.fontMetrics().axisHeight,_=c.italic??0),i?ya(c,n,r,t,o,_,g):(g&&(c.style.position=`relative`,c.style.top=N(g)),c)},Sa=(e,t)=>{var n;if(e.symbol)n=new J(`mo`,[_r(e.name,e.mode)]),ba.has(e.name)&&n.setAttribute(`largeop`,`false`);else if(e.body)n=new J(`mo`,Sr(e.body,t));else{n=new J(`mi`,[new pr(e.name.slice(1))]);var r=new J(`mo`,[_r(`⁡`,`text`)]);n=e.parentIsSupSub?new J(`mrow`,[n,r]):fr([n,r])}return n},Ca={"∏":`\\prod`,"∐":`\\coprod`,"∑":`\\sum`,"⋀":`\\bigwedge`,"⋁":`\\bigvee`,"⋂":`\\bigcap`,"⋃":`\\bigcup`,"⨀":`\\bigodot`,"⨁":`\\bigoplus`,"⨂":`\\bigotimes`,"⨄":`\\biguplus`,"⨆":`\\bigsqcup`};K({type:`op`,names:`\\coprod.\\bigvee.\\bigwedge.\\biguplus.\\bigcap.\\bigcup.\\intop.\\prod.\\sum.\\bigotimes.\\bigoplus.\\bigodot.\\bigsqcup.\\smallint.∏.∐.∑.⋀.⋁.⋂.⋃.⨀.⨁.⨂.⨄.⨆`.split(`.`),props:{numArgs:0},handler:(e,t)=>{var{parser:n,funcName:r}=e,i=r;return i.length===1&&(i=Ca[i]),{type:`op`,mode:n.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},htmlBuilder:xa,mathmlBuilder:Sa}),K({type:`op`,names:[`\\mathop`],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var{parser:n}=e,r=t[0];return{type:`op`,mode:n.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:$n(r)}},htmlBuilder:xa,mathmlBuilder:Sa});var wa={"∫":`\\int`,"∬":`\\iint`,"∭":`\\iiint`,"∮":`\\oint`,"∯":`\\oiint`,"∰":`\\oiiint`};K({type:`op`,names:`\\arcsin.\\arccos.\\arctan.\\arctg.\\arcctg.\\arg.\\ch.\\cos.\\cosec.\\cosh.\\cot.\\cotg.\\coth.\\csc.\\ctg.\\cth.\\deg.\\dim.\\exp.\\hom.\\ker.\\lg.\\ln.\\log.\\sec.\\sin.\\sinh.\\sh.\\tan.\\tanh.\\tg.\\th`.split(`.`),props:{numArgs:0},handler(e){var{parser:t,funcName:n}=e;return{type:`op`,mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:n}},htmlBuilder:xa,mathmlBuilder:Sa}),K({type:`op`,names:[`\\det`,`\\gcd`,`\\inf`,`\\lim`,`\\max`,`\\min`,`\\Pr`,`\\sup`],props:{numArgs:0},handler(e){var{parser:t,funcName:n}=e;return{type:`op`,mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:n}},htmlBuilder:xa,mathmlBuilder:Sa}),K({type:`op`,names:[`\\int`,`\\iint`,`\\iiint`,`\\oint`,`\\oiint`,`\\oiiint`,`∫`,`∬`,`∭`,`∮`,`∯`,`∰`],props:{numArgs:0,allowedInArgument:!0},handler(e){var{parser:t,funcName:n}=e,r=n;return r.length===1&&(r=wa[r]),{type:`op`,mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:r}},htmlBuilder:xa,mathmlBuilder:Sa});var Ta=(e,t)=>{var n,r,i=!1,a;e.type===`supsub`?(n=e.sup,r=e.sub,a=X(e.base,`operatorname`),i=!0):a=X(e,`operatorname`);var o;if(a.body.length>0){for(var s=ir(a.body.map(e=>{var t=`text`in e?e.text:void 0;return typeof t==`string`?{type:`textord`,mode:e.mode,text:t}:e}),t.withFont(`mathrm`),!0),c=0;c<s.length;c++){var l=s[c];l instanceof Ct&&(l.text=l.text.replace(/\u2212/,`-`).replace(/\u2217/,`*`))}o=W([`mop`],s,t)}else o=W([`mop`],[],t);return i?ya(o,n,r,t,t.style,0,0):o};K({type:`operatorname`,names:[`\\operatorname@`,`\\operatornamewithlimits`],props:{numArgs:1},handler:(e,t)=>{var{parser:n,funcName:r}=e,i=t[0];return{type:`operatorname`,mode:n.mode,body:$n(i),alwaysHandleSupSub:r===`\\operatornamewithlimits`,limits:!1,parentIsSupSub:!1}},htmlBuilder:Ta,mathmlBuilder:(e,t)=>{for(var n=Sr(e.body,t.withFont(`mathrm`)),r=!0,i=0;i<n.length;i++){var a=n[i];if(!(a instanceof mr))if(a instanceof J)switch(a.type){case`mi`:case`mn`:case`mspace`:case`mtext`:break;case`mo`:var o=a.children[0];a.children.length===1&&o instanceof pr?o.text=o.text.replace(/\u2212/,`-`).replace(/\u2217/,`*`):r=!1;break;default:r=!1}else r=!1}r&&(n=[new pr(n.map(e=>e.toText()).join(``))]);var s=new J(`mi`,n);s.setAttribute(`mathvariant`,`normal`);var c=new J(`mo`,[_r(`⁡`,`text`)]);return e.parentIsSupSub?new J(`mrow`,[s,c]):fr([s,c])}}),Z(`\\operatorname`,`\\@ifstar\\operatornamewithlimits\\operatorname@`),Zn({type:`ordgroup`,htmlBuilder(e,t){return e.semisimple?Fn(ir(e.body,t,!1)):W([`mord`],ir(e.body,t,!0),t)},mathmlBuilder(e,t){return Cr(e.body,t,!0)}}),K({type:`overline`,names:[`\\overline`],props:{numArgs:1},handler(e,t){var{parser:n}=e,r=t[0];return{type:`overline`,mode:n.mode,body:r}},htmlBuilder(e,t){var n=q(e.body,t.havingCrampedStyle()),r=Nn(`overline-line`,t),i=t.fontMetrics().defaultRuleThickness;return W([`mord`,`overline`],[G({positionType:`firstBaseline`,children:[{type:`elem`,elem:n},{type:`kern`,size:3*i},{type:`elem`,elem:r},{type:`kern`,size:i}]})],t)},mathmlBuilder(e,t){var n=new J(`mo`,[new pr(`‾`)]);n.setAttribute(`stretchy`,`true`);var r=new J(`mover`,[Y(e.body,t),n]);return r.setAttribute(`accent`,`true`),r}}),K({type:`phantom`,names:[`\\phantom`],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:n}=e,r=t[0];return{type:`phantom`,mode:n.mode,body:$n(r)}},htmlBuilder:(e,t)=>Fn(ir(e.body,t.withPhantom(),!1)),mathmlBuilder:(e,t)=>new J(`mphantom`,Sr(e.body,t))}),Z(`\\hphantom`,`\\smash{\\phantom{#1}}`),K({type:`vphantom`,names:[`\\vphantom`],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:n}=e,r=t[0];return{type:`vphantom`,mode:n.mode,body:r}},htmlBuilder:(e,t)=>W([`mord`,`rlap`],[W([`inner`],[q(e.body,t.withPhantom())]),W([`fix`],[])],t),mathmlBuilder:(e,t)=>{var n=new J(`mpadded`,[new J(`mphantom`,Sr($n(e.body),t))]);return n.setAttribute(`width`,`0px`),n}}),K({type:`raisebox`,names:[`\\raisebox`],props:{numArgs:2,argTypes:[`size`,`hbox`],allowedInText:!0},handler(e,t){var{parser:n}=e,r=X(t[0],`size`).value,i=t[1];return{type:`raisebox`,mode:n.mode,dy:r,body:i}},htmlBuilder(e,t){var n=q(e.body,t);return G({positionType:`shift`,positionData:-ft(e.dy,t),children:[{type:`elem`,elem:n}]})},mathmlBuilder(e,t){var n=new J(`mpadded`,[Y(e.body,t)]),r=e.dy.number+e.dy.unit;return n.setAttribute(`voffset`,r),n}}),K({type:`internal`,names:[`\\relax`],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(e){var{parser:t}=e;return{type:`internal`,mode:t.mode}}}),K({type:`rule`,names:[`\\rule`],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:[`size`,`size`,`size`]},handler(e,t,n){var{parser:r}=e,i=n[0],a=X(t[0],`size`),o=X(t[1],`size`);return{type:`rule`,mode:r.mode,shift:i&&X(i,`size`).value,width:a.value,height:o.value}},htmlBuilder(e,t){var n=W([`mord`,`rule`],[],t),r=ft(e.width,t),i=ft(e.height,t),a=e.shift?ft(e.shift,t):0;return n.style.borderRightWidth=N(r),n.style.borderTopWidth=N(i),n.style.bottom=N(a),n.width=r,n.height=i+a,n.depth=-a,n.maxFontSize=i*1.125*t.sizeMultiplier,n},mathmlBuilder(e,t){var n=ft(e.width,t),r=ft(e.height,t),i=e.shift?ft(e.shift,t):0,a=t.color&&t.getColor()||`black`,o=new J(`mspace`);o.setAttribute(`mathbackground`,a),o.setAttribute(`width`,N(n)),o.setAttribute(`height`,N(r));var s=new J(`mpadded`,[o]);return i>=0?s.setAttribute(`height`,N(i)):(s.setAttribute(`height`,N(i)),s.setAttribute(`depth`,N(-i))),s.setAttribute(`voffset`,N(i)),s}});function Ea(e,t,n){for(var r=ir(e,t,!1),i=t.sizeMultiplier/n.sizeMultiplier,a=0;a<r.length;a++){var o=r[a].classes.indexOf(`sizing`);o<0?Array.prototype.push.apply(r[a].classes,t.sizingClasses(n)):r[a].classes[o+1]===`reset-size`+t.size&&(r[a].classes[o+1]=`reset-size`+n.size),r[a].height*=i,r[a].depth*=i}return Fn(r)}var Da=[`\\tiny`,`\\sixptsize`,`\\scriptsize`,`\\footnotesize`,`\\small`,`\\normalsize`,`\\large`,`\\Large`,`\\LARGE`,`\\huge`,`\\Huge`];K({type:`sizing`,names:Da,props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{var{breakOnTokenText:n,funcName:r,parser:i}=e,a=i.parseExpression(!1,n);return{type:`sizing`,mode:i.mode,size:Da.indexOf(r)+1,body:a}},htmlBuilder:(e,t)=>{var n=t.havingSize(e.size);return Ea(e.body,n,t)},mathmlBuilder:(e,t)=>{var n=t.havingSize(e.size),r=new J(`mstyle`,Sr(e.body,n));return r.setAttribute(`mathsize`,N(n.sizeMultiplier)),r}}),K({type:`smash`,names:[`\\smash`],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(e,t,n)=>{var{parser:r}=e,i=!1,a=!1,o=n[0]&&X(n[0],`ordgroup`);if(o)for(var s,c=0;c<o.body.length;++c){var l=o.body[c];if(s=Hr(l).text,s===`t`)i=!0;else if(s===`b`)a=!0;else{i=!1,a=!1;break}}else i=!0,a=!0;var u=t[0];return{type:`smash`,mode:r.mode,body:u,smashHeight:i,smashDepth:a}},htmlBuilder:(e,t)=>{var n=W([],[q(e.body,t)]);if(!e.smashHeight&&!e.smashDepth)return n;if(e.smashHeight&&(n.height=0),e.smashDepth&&(n.depth=0),e.smashHeight&&e.smashDepth)return W([`mord`,`smash`],[n],t);if(n.children)for(var r=0;r<n.children.length;r++)e.smashHeight&&(n.children[r].height=0),e.smashDepth&&(n.children[r].depth=0);return W([`mord`],[G({positionType:`firstBaseline`,children:[{type:`elem`,elem:n}]})],t)},mathmlBuilder:(e,t)=>{var n=new J(`mpadded`,[Y(e.body,t)]);return e.smashHeight&&n.setAttribute(`height`,`0px`),e.smashDepth&&n.setAttribute(`depth`,`0px`),n}}),K({type:`sqrt`,names:[`\\sqrt`],props:{numArgs:1,numOptionalArgs:1},handler(e,t,n){var{parser:r}=e,i=n[0],a=t[0];return{type:`sqrt`,mode:r.mode,body:a,index:i}},htmlBuilder(e,t){var n=q(e.body,t.havingCrampedStyle());n.height===0&&(n.height=t.fontMetrics().xHeight),n=In(n,t);var r=t.fontMetrics().defaultRuleThickness,i=r;t.style.id<M.TEXT.id&&(i=t.fontMetrics().xHeight);var a=r+i/4,{span:o,ruleWidth:s,advanceWidth:c}=Ei(n.height+n.depth+a+r,t),l=o.height-s;l>n.height+n.depth+a&&(a=(a+l-n.height-n.depth)/2);var u=o.height-n.height-a-s;n.style.paddingLeft=N(c);var d=G({positionType:`firstBaseline`,children:[{type:`elem`,elem:n,wrapperClasses:[`svg-align`]},{type:`kern`,size:-(n.height+u)},{type:`elem`,elem:o},{type:`kern`,size:s}]});if(e.index){var f=t.havingStyle(M.SCRIPTSCRIPT),p=q(e.index,f,t);return W([`mord`,`sqrt`],[W([`root`],[G({positionType:`shift`,positionData:-(.6*(d.height-d.depth)),children:[{type:`elem`,elem:p}]})]),d],t)}else return W([`mord`,`sqrt`],[d],t)},mathmlBuilder(e,t){var{body:n,index:r}=e;return r?new J(`mroot`,[Y(n,t),Y(r,t)]):new J(`msqrt`,[Y(n,t)])}});var Oa={display:M.DISPLAY,text:M.TEXT,script:M.SCRIPT,scriptscript:M.SCRIPTSCRIPT};function ka(e){return e in Oa}K({type:`styling`,names:[`\\displaystyle`,`\\textstyle`,`\\scriptstyle`,`\\scriptscriptstyle`],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e,t){var{breakOnTokenText:n,funcName:r,parser:i}=e,a=i.parseExpression(!0,n),o=r.slice(1,r.length-5);if(!ka(o))throw Error(`Unknown style: `+o);return{type:`styling`,mode:i.mode,style:o,body:a}},htmlBuilder(e,t){var n=Oa[e.style],r=t.havingStyle(n);return e.resetFont&&(r=r.withFont(``)),Ea(e.body,r,t)},mathmlBuilder(e,t){var n=Oa[e.style],r=t.havingStyle(n);e.resetFont&&(r=r.withFont(``));var i=new J(`mstyle`,Sr(e.body,r)),a={display:[`0`,`true`],text:[`0`,`false`],script:[`1`,`false`],scriptscript:[`2`,`false`]}[e.style];return i.setAttribute(`scriptlevel`,a[0]),i.setAttribute(`displaystyle`,a[1]),i}});var Aa=function(e,t){var n=e.base;return n?n.type===`op`?n.limits&&(t.style.size===M.DISPLAY.size||n.alwaysHandleSupSub)?xa:null:n.type===`operatorname`?n.alwaysHandleSupSub&&(t.style.size===M.DISPLAY.size||n.limits)?Ta:null:n.type===`accent`?xe(n.base)?Gr:null:n.type===`horizBrace`&&!e.sub===n.isOver?ga:null:null};Zn({type:`supsub`,htmlBuilder(e,t){var n=Aa(e,t);if(n)return n(e,t);var{base:r,sup:i,sub:a}=e,o=q(r,t),s,c,l=t.fontMetrics(),u=0,d=0,f=r&&xe(r);if(i){var p=t.havingStyle(t.style.sup());s=q(i,p,t),f||(u=o.height-p.fontMetrics().supDrop*p.sizeMultiplier/t.sizeMultiplier)}if(a){var m=t.havingStyle(t.style.sub());c=q(a,m,t),f||(d=o.depth+m.fontMetrics().subDrop*m.sizeMultiplier/t.sizeMultiplier)}var h=t.style===M.DISPLAY?l.sup1:t.style.cramped?l.sup3:l.sup2,g=t.sizeMultiplier,_=N(.5/l.ptPerEm/g),v=null;if(c){var y=e.base&&e.base.type===`op`&&e.base.name&&(e.base.name===`\\oiint`||e.base.name===`\\oiiint`);(o instanceof Ct||y)&&(v=N(-(o.italic??0)))}var b;if(s&&c){u=Math.max(u,h,s.depth+.25*l.xHeight),d=Math.max(d,l.sub2);var x=4*l.defaultRuleThickness;if(u-s.depth-(c.height-d)<x){d=x-(u-s.depth)+c.height;var S=.8*l.xHeight-(u-s.depth);S>0&&(u+=S,d-=S)}b=G({positionType:`individualShift`,children:[{type:`elem`,elem:c,shift:d,marginRight:_,marginLeft:v},{type:`elem`,elem:s,shift:-u,marginRight:_}]})}else if(c)d=Math.max(d,l.sub1,c.height-.8*l.xHeight),b=G({positionType:`shift`,positionData:d,children:[{type:`elem`,elem:c,marginLeft:v,marginRight:_}]});else if(s)u=Math.max(u,h,s.depth+.25*l.xHeight),b=G({positionType:`shift`,positionData:-u,children:[{type:`elem`,elem:s,marginRight:_}]});else throw Error(`supsub must have either sup or sub.`);return W([cr(o,`right`)||`mord`],[o,W([`msupsub`],[b])],t)},mathmlBuilder(e,t){var n=!1,r,i;e.base&&e.base.type===`horizBrace`&&(i=!!e.sup,i===e.base.isOver&&(n=!0,r=e.base.isOver)),e.base&&(e.base.type===`op`||e.base.type===`operatorname`)&&(e.base.parentIsSupSub=!0);var a=[Y(e.base,t)];e.sub&&a.push(Y(e.sub,t)),e.sup&&a.push(Y(e.sup,t));var o;if(n)o=r?`mover`:`munder`;else if(!e.sub){var s=e.base;o=s&&s.type===`op`&&s.limits&&(t.style===M.DISPLAY||s.alwaysHandleSupSub)||s&&s.type===`operatorname`&&s.alwaysHandleSupSub&&(s.limits||t.style===M.DISPLAY)?`mover`:`msup`}else if(e.sup){var c=e.base;o=c&&c.type===`op`&&c.limits&&t.style===M.DISPLAY||c&&c.type===`operatorname`&&c.alwaysHandleSupSub&&(t.style===M.DISPLAY||c.limits)?`munderover`:`msubsup`}else{var l=e.base;o=l&&l.type===`op`&&l.limits&&(t.style===M.DISPLAY||l.alwaysHandleSupSub)||l&&l.type===`operatorname`&&l.alwaysHandleSupSub&&(l.limits||t.style===M.DISPLAY)?`munder`:`msub`}return new J(o,a)}}),Zn({type:`atom`,htmlBuilder(e,t){return En(e.text,e.mode,t,[`m`+e.family])},mathmlBuilder(e,t){var n=new J(`mo`,[_r(e.text,e.mode)]);if(e.family===`bin`){var r=br(e,t);r===`bold-italic`&&n.setAttribute(`mathvariant`,r)}else e.family===`punct`?n.setAttribute(`separator`,`true`):(e.family===`open`||e.family===`close`)&&n.setAttribute(`stretchy`,`false`);return n}});var ja={mi:`italic`,mn:`normal`,mtext:`normal`};Zn({type:`mathord`,htmlBuilder(e,t){return On(e,t,`mathord`)},mathmlBuilder(e,t){var n=new J(`mi`,[_r(e.text,e.mode,t)]),r=br(e,t)||`italic`;return r!==ja[n.type]&&n.setAttribute(`mathvariant`,r),n}}),Zn({type:`textord`,htmlBuilder(e,t){return On(e,t,`textord`)},mathmlBuilder(e,t){var n=_r(e.text,e.mode,t),r=br(e,t)||`normal`,i=e.mode===`text`?new J(`mtext`,[n]):/[0-9]/.test(e.text)?new J(`mn`,[n]):e.text===`\\prime`?new J(`mo`,[n]):new J(`mi`,[n]);return r!==ja[i.type]&&i.setAttribute(`mathvariant`,r),i}});var Ma={"\\nobreak":`nobreak`,"\\allowbreak":`allowbreak`},Na={" ":{},"\\ ":{},"~":{className:`nobreak`},"\\space":{},"\\nobreakspace":{className:`nobreak`}};Zn({type:`spacing`,htmlBuilder(e,t){if(Na.hasOwnProperty(e.text)){var n=Na[e.text].className||``;if(e.mode===`text`){var r=On(e,t,`textord`);return r.classes.push(n),r}else return W([`mspace`,n],[En(e.text,e.mode,t)],t)}else if(Ma.hasOwnProperty(e.text))return W([`mspace`,Ma[e.text]],[],t);else throw new O(`Unknown type of space "`+e.text+`"`)},mathmlBuilder(e,t){var n;if(Na.hasOwnProperty(e.text))n=new J(`mtext`,[new pr(`\xA0`)]);else if(Ma.hasOwnProperty(e.text))return new J(`mspace`);else throw new O(`Unknown type of space "`+e.text+`"`);return n}});var Pa=()=>{var e=new J(`mtd`,[]);return e.setAttribute(`width`,`50%`),e};Zn({type:`tag`,mathmlBuilder(e,t){var n=new J(`mtable`,[new J(`mtr`,[Pa(),new J(`mtd`,[Cr(e.body,t)]),Pa(),new J(`mtd`,[Cr(e.tag,t)])])]);return n.setAttribute(`width`,`100%`),n}});var Fa={"\\text":void 0,"\\textrm":`textrm`,"\\textsf":`textsf`,"\\texttt":`texttt`,"\\textnormal":`textrm`},Ia={"\\textbf":`textbf`,"\\textmd":`textmd`},La={"\\textit":`textit`,"\\textup":`textup`},Ra=(e,t)=>{var n=e.font;return n?Fa[n]?t.withTextFontFamily(Fa[n]):Ia[n]?t.withTextFontWeight(Ia[n]):n===`\\emph`?t.fontShape===`textit`?t.withTextFontShape(`textup`):t.withTextFontShape(`textit`):t.withTextFontShape(La[n]):t};K({type:`text`,names:[`\\text`,`\\textrm`,`\\textsf`,`\\texttt`,`\\textnormal`,`\\textbf`,`\\textmd`,`\\textit`,`\\textup`,`\\emph`],props:{numArgs:1,argTypes:[`text`],allowedInArgument:!0,allowedInText:!0},handler(e,t){var{parser:n,funcName:r}=e,i=t[0];return{type:`text`,mode:n.mode,body:$n(i),font:r}},htmlBuilder(e,t){var n=Ra(e,t);return W([`mord`,`text`],ir(e.body,n,!0),n)},mathmlBuilder(e,t){var n=Ra(e,t);return Cr(e.body,n)}}),K({type:`underline`,names:[`\\underline`],props:{numArgs:1,allowedInText:!0},handler(e,t){var{parser:n}=e;return{type:`underline`,mode:n.mode,body:t[0]}},htmlBuilder(e,t){var n=q(e.body,t),r=Nn(`underline-line`,t),i=t.fontMetrics().defaultRuleThickness;return W([`mord`,`underline`],[G({positionType:`top`,positionData:n.height,children:[{type:`kern`,size:i},{type:`elem`,elem:r},{type:`kern`,size:3*i},{type:`elem`,elem:n}]})],t)},mathmlBuilder(e,t){var n=new J(`mo`,[new pr(`‾`)]);n.setAttribute(`stretchy`,`true`);var r=new J(`munder`,[Y(e.body,t),n]);return r.setAttribute(`accentunder`,`true`),r}}),K({type:`vcenter`,names:[`\\vcenter`],props:{numArgs:1,argTypes:[`original`],allowedInText:!1},handler(e,t){var{parser:n}=e;return{type:`vcenter`,mode:n.mode,body:t[0]}},htmlBuilder(e,t){var n=q(e.body,t),r=t.fontMetrics().axisHeight;return G({positionType:`shift`,positionData:.5*(n.height-r-(n.depth+r)),children:[{type:`elem`,elem:n}]})},mathmlBuilder(e,t){return new J(`mrow`,[new J(`mpadded`,[Y(e.body,t)],[`vcenter`])])}}),K({type:`verb`,names:[`\\verb`],props:{numArgs:0,allowedInText:!0},handler(e,t,n){throw new O(`\\verb ended by end of line instead of matching delimiter`)},htmlBuilder(e,t){for(var n=za(e),r=[],i=t.havingStyle(t.style.text()),a=0;a<n.length;a++){var o=n[a];o===`~`&&(o=`\\textasciitilde`),r.push(Tn(o,`Typewriter-Regular`,e.mode,i,[`mord`,`texttt`]))}return W([`mord`,`text`].concat(i.sizingClasses(t)),An(r),i)},mathmlBuilder(e,t){var n=new J(`mtext`,[new pr(za(e))]);return n.setAttribute(`mathvariant`,`monospace`),n}});var za=e=>e.body.replace(/ /g,e.star?`␣`:`\xA0`),Ba=Jn,Va=`[ \r
253
- ]`,Ha=`\\\\[a-zA-Z@]+`,Ua=`\\\\[^\ud800-\udfff]`,Wa=`(`+Ha+`)`+Va+`*`,Ga=`\\\\(
251
+ -470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw Error(`Unknown stretchy delimiter.`)}};function ft(e){return`toText`in e}var pt=class{constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),t=0;t<this.children.length;t++)e.appendChild(this.children[t].toNode());return e}toMarkup(){for(var e=``,t=0;t<this.children.length;t++)e+=this.children[t].toMarkup();return e}toText(){return this.children.map(e=>{if(ft(e))return e.toText();throw Error(`Expected MathDomNode with toText, got `+e.constructor.name)}).join(``)}},mt={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},ht={ex:!0,em:!0,mu:!0},gt=function(e){return typeof e!=`string`&&(e=e.unit),e in mt||e in ht||e===`ex`},_t=function(e,t){var n;if(e.unit in mt)n=mt[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if(e.unit===`mu`)n=t.fontMetrics().cssEmPerMu;else{var r=t.style.isTight()?t.havingStyle(t.style.text()):t;if(e.unit===`ex`)n=r.fontMetrics().xHeight;else if(e.unit===`em`)n=r.fontMetrics().quad;else throw new A(`Invalid unit: '`+e.unit+`'`);r!==t&&(n*=r.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*n,t.maxSize)},M=function(e){return+e.toFixed(4)+`em`},vt=function(e){return e.filter(e=>e).join(` `)},yt=function(e){var t=``;for(var n of Object.keys(e)){var r=e[n];r!==void 0&&(t+=be(n)+`:`+r+`;`)}return t},bt=function(e,t,n){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},t){t.style.isTight()&&this.classes.push(`mtight`);var r=t.getColor();r&&(this.style.color=r)}},xt=function(e){var t=document.createElement(e);t.className=vt(this.classes),Object.assign(t.style,this.style);for(var n of Object.keys(this.attributes))t.setAttribute(n,this.attributes[n]);for(var r=0;r<this.children.length;r++)t.appendChild(this.children[r].toNode());return t},St=/[\s"'>/=\x00-\x1f]/,Ct=function(e){var t=`<`+e;this.classes.length&&(t+=` class="`+Ce(vt(this.classes))+`"`);var n=yt(this.style);n&&(t+=` style="`+Ce(n)+`"`);for(var r of Object.keys(this.attributes)){if(St.test(r))throw new A(`Invalid attribute name '`+r+`'`);t+=` `+r+`="`+Ce(this.attributes[r])+`"`}t+=`>`;for(var i=0;i<this.children.length;i++)t+=this.children[i].toMarkup();return t+=`</`+e+`>`,t},wt=class{constructor(e,t,n,r){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,this.italic=void 0,bt.call(this,e,n,r),this.children=t||[]}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return xt.call(this,`span`)}toMarkup(){return Ct.call(this,`span`)}},Tt=class{constructor(e,t,n,r){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,bt.call(this,t,r),this.children=n||[],this.setAttribute(`href`,e)}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return xt.call(this,`a`)}toMarkup(){return Ct.call(this,`a`)}},Et=class{constructor(e,t,n){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=t,this.src=e,this.classes=[`mord`],this.height=0,this.depth=0,this.maxFontSize=0,this.style=n}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement(`img`);return e.src=this.src,e.alt=this.alt,e.className=`mord`,Object.assign(e.style,this.style),e}toMarkup(){var e=`<img src="`+Ce(this.src)+`"`+(` alt="`+Ce(this.alt)+`"`),t=yt(this.style);return t&&(e+=` style="`+Ce(t)+`"`),e+=`'/>`,e}},Dt={î:`ı̂`,ï:`ı̈`,í:`ı́`,ì:`ı̀`},Ot=class{constructor(e,t,n,r,i,a,o,s){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=e,this.height=t||0,this.depth=n||0,this.italic=r||0,this.skew=i||0,this.width=a||0,this.classes=o||[],this.style=s||{},this.maxFontSize=0;var c=Xe(this.text.charCodeAt(0));c&&this.classes.push(c+`_fallback`),/[îïíì]/.test(this.text)&&(this.text=Dt[this.text])}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createTextNode(this.text),t=null;return this.italic>0&&(t=document.createElement(`span`),t.style.marginRight=M(this.italic)),this.classes.length>0&&(t||=document.createElement(`span`),t.className=vt(this.classes)),Object.keys(this.style).length>0&&(t||=document.createElement(`span`),Object.assign(t.style,this.style)),t?(t.appendChild(e),t):e}toMarkup(){var e=!1,t=`<span`;this.classes.length&&(e=!0,t+=` class="`,t+=Ce(vt(this.classes)),t+=`"`);var n=``;this.italic>0&&(n+=`margin-right:`+M(this.italic)+`;`),n+=yt(this.style),n&&(e=!0,t+=` style="`+Ce(n)+`"`);var r=Ce(this.text);return e?(t+=`>`,t+=r,t+=`</span>`,t):r}},kt=class{constructor(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}toNode(){var e=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);for(var t of Object.keys(this.attributes))e.setAttribute(t,this.attributes[t]);for(var n=0;n<this.children.length;n++)e.appendChild(this.children[n].toNode());return e}toMarkup(){var e=`<svg xmlns="http://www.w3.org/2000/svg"`;for(var t of Object.keys(this.attributes))e+=` `+t+`="`+Ce(this.attributes[t])+`"`;e+=`>`;for(var n=0;n<this.children.length;n++)e+=this.children[n].toMarkup();return e+=`</svg>`,e}},At=class{constructor(e,t){this.pathName=void 0,this.alternate=void 0,this.pathName=e,this.alternate=t}toNode(){var e=document.createElementNS(`http://www.w3.org/2000/svg`,`path`);return this.alternate?e.setAttribute(`d`,this.alternate):e.setAttribute(`d`,ut[this.pathName]),e}toMarkup(){return this.alternate?`<path d="`+Ce(this.alternate)+`"/>`:`<path d="`+Ce(ut[this.pathName])+`"/>`}},jt=class{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e=document.createElementNS(`http://www.w3.org/2000/svg`,`line`);for(var t of Object.keys(this.attributes))e.setAttribute(t,this.attributes[t]);return e}toMarkup(){var e=`<line`;for(var t of Object.keys(this.attributes))e+=` `+t+`="`+Ce(this.attributes[t])+`"`;return e+=`/>`,e}};function Mt(e){if(e instanceof Ot)return e;throw Error(`Expected symbolNode but got `+String(e)+`.`)}function Nt(e){if(e instanceof wt)return e;throw Error(`Expected span<HtmlDomNode> but got `+String(e)+`.`)}var Pt=e=>e instanceof wt||e instanceof Tt||e instanceof pt,Ft={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},It={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},Lt={Å:`A`,Ð:`D`,Þ:`o`,å:`a`,ð:`d`,þ:`o`,А:`A`,Б:`B`,В:`B`,Г:`F`,Д:`A`,Е:`E`,Ж:`K`,З:`3`,И:`N`,Й:`N`,К:`K`,Л:`N`,М:`M`,Н:`H`,О:`O`,П:`N`,Р:`P`,С:`C`,Т:`T`,У:`y`,Ф:`O`,Х:`X`,Ц:`U`,Ч:`h`,Ш:`W`,Щ:`W`,Ъ:`B`,Ы:`X`,Ь:`B`,Э:`3`,Ю:`X`,Я:`R`,а:`a`,б:`b`,в:`a`,г:`r`,д:`y`,е:`e`,ж:`m`,з:`e`,и:`n`,й:`n`,к:`n`,л:`n`,м:`m`,н:`n`,о:`o`,п:`n`,р:`p`,с:`c`,т:`o`,у:`y`,ф:`b`,х:`x`,ц:`n`,ч:`n`,ш:`w`,щ:`w`,ъ:`a`,ы:`m`,ь:`a`,э:`e`,ю:`m`,я:`r`};function Rt(e,t){Ft[e]=t}function zt(e,t,n){if(!Ft[t])throw Error(`Font metrics not found for font: `+t+`.`);var r=e.charCodeAt(0),i=Ft[t][r];if(!i&&e[0]in Lt&&(r=Lt[e[0]].charCodeAt(0),i=Ft[t][r]),!i&&n===`text`&&Qe(r)&&(i=Ft[t][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}var Bt={};function Vt(e){var t=e>=5?0:e>=3?1:2;if(!Bt[t]){var n=Bt[t]={cssEmPerMu:It.quad[t]/18};for(var r in It)It.hasOwnProperty(r)&&(n[r]=It[r][t])}return Bt[t]}var Ht={math:{},text:{}};function N(e,t,n,r,i,a){Ht[e][i]={font:t,group:n,replace:r},a&&r&&(Ht[e][r]=Ht[e][i])}var P=`math`,F=`text`,I=`main`,L=`ams`,R=`accent-token`,z=`bin`,Ut=`close`,Wt=`inner`,B=`mathord`,Gt=`op-token`,Kt=`open`,qt=`punct`,V=`rel`,Jt=`spacing`,H=`textord`;N(P,I,V,`≡`,`\\equiv`,!0),N(P,I,V,`≺`,`\\prec`,!0),N(P,I,V,`≻`,`\\succ`,!0),N(P,I,V,`∼`,`\\sim`,!0),N(P,I,V,`⊥`,`\\perp`),N(P,I,V,`⪯`,`\\preceq`,!0),N(P,I,V,`⪰`,`\\succeq`,!0),N(P,I,V,`≃`,`\\simeq`,!0),N(P,I,V,`∣`,`\\mid`,!0),N(P,I,V,`≪`,`\\ll`,!0),N(P,I,V,`≫`,`\\gg`,!0),N(P,I,V,`≍`,`\\asymp`,!0),N(P,I,V,`∥`,`\\parallel`),N(P,I,V,`⋈`,`\\bowtie`,!0),N(P,I,V,`⌣`,`\\smile`,!0),N(P,I,V,`⊑`,`\\sqsubseteq`,!0),N(P,I,V,`⊒`,`\\sqsupseteq`,!0),N(P,I,V,`≐`,`\\doteq`,!0),N(P,I,V,`⌢`,`\\frown`,!0),N(P,I,V,`∋`,`\\ni`,!0),N(P,I,V,`∝`,`\\propto`,!0),N(P,I,V,`⊢`,`\\vdash`,!0),N(P,I,V,`⊣`,`\\dashv`,!0),N(P,I,V,`∋`,`\\owns`),N(P,I,qt,`.`,`\\ldotp`),N(P,I,qt,`⋅`,`\\cdotp`),N(P,I,qt,`⋅`,`·`),N(F,I,H,`⋅`,`·`),N(P,I,H,`#`,`\\#`),N(F,I,H,`#`,`\\#`),N(P,I,H,`&`,`\\&`),N(F,I,H,`&`,`\\&`),N(P,I,H,`ℵ`,`\\aleph`,!0),N(P,I,H,`∀`,`\\forall`,!0),N(P,I,H,`ℏ`,`\\hbar`,!0),N(P,I,H,`∃`,`\\exists`,!0),N(P,I,H,`∇`,`\\nabla`,!0),N(P,I,H,`♭`,`\\flat`,!0),N(P,I,H,`ℓ`,`\\ell`,!0),N(P,I,H,`♮`,`\\natural`,!0),N(P,I,H,`♣`,`\\clubsuit`,!0),N(P,I,H,`℘`,`\\wp`,!0),N(P,I,H,`♯`,`\\sharp`,!0),N(P,I,H,`♢`,`\\diamondsuit`,!0),N(P,I,H,`ℜ`,`\\Re`,!0),N(P,I,H,`♡`,`\\heartsuit`,!0),N(P,I,H,`ℑ`,`\\Im`,!0),N(P,I,H,`♠`,`\\spadesuit`,!0),N(P,I,H,`§`,`\\S`,!0),N(F,I,H,`§`,`\\S`),N(P,I,H,`¶`,`\\P`,!0),N(F,I,H,`¶`,`\\P`),N(P,I,H,`†`,`\\dag`),N(F,I,H,`†`,`\\dag`),N(F,I,H,`†`,`\\textdagger`),N(P,I,H,`‡`,`\\ddag`),N(F,I,H,`‡`,`\\ddag`),N(F,I,H,`‡`,`\\textdaggerdbl`),N(P,I,Ut,`⎱`,`\\rmoustache`,!0),N(P,I,Kt,`⎰`,`\\lmoustache`,!0),N(P,I,Ut,`⟯`,`\\rgroup`,!0),N(P,I,Kt,`⟮`,`\\lgroup`,!0),N(P,I,z,`∓`,`\\mp`,!0),N(P,I,z,`⊖`,`\\ominus`,!0),N(P,I,z,`⊎`,`\\uplus`,!0),N(P,I,z,`⊓`,`\\sqcap`,!0),N(P,I,z,`∗`,`\\ast`),N(P,I,z,`⊔`,`\\sqcup`,!0),N(P,I,z,`◯`,`\\bigcirc`,!0),N(P,I,z,`∙`,`\\bullet`,!0),N(P,I,z,`‡`,`\\ddagger`),N(P,I,z,`≀`,`\\wr`,!0),N(P,I,z,`⨿`,`\\amalg`),N(P,I,z,`&`,`\\And`),N(P,I,V,`⟵`,`\\longleftarrow`,!0),N(P,I,V,`⇐`,`\\Leftarrow`,!0),N(P,I,V,`⟸`,`\\Longleftarrow`,!0),N(P,I,V,`⟶`,`\\longrightarrow`,!0),N(P,I,V,`⇒`,`\\Rightarrow`,!0),N(P,I,V,`⟹`,`\\Longrightarrow`,!0),N(P,I,V,`↔`,`\\leftrightarrow`,!0),N(P,I,V,`⟷`,`\\longleftrightarrow`,!0),N(P,I,V,`⇔`,`\\Leftrightarrow`,!0),N(P,I,V,`⟺`,`\\Longleftrightarrow`,!0),N(P,I,V,`↦`,`\\mapsto`,!0),N(P,I,V,`⟼`,`\\longmapsto`,!0),N(P,I,V,`↗`,`\\nearrow`,!0),N(P,I,V,`↩`,`\\hookleftarrow`,!0),N(P,I,V,`↪`,`\\hookrightarrow`,!0),N(P,I,V,`↘`,`\\searrow`,!0),N(P,I,V,`↼`,`\\leftharpoonup`,!0),N(P,I,V,`⇀`,`\\rightharpoonup`,!0),N(P,I,V,`↙`,`\\swarrow`,!0),N(P,I,V,`↽`,`\\leftharpoondown`,!0),N(P,I,V,`⇁`,`\\rightharpoondown`,!0),N(P,I,V,`↖`,`\\nwarrow`,!0),N(P,I,V,`⇌`,`\\rightleftharpoons`,!0),N(P,L,V,`≮`,`\\nless`,!0),N(P,L,V,``,`\\@nleqslant`),N(P,L,V,``,`\\@nleqq`),N(P,L,V,`⪇`,`\\lneq`,!0),N(P,L,V,`≨`,`\\lneqq`,!0),N(P,L,V,``,`\\@lvertneqq`),N(P,L,V,`⋦`,`\\lnsim`,!0),N(P,L,V,`⪉`,`\\lnapprox`,!0),N(P,L,V,`⊀`,`\\nprec`,!0),N(P,L,V,`⋠`,`\\npreceq`,!0),N(P,L,V,`⋨`,`\\precnsim`,!0),N(P,L,V,`⪹`,`\\precnapprox`,!0),N(P,L,V,`≁`,`\\nsim`,!0),N(P,L,V,``,`\\@nshortmid`),N(P,L,V,`∤`,`\\nmid`,!0),N(P,L,V,`⊬`,`\\nvdash`,!0),N(P,L,V,`⊭`,`\\nvDash`,!0),N(P,L,V,`⋪`,`\\ntriangleleft`),N(P,L,V,`⋬`,`\\ntrianglelefteq`,!0),N(P,L,V,`⊊`,`\\subsetneq`,!0),N(P,L,V,``,`\\@varsubsetneq`),N(P,L,V,`⫋`,`\\subsetneqq`,!0),N(P,L,V,``,`\\@varsubsetneqq`),N(P,L,V,`≯`,`\\ngtr`,!0),N(P,L,V,``,`\\@ngeqslant`),N(P,L,V,``,`\\@ngeqq`),N(P,L,V,`⪈`,`\\gneq`,!0),N(P,L,V,`≩`,`\\gneqq`,!0),N(P,L,V,``,`\\@gvertneqq`),N(P,L,V,`⋧`,`\\gnsim`,!0),N(P,L,V,`⪊`,`\\gnapprox`,!0),N(P,L,V,`⊁`,`\\nsucc`,!0),N(P,L,V,`⋡`,`\\nsucceq`,!0),N(P,L,V,`⋩`,`\\succnsim`,!0),N(P,L,V,`⪺`,`\\succnapprox`,!0),N(P,L,V,`≆`,`\\ncong`,!0),N(P,L,V,``,`\\@nshortparallel`),N(P,L,V,`∦`,`\\nparallel`,!0),N(P,L,V,`⊯`,`\\nVDash`,!0),N(P,L,V,`⋫`,`\\ntriangleright`),N(P,L,V,`⋭`,`\\ntrianglerighteq`,!0),N(P,L,V,``,`\\@nsupseteqq`),N(P,L,V,`⊋`,`\\supsetneq`,!0),N(P,L,V,``,`\\@varsupsetneq`),N(P,L,V,`⫌`,`\\supsetneqq`,!0),N(P,L,V,``,`\\@varsupsetneqq`),N(P,L,V,`⊮`,`\\nVdash`,!0),N(P,L,V,`⪵`,`\\precneqq`,!0),N(P,L,V,`⪶`,`\\succneqq`,!0),N(P,L,V,``,`\\@nsubseteqq`),N(P,L,z,`⊴`,`\\unlhd`),N(P,L,z,`⊵`,`\\unrhd`),N(P,L,V,`↚`,`\\nleftarrow`,!0),N(P,L,V,`↛`,`\\nrightarrow`,!0),N(P,L,V,`⇍`,`\\nLeftarrow`,!0),N(P,L,V,`⇏`,`\\nRightarrow`,!0),N(P,L,V,`↮`,`\\nleftrightarrow`,!0),N(P,L,V,`⇎`,`\\nLeftrightarrow`,!0),N(P,L,V,`△`,`\\vartriangle`),N(P,L,H,`ℏ`,`\\hslash`),N(P,L,H,`▽`,`\\triangledown`),N(P,L,H,`◊`,`\\lozenge`),N(P,L,H,`Ⓢ`,`\\circledS`),N(P,L,H,`®`,`\\circledR`),N(F,L,H,`®`,`\\circledR`),N(P,L,H,`∡`,`\\measuredangle`,!0),N(P,L,H,`∄`,`\\nexists`),N(P,L,H,`℧`,`\\mho`),N(P,L,H,`Ⅎ`,`\\Finv`,!0),N(P,L,H,`⅁`,`\\Game`,!0),N(P,L,H,`‵`,`\\backprime`),N(P,L,H,`▲`,`\\blacktriangle`),N(P,L,H,`▼`,`\\blacktriangledown`),N(P,L,H,`■`,`\\blacksquare`),N(P,L,H,`⧫`,`\\blacklozenge`),N(P,L,H,`★`,`\\bigstar`),N(P,L,H,`∢`,`\\sphericalangle`,!0),N(P,L,H,`∁`,`\\complement`,!0),N(P,L,H,`ð`,`\\eth`,!0),N(F,I,H,`ð`,`ð`),N(P,L,H,`╱`,`\\diagup`),N(P,L,H,`╲`,`\\diagdown`),N(P,L,H,`□`,`\\square`),N(P,L,H,`□`,`\\Box`),N(P,L,H,`◊`,`\\Diamond`),N(P,L,H,`¥`,`\\yen`,!0),N(F,L,H,`¥`,`\\yen`,!0),N(P,L,H,`✓`,`\\checkmark`,!0),N(F,L,H,`✓`,`\\checkmark`),N(P,L,H,`ℶ`,`\\beth`,!0),N(P,L,H,`ℸ`,`\\daleth`,!0),N(P,L,H,`ℷ`,`\\gimel`,!0),N(P,L,H,`ϝ`,`\\digamma`,!0),N(P,L,H,`ϰ`,`\\varkappa`),N(P,L,Kt,`┌`,`\\@ulcorner`,!0),N(P,L,Ut,`┐`,`\\@urcorner`,!0),N(P,L,Kt,`└`,`\\@llcorner`,!0),N(P,L,Ut,`┘`,`\\@lrcorner`,!0),N(P,L,V,`≦`,`\\leqq`,!0),N(P,L,V,`⩽`,`\\leqslant`,!0),N(P,L,V,`⪕`,`\\eqslantless`,!0),N(P,L,V,`≲`,`\\lesssim`,!0),N(P,L,V,`⪅`,`\\lessapprox`,!0),N(P,L,V,`≊`,`\\approxeq`,!0),N(P,L,z,`⋖`,`\\lessdot`),N(P,L,V,`⋘`,`\\lll`,!0),N(P,L,V,`≶`,`\\lessgtr`,!0),N(P,L,V,`⋚`,`\\lesseqgtr`,!0),N(P,L,V,`⪋`,`\\lesseqqgtr`,!0),N(P,L,V,`≑`,`\\doteqdot`),N(P,L,V,`≓`,`\\risingdotseq`,!0),N(P,L,V,`≒`,`\\fallingdotseq`,!0),N(P,L,V,`∽`,`\\backsim`,!0),N(P,L,V,`⋍`,`\\backsimeq`,!0),N(P,L,V,`⫅`,`\\subseteqq`,!0),N(P,L,V,`⋐`,`\\Subset`,!0),N(P,L,V,`⊏`,`\\sqsubset`,!0),N(P,L,V,`≼`,`\\preccurlyeq`,!0),N(P,L,V,`⋞`,`\\curlyeqprec`,!0),N(P,L,V,`≾`,`\\precsim`,!0),N(P,L,V,`⪷`,`\\precapprox`,!0),N(P,L,V,`⊲`,`\\vartriangleleft`),N(P,L,V,`⊴`,`\\trianglelefteq`),N(P,L,V,`⊨`,`\\vDash`,!0),N(P,L,V,`⊪`,`\\Vvdash`,!0),N(P,L,V,`⌣`,`\\smallsmile`),N(P,L,V,`⌢`,`\\smallfrown`),N(P,L,V,`≏`,`\\bumpeq`,!0),N(P,L,V,`≎`,`\\Bumpeq`,!0),N(P,L,V,`≧`,`\\geqq`,!0),N(P,L,V,`⩾`,`\\geqslant`,!0),N(P,L,V,`⪖`,`\\eqslantgtr`,!0),N(P,L,V,`≳`,`\\gtrsim`,!0),N(P,L,V,`⪆`,`\\gtrapprox`,!0),N(P,L,z,`⋗`,`\\gtrdot`),N(P,L,V,`⋙`,`\\ggg`,!0),N(P,L,V,`≷`,`\\gtrless`,!0),N(P,L,V,`⋛`,`\\gtreqless`,!0),N(P,L,V,`⪌`,`\\gtreqqless`,!0),N(P,L,V,`≖`,`\\eqcirc`,!0),N(P,L,V,`≗`,`\\circeq`,!0),N(P,L,V,`≜`,`\\triangleq`,!0),N(P,L,V,`∼`,`\\thicksim`),N(P,L,V,`≈`,`\\thickapprox`),N(P,L,V,`⫆`,`\\supseteqq`,!0),N(P,L,V,`⋑`,`\\Supset`,!0),N(P,L,V,`⊐`,`\\sqsupset`,!0),N(P,L,V,`≽`,`\\succcurlyeq`,!0),N(P,L,V,`⋟`,`\\curlyeqsucc`,!0),N(P,L,V,`≿`,`\\succsim`,!0),N(P,L,V,`⪸`,`\\succapprox`,!0),N(P,L,V,`⊳`,`\\vartriangleright`),N(P,L,V,`⊵`,`\\trianglerighteq`),N(P,L,V,`⊩`,`\\Vdash`,!0),N(P,L,V,`∣`,`\\shortmid`),N(P,L,V,`∥`,`\\shortparallel`),N(P,L,V,`≬`,`\\between`,!0),N(P,L,V,`⋔`,`\\pitchfork`,!0),N(P,L,V,`∝`,`\\varpropto`),N(P,L,V,`◀`,`\\blacktriangleleft`),N(P,L,V,`∴`,`\\therefore`,!0),N(P,L,V,`∍`,`\\backepsilon`),N(P,L,V,`▶`,`\\blacktriangleright`),N(P,L,V,`∵`,`\\because`,!0),N(P,L,V,`⋘`,`\\llless`),N(P,L,V,`⋙`,`\\gggtr`),N(P,L,z,`⊲`,`\\lhd`),N(P,L,z,`⊳`,`\\rhd`),N(P,L,V,`≂`,`\\eqsim`,!0),N(P,I,V,`⋈`,`\\Join`),N(P,L,V,`≑`,`\\Doteq`,!0),N(P,L,z,`∔`,`\\dotplus`,!0),N(P,L,z,`∖`,`\\smallsetminus`),N(P,L,z,`⋒`,`\\Cap`,!0),N(P,L,z,`⋓`,`\\Cup`,!0),N(P,L,z,`⩞`,`\\doublebarwedge`,!0),N(P,L,z,`⊟`,`\\boxminus`,!0),N(P,L,z,`⊞`,`\\boxplus`,!0),N(P,L,z,`⋇`,`\\divideontimes`,!0),N(P,L,z,`⋉`,`\\ltimes`,!0),N(P,L,z,`⋊`,`\\rtimes`,!0),N(P,L,z,`⋋`,`\\leftthreetimes`,!0),N(P,L,z,`⋌`,`\\rightthreetimes`,!0),N(P,L,z,`⋏`,`\\curlywedge`,!0),N(P,L,z,`⋎`,`\\curlyvee`,!0),N(P,L,z,`⊝`,`\\circleddash`,!0),N(P,L,z,`⊛`,`\\circledast`,!0),N(P,L,z,`⋅`,`\\centerdot`),N(P,L,z,`⊺`,`\\intercal`,!0),N(P,L,z,`⋒`,`\\doublecap`),N(P,L,z,`⋓`,`\\doublecup`),N(P,L,z,`⊠`,`\\boxtimes`,!0),N(P,L,V,`⇢`,`\\dashrightarrow`,!0),N(P,L,V,`⇠`,`\\dashleftarrow`,!0),N(P,L,V,`⇇`,`\\leftleftarrows`,!0),N(P,L,V,`⇆`,`\\leftrightarrows`,!0),N(P,L,V,`⇚`,`\\Lleftarrow`,!0),N(P,L,V,`↞`,`\\twoheadleftarrow`,!0),N(P,L,V,`↢`,`\\leftarrowtail`,!0),N(P,L,V,`↫`,`\\looparrowleft`,!0),N(P,L,V,`⇋`,`\\leftrightharpoons`,!0),N(P,L,V,`↶`,`\\curvearrowleft`,!0),N(P,L,V,`↺`,`\\circlearrowleft`,!0),N(P,L,V,`↰`,`\\Lsh`,!0),N(P,L,V,`⇈`,`\\upuparrows`,!0),N(P,L,V,`↿`,`\\upharpoonleft`,!0),N(P,L,V,`⇃`,`\\downharpoonleft`,!0),N(P,I,V,`⊶`,`\\origof`,!0),N(P,I,V,`⊷`,`\\imageof`,!0),N(P,L,V,`⊸`,`\\multimap`,!0),N(P,L,V,`↭`,`\\leftrightsquigarrow`,!0),N(P,L,V,`⇉`,`\\rightrightarrows`,!0),N(P,L,V,`⇄`,`\\rightleftarrows`,!0),N(P,L,V,`↠`,`\\twoheadrightarrow`,!0),N(P,L,V,`↣`,`\\rightarrowtail`,!0),N(P,L,V,`↬`,`\\looparrowright`,!0),N(P,L,V,`↷`,`\\curvearrowright`,!0),N(P,L,V,`↻`,`\\circlearrowright`,!0),N(P,L,V,`↱`,`\\Rsh`,!0),N(P,L,V,`⇊`,`\\downdownarrows`,!0),N(P,L,V,`↾`,`\\upharpoonright`,!0),N(P,L,V,`⇂`,`\\downharpoonright`,!0),N(P,L,V,`⇝`,`\\rightsquigarrow`,!0),N(P,L,V,`⇝`,`\\leadsto`),N(P,L,V,`⇛`,`\\Rrightarrow`,!0),N(P,L,V,`↾`,`\\restriction`),N(P,I,H,`‘`,"`"),N(P,I,H,`$`,`\\$`),N(F,I,H,`$`,`\\$`),N(F,I,H,`$`,`\\textdollar`),N(P,I,H,`%`,`\\%`),N(F,I,H,`%`,`\\%`),N(P,I,H,`_`,`\\_`),N(F,I,H,`_`,`\\_`),N(F,I,H,`_`,`\\textunderscore`),N(P,I,H,`∠`,`\\angle`,!0),N(P,I,H,`∞`,`\\infty`,!0),N(P,I,H,`′`,`\\prime`),N(P,I,H,`△`,`\\triangle`),N(P,I,H,`Γ`,`\\Gamma`,!0),N(P,I,H,`Δ`,`\\Delta`,!0),N(P,I,H,`Θ`,`\\Theta`,!0),N(P,I,H,`Λ`,`\\Lambda`,!0),N(P,I,H,`Ξ`,`\\Xi`,!0),N(P,I,H,`Π`,`\\Pi`,!0),N(P,I,H,`Σ`,`\\Sigma`,!0),N(P,I,H,`Υ`,`\\Upsilon`,!0),N(P,I,H,`Φ`,`\\Phi`,!0),N(P,I,H,`Ψ`,`\\Psi`,!0),N(P,I,H,`Ω`,`\\Omega`,!0),N(P,I,H,`A`,`Α`),N(P,I,H,`B`,`Β`),N(P,I,H,`E`,`Ε`),N(P,I,H,`Z`,`Ζ`),N(P,I,H,`H`,`Η`),N(P,I,H,`I`,`Ι`),N(P,I,H,`K`,`Κ`),N(P,I,H,`M`,`Μ`),N(P,I,H,`N`,`Ν`),N(P,I,H,`O`,`Ο`),N(P,I,H,`P`,`Ρ`),N(P,I,H,`T`,`Τ`),N(P,I,H,`X`,`Χ`),N(P,I,H,`¬`,`\\neg`,!0),N(P,I,H,`¬`,`\\lnot`),N(P,I,H,`⊤`,`\\top`),N(P,I,H,`⊥`,`\\bot`),N(P,I,H,`∅`,`\\emptyset`),N(P,L,H,`∅`,`\\varnothing`),N(P,I,B,`α`,`\\alpha`,!0),N(P,I,B,`β`,`\\beta`,!0),N(P,I,B,`γ`,`\\gamma`,!0),N(P,I,B,`δ`,`\\delta`,!0),N(P,I,B,`ϵ`,`\\epsilon`,!0),N(P,I,B,`ζ`,`\\zeta`,!0),N(P,I,B,`η`,`\\eta`,!0),N(P,I,B,`θ`,`\\theta`,!0),N(P,I,B,`ι`,`\\iota`,!0),N(P,I,B,`κ`,`\\kappa`,!0),N(P,I,B,`λ`,`\\lambda`,!0),N(P,I,B,`μ`,`\\mu`,!0),N(P,I,B,`ν`,`\\nu`,!0),N(P,I,B,`ξ`,`\\xi`,!0),N(P,I,B,`ο`,`\\omicron`,!0),N(P,I,B,`π`,`\\pi`,!0),N(P,I,B,`ρ`,`\\rho`,!0),N(P,I,B,`σ`,`\\sigma`,!0),N(P,I,B,`τ`,`\\tau`,!0),N(P,I,B,`υ`,`\\upsilon`,!0),N(P,I,B,`ϕ`,`\\phi`,!0),N(P,I,B,`χ`,`\\chi`,!0),N(P,I,B,`ψ`,`\\psi`,!0),N(P,I,B,`ω`,`\\omega`,!0),N(P,I,B,`ε`,`\\varepsilon`,!0),N(P,I,B,`ϑ`,`\\vartheta`,!0),N(P,I,B,`ϖ`,`\\varpi`,!0),N(P,I,B,`ϱ`,`\\varrho`,!0),N(P,I,B,`ς`,`\\varsigma`,!0),N(P,I,B,`φ`,`\\varphi`,!0),N(P,I,z,`∗`,`*`,!0),N(P,I,z,`+`,`+`),N(P,I,z,`−`,`-`,!0),N(P,I,z,`⋅`,`\\cdot`,!0),N(P,I,z,`∘`,`\\circ`,!0),N(P,I,z,`÷`,`\\div`,!0),N(P,I,z,`±`,`\\pm`,!0),N(P,I,z,`×`,`\\times`,!0),N(P,I,z,`∩`,`\\cap`,!0),N(P,I,z,`∪`,`\\cup`,!0),N(P,I,z,`∖`,`\\setminus`,!0),N(P,I,z,`∧`,`\\land`),N(P,I,z,`∨`,`\\lor`),N(P,I,z,`∧`,`\\wedge`,!0),N(P,I,z,`∨`,`\\vee`,!0),N(P,I,H,`√`,`\\surd`),N(P,I,Kt,`⟨`,`\\langle`,!0),N(P,I,Kt,`∣`,`\\lvert`),N(P,I,Kt,`∥`,`\\lVert`),N(P,I,Ut,`?`,`?`),N(P,I,Ut,`!`,`!`),N(P,I,Ut,`⟩`,`\\rangle`,!0),N(P,I,Ut,`∣`,`\\rvert`),N(P,I,Ut,`∥`,`\\rVert`),N(P,I,V,`=`,`=`),N(P,I,V,`:`,`:`),N(P,I,V,`≈`,`\\approx`,!0),N(P,I,V,`≅`,`\\cong`,!0),N(P,I,V,`≥`,`\\ge`),N(P,I,V,`≥`,`\\geq`,!0),N(P,I,V,`←`,`\\gets`),N(P,I,V,`>`,`\\gt`,!0),N(P,I,V,`∈`,`\\in`,!0),N(P,I,V,``,`\\@not`),N(P,I,V,`⊂`,`\\subset`,!0),N(P,I,V,`⊃`,`\\supset`,!0),N(P,I,V,`⊆`,`\\subseteq`,!0),N(P,I,V,`⊇`,`\\supseteq`,!0),N(P,L,V,`⊈`,`\\nsubseteq`,!0),N(P,L,V,`⊉`,`\\nsupseteq`,!0),N(P,I,V,`⊨`,`\\models`),N(P,I,V,`←`,`\\leftarrow`,!0),N(P,I,V,`≤`,`\\le`),N(P,I,V,`≤`,`\\leq`,!0),N(P,I,V,`<`,`\\lt`,!0),N(P,I,V,`→`,`\\rightarrow`,!0),N(P,I,V,`→`,`\\to`),N(P,L,V,`≱`,`\\ngeq`,!0),N(P,L,V,`≰`,`\\nleq`,!0),N(P,I,Jt,`\xA0`,`\\ `),N(P,I,Jt,`\xA0`,`\\space`),N(P,I,Jt,`\xA0`,`\\nobreakspace`),N(F,I,Jt,`\xA0`,`\\ `),N(F,I,Jt,`\xA0`,` `),N(F,I,Jt,`\xA0`,`\\space`),N(F,I,Jt,`\xA0`,`\\nobreakspace`),N(P,I,Jt,``,`\\nobreak`),N(P,I,Jt,``,`\\allowbreak`),N(P,I,qt,`,`,`,`),N(P,I,qt,`;`,`;`),N(P,L,z,`⊼`,`\\barwedge`,!0),N(P,L,z,`⊻`,`\\veebar`,!0),N(P,I,z,`⊙`,`\\odot`,!0),N(P,I,z,`⊕`,`\\oplus`,!0),N(P,I,z,`⊗`,`\\otimes`,!0),N(P,I,H,`∂`,`\\partial`,!0),N(P,I,z,`⊘`,`\\oslash`,!0),N(P,L,z,`⊚`,`\\circledcirc`,!0),N(P,L,z,`⊡`,`\\boxdot`,!0),N(P,I,z,`△`,`\\bigtriangleup`),N(P,I,z,`▽`,`\\bigtriangledown`),N(P,I,z,`†`,`\\dagger`),N(P,I,z,`⋄`,`\\diamond`),N(P,I,z,`⋆`,`\\star`),N(P,I,z,`◃`,`\\triangleleft`),N(P,I,z,`▹`,`\\triangleright`),N(P,I,Kt,`{`,`\\{`),N(F,I,H,`{`,`\\{`),N(F,I,H,`{`,`\\textbraceleft`),N(P,I,Ut,`}`,`\\}`),N(F,I,H,`}`,`\\}`),N(F,I,H,`}`,`\\textbraceright`),N(P,I,Kt,`{`,`\\lbrace`),N(P,I,Ut,`}`,`\\rbrace`),N(P,I,Kt,`[`,`\\lbrack`,!0),N(F,I,H,`[`,`\\lbrack`,!0),N(P,I,Ut,`]`,`\\rbrack`,!0),N(F,I,H,`]`,`\\rbrack`,!0),N(P,I,Kt,`(`,`\\lparen`,!0),N(P,I,Ut,`)`,`\\rparen`,!0),N(F,I,H,`<`,`\\textless`,!0),N(F,I,H,`>`,`\\textgreater`,!0),N(P,I,Kt,`⌊`,`\\lfloor`,!0),N(P,I,Ut,`⌋`,`\\rfloor`,!0),N(P,I,Kt,`⌈`,`\\lceil`,!0),N(P,I,Ut,`⌉`,`\\rceil`,!0),N(P,I,H,`\\`,`\\backslash`),N(P,I,H,`∣`,`|`),N(P,I,H,`∣`,`\\vert`),N(F,I,H,`|`,`\\textbar`,!0),N(P,I,H,`∥`,`\\|`),N(P,I,H,`∥`,`\\Vert`),N(F,I,H,`∥`,`\\textbardbl`),N(F,I,H,`~`,`\\textasciitilde`),N(F,I,H,`\\`,`\\textbackslash`),N(F,I,H,`^`,`\\textasciicircum`),N(P,I,V,`↑`,`\\uparrow`,!0),N(P,I,V,`⇑`,`\\Uparrow`,!0),N(P,I,V,`↓`,`\\downarrow`,!0),N(P,I,V,`⇓`,`\\Downarrow`,!0),N(P,I,V,`↕`,`\\updownarrow`,!0),N(P,I,V,`⇕`,`\\Updownarrow`,!0),N(P,I,Gt,`∐`,`\\coprod`),N(P,I,Gt,`⋁`,`\\bigvee`),N(P,I,Gt,`⋀`,`\\bigwedge`),N(P,I,Gt,`⨄`,`\\biguplus`),N(P,I,Gt,`⋂`,`\\bigcap`),N(P,I,Gt,`⋃`,`\\bigcup`),N(P,I,Gt,`∫`,`\\int`),N(P,I,Gt,`∫`,`\\intop`),N(P,I,Gt,`∬`,`\\iint`),N(P,I,Gt,`∭`,`\\iiint`),N(P,I,Gt,`∏`,`\\prod`),N(P,I,Gt,`∑`,`\\sum`),N(P,I,Gt,`⨂`,`\\bigotimes`),N(P,I,Gt,`⨁`,`\\bigoplus`),N(P,I,Gt,`⨀`,`\\bigodot`),N(P,I,Gt,`∮`,`\\oint`),N(P,I,Gt,`∯`,`\\oiint`),N(P,I,Gt,`∰`,`\\oiiint`),N(P,I,Gt,`⨆`,`\\bigsqcup`),N(P,I,Gt,`∫`,`\\smallint`),N(F,I,Wt,`…`,`\\textellipsis`),N(P,I,Wt,`…`,`\\mathellipsis`),N(F,I,Wt,`…`,`\\ldots`,!0),N(P,I,Wt,`…`,`\\ldots`,!0),N(P,I,Wt,`⋯`,`\\@cdots`,!0),N(P,I,Wt,`⋱`,`\\ddots`,!0),N(P,I,H,`⋮`,`\\varvdots`),N(F,I,H,`⋮`,`\\varvdots`),N(P,I,R,`ˊ`,`\\acute`),N(P,I,R,`ˋ`,`\\grave`),N(P,I,R,`¨`,`\\ddot`),N(P,I,R,`~`,`\\tilde`),N(P,I,R,`ˉ`,`\\bar`),N(P,I,R,`˘`,`\\breve`),N(P,I,R,`ˇ`,`\\check`),N(P,I,R,`^`,`\\hat`),N(P,I,R,`⃗`,`\\vec`),N(P,I,R,`˙`,`\\dot`),N(P,I,R,`˚`,`\\mathring`),N(P,I,B,``,`\\@imath`),N(P,I,B,``,`\\@jmath`),N(P,I,H,`ı`,`ı`),N(P,I,H,`ȷ`,`ȷ`),N(F,I,H,`ı`,`\\i`,!0),N(F,I,H,`ȷ`,`\\j`,!0),N(F,I,H,`ß`,`\\ss`,!0),N(F,I,H,`æ`,`\\ae`,!0),N(F,I,H,`œ`,`\\oe`,!0),N(F,I,H,`ø`,`\\o`,!0),N(F,I,H,`Æ`,`\\AE`,!0),N(F,I,H,`Œ`,`\\OE`,!0),N(F,I,H,`Ø`,`\\O`,!0),N(F,I,R,`ˊ`,`\\'`),N(F,I,R,`ˋ`,"\\`"),N(F,I,R,`ˆ`,`\\^`),N(F,I,R,`˜`,`\\~`),N(F,I,R,`ˉ`,`\\=`),N(F,I,R,`˘`,`\\u`),N(F,I,R,`˙`,`\\.`),N(F,I,R,`¸`,`\\c`),N(F,I,R,`˚`,`\\r`),N(F,I,R,`ˇ`,`\\v`),N(F,I,R,`¨`,`\\"`),N(F,I,R,`˝`,`\\H`),N(F,I,R,`◯`,`\\textcircled`);var Yt={"--":!0,"---":!0,"``":!0,"''":!0};N(F,I,H,`–`,`--`,!0),N(F,I,H,`–`,`\\textendash`),N(F,I,H,`—`,`---`,!0),N(F,I,H,`—`,`\\textemdash`),N(F,I,H,`‘`,"`",!0),N(F,I,H,`‘`,`\\textquoteleft`),N(F,I,H,`’`,`'`,!0),N(F,I,H,`’`,`\\textquoteright`),N(F,I,H,`“`,"``",!0),N(F,I,H,`“`,`\\textquotedblleft`),N(F,I,H,`”`,`''`,!0),N(F,I,H,`”`,`\\textquotedblright`),N(P,I,H,`°`,`\\degree`,!0),N(F,I,H,`°`,`\\degree`),N(F,I,H,`°`,`\\textdegree`,!0),N(P,I,H,`£`,`\\pounds`),N(P,I,H,`£`,`\\mathsterling`,!0),N(F,I,H,`£`,`\\pounds`),N(F,I,H,`£`,`\\textsterling`,!0),N(P,L,H,`✠`,`\\maltese`),N(F,L,H,`✠`,`\\maltese`);for(var Xt=`0123456789/@."`,Zt=0;Zt<Xt.length;Zt++){var Qt=Xt.charAt(Zt);N(P,I,H,Qt,Qt)}for(var $t=`0123456789!@*()-=+";:?/.,`,en=0;en<$t.length;en++){var tn=$t.charAt(en);N(F,I,H,tn,tn)}for(var nn=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`,rn=0;rn<nn.length;rn++){var an=nn.charAt(rn);N(P,I,B,an,an),N(F,I,H,an,an)}N(P,L,H,`C`,`ℂ`),N(F,L,H,`C`,`ℂ`),N(P,L,H,`H`,`ℍ`),N(F,L,H,`H`,`ℍ`),N(P,L,H,`N`,`ℕ`),N(F,L,H,`N`,`ℕ`),N(P,L,H,`P`,`ℙ`),N(F,L,H,`P`,`ℙ`),N(P,L,H,`Q`,`ℚ`),N(F,L,H,`Q`,`ℚ`),N(P,L,H,`R`,`ℝ`),N(F,L,H,`R`,`ℝ`),N(P,L,H,`Z`,`ℤ`),N(F,L,H,`Z`,`ℤ`),N(P,I,B,`h`,`ℎ`),N(F,I,B,`h`,`ℎ`);for(var U,on=0;on<nn.length;on++){var sn=nn.charAt(on);U=String.fromCharCode(55349,56320+on),N(P,I,B,sn,U),N(F,I,H,sn,U),U=String.fromCharCode(55349,56372+on),N(P,I,B,sn,U),N(F,I,H,sn,U),U=String.fromCharCode(55349,56424+on),N(P,I,B,sn,U),N(F,I,H,sn,U),U=String.fromCharCode(55349,56580+on),N(P,I,B,sn,U),N(F,I,H,sn,U),U=String.fromCharCode(55349,56684+on),N(P,I,B,sn,U),N(F,I,H,sn,U),U=String.fromCharCode(55349,56736+on),N(P,I,B,sn,U),N(F,I,H,sn,U),U=String.fromCharCode(55349,56788+on),N(P,I,B,sn,U),N(F,I,H,sn,U),U=String.fromCharCode(55349,56840+on),N(P,I,B,sn,U),N(F,I,H,sn,U),U=String.fromCharCode(55349,56944+on),N(P,I,B,sn,U),N(F,I,H,sn,U),on<26&&(U=String.fromCharCode(55349,56632+on),N(P,I,B,sn,U),N(F,I,H,sn,U),U=String.fromCharCode(55349,56476+on),N(P,I,B,sn,U),N(F,I,H,sn,U))}U=String.fromCharCode(55349,56668),N(P,I,B,`k`,U),N(F,I,H,`k`,U);for(var cn=0;cn<10;cn++){var ln=cn.toString();U=String.fromCharCode(55349,57294+cn),N(P,I,B,ln,U),N(F,I,H,ln,U),U=String.fromCharCode(55349,57314+cn),N(P,I,B,ln,U),N(F,I,H,ln,U),U=String.fromCharCode(55349,57324+cn),N(P,I,B,ln,U),N(F,I,H,ln,U),U=String.fromCharCode(55349,57334+cn),N(P,I,B,ln,U),N(F,I,H,ln,U)}for(var un=`ÐÞþ`,dn=0;dn<un.length;dn++){var fn=un.charAt(dn);N(P,I,B,fn,fn),N(F,I,H,fn,fn)}var pn={mathClass:`mathbf`,textClass:`textbf`,font:`Main-Bold`},mn={mathClass:`mathnormal`,textClass:`textit`,font:`Math-Italic`},hn={mathClass:`boldsymbol`,textClass:`boldsymbol`,font:`Main-BoldItalic`},gn={mathClass:`mathscr`,textClass:`textscr`,font:`Script-Regular`},_n={mathClass:``,textClass:``,font:``},vn={mathClass:`mathfrak`,textClass:`textfrak`,font:`Fraktur-Regular`},yn={mathClass:`mathbb`,textClass:`textbb`,font:`AMS-Regular`},bn={mathClass:`mathboldfrak`,textClass:`textboldfrak`,font:`Fraktur-Regular`},xn={mathClass:`mathsf`,textClass:`textsf`,font:`SansSerif-Regular`},Sn={mathClass:`mathboldsf`,textClass:`textboldsf`,font:`SansSerif-Bold`},Cn={mathClass:`mathitsf`,textClass:`textitsf`,font:`SansSerif-Italic`},wn={mathClass:`mathtt`,textClass:`texttt`,font:`Typewriter-Regular`},Tn=[pn,pn,mn,mn,hn,hn,gn,_n,_n,_n,vn,vn,yn,yn,bn,bn,xn,xn,Sn,Sn,Cn,Cn,_n,_n,wn,wn],En=[pn,_n,xn,Sn,wn],Dn=e=>{var t=e.charCodeAt(0),n=e.charCodeAt(1),r=(t-55296)*1024+(n-56320)+65536;if(119808<=r&&r<120484)return Tn[Math.floor((r-119808)/26)];if(120782<=r&&r<=120831)return En[Math.floor((r-120782)/10)];if(r===120485||r===120486)return Tn[0];if(120486<r&&r<120782)return _n;throw new A(`Unsupported character: `+e)},On=function(e,t,n){if(Ht[n][e]){var r=Ht[n][e].replace;r&&(e=r)}return{value:e,metrics:zt(e,t,n)}},kn=function(e,t,n,r,i){var a=On(e,t,n),o=a.metrics;e=a.value;var s;if(o){var c=o.italic;(n===`text`||r&&r.font===`mathit`)&&(c=0),s=new Ot(e,o.height,o.depth,c,o.skew,o.width,i)}else typeof console<`u`&&console.warn(`No character metrics `+(`for '`+e+`' in style '`+t+`' and mode '`+n+`'`)),s=new Ot(e,0,0,0,0,0,i);if(r){s.maxFontSize=r.sizeMultiplier,r.style.isTight()&&s.classes.push(`mtight`);var l=r.getColor();l&&(s.style.color=l)}return s},An=function(e,t,n,r){return r===void 0&&(r=[]),n.font===`boldsymbol`&&On(e,`Main-Bold`,t).metrics?kn(e,`Main-Bold`,t,n,r.concat([`mathbf`])):e===`\\`||Ht[t][e].font===`main`?kn(e,`Main-Regular`,t,n,r):kn(e,`AMS-Regular`,t,n,r.concat([`amsrm`]))},jn=function(e,t,n){return n!==`textord`&&On(e,`Math-BoldItalic`,t).metrics?{fontName:`Math-BoldItalic`,fontClass:`boldsymbol`}:{fontName:`Main-Bold`,fontClass:`mathbf`}},Mn=function(e,t,n){var r=e.mode,i=e.text,a=[`mord`],{font:o,fontFamily:s,fontWeight:c,fontShape:l}=t,u=r===`math`||r===`text`&&!!o,d=u?o:s,f=``,p=``;if(i.charCodeAt(0)===55349){var m=Dn(i);f=m.font,p=m[r+`Class`]}if(f)return kn(i,f,r,t,a.concat(p));if(d){var h,g;if(d===`boldsymbol`){var _=jn(i,r,n);h=_.fontName,g=[_.fontClass]}else u?(h=Wn[o].fontName,g=[o]):(h=Un(s,c,l),g=[s,c,l]);if(On(i,h,r).metrics)return kn(i,h,r,t,a.concat(g));if(Yt.hasOwnProperty(i)&&h.slice(0,10)===`Typewriter`){for(var v=[],y=0;y<i.length;y++)v.push(kn(i[y],h,r,t,a.concat(g)));return zn(v)}}if(n===`mathord`)return kn(i,`Math-Italic`,r,t,a.concat([`mathnormal`]));if(n===`textord`){var b=Ht[r][i]&&Ht[r][i].font;if(b===`ams`)return kn(i,Un(`amsrm`,c,l),r,t,a.concat(`amsrm`,c,l));if(b===`main`||!b)return kn(i,Un(`textrm`,c,l),r,t,a.concat(c,l));var x=Un(b,c,l);return kn(i,x,r,t,a.concat(x,c,l))}else throw Error(`unexpected type: `+n+` in makeOrd`)},Nn=(e,t)=>{if(vt(e.classes)!==vt(t.classes)||e.skew!==t.skew||e.maxFontSize!==t.maxFontSize||e.italic!==0&&e.hasClass(`mathnormal`))return!1;if(e.classes.length===1){var n=e.classes[0];if(n===`mbin`||n===`mord`)return!1}for(var r of Object.keys(e.style))if(e.style[r]!==t.style[r])return!1;for(var i of Object.keys(t.style))if(e.style[i]!==t.style[i])return!1;return!0},Pn=e=>{for(var t=0;t<e.length-1;t++){var n=e[t],r=e[t+1];n instanceof Ot&&r instanceof Ot&&Nn(n,r)&&(n.text+=r.text,n.height=Math.max(n.height,r.height),n.depth=Math.max(n.depth,r.depth),n.italic=r.italic,e.splice(t+1,1),t--)}return e},Fn=function(e){for(var t=0,n=0,r=0,i=0;i<e.children.length;i++){var a=e.children[i];a.height>t&&(t=a.height),a.depth>n&&(n=a.depth),a.maxFontSize>r&&(r=a.maxFontSize)}e.height=t,e.depth=n,e.maxFontSize=r},W=function(e,t,n,r){var i=new wt(e,t,n,r);return Fn(i),i},In=(e,t,n,r)=>new wt(e,t,n,r),Ln=function(e,t,n){var r=W([e],[],t);return r.height=Math.max(n||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),r.style.borderBottomWidth=M(r.height),r.maxFontSize=1,r},Rn=function(e,t,n,r){var i=new Tt(e,t,n,r);return Fn(i),i},zn=function(e){var t=new pt(e);return Fn(t),t},Bn=function(e,t){return e instanceof pt?W([],[e],t):e},Vn=function(e){if(e.positionType===`individualShift`){for(var t=e.children,n=[t[0]],r=-t[0].shift-t[0].elem.depth,i=r,a=1;a<t.length;a++){var o=-t[a].shift-i-t[a].elem.depth,s=o-(t[a-1].elem.height+t[a-1].elem.depth);i+=o,n.push({type:`kern`,size:s}),n.push(t[a])}return{children:n,depth:r}}var c;if(e.positionType===`top`){for(var l=e.positionData,u=0;u<e.children.length;u++){var d=e.children[u];l-=d.type===`kern`?d.size:d.elem.height+d.elem.depth}c=l}else if(e.positionType===`bottom`)c=-e.positionData;else{var f=e.children[0];if(f.type!==`elem`)throw Error(`First child must have type "elem".`);if(e.positionType===`shift`)c=-f.elem.depth-e.positionData;else if(e.positionType===`firstBaseline`)c=-f.elem.depth;else throw Error(`Invalid positionType `+e.positionType+`.`)}return{children:e.children,depth:c}},G=function(e,t){for(var{children:n,depth:r}=Vn(e),i=0,a=0;a<n.length;a++){var o=n[a];if(o.type===`elem`){var s=o.elem;i=Math.max(i,s.maxFontSize,s.height)}}i+=2;var c=W([`pstrut`],[]);c.style.height=M(i);for(var l=[],u=r,d=r,f=r,p=0;p<n.length;p++){var m=n[p];if(m.type===`kern`)f+=m.size;else{var h=m.elem,g=m.wrapperClasses||[],_=m.wrapperStyle||{},v=W(g,[c,h],void 0,_);v.style.top=M(-i-f-h.depth),m.marginLeft&&(v.style.marginLeft=m.marginLeft),m.marginRight&&(v.style.marginRight=m.marginRight),l.push(v),f+=h.height+h.depth}u=Math.min(u,f),d=Math.max(d,f)}var y=W([`vlist`],l);y.style.height=M(d);var b;if(u<0){var x=W([`vlist`],[W([],[])]);x.style.height=M(-u),b=[W([`vlist-r`],[y,W([`vlist-s`],[new Ot(`​`)])]),W([`vlist-r`],[x])]}else b=[W([`vlist-r`],[y])];var S=W([`vlist-t`],b);return b.length===2&&S.classes.push(`vlist-t2`),S.height=d,S.depth=-u,S},Hn=(e,t)=>{var n=W([`mspace`],[],t),r=_t(e,t);return n.style.marginRight=M(r),n},Un=(e,t,n)=>{var r,i;switch(e){case`amsrm`:r=`AMS`;break;case`textrm`:r=`Main`;break;case`textsf`:r=`SansSerif`;break;case`texttt`:r=`Typewriter`;break;default:r=e}return i=t===`textbf`&&n===`textit`?`BoldItalic`:t===`textbf`?`Bold`:n===`textit`?`Italic`:`Regular`,r+`-`+i},Wn={mathbf:{variant:`bold`,fontName:`Main-Bold`},mathrm:{variant:`normal`,fontName:`Main-Regular`},textit:{variant:`italic`,fontName:`Main-Italic`},mathit:{variant:`italic`,fontName:`Main-Italic`},mathnormal:{variant:`italic`,fontName:`Math-Italic`},mathsfit:{variant:`sans-serif-italic`,fontName:`SansSerif-Italic`},mathbb:{variant:`double-struck`,fontName:`AMS-Regular`},mathcal:{variant:`script`,fontName:`Caligraphic-Regular`},mathfrak:{variant:`fraktur`,fontName:`Fraktur-Regular`},mathscr:{variant:`script`,fontName:`Script-Regular`},mathsf:{variant:`sans-serif`,fontName:`SansSerif-Regular`},mathtt:{variant:`monospace`,fontName:`Typewriter-Regular`}},Gn={vec:[`vec`,.471,.714],oiintSize1:[`oiintSize1`,.957,.499],oiintSize2:[`oiintSize2`,1.472,.659],oiiintSize1:[`oiiintSize1`,1.304,.499],oiiintSize2:[`oiiintSize2`,1.98,.659]},Kn=function(e,t){var[n,r,i]=Gn[e],a=In([`overlay`],[new kt([new At(n)],{width:M(r),height:M(i),style:`width:`+M(r),viewBox:`0 0 `+1e3*r+` `+1e3*i,preserveAspectRatio:`xMinYMin`})],t);return a.height=i,a.style.height=M(i),a.style.width=M(r),a},qn={number:3,unit:`mu`},Jn={number:4,unit:`mu`},Yn={number:5,unit:`mu`},Xn={mord:{mop:qn,mbin:Jn,mrel:Yn,minner:qn},mop:{mord:qn,mop:qn,mrel:Yn,minner:qn},mbin:{mord:Jn,mop:Jn,mopen:Jn,minner:Jn},mrel:{mord:Yn,mop:Yn,mopen:Yn,minner:Yn},mopen:{},mclose:{mop:qn,mbin:Jn,mrel:Yn,minner:qn},mpunct:{mord:qn,mop:qn,mrel:Yn,mopen:qn,mclose:qn,mpunct:qn,minner:qn},minner:{mord:qn,mop:qn,mbin:Jn,mrel:Yn,mopen:qn,mpunct:qn,minner:qn}},Zn={mord:{mop:qn},mop:{mord:qn,mop:qn},mbin:{},mrel:{},mopen:{},mclose:{mop:qn},mpunct:{},minner:{mop:qn}},Qn={},$n={},er={};function K(e){for(var{type:t,names:n,props:r,handler:i,htmlBuilder:a,mathmlBuilder:o}=e,s={type:t,numArgs:r.numArgs,argTypes:r.argTypes,allowedInArgument:!!r.allowedInArgument,allowedInText:!!r.allowedInText,allowedInMath:r.allowedInMath===void 0||r.allowedInMath,numOptionalArgs:r.numOptionalArgs||0,infix:!!r.infix,primitive:!!r.primitive,handler:i},c=0;c<n.length;++c)Qn[n[c]]=s;t&&(a&&($n[t]=a),o&&(er[t]=o))}function tr(e){var{type:t,htmlBuilder:n,mathmlBuilder:r}=e;K({type:t,names:[],props:{numArgs:0},handler(){throw Error(`Should never be called.`)},htmlBuilder:n,mathmlBuilder:r})}var nr=function(e){return e.type===`ordgroup`&&e.body.length===1?e.body[0]:e},rr=function(e){return e.type===`ordgroup`?e.body:[e]},ir=new Set([`leftmost`,`mbin`,`mopen`,`mrel`,`mop`,`mpunct`]),ar=new Set([`rightmost`,`mrel`,`mclose`,`mpunct`]),or={display:j.DISPLAY,text:j.TEXT,script:j.SCRIPT,scriptscript:j.SCRIPTSCRIPT},sr={mord:`mord`,mop:`mop`,mbin:`mbin`,mrel:`mrel`,mopen:`mopen`,mclose:`mclose`,mpunct:`mpunct`,minner:`minner`},cr=function(e,t,n,r){r===void 0&&(r=[null,null]);for(var i=[],a=0;a<e.length;a++){var o=q(e[a],t);if(o instanceof pt){var s=o.children;i.push(...s)}else i.push(o)}if(Pn(i),!n)return i;var c=t;if(e.length===1){var l=e[0];l.type===`sizing`?c=t.havingSize(l.size):l.type===`styling`&&(c=t.havingStyle(or[l.style]))}var u=W([r[0]||`leftmost`],[],t),d=W([r[1]||`rightmost`],[],t),f=n===`root`;return lr(i,(e,t)=>{var n=t.classes[0],r=e.classes[0];n===`mbin`&&ar.has(r)?t.classes[0]=`mord`:r===`mbin`&&ir.has(n)&&(e.classes[0]=`mord`)},{node:u},d,f),lr(i,(e,t)=>{var n=fr(t),r=fr(e),i=n&&r?e.hasClass(`mtight`)?Zn[n]?.[r]:Xn[n]?.[r]:null;if(i)return Hn(i,c)},{node:u},d,f),i},lr=function(e,t,n,r,i){r&&e.push(r);for(var a=0;a<e.length;a++){var o=e[a],s=ur(o);if(s){lr(s.children,t,n,null,i);continue}var c=!o.hasClass(`mspace`);if(c){var l=t(o,n.node);l&&(n.insertAfter?n.insertAfter(l):(e.unshift(l),a++))}c?n.node=o:i&&o.hasClass(`newline`)&&(n.node=W([`leftmost`])),n.insertAfter=(t=>n=>{e.splice(t+1,0,n),a++})(a)}r&&e.pop()},ur=function(e){return e instanceof pt||e instanceof Tt||e instanceof wt&&e.hasClass(`enclosing`)?e:null},dr=function(e,t){var n=ur(e);if(n){var r=n.children;if(r.length){if(t===`right`)return dr(r[r.length-1],`right`);if(t===`left`)return dr(r[0],`left`)}}return e},fr=function(e,t){return e?(t&&(e=dr(e,t)),sr[e.classes[0]]||null):null},pr=function(e,t){var n=[`nulldelimiter`].concat(e.baseSizingClasses());return W(t.concat(n))},q=function(e,t,n){if(!e)return W();if($n[e.type]){var r=$n[e.type](e,t);if(n&&t.size!==n.size){r=W(t.sizingClasses(n),[r],t);var i=t.sizeMultiplier/n.sizeMultiplier;r.height*=i,r.depth*=i}return r}else throw new A(`Got group of unknown type: '`+e.type+`'`)};function mr(e,t){var n=W([`base`],e,t),r=W([`strut`]);return r.style.height=M(n.height+n.depth),n.depth&&(r.style.verticalAlign=M(-n.depth)),n.children.unshift(r),n}function hr(e,t){var n=null;e.length===1&&e[0].type===`tag`&&(n=e[0].tag,e=e[0].body);var r=cr(e,t,`root`),i;r.length===2&&r[1].hasClass(`tag`)&&(i=r.pop());for(var a=[],o=[],s=0;s<r.length;s++)if(o.push(r[s]),r[s].hasClass(`mbin`)||r[s].hasClass(`mrel`)||r[s].hasClass(`allowbreak`)){for(var c=!1;s<r.length-1&&r[s+1].hasClass(`mspace`)&&!r[s+1].hasClass(`newline`);)s++,o.push(r[s]),r[s].hasClass(`nobreak`)&&(c=!0);c||(a.push(mr(o,t)),o=[])}else r[s].hasClass(`newline`)&&(o.pop(),o.length>0&&(a.push(mr(o,t)),o=[]),a.push(r[s]));o.length>0&&a.push(mr(o,t));var l;n?(l=mr(cr(n,t,!0),t),l.classes=[`tag`],a.push(l)):i&&a.push(i);var u=W([`katex-html`],a);if(u.setAttribute(`aria-hidden`,`true`),l){var d=l.children[0];d.style.height=M(u.height+u.depth),u.depth&&(d.style.verticalAlign=M(-u.depth))}return u}function gr(e){return new pt(e)}var J=class{constructor(e,t,n){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=n||[]}setAttribute(e,t){this.attributes[e]=t}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS(`http://www.w3.org/1998/Math/MathML`,this.type);for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);this.classes.length>0&&(e.className=vt(this.classes));for(var n=0;n<this.children.length;n++)if(this.children[n]instanceof _r&&this.children[n+1]instanceof _r){for(var r=this.children[n].toText()+this.children[++n].toText();this.children[n+1]instanceof _r;)r+=this.children[++n].toText();e.appendChild(new _r(r).toNode())}else e.appendChild(this.children[n].toNode());return e}toMarkup(){var e=`<`+this.type;for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&(e+=` `+t+`="`,e+=Ce(this.attributes[t]),e+=`"`);this.classes.length>0&&(e+=` class ="`+Ce(vt(this.classes))+`"`),e+=`>`;for(var n=0;n<this.children.length;n++)e+=this.children[n].toMarkup();return e+=`</`+this.type+`>`,e}toText(){return this.children.map(e=>e.toText()).join(``)}},_r=class{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return Ce(this.toText())}toText(){return this.text}},vr=class{constructor(e){this.width=void 0,this.character=void 0,this.width=e,e>=.05555&&e<=.05556?this.character=` `:e>=.1666&&e<=.1667?this.character=` `:e>=.2222&&e<=.2223?this.character=` `:e>=.2777&&e<=.2778?this.character=`  `:e>=-.05556&&e<=-.05555?this.character=` ⁣`:e>=-.1667&&e<=-.1666?this.character=` ⁣`:e>=-.2223&&e<=-.2222?this.character=` ⁣`:e>=-.2778&&e<=-.2777?this.character=` ⁣`:this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS(`http://www.w3.org/1998/Math/MathML`,`mspace`);return e.setAttribute(`width`,M(this.width)),e}toMarkup(){return this.character?`<mtext>`+this.character+`</mtext>`:`<mspace width="`+M(this.width)+`"/>`}toText(){return this.character?this.character:` `}},yr=new Set([`\\imath`,`\\jmath`]),br=new Set([`mrow`,`mtable`]),xr=function(e,t,n){return Ht[t][e]&&Ht[t][e].replace&&e.charCodeAt(0)!==55349&&!(Yt.hasOwnProperty(e)&&n&&(n.fontFamily&&n.fontFamily.slice(4,6)===`tt`||n.font&&n.font.slice(4,6)===`tt`))&&(e=Ht[t][e].replace),new _r(e)},Sr=function(e){return e.length===1?e[0]:new J(`mrow`,e)},Cr={mathit:`italic`,boldsymbol:e=>e.type===`textord`?`bold`:`bold-italic`,mathbf:`bold`,mathbb:`double-struck`,mathsfit:`sans-serif-italic`,mathfrak:`fraktur`,mathscr:`script`,mathcal:`script`,mathsf:`sans-serif`,mathtt:`monospace`},wr=(e,t)=>{if(e.mode===`text`){if(t.fontFamily===`texttt`)return`monospace`;if(t.fontFamily===`textsf`)return t.fontShape===`textit`&&t.fontWeight===`textbf`?`sans-serif-bold-italic`:t.fontShape===`textit`?`sans-serif-italic`:t.fontWeight===`textbf`?`bold-sans-serif`:`sans-serif`;if(t.fontShape===`textit`&&t.fontWeight===`textbf`)return`bold-italic`;if(t.fontShape===`textit`)return`italic`;if(t.fontWeight===`textbf`)return`bold`}var n=t.font;if(!n||n===`mathnormal`)return null;var r=e.mode,i=Cr[n];if(i)return typeof i==`function`?i(e):i;var a=e.text;if(yr.has(a))return null;if(Ht[r][a]){var o=Ht[r][a].replace;o&&(a=o)}var s=Wn[n].fontName;return zt(a,s,r)?Wn[n].variant:null};function Tr(e){if(!e)return!1;if(e.type===`mi`&&e.children.length===1){var t=e.children[0];return t instanceof _r&&t.text===`.`}else if(e.type===`mo`&&e.children.length===1&&e.getAttribute(`separator`)===`true`&&e.getAttribute(`lspace`)===`0em`&&e.getAttribute(`rspace`)===`0em`){var n=e.children[0];return n instanceof _r&&n.text===`,`}else return!1}var Er=function(e,t,n){if(e.length===1){var r=Y(e[0],t);return n&&r instanceof J&&r.type===`mo`&&(r.setAttribute(`lspace`,`0em`),r.setAttribute(`rspace`,`0em`)),[r]}for(var i=[],a,o=0;o<e.length;o++){var s=Y(e[o],t);if(s instanceof J&&a instanceof J){if(s.type===`mtext`&&a.type===`mtext`&&s.getAttribute(`mathvariant`)===a.getAttribute(`mathvariant`)){a.children.push(...s.children);continue}else if(s.type===`mn`&&a.type===`mn`){a.children.push(...s.children);continue}else if(Tr(s)&&a.type===`mn`){a.children.push(...s.children);continue}else if(s.type===`mn`&&Tr(a))s.children=[...a.children,...s.children],i.pop();else if((s.type===`msup`||s.type===`msub`)&&s.children.length>=1&&(a.type===`mn`||Tr(a))){var c=s.children[0];c instanceof J&&c.type===`mn`&&(c.children=[...a.children,...c.children],i.pop())}else if(a.type===`mi`&&a.children.length===1){var l=a.children[0];if(l instanceof _r&&l.text===`̸`&&(s.type===`mo`||s.type===`mi`||s.type===`mn`)){var u=s.children[0];u instanceof _r&&u.text.length>0&&(u.text=u.text.slice(0,1)+`̸`+u.text.slice(1),i.pop())}}}i.push(s),a=s}return i},Dr=function(e,t,n){return Sr(Er(e,t,n))},Y=function(e,t){if(!e)return new J(`mrow`);if(er[e.type])return er[e.type](e,t);throw new A(`Got group of unknown type: '`+e.type+`'`)};function Or(e,t,n,r,i){var a=Er(e,n),o=a.length===1&&a[0]instanceof J&&br.has(a[0].type)?a[0]:new J(`mrow`,a),s=new J(`annotation`,[new _r(t)]);s.setAttribute(`encoding`,`application/x-tex`);var c=new J(`math`,[new J(`semantics`,[o,s])]);return c.setAttribute(`xmlns`,`http://www.w3.org/1998/Math/MathML`),r&&c.setAttribute(`display`,`block`),W([i?`katex`:`katex-mathml`],[c])}var kr=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],Ar=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],jr=function(e,t){return t.size<2?e:kr[e-1][t.size-1]},Mr=class e{constructor(t){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=t.style,this.color=t.color,this.size=t.size||e.BASESIZE,this.textSize=t.textSize||this.size,this.phantom=!!t.phantom,this.font=t.font||``,this.fontFamily=t.fontFamily||``,this.fontWeight=t.fontWeight||``,this.fontShape=t.fontShape||``,this.sizeMultiplier=Ar[this.size-1],this.maxSize=t.maxSize,this.minRuleThickness=t.minRuleThickness,this._fontMetrics=void 0}extend(t){var n={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};return Object.assign(n,t),new e(n)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:jr(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:Ar[e-1]})}havingBaseStyle(t){t||=this.style.text();var n=jr(e.BASESIZE,t);return this.size===n&&this.textSize===e.BASESIZE&&this.style===t?this:this.extend({style:t,size:n})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:``})}withTextFontWeight(e){return this.extend({fontWeight:e,font:``})}withTextFontShape(e){return this.extend({fontShape:e,font:``})}sizingClasses(e){return e.size===this.size?[]:[`sizing`,`reset-size`+e.size,`size`+this.size]}baseSizingClasses(){return this.size===e.BASESIZE?[]:[`sizing`,`reset-size`+this.size,`size`+e.BASESIZE]}fontMetrics(){return this._fontMetrics||=Vt(this.size),this._fontMetrics}getColor(){return this.phantom?`transparent`:this.color}};Mr.BASESIZE=6;var Nr=function(e){return new Mr({style:e.displayMode?j.DISPLAY:j.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},Pr=function(e,t){if(t.displayMode){var n=[`katex-display`];t.leqno&&n.push(`leqno`),t.fleqn&&n.push(`fleqn`),e=W(n,[e])}return e},Fr=function(e,t,n){var r=Nr(n),i;return n.output===`mathml`?Or(e,t,r,n.displayMode,!0):(i=n.output===`html`?W([`katex`],[hr(e,r)]):W([`katex`],[Or(e,t,r,n.displayMode,!1),hr(e,r)]),Pr(i,n))},Ir=function(e,t,n){return Pr(W([`katex`],[hr(e,Nr(n))]),n)},Lr={widehat:`^`,widecheck:`ˇ`,widetilde:`~`,utilde:`~`,overleftarrow:`←`,underleftarrow:`←`,xleftarrow:`←`,overrightarrow:`→`,underrightarrow:`→`,xrightarrow:`→`,underbrace:`⏟`,overbrace:`⏞`,underbracket:`⎵`,overbracket:`⎴`,overgroup:`⏠`,undergroup:`⏡`,overleftrightarrow:`↔`,underleftrightarrow:`↔`,xleftrightarrow:`↔`,Overrightarrow:`⇒`,xRightarrow:`⇒`,overleftharpoon:`↼`,xleftharpoonup:`↼`,overrightharpoon:`⇀`,xrightharpoonup:`⇀`,xLeftarrow:`⇐`,xLeftrightarrow:`⇔`,xhookleftarrow:`↩`,xhookrightarrow:`↪`,xmapsto:`↦`,xrightharpoondown:`⇁`,xleftharpoondown:`↽`,xrightleftharpoons:`⇌`,xleftrightharpoons:`⇋`,xtwoheadleftarrow:`↞`,xtwoheadrightarrow:`↠`,xlongequal:`=`,xtofrom:`⇄`,xrightleftarrows:`⇄`,xrightequilibrium:`⇌`,xleftequilibrium:`⇋`,"\\cdrightarrow":`→`,"\\cdleftarrow":`←`,"\\cdlongequal":`=`},Rr=function(e){var t=new J(`mo`,[new _r(Lr[e.replace(/^\\/,``)])]);return t.setAttribute(`stretchy`,`true`),t},zr={overrightarrow:[[`rightarrow`],.888,522,`xMaxYMin`],overleftarrow:[[`leftarrow`],.888,522,`xMinYMin`],underrightarrow:[[`rightarrow`],.888,522,`xMaxYMin`],underleftarrow:[[`leftarrow`],.888,522,`xMinYMin`],xrightarrow:[[`rightarrow`],1.469,522,`xMaxYMin`],"\\cdrightarrow":[[`rightarrow`],3,522,`xMaxYMin`],xleftarrow:[[`leftarrow`],1.469,522,`xMinYMin`],"\\cdleftarrow":[[`leftarrow`],3,522,`xMinYMin`],Overrightarrow:[[`doublerightarrow`],.888,560,`xMaxYMin`],xRightarrow:[[`doublerightarrow`],1.526,560,`xMaxYMin`],xLeftarrow:[[`doubleleftarrow`],1.526,560,`xMinYMin`],overleftharpoon:[[`leftharpoon`],.888,522,`xMinYMin`],xleftharpoonup:[[`leftharpoon`],.888,522,`xMinYMin`],xleftharpoondown:[[`leftharpoondown`],.888,522,`xMinYMin`],overrightharpoon:[[`rightharpoon`],.888,522,`xMaxYMin`],xrightharpoonup:[[`rightharpoon`],.888,522,`xMaxYMin`],xrightharpoondown:[[`rightharpoondown`],.888,522,`xMaxYMin`],xlongequal:[[`longequal`],.888,334,`xMinYMin`],"\\cdlongequal":[[`longequal`],3,334,`xMinYMin`],xtwoheadleftarrow:[[`twoheadleftarrow`],.888,334,`xMinYMin`],xtwoheadrightarrow:[[`twoheadrightarrow`],.888,334,`xMaxYMin`],overleftrightarrow:[[`leftarrow`,`rightarrow`],.888,522],overbrace:[[`leftbrace`,`midbrace`,`rightbrace`],1.6,548],underbrace:[[`leftbraceunder`,`midbraceunder`,`rightbraceunder`],1.6,548],underleftrightarrow:[[`leftarrow`,`rightarrow`],.888,522],xleftrightarrow:[[`leftarrow`,`rightarrow`],1.75,522],xLeftrightarrow:[[`doubleleftarrow`,`doublerightarrow`],1.75,560],xrightleftharpoons:[[`leftharpoondownplus`,`rightharpoonplus`],1.75,716],xleftrightharpoons:[[`leftharpoonplus`,`rightharpoondownplus`],1.75,716],xhookleftarrow:[[`leftarrow`,`righthook`],1.08,522],xhookrightarrow:[[`lefthook`,`rightarrow`],1.08,522],overlinesegment:[[`leftlinesegment`,`rightlinesegment`],.888,522],underlinesegment:[[`leftlinesegment`,`rightlinesegment`],.888,522],overbracket:[[`leftbracketover`,`rightbracketover`],1.6,440],underbracket:[[`leftbracketunder`,`rightbracketunder`],1.6,410],overgroup:[[`leftgroup`,`rightgroup`],.888,342],undergroup:[[`leftgroupunder`,`rightgroupunder`],.888,342],xmapsto:[[`leftmapsto`,`rightarrow`],1.5,522],xtofrom:[[`leftToFrom`,`rightToFrom`],1.75,528],xrightleftarrows:[[`baraboveleftarrow`,`rightarrowabovebar`],1.75,901],xrightequilibrium:[[`baraboveshortleftharpoon`,`rightharpoonaboveshortbar`],1.75,716],xleftequilibrium:[[`shortbaraboveleftharpoon`,`shortrightharpoonabovebar`],1.75,716]},Br=new Set([`widehat`,`widecheck`,`widetilde`,`utilde`]),Vr=function(e,t){function n(){var n=4e5,r=e.label.slice(1);if(Br.has(r)&&`base`in e){var i=e.base.type===`ordgroup`?e.base.body.length:1,a,o,s;if(i>5)r===`widehat`||r===`widecheck`?(a=420,n=2364,s=.42,o=r+`4`):(a=312,n=2340,s=.34,o=`tilde4`);else{var c=[1,1,2,2,3,3][i];r===`widehat`||r===`widecheck`?(n=[0,1062,2364,2364,2364][c],a=[0,239,300,360,420][c],s=[0,.24,.3,.3,.36,.42][c],o=r+c):(n=[0,600,1033,2339,2340][c],a=[0,260,286,306,312][c],s=[0,.26,.286,.3,.306,.34][c],o=`tilde`+c)}return{span:In([],[new kt([new At(o)],{width:`100%`,height:M(s),viewBox:`0 0 `+n+` `+a,preserveAspectRatio:`none`})],t),minWidth:0,height:s}}else{var l=[],u=zr[r];if(!u)throw Error(`No SVG data for "`+r+`".`);var[d,f,p]=u,m=p/1e3,h=d.length,g,_;if(h===1){if(u.length!==4)throw Error(`Expected 4-tuple for single-path SVG data "`+r+`".`);g=[`hide-tail`],_=[u[3]]}else if(h===2)g=[`halfarrow-left`,`halfarrow-right`],_=[`xMinYMin`,`xMaxYMin`];else if(h===3)g=[`brace-left`,`brace-center`,`brace-right`],_=[`xMinYMin`,`xMidYMin`,`xMaxYMin`];else throw Error(`Correct katexImagesData or update code here to support
252
+ `+h+` children.`);for(var v=0;v<h;v++){var y=new kt([new At(d[v])],{width:`400em`,height:M(m),viewBox:`0 0 `+n+` `+p,preserveAspectRatio:_[v]+` slice`}),b=In([g[v]],[y],t);if(h===1)return{span:b,minWidth:f,height:m};b.style.height=M(m),l.push(b)}return{span:W([`stretchy`],l,t),minWidth:f,height:m}}}var{span:r,minWidth:i,height:a}=n();return r.height=a,r.style.height=M(a),i>0&&(r.style.minWidth=M(i)),r},Hr=function(e,t,n,r,i){var a,o=e.height+e.depth+n+r;if(/fbox|color|angl/.test(t)){if(a=W([`stretchy`,t],[],i),t===`fbox`){var s=i.color&&i.getColor();s&&(a.style.borderColor=s)}}else{var c=[];/^[bx]cancel$/.test(t)&&c.push(new jt({x1:`0`,y1:`0`,x2:`100%`,y2:`100%`,"stroke-width":`0.046em`})),/^x?cancel$/.test(t)&&c.push(new jt({x1:`0`,y1:`100%`,x2:`100%`,y2:`0`,"stroke-width":`0.046em`})),a=In([],[new kt(c,{width:`100%`,height:M(o)})],i)}return a.height=o,a.style.height=M(o),a},Ur={bin:1,close:1,inner:1,open:1,punct:1,rel:1},Wr={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1};function Gr(e){return e in Ur}function X(e,t){if(!e||e.type!==t)throw Error(`Expected node of type `+t+`, but got `+(e?`node of type `+e.type:String(e)));return e}function Kr(e){var t=qr(e);if(!t)throw Error(`Expected node of symbol group type, but got `+(e?`node of type `+e.type:String(e)));return t}function qr(e){return e&&(e.type===`atom`||Wr.hasOwnProperty(e.type))?e:null}var Jr=e=>{if(e instanceof Ot)return e;if(Pt(e)&&e.children.length===1)return Jr(e.children[0])},Yr=(e,t)=>{var n,r,i;e&&e.type===`supsub`?(r=X(e.base,`accent`),n=r.base,e.base=n,i=Nt(q(e,t)),e.base=r):(r=X(e,`accent`),n=r.base);var a=q(n,t.havingCrampedStyle()),o=r.isShifty&&Ee(n),s=0;o&&(s=Jr(a)?.skew??0);var c=r.label===`\\c`,l=c?a.height+a.depth:Math.min(a.height,t.fontMetrics().xHeight),u;if(r.isStretchy)u=Vr(r,t),u=G({positionType:`firstBaseline`,children:[{type:`elem`,elem:a},{type:`elem`,elem:u,wrapperClasses:[`svg-align`],wrapperStyle:s>0?{width:`calc(100% - `+M(2*s)+`)`,marginLeft:M(2*s)}:void 0}]});else{var d,f;r.label===`\\vec`?(d=Kn(`vec`,t),f=Gn.vec[1]):(d=Mn({type:`textord`,mode:r.mode,text:r.label},t,`textord`),d=Mt(d),d.italic=0,f=d.width,c&&(l+=d.depth)),u=W([`accent-body`],[d]);var p=r.label===`\\textcircled`;p&&(u.classes.push(`accent-full`),l=a.height);var m=s;p||(m-=f/2),u.style.left=M(m),r.label===`\\textcircled`&&(u.style.top=`.2em`),u=G({positionType:`firstBaseline`,children:[{type:`elem`,elem:a},{type:`kern`,size:-l},{type:`elem`,elem:u}]})}var h=W([`mord`,`accent`],[u],t);return i?(i.children[0]=h,i.height=Math.max(h.height,i.height),i.classes[0]=`mord`,i):h},Xr=(e,t)=>{var n=e.isStretchy?Rr(e.label):new J(`mo`,[xr(e.label,e.mode)]),r=new J(`mover`,[Y(e.base,t),n]);return r.setAttribute(`accent`,`true`),r},Zr=new RegExp([`\\acute`,`\\grave`,`\\ddot`,`\\tilde`,`\\bar`,`\\breve`,`\\check`,`\\hat`,`\\vec`,`\\dot`,`\\mathring`].map(e=>`\\`+e).join(`|`));K({type:`accent`,names:[`\\acute`,`\\grave`,`\\ddot`,`\\tilde`,`\\bar`,`\\breve`,`\\check`,`\\hat`,`\\vec`,`\\dot`,`\\mathring`,`\\widecheck`,`\\widehat`,`\\widetilde`,`\\overrightarrow`,`\\overleftarrow`,`\\Overrightarrow`,`\\overleftrightarrow`,`\\overgroup`,`\\overlinesegment`,`\\overleftharpoon`,`\\overrightharpoon`],props:{numArgs:1},handler:(e,t)=>{var n=nr(t[0]),r=!Zr.test(e.funcName),i=!r||e.funcName===`\\widehat`||e.funcName===`\\widetilde`||e.funcName===`\\widecheck`;return{type:`accent`,mode:e.parser.mode,label:e.funcName,isStretchy:r,isShifty:i,base:n}},htmlBuilder:Yr,mathmlBuilder:Xr}),K({type:`accent`,names:[`\\'`,"\\`",`\\^`,`\\~`,`\\=`,`\\u`,`\\.`,`\\"`,`\\c`,`\\r`,`\\H`,`\\v`,`\\textcircled`],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:[`primitive`]},handler:(e,t)=>{var n=t[0],r=e.parser.mode;return r===`math`&&(e.parser.settings.reportNonstrict(`mathVsTextAccents`,`LaTeX's accent `+e.funcName+` works only in text mode`),r=`text`),{type:`accent`,mode:r,label:e.funcName,isStretchy:!1,isShifty:!0,base:n}},htmlBuilder:Yr,mathmlBuilder:Xr}),K({type:`accentUnder`,names:[`\\underleftarrow`,`\\underrightarrow`,`\\underleftrightarrow`,`\\undergroup`,`\\underlinesegment`,`\\utilde`],props:{numArgs:1},handler:(e,t)=>{var{parser:n,funcName:r}=e,i=t[0];return{type:`accentUnder`,mode:n.mode,label:r,base:i}},htmlBuilder:(e,t)=>{var n=q(e.base,t),r=Vr(e,t),i=e.label===`\\utilde`?.12:0;return W([`mord`,`accentunder`],[G({positionType:`top`,positionData:n.height,children:[{type:`elem`,elem:r,wrapperClasses:[`svg-align`]},{type:`kern`,size:i},{type:`elem`,elem:n}]})],t)},mathmlBuilder:(e,t)=>{var n=Rr(e.label),r=new J(`munder`,[Y(e.base,t),n]);return r.setAttribute(`accentunder`,`true`),r}});var Qr=e=>{var t=new J(`mpadded`,e?[e]:[]);return t.setAttribute(`width`,`+0.6em`),t.setAttribute(`lspace`,`0.3em`),t};K({type:`xArrow`,names:[`\\xleftarrow`,`\\xrightarrow`,`\\xLeftarrow`,`\\xRightarrow`,`\\xleftrightarrow`,`\\xLeftrightarrow`,`\\xhookleftarrow`,`\\xhookrightarrow`,`\\xmapsto`,`\\xrightharpoondown`,`\\xrightharpoonup`,`\\xleftharpoondown`,`\\xleftharpoonup`,`\\xrightleftharpoons`,`\\xleftrightharpoons`,`\\xlongequal`,`\\xtwoheadrightarrow`,`\\xtwoheadleftarrow`,`\\xtofrom`,`\\xrightleftarrows`,`\\xrightequilibrium`,`\\xleftequilibrium`,`\\\\cdrightarrow`,`\\\\cdleftarrow`,`\\\\cdlongequal`],props:{numArgs:1,numOptionalArgs:1},handler(e,t,n){var{parser:r,funcName:i}=e;return{type:`xArrow`,mode:r.mode,label:i,body:t[0],below:n[0]}},htmlBuilder(e,t){var n=t.style,r=t.havingStyle(n.sup()),i=Bn(q(e.body,r,t),t),a=e.label.slice(0,2)===`\\x`?`x`:`cd`;i.classes.push(a+`-arrow-pad`);var o;e.below&&(r=t.havingStyle(n.sub()),o=Bn(q(e.below,r,t),t),o.classes.push(a+`-arrow-pad`));var s=Vr(e,t),c=-t.fontMetrics().axisHeight+.5*s.height,l=-t.fontMetrics().axisHeight-.5*s.height-.111;(i.depth>.25||e.label===`\\xleftequilibrium`)&&(l-=i.depth);var u;if(o){var d=-t.fontMetrics().axisHeight+o.height+.5*s.height+.111;u=G({positionType:`individualShift`,children:[{type:`elem`,elem:i,shift:l},{type:`elem`,elem:s,shift:c,wrapperClasses:[`svg-align`]},{type:`elem`,elem:o,shift:d}]})}else u=G({positionType:`individualShift`,children:[{type:`elem`,elem:i,shift:l},{type:`elem`,elem:s,shift:c,wrapperClasses:[`svg-align`]}]});return W([`mrel`,`x-arrow`],[u],t)},mathmlBuilder(e,t){var n=Rr(e.label);n.setAttribute(`minsize`,e.label.charAt(0)===`x`?`1.75em`:`3.0em`);var r;if(e.body){var i=Qr(Y(e.body,t));r=e.below?new J(`munderover`,[n,Qr(Y(e.below,t)),i]):new J(`mover`,[n,i])}else e.below?r=new J(`munder`,[n,Qr(Y(e.below,t))]):(r=Qr(),r=new J(`mover`,[n,r]));return r}});function $r(e,t){var n=cr(e.body,t,!0);return W([e.mclass],n,t)}function ei(e,t){var n,r=Er(e.body,t);return e.mclass===`minner`?n=new J(`mpadded`,r):e.mclass===`mord`?e.isCharacterBox?(n=r[0],n.type=`mi`):n=new J(`mi`,r):(e.isCharacterBox?(n=r[0],n.type=`mo`):n=new J(`mo`,r),e.mclass===`mbin`?(n.attributes.lspace=`0.22em`,n.attributes.rspace=`0.22em`):e.mclass===`mpunct`?(n.attributes.lspace=`0em`,n.attributes.rspace=`0.17em`):e.mclass===`mopen`||e.mclass===`mclose`?(n.attributes.lspace=`0em`,n.attributes.rspace=`0em`):e.mclass===`minner`&&(n.attributes.lspace=`0.0556em`,n.attributes.width=`+0.1111em`)),n}K({type:`mclass`,names:[`\\mathord`,`\\mathbin`,`\\mathrel`,`\\mathopen`,`\\mathclose`,`\\mathpunct`,`\\mathinner`],props:{numArgs:1,primitive:!0},handler(e,t){var{parser:n,funcName:r}=e,i=t[0];return{type:`mclass`,mode:n.mode,mclass:`m`+r.slice(5),body:rr(i),isCharacterBox:Ee(i)}},htmlBuilder:$r,mathmlBuilder:ei});var ti=e=>{var t=e.type===`ordgroup`&&e.body.length?e.body[0]:e;return t.type===`atom`&&(t.family===`bin`||t.family===`rel`)?`m`+t.family:`mord`};K({type:`mclass`,names:[`\\@binrel`],props:{numArgs:2},handler(e,t){var{parser:n}=e;return{type:`mclass`,mode:n.mode,mclass:ti(t[0]),body:rr(t[1]),isCharacterBox:Ee(t[1])}}}),K({type:`mclass`,names:[`\\stackrel`,`\\overset`,`\\underset`],props:{numArgs:2},handler(e,t){var{parser:n,funcName:r}=e,i=t[1],a=t[0],o=r===`\\stackrel`?`mrel`:ti(i),s={type:`op`,mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:r!==`\\stackrel`,body:rr(i)},c={type:`supsub`,mode:a.mode,base:s,sup:r===`\\underset`?null:a,sub:r===`\\underset`?a:null};return{type:`mclass`,mode:n.mode,mclass:o,body:[c],isCharacterBox:Ee(c)}},htmlBuilder:$r,mathmlBuilder:ei}),K({type:`pmb`,names:[`\\pmb`],props:{numArgs:1,allowedInText:!0},handler(e,t){var{parser:n}=e;return{type:`pmb`,mode:n.mode,mclass:ti(t[0]),body:rr(t[0])}},htmlBuilder(e,t){var n=cr(e.body,t,!0),r=W([e.mclass],n,t);return r.style.textShadow=`0.02em 0.01em 0.04px`,r},mathmlBuilder(e,t){var n=new J(`mstyle`,Er(e.body,t));return n.setAttribute(`style`,`text-shadow: 0.02em 0.01em 0.04px`),n}});var ni={">":`\\\\cdrightarrow`,"<":`\\\\cdleftarrow`,"=":`\\\\cdlongequal`,A:`\\uparrow`,V:`\\downarrow`,"|":`\\Vert`,".":`no arrow`},ri=()=>({type:`styling`,body:[],mode:`math`,style:`display`,resetFont:!0}),ii=e=>e.type===`textord`&&e.text===`@`,ai=(e,t)=>(e.type===`mathord`||e.type===`atom`)&&e.text===t;function oi(e,t,n){var r=ni[e];switch(r){case`\\\\cdrightarrow`:case`\\\\cdleftarrow`:return n.callFunction(r,[t[0]],[t[1]]);case`\\uparrow`:case`\\downarrow`:var i=n.callFunction(`\\\\cdleft`,[t[0]],[]),a={type:`atom`,text:r,mode:`math`,family:`rel`},o={type:`ordgroup`,mode:`math`,body:[i,n.callFunction(`\\Big`,[a],[]),n.callFunction(`\\\\cdright`,[t[1]],[])]};return n.callFunction(`\\\\cdparent`,[o],[]);case`\\\\cdlongequal`:return n.callFunction(`\\\\cdlongequal`,[],[]);case`\\Vert`:return n.callFunction(`\\Big`,[{type:`textord`,text:`\\Vert`,mode:`math`}],[]);default:return{type:`textord`,text:` `,mode:`math`}}}function si(e){var t=[];for(e.gullet.beginGroup(),e.gullet.macros.set(`\\cr`,`\\\\\\relax`),e.gullet.beginGroup();;){t.push(e.parseExpression(!1,`\\\\`)),e.gullet.endGroup(),e.gullet.beginGroup();var n=e.fetch().text;if(n===`&`||n===`\\\\`)e.consume();else if(n===`\\end`){t[t.length-1].length===0&&t.pop();break}else throw new A(`Expected \\\\ or \\cr or \\end`,e.nextToken)}for(var r=[],i=[r],a=0;a<t.length;a++){for(var o=t[a],s=ri(),c=0;c<o.length;c++)if(!ii(o[c]))s.body.push(o[c]);else{r.push(s),c+=1;var l=Kr(o[c]).text,u=[,,];if(u[0]={type:`ordgroup`,mode:`math`,body:[]},u[1]={type:`ordgroup`,mode:`math`,body:[]},!`=|.`.includes(l))if(`<>AV`.includes(l))for(var d=0;d<2;d++){for(var f=!0,p=c+1;p<o.length;p++){if(ai(o[p],l)){f=!1,c=p;break}if(ii(o[p]))throw new A(`Missing a `+l+` character to complete a CD arrow.`,o[p]);u[d].body.push(o[p])}if(f)throw new A(`Missing a `+l+` character to complete a CD arrow.`,o[c])}else throw new A(`Expected one of "<>AV=|." after @`,o[c]);var m={type:`styling`,body:[oi(l,u,e)],mode:`math`,style:`display`,resetFont:!0};r.push(m),s=ri()}a%2==0?r.push(s):r.shift(),r=[],i.push(r)}return e.gullet.endGroup(),e.gullet.endGroup(),{type:`array`,mode:`math`,body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:Array(i[0].length).fill({type:`align`,align:`c`,pregap:.25,postgap:.25}),colSeparationType:`CD`,hLinesBeforeRow:Array(i.length+1).fill([])}}K({type:`cdlabel`,names:[`\\\\cdleft`,`\\\\cdright`],props:{numArgs:1},handler(e,t){var{parser:n,funcName:r}=e;return{type:`cdlabel`,mode:n.mode,side:r.slice(4),label:t[0]}},htmlBuilder(e,t){var n=t.havingStyle(t.style.sup()),r=Bn(q(e.label,n,t),t);return r.classes.push(`cd-label-`+e.side),r.style.bottom=M(.8-r.depth),r.height=0,r.depth=0,r},mathmlBuilder(e,t){var n=new J(`mrow`,[Y(e.label,t)]);return n=new J(`mpadded`,[n]),n.setAttribute(`width`,`0`),e.side===`left`&&n.setAttribute(`lspace`,`-1width`),n.setAttribute(`voffset`,`0.7em`),n=new J(`mstyle`,[n]),n.setAttribute(`displaystyle`,`false`),n.setAttribute(`scriptlevel`,`1`),n}}),K({type:`cdlabelparent`,names:[`\\\\cdparent`],props:{numArgs:1},handler(e,t){var{parser:n}=e;return{type:`cdlabelparent`,mode:n.mode,fragment:t[0]}},htmlBuilder(e,t){var n=Bn(q(e.fragment,t),t);return n.classes.push(`cd-vert-arrow`),n},mathmlBuilder(e,t){return new J(`mrow`,[Y(e.fragment,t)])}}),K({type:`textord`,names:[`\\@char`],props:{numArgs:1,allowedInText:!0},handler(e,t){for(var{parser:n}=e,r=X(t[0],`ordgroup`).body,i=``,a=0;a<r.length;a++){var o=X(r[a],`textord`);i+=o.text}var s=parseInt(i),c;if(isNaN(s))throw new A(`\\@char has non-numeric argument `+i);if(s<0||s>=1114111)throw new A(`\\@char with invalid code point `+i);return s<=65535?c=String.fromCharCode(s):(s-=65536,c=String.fromCharCode((s>>10)+55296,(s&1023)+56320)),{type:`textord`,mode:n.mode,text:c}}});var ci=(e,t)=>zn(cr(e.body,t.withColor(e.color),!1)),li=(e,t)=>{var n=new J(`mstyle`,Er(e.body,t.withColor(e.color)));return n.setAttribute(`mathcolor`,e.color),n};K({type:`color`,names:[`\\textcolor`],props:{numArgs:2,allowedInText:!0,argTypes:[`color`,`original`]},handler(e,t){var{parser:n}=e,r=X(t[0],`color-token`).color,i=t[1];return{type:`color`,mode:n.mode,color:r,body:rr(i)}},htmlBuilder:ci,mathmlBuilder:li}),K({type:`color`,names:[`\\color`],props:{numArgs:1,allowedInText:!0,argTypes:[`color`]},handler(e,t){var{parser:n,breakOnTokenText:r}=e,i=X(t[0],`color-token`).color;n.gullet.macros.set(`\\current@color`,i);var a=n.parseExpression(!0,r);return{type:`color`,mode:n.mode,color:i,body:a}},htmlBuilder:ci,mathmlBuilder:li}),K({type:`cr`,names:[`\\\\`],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(e,t,n){var{parser:r}=e,i=r.gullet.future().text===`[`?r.parseSizeGroup(!0):null,a=!r.settings.displayMode||!r.settings.useStrictBehavior(`newLineInDisplayMode`,`In LaTeX, \\\\ or \\newline does nothing in display mode`);return{type:`cr`,mode:r.mode,newLine:a,size:i&&X(i,`size`).value}},htmlBuilder(e,t){var n=W([`mspace`],[],t);return e.newLine&&(n.classes.push(`newline`),e.size&&(n.style.marginTop=M(_t(e.size,t)))),n},mathmlBuilder(e,t){var n=new J(`mspace`);return e.newLine&&(n.setAttribute(`linebreak`,`newline`),e.size&&n.setAttribute(`height`,M(_t(e.size,t)))),n}});var ui={"\\global":`\\global`,"\\long":`\\\\globallong`,"\\\\globallong":`\\\\globallong`,"\\def":`\\gdef`,"\\gdef":`\\gdef`,"\\edef":`\\xdef`,"\\xdef":`\\xdef`,"\\let":`\\\\globallet`,"\\futurelet":`\\\\globalfuture`},di=e=>{var t=e.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(t))throw new A(`Expected a control sequence`,e);return t},fi=e=>{var t=e.gullet.popToken();return t.text===`=`&&(t=e.gullet.popToken(),t.text===` `&&(t=e.gullet.popToken())),t},pi=(e,t,n,r)=>{var i=e.gullet.macros.get(n.text);i??=(n.noexpand=!0,{tokens:[n],numArgs:0,unexpandable:!e.gullet.isExpandable(n.text)}),e.gullet.macros.set(t,i,r)};K({type:`internal`,names:[`\\global`,`\\long`,`\\\\globallong`],props:{numArgs:0,allowedInText:!0},handler(e){var{parser:t,funcName:n}=e;t.consumeSpaces();var r=t.fetch();if(ui[r.text])return(n===`\\global`||n===`\\\\globallong`)&&(r.text=ui[r.text]),X(t.parseFunction(),`internal`);throw new A(`Invalid token after macro prefix`,r)}}),K({type:`internal`,names:[`\\def`,`\\gdef`,`\\edef`,`\\xdef`],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var{parser:t,funcName:n}=e,r=t.gullet.popToken(),i=r.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new A(`Expected a control sequence`,r);for(var a=0,o,s=[[]];t.gullet.future().text!==`{`;)if(r=t.gullet.popToken(),r.text===`#`){if(t.gullet.future().text===`{`){o=t.gullet.future(),s[a].push(`{`);break}if(r=t.gullet.popToken(),!/^[1-9]$/.test(r.text))throw new A(`Invalid argument number "`+r.text+`"`);if(parseInt(r.text)!==a+1)throw new A(`Argument number "`+r.text+`" out of order`);a++,s.push([])}else if(r.text===`EOF`)throw new A(`Expected a macro definition`);else s[a].push(r.text);var{tokens:c}=t.gullet.consumeArg();return o&&c.unshift(o),(n===`\\edef`||n===`\\xdef`)&&(c=t.gullet.expandTokens(c),c.reverse()),t.gullet.macros.set(i,{tokens:c,numArgs:a,delimiters:s},n===ui[n]),{type:`internal`,mode:t.mode}}}),K({type:`internal`,names:[`\\let`,`\\\\globallet`],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var{parser:t,funcName:n}=e,r=di(t.gullet.popToken());return t.gullet.consumeSpaces(),pi(t,r,fi(t),n===`\\\\globallet`),{type:`internal`,mode:t.mode}}}),K({type:`internal`,names:[`\\futurelet`,`\\\\globalfuture`],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var{parser:t,funcName:n}=e,r=di(t.gullet.popToken()),i=t.gullet.popToken(),a=t.gullet.popToken();return pi(t,r,a,n===`\\\\globalfuture`),t.gullet.pushToken(a),t.gullet.pushToken(i),{type:`internal`,mode:t.mode}}});var mi=function(e,t,n){var r=zt(Ht.math[e]&&Ht.math[e].replace||e,t,n);if(!r)throw Error(`Unsupported symbol `+e+` and font size `+t+`.`);return r},hi=function(e,t,n,r){var i=n.havingBaseStyle(t),a=W(r.concat(i.sizingClasses(n)),[e],n),o=i.sizeMultiplier/n.sizeMultiplier;return a.height*=o,a.depth*=o,a.maxFontSize=i.sizeMultiplier,a},gi=function(e,t,n){var r=t.havingBaseStyle(n),i=(1-t.sizeMultiplier/r.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push(`delimcenter`),e.style.top=M(i),e.height-=i,e.depth+=i},_i=function(e,t,n,r,i,a){var o=hi(kn(e,`Main-Regular`,i,r),t,r,a);return n&&gi(o,r,t),o},vi=function(e,t,n,r){return kn(e,`Size`+t+`-Regular`,n,r)},yi=function(e,t,n,r,i,a){var o=vi(e,t,i,r),s=hi(W([`delimsizing`,`size`+t],[o],r),j.TEXT,r,a);return n&&gi(s,r,j.TEXT),s},bi=function(e,t,n){return{type:`elem`,elem:W([`delimsizinginner`,t===`Size1-Regular`?`delim-size1`:`delim-size4`],[W([],[kn(e,t,n)])])}},xi=function(e,t,n){var r=Ft[`Size4-Regular`][e.charCodeAt(0)]?Ft[`Size4-Regular`][e.charCodeAt(0)][4]:Ft[`Size1-Regular`][e.charCodeAt(0)][4],i=In([],[new kt([new At(`inner`,lt(e,Math.round(1e3*t)))],{width:M(r),height:M(t),style:`width:`+M(r),viewBox:`0 0 `+1e3*r+` `+Math.round(1e3*t),preserveAspectRatio:`xMinYMin`})],n);return i.height=t,i.style.height=M(t),i.style.width=M(r),{type:`elem`,elem:i}},Si=.008,Ci={type:`kern`,size:-1*Si},wi=new Set([`|`,`\\lvert`,`\\rvert`,`\\vert`]),Ti=new Set([`\\|`,`\\lVert`,`\\rVert`,`\\Vert`]),Ei=function(e,t,n,r,i,a){var o,s,c,l,u=``,d=0;o=c=l=e,s=null;var f=`Size1-Regular`;e===`\\uparrow`?c=l=`⏐`:e===`\\Uparrow`?c=l=`‖`:e===`\\downarrow`?o=c=`⏐`:e===`\\Downarrow`?o=c=`‖`:e===`\\updownarrow`?(o=`\\uparrow`,c=`⏐`,l=`\\downarrow`):e===`\\Updownarrow`?(o=`\\Uparrow`,c=`‖`,l=`\\Downarrow`):wi.has(e)?(c=`∣`,u=`vert`,d=333):Ti.has(e)?(c=`∥`,u=`doublevert`,d=556):e===`[`||e===`\\lbrack`?(o=`⎡`,c=`⎢`,l=`⎣`,f=`Size4-Regular`,u=`lbrack`,d=667):e===`]`||e===`\\rbrack`?(o=`⎤`,c=`⎥`,l=`⎦`,f=`Size4-Regular`,u=`rbrack`,d=667):e===`\\lfloor`||e===`⌊`?(c=o=`⎢`,l=`⎣`,f=`Size4-Regular`,u=`lfloor`,d=667):e===`\\lceil`||e===`⌈`?(o=`⎡`,c=l=`⎢`,f=`Size4-Regular`,u=`lceil`,d=667):e===`\\rfloor`||e===`⌋`?(c=o=`⎥`,l=`⎦`,f=`Size4-Regular`,u=`rfloor`,d=667):e===`\\rceil`||e===`⌉`?(o=`⎤`,c=l=`⎥`,f=`Size4-Regular`,u=`rceil`,d=667):e===`(`||e===`\\lparen`?(o=`⎛`,c=`⎜`,l=`⎝`,f=`Size4-Regular`,u=`lparen`,d=875):e===`)`||e===`\\rparen`?(o=`⎞`,c=`⎟`,l=`⎠`,f=`Size4-Regular`,u=`rparen`,d=875):e===`\\{`||e===`\\lbrace`?(o=`⎧`,s=`⎨`,l=`⎩`,c=`⎪`,f=`Size4-Regular`):e===`\\}`||e===`\\rbrace`?(o=`⎫`,s=`⎬`,l=`⎭`,c=`⎪`,f=`Size4-Regular`):e===`\\lgroup`||e===`⟮`?(o=`⎧`,l=`⎩`,c=`⎪`,f=`Size4-Regular`):e===`\\rgroup`||e===`⟯`?(o=`⎫`,l=`⎭`,c=`⎪`,f=`Size4-Regular`):e===`\\lmoustache`||e===`⎰`?(o=`⎧`,l=`⎭`,c=`⎪`,f=`Size4-Regular`):(e===`\\rmoustache`||e===`⎱`)&&(o=`⎫`,l=`⎩`,c=`⎪`,f=`Size4-Regular`);var p=mi(o,f,i),m=p.height+p.depth,h=mi(c,f,i),g=h.height+h.depth,_=mi(l,f,i),v=_.height+_.depth,y=0,b=1;if(s!==null){var x=mi(s,f,i);y=x.height+x.depth,b=2}var S=m+v+y,C=S+Math.max(0,Math.ceil((t-S)/(b*g)))*b*g,w=r.fontMetrics().axisHeight;n&&(w*=r.sizeMultiplier);var T=C/2-w,E=[];if(u.length>0){var ee=C-m-v,te=Math.round(C*1e3),ne=dt(u,Math.round(ee*1e3)),D=new At(u,ne),re=M(d/1e3),ie=M(te/1e3),ae=In([],[new kt([D],{width:re,height:ie,viewBox:`0 0 `+d+` `+te})],r);ae.height=te/1e3,ae.style.width=re,ae.style.height=ie,E.push({type:`elem`,elem:ae})}else{if(E.push(bi(l,f,i)),E.push(Ci),s===null){var oe=C-m-v+2*Si;E.push(xi(c,oe,r))}else{var se=(C-m-v-y)/2+2*Si;E.push(xi(c,se,r)),E.push(Ci),E.push(bi(s,f,i)),E.push(Ci),E.push(xi(c,se,r))}E.push(Ci),E.push(bi(o,f,i))}var ce=r.havingBaseStyle(j.TEXT);return hi(W([`delimsizing`,`mult`],[G({positionType:`bottom`,positionData:T,children:E})],ce),j.TEXT,r,a)},Di=80,Oi=.08,ki=function(e,t,n,r,i){return In([`hide-tail`],[new kt([new At(e,ct(e,r,n))],{width:`400em`,height:M(t),viewBox:`0 0 400000 `+n,preserveAspectRatio:`xMinYMin slice`})],i)},Ai=function(e,t){var n=t.havingBaseSizing(),r=Bi(`\\surd`,e*n.sizeMultiplier,Ri,n),i=n.sizeMultiplier,a=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness),o,s,c,l,u;return r.type===`small`?(l=1e3+1e3*a+Di,e<1?i=1:e<1.4&&(i=.7),s=(1+a+Oi)/i,c=(1+a)/i,o=ki(`sqrtMain`,s,l,a,t),o.style.minWidth=`0.853em`,u=.833/i):r.type===`large`?(l=(1e3+Di)*Pi[r.size],c=(Pi[r.size]+a)/i,s=(Pi[r.size]+a+Oi)/i,o=ki(`sqrtSize`+r.size,s,l,a,t),o.style.minWidth=`1.02em`,u=1/i):(s=e+a+Oi,c=e+a,l=Math.floor(1e3*e+a)+Di,o=ki(`sqrtTall`,s,l,a,t),o.style.minWidth=`0.742em`,u=1.056),o.height=c,o.style.height=M(s),{span:o,advanceWidth:u,ruleWidth:(t.fontMetrics().sqrtRuleThickness+a)*i}},ji=new Set([`(`,`\\lparen`,`)`,`\\rparen`,`[`,`\\lbrack`,`]`,`\\rbrack`,`\\{`,`\\lbrace`,`\\}`,`\\rbrace`,`\\lfloor`,`\\rfloor`,`⌊`,`⌋`,`\\lceil`,`\\rceil`,`⌈`,`⌉`,`\\surd`]),Mi=new Set([`\\uparrow`,`\\downarrow`,`\\updownarrow`,`\\Uparrow`,`\\Downarrow`,`\\Updownarrow`,`|`,`\\|`,`\\vert`,`\\Vert`,`\\lvert`,`\\rvert`,`\\lVert`,`\\rVert`,`\\lgroup`,`\\rgroup`,`⟮`,`⟯`,`\\lmoustache`,`\\rmoustache`,`⎰`,`⎱`]),Ni=new Set([`<`,`>`,`\\langle`,`\\rangle`,`/`,`\\backslash`,`\\lt`,`\\gt`]),Pi=[0,1.2,1.8,2.4,3],Fi=function(e,t,n,r,i){if(e===`<`||e===`\\lt`||e===`⟨`?e=`\\langle`:(e===`>`||e===`\\gt`||e===`⟩`)&&(e=`\\rangle`),ji.has(e)||Ni.has(e))return yi(e,t,!1,n,r,i);if(Mi.has(e))return Ei(e,Pi[t],!1,n,r,i);throw new A(`Illegal delimiter: '`+e+`'`)},Ii=[{type:`small`,style:j.SCRIPTSCRIPT},{type:`small`,style:j.SCRIPT},{type:`small`,style:j.TEXT},{type:`large`,size:1},{type:`large`,size:2},{type:`large`,size:3},{type:`large`,size:4}],Li=[{type:`small`,style:j.SCRIPTSCRIPT},{type:`small`,style:j.SCRIPT},{type:`small`,style:j.TEXT},{type:`stack`}],Ri=[{type:`small`,style:j.SCRIPTSCRIPT},{type:`small`,style:j.SCRIPT},{type:`small`,style:j.TEXT},{type:`large`,size:1},{type:`large`,size:2},{type:`large`,size:3},{type:`large`,size:4},{type:`stack`}],zi=function(e){if(e.type===`small`)return`Main-Regular`;if(e.type===`large`)return`Size`+e.size+`-Regular`;if(e.type===`stack`)return`Size4-Regular`;var t=e.type;throw Error(`Add support for delim type '`+t+`' here.`)},Bi=function(e,t,n,r){for(var i=Math.min(2,3-r.style.size);i<n.length;i++){var a=n[i];if(a.type===`stack`)break;var o=mi(e,zi(a),`math`),s=o.height+o.depth;if(a.type===`small`){var c=r.havingBaseStyle(a.style);s*=c.sizeMultiplier}if(s>t)return a}return n[n.length-1]},Vi=function(e,t,n,r,i,a){e===`<`||e===`\\lt`||e===`⟨`?e=`\\langle`:(e===`>`||e===`\\gt`||e===`⟩`)&&(e=`\\rangle`);var o=Ni.has(e)?Ii:ji.has(e)?Ri:Li,s=Bi(e,t,o,r);return s.type===`small`?_i(e,s.style,n,r,i,a):s.type===`large`?yi(e,s.size,n,r,i,a):Ei(e,t,n,r,i,a)},Hi=function(e,t,n,r,i,a){var o=r.fontMetrics().axisHeight*r.sizeMultiplier,s=901,c=5/r.fontMetrics().ptPerEm,l=Math.max(t-o,n+o);return Vi(e,Math.max(l/500*s,2*l-c),!0,r,i,a)},Ui={"\\bigl":{mclass:`mopen`,size:1},"\\Bigl":{mclass:`mopen`,size:2},"\\biggl":{mclass:`mopen`,size:3},"\\Biggl":{mclass:`mopen`,size:4},"\\bigr":{mclass:`mclose`,size:1},"\\Bigr":{mclass:`mclose`,size:2},"\\biggr":{mclass:`mclose`,size:3},"\\Biggr":{mclass:`mclose`,size:4},"\\bigm":{mclass:`mrel`,size:1},"\\Bigm":{mclass:`mrel`,size:2},"\\biggm":{mclass:`mrel`,size:3},"\\Biggm":{mclass:`mrel`,size:4},"\\big":{mclass:`mord`,size:1},"\\Big":{mclass:`mord`,size:2},"\\bigg":{mclass:`mord`,size:3},"\\Bigg":{mclass:`mord`,size:4}},Wi=new Set(`(,\\lparen,),\\rparen,[,\\lbrack,],\\rbrack,\\{,\\lbrace,\\},\\rbrace,\\lfloor,\\rfloor,⌊,⌋,\\lceil,\\rceil,⌈,⌉,<,>,\\langle,⟨,\\rangle,⟩,\\lt,\\gt,\\lvert,\\rvert,\\lVert,\\rVert,\\lgroup,\\rgroup,⟮,⟯,\\lmoustache,\\rmoustache,⎰,⎱,/,\\backslash,|,\\vert,\\|,\\Vert,\\uparrow,\\Uparrow,\\downarrow,\\Downarrow,\\updownarrow,\\Updownarrow,.`.split(`,`));function Gi(e){return`isMiddle`in e}function Ki(e,t){var n=qr(e);if(n&&Wi.has(n.text))return n;throw n?new A(`Invalid delimiter '`+n.text+`' after '`+t.funcName+`'`,e):new A(`Invalid delimiter type '`+e.type+`'`,e)}K({type:`delimsizing`,names:[`\\bigl`,`\\Bigl`,`\\biggl`,`\\Biggl`,`\\bigr`,`\\Bigr`,`\\biggr`,`\\Biggr`,`\\bigm`,`\\Bigm`,`\\biggm`,`\\Biggm`,`\\big`,`\\Big`,`\\bigg`,`\\Bigg`],props:{numArgs:1,argTypes:[`primitive`]},handler:(e,t)=>{var n=Ki(t[0],e);return{type:`delimsizing`,mode:e.parser.mode,size:Ui[e.funcName].size,mclass:Ui[e.funcName].mclass,delim:n.text}},htmlBuilder:(e,t)=>e.delim===`.`?W([e.mclass]):Fi(e.delim,e.size,t,e.mode,[e.mclass]),mathmlBuilder:e=>{var t=[];e.delim!==`.`&&t.push(xr(e.delim,e.mode));var n=new J(`mo`,t);e.mclass===`mopen`||e.mclass===`mclose`?n.setAttribute(`fence`,`true`):n.setAttribute(`fence`,`false`),n.setAttribute(`stretchy`,`true`);var r=M(Pi[e.size]);return n.setAttribute(`minsize`,r),n.setAttribute(`maxsize`,r),n}});function qi(e){if(!e.body)throw Error(`Bug: The leftright ParseNode wasn't fully parsed.`)}K({type:`leftright-right`,names:[`\\right`],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var n=e.parser.gullet.macros.get(`\\current@color`);if(n&&typeof n!=`string`)throw new A(`\\current@color set to non-string in \\right`);return{type:`leftright-right`,mode:e.parser.mode,delim:Ki(t[0],e).text,color:n}}}),K({type:`leftright`,names:[`\\left`],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var n=Ki(t[0],e),r=e.parser;++r.leftrightDepth;var i=r.parseExpression(!1);--r.leftrightDepth,r.expect(`\\right`,!1);var a=X(r.parseFunction(),`leftright-right`);return{type:`leftright`,mode:r.mode,body:i,left:n.text,right:a.delim,rightColor:a.color}},htmlBuilder:(e,t)=>{qi(e);for(var n=cr(e.body,t,!0,[`mopen`,`mclose`]),r=0,i=0,a=!1,o=0;o<n.length;o++){var s=n[o];Gi(s)?a=!0:(r=Math.max(n[o].height,r),i=Math.max(n[o].depth,i))}r*=t.sizeMultiplier,i*=t.sizeMultiplier;var c=e.left===`.`?pr(t,[`mopen`]):Hi(e.left,r,i,t,e.mode,[`mopen`]);if(n.unshift(c),a)for(var l=1;l<n.length;l++){var u=n[l];if(Gi(u)){var d=u.isMiddle;n[l]=Hi(d.delim,r,i,d.options,e.mode,[])}}var f;if(e.right===`.`)f=pr(t,[`mclose`]);else{var p=e.rightColor?t.withColor(e.rightColor):t;f=Hi(e.right,r,i,p,e.mode,[`mclose`])}return n.push(f),W([`minner`],n,t)},mathmlBuilder:(e,t)=>{qi(e);var n=Er(e.body,t);if(e.left!==`.`){var r=new J(`mo`,[xr(e.left,e.mode)]);r.setAttribute(`fence`,`true`),n.unshift(r)}if(e.right!==`.`){var i=new J(`mo`,[xr(e.right,e.mode)]);i.setAttribute(`fence`,`true`),e.rightColor&&i.setAttribute(`mathcolor`,e.rightColor),n.push(i)}return Sr(n)}}),K({type:`middle`,names:[`\\middle`],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var n=Ki(t[0],e);if(!e.parser.leftrightDepth)throw new A(`\\middle without preceding \\left`,n);return{type:`middle`,mode:e.parser.mode,delim:n.text}},htmlBuilder:(e,t)=>{var n;return e.delim===`.`?n=pr(t,[]):(n=Fi(e.delim,1,t,e.mode,[]),n.isMiddle={delim:e.delim,options:t}),n},mathmlBuilder:(e,t)=>{var n=new J(`mo`,[e.delim===`\\vert`||e.delim===`|`?xr(`|`,`text`):xr(e.delim,e.mode)]);return n.setAttribute(`fence`,`true`),n.setAttribute(`lspace`,`0.05em`),n.setAttribute(`rspace`,`0.05em`),n}});var Ji=(e,t)=>{var n=Bn(q(e.body,t),t),r=e.label.slice(1),i=t.sizeMultiplier,a,o,s=Ee(e.body);if(r===`sout`)a=W([`stretchy`,`sout`]),a.height=t.fontMetrics().defaultRuleThickness/i,o=-.5*t.fontMetrics().xHeight;else if(r===`phase`){var c=_t({number:.6,unit:`pt`},t),l=_t({number:.35,unit:`ex`},t),u=t.havingBaseSizing();i/=u.sizeMultiplier;var d=n.height+n.depth+c+l;n.style.paddingLeft=M(d/2+c);var f=Math.floor(1e3*d*i);a=In([`hide-tail`],[new kt([new At(`phase`,ot(f))],{width:`400em`,height:M(f/1e3),viewBox:`0 0 400000 `+f,preserveAspectRatio:`xMinYMin slice`})],t),a.style.height=M(d),o=n.depth+c+l}else{/cancel/.test(r)?s||n.classes.push(`cancel-pad`):r===`angl`?n.classes.push(`anglpad`):n.classes.push(`boxpad`);var p,m,h=0;/box/.test(r)?(h=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness),p=t.fontMetrics().fboxsep+(r===`colorbox`?0:h),m=p):r===`angl`?(h=Math.max(t.fontMetrics().defaultRuleThickness,t.minRuleThickness),p=4*h,m=Math.max(0,.25-n.depth)):(p=s?.2:0,m=p),a=Hr(n,r,p,m,t),/fbox|boxed|fcolorbox/.test(r)?(a.style.borderStyle=`solid`,a.style.borderWidth=M(h)):r===`angl`&&h!==.049&&(a.style.borderTopWidth=M(h),a.style.borderRightWidth=M(h)),o=n.depth+m,e.backgroundColor&&(a.style.backgroundColor=e.backgroundColor,e.borderColor&&(a.style.borderColor=e.borderColor))}var g;if(e.backgroundColor)g=G({positionType:`individualShift`,children:[{type:`elem`,elem:a,shift:o},{type:`elem`,elem:n,shift:0}]});else{var _=/cancel|phase/.test(r)?[`svg-align`]:[];g=G({positionType:`individualShift`,children:[{type:`elem`,elem:n,shift:0},{type:`elem`,elem:a,shift:o,wrapperClasses:_}]})}return/cancel/.test(r)&&(g.height=n.height,g.depth=n.depth),/cancel/.test(r)&&!s?W([`mord`,`cancel-lap`],[g],t):W([`mord`],[g],t)},Yi=(e,t)=>{var n,r=new J(e.label.includes(`colorbox`)?`mpadded`:`menclose`,[Y(e.body,t)]);switch(e.label){case`\\cancel`:r.setAttribute(`notation`,`updiagonalstrike`);break;case`\\bcancel`:r.setAttribute(`notation`,`downdiagonalstrike`);break;case`\\phase`:r.setAttribute(`notation`,`phasorangle`);break;case`\\sout`:r.setAttribute(`notation`,`horizontalstrike`);break;case`\\fbox`:r.setAttribute(`notation`,`box`);break;case`\\angl`:r.setAttribute(`notation`,`actuarial`);break;case`\\fcolorbox`:case`\\colorbox`:if(n=t.fontMetrics().fboxsep*t.fontMetrics().ptPerEm,r.setAttribute(`width`,`+`+2*n+`pt`),r.setAttribute(`height`,`+`+2*n+`pt`),r.setAttribute(`lspace`,n+`pt`),r.setAttribute(`voffset`,n+`pt`),e.label===`\\fcolorbox`){var i=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness);r.setAttribute(`style`,`border: `+M(i)+` solid `+e.borderColor)}break;case`\\xcancel`:r.setAttribute(`notation`,`updiagonalstrike downdiagonalstrike`);break}return e.backgroundColor&&r.setAttribute(`mathbackground`,e.backgroundColor),r};K({type:`enclose`,names:[`\\colorbox`],props:{numArgs:2,allowedInText:!0,argTypes:[`color`,`hbox`]},handler(e,t,n){var{parser:r,funcName:i}=e,a=X(t[0],`color-token`).color,o=t[1];return{type:`enclose`,mode:r.mode,label:i,backgroundColor:a,body:o}},htmlBuilder:Ji,mathmlBuilder:Yi}),K({type:`enclose`,names:[`\\fcolorbox`],props:{numArgs:3,allowedInText:!0,argTypes:[`color`,`color`,`hbox`]},handler(e,t,n){var{parser:r,funcName:i}=e,a=X(t[0],`color-token`).color,o=X(t[1],`color-token`).color,s=t[2];return{type:`enclose`,mode:r.mode,label:i,backgroundColor:o,borderColor:a,body:s}},htmlBuilder:Ji,mathmlBuilder:Yi}),K({type:`enclose`,names:[`\\fbox`],props:{numArgs:1,argTypes:[`hbox`],allowedInText:!0},handler(e,t){var{parser:n}=e;return{type:`enclose`,mode:n.mode,label:`\\fbox`,body:t[0]}}}),K({type:`enclose`,names:[`\\cancel`,`\\bcancel`,`\\xcancel`,`\\phase`],props:{numArgs:1},handler(e,t){var{parser:n,funcName:r}=e,i=t[0];return{type:`enclose`,mode:n.mode,label:r,body:i}},htmlBuilder:Ji,mathmlBuilder:Yi}),K({type:`enclose`,names:[`\\sout`],props:{numArgs:1,allowedInText:!0},handler(e,t){var{parser:n,funcName:r}=e;n.mode===`math`&&n.settings.reportNonstrict(`mathVsSout`,`LaTeX's \\sout works only in text mode`);var i=t[0];return{type:`enclose`,mode:n.mode,label:r,body:i}},htmlBuilder:Ji,mathmlBuilder:Yi}),K({type:`enclose`,names:[`\\angl`],props:{numArgs:1,argTypes:[`hbox`],allowedInText:!1},handler(e,t){var{parser:n}=e;return{type:`enclose`,mode:n.mode,label:`\\angl`,body:t[0]}}});var Xi={};function Zi(e){for(var{type:t,names:n,props:r,handler:i,htmlBuilder:a,mathmlBuilder:o}=e,s={type:t,numArgs:r.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},c=0;c<n.length;++c)Xi[n[c]]=s;a&&($n[t]=a),o&&(er[t]=o)}var Qi={};function Z(e,t){Qi[e]=t}var $i=class e{constructor(e,t,n){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=t,this.end=n}static range(t,n){return n?!t||!t.loc||!n.loc||t.loc.lexer!==n.loc.lexer?null:new e(t.loc.lexer,t.loc.start,n.loc.end):t&&t.loc}},ea=class e{constructor(e,t){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=t}range(t,n){return new e(n,$i.range(this,t))}};function ta(e){var t=[];e.consumeSpaces();var n=e.fetch().text;for(n===`\\relax`&&(e.consume(),e.consumeSpaces(),n=e.fetch().text);n===`\\hline`||n===`\\hdashline`;)e.consume(),t.push(n===`\\hdashline`),e.consumeSpaces(),n=e.fetch().text;return t}var na=e=>{if(!e.parser.settings.displayMode)throw new A(`{`+e.envName+`} can be used only in display mode.`)},ra=new Set([`gather`,`gather*`]);function ia(e){if(!e.includes(`ed`))return!e.includes(`*`)}function aa(e,t,n){var{hskipBeforeAndAfter:r,addJot:i,cols:a,arraystretch:o,colSeparationType:s,autoTag:c,singleRow:l,emptySingleRow:u,maxNumCols:d,leqno:f}=t;if(e.gullet.beginGroup(),l||e.gullet.macros.set(`\\cr`,`\\\\\\relax`),!o){var p=e.gullet.expandMacroAsText(`\\arraystretch`);if(p==null)o=1;else if(o=parseFloat(p),!o||o<0)throw new A(`Invalid \\arraystretch: `+p)}e.gullet.beginGroup();var m=[],h=[m],g=[],_=[],v=c==null?void 0:[];function y(){c&&e.gullet.macros.set(`\\@eqnsw`,`1`,!0)}function b(){v&&(e.gullet.macros.get(`\\df@tag`)?(v.push(e.subparse([new ea(`\\df@tag`)])),e.gullet.macros.set(`\\df@tag`,void 0,!0)):v.push(!!c&&e.gullet.macros.get(`\\@eqnsw`)===`1`))}for(y(),_.push(ta(e));;){var x=e.parseExpression(!1,l?`\\end`:`\\\\`);e.gullet.endGroup(),e.gullet.beginGroup();var S={type:`ordgroup`,mode:e.mode,body:x};n&&(S={type:`styling`,mode:e.mode,style:n,resetFont:!0,body:[S]}),m.push(S);var C=e.fetch().text;if(C===`&`){if(d&&m.length===d){if(l||s)throw new A(`Too many tab characters: &`,e.nextToken);e.settings.reportNonstrict(`textEnv`,`Too few columns specified in the {array} column argument.`)}e.consume()}else if(C===`\\end`){b(),m.length===1&&S.type===`styling`&&S.body.length===1&&S.body[0].type===`ordgroup`&&S.body[0].body.length===0&&(h.length>1||!u)&&h.pop(),_.length<h.length+1&&_.push([]);break}else if(C===`\\\\`){e.consume();var w=void 0;e.gullet.future().text!==` `&&(w=e.parseSizeGroup(!0)),g.push(w?w.value:null),b(),_.push(ta(e)),m=[],h.push(m),y()}else throw new A(`Expected & or \\\\ or \\cr or \\end`,e.nextToken)}return e.gullet.endGroup(),e.gullet.endGroup(),{type:`array`,mode:e.mode,addJot:i,arraystretch:o,body:h,cols:a,rowGaps:g,hskipBeforeAndAfter:r,hLinesBeforeRow:_,colSeparationType:s,tags:v,leqno:f}}function oa(e){return e.slice(0,1)===`d`?`display`:`text`}var sa=function(e,t){var n,r,i=e.body.length,a=e.hLinesBeforeRow,o=0,s=Array(i),c=[],l=Math.max(t.fontMetrics().arrayRuleWidth,t.minRuleThickness),u=1/t.fontMetrics().ptPerEm,d=5*u;e.colSeparationType&&e.colSeparationType===`small`&&(d=.2778*(t.havingStyle(j.SCRIPT).sizeMultiplier/t.sizeMultiplier));var f=e.colSeparationType===`CD`?_t({number:3,unit:`ex`},t):12*u,p=3*u,m=e.arraystretch*f,h=.7*m,g=.3*m,_=0;function v(e){for(var t=0;t<e.length;++t)t>0&&(_+=.25),c.push({pos:_,isDashed:e[t]})}for(v(a[0]),n=0;n<e.body.length;++n){var y=e.body[n],b=h,x=g;o<y.length&&(o=y.length);var S={cells:Array(y.length),height:0,depth:0,pos:0};for(r=0;r<y.length;++r){var C=q(y[r],t);x<C.depth&&(x=C.depth),b<C.height&&(b=C.height),S.cells[r]=C}var w=e.rowGaps[n],T=0;w&&(T=_t(w,t),T>0&&(T+=g,x<T&&(x=T),T=0)),e.addJot&&n<e.body.length-1&&(x+=p),S.height=b,S.depth=x,_+=b,S.pos=_,_+=x+T,s[n]=S,v(a[n+1])}var E=_/2+t.fontMetrics().axisHeight,ee=e.cols||[],te=[],ne,D,re=[];if(e.tags&&e.tags.some(e=>e))for(n=0;n<i;++n){var ie=s[n],ae=ie.pos-E,oe=e.tags[n],se=void 0;se=oe===!0?W([`eqn-num`],[],t):oe===!1?W([],[],t):W([],cr(oe,t,!0),t),se.depth=ie.depth,se.height=ie.height,re.push({type:`elem`,elem:se,shift:ae})}for(r=0,D=0;r<o||D<ee.length;++r,++D){for(var ce=ee[D],le=!0;(ue=ce)?.type===`separator`;){var ue;if(le||(ne=W([`arraycolsep`],[]),ne.style.width=M(t.fontMetrics().doubleRuleSep),te.push(ne)),ce.separator===`|`||ce.separator===`:`){var de=ce.separator===`|`?`solid`:`dashed`,fe=W([`vertical-separator`],[],t);fe.style.height=M(_),fe.style.borderRightWidth=M(l),fe.style.borderRightStyle=de,fe.style.margin=`0 `+M(-l/2);var pe=_-E;pe&&(fe.style.verticalAlign=M(-pe)),te.push(fe)}else throw new A(`Invalid separator type: `+ce.separator);D++,ce=ee[D],le=!1}if(!(r>=o)){var me=void 0;(r>0||e.hskipBeforeAndAfter)&&(me=ce?.pregap??d,me!==0&&(ne=W([`arraycolsep`],[]),ne.style.width=M(me),te.push(ne)));var he=[];for(n=0;n<i;++n){var ge=s[n],_e=ge.cells[r];if(_e){var ve=ge.pos-E;_e.depth=ge.depth,_e.height=ge.height,he.push({type:`elem`,elem:_e,shift:ve})}}var O=G({positionType:`individualShift`,children:he}),k=W([`col-align-`+(ce?.align||`c`)],[O]);te.push(k),(r<o-1||e.hskipBeforeAndAfter)&&(me=ce?.postgap??d,me!==0&&(ne=W([`arraycolsep`],[]),ne.style.width=M(me),te.push(ne)))}}var ye=W([`mtable`],te);if(c.length>0){for(var be=Ln(`hline`,t,l),xe=Ln(`hdashline`,t,l),Se=[{type:`elem`,elem:ye,shift:0}];c.length>0;){var Ce=c.pop(),we=Ce.pos-E;Ce.isDashed?Se.push({type:`elem`,elem:xe,shift:we}):Se.push({type:`elem`,elem:be,shift:we})}ye=G({positionType:`individualShift`,children:Se})}if(re.length===0)return W([`mord`],[ye],t);var Te=W([`tag`],[G({positionType:`individualShift`,children:re})],t);return zn([ye,Te])},ca={c:`center `,l:`left `,r:`right `},la=function(e,t){for(var n=[],r=new J(`mtd`,[],[`mtr-glue`]),i=new J(`mtd`,[],[`mml-eqn-num`]),a=0;a<e.body.length;a++){for(var o=e.body[a],s=[],c=0;c<o.length;c++)s.push(new J(`mtd`,[Y(o[c],t)]));e.tags&&e.tags[a]&&(s.unshift(r),s.push(r),e.leqno?s.unshift(i):s.push(i)),n.push(new J(`mtr`,s))}var l=new J(`mtable`,n),u=e.arraystretch===.5?.1:.16+e.arraystretch-1+(e.addJot?.09:0);l.setAttribute(`rowspacing`,M(u));var d=``,f=``;if(e.cols&&e.cols.length>0){var p=e.cols,m=``,h=!1,g=0,_=p.length;p[0].type===`separator`&&(d+=`top `,g=1),p[p.length-1].type===`separator`&&(d+=`bottom `,--_);for(var v=g;v<_;v++){var y=p[v];y.type===`align`?(f+=ca[y.align],h&&(m+=`none `),h=!0):y.type===`separator`&&(h&&=(m+=y.separator===`|`?`solid `:`dashed `,!1))}l.setAttribute(`columnalign`,f.trim()),/[sd]/.test(m)&&l.setAttribute(`columnlines`,m.trim())}if(e.colSeparationType===`align`){for(var b=e.cols||[],x=``,S=1;S<b.length;S++)x+=S%2?`0em `:`1em `;l.setAttribute(`columnspacing`,x.trim())}else e.colSeparationType===`alignat`||e.colSeparationType===`gather`?l.setAttribute(`columnspacing`,`0em`):e.colSeparationType===`small`?l.setAttribute(`columnspacing`,`0.2778em`):e.colSeparationType===`CD`?l.setAttribute(`columnspacing`,`0.5em`):l.setAttribute(`columnspacing`,`1em`);var C=``,w=e.hLinesBeforeRow;d+=w[0].length>0?`left `:``,d+=w[w.length-1].length>0?`right `:``;for(var T=1;T<w.length-1;T++)C+=w[T].length===0?`none `:w[T][0]?`dashed `:`solid `;return/[sd]/.test(C)&&l.setAttribute(`rowlines`,C.trim()),d!==``&&(l=new J(`menclose`,[l]),l.setAttribute(`notation`,d.trim())),e.arraystretch&&e.arraystretch<1&&(l=new J(`mstyle`,[l]),l.setAttribute(`scriptlevel`,`1`)),l},ua=function(e,t){e.envName.includes(`ed`)||na(e);var n=[],r=e.envName.includes(`at`)?`alignat`:`align`,i=e.envName===`split`,a=aa(e.parser,{cols:n,addJot:!0,autoTag:i?void 0:ia(e.envName),emptySingleRow:!0,colSeparationType:r,maxNumCols:i?2:void 0,leqno:e.parser.settings.leqno},`display`),o=0,s=0,c={type:`ordgroup`,mode:e.mode,body:[]};if(t[0]&&t[0].type===`ordgroup`){for(var l=``,u=0;u<t[0].body.length;u++){var d=X(t[0].body[u],`textord`);l+=d.text}o=Number(l),s=o*2}var f=!s;a.body.forEach(function(e){for(var t=1;t<e.length;t+=2)X(X(e[t],`styling`).body[0],`ordgroup`).body.unshift(c);if(f)s<e.length&&(s=e.length);else{var n=e.length/2;if(o<n)throw new A(`Too many math in a row: `+(`expected `+o+`, but got `+n),e[0])}});for(var p=0;p<s;++p){var m=`r`,h=0;p%2==1?m=`l`:p>0&&f&&(h=1),n[p]={type:`align`,align:m,pregap:h,postgap:0}}return a.colSeparationType=f?`align`:`alignat`,a};Zi({type:`array`,names:[`array`,`darray`],props:{numArgs:1},handler(e,t){var n=(qr(t[0])?[t[0]]:X(t[0],`ordgroup`).body).map(function(e){var t=Kr(e).text;if(`lcr`.includes(t))return{type:`align`,align:t};if(t===`|`)return{type:`separator`,separator:`|`};if(t===`:`)return{type:`separator`,separator:`:`};throw new A(`Unknown column alignment: `+t,e)}),r={cols:n,hskipBeforeAndAfter:!0,maxNumCols:n.length};return aa(e.parser,r,oa(e.envName))},htmlBuilder:sa,mathmlBuilder:la}),Zi({type:`array`,names:[`matrix`,`pmatrix`,`bmatrix`,`Bmatrix`,`vmatrix`,`Vmatrix`,`matrix*`,`pmatrix*`,`bmatrix*`,`Bmatrix*`,`vmatrix*`,`Vmatrix*`],props:{numArgs:0},handler(e){var t={matrix:null,pmatrix:[`(`,`)`],bmatrix:[`[`,`]`],Bmatrix:[`\\{`,`\\}`],vmatrix:[`|`,`|`],Vmatrix:[`\\Vert`,`\\Vert`]}[e.envName.replace(`*`,``)],n=`c`,r={hskipBeforeAndAfter:!1,cols:[{type:`align`,align:n}]};if(e.envName.charAt(e.envName.length-1)===`*`){var i=e.parser;if(i.consumeSpaces(),i.fetch().text===`[`){if(i.consume(),i.consumeSpaces(),n=i.fetch().text,!`lcr`.includes(n))throw new A(`Expected l or c or r`,i.nextToken);i.consume(),i.consumeSpaces(),i.expect(`]`),i.consume(),r.cols=[{type:`align`,align:n}]}}var a=aa(e.parser,r,oa(e.envName)),o=Math.max(0,...a.body.map(e=>e.length));return a.cols=Array(o).fill({type:`align`,align:n}),t?{type:`leftright`,mode:e.mode,body:[a],left:t[0],right:t[1],rightColor:void 0}:a},htmlBuilder:sa,mathmlBuilder:la}),Zi({type:`array`,names:[`smallmatrix`],props:{numArgs:0},handler(e){var t=aa(e.parser,{arraystretch:.5},`script`);return t.colSeparationType=`small`,t},htmlBuilder:sa,mathmlBuilder:la}),Zi({type:`array`,names:[`subarray`],props:{numArgs:1},handler(e,t){var n=(qr(t[0])?[t[0]]:X(t[0],`ordgroup`).body).map(function(e){var t=Kr(e).text;if(`lc`.includes(t))return{type:`align`,align:t};throw new A(`Unknown column alignment: `+t,e)});if(n.length>1)throw new A(`{subarray} can contain only one column`);var r={cols:n,hskipBeforeAndAfter:!1,arraystretch:.5},i=aa(e.parser,r,`script`);if(i.body.length>0&&i.body[0].length>1)throw new A(`{subarray} can contain only one column`);return i},htmlBuilder:sa,mathmlBuilder:la}),Zi({type:`array`,names:[`cases`,`dcases`,`rcases`,`drcases`],props:{numArgs:0},handler(e){var t=aa(e.parser,{arraystretch:1.2,cols:[{type:`align`,align:`l`,pregap:0,postgap:1},{type:`align`,align:`l`,pregap:0,postgap:0}]},oa(e.envName));return{type:`leftright`,mode:e.mode,body:[t],left:e.envName.includes(`r`)?`.`:`\\{`,right:e.envName.includes(`r`)?`\\}`:`.`,rightColor:void 0}},htmlBuilder:sa,mathmlBuilder:la}),Zi({type:`array`,names:[`align`,`align*`,`aligned`,`split`],props:{numArgs:0},handler:ua,htmlBuilder:sa,mathmlBuilder:la}),Zi({type:`array`,names:[`gathered`,`gather`,`gather*`],props:{numArgs:0},handler(e){ra.has(e.envName)&&na(e);var t={cols:[{type:`align`,align:`c`}],addJot:!0,colSeparationType:`gather`,autoTag:ia(e.envName),emptySingleRow:!0,leqno:e.parser.settings.leqno};return aa(e.parser,t,`display`)},htmlBuilder:sa,mathmlBuilder:la}),Zi({type:`array`,names:[`alignat`,`alignat*`,`alignedat`],props:{numArgs:1},handler:ua,htmlBuilder:sa,mathmlBuilder:la}),Zi({type:`array`,names:[`equation`,`equation*`],props:{numArgs:0},handler(e){na(e);var t={autoTag:ia(e.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:e.parser.settings.leqno};return aa(e.parser,t,`display`)},htmlBuilder:sa,mathmlBuilder:la}),Zi({type:`array`,names:[`CD`],props:{numArgs:0},handler(e){return na(e),si(e.parser)},htmlBuilder:sa,mathmlBuilder:la}),Z(`\\nonumber`,`\\gdef\\@eqnsw{0}`),Z(`\\notag`,`\\nonumber`),K({type:`text`,names:[`\\hline`,`\\hdashline`],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(e,t){throw new A(e.funcName+` valid only within array environment`)}});var da=Xi;K({type:`environment`,names:[`\\begin`,`\\end`],props:{numArgs:1,argTypes:[`text`]},handler(e,t){var{parser:n,funcName:r}=e,i=t[0];if(i.type!==`ordgroup`)throw new A(`Invalid environment name`,i);for(var a=``,o=0;o<i.body.length;++o)a+=X(i.body[o],`textord`).text;if(r===`\\begin`){if(!da.hasOwnProperty(a))throw new A(`No such environment: `+a,i);var s=da[a],{args:c,optArgs:l}=n.parseArguments(`\\begin{`+a+`}`,s),u={mode:n.mode,envName:a,parser:n},d=s.handler(u,c,l);n.expect(`\\end`,!1);var f=n.nextToken,p=X(n.parseFunction(),`environment`);if(p.name!==a)throw new A(`Mismatch: \\begin{`+a+`} matched by \\end{`+p.name+`}`,f);return d}return{type:`environment`,mode:n.mode,name:a,nameGroup:i}}});var fa=(e,t)=>{var n=e.font,r=t.withFont(n);return q(e.body,r)},pa=(e,t)=>{var n=e.font,r=t.withFont(n);return Y(e.body,r)},ma={"\\Bbb":`\\mathbb`,"\\bold":`\\mathbf`,"\\frak":`\\mathfrak`};K({type:`font`,names:[`\\mathrm`,`\\mathit`,`\\mathbf`,`\\mathnormal`,`\\mathsfit`,`\\mathbb`,`\\mathcal`,`\\mathfrak`,`\\mathscr`,`\\mathsf`,`\\mathtt`,`\\Bbb`,`\\bold`,`\\frak`],props:{numArgs:1,allowedInArgument:!0},handler:(e,t)=>{var{parser:n,funcName:r}=e,i=nr(t[0]),a=r;return a in ma&&(a=ma[a]),{type:`font`,mode:n.mode,font:a.slice(1),body:i}},htmlBuilder:fa,mathmlBuilder:pa}),K({type:`mclass`,names:[`\\boldsymbol`,`\\bm`],props:{numArgs:1},handler:(e,t)=>{var{parser:n}=e,r=t[0];return{type:`mclass`,mode:n.mode,mclass:ti(r),body:[{type:`font`,mode:n.mode,font:`boldsymbol`,body:r}],isCharacterBox:Ee(r)}}}),K({type:`font`,names:[`\\rm`,`\\sf`,`\\tt`,`\\bf`,`\\it`,`\\cal`],props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{var{parser:n,funcName:r,breakOnTokenText:i}=e,{mode:a}=n,o=n.parseExpression(!0,i);return{type:`font`,mode:a,font:`math`+r.slice(1),body:{type:`ordgroup`,mode:n.mode,body:o}}},htmlBuilder:fa,mathmlBuilder:pa});var ha=(e,t)=>{var n=t.style,r=n.fracNum(),i=n.fracDen(),a=t.havingStyle(r),o=q(e.numer,a,t);if(e.continued){var s=8.5/t.fontMetrics().ptPerEm,c=3.5/t.fontMetrics().ptPerEm;o.height=o.height<s?s:o.height,o.depth=o.depth<c?c:o.depth}a=t.havingStyle(i);var l=q(e.denom,a,t),u,d,f;e.hasBarLine?(e.barSize?(d=_t(e.barSize,t),u=Ln(`frac-line`,t,d)):u=Ln(`frac-line`,t),d=u.height,f=u.height):(u=null,d=0,f=t.fontMetrics().defaultRuleThickness);var p,m,h;n.size===j.DISPLAY.size?(p=t.fontMetrics().num1,m=d>0?3*f:7*f,h=t.fontMetrics().denom1):(d>0?(p=t.fontMetrics().num2,m=f):(p=t.fontMetrics().num3,m=3*f),h=t.fontMetrics().denom2);var g;if(u){var _=t.fontMetrics().axisHeight;p-o.depth-(_+.5*d)<m&&(p+=m-(p-o.depth-(_+.5*d))),_-.5*d-(l.height-h)<m&&(h+=m-(_-.5*d-(l.height-h)));var v=-(_-.5*d);g=G({positionType:`individualShift`,children:[{type:`elem`,elem:l,shift:h},{type:`elem`,elem:u,shift:v},{type:`elem`,elem:o,shift:-p}]})}else{var y=p-o.depth-(l.height-h);y<m&&(p+=.5*(m-y),h+=.5*(m-y)),g=G({positionType:`individualShift`,children:[{type:`elem`,elem:l,shift:h},{type:`elem`,elem:o,shift:-p}]})}a=t.havingStyle(n),g.height*=a.sizeMultiplier/t.sizeMultiplier,g.depth*=a.sizeMultiplier/t.sizeMultiplier;var b=n.size===j.DISPLAY.size?t.fontMetrics().delim1:n.size===j.SCRIPTSCRIPT.size?t.havingStyle(j.SCRIPT).fontMetrics().delim2:t.fontMetrics().delim2,x=e.leftDelim==null?pr(t,[`mopen`]):Vi(e.leftDelim,b,!0,t.havingStyle(n),e.mode,[`mopen`]),S=e.continued?W([]):e.rightDelim==null?pr(t,[`mclose`]):Vi(e.rightDelim,b,!0,t.havingStyle(n),e.mode,[`mclose`]);return W([`mord`].concat(a.sizingClasses(t)),[x,W([`mfrac`],[g]),S],t)},ga=(e,t)=>{var n=new J(`mfrac`,[Y(e.numer,t),Y(e.denom,t)]);if(!e.hasBarLine)n.setAttribute(`linethickness`,`0px`);else if(e.barSize){var r=_t(e.barSize,t);n.setAttribute(`linethickness`,M(r))}if(e.leftDelim!=null||e.rightDelim!=null){var i=[];if(e.leftDelim!=null){var a=new J(`mo`,[new _r(e.leftDelim.replace(`\\`,``))]);a.setAttribute(`fence`,`true`),i.push(a)}if(i.push(n),e.rightDelim!=null){var o=new J(`mo`,[new _r(e.rightDelim.replace(`\\`,``))]);o.setAttribute(`fence`,`true`),i.push(o)}return Sr(i)}return n},_a=(e,t)=>t?{type:`styling`,mode:e.mode,style:t,body:[e]}:e;K({type:`genfrac`,names:[`\\cfrac`,`\\dfrac`,`\\frac`,`\\tfrac`,`\\dbinom`,`\\binom`,`\\tbinom`,`\\\\atopfrac`,`\\\\bracefrac`,`\\\\brackfrac`],props:{numArgs:2,allowedInArgument:!0},handler:(e,t)=>{var{parser:n,funcName:r}=e,i=t[0],a=t[1],o,s=null,c=null;switch(r){case`\\cfrac`:case`\\dfrac`:case`\\frac`:case`\\tfrac`:o=!0;break;case`\\\\atopfrac`:o=!1;break;case`\\dbinom`:case`\\binom`:case`\\tbinom`:o=!1,s=`(`,c=`)`;break;case`\\\\bracefrac`:o=!1,s=`\\{`,c=`\\}`;break;case`\\\\brackfrac`:o=!1,s=`[`,c=`]`;break;default:throw Error(`Unrecognized genfrac command`)}var l=r===`\\cfrac`,u=null;return l||r.startsWith(`\\d`)?u=`display`:r.startsWith(`\\t`)&&(u=`text`),_a({type:`genfrac`,mode:n.mode,numer:i,denom:a,continued:l,hasBarLine:o,leftDelim:s,rightDelim:c,barSize:null},u)},htmlBuilder:ha,mathmlBuilder:ga}),K({type:`infix`,names:[`\\over`,`\\choose`,`\\atop`,`\\brace`,`\\brack`],props:{numArgs:0,infix:!0},handler(e){var{parser:t,funcName:n,token:r}=e,i;switch(n){case`\\over`:i=`\\frac`;break;case`\\choose`:i=`\\binom`;break;case`\\atop`:i=`\\\\atopfrac`;break;case`\\brace`:i=`\\\\bracefrac`;break;case`\\brack`:i=`\\\\brackfrac`;break;default:throw Error(`Unrecognized infix genfrac command`)}return{type:`infix`,mode:t.mode,replaceWith:i,token:r}}});var va=[`display`,`text`,`script`,`scriptscript`],ya=function(e){var t=null;return e.length>0&&(t=e,t=t===`.`?null:t),t};K({type:`genfrac`,names:[`\\genfrac`],props:{numArgs:6,allowedInArgument:!0,argTypes:[`math`,`math`,`size`,`text`,`math`,`math`]},handler(e,t){var{parser:n}=e,r=t[4],i=t[5],a=nr(t[0]),o=a.type===`atom`&&a.family===`open`?ya(a.text):null,s=nr(t[1]),c=s.type===`atom`&&s.family===`close`?ya(s.text):null,l=X(t[2],`size`),u,d=null;l.isBlank?u=!0:(d=l.value,u=d.number>0);var f=null,p=t[3];if(p.type===`ordgroup`){if(p.body.length>0){var m=X(p.body[0],`textord`);f=va[Number(m.text)]}}else p=X(p,`textord`),f=va[Number(p.text)];return _a({type:`genfrac`,mode:n.mode,numer:r,denom:i,continued:!1,hasBarLine:u,barSize:d,leftDelim:o,rightDelim:c},f)}}),K({type:`infix`,names:[`\\above`],props:{numArgs:1,argTypes:[`size`],infix:!0},handler(e,t){var{parser:n,funcName:r,token:i}=e;return{type:`infix`,mode:n.mode,replaceWith:`\\\\abovefrac`,size:X(t[0],`size`).value,token:i}}}),K({type:`genfrac`,names:[`\\\\abovefrac`],props:{numArgs:3,argTypes:[`math`,`size`,`math`]},handler:(e,t)=>{var{parser:n,funcName:r}=e,i=t[0],a=X(t[1],`infix`).size;if(!a)throw Error(`\\\\abovefrac expected size, but got `+String(a));var o=t[2],s=a.number>0;return{type:`genfrac`,mode:n.mode,numer:i,denom:o,continued:!1,hasBarLine:s,barSize:a,leftDelim:null,rightDelim:null}}});var ba=(e,t)=>{var n=t.style,r,i;e.type===`supsub`?(r=e.sup?q(e.sup,t.havingStyle(n.sup()),t):q(e.sub,t.havingStyle(n.sub()),t),i=X(e.base,`horizBrace`)):i=X(e,`horizBrace`);var a=q(i.base,t.havingBaseStyle(j.DISPLAY)),o=Vr(i,t),s=i.isOver?G({positionType:`firstBaseline`,children:[{type:`elem`,elem:a},{type:`kern`,size:.1},{type:`elem`,elem:o,wrapperClasses:[`svg-align`]}]}):G({positionType:`bottom`,positionData:a.depth+.1+o.height,children:[{type:`elem`,elem:o,wrapperClasses:[`svg-align`]},{type:`kern`,size:.1},{type:`elem`,elem:a}]});if(r){var c=W([`minner`,i.isOver?`mover`:`munder`],[s],t);s=i.isOver?G({positionType:`firstBaseline`,children:[{type:`elem`,elem:c},{type:`kern`,size:.2},{type:`elem`,elem:r}]}):G({positionType:`bottom`,positionData:c.depth+.2+r.height+r.depth,children:[{type:`elem`,elem:r},{type:`kern`,size:.2},{type:`elem`,elem:c}]})}return W([`minner`,i.isOver?`mover`:`munder`],[s],t)};K({type:`horizBrace`,names:[`\\overbrace`,`\\underbrace`,`\\overbracket`,`\\underbracket`],props:{numArgs:1},handler(e,t){var{parser:n,funcName:r}=e;return{type:`horizBrace`,mode:n.mode,label:r,isOver:r.includes(`\\over`),base:t[0]}},htmlBuilder:ba,mathmlBuilder:(e,t)=>{var n=Rr(e.label);return new J(e.isOver?`mover`:`munder`,[Y(e.base,t),n])}}),K({type:`href`,names:[`\\href`],props:{numArgs:2,argTypes:[`url`,`original`],allowedInText:!0},handler:(e,t)=>{var{parser:n}=e,r=t[1],i=X(t[0],`url`).url;return n.settings.isTrusted({command:`\\href`,url:i})?{type:`href`,mode:n.mode,href:i,body:rr(r)}:n.formatUnsupportedCmd(`\\href`)},htmlBuilder:(e,t)=>{var n=cr(e.body,t,!1);return Rn(e.href,[],n,t)},mathmlBuilder:(e,t)=>{var n=Dr(e.body,t);return n instanceof J||(n=new J(`mrow`,[n])),n.setAttribute(`href`,e.href),n}}),K({type:`href`,names:[`\\url`],props:{numArgs:1,argTypes:[`url`],allowedInText:!0},handler:(e,t)=>{var{parser:n}=e,r=X(t[0],`url`).url;if(!n.settings.isTrusted({command:`\\url`,url:r}))return n.formatUnsupportedCmd(`\\url`);for(var i=[],a=0;a<r.length;a++){var o=r[a];o===`~`&&(o=`\\textasciitilde`),i.push({type:`textord`,mode:`text`,text:o})}var s={type:`text`,mode:n.mode,font:`\\texttt`,body:i};return{type:`href`,mode:n.mode,href:r,body:rr(s)}}}),K({type:`hbox`,names:[`\\hbox`],props:{numArgs:1,argTypes:[`text`],allowedInText:!0,primitive:!0},handler(e,t){var{parser:n}=e;return{type:`hbox`,mode:n.mode,body:rr(t[0])}},htmlBuilder(e,t){return zn(cr(e.body,t.withFont(``),!1))},mathmlBuilder(e,t){return new J(`mrow`,Er(e.body,t.withFont(``)))}}),K({type:`html`,names:[`\\htmlClass`,`\\htmlId`,`\\htmlStyle`,`\\htmlData`],props:{numArgs:2,argTypes:[`raw`,`original`],allowedInText:!0},handler:(e,t)=>{var{parser:n,funcName:r,token:i}=e,a=X(t[0],`raw`).string,o=t[1];n.settings.strict&&n.settings.reportNonstrict(`htmlExtension`,`HTML extension is disabled on strict mode`);var s,c={};switch(r){case`\\htmlClass`:c.class=a,s={command:`\\htmlClass`,class:a};break;case`\\htmlId`:c.id=a,s={command:`\\htmlId`,id:a};break;case`\\htmlStyle`:c.style=a,s={command:`\\htmlStyle`,style:a};break;case`\\htmlData`:for(var l=a.split(`,`),u=0;u<l.length;u++){var d=l[u],f=d.indexOf(`=`);if(f<0)throw new A(`\\htmlData key/value '`+d+`' missing equals sign`);var p=d.slice(0,f),m=d.slice(f+1);c[`data-`+p.trim()]=m}s={command:`\\htmlData`,attributes:c};break;default:throw Error(`Unrecognized html command`)}return n.settings.isTrusted(s)?{type:`html`,mode:n.mode,attributes:c,body:rr(o)}:n.formatUnsupportedCmd(r)},htmlBuilder:(e,t)=>{var n=cr(e.body,t,!1),r=[`enclosing`];e.attributes.class&&r.push(...e.attributes.class.trim().split(/\s+/));var i=W(r,n,t);for(var a in e.attributes)a!==`class`&&e.attributes.hasOwnProperty(a)&&i.setAttribute(a,e.attributes[a]);return i},mathmlBuilder:(e,t)=>Dr(e.body,t)}),K({type:`htmlmathml`,names:[`\\html@mathml`],props:{numArgs:2,allowedInArgument:!0,allowedInText:!0},handler:(e,t)=>{var{parser:n}=e;return{type:`htmlmathml`,mode:n.mode,html:rr(t[0]),mathml:rr(t[1])}},htmlBuilder:(e,t)=>zn(cr(e.html,t,!1)),mathmlBuilder:(e,t)=>Dr(e.mathml,t)});var xa=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:`bp`};var t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new A(`Invalid size: '`+e+`' in \\includegraphics`);var n={number:+(t[1]+t[2]),unit:t[3]};if(!gt(n))throw new A(`Invalid unit: '`+n.unit+`' in \\includegraphics.`);return n};K({type:`includegraphics`,names:[`\\includegraphics`],props:{numArgs:1,numOptionalArgs:1,argTypes:[`raw`,`url`],allowedInText:!1},handler:(e,t,n)=>{var{parser:r}=e,i={number:0,unit:`em`},a={number:.9,unit:`em`},o={number:0,unit:`em`},s=``;if(n[0])for(var c=X(n[0],`raw`).string.split(`,`),l=0;l<c.length;l++){var u=c[l].split(`=`);if(u.length===2){var d=u[1].trim();switch(u[0].trim()){case`alt`:s=d;break;case`width`:i=xa(d);break;case`height`:a=xa(d);break;case`totalheight`:o=xa(d);break;default:throw new A(`Invalid key: '`+u[0]+`' in \\includegraphics.`)}}}var f=X(t[0],`url`).url;return s===``&&(s=f,s=s.replace(/^.*[\\/]/,``),s=s.substring(0,s.lastIndexOf(`.`))),r.settings.isTrusted({command:`\\includegraphics`,url:f})?{type:`includegraphics`,mode:r.mode,alt:s,width:i,height:a,totalheight:o,src:f}:r.formatUnsupportedCmd(`\\includegraphics`)},htmlBuilder:(e,t)=>{var n=_t(e.height,t),r=0;e.totalheight.number>0&&(r=_t(e.totalheight,t)-n);var i=0;e.width.number>0&&(i=_t(e.width,t));var a={height:M(n+r)};i>0&&(a.width=M(i)),r>0&&(a.verticalAlign=M(-r));var o=new Et(e.src,e.alt,a);return o.height=n,o.depth=r,o},mathmlBuilder:(e,t)=>{var n=new J(`mglyph`,[]);n.setAttribute(`alt`,e.alt);var r=_t(e.height,t),i=0;if(e.totalheight.number>0&&(i=_t(e.totalheight,t)-r,n.setAttribute(`valign`,M(-i))),n.setAttribute(`height`,M(r+i)),e.width.number>0){var a=_t(e.width,t);n.setAttribute(`width`,M(a))}return n.setAttribute(`src`,e.src),n}}),K({type:`kern`,names:[`\\kern`,`\\mkern`,`\\hskip`,`\\mskip`],props:{numArgs:1,argTypes:[`size`],primitive:!0,allowedInText:!0},handler(e,t){var{parser:n,funcName:r}=e,i=X(t[0],`size`);if(n.settings.strict){var a=r[1]===`m`,o=i.value.unit===`mu`;a?(o||n.settings.reportNonstrict(`mathVsTextUnits`,`LaTeX's `+r+` supports only mu units, `+(`not `+i.value.unit+` units`)),n.mode!==`math`&&n.settings.reportNonstrict(`mathVsTextUnits`,`LaTeX's `+r+` works only in math mode`)):o&&n.settings.reportNonstrict(`mathVsTextUnits`,`LaTeX's `+r+` doesn't support mu units`)}return{type:`kern`,mode:n.mode,dimension:i.value}},htmlBuilder(e,t){return Hn(e.dimension,t)},mathmlBuilder(e,t){return new vr(_t(e.dimension,t))}}),K({type:`lap`,names:[`\\mathllap`,`\\mathrlap`,`\\mathclap`],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:n,funcName:r}=e,i=t[0];return{type:`lap`,mode:n.mode,alignment:r.slice(5),body:i}},htmlBuilder:(e,t)=>{var n;e.alignment===`clap`?(n=W([],[q(e.body,t)]),n=W([`inner`],[n],t)):n=W([`inner`],[q(e.body,t)]);var r=W([`fix`],[]),i=W([e.alignment],[n,r],t),a=W([`strut`]);return a.style.height=M(i.height+i.depth),i.depth&&(a.style.verticalAlign=M(-i.depth)),i.children.unshift(a),i=W([`thinbox`],[i],t),W([`mord`,`vbox`],[i],t)},mathmlBuilder:(e,t)=>{var n=new J(`mpadded`,[Y(e.body,t)]);if(e.alignment!==`rlap`){var r=e.alignment===`llap`?`-1`:`-0.5`;n.setAttribute(`lspace`,r+`width`)}return n.setAttribute(`width`,`0px`),n}}),K({type:`styling`,names:[`\\(`,`$`],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){var{funcName:n,parser:r}=e,i=r.mode;r.switchMode(`math`);var a=n===`\\(`?`\\)`:`$`,o=r.parseExpression(!1,a);return r.expect(a),r.switchMode(i),{type:`styling`,mode:r.mode,style:`text`,resetFont:!0,body:o}}}),K({type:`text`,names:[`\\)`,`\\]`],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){throw new A(`Mismatched `+e.funcName)}});var Sa=(e,t)=>{switch(t.style.size){case j.DISPLAY.size:return e.display;case j.TEXT.size:return e.text;case j.SCRIPT.size:return e.script;case j.SCRIPTSCRIPT.size:return e.scriptscript;default:return e.text}};K({type:`mathchoice`,names:[`\\mathchoice`],props:{numArgs:4,primitive:!0},handler:(e,t)=>{var{parser:n}=e;return{type:`mathchoice`,mode:n.mode,display:rr(t[0]),text:rr(t[1]),script:rr(t[2]),scriptscript:rr(t[3])}},htmlBuilder:(e,t)=>zn(cr(Sa(e,t),t,!1)),mathmlBuilder:(e,t)=>Dr(Sa(e,t),t)});var Ca=(e,t,n,r,i,a,o)=>{e=W([],[e]);var s=n&&Ee(n),c,l;if(t){var u=q(t,r.havingStyle(i.sup()),r);l={elem:u,kern:Math.max(r.fontMetrics().bigOpSpacing1,r.fontMetrics().bigOpSpacing3-u.depth)}}if(n){var d=q(n,r.havingStyle(i.sub()),r);c={elem:d,kern:Math.max(r.fontMetrics().bigOpSpacing2,r.fontMetrics().bigOpSpacing4-d.height)}}var f;if(l&&c)f=G({positionType:`bottom`,positionData:r.fontMetrics().bigOpSpacing5+c.elem.height+c.elem.depth+c.kern+e.depth+o,children:[{type:`kern`,size:r.fontMetrics().bigOpSpacing5},{type:`elem`,elem:c.elem,marginLeft:M(-a)},{type:`kern`,size:c.kern},{type:`elem`,elem:e},{type:`kern`,size:l.kern},{type:`elem`,elem:l.elem,marginLeft:M(a)},{type:`kern`,size:r.fontMetrics().bigOpSpacing5}]});else if(c)f=G({positionType:`top`,positionData:e.height-o,children:[{type:`kern`,size:r.fontMetrics().bigOpSpacing5},{type:`elem`,elem:c.elem,marginLeft:M(-a)},{type:`kern`,size:c.kern},{type:`elem`,elem:e}]});else if(l)f=G({positionType:`bottom`,positionData:e.depth+o,children:[{type:`elem`,elem:e},{type:`kern`,size:l.kern},{type:`elem`,elem:l.elem,marginLeft:M(a)},{type:`kern`,size:r.fontMetrics().bigOpSpacing5}]});else return e;var p=[f];if(c&&a!==0&&!s){var m=W([`mspace`],[],r);m.style.marginRight=M(a),p.unshift(m)}return W([`mop`,`op-limits`],p,r)},wa=new Set([`\\smallint`]),Ta=(e,t)=>{var n,r,i=!1,a;e.type===`supsub`?(n=e.sup,r=e.sub,a=X(e.base,`op`),i=!0):a=X(e,`op`);var o=t.style,s=!1;o.size===j.DISPLAY.size&&a.symbol&&!wa.has(a.name)&&(s=!0);var c,l;if(a.symbol){var u=s?`Size2-Regular`:`Size1-Regular`,d=``;if((a.name===`\\oiint`||a.name===`\\oiiint`)&&(d=a.name.slice(1),a.name=d===`oiint`?`\\iint`:`\\iiint`),c=kn(a.name,u,`math`,t,[`mop`,`op-symbol`,s?`large-op`:`small-op`]),l=c.italic,d.length>0){var f=Kn(d+`Size`+(s?`2`:`1`),t);c=G({positionType:`individualShift`,children:[{type:`elem`,elem:c,shift:0},{type:`elem`,elem:f,shift:s?.08:0}]}),a.name=`\\`+d,c.classes.unshift(`mop`),c.italic=l}}else if(a.body){var p=cr(a.body,t,!0);p.length===1&&p[0]instanceof Ot?(c=p[0],c.classes[0]=`mop`):c=W([`mop`],p,t)}else{for(var m=[],h=1;h<a.name.length;h++)m.push(An(a.name[h],a.mode,t));c=W([`mop`],m,t)}var g=0,_=0;return(c instanceof Ot||a.name===`\\oiint`||a.name===`\\oiiint`)&&!a.suppressBaseShift&&(g=(c.height-c.depth)/2-t.fontMetrics().axisHeight,_=c.italic??0),i?Ca(c,n,r,t,o,_,g):(g&&(c.style.position=`relative`,c.style.top=M(g)),c)},Ea=(e,t)=>{var n;if(e.symbol)n=new J(`mo`,[xr(e.name,e.mode)]),wa.has(e.name)&&n.setAttribute(`largeop`,`false`);else if(e.body)n=new J(`mo`,Er(e.body,t));else{n=new J(`mi`,[new _r(e.name.slice(1))]);var r=new J(`mo`,[xr(`⁡`,`text`)]);n=e.parentIsSupSub?new J(`mrow`,[n,r]):gr([n,r])}return n},Da={"∏":`\\prod`,"∐":`\\coprod`,"∑":`\\sum`,"⋀":`\\bigwedge`,"⋁":`\\bigvee`,"⋂":`\\bigcap`,"⋃":`\\bigcup`,"⨀":`\\bigodot`,"⨁":`\\bigoplus`,"⨂":`\\bigotimes`,"⨄":`\\biguplus`,"⨆":`\\bigsqcup`};K({type:`op`,names:`\\coprod.\\bigvee.\\bigwedge.\\biguplus.\\bigcap.\\bigcup.\\intop.\\prod.\\sum.\\bigotimes.\\bigoplus.\\bigodot.\\bigsqcup.\\smallint.∏.∐.∑.⋀.⋁.⋂.⋃.⨀.⨁.⨂.⨄.⨆`.split(`.`),props:{numArgs:0},handler:(e,t)=>{var{parser:n,funcName:r}=e,i=r;return i.length===1&&(i=Da[i]),{type:`op`,mode:n.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},htmlBuilder:Ta,mathmlBuilder:Ea}),K({type:`op`,names:[`\\mathop`],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var{parser:n}=e,r=t[0];return{type:`op`,mode:n.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:rr(r)}},htmlBuilder:Ta,mathmlBuilder:Ea});var Oa={"∫":`\\int`,"∬":`\\iint`,"∭":`\\iiint`,"∮":`\\oint`,"∯":`\\oiint`,"∰":`\\oiiint`};K({type:`op`,names:`\\arcsin.\\arccos.\\arctan.\\arctg.\\arcctg.\\arg.\\ch.\\cos.\\cosec.\\cosh.\\cot.\\cotg.\\coth.\\csc.\\ctg.\\cth.\\deg.\\dim.\\exp.\\hom.\\ker.\\lg.\\ln.\\log.\\sec.\\sin.\\sinh.\\sh.\\tan.\\tanh.\\tg.\\th`.split(`.`),props:{numArgs:0},handler(e){var{parser:t,funcName:n}=e;return{type:`op`,mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:n}},htmlBuilder:Ta,mathmlBuilder:Ea}),K({type:`op`,names:[`\\det`,`\\gcd`,`\\inf`,`\\lim`,`\\max`,`\\min`,`\\Pr`,`\\sup`],props:{numArgs:0},handler(e){var{parser:t,funcName:n}=e;return{type:`op`,mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:n}},htmlBuilder:Ta,mathmlBuilder:Ea}),K({type:`op`,names:[`\\int`,`\\iint`,`\\iiint`,`\\oint`,`\\oiint`,`\\oiiint`,`∫`,`∬`,`∭`,`∮`,`∯`,`∰`],props:{numArgs:0,allowedInArgument:!0},handler(e){var{parser:t,funcName:n}=e,r=n;return r.length===1&&(r=Oa[r]),{type:`op`,mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:r}},htmlBuilder:Ta,mathmlBuilder:Ea});var ka=(e,t)=>{var n,r,i=!1,a;e.type===`supsub`?(n=e.sup,r=e.sub,a=X(e.base,`operatorname`),i=!0):a=X(e,`operatorname`);var o;if(a.body.length>0){for(var s=cr(a.body.map(e=>{var t=`text`in e?e.text:void 0;return typeof t==`string`?{type:`textord`,mode:e.mode,text:t}:e}),t.withFont(`mathrm`),!0),c=0;c<s.length;c++){var l=s[c];l instanceof Ot&&(l.text=l.text.replace(/\u2212/,`-`).replace(/\u2217/,`*`))}o=W([`mop`],s,t)}else o=W([`mop`],[],t);return i?Ca(o,n,r,t,t.style,0,0):o};K({type:`operatorname`,names:[`\\operatorname@`,`\\operatornamewithlimits`],props:{numArgs:1},handler:(e,t)=>{var{parser:n,funcName:r}=e,i=t[0];return{type:`operatorname`,mode:n.mode,body:rr(i),alwaysHandleSupSub:r===`\\operatornamewithlimits`,limits:!1,parentIsSupSub:!1}},htmlBuilder:ka,mathmlBuilder:(e,t)=>{for(var n=Er(e.body,t.withFont(`mathrm`)),r=!0,i=0;i<n.length;i++){var a=n[i];if(!(a instanceof vr))if(a instanceof J)switch(a.type){case`mi`:case`mn`:case`mspace`:case`mtext`:break;case`mo`:var o=a.children[0];a.children.length===1&&o instanceof _r?o.text=o.text.replace(/\u2212/,`-`).replace(/\u2217/,`*`):r=!1;break;default:r=!1}else r=!1}r&&(n=[new _r(n.map(e=>e.toText()).join(``))]);var s=new J(`mi`,n);s.setAttribute(`mathvariant`,`normal`);var c=new J(`mo`,[xr(`⁡`,`text`)]);return e.parentIsSupSub?new J(`mrow`,[s,c]):gr([s,c])}}),Z(`\\operatorname`,`\\@ifstar\\operatornamewithlimits\\operatorname@`),tr({type:`ordgroup`,htmlBuilder(e,t){return e.semisimple?zn(cr(e.body,t,!1)):W([`mord`],cr(e.body,t,!0),t)},mathmlBuilder(e,t){return Dr(e.body,t,!0)}}),K({type:`overline`,names:[`\\overline`],props:{numArgs:1},handler(e,t){var{parser:n}=e,r=t[0];return{type:`overline`,mode:n.mode,body:r}},htmlBuilder(e,t){var n=q(e.body,t.havingCrampedStyle()),r=Ln(`overline-line`,t),i=t.fontMetrics().defaultRuleThickness;return W([`mord`,`overline`],[G({positionType:`firstBaseline`,children:[{type:`elem`,elem:n},{type:`kern`,size:3*i},{type:`elem`,elem:r},{type:`kern`,size:i}]})],t)},mathmlBuilder(e,t){var n=new J(`mo`,[new _r(`‾`)]);n.setAttribute(`stretchy`,`true`);var r=new J(`mover`,[Y(e.body,t),n]);return r.setAttribute(`accent`,`true`),r}}),K({type:`phantom`,names:[`\\phantom`],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:n}=e,r=t[0];return{type:`phantom`,mode:n.mode,body:rr(r)}},htmlBuilder:(e,t)=>zn(cr(e.body,t.withPhantom(),!1)),mathmlBuilder:(e,t)=>new J(`mphantom`,Er(e.body,t))}),Z(`\\hphantom`,`\\smash{\\phantom{#1}}`),K({type:`vphantom`,names:[`\\vphantom`],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:n}=e,r=t[0];return{type:`vphantom`,mode:n.mode,body:r}},htmlBuilder:(e,t)=>W([`mord`,`rlap`],[W([`inner`],[q(e.body,t.withPhantom())]),W([`fix`],[])],t),mathmlBuilder:(e,t)=>{var n=new J(`mpadded`,[new J(`mphantom`,Er(rr(e.body),t))]);return n.setAttribute(`width`,`0px`),n}}),K({type:`raisebox`,names:[`\\raisebox`],props:{numArgs:2,argTypes:[`size`,`hbox`],allowedInText:!0},handler(e,t){var{parser:n}=e,r=X(t[0],`size`).value,i=t[1];return{type:`raisebox`,mode:n.mode,dy:r,body:i}},htmlBuilder(e,t){var n=q(e.body,t);return G({positionType:`shift`,positionData:-_t(e.dy,t),children:[{type:`elem`,elem:n}]})},mathmlBuilder(e,t){var n=new J(`mpadded`,[Y(e.body,t)]),r=e.dy.number+e.dy.unit;return n.setAttribute(`voffset`,r),n}}),K({type:`internal`,names:[`\\relax`],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(e){var{parser:t}=e;return{type:`internal`,mode:t.mode}}}),K({type:`rule`,names:[`\\rule`],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:[`size`,`size`,`size`]},handler(e,t,n){var{parser:r}=e,i=n[0],a=X(t[0],`size`),o=X(t[1],`size`);return{type:`rule`,mode:r.mode,shift:i&&X(i,`size`).value,width:a.value,height:o.value}},htmlBuilder(e,t){var n=W([`mord`,`rule`],[],t),r=_t(e.width,t),i=_t(e.height,t),a=e.shift?_t(e.shift,t):0;return n.style.borderRightWidth=M(r),n.style.borderTopWidth=M(i),n.style.bottom=M(a),n.width=r,n.height=i+a,n.depth=-a,n.maxFontSize=i*1.125*t.sizeMultiplier,n},mathmlBuilder(e,t){var n=_t(e.width,t),r=_t(e.height,t),i=e.shift?_t(e.shift,t):0,a=t.color&&t.getColor()||`black`,o=new J(`mspace`);o.setAttribute(`mathbackground`,a),o.setAttribute(`width`,M(n)),o.setAttribute(`height`,M(r));var s=new J(`mpadded`,[o]);return i>=0?s.setAttribute(`height`,M(i)):(s.setAttribute(`height`,M(i)),s.setAttribute(`depth`,M(-i))),s.setAttribute(`voffset`,M(i)),s}});function Aa(e,t,n){for(var r=cr(e,t,!1),i=t.sizeMultiplier/n.sizeMultiplier,a=0;a<r.length;a++){var o=r[a].classes.indexOf(`sizing`);o<0?Array.prototype.push.apply(r[a].classes,t.sizingClasses(n)):r[a].classes[o+1]===`reset-size`+t.size&&(r[a].classes[o+1]=`reset-size`+n.size),r[a].height*=i,r[a].depth*=i}return zn(r)}var ja=[`\\tiny`,`\\sixptsize`,`\\scriptsize`,`\\footnotesize`,`\\small`,`\\normalsize`,`\\large`,`\\Large`,`\\LARGE`,`\\huge`,`\\Huge`];K({type:`sizing`,names:ja,props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{var{breakOnTokenText:n,funcName:r,parser:i}=e,a=i.parseExpression(!1,n);return{type:`sizing`,mode:i.mode,size:ja.indexOf(r)+1,body:a}},htmlBuilder:(e,t)=>{var n=t.havingSize(e.size);return Aa(e.body,n,t)},mathmlBuilder:(e,t)=>{var n=t.havingSize(e.size),r=new J(`mstyle`,Er(e.body,n));return r.setAttribute(`mathsize`,M(n.sizeMultiplier)),r}}),K({type:`smash`,names:[`\\smash`],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(e,t,n)=>{var{parser:r}=e,i=!1,a=!1,o=n[0]&&X(n[0],`ordgroup`);if(o)for(var s,c=0;c<o.body.length;++c){var l=o.body[c];if(s=Kr(l).text,s===`t`)i=!0;else if(s===`b`)a=!0;else{i=!1,a=!1;break}}else i=!0,a=!0;var u=t[0];return{type:`smash`,mode:r.mode,body:u,smashHeight:i,smashDepth:a}},htmlBuilder:(e,t)=>{var n=W([],[q(e.body,t)]);if(!e.smashHeight&&!e.smashDepth)return n;if(e.smashHeight&&(n.height=0),e.smashDepth&&(n.depth=0),e.smashHeight&&e.smashDepth)return W([`mord`,`smash`],[n],t);if(n.children)for(var r=0;r<n.children.length;r++)e.smashHeight&&(n.children[r].height=0),e.smashDepth&&(n.children[r].depth=0);return W([`mord`],[G({positionType:`firstBaseline`,children:[{type:`elem`,elem:n}]})],t)},mathmlBuilder:(e,t)=>{var n=new J(`mpadded`,[Y(e.body,t)]);return e.smashHeight&&n.setAttribute(`height`,`0px`),e.smashDepth&&n.setAttribute(`depth`,`0px`),n}}),K({type:`sqrt`,names:[`\\sqrt`],props:{numArgs:1,numOptionalArgs:1},handler(e,t,n){var{parser:r}=e,i=n[0],a=t[0];return{type:`sqrt`,mode:r.mode,body:a,index:i}},htmlBuilder(e,t){var n=q(e.body,t.havingCrampedStyle());n.height===0&&(n.height=t.fontMetrics().xHeight),n=Bn(n,t);var r=t.fontMetrics().defaultRuleThickness,i=r;t.style.id<j.TEXT.id&&(i=t.fontMetrics().xHeight);var a=r+i/4,{span:o,ruleWidth:s,advanceWidth:c}=Ai(n.height+n.depth+a+r,t),l=o.height-s;l>n.height+n.depth+a&&(a=(a+l-n.height-n.depth)/2);var u=o.height-n.height-a-s;n.style.paddingLeft=M(c);var d=G({positionType:`firstBaseline`,children:[{type:`elem`,elem:n,wrapperClasses:[`svg-align`]},{type:`kern`,size:-(n.height+u)},{type:`elem`,elem:o},{type:`kern`,size:s}]});if(e.index){var f=t.havingStyle(j.SCRIPTSCRIPT),p=q(e.index,f,t);return W([`mord`,`sqrt`],[W([`root`],[G({positionType:`shift`,positionData:-(.6*(d.height-d.depth)),children:[{type:`elem`,elem:p}]})]),d],t)}else return W([`mord`,`sqrt`],[d],t)},mathmlBuilder(e,t){var{body:n,index:r}=e;return r?new J(`mroot`,[Y(n,t),Y(r,t)]):new J(`msqrt`,[Y(n,t)])}});var Ma={display:j.DISPLAY,text:j.TEXT,script:j.SCRIPT,scriptscript:j.SCRIPTSCRIPT};function Na(e){return e in Ma}K({type:`styling`,names:[`\\displaystyle`,`\\textstyle`,`\\scriptstyle`,`\\scriptscriptstyle`],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e,t){var{breakOnTokenText:n,funcName:r,parser:i}=e,a=i.parseExpression(!0,n),o=r.slice(1,r.length-5);if(!Na(o))throw Error(`Unknown style: `+o);return{type:`styling`,mode:i.mode,style:o,body:a}},htmlBuilder(e,t){var n=Ma[e.style],r=t.havingStyle(n);return e.resetFont&&(r=r.withFont(``)),Aa(e.body,r,t)},mathmlBuilder(e,t){var n=Ma[e.style],r=t.havingStyle(n);e.resetFont&&(r=r.withFont(``));var i=new J(`mstyle`,Er(e.body,r)),a={display:[`0`,`true`],text:[`0`,`false`],script:[`1`,`false`],scriptscript:[`2`,`false`]}[e.style];return i.setAttribute(`scriptlevel`,a[0]),i.setAttribute(`displaystyle`,a[1]),i}});var Pa=function(e,t){var n=e.base;return n?n.type===`op`?n.limits&&(t.style.size===j.DISPLAY.size||n.alwaysHandleSupSub)?Ta:null:n.type===`operatorname`?n.alwaysHandleSupSub&&(t.style.size===j.DISPLAY.size||n.limits)?ka:null:n.type===`accent`?Ee(n.base)?Yr:null:n.type===`horizBrace`&&!e.sub===n.isOver?ba:null:null};tr({type:`supsub`,htmlBuilder(e,t){var n=Pa(e,t);if(n)return n(e,t);var{base:r,sup:i,sub:a}=e,o=q(r,t),s,c,l=t.fontMetrics(),u=0,d=0,f=r&&Ee(r);if(i){var p=t.havingStyle(t.style.sup());s=q(i,p,t),f||(u=o.height-p.fontMetrics().supDrop*p.sizeMultiplier/t.sizeMultiplier)}if(a){var m=t.havingStyle(t.style.sub());c=q(a,m,t),f||(d=o.depth+m.fontMetrics().subDrop*m.sizeMultiplier/t.sizeMultiplier)}var h=t.style===j.DISPLAY?l.sup1:t.style.cramped?l.sup3:l.sup2,g=t.sizeMultiplier,_=M(.5/l.ptPerEm/g),v=null;if(c){var y=e.base&&e.base.type===`op`&&e.base.name&&(e.base.name===`\\oiint`||e.base.name===`\\oiiint`);(o instanceof Ot||y)&&(v=M(-(o.italic??0)))}var b;if(s&&c){u=Math.max(u,h,s.depth+.25*l.xHeight),d=Math.max(d,l.sub2);var x=4*l.defaultRuleThickness;if(u-s.depth-(c.height-d)<x){d=x-(u-s.depth)+c.height;var S=.8*l.xHeight-(u-s.depth);S>0&&(u+=S,d-=S)}b=G({positionType:`individualShift`,children:[{type:`elem`,elem:c,shift:d,marginRight:_,marginLeft:v},{type:`elem`,elem:s,shift:-u,marginRight:_}]})}else if(c)d=Math.max(d,l.sub1,c.height-.8*l.xHeight),b=G({positionType:`shift`,positionData:d,children:[{type:`elem`,elem:c,marginLeft:v,marginRight:_}]});else if(s)u=Math.max(u,h,s.depth+.25*l.xHeight),b=G({positionType:`shift`,positionData:-u,children:[{type:`elem`,elem:s,marginRight:_}]});else throw Error(`supsub must have either sup or sub.`);return W([fr(o,`right`)||`mord`],[o,W([`msupsub`],[b])],t)},mathmlBuilder(e,t){var n=!1,r,i;e.base&&e.base.type===`horizBrace`&&(i=!!e.sup,i===e.base.isOver&&(n=!0,r=e.base.isOver)),e.base&&(e.base.type===`op`||e.base.type===`operatorname`)&&(e.base.parentIsSupSub=!0);var a=[Y(e.base,t)];e.sub&&a.push(Y(e.sub,t)),e.sup&&a.push(Y(e.sup,t));var o;if(n)o=r?`mover`:`munder`;else if(!e.sub){var s=e.base;o=s&&s.type===`op`&&s.limits&&(t.style===j.DISPLAY||s.alwaysHandleSupSub)||s&&s.type===`operatorname`&&s.alwaysHandleSupSub&&(s.limits||t.style===j.DISPLAY)?`mover`:`msup`}else if(e.sup){var c=e.base;o=c&&c.type===`op`&&c.limits&&t.style===j.DISPLAY||c&&c.type===`operatorname`&&c.alwaysHandleSupSub&&(t.style===j.DISPLAY||c.limits)?`munderover`:`msubsup`}else{var l=e.base;o=l&&l.type===`op`&&l.limits&&(t.style===j.DISPLAY||l.alwaysHandleSupSub)||l&&l.type===`operatorname`&&l.alwaysHandleSupSub&&(l.limits||t.style===j.DISPLAY)?`munder`:`msub`}return new J(o,a)}}),tr({type:`atom`,htmlBuilder(e,t){return An(e.text,e.mode,t,[`m`+e.family])},mathmlBuilder(e,t){var n=new J(`mo`,[xr(e.text,e.mode)]);if(e.family===`bin`){var r=wr(e,t);r===`bold-italic`&&n.setAttribute(`mathvariant`,r)}else e.family===`punct`?n.setAttribute(`separator`,`true`):(e.family===`open`||e.family===`close`)&&n.setAttribute(`stretchy`,`false`);return n}});var Fa={mi:`italic`,mn:`normal`,mtext:`normal`};tr({type:`mathord`,htmlBuilder(e,t){return Mn(e,t,`mathord`)},mathmlBuilder(e,t){var n=new J(`mi`,[xr(e.text,e.mode,t)]),r=wr(e,t)||`italic`;return r!==Fa[n.type]&&n.setAttribute(`mathvariant`,r),n}}),tr({type:`textord`,htmlBuilder(e,t){return Mn(e,t,`textord`)},mathmlBuilder(e,t){var n=xr(e.text,e.mode,t),r=wr(e,t)||`normal`,i=e.mode===`text`?new J(`mtext`,[n]):/[0-9]/.test(e.text)?new J(`mn`,[n]):e.text===`\\prime`?new J(`mo`,[n]):new J(`mi`,[n]);return r!==Fa[i.type]&&i.setAttribute(`mathvariant`,r),i}});var Ia={"\\nobreak":`nobreak`,"\\allowbreak":`allowbreak`},La={" ":{},"\\ ":{},"~":{className:`nobreak`},"\\space":{},"\\nobreakspace":{className:`nobreak`}};tr({type:`spacing`,htmlBuilder(e,t){if(La.hasOwnProperty(e.text)){var n=La[e.text].className||``;if(e.mode===`text`){var r=Mn(e,t,`textord`);return r.classes.push(n),r}else return W([`mspace`,n],[An(e.text,e.mode,t)],t)}else if(Ia.hasOwnProperty(e.text))return W([`mspace`,Ia[e.text]],[],t);else throw new A(`Unknown type of space "`+e.text+`"`)},mathmlBuilder(e,t){var n;if(La.hasOwnProperty(e.text))n=new J(`mtext`,[new _r(`\xA0`)]);else if(Ia.hasOwnProperty(e.text))return new J(`mspace`);else throw new A(`Unknown type of space "`+e.text+`"`);return n}});var Ra=()=>{var e=new J(`mtd`,[]);return e.setAttribute(`width`,`50%`),e};tr({type:`tag`,mathmlBuilder(e,t){var n=new J(`mtable`,[new J(`mtr`,[Ra(),new J(`mtd`,[Dr(e.body,t)]),Ra(),new J(`mtd`,[Dr(e.tag,t)])])]);return n.setAttribute(`width`,`100%`),n}});var za={"\\text":void 0,"\\textrm":`textrm`,"\\textsf":`textsf`,"\\texttt":`texttt`,"\\textnormal":`textrm`},Ba={"\\textbf":`textbf`,"\\textmd":`textmd`},Va={"\\textit":`textit`,"\\textup":`textup`},Ha=(e,t)=>{var n=e.font;return n?za[n]?t.withTextFontFamily(za[n]):Ba[n]?t.withTextFontWeight(Ba[n]):n===`\\emph`?t.fontShape===`textit`?t.withTextFontShape(`textup`):t.withTextFontShape(`textit`):t.withTextFontShape(Va[n]):t};K({type:`text`,names:[`\\text`,`\\textrm`,`\\textsf`,`\\texttt`,`\\textnormal`,`\\textbf`,`\\textmd`,`\\textit`,`\\textup`,`\\emph`],props:{numArgs:1,argTypes:[`text`],allowedInArgument:!0,allowedInText:!0},handler(e,t){var{parser:n,funcName:r}=e,i=t[0];return{type:`text`,mode:n.mode,body:rr(i),font:r}},htmlBuilder(e,t){var n=Ha(e,t);return W([`mord`,`text`],cr(e.body,n,!0),n)},mathmlBuilder(e,t){var n=Ha(e,t);return Dr(e.body,n)}}),K({type:`underline`,names:[`\\underline`],props:{numArgs:1,allowedInText:!0},handler(e,t){var{parser:n}=e;return{type:`underline`,mode:n.mode,body:t[0]}},htmlBuilder(e,t){var n=q(e.body,t),r=Ln(`underline-line`,t),i=t.fontMetrics().defaultRuleThickness;return W([`mord`,`underline`],[G({positionType:`top`,positionData:n.height,children:[{type:`kern`,size:i},{type:`elem`,elem:r},{type:`kern`,size:3*i},{type:`elem`,elem:n}]})],t)},mathmlBuilder(e,t){var n=new J(`mo`,[new _r(`‾`)]);n.setAttribute(`stretchy`,`true`);var r=new J(`munder`,[Y(e.body,t),n]);return r.setAttribute(`accentunder`,`true`),r}}),K({type:`vcenter`,names:[`\\vcenter`],props:{numArgs:1,argTypes:[`original`],allowedInText:!1},handler(e,t){var{parser:n}=e;return{type:`vcenter`,mode:n.mode,body:t[0]}},htmlBuilder(e,t){var n=q(e.body,t),r=t.fontMetrics().axisHeight;return G({positionType:`shift`,positionData:.5*(n.height-r-(n.depth+r)),children:[{type:`elem`,elem:n}]})},mathmlBuilder(e,t){return new J(`mrow`,[new J(`mpadded`,[Y(e.body,t)],[`vcenter`])])}}),K({type:`verb`,names:[`\\verb`],props:{numArgs:0,allowedInText:!0},handler(e,t,n){throw new A(`\\verb ended by end of line instead of matching delimiter`)},htmlBuilder(e,t){for(var n=Ua(e),r=[],i=t.havingStyle(t.style.text()),a=0;a<n.length;a++){var o=n[a];o===`~`&&(o=`\\textasciitilde`),r.push(kn(o,`Typewriter-Regular`,e.mode,i,[`mord`,`texttt`]))}return W([`mord`,`text`].concat(i.sizingClasses(t)),Pn(r),i)},mathmlBuilder(e,t){var n=new J(`mtext`,[new _r(Ua(e))]);return n.setAttribute(`mathvariant`,`monospace`),n}});var Ua=e=>e.body.replace(/ /g,e.star?`␣`:`\xA0`),Wa=Qn,Ga=`[ \r
253
+ ]`,Ka=`\\\\[a-zA-Z@]+`,qa=`\\\\[^\ud800-\udfff]`,Ja=`(`+Ka+`)`+Ga+`*`,Ya=`\\\\(
254
254
  |[ \r ]+
255
- ?)[ \r ]*`,Ka=`[̀-ͯ]`,qa=RegExp(Ka+`+$`),Ja=`(`+Va+`+)|`+(Ga+`|`)+`([!-\\[\\]-‧‪-퟿豈-￿]`+(Ka+`*`)+`|[\ud800-\udbff][\udc00-\udfff]`+(Ka+`*`)+`|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5`+(`|`+Wa)+(`|`+Ua+`)`),Ya=class{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(Ja,`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 Xi(`EOF`,new Yi(this,t,t));var n=this.tokenRegex.exec(e);if(n===null||n.index!==t)throw new O(`Unexpected character: '`+e[t]+`'`,new Xi(e[t],new Yi(this,t,t+1)));var r=n[6]||n[3]||(n[2]?`\\ `:` `);if(this.catcodes[r]===14){var i=e.indexOf(`
256
- `,this.tokenRegex.lastIndex);return i===-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=i+1,this.lex()}return new Xi(r,new Yi(this,t,this.tokenRegex.lastIndex))}},Xa=class{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 O(`Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug`);var e=this.undefStack.pop();for(var t in e)e.hasOwnProperty(t)&&(e[t]==null?delete this.current[t]:this.current[t]=e[t])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,t,n){if(n===void 0&&(n=!1),n){for(var r=0;r<this.undefStack.length;r++)delete this.undefStack[r][e];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var i=this.undefStack[this.undefStack.length-1];i&&!i.hasOwnProperty(e)&&(i[e]=this.current[e])}t==null?delete this.current[e]:this.current[e]=t}},Za=Ji;Z(`\\noexpand`,function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}}),Z(`\\expandafter`,function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}}),Z(`\\@firstoftwo`,function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}}),Z(`\\@secondoftwo`,function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}}),Z(`\\@ifnextchar`,function(e){var t=e.consumeArgs(3);e.consumeSpaces();var n=e.future();return t[0].length===1&&t[0][0].text===n.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}}),Z(`\\@ifstar`,`\\@ifnextchar *{\\@firstoftwo{#1}}`),Z(`\\TextOrMath`,function(e){var t=e.consumeArgs(2);return e.mode===`text`?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}});var Qa={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};Z(`\\char`,function(e){var t=e.popToken(),n,r=0;if(t.text===`'`)n=8,t=e.popToken();else if(t.text===`"`)n=16,t=e.popToken();else if(t.text==="`")if(t=e.popToken(),t.text[0]===`\\`)r=t.text.charCodeAt(1);else if(t.text===`EOF`)throw new O("\\char` missing argument");else r=t.text.charCodeAt(0);else n=10;if(n){if(r=Qa[t.text],r==null||r>=n)throw new O(`Invalid base-`+n+` digit `+t.text);for(var i;(i=Qa[e.future().text])!=null&&i<n;)r*=n,r+=i,e.popToken()}return`\\@char{`+r+`}`});var $a=(e,t,n,r)=>{var i=e.consumeArg().tokens;if(i.length!==1)throw new O(`\\newcommand's first argument must be a macro name`);var a=i[0].text,o=e.isDefined(a);if(o&&!t)throw new O(`\\newcommand{`+a+`} attempting to redefine `+(a+`; use \\renewcommand`));if(!o&&!n)throw new O(`\\renewcommand{`+a+`} when command `+a+` does not yet exist; use \\newcommand`);var s=0;if(i=e.consumeArg().tokens,i.length===1&&i[0].text===`[`){for(var c=``,l=e.expandNextToken();l.text!==`]`&&l.text!==`EOF`;)c+=l.text,l=e.expandNextToken();if(!c.match(/^\s*[0-9]+\s*$/))throw new O(`Invalid number of arguments: `+c);s=parseInt(c),i=e.consumeArg().tokens}return o&&r||e.macros.set(a,{tokens:i,numArgs:s}),``};Z(`\\newcommand`,e=>$a(e,!1,!0,!1)),Z(`\\renewcommand`,e=>$a(e,!0,!1,!1)),Z(`\\providecommand`,e=>$a(e,!0,!0,!0)),Z(`\\message`,e=>{var t=e.consumeArgs(1)[0];return console.log(t.reverse().map(e=>e.text).join(``)),``}),Z(`\\errmessage`,e=>{var t=e.consumeArgs(1)[0];return console.error(t.reverse().map(e=>e.text).join(``)),``}),Z(`\\show`,e=>{var t=e.popToken(),n=t.text;return console.log(t,e.macros.get(n),Ba[n],Lt.math[n],Lt.text[n]),``}),Z(`\\bgroup`,`{`),Z(`\\egroup`,`}`),Z(`~`,`\\nobreakspace`),Z(`\\lq`,"`"),Z(`\\rq`,`'`),Z(`\\aa`,`\\r a`),Z(`\\AA`,`\\r A`),Z(`\\textcopyright`,"\\html@mathml{\\textcircled{c}}{\\char`©}"),Z(`\\copyright`,`\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}`),Z(`\\textregistered`,"\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"),Z(`ℬ`,`\\mathscr{B}`),Z(`ℰ`,`\\mathscr{E}`),Z(`ℱ`,`\\mathscr{F}`),Z(`ℋ`,`\\mathscr{H}`),Z(`ℐ`,`\\mathscr{I}`),Z(`ℒ`,`\\mathscr{L}`),Z(`ℳ`,`\\mathscr{M}`),Z(`ℛ`,`\\mathscr{R}`),Z(`ℭ`,`\\mathfrak{C}`),Z(`ℌ`,`\\mathfrak{H}`),Z(`ℨ`,`\\mathfrak{Z}`),Z(`\\Bbbk`,`\\Bbb{k}`),Z(`\\llap`,`\\mathllap{\\textrm{#1}}`),Z(`\\rlap`,`\\mathrlap{\\textrm{#1}}`),Z(`\\clap`,`\\mathclap{\\textrm{#1}}`),Z(`\\mathstrut`,`\\vphantom{(}`),Z(`\\underbar`,`\\underline{\\text{#1}}`),Z(`\\not`,`\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}`),Z(`\\neq`,"\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"),Z(`\\ne`,`\\neq`),Z(`≠`,`\\neq`),Z(`\\notin`,"\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}"),Z(`∉`,`\\notin`),Z(`≘`,"\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}"),Z(`≙`,"\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}"),Z(`≚`,"\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}"),Z(`≛`,"\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}"),Z(`≝`,"\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}"),Z(`≞`,"\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}"),Z(`≟`,"\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}"),Z(`⟂`,`\\perp`),Z(`‼`,`\\mathclose{!\\mkern-0.8mu!}`),Z(`∌`,`\\notni`),Z(`⌜`,`\\ulcorner`),Z(`⌝`,`\\urcorner`),Z(`⌞`,`\\llcorner`),Z(`⌟`,`\\lrcorner`),Z(`©`,`\\copyright`),Z(`®`,`\\textregistered`),Z(`\\ulcorner`,`\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}`),Z(`\\urcorner`,`\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}`),Z(`\\llcorner`,`\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}`),Z(`\\lrcorner`,`\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}`),Z(`\\vdots`,`{\\varvdots\\rule{0pt}{15pt}}`),Z(`⋮`,`\\vdots`),Z(`\\varGamma`,`\\mathit{\\Gamma}`),Z(`\\varDelta`,`\\mathit{\\Delta}`),Z(`\\varTheta`,`\\mathit{\\Theta}`),Z(`\\varLambda`,`\\mathit{\\Lambda}`),Z(`\\varXi`,`\\mathit{\\Xi}`),Z(`\\varPi`,`\\mathit{\\Pi}`),Z(`\\varSigma`,`\\mathit{\\Sigma}`),Z(`\\varUpsilon`,`\\mathit{\\Upsilon}`),Z(`\\varPhi`,`\\mathit{\\Phi}`),Z(`\\varPsi`,`\\mathit{\\Psi}`),Z(`\\varOmega`,`\\mathit{\\Omega}`),Z(`\\substack`,`\\begin{subarray}{c}#1\\end{subarray}`),Z(`\\colon`,`\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax`),Z(`\\boxed`,`\\fbox{$\\displaystyle{#1}$}`),Z(`\\iff`,`\\DOTSB\\;\\Longleftrightarrow\\;`),Z(`\\implies`,`\\DOTSB\\;\\Longrightarrow\\;`),Z(`\\impliedby`,`\\DOTSB\\;\\Longleftarrow\\;`),Z(`\\dddot`,`{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}`),Z(`\\ddddot`,`{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}`);var eo={",":`\\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`},to=new Set([`bin`,`rel`]);Z(`\\dots`,function(e){var t=`\\dotso`,n=e.expandAfterFuture().text;return n in eo?t=eo[n]:(n.slice(0,4)===`\\not`||n in Lt.math&&to.has(Lt.math[n].group))&&(t=`\\dotsb`),t});var no={")":!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};Z(`\\dotso`,function(e){return e.future().text in no?`\\ldots\\,`:`\\ldots`}),Z(`\\dotsc`,function(e){var t=e.future().text;return t in no&&t!==`,`?`\\ldots\\,`:`\\ldots`}),Z(`\\cdots`,function(e){return e.future().text in no?`\\@cdots\\,`:`\\@cdots`}),Z(`\\dotsb`,`\\cdots`),Z(`\\dotsm`,`\\cdots`),Z(`\\dotsi`,`\\!\\cdots`),Z(`\\dotsx`,`\\ldots\\,`),Z(`\\DOTSI`,`\\relax`),Z(`\\DOTSB`,`\\relax`),Z(`\\DOTSX`,`\\relax`),Z(`\\tmspace`,`\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax`),Z(`\\,`,`\\tmspace+{3mu}{.1667em}`),Z(`\\thinspace`,`\\,`),Z(`\\>`,`\\mskip{4mu}`),Z(`\\:`,`\\tmspace+{4mu}{.2222em}`),Z(`\\medspace`,`\\:`),Z(`\\;`,`\\tmspace+{5mu}{.2777em}`),Z(`\\thickspace`,`\\;`),Z(`\\!`,`\\tmspace-{3mu}{.1667em}`),Z(`\\negthinspace`,`\\!`),Z(`\\negmedspace`,`\\tmspace-{4mu}{.2222em}`),Z(`\\negthickspace`,`\\tmspace-{5mu}{.277em}`),Z(`\\enspace`,`\\kern.5em `),Z(`\\enskip`,`\\hskip.5em\\relax`),Z(`\\quad`,`\\hskip1em\\relax`),Z(`\\qquad`,`\\hskip2em\\relax`),Z(`\\tag`,`\\@ifstar\\tag@literal\\tag@paren`),Z(`\\tag@paren`,`\\tag@literal{({#1})}`),Z(`\\tag@literal`,e=>{if(e.macros.get(`\\df@tag`))throw new O(`Multiple \\tag`);return`\\gdef\\df@tag{\\text{#1}}`}),Z(`\\bmod`,`\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}`),Z(`\\pod`,`\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)`),Z(`\\pmod`,`\\pod{{\\rm mod}\\mkern6mu#1}`),Z(`\\mod`,`\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1`),Z(`\\newline`,`\\\\\\relax`),Z(`\\TeX`,`\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}`);var ro=N(At[`Main-Regular`][84][1]-.7*At[`Main-Regular`][65][1]);Z(`\\LaTeX`,`\\textrm{\\html@mathml{`+(`L\\kern-.36em\\raisebox{`+ro+`}{\\scriptstyle A}`)+`\\kern-.15em\\TeX}{LaTeX}}`),Z(`\\KaTeX`,`\\textrm{\\html@mathml{`+(`K\\kern-.17em\\raisebox{`+ro+`}{\\scriptstyle A}`)+`\\kern-.15em\\TeX}{KaTeX}}`),Z(`\\hspace`,`\\@ifstar\\@hspacer\\@hspace`),Z(`\\@hspace`,`\\hskip #1\\relax`),Z(`\\@hspacer`,`\\rule{0pt}{0pt}\\hskip #1\\relax`),Z(`\\ordinarycolon`,`:`),Z(`\\vcentcolon`,`\\mathrel{\\mathop\\ordinarycolon}`),Z(`\\dblcolon`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}`),Z(`\\coloneqq`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}`),Z(`\\Coloneqq`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}`),Z(`\\coloneq`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}`),Z(`\\Coloneq`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}`),Z(`\\eqqcolon`,`\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}`),Z(`\\Eqqcolon`,`\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}`),Z(`\\eqcolon`,`\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}`),Z(`\\Eqcolon`,`\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}`),Z(`\\colonapprox`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}`),Z(`\\Colonapprox`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}`),Z(`\\colonsim`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}`),Z(`\\Colonsim`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}`),Z(`∷`,`\\dblcolon`),Z(`∹`,`\\eqcolon`),Z(`≔`,`\\coloneqq`),Z(`≕`,`\\eqqcolon`),Z(`⩴`,`\\Coloneqq`),Z(`\\ratio`,`\\vcentcolon`),Z(`\\coloncolon`,`\\dblcolon`),Z(`\\colonequals`,`\\coloneqq`),Z(`\\coloncolonequals`,`\\Coloneqq`),Z(`\\equalscolon`,`\\eqqcolon`),Z(`\\equalscoloncolon`,`\\Eqqcolon`),Z(`\\colonminus`,`\\coloneq`),Z(`\\coloncolonminus`,`\\Coloneq`),Z(`\\minuscolon`,`\\eqcolon`),Z(`\\minuscoloncolon`,`\\Eqcolon`),Z(`\\coloncolonapprox`,`\\Colonapprox`),Z(`\\coloncolonsim`,`\\Colonsim`),Z(`\\simcolon`,`\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}`),Z(`\\simcoloncolon`,`\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}`),Z(`\\approxcolon`,`\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}`),Z(`\\approxcoloncolon`,`\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}`),Z(`\\notni`,"\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}"),Z(`\\limsup`,`\\DOTSB\\operatorname*{lim\\,sup}`),Z(`\\liminf`,`\\DOTSB\\operatorname*{lim\\,inf}`),Z(`\\injlim`,`\\DOTSB\\operatorname*{inj\\,lim}`),Z(`\\projlim`,`\\DOTSB\\operatorname*{proj\\,lim}`),Z(`\\varlimsup`,`\\DOTSB\\operatorname*{\\overline{lim}}`),Z(`\\varliminf`,`\\DOTSB\\operatorname*{\\underline{lim}}`),Z(`\\varinjlim`,`\\DOTSB\\operatorname*{\\underrightarrow{lim}}`),Z(`\\varprojlim`,`\\DOTSB\\operatorname*{\\underleftarrow{lim}}`),Z(`\\gvertneqq`,`\\html@mathml{\\@gvertneqq}{≩}`),Z(`\\lvertneqq`,`\\html@mathml{\\@lvertneqq}{≨}`),Z(`\\ngeqq`,`\\html@mathml{\\@ngeqq}{≱}`),Z(`\\ngeqslant`,`\\html@mathml{\\@ngeqslant}{≱}`),Z(`\\nleqq`,`\\html@mathml{\\@nleqq}{≰}`),Z(`\\nleqslant`,`\\html@mathml{\\@nleqslant}{≰}`),Z(`\\nshortmid`,`\\html@mathml{\\@nshortmid}{∤}`),Z(`\\nshortparallel`,`\\html@mathml{\\@nshortparallel}{∦}`),Z(`\\nsubseteqq`,`\\html@mathml{\\@nsubseteqq}{⊈}`),Z(`\\nsupseteqq`,`\\html@mathml{\\@nsupseteqq}{⊉}`),Z(`\\varsubsetneq`,`\\html@mathml{\\@varsubsetneq}{⊊}`),Z(`\\varsubsetneqq`,`\\html@mathml{\\@varsubsetneqq}{⫋}`),Z(`\\varsupsetneq`,`\\html@mathml{\\@varsupsetneq}{⊋}`),Z(`\\varsupsetneqq`,`\\html@mathml{\\@varsupsetneqq}{⫌}`),Z(`\\imath`,`\\html@mathml{\\@imath}{ı}`),Z(`\\jmath`,`\\html@mathml{\\@jmath}{ȷ}`),Z(`\\llbracket`,"\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}"),Z(`\\rrbracket`,"\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}"),Z(`⟦`,`\\llbracket`),Z(`⟧`,`\\rrbracket`),Z(`\\lBrace`,"\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}"),Z(`\\rBrace`,"\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}"),Z(`⦃`,`\\lBrace`),Z(`⦄`,`\\rBrace`),Z(`\\minuso`,"\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}"),Z(`⦵`,`\\minuso`),Z(`\\darr`,`\\downarrow`),Z(`\\dArr`,`\\Downarrow`),Z(`\\Darr`,`\\Downarrow`),Z(`\\lang`,`\\langle`),Z(`\\rang`,`\\rangle`),Z(`\\uarr`,`\\uparrow`),Z(`\\uArr`,`\\Uparrow`),Z(`\\Uarr`,`\\Uparrow`),Z(`\\N`,`\\mathbb{N}`),Z(`\\R`,`\\mathbb{R}`),Z(`\\Z`,`\\mathbb{Z}`),Z(`\\alef`,`\\aleph`),Z(`\\alefsym`,`\\aleph`),Z(`\\Alpha`,`\\mathrm{A}`),Z(`\\Beta`,`\\mathrm{B}`),Z(`\\bull`,`\\bullet`),Z(`\\Chi`,`\\mathrm{X}`),Z(`\\clubs`,`\\clubsuit`),Z(`\\cnums`,`\\mathbb{C}`),Z(`\\Complex`,`\\mathbb{C}`),Z(`\\Dagger`,`\\ddagger`),Z(`\\diamonds`,`\\diamondsuit`),Z(`\\empty`,`\\emptyset`),Z(`\\Epsilon`,`\\mathrm{E}`),Z(`\\Eta`,`\\mathrm{H}`),Z(`\\exist`,`\\exists`),Z(`\\harr`,`\\leftrightarrow`),Z(`\\hArr`,`\\Leftrightarrow`),Z(`\\Harr`,`\\Leftrightarrow`),Z(`\\hearts`,`\\heartsuit`),Z(`\\image`,`\\Im`),Z(`\\infin`,`\\infty`),Z(`\\Iota`,`\\mathrm{I}`),Z(`\\isin`,`\\in`),Z(`\\Kappa`,`\\mathrm{K}`),Z(`\\larr`,`\\leftarrow`),Z(`\\lArr`,`\\Leftarrow`),Z(`\\Larr`,`\\Leftarrow`),Z(`\\lrarr`,`\\leftrightarrow`),Z(`\\lrArr`,`\\Leftrightarrow`),Z(`\\Lrarr`,`\\Leftrightarrow`),Z(`\\Mu`,`\\mathrm{M}`),Z(`\\natnums`,`\\mathbb{N}`),Z(`\\Nu`,`\\mathrm{N}`),Z(`\\Omicron`,`\\mathrm{O}`),Z(`\\plusmn`,`\\pm`),Z(`\\rarr`,`\\rightarrow`),Z(`\\rArr`,`\\Rightarrow`),Z(`\\Rarr`,`\\Rightarrow`),Z(`\\real`,`\\Re`),Z(`\\reals`,`\\mathbb{R}`),Z(`\\Reals`,`\\mathbb{R}`),Z(`\\Rho`,`\\mathrm{P}`),Z(`\\sdot`,`\\cdot`),Z(`\\sect`,`\\S`),Z(`\\spades`,`\\spadesuit`),Z(`\\sub`,`\\subset`),Z(`\\sube`,`\\subseteq`),Z(`\\supe`,`\\supseteq`),Z(`\\Tau`,`\\mathrm{T}`),Z(`\\thetasym`,`\\vartheta`),Z(`\\weierp`,`\\wp`),Z(`\\Zeta`,`\\mathrm{Z}`),Z(`\\argmin`,`\\DOTSB\\operatorname*{arg\\,min}`),Z(`\\argmax`,`\\DOTSB\\operatorname*{arg\\,max}`),Z(`\\plim`,`\\DOTSB\\mathop{\\operatorname{plim}}\\limits`),Z(`\\bra`,`\\mathinner{\\langle{#1}|}`),Z(`\\ket`,`\\mathinner{|{#1}\\rangle}`),Z(`\\braket`,`\\mathinner{\\langle{#1}\\rangle}`),Z(`\\Bra`,`\\left\\langle#1\\right|`),Z(`\\Ket`,`\\left|#1\\right\\rangle`);var io=e=>t=>{var n=t.consumeArg().tokens,r=t.consumeArg().tokens,i=t.consumeArg().tokens,a=t.consumeArg().tokens,o=t.macros.get(`|`),s=t.macros.get(`\\|`);t.macros.beginGroup();var c=t=>n=>{e&&(n.macros.set(`|`,o),i.length&&n.macros.set(`\\|`,s));var a=t;return!t&&i.length&&n.future().text===`|`&&(n.popToken(),a=!0),{tokens:a?i:r,numArgs:0}};t.macros.set(`|`,c(!1)),i.length&&t.macros.set(`\\|`,c(!0));var l=t.consumeArg().tokens,u=t.expandTokens([...a,...l,...n]);return t.macros.endGroup(),{tokens:u.reverse(),numArgs:0}};Z(`\\bra@ket`,io(!1)),Z(`\\bra@set`,io(!0)),Z(`\\Braket`,`\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}`),Z(`\\Set`,`\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}`),Z(`\\set`,`\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}`),Z(`\\angln`,`{\\angl n}`),Z(`\\blue`,`\\textcolor{##6495ed}{#1}`),Z(`\\orange`,`\\textcolor{##ffa500}{#1}`),Z(`\\pink`,`\\textcolor{##ff00af}{#1}`),Z(`\\red`,`\\textcolor{##df0030}{#1}`),Z(`\\green`,`\\textcolor{##28ae7b}{#1}`),Z(`\\gray`,`\\textcolor{gray}{#1}`),Z(`\\purple`,`\\textcolor{##9d38bd}{#1}`),Z(`\\blueA`,`\\textcolor{##ccfaff}{#1}`),Z(`\\blueB`,`\\textcolor{##80f6ff}{#1}`),Z(`\\blueC`,`\\textcolor{##63d9ea}{#1}`),Z(`\\blueD`,`\\textcolor{##11accd}{#1}`),Z(`\\blueE`,`\\textcolor{##0c7f99}{#1}`),Z(`\\tealA`,`\\textcolor{##94fff5}{#1}`),Z(`\\tealB`,`\\textcolor{##26edd5}{#1}`),Z(`\\tealC`,`\\textcolor{##01d1c1}{#1}`),Z(`\\tealD`,`\\textcolor{##01a995}{#1}`),Z(`\\tealE`,`\\textcolor{##208170}{#1}`),Z(`\\greenA`,`\\textcolor{##b6ffb0}{#1}`),Z(`\\greenB`,`\\textcolor{##8af281}{#1}`),Z(`\\greenC`,`\\textcolor{##74cf70}{#1}`),Z(`\\greenD`,`\\textcolor{##1fab54}{#1}`),Z(`\\greenE`,`\\textcolor{##0d923f}{#1}`),Z(`\\goldA`,`\\textcolor{##ffd0a9}{#1}`),Z(`\\goldB`,`\\textcolor{##ffbb71}{#1}`),Z(`\\goldC`,`\\textcolor{##ff9c39}{#1}`),Z(`\\goldD`,`\\textcolor{##e07d10}{#1}`),Z(`\\goldE`,`\\textcolor{##a75a05}{#1}`),Z(`\\redA`,`\\textcolor{##fca9a9}{#1}`),Z(`\\redB`,`\\textcolor{##ff8482}{#1}`),Z(`\\redC`,`\\textcolor{##f9685d}{#1}`),Z(`\\redD`,`\\textcolor{##e84d39}{#1}`),Z(`\\redE`,`\\textcolor{##bc2612}{#1}`),Z(`\\maroonA`,`\\textcolor{##ffbde0}{#1}`),Z(`\\maroonB`,`\\textcolor{##ff92c6}{#1}`),Z(`\\maroonC`,`\\textcolor{##ed5fa6}{#1}`),Z(`\\maroonD`,`\\textcolor{##ca337c}{#1}`),Z(`\\maroonE`,`\\textcolor{##9e034e}{#1}`),Z(`\\purpleA`,`\\textcolor{##ddd7ff}{#1}`),Z(`\\purpleB`,`\\textcolor{##c6b9fc}{#1}`),Z(`\\purpleC`,`\\textcolor{##aa87ff}{#1}`),Z(`\\purpleD`,`\\textcolor{##7854ab}{#1}`),Z(`\\purpleE`,`\\textcolor{##543b78}{#1}`),Z(`\\mintA`,`\\textcolor{##f5f9e8}{#1}`),Z(`\\mintB`,`\\textcolor{##edf2df}{#1}`),Z(`\\mintC`,`\\textcolor{##e0e5cc}{#1}`),Z(`\\grayA`,`\\textcolor{##f6f7f7}{#1}`),Z(`\\grayB`,`\\textcolor{##f0f1f2}{#1}`),Z(`\\grayC`,`\\textcolor{##e3e5e6}{#1}`),Z(`\\grayD`,`\\textcolor{##d6d8da}{#1}`),Z(`\\grayE`,`\\textcolor{##babec2}{#1}`),Z(`\\grayF`,`\\textcolor{##888d93}{#1}`),Z(`\\grayG`,`\\textcolor{##626569}{#1}`),Z(`\\grayH`,`\\textcolor{##3b3e40}{#1}`),Z(`\\grayI`,`\\textcolor{##21242c}{#1}`),Z(`\\kaBlue`,`\\textcolor{##314453}{#1}`),Z(`\\kaGreen`,`\\textcolor{##71B307}{#1}`);var ao={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},oo=class{constructor(e,t,n){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 Xa(Za,t.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new Ya(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,n,r;if(e){if(this.consumeSpaces(),this.future().text!==`[`)return null;t=this.popToken(),{tokens:r,end:n}=this.consumeArg([`]`])}else({tokens:r,start:t,end:n}=this.consumeArg());return this.pushToken(new Xi(`EOF`,n.loc)),this.pushTokens(r),new Xi(``,Yi.range(t,n))}consumeSpaces(){for(;this.future().text===` `;)this.stack.pop()}consumeArg(e){var t=[],n=e&&e.length>0;n||this.consumeSpaces();var r=this.future(),i,a=0,o=0;do{if(i=this.popToken(),t.push(i),i.text===`{`)++a;else if(i.text===`}`){if(--a,a===-1)throw new O(`Extra }`,i)}else if(i.text===`EOF`)throw new O(`Unexpected end of input in a macro argument, expected '`+(e&&n?e[o]:`}`)+`'`,i);if(e&&n)if((a===0||a===1&&e[o]===`{`)&&i.text===e[o]){if(++o,o===e.length){t.splice(-o,o);break}}else o=0}while(a!==0||n);return r.text===`{`&&t[t.length-1].text===`}`&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:r,end:i}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new O(`The length of delimiters doesn't match the number of args!`);for(var n=t[0],r=0;r<n.length;r++){var i=this.popToken();if(n[r]!==i.text)throw new O(`Use of the macro doesn't match its definition`,i)}}for(var a=[],o=0;o<e;o++)a.push(this.consumeArg(t&&t[o+1]).tokens);return a}countExpansion(e){if(this.expansionCount+=e,this.expansionCount>this.settings.maxExpand)throw new O(`Too many expansions: infinite loop or need to increase maxExpand setting`)}expandOnce(e){var t=this.popToken(),n=t.text,r=t.noexpand?null:this._getExpansion(n);if(r==null||e&&r.unexpandable){if(e&&r==null&&n[0]===`\\`&&!this.isDefined(n))throw new O(`Undefined control sequence: `+n);return this.pushToken(t),!1}this.countExpansion(1);var i=r.tokens,a=this.consumeArgs(r.numArgs,r.delimiters);if(r.numArgs){i=i.slice();for(var o=i.length-1;o>=0;--o){var s=i[o];if(s.text===`#`){if(o===0)throw new O(`Incomplete placeholder at end of macro body`,s);if(s=i[--o],s.text===`#`)i.splice(o+1,1);else if(/^[1-9]$/.test(s.text))i.splice(o,2,...a[s.text-1]);else throw new O(`Not a valid argument number`,s)}}}return this.pushTokens(i),i.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 Xi(e)]):void 0}expandTokens(e){var t=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var r=this.stack.pop();r.treatAsRelax&&=(r.noexpand=!1,!1),t.push(r)}return this.countExpansion(t.length),t}expandMacroAsText(e){var t=this.expandMacro(e);return t&&t.map(e=>e.text).join(``)}_getExpansion(e){var t=this.macros.get(e);if(t==null)return t;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var r=typeof t==`function`?t(this):t;if(typeof r==`string`){var i=0;if(r.includes(`#`))for(var a=r.replace(/##/g,``);a.includes(`#`+(i+1));)++i;for(var o=new Ya(r,this.settings),s=[],c=o.lex();c.text!==`EOF`;)s.push(c),c=o.lex();return s.reverse(),{tokens:s,numArgs:i}}return r}isDefined(e){return this.macros.has(e)||Ba.hasOwnProperty(e)||Lt.math.hasOwnProperty(e)||Lt.text.hasOwnProperty(e)||ao.hasOwnProperty(e)}isExpandable(e){var t=this.macros.get(e);return t==null?Ba.hasOwnProperty(e)&&!Ba[e].primitive:typeof t==`string`||typeof t==`function`||!t.unexpandable}},so=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,co=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`,ᵝ:`β`,ᵞ:`γ`,ᵟ:`δ`,ᵠ:`ϕ`,ᵡ:`χ`,ᶿ:`θ`}),lo={"́":{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`}},uo={á:`á`,à:`à`,ä:`ä`,ǟ:`ǟ`,ã:`ã`,ā:`ā`,ă:`ă`,ắ:`ắ`,ằ:`ằ`,ẵ:`ẵ`,ǎ:`ǎ`,â:`â`,ấ:`ấ`,ầ:`ầ`,ẫ:`ẫ`,ȧ:`ȧ`,ǡ:`ǡ`,å:`å`,ǻ:`ǻ`,ḃ:`ḃ`,ć:`ć`,ḉ:`ḉ`,č:`č`,ĉ:`ĉ`,ċ:`ċ`,ç:`ç`,ď:`ď`,ḋ:`ḋ`,ḑ:`ḑ`,é:`é`,è:`è`,ë:`ë`,ẽ:`ẽ`,ē:`ē`,ḗ:`ḗ`,ḕ:`ḕ`,ĕ:`ĕ`,ḝ:`ḝ`,ě:`ě`,ê:`ê`,ế:`ế`,ề:`ề`,ễ:`ễ`,ė:`ė`,ȩ:`ȩ`,ḟ:`ḟ`,ǵ:`ǵ`,ḡ:`ḡ`,ğ:`ğ`,ǧ:`ǧ`,ĝ:`ĝ`,ġ:`ġ`,ģ:`ģ`,ḧ:`ḧ`,ȟ:`ȟ`,ĥ:`ĥ`,ḣ:`ḣ`,ḩ:`ḩ`,í:`í`,ì:`ì`,ï:`ï`,ḯ:`ḯ`,ĩ:`ĩ`,ī:`ī`,ĭ:`ĭ`,ǐ:`ǐ`,î:`î`,ǰ:`ǰ`,ĵ:`ĵ`,ḱ:`ḱ`,ǩ:`ǩ`,ķ:`ķ`,ĺ:`ĺ`,ľ:`ľ`,ļ:`ļ`,ḿ:`ḿ`,ṁ:`ṁ`,ń:`ń`,ǹ:`ǹ`,ñ:`ñ`,ň:`ň`,ṅ:`ṅ`,ņ:`ņ`,ó:`ó`,ò:`ò`,ö:`ö`,ȫ:`ȫ`,õ:`õ`,ṍ:`ṍ`,ṏ:`ṏ`,ȭ:`ȭ`,ō:`ō`,ṓ:`ṓ`,ṑ:`ṑ`,ŏ:`ŏ`,ǒ:`ǒ`,ô:`ô`,ố:`ố`,ồ:`ồ`,ỗ:`ỗ`,ȯ:`ȯ`,ȱ:`ȱ`,ő:`ő`,ṕ:`ṕ`,ṗ:`ṗ`,ŕ:`ŕ`,ř:`ř`,ṙ:`ṙ`,ŗ:`ŗ`,ś:`ś`,ṥ:`ṥ`,š:`š`,ṧ:`ṧ`,ŝ:`ŝ`,ṡ:`ṡ`,ş:`ş`,ẗ:`ẗ`,ť:`ť`,ṫ:`ṫ`,ţ:`ţ`,ú:`ú`,ù:`ù`,ü:`ü`,ǘ:`ǘ`,ǜ:`ǜ`,ǖ:`ǖ`,ǚ:`ǚ`,ũ:`ũ`,ṹ:`ṹ`,ū:`ū`,ṻ:`ṻ`,ŭ:`ŭ`,ǔ:`ǔ`,û:`û`,ů:`ů`,ű:`ű`,ṽ:`ṽ`,ẃ:`ẃ`,ẁ:`ẁ`,ẅ:`ẅ`,ŵ:`ŵ`,ẇ:`ẇ`,ẘ:`ẘ`,ẍ:`ẍ`,ẋ:`ẋ`,ý:`ý`,ỳ:`ỳ`,ÿ:`ÿ`,ỹ:`ỹ`,ȳ:`ȳ`,ŷ:`ŷ`,ẏ:`ẏ`,ẙ:`ẙ`,ź:`ź`,ž:`ž`,ẑ:`ẑ`,ż:`ż`,Á:`Á`,À:`À`,Ä:`Ä`,Ǟ:`Ǟ`,Ã:`Ã`,Ā:`Ā`,Ă:`Ă`,Ắ:`Ắ`,Ằ:`Ằ`,Ẵ:`Ẵ`,Ǎ:`Ǎ`,Â:`Â`,Ấ:`Ấ`,Ầ:`Ầ`,Ẫ:`Ẫ`,Ȧ:`Ȧ`,Ǡ:`Ǡ`,Å:`Å`,Ǻ:`Ǻ`,Ḃ:`Ḃ`,Ć:`Ć`,Ḉ:`Ḉ`,Č:`Č`,Ĉ:`Ĉ`,Ċ:`Ċ`,Ç:`Ç`,Ď:`Ď`,Ḋ:`Ḋ`,Ḑ:`Ḑ`,É:`É`,È:`È`,Ë:`Ë`,Ẽ:`Ẽ`,Ē:`Ē`,Ḗ:`Ḗ`,Ḕ:`Ḕ`,Ĕ:`Ĕ`,Ḝ:`Ḝ`,Ě:`Ě`,Ê:`Ê`,Ế:`Ế`,Ề:`Ề`,Ễ:`Ễ`,Ė:`Ė`,Ȩ:`Ȩ`,Ḟ:`Ḟ`,Ǵ:`Ǵ`,Ḡ:`Ḡ`,Ğ:`Ğ`,Ǧ:`Ǧ`,Ĝ:`Ĝ`,Ġ:`Ġ`,Ģ:`Ģ`,Ḧ:`Ḧ`,Ȟ:`Ȟ`,Ĥ:`Ĥ`,Ḣ:`Ḣ`,Ḩ:`Ḩ`,Í:`Í`,Ì:`Ì`,Ï:`Ï`,Ḯ:`Ḯ`,Ĩ:`Ĩ`,Ī:`Ī`,Ĭ:`Ĭ`,Ǐ:`Ǐ`,Î:`Î`,İ:`İ`,Ĵ:`Ĵ`,Ḱ:`Ḱ`,Ǩ:`Ǩ`,Ķ:`Ķ`,Ĺ:`Ĺ`,Ľ:`Ľ`,Ļ:`Ļ`,Ḿ:`Ḿ`,Ṁ:`Ṁ`,Ń:`Ń`,Ǹ:`Ǹ`,Ñ:`Ñ`,Ň:`Ň`,Ṅ:`Ṅ`,Ņ:`Ņ`,Ó:`Ó`,Ò:`Ò`,Ö:`Ö`,Ȫ:`Ȫ`,Õ:`Õ`,Ṍ:`Ṍ`,Ṏ:`Ṏ`,Ȭ:`Ȭ`,Ō:`Ō`,Ṓ:`Ṓ`,Ṑ:`Ṑ`,Ŏ:`Ŏ`,Ǒ:`Ǒ`,Ô:`Ô`,Ố:`Ố`,Ồ:`Ồ`,Ỗ:`Ỗ`,Ȯ:`Ȯ`,Ȱ:`Ȱ`,Ő:`Ő`,Ṕ:`Ṕ`,Ṗ:`Ṗ`,Ŕ:`Ŕ`,Ř:`Ř`,Ṙ:`Ṙ`,Ŗ:`Ŗ`,Ś:`Ś`,Ṥ:`Ṥ`,Š:`Š`,Ṧ:`Ṧ`,Ŝ:`Ŝ`,Ṡ:`Ṡ`,Ş:`Ş`,Ť:`Ť`,Ṫ:`Ṫ`,Ţ:`Ţ`,Ú:`Ú`,Ù:`Ù`,Ü:`Ü`,Ǘ:`Ǘ`,Ǜ:`Ǜ`,Ǖ:`Ǖ`,Ǚ:`Ǚ`,Ũ:`Ũ`,Ṹ:`Ṹ`,Ū:`Ū`,Ṻ:`Ṻ`,Ŭ:`Ŭ`,Ǔ:`Ǔ`,Û:`Û`,Ů:`Ů`,Ű:`Ű`,Ṽ:`Ṽ`,Ẃ:`Ẃ`,Ẁ:`Ẁ`,Ẅ:`Ẅ`,Ŵ:`Ŵ`,Ẇ:`Ẇ`,Ẍ:`Ẍ`,Ẋ:`Ẋ`,Ý:`Ý`,Ỳ:`Ỳ`,Ÿ:`Ÿ`,Ỹ:`Ỹ`,Ȳ:`Ȳ`,Ŷ:`Ŷ`,Ẏ:`Ẏ`,Ź:`Ź`,Ž:`Ž`,Ẑ:`Ẑ`,Ż:`Ż`,ά:`ά`,ὰ:`ὰ`,ᾱ:`ᾱ`,ᾰ:`ᾰ`,έ:`έ`,ὲ:`ὲ`,ή:`ή`,ὴ:`ὴ`,ί:`ί`,ὶ:`ὶ`,ϊ:`ϊ`,ΐ:`ΐ`,ῒ:`ῒ`,ῑ:`ῑ`,ῐ:`ῐ`,ό:`ό`,ὸ:`ὸ`,ύ:`ύ`,ὺ:`ὺ`,ϋ:`ϋ`,ΰ:`ΰ`,ῢ:`ῢ`,ῡ:`ῡ`,ῠ:`ῠ`,ώ:`ώ`,ὼ:`ὼ`,Ύ:`Ύ`,Ὺ:`Ὺ`,Ϋ:`Ϋ`,Ῡ:`Ῡ`,Ῠ:`Ῠ`,Ώ:`Ώ`,Ὼ:`Ὼ`},fo=class e{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 oo(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 O(`Expected '`+e+`', got '`+this.fetch().text+`'`,this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return 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 Xi(`}`)),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect(`}`),this.nextToken=t,n}parseExpression(t,n){for(var r=[];;){this.mode===`math`&&this.consumeSpaces();var i=this.fetch();if(e.endOfExpression.has(i.text)||n&&i.text===n||t&&Ba[i.text]&&Ba[i.text].infix)break;var a=this.parseAtom(n);if(!a)break;a.type!==`internal`&&r.push(a)}return this.mode===`text`&&this.formLigatures(r),this.handleInfixNodes(r)}handleInfixNodes(e){for(var t=-1,n,r=0;r<e.length;r++){var i=e[r];if(i.type===`infix`){if(t!==-1)throw new O(`only one infix operator per group`,i.token);t=r,n=i.replaceWith}}if(t!==-1&&n){var a,o,s=e.slice(0,t),c=e.slice(t+1);return a=s.length===1&&s[0].type===`ordgroup`?s[0]:{type:`ordgroup`,mode:this.mode,body:s},o=c.length===1&&c[0].type===`ordgroup`?c[0]:{type:`ordgroup`,mode:this.mode,body:c},[n===`\\\\abovefrac`?this.callFunction(n,[a,e[t],o],[]):this.callFunction(n,[a,o],[])]}else return e}handleSupSubscript(e){var t=this.fetch(),n=t.text;this.consume(),this.consumeSpaces();var r;do r=this.parseGroup(e);while(r?.type===`internal`);if(!r)throw new O(`Expected group after '`+n+`'`,t);return r}formatUnsupportedCmd(e){for(var t=[],n=0;n<e.length;n++)t.push({type:`textord`,mode:`text`,text:e[n]});var r={type:`text`,mode:this.mode,body:t};return{type:`color`,mode:this.mode,color:this.settings.errorColor,body:[r]}}parseAtom(e){var t=this.parseGroup(`atom`,e);if(t?.type===`internal`||this.mode===`text`)return t;for(var n,r;;){this.consumeSpaces();var i=this.fetch();if(i.text===`\\limits`||i.text===`\\nolimits`){if(t&&t.type===`op`)t.limits=i.text===`\\limits`,t.alwaysHandleSupSub=!0;else if(t&&t.type===`operatorname`)t.alwaysHandleSupSub&&(t.limits=i.text===`\\limits`);else throw new O(`Limit controls must follow a math operator`,i);this.consume()}else if(i.text===`^`){if(n)throw new O(`Double superscript`,i);n=this.handleSupSubscript(`superscript`)}else if(i.text===`_`){if(r)throw new O(`Double subscript`,i);r=this.handleSupSubscript(`subscript`)}else if(i.text===`'`){if(n)throw new O(`Double superscript`,i);var a={type:`textord`,mode:this.mode,text:`\\prime`},o=[a];for(this.consume();this.fetch().text===`'`;)o.push(a),this.consume();this.fetch().text===`^`&&o.push(this.handleSupSubscript(`superscript`)),n={type:`ordgroup`,mode:this.mode,body:o}}else if(co[i.text]){var s=so.test(i.text),c=[];for(c.push(new Xi(co[i.text])),this.consume();;){var l=this.fetch().text;if(!co[l]||so.test(l)!==s)break;c.unshift(new Xi(co[l])),this.consume()}var u=this.subparse(c);s?r={type:`ordgroup`,mode:`math`,body:u}:n={type:`ordgroup`,mode:`math`,body:u}}else break}return n||r?{type:`supsub`,mode:this.mode,base:t,sup:n,sub:r}:t}parseFunction(e,t){var n=this.fetch(),r=n.text,i=Ba[r];if(!i)return null;if(this.consume(),t&&t!==`atom`&&!i.allowedInArgument)throw new O(`Got function '`+r+`' with no arguments`+(t?` as `+t:``),n);if(this.mode===`text`&&!i.allowedInText)throw new O(`Can't use function '`+r+`' in text mode`,n);if(this.mode===`math`&&i.allowedInMath===!1)throw new O(`Can't use function '`+r+`' in math mode`,n);var{args:a,optArgs:o}=this.parseArguments(r,i);return this.callFunction(r,a,o,n,e)}callFunction(e,t,n,r,i){var a={funcName:e,parser:this,token:r,breakOnTokenText:i},o=Ba[e];if(o&&o.handler)return o.handler(a,t,n);throw new O(`No function handler for `+e)}parseArguments(e,t){var n=t.numArgs+t.numOptionalArgs;if(n===0)return{args:[],optArgs:[]};for(var r=[],i=[],a=0;a<n;a++){var o=t.argTypes&&t.argTypes[a],s=a<t.numOptionalArgs;(`primitive`in t&&t.primitive&&o==null||t.type===`sqrt`&&a===1&&i[0]==null)&&(o=`primitive`);var c=this.parseGroupOfType(`argument to '`+e+`'`,o,s);if(s)i.push(c);else if(c!=null)r.push(c);else throw new O(`Null argument, please report this as a bug`)}return{args:r,optArgs:i}}parseGroupOfType(e,t,n){switch(t){case`color`:return this.parseColorGroup(n);case`size`:return this.parseSizeGroup(n);case`url`:return this.parseUrlGroup(n);case`math`:case`text`:return this.parseArgumentGroup(n,t);case`hbox`:var r=this.parseArgumentGroup(n,`text`);return r==null?null:{type:`styling`,mode:r.mode,body:[r],style:`text`,resetFont:!0};case`raw`:var i=this.parseStringGroup(`raw`,n);return i==null?null:{type:`raw`,mode:`text`,string:i.text};case`primitive`:if(n)throw new O(`A primitive argument cannot be optional`);var a=this.parseGroup(e);if(a==null)throw new O(`Expected group as `+e,this.fetch());return a;case`original`:case null:case void 0:return this.parseArgumentGroup(n);default:throw new O(`Unknown group type as `+e,this.fetch())}}consumeSpaces(){for(;this.fetch().text===` `;)this.consume()}parseStringGroup(e,t){var n=this.gullet.scanArgument(t);if(n==null)return null;for(var r=``,i;(i=this.fetch()).text!==`EOF`;)r+=i.text,this.consume();return this.consume(),n.text=r,n}parseRegexGroup(e,t){for(var n=this.fetch(),r=n,i=``,a;(a=this.fetch()).text!==`EOF`&&e.test(i+a.text);)r=a,i+=r.text,this.consume();if(i===``)throw new O(`Invalid `+t+`: '`+n.text+`'`,n);return n.range(r,i)}parseColorGroup(e){var t=this.parseStringGroup(`color`,e);if(t==null)return null;var n=/^(#[a-f0-9]{3,4}|#[a-f0-9]{6}|#[a-f0-9]{8}|[a-f0-9]{6}|[a-z]+)$/i.exec(t.text);if(!n)throw new O(`Invalid color: '`+t.text+`'`,t);var r=n[0];return/^[0-9a-f]{6}$/i.test(r)&&(r=`#`+r),{type:`color-token`,mode:this.mode,color:r}}parseSizeGroup(e){var t,n=!1;if(this.gullet.consumeSpaces(),t=!e&&this.gullet.future().text!==`{`?this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,`size`):this.parseStringGroup(`size`,e),!t)return null;!e&&t.text.length===0&&(t.text=`0pt`,n=!0);var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t.text);if(!r)throw new O(`Invalid size: '`+t.text+`'`,t);var i={number:+(r[1]+r[2]),unit:r[3]};if(!dt(i))throw new O(`Invalid unit: '`+i.unit+`'`,t);return{type:`size`,mode:this.mode,value:i,isBlank:n}}parseUrlGroup(e){this.gullet.lexer.setCatcode(`%`,13),this.gullet.lexer.setCatcode(`~`,12);var t=this.parseStringGroup(`url`,e);if(this.gullet.lexer.setCatcode(`%`,14),this.gullet.lexer.setCatcode(`~`,13),t==null)return null;var n=t.text.replace(/\\([#$%&~_^{}])/g,`$1`);return{type:`url`,mode:this.mode,url:n}}parseArgumentGroup(e,t){var n=this.gullet.scanArgument(e);if(n==null)return null;var r=this.mode;t&&this.switchMode(t),this.gullet.beginGroup();var i=this.parseExpression(!1,`EOF`);this.expect(`EOF`),this.gullet.endGroup();var a={type:`ordgroup`,mode:this.mode,loc:n.loc,body:i};return t&&this.switchMode(r),a}parseGroup(e,t){var n=this.fetch(),r=n.text,i;if(r===`{`||r===`\\begingroup`){this.consume();var a=r===`{`?`}`:`\\endgroup`;this.gullet.beginGroup();var o=this.parseExpression(!1,a),s=this.fetch();this.expect(a),this.gullet.endGroup(),i={type:`ordgroup`,mode:this.mode,loc:Yi.range(n,s),body:o,semisimple:r===`\\begingroup`||void 0}}else if(i=this.parseFunction(t,e)||this.parseSymbol(),i==null&&r[0]===`\\`&&!ao.hasOwnProperty(r)){if(this.settings.throwOnError)throw new O(`Undefined control sequence: `+r,n);i=this.formatUnsupportedCmd(r),this.consume()}return i}formLigatures(e){for(var t=e.length-1,n=0;n<t;++n){var r=e[n];if(r.type===`textord`){var i=r.text,a=e[n+1];if(!(!a||a.type!==`textord`)){if(i===`-`&&a.text===`-`){var o=e[n+2];n+1<t&&o&&o.type===`textord`&&o.text===`-`?(e.splice(n,3,{type:`textord`,mode:`text`,loc:Yi.range(r,o),text:`---`}),t-=2):(e.splice(n,2,{type:`textord`,mode:`text`,loc:Yi.range(r,a),text:`--`}),--t)}(i===`'`||i==="`")&&a.text===i&&(e.splice(n,2,{type:`textord`,mode:`text`,loc:Yi.range(r,a),text:i+i}),--t)}}}}parseSymbol(){var e=this.fetch(),t=e.text;if(/^\\verb[^a-zA-Z]/.test(t)){this.consume();var n=t.slice(5),r=n.charAt(0)===`*`;if(r&&(n=n.slice(1)),n.length<2||n.charAt(0)!==n.slice(-1))throw new O(`\\verb assertion failed --
257
- please report what input caused this bug`);return n=n.slice(1,-1),{type:`verb`,mode:`text`,body:n,star:r}}uo.hasOwnProperty(t[0])&&!Lt[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=uo[t[0]]+t.slice(1));var i=qa.exec(t);i&&(t=t.substring(0,i.index),t===`i`?t=`ı`:t===`j`&&(t=`ȷ`));var a;if(Lt[this.mode][t]){this.settings.strict&&this.mode===`math`&&on.includes(t)&&this.settings.reportNonstrict(`unicodeTextInMathMode`,`Latin-1/Unicode text character "`+t[0]+`" used in math mode`,e);var o=Lt[this.mode][t].group,s=Yi.range(e);a=Vr(o)?{type:`atom`,mode:this.mode,family:o,loc:s,text:t}:{type:o,mode:this.mode,loc:s,text:t}}else if(t.charCodeAt(0)>=128)this.settings.strict&&(qe(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)),a={type:`textord`,mode:`text`,loc:Yi.range(e),text:t};else return null;if(this.consume(),i)for(var c=0;c<i[0].length;c++){var l=i[0][c];if(!lo[l])throw new O(`Unknown accent ' `+l+`'`,e);var u=lo[l][this.mode]||lo[l].text;if(!u)throw new O(`Accent `+l+` unsupported in `+this.mode+` mode`,e);a={type:`accent`,mode:this.mode,loc:Yi.range(e),label:u,isStretchy:!1,isShifty:!0,base:a}}return a}};fo.endOfExpression=new Set([`}`,`\\endgroup`,`\\end`,`\\right`,`&`]);var po=function(e,t){if(!(typeof e==`string`||e instanceof String))throw TypeError(`KaTeX can only parse string typed expression`);var n=new fo(e,t);delete n.gullet.macros.current[`\\df@tag`];var r=n.parse();if(delete n.gullet.macros.current[`\\current@color`],delete n.gullet.macros.current[`\\color`],n.gullet.macros.get(`\\df@tag`)){if(!t.displayMode)throw new O(`\\tag works only in display equations`);r=[{type:`tag`,mode:`text`,body:r,tag:n.subparse([new Xi(`\\df@tag`)])}]}return r},mo=function(e,t,n){t.textContent=``;var r=vo(e,n).toNode();t.appendChild(r)};typeof document<`u`&&document.compatMode!==`CSS1Compat`&&(typeof console<`u`&&console.warn(`Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype.`),mo=function(){throw new O(`KaTeX doesn't work in quirks mode.`)});var ho=function(e,t){return vo(e,t).toMarkup()},go=function(e,t){return po(e,new De(t))},_o=function(e,t,n){if(n.throwOnError||!(e instanceof O))throw e;var r=W([`katex-error`],[new Ct(t)]);return r.setAttribute(`title`,e.toString()),r.setAttribute(`style`,`color:`+n.errorColor),r},vo=function(e,t){var n=new De(t);try{return jr(po(e,n),e,n)}catch(t){return _o(t,e,n)}},yo={version:`0.16.47`,render:mo,renderToString:ho,ParseError:O,SETTINGS_SCHEMA:Ce,__parse:go,__renderToDomTree:vo,__renderToHTMLTree:function(e,t){var n=new De(t);try{return Mr(po(e,n),e,n)}catch(t){return _o(t,e,n)}},__setFontMetrics:Nt,__defineSymbol:P,__defineFunction:K,__defineMacro:Z,__domTree:{Span:yt,Anchor:bt,SymbolNode:Ct,SvgNode:wt,PathNode:Tt,LineNode:Et}};let bo=new Map;function xo(e,t=!1){let n=`${t?`D`:`I`}${e}`,r=bo.get(n);if(r===void 0){try{r=yo.renderToString(String(e),{displayMode:t,throwOnError:!1,strict:`ignore`,trust:!1,maxSize:20,maxExpand:500,output:`htmlAndMathml`})}catch{r=null}bo.size>2e3&&bo.clear(),bo.set(n,r)}return r}function So({tex:e,display:t=!1}){let n=xo(e,t);return n===null?(0,i.jsx)(`code`,{children:e}):(0,i.jsx)(`span`,{className:t?`aha-tex aha-tex-display`:`aha-tex`,dangerouslySetInnerHTML:{__html:n}})}let Co=new Set([`svg`,`g`,`path`,`line`,`polyline`,`polygon`,`rect`,`circle`,`ellipse`,`text`,`tspan`,`textPath`,`defs`,`marker`,`lineargradient`,`radialgradient`,`stop`,`title`,`desc`,`clippath`,`mask`,`pattern`,`use`,`symbol`]),wo=new Set(`xmlns.viewbox.width.height.x.y.x1.y1.x2.y2.cx.cy.r.rx.ry.d.points.transform.fill.stroke.stroke-width.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.opacity.fill-opacity.stroke-opacity.fill-rule.clip-rule.font-size.font-family.font-weight.font-style.text-anchor.dominant-baseline.alignment-baseline.letter-spacing.text-decoration.dx.dy.rotate.marker-start.marker-mid.marker-end.refx.refy.markerwidth.markerheight.markerunits.orient.offset.stop-color.stop-opacity.gradientunits.gradienttransform.fx.fy.id.clip-path.mask.preserveaspectratio.vector-effect.patternunits.patterncontentunits.href.xlink:href.startoffset.textlength.lengthadjust.style.class`.split(`.`)),To=new Set([`fill`,`stroke`,`stroke-width`,`stroke-dasharray`,`stroke-linecap`,`stroke-linejoin`,`opacity`,`fill-opacity`,`stroke-opacity`,`font-size`,`font-family`,`font-weight`,`font-style`,`text-anchor`,`dominant-baseline`,`letter-spacing`]);function Eo(e,t){let n=String(t).toLowerCase();return/javascript:|data:|expression\(|@import|<|>/u.test(n)||n.includes(`url(`)&&!/^url\(\s*#[\w-]+\s*\)$/u.test(n.trim())||(e===`href`||e===`xlink:href`)&&!/^#[\w-]+$/u.test(String(t).trim())?null:t}function Do(e){let t=[];for(let n of String(e).split(`;`)){let[e,...r]=n.split(`:`),i=e?.trim().toLowerCase(),a=r.join(`:`).trim();!i||!a||!To.has(i)||Eo(i,a)!==null&&t.push(`${i}:${a}`)}return t.join(`;`)}function Oo(e){for(let t of[...e.childNodes]){if(t.nodeType===8){t.remove();continue}if(t.nodeType!==1)continue;let e=String(t.localName||t.nodeName).toLowerCase();if(!Co.has(e)){t.remove();continue}for(let e of[...t.attributes]){let n=e.name.toLowerCase();if(n.startsWith(`on`)||!wo.has(n)){t.removeAttribute(e.name);continue}if(n===`style`){let n=Do(e.value);n?t.setAttribute(`style`,n):t.removeAttribute(`style`);continue}Eo(n,e.value)===null&&t.removeAttribute(e.name)}Oo(t)}}function ko(e,{DOMParserImpl:t=globalThis.DOMParser,XMLSerializerImpl:n=globalThis.XMLSerializer}={}){if(typeof e!=`string`||!/^\s*<svg[\s>]/iu.test(e)||e.length>64*1024||!t)return null;let r;try{r=new t().parseFromString(e,`image/svg+xml`)}catch{return null}let i=r?.documentElement;if(!i||String(i.localName||i.nodeName).toLowerCase()!==`svg`||r.getElementsByTagName(`parsererror`).length)return null;for(let e of[...i.attributes]){let t=e.name.toLowerCase();(t.startsWith(`on`)||!wo.has(t)||Eo(t,e.value)===null)&&i.removeAttribute(e.name)}i.getAttribute(`xmlns`)||i.setAttribute(`xmlns`,`http://www.w3.org/2000/svg`),Oo(i);let a=n?new n().serializeToString(i):i.outerHTML;return/^\s*<svg[\s>]/iu.test(a)?a:null}function Ao(e,t=`light`){let n=String(e??``),r=t===`dark`?`dark`:`light`,i=`<meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'unsafe-inline'; style-src 'unsafe-inline'; img-src data: blob:; font-src data:; media-src data: blob:"><meta charset="utf-8"><meta name="color-scheme" content="${r}"><style>:root{color-scheme:${r}}html,body{margin:0;background:transparent;overflow:hidden}canvas,svg{max-width:100%;height:auto}</style>`;return/<head[^>]*>/iu.test(n)?n.replace(/<head[^>]*>/iu,e=>`${e}${i}`):/<html[^>]*>/iu.test(n)?n.replace(/<html[^>]*>/iu,e=>`${e}<head>${i}</head>`):`<!doctype html><html><head>${i}</head><body>${n}</body></html>`}let jo=/\$[^$\n]+\$/gu,Mo=/(\$[^$\n]+\$|\*\*(?:\$[^$\n]+\$|[^*\n])+?\*\*|==(?:\$[^$\n]+\$|[^=\n])+?==)/gu;function No(e,t,n){let r=0;for(let i of t.matchAll(jo))i.index>r&&e.push({kind:n,text:t.slice(r,i.index)}),e.push({kind:`math`,tex:i[0].slice(1,-1),style:n}),r=i.index+i[0].length;r<t.length&&e.push({kind:n,text:t.slice(r)})}function Po(e){let t=[],n=String(e??``),r=0;for(let e of n.matchAll(Mo)){e.index>r&&t.push({kind:`text`,text:n.slice(r,e.index)});let i=e[0];i.startsWith(`$`)?t.push({kind:`math`,tex:i.slice(1,-1)}):No(t,i.slice(2,-2),i.startsWith(`**`)?`bold`:`mark`),r=e.index+i.length}return r<n.length&&t.push({kind:`text`,text:n.slice(r)}),t}function Fo(e){return e.kind===`math`?Math.min(10,Math.max(2,e.tex.length/2)):[...e.text].length}function Io(e){return e.reduce((e,t)=>e+Fo(t),0)}function Lo(e,t){let n=[],r=t;for(let t of e){if(r<=0)break;let e=Fo(t);if(t.kind===`math`){r>=e&&n.push(t),r-=e;continue}let i=[...t.text];i.length<=r?n.push(t):n.push({...t,text:i.slice(0,Math.max(0,Math.floor(r))).join(``)}),r-=i.length}return n}function Ro(e){return Po(e).map(e=>e.kind===`math`?e.tex:e.text).join(``)}function zo(e,t){return Math.max(1,Math.ceil(String(e??``).length/t))}function Bo(e){switch(e.t){case`title`:return 1.6;case`h`:return 1.4;case`p`:return zo(e.text,26)*1.05;case`math`:return 2;case`list`:return e.items.reduce((e,t)=>e+zo(t,24),0)*1.05;case`note`:return zo(e.text,24)+1;case`table`:return(e.rows.length+1)*1.1+.6;case`code`:return Math.min(14,e.code.split(`
258
- `).length*.8+1);case`svg`:case`chart`:return 8.5;case`anim`:return Math.round(e.height/34);default:return 0}}function Vo(e){let t=[],n=new Map,r=null,i=0,a=0,o=!1,s=e=>{r={title:e??``,columns:[[],[]]},t.push(r),i=0,a=0,o=!1};return s(``),e.forEach((e,c)=>{for(let l of e.ops??[]){if(l.t===`page`){r.columns[0].length||r.columns[1].length?s(l.title):r.title=l.title||r.title,n.set(l.id,{page:t.length-1,column:i});continue}if(l.t===`col`){i===0?(i=1,a=0):o?o=!1:s(``),n.set(l.id,{page:t.length-1,column:i});continue}if(l.t===`mark`){n.set(l.id,n.get(l.ref)??{page:t.length-1,column:i});continue}if(l.t===`title`){r.columns[0].length||r.columns[1].length?s(l.text):r.title=l.text,n.set(l.id,{page:t.length-1,column:0,title:!0});continue}let e=Bo(l);a>0&&a+e>26&&(i===0?(i=1,a=0,o=!0):s(``)),r.columns[i].push({op:l,step:c}),n.set(l.id,{page:t.length-1,column:i}),a+=e}}),{pages:t,where:n}}function Ho(e,t){return e.map((e,n)=>{let r=new Map(e.ops.map(e=>[e.id,`${t}${e.id}`]));return{...e,id:`${t}${e.id??n}`,aside:!0,ops:e.ops.map(e=>({...e,id:r.get(e.id),...e.t===`mark`?{ref:r.get(e.ref)??e.ref}:{}})),...e.check?{check:{...e.check,id:`${t}${e.check.id}`}}:{}}})}function Uo(e,t,n){return!n||e<n.index?1:e>n.index?0:t<n.op?1:t>n.op?0:n.progress}function Wo({text:e,reveal:t=1}){let n=(0,r.useMemo)(()=>Po(e),[e]),a=(0,r.useMemo)(()=>Io(n),[n]);return(t>=1?n:Lo(n,a*t)).map((e,t)=>{if(e.kind===`math`){let n=(0,i.jsx)(So,{tex:e.tex},t);return e.style===`mark`?(0,i.jsx)(`mark`,{children:n},t):e.style===`bold`?(0,i.jsx)(`strong`,{children:n},t):n}return e.kind===`bold`?(0,i.jsx)(`strong`,{children:e.text},t):e.kind===`mark`?(0,i.jsx)(`mark`,{children:e.text},t):(0,i.jsx)(`span`,{children:e.text},t)})}function Go({markup:e,reveal:t,caption:n}){let a=(0,r.useRef)(null),o=(0,r.useMemo)(()=>ko(e),[e]);return(0,r.useLayoutEffect)(()=>{let e=a.current?.querySelector(`svg`);if(!e)return;let n=[...e.querySelectorAll(`path,line,polyline,polygon,rect,circle,ellipse`)],r=[...e.querySelectorAll(`text`)],i=r.length?.8:1;n.forEach((e,r)=>{let a=0;try{a=e.getTotalLength?.()??0}catch{a=0}let o=r/Math.max(1,n.length)*i,s=(r+1)/Math.max(1,n.length)*i,c=Math.min(1,Math.max(0,(t-o)/Math.max(1e-4,s-o)));a>0&&(e.style.strokeDasharray=`${a}`,e.style.strokeDashoffset=`${a*(1-c)}`),e.style.fillOpacity=c>=1?``:String(c*.6),a||(e.style.opacity=String(c))});let o=r.length?Math.min(1,Math.max(0,(t-i)/(1-i))):1;r.forEach(e=>{e.style.opacity=String(t>=1?1:o)})},[t,o]),o?(0,i.jsxs)(`div`,{className:`aha-op-figure`,children:[(0,i.jsx)(`div`,{ref:a,dangerouslySetInnerHTML:{__html:o}}),n?(0,i.jsx)(`div`,{className:`aha-figCaption`,style:{opacity:t>=1?1:.4},children:n}):null]}):null}function Ko({op:e,reveal:t,theme:n}){let a=(0,r.useMemo)(()=>Ao(e.html,n),[e.html,n]),o=(0,r.useRef)(null),[s,c]=(0,r.useState)(e.height);return(0,r.useLayoutEffect)(()=>{let t=o.current;if(!t||typeof ResizeObserver!=`function`)return;let n=()=>c(Math.round(Math.max(120,Math.min(e.height,e.height*t.clientWidth/560))));n();let r=new ResizeObserver(n);return r.observe(t),()=>r.disconnect()},[e.height,t>0]),t<=0?null:(0,i.jsxs)(`div`,{className:`aha-op-figure`,style:{opacity:Math.min(1,t*3)},children:[(0,i.jsx)(`iframe`,{ref:o,className:`aha-op-anim`,title:e.caption||`animation`,sandbox:`allow-scripts`,referrerPolicy:`no-referrer`,srcDoc:a,style:{height:s,colorScheme:n===`dark`?`dark`:`light`}}),e.caption?(0,i.jsx)(`div`,{className:`aha-figCaption`,children:e.caption}):null]})}function qo({op:e,reveal:t,marks:n,aside:r,opRef:a,theme:o}){let s={"--reveal":`${Math.round(t*1e3)/10}%`},c=n.map(e=>(0,i.jsx)(`span`,{className:e.style===`circle`?`aha-markRing`:e.style===`box`?`aha-markBox`:`aha-markLine`,style:{opacity:e.reveal,clipPath:`inset(0 ${100-e.reveal*100}% 0 0)`}},e.id)),l;switch(e.t){case`h`:l=(0,i.jsx)(`div`,{className:`aha-op-h`,children:(0,i.jsx)(`span`,{children:(0,i.jsx)(Wo,{text:e.text,reveal:t})})});break;case`p`:l=(0,i.jsx)(`div`,{className:`aha-op-p`,children:(0,i.jsx)(Wo,{text:e.text,reveal:t})});break;case`math`:l=(0,i.jsx)(`div`,{className:`aha-op-math aha-reveal`,style:s,children:(0,i.jsx)(So,{tex:e.tex,display:!0})});break;case`list`:{let n=e.items.reduce((e,t)=>e+Io(Po(t)),0)*t;l=(0,i.jsx)(e.ordered?`ol`:`ul`,{className:`aha-op-list`,children:e.items.map((e,r)=>{let a=Io(Po(e)),o=t>=1?1:Math.max(0,Math.min(1,n/Math.max(1,a)));return n-=a,o>0?(0,i.jsx)(`li`,{children:(0,i.jsx)(Wo,{text:e,reveal:o})},r):null})});break}case`note`:l=(0,i.jsx)(`div`,{className:`aha-op-note`,"data-tone":e.tone,children:(0,i.jsx)(Wo,{text:e.text,reveal:t})});break;case`svg`:l=(0,i.jsx)(Go,{markup:e.svg,reveal:t,caption:e.caption});break;case`chart`:l=(0,i.jsx)(Go,{markup:ge(e),reveal:t,caption:``});break;case`table`:{let n=t>=1?e.rows.length:Math.floor(e.rows.length*t);l=(0,i.jsxs)(`table`,{className:`aha-op-table`,children:[e.head.length?(0,i.jsx)(`thead`,{children:(0,i.jsx)(`tr`,{children:e.head.map((e,t)=>(0,i.jsx)(`th`,{children:(0,i.jsx)(Wo,{text:e})},t))})}):null,(0,i.jsx)(`tbody`,{children:e.rows.slice(0,n).map((e,t)=>(0,i.jsx)(`tr`,{children:e.map((e,t)=>(0,i.jsx)(`td`,{children:(0,i.jsx)(Wo,{text:e})},t))},t))})]});break}case`code`:{let n=e.code.split(`
255
+ ?)[ \r ]*`,Xa=`[̀-ͯ]`,Za=RegExp(Xa+`+$`),Qa=`(`+Ga+`+)|`+(Ya+`|`)+`([!-\\[\\]-‧‪-퟿豈-￿]`+(Xa+`*`)+`|[\ud800-\udbff][\udc00-\udfff]`+(Xa+`*`)+`|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5`+(`|`+Ja)+(`|`+qa+`)`),$a=class{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(Qa,`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 ea(`EOF`,new $i(this,t,t));var n=this.tokenRegex.exec(e);if(n===null||n.index!==t)throw new A(`Unexpected character: '`+e[t]+`'`,new ea(e[t],new $i(this,t,t+1)));var r=n[6]||n[3]||(n[2]?`\\ `:` `);if(this.catcodes[r]===14){var i=e.indexOf(`
256
+ `,this.tokenRegex.lastIndex);return i===-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=i+1,this.lex()}return new ea(r,new $i(this,t,this.tokenRegex.lastIndex))}},eo=class{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 A(`Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug`);var e=this.undefStack.pop();for(var t in e)e.hasOwnProperty(t)&&(e[t]==null?delete this.current[t]:this.current[t]=e[t])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,t,n){if(n===void 0&&(n=!1),n){for(var r=0;r<this.undefStack.length;r++)delete this.undefStack[r][e];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var i=this.undefStack[this.undefStack.length-1];i&&!i.hasOwnProperty(e)&&(i[e]=this.current[e])}t==null?delete this.current[e]:this.current[e]=t}},to=Qi;Z(`\\noexpand`,function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}}),Z(`\\expandafter`,function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}}),Z(`\\@firstoftwo`,function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}}),Z(`\\@secondoftwo`,function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}}),Z(`\\@ifnextchar`,function(e){var t=e.consumeArgs(3);e.consumeSpaces();var n=e.future();return t[0].length===1&&t[0][0].text===n.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}}),Z(`\\@ifstar`,`\\@ifnextchar *{\\@firstoftwo{#1}}`),Z(`\\TextOrMath`,function(e){var t=e.consumeArgs(2);return e.mode===`text`?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}});var no={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};Z(`\\char`,function(e){var t=e.popToken(),n,r=0;if(t.text===`'`)n=8,t=e.popToken();else if(t.text===`"`)n=16,t=e.popToken();else if(t.text==="`")if(t=e.popToken(),t.text[0]===`\\`)r=t.text.charCodeAt(1);else if(t.text===`EOF`)throw new A("\\char` missing argument");else r=t.text.charCodeAt(0);else n=10;if(n){if(r=no[t.text],r==null||r>=n)throw new A(`Invalid base-`+n+` digit `+t.text);for(var i;(i=no[e.future().text])!=null&&i<n;)r*=n,r+=i,e.popToken()}return`\\@char{`+r+`}`});var ro=(e,t,n,r)=>{var i=e.consumeArg().tokens;if(i.length!==1)throw new A(`\\newcommand's first argument must be a macro name`);var a=i[0].text,o=e.isDefined(a);if(o&&!t)throw new A(`\\newcommand{`+a+`} attempting to redefine `+(a+`; use \\renewcommand`));if(!o&&!n)throw new A(`\\renewcommand{`+a+`} when command `+a+` does not yet exist; use \\newcommand`);var s=0;if(i=e.consumeArg().tokens,i.length===1&&i[0].text===`[`){for(var c=``,l=e.expandNextToken();l.text!==`]`&&l.text!==`EOF`;)c+=l.text,l=e.expandNextToken();if(!c.match(/^\s*[0-9]+\s*$/))throw new A(`Invalid number of arguments: `+c);s=parseInt(c),i=e.consumeArg().tokens}return o&&r||e.macros.set(a,{tokens:i,numArgs:s}),``};Z(`\\newcommand`,e=>ro(e,!1,!0,!1)),Z(`\\renewcommand`,e=>ro(e,!0,!1,!1)),Z(`\\providecommand`,e=>ro(e,!0,!0,!0)),Z(`\\message`,e=>{var t=e.consumeArgs(1)[0];return console.log(t.reverse().map(e=>e.text).join(``)),``}),Z(`\\errmessage`,e=>{var t=e.consumeArgs(1)[0];return console.error(t.reverse().map(e=>e.text).join(``)),``}),Z(`\\show`,e=>{var t=e.popToken(),n=t.text;return console.log(t,e.macros.get(n),Wa[n],Ht.math[n],Ht.text[n]),``}),Z(`\\bgroup`,`{`),Z(`\\egroup`,`}`),Z(`~`,`\\nobreakspace`),Z(`\\lq`,"`"),Z(`\\rq`,`'`),Z(`\\aa`,`\\r a`),Z(`\\AA`,`\\r A`),Z(`\\textcopyright`,"\\html@mathml{\\textcircled{c}}{\\char`©}"),Z(`\\copyright`,`\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}`),Z(`\\textregistered`,"\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"),Z(`ℬ`,`\\mathscr{B}`),Z(`ℰ`,`\\mathscr{E}`),Z(`ℱ`,`\\mathscr{F}`),Z(`ℋ`,`\\mathscr{H}`),Z(`ℐ`,`\\mathscr{I}`),Z(`ℒ`,`\\mathscr{L}`),Z(`ℳ`,`\\mathscr{M}`),Z(`ℛ`,`\\mathscr{R}`),Z(`ℭ`,`\\mathfrak{C}`),Z(`ℌ`,`\\mathfrak{H}`),Z(`ℨ`,`\\mathfrak{Z}`),Z(`\\Bbbk`,`\\Bbb{k}`),Z(`\\llap`,`\\mathllap{\\textrm{#1}}`),Z(`\\rlap`,`\\mathrlap{\\textrm{#1}}`),Z(`\\clap`,`\\mathclap{\\textrm{#1}}`),Z(`\\mathstrut`,`\\vphantom{(}`),Z(`\\underbar`,`\\underline{\\text{#1}}`),Z(`\\not`,`\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}`),Z(`\\neq`,"\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"),Z(`\\ne`,`\\neq`),Z(`≠`,`\\neq`),Z(`\\notin`,"\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}"),Z(`∉`,`\\notin`),Z(`≘`,"\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}"),Z(`≙`,"\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}"),Z(`≚`,"\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}"),Z(`≛`,"\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}"),Z(`≝`,"\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}"),Z(`≞`,"\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}"),Z(`≟`,"\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}"),Z(`⟂`,`\\perp`),Z(`‼`,`\\mathclose{!\\mkern-0.8mu!}`),Z(`∌`,`\\notni`),Z(`⌜`,`\\ulcorner`),Z(`⌝`,`\\urcorner`),Z(`⌞`,`\\llcorner`),Z(`⌟`,`\\lrcorner`),Z(`©`,`\\copyright`),Z(`®`,`\\textregistered`),Z(`\\ulcorner`,`\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}`),Z(`\\urcorner`,`\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}`),Z(`\\llcorner`,`\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}`),Z(`\\lrcorner`,`\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}`),Z(`\\vdots`,`{\\varvdots\\rule{0pt}{15pt}}`),Z(`⋮`,`\\vdots`),Z(`\\varGamma`,`\\mathit{\\Gamma}`),Z(`\\varDelta`,`\\mathit{\\Delta}`),Z(`\\varTheta`,`\\mathit{\\Theta}`),Z(`\\varLambda`,`\\mathit{\\Lambda}`),Z(`\\varXi`,`\\mathit{\\Xi}`),Z(`\\varPi`,`\\mathit{\\Pi}`),Z(`\\varSigma`,`\\mathit{\\Sigma}`),Z(`\\varUpsilon`,`\\mathit{\\Upsilon}`),Z(`\\varPhi`,`\\mathit{\\Phi}`),Z(`\\varPsi`,`\\mathit{\\Psi}`),Z(`\\varOmega`,`\\mathit{\\Omega}`),Z(`\\substack`,`\\begin{subarray}{c}#1\\end{subarray}`),Z(`\\colon`,`\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax`),Z(`\\boxed`,`\\fbox{$\\displaystyle{#1}$}`),Z(`\\iff`,`\\DOTSB\\;\\Longleftrightarrow\\;`),Z(`\\implies`,`\\DOTSB\\;\\Longrightarrow\\;`),Z(`\\impliedby`,`\\DOTSB\\;\\Longleftarrow\\;`),Z(`\\dddot`,`{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}`),Z(`\\ddddot`,`{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}`);var io={",":`\\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`},ao=new Set([`bin`,`rel`]);Z(`\\dots`,function(e){var t=`\\dotso`,n=e.expandAfterFuture().text;return n in io?t=io[n]:(n.slice(0,4)===`\\not`||n in Ht.math&&ao.has(Ht.math[n].group))&&(t=`\\dotsb`),t});var oo={")":!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};Z(`\\dotso`,function(e){return e.future().text in oo?`\\ldots\\,`:`\\ldots`}),Z(`\\dotsc`,function(e){var t=e.future().text;return t in oo&&t!==`,`?`\\ldots\\,`:`\\ldots`}),Z(`\\cdots`,function(e){return e.future().text in oo?`\\@cdots\\,`:`\\@cdots`}),Z(`\\dotsb`,`\\cdots`),Z(`\\dotsm`,`\\cdots`),Z(`\\dotsi`,`\\!\\cdots`),Z(`\\dotsx`,`\\ldots\\,`),Z(`\\DOTSI`,`\\relax`),Z(`\\DOTSB`,`\\relax`),Z(`\\DOTSX`,`\\relax`),Z(`\\tmspace`,`\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax`),Z(`\\,`,`\\tmspace+{3mu}{.1667em}`),Z(`\\thinspace`,`\\,`),Z(`\\>`,`\\mskip{4mu}`),Z(`\\:`,`\\tmspace+{4mu}{.2222em}`),Z(`\\medspace`,`\\:`),Z(`\\;`,`\\tmspace+{5mu}{.2777em}`),Z(`\\thickspace`,`\\;`),Z(`\\!`,`\\tmspace-{3mu}{.1667em}`),Z(`\\negthinspace`,`\\!`),Z(`\\negmedspace`,`\\tmspace-{4mu}{.2222em}`),Z(`\\negthickspace`,`\\tmspace-{5mu}{.277em}`),Z(`\\enspace`,`\\kern.5em `),Z(`\\enskip`,`\\hskip.5em\\relax`),Z(`\\quad`,`\\hskip1em\\relax`),Z(`\\qquad`,`\\hskip2em\\relax`),Z(`\\tag`,`\\@ifstar\\tag@literal\\tag@paren`),Z(`\\tag@paren`,`\\tag@literal{({#1})}`),Z(`\\tag@literal`,e=>{if(e.macros.get(`\\df@tag`))throw new A(`Multiple \\tag`);return`\\gdef\\df@tag{\\text{#1}}`}),Z(`\\bmod`,`\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}`),Z(`\\pod`,`\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)`),Z(`\\pmod`,`\\pod{{\\rm mod}\\mkern6mu#1}`),Z(`\\mod`,`\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1`),Z(`\\newline`,`\\\\\\relax`),Z(`\\TeX`,`\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}`);var so=M(Ft[`Main-Regular`][84][1]-.7*Ft[`Main-Regular`][65][1]);Z(`\\LaTeX`,`\\textrm{\\html@mathml{`+(`L\\kern-.36em\\raisebox{`+so+`}{\\scriptstyle A}`)+`\\kern-.15em\\TeX}{LaTeX}}`),Z(`\\KaTeX`,`\\textrm{\\html@mathml{`+(`K\\kern-.17em\\raisebox{`+so+`}{\\scriptstyle A}`)+`\\kern-.15em\\TeX}{KaTeX}}`),Z(`\\hspace`,`\\@ifstar\\@hspacer\\@hspace`),Z(`\\@hspace`,`\\hskip #1\\relax`),Z(`\\@hspacer`,`\\rule{0pt}{0pt}\\hskip #1\\relax`),Z(`\\ordinarycolon`,`:`),Z(`\\vcentcolon`,`\\mathrel{\\mathop\\ordinarycolon}`),Z(`\\dblcolon`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}`),Z(`\\coloneqq`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}`),Z(`\\Coloneqq`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}`),Z(`\\coloneq`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}`),Z(`\\Coloneq`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}`),Z(`\\eqqcolon`,`\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}`),Z(`\\Eqqcolon`,`\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}`),Z(`\\eqcolon`,`\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}`),Z(`\\Eqcolon`,`\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}`),Z(`\\colonapprox`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}`),Z(`\\Colonapprox`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}`),Z(`\\colonsim`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}`),Z(`\\Colonsim`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}`),Z(`∷`,`\\dblcolon`),Z(`∹`,`\\eqcolon`),Z(`≔`,`\\coloneqq`),Z(`≕`,`\\eqqcolon`),Z(`⩴`,`\\Coloneqq`),Z(`\\ratio`,`\\vcentcolon`),Z(`\\coloncolon`,`\\dblcolon`),Z(`\\colonequals`,`\\coloneqq`),Z(`\\coloncolonequals`,`\\Coloneqq`),Z(`\\equalscolon`,`\\eqqcolon`),Z(`\\equalscoloncolon`,`\\Eqqcolon`),Z(`\\colonminus`,`\\coloneq`),Z(`\\coloncolonminus`,`\\Coloneq`),Z(`\\minuscolon`,`\\eqcolon`),Z(`\\minuscoloncolon`,`\\Eqcolon`),Z(`\\coloncolonapprox`,`\\Colonapprox`),Z(`\\coloncolonsim`,`\\Colonsim`),Z(`\\simcolon`,`\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}`),Z(`\\simcoloncolon`,`\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}`),Z(`\\approxcolon`,`\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}`),Z(`\\approxcoloncolon`,`\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}`),Z(`\\notni`,"\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}"),Z(`\\limsup`,`\\DOTSB\\operatorname*{lim\\,sup}`),Z(`\\liminf`,`\\DOTSB\\operatorname*{lim\\,inf}`),Z(`\\injlim`,`\\DOTSB\\operatorname*{inj\\,lim}`),Z(`\\projlim`,`\\DOTSB\\operatorname*{proj\\,lim}`),Z(`\\varlimsup`,`\\DOTSB\\operatorname*{\\overline{lim}}`),Z(`\\varliminf`,`\\DOTSB\\operatorname*{\\underline{lim}}`),Z(`\\varinjlim`,`\\DOTSB\\operatorname*{\\underrightarrow{lim}}`),Z(`\\varprojlim`,`\\DOTSB\\operatorname*{\\underleftarrow{lim}}`),Z(`\\gvertneqq`,`\\html@mathml{\\@gvertneqq}{≩}`),Z(`\\lvertneqq`,`\\html@mathml{\\@lvertneqq}{≨}`),Z(`\\ngeqq`,`\\html@mathml{\\@ngeqq}{≱}`),Z(`\\ngeqslant`,`\\html@mathml{\\@ngeqslant}{≱}`),Z(`\\nleqq`,`\\html@mathml{\\@nleqq}{≰}`),Z(`\\nleqslant`,`\\html@mathml{\\@nleqslant}{≰}`),Z(`\\nshortmid`,`\\html@mathml{\\@nshortmid}{∤}`),Z(`\\nshortparallel`,`\\html@mathml{\\@nshortparallel}{∦}`),Z(`\\nsubseteqq`,`\\html@mathml{\\@nsubseteqq}{⊈}`),Z(`\\nsupseteqq`,`\\html@mathml{\\@nsupseteqq}{⊉}`),Z(`\\varsubsetneq`,`\\html@mathml{\\@varsubsetneq}{⊊}`),Z(`\\varsubsetneqq`,`\\html@mathml{\\@varsubsetneqq}{⫋}`),Z(`\\varsupsetneq`,`\\html@mathml{\\@varsupsetneq}{⊋}`),Z(`\\varsupsetneqq`,`\\html@mathml{\\@varsupsetneqq}{⫌}`),Z(`\\imath`,`\\html@mathml{\\@imath}{ı}`),Z(`\\jmath`,`\\html@mathml{\\@jmath}{ȷ}`),Z(`\\llbracket`,"\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}"),Z(`\\rrbracket`,"\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}"),Z(`⟦`,`\\llbracket`),Z(`⟧`,`\\rrbracket`),Z(`\\lBrace`,"\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}"),Z(`\\rBrace`,"\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}"),Z(`⦃`,`\\lBrace`),Z(`⦄`,`\\rBrace`),Z(`\\minuso`,"\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}"),Z(`⦵`,`\\minuso`),Z(`\\darr`,`\\downarrow`),Z(`\\dArr`,`\\Downarrow`),Z(`\\Darr`,`\\Downarrow`),Z(`\\lang`,`\\langle`),Z(`\\rang`,`\\rangle`),Z(`\\uarr`,`\\uparrow`),Z(`\\uArr`,`\\Uparrow`),Z(`\\Uarr`,`\\Uparrow`),Z(`\\N`,`\\mathbb{N}`),Z(`\\R`,`\\mathbb{R}`),Z(`\\Z`,`\\mathbb{Z}`),Z(`\\alef`,`\\aleph`),Z(`\\alefsym`,`\\aleph`),Z(`\\Alpha`,`\\mathrm{A}`),Z(`\\Beta`,`\\mathrm{B}`),Z(`\\bull`,`\\bullet`),Z(`\\Chi`,`\\mathrm{X}`),Z(`\\clubs`,`\\clubsuit`),Z(`\\cnums`,`\\mathbb{C}`),Z(`\\Complex`,`\\mathbb{C}`),Z(`\\Dagger`,`\\ddagger`),Z(`\\diamonds`,`\\diamondsuit`),Z(`\\empty`,`\\emptyset`),Z(`\\Epsilon`,`\\mathrm{E}`),Z(`\\Eta`,`\\mathrm{H}`),Z(`\\exist`,`\\exists`),Z(`\\harr`,`\\leftrightarrow`),Z(`\\hArr`,`\\Leftrightarrow`),Z(`\\Harr`,`\\Leftrightarrow`),Z(`\\hearts`,`\\heartsuit`),Z(`\\image`,`\\Im`),Z(`\\infin`,`\\infty`),Z(`\\Iota`,`\\mathrm{I}`),Z(`\\isin`,`\\in`),Z(`\\Kappa`,`\\mathrm{K}`),Z(`\\larr`,`\\leftarrow`),Z(`\\lArr`,`\\Leftarrow`),Z(`\\Larr`,`\\Leftarrow`),Z(`\\lrarr`,`\\leftrightarrow`),Z(`\\lrArr`,`\\Leftrightarrow`),Z(`\\Lrarr`,`\\Leftrightarrow`),Z(`\\Mu`,`\\mathrm{M}`),Z(`\\natnums`,`\\mathbb{N}`),Z(`\\Nu`,`\\mathrm{N}`),Z(`\\Omicron`,`\\mathrm{O}`),Z(`\\plusmn`,`\\pm`),Z(`\\rarr`,`\\rightarrow`),Z(`\\rArr`,`\\Rightarrow`),Z(`\\Rarr`,`\\Rightarrow`),Z(`\\real`,`\\Re`),Z(`\\reals`,`\\mathbb{R}`),Z(`\\Reals`,`\\mathbb{R}`),Z(`\\Rho`,`\\mathrm{P}`),Z(`\\sdot`,`\\cdot`),Z(`\\sect`,`\\S`),Z(`\\spades`,`\\spadesuit`),Z(`\\sub`,`\\subset`),Z(`\\sube`,`\\subseteq`),Z(`\\supe`,`\\supseteq`),Z(`\\Tau`,`\\mathrm{T}`),Z(`\\thetasym`,`\\vartheta`),Z(`\\weierp`,`\\wp`),Z(`\\Zeta`,`\\mathrm{Z}`),Z(`\\argmin`,`\\DOTSB\\operatorname*{arg\\,min}`),Z(`\\argmax`,`\\DOTSB\\operatorname*{arg\\,max}`),Z(`\\plim`,`\\DOTSB\\mathop{\\operatorname{plim}}\\limits`),Z(`\\bra`,`\\mathinner{\\langle{#1}|}`),Z(`\\ket`,`\\mathinner{|{#1}\\rangle}`),Z(`\\braket`,`\\mathinner{\\langle{#1}\\rangle}`),Z(`\\Bra`,`\\left\\langle#1\\right|`),Z(`\\Ket`,`\\left|#1\\right\\rangle`);var co=e=>t=>{var n=t.consumeArg().tokens,r=t.consumeArg().tokens,i=t.consumeArg().tokens,a=t.consumeArg().tokens,o=t.macros.get(`|`),s=t.macros.get(`\\|`);t.macros.beginGroup();var c=t=>n=>{e&&(n.macros.set(`|`,o),i.length&&n.macros.set(`\\|`,s));var a=t;return!t&&i.length&&n.future().text===`|`&&(n.popToken(),a=!0),{tokens:a?i:r,numArgs:0}};t.macros.set(`|`,c(!1)),i.length&&t.macros.set(`\\|`,c(!0));var l=t.consumeArg().tokens,u=t.expandTokens([...a,...l,...n]);return t.macros.endGroup(),{tokens:u.reverse(),numArgs:0}};Z(`\\bra@ket`,co(!1)),Z(`\\bra@set`,co(!0)),Z(`\\Braket`,`\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}`),Z(`\\Set`,`\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}`),Z(`\\set`,`\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}`),Z(`\\angln`,`{\\angl n}`),Z(`\\blue`,`\\textcolor{##6495ed}{#1}`),Z(`\\orange`,`\\textcolor{##ffa500}{#1}`),Z(`\\pink`,`\\textcolor{##ff00af}{#1}`),Z(`\\red`,`\\textcolor{##df0030}{#1}`),Z(`\\green`,`\\textcolor{##28ae7b}{#1}`),Z(`\\gray`,`\\textcolor{gray}{#1}`),Z(`\\purple`,`\\textcolor{##9d38bd}{#1}`),Z(`\\blueA`,`\\textcolor{##ccfaff}{#1}`),Z(`\\blueB`,`\\textcolor{##80f6ff}{#1}`),Z(`\\blueC`,`\\textcolor{##63d9ea}{#1}`),Z(`\\blueD`,`\\textcolor{##11accd}{#1}`),Z(`\\blueE`,`\\textcolor{##0c7f99}{#1}`),Z(`\\tealA`,`\\textcolor{##94fff5}{#1}`),Z(`\\tealB`,`\\textcolor{##26edd5}{#1}`),Z(`\\tealC`,`\\textcolor{##01d1c1}{#1}`),Z(`\\tealD`,`\\textcolor{##01a995}{#1}`),Z(`\\tealE`,`\\textcolor{##208170}{#1}`),Z(`\\greenA`,`\\textcolor{##b6ffb0}{#1}`),Z(`\\greenB`,`\\textcolor{##8af281}{#1}`),Z(`\\greenC`,`\\textcolor{##74cf70}{#1}`),Z(`\\greenD`,`\\textcolor{##1fab54}{#1}`),Z(`\\greenE`,`\\textcolor{##0d923f}{#1}`),Z(`\\goldA`,`\\textcolor{##ffd0a9}{#1}`),Z(`\\goldB`,`\\textcolor{##ffbb71}{#1}`),Z(`\\goldC`,`\\textcolor{##ff9c39}{#1}`),Z(`\\goldD`,`\\textcolor{##e07d10}{#1}`),Z(`\\goldE`,`\\textcolor{##a75a05}{#1}`),Z(`\\redA`,`\\textcolor{##fca9a9}{#1}`),Z(`\\redB`,`\\textcolor{##ff8482}{#1}`),Z(`\\redC`,`\\textcolor{##f9685d}{#1}`),Z(`\\redD`,`\\textcolor{##e84d39}{#1}`),Z(`\\redE`,`\\textcolor{##bc2612}{#1}`),Z(`\\maroonA`,`\\textcolor{##ffbde0}{#1}`),Z(`\\maroonB`,`\\textcolor{##ff92c6}{#1}`),Z(`\\maroonC`,`\\textcolor{##ed5fa6}{#1}`),Z(`\\maroonD`,`\\textcolor{##ca337c}{#1}`),Z(`\\maroonE`,`\\textcolor{##9e034e}{#1}`),Z(`\\purpleA`,`\\textcolor{##ddd7ff}{#1}`),Z(`\\purpleB`,`\\textcolor{##c6b9fc}{#1}`),Z(`\\purpleC`,`\\textcolor{##aa87ff}{#1}`),Z(`\\purpleD`,`\\textcolor{##7854ab}{#1}`),Z(`\\purpleE`,`\\textcolor{##543b78}{#1}`),Z(`\\mintA`,`\\textcolor{##f5f9e8}{#1}`),Z(`\\mintB`,`\\textcolor{##edf2df}{#1}`),Z(`\\mintC`,`\\textcolor{##e0e5cc}{#1}`),Z(`\\grayA`,`\\textcolor{##f6f7f7}{#1}`),Z(`\\grayB`,`\\textcolor{##f0f1f2}{#1}`),Z(`\\grayC`,`\\textcolor{##e3e5e6}{#1}`),Z(`\\grayD`,`\\textcolor{##d6d8da}{#1}`),Z(`\\grayE`,`\\textcolor{##babec2}{#1}`),Z(`\\grayF`,`\\textcolor{##888d93}{#1}`),Z(`\\grayG`,`\\textcolor{##626569}{#1}`),Z(`\\grayH`,`\\textcolor{##3b3e40}{#1}`),Z(`\\grayI`,`\\textcolor{##21242c}{#1}`),Z(`\\kaBlue`,`\\textcolor{##314453}{#1}`),Z(`\\kaGreen`,`\\textcolor{##71B307}{#1}`);var lo={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},uo=class{constructor(e,t,n){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 eo(to,t.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new $a(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,n,r;if(e){if(this.consumeSpaces(),this.future().text!==`[`)return null;t=this.popToken(),{tokens:r,end:n}=this.consumeArg([`]`])}else({tokens:r,start:t,end:n}=this.consumeArg());return this.pushToken(new ea(`EOF`,n.loc)),this.pushTokens(r),new ea(``,$i.range(t,n))}consumeSpaces(){for(;this.future().text===` `;)this.stack.pop()}consumeArg(e){var t=[],n=e&&e.length>0;n||this.consumeSpaces();var r=this.future(),i,a=0,o=0;do{if(i=this.popToken(),t.push(i),i.text===`{`)++a;else if(i.text===`}`){if(--a,a===-1)throw new A(`Extra }`,i)}else if(i.text===`EOF`)throw new A(`Unexpected end of input in a macro argument, expected '`+(e&&n?e[o]:`}`)+`'`,i);if(e&&n)if((a===0||a===1&&e[o]===`{`)&&i.text===e[o]){if(++o,o===e.length){t.splice(-o,o);break}}else o=0}while(a!==0||n);return r.text===`{`&&t[t.length-1].text===`}`&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:r,end:i}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new A(`The length of delimiters doesn't match the number of args!`);for(var n=t[0],r=0;r<n.length;r++){var i=this.popToken();if(n[r]!==i.text)throw new A(`Use of the macro doesn't match its definition`,i)}}for(var a=[],o=0;o<e;o++)a.push(this.consumeArg(t&&t[o+1]).tokens);return a}countExpansion(e){if(this.expansionCount+=e,this.expansionCount>this.settings.maxExpand)throw new A(`Too many expansions: infinite loop or need to increase maxExpand setting`)}expandOnce(e){var t=this.popToken(),n=t.text,r=t.noexpand?null:this._getExpansion(n);if(r==null||e&&r.unexpandable){if(e&&r==null&&n[0]===`\\`&&!this.isDefined(n))throw new A(`Undefined control sequence: `+n);return this.pushToken(t),!1}this.countExpansion(1);var i=r.tokens,a=this.consumeArgs(r.numArgs,r.delimiters);if(r.numArgs){i=i.slice();for(var o=i.length-1;o>=0;--o){var s=i[o];if(s.text===`#`){if(o===0)throw new A(`Incomplete placeholder at end of macro body`,s);if(s=i[--o],s.text===`#`)i.splice(o+1,1);else if(/^[1-9]$/.test(s.text))i.splice(o,2,...a[s.text-1]);else throw new A(`Not a valid argument number`,s)}}}return this.pushTokens(i),i.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 ea(e)]):void 0}expandTokens(e){var t=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var r=this.stack.pop();r.treatAsRelax&&=(r.noexpand=!1,!1),t.push(r)}return this.countExpansion(t.length),t}expandMacroAsText(e){var t=this.expandMacro(e);return t&&t.map(e=>e.text).join(``)}_getExpansion(e){var t=this.macros.get(e);if(t==null)return t;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var r=typeof t==`function`?t(this):t;if(typeof r==`string`){var i=0;if(r.includes(`#`))for(var a=r.replace(/##/g,``);a.includes(`#`+(i+1));)++i;for(var o=new $a(r,this.settings),s=[],c=o.lex();c.text!==`EOF`;)s.push(c),c=o.lex();return s.reverse(),{tokens:s,numArgs:i}}return r}isDefined(e){return this.macros.has(e)||Wa.hasOwnProperty(e)||Ht.math.hasOwnProperty(e)||Ht.text.hasOwnProperty(e)||lo.hasOwnProperty(e)}isExpandable(e){var t=this.macros.get(e);return t==null?Wa.hasOwnProperty(e)&&!Wa[e].primitive:typeof t==`string`||typeof t==`function`||!t.unexpandable}},fo=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,po=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`,ᵝ:`β`,ᵞ:`γ`,ᵟ:`δ`,ᵠ:`ϕ`,ᵡ:`χ`,ᶿ:`θ`}),mo={"́":{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`}},ho={á:`á`,à:`à`,ä:`ä`,ǟ:`ǟ`,ã:`ã`,ā:`ā`,ă:`ă`,ắ:`ắ`,ằ:`ằ`,ẵ:`ẵ`,ǎ:`ǎ`,â:`â`,ấ:`ấ`,ầ:`ầ`,ẫ:`ẫ`,ȧ:`ȧ`,ǡ:`ǡ`,å:`å`,ǻ:`ǻ`,ḃ:`ḃ`,ć:`ć`,ḉ:`ḉ`,č:`č`,ĉ:`ĉ`,ċ:`ċ`,ç:`ç`,ď:`ď`,ḋ:`ḋ`,ḑ:`ḑ`,é:`é`,è:`è`,ë:`ë`,ẽ:`ẽ`,ē:`ē`,ḗ:`ḗ`,ḕ:`ḕ`,ĕ:`ĕ`,ḝ:`ḝ`,ě:`ě`,ê:`ê`,ế:`ế`,ề:`ề`,ễ:`ễ`,ė:`ė`,ȩ:`ȩ`,ḟ:`ḟ`,ǵ:`ǵ`,ḡ:`ḡ`,ğ:`ğ`,ǧ:`ǧ`,ĝ:`ĝ`,ġ:`ġ`,ģ:`ģ`,ḧ:`ḧ`,ȟ:`ȟ`,ĥ:`ĥ`,ḣ:`ḣ`,ḩ:`ḩ`,í:`í`,ì:`ì`,ï:`ï`,ḯ:`ḯ`,ĩ:`ĩ`,ī:`ī`,ĭ:`ĭ`,ǐ:`ǐ`,î:`î`,ǰ:`ǰ`,ĵ:`ĵ`,ḱ:`ḱ`,ǩ:`ǩ`,ķ:`ķ`,ĺ:`ĺ`,ľ:`ľ`,ļ:`ļ`,ḿ:`ḿ`,ṁ:`ṁ`,ń:`ń`,ǹ:`ǹ`,ñ:`ñ`,ň:`ň`,ṅ:`ṅ`,ņ:`ņ`,ó:`ó`,ò:`ò`,ö:`ö`,ȫ:`ȫ`,õ:`õ`,ṍ:`ṍ`,ṏ:`ṏ`,ȭ:`ȭ`,ō:`ō`,ṓ:`ṓ`,ṑ:`ṑ`,ŏ:`ŏ`,ǒ:`ǒ`,ô:`ô`,ố:`ố`,ồ:`ồ`,ỗ:`ỗ`,ȯ:`ȯ`,ȱ:`ȱ`,ő:`ő`,ṕ:`ṕ`,ṗ:`ṗ`,ŕ:`ŕ`,ř:`ř`,ṙ:`ṙ`,ŗ:`ŗ`,ś:`ś`,ṥ:`ṥ`,š:`š`,ṧ:`ṧ`,ŝ:`ŝ`,ṡ:`ṡ`,ş:`ş`,ẗ:`ẗ`,ť:`ť`,ṫ:`ṫ`,ţ:`ţ`,ú:`ú`,ù:`ù`,ü:`ü`,ǘ:`ǘ`,ǜ:`ǜ`,ǖ:`ǖ`,ǚ:`ǚ`,ũ:`ũ`,ṹ:`ṹ`,ū:`ū`,ṻ:`ṻ`,ŭ:`ŭ`,ǔ:`ǔ`,û:`û`,ů:`ů`,ű:`ű`,ṽ:`ṽ`,ẃ:`ẃ`,ẁ:`ẁ`,ẅ:`ẅ`,ŵ:`ŵ`,ẇ:`ẇ`,ẘ:`ẘ`,ẍ:`ẍ`,ẋ:`ẋ`,ý:`ý`,ỳ:`ỳ`,ÿ:`ÿ`,ỹ:`ỹ`,ȳ:`ȳ`,ŷ:`ŷ`,ẏ:`ẏ`,ẙ:`ẙ`,ź:`ź`,ž:`ž`,ẑ:`ẑ`,ż:`ż`,Á:`Á`,À:`À`,Ä:`Ä`,Ǟ:`Ǟ`,Ã:`Ã`,Ā:`Ā`,Ă:`Ă`,Ắ:`Ắ`,Ằ:`Ằ`,Ẵ:`Ẵ`,Ǎ:`Ǎ`,Â:`Â`,Ấ:`Ấ`,Ầ:`Ầ`,Ẫ:`Ẫ`,Ȧ:`Ȧ`,Ǡ:`Ǡ`,Å:`Å`,Ǻ:`Ǻ`,Ḃ:`Ḃ`,Ć:`Ć`,Ḉ:`Ḉ`,Č:`Č`,Ĉ:`Ĉ`,Ċ:`Ċ`,Ç:`Ç`,Ď:`Ď`,Ḋ:`Ḋ`,Ḑ:`Ḑ`,É:`É`,È:`È`,Ë:`Ë`,Ẽ:`Ẽ`,Ē:`Ē`,Ḗ:`Ḗ`,Ḕ:`Ḕ`,Ĕ:`Ĕ`,Ḝ:`Ḝ`,Ě:`Ě`,Ê:`Ê`,Ế:`Ế`,Ề:`Ề`,Ễ:`Ễ`,Ė:`Ė`,Ȩ:`Ȩ`,Ḟ:`Ḟ`,Ǵ:`Ǵ`,Ḡ:`Ḡ`,Ğ:`Ğ`,Ǧ:`Ǧ`,Ĝ:`Ĝ`,Ġ:`Ġ`,Ģ:`Ģ`,Ḧ:`Ḧ`,Ȟ:`Ȟ`,Ĥ:`Ĥ`,Ḣ:`Ḣ`,Ḩ:`Ḩ`,Í:`Í`,Ì:`Ì`,Ï:`Ï`,Ḯ:`Ḯ`,Ĩ:`Ĩ`,Ī:`Ī`,Ĭ:`Ĭ`,Ǐ:`Ǐ`,Î:`Î`,İ:`İ`,Ĵ:`Ĵ`,Ḱ:`Ḱ`,Ǩ:`Ǩ`,Ķ:`Ķ`,Ĺ:`Ĺ`,Ľ:`Ľ`,Ļ:`Ļ`,Ḿ:`Ḿ`,Ṁ:`Ṁ`,Ń:`Ń`,Ǹ:`Ǹ`,Ñ:`Ñ`,Ň:`Ň`,Ṅ:`Ṅ`,Ņ:`Ņ`,Ó:`Ó`,Ò:`Ò`,Ö:`Ö`,Ȫ:`Ȫ`,Õ:`Õ`,Ṍ:`Ṍ`,Ṏ:`Ṏ`,Ȭ:`Ȭ`,Ō:`Ō`,Ṓ:`Ṓ`,Ṑ:`Ṑ`,Ŏ:`Ŏ`,Ǒ:`Ǒ`,Ô:`Ô`,Ố:`Ố`,Ồ:`Ồ`,Ỗ:`Ỗ`,Ȯ:`Ȯ`,Ȱ:`Ȱ`,Ő:`Ő`,Ṕ:`Ṕ`,Ṗ:`Ṗ`,Ŕ:`Ŕ`,Ř:`Ř`,Ṙ:`Ṙ`,Ŗ:`Ŗ`,Ś:`Ś`,Ṥ:`Ṥ`,Š:`Š`,Ṧ:`Ṧ`,Ŝ:`Ŝ`,Ṡ:`Ṡ`,Ş:`Ş`,Ť:`Ť`,Ṫ:`Ṫ`,Ţ:`Ţ`,Ú:`Ú`,Ù:`Ù`,Ü:`Ü`,Ǘ:`Ǘ`,Ǜ:`Ǜ`,Ǖ:`Ǖ`,Ǚ:`Ǚ`,Ũ:`Ũ`,Ṹ:`Ṹ`,Ū:`Ū`,Ṻ:`Ṻ`,Ŭ:`Ŭ`,Ǔ:`Ǔ`,Û:`Û`,Ů:`Ů`,Ű:`Ű`,Ṽ:`Ṽ`,Ẃ:`Ẃ`,Ẁ:`Ẁ`,Ẅ:`Ẅ`,Ŵ:`Ŵ`,Ẇ:`Ẇ`,Ẍ:`Ẍ`,Ẋ:`Ẋ`,Ý:`Ý`,Ỳ:`Ỳ`,Ÿ:`Ÿ`,Ỹ:`Ỹ`,Ȳ:`Ȳ`,Ŷ:`Ŷ`,Ẏ:`Ẏ`,Ź:`Ź`,Ž:`Ž`,Ẑ:`Ẑ`,Ż:`Ż`,ά:`ά`,ὰ:`ὰ`,ᾱ:`ᾱ`,ᾰ:`ᾰ`,έ:`έ`,ὲ:`ὲ`,ή:`ή`,ὴ:`ὴ`,ί:`ί`,ὶ:`ὶ`,ϊ:`ϊ`,ΐ:`ΐ`,ῒ:`ῒ`,ῑ:`ῑ`,ῐ:`ῐ`,ό:`ό`,ὸ:`ὸ`,ύ:`ύ`,ὺ:`ὺ`,ϋ:`ϋ`,ΰ:`ΰ`,ῢ:`ῢ`,ῡ:`ῡ`,ῠ:`ῠ`,ώ:`ώ`,ὼ:`ὼ`,Ύ:`Ύ`,Ὺ:`Ὺ`,Ϋ:`Ϋ`,Ῡ:`Ῡ`,Ῠ:`Ῠ`,Ώ:`Ώ`,Ὼ:`Ὼ`},go=class e{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 uo(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 A(`Expected '`+e+`', got '`+this.fetch().text+`'`,this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return 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 ea(`}`)),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect(`}`),this.nextToken=t,n}parseExpression(t,n){for(var r=[];;){this.mode===`math`&&this.consumeSpaces();var i=this.fetch();if(e.endOfExpression.has(i.text)||n&&i.text===n||t&&Wa[i.text]&&Wa[i.text].infix)break;var a=this.parseAtom(n);if(!a)break;a.type!==`internal`&&r.push(a)}return this.mode===`text`&&this.formLigatures(r),this.handleInfixNodes(r)}handleInfixNodes(e){for(var t=-1,n,r=0;r<e.length;r++){var i=e[r];if(i.type===`infix`){if(t!==-1)throw new A(`only one infix operator per group`,i.token);t=r,n=i.replaceWith}}if(t!==-1&&n){var a,o,s=e.slice(0,t),c=e.slice(t+1);return a=s.length===1&&s[0].type===`ordgroup`?s[0]:{type:`ordgroup`,mode:this.mode,body:s},o=c.length===1&&c[0].type===`ordgroup`?c[0]:{type:`ordgroup`,mode:this.mode,body:c},[n===`\\\\abovefrac`?this.callFunction(n,[a,e[t],o],[]):this.callFunction(n,[a,o],[])]}else return e}handleSupSubscript(e){var t=this.fetch(),n=t.text;this.consume(),this.consumeSpaces();var r;do r=this.parseGroup(e);while(r?.type===`internal`);if(!r)throw new A(`Expected group after '`+n+`'`,t);return r}formatUnsupportedCmd(e){for(var t=[],n=0;n<e.length;n++)t.push({type:`textord`,mode:`text`,text:e[n]});var r={type:`text`,mode:this.mode,body:t};return{type:`color`,mode:this.mode,color:this.settings.errorColor,body:[r]}}parseAtom(e){var t=this.parseGroup(`atom`,e);if(t?.type===`internal`||this.mode===`text`)return t;for(var n,r;;){this.consumeSpaces();var i=this.fetch();if(i.text===`\\limits`||i.text===`\\nolimits`){if(t&&t.type===`op`)t.limits=i.text===`\\limits`,t.alwaysHandleSupSub=!0;else if(t&&t.type===`operatorname`)t.alwaysHandleSupSub&&(t.limits=i.text===`\\limits`);else throw new A(`Limit controls must follow a math operator`,i);this.consume()}else if(i.text===`^`){if(n)throw new A(`Double superscript`,i);n=this.handleSupSubscript(`superscript`)}else if(i.text===`_`){if(r)throw new A(`Double subscript`,i);r=this.handleSupSubscript(`subscript`)}else if(i.text===`'`){if(n)throw new A(`Double superscript`,i);var a={type:`textord`,mode:this.mode,text:`\\prime`},o=[a];for(this.consume();this.fetch().text===`'`;)o.push(a),this.consume();this.fetch().text===`^`&&o.push(this.handleSupSubscript(`superscript`)),n={type:`ordgroup`,mode:this.mode,body:o}}else if(po[i.text]){var s=fo.test(i.text),c=[];for(c.push(new ea(po[i.text])),this.consume();;){var l=this.fetch().text;if(!po[l]||fo.test(l)!==s)break;c.unshift(new ea(po[l])),this.consume()}var u=this.subparse(c);s?r={type:`ordgroup`,mode:`math`,body:u}:n={type:`ordgroup`,mode:`math`,body:u}}else break}return n||r?{type:`supsub`,mode:this.mode,base:t,sup:n,sub:r}:t}parseFunction(e,t){var n=this.fetch(),r=n.text,i=Wa[r];if(!i)return null;if(this.consume(),t&&t!==`atom`&&!i.allowedInArgument)throw new A(`Got function '`+r+`' with no arguments`+(t?` as `+t:``),n);if(this.mode===`text`&&!i.allowedInText)throw new A(`Can't use function '`+r+`' in text mode`,n);if(this.mode===`math`&&i.allowedInMath===!1)throw new A(`Can't use function '`+r+`' in math mode`,n);var{args:a,optArgs:o}=this.parseArguments(r,i);return this.callFunction(r,a,o,n,e)}callFunction(e,t,n,r,i){var a={funcName:e,parser:this,token:r,breakOnTokenText:i},o=Wa[e];if(o&&o.handler)return o.handler(a,t,n);throw new A(`No function handler for `+e)}parseArguments(e,t){var n=t.numArgs+t.numOptionalArgs;if(n===0)return{args:[],optArgs:[]};for(var r=[],i=[],a=0;a<n;a++){var o=t.argTypes&&t.argTypes[a],s=a<t.numOptionalArgs;(`primitive`in t&&t.primitive&&o==null||t.type===`sqrt`&&a===1&&i[0]==null)&&(o=`primitive`);var c=this.parseGroupOfType(`argument to '`+e+`'`,o,s);if(s)i.push(c);else if(c!=null)r.push(c);else throw new A(`Null argument, please report this as a bug`)}return{args:r,optArgs:i}}parseGroupOfType(e,t,n){switch(t){case`color`:return this.parseColorGroup(n);case`size`:return this.parseSizeGroup(n);case`url`:return this.parseUrlGroup(n);case`math`:case`text`:return this.parseArgumentGroup(n,t);case`hbox`:var r=this.parseArgumentGroup(n,`text`);return r==null?null:{type:`styling`,mode:r.mode,body:[r],style:`text`,resetFont:!0};case`raw`:var i=this.parseStringGroup(`raw`,n);return i==null?null:{type:`raw`,mode:`text`,string:i.text};case`primitive`:if(n)throw new A(`A primitive argument cannot be optional`);var a=this.parseGroup(e);if(a==null)throw new A(`Expected group as `+e,this.fetch());return a;case`original`:case null:case void 0:return this.parseArgumentGroup(n);default:throw new A(`Unknown group type as `+e,this.fetch())}}consumeSpaces(){for(;this.fetch().text===` `;)this.consume()}parseStringGroup(e,t){var n=this.gullet.scanArgument(t);if(n==null)return null;for(var r=``,i;(i=this.fetch()).text!==`EOF`;)r+=i.text,this.consume();return this.consume(),n.text=r,n}parseRegexGroup(e,t){for(var n=this.fetch(),r=n,i=``,a;(a=this.fetch()).text!==`EOF`&&e.test(i+a.text);)r=a,i+=r.text,this.consume();if(i===``)throw new A(`Invalid `+t+`: '`+n.text+`'`,n);return n.range(r,i)}parseColorGroup(e){var t=this.parseStringGroup(`color`,e);if(t==null)return null;var n=/^(#[a-f0-9]{3,4}|#[a-f0-9]{6}|#[a-f0-9]{8}|[a-f0-9]{6}|[a-z]+)$/i.exec(t.text);if(!n)throw new A(`Invalid color: '`+t.text+`'`,t);var r=n[0];return/^[0-9a-f]{6}$/i.test(r)&&(r=`#`+r),{type:`color-token`,mode:this.mode,color:r}}parseSizeGroup(e){var t,n=!1;if(this.gullet.consumeSpaces(),t=!e&&this.gullet.future().text!==`{`?this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,`size`):this.parseStringGroup(`size`,e),!t)return null;!e&&t.text.length===0&&(t.text=`0pt`,n=!0);var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t.text);if(!r)throw new A(`Invalid size: '`+t.text+`'`,t);var i={number:+(r[1]+r[2]),unit:r[3]};if(!gt(i))throw new A(`Invalid unit: '`+i.unit+`'`,t);return{type:`size`,mode:this.mode,value:i,isBlank:n}}parseUrlGroup(e){this.gullet.lexer.setCatcode(`%`,13),this.gullet.lexer.setCatcode(`~`,12);var t=this.parseStringGroup(`url`,e);if(this.gullet.lexer.setCatcode(`%`,14),this.gullet.lexer.setCatcode(`~`,13),t==null)return null;var n=t.text.replace(/\\([#$%&~_^{}])/g,`$1`);return{type:`url`,mode:this.mode,url:n}}parseArgumentGroup(e,t){var n=this.gullet.scanArgument(e);if(n==null)return null;var r=this.mode;t&&this.switchMode(t),this.gullet.beginGroup();var i=this.parseExpression(!1,`EOF`);this.expect(`EOF`),this.gullet.endGroup();var a={type:`ordgroup`,mode:this.mode,loc:n.loc,body:i};return t&&this.switchMode(r),a}parseGroup(e,t){var n=this.fetch(),r=n.text,i;if(r===`{`||r===`\\begingroup`){this.consume();var a=r===`{`?`}`:`\\endgroup`;this.gullet.beginGroup();var o=this.parseExpression(!1,a),s=this.fetch();this.expect(a),this.gullet.endGroup(),i={type:`ordgroup`,mode:this.mode,loc:$i.range(n,s),body:o,semisimple:r===`\\begingroup`||void 0}}else if(i=this.parseFunction(t,e)||this.parseSymbol(),i==null&&r[0]===`\\`&&!lo.hasOwnProperty(r)){if(this.settings.throwOnError)throw new A(`Undefined control sequence: `+r,n);i=this.formatUnsupportedCmd(r),this.consume()}return i}formLigatures(e){for(var t=e.length-1,n=0;n<t;++n){var r=e[n];if(r.type===`textord`){var i=r.text,a=e[n+1];if(!(!a||a.type!==`textord`)){if(i===`-`&&a.text===`-`){var o=e[n+2];n+1<t&&o&&o.type===`textord`&&o.text===`-`?(e.splice(n,3,{type:`textord`,mode:`text`,loc:$i.range(r,o),text:`---`}),t-=2):(e.splice(n,2,{type:`textord`,mode:`text`,loc:$i.range(r,a),text:`--`}),--t)}(i===`'`||i==="`")&&a.text===i&&(e.splice(n,2,{type:`textord`,mode:`text`,loc:$i.range(r,a),text:i+i}),--t)}}}}parseSymbol(){var e=this.fetch(),t=e.text;if(/^\\verb[^a-zA-Z]/.test(t)){this.consume();var n=t.slice(5),r=n.charAt(0)===`*`;if(r&&(n=n.slice(1)),n.length<2||n.charAt(0)!==n.slice(-1))throw new A(`\\verb assertion failed --
257
+ please report what input caused this bug`);return n=n.slice(1,-1),{type:`verb`,mode:`text`,body:n,star:r}}ho.hasOwnProperty(t[0])&&!Ht[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=ho[t[0]]+t.slice(1));var i=Za.exec(t);i&&(t=t.substring(0,i.index),t===`i`?t=`ı`:t===`j`&&(t=`ȷ`));var a;if(Ht[this.mode][t]){this.settings.strict&&this.mode===`math`&&un.includes(t)&&this.settings.reportNonstrict(`unicodeTextInMathMode`,`Latin-1/Unicode text character "`+t[0]+`" used in math mode`,e);var o=Ht[this.mode][t].group,s=$i.range(e);a=Gr(o)?{type:`atom`,mode:this.mode,family:o,loc:s,text:t}:{type:o,mode:this.mode,loc:s,text:t}}else if(t.charCodeAt(0)>=128)this.settings.strict&&(Qe(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)),a={type:`textord`,mode:`text`,loc:$i.range(e),text:t};else return null;if(this.consume(),i)for(var c=0;c<i[0].length;c++){var l=i[0][c];if(!mo[l])throw new A(`Unknown accent ' `+l+`'`,e);var u=mo[l][this.mode]||mo[l].text;if(!u)throw new A(`Accent `+l+` unsupported in `+this.mode+` mode`,e);a={type:`accent`,mode:this.mode,loc:$i.range(e),label:u,isStretchy:!1,isShifty:!0,base:a}}return a}};go.endOfExpression=new Set([`}`,`\\endgroup`,`\\end`,`\\right`,`&`]);var _o=function(e,t){if(!(typeof e==`string`||e instanceof String))throw TypeError(`KaTeX can only parse string typed expression`);var n=new go(e,t);delete n.gullet.macros.current[`\\df@tag`];var r=n.parse();if(delete n.gullet.macros.current[`\\current@color`],delete n.gullet.macros.current[`\\color`],n.gullet.macros.get(`\\df@tag`)){if(!t.displayMode)throw new A(`\\tag works only in display equations`);r=[{type:`tag`,mode:`text`,body:r,tag:n.subparse([new ea(`\\df@tag`)])}]}return r},vo=function(e,t,n){t.textContent=``;var r=So(e,n).toNode();t.appendChild(r)};typeof document<`u`&&document.compatMode!==`CSS1Compat`&&(typeof console<`u`&&console.warn(`Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype.`),vo=function(){throw new A(`KaTeX doesn't work in quirks mode.`)});var yo=function(e,t){return So(e,t).toMarkup()},bo=function(e,t){return _o(e,new Me(t))},xo=function(e,t,n){if(n.throwOnError||!(e instanceof A))throw e;var r=W([`katex-error`],[new Ot(t)]);return r.setAttribute(`title`,e.toString()),r.setAttribute(`style`,`color:`+n.errorColor),r},So=function(e,t){var n=new Me(t);try{return Fr(_o(e,n),e,n)}catch(t){return xo(t,e,n)}},Co={version:`0.16.47`,render:vo,renderToString:yo,ParseError:A,SETTINGS_SCHEMA:Oe,__parse:bo,__renderToDomTree:So,__renderToHTMLTree:function(e,t){var n=new Me(t);try{return Ir(_o(e,n),e,n)}catch(t){return xo(t,e,n)}},__setFontMetrics:Rt,__defineSymbol:N,__defineFunction:K,__defineMacro:Z,__domTree:{Span:wt,Anchor:Tt,SymbolNode:Ot,SvgNode:kt,PathNode:At,LineNode:jt}};let wo=new Map;function To(e,t=!1){let n=`${t?`D`:`I`}${e}`,r=wo.get(n);if(r===void 0){try{r=Co.renderToString(String(e),{displayMode:t,throwOnError:!1,strict:`ignore`,trust:!1,maxSize:20,maxExpand:500,output:`htmlAndMathml`})}catch{r=null}wo.size>2e3&&wo.clear(),wo.set(n,r)}return r}function Eo({tex:e,display:t=!1}){let n=To(e,t);return n===null?(0,i.jsx)(`code`,{children:e}):(0,i.jsx)(`span`,{className:t?`aha-tex aha-tex-display`:`aha-tex`,dangerouslySetInnerHTML:{__html:n}})}let Do=new Set([`svg`,`g`,`path`,`line`,`polyline`,`polygon`,`rect`,`circle`,`ellipse`,`text`,`tspan`,`textPath`,`defs`,`marker`,`lineargradient`,`radialgradient`,`stop`,`title`,`desc`,`clippath`,`mask`,`pattern`,`use`,`symbol`]),Oo=new Set(`xmlns.viewbox.width.height.x.y.x1.y1.x2.y2.cx.cy.r.rx.ry.d.points.transform.fill.stroke.stroke-width.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.opacity.fill-opacity.stroke-opacity.fill-rule.clip-rule.font-size.font-family.font-weight.font-style.text-anchor.dominant-baseline.alignment-baseline.letter-spacing.text-decoration.dx.dy.rotate.marker-start.marker-mid.marker-end.refx.refy.markerwidth.markerheight.markerunits.orient.offset.stop-color.stop-opacity.gradientunits.gradienttransform.fx.fy.id.clip-path.mask.preserveaspectratio.vector-effect.patternunits.patterncontentunits.href.xlink:href.startoffset.textlength.lengthadjust.style.class`.split(`.`)),ko=new Set([`fill`,`stroke`,`stroke-width`,`stroke-dasharray`,`stroke-linecap`,`stroke-linejoin`,`opacity`,`fill-opacity`,`stroke-opacity`,`font-size`,`font-family`,`font-weight`,`font-style`,`text-anchor`,`dominant-baseline`,`letter-spacing`]);function Ao(e,t){let n=String(t).toLowerCase();return/javascript:|data:|expression\(|@import|<|>/u.test(n)||n.includes(`url(`)&&!/^url\(\s*#[\w-]+\s*\)$/u.test(n.trim())||(e===`href`||e===`xlink:href`)&&!/^#[\w-]+$/u.test(String(t).trim())?null:t}function jo(e){let t=[];for(let n of String(e).split(`;`)){let[e,...r]=n.split(`:`),i=e?.trim().toLowerCase(),a=r.join(`:`).trim();!i||!a||!ko.has(i)||Ao(i,a)!==null&&t.push(`${i}:${a}`)}return t.join(`;`)}function Mo(e){for(let t of[...e.childNodes]){if(t.nodeType===8){t.remove();continue}if(t.nodeType!==1)continue;let e=String(t.localName||t.nodeName).toLowerCase();if(!Do.has(e)){t.remove();continue}for(let e of[...t.attributes]){let n=e.name.toLowerCase();if(n.startsWith(`on`)||!Oo.has(n)){t.removeAttribute(e.name);continue}if(n===`style`){let n=jo(e.value);n?t.setAttribute(`style`,n):t.removeAttribute(`style`);continue}Ao(n,e.value)===null&&t.removeAttribute(e.name)}Mo(t)}}function No(e,{DOMParserImpl:t=globalThis.DOMParser,XMLSerializerImpl:n=globalThis.XMLSerializer}={}){if(typeof e!=`string`||!/^\s*<svg[\s>]/iu.test(e)||e.length>64*1024||!t)return null;let r;try{r=new t().parseFromString(e,`image/svg+xml`)}catch{return null}let i=r?.documentElement;if(!i||String(i.localName||i.nodeName).toLowerCase()!==`svg`||r.getElementsByTagName(`parsererror`).length)return null;for(let e of[...i.attributes]){let t=e.name.toLowerCase();(t.startsWith(`on`)||!Oo.has(t)||Ao(t,e.value)===null)&&i.removeAttribute(e.name)}i.getAttribute(`xmlns`)||i.setAttribute(`xmlns`,`http://www.w3.org/2000/svg`),Mo(i);let a=n?new n().serializeToString(i):i.outerHTML;return/^\s*<svg[\s>]/iu.test(a)?a:null}function Po(e,t=`light`){let n=String(e??``),r=t===`dark`?`dark`:`light`,i=`<meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'unsafe-inline'; style-src 'unsafe-inline'; img-src data: blob:; font-src data:; media-src data: blob:"><meta charset="utf-8"><meta name="color-scheme" content="${r}"><style>:root{color-scheme:${r}}html,body{margin:0;background:transparent;overflow:hidden}canvas,svg{max-width:100%;height:auto}</style>`;return/<head[^>]*>/iu.test(n)?n.replace(/<head[^>]*>/iu,e=>`${e}${i}`):/<html[^>]*>/iu.test(n)?n.replace(/<html[^>]*>/iu,e=>`${e}<head>${i}</head>`):`<!doctype html><html><head>${i}</head><body>${n}</body></html>`}let Fo=/\$[^$\n]+\$/gu,Io=/(\$[^$\n]+\$|\*\*(?:\$[^$\n]+\$|[^*\n])+?\*\*|==(?:\$[^$\n]+\$|[^=\n])+?==)/gu;function Lo(e,t,n){let r=0;for(let i of t.matchAll(Fo))i.index>r&&e.push({kind:n,text:t.slice(r,i.index)}),e.push({kind:`math`,tex:i[0].slice(1,-1),style:n}),r=i.index+i[0].length;r<t.length&&e.push({kind:n,text:t.slice(r)})}function Ro(e){let t=[],n=String(e??``),r=0;for(let e of n.matchAll(Io)){e.index>r&&t.push({kind:`text`,text:n.slice(r,e.index)});let i=e[0];i.startsWith(`$`)?t.push({kind:`math`,tex:i.slice(1,-1)}):Lo(t,i.slice(2,-2),i.startsWith(`**`)?`bold`:`mark`),r=e.index+i.length}return r<n.length&&t.push({kind:`text`,text:n.slice(r)}),t}function zo(e){return e.kind===`math`?Math.min(10,Math.max(2,e.tex.length/2)):[...e.text].length}function Bo(e){return e.reduce((e,t)=>e+zo(t),0)}function Vo(e,t){let n=[],r=t;for(let t of e){if(r<=0)break;let e=zo(t);if(t.kind===`math`){r>=e&&n.push(t),r-=e;continue}let i=[...t.text];i.length<=r?n.push(t):n.push({...t,text:i.slice(0,Math.max(0,Math.floor(r))).join(``)}),r-=i.length}return n}function Ho(e){return Ro(e).map(e=>e.kind===`math`?e.tex:e.text).join(``)}function Uo(e,t){return Math.max(1,Math.ceil(String(e??``).length/t))}function Wo(e){switch(e.t){case`title`:return 1.6;case`h`:return 1.4;case`p`:return Uo(e.text,26)*1.05;case`math`:return 2;case`list`:return e.items.reduce((e,t)=>e+Uo(t,24),0)*1.05;case`note`:return Uo(e.text,24)+1;case`table`:return(e.rows.length+1)*1.1+.6;case`code`:return Math.min(14,e.code.split(`
258
+ `).length*.8+1);case`svg`:case`chart`:return 8.5;case`anim`:return Math.round(e.height/34);default:return 0}}function Go(e){let t=[],n=new Map,r=null,i=0,a=0,o=!1,s=e=>{r={title:e??``,columns:[[],[]]},t.push(r),i=0,a=0,o=!1};return s(``),e.forEach((e,c)=>{for(let l of e.ops??[]){if(l.t===`page`){r.columns[0].length||r.columns[1].length?s(l.title):r.title=l.title||r.title,n.set(l.id,{page:t.length-1,column:i});continue}if(l.t===`col`){i===0?(i=1,a=0):o?o=!1:s(``),n.set(l.id,{page:t.length-1,column:i});continue}if(l.t===`mark`){n.set(l.id,n.get(l.ref)??{page:t.length-1,column:i});continue}if(l.t===`title`){r.columns[0].length||r.columns[1].length?s(l.text):r.title=l.text,n.set(l.id,{page:t.length-1,column:0,title:!0});continue}let e=Wo(l);a>0&&a+e>26&&(i===0?(i=1,a=0,o=!0):s(``)),r.columns[i].push({op:l,step:c}),n.set(l.id,{page:t.length-1,column:i}),a+=e}}),{pages:t,where:n}}function Ko(e,t){return e.map((e,n)=>{let r=new Map(e.ops.map(e=>[e.id,`${t}${e.id}`]));return{...e,id:`${t}${e.id??n}`,aside:!0,ops:e.ops.map(e=>({...e,id:r.get(e.id),...e.t===`mark`?{ref:r.get(e.ref)??e.ref}:{}})),...e.check?{check:{...e.check,id:`${t}${e.check.id}`}}:{}}})}function qo(e,t,n){return!n||e<n.index?1:e>n.index?0:t<n.op?1:t>n.op?0:n.progress}function Jo({text:e,reveal:t=1}){let n=(0,r.useMemo)(()=>Ro(e),[e]),a=(0,r.useMemo)(()=>Bo(n),[n]);return(t>=1?n:Vo(n,a*t)).map((e,t)=>{if(e.kind===`math`){let n=(0,i.jsx)(Eo,{tex:e.tex},t);return e.style===`mark`?(0,i.jsx)(`mark`,{children:n},t):e.style===`bold`?(0,i.jsx)(`strong`,{children:n},t):n}return e.kind===`bold`?(0,i.jsx)(`strong`,{children:e.text},t):e.kind===`mark`?(0,i.jsx)(`mark`,{children:e.text},t):(0,i.jsx)(`span`,{children:e.text},t)})}function Yo({markup:e,reveal:t,caption:n}){let a=(0,r.useRef)(null),o=(0,r.useMemo)(()=>No(e),[e]);return(0,r.useLayoutEffect)(()=>{let e=a.current?.querySelector(`svg`);if(!e)return;let n=[...e.querySelectorAll(`path,line,polyline,polygon,rect,circle,ellipse`)],r=[...e.querySelectorAll(`text`)],i=r.length?.8:1;n.forEach((e,r)=>{let a=0;try{a=e.getTotalLength?.()??0}catch{a=0}let o=r/Math.max(1,n.length)*i,s=(r+1)/Math.max(1,n.length)*i,c=Math.min(1,Math.max(0,(t-o)/Math.max(1e-4,s-o)));a>0&&(e.style.strokeDasharray=`${a}`,e.style.strokeDashoffset=`${a*(1-c)}`),e.style.fillOpacity=c>=1?``:String(c*.6),a||(e.style.opacity=String(c))});let o=r.length?Math.min(1,Math.max(0,(t-i)/(1-i))):1;r.forEach(e=>{e.style.opacity=String(t>=1?1:o)})},[t,o]),o?(0,i.jsxs)(`div`,{className:`aha-op-figure`,children:[(0,i.jsx)(`div`,{ref:a,dangerouslySetInnerHTML:{__html:o}}),n?(0,i.jsx)(`div`,{className:`aha-figCaption`,style:{opacity:t>=1?1:.4},children:n}):null]}):null}function Xo({op:e,reveal:t,theme:n}){let a=(0,r.useMemo)(()=>Po(e.html,n),[e.html,n]),o=(0,r.useRef)(null),[s,c]=(0,r.useState)(e.height);return(0,r.useLayoutEffect)(()=>{let t=o.current;if(!t||typeof ResizeObserver!=`function`)return;let n=()=>c(Math.round(Math.max(120,Math.min(e.height,e.height*t.clientWidth/560))));n();let r=new ResizeObserver(n);return r.observe(t),()=>r.disconnect()},[e.height,t>0]),t<=0?null:(0,i.jsxs)(`div`,{className:`aha-op-figure`,style:{opacity:Math.min(1,t*3)},children:[(0,i.jsx)(`iframe`,{ref:o,className:`aha-op-anim`,title:e.caption||`animation`,sandbox:`allow-scripts`,referrerPolicy:`no-referrer`,srcDoc:a,style:{height:s,colorScheme:n===`dark`?`dark`:`light`}}),e.caption?(0,i.jsx)(`div`,{className:`aha-figCaption`,children:e.caption}):null]})}function Zo({op:e,reveal:t,marks:n,aside:r,opRef:a,theme:o}){let s={"--reveal":`${Math.round(t*1e3)/10}%`},c=n.map(e=>(0,i.jsx)(`span`,{className:e.style===`circle`?`aha-markRing`:e.style===`box`?`aha-markBox`:`aha-markLine`,style:{opacity:e.reveal,clipPath:`inset(0 ${100-e.reveal*100}% 0 0)`}},e.id)),l;switch(e.t){case`h`:l=(0,i.jsx)(`div`,{className:`aha-op-h`,children:(0,i.jsx)(`span`,{children:(0,i.jsx)(Jo,{text:e.text,reveal:t})})});break;case`p`:l=(0,i.jsx)(`div`,{className:`aha-op-p`,children:(0,i.jsx)(Jo,{text:e.text,reveal:t})});break;case`math`:l=(0,i.jsx)(`div`,{className:`aha-op-math aha-reveal`,style:s,children:(0,i.jsx)(Eo,{tex:e.tex,display:!0})});break;case`list`:{let n=e.items.reduce((e,t)=>e+Bo(Ro(t)),0)*t;l=(0,i.jsx)(e.ordered?`ol`:`ul`,{className:`aha-op-list`,children:e.items.map((e,r)=>{let a=Bo(Ro(e)),o=t>=1?1:Math.max(0,Math.min(1,n/Math.max(1,a)));return n-=a,o>0?(0,i.jsx)(`li`,{children:(0,i.jsx)(Jo,{text:e,reveal:o})},r):null})});break}case`note`:l=(0,i.jsx)(`div`,{className:`aha-op-note`,"data-tone":e.tone,children:(0,i.jsx)(Jo,{text:e.text,reveal:t})});break;case`svg`:l=(0,i.jsx)(Yo,{markup:e.svg,reveal:t,caption:e.caption});break;case`chart`:l=(0,i.jsx)(Yo,{markup:k(e),reveal:t,caption:``});break;case`table`:{let n=t>=1?e.rows.length:Math.floor(e.rows.length*t);l=(0,i.jsxs)(`table`,{className:`aha-op-table`,children:[e.head.length?(0,i.jsx)(`thead`,{children:(0,i.jsx)(`tr`,{children:e.head.map((e,t)=>(0,i.jsx)(`th`,{children:(0,i.jsx)(Jo,{text:e})},t))})}):null,(0,i.jsx)(`tbody`,{children:e.rows.slice(0,n).map((e,t)=>(0,i.jsx)(`tr`,{children:e.map((e,t)=>(0,i.jsx)(`td`,{children:(0,i.jsx)(Jo,{text:e})},t))},t))})]});break}case`code`:{let n=e.code.split(`
259
259
  `);l=(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`pre`,{className:`aha-op-code`,children:(t>=1?n:n.slice(0,Math.ceil(n.length*t))).join(`
260
- `)}),e.caption?(0,i.jsx)(`div`,{className:`aha-figCaption`,children:e.caption}):null]});break}case`anim`:l=(0,i.jsx)(Ko,{op:e,reveal:t,theme:o});break;default:l=null}return(0,i.jsxs)(`div`,{ref:a,className:`aha-op`,"data-t":e.t,"data-aside":r?`true`:void 0,"data-op":e.id,children:[l,c]})}function Jo({target:e,active:t,stage:n}){let[a,o]=(0,r.useState)(null);return(0,r.useLayoutEffect)(()=>{let r=e?.current,i=n?.current;if(!t||!r||!i){o(e=>e===null?e:null);return}let a=r.getBoundingClientRect(),s=i.getBoundingClientRect(),c=r.querySelectorAll(`span,strong,mark,li,td,pre,.katex`),l=c[c.length-1]?.getBoundingClientRect(),u=l&&l.width?l.right:a.left+a.width*t.progress,d=l&&l.height?l.bottom-4:a.top+a.height/2,f={left:Math.round(u-s.left+i.scrollLeft),top:Math.round(d-s.top+i.scrollTop)};o(e=>e&&e.left===f.left&&e.top===f.top?e:f)}),a?(0,i.jsxs)(`svg`,{className:`aha-pencil`,style:a,viewBox:`0 0 24 24`,"aria-hidden":`true`,children:[(0,i.jsx)(`path`,{d:`M3 21l3.5-1 11-11-2.5-2.5-11 11L3 21z`,fill:`var(--pencil)`,stroke:`var(--ink)`,strokeWidth:`1.2`,strokeLinejoin:`round`}),(0,i.jsx)(`path`,{d:`M14.5 6.5l2.5 2.5 2-2a1.77 1.77 0 0 0-2.5-2.5l-2 2z`,fill:`var(--accent)`,stroke:`var(--ink)`,strokeWidth:`1.2`})]}):null}function Yo({steps:e,position:t,theme:n=`light`,buffering:a=!1,bufferingLabel:o=``}){let s=(0,r.useMemo)(()=>Vo(e),[e]),c=(0,r.useMemo)(()=>{let t=new Map;return e.forEach((e,n)=>e.ops.forEach((r,i)=>t.set(r.id,{stepIndex:n,opIndex:i,aside:e.aside===!0}))),t},[e]),l=t&&e[t.index]?.ops[t.op],u=l?s.where.get(l.id)?.page??0:t?Xo(s,e,t):0,[d,f]=(0,r.useState)(null);(0,r.useEffect)(()=>{f(null)},[u]);let p=Math.min(s.pages.length-1,d??u),m=s.pages[p],h=e=>{let n=c.get(e);return n?Uo(n.stepIndex,n.opIndex,t):0},g=new Map;e.forEach(e=>e.ops.forEach(e=>{if(e.t!==`mark`)return;let t=h(e.id);if(t<=0)return;let n=g.get(e.ref)??[];n.push({id:e.id,style:e.style,reveal:t}),g.set(e.ref,n)}));let _=e.flatMap(e=>e.ops).find(e=>e.t===`title`&&s.where.get(e.id)?.page===p),v=_?h(_.id):1,y=(0,r.useRef)(null),b=(0,r.useRef)(null),x=s.pages.map((e,t)=>t).filter(e=>e<=Math.max(u,d??0)||!t);return(0,i.jsxs)(`div`,{className:`aha-board`,"data-theme":n,children:[x.length>1?(0,i.jsx)(`div`,{className:`aha-pager`,children:x.map(e=>(0,i.jsx)(`button`,{type:`button`,"data-active":e===p,onClick:()=>f(e),children:e+1},e))}):null,(0,i.jsxs)(`div`,{className:`aha-boardScroll`,ref:y,children:[m?.title&&v>0?(0,i.jsx)(`h2`,{className:`aha-boardTitle`,children:(0,i.jsx)(`span`,{children:(0,i.jsx)(Wo,{text:m.title,reveal:v})})}):null,(0,i.jsx)(`div`,{className:`aha-cols`,children:m?.columns.map((e,t)=>(0,i.jsx)(`div`,{className:`aha-colBody`,children:e.map(({op:e})=>{let t=h(e.id);if(t<=0)return null;let r=l?.id===e.id&&t<1;return(0,i.jsx)(qo,{op:e,reveal:t,marks:g.get(e.id)??[],aside:c.get(e.id)?.aside,opRef:r?b:void 0,theme:n},e.id)})},t))}),(0,i.jsx)(Jo,{target:b,stage:y,active:l&&t&&t.progress<1&&[`p`,`h`,`list`,`note`,`math`,`title`].includes(l.t)?t:null})]}),a?(0,i.jsxs)(`div`,{className:`aha-buffering`,children:[(0,i.jsx)(`span`,{className:`aha-spinner`}),o]}):null]})}function Xo(e,t,n){let r=0;return t.forEach((t,i)=>t.ops.forEach((t,a)=>{Uo(i,a,n)>0&&(r=Math.max(r,e.where.get(t.id)?.page??0))})),r}function Zo(e){let t=new Uint8Array(e);globalThis.crypto.getRandomValues(t);let n=``;for(let e of t)n+=(e%36).toString(36);return n}function Qo(e){if(!/^[a-z]{2,6}$/u.test(e))throw TypeError(`invalid id prefix "${e}"`);return`${e}_${Date.now().toString(36)}${Zo(6)}`}Object.freeze({questions:6,options:5,units:12,lecturesPerUnit:8,lessonsPerLecture:8,lessons:120,objectives:5,concepts:6,projects:3,milestones:6,rubric:8,starterFiles:12,starterFileBytes:64*1024,practiceItems:12,options4:6,cards:60,sheetSections:24,sheetItems:16});function $o(e){let t=[];for(let n of e?.units??[])for(let e of n.lectures??[])for(let r of e.lessons??[])t.push({unit:n,lecture:e,lesson:r,index:t.length});return t}function es(e,t){return e?.lessons?.[t]?.status??`new`}function ts(e,t){let n=$o(e),r=n.filter(e=>es(t,e.lesson.id)===`done`),i=n.filter(e=>es(t,e.lesson.id)!==`done`).reduce((e,t)=>e+(t.lesson.estMinutes||15),0);return{total:n.length,done:r.length,percent:n.length?Math.round(r.length/n.length*100):0,minutesLeft:i}}function ns(e,t){let n=$o(e);return n.find(e=>es(t,e.lesson.id)===`learning`)??n.find(e=>es(t,e.lesson.id)===`new`)??null}Object.freeze({steps:48,opsPerStep:14,say:1200,opText:1600,listItems:12,tableRows:16,tableCols:8,svgBytes:48*1024,animBytes:64*1024,codeBytes:12*1024,chartPoints:400,chartSeries:6}),Object.freeze([`title`,`h`,`p`,`math`,`list`,`svg`,`chart`,`table`,`code`,`note`,`mark`,`anim`,`col`,`page`]),Object.freeze({heading:`h`,header:`h`,subtitle:`h`,text:`p`,paragraph:`p`,write:`p`,formula:`math`,equation:`math`,latex:`math`,bullets:`list`,bullet:`list`,diagram:`svg`,drawing:`svg`,figure:`svg`,graph:`chart`,plot:`chart`,callout:`note`,highlight:`mark`,underline:`mark`,animation:`anim`,interactive:`anim`,column:`col`,newcolumn:`col`,newpage:`page`,clear:`page`});let rs=/[぀-ヿ㐀-䶿一-鿿가-힯]/gu;function is(e,t=1){let n=String(e??``),r=(n.match(rs)??[]).length,i=n.replace(rs,` `).split(/\s+/u).filter(Boolean).length,a=r/4.4+i/2.6;return Math.round(a*1e3/Math.max(.5,Math.min(2,t||1)))}function as(e){switch(e.t){case`title`:case`h`:case`p`:case`note`:return e.text.length;case`math`:return Math.min(80,e.tex.length);case`list`:return e.items.join(` `).length;case`table`:return e.rows.flat().join(` `).length/2;case`code`:return Math.min(400,e.code.length/2);default:return 60}}function os(e){return e.t===`col`||e.t===`page`?0:e.t===`mark`?600:e.t===`svg`||e.t===`chart`||e.t===`anim`?2200:Math.min(7e3,Math.max(450,as(e)*55))}function ss(e,{rate:t=1,speechMs:n}={}){let r=n??is(e.say,t),i=e.ops.map(os),a=i.reduce((e,t)=>e+t,0),o=r>0?r*.85:a,s=a>0&&o>0?Math.min(1.6,Math.max(.35,o/a)):1,c=i.map(e=>Math.round(e*s));return{speechMs:r,writeMs:c,durationMs:Math.max(r,c.reduce((e,t)=>e+t,0))+350}}function cs(e){let t=[];e.title&&t.push(`# ${e.title}`,``);for(let n of e.steps){for(let e of n.ops)if(e.t===`title`)t.push(`## ${e.text}`,``);else if(e.t===`h`)t.push(`### ${e.text}`,``);else if(e.t===`p`)t.push(e.text,``);else if(e.t===`math`)t.push(`$$${e.tex}$$`,``);else if(e.t===`list`)t.push(...e.items.map((t,n)=>e.ordered?`${n+1}. ${t}`:`- ${t}`),``);else if(e.t===`note`)t.push(`> ${e.text}`,``);else if(e.t===`code`)t.push(`\`\`\`${e.lang}`,e.code,"```",``);else if(e.t===`table`){let n=e.head.length?e.head:e.rows[0].map(()=>` `);t.push(`| ${n.join(` | `)} |`,`| ${n.map(()=>`---`).join(` | `)} |`,...e.rows.map(e=>`| ${e.join(` | `)} |`),``)}else e.caption&&t.push(`*${e.caption}*`,``);n.say&&t.push(`<!-- ${n.say.replace(/--/gu,`—`)} -->`,``)}return t.join(`
260
+ `)}),e.caption?(0,i.jsx)(`div`,{className:`aha-figCaption`,children:e.caption}):null]});break}case`anim`:l=(0,i.jsx)(Xo,{op:e,reveal:t,theme:o});break;default:l=null}return(0,i.jsxs)(`div`,{ref:a,className:`aha-op`,"data-t":e.t,"data-aside":r?`true`:void 0,"data-op":e.id,children:[l,c]})}function Qo({target:e,active:t,stage:n}){let[a,o]=(0,r.useState)(null);return(0,r.useLayoutEffect)(()=>{let r=e?.current,i=n?.current;if(!t||!r||!i){o(e=>e===null?e:null);return}let a=r.getBoundingClientRect(),s=i.getBoundingClientRect(),c=r.querySelectorAll(`span,strong,mark,li,td,pre,.katex`),l=c[c.length-1]?.getBoundingClientRect(),u=l&&l.width?l.right:a.left+a.width*t.progress,d=l&&l.height?l.bottom-4:a.top+a.height/2,f={left:Math.round(u-s.left+i.scrollLeft),top:Math.round(d-s.top+i.scrollTop)};o(e=>e&&e.left===f.left&&e.top===f.top?e:f)}),a?(0,i.jsxs)(`svg`,{className:`aha-pencil`,style:a,viewBox:`0 0 24 24`,"aria-hidden":`true`,children:[(0,i.jsx)(`path`,{d:`M3 21l3.5-1 11-11-2.5-2.5-11 11L3 21z`,fill:`var(--pencil)`,stroke:`var(--ink)`,strokeWidth:`1.2`,strokeLinejoin:`round`}),(0,i.jsx)(`path`,{d:`M14.5 6.5l2.5 2.5 2-2a1.77 1.77 0 0 0-2.5-2.5l-2 2z`,fill:`var(--accent)`,stroke:`var(--ink)`,strokeWidth:`1.2`})]}):null}function $o({steps:e,position:t,theme:n=`light`,buffering:a=!1,bufferingLabel:o=``}){let s=(0,r.useMemo)(()=>Go(e),[e]),c=(0,r.useMemo)(()=>{let t=new Map;return e.forEach((e,n)=>e.ops.forEach((r,i)=>t.set(r.id,{stepIndex:n,opIndex:i,aside:e.aside===!0}))),t},[e]),l=t&&e[t.index]?.ops[t.op],u=l?s.where.get(l.id)?.page??0:t?es(s,e,t):0,[d,f]=(0,r.useState)(null);(0,r.useEffect)(()=>{f(null)},[u]);let p=Math.min(s.pages.length-1,d??u),m=s.pages[p],h=e=>{let n=c.get(e);return n?qo(n.stepIndex,n.opIndex,t):0},g=new Map;e.forEach(e=>e.ops.forEach(e=>{if(e.t!==`mark`)return;let t=h(e.id);if(t<=0)return;let n=g.get(e.ref)??[];n.push({id:e.id,style:e.style,reveal:t}),g.set(e.ref,n)}));let _=e.flatMap(e=>e.ops).find(e=>e.t===`title`&&s.where.get(e.id)?.page===p),v=_?h(_.id):1,y=(0,r.useRef)(null),b=(0,r.useRef)(null),x=s.pages.map((e,t)=>t).filter(e=>e<=Math.max(u,d??0)||!t);return(0,i.jsxs)(`div`,{className:`aha-board`,"data-theme":n,children:[x.length>1?(0,i.jsx)(`div`,{className:`aha-pager`,children:x.map(e=>(0,i.jsx)(`button`,{type:`button`,"data-active":e===p,onClick:()=>f(e),children:e+1},e))}):null,(0,i.jsxs)(`div`,{className:`aha-boardScroll`,ref:y,children:[m?.title&&v>0?(0,i.jsx)(`h2`,{className:`aha-boardTitle`,children:(0,i.jsx)(`span`,{children:(0,i.jsx)(Jo,{text:m.title,reveal:v})})}):null,(0,i.jsx)(`div`,{className:`aha-cols`,children:m?.columns.map((e,t)=>(0,i.jsx)(`div`,{className:`aha-colBody`,children:e.map(({op:e})=>{let t=h(e.id);if(t<=0)return null;let r=l?.id===e.id&&t<1;return(0,i.jsx)(Zo,{op:e,reveal:t,marks:g.get(e.id)??[],aside:c.get(e.id)?.aside,opRef:r?b:void 0,theme:n},e.id)})},t))}),(0,i.jsx)(Qo,{target:b,stage:y,active:l&&t&&t.progress<1&&[`p`,`h`,`list`,`note`,`math`,`title`].includes(l.t)?t:null})]}),a?(0,i.jsxs)(`div`,{className:`aha-buffering`,children:[(0,i.jsx)(`span`,{className:`aha-spinner`}),o]}):null]})}function es(e,t,n){let r=0;return t.forEach((t,i)=>t.ops.forEach((t,a)=>{qo(i,a,n)>0&&(r=Math.max(r,e.where.get(t.id)?.page??0))})),r}function ts(e){let t=new Uint8Array(e);globalThis.crypto.getRandomValues(t);let n=``;for(let e of t)n+=(e%36).toString(36);return n}function ns(e){if(!/^[a-z]{2,6}$/u.test(e))throw TypeError(`invalid id prefix "${e}"`);return`${e}_${Date.now().toString(36)}${ts(6)}`}Object.freeze({questions:6,options:5,units:12,lecturesPerUnit:8,lessonsPerLecture:8,lessons:120,objectives:5,concepts:6,projects:3,milestones:6,rubric:8,starterFiles:12,starterFileBytes:64*1024,practiceItems:12,options4:6,cards:60,sheetSections:24,sheetItems:16});function rs(e){let t=[];for(let n of e?.units??[])for(let e of n.lectures??[])for(let r of e.lessons??[])t.push({unit:n,lecture:e,lesson:r,index:t.length});return t}function is(e,t){return e?.lessons?.[t]?.status??`new`}function as(e,t){let n=rs(e),r=n.filter(e=>is(t,e.lesson.id)===`done`),i=n.filter(e=>is(t,e.lesson.id)!==`done`).reduce((e,t)=>e+(t.lesson.estMinutes||15),0);return{total:n.length,done:r.length,percent:n.length?Math.round(r.length/n.length*100):0,minutesLeft:i}}function os(e,t){let n=rs(e);return n.find(e=>is(t,e.lesson.id)===`learning`)??n.find(e=>is(t,e.lesson.id)===`new`)??null}Object.freeze({steps:48,opsPerStep:14,say:1200,opText:1600,listItems:12,tableRows:16,tableCols:8,svgBytes:48*1024,animBytes:64*1024,codeBytes:12*1024,chartPoints:400,chartSeries:6}),Object.freeze([`title`,`h`,`p`,`math`,`list`,`svg`,`chart`,`table`,`code`,`note`,`mark`,`anim`,`col`,`page`]),Object.freeze({heading:`h`,header:`h`,subtitle:`h`,text:`p`,paragraph:`p`,write:`p`,formula:`math`,equation:`math`,latex:`math`,bullets:`list`,bullet:`list`,diagram:`svg`,drawing:`svg`,figure:`svg`,graph:`chart`,plot:`chart`,callout:`note`,highlight:`mark`,underline:`mark`,animation:`anim`,interactive:`anim`,column:`col`,newcolumn:`col`,newpage:`page`,clear:`page`});let ss=/[぀-ヿ㐀-䶿一-鿿가-힯]/gu;function cs(e,t=1){let n=String(e??``),r=(n.match(ss)??[]).length,i=n.replace(ss,` `).split(/\s+/u).filter(Boolean).length,a=r/4.4+i/2.6;return Math.round(a*1e3/Math.max(.5,Math.min(2,t||1)))}function ls(e){switch(e.t){case`title`:case`h`:case`p`:case`note`:return e.text.length;case`math`:return Math.min(80,e.tex.length);case`list`:return e.items.join(` `).length;case`table`:return e.rows.flat().join(` `).length/2;case`code`:return Math.min(400,e.code.length/2);default:return 60}}function us(e){return e.t===`col`||e.t===`page`?0:e.t===`mark`?600:e.t===`svg`||e.t===`chart`||e.t===`anim`?2200:Math.min(7e3,Math.max(450,ls(e)*55))}function ds(e,{rate:t=1,speechMs:n}={}){let r=n??cs(e.say,t),i=e.ops.map(us),a=i.reduce((e,t)=>e+t,0),o=r>0?r*.85:a,s=a>0&&o>0?Math.min(1.6,Math.max(.35,o/a)):1,c=i.map(e=>Math.round(e*s));return{speechMs:r,writeMs:c,durationMs:Math.max(r,c.reduce((e,t)=>e+t,0))+350}}function fs(e){let t=[];e.title&&t.push(`# ${e.title}`,``);for(let n of e.steps){for(let e of n.ops)if(e.t===`title`)t.push(`## ${e.text}`,``);else if(e.t===`h`)t.push(`### ${e.text}`,``);else if(e.t===`p`)t.push(e.text,``);else if(e.t===`math`)t.push(`$$${e.tex}$$`,``);else if(e.t===`list`)t.push(...e.items.map((t,n)=>e.ordered?`${n+1}. ${t}`:`- ${t}`),``);else if(e.t===`note`)t.push(`> ${e.text}`,``);else if(e.t===`code`)t.push(`\`\`\`${e.lang}`,e.code,"```",``);else if(e.t===`table`){let n=e.head.length?e.head:e.rows[0].map(()=>` `);t.push(`| ${n.join(` | `)} |`,`| ${n.map(()=>`---`).join(` | `)} |`,...e.rows.map(e=>`| ${e.join(` | `)} |`),``)}else e.caption&&t.push(`*${e.caption}*`,``);n.say&&t.push(`<!-- ${n.say.replace(/--/gu,`—`)} -->`,``)}return t.join(`
261
261
  `).replace(/\n{3,}/gu,`
262
262
 
263
263
  `).trim()+`
264
- `}function ls({speech:e,onChange:t,now:n=()=>performance.now(),frame:r,cancelFrame:i,startIndex:a=0}){let o=r??(e=>requestAnimationFrame(e)),s=i??(e=>cancelAnimationFrame(e)),c=[],l=!1,u=1,d=null,f=null,p=new Set,m={index:Math.max(0,a),op:0,progress:0,status:`idle`},h=()=>({...m,total:c.length,complete:l,rate:u,step:c[m.index]??null}),g=()=>t?.(h());function _(){d!==null&&s(d),d=null}function v(){_(),e?.cancel?.();let t=c[m.index];if(!t){m.status=l?`ended`:`buffering`,g();return}m.op=0,m.progress=0,m.status=`playing`,f={step:t,timing:ss(t,{rate:u}),startedAt:n(),elapsedBefore:0,speechDone:!t.say,silentUntil:null,token:{}};let r=f.token;t.say&&((e?.speak(t.say,{rate:u})??{done:Promise.resolve({silent:!0})}).done.then(e=>{!f||f.token!==r||(e?.silent||e?.error?f.silentUntil=is(t.say,u)*.8:f.speechDone=!0)}),e?.prefetch?.(c[m.index+1]?.say)),g(),b()}function y(){return f?f.elapsedBefore+(m.status===`playing`?n()-f.startedAt:0):0}function b(){d=o(x)}function x(){if(d=null,m.status!==`playing`||!f)return;let e=y(),t=f.timing.writeMs,n=0,r=t.length,i=1;for(let a=0;a<t.length;a+=1){if(e<n+t[a]){r=a,i=t[a]?(e-n)/t[a]:1;break}n+=t[a]}let a=r!==m.op||Math.abs(i-m.progress)>.002;if(m.op=r,m.progress=Math.min(1,Math.max(0,i)),f.silentUntil!==null&&e>=f.silentUntil&&(f.speechDone=!0),r>=t.length&&f.speechDone&&e>=n+450){S();return}a&&g(),b()}function S(){let e=c[m.index];if(m.op=e?.ops.length??0,m.progress=1,e?.check&&!p.has(e.check.id)){m.status=`check`,g();return}C()}function C(){m.index+=1,v()}return{get state(){return h()},setSteps(e,{done:t=!1}={}){c=e,l=t,m.status===`buffering`&&c[m.index]?v():(m.status===`buffering`&&l&&(m.status=`ended`),g())},play(){if(m.status!==`playing`){if(m.status===`paused`&&f){m.status=`playing`,f.startedAt=n(),e?.resume?.(),g(),b();return}m.status===`ended`&&(m.index=0),m.status!==`check`&&v()}},pause(){m.status!==`playing`||!f||(f.elapsedBefore=y(),m.status=`paused`,_(),e?.pause?.(),g())},toggle(){m.status===`playing`?this.pause():this.play()},next(){let t=c[m.index];m.status===`check`&&t?.check&&p.add(t.check.id),t&&(_(),e?.cancel?.(),C())},prev(){_(),e?.cancel?.();let t=m.op===0&&m.progress<.05;m.index=Math.max(0,Math.min(c.length-1,t?m.index-1:m.index)),v()},seek(t){_(),e?.cancel?.(),m.index=Math.min(Math.max(0,t),Math.max(0,c.length)),v()},answer(e){p.add(e),m.status===`check`&&C()},setRate(t){let r=Math.min(2,Math.max(.5,Number(t)||1));if(f&&m.status===`playing`){let e=y(),t=u/r;f.elapsedBefore=e*t,f.startedAt=n(),f.timing=ss(f.step,{rate:r})}u=r,e?.setRate?.(r),g()},insertAfterCurrent(e){if(!e?.length)return c;let t=Math.min(c.length,m.index+1);return c=[...c.slice(0,t),...e,...c.slice(t)],g(),c},dispose(){_(),e?.cancel?.(),f=null}}}let us=Object.freeze([`choice`,`multi`,`blank`,`number`,`order`]),ds=/[!-~]/gu;function fs(e){return String(e??``).normalize(`NFKC`).replace(ds,e=>String.fromCharCode(e.charCodeAt(0)-65248)).toLowerCase().replace(/[\s ]+/gu,` `).replace(/^[\s.,;:!?'"`,。;:!?、“”‘’]+|[\s.,;:!?'"`,。;:!?、“”‘’]+$/gu,``).trim()}function ps(e){if(typeof e==`number`)return e;let t=fs(e).replace(/,/gu,``).replace(/\s/gu,``),n=/^(-?\d+(?:\.\d+)?)\/(\d+(?:\.\d+)?)$/u.exec(t);if(n)return Number(n[1])/Number(n[2]);let r=/^(-?\d+(?:\.\d+)?)%$/u.exec(t);if(r)return Number(r[1])/100;let i=Number(t);return Number.isFinite(i)?i:NaN}function ms(e,t){if(!e||!us.includes(e.kind))return{score:0,correct:!1,gradable:!1};if(e.kind===`choice`){let n=String(t??``)===String(e.answer??``);return{score:+!!n,correct:n,gradable:!0}}if(e.kind===`multi`){let n=new Set((Array.isArray(e.answer)?e.answer:[e.answer]).map(String)),r=new Set((Array.isArray(t)?t:[]).map(String));if(!n.size)return{score:0,correct:!1,gradable:!1};let i=0,a=0;for(let e of r)n.has(e)?i+=1:a+=1;let o=Math.max(0,(i-a)/n.size),s=i===n.size&&a===0;return{score:hs(o),correct:s,gradable:!0}}if(e.kind===`order`){let n=(Array.isArray(e.answer)?e.answer:[]).map(String),r=(Array.isArray(t)?t:[]).map(String);if(!n.length)return{score:0,correct:!1,gradable:!1};let i=0;return n.forEach((e,t)=>{r[t]===e&&(i+=1)}),{score:hs(i/n.length),correct:i===n.length,gradable:!0}}if(e.kind===`number`){let n=ps(e.answer),r=ps(t);if(!Number.isFinite(n))return{score:0,correct:!1,gradable:!1};if(!Number.isFinite(r))return{score:0,correct:!1,gradable:!0};let i=Number.isFinite(Number(e.tolerance))&&Number(e.tolerance)>=0?Number(e.tolerance):Math.max(1e-9,Math.abs(n)*.01),a=Math.abs(r-n)<=i;return{score:+!!a,correct:a,gradable:!0}}let n=(Array.isArray(e.answer)?e.answer:[e.answer]).map(fs).filter(Boolean);if(!n.length)return{score:0,correct:!1,gradable:!1};let r=fs(t),i=n.includes(r);if(i)return{score:1,correct:i,gradable:!0};let a=ps(t),o=n.map(ps).filter(Number.isFinite);return Number.isFinite(a)&&o.some(e=>Math.abs(e-a)<=Math.max(1e-9,Math.abs(e)*.001))?{score:1,correct:!0,gradable:!0}:{score:0,correct:!1,gradable:!0}}function hs(e){return Math.round(e*100)/100}function gs({text:e,compact:t=!1,streaming:n=!1}){let{t:o}=f(),s=(0,r.useMemo)(()=>({code:{copyLabel:o(`copyCode`),copiedLabel:o(`copied`)},footnotes:o(`footnotes`)}),[o]);return(0,i.jsx)(`div`,{className:`aha-markdown`,children:(0,i.jsx)(a.MarkdownText,{text:String(e??``),labels:s,streaming:n,variant:t?`compact`:`body`})})}let _s=[[`sure`,`confSure`],[`unsure`,`confUnsure`],[`guess`,`confGuess`]];function vs({item:e,language:t,onResult:n,onContinue:a,continueLabel:o,askConfidence:s=!0,compact:c=!1}){let{api:l,t:u}=f(),[d,p]=(0,r.useState)(e.kind===`multi`||e.kind===`order`?[]:``),[m,h]=(0,r.useState)(null),[g,_]=(0,r.useState)(0),[v,y]=(0,r.useState)(null),[b,x]=(0,r.useState)(!1),[S,C]=(0,r.useState)(null),w=(0,r.useRef)(Date.now());(0,r.useEffect)(()=>{p(e.kind===`multi`||e.kind===`order`?e.kind===`order`?e.options.map(e=>e.id):[]:``),h(null),_(0),y(null),C(null),w.current=Date.now()},[e]);let T=(e.kind===`multi`?d.length>0:e.kind===`order`||String(d).trim()!==``)&&(!s||m);async function E(){if(!T||v||b)return;let r=Date.now()-w.current,i;if(e.kind===`short`){x(!0),C(null);try{let n=await l.call(`lesson/grade`,{item:{prompt:e.prompt,answer:e.answer,rubric:e.rubric},response:d,language:t});i={score:n.score,correct:n.verdict===`correct`,partial:n.verdict===`partial`,feedback:n.feedback,errorTag:n.errorTag,misconception:n.misconception}}catch(e){C(e.message),x(!1);return}x(!1)}else{let t=ms(e,d);i={score:t.score,correct:t.correct,partial:!t.correct&&t.score>0,errorTag:t.correct?``:bs(e,d)}}let a={...i,confidence:m??void 0,timeMs:r,hintsUsed:g};y(a),n?.(a)}let ee=e=>p(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e]),te=(e,t)=>p(n=>{let r=[...n],i=e+t;return i<0||i>=r.length?n:([r[e],r[i]]=[r[i],r[e]],r)}),ne=t=>{if(v)return(Array.isArray(e.answer)?e.answer:[e.answer]).includes(t.id)?`right`:(Array.isArray(d)?d.includes(t.id):d===t.id)?`wrong`:void 0};return(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:c?8:12},children:[(0,i.jsx)(gs,{text:e.prompt,compact:!0}),e.kind===`choice`||e.kind===`multi`?(0,i.jsx)(`div`,{className:`aha-col aha-options`,style:{gap:6},"data-grid":e.options.every(e=>e.text.length<=22),children:e.options.map(t=>{let n=e.kind===`multi`?d.includes(t.id):d===t.id,r=ne(t);return(0,i.jsx)(`button`,{type:`button`,className:`aha-option`,"data-active":n,disabled:!!v,style:r===`right`?{borderColor:`var(--aha-ok)`}:r===`wrong`?{borderColor:`var(--aha-bad)`}:void 0,onClick:()=>e.kind===`multi`?ee(t.id):p(t.id),children:(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:8,flexWrap:`nowrap`},children:[(0,i.jsxs)(`b`,{children:[t.id.toUpperCase(),`.`]}),(0,i.jsx)(gs,{text:t.text,compact:!0})]})},t.id)})}):null,e.kind===`order`?(0,i.jsx)(`div`,{className:`aha-col`,style:{gap:6},children:d.map((t,n)=>(0,i.jsxs)(`div`,{className:`aha-option`,style:{flexDirection:`row`,alignItems:`center`,gap:8},children:[(0,i.jsx)(`span`,{style:{flex:1},children:(0,i.jsx)(gs,{text:e.options.find(e=>e.id===t)?.text??t,compact:!0})}),v?null:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>te(n,-1),"aria-label":u(`moveUp`),children:`↑`}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>te(n,1),"aria-label":u(`moveDown`),children:`↓`})]})]},t))}):null,e.kind===`blank`||e.kind===`number`?(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`input`,{className:`aha-input`,style:{maxWidth:360},value:d,disabled:!!v,placeholder:u(`yourAnswer`),inputMode:e.kind===`number`?`decimal`:void 0,onChange:e=>p(e.currentTarget.value),onKeyDown:e=>{e.key===`Enter`&&E()}}),e.unit?(0,i.jsx)(`span`,{className:`aha-hint`,children:e.unit}):null]}):null,e.kind===`short`?(0,i.jsx)(`textarea`,{className:`aha-textarea`,value:d,disabled:!!v,placeholder:u(`yourAnswer`),onChange:e=>p(e.currentTarget.value)}):null,e.hints?.length&&!v?(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[e.hints.slice(0,g).map((e,t)=>(0,i.jsxs)(`div`,{className:`aha-hint`,children:[`💡 `,e]},t)),g<e.hints.length?(0,i.jsx)(`div`,{children:(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>_(e=>e+1),children:[u(`hint`),` (`,g+1,`/`,e.hints.length,`)`]})}):null]}):null,s&&!v?(0,i.jsxs)(`div`,{className:`aha-row`,style:{gap:6},children:[(0,i.jsx)(`span`,{className:`aha-hint`,children:u(`confidence`)}),_s.map(([e,t])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,"data-active":m===e,onClick:()=>h(e),children:u(t)},e))]}):null,S?(0,i.jsx)(`div`,{className:`aha-error`,children:u(`errorGeneric`,{message:S})}):null,v?(0,i.jsxs)(`div`,{className:`aha-feedback`,"data-ok":v.correct?`true`:v.partial?void 0:`false`,children:[(0,i.jsx)(`b`,{children:v.correct?u(`correct`):v.partial?u(`partial`):u(`incorrect`)}),v.feedback?(0,i.jsx)(gs,{text:v.feedback,compact:!0}):null,e.explanation?(0,i.jsx)(gs,{text:e.explanation,compact:!0}):null,e.kind!==`short`&&!v.correct?(0,i.jsx)(`div`,{className:`aha-hint`,children:ys(e)}):null]}):null,(0,i.jsxs)(`div`,{className:`aha-row aha-itemActions`,children:[v?null:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:!T||b,onClick:E,children:b?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`span`,{className:`aha-spinner`}),u(`grading`)]}):u(`submit`)}),v&&a?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:a,children:o??u(`continue`)}):null,!v&&a?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:a,children:u(`skip`)}):null]})]})}function ys(e){return e.kind===`choice`?`✔ ${e.answer.toUpperCase()}. ${e.options.find(t=>t.id===e.answer)?.text??``}`:e.kind===`multi`?`✔ ${e.answer.map(e=>e.toUpperCase()).join(`, `)}`:e.kind===`order`?`✔ ${e.answer.map(t=>e.options.find(e=>e.id===t)?.text??t).join(` → `)}`:e.kind===`number`?`✔ ${e.answer}${e.unit?` ${e.unit}`:``}`:e.kind===`blank`?`✔ ${e.answer.join(` / `)}`:``}function bs(e,t){return e.kind===`choice`?`chose ${String(t).toUpperCase()}: ${(e.options.find(e=>e.id===t)?.text??``).slice(0,50)}`:e.kind===`number`||e.kind===`blank`?`answered ${String(t).slice(0,40)}`:`wrong`}let xs=[.75,1,1.25,1.5,2],Ss=[[`analogy`,`styleAnalogy`],[`visual`,`styleVisual`],[`example`,`styleExample`],[`simpler`,`styleSimpler`],[`deeper`,`styleDeeper`]];function Cs({scope:e,title:t,crumb:n,steps:a=[],stream:o=null,language:s,startIndex:c=0,autoplay:l=!0,onPosition:u,onEnded:d,onStreamDone:p,header:m,stageClass:h,recordChecks:g=!0}){let{api:v,t:y,speech:b,settings:x}=f(),S=_(),C=x.boardTheme===`dark`||x.boardTheme!==`light`&&S?`dark`:`light`,[w,T]=(0,r.useState)(a),[E,ee]=(0,r.useState)([]),[te,ne]=(0,r.useState)(!o),[D,re]=(0,r.useState)(null),[ie,ae]=(0,r.useState)(!0),[oe,se]=(0,r.useState)(!1),[ce,le]=(0,r.useState)(!1),[ue,de]=(0,r.useState)(``),[fe,pe]=(0,r.useState)(null),[me,he]=(0,r.useState)(!1),[ge,O]=(0,r.useState)(null),_e=(0,r.useRef)(0),k=(0,r.useMemo)(()=>{let e=[];for(let t of w){e.push(t);for(let n of E)n.anchorId===t.id&&e.push(...n.steps)}return e},[w,E]),A=(0,r.useMemo)(()=>ls({speech:b,onChange:re,startIndex:c}),[b]);(0,r.useEffect)(()=>()=>A.dispose(),[A]),(0,r.useEffect)(()=>{A.setSteps(k,{done:te})},[A,k,te]),(0,r.useEffect)(()=>{b.configure({engine:oe?`off`:x.voiceEngine??`browser`,voiceId:x.voiceId||void 0,language:s})},[b,oe,x.voiceEngine,x.voiceId,s]),(0,r.useEffect)(()=>{A.setRate(x.voiceRate??1)},[A,x.voiceRate]),(0,r.useEffect)(()=>{if(!o)return;let e=new AbortController;return ne(!1),v.follow({job:o},{signal:e.signal,onPartial:e=>T(t=>{let n=new Set(t.map(e=>e.id)),r=e.filter(e=>!n.has(e.id));return r.length?[...t,...r]:t})}).then(e=>{let t=e?.board??e?.item?.board??e;t?.steps?.length&&T(t.steps),ne(!0),p?.(e)}).catch(t=>{e.signal.aborted||(O(t.message),ne(!0))}),()=>e.abort()},[o]);let ve=(0,r.useRef)(!1);(0,r.useEffect)(()=>{!l||ve.current||!k.length||(ve.current=!0,A.play())},[k.length,l,A]);let j=D?.index??c;(0,r.useEffect)(()=>{D&&u?.(Math.min(j,w.length))},[j]);let ye=D?.status===`ended`&&te,be=(0,r.useRef)(!1);(0,r.useEffect)(()=>{ye&&!be.current&&(be.current=!0,d?.()),ye||(be.current=!1)},[ye]),(0,r.useEffect)(()=>{let e=e=>{e.target instanceof HTMLElement&&/input|textarea|select/iu.test(e.target.tagName)||(e.key===` `?(e.preventDefault(),A.toggle()):e.key===`ArrowRight`?A.next():e.key===`ArrowLeft`&&A.prev())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[A]);let xe=(0,r.useCallback)(e=>{for(let t=Math.min(e,k.length-1);t>=0;--t)if(!k[t]?.aside)return k[t]?.id;return w[0]?.id},[k,w]),Se=(0,r.useCallback)(e=>{let t=Math.max(0,Math.min(e,k.length-1)),n=k[t]?.aside?xe(t):k[t]?.id;return Math.max(0,w.findIndex(e=>e.id===n))},[k,w,xe]),Ce=(0,r.useCallback)((e,t)=>{if(!e?.length)return;_e.current+=1;let n=`a${_e.current}_`,r=xe(t),i=Ho(e,n).map(e=>({...e,anchorId:r}));ee(e=>[...e,{anchorId:r,steps:i}]),pe(i[0].id)},[xe]);(0,r.useEffect)(()=>{if(!fe)return;let e=k.findIndex(e=>e.id===fe);e>=0&&(pe(null),A.seek(e))},[k,fe,A]);async function we(t){t?.preventDefault();let n=ue.trim();if(n){A.pause(),le(`answering`),O(null);try{let t=await v.run(`lesson/ask`,{scope:e,stepIndex:Se(j),question:n});de(``),le(!1),Ce(t.steps,j)}catch(e){le(!0),O(e.message)}}}async function Te(t){he(!1),A.pause(),le(`reexplaining`),O(null);let n=Math.max(0,Math.min(j,k.length-1));try{let r=await v.run(`lesson/reexplain`,{scope:e,stepIndex:Se(n),style:t});le(!1),Ce(r.steps,n)}catch(e){le(!1),O(e.message)}}let Ee=D?.step,De=D?.status===`check`?Ee?.check:null;function Oe(t){!g||e.kind!==`lesson`||v.call(`lesson/record`,{courseId:e.courseId,lessonId:e.lessonId,conceptIds:De?.conceptIds??[],evidence:{kind:`check`,score:t.score,confidence:t.confidence,hintsUsed:t.hintsUsed,timeMs:t.timeMs,expectedMs:4e4,errorTag:t.errorTag}}).catch(()=>void 0)}let ke=D?.status??`idle`,Ae=(ke===`buffering`||!k.length&&!te)&&!ge,je=k.length+ +!te;return(0,i.jsxs)(`div`,{className:`aha-class`,children:[(0,i.jsxs)(`div`,{className:`aha-classBar`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:0},children:[n?(0,i.jsx)(`span`,{className:`aha-crumb`,children:n}):null,(0,i.jsx)(`span`,{className:`aha-cardTitle`,children:t})]}),(0,i.jsx)(`div`,{className:`aha-row`,children:m})]}),(0,i.jsxs)(`div`,{className:`aha-stage ${h??``}`,children:[(0,i.jsx)(Yo,{steps:k,position:D?{index:D.index,op:D.op,progress:D.progress}:{index:0,op:0,progress:0},theme:C,buffering:Ae||!!(ce&&ce!==!0),bufferingLabel:ce===`answering`?y(`answering`):ce===`reexplaining`?y(`generating`):k.length?y(`bufferingLesson`):y(`preparingLesson`)}),De?(0,i.jsxs)(`div`,{className:`aha-checkCard`,children:[(0,i.jsx)(`div`,{className:`aha-spread`,children:(0,i.jsx)(`b`,{children:y(`checkTitle`)})}),(0,i.jsx)(vs,{item:De,language:s,onResult:Oe,onContinue:()=>A.answer(De.id)})]}):null]}),ie&&Ee?.say?(0,i.jsx)(`div`,{className:`aha-caption`,children:Ro(Ee.say)}):(0,i.jsx)(`div`,{className:`aha-caption`}),ge?(0,i.jsx)(`div`,{className:`aha-error`,style:{textAlign:`center`},children:y(`errorGeneric`,{message:ge})}):null,ce===!0?(0,i.jsxs)(`form`,{className:`aha-askBox`,onSubmit:we,children:[(0,i.jsx)(`textarea`,{className:`aha-textarea`,style:{minHeight:44},autoFocus:!0,value:ue,placeholder:y(`askPlaceholder`),onChange:e=>de(e.currentTarget.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&we(e)}}),(0,i.jsx)(`button`,{type:`submit`,className:`aha-btn`,"data-kind":`primary`,disabled:!ue.trim(),children:y(`ask`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>{le(!1),A.play()},children:y(`cancel`)})]}):null,(0,i.jsxs)(`div`,{className:`aha-controls`,children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>A.prev(),title:y(`prevStep`),"aria-label":y(`prevStep`),children:`⏮`}),(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>A.toggle(),disabled:!k.length,"aria-label":y(ke===`playing`?`pause`:`play`),children:[ke===`playing`?`⏸`:`▶`,` `,y(ke===`playing`?`pause`:`play`)]}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>A.next(),title:y(`nextStep`),"aria-label":y(`nextStep`),children:`⏭`}),(0,i.jsx)(`span`,{className:`aha-tag`,children:y(`stepOf`,{current:Math.min(j+1,Math.max(1,k.length)),total:Math.max(je,1)})}),(0,i.jsx)(`select`,{className:`aha-select`,style:{width:`auto`},value:D?.rate??1,onChange:e=>A.setRate(Number(e.currentTarget.value)),"aria-label":y(`speed`),children:xs.map(e=>(0,i.jsxs)(`option`,{value:e,children:[e,`×`]},e))}),(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,"data-active":!oe,onClick:()=>se(e=>!e),children:oe?`🔇 ${y(`voiceOff`)}`:`🔊 ${y(`voiceOn`)}`}),(0,i.jsxs)(`button`,{type:`button`,className:`aha-chip`,"data-active":ie,onClick:()=>ae(e=>!e),children:[`CC `,y(`captions`)]}),(0,i.jsxs)(`button`,{type:`button`,className:`aha-chip`,onClick:()=>{A.pause(),le(!0)},disabled:!k.length,children:[`✋ `,y(`raiseHand`)]}),(0,i.jsxs)(`span`,{style:{position:`relative`},children:[(0,i.jsxs)(`button`,{type:`button`,className:`aha-chip`,onClick:()=>he(e=>!e),disabled:!k.length,children:[`🔄 `,y(`reexplain`)]}),me?(0,i.jsx)(`div`,{className:`aha-card`,style:{position:`absolute`,bottom:`110%`,left:0,zIndex:10,padding:6,gap:2,minWidth:140},children:Ss.map(([e,t])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,style:{justifyContent:`flex-start`},onClick:()=>Te(e),children:y(t)},e))}):null]})]})]})}function Q({label:e}){return(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:8},children:[(0,i.jsx)(`span`,{className:`aha-spinner`}),e?(0,i.jsx)(`span`,{className:`aha-hint`,children:e}):null]})}function ws({value:e}){return(0,i.jsx)(`div`,{className:`aha-progress`,children:(0,i.jsx)(`div`,{style:{width:`${Math.max(0,Math.min(100,e))}%`}})})}function Ts({progress:e,label:t}){if(!e)return(0,i.jsx)(Q,{label:t});let n=e.total?Math.round(e.done/e.total*100):0;return(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:6},children:[(0,i.jsx)(Q,{label:t}),e.total?(0,i.jsx)(ws,{value:n}):null]})}function Es({title:e,onClose:t,children:n,footer:r,width:a}){return(0,i.jsx)(`div`,{className:`aha-modalBack`,onMouseDown:e=>{e.target===e.currentTarget&&t?.()},children:(0,i.jsxs)(`div`,{className:`aha-modal`,role:`dialog`,"aria-label":e,style:a?{width:`min(${a}px,100%)`}:void 0,children:[e?(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:e}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:t,"aria-label":`close`,children:`✕`})]}):null,n,r?(0,i.jsx)(`div`,{className:`aha-row`,style:{justifyContent:`flex-end`},children:r}):null]})})}function Ds({text:e,onConfirm:t,onCancel:n,danger:r=!1}){let{t:a}=f();return(0,i.jsx)(Es,{title:a(`confirm`),onClose:n,footer:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:n,children:a(`cancel`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":r?`danger`:`primary`,onClick:t,children:a(`confirm`)})]}),children:(0,i.jsx)(`p`,{children:e})})}function $({error:e}){let{t}=f();if(!e)return null;let n=String(e.code??``).replace(/^aha-tutor\//u,``),r=`err_${n}`;return(0,i.jsx)(`div`,{className:`aha-error`,role:`alert`,children:(n&&t(r)!==r?t(r):null)??t(`errorGeneric`,{message:e.message??String(e)})})}function Os({children:e}){return(0,i.jsx)(`div`,{className:`aha-empty`,children:e})}function ks(){let{api:e}=f(),[t,n]=(0,r.useState)(null),[i,a]=(0,r.useState)(null);async function o(t){try{let n=await fetch(new URL(`api/aha-tutor/upload?name=${encodeURIComponent(t.name)}`,document.baseURI),{method:`POST`,credentials:`same-origin`,headers:{"content-type":t.type||`application/octet-stream`},body:t});if(n.status!==404){let t=await n.json();if(!t?.ok)throw Error(t?.error?.message??`Upload failed`);return(await e.follow(t.value)).material}}catch(e){if(e?.message!==`Failed to fetch`)throw e}let n=await c(t);return(await e.run(`material/upload`,{name:t.name,base64:n})).material}async function s(e){let t=[];a(null);for(let r of e){n(r.name);try{t.push(await o(r))}catch(e){a(e)}}return n(null),t}async function l(t){n(t),a(null);try{return[(await e.run(`material/url`,{url:t})).material]}catch(e){return a(e),[]}finally{n(null)}}return{upload:s,addUrl:l,busy:t,error:i}}function As({onAdded:e,compact:t=!1}){let{t:n}=f(),a=(0,r.useRef)(null),[o,s]=(0,r.useState)(``),[c,l]=(0,r.useState)(!1),{upload:u,addUrl:d,busy:p,error:m}=ks(),h=async t=>{let n=await u([...t]);n.length&&e?.(n)};return(0,i.jsxs)(`div`,{className:`aha-col`,children:[(0,i.jsxs)(`div`,{className:`aha-empty`,style:{padding:t?14:24,borderColor:c?`var(--aha-brand)`:void 0,cursor:`pointer`},onClick:()=>a.current?.click(),onDragOver:e=>{e.preventDefault(),l(!0)},onDragLeave:()=>l(!1),onDrop:e=>{e.preventDefault(),l(!1),h(e.dataTransfer.files)},children:[(0,i.jsxs)(`div`,{className:`aha-row`,style:{justifyContent:`center`},children:[(0,i.jsx)(ie,{name:`upload`}),n(`dropHere`)]}),(0,i.jsx)(`input`,{ref:a,type:`file`,multiple:!0,accept:`.pdf,.docx,.pptx,.md,.markdown,.txt,.csv,.json,.tex,.py,.js,.ts,.html,.png,.jpg,.jpeg,.webp,.gif`,hidden:!0,onChange:e=>{h(e.currentTarget.files),e.currentTarget.value=``}})]}),(0,i.jsxs)(`form`,{className:`aha-row`,onSubmit:async t=>{if(t.preventDefault(),!o.trim())return;let n=await d(o.trim());n.length&&(s(``),e?.(n))},children:[(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:1},value:o,placeholder:n(`urlPlaceholder`),onChange:e=>s(e.currentTarget.value)}),(0,i.jsxs)(`button`,{type:`submit`,className:`aha-btn`,disabled:!o.trim()||!!p,children:[(0,i.jsx)(ie,{name:`link`}),n(`addUrl`)]})]}),p?(0,i.jsx)(Q,{label:`${n(`reading`)} ${p}`}):null,(0,i.jsx)($,{error:m})]})}function js({selected:e,onChange:t,onClose:n}){let{api:r,t:a}=f(),o=p(()=>r.call(`material/list`),[]),s=n=>t(e.includes(n)?e.filter(e=>e!==n):[...e,n].slice(0,8));return(0,i.jsxs)(Es,{title:a(`pickMaterials`),onClose:n,width:640,footer:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:n,children:a(`confirm`)}),children:[(0,i.jsx)(As,{compact:!0,onAdded:n=>{o.reload(),t([...e,...n.map(e=>e.id)].slice(0,8))}}),o.loading&&!o.value?(0,i.jsx)(Q,{label:a(`loading`)}):null,(0,i.jsx)(`div`,{className:`aha-col`,style:{gap:6,maxHeight:320,overflow:`auto`},children:(o.value??[]).map(t=>(0,i.jsxs)(`label`,{className:`aha-option`,style:{flexDirection:`row`,alignItems:`center`,gap:10},children:[(0,i.jsx)(`input`,{type:`checkbox`,checked:e.includes(t.id),onChange:()=>s(t.id)}),(0,i.jsxs)(`span`,{className:`aha-col`,style:{gap:0},children:[(0,i.jsx)(`b`,{children:t.title}),(0,i.jsx)(`small`,{children:Ms(t,a)})]})]},t.id))})]})}function Ms(e,t){let n=[e.kind.toUpperCase()];return e.pages&&n.push(t(`pages`,{count:e.pages})),e.slides&&n.push(t(`slides`,{count:e.slides})),e.kind===`image`&&n.push(t(`imageNeedsVision`)),n.join(` · `)}function Ns({value:e}){let t=Math.round((Number(e)||0)/20);return(0,i.jsx)(`span`,{className:`aha-meter`,title:`${Math.round(e??0)}%`,children:[0,1,2,3,4].map(e=>(0,i.jsx)(`i`,{"data-on":e<t},e))})}function Ps(e){return navigator.clipboard?.writeText(e).catch(()=>void 0)}let Fs=[[`explain`,`modeExplain`,`💡`],[`solve`,`modeSolve`,`🧮`],[`visualize`,`modeVisualize`,`📈`]];function Is({draftMode:e,draftRequest:t,draftMaterials:n,token:a}){let{api:o,t:s}=f(),c=p(()=>o.call(`items/list`,{kind:`assist`}),[]),[l,u]=(0,r.useState)(Fs.some(([t])=>t===e)?e:`explain`),[d,m]=(0,r.useState)(t??``),[g,_]=(0,r.useState)(Array.isArray(n)?n:[]),[v,y]=(0,r.useState)(!1),[b,x]=(0,r.useState)(null),[S,C]=(0,r.useState)(null),w=h(a);async function T(e=d){let t=e.trim();if(!t)return;C(null);let n=b?.threadId??Qo(`thd`);try{let{job:e}=await o.call(`assist/ask`,{mode:l,request:t,materialIds:g,threadId:b?.threadId,newThreadId:b?.threadId?void 0:n});x(r=>({threadId:n,turn:r?r.turn+1:0,stream:e,steps:[],title:t.slice(0,80),language:void 0,key:`${n}:${Date.now()}`})),m(``)}catch(e){C(e)}}(0,r.useEffect)(()=>{w&&t&&T(t)},[]);async function E(e){C(null);try{let{item:t}=await o.call(`items/get`,{kind:`assist`,id:e}),n=t.turns.length-1;x({threadId:t.id,turn:n,stream:null,steps:t.turns[n]?.board?.steps??[],title:t.turns[n]?.request??t.title,language:t.language,key:`${t.id}:${n}:open`})}catch(e){C(e)}}return(0,i.jsxs)(`div`,{className:`aha-page`,"data-wide":`true`,children:[(0,i.jsxs)(`div`,{className:`aha-split`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{minHeight:0},children:[b?(0,i.jsx)(Cs,{scope:{kind:`thread`,id:b.threadId,turn:b.turn},title:b.title,steps:b.steps,stream:b.stream,language:b.language,recordChecks:!1,onStreamDone:()=>c.reload()},b.key):(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:s(`assistTitle`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:s(`assistHint`)})]}),(0,i.jsxs)(`div`,{className:`aha-composer`,children:[(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:6},children:Fs.map(([e,t,n])=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-chip`,"data-active":l===e,onClick:()=>u(e),children:[n,` `,s(t)]},e))}),(0,i.jsx)(`textarea`,{value:d,placeholder:s(b?`followUp`:`assistPlaceholder`),onChange:e=>m(e.currentTarget.value),onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&T()}}),(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>y(!0),children:g.length?s(`attached`,{count:g.length}):s(`attach`)}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[b?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>x(null),children:s(`newThread`)}):null,(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:!d.trim(),onClick:()=>T(),children:s(`ask`)})]})]})]}),(0,i.jsx)($,{error:S})]}),(0,i.jsxs)(`aside`,{className:`aha-col`,style:{minHeight:0,overflow:`auto`},children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:s(`history`)}),c.loading&&!c.value?(0,i.jsx)(Q,{}):(c.value??[]).map(e=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-option`,onClick:()=>E(e.id),children:[(0,i.jsx)(`b`,{children:e.title}),(0,i.jsx)(`small`,{children:new Date(e.updatedAt).toLocaleString()})]},e.id))]})]}),v?(0,i.jsx)(js,{selected:g,onChange:_,onClose:()=>y(!1)}):null]})}Object.freeze({pInit:.2,pTransit:.15,pSlip:.1,pGuess:.2}),Object.freeze([{id:`struggling`,min:0},{id:`learning`,min:.4},{id:`proficient`,min:.7},{id:`mastered`,min:.9}]);let Ls=(e,t,n)=>Math.min(n,Math.max(t,e));function Rs(e){return Math.round(Ls(Number(e?.pKnown)||0,0,1)*100)}let zs=[[`outline`,`tabOutline`],[`practice`,`tabPractice`],[`sheets`,`tabSheets`],[`cards`,`tabCards`],[`projects`,`tabProjects`],[`progress`,`tabProgress`]];function Bs({courseId:e,tab:t=`outline`}){let{api:n,t:a,navigate:o,toast:s}=f(),c=p(()=>n.call(`course/get`,{courseId:e}),[e]),[u,d]=(0,r.useState)(t),[m,h]=(0,r.useState)(!1),[g,_]=(0,r.useState)(!1),[v,y]=(0,r.useState)(!1),b=c.value?.course,x=c.value?.progress,S=(0,r.useMemo)(()=>b?.units?ts(b,x):null,[b,x]),C=(0,r.useMemo)(()=>b?.units?ns(b,x):null,[b,x]);if(c.loading&&!c.value)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Q,{label:a(`loading`)})});if(!b)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)($,{error:c.error})});if(b.status!==`ready`)return o(`craft`,{courseId:e},{replace:!0}),null;let w=e=>Rs(x?.concepts?.[e]??{pKnown:.2}),T=e=>e.concepts.length?e.concepts.reduce((e,t)=>e+w(t.id),0)/e.concepts.length:0,E=e=>x?.lessons?.[e]?.status??`new`;async function ee(t){_(!1);try{let r=await n.call(`course/export`,{courseId:e,includeProgress:t});l(r.fileName,r.json)}catch(e){s(a(`errorGeneric`,{message:e.message}))}}return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4,flex:1,minWidth:260},children:[(0,i.jsxs)(`div`,{className:`aha-row`,style:{flexWrap:`nowrap`},children:[(0,i.jsx)(`span`,{style:{fontSize:30},children:b.emoji}),(0,i.jsx)(`h2`,{className:`aha-title`,children:b.title})]}),b.subtitle?(0,i.jsx)(`p`,{className:`aha-subtitle`,children:b.subtitle}):null,S?(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4,maxWidth:480},children:[(0,i.jsx)(ws,{value:S.percent}),(0,i.jsxs)(`span`,{className:`aha-hint`,children:[a(`lessonsCount`,S),` · `,a(`minutesLeft`,{minutes:S.minutesLeft})]})]}):null]}),(0,i.jsxs)(`div`,{className:`aha-row`,style:{position:`relative`},children:[C?(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>o(`lesson`,{courseId:e,lessonId:C.lesson.id}),children:[(0,i.jsx)(ie,{name:`play`,size:14}),a(`continueLearning`)]}):null,(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>h(e=>!e),children:`⋯`}),m?(0,i.jsxs)(`div`,{className:`aha-card`,style:{position:`absolute`,right:0,top:`110%`,zIndex:20,padding:6,gap:2,minWidth:180},onMouseLeave:()=>h(!1),children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,style:{justifyContent:`flex-start`},onClick:()=>{h(!1),_(!0)},children:a(`exportPack`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,style:{justifyContent:`flex-start`},onClick:async()=>{h(!1),await n.call(`course/update`,{courseId:e,archived:!b.archived}),c.reload()},children:b.archived?a(`unarchive`):a(`archive`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,style:{justifyContent:`flex-start`,color:`var(--aha-bad)`},onClick:()=>{h(!1),y(!0)},children:a(`deleteCourse`)})]}):null]})]}),(0,i.jsx)(`div`,{className:`aha-tabs`,children:zs.map(([e,t])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-tab`,"data-active":u===e,onClick:()=>d(e),children:a(t)},e))}),u===`outline`?(0,i.jsx)(`div`,{className:`aha-tree`,children:b.units.map((t,n)=>(0,i.jsxs)(`div`,{className:`aha-unit`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`b`,{children:[a(`unitN`,{n:n+1}),` · `,t.title]}),(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:4},children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>o(`sheet`,{courseId:e,unitId:t.id}),children:a(`unitSheet`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>o(`practice`,{courseId:e,unitId:t.id}),children:a(`unitQuiz`)})]})]}),t.summary?(0,i.jsx)(`p`,{className:`aha-hint`,children:t.summary}):null,t.lectures.map((t,n)=>(0,i.jsxs)(`div`,{className:`aha-lecture`,children:[(0,i.jsxs)(`div`,{className:`aha-hint`,style:{fontWeight:600},children:[a(`lectureN`,{n:n+1}),` · `,t.title]}),t.lessons.map(t=>(0,i.jsxs)(`div`,{className:`aha-lesson`,children:[(0,i.jsx)(`span`,{className:`aha-dot`,"data-state":E(t.id)}),(0,i.jsx)(`span`,{style:{flex:1,cursor:`pointer`},onClick:()=>o(`lesson`,{courseId:e,lessonId:t.id}),title:t.summary,children:t.title}),t.kind===`remedial`?(0,i.jsx)(`span`,{className:`aha-tag`,children:a(`remedial`)}):null,(0,i.jsx)(`span`,{className:`aha-hint`,children:a(`estMinutes`,{minutes:t.estMinutes})}),(0,i.jsx)(Ns,{value:T(t)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>o(`lesson`,{courseId:e,lessonId:t.id}),children:a(`learn`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>o(`practice`,{courseId:e,lessonId:t.id}),children:a(`practice`)})]},t.id))]},t.id))]},t.id))}):null,u===`practice`?(0,i.jsxs)(`div`,{className:`aha-col`,children:[(0,i.jsx)(`div`,{className:`aha-row`,children:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>o(`practice`,{review:!0}),children:a(`startReview`)})}),b.units.map((t,n)=>(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`b`,{children:[a(`unitN`,{n:n+1}),` · `,t.title]}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>o(`practice`,{courseId:e,unitId:t.id}),children:a(`unitQuiz`)})]}),(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:6},children:t.lectures.flatMap(e=>e.lessons).map(t=>(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,onClick:()=>o(`practice`,{courseId:e,lessonId:t.id}),children:t.title},t.id))})]},t.id))]}):null,u===`sheets`?(0,i.jsx)(`div`,{className:`aha-grid`,children:b.units.map((t,n)=>(0,i.jsxs)(`div`,{className:`aha-card`,"data-click":`true`,onClick:()=>o(`sheet`,{courseId:e,unitId:t.id}),children:[(0,i.jsx)(`span`,{className:`aha-hint`,children:a(`unitN`,{n:n+1})}),(0,i.jsx)(`b`,{children:t.title}),(0,i.jsx)(`span`,{className:`aha-tag`,children:c.value.ready.sheets.includes(t.id)?a(`open`):a(`generate`)})]},t.id))}):null,u===`cards`?(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsx)(`p`,{children:a(`cardsTitle`)}),(0,i.jsx)(`div`,{className:`aha-row`,children:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>o(`cards`,{courseId:e}),children:a(`open`)})})]}):null,u===`projects`?b.projects?.length?(0,i.jsx)(`div`,{className:`aha-grid`,children:b.projects.map(t=>(0,i.jsxs)(`div`,{className:`aha-card`,"data-click":`true`,onClick:()=>o(`project`,{courseId:e,projectId:t.id}),children:[(0,i.jsx)(`b`,{children:t.title}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t.brief.slice(0,160)}),(0,i.jsx)(`span`,{className:`aha-tag`,children:x?.projects?.[t.id]?.status===`passed`?`✔`:t.kind})]},t.id))}):(0,i.jsx)(Os,{children:a(`empty`)}):null,u===`progress`?(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:a(`conceptMastery`)}),(0,i.jsx)(`div`,{className:`aha-col`,style:{gap:4},children:$o(b).flatMap(({lesson:e})=>e.concepts.map(t=>({concept:t,lesson:e}))).map(({concept:e,lesson:t})=>{let n=x?.concepts?.[e.id];return(0,i.jsxs)(`div`,{className:`aha-spread`,style:{padding:`3px 0`,borderBottom:`1px solid var(--aha-border)`},children:[(0,i.jsxs)(`span`,{children:[e.name,` `,(0,i.jsxs)(`span`,{className:`aha-hint`,children:[`· `,t.title]})]}),(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:8},children:[n?.misconceptions?.length?(0,i.jsxs)(`span`,{className:`aha-tag`,title:n.misconceptions.join(`
265
- `),children:[`⚠ `,n.misconceptions.length]}):null,(0,i.jsx)(Ns,{value:w(e.id)}),(0,i.jsx)(`span`,{className:`aha-hint`,style:{width:36,textAlign:`right`},children:n?`${w(e.id)}%`:`—`})]})]},e.id)})})]}):null,g?(0,i.jsx)(Es,{title:a(`exportPack`),onClose:()=>_(!1),footer:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>ee(!1),children:a(`exportPack`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>ee(!0),children:a(`exportWithProgress`)})]}),children:(0,i.jsx)(`p`,{className:`aha-hint`,children:b.title})}):null,v?(0,i.jsx)(Ds,{danger:!0,text:a(`deleteConfirm`,{title:b.title}),onCancel:()=>y(!1),onConfirm:async()=>{await n.call(`course/remove`,{courseId:e}),o(`courses`,{},{replace:!0})}}):null]})}let Vs=[[`all`,`filterAll`],[`active`,`filterActive`],[`done`,`filterDone`],[`archived`,`filterArchived`]];function Hs(){let{api:e,t,navigate:n,toast:a}=f(),o=p(()=>e.call(`course/list`),[]),[s,c]=(0,r.useState)(`all`),[l,u]=(0,r.useState)(``),[d,m]=(0,r.useState)(null),h=(0,r.useRef)(null),g=(o.value??[]).filter(e=>s===`archived`?e.archived:e.archived?!1:s===`active`?e.status!==`ready`||e.progress.percent<100:s!==`done`||e.status===`ready`&&e.progress.percent>=100).filter(e=>!l.trim()||`${e.title} ${e.subtitle}`.toLowerCase().includes(l.trim().toLowerCase()));async function _(r){m(null);try{let i=await r.text(),o=await e.call(`course/import`,{json:i});a(t(`courseReady`)),n(`course`,{courseId:o.id})}catch(e){m(e)}}return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:t(`coursesTitle`)}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>h.current?.click(),children:t(`importPack`)}),(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>n(`home`),children:[`+ `,t(`modeCourse`)]}),(0,i.jsx)(`input`,{ref:h,type:`file`,accept:`.json,application/json`,hidden:!0,onChange:e=>{let t=e.currentTarget.files?.[0];t&&_(t),e.currentTarget.value=``}})]})]}),(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:6},children:Vs.map(([e,n])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,"data-active":s===e,onClick:()=>c(e),children:t(n)},e))}),(0,i.jsx)(`input`,{className:`aha-input`,style:{maxWidth:260},value:l,placeholder:t(`searchCourses`),onChange:e=>u(e.currentTarget.value)})]}),(0,i.jsx)($,{error:d??o.error}),o.loading&&!o.value?(0,i.jsx)(Q,{label:t(`loading`)}):g.length?(0,i.jsx)(`div`,{className:`aha-grid`,children:g.map(e=>(0,i.jsxs)(`div`,{className:`aha-card`,"data-click":`true`,onClick:()=>n(e.status===`ready`?`course`:`craft`,{courseId:e.id}),children:[(0,i.jsxs)(`div`,{className:`aha-row`,style:{flexWrap:`nowrap`},children:[(0,i.jsx)(`span`,{style:{fontSize:26},children:e.emoji}),(0,i.jsx)(`span`,{className:`aha-cardTitle`,children:e.title})]}),e.subtitle?(0,i.jsx)(`p`,{className:`aha-hint`,children:e.subtitle}):null,e.status===`ready`?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(ws,{value:e.progress.percent}),(0,i.jsxs)(`span`,{className:`aha-hint`,children:[t(`lessonsCount`,e.progress),e.next?` · ${t(`nextUp`,{title:e.next.title})}`:``]})]}):(0,i.jsx)(`span`,{className:`aha-tag`,children:e.status===`intake`?t(`statusIntake`):t(`statusBlueprint`)})]},e.id))}):(0,i.jsx)(Os,{children:t(`noCourses`)})]})}let Us=[[`intensive`,`paceIntensive`,`paceIntensiveHint`],[`balanced`,`paceBalanced`,`paceBalancedHint`],[`relaxed`,`paceRelaxed`,`paceRelaxedHint`]],Ws=[60,120,180,300,420,600];function Gs({jobId:e,courseId:t}){let{api:n,t:a,navigate:o}=f(),[s,c]=(0,r.useState)(null);return(0,r.useEffect)(()=>{if(!e||t)return;let r=new AbortController;return n.follow({job:{id:e,status:`running`}},{signal:r.signal}).then(e=>o(`craft`,{courseId:e.courseId},{replace:!0})).catch(e=>{r.signal.aborted||c(e)}),()=>r.abort()},[e,t]),t?(0,i.jsx)(Ks,{courseId:t}):(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:a(`craftQuestionsTitle`)}),s?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)($,{error:s}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>o(`home`),children:a(`back`)})]}):(0,i.jsx)(Q,{label:a(`thinkingQuestions`)})]})}function Ks({courseId:e}){let{api:t,t:n,navigate:a}=f(),o=p(()=>t.call(`course/get`,{courseId:e}),[e]),s=m(),c=o.value?.course;return(0,r.useEffect)(()=>{let e=o.value?.jobs?.blueprint??o.value?.jobs?.confirm;!e||s.running||s.run(null,null,{existing:e}).then(()=>o.reload()).catch(()=>void 0)},[o.value]),(0,r.useEffect)(()=>{c?.status===`ready`&&!s.running&&a(`course`,{courseId:e},{replace:!0})},[c?.status]),o.loading&&!o.value?(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Q,{label:n(`loading`)})}):o.error&&!o.value?(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)($,{error:o.error})}):c?c.status===`intake`?(0,i.jsx)(qs,{course:c,intake:o.value.intake,job:s,onDone:()=>o.reload()}):(0,i.jsx)(Xs,{course:c,job:s,onChange:()=>o.reload()}):null}function qs({course:e,intake:t,job:n,onDone:a}){let{t:o}=f(),s=t?.questionnaire?.questions??[],[c,l]=(0,r.useState)({}),[u,d]=(0,r.useState)(`balanced`),[p,m]=(0,r.useState)(180),[h,g]=(0,r.useState)(``),_=(e,t)=>l(n=>{let r=n[e.id]??{choice:[],other:``},i=e.multi?r.choice.includes(t)?r.choice.filter(e=>e!==t):[...r.choice,t]:[t];return{...n,[e.id]:{...r,choice:i}}});async function v(){try{await n.run(`course/intake`,{courseId:e.id,answers:c,timeline:u,weeklyMinutes:p,deadline:h||void 0}),a()}catch{}}return n.running?(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:e.goal}),(0,i.jsx)(Ts,{progress:n.progress,label:o(`designingBlueprint`)})]}):(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:o(`craftQuestionsTitle`)}),(0,i.jsx)(`p`,{className:`aha-subtitle`,children:e.goal}),(0,i.jsx)(`p`,{className:`aha-hint`,children:o(`craftQuestionsHint`)})]}),s.map((e,t)=>(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-cardTitle`,children:[t+1,`. `,e.prompt]}),(0,i.jsx)(`div`,{className:`aha-grid`,style:{gridTemplateColumns:`repeat(auto-fill,minmax(220px,1fr))`},children:e.options.map(t=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-option`,"data-active":c[e.id]?.choice?.includes(t.id)??!1,onClick:()=>_(e,t.id),children:[(0,i.jsx)(`b`,{children:t.label}),t.detail?(0,i.jsx)(`small`,{children:t.detail}):null]},t.id))}),(0,i.jsx)(`input`,{className:`aha-input`,placeholder:o(`craftOther`),value:c[e.id]?.other??``,onChange:t=>{let n=t.currentTarget.value;l(t=>({...t,[e.id]:{choice:t[e.id]?.choice??[],other:n}}))}})]},e.id)),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`div`,{className:`aha-cardTitle`,children:o(`craftPace`)}),(0,i.jsx)(`div`,{className:`aha-grid`,style:{gridTemplateColumns:`repeat(auto-fill,minmax(200px,1fr))`},children:Us.map(([e,t,n])=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-option`,"data-active":u===e,onClick:()=>d(e),children:[(0,i.jsx)(`b`,{children:o(t)}),(0,i.jsx)(`small`,{children:o(n)})]},e))}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsxs)(`label`,{className:`aha-label`,style:{flex:1,minWidth:220},children:[o(`weeklyMinutes`),(0,i.jsx)(`select`,{className:`aha-select`,value:p,onChange:e=>m(Number(e.currentTarget.value)),children:Ws.map(e=>(0,i.jsx)(`option`,{value:e,children:o(`minutesUnit`,{minutes:e})},e))})]}),(0,i.jsxs)(`label`,{className:`aha-label`,style:{flex:1,minWidth:220},children:[o(`deadline`),(0,i.jsx)(`input`,{className:`aha-input`,type:`date`,value:h,onChange:e=>g(e.currentTarget.value)})]})]})]}),(0,i.jsx)($,{error:n.error}),(0,i.jsx)(`div`,{className:`aha-row`,children:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:v,children:o(`makeBlueprint`)})})]})}function Js(e){return JSON.parse(JSON.stringify(e??[]))}function Ys(e,t,n){let r=[...e],i=t+n;return i<0||i>=r.length?e:([r[t],r[i]]=[r[i],r[t]],r)}function Xs({course:e,job:t,onChange:n}){let{api:a,t:o,toast:s}=f(),[c,l]=(0,r.useState)(()=>Js(e.units)),[u,d]=(0,r.useState)(e.title),[p,m]=(0,r.useState)(!1),[h,g]=(0,r.useState)(``),[_,v]=(0,r.useState)(!1),[y,b]=(0,r.useState)(null);(0,r.useEffect)(()=>{l(Js(e.units)),d(e.title),m(!1)},[e]);let x=e=>{l(t=>{let n=Js(t);return e(n),n.filter(e=>e.lectures.length).map(e=>({...e,lectures:e.lectures.filter(e=>e.lessons.length)}))}),m(!0)},S=(0,r.useMemo)(()=>c.reduce((e,t)=>e+t.lectures.reduce((e,t)=>e+t.lessons.length,0),0),[c]),C=(0,r.useMemo)(()=>c.reduce((e,t)=>e+t.lectures.reduce((e,t)=>e+t.lessons.reduce((e,t)=>e+(t.estMinutes||15),0),0),0),[c]);async function w(){v(!0),b(null);try{return await a.call(`course/save-blueprint`,{courseId:e.id,blueprint:{...e,title:u,units:c}}),m(!1),s(o(`saved`)),n(),!0}catch(e){return b(e),!1}finally{v(!1)}}async function T(r){if(r.preventDefault(),h.trim()&&!(p&&!await w()))try{await t.run(`course/revise`,{courseId:e.id,instruction:h}),g(``),n()}catch{}}async function E(){if(!(p&&!await w()))try{await t.run(`course/confirm`,{courseId:e.id}),n()}catch{}}if(t.running){let n=t.progress?.label===`practice`||t.progress?.label===`projects`?o(`confirming`,{done:t.progress.done,total:t.progress.total}):o(`revising`);return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`h2`,{className:`aha-title`,children:[e.emoji,` `,e.title]}),(0,i.jsx)(Ts,{progress:t.progress,label:n})]})}return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4,flex:1},children:[(0,i.jsx)(`span`,{className:`aha-hint`,children:o(`blueprintTitle`)}),(0,i.jsxs)(`div`,{className:`aha-row`,style:{flexWrap:`nowrap`},children:[(0,i.jsx)(`span`,{style:{fontSize:28},children:e.emoji}),(0,i.jsx)(`input`,{className:`aha-input aha-title`,style:{border:`none`,padding:`2px 4px`},value:u,onChange:e=>{d(e.currentTarget.value),m(!0)}})]}),e.subtitle?(0,i.jsx)(`p`,{className:`aha-subtitle`,children:e.subtitle}):null,(0,i.jsxs)(`p`,{className:`aha-hint`,children:[o(`lessonsCount`,{done:0,total:S}),` · `,o(`minutesLeft`,{minutes:C})]})]}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[p?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,disabled:_,onClick:w,children:o(`saveEdits`)}):null,(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:E,children:o(`confirmCourse`)})]})]}),e.summary?(0,i.jsx)(`p`,{children:e.summary}):null,(0,i.jsx)(`p`,{className:`aha-hint`,children:o(`blueprintHint`)}),(0,i.jsxs)(`form`,{className:`aha-row`,onSubmit:T,children:[(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:1},value:h,placeholder:o(`revisePlaceholder`),onChange:e=>g(e.currentTarget.value),"aria-label":o(`reviseLabel`)}),(0,i.jsx)(`button`,{type:`submit`,className:`aha-btn`,disabled:!h.trim(),children:o(`revise`)})]}),(0,i.jsx)($,{error:y??t.error}),(0,i.jsxs)(`div`,{className:`aha-tree`,children:[c.map((e,t)=>(0,i.jsxs)(`div`,{className:`aha-unit`,children:[(0,i.jsxs)(`div`,{className:`aha-lesson`,style:{fontWeight:650},children:[(0,i.jsx)(`span`,{className:`aha-tag`,children:o(`unitN`,{n:t+1})}),(0,i.jsx)(`input`,{value:e.title,onChange:e=>{let n=e.currentTarget.value;x(e=>{e[t].title=n})}}),(0,i.jsx)(Zs,{onUp:()=>x(e=>{e.splice(0,e.length,...Ys(e,t,-1))}),onDown:()=>x(e=>{e.splice(0,e.length,...Ys(e,t,1))}),onRemove:()=>x(e=>{e.splice(t,1)})})]}),e.lectures.map((e,n)=>(0,i.jsxs)(`div`,{className:`aha-lecture`,children:[(0,i.jsxs)(`div`,{className:`aha-lesson`,style:{fontWeight:600},children:[(0,i.jsx)(`span`,{className:`aha-hint`,children:o(`lectureN`,{n:n+1})}),(0,i.jsx)(`input`,{value:e.title,onChange:e=>{let r=e.currentTarget.value;x(e=>{e[t].lectures[n].title=r})}}),(0,i.jsx)(Zs,{onUp:()=>x(e=>{let r=e[t].lectures;r.splice(0,r.length,...Ys(r,n,-1))}),onDown:()=>x(e=>{let r=e[t].lectures;r.splice(0,r.length,...Ys(r,n,1))}),onRemove:()=>x(e=>{e[t].lectures.splice(n,1)})})]}),e.lessons.map((e,r)=>(0,i.jsxs)(`div`,{className:`aha-lesson`,children:[(0,i.jsx)(`span`,{className:`aha-dot`}),(0,i.jsx)(`input`,{value:e.title,title:e.summary,onChange:e=>{let i=e.currentTarget.value;x(e=>{e[t].lectures[n].lessons[r].title=i})}}),(0,i.jsx)(`span`,{className:`aha-hint`,children:o(`estMinutes`,{minutes:e.estMinutes})}),(0,i.jsx)(Zs,{onUp:()=>x(e=>{let i=e[t].lectures[n].lessons;i.splice(0,i.length,...Ys(i,r,-1))}),onDown:()=>x(e=>{let i=e[t].lectures[n].lessons;i.splice(0,i.length,...Ys(i,r,1))}),onRemove:()=>x(e=>{e[t].lectures[n].lessons.splice(r,1)})})]},e.id??r)),(0,i.jsx)(`div`,{children:(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>x(e=>{e[t].lectures[n].lessons.push({title:o(`untitled`),objectives:[],concepts:[],estMinutes:15})}),children:[`+ `,o(`addLesson`)]})})]},e.id??n)),(0,i.jsx)(`div`,{children:(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>x(e=>{e[t].lectures.push({title:o(`untitled`),lessons:[{title:o(`untitled`),objectives:[],concepts:[],estMinutes:15}]})}),children:[`+ `,o(`addLecture`)]})})]},e.id??t)),(0,i.jsx)(`div`,{children:(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>x(e=>{e.push({title:o(`untitled`),objectives:[],lectures:[{title:o(`untitled`),lessons:[{title:o(`untitled`),objectives:[],concepts:[],estMinutes:15}]}]})}),children:[`+ `,o(`addUnit`)]})})]}),e.projects?.length?(0,i.jsxs)(`section`,{className:`aha-col`,children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:o(`projects`)}),(0,i.jsx)(`div`,{className:`aha-grid`,children:e.projects.map(e=>(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:e.title}),(0,i.jsx)(`p`,{className:`aha-hint`,children:e.brief})]},e.id))})]}):null]})}function Zs({onUp:e,onDown:t,onRemove:n}){let{t:r}=f();return(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:2,flexWrap:`nowrap`},children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:e,title:r(`moveUp`),"aria-label":r(`moveUp`),children:`↑`}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:t,title:r(`moveDown`),"aria-label":r(`moveDown`),children:`↓`}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:n,title:r(`remove`),"aria-label":r(`remove`),children:`✕`})]})}function Qs(e){let t=e instanceof Date?e:new Date(e);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,`0`)}-${String(t.getDate()).padStart(2,`0`)}`}let $s=[[`course`,`modeCourse`,`🎓`],[`explain`,`modeExplain`,`💡`],[`solve`,`modeSolve`,`🧮`],[`visualize`,`modeVisualize`,`📈`],[`digest`,`modeDigest`,`📚`],[`short`,`modeShort`,`🎬`]];function ec(){let{api:e,t,navigate:n,toast:a}=f(),[o,s]=(0,r.useState)(`course`),[c,l]=(0,r.useState)(``),[u,d]=(0,r.useState)([]),[m,h]=(0,r.useState)(!1),[g,_]=(0,r.useState)(!1),[v,y]=(0,r.useState)(null),b=p(()=>e.call(`course/list`),[]),x=p(()=>e.call(`plan/get`,{today:Qs(new Date)}),[]),S=p(()=>e.call(`samples/list`),[]);async function C(t=!1){let r=c.trim();if(y(null),o===`course`){if(!r&&!u.length)return;_(!0);try{let{job:i}=await e.call(`course/start`,{goal:r,materialIds:u,quick:t});n(`craft`,{jobId:i.id})}catch(e){y(e)}finally{_(!1)}return}if(o===`digest`){if(!u.length){h(!0);return}n(`item`,{kind:`digest`,materialId:u[0]});return}if(o===`short`){let e=/^https?:\/\//iu.test(r);n(`shorts`,{draftTopic:e?``:r,draftUrl:e?r:``,token:Date.now().toString(36)});return}r&&n(`assist`,{draftMode:o,draftRequest:r,draftMaterials:u,token:Date.now().toString(36)})}let w=(b.value??[]).filter(e=>e.status===`ready`&&!e.archived&&e.progress.percent<100).slice(0,3),T=(b.value??[]).filter(e=>e.status!==`ready`&&!e.archived).slice(0,2),E=x.value?.today??[];return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`section`,{className:`aha-hero`,children:[(0,i.jsx)(`div`,{className:`aha-heroTitle`,children:t(`heroTitle`)}),(0,i.jsx)(`p`,{className:`aha-subtitle`,children:t(`heroHint`)}),(0,i.jsxs)(`div`,{className:`aha-composer`,children:[(0,i.jsx)(`textarea`,{value:c,placeholder:t(`heroPlaceholder`),onChange:e=>l(e.currentTarget.value),onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&C()}}),(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:6},children:(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>h(!0),children:[(0,i.jsx)(ie,{name:`plus`,size:15}),u.length?t(`attached`,{count:u.length}):t(`attach`)]})}),(0,i.jsxs)(`div`,{className:`aha-row`,style:{gap:6},children:[o===`course`?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,disabled:g,onClick:()=>C(!0),children:t(`quickStart`)}):null,(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:g||!c.trim()&&!u.length,onClick:()=>C(!1),children:[g?(0,i.jsx)(`span`,{className:`aha-spinner`}):null,t(`start`)]})]})]})]}),(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:8},children:$s.map(([e,n,r])=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-chip`,"data-active":o===e,onClick:()=>s(e),children:[r,` `,t(n)]},e))}),(0,i.jsx)($,{error:v})]}),w.length||T.length?(0,i.jsxs)(`section`,{className:`aha-col`,children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:t(`continueLearning`)}),(0,i.jsx)(`div`,{className:`aha-grid`,children:[...T,...w].map(e=>(0,i.jsxs)(`div`,{className:`aha-card`,"data-click":`true`,onClick:()=>n(e.status===`ready`?`course`:`craft`,{courseId:e.id}),children:[(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`span`,{style:{fontSize:24},children:e.emoji}),(0,i.jsx)(`span`,{className:`aha-cardTitle`,children:e.title})]}),e.status===`ready`?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(ws,{value:e.progress.percent}),(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`span`,{className:`aha-hint`,children:t(`lessonsCount`,e.progress)}),e.next?(0,i.jsx)(`span`,{className:`aha-hint`,children:t(`nextUp`,{title:e.next.title})}):null]}),e.next?(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:t=>{t.stopPropagation(),n(`lesson`,{courseId:e.id,lessonId:e.next.lessonId})},children:[(0,i.jsx)(ie,{name:`play`,size:14}),t(`continueLearning`)]}):null]}):(0,i.jsx)(`span`,{className:`aha-tag`,children:e.status===`intake`?t(`statusIntake`):t(`statusBlueprint`)})]},e.id))})]}):null,(0,i.jsxs)(`section`,{className:`aha-col`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:t(`todayPlan`)}),(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>n(`plan`),children:[t(`navPlan`),` →`]})]}),x.loading&&!x.value?(0,i.jsx)(Q,{}):E.length?(0,i.jsx)(`div`,{className:`aha-col`,style:{gap:6},children:E.map((e,r)=>(0,i.jsxs)(`div`,{className:`aha-card`,style:{flexDirection:`row`,alignItems:`center`,padding:`10px 14px`},children:[(0,i.jsx)(`span`,{className:`aha-tag`,children:e.kind===`lesson`?t(`lessonItem`):e.kind===`review`?t(`reviewItem`):t(`examItem`)}),(0,i.jsxs)(`span`,{style:{flex:1},children:[e.title,e.courseTitle?(0,i.jsxs)(`span`,{className:`aha-hint`,children:[` · `,e.courseTitle]}):null]}),e.minutes?(0,i.jsx)(`span`,{className:`aha-hint`,children:t(`minutesUnit`,{minutes:e.minutes})}):null,e.kind===`lesson`?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>n(`lesson`,{courseId:e.courseId,lessonId:e.refId}),children:t(`learn`)}):null,e.kind===`review`?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>n(`practice`,{review:!0}),children:t(`review`)}):null]},`${e.refId}-${r}`))}):(0,i.jsx)(Os,{children:t(`noPlanToday`)})]}),S.value?.length?(0,i.jsxs)(`section`,{className:`aha-col`,children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:t(`sampleCourses`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`sampleHint`)}),(0,i.jsx)(`div`,{className:`aha-grid`,children:S.value.map(r=>(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`span`,{style:{fontSize:24},children:r.emoji}),(0,i.jsx)(`span`,{className:`aha-cardTitle`,children:r.title})]}),(0,i.jsx)(`p`,{className:`aha-hint`,children:r.subtitle}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:async()=>{try{let i=await e.call(`samples/import`,{id:r.id});a(t(`courseReady`)),n(`course`,{courseId:i.id})}catch(e){a(t(`errorGeneric`,{message:e.message}))}},children:t(`importSample`)})]},r.id))})]}):null,m?(0,i.jsx)(js,{selected:u,onChange:d,onClose:()=>h(!1)}):null]})}let tc=`'Segoe Print','Ink Free','Bradley Hand','Chalkboard SE','Noteworthy','Comic Sans MS','LXGW WenKai','Kaiti SC','STKaiti','KaiTi','楷体',cursive`,nc=`
264
+ `}function ps({speech:e,onChange:t,now:n=()=>performance.now(),frame:r,cancelFrame:i,startIndex:a=0}){let o=r??(e=>requestAnimationFrame(e)),s=i??(e=>cancelAnimationFrame(e)),c=[],l=!1,u=1,d=null,f=null,p=new Set,m={index:Math.max(0,a),op:0,progress:0,status:`idle`},h=()=>({...m,total:c.length,complete:l,rate:u,step:c[m.index]??null}),g=()=>t?.(h());function _(){d!==null&&s(d),d=null}function v(){_(),e?.cancel?.();let t=c[m.index];if(!t){m.status=l?`ended`:`buffering`,g();return}m.op=0,m.progress=0,m.status=`playing`,f={step:t,timing:ds(t,{rate:u}),startedAt:n(),elapsedBefore:0,speechDone:!t.say,silentUntil:null,token:{}};let r=f.token;t.say&&((e?.speak(t.say,{rate:u})??{done:Promise.resolve({silent:!0})}).done.then(e=>{!f||f.token!==r||(e?.silent||e?.error?f.silentUntil=cs(t.say,u)*.8:f.speechDone=!0)}),e?.prefetch?.(c[m.index+1]?.say)),g(),b()}function y(){return f?f.elapsedBefore+(m.status===`playing`?n()-f.startedAt:0):0}function b(){d=o(x)}function x(){if(d=null,m.status!==`playing`||!f)return;let e=y(),t=f.timing.writeMs,n=0,r=t.length,i=1;for(let a=0;a<t.length;a+=1){if(e<n+t[a]){r=a,i=t[a]?(e-n)/t[a]:1;break}n+=t[a]}let a=r!==m.op||Math.abs(i-m.progress)>.002;if(m.op=r,m.progress=Math.min(1,Math.max(0,i)),f.silentUntil!==null&&e>=f.silentUntil&&(f.speechDone=!0),r>=t.length&&f.speechDone&&e>=n+450){S();return}a&&g(),b()}function S(){let e=c[m.index];if(m.op=e?.ops.length??0,m.progress=1,e?.check&&!p.has(e.check.id)){m.status=`check`,g();return}C()}function C(){m.index+=1,v()}return{get state(){return h()},setSteps(e,{done:t=!1}={}){c=e,l=t,m.status===`buffering`&&c[m.index]?v():(m.status===`buffering`&&l&&(m.status=`ended`),g())},play(){if(m.status!==`playing`){if(m.status===`paused`&&f){m.status=`playing`,f.startedAt=n(),e?.resume?.(),g(),b();return}m.status===`ended`&&(m.index=0),m.status!==`check`&&v()}},pause(){m.status!==`playing`||!f||(f.elapsedBefore=y(),m.status=`paused`,_(),e?.pause?.(),g())},toggle(){m.status===`playing`?this.pause():this.play()},next(){let t=c[m.index];m.status===`check`&&t?.check&&p.add(t.check.id),t&&(_(),e?.cancel?.(),C())},prev(){_(),e?.cancel?.();let t=m.op===0&&m.progress<.05;m.index=Math.max(0,Math.min(c.length-1,t?m.index-1:m.index)),v()},seek(t){_(),e?.cancel?.(),m.index=Math.min(Math.max(0,t),Math.max(0,c.length)),v()},answer(e){p.add(e),m.status===`check`&&C()},setRate(t){let r=Math.min(2,Math.max(.5,Number(t)||1));if(f&&m.status===`playing`){let e=y(),t=u/r;f.elapsedBefore=e*t,f.startedAt=n(),f.timing=ds(f.step,{rate:r})}u=r,e?.setRate?.(r),g()},insertAfterCurrent(e){if(!e?.length)return c;let t=Math.min(c.length,m.index+1);return c=[...c.slice(0,t),...e,...c.slice(t)],g(),c},dispose(){_(),e?.cancel?.(),f=null}}}let ms=Object.freeze([`choice`,`multi`,`blank`,`number`,`order`]),hs=/[!-~]/gu;function gs(e){return String(e??``).normalize(`NFKC`).replace(hs,e=>String.fromCharCode(e.charCodeAt(0)-65248)).toLowerCase().replace(/[\s ]+/gu,` `).replace(/^[\s.,;:!?'"`,。;:!?、“”‘’]+|[\s.,;:!?'"`,。;:!?、“”‘’]+$/gu,``).trim()}function _s(e){if(typeof e==`number`)return e;let t=gs(e).replace(/,/gu,``).replace(/\s/gu,``),n=/^(-?\d+(?:\.\d+)?)\/(\d+(?:\.\d+)?)$/u.exec(t);if(n)return Number(n[1])/Number(n[2]);let r=/^(-?\d+(?:\.\d+)?)%$/u.exec(t);if(r)return Number(r[1])/100;let i=Number(t);return Number.isFinite(i)?i:NaN}function vs(e,t){if(!e||!ms.includes(e.kind))return{score:0,correct:!1,gradable:!1};if(e.kind===`choice`){let n=String(t??``)===String(e.answer??``);return{score:+!!n,correct:n,gradable:!0}}if(e.kind===`multi`){let n=new Set((Array.isArray(e.answer)?e.answer:[e.answer]).map(String)),r=new Set((Array.isArray(t)?t:[]).map(String));if(!n.size)return{score:0,correct:!1,gradable:!1};let i=0,a=0;for(let e of r)n.has(e)?i+=1:a+=1;let o=Math.max(0,(i-a)/n.size),s=i===n.size&&a===0;return{score:ys(o),correct:s,gradable:!0}}if(e.kind===`order`){let n=(Array.isArray(e.answer)?e.answer:[]).map(String),r=(Array.isArray(t)?t:[]).map(String);if(!n.length)return{score:0,correct:!1,gradable:!1};let i=0;return n.forEach((e,t)=>{r[t]===e&&(i+=1)}),{score:ys(i/n.length),correct:i===n.length,gradable:!0}}if(e.kind===`number`){let n=_s(e.answer),r=_s(t);if(!Number.isFinite(n))return{score:0,correct:!1,gradable:!1};if(!Number.isFinite(r))return{score:0,correct:!1,gradable:!0};let i=Number.isFinite(Number(e.tolerance))&&Number(e.tolerance)>=0?Number(e.tolerance):Math.max(1e-9,Math.abs(n)*.01),a=Math.abs(r-n)<=i;return{score:+!!a,correct:a,gradable:!0}}let n=(Array.isArray(e.answer)?e.answer:[e.answer]).map(gs).filter(Boolean);if(!n.length)return{score:0,correct:!1,gradable:!1};let r=gs(t),i=n.includes(r);if(i)return{score:1,correct:i,gradable:!0};let a=_s(t),o=n.map(_s).filter(Number.isFinite);return Number.isFinite(a)&&o.some(e=>Math.abs(e-a)<=Math.max(1e-9,Math.abs(e)*.001))?{score:1,correct:!0,gradable:!0}:{score:0,correct:!1,gradable:!0}}function ys(e){return Math.round(e*100)/100}function bs({text:e,compact:t=!1,streaming:n=!1}){let{t:o}=f(),s=(0,r.useMemo)(()=>({code:{copyLabel:o(`copyCode`),copiedLabel:o(`copied`)},footnotes:o(`footnotes`)}),[o]);return(0,i.jsx)(`div`,{className:`aha-markdown`,children:(0,i.jsx)(a.MarkdownText,{text:String(e??``),labels:s,streaming:n,variant:t?`compact`:`body`})})}let xs=[[`sure`,`confSure`],[`unsure`,`confUnsure`],[`guess`,`confGuess`]];function Ss({item:e,language:t,onResult:n,onContinue:a,continueLabel:o,askConfidence:s=!0,compact:c=!1}){let{api:l,t:u}=f(),[d,p]=(0,r.useState)(e.kind===`multi`||e.kind===`order`?[]:``),[m,h]=(0,r.useState)(null),[g,_]=(0,r.useState)(0),[v,y]=(0,r.useState)(null),[b,x]=(0,r.useState)(!1),[S,C]=(0,r.useState)(null),w=(0,r.useRef)(Date.now());(0,r.useEffect)(()=>{p(e.kind===`multi`||e.kind===`order`?e.kind===`order`?e.options.map(e=>e.id):[]:``),h(null),_(0),y(null),C(null),w.current=Date.now()},[e]);let T=(e.kind===`multi`?d.length>0:e.kind===`order`||String(d).trim()!==``)&&(!s||m);async function E(){if(!T||v||b)return;let r=Date.now()-w.current,i;if(e.kind===`short`){x(!0),C(null);try{let n=await l.call(`lesson/grade`,{item:{prompt:e.prompt,answer:e.answer,rubric:e.rubric},response:d,language:t});i={score:n.score,correct:n.verdict===`correct`,partial:n.verdict===`partial`,feedback:n.feedback,errorTag:n.errorTag,misconception:n.misconception}}catch(e){C(e.message),x(!1);return}x(!1)}else{let t=vs(e,d);i={score:t.score,correct:t.correct,partial:!t.correct&&t.score>0,errorTag:t.correct?``:ws(e,d)}}let a={...i,confidence:m??void 0,timeMs:r,hintsUsed:g};y(a),n?.(a)}let ee=e=>p(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e]),te=(e,t)=>p(n=>{let r=[...n],i=e+t;return i<0||i>=r.length?n:([r[e],r[i]]=[r[i],r[e]],r)}),ne=t=>{if(v)return(Array.isArray(e.answer)?e.answer:[e.answer]).includes(t.id)?`right`:(Array.isArray(d)?d.includes(t.id):d===t.id)?`wrong`:void 0};return(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:c?8:12},children:[(0,i.jsx)(bs,{text:e.prompt,compact:!0}),e.kind===`choice`||e.kind===`multi`?(0,i.jsx)(`div`,{className:`aha-col aha-options`,style:{gap:6},"data-grid":e.options.every(e=>e.text.length<=22),children:e.options.map(t=>{let n=e.kind===`multi`?d.includes(t.id):d===t.id,r=ne(t);return(0,i.jsx)(`button`,{type:`button`,className:`aha-option`,"data-active":n,disabled:!!v,style:r===`right`?{borderColor:`var(--aha-ok)`}:r===`wrong`?{borderColor:`var(--aha-bad)`}:void 0,onClick:()=>e.kind===`multi`?ee(t.id):p(t.id),children:(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:8,flexWrap:`nowrap`},children:[(0,i.jsxs)(`b`,{children:[t.id.toUpperCase(),`.`]}),(0,i.jsx)(bs,{text:t.text,compact:!0})]})},t.id)})}):null,e.kind===`order`?(0,i.jsx)(`div`,{className:`aha-col`,style:{gap:6},children:d.map((t,n)=>(0,i.jsxs)(`div`,{className:`aha-option`,style:{flexDirection:`row`,alignItems:`center`,gap:8},children:[(0,i.jsx)(`span`,{style:{flex:1},children:(0,i.jsx)(bs,{text:e.options.find(e=>e.id===t)?.text??t,compact:!0})}),v?null:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>te(n,-1),"aria-label":u(`moveUp`),children:`↑`}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>te(n,1),"aria-label":u(`moveDown`),children:`↓`})]})]},t))}):null,e.kind===`blank`||e.kind===`number`?(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`input`,{className:`aha-input`,style:{maxWidth:360},value:d,disabled:!!v,placeholder:u(`yourAnswer`),inputMode:e.kind===`number`?`decimal`:void 0,onChange:e=>p(e.currentTarget.value),onKeyDown:e=>{e.key===`Enter`&&E()}}),e.unit?(0,i.jsx)(`span`,{className:`aha-hint`,children:e.unit}):null]}):null,e.kind===`short`?(0,i.jsx)(`textarea`,{className:`aha-textarea`,value:d,disabled:!!v,placeholder:u(`yourAnswer`),onChange:e=>p(e.currentTarget.value)}):null,e.hints?.length&&!v?(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[e.hints.slice(0,g).map((e,t)=>(0,i.jsxs)(`div`,{className:`aha-hint`,children:[`💡 `,e]},t)),g<e.hints.length?(0,i.jsx)(`div`,{children:(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>_(e=>e+1),children:[u(`hint`),` (`,g+1,`/`,e.hints.length,`)`]})}):null]}):null,s&&!v?(0,i.jsxs)(`div`,{className:`aha-row`,style:{gap:6},children:[(0,i.jsx)(`span`,{className:`aha-hint`,children:u(`confidence`)}),xs.map(([e,t])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,"data-active":m===e,onClick:()=>h(e),children:u(t)},e))]}):null,S?(0,i.jsx)(`div`,{className:`aha-error`,children:u(`errorGeneric`,{message:S})}):null,v?(0,i.jsxs)(`div`,{className:`aha-feedback`,"data-ok":v.correct?`true`:v.partial?void 0:`false`,children:[(0,i.jsx)(`b`,{children:v.correct?u(`correct`):v.partial?u(`partial`):u(`incorrect`)}),v.feedback?(0,i.jsx)(bs,{text:v.feedback,compact:!0}):null,e.explanation?(0,i.jsx)(bs,{text:e.explanation,compact:!0}):null,e.kind!==`short`&&!v.correct?(0,i.jsx)(`div`,{className:`aha-hint`,children:Cs(e)}):null]}):null,(0,i.jsxs)(`div`,{className:`aha-row aha-itemActions`,children:[v?null:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:!T||b,onClick:E,children:b?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`span`,{className:`aha-spinner`}),u(`grading`)]}):u(`submit`)}),v&&a?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:a,children:o??u(`continue`)}):null,!v&&a?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:a,children:u(`skip`)}):null]})]})}function Cs(e){return e.kind===`choice`?`✔ ${e.answer.toUpperCase()}. ${e.options.find(t=>t.id===e.answer)?.text??``}`:e.kind===`multi`?`✔ ${e.answer.map(e=>e.toUpperCase()).join(`, `)}`:e.kind===`order`?`✔ ${e.answer.map(t=>e.options.find(e=>e.id===t)?.text??t).join(` → `)}`:e.kind===`number`?`✔ ${e.answer}${e.unit?` ${e.unit}`:``}`:e.kind===`blank`?`✔ ${e.answer.join(` / `)}`:``}function ws(e,t){return e.kind===`choice`?`chose ${String(t).toUpperCase()}: ${(e.options.find(e=>e.id===t)?.text??``).slice(0,50)}`:e.kind===`number`||e.kind===`blank`?`answered ${String(t).slice(0,40)}`:`wrong`}let Ts=[.75,1,1.25,1.5,2],Es=[[`analogy`,`styleAnalogy`],[`visual`,`styleVisual`],[`example`,`styleExample`],[`simpler`,`styleSimpler`],[`deeper`,`styleDeeper`]];function Ds({scope:e,title:t,crumb:n,steps:a=[],stream:o=null,language:s,startIndex:c=0,autoplay:l=!0,onPosition:u,onEnded:d,onStreamDone:p,header:m,stageClass:h,recordChecks:g=!0}){let{api:v,t:y,speech:b,settings:x}=f(),S=_(),C=x.boardTheme===`dark`||x.boardTheme!==`light`&&S?`dark`:`light`,[w,T]=(0,r.useState)(a),[E,ee]=(0,r.useState)([]),[te,ne]=(0,r.useState)(!o),[D,re]=(0,r.useState)(null),[ie,ae]=(0,r.useState)(!0),[oe,se]=(0,r.useState)(!1),[ce,le]=(0,r.useState)(!1),[ue,de]=(0,r.useState)(``),[fe,pe]=(0,r.useState)(null),[me,he]=(0,r.useState)(!1),[ge,_e]=(0,r.useState)(null),ve=(0,r.useRef)(0),O=(0,r.useMemo)(()=>{let e=[];for(let t of w){e.push(t);for(let n of E)n.anchorId===t.id&&e.push(...n.steps)}return e},[w,E]),k=(0,r.useMemo)(()=>ps({speech:b,onChange:re,startIndex:c}),[b]);(0,r.useEffect)(()=>()=>k.dispose(),[k]),(0,r.useEffect)(()=>{k.setSteps(O,{done:te})},[k,O,te]),(0,r.useEffect)(()=>{b.configure({engine:oe?`off`:x.voiceEngine??`browser`,voiceId:x.voiceId||void 0,language:s})},[b,oe,x.voiceEngine,x.voiceId,s]),(0,r.useEffect)(()=>{k.setRate(x.voiceRate??1)},[k,x.voiceRate]),(0,r.useEffect)(()=>{if(!o)return;let e=new AbortController;return ne(!1),v.follow({job:o},{signal:e.signal,onPartial:e=>T(t=>{let n=new Set(t.map(e=>e.id)),r=e.filter(e=>!n.has(e.id));return r.length?[...t,...r]:t})}).then(e=>{let t=e?.board??e?.item?.board??e;t?.steps?.length&&T(t.steps),ne(!0),p?.(e)}).catch(t=>{e.signal.aborted||(_e(t.message),ne(!0))}),()=>e.abort()},[o]);let A=(0,r.useRef)(!1);(0,r.useEffect)(()=>{!l||A.current||!O.length||(A.current=!0,k.play())},[O.length,l,k]);let ye=D?.index??c;(0,r.useEffect)(()=>{D&&u?.(Math.min(ye,w.length))},[ye]);let be=D?.status===`ended`&&te,xe=(0,r.useRef)(!1);(0,r.useEffect)(()=>{be&&!xe.current&&(xe.current=!0,d?.()),be||(xe.current=!1)},[be]),(0,r.useEffect)(()=>{let e=e=>{e.target instanceof HTMLElement&&/input|textarea|select/iu.test(e.target.tagName)||(e.key===` `?(e.preventDefault(),k.toggle()):e.key===`ArrowRight`?k.next():e.key===`ArrowLeft`&&k.prev())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[k]);let Se=(0,r.useCallback)(e=>{for(let t=Math.min(e,O.length-1);t>=0;--t)if(!O[t]?.aside)return O[t]?.id;return w[0]?.id},[O,w]),Ce=(0,r.useCallback)(e=>{let t=Math.max(0,Math.min(e,O.length-1)),n=O[t]?.aside?Se(t):O[t]?.id;return Math.max(0,w.findIndex(e=>e.id===n))},[O,w,Se]),we=(0,r.useCallback)((e,t)=>{if(!e?.length)return;ve.current+=1;let n=`a${ve.current}_`,r=Se(t),i=Ko(e,n).map(e=>({...e,anchorId:r}));ee(e=>[...e,{anchorId:r,steps:i}]),pe(i[0].id)},[Se]);(0,r.useEffect)(()=>{if(!fe)return;let e=O.findIndex(e=>e.id===fe);e>=0&&(pe(null),k.seek(e))},[O,fe,k]);async function Te(t){t?.preventDefault();let n=ue.trim();if(n){k.pause(),le(`answering`),_e(null);try{let t=await v.run(`lesson/ask`,{scope:e,stepIndex:Ce(ye),question:n});de(``),le(!1),we(t.steps,ye)}catch(e){le(!0),_e(e.message)}}}async function Ee(t){he(!1),k.pause(),le(`reexplaining`),_e(null);let n=Math.max(0,Math.min(ye,O.length-1));try{let r=await v.run(`lesson/reexplain`,{scope:e,stepIndex:Ce(n),style:t});le(!1),we(r.steps,n)}catch(e){le(!1),_e(e.message)}}let De=D?.step,Oe=D?.status===`check`?De?.check:null;function ke(t){!g||e.kind!==`lesson`||v.call(`lesson/record`,{courseId:e.courseId,lessonId:e.lessonId,conceptIds:Oe?.conceptIds??[],evidence:{kind:`check`,score:t.score,confidence:t.confidence,hintsUsed:t.hintsUsed,timeMs:t.timeMs,expectedMs:4e4,errorTag:t.errorTag}}).catch(()=>void 0)}let Ae=D?.status??`idle`,je=(Ae===`buffering`||!O.length&&!te)&&!ge,Me=O.length+ +!te;return(0,i.jsxs)(`div`,{className:`aha-class`,children:[(0,i.jsxs)(`div`,{className:`aha-classBar`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:0},children:[n?(0,i.jsx)(`span`,{className:`aha-crumb`,children:n}):null,(0,i.jsx)(`span`,{className:`aha-cardTitle`,children:t})]}),(0,i.jsx)(`div`,{className:`aha-row`,children:m})]}),(0,i.jsxs)(`div`,{className:`aha-stage ${h??``}`,children:[(0,i.jsx)($o,{steps:O,position:D?{index:D.index,op:D.op,progress:D.progress}:{index:0,op:0,progress:0},theme:C,buffering:je||!!(ce&&ce!==!0),bufferingLabel:ce===`answering`?y(`answering`):ce===`reexplaining`?y(`generating`):O.length?y(`bufferingLesson`):y(`preparingLesson`)}),Oe?(0,i.jsxs)(`div`,{className:`aha-checkCard`,children:[(0,i.jsx)(`div`,{className:`aha-spread`,children:(0,i.jsx)(`b`,{children:y(`checkTitle`)})}),(0,i.jsx)(Ss,{item:Oe,language:s,onResult:ke,onContinue:()=>k.answer(Oe.id)})]}):null]}),ie&&De?.say?(0,i.jsx)(`div`,{className:`aha-caption`,children:Ho(De.say)}):(0,i.jsx)(`div`,{className:`aha-caption`}),ge?(0,i.jsx)(`div`,{className:`aha-error`,style:{textAlign:`center`},children:y(`errorGeneric`,{message:ge})}):null,ce===!0?(0,i.jsxs)(`form`,{className:`aha-askBox`,onSubmit:Te,children:[(0,i.jsx)(`textarea`,{className:`aha-textarea`,style:{minHeight:44},autoFocus:!0,value:ue,placeholder:y(`askPlaceholder`),onChange:e=>de(e.currentTarget.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&Te(e)}}),(0,i.jsx)(`button`,{type:`submit`,className:`aha-btn`,"data-kind":`primary`,disabled:!ue.trim(),children:y(`ask`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>{le(!1),k.play()},children:y(`cancel`)})]}):null,(0,i.jsxs)(`div`,{className:`aha-controls`,children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>k.prev(),title:y(`prevStep`),"aria-label":y(`prevStep`),children:`⏮`}),(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>k.toggle(),disabled:!O.length,"aria-label":y(Ae===`playing`?`pause`:`play`),children:[Ae===`playing`?`⏸`:`▶`,` `,y(Ae===`playing`?`pause`:`play`)]}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>k.next(),title:y(`nextStep`),"aria-label":y(`nextStep`),children:`⏭`}),(0,i.jsx)(`span`,{className:`aha-tag`,children:y(`stepOf`,{current:Math.min(ye+1,Math.max(1,O.length)),total:Math.max(Me,1)})}),(0,i.jsx)(`select`,{className:`aha-select`,style:{width:`auto`},value:D?.rate??1,onChange:e=>k.setRate(Number(e.currentTarget.value)),"aria-label":y(`speed`),children:Ts.map(e=>(0,i.jsxs)(`option`,{value:e,children:[e,`×`]},e))}),(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,"data-active":!oe,onClick:()=>se(e=>!e),children:oe?`🔇 ${y(`voiceOff`)}`:`🔊 ${y(`voiceOn`)}`}),(0,i.jsxs)(`button`,{type:`button`,className:`aha-chip`,"data-active":ie,onClick:()=>ae(e=>!e),children:[`CC `,y(`captions`)]}),(0,i.jsxs)(`button`,{type:`button`,className:`aha-chip`,onClick:()=>{k.pause(),le(!0)},disabled:!O.length,children:[`✋ `,y(`raiseHand`)]}),(0,i.jsxs)(`span`,{style:{position:`relative`},children:[(0,i.jsxs)(`button`,{type:`button`,className:`aha-chip`,onClick:()=>he(e=>!e),disabled:!O.length,children:[`🔄 `,y(`reexplain`)]}),me?(0,i.jsx)(`div`,{className:`aha-card`,style:{position:`absolute`,bottom:`110%`,left:0,zIndex:10,padding:6,gap:2,minWidth:140},children:Es.map(([e,t])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,style:{justifyContent:`flex-start`},onClick:()=>Ee(e),children:y(t)},e))}):null]})]})]})}function Q({label:e}){return(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:8},children:[(0,i.jsx)(`span`,{className:`aha-spinner`}),e?(0,i.jsx)(`span`,{className:`aha-hint`,children:e}):null]})}function Os({value:e}){return(0,i.jsx)(`div`,{className:`aha-progress`,children:(0,i.jsx)(`div`,{style:{width:`${Math.max(0,Math.min(100,e))}%`}})})}function ks({progress:e,label:t}){if(!e)return(0,i.jsx)(Q,{label:t});let n=e.total?Math.round(e.done/e.total*100):0;return(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:6},children:[(0,i.jsx)(Q,{label:t}),e.total?(0,i.jsx)(Os,{value:n}):null]})}function As({title:e,onClose:t,children:n,footer:r,width:a}){return(0,i.jsx)(`div`,{className:`aha-modalBack`,onMouseDown:e=>{e.target===e.currentTarget&&t?.()},children:(0,i.jsxs)(`div`,{className:`aha-modal`,role:`dialog`,"aria-label":e,style:a?{width:`min(${a}px,100%)`}:void 0,children:[e?(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:e}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:t,"aria-label":`close`,children:`✕`})]}):null,n,r?(0,i.jsx)(`div`,{className:`aha-row`,style:{justifyContent:`flex-end`},children:r}):null]})})}function js({text:e,onConfirm:t,onCancel:n,danger:r=!1}){let{t:a}=f();return(0,i.jsx)(As,{title:a(`confirm`),onClose:n,footer:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:n,children:a(`cancel`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":r?`danger`:`primary`,onClick:t,children:a(`confirm`)})]}),children:(0,i.jsx)(`p`,{children:e})})}function $({error:e}){let{t}=f();if(!e)return null;let n=String(e.code??``).replace(/^aha-tutor\//u,``),r=`err_${n}`;return(0,i.jsx)(`div`,{className:`aha-error`,role:`alert`,children:(n&&t(r)!==r?t(r):null)??t(`errorGeneric`,{message:e.message??String(e)})})}function Ms({children:e}){return(0,i.jsx)(`div`,{className:`aha-empty`,children:e})}function Ns(){let{api:e}=f(),[t,n]=(0,r.useState)(null),[i,a]=(0,r.useState)(null);async function o(t){try{let n=await fetch(new URL(`api/aha-tutor/upload?name=${encodeURIComponent(t.name)}`,document.baseURI),{method:`POST`,credentials:`same-origin`,headers:{"content-type":t.type||`application/octet-stream`},body:t});if(n.status!==404){let t=await n.json();if(!t?.ok)throw Error(t?.error?.message??`Upload failed`);return(await e.follow(t.value)).material}}catch(e){if(e?.message!==`Failed to fetch`)throw e}let n=await c(t);return(await e.run(`material/upload`,{name:t.name,base64:n})).material}async function s(e){let t=[];a(null);for(let r of e){n(r.name);try{t.push(await o(r))}catch(e){a(e)}}return n(null),t}async function l(t){n(t),a(null);try{return[(await e.run(`material/url`,{url:t})).material]}catch(e){return a(e),[]}finally{n(null)}}return{upload:s,addUrl:l,busy:t,error:i}}function Ps({onAdded:e,compact:t=!1}){let{t:n}=f(),a=(0,r.useRef)(null),[o,s]=(0,r.useState)(``),[c,l]=(0,r.useState)(!1),{upload:u,addUrl:d,busy:p,error:m}=Ns(),h=async t=>{let n=await u([...t]);n.length&&e?.(n)};return(0,i.jsxs)(`div`,{className:`aha-col`,children:[(0,i.jsxs)(`div`,{className:`aha-empty`,style:{padding:t?14:24,borderColor:c?`var(--aha-brand)`:void 0,cursor:`pointer`},onClick:()=>a.current?.click(),onDragOver:e=>{e.preventDefault(),l(!0)},onDragLeave:()=>l(!1),onDrop:e=>{e.preventDefault(),l(!1),h(e.dataTransfer.files)},children:[(0,i.jsxs)(`div`,{className:`aha-row`,style:{justifyContent:`center`},children:[(0,i.jsx)(ie,{name:`upload`}),n(`dropHere`)]}),(0,i.jsx)(`input`,{ref:a,type:`file`,multiple:!0,accept:`.pdf,.docx,.pptx,.md,.markdown,.txt,.csv,.json,.tex,.py,.js,.ts,.html,.png,.jpg,.jpeg,.webp,.gif`,hidden:!0,onChange:e=>{h(e.currentTarget.files),e.currentTarget.value=``}})]}),(0,i.jsxs)(`form`,{className:`aha-row`,onSubmit:async t=>{if(t.preventDefault(),!o.trim())return;let n=await d(o.trim());n.length&&(s(``),e?.(n))},children:[(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:1},value:o,placeholder:n(`urlPlaceholder`),onChange:e=>s(e.currentTarget.value)}),(0,i.jsxs)(`button`,{type:`submit`,className:`aha-btn`,disabled:!o.trim()||!!p,children:[(0,i.jsx)(ie,{name:`link`}),n(`addUrl`)]})]}),p?(0,i.jsx)(Q,{label:`${n(`reading`)} ${p}`}):null,(0,i.jsx)($,{error:m})]})}function Fs({selected:e,onChange:t,onClose:n}){let{api:r,t:a}=f(),o=p(()=>r.call(`material/list`),[]),s=n=>t(e.includes(n)?e.filter(e=>e!==n):[...e,n].slice(0,8));return(0,i.jsxs)(As,{title:a(`pickMaterials`),onClose:n,width:640,footer:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:n,children:a(`confirm`)}),children:[(0,i.jsx)(Ps,{compact:!0,onAdded:n=>{o.reload(),t([...e,...n.map(e=>e.id)].slice(0,8))}}),o.loading&&!o.value?(0,i.jsx)(Q,{label:a(`loading`)}):null,(0,i.jsx)(`div`,{className:`aha-col`,style:{gap:6,maxHeight:320,overflow:`auto`},children:(o.value??[]).map(t=>(0,i.jsxs)(`label`,{className:`aha-option`,style:{flexDirection:`row`,alignItems:`center`,gap:10},children:[(0,i.jsx)(`input`,{type:`checkbox`,checked:e.includes(t.id),onChange:()=>s(t.id)}),(0,i.jsxs)(`span`,{className:`aha-col`,style:{gap:0},children:[(0,i.jsx)(`b`,{children:t.title}),(0,i.jsx)(`small`,{children:Is(t,a)})]})]},t.id))})]})}function Is(e,t){let n=[e.kind.toUpperCase()];return e.pages&&n.push(t(`pages`,{count:e.pages})),e.slides&&n.push(t(`slides`,{count:e.slides})),e.kind===`image`&&n.push(t(`imageNeedsVision`)),n.join(` · `)}function Ls({value:e}){let t=Math.round((Number(e)||0)/20);return(0,i.jsx)(`span`,{className:`aha-meter`,title:`${Math.round(e??0)}%`,children:[0,1,2,3,4].map(e=>(0,i.jsx)(`i`,{"data-on":e<t},e))})}function Rs(e){return navigator.clipboard?.writeText(e).catch(()=>void 0)}let zs=[[`explain`,`modeExplain`,`💡`],[`solve`,`modeSolve`,`🧮`],[`visualize`,`modeVisualize`,`📈`]];function Bs({draftMode:e,draftRequest:t,draftMaterials:n,token:a}){let{api:o,t:s}=f(),c=p(()=>o.call(`items/list`,{kind:`assist`}),[]),[l,u]=(0,r.useState)(zs.some(([t])=>t===e)?e:`explain`),[d,m]=(0,r.useState)(t??``),[g,_]=(0,r.useState)(Array.isArray(n)?n:[]),[v,y]=(0,r.useState)(!1),[b,x]=(0,r.useState)(null),[S,C]=(0,r.useState)(null),w=h(a);async function T(e=d){let t=e.trim();if(!t)return;C(null);let n=b?.threadId??ns(`thd`);try{let{job:e}=await o.call(`assist/ask`,{mode:l,request:t,materialIds:g,threadId:b?.threadId,newThreadId:b?.threadId?void 0:n});x(r=>({threadId:n,turn:r?r.turn+1:0,stream:e,steps:[],title:t.slice(0,80),language:void 0,key:`${n}:${Date.now()}`})),m(``)}catch(e){C(e)}}(0,r.useEffect)(()=>{w&&t&&T(t)},[]);async function E(e){C(null);try{let{item:t}=await o.call(`items/get`,{kind:`assist`,id:e}),n=t.turns.length-1;x({threadId:t.id,turn:n,stream:null,steps:t.turns[n]?.board?.steps??[],title:t.turns[n]?.request??t.title,language:t.language,key:`${t.id}:${n}:open`})}catch(e){C(e)}}return(0,i.jsxs)(`div`,{className:`aha-page`,"data-wide":`true`,children:[(0,i.jsxs)(`div`,{className:`aha-split`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{minHeight:0},children:[b?(0,i.jsx)(Ds,{scope:{kind:`thread`,id:b.threadId,turn:b.turn},title:b.title,steps:b.steps,stream:b.stream,language:b.language,recordChecks:!1,onStreamDone:()=>c.reload()},b.key):(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:s(`assistTitle`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:s(`assistHint`)})]}),(0,i.jsxs)(`div`,{className:`aha-composer`,children:[(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:6},children:zs.map(([e,t,n])=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-chip`,"data-active":l===e,onClick:()=>u(e),children:[n,` `,s(t)]},e))}),(0,i.jsx)(`textarea`,{value:d,placeholder:s(b?`followUp`:`assistPlaceholder`),onChange:e=>m(e.currentTarget.value),onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&T()}}),(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>y(!0),children:g.length?s(`attached`,{count:g.length}):s(`attach`)}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[b?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>x(null),children:s(`newThread`)}):null,(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:!d.trim(),onClick:()=>T(),children:s(`ask`)})]})]})]}),(0,i.jsx)($,{error:S})]}),(0,i.jsxs)(`aside`,{className:`aha-col`,style:{minHeight:0,overflow:`auto`},children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:s(`history`)}),c.loading&&!c.value?(0,i.jsx)(Q,{}):(c.value??[]).map(e=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-option`,onClick:()=>E(e.id),children:[(0,i.jsx)(`b`,{children:e.title}),(0,i.jsx)(`small`,{children:new Date(e.updatedAt).toLocaleString()})]},e.id))]})]}),v?(0,i.jsx)(Fs,{selected:g,onChange:_,onClose:()=>y(!1)}):null]})}Object.freeze({pInit:.2,pTransit:.15,pSlip:.1,pGuess:.2}),Object.freeze([{id:`struggling`,min:0},{id:`learning`,min:.4},{id:`proficient`,min:.7},{id:`mastered`,min:.9}]);let Vs=(e,t,n)=>Math.min(n,Math.max(t,e));function Hs(e){return Math.round(Vs(Number(e?.pKnown)||0,0,1)*100)}let Us=[[`outline`,`tabOutline`],[`practice`,`tabPractice`],[`sheets`,`tabSheets`],[`cards`,`tabCards`],[`projects`,`tabProjects`],[`progress`,`tabProgress`]];function Ws({courseId:e,tab:t=`outline`}){let{api:n,t:a,navigate:o,toast:s}=f(),c=p(()=>n.call(`course/get`,{courseId:e}),[e]),[u,d]=(0,r.useState)(t),[m,h]=(0,r.useState)(!1),[g,_]=(0,r.useState)(!1),[v,y]=(0,r.useState)(!1),b=c.value?.course,x=c.value?.progress,S=(0,r.useMemo)(()=>b?.units?as(b,x):null,[b,x]),C=(0,r.useMemo)(()=>b?.units?os(b,x):null,[b,x]);if(c.loading&&!c.value)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Q,{label:a(`loading`)})});if(!b)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)($,{error:c.error})});if(b.status!==`ready`)return o(`craft`,{courseId:e},{replace:!0}),null;let w=e=>Hs(x?.concepts?.[e]??{pKnown:.2}),T=e=>e.concepts.length?e.concepts.reduce((e,t)=>e+w(t.id),0)/e.concepts.length:0,E=e=>x?.lessons?.[e]?.status??`new`;async function ee(t){_(!1);try{let r=await n.call(`course/export`,{courseId:e,includeProgress:t});l(r.fileName,r.json)}catch(e){s(a(`errorGeneric`,{message:e.message}))}}return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4,flex:1,minWidth:260},children:[(0,i.jsxs)(`div`,{className:`aha-row`,style:{flexWrap:`nowrap`},children:[(0,i.jsx)(`span`,{style:{fontSize:30},children:b.emoji}),(0,i.jsx)(`h2`,{className:`aha-title`,children:b.title})]}),b.subtitle?(0,i.jsx)(`p`,{className:`aha-subtitle`,children:b.subtitle}):null,S?(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4,maxWidth:480},children:[(0,i.jsx)(Os,{value:S.percent}),(0,i.jsxs)(`span`,{className:`aha-hint`,children:[a(`lessonsCount`,S),` · `,a(`minutesLeft`,{minutes:S.minutesLeft})]})]}):null]}),(0,i.jsxs)(`div`,{className:`aha-row`,style:{position:`relative`},children:[C?(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>o(`lesson`,{courseId:e,lessonId:C.lesson.id}),children:[(0,i.jsx)(ie,{name:`play`,size:14}),a(`continueLearning`)]}):null,(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>h(e=>!e),children:`⋯`}),m?(0,i.jsxs)(`div`,{className:`aha-card`,style:{position:`absolute`,right:0,top:`110%`,zIndex:20,padding:6,gap:2,minWidth:180},onMouseLeave:()=>h(!1),children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,style:{justifyContent:`flex-start`},onClick:()=>{h(!1),_(!0)},children:a(`exportPack`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,style:{justifyContent:`flex-start`},onClick:async()=>{h(!1),await n.call(`course/update`,{courseId:e,archived:!b.archived}),c.reload()},children:b.archived?a(`unarchive`):a(`archive`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,style:{justifyContent:`flex-start`,color:`var(--aha-bad)`},onClick:()=>{h(!1),y(!0)},children:a(`deleteCourse`)})]}):null]})]}),(0,i.jsx)(`div`,{className:`aha-tabs`,children:Us.map(([e,t])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-tab`,"data-active":u===e,onClick:()=>d(e),children:a(t)},e))}),u===`outline`?(0,i.jsx)(`div`,{className:`aha-tree`,children:b.units.map((t,n)=>(0,i.jsxs)(`div`,{className:`aha-unit`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`b`,{children:[a(`unitN`,{n:n+1}),` · `,t.title]}),(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:4},children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>o(`sheet`,{courseId:e,unitId:t.id}),children:a(`unitSheet`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>o(`practice`,{courseId:e,unitId:t.id}),children:a(`unitQuiz`)})]})]}),t.summary?(0,i.jsx)(`p`,{className:`aha-hint`,children:t.summary}):null,t.lectures.map((t,n)=>(0,i.jsxs)(`div`,{className:`aha-lecture`,children:[(0,i.jsxs)(`div`,{className:`aha-hint`,style:{fontWeight:600},children:[a(`lectureN`,{n:n+1}),` · `,t.title]}),t.lessons.map(t=>(0,i.jsxs)(`div`,{className:`aha-lesson`,children:[(0,i.jsx)(`span`,{className:`aha-dot`,"data-state":E(t.id)}),(0,i.jsx)(`span`,{style:{flex:1,cursor:`pointer`},onClick:()=>o(`lesson`,{courseId:e,lessonId:t.id}),title:t.summary,children:t.title}),t.kind===`remedial`?(0,i.jsx)(`span`,{className:`aha-tag`,children:a(`remedial`)}):null,(0,i.jsx)(`span`,{className:`aha-hint`,children:a(`estMinutes`,{minutes:t.estMinutes})}),(0,i.jsx)(Ls,{value:T(t)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>o(`lesson`,{courseId:e,lessonId:t.id}),children:a(`learn`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>o(`practice`,{courseId:e,lessonId:t.id}),children:a(`practice`)})]},t.id))]},t.id))]},t.id))}):null,u===`practice`?(0,i.jsxs)(`div`,{className:`aha-col`,children:[(0,i.jsx)(`div`,{className:`aha-row`,children:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>o(`practice`,{review:!0}),children:a(`startReview`)})}),b.units.map((t,n)=>(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`b`,{children:[a(`unitN`,{n:n+1}),` · `,t.title]}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>o(`practice`,{courseId:e,unitId:t.id}),children:a(`unitQuiz`)})]}),(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:6},children:t.lectures.flatMap(e=>e.lessons).map(t=>(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,onClick:()=>o(`practice`,{courseId:e,lessonId:t.id}),children:t.title},t.id))})]},t.id))]}):null,u===`sheets`?(0,i.jsx)(`div`,{className:`aha-grid`,children:b.units.map((t,n)=>(0,i.jsxs)(`div`,{className:`aha-card`,"data-click":`true`,onClick:()=>o(`sheet`,{courseId:e,unitId:t.id}),children:[(0,i.jsx)(`span`,{className:`aha-hint`,children:a(`unitN`,{n:n+1})}),(0,i.jsx)(`b`,{children:t.title}),(0,i.jsx)(`span`,{className:`aha-tag`,children:c.value.ready.sheets.includes(t.id)?a(`open`):a(`generate`)})]},t.id))}):null,u===`cards`?(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsx)(`p`,{children:a(`cardsTitle`)}),(0,i.jsx)(`div`,{className:`aha-row`,children:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>o(`cards`,{courseId:e}),children:a(`open`)})})]}):null,u===`projects`?b.projects?.length?(0,i.jsx)(`div`,{className:`aha-grid`,children:b.projects.map(t=>(0,i.jsxs)(`div`,{className:`aha-card`,"data-click":`true`,onClick:()=>o(`project`,{courseId:e,projectId:t.id}),children:[(0,i.jsx)(`b`,{children:t.title}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t.brief.slice(0,160)}),(0,i.jsx)(`span`,{className:`aha-tag`,children:x?.projects?.[t.id]?.status===`passed`?`✔`:t.kind})]},t.id))}):(0,i.jsx)(Ms,{children:a(`empty`)}):null,u===`progress`?(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:a(`conceptMastery`)}),(0,i.jsx)(`div`,{className:`aha-col`,style:{gap:4},children:rs(b).flatMap(({lesson:e})=>e.concepts.map(t=>({concept:t,lesson:e}))).map(({concept:e,lesson:t})=>{let n=x?.concepts?.[e.id];return(0,i.jsxs)(`div`,{className:`aha-spread`,style:{padding:`3px 0`,borderBottom:`1px solid var(--aha-border)`},children:[(0,i.jsxs)(`span`,{children:[e.name,` `,(0,i.jsxs)(`span`,{className:`aha-hint`,children:[`· `,t.title]})]}),(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:8},children:[n?.misconceptions?.length?(0,i.jsxs)(`span`,{className:`aha-tag`,title:n.misconceptions.join(`
265
+ `),children:[`⚠ `,n.misconceptions.length]}):null,(0,i.jsx)(Ls,{value:w(e.id)}),(0,i.jsx)(`span`,{className:`aha-hint`,style:{width:36,textAlign:`right`},children:n?`${w(e.id)}%`:`—`})]})]},e.id)})})]}):null,g?(0,i.jsx)(As,{title:a(`exportPack`),onClose:()=>_(!1),footer:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>ee(!1),children:a(`exportPack`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>ee(!0),children:a(`exportWithProgress`)})]}),children:(0,i.jsx)(`p`,{className:`aha-hint`,children:b.title})}):null,v?(0,i.jsx)(js,{danger:!0,text:a(`deleteConfirm`,{title:b.title}),onCancel:()=>y(!1),onConfirm:async()=>{await n.call(`course/remove`,{courseId:e}),o(`courses`,{},{replace:!0})}}):null]})}let Gs=[[`all`,`filterAll`],[`active`,`filterActive`],[`done`,`filterDone`],[`archived`,`filterArchived`]];function Ks(){let{api:e,t,navigate:n,toast:a}=f(),o=p(()=>e.call(`course/list`),[]),[s,c]=(0,r.useState)(`all`),[l,u]=(0,r.useState)(``),[d,m]=(0,r.useState)(null),h=(0,r.useRef)(null),g=(o.value??[]).filter(e=>s===`archived`?e.archived:e.archived?!1:s===`active`?e.status!==`ready`||e.progress.percent<100:s!==`done`||e.status===`ready`&&e.progress.percent>=100).filter(e=>!l.trim()||`${e.title} ${e.subtitle}`.toLowerCase().includes(l.trim().toLowerCase()));async function _(r){m(null);try{let i=await r.text(),o=await e.call(`course/import`,{json:i});a(t(`courseReady`)),n(`course`,{courseId:o.id})}catch(e){m(e)}}return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:t(`coursesTitle`)}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>h.current?.click(),children:t(`importPack`)}),(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>n(`home`),children:[`+ `,t(`modeCourse`)]}),(0,i.jsx)(`input`,{ref:h,type:`file`,accept:`.json,application/json`,hidden:!0,onChange:e=>{let t=e.currentTarget.files?.[0];t&&_(t),e.currentTarget.value=``}})]})]}),(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:6},children:Gs.map(([e,n])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,"data-active":s===e,onClick:()=>c(e),children:t(n)},e))}),(0,i.jsx)(`input`,{className:`aha-input`,style:{maxWidth:260},value:l,placeholder:t(`searchCourses`),onChange:e=>u(e.currentTarget.value)})]}),(0,i.jsx)($,{error:d??o.error}),o.loading&&!o.value?(0,i.jsx)(Q,{label:t(`loading`)}):g.length?(0,i.jsx)(`div`,{className:`aha-grid`,children:g.map(e=>(0,i.jsxs)(`div`,{className:`aha-card`,"data-click":`true`,onClick:()=>n(e.status===`ready`?`course`:`craft`,{courseId:e.id}),children:[(0,i.jsxs)(`div`,{className:`aha-row`,style:{flexWrap:`nowrap`},children:[(0,i.jsx)(`span`,{style:{fontSize:26},children:e.emoji}),(0,i.jsx)(`span`,{className:`aha-cardTitle`,children:e.title})]}),e.subtitle?(0,i.jsx)(`p`,{className:`aha-hint`,children:e.subtitle}):null,e.status===`ready`?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(Os,{value:e.progress.percent}),(0,i.jsxs)(`span`,{className:`aha-hint`,children:[t(`lessonsCount`,e.progress),e.next?` · ${t(`nextUp`,{title:e.next.title})}`:``]})]}):(0,i.jsx)(`span`,{className:`aha-tag`,children:e.status===`intake`?t(`statusIntake`):t(`statusBlueprint`)})]},e.id))}):(0,i.jsx)(Ms,{children:t(`noCourses`)})]})}let qs=[[`intensive`,`paceIntensive`,`paceIntensiveHint`],[`balanced`,`paceBalanced`,`paceBalancedHint`],[`relaxed`,`paceRelaxed`,`paceRelaxedHint`]],Js=[60,120,180,300,420,600];function Ys({jobId:e,courseId:t}){let{api:n,t:a,navigate:o}=f(),[s,c]=(0,r.useState)(null);return(0,r.useEffect)(()=>{if(!e||t)return;let r=new AbortController;return n.follow({job:{id:e,status:`running`}},{signal:r.signal}).then(e=>o(`craft`,{courseId:e.courseId},{replace:!0})).catch(e=>{r.signal.aborted||c(e)}),()=>r.abort()},[e,t]),t?(0,i.jsx)(Xs,{courseId:t}):(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:a(`craftQuestionsTitle`)}),s?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)($,{error:s}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>o(`home`),children:a(`back`)})]}):(0,i.jsx)(Q,{label:a(`thinkingQuestions`)})]})}function Xs({courseId:e}){let{api:t,t:n,navigate:a}=f(),o=p(()=>t.call(`course/get`,{courseId:e}),[e]),s=m(),c=o.value?.course;return(0,r.useEffect)(()=>{let e=o.value?.jobs?.blueprint??o.value?.jobs?.confirm;!e||s.running||s.run(null,null,{existing:e}).then(()=>o.reload()).catch(()=>void 0)},[o.value]),(0,r.useEffect)(()=>{c?.status===`ready`&&!s.running&&a(`course`,{courseId:e},{replace:!0})},[c?.status]),o.loading&&!o.value?(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Q,{label:n(`loading`)})}):o.error&&!o.value?(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)($,{error:o.error})}):c?c.status===`intake`?(0,i.jsx)(Zs,{course:c,intake:o.value.intake,job:s,onDone:()=>o.reload()}):(0,i.jsx)(ec,{course:c,job:s,onChange:()=>o.reload()}):null}function Zs({course:e,intake:t,job:n,onDone:a}){let{t:o}=f(),s=t?.questionnaire?.questions??[],[c,l]=(0,r.useState)({}),[u,d]=(0,r.useState)(`balanced`),[p,m]=(0,r.useState)(180),[h,g]=(0,r.useState)(``),_=(e,t)=>l(n=>{let r=n[e.id]??{choice:[],other:``},i=e.multi?r.choice.includes(t)?r.choice.filter(e=>e!==t):[...r.choice,t]:[t];return{...n,[e.id]:{...r,choice:i}}});async function v(){try{await n.run(`course/intake`,{courseId:e.id,answers:c,timeline:u,weeklyMinutes:p,deadline:h||void 0}),a()}catch{}}return n.running?(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:e.goal}),(0,i.jsx)(ks,{progress:n.progress,label:o(`designingBlueprint`)})]}):(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:o(`craftQuestionsTitle`)}),(0,i.jsx)(`p`,{className:`aha-subtitle`,children:e.goal}),(0,i.jsx)(`p`,{className:`aha-hint`,children:o(`craftQuestionsHint`)})]}),s.map((e,t)=>(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-cardTitle`,children:[t+1,`. `,e.prompt]}),(0,i.jsx)(`div`,{className:`aha-grid`,style:{gridTemplateColumns:`repeat(auto-fill,minmax(220px,1fr))`},children:e.options.map(t=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-option`,"data-active":c[e.id]?.choice?.includes(t.id)??!1,onClick:()=>_(e,t.id),children:[(0,i.jsx)(`b`,{children:t.label}),t.detail?(0,i.jsx)(`small`,{children:t.detail}):null]},t.id))}),(0,i.jsx)(`input`,{className:`aha-input`,placeholder:o(`craftOther`),value:c[e.id]?.other??``,onChange:t=>{let n=t.currentTarget.value;l(t=>({...t,[e.id]:{choice:t[e.id]?.choice??[],other:n}}))}})]},e.id)),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`div`,{className:`aha-cardTitle`,children:o(`craftPace`)}),(0,i.jsx)(`div`,{className:`aha-grid`,style:{gridTemplateColumns:`repeat(auto-fill,minmax(200px,1fr))`},children:qs.map(([e,t,n])=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-option`,"data-active":u===e,onClick:()=>d(e),children:[(0,i.jsx)(`b`,{children:o(t)}),(0,i.jsx)(`small`,{children:o(n)})]},e))}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsxs)(`label`,{className:`aha-label`,style:{flex:1,minWidth:220},children:[o(`weeklyMinutes`),(0,i.jsx)(`select`,{className:`aha-select`,value:p,onChange:e=>m(Number(e.currentTarget.value)),children:Js.map(e=>(0,i.jsx)(`option`,{value:e,children:o(`minutesUnit`,{minutes:e})},e))})]}),(0,i.jsxs)(`label`,{className:`aha-label`,style:{flex:1,minWidth:220},children:[o(`deadline`),(0,i.jsx)(`input`,{className:`aha-input`,type:`date`,value:h,onChange:e=>g(e.currentTarget.value)})]})]})]}),(0,i.jsx)($,{error:n.error}),(0,i.jsx)(`div`,{className:`aha-row`,children:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:v,children:o(`makeBlueprint`)})})]})}function Qs(e){return JSON.parse(JSON.stringify(e??[]))}function $s(e,t,n){let r=[...e],i=t+n;return i<0||i>=r.length?e:([r[t],r[i]]=[r[i],r[t]],r)}function ec({course:e,job:t,onChange:n}){let{api:a,t:o,toast:s}=f(),[c,l]=(0,r.useState)(()=>Qs(e.units)),[u,d]=(0,r.useState)(e.title),[p,m]=(0,r.useState)(!1),[h,g]=(0,r.useState)(``),[_,v]=(0,r.useState)(!1),[y,b]=(0,r.useState)(null);(0,r.useEffect)(()=>{l(Qs(e.units)),d(e.title),m(!1)},[e]);let x=e=>{l(t=>{let n=Qs(t);return e(n),n.filter(e=>e.lectures.length).map(e=>({...e,lectures:e.lectures.filter(e=>e.lessons.length)}))}),m(!0)},S=(0,r.useMemo)(()=>c.reduce((e,t)=>e+t.lectures.reduce((e,t)=>e+t.lessons.length,0),0),[c]),C=(0,r.useMemo)(()=>c.reduce((e,t)=>e+t.lectures.reduce((e,t)=>e+t.lessons.reduce((e,t)=>e+(t.estMinutes||15),0),0),0),[c]);async function w(){v(!0),b(null);try{return await a.call(`course/save-blueprint`,{courseId:e.id,blueprint:{...e,title:u,units:c}}),m(!1),s(o(`saved`)),n(),!0}catch(e){return b(e),!1}finally{v(!1)}}async function T(r){if(r.preventDefault(),h.trim()&&!(p&&!await w()))try{await t.run(`course/revise`,{courseId:e.id,instruction:h}),g(``),n()}catch{}}async function E(){if(!(p&&!await w()))try{await t.run(`course/confirm`,{courseId:e.id}),n()}catch{}}if(t.running){let n=t.progress?.label===`practice`||t.progress?.label===`projects`?o(`confirming`,{done:t.progress.done,total:t.progress.total}):o(`revising`);return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`h2`,{className:`aha-title`,children:[e.emoji,` `,e.title]}),(0,i.jsx)(ks,{progress:t.progress,label:n})]})}return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4,flex:1},children:[(0,i.jsx)(`span`,{className:`aha-hint`,children:o(`blueprintTitle`)}),(0,i.jsxs)(`div`,{className:`aha-row`,style:{flexWrap:`nowrap`},children:[(0,i.jsx)(`span`,{style:{fontSize:28},children:e.emoji}),(0,i.jsx)(`input`,{className:`aha-input aha-title`,style:{border:`none`,padding:`2px 4px`},value:u,onChange:e=>{d(e.currentTarget.value),m(!0)}})]}),e.subtitle?(0,i.jsx)(`p`,{className:`aha-subtitle`,children:e.subtitle}):null,(0,i.jsxs)(`p`,{className:`aha-hint`,children:[o(`lessonsCount`,{done:0,total:S}),` · `,o(`minutesLeft`,{minutes:C})]})]}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[p?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,disabled:_,onClick:w,children:o(`saveEdits`)}):null,(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:E,children:o(`confirmCourse`)})]})]}),e.summary?(0,i.jsx)(`p`,{children:e.summary}):null,(0,i.jsx)(`p`,{className:`aha-hint`,children:o(`blueprintHint`)}),(0,i.jsxs)(`form`,{className:`aha-row`,onSubmit:T,children:[(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:1},value:h,placeholder:o(`revisePlaceholder`),onChange:e=>g(e.currentTarget.value),"aria-label":o(`reviseLabel`)}),(0,i.jsx)(`button`,{type:`submit`,className:`aha-btn`,disabled:!h.trim(),children:o(`revise`)})]}),(0,i.jsx)($,{error:y??t.error}),(0,i.jsxs)(`div`,{className:`aha-tree`,children:[c.map((e,t)=>(0,i.jsxs)(`div`,{className:`aha-unit`,children:[(0,i.jsxs)(`div`,{className:`aha-lesson`,style:{fontWeight:650},children:[(0,i.jsx)(`span`,{className:`aha-tag`,children:o(`unitN`,{n:t+1})}),(0,i.jsx)(`input`,{value:e.title,onChange:e=>{let n=e.currentTarget.value;x(e=>{e[t].title=n})}}),(0,i.jsx)(tc,{onUp:()=>x(e=>{e.splice(0,e.length,...$s(e,t,-1))}),onDown:()=>x(e=>{e.splice(0,e.length,...$s(e,t,1))}),onRemove:()=>x(e=>{e.splice(t,1)})})]}),e.lectures.map((e,n)=>(0,i.jsxs)(`div`,{className:`aha-lecture`,children:[(0,i.jsxs)(`div`,{className:`aha-lesson`,style:{fontWeight:600},children:[(0,i.jsx)(`span`,{className:`aha-hint`,children:o(`lectureN`,{n:n+1})}),(0,i.jsx)(`input`,{value:e.title,onChange:e=>{let r=e.currentTarget.value;x(e=>{e[t].lectures[n].title=r})}}),(0,i.jsx)(tc,{onUp:()=>x(e=>{let r=e[t].lectures;r.splice(0,r.length,...$s(r,n,-1))}),onDown:()=>x(e=>{let r=e[t].lectures;r.splice(0,r.length,...$s(r,n,1))}),onRemove:()=>x(e=>{e[t].lectures.splice(n,1)})})]}),e.lessons.map((e,r)=>(0,i.jsxs)(`div`,{className:`aha-lesson`,children:[(0,i.jsx)(`span`,{className:`aha-dot`}),(0,i.jsx)(`input`,{value:e.title,title:e.summary,onChange:e=>{let i=e.currentTarget.value;x(e=>{e[t].lectures[n].lessons[r].title=i})}}),(0,i.jsx)(`span`,{className:`aha-hint`,children:o(`estMinutes`,{minutes:e.estMinutes})}),(0,i.jsx)(tc,{onUp:()=>x(e=>{let i=e[t].lectures[n].lessons;i.splice(0,i.length,...$s(i,r,-1))}),onDown:()=>x(e=>{let i=e[t].lectures[n].lessons;i.splice(0,i.length,...$s(i,r,1))}),onRemove:()=>x(e=>{e[t].lectures[n].lessons.splice(r,1)})})]},e.id??r)),(0,i.jsx)(`div`,{children:(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>x(e=>{e[t].lectures[n].lessons.push({title:o(`untitled`),objectives:[],concepts:[],estMinutes:15})}),children:[`+ `,o(`addLesson`)]})})]},e.id??n)),(0,i.jsx)(`div`,{children:(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>x(e=>{e[t].lectures.push({title:o(`untitled`),lessons:[{title:o(`untitled`),objectives:[],concepts:[],estMinutes:15}]})}),children:[`+ `,o(`addLecture`)]})})]},e.id??t)),(0,i.jsx)(`div`,{children:(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>x(e=>{e.push({title:o(`untitled`),objectives:[],lectures:[{title:o(`untitled`),lessons:[{title:o(`untitled`),objectives:[],concepts:[],estMinutes:15}]}]})}),children:[`+ `,o(`addUnit`)]})})]}),e.projects?.length?(0,i.jsxs)(`section`,{className:`aha-col`,children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:o(`projects`)}),(0,i.jsx)(`div`,{className:`aha-grid`,children:e.projects.map(e=>(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:e.title}),(0,i.jsx)(`p`,{className:`aha-hint`,children:e.brief})]},e.id))})]}):null]})}function tc({onUp:e,onDown:t,onRemove:n}){let{t:r}=f();return(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:2,flexWrap:`nowrap`},children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:e,title:r(`moveUp`),"aria-label":r(`moveUp`),children:`↑`}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:t,title:r(`moveDown`),"aria-label":r(`moveDown`),children:`↓`}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:n,title:r(`remove`),"aria-label":r(`remove`),children:`✕`})]})}function nc(e){let t=e instanceof Date?e:new Date(e);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,`0`)}-${String(t.getDate()).padStart(2,`0`)}`}let rc=[[`course`,`modeCourse`,`🎓`],[`explain`,`modeExplain`,`💡`],[`solve`,`modeSolve`,`🧮`],[`visualize`,`modeVisualize`,`📈`],[`digest`,`modeDigest`,`📚`],[`short`,`modeShort`,`🎬`]];function ic(){let{api:e,t,navigate:n,toast:a}=f(),[o,s]=(0,r.useState)(`course`),[c,l]=(0,r.useState)(``),[u,d]=(0,r.useState)([]),[m,h]=(0,r.useState)(!1),[g,_]=(0,r.useState)(!1),[v,y]=(0,r.useState)(null),b=p(()=>e.call(`course/list`),[]),x=p(()=>e.call(`plan/get`,{today:nc(new Date)}),[]),S=p(()=>e.call(`samples/list`),[]);async function C(t=!1){let r=c.trim();if(y(null),o===`course`){if(!r&&!u.length)return;_(!0);try{let{job:i}=await e.call(`course/start`,{goal:r,materialIds:u,quick:t});n(`craft`,{jobId:i.id})}catch(e){y(e)}finally{_(!1)}return}if(o===`digest`){if(!u.length){h(!0);return}n(`item`,{kind:`digest`,materialId:u[0]});return}if(o===`short`){let e=/^https?:\/\//iu.test(r);n(`shorts`,{draftTopic:e?``:r,draftUrl:e?r:``,token:Date.now().toString(36)});return}r&&n(`assist`,{draftMode:o,draftRequest:r,draftMaterials:u,token:Date.now().toString(36)})}let w=(b.value??[]).filter(e=>e.status===`ready`&&!e.archived&&e.progress.percent<100).slice(0,3),T=(b.value??[]).filter(e=>e.status!==`ready`&&!e.archived).slice(0,2),E=x.value?.today??[];return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`section`,{className:`aha-hero`,children:[(0,i.jsx)(`div`,{className:`aha-heroTitle`,children:t(`heroTitle`)}),(0,i.jsx)(`p`,{className:`aha-subtitle`,children:t(`heroHint`)}),(0,i.jsxs)(`div`,{className:`aha-composer`,children:[(0,i.jsx)(`textarea`,{value:c,placeholder:t(`heroPlaceholder`),onChange:e=>l(e.currentTarget.value),onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&C()}}),(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:6},children:(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>h(!0),children:[(0,i.jsx)(ie,{name:`plus`,size:15}),u.length?t(`attached`,{count:u.length}):t(`attach`)]})}),(0,i.jsxs)(`div`,{className:`aha-row`,style:{gap:6},children:[o===`course`?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,disabled:g,onClick:()=>C(!0),children:t(`quickStart`)}):null,(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:g||!c.trim()&&!u.length,onClick:()=>C(!1),children:[g?(0,i.jsx)(`span`,{className:`aha-spinner`}):null,t(`start`)]})]})]})]}),(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:8},children:rc.map(([e,n,r])=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-chip`,"data-active":o===e,onClick:()=>s(e),children:[r,` `,t(n)]},e))}),(0,i.jsx)($,{error:v})]}),w.length||T.length?(0,i.jsxs)(`section`,{className:`aha-col`,children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:t(`continueLearning`)}),(0,i.jsx)(`div`,{className:`aha-grid`,children:[...T,...w].map(e=>(0,i.jsxs)(`div`,{className:`aha-card`,"data-click":`true`,onClick:()=>n(e.status===`ready`?`course`:`craft`,{courseId:e.id}),children:[(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`span`,{style:{fontSize:24},children:e.emoji}),(0,i.jsx)(`span`,{className:`aha-cardTitle`,children:e.title})]}),e.status===`ready`?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(Os,{value:e.progress.percent}),(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`span`,{className:`aha-hint`,children:t(`lessonsCount`,e.progress)}),e.next?(0,i.jsx)(`span`,{className:`aha-hint`,children:t(`nextUp`,{title:e.next.title})}):null]}),e.next?(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:t=>{t.stopPropagation(),n(`lesson`,{courseId:e.id,lessonId:e.next.lessonId})},children:[(0,i.jsx)(ie,{name:`play`,size:14}),t(`continueLearning`)]}):null]}):(0,i.jsx)(`span`,{className:`aha-tag`,children:e.status===`intake`?t(`statusIntake`):t(`statusBlueprint`)})]},e.id))})]}):null,(0,i.jsxs)(`section`,{className:`aha-col`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:t(`todayPlan`)}),(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>n(`plan`),children:[t(`navPlan`),` →`]})]}),x.loading&&!x.value?(0,i.jsx)(Q,{}):E.length?(0,i.jsx)(`div`,{className:`aha-col`,style:{gap:6},children:E.map((e,r)=>(0,i.jsxs)(`div`,{className:`aha-card`,style:{flexDirection:`row`,alignItems:`center`,padding:`10px 14px`},children:[(0,i.jsx)(`span`,{className:`aha-tag`,children:e.kind===`lesson`?t(`lessonItem`):e.kind===`review`?t(`reviewItem`):t(`examItem`)}),(0,i.jsxs)(`span`,{style:{flex:1},children:[e.title,e.courseTitle?(0,i.jsxs)(`span`,{className:`aha-hint`,children:[` · `,e.courseTitle]}):null]}),e.minutes?(0,i.jsx)(`span`,{className:`aha-hint`,children:t(`minutesUnit`,{minutes:e.minutes})}):null,e.kind===`lesson`?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>n(`lesson`,{courseId:e.courseId,lessonId:e.refId}),children:t(`learn`)}):null,e.kind===`review`?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>n(`practice`,{review:!0}),children:t(`review`)}):null]},`${e.refId}-${r}`))}):(0,i.jsx)(Ms,{children:t(`noPlanToday`)})]}),S.value?.length?(0,i.jsxs)(`section`,{className:`aha-col`,children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:t(`sampleCourses`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`sampleHint`)}),(0,i.jsx)(`div`,{className:`aha-grid`,children:S.value.map(r=>(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`span`,{style:{fontSize:24},children:r.emoji}),(0,i.jsx)(`span`,{className:`aha-cardTitle`,children:r.title})]}),(0,i.jsx)(`p`,{className:`aha-hint`,children:r.subtitle}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:async()=>{try{let i=await e.call(`samples/import`,{id:r.id});a(t(`courseReady`)),n(`course`,{courseId:i.id})}catch(e){a(t(`errorGeneric`,{message:e.message}))}},children:t(`importSample`)})]},r.id))})]}):null,m?(0,i.jsx)(Fs,{selected:u,onChange:d,onClose:()=>h(!1)}):null]})}let ac=`'Segoe Print','Ink Free','Bradley Hand','Chalkboard SE','Noteworthy','Comic Sans MS','LXGW WenKai','Kaiti SC','STKaiti','KaiTi','楷体',cursive`,oc=`
266
266
  .aha{container-type:inline-size;container-name:aha;--aha-gap:12px;--aha-radius:var(--dsw-radius-md,12px);--aha-text:var(--dsw-alias-label-primary,#1f2328);--aha-muted:var(--dsw-alias-label-tertiary,#6b7280);--aha-dim:var(--dsw-alias-label-caption,#9ca3af);--aha-border:var(--dsw-alias-border-l2,#e5e7eb);--aha-bg:var(--dsw-alias-bg-base,#fafafa);--aha-surface:var(--dsw-alias-bg-layer-1,#fff);--aha-soft:var(--dsw-alias-bg-module-platform,#f4f5f7);--aha-hover:var(--dsw-alias-interactive-bg-hover,rgba(0,0,0,.05));--aha-brand:var(--dsw-alias-state-business-primary,#3b6cf6);--aha-primary-bg:var(--dsw-alias-brand-primary,#111);--aha-primary-fg:var(--dsw-alias-label-primary-inverted,#fff);--aha-ok:var(--dsw-alias-state-success-primary,#1f9d55);--aha-bad:var(--dsw-alias-state-error-primary,#d64545);
267
267
  display:flex;flex:1 1 auto;height:100%;min-height:0;overflow:hidden;background:var(--aha-bg);color:var(--aha-text);font-size:var(--dsh-content-font-size,14px);line-height:1.6;box-sizing:border-box}
268
268
  [data-platform=darwin] .aha{padding-top:var(--dsh-frame-top-clearance,0px)}
@@ -288,6 +288,14 @@ l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
288
288
  .aha-card[data-click=true]{cursor:pointer;transition:border-color .15s,transform .15s}.aha-card[data-click=true]:hover{border-color:var(--aha-brand)}
289
289
  .aha-cardTitle{font-weight:600;font-size:15px;line-height:22px}
290
290
  .aha-hint{color:var(--aha-muted);font-size:12.5px;line-height:19px}
291
+ .aha-aboutHead{display:flex;align-items:center;gap:12px}
292
+ .aha-aboutLogo{width:48px;height:48px;flex:0 0 auto;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--aha-soft)}
293
+ .aha-aboutIntro{margin:2px 0 4px;line-height:22px}
294
+ a.aha-btn{text-decoration:none}
295
+ .aha-sponsors{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;padding:8px 0 2px}
296
+ .aha-sponsors figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:8px}
297
+ .aha-sponsors img{width:180px;height:180px;padding:8px;border-radius:14px;background:#fff;box-sizing:content-box}
298
+ .aha-sponsors figcaption{font-weight:600;font-size:13px}
291
299
  .aha-error{color:var(--aha-bad);font-size:13px}
292
300
  .aha-ok{color:var(--aha-ok)}
293
301
  .aha-tag{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:999px;background:var(--aha-soft);color:var(--aha-muted);font-size:12px;line-height:20px;white-space:nowrap}
@@ -352,7 +360,7 @@ l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
352
360
 
353
361
  /* ── the board ─────────────────────────────────────────────────────────── */
354
362
  .aha-board{--ink:#23262f;--ink-soft:#4a4f5c;--head:#1f4fb8;--marker:rgba(255,214,79,.62);--accent:#d64545;--accent2:#2f9e6e;--paper:#fdfcf8;--grid:rgba(40,50,80,.05);--note:#fff7da;--note-line:#e9c45a;--pencil:#c98a2c;
355
- position:relative;flex:1 1 auto;min-height:0;container-type:inline-size;container-name:board;background:var(--paper);background-image:radial-gradient(var(--grid) 1px,transparent 1.2px);background-size:22px 22px;color:var(--ink);font-family:${tc};overflow:hidden}
363
+ position:relative;flex:1 1 auto;min-height:0;container-type:inline-size;container-name:board;background:var(--paper);background-image:radial-gradient(var(--grid) 1px,transparent 1.2px);background-size:22px 22px;color:var(--ink);font-family:${ac};overflow:hidden}
356
364
  .aha-board[data-theme=dark]{--ink:#ecebe4;--ink-soft:#c9c8bf;--head:#9cc2ff;--marker:rgba(214,178,58,.45);--accent:#ff8a80;--accent2:#7fd6a8;--paper:#1d2622;--grid:rgba(255,255,255,.05);--note:#2a3530;--note-line:#8f7a2f;--pencil:#e7c27a}
357
365
  .aha-boardScroll{position:absolute;inset:0;overflow:auto;padding:22px 30px 40px}
358
366
  .aha-boardTitle{font-size:28px;line-height:38px;color:var(--head);margin:0 0 14px;font-weight:700}
@@ -414,13 +422,13 @@ l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
414
422
 
415
423
  /* ── shorts ────────────────────────────────────────────────────────────── */
416
424
  .aha-shortStage{position:relative;width:100%;max-width:960px;aspect-ratio:16/9;margin:0 auto;border-radius:16px;overflow:hidden;border:1px solid var(--aha-border);display:flex;flex-direction:column}
417
- `,rc=1280,ic={light:{paper:`#fdfcf8`,dot:`rgba(40,50,80,0.07)`,ink:`#23262f`,soft:`#4a4f5c`,head:`#1f4fb8`,marker:`rgba(255,214,79,0.62)`,accent:`#d64545`,note:`#fff7da`,noteLine:`#e9c45a`,pencil:`#c98a2c`},dark:{paper:`#1d2622`,dot:`rgba(255,255,255,0.06)`,ink:`#ecebe4`,soft:`#c9c8bf`,head:`#9cc2ff`,marker:`rgba(214,178,58,0.45)`,accent:`#ff8a80`,note:`#2a3530`,noteLine:`#8f7a2f`,pencil:`#e7c27a`}};function ac(){return typeof MediaRecorder==`function`&&typeof document.createElement(`canvas`).captureStream==`function`}function oc(){for(let e of[`video/webm;codecs=vp9,opus`,`video/webm;codecs=vp8,opus`,`video/webm`])if(MediaRecorder.isTypeSupported?.(e))return e;return``}let sc={alpha:`α`,beta:`β`,gamma:`γ`,delta:`δ`,epsilon:`ε`,varepsilon:`ε`,zeta:`ζ`,eta:`η`,theta:`θ`,vartheta:`ϑ`,iota:`ι`,kappa:`κ`,lambda:`λ`,mu:`μ`,nu:`ν`,xi:`ξ`,pi:`π`,rho:`ρ`,sigma:`σ`,tau:`τ`,upsilon:`υ`,phi:`φ`,varphi:`φ`,chi:`χ`,psi:`ψ`,omega:`ω`,Gamma:`Γ`,Delta:`Δ`,Theta:`Θ`,Lambda:`Λ`,Xi:`Ξ`,Pi:`Π`,Sigma:`Σ`,Phi:`Φ`,Psi:`Ψ`,Omega:`Ω`},cc={cdot:`·`,times:`×`,div:`÷`,pm:`±`,mp:`∓`,le:`≤`,leq:`≤`,ge:`≥`,geq:`≥`,neq:`≠`,ne:`≠`,approx:`≈`,equiv:`≡`,infty:`∞`,to:`→`,rightarrow:`→`,Rightarrow:`⇒`,leftarrow:`←`,Leftrightarrow:`⇔`,sum:`Σ`,prod:`Π`,int:`∫`,oint:`∮`,partial:`∂`,nabla:`∇`,sqrt:`√`,in:`∈`,notin:`∉`,subset:`⊂`,subseteq:`⊆`,cup:`∪`,cap:`∩`,forall:`∀`,exists:`∃`,degree:`°`,circ:`°`,angle:`∠`,perp:`⊥`,parallel:`∥`,ldots:`…`,cdots:`⋯`,dots:`…`,propto:`∝`,sim:`∼`,hbar:`ħ`,ell:`ℓ`,quad:` `,qquad:` `},lc={0:`⁰`,1:`¹`,2:`²`,3:`³`,4:`⁴`,5:`⁵`,6:`⁶`,7:`⁷`,8:`⁸`,9:`⁹`,"+":`⁺`,"-":`⁻`,"=":`⁼`,"(":`⁽`,")":`⁾`,n:`ⁿ`,i:`ⁱ`,x:`ˣ`,T:`ᵀ`},uc={0:`₀`,1:`₁`,2:`₂`,3:`₃`,4:`₄`,5:`₅`,6:`₆`,7:`₇`,8:`₈`,9:`₉`,"+":`₊`,"-":`₋`,"=":`₌`,"(":`₍`,")":`₎`,a:`ₐ`,e:`ₑ`,i:`ᵢ`,n:`ₙ`,x:`ₓ`,k:`ₖ`,t:`ₜ`};function dc(e){let t=String(e??``);for(let e=0;e<4;e+=1)t=t.replace(/\\[dt]?frac\{([^{}]*)\}\{([^{}]*)\}/gu,(e,t,n)=>`${t.length>1?`(${t})`:t}/${n.length>1?`(${n})`:n}`),t=t.replace(/\\sqrt\{([^{}]*)\}/gu,(e,t)=>`√${t.length>1?`(${t})`:t}`),t=t.replace(/\\(?:text|mathrm|mathbf|mathit|operatorname|textbf)\{([^{}]*)\}/gu,`$1`);return t=t.replace(/\\(left|right|big|Big|bigg|Bigg|displaystyle)\b/gu,``),t=t.replace(/\\([a-zA-Z]+)/gu,(e,t)=>sc[t]??cc[t]??t),t=t.replace(/\^\{([^{}]*)\}|\^(.)/gu,(e,t,n)=>[...t??n].map(e=>lc[e]??e).join(``)),t=t.replace(/_\{([^{}]*)\}|_(.)/gu,(e,t,n)=>[...t??n].map(e=>uc[e]??e).join(``)),t.replace(/\\[,;:! ]/gu,` `).replace(/[{}]/gu,``).replace(/\s+/gu,` `).trim()}function fc(e){return Po(e).map(e=>e.kind===`math`?dc(e.tex):e.text).join(``)}function pc(e,t=400){return`${t} ${e}px ${tc}`}let mc=/^[,。、;:!?)」』”’》〉】〕…‥·,.;:!?)\]}%]/u,hc=/[(「『“‘《〈【〔(\[{]$/u;function gc(e,t,n){let r=[];for(let i of String(t).split(`
418
- `)){let t=``,a=i.match(/[ -鿿가-힯＀-￯]|[^\s -鿿가-힯＀-￯]+|\s+/gu)??[];for(let i of a){let a=t+i;if(e.measureText(a).width>n&&t.trim()&&!mc.test(i)){let e=``;hc.test(t)&&t.length>1&&(e=t.slice(-1),t=t.slice(0,-1)),r.push(t.trimEnd()),t=(e+i).trimStart()}else t=a}r.push(t.trimEnd())}return r}function _c(e,t,n){if(!e)return e;let r=n===`dark`?`[stroke="#2b2b2b"],[stroke="#23262f"]{stroke:${t.ink}}[fill="#2b2b2b"],[fill="#23262f"]{fill:${t.ink}}`:``,i=`<style>svg{color:${t.ink}}text:not([fill]){fill:${t.ink}}${r}</style>`;return e.replace(/<svg\b[^>]*>/iu,e=>e.endsWith(`/>`)?e:`${e}${i}`)}function vc(e){return new Promise(t=>{if(!e){t(null);return}let n=new Image;n.onload=()=>t(n),n.onerror=()=>t(null),n.src=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`})}async function yc(e,t,n,r){let i=[],a=[{title:``}],o=0,s=132,c=()=>64+o*600,l=()=>{if(o===0)o=1;else{let e=a[a.length-1];a.push({title:e.title,inherits:e.inherits??a.length===1}),o=0}s=132},u=(e,t)=>{s>132&&s+e>602&&l(),i.push({...t,page:a.length-1,x:c(),y:s,h:e}),s+=e+14};for(let[c,d]of t.entries())for(let[t,f]of d.ops.entries()){let d={op:f,stepIndex:c,opIndex:t};if(f.t===`page`){i.some(e=>e.page===a.length-1)?(a.push({title:f.title??``}),o=0,s=132):a[a.length-1].title=f.title??``;continue}if(f.t===`col`){l();continue}if(f.t===`mark`)continue;if(f.t===`title`){i.some(e=>e.page===a.length-1)?(a.push({title:f.text}),o=0,s=132):a[a.length-1].title=f.text,i.push({...d,page:a.length-1,kind:`title`,text:fc(f.text)});continue}if(f.t===`h`||f.t===`p`||f.t===`note`||f.t===`math`||f.t===`list`){let t=f.t===`h`?31:f.t===`math`?28:25;e.font=pc(t,f.t===`h`?700:400);let r=gc(e,f.t===`math`?f.text||dc(f.tex):f.t===`list`?f.items.map((e,t)=>`${f.ordered?`${t+1}.`:`•`} ${fc(e)}`).join(`
419
- `):fc(f.text),552-(f.t===`note`?28:0)),i=Math.round(t*1.42);u(r.length*i+(f.t===`note`?22:0),{...d,kind:`text`,size:t,weight:f.t===`h`?700:400,lines:r,lineHeight:i,color:f.t===`h`?n.head:n.ink,center:f.t===`math`,note:f.t===`note`,marker:f.t===`h`});continue}let p=f.t===`chart`?ge(f):f.t===`svg`?ko(f.svg):f.t===`anim`&&f.poster?ko(f.poster):``,m=p?await vc(_c(p,n,r)):null;if(m){let e=m.naturalHeight/Math.max(1,m.naturalWidth)||.62,t=Math.min(552,m.naturalWidth||552),n=Math.min(300,t*e);u(n+(f.caption?30:0),{...d,kind:`image`,image:m,w:n/e,imageH:n,caption:f.caption??``});continue}if(!(f.t===`svg`||f.t===`chart`)){if(f.t===`table`){let e=[f.head,...f.rows].filter(e=>e.length).slice(0,10);u(e.length*34+6,{...d,kind:`table`,rows:e});continue}if(f.t===`code`){let e=f.code.split(`
420
- `).slice(0,14);u(e.length*24+20,{...d,kind:`code`,lines:e});continue}f.t===`anim`&&u(90,{...d,kind:`text`,size:22,weight:400,lines:[`▶ ${f.caption||`animation`}`],lineHeight:32,color:n.soft,note:!0})}}return{items:i,pages:a}}function bc(e,t){e.fillStyle=t.paper,e.fillRect(0,0,rc,720),e.fillStyle=t.dot;for(let t=12;t<rc;t+=24)for(let n=12;n<720;n+=24)e.fillRect(t,n,1.6,1.6)}function xc(e,t,n,r){e.save(),e.translate(t,n),e.rotate(-.6),e.fillStyle=r.pencil,e.fillRect(0,-5,34,10),e.fillStyle=r.accent,e.fillRect(34,-5,7,10),e.beginPath(),e.moveTo(0,-5),e.lineTo(-10,0),e.lineTo(0,5),e.closePath(),e.fillStyle=r.ink,e.fill(),e.restore()}function Sc(e,t,n,r){if(t.kind!==`title`){if(t.kind===`text`){e.font=pc(t.size,t.weight),e.textBaseline=`top`,t.note&&(e.fillStyle=r.note,e.strokeStyle=r.noteLine,e.lineWidth=2,e.beginPath(),e.roundRect?.(t.x,t.y,552,t.h,12),e.fill(),e.stroke());let i=t.lines.reduce((e,t)=>e+[...t].length,0),a=Math.floor(i*n),o=null;t.lines.forEach((n,i)=>{if(a<=0)return;let s=[...n],c=s.slice(0,a).join(``);a-=s.length;let l=e.measureText(c).width,u=t.center?t.x+(552-e.measureText(n).width)/2:t.x+(t.note?14:0),d=t.y+(t.note?11:0)+i*t.lineHeight;t.marker&&(e.fillStyle=r.marker,e.fillRect(u-2,d+t.size*.62,l+4,t.size*.38)),e.fillStyle=t.color,e.fillText(c,u,d),o={x:u+l,y:d+t.size}}),o&&n<1&&xc(e,o.x,o.y,r);return}if(t.kind===`image`){e.save(),e.beginPath(),e.rect(t.x,t.y,t.w*n,t.imageH),e.clip(),e.drawImage(t.image,t.x,t.y,t.w,t.imageH),e.restore(),t.caption&&n>=1&&(e.font=pc(18),e.fillStyle=r.soft,e.textBaseline=`top`,e.fillText(t.caption,t.x,t.y+t.imageH+6)),n<1&&xc(e,t.x+t.w*n,t.y+t.imageH/2,r);return}if(t.kind===`table`){let i=t.rows.slice(0,Math.max(1,Math.ceil(t.rows.length*n))),a=Math.max(...t.rows.map(e=>e.length)),o=552/Math.max(1,a);e.font=pc(19),e.textBaseline=`middle`,e.strokeStyle=r.soft,e.lineWidth=1.4,i.forEach((n,i)=>{n.forEach((n,a)=>{let s=t.x+a*o,c=t.y+i*34;e.strokeRect(s,c,o,34),e.fillStyle=i===0?r.head:r.ink;let l=fc(n);for(;l.length>1&&e.measureText(l).width>o-12;)l=`${l.slice(0,-2)}…`;e.fillText(l,s+6,c+17)})});return}t.kind===`code`&&(e.fillStyle=`rgba(0,0,0,0.06)`,e.fillRect(t.x,t.y,552,t.h),e.font=`17px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace`,e.fillStyle=r.ink,e.textBaseline=`top`,t.lines.slice(0,Math.ceil(t.lines.length*n)).forEach((n,r)=>e.fillText(n.slice(0,60),t.x+10,t.y+10+r*24)))}}function Cc(e,t){if(!t)return;e.font=`500 25px ${tc}`;let n=gc(e,t,rc-200).slice(-2),r=n.length*34+24;e.fillStyle=`rgba(15,18,24,0.72)`,e.beginPath(),e.roundRect?.(80,720-r-18,rc-160,r,14),e.fill(),e.fillStyle=`#ffffff`,e.textBaseline=`top`,n.forEach((t,n)=>e.fillText(t,(rc-e.measureText(t).width)/2,720-r-6+n*34))}function wc(e,t,n){e.font=`600 17px ${tc}`,e.fillStyle=n.soft,e.globalAlpha=.65,e.textBaseline=`top`,e.fillText(t,rc-e.measureText(t).width-26,22),e.globalAlpha=1}async function Tc({steps:e,title:t,fetchAudio:n,watermark:r,theme:i=`light`,onProgress:a,signal:o}){if(!ac())throw Error(`unsupported`);let s=ic[i]??ic.light,c=document.createElement(`canvas`);c.width=rc,c.height=720;let l=c.getContext(`2d`),{items:u,pages:d}=await yc(l,e,s,i),f=null,p=[];if(n){f=new AudioContext;for(let[t,r]of e.entries()){if(o?.throwIfAborted(),a?.({phase:`audio`,done:t,total:e.length}),!r.say){p.push(null);continue}try{let e=await n(r.say),t=e.blob?await e.blob.arrayBuffer():Uint8Array.from(atob(e.base64),e=>e.charCodeAt(0)).buffer;p.push(await f.decodeAudioData(t))}catch{p.push(null)}}}let m=[],h=700;for(let[t,n]of e.entries()){let e=ss(n,{speechMs:p[t]?p[t].duration*1e3:is(n.say)});m.push({start:h,end:h+e.durationMs,writes:e.writeMs}),h+=e.durationMs}let g=h+1500,_=t=>{let n=m.findIndex(e=>t<e.end);if(n<0)return{index:e.length,op:0,progress:1};let r=m[n],i=Math.max(0,t-r.start),a=0;for(let e=0;e<r.writes.length;e+=1){if(i<a+r.writes[e])return{index:n,op:e,progress:(i-a)/Math.max(1,r.writes[e])};a+=r.writes[e]}return{index:n,op:r.writes.length,progress:1}},v=n=>{let i=_(n),a=e=>e.stepIndex<i.index?1:e.stepIndex>i.index?0:e.opIndex<i.op?1:e.opIndex>i.op?0:i.progress,o=u.filter(e=>a(e)>0),c=o.length?Math.max(...o.map(e=>e.page)):0;bc(l,s);let f=d[c]?.title||(c===0||d[c]?.inherits?t:``);if(f){l.font=pc(40,700),l.textBaseline=`top`;let e=l.measureText(f).width;l.fillStyle=s.marker,l.fillRect(60,74,e+8,18),l.fillStyle=s.head,l.fillText(f,64,52)}for(let e of o)e.page===c&&Sc(l,e,a(e),s);Cc(l,i.index<e.length?fc(e[i.index].say):``),r&&wc(l,r,s)};v(0);let y=c.captureStream(30),b=0;if(f){await f.resume();let e=f.createMediaStreamDestination();b=f.currentTime+.4,p.forEach((t,n)=>{if(!t)return;let r=f.createBufferSource();r.buffer=t,r.connect(e),r.start(b+m[n].start/1e3)});for(let t of e.stream.getAudioTracks())y.addTrack(t)}let x=oc(),S=new MediaRecorder(y,{...x?{mimeType:x}:{},videoBitsPerSecond:4e6}),C=[];S.ondataavailable=e=>{e.data?.size&&C.push(e.data)};let w=new Promise(e=>{S.onstop=e});S.start(1e3);let T=performance.now(),E=()=>f?(f.currentTime-b)*1e3:performance.now()-T;await new Promise((e,t)=>{let n=()=>{if(o?.aborted){t(o.reason??Error(`cancelled`));return}let r=E();v(Math.max(0,r)),a?.({phase:`record`,done:Math.min(g,Math.max(0,r)),total:g}),r>=g?e():requestAnimationFrame(n)};requestAnimationFrame(n)}).finally(()=>{S.state!==`inactive`&&S.stop()}),await w;for(let e of y.getTracks())e.stop();return await f?.close().catch(()=>void 0),new Blob(C,{type:x||`video/webm`})}function Ec(){let{api:e,t,settings:n,toast:i}=f(),a=_(),[o,s]=(0,r.useState)(null),c=(0,r.useRef)(null);(0,r.useEffect)(()=>()=>c.current?.abort(),[]);async function l({steps:r,title:l}){if(!r?.length||o)return;if(!ac()){i(t(`exportUnsupported`));return}let d=new AbortController;c.current=d,s({percent:0});try{let i=await Tc({steps:r,title:l,theme:n.boardTheme===`dark`||n.boardTheme!==`light`&&a?`dark`:`light`,watermark:`${t(`appName`)} · ${t(`appTagline`)}`,fetchAudio:n.voiceEngine===`cloud`?t=>ne(e,t):null,signal:d.signal,onProgress:e=>s({percent:Math.round(e.done/Math.max(1,e.total)*100),phase:e.phase})});u(`${String(l||`aha`).replace(/[<>:"/\\|?*]/gu,` `).slice(0,60)}.webm`,i)}catch(e){d.signal.aborted||i(e.message===`unsupported`?t(`exportUnsupported`):t(`errorGeneric`,{message:e.message}))}finally{s(null)}}return{exporting:o,start:l,cancel:()=>c.current?.abort(),cloud:n.voiceEngine===`cloud`}}function Dc({courseId:e,lessonId:t}){let{api:n,t:a,navigate:o}=f(),s=p(()=>n.call(`lesson/get`,{courseId:e,lessonId:t}),[e,t]),[c,u]=(0,r.useState)(null),[d,m]=(0,r.useState)(null),[h,g]=(0,r.useState)(!1),[_,v]=(0,r.useState)(0),y=(0,r.useRef)(null),b=Ec();if((0,r.useEffect)(()=>{if(!s.value)return;if(s.value.board&&_===0){u({steps:s.value.board.steps,stream:null});return}let r=!0;return n.call(`lesson/prepare`,{courseId:e,lessonId:t,force:_>0}).then(e=>{r&&u(e.board?{steps:e.board.steps,stream:null}:{steps:[],stream:e.job})}).catch(e=>{r&&m(e)}),()=>{r=!1}},[s.value,_]),(0,r.useEffect)(()=>()=>clearTimeout(y.current),[]),s.loading&&!s.value)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Q,{label:a(`loading`)})});if(!s.value)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)($,{error:s.error})});let{lesson:x,unit:S,lecture:C,language:w,state:T}=s.value,E=T?.status===`learning`?Math.max(0,T.stepIndex??0):0;return(0,i.jsxs)(`div`,{className:`aha-page`,"data-wide":`true`,children:[d?(0,i.jsx)($,{error:d}):null,c?(0,i.jsx)(Cs,{scope:{kind:`lesson`,courseId:e,lessonId:t},title:x.title,crumb:`${S.title} · ${C.title}`,steps:c.steps,stream:c.stream,language:w,startIndex:c.stream?0:E,onPosition:r=>{clearTimeout(y.current),y.current=setTimeout(()=>{n.call(`lesson/position`,{courseId:e,lessonId:t,stepIndex:r}).catch(()=>void 0)},800)},onEnded:()=>g(!0),onStreamDone:e=>{e?.board?.steps?.length&&u(t=>({...t,steps:e.board.steps}))},header:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>o(`course`,{courseId:e}),children:[`← `,a(`backToCourse`)]}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>o(`practice`,{courseId:e,lessonId:t}),children:a(`practice`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,disabled:!c.steps.length,onClick:()=>l(`${x.title}.md`,cs({title:x.title,steps:c.steps}),`text/markdown`),children:a(`exportBoard`)}),b.exporting?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(Q,{label:a(`exporting`,{percent:b.exporting.percent})}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:b.cancel,children:a(`cancel`)})]}):(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,disabled:!c.steps.length,title:b.cloud?``:a(`exportNeedsCloud`),onClick:()=>b.start({steps:c.steps,title:x.title}),children:a(`exportVideo`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>{u(null),g(!1),v(e=>e+1)},children:a(`regenerateLesson`)})]})},`${_}`):(0,i.jsx)(Q,{label:a(`preparingLesson`)}),h?(0,i.jsx)(Oc,{courseId:e,lessonId:t,onClose:()=>g(!1)}):null]})}function Oc({courseId:e,lessonId:t,onClose:n}){let{api:a,t:o,navigate:s}=f(),[c,l]=(0,r.useState)(null),[u,d]=(0,r.useState)(null),[p,m]=(0,r.useState)(!1),[h,g]=(0,r.useState)(null);async function _(n){l(n),m(!0);try{d(await a.call(`lesson/complete`,{courseId:e,lessonId:t,selfRating:n}))}catch(e){g(e)}finally{m(!1)}}return(0,i.jsxs)(Es,{title:o(`lessonDone`),onClose:n,children:[u?(0,i.jsxs)(`div`,{className:`aha-col`,children:[u.inserted?(0,i.jsx)(`div`,{className:`aha-feedback`,children:o(`remedialAdded`,{title:u.inserted.title})}):null,u.recommendation?.action===`challenge`?(0,i.jsx)(`div`,{className:`aha-feedback`,"data-ok":`true`,children:o(`challengeNote`)}):null,(0,i.jsxs)(`div`,{className:`aha-row`,children:[u.next?(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>s(`lesson`,{courseId:e,lessonId:u.next.id},{replace:!0}),children:[o(`nextLesson`),`: `,u.next.title]}):null,(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>s(`practice`,{courseId:e,lessonId:t}),children:o(`doPractice`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>s(`course`,{courseId:e},{replace:!0}),children:o(`backToCourse`)})]})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`p`,{children:o(`selfRate`)}),(0,i.jsx)(`div`,{className:`aha-row`,children:[[1,`rate1`],[2,``],[3,`rate3`],[4,``],[5,`rate5`]].map(([e,t])=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-chip`,"data-active":c===e,disabled:p,onClick:()=>_(e),children:[e,t?` · ${o(t)}`:``]},e))}),p?(0,i.jsx)(Q,{}):null]}),(0,i.jsx)($,{error:h})]})}function kc(){let{api:e,t,navigate:n,toast:a}=f(),o=p(()=>e.call(`material/list`),[]),[s,c]=(0,r.useState)(null),[l,u]=(0,r.useState)(null),[d,m]=(0,r.useState)(null);async function h(r,i){c(`${r}:${i.id}`),u(null);try{if(r===`course`){let{job:t}=await e.call(`course/start`,{goal:i.brief?.suggestedGoal??``,materialIds:[i.id]});n(`craft`,{jobId:t.id});return}let o={sheet:`studio/sheet`,cards:`studio/cards`,notes:`studio/notes`,quiz:`studio/quiz`}[r],s=await e.run(o,{materialIds:[i.id]});a(t(`saved`)),r===`sheet`?n(`sheet`,{sheetId:s.item.id}):r===`cards`?n(`cards`,{deckId:s.item.id}):r===`notes`?n(`item`,{kind:`notes`,id:s.item.id}):n(`item`,{kind:`quiz`,id:s.item.id})}catch(e){u(e)}finally{c(null)}}return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:t(`materialsTitle`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`materialsHint`)})]}),(0,i.jsx)(As,{onAdded:()=>o.reload()}),(0,i.jsx)($,{error:l??o.error}),o.loading&&!o.value?(0,i.jsx)(Q,{label:t(`loading`)}):(o.value??[]).length?(0,i.jsx)(`div`,{className:`aha-col`,children:o.value.map(e=>(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:2},children:[(0,i.jsx)(`b`,{children:e.title}),(0,i.jsx)(`span`,{className:`aha-hint`,children:Ms(e,t)})]}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>m(e),children:t(`delete`)})]}),e.brief?.summary?(0,i.jsx)(`p`,{className:`aha-hint`,children:e.brief.summary}):null,e.brief?.topics?.length?(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:4},children:e.brief.topics.slice(0,10).map(e=>(0,i.jsx)(`span`,{className:`aha-tag`,children:e},e))}):null,e.kind===`image`?(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`imageNeedsVision`)}):(0,i.jsxs)(`div`,{className:`aha-row`,style:{gap:6},children:[[[`course`,`makeCourse`],[`sheet`,`makeSheet`],[`cards`,`makeCards`],[`notes`,`makeNotes`],[`quiz`,`makeQuiz`]].map(([n,r])=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":n===`course`?`primary`:void 0,disabled:!!s,onClick:()=>h(n,e),children:[s===`${n}:${e.id}`?(0,i.jsx)(`span`,{className:`aha-spinner`}):null,t(r)]},n)),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>n(`item`,{kind:`digest`,materialId:e.id}),children:t(`digest`)})]})]},e.id))}):(0,i.jsx)(Os,{children:t(`noMaterials`)}),d?(0,i.jsx)(Ds,{danger:!0,text:`${t(`delete`)}「${d.title}」?`,onCancel:()=>m(null),onConfirm:async()=>{await e.call(`material/remove`,{id:d.id}),m(null),o.reload()}}):null]})}let Ac=[60,120,180,240,300,420,600,900];function jc(){let{api:e,t,navigate:n}=f(),a=p(()=>e.call(`plan/get`,{today:Qs(new Date)}),[]),o=p(()=>e.call(`review/session`),[]),s=p(()=>e.call(`course/list`),[]),[c,l]=(0,r.useState)(300),[u,d]=(0,r.useState)([1,2,3,4,5,6,0]),[m,h]=(0,r.useState)({title:``,day:``,courseId:``}),[g,_]=(0,r.useState)(null),v=t(`weekdays`).split(`,`);(0,r.useEffect)(()=>{a.value&&(l(a.value.settings.weeklyMinutes),d(a.value.settings.studyDays))},[a.value?.settings]);async function y(){_(null);try{a.setValue(await e.call(`plan/settings`,{weeklyMinutes:c,studyDays:u}))}catch(e){_(e)}}async function b(t){if(t.preventDefault(),!(!m.title.trim()||!m.day))try{a.setValue(await e.call(`plan/add-exam`,{...m,courseId:m.courseId||void 0})),h({title:``,day:``,courseId:``})}catch(e){_(e)}}let x=e=>s.value?.find(t=>t.id===e)?.title??``,S=a.value?.plan.days.slice(0,14)??[];return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:t(`planTitle`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`planHint`)})]}),(0,i.jsx)(`section`,{className:`aha-card`,children:(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`b`,{children:o.value?.items?.length?t(`reviewDue`,{count:o.value.items.length}):t(`nothingToReview`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:!o.value?.items?.length,onClick:()=>n(`practice`,{review:!0}),children:t(`startReview`)})]})}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsxs)(`label`,{className:`aha-label`,style:{minWidth:200},children:[t(`weeklyMinutes`),(0,i.jsx)(`select`,{className:`aha-select`,value:c,onChange:e=>l(Number(e.currentTarget.value)),children:Ac.map(e=>(0,i.jsx)(`option`,{value:e,children:t(`minutesUnit`,{minutes:e})},e))})]}),(0,i.jsxs)(`div`,{className:`aha-label`,children:[t(`studyDays`),(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:4},children:[1,2,3,4,5,6,0].map(e=>(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,"data-active":u.includes(e),onClick:()=>d(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e]),children:v[e]},e))})]}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:y,children:t(`savePlan`)})]}),(a.value?.plan.warnings??[]).filter(e=>e.kind===`deadline-at-risk`).map(e=>(0,i.jsx)(`div`,{className:`aha-feedback`,"data-ok":`false`,children:t(`deadlineRisk`,{course:x(e.courseId),finish:e.finishDay,deadline:e.deadline,minutes:e.neededWeeklyMinutes})},e.courseId))]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:t(`exams`)}),(a.value?.exams??[]).map(n=>(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`span`,{children:[n.title,` · `,n.day,n.courseId?` · ${x(n.courseId)}`:``]}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:async()=>a.setValue(await e.call(`plan/remove-exam`,{id:n.id})),children:t(`delete`)})]},n.id)),(0,i.jsxs)(`form`,{className:`aha-row`,onSubmit:b,children:[(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:2,minWidth:160},placeholder:t(`examTitle`),value:m.title,onChange:e=>h({...m,title:e.currentTarget.value})}),(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:1,minWidth:140},type:`date`,value:m.day,onChange:e=>h({...m,day:e.currentTarget.value})}),(0,i.jsxs)(`select`,{className:`aha-select`,style:{flex:1,minWidth:140},value:m.courseId,onChange:e=>h({...m,courseId:e.currentTarget.value}),children:[(0,i.jsx)(`option`,{value:``,children:`—`}),(s.value??[]).filter(e=>e.status===`ready`).map(e=>(0,i.jsx)(`option`,{value:e.id,children:e.title},e.id))]}),(0,i.jsx)(`button`,{type:`submit`,className:`aha-btn`,children:t(`addExam`)})]})]}),(0,i.jsx)($,{error:g??a.error}),a.loading&&!a.value?(0,i.jsx)(Q,{label:t(`loading`)}):S.length?(0,i.jsx)(`section`,{className:`aha-col`,children:S.map(e=>(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`b`,{children:[e.day===Qs(new Date)?t(`today`):e.day,` · `,v[new Date(`${e.day}T12:00:00`).getDay()]]}),(0,i.jsx)(`span`,{className:`aha-hint`,children:t(`minutesUnit`,{minutes:e.minutes})})]}),e.items.map((e,r)=>(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`span`,{children:[(0,i.jsx)(`span`,{className:`aha-tag`,children:e.kind===`lesson`?t(`lessonItem`):e.kind===`review`?t(`reviewItem`):t(`examItem`)}),` `,e.title,e.courseTitle?(0,i.jsxs)(`span`,{className:`aha-hint`,children:[` · `,e.courseTitle]}):null]}),e.kind===`lesson`?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>n(`lesson`,{courseId:e.courseId,lessonId:e.refId}),children:t(`learn`)}):null]},`${e.refId}-${r}`))]},e.day))}):(0,i.jsx)(Os,{children:t(`noPlanToday`)})]})}let Mc=[[`goals`,`goals`],[`strengths`,`strengthsLabel`],[`weaknesses`,`weaknesses`]];function Nc(){let{api:e,t,toast:n}=f(),a=p(()=>e.call(`profile/get`),[]),[o,s]=(0,r.useState)(null),[c,l]=(0,r.useState)(!1),[u,d]=(0,r.useState)(null);(0,r.useEffect)(()=>{a.value&&s({background:a.value.background,goals:a.value.goals.join(`
425
+ `,sc=1280,cc={light:{paper:`#fdfcf8`,dot:`rgba(40,50,80,0.07)`,ink:`#23262f`,soft:`#4a4f5c`,head:`#1f4fb8`,marker:`rgba(255,214,79,0.62)`,accent:`#d64545`,note:`#fff7da`,noteLine:`#e9c45a`,pencil:`#c98a2c`},dark:{paper:`#1d2622`,dot:`rgba(255,255,255,0.06)`,ink:`#ecebe4`,soft:`#c9c8bf`,head:`#9cc2ff`,marker:`rgba(214,178,58,0.45)`,accent:`#ff8a80`,note:`#2a3530`,noteLine:`#8f7a2f`,pencil:`#e7c27a`}};function lc(){return typeof MediaRecorder==`function`&&typeof document.createElement(`canvas`).captureStream==`function`}function uc(){for(let e of[`video/webm;codecs=vp9,opus`,`video/webm;codecs=vp8,opus`,`video/webm`])if(MediaRecorder.isTypeSupported?.(e))return e;return``}let dc={alpha:`α`,beta:`β`,gamma:`γ`,delta:`δ`,epsilon:`ε`,varepsilon:`ε`,zeta:`ζ`,eta:`η`,theta:`θ`,vartheta:`ϑ`,iota:`ι`,kappa:`κ`,lambda:`λ`,mu:`μ`,nu:`ν`,xi:`ξ`,pi:`π`,rho:`ρ`,sigma:`σ`,tau:`τ`,upsilon:`υ`,phi:`φ`,varphi:`φ`,chi:`χ`,psi:`ψ`,omega:`ω`,Gamma:`Γ`,Delta:`Δ`,Theta:`Θ`,Lambda:`Λ`,Xi:`Ξ`,Pi:`Π`,Sigma:`Σ`,Phi:`Φ`,Psi:`Ψ`,Omega:`Ω`},fc={cdot:`·`,times:`×`,div:`÷`,pm:`±`,mp:`∓`,le:`≤`,leq:`≤`,ge:`≥`,geq:`≥`,neq:`≠`,ne:`≠`,approx:`≈`,equiv:`≡`,infty:`∞`,to:`→`,rightarrow:`→`,Rightarrow:`⇒`,leftarrow:`←`,Leftrightarrow:`⇔`,sum:`Σ`,prod:`Π`,int:`∫`,oint:`∮`,partial:`∂`,nabla:`∇`,sqrt:`√`,in:`∈`,notin:`∉`,subset:`⊂`,subseteq:`⊆`,cup:`∪`,cap:`∩`,forall:`∀`,exists:`∃`,degree:`°`,circ:`°`,angle:`∠`,perp:`⊥`,parallel:`∥`,ldots:`…`,cdots:`⋯`,dots:`…`,propto:`∝`,sim:`∼`,hbar:`ħ`,ell:`ℓ`,quad:` `,qquad:` `},pc={0:`⁰`,1:`¹`,2:`²`,3:`³`,4:`⁴`,5:`⁵`,6:`⁶`,7:`⁷`,8:`⁸`,9:`⁹`,"+":`⁺`,"-":`⁻`,"=":`⁼`,"(":`⁽`,")":`⁾`,n:`ⁿ`,i:`ⁱ`,x:`ˣ`,T:`ᵀ`},mc={0:`₀`,1:`₁`,2:`₂`,3:`₃`,4:`₄`,5:`₅`,6:`₆`,7:`₇`,8:`₈`,9:`₉`,"+":`₊`,"-":`₋`,"=":`₌`,"(":`₍`,")":`₎`,a:`ₐ`,e:`ₑ`,i:`ᵢ`,n:`ₙ`,x:`ₓ`,k:`ₖ`,t:`ₜ`};function hc(e){let t=String(e??``);for(let e=0;e<4;e+=1)t=t.replace(/\\[dt]?frac\{([^{}]*)\}\{([^{}]*)\}/gu,(e,t,n)=>`${t.length>1?`(${t})`:t}/${n.length>1?`(${n})`:n}`),t=t.replace(/\\sqrt\{([^{}]*)\}/gu,(e,t)=>`√${t.length>1?`(${t})`:t}`),t=t.replace(/\\(?:text|mathrm|mathbf|mathit|operatorname|textbf)\{([^{}]*)\}/gu,`$1`);return t=t.replace(/\\(left|right|big|Big|bigg|Bigg|displaystyle)\b/gu,``),t=t.replace(/\\([a-zA-Z]+)/gu,(e,t)=>dc[t]??fc[t]??t),t=t.replace(/\^\{([^{}]*)\}|\^(.)/gu,(e,t,n)=>[...t??n].map(e=>pc[e]??e).join(``)),t=t.replace(/_\{([^{}]*)\}|_(.)/gu,(e,t,n)=>[...t??n].map(e=>mc[e]??e).join(``)),t.replace(/\\[,;:! ]/gu,` `).replace(/[{}]/gu,``).replace(/\s+/gu,` `).trim()}function gc(e){return Ro(e).map(e=>e.kind===`math`?hc(e.tex):e.text).join(``)}function _c(e,t=400){return`${t} ${e}px ${ac}`}let vc=/^[,。、;:!?)」』”’》〉】〕…‥·,.;:!?)\]}%]/u,yc=/[(「『“‘《〈【〔(\[{]$/u;function bc(e,t,n){let r=[];for(let i of String(t).split(`
426
+ `)){let t=``,a=i.match(/[ -鿿가-힯＀-￯]|[^\s -鿿가-힯＀-￯]+|\s+/gu)??[];for(let i of a){let a=t+i;if(e.measureText(a).width>n&&t.trim()&&!vc.test(i)){let e=``;yc.test(t)&&t.length>1&&(e=t.slice(-1),t=t.slice(0,-1)),r.push(t.trimEnd()),t=(e+i).trimStart()}else t=a}r.push(t.trimEnd())}return r}function xc(e,t,n){if(!e)return e;let r=n===`dark`?`[stroke="#2b2b2b"],[stroke="#23262f"]{stroke:${t.ink}}[fill="#2b2b2b"],[fill="#23262f"]{fill:${t.ink}}`:``,i=`<style>svg{color:${t.ink}}text:not([fill]){fill:${t.ink}}${r}</style>`;return e.replace(/<svg\b[^>]*>/iu,e=>e.endsWith(`/>`)?e:`${e}${i}`)}function Sc(e){return new Promise(t=>{if(!e){t(null);return}let n=new Image;n.onload=()=>t(n),n.onerror=()=>t(null),n.src=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`})}async function Cc(e,t,n,r){let i=[],a=[{title:``}],o=0,s=132,c=()=>64+o*600,l=()=>{if(o===0)o=1;else{let e=a[a.length-1];a.push({title:e.title,inherits:e.inherits??a.length===1}),o=0}s=132},u=(e,t)=>{s>132&&s+e>602&&l(),i.push({...t,page:a.length-1,x:c(),y:s,h:e}),s+=e+14};for(let[c,d]of t.entries())for(let[t,f]of d.ops.entries()){let d={op:f,stepIndex:c,opIndex:t};if(f.t===`page`){i.some(e=>e.page===a.length-1)?(a.push({title:f.title??``}),o=0,s=132):a[a.length-1].title=f.title??``;continue}if(f.t===`col`){l();continue}if(f.t===`mark`)continue;if(f.t===`title`){i.some(e=>e.page===a.length-1)?(a.push({title:f.text}),o=0,s=132):a[a.length-1].title=f.text,i.push({...d,page:a.length-1,kind:`title`,text:gc(f.text)});continue}if(f.t===`h`||f.t===`p`||f.t===`note`||f.t===`math`||f.t===`list`){let t=f.t===`h`?31:f.t===`math`?28:25;e.font=_c(t,f.t===`h`?700:400);let r=bc(e,f.t===`math`?f.text||hc(f.tex):f.t===`list`?f.items.map((e,t)=>`${f.ordered?`${t+1}.`:`•`} ${gc(e)}`).join(`
427
+ `):gc(f.text),552-(f.t===`note`?28:0)),i=Math.round(t*1.42);u(r.length*i+(f.t===`note`?22:0),{...d,kind:`text`,size:t,weight:f.t===`h`?700:400,lines:r,lineHeight:i,color:f.t===`h`?n.head:n.ink,center:f.t===`math`,note:f.t===`note`,marker:f.t===`h`});continue}let p=f.t===`chart`?k(f):f.t===`svg`?No(f.svg):f.t===`anim`&&f.poster?No(f.poster):``,m=p?await Sc(xc(p,n,r)):null;if(m){let e=m.naturalHeight/Math.max(1,m.naturalWidth)||.62,t=Math.min(552,m.naturalWidth||552),n=Math.min(300,t*e);u(n+(f.caption?30:0),{...d,kind:`image`,image:m,w:n/e,imageH:n,caption:f.caption??``});continue}if(!(f.t===`svg`||f.t===`chart`)){if(f.t===`table`){let e=[f.head,...f.rows].filter(e=>e.length).slice(0,10);u(e.length*34+6,{...d,kind:`table`,rows:e});continue}if(f.t===`code`){let e=f.code.split(`
428
+ `).slice(0,14);u(e.length*24+20,{...d,kind:`code`,lines:e});continue}f.t===`anim`&&u(90,{...d,kind:`text`,size:22,weight:400,lines:[`▶ ${f.caption||`animation`}`],lineHeight:32,color:n.soft,note:!0})}}return{items:i,pages:a}}function wc(e,t){e.fillStyle=t.paper,e.fillRect(0,0,sc,720),e.fillStyle=t.dot;for(let t=12;t<sc;t+=24)for(let n=12;n<720;n+=24)e.fillRect(t,n,1.6,1.6)}function Tc(e,t,n,r){e.save(),e.translate(t,n),e.rotate(-.6),e.fillStyle=r.pencil,e.fillRect(0,-5,34,10),e.fillStyle=r.accent,e.fillRect(34,-5,7,10),e.beginPath(),e.moveTo(0,-5),e.lineTo(-10,0),e.lineTo(0,5),e.closePath(),e.fillStyle=r.ink,e.fill(),e.restore()}function Ec(e,t,n,r){if(t.kind!==`title`){if(t.kind===`text`){e.font=_c(t.size,t.weight),e.textBaseline=`top`,t.note&&(e.fillStyle=r.note,e.strokeStyle=r.noteLine,e.lineWidth=2,e.beginPath(),e.roundRect?.(t.x,t.y,552,t.h,12),e.fill(),e.stroke());let i=t.lines.reduce((e,t)=>e+[...t].length,0),a=Math.floor(i*n),o=null;t.lines.forEach((n,i)=>{if(a<=0)return;let s=[...n],c=s.slice(0,a).join(``);a-=s.length;let l=e.measureText(c).width,u=t.center?t.x+(552-e.measureText(n).width)/2:t.x+(t.note?14:0),d=t.y+(t.note?11:0)+i*t.lineHeight;t.marker&&(e.fillStyle=r.marker,e.fillRect(u-2,d+t.size*.62,l+4,t.size*.38)),e.fillStyle=t.color,e.fillText(c,u,d),o={x:u+l,y:d+t.size}}),o&&n<1&&Tc(e,o.x,o.y,r);return}if(t.kind===`image`){e.save(),e.beginPath(),e.rect(t.x,t.y,t.w*n,t.imageH),e.clip(),e.drawImage(t.image,t.x,t.y,t.w,t.imageH),e.restore(),t.caption&&n>=1&&(e.font=_c(18),e.fillStyle=r.soft,e.textBaseline=`top`,e.fillText(t.caption,t.x,t.y+t.imageH+6)),n<1&&Tc(e,t.x+t.w*n,t.y+t.imageH/2,r);return}if(t.kind===`table`){let i=t.rows.slice(0,Math.max(1,Math.ceil(t.rows.length*n))),a=Math.max(...t.rows.map(e=>e.length)),o=552/Math.max(1,a);e.font=_c(19),e.textBaseline=`middle`,e.strokeStyle=r.soft,e.lineWidth=1.4,i.forEach((n,i)=>{n.forEach((n,a)=>{let s=t.x+a*o,c=t.y+i*34;e.strokeRect(s,c,o,34),e.fillStyle=i===0?r.head:r.ink;let l=gc(n);for(;l.length>1&&e.measureText(l).width>o-12;)l=`${l.slice(0,-2)}…`;e.fillText(l,s+6,c+17)})});return}t.kind===`code`&&(e.fillStyle=`rgba(0,0,0,0.06)`,e.fillRect(t.x,t.y,552,t.h),e.font=`17px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace`,e.fillStyle=r.ink,e.textBaseline=`top`,t.lines.slice(0,Math.ceil(t.lines.length*n)).forEach((n,r)=>e.fillText(n.slice(0,60),t.x+10,t.y+10+r*24)))}}function Dc(e,t){if(!t)return;e.font=`500 25px ${ac}`;let n=bc(e,t,sc-200).slice(-2),r=n.length*34+24;e.fillStyle=`rgba(15,18,24,0.72)`,e.beginPath(),e.roundRect?.(80,720-r-18,sc-160,r,14),e.fill(),e.fillStyle=`#ffffff`,e.textBaseline=`top`,n.forEach((t,n)=>e.fillText(t,(sc-e.measureText(t).width)/2,720-r-6+n*34))}function Oc(e,t,n){e.font=`600 17px ${ac}`,e.fillStyle=n.soft,e.globalAlpha=.65,e.textBaseline=`top`,e.fillText(t,sc-e.measureText(t).width-26,22),e.globalAlpha=1}async function kc({steps:e,title:t,fetchAudio:n,watermark:r,theme:i=`light`,onProgress:a,signal:o}){if(!lc())throw Error(`unsupported`);let s=cc[i]??cc.light,c=document.createElement(`canvas`);c.width=sc,c.height=720;let l=c.getContext(`2d`),{items:u,pages:d}=await Cc(l,e,s,i),f=null,p=[];if(n){f=new AudioContext;for(let[t,r]of e.entries()){if(o?.throwIfAborted(),a?.({phase:`audio`,done:t,total:e.length}),!r.say){p.push(null);continue}try{let e=await n(r.say),t=e.blob?await e.blob.arrayBuffer():Uint8Array.from(atob(e.base64),e=>e.charCodeAt(0)).buffer;p.push(await f.decodeAudioData(t))}catch{p.push(null)}}}let m=[],h=700;for(let[t,n]of e.entries()){let e=ds(n,{speechMs:p[t]?p[t].duration*1e3:cs(n.say)});m.push({start:h,end:h+e.durationMs,writes:e.writeMs}),h+=e.durationMs}let g=h+1500,_=t=>{let n=m.findIndex(e=>t<e.end);if(n<0)return{index:e.length,op:0,progress:1};let r=m[n],i=Math.max(0,t-r.start),a=0;for(let e=0;e<r.writes.length;e+=1){if(i<a+r.writes[e])return{index:n,op:e,progress:(i-a)/Math.max(1,r.writes[e])};a+=r.writes[e]}return{index:n,op:r.writes.length,progress:1}},v=n=>{let i=_(n),a=e=>e.stepIndex<i.index?1:e.stepIndex>i.index?0:e.opIndex<i.op?1:e.opIndex>i.op?0:i.progress,o=u.filter(e=>a(e)>0),c=o.length?Math.max(...o.map(e=>e.page)):0;wc(l,s);let f=d[c]?.title||(c===0||d[c]?.inherits?t:``);if(f){l.font=_c(40,700),l.textBaseline=`top`;let e=l.measureText(f).width;l.fillStyle=s.marker,l.fillRect(60,74,e+8,18),l.fillStyle=s.head,l.fillText(f,64,52)}for(let e of o)e.page===c&&Ec(l,e,a(e),s);Dc(l,i.index<e.length?gc(e[i.index].say):``),r&&Oc(l,r,s)};v(0);let y=c.captureStream(30),b=0;if(f){await f.resume();let e=f.createMediaStreamDestination();b=f.currentTime+.4,p.forEach((t,n)=>{if(!t)return;let r=f.createBufferSource();r.buffer=t,r.connect(e),r.start(b+m[n].start/1e3)});for(let t of e.stream.getAudioTracks())y.addTrack(t)}let x=uc(),S=new MediaRecorder(y,{...x?{mimeType:x}:{},videoBitsPerSecond:4e6}),C=[];S.ondataavailable=e=>{e.data?.size&&C.push(e.data)};let w=new Promise(e=>{S.onstop=e});S.start(1e3);let T=performance.now(),E=()=>f?(f.currentTime-b)*1e3:performance.now()-T;await new Promise((e,t)=>{let n=()=>{if(o?.aborted){t(o.reason??Error(`cancelled`));return}let r=E();v(Math.max(0,r)),a?.({phase:`record`,done:Math.min(g,Math.max(0,r)),total:g}),r>=g?e():requestAnimationFrame(n)};requestAnimationFrame(n)}).finally(()=>{S.state!==`inactive`&&S.stop()}),await w;for(let e of y.getTracks())e.stop();return await f?.close().catch(()=>void 0),new Blob(C,{type:x||`video/webm`})}function Ac(){let{api:e,t,settings:n,toast:i}=f(),a=_(),[o,s]=(0,r.useState)(null),c=(0,r.useRef)(null);(0,r.useEffect)(()=>()=>c.current?.abort(),[]);async function l({steps:r,title:l}){if(!r?.length||o)return;if(!lc()){i(t(`exportUnsupported`));return}let d=new AbortController;c.current=d,s({percent:0});try{let i=await kc({steps:r,title:l,theme:n.boardTheme===`dark`||n.boardTheme!==`light`&&a?`dark`:`light`,watermark:`${t(`appName`)} · ${t(`appTagline`)}`,fetchAudio:n.voiceEngine===`cloud`?t=>ne(e,t):null,signal:d.signal,onProgress:e=>s({percent:Math.round(e.done/Math.max(1,e.total)*100),phase:e.phase})});u(`${String(l||`aha`).replace(/[<>:"/\\|?*]/gu,` `).slice(0,60)}.webm`,i)}catch(e){d.signal.aborted||i(e.message===`unsupported`?t(`exportUnsupported`):t(`errorGeneric`,{message:e.message}))}finally{s(null)}}return{exporting:o,start:l,cancel:()=>c.current?.abort(),cloud:n.voiceEngine===`cloud`}}function jc({courseId:e,lessonId:t}){let{api:n,t:a,navigate:o}=f(),s=p(()=>n.call(`lesson/get`,{courseId:e,lessonId:t}),[e,t]),[c,u]=(0,r.useState)(null),[d,m]=(0,r.useState)(null),[h,g]=(0,r.useState)(!1),[_,v]=(0,r.useState)(0),y=(0,r.useRef)(null),b=Ac();if((0,r.useEffect)(()=>{if(!s.value)return;if(s.value.board&&_===0){u({steps:s.value.board.steps,stream:null});return}let r=!0;return n.call(`lesson/prepare`,{courseId:e,lessonId:t,force:_>0}).then(e=>{r&&u(e.board?{steps:e.board.steps,stream:null}:{steps:[],stream:e.job})}).catch(e=>{r&&m(e)}),()=>{r=!1}},[s.value,_]),(0,r.useEffect)(()=>()=>clearTimeout(y.current),[]),s.loading&&!s.value)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Q,{label:a(`loading`)})});if(!s.value)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)($,{error:s.error})});let{lesson:x,unit:S,lecture:C,language:w,state:T}=s.value,E=T?.status===`learning`?Math.max(0,T.stepIndex??0):0;return(0,i.jsxs)(`div`,{className:`aha-page`,"data-wide":`true`,children:[d?(0,i.jsx)($,{error:d}):null,c?(0,i.jsx)(Ds,{scope:{kind:`lesson`,courseId:e,lessonId:t},title:x.title,crumb:`${S.title} · ${C.title}`,steps:c.steps,stream:c.stream,language:w,startIndex:c.stream?0:E,onPosition:r=>{clearTimeout(y.current),y.current=setTimeout(()=>{n.call(`lesson/position`,{courseId:e,lessonId:t,stepIndex:r}).catch(()=>void 0)},800)},onEnded:()=>g(!0),onStreamDone:e=>{e?.board?.steps?.length&&u(t=>({...t,steps:e.board.steps}))},header:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>o(`course`,{courseId:e}),children:[`← `,a(`backToCourse`)]}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>o(`practice`,{courseId:e,lessonId:t}),children:a(`practice`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,disabled:!c.steps.length,onClick:()=>l(`${x.title}.md`,fs({title:x.title,steps:c.steps}),`text/markdown`),children:a(`exportBoard`)}),b.exporting?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(Q,{label:a(`exporting`,{percent:b.exporting.percent})}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:b.cancel,children:a(`cancel`)})]}):(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,disabled:!c.steps.length,title:b.cloud?``:a(`exportNeedsCloud`),onClick:()=>b.start({steps:c.steps,title:x.title}),children:a(`exportVideo`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>{u(null),g(!1),v(e=>e+1)},children:a(`regenerateLesson`)})]})},`${_}`):(0,i.jsx)(Q,{label:a(`preparingLesson`)}),h?(0,i.jsx)(Mc,{courseId:e,lessonId:t,onClose:()=>g(!1)}):null]})}function Mc({courseId:e,lessonId:t,onClose:n}){let{api:a,t:o,navigate:s}=f(),[c,l]=(0,r.useState)(null),[u,d]=(0,r.useState)(null),[p,m]=(0,r.useState)(!1),[h,g]=(0,r.useState)(null);async function _(n){l(n),m(!0);try{d(await a.call(`lesson/complete`,{courseId:e,lessonId:t,selfRating:n}))}catch(e){g(e)}finally{m(!1)}}return(0,i.jsxs)(As,{title:o(`lessonDone`),onClose:n,children:[u?(0,i.jsxs)(`div`,{className:`aha-col`,children:[u.inserted?(0,i.jsx)(`div`,{className:`aha-feedback`,children:o(`remedialAdded`,{title:u.inserted.title})}):null,u.recommendation?.action===`challenge`?(0,i.jsx)(`div`,{className:`aha-feedback`,"data-ok":`true`,children:o(`challengeNote`)}):null,(0,i.jsxs)(`div`,{className:`aha-row`,children:[u.next?(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>s(`lesson`,{courseId:e,lessonId:u.next.id},{replace:!0}),children:[o(`nextLesson`),`: `,u.next.title]}):null,(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>s(`practice`,{courseId:e,lessonId:t}),children:o(`doPractice`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>s(`course`,{courseId:e},{replace:!0}),children:o(`backToCourse`)})]})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`p`,{children:o(`selfRate`)}),(0,i.jsx)(`div`,{className:`aha-row`,children:[[1,`rate1`],[2,``],[3,`rate3`],[4,``],[5,`rate5`]].map(([e,t])=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-chip`,"data-active":c===e,disabled:p,onClick:()=>_(e),children:[e,t?` · ${o(t)}`:``]},e))}),p?(0,i.jsx)(Q,{}):null]}),(0,i.jsx)($,{error:h})]})}function Nc(){let{api:e,t,navigate:n,toast:a}=f(),o=p(()=>e.call(`material/list`),[]),[s,c]=(0,r.useState)(null),[l,u]=(0,r.useState)(null),[d,m]=(0,r.useState)(null);async function h(r,i){c(`${r}:${i.id}`),u(null);try{if(r===`course`){let{job:t}=await e.call(`course/start`,{goal:i.brief?.suggestedGoal??``,materialIds:[i.id]});n(`craft`,{jobId:t.id});return}let o={sheet:`studio/sheet`,cards:`studio/cards`,notes:`studio/notes`,quiz:`studio/quiz`}[r],s=await e.run(o,{materialIds:[i.id]});a(t(`saved`)),r===`sheet`?n(`sheet`,{sheetId:s.item.id}):r===`cards`?n(`cards`,{deckId:s.item.id}):r===`notes`?n(`item`,{kind:`notes`,id:s.item.id}):n(`item`,{kind:`quiz`,id:s.item.id})}catch(e){u(e)}finally{c(null)}}return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:t(`materialsTitle`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`materialsHint`)})]}),(0,i.jsx)(Ps,{onAdded:()=>o.reload()}),(0,i.jsx)($,{error:l??o.error}),o.loading&&!o.value?(0,i.jsx)(Q,{label:t(`loading`)}):(o.value??[]).length?(0,i.jsx)(`div`,{className:`aha-col`,children:o.value.map(e=>(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:2},children:[(0,i.jsx)(`b`,{children:e.title}),(0,i.jsx)(`span`,{className:`aha-hint`,children:Is(e,t)})]}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>m(e),children:t(`delete`)})]}),e.brief?.summary?(0,i.jsx)(`p`,{className:`aha-hint`,children:e.brief.summary}):null,e.brief?.topics?.length?(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:4},children:e.brief.topics.slice(0,10).map(e=>(0,i.jsx)(`span`,{className:`aha-tag`,children:e},e))}):null,e.kind===`image`?(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`imageNeedsVision`)}):(0,i.jsxs)(`div`,{className:`aha-row`,style:{gap:6},children:[[[`course`,`makeCourse`],[`sheet`,`makeSheet`],[`cards`,`makeCards`],[`notes`,`makeNotes`],[`quiz`,`makeQuiz`]].map(([n,r])=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":n===`course`?`primary`:void 0,disabled:!!s,onClick:()=>h(n,e),children:[s===`${n}:${e.id}`?(0,i.jsx)(`span`,{className:`aha-spinner`}):null,t(r)]},n)),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>n(`item`,{kind:`digest`,materialId:e.id}),children:t(`digest`)})]})]},e.id))}):(0,i.jsx)(Ms,{children:t(`noMaterials`)}),d?(0,i.jsx)(js,{danger:!0,text:`${t(`delete`)}「${d.title}」?`,onCancel:()=>m(null),onConfirm:async()=>{await e.call(`material/remove`,{id:d.id}),m(null),o.reload()}}):null]})}let Pc=[60,120,180,240,300,420,600,900];function Fc(){let{api:e,t,navigate:n}=f(),a=p(()=>e.call(`plan/get`,{today:nc(new Date)}),[]),o=p(()=>e.call(`review/session`),[]),s=p(()=>e.call(`course/list`),[]),[c,l]=(0,r.useState)(300),[u,d]=(0,r.useState)([1,2,3,4,5,6,0]),[m,h]=(0,r.useState)({title:``,day:``,courseId:``}),[g,_]=(0,r.useState)(null),v=t(`weekdays`).split(`,`);(0,r.useEffect)(()=>{a.value&&(l(a.value.settings.weeklyMinutes),d(a.value.settings.studyDays))},[a.value?.settings]);async function y(){_(null);try{a.setValue(await e.call(`plan/settings`,{weeklyMinutes:c,studyDays:u}))}catch(e){_(e)}}async function b(t){if(t.preventDefault(),!(!m.title.trim()||!m.day))try{a.setValue(await e.call(`plan/add-exam`,{...m,courseId:m.courseId||void 0})),h({title:``,day:``,courseId:``})}catch(e){_(e)}}let x=e=>s.value?.find(t=>t.id===e)?.title??``,S=a.value?.plan.days.slice(0,14)??[];return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:t(`planTitle`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`planHint`)})]}),(0,i.jsx)(`section`,{className:`aha-card`,children:(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`b`,{children:o.value?.items?.length?t(`reviewDue`,{count:o.value.items.length}):t(`nothingToReview`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:!o.value?.items?.length,onClick:()=>n(`practice`,{review:!0}),children:t(`startReview`)})]})}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsxs)(`label`,{className:`aha-label`,style:{minWidth:200},children:[t(`weeklyMinutes`),(0,i.jsx)(`select`,{className:`aha-select`,value:c,onChange:e=>l(Number(e.currentTarget.value)),children:Pc.map(e=>(0,i.jsx)(`option`,{value:e,children:t(`minutesUnit`,{minutes:e})},e))})]}),(0,i.jsxs)(`div`,{className:`aha-label`,children:[t(`studyDays`),(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:4},children:[1,2,3,4,5,6,0].map(e=>(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,"data-active":u.includes(e),onClick:()=>d(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e]),children:v[e]},e))})]}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:y,children:t(`savePlan`)})]}),(a.value?.plan.warnings??[]).filter(e=>e.kind===`deadline-at-risk`).map(e=>(0,i.jsx)(`div`,{className:`aha-feedback`,"data-ok":`false`,children:t(`deadlineRisk`,{course:x(e.courseId),finish:e.finishDay,deadline:e.deadline,minutes:e.neededWeeklyMinutes})},e.courseId))]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:t(`exams`)}),(a.value?.exams??[]).map(n=>(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`span`,{children:[n.title,` · `,n.day,n.courseId?` · ${x(n.courseId)}`:``]}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:async()=>a.setValue(await e.call(`plan/remove-exam`,{id:n.id})),children:t(`delete`)})]},n.id)),(0,i.jsxs)(`form`,{className:`aha-row`,onSubmit:b,children:[(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:2,minWidth:160},placeholder:t(`examTitle`),value:m.title,onChange:e=>h({...m,title:e.currentTarget.value})}),(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:1,minWidth:140},type:`date`,value:m.day,onChange:e=>h({...m,day:e.currentTarget.value})}),(0,i.jsxs)(`select`,{className:`aha-select`,style:{flex:1,minWidth:140},value:m.courseId,onChange:e=>h({...m,courseId:e.currentTarget.value}),children:[(0,i.jsx)(`option`,{value:``,children:`—`}),(s.value??[]).filter(e=>e.status===`ready`).map(e=>(0,i.jsx)(`option`,{value:e.id,children:e.title},e.id))]}),(0,i.jsx)(`button`,{type:`submit`,className:`aha-btn`,children:t(`addExam`)})]})]}),(0,i.jsx)($,{error:g??a.error}),a.loading&&!a.value?(0,i.jsx)(Q,{label:t(`loading`)}):S.length?(0,i.jsx)(`section`,{className:`aha-col`,children:S.map(e=>(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`b`,{children:[e.day===nc(new Date)?t(`today`):e.day,` · `,v[new Date(`${e.day}T12:00:00`).getDay()]]}),(0,i.jsx)(`span`,{className:`aha-hint`,children:t(`minutesUnit`,{minutes:e.minutes})})]}),e.items.map((e,r)=>(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`span`,{children:[(0,i.jsx)(`span`,{className:`aha-tag`,children:e.kind===`lesson`?t(`lessonItem`):e.kind===`review`?t(`reviewItem`):t(`examItem`)}),` `,e.title,e.courseTitle?(0,i.jsxs)(`span`,{className:`aha-hint`,children:[` · `,e.courseTitle]}):null]}),e.kind===`lesson`?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>n(`lesson`,{courseId:e.courseId,lessonId:e.refId}),children:t(`learn`)}):null]},`${e.refId}-${r}`))]},e.day))}):(0,i.jsx)(Ms,{children:t(`noPlanToday`)})]})}let Ic=[[`goals`,`goals`],[`strengths`,`strengthsLabel`],[`weaknesses`,`weaknesses`]];function Lc(){let{api:e,t,toast:n}=f(),a=p(()=>e.call(`profile/get`),[]),[o,s]=(0,r.useState)(null),[c,l]=(0,r.useState)(!1),[u,d]=(0,r.useState)(null);(0,r.useEffect)(()=>{a.value&&s({background:a.value.background,goals:a.value.goals.join(`
421
429
  `),strengths:a.value.strengths.join(`
422
430
  `),weaknesses:a.value.weaknesses.join(`
423
431
  `),style:a.value.preferences?.style??``})},[a.value]);async function m(){d(null);try{let r=e=>e.split(`
424
- `).map(e=>e.trim()).filter(Boolean);a.setValue(await e.call(`profile/save`,{background:o.background,goals:r(o.goals),strengths:r(o.strengths),weaknesses:r(o.weaknesses),preferences:{...a.value.preferences,style:o.style}})),n(t(`saved`))}catch(e){d(e)}}return o?(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:820},children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:t(`profileTitle`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`profileHint`)})]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(`background`),(0,i.jsx)(`textarea`,{className:`aha-textarea`,value:o.background,onChange:e=>s({...o,background:e.currentTarget.value})})]}),Mc.map(([e,n])=>(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(n),` `,(0,i.jsxs)(`span`,{className:`aha-hint`,children:[`(`,t(`onePerLine`),`)`]}),(0,i.jsx)(`textarea`,{className:`aha-textarea`,value:o[e],onChange:t=>s({...o,[e]:t.currentTarget.value})})]},e)),(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(`learningStyle`),(0,i.jsx)(`input`,{className:`aha-input`,value:o.style,onChange:e=>s({...o,style:e.currentTarget.value})})]}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:m,children:t(`save`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`danger`,onClick:()=>l(!0),children:t(`clearProfile`)})]}),(0,i.jsx)($,{error:u})]}),a.value.notes?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:t(`memoryNotes`)}),a.value.notes.map(n=>(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`span`,{children:n.text}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:async()=>a.setValue(await e.call(`profile/remove-note`,{id:n.id})),children:t(`delete`)})]},n.id))]}):null,(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`privacyNote`)}),c?(0,i.jsx)(Ds,{danger:!0,text:t(`clearProfileConfirm`),onCancel:()=>l(!1),onConfirm:async()=>{a.setValue(await e.call(`profile/clear`)),l(!1)}}):null]}):(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Q,{label:t(`loading`)})})}function Pc({courseId:e,projectId:t}){let{api:n,t:a,dsh:o,toast:s}=f(),c=p(()=>n.call(`project/get`,{courseId:e,projectId:t}),[e,t]),l=m(),[u,d]=(0,r.useState)(``),[h,g]=(0,r.useState)(!0),[_,v]=(0,r.useState)(null),[y,b]=(0,r.useState)(!1),[x,S]=(0,r.useState)(null);if(c.loading&&!c.value)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Q,{label:a(`loading`)})});if(!c.value)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)($,{error:c.error})});let{project:C,submissions:w}=c.value,T=_?.path??c.value.workspace;async function E(){b(!0),S(null);try{let r=await n.call(`project/open`,{courseId:e,projectId:t});v(r);let i=await o.openWorkspace(r.path,r.prompt).catch(()=>!1);s(i?a(`workspaceSession`):a(`workspaceReady`,{path:r.path}))}catch(e){S(e)}finally{b(!1)}}async function ee(){try{await l.run(`project/submit`,{courseId:e,projectId:t,notes:u,includeWorkspace:h}),d(``),c.reload()}catch{}}return(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:900},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:C.title}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:a(`projectBrief`)}),(0,i.jsx)(gs,{text:C.brief})]}),C.milestones?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:a(`milestones`)}),(0,i.jsx)(`ol`,{style:{margin:0,paddingLeft:20},children:C.milestones.map(e=>(0,i.jsxs)(`li`,{children:[(0,i.jsx)(`b`,{children:e.title}),e.detail?(0,i.jsx)(`div`,{className:`aha-hint`,children:e.detail}):null]},e.id))})]}):null,C.rubric?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:a(`rubric`)}),C.rubric.map(e=>(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`span`,{children:[e.criterion,e.detail?(0,i.jsxs)(`span`,{className:`aha-hint`,children:[` · `,e.detail]}):null]}),(0,i.jsx)(`span`,{className:`aha-tag`,children:e.points})]},e.id))]}):null,(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:y,onClick:E,children:[(0,i.jsx)(ie,{name:`folder`,size:15}),a(y?`openingWorkspace`:`openWorkspace`)]}),T?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`code`,{className:`aha-hint`,style:{overflowWrap:`anywhere`},children:T}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>{Ps(T),s(a(`copied`))},children:a(`copyPath`)})]}):null]}),(0,i.jsx)(`p`,{className:`aha-hint`,children:a(`workspaceManual`)}),(0,i.jsx)($,{error:x})]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:a(`submitProject`)}),(0,i.jsx)(`textarea`,{className:`aha-textarea`,value:u,placeholder:a(`submitNotes`),onChange:e=>d(e.currentTarget.value)}),(0,i.jsxs)(`label`,{className:`aha-row`,style:{gap:6},children:[(0,i.jsx)(`input`,{type:`checkbox`,checked:h,onChange:e=>g(e.currentTarget.checked)}),a(`includeFiles`)]}),l.running?(0,i.jsx)(Ts,{progress:l.progress,label:a(`reviewing`)}):(0,i.jsx)(`div`,{children:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:!u.trim()&&!h,onClick:ee,children:a(`submitProject`)})}),(0,i.jsx)($,{error:l.error})]}),w.length?(0,i.jsxs)(`section`,{className:`aha-col`,children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:a(`submissions`)}),[...w].reverse().map((e,t)=>(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`b`,{children:a(`reviewTotal`,{total:e.review.total,max:e.review.max})}),(0,i.jsx)(`span`,{className:`aha-hint`,children:new Date(e.at).toLocaleString()})]}),e.review.summary?(0,i.jsx)(gs,{text:e.review.summary,compact:!0}):null,e.review.scores.map(e=>(0,i.jsxs)(`div`,{className:`aha-spread`,style:{alignItems:`flex-start`},children:[(0,i.jsxs)(`span`,{children:[(0,i.jsx)(`b`,{children:e.criterion}),(0,i.jsx)(`div`,{className:`aha-hint`,children:e.comment})]}),(0,i.jsxs)(`span`,{className:`aha-tag`,children:[e.points,`/`,e.max]})]},e.criterionId)),e.review.strengths?.length?(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`b`,{children:a(`strengths`)}),(0,i.jsx)(`ul`,{style:{margin:0},children:e.review.strengths.map((e,t)=>(0,i.jsx)(`li`,{children:e},t))})]}):null,e.review.nextSteps?.length?(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`b`,{children:a(`nextSteps`)}),(0,i.jsx)(`ul`,{style:{margin:0},children:e.review.nextSteps.map((e,t)=>(0,i.jsx)(`li`,{children:e},t))})]}):null]},t))]}):null]})}let Fc=[[`openai`,`providerOpenai`],[`volcengine`,`providerVolcengine`],[`minimax`,`providerMinimax`],[`azure`,`providerAzure`]];function Ic(){let{api:e,t,settings:n,reloadSettings:a,setVoiceId:o,speech:s,language:c}=f(),l=p(()=>e.call(`models/list`),[]),[u,d]=(0,r.useState)(null),[m,h]=(0,r.useState)(()=>x()),[g,_]=(0,r.useState)(``),[v,y]=(0,r.useState)(!1);(0,r.useEffect)(()=>S(h),[]);async function w(t){d(null);try{await e.call(`settings/save`,{settings:t}),await a()}catch(e){d(e)}}let T=(e,t)=>e&&t?`${e}::${t}`:``,E=(e,t)=>{let[n=``,r=``]=t?t.split(`::`):[];w({[`${e}Provider`]:n,[`${e}Model`]:r})},ee=(0,r.useMemo)(()=>(l.value??[]).map(e=>({value:`${e.provider}::${e.model}`,label:`${e.providerName} · ${e.name}${e.images?` 🖼`:``}`})),[l.value]),te=c===`zh`?`zh-CN`:`en`,ne=m.filter(e=>e.lang.toLowerCase().startsWith(te.split(`-`)[0])),D=n.ttsProvider??`openai`,re=(n.fields?.[D]??[]).filter(e=>!e.secret),ie=n.tts?.[D]??{};async function ae(){y(!0);try{s.configure({engine:n.voiceEngine??`browser`,voiceId:n.voiceId||void 0,language:te,rate:n.voiceRate??1});let e=await s.speak(t(`testSentence`),{rate:n.voiceRate??1}).done;e?.error&&d(Error(e.error))}finally{y(!1)}}return n.voiceEngine?(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:820},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:t(`settingsTitle`)}),(0,i.jsx)($,{error:u}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:t(`modelsTitle`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`modelsHint`)}),[[`teach`,`teachModel`],[`quick`,`quickModel`]].map(([e,r])=>(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(r),(0,i.jsxs)(`select`,{className:`aha-select`,value:T(n[`${e}Provider`],n[`${e}Model`]),onChange:t=>E(e,t.currentTarget.value),children:[(0,i.jsx)(`option`,{value:``,children:t(`followDefault`)}),ee.map(e=>(0,i.jsx)(`option`,{value:e.value,children:e.label},e.value))]})]},e)),l.loading?(0,i.jsx)(Q,{}):null]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:t(`voiceTitle`)}),(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:6},children:[[`browser`,`engineBrowser`],[`cloud`,`engineCloud`],[`off`,`engineOff`]].map(([e,r])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,"data-active":n.voiceEngine===e,onClick:()=>w({voiceEngine:e}),children:t(r)},e))}),(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(`voiceRate`),` · `,n.voiceRate??1,`×`,(0,i.jsx)(`input`,{type:`range`,min:`0.5`,max:`2`,step:`0.05`,value:n.voiceRate??1,onChange:e=>w({voiceRate:Number(e.currentTarget.value)})})]}),n.voiceEngine===`browser`?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(`browserVoice`),(0,i.jsxs)(`select`,{className:`aha-select`,value:n.voiceId??``,onChange:e=>o(e.currentTarget.value),children:[(0,i.jsxs)(`option`,{value:``,children:[t(`autoVoice`),C(te)?` (${C(te).name})`:``]}),(ne.length?ne:m).map(e=>(0,i.jsxs)(`option`,{value:e.id,children:[e.name,` · `,e.lang,e.local?``:` ☁`]},e.id))]})]}),b()&&!ne.length?(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`noVoiceForLanguage`)}):null]}):null,n.voiceEngine===`cloud`?(0,i.jsxs)(`div`,{className:`aha-col`,children:[(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(`cloudProvider`),(0,i.jsx)(`select`,{className:`aha-select`,value:D,onChange:e=>w({ttsProvider:e.currentTarget.value}),children:Fc.map(([e,n])=>(0,i.jsx)(`option`,{value:e,children:t(n)},e))})]}),re.map(e=>(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(`field_${e.key}`),(0,i.jsx)(`input`,{className:`aha-input`,defaultValue:ie[e.key]??``,onBlur:t=>{let n=t.currentTarget.value.trim();n!==(ie[e.key]??``)&&w({tts:{[D]:{[e.key]:n}}})}},`${D}:${e.key}:${ie[e.key]??``}`)]},e.key)),(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(`field_apiKey`),` · `,(0,i.jsx)(`span`,{className:n.keys?.[D]?`aha-ok`:`aha-hint`,children:n.keys?.[D]?t(`keySaved`):t(`keyMissing`)}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:1},type:`password`,autoComplete:`off`,spellCheck:!1,value:g,onChange:e=>_(e.currentTarget.value)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,disabled:!g.trim(),onClick:async()=>{d(null);try{await e.call(`settings/set-key`,{provider:D,key:g.trim()}),_(``),await a()}catch(e){d(e)}},children:t(`saveKey`)}),n.keys?.[D]?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:async()=>{await e.call(`settings/clear-key`,{provider:D}),await a()},children:t(`clearKey`)}):null]})]})]}):null,(0,i.jsx)(`div`,{children:(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,disabled:v||n.voiceEngine===`off`,onClick:ae,children:[v?(0,i.jsx)(`span`,{className:`aha-spinner`}):`🔊`,` `,t(`testVoice`)]})})]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:t(`boardTheme`)}),(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:6},children:[[`auto`,`themeAuto`],[`light`,`themeLight`],[`dark`,`themeDark`]].map(([e,r])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,"data-active":(n.boardTheme??`auto`)===e,onClick:()=>w({boardTheme:e}),children:t(r)},e))})]}),(0,i.jsx)(Lc,{}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`privacyNote`)})]}):(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Q,{label:t(`loading`)})})}function Lc(){let{api:e,t}=f(),[n,a]=(0,r.useState)(null),[o,s]=(0,r.useState)(!0),[c,l]=(0,r.useState)(!1),[u,d]=(0,r.useState)(!1),[p,m]=(0,r.useState)(null),[h,g]=(0,r.useState)(!1),_=t=>{s(!0),l(!1),e.call(`plugin/version`,{force:t}).then(a).catch(()=>l(!0)).finally(()=>s(!1))};(0,r.useEffect)(()=>{_(!1)},[]);async function v(){d(!0),g(!1);try{m(await e.call(`plugin/update`))}catch{g(!0)}finally{d(!1)}}let y=n?.install?.kind;return(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`b`,{children:t(`versionTitle`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,disabled:o||u,onClick:()=>_(!0),children:t(o?`versionChecking`:`versionCheck`)})]}),c?(0,i.jsx)(`p`,{className:`aha-error`,children:t(`versionFailed`)}):null,n?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`span`,{children:t(`versionCurrent`)}),(0,i.jsxs)(`span`,{className:`aha-hint`,children:[`v`,n.current]})]}),(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`span`,{children:t(`versionLatest`)}),(0,i.jsx)(`span`,{className:`aha-hint`,children:n.latest?`v${n.latest}`:`—`})]}),p?null:(0,i.jsx)(`p`,{className:n.latestUnknown?`aha-error`:`aha-hint`,children:n.latestUnknown?t(`versionFailed`):n.updateAvailable?t(`versionAvailable`,{version:n.latest}):t(`versionUpToDate`)}),!p&&n.updateAvailable&&y===`npm`?(0,i.jsx)(`div`,{children:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:u,onClick:v,children:t(u?`versionUpdating`:`versionUpdate`)})}):null,y===`link`?(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`versionLinked`)}):null,n.updateAvailable&&y===`unknown`?(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`versionManual`,{version:n.latest})}):null]}):null,h?(0,i.jsx)(`p`,{className:`aha-error`,children:t(`versionUpdateFailed`)}):null,p?.pending?(0,i.jsx)(`p`,{className:`aha-hint`,children:typeof p.availableAt==`number`?t(`versionPendingUntil`,{version:p.version,time:new Date(p.availableAt).toLocaleString()}):t(`versionPending`,{version:p.version})}):null,p&&!p.pending?(0,i.jsx)(`div`,{className:`aha-feedback`,"data-ok":`true`,children:t(`versionUpdated`,{version:p.version})}):null]})}function Rc({draftTopic:e,draftUrl:t,token:n}){let{api:a,t:o}=f(),s=p(()=>a.call(`items/list`,{kind:`shorts`}),[]),[c,l]=(0,r.useState)(e??``),[u,d]=(0,r.useState)(t??``),[m,g]=(0,r.useState)(null),[_,v]=(0,r.useState)(null),y=Ec(),b=h(n);async function x(){if(!c.trim()&&!u.trim())return;v(null);let e=Qo(`sht`);try{let{job:t}=await a.call(`short/make`,{topic:c,url:u,newId:e});g({id:e,title:c||u,steps:[],stream:t,key:`${e}:new`})}catch(e){v(e)}}(0,r.useEffect)(()=>{b&&(e||t)&&x()},[]);async function S(e){try{let{item:t}=await a.call(`items/get`,{kind:`shorts`,id:e});g({id:t.id,title:t.title,steps:t.board.steps,stream:null,language:t.language,key:`${t.id}:open`})}catch(e){v(e)}}return(0,i.jsx)(`div`,{className:`aha-page`,"data-wide":`true`,children:(0,i.jsxs)(`div`,{className:`aha-split`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{minHeight:0},children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:o(`shortsTitle`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:o(`shortsHint`)})]}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:2,minWidth:220},value:c,placeholder:o(`topicPlaceholder`),onChange:e=>l(e.currentTarget.value)}),(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:1,minWidth:180},value:u,placeholder:o(`urlPlaceholder`),onChange:e=>d(e.currentTarget.value)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:!c.trim()&&!u.trim(),onClick:x,children:o(`makeShort`)})]}),(0,i.jsx)($,{error:_}),m?(0,i.jsx)(`div`,{className:`aha-shortStage`,children:(0,i.jsx)(Cs,{scope:{kind:`short`,id:m.id},title:m.title,steps:m.steps,stream:m.stream,language:m.language,recordChecks:!1,onStreamDone:e=>{g(t=>({...t,steps:e?.item?.board?.steps??t.steps,title:e?.item?.title??t.title,stream:null})),s.reload()},header:(0,i.jsx)(i.Fragment,{children:y.exporting?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(Q,{label:o(`exporting`,{percent:y.exporting.percent})}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:y.cancel,children:o(`cancel`)})]}):(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,disabled:!m.steps.length,onClick:()=>y.start({steps:m.steps,title:m.title}),children:o(`exportVideo`)})})},m.key)}):null,m&&!y.cloud?(0,i.jsx)(`p`,{className:`aha-hint`,children:o(`exportNeedsCloud`)}):null]}),(0,i.jsxs)(`aside`,{className:`aha-col`,style:{minHeight:0,overflow:`auto`},children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:o(`history`)}),s.loading&&!s.value?(0,i.jsx)(Q,{}):(s.value??[]).length?s.value.map(e=>(0,i.jsxs)(`div`,{className:`aha-option`,style:{cursor:`pointer`},onClick:()=>S(e.id),children:[(0,i.jsx)(`b`,{children:e.title}),(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`small`,{children:new Date(e.createdAt).toLocaleString()}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:async t=>{t.stopPropagation(),await a.call(`items/remove`,{kind:`shorts`,id:e.id}),s.reload()},children:o(`delete`)})]})]},e.id)):(0,i.jsx)(Os,{children:o(`empty`)})]})]})})}let zc=[[`sheet`,`makeSheet`,`studio/sheet`],[`cards`,`makeCards`,`studio/cards`],[`notes`,`makeNotes`,`studio/notes`],[`quiz`,`makeQuiz`,`studio/quiz`]];function Bc(){let{api:e,t,navigate:n}=f(),a=p(()=>e.call(`items/list`,{kind:`sheets`}),[]),o=p(()=>e.call(`items/list`,{kind:`decks`}),[]),[s,c]=(0,r.useState)([]),[l,u]=(0,r.useState)(!1),[d,m]=(0,r.useState)(``),[h,g]=(0,r.useState)(null),[_,v]=(0,r.useState)(null);async function y(t,n){if(!s.length){u(!0);return}g(t),v(null);try{b((await e.run(n,{materialIds:s,focus:d})).item)}catch(e){v(e)}finally{g(null)}}function b(e){e.kind===`cheatsheet`?n(`sheet`,{sheetId:e.id}):e.kind===`notes`?n(`item`,{kind:`notes`,id:e.id}):e.kind===`cards`?n(`cards`,{deckId:e.id}):n(`item`,{kind:`quiz`,id:e.id})}async function x(t,n){await e.call(`items/remove`,{kind:t,id:n}),t===`sheets`?a.reload():o.reload()}let S=(e,n,r)=>(0,i.jsxs)(`section`,{className:`aha-col`,children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:e}),n.loading&&!n.value?(0,i.jsx)(Q,{}):(n.value??[]).length?(0,i.jsx)(`div`,{className:`aha-grid`,children:n.value.map(e=>(0,i.jsxs)(`div`,{className:`aha-card`,"data-click":`true`,onClick:()=>b(e),children:[(0,i.jsx)(`span`,{className:`aha-tag`,children:e.kind===`cheatsheet`?t(`sheets`):e.kind===`notes`?t(`notes`):e.kind===`cards`?t(`decks`):t(`quizzes`)}),(0,i.jsx)(`b`,{children:e.title}),(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`span`,{className:`aha-hint`,children:new Date(e.updatedAt).toLocaleDateString()}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:t=>{t.stopPropagation(),x(r,e.id)},children:t(`delete`)})]})]},e.id))}):(0,i.jsx)(Os,{children:t(`empty`)})]});return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:t(`studioTitle`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`studioHint`)})]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>u(!0),children:s.length?t(`attached`,{count:s.length}):t(`pickMaterials`)}),(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:1,minWidth:220},value:d,placeholder:t(`focusPlaceholder`),onChange:e=>m(e.currentTarget.value)})]}),(0,i.jsx)(`div`,{className:`aha-row`,children:zc.map(([e,n,r])=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:!!h,onClick:()=>y(e,r),children:[h===e?(0,i.jsx)(`span`,{className:`aha-spinner`}):null,t(n)]},e))}),h?(0,i.jsx)(Q,{label:t(`generating`)}):null,(0,i.jsx)($,{error:_})]}),S(`${t(`sheets`)} · ${t(`notes`)}`,a,`sheets`),S(`${t(`decks`)} · ${t(`quizzes`)}`,o,`decks`),l?(0,i.jsx)(js,{selected:s,onChange:c,onClose:()=>u(!1)}):null]})}Object.freeze([`again`,`hard`,`good`,`easy`]),Object.freeze({again:1,hard:3,good:4,easy:5});function Vc(e,t=Date.now()){return Date.parse(e?.dueAt??0)<=t}function Hc(e,t=Date.now()){return(e||[]).filter(e=>Vc(e,t)).sort((e,t)=>Date.parse(e.dueAt)-Date.parse(t.dueAt))}function Uc({courseId:e,lessonId:t,unitId:n,review:a,deckId:o}){let{api:s,t:c,navigate:l}=f(),u=m(),[d,p]=(0,r.useState)(null),[h,g]=(0,r.useState)(null),[_,v]=(0,r.useState)(0),[y,b]=(0,r.useState)([]);(0,r.useEffect)(()=>{let r=!0;return(async()=>{try{if(a){let e=await s.call(`review/session`);r&&p({title:c(`review`),items:e.items.map(e=>({...e.item,context:e})),language:void 0});return}if(o){let{item:e}=await s.call(`items/get`,{kind:`decks`,id:o});r&&p({title:e.title,items:e.items??[],language:e.language});return}let i=n?`unit/quiz`:`lesson/practice`,l=n?{courseId:e,unitId:n}:{courseId:e,lessonId:t},d=await s.call(i,l),f=d.job?await u.run(null,null,{existing:d.job}):d,m=(f.quiz??f.practice)?.items??[],h=t?await s.call(`lesson/get`,{courseId:e,lessonId:t}):null;r&&p({title:h?.lesson.title??c(`unitQuiz`),items:m,language:h?.language})}catch(e){r&&g(e)}})(),()=>{r=!1}},[e,t,n,a,o]);let x=d?.items[_],S=r=>{b(e=>[...e,r]);let i=x?.context?.courseId??e;!i||o||s.call(`lesson/record`,{courseId:i,lessonId:x?.context?.lessonId??t,conceptIds:x?.conceptIds??[],evidence:{kind:n?`quiz`:`practice`,score:r.score,confidence:r.confidence,hintsUsed:r.hintsUsed,timeMs:r.timeMs,expectedMs:6e4,errorTag:r.errorTag}}).catch(()=>void 0)};if(h)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)($,{error:h})});if(!d)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Ts,{progress:u.progress,label:c(`makingPractice`)})});if(!d.items.length)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Os,{children:c(a?`nothingToReview`:`empty`)})});let C=_>=d.items.length,w=y.filter(e=>e.correct).length;return(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:760},children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:d.title}),(0,i.jsxs)(`span`,{className:`aha-tag`,children:[Math.min(_+1,d.items.length),`/`,d.items.length]})]}),x?.context?(0,i.jsxs)(`p`,{className:`aha-hint`,children:[x.context.courseTitle,` · `,x.context.conceptName]}):null,C?(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:c(`practiceDone`,{correct:w,total:d.items.length})}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>{v(0),b([])},children:c(`retry`)}),e?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>l(`course`,{courseId:e}),children:c(`backToCourse`)}):null]})]}):(0,i.jsx)(`div`,{className:`aha-card`,children:(0,i.jsx)(vs,{item:x,language:d.language,onResult:S,onContinue:()=>v(e=>e+1),continueLabel:_+1<d.items.length?c(`continue`):c(`confirm`)},`${_}`)})]})}function Wc({courseId:e,deckId:t}){let{api:n,t:a}=f(),o=m(),[s,c]=(0,r.useState)(null),[l,u]=(0,r.useState)(null),[d,p]=(0,r.useState)(!1),[h,g]=(0,r.useState)(null);(0,r.useEffect)(()=>{let r=!0;return(async()=>{try{let i;if(t)i=(await n.call(`items/get`,{kind:`decks`,id:t})).item;else{let t=await n.call(`course/cards`,{courseId:e});i=t.job?(await o.run(null,null,{existing:t.job})).deck:t.deck}if(!r)return;c(i);let a=Date.now(),s=Hc(Object.values(i.srs??{}),a).map(e=>e.id),l=i.cards.filter(e=>!i.srs?.[e.id]).map(e=>e.id);g([...s,...l].slice(0,40))}catch(e){r&&u(e)}})(),()=>{r=!1}},[e,t]);let _=(0,r.useMemo)(()=>s?.cards.find(e=>e.id===h?.[0]),[s,h]);async function v(r){if(_){p(!1),g(e=>{let t=e.slice(1);return r===`again`?[...t,_.id]:t});try{t?await n.call(`items/card-review`,{id:t,cardId:_.id,grade:r}):await n.call(`course/card-review`,{courseId:e,cardId:_.id,grade:r})}catch{}}}return l?(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)($,{error:l})}):!s||!h?(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Ts,{progress:o.progress,label:a(`makingCards`)})}):(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:720},children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:a(`cardsTitle`)}),(0,i.jsx)(`span`,{className:`aha-tag`,children:a(`cardsDue`,{count:h.length})})]}),_?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`div`,{className:`aha-flash`,"data-flipped":d,onClick:()=>p(e=>!e),role:`button`,tabIndex:0,onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&p(e=>!e)},children:(0,i.jsxs)(`div`,{className:`aha-flashInner`,children:[(0,i.jsx)(`div`,{className:`aha-flashFace`,children:(0,i.jsx)(gs,{text:_.front})}),(0,i.jsx)(`div`,{className:`aha-flashFace aha-flashBack`,children:(0,i.jsx)(gs,{text:_.back})})]})}),(0,i.jsxs)(`p`,{className:`aha-hint`,style:{textAlign:`center`},children:[_.tag?`${_.tag} · `:``,a(`flip`)]}),d?(0,i.jsx)(`div`,{className:`aha-row`,style:{justifyContent:`center`},children:[[`again`,`again`],[`hard`,`hard`],[`good`,`good`],[`easy`,`easy`]].map(([e,t])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":e===`good`?`primary`:void 0,onClick:()=>v(e),children:a(t)},e))}):null]}):(0,i.jsx)(Os,{children:a(`cardsDone`)})]})}function Gc({courseId:e,unitId:t,sheetId:n}){let{api:a,t:o,toast:s}=f(),c=m(),[l,u]=(0,r.useState)(null),[d,p]=(0,r.useState)(null),[h,g]=(0,r.useState)(null),_=async r=>{p(null);try{let i;if(n)i=(await a.call(`items/get`,{kind:`sheets`,id:n})).item.sheet;else{let n=await a.call(`unit/sheet`,{courseId:e,unitId:t,force:r});i=n.job?(await c.run(null,null,{existing:n.job})).sheet:n.sheet}u(i),g(i.layout)}catch(e){p(e)}};(0,r.useEffect)(()=>{_(!1)},[e,t,n]);let v=r=>{let i={...h,...r};g(i),(n?a.call(`items/sheet-layout`,{id:n,layout:i}):a.call(`unit/sheet-layout`,{courseId:e,unitId:t,layout:i})).catch(e=>s(o(`errorGeneric`,{message:e.message})))};if(d)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)($,{error:d})});if(!l||!h)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Ts,{progress:c.progress,label:o(`makingSheet`)})});let y=h.order.map(e=>l.sections.find(t=>t.id===e)).filter(Boolean),b=new Set(h.hidden??[]);return(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:1200},children:[(0,i.jsxs)(`div`,{className:`aha-spread aha-noprint`,children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:l.title||o(`sheetTitle`)}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsxs)(`label`,{className:`aha-row`,style:{gap:6},children:[o(`columns`),(0,i.jsx)(`select`,{className:`aha-select`,style:{width:`auto`},value:h.columns,onChange:e=>v({columns:Number(e.currentTarget.value)}),children:[1,2,3,4].map(e=>(0,i.jsx)(`option`,{value:e,children:e},e))})]}),(0,i.jsxs)(`label`,{className:`aha-row`,style:{gap:6},children:[o(`fontSize`),(0,i.jsx)(`select`,{className:`aha-select`,style:{width:`auto`},value:h.fontSize,onChange:e=>v({fontSize:Number(e.currentTarget.value)}),children:[9,10,11,12,13,14,16].map(e=>(0,i.jsx)(`option`,{value:e,children:e},e))})]}),(0,i.jsxs)(`label`,{className:`aha-row`,style:{gap:6},children:[(0,i.jsx)(`input`,{type:`checkbox`,checked:h.highlight,onChange:e=>v({highlight:e.currentTarget.checked})}),o(`highlight`)]}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>window.print(),children:o(`print`)}),n?null:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>{u(null),_(!0)},children:o(`regenerate`)})]})]}),(0,i.jsx)(`div`,{className:`aha-row aha-noprint`,style:{gap:6},children:y.map((e,t)=>(0,i.jsxs)(`span`,{className:`aha-chip`,"data-active":!b.has(e.id),children:[(0,i.jsx)(`span`,{onClick:()=>v({hidden:b.has(e.id)?[...b].filter(t=>t!==e.id):[...b,e.id]}),children:e.title}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>{let t=[...h.order],n=t.indexOf(e.id);n>0&&([t[n-1],t[n]]=[t[n],t[n-1]]),v({order:t})},disabled:t===0,children:`↑`})]},e.id))}),(0,i.jsx)(`div`,{className:`aha-printable`,children:(0,i.jsx)(`div`,{className:`aha-sheet`,"data-highlight":h.highlight,style:{columnCount:h.columns,"--sheet-size":`${h.fontSize}px`},children:y.filter(e=>!b.has(e.id)).map(e=>(0,i.jsxs)(`div`,{className:`aha-sheetSection`,children:[(0,i.jsx)(`h4`,{children:e.title}),e.items.map((e,t)=>(0,i.jsxs)(`div`,{className:`aha-sheetItem`,"data-kind":e.kind,children:[e.title?(0,i.jsxs)(`b`,{children:[e.title,`:`]}):null,e.text?(0,i.jsx)(gs,{text:e.text,compact:!0}):null,e.tex?(0,i.jsx)(So,{tex:e.tex}):null,e.cite?(0,i.jsxs)(`span`,{className:`aha-cite`,children:[`(p.`,e.cite.page,e.cite.source?` · ${e.cite.source}`:``,`)`]}):null]},t)),e.related?.length?(0,i.jsxs)(`div`,{className:`aha-cite`,children:[`↔ `,e.related.join(` · `)]}):null]},e.id))})})]})}function Kc({kind:e,id:t,materialId:n}){let{api:a,t:o}=f(),s=m(),[c,l]=(0,r.useState)(null),[u,d]=(0,r.useState)(null);if((0,r.useEffect)(()=>{let r=!0;return(async()=>{try{if(e===`digest`){let{material:e}=await a.call(`material/get`,{id:n}),t=e.digest;if(!t){let e=await a.call(`material/digest`,{id:n});t=(await s.run(null,null,{existing:e.job})).material.digest}r&&l({title:e.title,digest:t});return}let{item:i}=await a.call(`items/get`,{kind:`sheets`,id:t});r&&l({title:i.title,markdown:i.markdown})}catch(e){r&&d(e)}})(),()=>{r=!1}},[e,t,n]),e===`quiz`)return(0,i.jsx)(Uc,{deckId:t});if(u)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)($,{error:u})});if(!c)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Ts,{progress:s.progress,label:o(`generating`)})});if(c.markdown!==void 0)return(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:860},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:c.title}),(0,i.jsx)(`div`,{className:`aha-card`,children:(0,i.jsx)(gs,{text:c.markdown})})]});let p=c.digest;return(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:900},children:[(0,i.jsxs)(`h2`,{className:`aha-title`,children:[o(`digestTitle`),` · `,c.title]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:o(`overview`)}),(0,i.jsx)(gs,{text:p.overview})]}),p.structure?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:o(`structure`)}),p.structure.map((e,t)=>(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:2},children:[(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`b`,{children:e.heading}),e.pages?(0,i.jsxs)(`span`,{className:`aha-cite`,children:[`(p.`,e.pages,`)`]}):null]}),(0,i.jsx)(`ul`,{style:{margin:0},children:e.points.map((e,t)=>(0,i.jsx)(`li`,{children:(0,i.jsx)(gs,{text:e,compact:!0})},t))})]},t))]}):null,p.keyIdeas?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:o(`keyIdeas`)}),(0,i.jsx)(`ul`,{style:{margin:0},children:p.keyIdeas.map((e,t)=>(0,i.jsx)(`li`,{children:(0,i.jsx)(gs,{text:e,compact:!0})},t))})]}):null,p.arguments?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:o(`arguments`)}),p.arguments.map((e,t)=>(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`b`,{children:e.claim}),e.page?(0,i.jsxs)(`span`,{className:`aha-cite`,children:[`(p.`,e.page,`)`]}):null,(0,i.jsx)(`p`,{className:`aha-hint`,children:e.support})]},t))]}):null,p.glossary?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:o(`glossary`)}),p.glossary.map((e,t)=>(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`b`,{children:e.term}),`:`,e.meaning]},t))]}):null,p.questions?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:o(`discussion`)}),(0,i.jsx)(`ol`,{style:{margin:0},children:p.questions.map((e,t)=>(0,i.jsx)(`li`,{children:e},t))})]}):null]})}let qc=[[`home`,`navHome`,`home`],[`courses`,`navCourses`,`courses`],[`assist`,`navAssist`,`assist`],[`materials`,`navMaterials`,`library`],[`studio`,`navStudio`,`studio`],[`shorts`,`navShorts`,`shorts`],[`plan`,`navPlan`,`plan`],[`profile`,`navProfile`,`profile`],[`settings`,`navSettings`,`settings`]],Jc={home:ec,courses:Hs,craft:Gs,course:Bs,lesson:Dc,practice:Uc,cards:Wc,sheet:Gc,item:Kc,project:Pc,materials:kc,studio:Bc,assist:Is,shorts:Rc,plan:jc,profile:Nc,settings:Ic},Yc={craft:`courses`,course:`courses`,lesson:`courses`,practice:`courses`,project:`courses`,cards:`studio`,sheet:`studio`,item:`studio`};function Xc({rpc:e,t,language:n,dsh:a}){let[o,s]=g(`route`,{screen:`home`,params:{}}),c=(0,r.useRef)([]),l=(0,r.useCallback)((e,t={},{replace:n=!1}={})=>{s(r=>(n||(c.current.push(r),c.current.length>40&&c.current.shift()),{screen:e,params:t}))},[s]),u=(0,r.useCallback)(()=>{let e=c.current.pop();s(e??{screen:`home`,params:{}})},[s]);(0,r.useEffect)(()=>{let e=e=>{let t=e.detail;t?.screen&&Jc[t.screen]&&l(t.screen,t.params??{})};return window.addEventListener(ee,e),()=>window.removeEventListener(ee,e)},[l]);let{value:f,toastText:p}=te({rpc:e,t,language:n,dsh:a,navigate:l,back:u}),m=Jc[o.screen]??ec,h=Yc[o.screen]??o.screen;return(0,i.jsx)(d.Provider,{value:f,children:(0,i.jsxs)(`div`,{className:`aha`,children:[(0,i.jsxs)(`nav`,{className:`aha-nav`,children:[(0,i.jsxs)(`div`,{className:`aha-brand`,children:[(0,i.jsx)(ie,{name:`logo`,size:24}),(0,i.jsxs)(`span`,{children:[t(`appName`),(0,i.jsx)(`small`,{children:t(`appTagline`)})]})]}),qc.map(([e,n,r])=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-navItem`,"data-active":h===e,onClick:()=>{c.current=[],s({screen:e,params:{}})},title:t(n),children:[(0,i.jsx)(ie,{name:r,size:17}),(0,i.jsx)(`span`,{children:t(n)})]},e))]}),(0,i.jsx)(`main`,{className:`aha-main`,children:(0,i.jsx)(m,{...o.params},`${o.screen}:${JSON.stringify(o.params)}`)}),p?(0,i.jsx)(`div`,{className:`aha-toast`,role:`status`,children:p}):null]})})}function Zc({useTabInfo:e,rpc:t,t:n,language:r,dsh:a}){let{tab:o}=e(),s=o?.navigation?.params??null,{value:c}=te({rpc:t,t:n,language:r,dsh:a});return(0,i.jsx)(d.Provider,{value:c,children:(0,i.jsx)(`div`,{className:`aha aha-tab`,style:{height:`100%`,overflow:`auto`,padding:`10px 12px`},children:s?.threadId?(0,i.jsx)(Qc,{threadId:s.threadId,jobId:s.jobId},`${s.threadId}:${o.navigation.revision??0}`):(0,i.jsx)(`p`,{className:`aha-hint`,children:n(`openBoard`)})})})}function Qc({threadId:e,jobId:t}){let{api:n,t:a}=f(),[o,s]=(0,r.useState)(null);return(0,r.useEffect)(()=>{let r=!0;return(async()=>{let i=t?await n.call(`job/get`,{id:t}).catch(()=>null):null;if(i&&i.status===`running`){r&&s({stream:i,steps:[],title:``});return}try{let{item:t}=await n.call(`items/get`,{kind:`assist`,id:e}),i=t.turns.at(-1);r&&s({stream:null,steps:i?.board?.steps??[],title:t.title,language:t.language,turn:t.turns.length-1})}catch(e){r&&s({error:e})}})(),()=>{r=!1}},[e,t]),o?o.error?(0,i.jsx)(`p`,{className:`aha-error`,children:a(`errorGeneric`,{message:o.error.message})}):(0,i.jsx)(Cs,{scope:{kind:`thread`,id:e,turn:o.turn??0},title:o.title||a(`boardSession`),steps:o.steps,stream:o.stream,language:o.language,recordChecks:!1}):(0,i.jsx)(Q,{label:a(`loading`)})}function $c({rpc:e,t,language:n,dsh:r}){return te({rpc:e,t,language:n,dsh:r}).value}function el(e){return e?.meta&&typeof e.meta==`object`?e.meta:null}function tl(e){let t=$c(e);return(0,i.jsx)(d.Provider,{value:t,children:(0,i.jsx)(`div`,{className:`aha aha-card`,style:{height:`auto`,display:`flex`,flexDirection:`column`,gap:8,margin:`6px 0`,padding:`10px 12px`},children:(0,i.jsx)(nl,{...e})})})}function nl({toolName:e,phase:t,block:n,dsh:a,inputActions:o,t:s,callId:c}){let l=el(n),u=n?.args?.text?.(`topic`)??n?.args?.text?.(`goal`)??``,d=t!==`result`,f=t===`result`&&n?.isError;return(0,r.useEffect)(()=>{if(e!==`aha_whiteboard`||t!==`result`||!l?.threadId)return;let r=typeof n?.time!=`number`||Date.now()-n.time<12e4,i=`aha-tutor:opened:${c}`;try{if(!r||window.sessionStorage.getItem(i))return;window.sessionStorage.setItem(i,`1`)}catch{if(!r)return}a.openBoardTab({threadId:l.threadId,jobId:l.jobId})},[e,t,l?.threadId]),f?(0,i.jsx)(`span`,{className:`aha-error`,children:s(`errorGeneric`,{message:(n.content??[]).map(e=>e.text??``).join(` `).slice(0,200)})}):e===`aha_whiteboard`?(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:8},children:[d?(0,i.jsx)(`span`,{className:`aha-spinner`}):`🧑‍🏫`,(0,i.jsx)(`b`,{children:s(`toolBoardTitle`)}),(0,i.jsx)(`span`,{className:`aha-hint`,children:l?.title??u})]}),l?.threadId?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>a.openBoardTab({threadId:l.threadId,jobId:l.jobId}),children:s(`openBoard`)}):null]}):e===`aha_quiz`?d||!l?.items?(0,i.jsxs)(`span`,{className:`aha-row`,children:[(0,i.jsx)(`span`,{className:`aha-spinner`}),s(`makingPractice`)]}):(0,i.jsx)(rl,{items:l.items,topic:l.topic,inputActions:o}):e===`aha_course`?(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:8},children:[d?(0,i.jsx)(`span`,{className:`aha-spinner`}):`🎓`,(0,i.jsx)(`b`,{children:s(`modeCourse`)}),(0,i.jsx)(`span`,{className:`aha-hint`,children:l?.goal??u})]}),l?.courseId?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>D(a,`craft`,{courseId:l.courseId}),children:s(`open`)}):null]}):e===`aha_cheatsheet`?(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:8},children:[d?(0,i.jsx)(`span`,{className:`aha-spinner`}):`📄`,(0,i.jsx)(`b`,{children:s(`sheetTitle`)}),(0,i.jsx)(`span`,{className:`aha-hint`,children:l?.title??u})]}),l?.sheetId?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>D(a,`sheet`,{sheetId:l.sheetId}),children:s(`open`)}):null]}):(0,i.jsxs)(`span`,{className:`aha-hint`,children:[d?(0,i.jsx)(`span`,{className:`aha-spinner`}):`🧠`,` `,s(`navProfile`)]})}function rl({items:e,topic:t,inputActions:n}){let{t:a,language:o}=f(),[s,c]=(0,r.useState)(0),[l,u]=(0,r.useState)([]),d=e[s],p=(0,r.useMemo)(()=>l.map((e,t)=>`${t+1}. ${e.correct?`✔`:e.partial?`◐`:`✘`} ${e.answer}`).join(`
425
- `),[l]);if(!d){let r=l.filter(e=>e.correct).length;return(0,i.jsxs)(`div`,{className:`aha-col`,children:[(0,i.jsx)(`b`,{children:a(`practiceDone`,{correct:r,total:e.length})}),n?.setDraft?(0,i.jsx)(`div`,{children:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,"data-size":`sm`,onClick:()=>n.setDraft(`${t??``} ${a(`practiceDone`,{correct:r,total:e.length})}\n${p}`),children:a(`submit`)})}):null]})}return(0,i.jsxs)(`div`,{className:`aha-col`,children:[(0,i.jsxs)(`span`,{className:`aha-hint`,children:[a(`checkTitle`),` · `,s+1,`/`,e.length]}),(0,i.jsx)(vs,{item:d,language:o===`zh`?`zh-CN`:`en`,compact:!0,onResult:e=>u(t=>[...t,{...e,answer:d.prompt.slice(0,60)}]),onContinue:()=>c(e=>e+1)},s)]})}let il=`ahaTutor`,al={appName:`开窍`,appTagline:`AI 私人老师`,navHome:`首页`,navCourses:`我的课程`,navMaterials:`资料库`,navStudio:`学习工具`,navAssist:`即时答疑`,navShorts:`讲解短片`,navPlan:`学习计划`,navProfile:`我的画像`,navSettings:`设置`,heroTitle:`今天想把什么弄懂?`,heroHint:`说出你想学的东西,或者丢一本教材进来。我会先了解你,再为你量身做一门课,在白板上一步步讲给你听。`,heroPlaceholder:`比如:三周内搞懂线性代数里的特征值|把这份讲义变成一门课|量子隧穿到底是怎么回事`,modeCourse:`定制一门课`,modeExplain:`讲个概念`,modeSolve:`陪我解题`,modeVisualize:`画出来看看`,modeDigest:`消化长文档`,modeShort:`两分钟短片`,attach:`添加资料`,attached:`已附 {count} 份资料`,start:`开始`,quickStart:`跳过提问,直接出课`,continueLearning:`继续学习`,todayPlan:`今天的安排`,noPlanToday:`今天没有安排,去建一门课或者休息一下吧。`,recentWork:`最近做的`,sampleCourses:`示例课程`,sampleHint:`不花 token 也能先体验白板课堂。`,importSample:`加入我的课程`,coursesTitle:`我的课程`,filterAll:`全部`,filterActive:`学习中`,filterDone:`已学完`,filterArchived:`已归档`,searchCourses:`搜索课程`,noCourses:`还没有课程。回到首页,告诉我你想学什么。`,importPack:`导入课程包`,lessonsCount:`{done}/{total} 讲`,minutesLeft:`还剩约 {minutes} 分钟`,statusIntake:`待回答问题`,statusBlueprint:`待确认蓝图`,statusReady:`可以学习`,nextUp:`下一讲:{title}`,craftQuestionsTitle:`先认识一下你`,craftQuestionsHint:`回答几个问题,课程会按你的情况来设计。拿不准的可以跳过。`,craftOther:`其他(自己写)`,craftPace:`学习节奏`,paceIntensive:`冲刺`,paceIntensiveHint:`约 6 周,抓重点`,paceBalanced:`稳步`,paceBalancedHint:`约 3 个月,基础 + 练习 + 项目`,paceRelaxed:`不设期限`,paceRelaxedHint:`慢慢来,挖得更深`,weeklyMinutes:`每周大约能学多久`,minutesUnit:`{minutes} 分钟`,deadline:`截止日期(可选)`,makeBlueprint:`生成课程蓝图`,thinkingQuestions:`正在想该问你什么…`,designingBlueprint:`正在设计课程蓝图…`,blueprintTitle:`课程蓝图`,blueprintHint:`这是为你设计的课程结构。可以直接改标题、删减或调整顺序,也可以用一句话让我改。`,reviseLabel:`用一句话修改`,revisePlaceholder:`比如:多加一些编程实战;第二单元讲浅一点;去掉第 3 讲`,revise:`修改`,revising:`正在修改…`,addLesson:`加一讲`,addLecture:`加一章`,addUnit:`加一个单元`,moveUp:`上移`,moveDown:`下移`,remove:`删除`,projects:`实战项目`,confirmCourse:`确认,生成整门课`,confirming:`正在准备练习和项目… {done}/{total}`,courseReady:`课程已就绪`,unitN:`第 {n} 单元`,lectureN:`第 {n} 章`,estMinutes:`{minutes} 分钟`,saveEdits:`保存修改`,saved:`已保存`,tabOutline:`大纲`,tabPractice:`练习与测验`,tabSheets:`速查表`,tabCards:`闪卡`,tabProjects:`项目`,tabProgress:`进度`,learn:`学习`,practice:`练习`,review:`复习`,remedial:`巩固`,exportPack:`导出课程包`,exportWithProgress:`连同我的学习进度`,rename:`重命名`,archive:`归档`,unarchive:`取消归档`,deleteCourse:`删除课程`,deleteConfirm:`删除后无法恢复。确定删除「{title}」吗?`,cancel:`取消`,confirm:`确定`,close:`关闭`,back:`返回`,retry:`重试`,generate:`生成`,regenerate:`重新生成`,generating:`正在生成…`,open:`打开`,unitQuiz:`单元测验`,unitSheet:`单元速查表`,mastery:`掌握度`,conceptMastery:`知识点掌握情况`,preparingLesson:`老师正在备课…`,bufferingLesson:`下一部分马上写好…`,play:`播放`,pause:`暂停`,prevStep:`上一步`,nextStep:`下一步`,speed:`语速`,voiceOn:`声音开`,voiceOff:`静音`,captions:`字幕`,raiseHand:`举手提问`,askPlaceholder:`哪里没听懂?直接问`,ask:`提问`,answering:`老师在想怎么回答…`,reexplain:`换个讲法`,styleAnalogy:`打个比方`,styleVisual:`画图讲`,styleExample:`举个例子`,styleSimpler:`讲简单点`,styleDeeper:`讲深一点`,stepOf:`第 {current}/{total} 步`,checkTitle:`小测一下`,confidence:`你有多确定?`,confSure:`很确定`,confUnsure:`有点犹豫`,confGuess:`猜的`,submit:`提交`,correct:`答对了`,incorrect:`不太对`,partial:`部分正确`,continue:`继续`,skip:`跳过`,hint:`提示`,yourAnswer:`你的答案`,grading:`老师在批改…`,lessonDone:`这一讲讲完了`,selfRate:`你觉得自己掌握得怎么样?`,rate1:`没懂`,rate3:`一般`,rate5:`很清楚`,nextLesson:`下一讲`,doPractice:`去做练习`,backToCourse:`回到课程`,remedialAdded:`我给你加了一节巩固课:{title}`,challengeNote:`这部分你掌握得很好,接下来会讲得更深一些。`,replay:`重新讲一遍`,regenerateLesson:`重新备课`,exportBoard:`导出板书`,practiceTitle:`练习`,check:`检查答案`,checked:`已检查`,score:`得分 {score}`,practiceDone:`本组练习完成:答对 {correct}/{total}`,showExplanation:`看解析`,makingPractice:`正在出题…`,cardsTitle:`闪卡`,cardsDue:`待复习 {count} 张`,flip:`点击翻面`,again:`忘了`,hard:`困难`,good:`记得`,easy:`简单`,cardsDone:`这一轮复习完成了!`,makingCards:`正在制作闪卡…`,sheetTitle:`速查表`,columns:`列数`,fontSize:`字号`,highlight:`高亮重点`,print:`打印`,hideSection:`隐藏`,showSection:`显示`,makingSheet:`正在整理速查表…`,projectBrief:`项目说明`,milestones:`里程碑`,rubric:`评分标准`,openWorkspace:`打开项目工作区`,openingWorkspace:`正在准备项目文件夹…`,workspaceReady:`项目文件夹在:{path}`,workspaceSession:`已在 DSH 中打开项目会话`,workspaceManual:`在 DSH 里把这个文件夹添加为工作区,就能让编程 Agent 陪你完成项目。`,copyPath:`复制路径`,submitProject:`提交作品`,submitNotes:`写点说明(做了什么、遇到的问题)`,includeFiles:`同时提交项目文件夹里的文件`,reviewing:`老师在看你的作品…`,reviewTotal:`总分 {total}/{max}`,strengths:`做得好的地方`,nextSteps:`可以改进的地方`,submissions:`历次提交`,materialsTitle:`资料库`,materialsHint:`上传教材、讲义、论文或网页,用来建课、做速查表和闪卡,讲课时也会引用原文页码。`,uploadFiles:`上传文件`,dropHere:`把文件拖到这里(PDF、Word、PPT、Markdown、文本、图片)`,addUrl:`添加网页`,urlPlaceholder:`https://…`,reading:`正在读取…`,pages:`{count} 页`,slides:`{count} 张幻灯片`,makeCourse:`用它建课`,makeSheet:`速查表`,makeCards:`闪卡`,makeNotes:`笔记`,makeQuiz:`测验`,digest:`消化`,digestTitle:`文档消化`,overview:`概要`,structure:`结构`,keyIdeas:`核心观点`,arguments:`论点与论据`,glossary:`术语表`,discussion:`值得思考的问题`,imageNeedsVision:`图片需要支持识图的模型才能读取。`,noMaterials:`资料库是空的。`,studioTitle:`学习工具`,studioHint:`用资料库里的资料一键生成学习材料。`,pickMaterials:`选择资料`,sheets:`速查表`,notes:`笔记`,decks:`闪卡组`,quizzes:`测验`,focusPlaceholder:`重点(可选),比如:期中考试范围第 3–6 章`,assistTitle:`即时答疑`,assistHint:`不用建课,有问题直接问。老师会在白板上讲给你听。`,assistPlaceholder:`想问什么?可以贴题目、概念或附上资料`,followUp:`继续追问`,history:`历史记录`,newThread:`新的问题`,shortsTitle:`讲解短片`,shortsHint:`输入一个主题或贴一个网址,生成一段约两分钟、能分享的白板讲解。`,topicPlaceholder:`比如:为什么天空是蓝色的`,makeShort:`生成短片`,exportVideo:`导出视频`,exporting:`正在录制视频…{percent}%`,exportNeedsCloud:`浏览器语音无法录进视频,导出的视频会带字幕但没有声音。在设置里配置云端语音即可导出有声版。`,exportUnsupported:`当前环境不支持导出视频。`,planTitle:`学习计划`,planHint:`根据你所有在学的课程、每周时间和截止日期自动排课,并留出复习时间。`,studyDays:`学习日`,weekdays:`日,一,二,三,四,五,六`,exams:`考试与截止日期`,addExam:`添加`,examTitle:`名称`,examDay:`日期`,deadlineRisk:`「{course}」按现在的节奏会在 {finish} 学完,晚于截止日期 {deadline}。建议每周提高到约 {minutes} 分钟。`,startReview:`开始复习`,reviewDue:`有 {count} 个知识点该复习了`,nothingToReview:`暂时没有要复习的内容。`,savePlan:`保存`,lessonItem:`学习`,reviewItem:`复习`,examItem:`考试`,today:`今天`,profileTitle:`我的画像`,profileHint:`老师会记住这些信息,让每门课都更贴合你。你可以随时修改或清空。`,background:`背景`,goals:`目标`,strengthsLabel:`擅长`,weaknesses:`薄弱点`,learningStyle:`喜欢的讲解方式`,memoryNotes:`老师的备忘`,clearProfile:`清空画像`,clearProfileConfirm:`清空后老师会忘记你的背景和偏好。确定吗?`,onePerLine:`每行一条`,settingsTitle:`设置`,modelsTitle:`模型`,teachModel:`出课与讲课`,quickModel:`批改与问答`,followDefault:`跟随 DSH 默认模型`,modelsHint:`讲课质量主要取决于「出课与讲课」模型;批改和课堂提问可以用更快的模型。`,voiceTitle:`语音讲解`,engine:`语音来源`,engineBrowser:`系统语音(免费)`,engineCloud:`云端语音`,engineOff:`不朗读`,browserVoice:`系统音色`,autoVoice:`自动选择`,noVoiceForLanguage:`没有找到适合当前语言的系统音色。可以在系统设置里安装中文语音,或改用云端语音。`,cloudProvider:`云端服务`,providerOpenai:`OpenAI 兼容接口`,providerVolcengine:`火山引擎(豆包语音)`,providerMinimax:`MiniMax`,providerAzure:`Azure 语音`,field_baseUrl:`接口地址`,field_model:`模型`,field_voice:`音色`,field_appId:`App ID`,field_cluster:`Cluster`,field_groupId:`Group ID`,field_region:`区域`,field_apiKey:`密钥`,keySaved:`已保存密钥`,keyMissing:`未保存密钥`,saveKey:`保存密钥`,clearKey:`清除密钥`,testVoice:`试听`,testSentence:`你好,我是你的私人老师。我们一起把难的东西弄懂。`,voiceRate:`默认语速`,boardTheme:`白板外观`,themeAuto:`跟随系统`,themeLight:`白板`,themeDark:`黑板`,versionTitle:`插件版本`,versionCurrent:`当前版本`,versionLatest:`最新版本`,versionCheck:`检查更新`,versionChecking:`正在检查…`,versionFailed:`无法检查最新版本。`,versionUpToDate:`已是最新版本。`,versionAvailable:`发现新版本 v{version}。`,versionLinked:`当前是本地开发安装,请在插件仓库拉取最新代码并重新构建。`,versionManual:`没找到这个插件所在的 profile,请到 DSH 插件页按精确版本安装:dsh-aha-tutor@{version}。`,versionUpdate:`更新插件`,versionUpdating:`正在更新…`,versionUpdateFailed:`更新失败,请稍后重试,或到 DSH 插件页按精确版本手动安装。`,versionPending:`v{version} 刚发布不久,DSH 的 pnpm 要等过了发布冷却期才会安装,请稍后再试。`,versionPendingUntil:`v{version} 刚发布不久,DSH 的 pnpm 要等过了发布冷却期才会安装,{time} 之后可以更新。`,versionUpdated:`已更新到 v{version}。请完全退出并重新打开 DSH 桌面版,新版本才会生效(只刷新页面不够)。`,privacyNote:`课程、进度和资料都只保存在这台电脑的 DSH 数据目录里。`,errorGeneric:`出了点问题:{message}`,loading:`加载中…`,empty:`这里还什么都没有。`,copied:`已复制`,minutes:`分钟`,untitled:`未命名`,delete:`删除`,edit:`编辑`,save:`保存`,all:`全部`,mode:`模式`,boardSession:`白板讲解`,toolBoardTitle:`老师在白板上讲解`,openBoard:`打开白板`,panelLabel:`开窍 · AI 私人老师`,copyCode:`复制`,footnotes:`脚注`,"err_llm-auth":`模型未登录或密钥无效,请在 DSH 设置里检查模型服务。`,"err_llm-quota":`模型额度不足或请求太频繁,稍后再试。`,"err_llm-context":`资料太长,超出了模型的上下文。少选一些资料,或换一个上下文更大的模型。`,"err_llm-unavailable":`所选模型不可用,请在开窍设置里换一个模型。`,"err_llm-timeout":`模型响应超时,请重试。`,"err_bad-output":`模型这次没给出可用的结果,请重试,或在设置里换一个更强的模型。`,courseCreatedInChat:`课程「{title}」已创建,可以在「开窍」里继续。`},ol={appName:`Aha`,appTagline:`your AI tutor`,navHome:`Home`,navCourses:`My courses`,navMaterials:`Library`,navStudio:`Study tools`,navAssist:`Ask anything`,navShorts:`Explainer shorts`,navPlan:`Study plan`,navProfile:`About me`,navSettings:`Settings`,heroTitle:`What do you want to finally understand today?`,heroHint:`Tell me what you want to learn, or drop in a textbook. I will get to know you, build a course around you, and teach it step by step on the whiteboard.`,heroPlaceholder:`e.g. Get eigenvalues in three weeks | Turn these lecture notes into a course | How does quantum tunneling actually work?`,modeCourse:`Build a course`,modeExplain:`Explain a concept`,modeSolve:`Solve with me`,modeVisualize:`Show me visually`,modeDigest:`Digest a long read`,modeShort:`Two-minute short`,attach:`Add material`,attached:`{count} material(s) attached`,start:`Start`,quickStart:`Skip questions, build now`,continueLearning:`Continue learning`,todayPlan:`Today`,noPlanToday:`Nothing planned today. Start a course or take a break.`,recentWork:`Recent`,sampleCourses:`Sample courses`,sampleHint:`Try the whiteboard classroom without spending tokens.`,importSample:`Add to my courses`,coursesTitle:`My courses`,filterAll:`All`,filterActive:`In progress`,filterDone:`Completed`,filterArchived:`Archived`,searchCourses:`Search courses`,noCourses:`No courses yet. Go to Home and tell me what you want to learn.`,importPack:`Import course pack`,lessonsCount:`{done}/{total} lessons`,minutesLeft:`about {minutes} min left`,statusIntake:`Questions pending`,statusBlueprint:`Blueprint to confirm`,statusReady:`Ready`,nextUp:`Next: {title}`,craftQuestionsTitle:`Let me get to know you`,craftQuestionsHint:`A few answers let me shape the course around you. Skip anything you are unsure about.`,craftOther:`Other (write your own)`,craftPace:`Pace`,paceIntensive:`Sprint`,paceIntensiveHint:`~6 weeks, essentials first`,paceBalanced:`Steady`,paceBalancedHint:`~3 months, foundations + practice + project`,paceRelaxed:`No deadline`,paceRelaxedHint:`Take your time, go deeper`,weeklyMinutes:`Time per week`,minutesUnit:`{minutes} min`,deadline:`Deadline (optional)`,makeBlueprint:`Design my course`,thinkingQuestions:`Thinking about what to ask you…`,designingBlueprint:`Designing your course blueprint…`,blueprintTitle:`Course blueprint`,blueprintHint:`Here is the course I designed for you. Edit titles, remove or reorder anything, or tell me what to change.`,reviseLabel:`Change it in one sentence`,revisePlaceholder:`e.g. More hands-on coding; make unit 2 lighter; drop lesson 3`,revise:`Revise`,revising:`Revising…`,addLesson:`Add lesson`,addLecture:`Add chapter`,addUnit:`Add unit`,moveUp:`Move up`,moveDown:`Move down`,remove:`Remove`,projects:`Projects`,confirmCourse:`Confirm and build the course`,confirming:`Preparing practice and projects… {done}/{total}`,courseReady:`Your course is ready`,unitN:`Unit {n}`,lectureN:`Chapter {n}`,estMinutes:`{minutes} min`,saveEdits:`Save changes`,saved:`Saved`,tabOutline:`Outline`,tabPractice:`Practice & quizzes`,tabSheets:`Cheat sheets`,tabCards:`Flashcards`,tabProjects:`Projects`,tabProgress:`Progress`,learn:`Learn`,practice:`Practice`,review:`Review`,remedial:`Revisit`,exportPack:`Export course pack`,exportWithProgress:`Include my progress`,rename:`Rename`,archive:`Archive`,unarchive:`Unarchive`,deleteCourse:`Delete course`,deleteConfirm:`This cannot be undone. Delete "{title}"?`,cancel:`Cancel`,confirm:`Confirm`,close:`Close`,back:`Back`,retry:`Retry`,generate:`Generate`,regenerate:`Regenerate`,generating:`Generating…`,open:`Open`,unitQuiz:`Unit quiz`,unitSheet:`Unit cheat sheet`,mastery:`Mastery`,conceptMastery:`Concept mastery`,preparingLesson:`Your tutor is preparing the lesson…`,bufferingLesson:`Writing the next part…`,play:`Play`,pause:`Pause`,prevStep:`Previous step`,nextStep:`Next step`,speed:`Speed`,voiceOn:`Sound on`,voiceOff:`Muted`,captions:`Captions`,raiseHand:`Raise hand`,askPlaceholder:`What was unclear? Just ask`,ask:`Ask`,answering:`Thinking about your question…`,reexplain:`Explain differently`,styleAnalogy:`With an analogy`,styleVisual:`With a drawing`,styleExample:`With an example`,styleSimpler:`More simply`,styleDeeper:`In more depth`,stepOf:`Step {current}/{total}`,checkTitle:`Quick check`,confidence:`How sure are you?`,confSure:`Sure`,confUnsure:`Not quite`,confGuess:`Guessing`,submit:`Submit`,correct:`Correct`,incorrect:`Not quite`,partial:`Partly right`,continue:`Continue`,skip:`Skip`,hint:`Hint`,yourAnswer:`Your answer`,grading:`Grading…`,lessonDone:`Lesson complete`,selfRate:`How well do you feel you got it?`,rate1:`Lost`,rate3:`Okay`,rate5:`Crystal clear`,nextLesson:`Next lesson`,doPractice:`Practice`,backToCourse:`Back to course`,remedialAdded:`I added a revisit lesson for you: {title}`,challengeNote:`You have this down; the next lessons will go deeper.`,replay:`Replay lesson`,regenerateLesson:`Re-prepare lesson`,exportBoard:`Export board`,practiceTitle:`Practice`,check:`Check`,checked:`Checked`,score:`Score {score}`,practiceDone:`Set complete: {correct}/{total} correct`,showExplanation:`Explanation`,makingPractice:`Writing practice…`,cardsTitle:`Flashcards`,cardsDue:`{count} due`,flip:`Click to flip`,again:`Again`,hard:`Hard`,good:`Good`,easy:`Easy`,cardsDone:`Review round complete!`,makingCards:`Making flashcards…`,sheetTitle:`Cheat sheet`,columns:`Columns`,fontSize:`Font size`,highlight:`Highlight key items`,print:`Print`,hideSection:`Hide`,showSection:`Show`,makingSheet:`Compiling the cheat sheet…`,projectBrief:`Brief`,milestones:`Milestones`,rubric:`Rubric`,openWorkspace:`Open project workspace`,openingWorkspace:`Preparing the project folder…`,workspaceReady:`Project folder: {path}`,workspaceSession:`Opened a project session in DSH`,workspaceManual:`Add this folder as a workspace in DSH and a coding agent can help you build it.`,copyPath:`Copy path`,submitProject:`Submit work`,submitNotes:`Notes (what you built, what was hard)`,includeFiles:`Include the files in the project folder`,reviewing:`Reviewing your work…`,reviewTotal:`Total {total}/{max}`,strengths:`What went well`,nextSteps:`What to improve`,submissions:`Submissions`,materialsTitle:`Library`,materialsHint:`Upload textbooks, notes, papers or web pages to build courses, cheat sheets and flashcards. Lessons cite their pages.`,uploadFiles:`Upload files`,dropHere:`Drop files here (PDF, Word, PowerPoint, Markdown, text, images)`,addUrl:`Add web page`,urlPlaceholder:`https://…`,reading:`Reading…`,pages:`{count} pages`,slides:`{count} slides`,makeCourse:`Build a course`,makeSheet:`Cheat sheet`,makeCards:`Flashcards`,makeNotes:`Notes`,makeQuiz:`Quiz`,digest:`Digest`,digestTitle:`Digest`,overview:`Overview`,structure:`Structure`,keyIdeas:`Key ideas`,arguments:`Claims and evidence`,glossary:`Glossary`,discussion:`Questions worth asking`,imageNeedsVision:`Images need a vision-capable model.`,noMaterials:`Your library is empty.`,studioTitle:`Study tools`,studioHint:`Turn library materials into study aids in one click.`,pickMaterials:`Pick materials`,sheets:`Cheat sheets`,notes:`Notes`,decks:`Flashcard decks`,quizzes:`Quizzes`,focusPlaceholder:`Focus (optional), e.g. midterm scope chapters 3–6`,assistTitle:`Ask anything`,assistHint:`No course needed. Ask, and your tutor explains it on the whiteboard.`,assistPlaceholder:`What do you want to know? Paste a problem, a concept, or attach material`,followUp:`Follow up`,history:`History`,newThread:`New question`,shortsTitle:`Explainer shorts`,shortsHint:`Give a topic or a link and get a shareable two-minute whiteboard explainer.`,topicPlaceholder:`e.g. Why is the sky blue?`,makeShort:`Make short`,exportVideo:`Export video`,exporting:`Recording video… {percent}%`,exportNeedsCloud:`System voices cannot be recorded, so the video will have captions but no sound. Set up a cloud voice in Settings to export with narration.`,exportUnsupported:`Video export is not supported here.`,planTitle:`Study plan`,planHint:`Built from all your active courses, your weekly time and deadlines, with room for reviews.`,studyDays:`Study days`,weekdays:`Sun,Mon,Tue,Wed,Thu,Fri,Sat`,exams:`Exams and deadlines`,addExam:`Add`,examTitle:`Title`,examDay:`Date`,deadlineRisk:`At this pace "{course}" ends on {finish}, after its deadline {deadline}. Try about {minutes} minutes a week.`,startReview:`Start review`,reviewDue:`{count} concept(s) due for review`,nothingToReview:`Nothing to review right now.`,savePlan:`Save`,lessonItem:`Lesson`,reviewItem:`Review`,examItem:`Exam`,today:`Today`,profileTitle:`About me`,profileHint:`Your tutor remembers this to fit every course to you. Edit or clear it anytime.`,background:`Background`,goals:`Goals`,strengthsLabel:`Strengths`,weaknesses:`Weak spots`,learningStyle:`How I like things explained`,memoryNotes:`Tutor notes`,clearProfile:`Clear profile`,clearProfileConfirm:`Your tutor will forget your background and preferences. Continue?`,onePerLine:`One per line`,settingsTitle:`Settings`,modelsTitle:`Models`,teachModel:`Course design & teaching`,quickModel:`Grading & questions`,followDefault:`Follow the DSH default model`,modelsHint:`Lesson quality depends mostly on the teaching model; grading and in-class questions can use a faster one.`,voiceTitle:`Narration`,engine:`Voice source`,engineBrowser:`System voice (free)`,engineCloud:`Cloud voice`,engineOff:`Silent`,browserVoice:`System voice`,autoVoice:`Automatic`,noVoiceForLanguage:`No system voice found for this language. Install one in your OS settings or use a cloud voice.`,cloudProvider:`Cloud service`,providerOpenai:`OpenAI-compatible API`,providerVolcengine:`Volcengine (Doubao)`,providerMinimax:`MiniMax`,providerAzure:`Azure Speech`,field_baseUrl:`API address`,field_model:`Model`,field_voice:`Voice`,field_appId:`App ID`,field_cluster:`Cluster`,field_groupId:`Group ID`,field_region:`Region`,field_apiKey:`Key`,keySaved:`Key saved`,keyMissing:`No key saved`,saveKey:`Save key`,clearKey:`Remove key`,testVoice:`Test`,testSentence:`Hi, I am your tutor. Let us make the hard things make sense.`,voiceRate:`Default speed`,boardTheme:`Board look`,themeAuto:`Follow system`,themeLight:`Whiteboard`,themeDark:`Chalkboard`,versionTitle:`Plugin version`,versionCurrent:`Current`,versionLatest:`Latest`,versionCheck:`Check for updates`,versionChecking:`Checking…`,versionFailed:`Could not check the latest version.`,versionUpToDate:`You are on the latest version.`,versionAvailable:`Version v{version} is available.`,versionLinked:`Installed from a local checkout; pull and rebuild the plugin repository to update.`,versionManual:`Could not find the profile that owns this plugin. Install the exact version from the DSH Plugins page: dsh-aha-tutor@{version}.`,versionUpdate:`Update plugin`,versionUpdating:`Updating…`,versionUpdateFailed:`The update failed. Try again later, or install the exact version from the DSH Plugins page.`,versionPending:`v{version} was published recently; DSH’s pnpm installs it once its release cooldown passes. Try again later.`,versionPendingUntil:`v{version} was published recently; DSH’s pnpm installs it once its release cooldown passes, after {time}.`,versionUpdated:`Updated to v{version}. Quit and reopen the DSH desktop app for it to take effect (refreshing the page is not enough).`,privacyNote:`Courses, progress and materials are stored only in DSH’s data folder on this computer.`,errorGeneric:`Something went wrong: {message}`,loading:`Loading…`,empty:`Nothing here yet.`,copied:`Copied`,minutes:`min`,untitled:`Untitled`,delete:`Delete`,edit:`Edit`,save:`Save`,all:`All`,mode:`Mode`,boardSession:`Whiteboard`,toolBoardTitle:`Explaining on the whiteboard`,openBoard:`Open whiteboard`,panelLabel:`Aha · AI tutor`,copyCode:`Copy`,footnotes:`Footnotes`,"err_llm-auth":`The model is not signed in or its key is invalid. Check the model provider in DSH settings.`,"err_llm-quota":`The model quota is used up or requests are too frequent. Try again later.`,"err_llm-context":`The material is too long for this model. Pick fewer materials or a model with a larger context.`,"err_llm-unavailable":`The selected model is not available. Pick another one in Aha settings.`,"err_llm-timeout":`The model took too long. Try again.`,"err_bad-output":`The model did not return a usable result this time. Try again or pick a stronger model in settings.`,courseCreatedInChat:`Created the course "{title}". Continue it in Aha.`},sl=[`slots`,`locale`,`connection`],cl=`aha-tutor`,ll=`dsh-aha-tutor/board`,ul=`ahaTutorBoard`,dl=[`aha_whiteboard`,`aha_quiz`,`aha_course`,`aha_cheatsheet`,`aha_learner`];function fl({size:e}){return(0,i.jsx)(ie,{name:`logo`,size:e})}function pl({rpc:e,t,language:n,dsh:r}){return(0,i.jsx)(Xc,{rpc:e,t,language:n(),dsh:r})}function ml(e){e.effect(()=>e.locale.register(il,{zh:al,en:ol}),`aha-tutor: copy`),e.effect(()=>{let e=document.createElement(`style`);return e.dataset.plugin=`dsh-aha-tutor`,e.textContent=nc,document.head.append(e),()=>e.remove()},`aha-tutor: style`);let t=e.locale.bind(il),n=e.get(`connection`).rpc,r=()=>String(e.locale.getLocale?.()?.active??`zh`).startsWith(`zh`)?`zh`:`en`,i=Object.freeze({selectPanel:()=>e.get(`layout`)?.selectPanel?.(cl),async openWorkspace(t,n){let r=e.get(`workspaces`),i=e.get(`uiWorkspace`);if(typeof r?.create!=`function`||typeof i?.startSession!=`function`)return!1;let a=await r.create({path:t});return i.startSession(a.workspaceId,{prompt:n,clearPreviousDraft:!0}),!0},openBoardTab(t){let n=e.get(`sidebarRight`);if(typeof n?.openTab!=`function`)return!1;try{return n.openTab(ul,{params:t}),!0}catch{return!1}}});e.slots.inject(`main`,()=>e.slots.register({name:`main`,key:cl,locale:il,inject:()=>({rpc:n,language:r,dsh:i})},pl)),e.slots.inject(`sidebar.panellist`,()=>e.slots.register({name:`sidebar.panellist`,id:cl,order:20,locale:il,label:()=>t(`panelLabel`)},fl)),e.inject([`sidebarRightTabs`],e=>{e.effect(()=>e.sidebarRightTabs.register({id:ll,kind:ul,title:()=>t(`boardSession`),keepMounted:!0}),`aha-tutor: board tab`)}),e.slots.inject(`sidebar.right.pane.tab`,()=>e.slots.register({name:`sidebar.right.pane.tab`,key:ll,locale:il,inject:()=>({rpc:n,language:r(),dsh:i})},Zc));for(let t of dl)e.slots.inject(`tool.call.toolview`,()=>e.slots.register({name:`tool.call.toolview`,key:t,locale:il,inject:()=>({rpc:n,language:r(),dsh:i})},tl))}return n.apply=ml,n.inject=sl,t.exports}});
432
+ `).map(e=>e.trim()).filter(Boolean);a.setValue(await e.call(`profile/save`,{background:o.background,goals:r(o.goals),strengths:r(o.strengths),weaknesses:r(o.weaknesses),preferences:{...a.value.preferences,style:o.style}})),n(t(`saved`))}catch(e){d(e)}}return o?(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:820},children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:t(`profileTitle`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`profileHint`)})]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(`background`),(0,i.jsx)(`textarea`,{className:`aha-textarea`,value:o.background,onChange:e=>s({...o,background:e.currentTarget.value})})]}),Ic.map(([e,n])=>(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(n),` `,(0,i.jsxs)(`span`,{className:`aha-hint`,children:[`(`,t(`onePerLine`),`)`]}),(0,i.jsx)(`textarea`,{className:`aha-textarea`,value:o[e],onChange:t=>s({...o,[e]:t.currentTarget.value})})]},e)),(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(`learningStyle`),(0,i.jsx)(`input`,{className:`aha-input`,value:o.style,onChange:e=>s({...o,style:e.currentTarget.value})})]}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:m,children:t(`save`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`danger`,onClick:()=>l(!0),children:t(`clearProfile`)})]}),(0,i.jsx)($,{error:u})]}),a.value.notes?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:t(`memoryNotes`)}),a.value.notes.map(n=>(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`span`,{children:n.text}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:async()=>a.setValue(await e.call(`profile/remove-note`,{id:n.id})),children:t(`delete`)})]},n.id))]}):null,(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`privacyNote`)}),c?(0,i.jsx)(js,{danger:!0,text:t(`clearProfileConfirm`),onCancel:()=>l(!1),onConfirm:async()=>{a.setValue(await e.call(`profile/clear`)),l(!1)}}):null]}):(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Q,{label:t(`loading`)})})}function Rc({courseId:e,projectId:t}){let{api:n,t:a,dsh:o,toast:s}=f(),c=p(()=>n.call(`project/get`,{courseId:e,projectId:t}),[e,t]),l=m(),[u,d]=(0,r.useState)(``),[h,g]=(0,r.useState)(!0),[_,v]=(0,r.useState)(null),[y,b]=(0,r.useState)(!1),[x,S]=(0,r.useState)(null);if(c.loading&&!c.value)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Q,{label:a(`loading`)})});if(!c.value)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)($,{error:c.error})});let{project:C,submissions:w}=c.value,T=_?.path??c.value.workspace;async function E(){b(!0),S(null);try{let r=await n.call(`project/open`,{courseId:e,projectId:t});v(r);let i=await o.openWorkspace(r.path,r.prompt).catch(()=>!1);s(i?a(`workspaceSession`):a(`workspaceReady`,{path:r.path}))}catch(e){S(e)}finally{b(!1)}}async function ee(){try{await l.run(`project/submit`,{courseId:e,projectId:t,notes:u,includeWorkspace:h}),d(``),c.reload()}catch{}}return(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:900},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:C.title}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:a(`projectBrief`)}),(0,i.jsx)(bs,{text:C.brief})]}),C.milestones?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:a(`milestones`)}),(0,i.jsx)(`ol`,{style:{margin:0,paddingLeft:20},children:C.milestones.map(e=>(0,i.jsxs)(`li`,{children:[(0,i.jsx)(`b`,{children:e.title}),e.detail?(0,i.jsx)(`div`,{className:`aha-hint`,children:e.detail}):null]},e.id))})]}):null,C.rubric?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:a(`rubric`)}),C.rubric.map(e=>(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`span`,{children:[e.criterion,e.detail?(0,i.jsxs)(`span`,{className:`aha-hint`,children:[` · `,e.detail]}):null]}),(0,i.jsx)(`span`,{className:`aha-tag`,children:e.points})]},e.id))]}):null,(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:y,onClick:E,children:[(0,i.jsx)(ie,{name:`folder`,size:15}),a(y?`openingWorkspace`:`openWorkspace`)]}),T?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`code`,{className:`aha-hint`,style:{overflowWrap:`anywhere`},children:T}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>{Rs(T),s(a(`copied`))},children:a(`copyPath`)})]}):null]}),(0,i.jsx)(`p`,{className:`aha-hint`,children:a(`workspaceManual`)}),(0,i.jsx)($,{error:x})]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:a(`submitProject`)}),(0,i.jsx)(`textarea`,{className:`aha-textarea`,value:u,placeholder:a(`submitNotes`),onChange:e=>d(e.currentTarget.value)}),(0,i.jsxs)(`label`,{className:`aha-row`,style:{gap:6},children:[(0,i.jsx)(`input`,{type:`checkbox`,checked:h,onChange:e=>g(e.currentTarget.checked)}),a(`includeFiles`)]}),l.running?(0,i.jsx)(ks,{progress:l.progress,label:a(`reviewing`)}):(0,i.jsx)(`div`,{children:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:!u.trim()&&!h,onClick:ee,children:a(`submitProject`)})}),(0,i.jsx)($,{error:l.error})]}),w.length?(0,i.jsxs)(`section`,{className:`aha-col`,children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:a(`submissions`)}),[...w].reverse().map((e,t)=>(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`b`,{children:a(`reviewTotal`,{total:e.review.total,max:e.review.max})}),(0,i.jsx)(`span`,{className:`aha-hint`,children:new Date(e.at).toLocaleString()})]}),e.review.summary?(0,i.jsx)(bs,{text:e.review.summary,compact:!0}):null,e.review.scores.map(e=>(0,i.jsxs)(`div`,{className:`aha-spread`,style:{alignItems:`flex-start`},children:[(0,i.jsxs)(`span`,{children:[(0,i.jsx)(`b`,{children:e.criterion}),(0,i.jsx)(`div`,{className:`aha-hint`,children:e.comment})]}),(0,i.jsxs)(`span`,{className:`aha-tag`,children:[e.points,`/`,e.max]})]},e.criterionId)),e.review.strengths?.length?(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`b`,{children:a(`strengths`)}),(0,i.jsx)(`ul`,{style:{margin:0},children:e.review.strengths.map((e,t)=>(0,i.jsx)(`li`,{children:e},t))})]}):null,e.review.nextSteps?.length?(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`b`,{children:a(`nextSteps`)}),(0,i.jsx)(`ul`,{style:{margin:0},children:e.review.nextSteps.map((e,t)=>(0,i.jsx)(`li`,{children:e},t))})]}):null]},t))]}):null]})}let zc=[[`openai`,`providerOpenai`],[`volcengine`,`providerVolcengine`],[`minimax`,`providerMinimax`],[`azure`,`providerAzure`]];function Bc(){let{api:e,t,settings:n,reloadSettings:a,setVoiceId:o,speech:s,language:c}=f(),l=p(()=>e.call(`models/list`),[]),[u,d]=(0,r.useState)(null),[m,h]=(0,r.useState)(()=>x()),[g,_]=(0,r.useState)(``),[v,y]=(0,r.useState)(!1);(0,r.useEffect)(()=>S(h),[]);async function w(t){d(null);try{await e.call(`settings/save`,{settings:t}),await a()}catch(e){d(e)}}let T=(e,t)=>e&&t?`${e}::${t}`:``,E=(e,t)=>{let[n=``,r=``]=t?t.split(`::`):[];w({[`${e}Provider`]:n,[`${e}Model`]:r})},ee=(0,r.useMemo)(()=>(l.value??[]).map(e=>({value:`${e.provider}::${e.model}`,label:`${e.providerName} · ${e.name}${e.images?` 🖼`:``}`})),[l.value]),te=c===`zh`?`zh-CN`:`en`,ne=m.filter(e=>e.lang.toLowerCase().startsWith(te.split(`-`)[0])),D=n.ttsProvider??`openai`,re=(n.fields?.[D]??[]).filter(e=>!e.secret),ie=n.tts?.[D]??{};async function ae(){y(!0);try{s.configure({engine:n.voiceEngine??`browser`,voiceId:n.voiceId||void 0,language:te,rate:n.voiceRate??1});let e=await s.speak(t(`testSentence`),{rate:n.voiceRate??1}).done;e?.error&&d(Error(e.error))}finally{y(!1)}}return n.voiceEngine?(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:820},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:t(`settingsTitle`)}),(0,i.jsx)($,{error:u}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:t(`modelsTitle`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`modelsHint`)}),[[`teach`,`teachModel`],[`quick`,`quickModel`]].map(([e,r])=>(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(r),(0,i.jsxs)(`select`,{className:`aha-select`,value:T(n[`${e}Provider`],n[`${e}Model`]),onChange:t=>E(e,t.currentTarget.value),children:[(0,i.jsx)(`option`,{value:``,children:t(`followDefault`)}),ee.map(e=>(0,i.jsx)(`option`,{value:e.value,children:e.label},e.value))]})]},e)),l.loading?(0,i.jsx)(Q,{}):null]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:t(`voiceTitle`)}),(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:6},children:[[`browser`,`engineBrowser`],[`cloud`,`engineCloud`],[`off`,`engineOff`]].map(([e,r])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,"data-active":n.voiceEngine===e,onClick:()=>w({voiceEngine:e}),children:t(r)},e))}),(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(`voiceRate`),` · `,n.voiceRate??1,`×`,(0,i.jsx)(`input`,{type:`range`,min:`0.5`,max:`2`,step:`0.05`,value:n.voiceRate??1,onChange:e=>w({voiceRate:Number(e.currentTarget.value)})})]}),n.voiceEngine===`browser`?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(`browserVoice`),(0,i.jsxs)(`select`,{className:`aha-select`,value:n.voiceId??``,onChange:e=>o(e.currentTarget.value),children:[(0,i.jsxs)(`option`,{value:``,children:[t(`autoVoice`),C(te)?` (${C(te).name})`:``]}),(ne.length?ne:m).map(e=>(0,i.jsxs)(`option`,{value:e.id,children:[e.name,` · `,e.lang,e.local?``:` ☁`]},e.id))]})]}),b()&&!ne.length?(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`noVoiceForLanguage`)}):null]}):null,n.voiceEngine===`cloud`?(0,i.jsxs)(`div`,{className:`aha-col`,children:[(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(`cloudProvider`),(0,i.jsx)(`select`,{className:`aha-select`,value:D,onChange:e=>w({ttsProvider:e.currentTarget.value}),children:zc.map(([e,n])=>(0,i.jsx)(`option`,{value:e,children:t(n)},e))})]}),re.map(e=>(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(`field_${e.key}`),(0,i.jsx)(`input`,{className:`aha-input`,defaultValue:ie[e.key]??``,onBlur:t=>{let n=t.currentTarget.value.trim();n!==(ie[e.key]??``)&&w({tts:{[D]:{[e.key]:n}}})}},`${D}:${e.key}:${ie[e.key]??``}`)]},e.key)),(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(`field_apiKey`),` · `,(0,i.jsx)(`span`,{className:n.keys?.[D]?`aha-ok`:`aha-hint`,children:n.keys?.[D]?t(`keySaved`):t(`keyMissing`)}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:1},type:`password`,autoComplete:`off`,spellCheck:!1,value:g,onChange:e=>_(e.currentTarget.value)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,disabled:!g.trim(),onClick:async()=>{d(null);try{await e.call(`settings/set-key`,{provider:D,key:g.trim()}),_(``),await a()}catch(e){d(e)}},children:t(`saveKey`)}),n.keys?.[D]?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:async()=>{await e.call(`settings/clear-key`,{provider:D}),await a()},children:t(`clearKey`)}):null]})]})]}):null,(0,i.jsx)(`div`,{children:(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,disabled:v||n.voiceEngine===`off`,onClick:ae,children:[v?(0,i.jsx)(`span`,{className:`aha-spinner`}):`🔊`,` `,t(`testVoice`)]})})]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:t(`boardTheme`)}),(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:6},children:[[`auto`,`themeAuto`],[`light`,`themeLight`],[`dark`,`themeDark`]].map(([e,r])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,"data-active":(n.boardTheme??`auto`)===e,onClick:()=>w({boardTheme:e}),children:t(r)},e))})]}),(0,i.jsx)(Vc,{}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`privacyNote`)})]}):(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Q,{label:t(`loading`)})})}function Vc(){let{api:e,t}=f(),[n,a]=(0,r.useState)(null),[o,s]=(0,r.useState)(!0),[c,l]=(0,r.useState)(!1),[u,d]=(0,r.useState)(!1),[p,m]=(0,r.useState)(null),[h,g]=(0,r.useState)(!1),_=t=>{s(!0),l(!1),e.call(`plugin/version`,{force:t}).then(a).catch(()=>l(!0)).finally(()=>s(!1))};(0,r.useEffect)(()=>{_(!1)},[]);async function v(){d(!0),g(!1);try{m(await e.call(`plugin/update`))}catch{g(!0)}finally{d(!1)}}let y=n?.install?.kind;return(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`b`,{children:t(`versionTitle`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,disabled:o||u,onClick:()=>_(!0),children:t(o?`versionChecking`:`versionCheck`)})]}),c?(0,i.jsx)(`p`,{className:`aha-error`,children:t(`versionFailed`)}):null,n?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`span`,{children:t(`versionCurrent`)}),(0,i.jsxs)(`span`,{className:`aha-hint`,children:[`v`,n.current]})]}),(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`span`,{children:t(`versionLatest`)}),(0,i.jsx)(`span`,{className:`aha-hint`,children:n.latest?`v${n.latest}`:`—`})]}),p?null:(0,i.jsx)(`p`,{className:n.latestUnknown?`aha-error`:`aha-hint`,children:n.latestUnknown?t(`versionFailed`):n.updateAvailable?t(`versionAvailable`,{version:n.latest}):t(`versionUpToDate`)}),!p&&n.updateAvailable&&y===`npm`?(0,i.jsx)(`div`,{children:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:u,onClick:v,children:t(u?`versionUpdating`:`versionUpdate`)})}):null,y===`link`?(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`versionLinked`)}):null,n.updateAvailable&&y===`unknown`?(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`versionManual`,{version:n.latest})}):null]}):null,h?(0,i.jsx)(`p`,{className:`aha-error`,children:t(`versionUpdateFailed`)}):null,p?.pending?(0,i.jsx)(`p`,{className:`aha-hint`,children:typeof p.availableAt==`number`?t(`versionPendingUntil`,{version:p.version,time:new Date(p.availableAt).toLocaleString()}):t(`versionPending`,{version:p.version})}):null,p&&!p.pending?(0,i.jsx)(`div`,{className:`aha-feedback`,"data-ok":`true`,children:t(`versionUpdated`,{version:p.version})}):null]})}function Hc({draftTopic:e,draftUrl:t,token:n}){let{api:a,t:o}=f(),s=p(()=>a.call(`items/list`,{kind:`shorts`}),[]),[c,l]=(0,r.useState)(e??``),[u,d]=(0,r.useState)(t??``),[m,g]=(0,r.useState)(null),[_,v]=(0,r.useState)(null),y=Ac(),b=h(n);async function x(){if(!c.trim()&&!u.trim())return;v(null);let e=ns(`sht`);try{let{job:t}=await a.call(`short/make`,{topic:c,url:u,newId:e});g({id:e,title:c||u,steps:[],stream:t,key:`${e}:new`})}catch(e){v(e)}}(0,r.useEffect)(()=>{b&&(e||t)&&x()},[]);async function S(e){try{let{item:t}=await a.call(`items/get`,{kind:`shorts`,id:e});g({id:t.id,title:t.title,steps:t.board.steps,stream:null,language:t.language,key:`${t.id}:open`})}catch(e){v(e)}}return(0,i.jsx)(`div`,{className:`aha-page`,"data-wide":`true`,children:(0,i.jsxs)(`div`,{className:`aha-split`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{minHeight:0},children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:o(`shortsTitle`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:o(`shortsHint`)})]}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:2,minWidth:220},value:c,placeholder:o(`topicPlaceholder`),onChange:e=>l(e.currentTarget.value)}),(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:1,minWidth:180},value:u,placeholder:o(`urlPlaceholder`),onChange:e=>d(e.currentTarget.value)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:!c.trim()&&!u.trim(),onClick:x,children:o(`makeShort`)})]}),(0,i.jsx)($,{error:_}),m?(0,i.jsx)(`div`,{className:`aha-shortStage`,children:(0,i.jsx)(Ds,{scope:{kind:`short`,id:m.id},title:m.title,steps:m.steps,stream:m.stream,language:m.language,recordChecks:!1,onStreamDone:e=>{g(t=>({...t,steps:e?.item?.board?.steps??t.steps,title:e?.item?.title??t.title,stream:null})),s.reload()},header:(0,i.jsx)(i.Fragment,{children:y.exporting?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(Q,{label:o(`exporting`,{percent:y.exporting.percent})}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:y.cancel,children:o(`cancel`)})]}):(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,disabled:!m.steps.length,onClick:()=>y.start({steps:m.steps,title:m.title}),children:o(`exportVideo`)})})},m.key)}):null,m&&!y.cloud?(0,i.jsx)(`p`,{className:`aha-hint`,children:o(`exportNeedsCloud`)}):null]}),(0,i.jsxs)(`aside`,{className:`aha-col`,style:{minHeight:0,overflow:`auto`},children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:o(`history`)}),s.loading&&!s.value?(0,i.jsx)(Q,{}):(s.value??[]).length?s.value.map(e=>(0,i.jsxs)(`div`,{className:`aha-option`,style:{cursor:`pointer`},onClick:()=>S(e.id),children:[(0,i.jsx)(`b`,{children:e.title}),(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`small`,{children:new Date(e.createdAt).toLocaleString()}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:async t=>{t.stopPropagation(),await a.call(`items/remove`,{kind:`shorts`,id:e.id}),s.reload()},children:o(`delete`)})]})]},e.id)):(0,i.jsx)(Ms,{children:o(`empty`)})]})]})})}let Uc=[[`sheet`,`makeSheet`,`studio/sheet`],[`cards`,`makeCards`,`studio/cards`],[`notes`,`makeNotes`,`studio/notes`],[`quiz`,`makeQuiz`,`studio/quiz`]];function Wc(){let{api:e,t,navigate:n}=f(),a=p(()=>e.call(`items/list`,{kind:`sheets`}),[]),o=p(()=>e.call(`items/list`,{kind:`decks`}),[]),[s,c]=(0,r.useState)([]),[l,u]=(0,r.useState)(!1),[d,m]=(0,r.useState)(``),[h,g]=(0,r.useState)(null),[_,v]=(0,r.useState)(null);async function y(t,n){if(!s.length){u(!0);return}g(t),v(null);try{b((await e.run(n,{materialIds:s,focus:d})).item)}catch(e){v(e)}finally{g(null)}}function b(e){e.kind===`cheatsheet`?n(`sheet`,{sheetId:e.id}):e.kind===`notes`?n(`item`,{kind:`notes`,id:e.id}):e.kind===`cards`?n(`cards`,{deckId:e.id}):n(`item`,{kind:`quiz`,id:e.id})}async function x(t,n){await e.call(`items/remove`,{kind:t,id:n}),t===`sheets`?a.reload():o.reload()}let S=(e,n,r)=>(0,i.jsxs)(`section`,{className:`aha-col`,children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:e}),n.loading&&!n.value?(0,i.jsx)(Q,{}):(n.value??[]).length?(0,i.jsx)(`div`,{className:`aha-grid`,children:n.value.map(e=>(0,i.jsxs)(`div`,{className:`aha-card`,"data-click":`true`,onClick:()=>b(e),children:[(0,i.jsx)(`span`,{className:`aha-tag`,children:e.kind===`cheatsheet`?t(`sheets`):e.kind===`notes`?t(`notes`):e.kind===`cards`?t(`decks`):t(`quizzes`)}),(0,i.jsx)(`b`,{children:e.title}),(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`span`,{className:`aha-hint`,children:new Date(e.updatedAt).toLocaleDateString()}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:t=>{t.stopPropagation(),x(r,e.id)},children:t(`delete`)})]})]},e.id))}):(0,i.jsx)(Ms,{children:t(`empty`)})]});return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:t(`studioTitle`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`studioHint`)})]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>u(!0),children:s.length?t(`attached`,{count:s.length}):t(`pickMaterials`)}),(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:1,minWidth:220},value:d,placeholder:t(`focusPlaceholder`),onChange:e=>m(e.currentTarget.value)})]}),(0,i.jsx)(`div`,{className:`aha-row`,children:Uc.map(([e,n,r])=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:!!h,onClick:()=>y(e,r),children:[h===e?(0,i.jsx)(`span`,{className:`aha-spinner`}):null,t(n)]},e))}),h?(0,i.jsx)(Q,{label:t(`generating`)}):null,(0,i.jsx)($,{error:_})]}),S(`${t(`sheets`)} · ${t(`notes`)}`,a,`sheets`),S(`${t(`decks`)} · ${t(`quizzes`)}`,o,`decks`),l?(0,i.jsx)(Fs,{selected:s,onChange:c,onClose:()=>u(!1)}):null]})}Object.freeze([`again`,`hard`,`good`,`easy`]),Object.freeze({again:1,hard:3,good:4,easy:5});function Gc(e,t=Date.now()){return Date.parse(e?.dueAt??0)<=t}function Kc(e,t=Date.now()){return(e||[]).filter(e=>Gc(e,t)).sort((e,t)=>Date.parse(e.dueAt)-Date.parse(t.dueAt))}function qc({courseId:e,lessonId:t,unitId:n,review:a,deckId:o}){let{api:s,t:c,navigate:l}=f(),u=m(),[d,p]=(0,r.useState)(null),[h,g]=(0,r.useState)(null),[_,v]=(0,r.useState)(0),[y,b]=(0,r.useState)([]);(0,r.useEffect)(()=>{let r=!0;return(async()=>{try{if(a){let e=await s.call(`review/session`);r&&p({title:c(`review`),items:e.items.map(e=>({...e.item,context:e})),language:void 0});return}if(o){let{item:e}=await s.call(`items/get`,{kind:`decks`,id:o});r&&p({title:e.title,items:e.items??[],language:e.language});return}let i=n?`unit/quiz`:`lesson/practice`,l=n?{courseId:e,unitId:n}:{courseId:e,lessonId:t},d=await s.call(i,l),f=d.job?await u.run(null,null,{existing:d.job}):d,m=(f.quiz??f.practice)?.items??[],h=t?await s.call(`lesson/get`,{courseId:e,lessonId:t}):null;r&&p({title:h?.lesson.title??c(`unitQuiz`),items:m,language:h?.language})}catch(e){r&&g(e)}})(),()=>{r=!1}},[e,t,n,a,o]);let x=d?.items[_],S=r=>{b(e=>[...e,r]);let i=x?.context?.courseId??e;!i||o||s.call(`lesson/record`,{courseId:i,lessonId:x?.context?.lessonId??t,conceptIds:x?.conceptIds??[],evidence:{kind:n?`quiz`:`practice`,score:r.score,confidence:r.confidence,hintsUsed:r.hintsUsed,timeMs:r.timeMs,expectedMs:6e4,errorTag:r.errorTag}}).catch(()=>void 0)};if(h)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)($,{error:h})});if(!d)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(ks,{progress:u.progress,label:c(`makingPractice`)})});if(!d.items.length)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Ms,{children:c(a?`nothingToReview`:`empty`)})});let C=_>=d.items.length,w=y.filter(e=>e.correct).length;return(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:760},children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:d.title}),(0,i.jsxs)(`span`,{className:`aha-tag`,children:[Math.min(_+1,d.items.length),`/`,d.items.length]})]}),x?.context?(0,i.jsxs)(`p`,{className:`aha-hint`,children:[x.context.courseTitle,` · `,x.context.conceptName]}):null,C?(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:c(`practiceDone`,{correct:w,total:d.items.length})}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>{v(0),b([])},children:c(`retry`)}),e?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>l(`course`,{courseId:e}),children:c(`backToCourse`)}):null]})]}):(0,i.jsx)(`div`,{className:`aha-card`,children:(0,i.jsx)(Ss,{item:x,language:d.language,onResult:S,onContinue:()=>v(e=>e+1),continueLabel:_+1<d.items.length?c(`continue`):c(`confirm`)},`${_}`)})]})}function Jc({courseId:e,deckId:t}){let{api:n,t:a}=f(),o=m(),[s,c]=(0,r.useState)(null),[l,u]=(0,r.useState)(null),[d,p]=(0,r.useState)(!1),[h,g]=(0,r.useState)(null);(0,r.useEffect)(()=>{let r=!0;return(async()=>{try{let i;if(t)i=(await n.call(`items/get`,{kind:`decks`,id:t})).item;else{let t=await n.call(`course/cards`,{courseId:e});i=t.job?(await o.run(null,null,{existing:t.job})).deck:t.deck}if(!r)return;c(i);let a=Date.now(),s=Kc(Object.values(i.srs??{}),a).map(e=>e.id),l=i.cards.filter(e=>!i.srs?.[e.id]).map(e=>e.id);g([...s,...l].slice(0,40))}catch(e){r&&u(e)}})(),()=>{r=!1}},[e,t]);let _=(0,r.useMemo)(()=>s?.cards.find(e=>e.id===h?.[0]),[s,h]);async function v(r){if(_){p(!1),g(e=>{let t=e.slice(1);return r===`again`?[...t,_.id]:t});try{t?await n.call(`items/card-review`,{id:t,cardId:_.id,grade:r}):await n.call(`course/card-review`,{courseId:e,cardId:_.id,grade:r})}catch{}}}return l?(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)($,{error:l})}):!s||!h?(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(ks,{progress:o.progress,label:a(`makingCards`)})}):(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:720},children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:a(`cardsTitle`)}),(0,i.jsx)(`span`,{className:`aha-tag`,children:a(`cardsDue`,{count:h.length})})]}),_?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`div`,{className:`aha-flash`,"data-flipped":d,onClick:()=>p(e=>!e),role:`button`,tabIndex:0,onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&p(e=>!e)},children:(0,i.jsxs)(`div`,{className:`aha-flashInner`,children:[(0,i.jsx)(`div`,{className:`aha-flashFace`,children:(0,i.jsx)(bs,{text:_.front})}),(0,i.jsx)(`div`,{className:`aha-flashFace aha-flashBack`,children:(0,i.jsx)(bs,{text:_.back})})]})}),(0,i.jsxs)(`p`,{className:`aha-hint`,style:{textAlign:`center`},children:[_.tag?`${_.tag} · `:``,a(`flip`)]}),d?(0,i.jsx)(`div`,{className:`aha-row`,style:{justifyContent:`center`},children:[[`again`,`again`],[`hard`,`hard`],[`good`,`good`],[`easy`,`easy`]].map(([e,t])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":e===`good`?`primary`:void 0,onClick:()=>v(e),children:a(t)},e))}):null]}):(0,i.jsx)(Ms,{children:a(`cardsDone`)})]})}function Yc({courseId:e,unitId:t,sheetId:n}){let{api:a,t:o,toast:s}=f(),c=m(),[l,u]=(0,r.useState)(null),[d,p]=(0,r.useState)(null),[h,g]=(0,r.useState)(null),_=async r=>{p(null);try{let i;if(n)i=(await a.call(`items/get`,{kind:`sheets`,id:n})).item.sheet;else{let n=await a.call(`unit/sheet`,{courseId:e,unitId:t,force:r});i=n.job?(await c.run(null,null,{existing:n.job})).sheet:n.sheet}u(i),g(i.layout)}catch(e){p(e)}};(0,r.useEffect)(()=>{_(!1)},[e,t,n]);let v=r=>{let i={...h,...r};g(i),(n?a.call(`items/sheet-layout`,{id:n,layout:i}):a.call(`unit/sheet-layout`,{courseId:e,unitId:t,layout:i})).catch(e=>s(o(`errorGeneric`,{message:e.message})))};if(d)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)($,{error:d})});if(!l||!h)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(ks,{progress:c.progress,label:o(`makingSheet`)})});let y=h.order.map(e=>l.sections.find(t=>t.id===e)).filter(Boolean),b=new Set(h.hidden??[]);return(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:1200},children:[(0,i.jsxs)(`div`,{className:`aha-spread aha-noprint`,children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:l.title||o(`sheetTitle`)}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsxs)(`label`,{className:`aha-row`,style:{gap:6},children:[o(`columns`),(0,i.jsx)(`select`,{className:`aha-select`,style:{width:`auto`},value:h.columns,onChange:e=>v({columns:Number(e.currentTarget.value)}),children:[1,2,3,4].map(e=>(0,i.jsx)(`option`,{value:e,children:e},e))})]}),(0,i.jsxs)(`label`,{className:`aha-row`,style:{gap:6},children:[o(`fontSize`),(0,i.jsx)(`select`,{className:`aha-select`,style:{width:`auto`},value:h.fontSize,onChange:e=>v({fontSize:Number(e.currentTarget.value)}),children:[9,10,11,12,13,14,16].map(e=>(0,i.jsx)(`option`,{value:e,children:e},e))})]}),(0,i.jsxs)(`label`,{className:`aha-row`,style:{gap:6},children:[(0,i.jsx)(`input`,{type:`checkbox`,checked:h.highlight,onChange:e=>v({highlight:e.currentTarget.checked})}),o(`highlight`)]}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>window.print(),children:o(`print`)}),n?null:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>{u(null),_(!0)},children:o(`regenerate`)})]})]}),(0,i.jsx)(`div`,{className:`aha-row aha-noprint`,style:{gap:6},children:y.map((e,t)=>(0,i.jsxs)(`span`,{className:`aha-chip`,"data-active":!b.has(e.id),children:[(0,i.jsx)(`span`,{onClick:()=>v({hidden:b.has(e.id)?[...b].filter(t=>t!==e.id):[...b,e.id]}),children:e.title}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>{let t=[...h.order],n=t.indexOf(e.id);n>0&&([t[n-1],t[n]]=[t[n],t[n-1]]),v({order:t})},disabled:t===0,children:`↑`})]},e.id))}),(0,i.jsx)(`div`,{className:`aha-printable`,children:(0,i.jsx)(`div`,{className:`aha-sheet`,"data-highlight":h.highlight,style:{columnCount:h.columns,"--sheet-size":`${h.fontSize}px`},children:y.filter(e=>!b.has(e.id)).map(e=>(0,i.jsxs)(`div`,{className:`aha-sheetSection`,children:[(0,i.jsx)(`h4`,{children:e.title}),e.items.map((e,t)=>(0,i.jsxs)(`div`,{className:`aha-sheetItem`,"data-kind":e.kind,children:[e.title?(0,i.jsxs)(`b`,{children:[e.title,`:`]}):null,e.text?(0,i.jsx)(bs,{text:e.text,compact:!0}):null,e.tex?(0,i.jsx)(Eo,{tex:e.tex}):null,e.cite?(0,i.jsxs)(`span`,{className:`aha-cite`,children:[`(p.`,e.cite.page,e.cite.source?` · ${e.cite.source}`:``,`)`]}):null]},t)),e.related?.length?(0,i.jsxs)(`div`,{className:`aha-cite`,children:[`↔ `,e.related.join(` · `)]}):null]},e.id))})})]})}function Xc({kind:e,id:t,materialId:n}){let{api:a,t:o}=f(),s=m(),[c,l]=(0,r.useState)(null),[u,d]=(0,r.useState)(null);if((0,r.useEffect)(()=>{let r=!0;return(async()=>{try{if(e===`digest`){let{material:e}=await a.call(`material/get`,{id:n}),t=e.digest;if(!t){let e=await a.call(`material/digest`,{id:n});t=(await s.run(null,null,{existing:e.job})).material.digest}r&&l({title:e.title,digest:t});return}let{item:i}=await a.call(`items/get`,{kind:`sheets`,id:t});r&&l({title:i.title,markdown:i.markdown})}catch(e){r&&d(e)}})(),()=>{r=!1}},[e,t,n]),e===`quiz`)return(0,i.jsx)(qc,{deckId:t});if(u)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)($,{error:u})});if(!c)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(ks,{progress:s.progress,label:o(`generating`)})});if(c.markdown!==void 0)return(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:860},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:c.title}),(0,i.jsx)(`div`,{className:`aha-card`,children:(0,i.jsx)(bs,{text:c.markdown})})]});let p=c.digest;return(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:900},children:[(0,i.jsxs)(`h2`,{className:`aha-title`,children:[o(`digestTitle`),` · `,c.title]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:o(`overview`)}),(0,i.jsx)(bs,{text:p.overview})]}),p.structure?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:o(`structure`)}),p.structure.map((e,t)=>(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:2},children:[(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`b`,{children:e.heading}),e.pages?(0,i.jsxs)(`span`,{className:`aha-cite`,children:[`(p.`,e.pages,`)`]}):null]}),(0,i.jsx)(`ul`,{style:{margin:0},children:e.points.map((e,t)=>(0,i.jsx)(`li`,{children:(0,i.jsx)(bs,{text:e,compact:!0})},t))})]},t))]}):null,p.keyIdeas?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:o(`keyIdeas`)}),(0,i.jsx)(`ul`,{style:{margin:0},children:p.keyIdeas.map((e,t)=>(0,i.jsx)(`li`,{children:(0,i.jsx)(bs,{text:e,compact:!0})},t))})]}):null,p.arguments?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:o(`arguments`)}),p.arguments.map((e,t)=>(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`b`,{children:e.claim}),e.page?(0,i.jsxs)(`span`,{className:`aha-cite`,children:[`(p.`,e.page,`)`]}):null,(0,i.jsx)(`p`,{className:`aha-hint`,children:e.support})]},t))]}):null,p.glossary?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:o(`glossary`)}),p.glossary.map((e,t)=>(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`b`,{children:e.term}),`:`,e.meaning]},t))]}):null,p.questions?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:o(`discussion`)}),(0,i.jsx)(`ol`,{style:{margin:0},children:p.questions.map((e,t)=>(0,i.jsx)(`li`,{children:e},t))})]}):null]})}let Zc=[[`home`,`navHome`,`home`],[`courses`,`navCourses`,`courses`],[`assist`,`navAssist`,`assist`],[`materials`,`navMaterials`,`library`],[`studio`,`navStudio`,`studio`],[`shorts`,`navShorts`,`shorts`],[`plan`,`navPlan`,`plan`],[`profile`,`navProfile`,`profile`],[`settings`,`navSettings`,`settings`],[`about`,`navAbout`,`heart`]],Qc={home:ic,courses:Ks,craft:Ys,course:Ws,lesson:jc,practice:qc,cards:Jc,sheet:Yc,item:Xc,project:Rc,materials:Nc,studio:Wc,assist:Bs,shorts:Hc,plan:Fc,profile:Lc,settings:Bc,about:ce},$c={craft:`courses`,course:`courses`,lesson:`courses`,practice:`courses`,project:`courses`,cards:`studio`,sheet:`studio`,item:`studio`};function el({rpc:e,t,language:n,dsh:a}){let[o,s]=g(`route`,{screen:`home`,params:{}}),c=(0,r.useRef)([]),l=(0,r.useCallback)((e,t={},{replace:n=!1}={})=>{s(r=>(n||(c.current.push(r),c.current.length>40&&c.current.shift()),{screen:e,params:t}))},[s]),u=(0,r.useCallback)(()=>{let e=c.current.pop();s(e??{screen:`home`,params:{}})},[s]);(0,r.useEffect)(()=>{let e=e=>{let t=e.detail;t?.screen&&Qc[t.screen]&&l(t.screen,t.params??{})};return window.addEventListener(ee,e),()=>window.removeEventListener(ee,e)},[l]);let{value:f,toastText:p}=te({rpc:e,t,language:n,dsh:a,navigate:l,back:u}),m=Qc[o.screen]??ic,h=$c[o.screen]??o.screen;return(0,i.jsx)(d.Provider,{value:f,children:(0,i.jsxs)(`div`,{className:`aha`,children:[(0,i.jsxs)(`nav`,{className:`aha-nav`,children:[(0,i.jsxs)(`div`,{className:`aha-brand`,children:[(0,i.jsx)(ie,{name:`logo`,size:24}),(0,i.jsxs)(`span`,{children:[t(`appName`),(0,i.jsx)(`small`,{children:t(`appTagline`)})]})]}),Zc.map(([e,n,r])=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-navItem`,"data-active":h===e,onClick:()=>{c.current=[],s({screen:e,params:{}})},title:t(n),children:[(0,i.jsx)(ie,{name:r,size:17}),(0,i.jsx)(`span`,{children:t(n)})]},e))]}),(0,i.jsx)(`main`,{className:`aha-main`,children:(0,i.jsx)(m,{...o.params},`${o.screen}:${JSON.stringify(o.params)}`)}),p?(0,i.jsx)(`div`,{className:`aha-toast`,role:`status`,children:p}):null]})})}function tl({useTabInfo:e,rpc:t,t:n,language:r,dsh:a}){let{tab:o}=e(),s=o?.navigation?.params??null,{value:c}=te({rpc:t,t:n,language:r,dsh:a});return(0,i.jsx)(d.Provider,{value:c,children:(0,i.jsx)(`div`,{className:`aha aha-tab`,style:{height:`100%`,overflow:`auto`,padding:`10px 12px`},children:s?.threadId?(0,i.jsx)(nl,{threadId:s.threadId,jobId:s.jobId},`${s.threadId}:${o.navigation.revision??0}`):(0,i.jsx)(`p`,{className:`aha-hint`,children:n(`openBoard`)})})})}function nl({threadId:e,jobId:t}){let{api:n,t:a}=f(),[o,s]=(0,r.useState)(null);return(0,r.useEffect)(()=>{let r=!0;return(async()=>{let i=t?await n.call(`job/get`,{id:t}).catch(()=>null):null;if(i&&i.status===`running`){r&&s({stream:i,steps:[],title:``});return}try{let{item:t}=await n.call(`items/get`,{kind:`assist`,id:e}),i=t.turns.at(-1);r&&s({stream:null,steps:i?.board?.steps??[],title:t.title,language:t.language,turn:t.turns.length-1})}catch(e){r&&s({error:e})}})(),()=>{r=!1}},[e,t]),o?o.error?(0,i.jsx)(`p`,{className:`aha-error`,children:a(`errorGeneric`,{message:o.error.message})}):(0,i.jsx)(Ds,{scope:{kind:`thread`,id:e,turn:o.turn??0},title:o.title||a(`boardSession`),steps:o.steps,stream:o.stream,language:o.language,recordChecks:!1}):(0,i.jsx)(Q,{label:a(`loading`)})}function rl({rpc:e,t,language:n,dsh:r}){return te({rpc:e,t,language:n,dsh:r}).value}function il(e){return e?.meta&&typeof e.meta==`object`?e.meta:null}function al(e){let t=rl(e);return(0,i.jsx)(d.Provider,{value:t,children:(0,i.jsx)(`div`,{className:`aha aha-card`,style:{height:`auto`,display:`flex`,flexDirection:`column`,gap:8,margin:`6px 0`,padding:`10px 12px`},children:(0,i.jsx)(ol,{...e})})})}function ol({toolName:e,phase:t,block:n,dsh:a,inputActions:o,t:s,callId:c}){let l=il(n),u=n?.args?.text?.(`topic`)??n?.args?.text?.(`goal`)??``,d=t!==`result`,f=t===`result`&&n?.isError;return(0,r.useEffect)(()=>{if(e!==`aha_whiteboard`||t!==`result`||!l?.threadId)return;let r=typeof n?.time!=`number`||Date.now()-n.time<12e4,i=`aha-tutor:opened:${c}`;try{if(!r||window.sessionStorage.getItem(i))return;window.sessionStorage.setItem(i,`1`)}catch{if(!r)return}a.openBoardTab({threadId:l.threadId,jobId:l.jobId})},[e,t,l?.threadId]),f?(0,i.jsx)(`span`,{className:`aha-error`,children:s(`errorGeneric`,{message:(n.content??[]).map(e=>e.text??``).join(` `).slice(0,200)})}):e===`aha_whiteboard`?(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:8},children:[d?(0,i.jsx)(`span`,{className:`aha-spinner`}):`🧑‍🏫`,(0,i.jsx)(`b`,{children:s(`toolBoardTitle`)}),(0,i.jsx)(`span`,{className:`aha-hint`,children:l?.title??u})]}),l?.threadId?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>a.openBoardTab({threadId:l.threadId,jobId:l.jobId}),children:s(`openBoard`)}):null]}):e===`aha_quiz`?d||!l?.items?(0,i.jsxs)(`span`,{className:`aha-row`,children:[(0,i.jsx)(`span`,{className:`aha-spinner`}),s(`makingPractice`)]}):(0,i.jsx)(sl,{items:l.items,topic:l.topic,inputActions:o}):e===`aha_course`?(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:8},children:[d?(0,i.jsx)(`span`,{className:`aha-spinner`}):`🎓`,(0,i.jsx)(`b`,{children:s(`modeCourse`)}),(0,i.jsx)(`span`,{className:`aha-hint`,children:l?.goal??u})]}),l?.courseId?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>D(a,`craft`,{courseId:l.courseId}),children:s(`open`)}):null]}):e===`aha_cheatsheet`?(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:8},children:[d?(0,i.jsx)(`span`,{className:`aha-spinner`}):`📄`,(0,i.jsx)(`b`,{children:s(`sheetTitle`)}),(0,i.jsx)(`span`,{className:`aha-hint`,children:l?.title??u})]}),l?.sheetId?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>D(a,`sheet`,{sheetId:l.sheetId}),children:s(`open`)}):null]}):(0,i.jsxs)(`span`,{className:`aha-hint`,children:[d?(0,i.jsx)(`span`,{className:`aha-spinner`}):`🧠`,` `,s(`navProfile`)]})}function sl({items:e,topic:t,inputActions:n}){let{t:a,language:o}=f(),[s,c]=(0,r.useState)(0),[l,u]=(0,r.useState)([]),d=e[s],p=(0,r.useMemo)(()=>l.map((e,t)=>`${t+1}. ${e.correct?`✔`:e.partial?`◐`:`✘`} ${e.answer}`).join(`
433
+ `),[l]);if(!d){let r=l.filter(e=>e.correct).length;return(0,i.jsxs)(`div`,{className:`aha-col`,children:[(0,i.jsx)(`b`,{children:a(`practiceDone`,{correct:r,total:e.length})}),n?.setDraft?(0,i.jsx)(`div`,{children:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,"data-size":`sm`,onClick:()=>n.setDraft(`${t??``} ${a(`practiceDone`,{correct:r,total:e.length})}\n${p}`),children:a(`submit`)})}):null]})}return(0,i.jsxs)(`div`,{className:`aha-col`,children:[(0,i.jsxs)(`span`,{className:`aha-hint`,children:[a(`checkTitle`),` · `,s+1,`/`,e.length]}),(0,i.jsx)(Ss,{item:d,language:o===`zh`?`zh-CN`:`en`,compact:!0,onResult:e=>u(t=>[...t,{...e,answer:d.prompt.slice(0,60)}]),onContinue:()=>c(e=>e+1)},s)]})}let cl=`ahaTutor`,ll={appName:`开窍`,appTagline:`AI 私人老师`,navHome:`首页`,navCourses:`我的课程`,navMaterials:`资料库`,navStudio:`学习工具`,navAssist:`即时答疑`,navShorts:`讲解短片`,navPlan:`学习计划`,navProfile:`我的画像`,navSettings:`设置`,navAbout:`关于作者`,heroTitle:`今天想把什么弄懂?`,heroHint:`说出你想学的东西,或者丢一本教材进来。我会先了解你,再为你量身做一门课,在白板上一步步讲给你听。`,heroPlaceholder:`比如:三周内搞懂线性代数里的特征值|把这份讲义变成一门课|量子隧穿到底是怎么回事`,modeCourse:`定制一门课`,modeExplain:`讲个概念`,modeSolve:`陪我解题`,modeVisualize:`画出来看看`,modeDigest:`消化长文档`,modeShort:`两分钟短片`,attach:`添加资料`,attached:`已附 {count} 份资料`,start:`开始`,quickStart:`跳过提问,直接出课`,continueLearning:`继续学习`,todayPlan:`今天的安排`,noPlanToday:`今天没有安排,去建一门课或者休息一下吧。`,recentWork:`最近做的`,sampleCourses:`示例课程`,sampleHint:`不花 token 也能先体验白板课堂。`,importSample:`加入我的课程`,coursesTitle:`我的课程`,filterAll:`全部`,filterActive:`学习中`,filterDone:`已学完`,filterArchived:`已归档`,searchCourses:`搜索课程`,noCourses:`还没有课程。回到首页,告诉我你想学什么。`,importPack:`导入课程包`,lessonsCount:`{done}/{total} 讲`,minutesLeft:`还剩约 {minutes} 分钟`,statusIntake:`待回答问题`,statusBlueprint:`待确认蓝图`,statusReady:`可以学习`,nextUp:`下一讲:{title}`,craftQuestionsTitle:`先认识一下你`,craftQuestionsHint:`回答几个问题,课程会按你的情况来设计。拿不准的可以跳过。`,craftOther:`其他(自己写)`,craftPace:`学习节奏`,paceIntensive:`冲刺`,paceIntensiveHint:`约 6 周,抓重点`,paceBalanced:`稳步`,paceBalancedHint:`约 3 个月,基础 + 练习 + 项目`,paceRelaxed:`不设期限`,paceRelaxedHint:`慢慢来,挖得更深`,weeklyMinutes:`每周大约能学多久`,minutesUnit:`{minutes} 分钟`,deadline:`截止日期(可选)`,makeBlueprint:`生成课程蓝图`,thinkingQuestions:`正在想该问你什么…`,designingBlueprint:`正在设计课程蓝图…`,blueprintTitle:`课程蓝图`,blueprintHint:`这是为你设计的课程结构。可以直接改标题、删减或调整顺序,也可以用一句话让我改。`,reviseLabel:`用一句话修改`,revisePlaceholder:`比如:多加一些编程实战;第二单元讲浅一点;去掉第 3 讲`,revise:`修改`,revising:`正在修改…`,addLesson:`加一讲`,addLecture:`加一章`,addUnit:`加一个单元`,moveUp:`上移`,moveDown:`下移`,remove:`删除`,projects:`实战项目`,confirmCourse:`确认,生成整门课`,confirming:`正在准备练习和项目… {done}/{total}`,courseReady:`课程已就绪`,unitN:`第 {n} 单元`,lectureN:`第 {n} 章`,estMinutes:`{minutes} 分钟`,saveEdits:`保存修改`,saved:`已保存`,tabOutline:`大纲`,tabPractice:`练习与测验`,tabSheets:`速查表`,tabCards:`闪卡`,tabProjects:`项目`,tabProgress:`进度`,learn:`学习`,practice:`练习`,review:`复习`,remedial:`巩固`,exportPack:`导出课程包`,exportWithProgress:`连同我的学习进度`,rename:`重命名`,archive:`归档`,unarchive:`取消归档`,deleteCourse:`删除课程`,deleteConfirm:`删除后无法恢复。确定删除「{title}」吗?`,cancel:`取消`,confirm:`确定`,close:`关闭`,back:`返回`,retry:`重试`,generate:`生成`,regenerate:`重新生成`,generating:`正在生成…`,open:`打开`,unitQuiz:`单元测验`,unitSheet:`单元速查表`,mastery:`掌握度`,conceptMastery:`知识点掌握情况`,preparingLesson:`老师正在备课…`,bufferingLesson:`下一部分马上写好…`,play:`播放`,pause:`暂停`,prevStep:`上一步`,nextStep:`下一步`,speed:`语速`,voiceOn:`声音开`,voiceOff:`静音`,captions:`字幕`,raiseHand:`举手提问`,askPlaceholder:`哪里没听懂?直接问`,ask:`提问`,answering:`老师在想怎么回答…`,reexplain:`换个讲法`,styleAnalogy:`打个比方`,styleVisual:`画图讲`,styleExample:`举个例子`,styleSimpler:`讲简单点`,styleDeeper:`讲深一点`,stepOf:`第 {current}/{total} 步`,checkTitle:`小测一下`,confidence:`你有多确定?`,confSure:`很确定`,confUnsure:`有点犹豫`,confGuess:`猜的`,submit:`提交`,correct:`答对了`,incorrect:`不太对`,partial:`部分正确`,continue:`继续`,skip:`跳过`,hint:`提示`,yourAnswer:`你的答案`,grading:`老师在批改…`,lessonDone:`这一讲讲完了`,selfRate:`你觉得自己掌握得怎么样?`,rate1:`没懂`,rate3:`一般`,rate5:`很清楚`,nextLesson:`下一讲`,doPractice:`去做练习`,backToCourse:`回到课程`,remedialAdded:`我给你加了一节巩固课:{title}`,challengeNote:`这部分你掌握得很好,接下来会讲得更深一些。`,replay:`重新讲一遍`,regenerateLesson:`重新备课`,exportBoard:`导出板书`,practiceTitle:`练习`,check:`检查答案`,checked:`已检查`,score:`得分 {score}`,practiceDone:`本组练习完成:答对 {correct}/{total}`,showExplanation:`看解析`,makingPractice:`正在出题…`,cardsTitle:`闪卡`,cardsDue:`待复习 {count} 张`,flip:`点击翻面`,again:`忘了`,hard:`困难`,good:`记得`,easy:`简单`,cardsDone:`这一轮复习完成了!`,makingCards:`正在制作闪卡…`,sheetTitle:`速查表`,columns:`列数`,fontSize:`字号`,highlight:`高亮重点`,print:`打印`,hideSection:`隐藏`,showSection:`显示`,makingSheet:`正在整理速查表…`,projectBrief:`项目说明`,milestones:`里程碑`,rubric:`评分标准`,openWorkspace:`打开项目工作区`,openingWorkspace:`正在准备项目文件夹…`,workspaceReady:`项目文件夹在:{path}`,workspaceSession:`已在 DSH 中打开项目会话`,workspaceManual:`在 DSH 里把这个文件夹添加为工作区,就能让编程 Agent 陪你完成项目。`,copyPath:`复制路径`,submitProject:`提交作品`,submitNotes:`写点说明(做了什么、遇到的问题)`,includeFiles:`同时提交项目文件夹里的文件`,reviewing:`老师在看你的作品…`,reviewTotal:`总分 {total}/{max}`,strengths:`做得好的地方`,nextSteps:`可以改进的地方`,submissions:`历次提交`,materialsTitle:`资料库`,materialsHint:`上传教材、讲义、论文或网页,用来建课、做速查表和闪卡,讲课时也会引用原文页码。`,uploadFiles:`上传文件`,dropHere:`把文件拖到这里(PDF、Word、PPT、Markdown、文本、图片)`,addUrl:`添加网页`,urlPlaceholder:`https://…`,reading:`正在读取…`,pages:`{count} 页`,slides:`{count} 张幻灯片`,makeCourse:`用它建课`,makeSheet:`速查表`,makeCards:`闪卡`,makeNotes:`笔记`,makeQuiz:`测验`,digest:`消化`,digestTitle:`文档消化`,overview:`概要`,structure:`结构`,keyIdeas:`核心观点`,arguments:`论点与论据`,glossary:`术语表`,discussion:`值得思考的问题`,imageNeedsVision:`图片需要支持识图的模型才能读取。`,noMaterials:`资料库是空的。`,studioTitle:`学习工具`,studioHint:`用资料库里的资料一键生成学习材料。`,pickMaterials:`选择资料`,sheets:`速查表`,notes:`笔记`,decks:`闪卡组`,quizzes:`测验`,focusPlaceholder:`重点(可选),比如:期中考试范围第 3–6 章`,assistTitle:`即时答疑`,assistHint:`不用建课,有问题直接问。老师会在白板上讲给你听。`,assistPlaceholder:`想问什么?可以贴题目、概念或附上资料`,followUp:`继续追问`,history:`历史记录`,newThread:`新的问题`,shortsTitle:`讲解短片`,shortsHint:`输入一个主题或贴一个网址,生成一段约两分钟、能分享的白板讲解。`,topicPlaceholder:`比如:为什么天空是蓝色的`,makeShort:`生成短片`,exportVideo:`导出视频`,exporting:`正在录制视频…{percent}%`,exportNeedsCloud:`浏览器语音无法录进视频,导出的视频会带字幕但没有声音。在设置里配置云端语音即可导出有声版。`,exportUnsupported:`当前环境不支持导出视频。`,planTitle:`学习计划`,planHint:`根据你所有在学的课程、每周时间和截止日期自动排课,并留出复习时间。`,studyDays:`学习日`,weekdays:`日,一,二,三,四,五,六`,exams:`考试与截止日期`,addExam:`添加`,examTitle:`名称`,examDay:`日期`,deadlineRisk:`「{course}」按现在的节奏会在 {finish} 学完,晚于截止日期 {deadline}。建议每周提高到约 {minutes} 分钟。`,startReview:`开始复习`,reviewDue:`有 {count} 个知识点该复习了`,nothingToReview:`暂时没有要复习的内容。`,savePlan:`保存`,lessonItem:`学习`,reviewItem:`复习`,examItem:`考试`,today:`今天`,profileTitle:`我的画像`,profileHint:`老师会记住这些信息,让每门课都更贴合你。你可以随时修改或清空。`,background:`背景`,goals:`目标`,strengthsLabel:`擅长`,weaknesses:`薄弱点`,learningStyle:`喜欢的讲解方式`,memoryNotes:`老师的备忘`,clearProfile:`清空画像`,clearProfileConfirm:`清空后老师会忘记你的背景和偏好。确定吗?`,onePerLine:`每行一条`,settingsTitle:`设置`,modelsTitle:`模型`,teachModel:`出课与讲课`,quickModel:`批改与问答`,followDefault:`跟随 DSH 默认模型`,modelsHint:`讲课质量主要取决于「出课与讲课」模型;批改和课堂提问可以用更快的模型。`,voiceTitle:`语音讲解`,engine:`语音来源`,engineBrowser:`系统语音(免费)`,engineCloud:`云端语音`,engineOff:`不朗读`,browserVoice:`系统音色`,autoVoice:`自动选择`,noVoiceForLanguage:`没有找到适合当前语言的系统音色。可以在系统设置里安装中文语音,或改用云端语音。`,cloudProvider:`云端服务`,providerOpenai:`OpenAI 兼容接口`,providerVolcengine:`火山引擎(豆包语音)`,providerMinimax:`MiniMax`,providerAzure:`Azure 语音`,field_baseUrl:`接口地址`,field_model:`模型`,field_voice:`音色`,field_appId:`App ID`,field_cluster:`Cluster`,field_groupId:`Group ID`,field_region:`区域`,field_apiKey:`密钥`,keySaved:`已保存密钥`,keyMissing:`未保存密钥`,saveKey:`保存密钥`,clearKey:`清除密钥`,testVoice:`试听`,testSentence:`你好,我是你的私人老师。我们一起把难的东西弄懂。`,voiceRate:`默认语速`,boardTheme:`白板外观`,themeAuto:`跟随系统`,themeLight:`白板`,themeDark:`黑板`,versionTitle:`插件版本`,versionCurrent:`当前版本`,versionLatest:`最新版本`,versionCheck:`检查更新`,versionChecking:`正在检查…`,versionFailed:`无法检查最新版本。`,versionUpToDate:`已是最新版本。`,versionAvailable:`发现新版本 v{version}。`,versionLinked:`当前是本地开发安装,请在插件仓库拉取最新代码并重新构建。`,versionManual:`没找到这个插件所在的 profile,请到 DSH 插件页按精确版本安装:dsh-aha-tutor@{version}。`,versionUpdate:`更新插件`,versionUpdating:`正在更新…`,versionUpdateFailed:`更新失败,请稍后重试,或到 DSH 插件页按精确版本手动安装。`,versionPending:`v{version} 刚发布不久,DSH 的 pnpm 要等过了发布冷却期才会安装,请稍后再试。`,versionPendingUntil:`v{version} 刚发布不久,DSH 的 pnpm 要等过了发布冷却期才会安装,{time} 之后可以更新。`,versionUpdated:`已更新到 v{version}。请完全退出并重新打开 DSH 桌面版,新版本才会生效(只刷新页面不够)。`,privacyNote:`课程、进度和资料都只保存在这台电脑的 DSH 数据目录里。`,aboutTitle:`关于作者`,aboutRole:`「开窍 · AI 私人老师」的作者`,aboutIntro:`开窍免费开源,赞赏全凭心意。如果它帮你弄懂了某个卡了很久的知识点,欢迎扫码支持,让小窍继续长大。`,aboutRepo:`GitHub 仓库`,aboutIssues:`问题反馈`,aboutSupport:`支持作者`,aboutWechat:`微信赞赏`,aboutAlipay:`支付宝`,aboutScan:`用手机扫一扫上面的码`,errorGeneric:`出了点问题:{message}`,loading:`加载中…`,empty:`这里还什么都没有。`,copied:`已复制`,minutes:`分钟`,untitled:`未命名`,delete:`删除`,edit:`编辑`,save:`保存`,all:`全部`,mode:`模式`,boardSession:`白板讲解`,toolBoardTitle:`老师在白板上讲解`,openBoard:`打开白板`,panelLabel:`开窍 · AI 私人老师`,copyCode:`复制`,footnotes:`脚注`,"err_llm-auth":`模型未登录或密钥无效,请在 DSH 设置里检查模型服务。`,"err_llm-quota":`模型额度不足或请求太频繁,稍后再试。`,"err_llm-context":`资料太长,超出了模型的上下文。少选一些资料,或换一个上下文更大的模型。`,"err_llm-unavailable":`所选模型不可用,请在开窍设置里换一个模型。`,"err_llm-timeout":`模型响应超时,请重试。`,"err_bad-output":`模型这次没给出可用的结果,请重试,或在设置里换一个更强的模型。`,courseCreatedInChat:`课程「{title}」已创建,可以在「开窍」里继续。`},ul={appName:`Aha`,appTagline:`your AI tutor`,navHome:`Home`,navCourses:`My courses`,navMaterials:`Library`,navStudio:`Study tools`,navAssist:`Ask anything`,navShorts:`Explainer shorts`,navPlan:`Study plan`,navProfile:`My profile`,navSettings:`Settings`,navAbout:`About the author`,heroTitle:`What do you want to finally understand today?`,heroHint:`Tell me what you want to learn, or drop in a textbook. I will get to know you, build a course around you, and teach it step by step on the whiteboard.`,heroPlaceholder:`e.g. Get eigenvalues in three weeks | Turn these lecture notes into a course | How does quantum tunneling actually work?`,modeCourse:`Build a course`,modeExplain:`Explain a concept`,modeSolve:`Solve with me`,modeVisualize:`Show me visually`,modeDigest:`Digest a long read`,modeShort:`Two-minute short`,attach:`Add material`,attached:`{count} material(s) attached`,start:`Start`,quickStart:`Skip questions, build now`,continueLearning:`Continue learning`,todayPlan:`Today`,noPlanToday:`Nothing planned today. Start a course or take a break.`,recentWork:`Recent`,sampleCourses:`Sample courses`,sampleHint:`Try the whiteboard classroom without spending tokens.`,importSample:`Add to my courses`,coursesTitle:`My courses`,filterAll:`All`,filterActive:`In progress`,filterDone:`Completed`,filterArchived:`Archived`,searchCourses:`Search courses`,noCourses:`No courses yet. Go to Home and tell me what you want to learn.`,importPack:`Import course pack`,lessonsCount:`{done}/{total} lessons`,minutesLeft:`about {minutes} min left`,statusIntake:`Questions pending`,statusBlueprint:`Blueprint to confirm`,statusReady:`Ready`,nextUp:`Next: {title}`,craftQuestionsTitle:`Let me get to know you`,craftQuestionsHint:`A few answers let me shape the course around you. Skip anything you are unsure about.`,craftOther:`Other (write your own)`,craftPace:`Pace`,paceIntensive:`Sprint`,paceIntensiveHint:`~6 weeks, essentials first`,paceBalanced:`Steady`,paceBalancedHint:`~3 months, foundations + practice + project`,paceRelaxed:`No deadline`,paceRelaxedHint:`Take your time, go deeper`,weeklyMinutes:`Time per week`,minutesUnit:`{minutes} min`,deadline:`Deadline (optional)`,makeBlueprint:`Design my course`,thinkingQuestions:`Thinking about what to ask you…`,designingBlueprint:`Designing your course blueprint…`,blueprintTitle:`Course blueprint`,blueprintHint:`Here is the course I designed for you. Edit titles, remove or reorder anything, or tell me what to change.`,reviseLabel:`Change it in one sentence`,revisePlaceholder:`e.g. More hands-on coding; make unit 2 lighter; drop lesson 3`,revise:`Revise`,revising:`Revising…`,addLesson:`Add lesson`,addLecture:`Add chapter`,addUnit:`Add unit`,moveUp:`Move up`,moveDown:`Move down`,remove:`Remove`,projects:`Projects`,confirmCourse:`Confirm and build the course`,confirming:`Preparing practice and projects… {done}/{total}`,courseReady:`Your course is ready`,unitN:`Unit {n}`,lectureN:`Chapter {n}`,estMinutes:`{minutes} min`,saveEdits:`Save changes`,saved:`Saved`,tabOutline:`Outline`,tabPractice:`Practice & quizzes`,tabSheets:`Cheat sheets`,tabCards:`Flashcards`,tabProjects:`Projects`,tabProgress:`Progress`,learn:`Learn`,practice:`Practice`,review:`Review`,remedial:`Revisit`,exportPack:`Export course pack`,exportWithProgress:`Include my progress`,rename:`Rename`,archive:`Archive`,unarchive:`Unarchive`,deleteCourse:`Delete course`,deleteConfirm:`This cannot be undone. Delete "{title}"?`,cancel:`Cancel`,confirm:`Confirm`,close:`Close`,back:`Back`,retry:`Retry`,generate:`Generate`,regenerate:`Regenerate`,generating:`Generating…`,open:`Open`,unitQuiz:`Unit quiz`,unitSheet:`Unit cheat sheet`,mastery:`Mastery`,conceptMastery:`Concept mastery`,preparingLesson:`Your tutor is preparing the lesson…`,bufferingLesson:`Writing the next part…`,play:`Play`,pause:`Pause`,prevStep:`Previous step`,nextStep:`Next step`,speed:`Speed`,voiceOn:`Sound on`,voiceOff:`Muted`,captions:`Captions`,raiseHand:`Raise hand`,askPlaceholder:`What was unclear? Just ask`,ask:`Ask`,answering:`Thinking about your question…`,reexplain:`Explain differently`,styleAnalogy:`With an analogy`,styleVisual:`With a drawing`,styleExample:`With an example`,styleSimpler:`More simply`,styleDeeper:`In more depth`,stepOf:`Step {current}/{total}`,checkTitle:`Quick check`,confidence:`How sure are you?`,confSure:`Sure`,confUnsure:`Not quite`,confGuess:`Guessing`,submit:`Submit`,correct:`Correct`,incorrect:`Not quite`,partial:`Partly right`,continue:`Continue`,skip:`Skip`,hint:`Hint`,yourAnswer:`Your answer`,grading:`Grading…`,lessonDone:`Lesson complete`,selfRate:`How well do you feel you got it?`,rate1:`Lost`,rate3:`Okay`,rate5:`Crystal clear`,nextLesson:`Next lesson`,doPractice:`Practice`,backToCourse:`Back to course`,remedialAdded:`I added a revisit lesson for you: {title}`,challengeNote:`You have this down; the next lessons will go deeper.`,replay:`Replay lesson`,regenerateLesson:`Re-prepare lesson`,exportBoard:`Export board`,practiceTitle:`Practice`,check:`Check`,checked:`Checked`,score:`Score {score}`,practiceDone:`Set complete: {correct}/{total} correct`,showExplanation:`Explanation`,makingPractice:`Writing practice…`,cardsTitle:`Flashcards`,cardsDue:`{count} due`,flip:`Click to flip`,again:`Again`,hard:`Hard`,good:`Good`,easy:`Easy`,cardsDone:`Review round complete!`,makingCards:`Making flashcards…`,sheetTitle:`Cheat sheet`,columns:`Columns`,fontSize:`Font size`,highlight:`Highlight key items`,print:`Print`,hideSection:`Hide`,showSection:`Show`,makingSheet:`Compiling the cheat sheet…`,projectBrief:`Brief`,milestones:`Milestones`,rubric:`Rubric`,openWorkspace:`Open project workspace`,openingWorkspace:`Preparing the project folder…`,workspaceReady:`Project folder: {path}`,workspaceSession:`Opened a project session in DSH`,workspaceManual:`Add this folder as a workspace in DSH and a coding agent can help you build it.`,copyPath:`Copy path`,submitProject:`Submit work`,submitNotes:`Notes (what you built, what was hard)`,includeFiles:`Include the files in the project folder`,reviewing:`Reviewing your work…`,reviewTotal:`Total {total}/{max}`,strengths:`What went well`,nextSteps:`What to improve`,submissions:`Submissions`,materialsTitle:`Library`,materialsHint:`Upload textbooks, notes, papers or web pages to build courses, cheat sheets and flashcards. Lessons cite their pages.`,uploadFiles:`Upload files`,dropHere:`Drop files here (PDF, Word, PowerPoint, Markdown, text, images)`,addUrl:`Add web page`,urlPlaceholder:`https://…`,reading:`Reading…`,pages:`{count} pages`,slides:`{count} slides`,makeCourse:`Build a course`,makeSheet:`Cheat sheet`,makeCards:`Flashcards`,makeNotes:`Notes`,makeQuiz:`Quiz`,digest:`Digest`,digestTitle:`Digest`,overview:`Overview`,structure:`Structure`,keyIdeas:`Key ideas`,arguments:`Claims and evidence`,glossary:`Glossary`,discussion:`Questions worth asking`,imageNeedsVision:`Images need a vision-capable model.`,noMaterials:`Your library is empty.`,studioTitle:`Study tools`,studioHint:`Turn library materials into study aids in one click.`,pickMaterials:`Pick materials`,sheets:`Cheat sheets`,notes:`Notes`,decks:`Flashcard decks`,quizzes:`Quizzes`,focusPlaceholder:`Focus (optional), e.g. midterm scope chapters 3–6`,assistTitle:`Ask anything`,assistHint:`No course needed. Ask, and your tutor explains it on the whiteboard.`,assistPlaceholder:`What do you want to know? Paste a problem, a concept, or attach material`,followUp:`Follow up`,history:`History`,newThread:`New question`,shortsTitle:`Explainer shorts`,shortsHint:`Give a topic or a link and get a shareable two-minute whiteboard explainer.`,topicPlaceholder:`e.g. Why is the sky blue?`,makeShort:`Make short`,exportVideo:`Export video`,exporting:`Recording video… {percent}%`,exportNeedsCloud:`System voices cannot be recorded, so the video will have captions but no sound. Set up a cloud voice in Settings to export with narration.`,exportUnsupported:`Video export is not supported here.`,planTitle:`Study plan`,planHint:`Built from all your active courses, your weekly time and deadlines, with room for reviews.`,studyDays:`Study days`,weekdays:`Sun,Mon,Tue,Wed,Thu,Fri,Sat`,exams:`Exams and deadlines`,addExam:`Add`,examTitle:`Title`,examDay:`Date`,deadlineRisk:`At this pace "{course}" ends on {finish}, after its deadline {deadline}. Try about {minutes} minutes a week.`,startReview:`Start review`,reviewDue:`{count} concept(s) due for review`,nothingToReview:`Nothing to review right now.`,savePlan:`Save`,lessonItem:`Lesson`,reviewItem:`Review`,examItem:`Exam`,today:`Today`,profileTitle:`My profile`,profileHint:`Your tutor remembers this to fit every course to you. Edit or clear it anytime.`,background:`Background`,goals:`Goals`,strengthsLabel:`Strengths`,weaknesses:`Weak spots`,learningStyle:`How I like things explained`,memoryNotes:`Tutor notes`,clearProfile:`Clear profile`,clearProfileConfirm:`Your tutor will forget your background and preferences. Continue?`,onePerLine:`One per line`,settingsTitle:`Settings`,modelsTitle:`Models`,teachModel:`Course design & teaching`,quickModel:`Grading & questions`,followDefault:`Follow the DSH default model`,modelsHint:`Lesson quality depends mostly on the teaching model; grading and in-class questions can use a faster one.`,voiceTitle:`Narration`,engine:`Voice source`,engineBrowser:`System voice (free)`,engineCloud:`Cloud voice`,engineOff:`Silent`,browserVoice:`System voice`,autoVoice:`Automatic`,noVoiceForLanguage:`No system voice found for this language. Install one in your OS settings or use a cloud voice.`,cloudProvider:`Cloud service`,providerOpenai:`OpenAI-compatible API`,providerVolcengine:`Volcengine (Doubao)`,providerMinimax:`MiniMax`,providerAzure:`Azure Speech`,field_baseUrl:`API address`,field_model:`Model`,field_voice:`Voice`,field_appId:`App ID`,field_cluster:`Cluster`,field_groupId:`Group ID`,field_region:`Region`,field_apiKey:`Key`,keySaved:`Key saved`,keyMissing:`No key saved`,saveKey:`Save key`,clearKey:`Remove key`,testVoice:`Test`,testSentence:`Hi, I am your tutor. Let us make the hard things make sense.`,voiceRate:`Default speed`,boardTheme:`Board look`,themeAuto:`Follow system`,themeLight:`Whiteboard`,themeDark:`Chalkboard`,versionTitle:`Plugin version`,versionCurrent:`Current`,versionLatest:`Latest`,versionCheck:`Check for updates`,versionChecking:`Checking…`,versionFailed:`Could not check the latest version.`,versionUpToDate:`You are on the latest version.`,versionAvailable:`Version v{version} is available.`,versionLinked:`Installed from a local checkout; pull and rebuild the plugin repository to update.`,versionManual:`Could not find the profile that owns this plugin. Install the exact version from the DSH Plugins page: dsh-aha-tutor@{version}.`,versionUpdate:`Update plugin`,versionUpdating:`Updating…`,versionUpdateFailed:`The update failed. Try again later, or install the exact version from the DSH Plugins page.`,versionPending:`v{version} was published recently; DSH’s pnpm installs it once its release cooldown passes. Try again later.`,versionPendingUntil:`v{version} was published recently; DSH’s pnpm installs it once its release cooldown passes, after {time}.`,versionUpdated:`Updated to v{version}. Quit and reopen the DSH desktop app for it to take effect (refreshing the page is not enough).`,privacyNote:`Courses, progress and materials are stored only in DSH’s data folder on this computer.`,aboutTitle:`About the author`,aboutRole:`Author of Aha Tutor (开窍)`,aboutIntro:`Aha Tutor is free and open source, and tips are entirely optional. If it helped something finally click for you, a tip keeps Qiao growing.`,aboutRepo:`GitHub repository`,aboutIssues:`Report a problem`,aboutSupport:`Support the author`,aboutWechat:`WeChat`,aboutAlipay:`Alipay`,aboutScan:`Scan a code with your phone`,errorGeneric:`Something went wrong: {message}`,loading:`Loading…`,empty:`Nothing here yet.`,copied:`Copied`,minutes:`min`,untitled:`Untitled`,delete:`Delete`,edit:`Edit`,save:`Save`,all:`All`,mode:`Mode`,boardSession:`Whiteboard`,toolBoardTitle:`Explaining on the whiteboard`,openBoard:`Open whiteboard`,panelLabel:`Aha · AI tutor`,copyCode:`Copy`,footnotes:`Footnotes`,"err_llm-auth":`The model is not signed in or its key is invalid. Check the model provider in DSH settings.`,"err_llm-quota":`The model quota is used up or requests are too frequent. Try again later.`,"err_llm-context":`The material is too long for this model. Pick fewer materials or a model with a larger context.`,"err_llm-unavailable":`The selected model is not available. Pick another one in Aha settings.`,"err_llm-timeout":`The model took too long. Try again.`,"err_bad-output":`The model did not return a usable result this time. Try again or pick a stronger model in settings.`,courseCreatedInChat:`Created the course "{title}". Continue it in Aha.`},dl=[`slots`,`locale`,`connection`],fl=`aha-tutor`,pl=`dsh-aha-tutor/board`,ml=`ahaTutorBoard`,hl=[`aha_whiteboard`,`aha_quiz`,`aha_course`,`aha_cheatsheet`,`aha_learner`];function gl({size:e}){return(0,i.jsx)(ie,{name:`logo`,size:e})}function _l({rpc:e,t,language:n,dsh:r}){return(0,i.jsx)(el,{rpc:e,t,language:n(),dsh:r})}function vl(e){e.effect(()=>e.locale.register(cl,{zh:ll,en:ul}),`aha-tutor: copy`),e.effect(()=>{let e=document.createElement(`style`);return e.dataset.plugin=`dsh-aha-tutor`,e.textContent=oc,document.head.append(e),()=>e.remove()},`aha-tutor: style`);let t=e.locale.bind(cl),n=e.get(`connection`).rpc,r=()=>String(e.locale.getLocale?.()?.active??`zh`).startsWith(`zh`)?`zh`:`en`,i=Object.freeze({selectPanel:()=>e.get(`layout`)?.selectPanel?.(fl),async openWorkspace(t,n){let r=e.get(`workspaces`),i=e.get(`uiWorkspace`);if(typeof r?.create!=`function`||typeof i?.startSession!=`function`)return!1;let a=await r.create({path:t});return i.startSession(a.workspaceId,{prompt:n,clearPreviousDraft:!0}),!0},openBoardTab(t){let n=e.get(`sidebarRight`);if(typeof n?.openTab!=`function`)return!1;try{return n.openTab(ml,{params:t}),!0}catch{return!1}}});e.slots.inject(`main`,()=>e.slots.register({name:`main`,key:fl,locale:cl,inject:()=>({rpc:n,language:r,dsh:i})},_l)),e.slots.inject(`sidebar.panellist`,()=>e.slots.register({name:`sidebar.panellist`,id:fl,order:20,locale:cl,label:()=>t(`panelLabel`)},gl)),e.inject([`sidebarRightTabs`],e=>{e.effect(()=>e.sidebarRightTabs.register({id:pl,kind:ml,title:()=>t(`boardSession`),keepMounted:!0}),`aha-tutor: board tab`)}),e.slots.inject(`sidebar.right.pane.tab`,()=>e.slots.register({name:`sidebar.right.pane.tab`,key:pl,locale:cl,inject:()=>({rpc:n,language:r(),dsh:i})},tl));for(let t of hl)e.slots.inject(`tool.call.toolview`,()=>e.slots.register({name:`tool.call.toolview`,key:t,locale:cl,inject:()=>({rpc:n,language:r(),dsh:i})},al))}return n.apply=vl,n.inject=dl,t.exports}});
426
434
  //# sourceMappingURL=client.js.map