pageproof 0.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/LICENSE +21 -0
- package/README.md +90 -0
- package/THIRD_PARTY_NOTICES.md +74 -0
- package/assets/SKILL.md +58 -0
- package/assets/_paged.css +82 -0
- package/assets/chicago.csl +6006 -0
- package/assets/default.html +496 -0
- package/assets/doublespaced.css +8 -0
- package/assets/european-journal-of-international-law.csl +404 -0
- package/assets/favicon.svg +5 -0
- package/assets/footnotes-inline.lua +56 -0
- package/assets/latex.css +142 -0
- package/assets/msword.css +100 -0
- package/assets/numbered.css +75 -0
- package/assets/vendor/mathjax/LICENSE +202 -0
- package/assets/vendor/mathjax/sre/mathmaps/af.json +146 -0
- package/assets/vendor/mathjax/sre/mathmaps/base.json +140 -0
- package/assets/vendor/mathjax/sre/mathmaps/ca.json +140 -0
- package/assets/vendor/mathjax/sre/mathmaps/da.json +140 -0
- package/assets/vendor/mathjax/sre/mathmaps/de.json +146 -0
- package/assets/vendor/mathjax/sre/mathmaps/en.json +158 -0
- package/assets/vendor/mathjax/sre/mathmaps/es.json +140 -0
- package/assets/vendor/mathjax/sre/mathmaps/euro.json +32 -0
- package/assets/vendor/mathjax/sre/mathmaps/fr.json +146 -0
- package/assets/vendor/mathjax/sre/mathmaps/hi.json +146 -0
- package/assets/vendor/mathjax/sre/mathmaps/it.json +146 -0
- package/assets/vendor/mathjax/sre/mathmaps/ko.json +146 -0
- package/assets/vendor/mathjax/sre/mathmaps/nb.json +146 -0
- package/assets/vendor/mathjax/sre/mathmaps/nemeth.json +125 -0
- package/assets/vendor/mathjax/sre/mathmaps/nn.json +146 -0
- package/assets/vendor/mathjax/sre/mathmaps/sv.json +146 -0
- package/assets/vendor/mathjax/sre/speech-worker.js +1 -0
- package/assets/vendor/mathjax/tex-mml-chtml-nofont.js +18 -0
- package/assets/vendor/mathjax-fonts/LICENSE +202 -0
- package/assets/vendor/mathjax-fonts/mathjax-tex-font/chtml/woff2/mjx-tex-b.woff2 +0 -0
- package/assets/vendor/mathjax-fonts/mathjax-tex-font/chtml/woff2/mjx-tex-bi.woff2 +0 -0
- package/assets/vendor/mathjax-fonts/mathjax-tex-font/chtml/woff2/mjx-tex-brk.woff2 +0 -0
- package/assets/vendor/mathjax-fonts/mathjax-tex-font/chtml/woff2/mjx-tex-c.woff2 +0 -0
- package/assets/vendor/mathjax-fonts/mathjax-tex-font/chtml/woff2/mjx-tex-cb.woff2 +0 -0
- package/assets/vendor/mathjax-fonts/mathjax-tex-font/chtml/woff2/mjx-tex-f.woff2 +0 -0
- package/assets/vendor/mathjax-fonts/mathjax-tex-font/chtml/woff2/mjx-tex-fb.woff2 +0 -0
- package/assets/vendor/mathjax-fonts/mathjax-tex-font/chtml/woff2/mjx-tex-i.woff2 +0 -0
- package/assets/vendor/mathjax-fonts/mathjax-tex-font/chtml/woff2/mjx-tex-lo.woff2 +0 -0
- package/assets/vendor/mathjax-fonts/mathjax-tex-font/chtml/woff2/mjx-tex-m.woff2 +0 -0
- package/assets/vendor/mathjax-fonts/mathjax-tex-font/chtml/woff2/mjx-tex-mi.woff2 +0 -0
- package/assets/vendor/mathjax-fonts/mathjax-tex-font/chtml/woff2/mjx-tex-n.woff2 +0 -0
- package/assets/vendor/mathjax-fonts/mathjax-tex-font/chtml/woff2/mjx-tex-ob.woff2 +0 -0
- package/assets/vendor/mathjax-fonts/mathjax-tex-font/chtml/woff2/mjx-tex-os.woff2 +0 -0
- package/assets/vendor/mathjax-fonts/mathjax-tex-font/chtml/woff2/mjx-tex-s3.woff2 +0 -0
- package/assets/vendor/mathjax-fonts/mathjax-tex-font/chtml/woff2/mjx-tex-s4.woff2 +0 -0
- package/assets/vendor/mathjax-fonts/mathjax-tex-font/chtml/woff2/mjx-tex-so.woff2 +0 -0
- package/assets/vendor/mathjax-fonts/mathjax-tex-font/chtml/woff2/mjx-tex-ss.woff2 +0 -0
- package/assets/vendor/mathjax-fonts/mathjax-tex-font/chtml/woff2/mjx-tex-ssb.woff2 +0 -0
- package/assets/vendor/mathjax-fonts/mathjax-tex-font/chtml/woff2/mjx-tex-ssi.woff2 +0 -0
- package/assets/vendor/mathjax-fonts/mathjax-tex-font/chtml/woff2/mjx-tex-v.woff2 +0 -0
- package/assets/vendor/mathjax-fonts/mathjax-tex-font/chtml/woff2/mjx-tex-zero.woff2 +0 -0
- package/assets/vendor/mathjax-fonts/mathjax-tex-font/chtml.js +1 -0
- package/assets/vendor/mathjax-fonts/mathjax-tex-font/package.json +88 -0
- package/assets/vendor/paged.polyfill.js +33251 -0
- package/bin/mdpreview.js +8 -0
- package/bin/pageproof.js +8 -0
- package/package.json +42 -0
- package/src/assets.js +246 -0
- package/src/cli.js +166 -0
- package/src/lifecycle.js +445 -0
- package/src/pandoc.js +346 -0
- package/src/server.js +228 -0
- package/src/util.js +43 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* MathJax v4 component bundle: tex-mml-chtml-nofont
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2009-2024 The MathJax Consortium
|
|
5
|
+
*
|
|
6
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
* you may not use this file except in compliance with the License.
|
|
8
|
+
* You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
* See the License for the specific language governing permissions and
|
|
16
|
+
* limitations under the License.
|
|
17
|
+
*/
|
|
18
|
+
(()=>{var t,e,s={981(t,e){"use strict";function s(t,e){return void 0===e&&(e=Object),e&&"function"==typeof e.getOwnPropertyDescriptors&&(t=e.create(null,e.getOwnPropertyDescriptors(t))),e&&"function"==typeof e.freeze?e.freeze(t):t}function i(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var n=s({allowfullscreen:!0,async:!0,autofocus:!0,autoplay:!0,checked:!0,controls:!0,default:!0,defer:!0,disabled:!0,formnovalidate:!0,hidden:!0,ismap:!0,itemscope:!0,loop:!0,multiple:!0,muted:!0,nomodule:!0,novalidate:!0,open:!0,playsinline:!0,readonly:!0,required:!0,reversed:!0,selected:!0});var r=s({area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});var o=s({script:!1,style:!1,textarea:!0,title:!0});function a(t){return t===l.HTML}var l=s({HTML:"text/html",XML_APPLICATION:"application/xml",XML_TEXT:"text/xml",XML_XHTML_APPLICATION:"application/xhtml+xml",XML_SVG_IMAGE:"image/svg+xml"}),c=Object.keys(l).map(function(t){return l[t]});var h=s({HTML:"http://www.w3.org/1999/xhtml",SVG:"http://www.w3.org/2000/svg",XML:"http://www.w3.org/XML/1998/namespace",XMLNS:"http://www.w3.org/2000/xmlns/"});e.assign=function(t,e){if(null===t||"object"!=typeof t)throw new TypeError("target is not an object");for(var s in e)i(e,s)&&(t[s]=e[s]);return t},e.find=function(t,e,s){if(void 0===s&&(s=Array.prototype),t&&"function"==typeof s.find)return s.find.call(t,e);for(var n=0;n<t.length;n++)if(i(t,n)){var r=t[n];if(e.call(void 0,r,n,t))return r}},e.freeze=s,e.HTML_BOOLEAN_ATTRIBUTES=n,e.HTML_RAW_TEXT_ELEMENTS=o,e.HTML_VOID_ELEMENTS=r,e.hasDefaultHTMLNamespace=function(t){return a(t)||t===l.XML_XHTML_APPLICATION},e.hasOwn=i,e.isHTMLBooleanAttribute=function(t){return i(n,t.toLowerCase())},e.isHTMLRawTextElement=function(t){var e=t.toLowerCase();return i(o,e)&&!o[e]},e.isHTMLEscapableRawTextElement=function(t){var e=t.toLowerCase();return i(o,e)&&o[e]},e.isHTMLMimeType=a,e.isHTMLVoidElement=function(t){return i(r,t.toLowerCase())},e.isValidMimeType=function(t){return c.indexOf(t)>-1},e.MIME_TYPE=l,e.NAMESPACE=h},985(t,e,s){"use strict";var i=s(981),n=s(553),r=s(918),o=s(334),a=s(309),l=n.DOMImplementation,c=i.hasDefaultHTMLNamespace,h=i.isHTMLMimeType,d=i.isValidMimeType,u=i.MIME_TYPE,p=i.NAMESPACE,m=r.ParseError,g=a.XMLReader;function f(t){return t.replace(/\r[\n\u0085]/g,"\n").replace(/[\r\u0085\u2028\u2029]/g,"\n")}function b(t){if(void 0===(t=t||{}).locator&&(t.locator=!0),this.assign=t.assign||i.assign,this.domHandler=t.domHandler||E,this.onError=t.onError||t.errorHandler,t.errorHandler&&"function"!=typeof t.errorHandler)throw new TypeError("errorHandler object is no longer supported, switch to onError!");t.errorHandler&&t.errorHandler("warning","The `errorHandler` option has been deprecated, use `onError` instead!",this),this.normalizeLineEndings=t.normalizeLineEndings||f,this.locator=!!t.locator,this.xmlns=this.assign(Object.create(null),t.xmlns)}function E(t){var e=t||{};this.mimeType=e.mimeType||u.XML_APPLICATION,this.defaultNamespace=e.defaultNamespace||null,this.cdata=!1,this.currentElement=void 0,this.doc=void 0,this.locator=void 0,this.onError=e.onError}function y(t,e){e.lineNumber=t.lineNumber,e.columnNumber=t.columnNumber}function x(t,e,s){return"string"==typeof t?t.substr(e,s):t.length>=e+s||e?new java.lang.String(t,e,s)+"":t}function N(t,e){t.currentElement?t.currentElement.appendChild(e):t.doc.appendChild(e)}b.prototype.parseFromString=function(t,e){if(!d(e))throw new TypeError('DOMParser.parseFromString: the provided mimeType "'+e+'" is not valid.');var s=this.assign(Object.create(null),this.xmlns),n=o.XML_ENTITIES,r=s[""]||null;c(e)?(n=o.HTML_ENTITIES,r=p.HTML):e===u.XML_SVG_IMAGE&&(r=p.SVG),s[""]=r,s.xml=s.xml||p.XML;var a=new this.domHandler({mimeType:e,defaultNamespace:r,onError:this.onError}),l=this.locator?{}:void 0;this.locator&&a.setDocumentLocator(l);var h=new g;return h.errorHandler=a,h.domBuilder=a,!i.isHTMLMimeType(e)&&"string"!=typeof t&&h.errorHandler.fatalError("source is not a string"),h.parse(this.normalizeLineEndings(String(t)),s,n),a.doc.documentElement||h.errorHandler.fatalError("missing root element"),a.doc},E.prototype={startDocument:function(){var t=new l;this.doc=h(this.mimeType)?t.createHTMLDocument(!1):t.createDocument(this.defaultNamespace,"")},startElement:function(t,e,s,i){var n=this.doc,r=n.createElementNS(t,s||e),o=i.length;N(this,r),this.currentElement=r,this.locator&&y(this.locator,r);for(var a=0;a<o;a++){t=i.getURI(a);var l=i.getValue(a),c=(s=i.getQName(a),n.createAttributeNS(t,s));this.locator&&y(i.getLocator(a),c),c.value=c.nodeValue=l,r.setAttributeNode(c)}},endElement:function(t,e,s){this.currentElement=this.currentElement.parentNode},startPrefixMapping:function(t,e){},endPrefixMapping:function(t){},processingInstruction:function(t,e){var s=this.doc.createProcessingInstruction(t,e);this.locator&&y(this.locator,s),N(this,s)},ignorableWhitespace:function(t,e,s){},characters:function(t,e,s){if(t=x.apply(this,arguments)){if(this.cdata)var i=this.doc.createCDATASection(t);else i=this.doc.createTextNode(t);this.currentElement?this.currentElement.appendChild(i):/^\s*$/.test(t)&&this.doc.appendChild(i),this.locator&&y(this.locator,i)}},skippedEntity:function(t){},endDocument:function(){this.doc.normalize()},setDocumentLocator:function(t){t&&(t.lineNumber=0),this.locator=t},comment:function(t,e,s){t=x.apply(this,arguments);var i=this.doc.createComment(t);this.locator&&y(this.locator,i),N(this,i)},startCDATA:function(){this.cdata=!0},endCDATA:function(){this.cdata=!1},startDTD:function(t,e,s,i){var n=this.doc.implementation;if(n&&n.createDocumentType){var r=n.createDocumentType(t,e,s,i);this.locator&&y(this.locator,r),N(this,r),this.doc.doctype=r}},reportError:function(t,e){if("function"==typeof this.onError)try{this.onError(t,e,this)}catch(s){throw new m("Reporting "+t+' "'+e+'" caused '+s,this.locator)}else console.error("[xmldom "+t+"]\t"+e,function(t){if(t)return"\n@#[line:"+t.lineNumber+",col:"+t.columnNumber+"]"}(this.locator))},warning:function(t){this.reportError("warning",t)},error:function(t){this.reportError("error",t)},fatalError:function(t){throw this.reportError("fatalError",t),new m(t,this.locator)}},"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(t){E.prototype[t]=function(){return null}}),e.__DOMHandler=E,e.DOMParser=b,e.normalizeLineEndings=f,e.onErrorStopParsing=function(t){if("error"===t)throw"onErrorStopParsing"},e.onWarningStopParsing=function(){throw"onWarningStopParsing"}},553(t,e,s){"use strict";var i=s(981),n=i.find,r=i.hasDefaultHTMLNamespace,o=i.hasOwn,a=i.isHTMLMimeType,l=i.isHTMLRawTextElement,c=i.isHTMLVoidElement,h=i.MIME_TYPE,d=i.NAMESPACE,u=Symbol(),p=s(918),m=p.DOMException,g=p.DOMExceptionName,f=s(112);function b(t){if(t!==u)throw new TypeError("Illegal constructor")}function E(t){return""!==t}function y(t,e){return o(t,e)||(t[e]=!0),t}function x(t){if(!t)return[];var e=function(t){return t?t.split(/[\t\n\f\r ]+/).filter(E):[]}(t);return Object.keys(e.reduce(y,{}))}function N(t){if(!f.QName_exact.test(t))throw new m(m.INVALID_CHARACTER_ERR,'invalid character in qualified name "'+t+'"')}function v(t,e){N(e),t=t||null;var s=null,n=e;if(e.indexOf(":")>=0){var r=e.split(":");s=r[0],n=r[1]}if(null!==s&&null===t)throw new m(m.NAMESPACE_ERR,"prefix is non-null and namespace is null");if("xml"===s&&t!==i.NAMESPACE.XML)throw new m(m.NAMESPACE_ERR,'prefix is "xml" and namespace is not the XML namespace');if(("xmlns"===s||"xmlns"===e)&&t!==i.NAMESPACE.XMLNS)throw new m(m.NAMESPACE_ERR,'either qualifiedName or prefix is "xmlns" and namespace is not the XMLNS namespace');if(t===i.NAMESPACE.XMLNS&&"xmlns"!==s&&"xmlns"!==e)throw new m(m.NAMESPACE_ERR,'namespace is the XMLNS namespace and neither qualifiedName nor prefix is "xmlns"');return[t,s,n]}function T(t,e){for(var s in t)o(t,s)&&(e[s]=t[s])}function C(t,e){var s=t.prototype;if(!(s instanceof e)){function i(){}i.prototype=e.prototype,T(s,i=new i),t.prototype=s=i}s.constructor!=t&&("function"!=typeof t&&console.error("unknown Class:"+t),s.constructor=t)}var A={},L=A.ELEMENT_NODE=1,S=A.ATTRIBUTE_NODE=2,R=A.TEXT_NODE=3,I=A.CDATA_SECTION_NODE=4,w=A.ENTITY_REFERENCE_NODE=5,M=A.ENTITY_NODE=6,O=A.PROCESSING_INSTRUCTION_NODE=7,k=A.COMMENT_NODE=8,D=A.DOCUMENT_NODE=9,P=A.DOCUMENT_TYPE_NODE=10,B=A.DOCUMENT_FRAGMENT_NODE=11,F=A.NOTATION_NODE=12,j=i.freeze({DOCUMENT_POSITION_DISCONNECTED:1,DOCUMENT_POSITION_PRECEDING:2,DOCUMENT_POSITION_FOLLOWING:4,DOCUMENT_POSITION_CONTAINS:8,DOCUMENT_POSITION_CONTAINED_BY:16,DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC:32});function _(t,e){if(e.length<t.length)return _(e,t);var s=null;for(var i in t){if(t[i]!==e[i])return s;s=t[i]}return s}function U(t){return t.guid||(t.guid=Math.random()),t.guid}function H(){}function W(t,e){this._node=t,this._refresh=e,q(this)}function q(t){var e=t._node._inc||t._node.ownerDocument._inc;if(t._inc!==e){var s=t._refresh(t._node);if(wt(t,"length",s.length),!t.$$length||s.length<t.$$length)for(var i=s.length;i in t;i++)o(t,i)&&delete t[i];T(s,t),t._inc=e}}function V(){}function G(t,e){for(var s=0;s<t.length;){if(t[s]===e)return s;s++}}function X(t,e,s,i){if(i?e[G(e,i)]=s:(e[e.length]=s,e.length++),t){s.ownerElement=t;var n=t.ownerDocument;n&&(i&&tt(n,t,i),function(t,e,s){t&&t._inc++;var i=s.namespaceURI;i===d.XMLNS&&(e._nsMap[s.prefix?s.localName:""]=s.value)}(n,t,s))}}function z(t,e,s){var i=G(e,s);if(i>=0){for(var n=e.length-1;i<=n;)e[i]=e[++i];if(e.length=n,t){var r=t.ownerDocument;r&&tt(r,t,s),s.ownerElement=null}}}function K(){}function $(t){b(t)}function J(t){return("<"==t?"<":">"==t&&">")||"&"==t&&"&"||'"'==t&&"""||"&#"+t.charCodeAt()+";"}function Y(t,e){Q(t,null,{enter:function(t){return!e(t)||Q.STOP}})}function Q(t,e,s){for(var i=[{node:t,context:e,phase:Q.ENTER}];i.length>0;){var n=i.pop();if(n.phase===Q.ENTER){var r=s.enter(n.node,n.context);if(r===Q.STOP)return Q.STOP;if(i.push({node:n.node,context:r,phase:Q.EXIT}),null==r)continue;for(var o=n.node.lastChild;o;)i.push({node:o,context:r,phase:Q.ENTER}),o=o.previousSibling}else s.exit&&s.exit(n.node,n.context)}}function Z(t,e){b(t);var s=e||{};this.ownerDocument=this,this.contentType=s.contentType||h.XML_APPLICATION,this.type=a(this.contentType)?"html":"xml"}function tt(t,e,s,i){t&&t._inc++,s.namespaceURI===d.XMLNS&&delete e._nsMap[s.prefix?s.localName:""]}function et(t,e,s){if(t&&t._inc){t._inc++;var i=e.childNodes;if(s&&!s.nextSibling)i[i.length++]=s;else{for(var n=e.firstChild,r=0;n;)i[r++]=n,n=n.nextSibling;i.length=r,delete i[i.length]}}}function st(t,e){if(t!==e.parentNode)throw new m(m.NOT_FOUND_ERR,"child's parent is not parent");var s=e.previousSibling,i=e.nextSibling;return s?s.nextSibling=i:t.firstChild=i,i?i.previousSibling=s:t.lastChild=s,et(t.ownerDocument,t),e.parentNode=null,e.previousSibling=null,e.nextSibling=null,e}function it(t){return t&&t.nodeType===$.DOCUMENT_TYPE_NODE}function nt(t){return t&&t.nodeType===$.ELEMENT_NODE}function rt(t){return t&&t.nodeType===$.TEXT_NODE}function ot(t,e){var s=t.childNodes||[];if(n(s,nt)||it(e))return!1;var i=n(s,it);return!(e&&i&&s.indexOf(i)>s.indexOf(e))}function at(t,e){var s=t.childNodes||[];if(n(s,function(t){return nt(t)&&t!==e}))return!1;var i=n(s,it);return!(e&&i&&s.indexOf(i)>s.indexOf(e))}function lt(t,e,s){if(!function(t){return t&&(t.nodeType===$.DOCUMENT_NODE||t.nodeType===$.DOCUMENT_FRAGMENT_NODE||t.nodeType===$.ELEMENT_NODE)}(t))throw new m(m.HIERARCHY_REQUEST_ERR,"Unexpected parent node type "+t.nodeType);if(s&&s.parentNode!==t)throw new m(m.NOT_FOUND_ERR,"child not in parent");if(!function(t){return t&&(t.nodeType===$.CDATA_SECTION_NODE||t.nodeType===$.COMMENT_NODE||t.nodeType===$.DOCUMENT_FRAGMENT_NODE||t.nodeType===$.DOCUMENT_TYPE_NODE||t.nodeType===$.ELEMENT_NODE||t.nodeType===$.PROCESSING_INSTRUCTION_NODE||t.nodeType===$.TEXT_NODE)}(e)||it(e)&&t.nodeType!==$.DOCUMENT_NODE)throw new m(m.HIERARCHY_REQUEST_ERR,"Unexpected node type "+e.nodeType+" for parent node type "+t.nodeType)}function ct(t,e,s){var i=t.childNodes||[],r=e.childNodes||[];if(e.nodeType===$.DOCUMENT_FRAGMENT_NODE){var o=r.filter(nt);if(o.length>1||n(r,rt))throw new m(m.HIERARCHY_REQUEST_ERR,"More than one element or text in fragment");if(1===o.length&&!ot(t,s))throw new m(m.HIERARCHY_REQUEST_ERR,"Element in fragment can not be inserted before doctype")}if(nt(e)&&!ot(t,s))throw new m(m.HIERARCHY_REQUEST_ERR,"Only one element can be added and only after doctype");if(it(e)){if(n(i,it))throw new m(m.HIERARCHY_REQUEST_ERR,"Only one doctype is allowed");var a=n(i,nt);if(s&&i.indexOf(a)<i.indexOf(s))throw new m(m.HIERARCHY_REQUEST_ERR,"Doctype can only be inserted before an element");if(!s&&a)throw new m(m.HIERARCHY_REQUEST_ERR,"Doctype can not be appended since element is present")}}function ht(t,e,s){var i=t.childNodes||[],r=e.childNodes||[];if(e.nodeType===$.DOCUMENT_FRAGMENT_NODE){var o=r.filter(nt);if(o.length>1||n(r,rt))throw new m(m.HIERARCHY_REQUEST_ERR,"More than one element or text in fragment");if(1===o.length&&!at(t,s))throw new m(m.HIERARCHY_REQUEST_ERR,"Element in fragment can not be inserted before doctype")}if(nt(e)&&!at(t,s))throw new m(m.HIERARCHY_REQUEST_ERR,"Only one element can be added and only after doctype");if(it(e)){function l(t){return it(t)&&t!==s}if(n(i,l))throw new m(m.HIERARCHY_REQUEST_ERR,"Only one doctype is allowed");var a=n(i,nt);if(s&&i.indexOf(a)<i.indexOf(s))throw new m(m.HIERARCHY_REQUEST_ERR,"Doctype can only be inserted before an element")}}function dt(t,e,s,i){lt(t,e,s),t.nodeType===$.DOCUMENT_NODE&&(i||ct)(t,e,s);var n=e.parentNode;if(n&&n.removeChild(e),e.nodeType===B){var r=e.firstChild;if(null==r)return e;var o=e.lastChild}else r=o=e;var a=s?s.previousSibling:t.lastChild;r.previousSibling=a,o.nextSibling=s,a?a.nextSibling=r:t.firstChild=r,null==s?t.lastChild=o:s.previousSibling=o;do{r.parentNode=t}while(r!==o&&(r=r.nextSibling));return et(t.ownerDocument||t,t,e),e.nodeType==B&&(e.firstChild=e.lastChild=null),e}function ut(t){b(t),this._nsMap=Object.create(null)}function pt(t){b(t),this.namespaceURI=null,this.prefix=null,this.ownerElement=null}function mt(t){b(t)}function gt(t){b(t)}function ft(t){b(t)}function bt(t){b(t)}function Et(t){b(t)}function yt(t){b(t)}function xt(t){b(t)}function Nt(t){b(t)}function vt(t){b(t)}function Tt(t){b(t)}function Ct(){}function At(t){var e;e="function"==typeof t?{requireWellFormed:!1,splitCDATASections:!0,nodeFilter:t}:null!=t?{requireWellFormed:!!t.requireWellFormed,splitCDATASections:!1!==t.splitCDATASections,nodeFilter:t.nodeFilter||null}:{requireWellFormed:!1,splitCDATASections:!0,nodeFilter:null};var s=[],i=this.nodeType===D&&this.documentElement||this,n=i.prefix,r=i.namespaceURI;if(r&&null==n&&null==(n=i.lookupPrefix(r)))var o=[{namespace:r,prefix:null}];return Rt(this,s,o,e),s.join("")}function Lt(t,e,s){var i=t.prefix||"",n=t.namespaceURI;if(!n)return!1;if("xml"===i&&n===d.XML||n===d.XMLNS)return!1;for(var r=s.length;r--;){var o=s[r];if(o.prefix===i)return o.namespace!==n}return!0}function St(t,e,s){t.push(" ",e,'="',s.replace(/[<>&"\t\n\r]/g,J),'"')}function Rt(t,e,s,i){s||(s=[]);var n=i.nodeFilter,r=i.requireWellFormed,o=i.splitCDATASections,a="html"===(t.nodeType===D?t:t.ownerDocument).type;Q(t,{ns:s},{enter:function(t,s){var h=s.ns;if(n){if(!(t=n(t)))return null;if("string"==typeof t)return e.push(t),null}switch(t.nodeType){case L:var u=t.attributes,p=u.length,b=t.tagName,E=b;if(!a&&!t.prefix&&t.namespaceURI){for(var y,x=0;x<u.length;x++)if("xmlns"===u.item(x).name){y=u.item(x).value;break}if(!y)for(var N=h.length-1;N>=0;N--){if(""===(v=h[N]).prefix&&v.namespace===t.namespaceURI){y=v.namespace;break}}if(y!==t.namespaceURI)for(N=h.length-1;N>=0;N--){var v;if((v=h[N]).namespace===t.namespaceURI){v.prefix&&(E=v.prefix+":"+b);break}}}e.push("<",E);for(var T=h.slice(),C=0;C<p;C++){"xmlns"==(A=u.item(C)).prefix?T.push({prefix:A.localName,namespace:A.value}):"xmlns"==A.nodeName&&T.push({prefix:"",namespace:A.value})}for(C=0;C<p;C++){var A;if(Lt(A=u.item(C),0,T)){var M=A.prefix||"",F=A.namespaceURI;St(e,M?"xmlns:"+M:"xmlns",F),T.push({prefix:M,namespace:F})}var j=n?n(A):A;j&&("string"==typeof j?e.push(j):St(e,j.name,j.value))}if(b===E&&Lt(t,0,T)){var _=t.prefix||"";F=t.namespaceURI;St(e,_?"xmlns:"+_:"xmlns",F),T.push({prefix:_,namespace:F})}var U=!t.firstChild;if(U&&(a||t.namespaceURI===d.HTML)&&(U=c(b)),U)return e.push("/>"),null;if(e.push(">"),a&&l(b)){for(var H=t.firstChild;H;)H.data?e.push(H.data):Rt(H,e,T.slice(),i),H=H.nextSibling;return e.push("</",E,">"),null}return{ns:T,tag:E};case D:case B:if(r&&t.nodeType===D&&null==t.documentElement)throw new m("The Document has no documentElement",g.InvalidStateError);return{ns:h};case S:return St(e,t.name,t.value),null;case R:if(r&&f.InvalidChar.test(t.data))throw new m("The Text node data contains characters outside the XML Char production",g.InvalidStateError);return e.push(t.data.replace(/[<&>]/g,J)),null;case I:if(r&&-1!==t.data.indexOf("]]>"))throw new m('The CDATASection data contains "]]>"',g.InvalidStateError);return o?e.push(f.CDATA_START,t.data.replace(/]]>/g,"]]]]><![CDATA[>"),f.CDATA_END):e.push(f.CDATA_START,t.data,f.CDATA_END),null;case k:if(r){if(f.InvalidChar.test(t.data))throw new m("The comment node data contains characters outside the XML Char production",g.InvalidStateError);if(-1!==t.data.indexOf("--")||"-"===t.data[t.data.length-1])throw new m('The comment node data contains "--" or ends with "-"',g.InvalidStateError)}return e.push(f.COMMENT_START,t.data,f.COMMENT_END),null;case P:var W=t.publicId,q=t.systemId;if(r){if(W&&!f.PubidLiteral_match.test(W))throw new m("DocumentType publicId is not a valid PubidLiteral",g.InvalidStateError);if(q&&"."!==q&&!f.SystemLiteral_match.test(q))throw new m("DocumentType systemId is not a valid SystemLiteral",g.InvalidStateError);if(t.internalSubset&&-1!==t.internalSubset.indexOf("]>"))throw new m('DocumentType internalSubset contains "]>"',g.InvalidStateError)}return e.push(f.DOCTYPE_DECL_START," ",t.name),W?(e.push(" ",f.PUBLIC," ",W),q&&"."!==q&&e.push(" ",q)):q&&"."!==q&&e.push(" ",f.SYSTEM," ",q),t.internalSubset&&e.push(" [",t.internalSubset,"]"),e.push(">"),null;case O:if(r){if(-1!==t.target.indexOf(":")||"xml"===t.target.toLowerCase())throw new m("The ProcessingInstruction target is not well-formed",g.InvalidStateError);if(f.InvalidChar.test(t.data))throw new m("The ProcessingInstruction data contains characters outside the XML Char production",g.InvalidStateError);if(-1!==t.data.indexOf("?>"))throw new m('The ProcessingInstruction data contains "?>"',g.InvalidStateError)}return e.push("<?",t.target," ",t.data,"?>"),null;case w:return e.push("&",t.nodeName,";"),null;default:return e.push("??",t.nodeName),null}},exit:function(t,s){s&&s.tag&&e.push("</",s.tag,">")}})}function It(t,e,s){var i;return Q(e,null,{enter:function(e,n){var r=new e.constructor(u);for(var a in e)if(o(e,a)){var l=e[a];"object"!=typeof l&&l!=r[a]&&(r[a]=l)}e.childNodes&&(r.childNodes=new H),r.ownerDocument=t;var c=s;switch(r.nodeType){case L:var h=e.attributes,d=r.attributes=new V,p=h.length;d._ownerElement=r;for(var m=0;m<p;m++)r.setAttributeNode(It(t,h.item(m),!0));break;case S:c=!0}return null!==n?n.appendChild(r):i=r,c?r:null}}),i}function wt(t,e,s){t[e]=s}function Mt(t){for(var e=[],s=t.firstChild;s;)s.nodeType===L&&e.push(s),s=s.nextSibling;return e}H.prototype={length:0,item:function(t){return t>=0&&t<this.length?this[t]:null},toString:function(t){var e;e="function"==typeof t?{requireWellFormed:!1,splitCDATASections:!0,nodeFilter:t}:t?{requireWellFormed:!!t.requireWellFormed,splitCDATASections:!1!==t.splitCDATASections,nodeFilter:t.nodeFilter||null}:{requireWellFormed:!1,splitCDATASections:!0,nodeFilter:null};for(var s=[],i=0;i<this.length;i++)Rt(this[i],s,null,e);return s.join("")},filter:function(t){return Array.prototype.filter.call(this,t)},indexOf:function(t){return Array.prototype.indexOf.call(this,t)}},H.prototype[Symbol.iterator]=function(){var t=this,e=0;return{next:function(){return e<t.length?{value:t[e++],done:!1}:{done:!0}},return:function(){return{done:!0}}}},W.prototype.item=function(t){return q(this),this[t]||null},C(W,H),V.prototype={length:0,item:H.prototype.item,getNamedItem:function(t){this._ownerElement&&this._ownerElement._isInHTMLDocumentAndNamespace()&&(t=t.toLowerCase());for(var e=0;e<this.length;){var s=this[e];if(s.nodeName===t)return s;e++}return null},setNamedItem:function(t){var e=t.ownerElement;if(e&&e!==this._ownerElement)throw new m(m.INUSE_ATTRIBUTE_ERR);var s=this.getNamedItemNS(t.namespaceURI,t.localName);return s===t?t:(X(this._ownerElement,this,t,s),s)},setNamedItemNS:function(t){return this.setNamedItem(t)},removeNamedItem:function(t){var e=this.getNamedItem(t);if(!e)throw new m(m.NOT_FOUND_ERR,t);return z(this._ownerElement,this,e),e},removeNamedItemNS:function(t,e){var s=this.getNamedItemNS(t,e);if(!s)throw new m(m.NOT_FOUND_ERR,t?t+" : "+e:e);return z(this._ownerElement,this,s),s},getNamedItemNS:function(t,e){t||(t=null);for(var s=0;s<this.length;){var i=this[s];if(i.localName===e&&i.namespaceURI===t)return i;s++}return null}},V.prototype[Symbol.iterator]=function(){var t=this,e=0;return{next:function(){return e<t.length?{value:t[e++],done:!1}:{done:!0}},return:function(){return{done:!0}}}},K.prototype={hasFeature:function(t,e){return!0},createDocument:function(t,e,s){var i=h.XML_APPLICATION;t===d.HTML?i=h.XML_XHTML_APPLICATION:t===d.SVG&&(i=h.XML_SVG_IMAGE);var n=new Z(u,{contentType:i});if(n.implementation=this,n.childNodes=new H,n.doctype=s||null,s&&n.appendChild(s),e){var r=n.createElementNS(t,e);n.appendChild(r)}return n},createDocumentType:function(t,e,s,i){N(t);var n=new Et(u);return n.name=t,n.nodeName=t,n.publicId=e||"",n.systemId=s||"",n.internalSubset=i||"",n.childNodes=new H,n},createHTMLDocument:function(t){var e=new Z(u,{contentType:h.HTML});if(e.implementation=this,e.childNodes=new H,!1!==t){e.doctype=this.createDocumentType("html"),e.doctype.ownerDocument=e,e.appendChild(e.doctype);var s=e.createElement("html");e.appendChild(s);var i=e.createElement("head");if(s.appendChild(i),"string"==typeof t){var n=e.createElement("title");n.appendChild(e.createTextNode(t)),i.appendChild(n)}s.appendChild(e.createElement("body"))}return e}},$.prototype={firstChild:null,lastChild:null,previousSibling:null,nextSibling:null,parentNode:null,get parentElement(){return this.parentNode&&this.parentNode.nodeType===this.ELEMENT_NODE?this.parentNode:null},childNodes:null,ownerDocument:null,nodeValue:null,namespaceURI:null,prefix:null,localName:null,baseURI:"about:blank",get isConnected(){var t=this.getRootNode();return t&&t.nodeType===t.DOCUMENT_NODE},contains:function(t){if(!t)return!1;var e=t;do{if(this===e)return!0;e=e.parentNode}while(e);return!1},getRootNode:function(t){var e=this;do{if(!e.parentNode)return e;e=e.parentNode}while(e)},isEqualNode:function(t){if(!t)return!1;for(var e=[{node:this,other:t}];e.length>0;){var s=e.pop(),i=s.node,n=s.other;if(i.nodeType!==n.nodeType)return!1;switch(i.nodeType){case i.DOCUMENT_TYPE_NODE:if(i.name!==n.name)return!1;if(i.publicId!==n.publicId)return!1;if(i.systemId!==n.systemId)return!1;break;case i.ELEMENT_NODE:if(i.namespaceURI!==n.namespaceURI)return!1;if(i.prefix!==n.prefix)return!1;if(i.localName!==n.localName)return!1;if(i.attributes.length!==n.attributes.length)return!1;for(var r=0;r<i.attributes.length;r++){var o=i.attributes.item(r),a=n.getAttributeNodeNS(o.namespaceURI,o.localName);if(!a)return!1;e.push({node:o,other:a})}break;case i.ATTRIBUTE_NODE:if(i.namespaceURI!==n.namespaceURI)return!1;if(i.localName!==n.localName)return!1;if(i.value!==n.value)return!1;break;case i.PROCESSING_INSTRUCTION_NODE:if(i.target!==n.target||i.data!==n.data)return!1;break;case i.TEXT_NODE:case i.CDATA_SECTION_NODE:case i.COMMENT_NODE:if(i.data!==n.data)return!1}if(i.childNodes.length!==n.childNodes.length)return!1;for(r=i.childNodes.length-1;r>=0;r--)e.push({node:i.childNodes[r],other:n.childNodes[r]})}return!0},isSameNode:function(t){return this===t},insertBefore:function(t,e){return dt(this,t,e)},replaceChild:function(t,e){dt(this,t,e,ht),e&&this.removeChild(e)},removeChild:function(t){return st(this,t)},appendChild:function(t){return this.insertBefore(t,null)},hasChildNodes:function(){return null!=this.firstChild},cloneNode:function(t){return It(this.ownerDocument||this,this,t)},normalize:function(){Q(this,null,{enter:function(t){for(var e=t.firstChild;e;){var s=e.nextSibling;null!==s&&s.nodeType===R&&e.nodeType===R?(t.removeChild(s),e.appendData(s.data)):e=s}return!0}})},isSupported:function(t,e){return this.ownerDocument.implementation.hasFeature(t,e)},lookupPrefix:function(t){for(var e=this;e;){var s=e._nsMap;if(s)for(var i in s)if(o(s,i)&&s[i]===t)return i;e=e.nodeType==S?e.ownerDocument:e.parentNode}return null},lookupNamespaceURI:function(t){for(var e=this;e;){var s=e._nsMap;if(s&&o(s,t))return s[t];e=e.nodeType==S?e.ownerDocument:e.parentNode}return null},isDefaultNamespace:function(t){return null==this.lookupPrefix(t)},compareDocumentPosition:function(t){if(this===t)return 0;var e=t,s=this,i=null,n=null;if(e instanceof pt&&(e=(i=e).ownerElement),s instanceof pt&&(s=(n=s).ownerElement,i&&e&&s===e))for(var r,o=0;r=s.attributes[o];o++){if(r===i)return j.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC+j.DOCUMENT_POSITION_PRECEDING;if(r===n)return j.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC+j.DOCUMENT_POSITION_FOLLOWING}if(!e||!s||s.ownerDocument!==e.ownerDocument)return j.DOCUMENT_POSITION_DISCONNECTED+j.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC+(U(s.ownerDocument)>U(e.ownerDocument)?j.DOCUMENT_POSITION_FOLLOWING:j.DOCUMENT_POSITION_PRECEDING);if(n&&e===s)return j.DOCUMENT_POSITION_CONTAINS+j.DOCUMENT_POSITION_PRECEDING;if(i&&e===s)return j.DOCUMENT_POSITION_CONTAINED_BY+j.DOCUMENT_POSITION_FOLLOWING;for(var a=[],l=e.parentNode;l;){if(!n&&l===s)return j.DOCUMENT_POSITION_CONTAINED_BY+j.DOCUMENT_POSITION_FOLLOWING;a.push(l),l=l.parentNode}a.reverse();for(var c=[],h=s.parentNode;h;){if(!i&&h===e)return j.DOCUMENT_POSITION_CONTAINS+j.DOCUMENT_POSITION_PRECEDING;c.push(h),h=h.parentNode}c.reverse();var d=_(a,c);for(var u in d.childNodes){var p=d.childNodes[u];if(p===s)return j.DOCUMENT_POSITION_FOLLOWING;if(p===e)return j.DOCUMENT_POSITION_PRECEDING;if(c.indexOf(p)>=0)return j.DOCUMENT_POSITION_FOLLOWING;if(a.indexOf(p)>=0)return j.DOCUMENT_POSITION_PRECEDING}return 0}},T(A,$),T(A,$.prototype),T(j,$),T(j,$.prototype),Q.STOP=Symbol("walkDOM.STOP"),Q.ENTER=0,Q.EXIT=1,Z.prototype={implementation:null,nodeName:"#document",nodeType:D,doctype:null,documentElement:null,_inc:1,insertBefore:function(t,e){if(t.nodeType===B){for(var s=t.firstChild;s;){var i=s.nextSibling;this.insertBefore(s,e),s=i}return t}return dt(this,t,e),t.ownerDocument=this,null===this.documentElement&&t.nodeType===L&&(this.documentElement=t),t},removeChild:function(t){var e=st(this,t);return e===this.documentElement&&(this.documentElement=null),e},replaceChild:function(t,e){dt(this,t,e,ht),t.ownerDocument=this,e&&this.removeChild(e),nt(t)&&(this.documentElement=t)},importNode:function(t,e){return function(t,e,s){var i;return Q(e,null,{enter:function(e,n){var r=e.cloneNode(!1);return r.ownerDocument=t,r.parentNode=null,null===n?i=r:n.appendChild(r),e.nodeType===S||s?r:null}}),i}(this,t,e)},getElementById:function(t){var e=null;return Y(this.documentElement,function(s){if(s.nodeType==L&&s.getAttribute("id")==t)return e=s,!0}),e},createElement:function(t){var e=new ut(u);return e.ownerDocument=this,"html"===this.type&&(t=t.toLowerCase()),r(this.contentType)&&(e.namespaceURI=d.HTML),e.nodeName=t,e.tagName=t,e.localName=t,e.childNodes=new H,(e.attributes=new V)._ownerElement=e,e},createDocumentFragment:function(){var t=new vt(u);return t.ownerDocument=this,t.childNodes=new H,t},createTextNode:function(t){var e=new gt(u);return e.ownerDocument=this,e.childNodes=new H,e.appendData(t),e},createComment:function(t){var e=new ft(u);return e.ownerDocument=this,e.childNodes=new H,e.appendData(t),e},createCDATASection:function(t){if(-1!==t.indexOf("]]>"))throw new m(m.INVALID_CHARACTER_ERR,'data contains "]]>"');var e=new bt(u);return e.ownerDocument=this,e.childNodes=new H,e.appendData(t),e},createProcessingInstruction:function(t,e){var s=new Tt(u);return s.ownerDocument=this,s.childNodes=new H,s.nodeName=s.target=t,s.nodeValue=s.data=e,s},createAttribute:function(t){if(!f.QName_exact.test(t))throw new m(m.INVALID_CHARACTER_ERR,'invalid character in name "'+t+'"');return"html"===this.type&&(t=t.toLowerCase()),this._createAttribute(t)},_createAttribute:function(t){var e=new pt(u);return e.ownerDocument=this,e.childNodes=new H,e.name=t,e.nodeName=t,e.localName=t,e.specified=!0,e},createEntityReference:function(t){if(!f.Name.test(t))throw new m(m.INVALID_CHARACTER_ERR,'not a valid xml name "'+t+'"');if("html"===this.type)throw new m("document is an html document",g.NotSupportedError);var e=new Nt(u);return e.ownerDocument=this,e.childNodes=new H,e.nodeName=t,e},createElementNS:function(t,e){var s=v(t,e),i=new ut(u),n=i.attributes=new V;return i.childNodes=new H,i.ownerDocument=this,i.nodeName=e,i.tagName=e,i.namespaceURI=s[0],i.prefix=s[1],i.localName=s[2],n._ownerElement=i,i},createAttributeNS:function(t,e){var s=v(t,e),i=new pt(u);return i.ownerDocument=this,i.childNodes=new H,i.nodeName=e,i.name=e,i.specified=!0,i.namespaceURI=s[0],i.prefix=s[1],i.localName=s[2],i}},C(Z,$),ut.prototype={nodeType:L,attributes:null,getQualifiedName:function(){return this.prefix?this.prefix+":"+this.localName:this.localName},_isInHTMLDocumentAndNamespace:function(){return"html"===this.ownerDocument.type&&this.namespaceURI===d.HTML},hasAttributes:function(){return!(!this.attributes||!this.attributes.length)},hasAttribute:function(t){return!!this.getAttributeNode(t)},getAttribute:function(t){var e=this.getAttributeNode(t);return e?e.value:null},getAttributeNode:function(t){return this._isInHTMLDocumentAndNamespace()&&(t=t.toLowerCase()),this.attributes.getNamedItem(t)},setAttribute:function(t,e){this._isInHTMLDocumentAndNamespace()&&(t=t.toLowerCase());var s=this.getAttributeNode(t);s?s.value=s.nodeValue=""+e:((s=this.ownerDocument._createAttribute(t)).value=s.nodeValue=""+e,this.setAttributeNode(s))},removeAttribute:function(t){var e=this.getAttributeNode(t);e&&this.removeAttributeNode(e)},setAttributeNode:function(t){return this.attributes.setNamedItem(t)},setAttributeNodeNS:function(t){return this.attributes.setNamedItemNS(t)},removeAttributeNode:function(t){return this.attributes.removeNamedItem(t.nodeName)},removeAttributeNS:function(t,e){var s=this.getAttributeNodeNS(t,e);s&&this.removeAttributeNode(s)},hasAttributeNS:function(t,e){return null!=this.getAttributeNodeNS(t,e)},getAttributeNS:function(t,e){var s=this.getAttributeNodeNS(t,e);return s?s.value:null},setAttributeNS:function(t,e,s){var i=v(t,e)[2],n=this.getAttributeNodeNS(t,i);n?n.value=n.nodeValue=""+s:((n=this.ownerDocument.createAttributeNS(t,e)).value=n.nodeValue=""+s,this.setAttributeNode(n))},getAttributeNodeNS:function(t,e){return this.attributes.getNamedItemNS(t,e)},getElementsByClassName:function(t){var e=x(t);return new W(this,function(s){var i=[];return e.length>0&&Y(s,function(n){if(n!==s&&n.nodeType===L){var r=n.getAttribute("class");if(r){var o=t===r;if(!o){var a=x(r);o=e.every((l=a,function(t){return l&&-1!==l.indexOf(t)}))}o&&i.push(n)}}var l}),i})},getElementsByTagName:function(t){var e="html"===(this.nodeType===D?this:this.ownerDocument).type,s=t.toLowerCase();return new W(this,function(i){var n=[];return Y(i,function(r){r!==i&&r.nodeType===L&&(("*"===t||r.getQualifiedName()===(e&&r.namespaceURI===d.HTML?s:t))&&n.push(r))}),n})},getElementsByTagNameNS:function(t,e){return new W(this,function(s){var i=[];return Y(s,function(n){n===s||n.nodeType!==L||"*"!==t&&n.namespaceURI!==t||"*"!==e&&n.localName!=e||i.push(n)}),i})}},Z.prototype.getElementsByClassName=ut.prototype.getElementsByClassName,Z.prototype.getElementsByTagName=ut.prototype.getElementsByTagName,Z.prototype.getElementsByTagNameNS=ut.prototype.getElementsByTagNameNS,C(ut,$),pt.prototype.nodeType=S,C(pt,$),mt.prototype={data:"",substringData:function(t,e){return this.data.substring(t,t+e)},appendData:function(t){t=this.data+t,this.nodeValue=this.data=t,this.length=t.length},insertData:function(t,e){this.replaceData(t,0,e)},deleteData:function(t,e){this.replaceData(t,e,"")},replaceData:function(t,e,s){s=this.data.substring(0,t)+s+this.data.substring(t+e),this.nodeValue=this.data=s,this.length=s.length}},C(mt,$),gt.prototype={nodeName:"#text",nodeType:R,splitText:function(t){var e=this.data,s=e.substring(t);e=e.substring(0,t),this.data=this.nodeValue=e,this.length=e.length;var i=this.ownerDocument.createTextNode(s);return this.parentNode&&this.parentNode.insertBefore(i,this.nextSibling),i}},C(gt,mt),ft.prototype={nodeName:"#comment",nodeType:k},C(ft,mt),bt.prototype={nodeName:"#cdata-section",nodeType:I},C(bt,gt),Et.prototype.nodeType=P,C(Et,$),yt.prototype.nodeType=F,C(yt,$),xt.prototype.nodeType=M,C(xt,$),Nt.prototype.nodeType=w,C(Nt,$),vt.prototype.nodeName="#document-fragment",vt.prototype.nodeType=B,C(vt,$),Tt.prototype.nodeType=O,C(Tt,mt),Ct.prototype.serializeToString=function(t,e){return At.call(t,e)},$.prototype.toString=At;try{Object.defineProperty&&(Object.defineProperty(W.prototype,"length",{get:function(){return q(this),this.$$length}}),Object.defineProperty($.prototype,"textContent",{get:function(){if(this.nodeType===L||this.nodeType===B){var t=[];return Q(this,null,{enter:function(e){return e.nodeType===L||e.nodeType===B||(e.nodeType===O||e.nodeType===k?null:void t.push(e.nodeValue))}}),t.join("")}return this.nodeValue},set:function(t){switch(this.nodeType){case L:case B:for(;this.firstChild;)this.removeChild(this.firstChild);(t||String(t))&&this.appendChild(this.ownerDocument.createTextNode(t));break;default:this.data=t,this.value=t,this.nodeValue=t}}}),Object.defineProperty(ut.prototype,"children",{get:function(){return new W(this,Mt)}}),Object.defineProperty(Z.prototype,"children",{get:function(){return new W(this,Mt)}}),Object.defineProperty(vt.prototype,"children",{get:function(){return new W(this,Mt)}}),wt=function(t,e,s){t["$$"+e]=s})}catch(t){}e._updateLiveList=q,e.Attr=pt,e.CDATASection=bt,e.CharacterData=mt,e.Comment=ft,e.Document=Z,e.DocumentFragment=vt,e.DocumentType=Et,e.DOMImplementation=K,e.Element=ut,e.Entity=xt,e.EntityReference=Nt,e.LiveNodeList=W,e.NamedNodeMap=V,e.Node=$,e.NodeList=H,e.Notation=yt,e.Text=gt,e.ProcessingInstruction=Tt,e.walkDOM=Q,e.XMLSerializer=Ct},334(t,e,s){"use strict";var i=s(981).freeze;e.XML_ENTITIES=i({amp:"&",apos:"'",gt:">",lt:"<",quot:'"'}),e.HTML_ENTITIES=i({Aacute:"\xc1",aacute:"\xe1",Abreve:"\u0102",abreve:"\u0103",ac:"\u223e",acd:"\u223f",acE:"\u223e\u0333",Acirc:"\xc2",acirc:"\xe2",acute:"\xb4",Acy:"\u0410",acy:"\u0430",AElig:"\xc6",aelig:"\xe6",af:"\u2061",Afr:"\u{1d504}",afr:"\u{1d51e}",Agrave:"\xc0",agrave:"\xe0",alefsym:"\u2135",aleph:"\u2135",Alpha:"\u0391",alpha:"\u03b1",Amacr:"\u0100",amacr:"\u0101",amalg:"\u2a3f",AMP:"&",amp:"&",And:"\u2a53",and:"\u2227",andand:"\u2a55",andd:"\u2a5c",andslope:"\u2a58",andv:"\u2a5a",ang:"\u2220",ange:"\u29a4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29a8",angmsdab:"\u29a9",angmsdac:"\u29aa",angmsdad:"\u29ab",angmsdae:"\u29ac",angmsdaf:"\u29ad",angmsdag:"\u29ae",angmsdah:"\u29af",angrt:"\u221f",angrtvb:"\u22be",angrtvbd:"\u299d",angsph:"\u2222",angst:"\xc5",angzarr:"\u237c",Aogon:"\u0104",aogon:"\u0105",Aopf:"\u{1d538}",aopf:"\u{1d552}",ap:"\u2248",apacir:"\u2a6f",apE:"\u2a70",ape:"\u224a",apid:"\u224b",apos:"'",ApplyFunction:"\u2061",approx:"\u2248",approxeq:"\u224a",Aring:"\xc5",aring:"\xe5",Ascr:"\u{1d49c}",ascr:"\u{1d4b6}",Assign:"\u2254",ast:"*",asymp:"\u2248",asympeq:"\u224d",Atilde:"\xc3",atilde:"\xe3",Auml:"\xc4",auml:"\xe4",awconint:"\u2233",awint:"\u2a11",backcong:"\u224c",backepsilon:"\u03f6",backprime:"\u2035",backsim:"\u223d",backsimeq:"\u22cd",Backslash:"\u2216",Barv:"\u2ae7",barvee:"\u22bd",Barwed:"\u2306",barwed:"\u2305",barwedge:"\u2305",bbrk:"\u23b5",bbrktbrk:"\u23b6",bcong:"\u224c",Bcy:"\u0411",bcy:"\u0431",bdquo:"\u201e",becaus:"\u2235",Because:"\u2235",because:"\u2235",bemptyv:"\u29b0",bepsi:"\u03f6",bernou:"\u212c",Bernoullis:"\u212c",Beta:"\u0392",beta:"\u03b2",beth:"\u2136",between:"\u226c",Bfr:"\u{1d505}",bfr:"\u{1d51f}",bigcap:"\u22c2",bigcirc:"\u25ef",bigcup:"\u22c3",bigodot:"\u2a00",bigoplus:"\u2a01",bigotimes:"\u2a02",bigsqcup:"\u2a06",bigstar:"\u2605",bigtriangledown:"\u25bd",bigtriangleup:"\u25b3",biguplus:"\u2a04",bigvee:"\u22c1",bigwedge:"\u22c0",bkarow:"\u290d",blacklozenge:"\u29eb",blacksquare:"\u25aa",blacktriangle:"\u25b4",blacktriangledown:"\u25be",blacktriangleleft:"\u25c2",blacktriangleright:"\u25b8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20e5",bnequiv:"\u2261\u20e5",bNot:"\u2aed",bnot:"\u2310",Bopf:"\u{1d539}",bopf:"\u{1d553}",bot:"\u22a5",bottom:"\u22a5",bowtie:"\u22c8",boxbox:"\u29c9",boxDL:"\u2557",boxDl:"\u2556",boxdL:"\u2555",boxdl:"\u2510",boxDR:"\u2554",boxDr:"\u2553",boxdR:"\u2552",boxdr:"\u250c",boxH:"\u2550",boxh:"\u2500",boxHD:"\u2566",boxHd:"\u2564",boxhD:"\u2565",boxhd:"\u252c",boxHU:"\u2569",boxHu:"\u2567",boxhU:"\u2568",boxhu:"\u2534",boxminus:"\u229f",boxplus:"\u229e",boxtimes:"\u22a0",boxUL:"\u255d",boxUl:"\u255c",boxuL:"\u255b",boxul:"\u2518",boxUR:"\u255a",boxUr:"\u2559",boxuR:"\u2558",boxur:"\u2514",boxV:"\u2551",boxv:"\u2502",boxVH:"\u256c",boxVh:"\u256b",boxvH:"\u256a",boxvh:"\u253c",boxVL:"\u2563",boxVl:"\u2562",boxvL:"\u2561",boxvl:"\u2524",boxVR:"\u2560",boxVr:"\u255f",boxvR:"\u255e",boxvr:"\u251c",bprime:"\u2035",Breve:"\u02d8",breve:"\u02d8",brvbar:"\xa6",Bscr:"\u212c",bscr:"\u{1d4b7}",bsemi:"\u204f",bsim:"\u223d",bsime:"\u22cd",bsol:"\\",bsolb:"\u29c5",bsolhsub:"\u27c8",bull:"\u2022",bullet:"\u2022",bump:"\u224e",bumpE:"\u2aae",bumpe:"\u224f",Bumpeq:"\u224e",bumpeq:"\u224f",Cacute:"\u0106",cacute:"\u0107",Cap:"\u22d2",cap:"\u2229",capand:"\u2a44",capbrcup:"\u2a49",capcap:"\u2a4b",capcup:"\u2a47",capdot:"\u2a40",CapitalDifferentialD:"\u2145",caps:"\u2229\ufe00",caret:"\u2041",caron:"\u02c7",Cayleys:"\u212d",ccaps:"\u2a4d",Ccaron:"\u010c",ccaron:"\u010d",Ccedil:"\xc7",ccedil:"\xe7",Ccirc:"\u0108",ccirc:"\u0109",Cconint:"\u2230",ccups:"\u2a4c",ccupssm:"\u2a50",Cdot:"\u010a",cdot:"\u010b",cedil:"\xb8",Cedilla:"\xb8",cemptyv:"\u29b2",cent:"\xa2",CenterDot:"\xb7",centerdot:"\xb7",Cfr:"\u212d",cfr:"\u{1d520}",CHcy:"\u0427",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",Chi:"\u03a7",chi:"\u03c7",cir:"\u25cb",circ:"\u02c6",circeq:"\u2257",circlearrowleft:"\u21ba",circlearrowright:"\u21bb",circledast:"\u229b",circledcirc:"\u229a",circleddash:"\u229d",CircleDot:"\u2299",circledR:"\xae",circledS:"\u24c8",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",cirE:"\u29c3",cire:"\u2257",cirfnint:"\u2a10",cirmid:"\u2aef",cirscir:"\u29c2",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201d",CloseCurlyQuote:"\u2019",clubs:"\u2663",clubsuit:"\u2663",Colon:"\u2237",colon:":",Colone:"\u2a74",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2a6d",Congruent:"\u2261",Conint:"\u222f",conint:"\u222e",ContourIntegral:"\u222e",Copf:"\u2102",copf:"\u{1d554}",coprod:"\u2210",Coproduct:"\u2210",COPY:"\xa9",copy:"\xa9",copysr:"\u2117",CounterClockwiseContourIntegral:"\u2233",crarr:"\u21b5",Cross:"\u2a2f",cross:"\u2717",Cscr:"\u{1d49e}",cscr:"\u{1d4b8}",csub:"\u2acf",csube:"\u2ad1",csup:"\u2ad0",csupe:"\u2ad2",ctdot:"\u22ef",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22de",cuesc:"\u22df",cularr:"\u21b6",cularrp:"\u293d",Cup:"\u22d3",cup:"\u222a",cupbrcap:"\u2a48",CupCap:"\u224d",cupcap:"\u2a46",cupcup:"\u2a4a",cupdot:"\u228d",cupor:"\u2a45",cups:"\u222a\ufe00",curarr:"\u21b7",curarrm:"\u293c",curlyeqprec:"\u22de",curlyeqsucc:"\u22df",curlyvee:"\u22ce",curlywedge:"\u22cf",curren:"\xa4",curvearrowleft:"\u21b6",curvearrowright:"\u21b7",cuvee:"\u22ce",cuwed:"\u22cf",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232d",Dagger:"\u2021",dagger:"\u2020",daleth:"\u2138",Darr:"\u21a1",dArr:"\u21d3",darr:"\u2193",dash:"\u2010",Dashv:"\u2ae4",dashv:"\u22a3",dbkarow:"\u290f",dblac:"\u02dd",Dcaron:"\u010e",dcaron:"\u010f",Dcy:"\u0414",dcy:"\u0434",DD:"\u2145",dd:"\u2146",ddagger:"\u2021",ddarr:"\u21ca",DDotrahd:"\u2911",ddotseq:"\u2a77",deg:"\xb0",Del:"\u2207",Delta:"\u0394",delta:"\u03b4",demptyv:"\u29b1",dfisht:"\u297f",Dfr:"\u{1d507}",dfr:"\u{1d521}",dHar:"\u2965",dharl:"\u21c3",dharr:"\u21c2",DiacriticalAcute:"\xb4",DiacriticalDot:"\u02d9",DiacriticalDoubleAcute:"\u02dd",DiacriticalGrave:"`",DiacriticalTilde:"\u02dc",diam:"\u22c4",Diamond:"\u22c4",diamond:"\u22c4",diamondsuit:"\u2666",diams:"\u2666",die:"\xa8",DifferentialD:"\u2146",digamma:"\u03dd",disin:"\u22f2",div:"\xf7",divide:"\xf7",divideontimes:"\u22c7",divonx:"\u22c7",DJcy:"\u0402",djcy:"\u0452",dlcorn:"\u231e",dlcrop:"\u230d",dollar:"$",Dopf:"\u{1d53b}",dopf:"\u{1d555}",Dot:"\xa8",dot:"\u02d9",DotDot:"\u20dc",doteq:"\u2250",doteqdot:"\u2251",DotEqual:"\u2250",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22a1",doublebarwedge:"\u2306",DoubleContourIntegral:"\u222f",DoubleDot:"\xa8",DoubleDownArrow:"\u21d3",DoubleLeftArrow:"\u21d0",DoubleLeftRightArrow:"\u21d4",DoubleLeftTee:"\u2ae4",DoubleLongLeftArrow:"\u27f8",DoubleLongLeftRightArrow:"\u27fa",DoubleLongRightArrow:"\u27f9",DoubleRightArrow:"\u21d2",DoubleRightTee:"\u22a8",DoubleUpArrow:"\u21d1",DoubleUpDownArrow:"\u21d5",DoubleVerticalBar:"\u2225",DownArrow:"\u2193",Downarrow:"\u21d3",downarrow:"\u2193",DownArrowBar:"\u2913",DownArrowUpArrow:"\u21f5",DownBreve:"\u0311",downdownarrows:"\u21ca",downharpoonleft:"\u21c3",downharpoonright:"\u21c2",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295e",DownLeftVector:"\u21bd",DownLeftVectorBar:"\u2956",DownRightTeeVector:"\u295f",DownRightVector:"\u21c1",DownRightVectorBar:"\u2957",DownTee:"\u22a4",DownTeeArrow:"\u21a7",drbkarow:"\u2910",drcorn:"\u231f",drcrop:"\u230c",Dscr:"\u{1d49f}",dscr:"\u{1d4b9}",DScy:"\u0405",dscy:"\u0455",dsol:"\u29f6",Dstrok:"\u0110",dstrok:"\u0111",dtdot:"\u22f1",dtri:"\u25bf",dtrif:"\u25be",duarr:"\u21f5",duhar:"\u296f",dwangle:"\u29a6",DZcy:"\u040f",dzcy:"\u045f",dzigrarr:"\u27ff",Eacute:"\xc9",eacute:"\xe9",easter:"\u2a6e",Ecaron:"\u011a",ecaron:"\u011b",ecir:"\u2256",Ecirc:"\xca",ecirc:"\xea",ecolon:"\u2255",Ecy:"\u042d",ecy:"\u044d",eDDot:"\u2a77",Edot:"\u0116",eDot:"\u2251",edot:"\u0117",ee:"\u2147",efDot:"\u2252",Efr:"\u{1d508}",efr:"\u{1d522}",eg:"\u2a9a",Egrave:"\xc8",egrave:"\xe8",egs:"\u2a96",egsdot:"\u2a98",el:"\u2a99",Element:"\u2208",elinters:"\u23e7",ell:"\u2113",els:"\u2a95",elsdot:"\u2a97",Emacr:"\u0112",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",EmptySmallSquare:"\u25fb",emptyv:"\u2205",EmptyVerySmallSquare:"\u25ab",emsp:"\u2003",emsp13:"\u2004",emsp14:"\u2005",ENG:"\u014a",eng:"\u014b",ensp:"\u2002",Eogon:"\u0118",eogon:"\u0119",Eopf:"\u{1d53c}",eopf:"\u{1d556}",epar:"\u22d5",eparsl:"\u29e3",eplus:"\u2a71",epsi:"\u03b5",Epsilon:"\u0395",epsilon:"\u03b5",epsiv:"\u03f5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2a96",eqslantless:"\u2a95",Equal:"\u2a75",equals:"=",EqualTilde:"\u2242",equest:"\u225f",Equilibrium:"\u21cc",equiv:"\u2261",equivDD:"\u2a78",eqvparsl:"\u29e5",erarr:"\u2971",erDot:"\u2253",Escr:"\u2130",escr:"\u212f",esdot:"\u2250",Esim:"\u2a73",esim:"\u2242",Eta:"\u0397",eta:"\u03b7",ETH:"\xd0",eth:"\xf0",Euml:"\xcb",euml:"\xeb",euro:"\u20ac",excl:"!",exist:"\u2203",Exists:"\u2203",expectation:"\u2130",ExponentialE:"\u2147",exponentiale:"\u2147",fallingdotseq:"\u2252",Fcy:"\u0424",fcy:"\u0444",female:"\u2640",ffilig:"\ufb03",fflig:"\ufb00",ffllig:"\ufb04",Ffr:"\u{1d509}",ffr:"\u{1d523}",filig:"\ufb01",FilledSmallSquare:"\u25fc",FilledVerySmallSquare:"\u25aa",fjlig:"fj",flat:"\u266d",fllig:"\ufb02",fltns:"\u25b1",fnof:"\u0192",Fopf:"\u{1d53d}",fopf:"\u{1d557}",ForAll:"\u2200",forall:"\u2200",fork:"\u22d4",forkv:"\u2ad9",Fouriertrf:"\u2131",fpartint:"\u2a0d",frac12:"\xbd",frac13:"\u2153",frac14:"\xbc",frac15:"\u2155",frac16:"\u2159",frac18:"\u215b",frac23:"\u2154",frac25:"\u2156",frac34:"\xbe",frac35:"\u2157",frac38:"\u215c",frac45:"\u2158",frac56:"\u215a",frac58:"\u215d",frac78:"\u215e",frasl:"\u2044",frown:"\u2322",Fscr:"\u2131",fscr:"\u{1d4bb}",gacute:"\u01f5",Gamma:"\u0393",gamma:"\u03b3",Gammad:"\u03dc",gammad:"\u03dd",gap:"\u2a86",Gbreve:"\u011e",gbreve:"\u011f",Gcedil:"\u0122",Gcirc:"\u011c",gcirc:"\u011d",Gcy:"\u0413",gcy:"\u0433",Gdot:"\u0120",gdot:"\u0121",gE:"\u2267",ge:"\u2265",gEl:"\u2a8c",gel:"\u22db",geq:"\u2265",geqq:"\u2267",geqslant:"\u2a7e",ges:"\u2a7e",gescc:"\u2aa9",gesdot:"\u2a80",gesdoto:"\u2a82",gesdotol:"\u2a84",gesl:"\u22db\ufe00",gesles:"\u2a94",Gfr:"\u{1d50a}",gfr:"\u{1d524}",Gg:"\u22d9",gg:"\u226b",ggg:"\u22d9",gimel:"\u2137",GJcy:"\u0403",gjcy:"\u0453",gl:"\u2277",gla:"\u2aa5",glE:"\u2a92",glj:"\u2aa4",gnap:"\u2a8a",gnapprox:"\u2a8a",gnE:"\u2269",gne:"\u2a88",gneq:"\u2a88",gneqq:"\u2269",gnsim:"\u22e7",Gopf:"\u{1d53e}",gopf:"\u{1d558}",grave:"`",GreaterEqual:"\u2265",GreaterEqualLess:"\u22db",GreaterFullEqual:"\u2267",GreaterGreater:"\u2aa2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2a7e",GreaterTilde:"\u2273",Gscr:"\u{1d4a2}",gscr:"\u210a",gsim:"\u2273",gsime:"\u2a8e",gsiml:"\u2a90",Gt:"\u226b",GT:">",gt:">",gtcc:"\u2aa7",gtcir:"\u2a7a",gtdot:"\u22d7",gtlPar:"\u2995",gtquest:"\u2a7c",gtrapprox:"\u2a86",gtrarr:"\u2978",gtrdot:"\u22d7",gtreqless:"\u22db",gtreqqless:"\u2a8c",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\ufe00",gvnE:"\u2269\ufe00",Hacek:"\u02c7",hairsp:"\u200a",half:"\xbd",hamilt:"\u210b",HARDcy:"\u042a",hardcy:"\u044a",hArr:"\u21d4",harr:"\u2194",harrcir:"\u2948",harrw:"\u21ad",Hat:"^",hbar:"\u210f",Hcirc:"\u0124",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22b9",Hfr:"\u210c",hfr:"\u{1d525}",HilbertSpace:"\u210b",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21ff",homtht:"\u223b",hookleftarrow:"\u21a9",hookrightarrow:"\u21aa",Hopf:"\u210d",hopf:"\u{1d559}",horbar:"\u2015",HorizontalLine:"\u2500",Hscr:"\u210b",hscr:"\u{1d4bd}",hslash:"\u210f",Hstrok:"\u0126",hstrok:"\u0127",HumpDownHump:"\u224e",HumpEqual:"\u224f",hybull:"\u2043",hyphen:"\u2010",Iacute:"\xcd",iacute:"\xed",ic:"\u2063",Icirc:"\xce",icirc:"\xee",Icy:"\u0418",icy:"\u0438",Idot:"\u0130",IEcy:"\u0415",iecy:"\u0435",iexcl:"\xa1",iff:"\u21d4",Ifr:"\u2111",ifr:"\u{1d526}",Igrave:"\xcc",igrave:"\xec",ii:"\u2148",iiiint:"\u2a0c",iiint:"\u222d",iinfin:"\u29dc",iiota:"\u2129",IJlig:"\u0132",ijlig:"\u0133",Im:"\u2111",Imacr:"\u012a",imacr:"\u012b",image:"\u2111",ImaginaryI:"\u2148",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22b7",imped:"\u01b5",Implies:"\u21d2",in:"\u2208",incare:"\u2105",infin:"\u221e",infintie:"\u29dd",inodot:"\u0131",Int:"\u222c",int:"\u222b",intcal:"\u22ba",integers:"\u2124",Integral:"\u222b",intercal:"\u22ba",Intersection:"\u22c2",intlarhk:"\u2a17",intprod:"\u2a3c",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",IOcy:"\u0401",iocy:"\u0451",Iogon:"\u012e",iogon:"\u012f",Iopf:"\u{1d540}",iopf:"\u{1d55a}",Iota:"\u0399",iota:"\u03b9",iprod:"\u2a3c",iquest:"\xbf",Iscr:"\u2110",iscr:"\u{1d4be}",isin:"\u2208",isindot:"\u22f5",isinE:"\u22f9",isins:"\u22f4",isinsv:"\u22f3",isinv:"\u2208",it:"\u2062",Itilde:"\u0128",itilde:"\u0129",Iukcy:"\u0406",iukcy:"\u0456",Iuml:"\xcf",iuml:"\xef",Jcirc:"\u0134",jcirc:"\u0135",Jcy:"\u0419",jcy:"\u0439",Jfr:"\u{1d50d}",jfr:"\u{1d527}",jmath:"\u0237",Jopf:"\u{1d541}",jopf:"\u{1d55b}",Jscr:"\u{1d4a5}",jscr:"\u{1d4bf}",Jsercy:"\u0408",jsercy:"\u0458",Jukcy:"\u0404",jukcy:"\u0454",Kappa:"\u039a",kappa:"\u03ba",kappav:"\u03f0",Kcedil:"\u0136",kcedil:"\u0137",Kcy:"\u041a",kcy:"\u043a",Kfr:"\u{1d50e}",kfr:"\u{1d528}",kgreen:"\u0138",KHcy:"\u0425",khcy:"\u0445",KJcy:"\u040c",kjcy:"\u045c",Kopf:"\u{1d542}",kopf:"\u{1d55c}",Kscr:"\u{1d4a6}",kscr:"\u{1d4c0}",lAarr:"\u21da",Lacute:"\u0139",lacute:"\u013a",laemptyv:"\u29b4",lagran:"\u2112",Lambda:"\u039b",lambda:"\u03bb",Lang:"\u27ea",lang:"\u27e8",langd:"\u2991",langle:"\u27e8",lap:"\u2a85",Laplacetrf:"\u2112",laquo:"\xab",Larr:"\u219e",lArr:"\u21d0",larr:"\u2190",larrb:"\u21e4",larrbfs:"\u291f",larrfs:"\u291d",larrhk:"\u21a9",larrlp:"\u21ab",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21a2",lat:"\u2aab",lAtail:"\u291b",latail:"\u2919",late:"\u2aad",lates:"\u2aad\ufe00",lBarr:"\u290e",lbarr:"\u290c",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298b",lbrksld:"\u298f",lbrkslu:"\u298d",Lcaron:"\u013d",lcaron:"\u013e",Lcedil:"\u013b",lcedil:"\u013c",lceil:"\u2308",lcub:"{",Lcy:"\u041b",lcy:"\u043b",ldca:"\u2936",ldquo:"\u201c",ldquor:"\u201e",ldrdhar:"\u2967",ldrushar:"\u294b",ldsh:"\u21b2",lE:"\u2266",le:"\u2264",LeftAngleBracket:"\u27e8",LeftArrow:"\u2190",Leftarrow:"\u21d0",leftarrow:"\u2190",LeftArrowBar:"\u21e4",LeftArrowRightArrow:"\u21c6",leftarrowtail:"\u21a2",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27e6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21c3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230a",leftharpoondown:"\u21bd",leftharpoonup:"\u21bc",leftleftarrows:"\u21c7",LeftRightArrow:"\u2194",Leftrightarrow:"\u21d4",leftrightarrow:"\u2194",leftrightarrows:"\u21c6",leftrightharpoons:"\u21cb",leftrightsquigarrow:"\u21ad",LeftRightVector:"\u294e",LeftTee:"\u22a3",LeftTeeArrow:"\u21a4",LeftTeeVector:"\u295a",leftthreetimes:"\u22cb",LeftTriangle:"\u22b2",LeftTriangleBar:"\u29cf",LeftTriangleEqual:"\u22b4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21bf",LeftUpVectorBar:"\u2958",LeftVector:"\u21bc",LeftVectorBar:"\u2952",lEg:"\u2a8b",leg:"\u22da",leq:"\u2264",leqq:"\u2266",leqslant:"\u2a7d",les:"\u2a7d",lescc:"\u2aa8",lesdot:"\u2a7f",lesdoto:"\u2a81",lesdotor:"\u2a83",lesg:"\u22da\ufe00",lesges:"\u2a93",lessapprox:"\u2a85",lessdot:"\u22d6",lesseqgtr:"\u22da",lesseqqgtr:"\u2a8b",LessEqualGreater:"\u22da",LessFullEqual:"\u2266",LessGreater:"\u2276",lessgtr:"\u2276",LessLess:"\u2aa1",lesssim:"\u2272",LessSlantEqual:"\u2a7d",LessTilde:"\u2272",lfisht:"\u297c",lfloor:"\u230a",Lfr:"\u{1d50f}",lfr:"\u{1d529}",lg:"\u2276",lgE:"\u2a91",lHar:"\u2962",lhard:"\u21bd",lharu:"\u21bc",lharul:"\u296a",lhblk:"\u2584",LJcy:"\u0409",ljcy:"\u0459",Ll:"\u22d8",ll:"\u226a",llarr:"\u21c7",llcorner:"\u231e",Lleftarrow:"\u21da",llhard:"\u296b",lltri:"\u25fa",Lmidot:"\u013f",lmidot:"\u0140",lmoust:"\u23b0",lmoustache:"\u23b0",lnap:"\u2a89",lnapprox:"\u2a89",lnE:"\u2268",lne:"\u2a87",lneq:"\u2a87",lneqq:"\u2268",lnsim:"\u22e6",loang:"\u27ec",loarr:"\u21fd",lobrk:"\u27e6",LongLeftArrow:"\u27f5",Longleftarrow:"\u27f8",longleftarrow:"\u27f5",LongLeftRightArrow:"\u27f7",Longleftrightarrow:"\u27fa",longleftrightarrow:"\u27f7",longmapsto:"\u27fc",LongRightArrow:"\u27f6",Longrightarrow:"\u27f9",longrightarrow:"\u27f6",looparrowleft:"\u21ab",looparrowright:"\u21ac",lopar:"\u2985",Lopf:"\u{1d543}",lopf:"\u{1d55d}",loplus:"\u2a2d",lotimes:"\u2a34",lowast:"\u2217",lowbar:"_",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",loz:"\u25ca",lozenge:"\u25ca",lozf:"\u29eb",lpar:"(",lparlt:"\u2993",lrarr:"\u21c6",lrcorner:"\u231f",lrhar:"\u21cb",lrhard:"\u296d",lrm:"\u200e",lrtri:"\u22bf",lsaquo:"\u2039",Lscr:"\u2112",lscr:"\u{1d4c1}",Lsh:"\u21b0",lsh:"\u21b0",lsim:"\u2272",lsime:"\u2a8d",lsimg:"\u2a8f",lsqb:"[",lsquo:"\u2018",lsquor:"\u201a",Lstrok:"\u0141",lstrok:"\u0142",Lt:"\u226a",LT:"<",lt:"<",ltcc:"\u2aa6",ltcir:"\u2a79",ltdot:"\u22d6",lthree:"\u22cb",ltimes:"\u22c9",ltlarr:"\u2976",ltquest:"\u2a7b",ltri:"\u25c3",ltrie:"\u22b4",ltrif:"\u25c2",ltrPar:"\u2996",lurdshar:"\u294a",luruhar:"\u2966",lvertneqq:"\u2268\ufe00",lvnE:"\u2268\ufe00",macr:"\xaf",male:"\u2642",malt:"\u2720",maltese:"\u2720",Map:"\u2905",map:"\u21a6",mapsto:"\u21a6",mapstodown:"\u21a7",mapstoleft:"\u21a4",mapstoup:"\u21a5",marker:"\u25ae",mcomma:"\u2a29",Mcy:"\u041c",mcy:"\u043c",mdash:"\u2014",mDDot:"\u223a",measuredangle:"\u2221",MediumSpace:"\u205f",Mellintrf:"\u2133",Mfr:"\u{1d510}",mfr:"\u{1d52a}",mho:"\u2127",micro:"\xb5",mid:"\u2223",midast:"*",midcir:"\u2af0",middot:"\xb7",minus:"\u2212",minusb:"\u229f",minusd:"\u2238",minusdu:"\u2a2a",MinusPlus:"\u2213",mlcp:"\u2adb",mldr:"\u2026",mnplus:"\u2213",models:"\u22a7",Mopf:"\u{1d544}",mopf:"\u{1d55e}",mp:"\u2213",Mscr:"\u2133",mscr:"\u{1d4c2}",mstpos:"\u223e",Mu:"\u039c",mu:"\u03bc",multimap:"\u22b8",mumap:"\u22b8",nabla:"\u2207",Nacute:"\u0143",nacute:"\u0144",nang:"\u2220\u20d2",nap:"\u2249",napE:"\u2a70\u0338",napid:"\u224b\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266e",natural:"\u266e",naturals:"\u2115",nbsp:"\xa0",nbump:"\u224e\u0338",nbumpe:"\u224f\u0338",ncap:"\u2a43",Ncaron:"\u0147",ncaron:"\u0148",Ncedil:"\u0145",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2a6d\u0338",ncup:"\u2a42",Ncy:"\u041d",ncy:"\u043d",ndash:"\u2013",ne:"\u2260",nearhk:"\u2924",neArr:"\u21d7",nearr:"\u2197",nearrow:"\u2197",nedot:"\u2250\u0338",NegativeMediumSpace:"\u200b",NegativeThickSpace:"\u200b",NegativeThinSpace:"\u200b",NegativeVeryThinSpace:"\u200b",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",NestedGreaterGreater:"\u226b",NestedLessLess:"\u226a",NewLine:"\n",nexist:"\u2204",nexists:"\u2204",Nfr:"\u{1d511}",nfr:"\u{1d52b}",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2a7e\u0338",nges:"\u2a7e\u0338",nGg:"\u22d9\u0338",ngsim:"\u2275",nGt:"\u226b\u20d2",ngt:"\u226f",ngtr:"\u226f",nGtv:"\u226b\u0338",nhArr:"\u21ce",nharr:"\u21ae",nhpar:"\u2af2",ni:"\u220b",nis:"\u22fc",nisd:"\u22fa",niv:"\u220b",NJcy:"\u040a",njcy:"\u045a",nlArr:"\u21cd",nlarr:"\u219a",nldr:"\u2025",nlE:"\u2266\u0338",nle:"\u2270",nLeftarrow:"\u21cd",nleftarrow:"\u219a",nLeftrightarrow:"\u21ce",nleftrightarrow:"\u21ae",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2a7d\u0338",nles:"\u2a7d\u0338",nless:"\u226e",nLl:"\u22d8\u0338",nlsim:"\u2274",nLt:"\u226a\u20d2",nlt:"\u226e",nltri:"\u22ea",nltrie:"\u22ec",nLtv:"\u226a\u0338",nmid:"\u2224",NoBreak:"\u2060",NonBreakingSpace:"\xa0",Nopf:"\u2115",nopf:"\u{1d55f}",Not:"\u2aec",not:"\xac",NotCongruent:"\u2262",NotCupCap:"\u226d",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226f",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226b\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2a7e\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224e\u0338",NotHumpEqual:"\u224f\u0338",notin:"\u2209",notindot:"\u22f5\u0338",notinE:"\u22f9\u0338",notinva:"\u2209",notinvb:"\u22f7",notinvc:"\u22f6",NotLeftTriangle:"\u22ea",NotLeftTriangleBar:"\u29cf\u0338",NotLeftTriangleEqual:"\u22ec",NotLess:"\u226e",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226a\u0338",NotLessSlantEqual:"\u2a7d\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2aa2\u0338",NotNestedLessLess:"\u2aa1\u0338",notni:"\u220c",notniva:"\u220c",notnivb:"\u22fe",notnivc:"\u22fd",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2aaf\u0338",NotPrecedesSlantEqual:"\u22e0",NotReverseElement:"\u220c",NotRightTriangle:"\u22eb",NotRightTriangleBar:"\u29d0\u0338",NotRightTriangleEqual:"\u22ed",NotSquareSubset:"\u228f\u0338",NotSquareSubsetEqual:"\u22e2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22e3",NotSubset:"\u2282\u20d2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2ab0\u0338",NotSucceedsSlantEqual:"\u22e1",NotSucceedsTilde:"\u227f\u0338",NotSuperset:"\u2283\u20d2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2afd\u20e5",npart:"\u2202\u0338",npolint:"\u2a14",npr:"\u2280",nprcue:"\u22e0",npre:"\u2aaf\u0338",nprec:"\u2280",npreceq:"\u2aaf\u0338",nrArr:"\u21cf",nrarr:"\u219b",nrarrc:"\u2933\u0338",nrarrw:"\u219d\u0338",nRightarrow:"\u21cf",nrightarrow:"\u219b",nrtri:"\u22eb",nrtrie:"\u22ed",nsc:"\u2281",nsccue:"\u22e1",nsce:"\u2ab0\u0338",Nscr:"\u{1d4a9}",nscr:"\u{1d4c3}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22e2",nsqsupe:"\u22e3",nsub:"\u2284",nsubE:"\u2ac5\u0338",nsube:"\u2288",nsubset:"\u2282\u20d2",nsubseteq:"\u2288",nsubseteqq:"\u2ac5\u0338",nsucc:"\u2281",nsucceq:"\u2ab0\u0338",nsup:"\u2285",nsupE:"\u2ac6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20d2",nsupseteq:"\u2289",nsupseteqq:"\u2ac6\u0338",ntgl:"\u2279",Ntilde:"\xd1",ntilde:"\xf1",ntlg:"\u2278",ntriangleleft:"\u22ea",ntrianglelefteq:"\u22ec",ntriangleright:"\u22eb",ntrianglerighteq:"\u22ed",Nu:"\u039d",nu:"\u03bd",num:"#",numero:"\u2116",numsp:"\u2007",nvap:"\u224d\u20d2",nVDash:"\u22af",nVdash:"\u22ae",nvDash:"\u22ad",nvdash:"\u22ac",nvge:"\u2265\u20d2",nvgt:">\u20d2",nvHarr:"\u2904",nvinfin:"\u29de",nvlArr:"\u2902",nvle:"\u2264\u20d2",nvlt:"<\u20d2",nvltrie:"\u22b4\u20d2",nvrArr:"\u2903",nvrtrie:"\u22b5\u20d2",nvsim:"\u223c\u20d2",nwarhk:"\u2923",nwArr:"\u21d6",nwarr:"\u2196",nwarrow:"\u2196",nwnear:"\u2927",Oacute:"\xd3",oacute:"\xf3",oast:"\u229b",ocir:"\u229a",Ocirc:"\xd4",ocirc:"\xf4",Ocy:"\u041e",ocy:"\u043e",odash:"\u229d",Odblac:"\u0150",odblac:"\u0151",odiv:"\u2a38",odot:"\u2299",odsold:"\u29bc",OElig:"\u0152",oelig:"\u0153",ofcir:"\u29bf",Ofr:"\u{1d512}",ofr:"\u{1d52c}",ogon:"\u02db",Ograve:"\xd2",ograve:"\xf2",ogt:"\u29c1",ohbar:"\u29b5",ohm:"\u03a9",oint:"\u222e",olarr:"\u21ba",olcir:"\u29be",olcross:"\u29bb",oline:"\u203e",olt:"\u29c0",Omacr:"\u014c",omacr:"\u014d",Omega:"\u03a9",omega:"\u03c9",Omicron:"\u039f",omicron:"\u03bf",omid:"\u29b6",ominus:"\u2296",Oopf:"\u{1d546}",oopf:"\u{1d560}",opar:"\u29b7",OpenCurlyDoubleQuote:"\u201c",OpenCurlyQuote:"\u2018",operp:"\u29b9",oplus:"\u2295",Or:"\u2a54",or:"\u2228",orarr:"\u21bb",ord:"\u2a5d",order:"\u2134",orderof:"\u2134",ordf:"\xaa",ordm:"\xba",origof:"\u22b6",oror:"\u2a56",orslope:"\u2a57",orv:"\u2a5b",oS:"\u24c8",Oscr:"\u{1d4aa}",oscr:"\u2134",Oslash:"\xd8",oslash:"\xf8",osol:"\u2298",Otilde:"\xd5",otilde:"\xf5",Otimes:"\u2a37",otimes:"\u2297",otimesas:"\u2a36",Ouml:"\xd6",ouml:"\xf6",ovbar:"\u233d",OverBar:"\u203e",OverBrace:"\u23de",OverBracket:"\u23b4",OverParenthesis:"\u23dc",par:"\u2225",para:"\xb6",parallel:"\u2225",parsim:"\u2af3",parsl:"\u2afd",part:"\u2202",PartialD:"\u2202",Pcy:"\u041f",pcy:"\u043f",percnt:"%",period:".",permil:"\u2030",perp:"\u22a5",pertenk:"\u2031",Pfr:"\u{1d513}",pfr:"\u{1d52d}",Phi:"\u03a6",phi:"\u03c6",phiv:"\u03d5",phmmat:"\u2133",phone:"\u260e",Pi:"\u03a0",pi:"\u03c0",pitchfork:"\u22d4",piv:"\u03d6",planck:"\u210f",planckh:"\u210e",plankv:"\u210f",plus:"+",plusacir:"\u2a23",plusb:"\u229e",pluscir:"\u2a22",plusdo:"\u2214",plusdu:"\u2a25",pluse:"\u2a72",PlusMinus:"\xb1",plusmn:"\xb1",plussim:"\u2a26",plustwo:"\u2a27",pm:"\xb1",Poincareplane:"\u210c",pointint:"\u2a15",Popf:"\u2119",popf:"\u{1d561}",pound:"\xa3",Pr:"\u2abb",pr:"\u227a",prap:"\u2ab7",prcue:"\u227c",prE:"\u2ab3",pre:"\u2aaf",prec:"\u227a",precapprox:"\u2ab7",preccurlyeq:"\u227c",Precedes:"\u227a",PrecedesEqual:"\u2aaf",PrecedesSlantEqual:"\u227c",PrecedesTilde:"\u227e",preceq:"\u2aaf",precnapprox:"\u2ab9",precneqq:"\u2ab5",precnsim:"\u22e8",precsim:"\u227e",Prime:"\u2033",prime:"\u2032",primes:"\u2119",prnap:"\u2ab9",prnE:"\u2ab5",prnsim:"\u22e8",prod:"\u220f",Product:"\u220f",profalar:"\u232e",profline:"\u2312",profsurf:"\u2313",prop:"\u221d",Proportion:"\u2237",Proportional:"\u221d",propto:"\u221d",prsim:"\u227e",prurel:"\u22b0",Pscr:"\u{1d4ab}",pscr:"\u{1d4c5}",Psi:"\u03a8",psi:"\u03c8",puncsp:"\u2008",Qfr:"\u{1d514}",qfr:"\u{1d52e}",qint:"\u2a0c",Qopf:"\u211a",qopf:"\u{1d562}",qprime:"\u2057",Qscr:"\u{1d4ac}",qscr:"\u{1d4c6}",quaternions:"\u210d",quatint:"\u2a16",quest:"?",questeq:"\u225f",QUOT:'"',quot:'"',rAarr:"\u21db",race:"\u223d\u0331",Racute:"\u0154",racute:"\u0155",radic:"\u221a",raemptyv:"\u29b3",Rang:"\u27eb",rang:"\u27e9",rangd:"\u2992",range:"\u29a5",rangle:"\u27e9",raquo:"\xbb",Rarr:"\u21a0",rArr:"\u21d2",rarr:"\u2192",rarrap:"\u2975",rarrb:"\u21e5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291e",rarrhk:"\u21aa",rarrlp:"\u21ac",rarrpl:"\u2945",rarrsim:"\u2974",Rarrtl:"\u2916",rarrtl:"\u21a3",rarrw:"\u219d",rAtail:"\u291c",ratail:"\u291a",ratio:"\u2236",rationals:"\u211a",RBarr:"\u2910",rBarr:"\u290f",rbarr:"\u290d",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298c",rbrksld:"\u298e",rbrkslu:"\u2990",Rcaron:"\u0158",rcaron:"\u0159",Rcedil:"\u0156",rcedil:"\u0157",rceil:"\u2309",rcub:"}",Rcy:"\u0420",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201d",rdquor:"\u201d",rdsh:"\u21b3",Re:"\u211c",real:"\u211c",realine:"\u211b",realpart:"\u211c",reals:"\u211d",rect:"\u25ad",REG:"\xae",reg:"\xae",ReverseElement:"\u220b",ReverseEquilibrium:"\u21cb",ReverseUpEquilibrium:"\u296f",rfisht:"\u297d",rfloor:"\u230b",Rfr:"\u211c",rfr:"\u{1d52f}",rHar:"\u2964",rhard:"\u21c1",rharu:"\u21c0",rharul:"\u296c",Rho:"\u03a1",rho:"\u03c1",rhov:"\u03f1",RightAngleBracket:"\u27e9",RightArrow:"\u2192",Rightarrow:"\u21d2",rightarrow:"\u2192",RightArrowBar:"\u21e5",RightArrowLeftArrow:"\u21c4",rightarrowtail:"\u21a3",RightCeiling:"\u2309",RightDoubleBracket:"\u27e7",RightDownTeeVector:"\u295d",RightDownVector:"\u21c2",RightDownVectorBar:"\u2955",RightFloor:"\u230b",rightharpoondown:"\u21c1",rightharpoonup:"\u21c0",rightleftarrows:"\u21c4",rightleftharpoons:"\u21cc",rightrightarrows:"\u21c9",rightsquigarrow:"\u219d",RightTee:"\u22a2",RightTeeArrow:"\u21a6",RightTeeVector:"\u295b",rightthreetimes:"\u22cc",RightTriangle:"\u22b3",RightTriangleBar:"\u29d0",RightTriangleEqual:"\u22b5",RightUpDownVector:"\u294f",RightUpTeeVector:"\u295c",RightUpVector:"\u21be",RightUpVectorBar:"\u2954",RightVector:"\u21c0",RightVectorBar:"\u2953",ring:"\u02da",risingdotseq:"\u2253",rlarr:"\u21c4",rlhar:"\u21cc",rlm:"\u200f",rmoust:"\u23b1",rmoustache:"\u23b1",rnmid:"\u2aee",roang:"\u27ed",roarr:"\u21fe",robrk:"\u27e7",ropar:"\u2986",Ropf:"\u211d",ropf:"\u{1d563}",roplus:"\u2a2e",rotimes:"\u2a35",RoundImplies:"\u2970",rpar:")",rpargt:"\u2994",rppolint:"\u2a12",rrarr:"\u21c9",Rrightarrow:"\u21db",rsaquo:"\u203a",Rscr:"\u211b",rscr:"\u{1d4c7}",Rsh:"\u21b1",rsh:"\u21b1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22cc",rtimes:"\u22ca",rtri:"\u25b9",rtrie:"\u22b5",rtrif:"\u25b8",rtriltri:"\u29ce",RuleDelayed:"\u29f4",ruluhar:"\u2968",rx:"\u211e",Sacute:"\u015a",sacute:"\u015b",sbquo:"\u201a",Sc:"\u2abc",sc:"\u227b",scap:"\u2ab8",Scaron:"\u0160",scaron:"\u0161",sccue:"\u227d",scE:"\u2ab4",sce:"\u2ab0",Scedil:"\u015e",scedil:"\u015f",Scirc:"\u015c",scirc:"\u015d",scnap:"\u2aba",scnE:"\u2ab6",scnsim:"\u22e9",scpolint:"\u2a13",scsim:"\u227f",Scy:"\u0421",scy:"\u0441",sdot:"\u22c5",sdotb:"\u22a1",sdote:"\u2a66",searhk:"\u2925",seArr:"\u21d8",searr:"\u2198",searrow:"\u2198",sect:"\xa7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",Sfr:"\u{1d516}",sfr:"\u{1d530}",sfrown:"\u2322",sharp:"\u266f",SHCHcy:"\u0429",shchcy:"\u0449",SHcy:"\u0428",shcy:"\u0448",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",shortmid:"\u2223",shortparallel:"\u2225",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",shy:"\xad",Sigma:"\u03a3",sigma:"\u03c3",sigmaf:"\u03c2",sigmav:"\u03c2",sim:"\u223c",simdot:"\u2a6a",sime:"\u2243",simeq:"\u2243",simg:"\u2a9e",simgE:"\u2aa0",siml:"\u2a9d",simlE:"\u2a9f",simne:"\u2246",simplus:"\u2a24",simrarr:"\u2972",slarr:"\u2190",SmallCircle:"\u2218",smallsetminus:"\u2216",smashp:"\u2a33",smeparsl:"\u29e4",smid:"\u2223",smile:"\u2323",smt:"\u2aaa",smte:"\u2aac",smtes:"\u2aac\ufe00",SOFTcy:"\u042c",softcy:"\u044c",sol:"/",solb:"\u29c4",solbar:"\u233f",Sopf:"\u{1d54a}",sopf:"\u{1d564}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\ufe00",sqcup:"\u2294",sqcups:"\u2294\ufe00",Sqrt:"\u221a",sqsub:"\u228f",sqsube:"\u2291",sqsubset:"\u228f",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25a1",Square:"\u25a1",square:"\u25a1",SquareIntersection:"\u2293",SquareSubset:"\u228f",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",squarf:"\u25aa",squf:"\u25aa",srarr:"\u2192",Sscr:"\u{1d4ae}",sscr:"\u{1d4c8}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22c6",Star:"\u22c6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03f5",straightphi:"\u03d5",strns:"\xaf",Sub:"\u22d0",sub:"\u2282",subdot:"\u2abd",subE:"\u2ac5",sube:"\u2286",subedot:"\u2ac3",submult:"\u2ac1",subnE:"\u2acb",subne:"\u228a",subplus:"\u2abf",subrarr:"\u2979",Subset:"\u22d0",subset:"\u2282",subseteq:"\u2286",subseteqq:"\u2ac5",SubsetEqual:"\u2286",subsetneq:"\u228a",subsetneqq:"\u2acb",subsim:"\u2ac7",subsub:"\u2ad5",subsup:"\u2ad3",succ:"\u227b",succapprox:"\u2ab8",succcurlyeq:"\u227d",Succeeds:"\u227b",SucceedsEqual:"\u2ab0",SucceedsSlantEqual:"\u227d",SucceedsTilde:"\u227f",succeq:"\u2ab0",succnapprox:"\u2aba",succneqq:"\u2ab6",succnsim:"\u22e9",succsim:"\u227f",SuchThat:"\u220b",Sum:"\u2211",sum:"\u2211",sung:"\u266a",Sup:"\u22d1",sup:"\u2283",sup1:"\xb9",sup2:"\xb2",sup3:"\xb3",supdot:"\u2abe",supdsub:"\u2ad8",supE:"\u2ac6",supe:"\u2287",supedot:"\u2ac4",Superset:"\u2283",SupersetEqual:"\u2287",suphsol:"\u27c9",suphsub:"\u2ad7",suplarr:"\u297b",supmult:"\u2ac2",supnE:"\u2acc",supne:"\u228b",supplus:"\u2ac0",Supset:"\u22d1",supset:"\u2283",supseteq:"\u2287",supseteqq:"\u2ac6",supsetneq:"\u228b",supsetneqq:"\u2acc",supsim:"\u2ac8",supsub:"\u2ad4",supsup:"\u2ad6",swarhk:"\u2926",swArr:"\u21d9",swarr:"\u2199",swarrow:"\u2199",swnwar:"\u292a",szlig:"\xdf",Tab:"\t",target:"\u2316",Tau:"\u03a4",tau:"\u03c4",tbrk:"\u23b4",Tcaron:"\u0164",tcaron:"\u0165",Tcedil:"\u0162",tcedil:"\u0163",Tcy:"\u0422",tcy:"\u0442",tdot:"\u20db",telrec:"\u2315",Tfr:"\u{1d517}",tfr:"\u{1d531}",there4:"\u2234",Therefore:"\u2234",therefore:"\u2234",Theta:"\u0398",theta:"\u03b8",thetasym:"\u03d1",thetav:"\u03d1",thickapprox:"\u2248",thicksim:"\u223c",ThickSpace:"\u205f\u200a",thinsp:"\u2009",ThinSpace:"\u2009",thkap:"\u2248",thksim:"\u223c",THORN:"\xde",thorn:"\xfe",Tilde:"\u223c",tilde:"\u02dc",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",times:"\xd7",timesb:"\u22a0",timesbar:"\u2a31",timesd:"\u2a30",tint:"\u222d",toea:"\u2928",top:"\u22a4",topbot:"\u2336",topcir:"\u2af1",Topf:"\u{1d54b}",topf:"\u{1d565}",topfork:"\u2ada",tosa:"\u2929",tprime:"\u2034",TRADE:"\u2122",trade:"\u2122",triangle:"\u25b5",triangledown:"\u25bf",triangleleft:"\u25c3",trianglelefteq:"\u22b4",triangleq:"\u225c",triangleright:"\u25b9",trianglerighteq:"\u22b5",tridot:"\u25ec",trie:"\u225c",triminus:"\u2a3a",TripleDot:"\u20db",triplus:"\u2a39",trisb:"\u29cd",tritime:"\u2a3b",trpezium:"\u23e2",Tscr:"\u{1d4af}",tscr:"\u{1d4c9}",TScy:"\u0426",tscy:"\u0446",TSHcy:"\u040b",tshcy:"\u045b",Tstrok:"\u0166",tstrok:"\u0167",twixt:"\u226c",twoheadleftarrow:"\u219e",twoheadrightarrow:"\u21a0",Uacute:"\xda",uacute:"\xfa",Uarr:"\u219f",uArr:"\u21d1",uarr:"\u2191",Uarrocir:"\u2949",Ubrcy:"\u040e",ubrcy:"\u045e",Ubreve:"\u016c",ubreve:"\u016d",Ucirc:"\xdb",ucirc:"\xfb",Ucy:"\u0423",ucy:"\u0443",udarr:"\u21c5",Udblac:"\u0170",udblac:"\u0171",udhar:"\u296e",ufisht:"\u297e",Ufr:"\u{1d518}",ufr:"\u{1d532}",Ugrave:"\xd9",ugrave:"\xf9",uHar:"\u2963",uharl:"\u21bf",uharr:"\u21be",uhblk:"\u2580",ulcorn:"\u231c",ulcorner:"\u231c",ulcrop:"\u230f",ultri:"\u25f8",Umacr:"\u016a",umacr:"\u016b",uml:"\xa8",UnderBar:"_",UnderBrace:"\u23df",UnderBracket:"\u23b5",UnderParenthesis:"\u23dd",Union:"\u22c3",UnionPlus:"\u228e",Uogon:"\u0172",uogon:"\u0173",Uopf:"\u{1d54c}",uopf:"\u{1d566}",UpArrow:"\u2191",Uparrow:"\u21d1",uparrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21c5",UpDownArrow:"\u2195",Updownarrow:"\u21d5",updownarrow:"\u2195",UpEquilibrium:"\u296e",upharpoonleft:"\u21bf",upharpoonright:"\u21be",uplus:"\u228e",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",Upsi:"\u03d2",upsi:"\u03c5",upsih:"\u03d2",Upsilon:"\u03a5",upsilon:"\u03c5",UpTee:"\u22a5",UpTeeArrow:"\u21a5",upuparrows:"\u21c8",urcorn:"\u231d",urcorner:"\u231d",urcrop:"\u230e",Uring:"\u016e",uring:"\u016f",urtri:"\u25f9",Uscr:"\u{1d4b0}",uscr:"\u{1d4ca}",utdot:"\u22f0",Utilde:"\u0168",utilde:"\u0169",utri:"\u25b5",utrif:"\u25b4",uuarr:"\u21c8",Uuml:"\xdc",uuml:"\xfc",uwangle:"\u29a7",vangrt:"\u299c",varepsilon:"\u03f5",varkappa:"\u03f0",varnothing:"\u2205",varphi:"\u03d5",varpi:"\u03d6",varpropto:"\u221d",vArr:"\u21d5",varr:"\u2195",varrho:"\u03f1",varsigma:"\u03c2",varsubsetneq:"\u228a\ufe00",varsubsetneqq:"\u2acb\ufe00",varsupsetneq:"\u228b\ufe00",varsupsetneqq:"\u2acc\ufe00",vartheta:"\u03d1",vartriangleleft:"\u22b2",vartriangleright:"\u22b3",Vbar:"\u2aeb",vBar:"\u2ae8",vBarv:"\u2ae9",Vcy:"\u0412",vcy:"\u0432",VDash:"\u22ab",Vdash:"\u22a9",vDash:"\u22a8",vdash:"\u22a2",Vdashl:"\u2ae6",Vee:"\u22c1",vee:"\u2228",veebar:"\u22bb",veeeq:"\u225a",vellip:"\u22ee",Verbar:"\u2016",verbar:"|",Vert:"\u2016",vert:"|",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200a",Vfr:"\u{1d519}",vfr:"\u{1d533}",vltri:"\u22b2",vnsub:"\u2282\u20d2",vnsup:"\u2283\u20d2",Vopf:"\u{1d54d}",vopf:"\u{1d567}",vprop:"\u221d",vrtri:"\u22b3",Vscr:"\u{1d4b1}",vscr:"\u{1d4cb}",vsubnE:"\u2acb\ufe00",vsubne:"\u228a\ufe00",vsupnE:"\u2acc\ufe00",vsupne:"\u228b\ufe00",Vvdash:"\u22aa",vzigzag:"\u299a",Wcirc:"\u0174",wcirc:"\u0175",wedbar:"\u2a5f",Wedge:"\u22c0",wedge:"\u2227",wedgeq:"\u2259",weierp:"\u2118",Wfr:"\u{1d51a}",wfr:"\u{1d534}",Wopf:"\u{1d54e}",wopf:"\u{1d568}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",Wscr:"\u{1d4b2}",wscr:"\u{1d4cc}",xcap:"\u22c2",xcirc:"\u25ef",xcup:"\u22c3",xdtri:"\u25bd",Xfr:"\u{1d51b}",xfr:"\u{1d535}",xhArr:"\u27fa",xharr:"\u27f7",Xi:"\u039e",xi:"\u03be",xlArr:"\u27f8",xlarr:"\u27f5",xmap:"\u27fc",xnis:"\u22fb",xodot:"\u2a00",Xopf:"\u{1d54f}",xopf:"\u{1d569}",xoplus:"\u2a01",xotime:"\u2a02",xrArr:"\u27f9",xrarr:"\u27f6",Xscr:"\u{1d4b3}",xscr:"\u{1d4cd}",xsqcup:"\u2a06",xuplus:"\u2a04",xutri:"\u25b3",xvee:"\u22c1",xwedge:"\u22c0",Yacute:"\xdd",yacute:"\xfd",YAcy:"\u042f",yacy:"\u044f",Ycirc:"\u0176",ycirc:"\u0177",Ycy:"\u042b",ycy:"\u044b",yen:"\xa5",Yfr:"\u{1d51c}",yfr:"\u{1d536}",YIcy:"\u0407",yicy:"\u0457",Yopf:"\u{1d550}",yopf:"\u{1d56a}",Yscr:"\u{1d4b4}",yscr:"\u{1d4ce}",YUcy:"\u042e",yucy:"\u044e",Yuml:"\u0178",yuml:"\xff",Zacute:"\u0179",zacute:"\u017a",Zcaron:"\u017d",zcaron:"\u017e",Zcy:"\u0417",zcy:"\u0437",Zdot:"\u017b",zdot:"\u017c",zeetrf:"\u2128",ZeroWidthSpace:"\u200b",Zeta:"\u0396",zeta:"\u03b6",Zfr:"\u2128",zfr:"\u{1d537}",ZHcy:"\u0416",zhcy:"\u0436",zigrarr:"\u21dd",Zopf:"\u2124",zopf:"\u{1d56b}",Zscr:"\u{1d4b5}",zscr:"\u{1d4cf}",zwj:"\u200d",zwnj:"\u200c"}),e.entityMap=e.HTML_ENTITIES},918(t,e,s){"use strict";function i(t,e){t.prototype=Object.create(Error.prototype,{constructor:{value:t},name:{value:t.name,enumerable:!0,writable:e}})}var n=s(981).freeze({Error:"Error",IndexSizeError:"IndexSizeError",DomstringSizeError:"DomstringSizeError",HierarchyRequestError:"HierarchyRequestError",WrongDocumentError:"WrongDocumentError",InvalidCharacterError:"InvalidCharacterError",NoDataAllowedError:"NoDataAllowedError",NoModificationAllowedError:"NoModificationAllowedError",NotFoundError:"NotFoundError",NotSupportedError:"NotSupportedError",InUseAttributeError:"InUseAttributeError",InvalidStateError:"InvalidStateError",SyntaxError:"SyntaxError",InvalidModificationError:"InvalidModificationError",NamespaceError:"NamespaceError",InvalidAccessError:"InvalidAccessError",ValidationError:"ValidationError",TypeMismatchError:"TypeMismatchError",SecurityError:"SecurityError",NetworkError:"NetworkError",AbortError:"AbortError",URLMismatchError:"URLMismatchError",QuotaExceededError:"QuotaExceededError",TimeoutError:"TimeoutError",InvalidNodeTypeError:"InvalidNodeTypeError",DataCloneError:"DataCloneError",EncodingError:"EncodingError",NotReadableError:"NotReadableError",UnknownError:"UnknownError",ConstraintError:"ConstraintError",DataError:"DataError",TransactionInactiveError:"TransactionInactiveError",ReadOnlyError:"ReadOnlyError",VersionError:"VersionError",OperationError:"OperationError",NotAllowedError:"NotAllowedError",OptOutError:"OptOutError"}),r=Object.keys(n);function o(t){return"number"==typeof t&&t>=1&&t<=25}function a(t,e){var s;o(t)?(this.name=r[t],this.message=e||""):(this.message=t,this.name="string"==typeof(s=e)&&s.substring(s.length-n.Error.length)===n.Error?e:n.Error),Error.captureStackTrace&&Error.captureStackTrace(this,a)}i(a,!0),Object.defineProperties(a.prototype,{code:{enumerable:!0,get:function(){var t=r.indexOf(this.name);return o(t)?t:0}}});for(var l={INDEX_SIZE_ERR:1,DOMSTRING_SIZE_ERR:2,HIERARCHY_REQUEST_ERR:3,WRONG_DOCUMENT_ERR:4,INVALID_CHARACTER_ERR:5,NO_DATA_ALLOWED_ERR:6,NO_MODIFICATION_ALLOWED_ERR:7,NOT_FOUND_ERR:8,NOT_SUPPORTED_ERR:9,INUSE_ATTRIBUTE_ERR:10,INVALID_STATE_ERR:11,SYNTAX_ERR:12,INVALID_MODIFICATION_ERR:13,NAMESPACE_ERR:14,INVALID_ACCESS_ERR:15,VALIDATION_ERR:16,TYPE_MISMATCH_ERR:17,SECURITY_ERR:18,NETWORK_ERR:19,ABORT_ERR:20,URL_MISMATCH_ERR:21,QUOTA_EXCEEDED_ERR:22,TIMEOUT_ERR:23,INVALID_NODE_TYPE_ERR:24,DATA_CLONE_ERR:25},c=Object.entries(l),h=0;h<c.length;h++){a[c[h][0]]=c[h][1]}function d(t,e){this.message=t,this.locator=e,Error.captureStackTrace&&Error.captureStackTrace(this,d)}i(d),e.DOMException=a,e.DOMExceptionName=n,e.ExceptionCode=l,e.ParseError=d},112(t,e){"use strict";function s(t){try{"function"!=typeof t&&(t=RegExp);var e=new t("\u{1d306}","u").exec("\u{1d306}");return!!e&&2===e[0].length}catch(t){}return!1}var i=s();function n(t){if("["!==t.source[0])throw new Error(t+" can not be used with chars");return t.source.slice(1,t.source.lastIndexOf("]"))}function r(t,e){if("["!==t.source[0])throw new Error("/"+t.source+"/ can not be used with chars_without");if(!e||"string"!=typeof e)throw new Error(JSON.stringify(e)+" is not a valid search");if(-1===t.source.indexOf(e))throw new Error('"'+e+'" is not is /'+t.source+"/");if("-"===e&&1!==t.source.indexOf(e))throw new Error('"'+e+'" is not at the first postion of /'+t.source+"/");return new RegExp(t.source.replace(e,""),i?"u":"")}function o(t){var e=this;return new RegExp(Array.prototype.slice.call(arguments).map(function(t){var s="string"==typeof t;if(s&&void 0===e&&"|"===t)throw new Error("use regg instead of reg to wrap expressions with `|`!");return s?t:t.source}).join(""),i?"mu":"m")}function a(t){if(0===arguments.length)throw new Error("no parameters provided");return o.apply(a,["(?:"].concat(Array.prototype.slice.call(arguments),[")"]))}var l=/[-\x09\x0A\x0D\x20-\x2C\x2E-\uD7FF\uE000-\uFFFD]/;i&&(l=o("[",n(l),"\\u{10000}-\\u{10FFFF}","]"));var c=new RegExp("[^"+n(l)+"]",i?"u":""),h=/[\x20\x09\x0D\x0A]/,d=n(h),u=o(h,"+"),p=o(h,"*"),m=/[:_a-zA-Z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/;i&&(m=o("[",n(m),"\\u{10000}-\\u{10FFFF}","]"));var g=o("[",n(m),n(/[-.0-9\xB7]/),n(/[\u0300-\u036F\u203F-\u2040]/),"]"),f=o(m,g,"*"),b=o(g,"+"),E=o("&",f,";"),y=a(/&#[0-9]+;|&#x[0-9a-fA-F]+;/),x=a(E,"|",y),N=o("%",f,";"),v=a(o('"',a(/[^%&"]/,"|",N,"|",x),"*",'"'),"|",o("'",a(/[^%&']/,"|",N,"|",x),"*","'")),T=a('"',a(/[^<&"]/,"|",x),"*",'"',"|","'",a(/[^<&']/,"|",x),"*","'"),C=o(r(m,":"),r(g,":"),"*"),A=o(C,a(":",C),"?"),L=o("^",A,"$"),S=o("(",A,")"),R=a(/"[^"]*"|'[^']*'/),I=o(/^<\?/,"(",f,")",a(u,"(",l,"*?)"),"?",/\?>/),w=/[\x20\x0D\x0Aa-zA-Z0-9-'()+,./:=?;!*#@$_%]/,M=a('"',w,'*"',"|","'",r(w,"'"),"*'"),O="\x3c!--",k=o(O,a(r(l,"-"),"|",o("-",r(l,"-"))),"*","--\x3e"),D="#PCDATA",P=a(o(/\(/,p,D,a(p,/\|/,p,A),"*",p,/\)\*/),"|",o(/\(/,p,D,p,/\)/)),B=a("EMPTY","|","ANY","|",P,"|",o(/\([^>]+\)/,/[?*+]?/)),F=o("<!ELEMENT",u,a(A,"|",N),u,a(B,"|",N),p,">"),j=o("NOTATION",u,/\(/,p,f,a(p,/\|/,p,f),"*",p,/\)/),_=o(/\(/,p,b,a(p,/\|/,p,b),"*",p,/\)/),U=a(j,"|",_),H=a(/CDATA|ID|IDREF|IDREFS|ENTITY|ENTITIES|NMTOKEN|NMTOKENS/,"|",U),W=a(/#REQUIRED|#IMPLIED/,"|",a(a("#FIXED",u),"?",T)),q=o("<!ATTLIST",u,f,a(u,f,u,H,u,W),"*",p,">"),V="about:legacy-compat",G=a('"'+V+'"',"|","'"+V+"'"),X="SYSTEM",z="PUBLIC",K=a(a(X,u,R),"|",a(z,u,M,u,R)),$=o("^",a(a(X,u,"(?<SystemLiteralOnly>",R,")"),"|",a(z,u,"(?<PubidLiteral>",M,")",u,"(?<SystemLiteral>",R,")"))),J=o("^",M,"$"),Y=o("^",R,"$"),Q=a(u,"NDATA",u,f),Z="<!ENTITY",tt=o(Z,u,f,u,a(v,"|",a(K,Q,"?")),p,">"),et=a(v,"|",K),st=a(tt,"|",o(Z,u,"%",u,f,u,et,p,">")),it=o(z,u,M),nt=o("<!NOTATION",u,f,u,a(K,"|",it),p,">"),rt=o(p,"=",p),ot=/1[.]\d+/,at=o(u,"version",rt,a("'",ot,"'","|",'"',ot,'"')),lt=/[A-Za-z][-A-Za-z0-9._]*/,ct=o(/^<\?xml/,at,a(u,"encoding",rt,a('"',lt,'"',"|","'",lt,"'")),"?",a(u,"standalone",rt,a("'",a("yes","|","no"),"'","|",'"',a("yes","|","no"),'"')),"?",p,/\?>/),ht=o(l,"*?",/\]\]>/),dt=o(/<!\[CDATA\[/,ht);e.chars=n,e.chars_without=r,e.detectUnicodeSupport=s,e.reg=o,e.regg=a,e.ABOUT_LEGACY_COMPAT=V,e.ABOUT_LEGACY_COMPAT_SystemLiteral=G,e.AttlistDecl=q,e.CDATA_START="<![CDATA[",e.CDATA_END="]]>",e.CDSect=dt,e.Char=l,e.Comment=k,e.COMMENT_START=O,e.COMMENT_END="--\x3e",e.DOCTYPE_DECL_START="<!DOCTYPE",e.elementdecl=F,e.EntityDecl=st,e.EntityValue=v,e.ExternalID=K,e.ExternalID_match=$,e.Name=f,e.NotationDecl=nt,e.Reference=x,e.PEReference=N,e.PI=I,e.PUBLIC=z,e.PubidLiteral=M,e.PubidLiteral_match=J,e.QName=A,e.QName_exact=L,e.QName_group=S,e.S=u,e.SChar_s=d,e.S_OPT=p,e.SYSTEM=X,e.SystemLiteral=R,e.SystemLiteral_match=Y,e.InvalidChar=c,e.UNICODE_REPLACEMENT_CHARACTER="\ufffd",e.UNICODE_SUPPORT=i,e.XMLDecl=ct},841(t,e,s){"use strict";var i=s(981);e.assign=i.assign,e.hasDefaultHTMLNamespace=i.hasDefaultHTMLNamespace,e.isHTMLMimeType=i.isHTMLMimeType,e.isValidMimeType=i.isValidMimeType,e.MIME_TYPE=i.MIME_TYPE,e.NAMESPACE=i.NAMESPACE;var n=s(918);e.DOMException=n.DOMException,e.DOMExceptionName=n.DOMExceptionName,e.ExceptionCode=n.ExceptionCode,e.ParseError=n.ParseError;var r=s(553);e.Attr=r.Attr,e.CDATASection=r.CDATASection,e.CharacterData=r.CharacterData,e.Comment=r.Comment,e.Document=r.Document,e.DocumentFragment=r.DocumentFragment,e.DocumentType=r.DocumentType,e.DOMImplementation=r.DOMImplementation,e.Element=r.Element,e.Entity=r.Entity,e.EntityReference=r.EntityReference,e.LiveNodeList=r.LiveNodeList,e.NamedNodeMap=r.NamedNodeMap,e.Node=r.Node,e.NodeList=r.NodeList,e.Notation=r.Notation,e.ProcessingInstruction=r.ProcessingInstruction,e.Text=r.Text,e.XMLSerializer=r.XMLSerializer;var o=s(985);e.DOMParser=o.DOMParser,e.normalizeLineEndings=o.normalizeLineEndings,e.onErrorStopParsing=o.onErrorStopParsing,e.onWarningStopParsing=o.onWarningStopParsing},309(t,e,s){"use strict";var i=s(981),n=s(112),r=s(918),o=i.isHTMLEscapableRawTextElement,a=i.isHTMLMimeType,l=i.isHTMLRawTextElement,c=i.hasOwn,h=i.NAMESPACE,d=r.ParseError,u=r.DOMException;function p(){}p.prototype={parse:function(t,e,s){var r=this.domBuilder;r.startDocument(),y(e,e=Object.create(null)),function(t,e,s,r,o){var l=a(r.mimeType);t.indexOf(n.UNICODE_REPLACEMENT_CHARACTER)>=0&&o.warning("Unicode replacement character detected, source encoding issues?");function h(t){if(t>65535){var e=55296+((t-=65536)>>10),s=56320+(1023&t);return String.fromCharCode(e,s)}return String.fromCharCode(t)}function p(t){var e=";"===t[t.length-1]?t:t+";";if(!l&&e!==t)return o.error("EntityRef: expecting ;"),t;var i=n.Reference.exec(e);if(!i||i[0].length!==e.length)return o.error("entity not matching Reference production: "+t),t;var r=e.slice(1,-1);return c(s,r)?s[r]:"#"===r.charAt(0)?h(parseInt(r.substring(1).replace("x","0x"))):(o.error("entity not found:"+t),t)}function y(e){if(e>w){var s=t.substring(w,e).replace(m,p);L&&S(w),r.characters(s,0,e-w),w=e}}var x=0,C=0,A=/\r\n?|\n|$/g,L=r.locator;function S(e,s){for(;e>=C&&(s=A.exec(t));)x=C,C=s.index+s[0].length,L.lineNumber++;L.columnNumber=e-x+1}var R=[{currentNSMap:e}],I=[],w=0;for(;;){try{var M=t.indexOf("<",w);if(M<0){if(!l&&I.length>0)return o.fatalError("unclosed xml tag(s): "+I.join(", "));if(!t.substring(w).match(/^\s*$/)){var O=r.doc,k=O.createTextNode(t.substring(w));if(O.documentElement)return o.error("Extra content at the end of the document");O.appendChild(k),r.currentElement=k}return}if(M>w){var D=t.substring(w,M);l||0!==I.length||(D=D.replace(new RegExp(n.S_OPT.source,"g"),""))&&o.error("Unexpected content outside root element: '"+D+"'"),y(M)}switch(t.charAt(M+1)){case"/":var P=t.indexOf(">",M+2),B=t.substring(M+2,P>0?P:void 0);if(!B)return o.fatalError("end tag name missing");var F=P>0&&n.reg("^",n.QName_group,n.S_OPT,"$").exec(B);if(!F)return o.fatalError('end tag name contains invalid characters: "'+B+'"');if(!r.currentElement&&!r.doc.documentElement)return;var j=I[I.length-1]||r.currentElement.tagName||r.doc.documentElement.tagName||"";if(j!==F[1]){var _=F[1].toLowerCase();if(!l||j.toLowerCase()!==_)return o.fatalError('Opening and ending tag mismatch: "'+j+'" != "'+B+'"')}var U=R.pop();I.pop();var H=U.localNSMap;if(r.endElement(U.uri,U.localName,j),H)for(var W in H)c(H,W)&&r.endPrefixMapping(W);P++;break;case"?":L&&S(M),P=v(t,M,r,o);break;case"!":L&&S(M),P=N(t,M,r,o,l);break;default:L&&S(M);var q=new T,V=R[R.length-1].currentNSMap,G=(P=f(t,M,q,V,p,o,l),q.length);if(q.closed||(l&&i.isHTMLVoidElement(q.tagName)?q.closed=!0:I.push(q.tagName)),L&&G){for(var X=g(L,{}),z=0;z<G;z++){var K=q[z];S(K.offset),K.locator=g(L,{})}r.locator=X,b(q,r,V)&&R.push(q),r.locator=L}else b(q,r,V)&&R.push(q);l&&!q.closed?P=E(t,P,q.tagName,p,r):P++}}catch(t){if(t instanceof d)throw t;if(t instanceof u)throw new d(t.name+": "+t.message,r.locator,t);o.error("element parse error: "+t),P=-1}P>w?w=P:y(Math.max(M,w)+1)}}(t,e,s,r,this.errorHandler),r.endDocument()}};var m=/&#?\w+;?/g;function g(t,e){return e.lineNumber=t.lineNumber,e.columnNumber=t.columnNumber,e}function f(t,e,s,i,n,r,o){function a(t,e,i){return c(s.attributeNames,t)?r.fatalError("Attribute "+t+" redefined"):!o&&e.indexOf("<")>=0?r.fatalError("Unescaped '<' not allowed in attributes values"):void s.addValue(t,e.replace(/[\t\n\r]/g," ").replace(m,n),i)}for(var l,h=++e,d=0;;){var u=t.charAt(h);switch(u){case"=":if(1===d)l=t.slice(e,h),d=3;else{if(2!==d)throw new Error("attribute equal must after attrName");d=3}break;case"'":case'"':if(3===d||1===d){if(1===d&&(r.warning('attribute value must after "="'),l=t.slice(e,h)),e=h+1,!((h=t.indexOf(u,e))>0))throw new Error("attribute value no end '"+u+"' match");a(l,p=t.slice(e,h),e-1),d=5}else{if(4!=d)throw new Error('attribute value must after "="');a(l,p=t.slice(e,h),e),r.warning('attribute "'+l+'" missed start quot('+u+")!!"),e=h+1,d=5}break;case"/":switch(d){case 0:s.setTagName(t.slice(e,h));case 5:case 6:case 7:d=7,s.closed=!0;case 4:case 1:break;case 2:s.closed=!0;break;default:throw new Error("attribute invalid close char('/')")}break;case"":return r.error("unexpected end of input"),0==d&&s.setTagName(t.slice(e,h)),h;case">":switch(d){case 0:s.setTagName(t.slice(e,h));case 5:case 6:case 7:break;case 4:case 1:"/"===(p=t.slice(e,h)).slice(-1)&&(s.closed=!0,p=p.slice(0,-1));case 2:2===d&&(p=l),4==d?(r.warning('attribute "'+p+'" missed quot(")!'),a(l,p,e)):(o||r.warning('attribute "'+p+'" missed value!! "'+p+'" instead!!'),a(p,p,e));break;case 3:if(!o)return r.fatalError("AttValue: ' or \" expected")}return h;case"\x80":u=" ";default:if(u<=" ")switch(d){case 0:s.setTagName(t.slice(e,h)),d=6;break;case 1:l=t.slice(e,h),d=2;break;case 4:var p=t.slice(e,h);r.warning('attribute "'+p+'" missed quot(")!!'),a(l,p,e);case 5:d=6}else switch(d){case 2:o||r.warning('attribute "'+l+'" missed value!! "'+l+'" instead2!!'),a(l,l,e),e=h,d=1;break;case 5:r.warning('attribute space is required"'+l+'"!!');case 6:d=1,e=h;break;case 3:d=4,e=h;break;case 7:throw new Error("elements closed character '/' and '>' must be connected to")}}h++}}function b(t,e,s){for(var i=t.tagName,n=null,r=t.length;r--;){var o=t[r],a=o.qName,l=o.value;if((m=a.indexOf(":"))>0)var d=o.prefix=a.slice(0,m),u=a.slice(m+1),p="xmlns"===d&&u;else u=a,d=null,p="xmlns"===a&&"";o.localName=u,!1!==p&&(null==n&&(n=Object.create(null),y(s,s=Object.create(null))),s[p]=n[p]=l,o.uri=h.XMLNS,e.startPrefixMapping(p,l))}for(r=t.length;r--;)(o=t[r]).prefix&&("xml"===o.prefix&&(o.uri=h.XML),"xmlns"!==o.prefix&&(o.uri=s[o.prefix]));var m;(m=i.indexOf(":"))>0?(d=t.prefix=i.slice(0,m),u=t.localName=i.slice(m+1)):(d=null,u=t.localName=i);var g=t.uri=s[d||""];if(e.startElement(g,u,i,t),!t.closed)return t.currentNSMap=s,t.localNSMap=n,!0;if(e.endElement(g,u,i),n)for(d in n)c(n,d)&&e.endPrefixMapping(d)}function E(t,e,s,i,n){var r=o(s);if(r||l(s)){var a=t.indexOf("</"+s+">",e),c=t.substring(e+1,a);return r&&(c=c.replace(m,i)),n.characters(c,0,c.length),a}return e+1}function y(t,e){for(var s in t)c(t,s)&&(e[s]=t[s])}function x(t,e){var s=e;function i(e){return e=e||0,t.charAt(s+e)}function r(t){s+=t=t||1}function o(){return t.substring(s)}return{char:i,getIndex:function(){return s},getMatch:function(t){var e=n.reg("^",t).exec(o());return e?(r(e[0].length),e[0]):null},getSource:function(){return t},skip:r,skipBlanks:function(){for(var e=0;s<t.length;){var n=i();if(" "!==n&&"\n"!==n&&"\t"!==n&&"\r"!==n)return e;e++,r()}return-1},substringFromIndex:o,substringStartsWith:function(e){return t.substring(s,s+e.length)===e},substringStartsWithCaseInsensitive:function(e){return t.substring(s,s+e.length).toUpperCase()===e.toUpperCase()}}}function N(t,e,s,i,r){var o=x(t,e);switch(r?o.char(2).toUpperCase():o.char(2)){case"-":var a=o.getMatch(n.Comment);return a?(s.comment(a,n.COMMENT_START.length,a.length-n.COMMENT_START.length-n.COMMENT_END.length),o.getIndex()):i.fatalError("comment is not well-formed at position "+o.getIndex());case"[":var l=o.getMatch(n.CDSect);return l?r||s.currentElement?(s.startCDATA(),s.characters(l,n.CDATA_START.length,l.length-n.CDATA_START.length-n.CDATA_END.length),s.endCDATA(),o.getIndex()):i.fatalError("CDATA outside of element"):i.fatalError("Invalid CDATA starting at position "+e);case"D":if(s.doc&&s.doc.documentElement)return i.fatalError("Doctype not allowed inside or after documentElement at position "+o.getIndex());if(r?!o.substringStartsWithCaseInsensitive(n.DOCTYPE_DECL_START):!o.substringStartsWith(n.DOCTYPE_DECL_START))return i.fatalError("Expected "+n.DOCTYPE_DECL_START+" at position "+o.getIndex());if(o.skip(n.DOCTYPE_DECL_START.length),o.skipBlanks()<1)return i.fatalError("Expected whitespace after "+n.DOCTYPE_DECL_START+" at position "+o.getIndex());var c={name:void 0,publicId:void 0,systemId:void 0,internalSubset:void 0};if(c.name=o.getMatch(n.Name),!c.name)return i.fatalError("doctype name missing or contains unexpected characters at position "+o.getIndex());if(r&&"html"!==c.name.toLowerCase()&&i.warning("Unexpected DOCTYPE in HTML document at position "+o.getIndex()),o.skipBlanks(),o.substringStartsWith(n.PUBLIC)||o.substringStartsWith(n.SYSTEM)){var h=n.ExternalID_match.exec(o.substringFromIndex());if(!h)return i.fatalError("doctype external id is not well-formed at position "+o.getIndex());void 0!==h.groups.SystemLiteralOnly?c.systemId=h.groups.SystemLiteralOnly:(c.systemId=h.groups.SystemLiteral,c.publicId=h.groups.PubidLiteral),o.skip(h[0].length)}else if(r&&o.substringStartsWithCaseInsensitive(n.SYSTEM)){if(o.skip(n.SYSTEM.length),o.skipBlanks()<1)return i.fatalError("Expected whitespace after "+n.SYSTEM+" at position "+o.getIndex());if(c.systemId=o.getMatch(n.ABOUT_LEGACY_COMPAT_SystemLiteral),!c.systemId)return i.fatalError("Expected "+n.ABOUT_LEGACY_COMPAT+" in single or double quotes after "+n.SYSTEM+" at position "+o.getIndex())}return r&&c.systemId&&!n.ABOUT_LEGACY_COMPAT_SystemLiteral.test(c.systemId)&&i.warning("Unexpected doctype.systemId in HTML document at position "+o.getIndex()),r||(o.skipBlanks(),c.internalSubset=function(t,e){function s(t,e){var s=n.PI.exec(t.substringFromIndex());return s?"xml"===s[1].toLowerCase()?e.fatalError("xml declaration is only allowed at the start of the document, but found at position "+t.getIndex()):(t.skip(s[0].length),s[0]):e.fatalError("processing instruction is not well-formed at position "+t.getIndex())}var i=t.getSource();if("["===t.char()){t.skip(1);for(var r=t.getIndex();t.getIndex()<i.length;){if(t.skipBlanks(),"]"===t.char()){var o=i.substring(r,t.getIndex());return t.skip(1),o}var a=null;if("<"===t.char()&&"!"===t.char(1))switch(t.char(2)){case"E":"L"===t.char(3)?a=t.getMatch(n.elementdecl):"N"===t.char(3)&&(a=t.getMatch(n.EntityDecl));break;case"A":a=t.getMatch(n.AttlistDecl);break;case"N":a=t.getMatch(n.NotationDecl);break;case"-":a=t.getMatch(n.Comment)}else if("<"===t.char()&&"?"===t.char(1))a=s(t,e);else{if("%"!==t.char())return e.fatalError("Error detected in Markup declaration");a=t.getMatch(n.PEReference)}if(!a)return e.fatalError("Error in internal subset at position "+t.getIndex())}return e.fatalError("doctype internal subset is not well-formed, missing ]")}}(o,i)),o.skipBlanks(),">"!==o.char()?i.fatalError("doctype not terminated with > at position "+o.getIndex()):(o.skip(1),s.startDTD(c.name,c.publicId,c.systemId,c.internalSubset),s.endDTD(),o.getIndex());default:return i.fatalError('Not well-formed XML starting with "<!" at position '+e)}}function v(t,e,s,i){var r=t.substring(e).match(n.PI);if(!r)return i.fatalError("Invalid processing instruction starting at position "+e);if("xml"===r[1].toLowerCase()){if(e>0)return i.fatalError("processing instruction at position "+e+" is an xml declaration which is only at the start of the document");if(!n.XMLDecl.test(t.substring(e)))return i.fatalError("xml declaration is not well-formed")}return s.processingInstruction(r[1],r[2]),e+r[0].length}function T(){this.attributeNames=Object.create(null)}T.prototype={setTagName:function(t){if(!n.QName_exact.test(t))throw new Error("invalid tagName:"+t);this.tagName=t},addValue:function(t,e,s){if(!n.QName_exact.test(t))throw new Error("invalid attribute:"+t);this.attributeNames[t]=this.length,this[this.length++]={qName:t,value:e,offset:s}},length:0,getLocalName:function(t){return this[t].localName},getLocator:function(t){return this[t].locator},getQName:function(t){return this[t].qName},getURI:function(t){return this[t].uri},getValue:function(t){return this[t].value}},e.XMLReader=p,e.parseUtils=x,e.parseDoctypeCommentOrCData=N},999(t,e,s){(function(){"use strict";var e=this;function s(t){return"string"==typeof t}function i(t,e,s){return t.call.apply(t.bind,arguments)}function n(t,e,s){if(!t)throw Error();if(2<arguments.length){var i=Array.prototype.slice.call(arguments,2);return function(){var s=Array.prototype.slice.call(arguments);return Array.prototype.unshift.apply(s,i),t.apply(e,s)}}return function(){return t.apply(e,arguments)}}function r(t,e,s){return(r=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?i:n).apply(null,arguments)}function o(t){var e=ot;function s(){}s.prototype=e.prototype,t.G=e.prototype,t.prototype=new s,t.prototype.constructor=t,t.F=function(t,s,i){for(var n=Array(arguments.length-2),r=2;r<arguments.length;r++)n[r-2]=arguments[r];return e.prototype[s].apply(t,n)}}var a=String.prototype.trim?function(t){return t.trim()}:function(t){return t.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")};function l(t,e){return-1!=t.indexOf(e)}function c(t,e){return t<e?-1:t>e?1:0}var h,d=Array.prototype.indexOf?function(t,e,s){return Array.prototype.indexOf.call(t,e,s)}:function(t,e,i){if(i=null==i?0:0>i?Math.max(0,t.length+i):i,s(t))return s(e)&&1==e.length?t.indexOf(e,i):-1;for(;i<t.length;i++)if(i in t&&t[i]===e)return i;return-1},u=Array.prototype.forEach?function(t,e,s){Array.prototype.forEach.call(t,e,s)}:function(t,e,i){for(var n=t.length,r=s(t)?t.split(""):t,o=0;o<n;o++)o in r&&e.call(i,r[o],o,t)},p=Array.prototype.filter?function(t,e,s){return Array.prototype.filter.call(t,e,s)}:function(t,e,i){for(var n=t.length,r=[],o=0,a=s(t)?t.split(""):t,l=0;l<n;l++)if(l in a){var c=a[l];e.call(i,c,l,t)&&(r[o++]=c)}return r},m=Array.prototype.reduce?function(t,e,s,i){return i&&(e=r(e,i)),Array.prototype.reduce.call(t,e,s)}:function(t,e,s,i){var n=s;return u(t,function(s,r){n=e.call(i,n,s,r,t)}),n},g=Array.prototype.some?function(t,e,s){return Array.prototype.some.call(t,e,s)}:function(t,e,i){for(var n=t.length,r=s(t)?t.split(""):t,o=0;o<n;o++)if(o in r&&e.call(i,r[o],o,t))return!0;return!1};t:{var f=e.navigator;if(f){var b=f.userAgent;if(b){h=b;break t}}h=""}var E,y,x=l(h,"Opera")||l(h,"OPR"),N=l(h,"Trident")||l(h,"MSIE"),v=l(h,"Edge"),T=l(h,"Gecko")&&!(l(h.toLowerCase(),"webkit")&&!l(h,"Edge"))&&!(l(h,"Trident")||l(h,"MSIE"))&&!l(h,"Edge"),C=l(h.toLowerCase(),"webkit")&&!l(h,"Edge");function A(){var t=e.document;return t?t.documentMode:void 0}t:{var L="",S=(y=h,T?/rv\:([^\);]+)(\)|;)/.exec(y):v?/Edge\/([\d\.]+)/.exec(y):N?/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(y):C?/WebKit\/(\S+)/.exec(y):x?/(?:Version)[ \/]?(\S+)/.exec(y):void 0);if(S&&(L=S?S[1]:""),N){var R=A();if(null!=R&&R>parseFloat(L)){E=String(R);break t}}E=L}var I={};function w(t){if(!I[t]){for(var e=0,s=a(String(E)).split("."),i=a(String(t)).split("."),n=Math.max(s.length,i.length),r=0;0==e&&r<n;r++){var o=s[r]||"",l=i[r]||"",h=/(\d*)(\D*)/g,d=/(\d*)(\D*)/g;do{var u=h.exec(o)||["","",""],p=d.exec(l)||["","",""];if(0==u[0].length&&0==p[0].length)break;e=c(0==u[1].length?0:parseInt(u[1],10),0==p[1].length?0:parseInt(p[1],10))||c(0==u[2].length,0==p[2].length)||c(u[2],p[2])}while(0==e)}I[t]=0<=e}}var M=e.document,O=M&&N?A()||("CSS1Compat"==M.compatMode?parseInt(E,10):5):void 0,k=N&&!(9<=Number(O)),D=N&&!(8<=Number(O));function P(t,e,s,i){this.a=t,this.nodeName=s,this.nodeValue=i,this.nodeType=2,this.parentNode=this.ownerElement=e}function B(t,e){var s=D&&"href"==e.nodeName?t.getAttribute(e.nodeName,2):e.nodeValue;return new P(e,t,e.nodeName,s)}function F(t){var e=null;if(1==(s=t.nodeType)&&(e=null==(e=null==(e=t.textContent)||null==e?t.innerText:e)||null==e?"":e),"string"!=typeof e)if(k&&"title"==t.nodeName.toLowerCase()&&1==s)e=t.text;else if(9==s||1==s){t=9==s?t.documentElement:t.firstChild;var s=0,i=[];for(e="";t;){do{1!=t.nodeType&&(e+=t.nodeValue),k&&"title"==t.nodeName.toLowerCase()&&(e+=t.text),i[s++]=t}while(t=t.firstChild);for(;s&&!(t=i[--s].nextSibling););}}else e=t.nodeValue;return""+e}function j(t,e,s){if(null===e)return!0;try{if(!t.getAttribute)return!1}catch(t){return!1}return D&&"class"==e&&(e="className"),null==s?!!t.getAttribute(e):t.getAttribute(e,2)==s}function _(t,e,i,n,r){return(k?U:H).call(null,t,e,s(i)?i:null,s(n)?n:null,r||new J)}function U(t,e,s,i,n){if(t instanceof Dt||8==t.b||s&&null===t.b){var r=e.all;if(!r)return n;if("*"!=(t=G(t))&&!(r=e.getElementsByTagName(t)))return n;if(s){for(var o=[],a=0;e=r[a++];)j(e,s,i)&&o.push(e);r=o}for(a=0;e=r[a++];)"*"==t&&"!"==e.tagName||tt(n,e);return n}return V(t,e,s,i,n),n}function H(t,e,s,i,n){return e.getElementsByName&&i&&"name"==s&&!N?(e=e.getElementsByName(i),u(e,function(e){t.a(e)&&tt(n,e)})):e.getElementsByClassName&&i&&"class"==s?(e=e.getElementsByClassName(i),u(e,function(e){e.className==i&&t.a(e)&&tt(n,e)})):t instanceof At?V(t,e,s,i,n):e.getElementsByTagName&&(e=e.getElementsByTagName(t.f()),u(e,function(t){j(t,s,i)&&tt(n,t)})),n}function W(t,e,s,i,n){var r;if((t instanceof Dt||8==t.b||s&&null===t.b)&&(r=e.childNodes)){var o=G(t);return"*"==o||(r=p(r,function(t){return t.tagName&&t.tagName.toLowerCase()==o}),r)?(s&&(r=p(r,function(t){return j(t,s,i)})),u(r,function(t){"*"==o&&("!"==t.tagName||"*"==o&&1!=t.nodeType)||tt(n,t)}),n):n}return q(t,e,s,i,n)}function q(t,e,s,i,n){for(e=e.firstChild;e;e=e.nextSibling)j(e,s,i)&&t.a(e)&&tt(n,e);return n}function V(t,e,s,i,n){for(e=e.firstChild;e;e=e.nextSibling)j(e,s,i)&&t.a(e)&&tt(n,e),V(t,e,s,i,n)}function G(t){if(t instanceof At){if(8==t.b)return"!";if(null===t.b)return"*"}return t.f()}function X(t,e){if(!t||!e)return!1;if(t.contains&&1==e.nodeType)return t==e||t.contains(e);if(void 0!==t.compareDocumentPosition)return t==e||!!(16&t.compareDocumentPosition(e));for(;e&&t!=e;)e=e.parentNode;return e==t}function z(t,s){if(t==s)return 0;if(t.compareDocumentPosition)return 2&t.compareDocumentPosition(s)?1:-1;if(N&&!(9<=Number(O))){if(9==t.nodeType)return-1;if(9==s.nodeType)return 1}if("sourceIndex"in t||t.parentNode&&"sourceIndex"in t.parentNode){var i=1==t.nodeType,n=1==s.nodeType;if(i&&n)return t.sourceIndex-s.sourceIndex;var r=t.parentNode,o=s.parentNode;return r==o?$(t,s):!i&&X(r,s)?-1*K(t,s):!n&&X(o,t)?K(s,t):(i?t.sourceIndex:r.sourceIndex)-(n?s.sourceIndex:o.sourceIndex)}return(i=(n=9==t.nodeType?t:t.ownerDocument||t.document).createRange()).selectNode(t),i.collapse(!0),(n=n.createRange()).selectNode(s),n.collapse(!0),i.compareBoundaryPoints(e.Range.START_TO_END,n)}function K(t,e){var s=t.parentNode;if(s==e)return-1;for(var i=e;i.parentNode!=s;)i=i.parentNode;return $(i,t)}function $(t,e){for(var s=e;s=s.previousSibling;)if(s==t)return-1;return 1}function J(){this.b=this.a=null,this.l=0}function Y(t){this.node=t,this.a=this.b=null}function Q(t,e){if(!t.a)return e;if(!e.a)return t;for(var s=t.a,i=e.a,n=null,r=null,o=0;s&&i;){r=s.node;var a=i.node;r==a||r instanceof P&&a instanceof P&&r.a==a.a?(r=s,s=s.a,i=i.a):0<z(s.node,i.node)?(r=i,i=i.a):(r=s,s=s.a),(r.b=n)?n.a=r:t.a=r,n=r,o++}for(r=s||i;r;)r.b=n,n=n.a=r,o++,r=r.a;return t.b=n,t.l=o,t}function Z(t,e){var s=new Y(e);s.a=t.a,t.b?t.a.b=s:t.a=t.b=s,t.a=s,t.l++}function tt(t,e){var s=new Y(e);s.b=t.b,t.a?t.b.a=s:t.a=t.b=s,t.b=s,t.l++}function et(t){return(t=t.a)?t.node:null}function st(t){return(t=et(t))?F(t):""}function it(t,e){return new nt(t,!!e)}function nt(t,e){this.f=t,this.b=(this.c=e)?t.b:t.a,this.a=null}function rt(t){var e=t.b;if(null==e)return null;var s=t.a=e;return t.b=t.c?e.b:e.a,s.node}function ot(t){this.i=t,this.b=this.g=!1,this.f=null}function at(t){return"\n "+t.toString().split("\n").join("\n ")}function lt(t,e){t.g=e}function ct(t,e){t.b=e}function ht(t,e){var s=t.a(e);return s instanceof J?+st(s):+s}function dt(t,e){var s=t.a(e);return s instanceof J?st(s):""+s}function ut(t,e){var s=t.a(e);return s instanceof J?!!s.l:!!s}function pt(t,e,s){ot.call(this,t.i),this.c=t,this.h=e,this.o=s,this.g=e.g||s.g,this.b=e.b||s.b,this.c==Et&&(s.b||s.g||4==s.i||0==s.i||!e.f?e.b||e.g||4==e.i||0==e.i||!s.f||(this.f={name:s.f.name,s:e}):this.f={name:e.f.name,s})}function mt(t,e,s,i,n){var r;if(e=e.a(i),s=s.a(i),e instanceof J&&s instanceof J){for(i=rt(e=it(e));i;i=rt(e))for(r=rt(n=it(s));r;r=rt(n))if(t(F(i),F(r)))return!0;return!1}if(e instanceof J||s instanceof J){e instanceof J?(n=e,i=s):(n=s,i=e);for(var o=typeof i,a=rt(r=it(n));a;a=rt(r)){switch(o){case"number":a=+F(a);break;case"boolean":a=!!F(a);break;case"string":a=F(a);break;default:throw Error("Illegal primitive type for comparison.")}if(n==e&&t(a,i)||n==s&&t(i,a))return!0}return!1}return n?"boolean"==typeof e||"boolean"==typeof s?t(!!e,!!s):"number"==typeof e||"number"==typeof s?t(+e,+s):t(e,s):t(+e,+s)}function gt(t,e,s,i){this.a=t,this.w=e,this.i=s,this.m=i}!T&&!N||N&&9<=Number(O)||T&&w("1.9.1"),N&&w("9"),o(pt),pt.prototype.a=function(t){return this.c.m(this.h,this.o,t)},pt.prototype.toString=function(){return"Binary Expression: "+this.c+at(this.h)+at(this.o)},gt.prototype.toString=function(){return this.a};var ft={};function bt(t,e,s,i){if(ft.hasOwnProperty(t))throw Error("Binary operator already created: "+t);return t=new gt(t,e,s,i),ft[t.toString()]=t}bt("div",6,1,function(t,e,s){return ht(t,s)/ht(e,s)}),bt("mod",6,1,function(t,e,s){return ht(t,s)%ht(e,s)}),bt("*",6,1,function(t,e,s){return ht(t,s)*ht(e,s)}),bt("+",5,1,function(t,e,s){return ht(t,s)+ht(e,s)}),bt("-",5,1,function(t,e,s){return ht(t,s)-ht(e,s)}),bt("<",4,2,function(t,e,s){return mt(function(t,e){return t<e},t,e,s)}),bt(">",4,2,function(t,e,s){return mt(function(t,e){return t>e},t,e,s)}),bt("<=",4,2,function(t,e,s){return mt(function(t,e){return t<=e},t,e,s)}),bt(">=",4,2,function(t,e,s){return mt(function(t,e){return t>=e},t,e,s)});var Et=bt("=",3,2,function(t,e,s){return mt(function(t,e){return t==e},t,e,s,!0)});function yt(t,e,s){this.a=t,this.b=e||1,this.f=s||1}function xt(t,e){if(e.a.length&&4!=t.i)throw Error("Primary expression must evaluate to nodeset if filter has predicate(s).");ot.call(this,t.i),this.c=t,this.h=e,this.g=t.g,this.b=t.b}function Nt(t,e){if(e.length<t.A)throw Error("Function "+t.j+" expects at least"+t.A+" arguments, "+e.length+" given");if(null!==t.v&&e.length>t.v)throw Error("Function "+t.j+" expects at most "+t.v+" arguments, "+e.length+" given");t.B&&u(e,function(e,s){if(4!=e.i)throw Error("Argument "+s+" to function "+t.j+" is not of type Nodeset: "+e)}),ot.call(this,t.i),this.h=t,this.c=e,lt(this,t.g||g(e,function(t){return t.g})),ct(this,t.D&&!e.length||t.C&&!!e.length||g(e,function(t){return t.b}))}function vt(t,e,s,i,n,r,o,a,l){this.j=t,this.i=e,this.g=s,this.D=i,this.C=n,this.m=r,this.A=o,this.v=void 0!==a?a:o,this.B=!!l}bt("!=",3,2,function(t,e,s){return mt(function(t,e){return t!=e},t,e,s,!0)}),bt("and",2,2,function(t,e,s){return ut(t,s)&&ut(e,s)}),bt("or",1,2,function(t,e,s){return ut(t,s)||ut(e,s)}),o(xt),xt.prototype.a=function(t){return t=this.c.a(t),Ht(this.h,t)},xt.prototype.toString=function(){return"Filter:"+at(this.c)+at(this.h)},o(Nt),Nt.prototype.a=function(t){return this.h.m.apply(null,function(t){return Array.prototype.concat.apply(Array.prototype,arguments)}(t,this.c))},Nt.prototype.toString=function(){var t="Function: "+this.h;if(this.c.length){var e=m(this.c,function(t,e){return t+at(e)},"Arguments:");t=t+at(e)}return t},vt.prototype.toString=function(){return this.j};var Tt={};function Ct(t,e,s,i,n,r,o,a){if(Tt.hasOwnProperty(t))throw Error("Function already created: "+t+".");Tt[t]=new vt(t,e,s,i,!1,n,r,o,a)}function At(t,e){switch(this.h=t,this.c=void 0!==e?e:null,this.b=null,t){case"comment":this.b=8;break;case"text":this.b=3;break;case"processing-instruction":this.b=7;break;case"node":break;default:throw Error("Unexpected argument")}}function Lt(t){return"comment"==t||"text"==t||"processing-instruction"==t||"node"==t}function St(t){this.b=t,this.a=0}Ct("boolean",2,!1,!1,function(t,e){return ut(e,t)},1),Ct("ceiling",1,!1,!1,function(t,e){return Math.ceil(ht(e,t))},1),Ct("concat",3,!1,!1,function(t,e){return m(function(t,e,s){return 2>=arguments.length?Array.prototype.slice.call(t,e):Array.prototype.slice.call(t,e,s)}(arguments,1),function(e,s){return e+dt(s,t)},"")},2,null),Ct("contains",2,!1,!1,function(t,e,s){return l(dt(e,t),dt(s,t))},2),Ct("count",1,!1,!1,function(t,e){return e.a(t).l},1,1,!0),Ct("false",2,!1,!1,function(){return!1},0),Ct("floor",1,!1,!1,function(t,e){return Math.floor(ht(e,t))},1),Ct("id",4,!1,!1,function(t,e){function i(t){if(k){var e=n.all[t];if(e){if(e.nodeType&&t==e.id)return e;if(e.length)return function(t,e){var i;t:{i=t.length;for(var n=s(t)?t.split(""):t,r=0;r<i;r++)if(r in n&&e.call(void 0,n[r],r,t)){i=r;break t}i=-1}return 0>i?null:s(t)?t.charAt(i):t[i]}(e,function(e){return t==e.id})}return null}return n.getElementById(t)}var n=9==(r=t.a).nodeType?r:r.ownerDocument,r=dt(e,t).split(/\s+/),o=[];u(r,function(t){!(t=i(t))||0<=d(o,t)||o.push(t)}),o.sort(z);var a=new J;return u(o,function(t){tt(a,t)}),a},1),Ct("lang",2,!1,!1,function(){return!1},1),Ct("last",1,!0,!1,function(t){if(1!=arguments.length)throw Error("Function last expects ()");return t.f},0),Ct("local-name",3,!1,!0,function(t,e){var s=e?et(e.a(t)):t.a;return s?s.localName||s.nodeName.toLowerCase():""},0,1,!0),Ct("name",3,!1,!0,function(t,e){var s=e?et(e.a(t)):t.a;return s?s.nodeName.toLowerCase():""},0,1,!0),Ct("namespace-uri",3,!0,!1,function(){return""},0,1,!0),Ct("normalize-space",3,!1,!0,function(t,e){return(e?dt(e,t):F(t.a)).replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")},0,1),Ct("not",2,!1,!1,function(t,e){return!ut(e,t)},1),Ct("number",1,!1,!0,function(t,e){return e?ht(e,t):+F(t.a)},0,1),Ct("position",1,!0,!1,function(t){return t.b},0),Ct("round",1,!1,!1,function(t,e){return Math.round(ht(e,t))},1),Ct("starts-with",2,!1,!1,function(t,e,s){return e=dt(e,t),t=dt(s,t),0==e.lastIndexOf(t,0)},2),Ct("string",3,!1,!0,function(t,e){return e?dt(e,t):F(t.a)},0,1),Ct("string-length",1,!1,!0,function(t,e){return(e?dt(e,t):F(t.a)).length},0,1),Ct("substring",3,!1,!1,function(t,e,s,i){if(s=ht(s,t),isNaN(s)||1/0==s||-1/0==s)return"";if(i=i?ht(i,t):1/0,isNaN(i)||-1/0===i)return"";s=Math.round(s)-1;var n=Math.max(s,0);return t=dt(e,t),1/0==i?t.substring(n):t.substring(n,s+Math.round(i))},2,3),Ct("substring-after",3,!1,!1,function(t,e,s){return e=dt(e,t),t=dt(s,t),-1==(s=e.indexOf(t))?"":e.substring(s+t.length)},2),Ct("substring-before",3,!1,!1,function(t,e,s){return e=dt(e,t),t=dt(s,t),-1==(t=e.indexOf(t))?"":e.substring(0,t)},2),Ct("sum",1,!1,!1,function(t,e){for(var s=it(e.a(t)),i=0,n=rt(s);n;n=rt(s))i+=+F(n);return i},1,1,!0),Ct("translate",3,!1,!1,function(t,e,s,i){e=dt(e,t),s=dt(s,t);var n=dt(i,t);for(t={},i=0;i<s.length;i++){var r=s.charAt(i);r in t||(t[r]=n.charAt(i))}for(s="",i=0;i<e.length;i++)s+=(r=e.charAt(i))in t?t[r]:r;return s},3),Ct("true",2,!1,!1,function(){return!0},0),At.prototype.a=function(t){return null===this.b||this.b==t.nodeType},At.prototype.f=function(){return this.h},At.prototype.toString=function(){var t="Kind Test: "+this.h;return null===this.c||(t+=at(this.c)),t};var Rt=/\$?(?:(?![0-9-\.])(?:\*|[\w-\.]+):)?(?![0-9-\.])(?:\*|[\w-\.]+)|\/\/|\.\.|::|\d+(?:\.\d*)?|\.\d+|"[^"]*"|'[^']*'|[!<>]=|\s+|./g,It=/^\s/;function wt(t,e){return t.b[t.a+(e||0)]}function Mt(t){return t.b[t.a++]}function Ot(t){return t.b.length<=t.a}function kt(t){ot.call(this,3),this.c=t.substring(1,t.length-1)}function Dt(t,e){var s;this.j=t.toLowerCase(),s="*"==this.j?"*":"http://www.w3.org/1999/xhtml",this.c=e?e.toLowerCase():s}function Pt(t,e){if(ot.call(this,t.i),this.h=t,this.c=e,this.g=t.g,this.b=t.b,1==this.c.length){var s=this.c[0];s.u||s.c!=Xt||"*"!=(s=s.o).f()&&(this.f={name:s.f(),s:null})}}function Bt(){ot.call(this,4)}function Ft(){ot.call(this,4)}function jt(t){return"/"==t||"//"==t}function _t(t){ot.call(this,4),this.c=t,lt(this,g(this.c,function(t){return t.g})),ct(this,g(this.c,function(t){return t.b}))}function Ut(t,e){this.a=t,this.b=!!e}function Ht(t,e,s){for(s=s||0;s<t.a.length;s++)for(var i,n=t.a[s],r=it(e),o=e.l,a=0;i=rt(r);a++){var l=t.b?o-a:a+1;if("number"==typeof(i=n.a(new yt(i,l,o))))l=l==i;else if("string"==typeof i||"boolean"==typeof i)l=!!i;else{if(!(i instanceof J))throw Error("Predicate.evaluate returned an unexpected type.");l=0<i.l}if(!l){if(i=(l=r).f,!(h=l.a))throw Error("Next must be called at least once before remove.");var c=h.b,h=h.a;c?c.a=h:i.a=h,h?h.b=c:i.b=c,i.l--,l.a=null}}return e}function Wt(t,e,s,i){ot.call(this,4),this.c=t,this.o=e,this.h=s||new Ut([]),this.u=!!i,e=0<(e=this.h).a.length?e.a[0].f:null,t.b&&e&&(t=e.name,t=k?t.toLowerCase():t,this.f={name:t,s:e.s});t:{for(t=this.h,e=0;e<t.a.length;e++)if((s=t.a[e]).g||1==s.i||0==s.i){t=!0;break t}t=!1}this.g=t}function qt(t,e,s,i){this.j=t,this.f=e,this.a=s,this.b=i}o(kt),kt.prototype.a=function(){return this.c},kt.prototype.toString=function(){return"Literal: "+this.c},Dt.prototype.a=function(t){var e=t.nodeType;return(1==e||2==e)&&(e=void 0!==t.localName?t.localName:t.nodeName,("*"==this.j||this.j==e.toLowerCase())&&("*"==this.c||this.c==(t.namespaceURI?t.namespaceURI.toLowerCase():"http://www.w3.org/1999/xhtml")))},Dt.prototype.f=function(){return this.j},Dt.prototype.toString=function(){return"Name Test: "+("http://www.w3.org/1999/xhtml"==this.c?"":this.c+":")+this.j},o(Pt),o(Bt),Bt.prototype.a=function(t){var e=new J;return 9==(t=t.a).nodeType?tt(e,t):tt(e,t.ownerDocument),e},Bt.prototype.toString=function(){return"Root Helper Expression"},o(Ft),Ft.prototype.a=function(t){var e=new J;return tt(e,t.a),e},Ft.prototype.toString=function(){return"Context Helper Expression"},Pt.prototype.a=function(t){var e=this.h.a(t);if(!(e instanceof J))throw Error("Filter expression must evaluate to nodeset.");for(var s=0,i=(t=this.c).length;s<i&&e.l;s++){var n,r=t[s],o=it(e,r.c.a);if(r.g||r.c!=$t)if(r.g||r.c!=Yt)for(n=rt(o),e=r.a(new yt(n));null!=(n=rt(o));)e=Q(e,n=r.a(new yt(n)));else n=rt(o),e=r.a(new yt(n));else{for(n=rt(o);(e=rt(o))&&(!n.contains||n.contains(e))&&8&e.compareDocumentPosition(n);n=e);e=r.a(new yt(n))}}return e},Pt.prototype.toString=function(){var t;if(t="Path Expression:"+at(this.h),this.c.length){var e=m(this.c,function(t,e){return t+at(e)},"Steps:");t+=at(e)}return t},o(_t),_t.prototype.a=function(t){var e=new J;return u(this.c,function(s){if(!((s=s.a(t))instanceof J))throw Error("Path expression must evaluate to NodeSet.");e=Q(e,s)}),e},_t.prototype.toString=function(){return m(this.c,function(t,e){return t+at(e)},"Union Expression:")},Ut.prototype.toString=function(){return m(this.a,function(t,e){return t+at(e)},"Predicates:")},o(Wt),Wt.prototype.a=function(t){var e=t.a,s=null,i=null,n=null,r=0;if((s=this.f)&&(i=s.name,n=s.s?dt(s.s,t):null,r=1),this.u)if(this.g||this.c!=zt)if(e=rt(t=it(new Wt(Kt,new At("node")).a(t))))for(s=this.m(e,i,n,r);null!=(e=rt(t));)s=Q(s,this.m(e,i,n,r));else s=new J;else s=_(this.o,e,i,n),s=Ht(this.h,s,r);else s=this.m(t.a,i,n,r);return s},Wt.prototype.m=function(t,e,s,i){return t=this.c.f(this.o,t,e,s),Ht(this.h,t,i)},Wt.prototype.toString=function(){var t;if(t="Step:"+at("Operator: "+(this.u?"//":"/")),this.c.j&&(t+=at("Axis: "+this.c)),t+=at(this.o),this.h.a.length){var e=m(this.h.a,function(t,e){return t+at(e)},"Predicates:");t+=at(e)}return t},qt.prototype.toString=function(){return this.j};var Vt={};function Gt(t,e,s,i){if(Vt.hasOwnProperty(t))throw Error("Axis already created: "+t);return e=new qt(t,e,s,!!i),Vt[t]=e}Gt("ancestor",function(t,e){for(var s=new J,i=e;i=i.parentNode;)t.a(i)&&Z(s,i);return s},!0),Gt("ancestor-or-self",function(t,e){var s=new J,i=e;do{t.a(i)&&Z(s,i)}while(i=i.parentNode);return s},!0);var Xt=Gt("attribute",function(t,e){var s=new J;if("style"==(r=t.f())&&k&&e.style)return tt(s,new P(e.style,e,"style",e.style.cssText)),s;var i=e.attributes;if(i)if(t instanceof At&&null===t.b||"*"==r)for(var n,r=0;n=i[r];r++)k?n.nodeValue&&tt(s,B(e,n)):tt(s,n);else(n=i.getNamedItem(r))&&(k?n.nodeValue&&tt(s,B(e,n)):tt(s,n));return s},!1),zt=Gt("child",function(t,e,i,n,r){return(k?W:q).call(null,t,e,s(i)?i:null,s(n)?n:null,r||new J)},!1,!0);Gt("descendant",_,!1,!0);var Kt=Gt("descendant-or-self",function(t,e,s,i){var n=new J;return j(e,s,i)&&t.a(e)&&tt(n,e),_(t,e,s,i,n)},!1,!0),$t=Gt("following",function(t,e,s,i){var n=new J;do{for(var r=e;r=r.nextSibling;)j(r,s,i)&&t.a(r)&&tt(n,r),n=_(t,r,s,i,n)}while(e=e.parentNode);return n},!1,!0);Gt("following-sibling",function(t,e){for(var s=new J,i=e;i=i.nextSibling;)t.a(i)&&tt(s,i);return s},!1),Gt("namespace",function(){return new J},!1);var Jt=Gt("parent",function(t,e){var s=new J;if(9==e.nodeType)return s;if(2==e.nodeType)return tt(s,e.ownerElement),s;var i=e.parentNode;return t.a(i)&&tt(s,i),s},!1),Yt=Gt("preceding",function(t,e,s,i){var n=new J,r=[];do{r.unshift(e)}while(e=e.parentNode);for(var o=1,a=r.length;o<a;o++){var l=[];for(e=r[o];e=e.previousSibling;)l.unshift(e);for(var c=0,h=l.length;c<h;c++)j(e=l[c],s,i)&&t.a(e)&&tt(n,e),n=_(t,e,s,i,n)}return n},!0,!0);Gt("preceding-sibling",function(t,e){for(var s=new J,i=e;i=i.previousSibling;)t.a(i)&&Z(s,i);return s},!0);var Qt=Gt("self",function(t,e){var s=new J;return t.a(e)&&tt(s,e),s},!1);function Zt(t){ot.call(this,1),this.c=t,this.g=t.g,this.b=t.b}function te(t){ot.call(this,1),this.c=t}function ee(t,e){this.a=t,this.b=e}function se(t){for(var e,s=[];;){ie(t,"Missing right hand side of binary expression."),e=he(t);var i=Mt(t.a);if(!i)break;var n=(i=ft[i]||null)&&i.w;if(!n){t.a.a--;break}for(;s.length&&n<=s[s.length-1].w;)e=new pt(s.pop(),s.pop(),e);s.push(e,i)}for(;s.length;)e=new pt(s.pop(),s.pop(),e);return e}function ie(t,e){if(Ot(t.a))throw Error(e)}function ne(t,e){var s=Mt(t.a);if(s!=e)throw Error("Bad token, expected: "+e+" got: "+s)}function re(t){if(")"!=(t=Mt(t.a)))throw Error("Bad token: "+t)}function oe(t){if(2>(t=Mt(t.a)).length)throw Error("Unclosed literal string");return new kt(t)}function ae(t){var e,s,i=[];if(jt(wt(t.a))){if(e=Mt(t.a),s=wt(t.a),"/"==e&&(Ot(t.a)||"."!=s&&".."!=s&&"@"!=s&&"*"!=s&&!/(?![0-9])[\w]/.test(s)))return new Bt;s=new Bt,ie(t,"Missing next location step."),e=le(t,e),i.push(e)}else{t:{switch(s=(e=wt(t.a)).charAt(0)){case"$":throw Error("Variable reference not allowed in HTML XPath");case"(":Mt(t.a),e=se(t),ie(t,'unclosed "("'),ne(t,")");break;case'"':case"'":e=oe(t);break;default:if(isNaN(+e)){if(Lt(e)||!/(?![0-9])[\w]/.test(s)||"("!=wt(t.a,1)){e=null;break t}for(e=Mt(t.a),e=Tt[e]||null,Mt(t.a),s=[];")"!=wt(t.a)&&(ie(t,"Missing function argument list."),s.push(se(t)),","==wt(t.a));)Mt(t.a);ie(t,"Unclosed function argument list."),re(t),e=new Nt(e,s)}else e=new te(+Mt(t.a))}"["==wt(t.a)&&(e=new xt(e,s=new Ut(ce(t))))}if(e){if(!jt(wt(t.a)))return e;s=e}else e=le(t,"/"),s=new Ft,i.push(e)}for(;jt(wt(t.a));)e=Mt(t.a),ie(t,"Missing next location step."),e=le(t,e),i.push(e);return new Pt(s,i)}function le(t,e){var s,i,n,r;if("/"!=e&&"//"!=e)throw Error('Step op should be "/" or "//"');if("."==wt(t.a))return i=new Wt(Qt,new At("node")),Mt(t.a),i;if(".."==wt(t.a))return i=new Wt(Jt,new At("node")),Mt(t.a),i;if("@"==wt(t.a))r=Xt,Mt(t.a),ie(t,"Missing attribute name");else if("::"==wt(t.a,1)){if(!/(?![0-9])[\w]/.test(wt(t.a).charAt(0)))throw Error("Bad token: "+Mt(t.a));if(s=Mt(t.a),!(r=Vt[s]||null))throw Error("No axis with name: "+s);Mt(t.a),ie(t,"Missing node name")}else r=zt;if(s=wt(t.a),!/(?![0-9])[\w\*]/.test(s.charAt(0)))throw Error("Bad token: "+Mt(t.a));if("("==wt(t.a,1)){if(!Lt(s))throw Error("Invalid node type: "+s);if(!Lt(s=Mt(t.a)))throw Error("Invalid type name: "+s);ne(t,"("),ie(t,"Bad nodetype");var o=null;'"'!=(n=wt(t.a).charAt(0))&&"'"!=n||(o=oe(t)),ie(t,"Bad nodetype"),re(t),s=new At(s,o)}else if(-1==(n=(s=Mt(t.a)).indexOf(":")))s=new Dt(s);else{var a;if("*"==(o=s.substring(0,n)))a="*";else if(!(a=t.b(o)))throw Error("Namespace prefix not declared: "+o);s=new Dt(s=s.substr(n+1),a)}return n=new Ut(ce(t),r.a),i||new Wt(r,s,n,"//"==e)}function ce(t){for(var e=[];"["==wt(t.a);){Mt(t.a),ie(t,"Missing predicate expression.");var s=se(t);e.push(s),ie(t,"Unclosed predicate expression."),ne(t,"]")}return e}function he(t){if("-"==wt(t.a))return Mt(t.a),new Zt(he(t));var e=ae(t);if("|"!=wt(t.a))t=e;else{for(e=[e];"|"==Mt(t.a);)ie(t,"Missing next union location path."),e.push(ae(t));t.a.a--,t=new _t(e)}return t}function de(t){switch(t.nodeType){case 1:return function(t,e){var s=Array.prototype.slice.call(arguments,1);return function(){var e=s.slice();return e.push.apply(e,arguments),t.apply(this,e)}}(pe,t);case 9:return de(t.documentElement);case 11:case 10:case 6:case 12:return ue;default:return t.parentNode?de(t.parentNode):ue}}function ue(){return null}function pe(t,e){if(t.prefix==e)return t.namespaceURI||"http://www.w3.org/1999/xhtml";var s=t.getAttributeNode("xmlns:"+e);return s&&s.specified?s.value||null:t.parentNode&&9!=t.parentNode.nodeType?pe(t.parentNode,e):null}function me(t,e){if(!t.length)throw Error("Empty XPath expression.");var s=function(t){t=t.match(Rt);for(var e=0;e<t.length;e++)It.test(t[e])&&t.splice(e,1);return new St(t)}(t);if(Ot(s))throw Error("Invalid XPath expression.");e?"function"==function(t){var e=typeof t;if("object"==e){if(!t)return"null";if(t instanceof Array)return"array";if(t instanceof Object)return e;var s=Object.prototype.toString.call(t);if("[object Window]"==s)return"object";if("[object Array]"==s||"number"==typeof t.length&&void 0!==t.splice&&void 0!==t.propertyIsEnumerable&&!t.propertyIsEnumerable("splice"))return"array";if("[object Function]"==s||void 0!==t.call&&void 0!==t.propertyIsEnumerable&&!t.propertyIsEnumerable("call"))return"function"}else if("function"==e&&void 0===t.call)return"object";return e}(e)||(e=r(e.lookupNamespaceURI,e)):e=function(){return null};var i=se(new ee(s,e));if(!Ot(s))throw Error("Bad token: "+Mt(s));this.evaluate=function(t,e){return new ge(i.a(new yt(t)),e)}}function ge(t,e){if(0==e)if(t instanceof J)e=4;else if("string"==typeof t)e=2;else if("number"==typeof t)e=1;else{if("boolean"!=typeof t)throw Error("Unexpected evaluation result.");e=3}if(2!=e&&1!=e&&3!=e&&!(t instanceof J))throw Error("value could not be converted to the specified type");var s;switch(this.resultType=e,e){case 2:this.stringValue=t instanceof J?st(t):""+t;break;case 1:this.numberValue=t instanceof J?+st(t):+t;break;case 3:this.booleanValue=t instanceof J?0<t.l:!!t;break;case 4:case 5:case 6:case 7:var i=it(t);s=[];for(var n=rt(i);n;n=rt(i))s.push(n instanceof P?n.a:n);this.snapshotLength=t.l,this.invalidIteratorState=!1;break;case 8:case 9:i=et(t),this.singleNodeValue=i instanceof P?i.a:i;break;default:throw Error("Unknown XPathResult type.")}var r=0;this.iterateNext=function(){if(4!=e&&5!=e)throw Error("iterateNext called with wrong result type");return r>=s.length?null:s[r++]},this.snapshotItem=function(t){if(6!=e&&7!=e)throw Error("snapshotItem called with wrong result type");return t>=s.length||0>t?null:s[t]}}function fe(t){this.lookupNamespaceURI=de(t)}function be(t,s){var i=t||e,n=i.Document&&i.Document.prototype||i.document;n.evaluate&&!s||(i.XPathResult=ge,n.evaluate=function(t,e,s,i){return new me(t,s).evaluate(e,i)},n.createExpression=function(t,e){return new me(t,e)},n.createNSResolver=function(t){return new fe(t)})}o(Zt),Zt.prototype.a=function(t){return-ht(this.c,t)},Zt.prototype.toString=function(){return"Unary Expression: -"+at(this.c)},o(te),te.prototype.a=function(){return this.c},te.prototype.toString=function(){return"Number: "+this.c},ge.ANY_TYPE=0,ge.NUMBER_TYPE=1,ge.STRING_TYPE=2,ge.BOOLEAN_TYPE=3,ge.UNORDERED_NODE_ITERATOR_TYPE=4,ge.ORDERED_NODE_ITERATOR_TYPE=5,ge.UNORDERED_NODE_SNAPSHOT_TYPE=6,ge.ORDERED_NODE_SNAPSHOT_TYPE=7,ge.ANY_UNORDERED_NODE_TYPE=8,ge.FIRST_ORDERED_NODE_TYPE=9;var Ee,ye=["wgxpath","install"],xe=e;ye[0]in xe||!xe.execScript||xe.execScript("var "+ye[0]);for(;ye.length&&(Ee=ye.shift());)ye.length||void 0===be?xe=xe[Ee]?xe[Ee]:xe[Ee]={}:xe[Ee]=be;t.exports.install=be,t.exports.XPathResultType={ANY_TYPE:0,NUMBER_TYPE:1,STRING_TYPE:2,BOOLEAN_TYPE:3,UNORDERED_NODE_ITERATOR_TYPE:4,ORDERED_NODE_ITERATOR_TYPE:5,UNORDERED_NODE_SNAPSHOT_TYPE:6,ORDERED_NODE_SNAPSHOT_TYPE:7,ANY_UNORDERED_NODE_TYPE:8,FIRST_ORDERED_NODE_TYPE:9}}).call(s.g)}},i={};function n(t){var e=i[t];if(void 0!==e)return e.exports;var r=i[t]={exports:{}};return s[t](r,r.exports,n),r.exports}e=Object.getPrototypeOf?t=>Object.getPrototypeOf(t):t=>t.__proto__,n.t=function(s,i){if(1&i&&(s=this(s)),8&i)return s;if("object"==typeof s&&s){if(4&i&&s.__esModule)return s;if(16&i&&"function"==typeof s.then)return s}var r=Object.create(null);n.r(r);var o={};t=t||[null,e({}),e([]),e(e)];for(var a=2&i&&s;("object"==typeof a||"function"==typeof a)&&!~t.indexOf(a);a=e(a))Object.getOwnPropertyNames(a).forEach(t=>o[t]=()=>s[t]);return o.default=()=>s,n.d(r,o),r},n.d=(t,e)=>{for(var s in e)n.o(e,s)&&!n.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},(()=>{"use strict";var t={};n.r(t),n.d(t,{GLOBAL:()=>oi,MathJax:()=>di,combineConfig:()=>li,combineDefaults:()=>ci,combineWithMathJax:()=>hi,isObject:()=>ai});var e={};n.r(e),n.d(e,{context:()=>pi,hasWindow:()=>ui});var s={};n.r(s),n.d(s,{Package:()=>gi,PackageError:()=>mi});var i={};n.r(i),n.d(i,{PrioritizedList:()=>fi});var r={};n.r(r),n.d(r,{FunctionList:()=>bi});var o={};n.r(o),n.d(o,{CONFIG:()=>Ci,Loader:()=>vi,MathJax:()=>Ti,PathFilters:()=>xi});var a={};n.r(a),n.d(a,{APPEND:()=>Si,Expandable:()=>wi,OPTIONS:()=>Ii,REMOVE:()=>Ri,copy:()=>Di,defaultOptions:()=>Bi,expandable:()=>Mi,insert:()=>Pi,isObject:()=>Li,keys:()=>ki,lookup:()=>Hi,makeArray:()=>Oi,selectOptions:()=>ji,selectOptionsFromKeys:()=>_i,separateOptions:()=>Ui,userOptions:()=>Fi});var l={};n.r(l),n.d(l,{CONFIG:()=>Gi,MathJax:()=>Vi,Startup:()=>qi});var c={};n.r(c),n.d(c,{AbstractDOMAdaptor:()=>zi});var h={};n.r(h),n.d(h,{HTMLAdaptor:()=>$i});var d={};n.r(d),n.d(d,{browserAdaptor:()=>Yi});var u={};n.r(u),n.d(u,{AbstractFindMath:()=>Qi});var p={};n.r(p),n.d(p,{AbstractInputJax:()=>Zi});var m={};n.r(m),n.d(m,{AbstractOutputJax:()=>tn});var g={};n.r(g),n.d(g,{END:()=>en,LinkedList:()=>nn,ListItem:()=>sn});var f={};n.r(f),n.d(f,{AbstractMathList:()=>rn});var b={};n.r(b),n.d(b,{AbstractMathItem:()=>an,STATE:()=>ln,newState:()=>cn,protoItem:()=>on});var E={};n.r(E),n.d(E,{AbstractFactory:()=>hn});var y={};n.r(y),n.d(y,{AbstractNodeFactory:()=>dn});var x={};n.r(x),n.d(x,{Attributes:()=>pn,INHERIT:()=>un});var N={};n.r(N),n.d(N,{AbstractEmptyNode:()=>gn,AbstractNode:()=>mn});var v={};n.r(v),n.d(v,{AbstractMmlBaseNode:()=>An,AbstractMmlEmptyNode:()=>Ln,AbstractMmlLayoutNode:()=>Cn,AbstractMmlNode:()=>vn,AbstractMmlTokenNode:()=>Tn,MATHVARIANTS:()=>xn,TEXCLASS:()=>fn,TEXCLASSNAMES:()=>bn,TextNode:()=>Sn,XMLNode:()=>Rn,indentAttributes:()=>Nn});var T={};n.r(T),n.d(T,{MmlMath:()=>In});var C={};n.r(C),n.d(C,{MmlMi:()=>wn});var A={};n.r(A),n.d(A,{MmlMn:()=>Mn});var L={};n.r(L),n.d(L,{MMLSPACING:()=>Bn,MO:()=>kn,OPDEF:()=>On,OPTABLE:()=>Fn,RANGES:()=>Dn,getRange:()=>Pn});var S={};n.r(S),n.d(S,{isPercent:()=>Wn,quotePattern:()=>_n,replaceUnicode:()=>Vn,sortLength:()=>jn,split:()=>qn,toEntity:()=>Gn,unicodeChars:()=>Un,unicodeString:()=>Hn});var R={};n.r(R),n.d(R,{MmlMo:()=>Xn});var I={};n.r(I),n.d(I,{MmlMtext:()=>zn});var w={};n.r(w),n.d(w,{MmlMspace:()=>Kn});var M={};n.r(M),n.d(M,{MmlMs:()=>$n});var O={};n.r(O),n.d(O,{MmlInferredMrow:()=>Yn,MmlMrow:()=>Jn});var k={};n.r(k),n.d(k,{MmlMfrac:()=>Qn});var D={};n.r(D),n.d(D,{MmlMsqrt:()=>Zn});var P={};n.r(P),n.d(P,{MmlMroot:()=>tr});var B={};n.r(B),n.d(B,{MmlMstyle:()=>er});var F={};n.r(F),n.d(F,{MmlMerror:()=>sr});var j={};n.r(j),n.d(j,{MmlMpadded:()=>ir});var _={};n.r(_),n.d(_,{MmlMphantom:()=>nr});var U={};n.r(U),n.d(U,{MmlMfenced:()=>rr});var H={};n.r(H),n.d(H,{MmlMenclose:()=>or});var W={};n.r(W),n.d(W,{MmlMaction:()=>ar});var q={};n.r(q),n.d(q,{MmlMsub:()=>cr,MmlMsubsup:()=>lr,MmlMsup:()=>hr});var V={};n.r(V),n.d(V,{MmlMover:()=>pr,MmlMunder:()=>ur,MmlMunderover:()=>dr});var G={};n.r(G),n.d(G,{MmlMmultiscripts:()=>mr,MmlMprescripts:()=>gr,MmlNone:()=>fr});var X={};n.r(X),n.d(X,{MmlMtable:()=>br});var z={};n.r(z),n.d(z,{MmlMlabeledtr:()=>yr,MmlMtr:()=>Er});var K={};n.r(K),n.d(K,{MmlMtd:()=>xr});var $={};n.r($),n.d($,{MmlMaligngroup:()=>Nr});var J={};n.r(J),n.d(J,{MmlMalignmark:()=>vr});var Y={};n.r(Y),n.d(Y,{MmlMglyph:()=>Tr});var Q={};n.r(Q),n.d(Q,{MmlAnnotation:()=>Lr,MmlAnnotationXML:()=>Ar,MmlSemantics:()=>Cr});var Z={};n.r(Z),n.d(Z,{TeXAtom:()=>Sr});var tt={};n.r(tt),n.d(tt,{MathChoice:()=>Rr});var et={};n.r(et),n.d(et,{HtmlNode:()=>Ir});var st={};n.r(st),n.d(st,{MML:()=>wr});var it={};n.r(it),n.d(it,{MmlFactory:()=>Mr});var nt={};n.r(nt),n.d(nt,{BitField:()=>Or,BitFieldClass:()=>kr});var rt={};n.r(rt),n.d(rt,{handleRetriesFor:()=>Dr,retryAfter:()=>Pr});var ot={};n.r(ot),n.d(ot,{AbstractMathDocument:()=>qr,RenderList:()=>Fr,resetAllOptions:()=>_r,resetOptions:()=>jr});var at={};n.r(at),n.d(at,{AbstractHandler:()=>Gr});var lt={};n.r(lt),n.d(lt,{HandlerList:()=>Xr});var ct={};n.r(ct),n.d(ct,{AbstractVisitor:()=>zr});var ht={};n.r(ht),n.d(ht,{DATAMJX:()=>Kr,MmlVisitor:()=>$r});var dt={};n.r(dt),n.d(dt,{MathMLVisitor:()=>Jr});var ut={};n.r(ut),n.d(ut,{SerializedMmlVisitor:()=>Yr});var pt={};n.r(pt),n.d(pt,{AbstractWrapper:()=>Qr});var mt={};n.r(mt),n.d(mt,{AbstractWrapperFactory:()=>Zr});var gt={};n.r(gt),n.d(gt,{mathjax:()=>to});var ft={};n.r(ft),n.d(ft,{HTMLMathItem:()=>eo});var bt={};n.r(bt),n.d(bt,{HTMLMathList:()=>so});var Et={};n.r(Et),n.d(Et,{HTMLDomStrings:()=>io});var yt={};n.r(yt),n.d(yt,{HTMLDocument:()=>no});var xt={};n.r(xt),n.d(xt,{HTMLHandler:()=>ro});var Nt={};n.r(Nt),n.d(Nt,{RegisterHTMLHandler:()=>oo});var vt={};n.r(vt),n.d(vt,{StyleJsonSheet:()=>ao});var Tt={};n.r(Tt),n.d(Tt,{DraggableDialog:()=>ho,isDialog:()=>co});var Ct={};n.r(Ct),n.d(Ct,{InfoDialog:()=>uo});var At={};n.r(At),n.d(At,{asyncLoad:()=>po});var Lt={};n.r(Lt),n.d(Lt,{BIGDIMEN:()=>mo,MATHSPACE:()=>bo,RELUNITS:()=>fo,UNITS:()=>go,em:()=>xo,length2em:()=>Eo,percent:()=>yo,px:()=>No});var St={};n.r(St),n.d(St,{BBox:()=>vo});var Rt={};n.r(Rt),n.d(Rt,{add:()=>Lo,entities:()=>Co,numeric:()=>wo,options:()=>To,remove:()=>So,translate:()=>Ro});var It={};n.r(It),n.d(It,{Styles:()=>Vo,TRBL:()=>Mo,WSC:()=>Oo});var wt={};n.r(wt),n.d(wt,{max:()=>Xo,sum:()=>Go});var Mt={};n.r(Mt),n.d(Mt,{FindTeX:()=>zo});var Ot={};n.r(Ot),n.d(Ot,{default:()=>$o});var kt={};n.r(kt),n.d(kt,{TexConstant:()=>Jo});var Dt={};n.r(Dt),n.d(Dt,{default:()=>sa});var Pt={};n.r(Pt),n.d(Pt,{ConfigurationType:()=>ia,HandlerType:()=>na});var Bt={};n.r(Bt),n.d(Bt,{UnitUtil:()=>oa});var Ft={};n.r(Ft),n.d(Ft,{default:()=>aa});var jt={};n.r(jt),n.d(jt,{default:()=>ca});var _t={};n.r(_t),n.d(_t,{BaseItem:()=>da,MmlStack:()=>ha});var Ut={};n.r(Ut),n.d(Ut,{default:()=>ua});var Ht={};n.r(Ht),n.d(Ht,{default:()=>ga});var Wt={};n.r(Wt),n.d(Wt,{NodeFactory:()=>fa});var qt={};n.r(qt),n.d(qt,{KeyValueDef:()=>ba,KeyValueTypes:()=>Ea,ParseUtil:()=>Na});var Vt={};n.r(Vt),n.d(Vt,{ColumnParser:()=>va});var Gt={};n.r(Gt),n.d(Gt,{default:()=>Aa});var Xt={};n.r(Xt),n.d(Xt,{AbstractTags:()=>Ra,AllTags:()=>wa,Label:()=>La,NoTags:()=>Ia,TagInfo:()=>Sa,TagsFactory:()=>ka});var zt={};n.r(zt),n.d(zt,{Macro:()=>Pa,Token:()=>Da});var Kt={};n.r(Kt),n.d(Kt,{AbstractParseMap:()=>_a,AbstractTokenMap:()=>Fa,CharacterMap:()=>Ua,CommandMap:()=>qa,DelimiterMap:()=>Ha,EnvironmentMap:()=>Va,MacroMap:()=>Wa,RegExpMap:()=>ja,parseResult:()=>Ba});var $t={};n.r($t),n.d($t,{MapHandler:()=>Xa,SubHandler:()=>za,SubHandlers:()=>Ka});var Jt={};n.r(Jt),n.d(Jt,{Configuration:()=>$a,ConfigurationHandler:()=>Ya,ParserConfiguration:()=>Qa});var Yt={};n.r(Yt),n.d(Yt,{ArrayItem:()=>Nl,BeginItem:()=>dl,BreakItem:()=>hl,CellItem:()=>gl,CloseItem:()=>sl,DotsItem:()=>xl,EndItem:()=>ul,EqnArrayItem:()=>vl,EquationItem:()=>Cl,FnItem:()=>bl,LeftItem:()=>al,Middle:()=>ll,MmlItem:()=>fl,MstyleItem:()=>Tl,NonscriptItem:()=>yl,NotItem:()=>El,NullItem:()=>il,OpenItem:()=>el,OverItem:()=>ol,PositionItem:()=>ml,PrimeItem:()=>nl,RightItem:()=>cl,StartItem:()=>Za,StopItem:()=>tl,StyleItem:()=>pl,SubsupItem:()=>rl});var Qt={};n.r(Qt),n.d(Qt,{default:()=>wl,splitAlignArray:()=>Sl});var Zt={};n.r(Zt),n.d(Zt,{default:()=>kl});var te={};n.r(te),n.d(te,{BaseConfiguration:()=>_l,BaseTags:()=>jl,Other:()=>Fl});var ee={};n.r(ee),n.d(ee,{TeX:()=>Ul});var se={};n.r(se),n.d(se,{FlalignItem:()=>Wl,MultlineItem:()=>Hl});var ie={};n.r(ie),n.d(ie,{NewcommandPriority:()=>Vl,NewcommandTables:()=>ql,NewcommandUtil:()=>Gl});var ne={};n.r(ne),n.d(ne,{AmsMethods:()=>Kl});var re={};n.r(re),n.d(re,{BeginEnvItem:()=>$l});var oe={};n.r(oe),n.d(oe,{default:()=>Yl});var ae={};n.r(ae),n.d(ae,{NewcommandConfig:()=>Ql,NewcommandConfiguration:()=>Zl});var le={};n.r(le),n.d(le,{AmsConfiguration:()=>ec,AmsTags:()=>tc});var ce={};n.r(ce),n.d(ce,{RequireConfiguration:()=>lc,RequireLoad:()=>rc,RequireMethods:()=>oc,options:()=>ac});var he={};n.r(he),n.d(he,{AutoloadConfiguration:()=>uc});var de={};n.r(de),n.d(de,{ConfigMacrosConfiguration:()=>bc});var ue={};n.r(ue),n.d(ue,{NoUndefinedConfiguration:()=>Ec});var pe={};n.r(pe),n.d(pe,{TextParser:()=>yc});var me={};n.r(me),n.d(me,{TextMacrosMethods:()=>xc});var ge={};n.r(ge),n.d(ge,{TextBaseConfiguration:()=>vc,TextMacrosConfiguration:()=>Cc});var fe={};n.r(fe),n.d(fe,{FindMathML:()=>Lc});var be={};n.r(be),n.d(be,{MathMLCompile:()=>Sc});var Ee={};n.r(Ee),n.d(Ee,{MathML:()=>Rc});var ye={};n.r(ye),n.d(ye,{DIRECTION:()=>Ic,H:()=>Mc,V:()=>wc});var xe={};n.r(xe),n.d(xe,{DIRECTION:()=>Ic,FontData:()=>Fc,HFUZZ:()=>Dc,NOSTRETCH:()=>Pc,VFUZZ:()=>kc,mergeOptions:()=>Bc});var Ne={};n.r(Ne),n.d(Ne,{LineBBox:()=>jc});var ve={};n.r(ve),n.d(ve,{LinebreakVisitor:()=>Hc,Linebreaks:()=>Uc,NOBREAK:()=>_c});var Te={};n.r(Te),n.d(Te,{CommonOutputJax:()=>qc,FONTPATH:()=>Wc});var Ce={};n.r(Ce),n.d(Ce,{CommonWrapperFactory:()=>Vc});var Ae={};n.r(Ae),n.d(Ae,{CommonWrapper:()=>$c,SPACE:()=>Kc});var Le={};n.r(Le),n.d(Le,{ChtmlWrapper:()=>Yc,FONTSIZE:()=>Jc});var Se={};n.r(Se),n.d(Se,{CommonMathMixin:()=>Qc});var Re={};n.r(Re),n.d(Re,{ChtmlMath:()=>Zc});var Ie={};n.r(Ie),n.d(Ie,{CommonMiMixin:()=>th});var we={};n.r(we),n.d(we,{ChtmlMi:()=>eh});var Me={};n.r(Me),n.d(Me,{Usage:()=>sh});var Oe={};n.r(Oe),n.d(Oe,{AddCSS:()=>nh,ChtmlFontData:()=>ih,DIRECTION:()=>Ic,FontData:()=>Fc,HFUZZ:()=>Dc,NOSTRETCH:()=>Pc,VFUZZ:()=>kc,mergeOptions:()=>Bc});var ke={};n.r(ke),n.d(ke,{CommonMoMixin:()=>rh});var De={};n.r(De),n.d(De,{ChtmlMo:()=>oh});var Pe={};n.r(Pe),n.d(Pe,{CommonMnMixin:()=>ah});var Be={};n.r(Be),n.d(Be,{ChtmlMn:()=>lh});var Fe={};n.r(Fe),n.d(Fe,{CommonMsMixin:()=>ch});var je={};n.r(je),n.d(je,{ChtmlMs:()=>hh});var _e={};n.r(_e),n.d(_e,{CommonMtextMixin:()=>dh});var Ue={};n.r(Ue),n.d(Ue,{ChtmlMtext:()=>uh});var He={};n.r(He),n.d(He,{CommonMspaceMixin:()=>ph});var We={};n.r(We),n.d(We,{ChtmlMspace:()=>mh});var qe={};n.r(qe),n.d(qe,{CommonMpaddedMixin:()=>gh});var Ve={};n.r(Ve),n.d(Ve,{ChtmlMpadded:()=>fh});var Ge={};n.r(Ge),n.d(Ge,{ARROWDX:()=>Eh,ARROWX:()=>bh,ARROWY:()=>yh,CommonArrow:()=>jh,CommonBorder:()=>Dh,CommonBorder2:()=>Ph,CommonDiagonalArrow:()=>Fh,CommonDiagonalStrike:()=>Bh,PADDING:()=>Nh,SOLID:()=>vh,THICKNESS:()=>xh,arrowBBox:()=>kh,arrowBBoxHD:()=>Ih,arrowBBoxW:()=>wh,arrowDef:()=>Mh,arrowHead:()=>Rh,diagonalArrowDef:()=>Oh,fullBBox:()=>Ah,fullBorder:()=>Sh,fullPadding:()=>Lh,sideIndex:()=>Th,sideNames:()=>Ch});var Xe={};n.r(Xe),n.d(Xe,{CommonMencloseMixin:()=>_h});var ze={};n.r(ze),n.d(ze,{ARROWDX:()=>Eh,ARROWX:()=>bh,ARROWY:()=>yh,Arrow:()=>Gh,Border:()=>Hh,Border2:()=>Wh,CommonArrow:()=>jh,CommonBorder:()=>Dh,CommonBorder2:()=>Ph,CommonDiagonalArrow:()=>Fh,CommonDiagonalStrike:()=>Bh,DiagonalArrow:()=>Vh,DiagonalStrike:()=>qh,PADDING:()=>Nh,RenderElement:()=>Uh,SOLID:()=>vh,THICKNESS:()=>xh,arrowBBox:()=>kh,arrowBBoxHD:()=>Ih,arrowBBoxW:()=>wh,arrowDef:()=>Mh,arrowHead:()=>Rh,diagonalArrowDef:()=>Oh,fullBBox:()=>Ah,fullBorder:()=>Sh,fullPadding:()=>Lh,sideIndex:()=>Th,sideNames:()=>Ch});var Ke={};n.r(Ke),n.d(Ke,{ChtmlMenclose:()=>Kh});var $e={};n.r($e),n.d($e,{CommonInferredMrowMixin:()=>Jh,CommonMrowMixin:()=>$h});var Je={};n.r(Je),n.d(Je,{ChtmlInferredMrow:()=>Qh,ChtmlMrow:()=>Yh});var Ye={};n.r(Ye),n.d(Ye,{CommonMfencedMixin:()=>Zh});var Qe={};n.r(Qe),n.d(Qe,{ChtmlMfenced:()=>td});var Ze={};n.r(Ze),n.d(Ze,{CommonMfracMixin:()=>ed});var ts={};n.r(ts),n.d(ts,{ChtmlMfrac:()=>sd});var es={};n.r(es),n.d(es,{CommonMsqrtMixin:()=>id});var ss={};n.r(ss),n.d(ss,{ChtmlMsqrt:()=>nd});var is={};n.r(is),n.d(is,{CommonMrootMixin:()=>rd});var ns={};n.r(ns),n.d(ns,{ChtmlMroot:()=>od});var rs={};n.r(rs),n.d(rs,{CommonMsubMixin:()=>ad,CommonMsubsupMixin:()=>cd,CommonMsupMixin:()=>ld});var os={};n.r(os),n.d(os,{CommonScriptbaseMixin:()=>hd});var as={};n.r(as),n.d(as,{ChtmlScriptbase:()=>dd});var ls={};n.r(ls),n.d(ls,{ChtmlMsub:()=>ud,ChtmlMsubsup:()=>md,ChtmlMsup:()=>pd});var cs={};n.r(cs),n.d(cs,{CommonMoverMixin:()=>fd,CommonMunderMixin:()=>gd,CommonMunderoverMixin:()=>bd});var hs={};n.r(hs),n.d(hs,{ChtmlMover:()=>yd,ChtmlMunder:()=>Ed,ChtmlMunderover:()=>xd});var ds={};n.r(ds),n.d(ds,{CommonMmultiscriptsMixin:()=>Td,NextScript:()=>Nd,ScriptNames:()=>vd});var us={};n.r(us),n.d(us,{ChtmlMmultiscripts:()=>Cd});var ps={};n.r(ps),n.d(ps,{BREAK_BELOW:()=>Ad,CommonMtableMixin:()=>Ld});var ms={};n.r(ms),n.d(ms,{ChtmlMtable:()=>Sd});var gs={};n.r(gs),n.d(gs,{CommonMlabeledtrMixin:()=>Id,CommonMtrMixin:()=>Rd});var fs={};n.r(fs),n.d(fs,{ChtmlMlabeledtr:()=>Md,ChtmlMtr:()=>wd});var bs={};n.r(bs),n.d(bs,{CommonMtdMixin:()=>Od});var Es={};n.r(Es),n.d(Es,{ChtmlMtd:()=>kd});var ys={};n.r(ys),n.d(ys,{CommonMactionMixin:()=>Pd,TooltipData:()=>Dd});var xs={};n.r(xs),n.d(xs,{ChtmlMaction:()=>Bd});var Ns={};n.r(Ns),n.d(Ns,{CommonMglyphMixin:()=>Fd});var vs={};n.r(vs),n.d(vs,{ChtmlMglyph:()=>jd});var Ts={};n.r(Ts),n.d(Ts,{CommonSemanticsMixin:()=>_d});var Cs={};n.r(Cs),n.d(Cs,{CommonXmlNodeMixin:()=>Ud});var As={};n.r(As),n.d(As,{ChtmlAnnotation:()=>Wd,ChtmlAnnotationXML:()=>qd,ChtmlSemantics:()=>Hd,ChtmlXmlNode:()=>Vd});var Ls={};n.r(Ls),n.d(Ls,{CommonTeXAtomMixin:()=>Gd});var Ss={};n.r(Ss),n.d(Ss,{ChtmlTeXAtom:()=>Xd});var Rs={};n.r(Rs),n.d(Rs,{CommonTextNodeMixin:()=>zd});var Is={};n.r(Is),n.d(Is,{ChtmlTextNode:()=>Kd});var ws={};n.r(ws),n.d(ws,{ChtmlHtmlNode:()=>$d});var Ms={};n.r(Ms),n.d(Ms,{ChtmlWrappers:()=>Jd});var Os={};n.r(Os),n.d(Os,{ChtmlWrapperFactory:()=>Yd});var ks={};n.r(ks),n.d(ks,{DefaultFont:()=>Zd,fontName:()=>Qd});var Ds={};n.r(Ds),n.d(Ds,{CHTML:()=>tu});var Ps={};n.r(Ps),n.d(Ps,{AddFontIds:()=>eu});var Bs={};n.r(Bs),n.d(Bs,{MJContextMenu:()=>tp});var Fs={};n.r(Fs),n.d(Fs,{addPreference:()=>Pb,engineSetup:()=>Ob,fromPreference:()=>Bb,locales:()=>wb,parseDOM:()=>Db,setupEngine:()=>Mb,toEnriched:()=>kb,toPreference:()=>Fb});var js={};n.r(js),n.d(js,{clearspeakMenu:()=>Xb,localeMenu:()=>Kb});var _s={};n.r(_s),n.d(_s,{copyToClipboard:()=>Jb,isMac:()=>$b});var Us={};n.r(Us),n.d(Us,{annotation:()=>tE,copyAnnotations:()=>Qb,showAnnotations:()=>Yb});var Hs={};n.r(Hs),n.d(Hs,{RadioCompare:()=>iE});var Ws={};n.r(Ws),n.d(Ws,{MmlVisitor:()=>nE});var qs={};n.r(qs),n.d(qs,{Menu:()=>aE});var Vs={};n.r(Vs),n.d(Vs,{MenuHandler:()=>hE,MenuMathDocumentMixin:()=>cE,MenuMathItemMixin:()=>lE});var Gs={};n.r(Gs),n.d(Gs,{EnrichHandler:()=>mE,EnrichedMathDocumentMixin:()=>pE,EnrichedMathItemMixin:()=>uE,enrichVisitor:()=>dE});var Xs={};n.r(Xs),n.d(Xs,{InPlace:()=>AE,SemAttr:()=>LE,buildLabel:()=>vE,buildSpeech:()=>TE,honk:()=>CE,ssmlParsing:()=>fE});var zs={};n.r(zs),n.d(zs,{GeneratorPool:()=>SE});var Ks={};n.r(Ks),n.d(Ks,{WorkerHandler:()=>wE});var $s={};n.r($s),n.d($s,{SpeechHandler:()=>BE,SpeechMathDocumentMixin:()=>PE,SpeechMathItemMixin:()=>DE});var Js={};n.r(Js),n.d(Js,{AbstractRegion:()=>FE,DummyRegion:()=>jE,HoverRegion:()=>qE,LiveRegion:()=>HE,SpeechRegion:()=>WE,StringRegion:()=>_E,ToolTip:()=>UE});var Ys={};n.r(Ys),n.d(Ys,{AbstractExplorer:()=>VE});var Qs={};n.r(Qs),n.d(Qs,{SpeechExplorer:()=>YE,hasModifiers:()=>JE,isContainer:()=>$E});var Zs={};n.r(Zs),n.d(Zs,{AbstractMouseExplorer:()=>ZE,ContentHoverer:()=>sy,FlameHoverer:()=>iy,Hoverer:()=>ty,ValueHoverer:()=>ey});var ti={};n.r(ti),n.d(ti,{AbstractTreeExplorer:()=>ny,ContrastPicker:()=>ay,FlameColorer:()=>ry,TreeColorer:()=>oy});var ei={};n.r(ei),n.d(ei,{ATTR:()=>hy,getHighlighter:()=>my});var si={};n.r(si),n.d(si,{ExplorerPool:()=>Ey,RegionPool:()=>fy});var ii={};n.r(ii),n.d(ii,{ExplorerHandler:()=>vy,ExplorerMathDocumentMixin:()=>Ny,ExplorerMathItemMixin:()=>xy,setA11yOption:()=>Cy,setA11yOptions:()=>Ty});const ni="4.1.2",ri={},oi="undefined"!=typeof window?window:void 0!==n.g?n.g:"undefined"!=typeof globalThis?globalThis:ri;function ai(t){return"object"==typeof t&&null!==t}function li(t,e,s=!1){var i;for(const n of Object.keys(e))"__esModule"!==n&&t[n]!==e[n]&&null!==e[n]&&void 0!==e[n]&&(ai(t[n])&&ai(e[n])?li(t[n],e[n],s||"_"===n):s&&(null===(i=Object.getOwnPropertyDescriptor(t,n))||void 0===i?void 0:i.get)||(t[n]=e[n]));return t}function ci(t,e,s){t[e]||(t[e]={}),t=t[e];for(const e of Object.keys(s))ai(t[e])&&ai(s[e])?ci(t,e,s[e]):null==t[e]&&null!=s[e]&&(t[e]=s[e]);return t}function hi(t){return li(di,t)}void 0!==oi.MathJax&&oi.MathJax.constructor==={}.constructor||(oi.MathJax={}),oi.MathJax.version||(oi.MathJax={version:ni,_:{},config:oi.MathJax});const di=oi.MathJax;!Object.hasOwn&&di.config.startup.polyfillHasOwn&&(Object.hasOwn=function(t,e){if(null==t)throw new TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(t),e)});const ui="undefined"!=typeof window,pi={window:ui?window:null,document:ui?window.document:null,os:(()=>{if(ui&&window.navigator){const t=window.navigator.appVersion,e=[["Win","Windows"],["Mac","MacOS"],["X11","Unix"],["Linux","Unix"]];for(const[s,i]of e)if(t.includes(s))return i;if(window.navigator.userAgent.includes("Android"))return"Unix"}else if("undefined"!=typeof process)return{linux:"Unix",android:"Unix",aix:"Unix",freebsd:"Unix",netbsd:"Unix",openbsd:"Unix",sunos:"Unix",darwin:"MacOS",win32:"Windows",cygwin:"Windows"}[process.platform]||process.platform;return"unknown"})(),path:t=>t};"Windows"===pi.os&&(pi.path=t=>t.match(/^[/\\]?[a-zA-Z]:[/\\]/)?"file://"+t.replace(/\\/g,"/").replace(/^\//,""):t.replace(/^\//,"file:///"));class mi extends Error{constructor(t,e){super(t),this.package=e}}class gi{get canLoad(){return 0===this.dependencyCount&&!this.noLoad&&!this.isLoading&&!this.hasFailed}static loadPromise(t){const e=Ci[t]||{},s=e.extraLoads?vi.load(...e.extraLoads):Promise.resolve(),i=e.checkReady||(()=>Promise.resolve());return s.then(()=>i())}static resolvePath(t,e=!0){const s={name:t,original:t,addExtension:e};return vi.pathFilters.execute(s),s.name}static loadAll(){for(const t of this.packages.values())t.canLoad&&t.load()}constructor(t,e=!1){this.isLoaded=!1,this.result={},this.isLoading=!1,this.hasFailed=!1,this.dependents=[],this.dependencies=[],this.dependencyCount=0,this.provided=[],this.name=t,this.noLoad=e,gi.packages.set(t,this),this.promise=this.makePromise(this.makeDependencies())}makeDependencies(){const t=[],e=gi.packages,s=this.noLoad,i=this.name,n=[];Object.hasOwn(Ci.dependencies,i)?n.push(...Ci.dependencies[i]):"core"!==i&&n.push("core");for(const i of n){const n=e.get(i)||new gi(i,s);this.dependencies.includes(n)||(n.addDependent(this,s),this.dependencies.push(n),n.isLoaded||(this.dependencyCount++,t.push(n.promise)))}return t}makePromise(t){let e=new Promise((t,e)=>{this.resolve=t,this.reject=e});const s=Ci[this.name]||{};return s.ready&&(e=e.then(t=>s.ready(this.name))),t.length&&(t.push(e),e=Promise.all(t).then(t=>t.join(", "))),s.failed&&e.catch(t=>s.failed(new mi(t,this.name))),e}load(){if(!this.isLoaded&&!this.isLoading&&!this.noLoad){this.isLoading=!0;const t=gi.resolvePath(this.name);Ci.require?this.loadCustom(t):this.loadScript(t)}}loadCustom(t){try{const e=Ci.require(t);e instanceof Promise?e.then(t=>this.result=t).then(()=>this.checkLoad()).catch(e=>this.failed("Can't load \""+t+'"\n'+e.message.trim())):(this.result=e,this.checkLoad())}catch(t){this.failed(t.message)}}loadScript(t){const e=pi.document.createElement("script");e.src=t,e.charset="UTF-8",e.onload=t=>this.checkLoad(),e.onerror=e=>this.failed("Can't load \""+t+'"'),pi.document.head.appendChild(e)}loaded(){this.isLoaded=!0,this.isLoading=!1;for(const t of this.dependents)t.requirementSatisfied();for(const t of this.provided)t.loaded();this.resolve(this.name)}failed(t){this.hasFailed=!0,this.isLoading=!1,this.reject(new mi(t,this.name))}checkLoad(){gi.loadPromise(this.name).then(()=>this.loaded()).catch(t=>this.failed(t))}requirementSatisfied(){this.dependencyCount&&(this.dependencyCount--,this.canLoad&&this.load())}provides(t=[]){for(const e of t){let t=gi.packages.get(e);t||(Ci.dependencies[e]||(Ci.dependencies[e]=[]),Ci.dependencies[e].push(e),t=new gi(e,!0),t.isLoading=!0),this.provided.push(t)}}addDependent(t,e){this.dependents.push(t),e||this.checkNoLoad()}checkNoLoad(){if(this.noLoad){this.noLoad=!1;for(const t of this.dependencies)t.checkNoLoad()}}}gi.packages=new Map;class fi{constructor(){this.items=[],this.items=[]}[Symbol.iterator](){let t=0;const e=this.items;return{next:()=>({value:e[t++],done:t>e.length})}}add(t,e=fi.DEFAULTPRIORITY){let s=this.items.length;do{s--}while(s>=0&&e<this.items[s].priority);return this.items.splice(s+1,0,{item:t,priority:e}),t}remove(t){let e=this.items.length;do{e--}while(e>=0&&this.items[e].item!==t);return e>=0&&this.items.splice(e,1),this}}fi.DEFAULTPRIORITY=5;class bi extends fi{constructor(t=null){super(),t&&this.addList(t)}addList(t){for(const e of t)Array.isArray(e)?this.add(e[0],e[1]):this.add(e)}execute(...t){for(const e of this){if(!1===e.item(...t))return!1}return!0}asyncExecute(...t){let e=-1;const s=this.items;return new Promise((i,n)=>{!function r(){for(;++e<s.length;){const o=s[e].item(...t);if(o instanceof Promise)return void o.then(r).catch(t=>n(t));if(!1===o)return void i(!1)}i(!0)}()})}}const Ei=di.config||{};var yi=function(t,e,s,i){return new(s||(s=Promise))(function(n,r){function o(t){try{l(i.next(t))}catch(t){r(t)}}function a(t){try{l(i.throw(t))}catch(t){r(t)}}function l(t){var e;t.done?n(t.value):(e=t.value,e instanceof s?e:new s(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})};const xi={source:t=>(Object.hasOwn(Ci.source,t.name)&&(t.name=Ci.source[t.name]),!0),normalize:t=>{const e=t.name;return e.match(/^(?:[a-z]+:\/)?\/|[a-z]:[/\\]|\[/i)||(t.name="[mathjax]/"+e.replace(/^\.\//,"")),!0},prefix:t=>{let e;for(;(e=t.name.match(/^\[([^\]]*)\]/))&&Object.hasOwn(Ci.paths,e[1]);)t.name=Ci.paths[e[1]]+t.name.substring(e[0].length);return!0},addExtension:t=>(t.addExtension&&!t.name.match(/\.[^/]+$/)&&(t.name+=".js"),!0)},Ni=di.version,vi={versions:new Map,nestedLoads:[],ready(...t){0===t.length&&(t=Array.from(gi.packages.keys()));const e=[];for(const s of t){const t=gi.packages.get(s)||new gi(s,!0);e.push(t.promise)}return Promise.all(e)},load(...t){if(0===t.length)return Promise.resolve([]);let e=[];this.nestedLoads.unshift(e);const s=Promise.resolve().then(()=>yi(this,void 0,void 0,function*(){const s=[];for(const e of t){let t=gi.packages.get(e);t||(t=new gi(e),t.provides(Ci.provides[e])),t.checkNoLoad(),s.push(t.promise.then(()=>(Ci.versionWarnings&&t.isLoaded&&!vi.versions.has(gi.resolvePath(e))&&console.warn(`No version information available for component ${e}`),t.result)))}gi.loadAll();const i=yield Promise.all(s);for(;e.length;){const t=Promise.all(e);e=this.nestedLoads[this.nestedLoads.indexOf(e)]=[],yield t}return this.nestedLoads.splice(this.nestedLoads.indexOf(e),1),i}));return this.nestedLoads.slice(1).forEach(t=>t.push(s)),s},preLoaded(...t){for(const e of t){let t=gi.packages.get(e);t||(t=new gi(e,!0),t.provides(Ci.provides[e])),t.loaded()}},addPackageData(t,e){let s=Ci[t];s||(s=Ci[t]={});for(const[t,i]of Object.entries(e))if(Array.isArray(i)){s[t]||(s[t]=[]);const e=new Set([...s[t],...i]);s[t]=[...e]}else s[t]=i},defaultReady(){void 0!==Ti.startup&&Ti.config.startup.ready()},getRoot(){if(pi.document){const t=pi.document.currentScript||pi.document.getElementById("MathJax-script");if(t&&t instanceof HTMLScriptElement)return t.src.replace(/\/[^/]*$/,"")}return Ei?.loader?.paths?.mathjax||Ei?.__dirname||"/"},checkVersion(t,e,s){return this.saveVersion(t),!(!Ci.versionWarnings||e===Ni)&&(console.warn(`Component ${t} uses ${e} of MathJax; version in use is ${Ni}`),!0)},saveVersion(t){vi.versions.set(gi.resolvePath(t),Ni)},pathFilters:new bi};vi.pathFilters.add(xi.source,0),vi.pathFilters.add(xi.normalize,10),vi.pathFilters.add(xi.prefix,20),vi.pathFilters.add(xi.addExtension,30);const Ti=di;if(void 0===Ti.loader){ci(Ti.config,"loader",{paths:{mathjax:vi.getRoot(),fonts:pi.window?"https://cdn.jsdelivr.net/npm/@mathjax":"@mathjax"},source:{},dependencies:{},provides:{},load:[],ready:vi.defaultReady.bind(vi),failed:t=>console.log(`MathJax(${t.package||"?"}): ${t.message}`),require:null,pathFilters:[],versionWarnings:!0}),hi({loader:vi});for(const t of Ti.config.loader.pathFilters)Array.isArray(t)?vi.pathFilters.add(t[0],t[1]):vi.pathFilters.add(t)}const Ci=Ti.config.loader,Ai={}.constructor;function Li(t){return"object"==typeof t&&null!==t&&(t.constructor===Ai||t.constructor===wi)}const Si="[+]",Ri="[-]",Ii={invalidOption:"warn",optionError:(t,e)=>{if("fatal"===Ii.invalidOption)throw new Error(t);console.warn("MathJax: "+t)}};class wi{}function Mi(t){return Object.assign(Object.create(wi.prototype),t)}function Oi(t){return Array.isArray(t)?t:[t]}function ki(t){return t?Object.keys(t).concat(Object.getOwnPropertySymbols(t)):[]}function Di(t){const e={};for(const s of ki(t)){const i=Object.getOwnPropertyDescriptor(t,s),n=i.value;Array.isArray(n)?i.value=Pi([],n,!1):Li(n)&&(i.value=Di(n)),i.enumerable&&(e[s]=i)}return Object.defineProperties(t.constructor===wi?Mi({}):{},e)}function Pi(t,e,s=!0){for(let i of ki(e)){if(s&&void 0===t[i]&&t.constructor!==wi){"symbol"==typeof i&&(i=i.toString()),Ii.optionError(`Invalid option "${i}" (no default value).`,i);continue}const n=e[i];let r=t[i];if(!Li(n)||null===r||"object"!=typeof r&&"function"!=typeof r)Array.isArray(n)?(t[i]=[],Pi(t[i],n,!1)):Li(n)?t[i]=Di(n):t[i]=n;else{const e=ki(n);Array.isArray(r)&&(1===e.length&&(e[0]===Si||e[0]===Ri)&&Array.isArray(n[e[0]])||2===e.length&&e.sort().join(",")===Si+","+Ri&&Array.isArray(n[Si])&&Array.isArray(n[Ri]))?(n[Ri]&&(r=t[i]=r.filter(t=>n[Ri].indexOf(t)<0)),n[Si]&&(t[i]=[...r,...n[Si]])):Pi(r,n,s)}}return t}function Bi(t,...e){return e.forEach(e=>Pi(t,e,!1)),t}function Fi(t,...e){return e.forEach(e=>Pi(t,e,!0)),t}function ji(t,...e){const s={};for(const i of e)Object.hasOwn(t,i)&&(s[i]=t[i]);return s}function _i(t,e){return ji(t,...Object.keys(e))}function Ui(t,...e){const s=[];for(const i of e){const e={},n={};for(const s of Object.keys(t||{}))(void 0===i[s]?n:e)[s]=t[s];s.push(e),t=n}return s.unshift(t),s}function Hi(t,e,s=null){return Object.hasOwn(e,t)?e[t]:s}var Wi=function(t,e,s,i){return new(s||(s=Promise))(function(n,r){function o(t){try{l(i.next(t))}catch(t){r(t)}}function a(t){try{l(i.throw(t))}catch(t){r(t)}}function l(t){var e;t.done?n(t.value):(e=t.value,e instanceof s?e:new s(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})};class qi{static toMML(t){return qi.visitor.visitTree(t,this.document)}static registerConstructor(t,e){qi.constructors[t]=e}static useHandler(t,e=!1){Gi.handler&&!e||(Gi.handler=t)}static useAdaptor(t,e=!1){Gi.adaptor&&!e||(Gi.adaptor=t)}static useInput(t,e=!1){Xi&&!e||Gi.input.push(t)}static useOutput(t,e=!1){Gi.output&&!e||(Gi.output=t)}static extendHandler(t,e=10){qi.extensions.add(t,e)}static defaultReady(){qi.getComponents(),qi.makeMethods(),qi.pagePromise.then(()=>Gi.pageReady()).then(()=>qi.promiseResolve()).catch(t=>qi.promiseReject(t))}static defaultPageReady(){return(Gi.loadAllFontFiles&&qi.output.font?qi.output.font.loadDynamicFiles():Promise.resolve()).then(()=>{var t;return null===(t=qi.document.menu)||void 0===t?void 0:t.loadingPromise}).then(Gi.typeset&&Vi.typesetPromise?()=>qi.typesetPromise(Gi.elements):Promise.resolve()).then(()=>qi.promiseResolve())}static typesetPromise(t){return this.hasTypeset=!0,qi.document.whenReady(()=>Wi(this,void 0,void 0,function*(){qi.document.options.elements=t,qi.document.reset(),yield qi.document.renderPromise()}))}static getComponents(){qi.visitor=new Vi._.core.MmlTree.SerializedMmlVisitor.SerializedMmlVisitor,qi.mathjax=Vi._.mathjax.mathjax,qi.input=qi.getInputJax(),qi.output=qi.getOutputJax(),qi.adaptor=qi.getAdaptor(),qi.handler&&qi.mathjax.handlers.unregister(qi.handler),qi.handler=qi.getHandler(),qi.handler&&(qi.mathjax.handlers.register(qi.handler),qi.document=qi.getDocument())}static makeMethods(){qi.input&&qi.output&&qi.makeTypesetMethods();const t=qi.output?qi.output.name.toLowerCase():"";for(const e of qi.input){const s=e.name.toLowerCase();qi.makeMmlMethods(s,e),qi.makeResetMethod(s,e),qi.output&&qi.makeOutputMethods(s,t,e)}Vi.done=()=>qi.document.done(),Vi.whenReady=t=>qi.document.whenReady(t)}static makeTypesetMethods(){Vi.typeset=(t=null)=>{this.hasTypeset=!0,qi.document.options.elements=t,qi.document.reset(),qi.document.render()},Vi.typesetPromise=(t=null)=>qi.typesetPromise(t),Vi.typesetClear=(t=null)=>{t?qi.document.clearMathItemsWithin(t):qi.document.clear()}}static makeOutputMethods(t,e,s){const i=t+"2"+e;Vi[i]=(t,e={})=>(e=Object.assign(Object.assign({},e),{format:s.name}),qi.document.convert(t,e)),Vi[i+"Promise"]=(t,e={})=>(e=Object.assign(Object.assign({},e),{format:s.name}),qi.document.convertPromise(t,e)),Vi[e+"Stylesheet"]=()=>qi.output.styleSheet(qi.document),"getMetricsFor"in qi.output&&(Vi.getMetricsFor=(t,e)=>qi.output.getMetricsFor(t,e))}static makeMmlMethods(t,e){const s=Vi._.core.MathItem.STATE;Vi[t+"2mml"]=(t,i={})=>(i=Object.assign(Object.assign({},i),{end:s.CONVERT,format:e.name}),qi.toMML(qi.document.convert(t,i))),Vi[t+"2mmlPromise"]=(t,...i)=>Wi(this,[t,...i],void 0,function*(t,i={}){i=Object.assign(Object.assign({},i),{end:s.CONVERT,format:e.name});const n=yield qi.document.convertPromise(t,i);return qi.toMML(n)})}static makeResetMethod(t,e){Vi[t+"Reset"]=(...t)=>e.reset(...t)}static getInputJax(){const t=[];for(const e of Gi.input){const s=qi.constructors[e];if(!s)throw Error('Input Jax "'+e+'" is not defined (has it been loaded?)');t[e]=new s(Vi.config[e]),t.push(t[e])}return t}static getOutputJax(){const t=Gi.output;if(!t)return null;const e=qi.constructors[t];if(!e)throw Error('Output Jax "'+t+'" is not defined (has it been loaded?)');return new e(Vi.config[t])}static getAdaptor(){const t=Gi.adaptor;if(!t||"none"===t)return null;const e=qi.constructors[t];if(!e)throw Error('DOMAdaptor "'+t+'" is not defined (has it been loaded?)');return e(Vi.config[t])}static getHandler(){const t=Gi.handler;if(!t||"none"===t||!qi.adaptor)return null;const e=qi.constructors[t];if(!e)throw Error('Handler "'+t+'" is not defined (has it been loaded?)');let s=new e(qi.adaptor,5);for(const t of qi.extensions)s=t.item(s);return s}static getDocument(t=null){return qi.mathjax.document(t||Gi.document,Object.assign(Object.assign({},Vi.config.options),{InputJax:qi.input,OutputJax:qi.output}))}}qi.extensions=new fi,qi.constructors={},qi.input=[],qi.output=null,qi.handler=null,qi.adaptor=null,qi.elements=null,qi.document=null,qi.promise=new Promise((t,e)=>{qi.promiseResolve=t,qi.promiseReject=e}),qi.pagePromise=new Promise((t,e)=>{const s=oi.document;if(s&&s.readyState&&"complete"!==s.readyState&&"interactive"!==s.readyState){const e=()=>t();s.defaultView.addEventListener("load",e,!0),s.defaultView.addEventListener("DOMContentLoaded",e,!0)}else t()}),qi.hasTypeset=!1,qi.defaultOptionError=Ii.optionError;const Vi=di;void 0===Vi._.startup&&(ci(Vi.config,"startup",{input:[],output:"",handler:null,adaptor:null,document:pi.document||"",elements:null,typeset:!0,ready:qi.defaultReady.bind(qi),pageReady:qi.defaultPageReady.bind(qi),polyfillHasOwn:!0}),hi({startup:qi,options:{}}),Vi.config.startup.invalidOption&&(Ii.invalidOption=Vi.config.startup.invalidOption),Vi.config.startup.optionError&&(Ii.optionError=Vi.config.startup.optionError));const Gi=Vi.config.startup,Xi=0!==Gi.input.length;MathJax.loader&&MathJax.loader.checkVersion("startup",ni,"startup"),hi({_:{components:{loader:o,package:s,startup:l}}});vi.preLoaded("loader","startup"),ci(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"]}),ci(MathJax.config.loader,"paths",{tex:"[mathjax]/input/tex/extensions",mml:"[mathjax]/input/mml/extensions",sre:"[mathjax]/sre",mathmaps:"[sre]/mathmaps"}),ci(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"]}),ci(MathJax.config.loader,"source",{"[tex]/amsCd":"[tex]/amscd","[tex]/colorV2":"[tex]/colorv2","[tex]/configMacros":"[tex]/configmacros","[tex]/tagFormat":"[tex]/tagformat"});class zi{constructor(t=null){this.canMeasureNodes=!0,this.document=t}node(t,e={},s=[],i){const n=this.create(t,i);this.setAttributes(n,e);for(const t of s)this.append(n,t);return n}setProperty(t,e,s){t[e]=s}getProperty(t,e){return t[e]}setAttributes(t,e){if(e.style&&"string"!=typeof e.style)for(const s of Object.keys(e.style))this.setStyle(t,s.replace(/-([a-z])/g,(t,e)=>e.toUpperCase()),e.style[s]);if(e.properties)for(const s of Object.keys(e.properties))t[s]=e.properties[s];for(const s of Object.keys(e))"style"===s&&"string"!=typeof e.style||"properties"===s||this.setAttribute(t,s,e[s])}replace(t,e){return this.insert(t,e),this.remove(e),e}childNode(t,e){return this.childNodes(t)[e]}allClasses(t){const e=this.getAttribute(t,"class");return e?e.replace(/ +/g," ").replace(/^ /,"").replace(/ $/,"").split(/ /):[]}cssText(t){return"style"===this.kind(t)?this.textContent(t):""}}var Ki=function(t,e,s,i){return new(s||(s=Promise))(function(n,r){function o(t){try{l(i.next(t))}catch(t){r(t)}}function a(t){try{l(i.throw(t))}catch(t){r(t)}}function l(t){var e;t.done?n(t.value):(e=t.value,e instanceof s?e:new s(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})};class $i extends zi{constructor(t){super(t.document),this.canMeasureNodes=!0,this.window=t,this.parser=new t.DOMParser}parse(t,e="text/html"){return this.parser.parseFromString(t,e)}create(t,e){return e?this.document.createElementNS(e,t):this.document.createElement(t)}text(t){return this.document.createTextNode(t)}head(t=this.document){return t.head||t}body(t=this.document){return t.body||t}root(t=this.document){return t.documentElement||t}doctype(t=this.document){return t.doctype?`<!DOCTYPE ${t.doctype.name}>`:""}tags(t,e,s=null){const i=s?t.getElementsByTagNameNS(s,e):t.getElementsByTagName(e);return Array.from(i)}getElements(t,e){let s=[];for(const e of t)"string"==typeof e?s=s.concat(Array.from(this.document.querySelectorAll(e))):Array.isArray(e)||e instanceof this.window.NodeList||e instanceof this.window.HTMLCollection?s=s.concat(Array.from(e)):s.push(e);return s}getElement(t,e=this.document){return e.querySelector(t)}contains(t,e){return t.contains(e)}parent(t){return t.parentNode}append(t,e){return t.appendChild(e)}insert(t,e){return this.parent(e).insertBefore(t,e)}remove(t){return this.parent(t).removeChild(t)}replace(t,e){return this.parent(e).replaceChild(t,e)}clone(t,e=!0){return t.cloneNode(e)}split(t,e){return t.splitText(e)}next(t){return t.nextSibling}previous(t){return t.previousSibling}firstChild(t){return t.firstChild}lastChild(t){return t.lastChild}childNodes(t){return Array.from(t.childNodes)}childNode(t,e){return t.childNodes[e]}kind(t){const e=t.nodeType;return 1===e||3===e||8===e?t.nodeName.toLowerCase():""}value(t){return t.nodeValue||""}textContent(t){return t.textContent}innerHTML(t){return t.innerHTML}outerHTML(t){return t.outerHTML}serializeXML(t){return(new this.window.XMLSerializer).serializeToString(t)}setAttribute(t,e,s,i=null){return i?(e=i.replace(/.*\//,"")+":"+e.replace(/^.*:/,""),t.setAttributeNS(i,e,s)):("style"===e&&(s=s.replace(/\n/g," ")),t.setAttribute(e,s))}getAttribute(t,e){return t.getAttribute(e)}removeAttribute(t,e){return t.removeAttribute(e)}hasAttribute(t,e){return t.hasAttribute(e)}allAttributes(t){return Array.from(t.attributes).map(t=>({name:t.name,value:t.value}))}addClass(t,e){t.classList?t.classList.add(e):t.className=(t.className+" "+e).trim()}removeClass(t,e){t.classList?t.classList.remove(e):t.className=t.className.split(/ /).filter(t=>t!==e).join(" ")}hasClass(t,e){return t.classList?t.classList.contains(e):t.className.split(/ /).includes(e)}setStyle(t,e,s){t.style[e]=String(s).replace(/\n/g," ")}getStyle(t,e){return t.style[e]}allStyles(t){return t.style.cssText}insertRules(t,e){for(const s of e)try{t.sheet.insertRule(s,t.sheet.cssRules.length)}catch(t){console.warn(`MathJax: can't insert css rule '${s}': ${t.message}`)}}cssText(t){return"style"!==this.kind(t)?"":Array.from(t.sheet.cssRules).map(t=>t.cssText).join("\n")}fontSize(t){const e=this.window.getComputedStyle(t);return parseFloat(e.fontSize||String(this.constructor.DEFAULT_FONT_SIZE))}fontFamily(t){return this.window.getComputedStyle(t).fontFamily||""}nodeSize(t,e=1,s=!1){if(s&&t.getBBox){const{width:s,height:i}=t.getBBox();return[s/e,i/e]}return[t.offsetWidth/e,t.offsetHeight/e]}nodeBBox(t){const{left:e,right:s,top:i,bottom:n}=t.getBoundingClientRect();return{left:e,right:s,top:i,bottom:n}}createWorker(t,e){return Ki(this,void 0,void 0,function*(){const{path:s,maps:i,worker:n}=e,r=`${s}/${n}`,o=`\n self.maps = '${Ji(i)}';\n importScripts('${Ji(r)}');\n `,a=URL.createObjectURL(new Blob([o],{type:"text/javascript"})),l=new Worker(a);return l.onmessage=t,URL.revokeObjectURL(a),l})}}function Ji(t){return[...t].map(t=>("\\"===t||"'"===t?t="\\"+t:(t<" "||t>"~")&&(t=`\\u{${t.codePointAt(0).toString(16)}}`),t)).join("")}function Yi(){return new $i(window)}$i.DEFAULT_FONT_SIZE=16;class Qi{constructor(t){const e=this.constructor;this.options=Fi(Bi({},e.OPTIONS),t)}}Qi.OPTIONS={};class Zi{constructor(t={}){this.adaptor=null,this.mmlFactory=null;const e=this.constructor;this.options=Fi(Bi({},e.OPTIONS),t),this.preFilters=new bi(this.options.preFilters),this.postFilters=new bi(this.options.postFilters)}get name(){return this.constructor.NAME}setAdaptor(t){this.adaptor=t}setMmlFactory(t){this.mmlFactory=t}initialize(){}reset(...t){}get processStrings(){return!0}findMath(t,e){return[]}executeFilters(t,e,s,i){const n={math:e,document:s,data:i};return t.execute(n),n.data}}Zi.NAME="generic",Zi.OPTIONS={preFilters:[],postFilters:[]};class tn{constructor(t={}){this.adaptor=null;const e=this.constructor;this.options=Fi(Bi({},e.OPTIONS),t),this.preFilters=new bi(this.options.preFilters),this.postFilters=new bi(this.options.postFilters)}get name(){return this.constructor.NAME}setAdaptor(t){this.adaptor=t}initialize(){}reset(...t){}getMetrics(t){}styleSheet(t){return null}pageElements(t){return null}executeFilters(t,e,s,i){const n={math:e,document:s,data:i};return t.execute(n),n.data}}tn.NAME="generic",tn.OPTIONS={preFilters:[],postFilters:[]};const en=Symbol();class sn{constructor(t=null){this.next=null,this.prev=null,this.data=t}}class nn{constructor(...t){this.list=new sn(en),this.list.next=this.list.prev=this.list,this.push(...t)}isBefore(t,e){return t<e}push(...t){for(const e of t){const t=new sn(e);t.next=this.list,t.prev=this.list.prev,this.list.prev=t,t.prev.next=t}return this}pop(){const t=this.list.prev;return t.data===en?null:(this.list.prev=t.prev,t.prev.next=this.list,t.next=t.prev=null,t.data)}unshift(...t){for(const e of t.slice(0).reverse()){const t=new sn(e);t.next=this.list.next,t.prev=this.list,this.list.next=t,t.next.prev=t}return this}shift(){const t=this.list.next;return t.data===en?null:(this.list.next=t.next,t.next.prev=this.list,t.next=t.prev=null,t.data)}remove(...t){const e=new Map;for(const s of t)e.set(s,!0);let s=this.list.next;for(;s.data!==en;){const t=s.next;e.has(s.data)&&(s.prev.next=s.next,s.next.prev=s.prev,s.next=s.prev=null),s=t}return this}clear(){return this.list.next.prev=this.list.prev.next=null,this.list.next=this.list.prev=this.list,this}*[Symbol.iterator](){let t=this.list.next;for(;t.data!==en;)yield t.data,t=t.next}*reversed(){let t=this.list.prev;for(;t.data!==en;)yield t.data,t=t.prev}insert(t,e=null){null===e&&(e=this.isBefore.bind(this));const s=new sn(t);let i=this.list.next;for(;i.data!==en&&e(i.data,s.data);)i=i.next;return s.prev=i.prev,s.next=i,i.prev.next=i.prev=s,this}sort(t=null){null===t&&(t=this.isBefore.bind(this));const e=[];for(const t of this)e.push(new nn(t));for(this.list.next=this.list.prev=this.list;e.length>1;){const s=e.shift(),i=e.shift();s.merge(i,t),e.push(s)}return e.length&&(this.list=e[0].list),this}merge(t,e=null){null===e&&(e=this.isBefore.bind(this));let s=this.list.next,i=t.list.next;for(;s.data!==en&&i.data!==en;)e(i.data,s.data)?([i.prev.next,s.prev.next]=[s,i],[i.prev,s.prev]=[s.prev,i.prev],[this.list.prev.next,t.list.prev.next]=[t.list,this.list],[this.list.prev,t.list.prev]=[t.list.prev,this.list.prev],[s,i]=[i.next,s]):s=s.next;return i.data!==en&&(this.list.prev.next=t.list.next,t.list.next.prev=this.list.prev,t.list.prev.next=this.list,this.list.prev=t.list.prev,t.list.next=t.list.prev=t.list),this}}class rn extends nn{isBefore(t,e){return t.start.i<e.start.i||t.start.i===e.start.i&&t.start.n<e.start.n}}function on(t,e,s,i,n,r,o=null){return{open:t,math:e,close:s,n:i,start:{n},end:{n:r},display:o}}class an{get isEscaped(){return null===this.display}constructor(t,e,s=!0,i={i:0,n:0,delim:""},n={i:0,n:0,delim:""}){this.root=null,this.typesetRoot=null,this.metrics={},this.inputData={},this.outputData={},this._state=ln.UNPROCESSED,this.math=t,this.inputJax=e,this.display=s,this.start=i,this.end=n,this.root=null,this.typesetRoot=null,this.metrics={},this.inputData={},this.outputData={}}render(t){t.renderActions.renderMath(this,t)}rerender(t,e=ln.RERENDER){this.state()>=e&&this.state(e-1),t.renderActions.renderMath(this,t,e)}convert(t,e=ln.LAST){t.renderActions.renderConvert(this,t,e)}compile(t){this.state()<ln.COMPILED&&(this.root=this.inputJax.compile(this,t),this.state(ln.COMPILED))}typeset(t){this.state()<ln.TYPESET&&(this.typesetRoot=t.outputJax[this.isEscaped?"escaped":"typeset"](this,t),this.state(ln.TYPESET))}updateDocument(t){}removeFromDocument(t=!1){this.clear()}setMetrics(t,e,s,i){this.metrics={em:t,ex:e,containerWidth:s,scale:i}}state(t=null,e=!1){return null!=t&&(t<ln.INSERTED&&this._state>=ln.INSERTED&&this.removeFromDocument(e),t<ln.TYPESET&&this._state>=ln.TYPESET&&(this.outputData={}),t<ln.COMPILED&&this._state>=ln.COMPILED&&(this.inputData={}),this._state=t),this._state}reset(t=!1){this.state(ln.UNPROCESSED,t)}clear(){}}const ln={UNPROCESSED:0,FINDMATH:10,COMPILED:20,CONVERT:100,METRICS:110,RERENDER:125,TYPESET:150,INSERTED:200,LAST:1e4};function cn(t,e){if(t in ln)throw Error("State "+t+" already exists");ln[t]=e}class hn{constructor(t=null){this.defaultKind="unknown",this.nodeMap=new Map,this.node={},null===t&&(t=this.constructor.defaultNodes);for(const e of Object.keys(t))this.setNodeClass(e,t[e])}create(t,...e){return(this.node[t]||this.node[this.defaultKind])(...e)}setNodeClass(t,e){this.nodeMap.set(t,e);const s=this.nodeMap.get(t);this.node[t]=(...t)=>new s(this,...t)}getNodeClass(t){return this.nodeMap.get(t)}deleteNodeClass(t){this.nodeMap.delete(t),delete this.node[t]}nodeIsKind(t,e){return t instanceof this.getNodeClass(e)}getKinds(){return Array.from(this.nodeMap.keys())}}hn.defaultNodes={};class dn extends hn{create(t,e={},s=[]){return this.node[t](e,s)}}const un="_inherit_";class pn{constructor(t,e){this.global=e,this.defaults=Object.create(e),this.inherited=Object.create(this.defaults),this.attributes=Object.create(this.inherited),Object.assign(this.defaults,t)}set(t,e){this.attributes[t]=e}setList(t){Object.assign(this.attributes,t)}unset(t){delete this.attributes[t]}get(t){let e=this.attributes[t];return e===un&&(e=this.global[t]),e}getExplicit(t){return this.hasExplicit(t)?this.attributes[t]:void 0}hasExplicit(t){return Object.hasOwn(this.attributes,t)}hasOneOf(t){for(const e of t)if(this.hasExplicit(e))return!0;return!1}getList(...t){const e={};for(const s of t)e[s]=this.get(s);return e}setInherited(t,e){this.inherited[t]=e}getInherited(t){return this.inherited[t]}getDefault(t){return this.defaults[t]}isSet(t){return Object.hasOwn(this.attributes,t)||Object.hasOwn(this.inherited,t)}hasDefault(t){return t in this.defaults}getExplicitNames(){return Object.keys(this.attributes)}getInheritedNames(){return Object.keys(this.inherited)}getDefaultNames(){return Object.keys(this.defaults)}getGlobalNames(){return Object.keys(this.global)}getAllAttributes(){return this.attributes}getAllInherited(){return this.inherited}getAllDefaults(){return this.defaults}getAllGlobals(){return this.global}}class mn{constructor(t,e={},s=[]){this.factory=t,this.parent=null,this.properties={},this.childNodes=[];for(const t of Object.keys(e))this.setProperty(t,e[t]);s.length&&this.setChildren(s)}get kind(){return"unknown"}setProperty(t,e){this.properties[t]=e}getProperty(t){return this.properties[t]}getPropertyNames(){return Object.keys(this.properties)}getAllProperties(){return this.properties}removeProperty(...t){for(const e of t)delete this.properties[e]}isKind(t){return this.factory.nodeIsKind(this,t)}setChildren(t){this.childNodes=[];for(const e of t)this.appendChild(e)}appendChild(t){return this.childNodes.push(t),t.parent=this,t}replaceChild(t,e){const s=this.childIndex(e);return null!==s&&(this.childNodes[s]=t,t.parent=this,e.parent===this&&(e.parent=null)),t}removeChild(t){const e=this.childIndex(t);return null!==e&&(this.childNodes.splice(e,1),t.parent=null),t}childIndex(t){const e=this.childNodes.indexOf(t);return-1===e?null:e}copy(){const t=this.factory.create(this.kind);t.properties=Object.assign({},this.properties);for(const e of this.childNodes||[])e&&t.appendChild(e.copy());return t}findNodes(t){const e=[];return this.walkTree(s=>{s.isKind(t)&&e.push(s)}),e}walkTree(t,e){t(this,e);for(const s of this.childNodes)s&&s.walkTree(t,e);return e}toString(){return this.kind+"("+this.childNodes.join(",")+")"}}class gn extends mn{setChildren(t){}appendChild(t){return t}replaceChild(t,e){return e}childIndex(t){return null}walkTree(t,e){return t(this,e),e}toString(){return this.kind}}const fn={ORD:0,OP:1,BIN:2,REL:3,OPEN:4,CLOSE:5,PUNCT:6,INNER:7,NONE:-1},bn=["ORD","OP","BIN","REL","OPEN","CLOSE","PUNCT","INNER"],En=["","thinmathspace","mediummathspace","thickmathspace"],yn=[[0,-1,2,3,0,0,0,1],[-1,-1,0,3,0,0,0,1],[2,2,0,0,2,0,0,2],[3,3,0,0,3,0,0,3],[0,0,0,0,0,0,0,0],[0,-1,2,3,0,0,0,1],[1,1,0,1,1,1,1,1],[1,-1,2,3,1,0,1,1]],xn=new Set(["normal","bold","italic","bold-italic","double-struck","fraktur","bold-fraktur","script","bold-script","sans-serif","bold-sans-serif","sans-serif-italic","sans-serif-bold-italic","monospace","inital","tailed","looped","stretched"]),Nn=["indentalign","indentalignfirst","indentshift","indentshiftfirst"];class vn extends mn{constructor(t,e={},s=[]){super(t),this.prevClass=null,this.prevLevel=null,this.texclass=null,this.arity<0&&(this.childNodes=[t.create("inferredMrow")],this.childNodes[0].parent=this),this.setChildren(s),this.attributes=new pn(t.getNodeClass(this.kind).defaults,t.getNodeClass("math").defaults),this.attributes.setList(e)}copy(t=!1){const e=this.factory.create(this.kind);if(e.properties=Object.assign({},this.properties),this.attributes){const s=this.attributes.getAllAttributes();for(const i of Object.keys(s))("id"!==i||t)&&e.attributes.set(i,s[i])}if(this.childNodes&&this.childNodes.length){let t=this.childNodes;1===t.length&&t[0].isInferred&&(t=t[0].childNodes);for(const s of t)s?e.appendChild(s.copy()):e.childNodes.push(null)}return e}get texClass(){return this.texclass}set texClass(t){this.texclass=t}get isToken(){return!1}get isEmbellished(){return!1}get isSpacelike(){return!1}get linebreakContainer(){return!1}get linebreakAlign(){return"data-align"}get isEmpty(){for(const t of this.childNodes)if(t&&!t.isEmpty)return!1;return!0}get arity(){return 1/0}get isInferred(){return!1}get Parent(){let t=this.parent;for(;t&&t.notParent;)t=t.Parent;return t}get notParent(){return!1}setChildren(t){return this.arity<0?this.childNodes[0].setChildren(t):super.setChildren(t)}appendChild(t){if(this.arity<0)return this.childNodes[0].appendChild(t),t;if(t.isInferred){if(this.arity===1/0)return t.childNodes.forEach(t=>super.appendChild(t)),t;const e=t;(t=this.factory.create("mrow")).setChildren(e.childNodes),t.attributes=e.attributes;for(const s of e.getPropertyNames())t.setProperty(s,e.getProperty(s))}return super.appendChild(t)}replaceChild(t,e){return this.arity<0?(this.childNodes[0].replaceChild(t,e),t):super.replaceChild(t,e)}core(){return this}coreMO(){return this}coreIndex(){return 0}childPosition(){let t=null,e=this.parent;for(;e&&e.notParent;)t=e,e=e.parent;if(t=t||this,e){let s=0;for(const i of e.childNodes){if(i===t)return s;s++}}return null}setTeXclass(t){return this.getPrevClass(t),null!=this.texClass?this:t}updateTeXclass(t){t&&(this.prevClass=t.prevClass,this.prevLevel=t.prevLevel,t.prevClass=t.prevLevel=null,this.texClass=t.texClass)}getPrevClass(t){t&&(this.prevClass=t.texClass,this.prevLevel=t.attributes.get("scriptlevel"))}texSpacing(){const t=null!=this.prevClass?this.prevClass:fn.NONE,e=this.texClass||fn.ORD;if(t===fn.NONE||e===fn.NONE)return"";const s=yn[t][e];return(this.prevLevel>0||this.attributes.get("scriptlevel")>0)&&s>=0?"":En[Math.abs(s)]}hasSpacingAttributes(){return this.isEmbellished&&this.coreMO().hasSpacingAttributes()}setInheritedAttributes(t={},e=!1,s=0,i=!1){var n,r,o;const a=this.attributes.getAllDefaults();for(const e of Object.keys(t)){if(Object.hasOwn(a,e)||Object.hasOwn(vn.alwaysInherit,e)){const[s,i]=t[e];(null===(r=null===(n=vn.noInherit[s])||void 0===n?void 0:n[this.kind])||void 0===r?void 0:r[e])||this.attributes.setInherited(e,i)}(null===(o=vn.stopInherit[this.kind])||void 0===o?void 0:o[e])&&delete(t=Object.assign({},t))[e]}void 0===this.attributes.getExplicit("displaystyle")&&this.attributes.setInherited("displaystyle",e);void 0===this.attributes.getExplicit("scriptlevel")&&this.attributes.setInherited("scriptlevel",s),i&&this.setProperty("texprimestyle",i);const l=this.arity;if(l>=0&&l!==1/0&&(1===l&&0===this.childNodes.length||1!==l&&this.childNodes.length!==l))if(l<this.childNodes.length)this.childNodes=this.childNodes.slice(0,l);else for(;this.childNodes.length<l;)this.appendChild(this.factory.create("mrow"));if(this.linebreakContainer&&!this.isEmbellished){const e=this.linebreakAlign;if(e){const s=this.attributes.get(e)||"left";t=this.addInheritedAttributes(t,{indentalign:s,indentshift:"0",indentalignfirst:s,indentshiftfirst:"0",indentalignlast:"indentalign",indentshiftlast:"indentshift"})}}this.setChildInheritedAttributes(t,e,s,i)}setChildInheritedAttributes(t,e,s,i){for(const n of this.childNodes)n.setInheritedAttributes(t,e,s,i)}addInheritedAttributes(t,e){const s=Object.assign({},t);for(const t of Object.keys(e))"displaystyle"!==t&&"scriptlevel"!==t&&"style"!==t&&(s[t]=[this.kind,e[t]]);return s}inheritAttributesFrom(t){const e=t.attributes,s=e.get("displaystyle"),i=e.get("scriptlevel"),n=e.isSet("mathsize")?{mathsize:["math",e.get("mathsize")]}:{},r=t.getProperty("texprimestyle")||!1;this.setInheritedAttributes(n,s,i,r)}verifyTree(t=null){if(null===t)return;this.verifyAttributes(t);const e=this.arity;t.checkArity&&e>=0&&e!==1/0&&(1===e&&0===this.childNodes.length||1!==e&&this.childNodes.length!==e)&&this.mError('Wrong number of children for "'+this.kind+'" node',t,!0),this.verifyChildren(t)}verifyAttributes(t){if(t.checkAttributes){const e=this.attributes,s=[];for(const t of e.getExplicitNames())"data-"===t.substring(0,5)||void 0!==e.getDefault(t)||t.match(/^(?:class|style|id|(?:xlink:)?href)$/)||s.push(t);s.length&&this.mError("Unknown attributes for "+this.kind+" node: "+s.join(", "),t)}if(t.checkMathvariants){const e=this.attributes.getExplicit("mathvariant");!e||xn.has(e)||this.getProperty("ignore-variant")||this.mError(`Invalid mathvariant: ${e}`,t,!0)}}verifyChildren(t){for(const e of this.childNodes)e.verifyTree(t)}mError(t,e,s=!1){if(this.parent&&this.parent.isKind("merror"))return null;const i=this.factory.create("merror");if(i.attributes.set("data-mjx-message",t),e.fullErrors||s){const s=this.factory.create("mtext"),n=this.factory.create("text");n.setText(e.fullErrors?t:this.kind),s.appendChild(n),i.appendChild(s),this.parent.replaceChild(i,this),e.fullErrors||i.attributes.set("title",t)}else this.parent.replaceChild(i,this),i.appendChild(this);return i}}vn.defaults={mathbackground:un,mathcolor:un,mathsize:un,dir:un},vn.noInherit={mstyle:{mpadded:{width:!0,height:!0,depth:!0,lspace:!0,voffset:!0},mtable:{width:!0,height:!0,depth:!0,align:!0}},maligngroup:{mrow:{groupalign:!0},mtable:{groupalign:!0}},mtr:{msqrt:{"data-vertical-align":!0},mroot:{"data-vertical-align":!0}},mlabeledtr:{msqrt:{"data-vertical-align":!0},mroot:{"data-vertical-align":!0}}},vn.stopInherit={mtd:{columnalign:!0,rowalign:!0,groupalign:!0}},vn.alwaysInherit={scriptminsize:!0,scriptsizemultiplier:!0,infixlinebreakstyle:!0},vn.verifyDefaults={checkArity:!0,checkAttributes:!1,checkMathvariants:!0,fullErrors:!1,fixMmultiscripts:!0,fixMtables:!0};class Tn extends vn{get isToken(){return!0}get isEmpty(){for(const t of this.childNodes)if(!(t instanceof Sn)||t.getText().length)return!1;return!0}getText(){let t="";for(const e of this.childNodes)e instanceof Sn?t+=e.getText():"textContent"in e&&(t+=e.textContent());return t}setChildInheritedAttributes(t,e,s,i){for(const n of this.childNodes)n instanceof vn&&n.setInheritedAttributes(t,e,s,i)}walkTree(t,e){t(this,e);for(const s of this.childNodes)s instanceof vn&&s.walkTree(t,e);return e}}Tn.defaults=Object.assign(Object.assign({},vn.defaults),{mathvariant:"normal",mathsize:un});class Cn extends vn{get isSpacelike(){return this.childNodes[0].isSpacelike}get isEmbellished(){return this.childNodes[0].isEmbellished}get arity(){return-1}core(){return this.childNodes[0]}coreMO(){return this.childNodes[0].coreMO()}setTeXclass(t){return t=this.childNodes[0].setTeXclass(t),this.updateTeXclass(this.childNodes[0]),t}}Cn.defaults=vn.defaults;class An extends vn{get isEmbellished(){return this.childNodes[0].isEmbellished}core(){return this.childNodes[0]}coreMO(){return this.childNodes[0].coreMO()}setTeXclass(t){this.getPrevClass(t),this.texClass=fn.ORD;const e=this.childNodes[0];let s=null;e&&(this.isEmbellished||e.isKind("mi")?(s=e.setTeXclass(t),this.updateTeXclass(this.core())):(e.setTeXclass(null),e.isKind("TeXAtom")&&(this.texClass=e.texClass)));for(const t of this.childNodes.slice(1))t&&t.setTeXclass(null);return s||this}}An.defaults=vn.defaults;class Ln extends gn{get isToken(){return!1}get isEmpty(){return!0}get isEmbellished(){return!1}get isSpacelike(){return!1}get linebreakContainer(){return!1}get linebreakAlign(){return""}get arity(){return 0}get isInferred(){return!1}get notParent(){return!1}get Parent(){return this.parent}get texClass(){return fn.NONE}get prevClass(){return fn.NONE}get prevLevel(){return 0}hasSpacingAttributes(){return!1}get attributes(){return null}core(){return this}coreMO(){return this}coreIndex(){return 0}childPosition(){return 0}setTeXclass(t){return t}texSpacing(){return""}setInheritedAttributes(t,e,s,i){}inheritAttributesFrom(t){}verifyTree(t){}mError(t,e,s=!1){return null}}class Sn extends Ln{constructor(){super(...arguments),this.text=""}get kind(){return"text"}getText(){return this.text}setText(t){return this.text=t,this}copy(){return this.factory.create(this.kind).setText(this.getText())}toString(){return this.text}}class Rn extends Ln{constructor(){super(...arguments),this.xml=null,this.adaptor=null}get kind(){return"XML"}getXML(){return this.xml}setXML(t,e=null){return this.xml=t,this.adaptor=e,this}getSerializedXML(){return this.adaptor.serializeXML(this.xml)}copy(){return this.factory.create(this.kind).setXML(this.adaptor.clone(this.xml))}toString(){return"XML data"}}class In extends Cn{get kind(){return"math"}get linebreakContainer(){return!0}get linebreakAlign(){return""}setChildInheritedAttributes(t,e,s,i){"display"===this.attributes.get("mode")&&this.attributes.setInherited("display","block"),t=this.addInheritedAttributes(t,this.attributes.getAllAttributes()),e=!!this.attributes.get("displaystyle")||!this.attributes.get("displaystyle")&&"block"===this.attributes.get("display"),this.attributes.setInherited("displaystyle",e),s=this.attributes.get("scriptlevel")||this.constructor.defaults.scriptlevel,super.setChildInheritedAttributes(t,e,s,i)}verifyTree(t=null){super.verifyTree(t),this.parent&&this.mError("Improper nesting of math tags",t,!0)}}In.defaults=Object.assign(Object.assign({},Cn.defaults),{mathvariant:"normal",mathsize:"normal",mathcolor:"",mathbackground:"transparent",dir:"ltr",scriptlevel:0,displaystyle:!1,display:"inline",maxwidth:"",overflow:"linebreak",altimg:"","altimg-width":"","altimg-height":"","altimg-valign":"",alttext:"",cdgroup:"",scriptsizemultiplier:1/Math.sqrt(2),scriptminsize:".4em",infixlinebreakstyle:"before",lineleading:"100%",linebreakmultchar:"\u2062",indentshift:"auto",indentalign:"auto",indenttarget:"",indentalignfirst:"indentalign",indentshiftfirst:"indentshift",indentalignlast:"indentalign",indentshiftlast:"indentshift"});class wn extends Tn{constructor(){super(...arguments),this.texclass=fn.ORD}get kind(){return"mi"}setInheritedAttributes(t={},e=!1,s=0,i=!1){super.setInheritedAttributes(t,e,s,i);this.getText().match(wn.singleCharacter)&&!t.mathvariant&&this.attributes.setInherited("mathvariant","italic")}setTeXclass(t){this.getPrevClass(t);const e=this.getText();return e.length>1&&e.match(wn.operatorName)&&"normal"===this.attributes.get("mathvariant")&&void 0===this.getProperty("autoOP")&&void 0===this.getProperty("texClass")&&(this.texClass=fn.OP,this.setProperty("autoOP",!0)),this}}wn.defaults=Object.assign({},Tn.defaults),wn.operatorName=/^[a-z][a-z0-9]*$/i,wn.singleCharacter=/^[\uD800-\uDBFF]?.[\u0300-\u036F\u1AB0-\u1ABE\u1DC0-\u1DFF\u20D0-\u20EF]*$/;class Mn extends Tn{constructor(){super(...arguments),this.texclass=fn.ORD}get kind(){return"mn"}}function On(t,e,s=fn.BIN,i=null){return[t,e,s,i]}Mn.defaults=Object.assign({},Tn.defaults);const kn={REL:On(5,5,fn.REL),WIDEREL:On(5,5,fn.REL,{accent:!0,stretchy:!0}),BIN4:On(4,4,fn.BIN),RELSTRETCH:On(5,5,fn.REL,{stretchy:!0}),ORD:On(0,0,fn.ORD),BIN3:On(3,3,fn.BIN),OPEN:On(0,0,fn.OPEN,{fence:!0,stretchy:!0,symmetric:!0}),CLOSE:On(0,0,fn.CLOSE,{fence:!0,stretchy:!0,symmetric:!0}),INTEGRAL:On(3,3,fn.OP,{largeop:!0,symmetric:!0}),ACCENT:On(0,0,fn.ORD,{accent:!0}),WIDEACCENT:On(0,0,fn.ORD,{accent:!0,stretchy:!0}),OP:On(3,3,fn.OP,{largeop:!0,movablelimits:!0,symmetric:!0}),RELACCENT:On(5,5,fn.REL,{accent:!0}),BIN0:On(0,0,fn.BIN),BIN5:On(5,5,fn.BIN),FENCE:On(0,0,fn.ORD,{fence:!0,stretchy:!0,symmetric:!0}),INNER:On(1,1,fn.INNER),ORD30:On(3,0,fn.ORD),NONE:On(0,0,fn.NONE),ORDSTRETCH0:On(0,0,fn.ORD,{stretchy:!0}),BINSTRETCH0:On(0,0,fn.BIN,{stretchy:!0}),RELSTRETCH0:On(0,0,fn.REL,{stretchy:!0}),CLOSE0:On(0,0,fn.CLOSE,{fence:!0}),ORD3:On(3,3,fn.ORD),PUNCT03:On(0,3,fn.PUNCT,{linebreakstyle:"after"}),OPEN0:On(0,0,fn.OPEN,{fence:!0}),STRETCH4:On(4,4,fn.BIN,{stretchy:!0})},Dn=[[32,127,fn.REL,"mo"],[160,191,fn.ORD,"mo"],[192,591,fn.ORD,"mi"],[688,879,fn.ORD,"mo"],[880,6688,fn.ORD,"mi"],[6832,6911,fn.ORD,"mo"],[6912,7615,fn.ORD,"mi"],[7616,7679,fn.ORD,"mo"],[7680,8191,fn.ORD,"mi"],[8192,8303,fn.ORD,"mo"],[8304,8351,fn.ORD,"mo"],[8448,8527,fn.ORD,"mi"],[8528,8591,fn.ORD,"mn"],[8592,8703,fn.REL,"mo"],[8704,8959,fn.BIN,"mo"],[8960,9215,fn.ORD,"mo"],[9312,9471,fn.ORD,"mn"],[9472,10223,fn.ORD,"mo"],[10224,10239,fn.REL,"mo"],[10240,10495,fn.ORD,"mtext"],[10496,10623,fn.REL,"mo"],[10624,10751,fn.ORD,"mo"],[10752,11007,fn.BIN,"mo"],[11008,11055,fn.ORD,"mo"],[11056,11087,fn.REL,"mo"],[11088,11263,fn.ORD,"mo"],[11264,11744,fn.ORD,"mi"],[11776,11903,fn.ORD,"mo"],[11904,12255,fn.ORD,"mi","normal"],[12272,12351,fn.ORD,"mo"],[12352,42143,fn.ORD,"mi","normal"],[42192,43055,fn.ORD,"mi"],[43056,43071,fn.ORD,"mn"],[43072,55295,fn.ORD,"mi"],[63744,64255,fn.ORD,"mi","normal"],[64256,65023,fn.ORD,"mi"],[65024,65135,fn.ORD,"mo"],[65136,65791,fn.ORD,"mi"],[65792,65935,fn.ORD,"mn"],[65936,74751,fn.ORD,"mi","normal"],[74752,74879,fn.ORD,"mn"],[74880,113823,fn.ORD,"mi","normal"],[113824,119391,fn.ORD,"mo"],[119648,119679,fn.ORD,"mn"],[119808,120781,fn.ORD,"mi"],[120782,120831,fn.ORD,"mn"],[122624,129023,fn.ORD,"mo"],[129024,129279,fn.REL,"mo"],[129280,129535,fn.ORD,"mo"],[131072,195103,fn.ORD,"mi","normal"]];function Pn(t){const e=Fn.infix[t]||Fn.prefix[t]||Fn.postfix[t];if(e)return[0,0,e[2],"mo"];const s=t.codePointAt(0);for(const t of Dn)if(s<=t[1]){if(s>=t[0])return t;break}return[0,0,fn.REL,"mo"]}const Bn=[[0,0],[1,2],[3,3],[4,4],[0,0],[0,0],[0,3],[1,1]],Fn={prefix:{"!":kn.ORD,"(":kn.OPEN,"+":kn.BIN0,"-":kn.BIN0,"[":kn.OPEN,"{":kn.OPEN,"|":kn.OPEN,"||":kn.BIN0,"\xac":kn.ORD,"\xb1":kn.BIN0,"\u2016":kn.FENCE,"\u2018":kn.OPEN0,"\u201c":kn.OPEN0,\u2145:kn.ORD30,\u2146:kn.ORD30,"\u2200":kn.ORD,"\u2201":kn.ORD,"\u2202":kn.ORD30,"\u2203":kn.ORD,"\u2204":kn.ORD,"\u2207":kn.ORD,"\u220f":kn.OP,"\u2210":kn.OP,"\u2211":kn.OP,"\u2212":kn.BIN0,"\u2213":kn.BIN0,"\u221a":[3,0,fn.ORD,{stretchy:!0}],"\u221b":kn.ORD30,"\u221c":kn.ORD30,"\u221f":kn.ORD,"\u2220":kn.ORD,"\u2221":kn.ORD,"\u2222":kn.ORD,"\u222b":kn.INTEGRAL,"\u222c":kn.INTEGRAL,"\u222d":kn.INTEGRAL,"\u222e":kn.INTEGRAL,"\u222f":kn.INTEGRAL,"\u2230":kn.INTEGRAL,"\u2231":kn.INTEGRAL,"\u2232":kn.INTEGRAL,"\u2233":kn.INTEGRAL,"\u2234":kn.REL,"\u2235":kn.REL,"\u223c":[0,0,fn.REL,{}],"\u22be":kn.ORD,"\u22bf":kn.ORD,"\u22c0":kn.OP,"\u22c1":kn.OP,"\u22c2":kn.OP,"\u22c3":kn.OP,"\u2308":kn.OPEN,"\u230a":kn.OPEN,"\u2310":kn.ORD,"\u2319":kn.ORD,"\u2772":kn.OPEN,"\u2795":kn.ORD,"\u2796":kn.ORD,"\u27c0":kn.ORD,"\u27e6":kn.OPEN,"\u27e8":kn.OPEN,"\u27ea":kn.OPEN,"\u27ec":kn.OPEN,"\u27ee":kn.OPEN,"\u2980":kn.FENCE,"\u2983":kn.OPEN,"\u2985":kn.OPEN,"\u2987":kn.OPEN,"\u2989":kn.OPEN,"\u298b":kn.OPEN,"\u298d":kn.OPEN,"\u298f":kn.OPEN,"\u2991":kn.OPEN,"\u2993":kn.OPEN,"\u2995":kn.OPEN,"\u2997":kn.OPEN,"\u2999":kn.FENCE,"\u299b":kn.ORD,"\u299c":kn.ORD,"\u299d":kn.ORD,"\u299e":kn.ORD,"\u299f":kn.ORD,"\u29a0":kn.ORD,"\u29a1":kn.ORD,"\u29a2":kn.ORD,"\u29a3":kn.ORD,"\u29a4":kn.ORD,"\u29a5":kn.ORD,"\u29a6":kn.ORD,"\u29a7":kn.ORD,"\u29a8":kn.ORD,"\u29a9":kn.ORD,"\u29aa":kn.ORD,"\u29ab":kn.ORD,"\u29ac":kn.ORD,"\u29ad":kn.ORD,"\u29ae":kn.ORD,"\u29af":kn.ORD,"\u29d8":kn.OPEN,"\u29da":kn.OPEN,"\u29fc":kn.OPEN,"\u2a00":kn.OP,"\u2a01":kn.OP,"\u2a02":kn.OP,"\u2a03":kn.OP,"\u2a04":kn.OP,"\u2a05":kn.OP,"\u2a06":kn.OP,"\u2a07":kn.OP,"\u2a08":kn.OP,"\u2a09":kn.OP,"\u2a0a":kn.OP,"\u2a0b":kn.INTEGRAL,"\u2a0c":kn.INTEGRAL,"\u2a0d":kn.INTEGRAL,"\u2a0e":kn.INTEGRAL,"\u2a0f":kn.INTEGRAL,"\u2a10":kn.INTEGRAL,"\u2a11":kn.INTEGRAL,"\u2a12":kn.INTEGRAL,"\u2a13":kn.INTEGRAL,"\u2a14":kn.INTEGRAL,"\u2a15":kn.INTEGRAL,"\u2a16":kn.INTEGRAL,"\u2a17":kn.INTEGRAL,"\u2a18":kn.INTEGRAL,"\u2a19":kn.INTEGRAL,"\u2a1a":kn.INTEGRAL,"\u2a1b":kn.INTEGRAL,"\u2a1c":kn.INTEGRAL,"\u2a1d":kn.OP,"\u2a1e":kn.OP,"\u2aec":kn.ORD,"\u2aed":kn.ORD,"\u2afc":kn.OP,"\u2aff":kn.OP,"\u3008":kn.OPEN},postfix:{"!!":kn.BIN0,"!":kn.CLOSE0,'"':kn.ORD,"%":kn.ORD,"&":kn.ORD,"'":kn.ACCENT,")":kn.CLOSE,"++":kn.BIN0,"--":kn.BIN0,"]":kn.CLOSE,"^":kn.WIDEACCENT,_:kn.WIDEACCENT,"`":kn.ACCENT,"|":kn.CLOSE,"||":kn.BIN0,"}":kn.CLOSE,"~":kn.WIDEACCENT,"\xa8":kn.ACCENT,"\xaf":kn.WIDEACCENT,"\xb0":kn.ACCENT,"\xb2":kn.ORD,"\xb3":kn.ORD,"\xb4":kn.ACCENT,"\xb8":kn.ACCENT,"\xb9":kn.ORD,\u02c6:kn.WIDEACCENT,\u02c7:kn.WIDEACCENT,\u02c9:kn.WIDEACCENT,\u02ca:kn.ACCENT,\u02cb:kn.ACCENT,\u02cd:kn.WIDEACCENT,"\u02d8":kn.ACCENT,"\u02d9":kn.ACCENT,"\u02da":kn.ACCENT,"\u02dc":kn.WIDEACCENT,"\u02dd":kn.ACCENT,"\u02f7":kn.WIDEACCENT,"\u0302":kn.WIDEACCENT,"\u0311":kn.ACCENT,"\u2016":kn.FENCE,"\u2019":kn.CLOSE0,"\u201a":kn.ORD,"\u201b":kn.ORD,"\u201d":kn.CLOSE0,"\u201e":kn.ORD,"\u201f":kn.ORD,"\u2032":kn.ORD,"\u2033":kn.ORD,"\u2034":kn.ORD,"\u2035":kn.ORD,"\u2036":kn.ORD,"\u2037":kn.ORD,"\u203e":kn.WIDEACCENT,"\u2057":kn.ORD,"\u20db":kn.ACCENT,"\u20dc":kn.ACCENT,"\u2309":kn.CLOSE,"\u230b":kn.CLOSE,"\u2322":kn.RELSTRETCH0,"\u2323":kn.RELSTRETCH0,"\u23b4":kn.WIDEACCENT,"\u23b5":kn.WIDEACCENT,"\u23cd":kn.ORD,"\u23dc":kn.WIDEACCENT,"\u23dd":kn.WIDEACCENT,"\u23de":kn.WIDEACCENT,"\u23df":kn.WIDEACCENT,"\u23e0":kn.WIDEACCENT,"\u23e1":kn.WIDEACCENT,"\u2773":kn.CLOSE,"\u27e7":kn.CLOSE,"\u27e9":kn.CLOSE,"\u27eb":kn.CLOSE,"\u27ed":kn.CLOSE,"\u27ef":kn.CLOSE,"\u2980":kn.FENCE,"\u2984":kn.CLOSE,"\u2986":kn.CLOSE,"\u2988":kn.CLOSE,"\u298a":kn.CLOSE,"\u298c":kn.CLOSE,"\u298e":kn.CLOSE,"\u2990":kn.CLOSE,"\u2992":kn.CLOSE,"\u2994":kn.CLOSE,"\u2996":kn.CLOSE,"\u2998":kn.CLOSE,"\u2999":kn.FENCE,"\u29d9":kn.CLOSE,"\u29db":kn.CLOSE,"\u29fd":kn.CLOSE,"\u3009":kn.CLOSE,"\u{1eef0}":kn.BINSTRETCH0,"\u{1eef1}":kn.BINSTRETCH0},infix:{"!":kn.ORD,"!=":kn.BIN5,"#":kn.ORD,$:kn.ORD,"%":kn.ORD3,"&&":kn.BIN4,"**":kn.BIN3,"*":kn.BIN3,"*=":kn.BIN5,"+":kn.BIN4,"+=":kn.BIN5,",":kn.PUNCT03,"":kn.ORD,"-":kn.BIN4,"-=":kn.BIN5,"->":kn.BIN5,".":kn.ORD3,"..":kn.BIN3,"...":kn.INNER,"/":[4,4,fn.ORD,{}],"//":kn.BIN5,"/=":kn.BIN5,":":[0,3,fn.REL,{}],":=":kn.BIN5,";":kn.PUNCT03,"<":kn.REL,"<=":kn.REL,"<>":[3,3,fn.REL,{}],"=":kn.REL,"==":kn.REL,">":kn.REL,">=":kn.REL,"?":[3,3,fn.CLOSE,{fence:!0}],"@":kn.ORD3,"\\":kn.ORD,"^":[3,3,fn.ORD,{accent:!0,stretchy:!0}],_:kn.WIDEACCENT,"|":[5,5,fn.ORD,{}],"||":kn.BIN5,"\xb1":kn.BIN4,"\xb7":kn.BIN3,"\xd7":kn.BIN3,"\xf7":kn.BIN4,\u02b9:kn.ORD,"\u0300":kn.ACCENT,"\u0301":kn.ACCENT,"\u0303":kn.WIDEACCENT,"\u0304":kn.ACCENT,"\u0306":kn.ACCENT,"\u0307":kn.ACCENT,"\u0308":kn.ACCENT,"\u030c":kn.ACCENT,"\u0332":kn.WIDEACCENT,"\u0338":kn.REL,"\u03f6":kn.REL,"\u2015":kn.ORDSTRETCH0,"\u2017":kn.ORDSTRETCH0,"\u2020":kn.BIN3,"\u2021":kn.BIN3,"\u2022":kn.BIN3,"\u2026":kn.INNER,"\u2043":kn.BIN3,"\u2044":kn.STRETCH4,"\u2061":kn.NONE,"\u2062":kn.NONE,"\u2063":[0,0,fn.NONE,{linebreakstyle:"after"}],"\u2064":kn.NONE,"\u20d7":kn.ACCENT,\u2111:kn.ORD,\u2113:kn.ORD,\u2118:kn.ORD,\u211c:kn.ORD,"\u2190":kn.WIDEREL,"\u2191":kn.RELSTRETCH,"\u2192":kn.WIDEREL,"\u2193":kn.RELSTRETCH,"\u2194":kn.WIDEREL,"\u2195":kn.RELSTRETCH,"\u2196":kn.REL,"\u2197":kn.REL,"\u2198":kn.REL,"\u2199":kn.REL,"\u219a":kn.WIDEREL,"\u219b":kn.WIDEREL,"\u219c":kn.WIDEREL,"\u219d":kn.WIDEREL,"\u219e":kn.WIDEREL,"\u219f":kn.RELSTRETCH,"\u21a0":kn.WIDEREL,"\u21a1":kn.RELSTRETCH,"\u21a2":kn.WIDEREL,"\u21a3":kn.WIDEREL,"\u21a4":kn.WIDEREL,"\u21a5":kn.RELSTRETCH,"\u21a6":kn.WIDEREL,"\u21a7":kn.RELSTRETCH,"\u21a8":kn.RELSTRETCH,"\u21a9":kn.WIDEREL,"\u21aa":kn.WIDEREL,"\u21ab":kn.WIDEREL,"\u21ac":kn.WIDEREL,"\u21ad":kn.WIDEREL,"\u21ae":kn.WIDEREL,"\u21af":kn.REL,"\u21b0":kn.RELSTRETCH,"\u21b1":kn.RELSTRETCH,"\u21b2":kn.RELSTRETCH,"\u21b3":kn.RELSTRETCH,"\u21b4":kn.RELSTRETCH,"\u21b5":kn.RELSTRETCH,"\u21b6":kn.REL,"\u21b7":kn.REL,"\u21b8":kn.REL,"\u21b9":kn.WIDEREL,"\u21ba":kn.REL,"\u21bb":kn.REL,"\u21bc":kn.WIDEREL,"\u21bd":kn.WIDEREL,"\u21be":kn.RELSTRETCH,"\u21bf":kn.RELSTRETCH,"\u21c0":kn.WIDEREL,"\u21c1":kn.WIDEREL,"\u21c2":kn.RELSTRETCH,"\u21c3":kn.RELSTRETCH,"\u21c4":kn.WIDEREL,"\u21c5":kn.RELSTRETCH,"\u21c6":kn.WIDEREL,"\u21c7":kn.WIDEREL,"\u21c8":kn.RELSTRETCH,"\u21c9":kn.WIDEREL,"\u21ca":kn.RELSTRETCH,"\u21cb":kn.WIDEREL,"\u21cc":kn.WIDEREL,"\u21cd":kn.WIDEREL,"\u21ce":kn.WIDEREL,"\u21cf":kn.WIDEREL,"\u21d0":kn.WIDEREL,"\u21d1":kn.RELSTRETCH,"\u21d2":kn.WIDEREL,"\u21d3":kn.RELSTRETCH,"\u21d4":kn.WIDEREL,"\u21d5":kn.RELSTRETCH,"\u21d6":kn.REL,"\u21d7":kn.REL,"\u21d8":kn.REL,"\u21d9":kn.REL,"\u21da":kn.WIDEREL,"\u21db":kn.WIDEREL,"\u21dc":kn.WIDEREL,"\u21dd":kn.WIDEREL,"\u21de":kn.RELSTRETCH,"\u21df":kn.RELSTRETCH,"\u21e0":kn.WIDEREL,"\u21e1":kn.RELSTRETCH,"\u21e2":kn.WIDEREL,"\u21e3":kn.RELSTRETCH,"\u21e4":kn.WIDEREL,"\u21e5":kn.WIDEREL,"\u21e6":kn.WIDEREL,"\u21e7":kn.RELSTRETCH,"\u21e8":kn.WIDEREL,"\u21e9":kn.RELSTRETCH,"\u21ea":kn.RELSTRETCH,"\u21eb":kn.RELSTRETCH,"\u21ec":kn.RELSTRETCH,"\u21ed":kn.RELSTRETCH,"\u21ee":kn.RELSTRETCH,"\u21ef":kn.RELSTRETCH,"\u21f0":kn.WIDEREL,"\u21f1":kn.REL,"\u21f2":kn.REL,"\u21f3":kn.RELSTRETCH,"\u21f4":kn.WIDEREL,"\u21f5":kn.RELSTRETCH,"\u21f6":kn.WIDEREL,"\u21f7":kn.WIDEREL,"\u21f8":kn.WIDEREL,"\u21f9":kn.WIDEREL,"\u21fa":kn.WIDEREL,"\u21fb":kn.WIDEREL,"\u21fc":kn.WIDEREL,"\u21fd":kn.WIDEREL,"\u21fe":kn.WIDEREL,"\u21ff":kn.WIDEREL,"\u2205":kn.ORD,"\u2206":kn.ORD,"\u2208":kn.REL,"\u2209":kn.REL,"\u220a":kn.REL,"\u220b":kn.REL,"\u220c":kn.REL,"\u220d":kn.REL,"\u2212":kn.BIN4,"\u2213":kn.BIN4,"\u2214":kn.BIN4,"\u2215":kn.STRETCH4,"\u2216":kn.BIN4,"\u2217":kn.BIN3,"\u2218":kn.BIN3,"\u2219":kn.BIN3,"\u221d":kn.REL,"\u221e":kn.ORD,"\u2223":kn.REL,"\u2224":kn.REL,"\u2225":kn.REL,"\u2226":kn.REL,"\u2227":kn.BIN4,"\u2228":kn.BIN4,"\u2229":kn.BIN4,"\u222a":kn.BIN4,"\u2236":kn.BIN4,"\u2237":kn.REL,"\u2238":kn.BIN4,"\u2239":kn.REL,"\u223a":kn.REL,"\u223b":kn.REL,"\u223c":kn.REL,"\u223d":kn.REL,"\u223e":kn.REL,"\u2240":kn.BIN3,"\u2241":kn.REL,"\u2242":kn.REL,"\u2242\u0338":kn.REL,"\u2243":kn.REL,"\u2244":kn.REL,"\u2245":kn.REL,"\u2246":kn.REL,"\u2247":kn.REL,"\u2248":kn.REL,"\u2249":kn.REL,"\u224a":kn.REL,"\u224b":kn.REL,"\u224c":kn.REL,"\u224d":kn.REL,"\u224e":kn.REL,"\u224f":kn.REL,"\u2250":kn.REL,"\u2251":kn.REL,"\u2252":kn.REL,"\u2253":kn.REL,"\u2254":kn.REL,"\u2255":kn.REL,"\u2256":kn.REL,"\u2257":kn.REL,"\u2258":kn.REL,"\u2259":kn.REL,"\u225a":kn.REL,"\u225b":kn.REL,"\u225c":kn.REL,"\u225d":kn.REL,"\u225e":kn.REL,"\u225f":kn.REL,"\u2260":kn.REL,"\u2261":kn.REL,"\u2262":kn.REL,"\u2263":kn.REL,"\u2264":kn.REL,"\u2265":kn.REL,"\u2266":kn.REL,"\u2266\u0338":kn.REL,"\u2267":kn.REL,"\u2267\u0338":kn.REL,"\u2268":kn.REL,"\u2269":kn.REL,"\u226a":kn.REL,"\u226a\u0338":kn.REL,"\u226b":kn.REL,"\u226b\u0338":kn.REL,"\u226c":kn.REL,"\u226d":kn.REL,"\u226e":kn.REL,"\u226f":kn.REL,"\u2270":kn.REL,"\u2271":kn.REL,"\u2272":kn.REL,"\u2273":kn.REL,"\u2274":kn.REL,"\u2275":kn.REL,"\u2276":kn.REL,"\u2277":kn.REL,"\u2278":kn.REL,"\u2279":kn.REL,"\u227a":kn.REL,"\u227b":kn.REL,"\u227c":kn.REL,"\u227d":kn.REL,"\u227e":kn.REL,"\u227e\u0338":kn.REL,"\u227f":kn.REL,"\u227f\u0338":kn.REL,"\u2280":kn.REL,"\u2281":kn.REL,"\u2282":kn.REL,"\u2283":kn.REL,"\u2284":kn.REL,"\u2285":kn.REL,"\u2286":kn.REL,"\u2287":kn.REL,"\u2288":kn.REL,"\u2289":kn.REL,"\u228a":kn.REL,"\u228b":kn.REL,"\u228c":kn.BIN4,"\u228d":kn.BIN4,"\u228e":kn.BIN4,"\u228f":kn.REL,"\u228f\u0338":kn.REL,"\u2290":kn.REL,"\u2290\u0338":kn.REL,"\u2291":kn.REL,"\u2292":kn.REL,"\u2293":kn.BIN4,"\u2294":kn.BIN4,"\u2295":kn.BIN4,"\u2296":kn.BIN4,"\u2297":kn.BIN3,"\u2298":kn.BIN4,"\u2299":kn.BIN3,"\u229a":kn.BIN3,"\u229b":kn.BIN3,"\u229c":kn.REL,"\u229d":kn.BIN4,"\u229e":kn.BIN4,"\u229f":kn.BIN4,"\u22a0":kn.BIN3,"\u22a1":kn.BIN3,"\u22a2":kn.REL,"\u22a3":kn.REL,"\u22a4":kn.ORD,"\u22a5":kn.ORD,"\u22a6":kn.REL,"\u22a7":kn.REL,"\u22a8":kn.REL,"\u22a9":kn.REL,"\u22aa":kn.REL,"\u22ab":kn.REL,"\u22ac":kn.REL,"\u22ad":kn.REL,"\u22ae":kn.REL,"\u22af":kn.REL,"\u22b0":kn.REL,"\u22b1":kn.REL,"\u22b2":kn.REL,"\u22b3":kn.REL,"\u22b4":kn.REL,"\u22b5":kn.REL,"\u22b6":kn.REL,"\u22b7":kn.REL,"\u22b8":kn.REL,"\u22ba":kn.BIN3,"\u22bb":kn.BIN4,"\u22bc":kn.BIN4,"\u22bd":kn.BIN4,"\u22c4":kn.BIN3,"\u22c5":kn.BIN3,"\u22c6":kn.BIN3,"\u22c7":kn.BIN3,"\u22c8":kn.REL,"\u22c9":kn.BIN3,"\u22ca":kn.BIN3,"\u22cb":kn.BIN3,"\u22cc":kn.BIN3,"\u22cd":kn.REL,"\u22ce":kn.BIN4,"\u22cf":kn.BIN4,"\u22d0":kn.REL,"\u22d1":kn.REL,"\u22d2":kn.BIN4,"\u22d3":kn.BIN4,"\u22d4":kn.REL,"\u22d5":kn.REL,"\u22d6":kn.REL,"\u22d7":kn.REL,"\u22d8":kn.REL,"\u22d9":kn.REL,"\u22da":kn.REL,"\u22db":kn.REL,"\u22dc":kn.REL,"\u22dd":kn.REL,"\u22de":kn.REL,"\u22df":kn.REL,"\u22e0":kn.REL,"\u22e1":kn.REL,"\u22e2":kn.REL,"\u22e3":kn.REL,"\u22e4":kn.REL,"\u22e5":kn.REL,"\u22e6":kn.REL,"\u22e7":kn.REL,"\u22e8":kn.REL,"\u22e9":kn.REL,"\u22ea":kn.REL,"\u22eb":kn.REL,"\u22ec":kn.REL,"\u22ed":kn.REL,"\u22ee":kn.ORD,"\u22ef":kn.INNER,"\u22f0":kn.INNER,"\u22f1":kn.INNER,"\u22f2":kn.REL,"\u22f3":kn.REL,"\u22f4":kn.REL,"\u22f5":kn.REL,"\u22f6":kn.REL,"\u22f7":kn.REL,"\u22f8":kn.REL,"\u22f9":kn.REL,"\u22fa":kn.REL,"\u22fb":kn.REL,"\u22fc":kn.REL,"\u22fd":kn.REL,"\u22fe":kn.REL,"\u22ff":kn.REL,"\u2301":kn.REL,"\u2305":kn.BIN3,"\u2306":kn.BIN3,"\u2329":kn.OPEN,"\u232a":kn.CLOSE,"\u237c":kn.REL,"\u238b":kn.REL,"\u23aa":kn.ORD,"\u23af":kn.ORDSTRETCH0,"\u23b0":kn.OPEN,"\u23b1":kn.CLOSE,"\u2500":kn.ORD,"\u25b3":kn.BIN3,"\u25b5":kn.BIN3,"\u25b9":kn.BIN3,"\u25bd":kn.BIN3,"\u25bf":kn.BIN3,"\u25c3":kn.BIN3,"\u25ef":kn.BIN3,"\u2660":kn.ORD,"\u2661":kn.ORD,"\u2662":kn.ORD,"\u2663":kn.ORD,"\u266d":kn.ORD,"\u266e":kn.ORD,"\u266f":kn.ORD,"\u2758":[5,5,fn.REL,{stretchy:!0,symmetric:!0}],"\u2794":kn.WIDEREL,"\u2795":kn.BIN4,"\u2796":kn.BIN4,"\u2797":kn.BIN4,"\u2798":kn.REL,"\u2799":kn.WIDEREL,"\u279a":kn.REL,"\u279b":kn.WIDEREL,"\u279c":kn.WIDEREL,"\u279d":kn.WIDEREL,"\u279e":kn.WIDEREL,"\u279f":kn.WIDEREL,"\u27a0":kn.WIDEREL,"\u27a1":kn.WIDEREL,"\u27a5":kn.WIDEREL,"\u27a6":kn.WIDEREL,"\u27a7":kn.RELACCENT,"\u27a8":kn.WIDEREL,"\u27a9":kn.WIDEREL,"\u27aa":kn.WIDEREL,"\u27ab":kn.WIDEREL,"\u27ac":kn.WIDEREL,"\u27ad":kn.WIDEREL,"\u27ae":kn.WIDEREL,"\u27af":kn.WIDEREL,"\u27b1":kn.WIDEREL,"\u27b2":kn.RELACCENT,"\u27b3":kn.WIDEREL,"\u27b4":kn.REL,"\u27b5":kn.WIDEREL,"\u27b6":kn.REL,"\u27b7":kn.REL,"\u27b8":kn.WIDEREL,"\u27b9":kn.REL,"\u27ba":kn.WIDEREL,"\u27bb":kn.WIDEREL,"\u27bc":kn.WIDEREL,"\u27bd":kn.WIDEREL,"\u27be":kn.WIDEREL,"\u27c2":kn.REL,"\u27c2\u0338":kn.REL,"\u27cb":kn.BIN3,"\u27cd":kn.BIN3,"\u27f0":kn.RELSTRETCH,"\u27f1":kn.RELSTRETCH,"\u27f2":kn.REL,"\u27f3":kn.REL,"\u27f4":kn.RELSTRETCH,"\u27f5":kn.WIDEREL,"\u27f6":kn.WIDEREL,"\u27f7":kn.WIDEREL,"\u27f8":kn.WIDEREL,"\u27f9":kn.WIDEREL,"\u27fa":kn.WIDEREL,"\u27fb":kn.WIDEREL,"\u27fc":kn.WIDEREL,"\u27fd":kn.WIDEREL,"\u27fe":kn.WIDEREL,"\u27ff":kn.WIDEREL,"\u2900":kn.WIDEREL,"\u2901":kn.WIDEREL,"\u2902":kn.WIDEREL,"\u2903":kn.WIDEREL,"\u2904":kn.WIDEREL,"\u2905":kn.WIDEREL,"\u2906":kn.WIDEREL,"\u2907":kn.WIDEREL,"\u2908":kn.RELSTRETCH,"\u2909":kn.RELSTRETCH,"\u290a":kn.RELSTRETCH,"\u290b":kn.RELSTRETCH,"\u290c":kn.WIDEREL,"\u290d":kn.WIDEREL,"\u290e":kn.WIDEREL,"\u290f":kn.WIDEREL,"\u2910":kn.WIDEREL,"\u2911":kn.WIDEREL,"\u2912":kn.RELSTRETCH,"\u2913":kn.RELSTRETCH,"\u2914":kn.WIDEREL,"\u2915":kn.WIDEREL,"\u2916":kn.WIDEREL,"\u2917":kn.WIDEREL,"\u2918":kn.WIDEREL,"\u2919":kn.WIDEREL,"\u291a":kn.WIDEREL,"\u291b":kn.WIDEREL,"\u291c":kn.WIDEREL,"\u291d":kn.WIDEREL,"\u291e":kn.WIDEREL,"\u291f":kn.WIDEREL,"\u2920":kn.WIDEREL,"\u2921":kn.REL,"\u2922":kn.REL,"\u2923":kn.REL,"\u2924":kn.REL,"\u2925":kn.REL,"\u2926":kn.REL,"\u2927":kn.REL,"\u2928":kn.REL,"\u2929":kn.REL,"\u292a":kn.REL,"\u292b":kn.REL,"\u292c":kn.REL,"\u292d":kn.REL,"\u292e":kn.REL,"\u292f":kn.REL,"\u2930":kn.REL,"\u2931":kn.REL,"\u2932":kn.REL,"\u2933":kn.RELACCENT,"\u2934":kn.RELSTRETCH,"\u2935":kn.RELSTRETCH,"\u2936":kn.RELSTRETCH,"\u2937":kn.RELSTRETCH,"\u2938":kn.REL,"\u2939":kn.REL,"\u293a":kn.RELACCENT,"\u293b":kn.RELACCENT,"\u293c":kn.RELACCENT,"\u293d":kn.RELACCENT,"\u293e":kn.REL,"\u293f":kn.REL,"\u2940":kn.REL,"\u2941":kn.REL,"\u2942":kn.WIDEREL,"\u2943":kn.WIDEREL,"\u2944":kn.WIDEREL,"\u2945":kn.RELSTRETCH,"\u2946":kn.RELSTRETCH,"\u2947":kn.WIDEREL,"\u2948":kn.WIDEREL,"\u2949":kn.RELSTRETCH,"\u294a":kn.WIDEREL,"\u294b":kn.WIDEREL,"\u294c":kn.RELSTRETCH,"\u294d":kn.RELSTRETCH,"\u294e":kn.WIDEREL,"\u294f":kn.RELSTRETCH,"\u2950":kn.WIDEREL,"\u2951":kn.RELSTRETCH,"\u2952":kn.WIDEREL,"\u2953":kn.WIDEREL,"\u2954":kn.RELSTRETCH,"\u2955":kn.RELSTRETCH,"\u2956":kn.WIDEREL,"\u2957":kn.WIDEREL,"\u2958":kn.RELSTRETCH,"\u2959":kn.RELSTRETCH,"\u295a":kn.WIDEREL,"\u295b":kn.WIDEREL,"\u295c":kn.RELSTRETCH,"\u295d":kn.RELSTRETCH,"\u295e":kn.WIDEREL,"\u295f":kn.WIDEREL,"\u2960":kn.RELSTRETCH,"\u2961":kn.RELSTRETCH,"\u2962":kn.WIDEREL,"\u2963":kn.RELSTRETCH,"\u2964":kn.WIDEREL,"\u2965":kn.RELSTRETCH,"\u2966":kn.WIDEREL,"\u2967":kn.WIDEREL,"\u2968":kn.WIDEREL,"\u2969":kn.WIDEREL,"\u296a":kn.WIDEREL,"\u296b":kn.WIDEREL,"\u296c":kn.WIDEREL,"\u296d":kn.WIDEREL,"\u296e":kn.RELSTRETCH,"\u296f":kn.RELSTRETCH,"\u2970":kn.WIDEREL,"\u2971":kn.WIDEREL,"\u2972":kn.WIDEREL,"\u2973":kn.WIDEREL,"\u2974":kn.WIDEREL,"\u2975":kn.WIDEREL,"\u2976":kn.RELACCENT,"\u2977":kn.RELACCENT,"\u2978":kn.RELACCENT,"\u2979":kn.RELACCENT,"\u297a":kn.RELACCENT,"\u297b":kn.RELACCENT,"\u297c":kn.WIDEREL,"\u297d":kn.WIDEREL,"\u297e":kn.RELSTRETCH,"\u297f":kn.RELSTRETCH,"\u2981":kn.REL,"\u2982":kn.REL,"\u29b6":kn.REL,"\u29b7":kn.REL,"\u29b8":kn.BIN4,"\u29b9":kn.REL,"\u29bc":kn.BIN4,"\u29c0":kn.REL,"\u29c1":kn.REL,"\u29c4":kn.BIN4,"\u29c5":kn.BIN4,"\u29c6":kn.BIN3,"\u29c7":kn.BIN3,"\u29c8":kn.BIN3,"\u29ce":kn.REL,"\u29cf":kn.REL,"\u29d0":kn.REL,"\u29d1":kn.REL,"\u29d2":kn.REL,"\u29d3":kn.REL,"\u29d4":kn.BIN3,"\u29d5":kn.BIN3,"\u29d6":kn.BIN3,"\u29d7":kn.BIN3,"\u29df":kn.REL,"\u29e1":kn.REL,"\u29e2":kn.BIN3,"\u29e3":kn.REL,"\u29e4":kn.REL,"\u29e5":kn.REL,"\u29e6":kn.REL,"\u29f4":kn.REL,"\u29f5":kn.BIN4,"\u29f6":kn.BIN4,"\u29f7":kn.BIN4,"\u29f8":kn.BIN4,"\u29f9":kn.BIN4,"\u29fa":kn.BIN4,"\u29fb":kn.BIN4,"\u2a1d":kn.BIN3,"\u2a1e":kn.BIN3,"\u2a1f":kn.BIN4,"\u2a20":kn.BIN4,"\u2a21":kn.BIN4,"\u2a22":kn.BIN4,"\u2a23":kn.BIN4,"\u2a24":kn.BIN4,"\u2a25":kn.BIN4,"\u2a26":kn.BIN4,"\u2a27":kn.BIN4,"\u2a28":kn.BIN4,"\u2a29":kn.BIN4,"\u2a2a":kn.BIN4,"\u2a2b":kn.BIN4,"\u2a2c":kn.BIN4,"\u2a2d":kn.BIN4,"\u2a2e":kn.BIN4,"\u2a2f":kn.BIN3,"\u2a30":kn.BIN3,"\u2a31":kn.BIN3,"\u2a32":kn.BIN3,"\u2a33":kn.BIN3,"\u2a34":kn.BIN3,"\u2a35":kn.BIN3,"\u2a36":kn.BIN3,"\u2a37":kn.BIN3,"\u2a38":kn.BIN4,"\u2a39":kn.BIN4,"\u2a3a":kn.BIN4,"\u2a3b":kn.BIN3,"\u2a3c":kn.BIN3,"\u2a3d":kn.BIN3,"\u2a3e":kn.BIN4,"\u2a3f":kn.BIN3,"\u2a40":kn.BIN4,"\u2a41":kn.BIN4,"\u2a42":kn.BIN4,"\u2a43":kn.BIN4,"\u2a44":kn.BIN4,"\u2a45":kn.BIN4,"\u2a46":kn.BIN4,"\u2a47":kn.BIN4,"\u2a48":kn.BIN4,"\u2a49":kn.BIN4,"\u2a4a":kn.BIN4,"\u2a4b":kn.BIN4,"\u2a4c":kn.BIN4,"\u2a4d":kn.BIN4,"\u2a4e":kn.BIN4,"\u2a4f":kn.BIN4,"\u2a50":kn.BIN3,"\u2a51":kn.BIN4,"\u2a52":kn.BIN4,"\u2a53":kn.BIN4,"\u2a54":kn.BIN4,"\u2a55":kn.BIN4,"\u2a56":kn.BIN4,"\u2a57":kn.BIN4,"\u2a58":kn.BIN4,"\u2a59":kn.BIN4,"\u2a5a":kn.BIN4,"\u2a5b":kn.BIN4,"\u2a5c":kn.BIN4,"\u2a5d":kn.BIN4,"\u2a5e":kn.BIN4,"\u2a5f":kn.BIN4,"\u2a60":kn.BIN4,"\u2a61":kn.BIN4,"\u2a62":kn.BIN4,"\u2a63":kn.BIN4,"\u2a64":kn.BIN3,"\u2a65":kn.BIN3,"\u2a66":kn.REL,"\u2a67":kn.REL,"\u2a68":kn.REL,"\u2a69":kn.REL,"\u2a6a":kn.REL,"\u2a6b":kn.REL,"\u2a6c":kn.REL,"\u2a6d":kn.REL,"\u2a6e":kn.REL,"\u2a6f":kn.REL,"\u2a70":kn.REL,"\u2a71":kn.REL,"\u2a72":kn.REL,"\u2a73":kn.REL,"\u2a74":kn.REL,"\u2a75":kn.REL,"\u2a76":kn.REL,"\u2a77":kn.REL,"\u2a78":kn.REL,"\u2a79":kn.REL,"\u2a7a":kn.REL,"\u2a7b":kn.REL,"\u2a7c":kn.REL,"\u2a7d":kn.REL,"\u2a7d\u0338":kn.REL,"\u2a7e":kn.REL,"\u2a7e\u0338":kn.REL,"\u2a7f":kn.REL,"\u2a80":kn.REL,"\u2a81":kn.REL,"\u2a82":kn.REL,"\u2a83":kn.REL,"\u2a84":kn.REL,"\u2a85":kn.REL,"\u2a86":kn.REL,"\u2a87":kn.REL,"\u2a88":kn.REL,"\u2a89":kn.REL,"\u2a8a":kn.REL,"\u2a8b":kn.REL,"\u2a8c":kn.REL,"\u2a8d":kn.REL,"\u2a8e":kn.REL,"\u2a8f":kn.REL,"\u2a90":kn.REL,"\u2a91":kn.REL,"\u2a92":kn.REL,"\u2a93":kn.REL,"\u2a94":kn.REL,"\u2a95":kn.REL,"\u2a96":kn.REL,"\u2a97":kn.REL,"\u2a98":kn.REL,"\u2a99":kn.REL,"\u2a9a":kn.REL,"\u2a9b":kn.REL,"\u2a9c":kn.REL,"\u2a9d":kn.REL,"\u2a9e":kn.REL,"\u2a9f":kn.REL,"\u2aa0":kn.REL,"\u2aa1":kn.REL,"\u2aa2":kn.REL,"\u2aa3":kn.REL,"\u2aa4":kn.REL,"\u2aa5":kn.REL,"\u2aa6":kn.REL,"\u2aa7":kn.REL,"\u2aa8":kn.REL,"\u2aa9":kn.REL,"\u2aaa":kn.REL,"\u2aab":kn.REL,"\u2aac":kn.REL,"\u2aad":kn.REL,"\u2aae":kn.REL,"\u2aaf":kn.REL,"\u2aaf\u0338":kn.REL,"\u2ab0":kn.REL,"\u2ab0\u0338":kn.REL,"\u2ab1":kn.REL,"\u2ab2":kn.REL,"\u2ab3":kn.REL,"\u2ab4":kn.REL,"\u2ab5":kn.REL,"\u2ab6":kn.REL,"\u2ab7":kn.REL,"\u2ab8":kn.REL,"\u2ab9":kn.REL,"\u2aba":kn.REL,"\u2abb":kn.REL,"\u2abc":kn.REL,"\u2abd":kn.REL,"\u2abe":kn.REL,"\u2abf":kn.REL,"\u2ac0":kn.REL,"\u2ac1":kn.REL,"\u2ac2":kn.REL,"\u2ac3":kn.REL,"\u2ac4":kn.REL,"\u2ac5":kn.REL,"\u2ac6":kn.REL,"\u2ac7":kn.REL,"\u2ac8":kn.REL,"\u2ac9":kn.REL,"\u2aca":kn.REL,"\u2acb":kn.REL,"\u2acc":kn.REL,"\u2acd":kn.REL,"\u2ace":kn.REL,"\u2acf":kn.REL,"\u2ad0":kn.REL,"\u2ad1":kn.REL,"\u2ad2":kn.REL,"\u2ad3":kn.REL,"\u2ad4":kn.REL,"\u2ad5":kn.REL,"\u2ad6":kn.REL,"\u2ad7":kn.REL,"\u2ad8":kn.REL,"\u2ad9":kn.REL,"\u2ada":kn.REL,"\u2adb":kn.BIN4,"\u2add":kn.BIN3,"\u2add\u0338":kn.REL,"\u2ade":kn.REL,"\u2adf":kn.REL,"\u2ae0":kn.REL,"\u2ae1":kn.REL,"\u2ae2":kn.REL,"\u2ae3":kn.REL,"\u2ae4":kn.REL,"\u2ae5":kn.REL,"\u2ae6":kn.REL,"\u2ae7":kn.REL,"\u2ae8":kn.REL,"\u2ae9":kn.REL,"\u2aea":kn.REL,"\u2aeb":kn.REL,"\u2aee":kn.REL,"\u2af2":kn.REL,"\u2af3":kn.REL,"\u2af4":kn.REL,"\u2af5":kn.REL,"\u2af6":kn.BIN4,"\u2af7":kn.REL,"\u2af8":kn.REL,"\u2af9":kn.REL,"\u2afa":kn.REL,"\u2afb":kn.BIN4,"\u2afd":kn.BIN4,"\u2afe":kn.BIN3,"\u2b00":kn.REL,"\u2b01":kn.REL,"\u2b02":kn.REL,"\u2b03":kn.REL,"\u2b04":kn.WIDEREL,"\u2b05":kn.WIDEREL,"\u2b06":kn.RELSTRETCH,"\u2b07":kn.RELSTRETCH,"\u2b08":kn.REL,"\u2b09":kn.REL,"\u2b0a":kn.REL,"\u2b0b":kn.REL,"\u2b0c":kn.WIDEREL,"\u2b0d":kn.RELSTRETCH,"\u2b0e":kn.RELSTRETCH,"\u2b0f":kn.RELSTRETCH,"\u2b10":kn.RELSTRETCH,"\u2b11":kn.RELSTRETCH,"\u2b30":kn.WIDEREL,"\u2b31":kn.WIDEREL,"\u2b32":kn.RELSTRETCH,"\u2b33":kn.WIDEREL,"\u2b34":kn.WIDEREL,"\u2b35":kn.WIDEREL,"\u2b36":kn.WIDEREL,"\u2b37":kn.WIDEREL,"\u2b38":kn.WIDEREL,"\u2b39":kn.WIDEREL,"\u2b3a":kn.WIDEREL,"\u2b3b":kn.WIDEREL,"\u2b3c":kn.WIDEREL,"\u2b3d":kn.WIDEREL,"\u2b3e":kn.WIDEREL,"\u2b3f":kn.RELACCENT,"\u2b40":kn.WIDEREL,"\u2b41":kn.WIDEREL,"\u2b42":kn.WIDEREL,"\u2b43":kn.WIDEREL,"\u2b44":kn.WIDEREL,"\u2b45":kn.WIDEREL,"\u2b46":kn.WIDEREL,"\u2b47":kn.WIDEREL,"\u2b48":kn.WIDEREL,"\u2b49":kn.WIDEREL,"\u2b4a":kn.WIDEREL,"\u2b4b":kn.WIDEREL,"\u2b4c":kn.WIDEREL,"\u2b4d":kn.REL,"\u2b4e":kn.REL,"\u2b4f":kn.REL,"\u2b5a":kn.REL,"\u2b5b":kn.REL,"\u2b5c":kn.REL,"\u2b5d":kn.REL,"\u2b5e":kn.REL,"\u2b5f":kn.REL,"\u2b60":kn.WIDEREL,"\u2b61":kn.RELSTRETCH,"\u2b62":kn.WIDEREL,"\u2b63":kn.RELSTRETCH,"\u2b64":kn.WIDEREL,"\u2b65":kn.RELSTRETCH,"\u2b66":kn.REL,"\u2b67":kn.REL,"\u2b68":kn.REL,"\u2b69":kn.REL,"\u2b6a":kn.WIDEREL,"\u2b6b":kn.RELSTRETCH,"\u2b6c":kn.WIDEREL,"\u2b6d":kn.RELSTRETCH,"\u2b6e":kn.REL,"\u2b6f":kn.REL,"\u2b70":kn.WIDEREL,"\u2b71":kn.RELSTRETCH,"\u2b72":kn.WIDEREL,"\u2b73":kn.RELSTRETCH,"\u2b76":kn.REL,"\u2b77":kn.REL,"\u2b78":kn.REL,"\u2b79":kn.REL,"\u2b7a":kn.WIDEREL,"\u2b7b":kn.RELSTRETCH,"\u2b7c":kn.WIDEREL,"\u2b7d":kn.RELSTRETCH,"\u2b80":kn.WIDEREL,"\u2b81":kn.RELSTRETCH,"\u2b82":kn.WIDEREL,"\u2b83":kn.RELSTRETCH,"\u2b84":kn.WIDEREL,"\u2b85":kn.RELSTRETCH,"\u2b86":kn.WIDEREL,"\u2b87":kn.RELSTRETCH,"\u2b88":kn.RELACCENT,"\u2b89":kn.REL,"\u2b8a":kn.RELACCENT,"\u2b8b":kn.REL,"\u2b8c":kn.REL,"\u2b8d":kn.REL,"\u2b8e":kn.REL,"\u2b8f":kn.REL,"\u2b94":kn.REL,"\u2b95":kn.WIDEREL,"\u2ba0":kn.RELSTRETCH,"\u2ba1":kn.RELSTRETCH,"\u2ba2":kn.RELSTRETCH,"\u2ba3":kn.RELSTRETCH,"\u2ba4":kn.RELSTRETCH,"\u2ba5":kn.RELSTRETCH,"\u2ba6":kn.RELSTRETCH,"\u2ba7":kn.RELSTRETCH,"\u2ba8":kn.WIDEREL,"\u2ba9":kn.WIDEREL,"\u2baa":kn.WIDEREL,"\u2bab":kn.WIDEREL,"\u2bac":kn.RELSTRETCH,"\u2bad":kn.RELSTRETCH,"\u2bae":kn.RELSTRETCH,"\u2baf":kn.RELSTRETCH,"\u2bb0":kn.REL,"\u2bb1":kn.REL,"\u2bb2":kn.REL,"\u2bb3":kn.REL,"\u2bb4":kn.REL,"\u2bb5":kn.REL,"\u2bb6":kn.REL,"\u2bb7":kn.REL,"\u2bb8":kn.RELSTRETCH,"\u2bd1":kn.REL,\u3adc:kn.BIN3,"\ufe37":kn.WIDEACCENT,"\ufe38":kn.WIDEACCENT}};function jn(t,e){return t.length!==e.length?e.length-t.length:t===e?0:t<e?-1:1}function _n(t){return t.replace(/([\^$(){}.+*?\-|[\]:\\])/g,"\\$1")}function Un(t){return Array.from(t).map(t=>t.codePointAt(0))}function Hn(t){return String.fromCodePoint(...t)}function Wn(t){return!!t.match(/%\s*$/)}function qn(t){return t.trim().split(/\s+/)}function Vn(t){return t.replace(/\\U(?:([0-9A-Fa-f]{4})|\{\s*([0-9A-Fa-f]{1,6})\s*\})|\\./g,(t,e,s)=>"\\\\"===t?"\\":String.fromCodePoint(parseInt(e||s,16)))}function Gn(t){return`&#x${t.codePointAt(0).toString(16).toUpperCase()};`}class Xn extends Tn{constructor(){super(...arguments),this._texClass=null,this.lspace=5/18,this.rspace=5/18}get texClass(){return null===this._texClass?this.getOperatorDef(this.getText())[2]:this._texClass}set texClass(t){this._texClass=t}get kind(){return"mo"}get isEmbellished(){return!0}coreParent(){let t=null,e=this;const s=this.factory.getNodeClass("math");for(;e&&e.isEmbellished&&e.coreMO()===this&&!(e instanceof s);)t=e,e=e.parent;return t||this}coreText(t){if(!t)return"";if(t.isEmbellished)return t.coreMO().getText();for(;((t.isKind("mrow")||t.isKind("TeXAtom")||t.isKind("mstyle")||t.isKind("mphantom"))&&1===t.childNodes.length||t.isKind("munderover"))&&t.childNodes[0];)t=t.childNodes[0];return t.isToken?t.getText():""}hasSpacingAttributes(){return this.attributes.isSet("lspace")||this.attributes.isSet("rspace")}get isAccent(){let t=!1;const e=this.coreParent().parent;if(e){const s=e.isKind("mover")?e.childNodes[e.over].coreMO()?"accent":"":e.isKind("munder")?e.childNodes[e.under].coreMO()?"accentunder":"":e.isKind("munderover")?this===e.childNodes[e.over].coreMO()?"accent":this===e.childNodes[e.under].coreMO()?"accentunder":"":"";if(s){t=void 0!==e.attributes.getExplicit(s)?t:this.attributes.get("accent")}}return t}setTeXclass(t){const{form:e,fence:s}=this.attributes.getList("form","fence");return void 0===this.getProperty("texClass")&&this.hasSpacingAttributes()?null:(s&&this.texClass===fn.REL&&("prefix"===e&&(this.texClass=fn.OPEN),"postfix"===e&&(this.texClass=fn.CLOSE)),this.adjustTeXclass(t))}adjustTeXclass(t){const e=this.texClass;let s=this.prevClass;if(e===fn.NONE)return t;if(t?(!t.getProperty("autoOP")||e!==fn.BIN&&e!==fn.REL||(s=t.texClass=fn.ORD),s=this.prevClass=t.texClass||fn.ORD,this.prevLevel=this.attributes.getInherited("scriptlevel")):s=this.prevClass=fn.NONE,e!==fn.BIN||s!==fn.NONE&&s!==fn.BIN&&s!==fn.OP&&s!==fn.REL&&s!==fn.OPEN&&s!==fn.PUNCT)if(s!==fn.BIN||e!==fn.REL&&e!==fn.CLOSE&&e!==fn.PUNCT){if(e===fn.BIN){let t=null,e=this.parent;for(;e&&e.parent&&e.isEmbellished&&(1===e.childNodes.length||!e.isKind("mrow")&&e.core()===t);)t=e,e=e.parent;t=t||this,e.childNodes[e.childNodes.length-1]===t&&(this.texClass=fn.ORD)}}else t.texClass=this.prevClass=fn.ORD;else this.texClass=fn.ORD;return this}setInheritedAttributes(t={},e=!1,s=0,i=!1){super.setInheritedAttributes(t,e,s,i);const n=this.getText();this.checkOperatorTable(n),this.checkPseudoScripts(n),this.checkPrimes(n),this.checkMathAccent(n)}getOperatorDef(t){const[e,s,i]=this.handleExplicitForm(this.getForms());this.attributes.setInherited("form",e);const n=this.constructor,r=n.OPTABLE,o=r[e][t]||r[s][t]||r[i][t];if(o)return o;this.setProperty("noDictDef",!0);const a=this.attributes.get("movablelimits");if((!!t.match(n.opPattern)||a)&&void 0===this.getProperty("texClass"))return On(1,2,fn.OP);const l=Pn(t),[c,h]=n.MMLSPACING[l[2]];return On(c,h,l[2])}checkOperatorTable(t){const e=this.getOperatorDef(t);void 0===this.getProperty("texClass")&&(this.texClass=e[2]);for(const t of Object.keys(e[3]||{}))this.attributes.setInherited(t,e[3][t]);this.lspace=e[0]/18,this.rspace=e[1]/18}getForms(){let t=null,e=this.parent,s=this.Parent;for(;s&&s.isEmbellished;)t=e,e=s.parent,s=s.Parent;if(t=t||this,e&&e.isKind("mrow")&&1!==e.nonSpaceLength()){if(e.firstNonSpace()===t)return["prefix","infix","postfix"];if(e.lastNonSpace()===t)return["postfix","infix","prefix"]}return["infix","prefix","postfix"]}handleExplicitForm(t){if(this.attributes.isSet("form")){const e=this.attributes.get("form");t=[e].concat(t.filter(t=>t!==e))}return t}checkPseudoScripts(t){const e=this.constructor.pseudoScripts;if(!t.match(e))return;const s=this.coreParent().Parent,i=!s||!(s.isKind("msubsup")&&!s.isKind("msub"));this.setProperty("pseudoscript",i),i&&(this.attributes.setInherited("lspace",0),this.attributes.setInherited("rspace",0))}checkPrimes(t){const e=this.constructor.primes;if(!t.match(e))return;const s=this.constructor.remapPrimes,i=Hn(Un(t).map(t=>s[t]));this.setProperty("primes",i)}checkMathAccent(t){const e=this.Parent;if(void 0!==this.getProperty("mathaccent")||!e||!e.isKind("munderover"))return;const[s,i,n]=e.childNodes;if(s.isEmbellished&&s.coreMO()===this)return;const r=!(!i||!i.isEmbellished||i.coreMO()!==this),o=!(!n||!n.isEmbellished||i.coreMO()!==this);(r||o)&&(this.isMathAccent(t)?this.setProperty("mathaccent",!0):this.isMathAccentWithWidth(t)&&this.setProperty("mathaccent",!1))}isMathAccent(t=this.getText()){const e=this.constructor.mathaccents;return!!t.match(e)}isMathAccentWithWidth(t=this.getText()){const e=this.constructor.mathaccentsWithWidth;return!!t.match(e)}}Xn.defaults=Object.assign(Object.assign({},Tn.defaults),{form:"infix",fence:!1,separator:!1,lspace:"thickmathspace",rspace:"thickmathspace",stretchy:!1,symmetric:!1,maxsize:"infinity",minsize:"0em",largeop:!1,movablelimits:!1,accent:!1,linebreak:"auto",lineleading:"100%",linebreakstyle:"before",indentalign:"auto",indentshift:"0",indenttarget:"",indentalignfirst:"indentalign",indentshiftfirst:"indentshift",indentalignlast:"indentalign",indentshiftlast:"indentshift"}),Xn.MMLSPACING=Bn,Xn.OPTABLE=Fn,Xn.pseudoScripts=new RegExp(["^[\"'*`","\xaa","\xb0","\xb2-\xb4","\xb9","\xba","\u2018-\u201f","\u2032-\u2037\u2057","\u2070\u2071","\u2074-\u207f","\u2080-\u208e","]+$"].join("")),Xn.primes=new RegExp(["^[\"'","\u2018-\u201f","]+$"].join("")),Xn.opPattern=/^[a-zA-Z]{2,}$/,Xn.remapPrimes={34:8243,39:8242,8216:8245,8217:8242,8218:8242,8219:8245,8220:8246,8221:8243,8222:8243,8223:8246},Xn.mathaccents=new RegExp(["^[","\xb4\u0301\u02ca","`\u0300\u02cb","\xa8\u0308","~\u0303\u02dc","\xaf\u0304\u02c9","\u02d8\u0306","\u02c7\u030c","^\u0302\u02c6","\u20d0\u20d1","\u20d6\u20d7\u20e1","\u02d9\u0307","\u02da\u030a","\u20db","\u20dc","]$"].join("")),Xn.mathaccentsWithWidth=new RegExp(["^[","\u2190\u2192\u2194","\u23dc\u23dd","\u23de\u23df","]$"].join(""));class zn extends Tn{constructor(){super(...arguments),this.texclass=fn.ORD}get kind(){return"mtext"}get isSpacelike(){return!!this.getText().match(/^\s*$/)&&!this.attributes.hasOneOf(zn.NONSPACELIKE)}}zn.NONSPACELIKE=["style","mathbackground","background"],zn.defaults=Object.assign({},Tn.defaults);class Kn extends Tn{constructor(){super(...arguments),this.texclass=fn.NONE}setTeXclass(t){return t}get kind(){return"mspace"}get arity(){return 0}get isSpacelike(){return!this.attributes.hasExplicit("linebreak")&&this.canBreak}get hasNewline(){const t=this.attributes.get("linebreak");return this.canBreak&&("newline"===t||"indentingnewline"===t)}get canBreak(){return!this.attributes.hasOneOf(Kn.NONSPACELIKE)&&"-"!==String(this.attributes.get("width")).trim().charAt(0)}}Kn.NONSPACELIKE=["height","depth","style","mathbackground","background"],Kn.defaults=Object.assign(Object.assign({},Tn.defaults),{width:"0em",height:"0ex",depth:"0ex",linebreak:"auto",indentshift:"auto",indentalign:"auto",indenttarget:"",indentalignfirst:"indentalign",indentshiftfirst:"indentshift",indentalignlast:"indentalign",indentshiftlast:"indentshift"});class $n extends Tn{constructor(){super(...arguments),this.texclass=fn.ORD}get kind(){return"ms"}}$n.defaults=Object.assign(Object.assign({},Tn.defaults),{lquote:'"',rquote:'"'});class Jn extends vn{constructor(){super(...arguments),this._core=null}get kind(){return"mrow"}get isSpacelike(){for(const t of this.childNodes)if(!t.isSpacelike)return!1;return!0}get isEmbellished(){let t=!1,e=0;for(const s of this.childNodes){if(s)if(s.isEmbellished){if(t)return!1;t=!0,this._core=e}else if(!s.isSpacelike)return!1;e++}return t}core(){return this.isEmbellished&&null!=this._core?this.childNodes[this._core]:this}coreMO(){return this.isEmbellished&&null!=this._core?this.childNodes[this._core].coreMO():this}nonSpaceLength(){let t=0;for(const e of this.childNodes)e&&!e.isSpacelike&&t++;return t}firstNonSpace(){for(const t of this.childNodes)if(t&&!t.isSpacelike)return t;return null}lastNonSpace(){let t=this.childNodes.length;for(;--t>=0;){const e=this.childNodes[t];if(e&&!e.isSpacelike)return e}return null}setTeXclass(t){if(null!=this.getProperty("open")||null!=this.getProperty("close")){this.getPrevClass(t),t=null;for(const e of this.childNodes)t=e.setTeXclass(t);return null==this.texClass&&(this.texClass=fn.INNER),this}for(const e of this.childNodes)t=e.setTeXclass(t);return this.childNodes[0]&&this.updateTeXclass(this.childNodes[0]),t}}Jn.defaults=Object.assign({},vn.defaults);class Yn extends Jn{get kind(){return"inferredMrow"}get isInferred(){return!0}get notParent(){return!0}toString(){return"["+this.childNodes.join(",")+"]"}}Yn.defaults=Jn.defaults;class Qn extends An{get kind(){return"mfrac"}get arity(){return 2}get linebreakContainer(){return!0}get linebreakAlign(){return""}setTeXclass(t){this.getPrevClass(t);for(const t of this.childNodes)t.setTeXclass(null);return this}setChildInheritedAttributes(t,e,s,i){(!e||s>0)&&s++;const n=this.attributes.get("numalign"),r=this.attributes.get("denomalign"),o=this.addInheritedAttributes(Object.assign({},t),{numalign:n,indentshift:"0",indentalignfirst:n,indentshiftfirst:"0",indentalignlast:"indentalign",indentshiftlast:"indentshift"}),a=this.addInheritedAttributes(Object.assign({},t),{denalign:r,indentshift:"0",indentalignfirst:r,indentshiftfirst:"0",indentalignlast:"indentalign",indentshiftlast:"indentshift"});this.childNodes[0].setInheritedAttributes(o,!1,s,i),this.childNodes[1].setInheritedAttributes(a,!1,s,!0)}}Qn.defaults=Object.assign(Object.assign({},An.defaults),{linethickness:"medium",numalign:"center",denomalign:"center",bevelled:!1});class Zn extends vn{constructor(){super(...arguments),this.texclass=fn.ORD}get kind(){return"msqrt"}get arity(){return-1}get linebreakContainer(){return!0}setTeXclass(t){return this.getPrevClass(t),this.childNodes[0].setTeXclass(null),this}setChildInheritedAttributes(t,e,s,i){this.childNodes[0].setInheritedAttributes(t,e,s,!0)}}Zn.defaults=Object.assign(Object.assign({},vn.defaults),{"data-vertical-align":"bottom"});class tr extends vn{constructor(){super(...arguments),this.texclass=fn.ORD}get kind(){return"mroot"}get arity(){return 2}get linebreakContainer(){return!0}setTeXclass(t){return this.getPrevClass(t),this.childNodes[0].setTeXclass(null),this.childNodes[1].setTeXclass(null),this}setChildInheritedAttributes(t,e,s,i){this.childNodes[0].setInheritedAttributes(t,e,s,!0),this.childNodes[1].setInheritedAttributes(t,!1,s+2,i)}}tr.defaults=Object.assign(Object.assign({},vn.defaults),{"data-vertical-align":"bottom"});class er extends Cn{get kind(){return"mstyle"}get notParent(){return this.childNodes[0]&&1===this.childNodes[0].childNodes.length}setInheritedAttributes(t={},e=!1,s=0,i=!1){this.attributes.setInherited("displaystyle",e),this.attributes.setInherited("scriptlevel",s),super.setInheritedAttributes(t,e,s,i)}setChildInheritedAttributes(t,e,s,i){let n=this.attributes.getExplicit("scriptlevel");null!=n&&(n=n.toString(),n.match(/^\s*[-+]/)?s+=parseInt(n):s=parseInt(n),i=!1);const r=this.attributes.getExplicit("displaystyle");null!=r&&(e=!0===r,i=!1);const o=this.attributes.getExplicit("data-cramped");null!=o&&(i=o),t=this.addInheritedAttributes(t,this.attributes.getAllAttributes()),this.childNodes[0].setInheritedAttributes(t,e,s,i)}}er.defaults=Object.assign(Object.assign({},Cn.defaults),{scriptlevel:un,displaystyle:un,scriptsizemultiplier:1/Math.sqrt(2),scriptminsize:".4em",mathbackground:un,mathcolor:un,dir:un,infixlinebreakstyle:"before"});class sr extends vn{constructor(){super(...arguments),this.texclass=fn.ORD}get kind(){return"merror"}get arity(){return-1}get linebreakContainer(){return!0}}sr.defaults=Object.assign({},vn.defaults);class ir extends Cn{get kind(){return"mpadded"}get linebreakContainer(){return!0}setTeXclass(t){return this.getProperty("vbox")?(this.getPrevClass(t),this.texClass=fn.ORD,this.childNodes[0].setTeXclass(null),this):super.setTeXclass(t)}}ir.defaults=Object.assign(Object.assign({},Cn.defaults),{width:"",height:"",depth:"",lspace:0,voffset:0});class nr extends Cn{constructor(){super(...arguments),this.texclass=fn.ORD}get kind(){return"mphantom"}}nr.defaults=Object.assign({},Cn.defaults);class rr extends vn{constructor(){super(...arguments),this.texclass=fn.INNER,this.separators=[],this.open=null,this.close=null}get kind(){return"mfenced"}setTeXclass(t){this.getPrevClass(t),this.open&&(t=this.open.setTeXclass(t)),this.childNodes[0]&&(t=this.childNodes[0].setTeXclass(t));for(let e=1,s=this.childNodes.length;e<s;e++)this.separators[e-1]&&(t=this.separators[e-1].setTeXclass(t)),this.childNodes[e]&&(t=this.childNodes[e].setTeXclass(t));return this.close&&(t=this.close.setTeXclass(t)),this.open&&this.close||this.updateTeXclass(this.open||this.childNodes[0]||this.close),t}setChildInheritedAttributes(t,e,s,i){this.addFakeNodes();for(const n of[this.open,this.close].concat(this.separators))n&&n.setInheritedAttributes(t,e,s,i);super.setChildInheritedAttributes(t,e,s,i)}addFakeNodes(){let{open:t,close:e,separators:s}=this.attributes.getList("open","close","separators");if(t=t.replace(/[ \t\n\r]/g,""),e=e.replace(/[ \t\n\r]/g,""),s=s.replace(/[ \t\n\r]/g,""),t&&(this.open=this.fakeNode(t,{fence:!0,form:"prefix"},fn.OPEN)),s){for(;s.length<this.childNodes.length-1;)s+=s.charAt(s.length-1);let t=0;for(const e of this.childNodes.slice(1))e&&this.separators.push(this.fakeNode(s.charAt(t++)))}e&&(this.close=this.fakeNode(e,{fence:!0,form:"postfix"},fn.CLOSE))}fakeNode(t,e={},s=null){const i=this.factory.create("text").setText(t),n=this.factory.create("mo",e,[i]);return n.texClass=s,n.parent=this,n}}rr.defaults=Object.assign(Object.assign({},vn.defaults),{open:"(",close:")",separators:","});class or extends vn{constructor(){super(...arguments),this.texclass=fn.ORD}get kind(){return"menclose"}get arity(){return-1}get linebreakContainer(){return!0}setTeXclass(t){return t=this.childNodes[0].setTeXclass(t),this.updateTeXclass(this.childNodes[0]),t}}or.defaults=Object.assign(Object.assign({},vn.defaults),{notation:"longdiv"});class ar extends vn{get kind(){return"maction"}get arity(){return 1}get selected(){const t=this.attributes.get("selection"),e=Math.max(1,Math.min(this.childNodes.length,t))-1;return this.childNodes[e]||this.factory.create("mrow")}get isEmbellished(){return this.selected.isEmbellished}get isSpacelike(){return this.selected.isSpacelike}core(){return this.selected.core()}coreMO(){return this.selected.coreMO()}verifyAttributes(t){super.verifyAttributes(t),"toggle"!==this.attributes.get("actiontype")&&this.attributes.hasExplicit("selection")&&this.attributes.unset("selection")}setTeXclass(t){"tooltip"===this.attributes.get("actiontype")&&this.childNodes[1]&&this.childNodes[1].setTeXclass(null);const e=this.selected;return t=e.setTeXclass(t),this.updateTeXclass(e),t}nextToggleSelection(){let t=Math.max(1,parseInt(this.attributes.get("selection"))+1);t>this.childNodes.length&&(t=1),this.attributes.set("selection",t)}setChildInheritedAttributes(t,e,s,i){var n,r;"tooltip"===this.attributes.get("actiontype").toLowerCase()?(null===(n=this.childNodes[0])||void 0===n||n.setInheritedAttributes(t,e,s,i),null===(r=this.childNodes[1])||void 0===r||r.setInheritedAttributes(t,!1,1,!1)):super.setChildInheritedAttributes(t,e,s,i)}}ar.defaults=Object.assign(Object.assign({},vn.defaults),{actiontype:"toggle",selection:1});class lr extends An{get kind(){return"msubsup"}get arity(){return 3}get base(){return 0}get sub(){return 1}get sup(){return 2}setChildInheritedAttributes(t,e,s,i){const n=this.childNodes;n[0].setInheritedAttributes(t,e,s,i),n[1].setInheritedAttributes(t,!1,s+1,i||1===this.sub),n[2]&&n[2].setInheritedAttributes(t,!1,s+1,i||2===this.sub)}}lr.defaults=Object.assign(Object.assign({},An.defaults),{subscriptshift:"",superscriptshift:""});class cr extends lr{get kind(){return"msub"}get arity(){return 2}}cr.defaults=Object.assign({},lr.defaults);class hr extends lr{get kind(){return"msup"}get arity(){return 2}get sup(){return 1}get sub(){return 2}}hr.defaults=Object.assign({},lr.defaults);class dr extends An{get kind(){return"munderover"}get arity(){return 3}get base(){return 0}get under(){return 1}get over(){return 2}get linebreakContainer(){return!0}setChildInheritedAttributes(t,e,s,i){const n=this.childNodes;n[0].setInheritedAttributes(t,e,s,i||!!n[this.over]);const r=!(e||!n[0].coreMO().attributes.get("movablelimits")),o=this.constructor.ACCENTS;n[1].setInheritedAttributes(t,!1,this.getScriptlevel(o[1],r,s),i||1===this.under),this.setInheritedAccent(1,o[1],e,s,i,r),n[2]&&(n[2].setInheritedAttributes(t,!1,this.getScriptlevel(o[2],r,s),i||2===this.under),this.setInheritedAccent(2,o[2],e,s,i,r))}getScriptlevel(t,e,s){return!e&&this.attributes.get(t)||s++,s}setInheritedAccent(t,e,s,i,n,r){const o=this.childNodes[t];if(!this.attributes.hasExplicit(e)&&o.isEmbellished){const t=o.coreMO().attributes.get("accent");this.attributes.setInherited(e,t),t!==this.attributes.getDefault(e)&&o.setInheritedAttributes({},s,this.getScriptlevel(e,r,i),n)}}}dr.defaults=Object.assign(Object.assign({},An.defaults),{accent:!1,accentunder:!1,align:"center"}),dr.ACCENTS=["","accentunder","accent"];class ur extends dr{get kind(){return"munder"}get arity(){return 2}}ur.defaults=Object.assign({},dr.defaults);class pr extends dr{get kind(){return"mover"}get arity(){return 2}get over(){return 1}get under(){return 2}}pr.defaults=Object.assign({},dr.defaults),pr.ACCENTS=["","accent","accentunder"];class mr extends lr{get kind(){return"mmultiscripts"}get arity(){return 1}setChildInheritedAttributes(t,e,s,i){this.childNodes[0].setInheritedAttributes(t,e,s,i);let n=!1;for(let e=1,r=0;e<this.childNodes.length;e++){const o=this.childNodes[e];if(o.isKind("mprescripts")){if(!n&&(n=!0,e%2==0)){const t=this.factory.create("none");this.childNodes.splice(e,0,t),t.parent=this,e++}}else{const e=i||r%2==0;o.setInheritedAttributes(t,!1,s+1,e),r++}}this.childNodes.length%2==(n?1:0)&&(this.appendChild(this.factory.create("none")),this.childNodes[this.childNodes.length-1].setInheritedAttributes(t,!1,s+1,i))}verifyChildren(t){let e=!1;const s=t.fixMmultiscripts;for(let i=0;i<this.childNodes.length;i++){const n=this.childNodes[i];n.isKind("mprescripts")&&(e?n.mError(n.kind+" can only appear once in "+this.kind,t,!0):(e=!0,i%2!=0||s||this.mError("There must be an equal number of prescripts of each type",t)))}this.childNodes.length%2!=(e?1:0)||s||this.mError("There must be an equal number of scripts of each type",t),super.verifyChildren(t)}}mr.defaults=Object.assign({},lr.defaults);class gr extends vn{get kind(){return"mprescripts"}get arity(){return 0}verifyTree(t){super.verifyTree(t),this.parent&&!this.parent.isKind("mmultiscripts")&&this.mError(this.kind+" must be a child of mmultiscripts",t,!0)}}gr.defaults=Object.assign({},vn.defaults);class fr extends vn{get kind(){return"none"}get arity(){return 0}verifyTree(t){super.verifyTree(t),this.parent&&!this.parent.isKind("mmultiscripts")&&this.mError(this.kind+" must be a child of mmultiscripts",t,!0)}}fr.defaults=Object.assign({},vn.defaults);class br extends vn{constructor(){super(...arguments),this.properties={useHeight:!0},this.texclass=fn.ORD}get kind(){return"mtable"}get linebreakContainer(){return!0}get linebreakAlign(){return""}setInheritedAttributes(t,e,s,i){for(const e of Nn)t[e]&&this.attributes.setInherited(e,t[e][1]),this.attributes.hasExplicit(e)&&this.attributes.unset(e);super.setInheritedAttributes(t,e,s,i)}setChildInheritedAttributes(t,e,s,i){for(const t of this.childNodes)t.isKind("mtr")||this.replaceChild(this.factory.create("mtr"),t).appendChild(t);e=!(!this.attributes.getExplicit("displaystyle")&&!this.attributes.getDefault("displaystyle")),t=this.addInheritedAttributes(t,{columnalign:this.attributes.get("columnalign"),rowalign:"center","data-break-align":this.attributes.get("data-break-align")});const n=this.attributes.getExplicit("data-cramped"),r=qn(this.attributes.get("rowalign"));for(const i of this.childNodes)t.rowalign[1]=r.shift()||t.rowalign[1],i.setInheritedAttributes(t,e,s,!!n)}verifyChildren(t){let e=null;const s=this.factory;for(let i=0;i<this.childNodes.length;i++){const n=this.childNodes[i];if(n.isKind("mtr"))e=null;else{const r=n.isKind("mtd");if(e?(this.removeChild(n),i--):e=this.replaceChild(s.create("mtr"),n),e.appendChild(r?n:s.create("mtd",{},[n])),!t.fixMtables){n.parent.removeChild(n),n.parent=this,r&&e.appendChild(s.create("mtd"));const i=n.mError("Children of "+this.kind+" must be mtr or mlabeledtr",t,r);e.childNodes[e.childNodes.length-1].appendChild(i)}}}super.verifyChildren(t)}setTeXclass(t){this.getPrevClass(t);for(const t of this.childNodes)t.setTeXclass(null);return this}}br.defaults=Object.assign(Object.assign({},vn.defaults),{align:"axis",rowalign:"baseline",columnalign:"center",groupalign:"{left}",alignmentscope:!0,columnwidth:"auto",width:"auto",rowspacing:"1ex",columnspacing:".8em",rowlines:"none",columnlines:"none",frame:"none",framespacing:"0.4em 0.5ex",equalrows:!1,equalcolumns:!1,displaystyle:!1,side:"right",minlabelspacing:"0.8em","data-break-align":"top"});class Er extends vn{get kind(){return"mtr"}get linebreakContainer(){return!0}get linebreakAlign(){return""}setChildInheritedAttributes(t,e,s,i){for(const t of this.childNodes)t.isKind("mtd")||this.replaceChild(this.factory.create("mtd"),t).appendChild(t);const n=qn(this.attributes.get("columnalign")),r=qn(this.attributes.get("data-break-align"));1===this.arity&&(n.unshift(this.parent.attributes.get("side")),r.unshift("top")),t=this.addInheritedAttributes(t,{rowalign:this.attributes.get("rowalign"),columnalign:"center","data-break-align":"top"});for(const o of this.childNodes)t.columnalign[1]=n.shift()||t.columnalign[1],t["data-vertical-align"]=[this.kind,r.shift()||t["data-break-align"][1]],o.setInheritedAttributes(t,e,s,i)}verifyChildren(t){if(!this.parent||this.parent.isKind("mtable")){for(const e of this.childNodes)if(!e.isKind("mtd")){this.replaceChild(this.factory.create("mtd"),e).appendChild(e),t.fixMtables||e.mError("Children of "+this.kind+" must be mtd",t)}super.verifyChildren(t)}else this.mError(this.kind+" can only be a child of an mtable",t,!0)}setTeXclass(t){this.getPrevClass(t);for(const t of this.childNodes)t.setTeXclass(null);return this}}Er.defaults=Object.assign(Object.assign({},vn.defaults),{rowalign:un,columnalign:un,groupalign:un,"data-break-align":"top"});class yr extends Er{get kind(){return"mlabeledtr"}get arity(){return 1}}class xr extends An{get kind(){return"mtd"}get arity(){return-1}get linebreakContainer(){return!0}get linebreakAlign(){return"columnalign"}verifyChildren(t){!this.parent||this.parent.isKind("mtr")?super.verifyChildren(t):this.mError(this.kind+" can only be a child of an mtr or mlabeledtr",t,!0)}setTeXclass(t){return this.getPrevClass(t),this.childNodes[0].setTeXclass(null),this}}xr.defaults=Object.assign(Object.assign({},An.defaults),{rowspan:1,columnspan:1,rowalign:un,columnalign:un,groupalign:un,"data-vertical-align":"top"});class Nr extends Cn{get kind(){return"maligngroup"}get isSpacelike(){return!0}setChildInheritedAttributes(t,e,s,i){t=this.addInheritedAttributes(t,this.attributes.getAllAttributes()),super.setChildInheritedAttributes(t,e,s,i)}}Nr.defaults=Object.assign(Object.assign({},Cn.defaults),{groupalign:un});class vr extends vn{get kind(){return"malignmark"}get arity(){return 0}get isSpacelike(){return!0}}vr.defaults=Object.assign(Object.assign({},vn.defaults),{edge:"left"});class Tr extends Tn{constructor(){super(...arguments),this.texclass=fn.ORD}get kind(){return"mglyph"}verifyAttributes(t){const{src:e,fontfamily:s,index:i}=this.attributes.getList("src","fontfamily","index");""!==e||""!==s&&""!==i?super.verifyAttributes(t):this.mError("mglyph must have either src or fontfamily and index attributes",t,!0)}}Tr.defaults=Object.assign(Object.assign({},Tn.defaults),{alt:"",src:"",index:"",width:"auto",height:"auto",valign:"0em"});class Cr extends An{get kind(){return"semantics"}get arity(){return 1}get notParent(){return!0}}Cr.defaults=Object.assign(Object.assign({},An.defaults),{definitionUrl:null,encoding:null});class Ar extends vn{get kind(){return"annotation-xml"}setChildInheritedAttributes(){}}Ar.defaults=Object.assign(Object.assign({},vn.defaults),{definitionUrl:null,encoding:null,cd:"mathmlkeys",name:"",src:null});class Lr extends Ar{constructor(){super(...arguments),this.properties={isChars:!0}}get kind(){return"annotation"}}Lr.defaults=Object.assign({},Ar.defaults);class Sr extends An{get kind(){return"TeXAtom"}get arity(){return-1}get notParent(){return!0}constructor(t,e,s){super(t,e,s),this.texclass=fn.ORD,this.setProperty("texClass",this.texClass)}setTeXclass(t){return this.childNodes[0].setTeXclass(null),this.adjustTeXclass(t)}adjustTeXclass(t){return t}}Sr.defaults=Object.assign({},An.defaults),Sr.prototype.adjustTeXclass=Xn.prototype.adjustTeXclass;class Rr extends An{get kind(){return"MathChoice"}get arity(){return 4}get notParent(){return!0}setInheritedAttributes(t,e,s,i){const n=e?0:Math.max(0,Math.min(s,2))+1,r=this.childNodes[n]||this.factory.create("mrow");this.parent.replaceChild(r,this),r.setInheritedAttributes(t,e,s,i)}}Rr.defaults=Object.assign({},An.defaults);class Ir extends Rn{get kind(){return"html"}getHTML(){return this.getXML()}setHTML(t,e=null){try{e.getAttribute(t,"data-mjx-hdw")}catch(s){t=e.node("span",{},[t])}return this.setXML(t,e)}getSerializedHTML(){return this.adaptor.outerHTML(this.xml)}textContent(){return this.adaptor.textContent(this.xml)}toString(){const t=this.adaptor.kind(this.xml);return`HTML=<${t}>...</${t}>`}verifyTree(t){!this.parent||this.parent.isToken||this.mError("HTML can only be a child of a token element",t,!0)}}const wr={[In.prototype.kind]:In,[wn.prototype.kind]:wn,[Mn.prototype.kind]:Mn,[Xn.prototype.kind]:Xn,[zn.prototype.kind]:zn,[Kn.prototype.kind]:Kn,[$n.prototype.kind]:$n,[Jn.prototype.kind]:Jn,[Yn.prototype.kind]:Yn,[Qn.prototype.kind]:Qn,[Zn.prototype.kind]:Zn,[tr.prototype.kind]:tr,[er.prototype.kind]:er,[sr.prototype.kind]:sr,[ir.prototype.kind]:ir,[nr.prototype.kind]:nr,[rr.prototype.kind]:rr,[or.prototype.kind]:or,[ar.prototype.kind]:ar,[cr.prototype.kind]:cr,[hr.prototype.kind]:hr,[lr.prototype.kind]:lr,[ur.prototype.kind]:ur,[pr.prototype.kind]:pr,[dr.prototype.kind]:dr,[mr.prototype.kind]:mr,[gr.prototype.kind]:gr,[fr.prototype.kind]:fr,[br.prototype.kind]:br,[yr.prototype.kind]:yr,[Er.prototype.kind]:Er,[xr.prototype.kind]:xr,[Nr.prototype.kind]:Nr,[vr.prototype.kind]:vr,[Tr.prototype.kind]:Tr,[Cr.prototype.kind]:Cr,[Lr.prototype.kind]:Lr,[Ar.prototype.kind]:Ar,[Sr.prototype.kind]:Sr,[Rr.prototype.kind]:Rr,[Sn.prototype.kind]:Sn,[Rn.prototype.kind]:Rn,[Ir.prototype.kind]:Ir};class Mr extends dn{get MML(){return this.node}}Mr.defaultNodes=wr;class Or{constructor(){this.bits=0}static allocate(...t){for(const e of t){if(this.has(e))throw new Error("Bit already allocated for "+e);if(this.next===Or.MAXBIT)throw new Error("Maximum number of bits already allocated");this.names.set(e,this.next),this.next<<=1}}static has(t){return this.names.has(t)}set(t){this.bits|=this.getBit(t)}clear(t){this.bits&=~this.getBit(t)}isSet(t){return!!(this.bits&this.getBit(t))}reset(){this.bits=0}getBit(t){const e=this.constructor.names.get(t);if(!e)throw new Error("Unknown bit-field name: "+t);return e}}function kr(...t){const e=class extends Or{};return e.allocate(...t),e}function Dr(t){return new Promise(function e(s,i){const n=t=>{var n;t.retry instanceof Promise?t.retry.then(()=>e(s,i)).catch(t=>i(t)):(null===(n=t.restart)||void 0===n?void 0:n.isCallback)?MathJax.Callback.After(()=>e(s,i),t.restart):i(t)};try{const e=t();e instanceof Promise?e.then(t=>s(t)).catch(t=>n(t)):s(e)}catch(t){n(t)}})}function Pr(t){const e=new Error("MathJax retry -- an asynchronous action is required; try using one of the promise-based functions and await its resolution.");throw e.retry=t,e}Or.MAXBIT=1<<31,Or.next=1,Or.names=new Map;var Br=function(t,e,s,i){return new(s||(s=Promise))(function(n,r){function o(t){try{l(i.next(t))}catch(t){r(t)}}function a(t){try{l(i.throw(t))}catch(t){r(t)}}function l(t){var e;t.done?n(t.value):(e=t.value,e instanceof s?e:new s(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})};class Fr extends fi{static create(t){const e=new this;for(const s of Object.keys(t)){const[i,n]=this.action(s,t[s]);n&&e.add(i,n)}return e}static action(t,e){let s,i,n=!0;const r=e[0];if(1===e.length||"boolean"==typeof e[1])2===e.length&&(n=e[1]),[s,i]=this.methodActions(t);else if("string"==typeof e[1])if("string"==typeof e[2]){4===e.length&&(n=e[3]);const[t,r]=e.slice(1);[s,i]=this.methodActions(t,r)}else 3===e.length&&(n=e[2]),[s,i]=this.methodActions(e[1]);else 4===e.length&&(n=e[3]),[s,i]=e.slice(1);return[{id:t,renderDoc:s,renderMath:i,convert:n},r]}static methodActions(t,e=t){return[e=>(t&&e[t](),!1),(t,s)=>(e&&t[e](s),!1)]}renderDoc(t,e=ln.UNPROCESSED){for(const s of this.items)if(s.priority>=e&&s.item.renderDoc(t))return}renderMath(t,e,s=ln.UNPROCESSED){for(const i of this.items)if(i.priority>=s&&i.item.renderMath(t,e))return}renderConvert(t,e,s=ln.LAST){for(const i of this.items){if(i.priority>s)return;if(i.item.convert&&i.item.renderMath(t,e))return}}findID(t){for(const e of this.items)if(e.item.id===t)return e.item;return null}}const jr={all:!1,processed:!1,inputJax:null,outputJax:null},_r={all:!0,processed:!0,inputJax:[],outputJax:[]};class Ur extends Zi{compile(t){return null}}class Hr extends tn{typeset(t,e=null){return null}escaped(t,e){return null}}class Wr extends rn{}class qr{constructor(t,e,s){const i=this.constructor;this.document=t,this.options=Fi(Bi({},i.OPTIONS),s),this.math=new(this.options.MathList||Wr),this.renderActions=Fr.create(this.options.renderActions),this._actionPromises=[],this._readyPromise=Promise.resolve(),this.processed=new qr.ProcessBits,this.outputJax=this.options.OutputJax||new Hr;let n=this.options.InputJax||[new Ur];Array.isArray(n)||(n=[n]),this.inputJax=n,this.adaptor=e,this.outputJax.setAdaptor(e),this.inputJax.map(t=>t.setAdaptor(e)),this.mmlFactory=this.options.MmlFactory||new Mr,this.inputJax.map(t=>t.setMmlFactory(this.mmlFactory)),this.outputJax.initialize(),this.inputJax.map(t=>t.initialize())}get kind(){return this.constructor.KIND}addRenderAction(t,...e){const[s,i]=Fr.action(t,e);this.renderActions.add(s,i)}removeRenderAction(t){const e=this.renderActions.findID(t);e&&this.renderActions.remove(e)}render(){return this.clearPromises(),this.renderActions.renderDoc(this),this}renderPromise(){return this.whenReady(()=>Dr(()=>Br(this,void 0,void 0,function*(){return this.render(),yield this.actionPromises(),this.clearPromises(),this})))}rerender(t=ln.RERENDER){return this.state(t-1),this.render(),this}rerenderPromise(t=ln.RERENDER){return this.whenReady(()=>Dr(()=>Br(this,void 0,void 0,function*(){return this.rerender(t),yield this.actionPromises(),this.clearPromises(),this})))}convert(t,e={}){let{format:s,display:i,end:n,ex:r,em:o,containerWidth:a,scale:l,family:c}=Fi({format:this.inputJax[0].name,display:!0,end:ln.LAST,em:16,ex:8,containerWidth:null,scale:1,family:""},e);null===a&&(a=80*r);const h=this.inputJax.reduce((t,e)=>e.name===s?e:t,null),d=new this.options.MathItem(t,h,i);return d.start.node=this.adaptor.body(this.document),d.setMetrics(o,r,a,l),c&&this.outputJax.options.mtextInheritFont&&(d.outputData.mtextFamily=c),c&&this.outputJax.options.merrorInheritFont&&(d.outputData.merrorFamily=c),this.clearPromises(),d.convert(this,n),d.typesetRoot||d.root}convertPromise(t,e={}){return this.whenReady(()=>Dr(()=>Br(this,void 0,void 0,function*(){const s=this.convert(t,e);return yield this.actionPromises(),this.clearPromises(),s})))}whenReady(t){return this._readyPromise=this._readyPromise.catch(t=>{}).then(()=>{const e=this._readyPromise;this._readyPromise=Promise.resolve();const s=t(),i=this._readyPromise.then(()=>s);return this._readyPromise=e,i})}actionPromises(){return Promise.all(this._actionPromises)}clearPromises(){this._actionPromises=[]}savePromise(t){this._actionPromises.push(t)}findMath(t=null){return this.processed.set("findMath"),this}compile(){if(!this.processed.isSet("compile")){const t=[];for(const e of this.math)this.compileMath(e),void 0!==e.inputData.recompile&&t.push(e);for(const e of t){const t=e.inputData.recompile;e.state(t.state),e.inputData.recompile=t,this.compileMath(e)}this.processed.set("compile")}return this}compileMath(t){try{t.compile(this)}catch(e){if(e.retry||e.restart)throw e;this.options.compileError(this,t,e),t.inputData.error=e}}compileError(t,e){t.root=this.mmlFactory.create("math",null,[this.mmlFactory.create("merror",{"data-mjx-error":e.message,title:e.message},[this.mmlFactory.create("mtext",null,[this.mmlFactory.create("text").setText("Math input error")])])]),t.display&&t.root.attributes.set("display","block"),t.inputData.error=e.message}typeset(){if(!this.processed.isSet("typeset")){for(const t of this.math)try{t.typeset(this)}catch(e){if(e.retry||e.restart)throw e;this.options.typesetError(this,t,e),t.outputData.error=e}this.processed.set("typeset")}return this}typesetError(t,e){t.typesetRoot=this.adaptor.node("mjx-container",{class:"MathJax mjx-output-error",jax:this.outputJax.name},[this.adaptor.node("span",{"data-mjx-error":e.message,title:e.message,style:{color:"red","background-color":"yellow","line-height":"normal"}},[this.adaptor.text("Math output error")])]),t.display&&this.adaptor.setAttributes(t.typesetRoot,{style:{display:"block",margin:"1em 0","text-align":"center"}}),t.outputData.error=e.message}getMetrics(){return this.processed.isSet("getMetrics")||(this.outputJax.getMetrics(this),this.processed.set("getMetrics")),this}updateDocument(){if(!this.processed.isSet("updateDocument")){for(const t of this.math.reversed())t.updateDocument(this);this.processed.set("updateDocument")}return this}removeFromDocument(t=!1){return this}state(t,e=!1){for(const s of this.math)s.state(t,e);return t<ln.INSERTED&&this.processed.clear("updateDocument"),t<ln.TYPESET&&(this.processed.clear("typeset"),this.processed.clear("getMetrics")),t<ln.COMPILED&&this.processed.clear("compile"),t<ln.FINDMATH&&this.processed.clear("findMath"),this}reset(t={processed:!0}){return(t=Fi(Object.assign({},jr),t)).all&&Object.assign(t,_r),t.processed&&this.processed.reset(),t.inputJax&&this.inputJax.forEach(e=>e.reset(...t.inputJax)),t.outputJax&&this.outputJax.reset(...t.outputJax),this}clear(){return this.reset(),this.math.clear(),this}done(){return Promise.resolve()}concat(t){return this.math.merge(t),this}clearMathItemsWithin(t){const e=this.getMathItemsWithin(t);for(const t of e.slice(0).reverse())t.clear();return this.math.remove(...e),e}getMathItemsWithin(t){Array.isArray(t)||(t=[t]);const e=this.adaptor,s=[],i=e.getElements(t,this.document);t:for(const t of this.math)for(const n of i)if(t.start.node&&e.contains(n,t.start.node)){s.push(t);continue t}return s}}qr.KIND="MathDocument",qr.OPTIONS={OutputJax:null,InputJax:null,MmlFactory:null,MathList:Wr,MathItem:class extends an{},compileError:(t,e,s)=>{t.compileError(e,s)},typesetError:(t,e,s)=>{t.typesetError(e,s)},renderActions:Mi({find:[ln.FINDMATH,"findMath","",!1],compile:[ln.COMPILED],metrics:[ln.METRICS,"getMetrics","",!1],typeset:[ln.TYPESET],update:[ln.INSERTED,"updateDocument",!1]})},qr.ProcessBits=kr("findMath","compile","getMetrics","typeset","updateDocument");class Vr extends qr{}class Gr{constructor(t,e=5){this.documentClass=Vr,this.adaptor=t,this.priority=e}get name(){return this.constructor.NAME}handlesDocument(t){return!1}create(t,e){return new this.documentClass(t,this.adaptor,e)}}Gr.NAME="generic";class Xr extends fi{register(t){return this.add(t,t.priority)}unregister(t){this.remove(t)}handlesDocument(t){for(const e of this){const s=e.item;if(s.handlesDocument(t))return s}throw new Error("Can't find handler for document")}document(t,e=null){return this.handlesDocument(t).create(t,e)}}class zr{static methodName(t){return"visit"+(t.charAt(0).toUpperCase()+t.substring(1)).replace(/[^a-z0-9_]/gi,"_")+"Node"}constructor(t){this.nodeHandlers=new Map;for(const e of t.getKinds()){const t=this[zr.methodName(e)];t&&this.nodeHandlers.set(e,t)}}visitTree(t,...e){return this.visitNode(t,...e)}visitNode(t,...e){return(this.nodeHandlers.get(t.kind)||this.visitDefault).call(this,t,...e)}visitDefault(t,...e){if("childNodes"in t)for(const s of t.childNodes)this.visitNode(s,...e)}setNodeHandler(t,e){this.nodeHandlers.set(t,e)}removeNodeHandler(t){this.nodeHandlers.delete(t)}}const Kr="data-mjx-";class $r extends zr{constructor(t=null){t||(t=new Mr),super(t)}visitTextNode(t,...e){}visitXMLNode(t,...e){}visitHtmlNode(t,...e){}getKind(t){const e=t.kind;return Hi(e,this.constructor.rename,e)}getAttributeList(t){const e=this.constructor,s=Hi(t.kind,e.defaultAttributes,{}),i=Object.assign({},s,this.getDataAttributes(t),t.attributes.getAllAttributes()),n=e.variants;return Object.hasOwn(i,"mathvariant")&&(Object.hasOwn(n,i.mathvariant)?i.mathvariant=n[i.mathvariant]:t.getProperty("ignore-variant")&&delete i.mathvariant),i}getDataAttributes(t){const e={},s=t.attributes.getExplicit("mathvariant"),i=this.constructor.variants;s&&(t.getProperty("ignore-variant")||Object.hasOwn(i,s))&&this.setDataAttribute(e,"variant",s),t.getProperty("variantForm")&&this.setDataAttribute(e,"alternate","1"),t.getProperty("pseudoscript")&&this.setDataAttribute(e,"pseudoscript","true"),!1===t.getProperty("autoOP")&&this.setDataAttribute(e,"auto-op","false");const n=t.getProperty("vbox");n&&this.setDataAttribute(e,"vbox",n);const r=t.getProperty("scriptalign");r&&this.setDataAttribute(e,"script-align",r);const o=t.getProperty("mathaccent");void 0!==o&&(o&&!t.isMathAccent()||!o&&!t.isMathAccentWithWidth())&&this.setDataAttribute(e,"mathaccent",o.toString());const a=t.getProperty("texClass");if(void 0!==a){let s=!0;if(a===fn.OP&&t.isKind("mi")){const e=t.getText();s=!(e.length>1&&e.match(wn.operatorName))}s&&this.setDataAttribute(e,"texclass",a<0?"NONE":bn[a])}return t.getProperty("smallmatrix")&&this.setDataAttribute(e,"smallmatrix","true"),e}setDataAttribute(t,e,s){t[Kr+e]=s}}$r.rename={TeXAtom:"mrow"},$r.variants={"-tex-calligraphic":"script","-tex-bold-calligraphic":"bold-script","-tex-oldstyle":"normal","-tex-bold-oldstyle":"bold","-tex-mathit":"italic"},$r.defaultAttributes={math:{xmlns:"http://www.w3.org/1998/Math/MathML"}};class Jr extends $r{constructor(){super(...arguments),this.document=null}visitTree(t,e){this.document=e;const s=e.createElement("top");return this.visitNode(t,s),this.document=null,s.firstChild}visitTextNode(t,e){e.appendChild(this.document.createTextNode(t.getText()))}visitXMLNode(t,e){e.appendChild(t.getXML().cloneNode(!0))}visitHtmlNode(t,e){e.appendChild(t.getHTML().cloneNode(!0))}visitInferredMrowNode(t,e){for(const s of t.childNodes)this.visitNode(s,e)}visitDefault(t,e){const s=this.document.createElement(this.getKind(t));this.addAttributes(t,s);for(const e of t.childNodes)this.visitNode(e,s);e.appendChild(s)}addAttributes(t,e){const s=this.getAttributeList(t);for(const t of Object.keys(s))e.setAttribute(t,s[t].toString())}}class Yr extends $r{visitTree(t){return this.visitNode(t,"")}visitTextNode(t,e){return this.quoteHTML(t.getText())}visitXMLNode(t,e){return e+t.getSerializedXML()}visitHtmlNode(t,e){return t.getSerializedHTML()}visitInferredMrowNode(t,e){const s=[];for(const i of t.childNodes)s.push(this.visitNode(i,e));return s.join("\n")}visitAnnotationNode(t,e){const s=this.childNodeMml(t,"","");return`${e}<annotation${this.getAttributes(t)}>${s}</annotation>`}visitDefault(t,e){const s=this.getKind(t),[i,n]=t.isToken||0===t.childNodes.length?["",""]:["\n",e],r=this.childNodeMml(t,e+" ",i),o=r.match(/\S/)?i+r+n:"";return`${e}<${s}${this.getAttributes(t)}>${o}</${s}>`}childNodeMml(t,e,s){let i="";for(const n of t.childNodes)i+=this.visitNode(n,e)+s;return i}getAttributes(t){const e=[],s=this.getAttributeList(t);for(const t of Object.keys(s)){const i=String(s[t]);void 0!==i&&e.push(t+'="'+this.quoteHTML(i)+'"')}return e.length?" "+e.join(" "):""}quoteHTML(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/[\uD800-\uDBFF]./g,this.toEntity).replace(/[\u0080-\uD7FF\uE000-\uFFFF]/g,this.toEntity)}toEntity(t){return Gn(t)}}class Qr{get kind(){return this.node.kind}constructor(t,e){this.factory=t,this.node=e}wrap(t){return this.factory.wrap(t)}walkTree(t,e){if(t(this,e),"childNodes"in this)for(const s of this.childNodes)s&&s.walkTree(t,e);return e}}class Zr extends hn{wrap(t,...e){return this.create(t.kind,t,...e)}}const to={version:ni,context:pi,handlers:new Xr,document:function(t,e){return to.handlers.document(t,e)},handleRetriesFor:Dr,retryAfter:Pr,asyncLoad:null,asyncIsSynchronous:!1};class eo extends an{get adaptor(){return this.inputJax.adaptor}constructor(t,e,s=!0,i={node:null,n:0,delim:""},n={node:null,n:0,delim:""}){super(t,e,s,i,n)}updateDocument(t){if(this.state()<ln.INSERTED){if(this.inputJax.processStrings){let t=this.start.node;if(t===this.end.node)this.end.n&&this.end.n<this.adaptor.value(this.end.node).length&&this.adaptor.split(this.end.node,this.end.n),this.start.n&&(t=this.adaptor.split(this.start.node,this.start.n)),this.adaptor.parent(t)&&this.adaptor.replace(this.typesetRoot,t);else{for(this.start.n&&(t=this.adaptor.split(t,this.start.n));t!==this.end.node;){const e=this.adaptor.next(t);this.adaptor.remove(t),t=e}this.adaptor.insert(this.typesetRoot,t),this.end.n<this.adaptor.value(t).length&&this.adaptor.split(t,this.end.n),this.adaptor.remove(t)}}else this.adaptor.replace(this.typesetRoot,this.start.node);this.start.node=this.end.node=this.typesetRoot,this.start.n=this.end.n=0,this.state(ln.INSERTED)}}updateStyleSheet(t){t.addStyleSheet()}removeFromDocument(t=!1){if(super.removeFromDocument(t),this.state()>=ln.TYPESET){const e=this.adaptor,s=this.start.node;let i=e.text("");if(t){const t=this.start.delim+this.math+this.end.delim;if(this.inputJax.processStrings)i=e.text(t);else{const s=e.parse(t,"text/html");i=e.firstChild(e.body(s))}}e.parent(s)&&e.replace(i,s),this.start.node=this.end.node=i,this.start.n=this.end.n=0}}}class so extends rn{}class io{constructor(t=null){const e=this.constructor;this.options=Fi(Bi({},e.OPTIONS),t),this.init(),this.getPatterns()}init(){this.strings=[],this.string="",this.snodes=[],this.nodes=[],this.stack=[]}getPatterns(){const t=Oi(this.options.skipHtmlTags),e=Oi(this.options.ignoreHtmlClass),s=Oi(this.options.processHtmlClass);this.skipHtmlTags=new RegExp("^(?:"+t.join("|")+")$","i"),this.ignoreHtmlClass=new RegExp("(?:^| )(?:"+e.join("|")+")(?: |$)"),this.processHtmlClass=new RegExp("(?:^| )(?:"+s+")(?: |$)")}pushString(){this.string.match(/\S/)&&(this.strings.push(this.string),this.nodes.push(this.snodes)),this.string="",this.snodes=[]}extendString(t,e){this.snodes.push([t,e.length]),this.string+=e}handleText(t,e){return e||this.extendString(t,this.adaptor.value(t)),this.adaptor.next(t)}handleTag(t,e){if(!e){const e=this.options.includeHtmlTags[this.adaptor.kind(t)];e instanceof Function?this.extendString(t,e(t,this.adaptor)):this.extendString(t,e)}return this.adaptor.next(t)}handleContainer(t,e){this.pushString();const s=this.adaptor.getAttribute(t,"class")||"",i=this.adaptor.kind(t)||"",n=this.processHtmlClass.exec(s);let r=t;return!this.adaptor.firstChild(t)||this.adaptor.getAttribute(t,"data-MJX")||!n&&this.skipHtmlTags.exec(i)?r=this.adaptor.next(t):(this.adaptor.next(t)&&this.stack.push([this.adaptor.next(t),e]),r=this.adaptor.firstChild(t),e=(e||this.ignoreHtmlClass.exec(s))&&!n),[r,e]}handleOther(t,e){return this.pushString(),this.adaptor.next(t)}find(t){this.init();const e=this.adaptor.next(t);let s=!1;const i=this.options.includeHtmlTags;for(;t&&t!==e;){const e=this.adaptor.kind(t);"#text"===e?t=this.handleText(t,s):Object.hasOwn(i,e)?t=this.handleTag(t,s):e?[t,s]=this.handleContainer(t,s):t=this.handleOther(t,s),!t&&this.stack.length&&(this.pushString(),[t,s]=this.stack.pop())}this.pushString();const n=[this.strings,this.nodes];return this.init(),n}}io.OPTIONS={skipHtmlTags:["script","noscript","style","textarea","pre","code","math","select","option","mjx-container"],includeHtmlTags:Mi({br:"\n",wbr:"","#comment":""}),ignoreHtmlClass:"mathjax_ignore",processHtmlClass:"mathjax_process"},cn("STYLES",ln.INSERTED+1);class no extends qr{constructor(t,e,s){const[i,n]=Ui(s,io.OPTIONS);super(t,e,i),this.domStrings=this.options.DomStrings||new io(n),this.domStrings.adaptor=e,this.styles=[]}findPosition(t,e,s,i){const n=this.adaptor,r=1/(i[t].length||1);let o=t;for(const[a,l]of i[t]){if(e<=l&&"#text"===n.kind(a))return{i:o,node:a,n:Math.max(e,0),delim:s};e-=l,o+=r}return{node:null,n:0,delim:s}}mathItem(t,e,s){const i=t.math,n=this.findPosition(t.n,t.start.n,t.open,s),r=this.findPosition(t.n,t.end.n,t.close,s);return new this.options.MathItem(i,e,t.display,n,r)}findMath(t){if(!this.processed.isSet("findMath")){this.adaptor.document=this.document,t=Fi({elements:this.options.elements||[this.adaptor.body(this.document)]},t);const e=this.adaptor.getElements(t.elements,this.document);for(const t of this.inputJax){const s=t.processStrings?this.findMathFromStrings(t,e):this.findMathFromDOM(t,e);this.math.merge(s)}this.processed.set("findMath")}return this}findMathFromStrings(t,e){const s=[],i=[];for(const t of e){const[e,n]=this.domStrings.find(t);s.push(...e),i.push(...n)}const n=new this.options.MathList;for(const e of t.findMath(s))n.push(this.mathItem(e,t,i));return n}findMathFromDOM(t,e){const s=[];for(const i of e)for(const e of t.findMath(i))s.push(new this.options.MathItem(e.math,t,e.display,e.start,e.end));return new this.options.MathList(...s)}updateDocument(){return this.processed.isSet("updateDocument")||(this.addPageElements(),this.addStyleSheet(),super.updateDocument(),this.processed.set("updateDocument")),this}addPageElements(){const t=this.adaptor,e=t.body(this.document),s=this.documentPageElements();if(s){const i=t.firstChild(e);i?t.insert(s,i):t.append(e,s)}}addStyleSheet(){const t=this.documentStyleSheet(),e=this.adaptor;if(t&&!e.parent(t)){const s=e.head(this.document),i=this.findSheet(s,e.getAttribute(t,"id"));i?e.replace(t,i):e.append(s,t)}}findSheet(t,e){if(e)for(const s of this.adaptor.tags(t,"style"))if(this.adaptor.getAttribute(s,"id")===e)return s;return null}removeFromDocument(t=!1){if(this.processed.isSet("updateDocument"))for(const e of this.math)e.state()>=ln.INSERTED&&e.state(ln.TYPESET,t);return this.processed.clear("updateDocument"),this}documentStyleSheet(){return this.outputJax.styleSheet(this)}documentPageElements(){return this.outputJax.pageElements(this)}addStyles(t){this.styles.push(t),"insertStyles"in this.outputJax&&this.outputJax.insertStyles(t)}getStyles(){return this.styles}}no.KIND="HTML",no.OPTIONS=Object.assign(Object.assign({},qr.OPTIONS),{renderActions:Mi(Object.assign(Object.assign({},qr.OPTIONS.renderActions),{styles:[ln.STYLES,"","updateStyleSheet",!1]})),MathList:so,MathItem:eo,DomStrings:null});class ro extends Gr{constructor(){super(...arguments),this.documentClass=no}handlesDocument(t){const e=this.adaptor;if("string"==typeof t)try{t=e.parse(t,"text/html")}catch(t){}return t instanceof e.window.Document||t instanceof e.window.HTMLElement||t instanceof e.window.DocumentFragment}create(t,e){const s=this.adaptor;if("string"==typeof t)t=s.parse(t,"text/html");else if(t instanceof s.window.HTMLElement||t instanceof s.window.DocumentFragment){const e=t;t=s.parse("","text/html"),s.append(s.body(t),e)}return super.create(t,e)}}function oo(t){const e=new ro(t);return to.handlers.register(e),e}class ao{get cssText(){return this.getStyleString()}constructor(t=null){this.styles={},this.addStyles(t)}addStyles(t){if(t)for(const e of Object.keys(t))this.styles[e]||(this.styles[e]={}),Object.assign(this.styles[e],t[e])}removeStyles(...t){for(const e of t)delete this.styles[e]}clear(){this.styles={}}getStyleString(){return this.getStyleRules().join("\n\n")}getStyleRules(t=this.styles,e=""){const s=Object.keys(t),i=new Array(s.length);let n=0;for(const r of s){const s=t[r];i[n++]=`${e}${r} {\n${this.getStyleDefString(s,e)}\n${e}}`}return i}getStyleDefString(t,e){const s=Object.keys(t),i=new Array(s.length);let n=0;for(const r of s)i[n++]=t[r]instanceof Object?e+this.getStyleRules({[r]:t[r]},e+" ").join("\n"+e):" "+e+r+": "+t[r]+";";return i.join("\n"+e)}}var lo;const co=!!(null===(lo=pi.window)||void 0===lo?void 0:lo.HTMLDialogElement);class ho{constructor(t){this.minW=200,this.minH=80,this.tx=0,this.ty=0,this.dragging=!1,this.events=[["mousemove",this.MouseMove.bind(this)],["mouseup",this.MouseUp.bind(this)]],this.mode="",this.actions={down:{move:t=>{t.dialog.classList.add("mjx-moving")}},move:{move:(t,e)=>[e.x-t.x,e.y-t.y,0,0],top:(t,e)=>[0,(e.y-t.y)/2,0,t.y-e.y],bottom:(t,e)=>[0,(e.y-t.y)/2,0,e.y-t.y],left:(t,e)=>[(e.x-t.x)/2,0,t.x-e.x,0],right:(t,e)=>[(e.x-t.x)/2,0,e.x-t.x,0],topleft:(t,e)=>[(e.x-t.x)/2,(e.y-t.y)/2,t.x-e.x,t.y-e.y],topright:(t,e)=>[(e.x-t.x)/2,(e.y-t.y)/2,e.x-t.x,t.y-e.y],botleft:(t,e)=>[(e.x-t.x)/2,(e.y-t.y)/2,t.x-e.x,e.y-t.y],botright:(t,e)=>[(e.x-t.x)/2,(e.y-t.y)/2,e.x-t.x,e.y-t.y]},up:{move:t=>{t.dialog.classList.remove("mjx-moving")}},keymove:{left:()=>[-5,0,0,0],right:()=>[5,0,0,0],up:()=>[0,-5,0,0],down:()=>[0,5,0,0]},bigmove:{left:()=>[-20,0,0,0],right:()=>[20,0,0,0],up:()=>[0,-20,0,0],down:()=>[0,20,0,0]},keysize:{left:()=>[-3,0,-6,0],right:()=>[3,0,6,0],up:()=>[0,-3,0,-6],down:()=>[0,3,0,6]},bigsize:{left:()=>[-10,0,-20,0],right:()=>[10,0,20,0],up:()=>[0,-10,0,-20],down:()=>[0,10,0,20]}};const{adaptor:e,node:s=null}=t;this.init(e),this.node=s,this.background=co?null:e.node("mjx-dialog-background"),this.x=this.y=0,this.dragging=!1,this.action="",this.dialog=this.html(t),this.title=this.dialog.firstChild.firstChild.firstChild,this.content=this.dialog.firstChild.firstChild.nextSibling;const i=this.dialog.lastChild;i.addEventListener("click",this.closeDialog.bind(this)),i.addEventListener("keydown",this.actionKey.bind(this,this.closeDialog.bind(this)));const n=this.dialog.lastChild.previousSibling;n.addEventListener("click",this.helpDialog.bind(this,e)),n.addEventListener("keydown",this.actionKey.bind(this,this.helpDialog.bind(this,e))),this.noDrag=Array.from(this.dialog.querySelectorAll('[data-drag="none"]'))}init(t){const e=this.constructor;if(!t.document.head.querySelector("#"+e.styleId)){const s=t.node("style",{id:e.styleId});s.textContent=new ao(e.styles).cssText,t.document.head.append(s)}}html(t){const{title:e,message:s,adaptor:i,styles:n=null,extraNodes:r=[],className:o=ho.className}=t;if(n){const t=i.node("style");t.textContent=new ao(n).cssText,r.unshift(t)}const a="mjx-dialog-label-"+ho.id++,l=i.node("dialog",{closedby:"any",class:("mjx-dialog "+o).trim()},[i.node("mjx-dialog",{"aria-labeledby":a},[i.node("mjx-title",{},[i.node("h1",{id:a,tabIndex:0})]),i.node("div",{"data-drag":"none",tabIndex:0})]),...r,i.node("mjx-dialog-spacer",{"aria-hidden":!0}),i.node("mjx-dialog-drag",{"data-drag":"top","aria-hidden":!0}),i.node("mjx-dialog-drag",{"data-drag":"bottom","aria-hidden":!0}),i.node("mjx-dialog-drag",{"data-drag":"left","aria-hidden":!0}),i.node("mjx-dialog-drag",{"data-drag":"right","aria-hidden":!0}),i.node("mjx-dialog-drag",{"data-drag":"topleft","aria-hidden":!0}),i.node("mjx-dialog-drag",{"data-drag":"topright","aria-hidden":!0}),i.node("mjx-dialog-drag",{"data-drag":"botleft","aria-hidden":!0}),i.node("mjx-dialog-drag",{"data-drag":"botright","aria-hidden":!0}),i.node("mjx-dialog-help",{class:"mjx-dialog-button","data-drag":"none",tabIndex:0,role:"button","aria-label":"Dialog Help"},[i.node("mjx-dialog-icon",{"aria-hidden":!0},[i.text("?")])]),i.node("mjx-dialog-close",{class:"mjx-dialog-button","data-drag":"none",tabIndex:0,role:"button","aria-label":"Close Dialog Box"},[i.node("mjx-dialog-icon",{"aria-hidden":!0},[i.text("\xd7")])])]);return l.firstChild.firstChild.firstChild.innerHTML=e,l.firstChild.childNodes[1].innerHTML=s,l}attach(){co?(this.dialog.addEventListener("mousedown",this.MouseDown.bind(this)),this.dialog.addEventListener("keydown",this.KeyDown.bind(this),!0),document.body.append(this.dialog),this.dialog.showModal()):(this.background.addEventListener("mousedown",this.MouseDown.bind(this)),this.background.addEventListener("keydown",this.KeyDown.bind(this),!0),this.dialog.setAttribute("tabindex","0"),this.dialog.addEventListener("click",this.stop),this.background.append(this.dialog),document.body.append(this.background)),pi.window.addEventListener("visibilitychange",this.Visibility.bind(this)),this.minW=Math.min(this.minW,this.dialog.clientWidth-8),this.minH=Math.min(this.minH,this.dialog.clientHeight-this.title.offsetHeight-8),this.title.focus()}dragAction(t,e=null){e&&this.stop(e);const s=this.actions[t][this.action],i=s?s(this,e):null;if(!i)return;let[n,r,o,a]=i;if(o){const t=this.w+o;t>=this.minW?(this.x=null==e?void 0:e.x,this.w=t,this.dialog.style.maxWidth=this.dialog.style.width=t+"px"):n=0}if(a){const t=this.h+a;t>=this.minH+this.title.offsetHeight?(this.y=null==e?void 0:e.y,this.h=t,this.dialog.style.maxHeight=this.dialog.style.height=t+"px"):r=0}(n||r)&&(n&&(this.x=null==e?void 0:e.x,this.tx+=n||0),r&&(this.y=null==e?void 0:e.y,this.ty+=r||0),this.dialog.style.transform=`translate(${this.tx}px, ${this.ty}px)`)}MouseDown(t){const e=t.target;if(!(1!==t.buttons||t.shiftKey||t.metaKey||t.altKey||t.ctrlKey))if(this.inDialog(t)){for(const t of this.noDrag)if(e===t||t.contains(e))return;this.action=e.getAttribute("data-drag")||"move",this.startDrag(t),this.dragAction("down",t)}else this.closeDialog(t)}MouseMove(t){1!==t.buttons&&this.endDrag(),this.dragging&&this.dragAction("move",t)}MouseUp(t){this.dragging&&(this.dragAction("up",t),this.endDrag())}Visibility(){pi.document.hidden&&this.closeDialog()}KeyDown(t){const e=this.constructor.keyActions.get(t.key);e&&e(this,t)}escKey(t){this.closeDialog(t)}aKey(t){(t.ctrlKey||t.metaKey)&&(this.selectAll(),this.stop(t))}mKey(t){this.mode="move"===this.mode?"":"move",this.stop(t)}sKey(t){this.mode="size"===this.mode?"":"size",this.stop(t)}arrowKey(t,e){t.ctrlKey||this.dragging||(this.action=e,this.getWH(),t.altKey||"move"===this.mode?(this.dragAction(t.shiftKey?"bigmove":"keymove"),this.stop(t)):(t.metaKey||"size"===this.mode)&&(this.dragAction(t.shiftKey?"bigsize":"keysize"),this.stop(t)),this.action="")}actionKey(t,e){"Enter"!==e.code&&"Space"!==e.code||t(e)}selectAll(){document.getSelection().selectAllChildren(this.content)}copyToClipboard(){this.selectAll();try{document.execCommand("copy")}catch(t){alert(`Can't copy to clipboard: ${t.message}`)}document.getSelection().removeAllRanges()}startDrag(t){this.x=t.x,this.y=t.y,this.getWH(),this.dragging=!0;const e=this.background||this.dialog;for(const[t,s]of this.events)e.addEventListener(t,s)}getWH(){this.w=this.dialog.clientWidth-8,this.h=this.dialog.clientHeight-8}endDrag(){this.action="",this.dragging=!1;const t=this.background||this.dialog;for(const[e,s]of this.events)t.removeEventListener(e,s)}closeDialog(t){var e;co?(this.dialog.close(),this.dialog.remove()):this.background.remove(),null===(e=this.node)||void 0===e||e.focus(),t&&this.stop(t)}helpDialog(t,e){new ho({title:"MathJax Dialog Help",message:this.constructor.helpMessage,adaptor:t,className:"mjx-dialog-help",styles:{".mjx-dialog-help":{"max-width":"calc(min(50em, 80%))"}}}).attach(),this.stop(e)}inDialog(t){if(!this.dialog.contains(t.target))return!1;const{x:e,y:s}=t,{left:i,right:n,top:r,bottom:o}=this.dialog.getBoundingClientRect();return e>=i&&e<=n&&s>=r&&s<=o}stop(t){t.preventDefault&&t.preventDefault(),t.stopImmediatePropagation?t.stopImmediatePropagation():t.stopPropagation&&t.stopPropagation()}}ho.keyActions=new Map([["Escape",(t,e)=>t.escKey(e)],["a",(t,e)=>t.aKey(e)],["m",(t,e)=>t.mKey(e)],["s",(t,e)=>t.sKey(e)],["ArrowRight",(t,e)=>t.arrowKey(e,"right")],["ArrowLeft",(t,e)=>t.arrowKey(e,"left")],["ArrowUp",(t,e)=>t.arrowKey(e,"up")],["ArrowDown",(t,e)=>t.arrowKey(e,"down")]]),ho.styleId="MJX-DIALOG-styles",ho.className="",ho.id=0,ho.styles={"mjx-dialog-background":{display:"flex","flex-direction":"column","justify-content":"center",position:"fixed",top:0,left:0,right:0,bottom:0,"z-index":1001},".mjx-dialog":{"max-width":"calc(min(60em, 90%))","max-height":"calc(min(50em, 85%))",border:"3px outset","border-radius":"15px",color:"black","background-color":"#DDDDDD","box-shadow":"0px 10px 20px #808080",padding:"4px 4px",cursor:"grab",overflow:"visible",display:"flex","flex-direction":"column","align-items":"center",position:"fixed",top:"-4%"},".mjx-dialog.mjx-moving":{cursor:"grabbing"},'.mjx-dialog > input[type="button"]':{width:"fit-content"},".mjx-dialog > mjx-dialog-spacer":{display:"block",height:".75em","flex-shrink":0},".mjx-dialog::backdrop":{opacity:0,cursor:"default"},"mjx-dialog":{all:"initial",cursor:"inherit",width:"100%",display:"flex","flex-direction":"column","flex-grow":1,"flex-shrink":1,overflow:"hidden"},"mjx-dialog > mjx-title":{display:"block","text-align":"center",margin:".25em 1.75em",overflow:"hidden","white-space":"nowrap","-webkit-user-select":"none","user-select":"none","flex-shrink":0},"mjx-dialog > mjx-title > h1":{"font-size":"125%",margin:0},"mjx-dialog > div":{margin:"0 1em .5em",padding:"8px 18px",overflow:"auto",border:"2px inset black","background-color":"white","text-align":"left",cursor:"default","flex-grow":1,"flex-shrink":1},"mjx-dialog > div > pre":{margin:0},".mjx-dialog-button":{position:"absolute",top:"6px",height:"17px",width:"17px",cursor:"default",display:"block",border:"2px solid #AAA","border-radius":"18px","font-family":'"Courier New", Courier',"text-align":"center",color:"#F0F0F0","-webkit-user-select":"none","user-select":"none"},".mjx-dialog-button:hover":{color:"white !important",border:"2px solid #CCC !important"},".mjx-dialog-button > mjx-dialog-icon":{display:"block","background-color":"#AAA",border:"1.5px solid","border-radius":"18px","line-height":0,padding:"8px 0 6px"},".mjx-dialog-button > mjx-dialog-icon:hover":{"background-color":"#CCC !important"},"mjx-dialog-close":{right:"6px","font-size":"20px;"},"mjx-dialog-help":{left:"6px","font-size":"14px;","font-weight":"bold"},".mjx-dialog-help mjx-dialog-help":{display:"none"},"mjx-dialog kbd":{display:"inline-block",padding:"3px 5px","font-size":"11px","line-height":"10px",color:"#444d56","vertical-align":"middle","background-color":"#fafbfc",border:"solid 1.5px #c6cbd1","border-bottom-color":"#959da5","border-radius":"3px","box-shadow":"inset -.5px -1px 0 #959da5"},'mjx-dialog-drag[data-drag="top"]':{height:"5px",position:"absolute",top:"-3px",left:"10px",right:"10px",cursor:"ns-resize"},'mjx-dialog-drag[data-drag="bottom"]':{height:"5px",position:"absolute",bottom:"-3px",left:"10px",right:"10px",cursor:"ns-resize"},'mjx-dialog-drag[data-drag="left"]':{width:"5px",position:"absolute",left:"-3px",top:"10px",bottom:"10px",cursor:"ew-resize"},'mjx-dialog-drag[data-drag="right"]':{width:"5px",position:"absolute",right:"-3px",top:"10px",bottom:"10px",cursor:"ew-resize"},'mjx-dialog-drag[data-drag="topleft"]':{width:"13px",height:"13px",position:"absolute",left:"-3px",top:"-3px",cursor:"nwse-resize"},'mjx-dialog-drag[data-drag="topright"]':{width:"13px",height:"13px",position:"absolute",right:"-3px",top:"-3px",cursor:"nesw-resize"},'mjx-dialog-drag[data-drag="botleft"]':{width:"13px",height:"13px",position:"absolute",left:"-3px",bottom:"-3px",cursor:"nesw-resize"},'mjx-dialog-drag[data-drag="botright"]':{width:"13px",height:"13px",position:"absolute",right:"-3px",bottom:"-3px",cursor:"nwse-resize"},"@media (prefers-color-scheme: dark)":{".mjx-dialog":{"background-color":"#303030","box-shadow":"0px 10px 20px #000",border:"3px outset #7C7C7C"},"mjx-dialog":{color:"#E0E0E0"},"mjx-dialog > div":{border:"2px inset #7C7C7C","background-color":"#222025"},".mjx-dialog a[href]":{color:"#86A7F5"},".mjx-dialog a[href]:visited":{color:"#DD98E2"},"mjx-dialog kbd":{color:"#F8F8F8","background-color":"#545454",border:"solid 1.5px #7A7C7E","border-bottom-color":"#707070","box-shadow":"inset -.5px -1px 0 #818589"},".mjx-dialog-button":{border:"2px solid #686868",color:"#A4A4A4"},".mjx-dialog-button:hover":{color:"#CBCBCB !important",border:"2px solid #888888 !important"},".mjx-dialog-button > mjx-dialog-icon":{"background-color":"#646464"},".mjx-dialog-button > mjx-dialog-icon:hover":{"background-color":"#888888 !important"}}},ho.helpMessage='\n <p>The dialog boxes in MathJax are movable and sizeable.</p>\n\n <p>For mouse users, dragging any of the edges will enlarge or shrink\n the dialog box by moving that side. Dragging any of the corners\n changes the two sides that meet at that corner. Dragging elsewhere on\n the dialog frame will move the dialog without changing its size.</p>\n\n <p>For keyboard users, there are two ways to adjust the position\n and size of the dialog box. The first is to hold the\n <kbd>Alt</kbd> or <kbd>Option</kbd> key and press any of the arrow\n keys to move the dialog box in the given direction. Hold the\n <kbd>Win</kbd> or <kbd>Command</kbd> key and press any of the\n arrow keys to enlarge or shrink the dialog box. Left and right\n move the right-hand edge of the dialog, while up and down move the\n bottom edge of the dialog.\n </p>\n\n <p>For some users, holding two keys down at once may be difficult,\n so the second way is to press the <kbd>m</kbd> to start "move"\n mode, then use the arrow keys to move the dialog box in the given\n direction. Press <kbd>m</kbd> again to stop moving the dialog.\n Similarly, press <kbd>s</kbd> to start and stop "sizing" mode,\n where the arrows will change the size of the dialog box.</p>\n\n <p>Holding a <kbd>shift</kbd> key along with the arrow key will\n make larger changes in the size or position, for either method\n described above.</p>\n\n <p>Use <kbd>Tab</kbd> to move among the text, buttons, and links\n within the dialog. The <kbd>Enter</kbd> or <kbd>Space</kbd> key\n activates the focused item. The <kbd>Escape</kbd> key closes the\n dialog, as does clicking outside the dialog box, or clicking the\n "\xd7" icon in the upper right-hand corner of the dialog.</p>\n ';class uo extends ho{static post(t){const e=new this(t);return e.attach(),e}}function po(t){return to.asyncLoad?new Promise((e,s)=>{const i=to.asyncLoad(t);i instanceof Promise?i.then(t=>e(t)).catch(t=>s(t)):e(i)}):Promise.reject(`Can't load '${t}': No mathjax.asyncLoad method specified`)}const mo=1e6,go={px:1,in:96,cm:96/2.54,mm:96/25.4},fo={em:1,ex:.431,pt:.1,pc:1.2,mu:1/18},bo={veryverythinmathspace:1/18,verythinmathspace:2/18,thinmathspace:3/18,mediummathspace:4/18,thickmathspace:5/18,verythickmathspace:6/18,veryverythickmathspace:7/18,negativeveryverythinmathspace:-1/18,negativeverythinmathspace:-2/18,negativethinmathspace:-3/18,negativemediummathspace:-4/18,negativethickmathspace:-5/18,negativeverythickmathspace:-6/18,negativeveryverythickmathspace:-7/18,thin:.04,medium:.06,thick:.1,normal:1,big:2,small:1/Math.sqrt(2),infinity:mo};function Eo(t,e=0,s=1,i=16){if("string"!=typeof t&&(t=String(t)),""===t||null==t)return e;if(bo[t])return bo[t];const n=t.match(/^\s*([-+]?(?:\.\d+|\d+(?:\.\d*)?))?(pt|em|ex|mu|px|pc|in|mm|cm|%)?/);if(!n||""===n[0])return e;const r=parseFloat(n[1]||"1"),o=n[2];return Object.hasOwn(go,o)?r*go[o]/i/s:Object.hasOwn(fo,o)?r*fo[o]:"%"===o?r/100*e:r*e}function yo(t){return(100*t).toFixed(1).replace(/\.?0+$/,"")+"%"}function xo(t){return Math.abs(t)<.001?"0":t.toFixed(3).replace(/\.?0+$/,"")+"em"}function No(t,e=-mo,s=16){return t*=s,e&&t<e&&(t=e),Math.abs(t)<.1?"0":t.toFixed(1).replace(/\.0$/,"")+"px"}class vo{static zero(){return new vo({h:0,d:0,w:0})}static empty(){return new vo}constructor(t={w:0,h:-mo,d:-mo}){this.w=t.w||0,this.h="h"in t?t.h:-mo,this.d="d"in t?t.d:-mo,this.L=this.R=this.ic=this.oc=this.sk=this.dx=0,this.scale=this.rscale=1,this.pwidth=""}empty(){return this.w=0,this.h=this.d=-mo,this}clean(){this.w===-mo&&(this.w=0),this.h===-mo&&(this.h=0),this.d===-mo&&(this.d=0)}rescale(t){this.w*=t,this.h*=t,this.d*=t}combine(t,e=0,s=0){const i=t.rscale,n=e+i*(t.w+t.L+t.R),r=s+i*t.h,o=i*t.d-s;n>this.w&&(this.w=n),r>this.h&&(this.h=r),o>this.d&&(this.d=o)}append(t){const e=t.rscale;this.w+=e*(t.w+t.L+t.R),e*t.h>this.h&&(this.h=e*t.h),e*t.d>this.d&&(this.d=e*t.d)}updateFrom(t){this.h=t.h,this.d=t.d,this.w=t.w,t.pwidth&&(this.pwidth=t.pwidth)}copy(){const t=new vo;return Object.assign(t,this),t}}vo.fullWidth="100%",vo.boxSides=[["Top",0,"h"],["Right",1,"w"],["Bottom",2,"d"],["Left",3,"w"]];const To={loadMissingEntities:!0},Co={ApplyFunction:"\u2061",Backslash:"\u2216",Because:"\u2235",Breve:"\u02d8",Cap:"\u22d2",CenterDot:"\xb7",CircleDot:"\u2299",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",Congruent:"\u2261",ContourIntegral:"\u222e",Coproduct:"\u2210",Cross:"\u2a2f",Cup:"\u22d3",CupCap:"\u224d",Dagger:"\u2021",Del:"\u2207",Delta:"\u0394",Diamond:"\u22c4",DifferentialD:"\u2146",DotEqual:"\u2250",DoubleDot:"\xa8",DoubleRightTee:"\u22a8",DoubleVerticalBar:"\u2225",DownArrow:"\u2193",DownLeftVector:"\u21bd",DownRightVector:"\u21c1",DownTee:"\u22a4",Downarrow:"\u21d3",Element:"\u2208",EqualTilde:"\u2242",Equilibrium:"\u21cc",Exists:"\u2203",ExponentialE:"\u2147",FilledVerySmallSquare:"\u25aa",ForAll:"\u2200",Gamma:"\u0393",Gg:"\u22d9",GreaterEqual:"\u2265",GreaterEqualLess:"\u22db",GreaterFullEqual:"\u2267",GreaterLess:"\u2277",GreaterSlantEqual:"\u2a7e",GreaterTilde:"\u2273",Hacek:"\u02c7",Hat:"^",HumpDownHump:"\u224e",HumpEqual:"\u224f",Im:"\u2111",ImaginaryI:"\u2148",Integral:"\u222b",Intersection:"\u22c2",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",Lambda:"\u039b",Larr:"\u219e",LeftAngleBracket:"\u27e8",LeftArrow:"\u2190",LeftArrowRightArrow:"\u21c6",LeftCeiling:"\u2308",LeftDownVector:"\u21c3",LeftFloor:"\u230a",LeftRightArrow:"\u2194",LeftTee:"\u22a3",LeftTriangle:"\u22b2",LeftTriangleEqual:"\u22b4",LeftUpVector:"\u21bf",LeftVector:"\u21bc",Leftarrow:"\u21d0",Leftrightarrow:"\u21d4",LessEqualGreater:"\u22da",LessFullEqual:"\u2266",LessGreater:"\u2276",LessSlantEqual:"\u2a7d",LessTilde:"\u2272",Ll:"\u22d8",Lleftarrow:"\u21da",LongLeftArrow:"\u27f5",LongLeftRightArrow:"\u27f7",LongRightArrow:"\u27f6",Longleftarrow:"\u27f8",Longleftrightarrow:"\u27fa",Longrightarrow:"\u27f9",Lsh:"\u21b0",MinusPlus:"\u2213",NestedGreaterGreater:"\u226b",NestedLessLess:"\u226a",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotExists:"\u2204",NotGreater:"\u226f",NotGreaterEqual:"\u2271",NotLeftTriangle:"\u22ea",NotLeftTriangleEqual:"\u22ec",NotLess:"\u226e",NotLessEqual:"\u2270",NotPrecedes:"\u2280",NotPrecedesSlantEqual:"\u22e0",NotRightTriangle:"\u22eb",NotRightTriangleEqual:"\u22ed",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsSlantEqual:"\u22e1",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotVerticalBar:"\u2224",Omega:"\u03a9",OverBar:"\u203e",OverBrace:"\u23de",PartialD:"\u2202",Phi:"\u03a6",Pi:"\u03a0",PlusMinus:"\xb1",Precedes:"\u227a",PrecedesEqual:"\u2aaf",PrecedesSlantEqual:"\u227c",PrecedesTilde:"\u227e",Product:"\u220f",Proportional:"\u221d",Psi:"\u03a8",Rarr:"\u21a0",Re:"\u211c",ReverseEquilibrium:"\u21cb",RightAngleBracket:"\u27e9",RightArrow:"\u2192",RightArrowLeftArrow:"\u21c4",RightCeiling:"\u2309",RightDownVector:"\u21c2",RightFloor:"\u230b",RightTee:"\u22a2",RightTeeArrow:"\u21a6",RightTriangle:"\u22b3",RightTriangleEqual:"\u22b5",RightUpVector:"\u21be",RightVector:"\u21c0",Rightarrow:"\u21d2",Rrightarrow:"\u21db",Rsh:"\u21b1",Sigma:"\u03a3",SmallCircle:"\u2218",Sqrt:"\u221a",Square:"\u25a1",SquareIntersection:"\u2293",SquareSubset:"\u228f",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",Star:"\u22c6",Subset:"\u22d0",SubsetEqual:"\u2286",Succeeds:"\u227b",SucceedsEqual:"\u2ab0",SucceedsSlantEqual:"\u227d",SucceedsTilde:"\u227f",SuchThat:"\u220b",Sum:"\u2211",Superset:"\u2283",SupersetEqual:"\u2287",Supset:"\u22d1",Therefore:"\u2234",Theta:"\u0398",Tilde:"\u223c",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",UnderBar:"_",UnderBrace:"\u23df",Union:"\u22c3",UnionPlus:"\u228e",UpArrow:"\u2191",UpDownArrow:"\u2195",UpTee:"\u22a5",Uparrow:"\u21d1",Updownarrow:"\u21d5",Upsilon:"\u03a5",Vdash:"\u22a9",Vee:"\u22c1",VerticalBar:"\u2223",VerticalTilde:"\u2240",Vvdash:"\u22aa",Wedge:"\u22c0",Xi:"\u039e",amp:"&",acute:"\xb4",aleph:"\u2135",alpha:"\u03b1",amalg:"\u2a3f",and:"\u2227",ang:"\u2220",angmsd:"\u2221",angsph:"\u2222",ape:"\u224a",backprime:"\u2035",backsim:"\u223d",backsimeq:"\u22cd",beta:"\u03b2",beth:"\u2136",between:"\u226c",bigcirc:"\u25ef",bigodot:"\u2a00",bigoplus:"\u2a01",bigotimes:"\u2a02",bigsqcup:"\u2a06",bigstar:"\u2605",bigtriangledown:"\u25bd",bigtriangleup:"\u25b3",biguplus:"\u2a04",blacklozenge:"\u29eb",blacktriangle:"\u25b4",blacktriangledown:"\u25be",blacktriangleleft:"\u25c2",bowtie:"\u22c8",boxdl:"\u2510",boxdr:"\u250c",boxminus:"\u229f",boxplus:"\u229e",boxtimes:"\u22a0",boxul:"\u2518",boxur:"\u2514",bsol:"\\",bull:"\u2022",cap:"\u2229",check:"\u2713",chi:"\u03c7",circ:"\u02c6",circeq:"\u2257",circlearrowleft:"\u21ba",circlearrowright:"\u21bb",circledR:"\xae",circledS:"\u24c8",circledast:"\u229b",circledcirc:"\u229a",circleddash:"\u229d",clubs:"\u2663",colon:":",comp:"\u2201",ctdot:"\u22ef",cuepr:"\u22de",cuesc:"\u22df",cularr:"\u21b6",cup:"\u222a",curarr:"\u21b7",curlyvee:"\u22ce",curlywedge:"\u22cf",dagger:"\u2020",daleth:"\u2138",ddarr:"\u21ca",deg:"\xb0",delta:"\u03b4",digamma:"\u03dd",div:"\xf7",divideontimes:"\u22c7",dot:"\u02d9",doteqdot:"\u2251",dotplus:"\u2214",dotsquare:"\u22a1",dtdot:"\u22f1",ecir:"\u2256",efDot:"\u2252",egs:"\u2a96",ell:"\u2113",els:"\u2a95",empty:"\u2205",epsi:"\u03b5",epsiv:"\u03f5",erDot:"\u2253",eta:"\u03b7",eth:"\xf0",flat:"\u266d",fork:"\u22d4",frown:"\u2322",gEl:"\u2a8c",gamma:"\u03b3",gap:"\u2a86",gimel:"\u2137",gnE:"\u2269",gnap:"\u2a8a",gne:"\u2a88",gnsim:"\u22e7",gt:">",gtdot:"\u22d7",harrw:"\u21ad",hbar:"\u210f",hellip:"\u2026",hookleftarrow:"\u21a9",hookrightarrow:"\u21aa",imath:"\u0131",infin:"\u221e",intcal:"\u22ba",iota:"\u03b9",jmath:"\u0237",kappa:"\u03ba",kappav:"\u03f0",lEg:"\u2a8b",lambda:"\u03bb",lap:"\u2a85",larrlp:"\u21ab",larrtl:"\u21a2",lbrace:"{",lbrack:"[",le:"\u2264",leftleftarrows:"\u21c7",leftthreetimes:"\u22cb",lessdot:"\u22d6",lmoust:"\u23b0",lnE:"\u2268",lnap:"\u2a89",lne:"\u2a87",lnsim:"\u22e6",longmapsto:"\u27fc",looparrowright:"\u21ac",lowast:"\u2217",loz:"\u25ca",lt:"<",ltimes:"\u22c9",ltri:"\u25c3",macr:"\xaf",malt:"\u2720",mho:"\u2127",mu:"\u03bc",multimap:"\u22b8",nLeftarrow:"\u21cd",nLeftrightarrow:"\u21ce",nRightarrow:"\u21cf",nVDash:"\u22af",nVdash:"\u22ae",natur:"\u266e",nearr:"\u2197",nharr:"\u21ae",nlarr:"\u219a",not:"\xac",nrarr:"\u219b",nu:"\u03bd",nvDash:"\u22ad",nvdash:"\u22ac",nwarr:"\u2196",omega:"\u03c9",omicron:"\u03bf",or:"\u2228",osol:"\u2298",period:".",phi:"\u03c6",phiv:"\u03d5",pi:"\u03c0",piv:"\u03d6",prap:"\u2ab7",precnapprox:"\u2ab9",precneqq:"\u2ab5",precnsim:"\u22e8",prime:"\u2032",psi:"\u03c8",quot:'"',rarrtl:"\u21a3",rbrace:"}",rbrack:"]",rho:"\u03c1",rhov:"\u03f1",rightrightarrows:"\u21c9",rightthreetimes:"\u22cc",ring:"\u02da",rmoust:"\u23b1",rtimes:"\u22ca",rtri:"\u25b9",scap:"\u2ab8",scnE:"\u2ab6",scnap:"\u2aba",scnsim:"\u22e9",sdot:"\u22c5",searr:"\u2198",sect:"\xa7",sharp:"\u266f",sigma:"\u03c3",sigmav:"\u03c2",simne:"\u2246",smile:"\u2323",spades:"\u2660",sub:"\u2282",subE:"\u2ac5",subnE:"\u2acb",subne:"\u228a",supE:"\u2ac6",supnE:"\u2acc",supne:"\u228b",swarr:"\u2199",tau:"\u03c4",theta:"\u03b8",thetav:"\u03d1",tilde:"\u02dc",times:"\xd7",triangle:"\u25b5",triangleq:"\u225c",upsi:"\u03c5",upuparrows:"\u21c8",veebar:"\u22bb",vellip:"\u22ee",weierp:"\u2118",xi:"\u03be",yen:"\xa5",zeta:"\u03b6",zigrarr:"\u21dd",nbsp:"\xa0",rsquo:"\u2019",lsquo:"\u2018"},Ao={};function Lo(t,e){Object.assign(Co,t),Ao[e]=!0}function So(t){delete Co[t]}function Ro(t){return t.replace(/&([a-z][a-z0-9]*|#(?:[0-9]+|x[0-9a-f]+));/gi,Io)}function Io(t,e){if("#"===e.charAt(0))return wo(e.slice(1));if(Co[e])return Co[e];if(To.loadMissingEntities){const t=e.match(/^[a-zA-Z](fr|scr|opf)$/)?RegExp.$1:e.charAt(0).toLowerCase();Ao[t]||(Ao[t]=!0,Pr(po("./util/entities/"+t+".js")))}return t}function wo(t){const e="x"===t.charAt(0)?parseInt(t.slice(1),16):parseInt(t);return String.fromCodePoint(e)}const Mo=["top","right","bottom","left"],Oo=["width","style","color"];function ko(t){const e=t.split(/((?:'[^'\n]*'|"[^"\n]*"|,[\s\n]|[^\s\n])*)/g),s=[];for(;e.length>1;)e.shift(),s.push(e.shift());return s}function Do(t){const e=ko(this.styles[t]);0===e.length&&e.push(""),1===e.length&&e.push(e[0]),2===e.length&&e.push(e[0]),3===e.length&&e.push(e[1]);for(const s of Vo.connect[t].children)this.setStyle(this.childName(t,s),e.shift())}function Po(t){const e=Vo.connect[t].children,s=[];for(const i of e){const e=this.styles[this.childName(t,i)];if(!e)return void delete this.styles[t];s.push(e)}s[3]===s[1]&&(s.pop(),s[2]===s[0]&&(s.pop(),s[1]===s[0]&&s.pop())),this.styles[t]=s.join(" ")}function Bo(t){Po.call(this,t),this.combineChildren(t),Fo.call(this,t),this.combineParent(t)}function Fo(t){if(!Vo.connect[t])return;const e=[...Vo.connect[t].children],s=this.styles[this.childName(t,e.shift())];for(const i of e)if(this.styles[this.childName(t,i)]!==s)return void delete this.styles[t];s&&(this.styles[t]=s)}const jo=/^(?:[\d.]+(?:[a-z]+)|thin|medium|thick|inherit|initial|unset)$/,_o=/^(?:none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset|inherit|initial|unset)$/;function Uo(t){const e={width:"",style:"",color:""};for(const s of ko(this.styles[t]))s.match(jo)&&""===e.width?e.width=s:s.match(_o)&&""===e.style?e.style=s:e.color=s;for(const s of Vo.connect[t].children)this.setStyle(this.childName(t,s),e[s])}function Ho(t){const e=[];for(const s of Vo.connect[t].children){const i=this.styles[this.childName(t,s)];i&&e.push(i)}e.length>1?this.styles[t]=e.join(" "):delete this.styles[t]}const Wo={style:/^(?:normal|italic|oblique|inherit|initial|unset)$/,variant:new RegExp("^(?:"+["normal|none","inherit|initial|unset","common-ligatures|no-common-ligatures","discretionary-ligatures|no-discretionary-ligatures","historical-ligatures|no-historical-ligatures","contextual|no-contextual","(?:stylistic|character-variant|swash|ornaments|annotation)\\([^)]*\\)","small-caps|all-small-caps|petite-caps|all-petite-caps|unicase|titling-caps","lining-nums|oldstyle-nums|proportional-nums|tabular-nums","diagonal-fractions|stacked-fractions","ordinal|slashed-zero","jis78|jis83|jis90|jis04|simplified|traditional","full-width|proportional-width","ruby"].join("|")+")$"),weight:/^(?:normal|bold|bolder|lighter|[1-9]00|inherit|initial|unset)$/,stretch:new RegExp("^(?:"+["normal","(?:(?:ultra|extra|semi)-)?(?:condensed|expanded)","inherit|initial|unset"].join("|")+")$"),size:new RegExp("^(?:"+["xx-small|x-small|small|medium|large|x-large|xx-large|larger|smaller","[\\d.]+%|[\\d.]+[a-z]+","inherit|initial|unset"].join("|")+")(?:/(?:normal|[\\d.]+(?:%|[a-z]+)?))?$")};function qo(t,e){for(const s of Vo.connect[t].children){const i=this.childName(t,s);if(Array.isArray(e[s])){const t=e[s];t.length&&(this.styles[i]=t.join(" "))}else""!==e[s]&&(this.styles[i]=e[s])}}class Vo{constructor(t=""){this.parse(t)}sanitizeValue(t){const e=this.constructor.pattern;if(!t.match(e.sanitize))return t;const s=(t=t.replace(e.value,"$1")).replace(/\\./g,"").replace(/(['"]).*?\1/g,"").replace(/[^'"]/g,"");return s.length&&(t+=s.charAt(0)),t}get cssText(){var t,e;const s=[];for(const i of Object.keys(this.styles)){const n=this.parentName(i),r=i.replace(/.*-/,""),o=this.childName(this.parentName(n),r);!this.styles[i]||this.styles[o]||this.styles[n]&&(null===(e=null===(t=Vo.connect[n])||void 0===t?void 0:t.children)||void 0===e?void 0:e.includes(r))||s.push(`${i}: ${this.styles[i]};`)}return s.join(" ")}get styleList(){return Object.assign({},this.styles)}set(t,e){t=this.normalizeName(t),this.setStyle(t,String(e));const s=Vo.connect[t];if(null==s?void 0:s.subPart)s.combine.call(this,t);else if(this.combineParent(t),t.match(/-.*-/)){const e=t.replace(/-.*-/,"-");Fo.call(this,e)}}combineParent(t){for(var e;t.match(/-/);){const s=t;t=this.parentName(t);const i=Vo.connect[t];if(!Vo.connect[s]&&!(null===(e=null==i?void 0:i.children)||void 0===e?void 0:e.includes(s.substring(t.length+1))))break;i.combine.call(this,t)}if(!this.styles[t])return;const s=Vo.connect[t];for(const e of(null==s?void 0:s.parts)||[])delete this.styles[this.childName(t,e)]}get(t){return t=this.normalizeName(t),Object.hasOwn(this.styles,t)?this.styles[t]:""}setStyle(t,e){var s;this.styles[t]=this.sanitizeValue(e),(null===(s=Vo.connect[t])||void 0===s?void 0:s.children)&&Vo.connect[t].split.call(this,t),""===e&&delete this.styles[t]}combineChildren(t){const e=this.parentName(t);for(const s of Vo.connect[t].children){const t=this.childName(e,s);Vo.connect[t].combine.call(this,t)}}parentName(t){const e=t.replace(/-[^-]*$/,"");return t===e?"":e}childName(t,e){var s;return e.match(/-/)?e:((null===(s=Vo.connect[t])||void 0===s?void 0:s.subPart)&&(e+=t.replace(/.*-/,"-"),t=this.parentName(t)),t+"-"+e)}normalizeName(t){return t.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())}parse(t=""){const e=this.constructor.pattern;this.styles={};const s=t.replace(/\n/g," ").replace(e.comment,"").split(e.style);for(;s.length>1;){const[t,e,i]=s.splice(0,3);if(t.match(/[^\s\n;]/))return;this.set(e,i)}}}function Go(t){return t.reduce((t,e)=>t+e,0)}function Xo(t){return t.reduce((t,e)=>Math.max(t,e),0)}if(Vo.pattern={sanitize:/['";]/,value:/^((:?'(?:\\.|[^'])*(?:'|$)|"(?:\\.|[^"])*(?:"|$)|\n|\\.|[^'";])*?)[\s\n]*(?:;|$).*/,style:/([-a-z]+)[\s\n]*:[\s\n]*((?:'(?:\\.|[^'])*(?:'|$)|"(?:\\.|[^"])*(?:"|$)|\n|\\.|[^'";])*?)[\s\n]*(?:;|$)/g,comment:/\/\*[^]*?\*\//g},Vo.connect={padding:{children:Mo,split:Do,combine:Po},margin:{children:Mo,split:Do,combine:Po},border:{children:Mo,parts:Oo,split:function(t){for(const e of Vo.connect[t].children)this.setStyle(this.childName(t,e),this.styles[t])},combine:Fo},"border-top":{children:Oo,split:Uo,combine:Ho},"border-right":{children:Oo,split:Uo,combine:Ho},"border-bottom":{children:Oo,split:Uo,combine:Ho},"border-left":{children:Oo,split:Uo,combine:Ho},"border-width":{children:Mo,split:Do,combine:Bo,subPart:!0},"border-style":{children:Mo,split:Do,combine:Bo,subPart:!0},"border-color":{children:Mo,split:Do,combine:Bo,subPart:!0},font:{children:["style","variant","weight","stretch","line-height","size","family"],split:function(t){const e=ko(this.styles[t]),s={style:"",variant:[],weight:"",stretch:"",size:"",family:"","line-height":""};for(const t of e){s.family||(s.family=t);for(const e of Object.keys(Wo))if((Array.isArray(s[e])||""===s[e])&&t.match(Wo[e]))if(s.family===t&&(s.family=""),"size"===e){const[i,n]=t.split(/\//);s[e]=i,n&&(s["line-height"]=n)}else""===s.size&&(Array.isArray(s[e])?s[e].push(t):""===s[e]&&(s[e]=t))}qo.call(this,t,s),delete this.styles[t]},combine:function(t){}}},MathJax.loader&&MathJax.loader.checkVersion("core",ni,"core"),hi({_:{adaptors:{HTMLAdaptor:h,browserAdaptor:d},components:{global:t},core:{DOMAdaptor:c,FindMath:u,Handler:at,HandlerList:lt,InputJax:p,MathDocument:ot,MathItem:b,MathList:f,MmlTree:{Attributes:x,MML:st,MathMLVisitor:dt,MmlFactory:it,MmlNode:v,MmlNodes:{HtmlNode:et,TeXAtom:Z,maction:W,maligngroup:$,malignmark:J,math:T,mathchoice:tt,menclose:H,merror:F,mfenced:U,mfrac:k,mglyph:Y,mi:C,mmultiscripts:G,mn:A,mo:R,mpadded:j,mphantom:_,mroot:P,mrow:O,ms:M,mspace:w,msqrt:D,mstyle:B,msubsup:q,mtable:X,mtd:K,mtext:I,mtr:z,munderover:V,semantics:Q},MmlVisitor:ht,OperatorDictionary:L,SerializedMmlVisitor:ut},OutputJax:m,Tree:{Factory:E,Node:N,NodeFactory:y,Visitor:ct,Wrapper:pt,WrapperFactory:mt}},handlers:{html_ts:Nt,html:{HTMLDocument:yt,HTMLDomStrings:Et,HTMLHandler:xt,HTMLMathItem:ft,HTMLMathList:bt}},mathjax:gt,ui:{dialog:{DraggableDialog:Tt,InfoDialog:Ct}},util:{AsyncLoad:At,BBox:St,BitField:nt,Entities:Rt,FunctionList:r,LinkedList:g,Options:a,PrioritizedList:i,Retries:rt,StyleJson:vt,Styles:It,context:e,lengths:Lt,numeric:wt,string:S}}}),MathJax.startup&&(MathJax.startup.registerConstructor("HTMLHandler",ro),MathJax.startup.registerConstructor("browserAdaptor",Yi),MathJax.startup.useHandler("HTMLHandler"),MathJax.startup.useAdaptor("browserAdaptor")),MathJax.loader){const t=MathJax.config.loader;MathJax._.mathjax.mathjax.asyncLoad=e=>"node:"===e.substring(0,5)?t.require(e):MathJax.loader.load(e).then(t=>t[0])}class zo extends Qi{constructor(t){super(t),this.getPatterns()}getPatterns(){const t=this.options,e=[],s=[],i=[];this.end={},this.env=this.sub=0;let n=1;t.inlineMath.forEach(t=>this.addPattern(e,t,!1)),t.displayMath.forEach(t=>this.addPattern(e,t,!0)),e.length&&s.push(e.sort(jn).join("|")),t.processEnvironments&&(s.push("\\\\begin\\s*\\{([^}]*)\\}"),this.env=n,n++),t.processEscapes&&i.push("\\\\([\\\\$])"),t.processRefs&&i.push("(\\\\(?:eq)?ref\\s*\\{[^}]*\\})"),i.length&&(s.push("("+i.join("|")+")"),this.sub=n),this.start=new RegExp(s.join("|"),"g"),this.hasPatterns=s.length>0}addPattern(t,e,s){const[i,n]=e;t.push(_n(i)),this.end[i]=[n,s,this.endPattern(n)]}endPattern(t,e){return new RegExp((e||_n(t))+"|\\\\(?:[a-zA-Z]|.)|[{}]","g")}findEnd(t,e,s,i){const[n,r,o]=i,a=o.lastIndex=s.index+s[0].length;let l,c=0;for(;l=o.exec(t);){if((l[1]||l[0])===n&&0===c)return on(s[0],t.substring(a,l.index),l[0],e,s.index,l.index+l[0].length,r);"{"===l[0]?c++:"}"===l[0]&&c&&c--}return null}findMathInString(t,e,s){let i,n;for(this.start.lastIndex=0;i=this.start.exec(s);){if(void 0!==i[this.env]&&this.env){const t="\\\\end\\s*(\\{"+_n(i[this.env])+"\\})";n=this.findEnd(s,e,i,["{"+i[this.env]+"}",!0,this.endPattern(null,t)]),n&&(n.math=n.open+n.math+n.close,n.open=n.close="")}else if(void 0!==i[this.sub]&&this.sub){const t=i[this.sub],s=i.index+i[this.sub].length;n=2===t.length?on("\\",t.substring(1),"",e,i.index,s):on("",t,"",e,i.index,s,!1)}else n=this.findEnd(s,e,i,this.end[i[0]]);n&&(t.push(n),this.start.lastIndex=n.end.n)}}findMath(t){const e=[];if(this.hasPatterns)for(let s=0,i=t.length;s<i;s++)this.findMathInString(e,s,t[s]);return e}}zo.OPTIONS={inlineMath:[["\\(","\\)"]],displayMath:[["$$","$$"],["\\[","\\]"]],processEscapes:!0,processEnvironments:!0,processRefs:!0};const Ko={attrs:new Set(["autoOP","fnOP","movesupsub","subsupOK","texprimestyle","useHeight","variantForm","withDelims","mathaccent","open","close"]),createEntity:t=>String.fromCodePoint(parseInt(t,16)),getChildren:t=>t.childNodes,getText:t=>t.getText(),appendChildren(t,e){for(const s of e)t.appendChild(s)},setAttribute(t,e,s){t.attributes.set(e,s)},setProperty(t,e,s){t.setProperty(e,s)},setProperties(t,e){for(const s of Object.keys(e)){const i=e[s];"texClass"===s?(t.texClass=i,t.setProperty(s,i)):"movablelimits"===s?(t.setProperty("movablelimits",i),(t.isKind("mo")||t.isKind("mstyle"))&&t.attributes.set("movablelimits",i)):"inferred"===s||(Ko.attrs.has(s)?t.setProperty(s,i):t.attributes.set(s,i))}},getProperty:(t,e)=>t.getProperty(e),getAttribute:(t,e)=>t.attributes.get(e),removeAttribute(t,e){t.attributes.unset(e)},removeProperties(t,...e){t.removeProperty(...e)},getChildAt:(t,e)=>t.childNodes[e],setChild(t,e,s){t.childNodes[e]=s,s&&(s.parent=t)},copyChildren(t,e){const s=t.childNodes;for(let t=0;t<s.length;t++)this.setChild(e,t,s[t])},copyAttributes(t,e){e.attributes=t.attributes;for(const[s,i]of Object.entries(t.getAllProperties()))e.setProperty(s,i)},isType:(t,e)=>t.isKind(e),isEmbellished:t=>t.isEmbellished,getTexClass:t=>t.texClass,getCoreMO:t=>t.coreMO(),isNode:t=>t instanceof vn||t instanceof Ln,isInferred:t=>t.isInferred,getForm(t){if(!t.isKind("mo"))return null;const e=t,s=e.getForms();for(const t of s){const s=this.getOp(e,t);if(s)return s}return null},getOp:(t,e="infix")=>Xn.OPTABLE[e][t.getText()]||null,getMoAttribute(t,e){var s,i;if(!t.attributes.isSet(e))for(const n of["infix","postfix","prefix"]){const r=null===(i=null===(s=this.getOp(t,n))||void 0===s?void 0:s[3])||void 0===i?void 0:i[e];if(void 0!==r)return r}return t.attributes.get(e)}},$o=Ko,Jo={Variant:{NORMAL:"normal",BOLD:"bold",ITALIC:"italic",BOLDITALIC:"bold-italic",DOUBLESTRUCK:"double-struck",FRAKTUR:"fraktur",BOLDFRAKTUR:"bold-fraktur",SCRIPT:"script",BOLDSCRIPT:"bold-script",SANSSERIF:"sans-serif",BOLDSANSSERIF:"bold-sans-serif",SANSSERIFITALIC:"sans-serif-italic",SANSSERIFBOLDITALIC:"sans-serif-bold-italic",MONOSPACE:"monospace",INITIAL:"inital",TAILED:"tailed",LOOPED:"looped",STRETCHED:"stretched",CALLIGRAPHIC:"-tex-calligraphic",BOLDCALLIGRAPHIC:"-tex-bold-calligraphic",OLDSTYLE:"-tex-oldstyle",BOLDOLDSTYLE:"-tex-bold-oldstyle",MATHITALIC:"-tex-mathit"},Form:{PREFIX:"prefix",INFIX:"infix",POSTFIX:"postfix"},LineBreak:{AUTO:"auto",NEWLINE:"newline",NOBREAK:"nobreak",GOODBREAK:"goodbreak",BADBREAK:"badbreak"},LineBreakStyle:{BEFORE:"before",AFTER:"after",DUPLICATE:"duplicate",INFIXLINBREAKSTYLE:"infixlinebreakstyle"},IndentAlign:{LEFT:"left",CENTER:"center",RIGHT:"right",AUTO:"auto",ID:"id",INDENTALIGN:"indentalign"},IndentShift:{INDENTSHIFT:"indentshift"},LineThickness:{THIN:"thin",MEDIUM:"medium",THICK:"thick"},Notation:{LONGDIV:"longdiv",ACTUARIAL:"actuarial",PHASORANGLE:"phasorangle",RADICAL:"radical",BOX:"box",ROUNDEDBOX:"roundedbox",CIRCLE:"circle",LEFT:"left",RIGHT:"right",TOP:"top",BOTTOM:"bottom",UPDIAGONALSTRIKE:"updiagonalstrike",DOWNDIAGONALSTRIKE:"downdiagonalstrike",VERTICALSTRIKE:"verticalstrike",HORIZONTALSTRIKE:"horizontalstrike",NORTHEASTARROW:"northeastarrow",MADRUWB:"madruwb",UPDIAGONALARROW:"updiagonalarrow"},Align:{TOP:"top",BOTTOM:"bottom",CENTER:"center",BASELINE:"baseline",AXIS:"axis",LEFT:"left",RIGHT:"right"},Lines:{NONE:"none",SOLID:"solid",DASHED:"dashed"},Side:{LEFT:"left",RIGHT:"right",LEFTOVERLAP:"leftoverlap",RIGHTOVERLAP:"rightoverlap"},Width:{AUTO:"auto",FIT:"fit"},Actiontype:{TOGGLE:"toggle",STATUSLINE:"statusline",TOOLTIP:"tooltip",INPUT:"input"},Overflow:{LINBREAK:"linebreak",SCROLL:"scroll",ELIDE:"elide",TRUNCATE:"truncate",SCALE:"scale"},Unit:{EM:"em",EX:"ex",PX:"px",IN:"in",CM:"cm",MM:"mm",PT:"pt",PC:"pc"},Attr:{LATEX:"data-latex",LATEXITEM:"data-latex-item"}};function Yo(t,e,s){const i=e.attributes,n=s.attributes;t.forEach(t=>{const e=n.getExplicit(t);null!=e&&i.set(t,e)})}function Qo(t,e){const s=(t,e)=>t.getExplicitNames().filter(s=>s!==e&&("stretchy"!==s||t.getExplicit("stretchy"))&&"data-latex"!==s&&"data-latex-item"!==s),i=t.attributes,n=e.attributes,r=s(i,"lspace"),o=s(n,"rspace");if(r.length!==o.length)return!1;for(const t of r)if(i.getExplicit(t)!==n.getExplicit(t))return!1;return!0}function Zo(t,e,s){const i=[];for(const n of t.getList("m"+e+s)){const r=n.childNodes;if(r[n[e]]&&r[n[s]])continue;const o=n.parent,a=r[n[e]]?t.nodeFactory.create("node","m"+e,[r[n.base],r[n[e]]]):t.nodeFactory.create("node","m"+s,[r[n.base],r[n[s]]]);$o.copyAttributes(n,a),o.replaceChild(a,n),i.push(n)}t.removeFromList("m"+e+s,i)}function ta(t,e,s){const i=[];for(const n of t.getList(e)){if(n.attributes.get("displaystyle"))continue;const e=n.childNodes[n.base],r=e.coreMO();if(e.getProperty("movablelimits")&&!r.attributes.hasExplicit("movablelimits")){const e=t.nodeFactory.create("node",s,n.childNodes);$o.copyAttributes(n,e),n.parent.replaceChild(e,n),i.push(n)}}t.removeFromList(e,i)}const ea={cleanStretchy(t){var e;const s=t.data;for(const t of s.getList("fixStretchy"))if($o.getProperty(t,"fixStretchy")){const s=$o.getForm(t);(null===(e=null==s?void 0:s[3])||void 0===e?void 0:e.stretchy)&&$o.setAttribute(t,"stretchy",!1),$o.removeProperties(t,"fixStretchy")}},cleanAttributes(t){t.data.root.walkTree(t=>{const e=new Set((t.getProperty("keep-attrs")||"").split(/ /)),s=t.attributes;s.unset(Jo.Attr.LATEXITEM);for(const t of s.getExplicitNames())e.has(t)||s.get(t)!==s.getInherited(t)||s.unset(t)})},combineRelations(t){const e=[];for(const s of t.data.getList("mo")){if(s.getProperty("relationsCombined")||!s.parent||s.parent&&!$o.isType(s.parent,"mrow")||$o.getTexClass(s)!==fn.REL)continue;let t;const i=s.parent.childNodes,n=i.indexOf(s)+1,r=$o.getProperty(s,"variantForm");for(;n<i.length&&(t=i[n])&&$o.isType(t,"mo")&&$o.getTexClass(t)===fn.REL;){if(r!==$o.getProperty(t,"variantForm")||!Qo(s,t)){s.attributes.hasExplicit("rspace")||$o.setAttribute(s,"rspace","0pt"),t.attributes.hasExplicit("lspace")||$o.setAttribute(t,"lspace","0pt");break}$o.appendChildren(s,$o.getChildren(t)),Yo(["stretchy","rspace"],s,t);for(const e of t.getPropertyNames())s.setProperty(e,t.getProperty(e));t.attributes.get("data-latex")&&s.attributes.set("data-latex",s.attributes.get("data-latex")+t.attributes.get("data-latex")),i.splice(n,1),e.push(t),t.parent=null,t.setProperty("relationsCombined",!0),s.setProperty("texClass",fn.REL)}s.attributes.setInherited("form",s.getForms()[0])}t.data.removeFromList("mo",e)},cleanSubSup(t){const e=t.data;e.error||(Zo(e,"sub","sup"),Zo(e,"under","over"))},moveLimits(t){const e=t.data;ta(e,"munderover","msubsup"),ta(e,"munder","msub"),ta(e,"mover","msup")},setInherited(t){t.data.root.setInheritedAttributes({},t.math.display,0,!1)},checkScriptlevel(t){const e=t.data,s=[];for(const t of e.getList("mstyle")){if(1!==t.childNodes[0].childNodes.length)continue;const e=t.attributes;for(const t of["displaystyle","scriptlevel"])e.getExplicit(t)===e.getInherited(t)&&e.unset(t);const i=e.getExplicitNames();if(0===i.filter(t=>"data-latex"!==t.substring(0,10)).length){const n=t.childNodes[0].childNodes[0];i.forEach(t=>n.attributes.set(t,e.get(t))),t.parent.replaceChild(n,t),s.push(t)}}e.removeFromList("mstyle",s)}},sa=ea;var ia,na;!function(t){t.HANDLER="handler",t.FALLBACK="fallback",t.ITEMS="items",t.TAGS="tags",t.OPTIONS="options",t.NODES="nodes",t.PREPROCESSORS="preprocessors",t.POSTPROCESSORS="postprocessors",t.INIT="init",t.CONFIG="config",t.PRIORITY="priority",t.PARSER="parser"}(ia||(ia={})),function(t){t.DELIMITER="delimiter",t.MACRO="macro",t.CHARACTER="character",t.ENVIRONMENT="environment"}(na||(na={}));const ra=7.2;const oa={UNIT_CASES:new class{constructor(t){this.num="([-+]?([.,]\\d+|\\d+([.,]\\d*)?))",this.unit="",this.dimenEnd=/./,this.dimenRest=/./,this.map=new Map(t),this.updateDimen()}updateDimen(){this.unit=`(${Array.from(this.map.keys()).join("|")})`,this.dimenEnd=RegExp("^\\s*"+this.num+"\\s*"+this.unit+"\\s*$"),this.dimenRest=RegExp("^\\s*"+this.num+"\\s*"+this.unit+" ?")}set(t,e){return this.map.set(t,e),this.updateDimen(),this}get(t){return this.map.get(t)||this.map.get("pt")}delete(t){return!!this.map.delete(t)&&(this.updateDimen(),!0)}}([["em",1],["ex",.43],["pt",.1],["pc",1.2],["px",.1],["in",ra],["cm",ra/2.54],["mm",ra/25.4],["mu",1/18]]),matchDimen(t,e=!1){const s=t.match(e?oa.UNIT_CASES.dimenRest:oa.UNIT_CASES.dimenEnd);return s?function([t,e,s]){return"mu"!==e?[t,e,s]:[oa.em(oa.UNIT_CASES.get(e)*parseFloat(t)).slice(0,-2),"em",s]}([s[1].replace(/,/,"."),s[4],s[0].length]):[null,null,0]},dimen2em(t){const[e,s]=oa.matchDimen(t),i=parseFloat(e||"1");return oa.UNIT_CASES.get(s)*i},em:t=>Math.abs(t)<6e-4?"0em":t.toFixed(3).replace(/\.?0+$/,"")+"em",trimSpaces(t){if("string"!=typeof t)return t;let e=t.trim();return e.match(/\\$/)&&t.match(/ $/)&&(e+=" "),e}};class aa{constructor(t,e,s){this._factory=t,this._env=e,this.global={},this.stack=[],this.global={isInner:s},this.stack=[this._factory.create("start",this.global)],e&&(this.stack[0].env=e),this.env=this.stack[0].env}set env(t){this._env=t}get env(){return this._env}Push(...t){for(const e of t){if(!e)continue;const t=$o.isNode(e)?this._factory.create("mml",e):e;t.global=this.global;const[s,i]=this.stack.length?this.Top().checkItem(t):[null,!0];i&&(s?(this.Pop(),this.Push(...s)):(t.isKind("null")||this.stack.push(t),t.env?(t.copyEnv&&Object.assign(t.env,this.env),this.env=t.env):t.env=this.env))}}Pop(){const t=this.stack.pop();return t.isOpen||delete t.env,this.env=this.stack.length?this.Top().env:{},t}Top(t=1){return this.stack.length<t?null:this.stack[this.stack.length-t]}Prev(t){const e=this.Top();return t?e.First:e.Pop()}get height(){return this.stack.length}toString(){return"stack[\n "+this.stack.join("\n ")+"\n]"}}class la{static processString(t,e){const s=t.split(la.pattern);for(let t=1,i=s.length;t<i;t+=2){let i=s[t].charAt(0);if(i>="0"&&i<="9")s[t]=e[parseInt(s[t],10)-1],"number"==typeof s[t]&&(s[t]=s[t].toString());else if("{"===i)if(i=s[t].substring(1),i>="0"&&i<="9")s[t]=e[parseInt(s[t].substring(1,s[t].length-1),10)-1],"number"==typeof s[t]&&(s[t]=s[t].toString());else{s[t].match(/^\{([a-z]+):%(\d+)\|(.*)\}$/)&&(s[t]="%"+s[t])}}return s.join("")}constructor(t,e,...s){this.id=t,this.message=la.processString(e,s)}}la.pattern=/%(\d+|\{\d+\}|\{[a-z]+:%\d+(?:\|(?:%\{\d+\}|%.|[^}])*)+\}|.)/g;const ca=la;class ha{constructor(t){this._nodes=t,this.startStr="",this.startI=0,this.stopI=0}get nodes(){return this._nodes}Push(...t){this._nodes.push(...t)}Pop(){return this._nodes.pop()}get First(){return this._nodes[this.Size()-1]}set First(t){this._nodes[this.Size()-1]=t}get Last(){return this._nodes[0]}set Last(t){this._nodes[0]=t}Peek(t){return null==t&&(t=1),this._nodes.slice(this.Size()-t)}Size(){return this._nodes.length}Clear(){this._nodes=[]}toMml(t=!0,e){return 1!==this._nodes.length||e?this.create("node",t?"inferredMrow":"mrow",this._nodes,{}):this.First}create(t,...e){return this.factory.configuration.nodeFactory.create(t,...e)}}class da extends ha{constructor(t,...e){super(e),this.factory=t,this.global={},this._properties={},this.isOpen&&(this._env={})}get kind(){return"base"}get env(){return this._env}set env(t){this._env=t}get copyEnv(){return!0}getProperty(t){return this._properties[t]}setProperty(t,e){return this._properties[t]=e,this}get isOpen(){return!1}get isClose(){return!1}get isFinal(){return!1}isKind(t){return t===this.kind}checkItem(t){if(t.isKind("over")&&this.isOpen&&(t.setProperty("num",this.toMml(!1)),this.Clear()),t.isKind("cell")&&this.isOpen){if(t.getProperty("linebreak"))return da.fail;throw new ca("Misplaced","Misplaced %1",t.getName())}if(t.isClose&&this.getErrors(t.kind)){const[e,s]=this.getErrors(t.kind);throw new ca(e,s,t.getName())}return t.isFinal?(this.Push(t.First),da.fail):da.success}clearEnv(){for(const t of Object.keys(this.env))delete this.env[t]}setProperties(t){return Object.assign(this._properties,t),this}getName(){return this.getProperty("name")}toString(){return this.kind+"["+this.nodes.join("; ")+"]"}getErrors(t){return this.constructor.errors[t]||da.errors[t]}addLatexItem(t,e=""){const s=this.startStr.slice(this.startI,this.stopI);if(s){const i=e?e+s:s;t.attributes.set(Jo.Attr.LATEXITEM,i),"}"!==i&&t.attributes.set(Jo.Attr.LATEX,i)}}}da.fail=[null,!1],da.success=[null,!0],da.errors={end:["MissingBeginExtraEnd","Missing \\begin{%1} or extra \\end{%1}"],close:["ExtraCloseMissingOpen","Extra close brace or missing open brace"],right:["MissingLeftExtraRight","Missing \\left or extra \\right"],middle:["ExtraMiddle","Extra \\middle"]};class ua{constructor(t,e,s){this._string=t,this.configuration=s,this.macroCount=0,this.i=0,this.currentCS="",this.saveI=0;const i=Object.hasOwn(e,"isInner"),n=e.isInner;let r;if(delete e.isInner,e){r={};for(const t of Object.keys(e))r[t]=e[t]}this.configuration.pushParser(this),this.stack=new aa(this.itemFactory,r,!i||n),this.Parse(),this.Push(this.itemFactory.create("stop")),this.stack.env=r}get options(){return this.configuration.options}get itemFactory(){return this.configuration.itemFactory}get tags(){return this.configuration.tags}set string(t){this._string=t}get string(){return this._string}parse(t,e){const s=this.saveI;this.saveI=this.i-("character"===t&&"&"!==e[1]?1:0);const i=this.configuration.handlers.get(t).parse(e);return"macro"!==t&&this.updateResult(e[1],s),this.saveI=s,i}lookup(t,e){return this.configuration.handlers.get(t).lookup(e)}contains(t,e){return this.configuration.handlers.get(t).contains(e)}toString(){let t="";for(const e of Array.from(this.configuration.handlers.keys()))t+=e+": "+this.configuration.handlers.get(e)+"\n";return t}Parse(){let t;for(;this.i<this.string.length;)t=this.getCodePoint(),this.i+=t.length,this.parse(na.CHARACTER,[this,t])}Push(t){t instanceof da&&(t.startI=this.saveI,t.stopI=this.i,t.startStr=this.string),t instanceof vn&&t.isInferred?this.PushAll(t.childNodes):this.stack.Push(t)}PushAll(t){for(const e of t)this.stack.Push(e)}mml(){if(!this.stack.Top().isKind("mml"))return null;const t=this.stack.Top().First;this.configuration.popParser();const e=this.trimTex(this.string);return e&&t.attributes.set(Jo.Attr.LATEX,e),t}convertDelimiter(t){var e;const s=this.lookup(na.DELIMITER,t);return null!==(e=null==s?void 0:s.char)&&void 0!==e?e:null}getCodePoint(){const t=this.string.codePointAt(this.i);return void 0===t?"":String.fromCodePoint(t)}nextIsSpace(){return!!this.string.charAt(this.i).match(/\s/)}GetNext(){for(;this.nextIsSpace();)this.i++;return this.getCodePoint()}GetCS(){const t=this.string.slice(this.i).match(/^(([a-z]+) ?|[\uD800-\uDBFF].|.)/i);return t?(this.i+=t[0].length,t[2]||t[1]):(this.i++," ")}GetArgument(t,e=!1){switch(this.GetNext()){case"":if(!e)throw new ca("MissingArgFor","Missing argument for %1",this.currentCS);return null;case"}":if(!e)throw new ca("ExtraCloseMissingOpen","Extra close brace or missing open brace");return null;case"\\":return this.i++,"\\"+this.GetCS();case"{":{const t=++this.i;let e=1;for(;this.i<this.string.length;)switch(this.string.charAt(this.i++)){case"\\":this.i++;break;case"{":e++;break;case"}":if(0===--e)return this.string.slice(t,this.i-1)}throw new ca("MissingCloseBrace","Missing close brace")}}const s=this.getCodePoint();return this.i+=s.length,s}GetBrackets(t,e,s=!1){if("["!==this.GetNext())return e;const i=++this.i;let n=0,r=0;for(;this.i<this.string.length;)switch(this.string.charAt(this.i++)){case"{":n++;break;case"\\":this.i++;break;case"}":if(n--<=0)throw new ca("ExtraCloseLooking","Extra close brace while looking for %1","']'");break;case"[":0===n&&r++;break;case"]":if(0===n){if(!s||0===r)return this.string.slice(i,this.i-1);r--}}throw new ca("MissingCloseBracket","Could not find closing ']' for argument to %1",this.currentCS)}GetDelimiter(t,e=!1){let s=this.GetNext();if(this.i+=s.length,this.i<=this.string.length&&("\\"===s?s+=this.GetCS():"{"===s&&e&&(this.i--,s=this.GetArgument(t).trim()),this.contains(na.DELIMITER,s)))return this.convertDelimiter(s);throw new ca("MissingOrUnrecognizedDelim","Missing or unrecognized delimiter for %1",this.currentCS)}GetDimen(t){if("{"===this.GetNext()){const e=this.GetArgument(t),[s,i]=oa.matchDimen(e);if(s)return s+i}else{const t=this.string.slice(this.i),[e,s,i]=oa.matchDimen(t,!0);if(e)return this.i+=i,e+s}throw new ca("MissingDimOrUnits","Missing dimension or its units for %1",this.currentCS)}GetUpTo(t,e){for(;this.nextIsSpace();)this.i++;const s=this.i;let i=0;for(;this.i<this.string.length;){const t=this.i;let n=this.GetNext();switch(this.i+=n.length,n){case"\\":n+=this.GetCS();break;case"{":i++;break;case"}":if(0===i)throw new ca("ExtraCloseLooking","Extra close brace while looking for %1",e);i--}if(0===i&&n===e)return this.string.slice(s,t)}throw new ca("TokenNotFoundForCommand","Could not find %1 for %2",e,this.currentCS)}ParseArg(t){return new ua(this.GetArgument(t),this.stack.env,this.configuration).mml()}ParseUpTo(t,e){return new ua(this.GetUpTo(t,e),this.stack.env,this.configuration).mml()}GetDelimiterArg(t){const e=oa.trimSpaces(this.GetArgument(t));if(""===e)return null;if(this.contains(na.DELIMITER,e))return e;throw new ca("MissingOrUnrecognizedDelim","Missing or unrecognized delimiter for %1",this.currentCS)}GetStar(){const t="*"===this.GetNext();return t&&this.i++,t}create(t,...e){const s=this.configuration.nodeFactory.create(t,...e);return s.isToken&&s.attributes.hasExplicit("mathvariant")&&"-"===s.attributes.get("mathvariant").charAt(0)&&s.setProperty("ignore-variant",!0),s}trimTex(t){return t.trim()+(t.match(/(?:^|[^\\])(?:\\\\)*\\\s+$/)?" ":"")}updateResult(t,e){const s=this.stack.Prev(!0);if(!s)return;const i=Jo.Attr.LATEX,n=s.attributes.get(i),r=s.attributes.get(Jo.Attr.LATEXITEM);if(void 0!==r)return void(n||("}"===t||"}"===r?this.composeBraces(s):s.attributes.set(i,r)));e=e<this.saveI?this.saveI:e;const o=this.trimTex(e!==this.i?this.string.slice(e,this.i):t);if(o&&o!==n&&("\\"!==t||"\\"!==o)){if("_"===o||"^"===o)s.setProperty("sub-sup",o);else{switch(s.getProperty("sub-sup")){case"^":if(s.childNodes[2]&&("}"===o?this.composeBraces(s.childNodes[2]):s.childNodes[2].attributes.hasExplicit(i)||s.childNodes[2].attributes.set(i,o)),s.childNodes[1]){const t=s.childNodes[1].attributes.get(i);this.composeLatex(s,`_${t}^`,0,2)}else this.composeLatex(s,"^",0,2);return;case"_":if(s.childNodes[1]&&("}"===o?this.composeBraces(s.childNodes[1]):s.childNodes[1].attributes.hasExplicit(i)||s.childNodes[1].attributes.set(i,o)),s.childNodes[2]){const t=s.childNodes[2].attributes.get(i);this.composeLatex(s,`^${t}_`,0,1)}else this.composeLatex(s,"_",0,1);return}if("}"===o)return void this.composeBraces(s)}s.attributes.set(i,o)}}composeLatex(t,e,s,i){if(!t.childNodes[s]||!t.childNodes[i])return;const n=Jo.Attr.LATEX,r=(t.childNodes[s].attributes.get(n)||"")+e+t.childNodes[i].attributes.get(n);t.attributes.set(n,r)}composeBraces(t){const e=this.composeBracedContent(t);t.attributes.set(Jo.Attr.LATEX,`{${e}}`)}composeBracedContent(t){var e,s;const i=(null===(e=t.childNodes[0])||void 0===e?void 0:e.childNodes)||[];let n="";for(const t of i){const e=(null===(s=null==t?void 0:t.attributes)||void 0===s?void 0:s.get(Jo.Attr.LATEX))||"";e&&(n+=n&&n.match(/[a-zA-Z]$/)&&e.match(/^[a-zA-Z]/)?" "+e:e)}return n}}class pa extends da{}class ma extends hn{constructor(){super(...arguments),this.defaultKind="dummy",this.configuration=null}}ma.DefaultStackItems={[pa.prototype.kind]:pa};const ga=ma;class fa{constructor(){this.mmlFactory=null,this.factory={node:fa.createNode,token:fa.createToken,text:fa.createText,error:fa.createError}}static createNode(t,e,s=[],i={},n){const r=t.mmlFactory.create(e);return r.setChildren(s),n&&r.appendChild(n),$o.setProperties(r,i),r}static createToken(t,e,s={},i=""){const n=t.create("text",i);return t.create("node",e,[],s,n)}static createText(t,e){return null==e?null:t.mmlFactory.create("text").setText(e)}static createError(t,e){const s=t.create("text",e),i=t.create("node","mtext",[],{},s);return t.create("node","merror",[i],{"data-mjx-error":e})}setMmlFactory(t){this.mmlFactory=t}set(t,e){this.factory[t]=e}setCreators(t){for(const e in t)this.set(e,t[e])}create(t,...e){const s=(this.factory[t]||this.factory.node)(this,e[0],...e.slice(1));return"node"===t&&this.configuration.addNode(e[0],s),s}get(t){return this.factory[t]}}class ba{static oneof(...t){return new this("string",e=>t.includes(e),t=>t)}constructor(t,e,s){this.name=t,this.verify=e,this.convert=s}}const Ea={boolean:new ba("boolean",t=>"true"===t||"false"===t,t=>"true"===t),number:new ba("number",t=>!!t.match(/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(?:e[-+]?\d+)?$/),t=>parseFloat(t)),integer:new ba("integer",t=>!!t.match(/^[-+]?\d+$/),t=>parseInt(t)),string:new ba("string",t=>!0,t=>t),dimen:new ba("dimen",t=>null!==oa.matchDimen(t)[0],t=>t)};function ya(t,e){if(0===e)return t.replace(/^\s+/,"").replace(/([^\\\s]|^)((?:\\\\)*(?:\\\s)?)?\s+$/,"$1$2");for(;e>0;)t=t.trim().slice(1,-1),e--;return t}function xa(t,e,s=!1,i=!1){const n=t.length;let r=0,o="",a=0,l=0,c=!0;for(;a<n;){const i=t[a++];switch(i){case"\\":o+=i+(t[a++]||""),c=!1;continue;case" ":break;case"{":c&&l++,r++;break;case"}":if(!r)throw new ca("ExtraCloseMissingOpen","Extra close brace or missing open brace");r--,c=!1;break;default:if(!r&&e.includes(i))return[ya(o,s?Math.min(1,l):l),i,t.slice(a)];l>r&&(l=r),c=!1}o+=i}if(r)throw new ca("ExtraOpenMissingClose","Extra open brace or missing close brace");return i&&l?["","",ya(o,1)]:[ya(o,s?Math.min(1,l):l),"",t.slice(a)]}const Na={cols:(...t)=>t.map(t=>oa.em(t)).join(" "),fenced(t,e,s,i,n="",r=""){const o=t.nodeFactory,a=o.create("node","mrow",[],{open:e,close:i,texClass:fn.INNER});let l;if(n)l=new ua("\\"+n+"l"+e,t.parser.stack.env,t).mml();else{const t=o.create("text",e);l=o.create("node","mo",[],{fence:!0,stretchy:!0,symmetric:!0,texClass:fn.OPEN},t)}if($o.appendChildren(a,[l,s]),n)l=new ua("\\"+n+"r"+i,t.parser.stack.env,t).mml();else{const t=o.create("text",i);l=o.create("node","mo",[],{fence:!0,stretchy:!0,symmetric:!0,texClass:fn.CLOSE},t)}return r&&l.attributes.set("mathcolor",r),$o.appendChildren(a,[l]),a},fixedFence(t,e,s,i){const n=t.nodeFactory.create("node","mrow",[],{open:e,close:i,texClass:fn.ORD});return e&&$o.appendChildren(n,[Na.mathPalette(t,e,"l")]),$o.isType(s,"mrow")?$o.appendChildren(n,$o.getChildren(s)):$o.appendChildren(n,[s]),i&&$o.appendChildren(n,[Na.mathPalette(t,i,"r")]),n},mathPalette(t,e,s){"{"!==e&&"}"!==e||(e="\\"+e);const i="{\\big"+s+" "+e+"}";return new ua("\\mathchoice"+("{\\bigg"+s+" "+e+"}")+i+i+i,{},t).mml()},fixInitialMO(t,e){for(let s=0,i=e.length;s<i;s++){const i=e[s];if(i&&!$o.isType(i,"mspace")&&(!$o.isType(i,"TeXAtom")||$o.getChildren(i)[0]&&$o.getChildren($o.getChildren(i)[0]).length)){if($o.isEmbellished(i)||$o.isType(i,"TeXAtom")&&$o.getTexClass(i)===fn.REL){const s=t.nodeFactory.create("node","mi");e.unshift(s)}break}}},internalMath(t,e,s,i){if(e=e.replace(/ +/g," "),t.configuration.options.internalMath)return t.configuration.options.internalMath(t,e,s,i);const n=i||t.stack.env.font,r=n?{mathvariant:n}:{};let o,a,l=[],c=0,h=0,d="",u=0;if(e.match(/\\?[${}\\]|\\\(|\\(?:eq)?ref\s*\{|\\U/)){for(;c<e.length;)if(o=e.charAt(c++),"$"===o)"$"===d&&0===u?(a=t.create("node","TeXAtom",[new ua(e.slice(h,c-1),{},t.configuration).mml()]),l.push(a),d="",h=c):""===d&&(h<c-1&&l.push(Na.internalText(t,e.slice(h,c-1),r)),d="$",h=c);else if("{"===o&&""!==d)u++;else if("}"===o)if("}"===d&&0===u){const s=new ua(e.slice(h,c),{},t.configuration).mml();a=t.create("node","TeXAtom",[s],r),l.push(a),d="",h=c}else""!==d&&u&&u--;else if("\\"===o)if(""===d&&e.substring(c).match(/^(eq)?ref\s*\{/)){const s=RegExp["$&"].length;h<c-1&&l.push(Na.internalText(t,e.slice(h,c-1),r)),d="}",h=c-1,c+=s}else if(o=e.charAt(c++),"("===o&&""===d)h<c-2&&l.push(Na.internalText(t,e.slice(h,c-2),r)),d=")",h=c;else if(")"===o&&")"===d&&0===u)a=t.create("node","TeXAtom",[new ua(e.slice(h,c-2),{},t.configuration).mml()]),l.push(a),d="",h=c;else if(o.match(/[${}\\]/)&&""===d)c--,e=e.substring(0,c-1)+e.substring(c);else if("U"===o){const t=e.substring(c).match(/^\s*(?:([0-9A-F])|\{\s*([0-9A-F]+)\s*\})/);if(!t)throw new ca("BadRawUnicode","Argument to %1 must a hexadecimal number with 1 to 6 digits","\\U");const s=String.fromCodePoint(parseInt(t[1]||t[2],16));e=e.substring(0,c-2)+s+e.substring(c+t[0].length),c=c-2+s.length}if(""!==d)throw new ca("MathNotTerminated","Math mode is not properly terminated")}return h<e.length&&l.push(Na.internalText(t,e.slice(h),r)),null!=s?l=[t.create("node","mstyle",l,{displaystyle:!1,scriptlevel:s})]:l.length>1&&(l=[t.create("node","mrow",l)]),l},internalText(t,e,s){e=e.replace(/\n+/g," ").replace(/^ +/,Co.nbsp).replace(/ +$/,Co.nbsp);const i=t.create("text",e);return t.create("node","mtext",[],s,i)},underOver(t,e,s,i,n){if(Na.checkMovableLimits(e),$o.isType(e,"munderover")&&$o.isEmbellished(e)){$o.setProperties($o.getCoreMO(e),{lspace:0,rspace:0});const s=t.create("node","mo",[],{rspace:0});e=t.create("node","mrow",[s,e])}const r=t.create("node","munderover",[e]);$o.setChild(r,"over"===i?r.over:r.under,s);let o=r;return n&&(o=t.create("node","TeXAtom",[t.create("node","mstyle",[r],{displaystyle:!0,scriptlevel:0})],{texClass:fn.OP,movesupsub:!0})),$o.setProperty(o,"subsupOK",!0),o},checkMovableLimits(t){const e=$o.isType(t,"mo")?$o.getForm(t):null;($o.getProperty(t,"movablelimits")||e&&e[3]&&e[3].movablelimits)&&$o.setProperties(t,{movablelimits:!1})},setArrayAlign:(t,e,s)=>(s||(e=oa.trimSpaces(e||"")),"t"===e?t.arraydef.align="baseline 1":"b"===e?t.arraydef.align="baseline -1":"c"===e?t.arraydef.align="axis":e&&(s?(s.string=`[${e}]`+s.string.slice(s.i),s.i=0):t.arraydef.align=e),t),substituteArgs(t,e,s){let i="",n="",r=0;for(;r<s.length;){let o=s.charAt(r++);if("\\"===o)i+=o+s.charAt(r++);else if("#"===o)if(o=s.charAt(r++),"#"===o)i+=o;else{if(!o.match(/[1-9]/)||parseInt(o,10)>e.length)throw new ca("IllegalMacroParam","Illegal macro parameter reference");n=Na.addArgs(t,Na.addArgs(t,n,i),e[parseInt(o,10)-1]),i=""}else i+=o}return Na.addArgs(t,n,i)},addArgs(t,e,s){if(s.match(/^[a-z]/i)&&e.match(/(^|[^\\])(\\\\)*\\[a-z]+$/i)&&(e+=" "),e.length+s.length>t.configuration.options.maxBuffer)throw new ca("MaxBufferSize","MathJax internal buffer size exceeded; is there a recursive macro call?");return e+s},checkMaxMacros(t,e=!0){if(!(++t.macroCount<=t.configuration.options.maxMacros))throw e?new ca("MaxMacroSub1","MathJax maximum macro substitution count exceeded; is here a recursive macro call?"):new ca("MaxMacroSub2","MathJax maximum substitution count exceeded; is there a recursive latex environment?")},checkEqnEnv(t,e=!0){const s=t.stack.Top(),i=s.First;if(!(s.getProperty("nestable")&&e&&!i||s.getProperty("nestStart"))&&(!s.isKind("start")||i))throw new ca("ErroneousNestingEq","Erroneous nesting of equation structures")},copyNode(t,e){const s=t.copy(),i=e.configuration;return s.walkTree(t=>{i.addNode(t.kind,t);const e=(t.getProperty("in-lists")||"").split(/,/);for(const s of e)s&&i.addNode(s,t)}),s},mmlFilterAttribute:(t,e,s)=>s,getFontDef(t){const e=t.stack.env.font;return e?{mathvariant:e}:{}},keyvalOptions(t,e=null,s=!1,i=!1){const n=function(t,e=!1){const s={};let i,n,r,o=t,a=!0;for(;o;)[n,i,o]=xa(o,["=",","],e,a),a=!1,"="===i?([r,i,o]=xa(o,[","],e),r="false"===r||"true"===r?JSON.parse(r):r,s[n]=r):n&&(s[n]=!0);return s}(t,i);if(e)for(const t of Object.keys(n))if(Object.hasOwn(e,t)){if(e[t]instanceof ba){const s=e[t],i=String(n[t]);if(!s.verify(i))throw new ca("InvalidValue","Value for key '%1' is not of the expected type",t);n[t]=s.convert(i)}}else{if(s)throw new ca("InvalidOption","Invalid option: %1",t);delete n[t]}return n},isLatinOrGreekChar:t=>!!t.normalize("NFD").match(/[a-zA-Z\u0370-\u03F0]/)};class va{constructor(){this.columnHandler={l:t=>t.calign[t.j++]="left",c:t=>t.calign[t.j++]="center",r:t=>t.calign[t.j++]="right",p:t=>this.getColumn(t,"top"),m:t=>this.getColumn(t,"middle"),b:t=>this.getColumn(t,"bottom"),w:t=>this.getColumn(t,"top",""),W:t=>this.getColumn(t,"top",""),"|":t=>this.addRule(t,"solid"),":":t=>this.addRule(t,"dashed"),">":t=>t.cstart[t.j]=(t.cstart[t.j]||"")+this.getBraces(t),"<":t=>t.cend[t.j-1]=(t.cend[t.j-1]||"")+this.getBraces(t),"@":t=>this.addAt(t,this.getBraces(t)),"!":t=>this.addBang(t,this.getBraces(t)),"*":t=>this.repeat(t),P:t=>this.macroColumn(t,">{$}p{#1}<{$}",1),M:t=>this.macroColumn(t,">{$}m{#1}<{$}",1),B:t=>this.macroColumn(t,">{$}b{#1}<{$}",1)," ":t=>{}},this.MAXCOLUMNS=1e4}process(t,e,s){const i={parser:t,template:e,i:0,j:0,c:"",cwidth:[],calign:[],cspace:[],clines:[],cstart:s.cstart,cend:s.cend,ralign:s.ralign,cextra:s.cextra};let n=0;for(;i.i<i.template.length;){if(n++>this.MAXCOLUMNS)throw new ca("MaxColumns","Too many column specifiers (perhaps looping column definitions?)");const t=i.template.codePointAt(i.i),e=i.c=String.fromCodePoint(t);if(i.i+=e.length,!Object.hasOwn(this.columnHandler,e))throw new ca("BadPreamToken","Illegal pream-token (%1)",e);this.columnHandler[e](i)}this.setColumnAlign(i,s),this.setColumnWidths(i,s),this.setColumnSpacing(i,s),this.setColumnLines(i,s),this.setPadding(i,s)}setColumnAlign(t,e){e.arraydef.columnalign=t.calign.join(" ")}setColumnWidths(t,e){if(!t.cwidth.length)return;const s=[...t.cwidth];s.length<t.calign.length&&s.push("auto"),e.arraydef.columnwidth=s.map(t=>t||"auto").join(" ")}setColumnSpacing(t,e){if(!t.cspace.length)return;const s=[...t.cspace];s.length<t.calign.length&&s.push("1em"),e.arraydef.columnspacing=s.slice(1).map(t=>t||"1em").join(" ")}setColumnLines(t,e){if(!t.clines.length)return;const s=[...t.clines];s[0]&&e.frame.push(["left",s[0]]),s.length>t.calign.length?e.frame.push(["right",s.pop()]):s.length<t.calign.length&&s.push("none"),s.length>1&&(e.arraydef.columnlines=s.slice(1).map(t=>t||"none").join(" "))}setPadding(t,e){if(!t.cextra[0]&&!t.cextra[t.calign.length-1])return;const s=t.calign.length-1,i=t.cspace,n=t.cextra[s]?i[s]:null;e.arraydef["data-array-padding"]=`${i[0]||".5em"} ${n||".5em"}`}getColumn(t,e,s="left"){t.calign[t.j]=s||this.getAlign(t),t.cwidth[t.j]=this.getDimen(t),t.ralign[t.j]=[e,t.cwidth[t.j],t.calign[t.j]],t.j++}getDimen(t){const e=this.getBraces(t);if(!oa.matchDimen(e)[0])throw new ca("MissingColumnDimOrUnits","Missing dimension or its units for %1 column declaration",t.c);return e}getAlign(t){return Hi(this.getBraces(t).toLowerCase(),{l:"left",c:"center",r:"right"},"")}getBraces(t){for(;" "===t.template[t.i];)t.i++;if(t.i>=t.template.length)throw new ca("MissingArgForColumn","Missing argument for %1 column declaration",t.c);if("{"!==t.template[t.i])return t.template[t.i++];const e=++t.i;let s=1;for(;t.i<t.template.length;)switch(t.template.charAt(t.i++)){case"\\":t.i++;break;case"{":s++;break;case"}":if(0===--s)return t.template.slice(e,t.i-1)}throw new ca("MissingCloseBrace","Missing close brace")}macroColumn(t,e,s){const i=[];for(;s>0&&s--;)i.push(this.getBraces(t));t.template=Na.substituteArgs(t.parser,i,e)+t.template.slice(t.i),t.i=0}addRule(t,e){t.clines[t.j]&&this.addAt(t,"\\,"),t.clines[t.j]=e,"0"===t.cspace[t.j]&&(t.cstart[t.j]="\\hspace{.5em}")}addAt(t,e){const{cstart:s,cspace:i,j:n}=t;t.cextra[n]=!0,t.calign[n]="center",t.clines[n]&&(".5em"===i[n]?s[n-1]+="\\hspace{.25em}":i[n]||(t.cend[n-1]=(t.cend[n-1]||"")+"\\hspace{.5em}")),s[n]=e,i[n]="0",i[++t.j]="0"}addBang(t,e){const{cstart:s,cspace:i,j:n}=t;t.cextra[n]=!0,t.calign[n]="center",s[n]=("0"===i[n]&&t.clines[n]?"\\hspace{.25em}":"")+e,i[n]||(i[n]=".5em"),i[++t.j]=".5em"}repeat(t){const e=this.getBraces(t),s=this.getBraces(t),i=parseInt(e);if(String(i)!==e)throw new ca("ColArgNotNum","First argument to %1 column specifier must be a number","*");t.template=new Array(i).fill(s).join("")+t.template.substring(t.i),t.i=0}}const Ta=Jo.Variant;class Ca{constructor(t,e=[]){this.options={},this.columnParser=new va,this.packageData=new Map,this.parsers=[],this.root=null,this.nodeLists={},this.error=!1,this.handlers=t.handlers,this.nodeFactory=new fa,this.nodeFactory.configuration=this,this.nodeFactory.setCreators(t.nodes),this.itemFactory=new ga(t.items),this.itemFactory.configuration=this,Bi(this.options,...e),Bi(this.options,t.options),this.mathStyle=Ca.getVariant.get(this.options.mathStyle)||Ca.getVariant.get("TeX")}pushParser(t){this.parsers.unshift(t)}popParser(){this.parsers.shift()}get parser(){return this.parsers[0]}clear(){this.parsers=[],this.root=null,this.nodeLists={},this.error=!1,this.tags.resetTag()}addNode(t,e){let s=this.nodeLists[t];if(s||(s=this.nodeLists[t]=[]),s.push(e),e.kind!==t){const s=$o.getProperty(e,"in-lists")||"",i=(s?s.split(/,/):[]).concat(t).join(",");$o.setProperty(e,"in-lists",i)}}getList(t){const e=this.nodeLists[t]||[],s=[];for(const t of e)this.inTree(t)&&s.push(t);return this.nodeLists[t]=s,s}removeFromList(t,e){const s=this.nodeLists[t]||[];for(const t of e){const e=s.indexOf(t);e>=0&&s.splice(e,1)}}inTree(t){for(;t&&t!==this.root;)t=t.parent;return!!t}}Ca.getVariant=new Map([["TeX",(t,e)=>e&&t.match(/^[\u0391-\u03A9\u03F4]/)?Ta.NORMAL:""],["ISO",t=>Ta.ITALIC],["French",t=>t.normalize("NFD").match(/^[a-z]/)?Ta.ITALIC:Ta.NORMAL],["upright",t=>Ta.NORMAL]]);const Aa=Ca;class La{constructor(t="???",e=""){this.tag=t,this.id=e}}class Sa{constructor(t="",e=!1,s=!1,i=null,n="",r="",o=!1,a=""){this.env=t,this.taggable=e,this.defaultTags=s,this.tag=i,this.tagId=n,this.tagFormat=r,this.noTag=o,this.labelId=a}}class Ra{constructor(){this.counter=0,this.allCounter=0,this.configuration=null,this.ids={},this.allIds={},this.labels={},this.allLabels={},this.redo=!1,this.refUpdate=!1,this.currentTag=new Sa,this.history=[],this.stack=[],this.enTag=function(t,e){const s=this.configuration.nodeFactory,i=s.create("node","mtd",[t]),n=s.create("node","mlabeledtr",[e,i]);return s.create("node","mtable",[n],{side:this.configuration.options.tagSide,minlabelspacing:this.configuration.options.tagIndent,displaystyle:!0})}}start(t,e,s){this.currentTag&&this.stack.push(this.currentTag);const i=this.label;this.currentTag=new Sa(t,e,s),this.label=i}get env(){return this.currentTag.env}end(){this.history.push(this.currentTag);const t=this.label;this.currentTag=this.stack.pop(),t&&!this.label&&(this.label=t)}tag(t,e){this.currentTag.tag=t,this.currentTag.tagFormat=e?t:this.formatTag(t),this.currentTag.noTag=!1}notag(){this.tag("",!0),this.currentTag.noTag=!0}get noTag(){return this.currentTag.noTag}set label(t){this.currentTag.labelId=t}get label(){return this.currentTag.labelId}formatUrl(t,e){return e+"#"+encodeURIComponent(t)}formatTag(t){return["(",t,")"]}formatRef(t){return this.formatTag(t)}formatId(t){return"mjx-eqn:"+t.replace(/\s/g,"_")}formatNumber(t){return t.toString()}autoTag(){null==this.currentTag.tag&&(this.counter++,this.tag(this.formatNumber(this.counter),!1))}clearTag(){this.tag(null,!0),this.currentTag.tagId=""}getTag(t=!1){if(t)return this.autoTag(),this.makeTag();const e=this.currentTag;return e.taggable&&!e.noTag&&(e.defaultTags&&this.autoTag(),e.tag)?this.makeTag():null}resetTag(){this.history=[],this.redo=!1,this.refUpdate=!1,this.clearTag()}reset(t=0){this.resetTag(),this.counter=this.allCounter=t,this.allLabels={},this.allIds={},this.label=""}startEquation(t){this.history=[],this.stack=[],this.clearTag(),this.currentTag=new Sa("",void 0,void 0),this.labels={},this.ids={},this.counter=this.allCounter,this.redo=!1;const e=t.inputData.recompile;e&&(this.refUpdate=!0,this.counter=e.counter)}finishEquation(t){this.redo&&(t.inputData.recompile={state:t.state(),counter:this.allCounter}),this.refUpdate||(this.allCounter=this.counter),Object.assign(this.allIds,this.ids),Object.assign(this.allLabels,this.labels)}finalize(t,e){if(!e.display||this.currentTag.env||null==this.currentTag.tag)return t;const s=this.makeTag();return this.enTag(t,s)}makeId(){this.currentTag.tagId=this.formatId(this.configuration.options.useLabelIds&&this.label||this.currentTag.tag)}makeTag(){var t;this.makeId(),this.label&&(this.labels[this.label]=new La(this.currentTag.tag,this.currentTag.tagId),this.label="");const e=this.currentTag.tagFormat,s=Array.isArray(e)?e:(null===(t=e.match(/^(\(|\[|\{)(.*)(\}|\]|\))$/))||void 0===t?void 0:t.slice(1))||[e],i=new ua(s.map(t=>t?`\\text{${t}}`:"").join(""),{},this.configuration).mml();return this.configuration.nodeFactory.create("node","mtd",[i],{id:this.currentTag.tagId,rowalign:this.configuration.options.tagAlign})}}class Ia extends Ra{autoTag(){}getTag(){return this.currentTag.tag?super.getTag():null}}class wa extends Ra{finalize(t,e){if(!e.display||this.history.find(function(t){return t.taggable}))return t;const s=this.getTag(!0);return this.enTag(t,s)}}const Ma=new Map([["none",Ia],["all",wa]]);let Oa="none";const ka={OPTIONS:{tags:Oa,tagSide:"right",tagIndent:"0.8em",useLabelIds:!0,ignoreDuplicateLabels:!1,tagAlign:"baseline"},add(t,e){Ma.set(t,e)},addTags(t){for(const e of Object.keys(t))ka.add(e,t[e])},create(t){const e=Ma.get(t)||Ma.get(Oa);if(!e)throw Error("Unknown tags class");return new e},setDefault(t){Oa=t},getDefault:()=>ka.create(Oa)};class Da{constructor(t,e,s){this._token=t,this._char=e,this._attributes=s}get token(){return this._token}get char(){return this._char}get attributes(){return this._attributes}}class Pa{constructor(t,e,s=[]){this._token=t,this._func=e,this._args=s}get token(){return this._token}get func(){return this._func}get args(){return this._args}}function Ba(t){return void 0===t||t}class Fa{constructor(t,e){this._name=t,this._parser=e,Xa.register(this)}get name(){return this._name}parserFor(t){return this.contains(t)?this.parser:null}parse([t,e]){const s=this.parserFor(e),i=this.lookup(e);return s&&i?Ba(s(t,i)):null}set parser(t){this._parser=t}get parser(){return this._parser}}class ja extends Fa{constructor(t,e,s){super(t,e),this._regExp=s}contains(t){return this._regExp.test(t)}lookup(t){return this.contains(t)?t:null}}class _a extends Fa{constructor(){super(...arguments),this.map=new Map}lookup(t){return this.map.get(t)}contains(t){return this.map.has(t)}add(t,e){this.map.set(t,e)}remove(t){this.map.delete(t)}}class Ua extends _a{constructor(t,e,s){super(t,e);for(const t of Object.keys(s)){const e=s[t],[i,n]="string"==typeof e?[e,null]:e,r=new Da(t,i,n);this.add(t,r)}}}class Ha extends Ua{parse([t,e]){return super.parse([t,"\\"+e])}}class Wa extends _a{constructor(t,e,s={}){super(t,null);const i=t=>"string"==typeof t?s[t]:t;for(const[t,s]of Object.entries(e)){let e,n;Array.isArray(s)?(e=i(s[0]),n=s.slice(1)):(e=i(s),n=[]);const r=new Pa(t,e,n);this.add(t,r)}}parserFor(t){const e=this.lookup(t);return e?e.func:null}parse([t,e]){const s=this.lookup(e),i=this.parserFor(e);return s&&i?Ba(i(t,s.token,...s.args)):null}}class qa extends Wa{parse([t,e]){const s=this.lookup(e),i=this.parserFor(e);if(!s||!i)return null;const n=t.currentCS;t.currentCS="\\"+e;const r=i(t,"\\"+s.token,...s.args);return t.currentCS=n,Ba(r)}}class Va extends Wa{constructor(t,e,s,i={}){super(t,s,i),this.parser=e}parse([t,e]){const s=this.lookup(e),i=this.parserFor(e);return s&&i?Ba(this.parser(t,s.token,i,s.args)):null}}const Ga=new Map,Xa={register(t){Ga.set(t.name,t)},getMap:t=>Ga.get(t)};class za{constructor(){this._configuration=new fi,this._fallback=new bi}add(t,e,s=fi.DEFAULTPRIORITY){for(const e of t.slice().reverse()){const t=Xa.getMap(e);if(!t)return void this.warn(`Configuration '${e}' not found! Omitted.`);this._configuration.add(t,s)}e&&this._fallback.add(e,s)}remove(t,e=null){for(const e of t){const t=this.retrieve(e);t&&this._configuration.remove(t)}e&&this._fallback.remove(e)}parse(t){for(const{item:e}of this._configuration){const s=e.parse(t);if(s===za.FALLBACK)break;if(s)return s}const[e,s]=t;Array.from(this._fallback)[0].item(e,s)}lookup(t){const e=this.applicable(t);return e?e.lookup(t):null}contains(t){const e=this.applicable(t);return!(!e||e instanceof Ua&&null===e.lookup(t).char)}toString(){const t=[];for(const{item:e}of this._configuration)t.push(e.name);return t.join(", ")}applicable(t){for(const{item:e}of this._configuration)if(e.contains(t))return e;return null}retrieve(t){for(const{item:e}of this._configuration)if(e.name===t)return e;return null}warn(t){console.log("TexParser Warning: "+t)}}za.FALLBACK=Symbol("fallback");class Ka{constructor(){this.map=new Map}add(t,e,s=fi.DEFAULTPRIORITY){for(const i of Object.keys(t)){const n=i;let r=this.get(n);r||(r=new za,this.set(n,r)),r.add(t[n],e[n],s)}}remove(t,e){for(const s of Object.keys(t)){const i=this.get(s);i&&i.remove(t[s],e[s])}}set(t,e){this.map.set(t,e)}get(t){return this.map.get(t)}retrieve(t){for(const e of this.map.values()){const s=e.retrieve(t);if(s)return s}return null}keys(){return this.map.keys()}}class $a{static makeProcessor(t,e){return Array.isArray(t)?t:[t,e]}static _create(t,e={}){var s;const i=null!==(s=e.priority)&&void 0!==s?s:fi.DEFAULTPRIORITY,n=e.init?this.makeProcessor(e.init,i):null,r=e.config?this.makeProcessor(e.config,i):null,o=(e.preprocessors||[]).map(t=>this.makeProcessor(t,i)),a=(e.postprocessors||[]).map(t=>this.makeProcessor(t,i)),l=e.parser||"tex";return new $a(t,e[ia.HANDLER]||{},e[ia.FALLBACK]||{},e[ia.ITEMS]||{},e[ia.TAGS]||{},e[ia.OPTIONS]||{},e[ia.NODES]||{},o,a,n,r,i,l)}static create(t,e={}){const s=$a._create(t,e);return Ya.set(t,s),s}static local(t={}){return $a._create("",t)}constructor(t,e={},s={},i={},n={},r={},o={},a=[],l=[],c=null,h=null,d,u){this.name=t,this.handler=e,this.fallback=s,this.items=i,this.tags=n,this.options=r,this.nodes=o,this.preprocessors=a,this.postprocessors=l,this.initMethod=c,this.configMethod=h,this.priority=d,this.parser=u,this.handler=Object.assign({[na.CHARACTER]:[],[na.DELIMITER]:[],[na.MACRO]:[],[na.ENVIRONMENT]:[]},e)}get init(){return this.initMethod?this.initMethod[0]:null}get config(){return this.configMethod?this.configMethod[0]:null}}const Ja=new Map,Ya={set(t,e){Ja.set(t,e)},get:t=>Ja.get(t),keys:()=>Ja.keys()};class Qa{constructor(t,e=["tex"]){this.initMethod=new bi,this.configMethod=new bi,this.configurations=new fi,this.parsers=[],this.handlers=new Ka,this.items={},this.tags={},this.options={},this.nodes={},this.parsers=e;for(const e of t.slice().reverse())this.addPackage(e);for(const{item:t,priority:e}of this.configurations)this.append(t,e)}init(){this.initMethod.execute(this)}config(t){this.configMethod.execute(this,t);for(const e of this.configurations)this.addFilters(t,e.item)}addPackage(t){const e="string"==typeof t?t:t[0],s=this.getPackage(e);s&&this.configurations.add(s,"string"==typeof t?s.priority:t[1])}add(t,e,s={}){const i=this.getPackage(t);this.append(i),this.configurations.add(i,i.priority),this.init();const n=e.parseOptions;n.nodeFactory.setCreators(i.nodes);for(const t of Object.keys(i.items))n.itemFactory.setNodeClass(t,i.items[t]);ka.addTags(i.tags),Bi(n.options,i.options),Fi(n.options,s),this.addFilters(e,i),i.config&&i.config(this,e)}getPackage(t){const e=Ya.get(t);if(e&&!this.parsers.includes(e.parser))throw Error(`Package '${t}' doesn't target the proper parser`);return e||this.warn(`Package '${t}' not found. Omitted.`),e}append(t,e){e=e||t.priority,t.initMethod&&this.initMethod.add(t.initMethod[0],t.initMethod[1]),t.configMethod&&this.configMethod.add(t.configMethod[0],t.configMethod[1]),this.handlers.add(t.handler,t.fallback,e),Object.assign(this.items,t.items),Object.assign(this.tags,t.tags),Bi(this.options,t.options),Object.assign(this.nodes,t.nodes)}addFilters(t,e){for(const[s,i]of e.preprocessors)t.preFilters.add(s,i);for(const[s,i]of e.postprocessors)t.postFilters.add(s,i)}warn(t){console.warn("MathJax Warning: "+t)}}class Za extends da{constructor(t,e){super(t),this.global=e}get kind(){return"start"}get isOpen(){return!0}checkItem(t){if(t.isKind("stop")){let t=this.toMml();return this.global.isInner||(t=this.factory.configuration.tags.finalize(t,this.env)),[[this.factory.create("mml",t)],!0]}return super.checkItem(t)}}class tl extends da{get kind(){return"stop"}get isClose(){return!0}}class el extends da{get kind(){return"open"}get isOpen(){return!0}checkItem(t){if(t.isKind("close")){const e=this.toMml(),s=this.create("node","TeXAtom",[e]);return t.addLatexItem(s),[[this.factory.create("mml",s)],!0]}return super.checkItem(t)}}el.errors=Object.assign(Object.create(da.errors),{stop:["ExtraOpenMissingClose","Extra open brace or missing close brace"]});class sl extends da{get kind(){return"close"}get isClose(){return!0}}class il extends da{get kind(){return"null"}}class nl extends da{get kind(){return"prime"}checkItem(t){const[e,s]=this.Peek(2),i=($o.isType(e,"msubsup")||$o.isType(e,"msup"))&&!$o.getChildAt(e,e.sup),n=($o.isType(e,"munderover")||$o.isType(e,"mover"))&&!$o.getChildAt(e,e.over)&&!$o.getProperty(e,"subsupOK");if(!i&&!n){return[[this.create("node",e.getProperty("movesupsub")?"mover":"msup",[e,s]),t],!0]}const r=i?e.sup:e.over;return $o.setChild(e,r,s),[[e,t],!0]}}class rl extends da{get kind(){return"subsup"}checkItem(t){if(t.isKind("open")||t.isKind("left"))return da.success;const e=this.First,s=this.getProperty("position");if(t.isKind("mml")){if(this.getProperty("primes"))if(2!==s)$o.setChild(e,2,this.getProperty("primes"));else{$o.setProperty(this.getProperty("primes"),"variantForm",!0);const e=this.create("node","mrow",[this.getProperty("primes"),t.First]);t.First=e}$o.setChild(e,s,t.First),null!=this.getProperty("movesupsub")&&$o.setProperty(e,"movesupsub",this.getProperty("movesupsub"));return[[this.factory.create("mml",e)],!0]}super.checkItem(t);const i=this.getErrors(["","sub","sup"][s]);throw new ca(i[0],i[1],...i.splice(2))}}rl.errors=Object.assign(Object.create(da.errors),{stop:["MissingScript","Missing superscript or subscript argument"],sup:["MissingOpenForSup","Missing open brace for superscript"],sub:["MissingOpenForSub","Missing open brace for subscript"]});class ol extends da{constructor(t){super(t),this.setProperty("name","\\over")}get kind(){return"over"}get isClose(){return!0}checkItem(t){if(t.isKind("over"))throw new ca("AmbiguousUseOf","Ambiguous use of %1",t.getName());if(t.isClose){let e=this.create("node","mfrac",[this.getProperty("num"),this.toMml(!1)]);return null!=this.getProperty("thickness")&&$o.setAttribute(e,"linethickness",this.getProperty("thickness")),(this.getProperty("ldelim")||this.getProperty("rdelim"))&&($o.setProperty(e,"withDelims",!0),e=Na.fixedFence(this.factory.configuration,this.getProperty("ldelim"),e,this.getProperty("rdelim"))),e.attributes.set(Jo.Attr.LATEXITEM,this.getProperty("name")),[[this.factory.create("mml",e),t],!0]}return super.checkItem(t)}toString(){return"over["+this.getProperty("num")+" / "+this.nodes.join("; ")+"]"}}class al extends da{constructor(t,e){super(t),this.setProperty("delim",e)}get kind(){return"left"}get isOpen(){return!0}checkItem(t){if(t.isKind("right")){const e=Na.fenced(this.factory.configuration,this.getProperty("delim"),this.toMml(),t.getProperty("delim"),"",t.getProperty("color")),s=e.childNodes[0],i=e.childNodes[e.childNodes.length-1],n=this.factory.create("mml",e);return this.addLatexItem(s,"\\left"),t.addLatexItem(i,"\\right"),n.Peek()[0].attributes.set(Jo.Attr.LATEXITEM,"\\left"+t.startStr.slice(this.startI,t.stopI)),[[n],!0]}if(t.isKind("middle")){const e={stretchy:!0};t.getProperty("color")&&(e.mathcolor=t.getProperty("color"));const s=this.create("token","mo",e,t.getProperty("delim"));return t.addLatexItem(s,"\\middle"),this.Push(this.create("node","TeXAtom",[],{texClass:fn.CLOSE}),s,this.create("node","TeXAtom",[],{texClass:fn.OPEN})),this.env={},[[this],!0]}return super.checkItem(t)}}al.errors=Object.assign(Object.create(da.errors),{stop:["ExtraLeftMissingRight","Extra \\left or missing \\right"]});class ll extends da{constructor(t,e,s){super(t),this.setProperty("delim",e),s&&this.setProperty("color",s)}get kind(){return"middle"}get isClose(){return!0}}class cl extends da{constructor(t,e,s){super(t),this.setProperty("delim",e),s&&this.setProperty("color",s)}get kind(){return"right"}get isClose(){return!0}}class hl extends da{get kind(){return"break"}constructor(t,e,s){super(t),this.setProperty("linebreak",e),this.setProperty("insert",s)}checkItem(t){var e,s;const i=this.getProperty("linebreak");if(t.isKind("mml")){const n=t.First;if(n.isKind("mo")){if("after"!==((null===(s=null===(e=$o.getOp(n))||void 0===e?void 0:e[3])||void 0===s?void 0:s.linebreakstyle)||$o.getAttribute(n,"linebreakstyle")))return $o.setAttribute(n,"linebreak",i),[[t],!0];if(!this.getProperty("insert"))return[[t],!0]}}const n=this.create("token","mspace",{linebreak:i});return[[this.factory.create("mml",n),t],!0]}}class dl extends da{get kind(){return"begin"}get isOpen(){return!0}checkItem(t){if(t.isKind("end")){if(t.getName()!==this.getName())throw new ca("EnvBadEnd","\\begin{%1} ended with \\end{%2}",this.getName(),t.getName());const e=this.toMml();return t.addLatexItem(e),[[this.factory.create("mml",e)],!0]}if(t.isKind("stop"))throw new ca("EnvMissingEnd","Missing \\end{%1}",this.getName());return super.checkItem(t)}}class ul extends da{get kind(){return"end"}get isClose(){return!0}}class pl extends da{get kind(){return"style"}checkItem(t){if(!t.isClose)return super.checkItem(t);const e=this.create("node","mstyle",this.nodes,this.getProperty("styles"));return[[this.factory.create("mml",e),t],!0]}}class ml extends da{get kind(){return"position"}checkItem(t){if(t.isClose)throw new ca("MissingBoxFor","Missing box for %1",this.getName());if(t.isFinal){let e=t.toMml();switch(this.getProperty("move")){case"vertical":return e=this.create("node","mpadded",[e],{height:this.getProperty("dh"),depth:this.getProperty("dd"),voffset:this.getProperty("dh")}),[[this.factory.create("mml",e)],!0];case"horizontal":return[[this.factory.create("mml",this.getProperty("left")),t,this.factory.create("mml",this.getProperty("right"))],!0]}}return super.checkItem(t)}}class gl extends da{get kind(){return"cell"}get isClose(){return!0}}class fl extends da{get isFinal(){return!0}get kind(){return"mml"}}class bl extends da{get kind(){return"fn"}checkItem(t){const e=this.First;if(e){if(t.isOpen)return da.success;if(!t.isKind("fn")){let s=t.First;if(!t.isKind("mml")||!s)return[[e,t],!0];if($o.isType(s,"mstyle")&&s.childNodes.length&&$o.isType(s.childNodes[0].childNodes[0],"mspace")||$o.isType(s,"mspace"))return[[e,t],!0];$o.isEmbellished(s)&&(s=$o.getCoreMO(s));const i=$o.getForm(s);if(null!=i&&[0,0,1,1,0,1,1,0,0,0][i[2]])return[[e,t],!0]}if(e.isKind("TeXAtom")&&e.isEmpty)return[[e,t],!0];return[[e,this.create("token","mo",{texClass:fn.NONE},Co.ApplyFunction),t],!0]}return super.checkItem(t)}}class El extends da{constructor(){super(...arguments),this.remap=Xa.getMap("not_remap")}get kind(){return"not"}checkItem(t){let e,s,i;if(t.isKind("open")||t.isKind("left"))return da.success;if(t.isKind("mml")&&($o.isType(t.First,"mo")||$o.isType(t.First,"mi")||$o.isType(t.First,"mtext"))&&(e=t.First,s=$o.getText(e),1===s.length&&!$o.getProperty(e,"movesupsub")&&1===$o.getChildren(e).length))return this.remap.contains(s)?(i=this.create("text",this.remap.lookup(s).char),$o.setChild(e,0,i)):(i=this.create("text","\u0338"),$o.appendChildren(e,[i])),[[t],!0];i=this.create("text","\u29f8");const n=this.create("node","mtext",[],{},i),r=this.create("node","mpadded",[n],{width:0});return e=this.create("node","TeXAtom",[r],{texClass:fn.REL}),[[e,t],!0]}}class yl extends da{get kind(){return"nonscript"}checkItem(t){if(t.isKind("mml")&&1===t.Size()){let e=t.First;if(e.isKind("mstyle")&&e.notParent&&(e=$o.getChildren($o.getChildren(e)[0])[0]),e.isKind("mspace")){if(e!==t.First){const e=this.create("node","mrow",[t.Pop()]);t.Push(e)}this.factory.configuration.addNode("nonscript",t.First)}}return[[t],!0]}}class xl extends da{get kind(){return"dots"}checkItem(t){if(t.isKind("open")||t.isKind("left"))return da.success;let e=this.getProperty("ldots");const s=t.First;if(t.isKind("mml")&&$o.isEmbellished(s)){const t=$o.getTexClass($o.getCoreMO(s));t!==fn.BIN&&t!==fn.REL||(e=this.getProperty("cdots"))}return[[e,t],!0]}}class Nl extends da{constructor(){super(...arguments),this.table=[],this.row=[],this.frame=[],this.hfill=[],this.arraydef={},this.cstart=[],this.cend=[],this.cextra=[],this.atEnd=!1,this.ralign=[],this.breakAlign={cell:"",row:"",table:""},this.templateSubs=0}get kind(){return"array"}get isOpen(){return!0}get copyEnv(){return!1}checkItem(t){if(t.isClose&&!t.isKind("over")){if(t.getProperty("isEntry"))return this.EndEntry(),this.clearEnv(),this.StartEntry(),da.fail;if(t.getProperty("isCR"))return this.EndEntry(),this.EndRow(),this.clearEnv(),this.StartEntry(),da.fail;this.EndTable(),this.clearEnv();const e=this.factory.create("mml",this.createMml());if(this.getProperty("requireClose")){if(t.isKind("close"))return[[e],!0];throw new ca("MissingCloseBrace","Missing close brace")}return[[e,t],!0]}return super.checkItem(t)}createMml(){const t=this.arraydef.scriptlevel;delete this.arraydef.scriptlevel;let e=this.create("node","mtable",this.table,this.arraydef);return t&&e.setProperty("smallmatrix",!0),this.breakAlign.table&&$o.setAttribute(e,"data-break-align",this.breakAlign.table),this.getProperty("arrayPadding")&&($o.setAttribute(e,"data-frame-styles",""),$o.setAttribute(e,"framespacing",this.getProperty("arrayPadding"))),e=this.handleFrame(e),void 0!==t&&(e=this.create("node","mstyle",[e],{scriptlevel:t})),(this.getProperty("open")||this.getProperty("close"))&&(e=Na.fenced(this.factory.configuration,this.getProperty("open"),e,this.getProperty("close"))),e}handleFrame(t){if(!this.frame.length)return t;const e=new Map(this.frame),s=this.frame.reduce((t,[,e])=>e===t?e:"",this.frame[0][1]);if(s){if(4===this.frame.length)return $o.setAttribute(t,"frame",s),$o.removeAttribute(t,"data-frame-styles"),t;if("solid"===s)return $o.setAttribute(t,"data-frame-styles",""),t=this.create("node","menclose",[t],{notation:Array.from(e.keys()).join(" "),"data-padding":0})}const i=Mo.map(t=>e.get(t)||"none").join(" ");return $o.setAttribute(t,"data-frame-styles",i),t}StartEntry(){const t=this.row.length;let e=this.cstart[t],s=this.cend[t];const i=this.ralign[t],n=this.cextra;if(!(e||s||i||n[t]||n[t+1]))return;let[r,o,a,l]=this.getEntry();if(!n[t]||this.atEnd&&!n[t+1]||(e+="&"),"&"!==a&&(l=!!o.trim()||!!(t||a&&"\\end"!==a.substring(0,4)),n[t+1]&&!n[t]&&(s=(s||"")+"&",this.atEnd=!0)),!l&&!r)return;const c=this.parser;if(l&&(e&&(o=Na.addArgs(c,e,o)),s&&(o=Na.addArgs(c,o,s)),i&&(o="\\text{"+o.trim()+"}"),(e||s||i)&&++this.templateSubs>c.configuration.options.maxTemplateSubtitutions))throw new ca("MaxTemplateSubs","Maximum template substitutions exceeded; is there an invalid use of \\\\ in the template?");r&&(o=Na.addArgs(c,r,o)),c.string=Na.addArgs(c,o,c.string),c.i=0}getEntry(){const t=this.parser,e=/^([^]*?)([&{}]|\\\\|\\(?:begin|end)\s*\{array\}|\\cr|\\)/;let s,i=0,n=0,r=t.i;const o=["","","",!1];for(;null!==(s=t.string.slice(r).match(e));)switch(r+=s[0].length,s[2]){case"\\":r++;break;case"{":i++;break;case"}":if(!i)return o;i--;break;case"\\begin{array}":i||n++;break;case"\\end{array}":if(!i&&n){n--;break}default:{if(i||n)continue;r-=s[2].length;let e=t.string.slice(t.i,r).trim();const o=e.match(/^(?:\s*\\(?:h(?:dash)?line|hfil{1,3}|rowcolor\s*\{.*?\}))+/);return o&&(e=e.slice(o[0].length)),t.string=t.string.slice(r),t.i=0,[(null==o?void 0:o[0])||"",e,s[2],!0]}}return o}EndEntry(){const t=this.create("node","mtd",this.nodes);this.hfill.length&&(0===this.hfill[0]&&$o.setAttribute(t,"columnalign","right"),this.hfill[this.hfill.length-1]===this.Size()&&$o.setAttribute(t,"columnalign",$o.getAttribute(t,"columnalign")?"center":"left"));const e=this.ralign[this.row.length];if(e){const[s,i,n]=e,r=this.create("node","mpadded",t.childNodes[0].childNodes,{width:i,"data-overflow":"auto","data-align":n,"data-vertical-align":s});r.setProperty("vbox",s),t.childNodes[0].childNodes=[],t.appendChild(r)}else this.breakAlign.cell&&$o.setAttribute(t,"data-vertical-align",this.breakAlign.cell);this.breakAlign.cell="",this.row.push(t),this.Clear(),this.hfill=[]}EndRow(){let t="mtr";this.getProperty("isNumbered")&&3===this.row.length?(this.row.unshift(this.row.pop()),t="mlabeledtr"):this.getProperty("isLabeled")&&(t="mlabeledtr",this.setProperty("isLabeled",!1));const e=this.create("node",t,this.row);this.breakAlign.row&&($o.setAttribute(e,"data-break-align",this.breakAlign.row),this.breakAlign.row=""),this.addLatexItem(e),this.table.push(e),this.row=[],this.atEnd=!1}EndTable(){(this.Size()||this.row.length)&&(this.EndEntry(),this.EndRow()),this.checkLines()}checkLines(){if(this.arraydef.rowlines){const t=this.arraydef.rowlines.split(/ /);t.length===this.table.length?(this.frame.push(["bottom",t.pop()]),t.length?this.arraydef.rowlines=t.join(" "):delete this.arraydef.rowlines):t.length<this.table.length-1&&(this.arraydef.rowlines+=" none")}if(this.getProperty("rowspacing")){const t=this.arraydef.rowspacing.split(/ /);for(;t.length<this.table.length;)t.push(this.getProperty("rowspacing")+"em");this.arraydef.rowspacing=t.join(" ")}}addRowSpacing(t){if(this.arraydef.rowspacing){const e=this.arraydef.rowspacing.split(/ /);if(!this.getProperty("rowspacing")){const t=oa.dimen2em(e[0]);this.setProperty("rowspacing",t)}const s=this.getProperty("rowspacing");for(;e.length<this.table.length;)e.push(oa.em(s));e[this.table.length-1]=oa.em(Math.max(0,s+oa.dimen2em(t))),this.arraydef.rowspacing=e.join(" ")}}}class vl extends Nl{constructor(t,...e){super(t),this.maxrow=0,this.factory.configuration.tags.start(e[0],e[2],e[1])}get kind(){return"eqnarray"}EndEntry(){const t=this.arraydef.columnalign.split(/ /);"right"!==(this.row.length&&t.length?t[this.row.length%t.length]:"right")&&Na.fixInitialMO(this.factory.configuration,this.nodes),super.EndEntry()}EndRow(){this.row.length>this.maxrow&&(this.maxrow=this.row.length);const t=this.factory.configuration.tags.getTag();t&&(this.row=[t].concat(this.row),this.setProperty("isLabeled",!0)),this.factory.configuration.tags.clearTag(),super.EndRow()}EndTable(){super.EndTable(),this.factory.configuration.tags.end(),this.extendArray("columnalign",this.maxrow),this.extendArray("columnwidth",this.maxrow),this.extendArray("columnspacing",this.maxrow-1),this.extendArray("data-break-align",this.maxrow),this.addIndentshift()}extendArray(t,e){if(!this.arraydef[t])return;const s=this.arraydef[t].split(/ /),i=[...s];if(i.length>1){for(;i.length<e;)i.push(...s);this.arraydef[t]=i.slice(0,e).join(" ")}}addIndentshift(){const t=this.arraydef.columnalign.split(/ /);let e="";for(const s of t.keys()){if("left"===t[s]&&s>0){const t="center"===e?".7em":"2em";for(const e of this.table){const i=e.childNodes[e.isKind("mlabeledtr")?s+1:s];if(i){const e=this.create("node","mstyle",i.childNodes[0].childNodes,{indentshift:t});i.childNodes[0].childNodes=[],i.appendChild(e)}}}e=t[s]}}}class Tl extends dl{get kind(){return"mstyle"}constructor(t,e,s){super(t),this.attrList=e,this.setProperty("name",s)}checkItem(t){if(t.isKind("end")&&t.getName()===this.getName()){return[[this.create("node","mstyle",[this.toMml()],this.attrList)],!0]}return super.checkItem(t)}}class Cl extends da{constructor(t,...e){super(t),this.factory.configuration.tags.start("equation",!0,e[0])}get kind(){return"equation"}get isOpen(){return!0}checkItem(t){if(t.isKind("end")){const e=this.toMml(),s=this.factory.configuration.tags.getTag();return this.factory.configuration.tags.end(),[[s?this.factory.configuration.tags.enTag(e,s):e,t],!0]}if(t.isKind("stop"))throw new ca("EnvMissingEnd","Missing \\end{%1}",this.getName());return super.checkItem(t)}}const Al=1.2/.85,Ll={fontfamily:1,fontsize:1,fontweight:1,fontstyle:1,color:1,background:1,id:1,class:1,href:1,style:1};function Sl(t,e=1/0){const s=t.replace(/\s+/g,"").split("").map(t=>{const e={t:"top",b:"bottom",m:"middle",c:"center"}[t];if(!e)throw new ca("BadBreakAlign","Invalid alignment character: %1",t);return e});if(s.length>e)throw new ca("TooManyAligns","Too many alignment characters: %1",t);return 1===e?s[0]:s.join(" ")}function Rl(t,e){const s=t.stack.env,i=s.inRoot;s.inRoot=!0;const n=new ua(e,s,t.configuration);let r=n.mml();const o=n.stack.global;if(o.leftRoot||o.upRoot){const e={};o.leftRoot&&(e.width=o.leftRoot),o.upRoot&&(e.voffset=o.upRoot,e.height=o.upRoot),r=t.create("node","mpadded",[r],e)}return s.inRoot=i,r}const Il={Open(t,e){t.Push(t.itemFactory.create("open"))},Close(t,e){t.Push(t.itemFactory.create("close"))},Bar(t,e){const s=t.create("token","mo",{stretchy:!1,texClass:fn.ORD},e);s.setProperty("keep-attrs","stretchy"),t.Push(s)},Tilde(t,e){t.Push(t.create("token","mtext",{},Co.nbsp))},Space(t,e){},Superscript(t,e){let s,i;t.GetNext().match(/\d/)&&(t.string=t.string.substring(0,t.i+1)+" "+t.string.substring(t.i+1));const n=t.stack.Top();n.isKind("prime")?([i,s]=n.Peek(2),t.stack.Pop()):(i=t.stack.Prev(),i||(i=t.create("token","mi",{},"")));const r=$o.getProperty(i,"movesupsub");let o=$o.isType(i,"msubsup")?i.sup:i.over;if($o.isType(i,"msubsup")&&!$o.isType(i,"msup")&&$o.getChildAt(i,i.sup)||$o.isType(i,"munderover")&&!$o.isType(i,"mover")&&$o.getChildAt(i,i.over)&&!$o.getProperty(i,"subsupOK"))throw new ca("DoubleExponent","Double exponent: use braces to clarify");$o.isType(i,"msubsup")&&!$o.isType(i,"msup")||(r?((!$o.isType(i,"munderover")||$o.isType(i,"mover")||$o.getChildAt(i,i.over))&&(i=t.create("node","munderover",[i],{movesupsub:!0})),o=i.over):(i=t.create("node","msubsup",[i]),o=i.sup)),t.Push(t.itemFactory.create("subsup",i).setProperties({position:o,primes:s,movesupsub:r}))},Subscript(t,e){let s,i;t.GetNext().match(/\d/)&&(t.string=t.string.substring(0,t.i+1)+" "+t.string.substring(t.i+1));const n=t.stack.Top();n.isKind("prime")?([i,s]=n.Peek(2),t.stack.Pop()):(i=t.stack.Prev(),i||(i=t.create("token","mi",{},"")));const r=$o.getProperty(i,"movesupsub");let o=$o.isType(i,"msubsup")?i.sub:i.under;if($o.isType(i,"msubsup")&&!$o.isType(i,"msup")&&$o.getChildAt(i,i.sub)||$o.isType(i,"munderover")&&!$o.isType(i,"mover")&&$o.getChildAt(i,i.under)&&!$o.getProperty(i,"subsupOK"))throw new ca("DoubleSubscripts","Double subscripts: use braces to clarify");$o.isType(i,"msubsup")&&!$o.isType(i,"msup")||(r?((!$o.isType(i,"munderover")||$o.isType(i,"mover")||$o.getChildAt(i,i.under))&&(i=t.create("node","munderover",[i],{movesupsub:!0})),o=i.under):(i=t.create("node","msubsup",[i]),o=i.sub)),t.Push(t.itemFactory.create("subsup",i).setProperties({position:o,primes:s,movesupsub:r}))},Prime(t,e){let s=t.stack.Prev();if(s||(s=t.create("token","mi")),$o.isType(s,"msubsup")&&!$o.isType(s,"msup")&&$o.getChildAt(s,s.sup)||$o.isType(s,"munderover")&&!$o.isType(s,"mover")&&$o.getChildAt(s,s.over)&&!$o.getProperty(s,"subsupOK"))throw new ca("DoubleExponentPrime","Prime causes double exponent: use braces to clarify");let i="";t.i--;do{i+=Co.prime,t.i++,e=t.GetNext()}while("'"===e||e===Co.rsquo);i=["","\u2032","\u2033","\u2034","\u2057"][i.length]||i;const n=t.create("token","mo",{variantForm:!0},i);t.Push(t.itemFactory.create("prime",s,n))},Comment(t,e){for(;t.i<t.string.length&&"\n"!==t.string.charAt(t.i);)t.i++},Hash(t,e){throw new ca("CantUseHash1","You can't use 'macro parameter character #' in math mode")},MathFont(t,e,s,i=""){const n=t.GetArgument(e),r=new ua(n,Object.assign(Object.assign({multiLetterIdentifiers:t.options.identifierPattern},t.stack.env),{font:s,italicFont:i,noAutoOP:!0}),t.configuration).mml();t.Push(t.create("node","TeXAtom",[r]))},SetFont(t,e,s){t.stack.env.font=s,t.Push(t.itemFactory.create("null"))},SetStyle(t,e,s,i,n){t.stack.env.style=s,t.stack.env.level=n,t.Push(t.itemFactory.create("style").setProperty("styles",{displaystyle:i,scriptlevel:n}))},SetSize(t,e,s){t.stack.env.size=s,t.Push(t.itemFactory.create("style").setProperty("styles",{mathsize:xo(s)}))},Spacer(t,e,s){const i=t.create("node","mspace",[],{width:xo(s)}),n=t.create("node","mstyle",[i],{scriptlevel:0});t.Push(n)},DiscretionaryTimes(t,e){t.Push(t.create("token","mo",{linebreakmultchar:"\xd7"},"\u2062"))},AllowBreak(t,e){t.Push(t.create("token","mspace"))},Break(t,e){t.Push(t.create("token","mspace",{linebreak:Jo.LineBreak.NEWLINE}))},Linebreak(t,e,s){let i=!0;const n=t.stack.Prev(!0);if(n&&n.isKind("mo")){$o.getMoAttribute(n,"linebreakstyle")!==Jo.LineBreakStyle.BEFORE&&(n.attributes.set("linebreak",s),i=!1)}t.Push(t.itemFactory.create("break",s,i))},LeftRight(t,e){const s=e.substring(1);t.Push(t.itemFactory.create(s,t.GetDelimiter(e),t.stack.env.color))},NamedFn(t,e,s){s||(s=e.substring(1));const i=t.create("token","mi",{texClass:fn.OP},s);t.Push(t.itemFactory.create("fn",i))},NamedOp(t,e,s){s||(s=e.substring(1)),s=s.replace(/ /,"\u2006");const i=t.create("token","mo",{movablelimits:!0,movesupsub:!0,form:Jo.Form.PREFIX,texClass:fn.OP},s);t.Push(i)},Limits(t,e,s){let i=t.stack.Prev(!0);if(!i||$o.getTexClass($o.getCoreMO(i))!==fn.OP&&null==$o.getProperty(i,"movesupsub"))throw new ca("MisplacedLimits","%1 is allowed only on operators",t.currentCS);const n=t.stack.Top();let r;$o.isType(i,"munderover")&&!s?(r=t.create("node","msubsup"),$o.copyChildren(i,r),i=n.Last=r):$o.isType(i,"msubsup")&&s&&(r=t.create("node","munderover"),$o.copyChildren(i,r),i=n.Last=r),$o.setProperty(i,"movesupsub",!!s),$o.setProperties($o.getCoreMO(i),{movablelimits:!1}),(($o.isType(i,"mo")?$o.getMoAttribute(i,"movableLimits"):$o.getAttribute(i,"movablelimits"))||$o.getProperty(i,"movablelimits"))&&$o.setProperties(i,{movablelimits:!1})},Over(t,e,s,i){const n=t.itemFactory.create("over").setProperty("name",t.currentCS);s||i?(n.setProperty("ldelim",s),n.setProperty("rdelim",i)):e.match(/withdelims$/)&&(n.setProperty("ldelim",t.GetDelimiter(e)),n.setProperty("rdelim",t.GetDelimiter(e))),e.match(/^\\above/)?n.setProperty("thickness",t.GetDimen(e)):(e.match(/^\\atop/)||s||i)&&n.setProperty("thickness",0),t.Push(n)},Frac(t,e){const s=t.ParseArg(e),i=t.ParseArg(e),n=t.create("node","mfrac",[s,i]);t.Push(n)},Sqrt(t,e){const s=t.GetBrackets(e);let i=t.GetArgument(e);"\\frac"===i&&(i+="{"+t.GetArgument(i)+"}{"+t.GetArgument(i)+"}");let n=new ua(i,t.stack.env,t.configuration).mml();n=s?t.create("node","mroot",[n,Rl(t,s)]):t.create("node","msqrt",[n]),t.Push(n)},Root(t,e){const s=t.GetUpTo(e,"\\of"),i=t.ParseArg(e),n=t.create("node","mroot",[i,Rl(t,s)]);t.Push(n)},MoveRoot(t,e,s){if(!t.stack.env.inRoot)throw new ca("MisplacedMoveRoot","%1 can appear only within a root",t.currentCS);if(t.stack.global[s])throw new ca("MultipleMoveRoot","Multiple use of %1",t.currentCS);let i=t.GetArgument(e);if(!i.match(/-?[0-9]+/))throw new ca("IntegerArg","The argument to %1 must be an integer",t.currentCS);i=parseInt(i,10)/15+"em","-"!==i.substring(0,1)&&(i="+"+i),t.stack.global[s]=i},Accent(t,e,s,i){const n=t.ParseArg(e),r=Object.assign(Object.assign({},Na.getFontDef(t)),{accent:!0,mathaccent:void 0===i||i}),o=$o.createEntity(s),a=t.create("token","mo",r,o);$o.setAttribute(a,"stretchy",!!i);const l=$o.isEmbellished(n)?$o.getCoreMO(n):n;($o.isType(l,"mo")||$o.getProperty(l,"movablelimits"))&&$o.setProperties(l,{movablelimits:!1});const c=t.create("node","munderover");$o.setChild(c,0,n),$o.setChild(c,1,null),$o.setChild(c,2,a);const h=t.create("node","TeXAtom",[c]);t.Push(h)},UnderOver(t,e,s,i){const n=$o.createEntity(s),r=t.create("token","mo",{stretchy:!0,accent:!0},n);n.match(Xn.mathaccentsWithWidth)&&r.setProperty("mathaccent",!1);const o="o"===e.charAt(1)?"over":"under",a=t.ParseArg(e);t.Push(Na.underOver(t,a,r,o,i))},Overset(t,e){const s=t.ParseArg(e),i=t.ParseArg(e),n=s.coreMO(),r=n.isKind("mo")&&!0===$o.getMoAttribute(n,"accent");Na.checkMovableLimits(i);const o=t.create("node","mover",[i,s],{accent:r});t.Push(o)},Underset(t,e){const s=t.ParseArg(e),i=t.ParseArg(e),n=s.coreMO(),r=n.isKind("mo")&&!0===$o.getMoAttribute(n,"accent");Na.checkMovableLimits(i);const o=t.create("node","munder",[i,s],{accentunder:r});t.Push(o)},Overunderset(t,e){const s=t.ParseArg(e),i=t.ParseArg(e),n=t.ParseArg(e),r=s.coreMO(),o=i.coreMO(),a=r.isKind("mo")&&!0===$o.getMoAttribute(r,"accent"),l=o.isKind("mo")&&!0===$o.getMoAttribute(o,"accent");Na.checkMovableLimits(n);const c=t.create("node","munderover",[n,i,s],{accent:a,accentunder:l});t.Push(c)},TeXAtom(t,e,s){const i={texClass:s};let n,r;if(s===fn.OP){i.movesupsub=i.movablelimits=!0;const s=t.GetArgument(e),o=s.match(/^\s*\\rm\s+([a-zA-Z0-9 ]+)$/);if(o)i.mathvariant=Jo.Variant.NORMAL,r=t.create("token","mi",i,o[1]);else{const e=new ua(s,t.stack.env,t.configuration).mml();r=t.create("node","TeXAtom",[e],i)}n=t.itemFactory.create("fn",r)}else n=t.create("node","TeXAtom",[t.ParseArg(e)],i);t.Push(n)},VBox(t,e,s){const i=new ua(t.GetArgument(e),t.stack.env,t.configuration),n={"data-vertical-align":s,texClass:fn.ORD};i.stack.env.hsize&&(n.width=i.stack.env.hsize,n["data-overflow"]="linebreak");const r=t.create("node","mpadded",[i.mml()],n);r.setProperty("vbox",s),t.Push(r)},Hsize(t,e){"="===t.GetNext()&&t.i++,t.stack.env.hsize=t.GetDimen(e),t.Push(t.itemFactory.create("null"))},ParBox(t,e){const s=t.GetBrackets(e,"c"),i=t.GetDimen(e),n=Na.internalMath(t,t.GetArgument(e)),r=Sl(s,1),o=t.create("node","mpadded",n,{width:i,"data-overflow":"linebreak","data-vertical-align":r});o.setProperty("vbox",r),t.Push(o)},BreakAlign(t,e){const s=t.stack.Top();if(!(s instanceof Nl))throw new ca("BreakNotInArray","%1 must be used in an alignment environment",t.currentCS);switch(t.GetArgument(e).trim()){case"c":if(s.First)throw new ca("BreakFirstInEntry","%1 must be at the beginning of an alignment entry",t.currentCS+"{c}");s.breakAlign.cell=Sl(t.GetArgument(e),1);break;case"r":if(s.row.length||s.First)throw new ca("BreakFirstInRow","%1 must be at the beginning of an alignment row",t.currentCS+"{r}");s.breakAlign.row=Sl(t.GetArgument(e));break;case"t":if(s.table.length||s.row.length||s.First)throw new ca("BreakFirstInTable","%1 must be at the beginning of an alignment",t.currentCS+"{t}");s.breakAlign.table=Sl(t.GetArgument(e));break;default:throw new ca("BreakType","First argument to %1 must be one of c, r, or t",t.currentCS)}},MmlToken(t,e){const s=t.GetArgument(e);let i=t.GetBrackets(e,"").replace(/^\s+/,"");const n=t.GetArgument(e),r={},o=[];let a;try{a=t.create("node",s)}catch(t){a=null}if(!a||!a.isToken)throw new ca("NotMathMLToken","%1 is not a token element",s);for(;""!==i;){const e=i.match(/^([a-z]+)\s*=\s*('[^'\n]*'|"[^"\n]*"|[^ ,\n]*)[\s\n]*,?[\s\n]*/i);if(!e)throw new ca("InvalidMathMLAttr","Invalid MathML attribute: %1",i.split(/[\s\n=]/)[0]);if(!a.attributes.hasDefault(e[1])&&!Ll[e[1]])throw new ca("UnknownAttrForElement","%1 is not a recognized attribute for %2",e[1],s);let n=Na.mmlFilterAttribute(t,e[1],e[2].replace(/^(['"])(.*)\1$/,"$2"));n&&("true"===n.toLowerCase()?n=!0:"false"===n.toLowerCase()&&(n=!1),r[e[1]]=n,o.push(e[1])),i=i.substring(e[0].length)}o.length&&a.setProperty("keep-attrs",o.join(" "));const l=t.create("text",Vn(n));a.appendChild(l),$o.setProperties(a,r),t.Push(a)},Strut(t,e){const s=t.create("node","mrow"),i=t.create("node","mpadded",[s],{height:"8.6pt",depth:"3pt",width:0});t.Push(i)},Phantom(t,e,s,i){let n=t.create("node","mphantom",[t.ParseArg(e)]);(s||i)&&(n=t.create("node","mpadded",[n]),i&&($o.setAttribute(n,"height",0),$o.setAttribute(n,"depth",0)),s&&$o.setAttribute(n,"width",0));const r=t.create("node","TeXAtom",[n]);t.Push(r)},Smash(t,e){const s=oa.trimSpaces(t.GetBrackets(e,"")),i=t.create("node","mpadded",[t.ParseArg(e)]);switch(s){case"b":$o.setAttribute(i,"depth",0);break;case"t":$o.setAttribute(i,"height",0);break;default:$o.setAttribute(i,"height",0),$o.setAttribute(i,"depth",0)}const n=t.create("node","TeXAtom",[i]);t.Push(n)},Lap(t,e){const s=t.create("node","mpadded",[t.ParseArg(e)],{width:0});"\\llap"===e&&$o.setAttribute(s,"lspace","-1width");const i=t.create("node","TeXAtom",[s]);t.Push(i)},RaiseLower(t,e){let s=t.GetDimen(e);const i=t.itemFactory.create("position").setProperties({name:t.currentCS,move:"vertical"});"-"===s.charAt(0)&&(s=s.slice(1),e="raise"===e.substring(1)?"\\lower":"\\raise"),"\\lower"===e?(i.setProperty("dh","-"+s),i.setProperty("dd","+"+s)):(i.setProperty("dh","+"+s),i.setProperty("dd","-"+s)),t.Push(i)},MoveLeftRight(t,e){let s=t.GetDimen(e),i="-"===s.charAt(0)?s.slice(1):"-"+s;if("\\moveleft"===e){const t=s;s=i,i=t}t.Push(t.itemFactory.create("position").setProperties({name:t.currentCS,move:"horizontal",left:t.create("node","mspace",[],{width:s}),right:t.create("node","mspace",[],{width:i})}))},Hskip(t,e,s=!1){const i=t.create("node","mspace",[],{width:t.GetDimen(e)});s&&$o.setAttribute(i,"linebreak","nobreak"),t.Push(i)},Nonscript(t,e){t.Push(t.itemFactory.create("nonscript"))},Rule(t,e,s){const i={width:t.GetDimen(e),height:t.GetDimen(e),depth:t.GetDimen(e)};"blank"!==s&&(i.mathbackground=t.stack.env.color||"black");const n=t.create("node","mspace",[],i);t.Push(n)},rule(t,e){const s=t.GetBrackets(e),i=t.GetDimen(e),n=t.GetDimen(e);let r=t.create("node","mspace",[],{width:i,height:n,mathbackground:t.stack.env.color||"black"});s&&(r=t.create("node","mpadded",[r],{voffset:s}),s.match(/^-/)?($o.setAttribute(r,"height",s),$o.setAttribute(r,"depth","+"+s.substring(1))):$o.setAttribute(r,"height","+"+s)),t.Push(r)},MakeBig(t,e,s,i){const n=String(i*=Al).replace(/(\.\d\d\d).+/,"$1")+"em",r=t.GetDelimiter(e,!0),o=t.create("token","mo",{minsize:n,maxsize:n,fence:!0,stretchy:!0,symmetric:!0},r),a=t.create("node","TeXAtom",[o],{texClass:s});t.Push(a)},BuildRel(t,e){const s=t.ParseUpTo(e,"\\over"),i=t.ParseArg(e),n=t.create("node","munderover");$o.setChild(n,0,i),$o.setChild(n,1,null),$o.setChild(n,2,s);const r=t.create("node","TeXAtom",[n],{texClass:fn.REL});t.Push(r)},HBox(t,e,s,i){t.PushAll(Na.internalMath(t,t.GetArgument(e),s,i))},FBox(t,e){const s=Na.internalMath(t,t.GetArgument(e)),i=t.create("node","menclose",s,{notation:"box"});t.Push(i)},FrameBox(t,e){const s=t.GetBrackets(e),i=t.GetBrackets(e)||"c";let n=Na.internalMath(t,t.GetArgument(e));s&&(n=[t.create("node","mpadded",n,{width:s,"data-align":Hi(i,{l:"left",r:"right"},"center")})]);const r=t.create("node","TeXAtom",[t.create("node","menclose",n,{notation:"box"})],{texClass:fn.ORD});t.Push(r)},MakeBox(t,e){const s=t.GetBrackets(e),i=t.GetBrackets(e,"c"),n=t.create("node","mpadded",Na.internalMath(t,t.GetArgument(e)));s&&$o.setAttribute(n,"width",s);const r=Hi(i.toLowerCase(),{c:"center",r:"right"},"");r&&$o.setAttribute(n,"data-align",r),i.toLowerCase()!==i&&$o.setAttribute(n,"data-overflow","linebreak"),t.Push(n)},Not(t,e){t.Push(t.itemFactory.create("not"))},Dots(t,e){const s=$o.createEntity("2026"),i=$o.createEntity("22EF"),n=t.create("token","mo",{stretchy:!1},s),r=t.create("token","mo",{stretchy:!1},i);t.Push(t.itemFactory.create("dots").setProperties({ldots:n,cdots:r}))},Matrix(t,e,s,i,n,r,o,a,l,c){const h=t.GetNext();if(""===h)throw new ca("MissingArgFor","Missing argument for %1",t.currentCS);"{"===h?t.i++:(t.string=h+"}"+t.string.slice(t.i+1),t.i=0);const d=t.itemFactory.create("array").setProperty("requireClose",!0);!s&&n||d.setProperty("arrayPadding",".2em .125em"),d.arraydef={rowspacing:o||"4pt",columnspacing:r||"1em"},l&&d.setProperty("isCases",!0),c&&(d.setProperty("isNumbered",!0),d.arraydef.side=c),(s||i)&&(d.setProperty("open",s),d.setProperty("close",i)),"D"===a&&(d.arraydef.displaystyle=!0),null!=n&&(d.arraydef.columnalign=n),t.Push(d)},Entry(t,e){t.Push(t.itemFactory.create("cell").setProperties({isEntry:!0,name:e}));const s=t.stack.Top(),i=s.getProperty("casesEnv");if(!s.getProperty("isCases")&&!i)return;const n=t.string;let r=0,o=-1,a=t.i,l=n.length;const c=i?new RegExp(`^\\\\end\\s*\\{${i.replace(/\*/,"\\*")}\\}`):null;for(;a<l;){const e=n.charAt(a);if("{"===e)r++,a++;else if("}"===e)0===r?l=0:(r--,0===r&&o<0&&(o=a-t.i),a++);else{if("&"===e&&0===r)throw new ca("ExtraAlignTab","Extra alignment tab in \\cases text");if("\\"===e){const t=n.substring(a);t.match(/^((\\cr)[^a-zA-Z]|\\\\)/)||c&&t.match(c)?l=0:a+=2}else a++}}const h=n.substring(t.i,a);if(!h.match(/^\s*\\text[^a-zA-Z]/)||o!==h.replace(/\s+$/,"").length-1){const e=Na.internalMath(t,oa.trimSpaces(h),0);t.PushAll(e),t.i=a}},Cr(t,e){t.Push(t.itemFactory.create("cell").setProperties({isCR:!0,name:e}))},CrLaTeX(t,e,s=!1){let i;if(!s&&("*"===t.string.charAt(t.i)&&t.i++,"["===t.string.charAt(t.i))){const s=t.GetBrackets(e,""),[n,r]=oa.matchDimen(s);if(s&&!n)throw new ca("BracketMustBeDimension","Bracket argument to %1 must be a dimension",t.currentCS);i=n+r}t.Push(t.itemFactory.create("cell").setProperties({isCR:!0,name:e,linebreak:!0}));const n=t.stack.Top();let r;n instanceof Nl?i&&n.addRowSpacing(i):(r=t.create("node","mspace",[],{linebreak:Jo.LineBreak.NEWLINE}),i&&$o.setAttribute(r,"data-lineleading",i),t.Push(r))},HLine(t,e,s){null==s&&(s="solid");const i=t.stack.Top();if(!(i instanceof Nl)||i.Size())throw new ca("Misplaced","Misplaced %1",t.currentCS);if(i.table.length){const t=i.arraydef.rowlines?i.arraydef.rowlines.split(/ /):[];for(;t.length<i.table.length;)t.push("none");t[i.table.length-1]=s,i.arraydef.rowlines=t.join(" ")}else i.frame.push(["top",s])},HFill(t,e){const s=t.stack.Top();if(!(s instanceof Nl))throw new ca("UnsupportedHFill","Unsupported use of %1",t.currentCS);s.hfill.push(s.Size())},NewColumnType(t,e){const s=t.GetArgument(e),i=t.GetBrackets(e,"0"),n=t.GetArgument(e);if(1!==s.length)throw new ca("BadColumnName","Column specifier must be exactly one character: %1",s);if(!i.match(/^\d+$/))throw new ca("PositiveIntegerArg","Argument to %1 must be a positive integer",i);const r=t.configuration.columnParser;r.columnHandler[s]=t=>r.macroColumn(t,n,parseInt(i)),t.Push(t.itemFactory.create("null"))},BeginEnd(t,e){const s=t.GetArgument(e);if(s.match(/\\/))throw new ca("InvalidEnv","Invalid environment name '%1'",s);const i=t.configuration.handlers.get(na.ENVIRONMENT).lookup(s);if(i&&"\\end"===e){if(!i.args[0]){const e=t.itemFactory.create("end").setProperty("name",s);return void t.Push(e)}t.stack.env.closing=s}Na.checkMaxMacros(t,!1),t.parse(na.ENVIRONMENT,[t,s])},Array(t,e,s,i,n,r,o,a,l){n||(n=t.GetArgument("\\begin{"+e.getName()+"}"));const c=t.itemFactory.create("array");return"array"===e.getName()&&c.setProperty("arrayPadding",".5em .125em"),c.parser=t,c.arraydef={columnspacing:r||"1em",rowspacing:o||"4pt"},t.configuration.columnParser.process(t,n,c),s&&c.setProperty("open",t.convertDelimiter(s)),i&&c.setProperty("close",t.convertDelimiter(i)),"'"===(a||"").charAt(1)&&(c.arraydef["data-cramped"]=!0,a=a.charAt(0)),"D"===a?c.arraydef.displaystyle=!0:a&&(c.arraydef.displaystyle=!1),c.arraydef.scriptlevel="S"===a?1:0,l&&(c.arraydef.useHeight=!1),t.Push(e),c.StartEntry(),c},AlignedArray(t,e,s=""){const i=t.GetBrackets("\\begin{"+e.getName()+"}"),n=Il.Array(t,e,null,null,null,null,null,s);return Na.setArrayAlign(n,i)},IndentAlign(t,e){const s=`\\begin{${e.getName()}}`,i=t.GetBrackets(s,""),n=t.GetBrackets(s,""),r=t.GetBrackets(s,"");if(i&&!oa.matchDimen(i)[0]||n&&!oa.matchDimen(n)[0]||r&&!oa.matchDimen(r)[0])throw new ca("BracketMustBeDimension","Bracket argument to %1 must be a dimension",s);const o=t.GetArgument(s);if(o&&!o.match(/^([lcr]{1,3})?$/))throw new ca("BadAlignment","Alignment must be one to three copies of l, c, or r");const a=[...o].map(t=>({l:"left",c:"center",r:"right"}[t]));1===a.length&&a.push(a[0]);const l={};for(const[t,e]of[["indentshiftfirst",i],["indentshift",n||i],["indentshiftlast",r],["indentalignfirst",a[0]],["indentalign",a[1]],["indentalignlast",a[2]]])e&&(l[t]=e);t.Push(t.itemFactory.create("mstyle",l,e.getName()))},Equation:(t,e,s,i=!0)=>(t.configuration.mathItem.display=i,t.stack.env.display=i,Na.checkEqnEnv(t),t.Push(e),t.itemFactory.create("equation",s).setProperty("name",e.getName())),EqnArray(t,e,s,i,n,r,o){const a=e.getName(),l="gather"===a||"gather*"===a;i&&Na.checkEqnEnv(t,!l),t.Push(e),n=(n=n.replace(/[^clr]/g,"").split("").join(" ")).replace(/l/g,"left").replace(/r/g,"right").replace(/c/g,"center"),r=Sl(r);const c=t.itemFactory.create("eqnarray",a,s,i,t.stack.global);return c.arraydef={displaystyle:!0,columnalign:n,columnspacing:o||"1em",rowspacing:"3pt","data-break-align":r,side:t.options.tagSide,minlabelspacing:t.options.tagIndent},l&&c.setProperty("nestable",!0),c},HandleNoTag(t,e){t.tags.notag()},HandleLabel(t,e){const s=t.GetArgument(e);if(""!==s&&!t.tags.refUpdate){if(t.tags.label)throw new ca("MultipleCommand","Multiple %1",t.currentCS);if(t.tags.label=s,(t.tags.allLabels[s]||t.tags.labels[s])&&!t.options.ignoreDuplicateLabels)throw new ca("MultipleLabel","Label '%1' multiply defined",s);t.tags.labels[s]=new La}},HandleRef(t,e,s){const i=t.GetArgument(e);let n=t.tags.allLabels[i]||t.tags.labels[i];n||(t.tags.refUpdate||(t.tags.redo=!0),n=new La);let r=n.tag;s&&(r=t.tags.formatRef(r));const o=t.create("node","mrow",Na.internalMath(t,Array.isArray(r)?r.join(""):r),{href:t.tags.formatUrl(n.id,t.options.baseURL),class:"MathJax_ref"});t.Push(o)},Macro(t,e,s,i,n){if(i){const r=[];if(null!=n){const s=t.GetBrackets(e);r.push(null==s?n:s)}for(let s=r.length;s<i;s++)r.push(t.GetArgument(e));s=Na.substituteArgs(t,r,s)}t.string=Na.addArgs(t,s,t.string.slice(t.i)),t.i=0,Na.checkMaxMacros(t)},MathChoice(t,e){const s=t.ParseArg(e),i=t.ParseArg(e),n=t.ParseArg(e),r=t.ParseArg(e);t.Push(t.create("node","MathChoice",[s,i,n,r]))}},wl=Il,Ml=Jo.Variant,Ol={variable(t,e){var s;const i=Na.getFontDef(t),n=t.stack.env;if(n.multiLetterIdentifiers&&""!==n.font&&(e=(null===(s=t.string.substring(t.i-1).match(n.multiLetterIdentifiers))||void 0===s?void 0:s[0])||e,t.i+=e.length-1,i.mathvariant===Ml.NORMAL&&n.noAutoOP&&e.length>1&&(i.autoOP=!1)),!i.mathvariant&&Na.isLatinOrGreekChar(e)){const s=t.configuration.mathStyle(e);s&&(i.mathvariant=s)}const r=t.create("token","mi",i,e);t.Push(r)},digit(t,e){const s=t.configuration.options.numberPattern,i=t.string.slice(t.i-1).match(s);if(!i)return!1;const n=Na.getFontDef(t),r=t.create("token","mn",n,i[0].replace(/[{}]/g,""));return t.i+=i[0].length-1,t.Push(r),!0},controlSequence(t,e){const s=t.GetCS();t.parse(na.MACRO,[t,s])},lcGreek(t,e){const s={mathvariant:t.configuration.mathStyle(e.char)||Ml.ITALIC},i=t.create("token","mi",s,e.char);t.Push(i)},ucGreek(t,e){const s={mathvariant:t.stack.env.font||t.configuration.mathStyle(e.char,!0)||Ml.NORMAL},i=t.create("token","mi",s,e.char);t.Push(i)},mathchar0mi(t,e){const s=e.attributes||{mathvariant:Ml.ITALIC},i=t.create("token","mi",s,e.char);t.Push(i)},mathchar0mo(t,e){const s=e.attributes||{};s.stretchy=!1;const i=t.create("token","mo",s,e.char);$o.setProperty(i,"fixStretchy",!0),t.configuration.addNode("fixStretchy",i),t.Push(i)},mathchar7(t,e){const s=e.attributes||{mathvariant:Ml.NORMAL};t.stack.env.font&&(s.mathvariant=t.stack.env.font);const i=t.create("token","mi",s,e.char);t.Push(i)},delimiter(t,e){let s=e.attributes||{};s=Object.assign({fence:!1,stretchy:!1},s);const i=t.create("token","mo",s,e.char);"|"===e.char&&i.setProperty("keep-attrs","stretchy"),t.Push(i)},environment(t,e,s,i){const n=t.itemFactory.create("begin").setProperty("name",e);t.Push(s(t,n,...i.slice(1)))}},kl=Ol,Dl=xo(bo.thickmathspace),Pl=Jo.Variant;new ja("letter",kl.variable,/[a-z]/i),new ja("digit",kl.digit,/[0-9.,]/),new ja("command",kl.controlSequence,/^\\/),new Wa("special",{"{":wl.Open,"}":wl.Close,"~":wl.Tilde,"^":wl.Superscript,_:wl.Subscript,"|":wl.Bar," ":wl.Space,"\t":wl.Space,"\r":wl.Space,"\n":wl.Space,"'":wl.Prime,"%":wl.Comment,"&":wl.Entry,"#":wl.Hash,"\xa0":wl.Space,"\u2019":wl.Prime}),new Ua("lcGreek",kl.lcGreek,{alpha:"\u03b1",beta:"\u03b2",gamma:"\u03b3",delta:"\u03b4",epsilon:"\u03f5",zeta:"\u03b6",eta:"\u03b7",theta:"\u03b8",iota:"\u03b9",kappa:"\u03ba",lambda:"\u03bb",mu:"\u03bc",nu:"\u03bd",xi:"\u03be",omicron:"\u03bf",pi:"\u03c0",rho:"\u03c1",sigma:"\u03c3",tau:"\u03c4",upsilon:"\u03c5",phi:"\u03d5",chi:"\u03c7",psi:"\u03c8",omega:"\u03c9",varepsilon:"\u03b5",vartheta:"\u03d1",varpi:"\u03d6",varrho:"\u03f1",varsigma:"\u03c2",varphi:"\u03c6"}),new Ua("ucGreek",kl.ucGreek,{Gamma:"\u0393",Delta:"\u0394",Theta:"\u0398",Lambda:"\u039b",Xi:"\u039e",Pi:"\u03a0",Sigma:"\u03a3",Upsilon:"\u03a5",Phi:"\u03a6",Psi:"\u03a8",Omega:"\u03a9"}),new Ua("mathchar0mi",kl.mathchar0mi,{AA:"\u212b",S:["\xa7",{mathvariant:Pl.NORMAL}],aleph:["\u2135",{mathvariant:Pl.NORMAL}],hbar:["\u210f",{variantForm:!0}],imath:"\u0131",jmath:"\u0237",ell:"\u2113",wp:["\u2118",{mathvariant:Pl.NORMAL}],Re:["\u211c",{mathvariant:Pl.NORMAL}],Im:["\u2111",{mathvariant:Pl.NORMAL}],partial:["\u2202",{mathvariant:Pl.ITALIC}],infty:["\u221e",{mathvariant:Pl.NORMAL}],prime:["\u2032",{variantForm:!0}],emptyset:["\u2205",{mathvariant:Pl.NORMAL}],nabla:["\u2207",{mathvariant:Pl.NORMAL}],top:["\u22a4",{mathvariant:Pl.NORMAL}],bot:["\u22a5",{mathvariant:Pl.NORMAL}],angle:["\u2220",{mathvariant:Pl.NORMAL}],triangle:["\u25b3",{mathvariant:Pl.NORMAL}],backslash:["\\",{mathvariant:Pl.NORMAL}],forall:["\u2200",{mathvariant:Pl.NORMAL}],exists:["\u2203",{mathvariant:Pl.NORMAL}],neg:["\xac",{mathvariant:Pl.NORMAL}],lnot:["\xac",{mathvariant:Pl.NORMAL}],flat:["\u266d",{mathvariant:Pl.NORMAL}],natural:["\u266e",{mathvariant:Pl.NORMAL}],sharp:["\u266f",{mathvariant:Pl.NORMAL}],clubsuit:["\u2663",{mathvariant:Pl.NORMAL}],diamondsuit:["\u2662",{mathvariant:Pl.NORMAL}],heartsuit:["\u2661",{mathvariant:Pl.NORMAL}],spadesuit:["\u2660",{mathvariant:Pl.NORMAL}]}),new Ua("mathchar0mo",kl.mathchar0mo,{surd:["\u221a",{symmetric:!0}],coprod:["\u2210",{movesupsub:!0}],bigvee:["\u22c1",{movesupsub:!0}],bigwedge:["\u22c0",{movesupsub:!0}],biguplus:["\u2a04",{movesupsub:!0}],bigcap:["\u22c2",{movesupsub:!0}],bigcup:["\u22c3",{movesupsub:!0}],int:"\u222b",intop:["\u222b",{movesupsub:!0,movablelimits:!0}],iint:"\u222c",iiint:"\u222d",prod:["\u220f",{movesupsub:!0}],sum:["\u2211",{movesupsub:!0}],bigotimes:["\u2a02",{movesupsub:!0}],bigoplus:["\u2a01",{movesupsub:!0}],bigodot:["\u2a00",{movesupsub:!0}],oint:"\u222e",ointop:["\u222e",{movesupsub:!0,movablelimits:!0}],oiint:"\u222f",oiiint:"\u2230",bigsqcup:["\u2a06",{movesupsub:!0}],smallint:["\u222b",{largeop:!1}],triangleleft:"\u25c3",triangleright:"\u25b9",bigtriangleup:"\u25b3",bigtriangledown:"\u25bd",wedge:"\u2227",land:"\u2227",vee:"\u2228",lor:"\u2228",cap:"\u2229",cup:"\u222a",ddagger:"\u2021",dagger:"\u2020",sqcap:"\u2293",sqcup:"\u2294",uplus:"\u228e",amalg:"\u2a3f",diamond:"\u22c4",bullet:"\u2219",wr:"\u2240",div:"\xf7",odot:["\u2299",{largeop:!1}],oslash:["\u2298",{largeop:!1}],otimes:["\u2297",{largeop:!1}],ominus:["\u2296",{largeop:!1}],oplus:["\u2295",{largeop:!1}],mp:"\u2213",pm:"\xb1",circ:"\u2218",bigcirc:"\u25ef",setminus:"\u2216",cdot:"\u22c5",ast:"\u2217",times:"\xd7",star:"\u22c6",propto:"\u221d",sqsubseteq:"\u2291",sqsupseteq:"\u2292",parallel:"\u2225",mid:"\u2223",dashv:"\u22a3",vdash:"\u22a2",leq:"\u2264",le:"\u2264",geq:"\u2265",ge:"\u2265",lt:"<",gt:">",succ:"\u227b",prec:"\u227a",approx:"\u2248",succeq:"\u2ab0",preceq:"\u2aaf",supset:"\u2283",subset:"\u2282",supseteq:"\u2287",subseteq:"\u2286",in:"\u2208",ni:"\u220b",notin:"\u2209",owns:"\u220b",gg:"\u226b",ll:"\u226a",sim:"\u223c",simeq:"\u2243",perp:"\u27c2",equiv:"\u2261",asymp:"\u224d",smile:"\u2323",frown:"\u2322",ne:"\u2260",neq:"\u2260",cong:"\u2245",doteq:"\u2250",bowtie:"\u22c8",models:"\u22a7",notChar:"\u29f8",Leftrightarrow:"\u21d4",Leftarrow:"\u21d0",Rightarrow:"\u21d2",leftrightarrow:"\u2194",leftarrow:"\u2190",gets:"\u2190",rightarrow:"\u2192",to:["\u2192",{accent:!1}],mapsto:"\u21a6",leftharpoonup:"\u21bc",leftharpoondown:"\u21bd",rightharpoonup:"\u21c0",rightharpoondown:"\u21c1",nearrow:"\u2197",searrow:"\u2198",nwarrow:"\u2196",swarrow:"\u2199",rightleftharpoons:"\u21cc",hookrightarrow:"\u21aa",hookleftarrow:"\u21a9",longleftarrow:"\u27f5",Longleftarrow:"\u27f8",longrightarrow:"\u27f6",Longrightarrow:"\u27f9",Longleftrightarrow:"\u27fa",longleftrightarrow:"\u27f7",longmapsto:"\u27fc",ldots:"\u2026",cdots:"\u22ef",vdots:"\u22ee",ddots:"\u22f1",iddots:"\u22f0",dotsc:"\u2026",dotsb:"\u22ef",dotsm:"\u22ef",dotsi:"\u22ef",dotso:"\u2026",ldotp:[".",{texClass:fn.PUNCT}],cdotp:["\u22c5",{texClass:fn.PUNCT}],colon:[":",{texClass:fn.PUNCT}]}),new Ua("mathchar7",kl.mathchar7,{_:"_","#":"#",$:"$","%":"%","&":"&",And:"&"}),new Ha("delimiter",kl.delimiter,{"(":"(",")":")","[":"[","]":"]","<":"\u27e8",">":"\u27e9","\\lt":"\u27e8","\\gt":"\u27e9","/":"/","|":["|",{texClass:fn.ORD}],".":"","\\lmoustache":"\u23b0","\\rmoustache":"\u23b1","\\lgroup":"\u27ee","\\rgroup":"\u27ef","\\arrowvert":"\u23d0","\\Arrowvert":"\u2016","\\bracevert":"\u23aa","\\Vert":["\u2016",{texClass:fn.ORD}],"\\|":["\u2016",{texClass:fn.ORD}],"\\vert":["|",{texClass:fn.ORD}],"\\uparrow":"\u2191","\\downarrow":"\u2193","\\updownarrow":"\u2195","\\Uparrow":"\u21d1","\\Downarrow":"\u21d3","\\Updownarrow":"\u21d5","\\backslash":"\\","\\rangle":"\u27e9","\\langle":"\u27e8","\\rbrace":"}","\\lbrace":"{","\\}":"}","\\{":"{","\\rceil":"\u2309","\\lceil":"\u2308","\\rfloor":"\u230b","\\lfloor":"\u230a","\\lbrack":"[","\\rbrack":"]"}),new qa("macros",{displaystyle:[wl.SetStyle,"D",!0,0],textstyle:[wl.SetStyle,"T",!1,0],scriptstyle:[wl.SetStyle,"S",!1,1],scriptscriptstyle:[wl.SetStyle,"SS",!1,2],rm:[wl.SetFont,Pl.NORMAL],mit:[wl.SetFont,Pl.ITALIC],oldstyle:[wl.SetFont,Pl.OLDSTYLE],cal:[wl.SetFont,Pl.CALLIGRAPHIC],it:[wl.SetFont,Pl.MATHITALIC],bf:[wl.SetFont,Pl.BOLD],sf:[wl.SetFont,Pl.SANSSERIF],tt:[wl.SetFont,Pl.MONOSPACE],frak:[wl.MathFont,Pl.FRAKTUR],Bbb:[wl.MathFont,Pl.DOUBLESTRUCK],mathrm:[wl.MathFont,Pl.NORMAL],mathup:[wl.MathFont,Pl.NORMAL],mathnormal:[wl.MathFont,""],mathbf:[wl.MathFont,Pl.BOLD],mathbfup:[wl.MathFont,Pl.BOLD],mathit:[wl.MathFont,Pl.MATHITALIC],mathbfit:[wl.MathFont,Pl.BOLDITALIC],mathbb:[wl.MathFont,Pl.DOUBLESTRUCK],mathfrak:[wl.MathFont,Pl.FRAKTUR],mathbffrak:[wl.MathFont,Pl.BOLDFRAKTUR],mathscr:[wl.MathFont,Pl.SCRIPT],mathbfscr:[wl.MathFont,Pl.BOLDSCRIPT],mathsf:[wl.MathFont,Pl.SANSSERIF],mathsfup:[wl.MathFont,Pl.SANSSERIF],mathbfsf:[wl.MathFont,Pl.BOLDSANSSERIF],mathbfsfup:[wl.MathFont,Pl.BOLDSANSSERIF],mathsfit:[wl.MathFont,Pl.SANSSERIFITALIC],mathbfsfit:[wl.MathFont,Pl.SANSSERIFBOLDITALIC],mathtt:[wl.MathFont,Pl.MONOSPACE],mathcal:[wl.MathFont,Pl.CALLIGRAPHIC],mathbfcal:[wl.MathFont,Pl.BOLDCALLIGRAPHIC],symrm:[wl.MathFont,Pl.NORMAL],symup:[wl.MathFont,Pl.NORMAL],symnormal:[wl.MathFont,""],symbf:[wl.MathFont,Pl.BOLD,Pl.BOLDITALIC],symbfup:[wl.MathFont,Pl.BOLD],symit:[wl.MathFont,Pl.ITALIC],symbfit:[wl.MathFont,Pl.BOLDITALIC],symbb:[wl.MathFont,Pl.DOUBLESTRUCK],symfrak:[wl.MathFont,Pl.FRAKTUR],symbffrak:[wl.MathFont,Pl.BOLDFRAKTUR],symscr:[wl.MathFont,Pl.SCRIPT],symbfscr:[wl.MathFont,Pl.BOLDSCRIPT],symsf:[wl.MathFont,Pl.SANSSERIF,Pl.SANSSERIFITALIC],symsfup:[wl.MathFont,Pl.SANSSERIF],symbfsf:[wl.MathFont,Pl.BOLDSANSSERIF],symbfsfup:[wl.MathFont,Pl.BOLDSANSSERIF],symsfit:[wl.MathFont,Pl.SANSSERIFITALIC],symbfsfit:[wl.MathFont,Pl.SANSSERIFBOLDITALIC],symtt:[wl.MathFont,Pl.MONOSPACE],symcal:[wl.MathFont,Pl.CALLIGRAPHIC],symbfcal:[wl.MathFont,Pl.BOLDCALLIGRAPHIC],textrm:[wl.HBox,null,Pl.NORMAL],textup:[wl.HBox,null,Pl.NORMAL],textnormal:[wl.HBox],textit:[wl.HBox,null,Pl.ITALIC],textbf:[wl.HBox,null,Pl.BOLD],textsf:[wl.HBox,null,Pl.SANSSERIF],texttt:[wl.HBox,null,Pl.MONOSPACE],Tiny:[wl.SetSize,.5],tiny:[wl.SetSize,.6],scriptsize:[wl.SetSize,.7],SMALL:[wl.SetSize,.7],Small:[wl.SetSize,.8],footnotesize:[wl.SetSize,.8],small:[wl.SetSize,.9],normalsize:[wl.SetSize,1],large:[wl.SetSize,1.095],Large:[wl.SetSize,1.2],LARGE:[wl.SetSize,1.44],huge:[wl.SetSize,1.728],Huge:[wl.SetSize,2.074],HUGE:[wl.SetSize,2.49],arcsin:wl.NamedFn,arccos:wl.NamedFn,arctan:wl.NamedFn,arg:wl.NamedFn,cos:wl.NamedFn,cosh:wl.NamedFn,cot:wl.NamedFn,coth:wl.NamedFn,csc:wl.NamedFn,deg:wl.NamedFn,det:wl.NamedOp,dim:wl.NamedFn,exp:wl.NamedFn,gcd:wl.NamedOp,hom:wl.NamedFn,inf:wl.NamedOp,ker:wl.NamedFn,lg:wl.NamedFn,lim:wl.NamedOp,liminf:[wl.NamedOp,"lim inf"],limsup:[wl.NamedOp,"lim sup"],ln:wl.NamedFn,log:wl.NamedFn,max:wl.NamedOp,min:wl.NamedOp,Pr:wl.NamedOp,sec:wl.NamedFn,sin:wl.NamedFn,sinh:wl.NamedFn,sup:wl.NamedOp,tan:wl.NamedFn,tanh:wl.NamedFn,limits:[wl.Limits,!0],nolimits:[wl.Limits,!1],overline:[wl.UnderOver,"2015"],underline:[wl.UnderOver,"2015"],overbrace:[wl.UnderOver,"23DE",!0],underbrace:[wl.UnderOver,"23DF",!0],overparen:[wl.UnderOver,"23DC"],underparen:[wl.UnderOver,"23DD"],overrightarrow:[wl.UnderOver,"2192"],underrightarrow:[wl.UnderOver,"2192"],overleftarrow:[wl.UnderOver,"2190"],underleftarrow:[wl.UnderOver,"2190"],overleftrightarrow:[wl.UnderOver,"2194"],underleftrightarrow:[wl.UnderOver,"2194"],overset:wl.Overset,underset:wl.Underset,overunderset:wl.Overunderset,stackrel:[wl.Macro,"\\mathrel{\\mathop{#2}\\limits^{#1}}",2],stackbin:[wl.Macro,"\\mathbin{\\mathop{#2}\\limits^{#1}}",2],over:wl.Over,overwithdelims:wl.Over,atop:wl.Over,atopwithdelims:wl.Over,above:wl.Over,abovewithdelims:wl.Over,brace:[wl.Over,"{","}"],brack:[wl.Over,"[","]"],choose:[wl.Over,"(",")"],frac:wl.Frac,sqrt:wl.Sqrt,root:wl.Root,uproot:[wl.MoveRoot,"upRoot"],leftroot:[wl.MoveRoot,"leftRoot"],left:wl.LeftRight,right:wl.LeftRight,middle:wl.LeftRight,llap:wl.Lap,rlap:wl.Lap,raise:wl.RaiseLower,lower:wl.RaiseLower,moveleft:wl.MoveLeftRight,moveright:wl.MoveLeftRight,",":[wl.Spacer,bo.thinmathspace],":":[wl.Spacer,bo.mediummathspace],">":[wl.Spacer,bo.mediummathspace],";":[wl.Spacer,bo.thickmathspace],"!":[wl.Spacer,bo.negativethinmathspace],enspace:[wl.Spacer,.5],quad:[wl.Spacer,1],qquad:[wl.Spacer,2],thinspace:[wl.Spacer,bo.thinmathspace],negthinspace:[wl.Spacer,bo.negativethinmathspace],"*":wl.DiscretionaryTimes,allowbreak:wl.AllowBreak,goodbreak:[wl.Linebreak,Jo.LineBreak.GOODBREAK],badbreak:[wl.Linebreak,Jo.LineBreak.BADBREAK],nobreak:[wl.Linebreak,Jo.LineBreak.NOBREAK],break:wl.Break,hskip:wl.Hskip,hspace:wl.Hskip,kern:[wl.Hskip,!0],mskip:wl.Hskip,mspace:wl.Hskip,mkern:[wl.Hskip,!0],rule:wl.rule,Rule:[wl.Rule],Space:[wl.Rule,"blank"],nonscript:wl.Nonscript,big:[wl.MakeBig,fn.ORD,.85],Big:[wl.MakeBig,fn.ORD,1.15],bigg:[wl.MakeBig,fn.ORD,1.45],Bigg:[wl.MakeBig,fn.ORD,1.75],bigl:[wl.MakeBig,fn.OPEN,.85],Bigl:[wl.MakeBig,fn.OPEN,1.15],biggl:[wl.MakeBig,fn.OPEN,1.45],Biggl:[wl.MakeBig,fn.OPEN,1.75],bigr:[wl.MakeBig,fn.CLOSE,.85],Bigr:[wl.MakeBig,fn.CLOSE,1.15],biggr:[wl.MakeBig,fn.CLOSE,1.45],Biggr:[wl.MakeBig,fn.CLOSE,1.75],bigm:[wl.MakeBig,fn.REL,.85],Bigm:[wl.MakeBig,fn.REL,1.15],biggm:[wl.MakeBig,fn.REL,1.45],Biggm:[wl.MakeBig,fn.REL,1.75],mathord:[wl.TeXAtom,fn.ORD],mathop:[wl.TeXAtom,fn.OP],mathopen:[wl.TeXAtom,fn.OPEN],mathclose:[wl.TeXAtom,fn.CLOSE],mathbin:[wl.TeXAtom,fn.BIN],mathrel:[wl.TeXAtom,fn.REL],mathpunct:[wl.TeXAtom,fn.PUNCT],mathinner:[wl.TeXAtom,fn.INNER],vtop:[wl.VBox,"top"],vcenter:[wl.VBox,"center"],vbox:[wl.VBox,"bottom"],hsize:wl.Hsize,parbox:wl.ParBox,breakAlign:wl.BreakAlign,buildrel:wl.BuildRel,hbox:[wl.HBox,0],text:wl.HBox,mbox:[wl.HBox,0],fbox:wl.FBox,boxed:[wl.Macro,"\\fbox{$\\displaystyle{#1}$}",1],framebox:wl.FrameBox,makebox:wl.MakeBox,strut:wl.Strut,mathstrut:[wl.Macro,"\\vphantom{(}"],phantom:wl.Phantom,vphantom:[wl.Phantom,1,0],hphantom:[wl.Phantom,0,1],smash:wl.Smash,acute:[wl.Accent,"00B4"],grave:[wl.Accent,"0060"],ddot:[wl.Accent,"00A8"],dddot:[wl.Accent,"20DB"],ddddot:[wl.Accent,"20DC"],tilde:[wl.Accent,"007E"],bar:[wl.Accent,"00AF"],breve:[wl.Accent,"02D8"],check:[wl.Accent,"02C7"],hat:[wl.Accent,"005E"],vec:[wl.Accent,"2192",!1],dot:[wl.Accent,"02D9"],widetilde:[wl.Accent,"007E",!0],widehat:[wl.Accent,"005E",!0],matrix:wl.Matrix,array:wl.Matrix,pmatrix:[wl.Matrix,"(",")"],cases:[wl.Matrix,"{","","left left",null,".2em",null,!0],eqalign:[wl.Matrix,null,null,"right left",Dl,".5em","D"],displaylines:[wl.Matrix,null,null,"center",null,".5em","D"],cr:wl.Cr,"\\":wl.CrLaTeX,newline:[wl.CrLaTeX,!0],hline:wl.HLine,hdashline:[wl.HLine,"dashed"],eqalignno:[wl.Matrix,null,null,"right left",Dl,".5em","D",null,"right"],leqalignno:[wl.Matrix,null,null,"right left",Dl,".5em","D",null,"left"],hfill:wl.HFill,hfil:wl.HFill,hfilll:wl.HFill,bmod:[wl.Macro,`\\mmlToken{mo}[lspace="${Dl}" rspace="${Dl}"]{mod}`],pmod:[wl.Macro,"\\pod{\\mmlToken{mi}{mod}\\kern 6mu #1}",1],mod:[wl.Macro,"\\mathchoice{\\kern18mu}{\\kern12mu}{\\kern12mu}{\\kern12mu}\\mmlToken{mi}{mod}\\,\\,#1",1],pod:[wl.Macro,"\\mathchoice{\\kern18mu}{\\kern8mu}{\\kern8mu}{\\kern8mu}(#1)",1],iff:[wl.Macro,"\\;\\Longleftrightarrow\\;"],skew:[wl.Macro,"{{#2{#3\\mkern#1mu}\\mkern-#1mu}{}}",3],pmb:[wl.Macro,"\\rlap{#1}\\kern1px{#1}",1],TeX:[wl.Macro,"T\\kern-.14em\\lower.5ex{E}\\kern-.115em X"],LaTeX:[wl.Macro,"L\\kern-.325em\\raise.21em{\\scriptstyle{A}}\\kern-.17em\\TeX"],not:wl.Not,dots:wl.Dots,space:wl.Tilde,"\xa0":wl.Tilde," ":wl.Tilde,begin:wl.BeginEnd,end:wl.BeginEnd,label:wl.HandleLabel,ref:wl.HandleRef,nonumber:wl.HandleNoTag,newcolumntype:wl.NewColumnType,mathchoice:wl.MathChoice,mmlToken:wl.MmlToken}),new Va("environment",kl.environment,{displaymath:[wl.Equation,null,!1],math:[wl.Equation,null,!1,!1],array:[wl.AlignedArray],darray:[wl.AlignedArray,null,"D"],equation:[wl.Equation,null,!0],eqnarray:[wl.EqnArray,null,!0,!0,"rcl","bmt",Na.cols(0,bo.thickmathspace),".5em"],indentalign:[wl.IndentAlign]}),new Ua("not_remap",null,{"\u2190":"\u219a","\u2192":"\u219b","\u2194":"\u21ae","\u21d0":"\u21cd","\u21d2":"\u21cf","\u21d4":"\u21ce","\u2208":"\u2209","\u220b":"\u220c","\u2223":"\u2224","\u2225":"\u2226","\u223c":"\u2241","~":"\u2241","\u2243":"\u2244","\u2245":"\u2247","\u2248":"\u2249","\u224d":"\u226d","=":"\u2260","\u2261":"\u2262","<":"\u226e",">":"\u226f","\u2264":"\u2270","\u2265":"\u2271","\u2272":"\u2274","\u2273":"\u2275","\u2276":"\u2278","\u2277":"\u2279","\u227a":"\u2280","\u227b":"\u2281","\u2282":"\u2284","\u2283":"\u2285","\u2286":"\u2288","\u2287":"\u2289","\u22a2":"\u22ac","\u22a8":"\u22ad","\u22a9":"\u22ae","\u22ab":"\u22af","\u227c":"\u22e0","\u227d":"\u22e1","\u2291":"\u22e2","\u2292":"\u22e3","\u22b2":"\u22ea","\u22b3":"\u22eb","\u22b4":"\u22ec","\u22b5":"\u22ed","\u2203":"\u2204"});const Bl=Jo.Variant;function Fl(t,e){const s=t.stack.env.font,i=t.stack.env.italicFont,n=s?{mathvariant:s}:{},r=Xa.getMap("remap").lookup(e),o=Pn(e),a=o[3],l=t.create("token",a,n,r?r.char:e),c=Na.isLatinOrGreekChar(e)?t.configuration.mathStyle(e,!0)||i:"",h=o[4]||(s&&c===Bl.NORMAL?"":c);h&&l.attributes.set("mathvariant",h),"mo"===a&&($o.setProperty(l,"fixStretchy",!0),t.configuration.addNode("fixStretchy",l)),t.Push(l)}new Ua("remap",null,{"-":"\u2212","*":"\u2217","`":"\u2018"});class jl extends Ra{}const _l=$a.create("base",{[ia.CONFIG]:function(t,e){const s=e.parseOptions.options;s.digits&&(s.numberPattern=s.digits),new ja("digit",kl.digit,s.initialDigit),new ja("letter",kl.variable,s.initialLetter);t.handlers.get(na.CHARACTER).add(["letter","digit"],null,4)},[ia.HANDLER]:{[na.CHARACTER]:["command","special"],[na.DELIMITER]:["delimiter"],[na.MACRO]:["delimiter","macros","lcGreek","ucGreek","mathchar0mi","mathchar0mo","mathchar7"],[na.ENVIRONMENT]:["environment"]},[ia.FALLBACK]:{[na.CHARACTER]:Fl,[na.MACRO]:function(t,e){throw new ca("UndefinedControlSequence","Undefined control sequence %1","\\"+e)},[na.ENVIRONMENT]:function(t,e){throw new ca("UnknownEnv","Unknown environment '%1'",e)}},[ia.ITEMS]:{[Za.prototype.kind]:Za,[tl.prototype.kind]:tl,[el.prototype.kind]:el,[sl.prototype.kind]:sl,[il.prototype.kind]:il,[nl.prototype.kind]:nl,[rl.prototype.kind]:rl,[ol.prototype.kind]:ol,[al.prototype.kind]:al,[ll.prototype.kind]:ll,[cl.prototype.kind]:cl,[hl.prototype.kind]:hl,[dl.prototype.kind]:dl,[ul.prototype.kind]:ul,[pl.prototype.kind]:pl,[ml.prototype.kind]:ml,[gl.prototype.kind]:gl,[fl.prototype.kind]:fl,[bl.prototype.kind]:bl,[El.prototype.kind]:El,[yl.prototype.kind]:yl,[xl.prototype.kind]:xl,[Nl.prototype.kind]:Nl,[vl.prototype.kind]:vl,[Cl.prototype.kind]:Cl,[Tl.prototype.kind]:Tl},[ia.OPTIONS]:{maxMacros:1e3,digits:"",numberPattern:/^(?:[0-9]+(?:\{,\}[0-9]{3})*(?:\.[0-9]*)?|\.[0-9]+)/,initialDigit:/[0-9.,]/,identifierPattern:/^[a-zA-Z]+/,initialLetter:/[a-zA-Z]/,baseURL:pi.document&&0!==pi.document.getElementsByTagName("base").length?String(pi.document.location).replace(/#.*$/,""):""},[ia.TAGS]:{base:jl},[ia.POSTPROCESSORS]:[[function({data:t}){for(const e of t.getList("nonscript"))if(e.attributes.get("scriptlevel")>0){const s=e.parent;if(s.childNodes.splice(s.childIndex(e),1),t.removeFromList(e.kind,[e]),e.isKind("mrow")){const s=e.childNodes[0];t.removeFromList("mstyle",[s]),t.removeFromList("mspace",s.childNodes[0].childNodes)}}else e.isKind("mrow")&&(e.parent.replaceChild(e.childNodes[0],e),t.removeFromList("mrow",[e]))},-4]]});class Ul extends Zi{static configure(t){const e=new Qa(t,["tex"]);return e.init(),e}static tags(t,e){ka.addTags(e.tags),ka.setDefault(t.options.tags),t.tags=ka.getDefault(),t.tags.configuration=t}constructor(t={}){const[e,s,i]=Ui(t,Ul.OPTIONS,zo.OPTIONS);super(s),this.findTeX=this.options.FindTeX||new zo(i);const n=this.options.packages,r=this.configuration=Ul.configure(n),o=this._parseOptions=new Aa(r,[this.options,ka.OPTIONS]);Fi(o.options,e),r.config(this),Ul.tags(o,r),this.postFilters.addList([[sa.cleanSubSup,-7],[sa.setInherited,-6],[sa.checkScriptlevel,-5],[sa.moveLimits,-4],[sa.cleanStretchy,-3],[sa.cleanAttributes,-2],[sa.combineRelations,-1]])}setMmlFactory(t){super.setMmlFactory(t),this._parseOptions.nodeFactory.setMmlFactory(t)}get parseOptions(){return this._parseOptions}reset(t=0){this.parseOptions.tags.reset(t)}compile(t,e){let s,i;this.parseOptions.clear(),this.parseOptions.mathItem=t,this.executeFilters(this.preFilters,t,e,this.parseOptions),this.latex=t.math,this.parseOptions.tags.startEquation(t);try{i=new ua(this.latex,{display:t.display,isInner:!1},this.parseOptions),s=i.mml()}catch(t){if(!(t instanceof ca))throw t;this.parseOptions.error=!0,s=this.options.formatError(this,t)}return s=this.parseOptions.nodeFactory.create("node","math",[s]),s.attributes.set(Jo.Attr.LATEX,this.latex),t.display&&$o.setAttribute(s,"display","block"),this.parseOptions.tags.finishEquation(t),this.parseOptions.root=s,this.executeFilters(this.postFilters,t,e,this.parseOptions),i&&i.stack.env.hsize&&($o.setAttribute(s,"maxwidth",i.stack.env.hsize),$o.setAttribute(s,"overflow","linebreak")),this.mathNode=this.parseOptions.root,this.mathNode}findMath(t){return this.findTeX.findMath(t)}formatError(t){const e=t.message.replace(/\n.*/,"");return this.parseOptions.nodeFactory.create("error",e,t.id,this.latex)}}Ul.NAME="TeX",Ul.OPTIONS=Object.assign(Object.assign({},Zi.OPTIONS),{FindTeX:null,packages:["base"],maxBuffer:5120,maxTemplateSubtitutions:1e4,mathStyle:"TeX",formatError:(t,e)=>t.formatError(e)});class Hl extends Nl{constructor(t,...e){super(t),this.factory.configuration.tags.start("multline",!0,e[0])}get kind(){return"multline"}EndEntry(){this.table.length&&Na.fixInitialMO(this.factory.configuration,this.nodes);const t=this.getProperty("shove"),e=this.create("node","mtd",this.nodes,t?{columnalign:t}:{});this.setProperty("shove",null),this.row.push(e),this.Clear()}EndRow(){if(1!==this.row.length)throw new ca("MultlineRowsOneCol","The rows within the %1 environment must have exactly one column","multline");const t=this.create("node","mtr",this.row);this.table.push(t),this.row=[]}EndTable(){if(super.EndTable(),this.table.length){const t=this.table.length-1;let e=-1;$o.getAttribute($o.getChildren(this.table[0])[0],"columnalign")||$o.setAttribute($o.getChildren(this.table[0])[0],"columnalign",Jo.Align.LEFT),$o.getAttribute($o.getChildren(this.table[t])[0],"columnalign")||$o.setAttribute($o.getChildren(this.table[t])[0],"columnalign",Jo.Align.RIGHT);const s=this.factory.configuration.tags.getTag();if(s){e=this.arraydef.side===Jo.Align.LEFT?0:this.table.length-1;const t=this.table[e],i=this.create("node","mlabeledtr",[s].concat($o.getChildren(t)));$o.copyAttributes(t,i),this.table[e]=i}}this.factory.configuration.tags.end()}}class Wl extends vl{get kind(){return"flalign"}constructor(t,e,s,i,n){super(t),this.name=e,this.numbered=s,this.padded=i,this.center=n,this.factory.configuration.tags.start(e,s,s)}EndEntry(){super.EndEntry();const t=this.getProperty("xalignat");if(t&&this.row.length>t)throw new ca("XalignOverflow","Extra %1 in row of %2","&",this.name)}EndRow(){let t;const e=this.row,s=this.getProperty("xalignat");for(;e.length<s;)e.push(this.create("node","mtd"));for(this.row=[],this.padded&&this.row.push(this.create("node","mtd"));t=e.shift();)this.row.push(t),t=e.shift(),t&&this.row.push(t),(e.length||this.padded)&&this.row.push(this.create("node","mtd"));this.row.length>this.maxrow&&(this.maxrow=this.row.length),super.EndRow();const i=this.table[this.table.length-1];if(this.getProperty("zeroWidthLabel")&&i.isKind("mlabeledtr")){const t=$o.getChildren(i)[0],e=this.factory.configuration.options.tagSide,s=Object.assign({width:0},"right"===e?{lspace:"-1width"}:{}),n=this.create("node","mpadded",$o.getChildren(t),s);t.setChildren([n])}}EndTable(){if(super.EndTable(),this.center&&this.maxrow<=2){delete this.arraydef.width,delete this.global.indentalign}}}var ql;!function(t){t.NEW_DELIMITER="new-Delimiter",t.NEW_COMMAND="new-Command",t.NEW_ENVIRONMENT="new-Environment"}(ql||(ql={}));const Vl=-100,Gl={GetCSname(t,e){if("\\"!==t.GetNext())throw new ca("MissingCS","%1 must be followed by a control sequence",e);const s=oa.trimSpaces(t.GetArgument(e)).substring(1);return this.checkProtectedMacros(t,s),s},GetCsNameArgument(t,e){let s=oa.trimSpaces(t.GetArgument(e));if("\\"===s.charAt(0)&&(s=s.substring(1)),!s.match(/^(.|[a-z]+)$/i))throw new ca("IllegalControlSequenceName","Illegal control sequence name for %1",e);return this.checkProtectedMacros(t,s),s},GetArgCount(t,e){let s=t.GetBrackets(e);if(s&&(s=oa.trimSpaces(s),!s.match(/^[0-9]+$/)))throw new ca("IllegalParamNumber","Illegal number of parameters specified in %1",e);return s},GetTemplate(t,e,s){let i=t.GetNext();const n=[];let r=0,o=t.i;for(;t.i<t.string.length;){if(i=t.GetNext(),"#"===i){if(o!==t.i&&(n[r]=t.string.substring(o,t.i)),i=t.string.charAt(++t.i),!i.match(/^[1-9]$/))throw new ca("CantUseHash2","Illegal use of # in template for %1",s);if(parseInt(i)!==++r)throw new ca("SequentialParam","Parameters for %1 must be numbered sequentially",s);o=t.i+1}else if("{"===i)return o!==t.i&&(n[r]=t.string.substring(o,t.i),""===n[r].replace(/^ +/,"")&&""===n.slice(0,r).join(""))?r:n.length>0?[r.toString()].concat(n):r;t.i++}throw new ca("MissingReplacementString","Missing replacement string for definition of %1",e)},GetParameter(t,e,s){if(null==s)return t.GetArgument(e);let i=t.i,n=0,r=!1;for(;t.i<t.string.length;){const o=t.string.charAt(t.i);if("{"===o)r=t.i===i,t.GetArgument(e),n=t.i-i;else{if(this.MatchParam(t,s))return r&&(i++,n-=2),t.string.substring(i,i+n);if("\\"===o){t.i++,n++,r=!1;const e=t.string.substring(t.i).match(/[a-z]+|./i);e&&(t.i+=e[0].length,n=t.i-i)}else t.i++,n++,r=!1}}throw new ca("RunawayArgument","Runaway argument for %1?",e)},MatchParam:(t,e)=>t.string.substring(t.i,t.i+e.length)!==e||e.match(/\\[a-z]+$/i)&&t.string.charAt(t.i+e.length).match(/[a-z]/i)?0:(t.i+=e.length,1),checkGlobal:(t,e,s)=>t.stack.env.isGlobal?t.configuration.packageData.get("begingroup").stack.checkGlobal(e,s):s.map(e=>t.configuration.handlers.retrieve(e)),checkProtectedMacros(t,e){var s;if(null===(s=t.options.protectedMacros)||void 0===s?void 0:s.includes(e))throw new ca("ProtectedMacro","The control sequence %1 can't be redefined",`\\${e}`)},addDelimiter(t,e,s,i){const n=e.substring(1);this.checkProtectedMacros(t,n);const[r,o]=Gl.checkGlobal(t,[n,e],[ql.NEW_COMMAND,ql.NEW_DELIMITER]);n!==e&&r.remove(n),o.add(e,new Da(e,s,i)),delete t.stack.env.isGlobal},addMacro(t,e,s,i,n=""){this.checkProtectedMacros(t,e);const r=Gl.checkGlobal(t,[e],[ql.NEW_COMMAND])[0];this.undefineDelimiter(t,"\\"+e),r.add(e,new Pa(n||e,s,i)),delete t.stack.env.isGlobal},addEnvironment(t,e,s,i){Gl.checkGlobal(t,[e],[ql.NEW_ENVIRONMENT])[0].add(e,new Pa(e,s,i)),delete t.stack.env.isGlobal},undefineMacro(t,e){const s=Gl.checkGlobal(t,[e],[ql.NEW_COMMAND])[0];s.remove(e),t.configuration.handlers.get(na.MACRO).applicable(e)&&(s.add(e,new Pa(e,()=>za.FALLBACK,[])),this.undefineDelimiter(t,"\\"+e)),delete t.stack.env.isGlobal},undefineDelimiter(t,e){const s=Gl.checkGlobal(t,[e],[ql.NEW_DELIMITER])[0];s.remove(e),t.configuration.handlers.get(na.DELIMITER).applicable(e)&&s.add(e,new Da(e,null,{})),delete t.stack.env.isGlobal}};function Xl(t){if(!t||t.isInferred&&0===t.childNodes.length)return[null,null];if(t.isKind("msubsup")&&zl(t))return[t,null];const e=$o.getChildAt(t,0);return t.isInferred&&e&&zl(e)?(t.childNodes.splice(0,1),[e,t]):[null,t]}function zl(t){const e=t.childNodes[0];return e&&e.isKind("mi")&&""===e.getText()}const Kl={AmsEqnArray(t,e,s,i,n,r,o,a){const l=t.GetBrackets("\\begin{"+e.getName()+"}"),c=wl.EqnArray(t,e,s,i,n,r,o,a);return Na.setArrayAlign(c,l,t)},AlignAt(t,e,s,i){const n=e.getName();let r,o="",a="";const l=[];i||(r=t.GetBrackets("\\begin{"+n+"}"));const c=t.GetArgument("\\begin{"+n+"}");if(c.match(/[^0-9]/))throw new ca("PositiveIntegerArg","Argument to %1 must be a positive integer","\\begin{"+n+"}");let h=parseInt(c,10);for(;h>0;)o+="rl",a+="bt",l.push("0em 0em"),h--;const d=l.join(" ");if(i)return Kl.EqnArray(t,e,s,i,o,a,d);const u=Kl.EqnArray(t,e,s,i,o,a,d);return Na.setArrayAlign(u,r,t)},Multline(t,e,s){Na.checkEqnEnv(t),t.Push(e);const i=t.options.ams.multlineIndent,n=t.itemFactory.create("multline",s,t.stack);return n.arraydef={displaystyle:!0,rowspacing:".5em",columnspacing:"100%",width:t.options.ams.multlineWidth,side:t.options.tagSide,minlabelspacing:t.options.tagIndent,"data-array-padding":`${i} ${i}`,"data-width-includes-label":!0},n},XalignAt(t,e,s,i){const n=t.GetArgument("\\begin{"+e.getName()+"}");if(n.match(/[^0-9]/))throw new ca("PositiveIntegerArg","Argument to %1 must be a positive integer","\\begin{"+e.getName()+"}");const r=i?"crl":"rlc",o=i?"mbt":"btm",a=i?"fit auto auto":"auto auto fit",l=Kl.FlalignArray(t,e,s,i,!1,r,o,a,!0);return l.setProperty("xalignat",2*parseInt(n)),l},FlalignArray(t,e,s,i,n,r,o,a,l=!1){Na.checkEqnEnv(t),t.Push(e),r=r.split("").join(" ").replace(/r/g,"right").replace(/l/g,"left").replace(/c/g,"center"),o=Sl(o);const c=t.itemFactory.create("flalign",e.getName(),s,i,n,t.stack);return c.arraydef={width:"100%",displaystyle:!0,columnalign:r,columnspacing:"0em",columnwidth:a,rowspacing:"3pt","data-break-align":o,side:t.options.tagSide,minlabelspacing:l?"0":t.options.tagIndent,"data-width-includes-label":!0},c.setProperty("zeroWidthLabel",l),c},HandleDeclareOp(t,e){const s=t.GetStar()?"*":"",i=Gl.GetCsNameArgument(t,e),n=t.GetArgument(e);Gl.addMacro(t,i,Kl.Macro,[`\\operatorname${s}{${n}}`]),t.Push(t.itemFactory.create("null"))},HandleOperatorName(t,e){const s=t.GetStar(),i=oa.trimSpaces(t.GetArgument(e));let n=new ua(i,Object.assign(Object.assign({},t.stack.env),{font:Jo.Variant.NORMAL,multiLetterIdentifiers:t.options.ams.operatornamePattern,operatorLetters:!0,noAutoOP:!0}),t.configuration).mml();if(n.isKind("mi")?n.removeProperty("autoOP"):n=t.create("node","TeXAtom",[n]),$o.setProperties(n,{movesupsub:s,movablelimits:!0,texClass:fn.OP}),!s){const e=t.GetNext(),s=t.i;"\\"===e&&++t.i&&"limits"!==t.GetCS()&&(t.i=s)}t.Push(t.itemFactory.create("fn",n))},SideSet(t,e){const[s,i]=Xl(t.ParseArg(e)),[n,r]=Xl(t.ParseArg(e)),o=t.ParseArg(e);let a=o;s&&(i?s.replaceChild(t.create("node","mphantom",[t.create("node","mpadded",[Na.copyNode(o,t)],{width:0})]),$o.getChildAt(s,0)):(a=t.create("node","mmultiscripts",[o]),n&&$o.appendChildren(a,[$o.getChildAt(n,1)||t.create("node","none"),$o.getChildAt(n,2)||t.create("node","none")]),$o.setProperty(a,"scriptalign","left"),$o.appendChildren(a,[t.create("node","mprescripts"),$o.getChildAt(s,1)||t.create("node","none"),$o.getChildAt(s,2)||t.create("node","none")]))),n&&a===o&&(n.replaceChild(o,$o.getChildAt(n,0)),a=n);const l=t.create("node","TeXAtom",[],{texClass:fn.OP,movesupsub:!0,movablelimits:!0});i&&(s&&l.appendChild(s),l.appendChild(i)),l.appendChild(a),r&&l.appendChild(r),t.Push(l)},operatorLetter:(t,e)=>!!t.stack.env.operatorLetters&&kl.variable(t,e),MultiIntegral(t,e,s){let i=t.GetNext();if("\\"===i){const n=t.i;i=t.GetArgument(e),t.i=n,"\\limits"===i&&(s="\\!\\!\\mathop{\\,\\,"+s+"}")}t.string=s+" "+t.string.slice(t.i),t.i=0},xArrow(t,e,s,i,n,r=0){const o={width:"+"+oa.em((i+n)/18),lspace:oa.em(i/18)},a=t.GetBrackets(e),l=t.ParseArg(e),c=t.create("node","mspace",[],{depth:".2em"});let h=t.create("token","mo",{stretchy:!0,texClass:fn.ORD},String.fromCodePoint(s));r&&h.attributes.set("minsize",oa.em(r)),h=t.create("node","mstyle",[h],{scriptlevel:0});const d=t.create("node","munderover",[h]);let u=t.create("node","mpadded",[l,c],o);if($o.setAttribute(u,"voffset","-.2em"),$o.setAttribute(u,"height","-.2em"),$o.setChild(d,d.over,u),a){const e=new ua(a,t.stack.env,t.configuration).mml(),s=t.create("node","mspace",[],{height:".75em"});u=t.create("node","mpadded",[e,s],o),$o.setAttribute(u,"voffset",".15em"),$o.setAttribute(u,"depth","-.15em"),$o.setChild(d,d.under,u)}$o.setProperty(d,"subsupOK",!0),t.Push(t.create("node","TeXAtom",[t.create("node","TeXAtom",[],{texClass:fn.NONE}),d],{texClass:fn.REL}))},HandleShove(t,e,s){const i=t.stack.Top();if("multline"!==i.kind)throw new ca("CommandOnlyAllowedInEnv","%1 only allowed in %2 environment",t.currentCS,"multline");if(i.Size())throw new ca("CommandAtTheBeginingOfLine","%1 must come at the beginning of the line",t.currentCS);i.setProperty("shove",s)},CFrac(t,e){let s=oa.trimSpaces(t.GetBrackets(e,""));const i=t.GetArgument(e),n=t.GetArgument(e),r={l:Jo.Align.LEFT,r:Jo.Align.RIGHT,"":""},o=new ua("\\strut\\textstyle{"+i+"}",t.stack.env,t.configuration).mml(),a=new ua("\\strut\\textstyle{"+n+"}",t.stack.env,t.configuration).mml(),l=t.create("node","mfrac",[o,a]);if(s=r[s],null==s)throw new ca("IllegalAlign","Illegal alignment specified in %1",t.currentCS);s&&$o.setProperties(l,{numalign:s,denomalign:s}),t.Push(l)},Genfrac(t,e,s,i,n,r){null==s&&(s=t.GetDelimiterArg(e)),null==i&&(i=t.GetDelimiterArg(e)),null==n&&(n=t.GetArgument(e)),null==r&&(r=oa.trimSpaces(t.GetArgument(e)));const o=t.ParseArg(e),a=t.ParseArg(e);let l=t.create("node","mfrac",[o,a]);if(""!==n&&$o.setAttribute(l,"linethickness",n),(s||i)&&($o.setProperty(l,"withDelims",!0),l=Na.fixedFence(t.configuration,s,l,i)),""!==r){const e=parseInt(r,10),s=["D","T","S","SS"][e];if(null==s)throw new ca("BadMathStyleFor","Bad math style for %1",t.currentCS);l=t.create("node","mstyle",[l]),"D"===s?$o.setProperties(l,{displaystyle:!0,scriptlevel:0}):$o.setProperties(l,{displaystyle:!1,scriptlevel:e-1})}t.Push(l)},HandleTag(t,e){if(!t.tags.currentTag.taggable&&t.tags.env)throw new ca("CommandNotAllowedInEnv","%1 not allowed in %2 environment",t.currentCS,t.tags.env);if(t.tags.currentTag.tag)throw new ca("MultipleCommand","Multiple %1",t.currentCS);const s=t.GetStar(),i=oa.trimSpaces(t.GetArgument(e));t.tags.tag(i,s),t.Push(t.itemFactory.create("null"))},HandleNoTag:wl.HandleNoTag,HandleRef:wl.HandleRef,Macro:wl.Macro,Accent:wl.Accent,Tilde:wl.Tilde,Array:wl.Array,Spacer:wl.Spacer,NamedOp:wl.NamedOp,EqnArray:wl.EqnArray,Equation:wl.Equation};new Ua("AMSmath-mathchar0mo",kl.mathchar0mo,{iiiint:["\u2a0c",{texClass:fn.OP}]}),new ja("AMSmath-operatorLetter",Kl.operatorLetter,/[-*]/i),new qa("AMSmath-macros",{mathring:[Kl.Accent,"02DA"],nobreakspace:Kl.Tilde,negmedspace:[Kl.Spacer,bo.negativemediummathspace],negthickspace:[Kl.Spacer,bo.negativethickmathspace],idotsint:[Kl.MultiIntegral,"\\int\\cdots\\int"],dddot:[Kl.Accent,"20DB"],ddddot:[Kl.Accent,"20DC"],sideset:Kl.SideSet,boxed:[Kl.Macro,"\\fbox{$\\displaystyle{#1}$}",1],tag:Kl.HandleTag,notag:Kl.HandleNoTag,eqref:[Kl.HandleRef,!0],substack:[Kl.Macro,"\\begin{subarray}{c}#1\\end{subarray}",1],injlim:[Kl.NamedOp,"inj lim"],projlim:[Kl.NamedOp,"proj lim"],varliminf:[Kl.Macro,"\\mathop{\\underline{\\mmlToken{mi}{lim}}}"],varlimsup:[Kl.Macro,"\\mathop{\\overline{\\mmlToken{mi}{lim}}}"],varinjlim:[Kl.Macro,"\\mathop{\\underrightarrow{\\mmlToken{mi}{lim}}}"],varprojlim:[Kl.Macro,"\\mathop{\\underleftarrow{\\mmlToken{mi}{lim}}}"],DeclareMathOperator:Kl.HandleDeclareOp,operatorname:Kl.HandleOperatorName,genfrac:Kl.Genfrac,frac:[Kl.Genfrac,"","","",""],tfrac:[Kl.Genfrac,"","","","1"],dfrac:[Kl.Genfrac,"","","","0"],binom:[Kl.Genfrac,"(",")","0",""],tbinom:[Kl.Genfrac,"(",")","0","1"],dbinom:[Kl.Genfrac,"(",")","0","0"],cfrac:Kl.CFrac,shoveleft:[Kl.HandleShove,Jo.Align.LEFT],shoveright:[Kl.HandleShove,Jo.Align.RIGHT],xrightarrow:[Kl.xArrow,8594,5,10],xleftarrow:[Kl.xArrow,8592,10,5]}),new Va("AMSmath-environment",kl.environment,{"equation*":[Kl.Equation,null,!1],"eqnarray*":[Kl.EqnArray,null,!1,!0,"rcl","bmt",Na.cols(0,bo.thickmathspace),".5em"],align:[Kl.EqnArray,null,!0,!0,"rl","bt",Na.cols(0,2)],"align*":[Kl.EqnArray,null,!1,!0,"rl","bt",Na.cols(0,2)],multline:[Kl.Multline,null,!0],"multline*":[Kl.Multline,null,!1],split:[Kl.EqnArray,null,!1,!1,"rl","bt",Na.cols(0)],gather:[Kl.EqnArray,null,!0,!0,"c","m"],"gather*":[Kl.EqnArray,null,!1,!0,"c","m"],alignat:[Kl.AlignAt,null,!0,!0],"alignat*":[Kl.AlignAt,null,!1,!0],alignedat:[Kl.AlignAt,null,!1,!1],aligned:[Kl.AmsEqnArray,null,null,null,"rl","bt",Na.cols(0,2),".5em","D"],gathered:[Kl.AmsEqnArray,null,null,null,"c","m",null,".5em","D"],xalignat:[Kl.XalignAt,null,!0,!0],"xalignat*":[Kl.XalignAt,null,!1,!0],xxalignat:[Kl.XalignAt,null,!1,!1],flalign:[Kl.FlalignArray,null,!0,!1,!0,"rlc","btm","auto auto fit"],"flalign*":[Kl.FlalignArray,null,!1,!1,!0,"rlc","btm","auto auto fit"],subarray:[Kl.Array,null,null,null,null,Na.cols(0),"0.1em","S",!0],smallmatrix:[Kl.Array,null,null,null,"c",Na.cols(1/3),".2em","S",!0],matrix:[Kl.Array,null,null,null,"c"],pmatrix:[Kl.Array,null,"(",")","c"],bmatrix:[Kl.Array,null,"[","]","c"],Bmatrix:[Kl.Array,null,"\\{","\\}","c"],vmatrix:[Kl.Array,null,"\\vert","\\vert","c"],Vmatrix:[Kl.Array,null,"\\Vert","\\Vert","c"],cases:[Kl.Array,null,"\\{",".","ll",null,".2em","T"]}),new Ha("AMSmath-delimiter",kl.delimiter,{"\\lvert":["|",{texClass:fn.OPEN}],"\\rvert":["|",{texClass:fn.CLOSE}],"\\lVert":["\u2016",{texClass:fn.OPEN}],"\\rVert":["\u2016",{texClass:fn.CLOSE}]}),new Ua("AMSsymbols-mathchar0mi",kl.mathchar0mi,{digamma:"\u03dd",varkappa:"\u03f0",varGamma:["\u0393",{mathvariant:Jo.Variant.ITALIC}],varDelta:["\u0394",{mathvariant:Jo.Variant.ITALIC}],varTheta:["\u0398",{mathvariant:Jo.Variant.ITALIC}],varLambda:["\u039b",{mathvariant:Jo.Variant.ITALIC}],varXi:["\u039e",{mathvariant:Jo.Variant.ITALIC}],varPi:["\u03a0",{mathvariant:Jo.Variant.ITALIC}],varSigma:["\u03a3",{mathvariant:Jo.Variant.ITALIC}],varUpsilon:["\u03a5",{mathvariant:Jo.Variant.ITALIC}],varPhi:["\u03a6",{mathvariant:Jo.Variant.ITALIC}],varPsi:["\u03a8",{mathvariant:Jo.Variant.ITALIC}],varOmega:["\u03a9",{mathvariant:Jo.Variant.ITALIC}],beth:"\u2136",gimel:"\u2137",daleth:"\u2138",backprime:["\u2035",{variantForm:!0}],hslash:"\u210f",varnothing:["\u2205",{variantForm:!0}],blacktriangle:"\u25b4",triangledown:["\u25bd",{variantForm:!0}],blacktriangledown:"\u25be",square:"\u25fb",Box:"\u25fb",blacksquare:"\u25fc",lozenge:"\u25ca",Diamond:"\u25ca",blacklozenge:"\u29eb",circledS:["\u24c8",{mathvariant:Jo.Variant.NORMAL}],bigstar:"\u2605",sphericalangle:"\u2222",measuredangle:"\u2221",nexists:"\u2204",complement:"\u2201",mho:"\u2127",eth:["\xf0",{mathvariant:Jo.Variant.NORMAL}],Finv:"\u2132",diagup:"\u2571",Game:"\u2141",diagdown:"\u2572",Bbbk:["k",{mathvariant:Jo.Variant.DOUBLESTRUCK}],yen:"\xa5",circledR:"\xae",checkmark:"\u2713",maltese:"\u2720"}),new Ua("AMSsymbols-mathchar0mo",kl.mathchar0mo,{dotplus:"\u2214",ltimes:"\u22c9",smallsetminus:["\u2216",{variantForm:!0}],rtimes:"\u22ca",Cap:"\u22d2",doublecap:"\u22d2",leftthreetimes:"\u22cb",Cup:"\u22d3",doublecup:"\u22d3",rightthreetimes:"\u22cc",barwedge:"\u22bc",curlywedge:"\u22cf",veebar:"\u22bb",curlyvee:"\u22ce",doublebarwedge:"\u2a5e",boxminus:"\u229f",circleddash:"\u229d",boxtimes:"\u22a0",circledast:"\u229b",boxdot:"\u22a1",circledcirc:"\u229a",boxplus:"\u229e",centerdot:["\u22c5",{variantForm:!0}],divideontimes:"\u22c7",intercal:"\u22ba",leqq:"\u2266",geqq:"\u2267",leqslant:"\u2a7d",geqslant:"\u2a7e",eqslantless:"\u2a95",eqslantgtr:"\u2a96",lesssim:"\u2272",gtrsim:"\u2273",lessapprox:"\u2a85",gtrapprox:"\u2a86",approxeq:"\u224a",lessdot:"\u22d6",gtrdot:"\u22d7",lll:"\u22d8",llless:"\u22d8",ggg:"\u22d9",gggtr:"\u22d9",lessgtr:"\u2276",gtrless:"\u2277",lesseqgtr:"\u22da",gtreqless:"\u22db",lesseqqgtr:"\u2a8b",gtreqqless:"\u2a8c",doteqdot:"\u2251",Doteq:"\u2251",eqcirc:"\u2256",risingdotseq:"\u2253",circeq:"\u2257",fallingdotseq:"\u2252",triangleq:"\u225c",backsim:"\u223d",thicksim:["\u223c",{variantForm:!0}],backsimeq:"\u22cd",thickapprox:["\u2248",{variantForm:!0}],subseteqq:"\u2ac5",supseteqq:"\u2ac6",Subset:"\u22d0",Supset:"\u22d1",sqsubset:"\u228f",sqsupset:"\u2290",preccurlyeq:"\u227c",succcurlyeq:"\u227d",curlyeqprec:"\u22de",curlyeqsucc:"\u22df",precsim:"\u227e",succsim:"\u227f",precapprox:"\u2ab7",succapprox:"\u2ab8",vartriangleleft:"\u22b2",lhd:"\u22b2",vartriangleright:"\u22b3",rhd:"\u22b3",trianglelefteq:"\u22b4",unlhd:"\u22b4",trianglerighteq:"\u22b5",unrhd:"\u22b5",vDash:"\u22a8",Vdash:"\u22a9",Vvdash:"\u22aa",smallsmile:["\u2323",{variantForm:!0}],shortmid:["\u2223",{variantForm:!0}],smallfrown:["\u2322",{variantForm:!0}],shortparallel:["\u2225",{variantForm:!0}],bumpeq:"\u224f",between:"\u226c",Bumpeq:"\u224e",pitchfork:"\u22d4",varpropto:["\u221d",{variantForm:!0}],backepsilon:"\u220d",blacktriangleleft:"\u25c2",blacktriangleright:"\u25b8",therefore:"\u2234",because:"\u2235",eqsim:"\u2242",vartriangle:["\u25b3",{variantForm:!0}],Join:"\u22c8",nless:"\u226e",ngtr:"\u226f",nleq:"\u2270",ngeq:"\u2271",nleqslant:["\u2a87",{variantForm:!0}],ngeqslant:["\u2a88",{variantForm:!0}],nleqq:["\u2270",{variantForm:!0}],ngeqq:["\u2271",{variantForm:!0}],lneq:"\u2a87",gneq:"\u2a88",lneqq:"\u2268",gneqq:"\u2269",lvertneqq:["\u2268",{variantForm:!0}],gvertneqq:["\u2269",{variantForm:!0}],lnsim:"\u22e6",gnsim:"\u22e7",lnapprox:"\u2a89",gnapprox:"\u2a8a",nprec:"\u2280",nsucc:"\u2281",npreceq:["\u22e0",{variantForm:!0}],nsucceq:["\u22e1",{variantForm:!0}],precneqq:"\u2ab5",succneqq:"\u2ab6",precnsim:"\u22e8",succnsim:"\u22e9",precnapprox:"\u2ab9",succnapprox:"\u2aba",nsim:"\u2241",ncong:"\u2247",nshortmid:["\u2224",{variantForm:!0}],nshortparallel:["\u2226",{variantForm:!0}],nmid:"\u2224",nparallel:"\u2226",nvdash:"\u22ac",nvDash:"\u22ad",nVdash:"\u22ae",nVDash:"\u22af",ntriangleleft:"\u22ea",ntriangleright:"\u22eb",ntrianglelefteq:"\u22ec",ntrianglerighteq:"\u22ed",nsubseteq:"\u2288",nsupseteq:"\u2289",nsubseteqq:["\u2288",{variantForm:!0}],nsupseteqq:["\u2289",{variantForm:!0}],subsetneq:"\u228a",supsetneq:"\u228b",varsubsetneq:["\u228a",{variantForm:!0}],varsupsetneq:["\u228b",{variantForm:!0}],subsetneqq:"\u2acb",supsetneqq:"\u2acc",varsubsetneqq:["\u2acb",{variantForm:!0}],varsupsetneqq:["\u2acc",{variantForm:!0}],leftleftarrows:"\u21c7",rightrightarrows:"\u21c9",leftrightarrows:"\u21c6",rightleftarrows:"\u21c4",Lleftarrow:"\u21da",Rrightarrow:"\u21db",twoheadleftarrow:"\u219e",twoheadrightarrow:"\u21a0",leftarrowtail:"\u21a2",rightarrowtail:"\u21a3",looparrowleft:"\u21ab",looparrowright:"\u21ac",leftrightharpoons:"\u21cb",rightleftharpoons:["\u21cc",{variantForm:!0}],curvearrowleft:"\u21b6",curvearrowright:"\u21b7",circlearrowleft:"\u21ba",circlearrowright:"\u21bb",Lsh:"\u21b0",Rsh:"\u21b1",upuparrows:"\u21c8",downdownarrows:"\u21ca",upharpoonleft:"\u21bf",upharpoonright:"\u21be",downharpoonleft:"\u21c3",restriction:"\u21be",multimap:"\u22b8",downharpoonright:"\u21c2",leftrightsquigarrow:"\u21ad",rightsquigarrow:"\u21dd",leadsto:"\u21dd",dashrightarrow:"\u21e2",dashleftarrow:"\u21e0",nleftarrow:"\u219a",nrightarrow:"\u219b",nLeftarrow:"\u21cd",nRightarrow:"\u21cf",nleftrightarrow:"\u21ae",nLeftrightarrow:"\u21ce"}),new Ha("AMSsymbols-delimiter",kl.delimiter,{"\\ulcorner":"\u231c","\\urcorner":"\u231d","\\llcorner":"\u231e","\\lrcorner":"\u231f"}),new qa("AMSsymbols-macros",{implies:[Kl.Macro,"\\;\\Longrightarrow\\;"],impliedby:[Kl.Macro,"\\;\\Longleftarrow\\;"]});class $l extends da{get kind(){return"beginEnv"}get isOpen(){return!0}checkItem(t){if(t.isKind("end")){if(t.getName()!==this.getName())throw new ca("EnvBadEnd","\\begin{%1} ended with \\end{%2}",this.getName(),t.getName());return[[this.factory.create("mml",this.toMml())],!0]}if(t.isKind("stop"))throw new ca("EnvMissingEnd","Missing \\end{%1}",this.getName());return super.checkItem(t)}}const Jl={NewCommand(t,e){const s=Gl.GetCsNameArgument(t,e),i=Gl.GetArgCount(t,e),n=t.GetBrackets(e),r=t.GetArgument(e);Gl.addMacro(t,s,Jl.Macro,[r,i,n]),t.Push(t.itemFactory.create("null"))},NewEnvironment(t,e){const s=oa.trimSpaces(t.GetArgument(e)),i=Gl.GetArgCount(t,e),n=t.GetBrackets(e),r=t.GetArgument(e),o=t.GetArgument(e);Gl.addEnvironment(t,s,Jl.BeginEnv,[!0,r,o,i,n]),t.Push(t.itemFactory.create("null"))},MacroDef(t,e){const s=Gl.GetCSname(t,e),i=Gl.GetTemplate(t,e,"\\"+s),n=t.GetArgument(e);i instanceof Array?Gl.addMacro(t,s,Jl.MacroWithTemplate,[n].concat(i)):Gl.addMacro(t,s,Jl.Macro,[n,i]),t.Push(t.itemFactory.create("null"))},Let(t,e){const s=Gl.GetCSname(t,e);let i=t.GetNext();"="===i&&(t.i++,i=t.GetNext());const n=t.configuration.handlers;if(t.Push(t.itemFactory.create("null")),"\\"===i){if(s===(e=Gl.GetCSname(t,e)))return;const i=n.get(na.MACRO).applicable(e);if(i instanceof Wa){const n=i.lookup(e);return void Gl.addMacro(t,s,n.func,n.args,n.token)}if(i instanceof Ua&&!(i instanceof Ha)){const n=i.lookup(e),r=t=>i.parser(t,n);return void Gl.addMacro(t,s,r,[s,n.char])}const r=n.get(na.DELIMITER).lookup("\\"+e);return r?void Gl.addDelimiter(t,"\\"+s,r.char,r.attributes):(Gl.checkProtectedMacros(t,s),Gl.undefineMacro(t,s),void Gl.undefineDelimiter(t,"\\"+s))}t.i++;const r=n.get(na.DELIMITER).lookup(i);r?Gl.addDelimiter(t,"\\"+s,r.char,r.attributes):Gl.addMacro(t,s,Jl.Macro,[i])},MacroWithTemplate(t,e,s,i,...n){const r=parseInt(i,10);if(n.length){const i=[];if(t.GetNext(),n[0]&&!Gl.MatchParam(t,n[0]))throw new ca("MismatchUseDef","Use of %1 doesn't match its definition",e);if(r){for(let s=0;s<r;s++)i.push(Gl.GetParameter(t,e,n[s+1]));s=Na.substituteArgs(t,i,s)}}t.string=Na.addArgs(t,s,t.string.slice(t.i)),t.i=0,Na.checkMaxMacros(t)},BeginEnv(t,e,s,i,n,r){const o=e.getName();if(t.stack.env.closing===o){delete t.stack.env.closing;if(t.stack.global.beginEnv&&(t.stack.global.beginEnv--,i)){const e=t.string.slice(t.i);t.string=Na.addArgs(t,t.string.substring(0,t.i),i),t.Parse(),t.string=e,t.i=0}return t.itemFactory.create("end").setProperty("name",o)}if(n){const e=[];if(null!=r){const s=t.GetBrackets(`\\begin{${o}}`);e.push(null==s?r:s)}for(let s=e.length;s<n;s++)e.push(t.GetArgument(`\\begin{${o}}`));s=Na.substituteArgs(t,e,s),i=Na.substituteArgs(t,[],i)}return t.string=Na.addArgs(t,s,t.string.slice(t.i)),t.i=0,t.stack.global.beginEnv=(t.stack.global.beginEnv||0)+1,t.itemFactory.create("beginEnv").setProperty("name",o)},Macro:wl.Macro},Yl=Jl;function Ql(t,e){e.parseOptions.packageData.has("newcommand")||(e.parseOptions.packageData.set("newcommand",{}),new Ha(ql.NEW_DELIMITER,kl.delimiter,{}),new qa(ql.NEW_COMMAND,{}),new Va(ql.NEW_ENVIRONMENT,kl.environment,{}),e.parseOptions.handlers.add({[na.CHARACTER]:[],[na.DELIMITER]:[ql.NEW_DELIMITER],[na.MACRO]:[ql.NEW_DELIMITER,ql.NEW_COMMAND],[na.ENVIRONMENT]:[ql.NEW_ENVIRONMENT]},{},Vl))}new qa("Newcommand-macros",{newcommand:Yl.NewCommand,renewcommand:Yl.NewCommand,newenvironment:Yl.NewEnvironment,renewenvironment:Yl.NewEnvironment,def:Yl.MacroDef,let:Yl.Let});const Zl=$a.create("newcommand",{[ia.HANDLER]:{macro:["Newcommand-macros"]},[ia.ITEMS]:{[$l.prototype.kind]:$l},[ia.OPTIONS]:{maxMacros:1e3,protectedMacros:["begingroupSandbox"]},[ia.CONFIG]:Ql});class tc extends Ra{}const ec=$a.create("ams",{[ia.HANDLER]:{[na.CHARACTER]:["AMSmath-operatorLetter"],[na.DELIMITER]:["AMSsymbols-delimiter","AMSmath-delimiter"],[na.MACRO]:["AMSsymbols-mathchar0mi","AMSsymbols-mathchar0mo","AMSsymbols-delimiter","AMSsymbols-macros","AMSmath-mathchar0mo","AMSmath-macros","AMSmath-delimiter"],[na.ENVIRONMENT]:["AMSmath-environment"]},[ia.ITEMS]:{[Hl.prototype.kind]:Hl,[Wl.prototype.kind]:Wl},[ia.TAGS]:{ams:tc},[ia.OPTIONS]:{multlineWidth:"",ams:{operatornamePattern:/^[-*a-zA-Z0-9]+/,multlineWidth:"100%",multlineIndent:"1em"}},[ia.CONFIG]:Ql}),sc=Vi.config;function ic(t,e){const s=t.parseOptions.options.require,i=t.parseOptions.packageData.get("require").required,n=e.substring(s.prefix.length);if(!i.includes(n)){i.push(n);const s=function(t,e=[]){const s=t.parseOptions.options.require.prefix,i=[];for(const n of e)if(n.substring(0,s.length)===s)try{ic(t,n)}catch(t){if(!t.retry)throw t;i.push(t.retry)}return i.length?Promise.all(i):null}(t,Ci.dependencies[e]);s?to.retryAfter(s.then(()=>nc(t,e,n))):nc(t,e,n)}}function nc(t,e,s){const i=Ya.get(s);if(i){let n=sc[e]||{};i.options&&1===Object.keys(i.options).length&&i.options[s]&&(n={[s]:n}),t.configuration.add(s,t,n);const r=t.parseOptions.packageData.get("require").configured;i.preprocessors.length&&!r.has(s)&&(r.set(s,!0),to.retryAfter(Promise.resolve()))}}function rc(t,e){var s,i;const n=t.options.require,r=n.allow,o=("["===e.substring(0,1)?"":n.prefix)+e;if(!(Object.hasOwn(r,o)?r[o]:Object.hasOwn(r,e)?r[e]:n.defaultAllow))throw new ca("BadRequire",'Extension "%1" is not allowed to be loaded',o);const a=gi.packages.get(o);if(a||to.retryAfter(vi.load(o).catch(t=>{})),a.hasFailed)throw new ca("RequireFail",'Extension "%1" failed to load',e);const l=null===(s=Ci[o])||void 0===s?void 0:s.rendererExtensions,c=null===(i=Vi.startup.document)||void 0===i?void 0:i.menu;l&&c&&c.addRequiredExtensions(l),ic(t.configuration.packageData.get("require").jax,o)}const oc={Require(t,e){const s=t.GetArgument(e);if(s.match(/[^_a-zA-Z0-9]/)||""===s)throw new ca("BadPackageName","Argument for %1 is not a valid package name",e);rc(t,s),t.Push(t.itemFactory.create("null"))}},ac={require:{allow:Mi({base:!1,autoload:!1,configmacros:!1,tagformat:!1,setoptions:!1,texhtml:!1}),defaultAllow:!0,prefix:"tex"}};new qa("require",{require:oc.Require});const lc=$a.create("require",{[ia.HANDLER]:{[na.MACRO]:["require"]},[ia.CONFIG]:function(t,e){e.parseOptions.packageData.set("require",{jax:e,required:[...e.options.packages],configured:new Map});const s=e.parseOptions.options.require,i=s.prefix;if(i.match(/[^_a-zA-Z0-9]/))throw Error("Illegal characters used in \\require prefix");Ci.paths[i]||(Ci.paths[i]="[mathjax]/input/tex/extensions"),s.prefix="["+i+"]/"},[ia.OPTIONS]:ac});function cc(t,e,s,i){if(gi.packages.has(t.options.require.prefix+s)){const n=t.options.autoload[s],[r,o]=2===n.length&&Array.isArray(n[0])?n:[n,[]];for(const t of r)hc.remove(t);for(const t of o)dc.remove(t);t.string=(i?e+" ":"\\begin{"+e.slice(1)+"}")+t.string.slice(t.i),t.i=0}rc(t,s)}const hc=new qa("autoload-macros",{}),dc=new qa("autoload-environments",{}),uc=$a.create("autoload",{[ia.HANDLER]:{[na.MACRO]:["autoload-macros"],[na.ENVIRONMENT]:["autoload-environments"]},[ia.OPTIONS]:{autoload:Mi({action:["toggle","mathtip","texttip"],amscd:[[],["CD"]],bbox:["bbox"],boldsymbol:["boldsymbol"],braket:["bra","ket","braket","set","Bra","Ket","Braket","Set","ketbra","Ketbra"],bussproofs:[[],["prooftree"]],cancel:["cancel","bcancel","xcancel","cancelto"],color:["color","definecolor","textcolor","colorbox","fcolorbox"],enclose:["enclose"],extpfeil:["xtwoheadrightarrow","xtwoheadleftarrow","xmapsto","xlongequal","xtofrom","Newextarrow"],html:["data","href","class","style","cssId"],mhchem:["ce","pu"],newcommand:["newcommand","renewcommand","newenvironment","renewenvironment","def","let"],unicode:["unicode","U","char"],verb:["verb"]})},[ia.CONFIG]:function(t,e){const s=e.parseOptions,i=s.handlers.get(na.MACRO),n=s.handlers.get(na.ENVIRONMENT),r=s.options.autoload;s.packageData.set("autoload",{Autoload:cc});for(const t of Object.keys(r)){const e=r[t],[s,o]=2===e.length&&Array.isArray(e[0])?e:[e,[]];for(const e of s)i.lookup(e)&&"color"!==e||hc.add(e,new Pa(e,cc,[t,!0]));for(const e of o)n.lookup(e)||dc.add(e,new Pa(e,cc,[t,!1]))}s.packageData.get("require")||lc.config(t,e)},[ia.INIT]:function(t){t.options.require||Bi(t.options,lc.options)},[ia.PRIORITY]:10}),pc="configmacros-map",mc="configmacros-active-map",gc="configmacros-env-map";function fc(t,e,s){const i=s.parseOptions.handlers.retrieve(e),n=s.parseOptions.options[t];for(const t of Object.keys(n)){const e="string"==typeof n[t]?[n[t]]:n[t],s=Array.isArray(e[2])?new Pa(t,Yl.MacroWithTemplate,e.slice(0,2).concat(e[2])):new Pa(t,Yl.Macro,e);i.add(t,s)}}const bc=$a.create("configmacros",{[ia.INIT]:function(t){new Wa(mc,{}),new qa(pc,{}),new Va(gc,kl.environment,{}),t.append($a.local({handler:{[na.CHARACTER]:[mc],[na.MACRO]:[pc],[na.ENVIRONMENT]:[gc]},priority:3}))},[ia.CONFIG]:function(t,e){!function(t){fc("active",mc,t)}(e),function(t){fc("macros",pc,t)}(e),function(t){const e=t.parseOptions.handlers.retrieve(gc),s=t.parseOptions.options.environments;for(const t of Object.keys(s))e.add(t,new Pa(t,Yl.BeginEnv,[!0].concat(s[t])))}(e)},[ia.ITEMS]:{[$l.prototype.kind]:$l},[ia.OPTIONS]:{active:Mi({}),macros:Mi({}),environments:Mi({})}});const Ec=$a.create("noundefined",{[ia.FALLBACK]:{[na.MACRO]:function(t,e){const s=t.create("text","\\"+e),i=t.options.noundefined,n={};for(const t of["color","background","size"])i[t]&&(n["math"+t]=i[t]);t.Push(t.create("node","mtext",[],n,s))}},[ia.OPTIONS]:{noundefined:{color:"red",background:"",size:""}},[ia.PRIORITY]:3});class yc extends ua{get texParser(){return this.configuration.packageData.get("textmacros").texParser}get tags(){return this.texParser.tags}constructor(t,e,s,i){super(t,e,s),this.level=i}mml(){return this.copyLists(),this.configuration.popParser(),null!=this.level?this.create("node","mstyle",this.nodes,{displaystyle:!1,scriptlevel:this.level}):1===this.nodes.length?this.nodes[0]:this.create("node","mrow",this.nodes)}copyLists(){const t=this.texParser.configuration;for(const[e,s]of Object.entries(this.configuration.nodeLists))for(const i of s)t.addNode(e,i);this.configuration.nodeLists={}}Parse(){this.text="",this.nodes=[],this.envStack=[],super.Parse()}saveText(){if(this.text){const t=this.stack.env.mathvariant,e=Na.internalText(this,this.text,t?{mathvariant:t}:{});this.text="",this.Push(e)}}Push(t){if(this.text&&this.saveText(),t instanceof tl)return super.Push(t);t instanceof pl?this.stack.env.mathcolor=this.stack.env.color:t instanceof vn&&(this.addAttributes(t),this.nodes.push(t))}PushMath(t){const e=this.stack.env;for(const s of["mathsize","mathcolor"])e[s]&&!t.attributes.hasExplicit(s)&&(t.isToken||t.isKind("mstyle")||(t=this.create("node","mstyle",[t])),$o.setAttribute(t,s,e[s]));t.isInferred&&(t=this.create("node","mrow",t.childNodes)),t.isKind("TeXAtom")||(t=this.create("node","TeXAtom",[t])),this.nodes.push(t)}addAttributes(t){const e=this.stack.env;if(t.isToken)for(const s of["mathsize","mathcolor","mathvariant"])e[s]&&!t.attributes.hasExplicit(s)&&$o.setAttribute(t,s,e[s])}ParseTextArg(t,e){const s=this.GetArgument(t);return e=Object.assign(Object.assign({},this.stack.env),e),new yc(s,e,this.configuration).mml()}ParseArg(t){return new yc(this.GetArgument(t),this.stack.env,this.configuration).mml()}Error(t,e,...s){throw new ca(t,e,...s)}}const xc={Comment(t,e){for(;t.i<t.string.length&&"\n"!==t.string.charAt(t.i);)t.i++;t.i++},Math(t,e){t.saveText();const s=t.i;let i,n,r=0;for(;n=t.GetNext();)switch(i=t.i++,n){case"\\":")"===t.GetCS()&&(n="\\(");case"$":if(0===r&&e===n){const e=t.texParser.configuration,n=new ua(t.string.substring(s,i),t.stack.env,e).mml();return void t.PushMath(n)}break;case"{":r++;break;case"}":0===r&&t.Error("ExtraCloseMissingOpen","Extra close brace or missing open brace"),r--}t.Error("MathNotTerminated","Math mode is not properly terminated")},MathModeOnly(t,e){t.Error("MathModeOnly","'%1' allowed only in math mode",e)},Misplaced(t,e){t.Error("Misplaced","Misplaced '%1'",e)},OpenBrace(t,e){const s=t.stack.env;t.envStack.push(s),t.stack.env=Object.assign({},s)},CloseBrace(t,e){t.envStack.length?(t.saveText(),t.stack.env=t.envStack.pop()):t.Error("ExtraCloseMissingOpen","Extra close brace or missing open brace")},OpenQuote(t,e){t.string.charAt(t.i)===e?(t.text+="\u201c",t.i++):t.text+="\u2018"},CloseQuote(t,e){t.string.charAt(t.i)===e?(t.text+="\u201d",t.i++):t.text+="\u2019"},Tilde(t,e){t.text+="\xa0"},Space(t,e){t.text+=" ",t.GetNext()},SelfQuote(t,e){t.text+=e.substring(1)},Insert(t,e,s){t.text+=s},Accent(t,e,s){const i=t.ParseArg(e),n=t.create("token","mo",{},s);t.addAttributes(n),t.Push(t.create("node","mover",[i,n]))},Emph(t,e){const s="-tex-mathit"===t.stack.env.mathvariant?"normal":"-tex-mathit";t.Push(t.ParseTextArg(e,{mathvariant:s}))},TextFont(t,e,s){t.saveText(),t.Push(t.ParseTextArg(e,{mathvariant:s}))},SetFont(t,e,s){t.saveText(),t.stack.env.mathvariant=s},SetSize(t,e,s){t.saveText(),t.stack.env.mathsize=s},CheckAutoload(t,e){const s=t.configuration.packageData.get("autoload"),i=t.texParser;e=e.slice(1);const n=i.lookup(na.MACRO,e);if(!n||s&&n._func===s.Autoload){if(i.parse(na.MACRO,[i,e]),!n)return;Pr(Promise.resolve())}i.parse(na.MACRO,[t,e])},Macro:wl.Macro,Spacer:wl.Spacer,Hskip:wl.Hskip,rule:wl.rule,Rule:wl.Rule,HandleRef:wl.HandleRef,UnderOver:wl.UnderOver,Lap:wl.Lap,Phantom:wl.Phantom,Smash:wl.Smash,MmlToken:wl.MmlToken},Nc=Jo.Variant;new Wa("text-special",{$:xc.Math,"%":xc.Comment,"^":xc.MathModeOnly,_:xc.MathModeOnly,"&":xc.Misplaced,"#":xc.Misplaced,"~":xc.Tilde," ":xc.Space,"\t":xc.Space,"\r":xc.Space,"\n":xc.Space,"\xa0":xc.Tilde,"{":xc.OpenBrace,"}":xc.CloseBrace,"`":xc.OpenQuote,"'":xc.CloseQuote}),new qa("text-macros",{"(":xc.Math,$:xc.SelfQuote,_:xc.SelfQuote,"%":xc.SelfQuote,"{":xc.SelfQuote,"}":xc.SelfQuote," ":xc.SelfQuote,"&":xc.SelfQuote,"#":xc.SelfQuote,"\\":[xc.Macro,"$\\\\$"],"'":[xc.Accent,"\xb4"],"\u2019":[xc.Accent,"\xb4"],"`":[xc.Accent,"`"],"\u2018":[xc.Accent,"`"],"^":[xc.Accent,"^"],'"':[xc.Accent,"\xa8"],"~":[xc.Accent,"~"],"=":[xc.Accent,"\xaf"],".":[xc.Accent,"\u02d9"],u:[xc.Accent,"\u02d8"],v:[xc.Accent,"\u02c7"],emph:xc.Emph,rm:[xc.SetFont,Nc.NORMAL],mit:[xc.SetFont,Nc.ITALIC],oldstyle:[xc.SetFont,Nc.OLDSTYLE],cal:[xc.SetFont,Nc.CALLIGRAPHIC],it:[xc.SetFont,"-tex-mathit"],bf:[xc.SetFont,Nc.BOLD],sf:[xc.SetFont,Nc.SANSSERIF],tt:[xc.SetFont,Nc.MONOSPACE],frak:[xc.TextFont,Nc.FRAKTUR],Bbb:[xc.TextFont,Nc.DOUBLESTRUCK],Tiny:[xc.SetSize,.5],tiny:[xc.SetSize,.6],scriptsize:[xc.SetSize,.7],SMALL:[xc.SetSize,.7],Small:[xc.SetSize,.8],footnotesize:[xc.SetSize,.8],small:[xc.SetSize,.9],normalsize:[xc.SetSize,1],large:[xc.SetSize,1.095],Large:[xc.SetSize,1.2],LARGE:[xc.SetSize,1.44],huge:[xc.SetSize,1.73],Huge:[xc.SetSize,2.07],HUGE:[xc.SetSize,2.49],textnormal:[xc.Macro,"{\\rm #1}",1],textup:[xc.Macro,"{\\rm #1}",1],textrm:[xc.Macro,"{\\rm #1}",1],textit:[xc.Macro,"{\\it #1}",1],textbf:[xc.Macro,"{\\bf #1}",1],textsf:[xc.Macro,"{\\sf #1}",1],texttt:[xc.Macro,"{\\tt #1}",1],dagger:[xc.Insert,"\u2020"],ddagger:[xc.Insert,"\u2021"],S:[xc.Insert,"\xa7"],AA:[xc.Insert,"\u212b"],ldots:[xc.Insert,"\u2026"],vdots:[xc.Insert,"\u22ee"],",":[xc.Spacer,bo.thinmathspace],":":[xc.Spacer,bo.mediummathspace],">":[xc.Spacer,bo.mediummathspace],";":[xc.Spacer,bo.thickmathspace],"!":[xc.Spacer,bo.negativethinmathspace],enspace:[xc.Spacer,.5],quad:[xc.Spacer,1],qquad:[xc.Spacer,2],thinspace:[xc.Spacer,bo.thinmathspace],negthinspace:[xc.Spacer,bo.negativethinmathspace],hskip:xc.Hskip,hspace:xc.Hskip,kern:xc.Hskip,mskip:xc.Hskip,mspace:xc.Hskip,mkern:xc.Hskip,rule:xc.rule,Rule:[xc.Rule],Space:[xc.Rule,"blank"],color:xc.CheckAutoload,textcolor:xc.CheckAutoload,colorbox:xc.CheckAutoload,fcolorbox:xc.CheckAutoload,href:xc.CheckAutoload,style:xc.CheckAutoload,class:xc.CheckAutoload,data:xc.CheckAutoload,cssId:xc.CheckAutoload,unicode:xc.CheckAutoload,U:xc.CheckAutoload,char:xc.CheckAutoload,ref:[xc.HandleRef,!1],eqref:[xc.HandleRef,!0],underline:[xc.UnderOver,"2015"],llap:xc.Lap,rlap:xc.Lap,phantom:xc.Phantom,vphantom:[xc.Phantom,1,0],hphantom:[xc.Phantom,0,1],smash:xc.Smash,mmlToken:xc.MmlToken});const vc=$a.create("text-base",{[ia.PARSER]:"text",[ia.PRIORITY]:1,[ia.HANDLER]:{[na.CHARACTER]:["command","text-special"],[na.MACRO]:["text-macros"]},[ia.FALLBACK]:{[na.CHARACTER]:(t,e)=>{t.text+=e},[na.MACRO]:(t,e)=>{const s=t.texParser,i=s.lookup(na.MACRO,e);i&&i._func!==xc.Macro&&t.Error("MathMacro","%1 is only supported in math mode","\\"+e),s.parse(na.MACRO,[t,e])}},[ia.ITEMS]:{[Za.prototype.kind]:Za,[tl.prototype.kind]:tl,[fl.prototype.kind]:fl,[pl.prototype.kind]:pl}});function Tc(t,e,s,i){const n=t.configuration.packageData.get("textmacros");return t instanceof yc||(n.texParser=t),n.parseOptions.clear(),[new yc(e,i?{mathvariant:i}:{},n.parseOptions,s).mml()]}const Cc=$a.create("textmacros",{[ia.PRIORITY]:1,[ia.CONFIG]:(t,e)=>{const s=new Qa(e.parseOptions.options.textmacros.packages,["tex","text"]);s.init();const i=new Aa(s,[]);i.options=e.parseOptions.options,s.config(e),ka.addTags(s.tags),i.tags=ka.getDefault(),i.tags.configuration=i,i.packageData=e.parseOptions.packageData,i.packageData.set("textmacros",{textConf:s,parseOptions:i,jax:e,texParser:null}),i.options.internalMath=Tc},[ia.PREPROCESSORS]:[t=>{const e=t.data.packageData.get("textmacros");e.parseOptions.nodeFactory.setMmlFactory(e.jax.mmlFactory)}],[ia.OPTIONS]:{textmacros:{packages:["text-base"]}}});MathJax.loader&&MathJax.loader.checkVersion("input/tex",ni,"input"),hi({_:{input:{tex_ts:ee,tex:{ColumnParser:Vt,Configuration:Jt,FilterUtil:Dt,FindTeX:Mt,HandlerTypes:Pt,MapHandler:$t,NodeFactory:Wt,NodeUtil:Ot,ParseMethods:Zt,ParseOptions:Gt,ParseUtil:qt,Stack:Ft,StackItem:_t,StackItemFactory:Ht,Tags:Xt,TexConstants:kt,TexError:jt,TexParser:Ut,Token:zt,TokenMap:Kt,UnitUtil:Bt,ams:{AmsConfiguration:le,AmsItems:se,AmsMethods:ne},autoload:{AutoloadConfiguration:he},base:{BaseConfiguration:te,BaseItems:Yt,BaseMethods:Qt},configmacros:{ConfigMacrosConfiguration:de},newcommand:{NewcommandConfiguration:ae,NewcommandItems:re,NewcommandMethods:oe,NewcommandUtil:ie},noundefined:{NoUndefinedConfiguration:ue},require:{RequireConfiguration:ce},textmacros:{TextMacrosConfiguration:ge,TextMacrosMethods:me,TextParser:pe}}}}}),vi.preLoaded("input/tex-base","[tex]/ams","[tex]/newcommand","[tex]/textmacros","[tex]/noundefined","[tex]/require","[tex]/autoload","[tex]/configmacros"),function(t=[],e=!0){if(MathJax.startup){e&&(MathJax.startup.registerConstructor("tex",MathJax._.input.tex_ts.TeX),MathJax.startup.useInput("tex")),MathJax.config.tex||(MathJax.config.tex={});let s=MathJax.config.tex.packages;MathJax.config.tex.packages=t,s&&(Array.isArray(s)&&(s={"[+]":s.filter(e=>!t.includes(e))}),Pi(MathJax.config.tex,{packages:s}))}}(["base","ams","newcommand","textmacros","noundefined","require","autoload","configmacros"]);const Ac="http://www.w3.org/1998/Math/MathML";class Lc extends Qi{findMath(t){const e=new Set;this.findMathNodes(t,e),this.findMathPrefixed(t,e);const s=this.adaptor.root(this.adaptor.document);return"html"===this.adaptor.kind(s)&&0===e.size&&this.findMathNS(t,e),this.processMath(e)}findMathNodes(t,e){for(const s of this.adaptor.tags(t,"math"))e.add(s)}findMathPrefixed(t,e){const s=this.adaptor.root(this.adaptor.document);for(const i of this.adaptor.allAttributes(s))if("xmlns:"===i.name.substring(0,6)&&i.value===Ac){const s=i.name.substring(6);for(const i of this.adaptor.tags(t,s+":math"))e.add(i)}}findMathNS(t,e){for(const s of this.adaptor.tags(t,"math",Ac))e.add(s)}processMath(t){const e=this.adaptor,s=[];for(const i of t.values()){if("mjx-assistive-mml"===e.kind(e.parent(i)))continue;const t="block"===e.getAttribute(i,"display")||"display"===e.getAttribute(i,"mode"),n={node:i,n:0,delim:""},r={node:i,n:0,delim:""};s.push({math:e.outerHTML(i),start:n,end:r,display:t})}return s}}Lc.OPTIONS={};class Sc{constructor(t={}){const e=this.constructor;this.options=Fi(Bi({},e.OPTIONS),t)}setMmlFactory(t){this.factory=t}compile(t){const e=this.makeNode(t);return e.verifyTree(this.options.verify),e.setInheritedAttributes({},!1,0,!1),e.walkTree(this.markMrows),e}makeNode(t){const e=this.adaptor;let s=!1;const i=e.kind(t).replace(/^.*:/,"");let n=e.getAttribute(t,"data-mjx-texclass")||"";n&&(n=this.filterAttribute("data-mjx-texclass",n)||"");let r=n&&"mrow"===i?"TeXAtom":i;for(const o of this.filterClassList(e.allClasses(t)))o.match(/^MJX-TeXAtom-/)&&"mrow"===i?(n=o.substring(12),r="TeXAtom"):"MJX-fixedlimits"===o&&(s=!0);return this.factory.getNodeClass(r)?this.createMml(r,t,n,s):this.unknownNode(r,t)}createMml(t,e,s,i){const n=this.factory.create(t);return"TeXAtom"!==t||"OP"!==s||i||(n.setProperty("movesupsub",!0),n.attributes.setInherited("movablelimits",!0)),s&&(n.texClass=fn[s],n.setProperty("texClass",n.texClass)),this.addAttributes(n,e),this.checkClass(n,e),this.addChildren(n,e),n}unknownNode(t,e){return this.factory.getNodeClass("html")&&this.options.allowHtmlInTokenNodes?this.factory.create("html").setHTML(e,this.adaptor):(this.error('Unknown node type "'+t+'"'),null)}addAttributes(t,e){let s=!1;for(const i of this.adaptor.allAttributes(e)){const e=i.name,n=this.filterAttribute(e,i.value);if(null!==n&&"xmlns"!==e)if("data-mjx-"===e.substring(0,9))switch(e.substring(9)){case"alternate":t.setProperty("variantForm",!0);break;case"variant":t.attributes.set("mathvariant",n),t.setProperty("ignore-variant",!0),s=!0;break;case"smallmatrix":t.setProperty("smallmatrix",!0),t.setProperty("useHeight",!1);break;case"mathaccent":t.setProperty("mathaccent","true"===n);break;case"auto-op":t.setProperty("autoOP","true"===n);break;case"script-align":t.setProperty("scriptalign",n);break;case"vbox":t.setProperty("vbox",n);break;default:t.attributes.set(e,n)}else if("class"!==e){const i=n.toLowerCase();"true"===i||"false"===i?t.attributes.set(e,"true"===i):s&&"mathvariant"===e||t.attributes.set(e,n)}}}filterAttribute(t,e){return e}filterClassList(t){return t}addChildren(t,e){if(0===t.arity)return;const s=this.adaptor;for(const i of s.childNodes(e)){const e=s.kind(i);if("#comment"!==e)if("#text"===e)this.addText(t,i);else if(t.isKind("annotation-xml"))t.appendChild(this.factory.create("XML").setXML(i,s));else{const e=t.appendChild(this.makeNode(i));0===e.arity&&s.childNodes(i).length&&!e.isKind("html")&&(this.options.fixMisplacedChildren?this.addChildren(t,i):e.mError("There should not be children for "+e.kind+" nodes",this.options.verify,!0))}}t.isToken&&this.trimSpace(t)}addText(t,e){let s=this.adaptor.value(e);(t.isToken||t.getProperty("isChars"))&&t.arity?(t.isToken&&(s=Ro(s),s=this.normalizeSpace(s)),t.appendChild(this.factory.create("text").setText(s))):s.match(/\S/)&&this.error('Unexpected text node "'+s+'"')}checkClass(t,e){const s=[];for(const i of this.filterClassList(this.adaptor.allClasses(e)))"MJX-"===i.substring(0,4)?"MJX-variant"===i?t.setProperty("variantForm",!0):"MJX-TeXAtom"!==i.substring(0,11)&&t.attributes.set("mathvariant",this.fixCalligraphic(i.substring(3))):s.push(i);s.length&&t.attributes.set("class",s.join(" "))}fixCalligraphic(t){return t.replace(/caligraphic/,"calligraphic")}markMrows(t){if(t.isKind("mrow")&&!t.isInferred&&t.childNodes.length>=2){const e=t.childNodes[0],s=t.childNodes[t.childNodes.length-1];e.isKind("mo")&&e.attributes.get("fence")&&e.attributes.get("stretchy")&&s.isKind("mo")&&s.attributes.get("fence")&&s.attributes.get("stretchy")&&(e.childNodes.length&&t.setProperty("open",e.getText()),s.childNodes.length&&t.setProperty("close",s.getText()))}}normalizeSpace(t){return t.replace(/[\t\n\r]/g," ").replace(/ +/g," ")}trimSpace(t){let e=t.childNodes[0];e&&(e.isKind("text")&&e.setText(e.getText().replace(/^ +/,"")),e=t.childNodes[t.childNodes.length-1],e.isKind("text")&&e.setText(e.getText().replace(/ +$/,"")))}error(t){throw new Error(t)}}Sc.OPTIONS={MmlFactory:null,allowHtmlInTokenNodes:!1,fixMisplacedChildren:!0,verify:Object.assign({},vn.verifyDefaults),translateEntities:!0};class Rc extends Zi{constructor(t={}){const[e,s,i]=Ui(t,Lc.OPTIONS,Sc.OPTIONS);super(e),this.findMathML=this.options.FindMathML||new Lc(s),this.mathml=this.options.MathMLCompile||new Sc(i),this.mmlFilters=new bi(this.options.mmlFilters)}setAdaptor(t){super.setAdaptor(t),this.findMathML.adaptor=t,this.mathml.adaptor=t}setMmlFactory(t){super.setMmlFactory(t),this.mathml.setMmlFactory(t)}get processStrings(){return!1}compile(t,e){let s=t.start.node;if(!s||!t.end.node||this.options.forceReparse||"#text"===this.adaptor.kind(s)){let i=this.executeFilters(this.preFilters,t,e,(t.math||"<math></math>").trim());"html"===this.options.parseAs&&(i=`<html><head></head><body>${i}</body></html>`);const n=this.checkForErrors(this.adaptor.parse(i,"text/"+this.options.parseAs)),r=this.adaptor.body(n);1!==this.adaptor.childNodes(r).length&&this.error("MathML must consist of a single element"),s=this.adaptor.remove(this.adaptor.firstChild(r)),"math"!==this.adaptor.kind(s).replace(/^[a-z]+:/,"")&&this.error("MathML must be formed by a <math> element, not <"+this.adaptor.kind(s)+">")}s=this.executeFilters(this.mmlFilters,t,e,s);let i=this.mathml.compile(s);return i=this.executeFilters(this.postFilters,t,e,i),t.display="block"===i.attributes.get("display"),i}checkForErrors(t){const e=this.adaptor.tags(this.adaptor.body(t),"parsererror")[0];return e&&(""===this.adaptor.textContent(e)&&this.error("Error processing MathML"),this.options.parseError.call(this,e)),t}error(t){throw new Error(t)}findMath(t){return this.findMathML.findMath(t)}}Rc.NAME="MathML",Rc.OPTIONS=Bi({parseAs:"html",forceReparse:!1,mmlFilters:[],FindMathML:null,MathMLCompile:null,parseError:function(t){this.error(this.adaptor.textContent(t).replace(/\n.*/g,""))}},Zi.OPTIONS),MathJax.loader&&MathJax.loader.checkVersion("input/mml",ni,"input"),hi({_:{input:{mathml_ts:Ee,mathml:{FindMathML:fe,MathMLCompile:be}}}}),MathJax.loader&&MathJax.loader.pathFilters.add(t=>(t.name=t.name.replace(/\/util\/entities\/.*?\.js/,"/input/mml/entities.js"),!0)),MathJax.startup&&(MathJax.startup.registerConstructor("mml",Rc),MathJax.startup.useInput("mml"));const Ic={None:"",Vertical:"v",Horizontal:"h"},wc=Ic.Vertical,Mc=Ic.Horizontal;var Oc=function(t,e,s,i){return new(s||(s=Promise))(function(n,r){function o(t){try{l(i.next(t))}catch(t){r(t)}}function a(t){try{l(i.throw(t))}catch(t){r(t)}}function l(t){var e;t.done?n(t.value):(e=t.value,e instanceof s?e:new s(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})};const kc=.07,Dc=.07,Pc={dir:Ic.None};function Bc(t,e,s){return s?Bi(t,{[e]:s})[e]:t[e]}class Fc{get CLASS(){return this.constructor}static charOptions(t,e){const s=t[e];if(!Array.isArray(s))throw Error(`Character data hasn't been loaded for 0x${e.toString(16).toUpperCase()}`);return 3===s.length&&(s[3]={}),s[3]}static defineDynamicFiles(t,e=""){const s={};return(t||[]).forEach(([t,i,n])=>{s[t]={extension:e,file:t,variants:i,delimiters:n||[],promise:null,failed:!1,setup:e=>{s[t].failed=!0}}}),s}static dynamicSetup(t,e,s,i={},n=null){const r=t?this.dynamicExtensions.get(t):null;(t?r.files:this.dynamicFiles)[e].setup=e=>{Object.keys(s).forEach(t=>e.defineChars(t,s[t])),e.defineDelimiters(i),t&&this.adjustDelimiters(e.delimiters,Object.keys(i),r.sizeN,r.stretchN),n&&e.addDynamicFontCss(n)}}static adjustDelimiters(t,e,s,i){e.forEach(e=>{const n=t[parseInt(e)];"dir"in n&&(n.variants&&(n.variants=this.adjustArrayIndices(n.variants,s)),n.stretchv&&(n.stretchv=this.adjustArrayIndices(n.stretchv,i)))})}static adjustArrayIndices(t,e){return t.map(t=>t<0?e-1-t:t)}static addExtension(t,e=""){const s={name:t.name,prefix:e||`[${t.name}-extension]/${this.JAX.toLowerCase()}/dynamic`,files:this.defineDynamicFiles(t.ranges,t.name),sizeN:this.defaultSizeVariants.length,stretchN:this.defaultStretchVariants.length};this.dynamicExtensions.set(t.name,s);for(const[e,s]of[["options","OPTIONS"],["variants","defaultVariants"],["variantSmp","VariantSmp"],["cssFonts","defaultCssFonts"],["accentMap","defaultAccentMap"],["moMap","defaultMoMap"],["mnMap","defaultMnMap"],["parameters","defaultParams"],["chars","defaultChars"],["sizeVariants","defaultSizeVariants"],["stretchVariants","defaultStretchVariants"]])Bc(this,s,t[e]);t.delimiters&&(Object.assign(this.defaultDelimiters,t.delimiters),this.adjustDelimiters(this.defaultDelimiters,Object.keys(t.delimiters),s.sizeN,s.stretchN))}constructor(t=null){this.variant={},this.delimiters={},this.cssFontMap={},this.cssFontPrefix="",this.remapChars={},this.skewIcFactor=.75;const e=this.CLASS;this.options=Fi(Bi({},e.OPTIONS),t),this.params=Object.assign({},e.defaultParams),this.sizeVariants=[...e.defaultSizeVariants],this.stretchVariants=[...e.defaultStretchVariants],this.defineCssFonts(e.defaultCssFonts),this.cssFamilyPrefix=e.defaultCssFamilyPrefix,this.createVariants(e.defaultVariants),this.defineDelimiters(e.defaultDelimiters),Object.keys(e.defaultChars).forEach(t=>this.defineChars(t,e.defaultChars[t])),this.defineRemap("accent",e.defaultAccentMap),this.defineRemap("mo",e.defaultMoMap),this.defineRemap("mn",e.defaultMnMap),this.defineDynamicCharacters(e.dynamicFiles),e.dynamicExtensions.forEach(t=>this.defineDynamicCharacters(t.files))}setOptions(t){Bi(this.options,t)}addExtension(t,e=""){const s=this.constructor.JAX.toLowerCase(),i={name:t.name,prefix:e||`[${t.name}-extension]/${s}/dynamic`,files:this.CLASS.defineDynamicFiles(t.ranges,e),sizeN:this.sizeVariants.length,stretchN:this.stretchVariants.length};this.CLASS.dynamicExtensions.set(t.name,i),Bi(this.options,t.options||{}),Bi(this.params,t.parameters||{}),Bc(this,"sizeVariants",t.sizeVariants),Bc(this,"stretchVariants",t.stretchVariants),Bc(this.constructor,"VariantSmp",t.variantSmp),this.defineCssFonts(Bc({cssFonts:{}},"cssFonts",t.cssFonts)),this.createVariants(Bc({variants:[]},"variants",t.variants)),t.delimiters&&(this.defineDelimiters(Bc({delimiters:{}},"delimiters",t.delimiters)),this.CLASS.adjustDelimiters(this.delimiters,Object.keys(t.delimiters),i.sizeN,i.stretchN));for(const e of Object.keys(t.chars||{}))this.defineChars(e,t.chars[e]);return this.defineRemap("accent",t.accentMap),this.defineRemap("mo",t.moMap),this.defineRemap("mn",t.mnMap),t.ranges&&this.defineDynamicCharacters(i.files),[]}get styles(){return this._styles}set styles(t){this._styles=t}createVariant(t,e=null,s=null){const i={linked:[],chars:Object.create(e?this.variant[e].chars:{})};this.variant[s]&&(Object.assign(i.chars,this.variant[s].chars),this.variant[s].linked.push(i.chars),i.chars=Object.create(i.chars)),this.remapSmpChars(i.chars,t),this.variant[t]=i}remapSmpChars(t,e){const s=this.CLASS;let i=s.VariantSmp[e];if("string"==typeof i&&(i=s.VariantSmp[i]),!i)return;const n=s.SmpRemap,r=[null,null,s.SmpRemapGreekU,s.SmpRemapGreekL];for(const[e,o,a]of s.SmpRanges){const s=i[e];if(s){for(let e=o;e<=a;e++){if(930===e)continue;const i=s+e-o;t[e]=this.smpChar(n[i]||i)}if(r[e])for(const i of Object.keys(r[e]).map(t=>parseInt(t)))t[i]=this.smpChar(s+r[e][i])}}const o=i[5]||{};for(const e of Object.keys(o))t[e]=this.smpChar(i[5][e])}smpChar(t){return[,,,{smp:t}]}createVariants(t){for(const e of t)this.createVariant(e[0],e[1],e[2])}defineChars(t,e){const s=this.variant[t];Object.assign(s.chars,e);for(const t of s.linked)Object.assign(t,e)}defineCssFonts(t){Object.assign(this.cssFontMap,t);for(const e of Object.keys(t))"unknown"===this.cssFontMap[e][0]&&(this.cssFontMap[e][0]=this.options.unknownFamily)}defineDelimiters(t){Object.assign(this.delimiters,t)}defineRemap(t,e){e&&(Object.hasOwn(this.remapChars,t)||(this.remapChars[t]={}),Object.assign(this.remapChars[t],e))}defineDynamicCharacters(t){for(const e of Object.keys(t)){const s=t[e];for(const t of Object.keys(s.variants))this.defineChars(t,this.flattenRanges(s.variants[t],s));this.defineDelimiters(this.flattenRanges(s.delimiters,s))}}flattenRanges(t,e){const s={};for(const i of t)if(Array.isArray(i))for(let t=i[0];t<=i[1];t++)s[t]=e;else s[i]=e;return s}dynamicFileName(t){const e=t.extension?this.CLASS.dynamicExtensions.get(t.extension).prefix:this.options.dynamicPrefix;return t.file.match(/^(?:[/[]|[a-z]+:\/\/|[a-z]:)/i)?t.file:e+"/"+t.file.replace(/(\.js)?$/,".js")}loadDynamicFile(t){return Oc(this,void 0,void 0,function*(){return t.failed?Promise.reject(new Error(`dynamic file '${t.file}' failed to load`)):(t.promise||(t.promise=po(this.dynamicFileName(t)).catch(e=>{t.failed=!0,console.warn(e)})),t.promise.then(()=>t.setup(this)))})}loadDynamicFiles(){const t=this.CLASS.dynamicFiles,e=Object.keys(t).map(e=>this.loadDynamicFile(t[e]));for(const t of this.CLASS.dynamicExtensions.values())e.push(...Object.keys(t.files).map(e=>this.loadDynamicFile(t.files[e])));return Promise.all(e)}loadDynamicFilesSync(){if(!to.asyncIsSynchronous)throw Error("MathJax(loadDynamicFilesSync): mathjax.asyncLoad must be specified and synchronous\n Try importing #js/../components/require.mjs and #js/util/asyncLoad/node.js");const t=this.CLASS.dynamicFiles;Object.keys(t).forEach(e=>this.loadDynamicFileSync(t[e]));for(const t of this.CLASS.dynamicExtensions.values())Object.keys(t.files).forEach(e=>this.loadDynamicFileSync(t.files[e]))}loadDynamicFileSync(t){if(!t.promise){t.promise=Promise.resolve();try{to.asyncLoad(this.dynamicFileName(t))}catch(e){t.failed=!0,console.warn(e)}t.setup(this)}}addDynamicFontCss(t,e){}getDelimiter(t){const e=this.delimiters[t];return e&&!("dir"in e)?(this.delimiters[t]=null,Pr(this.loadDynamicFile(e)),null):e}getSizeVariant(t,e){const s=this.getDelimiter(t);return s&&s.variants&&(e=s.variants[e]),this.sizeVariants[e]}getStretchVariant(t,e){const s=this.getDelimiter(t);return this.stretchVariants[s.stretchv?s.stretchv[e]:0]}getStretchVariants(t){return[0,1,2,3].map(e=>this.getStretchVariant(t,e))}getChar(t,e){const s=this.variant[t].chars[e];if(s&&!Array.isArray(s)){const i=this.variant[t];return delete i.chars[e],i.linked.forEach(t=>delete t[e]),Pr(this.loadDynamicFile(s)),null}return s}getVariant(t){return this.variant[t]}getCssFont(t){return this.cssFontMap[t]||["serif",!1,!1]}getFamily(t){return this.cssFamilyPrefix?this.cssFamilyPrefix+", "+t:t}getRemappedChar(t,e){return(this.remapChars[t]||{})[e]}}Fc.OPTIONS={unknownFamily:"serif",dynamicPrefix:"."},Fc.JAX="common",Fc.NAME="",Fc.defaultVariants=[["normal"],["bold","normal"],["italic","normal"],["bold-italic","italic","bold"],["double-struck","bold"],["fraktur","normal"],["bold-fraktur","bold","fraktur"],["script","italic"],["bold-script","bold-italic","script"],["sans-serif","normal"],["bold-sans-serif","bold","sans-serif"],["sans-serif-italic","italic","sans-serif"],["sans-serif-bold-italic","bold-italic","bold-sans-serif"],["monospace","normal"],["-smallop","normal"],["-largeop","normal"],["-tex-calligraphic","italic"],["-tex-bold-calligraphic","bold-italic"],["-tex-oldstyle","normal"],["-tex-bold-oldstyle","bold"],["-tex-mathit","italic"],["-tex-variant","normal"]],Fc.defaultCssFonts={normal:["unknown",!1,!1],bold:["unknown",!1,!0],italic:["unknown",!0,!1],"bold-italic":["unknown",!0,!0],"double-struck":["unknown",!1,!0],fraktur:["unknown",!1,!1],"bold-fraktur":["unknown",!1,!0],script:["cursive",!1,!1],"bold-script":["cursive",!1,!0],"sans-serif":["sans-serif",!1,!1],"bold-sans-serif":["sans-serif",!1,!0],"sans-serif-italic":["sans-serif",!0,!1],"sans-serif-bold-italic":["sans-serif",!0,!0],monospace:["monospace",!1,!1],"-smallop":["unknown",!1,!1],"-largeop":["unknown",!1,!1],"-tex-calligraphic":["cursive",!0,!1],"-tex-bold-calligraphic":["cursive",!0,!0],"-tex-oldstyle":["unknown",!1,!1],"-tex-bold-oldstyle":["unknown",!1,!0],"-tex-mathit":["unknown",!0,!1],"-tex-variant":["unknown",!1,!1]},Fc.defaultCssFamilyPrefix="",Fc.VariantSmp={bold:[119808,119834,120488,120514,120782,{988:120778,989:120779}],italic:[119860,119886,120546,120572],"bold-italic":[119912,119938,120604,120630],script:[119964,119990],"bold-script":[120016,120042],fraktur:[120068,120094],"double-struck":[120120,120146,,,120792],"bold-fraktur":[120172,120198],"sans-serif":[120224,120250,,,120802],"bold-sans-serif":[120276,120302,120662,120688,120812],"sans-serif-italic":[120328,120354],"sans-serif-bold-italic":[120380,120406,120720,120746],monospace:[120432,120458,,,120822]},Fc.SmpRanges=[[0,65,90],[1,97,122],[2,913,937],[3,945,969],[4,48,57]],Fc.SmpRemap={119893:8462,119965:8492,119968:8496,119969:8497,119971:8459,119972:8464,119975:8466,119976:8499,119981:8475,119994:8495,119996:8458,120004:8500,120070:8493,120075:8460,120076:8465,120085:8476,120093:8488,120122:8450,120127:8461,120133:8469,120135:8473,120136:8474,120137:8477,120145:8484},Fc.SmpRemapGreekU={8711:25,1012:17},Fc.SmpRemapGreekL={977:27,981:29,982:31,1008:28,1009:30,1013:26,8706:25},Fc.defaultAccentMap={94:"\u02c6",126:"\u02dc",768:"\u02cb",769:"\u02ca",770:"\u02c6",771:"\u02dc",772:"\u02c9",774:"\u02d8",775:"\u02d9",776:"\xa8",778:"\u02da",780:"\u02c7",8594:"\u20d7"},Fc.defaultMoMap={45:"\u2212"},Fc.defaultMnMap={45:"\u2212"},Fc.defaultParams={x_height:.442,quad:1,num1:.676,num2:.394,num3:.444,denom1:.686,denom2:.345,sup1:.413,sup2:.363,sup3:.289,sub1:.15,sub2:.247,sup_drop:.386,sub_drop:.05,delim1:2.39,delim2:1,axis_height:.25,rule_thickness:.06,big_op_spacing1:.111,big_op_spacing2:.167,big_op_spacing3:.2,big_op_spacing4:.6,big_op_spacing5:.1,surd_height:.06,scriptspace:.05,nulldelimiterspace:.12,delimiterfactor:901,delimitershortfall:.3,rule_factor:1.25,min_rule_thickness:1.25,separation_factor:1.75,extra_ic:.033,extender_factor:.333},Fc.defaultDelimiters={},Fc.defaultChars={},Fc.defaultSizeVariants=[],Fc.defaultStretchVariants=[],Fc.dynamicFiles={},Fc.dynamicExtensions=new Map;class jc extends vo{static from(t,e,s=null){const i=new this;return Object.assign(i,t),i.lineLeading=e,s&&(i.indentData=s),i}constructor(t,e=null){super(t),this.indentData=null,this.isFirst=!1,this.originalL=this.L,e&&(this.start=e)}append(t){this.isFirst&&(t.originalL+=t.L,t.L=0),t.indentData&&(this.indentData=t.indentData),this.lineLeading=t.lineLeading,super.append(t),this.isFirst=t.isFirst}copy(){const t=jc.from(this,this.lineLeading);return t.indentData=this.indentData,t.lineLeading=this.lineLeading,t}getIndentData(t){let{indentalign:e,indentshift:s,indentalignfirst:i,indentshiftfirst:n,indentalignlast:r,indentshiftlast:o}=t.attributes.getAllAttributes();"indentalign"===i&&(i=t.attributes.getInherited("indentalign")),"indentshift"===n&&(n=t.attributes.getInherited("indentshift")),"indentalign"===r&&(r=e),"indentshift"===o&&(o=s),this.indentData=[[i,n],[e,s],[r,o]]}copyIndentData(t){return t.indentData.map(([t,e])=>[t,e])}}const _c=1e6;class Uc extends zr{breakToWidth(t,e){}}class Hc extends Uc{constructor(){super(...arguments),this.PENALTY={newline:t=>0,nobreak:t=>_c,goodbreak:t=>t-200*this.state.depth,badbreak:t=>t+200*this.state.depth,auto:t=>t},this.FACTORS={depth:t=>t+800*this.state.depth,width:t=>t+Math.floor((this.state.width-this.state.w)/this.state.width*2500),tail:t=>t+Math.floor(this.state.width/Math.max(1e-4,this.state.mathLeft-this.state.w)*500),open:(t,e)=>{const s=e.node.prevClass;if(s===fn.BIN||s===fn.REL||s===fn.OP)return t+5e3;const i=this.getPrevious(e);if(i&&("postfix"!==i.attributes.get("form")||"nobreak"===i.attributes.get("linebreak")))return t+5e3;const n=e.node.Parent;if((null==n?void 0:n.isKind("mmultiscripts"))&&e.node===this.getFirstToken(n)){if(!!n.childNodes.filter(t=>t.isKind("mprescripts")).length)return _c}return t-500},close:(t,e)=>{var s;const i=e.node.Parent;return!(null==i?void 0:i.isKind("msubsup"))||i.isKind("mmultiscripts")&&(null===(s=i.childNodes[1])||void 0===s?void 0:s.isKind("mprescripts"))||e.node!==this.getLastToken(i.childNodes[0])?t+500:_c},space:(t,e)=>{const s=e;if(!s.canBreak)return _c;const i=s.getBBox().w;return i<0?_c:i<1?t:t-100*(i+4)},separator:t=>t+500,fuzz:t=>.99*t},this.TEXCLASS={[fn.BIN]:t=>t-250,[fn.REL]:t=>t-500}}breakToWidth(t,e){const s=this.state;this.state=this.createState(t),this.state.width=e;const i=t.breakCount;for(let s=0;s<=i;s++){(t.lineBBox[s]||t.getLineBBox(s)).w>e&&this.breakLineToWidth(t,s)}for(const[t,e]of this.state.breaks){if(null===e){const e=t.coreMO();e.setBreakStyle(e.node.attributes.get("linebreakstyle")||"before")}else t.setBreakAt(e);t.invalidateBBox()}this.state=s}createState(t){const e=t.getBBox().w;return{breaks:new Set,potential:[],width:0,w:0,prevWidth:0,prevBreak:null,depth:0,mathWidth:e,mathLeft:e}}breakLineToWidth(t,e){const s=this.state;s.potential=[],s.w=0,s.prevWidth=0,s.prevBreak=null,s.depth=0,this.visitNode(t,e)}addWidth(t,e=null){null===e&&(e=t.L+t.w+t.R),e&&(e*=t.rscale,this.state.w+=e,this.state.potential.length&&(this.state.potential[0][4]+=e),this.processBreak())}processBreak(){const t=this.state;for(;t.potential.length&&t.w>this.state.width;){const e=t.potential.pop(),[s,,i,n,r]=e;t.breaks.add(s),t.w=t.potential.reduce((t,e)=>t+e[4],n+r),t.prevBreak&&t.prevWidth+i<=t.width?(t.breaks.delete(t.prevBreak[0]),t.prevWidth+=i):t.prevWidth=i+n,t.potential.forEach(t=>t[2]-=i),t.prevBreak=e,t.mathLeft-=i}}pushBreak(t,e,s,i){var n;const r=this.state;if(!(e>=_c||0===r.w&&0===r.prevWidth)){for(;r.potential.length&&r.potential[0][1]>this.FACTORS.fuzz(e);){const t=r.potential.shift();r.potential.length&&(r.potential[0][4]+=t[4])}r.potential.unshift([[t,i],e,r.w-((null===(n=r.prevBreak)||void 0===n?void 0:n[3])||0),s,0])}}getBorderLR(t){var e;const s=t.styleData;if(!s)return[0,0];const i=(null===(e=null==s?void 0:s.border)||void 0===e?void 0:e.width)||[0,0,0,0],n=(null==s?void 0:s.padding)||[0,0,0,0];return[i[3]+n[3],i[1]+n[1]]}getFirstToken(t){return t.isToken?t:this.getFirstToken(t.childNodes[0])}getLastToken(t){return t.isToken?t:this.getLastToken(t.childNodes[t.childNodes.length-1])}visitNode(t,e){t&&(this.state.depth++,t.node.isEmbellished&&!t.node.isKind("mo")?this.visitEmbellishedOperator(t,e):super.visitNode(t,e),this.state.depth--)}visitDefault(t,e){var s;const i=t.getLineBBox(e);if(t.node.isToken||t.node.linebreakContainer||!(null===(s=t.childNodes)||void 0===s?void 0:s[0]))this.addWidth(i);else{const[s,n]=this.getBorderLR(t);0===e&&this.addWidth(i,i.L+s),this.visitNode(t.childNodes[0],e),e===t.breakCount&&this.addWidth(i,i.R+n)}}visitEmbellishedOperator(t,e){const s=t.coreMO(),i=jc.from(t.getOuterBBox(),t.linebreakOptions.lineleading);i.getIndentData(s.node);const n=s.getBreakStyle(s.node.attributes.get("linebreakstyle")),r=s.processIndent("",i.indentData[1][1],"",i.indentData[0][1],this.state.width)[1],o=this.moPenalty(s);if("before"===n)this.pushBreak(t,o,r-i.L,null),this.addWidth(i);else{this.addWidth(i);const e=("after"===n?0:s.multChar?s.multChar.getBBox().w:i.w)+r;this.pushBreak(t,o,e,null)}}visitMoNode(t,e){const s=t,i=jc.from(s.getOuterBBox(),s.linebreakOptions.lineleading);i.getIndentData(s.node);const n=s.getBreakStyle(s.node.attributes.get("linebreakstyle")),r=s.processIndent("",i.indentData[1][1],"",i.indentData[0][1],this.state.width)[1],o=this.moPenalty(s);if("before"===n)this.pushBreak(t,o,r-i.L,null),this.addWidth(i);else{this.addWidth(i);const e=("after"===n?0:s.multChar?s.multChar.getBBox().w:i.w)+r;this.pushBreak(t,o,e,null)}}moPenalty(t){const{linebreak:e,fence:s,form:i}=t.node.attributes.getList("linebreak","fence","form"),n=this.FACTORS;let r=n.tail(n.width(0));const o=s&&"prefix"===i||t.node.texClass===fn.OPEN,a=s&&"postfix"===i||t.node.texClass===fn.CLOSE;return o&&(r=n.open(r,t),this.state.depth++),a&&(r=n.close(r,t),this.state.depth--),r=(this.TEXCLASS[t.node.texClass]||(t=>t))(r),(this.PENALTY[e]||(t=>t))(n.depth(r))}getPrevious(t){let e=t.node,s=e.parent,i=s.childIndex(e);for(;s&&(s.notParent||s.isKind("mrow"))&&0===i;)e=s,s=e.parent,i=s.childIndex(e);if(!s||!i)return null;const n=s.childNodes[i-1];return n.isEmbellished?n.coreMO():null}visitMspaceNode(t,e){const s=t.getLineBBox(e),i=t;if(i.canBreak){const e=this.mspacePenalty(i);s.getIndentData(t.node);const n=t.processIndent("",s.indentData[1][1],"",s.indentData[0][1],this.state.width)[1];this.pushBreak(t,e,n-s.w,null)}this.addWidth(s)}mspacePenalty(t){const e=t.node.attributes.get("linebreak"),s=this.FACTORS,i=s.space(s.tail(s.width(0)),t);return(this.PENALTY[e]||(t=>t))(s.depth(i))}visitMtextNode(t,e){if(!t.getText().match(/ /))return void this.visitDefault(t,e);const s=t;s.clearBreakPoints();const i=s.textWidth(" "),n=t.getBBox(),[r,o]=this.getBorderLR(t);this.addWidth(n,n.L+r);const a=s.childNodes;for(const e of a.keys()){const r=a[e];if(r.node.isKind("text")){const o=r.node.getText().split(/ /),a=o.pop();for(const r of o.keys())this.addWidth(n,s.textWidth(o[r])),this.pushBreak(t,this.mtextPenalty(),-i,[e,r+1]),this.addWidth(n,i);this.addWidth(n,s.textWidth(a))}else this.addWidth(r.getBBox())}this.addWidth(n,n.R+o)}mtextPenalty(){const t=this.FACTORS;return t.depth(t.tail(t.width(0)))}visitMrowNode(t,e){const s=t.lineBBox[e]||t.getLineBBox(e),[i,n]=s.start||[0,0],[r,o]=s.end||[t.childNodes.length-1,0],[a,l]=this.getBorderLR(t);this.addWidth(s,s.L+a);for(let e=i;e<=r;e++)this.visitNode(t.childNodes[e],e===i?n:e===r?o:0);this.addWidth(s,s.R+l)}visitInferredMrowNode(t,e){this.state.depth--,this.visitMrowNode(t,e),this.state.depth++}visitMfracNode(t,e){const s=t;!s.node.attributes.get("bevelled")&&s.getOuterBBox().w>this.state.width&&(this.breakToWidth(s.childNodes[0],this.state.width),this.breakToWidth(s.childNodes[1],this.state.width)),this.visitDefault(t,e)}visitMsqrtNode(t,e){if(t.getOuterBBox().w>this.state.width){const e=t,s=e.childNodes[e.base];this.breakToWidth(s,this.state.width-e.rootWidth()),e.getStretchedSurd()}this.visitDefault(t,e)}visitMrootNode(t,e){this.visitMsqrtNode(t,e)}visitMsubNode(t,e){this.visitDefault(t,e);const s=t,i=s.getOffset()[0],n=s.scriptChild.getOuterBBox(),[r,o]=this.getBorderLR(t);this.addWidth(s.getLineBBox(e),i+r+n.rscale*n.w+s.font.params.scriptspace+o)}visitMsupNode(t,e){this.visitDefault(t,e);const s=t,i=s.getOffset()[0],n=s.scriptChild.getOuterBBox(),[r,o]=this.getBorderLR(t);this.addWidth(s.getLineBBox(e),i+r+n.rscale*n.w+s.font.params.scriptspace+o)}visitMsubsupNode(t,e){this.visitDefault(t,e);const s=t,i=s.subChild.getOuterBBox(),n=s.supChild.getOuterBBox(),r=s.getAdjustedIc(),o=Math.max(i.rscale*i.w,r+n.rscale*n.w)+s.font.params.scriptspace,[a,l]=this.getBorderLR(t);this.addWidth(t.getLineBBox(e),a+o+l)}visitMmultiscriptsNode(t,e){const s=t,i=s.scriptData;if(i.numPrescripts){const n=Math.max(i.psup.rscale*i.psup.w,i.psub.rscale*i.psub.w);this.addWidth(t.getLineBBox(e),n+s.font.params.scriptspace)}if(this.visitDefault(t,e),i.numScripts){const n=Math.max(i.sup.rscale*i.sup.w,i.sub.rscale*i.sub.w);this.addWidth(t.getLineBBox(e),n+s.font.params.scriptspace)}}visitMfencedNode(t,e){const s=t,i=t.getLineBBox(e),[n,r]=this.getBorderLR(t);0===e&&this.addWidth(i,i.L+n),this.visitNode(s.mrow,e),e===t.breakCount&&this.addWidth(i,i.R+r)}visitMactionNode(t,e){const s=t,i=t.getLineBBox(e),[n,r]=this.getBorderLR(t);0===e&&this.addWidth(i,i.L+n),this.visitNode(s.selected,e),e===t.breakCount&&this.addWidth(i,i.R+r)}}!function(){for(const t of Object.keys(Fn.postfix)){const e=Fn.postfix[t][3];e&&e.fence&&(e.linebreakstyle="after")}Fn.infix["\u2061"]=[...Fn.infix["\u2061"]],Fn.infix["\u2061"][3]={linebreak:"nobreak"}}();const Wc="@mathjax/%%FONT%%-font";class qc extends tn{get forceInlineBreaks(){return!1}constructor(t={},e=null,s=null){const[i,n]=t.fontData instanceof Fc?[t.fontData.constructor,t.fontData]:[t.fontData||s,null],[r,o]=Ui(t,i.OPTIONS);super(r),this.factory=this.options.wrapperFactory||new e,this.factory.jax=this,this.styleJson=this.options.styleJson||new ao,this.font=n||new i(o),this.font.setOptions({mathmlSpacing:this.options.mathmlSpacing}),this.constructor.genericFont=i,this.unknownCache=new Map;const a=this.options.linebreaks.LinebreakVisitor||Hc;this.linebreaks=new a(this.factory)}setAdaptor(t){super.setAdaptor(t),"auto"===this.options.htmlHDW&&(this.options.htmlHDW=t.canMeasureNodes?"ignore":"force")}addExtension(t,e=""){return this.font.addExtension(t,e)}typeset(t,e){const s=this.constructor,i=s.genericFont;s.genericFont=this.font.constructor,this.setDocument(e);const n=this.createNode();try{this.toDOM(t,n,e)}finally{s.genericFont=i}return n}createNode(){const t=this.constructor.NAME;return this.html("mjx-container",{class:"MathJax",jax:t})}setScale(t,e){let s=this.getInitialScale()*this.options.scale;if("scale"===e.node.attributes.get("overflow")&&this.math.display){const t=e.getOuterBBox().w,i=Math.max(0,this.math.metrics.containerWidth-4)/this.pxPerEm;t>i&&t&&(s*=i/t)}1!==s&&this.adaptor.setStyle(t,"fontSize",yo(s))}getInitialScale(){return this.math.metrics.scale}toDOM(t,e,s=null){var i;this.setDocument(s),this.math=t,this.container=e,this.pxPerEm=t.metrics.ex/this.font.params.x_height,this.executeFilters(this.preFilters,t,s,e),this.nodeMap=new Map,t.root.attributes.getAllInherited().overflow=this.options.displayOverflow;const n=t.root.attributes.get("overflow");this.adaptor.setAttribute(e,"overflow",n);"linebreak"===n&&this.getLinebreakWidth();const r=this.options.linebreaks.inline&&!t.display;let o=!!t.root.getProperty("inlineMarked");!o||r&&this.forceInlineBreaks===t.root.getProperty("inlineForced")||(this.unmarkInlineBreaks(t.root),t.root.removeProperty("inlineMarked"),t.root.removeProperty("inlineForced"),o=!1),r&&!o&&(this.markInlineBreaks(null===(i=t.root.childNodes)||void 0===i?void 0:i[0]),t.root.setProperty("inlineMarked",!0),t.root.setProperty("inlineForced",this.forceInlineBreaks)),t.root.setTeXclass(null);const a=this.factory.wrap(t.root);this.setScale(e,a),this.processMath(a,e),this.nodeMap=null,this.executeFilters(this.postFilters,t,s,e)}getBBox(t,e){this.setDocument(e),this.math=t,t.root.setTeXclass(null),this.nodeMap=new Map;const s=this.factory.wrap(t.root).getOuterBBox();return this.nodeMap=null,s}getLinebreakWidth(){const t=this.math.metrics.containerWidth/this.pxPerEm,e=this.math.root.attributes.get("maxwidth")||this.options.linebreaks.width;this.containerWidth=Eo(e,t,1,this.pxPerEm)}markInlineBreaks(t){if(!t)return;const e=this.forceInlineBreaks;let s=!1,i=!1,n="";for(const r of t.childNodes)if(n)i=this.markInlineBreak(i,e,n,t,r),n="",s=!1;else if(r.isEmbellished){if(r===t.childNodes[0])continue;const o=r.coreMO(),a=o.texClass,l=o.attributes.get("linebreak"),c=o.attributes.get("linebreakstyle");(a===fn.BIN||a===fn.REL||a===fn.ORD&&o.hasSpacingAttributes()||"auto"!==l)&&"nobreak"!==l&&("before"===c?s&&"auto"===l||(i=this.markInlineBreak(i,e,l,t,r,o)):n=l),s="newline"===l&&"after"===c}else if(r.isKind("mspace")){const n=r.attributes.get("linebreak");"nobreak"!==n&&r.canBreak&&(i=this.markInlineBreak(i,e,n,t,r)),s="newline"===n}else s=!1,r.isKind("mstyle")&&!r.attributes.get("style")&&!r.attributes.hasExplicit("mathbackground")||r.isKind("semantics")?(this.markInlineBreaks(r.childNodes[0]),r.getProperty("process-breaks")&&(r.setProperty("inline-breaks",!0),r.childNodes[0].setProperty("inline-breaks",!0),t.parent.setProperty("process-breaks","true"))):r.isKind("mrow")&&r.attributes.get("data-semantic-added")&&(this.markInlineBreaks(r),r.getProperty("process-breaks")&&(r.setProperty("inline-breaks",!0),t.parent.setProperty("process-breaks","true")))}markInlineBreak(t,e,s,i,n,r=null){return n.setProperty("breakable",!0),e&&"newline"!==s?(n.setProperty("forcebreak",!0),null==r||r.setProperty("forcebreak",!0)):(n.removeProperty("forcebreak"),null==r||r.removeProperty("forcebreak"),"newline"===s&&n.setProperty("newline",!0)),t||(i.setProperty("process-breaks",!0),i.parent.setProperty("process-breaks",!0),t=!0),t}unmarkInlineBreaks(t){if(t&&(t.removeProperty("forcebreak"),t.removeProperty("breakable"),t.coreMO().removeProperty("forcebreak"),t.getProperty("process-breaks"))){t.removeProperty("process-breaks");for(const e of t.childNodes)this.unmarkInlineBreaks(e)}}getMetrics(t){this.setDocument(t);const e=this.adaptor,s=this.getMetricMaps(t);for(const i of t.math){const t=e.parent(i.start.node);if(i.state()<ln.METRICS&&t){const e=s[i.display?1:0],{em:n,ex:r,containerWidth:o,scale:a,family:l}=e.get(t);i.setMetrics(n,r,o,a),this.options.mtextInheritFont&&(i.outputData.mtextFamily=l),this.options.merrorInheritFont&&(i.outputData.merrorFamily=l),i.state(ln.METRICS)}}}getMetricsFor(t,e){const s=this.options.mtextInheritFont||this.options.merrorInheritFont,i=this.getTestElement(t,e),n=Object.assign(Object.assign({},this.measureMetrics(i,s)),{display:e});return this.adaptor.remove(i),n}getMetricMaps(t){const e=this.adaptor,s=[new Map,new Map];for(const i of t.math){const t=e.parent(i.start.node);if(t&&i.state()<ln.METRICS){const e=s[i.display?1:0];e.has(t)||e.set(t,this.getTestElement(t,i.display))}}const i=this.options.mtextInheritFont||this.options.merrorInheritFont,n=[new Map,new Map];for(const t of n.keys())for(const e of s[t].keys())n[t].set(e,this.measureMetrics(s[t].get(e),i));for(const t of n.keys())for(const i of s[t].values())e.remove(i);return n}getTestElement(t,e){const s=this.adaptor;if(!this.testInline){this.testInline=this.html("mjx-test",{style:{display:"inline-block",width:"100%","font-style":"normal","font-weight":"normal","font-size":"100%","font-size-adjust":"none","text-indent":0,"text-transform":"none","letter-spacing":"normal","word-spacing":"normal",overflow:"hidden",height:"1px","margin-right":"-1px"}},[this.html("mjx-left-box",{style:{display:"inline-block",width:0,float:"left"}}),this.html("mjx-ex-box",{style:{position:"absolute",overflow:"hidden",width:"1px",height:"60ex"}}),this.html("mjx-right-box",{style:{display:"inline-block",width:0,float:"right"}})]),this.testDisplay=s.clone(this.testInline),s.setStyle(this.testDisplay,"display","table"),s.setStyle(this.testDisplay,"margin-right",""),s.setStyle(s.firstChild(this.testDisplay),"display","none");const t=s.lastChild(this.testDisplay);s.setStyle(t,"display","table-cell"),s.setStyle(t,"width","10000em"),s.setStyle(t,"float","")}return s.append(t,s.clone(e?this.testDisplay:this.testInline))}measureMetrics(t,e){const s=this.adaptor,i=e?s.fontFamily(t):"",n=s.fontSize(t),[r,o]=s.nodeSize(s.childNode(t,1)),a=r?o/60:n*this.options.exFactor;return{em:n,ex:a,containerWidth:r?"table"===s.getStyle(t,"display")?s.nodeSize(s.lastChild(t))[0]-1:s.nodeBBox(s.lastChild(t)).left-s.nodeBBox(s.firstChild(t)).left-2:1e6,scale:Math.max(this.options.minScale,this.options.matchFontHeight?a/this.font.params.x_height/n:1),family:i}}styleSheet(t){if(this.setDocument(t),this.styleJson.clear(),this.styleJson.addStyles(this.constructor.commonStyles),"getStyles"in t)for(const e of t.getStyles())this.styleJson.addStyles(e);this.addWrapperStyles(this.styleJson),this.addFontStyles(this.styleJson);return this.html("style",{id:"MJX-styles"},[this.text("\n"+this.styleJson.cssText+"\n")])}addFontStyles(t){t.addStyles(this.font.styles)}addWrapperStyles(t){for(const e of this.factory.getKinds())this.addClassStyles(this.factory.getNodeClass(e),t)}addClassStyles(t,e){t.addStyles(e,this)}insertStyles(t){}setDocument(t){t&&(this.document=t,this.adaptor.document=t.document)}html(t,e={},s=[],i){return this.adaptor.node(t,e,s,i)}text(t){return this.adaptor.text(t)}fixed(t,e=3){return Math.abs(t)<6e-4?"0":t.toFixed(e).replace(/\.?0+$/,"")}measureText(t,e,s=["",!1,!1]){const i=this.unknownText(t,e);if("-explicitFont"===e){const t=this.cssFontStyles(s);this.adaptor.setAttributes(i,{style:t})}return this.measureTextNodeWithCache(i,t,e,s)}measureTextNodeWithCache(t,e,s,i=["",!1,!1]){"-explicitFont"===s&&(s=[i[0],i[1]?"T":"F",i[2]?"T":"F",""].join("-")),this.unknownCache.has(s)||this.unknownCache.set(s,new Map);const n=this.unknownCache.get(s),r=n.get(e);if(r)return r;const o=this.measureTextNode(t);return n.set(e,o),o}cssFontStyles(t,e={}){const[s,i,n]=t;return e["font-family"]=this.font.getFamily(s),i&&(e["font-style"]="italic"),n&&(e["font-weight"]="bold"),e}getFontData(t){return t||(t=new Vo),[this.font.getFamily(t.get("font-family")),"italic"===t.get("font-style"),"bold"===t.get("font-weight")]}}qc.NAME="Common",qc.OPTIONS=Object.assign(Object.assign({},tn.OPTIONS),{scale:1,minScale:.5,mtextInheritFont:!1,merrorInheritFont:!1,mtextFont:"",merrorFont:"serif",mathmlSpacing:!1,skipAttributes:{},exFactor:.5,displayAlign:"center",displayIndent:"0",displayOverflow:"overflow",linebreaks:{inline:!0,width:"100%",lineleading:.2,LinebreakVisitor:null},font:"",fontExtensions:[],htmlHDW:"auto",wrapperFactory:null,fontData:null,fontPath:Wc,styleJson:null}),qc.commonStyles={'mjx-container[overflow="scroll"][display]':{overflow:"auto clip","min-width":"initial !important"},'mjx-container[overflow="truncate"][display]':{overflow:"hidden clip","min-width":"initial !important"},"mjx-container[display]":{display:"block","text-align":"center","justify-content":"center",margin:".7em 0",padding:".3em 2px"},'mjx-container[display][width="full"]':{display:"flex"},'mjx-container[justify="left"]':{"text-align":"left","justify-content":"left"},'mjx-container[justify="right"]':{"text-align":"right","justify-content":"right"}};class Vc extends Zr{constructor(){super(...arguments),this.jax=null}get Wrappers(){return this.node}}Vc.defaultNodes={};const Gc=2/18,Xc=5/18;function zc(t,e,s){return e?t?Gc:Xc:t?s<Gc?0:Gc:s}const Kc={[xo(0)]:"0",[xo(2/18)]:"1",[xo(3/18)]:"2",[xo(4/18)]:"3",[xo(5/18)]:"4",[xo(6/18)]:"5"};class $c extends Qr{static addStyles(t,e){t.addStyles(this.styles)}get jax(){return this.factory.jax}get adaptor(){return this.factory.jax.adaptor}get metrics(){return this.factory.jax.math.metrics}get containerWidth(){return this.parent?this.parent.containerWidth:this.jax.containerWidth}get linebreaks(){return this.jax.linebreaks}get linebreakOptions(){return this.jax.options.linebreaks}get fixesPWidth(){return!this.node.notParent&&!this.node.isToken}get breakCount(){if(this._breakCount<0){const t=this.node;this._breakCount=t.isEmbellished?this.coreMO().embellishedBreakCount:t.arity<0&&!t.linebreakContainer&&this.childNodes[0].isStack?this.childNodes[0].breakCount:0}return this._breakCount}breakTop(t,e){return this.node.linebreakContainer||!this.parent?t:this.parent.breakTop(t,this)}constructor(t,e,s=null){super(t,e),this.parent=null,this.dom=null,this.removedStyles=null,this.styles=null,this.styleData=null,this.variant="",this.bboxComputed=!1,this._breakCount=-1,this.lineBBox=[],this.stretch=Pc,this.font=null,this.parent=s,this.font=t.jax.font,this.bbox=vo.zero(),this.getStyles(),this.getStyleData(),this.getVariant(),this.getScale(),this.getSpace(),this.childNodes=e.childNodes.map(t=>{const s=this.wrap(t);return s.bbox.pwidth&&(e.notParent||e.isKind("math"))&&(this.bbox.pwidth=vo.fullWidth),s})}wrap(t,e=null){const s=this.factory.wrap(t,e||this);return e&&e.childNodes.push(s),this.jax.nodeMap.set(t,s),s}getBBox(t=!0){if(this.bboxComputed)return this.bbox;const e=t?this.bbox:vo.zero();return this.computeBBox(e),this.bboxComputed=t,e}getOuterBBox(t=!0){var e;const s=this.getBBox(t);if(!this.styleData)return s;const i=this.styleData.padding,n=(null===(e=this.styleData.border)||void 0===e?void 0:e.width)||[0,0,0,0],r=this.styleData.margin||[0,0,0,0],o=s.copy();for(const[,t,e]of vo.boxSides)o[e]+=i[t]+n[t]+r[t];return o}getUnbrokenHD(){const t=this.breakCount+1;let e=0,s=0;for(let i=0;i<t;i++){const{h:t,d:n}=this.getLineBBox(i);t>e&&(e=t),n>s&&(s=n)}return[e,s]}computeBBox(t,e=!1){t.empty();for(const e of this.childNodes)t.append(e.getOuterBBox());t.clean(),this.fixesPWidth&&this.setChildPWidths(e)&&this.computeBBox(t,!0)}getLineBBox(t){if(!this.lineBBox[t]){const e=this.breakCount;if(e){const s=this.embellishedBBox(t)||this.computeLineBBox(t);this.lineBBox[t]=s,0===t&&(!this.node.isKind("mo")&&this.node.isEmbellished?s.originalL=this.getBBox().L:s.L=this.getBBox().L),t===e&&(s.R=this.getBBox().R)}else{const e=this.getOuterBBox();this.lineBBox[t]=jc.from(e,this.linebreakOptions.lineleading)}}return this.lineBBox[t]}embellishedBBox(t){if(!this.node.isEmbellished||this.node.isKind("mo"))return null;const e=this.coreMO();return e.moLineBBox(t,e.embellishedBreakStyle,this.getOuterBBox())}computeLineBBox(t){return this.getChildLineBBox(this.childNodes[0],t)}getBreakNode(t){var e,s;if(!t.start)return[this,null];const[i,n]=t.start;if(this.node.isEmbellished)return[this,this.coreMO()];const r=(null===(s=null===(e=this.childNodes[0])||void 0===e?void 0:e.node)||void 0===s?void 0:s.isInferred)||this.node.isKind("semantics")?this.childNodes[0].childNodes:this.childNodes;return this.node.isToken||!r[i]?[this,null]:r[i].getBreakNode(r[i].getLineBBox(n))}getChildLineBBox(t,e){const s=this.breakCount;let i=t.getLineBBox(e);return(this.styleData||this.bbox.L||this.bbox.R)&&(i=i.copy()),this.addMiddleBorders(i),0===e?(i.L+=this.bbox.L,this.addLeftBorders(i)):e===s&&(i.R+=this.bbox.R,this.addRightBorders(i)),i}sideStyleSize(t){var e;const s=this.styleData.border,i=this.styleData.padding,n=this.styleData.margin;return((null===(e=null==s?void 0:s.width)||void 0===e?void 0:e[t])||0)+((null==i?void 0:i[t])||0)+((null==n?void 0:n[t])||0)}addLeftBorders(t){this.styleData&&(t.w+=this.sideStyleSize(3))}addMiddleBorders(t){this.styleData&&(t.h+=this.sideStyleSize(0),t.d+=this.sideStyleSize(2))}addRightBorders(t){this.styleData&&(t.w+=this.sideStyleSize(1))}setChildPWidths(t,e=null,s=!0){if(t)return!1;s&&(this.bbox.pwidth="");let i=!1;for(const n of this.childNodes){const r=n.getBBox();r.pwidth&&n.setChildPWidths(t,null===e?r.w:e,s)&&(i=!0)}return i}breakToWidth(t){}invalidateBBox(t=!0){(this.bboxComputed||this._breakCount>=0)&&(this.bboxComputed=!1,this.lineBBox=[],this._breakCount=-1,this.parent&&t&&this.parent.invalidateBBox())}copySkewIC(t){var e,s,i;const n=this.childNodes[0];(null===(e=null==n?void 0:n.bbox)||void 0===e?void 0:e.sk)&&(t.sk=n.bbox.sk),(null===(s=null==n?void 0:n.bbox)||void 0===s?void 0:s.dx)&&(t.dx=n.bbox.dx);const r=this.childNodes[this.childNodes.length-1];(null===(i=null==r?void 0:r.bbox)||void 0===i?void 0:i.ic)&&(t.ic=r.bbox.ic,t.w+=t.ic)}getStyles(){const t=this.node.attributes.getExplicit("style");if(!t)return;const e=this.styles=new Vo(t);for(let t=0,s=$c.removeStyles.length;t<s;t++){const s=$c.removeStyles[t];e.get(s)&&(this.removedStyles||(this.removedStyles={}),this.removedStyles[s]=e.get(s),e.set(s,""))}}getStyleData(){if(!this.styles)return;const t=Array(4).fill(0),e=Array(4).fill(0),s=Array(4).fill(0),i=Array(4),n=Array(4);let r=!1,o=!1,a=!1;for(const[l,c]of vo.boxSides){const h="border"+l,d=this.styles.get(h+"Width");d&&(o=!0,s[c]=Math.max(0,this.length2em(d,1)),i[c]=this.styles.get(h+"Style")||"solid",n[c]=this.styles.get(h+"Color"));const u=this.styles.get("padding"+l);u&&(r=!0,t[c]=Math.max(0,this.length2em(u,1)));const p=this.styles.get("margin"+l);p&&(a=!0,e[c]=this.length2em(p,1))}this.styleData=r||o||a?{padding:t,margin:e,border:o?{width:s,style:i,color:n}:null}:null}getVariant(){if(!this.node.isToken)return;const t=this.node.attributes;let e=t.get("mathvariant");if(t.hasExplicit("mathvariant"))this.font.getVariant(e)||(console.warn(`Invalid variant: ${e}`),e="normal");else{const s=t.getList("fontfamily","fontweight","fontstyle");if(this.removedStyles){const t=this.removedStyles;t.fontFamily&&(s.family=t.fontFamily),t.fontWeight&&(s.weight=t.fontWeight),t.fontStyle&&(s.style=t.fontStyle)}s.fontfamily&&(s.family=s.fontfamily),s.fontweight&&(s.weight=s.fontweight),s.fontstyle&&(s.style=s.fontstyle),s.weight&&s.weight.match(/^\d+$/)&&(s.weight=parseInt(s.weight)>600?"bold":"normal"),s.family?e=this.explicitVariant(s.family,s.weight,s.style):(this.node.getProperty("variantForm")&&(e="-tex-variant"),e=($c.BOLDVARIANTS[s.weight]||{})[e]||e,e=($c.ITALICVARIANTS[s.style]||{})[e]||e)}this.variant=e}explicitVariant(t,e,s){let i=this.styles;return i||(i=this.styles=new Vo),i.set("fontFamily",t),e&&i.set("fontWeight",e),s&&i.set("fontStyle",s),"-explicitFont"}getScale(){let t=1;const e=this.parent,s=e?e.bbox.scale:1,i=this.node.attributes,n=Math.min(i.get("scriptlevel"),2);let r=i.get("fontsize"),o=this.node.isToken||this.node.isKind("mstyle")?i.get("mathsize"):i.getInherited("mathsize");if(0!==n&&(t=Math.pow(i.get("scriptsizemultiplier"),n)),this.removedStyles&&this.removedStyles.fontSize&&!r&&(r=this.removedStyles.fontSize),r&&!i.hasExplicit("mathsize")&&(o=r),"1"!==o&&(t*=this.length2em(o,1,1)),0!==n){const e=this.length2em(i.get("scriptminsize"),.4,1);t<e&&(t=e)}this.bbox.scale=t,this.bbox.rscale=t/s}getSpace(){const t=this.isTopEmbellished(),e=this.node.hasSpacingAttributes();this.jax.options.mathmlSpacing||e?t&&this.getMathMLSpacing():this.getTeXSpacing(t,e)}getMathMLSpacing(){const t=this.node.coreMO(),e=t.coreParent(),s=e.parent;if(!s||!s.isKind("mrow")||1===s.childNodes.length)return;const i=s.childIndex(e);if(null===i)return;const n=t.getProperty("noDictDef"),r=t.attributes,o=r.get("scriptlevel")>0;if(this.bbox.L=r.isSet("lspace")?Math.max(0,this.length2em(r.get("lspace"))):zc(o,n,t.lspace),this.bbox.R=r.isSet("rspace")?Math.max(0,this.length2em(r.get("rspace"))):zc(o,n,t.rspace),!i)return;const a=s.childNodes[i-1];if(!a.isEmbellished)return;const l=this.jax.nodeMap.get(a).getBBox();l.R&&(this.bbox.L=Math.max(0,this.bbox.L-l.R))}getTeXSpacing(t,e){if(!e){const t=this.node.texSpacing();t&&(this.bbox.L=this.length2em(t))}if(t||e){const t=this.node.coreMO().attributes;t.isSet("lspace")&&(this.bbox.L=Math.max(0,this.length2em(t.get("lspace")))),t.isSet("rspace")&&(this.bbox.R=Math.max(0,this.length2em(t.get("rspace"))))}}isTopEmbellished(){return this.node.isEmbellished&&!(this.node.parent&&this.node.parent.isEmbellished)}core(){return this.jax.nodeMap.get(this.node.core())}coreMO(){return this.jax.nodeMap.get(this.node.coreMO())}coreRScale(){let t=this.bbox.rscale,e=this.coreMO();for(;e!==this&&e;)t*=e.bbox.rscale,e=e.parent;return t}getRScale(){let t=1,e=this;for(;e;)t*=e.bbox.rscale,e=e.parent;return t}getText(){let t="";if(this.node.isToken)for(const e of this.node.childNodes)e instanceof Sn&&(t+=e.getText());return t}canStretch(t){if(this.stretch=Pc,this.node.isEmbellished){const e=this.core();e&&e.node!==this.node&&e.canStretch(t)&&(this.stretch=e.stretch)}return this.stretch.dir!==Ic.None}getAlignShift(){let{indentalign:t,indentshift:e,indentalignfirst:s,indentshiftfirst:i}=this.node.attributes.getAllAttributes();return"indentalign"!==s&&(t=s),"indentshift"!==i&&(e=i),this.processIndent(t,e)}processIndent(t,e,s="",i="",n=this.metrics.containerWidth){if(!this.jax.math.display)return["left",0];s&&"auto"!==s||(s=this.jax.math.root.getProperty("inlineMarked")?"left":this.jax.options.displayAlign),i&&"auto"!==i||(i=this.jax.math.root.getProperty("inlineMarked")?"0":this.jax.options.displayIndent),"auto"===t&&(t=s),"auto"===e&&(e=i,"right"!==t||e.match(/^\s*0[a-z]*\s*$/)||(e=("-"+e.trim()).replace(/^--/,"")));return[t,this.length2em(e,n)]}getAlignX(t,e,s){return"right"===s?t-(e.w+e.R)*e.rscale:"left"===s?e.L*e.rscale:(t-e.w*e.rscale)/2}getAlignY(t,e,s,i,n){return"top"===n?t-s:"bottom"===n?i-e:"center"===n?(t-s-(e-i))/2:0}getWrapWidth(t){return this.childNodes[t].getBBox().w}getChildAlign(t){return"left"}percent(t){return yo(t)}em(t){return xo(t)}px(t,e=-mo){return No(t,e,this.metrics.em)}length2em(t,e=1,s=null){null===s&&(s=this.bbox.scale);const i=this.font.params.rule_thickness,n=Hi(t,{medium:1,thin:2/3,thick:5/3},0);return n?n*i:Eo(t,e,s,this.jax.pxPerEm)}unicodeChars(t,e=this.variant){let s=Un(t);const i=this.font.getVariant(e);if(i&&i.chars){const t=i.chars;s=s.map(e=>{var s,i;return(null===(i=null===(s=t[e])||void 0===s?void 0:s[3])||void 0===i?void 0:i.smp)||e})}return s}remapChars(t){return t}mmlText(t){return this.node.factory.create("text").setText(t)}mmlNode(t,e={},s=[]){return this.node.factory.create(t,e,s)}createMo(t){const e=this.node.factory,s=e.create("text").setText(t),i=e.create("mo",{stretchy:!0},[s]);i.inheritAttributesFrom(this.node),i.parent=this.node.parent;const n=this.wrap(i);return n.parent=this,n}getVariantChar(t,e){const s=this.font.getChar(t,e)||[0,0,0,{unknown:!0}];return 3===s.length&&(s[3]={}),s}html(t,e={},s=[]){return this.jax.html(t,e,s)}}$c.kind="unknown",$c.styles={},$c.removeStyles=["fontSize","fontFamily","fontWeight","fontStyle","fontVariant","font"],$c.skipAttributes={fontfamily:!0,fontsize:!0,fontweight:!0,fontstyle:!0,color:!0,background:!0,class:!0,href:!0,style:!0,xmlns:!0},$c.BOLDVARIANTS={bold:{normal:"bold",italic:"bold-italic",fraktur:"bold-fraktur",script:"bold-script","sans-serif":"bold-sans-serif","sans-serif-italic":"sans-serif-bold-italic"},normal:{bold:"normal","bold-italic":"italic","bold-fraktur":"fraktur","bold-script":"script","bold-sans-serif":"sans-serif","sans-serif-bold-italic":"sans-serif-italic"}},$c.ITALICVARIANTS={italic:{normal:"italic",bold:"bold-italic","sans-serif":"sans-serif-italic","bold-sans-serif":"sans-serif-bold-italic"},normal:{italic:"normal","bold-italic":"bold","sans-serif-italic":"sans-serif","sans-serif-bold-italic":"bold-sans-serif"}};const Jc={"70.7%":"s","70%":"s","50%":"ss","60%":"Tn","85%":"sm","120%":"lg","144%":"Lg","173%":"LG","207%":"hg","249%":"HG"};class Yc extends $c{toCHTML(t){this.toEmbellishedCHTML(t)||this.addChildren(this.standardChtmlNodes(t))}toEmbellishedCHTML(t){if(t.length<=1||!this.node.isEmbellished)return!1;const e=this.adaptor;t.forEach(t=>e.append(t,this.html("mjx-linestrut")));const s=this.coreMO().embellishedBreakStyle,i=[];for(const[n,r]of[[t[0],"before"],[t[1],"after"]])s!==r?(this.toCHTML([n]),i.push(this.dom[0]),"after"===r&&e.removeAttribute(this.dom[0],"space")):i.push(this.createChtmlNodes([n])[0]);return this.dom=i,!0}addChildren(t){for(const e of this.childNodes)e.toCHTML(t)}standardChtmlNodes(t){this.markUsed();const e=this.createChtmlNodes(t);return this.handleStyles(),this.handleScale(),this.handleBorders(),this.handleColor(),this.handleSpace(),this.handleAttributes(),this.handlePWidth(),e}markUsed(){this.jax.wrapperUsage.add(this.kind)}createChtmlNodes(t){this.dom=t.map(t=>this.html("mjx-"+this.node.kind)),t=this.handleHref(t);for(const e of t.keys())this.adaptor.append(t[e],this.dom[e]);return this.dom}handleHref(t){const e=this.node.attributes.get("href");return e?t.map(t=>this.adaptor.append(t,this.html("a",{href:e}))):t}handleStyles(){if(!this.styles)return;const t=this.styles.cssText;if(t){const e=this.adaptor;this.dom.forEach(s=>e.setAttribute(s,"style",t));const s=this.styles.get("font-family");s&&this.dom.forEach(t=>e.setStyle(t,"font-family",this.font.cssFamilyPrefix+", "+s))}}handleScale(){this.dom.forEach(t=>this.setScale(t,this.bbox.rscale))}setScale(t,e){const s=Math.abs(e-1)<.001?1:e;if(t&&1!==s){const e=this.percent(s);Jc[e]?this.adaptor.setAttribute(t,"size",Jc[e]):this.adaptor.setStyle(t,"fontSize",e)}return t}handleSpace(){const t=this.adaptor,e=!!this.node.getProperty("breakable")&&!this.node.getProperty("newline"),s=this.dom.length-1;for(const i of[[this.getLineBBox(0).L,"space","marginLeft",0],[this.getLineBBox(s).R,"rspace","marginRight",s]]){const[s,n,r,o]=i,a=this.em(s);if(e&&"space"===n){const e=t.node("mjx-break",Kc[a]?{size:Kc[a]}:{style:`letter-spacing: ${this.em(s-1)}`},[t.text(" ")]);t.insert(e,this.dom[o])}else s&&(Kc[a]?t.setAttribute(this.dom[o],n,Kc[a]):t.setStyle(this.dom[o],r,a))}}handleBorders(){var t,e;const s=null===(t=this.styleData)||void 0===t?void 0:t.border,i=null===(e=this.styleData)||void 0===e?void 0:e.padding,n=this.dom.length-1;if(!s||!n)return;const r=this.adaptor;for(const t of this.dom.keys()){const e=this.dom[t];t&&(s.width[3]&&r.setStyle(e,"border-left"," none"),i[3]&&r.setStyle(e,"padding-left","0")),t!==n&&(s.width[1]&&r.setStyle(e,"border-right","none"),i[1]&&r.setStyle(e,"padding-right","0"))}}handleColor(){var t;const e=this.adaptor,s=this.node.attributes,i=s.getExplicit("mathcolor")||s.getExplicit("color"),n=s.getExplicit("mathbackground")||s.getExplicit("background")||(null===(t=this.styles)||void 0===t?void 0:t.get("background-color"));i&&this.dom.forEach(t=>e.setStyle(t,"color",i)),n&&this.dom.forEach(t=>e.setStyle(t,"backgroundColor",n))}handleAttributes(){const t=this.adaptor,e=this.node.attributes,s=e.getAllDefaults(),i=Yc.skipAttributes;for(const n of e.getExplicitNames())if(!1===i[n]||!(n in s)&&!i[n]&&!t.hasAttribute(this.dom[0],n)){const s=e.getExplicit(n);this.dom.forEach(e=>t.setAttribute(e,n,s))}if(e.get("class")){const s=e.get("class").trim().split(/ +/);for(const e of s)this.dom.forEach(s=>t.addClass(s,e))}this.node.getProperty("inline-breaks")&&this.dom.forEach(e=>t.setAttribute(e,"inline-breaks","true"))}handlePWidth(){if(this.bbox.pwidth){const t=this.adaptor;this.bbox.pwidth===vo.fullWidth?this.dom.forEach(e=>t.setAttribute(e,"width","full")):this.dom.forEach(e=>t.setStyle(e,"width",this.bbox.pwidth))}}setIndent(t,e,s){const i=this.adaptor;if("center"===e||"left"===e){const e=this.getBBox().L;s+e&&i.setStyle(t,"margin-left",this.em(s+e))}if("center"===e||"right"===e){const e=this.getBBox().R;s+e&&i.setStyle(t,"margin-right",this.em(-s+e))}}drawBBox(){const{w:t,h:e,d:s,R:i}=this.getOuterBBox(),n=this.html("mjx-box",{style:{opacity:.25,"margin-left":this.em(-t-i)}},[this.html("mjx-box",{style:{height:this.em(e),width:this.em(t),"background-color":"red"}}),this.html("mjx-box",{style:{height:this.em(s),width:this.em(t),"margin-left":this.em(-t),"vertical-align":this.em(-s),"background-color":"green"}})]),r=this.dom[0]||this.parent.dom[0],o=this.adaptor.getAttribute(r,"size");o&&this.adaptor.setAttribute(n,"size",o);const a=this.adaptor.getStyle(r,"fontSize");a&&this.adaptor.setStyle(n,"fontSize",a),this.adaptor.append(this.adaptor.parent(r),n),this.adaptor.setStyle(r,"backgroundColor","#FFEE00")}html(t,e={},s=[]){return this.jax.html(t,e,s)}text(t){return this.jax.text(t)}char(t){return this.font.charSelector(t).substring(1)}}function Qc(t){return class extends t{getWrapWidth(t){return this.parent?this.getBBox().w:this.metrics.containerWidth/this.jax.pxPerEm}computeBBox(t,e=!1){super.computeBBox(t,e);const s=this.node.attributes;if(!this.parent&&this.jax.math.display&&"linebreak"===s.get("overflow")){const e=this.containerWidth;t.w>e&&this.childNodes[0].breakToWidth(e),t.updateFrom(this.childNodes[0].getBBox())}}}}Yc.kind="unknown",Yc.autoStyle=!0;const Zc=function(){var t;const e=Qc(Yc);return(t=class extends e{handleDisplay(t){const e=this.adaptor,[s,i]=this.getAlignShift();if("center"!==s&&e.setAttribute(t,"justify",s),this.bbox.pwidth===vo.fullWidth){if(e.setAttribute(t,"width","full"),this.jax.table){let{L:n,w:r,R:o}=this.jax.table.getOuterBBox();"right"===s?o=Math.max(o||-i,-i):"left"===s?n=Math.max(n||i,i):"center"===s&&(r+=2*Math.abs(i));const a=this.em(Math.max(0,n+r+o));e.setStyle(t,"min-width",a),e.setStyle(this.jax.table.dom[0],"min-width",a)}}else this.setIndent(this.dom[0],s,i)}handleInline(t){const e=this.adaptor,s=e.getStyle(this.dom[0],"margin-right");s&&(e.setStyle(this.dom[0],"margin-right",""),e.setStyle(t,"margin-right",s),e.setStyle(t,"width","0"))}toCHTML(t){super.toCHTML(t);const e=this.adaptor;"block"===this.node.attributes.get("display")?(e.setAttribute(this.dom[0],"display","true"),e.setAttribute(t[0],"display","true"),this.handleDisplay(t[0])):this.handleInline(t[0]),e.addClass(this.dom[0],`${this.font.cssFontPrefix}-N`)}setChildPWidths(t,e=null,s=!0){return!!this.parent&&super.setChildPWidths(t,e,s)}handleAttributes(){super.handleAttributes();const t=this.adaptor;this.node.getProperty("process-breaks")&&this.dom.forEach(e=>t.setAttribute(e,"breakable","true"))}}).kind=In.prototype.kind,t.styles={"mjx-math":{"line-height":0,"text-align":"left","text-indent":0,"font-style":"normal","font-weight":"normal","font-size":"100%","font-size-adjust":"none","letter-spacing":"normal","word-wrap":"normal","word-spacing":"normal",direction:"ltr",padding:"1px 0"},'mjx-container[jax="CHTML"][display="true"] mjx-math':{padding:0},"mjx-math[breakable]":{display:"inline"},'mjx-container[jax="CHTML"] mjx-break':{"white-space":"normal","line-height":"0","clip-path":"rect(0 0 0 0)","font-family":"MJX-BRK !important"},'mjx-break[size="0"]':{"letter-spacing":"-0.999em"},'mjx-break[size="1"]':{"letter-spacing":"-0.889em"},'mjx-break[size="2"]':{"letter-spacing":"-0.833em"},'mjx-break[size="3"]':{"letter-spacing":"-0.778em"},'mjx-break[size="4"]':{"letter-spacing":"-0.722em"},'mjx-break[size="5"]':{"letter-spacing":"-0.667em"}},t}();function th(t){return class extends t{computeBBox(t,e=!1){super.computeBBox(t),this.copySkewIC(t)}}}const eh=function(){var t;const e=th(Yc);return(t=class extends e{}).kind=wn.prototype.kind,t}();class sh{constructor(){this.used=new Set,this.needsUpdate=[]}add(t){const e=JSON.stringify(t);this.used.has(e)||this.needsUpdate.push(t),this.used.add(e)}has(t){return this.used.has(JSON.stringify(t))}clear(){this.used.clear(),this.needsUpdate=[]}update(){const t=this.needsUpdate;return this.needsUpdate=[],t}}class ih extends Fc{constructor(){super(...arguments),this.charUsage=new sh,this.delimUsage=new sh,this.fontUsage={},this.newFonts=0}static charOptions(t,e){return super.charOptions(t,e)}static addFontURLs(t,e,s){for(const i of Object.keys(e)){const n=Object.assign({},e[i]);n.src=n.src.replace(/%%URL%%/,s),t[i]=n}}static addDynamicFontCss(t,e,s){const i={};for(const s of e){const e=s.slice(4);i[`@font-face /* ${e} */`]={"font-family":s,src:`url("%%URL%%/${s.toLowerCase()}.woff2") format("woff2")`},t[`.${e}`]={"font-family":`${this.defaultCssFamilyPrefix}, ${s}`}}this.addFontURLs(t,i,s)}static addExtension(t,e=""){super.addExtension(t,e),t.fonts&&this.addDynamicFontCss(this.defaultStyles,t.fonts,t.fontURL)}addExtension(t,e=""){if(super.addExtension(t,e),!t.fonts||!this.options.adaptiveCSS)return[];const s={},i=new ao;return this.constructor.addDynamicFontCss(s,t.fonts,t.fontURL),i.addStyles(s),i.getStyleRules()}adaptiveCSS(t){this.options.adaptiveCSS=t}clearCache(){this.options.adaptiveCSS&&(this.charUsage.clear(),this.delimUsage.clear())}createVariant(t,e=null,s=null){super.createVariant(t,e,s),this.variant[t].letter=this.constructor.defaultVariantLetters[t]}defineChars(t,e){super.defineChars(t,e);const s=this.variant[t].letter,i=this.constructor;for(const t of Object.keys(e)){const n=parseInt(t);if(!Array.isArray(e[n]))continue;const r=i.charOptions(e,n);void 0===r.f&&(r.f=s);for(const[t,e]of i.combiningChars)if(n>=t&&n<=e){r.cmb=!0;break}}}addDynamicFontCss(t,e=this.options.fontURL){this.constructor.addDynamicFontCss(this.fontUsage,t,e)}updateDynamicStyles(){const t=this.fontUsage;return this.fontUsage={},this.options.adaptiveCSS||this.updateStyles(t),t}get styles(){const t=this.constructor,e=Object.assign(Object.assign({},t.defaultStyles),this.fontUsage);return this.fontUsage={},t.addFontURLs(e,t.defaultFonts,this.options.fontURL),this.options.adaptiveCSS?this.updateStyles(e):this.allStyles(e),e}updateStyles(t){for(const e of this.delimUsage.update())this.addDelimiterStyles(t,e,this.getDelimiter(e));for(const[e,s]of this.charUsage.update()){const i=this.variant[e];this.addCharStyles(t,i.letter,s,i.chars[s])}return t}allStyles(t){var e;for(const e of Object.keys(this.delimiters)){const s=parseInt(e);this.addDelimiterStyles(t,s,this.delimiters[s])}for(const s of Object.keys(this.variant)){const i=this.variant[s],n=i.letter;for(const s of Object.keys(i.chars)){const r=parseInt(s),o=i.chars[r];!(null===(e=null==o?void 0:o[3])||void 0===e?void 0:e.smp)&&Array.isArray(o)&&(o.length<4&&(o[3]={}),this.addCharStyles(t,n,r,o))}}}addDelimiterStyles(t,e,s){if(!s.stretch)return;const i=s.c&&s.c!==e?this.charSelector(s.c):this.charSelector(e);s.dir===Ic.Vertical?this.addDelimiterVStyles(t,e,i,s):this.addDelimiterHStyles(t,e,i,s)}addDelimiterVStyles(t,e,s,i){const n=i.HDW,[r,o,a,l]=i.stretch,[c,h,d,u]=this.getStretchVariants(e),p=this.addDelimiterVPart(t,s,"beg",r,c,n);this.addDelimiterVPart(t,s,"ext",o,h,n);const m=this.addDelimiterVPart(t,s,"end",a,d,n);if(l){const e=this.addDelimiterVPart(t,s,"mid",l,u,n),i=this.em(e/2-.03);t[`mjx-stretchy-v${s} > mjx-ext:first-of-type`]={height:"50%","border-width":`${this.em1(p-.03)} 0 ${i}`},t[`mjx-stretchy-v${s} > mjx-ext:last-of-type`]={height:"50%","border-width":`${i} 0 ${this.em1(m-.03)}`}}else(m||p)&&(t[`mjx-stretchy-v${s} > mjx-ext`]["border-width"]=`${this.em1(p-.03)} 0 ${this.em1(m-.03)}`)}addDelimiterVPart(t,e,s,i,n,r){if(!i)return 0;let o=0;const[a,l,c]=this.getChar(n,i),h={width:this.em0(c)};if("ext"!==s){const t=c>r[2]?this.em((r[2]-c)/2):"auto",e="beg"===s?a:"end"===s?-l:(a-l)/2;h.margin=`${this.em(e)} ${t} ${this.em(-e)}`}else{o=kc;const s=Math.max(kc,a+l-kc);h["line-height"]=this.em0(s);const i=a-s/2-kc;i&&(t[`mjx-stretchy-v${e} > mjx-ext > mjx-spacer`]={"margin-top":this.em(i)})}return t[`mjx-stretchy-v${e} > mjx-${s}`]=h,Math.max(0,a+l-o)}addDelimiterHStyles(t,e,s,i){const n=[...i.HDW],[r,o,a,l]=i.stretch,[c,h,d,u]=this.getStretchVariants(e);if(i.hd&&!this.options.mathmlSpacing){const t=this.params.extender_factor;n[0]=n[0]*(1-t)+i.hd[0]*t,n[1]=n[1]*(1-t)+i.hd[1]*t}const p=this.addDelimiterHPart(t,s,"beg",r,c,n);this.addDelimiterHPart(t,s,"ext",o,h,n);const m=this.addDelimiterHPart(t,s,"end",a,d,n);if(l){const e=this.addDelimiterHPart(t,s,"mid",l,u,n),i=this.em0(e/2-.03);t[`mjx-stretchy-h${s} > mjx-ext:first-of-type`]={width:"50%","border-width":`0 ${i} 0 ${this.em0(p-.03)}`},t[`mjx-stretchy-h${s} > mjx-ext:last-of-type`]={width:"50%","border-width":`0 ${this.em0(m-.03)} 0 ${i}`}}else(p||m)&&(t[`mjx-stretchy-h${s} > mjx-ext`]["border-width"]=`0 ${this.em0(m-.06)} 0 ${this.em0(p-.06)}`);i.ext&&(t[`mjx-stretchy-h${s} > mjx-ext > mjx-spacer`]["letter-spacing"]=this.em(-i.ext-Dc))}addDelimiterHPart(t,e,s,i,n,r){if(!i)return 0;let[,,o,a]=this.getChar(n,i);const l={padding:this.padding(r,o-r[2])};if("ext"===s){const i=l.padding.split(/ /);i[1]=i[3]="0",l.padding=i.join(" "),!o&&a.dx&&(o=2*a.dx-.06),t[`mjx-stretchy-h${e} > mjx-${s} > mjx-spacer`]={"margin-left":this.em(-o/2)},a.cmb&&(t[`mjx-stretchy-h${e} > mjx-${s} > mjx-c`]={width:this.em(o),"text-align":"right"})}else"mid"===s?l.margin=`0 ${this.em(-o/2)}`:l["end"==s?"margin-left":"margin-right"]=this.em(-o),this.checkCombiningChar(a,l);return t[`mjx-stretchy-h${e} > mjx-${s}`]=l,o}addCharStyles(t,e,s,i){const n=i[3],r=void 0!==n.f?n.f:e,o=n.ff||(r?`${this.cssFontPrefix}-${r}`:""),a="mjx-c"+this.charSelector(s)+(o?"."+o:""),l=n.oc||n.ic||0,c={padding:this.padding(i,l)};n.oc&&(t[a+"[noic]"]={"padding-right":this.em(i[2])}),this.checkCombiningChar(n,c),t[a+(c["margin-left"]&&!o?`:not([class*="${this.cssFontPrefix}-"])`:"")]=c}checkCombiningChar(t,e){if(!t.cmb)return;const s=e.padding.split(/ /);e.width=s[1],s[1]="0",s[3]||s.pop(),e.padding=s.join(" "),"0"===e.width&&t.dx&&(e.width=this.em(2*t.dx),e["margin-left"]="-"+e.width)}em(t){return xo(t)}em0(t){return xo(Math.max(0,t))}em1(t){const e=xo(Math.max(0,t));return"0"===e?".1px":e}padding([t,e,s],i=0){return[t,s+i,e,0].map(this.em0).join(" ")}charSelector(t){return".mjx-c"+t.toString(16).toUpperCase()}}function nh(t,e){for(const s of Object.keys(e)){const i=parseInt(s),n=e[i];n.c&&(n.c=n.c.replace(/\\[0-9A-F]+/gi,t=>String.fromCodePoint(parseInt(t.substring(1),16)))),Object.assign(Fc.charOptions(t,i),n)}return t}function rh(t){return class extends t{get breakCount(){return this.breakStyle?1:0}get embellishedBreakCount(){return this.embellishedBreakStyle?1:0}get embellishedBreakStyle(){return this.breakStyle||this.getBreakStyle()}protoBBox(t){const e=this.stretch.dir!==Ic.None;e&&null===this.size&&this.getStretchedVariant([0]),e&&this.size<0||(super.computeBBox(t),0!==t.w||!this.node.attributes.hasExplicit("fence")||""!==this.node.getText()||this.node.texClass!==fn.OPEN&&this.node.texClass!==fn.CLOSE||this.jax.options.mathmlSpacing||(t.R=this.font.params.nulldelimiterspace),this.copySkewIC(t))}getAccentOffset(){const t=vo.empty();return this.protoBBox(t),-t.w/2}getCenterOffset(t=null){return t||(t=vo.empty(),super.computeBBox(t)),(t.h+t.d)/2+this.font.params.axis_height-t.h}getStretchedVariant(t,e=!1){if(this.stretch.dir===Ic.None)return;let s=this.getWH(t);const i=this.getSize("minsize",0),n=this.getSize("maxsize",1/0),r=this.node.getProperty("mathaccent");s=Math.max(i,Math.min(n,s));const o=this.font.params.delimiterfactor/1e3,a=this.font.params.delimitershortfall,l=i||e?s:r?Math.min(s/o,s+a):Math.max(s*o,s-a),c=this.getText().codePointAt(0);let h=this.stretch;this.size&&(this.stretch=h=this.font.getDelimiter(c),this.size=null);const d=h.c||c;let u=0;if(h.sizes)for(const t of h.sizes){if(t>=l)return r&&u&&u--,void this.setDelimSize(d,u);u++}h.stretch?(this.size=-1,this.invalidateBBox(),this.getStretchBBox(t,this.checkExtendedHeight(s,h),h)):this.setDelimSize(d,u-1)}setDelimSize(t,e){const s=this.stretch;this.variant=this.font.getSizeVariant(t,e),this.size=e;const i=s.schar&&s.schar[Math.min(e,s.schar.length-1)]||t;this.stretch=Object.assign(Object.assign({},s),{c:i}),this.childNodes[0].invalidateBBox()}getSize(t,e){const s=this.node.attributes;return s.isSet(t)&&(e=this.length2em(s.get(t),1,1)),e}getWH(t){if(0===t.length)return 0;if(1===t.length)return t[0];const[e,s]=t,i=this.font.params.axis_height;return this.node.attributes.get("symmetric")?2*Math.max(e-i,s+i):e+s}getStretchBBox(t,e,s){Object.hasOwn(s,"min")&&s.min>e&&(e=s.min);let[i,n,r]=s.HDW;if(this.stretch.dir===Ic.Vertical)[i,n]=this.getBaseline(t,e,s);else if(r=e,this.stretch.hd&&!this.jax.options.mathmlSpacing){const t=this.font.params.extender_factor;i=i*(1-t)+this.stretch.hd[0]*t,n=n*(1-t)+this.stretch.hd[1]*t}this.bbox.h=i,this.bbox.d=n,this.bbox.w=r}getBaseline(t,e,s){const i=2===t.length&&t[0]+t[1]===e,n=this.node.attributes.get("symmetric"),[r,o]=i?t:[e,0];let[a,l]=[r+o,0];if(n){const t=this.font.params.axis_height;i&&(a=2*Math.max(r-t,o+t)),l=a/2-t}else if(i)l=o;else{const[t,e]=s.HDW||[.75,.25];l=e*(a/(t+e))}return[a-l,l]}checkExtendedHeight(t,e){if(e.fullExt){const[s,i]=e.fullExt;t=i+Math.ceil(Math.max(0,t-i)/s)*s}return t}setBreakStyle(t=""){var e;if(this.breakStyle=(null===(e=this.node.parent)||void 0===e?void 0:e.isEmbellished)&&!t?"":this.getBreakStyle(t),this.breakCount&&this.multChar){const t=this.parent.node.childIndex(this.node),e=this.parent.node.childNodes[t+1];e&&e.setTeXclass(this.multChar.node)}}getBreakStyle(t=""){const e=this.node.attributes;let s=t||("newline"===e.get("linebreak")||this.node.getProperty("forcebreak")?e.get("linebreakstyle"):"");return"infixlinebreakstyle"===s&&(s=e.get(s)),s}getMultChar(){const t=this.node.attributes.get("linebreakmultchar");t&&"\u2062"===this.getText()&&"\u2062"!==t&&(this.multChar=this.createMo(t))}constructor(t,e,s=null){super(t,e,s),this.size=null,this.isAccent=this.node.isAccent,this.getMultChar(),this.setBreakStyle()}computeBBox(t,e=!1){if(this.protoBBox(t),this.node.attributes.get("symmetric")&&this.stretch.dir!==Ic.Horizontal){const e=this.getCenterOffset(t);t.h+=e,t.d-=e}this.node.getProperty("mathaccent")&&(this.stretch.dir===Ic.None||this.size>=0)&&(t.w=0)}computeLineBBox(t){return this.moLineBBox(t,this.breakStyle)}moLineBBox(t,e,s=null){const i=this.node.attributes.get("lineleading"),n=this.length2em(i,this.linebreakOptions.lineleading);if(0===t&&"before"===e){const t=jc.from(vo.zero(),n);return t.originalL=this.bbox.L,this.bbox.L=0,t}let r=jc.from(s||this.getOuterBBox(),n);return 1===t&&("after"===e?(r.w=r.h=r.d=0,r.isFirst=!0,this.bbox.R=0):"duplicate"===e?r.L=0:this.multChar&&(r=jc.from(this.multChar.getOuterBBox(),n)),r.getIndentData(this.node)),r}canStretch(t){if(this.stretch.dir!==Ic.None)return this.stretch.dir===t;if(!this.node.attributes.get("stretchy"))return!1;const e=this.getText();if(1!==Array.from(e).length)return!1;const s=this.font.getDelimiter(e.codePointAt(0));return this.stretch=s&&s.dir===t?s:Pc,this.stretch.dir!==Ic.None}getVariant(){this.node.attributes.get("largeop")?this.variant=this.node.attributes.get("displaystyle")?"-largeop":"-smallop":this.node.attributes.hasExplicit("mathvariant")||!1!==this.node.getProperty("pseudoscript")?super.getVariant():this.variant="-tex-variant"}remapChars(t){const e=this.node.getProperty("primes");if(e)return Un(e);if(1===t.length){const e=this.node.coreParent().parent,s=this.isAccent&&!e.isKind("mrow")?"accent":"mo",i=this.font.getRemappedChar(s,t[0]);i&&(t=this.unicodeChars(i,this.variant))}return t}}}ih.OPTIONS=Object.assign(Object.assign({},Fc.OPTIONS),{dynamicPrefix:"./chtml/dynamic",fontURL:"./chtml/woff2"}),ih.JAX="CHTML",ih.defaultVariantLetters={},ih.defaultStyles={},ih.defaultFonts={},ih.combiningChars=[[768,879],[8400,8447]];const oh=function(){var t;const e=rh(Yc);return t=class extends e{toCHTML(t){const e=this.adaptor,s=this.node.attributes,i=s.get("symmetric")&&this.stretch.dir!==Ic.Horizontal,n=this.stretch.dir!==Ic.None;n&&null===this.size&&this.getStretchedVariant([]),t.length>1&&t.forEach(t=>e.append(t,this.html("mjx-linestrut")));const r=this.standardChtmlNodes(t);if(r.length>1&&"duplicate"!==this.breakStyle){const t="after"===this.breakStyle?1:0;e.remove(r[t]),r[t]=null}if(n&&this.size<0)this.stretchHTML(r);else{if(i||s.get("largeop")){const t=this.em(this.getCenterOffset());"0"!==t&&r.forEach(s=>s&&e.setStyle(s,"verticalAlign",t))}this.node.getProperty("mathaccent")&&r.forEach(t=>{e.setStyle(t,"width","0"),e.setStyle(t,"margin-left",this.em(this.getAccentOffset()))}),r[0]&&this.addChildren([r[0]]),r[1]&&(this.multChar||this).addChildren([r[1]])}}stretchHTML(t){const e=this.getText().codePointAt(0);this.font.delimUsage.add(e),this.childNodes[0].markUsed();const s=this.stretch,i=s.stretch,n=this.font.getStretchVariants(e),r=[],o=[];for(let t=0;t<i.length;t++)i[t]&&(o[t]=this.font.getChar(n[t],i[t]));const{h:a,d:l,w:c}=this.bbox,h={};if(s.dir===Ic.Vertical)this.createAssembly(o,i,n,r,a+l,kc,"\n"),r.push(this.html("mjx-mark")),h.height=this.em(a+l),h.verticalAlign=this.em(-l);else{const t=(s.ext||0)+Dc;this.createAssembly(o,i,n,r,c,t),h.width=this.em(c)}const d={class:this.char(s.c||e),style:h},u=this.html("mjx-stretchy-"+s.dir,d,r),p=this.adaptor;t[0]&&p.append(t[0],u),t[1]&&p.append(t[1],t[0]?p.clone(u):u)}createAssembly(t,e,s,i,n,r,o=""){t=[...t,null,null,null].slice(0,4);let[a,l,c,h]=t.map(t=>t?o?t[0]+t[1]:t[2]:0);l=Math.max(0,l-r);const[d,u]=t[3]?[(n-h)/2-a,(n-h)/2-c]:[n-a-c,0];this.createPart("mjx-beg",t[0],e[0],s[0],i),this.createPart("mjx-ext",t[1],e[1],s[1],i,d,l,o,a,h/2||c),t[3]&&(this.createPart("mjx-mid",t[3],e[3],s[3],i),this.createPart("mjx-ext",t[1],e[1],s[1],i,u,l,o,h/2,c)),this.createPart("mjx-end",t[2],e[2],s[2],i)}createPart(t,e,s,i,n,r=0,o=0,a="",l=0,c=0){if(s){const h=e[3],d=h.f||("normal"===i?"":this.font.getVariant(i).letter),u=h.ff||(d?`${this.font.cssFontPrefix}-${d}`:""),p=h.c||String.fromCodePoint(s);let m=[];if("mjx-ext"===t&&(o||h.dx)){if(r<0&&a)return void n.push(this.html(t,Object.assign(Object.assign({},u?{class:u}:{}),{style:{"border-width":`${this.em(l+r/2)} 0 ${this.em(c+r/2)}`,"clip-path":"none"}})));o||(o=Math.max(Dc,2*h.dx-Dc));const e=Math.min(Math.ceil(r/o)+1,500);if(h.cmb){m.push(this.html("mjx-spacer"));for(let t=0;t<e;t++)m.push(this.html("mjx-c",{},[this.text(p)]))}else m=[this.html("mjx-spacer",{},[this.text(Array(e).fill(p).join(a))])]}else m=[this.text(p)];n.push(this.html(t,u?{class:u}:{},m))}}},t.kind=Xn.prototype.kind,t.styles={"mjx-stretchy-h":{display:"inline-block"},[["beg","ext","end","mid"].map(t=>`mjx-stretchy-h > mjx-${t}`).join(", ")]:{display:"inline-block",width:0,"text-align":"right"},"mjx-stretchy-h > mjx-ext":{"clip-path":"padding-box polygon(0 -1em, 100% -1em, 100% calc(100% + 1em), 0 calc(100% + 1em))",width:"100%",border:"0px solid transparent","box-sizing":"border-box","text-align":"left"},"mjx-stretchy-v":{display:"inline-block","text-align":"center"},[["beg","ext","end","mid"].map(t=>`mjx-stretchy-v > mjx-${t}`).join(", ")]:{display:"block",height:0,margin:"0 auto"},"mjx-stretchy-v > mjx-ext > mjx-spacer":{display:"block"},"mjx-stretchy-v > mjx-ext":{"clip-path":"padding-box polygon(-1em 0, calc(100% + 1em) 0, calc(100% + 1em) 100%, -1em 100%)",height:"100%",border:"0.1px solid transparent","box-sizing":"border-box","white-space":"pre"},"mjx-mark":{display:"inline-block",height:0}},t}();function ah(t){return class extends t{remapChars(t){if(t.length){const e=this.font.getRemappedChar("mn",t[0]);if(e){const s=this.unicodeChars(e,this.variant);1===s.length?t[0]=s[0]:t=s.concat(t.slice(1))}}return t}}}const lh=function(){var t;const e=ah(Yc);return(t=class extends e{}).kind=Mn.prototype.kind,t}();function ch(t){return class extends t{createText(t){const e=this.wrap(this.mmlText(t));return e.parent=this,e}constructor(t,e,s=null){super(t,e,s);const i=this.node.attributes,n=i.getList("lquote","rquote");"monospace"!==this.variant&&(i.isSet("lquote")||'"'!==n.lquote||(n.lquote="\u201c"),i.isSet("rquote")||'"'!==n.rquote||(n.rquote="\u201d")),this.childNodes.unshift(this.createText(n.lquote)),this.childNodes.push(this.createText(n.rquote))}}}const hh=function(){var t;const e=ch(Yc);return(t=class extends e{}).kind=$n.prototype.kind,t}();function dh(t){var e;return e=class extends t{constructor(){super(...arguments),this.breakPoints=[]}textWidth(t){let e=this.textNode;if(!e){const t=this.node.factory.create("text");t.parent=this.node,e=this.textNode=this.factory.wrap(t),e.parent=this}return e.node.setText(t),e.invalidateBBox(!1),e.getBBox().w}get breakCount(){return this.breakPoints.length}getVariant(){const t=this.jax.options,e=this.jax.math.outputData,s=(!!e.merrorFamily||!!t.merrorFont)&&this.node.Parent.isKind("merror");if(e.mtextFamily||t.mtextFont||s){const i=this.node.attributes.get("mathvariant"),n=this.constructor.INHERITFONTS[i]||this.jax.font.getCssFont(i),r=n[0]||(s?e.merrorFamily||t.merrorFont:e.mtextFamily||t.mtextFont);return void(this.variant=this.explicitVariant(r,n[2]?"bold":"",n[1]?"italic":""))}super.getVariant()}setBreakAt(t){this.breakPoints.push(t)}clearBreakPoints(){this.breakPoints=[]}computeLineBBox(t){const e=jc.from(this.getOuterBBox(),this.linebreakOptions.lineleading);return this.breakCount?(e.w=this.getBreakWidth(t),0===t?(e.R=0,this.addLeftBorders(e)):(e.L=0,e.indentData=[["left","0"],["left","0"],["left","0"]],t===this.breakCount&&this.addRightBorders(e)),e):e}getBreakWidth(t){const e=this.childNodes;let[s,i]=this.breakPoints[t-1]||[0,0];const[n,r]=this.breakPoints[t]||[e.length,0];let o=e[s].node.getText().split(/ /);if(s===n)return this.textWidth(o.slice(i,r).join(" "));let a=this.textWidth(o.slice(i).join(" "));for(;++s<n&&s<e.length;)a+=e[s].getBBox().w;return s<e.length&&(o=e[s].node.getText().split(/ /),a+=this.textWidth(o.slice(0,r).join(" "))),a}},e.INHERITFONTS={normal:["",!1,!1],bold:["",!1,!0],italic:["",!0,!1],"bold-italic":["",!0,!0]},e}const uh=function(){var t;const e=dh(Yc);return(t=class extends e{toCHTML(t){if(!this.breakCount)return void super.toCHTML(t);const e=this.standardChtmlNodes(t),s=this.textNode.node,i=this.childNodes;for(const t of e.keys()){const n=[e[t]];this.adaptor.append(e[t],this.html("mjx-linestrut"));let[r,o]=this.breakPoints[t-1]||[0,0];const[a,l]=this.breakPoints[t]||[i.length,0];let c=i[r].node.getText().split(/ /);if(r!==a){for(s.setText(c.slice(o).join(" ")),this.textNode.toCHTML(n);++r<a&&r<i.length;)i[r].toCHTML(n);r<i.length&&(c=i[r].node.getText().split(/ /),s.setText(c.slice(0,l).join(" ")),this.textNode.toCHTML(n))}else s.setText(c.slice(o,l).join(" ")),this.textNode.toCHTML(n)}}}).kind=zn.prototype.kind,t}();function ph(t){return class extends t{get canBreak(){return this.node.canBreak}get breakCount(){return this.breakStyle?1:0}setBreakStyle(t=""){this.breakStyle=t||(this.node.hasNewline||this.node.getProperty("forcebreak")?"before":"")}constructor(t,e,s=null){super(t,e,s),this.setBreakStyle()}computeBBox(t,e=!1){const s=this.node.attributes;t.w=this.length2em(s.get("width"),0),t.h=this.length2em(s.get("height"),0),t.d=this.length2em(s.get("depth"),0)}computeLineBBox(t){const e=this.node.attributes.get("data-lineleading"),s=this.length2em(e,this.linebreakOptions.lineleading),i=jc.from(vo.zero(),s);return 1===t&&(i.getIndentData(this.node),i.w=this.getBBox().w,i.isFirst=0===i.w),i}}}const mh=function(){var t;const e=ph(Yc);return(t=class extends e{toCHTML(t){t.length>1&&t.forEach(t=>this.adaptor.append(t,this.html("mjx-linestrut")));const e=this.standardChtmlNodes(t);let{w:s,h:i,d:n}=this.getBBox();s<0&&(this.adaptor.setStyle(e[0],"marginRight",this.em(s)),s=0),s&&!this.breakCount&&this.adaptor.setStyle(e[0],"width",this.em(s)),i=Math.max(0,i+n),i&&this.adaptor.setStyle(e[0],"height",this.em(Math.max(0,i))),n&&this.adaptor.setStyle(e[0],"verticalAlign",this.em(-n))}}).kind=Kn.prototype.kind,t}();function gh(t){return class extends t{get containerWidth(){const t=this.node.attributes,e=t.get("width").toString();return e.match(/^[-+]|%$/)||"linebreak"!==t.get("data-overflow")?this.parent.containerWidth:this.length2em(e)}getDimens(){const t=this.node.attributes.getList("width","height","depth","lspace","voffset"),e=this.childNodes[0].getOuterBBox();let{w:s,h:i,d:n}=e;const r=s,o=i,a=n;let l=0,c=0,h=0;""!==t.width&&(s=this.dimen(t.width,e,"w",0)),""!==t.height&&(i=this.dimen(t.height,e,"h",0)),""!==t.depth&&(n=this.dimen(t.depth,e,"d",0)),""!==t.voffset&&(c=this.dimen(t.voffset,e)),""!==t.lspace&&(l=this.dimen(t.lspace,e));const d=this.node.attributes.get("data-align");return d&&(h=this.getAlignX(s,e,d)),[o,a,r,i-o,n-a,s-r,l,c,h]}dimen(t,e,s="",i=null){const n=(t=String(t)).match(/width|height|depth/),r=n?e[n[0].charAt(0)]:s?e[s]:0;let o=this.length2em(t,r)||0;return t.match(/^[-+]/)&&s&&(o+=r),null!=i&&(o=Math.max(i,o)),o}setBBoxDimens(t){const[e,s,i,n,r,o]=this.getDimens();t.w=i+o,t.h=e+n,t.d=s+r}computeBBox(t,e=!1){this.setBBoxDimens(t);if(this.childNodes[0].getOuterBBox().w>t.w){const e=this.node.attributes.get("data-overflow");("linebreak"===e||"auto"===e&&"linebreak"===this.jax.math.root.attributes.get("overflow"))&&(this.childNodes[0].breakToWidth(t.w),this.setBBoxDimens(t))}this.setChildPWidths(e,t.w)}getWrapWidth(t){return this.getBBox().w}getChildAlign(t){return this.node.attributes.get("data-align")||"left"}}}const fh=function(){var t;const e=gh(Yc);return(t=class extends e{toCHTML(t){if(this.toEmbellishedCHTML(t))return;let e=this.standardChtmlNodes(t);const s=[],i={},[,,n,r,o,a,l,c,h]=this.getDimens();if((a||this.childNodes[0].getBBox().pwidth)&&(i.width=this.em(n+a)),(r||o)&&(i.margin=this.em(r)+" 0 "+this.em(o)),l+h||c){i.position="relative";const t=this.html("mjx-rbox",{style:{left:this.em(l+h),top:this.em(-c),"max-width":i.width}});l+h&&this.childNodes[0].getBBox().pwidth&&(this.adaptor.setAttribute(t,"width","full"),this.adaptor.setStyle(t,"left",this.em(l))),s.push(t)}e=[this.adaptor.append(e[0],this.html("mjx-block",{style:i},s))],this.childNodes[0].childNodes.length?this.childNodes[0].toCHTML([s[0]||e[0]]):(r||o)&&this.adaptor.append(s[0]||e[0],this.html("mjx-box"))}}).kind=ir.prototype.kind,t.styles={"mjx-mpadded":{display:"inline-block"},"mjx-rbox":{display:"inline-block",position:"relative"}},t}(),bh=4,Eh=1,yh=2,xh=.067,Nh=.2,vh=xh+"em solid",Th={top:0,right:1,bottom:2,left:3},Ch=Object.keys(Th),Ah=t=>new Array(4).fill(t.thickness+t.padding),Lh=t=>new Array(4).fill(t.padding),Sh=t=>new Array(4).fill(t.thickness),Rh=t=>Math.max(t.padding,t.thickness*(t.arrowhead.x+t.arrowhead.dx+1)),Ih=(t,e)=>{if(t.childNodes[0]){const{h:s,d:i}=t.childNodes[0].getBBox();e[0]=e[2]=Math.max(0,t.thickness*t.arrowhead.y-(s+i)/2)}return e},wh=(t,e)=>{if(t.childNodes[0]){const{w:s}=t.childNodes[0].getBBox();e[1]=e[3]=Math.max(0,t.thickness*t.arrowhead.y-s/2)}return e},Mh={up:[-Math.PI/2,!1,!0,"verticalstrike"],down:[Math.PI/2,!1,!0,"verticakstrike"],right:[0,!1,!1,"horizontalstrike"],left:[Math.PI,!1,!1,"horizontalstrike"],updown:[Math.PI/2,!0,!0,"verticalstrike uparrow downarrow"],leftright:[0,!0,!1,"horizontalstrike leftarrow rightarrow"]},Oh={updiagonal:[-1,0,!1,"updiagonalstrike northeastarrow"],northeast:[-1,0,!1,"updiagonalstrike updiagonalarrow"],southeast:[1,0,!1,"downdiagonalstrike"],northwest:[1,Math.PI,!1,"downdiagonalstrike"],southwest:[-1,Math.PI,!1,"updiagonalstrike"],northeastsouthwest:[-1,0,!0,"updiagonalstrike northeastarrow updiagonalarrow southwestarrow"],northwestsoutheast:[1,0,!0,"downdiagonalstrike northwestarrow southeastarrow"]},kh={up:t=>wh(t,[Rh(t),0,t.padding,0]),down:t=>wh(t,[t.padding,0,Rh(t),0]),right:t=>Ih(t,[0,Rh(t),0,t.padding]),left:t=>Ih(t,[0,t.padding,0,Rh(t)]),updown:t=>wh(t,[Rh(t),0,Rh(t),0]),leftright:t=>Ih(t,[0,Rh(t),0,Rh(t)])},Dh=function(t){return e=>{const s=Th[e];return[e,{renderer:t,bbox:t=>{const e=[0,0,0,0];return e[s]=t.thickness+t.padding,e},border:t=>{const e=[0,0,0,0];return e[s]=t.thickness,e}}]}},Ph=function(t){return(e,s,i)=>{const n=Th[s],r=Th[i];return[e,{renderer:t,bbox:t=>{const e=t.thickness+t.padding,s=[0,0,0,0];return s[n]=s[r]=e,s},border:t=>{const e=[0,0,0,0];return e[n]=e[r]=t.thickness,e},remove:s+" "+i}]}},Bh=function(t){return e=>{const s="mjx-"+e.charAt(0)+"strike";return[e+"diagonalstrike",{renderer:t(s),bbox:Ah}]}},Fh=function(t){return e=>{const[s,i,n,r]=Oh[e];return[e+"arrow",{renderer:(e,r)=>{const[o,a]=e.arrowAW(),l=e.arrow(a,s*(o-i),n);t(e,l)},bbox:t=>{const{a:e,x:s,y:i}=t.arrowData(),[n,r,o]=[t.arrowhead.x,t.arrowhead.y,t.arrowhead.dx],[a,l]=t.getArgMod(n+o,r),c=i+(a>e?t.thickness*l*Math.sin(a-e):0),h=s+(a>Math.PI/2-e?t.thickness*l*Math.sin(a+e-Math.PI/2):0);return[c,h,c,h]},remove:r}]}},jh=function(t){return e=>{const[s,i,n,r]=Mh[e];return[e+"arrow",{renderer:(e,r)=>{const{w:o,h:a,d:l}=e.getBBox(),[c,h]=n?[a+l,"X"]:[o,"Y"],d=e.getOffset(h),u=e.arrow(c,s,i,h,d);t(e,u)},bbox:kh[e],remove:r}]}};function _h(t){return class extends t{getParameters(){const t=this.node.attributes,e=t.get("data-padding");void 0!==e&&(this.padding=this.length2em(e,Nh));const s=t.get("data-thickness");void 0!==s&&(this.thickness=this.length2em(s,xh));const i=t.get("data-arrowhead");if(void 0!==i){const[t,e,s]=qn(i);this.arrowhead={x:t?parseFloat(t):bh,y:e?parseFloat(e):yh,dx:s?parseFloat(s):Eh}}}getNotations(){const t=this.constructor.notations;for(const e of qn(this.node.attributes.get("notation"))){const s=t.get(e);s&&(this.notations[e]=s,s.renderChild&&(this.renderChild=s.renderer))}}removeRedundantNotations(){for(const t of Object.keys(this.notations))if(this.notations[t]){const e=this.notations[t].remove||"";for(const t of e.split(/ /))delete this.notations[t]}}initializeNotations(){for(const t of Object.keys(this.notations)){const e=this.notations[t].init;e&&e(this)}}getBBoxExtenders(){const t=[0,0,0,0];for(const e of Object.keys(this.notations))this.maximizeEntries(t,this.notations[e].bbox(this));return t}getPadding(){const t=[0,0,0,0];for(const e of Object.keys(this.notations)){const s=this.notations[e].border;s&&this.maximizeEntries(t,s(this))}return[0,1,2,3].map(e=>this.TRBL[e]-t[e])}maximizeEntries(t,e){for(let s=0;s<t.length;s++)t[s]<e[s]&&(t[s]=e[s])}getOffset(t){const[e,s,i,n]=this.TRBL,r=("X"===t?s-n:i-e)/2;return Math.abs(r)>.001?r:0}getArgMod(t,e){return[Math.atan2(e,t),Math.sqrt(t*t+e*e)]}arrow(t,e,s,i="",n=0){return null}arrowData(){const[t,e]=[this.padding,this.thickness],s=e*(this.arrowhead.x+Math.max(1,this.arrowhead.dx)),{h:i,d:n,w:r}=this.childNodes[0].getBBox(),o=i+n,a=Math.sqrt(o*o+r*r),l=Math.max(t,s*r/a),c=Math.max(t,s*o/a),[h,d]=this.getArgMod(r+2*l,o+2*c);return{a:h,W:d,x:l,y:c}}arrowAW(){const{h:t,d:e,w:s}=this.childNodes[0].getBBox(),[i,n,r,o]=this.TRBL;return this.getArgMod(o+s+n,i+t+e+r)}createMsqrt(t){const e=this.node.factory.create("msqrt");e.inheritAttributesFrom(this.node),e.childNodes[0]=t.node;const s=this.wrap(e);return s.parent=this,s}sqrtTRBL(){const t=this.msqrt.getBBox(),e=this.msqrt.childNodes[0].getBBox();return[t.h-e.h,0,t.d-e.d,t.w-e.w]}constructor(t,e,s=null){super(t,e,s),this.notations={},this.renderChild=null,this.msqrt=null,this.padding=Nh,this.thickness=xh,this.arrowhead={x:bh,y:yh,dx:Eh},this.TRBL=[0,0,0,0],this.getParameters(),this.getNotations(),this.removeRedundantNotations(),this.initializeNotations(),this.TRBL=this.getBBoxExtenders()}computeBBox(t,e=!1){const[s,i,n,r]=this.TRBL,o=this.childNodes[0].getBBox();t.combine(o,r,0),t.h+=s,t.d+=n,t.w+=i,this.setChildPWidths(e)}}}const Uh=function(t,e=""){return(s,i)=>{const n=s.adjustBorder(s.html("mjx-"+t));if(e){const t=s.getOffset(e);if(s.thickness!==xh||t){const i=`translate${e}(${s.Em(s.thickness/2-t)})`;s.adaptor.setStyle(n,"transform",i)}}s.adaptor.append(s.dom[0],n)}},Hh=function(t){return Dh((e,s)=>{e.adaptor.setStyle(s,"border-"+t,e.Em(e.thickness)+" solid")})(t)},Wh=function(t,e,s){return Ph((t,i)=>{const n=t.Em(t.thickness)+" solid";t.adaptor.setStyle(i,"border-"+e,n),t.adaptor.setStyle(i,"border-"+s,n)})(t,e,s)},qh=function(t,e){return Bh(t=>(s,i)=>{const{w:n,h:r,d:o}=s.getBBox(),[a,l]=s.getArgMod(n,r+o),c=e*s.thickness/2,h=s.adjustBorder(s.html(t,{style:{width:s.Em(l),transform:"rotate("+s.fixed(-e*a)+"rad) translateY("+c+"em)"}}));s.adaptor.append(s.dom[0],h)})(t)},Vh=function(t){return Fh((t,e)=>{t.adaptor.append(t.dom[0],e)})(t)},Gh=function(t){return jh((t,e)=>{t.adaptor.append(t.dom[0],e)})(t)};function Xh(t,e){return Math.atan2(t,e).toFixed(3).replace(/\.?0+$/,"")}const zh=Xh(Eh,yh),Kh=function(){var t;const e=_h(Yc);return(t=class extends e{adjustArrow(t,e){const s=this.thickness,i=this.arrowhead;if(i.x===bh&&i.y===yh&&i.dx===Eh&&s===xh)return;const[n,r]=[s*i.x,s*i.y].map(t=>this.em(t)),o=Xh(i.dx,i.y),[a,l,c,h,d]=this.adaptor.childNodes(t);this.adjustHead(l,[r,"0","1px",n],o),this.adjustHead(c,["1px","0",r,n],"-"+o),this.adjustHead(h,[r,n,"1px","0"],"-"+o),this.adjustHead(d,["1px",n,r,"0"],o),this.adjustLine(a,s,i.x,e)}adjustHead(t,e,s){t&&(this.adaptor.setStyle(t,"border-width",e.join(" ")),this.adaptor.setStyle(t,"transform","skewX("+s+"rad)"))}adjustLine(t,e,s,i){this.adaptor.setStyle(t,"borderTop",this.em(e)+" solid"),this.adaptor.setStyle(t,"top",this.em(-e/2)),this.adaptor.setStyle(t,"right",this.em(e*(s-1))),i&&this.adaptor.setStyle(t,"left",this.em(e*(s-1)))}moveArrow(t,e,s){if(!s)return;const i=this.adaptor.getStyle(t,"transform");this.adaptor.setStyle(t,"transform",`translate${e}(${this.em(-s)})${i?" "+i:""}`)}adjustBorder(t){return this.thickness!==xh&&this.adaptor.setStyle(t,"borderWidth",this.em(this.thickness)),t}adjustThickness(t){return this.thickness!==xh&&this.adaptor.setStyle(t,"strokeWidth",this.fixed(this.thickness)),t}fixed(t,e=3){return Math.abs(t)<6e-4?"0":t.toFixed(e).replace(/\.?0+$/,"")}Em(t){return super.em(t)}toCHTML(t){const e=this.adaptor,s=this.standardChtmlNodes(t),i=e.append(s[0],this.html("mjx-box"));this.renderChild?this.renderChild(this,i):this.childNodes[0].toCHTML([i]);for(const t of Object.keys(this.notations)){const e=this.notations[t];e.renderChild||e.renderer(this,i)}const n=this.getPadding();for(const t of Ch){const s=Th[t];n[s]>0&&e.setStyle(i,"padding-"+t,this.em(n[s]))}}arrow(t,e,s,i="",n=0){const r=this.getBBox().w,o={width:this.em(t)};r!==t&&(o.left=this.em((r-t)/2)),e&&(o.transform="rotate("+this.fixed(e)+"rad)");const a=this.html("mjx-arrow",{style:o},[this.html("mjx-aline"),this.html("mjx-rthead"),this.html("mjx-rbhead")]);return s&&(this.adaptor.append(a,this.html("mjx-lthead")),this.adaptor.append(a,this.html("mjx-lbhead")),this.adaptor.setAttribute(a,"double","true")),this.adjustArrow(a,s),this.moveArrow(a,i,n),a}}).kind=or.prototype.kind,t.styles={"mjx-menclose":{position:"relative"},"mjx-menclose > mjx-dstrike":{display:"inline-block",left:0,top:0,position:"absolute","border-top":vh,"transform-origin":"top left"},"mjx-menclose > mjx-ustrike":{display:"inline-block",left:0,bottom:0,position:"absolute","border-top":vh,"transform-origin":"bottom left"},"mjx-menclose > mjx-hstrike":{"border-top":vh,position:"absolute",left:0,right:0,bottom:"50%",transform:"translateY("+xo(xh/2)+")"},"mjx-menclose > mjx-vstrike":{"border-left":vh,position:"absolute",top:0,bottom:0,right:"50%",transform:"translateX("+xo(xh/2)+")"},"mjx-menclose > mjx-rbox":{position:"absolute",top:0,bottom:0,right:0,left:0,border:vh,"border-radius":xo(xh+Nh)},"mjx-menclose > mjx-cbox":{position:"absolute",top:0,bottom:0,right:0,left:0,border:vh,"border-radius":"50%"},"mjx-menclose > mjx-arrow":{position:"absolute",left:0,bottom:"50%",height:0,width:0},"mjx-menclose > mjx-arrow > mjx-aline":{display:"block",position:"absolute","box-sizing":"border-box","transform-origin":"bottom",left:0,top:xo(-xh/2),right:xo(xh*(bh-1)),height:0,"border-top":xo(xh)+" solid","border-left":0,"border-right":0},"mjx-menclose > mjx-arrow[double] > mjx-aline":{display:"block",position:"absolute","box-sizing":"border-box","transform-origin":"bottom",left:xo(xh*(bh-1)),height:0,"border-left":xo(xh*bh)+" solid","border-right":0},"mjx-menclose > mjx-arrow > mjx-rthead":{display:"block",position:"absolute","box-sizing":"border-box","transform-origin":"bottom",transform:"skewX("+zh+"rad)",right:0,bottom:"-1px","border-left":xo(xh*bh)+" solid","border-right":0,"border-bottom":"1px solid transparent","border-top":xo(xh*yh)+" solid transparent"},"mjx-menclose > mjx-arrow > mjx-rbhead":{display:"block",position:"absolute","box-sizing":"border-box",transform:"skewX(-"+zh+"rad)","transform-origin":"top",right:0,top:"-1px","border-left":xo(xh*bh)+" solid","border-right":0,"border-top":"1px solid transparent","border-bottom":xo(xh*yh)+" solid transparent"},"mjx-menclose > mjx-arrow > mjx-lthead":{display:"block",position:"absolute","box-sizing":"border-box",transform:"skewX(-"+zh+"rad)","transform-origin":"bottom",left:0,bottom:"-1px","border-left":0,"border-right":xo(xh*bh)+" solid","border-bottom":"1px solid transparent","border-top":xo(xh*yh)+" solid transparent"},"mjx-menclose > mjx-arrow > mjx-lbhead":{display:"block",position:"absolute","box-sizing":"border-box",transform:"skewX("+zh+"rad)","transform-origin":"top",left:0,top:"-1px","border-left":0,"border-right":xo(xh*bh)+" solid","border-top":"1px solid transparent","border-bottom":xo(xh*yh)+" solid transparent"},"mjx-menclose > mjx-dbox-top":{position:"absolute",top:0,bottom:"50%",left:0,width:xo(1.5*Nh),"border-width":xo(xh),"border-style":"solid solid none none","border-radius":"0 100% 0 0","box-sizing":"border-box"},"mjx-menclose > mjx-dbox-bot":{position:"absolute",top:"50%",bottom:0,left:0,width:xo(1.5*Nh),"border-width":xo(xh),"border-style":"none solid solid none","border-radius":"0 0 100% 0","box-sizing":"border-box"}},t.notations=new Map([Hh("top"),Hh("right"),Hh("bottom"),Hh("left"),Wh("actuarial","top","right"),Wh("madruwb","bottom","right"),qh("up",1),qh("down",-1),["horizontalstrike",{renderer:Uh("hstrike","Y"),bbox:t=>[0,t.padding,0,t.padding]}],["verticalstrike",{renderer:Uh("vstrike","X"),bbox:t=>[t.padding,0,t.padding,0]}],["box",{renderer:(t,e)=>{t.adaptor.setStyle(e,"border",t.Em(t.thickness)+" solid")},bbox:Ah,border:Sh,remove:"left right top bottom"}],["roundedbox",{renderer:Uh("rbox"),bbox:Ah}],["circle",{renderer:Uh("cbox"),bbox:Ah}],["phasorangle",{renderer:(t,e)=>{const{h:s,d:i}=t.getBBox(),[n,r]=t.getArgMod(1.75*t.padding,s+i),o=t.thickness*Math.sin(n)*.9;t.adaptor.setStyle(e,"border-bottom",t.Em(t.thickness)+" solid");const a=t.adjustBorder(t.html("mjx-ustrike",{style:{width:t.Em(r),transform:`translateX(${t.Em(o)}) rotate(${t.fixed(-n)}rad)`}}));t.adaptor.append(t.dom[0],a)},bbox:t=>{const e=t.padding/2,s=t.thickness;return[2*e,e,e+s,3*e+s]},border:t=>[0,0,t.thickness,0],remove:"bottom"}],Gh("up"),Gh("down"),Gh("left"),Gh("right"),Gh("updown"),Gh("leftright"),Vh("updiagonal"),Vh("northeast"),Vh("southeast"),Vh("northwest"),Vh("southwest"),Vh("northeastsouthwest"),Vh("northwestsoutheast"),["longdiv",{renderer:(t,e)=>{const s=t.adaptor;s.setStyle(e,"border-top",t.Em(t.thickness)+" solid");const i=s.append(t.dom[0],t.html("mjx-dbox-top")),n=s.append(t.dom[0],t.html("mjx-dbox-bot")),r=t.thickness,o=t.padding;r!==xh&&(s.setStyle(i,"border-width",t.Em(r)),s.setStyle(n,"border-width",t.Em(r))),o!==Nh&&(s.setStyle(i,"width",t.Em(1.5*o)),s.setStyle(n,"width",t.Em(1.5*o)))},bbox:t=>{const e=t.padding,s=t.thickness;return[e+s,e,e,2*e+s/2]}}],["radical",{renderer:(t,e)=>{t.msqrt.toCHTML([e]);const s=t.sqrtTRBL();t.adaptor.setStyle(t.msqrt.dom[0],"margin",s.map(e=>t.Em(-e)).join(" "))},init:t=>{t.msqrt=t.createMsqrt(t.childNodes[0])},bbox:t=>t.sqrtTRBL(),renderChild:!0}]]),t}();function $h(t){return class extends t{stretchChildren(){const t=[];for(const e of this.childNodes)e.canStretch(Ic.Vertical)&&t.push(e);const e=t.length,s=this.childNodes.length;if(e&&s>1){let i=0,n=0;const r=e>1&&e===s;for(const t of this.childNodes){const e=t.stretch.dir===Ic.None;if(r||e){const e=t.getBBox().rscale;let[s,r]=t.getUnbrokenHD();s*=e,r*=e,s>i&&(i=s),r>n&&(n=r)}}for(const e of t){const t=e.coreRScale();e.coreMO().getStretchedVariant([i/t,n/t])}}}get fixesPWidth(){return!1}get breakCount(){return this._breakCount<0&&(this._breakCount=this.childNodes.length?this.childNodes.reduce((t,e)=>t+e.breakCount,0):0),this._breakCount}breakTop(t,e){const s=this;return this.isStack?this.parent.breakTop(s,s):s}constructor(t,e,s=null){super(t,e,s),this.dh=0;const i=this;this.isStack=!this.parent||this.parent.node.isInferred||this.parent.breakTop(i,i)!==i,this.stretchChildren();for(const t of this.childNodes)if(t.bbox.pwidth){this.bbox.pwidth=vo.fullWidth;break}}computeBBox(t,e=!1){const s=this.breakCount;this.lineBBox=s?[new jc({h:.75,d:.25,w:0},[0,0])]:[],t.empty();for(const e of this.childNodes.keys()){const i=this.childNodes[e];t.append(i.getOuterBBox()),s&&this.computeChildLineBBox(i,e)}t.clean(),s&&!this.coreMO().node.isEmbellished&&this.computeLinebreakBBox(t),this.fixesPWidth&&this.setChildPWidths(e)&&this.computeBBox(t,!0),this.vboxAdjust(t)}computeLinebreakBBox(t){var e;t.empty();const s=this.isStack,i=this.lineBBox,n=i.length-1;if(s)for(const t of i.keys()){const e=i[t];this.addMiddleBorders(e),0===t&&this.addLeftBorders(e),t===n&&this.addRightBorders(e)}let r=0;for(const s of i.keys()){const n=i[s];t.combine(n,0,r),r-=Math.max(.25,n.d)+n.lineLeading+Math.max(.75,(null===(e=i[s+1])||void 0===e?void 0:e.h)||0)}s?(i[0].L=this.bbox.L,i[n].R=this.bbox.R):(t.w=Math.max(...this.lineBBox.map(t=>t.w)),this.shiftLines(t),this.jax.math.display||this.linebreakOptions.inline||(t.pwidth=vo.fullWidth,this.node.isInferred&&(this.parent.bbox.pwidth=vo.fullWidth))),t.clean()}vboxAdjust(t){if(!this.parent)return;const e=this.breakCount,s=this.parent.node.attributes.get("data-vertical-align");if(e&&"bottom"===s)this.dh=e?t.d-this.lineBBox[e-1].d:0;else{if(!("center"===s||e&&"middle"===s))return void(this.dh=0);{const{h:e,d:s}=t,i=this.font.params.axis_height;this.dh=(e+s)/2+i-e}}t.h+=this.dh,t.d-=this.dh}computeChildLineBBox(t,e){const s=this.lineBBox[this.lineBBox.length-1];s.end=[e,0],s.append(t.getLineBBox(0));const i=t.breakCount+1;if(1!==i)for(let s=1;s<i;s++){const i=new jc({h:.75,d:.25,w:0});i.start=i.end=[e,s],i.isFirst=!0,i.append(t.getLineBBox(s)),this.lineBBox.push(i)}}getLineBBox(t){return this.getBBox(),this.isStack?super.getLineBBox(t):jc.from(this.getOuterBBox(),this.linebreakOptions.lineleading)}shiftLines(t){var e,s;const i=t.w,n=this.lineBBox,r=n.length-1,[o,a]=(null===(e=n[1].indentData)||void 0===e?void 0:e[0])||["left","0"];for(const e of n.keys()){const l=n[e],[c,h]=0===e?[o,a]:(null===(s=l.indentData)||void 0===s?void 0:s[e===r?2:1])||["left","0"],[d,u]=this.processIndent(c,h,o,a,i);l.L=0,l.L=this.getAlignX(i,l,d)+u;const p=l.L+l.w;p>t.w&&(t.w=p)}}setChildPWidths(t,e=null,s=!0){return this.breakCount?!t&&(null!==e&&this.bbox.w!==e&&(this.bbox.w=e,this.shiftLines(this.bbox)),!0):super.setChildPWidths(t,e,s)}breakToWidth(t){this.linebreaks.breakToWidth(this,t)}}}function Jh(t){return class extends t{getScale(){this.bbox.scale=this.parent.bbox.scale,this.bbox.rscale=1}}}const Yh=function(){var t;const e=$h(Yc);return t=class extends e{constructor(){super(...arguments),this.linebreakCount=0}toCHTML(t){const e=this.linebreakCount=this.isStack?0:this.breakCount;e||!this.node.isInferred?t=this.standardChtmlNodes(t):this.dom=t,this.addChildren(t),e?this.placeLines(t,e):(this.handleVerticalAlign(t[0]),this.handleNegativeWidth(t[0]))}placeLines(t,e){var s,i;this.getBBox();const n=this.lineBBox,r=this.adaptor,[o,a]=(null===(s=n[1].indentData)||void 0===s?void 0:s[0])||["left","0"];for(const s of t.keys()){const l=n[s],[c,h]=0===s?[o,a]:(null===(i=l.indentData)||void 0===i?void 0:i[s===e?2:1])||["left","0"],[d,u]=this.processIndent(c,h,o,a);r.setAttribute(t[s],"align",d),u&&r.setStyle(t[s],"margin-left",this.em(u)),s<e&&this.jax.math.display&&r.setStyle(t[s],"margin-bottom",this.em(l.lineLeading))}}handleVerticalAlign(t){this.dh&&this.adaptor.setStyle(this.adaptor.parent(t),"vertical-align",this.em(this.dh))}handleNegativeWidth(t){const{w:e}=this.getBBox();e<0&&(this.adaptor.setStyle(t,"width",this.em(Math.max(0,e))),this.adaptor.setStyle(t,"marginRight",this.em(e)))}createChtmlNodes(t){const e=this.linebreakCount;if(!e)return super.createChtmlNodes(t);const s=this.adaptor,i=this.node.isInferred?"mjx-linestack":"mjx-"+this.node.kind;if(this.dom=[s.append(t[0],this.html(i))],"mjx-mrow"!==i||this.isStack||s.setAttribute(this.dom[0],"break-top","true"),this.node.getProperty("process-breaks")&&s.setAttribute(this.dom[0],"breakable","true"),this.node.isInferred||!this.isStack){const t=this.parent.node.attributes.get("data-vertical-align");"middle"!==t&&"center"!==t&&"bottom"!==t||s.setAttribute(this.dom[0],"break-align",t)}this.dom=[s.append(this.handleHref(t)[0],this.dom[0])];const n=Array(e);for(let t=0;t<=e;t++)n[t]=s.append(this.dom[0],this.html("mjx-linebox",{lineno:t}));return n}addChildren(t){let e=0;for(const s of this.childNodes){const i=s.breakCount;s.toCHTML(t.slice(e,e+i+1)),e+=i}}},t.kind=Jn.prototype.kind,t.styles={"mjx-linestack, mjx-mrow[break-top]":{display:"inline-table",width:"100%"},'mjx-linestack[break-align="bottom"], mjx-mrow[break-top][break-align="bottom"]':{display:"inline-block"},'mjx-linestack[break-align="middle"], mjx-mrow[break-top][break-align="middle"]':{"vertical-align":"middle"},'mjx-linestack[break-align="center"], mjx-mrow[break-top][break-align="center"]':{"vertical-align":"middle"},"mjx-linestack[breakable]":{display:"inline"},"mjx-linestack[breakable] > mjx-linebox":{display:"inline"},"mjx-linestack[breakable] > mjx-linebox::before":{"white-space":"pre",content:'"\\A"'},"mjx-linestack[breakable] > mjx-linebox::after":{"white-space":"normal",content:'" "',"letter-spacing":"-.999em","font-family":"MJX-BRK"},"mjx-linestack[breakable] > mjx-linebox:first-of-type::before":{display:"none"},"mjx-linestack[breakable] > mjx-linebox:last-of-type::after":{display:"none"},"mjx-linebox":{display:"block"},'mjx-linebox[align="left"]':{"text-align":"left"},'mjx-linebox[align="center"]':{"text-align":"center"},'mjx-linebox[align="right"]':{"text-align":"right"},"mjx-linestrut":{display:"inline-block",height:"1em","vertical-align":"-.25em"}},t}(),Qh=function(){var t;const e=Jh(Yh);return(t=class extends e{}).kind=Yn.prototype.kind,t}();function Zh(t){return class extends t{createMrow(){const t=this.node.factory.create("inferredMrow");t.inheritAttributesFrom(this.node),this.mrow=this.wrap(t),this.mrow.parent=this}addMrowChildren(){const t=this.node,e=this.mrow;this.addMo(t.open),this.childNodes.length&&e.childNodes.push(this.childNodes[0]);let s=0;for(const i of this.childNodes.slice(1))this.addMo(t.separators[s++]),e.childNodes.push(i);this.addMo(t.close),e.stretchChildren()}addMo(t){if(!t)return;const e=this.wrap(t);this.mrow.childNodes.push(e),e.parent=this.mrow}constructor(t,e,s=null){super(t,e,s),this.mrow=null,this.createMrow(),this.addMrowChildren()}computeBBox(t,e=!1){t.updateFrom(this.mrow.getOuterBBox()),this.setChildPWidths(e)}get breakCount(){return this.mrow.breakCount}computeLineBBox(t){return this.mrow.getLineBBox(t)}}}const td=function(){var t;const e=Zh(Yc);return(t=class extends e{toCHTML(t){const e=this.standardChtmlNodes(t);this.mrow.toCHTML(e)}}).kind=rr.prototype.kind,t}();function ed(t){return class extends t{getFractionBBox(t,e,s){const i=this.childNodes[0].getOuterBBox(),n=this.childNodes[1].getOuterBBox(),r=this.font.params.axis_height,{T:o,u:a,v:l}=this.getTUV(e,s);t.combine(i,0,r+o+Math.max(i.d*i.rscale,a)),t.combine(n,0,r-o-Math.max(n.h*n.rscale,l)),t.w+=2*this.pad+.2}getTUV(t,e){const s=this.font.params,i=s.axis_height,n=(t?3.5:1.5)*e;return{T:(t?3.5:1.5)*e,u:(t?s.num1:s.num2)-i-n,v:(t?s.denom1:s.denom2)+i-n}}getAtopBBox(t,e){const{u:s,v:i,nbox:n,dbox:r}=this.getUVQ(e);t.combine(n,0,s),t.combine(r,0,-i),t.w+=2*this.pad}getUVQ(t){const e=this.childNodes[0].getOuterBBox(),s=this.childNodes[1].getOuterBBox(),i=this.font.params;let[n,r]=t?[i.num1,i.denom1]:[i.num3,i.denom2];const o=(t?7:3)*i.rule_thickness;let a=n-e.d*e.scale-(s.h*s.scale-r);return a<o&&(n+=(o-a)/2,r+=(o-a)/2,a=o),{u:n,v:r,q:a,nbox:e,dbox:s}}getBevelledBBox(t,e){const{u:s,v:i,delta:n,nbox:r,dbox:o}=this.getBevelData(e),a=this.bevel.getOuterBBox();t.combine(r,0,s),t.combine(a,t.w-n/2,0),t.combine(o,t.w-n/2,i)}getBevelData(t){const e=this.childNodes[0].getOuterBBox(),s=this.childNodes[1].getOuterBBox(),i=t?.4:.15,n=Math.max(e.scale*(e.h+e.d),s.scale*(s.h+s.d))+2*i,r=this.font.params.axis_height;return{H:n,delta:i,u:e.scale*(e.d-e.h)/2+r+i,v:s.scale*(s.d-s.h)/2+r-i,nbox:e,dbox:s}}isDisplay(){const{displaystyle:t,scriptlevel:e}=this.node.attributes.getList("displaystyle","scriptlevel");return t&&0===e}constructor(t,e,s=null){if(super(t,e,s),this.bevel=null,this.pad=this.node.getProperty("withDelims")?0:this.font.params.nulldelimiterspace,this.node.attributes.get("bevelled")){const{H:t}=this.getBevelData(this.isDisplay()),e=this.bevel=this.createMo("/");e.node.attributes.set("symmetric",!0),e.canStretch(Ic.Vertical),e.getStretchedVariant([t],!0)}}computeBBox(t,e=!1){t.empty();const{linethickness:s,bevelled:i}=this.node.attributes.getList("linethickness","bevelled"),n=this.isDisplay();let r=null;if(i)this.getBevelledBBox(t,n);else{const e=this.length2em(String(s),.06);r=-2*this.pad,0===e?this.getAtopBBox(t,n):(this.getFractionBBox(t,n,e),r-=.2),r+=t.w}t.clean(),this.setChildPWidths(e,r)}canStretch(t){return!1}getChildAlign(t){const e=this.node.attributes;return e.get("bevelled")?"left":e.get(["numalign","denomalign"][t])}getWrapWidth(t){const e=this.node.attributes;if(e.get("bevelled"))return this.childNodes[t].getOuterBBox().w;return this.getBBox().w-(this.length2em(e.get("linethickness"))?.2:0)-2*this.pad}}}const sd=function(){var t;const e=ed(Yc);return(t=class extends e{toCHTML(t){if(this.toEmbellishedCHTML(t))return;this.standardChtmlNodes(t);const{linethickness:e,bevelled:s}=this.node.attributes.getList("linethickness","bevelled"),i=this.isDisplay();if(s)this.makeBevelled(i);else{const t=this.length2em(String(e),.06);0===t?this.makeAtop(i):this.makeFraction(i,t)}}makeFraction(t,e){const{numalign:s,denomalign:i}=this.node.attributes.getList("numalign","denomalign"),n=t?{type:"d"}:{},r=this.node.getProperty("withDelims")?Object.assign(Object.assign({},n),{delims:"true"}):Object.assign({},n),o="center"!==s?{align:s}:{},a="center"!==i?{align:i}:{},l=Object.assign({},n),c=Object.assign({},n),h=this.font.params;if(.06!==e){const s=h.axis_height,i=this.font.params.rule_factor,o=this.em(e),{T:a,u:d,v:u}=this.getTUV(t,e),p=(t?this.em(3*e):o)+" -.1em";n.style={height:o,"border-top":this.em(e*i)+" solid",margin:p};const m=this.em(Math.max(0,d));c.style={height:m,"vertical-align":"-"+m},l.style={height:this.em(Math.max(0,u))},r.style={"vertical-align":this.em(s-a)}}let d,u;this.adaptor.append(this.dom[0],this.html("mjx-frac",r,[d=this.html("mjx-num",o,[this.html("mjx-nstrut",c)]),this.html("mjx-dbox",{},[this.html("mjx-dtable",{},[this.html("mjx-line",n),this.html("mjx-row",{},[u=this.html("mjx-den",a,[this.html("mjx-dstrut",l)])])])])])),this.childNodes[0].toCHTML([d]),this.childNodes[1].toCHTML([u])}makeAtop(t){const{numalign:e,denomalign:s}=this.node.attributes.getList("numalign","denomalign"),i=t?{type:"d",atop:!0}:{atop:!0},n=this.node.getProperty("withDelims")?Object.assign(Object.assign({},i),{delims:!0}):Object.assign({},i),r="center"!==e?{align:e}:{},o="center"!==s?{align:s}:{},{v:a,q:l}=this.getUVQ(t);let c,h;r.style={"padding-bottom":this.em(l)},n.style={"vertical-align":this.em(-a)},this.adaptor.append(this.dom[0],this.html("mjx-frac",n,[c=this.html("mjx-num",r),h=this.html("mjx-den",o)])),this.childNodes[0].toCHTML([c]),this.childNodes[1].toCHTML([h])}makeBevelled(t){const e=this.adaptor;e.setAttribute(this.dom[0],"bevelled","ture");const s=e.append(this.dom[0],this.html("mjx-num"));this.childNodes[0].toCHTML([s]),this.bevel.toCHTML(this.dom);const i=e.append(this.dom[0],this.html("mjx-den"));this.childNodes[1].toCHTML([i]);const{u:n,v:r,delta:o}=this.getBevelData(t);n&&e.setStyle(s,"verticalAlign",this.em(n)),r&&e.setStyle(i,"verticalAlign",this.em(r));const a=this.em(-o/2);e.setStyle(this.bevel.dom[0],"marginLeft",a),e.setStyle(this.bevel.dom[0],"marginRight",a)}}).kind=Qn.prototype.kind,t.styles={"mjx-frac":{display:"inline-block","vertical-align":"0.17em",padding:"0 .22em"},'mjx-frac[type="d"]':{"vertical-align":".04em"},"mjx-frac[delims]":{padding:"0 .1em"},"mjx-frac[atop]":{padding:"0 .12em"},"mjx-frac[atop][delims]":{padding:"0"},"mjx-dtable":{display:"inline-table",width:"100%"},"mjx-dtable > mjx-line, mjx-dtable > mjx-row":{"font-size":"2000%"},"mjx-dbox":{display:"block","font-size":"5%"},"mjx-num":{display:"block","text-align":"center"},"mjx-den":{display:"block","text-align":"center"},"mjx-mfrac[bevelled] > mjx-num":{display:"inline-block"},"mjx-mfrac[bevelled] > mjx-den":{display:"inline-block"},'mjx-den[align="right"], mjx-num[align="right"]':{"text-align":"right"},'mjx-den[align="left"], mjx-num[align="left"]':{"text-align":"left"},"mjx-nstrut":{display:"inline-block",height:".054em",width:0,"vertical-align":"-.054em"},'mjx-nstrut[type="d"]':{height:".217em","vertical-align":"-.217em"},"mjx-dstrut":{display:"inline-block",height:".505em",width:0},'mjx-dstrut[type="d"]':{height:".726em"},"mjx-line":{display:"block","box-sizing":"border-box","min-height":"1px",height:".06em","border-top":".075em solid",margin:".06em -.1em",overflow:"hidden"},'mjx-line[type="d"]':{margin:".18em -.1em"}},t}();function id(t){return class extends t{get base(){return 0}get root(){return null}combineRootBBox(t,e,s){}getPQ(t){const e=this.font.params.rule_thickness,s=this.font.params.surd_height,i=this.node.attributes.get("displaystyle")?this.font.params.x_height:e;return[i,t.h+t.d>this.surdH?(t.h+t.d-(this.surdH-e-s-i/2))/2:s+i/4]}getRootDimens(t,e){return[0,0,0,0]}rootWidth(){return 1.25}getStretchedSurd(){const t=this.font.params.rule_thickness,e=this.font.params.surd_height,s=this.node.attributes.get("displaystyle")?this.font.params.x_height:t,{h:i,d:n}=this.childNodes[this.base].getOuterBBox();this.surdH=i+n+t+e+s/4,this.surd.getStretchedVariant([this.surdH-n,n],!0)}constructor(t,e,s=null){super(t,e,s),this.surd=this.createMo("\u221a"),this.surd.canStretch(Ic.Vertical),this.getStretchedSurd()}computeBBox(t,e=!1){t.empty();const s=this.surd.getBBox(),i=new vo(this.childNodes[this.base].getOuterBBox()),n=this.getPQ(s)[1],r=this.font.params.rule_thickness,o=this.font.params.surd_height,a=i.h+n+r,[l]=this.getRootDimens(s,a);t.h=a+o,this.combineRootBBox(t,s,a),t.combine(s,l,a-s.h),t.combine(i,l+s.w,0),t.clean(),this.setChildPWidths(e)}invalidateBBox(){super.invalidateBBox(),this.surd.childNodes[0].invalidateBBox()}}}const nd=function(){var t;const e=id(Yc);return t=class extends e{toCHTML(t){const e=this.surd,s=this.childNodes[this.base],i=e.getBBox(),n=s.getOuterBBox(),[,r]=this.getPQ(i),o=this.font.params.surd_height,a=n.h+r+o,l=this.adaptor,c=this.standardChtmlNodes(t);let h,d,u,p;null!=this.root&&(u=l.append(c[0],this.html("mjx-root")),p=this.childNodes[this.root]);const m=l.append(c[0],this.html("mjx-sqrt",{},[h=this.html("mjx-surd"),d=this.html("mjx-box",{style:{paddingTop:this.em(r)}})]));.06!==o&&l.setStyle(d,"border-top-width",this.em(o*this.font.params.rule_factor)),this.addRoot(u,p,i,a),e.toCHTML([h]),s.toCHTML([d]),e.size<0&&l.addClass(m,"mjx-tall")}addRoot(t,e,s,i){}},t.kind=Zn.prototype.kind,t.styles={"mjx-root":{display:"inline-block","white-space":"nowrap"},"mjx-surd":{display:"inline-block","vertical-align":"top"},"mjx-sqrt":{display:"inline-block","padding-top":".075em"},"mjx-sqrt > mjx-box":{"border-top":".075em solid","padding-left":".03em","margin-left":"-.03em"},"mjx-sqrt.mjx-tall > mjx-box":{"padding-left":".3em","margin-left":"-.3em"}},t}();function rd(t){return class extends t{get root(){return 1}combineRootBBox(t,e,s){const i=this.childNodes[this.root].getOuterBBox(),n=this.getRootDimens(e,s)[1];t.combine(i,0,n)}getRootDimens(t,e){const s=this.surd,i=this.childNodes[this.root].getOuterBBox(),n=(s.size<0?.5:.6)*t.w,{w:r,rscale:o}=i,a=Math.max(r,n/o),l=Math.max(0,a-r);return[a*o-n,this.rootHeight(i,t,s.size,e),l]}rootHeight(t,e,s,i){const n=e.h+e.d;return(s<0?1.9:.55*n)-(n-i)+Math.max(0,t.d*t.rscale)}rootWidth(){const t=this.childNodes[this.root].getOuterBBox();return.4+t.w*t.rscale}}}const od=function(){var t;const e=rd(nd);return t=class extends e{addRoot(t,e,s,i){e.toCHTML([t]);const n=this.adaptor,[r,o,a]=this.getRootDimens(s,i);n.setStyle(t,"verticalAlign",this.em(o)),n.setStyle(t,"width",this.em(r)),a&&n.setStyle(n.firstChild(t),"paddingLeft",this.em(a))}},t.kind=tr.prototype.kind,t}();function ad(t){var e;return(e=class extends t{get scriptChild(){return this.childNodes[this.node.sub]}getOffset(){return[this.baseIsChar?0:this.getAdjustedIc(),-this.getV()]}}).useIC=!1,e}function ld(t){return class extends t{get scriptChild(){return this.childNodes[this.node.sup]}getOffset(){return[this.getAdjustedIc()-(this.baseRemoveIc?0:this.baseIc),this.getU()]}}}function cd(t){var e;return e=class extends t{constructor(){super(...arguments),this.UVQ=null}get subChild(){return this.childNodes[this.node.sub]}get supChild(){return this.childNodes[this.node.sup]}get scriptChild(){return this.supChild}getUVQ(t=this.subChild.getOuterBBox(),e=this.supChild.getOuterBBox()){const s=this.baseCore,i=s.getLineBBox(s.breakCount);if(this.UVQ)return this.UVQ;const n=this.font.params,r=3*n.rule_thickness,o=this.length2em(this.node.attributes.get("subscriptshift"),n.sub2),a=this.baseCharZero(i.d*this.baseScale+n.sub_drop*t.rscale),l=e.d*e.rscale,c=t.h*t.rscale;let[h,d]=[this.getU(),Math.max(a,o)],u=h-l-(c-d);if(u<r){d+=r-u;const t=.8*n.x_height-(h-l);t>0&&(h+=t,d-=t)}return h=Math.max(this.length2em(this.node.attributes.get("superscriptshift"),h),h),d=Math.max(this.length2em(this.node.attributes.get("subscriptshift"),d),d),u=h-l-(c-d),this.UVQ=[h,-d,u],this.UVQ}appendScripts(t){const[e,s]=[this.subChild.getOuterBBox(),this.supChild.getOuterBBox()],i=this.getBaseWidth(),n=this.getAdjustedIc(),[r,o]=this.getUVQ(),a=t.d-this.baseChild.getLineBBox(this.baseChild.breakCount).d;return t.combine(e,i+(this.baseIsChar?0:n),o-a),t.combine(s,i+n,r-a),t.w+=this.font.params.scriptspace,t}},e.useIC=!1,e}function hd(t){var e;return e=class extends t{get baseChild(){return this.childNodes[this.node.base]}get scriptChild(){return this.childNodes[1]}getBaseCore(){let t=this.getSemanticBase()||this.childNodes[0],e=null==t?void 0:t.node;for(;t&&(1===t.childNodes.length&&(e.isKind("mrow")||e.isKind("TeXAtom")||e.isKind("mstyle")||e.isKind("mpadded")&&!e.getProperty("vbox")||e.isKind("mphantom")||e.isKind("semantics"))||e.isKind("munderover")&&t.isMathAccent);)this.setBaseAccentsFor(t),t=t.childNodes[0],e=null==t?void 0:t.node;return t||(this.baseHasAccentOver=this.baseHasAccentUnder=!1),t||this.childNodes[0]}setBaseAccentsFor(t){t.node.isKind("munderover")&&(null===this.baseHasAccentOver&&(this.baseHasAccentOver=!!t.node.attributes.get("accent")),null===this.baseHasAccentUnder&&(this.baseHasAccentUnder=!!t.node.attributes.get("accentunder")))}getSemanticBase(){const t=this.node.attributes.getExplicit("data-semantic-fencepointer");return this.getBaseFence(this.baseChild,t)}getBaseFence(t,e){if(!t||!t.node.attributes||!e)return null;if(t.node.attributes.getExplicit("data-semantic-id")===e)return t;for(const s of t.childNodes){const t=this.getBaseFence(s,e);if(t)return t}return null}getBaseScale(){let t=this.baseCore,e=1;for(;t&&t!==this;){e*=t.getOuterBBox().rscale,t=t.parent}return e}getBaseIc(){return this.baseCore.getOuterBBox().ic*this.baseScale}getAdjustedIc(){return this.baseIc?1.05*this.baseIc+.05:0}isCharBase(){const t=this.baseCore;return(t.node.isKind("mo")&&null===t.size||t.node.isKind("mi")||t.node.isKind("mn"))&&1===t.bbox.rscale&&1===Array.from(t.getText()).length}checkLineAccents(){if(this.node.isKind("munderover"))if(this.node.isKind("mover"))this.isLineAbove=this.isLineAccent(this.scriptChild);else if(this.node.isKind("munder"))this.isLineBelow=this.isLineAccent(this.scriptChild);else{const t=this;this.isLineAbove=this.isLineAccent(t.overChild),this.isLineBelow=this.isLineAccent(t.underChild)}}isLineAccent(t){const e=t.coreMO().node;return e.isToken&&"\u2015"===e.getText()}getBaseWidth(){const t=this.baseChild.getLineBBox(this.baseChild.breakCount);return t.w*t.rscale-(this.baseRemoveIc?this.baseIc:0)+this.font.params.extra_ic}getOffset(){return[0,0]}baseCharZero(t){const e=!!this.baseCore.node.attributes.get("largeop"),s=!(!this.baseCore.node.isKind("mo")||!this.baseCore.size),i=this.baseScale;return!this.baseIsChar||e||s||1!==i?t:0}getV(){const t=this.baseCore,e=t.getLineBBox(t.breakCount),s=this.scriptChild.getOuterBBox(),i=this.font.params,n=this.length2em(this.node.attributes.get("subscriptshift"),i.sub1);return Math.max(this.baseCharZero(e.d*this.baseScale+i.sub_drop*s.rscale),n,s.h*s.rscale-.8*i.x_height)}getU(){const t=this.baseCore,e=t.getLineBBox(t.breakCount),s=this.scriptChild.getOuterBBox(),i=this.font.params,n=this.node.attributes.getList("displaystyle","superscriptshift"),r=this.node.getProperty("texprimestyle")?i.sup3:n.displaystyle?i.sup1:i.sup2,o=this.length2em(n.superscriptshift,r);return Math.max(this.baseCharZero(e.h*this.baseScale-i.sup_drop*s.rscale),o,s.d*s.rscale+1/4*i.x_height)}hasMovableLimits(){const t=this.node.attributes.get("displaystyle"),e=this.baseChild.coreMO().node;return!t&&!!e.attributes.get("movablelimits")}getOverKU(t,e){const s=this.node.attributes.get("accent"),i=this.font.params,n=e.d*e.rscale,r=i.rule_thickness*i.separation_factor,o=this.baseHasAccentOver?r:0,a=this.isLineAbove?3*i.rule_thickness:r,l=(s?a:Math.max(i.big_op_spacing1,i.big_op_spacing3-Math.max(0,n)))-o;return[l,t.h*t.rscale+l+n]}getUnderKV(t,e){const s=this.node.attributes.get("accentunder"),i=this.font.params,n=e.h*e.rscale,r=i.rule_thickness*i.separation_factor,o=this.baseHasAccentUnder?r:0,a=this.isLineBelow?3*i.rule_thickness:r,l=(s?a:Math.max(i.big_op_spacing2,i.big_op_spacing4-n))-o;return[l,-(t.d*t.rscale+l+n)]}getDeltaW(t,e=[0,0,0]){const s=this.node.attributes.get("align"),i=t.map(t=>t.w*t.rscale);i[0]-=this.baseRemoveIc&&!this.baseCore.node.attributes.get("largeop")?this.baseIc:0;const n=Math.max(...i),r=[];let o=0;for(const t of i.keys())r[t]=("center"===s?(n-i[t])/2:"right"===s?n-i[t]:0)+e[t],r[t]<o&&(o=-r[t]);if(o)for(const t of r.keys())r[t]+=o;return[1,2].map(e=>r[e]+=t[e]?t[e].dx*t[0].rscale:0),r}getDelta(t,e=!1){const s=this.node.attributes.get("accent");let{sk:i,ic:n}=this.baseCore.getOuterBBox();return s&&(i-=t.getOuterBBox().sk),((s&&!e?i:0)+this.font.skewIcFactor*n)*this.baseScale}stretchChildren(){const t=[];for(const e of this.childNodes)e.canStretch(Ic.Horizontal)&&t.push(e);const e=t.length,s=this.childNodes.length;if(e&&s>1){let i=0;const n=e>1&&e===s;for(const t of this.childNodes){const e=t.stretch.dir===Ic.None;if(n||e){const{w:s,rscale:n}=t.getOuterBBox(e);s*n>i&&(i=s*n)}}for(const e of t){const t=e.coreMO();null===t.size&&t.getStretchedVariant([i/e.coreRScale()])}}}constructor(t,e,s=null){super(t,e,s),this.baseScale=1,this.baseIc=0,this.baseRemoveIc=!1,this.baseIsChar=!1,this.baseHasAccentOver=null,this.baseHasAccentUnder=null,this.isLineAbove=!1,this.isLineBelow=!1,this.isMathAccent=!1;const i=this.baseCore=this.getBaseCore();i&&(this.setBaseAccentsFor(i),this.baseScale=this.getBaseScale(),this.baseIc=this.getBaseIc(),this.baseIsChar=this.isCharBase(),this.isMathAccent=this.baseIsChar&&this.scriptChild&&void 0!==this.scriptChild.coreMO().node.getProperty("mathaccent"),this.checkLineAccents(),this.baseRemoveIc=!this.isLineAbove&&!this.isLineBelow&&(!this.constructor.useIC||this.isMathAccent))}computeBBox(t,e=!1){t.empty(),t.append(this.baseChild.getOuterBBox()),this.appendScripts(t),t.clean(),this.setChildPWidths(e)}appendScripts(t){const e=this.getBaseWidth(),[s,i]=this.getOffset();return t.combine(this.scriptChild.getOuterBBox(),e+s,i),t.w+=this.font.params.scriptspace,t}get breakCount(){return this._breakCount<0&&(this._breakCount=this.node.isEmbellished?this.coreMO().embellishedBreakCount:this.node.linebreakContainer?0:this.childNodes[0].breakCount),this._breakCount}breakTop(t,e){return this.node.linebreakContainer||!this.parent||this.node.childIndex(e.node)?t:this.parent.breakTop(t,this)}computeLineBBox(t){const e=this.breakCount;if(!e)return jc.from(this.getOuterBBox(),this.linebreakOptions.lineleading);const s=this.baseChild.getLineBBox(t).copy();return t<e?(0===t&&this.addLeftBorders(s),this.addMiddleBorders(s)):(this.appendScripts(s),this.addMiddleBorders(s),this.addRightBorders(s)),s}},e.useIC=!0,e}const dd=function(){var t;const e=hd(Yc);return(t=class extends e{toCHTML(t){if(this.toEmbellishedCHTML(t))return;this.dom=this.standardChtmlNodes(t);const[e,s]=this.getOffset(),i=e-(this.baseRemoveIc?this.baseIc:0),n={"vertical-align":this.em(s)};i&&(n["margin-left"]=this.em(i)),this.baseChild.toCHTML(this.dom);const r=this.dom[this.dom.length-1];this.scriptChild.toCHTML([this.adaptor.append(r,this.html("mjx-script",{style:n}))])}markUsed(){super.markUsed(),this.jax.wrapperUsage.add(md.kind)}setDeltaW(t,e){for(let s=0;s<e.length;s++)e[s]&&this.adaptor.setStyle(t[s],"paddingLeft",this.em(e[s]))}adjustOverDepth(t,e){e.d>=0||this.adaptor.setStyle(t,"marginBottom",this.em(e.d*e.rscale))}adjustUnderDepth(t,e){if(e.d>=0)return;const s=this.adaptor,i=this.em(e.d),n=this.html("mjx-box",{style:{"margin-bottom":i,"vertical-align":i}});for(const e of s.childNodes(s.firstChild(t)))s.append(n,e);s.append(s.firstChild(t),n)}adjustBaseHeight(t,e){if(this.node.attributes.get("accent")){const s=this.font.params.x_height*this.baseScale;e.h<s&&(this.adaptor.setStyle(t,"paddingTop",this.em(s-e.h)),e.h=s)}}}).kind="scriptbase",t}(),ud=function(){var t;const e=ad(dd);return(t=class extends e{}).kind=cr.prototype.kind,t}(),pd=function(){var t;const e=ld(dd);return(t=class extends e{}).kind=hr.prototype.kind,t}(),md=function(){var t;const e=cd(dd);return(t=class extends e{toCHTML(t){if(this.toEmbellishedCHTML(t))return;const e=this.adaptor,s=this.standardChtmlNodes(t),[i,n,r]=[this.baseChild,this.supChild,this.subChild],[,o,a]=this.getUVQ(),l={"vertical-align":this.em(o)};i.toCHTML(s);const c=e.append(s[s.length-1],this.html("mjx-script",{style:l}));n.toCHTML([c]),e.append(c,this.html("mjx-spacer",{style:{"margin-top":this.em(a)}})),r.toCHTML([c]);const h=this.getAdjustedIc();h&&(e.setStyle(n.dom[0],"marginLeft",this.em(h/n.bbox.rscale)),this.baseIsChar||e.setStyle(r.dom[0],"marginLeft",this.em(h/n.bbox.rscale))),this.baseRemoveIc&&e.setStyle(c,"marginLeft",this.em(-this.baseIc))}}).kind=lr.prototype.kind,t.styles={"mjx-script":{display:"inline-block","padding-right":".05em","padding-left":".033em"},"mjx-script > mjx-spacer":{display:"block"}},t}();function gd(t){return class extends t{get scriptChild(){return this.childNodes[this.node.under]}constructor(...t){super(...t),this.stretchChildren()}computeBBox(t,e=!1){if(this.hasMovableLimits())return void super.computeBBox(t,e);t.empty();const s=this.baseChild.getOuterBBox(),i=this.scriptChild.getOuterBBox(),n=this.getUnderKV(s,i)[1],r=this.isLineBelow?0:this.getDelta(this.scriptChild,!0),[o,a]=this.getDeltaW([s,i],[0,-r]);t.combine(s,o,0),t.combine(i,a,n),t.d+=this.font.params.big_op_spacing5,t.clean(),this.setChildPWidths(e)}}}function fd(t){return class extends t{get scriptChild(){return this.childNodes[this.node.over]}constructor(...t){super(...t),this.stretchChildren()}computeBBox(t){if(this.hasMovableLimits())return void super.computeBBox(t);t.empty();const e=this.baseChild.getOuterBBox(),s=this.scriptChild.getOuterBBox();this.node.attributes.get("accent")&&(e.h=Math.max(e.h,this.font.params.x_height*this.baseScale));const i=this.getOverKU(e,s)[1],n=this.isLineAbove?0:this.getDelta(this.scriptChild),[r,o]=this.getDeltaW([e,s],[0,n]);t.combine(e,r,0),t.combine(s,o,i),t.h+=this.font.params.big_op_spacing5,t.clean()}}}function bd(t){return class extends t{get underChild(){return this.childNodes[this.node.under]}get overChild(){return this.childNodes[this.node.over]}get subChild(){return this.underChild}get supChild(){return this.overChild}constructor(...t){super(...t),this.stretchChildren()}computeBBox(t){if(this.hasMovableLimits())return void super.computeBBox(t);t.empty();const e=this.overChild.getOuterBBox(),s=this.baseChild.getOuterBBox(),i=this.underChild.getOuterBBox();this.node.attributes.get("accent")&&(s.h=Math.max(s.h,this.font.params.x_height*this.baseScale));const n=this.getOverKU(s,e)[1],r=this.getUnderKV(s,i)[1],o=this.getDelta(this.overChild),a=this.getDelta(this.underChild,!0),[l,c,h]=this.getDeltaW([s,i,e],[0,this.isLineBelow?0:-a,this.isLineAbove?0:o]);t.combine(s,l,0),t.combine(e,h,n),t.combine(i,c,r);const d=this.font.params.big_op_spacing5;t.h+=d,t.d+=d,t.clean()}}}const Ed=function(){var t;const e=gd(ud);return(t=class extends e{toCHTML(t){if(this.toEmbellishedCHTML(t))return;if(this.hasMovableLimits())return super.toCHTML(t),void this.adaptor.setAttribute(this.dom[0],"limits","false");this.dom=this.standardChtmlNodes(t);const e=this.adaptor.append(this.adaptor.append(this.dom[0],this.html("mjx-row")),this.html("mjx-base")),s=this.adaptor.append(this.adaptor.append(this.dom[0],this.html("mjx-row")),this.html("mjx-under"));this.baseChild.toCHTML([e]),this.scriptChild.toCHTML([s]);const i=this.baseChild.getOuterBBox(),n=this.scriptChild.getOuterBBox(),r=this.getUnderKV(i,n)[0],o=this.isLineBelow?0:this.getDelta(this.scriptChild,!0);this.adaptor.setStyle(s,"paddingTop",this.em(r)),this.setDeltaW([e,s],this.getDeltaW([i,n],[0,-o])),this.adjustUnderDepth(s,n)}}).kind=ur.prototype.kind,t.styles={"mjx-over":{"text-align":"left"},'mjx-munder:not([limits="false"])':{display:"inline-table"},"mjx-munder > mjx-row":{"text-align":"left"},"mjx-under":{"padding-bottom":".1em"}},t}(),yd=function(){var t;const e=fd(pd);return(t=class extends e{toCHTML(t){if(this.toEmbellishedCHTML(t))return;if(this.hasMovableLimits())return super.toCHTML(t),void this.adaptor.setAttribute(this.dom[0],"limits","false");this.dom=this.standardChtmlNodes(t);const e=this.adaptor.append(this.dom[0],this.html("mjx-over")),s=this.adaptor.append(this.dom[0],this.html("mjx-base"));this.scriptChild.toCHTML([e]),this.baseChild.toCHTML([s]);const i=this.scriptChild.getOuterBBox(),n=this.baseChild.getOuterBBox();this.adjustBaseHeight(s,n);const r=this.getOverKU(n,i)[0],o=this.isLineAbove?0:this.getDelta(this.scriptChild);this.adaptor.setStyle(e,"paddingBottom",this.em(r)),this.setDeltaW([s,e],this.getDeltaW([n,i],[0,o])),this.adjustOverDepth(e,i)}}).kind=pr.prototype.kind,t.styles={'mjx-mover:not([limits="false"])':{"padding-top":".1em"},[["base","over"].map(t=>`mjx-mover:not([limits="false"]) > mjx-${t}`).join(", ")]:{display:"block","text-align":"left"}},t}(),xd=function(){var t;const e=bd(md);return(t=class extends e{toCHTML(t){if(this.toEmbellishedCHTML(t))return;if(this.hasMovableLimits())return super.toCHTML(t),void this.adaptor.setAttribute(this.dom[0],"limits","false");this.dom=this.standardChtmlNodes(t);const e=this.adaptor.append(this.dom[0],this.html("mjx-over")),s=this.adaptor.append(this.adaptor.append(this.dom[0],this.html("mjx-box")),this.html("mjx-munder")),i=this.adaptor.append(this.adaptor.append(s,this.html("mjx-row")),this.html("mjx-base")),n=this.adaptor.append(this.adaptor.append(s,this.html("mjx-row")),this.html("mjx-under"));this.overChild.toCHTML([e]),this.baseChild.toCHTML([i]),this.underChild.toCHTML([n]);const r=this.overChild.getOuterBBox(),o=this.baseChild.getOuterBBox(),a=this.underChild.getOuterBBox();this.adjustBaseHeight(i,o);const l=this.getOverKU(o,r)[0],c=this.getUnderKV(o,a)[0],h=this.getDelta(this.overChild),d=this.getDelta(this.underChild,!0);this.adaptor.setStyle(e,"paddingBottom",this.em(l)),this.adaptor.setStyle(n,"paddingTop",this.em(c)),this.setDeltaW([i,n,e],this.getDeltaW([o,a,r],[0,this.isLineBelow?0:-d,this.isLineAbove?0:h])),this.adjustOverDepth(e,r),this.adjustUnderDepth(n,a)}}).kind=dr.prototype.kind,t.styles={'mjx-munderover:not([limits="false"])':{"padding-top":".1em"},[["over","box"].map(t=>`mjx-munderover:not([limits="false"]) > mjx-${t}`).join(", ")]:{display:"block"}},t}(),Nd={base:"subList",subList:"supList",supList:"subList",psubList:"psupList",psupList:"psubList"},vd=["sup","sup","psup","psub"];function Td(t){return class extends t{combinePrePost(t,e){const s=new vo(t);return s.combine(e,0,0),s}getScriptData(){const t=this.scriptData={base:null,sub:vo.empty(),sup:vo.empty(),psub:vo.empty(),psup:vo.empty(),numPrescripts:0,numScripts:0},e=this.getScriptBBoxLists();this.combineBBoxLists(t.sub,t.sup,e.subList,e.supList),this.combineBBoxLists(t.psub,t.psup,e.psubList,e.psupList),t.base=e.base[0],t.numPrescripts=e.psubList.length,t.numScripts=e.subList.length}getScriptBBoxLists(){const t={base:[],subList:[],supList:[],psubList:[],psupList:[]};let e="base";for(const s of this.childNodes)s.node.isKind("mprescripts")?e="psubList":(t[e].push(s.getOuterBBox()),e=Nd[e]);return this.firstPrescript=t.subList.length+t.supList.length+2,this.padLists(t.subList,t.supList),this.padLists(t.psubList,t.psupList),t}padLists(t,e){t.length>e.length&&e.push(vo.empty())}combineBBoxLists(t,e,s,i){for(let n=0;n<s.length;n++){const[r,o,a]=this.getScaledWHD(s[n]),[l,c,h]=this.getScaledWHD(i[n]),d=Math.max(r,l);t.w+=d,e.w+=d,o>t.h&&(t.h=o),a>t.d&&(t.d=a),c>e.h&&(e.h=c),h>e.d&&(e.d=h)}}getScaledWHD(t){const{w:e,h:s,d:i,rscale:n}=t;return[e*n,s*n,i*n]}getCombinedUV(){const t=this.scriptData,e=this.combinePrePost(t.sub,t.psub),s=this.combinePrePost(t.sup,t.psup);return this.getUVQ(e,s)}addPrescripts(t,e,s){const i=this.scriptData;if(i.numPrescripts){const n=this.font.params.scriptspace;t.combine(i.psup,n,e),t.combine(i.psub,n,s)}return t}addPostscripts(t,e,s){const i=this.scriptData;if(i.numScripts){const n=t.w;t.combine(i.sup,n,e),t.combine(i.sub,n,s),t.w+=this.font.params.scriptspace}return t}constructor(...t){super(...t),this.scriptData=null,this.firstPrescript=0,this.getScriptData()}appendScripts(t){t.empty();const[e,s]=this.getCombinedUV();return this.addPrescripts(t,e,s),t.append(this.scriptData.base),this.addPostscripts(t,e,s),t.clean(),t}computeLineBBox(t){const e=this.baseChild.breakCount,s=this.baseChild.getLineBBox(t).copy();let i=s;const[n,r]=this.getCombinedUV();return 0===t?(i=jc.from(this.addPrescripts(vo.zero(),n,r),this.linebreakOptions.lineleading),i.append(s),this.addLeftBorders(i),i.L=this.bbox.L):t===e&&(i=this.addPostscripts(i,n,r),this.addRightBorders(i),i.R=this.bbox.R),this.addMiddleBorders(i),i}getUVQ(t,e){if(!this.UVQ){let[s,i,n]=[0,0,0];0===t.w?s=this.getU():0===e.w?s=-this.getV():[s,i,n]=super.getUVQ(t,e),this.UVQ=[s,i,n]}return this.UVQ}}}const Cd=function(){var t;const e=Td(md);return(t=class extends e{toCHTML(t){if(this.toEmbellishedCHTML(t))return;const e=this.standardChtmlNodes(t),s=this.scriptData,i=this.node.getProperty("scriptalign")||"right left",[n,r]=qn(i+" "+i),[o,a]=this.getCombinedUV();if(s.numPrescripts){const t=this.addScripts(this.dom[0],o,-a,!0,s.psub,s.psup,this.firstPrescript,s.numPrescripts);"right"!==n&&this.adaptor.setAttribute(t,"script-align",n)}if(this.childNodes[0].toCHTML(e),s.numScripts){const t=this.addScripts(this.dom[this.dom.length-1],o,-a,!1,s.sub,s.sup,1,s.numScripts);"left"!==r&&this.adaptor.setAttribute(t,"script-align",r)}}addScripts(t,e,s,i,n,r,o,a){const l=this.adaptor,c=e-r.d+(s-n.h),h=e<0&&0===s?n.h+e:e,d=c>0?{style:{height:this.em(c)}}:{},u=h?{style:{"vertical-align":this.em(h)}}:{},p=this.html("mjx-row"),m=this.html("mjx-row",d),g=this.html("mjx-row"),f="mjx-"+(i?"pre":"")+"scripts",b=o+2*a;for(;o<b;)this.childNodes[o++].toCHTML([l.append(g,this.html("mjx-cell"))]),this.childNodes[o++].toCHTML([l.append(p,this.html("mjx-cell"))]);return l.append(t,this.html(f,u,[p,m,g]))}}).kind=mr.prototype.kind,t.styles={"mjx-prescripts":{display:"inline-table","padding-left":".05em"},"mjx-scripts":{display:"inline-table","padding-right":".05em"},"mjx-prescripts > mjx-row > mjx-cell":{"text-align":"right"},'[script-align="left"] > mjx-row > mjx-cell':{"text-align":"left"},'[script-align="center"] > mjx-row > mjx-cell':{"text-align":"center"},'[script-align="right"] > mjx-row > mjx-cell':{"text-align":"right"},"mjx-none":{display:"inline-block",height:"1px"}},t}(),Ad=.333;function Ld(t){return class extends t{get tableRows(){return this.childNodes}findContainer(){let t=this,e=t.parent;for(;e&&(e.node.notParent||e.node.isKind("mrow"));)t=e,e=e.parent;this.container=e,this.containerI=t.node.childPosition()}getPercentageWidth(){if(this.hasLabels)this.bbox.pwidth=vo.fullWidth;else{const t=this.node.attributes.get("width");Wn(t)&&(this.bbox.pwidth=t)}}stretchRows(){const t=this.node.attributes.get("equalrows"),e=t?this.getEqualRowHeight():0,{H:s,D:i}=t?this.getTableData():{H:[0],D:[0]},n=this.tableRows;for(let r=0;r<this.numRows;r++){const o=t?[(e+s[r]-i[r])/2,(e-s[r]+i[r])/2]:null;n[r].stretchChildren(o)}}stretchColumns(){const t=this.getColumnAttributes("columnwidth",0);for(let e=0;e<this.numCols;e++){const s="number"==typeof this.cWidths[e]?this.cWidths[e]:null;this.stretchColumn(e,s),null!==s&&this.breakColumn(e,s,t[e])}}stretchColumn(t,e){const s=[];for(const e of this.tableRows){const i=e.getChild(t);if(i){const t=i.childNodes[0];t.stretch.dir===Ic.None&&t.canStretch(Ic.Horizontal)&&s.push(t)}}const i=s.length;if(i&&null===e){e=0;const s=i===this.childNodes.length;for(const i of this.tableRows){const n=i.getChild(t);if(n){const t=n.childNodes[0],i=t.stretch.dir===Ic.None;if(s||i){const{w:s}=t.getBBox(i);s>e&&(e=s)}}}}if(null!==e){const i=this.getTableData().W;for(const n of s){let s=n.getBBox().w;n.coreMO().getStretchedVariant([Math.max(e,s)/n.coreRScale()]),s=n.getBBox().w,s>i[t]&&(i[t]=s)}}}breakColumn(t,e,s){if("linebreak"!==this.jax.math.root.attributes.get("overflow")||!this.jax.math.display)return;const{H:i,D:n}=this.getTableData();let r=0,o=0;for(const s of this.tableRows){const a=s.getChild(t);if(a){const l=s.getBBox().rscale,c=a.getBBox();if(a&&c.w*l>e){a.childNodes[0].breakToWidth(e);const o=s.node.attributes.get("rowalign");this.updateHDW(a,t,r,o,i,n)}c.w*l>o&&(o=c.w*l)}const l=s.getBBox();l.h=i[r],l.d=n[r],r++}("fit"===s||"auto"===s||Wn(s)||o>this.cWidths[t])&&(this.cWidths[t]=o)}getTableData(){if(this.data)return this.data;const t=new Array(this.numRows).fill(0),e=new Array(this.numRows).fill(0),s=new Array(this.numCols).fill(0),i=new Array(this.numRows),n=new Array(this.numRows),r=[0],o=this.tableRows;for(let a=0;a<o.length;a++){const l=o[a],c=l.node.attributes.get("rowalign");for(let i=0;i<l.numCells;i++){const n=l.getChild(i);this.updateHDW(n,i,a,c,t,e,s),this.recordPWidthCell(n,i)}i[a]=t[a],n[a]=e[a],l.labeled&&this.updateHDW(l.childNodes[0],0,a,c,t,e,r),l.bbox.h=t[a],l.bbox.d=e[a]}const a=r[0];return this.data={H:t,D:e,W:s,NH:i,ND:n,L:a},this.data}updateHDW(t,e,s,i,n,r,o=null){let{h:a,d:l,w:c}=t.getBBox();const h=t.parent.bbox.rscale;1!==t.parent.bbox.rscale&&(a*=h,l*=h,c*=h),this.node.getProperty("useHeight")&&(a<.75&&(a=.75),l<.25&&(l=.25)),i=t.node.attributes.get("rowalign")||i,Object.hasOwn(this.adjustHD,i)||(i="other"),this.adjustHD[i](a,l,n,r,s),o&&c>o[e]&&(o[e]=c)}recordPWidthCell(t,e){t.childNodes[0]&&t.childNodes[0].getBBox().pwidth&&this.pwidthCells.push([t,e])}setColumnPWidths(){const t=this.cWidths;for(const[e,s]of this.pwidthCells)e.setChildPWidths(!1,t[s])&&(e.invalidateBBox(),e.getBBox())}getBBoxHD(t){const[e,s]=this.getAlignmentRow();if(null===s){const s=this.font.params.axis_height,i=t/2;return{top:[0,t],center:[i,i],bottom:[t,0],baseline:[i,i],axis:[i+s,i-s]}[e]||[i,i]}{const i=this.getVerticalPosition(s,e);return[i,t-i]}}getBBoxLR(){var t;if(this.hasLabels){const t=this.node.attributes,e=t.get("side");let[s,i]=this.getPadAlignShift(e);const n=this.hasLabels&&!!t.get("data-width-includes-label");return n&&this.frame&&this.fSpace[0]&&(s-=this.fSpace[0]),"center"!==i||n?"left"===e?[s,0]:[0,s]:[s,s]}return[(null===(t=this.bbox)||void 0===t?void 0:t.L)||0,0]}getPadAlignShift(t){const{L:e}=this.getTableData();let s=e+this.length2em(this.node.attributes.get("minlabelspacing"));const[i,n]=null==this.styles?["",""]:[this.styles.get("padding-left"),this.styles.get("padding-right")];(i||n)&&(s=Math.max(s,this.length2em(i||"0"),this.length2em(n||"0")));let[r,o]=this.getAlignShift();return r===t&&(o="left"===t?Math.max(s,o)-s:Math.min(-s,o)+s),[s,r,o]}getWidth(){return this.pWidth||this.getBBox().w}adjustWideTable(){const t=this.node.attributes;if("auto"!==t.get("width"))return;const[e,s]=this.getPadAlignShift(t.get("side")),i=Math.max(this.containerWidth/10,this.containerWidth-e-("center"===s?e:0));this.naturalWidth()>i&&this.adjustColumnWidths(i)}naturalWidth(){return Go(this.getComputedWidths().concat(this.cLines,this.cSpace))+2*this.fLine+this.fSpace[0]+this.fSpace[2]}getEqualRowHeight(){const{H:t,D:e}=this.getTableData(),s=Array.from(t.keys()).map(s=>t[s]+e[s]);return Math.max(...s)}getComputedWidths(){const t=this.getTableData().W;let e=Array.from(t.keys()).map(e=>"number"==typeof this.cWidths[e]?this.cWidths[e]:t[e]);return this.node.attributes.get("equalcolumns")&&(e=Array(e.length).fill(Xo(e))),e}getColumnWidths(){const t=this.node.attributes.get("width");if(this.node.attributes.get("equalcolumns"))return this.getEqualColumns(t);const e=this.getColumnAttributes("columnwidth",0);return"auto"===t?this.getColumnWidthsAuto(e):Wn(t)?this.getColumnWidthsPercent(e):this.getColumnWidthsFixed(e,this.length2em(t))}getEqualColumns(t){const e=Math.max(1,this.numCols);let s;if("auto"===t){const{W:t}=this.getTableData();s=Xo(t)}else if(Wn(t))s=this.percent(1/e);else{const i=Go([].concat(this.cLines,this.cSpace))+this.fSpace[0]+this.fSpace[2];s=Math.max(0,this.length2em(t)-i)/e}return Array(this.numCols).fill(s)}getColumnWidthsAuto(t){return t.map(t=>"auto"===t||"fit"===t?null:Wn(t)?t:this.length2em(t))}getColumnWidthsPercent(t){const e=t.includes("fit"),{W:s}=e?this.getTableData():{W:null};return Array.from(t.keys()).map(i=>{const n=t[i];return"fit"===n?null:"auto"===n?e?s[i]:null:Wn(n)?n:this.length2em(n)})}getColumnWidthsFixed(t,e){const s=Array.from(t.keys()),i=s.filter(e=>"fit"===t[e]),n=s.filter(e=>"auto"===t[e]),r=i.length||n.length,{W:o}=r?this.getTableData():{W:null},a=e-Go([].concat(this.cLines,this.cSpace))-this.fSpace[0]-this.fSpace[2];let l=a;s.forEach(e=>{const s=t[e];l-="fit"===s||"auto"===s?o[e]:this.length2em(s,a)});const c=r&&l>0?l/r:0;return s.map(e=>{const s=t[e];return"fit"===s?o[e]+c:"auto"===s?o[e]+(0===i.length?c:0):this.length2em(s,a)})}adjustColumnWidths(t){const{W:e}=this.getTableData(),s=this.getColumnAttributes("columnwidth",0),i=Array.from(s.keys()),n=[...i.filter(t=>"fit"===s[t]).sort((t,s)=>e[s]-e[t]),...i.filter(t=>"auto"===s[t]).sort((t,s)=>e[s]-e[t]),...i.filter(t=>Wn(s[t])).sort((t,s)=>e[s]-e[t]),...i.filter(t=>"fit"!==s[t]&&"auto"!==s[t]&&!Wn(s[t])).sort((t,s)=>e[s]-e[t])];if(!n.length)return;this.cWidths=i.map(t=>"number"==typeof this.cWidths[t]?this.cWidths[t]:e[t]);const r=t-Go([].concat(this.cLines,this.cSpace))-this.fSpace[0]-this.fSpace[2];let o=Go(this.cWidths)-r,a=0,l=0;for(;l<n.length&&(a+=e[n[l++]],!(a&&o/a<Ad)););o=1-o/a,n.slice(0,l).forEach(t=>this.cWidths[t]*=o)}getVerticalPosition(t,e){const s=this.node.attributes.get("equalrows"),{H:i,D:n}=this.getTableData(),r=s?this.getEqualRowHeight():0,o=this.getRowHalfSpacing();let a=this.fLine;for(let e=0;e<t;e++)a+=o[e]+(s?r:i[e]+n[e])+o[e+1]+this.rLines[e];const[l,c]=s?[(r+i[t]-n[t])/2,(r-i[t]+n[t])/2]:[i[t],n[t]];return a+={top:0,center:o[t]+(l+c)/2,bottom:o[t]+l+c+o[t+1],baseline:o[t]+l,axis:o[t]+l-.25}[e]||0,a}getFrameSpacing(){const t=this.fframe?this.convertLengths(this.getAttributeArray("framespacing")):[0,0];t[2]=t[0];const e=this.node.attributes.get("data-array-padding");if(e){const[s,i]=this.convertLengths(qn(e));t[0]=s,t[2]=i}return t}getEmHalfSpacing(t,e,s=1){const i=this.addEm(e,2/s);return i.unshift(this.em(t[0]*s)),i.push(this.em(t[1]*s)),i}getRowHalfSpacing(){const t=this.rSpace.map(t=>t/2);return t.unshift(this.fSpace[1]),t.push(this.fSpace[1]),t}getColumnHalfSpacing(){const t=this.cSpace.map(t=>t/2);return t.unshift(this.fSpace[0]),t.push(this.fSpace[2]),t}getAlignmentRow(){const[t,e]=qn(this.node.attributes.get("align"));if(null==e)return[t,null];let s=parseInt(e);return s<0&&(s+=this.numRows+1),[t,s<1||s>this.numRows?null:s-1]}getColumnAttributes(t,e=1){const s=this.numCols-e,i=this.getAttributeArray(t);if(0===i.length)return null;for(;i.length<s;)i.push(i[i.length-1]);return i.length>s&&i.splice(s),i}getRowAttributes(t,e=1){const s=this.numRows-e,i=this.getAttributeArray(t);if(0===i.length)return null;for(;i.length<s;)i.push(i[i.length-1]);return i.length>s&&i.splice(s),i}getAttributeArray(t){const e=this.node.attributes.get(t);return e?qn(e):[this.node.attributes.getDefault(t)]}addEm(t,e=1){return t?t.map(t=>this.em(t/e)):null}convertLengths(t){return t?t.map(t=>this.length2em(t)):null}constructor(t,e,s=null){super(t,e,s),this.numCols=0,this.numRows=0,this.data=null,this.pwidthCells=[],this.pWidth=0,this.adjustHD={top:(t,e,s,i,n)=>{t>s[n]&&(i[n]-=t-s[n],s[n]=t),t+e>s[n]+i[n]&&(i[n]=t+e-s[n])},bottom:(t,e,s,i,n)=>{e>i[n]&&(s[n]-=e-i[n],i[n]=e),t+e>s[n]+i[n]&&(s[n]=t+e-i[n])},center:(t,e,s,i,n)=>{t+e>s[n]+i[n]&&(s[n]=i[n]=(t+e)/2)},other:(t,e,s,i,n)=>{t>s[n]&&(s[n]=t),e>i[n]&&(i[n]=e)}},this.numCols=Xo(this.tableRows.map(t=>t.numCells)),this.numRows=this.childNodes.length,this.hasLabels=this.childNodes.reduce((t,e)=>t||e.node.isKind("mlabeledtr"),!1),this.findContainer(),this.isTop=!this.container||this.container.node.isKind("math")&&!this.container.parent,this.isTop&&(this.jax.table=this),this.getPercentageWidth();const i=this.node.attributes,n=i.get("frame");this.frame="none"!==n,this.fframe=this.frame||void 0!==i.get("data-frame-styles"),this.fLine=this.frame?.07:0,this.fSpace=this.getFrameSpacing(),this.cSpace=this.convertLengths(this.getColumnAttributes("columnspacing")),this.rSpace=this.convertLengths(this.getRowAttributes("rowspacing")),this.cLines=this.getColumnAttributes("columnlines").map(t=>"none"===t?0:.07),this.rLines=this.getRowAttributes("rowlines").map(t=>"none"===t?0:.07),this.cWidths=this.getColumnWidths(),this.adjustWideTable(),this.stretchColumns(),this.stretchRows()}getStyles(){super.getStyles();const t=this.node.attributes.get("data-frame-styles");if(!t)return;this.styles||(this.styles=new Vo(""));const e=t.split(/ /);for(const t of Mo.keys()){const s=e[t];"none"!==s&&this.styles.set(`border-${Mo[t]}`,`.07em ${s}`)}}computeBBox(t,e=!1){const{H:s,D:i}=this.getTableData();let n,r;if(this.node.attributes.get("equalrows")){const t=this.getEqualRowHeight();n=Go([].concat(this.rLines,this.rSpace))+t*this.numRows}else n=Go(s.concat(i,this.rLines,this.rSpace));n+=2*(this.fLine+this.fSpace[1]),r=this.naturalWidth();const o=this.node.attributes.get("width");"auto"!==o&&(r=Math.max(this.length2em(o,0)+2*this.fLine,r));const[a,l]=this.getBBoxHD(n);t.h=a,t.d=l,t.w=r;const[c,h]=this.getBBoxLR();t.L=c,t.R=h,Wn(o)||this.setColumnPWidths()}setChildPWidths(t,e,s){const i=this.node.attributes.get("width");if(!Wn(i))return!1;this.hasLabels||(this.bbox.pwidth="",this.container.bbox.pwidth="");const{w:n,L:r,R:o}=this.bbox,a=this.node.attributes.get("data-width-includes-label"),l=Math.max(n,this.length2em(i,Math.max(e,r+n+o)))-(a?r+o:0),c=this.node.attributes.get("equalcolumns")?Array(this.numCols).fill(this.percent(1/Math.max(1,this.numCols))):this.getColumnAttributes("columnwidth",0);return this.cWidths=this.getColumnWidthsFixed(c,l),this.pWidth=this.naturalWidth(),this.isTop&&(this.bbox.w=this.pWidth),this.setColumnPWidths(),this.pWidth!==n&&this.parent.invalidateBBox(),this.pWidth!==n}getAlignShift(){return this.isTop?super.getAlignShift():[this.container.getChildAlign(this.containerI),0]}}}const Sd=function(){var t;const e=Ld(Yc);return t=class extends e{constructor(t,e,s=null){super(t,e,s),this.itable=this.html("mjx-itable"),this.labels=this.html("mjx-itable")}getAlignShift(){const t=super.getAlignShift();return this.isTop||(t[1]=0),t}toCHTML(t){const e=this.standardChtmlNodes(t);this.adaptor.append(e[0],this.html("mjx-table",{},[this.itable]));for(const t of this.childNodes)t.toCHTML([this.itable]);this.padRows(),this.handleColumnSpacing(),this.handleColumnLines(),this.handleColumnWidths(),this.handleRowSpacing(),this.handleRowLines(),this.handleRowHeights(),this.handleFrame(),this.handleWidth(),this.handleLabels(),this.handleAlign(),this.handleJustify(),this.shiftColor()}shiftColor(){const t=this.adaptor,e=t.getStyle(this.dom[0],"backgroundColor");e&&(t.setStyle(this.dom[0],"backgroundColor",""),t.setStyle(this.itable,"backgroundColor",e))}padRows(){const t=this.adaptor;for(const e of t.childNodes(this.itable))for(;t.childNodes(e).length<this.numCols;)t.append(e,this.html("mjx-mtd",{extra:!0}))}handleColumnSpacing(){const t=this.childNodes[0]?1/this.childNodes[0].getBBox().rscale:1,e=this.getEmHalfSpacing([this.fSpace[0],this.fSpace[2]],this.cSpace,t);for(const t of this.tableRows){let s=0;for(const i of t.tableCells){const n=e[s++],r=e[s],o=i?i.dom[0]:this.adaptor.childNodes(t.dom[0])[s];(s>1&&"0.4em"!==n||"0"!==n&&1===s)&&this.adaptor.setStyle(o,"paddingLeft",n),(s<this.numCols&&"0.4em"!==r||"0"!==r&&s===this.numCols)&&this.adaptor.setStyle(o,"paddingRight",r)}}}handleColumnLines(){if("none"===this.node.attributes.get("columnlines"))return;const t=this.getColumnAttributes("columnlines");for(const e of this.childNodes){let s=0;const i=this.adaptor.childNodes(e.dom[0]).slice(1);for(const e of i){const i=t[s++];"none"!==i&&this.adaptor.setStyle(e,"borderLeft",".07em "+i)}}}handleColumnWidths(){for(const t of this.childNodes){let e=0;for(const s of this.adaptor.childNodes(t.dom[0])){const t=this.cWidths[e++];if(null!==t){const e="number"==typeof t?this.em(t):t;this.adaptor.setStyle(s,"width",e),this.adaptor.setStyle(s,"maxWidth",e),this.adaptor.setStyle(s,"minWidth",e)}}}}handleRowSpacing(){const t=this.childNodes[0]?1/this.childNodes[0].getBBox().rscale:1,e=this.getEmHalfSpacing([this.fSpace[1],this.fSpace[1]],this.rSpace,t),s=this.fframe;let i=0;for(const t of this.childNodes){const n=e[i++],r=e[i];for(const e of t.childNodes)(i>1&&"0.215em"!==n||s&&1===i)&&this.adaptor.setStyle(e.dom[0],"paddingTop",n),(i<this.numRows&&"0.215em"!==r||s&&i===this.numRows)&&this.adaptor.setStyle(e.dom[0],"paddingBottom",r)}}handleRowLines(){if("none"===this.node.attributes.get("rowlines"))return;const t=this.getRowAttributes("rowlines");let e=0;for(const s of this.childNodes.slice(1)){const i=t[e++];if("none"!==i)for(const t of this.adaptor.childNodes(s.dom[0]))this.adaptor.setStyle(t,"borderTop",".07em "+i)}}handleRowHeights(){this.node.attributes.get("equalrows")&&this.handleEqualRows()}handleEqualRows(){const t=this.getRowHalfSpacing(),{H:e,D:s,NH:i,ND:n}=this.getTableData(),r=this.getEqualRowHeight();for(let o=0;o<this.numRows;o++){const a=this.childNodes[o];this.setRowHeight(a,r+t[o]+t[o+1]+this.rLines[o]),r!==i[o]+n[o]&&this.setRowBaseline(a,r,(r-e[o]+s[o])/2)}}setRowHeight(t,e){this.adaptor.setStyle(t.dom[0],"height",this.em(e))}setRowBaseline(t,e,s){const i=t.node.attributes.get("rowalign");for(const n of t.childNodes)if(this.setCellBaseline(n,i,e,s))break}setCellBaseline(t,e,s,i){const n=t.node.attributes.get("rowalign");if("baseline"===n||"axis"===n){const n=this.adaptor,r=n.lastChild(t.dom[0]);n.setStyle(r,"height",this.em(s)),n.setStyle(r,"verticalAlign",this.em(-i));const o=t.parent;if(!(o.node.isKind("mlabeledtr")&&t===o.childNodes[0]||"baseline"!==e&&"axis"!==e))return!0}return!1}handleFrame(){if(this.frame&&this.fLine){const t=this.node.attributes.get("frame");this.adaptor.setStyle(this.itable,"border",`${this.em(this.fLine)} ${t}`)}}handleWidth(){const t=this.adaptor,e=this.dom[0],{w:s,L:i,R:n}=this.getBBox();t.setStyle(e,"minWidth",this.em(i+s+n));let r=this.node.attributes.get("width");if(Wn(r))t.setStyle(e,"width",""),t.setAttribute(e,"width","full");else if(!this.hasLabels){if("auto"===r)return;r=this.em(this.length2em(r)+2*this.fLine)}const o=t.firstChild(e);if(t.setStyle(o,"width",r),t.setStyle(o,"minWidth",this.em(s)),i||n){t.setStyle(e,"margin","");const s=this.node.attributes.get("data-width-includes-label")?"padding":"margin";i===n?t.setStyle(o,s,"0 "+this.em(n)):t.setStyle(o,s,"0 "+this.em(n)+" 0 "+this.em(i))}t.setAttribute(this.itable,"width","full")}handleAlign(){const[t,e]=this.getAlignmentRow(),s=this.dom[0];if(null===e)"axis"!==t&&this.adaptor.setAttribute(s,"align",t);else{const i=this.getVerticalPosition(e,t);this.adaptor.setAttribute(s,"align","top"),this.adaptor.setStyle(s,"verticalAlign",this.em(i))}}handleJustify(){const t=this.getAlignShift()[0];"center"!==t&&this.adaptor.setAttribute(this.dom[0],"justify",t)}handleLabels(){if(!this.hasLabels)return;const t=this.labels,e=this.node.attributes,s=this.adaptor,i=e.get("side");s.setAttribute(this.dom[0],"side",i),s.setAttribute(t,"align",i),s.setStyle(t,i,"0");const[n,r]=this.addLabelPadding(i);if(r){const t=s.firstChild(this.dom[0]);this.setIndent(t,n,r)}this.updateRowHeights(),this.addLabelSpacing()}addLabelPadding(t){const[,e,s]=this.getPadAlignShift(t),i={};if("right"===t&&!this.node.attributes.get("data-width-includes-label")){const t=this.node.attributes.get("width"),{w:e,L:s,R:n}=this.getBBox();i.style={width:Wn(t)?"calc("+t+" + "+this.em(s+n)+")":this.em(s+e+n)}}return this.adaptor.append(this.dom[0],this.html("mjx-labels",i,[this.labels])),[e,s]}updateRowHeights(){const{H:t,D:e,NH:s,ND:i}=this.getTableData(),n=this.getRowHalfSpacing();for(let r=0;r<this.numRows;r++){const o=this.childNodes[r];this.setRowHeight(o,t[r]+e[r]+n[r]+n[r+1]+this.rLines[r]),t[r]!==s[r]||e[r]!==i[r]?this.setRowBaseline(o,t[r]+e[r],e[r]):o.node.isKind("mlabeledtr")&&this.setCellBaseline(o.childNodes[0],"",t[r]+e[r],e[r])}}addLabelSpacing(){const t=this.adaptor,e=this.node.attributes.get("equalrows"),{H:s,D:i}=this.getTableData(),n=e?this.getEqualRowHeight():0,r=this.getRowHalfSpacing();let o=this.fLine,a=t.firstChild(this.labels);for(let l=0;l<this.numRows;l++){this.childNodes[l].node.isKind("mlabeledtr")?(o&&t.insert(this.html("mjx-mtr",{style:{height:this.em(o)}}),a),t.setStyle(a,"height",this.em((e?n:s[l]+i[l])+r[l]+r[l+1])),a=t.next(a),o=this.rLines[l]):o+=r[l]+(e?n:s[l]+i[l])+r[l+1]+this.rLines[l]}}},t.kind=br.prototype.kind,t.styles={"mjx-mtable":{"vertical-align":".25em","text-align":"center",position:"relative","box-sizing":"border-box","border-spacing":0,"border-collapse":"collapse"},'mjx-mstyle[size="s"] mjx-mtable':{"vertical-align":".354em"},"mjx-labels":{position:"absolute",left:0,top:0},"mjx-table":{display:"inline-block","vertical-align":"-.5ex","box-sizing":"border-box"},"mjx-table > mjx-itable":{"vertical-align":"middle","text-align":"left","box-sizing":"border-box"},"mjx-labels > mjx-itable":{position:"absolute",top:0},'mjx-mtable[justify="left"]':{"text-align":"left"},'mjx-mtable[justify="right"]':{"text-align":"right"},'mjx-mtable[justify="left"][side="left"]':{"padding-right":"0 ! important"},'mjx-mtable[justify="left"][side="right"]':{"padding-left":"0 ! important"},'mjx-mtable[justify="right"][side="left"]':{"padding-right":"0 ! important"},'mjx-mtable[justify="right"][side="right"]':{"padding-left":"0 ! important"},"mjx-mtable[align]":{"vertical-align":"baseline"},'mjx-mtable[align="top"] > mjx-table':{"vertical-align":"top"},'mjx-mtable[align="bottom"] > mjx-table':{"vertical-align":"bottom"},'mjx-mtable[side="right"] mjx-labels':{"min-width":"100%"}},t}();function Rd(t){return class extends t{get numCells(){return this.childNodes.length}get labeled(){return!1}get tableCells(){return this.childNodes}getChild(t){return this.childNodes[t]}getChildBBoxes(){return this.childNodes.map(t=>t.getBBox())}stretchChildren(t=null){const e=[],s=this.labeled?this.childNodes.slice(1):this.childNodes;for(const t of s){const s=t.childNodes[0];s.canStretch(Ic.Vertical)&&e.push(s)}const i=e.length,n=this.childNodes.length;if(i&&n>1&&!t){let e=0,r=0;const o=i>1&&i===n;for(const t of s){const s=t.childNodes[0],i=s.stretch.dir===Ic.None;if(o||i){const{h:t,d:n}=s.getBBox(i);t>e&&(e=t),n>r&&(r=n)}}t=[e,r]}if(t)for(const s of e){const e=s.coreRScale();s.coreMO().getStretchedVariant(t.map(t=>t*e))}}get fixesPWidth(){return!1}}}function Id(t){return class extends t{get numCells(){return Math.max(0,this.childNodes.length-1)}get labeled(){return!0}get tableCells(){return this.childNodes.slice(1)}getChild(t){return this.childNodes[t+1]}getChildBBoxes(){return this.childNodes.slice(1).map(t=>t.getBBox())}}}const wd=function(){var t;const e=Rd(Yc);return(t=class extends e{toCHTML(t){super.toCHTML(t);const e=this.node.attributes.get("rowalign");"baseline"!==e&&this.adaptor.setAttribute(this.dom[0],"rowalign",e);const{h:s,d:i}=this.getBBox();this.adaptor.setStyle(this.dom[0],"height",this.em(s+i))}}).kind=Er.prototype.kind,t.styles={"mjx-mtr":{display:"table-row"},'mjx-mtr[rowalign="top"] > mjx-mtd':{"vertical-align":"top"},'mjx-mtr[rowalign="center"] > mjx-mtd':{"vertical-align":"middle"},'mjx-mtr[rowalign="bottom"] > mjx-mtd':{"vertical-align":"bottom"},'mjx-mtr[rowalign="baseline"] > mjx-mtd':{"vertical-align":"baseline"},'mjx-mtr[rowalign="axis"] > mjx-mtd':{"vertical-align":".25em"}},t}(),Md=function(){var t;const e=Id(wd);return(t=class extends e{toCHTML(t){super.toCHTML(t);const e=this.adaptor.firstChild(this.dom[0]);if(e){this.adaptor.remove(e);const t=this.node.attributes.get("rowalign"),s="baseline"!==t&&"axis"!==t?{rowalign:t}:{},i=this.html("mjx-mtr",s,[e]);this.adaptor.append(this.parent.labels,i)}}markUsed(){super.markUsed(),this.jax.wrapperUsage.add(wd.kind)}}).kind=yr.prototype.kind,t.styles={"mjx-mlabeledtr":{display:"table-row"},'mjx-mlabeledtr[rowalign="top"] > mjx-mtd':{"vertical-align":"top"},'mjx-mlabeledtr[rowalign="center"] > mjx-mtd':{"vertical-align":"middle"},'mjx-mlabeledtr[rowalign="bottom"] > mjx-mtd':{"vertical-align":"bottom"},'mjx-mlabeledtr[rowalign="baseline"] > mjx-mtd':{"vertical-align":"baseline"},'mjx-mlabeledtr[rowalign="axis"] > mjx-mtd':{"vertical-align":".25em"}},t}();function Od(t){return class extends t{get fixesPWidth(){return!1}invalidateBBox(){this.bboxComputed=!1,this.lineBBox=[]}getWrapWidth(t){const e=this.parent.parent,s=this.parent,i=this.node.childPosition()-(s.labeled?1:0);return"number"==typeof e.cWidths[i]?e.cWidths[i]:e.getTableData().W[i]}getChildAlign(t){return this.node.attributes.get("columnalign")}}}const kd=function(){var t;const e=Od(Yc);return(t=class extends e{toCHTML(t){super.toCHTML(t);const e=this.node.attributes.get("rowalign"),s=this.node.attributes.get("columnalign");e!==this.parent.node.attributes.get("rowalign")&&this.adaptor.setAttribute(this.dom[0],"rowalign",e),"center"===s||"mlabeledtr"===this.parent.kind&&this===this.parent.childNodes[0]&&s===this.parent.parent.node.attributes.get("side")||this.adaptor.setStyle(this.dom[0],"textAlign",s),this.parent.parent.node.getProperty("useHeight")&&this.adaptor.append(this.dom[0],this.html("mjx-tstrut"))}}).kind=xr.prototype.kind,t.styles={"mjx-mtd":{display:"table-cell","text-align":"center",padding:".215em .4em"},"mjx-mtd:first-child":{"padding-left":0},"mjx-mtd:last-child":{"padding-right":0},"mjx-mtable > * > mjx-itable > *:first-child > mjx-mtd":{"padding-top":0},"mjx-mtable > * > mjx-itable > *:last-child > mjx-mtd":{"padding-bottom":0},"mjx-tstrut":{display:"inline-block",height:"1em","vertical-align":"-.25em"},'mjx-labels[align="left"] > mjx-mtr > mjx-mtd':{"text-align":"left"},'mjx-labels[align="right"] > mjx-mtr > mjx-mtd':{"text-align":"right"},"mjx-mtd[extra]":{padding:0},'mjx-mtd[rowalign="top"]':{"vertical-align":"top"},'mjx-mtd[rowalign="center"]':{"vertical-align":"middle"},'mjx-mtd[rowalign="bottom"]':{"vertical-align":"bottom"},'mjx-mtd[rowalign="baseline"]':{"vertical-align":"baseline"},'mjx-mtd[rowalign="axis"]':{"vertical-align":".25em"}},t}(),Dd={dx:".2em",dy:".1em",postDelay:600,clearDelay:100,hoverTimer:new Map,clearTimer:new Map,stopTimers:(t,e)=>{e.clearTimer.has(t)&&(clearTimeout(e.clearTimer.get(t)),e.clearTimer.delete(t)),e.hoverTimer.has(t)&&(clearTimeout(e.hoverTimer.get(t)),e.hoverTimer.delete(t))}};function Pd(t){return class extends t{get selected(){const t=this.node.attributes.get("selection"),e=Math.max(1,Math.min(this.childNodes.length,t))-1;return this.childNodes[e]||this.wrap(this.node.selected)}getParameters(){const t=this.node.attributes.get("data-offsets"),[e,s]=qn(t||"");this.tipDx=this.length2em(e||Dd.dx),this.tipDy=this.length2em(s||Dd.dy)}constructor(t,e,s=null){super(t,e,s);const i=this.constructor.actions,n=this.node.attributes.get("actiontype"),[r,o]=i.get(n)||[(t,e)=>{},{}];this.action=r,this.data=o,this.getParameters()}computeBBox(t,e=!1){t.updateFrom(this.selected.getOuterBBox()),this.selected.setChildPWidths(e)}get breakCount(){return this.node.isEmbellished?this.selected.coreMO().embellishedBreakCount:this.selected.breakCount}computeLineBBox(t){return this.getChildLineBBox(this.selected,t)}}}const Bd=function(){var t;const e=Pd(Yc);return(t=class extends e{setEventHandler(t,e,s=null){(s?[s]:this.dom).forEach(s=>s.addEventListener(t,e))}Em(t){return this.em(t)}toCHTML(t){if(this.toEmbellishedCHTML(t))return;const e=this.standardChtmlNodes(t);this.selected.toCHTML(e),this.action(this,this.data)}}).kind=ar.prototype.kind,t.styles={"mjx-maction":{position:"relative"},"mjx-maction > mjx-tool":{display:"none",position:"absolute",bottom:0,right:0,width:0,height:0,"z-index":500},"mjx-tool > mjx-tip":{display:"inline-block","line-height":0,padding:".2em",border:"1px solid #888","background-color":"#F8F8F8",color:"black","box-shadow":"2px 2px 5px #AAAAAA"},"mjx-maction[toggle]":{cursor:"pointer"},"mjx-status":{display:"block",position:"fixed",left:"1em",bottom:"1em","min-width":"25%",padding:".2em .4em",border:"1px solid #888","font-size":"90%","background-color":"#F8F8F8",color:"black"},"mjx-container [data-mjx-collapsed]":{color:"#55F"},"@media (prefers-color-scheme: dark) /* chtml maction */":{"mjx-tool > mjx-tip":{border:"1px solid #888","background-color":"#303030",color:"#E0E0E0","box-shadow":"2px 2px 5px #000"},"mjx-status":{"background-color":"#303030",color:"#E0E0E0"},"mjx-container [data-mjx-collapsed]":{color:"#88F"}}},t.actions=new Map([["toggle",[(t,e)=>{t.dom.forEach(e=>{t.adaptor.setAttribute(e,"toggle",t.node.attributes.get("selection"))});const s=t.factory.jax.math,i=t.factory.jax.document,n=t.node;t.setEventHandler("click",t=>{s.end.node||(s.start.node=s.end.node=s.typesetRoot,s.start.n=s.end.n=0),n.nextToggleSelection(),s.rerender(i,n.attributes.get("data-maction-id")?ln.ENRICHED:ln.RERENDER),t.stopPropagation()})},{}]],["tooltip",[(t,e)=>{const s=t.childNodes[1];if(s)if(s.node.isKind("mtext")){const e=s.node.getText();t.dom.forEach(s=>t.adaptor.setAttribute(s,"title",e))}else{const i=t.adaptor;for(const n of t.dom){const r=i.append(n,t.html("mjx-tool",{style:{bottom:t.Em(-t.tipDy),right:t.Em(-t.tipDx)}},[t.html("mjx-tip")]));s.toCHTML([i.firstChild(r)]),t.setEventHandler("mouseover",t=>{e.stopTimers(n,e);const s=setTimeout(()=>i.setStyle(r,"display","block"),e.postDelay);e.hoverTimer.set(n,s),t.stopPropagation()},n),t.setEventHandler("mouseout",t=>{e.stopTimers(n,e);const s=setTimeout(()=>i.setStyle(r,"display",""),e.clearDelay);e.clearTimer.set(n,s),t.stopPropagation()},n)}}},Dd]],["statusline",[(t,e)=>{const s=t.childNodes[1];if(s&&s.node.isKind("mtext")){const i=t.adaptor,n=s.node.getText();t.dom.forEach(t=>i.setAttribute(t,"statusline",n)),t.setEventHandler("mouseover",s=>{if(null===e.status){const s=i.body(i.document);e.status=i.append(s,t.html("mjx-status",{},[t.text(n)]))}s.stopPropagation()}),t.setEventHandler("mouseout",t=>{e.status&&(i.remove(e.status),e.status=null),t.stopPropagation()})}},{status:null}]]]),t}();function Fd(t){return class extends t{constructor(t,e,s=null){super(t,e,s),this.getParameters()}getParameters(){const{width:t,height:e,valign:s,src:i,index:n}=this.node.attributes.getList("width","height","valign","src","index");if(i)this.width="auto"===t?1:this.length2em(t),this.height="auto"===e?1:this.length2em(e),this.valign=this.length2em(s||"0");else{const t=String.fromCodePoint(parseInt(n)),e=this.node.factory;this.charWrapper=this.wrap(e.create("text").setText(t)),this.charWrapper.parent=this}}computeBBox(t,e=!1){this.charWrapper?t.updateFrom(this.charWrapper.getBBox()):(t.w=this.width,t.h=this.height+this.valign,t.d=-this.valign)}}}const jd=function(){var t;const e=Fd(Yc);return(t=class extends e{toCHTML(t){const e=this.standardChtmlNodes(t);if(this.charWrapper)return void this.charWrapper.toCHTML(e);const{src:s,alt:i}=this.node.attributes.getList("src","alt"),n={width:this.em(this.width),height:this.em(this.height)};this.valign&&(n.verticalAlign=this.em(this.valign));const r=this.html("img",{src:s,style:n,alt:i,title:i});this.adaptor.append(e[0],r)}}).kind=Tr.prototype.kind,t.styles={"mjx-mglyph > img":{display:"inline-block",border:0,padding:0}},t}();function _d(t){return class extends t{computeBBox(t,e=!1){if(this.childNodes.length){const{w:e,h:s,d:i}=this.childNodes[0].getBBox();t.w=e,t.h=s,t.d=i}}get breakCount(){return this.node.isEmbellished?this.coreMO().embellishedBreakCount:this.childNodes[0].breakCount}}}function Ud(t){class e extends t{constructor(t,e,s=null){super(t,e,s),this.rscale=this.getRScale()}computeBBox(t,e=!1){const s=this.node.getXML(),i=this.getHDW(s,"use","force"),{h:n,d:r,w:o}=i?this.splitHDW(i):this.measureXmlNode(s);t.w=o,t.h=n,t.d=r}getHTML(){let t=this.adaptor.clone(this.node.getXML());const e=this.getFontStyles();return(this.getHDW(t,"force")||1!==this.jax.options.scale)&&(t=this.addHDW(t,e)),this.html("mjx-html",{variant:this.parent.variant,style:e},[t])}getHDW(t,e,s=e){const i=this.jax.options.htmlHDW,n=this.adaptor.getAttribute(t,"data-mjx-hdw");return!n||i!==e&&i!==s?null:n}splitHDW(t){const e=1/this.metrics.scale,[s,i,n]=qn(t).map(t=>this.length2em(t||"0")*e);return{h:s,d:i,w:n}}getFontStyles(){var t;const e=this.adaptor,s=this.metrics;return{"font-family":(null===(t=this.parent.styles)||void 0===t?void 0:t.get("font-family"))||s.family||e.fontFamily(e.parent(this.jax.math.start.node))||"initial","font-size":this.jax.fixed(s.em*this.rscale)+"px"}}measureXmlNode(t){const e=this.adaptor,s=this.html("mjx-xml-block",{style:{display:"inline-block"}},[e.clone(t)]),i=this.html("mjx-baseline",{style:{display:"inline-block",width:0,height:0}}),n=this.getFontStyles(),r=this.html("mjx-measure-xml",{style:n},[i,s]),o=this.jax.container;e.append(e.parent(this.jax.math.start.node),o),e.append(o,r);const a=this.metrics,l=a.em*a.scale*this.rscale,{left:c,right:h,bottom:d,top:u}=e.nodeBBox(s),p=(h-c)/l,m=(e.nodeBBox(i).top-u)/l,g=(d-u)/l-m;return e.remove(o),e.remove(r),{w:p,h:m,d:g}}getStyles(){}getScale(){}getVariant(){}}return e.autoStyle=!1,e.styles={"mjx-measure-xml":{position:"absolute",left:0,top:0,display:"inline-block","line-height":"normal","white-space":"normal"},"mjx-html":{display:"inline-block","line-height":"normal","text-align":"initial","white-space":"initial"},"mjx-html-holder":{display:"block",position:"absolute",top:0,left:0,bottom:0,right:0}},e}const Hd=function(){var t;const e=_d(Yc);return(t=class extends e{toCHTML(t){if(this.toEmbellishedCHTML(t))return;const e=this.standardChtmlNodes(t);this.childNodes.length&&this.childNodes[0].toCHTML(e)}}).kind=Cr.prototype.kind,t}(),Wd=function(){var t;return(t=class extends Yc{toCHTML(t){super.toCHTML(t)}computeBBox(){return this.bbox}}).kind=Lr.prototype.kind,t}(),qd=function(){var t;return(t=class extends Yc{}).kind=Ar.prototype.kind,t.styles={"mjx-annotation-xml":{"font-family":"initial","line-height":"normal"}},t}(),Vd=function(){var t;const e=Ud(Yc);return(t=class extends e{toCHTML(t){this.markUsed(),this.dom=[this.adaptor.append(t[0],this.getHTML())]}addHDW(t,e){const s=this.jax.options.scale,{h:i,d:n,w:r}=this.bbox,o=s*this.metrics.scale;return e.width=this.em(r*o),e.height=this.em((i+n)*o),e["vertical-align"]=this.em(-n*o),e.position="relative",this.html("mjx-html-holder",{style:{transform:`scale(${this.jax.fixed(s)})`,"transform-origin":"top left"}},[t])}}).kind=Rn.prototype.kind,t}();function Gd(t){return class extends t{computeBBox(t,e=!1){super.computeBBox(t,e),this.childNodes[0]&&this.childNodes[0].bbox.ic&&(t.ic=this.childNodes[0].bbox.ic)}}}const Xd=function(){var t;const e=Gd(Yc);return(t=class extends e{toCHTML(t){super.toCHTML(t),this.dom.forEach(t=>this.adaptor.setAttribute(t,"texclass",bn[this.node.texClass]))}}).kind=Sr.prototype.kind,t}();function zd(t){return class extends t{remappedText(t,e){const s=this.parent.stretch.c;return s?[s]:this.parent.remapChars(this.unicodeChars(t,e))}computeBBox(t,e=!1){const s=this.parent.variant,i=this.node.getText();if("-explicitFont"===s){const e=this.jax.getFontData(this.parent.styles),{w:n,h:r,d:o}=this.jax.measureText(i,s,e);t.h=r,t.d=o,t.w=n}else{const e=this.remappedText(i,s);let n="";t.empty();for(let i=0;i<e.length;i++){const[r,o,a,l]=this.getVariantChar(s,e[i]);if(l.unknown)n+=String.fromCodePoint(e[i]);else{if(n=this.addUtextBBox(t,n,s),this.updateBBox(t,r,o,a),t.ic=l.ic||0,t.sk=l.sk||0,t.dx=l.dx||0,!l.oc||i<e.length-1)continue;const c=this.parent.childNodes;if(this.node!==c[c.length-1].node)continue;const h=this.parent.parent.node;let d=h.isKind("mrow")||h.isInferred?h.childNodes[h.childIndex(this.parent.node)+1]:null;(null==d?void 0:d.isKind("mo"))&&"\u2062"===d.getText()&&(d=h.childNodes[h.childIndex(d)+1]),d&&d.attributes.get("mathvariant")===s?t.oc=l.oc:t.ic=l.oc}}this.addUtextBBox(t,n,s),e.length>1&&(t.sk=0),t.clean()}}addUtextBBox(t,e,s){if(e){const{h:i,d:n,w:r}=this.jax.measureText(e,s);this.updateBBox(t,i,n,r)}return""}updateBBox(t,e,s,i){t.w+=i,e>t.h&&(t.h=e),s>t.d&&(t.d=s)}getStyles(){}getVariant(){}getScale(){}getSpace(){}}}const Kd=function(){var t;const e=zd(Yc);return t=class extends e{toCHTML(t){this.markUsed();const e=t[0],s=this.adaptor,i=this.parent.variant,n=this.node.getText();if(0===n.length)return;const r=this.getBBox();if("-explicitFont"===i)s.append(e,this.jax.unknownText(n,i,r.w));else{let t="";const o=this.remappedText(n,i),a=o.length>1?this.em(this.parent.getBBox().h):"",l=o.length;for(let n=0;n<l;n++){const c=o[n],h=this.getVariantChar(i,c)[3];if(h.unknown)t+=String.fromCodePoint(c);else{t=this.addUtext(t,i,e);const o=h.ff||(h.f?`${this.font.cssFontPrefix}-${h.f}`:""),d=s.append(e,this.html("mjx-c",{class:this.char(c)+(o?" "+o:"")},[this.text(h.c||String.fromCodePoint(c))]));(n<l-1||r.oc)&&s.setAttribute(d,"noic","true"),a&&s.setStyle(d,"padding-top",a),this.font.charUsage.add([i,c])}}this.addUtext(t,i,e)}}addUtext(t,e,s){return t&&this.adaptor.append(s,this.jax.unknownText(t,e)),""}},t.kind=Sn.prototype.kind,t.autoStyle=!1,t.styles={"mjx-c":{display:"inline-block",width:0,"text-align":"right"},"mjx-utext":{display:"inline-block",padding:".75em 0 .2em 0"}},t}(),$d=function(){var t;return(t=class extends Vd{}).kind=Ir.prototype.kind,t}(),Jd={[Zc.kind]:Zc,[Yh.kind]:Yh,[Qh.kind]:Qh,[eh.kind]:eh,[oh.kind]:oh,[lh.kind]:lh,[hh.kind]:hh,[uh.kind]:uh,[mh.kind]:mh,[fh.kind]:fh,[Kh.kind]:Kh,[sd.kind]:sd,[nd.kind]:nd,[od.kind]:od,[ud.kind]:ud,[pd.kind]:pd,[md.kind]:md,[Ed.kind]:Ed,[yd.kind]:yd,[xd.kind]:xd,[Cd.kind]:Cd,[td.kind]:td,[Sd.kind]:Sd,[wd.kind]:wd,[Md.kind]:Md,[kd.kind]:kd,[Bd.kind]:Bd,[jd.kind]:jd,[Hd.kind]:Hd,[Wd.kind]:Wd,[qd.kind]:qd,[Vd.kind]:Vd,[Xd.kind]:Xd,[Kd.kind]:Kd,[$d.kind]:$d,[Yc.kind]:Yc};class Yd extends Vc{}Yd.defaultNodes=Jd;const Qd="mathjax-newcm",Zd=null;class tu extends qc{constructor(t={}){super(t,Yd,Zd),this.chtmlStyles=null,this.font.adaptiveCSS(this.options.adaptiveCSS),this.wrapperUsage=new sh}addExtension(t,e=""){const s=super.addExtension(t,e);return s.length&&this.options.adaptiveCSS&&this.chtmlStyles&&this.adaptor.insertRules(this.chtmlStyles,s),[]}escaped(t,e){return this.setDocument(e),this.html("span",{},[this.text(t.math)])}styleSheet(t){if(this.chtmlStyles){const t=new ao;return this.options.adaptiveCSS&&(this.addWrapperStyles(t),this.updateFontStyles(t)),t.addStyles(this.font.updateDynamicStyles()),this.adaptor.insertRules(this.chtmlStyles,t.getStyleRules()),this.chtmlStyles}const e=this.chtmlStyles=super.styleSheet(t);return this.adaptor.setAttribute(e,"id",tu.STYLESHEETID),this.wrapperUsage.update(),e}updateFontStyles(t){t.addStyles(this.font.updateStyles({}))}addWrapperStyles(t){if(this.options.adaptiveCSS)for(const e of this.wrapperUsage.update()){const s=this.factory.getNodeClass(e);s&&this.addClassStyles(s,t)}else super.addWrapperStyles(t)}addClassStyles(t,e){const s=t;s.autoStyle&&"unknown"!==s.kind&&e.addStyles({["mjx-"+s.kind]:{display:"inline-block","text-align":"left"}}),this.wrapperUsage.add(s.kind),super.addClassStyles(t,e)}insertStyles(t){this.chtmlStyles&&this.adaptor.insertRules(this.chtmlStyles,new ao(t).getStyleRules())}processMath(t,e){t.toCHTML([e])}clearCache(){this.styleJson.clear(),this.font.clearCache(),this.wrapperUsage.clear(),this.chtmlStyles=null}reset(){this.clearCache()}unknownText(t,e,s=null){const i={},n=100/this.math.metrics.scale;if(100!==n&&(i["font-size"]=this.fixed(n,1)+"%",i.padding=xo(75/n)+" 0 "+xo(20/n)+" 0"),"-explicitFont"!==e){const s=Un(t);(1!==s.length||s[0]<119808||s[0]>120831)&&this.cssFontStyles(this.font.getCssFont(e),i)}return null!==s&&(i.width=this.fixed(s*this.math.metrics.scale)+"em"),this.html("mjx-utext",{variant:e,style:i},[this.text(t)])}measureTextNode(t){const e=this.adaptor,s=e.clone(t);e.setStyle(s,"font-family",e.getStyle(s,"font-family").replace(/MJXZERO, /g,""));const i=this.math.metrics.em,n={position:"absolute",top:0,left:0,"white-space":"nowrap","font-size":this.fixed(i,3)+"px"},r=this.html("mjx-measure-text",{style:n},[s]);e.append(e.parent(this.math.start.node),this.container),e.append(this.container,r);const o=e.nodeSize(s,i)[0];return e.remove(this.container),e.remove(r),{w:o,h:.75,d:.2}}}function eu(t,e){const s={};for(const i of Object.keys(t)){const n=t[i];for(const t of Object.keys(n)){s[t]||(s[t]={});const r=n[t];if(i)for(const t of Object.keys(r)){const s=r[parseInt(t)];s[3]||(s[3]={}),e?s[3].ff=e+"-"+i:s[3].f=i}Object.assign(s[t],r)}}return s}function su(t,e,s,i=""){const n="https://cdn.jsdelivr.net"===(MathJax.config.loader?.paths?.fonts||"").substring(0,24)?"@%%VERSION%%":"",r=s.fontPath||`[fonts]/%%FONT%%-font${i}${n}`,o=t.match(/^[a-z]+:/)?(t.match(/[^/:\\]*$/)||[e])[0]:t;return ci(MathJax.config.loader,"paths",{[o+i]:o===t?r.replace(/%%FONT%%/g,t).replace(/%%VERSION%%/g,to.version):t}),`[${o}${i}]`}tu.NAME="CHTML",tu.OPTIONS=Object.assign(Object.assign({},qc.OPTIONS),{adaptiveCSS:!0,matchFontHeight:!0}),tu.commonStyles=Object.assign(Object.assign({},qc.commonStyles),{'mjx-container[jax="CHTML"]':{"white-space":"nowrap"},[["mjx-mo > mjx-c","mjx-mi > mjx-c","mjx-mn > mjx-c","mjx-ms > mjx-c","mjx-mtext > mjx-c"].join(", ")]:{"clip-path":"padding-box polygon("+["-1em -2px","calc(100% + 1em) -2px","calc(100% + 1em) calc(100% + 2px)","-1em calc(100% + 2px)"].join(", ")+")"},"mjx-stretchy-h":{"clip-path":"padding-box polygon(0 -2px, 100% -2px, 100% calc(100% + 2px), 0 calc(100% + 2px))"},"mjx-stretchy-v":{"clip-path":"padding-box polygon(-2px 0, calc(100% + 2px) 0, calc(100% + 2px) 100%, -2px 100%)"},'mjx-container [space="1"]':{"margin-left":".111em"},'mjx-container [space="2"]':{"margin-left":".167em"},'mjx-container [space="3"]':{"margin-left":".222em"},'mjx-container [space="4"]':{"margin-left":".278em"},'mjx-container [space="5"]':{"margin-left":".333em"},'mjx-container [rspace="1"]':{"margin-right":".111em"},'mjx-container [rspace="2"]':{"margin-right":".167em"},'mjx-container [rspace="3"]':{"margin-right":".222em"},'mjx-container [rspace="4"]':{"margin-right":".278em"},'mjx-container [rspace="5"]':{"margin-right":".333em"},'mjx-container [size="s"]':{"font-size":"70.7%"},'mjx-container [size="ss"]':{"font-size":"50%"},'mjx-container [size="Tn"]':{"font-size":"60%"},'mjx-container [size="sm"]':{"font-size":"85%"},'mjx-container [size="lg"]':{"font-size":"120%"},'mjx-container [size="Lg"]':{"font-size":"144%"},'mjx-container [size="LG"]':{"font-size":"173%"},'mjx-container [size="hg"]':{"font-size":"207%"},'mjx-container [size="HG"]':{"font-size":"249%"},'mjx-container [width="full"]':{width:"100%"},"mjx-box":{display:"inline-block"},"mjx-block":{display:"block"},"mjx-itable":{display:"inline-table"},"mjx-row":{display:"table-row"},[["cell","base","under","over","den"].map(t=>`mjx-row > mjx-${t}`).join(", ")]:{display:"table-cell"},"mjx-container [inline-breaks]":{display:"inline"},"mjx-container .mjx-selected":{outline:"2px solid black"},"@media (prefers-color-scheme: dark)":{"mjx-container .mjx-selected":{outline:"2px solid #C8C8C8"}},"mjx-mtext":{display:"inline-block"},"mjx-mstyle":{display:"inline-block"},"mjx-merror":{display:"inline-block",color:"red","background-color":"yellow"},"mjx-mphantom":{visibility:"hidden"}}),tu.STYLESHEETID="MJX-CHTML-styles",MathJax.loader&&MathJax.loader.checkVersion("output/chtml",ni,"output"),hi({_:{output:{chtml_ts:Ds,chtml:{DefaultFont:ks,DynamicFonts:Ps,FontData:Oe,Notation:ze,Usage:Me,Wrapper:Le,WrapperFactory:Os,Wrappers_ts:Ms,Wrappers:{HtmlNode:ws,TeXAtom:Ss,TextNode:Is,maction:xs,math:Re,menclose:Ke,mfenced:Qe,mfrac:ts,mglyph:vs,mi:we,mmultiscripts:us,mn:Be,mo:De,mpadded:Ve,mroot:ns,mrow:Je,ms:je,mspace:We,msqrt:ss,msubsup:ls,mtable:ms,mtd:Es,mtext:Ue,mtr:fs,munderover:hs,scriptbase:as,semantics:As}},common_ts:Te,common:{Direction:ye,FontData:xe,LineBBox:Ne,LinebreakVisitor:ve,Notation:Ge,Wrapper:Ae,WrapperFactory:Ce,Wrappers:{TeXAtom:Ls,TextNode:Rs,XmlNode:Cs,maction:ys,math:Se,menclose:Xe,mfenced:Ye,mfrac:Ze,mglyph:Ns,mi:Ie,mmultiscripts:ds,mn:Pe,mo:ke,mpadded:qe,mroot:is,mrow:$e,ms:Fe,mspace:He,msqrt:es,msubsup:rs,mtable:ps,mtd:bs,mtext:_e,mtr:gs,munderover:cs,scriptbase:os,semantics:Ts}}}}});const iu={config(t,e,s,i){if(MathJax.loader){ci(MathJax.config,t,MathJax.config.output||{});let e=MathJax.config[t],n=e.font||e.fontData||s;"string"!=typeof n&&(e.fontData=n,e.font=n=n.NAME),"["!==n.charAt(0)&&(n=su(n,t,e));const r=n.substring(1,n.length-1),o=function(t,e){const s=[];for(const i of e.fontExtensions||[]){const n=`${su(i,t,e,"-extension")}/${t}`;s.push(n)}return s}(t,e);if(o.length&&MathJax.loader.addPackageData(`${n}/${t}`,{extraLoads:o}),r===s&&i){const e=MathJax.config.loader[`${n}/${t}`]?.extraLoads;e&&MathJax.loader.addPackageData(`output/${t}`,{extraLoads:e}),hi({_:{output:{fonts:{[r]:{[t+"_ts"]:{[i.NAME+"Font"]:i}}}}}}),ci(MathJax,"config",{output:{font:n},[t]:{fontData:i,dynamicPrefix:`${n}/${t}/dynamic`}}),"chtml"===t&&ci(MathJax.config,t,{fontURL:gi.resolvePath(`${n}/${t}/woff2`,!1)})}else MathJax.loader.addPackageData(`output/${t}`,{extraLoads:[`${n}/${t}`]})}MathJax.startup&&(MathJax.startup.registerConstructor(t,e),MathJax.startup.useOutput(t))},loadFont:(t,e,s,i)=>MathJax.loader?(i&&MathJax.loader.preLoaded(`[${s}]/${e}`),gi.loadPromise(`output/${e}`).then(t)):t};var nu;iu.config("chtml",tu,Qd,Zd),function(t){t[t.RETURN=13]="RETURN",t[t.ESCAPE=27]="ESCAPE",t[t.SPACE=32]="SPACE",t[t.LEFT=37]="LEFT",t[t.UP=38]="UP",t[t.RIGHT=39]="RIGHT",t[t.DOWN=40]="DOWN"}(nu||(nu={}));const ru="click",ou="dblclick",au="mousedown",lu="mouseup",cu="mouseover",hu="mouseout",du="selectstart";class uu{constructor(){this.bubble=!1}bubbleKey(){this.bubble=!0}keydown(t){switch(t.keyCode){case nu.ESCAPE:this.escape(t);break;case nu.RIGHT:this.right(t);break;case nu.LEFT:this.left(t);break;case nu.UP:this.up(t);break;case nu.DOWN:this.down(t);break;case nu.RETURN:case nu.SPACE:this.space(t);break;default:return}this.bubble?this.bubble=!1:this.stop(t)}escape(t){}space(t){}left(t){}right(t){}up(t){}down(t){}stop(t){t&&(t.stopPropagation(),t.preventDefault(),t.cancelBubble=!0)}mousedown(t){return this.stop(t)}mouseup(t){return this.stop(t)}mouseover(t){return this.stop(t)}mouseout(t){return this.stop(t)}click(t){return this.stop(t)}addEvents(t){t.addEventListener(au,this.mousedown.bind(this)),t.addEventListener(lu,this.mouseup.bind(this)),t.addEventListener(cu,this.mouseover.bind(this)),t.addEventListener(hu,this.mouseout.bind(this)),t.addEventListener(ru,this.click.bind(this)),t.addEventListener("keydown",this.keydown.bind(this)),t.addEventListener("dragstart",this.stop.bind(this)),t.addEventListener(du,this.stop.bind(this)),t.addEventListener("contextmenu",this.stop.bind(this)),t.addEventListener(ou,this.stop.bind(this))}}class pu extends uu{addAttributes(t){for(const e in t)this.html.setAttribute(e,t[e])}get html(){return this._html||this.generateHtml(),this._html}set html(t){this._html=t,this.addEvents(t)}generateHtml(){const t=document.createElement("div");t.classList.add(this.className),t.setAttribute("role",this.role),this.html=t}focus(){const t=this.html;t.setAttribute("tabindex","0"),setTimeout(()=>t.focus(),50)}unfocus(){const t=this.html;t.hasAttribute("tabindex")&&t.setAttribute("tabindex","-1");try{t.blur()}catch(t){}t.blur()}}class mu extends pu{constructor(){super(...arguments),this.posted=!1}isPosted(){return this.posted}post(t,e){this.posted||(void 0!==t&&void 0!==e&&this.html.setAttribute("style","left: "+t+"px; top: "+e+"px;"),this.display(),this.posted=!0)}unpost(){if(!this.posted)return;const t=this.html;t.parentNode&&t.parentNode.removeChild(t),this.posted=!1}}function gu(t){return"CtxtMenu_"+t}function fu(t){return gu(t)}function bu(t){return gu(t)}const Eu={ATTACHED:fu("Attached"),CONTEXTMENU:fu("ContextMenu"),MENU:fu("Menu"),MENUARROW:fu("MenuArrow"),MENUACTIVE:fu("MenuActive"),MENUCHECK:fu("MenuCheck"),MENUCLOSE:fu("MenuClose"),MENUCOMBOBOX:fu("MenuComboBox"),MENUDISABLED:fu("MenuDisabled"),MENUFRAME:fu("MenuFrame"),MENUITEM:fu("MenuItem"),MENULABEL:fu("MenuLabel"),MENURADIOCHECK:fu("MenuRadioCheck"),MENUINPUTBOX:fu("MenuInputBox"),MENURULE:fu("MenuRule"),MENUSLIDER:fu("MenuSlider"),MOUSEPOST:fu("MousePost"),RTL:fu("RTL"),INFO:fu("Info"),INFOCLOSE:fu("InfoClose"),INFOCONTENT:fu("InfoContent"),INFOSIGNATURE:fu("InfoSignature"),INFOTITLE:fu("InfoTitle"),SLIDERVALUE:fu("SliderValue"),SLIDERBAR:fu("SliderBar"),SELECTION:fu("Selection"),SELECTIONBOX:fu("SelectionBox"),SELECTIONMENU:fu("SelectionMenu"),SELECTIONDIVIDER:fu("SelectionDivider"),SELECTIONITEM:fu("SelectionItem")},yu={COUNTER:bu("Counter"),KEYDOWNFUNC:bu("keydownFunc"),CONTEXTMENUFUNC:bu("contextmenuFunc"),OLDTAB:bu("Oldtabindex"),TOUCHFUNC:bu("TouchFunc")};class xu extends pu{constructor(t,e){super(),this._menu=t,this._type=e,this.className=Eu.MENUITEM,this.role="menuitem",this.hidden=!1}get menu(){return this._menu}set menu(t){this._menu=t}get type(){return this._type}hide(){this.hidden=!0,this.menu.generateMenu()}show(){this.hidden=!1,this.menu.generateMenu()}isHidden(){return this.hidden}}function Nu(t){const e=t.menu;e.baseMenu?e.baseMenu.unpost():e.unpost()}function vu(t){const e=t.menu;return(e.baseMenu?e.baseMenu:e).store.active}function Tu(t,e){console.error("ContextMenu Error: "+e)}function Cu(){return Au++}let Au=0;class Lu extends xu{constructor(t,e,s,i){super(t,e),this._content=s,this.disabled=!1,this.callbacks=[],this._id=i||s}get content(){return this._content}set content(t){this._content=t,this.generateHtml(),this.menu&&this.menu.generateHtml()}get id(){return this._id}press(){this.disabled||(this.executeAction(),this.executeCallbacks_())}executeAction(){}registerCallback(t){-1===this.callbacks.indexOf(t)&&this.callbacks.push(t)}unregisterCallback(t){const e=this.callbacks.indexOf(t);-1!==e&&this.callbacks.splice(e,1)}mousedown(t){this.press(),this.stop(t)}mouseover(t){this.focus(),this.stop(t)}mouseout(t){this.deactivate(),this.stop(t)}generateHtml(){super.generateHtml();const t=this.html;t.setAttribute("aria-disabled","false"),t.textContent=this.content}activate(){this.disabled||this.html.classList.add(Eu.MENUACTIVE)}deactivate(){this.html.classList.remove(Eu.MENUACTIVE)}focus(){this.menu.focused=this,super.focus(),this.activate()}unfocus(){this.deactivate(),super.unfocus()}escape(t){Nu(this)}up(t){this.menu.up(t)}down(t){this.menu.down(t)}left(t){this.menu.left(t)}right(t){this.menu.right(t)}space(t){this.press()}disable(){this.disabled=!0;const t=this.html;t.classList.add(Eu.MENUDISABLED),t.setAttribute("aria-disabled","true")}enable(){this.disabled=!1;const t=this.html;t.classList.remove(Eu.MENUDISABLED),t.removeAttribute("aria-disabled")}executeCallbacks_(){for(const t of this.callbacks)try{t(this)}catch(t){Tu(0,"Callback for menu entry "+this.id+" failed.")}}}class Su extends Lu{static fromJson(t,{content:e,menu:s,id:i},n){const r=new this(n,e,i),o=t.get("subMenu")(t,s,r);return r.submenu=o,r}constructor(t,e,s){super(t,"submenu",e,s),this._submenu=null}set submenu(t){this._submenu=t}get submenu(){return this._submenu}mouseover(t){this.focus(),this.stop(t)}mouseout(t){this.stop(t)}unfocus(){if(this.submenu.isPosted()){if(this.menu.focused!==this)return super.unfocus(),void this.menu.unpostSubmenus();this.html.setAttribute("tabindex","-1"),this.html.blur()}else super.unfocus()}focus(){super.focus(),this.submenu.isPosted()||this.disabled||this.submenu.post()}executeAction(){this.submenu.isPosted()?this.submenu.unpost():this.submenu.post()}generateHtml(){super.generateHtml();const t=this.html;this.span=document.createElement("span"),this.span.textContent="\u25ba",this.span.classList.add(Eu.MENUARROW),this.span.setAttribute("aria-hidden","true"),t.appendChild(this.span),t.setAttribute("aria-haspopup","true")}left(t){this.submenu.isPosted()?this.submenu.unpost():super.left(t)}right(t){this.submenu.isPosted()?this.submenu.down(t):this.submenu.post()}toJson(){return{type:""}}}class Ru extends mu{constructor(){super(...arguments),this.className=Eu.CONTEXTMENU,this.role="menu",this._items=[],this._baseMenu=null}set baseMenu(t){this._baseMenu=t}get baseMenu(){return this._baseMenu}get items(){return this._items}set items(t){this._items=t}get pool(){return this.variablePool}get focused(){return this._focused}set focused(t){if(this._focused===t)return;this._focused||this.unfocus();const e=this._focused;this._focused=t,e&&e.unfocus()}up(t){const e=this.items.filter(t=>t instanceof Lu&&!t.isHidden());if(0===e.length)return;if(!this.focused)return void e[e.length-1].focus();let s=e.indexOf(this.focused);-1!==s&&(s=s?--s:e.length-1,e[s].focus())}down(t){const e=this.items.filter(t=>t instanceof Lu&&!t.isHidden());if(0===e.length)return;if(!this.focused)return void e[0].focus();let s=e.indexOf(this.focused);-1!==s&&(s++,s=s===e.length?0:s,e[s].focus())}generateHtml(){super.generateHtml(),this.generateMenu()}generateMenu(){const t=this.html;t.classList.add(Eu.MENU);for(const e of this.items){if(!e.isHidden()){t.appendChild(e.html);continue}const s=e.html;s.parentNode&&s.parentNode.removeChild(s)}}post(t,e){this.variablePool.update(),super.post(t,e)}unpostSubmenus(){const t=this.items.filter(t=>t instanceof Su);for(const e of t)e.submenu.unpost(),e!==this.focused&&e.unfocus()}unpost(){super.unpost(),this.unpostSubmenus(),this.focused=null}find(t){for(const e of this.items)if("rule"!==e.type){if(e.id===t)return e;if("submenu"===e.type){const s=e.submenu.find(t);if(s)return s}}return null}}class Iu{constructor(t){this.menu=t,this.store=[],this._active=null,this.counter=0,this.attachedClass=Eu.ATTACHED+"_"+Cu(),this.taborder=!0,this.attrMap={}}set active(t){do{if(-1!==this.store.indexOf(t)){this._active=t;break}t=t.parentNode}while(t)}get active(){return this._active}next(){const t=this.store.length;if(0===t)return this.active=null,null;let e=this.store.indexOf(this.active);return e=-1===e?0:e<t-1?e+1:0,this.active=this.store[e],this.active}previous(){const t=this.store.length;if(0===t)return this.active=null,null;const e=t-1;let s=this.store.indexOf(this.active);return s=-1===s||0===s?e:s-1,this.active=this.store[s],this.active}clear(){this.remove(this.store)}insert(t){const e=t instanceof HTMLElement?[t]:t;for(const t of e)this.insertElement(t);this.sort()}remove(t){const e=t instanceof HTMLElement?[t]:t;for(const t of e)this.removeElement(t);this.sort()}inTaborder(t){this.taborder&&!t&&this.removeTaborder(),!this.taborder&&t&&this.insertTaborder(),this.taborder=t}insertTaborder(){this.taborder&&this.insertTaborder_()}removeTaborder(){this.taborder&&this.removeTaborder_()}insertElement(t){t.classList.contains(this.attachedClass)||(t.classList.add(this.attachedClass),this.taborder&&this.addTabindex(t),this.addEvents(t))}removeElement(t){t.classList.contains(this.attachedClass)&&(t.classList.remove(this.attachedClass),this.taborder&&this.removeTabindex(t),this.removeEvents(t))}sort(){const t=document.getElementsByClassName(this.attachedClass);this.store=[].slice.call(t)}insertTaborder_(){this.store.forEach(t=>t.setAttribute("tabindex","0"))}removeTaborder_(){this.store.forEach(t=>t.setAttribute("tabindex","-1"))}addTabindex(t){t.hasAttribute("tabindex")&&t.setAttribute(yu.OLDTAB,t.getAttribute("tabindex")),t.setAttribute("tabindex","0")}removeTabindex(t){t.hasAttribute(yu.OLDTAB)?(t.setAttribute("tabindex",t.getAttribute(yu.OLDTAB)),t.removeAttribute(yu.OLDTAB)):t.removeAttribute("tabindex")}addEvents(t){t.hasAttribute(yu.COUNTER)||(this.addEvent(t,"contextmenu",this.menu.post.bind(this.menu)),this.addEvent(t,"keydown",this.keydown.bind(this)),t.setAttribute(yu.COUNTER,this.counter.toString()),this.counter++)}addEvent(t,e,s){const i=yu[e.toUpperCase()+"FUNC"];this.attrMap[i+this.counter]=s,t.addEventListener(e,s)}removeEvents(t){if(!t.hasAttribute(yu.COUNTER))return;const e=t.getAttribute(yu.COUNTER);this.removeEvent(t,"contextmenu",e),this.removeEvent(t,"keydown",e),t.removeAttribute(yu.COUNTER)}removeEvent(t,e,s){const i=yu[e.toUpperCase()+"FUNC"],n=this.attrMap[i+s];t.removeEventListener(e,n)}keydown(t){t.keyCode===nu.SPACE&&(this.menu.post(t),t.preventDefault(),t.stopImmediatePropagation())}}class wu{constructor(){this.pool={}}insert(t){this.pool[t.name]=t}lookup(t){return this.pool[t]}remove(t){delete this.pool[t]}update(){for(const t in this.pool)this.pool[t].update()}}class Mu extends Ru{static fromJson(t,{pool:e,items:s,id:i=""}){const n=new this(t);n.id=i;const r=t.get("variable");e.forEach(e=>r(t,e,n.pool));const o=t.get("items")(t,s,n);return n.items=o,n}constructor(t){super(),this.factory=t,this.id="",this.moving=!1,this._store=new Iu(this),this.widgets=[],this.variablePool=new wu}generateHtml(){this.isPosted()&&this.unpost(),super.generateHtml(),this._frame=document.createElement("div"),this._frame.classList.add(Eu.MENUFRAME);const t="left: 0px; top: 0px; z-index: 200; width: 100%; height: 100%; border: 0px; padding: 0px; margin: 0px;";this._frame.setAttribute("style","position: absolute; "+t);const e=document.createElement("div");e.setAttribute("style","position: fixed; "+t),this._frame.appendChild(e),e.addEventListener("mousedown",function(t){this.unpost(),this.unpostWidgets(),this.stop(t)}.bind(this))}display(){document.body.appendChild(this.frame),this.frame.appendChild(this.html),this.focus()}escape(t){this.unpost(),this.unpostWidgets()}unpost(){if(super.unpost(),this.widgets.length>0)return;this.frame.parentNode.removeChild(this.frame);const t=this.store;this.moving||t.insertTaborder(),t.active.focus()}left(t){this.move_(this.store.previous())}right(t){this.move_(this.store.next())}get frame(){return this._frame}get store(){return this._store}post(t,e){if(void 0!==e)return this.moving||this.store.removeTaborder(),void super.post(t,e);const s=t;let i,n,r;if(s instanceof Event?(i=s.target,this.stop(s)):i=s,s instanceof MouseEvent&&(n=s.pageX,r=s.pageY,n||r||!s.clientX||(n=s.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,r=s.clientY+document.body.scrollTop+document.documentElement.scrollTop)),!n&&!r&&i){const t=window.pageXOffset||document.documentElement.scrollLeft,e=window.pageYOffset||document.documentElement.scrollTop,s=i.getBoundingClientRect();n=(s.right+s.left)/2+t,r=(s.bottom+s.top)/2+e}this.store.active=i,this.anchor=this.store.active;const o=this.html;n+o.offsetWidth>document.body.offsetWidth-5&&(n=document.body.offsetWidth-o.offsetWidth-5),this.post(n,r)}registerWidget(t){this.widgets.push(t)}unregisterWidget(t){const e=this.widgets.indexOf(t);e>-1&&this.widgets.splice(e,1),0===this.widgets.length&&this.unpost()}unpostWidgets(){this.widgets.forEach(t=>t.unpost())}toJson(){return{type:""}}move_(t){this.anchor&&t!==this.anchor&&(this.moving=!0,this.unpost(),this.post(t),this.moving=!1)}}class Ou extends Ru{static fromJson(t,{items:e},s){const i=new this(s),n=t.get("items")(t,e,i);return i.items=n,i}constructor(t){super(),this._anchor=t,this.variablePool=this.anchor.menu.pool,this.setBaseMenu()}get anchor(){return this._anchor}post(){if(!this.anchor.menu.isPosted())return;let t=this.anchor.html;const e=this.html,s=this.baseMenu.frame,i=t.offsetWidth;let n=i-2,r=0;for(;t&&t!==s;)n+=t.offsetLeft,r+=t.offsetTop,t=t.parentNode;n+e.offsetWidth>document.body.offsetWidth-5&&(n=Math.max(5,n-i-e.offsetWidth+6)),super.post(n,r)}display(){this.baseMenu.frame.appendChild(this.html)}setBaseMenu(){let t=this;do{t=t.anchor.menu}while(t instanceof Ou);this.baseMenu=t}left(t){this.focused=null,this.anchor.focus()}toJson(){return{type:""}}}class ku extends Lu{generateHtml(){super.generateHtml();const t=this.html;this.span||this.generateSpan(),t.appendChild(this.span),this.update()}register(){this.variable.register(this)}unregister(){this.variable.unregister(this)}update(){this.updateAria(),this.span&&this.updateSpan()}}class Du extends ku{static fromJson(t,{content:e,variable:s,id:i},n){return new this(n,e,s,i)}constructor(t,e,s,i){super(t,"radio",e,i),this.role="menuitemradio",this.variable=t.pool.lookup(s),this.register()}executeAction(){this.variable.setValue(this.id),Nu(this)}generateSpan(){this.span=document.createElement("span"),this.span.textContent="\u2713",this.span.classList.add(Eu.MENURADIOCHECK),this.span.setAttribute("aria-hidden","true")}updateAria(){this.html.setAttribute("aria-checked",this.variable.getValue()===this.id?"true":"false")}updateSpan(){this.span.style.display=this.variable.getValue()===this.id?"":"none"}toJson(){return{type:""}}}class Pu extends xu{static fromJson(t,e,s){return new this(s)}constructor(t){super(t,"rule"),this.className=Eu.MENUITEM,this.role="separator"}generateHtml(){super.generateHtml();const t=this.html;t.classList.add(Eu.MENURULE),t.setAttribute("aria-orientation","vertical")}addEvents(t){}toJson(){return{type:"rule"}}}class Bu extends Lu{static fromJson(t,{content:e,action:s,id:i},n){return new this(n,e,s,i)}constructor(t,e,s,i){super(t,"command",e,i),this.command=s}mousedown(t){this.stop(t)}mouseup(t){this.press(),this.stop(t)}executeAction(){try{this.command(vu(this))}catch(t){Tu(0,"Illegal command callback.")}Nu(this)}toJson(){return{type:""}}}class Fu{static fromJson(t,{name:e,getter:s,setter:i},n){const r=new this(e,s,i);n.insert(r)}constructor(t,e,s){this._name=t,this.getter=e,this.setter=s,this.items=[]}get name(){return this._name}getValue(t){try{return this.getter(t)}catch(t){return Tu(0,"Command of variable "+this.name+" failed."),null}}setValue(t,e){try{this.setter(t,e)}catch(t){Tu(0,"Command of variable "+this.name+" failed.")}this.update()}register(t){-1===this.items.indexOf(t)&&this.items.push(t)}unregister(t){const e=this.items.indexOf(t);-1!==e&&this.items.splice(e,1)}update(){this.items.forEach(t=>t.update())}registerCallback(t){this.items.forEach(e=>e.registerCallback(t))}unregisterCallback(t){this.items.forEach(e=>e.unregisterCallback(t))}toJson(){return{type:"variable",name:this.name,getter:this.getter.toString(),setter:this.setter.toString()}}}class ju extends ku{static fromJson(t,{content:e,variable:s,id:i},n){return new this(n,e,s,i)}constructor(t,e,s,i){super(t,"checkbox",e,i),this.role="menuitemcheckbox",this.variable=t.pool.lookup(s),this.register()}executeAction(){this.variable.setValue(!this.variable.getValue()),Nu(this)}generateSpan(){this.span=document.createElement("span"),this.span.textContent="\u2713",this.span.classList.add(Eu.MENUCHECK),this.span.setAttribute("aria-hidden","true")}updateAria(){this.html.setAttribute("aria-checked",this.variable.getValue()?"true":"false")}updateSpan(){this.span.style.display=this.variable.getValue()?"":"none"}toJson(){return{type:""}}}class _u extends ku{static fromJson(t,{content:e,variable:s,id:i},n){return new this(n,e,s,i)}constructor(t,e,s,i){super(t,"combobox",e,i),this.role="combobox",this.inputEvent=!1,this.variable=t.pool.lookup(s),this.register()}executeAction(){this.variable.setValue(this.input.value,vu(this))}space(t){super.space(t),Nu(this)}focus(){super.focus(),this.input.focus()}unfocus(){super.unfocus(),this.updateSpan()}generateHtml(){super.generateHtml();this.html.classList.add(Eu.MENUCOMBOBOX)}generateSpan(){this.span=document.createElement("span"),this.span.classList.add(Eu.MENUINPUTBOX),this.input=document.createElement("input"),this.input.addEventListener("keydown",this.inputKey.bind(this)),this.input.setAttribute("size","10em"),this.input.setAttribute("type","text"),this.input.setAttribute("tabindex","-1"),this.span.appendChild(this.input)}inputKey(t){this.bubbleKey(),this.inputEvent=!0}keydown(t){if(this.inputEvent&&t.keyCode!==nu.ESCAPE&&t.keyCode!==nu.RETURN)return this.inputEvent=!1,void t.stopPropagation();super.keydown(t),t.stopPropagation()}updateAria(){}updateSpan(){let t;try{t=this.variable.getValue(vu(this))}catch(e){t=""}this.input.value=t}toJson(){return{type:""}}}class Uu extends Lu{static fromJson(t,{content:e,id:s},i){return new this(i,e,s)}constructor(t,e,s){super(t,"label",e,s)}generateHtml(){super.generateHtml();this.html.classList.add(Eu.MENULABEL)}toJson(){return{type:""}}}class Hu extends ku{static fromJson(t,{content:e,variable:s,id:i},n){return new this(n,e,s,i)}constructor(t,e,s,i){super(t,"slider",e,i),this.role="slider",this.labelId="ctx_slideLabel"+Cu(),this.valueId="ctx_slideValue"+Cu(),this.inputEvent=!1,this.variable=t.pool.lookup(s),this.register()}executeAction(){this.variable.setValue(this.input.value,vu(this)),this.update()}space(t){super.space(t),Nu(this)}focus(){super.focus(),this.input.focus()}unfocus(){super.unfocus(),this.updateSpan()}generateHtml(){super.generateHtml();this.html.classList.add(Eu.MENUSLIDER),this.valueSpan=document.createElement("span"),this.valueSpan.setAttribute("id",this.valueId),this.valueSpan.classList.add(Eu.SLIDERVALUE),this.html.appendChild(this.valueSpan)}generateSpan(){this.span=document.createElement("span"),this.labelSpan=document.createElement("span"),this.labelSpan.setAttribute("id",this.labelId),this.labelSpan.appendChild(this.html.childNodes[0]),this.html.appendChild(this.labelSpan),this.input=document.createElement("input"),this.input.setAttribute("type","range"),this.input.setAttribute("min","0"),this.input.setAttribute("max","100"),this.input.setAttribute("aria-valuemin","0"),this.input.setAttribute("aria-valuemax","100"),this.input.setAttribute("aria-labelledby",this.labelId),this.input.addEventListener("keydown",this.inputKey.bind(this)),this.input.addEventListener("input",this.executeAction.bind(this)),this.input.classList.add(Eu.SLIDERBAR),this.span.appendChild(this.input)}inputKey(t){this.inputEvent=!0}mousedown(t){t.stopPropagation()}mouseup(t){Nu(this),t.stopPropagation()}keydown(t){const e=t.keyCode;return e===nu.UP||e===nu.DOWN?(t.preventDefault(),void super.keydown(t)):this.inputEvent&&e!==nu.ESCAPE&&e!==nu.RETURN?(this.inputEvent=!1,void t.stopPropagation()):(super.keydown(t),void t.stopPropagation())}updateAria(){const t=this.variable.getValue();t&&this.input&&(this.input.setAttribute("aria-valuenow",t),this.input.setAttribute("aria-valuetext",t+"%"))}updateSpan(){let t;try{t=this.variable.getValue(vu(this)),this.valueSpan.innerHTML=t+"%"}catch(e){t=""}this.input.value=t}toJson(){return{type:""}}}class Wu extends mu{constructor(t){super(),this.element=t,this.className=Eu.MENUCLOSE,this.role="button"}generateHtml(){const t=document.createElement("span");t.classList.add(this.className),t.setAttribute("role",this.role),t.setAttribute("tabindex","0");const e=document.createElement("span");e.textContent="\xd7",t.appendChild(e),this.html=t}display(){}unpost(){super.unpost(),this.element.unpost()}keydown(t){this.bubbleKey(),super.keydown(t)}space(t){this.unpost(),this.stop(t)}mousedown(t){this.unpost(),this.stop(t)}}class qu extends mu{constructor(t,e,s){super(),this.title=t,this.signature=s,this.className=Eu.INFO,this.role="dialog",this.contentDiv=this.generateContent(),this.close=this.generateClose(),this.content=e||function(){return""}}attachMenu(t){this.menu=t}generateHtml(){super.generateHtml();const t=this.html;t.appendChild(this.generateTitle()),t.appendChild(this.contentDiv),t.appendChild(this.generateSignature()),t.appendChild(this.close.html),t.setAttribute("tabindex","0")}post(){super.post();const t=document.documentElement,e=this.html,s=window.innerHeight||t.clientHeight||t.scrollHeight||0,i=Math.floor(-e.offsetWidth/2),n=Math.floor((s-e.offsetHeight)/3);e.setAttribute("style","margin-left: "+i+"px; top: "+n+"px;"),window.event instanceof MouseEvent&&e.classList.add(Eu.MOUSEPOST),e.focus()}display(){this.menu.registerWidget(this),this.contentDiv.innerHTML=this.content();const t=this.menu.html;t.parentNode&&t.parentNode.removeChild(t),this.menu.frame.appendChild(this.html)}click(t){}keydown(t){this.bubbleKey(),super.keydown(t)}escape(t){this.unpost()}unpost(){super.unpost(),this.html.classList.remove(Eu.MOUSEPOST),this.menu.unregisterWidget(this)}generateClose(){const t=new Wu(this),e=t.html;return e.classList.add(Eu.INFOCLOSE),e.setAttribute("aria-label","Close Dialog Box"),t}generateTitle(){const t=document.createElement("span");return t.innerHTML=this.title,t.classList.add(Eu.INFOTITLE),t}generateContent(){const t=document.createElement("div");return t.classList.add(Eu.INFOCONTENT),t.setAttribute("tabindex","0"),t}generateSignature(){const t=document.createElement("span");return t.innerHTML=this.signature,t.classList.add(Eu.INFOSIGNATURE),t}toJson(){return{type:""}}}class Vu extends Ru{static fromJson(t,{title:e,values:s,variable:i},n){const r=new this(n),o=t.get("label")(t,{content:e||"",id:e||"id"},r),a=t.get("rule")(t,{},r),l=s.map(e=>t.get("radio")(t,{content:e,variable:i,id:e},r)),c=[o,a].concat(l);return r.items=c,r}constructor(t){super(),this.anchor=t,this.className=Eu.SELECTIONMENU,this.variablePool=this.anchor.menu.pool,this.baseMenu=this.anchor.menu}generateHtml(){super.generateHtml(),this.items.forEach(t=>t.html.classList.add(Eu.SELECTIONITEM))}display(){}right(t){this.anchor.right(t)}left(t){this.anchor.left(t)}}class Gu extends qu{static fromJson(t,{title:e,signature:s,selections:i,order:n,grid:r},o){const a=new this(e,s,n,r);a.attachMenu(o);const l=i.map(e=>t.get("selectionMenu")(t,e,a));return a.selections=l,a}constructor(t,e,s="none",i="vertical"){super(t,null,e),this.style=s,this.grid=i,this._selections=[],this.prefix="ctxt-selection",this._balanced=!0}attachMenu(t){this.menu=t}get selections(){return this._selections}set selections(t){this._selections=[],t.forEach(t=>this.addSelection(t))}addSelection(t){t.anchor=this,this._selections.push(t)}rowDiv(t){const e=document.createElement("div");this.contentDiv.appendChild(e);const s=t.map(t=>(e.appendChild(t.html),t.html.id||(t.html.id=this.prefix+Cu()),t.html.getBoundingClientRect())),i=s.map(t=>t.width),n=i.reduce((t,e)=>t+e,0),r=s.reduce((t,e)=>Math.max(t,e.height),0);return e.classList.add(Eu.SELECTIONDIVIDER),e.setAttribute("style","height: "+r+"px;"),[e,n,r,i]}display(){if(super.display(),this.order(),!this.selections.length)return;const t=[];let e=0,s=[];const i=this.getChunkSize(this.selections.length);for(let n=0;n<this.selections.length;n+=i){const r=this.selections.slice(n,n+i),[o,a,l,c]=this.rowDiv(r);t.push(o),e=Math.max(e,a),r.forEach(t=>t.html.style.height=l+"px"),s=this.combineColumn(s,c)}this._balanced&&(this.balanceColumn(t,s),e=s.reduce((t,e)=>t+e,20)),t.forEach(t=>t.style.width=e+"px")}getChunkSize(t){switch(this.grid){case"square":return Math.floor(Math.sqrt(t));case"horizontal":return Math.floor(t/Gu.chunkSize);default:return Gu.chunkSize}}balanceColumn(t,e){t.forEach(t=>{const s=Array.from(t.children);for(let t,i=0;t=s[i];i++)t.style.width=e[i]+"px"})}combineColumn(t,e){let s=[],i=0;for(;t[i]||e[i];){if(!t[i]){s=s.concat(e.slice(i));break}if(!e[i]){s=s.concat(t.slice(i));break}s.push(Math.max(t[i],e[i])),i++}return s}left(t){this.move(t,t=>(0===t?this.selections.length:t)-1)}right(t){this.move(t,t=>t===this.selections.length-1?0:t+1)}generateHtml(){super.generateHtml(),this.html.classList.add(Eu.SELECTION)}generateContent(){const t=super.generateContent();return t.classList.add(Eu.SELECTIONBOX),t.removeAttribute("tabindex"),t}findSelection(t){const e=t.target;let s=null;if(e.id&&(s=this.selections.find(t=>t.html.id===e.id)),!s){const t=e.parentElement.id;s=this.selections.find(e=>e.html.id===t)}return s}move(t,e){const s=this.findSelection(t);s.focused&&s.focused.unfocus();const i=e(this.selections.indexOf(s));this.selections[i].focus()}order(){this.selections.sort(Gu.orderMethod.get(this.style))}toJson(){return{type:""}}}Gu.chunkSize=4,Gu.orderMethod=new Map([["alphabetical",(t,e)=>t.items[0].content.localeCompare(e.items[0].content)],["none",(t,e)=>1],["decreasing",(t,e)=>{const s=t.items.length,i=e.items.length;return s<i?1:i<s?-1:0}],["increasing",(t,e)=>{const s=t.items.length,i=e.items.length;return s<i?-1:i<s?1:0}]]);class Xu{constructor(t){this._parser=new Map(t)}get(t){return this._parser.get(t)}add(t,e){this._parser.set(t,e)}}var zu=function(t,e){var s={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.indexOf(i)<0&&(s[i]=t[i]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(i=Object.getOwnPropertySymbols(t);n<i.length;n++)e.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(t,i[n])&&(s[i[n]]=t[i[n]])}return s};class Ku{constructor(t=[]){this._initList=[["command",Bu.fromJson.bind(Bu)],["checkbox",ju.fromJson.bind(ju)],["combo",_u.fromJson.bind(_u)],["slider",Hu.fromJson.bind(Hu)],["label",Uu.fromJson.bind(Uu)],["radio",Du.fromJson.bind(Du)],["rule",Pu.fromJson.bind(Pu)],["submenu",Su.fromJson.bind(Su)],["contextMenu",Mu.fromJson.bind(Mu)],["subMenu",Ou.fromJson.bind(Ou)],["variable",Fu.fromJson.bind(Fu)],["items",this.items.bind(this)],["selectionMenu",Vu.fromJson.bind(Vu)],["selectionBox",Gu.fromJson.bind(Gu)]],this._factory=new Xu(this._initList),t.forEach(([t,e])=>this.factory.add(t,e))}get factory(){return this._factory}items(t,e,s){const i=[];for(const t of e){const e=this.parse(t,s);e&&(s.items.push(e),t.disabled&&e.disable(),t.hidden&&i.push(e))}return i.forEach(t=>t.hide()),s.items}parse(t,...e){var{type:s}=t,i=zu(t,["type"]);const n=this.factory.get(s);return n?n(this.factory,i,...e):null}}function $u(t){return"."+(Eu[t]||t)}function Ju(t,e=";"){return"{\n "+t.join(e+"\n ")+";\n}"}const Yu={};Yu[$u("MENU")]=Ju(["position: absolute","background-color: white","color: black","width: auto","padding: 5px 0px","border: 1px solid #CCCCCC","margin: 0","cursor: default","font: menu","text-align: left","text-indent: 0","text-transform: none","line-height: normal","letter-spacing: normal","word-spacing: normal","word-wrap: normal","white-space: nowrap","float: none","z-index: 1001","border-radius: 5px","box-shadow: 0px 10px 20px #808080"]),Yu[$u("MENUITEM")]=Ju(["padding: 1px 2em","background: transparent"]),Yu[$u("MENUARROW")]=Ju(["position: absolute","right: 0.5em","padding-top: 0.25em","color: #666666","font-family: null","font-size: 0.75em"]),Yu[$u("MENUACTIVE")+" "+$u("MENUARROW")]=Ju(["color: white"]),Yu[$u("MENUARROW")+$u("RTL")]=Ju(["left: 0.5em","right: auto"]),Yu[$u("MENUCHECK")]=Ju(["position: absolute","left: 0.7em","font-family: null"]),Yu[$u("MENUCHECK")+$u("RTL")]=Ju(["right: 0.7em","left: auto"]),Yu[$u("MENURADIOCHECK")]=Ju(["position: absolute","left: 0.7em"]),Yu[$u("MENURADIOCHECK")+$u("RTL")]=Ju(["right: 0.7em","left: auto"]),Yu[$u("MENUINPUTBOX")]=Ju(["padding-left: 1em","right: 0.5em","color: #666666","font-family: null"]),Yu[$u("MENUINPUTBOX")+$u("RTL")]=Ju(["left: 0.1em"]),Yu[$u("MENUCOMBOBOX")]=Ju(["left: 0.1em","padding-bottom: 0.5em"]),Yu[$u("MENUSLIDER")]=Ju(["left: 0.1em"]),Yu[$u("SLIDERVALUE")]=Ju(["position: absolute","right: 0.1em","padding-top: 0.25em","color: #333333","font-size: 0.75em"]),Yu[$u("MENUACTIVE")+" "+$u("SLIDERVALUE")]=Ju(["color: #DDDDDD"]),Yu[$u("SLIDERBAR")]=Ju(["outline: none","background: #D3D3D3"]),Yu[$u("MENULABEL")]=Ju(["padding: 1px 2em 3px 1.33em","font-style: italic"]),Yu[$u("MENURULE")]=Ju(["border-top: 1px solid #DDDDDD","margin: 4px 3px"]),Yu[$u("MENUDISABLED")]=Ju(["color: #999"]),Yu[$u("MENUACTIVE")]=Ju(["background-color: #606872","color: white"]),Yu[$u("MENUDISABLED")+":focus"]=Ju(["background-color: #E8E8E8"]),Yu[$u("MENULABEL")+":focus"]=Ju(["background-color: #E8E8E8"]),Yu[$u("CONTEXTMENU")+":focus"]=Ju(["outline: none"]),Yu[$u("CONTEXTMENU")+" "+$u("MENUITEM")+":focus"]=Ju(["outline: none"]),Yu[$u("SELECTIONMENU")]=Ju(["position: relative","float: left","border-bottom: none","box-shadow: none ! important","border-radius: 0px !important"]),Yu[$u("SELECTIONITEM")]=Ju(["padding-right: 1em"]),Yu[$u("SELECTION")]=Ju(["right: 40%","width: 50%"]),Yu[$u("SELECTIONBOX")]=Ju(["padding: 0em","max-height: 20em","max-width: none","background-color: #FFFFFF"]),Yu[$u("SELECTIONDIVIDER")]=Ju(["clear: both","border-top: 2px solid #000000"]),Yu[$u("MENU")+" "+$u("MENUCLOSE")]=Ju(["top: -10px","left: -10px"]),Yu["@media (prefers-color-scheme: dark) /* menu */"]=Ju([$u("MENU")+" "+Ju(["color: #E0E0E0","background-color: #242436","box-shadow: 0px 10px 20px #000","border: 1px solid #808080"]),$u("SLIDERVALUE")+" "+Ju(["color: #D0D0D0"]),$u("MENUDISABLED")+":focus "+Ju(["background-color: #383838"]),$u("MENULABEL")+":focus "+Ju(["background-color: #585858"]),$u("MENURULE")+" "+Ju(["border-top: 1px solid #808080"]),$u("SELECTIONDIVIDER")+" "+Ju(["border-top: 2px solid #808080"])],"");const Qu={};Qu[$u("MENUCLOSE")]=Ju(["position: absolute","cursor: pointer","display: inline-block","border: 2px solid #AAA","border-radius: 18px",'font-family: "Courier New", Courier',"font-size: 24px","color: #F0F0F0"]),Qu[$u("MENUCLOSE")+" span"]=Ju(["display: block","background-color: #AAA","border: 1.5px solid","border-radius: 18px","line-height: 0","padding: 8px 0 6px"]),Qu[$u("MENUCLOSE")+":hover"]=Ju(["color: white !important","border: 2px solid #CCC !important"]),Qu[$u("MENUCLOSE")+":hover span"]=Ju(["background-color: #CCC !important"]),Qu[$u("MENUCLOSE")+":hover:focus"]=Ju(["outline: none"]);function Zu(t,e=document,s="MJX-Menu-styles"){if(e.head.querySelector("#"+s))return;const i=e.createElement("style");i.id=s;const n=[];for(const e in t)n.push(`${e} ${t[e]}`);i.textContent=n.join("\n"),e.head.appendChild(i)}class tp extends Mu{constructor(){super(...arguments),this.mathItem=null,this.nofocus=!1,this.errorMsg=""}post(t,e){var s,i;if(this.mathItem){const n=null===(i=null===(s=this.mathItem)||void 0===s?void 0:s.explorers)||void 0===i?void 0:i.speech;(null==n?void 0:n.active)&&(n.restarted=n.semanticFocus()),void 0!==e&&(this.getOriginalMenu(),this.getSemanticsMenu(),this.getSpeechMenu(),this.getBrailleMenu(),this.getSvgMenu(),this.getErrorMessage(),this.dynamicSubmenus()),super.post(t,e)}}unpost(){this.posted&&super.unpost(),this.mathItem&&(this.mathItem.outputData.nofocus=this.nofocus),this.mathItem=null,this.nofocus=!1}findID(...t){let e=this,s=null;for(const i of t){if(!e)return null;for(s of e.items){if(s.id===i){e=s instanceof Su?s.submenu:null;break}e=s=null}}return s}setJax(t){this.jax=t}getOriginalMenu(){const t=this.mathItem.inputJax.name,e=this.findID("Show","Original");e.content="MathML"===t?"Original MathML":t+" Commands";this.findID("Copy","Original").content=e.content}getSemanticsMenu(){const t=this.findID("Settings","MathmlIncludes","semantics");"MathML"===this.mathItem.inputJax.name?t.disable():t.enable()}getSpeechMenu(){const t=this.mathItem.outputData.speech;this.findID("Show","Speech")[t?"enable":"disable"](),this.findID("Copy","Speech")[t?"enable":"disable"]()}getBrailleMenu(){const t=this.mathItem.outputData.braille;this.findID("Show","Braille")[t?"enable":"disable"](),this.findID("Copy","Braille")[t?"enable":"disable"]()}getSvgMenu(){const t=this.jax.SVG;this.findID("Show","SVG")[t?"enable":"disable"](),this.findID("Copy","SVG")[t?"enable":"disable"]()}getErrorMessage(){const t=this.mathItem.root.childNodes[0].childNodes;let e=!0;if(this.errorMsg="",1===t.length&&t[0].isKind("merror")){const s=t[0].attributes;this.errorMsg=s.get("data-mjx-error")||s.get("data-mjx-message")||"",e=!this.errorMsg}this.findID("Show","Error")[e?"disable":"enable"](),this.findID("Copy","Error")[e?"disable":"enable"]()}dynamicSubmenus(){for(const[t,[e,s]]of tp.DynamicSubmenus){const i=this.find(t);i&&e(this,i,t=>{var e;i.submenu=t,!(null===(e=null==t?void 0:t.items)||void 0===e?void 0:e.length)||s&&!this.settings[s]?i.disable():i.enable()})}}}tp.DynamicSubmenus=new Map;class ep extends Gu{constructor(t,e,s,i,n,r){super(t,e,i,n),this.attachMenu(r);const o=r.factory;this.selections=s.map(t=>o.get("selectionMenu")(o,t,this))}post(){const t=Array.from(Object.values(this.menu.jax)).filter(t=>!!t)[0],e=new uo({title:this.title,message:"",adaptor:t.adaptor,styles:{"mjx-dialog > div":{padding:0}}});e.attach(),this.contentDiv=e.content,this.display()}display(){const t=this;if(t.order(),!this.selections.length)return;const e=[];let s=0,i=[];const n=t.getChunkSize(this.selections.length);for(let r=0;r<this.selections.length;r+=n){const o=this.selections.slice(r,r+n),[a,l,c,h]=t.rowDiv(o);e.push(a),s=Math.max(s,l),o.forEach(t=>t.html.style.height=c+"px"),i=t.combineColumn(i,h)}t._balanced&&(t.balanceColumn(e,i),s=i.reduce((t,e)=>t+e-2,20)),e.forEach(t=>t.style.width=s+"px")}}var sp,ip,np;!function(t){t.DOMAIN="domain",t.STYLE="style",t.LOCALE="locale",t.TOPIC="topic",t.MODALITY="modality"}(sp||(sp={}));class rp{static createProp(...t){const e=op.DEFAULT_ORDER,s={};for(let i=0,n=t.length,r=e.length;i<n&&i<r;i++)s[e[i]]=t[i];return new rp(s)}constructor(t,e=Object.keys(t)){this.properties=t,this.order=e}getProperties(){return this.properties}getOrder(){return this.order}getAxes(){return this.order}getProperty(t){return this.properties[t]}updateProperties(t){this.properties=t}allProperties(){const t=[];return this.order.forEach(e=>t.push(this.getProperty(e).slice())),t}toString(){const t=[];return this.order.forEach(e=>t.push(e+": "+this.getProperty(e).toString())),t.join("\n")}}class op extends rp{static createCstr(...t){const e=op.DEFAULT_ORDER,s={};for(let i=0,n=t.length,r=e.length;i<n&&i<r;i++)s[e[i]]=t[i];return new op(s)}static defaultCstr(){return op.createCstr.apply(null,op.DEFAULT_ORDER.map(function(t){return op.DEFAULT_VALUES[t]}))}static validOrder(t){const e=op.DEFAULT_ORDER.slice();return t.every(t=>{const s=e.indexOf(t);return-1!==s&&e.splice(s,1)})}constructor(t,e){const s={};for(const[e,i]of Object.entries(t))s[e]=[i];super(s,e),this.components=t}getComponents(){return this.components}getValue(t){return this.components[t]}getValues(){return this.order.map(t=>this.getValue(t))}allProperties(){const t=super.allProperties();for(let e,s,i=0;e=t[i],s=this.order[i];i++){const t=this.getValue(s);-1===e.indexOf(t)&&e.unshift(t)}return t}toString(){return this.getValues().join(".")}equal(t){const e=t.getAxes();if(this.order.length!==e.length)return!1;for(let s,i=0;s=e[i];i++){const e=this.getValue(s);if(!e||t.getValue(s)!==e)return!1}return!0}}op.DEFAULT_ORDER=[sp.LOCALE,sp.MODALITY,sp.DOMAIN,sp.STYLE,sp.TOPIC],op.BASE_LOCALE="base",op.DEFAULT_VALUE="default",op.DEFAULT_VALUES={[sp.LOCALE]:"en",[sp.DOMAIN]:op.DEFAULT_VALUE,[sp.STYLE]:op.DEFAULT_VALUE,[sp.TOPIC]:op.DEFAULT_VALUE,[sp.MODALITY]:"speech"};class ap{constructor(t){this.order=t}parse(t){const e=t.split("."),s={};if(e.length>this.order.length)throw new Error("Invalid dynamic constraint: "+s);let i=0;for(let t,n=0;t=this.order[n],e.length;n++,i++){const i=e.shift();s[t]=i}return new op(s,this.order.slice(0,i))}}class lp{constructor(t,e=new rp(t.getProperties(),t.getOrder())){this.reference=t,this.fallback=e,this.order=this.reference.getOrder()}getReference(){return this.reference}setReference(t,e){this.reference=t,this.fallback=e||new rp(t.getProperties(),t.getOrder()),this.order=this.reference.getOrder()}match(t){const e=t.getAxes();return e.length===this.reference.getAxes().length&&e.every(e=>{const s=t.getValue(e);return s===this.reference.getValue(e)||-1!==this.fallback.getProperty(e).indexOf(s)})}compare(t,e){let s=!1;for(let i,n=0;i=this.order[n];n++){const n=t.getValue(i),r=e.getValue(i);if(!s){const t=this.reference.getValue(i);if(t===n&&t!==r)return-1;if(t===r&&t!==n)return 1;if(t===n&&t===r)continue;t!==n&&t!==r&&(s=!0)}const o=this.fallback.getProperty(i),a=o.indexOf(n),l=o.indexOf(r);if(a<l)return-1;if(l<a)return 1}return 0}toString(){return this.reference.toString()+"\n"+this.fallback.toString()}}!function(t){t.SYNC="sync",t.ASYNC="async",t.HTTP="http"}(ip||(ip={})),function(t){t.PITCH="pitch",t.RATE="rate",t.VOLUME="volume",t.PAUSE="pause",t.JOIN="join",t.LAYOUT="layout"}(np||(np={}));np.PITCH,np.RATE,np.VOLUME,np.PAUSE,np.JOIN;var cp,hp;!function(t){t.NONE="none",t.SHALLOW="shallow",t.DEEP="deep"}(cp||(cp={})),function(t){t.NONE="none",t.LAYOUT="layout",t.COUNTING="counting",t.PUNCTUATION="punctuation",t.SSML="ssml",t.ACSS="acss",t.SABLE="sable",t.VOICEXML="voicexml"}(hp||(hp={}));class dp{static ensureLocale(t,e){return dp.LOCALES.get(t)?t:(console.error(`Locale ${t} does not exist! Using ${dp.LOCALES.get(e)} instead.`),e)}}dp.VERSION="5.0.0-rc.1",dp.LOCALES=new Map([["af","Afrikaans"],["ca","Catalan"],["da","Danish"],["de","German"],["en","English"],["es","Spanish"],["euro","Euro"],["fr","French"],["hi","Hindi"],["it","Italian"],["ko","Korean"],["nb","Bokm\xe5l"],["nn","Nynorsk"],["sv","Swedish"],["nemeth","Nemeth"]]),dp.mathjaxVersion="4.1.2",dp.url="https://cdn.jsdelivr.net/npm/speech-rule-engine@"+dp.VERSION+"/lib/mathmaps";var up=n(841),pp=n.t(up,2),mp=n(999),gp=n.t(mp,2);const fp=pp,bp=(new fp.DOMImplementation).createDocument("",""),Ep=(null==gp?void 0:mp.install)||window.wgxpath.install,yp=function(){const t={document:{},XPathResult:{}};return Ep(t),t.document.XPathResult=t.XPathResult,t.document}(),xp={currentDocument:bp,evaluate:yp.evaluate,result:yp.XPathResult,createNSResolver:yp.createNSResolver},Np=!("undefined"==typeof window),vp=Np&&!(void 0===window.document),Tp=!("undefined"==typeof DedicatedWorkerGlobalScope),Cp=()=>{var t;return"undefined"!=typeof require||"undefined"!=typeof process&&null!=(null===(t=process.versions)||void 0===t?void 0:t.node)&&"undefined"!=typeof require?require:t=>null},Ap={extRequire:t=>"undefined"!=typeof process&&"undefined"!=typeof require?Cp()(t):null,windowSupported:Np,documentSupported:vp,webworker:Tp,xmldom:fp,document:bp,fs:vp||Tp?null:Cp()("fs"),url:dp.url,jsonPath:function(){if(vp||Tp)return dp.url;if(process.env.SRE_JSON_PATH||n.g.SRE_JSON_PATH)return process.env.SRE_JSON_PATH||n.g.SRE_JSON_PATH;try{return Cp().resolve("speech-rule-engine").replace(/sre\.js$/,"")+"mathmaps"}catch(t){}try{return Cp().resolve(".").replace(/sre\.js$/,"")+"mathmaps"}catch(t){}return"undefined"!=typeof __dirname?__dirname+(__dirname.match(/lib?$/)?"/mathmaps":"/lib/mathmaps"):process.cwd()+"/lib/mathmaps"}(),xpath:xp};function Lp(t){return t.match("/$")?t:t+"/"}class Sp{static getInstance(){return Sp.instance=Sp.instance||new Sp,Sp.instance}init(t){return t&&this.startDebugFile_(t),this.isActive_=!0,this.fileHandle}output(...t){this.isActive_&&this.output_(t)}generate(t){this.isActive_&&this.output_(t.apply(t,[]))}exit(t=()=>{}){this.stream_&&this.fileHandle.then(()=>{this.isActive_&&this.stream_&&(this.stream_.end("","",t),this.stream_=null)}),this.isActive_=!1}constructor(){this.isActive_=!1,this.fileHandle=Promise.resolve(),this.stream_=null}startDebugFile_(t){this.fileHandle=Ap.fs.promises.open(t,"w"),this.fileHandle=this.fileHandle.then(e=>{this.stream_=e.createWriteStream(t),this.outputFunction=function(...t){this.stream_.write(t.join(" ")),this.stream_.write("\n")}.bind(this),this.stream_.on("error",function(t){console.info("Invalid log file. Debug information sent to console."),this.outputFunction=console.info}.bind(this)),this.stream_.on("finish",function(){console.info("Finalizing debug file.")})})}output_(t){this.stream_?this.fileHandle.then(()=>this.outputFunction.apply(this.outputFunction,["Speech Rule Engine Debugger:"].concat(t))):console.info(...["Speech Rule Engine Debugger:"].concat(t))}}class Rp{constructor(t={}){this.delay=!1,this.domain="clearspeak",this.style=op.DEFAULT_VALUES[sp.STYLE],this.locale=op.DEFAULT_VALUES[sp.LOCALE],this.subiso="",this.modality=op.DEFAULT_VALUES[sp.MODALITY],this.speech=cp.NONE,this.markup=hp.NONE,this.mark=!0,this.automark=!1,this.character=!0,this.cleanpause=!0,this.cayleyshort=!0,this.linebreaks=!1,this.rate="100",this.walker="Table",this.structure=!1,this.aria=!1,this.tree=!1,this.strict=!1,this.pprint=!1,this.rules="",this.prune="",this.set(t)}set(t){this.ensureDomain(t);for(const[e,s]of Object.entries(t))(Rp.BINARY_FEATURES.includes(e)||Rp.STRING_FEATURES.includes(e))&&(this[e]=s)}json(){const t={};return[].concat(Rp.STRING_FEATURES,Rp.BINARY_FEATURES).forEach(e=>t[e]=this[e]),t}ensureDomain(t){if(t.modality&&"speech"!==t.modality||!t.modality&&"speech"!==this.modality)return;if(!t.domain&&!t.locale)return;if("default"===t.domain)return void(t.domain="mathspeak");const e=t.locale||this.locale,s=t.domain||this.domain;-1===Ip.indexOf(e)||"mathspeak"===s?"en"!==e?"mathspeak"!==s&&"clearspeak"!==s&&(t.domain="mathspeak"):-1===wp.indexOf(s)&&(t.domain="mathspeak"):t.domain="mathspeak"}}Rp.BINARY_FEATURES=["automark","mark","character","cleanpause","strict","structure","aria","pprint","cayleyshort","linebreaks","tree"],Rp.STRING_FEATURES=["markup","style","domain","speech","walker","locale","delay","modality","rate","rules","subiso","prune"];const Ip=["ca","da","es"],wp=["chromevox","clearspeak","mathspeak","emacspeak","html"];class Mp extends Error{constructor(t=""){super(),this.message=t,this.name="SRE Error"}}class Op{set defaultLocale(t){this._defaultLocale=dp.ensureLocale(t,this._defaultLocale)}get defaultLocale(){return this._defaultLocale}static getInstance(){return Op.instance=Op.instance||new Op,Op.instance}static defaultEvaluator(t,e){return t}static evaluateNode(t){return Op.nodeEvaluator(t)}getRate(){const t=parseInt(this.options.rate,10);return isNaN(t)?100:t}setDynamicCstr(t){if(this.defaultLocale&&(op.DEFAULT_VALUES[sp.LOCALE]=this.defaultLocale),t){const e=Object.keys(t);for(let s=0;s<e.length;s++){const i=e[s];if(-1!==op.DEFAULT_ORDER.indexOf(i)){const e=t[i];this.options[i]=e}}}const e=[this.options.locale,this.options.modality,this.options.domain,this.options.style].join("."),s=rp.createProp([op.DEFAULT_VALUES[sp.LOCALE]],[op.DEFAULT_VALUES[sp.MODALITY]],[op.DEFAULT_VALUES[sp.DOMAIN]],[op.DEFAULT_VALUES[sp.STYLE]]),i=this.comparators[this.options.domain],n=this.parsers[this.options.domain];this.parser=n||this.defaultParser,this.dynamicCstr=this.parser.parse(e),this.dynamicCstr.updateProperties(s.getProperties()),this.comparator=i?i():new lp(this.dynamicCstr)}constructor(){this.options=new Rp,this.config=!1,this.customLoader=null,this.parsers={},this.comparator=null,this.mode=ip.SYNC,this.init=!0,this.comparators={},this._defaultLocale=op.DEFAULT_VALUES[sp.LOCALE],this.options.locale=this.defaultLocale,this.evaluator=Op.defaultEvaluator,this.defaultParser=new ap(op.DEFAULT_ORDER),this.parser=this.defaultParser,this.dynamicCstr=op.defaultCstr()}configurate(t){this.mode!==ip.HTTP||Ap.webworker||this.config||(!function(t){const e=document.documentElement.querySelectorAll('script[type="text/x-sre-config"]');for(let s=0,i=e.length;s<i;s++){let i;try{i=e[s].innerHTML;const n=JSON.parse(i);for(const[e,s]of Object.entries(n))t[e]=s}catch(t){Sp.getInstance().output("Illegal configuration ",i)}}}(t),this.config=!0),function(t){if("undefined"!=typeof SREfeature)for(const[e,s]of Object.entries(SREfeature))t[e]=s}(t)}setCustomLoader(t){t&&(this.customLoader=t)}setup(t){void 0!==t.mode&&(this.mode=t.mode),this.configurate(t),this.options.set(t),t.json&&(Ap.jsonPath=Lp(t.json)),this.setCustomLoader(t.custom)}json(){return Object.assign({mode:this.mode},this.options.json())}reset(){this.options=new Rp}}Op.nodeEvaluator=function(t){return[]};class kp{static get(t=Op.getInstance().options.locale){return kp.promises[t]||Promise.resolve("")}static getall(){return Promise.all(Object.values(kp.promises))}}kp.loaded={},kp.promises={};const Dp=Ap.xpath,Pp={xhtml:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",mml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};function Bp(t){return Pp[t]||null}class Fp{constructor(){this.lookupNamespaceURI=Bp}}function jp(t,e,s){return Dp.evaluate(t,e,new Fp,s,null)}var _p;function Up(t){const e=[];for(let s=0,i=t.length;s<i;s++)e.push(t[s]);return e}function Hp(t){const e=new Ap.xmldom.DOMParser,s=function(t){return(t=t.replace(/ /g,"\xa0")).replace(/>[ \f\n\r\t\v\u200b]+</g,"><").trim()}(t),i=!!s.match(/&(?!lt|gt|amp|quot|apos)\w+;/g);if(!s)throw new Mp("Empty input!");try{const t=e.parseFromString(s,i?"text/html":"text/xml");return Op.getInstance().mode===ip.HTTP?(Dp.currentDocument=t,i?t.body.childNodes[0]:t.documentElement):t.documentElement}catch(t){throw new Mp("Illegal input: "+t.message)}}function Wp(t,e){t.parentNode&&(t.parentNode.insertBefore(e,t),t.parentNode.removeChild(t))}function qp(t){return Ap.document.createElement(t)}function Vp(t){let e="",s=/(>)(<)(\/*)/g,i=0,n=(t=t.replace(s,"$1\r\n$2$3")).split("\r\n");for(s=/(\.)*(<)(\/*)/g,n=n.map(t=>t.replace(s,"$1\r\n$2$3").split("\r\n")).reduce((t,e)=>t.concat(e),[]);n.length;){let t=n.shift();if(!t)continue;let s=0;if(t.match(/^<\w[^>/]*>[^>]+$/)){const e=Gp(t,n[0]);e[0]?e[1]?(t+=n.shift().slice(0,-e[1].length),e[1].trim()&&n.unshift(e[1])):t+=n.shift():s=1}else if(t.match(/^<\/\w/))0!==i&&(i-=1);else if(t.match(/^<\w[^>]*[^/]>.*$/))s=1;else if(t.match(/^<\w[^>]*\/>.+$/)){const e=t.indexOf(">")+1,s=t.slice(e);s.trim()&&n.unshift(),t=t.slice(0,e)+s}else s=0;e+=new Array(i+1).join(" ")+t+"\r\n",i+=s}return e}function Gp(t,e){if(!e)return[!1,""];const s=t.match(/^<([^> ]+).*>/),i=e.match(/^<\/([^>]+)>(.*)/);return s&&i&&s[1]===i[1]?[!0,i[2]]:[!1,""]}function Xp(t){return t.tagName.toUpperCase()}function zp(t){return(new Ap.xmldom.XMLSerializer).serializeToString(t)}!function(t){t[t.ELEMENT_NODE=1]="ELEMENT_NODE",t[t.ATTRIBUTE_NODE=2]="ATTRIBUTE_NODE",t[t.TEXT_NODE=3]="TEXT_NODE",t[t.CDATA_SECTION_NODE=4]="CDATA_SECTION_NODE",t[t.ENTITY_REFERENCE_NODE=5]="ENTITY_REFERENCE_NODE",t[t.ENTITY_NODE=6]="ENTITY_NODE",t[t.PROCESSING_INSTRUCTION_NODE=7]="PROCESSING_INSTRUCTION_NODE",t[t.COMMENT_NODE=8]="COMMENT_NODE",t[t.DOCUMENT_NODE=9]="DOCUMENT_NODE",t[t.DOCUMENT_TYPE_NODE=10]="DOCUMENT_TYPE_NODE",t[t.DOCUMENT_FRAGMENT_NODE=11]="DOCUMENT_FRAGMENT_NODE",t[t.NOTATION_NODE=12]="NOTATION_NODE"}(_p||(_p={}));class Kp{constructor(t,e,s){this.domain=t,this.name=e,this.func=s,this.active=!1}annotate(t){t.childNodes.forEach(this.annotate.bind(this)),t.contentNodes.forEach(this.annotate.bind(this)),t.addAnnotation(this.domain,this.func(t))}}class $p{constructor(t,e,s,i={}){this.domain=t,this.name=e,this.func=s,this.def=i,this.active=!1}visit(t,e){let s=this.func(t,e);t.addAnnotation(this.domain,s[0]);for(let e,i=0;e=t.childNodes[i];i++)s=this.visit(e,s[1]);for(let e,i=0;e=t.contentNodes[i];i++)s=this.visit(e,s[1]);return s}}const Jp=new Map,Yp=new Map;function Qp(t){const e=t.domain+":"+t.name;t instanceof Kp?Jp.set(e,t):Yp.set(e,t)}function Zp(t,e){const s=t+":"+e,i=Jp.get(s)||Yp.get(s);i&&(i.active=!0)}var tm,em,sm;function im(t){const e=t.toString(16).toUpperCase();return e.length>3?e:("000"+e).slice(-4)}function nm([t,e],s){const i=parseInt(t,16),n=parseInt(e,16),r=[];for(let t=i;t<=n;t++){let e=im(t);!1!==s[e]&&(e=s[e]||e,r.push(e))}return r}function rm(t,e={}){return nm(t,e).map(t=>String.fromCodePoint(parseInt(t,16)))}!function(t){t.BOLD="bold",t.BOLDFRAKTUR="bold-fraktur",t.BOLDITALIC="bold-italic",t.BOLDSCRIPT="bold-script",t.DOUBLESTRUCK="double-struck",t.DOUBLESTRUCKITALIC="double-struck-italic",t.FULLWIDTH="fullwidth",t.FRAKTUR="fraktur",t.ITALIC="italic",t.MONOSPACE="monospace",t.NORMAL="normal",t.SCRIPT="script",t.SANSSERIF="sans-serif",t.SANSSERIFITALIC="sans-serif-italic",t.SANSSERIFBOLD="sans-serif-bold",t.SANSSERIFBOLDITALIC="sans-serif-bold-italic"}(tm||(tm={})),function(t){t.SUPER="super",t.SUB="sub",t.CIRCLED="circled",t.PARENTHESIZED="parenthesized",t.PERIOD="period",t.NEGATIVECIRCLED="negative-circled",t.DOUBLECIRCLED="double-circled",t.CIRCLEDSANSSERIF="circled-sans-serif",t.NEGATIVECIRCLEDSANSSERIF="negative-circled-sans-serif",t.COMMA="comma",t.SQUARED="squared",t.NEGATIVESQUARED="negative-squared"}(em||(em={})),function(t){t.LATINCAP="latinCap",t.LATINSMALL="latinSmall",t.GREEKCAP="greekCap",t.GREEKSMALL="greekSmall",t.DIGIT="digit"}(sm||(sm={}));const om=[{interval:["1D400","1D419"],base:sm.LATINCAP,subst:{},capital:!0,category:"Lu",font:tm.BOLD},{interval:["1D41A","1D433"],base:sm.LATINSMALL,subst:{},capital:!1,category:"Ll",font:tm.BOLD},{interval:["1D56C","1D585"],base:sm.LATINCAP,subst:{},capital:!0,category:"Lu",font:tm.BOLDFRAKTUR},{interval:["1D586","1D59F"],base:sm.LATINSMALL,subst:{},capital:!1,category:"Ll",font:tm.BOLDFRAKTUR},{interval:["1D468","1D481"],base:sm.LATINCAP,subst:{},capital:!0,category:"Lu",font:tm.BOLDITALIC},{interval:["1D482","1D49B"],base:sm.LATINSMALL,subst:{},capital:!1,category:"Ll",font:tm.BOLDITALIC},{interval:["1D4D0","1D4E9"],base:sm.LATINCAP,subst:{},capital:!0,category:"Lu",font:tm.BOLDSCRIPT},{interval:["1D4EA","1D503"],base:sm.LATINSMALL,subst:{},capital:!1,category:"Ll",font:tm.BOLDSCRIPT},{interval:["1D538","1D551"],base:sm.LATINCAP,subst:{"1D53A":"2102","1D53F":"210D","1D545":"2115","1D547":"2119","1D548":"211A","1D549":"211D","1D551":"2124"},capital:!0,category:"Lu",font:tm.DOUBLESTRUCK},{interval:["1D552","1D56B"],base:sm.LATINSMALL,subst:{},capital:!1,category:"Ll",font:tm.DOUBLESTRUCK},{interval:["1D504","1D51D"],base:sm.LATINCAP,subst:{"1D506":"212D","1D50B":"210C","1D50C":"2111","1D515":"211C","1D51D":"2128"},capital:!0,category:"Lu",font:tm.FRAKTUR},{interval:["1D51E","1D537"],base:sm.LATINSMALL,subst:{},capital:!1,category:"Ll",font:tm.FRAKTUR},{interval:["FF21","FF3A"],base:sm.LATINCAP,subst:{},capital:!0,category:"Lu",font:tm.FULLWIDTH},{interval:["FF41","FF5A"],base:sm.LATINSMALL,subst:{},capital:!1,category:"Ll",font:tm.FULLWIDTH},{interval:["1D434","1D44D"],base:sm.LATINCAP,subst:{},capital:!0,category:"Lu",font:tm.ITALIC},{interval:["1D44E","1D467"],base:sm.LATINSMALL,subst:{"1D455":"210E"},capital:!1,category:"Ll",font:tm.ITALIC},{interval:["1D670","1D689"],base:sm.LATINCAP,subst:{},capital:!0,category:"Lu",font:tm.MONOSPACE},{interval:["1D68A","1D6A3"],base:sm.LATINSMALL,subst:{},capital:!1,category:"Ll",font:tm.MONOSPACE},{interval:["0041","005A"],base:sm.LATINCAP,subst:{},capital:!0,category:"Lu",font:tm.NORMAL},{interval:["0061","007A"],base:sm.LATINSMALL,subst:{},capital:!1,category:"Ll",font:tm.NORMAL},{interval:["1D49C","1D4B5"],base:sm.LATINCAP,subst:{"1D49D":"212C","1D4A0":"2130","1D4A1":"2131","1D4A3":"210B","1D4A4":"2110","1D4A7":"2112","1D4A8":"2133","1D4AD":"211B"},capital:!0,category:"Lu",font:tm.SCRIPT},{interval:["1D4B6","1D4CF"],base:sm.LATINSMALL,subst:{"1D4BA":"212F","1D4BC":"210A","1D4C4":"2134"},capital:!1,category:"Ll",font:tm.SCRIPT},{interval:["1D5A0","1D5B9"],base:sm.LATINCAP,subst:{},capital:!0,category:"Lu",font:tm.SANSSERIF},{interval:["1D5BA","1D5D3"],base:sm.LATINSMALL,subst:{},capital:!1,category:"Ll",font:tm.SANSSERIF},{interval:["1D608","1D621"],base:sm.LATINCAP,subst:{},capital:!0,category:"Lu",font:tm.SANSSERIFITALIC},{interval:["1D622","1D63B"],base:sm.LATINSMALL,subst:{},capital:!1,category:"Ll",font:tm.SANSSERIFITALIC},{interval:["1D5D4","1D5ED"],base:sm.LATINCAP,subst:{},capital:!0,category:"Lu",font:tm.SANSSERIFBOLD},{interval:["1D5EE","1D607"],base:sm.LATINSMALL,subst:{},capital:!1,category:"Ll",font:tm.SANSSERIFBOLD},{interval:["1D63C","1D655"],base:sm.LATINCAP,subst:{},capital:!0,category:"Lu",font:tm.SANSSERIFBOLDITALIC},{interval:["1D656","1D66F"],base:sm.LATINSMALL,subst:{},capital:!1,category:"Ll",font:tm.SANSSERIFBOLDITALIC},{interval:["0391","03A9"],base:sm.GREEKCAP,subst:{"03A2":"03F4"},capital:!0,category:"Lu",font:tm.NORMAL},{interval:["03B0","03D0"],base:sm.GREEKSMALL,subst:{"03B0":"2207","03CA":"2202","03CB":"03F5","03CC":"03D1","03CD":"03F0","03CE":"03D5","03CF":"03F1","03D0":"03D6"},capital:!1,category:"Ll",font:tm.NORMAL},{interval:["1D6A8","1D6C0"],base:sm.GREEKCAP,subst:{},capital:!0,category:"Lu",font:tm.BOLD},{interval:["1D6C1","1D6E1"],base:sm.GREEKSMALL,subst:{},capital:!1,category:"Ll",font:tm.BOLD},{interval:["1D6E2","1D6FA"],base:sm.GREEKCAP,subst:{},capital:!0,category:"Lu",font:tm.ITALIC},{interval:["1D6FB","1D71B"],base:sm.GREEKSMALL,subst:{},capital:!1,category:"Ll",font:tm.ITALIC},{interval:["1D71C","1D734"],base:sm.GREEKCAP,subst:{},capital:!0,category:"Lu",font:tm.BOLDITALIC},{interval:["1D735","1D755"],base:sm.GREEKSMALL,subst:{},capital:!1,category:"Ll",font:tm.BOLDITALIC},{interval:["1D756","1D76E"],base:sm.GREEKCAP,subst:{},capital:!0,category:"Lu",font:tm.SANSSERIFBOLD},{interval:["1D76F","1D78F"],base:sm.GREEKSMALL,subst:{},capital:!1,category:"Ll",font:tm.SANSSERIFBOLD},{interval:["1D790","1D7A8"],base:sm.GREEKCAP,subst:{},capital:!0,category:"Lu",font:tm.SANSSERIFBOLDITALIC},{interval:["1D7A9","1D7C9"],base:sm.GREEKSMALL,subst:{},capital:!1,category:"Ll",font:tm.SANSSERIFBOLDITALIC},{interval:["0030","0039"],base:sm.DIGIT,subst:{},offset:0,category:"Nd",font:tm.NORMAL},{interval:["2070","2079"],base:sm.DIGIT,subst:{2071:"00B9",2072:"00B2",2073:"00B3"},offset:0,category:"No",font:em.SUPER},{interval:["2080","2089"],base:sm.DIGIT,subst:{},offset:0,category:"No",font:em.SUB},{interval:["245F","2473"],base:sm.DIGIT,subst:{"245F":"24EA"},offset:0,category:"No",font:em.CIRCLED},{interval:["3251","325F"],base:sm.DIGIT,subst:{},offset:21,category:"No",font:em.CIRCLED},{interval:["32B1","32BF"],base:sm.DIGIT,subst:{},offset:36,category:"No",font:em.CIRCLED},{interval:["2474","2487"],base:sm.DIGIT,subst:{},offset:1,category:"No",font:em.PARENTHESIZED},{interval:["2487","249B"],base:sm.DIGIT,subst:{2487:"1F100"},offset:0,category:"No",font:em.PERIOD},{interval:["2775","277F"],base:sm.DIGIT,subst:{2775:"24FF"},offset:0,category:"No",font:em.NEGATIVECIRCLED},{interval:["24EB","24F4"],base:sm.DIGIT,subst:{},offset:11,category:"No",font:em.NEGATIVECIRCLED},{interval:["24F5","24FE"],base:sm.DIGIT,subst:{},offset:1,category:"No",font:em.DOUBLECIRCLED},{interval:["277F","2789"],base:sm.DIGIT,subst:{"277F":"1F10B"},offset:0,category:"No",font:em.CIRCLEDSANSSERIF},{interval:["2789","2793"],base:sm.DIGIT,subst:{2789:"1F10C"},offset:0,category:"No",font:em.NEGATIVECIRCLEDSANSSERIF},{interval:["FF10","FF19"],base:sm.DIGIT,subst:{},offset:0,category:"Nd",font:tm.FULLWIDTH},{interval:["1D7CE","1D7D7"],base:sm.DIGIT,subst:{},offset:0,category:"Nd",font:tm.BOLD},{interval:["1D7D8","1D7E1"],base:sm.DIGIT,subst:{},offset:0,category:"Nd",font:tm.DOUBLESTRUCK},{interval:["1D7E2","1D7EB"],base:sm.DIGIT,subst:{},offset:0,category:"Nd",font:tm.SANSSERIF},{interval:["1D7EC","1D7F5"],base:sm.DIGIT,subst:{},offset:0,category:"Nd",font:tm.SANSSERIFBOLD},{interval:["1D7F6","1D7FF"],base:sm.DIGIT,subst:{},offset:0,category:"Nd",font:tm.MONOSPACE},{interval:["1F101","1F10A"],base:sm.DIGIT,subst:{},offset:0,category:"No",font:em.COMMA},{interval:["24B6","24CF"],base:sm.LATINCAP,subst:{},capital:!0,category:"So",font:em.CIRCLED},{interval:["24D0","24E9"],base:sm.LATINSMALL,subst:{},capital:!1,category:"So",font:em.CIRCLED},{interval:["1F110","1F129"],base:sm.LATINCAP,subst:{},capital:!0,category:"So",font:em.PARENTHESIZED},{interval:["249C","24B5"],base:sm.LATINSMALL,subst:{},capital:!1,category:"So",font:em.PARENTHESIZED},{interval:["1F130","1F149"],base:sm.LATINCAP,subst:{},capital:!0,category:"So",font:em.SQUARED},{interval:["1F170","1F189"],base:sm.LATINCAP,subst:{},capital:!0,category:"So",font:em.NEGATIVESQUARED},{interval:["1F150","1F169"],base:sm.LATINCAP,subst:{},capital:!0,category:"So",font:em.NEGATIVECIRCLED}],am=new Map;function lm(t,e){return t+e.split("-").map(t=>t[0].toUpperCase()+t.slice(1)).join("")}for(const t of om){const e=lm(t.base,t.font),s=rm(t.interval,t.subst);let i=am.get(e);i?i.unicode=i.unicode.concat(s):(i=t,i.unicode=s,am.set(e,i))}var cm;!function(t){t.PUNCTUATION="punctuation",t.FENCE="fence",t.NUMBER="number",t.IDENTIFIER="identifier",t.TEXT="text",t.OPERATOR="operator",t.RELATION="relation",t.LARGEOP="largeop",t.FUNCTION="function",t.ACCENT="accent",t.FENCED="fenced",t.FRACTION="fraction",t.PUNCTUATED="punctuated",t.RELSEQ="relseq",t.MULTIREL="multirel",t.INFIXOP="infixop",t.PREFIXOP="prefixop",t.POSTFIXOP="postfixop",t.APPL="appl",t.INTEGRAL="integral",t.BIGOP="bigop",t.SQRT="sqrt",t.ROOT="root",t.LIMUPPER="limupper",t.LIMLOWER="limlower",t.LIMBOTH="limboth",t.SUBSCRIPT="subscript",t.SUPERSCRIPT="superscript",t.UNDERSCORE="underscore",t.OVERSCORE="overscore",t.TENSOR="tensor",t.TABLE="table",t.MULTILINE="multiline",t.MATRIX="matrix",t.VECTOR="vector",t.CASES="cases",t.ROW="row",t.LINE="line",t.CELL="cell",t.ENCLOSE="enclose",t.INFERENCE="inference",t.RULELABEL="rulelabel",t.CONCLUSION="conclusion",t.PREMISES="premises",t.UNKNOWN="unknown",t.EMPTY="empty"}(cm||(cm={}));const hm=Object.assign({},cm);var dm;!function(t){t.COMMA="comma",t.SEMICOLON="semicolon",t.ELLIPSIS="ellipsis",t.FULLSTOP="fullstop",t.QUESTION="question",t.EXCLAMATION="exclamation",t.QUOTES="quotes",t.DASH="dash",t.TILDE="tilde",t.PRIME="prime",t.DEGREE="degree",t.VBAR="vbar",t.COLON="colon",t.OPENFENCE="openfence",t.CLOSEFENCE="closefence",t.APPLICATION="application",t.DUMMY="dummy",t.UNIT="unit",t.LABEL="label",t.OPEN="open",t.CLOSE="close",t.TOP="top",t.BOTTOM="bottom",t.NEUTRAL="neutral",t.METRIC="metric",t.LATINLETTER="latinletter",t.GREEKLETTER="greekletter",t.OTHERLETTER="otherletter",t.NUMBERSET="numbersetletter",t.INTEGER="integer",t.FLOAT="float",t.OTHERNUMBER="othernumber",t.INFTY="infty",t.MIXED="mixed",t.MULTIACCENT="multiaccent",t.OVERACCENT="overaccent",t.UNDERACCENT="underaccent",t.UNDEROVER="underover",t.SUBSUP="subsup",t.LEFTSUB="leftsub",t.LEFTSUPER="leftsuper",t.RIGHTSUB="rightsub",t.RIGHTSUPER="rightsuper",t.LEFTRIGHT="leftright",t.ABOVEBELOW="abovebelow",t.INTERVAL="interval",t.SETEMPTY="set empty",t.SETEXT="set extended",t.SETSINGLE="set singleton",t.SETCOLLECT="set collection",t.STRING="string",t.SPACE="space",t.ANNOTATION="annotation",t.TEXT="text",t.SEQUENCE="sequence",t.ENDPUNCT="endpunct",t.STARTPUNCT="startpunct",t.NEGATIVE="negative",t.POSITIVE="positive",t.NEGATION="negation",t.MULTIOP="multiop",t.PREFIXOP="prefix operator",t.POSTFIXOP="postfix operator",t.LIMFUNC="limit function",t.INFIXFUNC="infix function",t.PREFIXFUNC="prefix function",t.POSTFIXFUNC="postfix function",t.SIMPLEFUNC="simple function",t.COMPFUNC="composed function",t.SUM="sum",t.INTEGRAL="integral",t.GEOMETRY="geometry",t.BOX="box",t.BLOCK="block",t.ADDITION="addition",t.MULTIPLICATION="multiplication",t.SUBTRACTION="subtraction",t.IMPLICIT="implicit",t.DIVISION="division",t.VULGAR="vulgar",t.EQUALITY="equality",t.INEQUALITY="inequality",t.ARROW="arrow",t.ELEMENT="element",t.NONELEMENT="nonelement",t.REELEMENT="reelement",t.RENONELEMENT="renonelement",t.SET="set",t.DETERMINANT="determinant",t.ROWVECTOR="rowvector",t.BINOMIAL="binomial",t.SQUAREMATRIX="squarematrix",t.CYCLE="cycle",t.MULTILINE="multiline",t.MATRIX="matrix",t.VECTOR="vector",t.CASES="cases",t.TABLE="table",t.CAYLEY="cayley",t.PROOF="proof",t.LEFT="left",t.RIGHT="right",t.UP="up",t.DOWN="down",t.FINAL="final",t.SINGLE="single",t.HYP="hyp",t.AXIOM="axiom",t.LOGIC="logic",t.UNKNOWN="unknown",t.MGLYPH="mglyph"}(dm||(dm={}));const um=Object.assign({},dm);var pm;!function(t){t.CALIGRAPHIC="caligraphic",t.CALIGRAPHICBOLD="caligraphic-bold",t.OLDSTYLE="oldstyle",t.OLDSTYLEBOLD="oldstyle-bold",t.UNKNOWN="unknown"}(pm||(pm={}));const mm=Object.assign(Object.assign(Object.assign({},tm),pm),em);var gm;!function(t){t.ALLLETTERS="allLetters",t.D="d",t.BAR="bar",t.TILDE="tilde",t.CURLY="curly",t.PAREN="paren",t.BRACKET="bracket",t.FLOOR="floor",t.CEIL="ceil"}(gm||(gm={}));const fm=Object.assign(Object.assign({},sm),gm);var bm=function(t,e){var s={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.indexOf(i)<0&&(s[i]=t[i]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(i=Object.getOwnPropertySymbols(t);n<i.length;n++)e.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(t,i[n])&&(s[i[n]]=t[i[n]])}return s};const Em={functionApplication:String.fromCodePoint(8289),invisibleTimes:String.fromCodePoint(8290),invisibleComma:String.fromCodePoint(8291),invisiblePlus:String.fromCodePoint(8292)};class ym extends Map{get(t){return super.get(t)||{role:um.UNKNOWN,type:hm.UNKNOWN,font:mm.UNKNOWN}}}class xm extends Map{set(t,e,s=""){return super.set(this.secKey(e,t),s||e),this}has(t,e){return super.has(this.secKey(e,t))}get(t,e){return super.get(this.secKey(e,t))}secKey(t,e){return e?`${t} ${e}`:`${t}`}}const Nm={Meaning:new ym,Secondary:new xm,FencesHoriz:new Map,FencesVert:new Map,FencesSecondary:new Map,LatexCommands:new Map};function vm(t,e){for(const s of t)Nm.Meaning.set(s,{role:e.role||um.UNKNOWN,type:e.type||hm.UNKNOWN,font:e.font||mm.UNKNOWN}),e.secondary&&Nm.Secondary.set(s,e.secondary)}function Tm(t,e,s=1){const i={},n=function(t){let e=[];for(const s of t)Array.isArray(s)?e=e.concat(nm(s,{}).map(t=>parseInt(t,16))):e.push(parseInt(s,16));return e}(e);for(const e of n)i[e]||(t.set(String.fromCodePoint(e),String.fromCodePoint(e+s)),i[e]=!0,i[e+s]=!0)}const Cm=["0028","0029","207D","207E","208D","208E","2768","2769","276A","276B","27EE","27EF","FE59","FE5A","FF08","FF09"],Am=["005B","005D","2045","2046","298B","298C","298D","298E","298F","2990","FF3B","FF3D"],Lm=["007B","007D","2774","2775","FE5B","FE5C","FF5B","FF5D"],Sm=["2308","2309","2E22","2E23","300C","300E","FF62"],Rm=["230A","230B","2E24","2E25","300D","300F","FF63"];function Im(t,e){for(const s of t){const t=String.fromCodePoint(parseInt(s,16));Nm.Secondary.set(t,e),Nm.FencesSecondary.set(t,e)}}const wm=["cos","cot","csc","sec","sin","tan","arccos","arccot","arccsc","arcsec","arcsin","arctan"].concat(["cosh","coth","csch","sech","sinh","tanh","arcosh","arcoth","arcsch","arsech","arsinh","artanh"],["deg","det","dim","hom","ker","Tr"],["log","ln","lg","exp","gcd","lcm","arg","im","re","Pr"]);function Mm(t,e,s,i,n,r=[],o={},a={}){const l=am.get(lm(t,i));l&&(l.unicode.forEach(t=>{Nm.Meaning.set(t,{type:e,role:s,font:n}),r.forEach(e=>Nm.Secondary.set(t,e))}),function(t,e){for(const[s,i]of Object.entries(e)){const e=t[s];void 0!==e&&Nm.Meaning.set(e,i)}}(l.unicode,o),function(t,e){for(const[s,i]of Object.entries(e)){const e=t[s];void 0!==e&&Nm.Secondary.set(e,i)}}(l.unicode,a))}[{set:["23","26","40","5c","a1","a7","b6","bf","2017",["2022","2025"],"2027","203b","203c",["2041","2043"],["2047","2049"],["204b","204d"],"2050","2055","2056",["2058","205e"],"2234","2235","fe45","fe46","fe5f","fe60","fe68","fe6b","ff03","ff06","ff0f","ff20","ff3c"],type:hm.PUNCTUATION,role:um.UNKNOWN},{set:["22","ab","bb","2dd",["2018","201f"],"2039","203a",["301d","301f"],"fe10","ff02","ff07"],type:hm.PUNCTUATION,role:um.QUOTES},{set:["3b","204f","2a1f","2a3e","fe14","fe54","ff1b"],type:hm.PUNCTUATION,role:um.SEMICOLON},{set:["3f","203d","fe16","fe56","ff1f"],type:hm.PUNCTUATION,role:um.QUESTION},{set:["21","fe15","fe57","ff01"],type:hm.PUNCTUATION,role:um.EXCLAMATION},{set:["5e","60","a8","aa","b4","ba","2c7",["2d8","2da"],"2040","207a","207d","207e","ff3e","ff40"],type:hm.PUNCTUATION,role:um.OVERACCENT},{set:["b8","2db","2038","203f","2054","208a","208d","208e"],type:hm.PUNCTUATION,role:um.UNDERACCENT},{set:["3a","2982","fe13","fe30","fe55","ff1a"],type:hm.PUNCTUATION,role:um.COLON},{set:["2c","2063","fe50","ff0c"],type:hm.PUNCTUATION,role:um.COMMA},{set:["2026",["22ee","22f1"],"fe19"],type:hm.PUNCTUATION,role:um.ELLIPSIS},{set:["2e","fe52","ff0e"],type:hm.PUNCTUATION,role:um.FULLSTOP},{set:["2d","207b","208b","2212","2796","fe63","ff0d"],type:hm.OPERATOR,role:um.DASH,secondary:fm.BAR},{set:["5f","af",["2010","2015"],"203e","208b",["fe49","fe4f"],"fe58","ff3f","ffe3"],type:hm.PUNCTUATION,role:um.DASH,secondary:fm.BAR},{set:["7e","2dc","2f7","303","330","334","2053","223c","223d","301c","ff5e"],type:hm.OPERATOR,role:um.TILDE,secondary:fm.TILDE},{set:["27","2b9","2ba",["2032","2037"],"2057"],type:hm.PUNCTUATION,role:um.PRIME},{set:["b0"],type:hm.PUNCTUATION,role:um.DEGREE},{set:["2b","b1","2064","2213","2214","2228","222a",["228c","228e"],"2294","2295","229d","229e","22bb","22bd","22c4","22ce","22d3","2304","271b","271c","2795","27cf","29fa","29fb","29fe",["2a22","2a28"],"2a2d","2a2e","2a39","2a42","2a45","2a46","2a48","2a4a","2a4c","2a4f","2a50","2a52","2a54","2a56","2a57","2a59","2a5b","2a5d",["2a61","2a63"],"2adc","2add","fe62","ff0b"],type:hm.OPERATOR,role:um.ADDITION},{set:["2a","b7","d7","2020","2021","204e","2051","2062",["2217","2219"],"2227","2229","2240","2293","2297",["2299","229b"],"22a0","22a1","22b9","22bc",["22c5","22cc"],"22cf","22d2","22d4","2303","2305","2306","25cb","2715","2716","27ce","27d1",["29d1","29d7"],"29e2","2a1d",["2a2f","2a37"],["2a3b","2a3d"],"2a40","2a43","2a44","2a47","2a49","2a4b","2a4d","2a4e","2a51","2a53","2a55","2a58","2a5a","2a5c",["2a5e","2a60"],"2ada","2adb","fe61","ff0a"],type:hm.OPERATOR,role:um.MULTIPLICATION},{set:["2d","af","2010","2011","2052","207b","208b","2212","2216","2238","2242","2296","229f","2796","29ff",["2a29","2a2c"],"2a3a","2a41","fe63","ff0d"],type:hm.OPERATOR,role:um.SUBTRACTION},{set:["2f","f7","2044","2215","2298","2797","27cc","29bc",["29f5","29f9"],"2a38"],type:hm.OPERATOR,role:um.DIVISION},{set:["25","2030","2031","ff05","fe6a"],type:hm.OPERATOR,role:um.POSTFIXOP},{set:["ac","2200","2201","2203","2204","2206",["221a","221c"],"2310","ffe2"],type:hm.OPERATOR,role:um.PREFIXOP},{set:["2320","2321","23aa","23ae","23af","23b2","23b3","23b6","23b7"],type:hm.OPERATOR,role:um.PREFIXOP},{set:["1d7ca","1d7cb"],type:hm.OPERATOR,role:um.PREFIXOP,font:mm.BOLD},{set:["3d","7e","207c","208c","221d","2237",["223a","223f"],"2243","2245","2248",["224a","224e"],["2251","225f"],"2261","2263","229c","22cd","22d5","29e4","29e6","2a66","2a67",["2a6a","2a6c"],["2a6c","2a78"],"fe66","ff1d"],type:hm.RELATION,role:um.EQUALITY},{set:["3c","3e","2241","2242","2244","2246","2247","2249","224f","2250","2260","2262",["2264","2281"],"22b0","22b1",["22d6","22e1"],["22e6","22e9"],["2976","2978"],"29c0","29c1","29e1","29e3","29e5",["2a79","2abc"],["2af7","2afa"],"fe64","fe65","ff1c","ff1e"],type:hm.RELATION,role:um.INEQUALITY},{set:[["2282","228b"],["228f","2292"],["22b2","22b8"],"22d0","22d1",["22e2","22e5"],["22ea","22ed"],"27c3","27c4",["27c7","27c9"],["27d5","27d7"],"27dc",["2979","297b"],"29df",["2abd","2ad8"]],type:hm.RELATION,role:um.SET},{set:["2236",["27e0","27e5"],"292b","292c",["29b5","29bb"],"29be","29bf",["29c2","29d0"]],type:hm.RELATION,role:um.UNKNOWN},{set:["2205",["29b0","29b4"]],type:hm.IDENTIFIER,role:um.SETEMPTY},{set:["1ab2","221e",["29dc","29de"]],type:hm.IDENTIFIER,role:um.INFTY},{set:["22a2","22a3",["22a6","22af"],"27da","27db","27dd","27de","2ade",["2ae2","2ae6"],"2aec","2aed"],type:hm.RELATION,role:um.LOGIC},{set:["22a4","22a5","22ba","27d8","27d9","27df","2adf","2ae0",["2ae7","2aeb"],"2af1"],type:hm.IDENTIFIER,role:um.LOGIC},{set:[["2190","21ff"],"2301","2324","238b","2794",["2798","27af"],["27b1","27be"],["27f0","27ff"],["2900","292a"],["292d","2975"],["297c","297f"],["2b00","2b11"],["2b30","2b4c"],["ffe9","ffec"]],type:hm.RELATION,role:um.ARROW},{set:["2208","220a",["22f2","22f9"],"22ff","27d2","2ad9"],type:hm.OPERATOR,role:um.ELEMENT},{set:["2209"],type:hm.OPERATOR,role:um.NONELEMENT},{set:["220b","220d",["22fa","22fe"]],type:hm.OPERATOR,role:um.REELEMENT},{set:["220c"],type:hm.OPERATOR,role:um.RENONELEMENT},{set:[["220f","2211"],["22c0","22c3"],["2a00","2a0b"],"2a3f","2afc","2aff"],type:hm.LARGEOP,role:um.SUM},{set:["2140"],type:hm.LARGEOP,role:um.SUM,font:mm.DOUBLESTRUCK},{set:[["222b","2233"],["2a0c","2a17"],["2a17","2a1c"]],type:hm.LARGEOP,role:um.INTEGRAL},{set:[["2500","257F"]],type:hm.RELATION,role:um.BOX},{set:[["2580","259F"]],type:hm.IDENTIFIER,role:um.BLOCK},{set:[["25A0","25FF"],["2B12","2B2F"],["2B50","2B59"]],type:hm.RELATION,role:um.GEOMETRY},{set:["220e","2300","2302","2311","29bd","29e0",["29e8","29f3"],"2a1e","2afe","ffed","ffee"],type:hm.OPERATOR,role:um.GEOMETRY},{set:[["221f","2222"],"22be","22bf",["2312","2314"],"237c","27c0",["299b","29af"]],type:hm.OPERATOR,role:um.GEOMETRY},{set:["24",["a2","a5"],"b5","2123",["2125","2127"],"212a","212b","fe69","ff04","ffe0","ffe1","ffe5","ffe6"],type:hm.IDENTIFIER,role:um.UNKNOWN},{set:["a9","ae","210f","2114","2116","2117",["211e","2122"],"212e","2132",["2139","213b"],["2141","2144"],"214d","214e",["1f12a","1f12c"],"1f18a"],type:hm.IDENTIFIER,role:um.OTHERLETTER},{set:["2224","2226","2239","2307","27b0","27bf","27c1","27c2","27ca","27cb","27cd","27d0","27d3","27d4","2981","2999","299a","29e7","29f4","2a20","2a21","2a64","2a65","2a68","2a69","2ae1",["2aee","2af0"],"2af2","2af3","2af5","2af6","2afb","2afd"],type:hm.OPERATOR,role:um.UNKNOWN},{set:["2605","2606","26aa","26ab",["2720","274d"]],type:hm.OPERATOR,role:um.UNKNOWN},{set:[["2145","2149"]],type:hm.IDENTIFIER,role:um.LATINLETTER,font:mm.DOUBLESTRUCKITALIC,secondary:fm.ALLLETTERS},{set:[["213c","213f"]],type:hm.IDENTIFIER,role:um.GREEKLETTER,font:mm.DOUBLESTRUCK,secondary:fm.ALLLETTERS},{set:["3d0","3d7","3f6",["1d26","1d2a"],"1d5e","1d60",["1d66","1d6a"]],type:hm.IDENTIFIER,role:um.GREEKLETTER,font:mm.NORMAL,secondary:fm.ALLLETTERS},{set:[["2135","2138"]],type:hm.IDENTIFIER,role:um.OTHERLETTER,font:mm.NORMAL,secondary:fm.ALLLETTERS},{set:["131","237"],type:hm.IDENTIFIER,role:um.LATINLETTER,font:mm.NORMAL},{set:["1d6a4","1d6a5"],type:hm.IDENTIFIER,role:um.LATINLETTER,font:mm.ITALIC},{set:["2113","2118"],type:hm.IDENTIFIER,role:um.LATINLETTER,font:mm.SCRIPT},{set:[["c0","d6"],["d8","f6"],["f8","1bf"],["1c4","2af"],["1d00","1d25"],["1d6b","1d9a"],["1e00","1ef9"],["363","36f"],["1dd3","1de6"],["1d62","1d65"],"1dca","2071","207f",["2090","209c"],"2c7c"],type:hm.IDENTIFIER,role:um.LATINLETTER,font:mm.NORMAL},{set:[["00bc","00be"],["2150","215f"],"2189"],type:hm.NUMBER,role:um.FLOAT},{set:["23E8",["3248","324f"]],type:hm.NUMBER,role:um.INTEGER},{set:[["214A","214C"],"2705","2713","2714","2717","2718"],type:hm.IDENTIFIER,role:um.UNKNOWN},{set:["20","a0","ad",["2000","200f"],["2028","202f"],["205f","2060"],"206a","206b","206e","206f","feff",["fff9","fffb"]],type:hm.TEXT,role:um.SPACE},{set:["7c","a6","2223","23b8","23b9","23d0","2758",["fe31","fe34"],"ff5c","ffe4","ffe8"],type:hm.FENCE,role:um.NEUTRAL},{set:["2016","2225","2980","2af4"],type:hm.FENCE,role:um.METRIC}].forEach(t=>{var{set:e}=t,s=bm(t,["set"]);return vm(function(t){let e=[];for(const s of t)Array.isArray(s)?e=e.concat(rm(s)):e.push(String.fromCodePoint(parseInt(s,16)));return e}(e),s)}),Tm(Nm.FencesVert,["23b4",["23dc","23e1"],["fe35","fe44"],"fe47"]),Tm(Nm.FencesHoriz,["28","2045","207D","208D",["2308","230f"],["231c","231f"],"2329","23b0",["2768","2775"],"27c5",["27e6","27ef"],["2983","2998"],["29d8","29db"],"29fc",["2e22","2e29"],["3008","3011"],["3014","301b"],"fd3e","fe17",["fe59","fe5e"],"ff08","ff5f","ff62"]),Tm(Nm.FencesHoriz,["5b","7b","ff3b","ff5b"],2),Tm(Nm.FencesHoriz,[["239b","23a6"]],3),Tm(Nm.FencesHoriz,[["23a7","23a9"]],4),vm([...Nm.FencesHoriz.keys()],{type:hm.FENCE,role:um.OPEN}),vm([...Nm.FencesHoriz.values()],{type:hm.FENCE,role:um.CLOSE}),vm([...Nm.FencesVert.keys()],{type:hm.FENCE,role:um.TOP}),vm([...Nm.FencesVert.values()],{type:hm.FENCE,role:um.BOTTOM}),Im(Cm,fm.PAREN),Im(Lm,fm.CURLY),Im(Am,fm.BRACKET),Im(Sm,fm.CEIL),Im(Rm,fm.FLOOR),function(){for(const[t,e]of Object.entries(mm)){const s=!!em[t]?mm.UNKNOWN:e===mm.FULLWIDTH?mm.NORMAL:e;Mm(sm.LATINCAP,hm.IDENTIFIER,um.LATINLETTER,e,s,[fm.ALLLETTERS]),Mm(sm.LATINSMALL,hm.IDENTIFIER,um.LATINLETTER,e,s,[fm.ALLLETTERS],{},{3:fm.D}),Mm(sm.GREEKCAP,hm.IDENTIFIER,um.GREEKLETTER,e,s,[fm.ALLLETTERS]),Mm(sm.GREEKSMALL,hm.IDENTIFIER,um.GREEKLETTER,e,s,[fm.ALLLETTERS],{0:{type:hm.OPERATOR,role:um.PREFIXOP,font:s},26:{type:hm.OPERATOR,role:um.PREFIXOP,font:s}}),Mm(sm.DIGIT,hm.NUMBER,um.INTEGER,e,s)}}(),vm(["inf","lim","liminf","limsup","max","min","sup","injlim","projlim"],{type:hm.FUNCTION,role:um.LIMFUNC}),vm(wm,{type:hm.FUNCTION,role:um.PREFIXFUNC}),vm(["mod","rem"],{type:hm.OPERATOR,role:um.PREFIXFUNC});const Om=[];function km(t,e){for(let s,i=0;s=Om[i];i++){const i=s.compare(t,e);if(0!==i)return i}return 0}function Dm(t){if(t.length<=1)return t;const e=t.slice();!function(t){t.sort(km)}(e);const s=[];let i;do{i=e.pop(),s.push(i)}while(i&&e.length&&0===km(e[e.length-1],i));return s}function Pm(t,e){return t.match(/^.+:.+$/)||!e?t:t+":"+e}new class{constructor(t,e=null){this.comparator=t,this.type=e,function(t){Om.push(t)}(this)}compare(t,e){return this.type&&this.type===t.type&&this.type===e.type?this.comparator(t,e):0}}(function(t,e){return t.role===um.SIMPLEFUNC?1:e.role===um.SIMPLEFUNC?-1:0},hm.IDENTIFIER);class Bm extends Map{set(t,e){return super.set(Pm(t,e.font),e),this}setNode(t){this.set(t.textContent,t.meaning())}get(t,e=null){return super.get(Pm(t,e))}getNode(t){return this.get(t.textContent,t.font)}}class Fm extends Map{add(t,e){const s=this.get(t);s?s.push(e):super.set(t,[e])}get(t,e=null){return super.get(Pm(t,e))}getNode(t){return this.get(t.textContent,t.font)}minimize(){for(const[t,e]of this)1===e.length&&this.delete(t)}isMultiValued(){for(const t of this.values())if(t.length>1)return!0;return!1}}class jm extends Fm{add(t,e){super.add(Pm(t,e.font),e)}addNode(t){this.add(t.textContent,t)}toString(){const t=[];for(const[e,s]of this){const i=Array(e.length+3).join(" "),n=s.map(t=>t.toString()).join("\n"+i);t.push(e+": "+n)}return t.join("\n")}collateMeaning(){const t=new _m;for(const[e,s]of this)t.set(e,s.map(t=>t.meaning()));return t}}class _m extends Fm{add(t,e){const s=this.get(t,e.font);s&&s.find(function(t){return i=e,(s=t).type===i.type&&s.role===i.role&&s.font===i.font;var s,i})||super.add(Pm(t,e.font),e)}addNode(t){this.add(t.textContent,t.meaning())}toString(){const t=[];for(const[e,s]of this){const i=Array(e.length+3).join(" "),n=s.map(t=>`{type: ${t.type}, role: ${t.role}, font: ${t.font}}`).join("\n"+i);t.push(e+": "+n)}return t.join("\n")}reduce(){for(const[t,e]of this)1!==e.length&&this.set(t,Dm(e))}default(){const t=new Bm;for(const[e,s]of this)1===s.length&&t.set(e,s[0]);return t}newDefault(){const t=this.default();this.reduce();const e=this.default();return t.size!==e.size?e:null}}var Um;!function(t){t.ANNOTATION="ANNOTATION",t.ANNOTATIONXML="ANNOTATION-XML",t.MACTION="MACTION",t.MALIGNGROUP="MALIGNGROUP",t.MALIGNMARK="MALIGNMARK",t.MATH="MATH",t.MENCLOSE="MENCLOSE",t.MERROR="MERROR",t.MFENCED="MFENCED",t.MFRAC="MFRAC",t.MGLYPH="MGLYPH",t.MI="MI",t.MLABELEDTR="MLABELEDTR",t.MMULTISCRIPTS="MMULTISCRIPTS",t.MN="MN",t.MO="MO",t.MOVER="MOVER",t.MPADDED="MPADDED",t.MPHANTOM="MPHANTOM",t.MPRESCRIPTS="MPRESCRIPTS",t.MROOT="MROOT",t.MROW="MROW",t.MS="MS",t.MSPACE="MSPACE",t.MSQRT="MSQRT",t.MSTYLE="MSTYLE",t.MSUB="MSUB",t.MSUBSUP="MSUBSUP",t.MSUP="MSUP",t.MTABLE="MTABLE",t.MTD="MTD",t.MTEXT="MTEXT",t.MTR="MTR",t.MUNDER="MUNDER",t.MUNDEROVER="MUNDEROVER",t.NONE="NONE",t.SEMANTICS="SEMANTICS"}(Um||(Um={}));const Hm=Object.values(Um),Wm=[Um.MO,Um.MI,Um.MN,Um.MTEXT,Um.MS,Um.MSPACE],qm=[Um.MERROR,Um.MPHANTOM,Um.MALIGNGROUP,Um.MALIGNMARK,Um.MPRESCRIPTS,Um.ANNOTATION,Um.ANNOTATIONXML],Vm=[Um.MATH,Um.MROW,Um.MPADDED,Um.MACTION,Um.NONE,Um.MSTYLE,Um.SEMANTICS],Gm=[Um.MROOT,Um.MSQRT],Xm=["aria-label","exact-speech","alt"];function zm(t){return!!t&&Xp(t)===Um.MATH}function Km(t){return!!t&&(qm.includes(Xp(t))||!Hm.includes(Xp(t)))}function $m(t){return!!t&&Vm.includes(Xp(t))}function Jm(t){return!!t&&Xp(t)===Um.MGLYPH&&!function(t){return!!t&&Wm.includes(Xp(t))}(t.parentNode)}function Ym(t){const e=[];for(let s,i=0;s=t[i];i++){if(s.nodeType!==_p.ELEMENT_NODE)continue;const t=Xp(s);qm.includes(t)||(Vm.includes(t)&&0===s.childNodes.length||e.push(s))}return e}function Qm(t,e){var s;if(null===(s=e.attributes)||void 0===s?void 0:s.length){const s=e.attributes;for(let e=s.length-1;e>=0;e--){const i=s[e].name;i.match(/^ext/)&&(t.attributes[i]=s[e].value,t.nobreaking=!0),Xm.includes(i)&&(t.attributes["ext-speech"]=s[e].value,t.nobreaking=!0),"href"===i&&(t.attributes.href=s[e].value,t.nobreaking=!0),"data-latex"!==i.toLowerCase()&&"latex"!==i.toLowerCase()||(t.attributes.latex=s[e].value),i.match(/texclass$/)&&(t.attributes.texclass=s[e].value),"color"!==i&&"mathcolor"!==i||(t.attributes.color=s[e].value)}}}function Zm(t){return t&&t.embellished&&t.childNodes.length>0?Zm(t.childNodes[0]):t}function tg(t,e,s){s&&t.reverse();const i=[];for(let n,r=0;n=t[r];r++){if(e(n))return s?{head:t.slice(r+1).reverse(),div:n,tail:i.reverse()}:{head:i,div:n,tail:t.slice(r+1)};i.push(n)}return s?{head:[],div:null,tail:i.reverse()}:{head:i,div:null,tail:[]}}function eg(t,e){let s=t;const i=[],n=[];let r=null;do{r=tg(s,e),n.push(r.head),i.push(r.div),s=r.tail}while(r.div);return i.pop(),{rel:i,comp:n}}function sg(t,e){if(t.mathmlTree)return;const s=new Set;if(e.forEach(t=>{var e;return s.add((null===(e=t.mathmlTree)||void 0===e?void 0:e.parentElement)||null)}),1===s.size&&!s.has(null)){const i=[...s][0];return $m(i)&&i.childNodes.length===e.length?void(t.mathmlTree=i):void 0}if(s.has(null)&&s.size<=2&&(s.delete(null),t.mathml.forEach(e=>{e.parentElement&&!t.mathml.includes(e)&&s.add(e.parentElement)})),1===s.size&&!s.has(null)){const e=[...s][0];if($m(e)&&Up(e.childNodes).every(e=>t.mathml.includes(e)))return void(t.mathmlTree=e)}}var ig;!function(t){t.EMBELLISHED="embellished",t.FENCEPOINTER="fencepointer",t.FONT="font",t.ID="id",t.ANNOTATION="annotation",t.ROLE="role",t.TYPE="type",t.CHILDREN="children",t.CONTENT="content",t.TEXT="$t"}(ig||(ig={}));class ng{static fromXml(t){const e=parseInt(t.getAttribute("id"),10),s=new ng(e);return s.type=t.tagName,ng.setAttribute(s,t,"role"),ng.setAttribute(s,t,"font"),ng.setAttribute(s,t,"embellished"),ng.setAttribute(s,t,"fencepointer","fencePointer"),t.getAttribute("annotation")&&s.parseAnnotation(t.getAttribute("annotation")),Qm(s,t),ng.processChildren(s,t),s}static setAttribute(t,e,s,i){i=i||s;const n=e.getAttribute(s);n&&(t[i]=n)}static processChildren(t,e){for(const s of Up(e.childNodes)){if(s.nodeType===_p.TEXT_NODE){t.textContent=s.textContent;continue}const e=Up(s.childNodes).map(ng.fromXml);e.forEach(e=>e.parent=t),"CONTENT"===Xp(s)?t.contentNodes=e:t.childNodes=e}}constructor(t){this.id=t,this.mathml=[],this.parent=null,this.type=hm.UNKNOWN,this.role=um.UNKNOWN,this.font=mm.UNKNOWN,this.embellished=null,this.fencePointer="",this.childNodes=[],this.textContent="",this.mathmlTree=null,this.contentNodes=[],this.annotation={},this.attributes={},this.nobreaking=!1,this.noupdate=!1}querySelectorAll(t){let e=[];for(let s,i=0;s=this.childNodes[i];i++)e=e.concat(s.querySelectorAll(t));for(let s,i=0;s=this.contentNodes[i];i++)e=e.concat(s.querySelectorAll(t));return t(this)&&e.unshift(this),e}xml(t,e){const s=function(s,i){const n=i.map(function(s){return s.xml(t,e)}),r=t.createElementNS("",s);for(let t,e=0;t=n[e];e++)r.appendChild(t);return r},i=t.createElementNS("",this.type);return e||this.xmlAttributes(i),i.textContent=this.textContent,this.contentNodes.length>0&&i.appendChild(s(ig.CONTENT,this.contentNodes)),this.childNodes.length>0&&i.appendChild(s(ig.CHILDREN,this.childNodes)),i}toString(t=!1){const e=Hp("<snode/>");return zp(this.xml(e.ownerDocument,t))}allAttributes(){const t=[];return t.push([ig.ROLE,this.role]),this.font!==mm.UNKNOWN&&t.push([ig.FONT,this.font]),Object.keys(this.annotation).length&&t.push([ig.ANNOTATION,this.annotationXml()]),this.embellished&&t.push([ig.EMBELLISHED,this.embellished]),this.fencePointer&&t.push([ig.FENCEPOINTER,this.fencePointer]),t.push([ig.ID,this.id.toString()]),t}annotationXml(){const t=[];for(const[e,s]of Object.entries(this.annotation))s.forEach(s=>t.push(e+":"+s));return t.join(";")}attributesXml(){const t=[];for(const[e,s]of Object.entries(this.attributes))t.push(e+":"+ng.escapeValue(s));return t.join(";")}toJson(){const t={};t[ig.TYPE]=this.type;const e=this.allAttributes();for(let s,i=0;s=e[i];i++)t[s[0]]=s[1].toString();return this.textContent&&(t[ig.TEXT]=this.textContent),this.childNodes.length&&(t[ig.CHILDREN]=this.childNodes.map(function(t){return t.toJson()})),this.contentNodes.length&&(t[ig.CONTENT]=this.contentNodes.map(function(t){return t.toJson()})),t}updateContent(t,e){const s=e?t.replace(/^[ \f\n\r\t\v\u200b]*/,"").replace(/[ \f\n\r\t\v\u200b]*$/,""):t.trim();if(t=t&&!s?t:s,this.textContent===t)return;const i=Nm.Meaning.get(t.replace(/\s/g," "));this.textContent=t,this.role=i.role,this.type=i.type,this.font=i.font}addMathmlNodes(t){for(let e,s=0;e=t[s];s++)-1===this.mathml.indexOf(e)&&this.mathml.push(e)}appendChild(t){this.childNodes.push(t),this.addMathmlNodes(t.mathml),t.parent=this}replaceChild(t,e){const s=this.childNodes.indexOf(t);if(-1===s)return;t.parent=null,e.parent=this,this.childNodes[s]=e;const i=t.mathml.filter(function(t){return-1===e.mathml.indexOf(t)}),n=e.mathml.filter(function(e){return-1===t.mathml.indexOf(e)});this.removeMathmlNodes(i),this.addMathmlNodes(n)}appendContentNode(t){t&&(this.contentNodes.push(t),this.addMathmlNodes(t.mathml),t.parent=this)}removeContentNode(t){if(t){const e=this.contentNodes.indexOf(t);-1!==e&&this.contentNodes.slice(e,1)}}equals(t){if(!t)return!1;if(this.type!==t.type||this.role!==t.role||this.textContent!==t.textContent||this.childNodes.length!==t.childNodes.length||this.contentNodes.length!==t.contentNodes.length)return!1;for(let e,s,i=0;e=this.childNodes[i],s=t.childNodes[i];i++)if(!e.equals(s))return!1;for(let e,s,i=0;e=this.contentNodes[i],s=t.contentNodes[i];i++)if(!e.equals(s))return!1;return!0}displayTree(){console.info(this.displayTree_(0))}addAnnotation(t,e){e&&this.addAnnotation_(t,e)}getAnnotation(t){const e=this.annotation[t];return e||[]}hasAnnotation(t,e){const s=this.annotation[t];return!!s&&-1!==s.indexOf(e)}parseAnnotation(t){const e=t.split(";");for(let t=0,s=e.length;t<s;t++){const s=e[t].split(":");this.addAnnotation(s[0],s[1])}}meaning(){return{type:this.type,role:this.role,font:this.font}}xmlAttributes(t){const e=this.allAttributes();for(let s,i=0;s=e[i];i++)t.setAttribute(s[0],s[1]);this.addExternalAttributes(t)}addExternalAttributes(t){for(const[e,s]of Object.entries(this.attributes))t.setAttribute(e,s)}static escapeValue(t){return t.replace(/;/g,"\\0003B")}parseAttributes(t){if(!t)return;const e=t.split(";");for(let t=0,s=e.length;t<s;t++){const[s,...i]=e[t].split(":");s&&(this.attributes[s]=i.join("").replace(/\\0003B/g,";"))}}removeMathmlNodes(t){const e=this.mathml;for(let s,i=0;s=t[i];i++){const t=e.indexOf(s);-1!==t&&e.splice(t,1)}this.mathml=e}displayTree_(t){t++;const e=Array(t).join(" ");let s="";s+="\n"+e+this.toString(),s+="\n"+e+"MathmlTree:",s+="\n"+e+this.mathmlTreeString(),s+="\n"+e+"MathML:";for(let t,i=0;t=this.mathml[i];i++)s+="\n"+e+t.toString();return s+="\n"+e+"Begin Content",this.contentNodes.forEach(function(e){s+=e.displayTree_(t)}),s+="\n"+e+"End Content",s+="\n"+e+"Begin Children",this.childNodes.forEach(function(e){s+=e.displayTree_(t)}),s+="\n"+e+"End Children",s}mathmlTreeString(){return this.mathmlTree?this.mathmlTree.toString():"EMPTY"}addAnnotation_(t,e){const s=this.annotation[t];s&&!s.includes(e)?s.push(e):this.annotation[t]=[e]}}class rg{constructor(){this.leafMap=new jm,this.defaultMap=new Bm,this.idCounter_=-1}makeNode(t){return this.createNode_(t)}makeUnprocessed(t){const e=this.createNode_();return e.addMathmlNodes([t]),e.mathmlTree=t,e}makeEmptyNode(){const t=this.createNode_();return t.type=hm.EMPTY,t}makeContentNode(t){const e=this.createNode_();return e.updateContent(t),e}makeMultipleContentNodes(t,e){const s=[];for(let i=0;i<t;i++)s.push(this.makeContentNode(e));return s}makeLeafNode(t,e){if(!t)return this.makeEmptyNode();const s=this.makeContentNode(t);s.font=e||s.font;const i=this.defaultMap.getNode(s);return i&&(s.type=i.type,s.role=i.role,s.font=i.font),this.leafMap.addNode(s),s}makeBranchNode(t,e,s,i){const n=this.createNode_();return i&&n.updateContent(i),n.type=t,n.childNodes=e,n.contentNodes=s,e.concat(s).forEach(function(t){t.parent=n,n.addMathmlNodes(t.mathml)}),n}createNode_(t){return void 0!==t?this.idCounter_=Math.max(this.idCounter_,t):t=++this.idCounter_,new ng(t)}}class og{constructor(t){this.type=t,this.factory_=new rg}getFactory(){return this.factory_}setFactory(t){this.factory_=t}getType(){return this.type}parseList(t){const e=[];for(let s,i=0;s=t[i];i++)e.push(this.parse(s));return e}}function ag(t,e){return t.type===e}function lg(t,e){return t.embellished===e}function cg(t,e){return t.role===e}function hg(t){return ag(t,hm.FENCE)||ag(t,hm.PUNCTUATION)||ag(t,hm.OPERATOR)||ag(t,hm.RELATION)}function dg(t){return bg(t)&&!cg(t,um.DIVISION)||ag(t,hm.APPL)||gg(t)}function ug(t){return bg(t)||gg(t)}function pg(t,e){return!!e&&ag(e,hm.IDENTIFIER)&&Nm.Secondary.has(t.textContent,fm.D)}function mg(t){if(ag(t,hm.IDENTIFIER)){const e=t.textContent[0];return e&&t.textContent[1]&&Nm.Secondary.has(e,fm.D)}return!1}function gg(t){return Eg(t)||yg(t)}function fg(t){return t.embellished?t.embellished:(e=t.type)===hm.OPERATOR||e===hm.RELATION||e===hm.FENCE||e===hm.PUNCTUATION?t.type:null;var e}function bg(t){return ag(t,hm.OPERATOR)||lg(t,hm.OPERATOR)}function Eg(t){return ag(t,hm.RELATION)||lg(t,hm.RELATION)}function yg(t){return ag(t,hm.PUNCTUATION)||lg(t,hm.PUNCTUATION)}function xg(t){return ag(t,hm.FENCE)||lg(t,hm.FENCE)}function Ng(t){return!(!t||!xg(t))&&(!t.embellished||vg(t))}function vg(t){return!t.embellished||!function(t){return ag(t,hm.TENSOR)&&(!ag(t.childNodes[1],hm.EMPTY)||!ag(t.childNodes[2],hm.EMPTY))&&(!ag(t.childNodes[3],hm.EMPTY)||!ag(t.childNodes[4],hm.EMPTY))}(t)&&((!cg(t,um.CLOSE)||!ag(t,hm.TENSOR))&&((!cg(t,um.OPEN)||!ag(t,hm.SUBSCRIPT)&&!ag(t,hm.SUPERSCRIPT))&&vg(t.childNodes[0])))}function Tg(t){return!!t&&(ag(t,hm.TABLE)||ag(t,hm.MULTILINE))}function Cg(t){return!!t&&Ag(t)&&Tg(t.childNodes[0])}function Ag(t){return!!t&&ag(t,hm.FENCED)&&(cg(t,um.LEFTRIGHT)||Ug(t))&&1===t.childNodes.length}function Lg(t,e){return e.length>0&&cg(e[e.length-1],um.OPENFENCE)}function Sg(t){return t.childNodes.every(function(t){return t.childNodes.length<=1})}function Rg(t){return ag(t,hm.LINE)&&t.contentNodes.length&&cg(t.contentNodes[0],um.LABEL)}function Ig(t){return ag(t,hm.LARGEOP)||ag(t,hm.LIMBOTH)||ag(t,hm.LIMLOWER)||ag(t,hm.LIMUPPER)||ag(t,hm.FUNCTION)&&cg(t,um.LIMFUNC)||(ag(t,hm.OVERSCORE)||ag(t,hm.UNDERSCORE))&&Ig(t.childNodes[0])}function wg(t,e,s){return 1===e.length&&(t[s].type===hm.PUNCTUATION||t[s].embellished===hm.PUNCTUATION)&&t[s]===e[0]}function Mg(t){return ag(t,hm.IDENTIFIER)&&cg(t,um.SIMPLEFUNC)}const Og=[hm.PUNCTUATION,hm.PUNCTUATED,hm.RELSEQ,hm.MULTIREL,hm.TABLE,hm.MULTILINE,hm.CASES,hm.INFERENCE],kg=[hm.LIMUPPER,hm.LIMLOWER,hm.LIMBOTH,hm.SUBSCRIPT,hm.SUPERSCRIPT,hm.UNDERSCORE,hm.OVERSCORE,hm.TENSOR];function Dg(t){const e=t.type;return-1===Og.indexOf(e)&&(e!==hm.INFIXOP||t.role===um.IMPLICIT)&&(e===hm.FENCED?t.role!==um.LEFTRIGHT||Dg(t.childNodes[0]):-1===kg.indexOf(e)||Dg(t.childNodes[0]))}function Pg(t){return function(t){return t.type===hm.NUMBER&&(t.role===um.INTEGER||t.role===um.FLOAT)}(t)||t.role===um.VULGAR||t.role===um.MIXED}function Bg(t){const e=t.childNodes;return t.role===um.UNIT&&(!e.length||e[0].role===um.UNIT)}function Fg(t){const e=t.childNodes;return t.type===hm.INFIXOP&&(t.role===um.MULTIPLICATION||t.role===um.IMPLICIT)&&e.length&&(Bg(e[0])||Pg(e[0]))&&t.childNodes.slice(1).every(Bg)}function jg(t){return t.type===hm.INFIXOP&&(t.role===um.IMPLICIT||t.role===um.UNIT&&!!t.contentNodes.length&&t.contentNodes[0].textContent===Em.invisibleTimes)}function _g(t){return t.type===hm.INFIXOP&&t.role===um.IMPLICIT}function Ug(t){return t.role===um.NEUTRAL||t.role===um.METRIC}function Hg(t,e){return Ug(t)&&Ug(e)&&Zm(t).textContent===Zm(e).textContent}function Wg(t){return!!Ug(t)&&(!t.embellished||t.type!==hm.SUPERSCRIPT&&t.type!==hm.SUBSCRIPT&&(t.type!==hm.TENSOR||t.childNodes[3].type===hm.EMPTY&&t.childNodes[4].type===hm.EMPTY))}function qg(t){return!!Ug(t)&&(!t.embellished||(t.type!==hm.TENSOR||t.childNodes[1].type===hm.EMPTY&&t.childNodes[2].type===hm.EMPTY))}function Vg(t){return[um.ELEMENT,um.NONELEMENT,um.REELEMENT,um.RENONELEMENT].includes(t.role)}const Gg={factory:null,options:new Rp,updateFactory:function(t){Gg.factory=t},heuristics:new Map,flags:{combine_juxtaposition:!0,convert_juxtaposition:!0,multioperator:!0},blacklist:{},add:function(t){const e=t.name;Gg.heuristics.set(e,t),Gg.flags[e]||(Gg.flags[e]=!1)},run:function(t,e,s){const i=Gg.heuristics.get(t);return i&&!Gg.blacklist[t]&&(Gg.flags[t]||i.applicable(e))?i.apply(e):s?s(e):e}};class Xg{static getInstance(){return Xg.instance=Xg.instance||new Xg,Xg.instance}static tableToMultiline(t){if(!Sg(t))return Gg.run("rewrite_subcases",t,Xg.classifyTable);t.type=hm.MULTILINE;for(let e,s=0;e=t.childNodes[s];s++)Xg.rowToLine_(e,um.MULTILINE);return 1===t.childNodes.length&&!Rg(t.childNodes[0])&&Ag(t.childNodes[0].childNodes[0])&&Xg.tableToMatrixOrVector_(Xg.rewriteFencedLine_(t)),Xg.classifyMultiline(t)}static number(t){t.type!==hm.UNKNOWN&&t.type!==hm.IDENTIFIER||(t.type=hm.NUMBER),Xg.meaningFromContent(t,Xg.numberRole_),Xg.exprFont_(t)}static classifyMultiline(t){return Xg.binomialForm_(t),Xg.classifyMultiline_(t),t}static classifyMultiline_(t){let e=0;const s=t.childNodes.length;let i;for(;e<s&&(!(i=t.childNodes[e])||!i.childNodes.length);)e++;if(e>=s)return;const n=i.childNodes[0].role;n!==um.UNKNOWN&&t.childNodes.every(function(t){const e=t.childNodes[0];return!e||e.role===n&&(ag(e,hm.RELATION)||ag(e,hm.RELSEQ))})&&(t.role=n)}static classifyTable(t){const e=Xg.computeColumns_(t);return Xg.classifyByColumns_(t,e,um.EQUALITY)||Xg.classifyByColumns_(t,e,um.INEQUALITY,[um.EQUALITY])||Xg.classifyByColumns_(t,e,um.ARROW)||Xg.detectCaleyTable(t),t}static detectCaleyTable(t){if(!t.mathmlTree)return!1;const e=t.mathmlTree,s=e.getAttribute("columnlines"),i=e.getAttribute("rowlines");return!(!s||!i)&&(!(!Xg.cayleySpacing(s)||!Xg.cayleySpacing(i))&&(t.role=um.CAYLEY,!0))}static cayleySpacing(t){const e=t.split(" ");return("solid"===e[0]||"dashed"===e[0])&&e.slice(1).every(t=>"none"===t)}static proof(t,e,s){const i=Xg.separateSemantics(e);return Xg.getInstance().proof(t,i,s)}static findSemantics(t,e,s){const i=null==s?null:s,n=Xg.getSemantics(t);return!!n&&(!!n[e]&&(null==i||n[e]===i))}static getSemantics(t){const e=t.getAttribute("semantics");return e?Xg.separateSemantics(e):null}static removePrefix(t){const[,...e]=t.split("_");return e.join("_")}static separateSemantics(t){const e={};return t.split(";").forEach(function(t){const[s,i]=t.split(":");e[Xg.removePrefix(s)]=i}),e}static matchSpaces_(t,e){for(let s,i=0;s=e[i];i++){const e=t[i].mathmlTree,n=t[i+1].mathmlTree;if(!e||!n)continue;const r=e.nextSibling;if(!r||r===n)continue;const o=Xg.getSpacer_(r);o&&o!==n&&(s.addMathmlNodes([o]),s.mathmlTree=o,s.role=um.SPACE)}}static getSpacer_(t){if(Xp(t)===Um.MSPACE)return t;for(;$m(t)&&1===t.childNodes.length;)if(Xp(t=t.childNodes[0])===Um.MSPACE)return t;return null}static fenceToPunct_(t){const e=Xg.FENCE_TO_PUNCT_[t.role];if(e){for(;t.embellished;)t.embellished=hm.PUNCTUATION,cg(t,um.SUBSUP)||cg(t,um.UNDEROVER)||(t.role=e),t=t.childNodes[0];t.type=hm.PUNCTUATION,t.role=e}}static classifyFunction_(t,e){if(t.type===hm.APPL||t.type===hm.BIGOP||t.type===hm.INTEGRAL)return"";if(e[0]&&e[0].textContent===Em.functionApplication){Xg.getInstance().funcAppls[t.id]=e.shift();let s=um.SIMPLEFUNC;return Gg.run("simple2prefix",t),t.role!==um.PREFIXFUNC&&t.role!==um.LIMFUNC||(s=t.role),Xg.propagateFunctionRole_(t,s),"prefix"}const s=Xg.CLASSIFY_FUNCTION_[t.role];return s||((i=t).type===hm.IDENTIFIER||i.role===um.LATINLETTER||i.role===um.GREEKLETTER||i.role===um.OTHERLETTER?"simple":"");var i}static propagateFunctionRole_(t,e){if(t){if(t.type===hm.INFIXOP)return;cg(t,um.SUBSUP)||cg(t,um.UNDEROVER)||(t.role=e),Xg.propagateFunctionRole_(t.childNodes[0],e)}}static getFunctionOp_(t,e){if(e(t))return t;for(let s,i=0;s=t.childNodes[i];i++){const t=Xg.getFunctionOp_(s,e);if(t)return t}return null}static tableToMatrixOrVector_(t){const e=t.childNodes[0];ag(e,hm.MULTILINE)?Xg.tableToVector_(t):Xg.tableToMatrix_(t),t.contentNodes.forEach(e.appendContentNode.bind(e));for(let t,s=0;t=e.childNodes[s];s++)Xg.assignRoleToRow_(t,Xg.getComponentRoles_(e));return e.parent=null,e}static tableToVector_(t){const e=t.childNodes[0];e.type=hm.VECTOR,1!==e.childNodes.length?Xg.binomialForm_(e):Xg.tableToSquare_(t)}static binomialForm_(t){cg(t,um.UNKNOWN)&&(2===t.childNodes.length&&(t.role=um.BINOMIAL,t.childNodes[0].role=um.BINOMIAL,t.childNodes[1].role=um.BINOMIAL))}static tableToMatrix_(t){const e=t.childNodes[0];e.type=hm.MATRIX,e.childNodes&&e.childNodes.length>0&&e.childNodes[0].childNodes&&e.childNodes.length===e.childNodes[0].childNodes.length?Xg.tableToSquare_(t):e.childNodes&&1===e.childNodes.length&&(e.role=um.ROWVECTOR)}static tableToSquare_(t){const e=t.childNodes[0];cg(e,um.UNKNOWN)&&(Ug(t)?e.role=um.DETERMINANT:e.role=um.SQUAREMATRIX)}static getComponentRoles_(t){const e=t.role;return e&&e!==um.UNKNOWN?e:t.type.toLowerCase()||um.UNKNOWN}static tableToCases_(t,e){for(let e,s=0;e=t.childNodes[s];s++)Xg.assignRoleToRow_(e,um.CASES);return t.type=hm.CASES,t.appendContentNode(e),Sg(t)&&Xg.binomialForm_(t),t}static rewriteFencedLine_(t){const e=t.childNodes[0],s=t.childNodes[0].childNodes[0],i=t.childNodes[0].childNodes[0].childNodes[0];return s.parent=t.parent,t.parent=s,i.parent=e,s.childNodes=[t],e.childNodes=[i],s}static rowToLine_(t,e){const s=e||um.UNKNOWN;ag(t,hm.ROW)&&(t.type=hm.LINE,t.role=s,1===t.childNodes.length&&ag(t.childNodes[0],hm.CELL)&&(t.childNodes=t.childNodes[0].childNodes,t.childNodes.forEach(function(e){e.parent=t})))}static assignRoleToRow_(t,e){ag(t,hm.LINE)?t.role=e:ag(t,hm.ROW)&&(t.role=e,t.childNodes.forEach(function(t){ag(t,hm.CELL)&&(t.role=e)}))}static nextSeparatorFunction_(t){let e;if(t){if(t.match(/^\s+$/))return null;e=t.replace(/\s/g,"").split("").filter(function(t){return t})}else e=[","];return function(){return e.length>1?e.shift():e[0]}}static meaningFromContent(t,e){const s=[...t.textContent].filter(t=>t.match(/[^\s]/)),i=s.map(t=>Nm.Meaning.get(t));e(t,s,i)}static numberRole_(t,e,s){if(t.role===um.UNKNOWN)return s.every(function(t){return t.type===hm.NUMBER&&t.role===um.INTEGER||t.type===hm.PUNCTUATION&&t.role===um.COMMA})?(t.role=um.INTEGER,void("0"===e[0]&&t.addAnnotation("general","basenumber"))):void(s.every(function(t){return t.type===hm.NUMBER&&t.role===um.INTEGER||t.type===hm.PUNCTUATION})?t.role=um.FLOAT:t.role=um.OTHERNUMBER)}static exprFont_(t){t.font===mm.UNKNOWN&&Xg.compSemantics(t,"font",mm)}static compSemantics(t,e,s){const i=[...t.textContent].map(t=>Nm.Meaning.get(t)).reduce(function(t,i){return t&&i[e]&&i[e]!==s.UNKNOWN&&i[e]!==t?t===s.UNKNOWN?i[e]:null:t},s.UNKNOWN);i&&(t[e]=i)}static purgeFences_(t){const e=t.rel,s=t.comp,i=[],n=[];for(;e.length>0;){const t=e.shift();let r=s.shift();Ng(t)?(i.push(t),n.push(r)):(Xg.fenceToPunct_(t),r.push(t),r=r.concat(s.shift()),s.unshift(r))}return n.push(s.shift()),{rel:i,comp:n}}static rewriteFencedNode_(t){const e=t.contentNodes[0],s=t.contentNodes[1];let i=Xg.rewriteFence_(t,e);return t.contentNodes[0]=i.fence,i=Xg.rewriteFence_(i.node,s),t.contentNodes[1]=i.fence,t.contentNodes[0].parent=t,t.contentNodes[1].parent=t,function(t){const e=Nm.FencesSecondary.get(t.contentNodes[0].textContent),s=Nm.FencesSecondary.get(t.contentNodes[1].textContent);e===s&&t.addAnnotation("fences",e)}(t),i.node.parent=null,i.node}static rewriteFence_(t,e){if(!e.embellished)return{node:t,fence:e};const s=e.childNodes[0],i=Xg.rewriteFence_(t,s);return ag(e,hm.SUPERSCRIPT)||ag(e,hm.SUBSCRIPT)||ag(e,hm.TENSOR)?(cg(e,um.SUBSUP)||(e.role=t.role),s!==i.node&&(e.replaceChild(s,i.node),s.parent=t),Xg.propagateFencePointer_(e,s),{node:e,fence:i.fence}):(e.replaceChild(s,i.fence),e.mathmlTree&&-1===e.mathml.indexOf(e.mathmlTree)&&e.addMathmlNodes([e.mathmlTree]),{node:i.node,fence:e})}static propagateFencePointer_(t,e){t.fencePointer=e.fencePointer||e.id.toString(),t.embellished=null}static classifyByColumns_(t,e,s,i=[]){const n=[s].concat(i);return!!(3===e.length&&Xg.testColumns_(e,1,t=>Xg.isPureRelation_(t,n))||2===e.length&&(Xg.testColumns_(e,1,t=>Xg.isEndRelation_(t,n)||Xg.isPureRelation_(t,n))||Xg.testColumns_(e,0,t=>Xg.isEndRelation_(t,n,!0)||Xg.isPureRelation_(t,n))))&&(t.role=s,!0)}static isEndRelation_(t,e,s){const i=s?t.childNodes.length-1:0;return ag(t,hm.RELSEQ)&&e.some(e=>cg(t,e))&&ag(t.childNodes[i],hm.EMPTY)}static isPureRelation_(t,e){return ag(t,hm.RELATION)&&e.some(e=>cg(t,e))}static computeColumns_(t){const e=[];for(let s,i=0;s=t.childNodes[i];i++)for(let t,i=0;t=s.childNodes[i];i++){e[i]?e[i].push(t):e[i]=[t]}return e}static testColumns_(t,e,s){const i=t[e];return!!i&&(i.some(function(t){return t.childNodes.length&&s(t.childNodes[0])})&&i.every(function(t){return!t.childNodes.length||s(t.childNodes[0])}))}setNodeFactory(t){Xg.getInstance().factory_=t,Gg.updateFactory(Xg.getInstance().factory_)}getNodeFactory(){return Xg.getInstance().factory_}identifierNode(t,e,s){if("MathML-Unit"!==s||(i=t,[um.DEGREE].includes(i.role)||[].includes(i.type))){if(!e&&1===t.textContent.length&&(t.role===um.INTEGER||t.role===um.LATINLETTER||t.role===um.GREEKLETTER)&&t.font===mm.NORMAL)return t.font=mm.ITALIC,Gg.run("simpleNamedFunction",t)}else t.type=hm.IDENTIFIER,t.role=um.UNIT;var i;return t.type===hm.UNKNOWN&&(t.type=hm.IDENTIFIER),Xg.exprFont_(t),Gg.run("simpleNamedFunction",t)}implicitNode(t){if(t=Xg.getInstance().getMixedNumbers_(t),t=Xg.getInstance().combineUnits_(t),1===(t=Xg.getInstance().combineScripts_(t)).length)return t[0];const e=Xg.getInstance().implicitNode_(t);return Gg.run("combine_juxtaposition",e)}text(t,e){if(Xg.exprFont_(t),t.type=hm.TEXT,e===Um.ANNOTATIONXML)return t.role=um.ANNOTATION,t;if(e===Um.MS)return t.role=um.STRING,t;if(e===Um.MSPACE||t.textContent.match(/^\s*$/))return t.role=um.SPACE,t;if(/\s/.exec(t.textContent))return t.role=um.TEXT,t;const s=[...t.textContent];if(1!==s.length)return t.role=um.UNKNOWN,t;const i=Nm.Meaning.get(s[0]);return i.type===hm.UNKNOWN||i.type===hm.IDENTIFIER||(t.type=i.type,t.role=i.role,t.font=i.font,t.addAnnotation("general","text")),t}row(t){return 0===(t=t.filter(function(t){return!ag(t,hm.EMPTY)||t.hasAnnotation("empty","MFENCED")})).length?Xg.getInstance().factory_.makeEmptyNode():(t=Xg.getInstance().getFencesInRow_(t),t=Xg.getInstance().tablesInRow(t),t=Xg.getInstance().getPunctuationInRow_(t),t=Xg.getInstance().getTextInRow_(t),t=Xg.getInstance().getFunctionsInRow_(t),Xg.getInstance().relationsInRow_(t))}limitNode(t,e){if(!e.length)return Xg.getInstance().factory_.makeEmptyNode();let s=e[0],{length:i}=Xg.MML_TO_LIMIT_[t];if(e=e.slice(0,i+1),[t,e]=Xg.getInstance().cleanLimitNode(t,e,i),!e[1])return s;let{type:n,length:r}=Xg.MML_TO_LIMIT_[t];if(1===r&&e[1].role===um.DEGREE)return Xg.getInstance().row([e[0],e[1]]);if(Gg.run("op_with_limits",e),Ig(s)){if(1===r&&hg(e[1])||2===r&&hg(e[1])&&hg(e[2])){let i=Xg.MML_TO_BOUNDS_[t];return Xg.getInstance().accentNode_(s,e,i.type,i.length,i.accent)}if(2===r){if(hg(e[1]))return s=Xg.getInstance().accentNode_(s,[s,e[1]],{MSUBSUP:hm.SUBSCRIPT,MUNDEROVER:hm.UNDERSCORE}[t],1,!0),e[2]?Xg.getInstance().makeLimitNode_(s,[s,e[2]],null,hm.LIMUPPER):s;if(e[2]&&hg(e[2]))return s=Xg.getInstance().accentNode_(s,[s,e[2]],{MSUBSUP:hm.SUPERSCRIPT,MUNDEROVER:hm.OVERSCORE}[t],1,!0),Xg.getInstance().makeLimitNode_(s,[s,e[1]],null,hm.LIMLOWER);e[r]||(n=hm.LIMLOWER)}return Xg.getInstance().makeLimitNode_(s,e,null,n)}const o=Xg.MML_TO_BOUNDS_[t];return Xg.getInstance().accentNode_(s,e,o.type,o.length,o.accent)}cleanLimitNode(t,e,s){const i=t=>(t=>!t||ag(t,hm.EMPTY))(t)||(t=>t&&ag(t,hm.TEXT)&&cg(t,um.SPACE))(t);if(1===s)return i(e[1])?(e[0].noupdate=!0,[t,[Kg([t],e[0])]]):[t,e];const n=e[1],r=e[2];return i(n)&&i(r)?(e[0].noupdate=!0,[t,[Kg([t],e[0])]]):i(n)?[t===Um.MSUBSUP?Um.MSUP:Um.MOVER,[e[0],r]]:i(r)?[t===Um.MSUBSUP?Um.MSUB:Um.MUNDER,[e[0],n]]:[t,e]}tablesInRow(t){let e=eg(t,Cg),s=[];for(let t,i=0;t=e.rel[i];i++)s=s.concat(e.comp.shift()),s.push(Xg.tableToMatrixOrVector_(t));s=s.concat(e.comp.shift()),e=eg(s,Tg),s=[];for(let t,i=0;t=e.rel[i];i++){const i=e.comp.shift();Lg(0,i)&&Xg.tableToCases_(t,i.pop()),s=s.concat(i),(s.length||e.comp[0].length)&&(t=Xg.rewriteTrivialTable(t)),s.push(t)}return s.concat(e.comp.shift())}mfenced(t,e,s,i){if(s&&i.length>0){const t=Xg.nextSeparatorFunction_(s),e=[i.shift()];i.forEach(s=>{e.push(Xg.getInstance().factory_.makeContentNode(t())),e.push(s)}),i=e}return t&&e?Xg.getInstance().horizontalFencedNode_(Xg.getInstance().factory_.makeContentNode(t),Xg.getInstance().factory_.makeContentNode(e),i):(t&&i.unshift(Xg.getInstance().factory_.makeContentNode(t)),e&&i.push(Xg.getInstance().factory_.makeContentNode(e)),Xg.getInstance().row(i))}fractionLikeNode(t,e,s,i){let n;if(!i&&function(t){if(!t)return!1;if(["negativeveryverythinmathspace","negativeverythinmathspace","negativethinmathspace","negativemediummathspace","negativethickmathspace","negativeverythickmathspace","negativeveryverythickmathspace"].includes(t))return!0;const e=t.match(/[0-9.]+/);return!!e&&0===parseFloat(e[0])}(s)){const s=Xg.getInstance().factory_.makeBranchNode(hm.LINE,[t],[]),i=Xg.getInstance().factory_.makeBranchNode(hm.LINE,[e],[]);return n=Xg.getInstance().factory_.makeBranchNode(hm.MULTILINE,[s,i],[]),Xg.classifyMultiline(n)}return n=Xg.getInstance().fractionNode_(t,e),i&&n.addAnnotation("general","bevelled"),n}tensor(t,e,s,i,n){const r=Xg.getInstance().factory_.makeBranchNode(hm.TENSOR,[t,Xg.getInstance().scriptNode_(e,um.LEFTSUB),Xg.getInstance().scriptNode_(s,um.LEFTSUPER),Xg.getInstance().scriptNode_(i,um.RIGHTSUB),Xg.getInstance().scriptNode_(n,um.RIGHTSUPER)],[]);return r.role=t.role,r.embellished=fg(t),r}pseudoTensor(t,e,s){const i=t=>!ag(t,hm.EMPTY),n=e.filter(i).length,r=s.filter(i).length;if(!n&&!r)return t;const o=n?r?Um.MSUBSUP:Um.MSUB:Um.MSUP,a=[t];return n&&a.push(Xg.getInstance().scriptNode_(e,um.RIGHTSUB,!0)),r&&a.push(Xg.getInstance().scriptNode_(s,um.RIGHTSUPER,!0)),Xg.getInstance().limitNode(o,a)}font(t){const e=Xg.MATHJAX_FONTS[t];return e||t}proof(t,e,s){if(e.inference||e.axiom||console.log("Noise"),e.axiom){const e=Xg.getInstance().cleanInference(t.childNodes),i=e.length?Xg.getInstance().factory_.makeBranchNode(hm.INFERENCE,s(e),[]):Xg.getInstance().factory_.makeEmptyNode();return i.role=um.AXIOM,i.mathmlTree=t,i}const i=Xg.getInstance().inference(t,e,s);return e.proof&&(i.role=um.PROOF,i.childNodes[0].role=um.FINAL),i}inference(t,e,s){if(e.inferenceRule){const e=Xg.getInstance().getFormulas(t,[],s);return Xg.getInstance().factory_.makeBranchNode(hm.INFERENCE,[e.conclusion,e.premises],[])}const i=e.labelledRule,n=Up(t.childNodes),r=[];"left"!==i&&"both"!==i||r.push(Xg.getInstance().getLabel(t,n,s,um.LEFT)),"right"!==i&&"both"!==i||r.push(Xg.getInstance().getLabel(t,n,s,um.RIGHT));const o=Xg.getInstance().getFormulas(t,n,s),a=Xg.getInstance().factory_.makeBranchNode(hm.INFERENCE,[o.conclusion,o.premises],r);return a.mathmlTree=t,a}getLabel(t,e,s,i){const n=Xg.getInstance().findNestedRow(e,"prooflabel",i),r=Xg.getInstance().factory_.makeBranchNode(hm.RULELABEL,s(Up(n.childNodes)),[]);return r.role=i,r.mathmlTree=n,r}getFormulas(t,e,s){const i=e.length?Xg.getInstance().findNestedRow(e,"inferenceRule"):t,n="up"===Xg.getSemantics(i).inferenceRule,r=n?i.childNodes[1]:i.childNodes[0],o=n?i.childNodes[0]:i.childNodes[1],a=r.childNodes[0].childNodes[0],l=Up(a.childNodes[0].childNodes),c=[];let h=1;for(const t of l)h%2&&c.push(t.childNodes[0]),h++;const d=s(c),u=s(Up(o.childNodes[0].childNodes))[0],p=Xg.getInstance().factory_.makeBranchNode(hm.PREMISES,d,[]);p.mathmlTree=a;const m=Xg.getInstance().factory_.makeBranchNode(hm.CONCLUSION,[u],[]);return m.mathmlTree=o.childNodes[0].childNodes[0],{conclusion:m,premises:p}}findNestedRow(t,e,s){return Xg.getInstance().findNestedRow_(t,e,0,s)}cleanInference(t){return Up(t).filter(function(t){return"MSPACE"!==Xp(t)})}operatorNode(t){return t.type===hm.UNKNOWN&&(t.type=hm.OPERATOR),Gg.run("multioperator",t)}static rewriteTrivialTable(t){return ag(e=t,hm.MULTILINE)&&1===e.childNodes.length&&e.childNodes[0].childNodes.length&&!Rg(e.childNodes[0])?Xg.getInstance().unwrapTrivialTable(t):t;var e}unwrapTrivialTable(t){if(!t.childNodes[0].childNodes.length)return Xg.getInstance().factory_.makeEmptyNode();const e=t.childNodes[0].childNodes[0];return e.parent=null,Kg([Um.MTD,Um.MTR,Um.MTABLE],e),e}constructor(){this.funcAppls={},this.splitRoles=new Map([[um.SUBTRACTION,um.NEGATIVE],[um.ADDITION,um.POSITIVE]]),this.splitOps=["\u2212","-","\u2010","\u2011","+"],this.factory_=new rg,Gg.updateFactory(this.factory_)}implicitNode_(t){const e=Xg.getInstance().factory_.makeMultipleContentNodes(t.length-1,Em.invisibleTimes);Xg.matchSpaces_(t,e);const s=Xg.getInstance().infixNode_(t,e[0]);return s.role=um.IMPLICIT,e.forEach(function(t){t.parent=s}),s.contentNodes=e,s}infixNode_(t,e){let s=Xg.getInstance().factory_.makeBranchNode(hm.INFIXOP,t,[e],Zm(e).textContent);return s.role=e.role,s=Gg.run("propagateInterval",s),Gg.run("propagateSimpleFunction",s)}explicitMixed_(t){const e=eg(t,function(t){return t.textContent===Em.invisiblePlus});if(!e.rel.length)return t;let s=[];for(let t,i=0;t=e.rel[i];i++){const n=e.comp[i],r=e.comp[i+1],o=n.length-1;if(n[o]&&r[0]&&ag(n[o],hm.NUMBER)&&!cg(n[o],um.MIXED)&&ag(r[0],hm.FRACTION)){const t=Xg.getInstance().factory_.makeBranchNode(hm.NUMBER,[n[o],r[0]],[]);t.role=um.MIXED,s=s.concat(n.slice(0,o)),s.push(t),r.shift()}else s=s.concat(n),s.push(t)}return s.concat(e.comp[e.comp.length-1])}concatNode_(t,e,s){if(0===e.length)return t;const i=e.map(function(t){return Zm(t).textContent}).join(" "),n=Xg.getInstance().factory_.makeBranchNode(s,[t],e,i);return e.length>1&&(n.role=um.MULTIOP),sg(n,[t,...e]),n}multiopNode_(t){const e=Xg.getInstance().factory_.makeBranchNode(hm.OPERATOR,t,[]);return e.role=um.MULTIOP,sg(e,t),e}prefixNode_(t,e){const s=this.splitSingles(e);let i=t;for(;s.length>0;){const t=s.pop();i=Xg.getInstance().concatNode_(i,t,hm.PREFIXOP),1===t.length&&-1!==this.splitOps.indexOf(t[0].textContent)&&(i.role=this.splitRoles.get(t[0].role))}return i}splitSingles(t){let e=0;const s=[];let i=0;for(;i<t.length;){const n=t[i];!this.splitRoles.has(n.role)||t[i-1]&&t[i-1].role===n.role||t[i+1]&&t[i+1].role===n.role||-1===this.splitOps.indexOf(n.textContent)||(s.push(t.slice(e,i)),s.push(t.slice(i,i+1)),e=i+1),i++}return e<i&&s.push(t.slice(e,i)),s}postfixNode_(t,e){return e.length?Xg.getInstance().concatNode_(t,e,hm.POSTFIXOP):t}combineScripts_(t){const e=eg(t,t=>ag(t,hm.SUPERSCRIPT)&&ag(t.childNodes[0],hm.EMPTY)||ag(t,hm.SUBSCRIPT)&&ag(t.childNodes[0],hm.EMPTY));if(!e.rel.length)return t;let s=[];do{const t=e.comp.shift(),i=e.rel.shift();if(!t.length){s.push(i);continue}const n=t.pop();ag(n,hm.NUMBER)||ag(n,hm.IDENTIFIER)?(i.childNodes[0]=n,n.parent=i,i.role=n.type.toLowerCase(),i.addAnnotation("collapsed",n.type.toLowerCase()),s=s.concat(t),s.push(i)):ag(n,hm.SUBSCRIPT)&&ag(i,hm.SUPERSCRIPT)?(i.childNodes[0]=n,n.parent=i,i.role=n.type.toLowerCase(),i.addAnnotation("collapsed",n.type.toLowerCase()),n.role=um.SUBSUP,s=s.concat(t),s.push(i)):(s=s.concat(t),s.push(n),s.push(i))}while(e.rel.length);return s=s.concat(e.comp.pop()),s}combineUnits_(t){const e=eg(t,function(t){return!cg(t,um.UNIT)});if(t.length===e.rel.length)return e.rel;const s=[];let i,n;do{const t=e.comp.shift();i=e.rel.shift();let r=null;n=s.pop(),n&&(t.length&&Pg(n)?t.unshift(n):s.push(n)),1===t.length&&(r=t.pop()),t.length>1&&(r=Xg.getInstance().implicitNode_(t),r.role=um.UNIT),r&&s.push(r),i&&s.push(i)}while(i);return s}getMixedNumbers_(t){const e=eg(t,function(t){return ag(t,hm.FRACTION)&&cg(t,um.VULGAR)});if(!e.rel.length)return t;let s=[];for(let t,i=0;t=e.rel[i];i++){const n=e.comp[i],r=n.length-1;if(n[r]&&ag(n[r],hm.NUMBER)&&(cg(n[r],um.INTEGER)||cg(n[r],um.FLOAT))){const e=Xg.getInstance().factory_.makeBranchNode(hm.NUMBER,[n[r],t],[]);e.role=um.MIXED,s=s.concat(n.slice(0,r)),s.push(e)}else s=s.concat(n),s.push(t)}return s.concat(e.comp[e.comp.length-1])}getTextInRow_(t){if(0===t.length)return t;if(1===t.length)return t[0].type===hm.TEXT&&t[0].role===um.UNKNOWN&&(t[0].role=um.ANNOTATION),t;const{rel:e,comp:s}=eg(t,t=>ag(t,hm.TEXT)&&!t.annotation.factor);if(0===e.length)return t;const i=[];let n=s.shift();for(;e.length>0;){let t=e.shift(),r=s.shift();const o=[];for(;!r.length&&e.length&&t.role!==um.SPACE&&e[0].role!==um.SPACE;)o.push(t),t=e.shift(),r=s.shift();if(o.length&&(o.push(t),t=Xg.getInstance().dummyNode_(o)),t.role!==um.UNKNOWN){const e=zg(n,t,r);if(e){n=e;continue}n.length&&i.push(Xg.getInstance().row(n)),i.push(t),n=r;continue}const a=Nm.Meaning.get(t.textContent);if(a.type!==hm.UNKNOWN){t.type=a.type,t.role=a.role,t.font=a.font,t.addAnnotation("general","text"),n.push(t),n=n.concat(r);continue}if(Xg.meaningFromContent(t,(t,e,s)=>{if(t.role===um.UNKNOWN){if(Xg.numberRole_(t,e,s),t.role===um.OTHERNUMBER)return s.some(t=>t.type!==hm.NUMBER&&t.type!==hm.IDENTIFIER)?(t.type=hm.TEXT,void(t.role=um.ANNOTATION)):void(t.role=um.UNKNOWN);t.type=hm.NUMBER}}),t.role===um.UNKNOWN&&(e.length||r.length?r.length&&r[0].type===hm.FENCED?(t.type=hm.FUNCTION,t.role=um.PREFIXFUNC):t.role=um.TEXT:(t.type=hm.IDENTIFIER,t.role=um.UNIT)),t.type!==hm.TEXT){n.push(t),n=n.concat(r);continue}const l=zg(n,t,r);l?n=l:(n.length&&i.push(Xg.getInstance().row(n)),i.push(t),n=r)}return n.length>0&&i.push(Xg.getInstance().row(n)),i.length>1?[Xg.getInstance().dummyNode_(i)]:i}relationsInRow_(t){const e=eg(t,Eg),s=e.rel[0];if(!s)return Xg.getInstance().operationsInRow_(t);if(1===t.length)return t[0];const i=e.comp.map(Xg.getInstance().operationsInRow_);let n;return e.rel.some(function(t){return!t.equals(s)})?(n=Xg.getInstance().factory_.makeBranchNode(hm.MULTIREL,i,e.rel),e.rel.every(function(t){return t.role===s.role})&&(n.role=s.role),n):(n=Xg.getInstance().factory_.makeBranchNode(hm.RELSEQ,i,e.rel,Zm(s).textContent),n.role=s.role,n)}operationsInRow_(t){if(0===t.length)return Xg.getInstance().factory_.makeEmptyNode();if(1===(t=Xg.getInstance().explicitMixed_(t)).length)return t[0];const e=[];for(;t.length>0&&bg(t[0]);)e.push(t.shift());if(0===t.length)return Xg.getInstance().multiopNode_(e);if(1===t.length)return Xg.getInstance().prefixNode_(t[0],e);const s=tg(t=Gg.run("convert_juxtaposition",t),bg),i=Xg.getInstance().wrapFactor(e,s);return Xg.getInstance().addFactor(i,s)}wrapPostfix(t){var e;(null===(e=t.div)||void 0===e?void 0:e.role)===um.POSTFIXOP&&(t.tail.length&&t.tail[0].type!==hm.OPERATOR?t.div.role=um.DIVISION:(t.head=[Xg.getInstance().postfixNode_(Xg.getInstance().implicitNode(t.head),[t.div])],t.div=t.tail.shift(),Xg.getInstance().wrapPostfix(t)))}wrapFactor(t,e){return Xg.getInstance().wrapPostfix(e),Xg.getInstance().prefixNode_(Xg.getInstance().implicitNode(e.head),t)}addFactor(t,e){return e.div?Xg.getInstance().operationsTree_(e.tail,t,e.div):(Fg(t)&&(t.role=um.UNIT),t)}operationsTree_(t,e,s,i=[]){if(0===t.length){if(i.unshift(s),e.type===hm.INFIXOP){const t=Xg.getInstance().postfixNode_(e.childNodes.pop(),i);return e.appendChild(t),e}return Xg.getInstance().postfixNode_(e,i)}const n=tg(t,bg);if(0===n.head.length)return i.push(n.div),Xg.getInstance().operationsTree_(n.tail,e,s,i);const r=Xg.getInstance().wrapFactor(i,n),o=Xg.getInstance().appendOperand_(e,s,r);return Xg.getInstance().addFactor(o,n)}appendOperand_(t,e,s){if(t.type!==hm.INFIXOP)return Xg.getInstance().infixNode_([t,s],e);const i=Xg.getInstance().appendDivisionOp_(t,e,s);return i||(Xg.getInstance().appendExistingOperator_(t,e,s)?t:e.role===um.MULTIPLICATION?Xg.getInstance().appendMultiplicativeOp_(t,e,s):Xg.getInstance().appendAdditiveOp_(t,e,s))}appendDivisionOp_(t,e,s){return e.role===um.DIVISION?jg(t)?Xg.getInstance().infixNode_([t,s],e):Xg.getInstance().appendLastOperand_(t,e,s):t.role===um.DIVISION?Xg.getInstance().infixNode_([t,s],e):null}appendLastOperand_(t,e,s){let i=t,n=t.childNodes[t.childNodes.length-1];for(;n&&n.type===hm.INFIXOP&&!jg(n);)i=n,n=i.childNodes[t.childNodes.length-1];const r=Xg.getInstance().infixNode_([i.childNodes.pop(),s],e);return i.appendChild(r),t}appendMultiplicativeOp_(t,e,s){if(jg(t))return Xg.getInstance().infixNode_([t,s],e);let i=t,n=t.childNodes[t.childNodes.length-1];for(;n&&n.type===hm.INFIXOP&&!jg(n);)i=n,n=i.childNodes[t.childNodes.length-1];const r=Xg.getInstance().infixNode_([i.childNodes.pop(),s],e);return i.appendChild(r),t}appendAdditiveOp_(t,e,s){return Xg.getInstance().infixNode_([t,s],e)}appendExistingOperator_(t,e,s){return!(!t||t.type!==hm.INFIXOP||jg(t))&&(t.contentNodes[0].equals(e)?(t.appendContentNode(e),t.appendChild(s),!0):Xg.getInstance().appendExistingOperator_(t.childNodes[t.childNodes.length-1],e,s))}getFencesInRow_(t){let e=eg(t,xg);e=Xg.purgeFences_(e);const s=e.comp.shift();return Xg.getInstance().fences_(e.rel,e.comp,[],[s])}fences_(t,e,s,i){if(0===t.length&&0===s.length)return i[0];const n=Gg.run("bracketed_interval",[t[0],t[1],...e[0]||[]],()=>null);if(n){t.shift(),t.shift(),e.shift();const r=i.pop()||[];return i.push([...r,n,...e.shift()]),Xg.getInstance().fences_(t,e,s,i)}const r=t=>cg(t,um.OPEN);if(0===t.length){const t=i.shift();for(;s.length>0;){if(r(s[0])){const e=s.shift();Xg.fenceToPunct_(e),t.push(e)}else{const e=tg(s,r),n=e.head.length-1,o=Xg.getInstance().neutralFences_(e.head,i.slice(0,n));i=i.slice(n),t.push(...o),e.div&&e.tail.unshift(e.div),s=e.tail}t.push(...i.shift())}return t}const o=s[s.length-1],a=t[0].role;if(a===um.OPEN||Ug(t[0])&&(!o||!Hg(t[0],o))){s.push(t.shift());const n=e.shift();return n&&i.push(n),Xg.getInstance().fences_(t,e,s,i)}if(o&&a===um.CLOSE&&o.role===um.OPEN){const n=Xg.getInstance().horizontalFencedNode_(s.pop(),t.shift(),i.pop());return i.push(i.pop().concat([n],e.shift())),Xg.getInstance().fences_(t,e,s,i)}if(o&&Hg(t[0],o)){if(!Wg(o)||!qg(t[0])){s.push(t.shift());const n=e.shift();return n&&i.push(n),Xg.getInstance().fences_(t,e,s,i)}const n=Xg.getInstance().horizontalFencedNode_(s.pop(),t.shift(),i.pop());return i.push(i.pop().concat([n],e.shift())),Xg.getInstance().fences_(t,e,s,i)}if(o&&a===um.CLOSE&&Ug(o)&&s.some(r)){const n=tg(s,r,!0),o=i.pop(),a=i.length-n.tail.length+1,l=Xg.getInstance().neutralFences_(n.tail,i.slice(a));i=i.slice(0,a);const c=Xg.getInstance().horizontalFencedNode_(n.div,t.shift(),i.pop().concat(l,o));return i.push(i.pop().concat([c],e.shift())),Xg.getInstance().fences_(t,e,n.head,i)}const l=t.shift();return Xg.fenceToPunct_(l),i.push(i.pop().concat([l],e.shift())),Xg.getInstance().fences_(t,e,s,i)}neutralFences_(t,e){if(0===t.length)return t;if(1===t.length)return Xg.fenceToPunct_(t[0]),t;const s=t.shift();if(!Wg(s)){Xg.fenceToPunct_(s);const i=e.shift();return i.unshift(s),i.concat(Xg.getInstance().neutralFences_(t,e))}const i=tg(t,function(t){return Hg(t,s)});if(!i.div){Xg.fenceToPunct_(s);const i=e.shift();return i.unshift(s),i.concat(Xg.getInstance().neutralFences_(t,e))}if(!qg(i.div))return Xg.fenceToPunct_(i.div),t.unshift(s),Xg.getInstance().neutralFences_(t,e);const n=Xg.getInstance().combineFencedContent_(s,i.div,i.head,e);if(i.tail.length>0){const t=n.shift(),e=Xg.getInstance().neutralFences_(i.tail,n);return t.concat(e)}return n[0]}combineFencedContent_(t,e,s,i){if(0===s.length){const s=Xg.getInstance().horizontalFencedNode_(t,e,i.shift());return i.length>0?i[0].unshift(s):i=[[s]],i}const n=i.shift(),r=s.length-1,o=i.slice(0,r),a=(i=i.slice(r)).shift(),l=Xg.getInstance().neutralFences_(s,o);n.push(...l),n.push(...a);const c=Xg.getInstance().horizontalFencedNode_(t,e,n);return i.length>0?i[0].unshift(c):i=[[c]],i}horizontalFencedNode_(t,e,s){const i=Xg.getInstance().row(s);ag(i,hm.EMPTY)&&!i.mathmlTree&&t.mathmlTree&&t.mathmlTree.nextSibling!==e.mathmlTree&&(i.mathmlTree=t.mathmlTree.nextSibling,i.addMathmlNodes([t.mathmlTree.nextSibling]));let n=Xg.getInstance().factory_.makeBranchNode(hm.FENCED,[i],[t,e]);return t.role===um.OPEN?(Xg.getInstance().classifyHorizontalFence_(n),n=Gg.run("propagateComposedFunction",n)):n.role=t.role,n=Gg.run("detect_cycle",n),Xg.rewriteFencedNode_(n)}classifyHorizontalFence_(t){if(Gg.run("interval_heuristic",t),t.role===um.INTERVAL)return;t.role=um.LEFTRIGHT;const e=t.childNodes;if(!function(t){return function(t){return!!t&&-1!==["{","\ufe5b","\uff5b"].indexOf(t.textContent)}(t.contentNodes[0])&&function(t){return!!t&&-1!==["}","\ufe5c","\uff5d"].indexOf(t.textContent)}(t.contentNodes[1])}(t)||e.length>1)return;if(0===e.length||e[0].type===hm.EMPTY)return void(t.role=um.SETEMPTY);const s=e[0].type;if(1===e.length&&Dg(e[0]))return void(t.role=um.SETSINGLE);const i=e[0].role;if(s===hm.PUNCTUATED&&i===um.SEQUENCE){if(e[0].contentNodes[0].role!==um.COMMA)return 1!==e[0].contentNodes.length||e[0].contentNodes[0].role!==um.VBAR&&e[0].contentNodes[0].role!==um.COLON?void 0:(t.role=um.SETEXT,void Xg.getInstance().setExtension_(t));t.role=um.SETCOLLECT}}setExtension_(t){const e=t.childNodes[0].childNodes[0];e&&e.type===hm.INFIXOP&&1===e.contentNodes.length&&Vg(e.contentNodes[0])&&(e.addAnnotation("set","intensional"),e.contentNodes[0].addAnnotation("set","intensional"))}getPunctuationInRow_(t){if(t.length<=1)return t;const e=t=>{const e=t.type;return"punctuation"===e||"text"===e||"operator"===e||"relation"===e},s=eg(t,function(s){if(!yg(s))return!1;if(yg(s)&&!cg(s,um.ELLIPSIS))return!0;const i=t.indexOf(s);if(0===i)return!t[1]||!e(t[1]);const n=t[i-1];if(i===t.length-1)return!e(n);const r=t[i+1];return!e(n)||!e(r)});if(0===s.rel.length)return t;let i=[],n=s.comp.shift();n.length>0&&i.push(Xg.getInstance().row(n));let r=0;for(;s.comp.length>0;){let t=[];const e=r;do{t.push(s.rel[r++]),n=s.comp.shift()}while(s.rel[r]&&n&&0===n.length);t=Gg.run("ellipses",t),s.rel.splice(e,r-e,...t),r=e+t.length,i=i.concat(t),n&&n.length>0&&i.push(Xg.getInstance().row(n))}return 1===i.length&&1===s.rel.length?i:[Xg.getInstance().punctuatedNode_(i,s.rel)]}punctuatedNode_(t,e){const s=Xg.getInstance().factory_.makeBranchNode(hm.PUNCTUATED,t,e);if(e.length===t.length){const t=e[0].role;if(t!==um.UNKNOWN&&e.every(function(e){return e.role===t}))return s.role=t,s}const i=e[0];return wg(t,e,0)?s.role=i.childNodes.length&&!i.embellished?i.role:um.STARTPUNCT:wg(t,e,t.length-1)?s.role=i.childNodes.length&&!i.embellished?i.role:um.ENDPUNCT:e.every(t=>cg(t,um.DUMMY))?s.role=um.TEXT:e.every(t=>cg(t,um.SPACE))?s.role=um.SPACE:s.role=um.SEQUENCE,s}dummyNode_(t){const e=Xg.getInstance().factory_.makeMultipleContentNodes(t.length-1,Em.invisibleComma);return e.forEach(function(t){t.role=um.DUMMY}),Xg.getInstance().punctuatedNode_(t,e)}accentRole_(t,e){if(!hg(t))return!1;const s=t.textContent,i=Nm.Secondary.get(s,fm.BAR)||Nm.Secondary.get(s,fm.TILDE)||t.role;return t.role=e===hm.UNDERSCORE?um.UNDERACCENT:um.OVERACCENT,t.addAnnotation("accent",i),!0}accentNode_(t,e,s,i,n){const r=(e=e.slice(0,i+1))[1],o=e[2];let a;if(!n&&o&&(a=Xg.getInstance().factory_.makeBranchNode(hm.SUBSCRIPT,[t,r],[]),a.role=um.SUBSUP,e=[a,o],s=hm.SUPERSCRIPT),n){const i=Xg.getInstance().accentRole_(r,s);if(o){Xg.getInstance().accentRole_(o,hm.OVERSCORE)&&!i?(a=Xg.getInstance().factory_.makeBranchNode(hm.OVERSCORE,[t,o],[]),e=[a,r],s=hm.UNDERSCORE):(a=Xg.getInstance().factory_.makeBranchNode(hm.UNDERSCORE,[t,r],[]),e=[a,o],s=hm.OVERSCORE),a.role=um.UNDEROVER}}return Xg.getInstance().makeLimitNode_(t,e,a,s)}makeLimitNode_(t,e,s,i){if(i===hm.LIMUPPER&&t.type===hm.LIMLOWER)return t.childNodes.push(e[1]),e[1].parent=t,t.type=hm.LIMBOTH,t;if(i===hm.LIMLOWER&&t.type===hm.LIMUPPER)return t.childNodes.splice(1,-1,e[1]),e[1].parent=t,t.type=hm.LIMBOTH,t;const n=Xg.getInstance().factory_.makeBranchNode(i,e,[]),r=fg(t);return s&&(s.embellished=r),n.embellished=r,n.role=t.role,n}getFunctionsInRow_(t,e){const s=e||[];if(0===t.length)return s;const i=t.shift(),n=Xg.classifyFunction_(i,t);if(!n)return s.push(i),Xg.getInstance().getFunctionsInRow_(t,s);const r=Xg.getInstance().getFunctionsInRow_(t,[]),o=Xg.getInstance().getFunctionArgs_(i,r,n);return s.concat(o)}getFunctionArgs_(t,e,s){let i,n,r;switch(s){case"integral":{const s=Xg.getInstance().getIntegralArgs_(e);if(!s.intvar&&!s.integrand.length)return s.rest.unshift(t),s.rest;const i=Xg.getInstance().row(s.integrand);return r=Xg.getInstance().integralNode_(t,i,s.intvar),Gg.run("intvar_from_fraction",r),s.rest.unshift(r),s.rest}case"prefix":if(e[0]&&e[0].type===hm.FENCED){const s=e.shift();return Ug(s)||(s.role=um.LEFTRIGHT),r=Xg.getInstance().functionNode_(t,s),e.unshift(r),e}if(i=tg(e,dg),i.head.length)n=Xg.getInstance().row(i.head),i.div&&i.tail.unshift(i.div);else{if(!i.div||!ag(i.div,hm.APPL))return e.unshift(t),e;n=i.div}return r=Xg.getInstance().functionNode_(t,n),i.tail.unshift(r),i.tail;case"bigop":return i=tg(e,ug),i.head.length?(n=Xg.getInstance().row(i.head),r=Xg.getInstance().bigOpNode_(t,n),i.div&&i.tail.unshift(i.div),i.tail.unshift(r),i.tail):(e.unshift(t),e);default:{if(0===e.length)return[t];const s=e[0];return s.type===hm.FENCED&&!Ug(s)&&function(t){const e=t.childNodes;if(0===e.length)return!0;if(e.length>1)return!1;const s=e[0];if(s.type===hm.INFIXOP){if(s.role!==um.IMPLICIT)return!1;if(s.childNodes.some(t=>ag(t,hm.INFIXOP)))return!1}return!0}(s)?(s.role=um.LEFTRIGHT,Xg.propagateFunctionRole_(t,um.SIMPLEFUNC),r=Xg.getInstance().functionNode_(t,e.shift()),e.unshift(r),e):(e.unshift(t),e)}}}getIntegralArgs_(t,e=[]){if(0===t.length){const t=tg(e,ug);return t.div&&t.tail.unshift(t.div),{integrand:t.head,intvar:null,rest:t.tail}}Gg.run("intvar_from_implicit",t);const s=t[0];if(gg(s)){const{integrand:s,rest:i}=Xg.getInstance().getIntegralArgs_(e);return{integrand:s,intvar:null,rest:i.concat(t)}}if(mg(s))return s.role=um.INTEGRAL,{integrand:e,intvar:s,rest:t.slice(1)};if(t[1]&&pg(s,t[1])){const i=Xg.getInstance().prefixNode_(t[1],[s]);return i.role=um.INTEGRAL,{integrand:e,intvar:i,rest:t.slice(2)}}return e.push(t.shift()),Xg.getInstance().getIntegralArgs_(t,e)}functionNode_(t,e){const s=Xg.getInstance().factory_.makeContentNode(Em.functionApplication),i=Xg.getInstance().funcAppls[t.id];i&&(s.mathmlTree=i.mathmlTree,s.addMathmlNodes(i.mathml),s.annotation=i.annotation,s.attributes=i.attributes,delete Xg.getInstance().funcAppls[t.id]),s.type=hm.PUNCTUATION,s.role=um.APPLICATION;const n=Xg.getFunctionOp_(t,function(t){return ag(t,hm.FUNCTION)||ag(t,hm.IDENTIFIER)&&cg(t,um.SIMPLEFUNC)});return Xg.getInstance().functionalNode_(hm.APPL,[t,e],n,[s])}bigOpNode_(t,e){const s=Xg.getFunctionOp_(t,t=>ag(t,hm.LARGEOP));return Xg.getInstance().functionalNode_(hm.BIGOP,[t,e],s,[])}integralNode_(t,e,s){e=e||Xg.getInstance().factory_.makeEmptyNode(),s=s||Xg.getInstance().factory_.makeEmptyNode();const i=Xg.getFunctionOp_(t,t=>ag(t,hm.LARGEOP));return Xg.getInstance().functionalNode_(hm.INTEGRAL,[t,e,s],i,[])}functionalNode_(t,e,s,i){const n=e[0];let r;s&&(r=s.parent,i.push(s));const o=Xg.getInstance().factory_.makeBranchNode(t,e,i);return o.role=n.role,r&&(s.parent=r),o}fractionNode_(t,e){const s=Xg.getInstance().factory_.makeBranchNode(hm.FRACTION,[t,e],[]);return s.role=s.childNodes.every(function(t){return ag(t,hm.NUMBER)&&cg(t,um.INTEGER)})?um.VULGAR:s.childNodes.every(Bg)?um.UNIT:um.DIVISION,Gg.run("propagateSimpleFunction",s)}scriptNode_(t,e,s){let i;switch(t.length){case 0:i=Xg.getInstance().factory_.makeEmptyNode();break;case 1:if(i=t[0],s)return i;break;default:i=Xg.getInstance().dummyNode_(t),i.addAnnotation("general","script")}return i.role=e,i}findNestedRow_(t,e,s,i){if(s>3)return null;for(let n,r=0;n=t[r];r++){const t=Xp(n);if(t!==Um.MSPACE){if(t===Um.MROW)return Xg.getInstance().findNestedRow_(Up(n.childNodes),e,s+1,i);if(Xg.findSemantics(n,e,i))return n}}return null}}function zg(t,e,s){const i=t[t.length-1];if(i&&(i.type===hm.RELATION||i.type===hm.OPERATOR))return e.addAnnotation("factor",i.type),[...t,e,...s];const n=s[0];return!n||n.type!==hm.RELATION&&n.type!==hm.OPERATOR?null:(e.addAnnotation("factor",n.type),[...t,e,...s])}function Kg(t,e){return t.forEach(t=>e.addAnnotation("empty",t)),e}Xg.FENCE_TO_PUNCT_={[um.METRIC]:um.METRIC,[um.NEUTRAL]:um.VBAR,[um.OPEN]:um.OPENFENCE,[um.CLOSE]:um.CLOSEFENCE},Xg.MML_TO_LIMIT_={[Um.MSUB]:{type:hm.LIMLOWER,length:1},[Um.MUNDER]:{type:hm.LIMLOWER,length:1},[Um.MSUP]:{type:hm.LIMUPPER,length:1},[Um.MOVER]:{type:hm.LIMUPPER,length:1},[Um.MSUBSUP]:{type:hm.LIMBOTH,length:2},[Um.MUNDEROVER]:{type:hm.LIMBOTH,length:2}},Xg.MML_TO_BOUNDS_={[Um.MSUB]:{type:hm.SUBSCRIPT,length:1,accent:!1},[Um.MSUP]:{type:hm.SUPERSCRIPT,length:1,accent:!1},[Um.MSUBSUP]:{type:hm.SUBSCRIPT,length:2,accent:!1},[Um.MUNDER]:{type:hm.UNDERSCORE,length:1,accent:!0},[Um.MOVER]:{type:hm.OVERSCORE,length:1,accent:!0},[Um.MUNDEROVER]:{type:hm.UNDERSCORE,length:2,accent:!0}},Xg.CLASSIFY_FUNCTION_={[um.INTEGRAL]:"integral",[um.SUM]:"bigop",[um.PREFIXFUNC]:"prefix",[um.LIMFUNC]:"prefix",[um.SIMPLEFUNC]:"prefix",[um.COMPFUNC]:"prefix"},Xg.MATHJAX_FONTS={"-tex-caligraphic":mm.CALIGRAPHIC,"-tex-caligraphic-bold":mm.CALIGRAPHICBOLD,"-tex-calligraphic":mm.CALIGRAPHIC,"-tex-calligraphic-bold":mm.CALIGRAPHICBOLD,"-tex-oldstyle":mm.OLDSTYLE,"-tex-oldstyle-bold":mm.OLDSTYLEBOLD,"-tex-mathit":mm.ITALIC};class $g extends og{static getAttribute_(t,e,s){if(!t.hasAttribute(e))return s;const i=t.getAttribute(e);return i.match(/^\s*$/)?null:i}constructor(t){super("MathML"),this.options=t,Gg.options=t,this.parseMap_=new Map([[Um.SEMANTICS,this.semantics_.bind(this)],[Um.MATH,this.rows_.bind(this)],[Um.MROW,this.rows_.bind(this)],[Um.MPADDED,this.rows_.bind(this)],[Um.MSTYLE,this.rows_.bind(this)],[Um.MFRAC,this.fraction_.bind(this)],[Um.MSUB,this.limits_.bind(this)],[Um.MSUP,this.limits_.bind(this)],[Um.MSUBSUP,this.limits_.bind(this)],[Um.MOVER,this.limits_.bind(this)],[Um.MUNDER,this.limits_.bind(this)],[Um.MUNDEROVER,this.limits_.bind(this)],[Um.MROOT,this.root_.bind(this)],[Um.MSQRT,this.sqrt_.bind(this)],[Um.MTABLE,this.table_.bind(this)],[Um.MLABELEDTR,this.tableLabeledRow_.bind(this)],[Um.MTR,this.tableRow_.bind(this)],[Um.MTD,this.tableCell_.bind(this)],[Um.MS,this.text_.bind(this)],[Um.MTEXT,this.text_.bind(this)],[Um.MSPACE,this.space_.bind(this)],[Um.ANNOTATIONXML,this.text_.bind(this)],[Um.MI,this.identifier_.bind(this)],[Um.MN,this.number_.bind(this)],[Um.MO,this.operator_.bind(this)],[Um.MFENCED,this.fenced_.bind(this)],[Um.MENCLOSE,this.enclosed_.bind(this)],[Um.MMULTISCRIPTS,this.multiscripts_.bind(this)],[Um.ANNOTATION,this.empty_.bind(this)],[Um.NONE,this.empty_.bind(this)],[Um.MACTION,this.action_.bind(this)],[Um.MPHANTOM,this.phantom_.bind(this)]]);const e={type:hm.IDENTIFIER,role:um.NUMBERSET,font:mm.DOUBLESTRUCK};["C","H","N","P","Q","R","Z","\u2102","\u210d","\u2115","\u2119","\u211a","\u211d","\u2124"].forEach((t=>this.getFactory().defaultMap.set(t,e)).bind(this))}parse(t){Xg.getInstance().setNodeFactory(this.getFactory());const e=Up(t.childNodes),s=Xp(t),i=this.parseMap_.get(s),n=(i||this.dummy_.bind(this))(t,e);return n.noupdate?n:(Qm(n,t),-1!==[Um.MATH,Um.MROW,Um.MPADDED,Um.MSTYLE,Um.SEMANTICS,Um.MACTION].indexOf(s)||(n.mathml.unshift(t),n.mathmlTree=t),n)}semantics_(t,e){return e.length?this.parse(e[0]):this.getFactory().makeEmptyNode()}rows_(t,e){const s=t.getAttribute("semantics");if(s&&s.match("bspr_"))return Xg.proof(t,s,this.parseList.bind(this));let i;if(1===(e=Ym(e)).length)i=this.parse(e[0]),i.type!==hm.EMPTY||i.mathmlTree||(i.mathmlTree=t);else{const s=Gg.run("function_from_identifiers",t);i=s&&s!==t?s:Xg.getInstance().row(this.parseList(e))}return i.mathml.unshift(t),i}fraction_(t,e){if(!e.length)return this.getFactory().makeEmptyNode();const s=this.parse(e[0]),i=e[1]?this.parse(e[1]):this.getFactory().makeEmptyNode();return Xg.getInstance().fractionLikeNode(s,i,t.getAttribute("linethickness"),"true"===t.getAttribute("bevelled"))}limits_(t,e){return Xg.getInstance().limitNode(Xp(t),this.parseList(e))}root_(t,e){return e[1]?this.getFactory().makeBranchNode(hm.ROOT,[this.parse(e[1]),this.parse(e[0])],[]):this.sqrt_(t,e)}sqrt_(t,e){const s=this.parseList(Ym(e));return this.getFactory().makeBranchNode(hm.SQRT,[Xg.getInstance().row(s)],[])}table_(t,e){const s=t.getAttribute("semantics");if(s&&s.match("bspr_"))return Xg.proof(t,s,this.parseList.bind(this));const i=this.getFactory().makeBranchNode(hm.TABLE,this.parseList(e),[]);return i.mathmlTree=t,Xg.tableToMultiline(i)}tableRow_(t,e){const s=this.getFactory().makeBranchNode(hm.ROW,this.parseList(e),[]);return s.role=um.TABLE,s}tableLabeledRow_(t,e){var s;if(!e.length)return this.tableRow_(t,e);const i=this.parse(e[0]);i.role=um.LABEL,(null===(s=i.childNodes[0])||void 0===s?void 0:s.type)===hm.TEXT&&(i.childNodes[0].role=um.LABEL);const n=this.getFactory().makeBranchNode(hm.ROW,this.parseList(e.slice(1)),[i]);return n.role=um.TABLE,n}tableCell_(t,e){const s=this.parseList(Ym(e));let i;i=s.length?1===s.length&&ag(s[0],hm.EMPTY)?s:[Xg.getInstance().row(s)]:[];const n=this.getFactory().makeBranchNode(hm.CELL,i,[]);return n.role=um.TABLE,n}phantom_(t,e){let s;return e.length?(s=this.getFactory().makeUnprocessed(t),s.type=hm.TEXT,s.role=um.SPACE):s=this.empty_(t,e),s}space_(t,e){const s=t.getAttribute("width"),i=s&&s.match(/[a-z]*$/);if(!i)return this.empty_(t,e);const n=i[0],r=parseFloat(s.slice(0,i.index)),o={cm:.4,pc:.5,em:.5,ex:1,in:.15,pt:5,mm:5}[n];if(!o||isNaN(r)||r<o)return this.empty_(t,e);const a=this.getFactory().makeUnprocessed(t);return Xg.getInstance().text(a,Xp(t))}text_(t,e){const s=this.leaf_(t,e);return t.textContent?(s.updateContent(t.textContent,!0),Xg.getInstance().text(s,Xp(t))):s}identifier_(t,e){const s=this.leaf_(t,e);return Xg.getInstance().identifierNode(s,Xg.getInstance().font(t.getAttribute("mathvariant")),t.getAttribute("class"))}number_(t,e){const s=this.leaf_(t,e);return Xg.number(s),s}operator_(t,e){const s=this.leaf_(t,e);return Xg.getInstance().operatorNode(s),s}fenced_(t,e){const s=this.parseList(e);s.forEach(t=>{ag(t,hm.EMPTY)&&t.addAnnotation("empty","MFENCED")});const i=$g.getAttribute_(t,"separators",","),n=$g.getAttribute_(t,"open","("),r=$g.getAttribute_(t,"close",")"),o=Xg.getInstance().mfenced(n,r,i,s);o.mathmlTree=t,o.addMathmlNodes([t]);return Xg.getInstance().tablesInRow([o])[0]}enclosed_(t,e){const s=this.parseList(Ym(e)),i=this.getFactory().makeBranchNode(hm.ENCLOSE,[Xg.getInstance().row(s)],[]);return i.role=t.getAttribute("notation")||um.UNKNOWN,i}multiscripts_(t,e){if(!e.length)return this.getFactory().makeEmptyNode();const s=this.parse(e.shift());if(!e.length)return s;const i=[],n=[],r=[],o=[];let a=!1,l=0;for(let t,s=0;t=e[s];s++)Xp(t)!==Um.MPRESCRIPTS?(a?1&l?i.push(t):n.push(t):1&l?r.push(t):o.push(t),l++):(a=!0,l=0);return Ym(i).length||Ym(n).length?Xg.getInstance().tensor(s,this.parseList(n),this.parseList(i),this.parseList(o),this.parseList(r)):Xg.getInstance().pseudoTensor(s,this.parseList(o),this.parseList(r))}empty_(t,e){const s=this.getFactory().makeEmptyNode();return s.addMathmlNodes([t]),s.mathmlTree=t,s}action_(t,e){const s=e[t.hasAttribute("selection")?parseInt(t.getAttribute("selection"),10)-1:0],i=this.parse(s);return i.mathmlTree=s,i}dummy_(t,e){const s=this.getFactory().makeUnprocessed(t);return s.role=t.tagName,s.textContent=t.textContent,s}leaf_(t,e){if(1===e.length&&e[0].nodeType!==_p.TEXT_NODE){const s=this.getFactory().makeUnprocessed(t);return s.role=e[0].tagName,Qm(s,e[0]),s}const s=this.getFactory().makeLeafNode(t.textContent,Xg.getInstance().font(t.getAttribute("mathvariant")));return t.hasAttribute("data-latex")&&Nm.LatexCommands.set(t.getAttribute("data-latex"),t.textContent),s}}class Jg{constructor(t,e,s=t=>!1){this.name=t,this.apply=e,this.applicable=s}}class Yg extends Jg{}class Qg extends Jg{}function Zg(t,e){const s=[];for(;t.length||e.length;)t.length&&s.push(t.shift()),e.length&&s.push(e.shift());return s}const tf="data-semantic-";var ef;!function(t){t.ADDED="data-semantic-added",t.ALTERNATIVE="data-semantic-alternative",t.CHILDREN="data-semantic-children",t.COLLAPSED="data-semantic-collapsed",t.CONTENT="data-semantic-content",t.EMBELLISHED="data-semantic-embellished",t.FENCEPOINTER="data-semantic-fencepointer",t.FONT="data-semantic-font",t.ID="data-semantic-id",t.ANNOTATION="data-semantic-annotation",t.ATTRIBUTES="data-semantic-attributes",t.OPERATOR="data-semantic-operator",t.OWNS="data-semantic-owns",t.PARENT="data-semantic-parent",t.POSTFIX="data-semantic-postfix",t.PREFIX="data-semantic-prefix",t.ROLE="data-semantic-role",t.SPEECH="data-semantic-speech",t.STRUCTURE="data-semantic-structure",t.SUMMARY="data-semantic-summary",t.TYPE="data-semantic-type"}(ef||(ef={}));const sf=[ef.ADDED,ef.ALTERNATIVE,ef.CHILDREN,ef.COLLAPSED,ef.CONTENT,ef.EMBELLISHED,ef.FENCEPOINTER,ef.FONT,ef.ID,ef.ANNOTATION,ef.ATTRIBUTES,ef.OPERATOR,ef.OWNS,ef.PARENT,ef.POSTFIX,ef.PREFIX,ef.ROLE,ef.SPEECH,ef.STRUCTURE,ef.SUMMARY,ef.TYPE];function nf(t){return t.map(function(t){return t.id}).join(",")}function rf(t,e){t.setAttribute(ef.TYPE,e.type);const s=e.allAttributes();for(let e,i=0;e=s[i];i++)t.setAttribute(tf+e[0].toLowerCase(),e[1]);e.childNodes.length&&t.setAttribute(ef.CHILDREN,nf(e.childNodes)),e.contentNodes.length&&t.setAttribute(ef.CONTENT,nf(e.contentNodes)),e.parent&&t.setAttribute(ef.PARENT,e.parent.id.toString());const i=e.attributesXml();i&&t.setAttribute(ef.ATTRIBUTES,i),function(t,e){const s=[];e.role===um.MGLYPH&&s.push("image");e.attributes.href&&s.push("link");s.length&&t.setAttribute(ef.POSTFIX,s.join(" "))}(t,e)}function of(){const t=qp("mrow");return t.setAttribute(ef.ADDED,"true"),t}class af{static fromTree(t){return af.fromNode(t.root)}static fromNode(t){return new af(af.fromNode_(t))}static fromString(t){return new af(af.fromString_(t))}static simpleCollapseStructure(t){return"number"==typeof t}static contentCollapseStructure(t){return!!t&&!af.simpleCollapseStructure(t)&&"c"===t[0]}static interleaveIds(t,e){return Zg(af.collapsedLeafs(t),af.collapsedLeafs(e))}static collapsedLeafs(...t){return t.reduce((t,e)=>{return t.concat((s=e,af.simpleCollapseStructure(s)?[s]:af.contentCollapseStructure(s[1])?s.slice(2):s.slice(1)));var s},[])}static fromStructure(t,e,s){return new af(af.tree_(t,e.root,s))}static combineContentChildren(t,e,s,i){switch(t){case hm.RELSEQ:case hm.INFIXOP:case hm.MULTIREL:return Zg(i,s);case hm.PREFIXOP:return s.concat(i);case hm.POSTFIXOP:return i.concat(s);case hm.MATRIX:case hm.VECTOR:case hm.FENCED:return i.unshift(s[0]),i.push(s[1]),i;case hm.CASES:return i.unshift(s[0]),i;case hm.APPL:return[i[0],s[0],i[1]];case hm.ROOT:return[i[0],i[1]];case hm.ROW:case hm.LINE:return s.length&&i.push(s[0]),i;default:return i}}static makeSexp_(t){return af.simpleCollapseStructure(t)?t.toString():af.contentCollapseStructure(t)?"(c "+t.slice(1).map(af.makeSexp_).join(" ")+")":"("+t.map(af.makeSexp_).join(" ")+")"}static fromString_(t){let e=t.replace(/\(/g,"[");return e=e.replace(/\)/g,"]"),e=e.replace(/ /g,","),e=e.replace(/c/g,'"c"'),JSON.parse(e)}static fromNode_(t){if(!t)return[];const e=t.contentNodes;let s;e.length&&(s=e.map(af.fromNode_),s.unshift("c"));const i=t.childNodes;if(!i.length)return e.length?[t.id,s]:t.id;const n=i.map(af.fromNode_);return e.length&&n.unshift(s),n.unshift(t.id),n}static tree_(t,e,s,i=0,n=1,r=1){if(!e)return[];const o=e.id,a=[o];!function(t){if(Op.getInstance().mode!==ip.HTTP)return;let e=t;for(;e&&!e.evaluate;)e=e.parentNode;e&&e.evaluate?Dp.currentDocument=e:t.ownerDocument&&(Dp.currentDocument=t.ownerDocument)}(t);const l=function(t,e){let s;try{s=jp(t,e,Dp.result.ORDERED_NODE_ITERATOR_TYPE)}catch(t){return[]}const i=[];for(let t=s.iterateNext();t;t=s.iterateNext())i.push(t);return i}(`.//self::*[@${ef.ID}=${o}]`,t)[0];if(!e.childNodes.length)return af.addAria(l,i,n,r,s),e.id;const c=af.combineContentChildren(e.type,e.role,e.contentNodes.map(function(t){return t}),e.childNodes.map(function(t){return t}));l&&af.addOwns_(l,c);for(let e,n=0,r=c.length;e=c[n];n++)a.push(af.tree_(t,e,s,i+1,n+1,r));return af.addAria(l,i,n,r,s),a}static addAria(t,e,s,i,n){const r=n.tree?e?"treeitem":"tree":"treeitem";n.aria&&t&&(t.setAttribute("aria-level",e.toString()),t.setAttribute("aria-posinset",s.toString()),t.setAttribute("aria-setsize",i.toString()),t.setAttribute("role",r),t.hasAttribute(ef.OWNS)&&t.setAttribute("aria-owns",t.getAttribute(ef.OWNS)))}static addOwns_(t,e){const s=t.getAttribute(ef.COLLAPSED),i=s?af.realLeafs_(af.fromString(s).array):e.map(t=>t.id);t.setAttribute(ef.OWNS,i.join(" "))}static realLeafs_(t){if(af.simpleCollapseStructure(t))return[t];if(af.contentCollapseStructure(t))return[];let e=[];for(let s=1;s<t.length;s++)e=e.concat(af.realLeafs_(t[s]));return e}constructor(t){this.parents=null,this.levelsMap=null,t=0===t?t:t||[],this.array=t}populate(){this.parents&&this.levelsMap||(this.parents={},this.levelsMap={},this.populate_(this.array,this.array,[]))}toString(){return af.makeSexp_(this.array)}populate_(t,e,s){if(af.simpleCollapseStructure(t))return this.levelsMap[t]=e,void(this.parents[t]=t===s[0]?s.slice(1):s);const i=af.contentCollapseStructure(t)?t.slice(1):t,n=[i[0]].concat(s);for(let e=0,s=i.length;e<s;e++){const s=i[e];this.populate_(s,t,n)}}isRoot(t){return t===this.levelsMap[t][0]}directChildren(t){if(!this.isRoot(t))return[];return this.levelsMap[t].slice(1).map(t=>af.simpleCollapseStructure(t)?t:af.contentCollapseStructure(t)?t[1]:t[0])}subtreeNodes(t){if(!this.isRoot(t))return[];const e=(t,s)=>{af.simpleCollapseStructure(t)?s.push(t):(af.contentCollapseStructure(t)&&(t=t.slice(1)),t.forEach(t=>e(t,s)))},s=this.levelsMap[t],i=[];return e(s.slice(1),i),i}}function lf(t,e,s){let i=null;if(!t.length)return i;const n=s[s.length-1],r=n&&n.length,o=e&&e.length,a=Xg.getInstance();if(r&&o){if(e[0].type===hm.INFIXOP&&e[0].role===um.IMPLICIT)return i=t.pop(),n.push(a.postfixNode_(n.pop(),t)),i;i=t.shift();const s=a.prefixNode_(e.shift(),t);return e.unshift(s),i}return r?(n.push(a.postfixNode_(n.pop(),t)),i):(o&&e.unshift(a.prefixNode_(e.shift(),t)),i)}function cf(t,e,s){if(!e.length)return t;const i=t.pop(),n=e.shift(),r=s.shift();if(n.type===hm.INFIXOP&&(n.role===um.IMPLICIT||n.role===um.UNIT)){Sp.getInstance().output("Juxta Heuristic Case 2");const o=(i?[i,n]:[n]).concat(r);return cf(t.concat(o),e,s)}if(!i)return Sp.getInstance().output("Juxta Heuristic Case 3"),cf([n].concat(r),e,s);const o=r.shift();if(!o){Sp.getInstance().output("Juxta Heuristic Case 9");const r=Gg.factory.makeBranchNode(hm.INFIXOP,[i,e.shift()],[n],n.textContent);return r.role=um.IMPLICIT,Gg.run("combine_juxtaposition",r),e.unshift(r),cf(t,e,s)}if(bg(i)||bg(o))return Sp.getInstance().output("Juxta Heuristic Case 4"),cf(t.concat([i,n,o]).concat(r),e,s);let a=null;return _g(i)&&_g(o)?(Sp.getInstance().output("Juxta Heuristic Case 5"),i.contentNodes.push(n),i.contentNodes=i.contentNodes.concat(o.contentNodes),i.childNodes.push(o),i.childNodes=i.childNodes.concat(o.childNodes),o.childNodes.forEach(t=>t.parent=i),n.parent=i,i.addMathmlNodes(n.mathml),i.addMathmlNodes(o.mathml),a=i):_g(i)?(Sp.getInstance().output("Juxta Heuristic Case 6"),i.contentNodes.push(n),i.childNodes.push(o),o.parent=i,n.parent=i,i.addMathmlNodes(n.mathml),i.addMathmlNodes(o.mathml),a=i):_g(o)?(Sp.getInstance().output("Juxta Heuristic Case 7"),o.contentNodes.unshift(n),o.childNodes.unshift(i),i.parent=o,n.parent=o,o.addMathmlNodes(n.mathml),o.addMathmlNodes(i.mathml),a=o):(Sp.getInstance().output("Juxta Heuristic Case 8"),a=Gg.factory.makeBranchNode(hm.INFIXOP,[i,o],[n],n.textContent),a.role=um.IMPLICIT),t.push(a),cf(t.concat(r),e,s)}function hf(t){return t.childNodes[0]&&t.childNodes[0].childNodes[0]&&Xp(t.childNodes[0])===Um.MPADDED&&Xp(t.childNodes[0].childNodes[0])===Um.MPADDED&&Xp(t.childNodes[0].childNodes[t.childNodes[0].childNodes.length-1])===Um.MPHANTOM}Gg.add(new Yg("combine_juxtaposition",function(t){for(let e,s=t.childNodes.length-1;e=t.childNodes[s];s--)_g(e)&&!e.nobreaking&&(t.childNodes.splice(s,1,...e.childNodes),t.contentNodes.splice(s,0,...e.contentNodes),e.childNodes.concat(e.contentNodes).forEach(function(e){e.parent=t}),t.addMathmlNodes(e.mathml));return t})),Gg.add(new Yg("propagateSimpleFunction",t=>(t.type!==hm.INFIXOP&&t.type!==hm.FRACTION||!t.childNodes.every(Mg)||(t.role=um.COMPFUNC),t),t=>"clearspeak"===Gg.options.domain)),Gg.add(new Yg("simpleNamedFunction",t=>(t.role!==um.UNIT&&-1!==["f","g","h","F","G","H"].indexOf(t.textContent)&&(t.role=um.SIMPLEFUNC),t),t=>"clearspeak"===Gg.options.domain)),Gg.add(new Yg("propagateComposedFunction",t=>(t.type===hm.FENCED&&t.childNodes[0].role===um.COMPFUNC&&(t.role=um.COMPFUNC),t),t=>"clearspeak"===Gg.options.domain)),Gg.add(new Yg("multioperator",t=>{t.role!==um.UNKNOWN||t.textContent.length<=1||(Xg.compSemantics(t,"role",um),Xg.compSemantics(t,"type",hm))})),Gg.add(new Qg("convert_juxtaposition",t=>{let e=eg(t,function(t){return t.textContent===Em.invisibleTimes&&t.type===hm.OPERATOR});e=e.rel.length?function(t){const e=[],s=[];let i=t.comp.shift(),n=null,r=[];for(;t.comp.length;)if(r=[],i.length)n&&e.push(n),s.push(i),n=t.rel.shift(),i=t.comp.shift();else{for(n&&r.push(n);!i.length&&t.comp.length;)i=t.comp.shift(),r.push(t.rel.shift());n=lf(r,i,s)}r.length||i.length?(e.push(n),s.push(i)):(r.push(n),lf(r,i,s));return{rel:e,comp:s}}(e):e,t=e.comp[0];for(let s,i,n=1;s=e.comp[n],i=e.rel[n-1];n++)t.push(i),t=t.concat(s);return e=eg(t,function(t){return t.textContent===Em.invisibleTimes&&(t.type===hm.OPERATOR||t.type===hm.INFIXOP)}),e.rel.length?cf(e.comp.shift(),e.rel,e.comp):t})),Gg.add(new Yg("simple2prefix",t=>(t.textContent.length>1&&!t.textContent[0].match(/[A-Z]/)&&(t.role=um.PREFIXFUNC),t),t=>"braille"===Gg.options.modality&&t.type===hm.IDENTIFIER)),Gg.add(new Yg("detect_cycle",t=>{t.type=hm.MATRIX,t.role=um.CYCLE;const e=t.childNodes[0];return e.type=hm.ROW,e.role=um.CYCLE,e.textContent="",e.contentNodes=[],t},t=>t.type===hm.FENCED&&t.childNodes[0].type===hm.INFIXOP&&t.childNodes[0].role===um.IMPLICIT&&t.childNodes[0].childNodes.every(function(t){return t.type===hm.NUMBER})&&t.childNodes[0].contentNodes.every(function(t){return t.role===um.SPACE}))),Gg.add(new Qg("intvar_from_implicit",function(t){const e=t[0].childNodes;t.splice(0,1,...e),t.forEach(t=>t.parent=null)},t=>t[0]&&jg(t[0]))),Gg.add(new Yg("intvar_from_fraction",function(t){const e=t.childNodes[1],s=e.childNodes[0];if(mg(s))return void(s.role=um.INTEGRAL);if(!jg(s))return;const i=s.childNodes.length,n=s.childNodes[i-2],r=s.childNodes[i-1];if(mg(r))return void(r.role=um.INTEGRAL);if(pg(n,r)){const t=Xg.getInstance().prefixNode_(r,[n]);t.role=um.INTEGRAL,2===i?e.childNodes[0]=t:(s.childNodes.pop(),s.contentNodes.pop(),s.childNodes[i-2]=t,t.parent=s)}},t=>{if(t.type!==hm.INTEGRAL)return!1;const[,e,s]=t.childNodes;return s.type===hm.EMPTY&&e.type===hm.FRACTION})),Gg.add(new Yg("rewrite_subcases",function(t){t.addAnnotation("Emph","top");let e=[];if(t.hasAnnotation("Emph","left")){const s=uf(t.childNodes[0].childNodes[0].childNodes[0],!0);s.forEach(t=>t.addAnnotation("Emph","left")),e=e.concat(s);for(let e,s=0;e=t.childNodes[s];s++)e.childNodes.shift()}if(e.push(t),t.hasAnnotation("Emph","right")){const s=uf(t.childNodes[0].childNodes[t.childNodes[0].childNodes.length-1].childNodes[0]);s.forEach(t=>t.addAnnotation("Emph","left")),e=e.concat(s),t.childNodes[0].childNodes.pop()}Xg.tableToMultiline(t);const s=Xg.getInstance().row(e),i=t.annotation.Emph;return t.annotation.Emph=["table"],i.forEach(t=>s.addAnnotation("Emph",t)),s},t=>{let e=!0,s=!0;const i=t.childNodes[0].childNodes[0];if(!i)return!1;if(hf(i.mathmlTree)){for(let s,i=1;s=t.childNodes[i];i++)if(s.childNodes[0].childNodes.length){e=!1;break}}else e=!1;e&&t.addAnnotation("Emph","left");if(hf(t.childNodes[0].childNodes[t.childNodes[0].childNodes.length-1].mathmlTree)){const e=t.childNodes[0].childNodes.length;for(let i,n=1;i=t.childNodes[n];n++)if(i.childNodes.length>=e){s=!1;break}}else s=!1;return s&&t.addAnnotation("Emph","right"),e||s}));const df=[hm.PUNCTUATED,hm.RELSEQ,hm.MULTIREL,hm.INFIXOP,hm.PREFIXOP,hm.POSTFIXOP];function uf(t,e){if(!t.childNodes.length)return mf(t),[t];let s=null;if(t.type===hm.PUNCTUATED&&(e?t.role===um.ENDPUNCT:t.role===um.STARTPUNCT)){const i=t.childNodes;mf(i[e?i.length-1:0])&&(t=i[e?0:i.length-1],s=i[e?i.length-1:0])}if(-1!==df.indexOf(t.type)){const i=t.childNodes;mf(i[e?i.length-1:0]);const n=af.combineContentChildren(t.type,t.role,t.contentNodes,t.childNodes);return s&&(e?n.push(s):n.unshift(s)),n}return s?e?[t,s]:[s,t]:[t]}const pf={[um.METRIC]:um.METRIC,[um.VBAR]:um.NEUTRAL,[um.OPENFENCE]:um.OPEN,[um.CLOSEFENCE]:um.CLOSE};function mf(t){if(t.type!==hm.PUNCTUATION)return!1;const e=pf[t.role];return!!e&&(t.role=e,t.type=hm.FENCE,t.addAnnotation("Emph","fence"),!0)}function gf(t,e,s,i=s){const n=[];for(;t&&t.role===s;)n.push(t),t=e.shift();return n.length?(t&&e.unshift(t),[1===n.length?n[0]:ff(n,i),e]):[t,e]}function ff(t,e){const s=Gg.factory.makeBranchNode(hm.PUNCTUATION,t,[]);return s.role=e,s}function bf(t){return["[","\uff3b"].includes(t)}function Ef(t){return["]","\uff3d"].includes(t)}function yf(t){return["(","\u207d","\u208d"].includes(t)}function xf(t){return[")","\u207e","\u208e"].includes(t)}function Nf(t){return t.role===um.INFTY||t.type===hm.PREFIXOP&&t.childNodes[0].role===um.INFTY}function vf(t){const e=t.childNodes[0];if(t.type!==hm.FENCED||(null==e?void 0:e.type)!==hm.PUNCTUATED||3!==(null==e?void 0:e.childNodes.length)||1!==(null==e?void 0:e.contentNodes.length)||(null==e?void 0:e.childNodes[1].role)!==um.COMMA)return!1;const s=t.childNodes[0].childNodes[0],i=t.childNodes[0].childNodes[2],n=t.contentNodes[0].textContent,r=t.contentNodes[1].textContent;return!!(bf(n)&&xf(r)||yf(n)&&Ef(r))||!(!yf(n)||!xf(r)||!Nf(s)&&!Nf(i))}function Tf(t){return Sf(t)||function(t){return Af(t)||t.type===hm.INFIXOP&&t.role===um.IMPLICIT&&(2===t.childNodes.length&&(Af(t.childNodes[0])||Sf(t.childNodes[0]))&&Af(t.childNodes[1])||3===t.childNodes.length&&Sf(t.childNodes[0])&&Af(t.childNodes[1])&&Af(t.childNodes[2]))}(t)||function(t){return t.type===hm.PUNCTUATED&&t.role===um.ENDPUNCT&&2===t.childNodes.length&&t.childNodes[1].role===um.DEGREE&&(Af(t.childNodes[0])||Lf(t.childNodes[0])||t.childNodes[0].type===hm.PREFIXOP&&t.childNodes[0].role===um.NEGATIVE&&(Af(t.childNodes[0].childNodes[0])||Lf(t.childNodes[0].childNodes[0])))}(t)||function(t){return t.type===hm.PREFIXOP&&t.role===um.NEGATIVE&&Cf(t.childNodes[0])&&t.childNodes[0].type!==hm.PREFIXOP&&t.childNodes[0].type!==hm.APPL&&t.childNodes[0].type!==hm.PUNCTUATED}(t)||function(t){return t.type===hm.APPL&&(t.childNodes[0].role===um.PREFIXFUNC||t.childNodes[0].role===um.SIMPLEFUNC)&&(Cf(t.childNodes[1])||t.childNodes[1].type===hm.FENCED&&Cf(t.childNodes[1].childNodes[0]))}(t)}function Cf(t){return t.hasAnnotation("clearspeak","simple")}function Af(t){return t.type===hm.IDENTIFIER&&(t.role===um.LATINLETTER||t.role===um.GREEKLETTER||t.role===um.OTHERLETTER||t.role===um.SIMPLEFUNC)}function Lf(t){return t.type===hm.NUMBER&&(t.role===um.INTEGER||t.role===um.FLOAT)}function Sf(t){return Lf(t)||function(t){if(Rf("Fraction_Over")||Rf("Fraction_FracOver"))return!1;if(t.type!==hm.FRACTION||t.role!==um.VULGAR)return!1;if(Rf("Fraction_Ordinal"))return!0;const e=parseInt(t.childNodes[0].textContent,10),s=parseInt(t.childNodes[1].textContent,10);return e>0&&e<20&&s>0&&s<11}(t)}function Rf(t){return Op.getInstance().options.style===t}function If(t){return t.type===hm.TEXT&&t.role!==um.LABEL||t.type===hm.PUNCTUATED&&t.role===um.TEXT&&Lf(t.childNodes[0])&&function(t){for(let e=0;e<t.length-1;e++)if(t[e].type!==hm.TEXT||""!==t[e].textContent)return!1;return t[t.length-1].type===hm.TEXT}(t.childNodes.slice(1))||t.type===hm.IDENTIFIER&&t.role===um.UNIT||t.type===hm.INFIXOP&&(t.role===um.IMPLICIT||t.role===um.UNIT)}Gg.add(new Qg("ellipses",t=>{const e=[];let s=t.shift();for(;s;)[s,t]=gf(s,t,um.FULLSTOP,um.ELLIPSIS),[s,t]=gf(s,t,um.DASH),e.push(s),s=t.shift();return e},t=>t.length>1)),Gg.add(new Qg("op_with_limits",t=>{const e=t[0];return e.type=hm.LARGEOP,e.role=um.SUM,t},t=>(t[0].type===hm.OPERATOR||t[0].type===hm.IDENTIFIER&&"OP"===t[0].attributes.texclass)&&t.slice(1).some(t=>t.type===hm.RELSEQ||t.type===hm.MULTIREL||t.type===hm.INFIXOP&&t.role===um.ELEMENT||t.type===hm.PUNCTUATED&&t.role===um.SEQUENCE))),Gg.add(new class extends Jg{}("function_from_identifiers",t=>{const e=Up(t.childNodes).map(t=>t.textContent.trim()).join("");if(Nm.Meaning.get(e).type===hm.UNKNOWN)return t;const s=Gg.factory.makeLeafNode(e,Xg.getInstance().font(t.getAttribute("mathvariant")));return s.mathmlTree=t,s},t=>{const e=Up(t.childNodes);return!(e.length<2)&&e.every(t=>Xp(t)===Um.MI&&Nm.Meaning.get(t.textContent.trim()).role===um.LATINLETTER)})),Gg.add(new Qg("bracketed_interval",t=>{const e=t[0],s=t[1],i=t.slice(2),n=Xg.getInstance().row(i),r=Gg.factory.makeBranchNode(hm.FENCED,[n],[e,s]);return r.role=um.INTERVAL,r},t=>{const e=t[0],s=t[1],i=t.slice(2);if(!(e&&s&&(Ef(e.textContent)&&(bf(s.textContent)||Ef(s.textContent))||bf(s.textContent)&&(bf(e.textContent)||Ef(e.textContent)))))return!1;if(1===i.length&&i[0].type===hm.PUNCTUATED&&1===i[0].contentNodes.length)return!0;const n=eg(i,yg);return!(1!==n.rel.length||!n.comp[0].length||!n.comp[1].length)})),Gg.add(new Yg("interval_heuristic",t=>(t.role=um.INTERVAL,t),t=>vf(t))),Gg.add(new Yg("propagateInterval",t=>(t.childNodes.forEach(t=>{vf(t)&&(t.role=um.INTERVAL)}),t),t=>Vg(t))),Qp(new Kp("clearspeak","simple",function(t){return Tf(t)?"simple":""})),Zp("clearspeak","simple"),Qp(new Kp("clearspeak","unit",function(t){return If(t)?"unit":""})),Zp("clearspeak","unit");const wf=[hm.MULTIREL,hm.RELSEQ,hm.APPL,hm.ROW,hm.LINE],Mf=[hm.SUBSCRIPT,hm.SUPERSCRIPT,hm.OVERSCORE,hm.UNDERSCORE];function Of(t,e){const s=t.parent;if(!s)return!1;const i=s.type;return-1!==wf.indexOf(i)||i===hm.PREFIXOP&&s.role===um.NEGATIVE&&!e.script&&!e.enclosed||i===hm.PREFIXOP&&s.role===um.GEOMETRY||!(i!==hm.PUNCTUATED||e.enclosed&&s.role!==um.TEXT)}Qp(new $p("nemeth","number",function(t,e){return t.childNodes.length?(-1!==Mf.indexOf(t.type)&&(e.script=!0),t.type===hm.FENCED?(e.number=!1,e.enclosed=!0,["",e]):t.type===hm.PREFIXOP&&t.role!==um.GEOMETRY&&t.role!==um.NEGATIVE?(e.number=!1,["",e]):(Of(t,e)&&(e.number=!0,e.enclosed=!1),["",e])):(Of(t,e)&&(e.number=!0,e.script=!1,e.enclosed=!1),[e.number?"number":"",{number:!1,enclosed:e.enclosed,script:e.script}])},{number:!0})),Zp("nemeth","number"),Qp(new $p("depth","depth",function(t){return t.parent?[parseInt(t.parent.annotation.depth[0])+1]:[1]})),Zp("depth","depth");class kf{static empty(){const t=Hp("<math/>"),e=new kf(t,new Rp);return e.mathml=t,e}static fromNode(t,e){const s=kf.empty();return s.root=t,e&&(s.mathml=e),s}static fromRoot(t,e){let s=t;for(;s.parent;)s=s.parent;const i=kf.fromNode(s);return e&&(i.mathml=e),i}static fromXml(t){const e=kf.empty();return t.childNodes[0]&&(e.root=ng.fromXml(t.childNodes[0])),e}constructor(t,e){this.mathml=t,this.options=e,this.parser=new $g(e),this.root=this.parser.parse(t),this.root=Xg.rewriteTrivialTable(this.root),this.collator=this.parser.getFactory().leafMap.collateMeaning();const s=this.collator.newDefault();s&&(this.parser=new $g(e),this.parser.getFactory().defaultMap=s,this.root=this.parser.parse(t)),Df.visit(this.root,{}),function(t){for(const e of Jp.values())e.active&&e.annotate(t);for(const e of Yp.values())e.active&&e.visit(t,Object.assign({},e.def))}(this.root)}xml(t){const e=Hp("<stree></stree>"),s=this.root.xml(e.ownerDocument,t);return e.appendChild(s),e}toString(t){return zp(this.xml(t))}formatXml(t){return Vp(this.toString(t))}displayTree(){this.root.displayTree()}replaceNode(t,e){const s=t.parent;s?s.replaceChild(t,e):this.root=e}toJson(){const t={};return t.stree=this.root.toJson(),t}}const Df=new $p("general","unit",(t,e)=>(Fg(t)&&(t.role=um.UNIT),!1));function Pf(t,e){return new kf(t,e)}const Bf=[],Ff=!0,jf=new Map;function _f(t){Sp.getInstance().generate(()=>["WALKING START: ",t.toString()]);const e=function(t){for(let e,s=0;e=Bf[s];s++)if(e.test(t))return e.constr(t);return null}(t);let s;if(e)return s=e.getMathml(),Sp.getInstance().generate(()=>["WALKING END: ",t.toString()]),Qf(s);if(1===t.mathml.length){if(Sp.getInstance().output("Walktree Case 0"),!t.childNodes.length)return Sp.getInstance().output("Walktree Case 0.1"),s=t.mathml[0],rf(s,t),Sp.getInstance().generate(()=>["WALKING END: ",t.toString()]),Qf(s);const e=t.childNodes[0];if(1===t.childNodes.length&&e.type===hm.EMPTY)return Sp.getInstance().output("Walktree Case 0.2"),s=t.mathml[0],rf(s,t),s.appendChild(_f(e)),Sp.getInstance().generate(()=>["WALKING END: ",t.toString()]),Qf(s);t.childNodes.forEach(t=>{t.mathml.length||t.addMathmlNodes([ob(t)])})}const i=t.contentNodes.map(nb);ab(t,i);const n=t.childNodes.map(_f),r=af.combineContentChildren(t.type,t.role,i,n);if(s=t.mathmlTree,null===s)Sp.getInstance().output("Walktree Case 1"),s=Uf(r,t);else{s=rb(s);const t=$f(r);Sp.getInstance().output("Walktree Case 2"),t?(Sp.getInstance().output("Walktree Case 2.1"),s=sb(t)):(Sp.getInstance().output("Walktree Case 2.2"),s=lb(s))}return function(t,e,s){if(!e.length)return;if(1===e.length&&t===e[0])return;const i=s.role===um.IMPLICIT&&Gg.flags.combine_juxtaposition?function(t,e,s){const i=[];let n=Up(t.childNodes),r=!1;for(;n.length;){const t=n.shift();if(t.hasAttribute(ef.TYPE)){i.push(t);continue}const s=Wf(t,e);0!==s.length&&(1!==s.length?(r?t.setAttribute("AuxiliaryImplicit",!0):r=!0,n=s.concat(n)):i.push(t))}const o=[],a=s.childNodes.map(function(t){return t.mathmlTree});for(;a.length;){const t=a.pop();if(t){if(-1!==i.indexOf(t))break;-1!==e.indexOf(t)&&o.unshift(t)}}return i.concat(o)}(t,e,s):Up(t.childNodes);if(!i.length)return void e.forEach(function(e){t.appendChild(e)});let n=0;for(;e.length;){const s=e[0];if(i[n]===s||zf(i[n],s)){e.shift(),n++;continue}if(i[n]&&-1===e.indexOf(i[n])){n++;continue}if(Xf(s,t)){e.shift();continue}const r=i[n];if(!r){if(s.parentNode){t=sb(s),e.shift();continue}const i=e[1];if(i&&i.parentNode){Vf(t=sb(i),s,i),e.shift(),e.shift();continue}Vf(t,s,null),e.shift();continue}qf(t,r,s),e.shift()}}(s,r,t),jf.has(t.id)||(jf.set(t.id,!0),rf(s,t)),Sp.getInstance().generate(()=>["WALKING END: ",t.toString()]),Qf(s,t)}function Uf(t,e){const s=function(t){const e=$f(t);if(!e)return{type:Kf.INVALID,node:null};const s=$f(t.slice().reverse());if(e===s)return{type:Kf.VALID,node:e};const i=Jf(e),n=function(t,e){let s=0;for(;t[s]&&-1===e.indexOf(t[s]);)s++;return t.slice(0,s+1)}(i,t),r=Jf(s,function(t){return-1!==n.indexOf(t)}),o=r[0],a=n.indexOf(o);if(-1===a)return{type:Kf.INVALID,node:null};return{type:n.length!==i.length?Kf.PRUNED:Yf(n[a+1],r[1])?Kf.VALID:Kf.INVALID,node:o}}(t);let i=s.node;const n=s.type;if(n!==Kf.VALID||!$m(i)||!i.parentNode&&e.parent)if(Sp.getInstance().output("Walktree Case 1.1"),i=of(),n===Kf.PRUNED)Sp.getInstance().output("Walktree Case 1.1.0"),i=function(t,e,s){let i=Zf(e);if(zm(i)){Sp.getInstance().output("Walktree Case 1.1.0.0"),Hf(i,t),Up(i.childNodes).forEach(function(e){t.appendChild(e)});const e=t;t=i,i=e}const n=s.indexOf(e);return s[n]=i,Wp(i,t),t.appendChild(i),s.forEach(function(e){t.appendChild(e)}),t}(i,s.node,t);else if(t[0]){Sp.getInstance().output("Walktree Case 1.1.1");const e=$f(t);if(e){const s=function(t,e){const s=Up(t.childNodes);let i=1/0,n=-1/0;return e.forEach(function(t){const e=s.indexOf(t);-1!==e&&(i=Math.min(i,e),n=Math.max(n,e))}),s.slice(i,n+1)}(sb(e),t);Wp(e,i),s.forEach(function(t){i.appendChild(t)})}else Hf(i,t[0]),i=t[0]}return e.mathmlTree||(e.mathmlTree=i),i}function Hf(t,e){for(const s of sf)t.hasAttribute(s)&&(e.setAttribute(s,t.getAttribute(s)),t.removeAttribute(s))}function Wf(t,e){const s=[];let i=Up(t.childNodes);for(;i.length;){const t=i.shift();t.nodeType===_p.ELEMENT_NODE&&(t.hasAttribute(ef.TYPE)||-1!==e.indexOf(t)?s.push(t):i=Up(t.childNodes).concat(i))}return s}function qf(t,e,s){let i=e,n=sb(i);for(;n&&Gf(n,i)&&!i.hasAttribute("AuxiliaryImplicit")&&n!==t;)i=n,n=sb(i);n&&(Vf(n,s,i),i.removeAttribute("AuxiliaryImplicit"))}function Vf(t,e,s){Xp(t)===Um.MACTION?Vf(sb(t),e,t):t.insertBefore(e,s)}function Gf(t,e){if(Xp(t)!==Um.MACTION)return t.firstChild===e;const s=parseInt(t.getAttribute("selection"))||1;return t.childNodes[s-1]===e}function Xf(t,e){if(!t)return!1;do{if((t=sb(t))===e)return!0}while(t);return!1}function zf(t,e){const s=Em.functionApplication;if(t&&e&&t.textContent&&e.textContent&&t.textContent===s&&e.textContent===s&&"true"===e.getAttribute(ef.ADDED)){for(let s,i=0;s=t.attributes[i];i++)e.hasAttribute(s.nodeName)||e.setAttribute(s.nodeName,s.nodeValue);return Wp(t,e),!0}return!1}var Kf;function $f(t){let e=0,s=null;for(;!s&&e<t.length;)t[e].parentNode&&(s=t[e]),e++;return s}function Jf(t,e){const s=e||(t=>!1),i=[t];for(;!s(t)&&!zm(t)&&t.parentNode;)t=sb(t),i.unshift(t);return i}function Yf(t,e){return!(!t||!e||t.previousSibling||e.nextSibling)}function Qf(t,e){var s;let i=e&&!e.hasAnnotation("empty","MFENCED")&&e.getAnnotation("empty");for(;!zm(t)&&(tb(t)||i&&t.parentNode&&i.includes(null===(s=sb(t).tagName)||void 0===s?void 0:s.toUpperCase()));)t=sb(t);return t}function Zf(t){const e=Up(t.childNodes);if(!e)return t;const s=e.filter(function(t){return t.nodeType===_p.ELEMENT_NODE&&!Km(t)});return 1===s.length&&$m(s[0])&&!s[0].hasAttribute(ef.TYPE)?Zf(s[0]):t}function tb(t){const e=sb(t);return!(!e||!$m(e))&&Up(e.childNodes).every(function(e){return e===t||eb(e)})}function eb(t){if(t.nodeType!==_p.ELEMENT_NODE)return!0;if(!t||Km(t))return!0;const e=Up(t.childNodes);return!(!$m(t)&&e.length||function(t){return!!t&&Gm.includes(Xp(t))}(t)||t.hasAttribute(ef.TYPE)||Jm(t))&&Up(t.childNodes).every(eb)}function sb(t){return t.parentNode}function ib(t,e){const s=new af(e);t.setAttribute(ef.COLLAPSED,s.toString())}function nb(t){if(t.mathml.length)return _f(t);const e=Ff?ob(t):of();return t.addMathmlNodes([e]),e}function rb(t){if(Xp(t)!==Um.MFENCED)return t;const e=of();for(let s,i=0;s=t.attributes[i];i++)-1===["open","close","separators"].indexOf(s.name)&&e.setAttribute(s.name,s.value);return Up(t.childNodes).forEach(function(t){e.appendChild(t)}),Wp(t,e),e}function ob(t){const e=qp("mo"),s=(i=t.textContent,Ap.document.createTextNode(i));var i;return e.appendChild(s),rf(e,t),e.setAttribute(ef.ADDED,"true"),e}function ab(t,e){const s=t.type+(t.textContent?","+t.textContent:"");e.forEach(function(t){lb(t).setAttribute(ef.OPERATOR,s)})}function lb(t){if(Km(t))return t;const e=Up(t.childNodes);if(!e)return t;const s=e.filter(function(t){return!eb(t)}),i=[];for(let t,e=0;t=s[e];e++)if($m(t)&&t.getAttribute(ef.TYPE)!==hm.PUNCTUATION){const e=lb(t);e&&e!==t&&i.push(e)}else i.push(t);return 1===i.length?i[0]:t}function cb(t){return Vp(t.toString()).toString().replace(new RegExp(tf,"g"),"")}function hb(t,e){const s=!!e,i=e||[],n=t.parent,r=t.contentNodes.map(function(t){return t.id});r.unshift("c");const o=[t.id,r];for(let e,r=0;e=t.childNodes[r];r++){const t=_f(e);i.push(t);const r=lb(t);n&&!s&&r.setAttribute(ef.PARENT,n.id.toString()),o.push(e.id)}return o}!function(t){t.VALID="valid",t.INVALID="invalid",t.PRUNED="pruned"}(Kf||(Kf={}));class db{constructor(t){this.semantic=t}}class ub extends db{static test(t){return!t.mathmlTree&&t.type===hm.LINE&&t.role===um.BINOMIAL}constructor(t){super(t),this.mml=t.mathmlTree}getMathml(){if(!this.semantic.childNodes.length)return this.mml;const t=this.semantic.childNodes[0];if(this.mml=_f(t),this.mml.hasAttribute(ef.TYPE)){const t=of();Wp(this.mml,t),t.appendChild(this.mml),this.mml=t}return rf(this.mml,this.semantic),this.mml}}class pb extends db{static test(t){var e,s;return!!t.getAnnotation("collapsed").length&&(null===(s=null===(e=t.mathmlTree)||void 0===e?void 0:e.parentNode)||void 0===s?void 0:s.childNodes.length)>2}getMathml(){_f(this.semantic.childNodes[0]),_f(this.semantic.childNodes[1]);const t=this.semantic.mathmlTree,e=Uf([this.semantic.childNodes[0].mathmlTree,t],this.semantic);return rf(e,this.semantic),e}}class mb extends db{static test(t){if(!t.mathmlTree||!t.childNodes.length)return!1;const e=Xp(t.mathmlTree),s=t.childNodes[0].role;return e===Um.MSUBSUP&&s===um.SUBSUP||e===Um.MUNDEROVER&&s===um.UNDEROVER}constructor(t){super(t),this.mml=t.mathmlTree}getMathml(){const t=this.semantic.childNodes[0],e=t.childNodes[0],s=this.semantic.childNodes[1],i=t.childNodes[1],n=_f(s),r=_f(e),o=_f(i);return rf(this.mml,this.semantic),this.mml.setAttribute(ef.CHILDREN,nf([e,i,s])),[r,o,n].forEach(t=>lb(t).setAttribute(ef.PARENT,this.mml.getAttribute(ef.ID))),this.mml.setAttribute(ef.TYPE,t.role),ib(this.mml,[this.semantic.id,[t.id,e.id,i.id],s.id]),this.mml}}class gb extends db{static multiscriptIndex(t){return t.type===hm.PUNCTUATED&&t.contentNodes[0].role===um.DUMMY&&t.hasAnnotation("general","script")?hb(t):(_f(t),t.id)}static createNone_(t){const e=qp("none");return t&&rf(e,t),e.setAttribute(ef.ADDED,"true"),e}constructor(t){super(t),this.mml=t.mathmlTree}completeMultiscript(t,e){const s=Up(this.mml.childNodes).slice(1);let i=0;const n=t=>{for(const e of t){const t=s[i];if(t&&e===parseInt(t.getAttribute(ef.ID)))t.setAttribute(ef.PARENT,this.semantic.id.toString()),i++;else if(t&&e===parseInt(lb(t).getAttribute(ef.ID)))lb(t).setAttribute(ef.PARENT,this.semantic.id.toString()),i++;else{const s=this.semantic.querySelectorAll(t=>t.id===e);this.mml.insertBefore(gb.createNone_(s[0]),t||null)}}};n(t),s[i]&&Xp(s[i])!==Um.MPRESCRIPTS?this.mml.insertBefore(s[i],qp("mprescripts")):i++,n(e)}}class fb extends gb{static test(t){if(!t.mathmlTree)return!1;return Xp(t.mathmlTree)===Um.MMULTISCRIPTS&&(t.type===hm.SUPERSCRIPT||t.type===hm.SUBSCRIPT)}constructor(t){super(t)}getMathml(){let t,e,s;if(rf(this.mml,this.semantic),this.semantic.childNodes[0]&&this.semantic.childNodes[0].role===um.SUBSUP){const i=this.semantic.childNodes[0];t=i.childNodes[0],e=gb.multiscriptIndex(this.semantic.childNodes[1]),s=gb.multiscriptIndex(i.childNodes[1]);const n=[this.semantic.id,[i.id,t.id,s],e];ib(this.mml,n),this.mml.setAttribute(ef.TYPE,i.role),this.completeMultiscript(af.interleaveIds(s,e),[])}else{t=this.semantic.childNodes[0],e=gb.multiscriptIndex(this.semantic.childNodes[1]);const s=[this.semantic.id,t.id,e];ib(this.mml,s)}const i=af.collapsedLeafs(s||[],e);return lb(_f(t)).setAttribute(ef.PARENT,this.semantic.id.toString()),i.unshift(t.id),this.mml.setAttribute(ef.CHILDREN,i.join(",")),this.mml}}class bb extends gb{static test(t){return!!t.mathmlTree&&t.type===hm.TENSOR}constructor(t){super(t)}getMathml(){_f(this.semantic.childNodes[0]);const t=gb.multiscriptIndex(this.semantic.childNodes[1]),e=gb.multiscriptIndex(this.semantic.childNodes[2]),s=gb.multiscriptIndex(this.semantic.childNodes[3]),i=gb.multiscriptIndex(this.semantic.childNodes[4]);rf(this.mml,this.semantic);const n=[this.semantic.id,this.semantic.childNodes[0].id,t,e,s,i];ib(this.mml,n);const r=af.collapsedLeafs(t,e,s,i);return r.unshift(this.semantic.childNodes[0].id),this.mml.setAttribute(ef.CHILDREN,r.join(",")),this.completeMultiscript(af.interleaveIds(s,i),af.interleaveIds(t,e)),this.mml}}class Eb extends db{static test(t){return!(!t.mathmlTree||!t.fencePointer||t.mathmlTree.getAttribute("data-semantic-type"))}static makeEmptyNode_(t){const e=of(),s=new ng(t);return s.type=hm.EMPTY,s.mathmlTree=e,s}static fencedMap_(t,e){e[t.id]=t.mathmlTree,t.embellished&&Eb.fencedMap_(t.childNodes[0],e)}constructor(t){super(t),this.fenced=null,this.fencedMml=null,this.fencedMmlNodes=[],this.ofence=null,this.ofenceMml=null,this.ofenceMap={},this.cfence=null,this.cfenceMml=null,this.cfenceMap={},this.parentCleanup=[]}getMathml(){this.getFenced_(),this.fencedMml=_f(this.fenced),this.getFencesMml_(),this.fenced.type!==hm.EMPTY||this.fencedMml.parentNode||(this.fencedMml.setAttribute(ef.ADDED,"true"),this.cfenceMml.parentNode.insertBefore(this.fencedMml,this.cfenceMml)),this.getFencedMml_();return this.rewrite_()}fencedElement(t){return t.type===hm.FENCED||t.type===hm.MATRIX||t.type===hm.VECTOR}getFenced_(){let t=this.semantic;for(;!this.fencedElement(t);)t=t.childNodes[0];this.fenced=t.childNodes[0],this.ofence=t.contentNodes[0],this.cfence=t.contentNodes[1],Eb.fencedMap_(this.ofence,this.ofenceMap),Eb.fencedMap_(this.cfence,this.cfenceMap)}getFencedMml_(){let t=this.ofenceMml.nextSibling;for(t=t===this.fencedMml?t:this.fencedMml;t&&t!==this.cfenceMml;)this.fencedMmlNodes.push(t),t=t.nextSibling}getFencesMml_(){let t=this.semantic;const e=Object.keys(this.ofenceMap),s=Object.keys(this.cfenceMap);for(;!(this.ofenceMml&&this.cfenceMml||t===this.fenced);)-1===e.indexOf(t.fencePointer)||this.ofenceMml||(this.ofenceMml=t.mathmlTree),-1===s.indexOf(t.fencePointer)||this.cfenceMml||(this.cfenceMml=t.mathmlTree),t=t.childNodes[0];this.ofenceMml||(this.ofenceMml=this.ofence.mathmlTree),this.cfenceMml||(this.cfenceMml=this.cfence.mathmlTree),this.ofenceMml&&(this.ofenceMml=Qf(this.ofenceMml)),this.cfenceMml&&(this.cfenceMml=Qf(this.cfenceMml))}rewrite_(){let t=this.semantic,e=null;const s=this.introduceNewLayer_();for(rf(s,this.fenced.parent);!this.fencedElement(t);){const i=t.mathmlTree,n=this.specialCase_(t,i);if(n)t=n;else{rf(i,t);const e=[];for(let s,i=1;s=t.childNodes[i];i++)e.push(_f(s));t=t.childNodes[0]}const r=qp("dummy"),o=i.childNodes[0];Wp(i,r),Wp(s,i),Wp(i.childNodes[0],s),Wp(r,o),e||(e=i)}return _f(this.ofence),_f(this.cfence),this.cleanupParents_(),e||s}specialCase_(t,e){const s=Xp(e);let i,n=null;if(s===Um.MSUBSUP?(n=t.childNodes[0],i=mb):s===Um.MMULTISCRIPTS&&(t.type===hm.SUPERSCRIPT||t.type===hm.SUBSCRIPT?i=fb:t.type===hm.TENSOR&&(i=bb),n=i&&t.childNodes[0]&&t.childNodes[0].role===um.SUBSUP?t.childNodes[0]:t),!n)return null;const r=n.childNodes[0],o=Eb.makeEmptyNode_(r.id);return n.childNodes[0]=o,e=new i(t).getMathml(),n.childNodes[0]=r,this.parentCleanup.push(e),n.childNodes[0]}introduceNewLayer_(){const t=this.fullFence(this.ofenceMml),e=this.fullFence(this.cfenceMml);let s=of();if(Wp(this.fencedMml,s),this.fencedMmlNodes.forEach(t=>s.appendChild(t)),s.insertBefore(t,this.fencedMml),s.appendChild(e),!s.parentNode){const t=of();for(;s.childNodes.length>0;)t.appendChild(s.childNodes[0]);s.appendChild(t),s=t}return s}fullFence(t){const e=this.fencedMml.parentNode;let s=t;for(;s.parentNode&&s.parentNode!==e;)s=s.parentNode;return s}cleanupParents_(){this.parentCleanup.forEach(function(t){const e=t.childNodes[1].getAttribute(ef.PARENT);t.childNodes[0].setAttribute(ef.PARENT,e)})}}class yb extends db{static test(t){return!!t.mathmlTree&&t.hasAnnotation("Emph","top")}constructor(t){super(t),this.mrows=[],this.mml=t.mathmlTree}getMathml(){if(this.recurseToTable(this.semantic),this.mrows.length){const t=of();this.mml.parentNode.insertBefore(t,this.mml);for(const e of this.mrows)t.appendChild(e);t.appendChild(this.mml)}return this.mml}recurseToTable(t){var e,s;if(t.hasAnnotation("Emph","top")||t.hasAnnotation("Emph","fence")||!t.hasAnnotation("Emph","left")&&!t.hasAnnotation("Emph","right")){if(!t.mathmlTree||Xp(t.mathmlTree)===Um.MTABLE&&(null===(e=t.annotation.Emph)||void 0===e?void 0:e.length)&&"table"!==t.annotation.Emph[0]){const e=of();rf(e,t),this.mrows.unshift(e)}else{if(Xp(t.mathmlTree)===Um.MTABLE&&(null===(s=t.annotation.Emph)||void 0===s?void 0:s.length)&&"table"===t.annotation.Emph[0])return void this.finalizeTable(t);rf(t.mathmlTree,t)}if(t.childNodes.forEach(this.recurseToTable.bind(this)),t.textContent||"punctuated"===t.type){const e=t.contentNodes.map(t=>{const e=nb(t);return e.hasAttribute("data-semantic-added")?this.mrows.unshift(e):this.recurseToTable(t),e});return void ab(t,e)}t.contentNodes.forEach(this.recurseToTable.bind(this))}else _f(t)}finalizeTable(t){rf(t.mathmlTree,t),t.contentNodes.forEach(t=>{_f(t)}),t.childNodes.forEach(t=>{_f(t)})}}class xb extends db{static test(t){if(!t.mathmlTree||!t.childNodes.length)return!1;const e=Xp(t.mathmlTree),s=t.type;return(s===hm.LIMUPPER||s===hm.LIMLOWER)&&(e===Um.MSUBSUP||e===Um.MUNDEROVER)||s===hm.LIMBOTH&&(e===Um.MSUB||e===Um.MUNDER||e===Um.MSUP||e===Um.MOVER)}static walkTree_(t){t&&_f(t)}constructor(t){super(t),this.mml=t.mathmlTree}getMathml(){const t=this.semantic.childNodes;return this.semantic.type!==hm.LIMBOTH&&this.mml.childNodes.length>=3&&(this.mml=Uf([this.mml],this.semantic)),rf(this.mml,this.semantic),t[0].mathmlTree||(t[0].mathmlTree=this.semantic.mathmlTree),t.forEach(xb.walkTree_),this.mml}}class Nb extends db{static test(t){return!!t.mathmlTree&&t.type===hm.LINE}constructor(t){super(t),this.mml=t.mathmlTree}getMathml(){return this.semantic.contentNodes.length&&_f(this.semantic.contentNodes[0]),this.semantic.childNodes.length&&_f(this.semantic.childNodes[0]),rf(this.mml,this.semantic),this.mml}}class vb extends db{static test(t){return!!t.mathmlTree&&(t.type===hm.INFERENCE||t.type===hm.PREMISES)}constructor(t){super(t),this.mml=t.mathmlTree}getMathml(){return this.semantic.childNodes.length?(this.semantic.contentNodes.forEach(function(t){_f(t),rf(t.mathmlTree,t)}),this.semantic.childNodes.forEach(function(t){_f(t)}),rf(this.mml,this.semantic),this.mml.getAttribute("data-semantic-id")===this.mml.getAttribute("data-semantic-parent")&&this.mml.removeAttribute("data-semantic-parent"),this.mml):this.mml}}class Tb extends db{static test(t){return t.type===hm.MATRIX||t.type===hm.VECTOR||t.type===hm.CASES}constructor(t){super(t),this.inner=[],this.mml=t.mathmlTree}getMathml(){const t=nb(this.semantic.contentNodes[0]),e=this.semantic.contentNodes[1]?nb(this.semantic.contentNodes[1]):null;if(this.inner=this.semantic.childNodes.map(_f),this.mml)if(Xp(this.mml)===Um.MFENCED){const s=this.mml.childNodes;this.mml.insertBefore(t,s[0]||null),e&&this.mml.appendChild(e),this.mml=rb(this.mml)}else{const s=[t,this.mml];e&&s.push(e),this.mml=Uf(s,this.semantic)}else this.mml=Uf([t].concat(this.inner,[e]),this.semantic);return rf(this.mml,this.semantic),this.mml}}class Cb extends db{static test(t){return t.type===hm.PUNCTUATED&&(t.role===um.TEXT||t.contentNodes.every(t=>t.role===um.DUMMY))}constructor(t){super(t),this.mml=t.mathmlTree}getMathml(){const t=[],e=hb(this.semantic,t);return this.mml=Uf(t,this.semantic),rf(this.mml,this.semantic),this.mml.removeAttribute(ef.CONTENT),ib(this.mml,e),this.mml}}function Ab(t,e){const s=function(t){return t.cloneNode(!0)}(t),i=function(t,e,s){return Sp.getInstance().generate(()=>["Original MathML",cb(t)]),jf.clear(),_f(e.root),s.structure&&t.setAttribute(ef.STRUCTURE,af.fromStructure(t,e,s).toString()),Sp.getInstance().generate(()=>["Semantic Tree\n",cb(e),"Semantically enriched MathML\n",cb(t)]),t}(s,Pf(s,e),e);return i}Bf.push({test:xb.test,constr:t=>new xb(t)},{test:Eb.test,constr:t=>new Eb(t)},{test:pb.test,constr:t=>new pb(t)},{test:mb.test,constr:t=>new mb(t)},{test:bb.test,constr:t=>new bb(t)},{test:fb.test,constr:t=>new fb(t)},{test:Nb.test,constr:t=>new Nb(t)},{test:ub.test,constr:t=>new ub(t)},{test:vb.test,constr:t=>new vb(t)},{test:yb.test,constr:t=>new yb(t)},{test:Tb.test,constr:t=>new Tb(t)},{test:Cb.test,constr:t=>new Cb(t)});const Lb=new rp({AbsoluteValue:["Auto","AbsEnd","Cardinality","Determinant"],Bar:["Auto","Conjugate"],Caps:["Auto","SayCaps"],CombinationPermutation:["Auto","ChoosePermute"],Currency:["Auto","Position","Prefix"],Ellipses:["Auto","AndSoOn"],Enclosed:["Auto","EndEnclose"],Exponent:["Auto","AfterPower","Ordinal","OrdinalPower","Exponent"],Fraction:["Auto","EndFrac","FracOver","General","GeneralEndFrac","Ordinal","Over","OverEndFrac","Per"],Functions:["Auto","None","Reciprocal"],Inference:["Auto","Long"],ImpliedTimes:["Auto","MoreImpliedTimes","None"],Log:["Auto","LnAsNaturalLog"],Matrix:["Auto","Combinatoric","EndMatrix","EndVector","SilentColNum","SpeakColNum","Vector"],MultiLineLabel:["Auto","Case","Constraint","Equation","Line","None","Row","Step"],MultiLineOverview:["Auto","None"],MultiLinePausesBetweenColumns:["Auto","Long","Short"],MultsymbolDot:["Auto","Dot"],MultsymbolX:["Auto","By","Cross"],Paren:["Auto","CoordPoint","Interval","Silent","Speak","SpeakNestingLevel"],Prime:["Auto","Angle","Length"],Roots:["Auto","PosNegSqRoot","PosNegSqRootEnd","RootEnd"],SetMemberSymbol:["Auto","Belongs","Element","Member","In"],Sets:["Auto","SilentBracket","woAll"],TriangleSymbol:["Auto","Delta"],Trig:["Auto","ArcTrig","TrigInverse","Reciprocal"],VerticalLine:["Auto","Divides","Given","SuchThat"]}),Sb="Auto";function Rb(t){const e=t.split(":"),s={},i=Lb.getProperties(),n=Object.keys(i);for(let t,r=0;t=e[r];r++){const e=t.split("_");if(-1===n.indexOf(e[0]))continue;const r=e[1];r&&r!==Sb&&-1!==i[e[0]].indexOf(r)&&(s[e[0]]=e[1])}return s}function Ib(t){const e=Object.keys(t),s=[];for(let i=0;i<e.length;i++)s.push(e[i]+"_"+t[e[i]]);return s.length?s.join(":"):op.DEFAULT_VALUE}const wb=dp.LOCALES,Mb=t=>Op.getInstance().setup(t),Ob=()=>Op.getInstance().json(),kb=t=>function(t,e){const s=Hp(t);try{return Ab(s,e)}catch(t){return console.error(t),s}}(t,Op.getInstance().options),Db=Hp,Pb=function(t,e,s){if("default"===t)return e+"_"+s;const i=Rb(t);return i[e]=s,Ib(i)},Bb=Rb,Fb=Ib;var jb=function(t,e,s,i){return new(s||(s=Promise))(function(n,r){function o(t){try{l(i.next(t))}catch(t){r(t)}}function a(t){try{l(i.throw(t))}catch(t){r(t)}}function l(t){var e;t.done?n(t.value):(e=t.value,e instanceof s?e:new s(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})};let _b={},Ub=null;function Hb(t){var e,s;const i=null==t?void 0:t.match(/^clearspeak-(.*)/);return Ub=null!==(s=null!==(e=i&&i[1])&&void 0!==e?e:Ub)&&void 0!==s?s:"default",Ub}const Wb=new Map;const qb=new Map;let Vb=0;function Gb(t,e){const s=Wb.get(e);!function(t,e){const s=t.pool.lookup("speechRules"),i=Hb(t.settings.speechRules);_b=Bb(i);for(const i of e)t.factory.get("variable")(t.factory,{name:"csprf_"+i,setter:t=>{_b[i]=t,s.setValue("clearspeak-"+Fb(_b))},getter:()=>_b[i]||"Auto"},t.pool)}(t,Object.keys(s));const i=[];for(const t of Object.getOwnPropertyNames(s))i.push({title:t,values:s[t].map(e=>e.replace(RegExp("^"+t+"_"),"")),variable:"csprf_"+t});const n=new ep("Clearspeak Preferences","",i,"alphabetical","square",t);return{type:"command",id:"ClearspeakPreferences",content:"Select Preferences",action:()=>n.post()}}function Xb(t,e,s){return jb(this,void 0,void 0,function*(){var i,n;const r=i=>{s(t.factory.get("subMenu")(t.factory,{items:i,id:"Clearspeak"},e))};if(!t.settings.speech||!t.settings.enrich)return void r([]);const o=t.pool.lookup("locale").getValue();if(yield function(t,e){return jb(this,void 0,void 0,function*(){Wb.has(e)||(yield t.mathItem.generatorPool.getLocalePreferences(Wb))})}(t,o),!Wb.get(o))return void r([]);const a=Gb(t,o);let l=[];if(t.settings.speech){const e=t.mathItem,s=null===(i=null==e?void 0:e.explorers)||void 0===i?void 0:i.speech,r=Hb(t.settings.speechRules);l=l.concat(function(t){return[{type:"radio",content:"No Preferences",id:"clearspeak-default",variable:"speechRules"},{type:"radio",content:"Current Preferences",id:"clearspeak-"+t,variable:"speechRules"},{type:"rule"}]}(r));const a=null==s?void 0:s.refocus,c=null!==(n=null==a?void 0:a.getAttribute("data-semantic-id"))&&void 0!==n?n:null,h=Vb++;yield e.generatorPool.getRelevantPreferences(e,c,qb,h);const d=qb.get(h);if(qb.delete(h),d){const t=function(t,e,s){const i=Wb.get(s);return[{type:"label",content:"Preferences for "+e},{type:"rule"}].concat(i[e].map(function(e){const[s,i]=e.split("_");return{type:"radioCompare",content:i,id:"clearspeak-"+Pb(t,s,i),variable:"speechRules",comparator:(t,e)=>{if(t===e)return!0;if("Auto"!==i)return!1;const[n,r]=t.split("-"),[o]=e.split("-");return n===o&&!Bb(r)[s]}}}))}(r,d,o);l=l.concat(t)}}l.splice(2,0,a),r(l)})}tp.DynamicSubmenus.set("Clearspeak",[Xb,"speech"]);let zb=null;function Kb(t,e,s){if(zb)return void s(zb);const i=[];for(const t of wb.keys())"nemeth"!==t&&"euro"!==t&&i.push({type:"radio",id:t,content:wb.get(t)||t,variable:"locale"});i.sort((t,e)=>t.content.localeCompare(e.content,"en")),zb=t.factory.get("subMenu")(t.factory,{items:i,id:"Language"},e),s(zb)}tp.DynamicSubmenus.set("A11yLanguage",[Kb,"speech"]);const $b="MacOS"===pi.os;function Jb(t){const e=pi.document,s=e.createElement("textarea");s.value=t,s.setAttribute("readonly",""),s.style.cssText="height: 1px; width: 1px; padding: 1px; position: absolute; left: -10px",e.body.appendChild(s),s.select();try{e.execCommand("copy")}catch(t){alert(`Can't copy to clipboard: ${t.message}`)}e.body.removeChild(s)}function Yb(t,e,s){return(i,n,r)=>{!function(t,e,s){if(!t)return;for(const i of t.childNodes)if(i.isKind("annotation")){const t=Zb(i,e);if(t){const e=i.childNodes.reduce((t,e)=>t+e.toString(),"");s.push([t,e])}}}(function(t){var e;let s=null===(e=t.mathItem)||void 0===e?void 0:e.root;for(;s&&!s.isKind("semantics");){if(s.isToken||1!==s.childNodes.length)return null;s=s.childNodes[0]}return s}(i),e,s),r(eE(i,n,s,t))}}function Qb(t){return(e,s,i)=>{const n=t.slice();t.length=0,i(eE(e,s,n,()=>Jb(tE.trim())))}}function Zb(t,e){const s=t.attributes.get("encoding");for(const t of Object.keys(e))if(e[t].includes(s))return t;return null}let tE="";function eE(t,e,s,i){return t.factory.get("subMenu")(t.factory,{items:s.map(([t,e])=>({type:"command",id:t,content:t,action:()=>{tE=e,i()}})),id:"annotations"},e)}class sE extends uo{static post(t){return super.post(t)}html(t){var e;null!==(e=t.extraNodes)&&void 0!==e||(t.extraNodes=[]);const s=t.adaptor.node("input",{type:"button",value:"Copy to Clipboard","data-drag":"none"});return s.addEventListener("click",this.copyToClipboard.bind(this)),t.extraNodes.push(s),t.code&&(t.message="<pre>"+this.formatSource(t.message)+"</pre>"),super.html(t)}formatSource(t){return t.trim().replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}}class iE extends Du{static fromJson(t,{content:e,variable:s,id:i,comparator:n},r){return new this(r,e,s,i,n)}constructor(t,e,s,i,n){super(t,e,s,i),this.comparator=n,this.role="menuitemradiocompare"}updateAria(){this.html.setAttribute("aria-checked",this.comparator(this.variable.getValue(),this.id)?"true":"false")}updateSpan(){this.span.style.display=this.comparator(this.variable.getValue(),this.id)?"":"none"}}class nE extends Yr{constructor(){super(...arguments),this.options={filterSRE:!0,filterTex:!0,texHints:!0,semantics:!1},this.mathItem=null}visitTree(t,e=null,s={}){return this.mathItem=e,Fi(this.options,s),this.visitNode(t,"")}visitTeXAtomNode(t,e){return this.options.texHints?super.visitDefault(t,e):t.childNodes[0]&&1===t.childNodes[0].childNodes.length?this.visitNode(t.childNodes[0],e):`${e}<mrow${this.getAttributes(t)}>\n`+this.childNodeMml(t,e+" ","\n")+`${e}</mrow>`}visitMathNode(t,e){if(!this.options.semantics||"TeX"!==this.mathItem.inputJax.name)return super.visitDefault(t,e);const s=t.childNodes.length&&t.childNodes[0].childNodes.length>1;return`${e}<math${this.getAttributes(t)}>\n${e} <semantics>\n`+(s?e+" <mrow>\n":"")+this.childNodeMml(t,e+(s?" ":" "),"\n")+(s?e+" </mrow>\n":"")+`${e} <annotation encoding="application/x-tex">`+this.mathItem.math+`</annotation>\n${e} </semantics>\n${e}</math>`}getAttributeList(t){const e=super.getAttributeList(t);if(this.options.filterTex&&(delete e["data-latex"],delete e["data-latex-item"]),this.options.filterSRE){const t=Object.keys(e).filter(t=>t.match(/^(?:data-semantic-.*?|data-speech-node|role|aria-(?:level|posinset|setsize|owns))$/));for(const s of t)delete e[s]}return e}}var rE=function(t,e,s,i){return new(s||(s=Promise))(function(n,r){function o(t){try{l(i.next(t))}catch(t){r(t)}}function a(t){try{l(i.throw(t))}catch(t){r(t)}}function l(t){var e;t.done?n(t.value):(e=t.value,e instanceof s?e:new s(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})};const oE=di;class aE{get isLoading(){return aE.loading>0}get loadingPromise(){return this.isLoading?(aE._loadingPromise||(aE._loadingPromise=new Promise((t,e)=>{aE._loadingOK=t,aE._loadingFailed=e})),aE._loadingPromise):Promise.resolve()}about(){const t=[];if(t.push("Input Jax: "+this.document.inputJax.map(t=>t.name).join(", ")),t.push("Output Jax: "+this.document.outputJax.name),t.push("Document Type: "+this.document.kind),oE&&oE.loader){t.push("<hr/>Modules Loaded:");const e=oE._.components.package.Package,s=oE.loader.versions;for(const i of Array.from(e.packages.keys()).sort(this.sortPackages)){const n=s.get(e.resolvePath(i));n&&t.push(`    ${i} <mjx-v>(${n})</mjx-v>`)}}uo.post({title:"MathJax <mjx-v>v"+to.version+"</mjx-v>",message:t.join("<br/>"),adaptor:this.document.adaptor,styles:{".mjx-dialog":{"max-height":"calc(min(20em, 85%))"},"mjx-dialog > div":{"white-space":"nowrap"},"dialog.mjx-dialog-help > mjx-dialog > div":{"white-space":"normal"},"mjx-v":{"font-size":"80%"}},extraNodes:[this.document.adaptor.node("a",{href:"https://www.mathjax.org","data-drag":"false",target:"_blank"},[this.document.adaptor.text("https://www.mathjax.org")])]})}sortPackages(t,e){const[s,i]=t.includes("/")?t.split(/\//):["",t],[n,r]=e.includes("/")?e.split(/\//):["",e];return s===n?i<r?-1:1:"["===s.charAt(0)?"["===n.charAt(0)&&s<n?-1:1:"["===n.charAt(0)||s<n?-1:1}help(){uo.post({title:"MathJax Help",message:["<p><b>MathJax</b> is a JavaScript library that allows page"," authors to include mathematics within their web pages."," As a reader, you don't need to do anything to make that happen.</p>","<p><b>Browsers</b>: MathJax works with all modern browsers including"," Edge, Firefox, Chrome, Safari, Opera, and most mobile browsers.</p>","<p><b>Math Menu</b>: MathJax adds a contextual menu to equations."," Right-click or CTRL-click on any mathematics to access the menu.</p>",'<div style="margin-left: 1em;">',"<p><b>Show Math As:</b> These options allow you to view the formula's"," source markup (as MathML or in its original format).</p>","<p><b>Copy to Clipboard:</b> These options copy the formula's source markup,"," as MathML or in its original format, to the clipboard"," (in browsers that support that).</p>","<p><b>Math Settings:</b> These give you control over features of MathJax,"," such the size of the mathematics, the mechanism used to display equations,"," how to handle equations that are too wide, and the language to use for"," MathJax's menus and error messages (not yet implemented in v4).","</p>","<p><b>Accessibility</b>: MathJax can work with screen"," readers to make mathematics accessible to the visually impaired."," Turn on speech or braille generation to enable creation of speech strings"," and the ability to investigate expressions interactively. You can control"," the style of the explorer in its menu.</p>","</div>","<p><b>Math Zoom</b>: If you are having difficulty reading an"," equation, MathJax can enlarge it to help you see it better, or"," you can scale all the math on the page to make it larger."," Turn these features on in the <b>Math Settings</b> menu.</p>","<p><b>Preferences</b>: MathJax uses your browser's localStorage database"," to save the preferences set via this menu locally in your browser. These"," are not used to track you, and are not transferred or used remotely by"," MathJax in any way.</p>"].join("\n"),adaptor:this.document.adaptor,extraNodes:[this.document.adaptor.node("a",{href:"https://www.mathjax.org","data-drag":"none"},[this.document.adaptor.text("https://www.mathjax.org")])]})}mathMLCode(){sE.post({title:"MathJax MathML Expression",message:this.menu.mathItem?this.toMML(this.menu.mathItem):"",adaptor:this.document.adaptor,code:!0})}originalText(){var t,e;sE.post({title:"MathJax Original Source",message:null!==(e=null===(t=this.menu.mathItem)||void 0===t?void 0:t.math)&&void 0!==e?e:"",adaptor:this.document.adaptor,code:!0})}annotationBox(){sE.post({title:"MathJax Annotation Text",message:tE,adaptor:this.document.adaptor,code:!0})}svgImage(){return rE(this,void 0,void 0,function*(){sE.post({title:"MathJax SVG Image",message:yield this.toSVG(this.menu.mathItem),adaptor:this.document.adaptor,code:!0})})}speechText(){var t,e,s;sE.post({title:"MathJax Speech Text",message:null!==(s=null===(e=null===(t=this.menu.mathItem)||void 0===t?void 0:t.outputData)||void 0===e?void 0:e.speech)&&void 0!==s?s:"",adaptor:this.document.adaptor,code:!0})}brailleText(){var t,e,s;sE.post({title:"MathJax Braille Text",message:null!==(s=null===(e=null===(t=this.menu.mathItem)||void 0===t?void 0:t.outputData)||void 0===e?void 0:e.braille)&&void 0!==s?s:"",adaptor:this.document.adaptor,code:!0})}errorMessage(){sE.post({title:"MathJax Error Message",message:this.menu.mathItem?this.menu.errorMsg:"",adaptor:this.document.adaptor,code:!0})}zoomBox(){let t="";if(this.menu.mathItem){const e=this.menu.mathItem.typesetRoot,s=this.document.adaptor.fontSize(e),i=e.cloneNode(!0);i.style.margin="0";t=`<div style="font-size: ${s*parseFloat(this.settings.zscale)/100}px">${i.outerHTML}</div>`}uo.post({title:"MathJax Zoomed Expression",message:t,adaptor:this.document.adaptor,styles:{"mjx-dialog > div":{padding:"1.8em"}}})}constructor(t,e={}){this.settings=null,this.defaultSettings=null,this.menu=null,this.current=null,this.MmlVisitor=new nE,this.jax={CHTML:null,SVG:null},this.rerenderStart=ln.LAST,this.requiredExtensions=[],this.document=t,this.options=Fi(Bi({},this.constructor.OPTIONS),e),this.initSettings(),this.mergeUserSettings(),this.initMenu(),this.applySettings()}initSettings(){var t;this.settings=this.options.settings,this.jax=this.options.jax;const e=this.document.outputJax;this.jax[e.name]=e,this.settings.renderer=e.name,this.settings.scale=e.options.scale,e.options.displayOverflow&&(this.settings.overflow=e.options.displayOverflow.substring(0,1).toUpperCase()+e.options.displayOverflow.substring(1).toLowerCase()),this.settings.breakInline=null===(t=e.options.linebreaks)||void 0===t?void 0:t.inline,this.defaultSettings=Object.assign({},this.document.options.a11y,this.settings),this.setA11y({roleDescription:this.settings.roleDescription})}initMenu(){const t=new Ku([["contextMenu",tp.fromJson.bind(tp)],["radioCompare",iE.fromJson.bind(iE)]]);this.menu=t.parse({type:"contextMenu",id:"MathJax_Menu",pool:[this.variable("showSRE"),this.variable("showTex"),this.variable("texHints"),this.variable("semantics"),this.variable("zoom"),this.variable("zscale"),this.variable("renderer",t=>this.setRenderer(t)),this.variable("overflow",t=>this.setOverflow(t)),this.variable("breakInline",t=>this.setInlineBreaks(t)),this.variable("alt"),this.variable("cmd"),this.variable("ctrl"),this.variable("shift"),this.variable("scale",t=>this.setScale(t)),this.a11yVar("speech",t=>this.setSpeech(t)),this.a11yVar("braille",t=>this.setBraille(t)),this.variable("brailleCode",t=>this.setBrailleCode(t)),this.a11yVar("brailleSpeech",t=>this.setBrailleSpeech(t)),this.a11yVar("brailleCombine",t=>this.setBrailleCombine(t)),this.a11yVar("highlight",t=>this.setHighlight(t)),this.a11yVar("backgroundColor",t=>this.setColor("bg",t)),this.a11yVar("backgroundOpacity",t=>this.setColor("bg",null,t)),this.a11yVar("foregroundColor",t=>this.setColor("fg",t)),this.a11yVar("foregroundOpacity",t=>this.setColor("fg",null,t)),this.a11yVar("subtitles"),this.a11yVar("viewBraille"),this.a11yVar("voicing"),this.a11yVar("roleDescription",()=>this.setRoleDescription()),this.a11yVar("help"),this.a11yVar("locale",t=>this.setLocale(t)),this.variable("speechRules",t=>{const[e,s]=t.split("-");this.document.options.sre.domain=e,this.document.options.sre.style=s,this.rerender(ln.COMPILED)}),this.a11yVar("magnification"),this.a11yVar("magnify"),this.a11yVar("treeColoring"),this.a11yVar("infoType"),this.a11yVar("infoRole"),this.a11yVar("infoPrefix"),this.variable("autocollapse"),this.variable("collapsible",t=>this.setCollapsible(t)),this.variable("enrich",t=>this.setEnrichment(t)),this.a11yVar("inTabOrder",t=>this.setTabOrder(t)),this.a11yVar("tabSelects"),this.variable("assistiveMml",t=>this.setAssistiveMml(t))],items:[this.submenu("Show","Show Math As",[this.command("MathMLcode","MathML Code",()=>this.mathMLCode()),this.command("Original","Original Form",()=>this.originalText()),this.rule(),this.command("Speech","Speech Text",()=>this.speechText(),{disabled:!0}),this.command("Braille","Braille Code",()=>this.brailleText(),{disabled:!0}),this.command("SVG","SVG Image",()=>this.svgImage(),{disabled:!0}),this.submenu("ShowAnnotation","Annotation"),this.rule(),this.command("Error","Error Message",()=>this.errorMessage(),{disabled:!0})]),this.submenu("Copy","Copy to Clipboard",[this.command("MathMLcode","MathML Code",()=>this.copyMathML()),this.command("Original","Original Form",()=>this.copyOriginal()),this.rule(),this.command("Speech","Speech Text",()=>this.copySpeechText(),{disabled:!0}),this.command("Braille","Braille Code",()=>this.copyBrailleText(),{disabled:!0}),this.command("SVG","SVG Image",()=>this.copySvgImage(),{disabled:!0}),this.submenu("CopyAnnotation","Annotation"),this.rule(),this.command("Error","Error Message",()=>this.copyErrorMessage(),{disabled:!0})]),this.rule(),this.submenu("Settings","Math Settings",[this.submenu("Renderer","Math Renderer",this.radioGroup("renderer",[["CHTML"],["SVG"]])),this.submenu("Overflow","Wide Expressions",[this.radioGroup("overflow",[["Overflow"],["Scroll"],["Linebreak"],["Scale"],["Truncate"],["Elide"]]),this.rule(),this.checkbox("BreakInline","Allow In-line Breaks","breakInline")]),this.rule(),this.submenu("MathmlIncludes","MathML/SVG has",[this.checkbox("showSRE","Semantic attributes","showSRE"),this.checkbox("showTex","LaTeX attributes","showTex"),this.checkbox("texHints","TeX hints","texHints"),this.checkbox("semantics","Original as annotation","semantics")]),this.submenu("Language","Language"),this.rule(),this.submenu("ZoomTrigger","Zoom Trigger",[this.command("ZoomNow","Zoom Once Now",()=>this.zoom(null,"")),this.rule(),this.radioGroup("zoom",[["Click"],["DoubleClick","Double-Click"],["NoZoom","No Zoom"]]),this.rule(),this.label("TriggerRequires","Trigger Requires:"),this.checkbox($b?"Option":"Alt",$b?"Option":"Alt","alt"),this.checkbox("Command","Command","cmd",{hidden:!$b}),this.checkbox("Control","Control","ctrl",{hidden:$b}),this.checkbox("Shift","Shift","shift")]),this.submenu("ZoomFactor","Zoom Factor",this.radioGroup("zscale",[["150%"],["175%"],["200%"],["250%"],["300%"],["400%"]])),this.rule(),this.command("Scale","Scale All Math...",()=>this.scaleAllMath()),this.rule(),this.command("Reset","Reset to defaults",()=>this.resetDefaults())]),this.rule(),this.label("Accessibility","\xa0\xa0 Accessibility:"),this.submenu("Speech","\xa0 \xa0 Speech",[this.checkbox("Generate","Generate","speech"),this.checkbox("Subtitles","Show Subtitles","subtitles"),this.checkbox("Auto Voicing","Auto Voicing","voicing"),this.rule(),this.label("Rules","Rules:"),this.submenu("Mathspeak","Mathspeak",this.radioGroup("speechRules",[["mathspeak-default","Verbose"],["mathspeak-brief","Brief"],["mathspeak-sbrief","Superbrief"]])),this.submenu("Clearspeak","Clearspeak",this.radioGroup("speechRules",[["clearspeak-default","Auto"]])),this.rule(),this.submenu("A11yLanguage","Language")]),this.submenu("Braille","\xa0 \xa0 Braille",[this.checkbox("Generate","Generate","braille"),this.checkbox("Subtitles","Show Subtitles","viewBraille"),this.checkbox("BrailleSpeech","Replace Speech","brailleSpeech",{hidden:!0}),this.checkbox("BrailleCombine","Combine with Speech","brailleCombine"),this.rule(),this.label("Code","Code Format:"),this.radioGroup("brailleCode",[["nemeth","Nemeth"],["ueb","UEB"],["euro","Euro"]])]),this.submenu("Explorer","\xa0 \xa0 Explorer",[this.submenu("Highlight","Highlight",[this.submenu("Background","Background",this.radioGroup("backgroundColor",[["Blue"],["Red"],["Green"],["Yellow"],["Cyan"],["Magenta"],["White"],["Black"]])),{type:"slider",variable:"backgroundOpacity",content:" "},this.submenu("Foreground","Foreground",this.radioGroup("foregroundColor",[["Black"],["White"],["Magenta"],["Cyan"],["Yellow"],["Green"],["Red"],["Blue"]])),{type:"slider",variable:"foregroundOpacity",content:" "},this.rule(),this.radioGroup("highlight",[["None"],["Hover"],["Flame"]]),this.rule(),this.checkbox("TreeColoring","Tree Coloring","treeColoring")]),this.submenu("Magnification","Magnification",[this.radioGroup("magnification",[["None"],["Keyboard"],["Mouse"]]),this.rule(),this.radioGroup("magnify",[["200%"],["300%"],["400%"],["500%"]])]),this.submenu("Semantic Info","Semantic Info",[this.checkbox("Type","Type","infoType"),this.checkbox("Role","Role","infoRole"),this.checkbox("Prefix","Prefix","infoPrefix")]),this.rule(),this.submenu("Role Description","Describe math as",[this.radioGroup("roleDescription",[["MathJax expression"],["MathJax"],["math"],["clickable math"],["explorable math"],["none"]])]),this.checkbox("Math Help","Help message on focus","help")]),this.submenu("Options","\xa0 \xa0 Options",[this.checkbox("Enrich","Semantic Enrichment","enrich"),this.checkbox("Collapsible","Collapsible Math","collapsible"),this.checkbox("AutoCollapse","Auto Collapse","autocollapse",{disabled:!0}),this.rule(),this.checkbox("InTabOrder","Include in Tab Order","inTabOrder"),this.submenu("TabSelects","Tabbing Focuses on",[this.radioGroup("tabSelects",[["all","Whole Expression"],["last","Last Explored Node"]])]),this.rule(),this.checkbox("AssistiveMml","Include Hidden MathML","assistiveMml")]),this.rule(),this.command("About","About MathJax",()=>this.about()),this.command("Help","MathJax Help",()=>this.help())]});const e=this.menu;e.settings=this.settings,e.findID("Settings","Overflow","Elide").disable(),e.findID("Braille","ueb").hide(),e.setJax(this.jax),this.checkLoadableItems();const s=[];tp.DynamicSubmenus.set("ShowAnnotation",[Yb(()=>this.annotationBox(),this.options.annotationTypes,s),""]),tp.DynamicSubmenus.set("CopyAnnotation",[Qb(s),""]),function(t){Zu(Object.assign(Object.assign({},Yu),Qu),t)}(this.document.document)}checkLoadableItems(){var t,e,s,i,n,r;if(oE&&oE._&&oE.loader&&oE.startup){const o=this.settings,a=this.document.options;(o.enrich||o.speech&&a.enableSpeech||o.braille&&a.enableBraille)&&!(null===(e=null===(t=oE._)||void 0===t?void 0:t.a11y)||void 0===e?void 0:e.explorer)&&this.loadA11y("explorer"),o.collapsible&&!(null===(i=null===(s=oE._)||void 0===s?void 0:s.a11y)||void 0===i?void 0:i.complexity)&&this.loadA11y("complexity"),o.assistiveMml&&!(null===(r=null===(n=oE._)||void 0===n?void 0:n.a11y)||void 0===r?void 0:r["assistive-mml"])&&this.loadA11y("assistive-mml")}else{const t=this.menu;for(const e of Object.keys(this.jax))this.jax[e]||t.findID("Settings","Renderer",e).disable();t.findID("Speech").disable(),t.findID("Braille").disable(),t.findID("Explorer").disable(),t.findID("Options","AutoCollapse").disable(),t.findID("Options","Collapsible").disable(),t.findID("Options","Enrich").disable(),t.findID("Options","AssistiveMml").disable()}}enableAccessibilityItems(t,e){const s=this.menu.findID(t).submenu;for(const t of s.items.slice(1))t instanceof Pu||(!e||t instanceof Su&&!t.submenu.items.length?t.disable():t.enable())}mergeUserSettings(){try{const t=localStorage.getItem(aE.MENU_STORAGE);if(!t)return;const e=JSON.parse(t);Object.assign(this.settings,e),this.setA11y(e)}catch(t){console.log("MathJax localStorage error: "+t.message)}}saveUserSettings(){const t={};for(const e of Object.keys(this.settings))this.settings[e]!==this.defaultSettings[e]&&(t[e]=this.settings[e]);try{Object.keys(t).length?localStorage.setItem(aE.MENU_STORAGE,JSON.stringify(t)):localStorage.removeItem(aE.MENU_STORAGE)}catch(t){console.log("MathJax localStorage error: "+t.message)}}setA11y(t){var e,s;(null===(s=null===(e=oE._)||void 0===e?void 0:e.a11y)||void 0===s?void 0:s.explorer)&&oE._.a11y.explorer_ts.setA11yOptions(this.document,t)}getA11y(t){var e,s;if(null===(s=null===(e=oE._)||void 0===e?void 0:e.a11y)||void 0===s?void 0:s.explorer)return void 0!==this.document.options.a11y[t]?this.document.options.a11y[t]:this.document.options.sre[t]}applySettings(){this.setTabOrder(this.settings.inTabOrder);this.document.options.enableAssistiveMml=this.settings.assistiveMml,this.enableAccessibilityItems("Speech",this.settings.speech),this.enableAccessibilityItems("Braille",this.settings.braille),this.setAccessibilityMenus();const t=this.settings.renderer.replace(/[^a-zA-Z0-9]/g,"")||"CHTML";(aE._loadingPromise||Promise.resolve()).then(()=>{const e=this.settings;if(this.applyRendererOptions(this.document.outputJax),!e.speechRules){const t=this.document.options.sre;e.speechRules=`${t.domain||"clearspeak"}-${t.style||"default"}`}t!==this.defaultSettings.renderer&&this.document.whenReady(()=>this.setRenderer(t,!1))})}setOverflow(t){this.document.outputJax.options.displayOverflow=t.toLowerCase(),aE.loading||this.document.rerenderPromise()}setInlineBreaks(t){this.document.outputJax.options.linebreaks.inline=t,aE.loading||this.document.rerenderPromise()}setScale(t){this.document.outputJax.options.scale=parseFloat(t),aE.loading||this.document.rerenderPromise()}setRenderer(t,e=!0){if(Object.hasOwn(this.jax,t)&&this.jax[t])return this.applyRendererOptions(this.jax[t]),this.setOutputJax(t,e);const s=t.toLowerCase();return new Promise((i,n)=>{this.loadComponent("output/"+s,()=>{const r=oE.startup;if(!(s in r.constructors))return n(new Error(`Component ${s} not loaded`));r.useOutput(s,!0),r.output=this.applyRendererOptions(r.getOutputJax()),r.output.setAdaptor(this.document.adaptor),r.output.initialize(),this.jax[t]=r.output,this.setOutputJax(t,e).then(()=>i()).catch(t=>n(t))})})}applyRendererOptions(t){const e=this.settings,s=t.options;return s.scale=parseFloat(e.scale),s.displayOverflow=e.overflow.toLowerCase(),s.linebreaks&&(s.linebreaks.inline=e.breakInline),t}setOutputJax(t,e=!0){this.jax[t].setAdaptor(this.document.adaptor),this.document.outputJax=this.jax[t];const s=this.loadRequiredExtensions();return e?s.then(()=>to.handleRetriesFor(()=>this.rerender())):s.then(()=>{})}loadRequiredExtensions(){const t=this.document.outputJax.name.toLowerCase(),e=[];for(const s of this.requiredExtensions)e.push(oE.loader.load(`[${s}]/${t}`));return this.requiredExtensions=[],Promise.all(e)}addRequiredExtensions(t){if(t){const e=new Set([...this.requiredExtensions,...t]);this.requiredExtensions=[...e]}}setTabOrder(t){const e=this.menu.findID("Options","TabSelects");t?e.enable():e.disable(),this.menu.store.inTaborder(t)}setAssistiveMml(t){var e,s;this.document.options.enableAssistiveMml=t,t&&this.noRerender(()=>{this.settings.speech&&this.menu.pool.lookup("speech").setValue(!1),this.settings.braille&&this.menu.pool.lookup("braille").setValue(!1)}),!t||(null===(s=null===(e=oE._)||void 0===e?void 0:e.a11y)||void 0===s?void 0:s["assistive-mml"])?this.rerender():this.loadA11y("assistive-mml")}setAccessibilityMenus(){const t=this.settings.enrich,e=t?"enable":"disable";["Speech","Braille","Explorer"].forEach(t=>this.menu.findID(t)[e]());const s=this.document.options;s.enableSpeech=s.enableBraille=s.enableExplorer=t,t||(this.settings.collapsible=!1,this.document.options.enableCollapsible=!1)}setSpeech(t){var e,s;this.enableAccessibilityItems("Speech",t),this.document.options.enableSpeech=t,t&&(this.settings.assistiveMml&&this.noRerender(()=>this.menu.pool.lookup("assistiveMml").setValue(!1)),this.settings.brailleSpeech&&this.noRerender(()=>this.menu.pool.lookup("brailleSpeech").setValue(!1))),!t||(null===(s=null===(e=oE._)||void 0===e?void 0:e.a11y)||void 0===s?void 0:s.explorer)?this.rerender(ln.COMPILED):this.loadA11y("explorer")}setBraille(t){var e,s;this.enableAccessibilityItems("Braille",t),this.document.options.enableBraille=t,t&&this.settings.assistiveMml&&this.noRerender(()=>this.menu.pool.lookup("assistiveMml").setValue(!1)),!t||(null===(s=null===(e=oE._)||void 0===e?void 0:e.a11y)||void 0===s?void 0:s.explorer)?this.rerender(ln.COMPILED):this.loadA11y("explorer")}setBrailleCode(t){this.document.options.sre.braille=t,this.rerender(ln.COMPILED)}setBrailleSpeech(t){t&&this.settings.speech?this.noRerender(()=>this.menu.pool.lookup("speech").setValue(!1)):this.enableAccessibilityItems("Speech",!0),this.settings.brailleCombine=this.document.options.a11y.brailleCombine=!1,this.rerender(ln.COMPILED)}setBrailleCombine(t){this.settings.brailleSpeech&&this.menu.pool.lookup("brailleSpeech").setValue(!1),this.settings.brailleSpeech=this.document.options.a11y.brailleSpeech=!1,this.rerender(ln.COMPILED)}setLocale(t){this.document.options.sre.locale=t,this.rerender(ln.COMPILED)}setRoleDescription(){this.rerender(ln.COMPILED)}setEnrichment(t){var e,s;this.document.options.enableEnrichment=t,this.setAccessibilityMenus(),!t||(null===(s=null===(e=oE._)||void 0===e?void 0:e.a11y)||void 0===s?void 0:s.explorer)?this.rerender(ln.COMPILED):this.loadA11y("explorer")}setCollapsible(t){var e,s;this.document.options.enableComplexity=t,t&&!this.settings.enrich&&(this.settings.enrich=this.document.options.enableEnrichment=!0,this.setAccessibilityMenus()),t||this.menu.pool.lookup("highlight").setValue("None"),!t||(null===(s=null===(e=oE._)||void 0===e?void 0:e.a11y)||void 0===s?void 0:s.complexity)?this.rerender(ln.COMPILED):this.loadA11y("complexity")}setHighlight(t){var e,s;if("None"!==t){if(!this.settings.collapsible){const t=this.menu.pool.lookup("collapsible");t.setValue(!0),null===(s=null===(e=t.items[0])||void 0===e?void 0:e.executeCallbacks_)||void 0===s||s.call(e)}aE.loadingPromises.has("a11y/complexity")||this.rerender(ln.COMPILED)}}setColor(t,e,s){const i=this.document.options.a11y;e||(e=i["fg"===t?"foregroundColor":"backgroundColor"]),s||(s=i["fg"===t?"foregroundOpacity":"backgroundOpacity"]),oE._.a11y.explorer.Region.LiveRegion.setColor(t,1,e.toLowerCase(),parseInt(s)/100)}scaleAllMath(){const t=(100*parseFloat(this.settings.scale)).toFixed(1).replace(/.0$/,""),e=prompt("Scale all mathematics (compared to surrounding text) by",t+"%");if(this.current){const t=this.menu.mathItem.explorers.speech;t.refocus=this.current,t.focus()}if(e)if(e.match(/^\s*\d+(\.\d*)?\s*%?\s*$/)){const t=parseFloat(e)/100;t?this.menu.pool.lookup("scale").setValue(String(t)):alert("The scale should not be zero")}else alert("The scale should be a percentage (e.g., 120%)")}resetDefaults(){this.noRerender(()=>{const t=this.menu.pool,e=this.defaultSettings;for(const s of Object.keys(e)){const i=t.lookup(s);if(i){if(i.getValue()!==e[s]){i.setValue(e[s]);const t=i.items[0];t&&t.executeCallbacks_()}}else Object.hasOwn(this.settings,s)&&(this.settings[s]=e[s])}}),this.rerender(ln.COMPILED)}checkComponent(t){const e=aE.loadingPromises.get(t);e&&to.retryAfter(e)}loadComponent(t,e){if(aE.loadingPromises.has(t))return;const s=oE.loader;if(!s)return;aE.loading++;const i=s.load(t).then(()=>{aE.loading--,aE.loadingPromises.delete(t),0===aE.loading&&aE._loadingPromise&&(aE._loadingPromise=null,aE._loadingOK()),e()}).catch(t=>{aE._loadingPromise?(aE._loadingPromise=null,aE._loadingFailed(t)):console.log(t)});aE.loadingPromises.set(t,i)}loadA11y(t){const e=!ln.ENRICHED;this.loadComponent("a11y/"+t,()=>{var s,i;const n=oE.startup;to.handlers.unregister(n.handler),n.handler=n.getHandler(),to.handlers.register(n.handler);const r=this.document;this.document=n.document=n.getDocument(),this.document.processed=r.processed,this.document.menu=this,r.webworker&&(this.document.webworker=r.webworker),this.setA11y(this.settings),this.defaultSettings=Object.assign({},this.document.options.a11y,(null===(i=null===(s=oE.config)||void 0===s?void 0:s.options)||void 0===i?void 0:i.a11y)||{},this.defaultSettings),this.document.outputJax.reset(),this.transferMathList(r),this.document.processed=r.processed,aE._loadingPromise||(this.document.outputJax.reset(),to.handleRetriesFor(()=>{this.rerender("complexity"===t||e?ln.COMPILED:ln.TYPESET)}))})}transferMathList(t){const e=this.document.options.MathItem;for(const s of t.math){const t=new e;Object.assign(t,s),this.document.math.push(t)}}toMML(t){return this.MmlVisitor.visitTree(t.root,t,{filterSRE:!this.settings.showSRE,filterTex:!this.settings.showTex,texHints:this.settings.texHints,semantics:this.settings.semantics&&"MathML"!==t.inputJax.name})}toSVG(t){return rE(this,void 0,void 0,function*(){const e=this.jax.SVG;if(!e)return"SVG can't be produced.<br>Try switching to SVG output first.";const s=e.adaptor,i=e.options.fontCache,n=!!t.root.getProperty("process-breaks");if("global"!==i&&(t.display||!n)&&"SVG"===s.getAttribute(t.typesetRoot,"jax"))for(const e of s.childNodes(t.typesetRoot))if("svg"===s.kind(e))return this.formatSvg(s.serializeXML(e));return this.typesetSVG(t,i,n)})}typesetSVG(t,e,s){return rE(this,void 0,void 0,function*(){const i=this.jax.SVG,n=i.html("div");"global"===e&&(i.options.fontCache="local");const r=t.root;return t.root=r.copy(!0),t.root.setInheritedAttributes({},t.display,0,!1),s&&(i.unmarkInlineBreaks(t.root),t.root.setProperty("inlineMarked",!1)),yield to.handleRetriesFor(()=>{i.toDOM(t,n,i.document)}),t.root=r,i.options.fontCache=e,this.formatSvg(i.adaptor.serializeXML(n))})}formatSvg(t){const e=this.constructor.SvgCss,s=(t=(t=t.match(/^<svg.*?><defs>/)?t.replace(/<defs>/,`<defs><style>${e}</style>`):t.replace(/^(<svg.*?>)/,`$1<defs><style>${e}</style></defs>`)).replace(/ (?:role|focusable)=".*?"/g,"").replace(/"currentColor"/g,'"black"')).split(/(<\/?[a-zA-Z].*?>)/);for(let t=2,e="";t<s.length;t+=2){const i=s[t-1],n=s[t+1];"/"!==i.charAt(1)&&"/"!==i.charAt(i.length-2)&&(e+=" "),n&&("/"===n.charAt(1)&&(e=e.slice(2)),s[t+1]=n.replace(' xmlns:xlink="http://www.w3.org/1999/xlink"',"")),s[t]&&(s[t]="\n "+e+s[t].replace(/\n/g,"\n "+e)),s[t]+="\n"+e}return t=s.join(""),this.settings.showSRE||(t=t.replace(/ (?:data-semantic-.*?|data-speech-node)=".*?"/g,"")),this.settings.showTex||(t=t.replace(/ data-latex(?:-item)?=".*?"/g,"")),this.settings.texHints||(t=t.replace(/ data-mjx-(?:texclass|alternate|variant|pseudoscript|smallmatrix|mathaccent|auto-op|script-align|vbox)=".*?"/g,"").replace(/ data-mml-node="TeXAtom"/g,"")),`<?xml version="1.0" encoding="UTF-8" standalone="no"?>\n${t}`}zoom(t,e){t&&!this.isZoomEvent(t,e)||this.zoomBox()}isZoomEvent(t,e){return this.settings.zoom===e&&(!this.settings.alt||t.altKey)&&(!this.settings.ctrl||t.ctrlKey)&&(!this.settings.cmd||t.metaKey)&&(!this.settings.shift||t.shiftKey)}rerender(t=ln.TYPESET){this.rerenderStart=Math.min(t,this.rerenderStart),!aE.loading&&oE.startup.hasTypeset&&this.document.whenReady(()=>rE(this,void 0,void 0,function*(){this.rerenderStart<=ln.COMPILED&&this.document.reset({inputJax:[]}),yield this.document.rerenderPromise(this.rerenderStart),this.rerenderStart=ln.LAST}))}noRerender(t){aE.loading++;try{t(),aE.loading--}catch(t){throw aE.loading--,t}}copyMathML(){Jb(this.toMML(this.menu.mathItem))}copyOriginal(){Jb(this.menu.mathItem.math.trim())}copySvgImage(){this.toSVG(this.menu.mathItem).then(t=>{Jb(t)})}copySpeechText(){Jb(this.menu.mathItem.outputData.speech)}copyBrailleText(){Jb(this.menu.mathItem.outputData.braille)}copyErrorMessage(){Jb(this.menu.errorMsg.trim())}addMenu(t){this.addEvents(t),this.menu.store.insert(t.typesetRoot),t.typesetRoot.tabIndex=this.settings.inTabOrder?0:-1}addEvents(t){const e=t.typesetRoot;e.addEventListener("mousedown",()=>{var e,s;this.menu.mathItem=t,this.current=null===(s=null===(e=t.explorers)||void 0===e?void 0:e.speech)||void 0===s?void 0:s.current},!0),e.addEventListener("contextmenu",()=>{var e;this.menu.mathItem=t;const s=null===(e=t.explorers)||void 0===e?void 0:e.speech;s&&(t.outputData.nofocus=!this.current,s.refocus=this.current)},!0),e.addEventListener("keydown",()=>this.menu.mathItem=t,!0),e.addEventListener("click",t=>this.zoom(t,"Click"),!0),e.addEventListener("dblclick",t=>this.zoom(t,"DoubleClick"),!0)}clear(){this.menu.store.clear()}variable(t,e){return{name:t,getter:()=>this.settings[t],setter:s=>{this.settings[t]=s,e&&e(s),this.saveUserSettings()}}}a11yVar(t,e){return{name:t,getter:()=>this.getA11y(t),setter:s=>{this.settings[t]=s,this.setA11y({[t]:s}),e&&e(s),this.saveUserSettings()}}}submenu(t,e,s=[],i=!1){let n=[];for(const t of s)Array.isArray(t)?n=n.concat(t):n.push(t);return{type:"submenu",id:t,content:e,menu:{items:n},disabled:0===n.length||i}}command(t,e,s,i={}){return Object.assign({type:"command",id:t,content:e,action:s},i)}checkbox(t,e,s,i={}){return Object.assign({type:"checkbox",id:t,content:e,variable:s},i)}radioGroup(t,e){return e.map(e=>this.radio(e[0],e[1]||e[0],t))}radio(t,e,s,i={}){return Object.assign({type:"radio",id:t,content:e,variable:s},i)}label(t,e){return{type:"label",id:t,content:e}}rule(){return{type:"rule"}}}function lE(t){return class extends t{addMenu(t,e=!1){this.state()>=ln.CONTEXT_MENU||(this.isEscaped||!t.options.enableMenu&&!e||t.menu.addMenu(this),this.state(ln.CONTEXT_MENU))}getMenus(t){t.menu.menu.store.sort()}checkLoading(t){t.checkLoading()}}}function cE(t){var e;return e=class extends t{constructor(...t){super(...t),this.menu=new this.options.MenuClass(this,this.options.menuOptions);const e=this.constructor.ProcessBits;e.has("context-menu")||e.allocate("context-menu"),this.options.MathItem=lE(this.options.MathItem);const s=this.menu.settings,i=this.options,n=i.enableEnrichment=s.enrich;i.enableSpeech=s.speech&&n,i.enableBraille=s.braille&&n,i.enableComplexity=s.collapsible&&n,i.enableExplorer=n}addMenu(){if(!this.processed.isSet("context-menu")){for(const t of this.math)t.addMenu(this);this.processed.set("context-menu")}return this}getMenus(){this.menu.menu.store.sort()}checkLoading(){let t=!0;try{this._checkLoading(),t=!1}catch(t){if(!t.retry)throw t}return t}_checkLoading(){return this.menu.isLoading&&to.retryAfter(this.menu.loadingPromise.catch(t=>console.log(t))),this.options.enableComplexity&&this.menu.checkComponent("a11y/complexity"),this.options.enableExplorer&&this.menu.checkComponent("a11y/explorer"),this}state(t,e=!1){return super.state(t,e),t<ln.CONTEXT_MENU&&this.processed.clear("context-menu"),this}},e.OPTIONS=Object.assign(Object.assign({enableEnrichment:!0,enableComplexity:!0,enableSpeech:!0,enableBraille:!0,enableExplorer:!0,enableExplorerHelp:!0,enrichSpeech:"none",enrichError:(t,e,s)=>console.warn("Enrichment Error:",s)},t.OPTIONS),{MenuClass:aE,menuOptions:aE.OPTIONS,enableMenu:!0,sre:t.OPTIONS.sre||Mi({}),a11y:t.OPTIONS.a11y||Mi({}),renderActions:Mi(Object.assign(Object.assign({},t.OPTIONS.renderActions),{addMenu:[ln.CONTEXT_MENU],getMenus:[ln.INSERTED+5,!1],checkLoading:[ln.UNPROCESSED+1,t=>t.checkLoading(),"",!1]}))}),e}function hE(t){return t.documentClass=cE(t.documentClass),t}aE.MENU_STORAGE="MathJax-Menu-Settings",aE.OPTIONS={settings:{showSRE:!1,showTex:!1,texHints:!0,semantics:!1,zoom:"NoZoom",zscale:"200%",renderer:"CHTML",alt:!0,cmd:!1,ctrl:!1,shift:!1,scale:1,overflow:"Scroll",breakInline:!0,autocollapse:!1,collapsible:!1,enrich:!0,assistiveMml:!1,speech:!0,braille:!0,brailleCode:"nemeth",brailleSpeech:!1,brailleCombine:!1,speechRules:"clearspeak-default",roleDescription:"math",inTabOrder:!0,tabSelects:"all",help:!0},jax:{CHTML:null,SVG:null},annotationTypes:Mi({TeX:["TeX","LaTeX","application/x-tex"],StarMath:["StarMath 5.0"],Maple:["Maple"],ContentMathML:["MathML-Content","application/mathml-content+xml"],OpenMath:["OpenMath"]})},aE.SvgCss=["svg a{fill:blue;stroke:blue}",'[data-mml-node="merror"]>g{fill:red;stroke:red}','[data-mml-node="merror"]>rect[data-background]{fill:yellow;stroke:none}',"[data-frame],[data-line]{stroke-width:70px;fill:none}",".mjx-dashed{stroke-dasharray:140}",".mjx-dotted{stroke-linecap:round;stroke-dasharray:0,140}","use[data-c]{stroke-width:3px}"].join("\n"),aE.loading=0,aE.loadingPromises=new Map,aE._loadingPromise=null,aE._loadingOK=null,aE._loadingFailed=null,cn("CONTEXT_MENU",170),MathJax.loader&&MathJax.loader.checkVersion("ui/menu",ni,"ui"),hi({_:{a11y:{speech:{SpeechMenu:js}},ui:{menu:{AnnotationMenu:Us,MJContextMenu:Bs,Menu:qs,MenuHandler:Vs,MenuUtil:_s,MmlVisitor:Ws,RadioCompare:Hs}}}}),MathJax.startup&&ui&&MathJax.startup.extendHandler(t=>hE(t),20),MathJax.loader&&MathJax.loader.checkVersion("a11y/sre",ni,"a11y"),hi({_:{a11y:{sre_ts:Fs}}}),cn("ENRICHED",ln.COMPILED+10);class dE extends Yr{visitTree(t,e){this.mactionId=0;const s=super.visitTree(t);return this.mactionId&&(e.inputData.hasMaction=!0),s}visitHtmlNode(t,e){return t.getSerializedXML()}visitMactionNode(t,e){const[s,i]=0===t.childNodes.length?["",""]:["\n",e],n=this.childNodeMml(t,e+" ",s);let r=this.getAttributes(t);if("toggle"===t.attributes.get("actiontype")){const e=++this.mactionId;t.setProperty("mactionId",e),r=` data-maction-id="${e}" selection="${t.attributes.get("selection")}"`+r.replace(/ selection="\d+"/,"").replace(/ data-maction-id="\d+"/,"")}return`${e}<maction${r}>`+(n.match(/\S/)?s+n+i:"")+"</maction>"}}function uE(t,e,s){return class extends t{constructor(){super(...arguments),this.toMathML=s}serializeMml(t){if("outerHTML"in t)return t.outerHTML;if("undefined"!=typeof Element&&"undefined"!=typeof window&&t instanceof Element){const e=window.document.createElement("div");return e.appendChild(t),e.innerHTML}return t.toString()}enrich(t,s=!1){if(!(this.state()>=ln.ENRICHED)){if(!this.isEscaped&&(t.options.enableEnrichment||s)){const s=new t.options.MathItem("",e);try{let e;e=this.inputData.originalMml?this.adjustSelections():this.inputData.originalMml=this.toMathML(this.root,this);const i=kb(e);this.inputData.enrichedMml=s.math=this.serializeMml(i),s.math=s.math.replace(/ role="treeitem"/g,' data-speech-node="true"').replace(/ aria-level/g," data-semantic-level-number").replace(/ aria-(?:posinset|owns|setsize)=".*?"/g,""),s.display=this.display,s.compile(t),this.root=s.root}catch(e){t.options.enrichError(t,this,e)}}this.state(ln.ENRICHED)}}toEnriched(t){return this.serializeMml(kb(t))}unEnrich(t){const s=this.inputData.originalMml;if(!s)return;const i=new t.options.MathItem("",e);i.math=s,i.display=this.display,i.compile(t),this.root=i.root}adjustSelections(){const t=this.inputData.originalMml;if(!this.inputData.hasMaction)return t;const e=[];return this.root.walkTree(t=>{t.isKind("maction")&&(e[t.attributes.get("data-maction-id")]=t)}),t.replace(/(data-maction-id="(\d+)" selection=)"\d+"/g,(t,s,i)=>`${s}"${e[i].attributes.get("selection")}"`)}}}function pE(t,e){var s;return(s=class extends t{constructor(...t){super(...t),e.setMmlFactory(this.mmlFactory);const s=this.constructor.ProcessBits;s.has("enriched")||s.allocate("enriched");const i=new dE(this.mmlFactory);this.options.MathItem=uE(this.options.MathItem,e,(t,e)=>i.visitTree(t,e))}enrich(){if(!this.processed.isSet("enriched")){if(this.options.enableEnrichment){Mb(this.options.sre);for(const t of this.math)t.enrich(this)}this.processed.set("enriched")}return this}enrichError(t,e,s){console.warn("Enrichment error:",s)}state(t,e=!1){if(super.state(t,e),t<ln.ENRICHED&&(this.processed.clear("enriched"),t>=ln.COMPILED))for(const t of this.math)t.unEnrich(this);return this}}).OPTIONS=Object.assign(Object.assign({},t.OPTIONS),{enableEnrichment:!0,enrichError:(t,e,s)=>t.enrichError(t,e,s),renderActions:Mi(Object.assign(Object.assign({},t.OPTIONS.renderActions),{enrich:[ln.ENRICHED]})),sre:Mi({speech:"none",locale:"en",domain:"clearspeak",style:"default",braille:"nemeth",structure:!0,aria:!0})}),s}function mE(t,e){return e.setAdaptor(t.adaptor),t.documentClass=pE(t.documentClass,e),t}MathJax.loader&&MathJax.loader.checkVersion("a11y/semantic-enrich",ni,"a11y"),hi({_:{a11y:{"semantic-enrich":Gs}}}),MathJax.startup&&MathJax.startup.extendHandler(t=>mE(t,new Rc({allowHtmlInTokenNodes:!0})));const gE=["pitch","rate","volume"];function fE(t){const e=Db(t),s=[],i=[];return bE(Array.from(e.childNodes),s,i),[i.join(" "),s]}function bE(t,e,s,i={}){for(const n of t){if(3===n.nodeType){const t=n.textContent.trim();t&&(s.push(t),e.push(Object.assign({text:t},i)));continue}if(1===n.nodeType){const t=n,r=t.tagName;if("speak"===r)continue;if("prosody"===r){bE(Array.from(n.childNodes),e,s,yE(t,i));continue}switch(r){case"break":e.push({pause:t.getAttribute("time")});break;case"mark":e.push({mark:t.getAttribute("name")});break;case"say-as":{const n=t.textContent;e.push(Object.assign({text:n,character:!0},i)),s.push(n);break}}}}}const EE={pitch:(t,e)=>t/100*1,volume:(t,e)=>t/100*.5,rate:(t,e)=>t/100*1};function yE(t,e){const s={};for(const i of gE)if(t.hasAttribute(i)){const[n,r]=NE(t.getAttribute(i));if(!n){s[i]="volume"===i?.5:1;continue}let o=e[i];o=o||("volume"===i?.5:1);const a=EE[i](parseInt(r,10),n);s[i]="-"===n?o-a:o+a}return s}const xE=/([+-]?)([0-9]+)%/;function NE(t){const e=t.match(xE);return e?[e[1],e[2]]:(console.warn("Something went wrong with the prosody matching."),["","100"])}function vE(t,e,s,i=" "){if(!t)return"";const n=[t];return e&&n.unshift(e),s&&n.push(s),n.join(i)}function TE(t,e="en",s="100"){return fE(`<?xml version="1.0"?><speak version="1.1" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="${e}"><prosody rate="${s}%">${t}</prosody></speak>`)}function CE(){const t=new AudioContext,e=t.createOscillator();e.frequency.value=300,e.connect(t.destination),e.start(t.currentTime),e.stop(t.currentTime+.05)}var AE,LE;!function(t){t[t.NONE=0]="NONE",t[t.DEPTH=1]="DEPTH",t[t.SUMMARY=2]="SUMMARY"}(AE||(AE={})),function(t){t.SPEECH="data-semantic-speech-none",t.SPEECH_SSML="data-semantic-speech",t.SUMMARY="data-semantic-summary-none",t.SUMMARY_SSML="data-semantic-summary",t.PREFIX="data-semantic-prefix-none",t.PREFIX_SSML="data-semantic-prefix",t.POSTFIX="data-semantic-postfix-none",t.POSTFIX_SSML="data-semantic-postfix",t.BRAILLE="data-semantic-braille"}(LE||(LE={}));class SE{constructor(){this.promise=Promise.resolve(),this.adaptor=null,this._options={},this._init=!1}set element(t){this._element=t}get element(){return this._element}set options(t){this._options=Object.assign({},(null==t?void 0:t.sre)||{},{enableSpeech:t.enableSpeech,enableBraille:t.enableBraille}),delete this._options.custom}get options(){return this._options}init(t,e,s){this.options=t,this._init||(this.adaptor=e,this.webworker=s,this._init=!0)}update(t){Object.assign(this.options,t)}Speech(t){const e=t.outputData.mml,s=Object.assign({},this.options,{modality:"speech"});return this.promise=this.webworker.Speech(e,s,t)}SpeechFor(t,e){const s=Object.assign({},this.options,{modality:"speech"});return this.webworker.speechFor(e,s,t)}cancel(t){var e;null===(e=this.webworker)||void 0===e||e.Cancel(t)}updateRegions(t,e,s){e.Update(this.getLabel(t)),s.Update(this.getBraille(t))}getOptions(t){var e,s,i,n;return{locale:null!==(e=this.adaptor.getAttribute(t,"data-semantic-locale"))&&void 0!==e?e:"",domain:null!==(s=this.adaptor.getAttribute(t,"data-semantic-domain"))&&void 0!==s?s:"",style:null!==(i=this.adaptor.getAttribute(t,"data-semantic-style"))&&void 0!==i?i:"",domain2style:null!==(n=this.adaptor.getAttribute(t,"data-semantic-domain2style"))&&void 0!==n?n:""}}nextRules(t){const e=this.getOptions(t.typesetRoot);return this.update(e),this.promise=this.webworker.nextRules(t.outputData.mml,Object.assign({},this.options,{modality:"speech"}),t)}nextStyle(t,e){const s=this.getOptions(e.typesetRoot);return this.update(s),this.promise=this.webworker.nextStyle(e.outputData.mml,Object.assign({},this.options,{modality:"speech"}),this.adaptor.getAttribute(t,"data-semantic-id"),e)}getLabel(t,e="",s=" "){const i=this.adaptor;return vE(i.getAttribute(t,LE.SPEECH_SSML),i.getAttribute(t,LE.PREFIX_SSML),i.getAttribute(t,LE.POSTFIX_SSML),s)||i.getAttribute(t,"aria-label")}getBraille(t){const e=this.adaptor;return e.getAttribute(t,"aria-braillelabel")||e.getAttribute(t,LE.BRAILLE)}getLocalePreferences(t){return this.promise=this.webworker.clearspeakLocalePreferences(this.options,t)}getRelevantPreferences(t,e,s,i){const n=t.outputData.mml;return this.promise=this.webworker.clearspeakRelevantPreferences(n,e,s,i)}}var RE=function(t,e,s,i){return new(s||(s=Promise))(function(n,r){function o(t){try{l(i.next(t))}catch(t){r(t)}}function a(t){try{l(i.throw(t))}catch(t){r(t)}}function l(t){var e;t.done?n(t.value):(e=t.value,e instanceof s?e:new s(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})};class IE{constructor(t,e,s,i){this.cmd=t,this.item=e,this.resolve=s,this.reject=i}}class wE{constructor(t,e){this.adaptor=t,this.options=e,this.ready=!1,this.tasks=[],this.Commands={Ready(t,e){t.ready=!0,t.postNext()},Finished(t,e){const s=t.tasks.shift();e.success?s.resolve(e.result):s.reject(e.error),t.postNext()},Log(t,e){t.options.debug&&console.log("Log:",e)}}}Start(){return RE(this,void 0,void 0,function*(){if(this.ready)throw Error("Worker already started");this.worker=yield this.adaptor.createWorker(this.Listener.bind(this),this.options)})}debug(t,...e){this.options.debug&&console.info(t,...e)}Listener(t){this.debug("Worker >>> Client:",t.data),Object.hasOwn(this.Commands,t.data.cmd)?this.Commands[t.data.cmd](this,t.data.data):this.debug("Invalid command from worker: "+t.data.cmd)}Post(t,e){const s=new Promise((s,i)=>{this.tasks.push(new IE(t,e,s,i))});return this.ready&&1===this.tasks.length&&this.postNext(),s}postNext(){if(this.tasks.length){const t=Object.assign({},this.tasks[0].cmd,{debug:this.options.debug});this.worker.postMessage(t)}}Cancel(t){const e=this.tasks.findIndex(e=>e.item===t);e>0&&(this.tasks[e].reject(`Task ${this.tasks[e].cmd.cmd} cancelled`),this.tasks.splice(e,1))}Setup(t){return this.Post({cmd:"setup",data:{domain:t.domain,style:t.style,locale:t.locale,modality:t.modality}})}Speech(t,e,s){return RE(this,void 0,void 0,function*(){this.Attach(s,e.enableSpeech,e.enableBraille,yield this.Post({cmd:"speech",data:{mml:t,options:e}},s))})}nextRules(t,e,s){return RE(this,void 0,void 0,function*(){this.Attach(s,e.enableSpeech,e.enableBraille,yield this.Post({cmd:"nextRules",data:{mml:t,options:e}},s))})}nextStyle(t,e,s,i){return RE(this,void 0,void 0,function*(){this.Attach(i,e.enableSpeech,e.enableBraille,yield this.Post({cmd:"nextStyle",data:{mml:t,options:e,nodeId:s}},i))})}speechFor(t,e,s){return RE(this,void 0,void 0,function*(){const i=yield this.Post({cmd:"speech",data:{mml:t,options:e}},s);return JSON.parse(i)})}Attach(t,e,s,i){const n=JSON.parse(i),r=t.typesetRoot;if(!r)return;this.setSpecialAttributes(r,n.options,"data-semantic-",["locale","domain","style","domain2style"]);const o=this.adaptor;this.setSpecialAttributes(r,n.translations,"data-semantic-");for(const[t,e]of Object.entries(n.mactions)){let s=o.getElement("#"+t,r);s&&o.childNodes(s)[0]&&(s=o.childNodes(s)[0],"rect"===o.kind(s)&&(s=o.next(s)),o.setAttribute(s,"data-semantic-type","dummy"),this.setSpecialAttributes(s,e,""))}for(const t of o.childNodes(r))"mjx-math"!==o.kind(t)&&"svg"!==o.kind(t)||this.setSpeechAttributes(t,"",n,e,s);e&&(n.label&&(o.setAttribute(r,LE.SPEECH,n.label),o.setAttribute(r,LE.SPEECH_SSML,n.ssml),t.outputData.speech=n.label),o.setAttribute(r,"data-speech-attached","true")),s&&(n.braillelabel&&(o.setAttribute(r,LE.BRAILLE,n.braillelabel),t.outputData.braille=n.braillelabel),n.braille&&o.setAttribute(r,"data-braille-attached","true"))}setSpeechAttribute(t,e,s,i){var n,r;const o=this.adaptor,a=o.getAttribute(t,"data-semantic-id");if(o.removeAttribute(t,"data-speech-node"),s&&e.speech[a]["speech-none"]){o.setAttribute(t,"data-speech-node","true");for(let[s,i]of Object.entries(e.speech[a]))s=s.replace(/-ssml$/,""),i&&o.setAttribute(t,`data-semantic-${s}`,i)}if(i&&(null===(r=null===(n=e.braille)||void 0===n?void 0:n[a])||void 0===r?void 0:r["braille-none"])){o.setAttribute(t,"data-speech-node","true");const s=e.braille[a]["braille-none"];o.setAttribute(t,LE.BRAILLE,s)}}setSpeechAttributes(t,e,s,i,n){const r=this.adaptor;if(!t||"#text"===r.kind(t)||"#comment"===r.kind(t))return e;r.hasAttribute(t,"data-semantic-id")&&(this.setSpeechAttribute(t,s,i,n),e||r.hasAttribute(t,"data-semantic-parent")||(e=r.getAttribute(t,"data-semantic-id")));for(const o of Array.from(r.childNodes(t)))e=this.setSpeechAttributes(o,e,s,i,n);return e}setSpecialAttributes(t,e,s,i){if(e){i=i||Object.keys(e);for(const n of i){const i=e[n];i&&this.adaptor.setAttribute(t,`${s}${n.toLowerCase()}`,i)}}}Detach(t){const e=t.typesetRoot;this.adaptor.removeAttribute(e,"data-speech-attached"),this.adaptor.removeAttribute(e,"data-braille-attached"),this.detachSpeech(e)}detachSpeech(t){const e=this.adaptor,s=e.childNodes(t);if(s){if("#text"!==e.kind(t))for(const s of["none","summary-none","speech","speech-none","summary","braille"])e.removeAttribute(t,`data-semantic-${s}`);for(const t of s)this.detachSpeech(t)}}Terminate(){this.debug("Terminating pending tasks");for(const t of this.tasks)t.reject(`${t.cmd.data.cmd} cancelled by WorkerHandler termination`);return this.tasks=[],this.debug("Terminating worker"),this.worker.terminate()}Stop(){return RE(this,void 0,void 0,function*(){if(!this.worker)throw Error("Worker has not been started");yield this.Terminate(),this.worker=null,this.ready=!1})}clearspeakLocalePreferences(t,e){return RE(this,void 0,void 0,function*(){yield this.Post({cmd:"localePreferences",data:{options:t}}).then(s=>{e.set(t.locale,JSON.parse(s))})})}clearspeakRelevantPreferences(t,e,s,i){return RE(this,void 0,void 0,function*(){yield this.Post({cmd:"relevantPreferences",data:{mml:t,id:e}}).then(t=>{s.set(i,t)})})}}const ME=di.config||{},OE=()=>(ME?.loader?.paths?.mathjax||ME?.__dirname||"/")+"/sre";var kE=function(t,e,s,i){return new(s||(s=Promise))(function(n,r){function o(t){try{l(i.next(t))}catch(t){r(t)}}function a(t){try{l(i.throw(t))}catch(t){r(t)}}function l(t){var e;t.done?n(t.value):(e=t.value,e instanceof s?e:new s(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})};function DE(t){return class extends t{constructor(){super(...arguments),this.generatorPool=new SE}attachSpeech(t){if(this.outputData.speechPromise=null,this.state()>=ln.ATTACHSPEECH)return;if(this.state(ln.ATTACHSPEECH),this.isEscaped||!t.options.enableSpeech&&!t.options.enableBraille||!t.options.enableEnrichment)return;t.getWebworker(),this.generatorPool.init(t.options,t.adaptor,t.webworker),this.outputData.mml=this.toMathML(this.root,this);const e=this.generatorPool.Speech(this).catch(e=>t.options.speechError(t,this,e));t.savePromise(e),this.outputData.speechPromise=e}detachSpeech(t){t.webworker.Detach(this)}speechFor(t){return kE(this,void 0,void 0,function*(){t=this.toEnriched(t);const e=yield this.generatorPool.SpeechFor(this,t);return[e.label,e.braillelabel]})}clear(){this.generatorPool.cancel(this)}}}function PE(t){var e;return e=class extends t{constructor(...t){super(...t),this.webworker=null;const e=this.constructor.ProcessBits;e.has("attach-speech")||e.allocate("attach-speech"),this.options.MathItem=DE(this.options.MathItem)}getWebworker(){this.webworker||(this.webworker=new wE(this.adaptor,this.options.worker),this.webworker.Start())}attachSpeech(){if(!this.processed.isSet("attach-speech")){const t=this.options;if(t.enableEnrichment&&(t.enableSpeech||t.enableBraille)){this.getWebworker();for(const t of this.math)t.attachSpeech(this)}this.processed.set("attach-speech")}return this}speechError(t,e,s){console.warn("Speech generation error:",s)}state(t,e=!1){if(super.state(t,e),t<ln.ATTACHSPEECH&&(this.processed.clear("attach-speech"),t>=ln.TYPESET))for(const t of this.math)t.detachSpeech(this);return this}done(){const t=Object.create(null,{done:{get:()=>super.done}});return kE(this,void 0,void 0,function*(){var e;return yield null===(e=this.webworker)||void 0===e?void 0:e.Stop(),t.done.call(this)})}},e.OPTIONS=Object.assign(Object.assign({},t.OPTIONS),{enableSpeech:!0,enableBraille:!0,speechError:(t,e,s)=>t.speechError(t,e,s),renderActions:Mi(Object.assign(Object.assign({},t.OPTIONS.renderActions),{attachSpeech:[ln.ATTACHSPEECH]})),worker:{path:OE(),maps:OE().replace(/[cm]js\/a11y\/sre$/,"bundle/sre/mathmaps"),worker:"speech-worker.js",debug:!1},a11y:Mi({speech:!0,braille:!0})}),e}function BE(t,e){return!t.documentClass.prototype.enrich&&e&&(t=mE(t,e)),t.documentClass=PE(t.documentClass),t}if(cn("ATTACHSPEECH",ln.INSERTED+10),MathJax.loader&&MathJax.loader.checkVersion("a11y/speech",ni,"a11y"),hi({_:{a11y:{speech_ts:$s,speech:{GeneratorPool:zs,SpeechUtil:Xs,WebWorker:Ks}}}}),MathJax.loader){let t=gi.resolvePath("[sre]",!1),e=gi.resolvePath("[mathmaps]",!1);if(pi.window)t=new URL(t,location).href,e=new URL(e,location).href;else{const s="undefined"!=typeof require?require:MathJax.config.loader.require;s?.resolve?(t=pi.path(s.resolve(`${t}/require.mjs`)).replace(/\/[^\/]*$/,""),e=pi.path(s.resolve(`${e}/base.json`)).replace(/\/[^\/]*$/,"")):t=e=""}t&&ci(MathJax.config,"options",{worker:{path:t,maps:e}})}MathJax.startup&&MathJax.startup.extendHandler(t=>BE(t));class FE{constructor(t){this.document=t,this.CLASS=this.constructor,this.AddStyles()}static get sheetId(){return"MJX-"+this.name+"-styles"}static get styleSheet(){return document.head.querySelector("#"+this.sheetId)}AddStyles(){const t=this.CLASS.sheetId;if(!this.CLASS.style||this.document.adaptor.head().querySelector("#"+t))return;const e=this.document.adaptor.node("style",{id:t});e.innerHTML=this.CLASS.style.cssText,this.document.adaptor.head().appendChild(e)}AddElement(){if(this.div)return;const t=this.document.adaptor.node("div");t.classList.add(this.CLASS.className),this.div=t,this.inner=this.document.adaptor.node("div"),this.div.appendChild(this.inner),this.document.adaptor.body(this.document.adaptor.document).appendChild(this.div)}Show(t){this.AddElement(),this.position(t),this.div.classList.add(this.CLASS.className+"_Show")}Hide(){this.div&&(this.div.remove(),this.div=null,this.inner=null)}stackRegions(t){const e=t.getBoundingClientRect();let s=0,i=Number.POSITIVE_INFINITY;const n=this.document.adaptor.document.getElementsByClassName(this.CLASS.className+"_Show");for(let t,e=0;t=n[e];e++)t!==this.div&&(s=Math.max(t.getBoundingClientRect().bottom,s),i=Math.min(t.getBoundingClientRect().left,i));const r=(s||e.bottom+10)+window.scrollY,o=(i<Number.POSITIVE_INFINITY?i:e.left)+window.scrollX;this.div.style.top=r+"px",this.div.style.left=o+"px"}}class jE extends FE{Clear(){}Update(){}Hide(){}Show(){}AddElement(){}AddStyles(){}position(){}}class _E extends FE{Clear(){this.div&&(this.Update(""),this.inner.style.top="",this.inner.style.backgroundColor="")}Update(t){t&&this.AddElement(),this.inner&&(this.inner.textContent="",this.inner.textContent=t||"\xa0")}position(t){this.stackRegions(t)}}class UE extends _E{}UE.className="MJX_ToolTip",UE.style=new ao({[`.${UE.className}`]:{width:"auto",height:"auto",opacity:1,"text-align":"center","border-radius":"4px",padding:0,"border-bottom":"1px dotted black",position:"absolute",display:"inline-block","background-color":"white","z-index":202},[`.${UE.className} > div`]:{"border-radius":"inherit",padding:"0 2px"},"@media (prefers-color-scheme: dark)":{["."+UE.className]:{"background-color":"#222025","box-shadow":"0px 5px 20px #000",border:"1px solid #7C7C7C"}}});class HE extends _E{static setColor(t,e,s,i){const n=this.styleSheet;if(n){const r=n.sheet.cssRules[0].style,o=`--mjx-${t}${e}-color`,a=`rgba(var(--mjx-${t}-${s}), ${1===i?1:`var(--mjx-${t}${e}-alpha)`})`;r.getPropertyValue(o)!==a&&r.setProperty(o,a);const l=`--mjx-${t}${e}-alpha`;r.getPropertyValue(l)!==String(i)&&(r.setProperty(l,i),n.sheet.cssRules[1].cssRules[0].style.setProperty(l,Math.pow(i,.7071)))}}}HE.className="MJX_LiveRegion",HE.priority={primary:1,secondary:2},HE.style=new ao({":root":{"--mjx-fg-red":"255, 0, 0","--mjx-fg-green":"0, 255, 0","--mjx-fg-blue":"0, 0, 255","--mjx-fg-yellow":"255, 255, 0","--mjx-fg-cyan":"0, 255, 255","--mjx-fg-magenta":"255, 0, 255","--mjx-fg-white":"255, 255, 255","--mjx-fg-black":"0, 0, 0","--mjx-bg-red":"255, 0, 0","--mjx-bg-green":"0, 255, 0","--mjx-bg-blue":"0, 0, 255","--mjx-bg-yellow":"255, 255, 0","--mjx-bg-cyan":"0, 255, 255","--mjx-bg-magenta":"255, 0, 255","--mjx-bg-white":"255, 255, 255","--mjx-bg-black":"0, 0, 0","--mjx-live-bg-color":"white","--mjx-live-shadow-color":"#888","--mjx-live-border-color":"#CCCCCC","--mjx-bg1-color":"rgba(var(--mjx-bg-blue), var(--mjx-bg1-alpha))","--mjx-fg1-color":"rgba(var(--mjx-fg-black), 1)","--mjx-bg2-color":"rgba(var(--mjx-bg-red), 1)","--mjx-fg2-color":"rgba(var(--mjx-fg-black), 1)","--mjx-bg1-alpha":.2,"--mjx-fg1-alpha":1,"--mjx-bg2-alpha":1,"--mjx-fg2-alpha":1},"@media (prefers-color-scheme: dark)":{":root":{"--mjx-bg-blue":"132, 132, 255","--mjx-bg-white":"0, 0, 0","--mjx-bg-black":"255, 255, 255","--mjx-fg-white":"0, 0, 0","--mjx-fg-black":"255, 255, 255","--mjx-live-bg-color":"#222025","--mjx-live-shadow-color":"black","--mjx-live-border-color":"#7C7C7C","--mjx-bg1-alpha":.3,"--mjx-fg1-alpha":1,"--mjx-bg2-alpha":1,"--mjx-fg2-alpha":1}},[`.${HE.className}`]:{position:"absolute",top:0,display:"none",width:"auto",height:"auto",padding:0,opacity:1,"z-index":"202",left:0,right:0,margin:"0 auto","background-color":"var(--mjx-live-bg-color)","box-shadow":"0px 5px 20px var(--mjx-live-shadow-color)",border:"2px solid var(--mjx-live-border-color)"},[`.${HE.className}_Show`]:{display:"block"},[`.${HE.className} > div`]:{color:"var(--mjx-fg1-color)","background-color":"var(--mjx-bg1-color)"},"mjx-container [data-sre-highlight-1]:not([data-mjx-collapsed], rect)":{color:"var(--mjx-fg1-color) ! important",fill:"var(--mjx-fg1-color) ! important"},[["mjx-container:not([data-mjx-clone-container])","[data-sre-highlight-1]:not([data-sre-enclosed], rect)"].join(" ")]:{"background-color":"var(--mjx-bg1-color) ! important"},"mjx-container rect[data-sre-highlight-1]:not([data-sre-enclosed])":{fill:"var(--mjx-bg1-color) ! important"},"mjx-container [data-sre-highlight-2]":{color:"var(--mjx-fg2-color) ! important","background-color":"var(--mjx-bg2-color) ! important",fill:"var(--mjx-fg2-color) ! important"},"mjx-container rect[data-sre-highlight-2]":{fill:"var(--mjx-bg2-color) ! important"}});class WE extends HE{constructor(){super(...arguments),this.active=!1,this.node=null,this.clear=!1,this.voiceRequest=!1,this.voiceCancelled=!1}Show(t){super.Update("\xa0"),this.node=t,super.Show(t)}Update(t){if(this.voiceRequest)return void this.makeVoice(t);speechSynthesis.onvoiceschanged=(()=>this.voiceRequest=!0).bind(this);new Promise(t=>{setTimeout(()=>{this.voiceRequest?t(!0):setTimeout(()=>{this.voiceRequest=!0,t(!0)},100)},100)}).then(()=>this.makeVoice(t))}makeVoice(t){this.active=this.document.options.a11y.voicing&&!!speechSynthesis.getVoices().length,speechSynthesis.cancel(),this.clear=!0;const[e,s]=TE(t,this.document.options.sre.locale,this.document.options.sre.rate);super.Update(e),this.active&&e&&this.makeUtterances(s,this.document.options.sre.locale)}makeUtterances(t,e){this.voiceCancelled=!1;let s=null;for(const i of t)if(i.mark){if(!s){this.highlightNode(i.mark,!0);continue}s.addEventListener("end",t=>{this.voiceCancelled||this.highlightNode(i.mark)})}else{if(i.pause){const t=parseInt(i.pause.match(/^[0-9]+/)[0]);if(isNaN(t)||!s)continue;s.addEventListener("end",e=>{speechSynthesis.pause(),setTimeout(()=>{speechSynthesis.resume()},t)});continue}s=new SpeechSynthesisUtterance(i.text),i.rate&&(s.rate=i.rate),i.pitch&&(s.pitch=i.pitch),s.lang=e,speechSynthesis.speak(s)}s&&s.addEventListener("end",t=>{this.highlighter.unhighlight()})}Hide(){this.cancelVoice(),super.Hide()}cancelVoice(){this.voiceCancelled=!0,speechSynthesis.cancel(),this.highlighter.unhighlight()}highlightNode(t,e=!1){this.highlighter.unhighlight();const s=Array.from(this.node.querySelectorAll(`[data-semantic-id="${t}"]`));this.clear&&!e||this.highlighter.highlight(s),this.clear=!1}}WE.style=null;class qE extends FE{position(t){const e=t.getBoundingClientRect(),s=this.div.getBoundingClientRect();let i,n=e.left+e.width/2-s.width/2;switch(n=n<0?0:n,n+=window.scrollX,this.document.options.a11y.align){case"top":i=e.top-s.height-10;break;case"bottom":i=e.bottom+10;break;default:i=e.top+e.height/2-s.height/2}i+=window.scrollY,i=i<0?0:i,this.div.style.top=i+"px",this.div.style.left=n+"px"}Show(t){this.AddElement(),this.div.style.fontSize=this.document.options.a11y.magnify,this.Update(t),super.Show(t)}Clear(){this.div&&(this.inner.textContent="",this.inner.style.top="",this.inner.style.backgroundColor="")}Update(t){if(!this.div)return;this.Clear();const e=this.cloneNode(t),s=e.querySelector("[data-mjx-clone]");this.inner.style.backgroundColor=t.style.backgroundColor,s.style.backgroundColor="",s.classList.remove("mjx-selected"),this.inner.appendChild(e),this.position(t)}cloneNode(t){let e=t.cloneNode(!0);if(e.setAttribute("data-mjx-clone","true"),"MJX-CONTAINER"!==e.nodeName){"g"!==e.nodeName&&(e.style.marginLeft=e.style.marginRight="0");const s=t.closest("mjx-container");if("MJX-MATH"!==e.nodeName&&"svg"!==e.nodeName){let i=s.firstChild;"MJX-BBOX"===i.nodeName&&(i=i.nextSibling),e=i.cloneNode(!1).appendChild(e).parentElement;const n=Array.from(s.querySelectorAll("[data-sre-enclosed]"));"svg"===i.nodeName?this.svgClone(t,n,e,s):this.chtmlClone(t,n,e)}e=s.cloneNode(!1).appendChild(e).parentElement,e.style.margin="0",e.style.minWidth=""}return e.setAttribute("data-mjx-clone-container","true"),e}chtmlClone(t,e,s){for(const i of e)if(i!==t){const t=i.getAttribute("data-semantic-id");t&&s.querySelector(`[data-semantic-id="${t}"]`)||s.appendChild(i.cloneNode(!0))}}svgClone(t,e,s,i){var n;let{x:r,y:o,width:a,height:l}=t.getBBox();if(e.length){s.firstChild.remove();const n=i.querySelector("g").cloneNode(!1);for(const s of e){const e=n.appendChild(s.cloneNode(!0));s===t&&e.setAttribute("data-mjx-clone","true");const[i,r]=this.xy(s);e.setAttribute("transform",`translate(${i}, ${r})`)}s.appendChild(n);const c=t.previousSibling,h=c.getBBox();a=h.width,l=h.height;const[d,u]=this.xy(c);r=d,o=u+h.y}const c=i.querySelector("g");if("full"===i.getAttribute("width")&&c.firstChild.lastChild===t)return s.innerHTML="",s.appendChild(i.cloneNode(!0).firstChild),s.querySelector(".mjx-selected").setAttribute("data-mjx-clone","true"),void(null===(n=s.querySelector("[data-sre-highlighter-added]"))||void 0===n||n.remove());s.firstChild.setAttribute("transform","scale(1, -1)");const h=parseFloat((s.getAttribute("viewBox")||s.getAttribute("data-mjx-viewBox")).split(/ /)[2]),d=parseFloat(s.style.minWidth||s.getAttribute("width"));s.setAttribute("viewBox",[r,-(o+l),a,l].join(" ")),s.removeAttribute("style"),s.setAttribute("width",d/h*a+"ex"),s.setAttribute("height",d/h*l+"ex")}xy(t){const e=DOMPoint.fromPoint({x:0,y:0}).matrixTransform(t.getCTM().inverse());return[-e.x,-e.y]}}qE.className="MJX_HoverRegion",qE.style=new ao({[`.${qE.className}`]:{display:"block",position:"absolute",width:"max-content",height:"auto",padding:0,opacity:1,"z-index":"202",margin:"0 auto","background-color":"white","line-height":0,"box-shadow":"0px 10px 20px #888",border:"2px solid #CCCCCC"},[`.${qE.className} > div`]:{overflow:"hidden",color:"var(--mjx-fg1-color)","background-color":"var(--mjx-bg1-color)"},"@media (prefers-color-scheme: dark)":{["."+qE.className]:{"background-color":"#222025","box-shadow":"0px 5px 20px #000",border:"1px solid #7C7C7C"}},"mjx-container[data-mjx-clone-container]":{padding:"2px ! important"},"mjx-math > mjx-mlabeledtr":{display:"inline-block","margin-right":".5em ! important"},"mjx-math > mjx-mtd":{float:"right"}});class VE{get highlighter(){return this.pool.highlighter}static stopEvent(t){t.preventDefault?t.preventDefault():t.returnValue=!1,t.stopImmediatePropagation?t.stopImmediatePropagation():t.stopPropagation&&t.stopPropagation(),t.cancelBubble=!0}static create(t,e,s,i,...n){return new this(t,e,s,i,...n)}constructor(t,e,s,i,...n){this.document=t,this.pool=e,this.region=s,this.node=i,this.stoppable=!0,this.events=[],this._active=!1}Events(){return this.events}get active(){return this._active}set active(t){this._active=t}Attach(){this.AddEvents()}Detach(){this.RemoveEvents()}Start(){this.active=!0}Stop(){this.active&&(this.region.Clear(),this.region.Hide(),this.active=!1)}AddEvents(){for(const[t,e]of this.events)this.node.addEventListener(t,e)}RemoveEvents(){for(const[t,e]of this.events)this.node.removeEventListener(t,e)}Update(t=!1){}stopEvent(t){this.stoppable&&VE.stopEvent(t)}}var GE=function(t,e,s,i){return new(s||(s=Promise))(function(n,r){function o(t){try{l(i.next(t))}catch(t){r(t)}}function a(t){try{l(i.throw(t))}catch(t){r(t)}}function l(t){var e;t.done?n(t.value):(e=t.value,e instanceof s?e:new s(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})};const XE="Windows"===pi.os,zE=Array(40).fill("\u2800").join(""),KE="[data-speech-node]";function $E(t){return t.matches("mjx-container")}function JE(t,e=!0){return t.shiftKey&&e||t.metaKey||t.altKey||t.ctrlKey}class YE extends VE{static helpMessage(t,e,s){return`\n <h2 role="heading" aria-level="2">Exploring expressions ${t}</h2>\n\n <p>The mathematics on this page is being rendered by <a\n href="https://www.mathjax.org/" target="_blank">MathJax</a>, which\n generates both the text spoken by screen readers, as well as the\n visual layout for sighted users.</p>\n\n <p>Expressions typeset by MathJax can be explored interactively, and\n are focusable. You can use the <kbd>Tab</kbd> key to move to a typeset\n expression${e}. Initially, the expression will be read in full,\n but you can use the following keys to explore the expression\n further:</p>\n\n <ul>\n\n <li><kbd>Down Arrow</kbd> moves one level deeper into the\n expression to allow you to explore the current subexpression term by\n term.</li>\n\n <li><kbd>Up Arrow</kbd> moves back up a level within the\n expression.</li>\n\n <li><kbd>Right Arrow</kbd> moves to the next term in the\n current subexpression.</li>\n\n <li><kbd>Left Arrow</kbd> moves to the next term in the\n current subexpression.</li>\n\n <li><kbd>Shift</kbd>+<kbd>Arrow</kbd> moves to a\n neighboring cell within a table.</li>\n\n <li><kbd>0-9</kbd>+<kbd>0-9</kbd> jumps to a cell\n by its index in the table, where 0 = 10.</li>\n\n <li><kbd>Home</kbd> takes you to the top of the\n expression.</li>\n\n <li><kbd>Enter</kbd> or <kbd>Return</kbd> clicks a\n link or activates an active subexpression.</li>\n\n <li><kbd>Space</kbd> opens the MathJax contextual menu\n where you can view or copy the source format of the expression, or\n modify MathJax's settings.</li>\n\n <li><kbd>Escape</kbd> exits the expression\n explorer.</li>\n\n <li><kbd>x</kbd> gives a summary of the current\n subexpression.</li>\n\n <li><kbd>z</kbd> gives the full text of a collapsed\n expression.</li>\n\n <li><kbd>d</kbd> gives the current depth within the\n expression.</li>\n\n <li><kbd>s</kbd> starts or stops auto-voicing with\n synchronized highlighting.</li>\n\n <li><kbd>v</kbd> marks the current position in the\n expression.</li>\n\n <li><kbd>p</kbd> cycles through the marked positions in\n the expression.</li>\n\n <li><kbd>u</kbd> clears all marked positions and returns\n to the starting position.</li>\n\n <li><kbd>></kbd> cycles through the available speech\n rule sets (MathSpeak, ClearSpeak).</li>\n\n <li><kbd><</kbd> cycles through the verbosity levels\n for the current rule set.</li>\n\n <li><kbd>b</kbd> toggles whether Braille notation is combined\n with speech text for tactile Braille devices, as discussed\n below.\n\n <li><kbd>h</kbd> produces this help listing.</li>\n </ul>\n\n <p>The MathJax contextual menu allows you to enable or disable speech\n or Braille generation for mathematical expressions, the language to\n use for the spoken mathematics, and other features of MathJax. In\n particular, the Explorer submenu allows you to specify how the\n mathematics should be identified in the page (e.g., by saying "math"\n when the expression is spoken), and whether or not to include a\n message about the letter "h" bringing up this dialog box. Turning off\n speech and Braille will disable the expression explorer, its\n highlighting, and its help icon.</p>\n\n <p>Support for tactile Braille devices varies across screen readers,\n browsers, and operative systems. If you are using a Braille output\n device, you may need to select the "Combine with Speech" option in the\n contextual menu's Braille submenu in order to obtain Nemeth or Euro\n Braille output rather than the speech text on your Braille\n device. ${s}</p>\n\n <p>The contextual menu also provides options for viewing or copying a\n MathML version of the expression or its original source format,\n creating an SVG version of the expression, and viewing various other\n information.</p>\n\n <p>Finally, selecting the "Insert Hidden MathML" item from the options\n submenu will turn of MathJax's speech and Braille generation and\n instead use visually hidden MathML that some screen readers can voice,\n though support for this is not universal across all screen readers and\n operating systems. Selecting speech or Braille generation in their\n submenus will remove the hidden MathML again.</p>\n\n <p>For more help, see the <a\n href="https://docs.mathjax.org/en/latest/basic/accessibility.html"\n target="_blank">MathJax accessibility documentation.</a></p>\n `}get generators(){var t;return null===(t=this.item)||void 0===t?void 0:t.generatorPool}get role(){return this.item.ariaRole}get description(){return this.item.roleDescription}get none(){return this.document.options.a11y.brailleSpeech?this.item.brailleNone:this.item.none}get brailleNone(){return this.item.brailleNone}FocusIn(t){t.target.closest("mjx-html")||(this.item.outputData.nofocus?this.item.outputData.nofocus=!1:(this.clicked||(this.Start(),this.backTab=t.target===this.img),this.clicked=null))}FocusOut(t){this.current&&!this.focusSpeech&&(this.document.options.keepRegions||(this.setCurrent(null),this.Stop()),document.hasFocus()||this.focusTop())}KeyDown(t){if(this.pendingIndex.shift(),this.region.cancelVoice(),JE(t,!1))return;const e=this.constructor,s=1===t.key.length?t.key.toLowerCase():t.key,[i,n]=e.keyMap.get(s)||[],r=i?void 0===n||this.active?i(this,t):n:this.undefinedKey(t);r||(this.stopEvent(t),!1===r&&this.sound&&this.NoMove())}MouseDown(t){var e;if(this.pendingIndex=[],this.region.cancelVoice(),JE(t)||2===t.buttons)return void(this.item.outputData.nofocus=!0);const s=this.findClicked(t.target,t.x,t.y);s!==this.document.infoIcon?(null===(e=document.getSelection())||void 0===e||e.removeAllRanges(),t.target.getAttribute("sre-highlighter-added")?this.refocus=s:this.clicked=s):this.stopEvent(t)}Click(t){if(JE(t)||2===t.buttons||"Range"===document.getSelection().type)return void this.FocusOut(null);const e=this.findClicked(t.target,t.x,t.y);if(e===this.document.infoIcon)return this.stopEvent(t),void this.help();this.clicked||e&&!this.node.contains(e)||(this.refocus=e,this.triggerLinkMouse()||this.Start())}DblClick(t){var e;const s=null!==(e=document.getSelection().direction)&&void 0!==e?e:"none";JE(t)||2===t.buttons||"none"!==s?this.FocusOut(null):(this.refocus=this.rootNode(),this.Start())}spaceKey(){return this.refocus=this.current,!0}hKey(){if(!this.document.options.enableExplorerHelp)return!0;this.refocus=this.current,this.help()}escapeKey(t){return t.target.closest("mjx-html")?(this.refocus=t.target.closest(KE),this.Start()):(this.Stop(),this.focusTop(),this.setCurrent(null)),!0}tabKey(t){var e;const s=null!==(e=this.current)&&void 0!==e?e:this.node.contains(document.activeElement)?document.activeElement:null;if(0===this.tabs.length||!s)return!0;if(this.backTab)return!t.shiftKey||void this.tabTo(this.tabs[this.tabs.length-1]);const[i,n,r]=t.shiftKey?[this.tabs.slice(0).reverse(),Node.DOCUMENT_POSITION_PRECEDING,this.current&&this.isLink()?this.getAnchor():s]:[this.tabs,Node.DOCUMENT_POSITION_FOLLOWING,s];for(const t of i)if(r.compareDocumentPosition(t)&n)return void this.tabTo(t);return t.shiftKey&&this.current===this.rootNode()&&this.tabOut(),!0}tabTo(t){t.getAttribute("data-mjx-href")?this.setCurrent(this.linkFor(t)):t.focus()}tabOut(){const t=Array.from(this.node.querySelectorAll("mjx-html"));t.length&&(t.forEach(t=>{t.style.display="none"}),setTimeout(()=>{t.forEach(t=>{t.style.display=""})},0))}enterKey(t){if(this.active)if(this.triggerLinkKeyboard(t))this.Stop();else{const t=this.actionable(this.current);if(t)return this.refocus=t,void t.dispatchEvent(new Event("click"));const e=this.getInternalTabs(this.current).filter(t=>!t.getAttribute("data-mjx-href"));if(e.length)return void e[0].focus()}else this.Start()}homeKey(){this.setCurrent(this.rootNode())}moveDown(t){return t?this.moveToNeighborCell(1,0):this.moveTo(this.firstNode(this.current))}moveUp(t){return t?this.moveToNeighborCell(-1,0):this.moveTo(this.getParent(this.current))}moveRight(t){return t?this.moveToNeighborCell(0,1):this.moveTo(this.nextSibling(this.current))}moveLeft(t){return t?this.moveToNeighborCell(0,-1):this.moveTo(this.prevSibling(this.current))}moveTo(t){if(!t)return!1;this.setCurrent(t)}moveToNeighborCell(t,e){const s=this.tableCell(this.current);if(!s)return!1;const[i,n]=this.cellPosition(s);if(null==i)return!1;const r=this.cellAt(this.cellTable(s),i+t,n+e);if(!r)return!1;this.setCurrent(r)}undefinedKey(t){return!this.active||JE(t)}addMark(){this.current===this.marks[this.marks.length-1]?this.setCurrent(this.current):(this.currentMark=this.marks.length-1,this.marks.push(this.current),this.speak("Position marked"))}prevMark(){if(this.currentMark<0){if(0===this.marks.length)return void this.setCurrent(this.lastMark||this.rootNode());this.currentMark=this.marks.length-1}const t=this.currentMark;this.setCurrent(this.marks[t]),this.currentMark=t-1}clearMarks(){this.marks=[],this.currentMark=-1,this.prevMark()}autoVoice(){const t=!this.document.options.a11y.voicing;this.document.menu?this.document.menu.menu.pool.lookup("voicing").setValue(t):this.document.options.a11y.voicing=t,this.Update()}toggleBraille(){const t=!this.document.options.a11y.brailleCombine;this.document.menu?this.document.menu.menu.pool.lookup("brailleCombine").setValue(t):this.document.options.a11y.brailleCombine=t}numberKey(t){if(!this.tableCell(this.current))return!1;if(0===t&&(t=10),this.pendingIndex.length){const e=this.cellTable(this.tableCell(this.current)),s=this.cellAt(e,this.pendingIndex[0]-1,t-1);if(this.pendingIndex=[],this.speak(String(t)),!s)return!1;setTimeout(()=>this.setCurrent(s),500)}else this.pendingIndex=[null,t],this.speak(`Jump to row ${t} and column`)}depth(){var t,e,s;if("d"===this.speechType)return void this.setCurrent(this.current);this.speechType="d";const i=[[null!==(t=this.node.getAttribute("data-semantic-level"))&&void 0!==t?t:"Level",null!==(e=this.current.getAttribute("data-semantic-level-number"))&&void 0!==e?e:"0"].join(" ").trim()],n=this.actionable(this.current);n&&i.unshift(null!==(s=this.node.getAttribute("1"===n.getAttribute("toggle")?"data-semantic-expandable":"data-semantic-collapsible"))&&void 0!==s?s:""),this.speak(i.join(" "),this.current.getAttribute(LE.BRAILLE))}summary(){if("x"===this.speechType)return void this.setCurrent(this.current);this.speechType="x";const t=this.current.getAttribute(LE.SUMMARY);this.speak(t,this.current.getAttribute(LE.BRAILLE),this.SsmlAttributes(this.current,LE.SUMMARY_SSML))}nextRules(){this.node.removeAttribute("data-speech-attached"),this.restartAfter(this.generators.nextRules(this.item))}nextStyle(){this.node.removeAttribute("data-speech-attached"),this.restartAfter(this.generators.nextStyle(this.current,this.item))}details(){const t=this.actionable(this.current);if(!t||!t.getAttribute("data-collapsible")||"1"!==t.getAttribute("toggle")||"z"===this.speechType)return void this.setCurrent(this.current);this.speechType="z";const e=this.nodeId(this.current);let s;this.item.root.walkTree(t=>{t.attributes.get("data-semantic-id")===e&&(s=t)});let i=this.item.toMathML(s,this.item);s.isKind("math")||(i=`<math>${i}</math>`),i=i.replace(/ (?:data-semantic-|aria-|data-speech-|data-latex).*?=".*?"/g,""),this.item.speechFor(i).then(([t,e])=>this.speak(t,e))}help(){if(!this.document.options.enableExplorerHelp)return;const t=this.constructor,[e,s,i]=t.helpData.get(pi.os);uo.post({title:"MathJax Expression Explorer Help",message:t.helpMessage(e,s,i),node:this.node,adaptor:this.document.adaptor,styles:{".mjx-dialog":{"max-height":"calc(min(35em, 90%))"},"mjx-dialog mjx-title":{"font-size":"133%",margin:".5em 1.75em"},"mjx-dialog h2":{"font-size":"20px",margin:".5em 0"},"mjx-dialog ul":{"list-style-type":"none"},"mjx-dialog li":{"margin-bottom":".5em"}}})}setCurrent(t,e=!1){if(this.backTab=!1,this.speechType="",document.hasFocus()||(this.refocus=this.current),this.node.setAttribute("aria-busy","true"),this.current){this.pool.unhighlight();for(const t of Array.from(this.node.querySelectorAll(".mjx-selected")))t.classList.remove("mjx-selected");"last"===this.document.options.a11y.tabSelects&&(this.refocus=this.current),t||(this.lastMark=this.current,this.removeSpeech()),this.current=null}if(this.current=t,this.currentMark=-1,this.current){const s=[...this.getSplitNodes(this.current)];this.highlighter.encloseNodes(s,this.node);for(const t of s)t.getAttribute("data-sre-enclosed")||t.classList.add("mjx-selected");this.pool.highlight(s),this.addSpeech(t,e),this.node.setAttribute("tabindex","-1"),this.Update()}this.node.removeAttribute("aria-busy")}getSplitNodes(t){const e=this.nodeId(t);if(!e)return[t];if(this.cacheParts.has(e))return this.cacheParts.get(e);const s=Array.from(this.node.querySelectorAll(`[data-semantic-id="${e}"]`)),i=this.subtree(e,s);return this.cacheParts.set(e,[...s,...i]),this.cacheParts.get(e)}subtree(t,e){const s=this.subtrees.get(t),i=new Set;for(const t of e)Array.from(t.querySelectorAll("[data-semantic-id]")).forEach(t=>i.add(this.nodeId(t)));return[...function(t,e){if(!t)return new Set;if(!e)return t;return new Set([...t].filter(t=>!e.has(t)))}(s,i)].map(t=>this.getNode(t)).filter(t=>null!==t)}addSpeech(t,e){var s;if(!this.document.options.enableSpeech&&!this.document.options.enableBraille)return;this.anchors.length?setTimeout(()=>{var t;return null===(t=this.img)||void 0===t?void 0:t.remove()},10):null===(s=this.img)||void 0===s||s.remove();let i=this.addComma([t.getAttribute(LE.PREFIX),t.getAttribute(LE.SPEECH),t.getAttribute(LE.POSTFIX)]).join(" ").trim();if(e){let t=this.description===this.none?"":", "+this.description;this.document.options.a11y.help&&this.document.options.enableExplorerHelp&&(t+=", press h for help"),i+=t}this.speak(i,t.getAttribute(LE.BRAILLE),this.SsmlAttributes(t,LE.SPEECH_SSML))}addComma(t){return t[2]&&(t[1]||t[0])&&(t[1]+=","),t}removeSpeech(){this.speech&&(this.unspeak(this.speech),this.speech=null,this.img&&this.node.append(this.img),this.node.setAttribute("tabindex",this.tabIndex))}speak(t,e="",s=null,i=this.none){const n=this.speech,r=this.speech=document.createElement("mjx-speech");if(r.setAttribute("role",this.role),r.setAttribute("aria-label",t||this.none),r.setAttribute("aria-roledescription",i||this.none),r.setAttribute(LE.SPEECH,t),s&&(r.setAttribute(LE.PREFIX_SSML,s[0]||""),r.setAttribute(LE.SPEECH_SSML,s[1]||""),r.setAttribute(LE.POSTFIX_SSML,s[2]||"")),e&&(this.document.options.a11y.brailleSpeech&&(r.setAttribute("aria-label",e),r.setAttribute("aria-roledescription",this.brailleNone)),r.setAttribute("aria-braillelabel",e),r.setAttribute("aria-brailleroledescription",this.brailleNone),this.document.options.a11y.brailleCombine&&r.setAttribute("aria-label",e+zE+t)),r.setAttribute("tabindex","0"),XE){const t=document.createElement("mjx-speech-container");t.setAttribute("role","application"),t.setAttribute("aria-roledescription",this.none),t.setAttribute("aria-brailleroledescription",this.brailleNone),t.append(r),this.node.append(t),r.setAttribute("role","img")}else this.node.append(r);this.focusSpeech=!0,r.focus(),this.focusSpeech=!1,this.Update(),n&&setTimeout(()=>this.unspeak(n),100)}unspeak(t){XE&&(t=t.parentElement),t.remove()}attachSpeech(){var t;const e=this.item,s=this.node;if(!s.hasAttribute("has-speech")){for(const t of Array.from(s.childNodes))t.setAttribute("aria-hidden","true");s.setAttribute("has-speech","true")}const i=e.roleDescription,n=(s.getAttribute(LE.SPEECH)||"")+(i?", "+i:"");null===(t=this.img)||void 0===t||t.remove(),this.img=this.document.adaptor.node("mjx-speech",{"aria-label":n,role:"img","aria-roledescription":e.none});const r=s.getAttribute(LE.BRAILLE);r&&(this.document.options.a11y.brailleSpeech&&(this.img.setAttribute("aria-label",r),this.img.setAttribute("aria-roledescription",this.brailleNone)),this.img.setAttribute("aria-braillelabel",r),this.img.setAttribute("aria-brailleroledescription",this.brailleNone),this.document.options.a11y.brailleCombine&&this.img.setAttribute("aria-label",r+zE+n)),s.appendChild(this.img),this.adjustAnchors(),this.getTabs()}detachSpeech(){var t;const e=this.node;null===(t=this.img)||void 0===t||t.remove(),e.removeAttribute("has-speech");for(const t of Array.from(e.childNodes))t.removeAttribute("aria-hidden");this.restoreAnchors()}adjustAnchors(){this.anchors=Array.from(this.node.querySelectorAll("a[href]"));for(const t of this.anchors){const e=t.getAttribute("href");t.setAttribute("data-mjx-href",e),t.removeAttribute("href")}this.anchors.length&&this.img.setAttribute("tabindex","0")}restoreAnchors(){for(const t of this.anchors)t.setAttribute("href",t.getAttribute("data-mjx-href")),t.removeAttribute("data-mjx-href");this.anchors=[]}getTabs(){this.tabs=this.getInternalTabs(this.node)}getInternalTabs(t){return Array.from(t.querySelectorAll('button, [data-mjx-href], input, select, textarea, [tabindex]:not([tabindex="-1"],mjx-speech)'))}focus(){this.node.focus()}nodeId(t){return t.getAttribute("data-semantic-id")}parentId(t){return t.getAttribute("data-semantic-parent")}getNode(t){return t?this.node.querySelector(`[data-semantic-id="${t}"]`):null}getParent(t){return this.getNode(this.parentId(t))}childArray(t){return t?t.getAttribute("data-semantic-children").split(/,/):[]}isCell(t){return!!t&&this.cellTypes.includes(t.getAttribute("data-semantic-type"))}isRow(t){return!!t&&"row"===t.getAttribute("data-semantic-type")}tableCell(t){for(;t&&t!==this.node;){if(this.isCell(t))return t;t=t.parentNode}return null}cellTable(t){const e=this.getParent(t);return this.isRow(e)?this.getParent(e):e}cellPosition(t){const e=this.getParent(t),s=this.childArray(e).indexOf(this.nodeId(t));if(!this.isRow(e))return[s,1];const i=this.getParent(e);return[this.childArray(i).indexOf(this.nodeId(e)),s]}cellAt(t,e,s){const i=this.getNode(this.childArray(t)[e]);if(!this.isRow(i))return 1===s?i:null;return this.getNode(this.childArray(i)[s])}firstNode(t){const e=t.getAttribute("data-semantic-owns");if(!e)return t.querySelector(KE);const s=e.split(/ /);for(const t of s){const e=this.getNode(t);if(null==e?void 0:e.hasAttribute("data-speech-node"))return e}return t.querySelector(KE)}rootNode(){const t=this.node.querySelector("[data-semantic-structure]");if(!t)return this.node.querySelector(KE);const e=t.getAttribute("data-semantic-structure").split(/ /)[0].replace("(","");return this.getNode(e)}nextSibling(t){var e;const s=this.parentId(t);if(!s)return null;const i=null===(e=this.getNode(s).getAttribute("data-semantic-owns"))||void 0===e?void 0:e.split(/ /);if(!i)return null;let n,r=i.indexOf(this.nodeId(t));do{n=this.getNode(i[++r])}while(n&&!n.hasAttribute("data-speech-node"));return n}prevSibling(t){var e;const s=this.parentId(t);if(!s)return null;const i=null===(e=this.getNode(s).getAttribute("data-semantic-owns"))||void 0===e?void 0:e.split(/ /);if(!i)return null;let n,r=i.indexOf(this.nodeId(t));do{n=this.getNode(i[--r])}while(n&&!n.hasAttribute("data-speech-node"));return n}findClicked(t,e,s){const i=this.document.infoIcon;if(i===t||i.contains(t))return i;if("SVG"!==this.node.getAttribute("jax"))return t.closest(KE);let n=null,r=this.node;for(;r;){r.matches(KE)&&(n=r);const t=Array.from(r.childNodes);r=null;for(const i of t)if(i!==this.speech&&i!==this.img&&i.tagName&&"rect"!==i.tagName.toLowerCase()){const{left:t,right:n,top:o,bottom:a}=i.getBoundingClientRect();if(t<=e&&e<=n&&o<=s&&s<=a){r=i;break}}}return n}isLink(t=this.current){var e;return!!(null===(e=null==t?void 0:t.getAttribute("data-semantic-attributes"))||void 0===e?void 0:e.includes("href:"))}getAnchor(t=this.current){const e=t.closest("a");return e&&this.node.contains(e)?e:null}linkFor(t){return null==t?void 0:t.querySelector('[data-semantic-attributes*="href:"]')}parentLink(t){const e=null==t?void 0:t.closest('[data-semantic-attributes*="href:"]');return e&&this.node.contains(e)?e:null}focusTop(){this.focusSpeech=!0,this.node.focus(),this.focusSpeech=!1}SsmlAttributes(t,e){return[t.getAttribute(LE.PREFIX_SSML),t.getAttribute(e),t.getAttribute(LE.POSTFIX_SSML)]}restartAfter(t){return GE(this,void 0,void 0,function*(){yield t,this.attachSpeech();const e=this.current;this.current=null,this.pool.unhighlight(),this.setCurrent(e)})}constructor(t,e,s,i,n,r,o,a){super(t,e,null,i),this.document=t,this.pool=e,this.region=s,this.node=i,this.brailleRegion=n,this.magnifyRegion=r,this.item=a,this.sound=!1,this.current=null,this.clicked=null,this.refocus=null,this.focusSpeech=!1,this.restarted=null,this.speech=null,this.speechType="",this.img=null,this.attached=!1,this.eventsAttached=!1,this.marks=[],this.currentMark=-1,this.lastMark=null,this.pendingIndex=[],this.cellTypes=["cell","line"],this.backTab=!1,this.events=super.Events().concat([["focusin",this.FocusIn.bind(this)],["focusout",this.FocusOut.bind(this)],["keydown",this.KeyDown.bind(this)],["mousedown",this.MouseDown.bind(this)],["click",this.Click.bind(this)],["dblclick",this.DblClick.bind(this)]]),this.subtrees=null,this.cacheParts=new Map}findStartNode(){let t=this.refocus||this.current;return!t&&this.restarted&&(t=this.node.querySelector(this.restarted)),this.refocus=this.restarted=null,t}Start(){const t=Object.create(null,{Start:{get:()=>super.Start}});return GE(this,void 0,void 0,function*(){if(this.subtrees||(this.subtrees=new Map,this.getSubtrees()),!this.attached||this.active)return;if(this.document.activeItem=this.item,this.item.state()<ln.ATTACHSPEECH&&(this.item.attachSpeech(this.document),yield this.generators.promise),this.focusSpeech)return;this.node.classList.add("mjx-explorer-active"),this.document.options.enableExplorerHelp&&this.node.append(this.document.infoIcon);const e=this.findStartNode();this.setCurrent(e||this.rootNode(),!e),t.Start.call(this);const s=this.document.options,i=s.a11y;i.subtitles&&i.speech&&s.enableSpeech&&this.region.Show(this.node),i.viewBraille&&i.braille&&s.enableBraille&&this.brailleRegion.Show(this.node),i.keyMagnifier&&this.magnifyRegion.Show(this.current),this.Update()})}Stop(){this.active&&(this.node.classList.remove("mjx-explorer-active"),this.document.options.enableExplorerHelp&&this.document.infoIcon.remove(),this.pool.unhighlight(),this.magnifyRegion.Hide(),this.region.Hide(),this.brailleRegion.Hide()),super.Stop()}Update(){this.active&&(this.region.node=this.node,(this.document.options.enableSpeech||this.document.options.enableBraille)&&this.generators.updateRegions(this.speech||this.node,this.region,this.brailleRegion),this.magnifyRegion.Update(this.current))}get tabIndex(){return this.document.options.a11y.inTabOrder?"0":"-1"}Attach(){this.attached||(super.Attach(),this.node.setAttribute("tabindex",this.tabIndex),this.attached=!0)}Detach(){var t;super.RemoveEvents(),this.node.removeAttribute("role"),this.node.removeAttribute("aria-roledescription"),this.node.removeAttribute("aria-label"),null===(t=this.img)||void 0===t||t.remove(),this.active&&this.node.setAttribute("tabindex",this.tabIndex),this.attached=!1}NoMove(){CE()}AddEvents(){this.eventsAttached||(super.AddEvents(),this.addHtmlEvents(),this.eventsAttached=!0)}addHtmlEvents(){for(const t of Array.from(this.node.querySelectorAll("mjx-html"))){const e=e=>{t.contains(document.activeElement)&&(e instanceof KeyboardEvent?(this.clicked=null,"Tab"!==e.key&&"Escape"!==e.key&&e.stopPropagation()):this.clicked=e.target)};t.addEventListener("mousedown",e),t.addEventListener("click",e),t.addEventListener("keydown",e),t.addEventListener("dblclick",e)}}actionable(t){const e=null==t?void 0:t.parentNode;return e&&this.highlighter.isMactionNode(e)?e:null}triggerLinkKeyboard(t){return this.current?this.triggerLink(this.current):t.target instanceof HTMLAnchorElement&&(t.target.dispatchEvent(new MouseEvent("click")),!0)}triggerLink(t){if(this.isLink(t)){const e=this.getAnchor(t);return e.classList.add("mjx-visited"),setTimeout(()=>this.FocusOut(null),50),window.location.href=e.getAttribute("data-mjx-href"),!0}return!1}triggerLinkMouse(){const t=this.parentLink(this.refocus);return!!this.triggerLink(t)}semanticFocus(){const t=[];let e="data-semantic-id",s=this.current||this.refocus||this.node;const i=this.actionable(s);i&&(e=i.hasAttribute("data-maction-id")?"data-maction-id":"id",s=i,t.push(KE));const n=s.getAttribute(e);return n&&t.unshift(`[${e}="${n}"]`),t.join(" ")}getSubtrees(){const t=this.node.querySelector("[data-semantic-structure]");if(!t)return;const e=t.getAttribute("data-semantic-structure");const s=function(t){const e=[[]];for(const s of t)if("("===s){const t=[];e[e.length-1].push(t),e.push(t)}else")"===s?e.pop():e[e.length-1].push(s);return e[0][0]}(e.replace(/\(/g," ( ").replace(/\)/g," ) ").trim().split(/\s+/));QE(s,this.subtrees)}}function QE(t,e){if("string"==typeof t)return e.has(t)||e.set(t,new Set),new Set;const[s,...i]=t,n=s,r=new Set;for(const t of i){const s="string"==typeof t?t:t[0],i=QE(t,e);r.add(s),i.forEach(t=>r.add(t))}return e.set(n,r),r}YE.helpData=new Map([["MacOS",["on MacOS and iOS using VoiceOver",", or the VoiceOver arrow keys to select an expression",""]],["Windows",["in Windows using NVDA or JAWS",". The screen reader should enter focus or forms mode automatically\n when the expression gets the browser focus, but if not, you can toggle\n focus mode using NVDA+space in NVDA; for JAWS, Enter should start\n forms mode while Numpad Plus leaves it. Also note that you can use\n the NVDA or JAWS key plus the arrow keys to explore the expression\n even in browse mode, and you can use NVDA+shift+arrow keys to\n navigate out of an expression that has the focus in NVDA","NVDA users need to select this option, while JAWS users should be able\n to get Braille output without changing this setting."]],["Unix",["in Unix using Orca",", and Orca should enter focus mode automatically. If not, use the\n Orca+a key to toggle focus mode on or off. Also note that you can use\n Orca+arrow keys to explore expressions even in browse mode",""]],["unknown",["with a Screen Reader.","",""]]]),YE.keyMap=new Map([["Tab",[(t,e)=>t.tabKey(e)]],["Escape",[(t,e)=>t.escapeKey(e)]],["Enter",[(t,e)=>t.enterKey(e)]],["Home",[t=>t.homeKey()]],["ArrowDown",[(t,e)=>t.moveDown(e.shiftKey),!0]],["ArrowUp",[(t,e)=>t.moveUp(e.shiftKey),!0]],["ArrowLeft",[(t,e)=>t.moveLeft(e.shiftKey),!0]],["ArrowRight",[(t,e)=>t.moveRight(e.shiftKey),!0]],[" ",[t=>t.spaceKey()]],["h",[t=>t.hKey()]],[">",[t=>t.nextRules(),!1]],["<",[t=>t.nextStyle(),!1]],["x",[t=>t.summary(),!1]],["z",[t=>t.details(),!1]],["d",[t=>t.depth(),!1]],["v",[t=>t.addMark(),!1]],["p",[t=>t.prevMark(),!1]],["u",[t=>t.clearMarks(),!1]],["s",[t=>t.autoVoice(),!1]],["b",[t=>t.toggleBraille(),!1]],...[..."0123456789"].map(t=>[t,[e=>e.numberKey(parseInt(t)),!1]])]);class ZE extends VE{constructor(){super(...arguments),this.events=super.Events().concat([["mouseover",this.MouseOver.bind(this)],["mouseout",this.MouseOut.bind(this)]])}MouseOver(t){this.Start()}MouseOut(t){this.Stop()}}class ty extends ZE{constructor(t,e,s,i,n,r){super(t,e,s,i),this.document=t,this.pool=e,this.region=s,this.node=i,this.nodeQuery=n,this.nodeAccess=r}MouseOut(t){this.highlighter.unhighlight(),this.region.Hide(),super.MouseOut(t)}MouseOver(t){super.MouseOver(t);const e=t.target,[s,i]=this.getNode(e);s&&(this.highlighter.unhighlight(),this.highlighter.highlight([s]),this.region.Update(i),this.region.Show(s))}getNode(t){const e=t;for(;t&&t!==this.node;){if(this.nodeQuery(t))return[t,this.nodeAccess(t)];t=t.parentNode}for(t=e;t;){if(this.nodeQuery(t))return[t,this.nodeAccess(t)];const e=t.childNodes[0];t=e&&"defs"===e.tagName?t.childNodes[1]:e}return[null,null]}}class ey extends ty{}class sy extends ty{}class iy extends ty{constructor(t,e,s,i){super(t,e,new jE(t),i,t=>this.highlighter.isMactionNode(t),()=>{}),this.document=t,this.pool=e,this.node=i}}class ny extends VE{constructor(t,e,s,i,n){super(t,e,null,i),this.document=t,this.pool=e,this.region=s,this.node=i,this.mml=n,this.stoppable=!1}Attach(){super.Attach(),this.Start()}Detach(){this.Stop(),super.Detach()}}class ry extends ny{Start(){this.active||(this.active=!0,this.highlighter.highlightAll(this.node))}Stop(){this.active&&this.highlighter.unhighlightAll(),this.active=!1}}class oy extends ny{constructor(){super(...arguments),this.contrast=new ay,this.leaves=[],this.modality="data-semantic-foreground"}Start(){this.active||(this.active=!0,this.node.hasAttribute("hasforegroundcolor")||(this.colorLeaves(),this.node.setAttribute("hasforegroundcolor","true")),this.leaves.forEach(t=>this.colorize(t)))}Stop(){this.active&&this.leaves.forEach(t=>this.uncolorize(t)),this.active=!1}colorLeaves(){this.leaves=Array.from(this.node.querySelectorAll("[data-semantic-id]:not([data-semantic-children])"));for(const t of this.leaves)t.setAttribute(this.modality,this.contrast.generate()),this.contrast.increment()}colorize(t){t.hasAttribute(this.modality)&&(t.setAttribute(this.modality+"-old",t.style.color),t.style.color=t.getAttribute(this.modality))}uncolorize(t){const e=this.modality+"-old";t.hasAttribute(e)&&(t.style.color=t.getAttribute(e))}}class ay{constructor(){this.hue=10,this.sat=100,this.light=50,this.incr=53}generate(){return ay.hsl2rgb(this.hue,this.sat,this.light)}increment(){this.hue=(this.hue+this.incr)%360}static hsl2rgb(t,e,s){e=e>1?e/100:e,s=s>1?s/100:s;const i=(1-Math.abs(2*s-1))*e,n=i*(1-Math.abs(t/60%2-1)),r=s-i/2;let o=0,a=0,l=0;return 0<=t&&t<60?[o,a,l]=[i,n,0]:60<=t&&t<120?[o,a,l]=[n,i,0]:120<=t&&t<180?[o,a,l]=[0,i,n]:180<=t&&t<240?[o,a,l]=[0,n,i]:240<=t&&t<300?[o,a,l]=[n,0,i]:300<=t&&t<360&&([o,a,l]=[i,0,n]),`rgb(${255*(o+r)}, ${255*(a+r)}, ${255*(l+r)})`}}const ly={color:"blue",alpha:.2},cy={color:"black",alpha:1},hy={ENCLOSED:"data-sre-enclosed",BBOX:"data-sre-highlighter-bbox",ADDED:"data-sre-highlighter-added"};class dy{constructor(t){this.currentHighlights=[],this.priority=t,this.ATTR="data-sre-highlight-"+t}highlight(t){this.currentHighlights.push(t);for(const e of t)this.highlightNode(e),this.setHighlighted(e)}highlightAll(t){const e=this.getMactionNodes(t);for(const t of e)this.highlight([t])}unhighlight(){const t=this.currentHighlights.pop();t&&t.forEach(t=>{this.isHighlighted(t)&&(this.unhighlightNode(t),this.unsetHighlighted(t))})}unhighlightAll(){for(;this.currentHighlights.length>0;)this.unhighlight()}encloseNodes(t,e){if(1===t.length)return t;const s=this.constructor,i=s.lineSelector,n=s.lineAttr,r=new Map;for(const e of t){const t=e.closest(i),s=t?t.getAttribute(n):"";r.has(s)||r.set(s,[]),r.get(s).push(e)}for(const s of r.values())if(s.length>1){let[i,n,r,o]=[1/0,1/0,-1/0,-1/0];for(const t of s){t.setAttribute(hy.ENCLOSED,"true");const{left:e,top:s,right:a,bottom:l}=t.getBoundingClientRect();s===l&&e===a||(e<i&&(i=e),s<n&&(n=s),l>o&&(o=l),a>r&&(r=a))}const a=this.createEnclosure(i,o,r-i,o-n,e,s[0]);t.push(a)}return t}setColorCSS(t,e,s){var i,n;const r=null!==(i=e.color)&&void 0!==i?i:s.color,o=null!==(n=e.alpha)&&void 0!==n?n:s.alpha;HE.setColor(t,this.priority,r,o)}setColor(t,e){this.setColorCSS("fg",e,cy),this.setColorCSS("bg",t,ly)}isHighlighted(t){return t.hasAttribute(this.ATTR)}setHighlighted(t){t.setAttribute(this.ATTR,"true")}unsetHighlighted(t){t.removeAttribute(this.ATTR),t.removeAttribute(hy.ENCLOSED)}}class uy extends dy{highlightNode(t){if(this.isHighlighted(t)||"svg"===t.tagName||"MJX-CONTAINER"===t.tagName||t.hasAttribute(hy.BBOX)||t.hasAttribute(hy.ENCLOSED))return;const{x:e,y:s,width:i,height:n}=t.getBBox(),r=this.createRect(e,s,i,n,t.getAttribute("transform"));this.setHighlighted(r),t.parentNode.insertBefore(r,t)}unhighlightNode(t){if(t.hasAttribute(hy.BBOX))return void t.remove();const e=t.previousSibling;(null==e?void 0:e.hasAttribute(hy.ADDED))&&e.remove()}createEnclosure(t,e,s,i,n,r){const[o,a]=this.screen2svg(t,e,r),[l,c]=this.screen2svg(t+s,e-i,r),h=this.createRect(o,a,l-o,c-a,r.getAttribute("transform"));return h.setAttribute(hy.BBOX,"true"),r.parentNode.insertBefore(h,r),h}screen2svg(t,e,s){const i=s,n=DOMPoint.fromPoint({x:t,y:e}).matrixTransform(i.getScreenCTM().inverse());return[n.x,n.y]}createRect(t,e,s,i,n){const r=document.createElementNS("http://www.w3.org/2000/svg","rect");return r.setAttribute(hy.ADDED,"true"),r.setAttribute("x",String(t-40)),r.setAttribute("y",String(e-40)),r.setAttribute("width",String(s+80)),r.setAttribute("height",String(i+80)),n&&r.setAttribute("transform",n),r}isMactionNode(t){return"maction"===t.getAttribute("data-mml-node")}getMactionNodes(t){return Array.from(t.querySelectorAll('[data-mml-node="maction"]'))}}uy.lineSelector="[data-mjx-linebox]",uy.lineAttr="data-mjx-lineno";class py extends dy{highlightNode(t){}unhighlightNode(t){"mjx-bbox"===t.tagName.toLowerCase()&&t.remove()}createEnclosure(t,e,s,i,n){const r=n.getBoundingClientRect(),o=document.createElement("mjx-bbox");return o.style.width=s+"px",o.style.height=i+"px",o.style.left=t-r.left+"px",o.style.top=e-i-r.top+"px",o.style.position="absolute",n.prepend(o),o}isMactionNode(t){var e;return"mjx-maction"===(null===(e=t.tagName)||void 0===e?void 0:e.toLowerCase())}getMactionNodes(t){return Array.from(t.querySelectorAll("mjx-maction"))}}function my(t,e,s,i){const n=new gy[i](t);return n.setColor(e,s),n}py.lineSelector="mjx-linebox",py.lineAttr="lineno";const gy={SVG:uy,CHTML:py,generic:py};class fy{constructor(t){this.document=t,this.speechRegion=new WE(this.document),this.brailleRegion=new HE(this.document),this.magnifier=new qE(this.document),this.tooltip1=new UE(this.document),this.tooltip2=new UE(this.document),this.tooltip3=new UE(this.document)}}const by={speech:(t,e,s,...i)=>{const n=YE.create(t,e,t.explorerRegions.speechRegion,s,t.explorerRegions.brailleRegion,t.explorerRegions.magnifier,i[0],i[1]);return n.sound=!0,n},mouseMagnifier:(t,e,s,...i)=>sy.create(t,e,t.explorerRegions.magnifier,s,t=>t.hasAttribute("data-semantic-type"),t=>t),hover:(t,e,s,...i)=>iy.create(t,e,null,s),infoType:(t,e,s,...i)=>ey.create(t,e,t.explorerRegions.tooltip1,s,t=>t.hasAttribute("data-semantic-type"),t=>t.getAttribute("data-semantic-type")),infoRole:(t,e,s,...i)=>ey.create(t,e,t.explorerRegions.tooltip2,s,t=>t.hasAttribute("data-semantic-role"),t=>t.getAttribute("data-semantic-role")),infoPrefix:(t,e,s,...i)=>ey.create(t,e,t.explorerRegions.tooltip3,s,t=>{var e;return null===(e=t.hasAttribute)||void 0===e?void 0:e.call(t,"data-semantic-prefix-none")},t=>{var e;return null===(e=t.getAttribute)||void 0===e?void 0:e.call(t,"data-semantic-prefix-none")}),flame:(t,e,s,...i)=>ry.create(t,e,null,s),treeColoring:(t,e,s,...i)=>oy.create(t,e,null,s,...i)};class Ey{constructor(){this.explorers={},this.attached=[],this._restart=[],this.speechExplorerKeys=["speech","braille","keyMagnifier"]}get highlighter(){if(this._renderer!==this.document.outputJax.name)return this._renderer=this.document.outputJax.name,this.setPrimaryHighlighter(),this._highlighter;const[t,e]=this.colorOptions();return this._highlighter.setColor(e,t),this._highlighter}init(t,e,s,i){this.document=t,this.mml=s,this.node=e,this.setPrimaryHighlighter();for(const t of Object.keys(by))this.explorers[t]=by[t](this.document,this,this.node,this.mml,i);this.setSecondaryHighlighter(),this.attach()}attach(){this.attached=[];const t=[],e=this.document.options.a11y;for(const[s,i]of Object.entries(this.explorers))i instanceof YE?(i.stoppable=!1,t.unshift(i),this.speechExplorerKeys.some(t=>this.document.options.a11y[t])?(i.Attach(),this.attached.push(s)):i.Detach()):e[s]||"speech"===s&&(e.braille||e.keyMagnifier)?(i.Attach(),this.attached.push(s)):i.Detach();for(const e of t)if(e.attached){e.stoppable=!0;break}}reattach(){for(const t of this.attached){const e=this.explorers[t];e.active&&(this._restart.push(t),e.Stop())}}restart(){this._restart.forEach(t=>{this.explorers[t].Start()}),this._restart=[]}setPrimaryHighlighter(){const[t,e]=this.colorOptions();this._highlighter=my(HE.priority.primary,e,t,this.document.outputJax.name)}setSecondaryHighlighter(){this.secondaryHighlighter=my(HE.priority.secondary,{color:"red",alpha:.8},{color:"black"},this.document.outputJax.name),this.speech.region.highlighter=this.secondaryHighlighter}highlight(t){this.highlighter.highlight(t)}unhighlight(){this.secondaryHighlighter.unhighlight(),this.highlighter.unhighlight()}get speech(){return this.explorers.speech}colorOptions(){const t=this.document.options.a11y;return[{color:t.foregroundColor.toLowerCase(),alpha:t.foregroundOpacity/100},{color:t.backgroundColor.toLowerCase(),alpha:t.backgroundOpacity/100}]}}const yy="Unix"===pi.os;function xy(t,e){var s;return s=class extends t{constructor(){super(...arguments),this.refocus=null}get ariaRole(){return this.constructor.ariaRole}get roleDescription(){const t=this.constructor;return"none"===t.roleDescription?t.none:t.roleDescription}get none(){return this.constructor.none}get brailleNone(){return this.constructor.brailleNone}attachSpeech(t){var e,s;super.attachSpeech(t),null===(s=null===(e=this.outputData.speechPromise)||void 0===e?void 0:e.then(()=>this.explorers.speech.attachSpeech()))||void 0===s||s.then(()=>{var t;(null===(t=this.explorers)||void 0===t?void 0:t.speech)&&(this.explorers.speech.restarted=this.refocus),this.refocus=null,this.explorers&&this.explorers.restart()})}detachSpeech(t){super.detachSpeech(t),this.explorers.speech.detachSpeech()}explorable(t,s=!1){if(!(this.state()>=ln.EXPLORER)){if(!this.isEscaped&&(t.options.enableExplorer||s)){const s=this.typesetRoot,i=e(this.root);this.explorers||(this.explorers=new Ey),this.explorers.init(t,s,i,this)}this.state(ln.EXPLORER)}}state(t=null,e=!1){if(t<ln.EXPLORER&&this.explorers)for(const t of Object.values(this.explorers.explorers))t.active&&t.Stop();return super.state(t,e)}rerender(t,e=ln.RERENDER){const s=this.setTemporaryFocus(t);super.rerender(t,e),this.clearTemporaryFocus(s)}setTemporaryFocus(t){var e;let s=null;if(this.explorers){const i=this.explorers.speech;if(s=(null==i?void 0:i.attached)?t.tmpFocus:null,s){this.refocus=null!==(e=i.semanticFocus())&&void 0!==e?e:null;const n=t.adaptor;n.append(n.body(),s)}this.explorers.reattach(),null==s||s.focus()}return s}clearTemporaryFocus(t){var e;if(t){(null!==(e=this.outputData.speechPromise)&&void 0!==e?e:Promise.resolve()).then(()=>setTimeout(()=>t.remove(),100))}}},s.ariaRole=yy?"tree":"application",s.roleDescription="math",s.none="\x91",s.brailleNone="\u2800",s}function Ny(t){var e;return e=class extends t{constructor(...t){super(...t),this.explorerRegions=null,this.activeItem=null;const e=this.constructor.ProcessBits;e.has("explorer")||e.allocate("explorer");const s=new Yr(this.mmlFactory),i=this.options;i.a11y.speechRules||(i.a11y.speechRules=`${i.sre.domain}-${i.sre.style}`);const n=i.MathItem=xy(i.MathItem,t=>s.visitTree(t));n.roleDescription=i.roleDescription,this.explorerRegions=new fy(this),"addStyles"in this&&this.addStyles(this.constructor.speechStyles);const r=this.adaptor,o="http://www.w3.org/2000/svg";this.infoIcon=r.node("mjx-help",{},[r.node("svg",{viewBox:"0 0 18 18",xmlns:o,"aria-hidden":"true"},[r.node("circle",{stroke:"none"},[],o),r.node("circle",{},[],o),r.node("line",{x1:9,y1:9,x2:9,y2:13},[],o),r.node("line",{x1:9,y1:5.5,x2:9,y2:5.5},[],o)],o)]),this.tmpFocus=r.node("mjx-focus",{tabIndex:0,style:{outline:"none",display:"block",position:"absolute",top:0,left:"-10px",width:"1px",height:"1px",overflow:"hidden"},role:n.ariaRole,"aria-label":n.none,"aria-roledescription":n.none})}explorable(){if(!this.processed.isSet("explorer")){if(this.options.enableExplorer)for(const t of this.math)t.explorable(this);this.processed.set("explorer")}return this}rerender(t){const e=this.activeItem,s=null==e?void 0:e.setTemporaryFocus(this);return super.rerender(t),null==e||e.clearTemporaryFocus(s),this}state(t,e=!1){return super.state(t,e),t<ln.EXPLORER&&this.processed.clear("explorer"),this}},e.OPTIONS=Object.assign(Object.assign({},t.OPTIONS),{enableExplorer:ui,enableExplorerHelp:!0,renderActions:Mi(Object.assign(Object.assign({},t.OPTIONS.renderActions),{explorable:[ln.EXPLORER]})),sre:Mi(Object.assign(Object.assign({},t.OPTIONS.sre),{speech:"none"})),a11y:Object.assign(Object.assign({},t.OPTIONS.a11y),{align:"top",backgroundColor:"Blue",backgroundOpacity:20,flame:!1,foregroundColor:"Black",foregroundOpacity:100,highlight:"None",hover:!1,infoPrefix:!1,infoRole:!1,infoType:!1,keyMagnifier:!1,magnification:"None",magnify:"400%",mouseMagnifier:!1,subtitles:!1,treeColoring:!1,viewBraille:!1,voicing:!1,brailleSpeech:!1,brailleCombine:!1,help:!0,roleDescription:"math",inTabOrder:!0,tabSelects:"all"})}),e.speechStyles={'mjx-container[has-speech="true"]':{position:"relative",cursor:"default"},"mjx-speech":{position:"absolute","z-index":-1,left:0,top:0,bottom:0,right:0},"mjx-speech:focus":{outline:"none"},"mjx-container .mjx-selected":{outline:"2px solid black"},"mjx-container a[data-mjx-href]":{color:"LinkText",cursor:"pointer"},"mjx-container a[data-mjx-href].mjx-visited":{color:"VisitedText"},"mjx-container > mjx-help":{display:"none",position:"absolute",top:"-.3em",right:"-.5em",width:".6em",height:".6em",cursor:"pointer"},'mjx-container[display="true"] > mjx-help':{position:"sticky",inset:"-100% 0 100% 0",margin:"-.3em -.5em 0 -.1em",right:0,top:"initial"},"mjx-help > svg":{stroke:"black",width:"100%",height:"100%"},"mjx-help > svg > circle":{"stroke-width":"1.5px",cx:"9px",cy:"9px",r:"9px",fill:"white"},"mjx-help > svg > circle:nth-child(2)":{fill:"var(--mjx-bg1-color)",r:"7px"},"mjx-help > svg > line":{"stroke-width":"2.5px","stroke-linecap":"round"},"mjx-help:hover > svg > circle:nth-child(2)":{fill:"white"},"mjx-container.mjx-explorer-active > mjx-help":{display:"inline-flex","align-items":"center"},"@media (prefers-color-scheme: dark) /* explorer */":{"mjx-help > svg":{stroke:"#E0E0E0"},"mjx-help > svg > circle":{fill:"#404040"},"mjx-help > svg > circle:nth-child(2)":{fill:"rgba(132, 132, 255, .3)"},"mjx-help:hover > svg > circle:nth-child(2)":{stroke:"#AAAAAA",fill:"#404040"}}},e}function vy(t,e=null){return t.documentClass.prototype.attachSpeech||(t=BE(t,e)),t.documentClass=Ny(t.documentClass),t}function Ty(t,e){var s;const i=Ob();for(const s in e)void 0!==t.options.a11y[s]?Cy(t,s,e[s]):void 0!==i[s]&&(t.options.sre[s]=e[s]);e.roleDescription&&(t.options.MathItem.roleDescription=e.roleDescription);for(const e of t.math)null===(s=null==e?void 0:e.explorers)||void 0===s||s.attach()}function Cy(t,e,s){switch(e){case"speechRules":{const[e,i]=s.split("-");t.options.sre.domain=e,t.options.sre.style=i;break}case"magnification":switch(s){case"None":t.options.a11y.magnification=s,t.options.a11y.keyMagnifier=!1,t.options.a11y.mouseMagnifier=!1;break;case"Keyboard":t.options.a11y.magnification=s,t.options.a11y.keyMagnifier=!0,t.options.a11y.mouseMagnifier=!1;break;case"Mouse":t.options.a11y.magnification=s,t.options.a11y.keyMagnifier=!1,t.options.a11y.mouseMagnifier=!0}break;case"highlight":switch(s){case"None":t.options.a11y.highlight=s,t.options.a11y.hover=!1,t.options.a11y.flame=!1;break;case"Hover":t.options.a11y.highlight=s,t.options.a11y.hover=!0,t.options.a11y.flame=!1;break;case"Flame":t.options.a11y.highlight=s,t.options.a11y.hover=!1,t.options.a11y.flame=!0}break;case"locale":t.options.sre.locale=s;break;default:t.options.a11y[e]=s}}cn("EXPLORER",ln.INSERTED+30),MathJax.loader&&MathJax.loader.checkVersion("a11y/explorer",ni,"a11y"),hi({_:{a11y:{explorer_ts:ii,explorer:{Explorer:Ys,ExplorerPool:si,Highlighter:ei,KeyExplorer:Qs,MouseExplorer:Zs,Region:Js,TreeExplorer:ti}}}}),MathJax.startup&&ui&&MathJax.startup.extendHandler(t=>vy(t)),vi.preLoaded("a11y/sre","a11y/semantic-enrich","a11y/speech","a11y/explorer","input/mml"),vi.preLoaded("loader","startup","core","input/tex","input/mml","output/chtml","ui/menu"),vi.saveVersion("tex-mml-chtml-nofont"),function(t,e){iu.loadFont(t,"chtml",Qd,e)}(function(t){return vi.load(...Ci.load).then(()=>(t||function(){})()).then(()=>Ci.ready()).catch(t=>Ci.failed(t))})})()})();
|