Files
ALC27/mathjax/startup.js
2025-12-22 12:20:15 +08:00

1 line
16 KiB
JavaScript

(()=>{"use strict";var e={d:(t,n)=>{for(var o in n)e.o(n,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:n[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{Package:()=>m,PackageError:()=>p});var n={};e.r(n),e.d(n,{CONFIG:()=>M,Loader:()=>v,MathJax:()=>w,PathFilters:()=>y});var o={};e.r(o),e.d(o,{CONFIG:()=>j,MathJax:()=>k,Startup:()=>O});const s="4.0.0",a="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:{};function i(e){return"object"==typeof e&&null!==e}function r(e,t,n=!1){var o;for(const s of Object.keys(t))"__esModule"!==s&&e[s]!==t[s]&&null!==t[s]&&void 0!==t[s]&&(i(e[s])&&i(t[s])?r(e[s],t[s],n||"_"===s):n&&(null===(o=Object.getOwnPropertyDescriptor(e,s))||void 0===o?void 0:o.get)||(e[s]=t[s]));return e}function d(e,t,n){e[t]||(e[t]={}),e=e[t];for(const t of Object.keys(n))i(e[t])&&i(n[t])?d(e,t,n[t]):null==e[t]&&null!=n[t]&&(e[t]=n[t]);return e}function c(e){return r(u,e)}void 0!==a.MathJax&&a.MathJax.constructor==={}.constructor||(a.MathJax={}),a.MathJax.version||(a.MathJax={version:s,_:{},config:a.MathJax});const u=a.MathJax,l="undefined"!=typeof window,h={window:l?window:null,document:l?window.document:null,os:(()=>{if(l&&window.navigator){const e=window.navigator.appVersion,t=[["Win","Windows"],["Mac","MacOS"],["X11","Unix"],["Linux","Unix"]];for(const[n,o]of t)if(e.includes(n))return o;if(window.navigator.userAgent.includes("Android"))return"Unix"}return"unknown"})()};class p extends Error{constructor(e,t){super(e),this.package=t}}class m{get canLoad(){return 0===this.dependencyCount&&!this.noLoad&&!this.isLoading&&!this.hasFailed}static loadPromise(e){const t=M[e]||{},n=t.extraLoads?v.load(...t.extraLoads):Promise.resolve(),o=t.checkReady||(()=>Promise.resolve());return n.then((()=>o()))}static resolvePath(e,t=!0){const n={name:e,original:e,addExtension:t};return v.pathFilters.execute(n),n.name}static loadAll(){for(const e of this.packages.values())e.canLoad&&e.load()}constructor(e,t=!1){this.isLoaded=!1,this.result={},this.isLoading=!1,this.hasFailed=!1,this.dependents=[],this.dependencies=[],this.dependencyCount=0,this.provided=[],this.name=e,this.noLoad=t,m.packages.set(e,this),this.promise=this.makePromise(this.makeDependencies())}makeDependencies(){const e=[],t=m.packages,n=this.noLoad,o=this.name,s=[];Object.hasOwn(M.dependencies,o)?s.push(...M.dependencies[o]):"core"!==o&&s.push("core");for(const o of s){const s=t.get(o)||new m(o,n);this.dependencies.includes(s)||(s.addDependent(this,n),this.dependencies.push(s),s.isLoaded||(this.dependencyCount++,e.push(s.promise)))}return e}makePromise(e){let t=new Promise(((e,t)=>{this.resolve=e,this.reject=t}));const n=M[this.name]||{};return n.ready&&(t=t.then((e=>n.ready(this.name)))),e.length&&(e.push(t),t=Promise.all(e).then((e=>e.join(", ")))),n.failed&&t.catch((e=>n.failed(new p(e,this.name)))),t}load(){if(!this.isLoaded&&!this.isLoading&&!this.noLoad){this.isLoading=!0;const e=m.resolvePath(this.name);M.require?this.loadCustom(e):this.loadScript(e)}}loadCustom(e){try{const t=M.require(e);t instanceof Promise?t.then((e=>this.result=e)).then((()=>this.checkLoad())).catch((t=>this.failed("Can't load \""+e+'"\n'+t.message.trim()))):(this.result=t,this.checkLoad())}catch(e){this.failed(e.message)}}loadScript(e){const t=h.document.createElement("script");t.src=e,t.charset="UTF-8",t.onload=e=>this.checkLoad(),t.onerror=t=>this.failed("Can't load \""+e+'"'),h.document.head.appendChild(t)}loaded(){this.isLoaded=!0,this.isLoading=!1;for(const e of this.dependents)e.requirementSatisfied();for(const e of this.provided)e.loaded();this.resolve(this.name)}failed(e){this.hasFailed=!0,this.isLoading=!1,this.reject(new p(e,this.name))}checkLoad(){m.loadPromise(this.name).then((()=>this.loaded())).catch((e=>this.failed(e)))}requirementSatisfied(){this.dependencyCount&&(this.dependencyCount--,this.canLoad&&this.load())}provides(e=[]){for(const t of e){let e=m.packages.get(t);e||(M.dependencies[t]||(M.dependencies[t]=[]),M.dependencies[t].push(t),e=new m(t,!0),e.isLoading=!0),this.provided.push(e)}}addDependent(e,t){this.dependents.push(e),t||this.checkNoLoad()}checkNoLoad(){if(this.noLoad){this.noLoad=!1;for(const e of this.dependencies)e.checkNoLoad()}}}m.packages=new Map;class x{constructor(){this.items=[],this.items=[]}[Symbol.iterator](){let e=0;const t=this.items;return{next:()=>({value:t[e++],done:e>t.length})}}add(e,t=x.DEFAULTPRIORITY){let n=this.items.length;do{n--}while(n>=0&&t<this.items[n].priority);return this.items.splice(n+1,0,{item:e,priority:t}),e}remove(e){let t=this.items.length;do{t--}while(t>=0&&this.items[t].item!==e);return t>=0&&this.items.splice(t,1),this}}x.DEFAULTPRIORITY=5;const f=u.config||{};var g=function(e,t,n,o){return new(n||(n=Promise))((function(s,a){function i(e){try{d(o.next(e))}catch(e){a(e)}}function r(e){try{d(o.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?s(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,r)}d((o=o.apply(e,t||[])).next())}))};const y={source:e=>(Object.hasOwn(M.source,e.name)&&(e.name=M.source[e.name]),!0),normalize:e=>{const t=e.name;return t.match(/^(?:[a-z]+:\/)?\/|[a-z]:\\|\[/i)||(e.name="[mathjax]/"+t.replace(/^\.\//,"")),!0},prefix:e=>{let t;for(;(t=e.name.match(/^\[([^\]]*)\]/))&&Object.hasOwn(M.paths,t[1]);)e.name=M.paths[t[1]]+e.name.substring(t[0].length);return!0},addExtension:e=>(e.addExtension&&!e.name.match(/\.[^/]+$/)&&(e.name+=".js"),!0)},b=u.version,v={versions:new Map,nestedLoads:[],ready(...e){0===e.length&&(e=Array.from(m.packages.keys()));const t=[];for(const n of e){const e=m.packages.get(n)||new m(n,!0);t.push(e.promise)}return Promise.all(t)},load(...e){if(0===e.length)return Promise.resolve([]);let t=[];this.nestedLoads.unshift(t);const n=Promise.resolve().then((()=>g(this,void 0,void 0,(function*(){const n=[];for(const t of e){let e=m.packages.get(t);e||(e=new m(t),e.provides(M.provides[t])),e.checkNoLoad(),n.push(e.promise.then((()=>(M.versionWarnings&&e.isLoaded&&!v.versions.has(m.resolvePath(t))&&console.warn(`No version information available for component ${t}`),e.result))))}m.loadAll();const o=yield Promise.all(n);for(;t.length;){const e=Promise.all(t);t=this.nestedLoads[this.nestedLoads.indexOf(t)]=[],yield e}return this.nestedLoads.splice(this.nestedLoads.indexOf(t),1),o}))));return this.nestedLoads.slice(1).forEach((e=>e.push(n))),n},preLoaded(...e){for(const t of e){let e=m.packages.get(t);e||(e=new m(t,!0),e.provides(M.provides[t])),e.loaded()}},addPackageData(e,t){let n=M[e];n||(n=M[e]={});for(const[e,o]of Object.entries(t))if(Array.isArray(o)){n[e]||(n[e]=[]);const t=new Set([...n[e],...o]);n[e]=[...t]}else n[e]=o},defaultReady(){void 0!==w.startup&&w.config.startup.ready()},getRoot(){if(h.document){const e=h.document.currentScript||h.document.getElementById("MathJax-script");if(e&&e instanceof HTMLScriptElement)return e.src.replace(/\/[^/]*$/,"")}return f?.loader?.paths?.mathjax||f?.__dirname||"/"},checkVersion(e,t,n){return this.saveVersion(e),!(!M.versionWarnings||t===b)&&(console.warn(`Component ${e} uses ${t} of MathJax; version in use is ${b}`),!0)},saveVersion(e){v.versions.set(m.resolvePath(e),b)},pathFilters:new class extends x{constructor(e=null){super(),e&&this.addList(e)}addList(e){for(const t of e)Array.isArray(t)?this.add(t[0],t[1]):this.add(t)}execute(...e){for(const t of this){if(!1===t.item(...e))return!1}return!0}asyncExecute(...e){let t=-1;const n=this.items;return new Promise(((o,s)=>{!function a(){for(;++t<n.length;){const i=n[t].item(...e);if(i instanceof Promise)return void i.then(a).catch((e=>s(e)));if(!1===i)return void o(!1)}o(!0)}()}))}}};v.pathFilters.add(y.source,0),v.pathFilters.add(y.normalize,10),v.pathFilters.add(y.prefix,20),v.pathFilters.add(y.addExtension,30);const w=u;if(void 0===w.loader){d(w.config,"loader",{paths:{mathjax:v.getRoot()},source:{},dependencies:{},provides:{},load:[],ready:v.defaultReady.bind(v),failed:e=>console.log(`MathJax(${e.package||"?"}): ${e.message}`),require:null,pathFilters:[],versionWarnings:!0}),c({loader:v});for(const e of w.config.loader.pathFilters)Array.isArray(e)?v.pathFilters.add(e[0],e[1]):v.pathFilters.add(e)}const M=w.config.loader;const L={invalidOption:"warn",optionError:(e,t)=>{if("fatal"===L.invalidOption)throw new Error(e);console.warn("MathJax: "+e)}};var P=function(e,t,n,o){return new(n||(n=Promise))((function(s,a){function i(e){try{d(o.next(e))}catch(e){a(e)}}function r(e){try{d(o.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?s(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,r)}d((o=o.apply(e,t||[])).next())}))};class O{static toMML(e){return O.visitor.visitTree(e,this.document)}static registerConstructor(e,t){O.constructors[e]=t}static useHandler(e,t=!1){j.handler&&!t||(j.handler=e)}static useAdaptor(e,t=!1){j.adaptor&&!t||(j.adaptor=e)}static useInput(e,t=!1){E&&!t||j.input.push(e)}static useOutput(e,t=!1){j.output&&!t||(j.output=e)}static extendHandler(e,t=10){O.extensions.add(e,t)}static defaultReady(){O.getComponents(),O.makeMethods(),O.pagePromise.then((()=>j.pageReady())).then((()=>O.promiseResolve())).catch((e=>O.promiseReject(e)))}static defaultPageReady(){return(j.loadAllFontFiles&&O.output.font?O.output.font.loadDynamicFiles():Promise.resolve()).then((()=>{var e;return null===(e=O.document.menu)||void 0===e?void 0:e.loadingPromise})).then(j.typeset&&k.typesetPromise?()=>O.typesetPromise(j.elements):Promise.resolve()).then((()=>O.promiseResolve()))}static typesetPromise(e){return this.hasTypeset=!0,O.document.whenReady((()=>P(this,void 0,void 0,(function*(){O.document.options.elements=e,O.document.reset(),yield O.document.renderPromise()}))))}static getComponents(){O.visitor=new k._.core.MmlTree.SerializedMmlVisitor.SerializedMmlVisitor,O.mathjax=k._.mathjax.mathjax,O.input=O.getInputJax(),O.output=O.getOutputJax(),O.adaptor=O.getAdaptor(),O.handler&&O.mathjax.handlers.unregister(O.handler),O.handler=O.getHandler(),O.handler&&(O.mathjax.handlers.register(O.handler),O.document=O.getDocument())}static makeMethods(){O.input&&O.output&&O.makeTypesetMethods();const e=O.output?O.output.name.toLowerCase():"";for(const t of O.input){const n=t.name.toLowerCase();O.makeMmlMethods(n,t),O.makeResetMethod(n,t),O.output&&O.makeOutputMethods(n,e,t)}k.done=()=>O.document.done(),k.whenReady=e=>O.document.whenReady(e)}static makeTypesetMethods(){k.typeset=(e=null)=>{this.hasTypeset=!0,O.document.options.elements=e,O.document.reset(),O.document.render()},k.typesetPromise=(e=null)=>O.typesetPromise(e),k.typesetClear=(e=null)=>{e?O.document.clearMathItemsWithin(e):O.document.clear()}}static makeOutputMethods(e,t,n){const o=e+"2"+t;k[o]=(e,t={})=>(t=Object.assign(Object.assign({},t),{format:n.name}),O.document.convert(e,t)),k[o+"Promise"]=(e,t={})=>(t=Object.assign(Object.assign({},t),{format:n.name}),O.document.convertPromise(e,t)),k[t+"Stylesheet"]=()=>O.output.styleSheet(O.document),"getMetricsFor"in O.output&&(k.getMetricsFor=(e,t)=>O.output.getMetricsFor(e,t))}static makeMmlMethods(e,t){const n=k._.core.MathItem.STATE;k[e+"2mml"]=(e,o={})=>(o=Object.assign(Object.assign({},o),{end:n.CONVERT,format:t.name}),O.toMML(O.document.convert(e,o))),k[e+"2mmlPromise"]=(e,...o)=>P(this,[e,...o],void 0,(function*(e,o={}){o=Object.assign(Object.assign({},o),{end:n.CONVERT,format:t.name});const s=yield O.document.convertPromise(e,o);return O.toMML(s)}))}static makeResetMethod(e,t){k[e+"Reset"]=(...e)=>t.reset(...e)}static getInputJax(){const e=[];for(const t of j.input){const n=O.constructors[t];if(!n)throw Error('Input Jax "'+t+'" is not defined (has it been loaded?)');e[t]=new n(k.config[t]),e.push(e[t])}return e}static getOutputJax(){const e=j.output;if(!e)return null;const t=O.constructors[e];if(!t)throw Error('Output Jax "'+e+'" is not defined (has it been loaded?)');return new t(k.config[e])}static getAdaptor(){const e=j.adaptor;if(!e||"none"===e)return null;const t=O.constructors[e];if(!t)throw Error('DOMAdaptor "'+e+'" is not defined (has it been loaded?)');return t(k.config[e])}static getHandler(){const e=j.handler;if(!e||"none"===e||!O.adaptor)return null;const t=O.constructors[e];if(!t)throw Error('Handler "'+e+'" is not defined (has it been loaded?)');let n=new t(O.adaptor,5);for(const e of O.extensions)n=e.item(n);return n}static getDocument(e=null){return O.mathjax.document(e||j.document,Object.assign(Object.assign({},k.config.options),{InputJax:O.input,OutputJax:O.output}))}}O.extensions=new x,O.constructors={},O.input=[],O.output=null,O.handler=null,O.adaptor=null,O.elements=null,O.document=null,O.promise=new Promise(((e,t)=>{O.promiseResolve=e,O.promiseReject=t})),O.pagePromise=new Promise(((e,t)=>{const n=a.document;if(n&&n.readyState&&"complete"!==n.readyState&&"interactive"!==n.readyState){const t=()=>e();n.defaultView.addEventListener("load",t,!0),n.defaultView.addEventListener("DOMContentLoaded",t,!0)}else e()})),O.hasTypeset=!1,O.defaultOptionError=L.optionError;const k=u;void 0===k._.startup&&(d(k.config,"startup",{input:[],output:"",handler:null,adaptor:null,document:h.document||"",elements:null,typeset:!0,ready:O.defaultReady.bind(O),pageReady:O.defaultPageReady.bind(O)}),c({startup:O,options:{}}),k.config.startup.invalidOption&&(L.invalidOption=k.config.startup.invalidOption),k.config.startup.optionError&&(L.optionError=k.config.startup.optionError));const j=k.config.startup,E=0!==j.input.length;MathJax.loader&&MathJax.loader.checkVersion("startup",s,"startup"),c({_:{components:{loader:n,package:t,startup:o}}});var R;v.preLoaded("loader","startup"),d(MathJax.config.loader,"dependencies",{"a11y/semantic-enrich":["input/mml","a11y/sre"],"a11y/speech":["a11y/semantic-enrich"],"a11y/complexity":["a11y/semantic-enrich"],"a11y/explorer":["a11y/speech"],"[mml]/mml3":["input/mml"],"[tex]/action":["input/tex-base"],"[tex]/ams":["input/tex-base","[tex]/newcommand"],"[tex]/amscd":["input/tex-base"],"[tex]/autoload":["input/tex-base","[tex]/require"],"[tex]/bbm":["input/tex-base"],"[tex]/bboldx":["input/tex-base","[tex]/textmacros"],"[tex]/bbox":["input/tex-base"],"[tex]/begingroup":["input/tex-base","[tex]/newcommand"],"[tex]/boldsymbol":["input/tex-base"],"[tex]/braket":["input/tex-base"],"[tex]/bussproofs":["input/tex-base"],"[tex]/cancel":["input/tex-base","[tex]/enclose"],"[tex]/cases":["[tex]/empheq"],"[tex]/centernot":["input/tex-base"],"[tex]/color":["input/tex-base"],"[tex]/colortbl":["input/tex-base","[tex]/color"],"[tex]/colorv2":["input/tex-base"],"[tex]/configmacros":["input/tex-base","[tex]/newcommand"],"[tex]/dsfont":["input/tex-base"],"[tex]/empheq":["input/tex-base","[tex]/ams"],"[tex]/enclose":["input/tex-base"],"[tex]/extpfeil":["input/tex-base","[tex]/newcommand","[tex]/ams"],"[tex]/gensymb":["input/tex-base"],"[tex]/html":["input/tex-base"],"[tex]/mathtools":["input/tex-base","[tex]/newcommand","[tex]/ams","[tex]/boldsymbol"],"[tex]/mhchem":["input/tex-base","[tex]/ams"],"[tex]/newcommand":["input/tex-base"],"[tex]/noerrors":["input/tex-base"],"[tex]/noundefined":["input/tex-base"],"[tex]/physics":["input/tex-base"],"[tex]/require":["input/tex-base"],"[tex]/setoptions":["input/tex-base"],"[tex]/tagformat":["input/tex-base"],"[tex]/texhtml":["input/tex-base"],"[tex]/textcomp":["input/tex-base","[tex]/textmacros"],"[tex]/textmacros":["input/tex-base"],"[tex]/unicode":["input/tex-base"],"[tex]/units":["input/tex-base"],"[tex]/upgreek":["input/tex-base"],"[tex]/verb":["input/tex-base"],"ui/menu":["a11y/sre"]}),d(MathJax.config.loader,"paths",{tex:"[mathjax]/input/tex/extensions",mml:"[mathjax]/input/mml/extensions",sre:"[mathjax]/sre",mathmaps:"[sre]/mathmaps"}),d(MathJax.config.loader,"provides",{startup:["loader"],"input/tex":["input/tex-base","[tex]/ams","[tex]/newcommand","[tex]/textmacros","[tex]/noundefined","[tex]/require","[tex]/autoload","[tex]/configmacros"]}),d(MathJax.config.loader,"source",{"[tex]/amsCd":"[tex]/amscd","[tex]/colorV2":"[tex]/colorv2","[tex]/configMacros":"[tex]/configmacros","[tex]/tagFormat":"[tex]/tagformat"}),v.load(...M.load).then((()=>(R||function(){})())).then((()=>M.ready())).catch((e=>M.failed(e)))})();