Files
cours/.obsidian/plugins/obsidian-latex-suite/main.js
T
2026-04-24 22:08:21 +02:00

505 lines
264 KiB
JavaScript

/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin
*/
var nr=Object.defineProperty,qa=Object.defineProperties,ja=Object.getOwnPropertyDescriptor,Za=Object.getOwnPropertyDescriptors,Xa=Object.getOwnPropertyNames,qi=Object.getOwnPropertySymbols;var ji=Object.prototype.hasOwnProperty,Wa=Object.prototype.propertyIsEnumerable;var pn=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t);var un=(t,e,r)=>e in t?nr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,oe=(t,e)=>{for(var r in e||(e={}))ji.call(e,r)&&un(t,r,e[r]);if(qi)for(var r of qi(e))Wa.call(e,r)&&un(t,r,e[r]);return t},ye=(t,e)=>qa(t,Za(e));var Va=(t,e)=>{for(var r in e)nr(t,r,{get:e[r],enumerable:!0})},Ia=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Xa(e))!ji.call(t,i)&&i!==r&&nr(t,i,{get:()=>e[i],enumerable:!(n=ja(e,i))||n.enumerable});return t};var Ma=t=>Ia(nr({},"__esModule",{value:!0}),t);var Zi=(t,e,r)=>(un(t,typeof e!="symbol"?e+"":e,r),r);var v=(t,e,r)=>new Promise((n,i)=>{var s=l=>{try{a(r.next(l))}catch(c){i(c)}},o=l=>{try{a(r.throw(l))}catch(c){i(c)}},a=l=>l.done?n(l.value):Promise.resolve(l.value).then(s,o);a((r=r.apply(t,e)).next())}),Ga=function(t,e){this[0]=t,this[1]=e};var Xi=t=>{var e=t[pn("asyncIterator")],r=!1,n,i={};return e==null?(e=t[pn("iterator")](),n=s=>i[s]=o=>e[s](o)):(e=e.call(t),n=s=>i[s]=o=>{if(r){if(r=!1,s==="throw")throw o;return o}return r=!0,{done:!1,value:new Ga(new Promise(a=>{var l=e[s](o);if(!(l instanceof Object))throw TypeError("Object expected");a(l)}),1)}}),i[pn("iterator")]=()=>i,n("next"),"throw"in e?n("throw"):i.throw=s=>{throw s},"return"in e&&n("return"),i};var au={};Va(au,{default:()=>on});module.exports=Ma(au);var er=require("@codemirror/state"),ge=require("obsidian");var te=require("obsidian");var Ba=class extends Error{constructor(e){super(e[0].message);Zi(this,"issues");this.name="ValiError",this.issues=e}},cu=Symbol("brand");function Da(t){return typeof t=="function"?t():t}function at(t,e){return Array.isArray(t)?[void 0,t]:[t,e]}function ir(t,e,r){return{typed:t,output:e,issues:r}}function za(t,e,r){if(!t||typeof t=="object"&&!Array.isArray(t)){let[s,o]=at(e,r);return[t,s,o]}let[n,i]=at(t,e);return[void 0,n,i]}function La(t,e){return{reason:t==null?void 0:t.reason,validation:e.validation,origin:(t==null?void 0:t.origin)||"value",message:e.message,input:e.input,requirement:e==null?void 0:e.requirement,path:e.path,abortEarly:t==null?void 0:t.abortEarly,abortPipeEarly:t==null?void 0:t.abortPipeEarly,skipPipe:t==null?void 0:t.skipPipe}}function Ua(t,e){return{reason:e,origin:t==null?void 0:t.origin,abortEarly:t==null?void 0:t.abortEarly,abortPipeEarly:t==null?void 0:t.abortPipeEarly,skipPipe:t==null?void 0:t.skipPipe}}function _t(t,e,r,n,i){let s,o=t;if(e!=null&&e.length&&!(r!=null&&r.skipPipe))for(let a of e){let l=a._parse(o);if(l.issues){s=s||Ua(r,n);for(let c of l.issues){let p=La(s,c);i?i.push(p):i=[p]}if(s.abortEarly||s.abortPipeEarly)break}else o=l.output}return ir(!0,o,i)}function lt(t,e,r,n,i,s){return{typed:!1,output:i,issues:[{reason:e,validation:r,origin:(t==null?void 0:t.origin)||"value",message:Da(n),input:i,issues:s,abortEarly:t==null?void 0:t.abortEarly,abortPipeEarly:t==null?void 0:t.abortPipeEarly,skipPipe:t==null?void 0:t.skipPipe}]}}function Na(t){return typeof t.default=="function"?t.default():t.default}function Wi(t,e,r){let[n="Invalid type",i]=at(e,r);return{type:"instance",async:!1,class:t,message:n,pipe:i,_parse(s,o){return s instanceof this.class?_t(s,this.pipe,o,"instance"):lt(o,"type","instance",this.message,s)}}}function Vi(t,e){let[r="Invalid type",n]=at(t,e);return{type:"number",async:!1,message:r,pipe:n,_parse(i,s){return typeof i!="number"||isNaN(i)?lt(s,"type","number",this.message,i):_t(i,this.pipe,s,"number")}}}function Ii(t,e,r,n){let[i,s="Invalid type",o]=za(e,r,n),a;return{type:"object",async:!1,entries:t,rest:i,message:s,pipe:o,_parse(l,c){if(!l||typeof l!="object")return lt(c,"type","object",this.message,l);a=a||Object.entries(this.entries);let p=!0,u,d={};for(let[O,h]of a){let f=l[O],g=h._parse(f,c);if(g.issues){let b={type:"object",input:l,key:O,value:f};for(let y of g.issues)y.path?y.path.unshift(b):y.path=[b],u==null||u.push(y);if(u||(u=g.issues),c!=null&&c.abortEarly){p=!1;break}}g.typed||(p=!1),(g.output!==void 0||O in l)&&(d[O]=g.output)}if(this.rest&&!(c!=null&&c.abortEarly&&u)){for(let O in l)if(!(O in this.entries)){let h=l[O],f=this.rest._parse(h,c);if(f.issues){let g={type:"object",input:l,key:O,value:h};for(let b of f.issues)b.path?b.path.unshift(g):b.path=[g],u==null||u.push(b);if(u||(u=f.issues),c!=null&&c.abortEarly){p=!1;break}}f.typed||(p=!1),d[O]=f.output}}return p?_t(d,this.pipe,c,"object",u):ir(!1,d,u)}}}function ct(t,e){return{type:"optional",async:!1,wrapped:t,default:e,_parse(r,n){if(r===void 0){let i=Na(this);if(i===void 0)return ir(!0,r);r=i}return this.wrapped._parse(r,n)}}}function Xe(t,e){let[r="Invalid type",n]=at(t,e);return{type:"string",async:!1,message:r,pipe:n,_parse(i,s){return typeof i!="string"?lt(s,"type","string",this.message,i):_t(i,this.pipe,s,"string")}}}function Mi(t,e,r){let[n="Invalid type",i]=at(e,r);return{type:"special",async:!1,check:t,message:n,pipe:i,_parse(s,o){return this.check(s)?_t(s,this.pipe,o,"special"):lt(o,"type","special",this.message,s)}}}function On(t,e="Invalid type"){return{type:"union",async:!1,options:t,message:e,_parse(r,n){let i,s;for(let o of this.options){let a=o._parse(r,n);if(a.issues)if(i)for(let l of a.issues)i.push(l);else i=a.issues;else{s=[a.output];break}}return s?ir(!0,s[0]):lt(n,"type","union",this.message,r,i)}}}function Gi(t,e,r){let n=t._parse(e,r);if(n.issues)throw new Ba(n.issues);return n.output}var Fa=typeof btoa=="function",hn=typeof Buffer=="function",hu=typeof TextDecoder=="function"?new TextDecoder:void 0,Bi=typeof TextEncoder=="function"?new TextEncoder:void 0,Ya="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Ct=Array.prototype.slice.call(Ya),du=(t=>{let e={};return t.forEach((r,n)=>e[r]=n),e})(Ct);var ve=String.fromCharCode.bind(String),fu=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):t=>new Uint8Array(Array.prototype.slice.call(t,0)),Ha=t=>t.replace(/=/g,"").replace(/[+\/]/g,e=>e=="+"?"-":"_");var Ka=t=>{let e,r,n,i,s="",o=t.length%3;for(let a=0;a<t.length;){if((r=t.charCodeAt(a++))>255||(n=t.charCodeAt(a++))>255||(i=t.charCodeAt(a++))>255)throw new TypeError("invalid character found");e=r<<16|n<<8|i,s+=Ct[e>>18&63]+Ct[e>>12&63]+Ct[e>>6&63]+Ct[e&63]}return o?s.slice(0,o-3)+"===".substring(o):s},zi=Fa?t=>btoa(t):hn?t=>Buffer.from(t,"binary").toString("base64"):Ka,Ja=hn?t=>Buffer.from(t).toString("base64"):t=>{let r=[];for(let n=0,i=t.length;n<i;n+=4096)r.push(ve.apply(null,t.subarray(n,n+4096)));return zi(r.join(""))};var el=t=>{if(t.length<2){var e=t.charCodeAt(0);return e<128?t:e<2048?ve(192|e>>>6)+ve(128|e&63):ve(224|e>>>12&15)+ve(128|e>>>6&63)+ve(128|e&63)}else{var e=65536+(t.charCodeAt(0)-55296)*1024+(t.charCodeAt(1)-56320);return ve(240|e>>>18&7)+ve(128|e>>>12&63)+ve(128|e>>>6&63)+ve(128|e&63)}},tl=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,rl=t=>t.replace(tl,el),Di=hn?t=>Buffer.from(t,"utf8").toString("base64"):Bi?t=>Ja(Bi.encode(t)):t=>zi(rl(t)),dn=(t,e=!1)=>e?Ha(Di(t)):Di(t);var fn="${VISUAL}",Rt=class{constructor(e,r,n,i,s=0,o="no description provided",a=[],l=""){this.type=e,this.data={trigger:r,replacement:n},this.options=i,this.priority=s,this.description=o,this.excludedEnvironments=a,this.triggerKey=l}get trigger(){return this.data.trigger}get replacement(){return this.data.replacement}toString(){return lr({type:this.type,trigger:this.trigger,replacement:this.replacement,options:this.options,priority:this.priority,description:this.description,excludedEnvironments:this.excludedEnvironments})}},sr=class extends Rt{constructor({trigger:e,replacement:r,options:n,priority:i,description:s,excludedEnvironments:o,triggerKey:a}){super("visual",e,r,n,i,s,o,a)}process(e,r,n){if(!!!n||!e.endsWith(this.trigger))return null;let s=r.from,o;if(typeof this.replacement=="string")o=this.replacement.replace(fn,n);else if(o=this.replacement(n),typeof o!="string")return null;return{triggerPos:s,replacement:o}}},or=class extends Rt{constructor({trigger:e,replacement:r,options:n,priority:i,description:s,excludedEnvironments:o,triggerKey:a}){super("regex",e,r,n,i,s,o,a)}process(e,r,n){if(!!n)return null;let s=this.trigger.exec(e);if(s===null)return null;let o=s.index,a;if(typeof this.replacement=="string"){let l=s.length-1;a=Array.from({length:l}).map((c,p)=>p+1).reduce((c,p)=>c.replaceAll(`[[${p-1}]]`,s[p]),this.replacement)}else if(a=this.replacement(s),typeof a!="string")return null;return{triggerPos:o,replacement:a}}},ar=class extends Rt{constructor({trigger:e,replacement:r,options:n,priority:i,description:s,excludedEnvironments:o,triggerKey:a}){super("string",e,r,n,i,s,o,a)}process(e,r,n){if(!!n||!e.endsWith(this.trigger))return null;let s=e.length-this.trigger.length,o=typeof this.replacement=="string"?this.replacement:this.replacement(this.trigger);return typeof o!="string"?null:{triggerPos:s,replacement:o}}};function nl(t,e){return typeof e=="function"?"[[Function]]":e instanceof RegExp?`[[RegExp]]: ${e.toString()}`:e}function lr(t){return JSON.stringify(t,nl,2)}var cr=class t{constructor(){this.mode=new pt,this.automatic=!1,this.regex=!1,this.onWordBoundary=!1,this.visual=!1}static fromSource(e,r){let n=new t;n.mode=pt.fromSource(e,r);for(let i of e)switch(i){case"A":n.automatic=!0;break;case"r":n.regex=!0;break;case"w":n.onWordBoundary=!0;break;case"v":n.visual=!0;break}return n}},pt=class t{inEquation(){return this.inlineMath||this.blockMath}inMath(){return this.inlineMath||this.blockMath||this.codeMath}strictlyInMath(){return this.inMath()&&!this.textEnv}constructor(){this.text=!1,this.blockMath=!1,this.inlineMath=!1,this.code=!1,this.textEnv=!1}invert(){this.text=!this.text,this.blockMath=!this.blockMath,this.inlineMath=!this.inlineMath,this.codeMath=!this.codeMath,this.code=this.code===!1,this.textEnv=!this.textEnv}static fromSource(e,r){let n=new t;for(let i of e)switch(i){case"m":n.blockMath=!0,n.inlineMath=!0;break;case"n":n.inlineMath=!0;break;case"M":n.blockMath=!0;break;case"t":n.text=!0;break;case"c":n.code=!0;break}return r!==void 0&&(n.code=r),n.text||n.inlineMath||n.blockMath||n.codeMath||n.code!==!1||n.textEnv||n.invert(),n}};function pr(t){return t.map((e,r)=>[al(e),ll(e),r]).sort(il).map(([e,r,n])=>t[n])}function il(t,e){return ol(t[0],e[0])||sl(t[1],e[1])}function sl(t,e){return t<e?1:t>e?-1:0}function ol(t,e){return t<e?1:t>e?-1:0}function al(t){return t.priority}function ll(t){return typeof t.trigger=="string"?t.trigger.length:t.trigger.source.length}var mn={"([A-Za-z])(\\d)":[{openSymbol:"\\pu{",closeSymbol:"}"},{openSymbol:"\\ce{",closeSymbol:"}"}],"->":[{openSymbol:"\\ce{",closeSymbol:"}"}]};var Fi=require("obsidian");function Yi(t){return v(this,null,function*(){let e;try{try{e=yield Li(`data:text/javascript;base64,${dn(t)}`)}catch(r){e=yield Li(`data:text/javascript;base64,${dn(`export default ${t}`)}`)}}catch(r){throw"Invalid format"}return e})}function ze(t){return v(this,null,function*(){let e=yield Yi(t);if(Array.isArray(e))throw"Cannot parse an array as a variables object";let r={};for(let[n,i]of Object.entries(e))if(n.startsWith("${")){if(!n.endsWith("}"))throw`Invalid snippet variable name '${n}': Starts with '\${' but does not end with '}'. You need to have both or neither.`;r[n]=i}else{if(n.endsWith("}"))throw`Invalid snippet variable name '${n}': Ends with '}' but does not start with '\${'. You need to have both or neither.`;r["${"+n+"}"]=i}return r})}function ut(t,e){return v(this,null,function*(){let r=yield Yi(t),n;try{n=pl(r).map(s=>{try{return ul(s,e)}catch(o){throw`${o}
Erroring snippet:
${lr(s)}`}})}catch(i){throw`Invalid snippet format: ${i}`}return n=pr(n),n})}function Li(t){return v(this,null,function*(){let e;try{e=yield import(t)}catch(r){throw`failed to import module ${t}`}if(!("default"in e))throw`No default export provided for module ${t}`;return e.default})}var cl=Ii({trigger:On([Xe(),Wi(RegExp)]),replacement:On([Xe(),Mi(t=>typeof t=="function")]),options:Xe(),flags:ct(Xe(),""),priority:ct(Vi(),0),description:ct(Xe(),"no description provided"),triggerKey:ct(Xe(),""),language:ct(Xe())});function pl(t){if(!Array.isArray(t))throw"Expected snippets to be an array";return t.flat().map(e=>{try{return Gi(cl,e)}catch(r){throw`Value does not resemble snippet.
Erroring snippet:
${lr(e)}`}})}function ul(t,e){let{replacement:r,priority:n,description:i}=t,s=cr.fromSource(t.options,t.language),o,a,l=gn(t.triggerKey);if(s.regex||t.trigger instanceof RegExp){let c,p=t.flags;t.trigger instanceof RegExp?(c=t.trigger.source,p=`${t.trigger.flags}${p}`):c=t.trigger,p=Ol(p),c=Ui(c,e),a=Ni(c),c=`(?:${c})$`,o=new RegExp(c,p),s.regex=!0;let u={trigger:o,replacement:r,options:s,priority:n,description:i,excludedEnvironments:a,triggerKey:l};return new or(u)}else{let c=t.trigger;c=Ui(c,e),a=Ni(c),typeof r=="string"&&r.includes(fn)&&(s.visual=!0);let p={trigger:c,replacement:r,options:s,priority:n,description:i,excludedEnvironments:a,triggerKey:l};return s.visual?new sr(p):new ar(p)}}function Ol(t){let e=["i","m","s","u","v"];return Array.from(new Set(t.split(""))).filter(r=>e.includes(r)).join("")}function Ui(t,e){for(let[r,n]of Object.entries(e))t=t.replaceAll(r,n);return t}function Ni(t){let e=[];return mn.hasOwnProperty(t)&&e.push(...mn[t]),e}function gn(t){return t.split(/ (?!$)/).map(e=>hl(e)).join(" ")}function hl(t){let e=t.split(/-(?!$)/),r=e[e.length-1];r==="Space"&&(r=" ");let n,i,s,o;for(let a=0;a<e.length-1;++a){let l=e[a];if(/^(cmd|meta|m)$/i.test(l))o=!0;else if(/^a(lt)?$/i.test(l))n=!0;else if(/^(c|ctrl|control)$/i.test(l))i=!0;else if(/^s(hift)?$/i.test(l))s=!0;else if(/^mod$/i.test(l))Fi.Platform.isMacOS?o=!0:i=!0;else throw new Error("Unrecognized modifier name: "+l)}return n&&(r="Alt-"+r),i&&(r="Ctrl-"+r),o&&(r="Meta-"+r),s&&(r="Shift-"+r),r}var dl=(t,e)=>{let r=t.keys(),n=e.keys(),i=[];for(let s of r)e.has(s)||i.push(s);for(let s of n)t.has(s)||i.push(s);return new Set(i)},fl=(t,e)=>{let r=t.keys(),n=[];for(let i of r)e.has(i)&&n.push(i);return new Set(n)},Hi,ml=((Hi=Set.prototype)==null?void 0:Hi.difference)&&((t,e)=>t.difference(e)),Ki,gl=((Ki=Set.prototype)==null?void 0:Ki.intersection)&&((t,e)=>t.intersection(e)),bn=ml||dl,ur=gl||fl;function bl(t,e){let r=t.parent,n=0;for(;r&&!r.isRoot()&&n<100;){if(r.path===e.path)return!0;r=r.parent,n++}return!1}function Or(t,e,r){let n=t.app.vault.getAbstractFileByPath(e);return n instanceof te.TFolder&&bl(r,n)}var yn=(0,te.debounce)(t=>v(void 0,null,function*(){(t.settings.loadSnippetVariablesFromFile||t.settings.loadSnippetsFromFile)&&(yield t.processSettings(!1,!0))}),500,!0),es=(t,e)=>v(void 0,null,function*(){e instanceof te.TFile&&(t.settings.loadSnippetVariablesFromFile&&e.path===t.settings.snippetVariablesFileLocation||t.settings.loadSnippetsFromFile&&e.path===t.settings.snippetsFileLocation||Or(t,t.settings.snippetVariablesFileLocation,e)||Or(t,t.settings.snippetsFileLocation,e))&&yn(t)}),ts=(t,e)=>{e instanceof te.TFile&&(t.settings.loadSnippetVariablesFromFile&&Or(t,t.settings.snippetVariablesFileLocation,e)||t.settings.loadSnippetsFromFile&&Or(t,t.settings.snippetsFileLocation,e))&&yn(t)},rs=(t,e)=>{if(!(e instanceof te.TFile))return;let r=t.app.vault.getAbstractFileByPath(t.settings.snippetVariablesFileLocation),n=t.app.vault.getAbstractFileByPath(t.settings.snippetsFileLocation);(t.settings.loadSnippetVariablesFromFile&&r instanceof te.TFolder&&e.path.contains(r.path)||t.settings.loadSnippetsFromFile&&n instanceof te.TFolder&&e.path.contains(n.path))&&yn(t)};function*ns(t){if(t instanceof te.TFile)yield t;else if(t instanceof te.TFolder)for(let e of t.children)yield*Xi(ns(e))}function Ji(t,e){let r=t.getAbstractFileByPath(e);if(!r)return console.warn(`Could not find file or folder at path ${e}`),new Set;let n=ns(r);return new Set(n)}function is(t){let e=t.settings.loadSnippetVariablesFromFile?Ji(t.app.vault,t.settings.snippetVariablesFileLocation):new Set,r=t.settings.loadSnippetsFromFile?Ji(t.app.vault,t.settings.snippetsFileLocation):new Set,n=bn(e,r),i=bn(r,e),s=ur(e,r);return{definitelyVariableFiles:n,definitelySnippetFiles:i,snippetOrVariableFiles:s}}function ss(t,e){return v(this,null,function*(){let r={};for(let n of e.definitelyVariableFiles){let i=yield t.app.vault.cachedRead(n);try{Object.assign(r,yield ze(i))}catch(s){new te.Notice(`Failed to parse variable file ${n.name}: ${s}`),console.error(`Failed to parse variable file ${n.name}: ${s}`),e.definitelyVariableFiles.delete(n)}}return r})}function os(t,e){return v(this,null,function*(){let r={};for(let n of e.snippetOrVariableFiles){let i=yield t.app.vault.cachedRead(n);try{Object.assign(r,yield ze(i)),e.definitelyVariableFiles.add(n)}catch(s){e.definitelySnippetFiles.add(n)}e.snippetOrVariableFiles.delete(n)}return r})}function as(t,e,r){return v(this,null,function*(){let n=[];for(let i of e.definitelySnippetFiles){let s=yield t.app.vault.cachedRead(i);try{n.push(...yield ut(s,r))}catch(o){new te.Notice(`Failed to parse snippet file ${i.name}: ${o}`),console.error(`Failed to parse snippet file ${i.name}: ${o}`),e.definitelySnippetFiles.delete(i)}}return pr(n)})}var ls=`export default [
// Math mode
{trigger: "mk", replacement: "$$0$", options: "tA"},
{trigger: "dm", replacement: "$$\\n\\t$0\\n$$", options: "tAw"},
{trigger: /(?<=\\S.*)dm/, replacement: "\\n$$\\n\\t$0\\n$$", options: "tAw", priority: 1},
{trigger: /([^\\\\])beg/, replacement: "[[0]]\\\\begin{$0}\\n\\t$1\\n\\\\end{$0}", options: "MA"},
{trigger: /([^\\\\])beg/, replacement: "[[0]]\\\\begin{$0} $1 \\\\end{$0}", options: "nA"},
// Dashes
// {trigger: "--", replacement: "\u2013", options: "tA"},
// {trigger: "\u2013-", replacement: "\u2014", options: "tA"},
// {trigger: "\u2014-", replacement: "---", options: "tA"},
// Greek letters
{trigger: "@a", replacement: "\\\\alpha", options: "mA"},
{trigger: "@b", replacement: "\\\\beta", options: "mA"},
{trigger: "@g", replacement: "\\\\gamma", options: "mA"},
{trigger: "@G", replacement: "\\\\Gamma", options: "mA"},
{trigger: "@d", replacement: "\\\\delta", options: "mA"},
{trigger: "@D", replacement: "\\\\Delta", options: "mA"},
{trigger: "@e", replacement: "\\\\epsilon", options: "mA"},
{trigger: ":e", replacement: "\\\\varepsilon", options: "mA"},
{trigger: "@z", replacement: "\\\\zeta", options: "mA"},
{trigger: "@t", replacement: "\\\\theta", options: "mA"},
{trigger: "@T", replacement: "\\\\Theta", options: "mA"},
{trigger: ":t", replacement: "\\\\vartheta", options: "mA"},
{trigger: "@i", replacement: "\\\\iota", options: "mA"},
{trigger: "@k", replacement: "\\\\kappa", options: "mA"},
{trigger: "@l", replacement: "\\\\lambda", options: "mA"},
{trigger: "@L", replacement: "\\\\Lambda", options: "mA"},
{trigger: "@s", replacement: "\\\\sigma", options: "mA"},
{trigger: "@S", replacement: "\\\\Sigma", options: "mA"},
{trigger: "@u", replacement: "\\\\upsilon", options: "mA"},
{trigger: "@U", replacement: "\\\\Upsilon", options: "mA"},
{trigger: "@o", replacement: "\\\\omega", options: "mA"},
{trigger: "@O", replacement: "\\\\Omega", options: "mA"},
{trigger: "ome", replacement: "\\\\omega", options: "mA"},
{trigger: "Ome", replacement: "\\\\Omega", options: "mA"},
// Text environment
{trigger: "text", replacement: "\\\\text{$0}$1", options: "mA"},
{trigger: "\\"", replacement: "\\\\text{$0}$1", options: "mA"},
// Basic operations
{trigger: "sr", replacement: "^{2}", options: "mA"},
{trigger: "cb", replacement: "^{3}", options: "mA"},
{trigger: "rd", replacement: "^{$0}$1", options: "mA"},
{trigger: "_", replacement: "_{$0}$1", options: "mA"},
{trigger: "sts", replacement: "_\\\\text{$0}", options: "mA"},
{trigger: "sq", replacement: "\\\\sqrt{ $0 }$1", options: "mA"},
{trigger: "//", replacement: "\\\\frac{$0}{$1}$2", options: "mA"},
{trigger: "ee", replacement: "e^{ $0 }$1", options: "mA"},
{trigger: "invs", replacement: "^{-1}", options: "mA"},
{trigger: /([^\\\\])(exp|log|ln)/, replacement: "[[0]]\\\\[[1]]", options: "rmA"},
{trigger: "conj", replacement: "^{*}", options: "mA"},
{trigger: "Re", replacement: "\\\\mathrm{Re}", options: "mA"},
{trigger: "Im", replacement: "\\\\mathrm{Im}", options: "mA"},
{trigger: "bf", replacement: "\\\\mathbf{$0}", options: "mA"},
{trigger: "rm", replacement: "\\\\mathrm{$0}$1", options: "mA"},
// Linear algebra
{trigger: /([^\\\\])(det)/, replacement: "[[0]]\\\\[[1]]", options: "rmA"},
{trigger: "trace", replacement: "\\\\mathrm{Tr}", options: "mA"},
// More operations
{trigger: "([a-zA-Z])hat", replacement: "\\\\hat{[[0]]}", options: "rmA"},
{trigger: "([a-zA-Z])bar", replacement: "\\\\bar{[[0]]}", options: "rmA"},
{trigger: "([a-zA-Z])dot", replacement: "\\\\dot{[[0]]}", options: "rmA", priority: -1},
{trigger: "([a-zA-Z])ddot", replacement: "\\\\ddot{[[0]]}", options: "rmA", priority: 1},
{trigger: "([a-zA-Z])tilde", replacement: "\\\\tilde{[[0]]}", options: "rmA"},
{trigger: "([a-zA-Z])und", replacement: "\\\\underline{[[0]]}", options: "rmA"},
{trigger: "([a-zA-Z])vec", replacement: "\\\\vec{[[0]]}", options: "rmA"},
{trigger: "([a-zA-Z]),\\\\.", replacement: "\\\\mathbf{[[0]]}", options: "rmA"},
{trigger: "([a-zA-Z])\\\\.,", replacement: "\\\\mathbf{[[0]]}", options: "rmA"},
{trigger: "\\\\\\\\(\${GREEK}),\\\\.", replacement: "\\\\boldsymbol{\\\\[[0]]}", options: "rmA"},
{trigger: "\\\\\\\\(\${GREEK})\\\\.,", replacement: "\\\\boldsymbol{\\\\[[0]]}", options: "rmA"},
{trigger: "hat", replacement: "\\\\hat{$0}$1", options: "mA"},
{trigger: "bar", replacement: "\\\\bar{$0}$1", options: "mA"},
{trigger: "dot", replacement: "\\\\dot{$0}$1", options: "mA", priority: -1},
{trigger: "ddot", replacement: "\\\\ddot{$0}$1", options: "mA"},
{trigger: "cdot", replacement: "\\\\cdot", options: "mA"},
{trigger: "tilde", replacement: "\\\\tilde{$0}$1", options: "mA"},
{trigger: "und", replacement: "\\\\underline{$0}$1", options: "mA"},
{trigger: "vec", replacement: "\\\\vec{$0}$1", options: "mA"},
{
trigger: "pmod",
replacement: "\\\\pmod{\${0:n}}$1",
options: "mA",
description: "Parenthesized modulo (\\\\pmod{n})",
},
// Auto letter subscript
//
// x3 -> x_{3}, \\alpha3 -> \\alpha_{3}
{
trigger: "(\\\\\\\\\${GREEK}|[A-Za-z])(\\\\d)",
replacement: "[[0]]_{[[1]]}",
options: "rmA",
priority: -1,
},
// x_{3}4 -> x_{34}, \\alpha_{3}4 -> \\alpha_{34}
{
trigger: "(\\\\\\\\\${GREEK}|[A-Za-z])_{(\\\\d+)}(\\\\d)",
replacement: "[[0]]_{[[1]][[2]]}",
options: "rmA",
priority: -1,
},
// \\dot{x}3 -> \\dot{x}_{3}, \\dot{\\alpha}3 -> \\dot{\\alpha}_{3}
{
trigger: "\\\\\\\\(\${ACCENT})\\\\{(\\\\\\\\\${GREEK}|[A-Za-z])\\\\}(\\\\d)",
replacement: "\\\\[[0]]{[[1]]}_{[[2]]}",
options: "rmA",
priority: -1,
},
// \\dot{x}_{3}4 -> \\dot{x}_{34}
{
trigger: "\\\\\\\\(\${ACCENT})\\\\{(\\\\\\\\\${GREEK}|[A-Za-z])\\\\}_\\\\{(\\\\d+)\\\\}(\\\\d)",
replacement: "\\\\[[0]]{[[1]]}_{[[2]][[3]]}",
options: "rmA",
priority: -1,
},
// \\dot{\\vec{a}}3 -> \\dot{\\vec{a}}_{3}
{
trigger: "\\\\\\\\(\${ACCENT})\\\\{\\\\\\\\(\${ACCENT})\\\\{(\\\\\\\\\${GREEK}|[A-Za-z])\\\\}\\\\}(\\\\d)",
replacement: "\\\\[[0]]{\\\\[[1]]{[[2]]}}_{[[3]]}",
options: "rmA",
priority: -1,
},
// \\dot{\\vec{a}}_{3}4 -> \\dot{\\vec{a}}_{34}
{
trigger: "\\\\\\\\(\${ACCENT})\\\\{\\\\\\\\(\${ACCENT})\\\\{(\\\\\\\\\${GREEK}|[A-Za-z])\\\\}\\\\}_\\\\{(\\\\d+)\\\\}(\\\\d)",
replacement: "\\\\[[0]]{\\\\[[1]]{[[2]]}}_{[[3]][[4]]}",
options: "rmA",
priority: -1,
},
{trigger: "xnn", replacement: "x_{n}", options: "mA"},
{trigger: "\\\\xii", replacement: "x_{i}", options: "mA", priority: 1},
{trigger: "xjj", replacement: "x_{j}", options: "mA"},
{trigger: "xp1", replacement: "x_{n+1}", options: "mA"},
{trigger: "ynn", replacement: "y_{n}", options: "mA"},
{trigger: "yii", replacement: "y_{i}", options: "mA"},
{trigger: "yjj", replacement: "y_{j}", options: "mA"},
// Symbols
{trigger: "ooo", replacement: "\\\\infty", options: "mA"},
{trigger: "sum", replacement: "\\\\sum", options: "mA"},
{trigger: "prod", replacement: "\\\\prod", options: "mA"},
{trigger: "\\\\sum", replacement: "\\\\sum_{\${0:i}=\${1:1}}^{\${2:N}} $3", options: "m"},
{trigger: "\\\\prod", replacement: "\\\\prod_{\${0:i}=\${1:1}}^{\${2:N}} $3", options: "m"},
{trigger: "lim", replacement: "\\\\lim_{ \${0:n} \\\\to \${1:\\\\infty} } $2", options: "mA"},
{trigger: "+-", replacement: "\\\\pm", options: "mA"},
{trigger: "-+", replacement: "\\\\mp", options: "mA"},
{trigger: "...", replacement: "\\\\dots", options: "mA"},
{trigger: "nabl", replacement: "\\\\nabla", options: "mA"},
// The operator nabla is also called del, but using "del" as a trigger conflicts with the greek letter delta.
// {trigger: "del", replacement: "\\\\nabla", options: "mA"},
{trigger: "xx", replacement: "\\\\times", options: "mA"},
{trigger: "**", replacement: "\\\\cdot", options: "mA"},
{trigger: "para", replacement: "\\\\parallel", options: "mA"},
{trigger: "===", replacement: "\\\\equiv", options: "mA"},
{trigger: "!=", replacement: "\\\\neq", options: "mA"},
{trigger: ">=", replacement: "\\\\geq", options: "mA"},
{trigger: "<=", replacement: "\\\\leq", options: "mA"},
{trigger: ">>", replacement: "\\\\gg", options: "mA"},
{trigger: "<<", replacement: "\\\\ll", options: "mA"},
{trigger: "simm", replacement: "\\\\sim", options: "mA"},
{trigger: "sim=", replacement: "\\\\simeq", options: "mA"},
{trigger: "prop", replacement: "\\\\propto", options: "mA"},
{trigger: "<->", replacement: "\\\\leftrightarrow ", options: "mA"},
{trigger: "->", replacement: "\\\\to", options: "mA"},
{trigger: "!>", replacement: "\\\\mapsto", options: "mA"},
{trigger: "=>", replacement: "\\\\implies", options: "mA"},
{trigger: "=<", replacement: "\\\\impliedby", options: "mA"},
{trigger: "and", replacement: "\\\\cap", options: "mA"},
{trigger: "orr", replacement: "\\\\cup", options: "mA"},
{trigger: "inn", replacement: "\\\\in", options: "mA"},
{trigger: "notin", replacement: "\\\\not\\\\in", options: "mA"},
{trigger: "\\\\\\\\\\\\", replacement: "\\\\setminus", options: "mA"},
{trigger: "sub=", replacement: "\\\\subseteq", options: "mA"},
{trigger: "sup=", replacement: "\\\\supseteq", options: "mA"},
{trigger: "eset", replacement: "\\\\emptyset", options: "mA"},
{trigger: "set", replacement: "\\\\{ $0 \\\\}$1", options: "mA"},
{trigger: "e\\\\xi sts", replacement: "\\\\exists", options: "mA", priority: 1},
{trigger: "LL", replacement: "\\\\mathcal{L}", options: "mA"},
{trigger: "HH", replacement: "\\\\mathcal{H}", options: "mA"},
{trigger: "CC", replacement: "\\\\mathbb{C}", options: "mA"},
{trigger: "RR", replacement: "\\\\mathbb{R}", options: "mA"},
{trigger: "ZZ", replacement: "\\\\mathbb{Z}", options: "mA"},
{trigger: "NN", replacement: "\\\\mathbb{N}", options: "mA"},
// Handle spaces and backslashes
// Snippet variables can be used as shortcuts when writing snippets.
// For example, \${GREEK} below is shorthand for "alpha|beta|gamma|Gamma|delta|..."
// You can edit snippet variables under the Advanced snippet settings section.
{trigger: "([^\\\\\\\\])(\${GREEK})", replacement: "[[0]]\\\\[[1]]", options: "rmA", description: "Add backslash before Greek letters"},
{trigger: "([^\\\\\\\\])(\${SYMBOL})", replacement: "[[0]]\\\\[[1]]", options: "rmA", description: "Add backslash before symbols"},
// Insert space after Greek letters and symbols
{trigger: "\\\\\\\\(\${GREEK}|\${SYMBOL}|\${MORE_SYMBOLS})([A-Za-z])", replacement: "\\\\[[0]] [[1]]", options: "rmA"},
{trigger: "\\\\\\\\(\${GREEK}|\${SYMBOL}) sr", replacement: "\\\\[[0]]^{2}", options: "rmA"},
{trigger: "\\\\\\\\(\${GREEK}|\${SYMBOL}) cb", replacement: "\\\\[[0]]^{3}", options: "rmA"},
{trigger: "\\\\\\\\(\${GREEK}|\${SYMBOL}) rd", replacement: "\\\\[[0]]^{$0}$1", options: "rmA"},
{trigger: "\\\\\\\\(\${GREEK}) hat", replacement: "\\\\hat{\\\\[[0]]}", options: "rmA"},
{trigger: "\\\\\\\\(\${GREEK}) dot", replacement: "\\\\dot{\\\\[[0]]}", options: "rmA"},
{trigger: "\\\\\\\\(\${GREEK}) bar", replacement: "\\\\bar{\\\\[[0]]}", options: "rmA"},
{trigger: "\\\\\\\\(\${GREEK}) vec", replacement: "\\\\vec{\\\\[[0]]}", options: "rmA"},
{trigger: "\\\\\\\\(\${GREEK}) tilde", replacement: "\\\\tilde{\\\\[[0]]}", options: "rmA"},
{trigger: "\\\\\\\\(\${GREEK}) und", replacement: "\\\\underline{\\\\[[0]]}", options: "rmA"},
// Derivatives and integrals
{trigger: "par", replacement: "\\\\frac{ \\\\partial \${0:y} }{ \\\\partial \${1:x} } $2", options: "m"},
{trigger: /pa([A-Za-z])([A-Za-z])/, replacement: "\\\\frac{ \\\\partial [[0]] }{ \\\\partial [[1]] } ", options: "rm"},
{trigger: "ddt", replacement: "\\\\frac{d}{dt} ", options: "mA"},
{trigger: /([^\\\\])int/, replacement: "[[0]]\\\\int", options: "mA", priority: -1},
{trigger: "\\\\int", replacement: "\\\\int $0 \\\\, d\${1:x} $2", options: "m"},
{trigger: "dint", replacement: "\\\\int_{\${0:0}}^{\${1:1}} $2 \\\\, d\${3:x} $4", options: "mA"},
{trigger: "oint", replacement: "\\\\oint", options: "mA"},
{trigger: "iint", replacement: "\\\\iint", options: "mA"},
{trigger: "iiint", replacement: "\\\\iiint", options: "mA"},
{trigger: "oinf", replacement: "\\\\int_{0}^{\\\\infty} $0 \\\\, d\${1:x} $2", options: "mA"},
{trigger: "infi", replacement: "\\\\int_{-\\\\infty}^{\\\\infty} $0 \\\\, d\${1:x} $2", options: "mA"},
// Trigonometry
{trigger: /([^\\\\])(arcsin|sin|arccos|cos|arctan|tan|csc|sec|cot)/, replacement: "[[0]]\\\\[[1]]", options: "rmA", description: "Add backslash before trig funcs"},
{trigger: /\\\\(arcsin|sin|arccos|cos|arctan|tan|csc|sec|cot)([A-Za-gi-z])/,
replacement: "\\\\[[0]] [[1]]", options: "rmA",
description: "Add space after trig funcs. Skips letter h to allow sinh, cosh, etc."},
{trigger: /\\\\(sinh|cosh|tanh|coth)([A-Za-z])/,
replacement: "\\\\[[0]] [[1]]", options: "rmA",
description: "Add space after hyperbolic trig funcs"},
{
trigger: /(arccsc|arcsec|arccot)/,
replacement: "\\\\operatorname{[[0]]}$0",
options: "mA",
description: "Inverse trig functions, Are not built-in MathJax functions",
priority: 1,
},
// Visual operations
{trigger: "U", replacement: "\\\\underbrace{ \${VISUAL} }_{ $0 }", options: "mA"},
{trigger: "O", replacement: "\\\\overbrace{ \${VISUAL} }^{ $0 }", options: "mA"},
{trigger: "B", replacement: "\\\\underset{ $0 }{ \${VISUAL} }", options: "mA"},
{trigger: "C", replacement: "\\\\cancel{ \${VISUAL} }", options: "mA"},
{trigger: "K", replacement: "\\\\cancelto{ $0 }{ \${VISUAL} }", options: "mA"},
{trigger: "S", replacement: "\\\\sqrt{ \${VISUAL} }", options: "mA"},
// Physics
{trigger: "kbt", replacement: "k_{B}T", options: "mA"},
{trigger: "msun", replacement: "M_{\\\\odot}", options: "mA"},
// Quantum mechanics
{trigger: "dag", replacement: "^{\\\\dagger}", options: "mA"},
{trigger: "o+", replacement: "\\\\oplus ", options: "mA"},
{trigger: "ox", replacement: "\\\\otimes ", options: "mA"},
{trigger: "bra", replacement: "\\\\bra{$0} $1", options: "mA"},
{trigger: "ket", replacement: "\\\\ket{$0} $1", options: "mA"},
{trigger: "brk", replacement: "\\\\braket{ $0 | $1 } $2", options: "mA"},
{trigger: "outer", replacement: "\\\\ket{\${0:\\\\psi}} \\\\bra{\${0:\\\\psi}} $1", options: "mA"},
// Chemistry
{trigger: "pu", replacement: "\\\\pu{ $0 }", options: "mA"},
{trigger: "cee", replacement: "\\\\ce{ $0 }", options: "mA"},
{trigger: "he4", replacement: "{}^{4}_{2}He ", options: "mA"},
{trigger: "he3", replacement: "{}^{3}_{2}He ", options: "mA"},
{trigger: "iso", replacement: "{}^{\${0:4}}_{\${1:2}}\${2:He}", options: "mA"},
// Environments
// Here the regex syntax [pbBvV]mat is used to match pmat, bmat, Bmat, vmat, Vmat
{
trigger: /([pbBvV]mat)/,
replacement: "\\\\begin{[[0]]rix}\\n$0\\n\\\\end{[[0]]rix}",
options: "rMA",
description: "Matrix environments with new lines",
},
{
trigger: /(matrix|cases|align|array)/,
replacement: "\\\\begin{[[0]]}\\n$0\\n\\\\end{[[0]]}",
options: "rMA",
description: "Miscellaneous environments with new lines",
},
{
trigger: /([pbBvV]mat)/,
replacement: "\\\\begin{[[0]]rix}$0\\\\end{[[0]]rix}",
options: "rnA",
},
{
trigger: /(matrix|cases|align|array)/,
replacement: "\\\\begin{[[0]]}$0\\\\end{[[0]]}",
options: "rnA",
},
// Brackets
{trigger: "avg", replacement: "\\\\langle $0 \\\\rangle $1", options: "mA"},
{trigger: "norm", replacement: "\\\\lvert $0 \\\\rvert $1", options: "mA", priority: 1},
{trigger: "Norm", replacement: "\\\\lVert $0 \\\\rVert $1", options: "mA", priority: 1},
{trigger: "ceil", replacement: "\\\\lceil $0 \\\\rceil $1", options: "mA"},
{trigger: "floor", replacement: "\\\\lfloor $0 \\\\rfloor $1", options: "mA"},
// For the modulo operator, see the section "More operations" above
{trigger: "mod", replacement: "|$0|$1", options: "mA"},
{trigger: "(", replacement: "(\${VISUAL})", options: "mA"},
{trigger: "[", replacement: "[\${VISUAL}]", options: "mA"},
{trigger: "{", replacement: "{\${VISUAL}}", options: "mA"},
{trigger: "(", replacement: "($0)$1", options: "mA"},
{trigger: "{", replacement: "{$0}$1", options: "mA"},
{trigger: "[", replacement: "[$0]$1", options: "mA"},
{trigger: "lr(", replacement: "\\\\left( $0 \\\\right) $1", options: "mA"},
{trigger: "lr{", replacement: "\\\\left\\\\{ $0 \\\\right\\\\} $1", options: "mA"},
{trigger: "lr[", replacement: "\\\\left[ $0 \\\\right] $1", options: "mA"},
{trigger: "lr|", replacement: "\\\\left| $0 \\\\right| $1", options: "mA"},
{trigger: "lra", replacement: "\\\\left< $0 \\\\right> $1", options: "mA"},
// Misc
// Automatically convert standalone letters in text to math (except a, A, I).
// (Un-comment to enable)
// {trigger: /([^'])\\b([B-HJ-Zb-z])\\b([\\n\\s.,?!:'])/, replacement: "[[0]]$[[1]]$[[2]]", options: "tA"},
// Automatically convert Greek letters in text to math.
// {trigger: "(\${GREEK})([\\\\n\\\\s.,?!:'])", replacement: "$\\\\[[0]]$[[1]]", options: "rtAw"},
// Automatically convert text of the form "x=2" and "x=n+1" to math.
// {trigger: /([A-Za-z]=\\d+)([\\n\\s.,?!:'])/, replacement: "$[[0]]$[[1]]", options: "rtAw"},
// {trigger: /([A-Za-z]=[A-Za-z][+-]\\d+)([\\n\\s.,?!:'])/, replacement: "$[[0]]$[[1]]", options: "tAw"},
// Snippet replacements can have placeholders.
{trigger: "tayl", replacement: "\${0:f}(\${1:x} + \${2:h}) = \${0:f}(\${1:x}) + \${0:f}'(\${1:x})\${2:h} + \${0:f}''(\${1:x}) \\\\frac{\${2:h}^{2}}{2!} + \\\\dots$3", options: "mA", description: "Taylor expansion"},
// Snippet replacements can also be JavaScript functions.
// See the documentation for more information.
{trigger: /iden(\\d)/, replacement: (match) => {
const n = match[1];
let arr = [];
for (let j = 0; j < n; j++) {
arr[j] = [];
for (let i = 0; i < n; i++) {
arr[j][i] = (i === j) ? 1 : 0;
}
}
let output = arr.map(el => el.join(" & ")).join(" \\\\\\\\\\n");
output = \`\\\\begin{pmatrix}\\n\${output}\\n\\\\end{pmatrix}\`;
return output;
}, options: "mA", description: "N x N identity matrix"},
{
trigger: /(?<=(?:\\n|^)[ \\t]*>*)(?<marker>\\d+[.)]|[-*+])(?<whitespace>[ \\t]+)(?<text>.*)dm/,
replacement: (m) => {
const { whitespace, text, marker } = m.groups;
const firstLine = marker + whitespace + text;
const indent = " ".repeat(marker.length) + whitespace;
return \`\${firstLine}\\n\${indent}$$\\n\${indent}\\t$0\\n\${indent}$$\`;
},
options: "rtA",
priority: 2,
description: "Display math when in a list"
},
]
`;var At=ls;var cs=`export default {
"\${GREEK}": "(?:alpha|beta|gamma|Gamma|delta|Delta|epsilon|varepsilon|zeta|eta|theta|vartheta|Theta|iota|kappa|lambda|Lambda|mu|nu|xi|omicron|pi|rho|varrho|sigma|Sigma|tau|upsilon|Upsilon|phi|varphi|Phi|chi|psi|omega|Omega)",
"\${SYMBOL}": "(?:parallel|perp|partial|nabla|hbar|ell|infty|oplus|ominus|otimes|oslash|square|star|dagger|vee|wedge|subseteq|subset|supseteq|supset|emptyset|exists|nexists|forall|implies|impliedby|iff|setminus|neg|lor|land|bigcup|bigcap|cdot|times|simeq|approx)",
"\${MORE_SYMBOLS}": "(?:leq|geq|neq|gg|ll|equiv|sim|propto|rightarrow|leftarrow|Rightarrow|Leftarrow|leftrightarrow|to|mapsto|cap|cup|in|sum|prod|exp|ln|log|det|dots|vdots|ddots|pm|mp|int|iint|iiint|oint)",
"\${ACCENT}": "(?:dot|ddot|hat|bar|tilde|vec|underline|overline|mathbf|mathcal|mathrm|mathbb)",
}
`;var ps=cs;var W={snippets:At,snippetVariables:ps,snippetsEnabled:!0,snippetsTrigger:"Tab",snippetNextTabstopTrigger:"Tab",snippetPreviousTabstopTrigger:"Shift-Tab",suppressSnippetTriggerOnIME:!0,suppressIMEWarning:!1,removeSnippetWhitespace:!0,autoDelete$:!0,loadSnippetsFromFile:!1,loadSnippetVariablesFromFile:!1,snippetsFileLocation:"",snippetVariablesFileLocation:"",concealEnabled:!1,concealRevealTimeout:0,colorPairedBracketsEnabled:!0,highlightCursorBracketsEnabled:!0,mathPreviewEnabled:!0,mathPreviewPositionIsAbove:!0,mathPreviewCursor:"\u25B6",mathPreviewBracketHighlighting:!1,autofractionEnabled:!0,autofractionSymbol:"\\frac",autofractionBreakingChars:"+-= ",matrixShortcutsEnabled:!0,taboutEnabled:!0,taboutTrigger:"Tab",autoEnlargeBrackets:!0,wordDelimiters:"., +-\\n :;!?\\/{}[]()=~$'\"|`<>*^%#@&",autofractionExcludedEnvs:`[
["^{", "}"],
["\\\\pu{", "}"]
]`,matrixShortcutsEnvNames:"pmatrix, cases, align, gather, bmatrix, Bmatrix, vmatrix, Vmatrix, array, matrix",taboutClosingSymbols:"), ], \\rbrack, \\}, \\rbrace, \\rangle, \\rvert, \\rVert, \\rfloor, \\rceil, \\urcorner, }",autoEnlargeBracketsTriggers:"sum, int, frac, prod, bigcup, bigcap",forceMathLanguages:"math",snippetDebug:"off",vimEnabled:!1,vimSelectMode:"<C-g>",vimVisualMode:"<C-g>",vimMatrixEnter:"o"};function qt(t,e){function r(i){return i.replace(/\s/g,"").split(",")}function n(i){let s=[];try{s=JSON.parse(i).map(function(a){return{openSymbol:a[0],closeSymbol:a[1]}})}catch(o){console.error(o)}return s}return ye(oe({},e),{snippets:t,autofractionExcludedEnvs:n(e.autofractionExcludedEnvs),matrixShortcutsEnvNames:r(e.matrixShortcutsEnvNames),taboutClosingSymbols:new Set(r(e.taboutClosingSymbols)),autoEnlargeBracketsTriggers:r(e.autoEnlargeBracketsTriggers).map(i=>/[A-Za-z]+/.test(i)?`\\${i}`:i),forceMathLanguages:r(e.forceMathLanguages)})}var Ur=require("@codemirror/state"),gi=require("@codemirror/view"),w=require("obsidian");var As=require("obsidian");var V="top",U="bottom",D="right",M="left",hr="auto",We=[V,U,D,M],_e="start",Le="end",us="clippingParents",dr="viewport",Ot="popper",Os="reference",xn=We.reduce(function(t,e){return t.concat([e+"-"+_e,e+"-"+Le])},[]),fr=[].concat(We,[hr]).reduce(function(t,e){return t.concat([e,e+"-"+_e,e+"-"+Le])},[]),Ql="beforeRead",Sl="read",$l="afterRead",vl="beforeMain",Tl="main",wl="afterMain",kl="beforeWrite",Pl="write",El="afterWrite",hs=[Ql,Sl,$l,vl,Tl,wl,kl,Pl,El];function F(t){return t?(t.nodeName||"").toLowerCase():null}function G(t){if(t==null)return window;if(t.toString()!=="[object Window]"){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function Te(t){var e=G(t).Element;return t instanceof e||t instanceof Element}function N(t){var e=G(t).HTMLElement;return t instanceof e||t instanceof HTMLElement}function ht(t){if(typeof ShadowRoot=="undefined")return!1;var e=G(t).ShadowRoot;return t instanceof e||t instanceof ShadowRoot}function _l(t){var e=t.state;Object.keys(e.elements).forEach(function(r){var n=e.styles[r]||{},i=e.attributes[r]||{},s=e.elements[r];!N(s)||!F(s)||(Object.assign(s.style,n),Object.keys(i).forEach(function(o){var a=i[o];a===!1?s.removeAttribute(o):s.setAttribute(o,a===!0?"":a)}))})}function Cl(t){var e=t.state,r={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,r.popper),e.styles=r,e.elements.arrow&&Object.assign(e.elements.arrow.style,r.arrow),function(){Object.keys(e.elements).forEach(function(n){var i=e.elements[n],s=e.attributes[n]||{},o=Object.keys(e.styles.hasOwnProperty(n)?e.styles[n]:r[n]),a=o.reduce(function(l,c){return l[c]="",l},{});!N(i)||!F(i)||(Object.assign(i.style,a),Object.keys(s).forEach(function(l){i.removeAttribute(l)}))})}}var ds={name:"applyStyles",enabled:!0,phase:"write",fn:_l,effect:Cl,requires:["computeStyles"]};function Y(t){return t.split("-")[0]}var xe=Math.max,Ue=Math.min,Ce=Math.round;function Oe(t,e){e===void 0&&(e=!1);var r=t.getBoundingClientRect(),n=1,i=1;if(N(t)&&e){var s=t.offsetHeight,o=t.offsetWidth;o>0&&(n=Ce(r.width)/o||1),s>0&&(i=Ce(r.height)/s||1)}return{width:r.width/n,height:r.height/i,top:r.top/i,right:r.right/n,bottom:r.bottom/i,left:r.left/n,x:r.left/n,y:r.top/i}}function Ne(t){var e=Oe(t),r=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-r)<=1&&(r=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:r,height:n}}function jt(t,e){var r=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(r&&ht(r)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function re(t){return G(t).getComputedStyle(t)}function Qn(t){return["table","td","th"].indexOf(F(t))>=0}function K(t){return((Te(t)?t.ownerDocument:t.document)||window.document).documentElement}function Re(t){return F(t)==="html"?t:t.assignedSlot||t.parentNode||(ht(t)?t.host:null)||K(t)}function fs(t){return!N(t)||re(t).position==="fixed"?null:t.offsetParent}function Rl(t){var e=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1,r=navigator.userAgent.indexOf("Trident")!==-1;if(r&&N(t)){var n=re(t);if(n.position==="fixed")return null}var i=Re(t);for(ht(i)&&(i=i.host);N(i)&&["html","body"].indexOf(F(i))<0;){var s=re(i);if(s.transform!=="none"||s.perspective!=="none"||s.contain==="paint"||["transform","perspective"].indexOf(s.willChange)!==-1||e&&s.willChange==="filter"||e&&s.filter&&s.filter!=="none")return i;i=i.parentNode}return null}function Qe(t){for(var e=G(t),r=fs(t);r&&Qn(r)&&re(r).position==="static";)r=fs(r);return r&&(F(r)==="html"||F(r)==="body"&&re(r).position==="static")?e:r||Rl(t)||e}function Fe(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Ye(t,e,r){return xe(t,Ue(e,r))}function ms(t,e,r){var n=Ye(t,e,r);return n>r?r:n}function Zt(){return{top:0,right:0,bottom:0,left:0}}function Xt(t){return Object.assign({},Zt(),t)}function Wt(t,e){return e.reduce(function(r,n){return r[n]=t,r},{})}var Al=function(e,r){return e=typeof e=="function"?e(Object.assign({},r.rects,{placement:r.placement})):e,Xt(typeof e!="number"?e:Wt(e,We))};function ql(t){var e,r=t.state,n=t.name,i=t.options,s=r.elements.arrow,o=r.modifiersData.popperOffsets,a=Y(r.placement),l=Fe(a),c=[M,D].indexOf(a)>=0,p=c?"height":"width";if(!(!s||!o)){var u=Al(i.padding,r),d=Ne(s),O=l==="y"?V:M,h=l==="y"?U:D,f=r.rects.reference[p]+r.rects.reference[l]-o[l]-r.rects.popper[p],g=o[l]-r.rects.reference[l],b=Qe(s),y=b?l==="y"?b.clientHeight||0:b.clientWidth||0:0,x=f/2-g/2,S=u[O],Q=y-d[p]-u[h],m=y/2-d[p]/2+x,T=Ye(S,m,Q),C=l;r.modifiersData[n]=(e={},e[C]=T,e.centerOffset=T-m,e)}}function jl(t){var e=t.state,r=t.options,n=r.element,i=n===void 0?"[data-popper-arrow]":n;i!=null&&(typeof i=="string"&&(i=e.elements.popper.querySelector(i),!i)||jt(e.elements.popper,i)&&(e.elements.arrow=i))}var gs={name:"arrow",enabled:!0,phase:"main",fn:ql,effect:jl,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function he(t){return t.split("-")[1]}var Zl={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Xl(t){var e=t.x,r=t.y,n=window,i=n.devicePixelRatio||1;return{x:Ce(e*i)/i||0,y:Ce(r*i)/i||0}}function bs(t){var e,r=t.popper,n=t.popperRect,i=t.placement,s=t.variation,o=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,p=t.roundOffsets,u=t.isFixed,d=o.x,O=d===void 0?0:d,h=o.y,f=h===void 0?0:h,g=typeof p=="function"?p({x:O,y:f}):{x:O,y:f};O=g.x,f=g.y;var b=o.hasOwnProperty("x"),y=o.hasOwnProperty("y"),x=M,S=V,Q=window;if(c){var m=Qe(r),T="clientHeight",C="clientWidth";if(m===G(r)&&(m=K(r),re(m).position!=="static"&&a==="absolute"&&(T="scrollHeight",C="scrollWidth")),m=m,i===V||(i===M||i===D)&&s===Le){S=U;var E=u&&m===Q&&Q.visualViewport?Q.visualViewport.height:m[T];f-=E-n.height,f*=l?1:-1}if(i===M||(i===V||i===U)&&s===Le){x=D;var k=u&&m===Q&&Q.visualViewport?Q.visualViewport.width:m[C];O-=k-n.width,O*=l?1:-1}}var P=Object.assign({position:a},c&&Zl),A=p===!0?Xl({x:O,y:f}):{x:O,y:f};if(O=A.x,f=A.y,l){var q;return Object.assign({},P,(q={},q[S]=y?"0":"",q[x]=b?"0":"",q.transform=(Q.devicePixelRatio||1)<=1?"translate("+O+"px, "+f+"px)":"translate3d("+O+"px, "+f+"px, 0)",q))}return Object.assign({},P,(e={},e[S]=y?f+"px":"",e[x]=b?O+"px":"",e.transform="",e))}function Wl(t){var e=t.state,r=t.options,n=r.gpuAcceleration,i=n===void 0?!0:n,s=r.adaptive,o=s===void 0?!0:s,a=r.roundOffsets,l=a===void 0?!0:a;if(0)var c;var p={placement:Y(e.placement),variation:he(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:i,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,bs(Object.assign({},p,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:o,roundOffsets:l})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,bs(Object.assign({},p,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}var ys={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Wl,data:{}};var mr={passive:!0};function Vl(t){var e=t.state,r=t.instance,n=t.options,i=n.scroll,s=i===void 0?!0:i,o=n.resize,a=o===void 0?!0:o,l=G(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return s&&c.forEach(function(p){p.addEventListener("scroll",r.update,mr)}),a&&l.addEventListener("resize",r.update,mr),function(){s&&c.forEach(function(p){p.removeEventListener("scroll",r.update,mr)}),a&&l.removeEventListener("resize",r.update,mr)}}var xs={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Vl,data:{}};var Il={left:"right",right:"left",bottom:"top",top:"bottom"};function dt(t){return t.replace(/left|right|bottom|top/g,function(e){return Il[e]})}var Ml={start:"end",end:"start"};function gr(t){return t.replace(/start|end/g,function(e){return Ml[e]})}function He(t){var e=G(t),r=e.pageXOffset,n=e.pageYOffset;return{scrollLeft:r,scrollTop:n}}function Ke(t){return Oe(K(t)).left+He(t).scrollLeft}function Sn(t){var e=G(t),r=K(t),n=e.visualViewport,i=r.clientWidth,s=r.clientHeight,o=0,a=0;return n&&(i=n.width,s=n.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(o=n.offsetLeft,a=n.offsetTop)),{width:i,height:s,x:o+Ke(t),y:a}}function $n(t){var e,r=K(t),n=He(t),i=(e=t.ownerDocument)==null?void 0:e.body,s=xe(r.scrollWidth,r.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),o=xe(r.scrollHeight,r.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),a=-n.scrollLeft+Ke(t),l=-n.scrollTop;return re(i||r).direction==="rtl"&&(a+=xe(r.clientWidth,i?i.clientWidth:0)-s),{width:s,height:o,x:a,y:l}}function Je(t){var e=re(t),r=e.overflow,n=e.overflowX,i=e.overflowY;return/auto|scroll|overlay|hidden/.test(r+i+n)}function br(t){return["html","body","#document"].indexOf(F(t))>=0?t.ownerDocument.body:N(t)&&Je(t)?t:br(Re(t))}function Ve(t,e){var r;e===void 0&&(e=[]);var n=br(t),i=n===((r=t.ownerDocument)==null?void 0:r.body),s=G(n),o=i?[s].concat(s.visualViewport||[],Je(n)?n:[]):n,a=e.concat(o);return i?a:a.concat(Ve(Re(o)))}function ft(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Gl(t){var e=Oe(t);return e.top=e.top+t.clientTop,e.left=e.left+t.clientLeft,e.bottom=e.top+t.clientHeight,e.right=e.left+t.clientWidth,e.width=t.clientWidth,e.height=t.clientHeight,e.x=e.left,e.y=e.top,e}function Qs(t,e){return e===dr?ft(Sn(t)):Te(e)?Gl(e):ft($n(K(t)))}function Bl(t){var e=Ve(Re(t)),r=["absolute","fixed"].indexOf(re(t).position)>=0,n=r&&N(t)?Qe(t):t;return Te(n)?e.filter(function(i){return Te(i)&&jt(i,n)&&F(i)!=="body"}):[]}function vn(t,e,r){var n=e==="clippingParents"?Bl(t):[].concat(e),i=[].concat(n,[r]),s=i[0],o=i.reduce(function(a,l){var c=Qs(t,l);return a.top=xe(c.top,a.top),a.right=Ue(c.right,a.right),a.bottom=Ue(c.bottom,a.bottom),a.left=xe(c.left,a.left),a},Qs(t,s));return o.width=o.right-o.left,o.height=o.bottom-o.top,o.x=o.left,o.y=o.top,o}function Vt(t){var e=t.reference,r=t.element,n=t.placement,i=n?Y(n):null,s=n?he(n):null,o=e.x+e.width/2-r.width/2,a=e.y+e.height/2-r.height/2,l;switch(i){case V:l={x:o,y:e.y-r.height};break;case U:l={x:o,y:e.y+e.height};break;case D:l={x:e.x+e.width,y:a};break;case M:l={x:e.x-r.width,y:a};break;default:l={x:e.x,y:e.y}}var c=i?Fe(i):null;if(c!=null){var p=c==="y"?"height":"width";switch(s){case _e:l[c]=l[c]-(e[p]/2-r[p]/2);break;case Le:l[c]=l[c]+(e[p]/2-r[p]/2);break;default:}}return l}function Se(t,e){e===void 0&&(e={});var r=e,n=r.placement,i=n===void 0?t.placement:n,s=r.boundary,o=s===void 0?us:s,a=r.rootBoundary,l=a===void 0?dr:a,c=r.elementContext,p=c===void 0?Ot:c,u=r.altBoundary,d=u===void 0?!1:u,O=r.padding,h=O===void 0?0:O,f=Xt(typeof h!="number"?h:Wt(h,We)),g=p===Ot?Os:Ot,b=t.rects.popper,y=t.elements[d?g:p],x=vn(Te(y)?y:y.contextElement||K(t.elements.popper),o,l),S=Oe(t.elements.reference),Q=Vt({reference:S,element:b,strategy:"absolute",placement:i}),m=ft(Object.assign({},b,Q)),T=p===Ot?m:S,C={top:x.top-T.top+f.top,bottom:T.bottom-x.bottom+f.bottom,left:x.left-T.left+f.left,right:T.right-x.right+f.right},E=t.modifiersData.offset;if(p===Ot&&E){var k=E[i];Object.keys(C).forEach(function(P){var A=[D,U].indexOf(P)>=0?1:-1,q=[V,U].indexOf(P)>=0?"y":"x";C[P]+=k[q]*A})}return C}function Tn(t,e){e===void 0&&(e={});var r=e,n=r.placement,i=r.boundary,s=r.rootBoundary,o=r.padding,a=r.flipVariations,l=r.allowedAutoPlacements,c=l===void 0?fr:l,p=he(n),u=p?a?xn:xn.filter(function(h){return he(h)===p}):We,d=u.filter(function(h){return c.indexOf(h)>=0});d.length===0&&(d=u);var O=d.reduce(function(h,f){return h[f]=Se(t,{placement:f,boundary:i,rootBoundary:s,padding:o})[Y(f)],h},{});return Object.keys(O).sort(function(h,f){return O[h]-O[f]})}function Dl(t){if(Y(t)===hr)return[];var e=dt(t);return[gr(t),e,gr(e)]}function zl(t){var e=t.state,r=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var i=r.mainAxis,s=i===void 0?!0:i,o=r.altAxis,a=o===void 0?!0:o,l=r.fallbackPlacements,c=r.padding,p=r.boundary,u=r.rootBoundary,d=r.altBoundary,O=r.flipVariations,h=O===void 0?!0:O,f=r.allowedAutoPlacements,g=e.options.placement,b=Y(g),y=b===g,x=l||(y||!h?[dt(g)]:Dl(g)),S=[g].concat(x).reduce(function(Ee,Ze){return Ee.concat(Y(Ze)===hr?Tn(e,{placement:Ze,boundary:p,rootBoundary:u,padding:c,flipVariations:h,allowedAutoPlacements:f}):Ze)},[]),Q=e.rects.reference,m=e.rects.popper,T=new Map,C=!0,E=S[0],k=0;k<S.length;k++){var P=S[k],A=Y(P),q=he(P)===_e,pe=[V,U].indexOf(A)>=0,ne=pe?"width":"height",Z=Se(e,{placement:P,boundary:p,rootBoundary:u,altBoundary:d,padding:c}),ie=pe?q?D:M:q?U:V;Q[ne]>m[ne]&&(ie=dt(ie));var ce=dt(ie),L=[];if(s&&L.push(Z[A]<=0),a&&L.push(Z[ie]<=0,Z[ce]<=0),L.every(function(Ee){return Ee})){E=P,C=!1;break}T.set(P,L)}if(C)for(var se=h?3:1,be=function(Ze){var Et=S.find(function(tr){var Be=T.get(tr);if(Be)return Be.slice(0,Ze).every(function(an){return an})});if(Et)return E=Et,"break"},ue=se;ue>0;ue--){var Pe=be(ue);if(Pe==="break")break}e.placement!==E&&(e.modifiersData[n]._skip=!0,e.placement=E,e.reset=!0)}}var Ss={name:"flip",enabled:!0,phase:"main",fn:zl,requiresIfExists:["offset"],data:{_skip:!1}};function $s(t,e,r){return r===void 0&&(r={x:0,y:0}),{top:t.top-e.height-r.y,right:t.right-e.width+r.x,bottom:t.bottom-e.height+r.y,left:t.left-e.width-r.x}}function vs(t){return[V,D,U,M].some(function(e){return t[e]>=0})}function Ll(t){var e=t.state,r=t.name,n=e.rects.reference,i=e.rects.popper,s=e.modifiersData.preventOverflow,o=Se(e,{elementContext:"reference"}),a=Se(e,{altBoundary:!0}),l=$s(o,n),c=$s(a,i,s),p=vs(l),u=vs(c);e.modifiersData[r]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:u},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":u})}var Ts={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Ll};function Ul(t,e,r){var n=Y(t),i=[M,V].indexOf(n)>=0?-1:1,s=typeof r=="function"?r(Object.assign({},e,{placement:t})):r,o=s[0],a=s[1];return o=o||0,a=(a||0)*i,[M,D].indexOf(n)>=0?{x:a,y:o}:{x:o,y:a}}function Nl(t){var e=t.state,r=t.options,n=t.name,i=r.offset,s=i===void 0?[0,0]:i,o=fr.reduce(function(p,u){return p[u]=Ul(u,e.rects,s),p},{}),a=o[e.placement],l=a.x,c=a.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=o}var ws={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Nl};function Fl(t){var e=t.state,r=t.name;e.modifiersData[r]=Vt({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})}var ks={name:"popperOffsets",enabled:!0,phase:"read",fn:Fl,data:{}};function wn(t){return t==="x"?"y":"x"}function Yl(t){var e=t.state,r=t.options,n=t.name,i=r.mainAxis,s=i===void 0?!0:i,o=r.altAxis,a=o===void 0?!1:o,l=r.boundary,c=r.rootBoundary,p=r.altBoundary,u=r.padding,d=r.tether,O=d===void 0?!0:d,h=r.tetherOffset,f=h===void 0?0:h,g=Se(e,{boundary:l,rootBoundary:c,padding:u,altBoundary:p}),b=Y(e.placement),y=he(e.placement),x=!y,S=Fe(b),Q=wn(S),m=e.modifiersData.popperOffsets,T=e.rects.reference,C=e.rects.popper,E=typeof f=="function"?f(Object.assign({},e.rects,{placement:e.placement})):f,k=typeof E=="number"?{mainAxis:E,altAxis:E}:Object.assign({mainAxis:0,altAxis:0},E),P=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,A={x:0,y:0};if(m){if(s){var q,pe=S==="y"?V:M,ne=S==="y"?U:D,Z=S==="y"?"height":"width",ie=m[S],ce=ie+g[pe],L=ie-g[ne],se=O?-C[Z]/2:0,be=y===_e?T[Z]:C[Z],ue=y===_e?-C[Z]:-T[Z],Pe=e.elements.arrow,Ee=O&&Pe?Ne(Pe):{width:0,height:0},Ze=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:Zt(),Et=Ze[pe],tr=Ze[ne],Be=Ye(0,T[Z],Ee[Z]),an=x?T[Z]/2-se-Be-Et-k.mainAxis:be-Be-Et-k.mainAxis,Pa=x?-T[Z]/2+se+Be+tr+k.mainAxis:ue+Be+tr+k.mainAxis,ln=e.elements.arrow&&Qe(e.elements.arrow),Ea=ln?S==="y"?ln.clientTop||0:ln.clientLeft||0:0,Ti=(q=P==null?void 0:P[S])!=null?q:0,_a=ie+an-Ti-Ea,Ca=ie+Pa-Ti,wi=Ye(O?Ue(ce,_a):ce,ie,O?xe(L,Ca):L);m[S]=wi,A[S]=wi-ie}if(a){var ki,Ra=S==="x"?V:M,Aa=S==="x"?U:D,De=m[Q],rr=Q==="y"?"height":"width",Pi=De+g[Ra],Ei=De-g[Aa],cn=[V,M].indexOf(b)!==-1,_i=(ki=P==null?void 0:P[Q])!=null?ki:0,Ci=cn?Pi:De-T[rr]-C[rr]-_i+k.altAxis,Ri=cn?De+T[rr]+C[rr]-_i-k.altAxis:Ei,Ai=O&&cn?ms(Ci,De,Ri):Ye(O?Ci:Pi,De,O?Ri:Ei);m[Q]=Ai,A[Q]=Ai-De}e.modifiersData[n]=A}}var Ps={name:"preventOverflow",enabled:!0,phase:"main",fn:Yl,requiresIfExists:["offset"]};function kn(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function Pn(t){return t===G(t)||!N(t)?He(t):kn(t)}function Hl(t){var e=t.getBoundingClientRect(),r=Ce(e.width)/t.offsetWidth||1,n=Ce(e.height)/t.offsetHeight||1;return r!==1||n!==1}function En(t,e,r){r===void 0&&(r=!1);var n=N(e),i=N(e)&&Hl(e),s=K(e),o=Oe(t,i),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!r)&&((F(e)!=="body"||Je(s))&&(a=Pn(e)),N(e)?(l=Oe(e,!0),l.x+=e.clientLeft,l.y+=e.clientTop):s&&(l.x=Ke(s))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function Kl(t){var e=new Map,r=new Set,n=[];t.forEach(function(s){e.set(s.name,s)});function i(s){r.add(s.name);var o=[].concat(s.requires||[],s.requiresIfExists||[]);o.forEach(function(a){if(!r.has(a)){var l=e.get(a);l&&i(l)}}),n.push(s)}return t.forEach(function(s){r.has(s.name)||i(s)}),n}function _n(t){var e=Kl(t);return hs.reduce(function(r,n){return r.concat(e.filter(function(i){return i.phase===n}))},[])}function Cn(t){var e;return function(){return e||(e=new Promise(function(r){Promise.resolve().then(function(){e=void 0,r(t())})})),e}}function Rn(t){var e=t.reduce(function(r,n){var i=r[n.name];return r[n.name]=i?Object.assign({},i,n,{options:Object.assign({},i.options,n.options),data:Object.assign({},i.data,n.data)}):n,r},{});return Object.keys(e).map(function(r){return e[r]})}var Es={placement:"bottom",modifiers:[],strategy:"absolute"};function _s(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return!e.some(function(n){return!(n&&typeof n.getBoundingClientRect=="function")})}function Cs(t){t===void 0&&(t={});var e=t,r=e.defaultModifiers,n=r===void 0?[]:r,i=e.defaultOptions,s=i===void 0?Es:i;return function(a,l,c){c===void 0&&(c=s);var p={placement:"bottom",orderedModifiers:[],options:Object.assign({},Es,s),modifiersData:{},elements:{reference:a,popper:l},attributes:{},styles:{}},u=[],d=!1,O={state:p,setOptions:function(b){var y=typeof b=="function"?b(p.options):b;f(),p.options=Object.assign({},s,p.options,y),p.scrollParents={reference:Te(a)?Ve(a):a.contextElement?Ve(a.contextElement):[],popper:Ve(l)};var x=_n(Rn([].concat(n,p.options.modifiers)));if(p.orderedModifiers=x.filter(function(P){return P.enabled}),0){var S;if(getBasePlacement(p.options.placement)===auto)var Q;var m,T,C,E,k}return h(),O.update()},forceUpdate:function(){if(!d){var b=p.elements,y=b.reference,x=b.popper;if(_s(y,x)){p.rects={reference:En(y,Qe(x),p.options.strategy==="fixed"),popper:Ne(x)},p.reset=!1,p.placement=p.options.placement,p.orderedModifiers.forEach(function(P){return p.modifiersData[P.name]=Object.assign({},P.data)});for(var S=0,Q=0;Q<p.orderedModifiers.length;Q++){if(p.reset===!0){p.reset=!1,Q=-1;continue}var m=p.orderedModifiers[Q],T=m.fn,C=m.options,E=C===void 0?{}:C,k=m.name;typeof T=="function"&&(p=T({state:p,options:E,name:k,instance:O})||p)}}}},update:Cn(function(){return new Promise(function(g){O.forceUpdate(),g(p)})}),destroy:function(){f(),d=!0}};if(!_s(a,l))return O;O.setOptions(c).then(function(g){!d&&c.onFirstUpdate&&c.onFirstUpdate(g)});function h(){p.orderedModifiers.forEach(function(g){var b=g.name,y=g.options,x=y===void 0?{}:y,S=g.effect;if(typeof S=="function"){var Q=S({state:p,name:b,instance:O,options:x}),m=function(){};u.push(Q||m)}})}function f(){u.forEach(function(g){return g()}),u=[]}return O}}var Jl=[xs,ks,ys,ds,ws,Ss,Ps,gs,Ts],An=Cs({defaultModifiers:Jl});var Rs=require("obsidian"),ec=(t,e)=>(t%e+e)%e,qn=class{constructor(e,r,n){this.owner=e,this.containerEl=r,r.on("click",".suggestion-item",this.onSuggestionClick.bind(this)),r.on("mousemove",".suggestion-item",this.onSuggestionMouseover.bind(this)),n.register([],"ArrowUp",i=>{if(!i.isComposing)return this.setSelectedItem(this.selectedItem-1,!0),!1}),n.register([],"ArrowDown",i=>{if(!i.isComposing)return this.setSelectedItem(this.selectedItem+1,!0),!1}),n.register([],"Enter",i=>{if(!i.isComposing)return this.useSelectedItem(i),!1})}onSuggestionClick(e,r){e.preventDefault();let n=this.suggestions.indexOf(r);this.setSelectedItem(n,!1),this.useSelectedItem(e)}onSuggestionMouseover(e,r){let n=this.suggestions.indexOf(r);this.setSelectedItem(n,!1)}setSuggestions(e){this.containerEl.empty();let r=[];e.forEach(n=>{let i=this.containerEl.createDiv("suggestion-item");this.owner.renderSuggestion(n,i),r.push(i)}),this.values=e,this.suggestions=r,this.setSelectedItem(0,!1)}useSelectedItem(e){let r=this.values[this.selectedItem];r&&this.owner.selectSuggestion(r,e)}setSelectedItem(e,r){let n=ec(e,this.suggestions.length),i=this.suggestions[this.selectedItem],s=this.suggestions[n];i==null||i.removeClass("is-selected"),s==null||s.addClass("is-selected"),this.selectedItem=n,r&&s.scrollIntoView(!1)}},yr=class{constructor(e,r){this.app=e,this.inputEl=r,this.scope=new Rs.Scope,this.suggestEl=createDiv("suggestion-container");let n=this.suggestEl.createDiv("suggestion");this.suggest=new qn(this,n,this.scope),this.scope.register([],"Escape",this.close.bind(this)),this.inputEl.addEventListener("input",this.onInputChanged.bind(this)),this.inputEl.addEventListener("focus",this.onInputChanged.bind(this)),this.inputEl.addEventListener("blur",this.close.bind(this)),this.suggestEl.on("mousedown",".suggestion-container",i=>{i.preventDefault()})}onInputChanged(){let e=this.inputEl.value,r=this.getSuggestions(e);r.length>0&&(this.suggest.setSuggestions(r),this.open(this.app.dom.appContainerEl,this.inputEl))}open(e,r){this.app.keymap.pushScope(this.scope),e.appendChild(this.suggestEl),this.popper=An(r,this.suggestEl,{placement:"bottom-start",modifiers:[{name:"sameWidth",enabled:!0,fn:({state:n,instance:i})=>{let s=`${n.rects.reference.width}px`;n.styles.popper.width!==s&&(n.styles.popper.width=s,i.update())},phase:"beforeWrite",requires:["computeStyles"]}]})}close(){this.app.keymap.popScope(this.scope),this.suggest.setSuggestions([]),this.popper.destroy(),this.suggestEl.detach()}};var It=class extends yr{getSuggestions(e){let r=[],n=e.toLowerCase();return As.Vault.recurseChildren(this.app.vault.getRoot(),i=>{i.path.toLowerCase().contains(n)&&r.push(i)}),r}renderSuggestion(e,r){r.setText(e.path)}selectSuggestion(e){this.inputEl.value=e.path,this.inputEl.trigger("input"),this.close()}};var le=require("@codemirror/view"),co=require("@codemirror/state");var tc=0,Mt=class{constructor(e,r){this.from=e,this.to=r}},j=class{constructor(e={}){this.id=tc++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=de.match(e)),r=>{let n=e(r);return n===void 0?null:[this,n]}}};j.closedBy=new j({deserialize:t=>t.split(" ")});j.openedBy=new j({deserialize:t=>t.split(" ")});j.group=new j({deserialize:t=>t.split(" ")});j.contextHash=new j({perNode:!0});j.lookAhead=new j({perNode:!0});j.mounted=new j({perNode:!0});var mt=class{constructor(e,r,n){this.tree=e,this.overlay=r,this.parser=n}static get(e){return e&&e.props&&e.props[j.mounted.id]}},rc=Object.create(null),de=class t{constructor(e,r,n,i=0){this.name=e,this.props=r,this.id=n,this.flags=i}static define(e){let r=e.props&&e.props.length?Object.create(null):rc,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),i=new t(e.name||"",r,e.id,n);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(i)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");r[s[0].id]=s[1]}}return i}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let r=this.prop(j.group);return r?r.indexOf(e)>-1:!1}return this.id==e}static match(e){let r=Object.create(null);for(let n in e)for(let i of n.split(" "))r[i]=e[n];return n=>{for(let i=n.prop(j.group),s=-1;s<(i?i.length:0);s++){let o=r[s<0?n.name:i[s]];if(o)return o}}}};de.none=new de("",Object.create(null),0,8);var Sr=class t{constructor(e){this.types=e;for(let r=0;r<e.length;r++)if(e[r].id!=r)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let r=[];for(let n of this.types){let i=null;for(let s of e){let o=s(n);o&&(i||(i=Object.assign({},n.props)),i[o[0].id]=o[1])}r.push(i?new de(n.name,i,n.id,n.flags):n)}return new t(r)}},xr=new WeakMap,qs=new WeakMap,z;(function(t){t[t.ExcludeBuffers=1]="ExcludeBuffers",t[t.IncludeAnonymous=2]="IncludeAnonymous",t[t.IgnoreMounts=4]="IgnoreMounts",t[t.IgnoreOverlays=8]="IgnoreOverlays"})(z||(z={}));var ae=class t{constructor(e,r,n,i,s){if(this.type=e,this.children=r,this.positions=n,this.length=i,this.props=null,s&&s.length){this.props=Object.create(null);for(let[o,a]of s)this.props[typeof o=="number"?o:o.id]=a}}toString(){let e=mt.get(this);if(e&&!e.overlay)return e.tree.toString();let r="";for(let n of this.children){let i=n.toString();i&&(r&&(r+=","),r+=i)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(r.length?"("+r+")":""):r}cursor(e=0){return new Bt(this.topNode,e)}cursorAt(e,r=0,n=0){let i=xr.get(this)||this.topNode,s=new Bt(i);return s.moveTo(e,r),xr.set(this,s._tree),s}get topNode(){return new fe(this,0,0,null)}resolve(e,r=0){let n=Gt(xr.get(this)||this.topNode,e,r,!1);return xr.set(this,n),n}resolveInner(e,r=0){let n=Gt(qs.get(this)||this.topNode,e,r,!0);return qs.set(this,n),n}resolveStack(e,r=0){return nc(this,e,r)}iterate(e){let{enter:r,leave:n,from:i=0,to:s=this.length}=e,o=e.mode||0,a=(o&z.IncludeAnonymous)>0;for(let l=this.cursor(o|z.IncludeAnonymous);;){let c=!1;if(l.from<=s&&l.to>=i&&(!a&&l.type.isAnonymous||r(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&n&&(a||!l.type.isAnonymous)&&n(l),!l.nextSibling();){if(!l.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let r in this.props)e.push([+r,this.props[r]]);return e}balance(e={}){return this.children.length<=8?this:Mn(de.none,this.children,this.positions,0,this.children.length,0,this.length,(r,n,i)=>new t(this.type,r,n,i,this.propValues),e.makeTree||((r,n,i)=>new t(de.none,r,n,i)))}static build(e){return ic(e)}};ae.empty=new ae(de.none,[],[],0);var jn=class t{constructor(e,r){this.buffer=e,this.index=r}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new t(this.buffer,this.index)}},et=class t{constructor(e,r,n){this.buffer=e,this.length=r,this.set=n}get type(){return de.none}toString(){let e=[];for(let r=0;r<this.buffer.length;)e.push(this.childString(r)),r=this.buffer[r+3];return e.join(",")}childString(e){let r=this.buffer[e],n=this.buffer[e+3],i=this.set.types[r],s=i.name;if(/\W/.test(s)&&!i.isError&&(s=JSON.stringify(s)),e+=4,n==e)return s;let o=[];for(;e<n;)o.push(this.childString(e)),e=this.buffer[e+3];return s+"("+o.join(",")+")"}findChild(e,r,n,i,s){let{buffer:o}=this,a=-1;for(let l=e;l!=r&&!(Xs(s,i,o[l+1],o[l+2])&&(a=l,n>0));l=o[l+3]);return a}slice(e,r,n){let i=this.buffer,s=new Uint16Array(r-e),o=0;for(let a=e,l=0;a<r;){s[l++]=i[a++],s[l++]=i[a++]-n;let c=s[l++]=i[a++]-n;s[l++]=i[a++]-e,o=Math.max(o,c)}return new t(s,o,this.set)}};function Xs(t,e,r,n){switch(t){case-2:return r<e;case-1:return n>=e&&r<e;case 0:return r<e&&n>e;case 1:return r<=e&&n>e;case 2:return n>e;case 4:return!0}}function Gt(t,e,r,n){for(var i;t.from==t.to||(r<1?t.from>=e:t.from>e)||(r>-1?t.to<=e:t.to<e);){let o=!n&&t instanceof fe&&t.index<0?null:t.parent;if(!o)return t;t=o}let s=n?0:z.IgnoreOverlays;if(n)for(let o=t,a=o.parent;a;o=a,a=o.parent)o instanceof fe&&o.index<0&&((i=a.enter(e,r,s))===null||i===void 0?void 0:i.from)!=o.from&&(t=a);for(;;){let o=t.enter(e,r,s);if(!o)return t;t=o}}var $r=class{cursor(e=0){return new Bt(this,e)}getChild(e,r=null,n=null){let i=js(this,e,r,n);return i.length?i[0]:null}getChildren(e,r=null,n=null){return js(this,e,r,n)}resolve(e,r=0){return Gt(this,e,r,!1)}resolveInner(e,r=0){return Gt(this,e,r,!0)}matchContext(e){return Zn(this,e)}enterUnfinishedNodesBefore(e){let r=this.childBefore(e),n=this;for(;r;){let i=r.lastChild;if(!i||i.to!=r.to)break;i.type.isError&&i.from==i.to?(n=r,r=i.prevSibling):r=i}return n}get node(){return this}get next(){return this.parent}},fe=class t extends $r{constructor(e,r,n,i){super(),this._tree=e,this.from=r,this.index=n,this._parent=i}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,r,n,i,s=0){for(let o=this;;){for(let{children:a,positions:l}=o._tree,c=r>0?a.length:-1;e!=c;e+=r){let p=a[e],u=l[e]+o.from;if(Xs(i,n,u,u+p.length)){if(p instanceof et){if(s&z.ExcludeBuffers)continue;let d=p.findChild(0,p.buffer.length,r,n-u,i);if(d>-1)return new tt(new Xn(o,p,e,u),null,d)}else if(s&z.IncludeAnonymous||!p.type.isAnonymous||In(p)){let d;if(!(s&z.IgnoreMounts)&&(d=mt.get(p))&&!d.overlay)return new t(d.tree,u,e,o);let O=new t(p,u,e,o);return s&z.IncludeAnonymous||!O.type.isAnonymous?O:O.nextChild(r<0?p.children.length-1:0,r,n,i)}}}if(s&z.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+r:e=r<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,r,n=0){let i;if(!(n&z.IgnoreOverlays)&&(i=mt.get(this._tree))&&i.overlay){let s=e-this.from;for(let{from:o,to:a}of i.overlay)if((r>0?o<=s:o<s)&&(r<0?a>=s:a>s))return new t(i.tree,i.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,r,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function js(t,e,r,n){let i=t.cursor(),s=[];if(!i.firstChild())return s;if(r!=null){for(;!i.type.is(r);)if(!i.nextSibling())return s}for(;;){if(n!=null&&i.type.is(n))return s;if(i.type.is(e)&&s.push(i.node),!i.nextSibling())return n==null?s:[]}}function Zn(t,e,r=e.length-1){for(let n=t.parent;r>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[r]&&e[r]!=n.name)return!1;r--}}return!0}var Xn=class{constructor(e,r,n,i){this.parent=e,this.buffer=r,this.index=n,this.start=i}},tt=class t extends $r{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,r,n){super(),this.context=e,this._parent=r,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,r,n){let{buffer:i}=this.context,s=i.findChild(this.index+4,i.buffer[this.index+3],e,r-this.context.start,n);return s<0?null:new t(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,r,n=0){if(n&z.ExcludeBuffers)return null;let{buffer:i}=this.context,s=i.findChild(this.index+4,i.buffer[this.index+3],r>0?1:-1,e-this.context.start,r);return s<0?null:new t(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,r=e.buffer[this.index+3];return r<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new t(this.context,this._parent,r):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,r=this._parent?this._parent.index+4:0;return this.index==r?this.externalSibling(-1):new t(this.context,this._parent,e.findChild(r,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],r=[],{buffer:n}=this.context,i=this.index+4,s=n.buffer[this.index+3];if(s>i){let o=n.buffer[this.index+1];e.push(n.slice(i,s,o)),r.push(0)}return new ae(this.type,e,r,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Ws(t){if(!t.length)return null;if(t.length==1)return t[0];let e=0,r=t[0];for(let s=1;s<t.length;s++){let o=t[s];(o.from>r.from||o.to<r.to)&&(r=o,e=s)}let n=r instanceof fe&&r.index<0?null:r.parent,i=t.slice();return n?i[e]=n:i.splice(e,1),new Wn(i,r)}var Wn=class{constructor(e,r){this.heads=e,this.node=r}get next(){return Ws(this.heads)}};function nc(t,e,r){let n=t.resolveInner(e,r),i=null;for(let s=n instanceof fe?n:n.context.parent;s;s=s.parent)if(s.index<0){let o=s.parent;(i||(i=[n])).push(o.resolve(e,r)),s=o}else{let o=mt.get(s.tree);if(o&&o.overlay&&o.overlay[0].from<=e&&o.overlay[o.overlay.length-1].to>=e){let a=new fe(o.tree,o.overlay[0].from+s.from,0,null);(i||(i=[n])).push(Gt(a,e,r,!1))}}return i?Ws(i):n}var Bt=class{get name(){return this.type.name}constructor(e,r=0){if(this.mode=r,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof fe)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,r){this.index=e;let{start:n,buffer:i}=this.buffer;return this.type=r||i.set.types[i.buffer[e]],this.from=n+i.buffer[e+1],this.to=n+i.buffer[e+2],!0}yield(e){return e?e instanceof fe?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,r,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,r,n,this.mode));let{buffer:i}=this.buffer,s=i.findChild(this.index+4,i.buffer[this.index+3],e,r-this.buffer.start,n);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,r,n=this.mode){return this.buffer?n&z.ExcludeBuffers?!1:this.enterChild(1,e,r):this.yield(this._tree.enter(e,r,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&z.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&z.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:r}=this.buffer,n=this.stack.length-1;if(e<0){let i=n<0?0:this.stack[n]+4;if(this.index!=i)return this.yieldBuf(r.findChild(i,this.index,-1,0,4))}else{let i=r.buffer[this.index+3];if(i<(n<0?r.buffer.length:r.buffer[this.stack[n]+3]))return this.yieldBuf(i)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let r,n,{buffer:i}=this;if(i){if(e>0){if(this.index<i.buffer.buffer.length)return!1}else for(let s=0;s<this.index;s++)if(i.buffer.buffer[s+3]<this.index)return!1;({index:r,parent:n}=i)}else({index:r,_parent:n}=this._tree);for(;n;{index:r,_parent:n}=n)if(r>-1)for(let s=r+e,o=e<0?-1:n._tree.children.length;s!=o;s+=e){let a=n._tree.children[s];if(this.mode&z.IncludeAnonymous||a instanceof et||!a.type.isAnonymous||In(a))return!1}return!0}move(e,r){if(r&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,r=0){for(;(this.from==this.to||(r<1?this.from>=e:this.from>e)||(r>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,r););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,r=null,n=0;if(e&&e.context==this.buffer)e:for(let i=this.index,s=this.stack.length;s>=0;){for(let o=e;o;o=o._parent)if(o.index==i){if(i==this.index)return o;r=o,n=s+1;break e}i=this.stack[--s]}for(let i=n;i<this.stack.length;i++)r=new tt(this.buffer,r,this.stack[i]);return this.bufferNode=new tt(this.buffer,r,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,r){for(let n=0;;){let i=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){n++;continue}this.type.isAnonymous||(i=!0)}for(;i&&r&&r(this),i=this.type.isAnonymous,!this.nextSibling();){if(!n)return;this.parent(),n--,i=!0}}}matchContext(e){if(!this.buffer)return Zn(this.node,e);let{buffer:r}=this.buffer,{types:n}=r.set;for(let i=e.length-1,s=this.stack.length-1;i>=0;s--){if(s<0)return Zn(this.node,e,i);let o=n[r.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[i]&&e[i]!=o.name)return!1;i--}}return!0}};function In(t){return t.children.some(e=>e instanceof et||!e.type.isAnonymous||In(e))}function ic(t){var e;let{buffer:r,nodeSet:n,maxBufferLength:i=1024,reused:s=[],minRepeatType:o=n.types.length}=t,a=Array.isArray(r)?new jn(r,r.length):r,l=n.types,c=0,p=0;function u(S,Q,m,T,C){let{id:E,start:k,end:P,size:A}=a,q=p;for(;A<0;)if(a.next(),A==-1){let ce=s[E];m.push(ce),T.push(k-S);return}else if(A==-3){c=E;return}else if(A==-4){p=E;return}else throw new RangeError(`Unrecognized record size: ${A}`);let pe=l[E],ne,Z,ie=k-S;if(P-k<=i&&(Z=f(a.pos-Q,C))){let ce=new Uint16Array(Z.size-Z.skip),L=a.pos-Z.size,se=ce.length;for(;a.pos>L;)se=g(Z.start,ce,se);ne=new et(ce,P-Z.start,n),ie=Z.start-S}else{let ce=a.pos-A;a.next();let L=[],se=[],be=E>=o?E:-1,ue=0,Pe=P;for(;a.pos>ce;)be>=0&&a.id==be&&a.size>=0?(a.end<=Pe-i&&(O(L,se,k,ue,a.end,Pe,be,q),ue=L.length,Pe=a.end),a.next()):u(k,ce,L,se,be);if(be>=0&&ue>0&&ue<L.length&&O(L,se,k,ue,k,Pe,be,q),L.reverse(),se.reverse(),be>-1&&ue>0){let Ee=d(pe);ne=Mn(pe,L,se,0,L.length,0,P-k,Ee,Ee)}else ne=h(pe,L,se,P-k,q-P)}m.push(ne),T.push(ie)}function d(S){return(Q,m,T)=>{let C=0,E=Q.length-1,k,P;if(E>=0&&(k=Q[E])instanceof ae){if(!E&&k.type==S&&k.length==T)return k;(P=k.prop(j.lookAhead))&&(C=m[E]+k.length+P)}return h(S,Q,m,T,C)}}function O(S,Q,m,T,C,E,k,P){let A=[],q=[];for(;S.length>T;)A.push(S.pop()),q.push(Q.pop()+m-C);S.push(h(n.types[k],A,q,E-C,P-E)),Q.push(C-m)}function h(S,Q,m,T,C=0,E){if(c){let k=[j.contextHash,c];E=E?[k].concat(E):[k]}if(C>25){let k=[j.lookAhead,C];E=E?[k].concat(E):[k]}return new ae(S,Q,m,T,E)}function f(S,Q){let m=a.fork(),T=0,C=0,E=0,k=m.end-i,P={size:0,start:0,skip:0};e:for(let A=m.pos-S;m.pos>A;){let q=m.size;if(m.id==Q&&q>=0){P.size=T,P.start=C,P.skip=E,E+=4,T+=4,m.next();continue}let pe=m.pos-q;if(q<0||pe<A||m.start<k)break;let ne=m.id>=o?4:0,Z=m.start;for(m.next();m.pos>pe;){if(m.size<0)if(m.size==-3)ne+=4;else break e;else m.id>=o&&(ne+=4);m.next()}C=Z,T+=q,E+=ne}return(Q<0||T==S)&&(P.size=T,P.start=C,P.skip=E),P.size>4?P:void 0}function g(S,Q,m){let{id:T,start:C,end:E,size:k}=a;if(a.next(),k>=0&&T<o){let P=m;if(k>4){let A=a.pos-(k-4);for(;a.pos>A;)m=g(S,Q,m)}Q[--m]=P,Q[--m]=E-S,Q[--m]=C-S,Q[--m]=T}else k==-3?c=T:k==-4&&(p=T);return m}let b=[],y=[];for(;a.pos>0;)u(t.start||0,t.bufferStart||0,b,y,-1);let x=(e=t.length)!==null&&e!==void 0?e:b.length?y[0]+b[0].length:0;return new ae(l[t.topID],b.reverse(),y.reverse(),x)}var Zs=new WeakMap;function Qr(t,e){if(!t.isAnonymous||e instanceof et||e.type!=t)return 1;let r=Zs.get(e);if(r==null){r=1;for(let n of e.children){if(n.type!=t||!(n instanceof ae)){r=1;break}r+=Qr(t,n)}Zs.set(e,r)}return r}function Mn(t,e,r,n,i,s,o,a,l){let c=0;for(let h=n;h<i;h++)c+=Qr(t,e[h]);let p=Math.ceil(c*1.5/8),u=[],d=[];function O(h,f,g,b,y){for(let x=g;x<b;){let S=x,Q=f[x],m=Qr(t,h[x]);for(x++;x<b;x++){let T=Qr(t,h[x]);if(m+T>=p)break;m+=T}if(x==S+1){if(m>p){let T=h[S];O(T.children,T.positions,0,T.children.length,f[S]+y);continue}u.push(h[S])}else{let T=f[x-1]+h[x-1].length-Q;u.push(Mn(t,h,f,S,x,Q,T,null,l))}d.push(Q+y-s)}}return O(e,r,n,i,0),(a||l)(u,d,o)}var vr=class{constructor(){this.map=new WeakMap}setBuffer(e,r,n){let i=this.map.get(e);i||this.map.set(e,i=new Map),i.set(r,n)}getBuffer(e,r){let n=this.map.get(e);return n&&n.get(r)}set(e,r){e instanceof tt?this.setBuffer(e.context.buffer,e.index,r):e instanceof fe&&this.map.set(e.tree,r)}get(e){return e instanceof tt?this.getBuffer(e.context.buffer,e.index):e instanceof fe?this.map.get(e.tree):void 0}cursorSet(e,r){e.buffer?this.setBuffer(e.buffer.buffer,e.index,r):this.map.set(e.tree,r)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}};var Tr=class{startParse(e,r,n){return typeof e=="string"&&(e=new Vn(e)),n=n?n.length?n.map(i=>new Mt(i.from,i.to)):[new Mt(0,0)]:[new Mt(0,e.length)],this.createParse(e,r||[],n)}parse(e,r,n){let i=this.startParse(e,r,n);for(;;){let s=i.advance();if(s)return s}}},Vn=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,r){return this.string.slice(e,r)}};var zf=new j({perNode:!0});var Dn=class t{constructor(e,r,n,i,s,o,a,l,c,p=0,u){this.p=e,this.stack=r,this.state=n,this.reducePos=i,this.pos=s,this.score=o,this.buffer=a,this.bufferBase=l,this.curContext=c,this.lookAhead=p,this.parent=u}toString(){return`[${this.stack.filter((e,r)=>r%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,r,n=0){let i=e.parser.context;return new t(e,[],r,n,n,0,[],0,i?new kr(i,i.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,r){this.stack.push(this.state,r,this.bufferBase+this.buffer.length),this.state=e}reduce(e){let r=e>>19,n=e&65535,{parser:i}=this.p,s=i.dynamicPrecedence(n);if(s&&(this.score+=s),r==0){this.pushState(i.getGoto(this.state,n,!0),this.reducePos),n<i.minRepeatTerm&&this.storeNode(n,this.reducePos,this.reducePos,4,!0),this.reduceContext(n,this.reducePos);return}let o=this.stack.length-(r-1)*3-(e&262144?6:0),a=this.stack[o-2],l=this.stack[o-1],c=this.bufferBase+this.buffer.length-l;if(n<i.minRepeatTerm||e&131072){let p=i.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(n,a,p,c+4,!0)}if(e&262144)this.state=this.stack[o];else{let p=this.stack[o-3];this.state=i.getGoto(p,n,!0)}for(;this.stack.length>o;)this.stack.pop();this.reduceContext(n,a)}storeNode(e,r,n,i=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let o=this,a=this.buffer.length;if(a==0&&o.parent&&(a=o.bufferBase-o.parent.bufferBase,o=o.parent),a>0&&o.buffer[a-4]==0&&o.buffer[a-1]>-1){if(r==n)return;if(o.buffer[a-2]>=r){o.buffer[a-2]=n;return}}}if(!s||this.pos==n)this.buffer.push(e,r,n,i);else{let o=this.buffer.length;if(o>0&&this.buffer[o-4]!=0)for(;o>0&&this.buffer[o-2]>n;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,i>4&&(i-=4);this.buffer[o]=e,this.buffer[o+1]=r,this.buffer[o+2]=n,this.buffer[o+3]=i}}shift(e,r,n){let i=this.pos;if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=n,this.shiftContext(r,i),r<=this.p.parser.maxNode&&this.buffer.push(r,i,n,4);else{let s=e,{parser:o}=this.p;(n>this.pos||r<=o.maxNode)&&(this.pos=n,o.stateFlag(s,1)||(this.reducePos=n)),this.pushState(s,i),this.shiftContext(r,i),r<=o.maxNode&&this.buffer.push(r,i,n,4)}}apply(e,r,n){e&65536?this.reduce(e):this.shift(e,r,n)}useNode(e,r){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let i=this.pos;this.reducePos=this.pos=i+e.length,this.pushState(r,i),this.buffer.push(n,i,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,r=e.buffer.length;for(;r>0&&e.buffer[r-2]>e.reducePos;)r-=4;let n=e.buffer.slice(r),i=e.bufferBase+r;for(;e&&i==e.bufferBase;)e=e.parent;return new t(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,i,this.curContext,this.lookAhead,e)}recoverByDelete(e,r){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,r,4),this.storeNode(0,this.pos,r,n?8:4),this.pos=this.reducePos=r,this.score-=190}canShift(e){for(let r=new zn(this);;){let n=this.p.parser.stateSlot(r.state,4)||this.p.parser.hasAction(r.state,e);if(!(n&65536))return!0;if(n==0)return!1;r.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let r=this.p.parser.nextStates(this.state);if(r.length>8||this.stack.length>=120){let i=[];for(let s=0,o;s<r.length;s+=2)(o=r[s+1])!=this.state&&this.p.parser.hasAction(o,e)&&i.push(r[s],o);if(this.stack.length<120)for(let s=0;i.length<8&&s<r.length;s+=2){let o=r[s+1];i.some((a,l)=>l&1&&a==o)||i.push(r[s],o)}r=i}let n=[];for(let i=0;i<r.length&&n.length<4;i+=2){let s=r[i+1];if(s==this.state)continue;let o=this.split();o.pushState(s,this.pos),o.storeNode(0,o.pos,o.pos,4,!0),o.shiftContext(r[i],this.pos),o.score-=200,n.push(o)}return n}forceReduce(){let e=this.p.parser.stateSlot(this.state,5);if(!(e&65536))return!1;let{parser:r}=this.p;if(!r.validAction(this.state,e)){let n=e>>19,i=e&65535,s=this.stack.length-n*3;if(s<0||r.getGoto(this.stack[s],i,!1)<0)return!1;this.storeNode(0,this.reducePos,this.reducePos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(e),!0}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let r=0;r<this.stack.length;r+=3)if(this.stack[r]!=e.stack[r])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,r){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(r)))}reduceContext(e,r){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(r)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.reducePos,this.reducePos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.reducePos,this.reducePos,-4)}updateContext(e){if(e!=this.curContext.context){let r=new kr(this.curContext.tracker,e);r.hash!=this.curContext.hash&&this.emitContext(),this.curContext=r}}setLookAhead(e){e>this.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}},kr=class{constructor(e,r){this.tracker=e,this.context=r,this.hash=e.strict?e.hash(r):0}},Vs;(function(t){t[t.Insert=200]="Insert",t[t.Delete=190]="Delete",t[t.Reduce=100]="Reduce",t[t.MaxNext=4]="MaxNext",t[t.MaxInsertStackDepth=300]="MaxInsertStackDepth",t[t.DampenInsertStackDepth=120]="DampenInsertStackDepth"})(Vs||(Vs={}));var zn=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let r=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let i=this.start.p.parser.getGoto(this.stack[this.base-3],r,!0);this.state=i}},Ln=class t{constructor(e,r,n){this.stack=e,this.pos=r,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,r=e.bufferBase+e.buffer.length){return new t(e,r,r-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new t(this.stack,this.pos,this.index)}},gt=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},Is=new gt,Un=class{constructor(e,r){this.input=e,this.ranges=r,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Is,this.rangeIndex=0,this.pos=this.chunkPos=r[0].from,this.range=r[0],this.end=r[r.length-1].to,this.readNext()}resolveOffset(e,r){let n=this.range,i=this.rangeIndex,s=this.pos+e;for(;s<n.from;){if(!i)return null;let o=this.ranges[--i];s-=n.from-o.to,n=o}for(;r<0?s>n.to:s>=n.to;){if(i==this.ranges.length-1)return null;let o=this.ranges[++i];s+=o.from-n.to,n=o}return s}peek(e){let r=this.chunkOff+e,n,i;if(r>=0&&r<this.chunk.length)n=this.pos+e,i=this.chunk.charCodeAt(r);else{let s=this.resolveOffset(e,1);if(s==null)return-1;if(n=s,n>=this.chunk2Pos&&n<this.chunk2Pos+this.chunk2.length)i=this.chunk2.charCodeAt(n-this.chunk2Pos);else{let o=this.rangeIndex,a=this.range;for(;a.to<=n;)a=this.ranges[++o];this.chunk2=this.input.chunk(this.chunk2Pos=n),n+this.chunk2.length>a.to&&(this.chunk2=this.chunk2.slice(0,a.to-n)),i=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),i}acceptToken(e,r=0){let n=r?this.resolveOffset(r,-1):this.pos;if(n==null||n<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=n}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:r}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=r,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),r=this.pos+e.length;this.chunk=r>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,r){if(r?(this.token=r,r.start=e,r.lookAhead=e+1,r.value=r.extended=-1):this.token=Is,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,r){if(e>=this.chunkPos&&r<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,r-this.chunkPos);if(e>=this.chunk2Pos&&r<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,r-this.chunk2Pos);if(e>=this.range.from&&r<=this.range.to)return this.input.read(e,r);let n="";for(let i of this.ranges){if(i.from>=r)break;i.to>e&&(n+=this.input.read(Math.max(i.from,e),Math.min(i.to,r)))}return n}},bt=class{constructor(e,r){this.data=e,this.id=r}token(e,r){oc(this.data,e,r,this.id)}};bt.prototype.contextual=bt.prototype.fallback=bt.prototype.extend=!1;var Ie=class{constructor(e,r={}){this.token=e,this.contextual=!!r.contextual,this.fallback=!!r.fallback,this.extend=!!r.extend}};function oc(t,e,r,n){let i=0,s=1<<n,{parser:o}=r.p,{dialect:a}=o;e:for(;s&t[i];){let l=t[i+1];for(let d=i+3;d<l;d+=2)if((t[d+1]&s)>0){let O=t[d];if(a.allows(O)&&(e.token.value==-1||e.token.value==O||o.overrides(O,e.token.value))){e.acceptToken(O);break}}let c=e.next,p=0,u=t[i+2];if(e.next<0&&u>p&&t[l+u*3-3]==65535){i=t[l+u*3-1];continue e}for(;p<u;){let d=p+u>>1,O=l+d+(d<<1),h=t[O],f=t[O+1];if(c<h)u=d;else if(c>=f)p=d+1;else{i=t[O+2],e.advance();continue e}}break}}function wr(t,e=Uint16Array){if(typeof t!="string")return t;let r=null;for(let n=0,i=0;n<t.length;){let s=0;for(;;){let o=t.charCodeAt(n++),a=!1;if(o==126){s=65535;break}o>=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}r?r[i++]=s:r=new e(s)}return r}var $e=typeof process!="undefined"&&process.env&&/\bparse\b/.test(process.env.LOG),Gn=null,Ms;(function(t){t[t.Margin=25]="Margin"})(Ms||(Ms={}));function Gs(t,e,r){let n=t.cursor(z.IncludeAnonymous);for(n.moveTo(e);;)if(!(r<0?n.childBefore(e):n.childAfter(e)))for(;;){if((r<0?n.to<e:n.from>e)&&!n.type.isError)return r<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(t.length,Math.max(n.from+1,e+25));if(r<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return r<0?0:t.length}}var Nn=class{constructor(e,r){this.fragments=e,this.nodeSet=r,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?Gs(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Gs(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let r=this.trees.length-1;if(r<0)return this.nextFragment(),null;let n=this.trees[r],i=this.index[r];if(i==n.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let s=n.children[i],o=this.start[r]+n.positions[i];if(o>e)return this.nextStart=o,null;if(s instanceof ae){if(o==e){if(o<this.safeFrom)return null;let a=o+s.length;if(a<=this.safeTo){let l=s.prop(j.lookAhead);if(!l||a+l<this.fragment.to)return s}}this.index[r]++,o+s.length>=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[r]++,this.nextStart=o+s.length}}},Fn=class{constructor(e,r){this.stream=r,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new gt)}getActions(e){let r=0,n=null,{parser:i}=e.p,{tokenizers:s}=i,o=i.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;c<s.length;c++){if(!(1<<c&o))continue;let p=s[c],u=this.tokens[c];if(!(n&&!p.fallback)&&((p.contextual||u.start!=e.pos||u.mask!=o||u.context!=a)&&(this.updateCachedToken(u,p,e),u.mask=o,u.context=a),u.lookAhead>u.end+25&&(l=Math.max(u.lookAhead,l)),u.value!=0)){let d=r;if(u.extended>-1&&(r=this.addActions(e,u.extended,u.end,r)),r=this.addActions(e,u.value,u.end,r),!p.extend&&(n=u,r>d))break}}for(;this.actions.length>r;)this.actions.pop();return l&&e.setLookAhead(l),!n&&e.pos==this.stream.end&&(n=new gt,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,r=this.addActions(e,n.value,n.end,r)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let r=new gt,{pos:n,p:i}=e;return r.start=n,r.end=Math.min(n+1,i.stream.end),r.value=n==i.stream.end?i.parser.eofTerm:0,r}updateCachedToken(e,r,n){if(r.token(this.stream.reset(n.pos,e),n),e.value>-1){let{parser:i}=n.p;for(let s=0;s<i.specialized.length;s++)if(i.specialized[s]==e.value){let o=i.specializers[s](this.stream.read(e.start,e.end),n);if(o>=0&&n.p.parser.dialect.allows(o>>1)){o&1?e.extended=o>>1:e.value=o>>1;break}}}else e.value=0,e.end=Math.min(n.p.stream.end,n.pos+1)}putAction(e,r,n,i){for(let s=0;s<i;s+=3)if(this.actions[s]==e)return i;return this.actions[i++]=e,this.actions[i++]=r,this.actions[i++]=n,i}addActions(e,r,n,i){let{state:s}=e,{parser:o}=e.p,{data:a}=o;for(let l=0;l<2;l++)for(let c=o.stateSlot(s,l?2:1);;c+=3){if(a[c]==65535)if(a[c+1]==1)c=Ae(a,c+2);else{i==0&&a[c+1]==2&&(i=this.putAction(Ae(a,c+2),r,n,i));break}a[c]==r&&(i=this.putAction(Ae(a,c+1),r,n,i))}return i}},Bs;(function(t){t[t.Distance=5]="Distance",t[t.MaxRemainingPerStep=3]="MaxRemainingPerStep",t[t.MinBufferLengthPrune=500]="MinBufferLengthPrune",t[t.ForceReduceLimit=10]="ForceReduceLimit",t[t.CutDepth=15e3]="CutDepth",t[t.CutTo=9e3]="CutTo"})(Bs||(Bs={}));var Yn=class{constructor(e,r,n,i){this.parser=e,this.input=r,this.ranges=i,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.stream=new Un(r,i),this.tokens=new Fn(e,this.stream),this.topTerm=e.top[1];let{from:s}=i[0];this.stacks=[Dn.start(this,e.top[0],s)],this.fragments=n.length&&this.stream.end-s>e.bufferLength*4?new Nn(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,r=this.minStackPos,n=this.stacks=[],i,s;for(let o=0;o<e.length;o++){let a=e[o];for(;;){if(this.tokens.mainToken=null,a.pos>r)n.push(a);else{if(this.advanceStack(a,n,e))continue;{i||(i=[],s=[]),i.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!n.length){let o=i&&ac(i);if(o)return this.stackToTree(o);if(this.parser.strict)throw $e&&i&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+r);this.recovering||(this.recovering=5)}if(this.recovering&&i){let o=this.stoppedAt!=null&&i[0].pos>this.stoppedAt?i[0]:this.runRecovery(i,s,n);if(o)return this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(n.length>o)for(n.sort((a,l)=>l.score-a.score);n.length>o;)n.pop();n.some(a=>a.reducePos>r)&&this.recovering--}else if(n.length>1)e:for(let o=0;o<n.length-1;o++){let a=n[o];for(let l=o+1;l<n.length;l++){let c=n[l];if(a.sameState(c)||a.buffer.length>500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)n.splice(l--,1);else{n.splice(o--,1);continue e}}}this.minStackPos=n[0].pos;for(let o=1;o<n.length;o++)n[o].pos<this.minStackPos&&(this.minStackPos=n[o].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,r,n){let i=e.pos,{parser:s}=this,o=$e?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&i>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,p=c?e.curContext.hash:0;for(let u=this.fragments.nodeAt(i);u;){let d=this.parser.nodeSet.types[u.type.id]==u.type?s.getGoto(e.state,u.type.id):-1;if(d>-1&&u.length&&(!c||(u.prop(j.contextHash)||0)==p))return e.useNode(u,d),$e&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(u.type.id)})`),!0;if(!(u instanceof ae)||u.children.length==0||u.positions[0]>0)break;let O=u.children[0];if(O instanceof ae&&u.positions[0]==0)u=O;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),$e&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=15e3)for(;e.stack.length>9e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;c<l.length;){let p=l[c++],u=l[c++],d=l[c++],O=c==l.length||!n,h=O?e:e.split();if(h.apply(p,u,d),$e&&console.log(o+this.stackID(h)+` (via ${p&65536?`reduce of ${s.getName(p&65535)}`:"shift"} for ${s.getName(u)} @ ${i}${h==e?"":", split"})`),O)return!0;h.pos>i?r.push(h):n.push(h)}return!1}advanceFully(e,r){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return Ds(e,r),!0}}runRecovery(e,r,n){let i=null,s=!1;for(let o=0;o<e.length;o++){let a=e[o],l=r[o<<1],c=r[(o<<1)+1],p=$e?this.stackID(a)+" -> ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),$e&&console.log(p+this.stackID(a)+" (restarted)"),this.advanceFully(a,n))))continue;let u=a.split(),d=p;for(let O=0;u.forceReduce()&&O<10&&($e&&console.log(d+this.stackID(u)+" (via force-reduce)"),!this.advanceFully(u,n));O++)$e&&(d=this.stackID(u)+" -> ");for(let O of a.recoverByInsert(l))$e&&console.log(p+this.stackID(O)+" (via recover-insert)"),this.advanceFully(O,n);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),$e&&console.log(p+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),Ds(a,n)):(!i||i.score<a.score)&&(i=a)}return i}stackToTree(e){return e.close(),ae.build({buffer:Ln.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let r=(Gn||(Gn=new WeakMap)).get(e);return r||Gn.set(e,r=String.fromCodePoint(this.nextStackID++)),r+e}};function Ds(t,e){for(let r=0;r<e.length;r++){let n=e[r];if(n.pos==t.pos&&n.sameState(t)){e[r].score<t.score&&(e[r]=t);return}}e.push(t)}var Hn=class{constructor(e,r,n){this.source=e,this.flags=r,this.disabled=n}allows(e){return!this.disabled||this.disabled[e]==0}},Bn=t=>t,Pr=class{constructor(e){this.start=e.start,this.shift=e.shift||Bn,this.reduce=e.reduce||Bn,this.reuse=e.reuse||Bn,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},Er=class t extends Tr{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let r=e.nodeNames.split(" ");this.minRepeatTerm=r.length;for(let a=0;a<e.repeatNodeCount;a++)r.push("");let n=Object.keys(e.topRules).map(a=>e.topRules[a][1]),i=[];for(let a=0;a<r.length;a++)i.push([]);function s(a,l,c){i[a].push([l,l.deserialize(String(c))])}if(e.nodeProps)for(let a of e.nodeProps){let l=a[0];typeof l=="string"&&(l=j[l]);for(let c=1;c<a.length;){let p=a[c++];if(p>=0)s(p,l,a[c++]);else{let u=a[c+-p];for(let d=-p;d>0;d--)s(a[c++],l,u);c++}}}this.nodeSet=new Sr(r.map((a,l)=>de.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:i[l],top:n.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let o=wr(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;a<this.specializerSpecs.length;a++)this.specialized[a]=this.specializerSpecs[a].term;this.specializers=this.specializerSpecs.map(Ls),this.states=wr(e.states,Uint32Array),this.data=wr(e.stateData),this.goto=wr(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(a=>typeof a=="number"?new bt(o,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,r,n){let i=new Yn(this,e,r,n);for(let s of this.wrappers)i=s(i,e,r,n);return i}getGoto(e,r,n=!1){let i=this.goto;if(r>=i[0])return-1;for(let s=i[r+1];;){let o=i[s++],a=o&1,l=i[s++];if(a&&n)return l;for(let c=s+(o>>1);s<c;s++)if(i[s]==e)return l;if(a)return-1}}hasAction(e,r){let n=this.data;for(let i=0;i<2;i++)for(let s=this.stateSlot(e,i?2:1),o;;s+=3){if((o=n[s])==65535)if(n[s+1]==1)o=n[s=Ae(n,s+2)];else{if(n[s+1]==2)return Ae(n,s+2);break}if(o==r||o==0)return Ae(n,s+1)}return 0}stateSlot(e,r){return this.states[e*6+r]}stateFlag(e,r){return(this.stateSlot(e,0)&r)>0}validAction(e,r){if(r==this.stateSlot(e,4))return!0;for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=Ae(this.data,n+2);else return!1;if(r==Ae(this.data,n+1))return!0}}nextStates(e){let r=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=Ae(this.data,n+2);else break;if(!(this.data[n+2]&1)){let i=this.data[n+1];r.some((s,o)=>o&1&&s==i)||r.push(this.data[n],i)}}return r}overrides(e,r){let n=zs(this.data,this.tokenPrecTable,r);return n<0||zs(this.data,this.tokenPrecTable,e)<n}configure(e){let r=Object.assign(Object.create(t.prototype),this);if(e.props&&(r.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);r.top=n}return e.tokenizers&&(r.tokenizers=this.tokenizers.map(n=>{let i=e.tokenizers.find(s=>s.from==n);return i?i.to:n})),e.specializers&&(r.specializers=this.specializers.slice(),r.specializerSpecs=this.specializerSpecs.map((n,i)=>{let s=e.specializers.find(a=>a.from==n.external);if(!s)return n;let o=Object.assign(Object.assign({},n),{external:s.to});return r.specializers[i]=Ls(o),o})),e.contextTracker&&(r.context=e.contextTracker),e.dialect&&(r.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(r.strict=e.strict),e.wrap&&(r.wrappers=r.wrappers.concat(e.wrap)),e.bufferLength!=null&&(r.bufferLength=e.bufferLength),r}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let r=this.dynamicPrecedences;return r==null?0:r[e]||0}parseDialect(e){let r=Object.keys(this.dialects),n=r.map(()=>!1);if(e)for(let s of e.split(" ")){let o=r.indexOf(s);o>=0&&(n[o]=!0)}let i=null;for(let s=0;s<r.length;s++)if(!n[s])for(let o=this.dialects[r[s]],a;(a=this.data[o++])!=65535;)(i||(i=new Uint8Array(this.maxTerm+1)))[a]=1;return new Hn(e,n,i)}static deserialize(e){return new t(e)}};function Ae(t,e){return t[e]|t[e+1]<<16}function zs(t,e,r){for(let n=e,i;(i=t[n])!=65535;n++)if(i==r)return n-e;return-1}function ac(t){let e=null;for(let r of t){let n=r.p.stoppedAt;(r.pos==r.p.stream.end||n!=null&&r.pos>n)&&r.p.parser.stateFlag(r.state,2)&&(!e||e.score<r.score)&&(e=r)}return e}function Ls(t){if(t.external){let e=t.extend?1:0;return(r,n)=>t.external(r,n)<<1|e}return t.get}var $=require("@lezer/highlight"),lc=1,Us=281,Ns=2,cc=3,_r=282,pc=4,uc=283,Fs=284,Oc=286,hc=287,dc=5,fc=6,mc=1,gc=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Hs=125,bc=123,yc=59,Ys=47,xc=42,Qc=43,Sc=45,$c=36,vc=96,Tc=92,wc=new Pr({start:!1,shift(t,e){return e==dc||e==fc||e==Oc?t:e==hc},strict:!1}),kc=new Ie((t,e)=>{let{next:r}=t;(r==Hs||r==-1||e.context)&&e.canShift(Fs)&&t.acceptToken(Fs)},{contextual:!0,fallback:!0}),Pc=new Ie((t,e)=>{let{next:r}=t,n;gc.indexOf(r)>-1||r==Ys&&((n=t.peek(1))==Ys||n==xc)||r!=Hs&&r!=yc&&r!=-1&&!e.context&&e.canShift(Us)&&t.acceptToken(Us)},{contextual:!0}),Ec=new Ie((t,e)=>{let{next:r}=t;if((r==Qc||r==Sc)&&(t.advance(),r==t.next)){t.advance();let n=!e.context&&e.canShift(Ns);t.acceptToken(n?Ns:cc)}},{contextual:!0}),_c=new Ie(t=>{for(let e=!1,r=0;;r++){let{next:n}=t;if(n<0){r&&t.acceptToken(_r);break}else if(n==vc){r?t.acceptToken(_r):t.acceptToken(uc,1);break}else if(n==bc&&e){r==1?t.acceptToken(pc,1):t.acceptToken(_r,-1);break}else if(n==10&&r){t.advance(),t.acceptToken(_r);break}else n==Tc&&t.advance();e=n==$c,t.advance()}}),Cc=new Ie((t,e)=>{if(!(t.next!=101||!e.dialectEnabled(mc))){t.advance();for(let r=0;r<6;r++){if(t.next!="xtends".charCodeAt(r))return;t.advance()}t.next>=57&&t.next<=65||t.next>=48&&t.next<=90||t.next==95||t.next>=97&&t.next<=122||t.next>160||t.acceptToken(lc)}}),Rc=(0,$.styleTags)({"get set async static":$.tags.modifier,"for while do if else switch try catch finally return throw break continue default case":$.tags.controlKeyword,"in of await yield void typeof delete instanceof":$.tags.operatorKeyword,"let var const function class extends":$.tags.definitionKeyword,"import export from":$.tags.moduleKeyword,"with debugger as new":$.tags.keyword,TemplateString:$.tags.special($.tags.string),super:$.tags.atom,BooleanLiteral:$.tags.bool,this:$.tags.self,null:$.tags.null,Star:$.tags.modifier,VariableName:$.tags.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":$.tags.function($.tags.variableName),VariableDefinition:$.tags.definition($.tags.variableName),Label:$.tags.labelName,PropertyName:$.tags.propertyName,PrivatePropertyName:$.tags.special($.tags.propertyName),"CallExpression/MemberExpression/PropertyName":$.tags.function($.tags.propertyName),"FunctionDeclaration/VariableDefinition":$.tags.function($.tags.definition($.tags.variableName)),"ClassDeclaration/VariableDefinition":$.tags.definition($.tags.className),PropertyDefinition:$.tags.definition($.tags.propertyName),PrivatePropertyDefinition:$.tags.definition($.tags.special($.tags.propertyName)),UpdateOp:$.tags.updateOperator,LineComment:$.tags.lineComment,BlockComment:$.tags.blockComment,Number:$.tags.number,String:$.tags.string,ArithOp:$.tags.arithmeticOperator,LogicOp:$.tags.logicOperator,BitOp:$.tags.bitwiseOperator,CompareOp:$.tags.compareOperator,RegExp:$.tags.regexp,Equals:$.tags.definitionOperator,Arrow:$.tags.function($.tags.punctuation),": Spread":$.tags.punctuation,"( )":$.tags.paren,"[ ]":$.tags.squareBracket,"{ }":$.tags.brace,"InterpolationStart InterpolationEnd":$.tags.special($.tags.brace),".":$.tags.derefOperator,", ;":$.tags.separator,TypeName:$.tags.typeName,TypeDefinition:$.tags.definition($.tags.typeName),"type enum interface implements namespace module declare":$.tags.definitionKeyword,"abstract global Privacy readonly override":$.tags.modifier,"is keyof unique infer":$.tags.operatorKeyword,JSXAttributeValue:$.tags.attributeValue,JSXText:$.tags.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":$.tags.angleBracket,"JSXIdentifier JSXNameSpacedName":$.tags.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":$.tags.attributeName}),Ac={__proto__:null,export:18,as:23,from:29,default:32,async:37,function:38,this:48,true:56,false:56,void:66,typeof:70,null:86,super:88,new:122,await:139,yield:141,delete:142,class:152,extends:154,public:197,private:197,protected:197,readonly:199,instanceof:220,in:222,const:224,import:256,keyof:307,unique:311,infer:317,is:351,abstract:371,implements:373,type:375,let:378,var:380,interface:387,enum:391,namespace:397,module:399,declare:403,global:407,for:428,of:437,while:440,with:444,do:448,if:452,else:454,switch:458,case:464,try:470,catch:474,finally:478,return:482,throw:486,break:490,continue:494,debugger:498},qc={__proto__:null,async:109,get:111,set:113,public:161,private:161,protected:161,static:163,abstract:165,override:167,readonly:173,new:355},jc={__proto__:null,"<":129},Ks=Er.deserialize({version:14,states:"$8SO`QdOOO'QQ(C|O'#ChO'XOWO'#DVO)dQdO'#D]O)tQdO'#DhO){QdO'#DrO-xQdO'#DxOOQO'#E]'#E]O.]Q`O'#E[O.bQ`O'#E[OOQ(C['#Ef'#EfO0aQ(C|O'#ItO2wQ(C|O'#IuO3eQ`O'#EzO3jQ!bO'#FaOOQ(C['#FS'#FSO3rO#tO'#FSO4QQ&jO'#FhO5bQ`O'#FgOOQ(C['#Iu'#IuOOQ(CW'#It'#ItOOQS'#J^'#J^O5gQ`O'#HpO5lQ(ChO'#HqOOQS'#Ih'#IhOOQS'#Hr'#HrQ`QdOOO){QdO'#DjO5tQ`O'#G[O5yQ&jO'#CmO6XQ`O'#EZO6dQ`O'#EgO6iQ,UO'#FRO7TQ`O'#G[O7YQ`O'#G`O7eQ`O'#G`O7sQ`O'#GcO7sQ`O'#GdO7sQ`O'#GfO5tQ`O'#GiO8dQ`O'#GlO9rQ`O'#CdO:SQ`O'#GyO:[Q`O'#HPO:[Q`O'#HRO`QdO'#HTO:[Q`O'#HVO:[Q`O'#HYO:aQ`O'#H`O:fQ(CjO'#HfO){QdO'#HhO:qQ(CjO'#HjO:|Q(CjO'#HlO5lQ(ChO'#HnO){QdO'#DWOOOW'#Ht'#HtO;XOWO,59qOOQ(C[,59q,59qO=jQtO'#ChO=tQdO'#HuO>XQ`O'#IvO@WQtO'#IvO'dQdO'#IvO@_Q`O,59wO@uQ7[O'#DbOAnQ`O'#E]OA{Q`O'#JROBWQ`O'#JQOBWQ`O'#JQOB`Q`O,5:yOBeQ`O'#JPOBlQaO'#DyO5yQ&jO'#EZOBzQ`O'#EZOCVQpO'#FROOQ(C[,5:S,5:SOC_QdO,5:SOE]Q(C|O,5:^OEyQ`O,5:dOFdQ(ChO'#JOO7YQ`O'#I}OFkQ`O'#I}OFsQ`O,5:xOFxQ`O'#I}OGWQdO,5:vOIWQ&jO'#EWOJeQ`O,5:vOKwQ&jO'#DlOLOQdO'#DqOLYQ7[O,5;PO){QdO,5;POOQS'#Er'#ErOOQS'#Et'#EtO){QdO,5;RO){QdO,5;RO){QdO,5;RO){QdO,5;RO){QdO,5;RO){QdO,5;RO){QdO,5;RO){QdO,5;RO){QdO,5;RO){QdO,5;RO){QdO,5;ROOQS'#Ex'#ExOLbQdO,5;cOOQ(C[,5;h,5;hOOQ(C[,5;i,5;iONbQ`O,5;iOOQ(C[,5;j,5;jO){QdO'#IPONgQ(ChO,5<TO! RQ&jO,5;RO){QdO,5;fO! kQ!bO'#JVO! YQ!bO'#JVO! rQ!bO'#JVO!!TQ!bO,5;qOOOO,5;{,5;{O!!cQdO'#FcOOOO'#IO'#IOO3rO#tO,5;nO!!jQ!bO'#FeOOQ(C[,5;n,5;nO!#WQ,VO'#CrOOQ(C]'#Cu'#CuO!#kQ`O'#CuO!#pOWO'#CyO!$^Q,VO,5<QO!$eQ`O,5<SO!%tQ&jO'#FrO!&RQ`O'#FsO!&WQ`O'#FsO!&]Q&jO'#FwO!'[Q7[O'#F{O!'}Q,VO'#IqOOQ(C]'#Iq'#IqO!(XQaO'#IpO!(gQ`O'#IoO!(oQ`O'#CqOOQ(C]'#Cs'#CsOOQ(C]'#C|'#C|O!(wQ`O'#DOOJjQ&jO'#FjOJjQ&jO'#FlO!(|Q`O'#FnO!)RQ`O'#FoO!&WQ`O'#FuOJjQ&jO'#FzO!)WQ`O'#E^O!)oQ`O,5<RO`QdO,5>[OOQS'#Ik'#IkOOQS,5>],5>]OOQS-E;p-E;pO!+kQ(C|O,5:UOOQ(CX'#Cp'#CpO!,[Q&kO,5<vOOQO'#Cf'#CfO!,mQ(ChO'#IlO5bQ`O'#IlO:aQ`O,59XO!-OQ!bO,59XO!-WQ&jO,59XO5yQ&jO,59XO!-cQ`O,5:vO!-kQ`O'#GxO!-yQ`O'#JbO){QdO,5;kO!.RQ7[O,5;mO!.WQ`O,5=cO!.]Q`O,5=cO!.bQ`O,5=cO5lQ(ChO,5=cO5tQ`O,5<vO!.pQ`O'#E_O!/UQ7[O'#E`OOQ(CW'#JP'#JPO!/gQ(ChO'#J_O5lQ(ChO,5<zO7sQ`O,5=QOOQP'#Cr'#CrO!/rQ!bO,5<}O!/zQ!cO,5=OO!0VQ`O,5=QO!0[QpO,5=TO:aQ`O'#GnO5tQ`O'#GpO!0dQ`O'#GpO5yQ&jO'#GsO!0iQ`O'#GsOOQS,5=W,5=WO!0nQ`O'#GtO!0vQ`O'#CmO!0{Q`O,59OO!1VQ`O,59OO!3XQdO,59OOOQS,59O,59OO!3fQ(ChO,59OO){QdO,59OO!3qQdO'#G{OOQS'#G|'#G|OOQS'#G}'#G}O`QdO,5=eO!4RQ`O,5=eO){QdO'#DxO`QdO,5=kO`QdO,5=mO!4WQ`O,5=oO`QdO,5=qO!4]Q`O,5=tO!4bQdO,5=zOOQS,5>Q,5>QO){QdO,5>QO5lQ(ChO,5>SOOQS,5>U,5>UO!8cQ`O,5>UOOQS,5>W,5>WO!8cQ`O,5>WOOQS,5>Y,5>YO!8hQpO,59rOOOW-E;r-E;rOOQ(C[1G/]1G/]O!8mQtO,5>aO'dQdO,5>aOOQO,5>f,5>fO!8wQdO'#HuOOQO-E;s-E;sO!9UQ`O,5?bO!9^QtO,5?bO!9eQ`O,5?lOOQ(C[1G/c1G/cO!9mQ!bO'#DTOOQO'#Ix'#IxO){QdO'#IxO!:[Q!bO'#IxO!:yQ!bO'#DcO!;[Q7[O'#DcO!=gQdO'#DcO!=nQ`O'#IwO!=vQ`O,59|O!={Q`O'#EaO!>ZQ`O'#JSO!>cQ`O,5:zO!>yQ7[O'#DcO){QdO,5?mO!?TQ`O'#HzOOQO-E;x-E;xO!9eQ`O,5?lOOQ(CW1G0e1G0eO!@aQ7[O'#D|OOQ(C[,5:e,5:eO){QdO,5:eOIWQ&jO,5:eO!@hQaO,5:eO:aQ`O,5:uO!-OQ!bO,5:uO!-WQ&jO,5:uO5yQ&jO,5:uOOQ(C[1G/n1G/nOOQ(C[1G0O1G0OOOQ(CW'#EV'#EVO){QdO,5?jO!@sQ(ChO,5?jO!AUQ(ChO,5?jO!A]Q`O,5?iO!AeQ`O'#H|O!A]Q`O,5?iOOQ(CW1G0d1G0dO7YQ`O,5?iOOQ(C[1G0b1G0bO!BPQ(C|O1G0bO!CRQ(CyO,5:rOOQ(C]'#Fq'#FqO!CoQ(C}O'#IqOGWQdO1G0bO!EqQ,VO'#IyO!E{Q`O,5:WO!FQQtO'#IzO){QdO'#IzO!F[Q`O,5:]OOQ(C]'#DT'#DTOOQ(C[1G0k1G0kO!FaQ`O1G0kO!HrQ(C|O1G0mO!HyQ(C|O1G0mO!K^Q(C|O1G0mO!KeQ(C|O1G0mO!MlQ(C|O1G0mO!NPQ(C|O1G0mO#!pQ(C|O1G0mO#!wQ(C|O1G0mO#%[Q(C|O1G0mO#%cQ(C|O1G0mO#'WQ(C|O1G0mO#*QQMlO'#ChO#+{QMlO1G0}O#-vQMlO'#IuOOQ(C[1G1T1G1TO#.ZQ(C|O,5>kOOQ(CW-E;}-E;}O#.zQ(C}O1G0mOOQ(C[1G0m1G0mO#1PQ(C|O1G1QO#1pQ!bO,5;sO#1uQ!bO,5;tO#1zQ!bO'#F[O#2`Q`O'#FZOOQO'#JW'#JWOOQO'#H}'#H}O#2eQ!bO1G1]OOQ(C[1G1]1G1]OOOO1G1f1G1fO#2sQMlO'#ItO#2}Q`O,5;}OLbQdO,5;}OOOO-E;|-E;|OOQ(C[1G1Y1G1YOOQ(C[,5<P,5<PO#3SQ!bO,5<POOQ(C],59a,59aOIWQ&jO'#C{OOOW'#Hs'#HsO#3XOWO,59eOOQ(C],59e,59eO){QdO1G1lO!)RQ`O'#IRO#3dQ`O,5<eOOQ(C],5<b,5<bOOQO'#GV'#GVOJjQ&jO,5<pOOQO'#GX'#GXOJjQ&jO,5<rOIWQ&jO,5<tOOQO1G1n1G1nO#3oQqO'#CpO#4SQqO,5<^O#4ZQ`O'#JZO5tQ`O'#JZO#4iQ`O,5<`OJjQ&jO,5<_O#4nQ`O'#FtO#4yQ`O,5<_O#5OQqO'#FqO#5]QqO'#J[O#5gQ`O'#J[OIWQ&jO'#J[O#5lQ`O,5<cOOQ(CW'#Dg'#DgO#5qQ!bO'#F|O!'VQ7[O'#F|O!'VQ7[O'#GOO#6SQ`O'#GPO!&WQ`O'#GSO#6XQ(ChO'#ITO#6dQ7[O,5<gOOQ(C],5<g,5<gO#6kQ7[O'#F|O#6yQ7[O'#F}O#7RQ7[O'#F}OOQ(C],5<u,5<uOJjQ&jO,5?[OJjQ&jO,5?[O#7WQ`O'#IUO#7cQ`O,5?ZO#7kQ`O,59]OOQ(C]'#Ch'#ChO#8[Q,VO,59jOOQ(C],59j,59jO#8}Q,VO,5<UO#9pQ,VO,5<WO#9zQ`O,5<YOOQ(C],5<Z,5<ZO#:PQ`O,5<aO#:UQ,VO,5<fOGWQdO1G1mO#:fQ`O1G1mOOQS1G3v1G3vOOQ(C[1G/p1G/pONbQ`O1G/pOOQS1G2b1G2bOIWQ&jO1G2bO){QdO1G2bOIWQ&jO1G2bO#:kQaO1G2bO#<QQ&jO'#EWOOQ(CW,5?W,5?WO#<[Q(ChO,5?WOOQS1G.s1G.sO:aQ`O1G.sO!-OQ!bO1G.sO!-WQ&jO1G.sO#<mQ`O1G0bO#<rQ`O'#ChO#<}Q`O'#JcO#=VQ`O,5=dO#=[Q`O'#JcO#=aQ`O'#JcO#=iQ`O'#I^O#=wQ`O,5?|O#>PQtO1G1VOOQ(C[1G1X1G1XO5tQ`O1G2}O#>WQ`O1G2}O#>]Q`O1G2}O#>bQ`O1G2}OOQS1G2}1G2}O#>gQ&kO1G2bO7YQ`O'#JQO7YQ`O'#EaO7YQ`O'#IWO#>xQ(ChO,5?yOOQS1G2f1G2fO!0VQ`O1G2lOIWQ&jO1G2iO#?TQ`O1G2iOOQS1G2j1G2jOIWQ&jO1G2jO#?YQaO1G2jO#?bQ7[O'#GhOOQS1G2l1G2lO!'VQ7[O'#IYO!0[QpO1G2oOOQS1G2o1G2oOOQS,5=Y,5=YO#?jQ&kO,5=[O5tQ`O,5=[O#6SQ`O,5=_O5bQ`O,5=_O!-OQ!bO,5=_O!-WQ&jO,5=_O5yQ&jO,5=_O#?{Q`O'#JaO#@WQ`O,5=`OOQS1G.j1G.jO#@]Q(ChO1G.jO#@hQ`O1G.jO#@mQ`O1G.jO5lQ(ChO1G.jO#@uQtO,5@OO#APQ`O,5@OO#A[QdO,5=gO#AcQ`O,5=gO7YQ`O,5@OOOQS1G3P1G3PO`QdO1G3POOQS1G3V1G3VOOQS1G3X1G3XO:[Q`O1G3ZO#AhQdO1G3]O#EcQdO'#H[OOQS1G3`1G3`O#EpQ`O'#HbO:aQ`O'#HdOOQS1G3f1G3fO#ExQdO1G3fO5lQ(ChO1G3lOOQS1G3n1G3nOOQ(CW'#Fx'#FxO5lQ(ChO1G3pO5lQ(ChO1G3rOOOW1G/^1G/^O#IvQpO,5<TO#JOQtO1G3{OOQO1G4Q1G4QO){QdO,5>aO#JYQ`O1G4|O#JbQ`O1G5WO#JjQ`O,5?dOLbQdO,5:{O7YQ`O,5:{O:aQ`O,59}OLbQdO,59}O!-OQ!bO,59}O#JoQMlO,59}OOQO,5:{,5:{O#JyQ7[O'#HvO#KaQ`O,5?cOOQ(C[1G/h1G/hO#KiQ7[O'#H{O#K}Q`O,5?nOOQ(CW1G0f1G0fO!;[Q7[O,59}O#LVQtO1G5XO7YQ`O,5>fOOQ(CW'#ES'#ESO#LaQ(DjO'#ETO!@XQ7[O'#D}OOQO'#Hy'#HyO#L{Q7[O,5:hOOQ(C[,5:h,5:hO#MSQ7[O'#D}O#MeQ7[O'#D}O#MlQ7[O'#EYO#MoQ7[O'#ETO#M|Q7[O'#ETO!@XQ7[O'#ETO#NaQ`O1G0PO#NfQqO1G0POOQ(C[1G0P1G0PO){QdO1G0POIWQ&jO1G0POOQ(C[1G0a1G0aO:aQ`O1G0aO!-OQ!bO1G0aO!-WQ&jO1G0aO#NmQ(C|O1G5UO){QdO1G5UO#N}Q(ChO1G5UO$ `Q`O1G5TO7YQ`O,5>hOOQO,5>h,5>hO$ hQ`O,5>hOOQO-E;z-E;zO$ `Q`O1G5TO$ vQ(C}O,59jO$#xQ(C}O,5<UO$%}Q(C}O,5<WO$(SQ(C}O,5<fOOQ(C[7+%|7+%|O$*_Q(C|O7+%|O$+OQ&jO'#HwO$+YQ`O,5?eOOQ(C]1G/r1G/rO$+bQdO'#HxO$+oQ`O,5?fO$+wQtO,5?fOOQ(C[1G/w1G/wOOQ(C[7+&V7+&VO$,RQMlO,5:^O){QdO7+&iO$,]QMlO,5:UOOQO1G1_1G1_OOQO1G1`1G1`O$,jQ!LQO,5;vOLbQdO,5;uOOQO-E;{-E;{OOQ(C[7+&w7+&wOOOO7+'Q7+'QOOOO1G1i1G1iO$,uQ`O1G1iOOQ(C[1G1k1G1kO$,zQqO,59gOOOW-E;q-E;qOOQ(C]1G/P1G/PO$-RQ(C|O7+'WOOQ(C],5>m,5>mO$-rQ`O,5>mOOQ(C]1G2P1G2PP$-wQ`O'#IRPOQ(C]-E<P-E<PO$.hQ,VO1G2[O$/ZQ,VO1G2^O$/eQqO1G2`OOQ(C]1G1x1G1xO$/lQ`O'#IQO$/zQ`O,5?uO$/zQ`O,5?uO$0SQ`O,5?uO$0_Q`O,5?uOOQO1G1z1G1zO$0mQ,VO1G1yOJjQ&jO1G1yO$0}Q&jO'#ISO$1_Q`O,5?vOIWQ&jO,5?vO$1gQqO,5?vOOQ(C]1G1}1G1}OOQ(CW,5<h,5<hOOQ(CW,5<i,5<iO$1qQ`O,5<iO#5}Q`O,5<iO!-OQ!bO,5<hO$1vQ`O,5<jOOQ(CW,5<k,5<kO$1qQ`O,5<nOOQO,5>o,5>oOOQO-E<R-E<ROOQ(C]1G2R1G2RO!'VQ7[O,5<hO$2OQ`O,5<iO!'VQ7[O,5<jO!'VQ7[O,5<iO$2ZQ,VO1G4vO$2eQ,VO1G4vOOQO,5>p,5>pOOQO-E<S-E<SOOQP1G.w1G.wO!.RQ7[O,59lO){QdO,59lO$2rQ`O1G1tOJjQ&jO1G1{O$2wQ(C|O7+'XOOQ(C[7+'X7+'XOGWQdO7+'XOOQ(C[7+%[7+%[O$3hQqO'#J]O#NaQ`O7+'|O$3rQ`O7+'|O$3zQqO7+'|OOQS7+'|7+'|OIWQ&jO7+'|O){QdO7+'|OIWQ&jO7+'|O$4UQ(CyO'#ChO$4iQ(CyO,5<lO$5ZQ`O,5<lOOQ(CW1G4r1G4rOOQS7+$_7+$_O:aQ`O7+$_O!-OQ!bO7+$_OGWQdO7+%|O$5`Q`O'#I]O$5qQ`O,5?}OOQO1G3O1G3OO5tQ`O,5?}O$5qQ`O,5?}O$5yQ`O,5?}OOQO,5>x,5>xOOQO-E<[-E<[OOQ(C[7+&q7+&qO$6OQ`O7+(iO5lQ(ChO7+(iO5tQ`O7+(iO$6TQ`O7+(iO$6YQaO7+'|OOQ(CW,5>r,5>rOOQ(CW-E<U-E<UOOQS7+(W7+(WO$6hQ(CyO7+(TOIWQ&jO7+(TO$6rQqO7+(UOOQS7+(U7+(UOIWQ&jO7+(UO$6yQ`O'#J`O$7UQ`O,5=SOOQO,5>t,5>tOOQO-E<W-E<WOOQS7+(Z7+(ZO$8OQ7[O'#GqOOQS1G2v1G2vOIWQ&jO1G2vO){QdO1G2vOIWQ&jO1G2vO$8VQaO1G2vO$8eQ&kO1G2vO5lQ(ChO1G2yO#6SQ`O1G2yO5bQ`O1G2yO!-OQ!bO1G2yO!-WQ&jO1G2yO$8vQ`O'#I[O$9RQ`O,5?{O$9ZQ7[O,5?{OOQ(CW1G2z1G2zOOQS7+$U7+$UO$9cQ`O7+$UO5lQ(ChO7+$UO$9hQ`O7+$UO){QdO1G5jO){QdO1G5kO$9mQdO1G3RO$9tQ`O1G3RO$9yQdO1G3RO$:QQ(ChO1G5jOOQS7+(k7+(kO5lQ(ChO7+(uO`QdO7+(wOOQS'#Jf'#JfOOQS'#I_'#I_O$:[QdO,5=vOOQS,5=v,5=vO){QdO'#H]O$:iQ`O'#H_OOQS,5=|,5=|O7YQ`O,5=|OOQS,5>O,5>OOOQS7+)Q7+)QOOQS7+)W7+)WOOQS7+)[7+)[OOQS7+)^7+)^OOQO1G5O1G5OO$:nQMlO1G0gO$:xQ`O1G0gOOQO1G/i1G/iO$;TQMlO1G/iO:aQ`O1G/iOLbQdO'#DcOOQO,5>b,5>bOOQO-E;t-E;tOOQO,5>g,5>gOOQO-E;y-E;yO!-OQ!bO1G/iO:aQ`O,5:iOOQO,5:o,5:oO){QdO,5:oO$;_Q(ChO,5:oO$;jQ(ChO,5:oO!-OQ!bO,5:iOOQO-E;w-E;wOOQ(C[1G0S1G0SO!@XQ7[O,5:iO$;xQ7[O,5:iO$<ZQ(DjO,5:oO$<uQ7[O,5:iO!@XQ7[O,5:oOOQO,5:t,5:tO$<|Q7[O,5:oO$=ZQ(ChO,5:oOOQ(C[7+%k7+%kO#NaQ`O7+%kO#NfQqO7+%kOOQ(C[7+%{7+%{O:aQ`O7+%{O!-OQ!bO7+%{O$=oQ(C|O7+*pO){QdO7+*pOOQO1G4S1G4SO7YQ`O1G4SO$>PQ`O7+*oO$>XQ(C}O1G2[O$@^Q(C}O1G2^O$BcQ(C}O1G1yO$DnQ,VO,5>cOOQO-E;u-E;uO$DxQtO,5>dO){QdO,5>dOOQO-E;v-E;vO$ESQ`O1G5QO$E[QMlO1G0bO$GcQMlO1G0mO$GjQMlO1G0mO$IkQMlO1G0mO$IrQMlO1G0mO$KgQMlO1G0mO$KzQMlO1G0mO$NXQMlO1G0mO$N`QMlO1G0mO%!aQMlO1G0mO%!hQMlO1G0mO%$]QMlO1G0mO%$pQ(C|O<<JTO%%rQMmO1G0mO%'|QMmO'#IqO%)iQMlO1G1QOLbQdO'#F^OOQO'#JX'#JXOOQO1G1b1G1bO%)vQ`O1G1aO%){QMlO,5>kOOOO7+'T7+'TOOOW1G/R1G/ROOQ(C]1G4X1G4XOJjQ&jO7+'zO%*VQ`O,5>lO5tQ`O,5>lOOQO-E<O-E<OO%*eQ`O1G5aO%*eQ`O1G5aO%*mQ`O1G5aO%*xQ,VO7+'eO%+YQqO,5>nO%+dQ`O,5>nOIWQ&jO,5>nOOQO-E<Q-E<QO%+iQqO1G5bO%+sQ`O1G5bOOQ(CW1G2T1G2TO$1qQ`O1G2TOOQ(CW1G2S1G2SO%+{Q`O1G2UOIWQ&jO1G2UOOQ(CW1G2Y1G2YO!-OQ!bO1G2SO#5}Q`O1G2TO%,QQ`O1G2UO%,YQ`O1G2TOJjQ&jO7+*bOOQ(C]1G/W1G/WO%,eQ`O1G/WOOQ(C]7+'`7+'`O%,jQ,VO7+'gO%,zQ(C|O<<JsOOQ(C[<<Js<<JsOIWQ&jO'#IVO%-kQ`O,5?wOOQS<<Kh<<KhOIWQ&jO<<KhO#NaQ`O<<KhO%-sQ`O<<KhO%-{QqO<<KhOIWQ&jO1G2WOOQS<<Gy<<GyO:aQ`O<<GyO%.VQ(C|O<<IhOOQ(C[<<Ih<<IhOOQO,5>w,5>wO%.vQ`O,5>wO%.{Q`O,5>wOOQO-E<Z-E<ZO%/TQ`O1G5iO%/TQ`O1G5iO5tQ`O1G5iO%/]Q`O<<LTOOQS<<LT<<LTO%/bQ`O<<LTO5lQ(ChO<<LTO){QdO<<KhOIWQ&jO<<KhOOQS<<Ko<<KoO$6hQ(CyO<<KoOOQS<<Kp<<KpO$6rQqO<<KpO%/gQ7[O'#IXO%/rQ`O,5?zOLbQdO,5?zOOQS1G2n1G2nO#LaQ(DjO'#ETO!@XQ7[O'#GrOOQO'#IZ'#IZO%/zQ7[O,5=]OOQS,5=],5=]O%0RQ7[O'#ETO%0^Q7[O'#ETO%0uQ7[O'#ETO%1PQ7[O'#GrO%1bQ`O7+(bO%1gQ`O7+(bO%1oQqO7+(bOOQS7+(b7+(bOIWQ&jO7+(bO){QdO7+(bOIWQ&jO7+(bO%1yQaO7+(bOOQS7+(e7+(eO5lQ(ChO7+(eO#6SQ`O7+(eO5bQ`O7+(eO!-OQ!bO7+(eO%2XQ`O,5>vOOQO-E<Y-E<YOOQO'#Gu'#GuO%2dQ`O1G5gO5lQ(ChO<<GpOOQS<<Gp<<GpO%2lQ`O<<GpO%2qQ`O7++UO%2vQ`O7++VOOQS7+(m7+(mO%2{Q`O7+(mO%3QQdO7+(mO%3XQ`O7+(mO){QdO7++UO){QdO7++VOOQS<<La<<LaOOQS<<Lc<<LcOOQS-E<]-E<]OOQS1G3b1G3bO%3^Q`O,5=wOOQS,5=y,5=yO%3cQ`O1G3hOLbQdO7+&ROOQO7+%T7+%TO%3hQMlO1G5XO:aQ`O7+%TOOQO1G0T1G0TO%3rQ(C|O1G0ZOOQO1G0Z1G0ZO){QdO1G0ZO%3|Q(ChO1G0ZO:aQ`O1G0TO!-OQ!bO1G0TO!@XQ7[O1G0TO%4XQ(ChO1G0ZO%4gQ7[O1G0TO%4xQ(ChO1G0ZO%5^Q(DjO1G0ZO%5hQ7[O1G0TO!@XQ7[O1G0ZOOQ(C[<<IV<<IVOOQ(C[<<Ig<<IgO:aQ`O<<IgO%5oQ(C|O<<N[OOQO7+)n7+)nO%6PQ(C}O7+'eO%8[Q(C}O7+'gO%:gQtO1G4OO%:qQMlO7+%|O%;gQMmO,59jO%=hQMmO,5<UO%?lQMmO,5<WO%A[QMmO,5<fO%B}QMlO7+'WO%C[QMlO7+'XO%CiQ`O,5;xOOQO7+&{7+&{O%CnQ,VO<<KfOOQO1G4W1G4WO%CuQ`O1G4WO%DQQ`O1G4WO%D`Q`O7+*{O%D`Q`O7+*{OIWQ&jO1G4YO%DhQqO1G4YO%DrQ`O7+*|OOQ(CW7+'o7+'oO$1qQ`O7+'pO%DzQqO7+'pOOQ(CW7+'n7+'nO$1qQ`O7+'oO%ERQ`O7+'pOIWQ&jO7+'pO#5}Q`O7+'oO%EWQ,VO<<M|OOQ(C]7+$r7+$rO%EbQqO,5>qOOQO-E<T-E<TO#NaQ`OANASOOQSANASANASOIWQ&jOANASO%ElQ(CyO7+'rOOQSAN=eAN=eO5tQ`O1G4cOOQO1G4c1G4cO%E|Q`O1G4cO%FRQ`O7++TO%FRQ`O7++TO5lQ(ChOANAoO%FZQ`OANAoOOQSANAoANAoO%F`Q`OANASO%FhQqOANASOOQSANAZANAZOOQSANA[ANA[O%FrQ`O,5>sOOQO-E<V-E<VO%F}QMlO1G5fO#6SQ`O,5=^O5bQ`O,5=^O!-OQ!bO,5=^OOQO-E<X-E<XOOQS1G2w1G2wO$<ZQ(DjO,5:oO!@XQ7[O,5=^O%GXQ7[O,5=^O%GjQ7[O,5:oOOQS<<K|<<K|OIWQ&jO<<K|O%1bQ`O<<K|O%GtQ`O<<K|O%G|QqO<<K|O){QdO<<K|OIWQ&jO<<K|OOQS<<LP<<LPO5lQ(ChO<<LPO#6SQ`O<<LPO5bQ`O<<LPO%HWQ7[O1G4bO%H`Q`O7++ROOQSAN=[AN=[O5lQ(ChOAN=[OOQS<<Np<<NpOOQS<<Nq<<NqOOQS<<LX<<LXO%HhQ`O<<LXO%HmQdO<<LXO%HtQ`O<<NpO%HyQ`O<<NqOOQS1G3c1G3cO:aQ`O7+)SO%IOQMlO<<ImOOQO<<Ho<<HoOOQO7+%u7+%uO%3rQ(C|O7+%uO){QdO7+%uOOQO7+%o7+%oO:aQ`O7+%oO!-OQ!bO7+%oO%IYQ(ChO7+%uO!@XQ7[O7+%oO%IeQ(ChO7+%uO%IsQ7[O7+%oO%JUQ(ChO7+%uOOQ(C[AN?RAN?RO%JjQMlO<<JTO%JwQMmO1G1yO%MOQMmO1G2[O& SQMmO1G2^O&!rQMlO<<JsO&#PQMlO<<IhOOQO1G1d1G1dOJjQ&jOANAQOOQO7+)r7+)rO&#^Q`O7+)rO&#iQ`O<<NgO&#qQqO7+)tOOQ(CW<<K[<<K[O$1qQ`O<<K[OOQ(CW<<KZ<<KZO&#{QqO<<K[O$1qQ`O<<KZOOQSG26nG26nO#NaQ`OG26nOOQO7+)}7+)}O5tQ`O7+)}O&$SQ`O<<NoOOQSG27ZG27ZO5lQ(ChOG27ZOIWQ&jOG26nOLbQdO1G4_O&$[Q`O7++QO5lQ(ChO1G2xO#6SQ`O1G2xO5bQ`O1G2xO!-OQ!bO1G2xO!@XQ7[O1G2xO%5^Q(DjO1G0ZO&$dQ7[O1G2xO%1bQ`OANAhOOQSANAhANAhOIWQ&jOANAhO&$uQ`OANAhO&$}QqOANAhOOQSANAkANAkO5lQ(ChOANAkO#6SQ`OANAkOOQO'#Gv'#GvOOQO7+)|7+)|OOQSG22vG22vOOQSANAsANAsO&%XQ`OANAsOOQSAND[AND[OOQSAND]AND]OOQS<<Ln<<LnOOQO<<Ia<<IaO%3rQ(C|O<<IaOOQO<<IZ<<IZO:aQ`O<<IZO){QdO<<IaO!-OQ!bO<<IZO&%^Q(ChO<<IaO!@XQ7[O<<IZO&%iQ(ChO<<IaO&%wQMmO7+'eO&'jQMmO7+'gO&)]Q,VOG26lOOQO<<M^<<M^OOQ(CWAN@vAN@vO$1qQ`OAN@vOOQ(CWAN@uAN@uOOQSLD,YLD,YOOQO<<Mi<<MiOOQSLD,uLD,uO#NaQ`OLD,YO&)mQMlO7+)yOOQO7+(d7+(dO5lQ(ChO7+(dO#6SQ`O7+(dO5bQ`O7+(dO!-OQ!bO7+(dO!@XQ7[O7+(dOOQSG27SG27SO%1bQ`OG27SOIWQ&jOG27SOOQSG27VG27VO5lQ(ChOG27VOOQSG27_G27_OOQOAN>{AN>{OOQOAN>uAN>uO%3rQ(C|OAN>{O:aQ`OAN>uO){QdOAN>{O!-OQ!bOAN>uO&)wQ(ChOAN>{O&*SQ(C}OG26lOOQ(CWG26bG26bOOQS!$( t!$( tOOQO<<LO<<LOO5lQ(ChO<<LOO#6SQ`O<<LOO5bQ`O<<LOO!-OQ!bO<<LOOOQSLD,nLD,nO%1bQ`OLD,nOOQSLD,qLD,qOOQOG24gG24gOOQOG24aG24aO%3rQ(C|OG24gO:aQ`OG24aO){QdOG24gO&,pQ!LRO,5:rO&-gQ$ITO'#IqOOQOANAjANAjO5lQ(ChOANAjO#6SQ`OANAjO5bQ`OANAjOOQS!$(!Y!$(!YOOQOLD*RLD*ROOQOLD){LD){O%3rQ(C|OLD*RO&.ZQMmOG26lO&/|Q!LRO,59jO&0pQ!LRO,5<UO&1dQ!LRO,5<WO&2WQ!LRO,5<fOOQOG27UG27UO5lQ(ChOG27UO#6SQ`OG27UOOQO!$'Mm!$'MmO&2}Q!LRO1G2[O&3qQ!LRO1G2^O&4eQ!LRO1G1yOOQOLD,pLD,pO5lQ(ChOLD,pO&5[Q!LRO7+'eO&6RQ!LRO7+'gOOQO!$(![!$(![O&6xQ!LROG26lOLbQdO'#DrO&7oQtO'#ItOLbQdO'#DjO&7vQ(C|O'#ChO&8aQtO'#ChO&8qQdO,5:vO&:qQ&jO'#EWOLbQdO,5;ROLbQdO,5;ROLbQdO,5;ROLbQdO,5;ROLbQdO,5;ROLbQdO,5;ROLbQdO,5;ROLbQdO,5;ROLbQdO,5;ROLbQdO,5;ROLbQdO,5;ROLbQdO'#IPO&<OQ`O,5<TO&=eQ&jO,5;ROLbQdO,5;fO!(wQ`O'#DOO!(wQ`O'#DOO!(wQ`O'#DOOIWQ&jO'#FjO&:qQ&jO'#FjO&<WQ&jO'#FjOIWQ&jO'#FlO&:qQ&jO'#FlO&<WQ&jO'#FlOIWQ&jO'#FzO&:qQ&jO'#FzO&<WQ&jO'#FzOLbQdO,5?mO&8qQdO1G0bO&=lQMlO'#ChOLbQdO1G1lOIWQ&jO,5<pO&:qQ&jO,5<pO&<WQ&jO,5<pOIWQ&jO,5<rO&:qQ&jO,5<rO&<WQ&jO,5<rOIWQ&jO,5<_O&:qQ&jO,5<_O&<WQ&jO,5<_O&8qQdO1G1mOLbQdO7+&iOIWQ&jO1G1yO&:qQ&jO1G1yO&<WQ&jO1G1yOIWQ&jO1G1{O&:qQ&jO1G1{O&<WQ&jO1G1{O&8qQdO7+'XO&8qQdO7+%|O&=vQ`O7+'pOIWQ&jOANAQO&:qQ&jOANAQO&<WQ&jOANAQO&=vQ`O<<K[O&=vQ`OAN@vO&={Q`O'#E[O&>QQ`O'#E[O&>YQ`O'#EzO&>_Q`O'#EgO&>dQ`O'#JRO&>oQ`O'#JPO&>zQ`O,5:vO&?PQ,VO,5<QO&?WQ`O'#FsO&?]Q`O'#FsO&?bQ`O'#FsO&?gQ`O,5<RO&?oQ`O,5:vO&?wQMlO1G0}O&@OQ`O,5<_O&@TQ`O,5<_O&@YQ`O,5<_O&@_Q`O,5<aO&@dQ`O,5<aO&@iQ`O,5<aO&@nQ`O1G1mO&@sQ`O1G0bO&@xQ`O1G2UO&@}Q,VO<<KfO&AUQ,VO<<KfO&A]Q,VO<<KfO&AdQqO7+'pO&AkQ`O7+'pO&ApQqO<<K[O4QQ&jO'#FhO5bQ`O'#FgOBzQ`O'#EZOLbQdO,5;cO!&WQ`O'#FsO!&WQ`O'#FsO!&WQ`O'#FsO!&WQ`O'#FuO!&WQ`O'#FuO!&WQ`O'#FuO&AwQ`O,5<jOJjQ&jO7+'zOJjQ&jO7+'zOJjQ&jO7+'zOIWQ&jO1G2UO&BPQ`O1G2UOIWQ&jO7+'pO!'VQ7[O'#GOO$/eQqO1G2`O$/eQqO1G2`O$/eQqO1G2`O!'VQ7[O,5<jOIWQ&jO,5<tOIWQ&jO,5<tOIWQ&jO,5<t",stateData:"&B}~O'YOS'ZOSTOSUOS~OQTORTOXyO]cO_hObnOcmOhcOjTOkcOlcOqTOsTOxRO{cO|cO}cO!TSO!_kO!dUO!gTO!hTO!iTO!jTO!kTO!nlO#dsO#tpO#x^O%PqO%RtO%TrO%UrO%XuO%ZvO%^wO%_wO%axO%nzO%t{O%v|O%x}O%z!OO%}!PO&T!QO&Z!RO&]!SO&_!TO&a!UO&c!VO']PO'fQO'oYO'|aO~OQ[XZ[X_[Xj[Xu[Xv[Xx[X!R[X!a[X!b[X!d[X!j[X!{[X#WdX#[[X#][X#^[X#_[X#`[X#a[X#b[X#c[X#e[X#g[X#i[X#j[X#o[X'W[X'f[X'p[X'w[X'x[X~O!]$lX~P$zOS!WO'U!XO'V!ZO~OQTORTO]cOb!kOc!jOhcOjTOkcOlcOqTOsTOxRO{cO|cO}cO!T!bO!_kO!dUO!gTO!hTO!iTO!jTO!kTO!n!iO#t!lO#x^O']![O'fQO'oYO'|aO~O!Q!`O!R!]O!O'jP!O'tP~P'dO!S!mO~P`OQTORTO]cOb!kOc!jOhcOjTOkcOlcOqTOsTOxRO{cO|cO}cO!T!bO!_kO!dUO!gTO!hTO!iTO!jTO!kTO!n!iO#t!lO#x^O']9aO'fQO'oYO'|aO~OQTORTO]cOb!kOc!jOhcOjTOkcOlcOqTOsTOxRO{cO|cO}cO!T!bO!_kO!dUO!gTO!hTO!iTO!jTO!kTO!n!iO#t!lO#x^O'fQO'oYO'|aO~O!Q!rO#U!uO#V!rO']9bO!c'qP~P+{O#W!vO~O!]!wO#W!vO~OQ#^OZ#dOj#ROu!{Ov!{Ox!|O!R#bO!a#TO!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO#`#SO#a#TO#b#TO#c#TO#e#UO#g#WO#i#YO#j#ZO'fQO'p#[O'w!}O'x#OO~O_'hX'W'hX!c'hX!O'hX!T'hX%Q'hX!]'hX~P.jO!{#eO#o#eOQ'iXZ'iX_'iXj'iXu'iXv'iXx'iX!R'iX!a'iX!b'iX!d'iX!j'iX#['iX#]'iX#^'iX#_'iX#`'iX#a'iX#b'iX#e'iX#g'iX#i'iX#j'iX'f'iX'p'iX'w'iX'x'iX~O#c'iX'W'iX!O'iX!c'iXn'iX!T'iX%Q'iX!]'iX~P0zO!{#eO~O#z#fO$R#jO~O!T#kO#x^O$U#lO$W#nO~O]#qOh$QOj#rOk#qOl#qOq$ROs$SOx#yO!T#zO!_$XO!d#vO#V$YO#t$VO$_$TO$a$UO$d$WO']#pO'b$PO'f#sO'a'cP~O!d$ZO~O!]$]O~O_$^O'W$^O~O']$bO~O!d$ZO']$bO'^$dO'b$PO~Oc$jO!d$ZO']$bO~O#c#TO~O]$sOu$oO!T$lO!d$nO%R$rO']$bO'^$dO^(UP~O!n$tO~Ox$uO!T$vO']$bO~Ox$uO!T$vO%Z$zO']$bO~O']${O~O#dsO%RtO%TrO%UrO%XuO%ZvO%^wO%_wO~Ob%UOc%TO!n%RO%P%SO%c%QO~P7xOb%XOcmO!T%WO!nlO#dsO%PqO%TrO%UrO%XuO%ZvO%^wO%_wO%axO~O`%[O!{%_O%R%YO'^$dO~P8wO!d%`O!g%dO~O!d%eO~O!TSO~O_$^O'T%mO'W$^O~O_$^O'T%pO'W$^O~O_$^O'T%rO'W$^O~OS!WO'U!XO'V%vO~OQ[XZ[Xj[Xu[Xv[Xx[X!R[X!RdX!a[X!b[X!d[X!j[X!{[X!{dX#WdX#[[X#][X#^[X#_[X#`[X#a[X#b[X#c[X#e[X#g[X#i[X#j[X#o[X'f[X'p[X'w[X'x[X~O!O[X!OdX~P;dO!Q%xO!O&iX!O&nX!R&iX!R&nX~P'dO!R%zO!O'jX~OQ#^OZ#dOj#ROu!{Ov!{Ox!|O!R%zO!a#TO!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO#`#SO#a#TO#b#TO#c#TO#e#UO#g#WO#i#YO#j#ZO'fQO'p#[O'w!}O'x#OO~O!O'jX~P>aO!O&PO~Ox&SO!W&^O!X&VO!Y&VO'^$dO~O]&TOk&TO!Q&WO'g&QO!S'kP!S'vP~P@dO!O'sX!R'sX!]'sX!c'sX'p'sX~O!{'sX#W#PX!S'sX~PA]O!{&_O!O'uX!R'uX~O!R&`O!O'tX~O!O&cO~O!{#eO~PA]OP&gO!T&dO!o&fO']$bO~Oc&lO!d$ZO']$bO~Ou$oO!d$nO~O!S&mO~P`Ou!{Ov!{Ox!|O!b!yO!d!zO'fQOQ!faZ!faj!fa!R!fa!a!fa!j!fa#[!fa#]!fa#^!fa#_!fa#`!fa#a!fa#b!fa#c!fa#e!fa#g!fa#i!fa#j!fa'p!fa'w!fa'x!fa~O_!fa'W!fa!O!fa!c!fan!fa!T!fa%Q!fa!]!fa~PCfO!c&nO~O!]!wO!{&pO'p&oO!R'rX_'rX'W'rX~O!c'rX~PFOO!R&tO!c'qX~O!c&vO~Ox$uO!T$vO#V&wO']$bO~OQTORTO]cOb!kOc!jOhcOjTOkcOlcOqTOsTOxRO{cO|cO}cO!TSO!_kO!dUO!gTO!hTO!iTO!jTO!kTO!n!iO#t!lO#x^O']9aO'fQO'oYO'|aO~O]#qOh$QOj#rOk#qOl#qOq$ROs9tOx#yO!T#zO!_;eO!d#vO#V9}O#t$VO$_9wO$a9zO$d$WO']&{O'b$PO'f#sO~O#W&}O~O]#qOh$QOj#rOk#qOl#qOq$ROs$SOx#yO!T#zO!_$XO!d#vO#V$YO#t$VO$_$TO$a$UO$d$WO']&{O'b$PO'f#sO~O'a'mP~PJjO!Q'RO!c'nP~P){O'g'TO'oYO~OQ9^OR9^O]cOb;`Oc!jOhcOj9^OkcOlcOq9^Os9^OxRO{cO|cO}cO!T!bO!_9`O!dUO!g9^O!h9^O!i9^O!j9^O!k9^O!n!iO#t!lO#x^O']'cO'fQO'oYO'|;^O~O!d!zO~O!R#bO_$]a'W$]a!c$]a!O$]a!T$]a%Q$]a!]$]a~O#d'jO~PIWO!]'lO!T'yX#w'yX#z'yX$R'yX~Ou'mO~P! YOu'mO!T'yX#w'yX#z'yX$R'yX~O!T'oO#w'sO#z'nO$R'tO~O!Q'wO~PLbO#z#fO$R'zO~OP$eXu$eXx$eX!b$eX'w$eX'x$eX~OPfX!RfX!{fX'afX'a$eX~P!!rOk'|O~OS'}O'U(OO'V(QO~OP(ZOu(SOx(TO'w(VO'x(XO~O'a(RO~P!#{O'a([O~O]#qOh$QOj#rOk#qOl#qOq$ROs9tOx#yO!T#zO!_;eO!d#vO#V9}O#t$VO$_9wO$a9zO$d$WO'b$PO'f#sO~O!Q(`O'](]O!c'}P~P!$jO#W(bO~O!d(cO~O!Q(hO'](eO!O(OP~P!$jOj(uOx(mO!W(sO!X(lO!Y(lO!d(cO!x(tO$w(oO'^$dO'g(jO~O!S(rO~P!&jO!b!yOP'eXu'eXx'eX'w'eX'x'eX!R'eX!{'eX~O'a'eX#m'eX~P!'cOP(xO!{(wO!R'dX'a'dX~O!R(yO'a'cX~O']${O'a'cP~O'](|O~O!d)RO~O']&{O~Ox$uO!Q!rO!T$vO#U!uO#V!rO']$bO!c'qP~O!]!wO#W)VO~OQ#^OZ#dOj#ROu!{Ov!{Ox!|O!a#TO!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO#`#SO#a#TO#b#TO#c#TO#e#UO#g#WO#i#YO#j#ZO'fQO'p#[O'w!}O'x#OO~O_!^a!R!^a'W!^a!O!^a!c!^an!^a!T!^a%Q!^a!]!^a~P!)wOP)_O!T&dO!o)^O%Q)]O'b$PO~O!])aO!T'`X_'`X!R'`X'W'`X~O!d$ZO'b$PO~O!d$ZO']$bO'b$PO~O!]!wO#W&}O~O])lO%R)mO'])iO!S(VP~O!R)nO^(UX~O'g'TO~OZ)rO~O^)sO~O!T$lO']$bO'^$dO^(UP~Ox$uO!Q)xO!R&`O!T$vO']$bO!O'tP~O]&ZOk&ZO!Q)yO'g'TO!S'vP~O!R)zO_(RX'W(RX~O!{*OO'b$PO~OP*RO!T#zO'b$PO~O!T*TO~Ou*VO!TSO~O!n*[O~Oc*aO~O'](|O!S(TP~Oc$jO~O%RtO']${O~P8wOZ*gO^*fO~OQTORTO]cObnOcmOhcOjTOkcOlcOqTOsTOxRO{cO|cO}cO!_kO!dUO!gTO!hTO!iTO!jTO!kTO!nlO#x^O%PqO'fQO'oYO'|aO~O!T!bO#t!lO']9aO~P!1_O^*fO_$^O'W$^O~O_*kO#d*mO%T*mO%U*mO~P){O!d%`O~O%t*rO~O!T*tO~O&V*vO&X*wOQ&SaR&SaX&Sa]&Sa_&Sab&Sac&Sah&Saj&Sak&Sal&Saq&Sas&Sax&Sa{&Sa|&Sa}&Sa!T&Sa!_&Sa!d&Sa!g&Sa!h&Sa!i&Sa!j&Sa!k&Sa!n&Sa#d&Sa#t&Sa#x&Sa%P&Sa%R&Sa%T&Sa%U&Sa%X&Sa%Z&Sa%^&Sa%_&Sa%a&Sa%n&Sa%t&Sa%v&Sa%x&Sa%z&Sa%}&Sa&T&Sa&Z&Sa&]&Sa&_&Sa&a&Sa&c&Sa'S&Sa']&Sa'f&Sa'o&Sa'|&Sa!S&Sa%{&Sa`&Sa&Q&Sa~O']*|O~On+PO~O!O&ia!R&ia~P!)wO!Q+TO!O&iX!R&iX~P){O!R%zO!O'ja~O!O'ja~P>aO!R&`O!O'ta~O!RwX!R!ZX!SwX!S!ZX!]wX!]!ZX!d!ZX!{wX'b!ZX~O!]+YO!{+XO!R#TX!R'lX!S#TX!S'lX!]'lX!d'lX'b'lX~O!]+[O!d$ZO'b$PO!R!VX!S!VX~O]&ROk&ROx&SO'g(jO~OQ9^OR9^O]cOb;`Oc!jOhcOj9^OkcOlcOq9^Os9^OxRO{cO|cO}cO!T!bO!_9`O!dUO!g9^O!h9^O!i9^O!j9^O!k9^O!n!iO#t!lO#x^O'fQO'oYO'|;^O~O']:SO~P!;jO!R+`O!S'kX~O!S+bO~O!]+YO!{+XO!R#TX!S#TX~O!R+cO!S'vX~O!S+eO~O]&ROk&ROx&SO'^$dO'g(jO~O!X+fO!Y+fO~P!>hOx$uO!Q+hO!T$vO']$bO!O&nX!R&nX~O_+lO!W+oO!X+kO!Y+kO!r+sO!s+qO!t+rO!u+pO!x+tO'^$dO'g(jO'o+iO~O!S+nO~P!?iOP+yO!T&dO!o+xO~O!{,PO!R'ra!c'ra_'ra'W'ra~O!]!wO~P!@sO!R&tO!c'qa~Ox$uO!Q,SO!T$vO#U,UO#V,SO']$bO!R&pX!c&pX~O_#Oi!R#Oi'W#Oi!O#Oi!c#Oin#Oi!T#Oi%Q#Oi!]#Oi~P!)wOP;tOu(SOx(TO'w(VO'x(XO~O#W!za!R!za!c!za!{!za!T!za_!za'W!za!O!za~P!BpO#W'eXQ'eXZ'eX_'eXj'eXv'eX!a'eX!d'eX!j'eX#['eX#]'eX#^'eX#_'eX#`'eX#a'eX#b'eX#c'eX#e'eX#g'eX#i'eX#j'eX'W'eX'f'eX'p'eX!c'eX!O'eX!T'eXn'eX%Q'eX!]'eX~P!'cO!R,_O'a'mX~P!#{O'a,aO~O!R,bO!c'nX~P!)wO!c,eO~O!O,fO~OQ#^Ou!{Ov!{Ox!|O!b!yO!d!zO!j#^O'fQOZ#Zi_#Zij#Zi!R#Zi!a#Zi#]#Zi#^#Zi#_#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi'W#Zi'p#Zi'w#Zi'x#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~O#[#Zi~P!FfO#[#PO~P!FfOQ#^Ou!{Ov!{Ox!|O!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO'fQOZ#Zi_#Zi!R#Zi!a#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi'W#Zi'p#Zi'w#Zi'x#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~Oj#Zi~P!IQOj#RO~P!IQOQ#^Oj#ROu!{Ov!{Ox!|O!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO#`#SO'fQO_#Zi!R#Zi#e#Zi#g#Zi#i#Zi#j#Zi'W#Zi'p#Zi'w#Zi'x#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~OZ#Zi!a#Zi#a#Zi#b#Zi#c#Zi~P!KlOZ#dO!a#TO#a#TO#b#TO#c#TO~P!KlOQ#^OZ#dOj#ROu!{Ov!{Ox!|O!a#TO!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO#`#SO#a#TO#b#TO#c#TO#e#UO'fQO_#Zi!R#Zi#g#Zi#i#Zi#j#Zi'W#Zi'p#Zi'x#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~O'w#Zi~P!NdO'w!}O~P!NdOQ#^OZ#dOj#ROu!{Ov!{Ox!|O!a#TO!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO#`#SO#a#TO#b#TO#c#TO#e#UO#g#WO'fQO'w!}O_#Zi!R#Zi#i#Zi#j#Zi'W#Zi'p#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~O'x#Zi~P##OO'x#OO~P##OOQ#^OZ#dOj#ROu!{Ov!{Ox!|O!a#TO!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO#`#SO#a#TO#b#TO#c#TO#e#UO#g#WO#i#YO'fQO'w!}O'x#OO~O_#Zi!R#Zi#j#Zi'W#Zi'p#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~P#%jOQ[XZ[Xj[Xu[Xv[Xx[X!a[X!b[X!d[X!j[X!{[X#WdX#[[X#][X#^[X#_[X#`[X#a[X#b[X#c[X#e[X#g[X#i[X#j[X#o[X'f[X'p[X'w[X'x[X!R[X!S[X~O#m[X~P#'}OQ#^OZ9rOj9gOu!{Ov!{Ox!|O!a9iO!b!yO!d!zO!j#^O#[9eO#]9fO#^9fO#_9fO#`9hO#a9iO#b9iO#c9iO#e9jO#g9lO#i9nO#j9oO'fQO'p#[O'w!}O'x#OO~O#m,hO~P#*XOQ'iXZ'iXj'iXu'iXv'iXx'iX!a'iX!b'iX!d'iX!j'iX#['iX#]'iX#^'iX#_'iX#`'iX#a'iX#b'iX#e'iX#g'iX#i'iX#j'iX'f'iX'p'iX'w'iX'x'iX!R'iX~O!{9sO#o9sO#c'iX#m'iX!S'iX~P#,SO_&sa!R&sa'W&sa!c&san&sa!O&sa!T&sa%Q&sa!]&sa~P!)wOQ#ZiZ#Zi_#Zij#Ziv#Zi!R#Zi!a#Zi!b#Zi!d#Zi!j#Zi#[#Zi#]#Zi#^#Zi#_#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi'W#Zi'f#Zi'p#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~P!BpO_#ni!R#ni'W#ni!O#ni!c#nin#ni!T#ni%Q#ni!]#ni~P!)wO#z,jO~O#z,kO~O!]'lO!{,lO!T$OX#w$OX#z$OX$R$OX~O!Q,mO~O!T'oO#w,oO#z'nO$R,pO~O!R9pO!S'hX~P#*XO!S,qO~O$R,sO~OS'}O'U(OO'V,vO~O],yOk,yO!O,zO~O!RdX!]dX!cdX!c$eX'pdX~P!!rO!c-QO~P!BpO!R-RO!]!wO'p&oO!c'}X~O!c-WO~O!Q(`O']$bO!c'}P~O#W-YO~O!O$eX!R$eX!]$lX~P!!rO!R-ZO!O(OX~P!BpO!]-]O~O!O-_O~Oj-cO!]!wO!d$ZO'b$PO'p&oO~O!])aO~O_$^O!R-hO'W$^O~O!S-jO~P!&jO!X-kO!Y-kO'^$dO'g(jO~Ox-mO'g(jO~O!x-nO~O']${O!R&xX'a&xX~O!R(yO'a'ca~O'a-sO~Ou-tOv-tOx-uOPra'wra'xra!Rra!{ra~O'ara#mra~P#7pOu(SOx(TOP$^a'w$^a'x$^a!R$^a!{$^a~O'a$^a#m$^a~P#8fOu(SOx(TOP$`a'w$`a'x$`a!R$`a!{$`a~O'a$`a#m$`a~P#9XO]-vO~O#W-wO~O'a$na!R$na!{$na#m$na~P!#{O#W-zO~OP.TO!T&dO!o.SO%Q.RO~O]#qOj#rOk#qOl#qOq$ROs9tOx#yO!T#zO!_;eO!d#vO#V9}O#t$VO$_9wO$a9zO$d$WO'b$PO'f#sO~Oh.VO'].UO~P#:yO!])aO!T'`a_'`a!R'`a'W'`a~O#W.]O~OZ[X!RdX!SdX~O!R.^O!S(VX~O!S.`O~OZ.aO~O].cO'])iO~O!T$lO']$bO^'QX!R'QX~O!R)nO^(Ua~O!c.fO~P!)wO].hO~OZ.iO~O^.jO~OP.TO!T&dO!o.SO%Q.RO'b$PO~O!R)zO_(Ra'W(Ra~O!{.pO~OP.sO!T#zO~O'g'TO!S(SP~OP.}O!T.yO!o.|O%Q.{O'b$PO~OZ/XO!R/VO!S(TX~O!S/YO~O^/[O_$^O'W$^O~O]/]O~O]/^O'](|O~O#c/_O%r/`O~P0zO!{#eO#c/_O%r/`O~O_/aO~P){O_/cO~O%{/gOQ%yiR%yiX%yi]%yi_%yib%yic%yih%yij%yik%yil%yiq%yis%yix%yi{%yi|%yi}%yi!T%yi!_%yi!d%yi!g%yi!h%yi!i%yi!j%yi!k%yi!n%yi#d%yi#t%yi#x%yi%P%yi%R%yi%T%yi%U%yi%X%yi%Z%yi%^%yi%_%yi%a%yi%n%yi%t%yi%v%yi%x%yi%z%yi%}%yi&T%yi&Z%yi&]%yi&_%yi&a%yi&c%yi'S%yi']%yi'f%yi'o%yi'|%yi!S%yi`%yi&Q%yi~O`/mO!S/kO&Q/lO~P`O!TSO!d/oO~O&X*wOQ&SiR&SiX&Si]&Si_&Sib&Sic&Sih&Sij&Sik&Sil&Siq&Sis&Six&Si{&Si|&Si}&Si!T&Si!_&Si!d&Si!g&Si!h&Si!i&Si!j&Si!k&Si!n&Si#d&Si#t&Si#x&Si%P&Si%R&Si%T&Si%U&Si%X&Si%Z&Si%^&Si%_&Si%a&Si%n&Si%t&Si%v&Si%x&Si%z&Si%}&Si&T&Si&Z&Si&]&Si&_&Si&a&Si&c&Si'S&Si']&Si'f&Si'o&Si'|&Si!S&Si%{&Si`&Si&Q&Si~O!R#bOn$]a~O!O&ii!R&ii~P!)wO!R%zO!O'ji~O!R&`O!O'ti~O!O/uO~O!R!Va!S!Va~P#*XO]&ROk&RO!Q/{O'g(jO!R&jX!S&jX~P@dO!R+`O!S'ka~O]&ZOk&ZO!Q)yO'g'TO!R&oX!S&oX~O!R+cO!S'va~O!O'ui!R'ui~P!)wO_$^O!]!wO!d$ZO!j0VO!{0TO'W$^O'b$PO'p&oO~O!S0YO~P!?iO!X0ZO!Y0ZO'^$dO'g(jO'o+iO~O!W0[O~P#MSO!TSO!W0[O!u0^O!x0_O~P#MSO!W0[O!s0aO!t0aO!u0^O!x0_O~P#MSO!T&dO~O!T&dO~P!BpO!R'ri!c'ri_'ri'W'ri~P!)wO!{0jO!R'ri!c'ri_'ri'W'ri~O!R&tO!c'qi~Ox$uO!T$vO#V0lO']$bO~O#WraQraZra_rajra!ara!bra!dra!jra#[ra#]ra#^ra#_ra#`ra#ara#bra#cra#era#gra#ira#jra'Wra'fra'pra!cra!Ora!Tranra%Qra!]ra~P#7pO#W$^aQ$^aZ$^a_$^aj$^av$^a!a$^a!b$^a!d$^a!j$^a#[$^a#]$^a#^$^a#_$^a#`$^a#a$^a#b$^a#c$^a#e$^a#g$^a#i$^a#j$^a'W$^a'f$^a'p$^a!c$^a!O$^a!T$^an$^a%Q$^a!]$^a~P#8fO#W$`aQ$`aZ$`a_$`aj$`av$`a!a$`a!b$`a!d$`a!j$`a#[$`a#]$`a#^$`a#_$`a#`$`a#a$`a#b$`a#c$`a#e$`a#g$`a#i$`a#j$`a'W$`a'f$`a'p$`a!c$`a!O$`a!T$`an$`a%Q$`a!]$`a~P#9XO#W$naQ$naZ$na_$naj$nav$na!R$na!a$na!b$na!d$na!j$na#[$na#]$na#^$na#_$na#`$na#a$na#b$na#c$na#e$na#g$na#i$na#j$na'W$na'f$na'p$na!c$na!O$na!T$na!{$nan$na%Q$na!]$na~P!BpO_#Oq!R#Oq'W#Oq!O#Oq!c#Oqn#Oq!T#Oq%Q#Oq!]#Oq~P!)wO!R&kX'a&kX~PJjO!R,_O'a'ma~O!Q0tO!R&lX!c&lX~P){O!R,bO!c'na~O!R,bO!c'na~P!)wO#m!fa!S!fa~PCfO#m!^a!R!^a!S!^a~P#*XO!T1XO#x^O$P1YO~O!S1^O~On1_O~P!BpO_$Yq!R$Yq'W$Yq!O$Yq!c$Yqn$Yq!T$Yq%Q$Yq!]$Yq~P!)wO!O1`O~O],yOk,yO~Ou(SOx(TO'x(XOP$xi'w$xi!R$xi!{$xi~O'a$xi#m$xi~P$.POu(SOx(TOP$zi'w$zi'x$zi!R$zi!{$zi~O'a$zi#m$zi~P$.rO'p#[O~P!BpO!Q1cO']$bO!R&tX!c&tX~O!R-RO!c'}a~O!R-RO!]!wO!c'}a~O!R-RO!]!wO'p&oO!c'}a~O'a$gi!R$gi!{$gi#m$gi~P!#{O!Q1kO'](eO!O&vX!R&vX~P!$jO!R-ZO!O(Oa~O!R-ZO!O(Oa~P!BpO!]!wO~O!]!wO#c1sO~Oj1vO!]!wO'p&oO~O!R'di'a'di~P!#{O!{1yO!R'di'a'di~P!#{O!c1|O~O_$Zq!R$Zq'W$Zq!O$Zq!c$Zqn$Zq!T$Zq%Q$Zq!]$Zq~P!)wO!R2QO!T(PX~P!BpO!T&dO%Q2TO~O!T&dO%Q2TO~P!BpO!T$eX$u[X_$eX!R$eX'W$eX~P!!rO$u2XOPgXugXxgX!TgX'wgX'xgX_gX!RgX'WgX~O$u2XO~O]2_O%R2`O'])iO!R'PX!S'PX~O!R.^O!S(Va~OZ2dO~O^2eO~O]2hO~OP2jO!T&dO!o2iO%Q2TO~O_$^O'W$^O~P!BpO!T#zO~P!BpO!R2oO!{2qO!S(SX~O!S2rO~Ox;oO!W2{O!X2tO!Y2tO!r2zO!s2yO!t2yO!x2xO'^$dO'g(jO'o+iO~O!S2wO~P$7ZOP3SO!T.yO!o3RO%Q3QO~OP3SO!T.yO!o3RO%Q3QO'b$PO~O'](|O!R'OX!S'OX~O!R/VO!S(Ta~O]3^O'g3]O~O]3_O~O^3aO~O!c3dO~P){O_3fO~O_3fO~P){O#c3hO%r3iO~PFOO`/mO!S3mO&Q/lO~P`O!]3oO~O!R#Ti!S#Ti~P#*XO!{3qO!R#Ti!S#Ti~O!R!Vi!S!Vi~P#*XO_$^O!{3xO'W$^O~O_$^O!]!wO!{3xO'W$^O~O!X3|O!Y3|O'^$dO'g(jO'o+iO~O_$^O!]!wO!d$ZO!j3}O!{3xO'W$^O'b$PO'p&oO~O!W4OO~P$;xO!W4OO!u4RO!x4SO~P$;xO_$^O!]!wO!j3}O!{3xO'W$^O'p&oO~O!R'rq!c'rq_'rq'W'rq~P!)wO!R&tO!c'qq~O#W$xiQ$xiZ$xi_$xij$xiv$xi!a$xi!b$xi!d$xi!j$xi#[$xi#]$xi#^$xi#_$xi#`$xi#a$xi#b$xi#c$xi#e$xi#g$xi#i$xi#j$xi'W$xi'f$xi'p$xi!c$xi!O$xi!T$xin$xi%Q$xi!]$xi~P$.PO#W$ziQ$ziZ$zi_$zij$ziv$zi!a$zi!b$zi!d$zi!j$zi#[$zi#]$zi#^$zi#_$zi#`$zi#a$zi#b$zi#c$zi#e$zi#g$zi#i$zi#j$zi'W$zi'f$zi'p$zi!c$zi!O$zi!T$zin$zi%Q$zi!]$zi~P$.rO#W$giQ$giZ$gi_$gij$giv$gi!R$gi!a$gi!b$gi!d$gi!j$gi#[$gi#]$gi#^$gi#_$gi#`$gi#a$gi#b$gi#c$gi#e$gi#g$gi#i$gi#j$gi'W$gi'f$gi'p$gi!c$gi!O$gi!T$gi!{$gin$gi%Q$gi!]$gi~P!BpO!R&ka'a&ka~P!#{O!R&la!c&la~P!)wO!R,bO!c'ni~O#m#Oi!R#Oi!S#Oi~P#*XOQ#^Ou!{Ov!{Ox!|O!b!yO!d!zO!j#^O'fQOZ#Zij#Zi!a#Zi#]#Zi#^#Zi#_#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi#m#Zi'p#Zi'w#Zi'x#Zi!R#Zi!S#Zi~O#[#Zi~P$EiO#[9eO~P$EiOQ#^Ou!{Ov!{Ox!|O!b!yO!d!zO!j#^O#[9eO#]9fO#^9fO#_9fO'fQOZ#Zi!a#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi#m#Zi'p#Zi'w#Zi'x#Zi!R#Zi!S#Zi~Oj#Zi~P$GqOj9gO~P$GqOQ#^Oj9gOu!{Ov!{Ox!|O!b!yO!d!zO!j#^O#[9eO#]9fO#^9fO#_9fO#`9hO'fQO#e#Zi#g#Zi#i#Zi#j#Zi#m#Zi'p#Zi'w#Zi'x#Zi!R#Zi!S#Zi~OZ#Zi!a#Zi#a#Zi#b#Zi#c#Zi~P$IyOZ9rO!a9iO#a9iO#b9iO#c9iO~P$IyOQ#^OZ9rOj9gOu!{Ov!{Ox!|O!a9iO!b!yO!d!zO!j#^O#[9eO#]9fO#^9fO#_9fO#`9hO#a9iO#b9iO#c9iO#e9jO'fQO#g#Zi#i#Zi#j#Zi#m#Zi'p#Zi'x#Zi!R#Zi!S#Zi~O'w#Zi~P$L_O'w!}O~P$L_OQ#^OZ9rOj9gOu!{Ov!{Ox!|O!a9iO!b!yO!d!zO!j#^O#[9eO#]9fO#^9fO#_9fO#`9hO#a9iO#b9iO#c9iO#e9jO#g9lO'fQO'w!}O#i#Zi#j#Zi#m#Zi'p#Zi!R#Zi!S#Zi~O'x#Zi~P$NgO'x#OO~P$NgOQ#^OZ9rOj9gOu!{Ov!{Ox!|O!a9iO!b!yO!d!zO!j#^O#[9eO#]9fO#^9fO#_9fO#`9hO#a9iO#b9iO#c9iO#e9jO#g9lO#i9nO'fQO'w!}O'x#OO~O#j#Zi#m#Zi'p#Zi!R#Zi!S#Zi~P%!oO_#ky!R#ky'W#ky!O#ky!c#kyn#ky!T#ky%Q#ky!]#ky~P!)wOP;vOu(SOx(TO'w(VO'x(XO~OQ#ZiZ#Zij#Ziv#Zi!a#Zi!b#Zi!d#Zi!j#Zi#[#Zi#]#Zi#^#Zi#_#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi#m#Zi'f#Zi'p#Zi!R#Zi!S#Zi~P%%aO!b!yOP'eXu'eXx'eX'w'eX'x'eX!S'eX~OQ'eXZ'eXj'eXv'eX!a'eX!d'eX!j'eX#['eX#]'eX#^'eX#_'eX#`'eX#a'eX#b'eX#c'eX#e'eX#g'eX#i'eX#j'eX#m'eX'f'eX'p'eX!R'eX~P%'eO#m#ni!R#ni!S#ni~P#*XO!S4eO~O!R&sa!S&sa~P#*XO!]!wO'p&oO!R&ta!c&ta~O!R-RO!c'}i~O!R-RO!]!wO!c'}i~O'a$gq!R$gq!{$gq#m$gq~P!#{O!O&va!R&va~P!BpO!]4lO~O!R-ZO!O(Oi~P!BpO!R-ZO!O(Oi~O!O4pO~O!]!wO#c4uO~Oj4vO!]!wO'p&oO~O!O4xO~O'a$iq!R$iq!{$iq#m$iq~P!#{O_$Zy!R$Zy'W$Zy!O$Zy!c$Zyn$Zy!T$Zy%Q$Zy!]$Zy~P!)wO!R2QO!T(Pa~O!T&dO%Q4}O~O!T&dO%Q4}O~P!BpO_#Oy!R#Oy'W#Oy!O#Oy!c#Oyn#Oy!T#Oy%Q#Oy!]#Oy~P!)wOZ5QO~O]5SO'])iO~O!R.^O!S(Vi~O]5VO~O^5WO~O'g'TO!R&{X!S&{X~O!R2oO!S(Sa~O!S5eO~P$7ZOx;sO'g(jO'o+iO~O!W5hO!X5gO!Y5gO!x0_O'^$dO'g(jO'o+iO~O!s5iO!t5iO~P%0^O!X5gO!Y5gO'^$dO'g(jO'o+iO~O!T.yO~O!T.yO%Q5kO~O!T.yO%Q5kO~P!BpOP5pO!T.yO!o5oO%Q5kO~OZ5uO!R'Oa!S'Oa~O!R/VO!S(Ti~O]5xO~O!c5yO~O!c5zO~O!c5{O~O!c5{O~P){O_5}O~O!]6QO~O!c6RO~O!R'ui!S'ui~P#*XO_$^O'W$^O~P!)wO_$^O!{6WO'W$^O~O_$^O!]!wO!{6WO'W$^O~O!X6]O!Y6]O'^$dO'g(jO'o+iO~O_$^O!]!wO!j6^O!{6WO'W$^O'p&oO~O!d$ZO'b$PO~P%4xO!W6_O~P%4gO!R'ry!c'ry_'ry'W'ry~P!)wO#W$gqQ$gqZ$gq_$gqj$gqv$gq!R$gq!a$gq!b$gq!d$gq!j$gq#[$gq#]$gq#^$gq#_$gq#`$gq#a$gq#b$gq#c$gq#e$gq#g$gq#i$gq#j$gq'W$gq'f$gq'p$gq!c$gq!O$gq!T$gq!{$gqn$gq%Q$gq!]$gq~P!BpO#W$iqQ$iqZ$iq_$iqj$iqv$iq!R$iq!a$iq!b$iq!d$iq!j$iq#[$iq#]$iq#^$iq#_$iq#`$iq#a$iq#b$iq#c$iq#e$iq#g$iq#i$iq#j$iq'W$iq'f$iq'p$iq!c$iq!O$iq!T$iq!{$iqn$iq%Q$iq!]$iq~P!BpO!R&li!c&li~P!)wO#m#Oq!R#Oq!S#Oq~P#*XOu-tOv-tOx-uOPra'wra'xra!Sra~OQraZrajra!ara!bra!dra!jra#[ra#]ra#^ra#_ra#`ra#ara#bra#cra#era#gra#ira#jra#mra'fra'pra!Rra~P%;OOu(SOx(TOP$^a'w$^a'x$^a!S$^a~OQ$^aZ$^aj$^av$^a!a$^a!b$^a!d$^a!j$^a#[$^a#]$^a#^$^a#_$^a#`$^a#a$^a#b$^a#c$^a#e$^a#g$^a#i$^a#j$^a#m$^a'f$^a'p$^a!R$^a~P%=SOu(SOx(TOP$`a'w$`a'x$`a!S$`a~OQ$`aZ$`aj$`av$`a!a$`a!b$`a!d$`a!j$`a#[$`a#]$`a#^$`a#_$`a#`$`a#a$`a#b$`a#c$`a#e$`a#g$`a#i$`a#j$`a#m$`a'f$`a'p$`a!R$`a~P%?WOQ$naZ$naj$nav$na!a$na!b$na!d$na!j$na#[$na#]$na#^$na#_$na#`$na#a$na#b$na#c$na#e$na#g$na#i$na#j$na#m$na'f$na'p$na!R$na!S$na~P%%aO#m$Yq!R$Yq!S$Yq~P#*XO#m$Zq!R$Zq!S$Zq~P#*XO!S6hO~O#m6iO~P!#{O!]!wO!R&ti!c&ti~O!]!wO'p&oO!R&ti!c&ti~O!R-RO!c'}q~O!O&vi!R&vi~P!BpO!R-ZO!O(Oq~O!O6oO~P!BpO!O6oO~O!R'dy'a'dy~P!#{O!R&ya!T&ya~P!BpO!T$tq_$tq!R$tq'W$tq~P!BpOZ6vO~O!R.^O!S(Vq~O]6yO~O!T&dO%Q6zO~O!T&dO%Q6zO~P!BpO!{6{O!R&{a!S&{a~O!R2oO!S(Si~P#*XO!X7RO!Y7RO'^$dO'g(jO'o+iO~O!W7TO!x4SO~P%GXO!T.yO%Q7WO~O!T.yO%Q7WO~P!BpO]7_O'g7^O~O!R/VO!S(Tq~O!c7aO~O!c7aO~P){O!c7cO~O!c7dO~O!R#Ty!S#Ty~P#*XO_$^O!{7jO'W$^O~O_$^O!]!wO!{7jO'W$^O~O!X7mO!Y7mO'^$dO'g(jO'o+iO~O_$^O!]!wO!j7nO!{7jO'W$^O'p&oO~O#m#ky!R#ky!S#ky~P#*XOQ$giZ$gij$giv$gi!a$gi!b$gi!d$gi!j$gi#[$gi#]$gi#^$gi#_$gi#`$gi#a$gi#b$gi#c$gi#e$gi#g$gi#i$gi#j$gi#m$gi'f$gi'p$gi!R$gi!S$gi~P%%aOu(SOx(TO'x(XOP$xi'w$xi!S$xi~OQ$xiZ$xij$xiv$xi!a$xi!b$xi!d$xi!j$xi#[$xi#]$xi#^$xi#_$xi#`$xi#a$xi#b$xi#c$xi#e$xi#g$xi#i$xi#j$xi#m$xi'f$xi'p$xi!R$xi~P%LjOu(SOx(TOP$zi'w$zi'x$zi!S$zi~OQ$ziZ$zij$ziv$zi!a$zi!b$zi!d$zi!j$zi#[$zi#]$zi#^$zi#_$zi#`$zi#a$zi#b$zi#c$zi#e$zi#g$zi#i$zi#j$zi#m$zi'f$zi'p$zi!R$zi~P%NnO#m$Zy!R$Zy!S$Zy~P#*XO#m#Oy!R#Oy!S#Oy~P#*XO!]!wO!R&tq!c&tq~O!R-RO!c'}y~O!O&vq!R&vq~P!BpO!O7tO~P!BpO!R.^O!S(Vy~O!R2oO!S(Sq~O!X8QO!Y8QO'^$dO'g(jO'o+iO~O!T.yO%Q8TO~O!T.yO%Q8TO~P!BpO!c8WO~O_$^O!{8]O'W$^O~O_$^O!]!wO!{8]O'W$^O~OQ$gqZ$gqj$gqv$gq!a$gq!b$gq!d$gq!j$gq#[$gq#]$gq#^$gq#_$gq#`$gq#a$gq#b$gq#c$gq#e$gq#g$gq#i$gq#j$gq#m$gq'f$gq'p$gq!R$gq!S$gq~P%%aOQ$iqZ$iqj$iqv$iq!a$iq!b$iq!d$iq!j$iq#[$iq#]$iq#^$iq#_$iq#`$iq#a$iq#b$iq#c$iq#e$iq#g$iq#i$iq#j$iq#m$iq'f$iq'p$iq!R$iq!S$iq~P%%aO'a$|!Z!R$|!Z!{$|!Z#m$|!Z~P!#{O!R&{q!S&{q~P#*XO_$^O!{8oO'W$^O~O#W$|!ZQ$|!ZZ$|!Z_$|!Zj$|!Zv$|!Z!R$|!Z!a$|!Z!b$|!Z!d$|!Z!j$|!Z#[$|!Z#]$|!Z#^$|!Z#_$|!Z#`$|!Z#a$|!Z#b$|!Z#c$|!Z#e$|!Z#g$|!Z#i$|!Z#j$|!Z'W$|!Z'f$|!Z'p$|!Z!c$|!Z!O$|!Z!T$|!Z!{$|!Zn$|!Z%Q$|!Z!]$|!Z~P!BpOP;uOu(SOx(TO'w(VO'x(XO~O!S!za!W!za!X!za!Y!za!r!za!s!za!t!za!x!za'^!za'g!za'o!za~P&,_O!W'eX!X'eX!Y'eX!r'eX!s'eX!t'eX!x'eX'^'eX'g'eX'o'eX~P%'eOQ$|!ZZ$|!Zj$|!Zv$|!Z!a$|!Z!b$|!Z!d$|!Z!j$|!Z#[$|!Z#]$|!Z#^$|!Z#_$|!Z#`$|!Z#a$|!Z#b$|!Z#c$|!Z#e$|!Z#g$|!Z#i$|!Z#j$|!Z#m$|!Z'f$|!Z'p$|!Z!R$|!Z!S$|!Z~P%%aO!Wra!Xra!Yra!rra!sra!tra!xra'^ra'gra'ora~P%;OO!W$^a!X$^a!Y$^a!r$^a!s$^a!t$^a!x$^a'^$^a'g$^a'o$^a~P%=SO!W$`a!X$`a!Y$`a!r$`a!s$`a!t$`a!x$`a'^$`a'g$`a'o$`a~P%?WO!S$na!W$na!X$na!Y$na!r$na!s$na!t$na!x$na'^$na'g$na'o$na~P&,_O!W$xi!X$xi!Y$xi!r$xi!s$xi!t$xi!x$xi'^$xi'g$xi'o$xi~P%LjO!W$zi!X$zi!Y$zi!r$zi!s$zi!t$zi!x$zi'^$zi'g$zi'o$zi~P%NnO!S$gi!W$gi!X$gi!Y$gi!r$gi!s$gi!t$gi!x$gi'^$gi'g$gi'o$gi~P&,_O!S$gq!W$gq!X$gq!Y$gq!r$gq!s$gq!t$gq!x$gq'^$gq'g$gq'o$gq~P&,_O!S$iq!W$iq!X$iq!Y$iq!r$iq!s$iq!t$iq!x$iq'^$iq'g$iq'o$iq~P&,_O!S$|!Z!W$|!Z!X$|!Z!Y$|!Z!r$|!Z!s$|!Z!t$|!Z!x$|!Z'^$|!Z'g$|!Z'o$|!Z~P&,_On'hX~P.jOn[X!O[X!c[X%r[X!T[X%Q[X!][X~P$zO!]dX!c[X!cdX'pdX~P;dOQ9^OR9^O]cOb;`Oc!jOhcOj9^OkcOlcOq9^Os9^OxRO{cO|cO}cO!TSO!_9`O!dUO!g9^O!h9^O!i9^O!j9^O!k9^O!n!iO#t!lO#x^O']'cO'fQO'oYO'|;^O~O]#qOh$QOj#rOk#qOl#qOq$ROs9uOx#yO!T#zO!_;fO!d#vO#V:OO#t$VO$_9xO$a9{O$d$WO']&{O'b$PO'f#sO~O!R9pO!S$]a~O]#qOh$QOj#rOk#qOl#qOq$ROs9vOx#yO!T#zO!_;gO!d#vO#V:PO#t$VO$_9yO$a9|O$d$WO']&{O'b$PO'f#sO~O#d'jO~P&<WO!S[X!SdX~P;dO!]9dO~O#W9cO~O!]!wO#W9cO~O!{9sO~O#c9iO~O!{:QO!R'uX!S'uX~O!{9sO!R'sX!S'sX~O#W:RO~O'a:TO~P!#{O#W:[O~O#W:]O~O#W:^O~O!]!wO#W:_O~O!]!wO#W:RO~O#m:`O~P#*XO#W:aO~O#W:bO~O#W:cO~O#W:dO~O#W:eO~O#W:fO~O#W:gO~O#W:hO~O!O:iO~O#m:jO~P!#{O#m:kO~P!#{O#m:lO~P!#{O!O:mO~P!BpO!O:mO~O!O:nO~P!BpO!]!wO#c;lO~O!]!wO#c;nO~O#x~!b!r!t!u#U#V'|$_$a$d$u%P%Q%R%X%Z%^%_%a%c~UT#x'|#]}'Y'Z#z'Y']'g~",goto:"#Kk(ZPPPPPPPP([P(lP*`PPPP-zPP.a3s7o8SP8SPPP8SP:U8SP8SP:YPP:`P:t?VPPPP?ZPPPP?ZA{PPPBRDdP?ZPFwPPPPHp?ZPPPPPJi?ZPPMjNgPPPPNk!!TP!!]!#^PNg?Z?Z!&n!)i!.[!.[!1kPPP!1r!4h?ZPPPPPPPPPP!7_P!8pPP?Z!9}P?ZP?Z?Z?Z?ZP?Z!;dPP!>]P!AQ!AY!A^!A^P!>YP!Ab!AbP!DVP!DZ?Z?Z!Da!GT8SP8SP8S8SP!HW8S8S!Jf8S!M_8S# g8S8S#!T#$c#$c#$g#$c#$oP#$cP8S#%k8S#'X8S8S-zPPP#(yPP#)c#)cP#)cP#)x#)cPP#*OP#)uP#)u#*b!!X#)u#+P#+V#+Y([#+]([P#+d#+d#+dP([P([P([P([PP([P#+j#+mP#+m([P#+qP#+tP([P([P([P([P([P([([#+z#,U#,[#,b#,p#,v#,|#-W#-^#-m#-s#.R#.X#._#.m#/S#0z#1Y#1`#1f#1l#1r#1|#2S#2Y#2d#2v#2|PPPPPPPP#3SPP#3v#7OPP#8f#8m#8uPP#>a#@t#Fp#Fs#Fv#GR#GUPP#GX#G]#Gz#Hq#Hu#IZPP#I_#Ie#IiP#Il#Ip#Is#Jc#Jy#KO#KR#KU#K[#K_#Kc#KgmhOSj}!n$]%c%f%g%i*o*t/g/jQ$imQ$ppQ%ZyS&V!b+`Q&k!jS(l#z(qQ)g$jQ)t$rQ*`%TQ+f&^S+k&d+mQ+}&lQ-k(sQ/U*aY0Z+o+p+q+r+sS2t.y2vU3|0[0^0aU5g2y2z2{S6]4O4RS7R5h5iQ7m6_R8Q7T$p[ORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#b#e$]$n%[%_%c%e%f%g%i%m%x%z&S&_&f&p&}'R(R)V)^*k*o*t+T+x,P,b,h-u-z.S.].|/_/`/a/c/g/j/l0T0j0t2i3R3f3h3i3x5o5}6W7j8]8o!j'e#]#k&W'w+X+[,m/{1X2q3q6{9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aQ(}$SQ)l$lQ*b%WQ*i%`Q,X9tQ.W)aQ.c)mQ/^*gQ2_.^Q3Z/VQ4^9vQ5S2`R8{9upeOSjy}!n$]%Y%c%f%g%i*o*t/g/jR*d%[&WVOSTjkn}!S!W!k!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#]#b#e#k$]$n%[%_%`%c%e%f%g%i%m%z&S&_&f&p&}'R'w(R)V)^*k*o*t+T+X+[+x,P,b,h,m-u-z.S.].|/_/`/a/c/g/j/l/{0T0j0t1X2i2q3R3f3h3i3q3x5o5}6W6{7j8]8o9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;`;a[!cRU!]!`%x&WQ$clQ$hmS$mp$rv$wrs!r!u$Z$u&`&t&w)x)y)z*m+Y+h,S,U/o0lQ%PwQ&h!iQ&j!jS(_#v(cS)f$i$jQ)j$lQ)w$tQ*Z%RQ*_%TS+|&k&lQ-V(`Q.[)gQ.b)mQ.d)nQ.g)rQ/P*[S/T*`*aQ0h+}Q1b-RQ2^.^Q2b.aQ2g.iQ3Y/UQ4i1cQ5R2`Q5U2dQ6u5QR7w6vx#xa!y$T$U$Y(W(Y(b(w(x,_-Y-w1a1y6i;^;i;j;k!Y$fm!j$h$i$j&U&j&k&l(k)f)g+]+j+|+}-d.[0Q0W0]0h1u3{4Q6Z7k8^Q)`$cQ*P$|Q*S$}Q*^%TQ.k)wQ/O*ZU/S*_*`*aQ3T/PS3X/T/UQ5b2sQ5t3YS7P5c5fS8O7Q7SQ8f8PQ8u8g#[;b!w#d#v#y&g'}(Z(h)])_)a*O*R+y-Z-].R.T.p.s.{.}1k1s2Q2T2X2j3Q3S4l4u4}5k5p6z7W8T9w9z9}:U:X:[:a:d:j;l;n;t;u;vd;c9d9x9{:O:V:Y:]:b:e:ke;d9r9y9|:P:W:Z:^:c:f:lW#}a$P(y;^S$|t%YQ$}uQ%OvR)}$z%P#|a!w!y#d#v#y$T$U$Y&g'}(W(Y(Z(b(h(w(x)])_)a*O*R+y,_-Y-Z-]-w.R.T.p.s.{.}1a1k1s1y2Q2T2X2j3Q3S4l4u4}5k5p6i6z7W8T9d9r9w9x9y9z9{9|9}:O:P:U:V:W:X:Y:Z:[:]:^:a:b:c:d:e:f:j:k:l;^;i;j;k;l;n;t;u;vT(O#s(PX)O$S9t9u9vU&Z!b$v+cQ'U!{Q)q$oQ.t*TQ1z-tR5^2o&^cORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#]#b#e#k$]$n%[%_%`%c%e%f%g%i%m%x%z&S&W&_&f&p&}'R'w(R)V)^*k*o*t+T+X+[+x,P,b,h,m-u-z.S.].|/_/`/a/c/g/j/l/{0T0j0t1X2i2q3R3f3h3i3q3x5o5}6W6{7j8]8o9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;a$]#aZ!_!o$a%w%}&y'Q'W'X'Y'Z'[']'^'_'`'a'b'd'g'k'u)p+R+^+g,O,^,d,g,i,w-x/v/y0i0s0w0x0y0z0{0|0}1O1P1Q1R1S1T1W1]2O2[3s3v4W4[4]4b4c5`6S6V6b6f6g7g7z8Z8m8y9_:|T!XQ!Y&_cORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#]#b#e#k$]$n%[%_%`%c%e%f%g%i%m%x%z&S&W&_&f&p&}'R'w(R)V)^*k*o*t+T+X+[+x,P,b,h,m-u-z.S.].|/_/`/a/c/g/j/l/{0T0j0t1X2i2q3R3f3h3i3q3x5o5}6W6{7j8]8o9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aQ&X!bR/|+`Y&R!b&V&^+`+fS(k#z(qS+j&d+mS-d(l(sQ-e(mQ-l(tQ.v*VU0W+k+o+pU0]+q+r+sS0b+t2xQ1u-kQ1w-mQ1x-nS2s.y2vU3{0Z0[0^Q4P0_Q4Q0aS5c2t2{S5f2y2zU6Z3|4O4RQ6`4SS7Q5g5hQ7S5iS7k6]6_S8P7R7TQ8^7mQ8g8QQ;h;oR;m;slhOSj}!n$]%c%f%g%i*o*t/g/jQ%k!QS&x!v9cQ)d$gQ*X%PQ*Y%QQ+z&iS,]&}:RS-y)V:_Q.Y)eQ.x*WQ/n*vQ/p*wQ/x+ZQ0`+qQ0f+{S2P-z:gQ2Y.ZS2].]:hQ3r/zQ3u0RQ4U0gQ5P2ZQ6T3tQ6X3zQ6a4VQ7e6RQ7h6YQ8Y7iQ8l8[R8x8n$W#`Z!_!o%w%}&y'Q'W'X'Y'Z'[']'^'_'`'a'b'd'g'k'u)p+R+^+g,O,^,d,g,w-x/v/y0i0s0w0x0y0z0{0|0}1O1P1Q1R1S1T1W1]2O2[3s3v4W4[4]4b4c5`6S6V6b6f6g7g7z8Z8m8y9_:|W(v#{&|1V8qT)Z$a,i$W#_Z!_!o%w%}&y'Q'W'X'Y'Z'[']'^'_'`'a'b'd'g'k'u)p+R+^+g,O,^,d,g,w-x/v/y0i0s0w0x0y0z0{0|0}1O1P1Q1R1S1T1W1]2O2[3s3v4W4[4]4b4c5`6S6V6b6f6g7g7z8Z8m8y9_:|Q'f#`S)Y$a,iR-{)Z&^cORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#]#b#e#k$]$n%[%_%`%c%e%f%g%i%m%x%z&S&W&_&f&p&}'R'w(R)V)^*k*o*t+T+X+[+x,P,b,h,m-u-z.S.].|/_/`/a/c/g/j/l/{0T0j0t1X2i2q3R3f3h3i3q3x5o5}6W6{7j8]8o9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aQ%f{Q%g|Q%i!OQ%j!PR/f*rQ&e!iQ)[$cQ+w&hS.Q)`)wS0c+u+vW2S-}.O.P.kS4T0d0eU4|2U2V2WU6s4{5Y5ZQ7v6tR8b7yT+l&d+mS+j&d+mU0W+k+o+pU0]+q+r+sS0b+t2xS2s.y2vU3{0Z0[0^Q4P0_Q4Q0aS5c2t2{S5f2y2zU6Z3|4O4RQ6`4SS7Q5g5hQ7S5iS7k6]6_S8P7R7TQ8^7mR8g8QS+l&d+mT2u.y2vS&r!q/dQ-U(_Q-b(kS0V+j2sQ1g-VS1p-c-lU3}0]0b5fQ4h1bS4s1v1xU6^4P4Q7SQ6k4iQ6r4vR7n6`Q!xXS&q!q/dQ)W$[Q)b$eQ)h$kQ,Q&rQ-T(_Q-a(kQ-f(nQ.X)cQ/Q*]S0U+j2sS1f-U-VS1o-b-lQ1r-eQ1t-gQ3V/RW3y0V0]0b5fQ4g1bQ4k1gS4o1p1xQ4t1wQ5r3WW6[3}4P4Q7SS6j4h4iS6n4p:iQ6p4sQ6}5aQ7[5sS7l6^6`Q7r6kS7s6o:mQ7u6rQ7|7OQ8V7]Q8_7nS8a7t:nQ8d7}Q8s8eQ9Q8tQ9X9RQ:u:pQ;T:zQ;U:{Q;V;hR;[;m$rWORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#b#e$]$n%[%_%`%c%e%f%g%i%m%x%z&S&_&f&p&}'R(R)V)^*k*o*t+T+x,P,b,h-u-z.S.].|/_/`/a/c/g/j/l0T0j0t2i3R3f3h3i3x5o5}6W7j8]8oS!xn!k!j:o#]#k&W'w+X+[,m/{1X2q3q6{9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aR:u;`$rXORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#b#e$]$n%[%_%`%c%e%f%g%i%m%x%z&S&_&f&p&}'R(R)V)^*k*o*t+T+x,P,b,h-u-z.S.].|/_/`/a/c/g/j/l0T0j0t2i3R3f3h3i3x5o5}6W7j8]8oQ$[b!Y$em!j$h$i$j&U&j&k&l(k)f)g+]+j+|+}-d.[0Q0W0]0h1u3{4Q6Z7k8^S$kn!kQ)c$fQ*]%TW/R*^*_*`*aU3W/S/T/UQ5a2sS5s3X3YU7O5b5c5fQ7]5tU7}7P7Q7SS8e8O8PS8t8f8gQ9R8u!j:p#]#k&W'w+X+[,m/{1X2q3q6{9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aQ:z;_R:{;`$f]OSTjk}!S!W!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#b#e$]$n%[%_%c%e%f%g%i%m%z&S&_&f&p&}'R(R)V)^*k*o*t+T+x,P,b,h-u-z.S.].|/_/`/a/c/g/j/l0T0j0t2i3R3f3h3i3x5o5}6W7j8]8oY!hRU!]!`%xv$wrs!r!u$Z$u&`&t&w)x)y)z*m+Y+h,S,U/o0lQ*j%`!h:q#]#k'w+X+[,m/{1X2q3q6{9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aR:t&WS&[!b$vR0O+c$p[ORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#b#e$]$n%[%_%c%e%f%g%i%m%x%z&S&_&f&p&}'R(R)V)^*k*o*t+T+x,P,b,h-u-z.S.].|/_/`/a/c/g/j/l0T0j0t2i3R3f3h3i3x5o5}6W7j8]8o!j'e#]#k&W'w+X+[,m/{1X2q3q6{9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aR*i%`$roORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#b#e$]$n%[%_%`%c%e%f%g%i%m%x%z&S&_&f&p&}'R(R)V)^*k*o*t+T+x,P,b,h-u-z.S.].|/_/`/a/c/g/j/l0T0j0t2i3R3f3h3i3x5o5}6W7j8]8oQ'U!{!k:r#]#k&W'w+X+[,m/{1X2q3q6{9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;a!h#VZ!_$a%w%}&y'Q'_'`'a'b'g'k)p+R+g,O,^,d,w-x0i0s1T2O2[3v4W4[6V7g8Z8m8y9_!R9k'd'u+^,i/v/y0w1P1Q1R1S1W1]3s4]4b4c5`6S6b6f6g7z:|!d#XZ!_$a%w%}&y'Q'a'b'g'k)p+R+g,O,^,d,w-x0i0s1T2O2[3v4W4[6V7g8Z8m8y9_}9m'd'u+^,i/v/y0w1R1S1W1]3s4]4b4c5`6S6b6f6g7z:|!`#]Z!_$a%w%}&y'Q'g'k)p+R+g,O,^,d,w-x0i0s1T2O2[3v4W4[6V7g8Z8m8y9_Q1a-Px;a'd'u+^,i/v/y0w1W1]3s4]4b4c5`6S6b6f6g7z:|Q;i;pQ;j;qR;k;r&^cORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#]#b#e#k$]$n%[%_%`%c%e%f%g%i%m%x%z&S&W&_&f&p&}'R'w(R)V)^*k*o*t+T+X+[+x,P,b,h,m-u-z.S.].|/_/`/a/c/g/j/l/{0T0j0t1X2i2q3R3f3h3i3q3x5o5}6W6{7j8]8o9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aS#l`#mR1Y,l&e_ORSTU`jk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#]#b#e#k#m$]$n%[%_%`%c%e%f%g%i%m%x%z&S&W&_&f&p&}'R'w(R)V)^*k*o*t+T+X+[+x,P,b,h,l,m-u-z.S.].|/_/`/a/c/g/j/l/{0T0j0t1X2i2q3R3f3h3i3q3x5o5}6W6{7j8]8o9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aS#g^#nT'n#i'rT#h^#nT'p#i'r&e`ORSTU`jk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#]#b#e#k#m$]$n%[%_%`%c%e%f%g%i%m%x%z&S&W&_&f&p&}'R'w(R)V)^*k*o*t+T+X+[+x,P,b,h,l,m-u-z.S.].|/_/`/a/c/g/j/l/{0T0j0t1X2i2q3R3f3h3i3q3x5o5}6W6{7j8]8o9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aT#l`#mQ#o`R'y#m$rbORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#b#e$]$n%[%_%`%c%e%f%g%i%m%x%z&S&_&f&p&}'R(R)V)^*k*o*t+T+x,P,b,h-u-z.S.].|/_/`/a/c/g/j/l0T0j0t2i3R3f3h3i3x5o5}6W7j8]8o!k;_#]#k&W'w+X+[,m/{1X2q3q6{9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;a#RdOSUj}!S!W!n!|#k$]%[%_%`%c%e%f%g%i%m&S&f'w)^*k*o*t+x,m-u.S.|/_/`/a/c/g/j/l1X2i3R3f3h3i5o5}x#{a!y$T$U$Y(W(Y(b(w(x,_-Y-w1a1y6i;^;i;j;k#[&|!w#d#v#y&g'}(Z(h)])_)a*O*R+y-Z-].R.T.p.s.{.}1k1s2Q2T2X2j3Q3S4l4u4}5k5p6z7W8T9w9z9}:U:X:[:a:d:j;l;n;t;u;vQ)S$WQ,x(Sd1V9r9y9|:P:W:Z:^:c:f:le8q9d9x9{:O:V:Y:]:b:e:kx#wa!y$T$U$Y(W(Y(b(w(x,_-Y-w1a1y6i;^;i;j;kQ(d#xS(n#z(qQ)T$XQ-g(o#[:w!w#d#v#y&g'}(Z(h)])_)a*O*R+y-Z-].R.T.p.s.{.}1k1s2Q2T2X2j3Q3S4l4u4}5k5p6z7W8T9w9z9}:U:X:[:a:d:j;l;n;t;u;vd:x9d9x9{:O:V:Y:]:b:e:kd:y9r9y9|:P:W:Z:^:c:f:lQ:};bQ;O;cQ;P;dQ;Q;eQ;R;fR;S;gx#{a!y$T$U$Y(W(Y(b(w(x,_-Y-w1a1y6i;^;i;j;k#[&|!w#d#v#y&g'}(Z(h)])_)a*O*R+y-Z-].R.T.p.s.{.}1k1s2Q2T2X2j3Q3S4l4u4}5k5p6z7W8T9w9z9}:U:X:[:a:d:j;l;n;t;u;vd1V9r9y9|:P:W:Z:^:c:f:le8q9d9x9{:O:V:Y:]:b:e:klfOSj}!n$]%c%f%g%i*o*t/g/jQ(g#yQ*}%pQ+O%rR1j-Z%O#|a!w!y#d#v#y$T$U$Y&g'}(W(Y(Z(b(h(w(x)])_)a*O*R+y,_-Y-Z-]-w.R.T.p.s.{.}1a1k1s1y2Q2T2X2j3Q3S4l4u4}5k5p6i6z7W8T9d9r9w9x9y9z9{9|9}:O:P:U:V:W:X:Y:Z:[:]:^:a:b:c:d:e:f:j:k:l;^;i;j;k;l;n;t;u;vQ*Q$}Q.r*SQ2m.qR5]2nT(p#z(qS(p#z(qT2u.y2vQ)b$eQ-f(nQ.X)cQ/Q*]Q3V/RQ5r3WQ6}5aQ7[5sQ7|7OQ8V7]Q8d7}Q8s8eQ9Q8tR9X9Rp(W#t'O)U-X-o-p0q1h1}4f4w7q:v;W;X;Y!n:U&z'i(^(f+v,[,t-P-^-|.P.o.q0e0p1i1m2W2l2n3O4Y4Z4m4q4y5O5Z5n6m6q7Y8`;Z;];p;q;r[:V8p9O9V9Y9Z9]]:W1U4a6c7o7p8zr(Y#t'O)U,}-X-o-p0q1h1}4f4w7q:v;W;X;Y!p:X&z'i(^(f+v,[,t-P-^-|.P.o.q0e0n0p1i1m2W2l2n3O4Y4Z4m4q4y5O5Z5n6m6q7Y8`;Z;];p;q;r^:Y8p9O9T9V9Y9Z9]_:Z1U4a6c6d7o7p8zpeOSjy}!n$]%Y%c%f%g%i*o*t/g/jQ%VxR*k%`peOSjy}!n$]%Y%c%f%g%i*o*t/g/jR%VxQ*U%OR.n)}qeOSjy}!n$]%Y%c%f%g%i*o*t/g/jQ.z*ZS3P/O/PW5j2|2}3O3TU7V5l5m5nU8R7U7X7YQ8h8SR8v8iQ%^yR*e%YR3^/XR7_5uS$mp$rR.d)nQ%czR*o%dR*u%jT/h*t/jR*y%kQ*x%kR/q*yQjOQ!nST$`j!nQ(P#sR,u(PQ!YQR%u!YQ!^RU%{!^%|+UQ%|!_R+U%}Q+a&XR/}+aQ,`'OR0r,`Q,c'QS0u,c0vR0v,dQ+m&dR0X+mS!eR$uU&a!e&b+VQ&b!fR+V&OQ+d&[R0P+dQ&u!sQ,R&sU,V&u,R0mR0m,WQ'r#iR,n'rQ#m`R'x#mQ#cZU'h#c+Q9qQ+Q9_R9q'uQ-S(_W1d-S1e4j6lU1e-T-U-VS4j1f1gR6l4k$k(U#t&z'O'i(^(f)P)Q)U+v,Y,Z,[,t,}-O-P-X-^-o-p-|.P.o.q0e0n0o0p0q1U1h1i1m1}2W2l2n3O4Y4Z4_4`4a4f4m4q4w4y5O5Z5n6c6d6e6m6q7Y7o7p7q8`8p8z8|8}9O9T9U9V9Y9Z9]:v;W;X;Y;Z;];p;q;rQ-[(fU1l-[1n4nQ1n-^R4n1mQ(q#zR-i(qQ(z$OR-r(zQ2R-|R4z2RQ){$xR.m){Q2p.tS5_2p6|R6|5`Q*W%PR.w*WQ2v.yR5d2vQ/W*bS3[/W5vR5v3^Q._)jW2a._2c5T6wQ2c.bQ5T2bR6w5UQ)o$mR.e)oQ/j*tR3l/jWiOSj!nQ%h}Q)X$]Q*n%cQ*p%fQ*q%gQ*s%iQ/e*oS/h*t/jR3k/gQ$_gQ%l!RQ%o!TQ%q!UQ%s!VQ)v$sQ)|$yQ*d%^Q*{%nQ-h(pS/Z*e*hQ/r*zQ/s*}Q/t+OS0S+j2sQ2f.hQ2k.oQ3U/QQ3`/]Q3j/fY3w0U0V0]0b5fQ5X2hQ5[2lQ5q3VQ5w3_[6U3v3y3}4P4Q7SQ6x5VQ7Z5rQ7`5xW7f6V6[6^6`Q7x6yQ7{6}Q8U7[U8X7g7l7nQ8c7|Q8j8VS8k8Z8_Q8r8dQ8w8mQ9P8sQ9S8yQ9W9QR9[9XQ$gmQ&i!jU)e$h$i$jQ+Z&UU+{&j&k&lQ-`(kS.Z)f)gQ/z+]Q0R+jS0g+|+}Q1q-dQ2Z.[Q3t0QS3z0W0]Q4V0hQ4r1uS6Y3{4QQ7i6ZQ8[7kR8n8^S#ua;^R({$PU$Oa$P;^R-q(yQ#taS&z!w)aQ'O!yQ'i#dQ(^#vQ(f#yQ)P$TQ)Q$UQ)U$YQ+v&gQ,Y9wQ,Z9zQ,[9}Q,t'}Q,}(WQ-O(YQ-P(ZQ-X(bQ-^(hQ-o(wQ-p(xd-|)].R.{2T3Q4}5k6z7W8TQ.P)_Q.o*OQ.q*RQ0e+yQ0n:UQ0o:XQ0p:[Q0q,_Q1U9rQ1h-YQ1i-ZQ1m-]Q1}-wQ2W.TQ2l.pQ2n.sQ3O.}Q4Y:aQ4Z:dQ4_9yQ4`9|Q4a:PQ4f1aQ4m1kQ4q1sQ4w1yQ4y2QQ5O2XQ5Z2jQ5n3SQ6c:^Q6d:WQ6e:ZQ6m4lQ6q4uQ7Y5pQ7o:cQ7p:fQ7q6iQ8`:jQ8p9dQ8z:lQ8|9xQ8}9{Q9O:OQ9T:VQ9U:YQ9V:]Q9Y:bQ9Z:eQ9]:kQ:v;^Q;W;iQ;X;jQ;Y;kQ;Z;lQ;];nQ;p;tQ;q;uR;r;vlgOSj}!n$]%c%f%g%i*o*t/g/jS!pU%eQ%n!SQ%t!WQ'V!|Q'v#kS*h%[%_Q*l%`Q*z%mQ+W&SQ+u&fQ,r'wQ.O)^Q/b*kQ0d+xQ1[,mQ1{-uQ2V.SQ2}.|Q3b/_Q3c/`Q3e/aQ3g/cQ3n/lQ4d1XQ5Y2iQ5m3RQ5|3fQ6O3hQ6P3iQ7X5oR7b5}!vZOSUj}!S!n!|$]%[%_%`%c%e%f%g%i%m&S&f)^*k*o*t+x-u.S.|/_/`/a/c/g/j/l2i3R3f3h3i5o5}Q!_RQ!oTQ$akS%w!]%zQ%}!`Q&y!vQ'Q!zQ'W#PQ'X#QQ'Y#RQ'Z#SQ'[#TQ']#UQ'^#VQ'_#WQ'`#XQ'a#YQ'b#ZQ'd#]Q'g#bQ'k#eW'u#k'w,m1XQ)p$nS+R%x+TS+^&W/{Q+g&_Q,O&pQ,^&}Q,d'RQ,g9^Q,i9`Q,w(RQ-x)VQ/v+XQ/y+[Q0i,PQ0s,bQ0w9cQ0x9eQ0y9fQ0z9gQ0{9hQ0|9iQ0}9jQ1O9kQ1P9lQ1Q9mQ1R9nQ1S9oQ1T,hQ1W9sQ1]9pQ2O-zQ2[.]Q3s:QQ3v0TQ4W0jQ4[0tQ4]:RQ4b:TQ4c:_Q5`2qQ6S3qQ6V3xQ6b:`Q6f:gQ6g:hQ7g6WQ7z6{Q8Z7jQ8m8]Q8y8oQ9_!WR:|;aR!aRR&Y!bS&U!b+`S+]&V&^R0Q+fR'P!yR'S!zT!tU$ZS!sU$ZU$xrs*mS&s!r!uQ,T&tQ,W&wQ.l)zS0k,S,UR4X0l`!dR!]!`$u%x&`)x+hh!qUrs!r!u$Z&t&w)z,S,U0lQ/d*mQ/w+YQ3p/oT:s&W)yT!gR$uS!fR$uS%y!]&`S&O!`)xS+S%x+hT+_&W)yT&]!b$vQ#i^R'{#nT'q#i'rR1Z,lT(a#v(cR(i#yQ-})]Q2U.RQ2|.{Q4{2TQ5l3QQ6t4}Q7U5kQ7y6zQ8S7WR8i8TlhOSj}!n$]%c%f%g%i*o*t/g/jQ%]yR*d%YV$yrs*mR.u*TR*c%WQ$qpR)u$rR)k$lT%az%dT%bz%dT/i*t/j",nodeNames:"\u26A0 extends ArithOp ArithOp InterpolationStart LineComment BlockComment Script ExportDeclaration export Star as VariableName String from ; default FunctionDeclaration async function VariableDefinition TypeParamList TypeDefinition ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString Interpolation null super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression await yield delete LogicOp BitOp ParenthesizedExpression ClassExpression class extends ClassBody MethodDeclaration Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression PrivatePropertyName BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody MethodDeclaration AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement",maxTerm:332,context:wc,nodeProps:[["closedBy",4,"InterpolationEnd",40,"]",51,"}",66,")",132,"JSXSelfCloseEndTag JSXEndTag",146,"JSXEndTag"],["group",-26,8,15,17,58,184,188,191,192,194,197,200,211,213,219,221,223,225,228,234,240,242,244,246,248,250,251,"Statement",-30,12,13,24,27,28,41,43,44,45,47,52,60,68,74,75,91,92,101,103,119,122,124,125,126,127,129,130,148,149,151,"Expression",-22,23,25,29,32,34,152,154,156,157,159,160,161,163,164,165,167,168,169,178,180,182,183,"Type",-3,79,85,90,"ClassItem"],["openedBy",30,"InterpolationStart",46,"[",50,"{",65,"(",131,"JSXStartTag",141,"JSXStartTag JSXStartCloseTag"]],propSources:[Rc],skippedNodes:[0,5,6],repeatNodeCount:28,tokenData:"!C}~R!`OX%TXY%cYZ'RZ[%c[]%T]^'R^p%Tpq%cqr'crs(kst0htu2`uv4pvw5ewx6cxy<yyz=Zz{=k{|>k|}?O}!O>k!O!P?`!P!QCl!Q!R!0[!R![!1q![!]!7s!]!^!8V!^!_!8g!_!`!9d!`!a!:[!a!b!<R!b!c%T!c!}2`!}#O!=d#O#P%T#P#Q!=t#Q#R!>U#R#S2`#S#T!>i#T#o2`#o#p!>y#p#q!?O#q#r!?f#r#s!?x#s$f%T$f$g%c$g#BY2`#BY#BZ!@Y#BZ$IS2`$IS$I_!@Y$I_$I|2`$I|$I}!Bq$I}$JO!Bq$JO$JT2`$JT$JU!@Y$JU$KV2`$KV$KW!@Y$KW&FU2`&FU&FV!@Y&FV?HT2`?HT?HU!@Y?HU~2`W%YR$UWO!^%T!_#o%T#p~%T7Z%jg$UW'Y7ROX%TXY%cYZ%TZ[%c[p%Tpq%cq!^%T!_#o%T#p$f%T$f$g%c$g#BY%T#BY#BZ%c#BZ$IS%T$IS$I_%c$I_$JT%T$JT$JU%c$JU$KV%T$KV$KW%c$KW&FU%T&FU&FV%c&FV?HT%T?HT?HU%c?HU~%T7Z'YR$UW'Z7RO!^%T!_#o%T#p~%T$T'jS$UW!j#{O!^%T!_!`'v!`#o%T#p~%T$O'}S#e#v$UWO!^%T!_!`(Z!`#o%T#p~%T$O(bR#e#v$UWO!^%T!_#o%T#p~%T)X(rZ$UW]#eOY(kYZ)eZr(krs*rs!^(k!^!_+U!_#O(k#O#P-b#P#o(k#o#p+U#p~(k&r)jV$UWOr)ers*Ps!^)e!^!_*a!_#o)e#o#p*a#p~)e&r*WR$P&j$UWO!^%T!_#o%T#p~%T&j*dROr*ars*ms~*a&j*rO$P&j)X*{R$P&j$UW]#eO!^%T!_#o%T#p~%T)P+ZV]#eOY+UYZ*aZr+Urs+ps#O+U#O#P+w#P~+U)P+wO$P&j]#e)P+zROr+Urs,Ts~+U)P,[U$P&j]#eOY,nZr,nrs-Vs#O,n#O#P-[#P~,n#e,sU]#eOY,nZr,nrs-Vs#O,n#O#P-[#P~,n#e-[O]#e#e-_PO~,n)X-gV$UWOr(krs-|s!^(k!^!_+U!_#o(k#o#p+U#p~(k)X.VZ$P&j$UW]#eOY.xYZ%TZr.xrs/rs!^.x!^!_,n!_#O.x#O#P0S#P#o.x#o#p,n#p~.x#m/PZ$UW]#eOY.xYZ%TZr.xrs/rs!^.x!^!_,n!_#O.x#O#P0S#P#o.x#o#p,n#p~.x#m/yR$UW]#eO!^%T!_#o%T#p~%T#m0XT$UWO!^.x!^!_,n!_#o.x#o#p,n#p~.x3]0mZ$UWOt%Ttu1`u!^%T!_!c%T!c!}1`!}#R%T#R#S1`#S#T%T#T#o1`#p$g%T$g~1`3]1g]$UW'o3TOt%Ttu1`u!Q%T!Q![1`![!^%T!_!c%T!c!}1`!}#R%T#R#S1`#S#T%T#T#o1`#p$g%T$g~1`7Z2k_$UW#zS']$y'g3SOt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$g%T$g~2`[3q_$UW#zSOt%Ttu3ju}%T}!O3j!O!Q%T!Q![3j![!^%T!_!c%T!c!}3j!}#R%T#R#S3j#S#T%T#T#o3j#p$g%T$g~3j$O4wS#^#v$UWO!^%T!_!`5T!`#o%T#p~%T$O5[R$UW#o#vO!^%T!_#o%T#p~%T5b5lU'x5Y$UWOv%Tvw6Ow!^%T!_!`5T!`#o%T#p~%T$O6VS$UW#i#vO!^%T!_!`5T!`#o%T#p~%T)X6jZ$UW]#eOY6cYZ7]Zw6cwx*rx!^6c!^!_8T!_#O6c#O#P:T#P#o6c#o#p8T#p~6c&r7bV$UWOw7]wx*Px!^7]!^!_7w!_#o7]#o#p7w#p~7]&j7zROw7wwx*mx~7w)P8YV]#eOY8TYZ7wZw8Twx+px#O8T#O#P8o#P~8T)P8rROw8Twx8{x~8T)P9SU$P&j]#eOY9fZw9fwx-Vx#O9f#O#P9}#P~9f#e9kU]#eOY9fZw9fwx-Vx#O9f#O#P9}#P~9f#e:QPO~9f)X:YV$UWOw6cwx:ox!^6c!^!_8T!_#o6c#o#p8T#p~6c)X:xZ$P&j$UW]#eOY;kYZ%TZw;kwx/rx!^;k!^!_9f!_#O;k#O#P<e#P#o;k#o#p9f#p~;k#m;rZ$UW]#eOY;kYZ%TZw;kwx/rx!^;k!^!_9f!_#O;k#O#P<e#P#o;k#o#p9f#p~;k#m<jT$UWO!^;k!^!_9f!_#o;k#o#p9f#p~;k&i=QR!d&a$UWO!^%T!_#o%T#p~%Tk=bR!cc$UWO!^%T!_#o%T#p~%T7V=tU'^4V#_#v$UWOz%Tz{>W{!^%T!_!`5T!`#o%T#p~%T$O>_S#[#v$UWO!^%T!_!`5T!`#o%T#p~%T%w>rSj%o$UWO!^%T!_!`5T!`#o%T#p~%T&i?VR!R&a$UWO!^%T!_#o%T#p~%T7Z?gVu5^$UWO!O%T!O!P?|!P!Q%T!Q![@r![!^%T!_#o%T#p~%T!{@RT$UWO!O%T!O!P@b!P!^%T!_#o%T#p~%T!{@iR!Q!s$UWO!^%T!_#o%T#p~%T!{@yZ$UWk!sO!Q%T!Q![@r![!^%T!_!g%T!g!hAl!h#R%T#R#S@r#S#X%T#X#YAl#Y#o%T#p~%T!{AqZ$UWO{%T{|Bd|}%T}!OBd!O!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%T!{BiV$UWO!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%T!{CVV$UWk!sO!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%T7ZCs`$UW#]#vOYDuYZ%TZzDuz{Jl{!PDu!P!Q!-e!Q!^Du!^!_Fx!_!`!.^!`!a!/]!a!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~DuXD|[$UW}POYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~DuXEy_$UW}PO!^%T!_#Z%T#Z#[Er#[#]%T#]#^Er#^#a%T#a#bEr#b#g%T#g#hEr#h#i%T#i#jEr#j#m%T#m#nEr#n#o%T#p~%TPF}V}POYFxZ!PFx!P!QGd!Q!}Fx!}#OG{#O#PHh#P~FxPGiU}P#Z#[Gd#]#^Gd#a#bGd#g#hGd#i#jGd#m#nGdPHOTOYG{Z#OG{#O#PH_#P#QFx#Q~G{PHbQOYG{Z~G{PHkQOYFxZ~FxXHvY$UWOYHqYZ%TZ!^Hq!^!_G{!_#OHq#O#PIf#P#QDu#Q#oHq#o#pG{#p~HqXIkV$UWOYHqYZ%TZ!^Hq!^!_G{!_#oHq#o#pG{#p~HqXJVV$UWOYDuYZ%TZ!^Du!^!_Fx!_#oDu#o#pFx#p~Du7ZJs^$UW}POYJlYZKoZzJlz{NQ{!PJl!P!Q!,R!Q!^Jl!^!_!!]!_!}Jl!}#O!'|#O#P!+a#P#oJl#o#p!!]#p~Jl7ZKtV$UWOzKoz{LZ{!^Ko!^!_M]!_#oKo#o#pM]#p~Ko7ZL`X$UWOzKoz{LZ{!PKo!P!QL{!Q!^Ko!^!_M]!_#oKo#o#pM]#p~Ko7ZMSR$UWU7RO!^%T!_#o%T#p~%T7RM`ROzM]z{Mi{~M]7RMlTOzM]z{Mi{!PM]!P!QM{!Q~M]7RNQOU7R7ZNX^$UW}POYJlYZKoZzJlz{NQ{!PJl!P!Q! T!Q!^Jl!^!_!!]!_!}Jl!}#O!'|#O#P!+a#P#oJl#o#p!!]#p~Jl7Z! ^_$UWU7R}PO!^%T!_#Z%T#Z#[Er#[#]%T#]#^Er#^#a%T#a#bEr#b#g%T#g#hEr#h#i%T#i#jEr#j#m%T#m#nEr#n#o%T#p~%T7R!!bY}POY!!]YZM]Zz!!]z{!#Q{!P!!]!P!Q!&x!Q!}!!]!}#O!$`#O#P!&f#P~!!]7R!#VY}POY!!]YZM]Zz!!]z{!#Q{!P!!]!P!Q!#u!Q!}!!]!}#O!$`#O#P!&f#P~!!]7R!#|UU7R}P#Z#[Gd#]#^Gd#a#bGd#g#hGd#i#jGd#m#nGd7R!$cWOY!$`YZM]Zz!$`z{!${{#O!$`#O#P!&S#P#Q!!]#Q~!$`7R!%OYOY!$`YZM]Zz!$`z{!${{!P!$`!P!Q!%n!Q#O!$`#O#P!&S#P#Q!!]#Q~!$`7R!%sTU7ROYG{Z#OG{#O#PH_#P#QFx#Q~G{7R!&VTOY!$`YZM]Zz!$`z{!${{~!$`7R!&iTOY!!]YZM]Zz!!]z{!#Q{~!!]7R!&}_}POzM]z{Mi{#ZM]#Z#[!&x#[#]M]#]#^!&x#^#aM]#a#b!&x#b#gM]#g#h!&x#h#iM]#i#j!&x#j#mM]#m#n!&x#n~M]7Z!(R[$UWOY!'|YZKoZz!'|z{!(w{!^!'|!^!_!$`!_#O!'|#O#P!*o#P#QJl#Q#o!'|#o#p!$`#p~!'|7Z!(|^$UWOY!'|YZKoZz!'|z{!(w{!P!'|!P!Q!)x!Q!^!'|!^!_!$`!_#O!'|#O#P!*o#P#QJl#Q#o!'|#o#p!$`#p~!'|7Z!*PY$UWU7ROYHqYZ%TZ!^Hq!^!_G{!_#OHq#O#PIf#P#QDu#Q#oHq#o#pG{#p~Hq7Z!*tX$UWOY!'|YZKoZz!'|z{!(w{!^!'|!^!_!$`!_#o!'|#o#p!$`#p~!'|7Z!+fX$UWOYJlYZKoZzJlz{NQ{!^Jl!^!_!!]!_#oJl#o#p!!]#p~Jl7Z!,Yc$UW}POzKoz{LZ{!^Ko!^!_M]!_#ZKo#Z#[!,R#[#]Ko#]#^!,R#^#aKo#a#b!,R#b#gKo#g#h!,R#h#iKo#i#j!,R#j#mKo#m#n!,R#n#oKo#o#pM]#p~Ko7Z!-lV$UWT7ROY!-eYZ%TZ!^!-e!^!_!.R!_#o!-e#o#p!.R#p~!-e7R!.WQT7ROY!.RZ~!.R$P!.g[$UW#o#v}POYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~Du]!/f[#wS$UW}POYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~Du!{!0cd$UWk!sO!O%T!O!P@r!P!Q%T!Q![!1q![!^%T!_!g%T!g!hAl!h#R%T#R#S!1q#S#U%T#U#V!3X#V#X%T#X#YAl#Y#b%T#b#c!2w#c#d!4m#d#l%T#l#m!5{#m#o%T#p~%T!{!1x_$UWk!sO!O%T!O!P@r!P!Q%T!Q![!1q![!^%T!_!g%T!g!hAl!h#R%T#R#S!1q#S#X%T#X#YAl#Y#b%T#b#c!2w#c#o%T#p~%T!{!3OR$UWk!sO!^%T!_#o%T#p~%T!{!3^W$UWO!Q%T!Q!R!3v!R!S!3v!S!^%T!_#R%T#R#S!3v#S#o%T#p~%T!{!3}Y$UWk!sO!Q%T!Q!R!3v!R!S!3v!S!^%T!_#R%T#R#S!3v#S#b%T#b#c!2w#c#o%T#p~%T!{!4rV$UWO!Q%T!Q!Y!5X!Y!^%T!_#R%T#R#S!5X#S#o%T#p~%T!{!5`X$UWk!sO!Q%T!Q!Y!5X!Y!^%T!_#R%T#R#S!5X#S#b%T#b#c!2w#c#o%T#p~%T!{!6QZ$UWO!Q%T!Q![!6s![!^%T!_!c%T!c!i!6s!i#R%T#R#S!6s#S#T%T#T#Z!6s#Z#o%T#p~%T!{!6z]$UWk!sO!Q%T!Q![!6s![!^%T!_!c%T!c!i!6s!i#R%T#R#S!6s#S#T%T#T#Z!6s#Z#b%T#b#c!2w#c#o%T#p~%T$u!7|R!]V$UW#m$fO!^%T!_#o%T#p~%T!q!8^R_!i$UWO!^%T!_#o%T#p~%T5w!8rR'bd!a/n#x&s'|P!P!Q!8{!^!_!9Q!_!`!9_W!9QO$WW#v!9VP#`#v!_!`!9Y#v!9_O#o#v#v!9dO#a#v$u!9kT!{$m$UWO!^%T!_!`'v!`!a!9z!a#o%T#p~%T$P!:RR#W#w$UWO!^%T!_#o%T#p~%T%V!:gT'a!R#a#v$RS$UWO!^%T!_!`!:v!`!a!;W!a#o%T#p~%T$O!:}R#a#v$UWO!^%T!_#o%T#p~%T$O!;_T#`#v$UWO!^%T!_!`5T!`!a!;n!a#o%T#p~%T$O!;uS#`#v$UWO!^%T!_!`5T!`#o%T#p~%T*a!<YV'p#{$UWO!O%T!O!P!<o!P!^%T!_!a%T!a!b!=P!b#o%T#p~%T*[!<vRv*S$UWO!^%T!_#o%T#p~%T$O!=WS$UW#j#vO!^%T!_!`5T!`#o%T#p~%T7V!=kRx6}$UWO!^%T!_#o%T#p~%Tk!={R!Oc$UWO!^%T!_#o%T#p~%T$O!>]S#g#v$UWO!^%T!_!`5T!`#o%T#p~%T$a!>pR$UW'f$XO!^%T!_#o%T#p~%T~!?OO!T~5b!?VT'w5Y$UWO!^%T!_!`5T!`#o%T#p#q!=P#q~%T6X!?oR!S5}nQ$UWO!^%T!_#o%T#p~%TX!@PR!kP$UWO!^%T!_#o%T#p~%T7Z!@gr$UW'Y7R#zS']$y'g3SOX%TXY%cYZ%TZ[%c[p%Tpq%cqt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$f%T$f$g%c$g#BY2`#BY#BZ!@Y#BZ$IS2`$IS$I_!@Y$I_$JT2`$JT$JU!@Y$JU$KV2`$KV$KW!@Y$KW&FU2`&FU&FV!@Y&FV?HT2`?HT?HU!@Y?HU~2`7Z!CO_$UW'Z7R#zS']$y'g3SOt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$g%T$g~2`",tokenizers:[Cc,Pc,Ec,_c,0,1,2,3,4,5,6,7,8,9,kc],topRules:{Script:[0,7]},dialects:{jsx:12107,ts:12109},dynamicPrecedences:{149:1,176:1},specialized:[{term:289,get:t=>Ac[t]||-1},{term:299,get:t=>qc[t]||-1},{term:63,get:t=>jc[t]||-1}],tokenPrec:12130});var B=require("@codemirror/language"),Cr=require("@codemirror/state"),ro=require("@codemirror/view"),ee=require("@codemirror/autocomplete");var Zc=[(0,ee.snippetCompletion)("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),(0,ee.snippetCompletion)("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),(0,ee.snippetCompletion)("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),(0,ee.snippetCompletion)("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),(0,ee.snippetCompletion)("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),(0,ee.snippetCompletion)(`try {
\${}
} catch (\${error}) {
\${}
}`,{label:"try",detail:"/ catch block",type:"keyword"}),(0,ee.snippetCompletion)("if (${}) {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),(0,ee.snippetCompletion)(`if (\${}) {
\${}
} else {
\${}
}`,{label:"if",detail:"/ else block",type:"keyword"}),(0,ee.snippetCompletion)(`class \${name} {
constructor(\${params}) {
\${}
}
}`,{label:"class",detail:"definition",type:"keyword"}),(0,ee.snippetCompletion)('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),(0,ee.snippetCompletion)('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],Js=new vr,no=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function Dt(t){return(e,r)=>{let n=e.node.getChild("VariableDefinition");return n&&r(n,t),!0}}var Xc=["FunctionDeclaration"],Wc={FunctionDeclaration:Dt("function"),ClassDeclaration:Dt("class"),ClassExpression:()=>!0,EnumDeclaration:Dt("constant"),TypeAliasDeclaration:Dt("type"),NamespaceDeclaration:Dt("namespace"),VariableDefinition(t,e){t.matchContext(Xc)||e(t,"variable")},TypeDefinition(t,e){e(t,"type")},__proto__:null};function io(t,e){let r=Js.get(e);if(r)return r;let n=[],i=!0;function s(o,a){let l=t.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(z.IncludeAnonymous).iterate(o=>{if(i)i=!1;else if(o.name){let a=Wc[o.name];if(a&&a(o,s)||no.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of io(t,o.node))n.push(a);return!1}}),Js.set(e,n),n}var eo=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,so=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName"];function Vc(t){let e=(0,B.syntaxTree)(t.state).resolveInner(t.pos,-1);if(so.indexOf(e.name)>-1)return null;let r=e.to-e.from<20&&eo.test(t.state.sliceDoc(e.from,e.to));if(!r&&!t.explicit)return null;let n=[];for(let i=e;i;i=i.parent)no.has(i.name)&&(n=n.concat(io(t.state.doc,i)));return{options:n,from:r?e.from:t.pos,validFor:eo}}var rt=B.LRLanguage.define({parser:Ks.configure({props:[B.indentNodeProp.add({IfStatement:(0,B.continuedIndent)({except:/^\s*({|else\b)/}),TryStatement:(0,B.continuedIndent)({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:B.flatIndent,SwitchBody:t=>{let e=t.textAfter,r=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return t.baseIndent+(r?0:n?1:2)*t.unit},Block:(0,B.delimitedIndent)({closing:"}"}),ArrowFunction:t=>t.baseIndent+t.unit,"TemplateString BlockComment":()=>null,"Statement Property":(0,B.continuedIndent)({except:/^{/}),JSXElement(t){let e=/^\s*<\//.test(t.textAfter);return t.lineIndent(t.node.from)+(e?0:t.unit)},JSXEscape(t){let e=/\s*\}/.test(t.textAfter);return t.lineIndent(t.node.from)+(e?0:t.unit)},"JSXOpenTag JSXSelfClosingTag"(t){return t.column(t.node.from)+t.unit}}),B.foldNodeProp.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression":B.foldInside,BlockComment(t){return{from:t.from+2,to:t.to-2}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Ic=rt.configure({dialect:"ts"}),Mc=rt.configure({dialect:"jsx"}),Gc=rt.configure({dialect:"jsx ts"}),Bc="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(t=>({label:t,type:"keyword"}));function oo(t={}){let e=t.jsx?t.typescript?Gc:Mc:t.typescript?Ic:rt;return new B.LanguageSupport(e,[rt.data.of({autocomplete:(0,ee.ifNotIn)(so,(0,ee.completeFromList)(Zc.concat(Bc)))}),rt.data.of({autocomplete:Vc}),t.jsx?zc:[]])}function to(t,e,r=t.length){if(!e)return"";let n=e.getChild("JSXIdentifier");return n?t.sliceString(n.from,Math.min(n.to,r)):""}var Dc=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),zc=ro.EditorView.inputHandler.of((t,e,r,n)=>{if((Dc?t.composing:t.compositionStarted)||t.state.readOnly||e!=r||n!=">"&&n!="/"||!rt.isActiveAt(t.state,e,-1))return!1;let{state:i}=t,s=i.changeByRange(o=>{var a,l,c;let{head:p}=o,u=(0,B.syntaxTree)(i).resolveInner(p,-1),d;if(u.name=="JSXStartTag"&&(u=u.parent),n==">"&&u.name=="JSXFragmentTag")return{range:Cr.EditorSelection.cursor(p+1),changes:{from:p,insert:"><>"}};if(n==">"&&u.name=="JSXIdentifier"){if(((l=(a=u.parent)===null||a===void 0?void 0:a.lastChild)===null||l===void 0?void 0:l.name)!="JSXEndTag"&&(d=to(i.doc,u.parent,p)))return{range:Cr.EditorSelection.cursor(p+1),changes:{from:p,insert:`></${d}>`}}}else if(n=="/"&&u.name=="JSXFragmentTag"){let O=u.parent,h=O==null?void 0:O.parent;if(O.from==p-1&&((c=h.lastChild)===null||c===void 0?void 0:c.name)!="JSXEndTag"&&(d=to(i.doc,h==null?void 0:h.firstChild,p))){let f=`/${d}>`;return{range:Cr.EditorSelection.cursor(p+f.length),changes:{from:p,insert:f}}}}return{range:o}});return s.changes.empty?!1:(t.dispatch(s,{userEvent:"input.type",scrollIntoView:!0}),!0)});var we=require("@codemirror/language"),Me=require("@codemirror/commands"),Ar=require("@codemirror/autocomplete"),qr=require("@codemirror/search"),po=require("@codemirror/lint");var ao=require("@codemirror/view"),Rr=require("@codemirror/language"),_=require("@lezer/highlight"),R={name:"obsidian",dark:!1,background:"var(--background-primary)",foreground:"var(--text-normal)",selection:"var(--text-selection)",cursor:"var(--text-normal)",dropdownBackground:"var(--background-primary)",dropdownBorder:"var(--background-modifier-border)",activeLine:"var(--background-primary)",matchingBracket:"var(--background-modifier-accent)",keyword:"#d73a49",storage:"#d73a49",variable:"var(--text-normal)",parameter:"var(--text-accent-hover)",function:"var(--text-accent-hover)",string:"var(--text-accent)",constant:"var(--text-accent-hover)",type:"var(--text-accent-hover)",class:"#6f42c1",number:"var(--text-accent-hover)",comment:"var(--text-faint)",heading:"var(--text-accent-hover)",invalid:"var(--text-error)",regexp:"var(--text-accent)"},Lc=ao.EditorView.theme({"&":{color:R.foreground,backgroundColor:R.background},".cm-content":{caretColor:R.cursor},"&.cm-focused .cm-cursor":{borderLeftColor:R.cursor},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, & ::selection":{backgroundColor:R.selection},".cm-panels":{backgroundColor:R.dropdownBackground,color:R.foreground},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:R.dropdownBackground,outline:`1px solid ${R.dropdownBorder}`},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:R.selection},".cm-activeLine":{backgroundColor:R.activeLine},".cm-activeLineGutter":{backgroundColor:R.background},".cm-selectionMatch":{backgroundColor:R.selection},".cm-matchingBracket, .cm-nonmatchingBracket":{backgroundColor:R.matchingBracket,outline:"none"},".cm-gutters":{backgroundColor:R.background,color:R.comment,borderRight:"1px solid var(--background-modifier-border)"},".cm-lineNumbers, .cm-gutterElement":{color:"inherit"},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:R.foreground},".cm-tooltip":{border:`1px solid ${R.dropdownBorder}`,backgroundColor:R.dropdownBackground,color:R.foreground},".cm-tooltip.cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{background:R.selection,color:R.foreground}}},{dark:R.dark}),Uc=Rr.HighlightStyle.define([{tag:_.tags.keyword,color:R.keyword},{tag:[_.tags.name,_.tags.deleted,_.tags.character,_.tags.macroName],color:R.variable},{tag:[_.tags.propertyName],color:R.function},{tag:[_.tags.processingInstruction,_.tags.string,_.tags.inserted,_.tags.special(_.tags.string)],color:R.string},{tag:[_.tags.function(_.tags.variableName),_.tags.labelName],color:R.function},{tag:[_.tags.color,_.tags.constant(_.tags.name),_.tags.standard(_.tags.name)],color:R.constant},{tag:[_.tags.definition(_.tags.name),_.tags.separator],color:R.variable},{tag:[_.tags.className],color:R.class},{tag:[_.tags.number,_.tags.changed,_.tags.annotation,_.tags.modifier,_.tags.self,_.tags.namespace],color:R.number},{tag:[_.tags.typeName],color:R.type,fontStyle:R.type},{tag:[_.tags.operator,_.tags.operatorKeyword],color:R.keyword},{tag:[_.tags.url,_.tags.escape,_.tags.regexp,_.tags.link],color:R.regexp},{tag:[_.tags.meta,_.tags.comment],color:R.comment},{tag:_.tags.strong,fontWeight:"bold"},{tag:_.tags.emphasis,fontStyle:"italic"},{tag:_.tags.link,textDecoration:"underline"},{tag:_.tags.heading,fontWeight:"bold",color:R.heading},{tag:[_.tags.atom,_.tags.bool,_.tags.special(_.tags.variableName)],color:R.variable},{tag:_.tags.invalid,color:R.invalid},{tag:_.tags.strikethrough,textDecoration:"line-through"}]),lo=[Lc,(0,Rr.syntaxHighlighting)(Uc)];var uo=[(0,le.lineNumbers)(),(0,le.highlightSpecialChars)(),(0,Me.history)(),oo(),(0,le.drawSelection)(),(0,le.dropCursor)(),co.EditorState.allowMultipleSelections.of(!0),(0,we.indentOnInput)(),we.indentUnit.of(" "),(0,we.syntaxHighlighting)(we.defaultHighlightStyle,{fallback:!0}),le.EditorView.lineWrapping,(0,we.bracketMatching)(),(0,Ar.closeBrackets)(),(0,le.rectangularSelection)(),(0,qr.highlightSelectionMatches)(),lo,le.keymap.of([...Ar.closeBracketsKeymap,...Me.defaultKeymap,...qr.searchKeymap,...Me.historyKeymap,Me.indentWithTab,...po.lintKeymap])].filter(t=>t);var Do=require("@codemirror/view");var Oo=require("obsidian"),ho=require("@codemirror/view");function jr(t,e,r,n){t.dispatch({changes:{from:e,to:r,insert:n}})}function zt(t,e){return(t instanceof ho.EditorView?t.state:t).doc.slice(e,e+1).toString()}function ke(t,e){t.dispatch({selection:{anchor:e,head:e}}),yt()}function fo(t,e,r){t.dispatch({selection:{anchor:e,head:r}}),yt()}function yt(){if(Oo.Platform.isMobile)return;let t=document.getElementsByClassName("cm-cursorLayer")[0];if(t){let e=t.style.animationName;t.style.animationName=e==="cm-blink"?"cm-blink2":"cm-blink"}}function Kn(t){return t.split("").reverse().join("")}function J(t,e,r,n,i,s){if(i){let l=J(Kn(t),t.length-(e+n.length),Kn(n),Kn(r),!1);return l===-1?-1:t.length-(l+r.length)}let o=0,a=s||t.length;for(let l=e;l<a;l++)if(t.slice(l,l+r.length)===r)o++;else if(t.slice(l,l+n.length)===n&&(o--,o===0))return l;return-1}function Lt(t){return{")":"(","]":"[","}":"{"}[t]}function xt(t){return{"(":")","[":"]","{":"}"}[t]}function Jn(t,e){return t.composing||e.keyCode===229}function mo(t){let e=t.scrollDOM.parentElement;if(!e)return;let r=t.scrollDOM.nextSibling,n=window.getSelection(),i=n&&{anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset};t.scrollDOM.remove(),e.insertBefore(t.scrollDOM,r);try{i&&n&&(n.setPosition(i.anchorNode,i.anchorOffset),i.focusNode&&n.extend(i.focusNode,i.focusOffset))}catch(s){console.error(s)}t.focus(),t.contentDOM.dispatchEvent(new CustomEvent("compositionend"))}var ni=require("@codemirror/view");var go=require("@codemirror/view"),bo=require("@codemirror/state");var yo=bo.Facet.define({combine:t=>t.length>0?t[0]:qt([],W)});function X(t){return(t instanceof go.EditorView?t.state:t).facet(yo)}function xo(t){return yo.of(t)}var Wr=require("@codemirror/language");var Nc=["text","textrm","textup","textit","textbf","textsf","texttt","textnormal","clap","textllap","textrlap","textclap","hbox","mbox","fbox","framebox","colorbox","fcolorbox"],ei=["tag","begin","end","mmlToken","unicode"],Qo=[...Nc,...ei].map(t=>({openSymbol:`\\${t}{`,closeSymbol:"}"})),Fc=["label","ref","eqref","operatorname","operatorname*","DeclareMathOperator","DeclareMathOperator*","mathrm","mathup","mathnormal","mathbf","mathbfup","mathit","mathbfit","mathbb","Bbb","mathfrak","mathbffrak","mathscr","mathbfscr","mathsf","mathsfup","mathbfsf","mathbfsfup","mathsfit","mathbfsfit","mathtt","mathcal","mathbfcal","symrm","symup","symnormal","symbf","symbfup","symit","symbfit","symbb","symfrak","symbffrak","symscr","symbfscr","symsf","symsfup","symbfsf","symbfsfup","symsfit","symbfsfit","symtt","symcal","symbfcal","Bbb"],pm=`[${Fc.map(t=>`
["${t}", "}"]`)}
]`;var ri="formatting_formatting-math_formatting-math-begin_keyword_math",Yc="formatting_formatting-math_formatting-math-end_keyword_math_math-",$o="formatting_formatting-math_formatting-math-begin_keyword_math_math-block",Hc="formatting_formatting-math_formatting-math-end_keyword_math_math-",Zr=new Set([ri,$o]),Xr=new Set([Yc,Hc]),So="HyperMD-codeblock_HyperMD-codeblock-begin_HyperMD-codeblock-begin-bg_HyperMD-codeblock-bg",ti="HyperMD-codeblock_HyperMD-codeblock-bg_HyperMD-codeblock-end_HyperMD-codeblock-end-bg",ii=ni.ViewPlugin.fromClass(class{constructor(e){this.codeblockLanguage=null;this.shouldUpdate=!1;this.updateFromView(e)}init(e){return this.shouldUpdate&&(this.updateFromView(e),this.shouldUpdate=!1),this}update(e){(e.docChanged||e.selectionSet||e.viewportChanged)&&(this.shouldUpdate=!0)}updateFromView(e){var u;let r=e.state,n=r.selection;this.view=e,this.state=r,this.pos=n.main.to,this.ranges=Array.from(n.ranges).reverse(),this.mode=new pt,this.boundsCache=new Map,this.innerBoundsCache=new Map,this.codeblockLanguage=null;let i=ep(r),s=(u=i==null?void 0:i.codeblockLanguage)!=null?u:null,o=s!==null,a=X(r),l=o&&a.forceMathLanguages.contains(s);this.mode.codeMath=l,this.mode.code=o&&!l?s:!1,o&&this.mode.code!==!1&&(this.codeblockLanguage=s,this.boundsCache.set(this.pos,i));let c=nt(e),p=l||c.inMathBound(r,this.pos);if(p!==!0&&p!==null){let d=p.mode===0;this.mode.blockMath=!d,this.mode.inlineMath=d,this.boundsCache.set(this.pos,p)}if(p){let d=this.inTextEnvironment();d==="text"?this.mode.textEnv=!0:d==="none"&&(this.mode.inlineMath=!1,this.mode.blockMath=!1,this.mode.codeMath=!1)}this.mode.text=!o&&!p}isWithinEnvironment(e,r){if(!this.mode.inMath())return null;let n=this.getInnerBounds();if(!n)return null;let{inner_start:i,inner_end:s}=n,o=this.state.sliceDoc(i,s);e-=i,Array.isArray(r)||(r=[r]);e:for(let a of r){let l=a.openSymbol.slice(-1),c=xt(l),p,u;["{","[","("].contains(l)&&a.closeSymbol===c?(p=a.openSymbol.length-1,u=l):(p=0,u=a.openSymbol);let d=o.lastIndexOf(a.openSymbol,e-1);for(;d!=-1;){let O=J(o,d+p,u,a.closeSymbol,!1);if(O===-1)continue e;if(O>=e&&e>=d+a.openSymbol.length)return ye(oe({},a),{inner_start:d+a.openSymbol.length+i,inner_end:O+i,outer_start:d+i,outer_end:O+a.closeSymbol.length+i});if(d<=0)continue e;d=o.lastIndexOf(a.openSymbol,d-1)}}return null}inTextEnvironment(){let e=this.isWithinEnvironment(this.pos,Qo);if(!e)return null;let r=e.openSymbol.slice(1,-1);return ei.includes(r)?"none":"text"}getBounds(e=this.pos){let r=this.boundsCache.get(e);if(r!==void 0)return r;let n;return this.mode.codeMath?n=Jc(this.state,e):n=nt(this.view).inMathBound(this.state,e),this.boundsCache.set(e,n),n}getInnerBounds(e=this.pos){let r,n=this.innerBoundsCache.get(e);return n!==void 0?n:(this.mode.codeMath?r=this.getBounds(e):r=Kc(this.view),this.innerBoundsCache.set(e,r),r)}}),I=t=>{let e=t.plugin(ii);if(!e)throw new Error("Context plugin not found, something went wrong with the plugin initialization");return e.init(t)};var Kc=(t,e)=>{e||(e=t.state.selection.main.to);let r=nt(t).inMathBound(t.state,e);if(!r)return null;let n=t.state.sliceDoc(r.inner_start,r.inner_end);n=n.replaceAll("\\$","\\R");let i=n.lastIndexOf("$",e-1),s=n.indexOf("$",e);return i===-1||s===-1?r:{inner_start:i+1,inner_end:s,outer_start:i,outer_end:s+1}},Jc=(t,e=t.selection.main.from)=>{let r=vo(t,e);if(!r)return null;let{begin:n,end:i}=r;return{inner_start:n.to,inner_end:i.from,outer_start:n.from,outer_end:i.to}},vo=(t,e=t.selection.main.from)=>{let n=(0,Wr.syntaxTree)(t).cursor();if(n.childBefore(e),!n.name.contains("codeblock")||n.name===So&&e<=n.to||n.name===ti)return null;do if(n.name===So)break;while(n.prev());let i=n.node;if(!i)return null;n.childAfter(e);do if(n.name===ti)break;while(n.next());let s=n.node;return!s||s.name!==ti?null:{begin:i,end:s}},ep=t=>{let e=t.selection.ranges[0].from,r=vo(t,e);if(!r)return null;let{begin:n,end:i}=r,s=t.sliceDoc(n.from,n.to).replace(/`+|~+/g,"");return{inner_start:n.to,inner_end:i.from,outer_start:n.from,outer_end:i.to,codeblockLanguage:s}},si=ni.ViewPlugin.fromClass(class{constructor(e){this.mathBounds=[];this.equations=null;this.shouldUpdate=!1;this.inMathBound=(e,r)=>{var o,a;let n=this.mathBounds;if(r<=((o=n[0])==null?void 0:o.outer_start)||r>=((a=n[n.length-1])==null?void 0:a.outer_end))return this.getEquationBounds(e,r);let i=0,s=n.length-1;for(;i<=s;){let l=i+s>>1,c=n[l];if(r<c.outer_start)s=l-1;else if(r>=c.outer_end)i=l+1;else{if(r<=c.inner_start||r>=c.inner_end)break;return c}}return this.getEquationBounds(e,r)};this.computeEquationBounds=(e,r)=>{r===void 0&&(r=e.selection.main.to);let i=(0,Wr.syntaxTree)(e).cursor();if(i.childBefore(r),i.node.firstChild&&i.name!=="Document"){let l=r;for(;e.sliceDoc(l,l+1)===`
`&&l>0;)l-=1;i.moveTo(l,-1)}if(!(i.name.contains("math")&&!i.name.startsWith("hashtag_hashtag-end_meta_tag"))||Xr.has(i.name)&&r>=i.to)return null;do if(Zr.has(i.name))break;while(i.prev());let s=i.node;if(!s)return null;i.childAfter(r);do if(Xr.has(i.name))break;while(i.next());let o=i.node;return o?s.to>r&&s.from<r&&s.name===$o?{inner_start:r,inner_end:r,outer_start:s.from,outer_end:s.to,mode:0}:o.from<r||s.to>r?null:{inner_start:s.to,inner_end:o.from,outer_start:s.from,outer_end:o.to,mode:s.name===ri?0:1}:null};this.addMathBound=e=>{if(this.mathBounds.length===0)this.mathBounds.push(e);else if(e.outer_end<=this.mathBounds[0].outer_start)this.mathBounds.unshift(e);else if(e.outer_start>=this.mathBounds[this.mathBounds.length-1].outer_end)this.mathBounds.push(e);else{let r=0,n=this.mathBounds.length-1;for(;r<=n;){let i=r+n>>1;e.outer_start<this.mathBounds[i].outer_start?n=i-1:r=i+1}this.mathBounds.splice(r,0,e)}return e};this.updateMathBounds(e)}init(e){return this.shouldUpdate&&(this.equations=null,this.updateMathBounds(e),this.shouldUpdate=!1),this}update(e){(e.docChanged||e.viewportChanged)&&(this.shouldUpdate=!0)}updateMathBounds(e){var s,o,a;let r=(0,Wr.syntaxTree)(e.state),n=[];e.visibleRanges.forEach(({from:l,to:c},p)=>{n.push([]),r.iterate({from:l,to:c,enter:u=>{(Zr.has(u.name)&&u.to<c||Xr.has(u.name)&&u.from>l)&&n[p].push(u.node)}})});let i=[];for(let l of n){if(Xr.has((s=l[0])==null?void 0:s.name)){let p=this.computeEquationBounds(e.state,l[0].from);p&&i.push(p)}let c=Zr.has((o=l[0])==null?void 0:o.name)?0:1;for(let p=c;p<l.length-1;p+=2){let u=l[p],d=l[p+1];i.push({inner_start:u.to,inner_end:d.from,outer_start:u.from,outer_end:d.to,mode:u.name===ri?0:1})}if(Zr.has((a=l[l.length-1])==null?void 0:a.name)){let p=l[l.length-1],u=this.computeEquationBounds(e.state,p.to);u&&i.push(u)}}this.mathBounds=i.filter((l,c)=>{if(c===0)return!0;let p=i[c-1];return!(p.outer_start===l.outer_start&&p.outer_end===l.outer_end)})}getEquationBounds(e,r){r||(r=e.selection.main.to);let n=this.computeEquationBounds(e,r);return n?(this.addMathBound(n),n):null}getEquations(e){return this.equations?this.equations:(this.equations=new Map(this.mathBounds.map(r=>[r.inner_start,e.sliceDoc(r.inner_start,r.inner_end)])),this.equations)}}),nt=t=>{let e=t.plugin(si);if(!e)throw new Error("MathBoundsPlugin not found, something went wrong with the plugin initialization");return e.init(t)};var To=require("@codemirror/view");var Ut=class{constructor(e,r,n,i){this.from=e,this.to=r,this.insert=n,this.keyPressed=i}getTabstops(e,r){let n=[];for(let i=r;i<r+this.insert.length;i++){if(e.charAt(i)!=="$")continue;let s=parseInt(e.charAt(i+1)),o=i,a=o+2,l="";if(isNaN(s)){if(e.charAt(i+1)!=="{")continue;let p=J(e,i+1,"{","}",!1,r+this.insert.length),u=e.slice(i,p+1);if(!u.includes(":"))continue;let d=u.indexOf(":");if(s=parseInt(u.slice(2,d)),isNaN(s)||p===-1)continue;l=e.slice(i+d+1,p),a=p+1,i=p}let c={number:s,from:o,to:a,replacement:l};n.push(c)}return n}toChangeSpec(){return this}};var Vr=require("@codemirror/language"),wo=require("@codemirror/state"),oi=To.ViewPlugin.fromClass(class{constructor(){this.snippetQueue=[]}clearSnippetQueue(){this.snippetQueue=[]}QueueSnippets(t){this.snippetQueue=this.snippetQueue.concat(t)}get snippetQueueValue(){return this.snippetQueue.map(t=>new Ut(t.from,t.to,t.insert,t.keyPressed))}});function Ir(t){let e=t.plugin(oi);if(!e)throw new Error("SnippetQueue plugin not found, something went wrong with the plugin initialization");return e}function qe(t,e,r,n,i){let s=new Ut(e,r,tp(t.state,e,r,n),i);Ir(t).QueueSnippets([s])}var tp=(t,e,r,n)=>{let o=t.doc.lineAt(r).text.match(/^(>*)(\s*)/);if(!o)return n;let a=o[1],l=o[2],c=(0,wo.countColumn)(l,t.tabSize),p=(0,Vr.getIndentUnit)(t),u=c%p;return n=n.replace(/\n(\t*)/g,(d,O)=>{let h=O.length*p+c-(O.length&&u),f=(0,Vr.indentString)(t,h);return`
`+a+f}),n};function Qt(t){Ir(t).clearSnippetQueue()}var Kt=require("@codemirror/state");var Yt=require("@codemirror/state"),Ro=require("@codemirror/commands");var Mr=require("@codemirror/view"),Nt=require("@codemirror/state"),ko=Nt.StateEffect.define(),Po=Nt.StateEffect.define(),St=Nt.StateField.define({create(){return{index:0,tabstopGroups:[],color:0}},update(t,e){let r=t.tabstopGroups,n=t.color;r.forEach(s=>s.map(e.changes));for(let s of e.effects)s.is(ko)?r.splice(t.index,1,...s.value):s.is(Po)&&(r=[],n=0);let i=t.index;return e.selection&&(i=rp(r,e.selection),r.length<=1||i>=r.length-1?(r=[],i=0,n=0):r[0].hideFromEditor()),{index:i,tabstopGroups:r,color:n}},provide:t=>Mr.EditorView.decorations.of(e=>{let r=e.state.field(t).tabstopGroups,n=[];for(let i of r)i.hidden||n.push(...i.getRanges());return Mr.Decoration.set(n,!0)})});function rp(t,e){for(let r=0;r<t.length;r++)if(t[r].containsSelection(e))return r;return t.length}function Gr(t){return{effects:[ko.of(t)]}}function Br(t){t.dispatch({effects:[Po.of(null)]})}var np=3;function Eo(t){return t.state.field(St).color++%np}var Ft=Yt.StateEffect.define(),$t=Yt.StateEffect.define(),_o=Yt.StateEffect.define(),Co=Yt.StateEffect.define(),Ao=Ro.invertedEffects.of(t=>{let e=[];for(let r of t.effects)r.is(Ft)?e.push(_o.of(r.value)):r.is(_o)?e.push(Ft.of(r.value)):r.is($t)?e.push(Co.of(null)):r.is(Co)&&e.push($t.of(null));return e}),qo=t=>{let e=t.transactions.find(n=>n.isUserEvent("undo")),r=t.transactions.find(n=>n.isUserEvent("redo"));for(let n of t.transactions)for(let i of n.effects)i.is(Ft)&&r&&t.view.dispatch({effects:Gr(i.value).effects});e&&Br(t.view)};var Xo=require("@codemirror/commands");var Ht=require("@codemirror/state"),vt=require("@codemirror/view");var jo="latex-suite-snippet-placeholder";function ip(t,e,r){let n=`${jo} ${jo}-${r}`;return vt.Decoration.mark({inclusive:!0,color:r,class:n}).range(t,e)}var ai=class{constructor(e,r){let n=e.map(i=>ip(i.from,i.to,r));this.decos=vt.Decoration.set(n,!0),this.color=r,this.hidden=!1}select(e,r,n){let i=this.toEditorSelection(),s=r?Zo(i):i;e.dispatch({selection:s,effects:n?$t.of(null):void 0}),yt(),this.hideFromEditor()}toSelectionRanges(){let e=[],r=this.decos.iter();for(;r.value!=null;)e.push(Ht.EditorSelection.range(r.from,r.to)),r.next();return e}toEditorSelection(e=!1){let r=Ht.EditorSelection.create(this.toSelectionRanges());return e&&(r=Zo(r)),r}containsSelection(e){function r(s,o){for(let a of o)if(a.from<=s.from&&a.to>=s.to)return!0;return!1}let n=this.toSelectionRanges(),i=!0;for(let s of e.ranges)if(!r(s,n)){i=!1;break}return i}hideFromEditor(){this.hidden=!0}map(e){this.decos=this.decos.map(e)}getRanges(){let e=[],r=this.decos.iter();for(;r.value!=null;)r.from!=r.to?e.push(r.value.range(r.from,r.to)):e.push(op(r.from,r.to)),r.next();return e}};function li(t,e){let r={};for(let s of t){let o=String(s.number);r[o]?r[o].push(s):r[o]=[s]}let n=[],i=Object.keys(r);i.sort((s,o)=>parseInt(s)-parseInt(o));for(let s of i){let o=new ai(r[s],e);n.push(o)}return n}function Zo(t){let e=t.ranges.map(r=>Ht.EditorSelection.range(r.to,r.to));return Ht.EditorSelection.create(e)}var sp=vt.Decoration.widget({widget:new class extends vt.WidgetType{toDOM(){let t=document.createElement("span");return t.className="cm-snippetFieldPosition",t}ignoreEvent(){return!1}}});function op(t,e){return sp.range(t,e)}function Ge(t){let e=Ir(t).snippetQueueValue;if(e.length===0)return!1;let r=t.state.doc.length,n=ap(t,e),i=t.state.selection.map(n,1),s=n.apply(t.state.doc).toString(),o=lp(s,e,r),a={changes:n,selection:i};return o.length===0?(t.dispatch(a),Qt(t),!0):(cp(t,o,a,s.length),Qt(t),!0)}function ap(t,e){let r=t.state.doc,n=r.length,i=[];for(let l of e)if(l.keyPressed&&l.keyPressed.length===1){let c=t.state.doc.sliceString(l.to-1,l.to),p=l.to===0?0:l.to-1;i.push({from:p,to:l.to,insert:c+l.keyPressed})}i.length>0&&t.dispatch({changes:i,annotations:Xo.isolateHistory.of("full")});let s=Kt.ChangeSet.of(i,n).invert(r),o=Kt.ChangeSet.of(e,n);return s.compose(o)}function lp(t,e,r){let n=Kt.ChangeSet.of(e,r),s=e.map(a=>a.from).map(a=>n.mapPos(a)),o=[];for(let a=0;a<e.length;a++)o.push(...e[a].getTabstops(t,s[a]));return o}function cp(t,e,r,n){let i=Kt.ChangeSet.of(e.map(d=>({from:d.from,to:d.to,insert:d.replacement})),n),s=Eo(t),o=li(e,s);o.forEach(d=>d.map(i));let a=li(e,s);a.forEach(d=>d.map(i));let l=Gr(o).effects,u={selection:o[0].toEditorSelection(),effects:$t.of(null),sequential:!0};t.dispatch({effects:[...l,Ft.of(a)],changes:r.changes.compose(i),selection:r.selection},u)}function ci(t,e){let r=t.state.field(St).tabstopGroups,n=t.state.field(St).index;function i(o,a){let l=r[o];if(!l)return!1;let c=t.state.selection,p=l.toEditorSelection();return l.containsSelection(c)&&(p=l.toEditorSelection(!0)),c.eq(p)?i(o+a,a):(t.dispatch({selection:p}),yt(),!0)}let s=e?-1:1;return i(n+s,s)}var pi=t=>{let e=[],r=0;for(;r<t.length;){let n=t[r];if(/\s/.test(n)){r++;continue}let{token:i,nextIndex:s}=pp(t,r);e.push(i),r=s}return e},pp=(t,e)=>{switch(t[e]){case"%":return up(t,e);case"\\":return Op(t,e);default:return hp(t,e)}},up=(t,e)=>{let r=t.length,n=e+1;for(;n<r&&t[n]!==`
`;)n++;return{token:{start:e,end:n,text:t.slice(e,n)},nextIndex:n}},Op=(t,e)=>{let r=t.length,n=e+1,i=t[n];if(/[A-Za-z]/.test(i))do n++;while(n<r&&/[A-Za-z]/.test(t[n]));else n++;return{token:{start:e,end:n,text:t.slice(e,n)},nextIndex:n}},hp=(t,e)=>{let r=e+1;return{token:{start:e,end:r,text:t.slice(e,r)},nextIndex:r}};var dp=new Set(["\\left","\\bigl","\\Bigl","\\biggl","\\Biggl"]),fp=new Set(["\\right","\\bigr","\\Bigr","\\biggr","\\Biggr"]),mp=new Set(["(",")","[","]","\\lbrack","\\rbrack","\\{","\\}","\\lbrace","\\rbrace","<",">","\\langle","\\rangle","\\lt","\\gt","|","\\vert","\\lvert","\\rvert","\\|","\\Vert","\\lVert","\\rVert","\\lfloor","\\rfloor","\\lceil","\\rceil","\\ulcorner","\\urcorner","/","\\\\","\\backslash","\\uparrow","\\downarrow","\\Uparrow","\\Downarrow","."]),ui={"(":")","[":"]","{":"}","\\lbrack":"\\rbrack","\\lbrace":"\\rbrace","\\langle":"\\rangle","\\lvert":"\\rvert","\\lVert":"\\rVert","\\lfloor":"\\rfloor","\\lceil":"\\rceil","\\ulcorner":"\\urcorner","<":">"},gp=t=>dp.has(t.text),Wo=t=>fp.has(t.text),Oi=t=>mp.has(t.text),bp=(t,e)=>e.has(t.text),yp=(t,e,r)=>{let n=t[e];if(e>0){let i=t[e-1];if(Wo(i)&&Oi(n))return!0;if(gp(i)&&Oi(n))return!1}return bp(n,r)},xp=(t,e)=>{let r=t[e];if(!Wo(r))return!1;if(e+1>=t.length)return!0;let n=t[e+1];return!Oi(n)},hi=(t,e)=>{var b;if(!e.mode.inMath())return!1;let r=e.getBounds();if(!r)return!1;let{inner_start:n,inner_end:i,outer_end:s,outer_start:o}=r;if(s<=e.pos)return!1;let a=t.state.doc,l=t.state.selection.main.to,c=l-n,p=a.sliceString(n,i),u=pi(p),d=X(t).taboutClosingSymbols,O=u.findIndex(y=>y.end>c),h=O===-1?u.length:O;for(let y=h;y<u.length;y++){if(yp(u,y,d))return ke(t,n+u[y].end),!0;if(xp(u,y))return console.warn("[tabout] Found right command without following delimiter:",u[y].text,"at index",n+u[y].start),ke(t,n+u[y].end),!0}if(!(a.sliceString(l,i).trim().length===0))return!1;if(e.mode.inlineMath||e.mode.codeMath)ke(t,s);else{let y=a.lineAt(s),x=[],S=((b=a.lineAt(o).text.match(/^\s*/))==null?void 0:b[0])||"";if(y.number===a.lines)x.push({changes:{from:y.to,to:y.to,insert:`
`+S},selection:{anchor:y.to+1+S.length}});else{let m=a.lineAt(y.to+1);m.text.trim()===""?x.push({changes:{from:m.from,to:m.to,insert:S},selection:{anchor:y.to+1+S.length}}):x.push({selection:{anchor:y.to+1}})}let Q=a.lineAt(l);Q.text.trimEnd()!==Q.text&&x.push({changes:{from:Q.from,to:Q.to,insert:Q.text.trimEnd()}}),t.dispatch(...x)}return!0},Vo=(t,e)=>{let r=pi(e),n=X(t).taboutClosingSymbols,i=[],s=ur(new Set(Object.values(ui)),n),o=new Set(Object.keys(ui).filter(a=>s.has(ui[a])));for(let a=0;a<r.length;a++){let l=r[a];if(s.has(l.text)){if(i.length===0)return l.end;i.pop()}else o.has(l.text)&&i.push(l.text)}return null},Io=(t,e)=>{let r=t.state.selection.main;if(!r.empty)return!1;let n=r.from,i=zt(t,n);return i===e&&[")","]","}"].includes(i)};var Qp=t=>{var s;let e=I(t),n=t.state.doc.lineAt(e.pos).text.match(new RegExp("(?<=\\\\begin{[^]]*}|\\\\\\\\|^)(\\s|\\&)+")),i=(s=n==null?void 0:n[0].trimStart())!=null?s:"";return e.mode.blockMath?(qe(t,e.pos,e.pos,` \\\\
${i}$0`),Ge(t)):t.dispatch(t.state.replaceSelection(` \\\\ ${i}`)),!0},Sp=(t,e)=>{let r=I(t);if(r.mode.blockMath){let n=t.state.doc,i=n.lineAt(r.pos).number+1,s=n.line(i);ke(t,s.to)}else r.mode.inlineMath&&ke(t,e.outer_end);return!0},$p=t=>t.state.selection.main.empty?(t.dispatch(t.state.replaceSelection(" & ")),!0):!1,Dr=t=>e=>{let r=I(e);if(!r.mode.strictlyInMath())return!1;let i=X(e).matrixShortcutsEnvNames.map(o=>({openSymbol:"\\begin{"+o+"}",closeSymbol:"\\end{"+o+"}"})),s=r.isWithinEnvironment(r.pos,i);return s?t(e,s):!1},vp=t=>{let e=I(t),r=t.state.doc.lineAt(e.pos),n=r.text.slice(e.pos-r.from),i=Vo(t,n);return i!==null?(ke(t,e.pos+i),!0):!1},zr=Dr(Qp),Mo=Dr(Sp),Go=Dr($p),Bo=Dr(vp);var zo=require("@codemirror/commands");function Tp(t){let r=I(t).getBounds();if(!r)return!1;let{inner_start:n,inner_end:i}=r,s="\\boxed{"+t.state.sliceDoc(n,i)+"}",o=t.state.sliceDoc(n-2,n)==="$$"&&t.state.sliceDoc(i,i+2)==="$$";o&&(s=`
`+s+`
`);let a=t.state.selection.main.to;jr(t,n,i,s),ke(t,a+7+(o?1:0))}function wp(){return{id:"latex-suite-box-equation",name:"Box current equation",editorCheckCallback:(t,e)=>{let r=e.cm,i=I(r).mode.inMath();if(t)return i;i&&Tp(r)}}}function kp(){return{id:"latex-suite-select-equation",name:"Select current equation",editorCheckCallback:(t,e)=>{let r=e.cm,n=I(r),i=n.mode.inMath();if(t)return i;if(!i)return;let s=n.getBounds();if(!s)return!1;let{inner_start:o,inner_end:a}=s,l=r.state.doc.toString();l.charAt(o)===`
`&&o++,l.charAt(a-1)===`
`&&a--,fo(r,o,a)}}}function Pp(t){return{id:"latex-suite-enable-all-features",name:"Enable all features",callback:()=>v(this,null,function*(){t.settings.snippetsEnabled=!0,t.settings.autofractionEnabled=!0,t.settings.matrixShortcutsEnabled=!0,t.settings.taboutEnabled=!0,t.settings.autoEnlargeBrackets=!0,yield t.saveSettings()})}}function Ep(t){return{id:"latex-suite-disable-all-features",name:"Disable all features",callback:()=>v(this,null,function*(){t.settings.snippetsEnabled=!1,t.settings.autofractionEnabled=!1,t.settings.matrixShortcutsEnabled=!1,t.settings.taboutEnabled=!1,t.settings.autoEnlargeBrackets=!1,yield t.saveSettings()})}}function _p(t){return{id:"latex-suite-toggle-all-features",name:"Toggle all features",callback:()=>v(this,null,function*(){let e=t.settings.snippetsEnabled||t.settings.autofractionEnabled||t.settings.matrixShortcutsEnabled||t.settings.taboutEnabled||t.settings.autoEnlargeBrackets;t.settings.snippetsEnabled=!e,t.settings.autofractionEnabled=!e,t.settings.matrixShortcutsEnabled=!e,t.settings.taboutEnabled=!e,t.settings.autoEnlargeBrackets=!e,yield t.saveSettings()})}}function Cp(t){return{id:"latex-suite-toggle-conceal",name:"Toggle conceal",callback:()=>v(this,null,function*(){t.settings.concealEnabled=!t.settings.concealEnabled,yield t.saveSettings()})}}var Lo=t=>[wp(),kp(),Pp(t),Ep(t),Cp(t),_p(t)];function di(t){return{id:"latex-suite-vim-select-mode",defineType:"defineAction",type:"action",action:e=>{var i;let r=(i=window==null?void 0:window.CodeMirrorAdapter)==null?void 0:i.Vim;if(!r)return;let n=e.listSelections();r.enterInsertMode(e),e.setSelections(n)},key:t.vimSelectMode,context:"visual"}}function fi(t){return{id:"latex-suite-vim-visual-mode",defineType:"defineAction",type:"action",action:e=>{var i;if(!e.somethingSelected())return;let r=e.listSelections(),n=(i=window==null?void 0:window.CodeMirrorAdapter)==null?void 0:i.Vim;n&&(n.exitInsertMode(e),e.setSelections(r))},key:t.vimVisualMode,context:"insert"}}function mi(t){return{id:"latex-suite-vim-special-enter",defineType:"defineAction",type:"action",action:e=>{var a;let r=(a=window==null?void 0:window.CodeMirrorAdapter)==null?void 0:a.Vim;if(!r)return;let n=e.getCursor().line,i=e.getLine(n);e.setCursor({line:n,ch:i.length+1});let s=Do.EditorView.findFromDOM(e.getWrapperElement());if(!s)return;if(zr(s)){r.enterInsertMode(e);return}(0,zo.insertNewlineAndIndent)({state:e.cm6.state,dispatch:l=>{let c=e.cm6;if(c.state.readOnly)return;let p="input.type.compose";if(e.curOp&&!e.curOp.lastChange&&(p="input.type.compose.start"),Array.isArray(l.annotations))try{l.annotations.forEach(u=>{u.value==="input"&&(u.value=p)})}catch(u){console.error(u)}else l.userEvent=p;c.dispatch(l)}})||console.error("Failed to insert newline and indent latex-suite-insert-newline-and-indent"),r.enterInsertMode(e)},key:t.vimMatrixEnter,context:"normal"}}function Lr(t){return[di(t),fi(t),mi(t)]}var Nr=class extends w.PluginSettingTab{constructor(e,r){super(e,r),this.plugin=r}hide(){var e;(e=this.snippetsEditor)==null||e.destroy()}addHeading(e,r,n="math"){let s=new w.Setting(e).setName(r).setHeading().settingEl,o=s.createDiv();(0,w.setIcon)(o,n),o.addClass("latex-suite-settings-icon"),s.prepend(o)}display(){let{containerEl:e}=this;e.empty(),this.displaySnippetSettings(),this.displayConcealSettings(),this.displayColorHighlightBracketsSettings(),this.displayPopupPreviewSettings(),this.displayAutofractionSettings(),this.displayMatrixShortcutsSettings(),this.displayTaboutSettings(),this.displayAutoEnlargeBracketsSettings(),this.displayAdvancedSnippetSettings()}displaySnippetSettings(){let e=this.containerEl;this.addHeading(e,"Snippets","ballpen"),new w.Setting(e).setName("Enabled").setDesc("Whether snippets are enabled.").addToggle(a=>a.setValue(this.plugin.settings.snippetsEnabled).onChange(l=>v(this,null,function*(){this.plugin.settings.snippetsEnabled=l,yield this.plugin.saveSettings()})));let r=new w.Setting(e).setName("Snippets").setDesc('Enter snippets here. Remember to add a comma after each snippet, and escape all backslashes with an extra \\. Lines starting with "//" will be treated as comments and ignored.').setClass("snippets-text-area");this.createSnippetsEditor(r),new w.Setting(e).setName("Load snippets from file or folder").setDesc("Whether to load snippets from a specified file, or from all files within a folder (instead of from the plugin settings).").addToggle(a=>a.setValue(this.plugin.settings.loadSnippetsFromFile).onChange(l=>v(this,null,function*(){this.plugin.settings.loadSnippetsFromFile=l,r.settingEl.toggleClass("hidden",l),this.snippetsFileLocEl!=null&&this.snippetsFileLocEl.toggleClass("hidden",!l),yield this.plugin.saveSettings()})));let n=new DocumentFragment;n.createDiv({},a=>{a.innerHTML=`
The file or folder to load snippets from. The file or folder must be within your vault, and not within a hidden folder (such as <code>.obsidian/</code>).`});let i=new w.Setting(e).setName("Snippets file or folder location").setDesc(n),s;i.addSearch(a=>{a.setPlaceholder(W.snippetsFileLocation).setValue(this.plugin.settings.snippetsFileLocation).onChange((0,w.debounce)(l=>v(this,null,function*(){this.plugin.settings.snippetsFileLocation=l,yield this.plugin.saveSettings(!0)}),500,!0)),s=a.inputEl,s.addClass("latex-suite-location-input-el"),new It(this.app,s)}),this.snippetsFileLocEl=i.settingEl;let o=this.plugin.settings.loadSnippetsFromFile;r.settingEl.toggleClass("hidden",o),this.snippetsFileLocEl.toggleClass("hidden",!o),this.createTriggerSetting(e,"non-auto snippets","snippetsTrigger"),this.createTriggerSetting(e,"next tabstop","snippetNextTabstopTrigger"),this.createTriggerSetting(e,"previous tabstop","snippetPreviousTabstopTrigger")}displayConcealSettings(){let e=this.containerEl;this.addHeading(e,"Conceal","math-integral-x");let r=new DocumentFragment;r.createDiv({},i=>i.setText("Make equations more readable by hiding LaTeX syntax and instead displaying it in a pretty format.")),r.createDiv({},i=>i.innerHTML=`
e.g. <code>\\dot{x}^{2} + \\dot{y}^{2}</code> will display as \u1E8B\xB2 + \u1E8F\xB2, and <code>\\sqrt{ 1-\\beta^{2} }</code> will display as \u221A{ 1-\u03B2\xB2 }.
`),r.createDiv({},i=>i.setText("LaTeX beneath the cursor will be revealed.")),r.createEl("br"),r.createDiv({},i=>i.setText("Disabled by default to not confuse new users. However, I recommend turning this on once you are comfortable with the plugin!")),new w.Setting(e).setName("Enabled").setDesc(r).addToggle(i=>i.setValue(this.plugin.settings.concealEnabled).onChange(s=>v(this,null,function*(){this.plugin.settings.concealEnabled=s,yield this.plugin.saveSettings()})));let n=new DocumentFragment;n.createDiv({},i=>i.setText("How long to delay the reveal of LaTeX for, in milliseconds, when the cursor moves over LaTeX. Defaults to 0 (LaTeX under the cursor is revealed immediately).")),n.createEl("br"),n.createDiv({},i=>i.setText("Can be set to a positive number, e.g. 300, to delay the reveal of LaTeX, making it much easier to navigate equations using arrow keys.")),n.createEl("br"),n.createDiv({},i=>i.setText("Must be an integer \u2265 0.")),new w.Setting(e).setName("Reveal delay (ms)").setDesc(n).addText(i=>i.setPlaceholder(String(W.concealRevealTimeout)).setValue(String(this.plugin.settings.concealRevealTimeout)).onChange(s=>{/^\d+$/.test(s)&&(this.plugin.settings.concealRevealTimeout=Number(s),this.plugin.saveSettings())}))}displayColorHighlightBracketsSettings(){let e=this.containerEl;this.addHeading(e,"Highlight and color brackets","parentheses"),new w.Setting(e).setName("Color paired brackets").setDesc("Whether to colorize matching brackets.").addToggle(r=>r.setValue(this.plugin.settings.colorPairedBracketsEnabled).onChange(n=>v(this,null,function*(){this.plugin.settings.colorPairedBracketsEnabled=n,yield this.plugin.saveSettings()}))),new w.Setting(e).setName("Highlight matching bracket beneath cursor").setDesc("When the cursor is adjacent to a bracket, highlight the matching bracket.").addToggle(r=>r.setValue(this.plugin.settings.highlightCursorBracketsEnabled).onChange(n=>v(this,null,function*(){this.plugin.settings.highlightCursorBracketsEnabled=n,yield this.plugin.saveSettings()})))}displayPopupPreviewSettings(){let e=this.containerEl;this.addHeading(e,"Math popup preview","superscript");let r=document.createDocumentFragment(),n=document.createElement("div");n.setText("When inside an equation, show a popup preview window of the rendered math.");let i=document.createElement("br"),s=document.createElement("div");s.setText("The popup preview will be shown for all inline math equations, as well as for block math equations in Source mode."),r.append(n,i,s);let o=new w.Setting(e).setName("Enabled").setDesc(r),a=new w.Setting(e).setName("Position").setDesc("Where to display the popup preview relative to the equation source.").addDropdown(u=>u.addOption("Above","Above").addOption("Below","Below").setValue(this.plugin.settings.mathPreviewPositionIsAbove?"Above":"Below").onChange(d=>v(this,null,function*(){this.plugin.settings.mathPreviewPositionIsAbove=d==="Above",yield this.plugin.saveSettings()}))),l=new w.Setting(e).setName("Cursor symbol").setDesc(`The symbol to use as the cursor in the popup preview such as ${W.mathPreviewCursor}. Leave it blank to turn it off.`).addText(u=>{u.setPlaceholder(W.mathPreviewCursor).setValue(this.plugin.settings.mathPreviewCursor).onChange(O=>v(this,null,function*(){this.plugin.settings.mathPreviewCursor=O,yield this.plugin.saveSettings()}));let d=e.createEl("datalist",{attr:{id:"math-preview-cursor-list"}});return["\u25B6","\u2503","|","\\_","{\\mid}","{\\triangle}"].forEach(O=>d.createEl("option",{value:O})),u.inputEl.setAttribute("list","math-preview-cursor-list"),u}),c=new w.Setting(e).setName("Highlight brackets in preview").setDesc("Whether to highlight the area within the nearest pair of brackets around the cursor in the popup preview.").addToggle(u=>u.setValue(this.plugin.settings.mathPreviewBracketHighlighting).onChange(d=>v(this,null,function*(){this.plugin.settings.mathPreviewBracketHighlighting=d,yield this.plugin.saveSettings()}))),p=[a,l,c];p.forEach(u=>u.settingEl.toggleClass("hidden",!this.plugin.settings.mathPreviewEnabled)),o.addToggle(u=>u.setValue(this.plugin.settings.mathPreviewEnabled).onChange(d=>v(this,null,function*(){this.plugin.settings.mathPreviewEnabled=d,p.forEach(O=>O.settingEl.toggleClass("hidden",!d)),yield this.plugin.saveSettings()})))}displayAutofractionSettings(){let e=this.containerEl;this.addHeading(e,"Auto-fraction","math-x-divide-y-2"),new w.Setting(e).setName("Enabled").setDesc("Whether auto-fraction is enabled.").addToggle(r=>r.setValue(this.plugin.settings.autofractionEnabled).onChange(n=>v(this,null,function*(){this.plugin.settings.autofractionEnabled=n,yield this.plugin.saveSettings()}))),new w.Setting(e).setName("Fraction symbol").setDesc("The fraction symbol to use in the replacement. e.g. \\frac, \\dfrac, \\tfrac").addText(r=>{r.setPlaceholder(W.autofractionSymbol).setValue(this.plugin.settings.autofractionSymbol).onChange(i=>v(this,null,function*(){this.plugin.settings.autofractionSymbol=i,yield this.plugin.saveSettings()}));let n=e.createEl("datalist",{attr:{id:"autofraction-symbol-list"}});["\\frac","\\dfrac","\\tfrac"].forEach(i=>n.createEl("option",{value:i})),r.inputEl.setAttribute("list","autofraction-symbol-list")}),new w.Setting(e).setName("Excluded environments").setDesc('A list of environments to exclude auto-fraction from running in. For example, to exclude auto-fraction from running while inside an exponent, such as e^{...}, use ["^{", "}"]').addTextArea(r=>r.setPlaceholder('[ ["^{", "}] ]').setValue(this.plugin.settings.autofractionExcludedEnvs).onChange(n=>v(this,null,function*(){this.plugin.settings.autofractionExcludedEnvs=n,yield this.plugin.saveSettings()}))),new w.Setting(e).setName("Breaking characters").setDesc('A list of characters that denote the start/end of a fraction. e.g. if + is included in the list, "a+b/c" will expand to "a+\\frac{b}{c}". If + is not in the list, it will expand to "\\frac{a+b}{c}".').addText(r=>r.setPlaceholder(W.autofractionBreakingChars).setValue(this.plugin.settings.autofractionBreakingChars).onChange(n=>v(this,null,function*(){this.plugin.settings.autofractionBreakingChars=n,yield this.plugin.saveSettings()})))}displayMatrixShortcutsSettings(){let e=this.containerEl;this.addHeading(e,"Matrix shortcuts","brackets-contain"),new w.Setting(e).setName("Enabled").setDesc("Whether matrix shortcuts are enabled.").addToggle(r=>r.setValue(this.plugin.settings.matrixShortcutsEnabled).onChange(n=>v(this,null,function*(){this.plugin.settings.matrixShortcutsEnabled=n,yield this.plugin.saveSettings()}))),new w.Setting(e).setName("Environments").setDesc("A list of environment names to run the matrix shortcuts in, separated by commas.").addText(r=>r.setPlaceholder(W.matrixShortcutsEnvNames).setValue(this.plugin.settings.matrixShortcutsEnvNames).onChange(n=>v(this,null,function*(){this.plugin.settings.matrixShortcutsEnvNames=n,yield this.plugin.saveSettings()})))}displayTaboutSettings(){let e=this.containerEl;this.addHeading(e,"Tabout","tabout"),new w.Setting(e).setName("Enabled").setDesc("Whether tabout is enabled.").addToggle(n=>n.setValue(this.plugin.settings.taboutEnabled).onChange(i=>v(this,null,function*(){this.plugin.settings.taboutEnabled=i,r.settingEl.toggleClass("hidden",!i),yield this.plugin.saveSettings()}))),this.createTriggerSetting(e,"tabout","taboutTrigger");let r=new w.Setting(e).setName("Closing brackets").setDesc("A list of closing brackets for tabout, separated by commas.").addText(n=>n.setPlaceholder(W.taboutClosingSymbols).setValue(this.plugin.settings.taboutClosingSymbols).onChange(i=>v(this,null,function*(){this.plugin.settings.taboutClosingSymbols=i,yield this.plugin.saveSettings()})));r.settingEl.toggleClass("hidden",!this.plugin.settings.taboutEnabled)}displayAutoEnlargeBracketsSettings(){let e=this.containerEl;this.addHeading(e,"Auto-enlarge brackets","parentheses"),new w.Setting(e).setName("Enabled").setDesc("Whether to automatically enlarge brackets containing e.g. sum, int, frac.").addToggle(r=>r.setValue(this.plugin.settings.autoEnlargeBrackets).onChange(n=>v(this,null,function*(){this.plugin.settings.autoEnlargeBrackets=n,yield this.plugin.saveSettings()}))),new w.Setting(e).setName("Triggers").setDesc("A list of symbols that should trigger auto-enlarge brackets, separated by commas.").addText(r=>r.setPlaceholder(W.autoEnlargeBracketsTriggers).setValue(this.plugin.settings.autoEnlargeBracketsTriggers).onChange(n=>v(this,null,function*(){this.plugin.settings.autoEnlargeBracketsTriggers=n,yield this.plugin.saveSettings()})))}displayAdvancedSnippetSettings(){let e=this.containerEl;this.addHeading(e,"Advanced snippet settings");let r=new w.Setting(e).setName("Snippet variables").setDesc("Assign snippet variables that can be used as shortcuts when writing snippets.").addTextArea(O=>O.setValue(this.plugin.settings.snippetVariables).onChange(h=>v(this,null,function*(){this.plugin.settings.snippetVariables=h,yield this.plugin.saveSettings()})).setPlaceholder(W.snippetVariables)).setClass("latex-suite-snippet-variables-setting");new w.Setting(e).setName("Load snippet variables from file or folder").setDesc("Whether to load snippet variables from a specified file, or from all files within a folder (instead of from the plugin settings).").addToggle(O=>O.setValue(this.plugin.settings.loadSnippetVariablesFromFile).onChange(h=>v(this,null,function*(){this.plugin.settings.loadSnippetVariablesFromFile=h,r.settingEl.toggleClass("hidden",h),this.snippetVariablesFileLocEl!=null&&this.snippetVariablesFileLocEl.toggleClass("hidden",!h),yield this.plugin.saveSettings()})));let n=new DocumentFragment;n.createDiv({},O=>{O.innerHTML=`
The file or folder to load snippet variables from. The file or folder must be within your vault, and not within a hidden folder (such as <code>.obsidian/</code>).`});let i=new w.Setting(e).setName("Snippet variables file or folder location").setDesc(n);i.addSearch(O=>{O.setPlaceholder(W.snippetVariablesFileLocation).setValue(this.plugin.settings.snippetVariablesFileLocation).onChange((0,w.debounce)(f=>v(this,null,function*(){this.plugin.settings.snippetVariablesFileLocation=f,yield this.plugin.saveSettings(!0)}),500,!0));let h=O.inputEl;h.addClass("latex-suite-location-input-el"),new It(this.app,h)}),this.snippetVariablesFileLocEl=i.settingEl;let s=this.plugin.settings.loadSnippetVariablesFromFile;r.settingEl.toggleClass("hidden",s),this.snippetVariablesFileLocEl.toggleClass("hidden",!s),new w.Setting(e).setName("Word delimiters").setDesc('Symbols that will be treated as word delimiters, for use with the "w" snippet option.').addText(O=>O.setPlaceholder(W.wordDelimiters).setValue(this.plugin.settings.wordDelimiters).onChange(h=>v(this,null,function*(){this.plugin.settings.wordDelimiters=h,yield this.plugin.saveSettings()}))),new w.Setting(e).setName("Remove trailing whitespaces in snippets in inline math").setDesc("Whether to remove trailing whitespaces when expanding snippets at the end of inline math blocks.").addToggle(O=>O.setValue(this.plugin.settings.removeSnippetWhitespace).onChange(h=>v(this,null,function*(){this.plugin.settings.removeSnippetWhitespace=h,yield this.plugin.saveSettings()}))),new w.Setting(e).setName("Remove closing $ when backspacing inside blank inline math").setDesc("Whether to also remove the closing $ when you delete the opening $ symbol inside blank inline math.").addToggle(O=>O.setValue(this.plugin.settings.autoDelete$).onChange(h=>v(this,null,function*(){this.plugin.settings.autoDelete$=h,yield this.plugin.saveSettings()})));let o=new w.Setting(e).setName("Don't trigger snippets when IME is active").setDesc("Whether to suppress snippets triggering when an IME is active."),a=new w.Setting(e).setName("Suppress IME warning").setDesc("Whether a warning is shown on startup if `Don't trigger snippets when IME is active` is enabled. Disable that setting if you are aware of the IME limitations. Currently only ios and android touch/swipe keyboards like gboard have support for IME. See https://github.com/artisticat1/obsidian-latex-suite/blob/main/DOCS.md#IME-keyboards for more info.").addToggle(O=>O.setValue(this.plugin.settings.suppressIMEWarning).onChange(h=>v(this,null,function*(){this.plugin.settings.suppressIMEWarning=h,yield this.plugin.saveSettings()})));a.settingEl.toggleClass("hidden",!(this.plugin.settings.suppressSnippetTriggerOnIME&&Yr())),o.addToggle(O=>O.setValue(this.plugin.settings.suppressSnippetTriggerOnIME).onChange(h=>v(this,null,function*(){this.plugin.settings.suppressSnippetTriggerOnIME=h,a.settingEl.toggleClass("hidden",!(h&&Yr())),yield this.plugin.saveSettings()}))),new w.Setting(e).setName("Code languages to interpret as math mode").setDesc("Codeblock languages where the whole code block should be treated like a math block, separated by commas.").addText(O=>O.setPlaceholder(W.forceMathLanguages).setValue(this.plugin.settings.forceMathLanguages).onChange(h=>v(this,null,function*(){this.plugin.settings.forceMathLanguages=h,yield this.plugin.saveSettings()}))),new w.Setting(e).setName("Snippet debug mode").setDesc('Set the level of debug information to log about snippet expansion. Set to "info" or "verbose" to help identify issues with snippet syntax or why a snippet is not expanding. Verbose mode will log most information to the developer console on debug level.').addDropdown(O=>O.addOption("off","Off").addOption("info","Info").addOption("verbose","Verbose").setValue(this.plugin.settings.snippetDebug).onChange(h=>v(this,null,function*(){this.plugin.settings.snippetDebug=h,yield this.plugin.saveSettings()})));let l=new w.Setting(e).setName("Vim key bindings").setDesc("turn on/off vim keybindings. Note vim needs to be enabled in obsidian itself."),c=[],p=new w.Setting(e).setName("Vim: Switch from visual mode to select mode").setDesc(`maps the key to switch from visual mode to select mode.
Keymap must be a vim keymap and can't contain any spaces. Use empty string to disable this feature.
(select mode=insert keybindings)`).addText(O=>O.setPlaceholder(W.vimSelectMode).setValue(this.plugin.settings.vimSelectMode).onChange(h=>v(this,null,function*(){var y;let f=this.plugin.settings.vimSelectMode;this.plugin.settings.vimSelectMode=h,yield this.plugin.saveSettings();let g=(y=window==null?void 0:window.CodeMirrorAdapter)==null?void 0:y.Vim;if(!g)return;let b=di(this.plugin.settings);g[b.defineType](b.id,b.action),g.mapCommand(b.key,b.type,b.id,{},{context:b.context}),g.unmap(f,b.context)})));c.push(p);let u=new w.Setting(e).setName("Vim: Switch from select mode to visual mode").setDesc(`maps the key to switch from select mode to visual mode.
must be a vim keymap and can't contain any spaces. Example <C-g><C-A-i> = Ctrl-g + Ctrl-Alt-i.
Please check the vim keybinding first on another command like w before reporting it. Some keybindings like shift don't work due to the original vim plugin. Use empty string to disable this feature.
(select mode=insert keybindings)`).addText(O=>{O.setPlaceholder(W.vimVisualMode).setValue(this.plugin.settings.vimVisualMode).onChange(h=>v(this,null,function*(){var y;let f=this.plugin.settings.vimVisualMode;this.plugin.settings.vimVisualMode=h,yield this.plugin.saveSettings();let g=fi(this.plugin.settings),b=(y=window==null?void 0:window.CodeMirrorAdapter)==null?void 0:y.Vim;b&&(b[g.defineType](g.id,g.action),b.mapCommand(g.key,g.type,g.id,{},{context:g.context}),b.unmap(f,g.context))}))});c.push(u);let d=new w.Setting(e).setName("Vim: run matrix enter").setDesc(`maps the key to the action of inserting a new line below while appending \\\\ to the current line in a matrix environment.
Use empty string to disable this feature.`).addText(O=>{O.setPlaceholder(W.vimMatrixEnter).setValue(this.plugin.settings.vimMatrixEnter).onChange(h=>v(this,null,function*(){var y;let f=this.plugin.settings.vimMatrixEnter;this.plugin.settings.vimMatrixEnter=h,yield this.plugin.saveSettings();let g=(y=window==null?void 0:window.CodeMirrorAdapter)==null?void 0:y.Vim;if(!g)return;g.unmap(f,"normal");let b=mi(this.plugin.settings);g[b.defineType](b.id,b.action),g.mapCommand(b.key,b.type,b.id,{},{context:b.context}),g.unmap(f,b.context)}))});c.push(d),l.addToggle(O=>{let h=this.plugin.settings.vimEnabled&&(app==null?void 0:app.isVimEnabled());c.forEach(f=>f.settingEl.toggleClass("hidden",!h)),O.setValue(this.plugin.settings.vimEnabled&&(app==null?void 0:app.isVimEnabled())).onChange(f=>v(this,null,function*(){var b;this.plugin.settings.vimEnabled=f,yield this.plugin.saveSettings(),c.forEach(y=>y.settingEl.toggleClass("hidden",!f));let g=(b=window==null?void 0:window.CodeMirrorAdapter)==null?void 0:b.Vim;if(g)for(let y of Lr(this.plugin.settings))g.unmap(y.key,y.context)}))})}createSnippetsEditor(e){let r=e.controlEl.createDiv("snippets-editor-wrapper"),n=e.controlEl.createDiv("snippets-footer"),i=n.createDiv("snippets-editor-validity"),s=new w.ExtraButtonComponent(i);s.setIcon("checkmark").extraSettingsEl.addClass("snippets-editor-validity-indicator");let o=i.createDiv("snippets-editor-validity-text");o.addClass("setting-item-description"),o.style.padding="0";function a(O){s.setIcon(O?"checkmark":"cross"),s.extraSettingsEl.removeClass(O?"invalid":"valid"),s.extraSettingsEl.addClass(O?"valid":"invalid"),o.setText(O?"Saved":"Invalid syntax. Changes not saved")}let l=uo,c=gi.EditorView.updateListener.of(O=>v(this,null,function*(){if(O.docChanged){let h=O.state.doc.toString(),f=!0,g;try{g=yield ze(this.plugin.settings.snippetVariables),yield ut(h,g)}catch(b){f=!1}if(a(f),!f)return;this.plugin.settings.snippets=h,yield this.plugin.saveSettings()}}));l.push(c),this.snippetsEditor=Rp(this.plugin.settings.snippets,l),r.appendChild(this.snippetsEditor.dom);let p=n.createDiv("snippets-editor-buttons");new w.ButtonComponent(p).setIcon("switch").setTooltip("Reset to default snippets").onClick(()=>v(this,null,function*(){new Fr(this.plugin.app,"Are you sure? This will delete any custom snippets you have written.",O=>O.setButtonText("Reset to default snippets").setWarning(),()=>v(this,null,function*(){this.snippetsEditor.setState(Ur.EditorState.create({doc:At,extensions:l})),a(!0),this.plugin.settings.snippets=At,yield this.plugin.saveSettings()})).open()})),new w.ButtonComponent(p).setIcon("trash").setTooltip("Remove all snippets").onClick(()=>v(this,null,function*(){new Fr(this.plugin.app,"Are you sure? This will delete any custom snippets you have written.",O=>O.setButtonText("Remove all snippets").setWarning(),()=>v(this,null,function*(){let O=`[
]`;this.snippetsEditor.setState(Ur.EditorState.create({doc:O,extensions:l})),a(!0),this.plugin.settings.snippets=O,yield this.plugin.saveSettings()})).open()}))}createTriggerSetting(e,r,n){return new w.Setting(e).setName(`Key trigger for ${r}`).setDesc(Ap(r)).addText(i=>i.setValue(this.plugin.settings[n]).setPlaceholder(W[n]).onChange(s=>v(this,null,function*(){gn(s),this.plugin.settings[n]=s,yield this.plugin.saveSettings()})))}},Fr=class extends w.Modal{constructor(e,r,n,i){super(e),this.contentEl.addClass("latex-suite-confirmation-modal"),this.contentEl.createEl("p",{text:r}),new w.Setting(this.contentEl).addButton(s=>{n(s),s.onClick(()=>v(this,null,function*(){yield i(),this.close()}))}).addButton(s=>s.setButtonText("Cancel").onClick(()=>this.close()))}};function Rp(t,e){return new gi.EditorView({state:Ur.EditorState.create({doc:t,extensions:e})})}function Yr(){return w.Platform.isMobileApp}function Ap(t){let e=new DocumentFragment,r=e.createDiv();return r.innerHTML=`What key to press to trigger ${t}. Should follow codemirror keymap syntax such as "Ctrl-k Ctrl-a". For more info see <a href="https://codemirror.net/docs/ref/#view.KeyBinding">codemirror keymap documentation</a>.`,e}var Uo={math:`<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-math" width="100" height="100" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M19 5h-7l-4 14l-3 -6h-2"></path>
<path d="M14 13l6 6"></path>
<path d="M14 19l6 -6"></path>
</svg>`,"math-x-divide-y-2":`<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-math-x-divide-y-2" width="100" height="100" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M3 21l18 -18"></path>
<path d="M15 14l3 4.5"></path>
<path d="M21 14l-4.5 7"></path>
<path d="M3 4l6 6"></path>
<path d="M3 10l6 -6"></path>
</svg>`,parentheses:`<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-parentheses" width="100" height="100" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M7 4a12.25 12.25 0 0 0 0 16"></path>
<path d="M17 4a12.25 12.25 0 0 1 0 16"></path>
</svg>`,"math-function":`<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-math-function" width="100" height="100" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M3 19a2 2 0 0 0 2 2c2 0 2 -4 3 -9s1 -9 3 -9a2 2 0 0 1 2 2"></path>
<path d="M5 12h6"></path>
<path d="M15 12l6 6"></path>
<path d="M15 18l6 -6"></path>
</svg>`,"math-integral-x":`<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-math-integral-x" width="100" height="100" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M3 19a2 2 0 0 0 2 2c2 0 2 -4 3 -9s1 -9 3 -9a2 2 0 0 1 2 2"></path>
<path d="M14 12l6 6"></path>
<path d="M14 18l6 -6"></path>
</svg>`,"brackets-contain":`<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brackets-contain" width="100" height="100" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M7 4h-4v16h4"></path>
<path d="M17 4h4v16h-4"></path>
<path d="M8 16h.01"></path>
<path d="M12 16h.01"></path>
<path d="M16 16h.01"></path>
</svg>`,"code-dots":`<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-code-dots" width="100" height="100" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M15 12h.01"></path>
<path d="M12 12h.01"></path>
<path d="M9 12h.01"></path>
<path d="M6 19a2 2 0 0 1 -2 -2v-4l-1 -1l1 -1v-4a2 2 0 0 1 2 -2"></path>
<path d="M18 19a2 2 0 0 0 2 -2v-4l1 -1l-1 -1v-4a2 2 0 0 0 -2 -2"></path>
</svg>`,ballpen:`<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-ballpen" width="100" height="100" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M14 6l7 7l-4 4"></path>
<path d="M5.828 18.172a2.828 2.828 0 0 0 4 0l10.586 -10.586a2 2 0 0 0 0 -2.829l-1.171 -1.171a2 2 0 0 0 -2.829 0l-10.586 10.586a2.828 2.828 0 0 0 0 4z"></path>
<path d="M4 20l1.768 -1.768"></path>
</svg>`,superscript:`<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-superscript" width="100" height="100" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M5 7l8 10m-8 0l8 -10"></path>
<path d="M21 11h-4l3.5 -4a1.73 1.73 0 0 0 -3.5 -2"></path>
</svg>`,tabout:`<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 10.583 10.583">
<g style="fill:none;stroke:currentColor;stroke-width:3.22892904;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none">
<path d="M14.818 22.164h-.688c-1.52 0-3.983-1.82-3.983-4.066V-.612c0-2.245 2.462-4.065 3.983-4.065h.688" style="stroke-width:3.22892904;stroke-miterlimit:4;stroke-dasharray:none" transform="translate(6.566 2.931) scale(.24373)"/>
<path d="M5.605 22.16h.662c1.462 0 3.88-1.906 3.88-4.258v-1.065M5.605-4.674h.662c1.462 0 3.88 1.907 3.88 4.259V.65" style="stroke-width:3.22892904;stroke-miterlimit:4;stroke-dasharray:none" transform="translate(6.566 2.931) scale(.24373)"/>
</g>
<g style="fill:none;stroke:currentColor;stroke-width:3.22892904;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none">
<path d="M0 0h24v24H0Z" style="fill:none;stroke:none;stroke-width:3.22892904;stroke-miterlimit:4;stroke-dasharray:none" transform="translate(2.662 4.719) scale(.24373)" stroke="none"/>
<path d="M-9.136 8.694v5.17a1 1 0 0 0 1 1h23.658a1 1 0 0 0 1-1v-5.17" style="stroke-width:3.22892904;stroke-miterlimit:4;stroke-dasharray:none" transform="translate(2.662 4.719) scale(.24373)"/>
</g>
</svg>
`};var nn=require("@codemirror/view");var me=require("@codemirror/view"),it=require("@codemirror/state");var Hr=require("obsidian");function H(...t){return t}var bi=class extends me.WidgetType{constructor(r,n,i){super();this.symbol=r;this.className=n||"",this.elementType=i||"span"}eq(r){return r.symbol==this.symbol&&r.className===this.className&&r.elementType===this.elementType}toDOM(){let r=document.createElement(this.elementType);return r.className="cm-math "+this.className,r.textContent=this.symbol,r}ignoreEvent(){return!1}},yi=class extends me.WidgetType{constructor(r){super();this.symbol=r}eq(r){return r.symbol==this.symbol}toDOM(){let r=document.createElement("span");return r.className="cm-math",r.textContent=this.symbol,r}ignoreEvent(){return!1}};function qp(t,e,r){if(e.length!==r.length)return!1;for(let n=0;n<e.length;++n){let i=t.changes.mapPos(e[n].start,1),s=t.changes.mapPos(e[n].end,-1);if(!(i==r[n].start&&s==r[n].end))return!1}return!0}function jp(t,e){let r="apart";for(let n of t.ranges)for(let i of e){let s=Math.max(n.from,i.start),o=Math.min(n.to,i.end);if(s===o&&(s===i.start||s===i.end)){r="edge";continue}if(s<=o)return"within"}return r}function Zp(t,e,r,n){return r||e==="apart"?"conceal":e==="within"||!n||!t||t==="within"?"reveal":"delay"}function No(t){let e=[];for(let r of t)if(r.enable)for(let n of r.spec)if(n.start===n.end)e.push(me.Decoration.widget({widget:new yi(n.text),block:!1}).range(n.start,n.end));else{let i=n.text==="";e.push(me.Decoration.replace({widget:new bi(n.text,n.class,n.elementType),inclusiveStart:i,inclusiveEnd:!1,block:!1}).range(n.start,n.end))}return me.Decoration.set(e,!0)}function Fo(t){let e=t.filter(i=>i.enable).flatMap(i=>i.spec).sort((i,s)=>i.start-s.start),r=new class extends it.RangeValue{},n=new it.RangeSetBuilder;for(let i=0;i<e.length;i++)e[i].text===""?i+1!=e.length&&e[i].end==e[i+1].start?(n.add(e[i].start,e[i+1].end,r),i++):n.add(e[i].start,e[i].end+1,r):n.add(e[i].start,e[i].end,r);return n.finish()}var Yo=me.ViewPlugin.fromClass(class{constructor(t){this.delayedRevealCallback=(t,e)=>{var r;for(let n of t)n.enable=!1;this.decorations=No(this.concealments),this.atomicRanges=Fo(this.concealments),e.dispatch(),(r=e==null?void 0:e.cm)==null||r.signal("vim-command-done")};this.concealments=[],this.decorations=me.Decoration.none,this.atomicRanges=it.RangeSet.empty;let e=X(t).concealRevealTimeout;this.delayEnabled=e>0,this.cached_equations={},this.concealSpecs=[],this.delayedReveal=(0,Hr.debounce)(this.delayedRevealCallback,e,!0),this.update({view:t,state:t.state,docChanged:!0})}update(t){if(t.docChanged||t.viewportChanged||t.selectionSet)if(this.delayedReveal.cancel(),!t.docChanged&&!t.viewportChanged)this.updateFromConcealSpecs(this.concealSpecs,t);else{let{specs:e,cached_equations:r}=Ho(t.view,this.cached_equations);this.cached_equations=r,this.concealSpecs=e,this.updateFromConcealSpecs(e,t)}}updateFromConcealSpecs(t,e){var o,a;let r=e.state.selection,n=(a=(o=e.view.plugin(Hr.livePreviewState))==null?void 0:o.mousedown)!=null?a:!1,i=[],s=[];for(let l of t){let c=jp(r,l),p=this.concealments.find(O=>qp(e,O.spec,l)),u=Zp(p==null?void 0:p.cursorPosType,c,n,this.delayEnabled),d={spec:l,cursorPosType:c,enable:u!=="reveal"};u==="delay"&&s.push(d),i.push(d)}s.length>0&&this.delayedReveal(s,e.view),this.concealments=i,this.decorations=No(this.concealments),this.atomicRanges=Fo(this.concealments)}},{decorations:t=>t.decorations,provide:t=>me.EditorView.atomicRanges.of(e=>{var r,n;return(n=(r=e.plugin(t))==null?void 0:r.atomicRanges)!=null?n:it.RangeSet.empty})});var Ko={aleph:"\u2135",amalg:"\u2A3F",And:"&",angle:"\u2220",approx:"\u2248",approxeq:"\u224A",ast:"\u2217",asymp:"\u224D",backepsilon:"\u220D",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",backslash:"\u2216",barwedge:"\u22BC",Bbbk:"k",because:"\u2235",beth:"\u2136",between:"\u226C",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",blacklozenge:"\u29EB",blacksquare:"\u25FC",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",bot:"\u22A5",bowtie:"\u22C8",Box:"\u25FB",boxdot:"\u22A1",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",bullet:"\u2219",bumpeq:"\u224F",Bumpeq:"\u224E",Cap:"\u22D2",cap:"\u2229",cdot:"\u22C5",cdotp:"\u22C5",cdots:"\u22EF",celsius:"\u2103",centerdot:"\u22C5",checkmark:"\u2713",circ:"\u2218",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",circledR:"\xAE",circledS:"\u24C8",clubsuit:"\u2663",complement:"\u2201",cong:"\u2245",coprod:"\u2210",copyright:"\xA9",cp:"\xD7",cross:"\xD7",crossproduct:"\xD7",Cup:"\u22D3",cup:"\u222A",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",dagger:"\u2020",daleth:"\u2138",dashleftarrow:"\u21E0",dashrightarrow:"\u21E2",dashv:"\u22A3",ddagger:"\u2021",ddots:"\u22F1",degree:"\xB0",diagdown:"\u2572",diagup:"\u2571",Diamond:"\u25CA",diamond:"\u22C4",diamondsuit:"\u2662",digamma:"\u03DD",div:"\xF7",divideontimes:"\u22C7",divsymbol:"\xF7",Doteq:"\u2251",doteq:"\u2250",doteqdot:"\u2251",dotplus:"\u2214",dotproduct:"\u22C5",dots:"\u2026",dotsb:"\u22EF",dotsc:"\u2026",dotsi:"\u22EF",dotsm:"\u22EF",dotso:"\u2026",doublebarwedge:"\u2A5E",doublecap:"\u22D2",doublecup:"\u22D3",downarrow:"\u2193",Downarrow:"\u21D3",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",ell:"\u2113",emptyset:"\u2205",eqcirc:"\u2256",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",equiv:"\u2261",eth:"\xF0",exists:"\u2203",fallingdotseq:"\u2252",Finv:"\u2132",flat:"\u266D",forall:"\u2200",frown:"\u2322",Game:"\u2141",ge:"\u2265",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",gets:"\u2190",gg:"\u226B",ggg:"\u22D9",gggtr:"\u22D9",gimel:"\u2137",gnapprox:"\u2A8A",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",gradientnabla:"\u2207",gt:">",gtrapprox:"\u2A86",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269",hbar:"\u210F",heartsuit:"\u2661",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",hslash:"\u210F",iff:"\u21D4",iiiint:"\u2A0C",iiint:"\u222D",iint:"\u222C",Im:"\u2111",imaginary:"\u2111",imath:"\u0131",in:"\u2208",infty:"\u221E",injlim:"inj lim",int:"\u222B",intercal:"\u22BA",intop:"\u222B",jmath:"\u0237",Join:"\u22C8",land:"\u2227",lceil:"\u2308",ldotp:".",ldots:"\u2026",le:"\u2264",leadsto:"\u21DD",left:"",Leftarrow:"\u21D0",leftarrow:"\u2190",leftarrowtail:"\u21A2",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",Leftrightarrow:"\u21D4",leftrightarrow:"\u2194",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",leftthreetimes:"\u22CB",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",lessgtr:"\u2276",lesssim:"\u2272",lhd:"\u22B2",ll:"\u226A",Lleftarrow:"\u21DA",lll:"\u22D8",llless:"\u22D8",lnapprox:"\u2A89",lneq:"\u2A87",lneqq:"\u2268",lnot:"\xAC",lnsim:"\u22E6",longleftarrow:"\u27F5",Longleftarrow:"\u27F8",Longleftrightarrow:"\u27FA",longleftrightarrow:"\u27F7",longmapsto:"\u27FC",longrightarrow:"\u27F6",Longrightarrow:"\u27F9",looparrowleft:"\u21AB",looparrowright:"\u21AC",lor:"\u2228",lozenge:"\u25CA",Lsh:"\u21B0",lt:"<",ltimes:"\u22C9",lvertneqq:"\u2268",maltese:"\u2720",mapsto:"\u21A6",measuredangle:"\u2221",mho:"\u2127",micro:"\xB5",mid:"\u2223",middle:"",models:"\u22A8",mp:"\u2213",multimap:"\u22B8",nabla:"\u2207",natural:"\u266E",ncong:"\u2247",ne:"\u2260",nearrow:"\u2197",neg:"\xAC",neq:"\u2260",neqslant:"\u2260",nexists:"\u2204",ngeq:"\u2271",ngeqq:"\u2271",ngeqslant:"\u2A88",ngtr:"\u226F",ni:"\u220B",nleftarrow:"\u219A",nLeftarrow:"\u21CD",nleftrightarrow:"\u21AE",nLeftrightarrow:"\u21CE",nleq:"\u2270",nleqq:"\u2270",nleqslant:"\u2A87",nless:"\u226E",nmid:"\u2224",notChar:"\u29F8",notin:"\u2209",nparallel:"\u2226",nprec:"\u2280",npreceq:"\u22E0",nrightarrow:"\u219B",nRightarrow:"\u21CF",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsubseteq:"\u2288",nsubseteqq:"\u2288",nsucc:"\u2281",nsucceq:"\u22E1",nsupseteq:"\u2289",nsupseteqq:"\u2289",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",nvdash:"\u22AC",nvDash:"\u22AD",nVdash:"\u22AE",nVDash:"\u22AF",nwarrow:"\u2196",odot:"\u2299",ohm:"\u2126",oint:"\u222E",ominus:"\u2296",oplus:"\u2295",oslash:"\u2298",otimes:"\u2297",owns:"\u220B",P:"\xB6",parallel:"\u2225",partial:"\u2202",perp:"\u22A5",perthousand:"\u2030",pitchfork:"\u22D4",pm:"\xB1",prec:"\u227A",precapprox:"\u2AB7",preccurlyeq:"\u227C",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",precsim:"\u227E",prime:"\u2032",prod:"\u220F",projlim:"proj lim",propto:"\u221D",qquad:"\u2001",quad:"\u2000",rceil:"\u2309",Re:"\u211C",real:"\u211C",restriction:"\u21BE",rhd:"\u22B3",right:"",Rightarrow:"\u21D2",rightarrow:"\u2192",rightarrowtail:"\u21A3",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u21DD",rightthreetimes:"\u22CC",risingdotseq:"\u2253",Rrightarrow:"\u21DB",Rsh:"\u21B1",rtimes:"\u22CA",S:"\xA7",searrow:"\u2198",setminus:"\u2216",sharp:"\u266F",shortmid:"\u2223",shortparallel:"\u2225",sim:"\u223C",simeq:"\u2243",smallfrown:"\u2322",smallint:"\u222B",smallsetminus:"\u2216",smallsmile:"\u2323",smile:"\u2323",spadesuit:"\u2660",sphericalangle:"\u2222",sqcap:"\u2293",sqcup:"\u2294",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsupset:"\u2290",sqsupseteq:"\u2292",square:"\u25FB",star:"\u22C6",Subset:"\u22D0",subset:"\u2282",subseteq:"\u2286",subseteqq:"\u2AC5",subsetneq:"\u228A",subsetneqq:"\u2ACB",succ:"\u227B",succapprox:"\u2AB8",succcurlyeq:"\u227D",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",sum:"\u2211",Supset:"\u22D1",supset:"\u2283",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",surd:"\u221A",swarrow:"\u2199",therefore:"\u2234",thickapprox:"\u2248",thicksim:"\u223C",times:"\xD7",to:"\u2192",top:"\u22A4",triangle:"\u25B3",triangledown:"\u25BD",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",unlhd:"\u22B4",unrhd:"\u22B5",uparrow:"\u2191",Uparrow:"\u21D1",updownarrow:"\u2195",Updownarrow:"\u21D5",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",upuparrows:"\u21C8",varpropto:"\u221D",varsubsetneq:"\u228A",varsubsetneqq:"\u2ACB",varsupsetneq:"\u228B",varsupsetneqq:"\u2ACC",vartriangle:"\u25B3",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",vDash:"\u22A8",Vdash:"\u22A9",vdash:"\u22A2",vdot:"\u22C5",vdots:"\u22EE",vee:"\u2228",veebar:"\u22BB",Vvdash:"\u22AA",wedge:"\u2227",wp:"\u2118",wr:"\u2240",yen:"\xA5",implies:"\u21D2",impliedby:"\u21D0",choose:"C",sqrt:"\u221A",coloneqq:"\u2254",colon:":",Colonapprox:"::\u2248",Coloneq:"::-",Coloneqq:"\u2A74",Colonsim:"::\u223C",Eqcolon:"-::",Eqqcolon:"=::",colonapprox:":\u2248",coloneq:":-",colonsim:":\u223C",dblcolon:"\u2237",eqcolon:"\u2239",eqqcolon:"\u2255",displaystyle:" ",",":" ",":":" ",";":" ",">":" ",enspace:" ",thinspace:" ",negthinspace:"","!":"",textacutedbl:"\u02DD",textasciiacute:"\xB4",textasciibreve:"\u02D8",textasciicaron:"\u02C7",textasciicircum:"^",textasciidieresis:"\xA8",textasciimacron:"\xAF",textasciitilde:"~",textasteriskcentered:"*",textbackslash:"\\",textbaht:"\u0E3F",textbar:"|",textbardbl:"\u2016",textbigcircle:"\u25EF",textblank:"\u2422",textborn:"*",textbraceleft:"{",textbraceright:"}",textbrokenbar:"\xA6",textbullet:"\u2022",textcelsius:"\u2103",textcent:"\xA2",textcentoldstyle:"\xA2",textcircledP:"\u2117",textcolonmonetary:"\u20A1",textcompwordmark:"\u200C",textcopyleft:"\u{1F12F}",textcopyright:"\xA9",textcurrency:"\xA4",textdagger:"\u2020",textdaggerdbl:"\u2021",textdegree:"\xB0",textdied:"\u2020",textdiscount:"\u2052",textdiv:"\xF7",textdivorced:"\u26AE",textdollar:"$",textdollaroldstyle:"$",textdong:"\u20AB",textdownarrow:"\u2193",texteightoldstyle:"8",textellipsis:"\u2026",textemdash:"\u2014",textendash:"\u2013",textestimated:"\u212E",texteuro:"\u20AC",textexclamdown:"\xA1",textfiveoldstyle:"5",textflorin:"\u0192",textfouroldstyle:"4",textfractionsolidus:"\u2044",textgravedbl:"\u02F5",textgreater:">",textguarani:"\u20B2",textinterrobang:"\u203D",textinterrobangdown:"\u2E18",textlangle:"\u2329",textlbrackdbl:"\u27E6",textleftarrow:"\u2190",textless:"<",textlira:"\u20A4",textlnot:"\xAC",textlquill:"\u2045",textmarried:"\u26AD",textmho:"\u2127",textminus:"\u2212",textmu:"\xB5",textmusicalnote:"\u266A",textnaira:"\u20A6",textnineoldstyle:"9",textnumero:"\u2116",textohm:"\u2126",textonehalf:"\xBD",textoneoldstyle:"1",textonequarter:"\xBC",textonesuperior:"\xB9",textopenbullet:"\u25E6",textordfeminine:"\xAA",textordmasculine:"\xBA",textparagraph:"\xB6",textperiodcentered:"\xB7",textpertenthousand:"\u2031",textperthousand:"\u2030",textpeso:"\u20B1",textpm:"\xB1",textquestiondown:"\xBF",textquotedblleft:"\u201C",textquotedblright:"\u201D",textquoteleft:"\u2018",textquoteright:"\u2019",textrangle:"\u232A",textrbrackdbl:"\u27E7",textrecipe:"\u211E",textreferencemark:"\u203B",textregistered:"\xAE",textrightarrow:"\u2192",textrquill:"\u2046",textsection:"\xA7",textservicemark:"\u2120",textsevenoldstyle:"7",textsixoldstyle:"6",textsterling:"\xA3",textsurd:"\u221A",textthreeoldstyle:"3",textthreequarters:"\xBE",textthreesuperior:"\xB3",texttildelow:"\u02F7",texttimes:"\xD7",texttrademark:"\u2122",texttwooldstyle:"2",texttwosuperior:"\xB2",textunderscore:"_",textuparrow:"\u2191",textvisiblespace:"\u2423",textwon:"\u20A9",textyen:"\xA5",textzerooldstyle:"0"},Jo={leftarrow:"\u219A",to:"\u219B",leftrightarrow:"\u21AE",Leftarrow:"\u21CD",Rightarrow:"\u21CF",Leftrightarrow:"\u21CE",in:"\u2209",owns:"\u220C",shortmid:"\u2224",shortparallel:"\u2226",thicksim:"\u2241",simeq:"\u2244",cong:"\u2247",thickapprox:"\u2249",asymp:"\u226D",equiv:"\u2262",lt:"\u226E",gt:"\u226F",leq:"\u2270",geq:"\u2271",lesssim:"\u2274",gtrsim:"\u2275",lessgtr:"\u2278",gtrless:"\u2279",prec:"\u2280",succ:"\u2281",subset:"\u2284",supset:"\u2285",subseteq:"\u2288",supseteq:"\u2289",vdash:"\u22AC",vDash:"\u22AD",Vdash:"\u22AE",preccurlyeq:"\u22E0",succcurlyeq:"\u22E1",sqsubseteq:"\u22E2",sqsupseteq:"\u22E3",vartriangleleft:"\u22EA",vartriangleright:"\u22EB",unlhd:"\u22EC",unrhd:"\u22ED",exists:"\u2204"},ea=["arcsin","arccos","arctan","sinh","cosh","tanh","coth","sin","cos","tan","sec","csc","cot","exp","ker","limsup","lim","sup","deg","gcd","log","lg","ln","Pr","det","hom","arg","dim","liminf","min","max","inf","mod"],ta={"{1}{2}":"\xBD","{1}{3}":"\u2153","{2}{3}":"\u2154","{1}{4}":"\xBC","{1}{5}":"\u2155","{2}{5}":"\u2156","{3}{5}":"\u2157","{4}{5}":"\u2158","{1}{6}":"\u2159","{5}{6}":"\u215A","{1}{8}":"\u215B","{3}{8}":"\u215C","{5}{8}":"\u215D","{7}{8}":"\u215E"},xi={alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",varGamma:"\u0393",delta:"\u03B4",varDelta:"\u0394",epsilon:"\u03F5",varepsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",vartheta:"\u03D1",iota:"\u03B9",kappa:"\u03BA",varkappa:"\u03F0",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",varpi:"\u03D6",varPi:"\u03A0",rho:"\u03C1",varrho:"\u03F1",sigma:"\u03C3",varsigma:"\u03C2",varSigma:"\u03A3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03D5",varphi:"\u03C6",varPhi:"\u03A6",chi:"\u03C7",psi:"\u03C8",varPsi:"\u03A8",omega:"\u03C9",Gamma:"\u0393",Delta:"\u0394",Theta:"\u0398",varTheta:"\u0398",Lambda:"\u039B",varLambda:"\u039B",Xi:"\u039E",varXi:"\u039E",Pi:"\u03A0",Sigma:"\u03A3",Upsilon:"\u03A5",varUpsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",varOmega:"\u03A9",varnothing:"\u2205",upalpha:"\u03B1",upbeta:"\u03B2",upgamma:"\u03B3",updelta:"\u03B4",upepsilon:"\u03F5",upzeta:"\u03B6",upeta:"\u03B7",uptheta:"\u03B8",upiota:"\u03B9",upkappa:"\u03BA",uplambda:"\u03BB",upmu:"\u03BC",upnu:"\u03BD",upxi:"\u03BE",upomicron:"\u03BF",uppi:"\u03C0",uprho:"\u03C1",upsigma:"\u03C3",uptau:"\u03C4",upupsilon:"\u03C5",upphi:"\u03D5",upchi:"\u03C7",uppsi:"\u03C8",upomega:"\u03C9",upvarepsilon:"\u03B5",upvartheta:"\u03D1",upvarpi:"\u03D6",upvarrho:"\u03F1",upvarsigma:"\u03C2",upvarphi:"\u03C6",Upgamma:"\u0393",Updelta:"\u0394",Uptheta:"\u0398",Uplambda:"\u039B",Upxi:"\u039E",Uppi:"\u03A0",Upsigma:"\u03A3",Upupsilon:"\u03A5",Upphi:"\u03A6",Uppsi:"\u03A8",Upomega:"\u03A9"},ra={"(":"\u207D",")":"\u207E","+":"\u207A","-":"\u207B","=":"\u207C",":":"\uFE13",";":"\uFE14","<":"\u02C2",">":"\u02C3",0:"\u2070",1:"\xB9",2:"\xB2",3:"\xB3",4:"\u2074",5:"\u2075",6:"\u2076",7:"\u2077",8:"\u2078",9:"\u2079",a:"\u1D43",b:"\u1D47",c:"\u1D9C",d:"\u1D48",e:"\u1D49",f:"\u1DA0",g:"\u1D4D",h:"\u02B0",i:"\u2071",j:"\u02B2",k:"\u1D4F",l:"\u02E1",m:"\u1D50",n:"\u207F",o:"\u1D52",p:"\u1D56",r:"\u02B3",s:"\u02E2",t:"\u1D57",u:"\u1D58",v:"\u1D5B",w:"\u02B7",x:"\u02E3",y:"\u02B8",z:"\u1DBB",A:"\u1D2C",B:"\u1D2E",D:"\u1D30",E:"\u1D31",G:"\u1D33",H:"\u1D34",I:"\u1D35",J:"\u1D36",K:"\u1D37",L:"\u1D38",M:"\u1D39",N:"\u1D3A",O:"\u1D3C",P:"\u1D3E",R:"\u1D3F",T:"\u1D40",U:"\u1D41",V:"\u2C7D",W:"\u1D42"},na={"(":"\u208D",")":"\u208E","+":"\u208A","-":"\u208B","=":"\u208C",0:"\u2080",1:"\u2081",2:"\u2082",3:"\u2083",4:"\u2084",5:"\u2085",6:"\u2086",7:"\u2087",8:"\u2088",9:"\u2089",a:"\u2090",e:"\u2091",h:"\u2095",i:"\u1D62",j:"\u2C7C",k:"\u2096",l:"\u2097",m:"\u2098",n:"\u2099",o:"\u2092",p:"\u209A",r:"\u1D63",s:"\u209B",t:"\u209C",u:"\u1D64",v:"\u1D65",x:"\u2093"};var ia={"left<":"\u3008","right>":"\u3009",langle:"\u3008",rangle:"\u3009",lvert:"|",rvert:"|",lVert:"\u2016",rVert:"\u2016",vert:"|",".":"","/":"/",Arrowvert:"\u2016",Vert:"\u2016",arrowvert:"\u23D0",bracevert:"\u23AA","left\\gt":"\u27E9","right\\gt":"\u27E9",lbrace:"{",lbrack:"[",lfloor:"\u230A",lgroup:"\u27EE",llcorner:"\u231E",lmoustache:"\u23B0",lparen:"(",lrcorner:"\u231F","left\\lt":"\u27E8","right\\lt":"\u27E8",rbrace:"}",rbrack:"]",rfloor:"\u230B",rgroup:"\u27EF",rmoustache:"\u23B1",rparen:")",ulcorner:"\u231C",urcorner:"\u231D"},sa={" ":" ",0:"\u{1D7D8}",1:"\u{1D7D9}",2:"\u{1D7DA}",3:"\u{1D7DB}",4:"\u{1D7DC}",5:"\u{1D7DD}",6:"\u{1D7DE}",7:"\u{1D7DF}",8:"\u{1D7E0}",9:"\u{1D7E1}",A:"\u{1D538}",B:"\u{1D539}",C:"\u2102",D:"\u{1D53B}",E:"\u{1D53C}",F:"\u{1D53D}",G:"\u{1D53E}",H:"\u210D",I:"\u{1D540}",J:"\u{1D541}",K:"\u{1D542}",L:"\u{1D543}",M:"\u{1D544}",N:"\u2115",O:"\u{1D546}",P:"\u2119",Q:"\u211A",R:"\u211D",S:"\u{1D54A}",T:"\u{1D54B}",U:"\u{1D54C}",V:"\u{1D54D}",W:"\u{1D54E}",X:"\u{1D54F}",Y:"\u{1D550}",Z:"\u2124",a:"\u{1D552}",b:"\u{1D553}",c:"\u{1D554}",d:"\u{1D555}",e:"\u{1D556}",f:"\u{1D557}",g:"\u{1D558}",h:"\u{1D559}",i:"\u{1D55A}",j:"\u{1D55B}",k:"\u{1D55C}",l:"\u{1D55D}",m:"\u{1D55E}",n:"\u{1D55F}",o:"\u{1D560}",p:"\u{1D561}",q:"\u{1D562}",r:"\u{1D563}",s:"\u{1D564}",t:"\u{1D565}",u:"\u{1D566}",v:"\u{1D567}",w:"\u{1D568}",x:"\u{1D569}",y:"\u{1D56A}",z:"\u{1D56B}"},oa={A:"\u{1D4D0}",B:"\u{1D4D1}",C:"\u{1D4D2}",D:"\u{1D4D3}",E:"\u{1D4D4}",F:"\u{1D4D5}",G:"\u{1D4D6}",H:"\u{1D4D7}",I:"\u{1D4D8}",J:"\u{1D4D9}",K:"\u{1D4DA}",L:"\u{1D4DB}",M:"\u{1D4DC}",N:"\u{1D4DD}",O:"\u{1D4DE}",P:"\u{1D4DF}",Q:"\u{1D4E0}",R:"\u{1D4E1}",S:"\u{1D4E2}",T:"\u{1D4E3}",U:"\u{1D4E4}",V:"\u{1D4E5}",W:"\u{1D4E6}",X:"\u{1D4E7}",Y:"\u{1D4E8}",Z:"\u{1D4E9}"};var Qi=Object.fromEntries(Object.entries(oe(oe({},xi),Ko)).sort((t,e)=>e[0].length-t[0].length)),Xp=Object.fromEntries([...Object.entries(Jo).sort((t,e)=>e[0].length-t[0].length)]);function wt(t){let e=["\\","(",")","+","-","[","]","{","}","."];for(let r of e)t=t.replaceAll(r,"\\"+r);return t}function la(t,e){let r="\\limits";return t.substring(e,e+r.length)===r?e+r.length:e}function Wp(t,e,r){let n=Tt(t,"\\\\","",e,void 0,!1),i=Tt(t,"\\\\not[ ]*\\\\","",r,void 0,!1),s=[],o=[];for(let a=0;a<i.length;a++)s.push(i[a]),o.push(n[a][0].end);for(let a=0;a<n.length;a++)o.includes(n[a][0].end)||s.push(n[a]);return s}function Tt(t,e,r,n,i,s=!0){let o=Object.keys(n),a=e+"("+wt(o.join("|"))+")"+r,l=new RegExp(a,"g"),c=[...t.matchAll(l)],p=[];for(let u of c){let d=u[1];if(!s){let h=u.index+u[0].length;if(t.charAt(h).match(/[a-zA-Z]/))continue}let O=la(t,u.index+u[0].length);p.push(H({start:u.index,end:O,text:n[d],class:i}))}return p}function st(t,e,r){let n="\\\\"+e+"{([A-Za-z])}",i=new RegExp(n,"g"),s=[...t.matchAll(i)],o=[];for(let a of s){let l=a[1];o.push(H({start:a.index,end:a.index+a[0].length,text:l+r,class:"latex-suite-unicode"}))}return o}function aa(t,e,r){let i=(e?"\\^":"_")+"{([A-Za-z0-9\\()\\[\\]/+-=<>':;\\\\ *]+)}",s=new RegExp(i,"g"),o=[...t.matchAll(s)],a=[];for(let l of o){let c=l[1],p=e?"sup":"sub",u=Object.keys(r),d="\\\\("+wt(u.join("|"))+")",O=new RegExp(d,"g"),h=c.replace(O,(f,g)=>r[g]);a.push(H({start:l.index,end:l.index+l[0].length,text:h,class:"cm-number",elementType:p}))}return a}function Vp(t,e){let r="\\\\(mathbf|boldsymbol|underline|mathrm|text|mathbb){([A-Za-z0-9 ]+)}",n=new RegExp(r,"g"),i=[...t.matchAll(n)],s=[];for(let o of i){let a=o[1],l=o[2],c=o.index,p=c+o[0].length;if(a==="mathbf"||a==="boldsymbol")s.push(H({start:c,end:p,text:l,class:"cm-concealed-bold"}));else if(a==="underline")s.push(H({start:c,end:p,text:l,class:"cm-concealed-underline"}));else if(a==="mathrm")s.push(H({start:c,end:p,text:l,class:"cm-concealed-mathrm"}));else if(a==="text")c>0&&t.charAt(c-1)==="_"&&s.push(H({start:c-1,end:p,text:l,class:"cm-concealed-mathrm",elementType:"sub"}));else if(a==="mathbb"){let d=Array.from(l).map(O=>e[O]).join("");s.push(H({start:c,end:p,text:d}))}}return s}function Ip(t,e){let r=Object.keys(e),n="\\\\(underline|boldsymbol){\\\\("+wt(r.join("|"))+")}",i=new RegExp(n,"g"),s=[...t.matchAll(i)],o=[];for(let a of s){let l=a[1],c=a[2],p=a.index,u=p+a[0].length;l==="underline"?o.push(H({start:p,end:u,text:e[c],class:"cm-concealed-underline"})):l==="boldsymbol"&&o.push(H({start:p,end:u,text:e[c],class:"cm-concealed-bold"}))}return o}function Mp(t){let e="\\\\text{([A-Za-z0-9-.!?() ]+)}",r=new RegExp(e,"g"),n=[...t.matchAll(r)],i=[];for(let s of n){let o=s[1],a=s.index,l=a+s[0].length;i.push(H({start:a,end:l,text:o,class:"cm-concealed-mathrm cm-variable-2"}))}return i}function Gp(t,e){let r="(\\\\("+e.join("|")+"))([^a-zA-Z]|$)",n=new RegExp(r,"g"),i=[...t.matchAll(n)],s=[];for(let o of i){let a=o[2],l=o.index,c=la(t,l+o[1].length);s.push(H({start:l,end:c,text:a,class:"cm-concealed-mathrm cm-variable-2"}))}return s}function Bp(t,e,r,n,i){let s=e+"([A-Z]+)"+r,o=new RegExp(s,"g"),a=[...t.matchAll(o)],l=[];for(let c of a){let p=c[1],d=Array.from(p).map(O=>n[O]).join("");l.push(H({start:c.index,end:c.index+c[0].length,text:d,class:i}))}return l}function Dp(t){let e="\u3008",r="\u3009",n="|",i=[];for(let s of t.matchAll(/\\(braket|bra|ket){/g)){let o=J(t,s.index,"{","}",!1);if(o===-1)continue;let a=s.index,l=a+s[0].length-1,c=s[1],p=c==="ket"?n:e,u=c==="bra"?n:r;i.push(H({start:a,end:l,text:""},{start:l,end:l+1,text:p,class:"cm-bracket"},{start:o,end:o+1,text:u,class:"cm-bracket"}))}return i}function zp(t){let e=[];for(let r of t.matchAll(/\\set\{/g)){let n=r.index,i=n+r[0].length-1,s=J(t,n,"{","}",!1);s!==-1&&e.push(H({start:n,end:i,text:""},{start:i,end:i+1,text:"{",class:"cm-bracket"},{start:s,end:s+1,text:"}",class:"cm-bracket"}))}return e}function Lp(t){let e=[];for(let r of t.matchAll(/\n?\\(frac|dfrac|tfrac|gfrac){/g)){let n=J(t,r.index,"{","}",!1);if(n===-1||t.charAt(n+1)!=="{")continue;let i=J(t,n+1,"{","}",!1);if(i===-1)continue;let s=r.index+ +(r[0][0]===`
`),o=r[0][0]===`
`?" ":"",a=r.index+r[0].length-1,l=n+1;e.push(H({start:s,end:a,text:o},{start:a,end:a+1,text:"(",class:"cm-bracket"},{start:n,end:n+1,text:")",class:"cm-bracket"},{start:n+1,end:n+1,text:"/",class:"cm-bracket"},{start:l,end:l+1,text:"(",class:"cm-bracket"},{start:i,end:i+1,text:")",class:"cm-bracket"}))}return e}function Up(t){let e="\\\\operatorname{([A-Za-z]+)}",r=new RegExp(e,"g"),n=[...t.matchAll(r)],i=[];for(let s of n){let o=s[1],a=s.index,l=a+s[0].length;i.push(H({start:a,end:l,text:o,class:"cm-concealed-mathrm cm-variable-2"}))}return i}function Ho(t,e){let r=nt(t).getEquations(t.state),n={};for(let s of r.values()){if(s in e){n[s]=e[s];continue}let o=[...Tt(s,"\\^","",ra),...Tt(s,"_","",na),...Tt(s,"\\\\frac","",ta),...Wp(s,Qi,Xp),...aa(s,!0,Qi),...aa(s,!1,Qi),...st(s,"hat","\u0302"),...st(s,"dot","\u0307"),...st(s,"ddot","\u0308"),...st(s,"overline","\u0304"),...st(s,"bar","\u0304"),...st(s,"tilde","\u0303"),...st(s,"vec","\u20D7"),...Tt(s,"\\\\","",ia,"cm-bracket"),...Bp(s,"\\\\mathcal{","}",oa),...Ip(s,xi),...Vp(s,sa),...Mp(s),...Dp(s),...zp(s),...Lp(s),...Gp(s,ea),...Up(s)];n[s]=o}e=n;let i=[];for(let[s,o]of r.entries())for(let a of n[o])i.push(a.map(l=>ye(oe({},l),{start:l.start+s,end:l.end+s})));return{specs:i,cached_equations:e}}function Si(t,e){return t.includes(e)}function ca(t,e){return e in t}var ua=["\\big","\\Big","\\bigg","\\Bigg","\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\left","\\right"],Oa=["{","}"],Kr={"(":")","[":"]","\\{":"\\}","\\langle":"\\rangle","\\lvert":"\\rvert","\\lVert":"\\rVert","\\lceil":"\\rceil","\\lfloor":"\\rfloor"},Np=[...ua,...Object.keys(Kr),...Object.values(Kr)],Fp=[...Np.map(wt).sort((t,e)=>t.length-e.length),...Oa.map(wt)].join("|"),pa=new RegExp(Fp,"g"),Yp=Object.fromEntries(Object.entries(Kr).map(([t,e])=>[e,t])),Jr=t=>{let e=X(t);if(!e.autoEnlargeBrackets)return;let n=I(t).getBounds();if(!n)return!1;let{inner_start:i,inner_end:s}=n,o=t.state.sliceDoc(i,s),a="\\left",l="\\right",c=[],p,u=null;pa.lastIndex=0;let d=0,O=[d];for(;(p=pa.exec(o))!==null;){let h=p[0],f=p.index;if(Si(ua,h)){u=f+h.length;continue}else if(Si(Oa,h)){h==="{"?O.push(++d):O.length>1&&O.pop();continue}else if(ca(Kr,h)){u===null||/\S/.test(o.slice(u,f))?c.push({index:f,match:h,level:O[O.length-1]}):u!==null&&c.push({match:h,ignore:!0,level:O[O.length-1]}),u=null;continue}let g=u!==null&&!/\S/.test(o.slice(u,f));u=null;let b=Yp[h];for(let y=c.length-1;y>=0;y--){let x=c[y];if(x.match===b&&("ignore"in x||g)){c.splice(y,1);break}if("ignore"in x||x.level!==O[O.length-1]||x.match!==b)continue;let S=x.index,Q=x.match,m=S+Q.length,T=p.index,C=o.slice(m,T);if(!e.autoEnlargeBracketsTriggers.some(k=>C.contains(k)))break;qe(t,i+S,i+m,a+Q+" "),qe(t,i+T,i+T+h.length," "+l+h),c.splice(y,1);break}}Ge(t)};var ha=require("obsidian"),en=null,$i=(t,e,r,n)=>{let i=!1;for(let o of e.ranges)Hp(t,e,r,o,n).shouldAutoEnlargeBrackets&&(i=!0);let s=Ge(t);return i&&Jr(t),s},Hp=(t,e,r,n,i)=>{var d;let s=X(t),{from:o,to:a}=n,l=t.state.sliceDoc(o,a),c=t.state.sliceDoc(0,a),p=(d=r.key)!=null?d:"";if(r.key&&r.key.length!==1)return{success:!1,shouldAutoEnlargeBrackets:!1};let u=c+p;for(let O=0;O<r.snippets.length;O++){let h=r.snippets[O];if(!Kp(h.options,e.mode))continue;let f=h.process(u,n,l);if(f===null)continue;let g=!1;for(let m of h.excludedEnvironments)e.isWithinEnvironment(a,m)&&(g=!0);if(g)continue;let b=f.triggerPos;if(h.options.onWordBoundary&&!Jp(t.state,b,a,s.wordDelimiters))continue;let y=f.replacement;e.mode.inlineMath&&s.removeSnippetWhitespace&&(y=eu(y,e));let x=b,S=h.options.automatic&&h.type!=="visual"?p:void 0;qe(t,x,a,y,S);let Q=s.autoEnlargeBracketsTriggers.some(m=>y.contains(m));if(i==="info"||i==="verbose"){let m=h.trigger.toString(),T=h.triggerKey?`<li>Trigger key: ${new Option(h.triggerKey).innerHTML}
</li>`:"",C=h.description,E=`Latex Suite: <br><ul><li>Description: ${new Option(C).innerHTML}
</li><li>Parsed trigger: <code>${new Option(m).innerHTML}</code>
</li>`+T+`<li>Replacement: <code>${new Option(y).innerHTML}</code>
</li><li>Auto-enlarge brackets: ${Q}
</li></ul>`,k=new DocumentFragment,P=k.createDiv();P.innerHTML=E,en==null||en.hide(),en=new ha.Notice(k,5e3),console.info(P.textContent)}return i==="verbose"&&console.debug({snippets_unexpanded:r.snippets.slice(0,O).map(m=>({description:m.description,trigger:m.trigger,options:m.options,replacement:m.replacement})),current_mode:e.mode,updatedLine:u}),{success:!0,shouldAutoEnlargeBrackets:Q}}return{success:!1,shouldAutoEnlargeBrackets:!1}},Kp=(t,e)=>{if((t.mode.inlineMath&&e.inlineMath||t.mode.blockMath&&e.blockMath||(t.mode.inlineMath||t.mode.blockMath)&&e.codeMath)&&!e.textEnv||e.inMath()&&e.textEnv&&t.mode.text||t.mode.text&&e.text||t.mode.code===e.code&&e.code!==!1||t.mode.code===!0&&e.code!==!1)return!0},Jp=(t,e,r,n)=>{let i=t.sliceDoc(e-1,e),s=t.sliceDoc(r,r+1);return n=n.replace("\\n",`
`),n.contains(i)&&n.contains(s)},eu=(t,e)=>{let r=0;if(t.endsWith(" "))r=-1;else{let n=t.slice(-3),i=n.slice(-1);n.slice(0,2)===" $"&&!isNaN(parseInt(i))&&(r=-3)}return r!=0&&(r===-1?t=t.trimEnd():r===-3&&(t=t.slice(0,-3)+t.slice(-2))),t};var da=(t,e)=>{for(let n of e.ranges)tu(t,e,n);let r=Ge(t);return r&&Jr(t),r},tu=(t,e,r)=>{let n=X(t),{from:i,to:s}=r;for(let O of n.autofractionExcludedEnvs)if(e.isWithinEnvironment(s,O))return!1;let o=e.getBounds();if(!o)return!1;let a=o.inner_start,l=t.state.sliceDoc(0,s),c=a;if(i!=s)c=i;else{let O="alpha|beta|gamma|Gamma|delta|Delta|epsilon|varepsilon|zeta|eta|theta|Theta|iota|kappa|lambda|Lambda|mu|nu|omicron|xi|Xi|pi|Pi|rho|sigma|Sigma|tau|upsilon|Upsilon|varphi|phi|Phi|chi|psi|Psi|omega|Omega",h=new RegExp("("+O+") ([^ ])","g");l=l.replace(h,"$1#$2");for(let f=l.length-1;f>=a;f--){let g=l.charAt(f);if([")","]","}"].contains(g)){let b=g,y=Lt(b),x=J(l,f,y,b,!0);if(x===-1)return!1;if(f=x,f<a){c=a;break}}if(` $([{
`.concat(n.autofractionBreakingChars).contains(g)){c=f+1;break}}}if(c===s)return!1;let p=t.state.sliceDoc(c,s);p.at(0)==="("&&p.at(-1)===")"&&J(p,0,"(",")",!1)===p.length-1&&(p=p.slice(1,-1));let u=p===""?`${n.autofractionSymbol}{$0}{$1}$2`:`${n.autofractionSymbol}{${p}}{$0}$1`,d=i!=s?void 0:"/";return qe(t,c,s,u,d),!0};var rn=require("@codemirror/view"),kt=require("@codemirror/state"),Pt=require("obsidian");var fa=require("@codemirror/language"),vi=kt.StateEffect.define(),tn=kt.StateField.define({create:()=>[],update(t,e){for(let r of e.effects)if(r.is(vi))return r.value;return t},provide:t=>rn.showTooltip.computeN([t],e=>e.field(t).map(r=>r.tooltip))}),ru=(t,e,r,n)=>{let i=(l,c,p,u,d)=>{let O=0;for(let h=c;h>=0&&h<l.length;h+=d)if(l[h]===p&&O++,l[h]===u){if(O===0)return h;O--}return-1},s=t[e]===n?e-1:e,o=i(t,s,n,r,-1),a=i(t,e,r,n,1);return{left:o,right:a}};function ma(t){if(!(t.docChanged||t.selectionSet))return;let r=X(t.state),n=I(t.view),i=nu(t.state,n);if(!i){t.state.field(tn).length>0&&t.view.dispatch({effects:[vi.of([])]});return}let s=t.state.sliceDoc(i.inner_start,i.inner_end),o=n.pos,l=(0,fa.syntaxTree)(t.state).cursor();l.moveTo(o,-1);let c;l.name==="math_tag"&&l.from<o&&l.to>=o?c=l.from:c=o;let p=c-i.inner_start,u,d=s.replaceAll(/\\[\\{}]/g,"\\R"),{left:O,right:h}=r.mathPreviewBracketHighlighting?ru(d,p,"{","}"):{left:-1,right:-1};if(h!==-1&&O!==-1){let x=Math.max(O+1,p);u=s.slice(0,O+1)+"\\style{background-color: var(--latex-suite-math-preview-highlight);}{"+s.slice(O+1,x)+r.mathPreviewCursor+s.slice(x,h)+"}"+s.slice(h)}else u=s.slice(0,p)+r.mathPreviewCursor+s.slice(p);let f=t.state.field(tn);if(f.length===1&&f[0].equation===u&&f[0].bounds.inner_start===i.inner_start&&f[0].bounds.inner_end===i.inner_end)return;let g=r.mathPreviewPositionIsAbove,b=()=>{var S;let x=document.createElement("div");if(x.addClass("cm-tooltip-cursor"),x.addClass(g?"cm-tooltip-above":"cm-tooltip-below"),n.mode.blockMath){let Q=(S=t.state.doc.lineAt(i.inner_start).text.match(/^ {0,3}(>+)/))==null?void 0:S[1].length;if(Q){let m=new RegExp(`^ {0,3}>{${Q}}`,"gm");m.test(s)&&(u=u.replaceAll(m,""))}}try{let Q=(0,Pt.renderMath)(u,n.mode.blockMath||n.mode.codeMath),m=Q.querySelector('[style*="background-color: var(--latex-suite-math-preview-highlight)"]');m==null||m.addClass("latex-suite-math-preview-highlight"),m==null||m.style.removeProperty("background-color"),x.appendChild(Q),(0,Pt.finishRenderMath)()}catch(Q){console.error("Error rendering math in tooltip:",Q),x.textContent=s}return{dom:x}},y=[];if(n.mode.blockMath||n.mode.codeMath)y=[{pos:g?i.inner_start:i.inner_end,above:g,strictSide:!0,arrow:!0,create:b}];else if(n.mode.inlineMath&&g)y=[{pos:i.inner_start,above:!0,strictSide:!0,arrow:!0,create:b}];else if(n.mode.inlineMath&&!g){let x=kt.EditorSelection.range(i.inner_end,i.inner_end);y=[{pos:Math.max(i.inner_start,t.view.moveToLineBoundary(x,!1).anchor),above:!1,strictSide:!0,arrow:!0,create:b}]}t.view.dispatch({effects:[vi.of(y.map(x=>({equation:u,bounds:i,pos:x.pos,tooltip:x})))]})}function nu(t,e){if(!e.mode.inMath())return null;let r=t.field(Pt.editorLivePreviewField);if(e.mode.blockMath&&r)return null;let n=e.getBounds();return!n||t.sliceDoc(n.inner_start,n.inner_end).trim()===""?null:n}var ga=rn.EditorView.baseTheme({".cm-tooltip.cm-tooltip-cursor":{backgroundColor:"var(--background-secondary)",color:"var(--text-normal)",border:"1px solid var(--background-modifier-border-hover)",padding:"4px 6px",borderRadius:"6px","& .cm-tooltip-arrow:before":{borderTopColor:"var(--background-modifier-border-hover)",borderBottomColor:"var(--background-modifier-border-hover)"},"& .cm-tooltip-arrow:after":{borderTopColor:"var(--background-secondary)",borderBottomColor:"var(--background-secondary)"},"& p":{margin:"0px"},"& mjx-container":{padding:"2px !important"}}});var ba=t=>{X(t.state).mathPreviewEnabled&&ma(t),qo(t)},sn=nn.ViewPlugin.fromClass(class{constructor(){this.lastKeyboardEvent=null}onKeydown(t,e){if(t.key=="Unidentified"||t.key=="Process"||t.key=="Dead"){this.lastKeyboardEvent=t;return}else this.lastKeyboardEvent=null;(xa(t.key,t.ctrlKey||t.metaKey,Jn(e,t),e)||(0,nn.runScopeHandlers)(e,t,"latex-suite"))&&t.preventDefault()}},{eventHandlers:{keydown(t,e){e.plugin(sn).onKeydown(t,e)}}}),ya=(t,e,r,n)=>{var s;let i=(s=t.plugin(sn))==null?void 0:s.lastKeyboardEvent;return n==="\0\0"?!0:n.length==1&&i&&(n===" "&&(n="Tab"),xa(n,i.ctrlKey||i.metaKey,Jn(t,i),t))?(mo(t),!0):!1},xa=(t,e,r,n)=>{if(t.length>1)return!1;let i=X(n),s=I(n);if(!i.snippetsEnabled||i.suppressSnippetTriggerOnIME&&r||e)return!1;let o=i.snippets.filter(a=>a.options.automatic);try{if($i(n,s,{snippets:o,key:t},i.snippetDebug))return!0}catch(a){Qt(n),console.error(a)}return!1};function Qa(t){let e=[];t.autoDelete$&&e.push({key:"Backspace",run:function(a){if(!X(a).autoDelete$)return!1;let l=I(a);if(!l.mode.strictlyInMath())return!1;let c=zt(a,l.pos),p=zt(a,l.pos-1);return c==="$"&&p==="$"?(jr(a,l.pos-1,l.pos+1,""),Br(a),!0):!1}});let r=new Set(t.snippets.map(o=>o.triggerKey).filter(o=>o!==""));r.add(t.snippetsTrigger);let n=o=>{let a=t.snippets.filter(l=>l.triggerKey===o||!l.triggerKey&&!l.options.automatic&&o===t.snippetsTrigger);return l=>{let c=X(l);if(c.suppressSnippetTriggerOnIME&&l.composing)return!1;try{let p=I(l);return $i(l,p,{snippets:a},c.snippetDebug)}catch(p){return Qt(l),console.error(p),!1}}};t.snippetsEnabled&&e.push(...Array.from(r,o=>({key:o,run:n(o)}))),e.push({key:t.snippetNextTabstopTrigger,run:function(a){return ci(a,!1)}}),e.push({key:t.snippetPreviousTabstopTrigger,run:function(a){return ci(a,!0)}}),t.autofractionEnabled&&e.push({key:"/",run:function(a){if(!X(a).autofractionEnabled)return!1;let l=I(a);return l.mode.strictlyInMath()?da(a,l):!1}});let i=[{key:"Enter",run:zr},{key:"Tab",run:Go},{key:"Shift-Enter",run:Mo}];t.taboutEnabled&&t.taboutTrigger==="Tab"&&i.unshift({key:t.taboutTrigger,run:Bo}),t.matrixShortcutsEnabled&&e.push(...i);let s=[{key:t.taboutTrigger,run:function(a){if(!a.state.selection.main.empty)return!1;let l=I(a);return hi(a,l)}},...[")","}","]"].map(o=>({key:o,run:function(l){if(!Io(l,o))return!1;let c=I(l);return hi(l,c)}}))];return t.taboutEnabled&&e.push(...s),e.map(o=>ye(oe({},o),{scope:"latex-suite"}))}var ot=require("@codemirror/view");var Sa=[St.extension,oi.extension,Ao];var je=require("@codemirror/view"),Ta=require("@codemirror/state");var iu=3;function Jt(t,e){return je.Decoration.mark({inclusive:!0,attributes:{},class:e}).range(t,t+1)}function $a(t,e){let r=nt(t).getEquations(t.state),n={};for(let o of r.values()){if(o in e){n[o]=e[o];continue}let a=["{","[","("],l=["}","]",")"],c=[],p=[];for(let u=0;u<o.length;u++){let d=o.charAt(u);if(a.contains(d))c.push({char:d,pos:u});else if(l.contains(d)){let O=c.at(-1);if(O&&xt(O.char)===d){c.pop();let h=O.pos,g="latex-suite-color-bracket-"+c.length%iu;p.push({pos:h,className:g}),p.push({pos:u,className:g})}}}n[o]=p}e=n;let i=[];for(let[o,a]of r.entries()){let l=n[a];if(l)for(let c of l)i.push(Jt(o+c.pos,c.className))}return{decorations:je.Decoration.set(i,!0),cached_equations:e}}function su(t,e,r){let n=r.getBounds(e);if(!n)return-1;let{inner_start:i,inner_end:s}=n,o=t.state.doc.sliceString(i,s);for(let a=e-i;a>0;a--){let l=o.charAt(a);if([")","]","}"].contains(l)){let c=l,p=Lt(c),u=J(o,a,p,c,!0);if(u===-1)return-1;a=u,l=o.charAt(a)}else{if(!["{","(","["].contains(l))continue;let c=J(o,a,l,xt(l),!1);if(c===-1)continue;return{left:a+i,right:c+i}}}return-1}function va(t){let e=[],r=t.state.selection,n=r.ranges,i=t.state.doc.toString(),s=I(t);if(!s.mode.inMath())return je.Decoration.none;let o=s.getBounds(r.main.to);if(!o)return je.Decoration.none;let a=t.state.doc.sliceString(o.inner_start,o.inner_end),l=["{","[","("],c=["{","[","(","}","]",")"],p=!1;for(let u of n){for(let d=u.to;d>u.from-2;d--){let O=i.charAt(d);if(!c.contains(O))continue;let h,f,g=!1;l.contains(O)?(h=O,f=xt(h)):(f=O,h=Lt(O),g=!0);let b=J(a,d-o.inner_start,h,f,g);if(b!==-1){b=b+o.inner_start,e.push(Jt(d,"latex-suite-highlighted-bracket")),e.push(Jt(b,"latex-suite-highlighted-bracket")),p=!0;break}}if(p)break;if(u.empty){let d=u.from-1,O=su(t,d,s);if(O===-1)continue;e.push(Jt(O.left,"latex-suite-highlighted-bracket")),e.push(Jt(O.right,"latex-suite-highlighted-bracket")),p=!0;break}if(p)break}return je.Decoration.set(e,!0)}var ou=je.ViewPlugin.fromClass(class{constructor(t){this.cached_equations={};({decorations:this.decorations,cached_equations:this.cached_equations}=$a(t,this.cached_equations))}update(t){(t.docChanged||t.viewportChanged)&&({decorations:this.decorations,cached_equations:this.cached_equations}=$a(t.view,this.cached_equations))}},{decorations:t=>t.decorations}),wa=Ta.Prec.lowest(ou.extension),ka=je.ViewPlugin.fromClass(class{constructor(t){this.decorations=va(t)}update(t){(t.docChanged||t.selectionSet)&&(this.decorations=va(t.view))}},{decorations:t=>t.decorations});var on=class extends ge.Plugin{constructor(){super(...arguments);this.editorExtensions=[]}onload(){return v(this,null,function*(){yield this.loadSettings(),this.loadIcons(),this.addSettingTab(new Nr(this.app,this)),(0,ge.loadMathJax)(),this.legacyEditorWarning(),this.IMEEditorWarning(),this.registerEditorExtension(this.editorExtensions),this.watchFiles(),this.addEditorCommands()})}onunload(){}legacyEditorWarning(){var r;if((r=this.app.vault.config)!=null&&r.legacyEditor){let n="Latex Suite: This plugin does not support the legacy editor. Switch to Live Preview mode to use this plugin.";new ge.Notice(n,1e5),console.error(n);return}}IMEEditorWarning(){if(Yr()&&!this.settings.suppressIMEWarning&&this.settings.suppressSnippetTriggerOnIME){let r=createFragment();r.appendText("Latex Suite: this plugin supports your IME keyboard, but "),r.createEl("code",{text:"Advanced settings > Don't trigger snippets when IME is active"}),r.appendText(" is currently enabled. You may want to disable it in the plugin settings to fully enable automatic snippets. Be aware that this may cause unexpected snippet triggers while using your IME. To turn this warning off, enable "),r.createEl("code",{text:"Advanced settings > Suppress IME warning"}),r.appendText("."),new ge.Notice(r,1e4),console.info(r)}}loadSettings(){return v(this,null,function*(){let r=yield this.loadData(),n=r?"basicSettings"in r:!1;function i(s){return ye(oe(oe({},s.basicSettings),s.rawSettings),{snippets:s.snippets})}if(n&&(r=i(r)),this.settings=Object.assign({},W,r),n&&this.saveSettings(),this.settings.loadSnippetsFromFile||this.settings.loadSnippetVariablesFromFile){let s=yield this.getSettingsSnippetVariables(),o=yield this.getSettingsSnippets(s);this.CMSettings=qt(o,this.settings),this.app.workspace.onLayoutReady(()=>{this.processSettings()})}else yield this.processSettings()})}saveSettings(r=!1){return v(this,null,function*(){yield this.saveData(this.settings),this.processSettings(r)})}getSettingsSnippetVariables(){return v(this,null,function*(){try{return yield ze(this.settings.snippetVariables)}catch(r){return new ge.Notice(`Failed to load snippet variables from settings: ${r}`),console.error(`Failed to load snippet variables from settings: ${r}`),{}}})}getSettingsSnippets(r){return v(this,null,function*(){try{return yield ut(this.settings.snippets,r)}catch(n){return new ge.Notice(`Failed to load snippets from settings: ${n}`),console.error(`Failed to load snippets from settings: ${n}`),[]}})}getSnippets(r,n){return v(this,null,function*(){let i=is(this),s=this.settings.loadSnippetVariablesFromFile?yield ss(this,i):yield this.getSettingsSnippetVariables(),o=yield os(this,i);this.settings.loadSnippetVariablesFromFile&&Object.assign(s,o);let a=this.settings.loadSnippetsFromFile?yield as(this,i,s):yield this.getSettingsSnippets(s);return this.showSnippetsLoadedNotice(a.length,Object.keys(s).length,r,n),a})}processSettings(r=!1,n=!1){return v(this,null,function*(){this.CMSettings=qt(yield this.getSnippets(r,n),this.settings),this.setEditorExtensions(),this.app.workspace.updateOptions()})}setEditorExtensions(){for(;this.editorExtensions.length;)this.editorExtensions.pop();this.editorExtensions.push([er.Prec.highest(si.extension),er.Prec.highest(ii.extension),xo(this.CMSettings),er.Prec.highest(sn.extension),er.Prec.highest(ot.EditorView.inputHandler.of(ya)),ot.EditorView.updateListener.of(ba),Sa]);let r=Qa(this.CMSettings);this.editorExtensions.push(ot.keymap.of(r)),this.CMSettings.concealEnabled&&this.editorExtensions.push(Yo),this.CMSettings.colorPairedBracketsEnabled&&this.editorExtensions.push(wa),this.CMSettings.highlightCursorBracketsEnabled&&this.editorExtensions.push(ka.extension),this.CMSettings.mathPreviewEnabled&&this.editorExtensions.push([tn.extension,ga,(0,ot.tooltips)({position:"absolute"})])}showSnippetsLoadedNotice(r,n,i,s){if(!(i||s))return;let o=i?"Loaded ":"Successfully reloaded ",a=[];this.settings.loadSnippetsFromFile&&a.push(`${r} snippets`),this.settings.loadSnippetVariablesFromFile&&a.push(`${n} snippet variables`);let l=" from files.";new ge.Notice(o+a.join(" and ")+l,5e3)}addEditorCommands(){var r;for(let n of Lo(this))this.addCommand(n);e:{if(!(app!=null&&app.isVimEnabled())||!this.settings.vimEnabled)break e;let n=(r=window==null?void 0:window.CodeMirrorAdapter)==null?void 0:r.Vim;if(!n)break e;for(let i of Lr(this.settings))n[i.defineType](i.id,i.action),n.mapCommand(i.key,i.type,i.id,{},{context:i.context})}}watchFiles(){this.app.workspace.onLayoutReady(()=>{let r={modify:es,delete:rs,create:ts};for(let[n,i]of Object.entries(r))this.registerEvent(this.app.vault.on(n,s=>i(this,s)))})}loadIcons(){for(let[r,n]of Object.entries(Uo))(0,ge.addIcon)(r,n)}};
/* nosourcemap */