diff --git a/build/index.js b/build/index.js index ab0c8be..3a20aa2 100644 --- a/build/index.js +++ b/build/index.js @@ -1,60 +1,5 @@ -var ea=Object.create;var st=Object.defineProperty;var ua=Object.getOwnPropertyDescriptor;var ta=Object.getOwnPropertyNames;var ra=Object.getPrototypeOf,aa=Object.prototype.hasOwnProperty;var na=(u,e)=>()=>(e||u((e={exports:{}}).exports,e),e.exports);var sa=(u,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of ta(e))!aa.call(u,a)&&a!==t&&st(u,a,{get:()=>e[a],enumerable:!(r=ua(e,a))||r.enumerable});return u};var ia=(u,e,t)=>(t=u!=null?ea(ra(u)):{},sa(e||!u||!u.__esModule?st(t,"default",{value:u,enumerable:!0}):t,u));var fr=na((Yi,dr)=>{"use strict";var Hn=function(e){return jn(e)&&!Wn(e)};function jn(u){return!!u&&typeof u=="object"}function Wn(u){var e=Object.prototype.toString.call(u);return e==="[object RegExp]"||e==="[object Date]"||Jn(u)}var Gn=typeof Symbol=="function"&&Symbol.for,zn=Gn?Symbol.for("react.element"):60103;function Jn(u){return u.$$typeof===zn}function Kn(u){return Array.isArray(u)?[]:{}}function Te(u,e){return e.clone!==!1&&e.isMergeableObject(u)?se(Kn(u),u,e):u}function Qn(u,e,t){return u.concat(e).map(function(r){return Te(r,t)})}function Zn(u,e){if(!e.customMerge)return se;var t=e.customMerge(u);return typeof t=="function"?t:se}function Xn(u){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(u).filter(function(e){return Object.propertyIsEnumerable.call(u,e)}):[]}function cr(u){return Object.keys(u).concat(Xn(u))}function lr(u,e){try{return e in u}catch{return!1}}function Yn(u,e){return lr(u,e)&&!(Object.hasOwnProperty.call(u,e)&&Object.propertyIsEnumerable.call(u,e))}function es(u,e,t){var r={};return t.isMergeableObject(u)&&cr(u).forEach(function(a){r[a]=Te(u[a],t)}),cr(e).forEach(function(a){Yn(u,a)||(lr(u,a)&&t.isMergeableObject(e[a])?r[a]=Zn(a,t)(u[a],e[a],t):r[a]=Te(e[a],t))}),r}function se(u,e,t){t=t||{},t.arrayMerge=t.arrayMerge||Qn,t.isMergeableObject=t.isMergeableObject||Hn,t.cloneUnlessOtherwiseSpecified=Te;var r=Array.isArray(e),a=Array.isArray(u),s=r===a;return s?r?t.arrayMerge(u,e,t):es(u,e,t):Te(e,t)}se.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce(function(r,a){return se(r,a,t)},{})};var us=se;dr.exports=us});var N=class{db;constructor(e){this.db=e,this.loadArrayFromDB=this.loadArrayFromDB.bind(this),this.addAddress=this.addAddress.bind(this),this.removeAddress=this.removeAddress.bind(this),this.loadMailStatus=this.loadMailStatus.bind(this),this.loadMailCache=this.loadMailCache.bind(this)}async loadArrayFromDB(e){try{let t=await this.db.get(e);return Pe(t)}catch(t){console.error(t)}return[]}async addAddress(e,t){let r=await this.loadArrayFromDB(t);r.unshift(e),await this.db.put(t,JSON.stringify(r))}async removeAddress(e,t){let a=(await this.loadArrayFromDB(t)).filter(s=>s!==e);await this.db.put(t,JSON.stringify(a))}async loadMailStatus(e,t){let r={telegram:!1,forward:[]};if(t)try{let a=await this.db.get(e);return a?{...r,...JSON.parse(a)}:r}catch(a){console.error(a)}return r}async loadMailCache(e){try{let t=await this.db.get(e);return t?JSON.parse(t):null}catch(t){console.error(t)}return null}};function Pe(u){if(!u)return[];let e=[];try{e=JSON.parse(u)}catch{return[]}return Array.isArray(e)?e:[]}function oa(u,e){if(e.toLowerCase()===u.toLowerCase())return!0;try{return new RegExp(e,"i").test(u)}catch{return!1}}async function pu(u,e){let t=(h,m)=>{for(let p of h)if(p&&oa(m,p))return!0;return!1},{BLOCK_LIST:r,WHITE_LIST:a,DISABLE_LOAD_REGEX_FROM_DB:s,DB:n}=e,i=Pe(r),o=Pe(a),c=new N(n);s!=="true"&&(i.push(...await c.loadArrayFromDB("BLOCK_LIST")),o.push(...await c.loadArrayFromDB("WHITE_LIST")));let l={};for(let h of u)if(h){if(t(o,h)){l[h]="white";continue}if(t(i,h)){l[h]="block";continue}l[h]="no_match"}return l}async function it(u,e){let t=[u.from,u.to],r=await pu(t,e);for(let a in r)switch(r[a]){case"white":return console.log(`Matched white list: ${a}`),!1;default:break}for(let a in r)switch(r[a]){case"block":return console.log(`Matched block list: ${a}`),!0;default:break}return!1}var b;(function(u){u.Root="root",u.Text="text",u.Directive="directive",u.Comment="comment",u.Script="script",u.Style="style",u.Tag="tag",u.CDATA="cdata",u.Doctype="doctype"})(b||(b={}));function ot(u){return u.type===b.Tag||u.type===b.Script||u.type===b.Style}var ct=b.Root,lt=b.Text,dt=b.Directive,ft=b.Comment,ht=b.Script,pt=b.Style,mt=b.Tag,bt=b.CDATA,gt=b.Doctype;var Me=class{constructor(){this.parent=null,this.prev=null,this.next=null,this.startIndex=null,this.endIndex=null}get parentNode(){return this.parent}set parentNode(e){this.parent=e}get previousSibling(){return this.prev}set previousSibling(e){this.prev=e}get nextSibling(){return this.next}set nextSibling(e){this.next=e}cloneNode(e=!1){return At(this,e)}},fe=class extends Me{constructor(e){super(),this.data=e}get nodeValue(){return this.data}set nodeValue(e){this.data=e}},K=class extends fe{constructor(){super(...arguments),this.type=b.Text}get nodeType(){return 3}},he=class extends fe{constructor(){super(...arguments),this.type=b.Comment}get nodeType(){return 8}},pe=class extends fe{constructor(e,t){super(t),this.name=e,this.type=b.Directive}get nodeType(){return 1}},me=class extends Me{constructor(e){super(),this.children=e}get firstChild(){var e;return(e=this.children[0])!==null&&e!==void 0?e:null}get lastChild(){return this.children.length>0?this.children[this.children.length-1]:null}get childNodes(){return this.children}set childNodes(e){this.children=e}},be=class extends me{constructor(){super(...arguments),this.type=b.CDATA}get nodeType(){return 4}},Q=class extends me{constructor(){super(...arguments),this.type=b.Root}get nodeType(){return 9}},ge=class extends me{constructor(e,t,r=[],a=e==="script"?b.Script:e==="style"?b.Style:b.Tag){super(r),this.name=e,this.attribs=t,this.type=a}get nodeType(){return 1}get tagName(){return this.name}set tagName(e){this.name=e}get attributes(){return Object.keys(this.attribs).map(e=>{var t,r;return{name:e,value:this.attribs[e],namespace:(t=this["x-attribsNamespace"])===null||t===void 0?void 0:t[e],prefix:(r=this["x-attribsPrefix"])===null||r===void 0?void 0:r[e]}})}};function R(u){return ot(u)}function bu(u){return u.type===b.CDATA}function Oe(u){return u.type===b.Text}function gu(u){return u.type===b.Comment}function ca(u){return u.type===b.Directive}function yt(u){return u.type===b.Root}function At(u,e=!1){let t;if(Oe(u))t=new K(u.data);else if(gu(u))t=new he(u.data);else if(R(u)){let r=e?mu(u.children):[],a=new ge(u.name,{...u.attribs},r);r.forEach(s=>s.parent=a),u.namespace!=null&&(a.namespace=u.namespace),u["x-attribsNamespace"]&&(a["x-attribsNamespace"]={...u["x-attribsNamespace"]}),u["x-attribsPrefix"]&&(a["x-attribsPrefix"]={...u["x-attribsPrefix"]}),t=a}else if(bu(u)){let r=e?mu(u.children):[],a=new be(r);r.forEach(s=>s.parent=a),t=a}else if(yt(u)){let r=e?mu(u.children):[],a=new Q(r);r.forEach(s=>s.parent=a),u["x-mode"]&&(a["x-mode"]=u["x-mode"]),t=a}else if(ca(u)){let r=new pe(u.name,u.data);u["x-name"]!=null&&(r["x-name"]=u["x-name"],r["x-publicId"]=u["x-publicId"],r["x-systemId"]=u["x-systemId"]),t=r}else throw new Error(`Not implemented yet: ${u.type}`);return t.startIndex=u.startIndex,t.endIndex=u.endIndex,u.sourceCodeLocation!=null&&(t.sourceCodeLocation=u.sourceCodeLocation),t}function mu(u){let e=u.map(t=>At(t,!0));for(let t=1;tr.index||0);e.unshift(-1);let t=xu(e,0,e.length);return r=>Et(t,r)}function xu(u,e,t){if(t-e==1)return{offset:u[e],index:e+1};let r=Math.ceil((e+t)/2),a=xu(u,e,r),s=xu(u,r,t);return{offset:a.offset,low:a,high:s}}function Et(u,e){return function(t){return Object.prototype.hasOwnProperty.call(t,"index")}(u)?{line:u.index,column:e-u.offset}:Et(u.high.offset({line:0,column:0}),l=o,h=[];e:for(;l0){if(!p.discard){let A=c(l),B=typeof p.replace=="string"?x[0].replace(new RegExp(p.regex.source,p.regex.flags),p.replace):x[0];h.push({state:a,name:p.name,text:B,offset:l,len:x[0].length,line:A.line,column:A.column})}if(l=p.regex.lastIndex,m=!0,p.push){let A=p.push(i,l);h.push(...A.tokens),l=A.offset}if(p.pop)break e;break}}if(!m)break}return{tokens:h,offset:l,complete:i.length<=l}}}function fa(u,e){return{...u,regex:ha(u,e)}}function ha(u,e){if(u.name.length===0)throw new Error(`Rule #${e} has empty name, which is not allowed.`);if(function(t){return Object.prototype.hasOwnProperty.call(t,"regex")}(u))return function(t){if(t.global)throw new Error(`Regular expression /${t.source}/${t.flags} contains the global flag, which is not allowed.`);return t.sticky?t:new RegExp(t.source,t.flags+"y")}(u.regex);if(function(t){return Object.prototype.hasOwnProperty.call(t,"str")}(u)){if(u.str.length===0)throw new Error(`Rule #${e} ("${u.name}") has empty "str" property, which is not allowed.`);return new RegExp(Dt(u.str),"y")}return new RegExp(Dt(u.name),"y")}function Dt(u){return u.replace(/[-[\]{}()*+!<=:?./\\^$|#\s,]/g,"\\$&")}function I(u,e){return(t,r)=>{let a=r,s;return rAu(u(t,r),(a,s)=>e(a,t,r,s))}function xe(u,e){return(t,r)=>{let a=u(t,r);return a.matched?a:{matched:!0,position:r,value:e}}}function X(...u){return(e,t)=>{for(let r of u){let a=r(e,t);if(a.matched)return a}return{matched:!1}}}function U(u,e){return(t,r)=>{let a=u(t,r);return a.matched?a:e(t,r)}}function pa(u,e){return(t,r)=>{let a=[],s=!0;do{let n=u(t,r);n.matched&&e(n.value,a.length+1,t,r,n.position)?(a.push(n.value),r=n.position):s=!1}while(s);return{matched:!0,position:r,value:a}}}function $e(u){return pa(u,()=>!0)}function vt(u){return v(u,$e(u),(e,t)=>[e,...t])}function v(u,e,t){return(r,a)=>Ue(u(r,a),s=>Au(e(r,s.position),(n,i)=>t(s.value,n,r,a,i)))}function kt(u,e){return v(u,e,t=>t)}function wu(u,e){return v(u,e,(t,r)=>r)}function Ve(u,e,t,r){return(a,s)=>Ue(u(a,s),n=>Ue(e(a,n.position),i=>Au(t(a,i.position),(o,c)=>r(n.value,i.value,o,a,s,c))))}function Du(u,e,t){return Ve(u,e,t,(r,a)=>a)}function ma(...u){return(e,t)=>{let r=[],a=t;for(let s of u){let n=s(e,a);if(n.matched)r.push(n.value),a=n.position;else return{matched:!1}}return{matched:!0,position:a,value:r}}}function Bt(...u){return ba(ma(...u))}function ba(u){return E(u,e=>e.flatMap(t=>t))}function ga(u,e){return(t,r)=>{let a=!0,s=u,n=r;do{let i=e(s,t,n)(t,n);i.matched?(s=i.value,n=i.position):a=!1}while(a);return{matched:!0,position:n,value:s}}}function xa(u,e,t){return ga(u,r=>E(e,(a,s,n,i)=>t(r,a,s,n,i)))}function Eu(u,e,t){return ya(u,r=>xa(r,v(e,t,(a,s)=>[a,s]),(a,[s,n])=>s(a,n)))}function ya(u,e){return(t,r)=>Ue(u(t,r),a=>e(a.value,t,r,a.position)(t,a.position))}var wa="(?:[ \\t\\r\\n\\f]*)",It="(?:\\n|\\r\\n|\\r|\\f)",We="[^\\x00-\\x7F]",we="(?:\\\\[0-9a-f]{1,6}(?:\\r\\n|[ \\n\\r\\t\\f])?)",De="(?:\\\\[^\\n\\r\\f0-9a-f])",Da=`(?:[_a-z]|${We}|${we}|${De})`,qt=`(?:[_a-z0-9-]|${We}|${we}|${De})`,Ea=`(?:${qt}+)`,va=`(?:[-]?${Da}${qt}*)`,ka=`'([^\\n\\r\\f\\\\']|\\\\${It}|${We}|${we}|${De})*'`,Ba=`"([^\\n\\r\\f\\\\"]|\\\\${It}|${We}|${we}|${De})*"`,Ca=yu([{name:"ws",regex:new RegExp(wa)},{name:"hash",regex:new RegExp(`#${Ea}`,"i")},{name:"ident",regex:new RegExp(va,"i")},{name:"str1",regex:new RegExp(ka,"i")},{name:"str2",regex:new RegExp(Ba,"i")},{name:"*"},{name:"."},{name:","},{name:"["},{name:"]"},{name:"="},{name:">"},{name:"|"},{name:"+"},{name:"~"},{name:"^"},{name:"$"}]),Ta=yu([{name:"unicode",regex:new RegExp(we,"i")},{name:"escape",regex:new RegExp(De,"i")},{name:"any",regex:new RegExp("[\\s\\S]","i")}]);function Rt([u,e,t],[r,a,s]){return[u+r,e+a,t+s]}function La(u){return u.reduce(Rt,[0,0,0])}var Sa=I(u=>u.name==="unicode"?String.fromCodePoint(parseInt(u.text.slice(1),16)):void 0),Na=I(u=>u.name==="escape"?u.text.slice(1):void 0),Ia=I(u=>u.name==="any"?u.text:void 0),qa=E($e(X(Sa,Na,Ia)),u=>u.join(""));function Bu(u){let e=Ta(u);return qa({tokens:e.tokens,options:void 0},0).value}function y(u){return I(e=>e.name===u?!0:void 0)}var Cu=I(u=>u.name==="ws"?null:void 0),vu=xe(Cu,null);function ee(u){return Du(vu,u,vu)}var Ae=I(u=>u.name==="ident"?Bu(u.text):void 0),Ra=I(u=>u.name==="hash"?Bu(u.text.slice(1)):void 0),_a=I(u=>u.name.startsWith("str")?Bu(u.text.slice(1,-1)):void 0),_t=kt(xe(Ae,""),y("|")),Tu=U(v(_t,Ae,(u,e)=>({name:e,namespace:u})),E(Ae,u=>({name:u,namespace:null}))),Fa=U(v(_t,y("*"),u=>({type:"universal",namespace:u,specificity:[0,0,0]})),E(y("*"),()=>({type:"universal",namespace:null,specificity:[0,0,0]}))),Pa=E(Tu,({name:u,namespace:e})=>({type:"tag",name:u,namespace:e,specificity:[0,0,1]})),Ma=v(y("."),Ae,(u,e)=>({type:"class",name:e,specificity:[0,1,0]})),Oa=E(Ra,u=>({type:"id",name:u,specificity:[1,0,0]})),Ct=I(u=>{if(u.name==="ident"){if(u.text==="i"||u.text==="I")return"i";if(u.text==="s"||u.text==="S")return"s"}}),Ua=U(v(_a,xe(wu(vu,Ct),null),(u,e)=>({value:u,modifier:e})),v(Ae,xe(wu(Cu,Ct),null),(u,e)=>({value:u,modifier:e}))),$a=X(E(y("="),()=>"="),v(y("~"),y("="),()=>"~="),v(y("|"),y("="),()=>"|="),v(y("^"),y("="),()=>"^="),v(y("$"),y("="),()=>"$="),v(y("*"),y("="),()=>"*=")),Va=Ve(y("["),ee(Tu),y("]"),(u,{name:e,namespace:t})=>({type:"attrPresence",name:e,namespace:t,specificity:[0,1,0]})),Ha=Du(y("["),Ve(ee(Tu),$a,ee(Ua),({name:u,namespace:e},t,{value:r,modifier:a})=>({type:"attrValue",name:u,namespace:e,matcher:t,value:r,modifier:a,specificity:[0,1,0]})),y("]")),ja=U(Va,Ha),Wa=U(Fa,Pa),Tt=X(Oa,Ma,ja),Lt=E(U(Bt(Wa,$e(Tt)),vt(Tt)),u=>({type:"compound",list:u,specificity:La(u.map(e=>e.specificity))})),Ga=X(E(y(">"),()=>">"),E(y("+"),()=>"+"),E(y("~"),()=>"~"),v(y("|"),y("|"),()=>"||")),za=U(ee(Ga),E(Cu,()=>" ")),ku=Eu(Lt,E(za,u=>(e,t)=>({type:"compound",list:[...t.list,{type:"combinator",combinator:u,left:e,specificity:e.specificity}],specificity:Rt(e.specificity,t.specificity)})),Lt),L0=Eu(E(ku,u=>({type:"list",list:[u]})),E(ee(y(",")),()=>(u,e)=>({type:"list",list:[...u.list,e]})),ku);function Ja(u,e){if(!(typeof e=="string"||e instanceof String))throw new Error("Expected a selector string. Actual input is not a string!");let t=Ca(e);if(!t.complete)throw new Error(`The input "${e}" was only partially tokenized, stopped at offset ${t.offset}! -`+St(e,t.offset));let r=ee(u)({tokens:t.tokens,options:void 0},0);if(!r.matched)throw new Error(`No match for "${e}" input!`);if(r.positiona?"\u2409":s?"\u240D":"\u240A")} -${"".padEnd(e)}${"^".repeat(t)}`}function Ft(u){return Ja(ku,u)}function L(u){if(!u.type)throw new Error("This is not an AST node.");switch(u.type){case"universal":return He(u.namespace)+"*";case"tag":return He(u.namespace)+Y(u.name);case"class":return"."+Y(u.name);case"id":return"#"+Y(u.name);case"attrPresence":return`[${He(u.namespace)}${Y(u.name)}]`;case"attrValue":return`[${He(u.namespace)}${Y(u.name)}${u.matcher}"${Ka(u.value)}"${u.modifier?u.modifier:""}]`;case"combinator":return L(u.left)+u.combinator;case"compound":return u.list.reduce((e,t)=>t.type==="combinator"?L(t)+e:e+L(t),"");case"list":return u.list.map(L).join(",")}}function He(u){return u||u===""?Y(u)+"|":""}function je(u){return`\\${u.codePointAt(0).toString(16)} `}function Y(u){return u.replace(/(^[0-9])|(^-[0-9])|(^-$)|([-0-9a-zA-Z_]|[^\x00-\x7F])|(\x00)|([\x01-\x1f]|\x7f)|([\s\S])/g,(e,t,r,a,s,n,i,o)=>t?je(t):r?"-"+je(r.slice(1)):a?"\\-":s||(n?"\uFFFD":i?je(i):"\\"+o))}function Ka(u){return u.replace(/(")|(\\)|(\x00)|([\x01-\x1f]|\x7f)/g,(e,t,r,a,s)=>t?'\\"':r?"\\\\":a?"\uFFFD":je(s))}function ye(u){if(!u.type)throw new Error("This is not an AST node.");switch(u.type){case"compound":{u.list.forEach(ye),u.list.sort((e,t)=>Pt(Nt(e),Nt(t)));break}case"combinator":{ye(u.left);break}case"list":{u.list.forEach(ye),u.list.sort((e,t)=>L(e){switch(t.type){case"class":e.push({matcher:"~=",modifier:null,name:"class",namespace:null,specificity:t.specificity,type:"attrValue",value:t.name});break;case"id":e.push({matcher:"=",modifier:null,name:"id",namespace:null,specificity:t.specificity,type:"attrValue",value:t.name});break;case"combinator":Ot(t.left),e.push(t);break;case"universal":break;default:e.push(t);break}}),u.list=e}function ue(u){let e=[];for(;u.length;){let t=Vt(u,n=>!0,Ut),{matches:r,nonmatches:a,empty:s}=en(u,t);u=a,r.length&&e.push(un(t,r)),s.length&&e.push(...Ya(s))}return e}function Ya(u){let e=[];for(let t of u){let r=t.terminal;if(r.type==="terminal")e.push(r);else{let{matches:a,rest:s}=sn(r.cont,n=>n.type==="terminal");a.forEach(n=>e.push(n)),s.length&&(r.cont=s,e.push(r))}}return e}function en(u,e){let t=[],r=[],a=[];for(let s of u){let n=s.ast.list;n.length?(n.some(o=>Ut(o)===e)?t:r).push(s):a.push(s)}return{matches:t,nonmatches:r,empty:a}}function Ut(u){switch(u.type){case"attrPresence":return`attrPresence ${u.name}`;case"attrValue":return`attrValue ${u.name}`;case"combinator":return`combinator ${u.combinator}`;default:return u.type}}function un(u,e){if(u==="tag")return tn(e);if(u.startsWith("attrValue "))return an(u.substring(10),e);if(u.startsWith("attrPresence "))return rn(u.substring(13),e);if(u==="combinator >")return Mt(">",e);if(u==="combinator +")return Mt("+",e);throw new Error(`Unsupported selector kind: ${u}`)}function tn(u){let e=Su(u,r=>r.type==="tag",r=>r.name);return{type:"tagName",variants:Object.entries(e).map(([r,a])=>({type:"variant",value:r,cont:ue(a.items)}))}}function rn(u,e){for(let t of e)$t(t,r=>r.type==="attrPresence"&&r.name===u);return{type:"attrPresence",name:u,cont:ue(e)}}function an(u,e){let t=Su(e,a=>a.type==="attrValue"&&a.name===u,a=>`${a.matcher} ${a.modifier||""} ${a.value}`),r=[];for(let a of Object.values(t)){let s=a.oneSimpleSelector,n=nn(s),i=ue(a.items);r.push({type:"matcher",matcher:s.matcher,modifier:s.modifier,value:s.value,predicate:n,cont:i})}return{type:"attrValue",name:u,matchers:r}}function nn(u){if(u.modifier==="i"){let e=u.value.toLowerCase();switch(u.matcher){case"=":return t=>e===t.toLowerCase();case"~=":return t=>t.toLowerCase().split(/[ \t]+/).includes(e);case"^=":return t=>t.toLowerCase().startsWith(e);case"$=":return t=>t.toLowerCase().endsWith(e);case"*=":return t=>t.toLowerCase().includes(e);case"|=":return t=>{let r=t.toLowerCase();return e===r||r.startsWith(e)&&r[e.length]==="-"}}}else{let e=u.value;switch(u.matcher){case"=":return t=>e===t;case"~=":return t=>t.split(/[ \t]+/).includes(e);case"^=":return t=>t.startsWith(e);case"$=":return t=>t.endsWith(e);case"*=":return t=>t.includes(e);case"|=":return t=>e===t||t.startsWith(e)&&t[e.length]==="-"}}}function Mt(u,e){let t=Su(e,a=>a.type==="combinator"&&a.combinator===u,a=>L(a.left)),r=[];for(let a of Object.values(t)){let s=ue(a.items),n=a.oneSimpleSelector.left;r.push({ast:n,terminal:{type:"popElement",cont:s}})}return{type:"pushElement",combinator:u,cont:ue(r)}}function Su(u,e,t){let r={};for(;u.length;){let a=Vt(u,e,t),s=l=>e(l)&&t(l)===a,n=l=>l.ast.list.some(s),{matches:i,rest:o}=on(u,n),c=null;for(let l of i){let h=$t(l,s);c||(c=h)}if(c==null)throw new Error("No simple selector is found.");r[a]={oneSimpleSelector:c,items:i},u=o}return r}function $t(u,e){let t=u.ast.list,r=new Array(t.length),a=-1;for(let n=t.length;n-- >0;)e(t[n])&&(r[n]=!0,a=n);if(a==-1)throw new Error("Couldn't find the required simple selector.");let s=t[a];return u.ast.list=t.filter((n,i)=>!r[i]),s}function Vt(u,e,t){let r={};for(let n of u){let i={};for(let o of n.ast.list.filter(e))i[t(o)]=!0;for(let o of Object.keys(i))r[o]?r[o]++:r[o]=1}let a="",s=0;for(let n of Object.entries(r))n[1]>s&&(a=n[0],s=n[1]);return a}function sn(u,e){let t=[],r=[];for(let a of u)e(a)?t.push(a):r.push(a);return{matches:t,rest:r}}function on(u,e){let t=[],r=[];for(let a of u)e(a)?t.push(a):r.push(a);return{matches:t,rest:r}}var Ge=class{constructor(e){this.f=e}pickAll(e){return this.f(e)}pick1(e,t=!1){let r=this.f(e),a=r.length;if(a===0)return null;if(a===1)return r[0].value;let s=t?cn:ln,n=r[0];for(let i=1;i0||t===0&&e.index0||t===0&&e.index>u.index}function Nu(u){return new Ge(te(u))}function te(u){let e=u.map(dn);return(t,...r)=>e.flatMap(a=>a(t,...r))}function dn(u){switch(u.type){case"terminal":{let e=[u.valueContainer];return(t,...r)=>e}case"tagName":return fn(u);case"attrValue":return pn(u);case"attrPresence":return hn(u);case"pushElement":return mn(u);case"popElement":return gn(u)}}function fn(u){let e={};for(let t of u.variants)e[t.value]=te(t.cont);return(t,...r)=>{let a=e[t.name];return a?a(t,...r):[]}}function hn(u){let e=u.name,t=te(u.cont);return(r,...a)=>Object.prototype.hasOwnProperty.call(r.attribs,e)?t(r,...a):[]}function pn(u){let e=[];for(let r of u.matchers){let a=r.predicate,s=te(r.cont);e.push((n,i,...o)=>a(n)?s(i,...o):[])}let t=u.name;return(r,...a)=>{let s=r.attribs[t];return s||s===""?e.flatMap(n=>n(s,r,...a)):[]}}function mn(u){let e=te(u.cont),t=u.combinator==="+"?Ht:bn;return(r,...a)=>{let s=t(r);return s===null?[]:e(s,r,...a)}}var Ht=u=>{let e=u.prev;return e===null?null:R(e)?e:Ht(e)},bn=u=>{let e=u.parent;return e&&R(e)?e:null};function gn(u){let e=te(u.cont);return(t,r,...a)=>e(r,...a)}var ze=new Uint16Array('\u1D41<\xD5\u0131\u028A\u049D\u057B\u05D0\u0675\u06DE\u07A2\u07D6\u080F\u0A4A\u0A91\u0DA1\u0E6D\u0F09\u0F26\u10CA\u1228\u12E1\u1415\u149D\u14C3\u14DF\u1525\0\0\0\0\0\0\u156B\u16CD\u198D\u1C12\u1DDD\u1F7E\u2060\u21B0\u228D\u23C0\u23FB\u2442\u2824\u2912\u2D08\u2E48\u2FCE\u3016\u32BA\u3639\u37AC\u38FE\u3A28\u3A71\u3AE0\u3B2E\u0800EMabcfglmnoprstu\\bfms\x7F\x84\x8B\x90\x95\x98\xA6\xB3\xB9\xC8\xCFlig\u803B\xC6\u40C6P\u803B&\u4026cute\u803B\xC1\u40C1reve;\u4102\u0100iyx}rc\u803B\xC2\u40C2;\u4410r;\uC000\u{1D504}rave\u803B\xC0\u40C0pha;\u4391acr;\u4100d;\u6A53\u0100gp\x9D\xA1on;\u4104f;\uC000\u{1D538}plyFunction;\u6061ing\u803B\xC5\u40C5\u0100cs\xBE\xC3r;\uC000\u{1D49C}ign;\u6254ilde\u803B\xC3\u40C3ml\u803B\xC4\u40C4\u0400aceforsu\xE5\xFB\xFE\u0117\u011C\u0122\u0127\u012A\u0100cr\xEA\xF2kslash;\u6216\u0176\xF6\xF8;\u6AE7ed;\u6306y;\u4411\u0180crt\u0105\u010B\u0114ause;\u6235noullis;\u612Ca;\u4392r;\uC000\u{1D505}pf;\uC000\u{1D539}eve;\u42D8c\xF2\u0113mpeq;\u624E\u0700HOacdefhilorsu\u014D\u0151\u0156\u0180\u019E\u01A2\u01B5\u01B7\u01BA\u01DC\u0215\u0273\u0278\u027Ecy;\u4427PY\u803B\xA9\u40A9\u0180cpy\u015D\u0162\u017Aute;\u4106\u0100;i\u0167\u0168\u62D2talDifferentialD;\u6145leys;\u612D\u0200aeio\u0189\u018E\u0194\u0198ron;\u410Cdil\u803B\xC7\u40C7rc;\u4108nint;\u6230ot;\u410A\u0100dn\u01A7\u01ADilla;\u40B8terDot;\u40B7\xF2\u017Fi;\u43A7rcle\u0200DMPT\u01C7\u01CB\u01D1\u01D6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01E2\u01F8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020FoubleQuote;\u601Duote;\u6019\u0200lnpu\u021E\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6A74\u0180git\u022F\u0236\u023Aruent;\u6261nt;\u622FourIntegral;\u622E\u0100fr\u024C\u024E;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6A2Fcr;\uC000\u{1D49E}p\u0100;C\u0284\u0285\u62D3ap;\u624D\u0580DJSZacefios\u02A0\u02AC\u02B0\u02B4\u02B8\u02CB\u02D7\u02E1\u02E6\u0333\u048D\u0100;o\u0179\u02A5trahd;\u6911cy;\u4402cy;\u4405cy;\u440F\u0180grs\u02BF\u02C4\u02C7ger;\u6021r;\u61A1hv;\u6AE4\u0100ay\u02D0\u02D5ron;\u410E;\u4414l\u0100;t\u02DD\u02DE\u6207a;\u4394r;\uC000\u{1D507}\u0100af\u02EB\u0327\u0100cm\u02F0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031Ccute;\u40B4o\u0174\u030B\u030D;\u42D9bleAcute;\u42DDrave;\u4060ilde;\u42DCond;\u62C4ferentialD;\u6146\u0470\u033D\0\0\0\u0342\u0354\0\u0405f;\uC000\u{1D53B}\u0180;DE\u0348\u0349\u034D\u40A8ot;\u60DCqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03CF\u03E2\u03F8ontourIntegra\xEC\u0239o\u0274\u0379\0\0\u037B\xBB\u0349nArrow;\u61D3\u0100eo\u0387\u03A4ft\u0180ART\u0390\u0396\u03A1rrow;\u61D0ightArrow;\u61D4e\xE5\u02CAng\u0100LR\u03AB\u03C4eft\u0100AR\u03B3\u03B9rrow;\u67F8ightArrow;\u67FAightArrow;\u67F9ight\u0100AT\u03D8\u03DErrow;\u61D2ee;\u62A8p\u0241\u03E9\0\0\u03EFrrow;\u61D1ownArrow;\u61D5erticalBar;\u6225n\u0300ABLRTa\u0412\u042A\u0430\u045E\u047F\u037Crrow\u0180;BU\u041D\u041E\u0422\u6193ar;\u6913pArrow;\u61F5reve;\u4311eft\u02D2\u043A\0\u0446\0\u0450ightVector;\u6950eeVector;\u695Eector\u0100;B\u0459\u045A\u61BDar;\u6956ight\u01D4\u0467\0\u0471eeVector;\u695Fector\u0100;B\u047A\u047B\u61C1ar;\u6957ee\u0100;A\u0486\u0487\u62A4rrow;\u61A7\u0100ct\u0492\u0497r;\uC000\u{1D49F}rok;\u4110\u0800NTacdfglmopqstux\u04BD\u04C0\u04C4\u04CB\u04DE\u04E2\u04E7\u04EE\u04F5\u0521\u052F\u0536\u0552\u055D\u0560\u0565G;\u414AH\u803B\xD0\u40D0cute\u803B\xC9\u40C9\u0180aiy\u04D2\u04D7\u04DCron;\u411Arc\u803B\xCA\u40CA;\u442Dot;\u4116r;\uC000\u{1D508}rave\u803B\xC8\u40C8ement;\u6208\u0100ap\u04FA\u04FEcr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65FBerySmallSquare;\u65AB\u0100gp\u0526\u052Aon;\u4118f;\uC000\u{1D53C}silon;\u4395u\u0100ai\u053C\u0549l\u0100;T\u0542\u0543\u6A75ilde;\u6242librium;\u61CC\u0100ci\u0557\u055Ar;\u6130m;\u6A73a;\u4397ml\u803B\xCB\u40CB\u0100ip\u056A\u056Fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058D\u05B2\u05CCy;\u4424r;\uC000\u{1D509}lled\u0253\u0597\0\0\u05A3mallSquare;\u65FCerySmallSquare;\u65AA\u0370\u05BA\0\u05BF\0\0\u05C4f;\uC000\u{1D53D}All;\u6200riertrf;\u6131c\xF2\u05CB\u0600JTabcdfgorst\u05E8\u05EC\u05EF\u05FA\u0600\u0612\u0616\u061B\u061D\u0623\u066C\u0672cy;\u4403\u803B>\u403Emma\u0100;d\u05F7\u05F8\u4393;\u43DCreve;\u411E\u0180eiy\u0607\u060C\u0610dil;\u4122rc;\u411C;\u4413ot;\u4120r;\uC000\u{1D50A};\u62D9pf;\uC000\u{1D53E}eater\u0300EFGLST\u0635\u0644\u064E\u0656\u065B\u0666qual\u0100;L\u063E\u063F\u6265ess;\u62DBullEqual;\u6267reater;\u6AA2ess;\u6277lantEqual;\u6A7Eilde;\u6273cr;\uC000\u{1D4A2};\u626B\u0400Aacfiosu\u0685\u068B\u0696\u069B\u069E\u06AA\u06BE\u06CARDcy;\u442A\u0100ct\u0690\u0694ek;\u42C7;\u405Eirc;\u4124r;\u610ClbertSpace;\u610B\u01F0\u06AF\0\u06B2f;\u610DizontalLine;\u6500\u0100ct\u06C3\u06C5\xF2\u06A9rok;\u4126mp\u0144\u06D0\u06D8ownHum\xF0\u012Fqual;\u624F\u0700EJOacdfgmnostu\u06FA\u06FE\u0703\u0707\u070E\u071A\u071E\u0721\u0728\u0744\u0778\u078B\u078F\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803B\xCD\u40CD\u0100iy\u0713\u0718rc\u803B\xCE\u40CE;\u4418ot;\u4130r;\u6111rave\u803B\xCC\u40CC\u0180;ap\u0720\u072F\u073F\u0100cg\u0734\u0737r;\u412AinaryI;\u6148lie\xF3\u03DD\u01F4\u0749\0\u0762\u0100;e\u074D\u074E\u622C\u0100gr\u0753\u0758ral;\u622Bsection;\u62C2isible\u0100CT\u076C\u0772omma;\u6063imes;\u6062\u0180gpt\u077F\u0783\u0788on;\u412Ef;\uC000\u{1D540}a;\u4399cr;\u6110ilde;\u4128\u01EB\u079A\0\u079Ecy;\u4406l\u803B\xCF\u40CF\u0280cfosu\u07AC\u07B7\u07BC\u07C2\u07D0\u0100iy\u07B1\u07B5rc;\u4134;\u4419r;\uC000\u{1D50D}pf;\uC000\u{1D541}\u01E3\u07C7\0\u07CCr;\uC000\u{1D4A5}rcy;\u4408kcy;\u4404\u0380HJacfos\u07E4\u07E8\u07EC\u07F1\u07FD\u0802\u0808cy;\u4425cy;\u440Cppa;\u439A\u0100ey\u07F6\u07FBdil;\u4136;\u441Ar;\uC000\u{1D50E}pf;\uC000\u{1D542}cr;\uC000\u{1D4A6}\u0580JTaceflmost\u0825\u0829\u082C\u0850\u0863\u09B3\u09B8\u09C7\u09CD\u0A37\u0A47cy;\u4409\u803B<\u403C\u0280cmnpr\u0837\u083C\u0841\u0844\u084Dute;\u4139bda;\u439Bg;\u67EAlacetrf;\u6112r;\u619E\u0180aey\u0857\u085C\u0861ron;\u413Ddil;\u413B;\u441B\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087E\u08A9\u08B1\u08E0\u08E6\u08FC\u092F\u095B\u0390\u096A\u0100nr\u0883\u088FgleBracket;\u67E8row\u0180;BR\u0899\u089A\u089E\u6190ar;\u61E4ightArrow;\u61C6eiling;\u6308o\u01F5\u08B7\0\u08C3bleBracket;\u67E6n\u01D4\u08C8\0\u08D2eeVector;\u6961ector\u0100;B\u08DB\u08DC\u61C3ar;\u6959loor;\u630Aight\u0100AV\u08EF\u08F5rrow;\u6194ector;\u694E\u0100er\u0901\u0917e\u0180;AV\u0909\u090A\u0910\u62A3rrow;\u61A4ector;\u695Aiangle\u0180;BE\u0924\u0925\u0929\u62B2ar;\u69CFqual;\u62B4p\u0180DTV\u0937\u0942\u094CownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61BFar;\u6958ector\u0100;B\u0965\u0966\u61BCar;\u6952ight\xE1\u039Cs\u0300EFGLST\u097E\u098B\u0995\u099D\u09A2\u09ADqualGreater;\u62DAullEqual;\u6266reater;\u6276ess;\u6AA1lantEqual;\u6A7Dilde;\u6272r;\uC000\u{1D50F}\u0100;e\u09BD\u09BE\u62D8ftarrow;\u61DAidot;\u413F\u0180npw\u09D4\u0A16\u0A1Bg\u0200LRlr\u09DE\u09F7\u0A02\u0A10eft\u0100AR\u09E6\u09ECrrow;\u67F5ightArrow;\u67F7ightArrow;\u67F6eft\u0100ar\u03B3\u0A0Aight\xE1\u03BFight\xE1\u03CAf;\uC000\u{1D543}er\u0100LR\u0A22\u0A2CeftArrow;\u6199ightArrow;\u6198\u0180cht\u0A3E\u0A40\u0A42\xF2\u084C;\u61B0rok;\u4141;\u626A\u0400acefiosu\u0A5A\u0A5D\u0A60\u0A77\u0A7C\u0A85\u0A8B\u0A8Ep;\u6905y;\u441C\u0100dl\u0A65\u0A6FiumSpace;\u605Flintrf;\u6133r;\uC000\u{1D510}nusPlus;\u6213pf;\uC000\u{1D544}c\xF2\u0A76;\u439C\u0480Jacefostu\u0AA3\u0AA7\u0AAD\u0AC0\u0B14\u0B19\u0D91\u0D97\u0D9Ecy;\u440Acute;\u4143\u0180aey\u0AB4\u0AB9\u0ABEron;\u4147dil;\u4145;\u441D\u0180gsw\u0AC7\u0AF0\u0B0Eative\u0180MTV\u0AD3\u0ADF\u0AE8ediumSpace;\u600Bhi\u0100cn\u0AE6\u0AD8\xEB\u0AD9eryThi\xEE\u0AD9ted\u0100GL\u0AF8\u0B06reaterGreate\xF2\u0673essLes\xF3\u0A48Line;\u400Ar;\uC000\u{1D511}\u0200Bnpt\u0B22\u0B28\u0B37\u0B3Areak;\u6060BreakingSpace;\u40A0f;\u6115\u0680;CDEGHLNPRSTV\u0B55\u0B56\u0B6A\u0B7C\u0BA1\u0BEB\u0C04\u0C5E\u0C84\u0CA6\u0CD8\u0D61\u0D85\u6AEC\u0100ou\u0B5B\u0B64ngruent;\u6262pCap;\u626DoubleVerticalBar;\u6226\u0180lqx\u0B83\u0B8A\u0B9Bement;\u6209ual\u0100;T\u0B92\u0B93\u6260ilde;\uC000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0BB6\u0BB7\u0BBD\u0BC9\u0BD3\u0BD8\u0BE5\u626Fqual;\u6271ullEqual;\uC000\u2267\u0338reater;\uC000\u226B\u0338ess;\u6279lantEqual;\uC000\u2A7E\u0338ilde;\u6275ump\u0144\u0BF2\u0BFDownHump;\uC000\u224E\u0338qual;\uC000\u224F\u0338e\u0100fs\u0C0A\u0C27tTriangle\u0180;BE\u0C1A\u0C1B\u0C21\u62EAar;\uC000\u29CF\u0338qual;\u62ECs\u0300;EGLST\u0C35\u0C36\u0C3C\u0C44\u0C4B\u0C58\u626Equal;\u6270reater;\u6278ess;\uC000\u226A\u0338lantEqual;\uC000\u2A7D\u0338ilde;\u6274ested\u0100GL\u0C68\u0C79reaterGreater;\uC000\u2AA2\u0338essLess;\uC000\u2AA1\u0338recedes\u0180;ES\u0C92\u0C93\u0C9B\u6280qual;\uC000\u2AAF\u0338lantEqual;\u62E0\u0100ei\u0CAB\u0CB9verseElement;\u620CghtTriangle\u0180;BE\u0CCB\u0CCC\u0CD2\u62EBar;\uC000\u29D0\u0338qual;\u62ED\u0100qu\u0CDD\u0D0CuareSu\u0100bp\u0CE8\u0CF9set\u0100;E\u0CF0\u0CF3\uC000\u228F\u0338qual;\u62E2erset\u0100;E\u0D03\u0D06\uC000\u2290\u0338qual;\u62E3\u0180bcp\u0D13\u0D24\u0D4Eset\u0100;E\u0D1B\u0D1E\uC000\u2282\u20D2qual;\u6288ceeds\u0200;EST\u0D32\u0D33\u0D3B\u0D46\u6281qual;\uC000\u2AB0\u0338lantEqual;\u62E1ilde;\uC000\u227F\u0338erset\u0100;E\u0D58\u0D5B\uC000\u2283\u20D2qual;\u6289ilde\u0200;EFT\u0D6E\u0D6F\u0D75\u0D7F\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uC000\u{1D4A9}ilde\u803B\xD1\u40D1;\u439D\u0700Eacdfgmoprstuv\u0DBD\u0DC2\u0DC9\u0DD5\u0DDB\u0DE0\u0DE7\u0DFC\u0E02\u0E20\u0E22\u0E32\u0E3F\u0E44lig;\u4152cute\u803B\xD3\u40D3\u0100iy\u0DCE\u0DD3rc\u803B\xD4\u40D4;\u441Eblac;\u4150r;\uC000\u{1D512}rave\u803B\xD2\u40D2\u0180aei\u0DEE\u0DF2\u0DF6cr;\u414Cga;\u43A9cron;\u439Fpf;\uC000\u{1D546}enCurly\u0100DQ\u0E0E\u0E1AoubleQuote;\u601Cuote;\u6018;\u6A54\u0100cl\u0E27\u0E2Cr;\uC000\u{1D4AA}ash\u803B\xD8\u40D8i\u016C\u0E37\u0E3Cde\u803B\xD5\u40D5es;\u6A37ml\u803B\xD6\u40D6er\u0100BP\u0E4B\u0E60\u0100ar\u0E50\u0E53r;\u603Eac\u0100ek\u0E5A\u0E5C;\u63DEet;\u63B4arenthesis;\u63DC\u0480acfhilors\u0E7F\u0E87\u0E8A\u0E8F\u0E92\u0E94\u0E9D\u0EB0\u0EFCrtialD;\u6202y;\u441Fr;\uC000\u{1D513}i;\u43A6;\u43A0usMinus;\u40B1\u0100ip\u0EA2\u0EADncareplan\xE5\u069Df;\u6119\u0200;eio\u0EB9\u0EBA\u0EE0\u0EE4\u6ABBcedes\u0200;EST\u0EC8\u0EC9\u0ECF\u0EDA\u627Aqual;\u6AAFlantEqual;\u627Cilde;\u627Eme;\u6033\u0100dp\u0EE9\u0EEEuct;\u620Fortion\u0100;a\u0225\u0EF9l;\u621D\u0100ci\u0F01\u0F06r;\uC000\u{1D4AB};\u43A8\u0200Ufos\u0F11\u0F16\u0F1B\u0F1FOT\u803B"\u4022r;\uC000\u{1D514}pf;\u611Acr;\uC000\u{1D4AC}\u0600BEacefhiorsu\u0F3E\u0F43\u0F47\u0F60\u0F73\u0FA7\u0FAA\u0FAD\u1096\u10A9\u10B4\u10BEarr;\u6910G\u803B\xAE\u40AE\u0180cnr\u0F4E\u0F53\u0F56ute;\u4154g;\u67EBr\u0100;t\u0F5C\u0F5D\u61A0l;\u6916\u0180aey\u0F67\u0F6C\u0F71ron;\u4158dil;\u4156;\u4420\u0100;v\u0F78\u0F79\u611Cerse\u0100EU\u0F82\u0F99\u0100lq\u0F87\u0F8Eement;\u620Builibrium;\u61CBpEquilibrium;\u696Fr\xBB\u0F79o;\u43A1ght\u0400ACDFTUVa\u0FC1\u0FEB\u0FF3\u1022\u1028\u105B\u1087\u03D8\u0100nr\u0FC6\u0FD2gleBracket;\u67E9row\u0180;BL\u0FDC\u0FDD\u0FE1\u6192ar;\u61E5eftArrow;\u61C4eiling;\u6309o\u01F5\u0FF9\0\u1005bleBracket;\u67E7n\u01D4\u100A\0\u1014eeVector;\u695Dector\u0100;B\u101D\u101E\u61C2ar;\u6955loor;\u630B\u0100er\u102D\u1043e\u0180;AV\u1035\u1036\u103C\u62A2rrow;\u61A6ector;\u695Biangle\u0180;BE\u1050\u1051\u1055\u62B3ar;\u69D0qual;\u62B5p\u0180DTV\u1063\u106E\u1078ownVector;\u694FeeVector;\u695Cector\u0100;B\u1082\u1083\u61BEar;\u6954ector\u0100;B\u1091\u1092\u61C0ar;\u6953\u0100pu\u109B\u109Ef;\u611DndImplies;\u6970ightarrow;\u61DB\u0100ch\u10B9\u10BCr;\u611B;\u61B1leDelayed;\u69F4\u0680HOacfhimoqstu\u10E4\u10F1\u10F7\u10FD\u1119\u111E\u1151\u1156\u1161\u1167\u11B5\u11BB\u11BF\u0100Cc\u10E9\u10EEHcy;\u4429y;\u4428FTcy;\u442Ccute;\u415A\u0280;aeiy\u1108\u1109\u110E\u1113\u1117\u6ABCron;\u4160dil;\u415Erc;\u415C;\u4421r;\uC000\u{1D516}ort\u0200DLRU\u112A\u1134\u113E\u1149ownArrow\xBB\u041EeftArrow\xBB\u089AightArrow\xBB\u0FDDpArrow;\u6191gma;\u43A3allCircle;\u6218pf;\uC000\u{1D54A}\u0272\u116D\0\0\u1170t;\u621Aare\u0200;ISU\u117B\u117C\u1189\u11AF\u65A1ntersection;\u6293u\u0100bp\u118F\u119Eset\u0100;E\u1197\u1198\u628Fqual;\u6291erset\u0100;E\u11A8\u11A9\u6290qual;\u6292nion;\u6294cr;\uC000\u{1D4AE}ar;\u62C6\u0200bcmp\u11C8\u11DB\u1209\u120B\u0100;s\u11CD\u11CE\u62D0et\u0100;E\u11CD\u11D5qual;\u6286\u0100ch\u11E0\u1205eeds\u0200;EST\u11ED\u11EE\u11F4\u11FF\u627Bqual;\u6AB0lantEqual;\u627Dilde;\u627FTh\xE1\u0F8C;\u6211\u0180;es\u1212\u1213\u1223\u62D1rset\u0100;E\u121C\u121D\u6283qual;\u6287et\xBB\u1213\u0580HRSacfhiors\u123E\u1244\u1249\u1255\u125E\u1271\u1276\u129F\u12C2\u12C8\u12D1ORN\u803B\xDE\u40DEADE;\u6122\u0100Hc\u124E\u1252cy;\u440By;\u4426\u0100bu\u125A\u125C;\u4009;\u43A4\u0180aey\u1265\u126A\u126Fron;\u4164dil;\u4162;\u4422r;\uC000\u{1D517}\u0100ei\u127B\u1289\u01F2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128E\u1298kSpace;\uC000\u205F\u200ASpace;\u6009lde\u0200;EFT\u12AB\u12AC\u12B2\u12BC\u623Cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uC000\u{1D54B}ipleDot;\u60DB\u0100ct\u12D6\u12DBr;\uC000\u{1D4AF}rok;\u4166\u0AE1\u12F7\u130E\u131A\u1326\0\u132C\u1331\0\0\0\0\0\u1338\u133D\u1377\u1385\0\u13FF\u1404\u140A\u1410\u0100cr\u12FB\u1301ute\u803B\xDA\u40DAr\u0100;o\u1307\u1308\u619Fcir;\u6949r\u01E3\u1313\0\u1316y;\u440Eve;\u416C\u0100iy\u131E\u1323rc\u803B\xDB\u40DB;\u4423blac;\u4170r;\uC000\u{1D518}rave\u803B\xD9\u40D9acr;\u416A\u0100di\u1341\u1369er\u0100BP\u1348\u135D\u0100ar\u134D\u1350r;\u405Fac\u0100ek\u1357\u1359;\u63DFet;\u63B5arenthesis;\u63DDon\u0100;P\u1370\u1371\u62C3lus;\u628E\u0100gp\u137B\u137Fon;\u4172f;\uC000\u{1D54C}\u0400ADETadps\u1395\u13AE\u13B8\u13C4\u03E8\u13D2\u13D7\u13F3rrow\u0180;BD\u1150\u13A0\u13A4ar;\u6912ownArrow;\u61C5ownArrow;\u6195quilibrium;\u696Eee\u0100;A\u13CB\u13CC\u62A5rrow;\u61A5own\xE1\u03F3er\u0100LR\u13DE\u13E8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13F9\u13FA\u43D2on;\u43A5ing;\u416Ecr;\uC000\u{1D4B0}ilde;\u4168ml\u803B\xDC\u40DC\u0480Dbcdefosv\u1427\u142C\u1430\u1433\u143E\u1485\u148A\u1490\u1496ash;\u62ABar;\u6AEBy;\u4412ash\u0100;l\u143B\u143C\u62A9;\u6AE6\u0100er\u1443\u1445;\u62C1\u0180bty\u144C\u1450\u147Aar;\u6016\u0100;i\u144F\u1455cal\u0200BLST\u1461\u1465\u146A\u1474ar;\u6223ine;\u407Ceparator;\u6758ilde;\u6240ThinSpace;\u600Ar;\uC000\u{1D519}pf;\uC000\u{1D54D}cr;\uC000\u{1D4B1}dash;\u62AA\u0280cefos\u14A7\u14AC\u14B1\u14B6\u14BCirc;\u4174dge;\u62C0r;\uC000\u{1D51A}pf;\uC000\u{1D54E}cr;\uC000\u{1D4B2}\u0200fios\u14CB\u14D0\u14D2\u14D8r;\uC000\u{1D51B};\u439Epf;\uC000\u{1D54F}cr;\uC000\u{1D4B3}\u0480AIUacfosu\u14F1\u14F5\u14F9\u14FD\u1504\u150F\u1514\u151A\u1520cy;\u442Fcy;\u4407cy;\u442Ecute\u803B\xDD\u40DD\u0100iy\u1509\u150Drc;\u4176;\u442Br;\uC000\u{1D51C}pf;\uC000\u{1D550}cr;\uC000\u{1D4B4}ml;\u4178\u0400Hacdefos\u1535\u1539\u153F\u154B\u154F\u155D\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417D;\u4417ot;\u417B\u01F2\u1554\0\u155BoWidt\xE8\u0AD9a;\u4396r;\u6128pf;\u6124cr;\uC000\u{1D4B5}\u0BE1\u1583\u158A\u1590\0\u15B0\u15B6\u15BF\0\0\0\0\u15C6\u15DB\u15EB\u165F\u166D\0\u1695\u169B\u16B2\u16B9\0\u16BEcute\u803B\xE1\u40E1reve;\u4103\u0300;Ediuy\u159C\u159D\u15A1\u15A3\u15A8\u15AD\u623E;\uC000\u223E\u0333;\u623Frc\u803B\xE2\u40E2te\u80BB\xB4\u0306;\u4430lig\u803B\xE6\u40E6\u0100;r\xB2\u15BA;\uC000\u{1D51E}rave\u803B\xE0\u40E0\u0100ep\u15CA\u15D6\u0100fp\u15CF\u15D4sym;\u6135\xE8\u15D3ha;\u43B1\u0100ap\u15DFc\u0100cl\u15E4\u15E7r;\u4101g;\u6A3F\u0264\u15F0\0\0\u160A\u0280;adsv\u15FA\u15FB\u15FF\u1601\u1607\u6227nd;\u6A55;\u6A5Clope;\u6A58;\u6A5A\u0380;elmrsz\u1618\u1619\u161B\u161E\u163F\u164F\u1659\u6220;\u69A4e\xBB\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163A\u163C\u163E;\u69A8;\u69A9;\u69AA;\u69AB;\u69AC;\u69AD;\u69AE;\u69AFt\u0100;v\u1645\u1646\u621Fb\u0100;d\u164C\u164D\u62BE;\u699D\u0100pt\u1654\u1657h;\u6222\xBB\xB9arr;\u637C\u0100gp\u1663\u1667on;\u4105f;\uC000\u{1D552}\u0380;Eaeiop\u12C1\u167B\u167D\u1682\u1684\u1687\u168A;\u6A70cir;\u6A6F;\u624Ad;\u624Bs;\u4027rox\u0100;e\u12C1\u1692\xF1\u1683ing\u803B\xE5\u40E5\u0180cty\u16A1\u16A6\u16A8r;\uC000\u{1D4B6};\u402Amp\u0100;e\u12C1\u16AF\xF1\u0288ilde\u803B\xE3\u40E3ml\u803B\xE4\u40E4\u0100ci\u16C2\u16C8onin\xF4\u0272nt;\u6A11\u0800Nabcdefiklnoprsu\u16ED\u16F1\u1730\u173C\u1743\u1748\u1778\u177D\u17E0\u17E6\u1839\u1850\u170D\u193D\u1948\u1970ot;\u6AED\u0100cr\u16F6\u171Ek\u0200ceps\u1700\u1705\u170D\u1713ong;\u624Cpsilon;\u43F6rime;\u6035im\u0100;e\u171A\u171B\u623Dq;\u62CD\u0176\u1722\u1726ee;\u62BDed\u0100;g\u172C\u172D\u6305e\xBB\u172Drk\u0100;t\u135C\u1737brk;\u63B6\u0100oy\u1701\u1741;\u4431quo;\u601E\u0280cmprt\u1753\u175B\u1761\u1764\u1768aus\u0100;e\u010A\u0109ptyv;\u69B0s\xE9\u170Cno\xF5\u0113\u0180ahw\u176F\u1771\u1773;\u43B2;\u6136een;\u626Cr;\uC000\u{1D51F}g\u0380costuvw\u178D\u179D\u17B3\u17C1\u17D5\u17DB\u17DE\u0180aiu\u1794\u1796\u179A\xF0\u0760rc;\u65EFp\xBB\u1371\u0180dpt\u17A4\u17A8\u17ADot;\u6A00lus;\u6A01imes;\u6A02\u0271\u17B9\0\0\u17BEcup;\u6A06ar;\u6605riangle\u0100du\u17CD\u17D2own;\u65BDp;\u65B3plus;\u6A04e\xE5\u1444\xE5\u14ADarow;\u690D\u0180ako\u17ED\u1826\u1835\u0100cn\u17F2\u1823k\u0180lst\u17FA\u05AB\u1802ozenge;\u69EBriangle\u0200;dlr\u1812\u1813\u1818\u181D\u65B4own;\u65BEeft;\u65C2ight;\u65B8k;\u6423\u01B1\u182B\0\u1833\u01B2\u182F\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183E\u184D\u0100;q\u1843\u1846\uC000=\u20E5uiv;\uC000\u2261\u20E5t;\u6310\u0200ptwx\u1859\u185E\u1867\u186Cf;\uC000\u{1D553}\u0100;t\u13CB\u1863om\xBB\u13CCtie;\u62C8\u0600DHUVbdhmptuv\u1885\u1896\u18AA\u18BB\u18D7\u18DB\u18EC\u18FF\u1905\u190A\u1910\u1921\u0200LRlr\u188E\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18A1\u18A2\u18A4\u18A6\u18A8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18B3\u18B5\u18B7\u18B9;\u655D;\u655A;\u655C;\u6559\u0380;HLRhlr\u18CA\u18CB\u18CD\u18CF\u18D1\u18D3\u18D5\u6551;\u656C;\u6563;\u6560;\u656B;\u6562;\u655Fox;\u69C9\u0200LRlr\u18E4\u18E6\u18E8\u18EA;\u6555;\u6552;\u6510;\u650C\u0280;DUdu\u06BD\u18F7\u18F9\u18FB\u18FD;\u6565;\u6568;\u652C;\u6534inus;\u629Flus;\u629Eimes;\u62A0\u0200LRlr\u1919\u191B\u191D\u191F;\u655B;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193B\u6502;\u656A;\u6561;\u655E;\u653C;\u6524;\u651C\u0100ev\u0123\u1942bar\u803B\xA6\u40A6\u0200ceio\u1951\u1956\u195A\u1960r;\uC000\u{1D4B7}mi;\u604Fm\u0100;e\u171A\u171Cl\u0180;bh\u1968\u1969\u196B\u405C;\u69C5sub;\u67C8\u016C\u1974\u197El\u0100;e\u1979\u197A\u6022t\xBB\u197Ap\u0180;Ee\u012F\u1985\u1987;\u6AAE\u0100;q\u06DC\u06DB\u0CE1\u19A7\0\u19E8\u1A11\u1A15\u1A32\0\u1A37\u1A50\0\0\u1AB4\0\0\u1AC1\0\0\u1B21\u1B2E\u1B4D\u1B52\0\u1BFD\0\u1C0C\u0180cpr\u19AD\u19B2\u19DDute;\u4107\u0300;abcds\u19BF\u19C0\u19C4\u19CA\u19D5\u19D9\u6229nd;\u6A44rcup;\u6A49\u0100au\u19CF\u19D2p;\u6A4Bp;\u6A47ot;\u6A40;\uC000\u2229\uFE00\u0100eo\u19E2\u19E5t;\u6041\xEE\u0693\u0200aeiu\u19F0\u19FB\u1A01\u1A05\u01F0\u19F5\0\u19F8s;\u6A4Don;\u410Ddil\u803B\xE7\u40E7rc;\u4109ps\u0100;s\u1A0C\u1A0D\u6A4Cm;\u6A50ot;\u410B\u0180dmn\u1A1B\u1A20\u1A26il\u80BB\xB8\u01ADptyv;\u69B2t\u8100\xA2;e\u1A2D\u1A2E\u40A2r\xE4\u01B2r;\uC000\u{1D520}\u0180cei\u1A3D\u1A40\u1A4Dy;\u4447ck\u0100;m\u1A47\u1A48\u6713ark\xBB\u1A48;\u43C7r\u0380;Ecefms\u1A5F\u1A60\u1A62\u1A6B\u1AA4\u1AAA\u1AAE\u65CB;\u69C3\u0180;el\u1A69\u1A6A\u1A6D\u42C6q;\u6257e\u0261\u1A74\0\0\u1A88rrow\u0100lr\u1A7C\u1A81eft;\u61BAight;\u61BB\u0280RSacd\u1A92\u1A94\u1A96\u1A9A\u1A9F\xBB\u0F47;\u64C8st;\u629Birc;\u629Aash;\u629Dnint;\u6A10id;\u6AEFcir;\u69C2ubs\u0100;u\u1ABB\u1ABC\u6663it\xBB\u1ABC\u02EC\u1AC7\u1AD4\u1AFA\0\u1B0Aon\u0100;e\u1ACD\u1ACE\u403A\u0100;q\xC7\xC6\u026D\u1AD9\0\0\u1AE2a\u0100;t\u1ADE\u1ADF\u402C;\u4040\u0180;fl\u1AE8\u1AE9\u1AEB\u6201\xEE\u1160e\u0100mx\u1AF1\u1AF6ent\xBB\u1AE9e\xF3\u024D\u01E7\u1AFE\0\u1B07\u0100;d\u12BB\u1B02ot;\u6A6Dn\xF4\u0246\u0180fry\u1B10\u1B14\u1B17;\uC000\u{1D554}o\xE4\u0254\u8100\xA9;s\u0155\u1B1Dr;\u6117\u0100ao\u1B25\u1B29rr;\u61B5ss;\u6717\u0100cu\u1B32\u1B37r;\uC000\u{1D4B8}\u0100bp\u1B3C\u1B44\u0100;e\u1B41\u1B42\u6ACF;\u6AD1\u0100;e\u1B49\u1B4A\u6AD0;\u6AD2dot;\u62EF\u0380delprvw\u1B60\u1B6C\u1B77\u1B82\u1BAC\u1BD4\u1BF9arr\u0100lr\u1B68\u1B6A;\u6938;\u6935\u0270\u1B72\0\0\u1B75r;\u62DEc;\u62DFarr\u0100;p\u1B7F\u1B80\u61B6;\u693D\u0300;bcdos\u1B8F\u1B90\u1B96\u1BA1\u1BA5\u1BA8\u622Arcap;\u6A48\u0100au\u1B9B\u1B9Ep;\u6A46p;\u6A4Aot;\u628Dr;\u6A45;\uC000\u222A\uFE00\u0200alrv\u1BB5\u1BBF\u1BDE\u1BE3rr\u0100;m\u1BBC\u1BBD\u61B7;\u693Cy\u0180evw\u1BC7\u1BD4\u1BD8q\u0270\u1BCE\0\0\u1BD2re\xE3\u1B73u\xE3\u1B75ee;\u62CEedge;\u62CFen\u803B\xA4\u40A4earrow\u0100lr\u1BEE\u1BF3eft\xBB\u1B80ight\xBB\u1BBDe\xE4\u1BDD\u0100ci\u1C01\u1C07onin\xF4\u01F7nt;\u6231lcty;\u632D\u0980AHabcdefhijlorstuwz\u1C38\u1C3B\u1C3F\u1C5D\u1C69\u1C75\u1C8A\u1C9E\u1CAC\u1CB7\u1CFB\u1CFF\u1D0D\u1D7B\u1D91\u1DAB\u1DBB\u1DC6\u1DCDr\xF2\u0381ar;\u6965\u0200glrs\u1C48\u1C4D\u1C52\u1C54ger;\u6020eth;\u6138\xF2\u1133h\u0100;v\u1C5A\u1C5B\u6010\xBB\u090A\u016B\u1C61\u1C67arow;\u690Fa\xE3\u0315\u0100ay\u1C6E\u1C73ron;\u410F;\u4434\u0180;ao\u0332\u1C7C\u1C84\u0100gr\u02BF\u1C81r;\u61CAtseq;\u6A77\u0180glm\u1C91\u1C94\u1C98\u803B\xB0\u40B0ta;\u43B4ptyv;\u69B1\u0100ir\u1CA3\u1CA8sht;\u697F;\uC000\u{1D521}ar\u0100lr\u1CB3\u1CB5\xBB\u08DC\xBB\u101E\u0280aegsv\u1CC2\u0378\u1CD6\u1CDC\u1CE0m\u0180;os\u0326\u1CCA\u1CD4nd\u0100;s\u0326\u1CD1uit;\u6666amma;\u43DDin;\u62F2\u0180;io\u1CE7\u1CE8\u1CF8\u40F7de\u8100\xF7;o\u1CE7\u1CF0ntimes;\u62C7n\xF8\u1CF7cy;\u4452c\u026F\u1D06\0\0\u1D0Arn;\u631Eop;\u630D\u0280lptuw\u1D18\u1D1D\u1D22\u1D49\u1D55lar;\u4024f;\uC000\u{1D555}\u0280;emps\u030B\u1D2D\u1D37\u1D3D\u1D42q\u0100;d\u0352\u1D33ot;\u6251inus;\u6238lus;\u6214quare;\u62A1blebarwedg\xE5\xFAn\u0180adh\u112E\u1D5D\u1D67ownarrow\xF3\u1C83arpoon\u0100lr\u1D72\u1D76ef\xF4\u1CB4igh\xF4\u1CB6\u0162\u1D7F\u1D85karo\xF7\u0F42\u026F\u1D8A\0\0\u1D8Ern;\u631Fop;\u630C\u0180cot\u1D98\u1DA3\u1DA6\u0100ry\u1D9D\u1DA1;\uC000\u{1D4B9};\u4455l;\u69F6rok;\u4111\u0100dr\u1DB0\u1DB4ot;\u62F1i\u0100;f\u1DBA\u1816\u65BF\u0100ah\u1DC0\u1DC3r\xF2\u0429a\xF2\u0FA6angle;\u69A6\u0100ci\u1DD2\u1DD5y;\u445Fgrarr;\u67FF\u0900Dacdefglmnopqrstux\u1E01\u1E09\u1E19\u1E38\u0578\u1E3C\u1E49\u1E61\u1E7E\u1EA5\u1EAF\u1EBD\u1EE1\u1F2A\u1F37\u1F44\u1F4E\u1F5A\u0100Do\u1E06\u1D34o\xF4\u1C89\u0100cs\u1E0E\u1E14ute\u803B\xE9\u40E9ter;\u6A6E\u0200aioy\u1E22\u1E27\u1E31\u1E36ron;\u411Br\u0100;c\u1E2D\u1E2E\u6256\u803B\xEA\u40EAlon;\u6255;\u444Dot;\u4117\u0100Dr\u1E41\u1E45ot;\u6252;\uC000\u{1D522}\u0180;rs\u1E50\u1E51\u1E57\u6A9Aave\u803B\xE8\u40E8\u0100;d\u1E5C\u1E5D\u6A96ot;\u6A98\u0200;ils\u1E6A\u1E6B\u1E72\u1E74\u6A99nters;\u63E7;\u6113\u0100;d\u1E79\u1E7A\u6A95ot;\u6A97\u0180aps\u1E85\u1E89\u1E97cr;\u4113ty\u0180;sv\u1E92\u1E93\u1E95\u6205et\xBB\u1E93p\u01001;\u1E9D\u1EA4\u0133\u1EA1\u1EA3;\u6004;\u6005\u6003\u0100gs\u1EAA\u1EAC;\u414Bp;\u6002\u0100gp\u1EB4\u1EB8on;\u4119f;\uC000\u{1D556}\u0180als\u1EC4\u1ECE\u1ED2r\u0100;s\u1ECA\u1ECB\u62D5l;\u69E3us;\u6A71i\u0180;lv\u1EDA\u1EDB\u1EDF\u43B5on\xBB\u1EDB;\u43F5\u0200csuv\u1EEA\u1EF3\u1F0B\u1F23\u0100io\u1EEF\u1E31rc\xBB\u1E2E\u0269\u1EF9\0\0\u1EFB\xED\u0548ant\u0100gl\u1F02\u1F06tr\xBB\u1E5Dess\xBB\u1E7A\u0180aei\u1F12\u1F16\u1F1Als;\u403Dst;\u625Fv\u0100;D\u0235\u1F20D;\u6A78parsl;\u69E5\u0100Da\u1F2F\u1F33ot;\u6253rr;\u6971\u0180cdi\u1F3E\u1F41\u1EF8r;\u612Fo\xF4\u0352\u0100ah\u1F49\u1F4B;\u43B7\u803B\xF0\u40F0\u0100mr\u1F53\u1F57l\u803B\xEB\u40EBo;\u60AC\u0180cip\u1F61\u1F64\u1F67l;\u4021s\xF4\u056E\u0100eo\u1F6C\u1F74ctatio\xEE\u0559nential\xE5\u0579\u09E1\u1F92\0\u1F9E\0\u1FA1\u1FA7\0\0\u1FC6\u1FCC\0\u1FD3\0\u1FE6\u1FEA\u2000\0\u2008\u205Allingdotse\xF1\u1E44y;\u4444male;\u6640\u0180ilr\u1FAD\u1FB3\u1FC1lig;\u8000\uFB03\u0269\u1FB9\0\0\u1FBDg;\u8000\uFB00ig;\u8000\uFB04;\uC000\u{1D523}lig;\u8000\uFB01lig;\uC000fj\u0180alt\u1FD9\u1FDC\u1FE1t;\u666Dig;\u8000\uFB02ns;\u65B1of;\u4192\u01F0\u1FEE\0\u1FF3f;\uC000\u{1D557}\u0100ak\u05BF\u1FF7\u0100;v\u1FFC\u1FFD\u62D4;\u6AD9artint;\u6A0D\u0100ao\u200C\u2055\u0100cs\u2011\u2052\u03B1\u201A\u2030\u2038\u2045\u2048\0\u2050\u03B2\u2022\u2025\u2027\u202A\u202C\0\u202E\u803B\xBD\u40BD;\u6153\u803B\xBC\u40BC;\u6155;\u6159;\u615B\u01B3\u2034\0\u2036;\u6154;\u6156\u02B4\u203E\u2041\0\0\u2043\u803B\xBE\u40BE;\u6157;\u615C5;\u6158\u01B6\u204C\0\u204E;\u615A;\u615D8;\u615El;\u6044wn;\u6322cr;\uC000\u{1D4BB}\u0880Eabcdefgijlnorstv\u2082\u2089\u209F\u20A5\u20B0\u20B4\u20F0\u20F5\u20FA\u20FF\u2103\u2112\u2138\u0317\u213E\u2152\u219E\u0100;l\u064D\u2087;\u6A8C\u0180cmp\u2090\u2095\u209Dute;\u41F5ma\u0100;d\u209C\u1CDA\u43B3;\u6A86reve;\u411F\u0100iy\u20AA\u20AErc;\u411D;\u4433ot;\u4121\u0200;lqs\u063E\u0642\u20BD\u20C9\u0180;qs\u063E\u064C\u20C4lan\xF4\u0665\u0200;cdl\u0665\u20D2\u20D5\u20E5c;\u6AA9ot\u0100;o\u20DC\u20DD\u6A80\u0100;l\u20E2\u20E3\u6A82;\u6A84\u0100;e\u20EA\u20ED\uC000\u22DB\uFE00s;\u6A94r;\uC000\u{1D524}\u0100;g\u0673\u061Bmel;\u6137cy;\u4453\u0200;Eaj\u065A\u210C\u210E\u2110;\u6A92;\u6AA5;\u6AA4\u0200Eaes\u211B\u211D\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6A8Arox\xBB\u2124\u0100;q\u212E\u212F\u6A88\u0100;q\u212E\u211Bim;\u62E7pf;\uC000\u{1D558}\u0100ci\u2143\u2146r;\u610Am\u0180;el\u066B\u214E\u2150;\u6A8E;\u6A90\u8300>;cdlqr\u05EE\u2160\u216A\u216E\u2173\u2179\u0100ci\u2165\u2167;\u6AA7r;\u6A7Aot;\u62D7Par;\u6995uest;\u6A7C\u0280adels\u2184\u216A\u2190\u0656\u219B\u01F0\u2189\0\u218Epro\xF8\u209Er;\u6978q\u0100lq\u063F\u2196les\xF3\u2088i\xED\u066B\u0100en\u21A3\u21ADrtneqq;\uC000\u2269\uFE00\xC5\u21AA\u0500Aabcefkosy\u21C4\u21C7\u21F1\u21F5\u21FA\u2218\u221D\u222F\u2268\u227Dr\xF2\u03A0\u0200ilmr\u21D0\u21D4\u21D7\u21DBrs\xF0\u1484f\xBB\u2024il\xF4\u06A9\u0100dr\u21E0\u21E4cy;\u444A\u0180;cw\u08F4\u21EB\u21EFir;\u6948;\u61ADar;\u610Firc;\u4125\u0180alr\u2201\u220E\u2213rts\u0100;u\u2209\u220A\u6665it\xBB\u220Alip;\u6026con;\u62B9r;\uC000\u{1D525}s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223A\u223E\u2243\u225E\u2263rr;\u61FFtht;\u623Bk\u0100lr\u2249\u2253eftarrow;\u61A9ightarrow;\u61AAf;\uC000\u{1D559}bar;\u6015\u0180clt\u226F\u2274\u2278r;\uC000\u{1D4BD}as\xE8\u21F4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xBB\u1C5B\u0AE1\u22A3\0\u22AA\0\u22B8\u22C5\u22CE\0\u22D5\u22F3\0\0\u22F8\u2322\u2367\u2362\u237F\0\u2386\u23AA\u23B4cute\u803B\xED\u40ED\u0180;iy\u0771\u22B0\u22B5rc\u803B\xEE\u40EE;\u4438\u0100cx\u22BC\u22BFy;\u4435cl\u803B\xA1\u40A1\u0100fr\u039F\u22C9;\uC000\u{1D526}rave\u803B\xEC\u40EC\u0200;ino\u073E\u22DD\u22E9\u22EE\u0100in\u22E2\u22E6nt;\u6A0Ct;\u622Dfin;\u69DCta;\u6129lig;\u4133\u0180aop\u22FE\u231A\u231D\u0180cgt\u2305\u2308\u2317r;\u412B\u0180elp\u071F\u230F\u2313in\xE5\u078Ear\xF4\u0720h;\u4131f;\u62B7ed;\u41B5\u0280;cfot\u04F4\u232C\u2331\u233D\u2341are;\u6105in\u0100;t\u2338\u2339\u621Eie;\u69DDdo\xF4\u2319\u0280;celp\u0757\u234C\u2350\u235B\u2361al;\u62BA\u0100gr\u2355\u2359er\xF3\u1563\xE3\u234Darhk;\u6A17rod;\u6A3C\u0200cgpt\u236F\u2372\u2376\u237By;\u4451on;\u412Ff;\uC000\u{1D55A}a;\u43B9uest\u803B\xBF\u40BF\u0100ci\u238A\u238Fr;\uC000\u{1D4BE}n\u0280;Edsv\u04F4\u239B\u239D\u23A1\u04F3;\u62F9ot;\u62F5\u0100;v\u23A6\u23A7\u62F4;\u62F3\u0100;i\u0777\u23AElde;\u4129\u01EB\u23B8\0\u23BCcy;\u4456l\u803B\xEF\u40EF\u0300cfmosu\u23CC\u23D7\u23DC\u23E1\u23E7\u23F5\u0100iy\u23D1\u23D5rc;\u4135;\u4439r;\uC000\u{1D527}ath;\u4237pf;\uC000\u{1D55B}\u01E3\u23EC\0\u23F1r;\uC000\u{1D4BF}rcy;\u4458kcy;\u4454\u0400acfghjos\u240B\u2416\u2422\u2427\u242D\u2431\u2435\u243Bppa\u0100;v\u2413\u2414\u43BA;\u43F0\u0100ey\u241B\u2420dil;\u4137;\u443Ar;\uC000\u{1D528}reen;\u4138cy;\u4445cy;\u445Cpf;\uC000\u{1D55C}cr;\uC000\u{1D4C0}\u0B80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248D\u2491\u250E\u253D\u255A\u2580\u264E\u265E\u2665\u2679\u267D\u269A\u26B2\u26D8\u275D\u2768\u278B\u27C0\u2801\u2812\u0180art\u2477\u247A\u247Cr\xF2\u09C6\xF2\u0395ail;\u691Barr;\u690E\u0100;g\u0994\u248B;\u6A8Bar;\u6962\u0963\u24A5\0\u24AA\0\u24B1\0\0\0\0\0\u24B5\u24BA\0\u24C6\u24C8\u24CD\0\u24F9ute;\u413Amptyv;\u69B4ra\xEE\u084Cbda;\u43BBg\u0180;dl\u088E\u24C1\u24C3;\u6991\xE5\u088E;\u6A85uo\u803B\xAB\u40ABr\u0400;bfhlpst\u0899\u24DE\u24E6\u24E9\u24EB\u24EE\u24F1\u24F5\u0100;f\u089D\u24E3s;\u691Fs;\u691D\xEB\u2252p;\u61ABl;\u6939im;\u6973l;\u61A2\u0180;ae\u24FF\u2500\u2504\u6AABil;\u6919\u0100;s\u2509\u250A\u6AAD;\uC000\u2AAD\uFE00\u0180abr\u2515\u2519\u251Drr;\u690Crk;\u6772\u0100ak\u2522\u252Cc\u0100ek\u2528\u252A;\u407B;\u405B\u0100es\u2531\u2533;\u698Bl\u0100du\u2539\u253B;\u698F;\u698D\u0200aeuy\u2546\u254B\u2556\u2558ron;\u413E\u0100di\u2550\u2554il;\u413C\xEC\u08B0\xE2\u2529;\u443B\u0200cqrs\u2563\u2566\u256D\u257Da;\u6936uo\u0100;r\u0E19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694Bh;\u61B2\u0280;fgqs\u258B\u258C\u0989\u25F3\u25FF\u6264t\u0280ahlrt\u2598\u25A4\u25B7\u25C2\u25E8rrow\u0100;t\u0899\u25A1a\xE9\u24F6arpoon\u0100du\u25AF\u25B4own\xBB\u045Ap\xBB\u0966eftarrows;\u61C7ight\u0180ahs\u25CD\u25D6\u25DErrow\u0100;s\u08F4\u08A7arpoon\xF3\u0F98quigarro\xF7\u21F0hreetimes;\u62CB\u0180;qs\u258B\u0993\u25FAlan\xF4\u09AC\u0280;cdgs\u09AC\u260A\u260D\u261D\u2628c;\u6AA8ot\u0100;o\u2614\u2615\u6A7F\u0100;r\u261A\u261B\u6A81;\u6A83\u0100;e\u2622\u2625\uC000\u22DA\uFE00s;\u6A93\u0280adegs\u2633\u2639\u263D\u2649\u264Bppro\xF8\u24C6ot;\u62D6q\u0100gq\u2643\u2645\xF4\u0989gt\xF2\u248C\xF4\u099Bi\xED\u09B2\u0180ilr\u2655\u08E1\u265Asht;\u697C;\uC000\u{1D529}\u0100;E\u099C\u2663;\u6A91\u0161\u2669\u2676r\u0100du\u25B2\u266E\u0100;l\u0965\u2673;\u696Alk;\u6584cy;\u4459\u0280;acht\u0A48\u2688\u268B\u2691\u2696r\xF2\u25C1orne\xF2\u1D08ard;\u696Bri;\u65FA\u0100io\u269F\u26A4dot;\u4140ust\u0100;a\u26AC\u26AD\u63B0che\xBB\u26AD\u0200Eaes\u26BB\u26BD\u26C9\u26D4;\u6268p\u0100;p\u26C3\u26C4\u6A89rox\xBB\u26C4\u0100;q\u26CE\u26CF\u6A87\u0100;q\u26CE\u26BBim;\u62E6\u0400abnoptwz\u26E9\u26F4\u26F7\u271A\u272F\u2741\u2747\u2750\u0100nr\u26EE\u26F1g;\u67ECr;\u61FDr\xEB\u08C1g\u0180lmr\u26FF\u270D\u2714eft\u0100ar\u09E6\u2707ight\xE1\u09F2apsto;\u67FCight\xE1\u09FDparrow\u0100lr\u2725\u2729ef\xF4\u24EDight;\u61AC\u0180afl\u2736\u2739\u273Dr;\u6985;\uC000\u{1D55D}us;\u6A2Dimes;\u6A34\u0161\u274B\u274Fst;\u6217\xE1\u134E\u0180;ef\u2757\u2758\u1800\u65CAnge\xBB\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277C\u2785\u2787r\xF2\u08A8orne\xF2\u1D8Car\u0100;d\u0F98\u2783;\u696D;\u600Eri;\u62BF\u0300achiqt\u2798\u279D\u0A40\u27A2\u27AE\u27BBquo;\u6039r;\uC000\u{1D4C1}m\u0180;eg\u09B2\u27AA\u27AC;\u6A8D;\u6A8F\u0100bu\u252A\u27B3o\u0100;r\u0E1F\u27B9;\u601Arok;\u4142\u8400<;cdhilqr\u082B\u27D2\u2639\u27DC\u27E0\u27E5\u27EA\u27F0\u0100ci\u27D7\u27D9;\u6AA6r;\u6A79re\xE5\u25F2mes;\u62C9arr;\u6976uest;\u6A7B\u0100Pi\u27F5\u27F9ar;\u6996\u0180;ef\u2800\u092D\u181B\u65C3r\u0100du\u2807\u280Dshar;\u694Ahar;\u6966\u0100en\u2817\u2821rtneqq;\uC000\u2268\uFE00\xC5\u281E\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288E\u2893\u28A0\u28A5\u28A8\u28DA\u28E2\u28E4\u0A83\u28F3\u2902Dot;\u623A\u0200clpr\u284E\u2852\u2863\u287Dr\u803B\xAF\u40AF\u0100et\u2857\u2859;\u6642\u0100;e\u285E\u285F\u6720se\xBB\u285F\u0100;s\u103B\u2868to\u0200;dlu\u103B\u2873\u2877\u287Bow\xEE\u048Cef\xF4\u090F\xF0\u13D1ker;\u65AE\u0100oy\u2887\u288Cmma;\u6A29;\u443Cash;\u6014asuredangle\xBB\u1626r;\uC000\u{1D52A}o;\u6127\u0180cdn\u28AF\u28B4\u28C9ro\u803B\xB5\u40B5\u0200;acd\u1464\u28BD\u28C0\u28C4s\xF4\u16A7ir;\u6AF0ot\u80BB\xB7\u01B5us\u0180;bd\u28D2\u1903\u28D3\u6212\u0100;u\u1D3C\u28D8;\u6A2A\u0163\u28DE\u28E1p;\u6ADB\xF2\u2212\xF0\u0A81\u0100dp\u28E9\u28EEels;\u62A7f;\uC000\u{1D55E}\u0100ct\u28F8\u28FDr;\uC000\u{1D4C2}pos\xBB\u159D\u0180;lm\u2909\u290A\u290D\u43BCtimap;\u62B8\u0C00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297E\u2989\u2998\u29DA\u29E9\u2A15\u2A1A\u2A58\u2A5D\u2A83\u2A95\u2AA4\u2AA8\u2B04\u2B07\u2B44\u2B7F\u2BAE\u2C34\u2C67\u2C7C\u2CE9\u0100gt\u2947\u294B;\uC000\u22D9\u0338\u0100;v\u2950\u0BCF\uC000\u226B\u20D2\u0180elt\u295A\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61CDightarrow;\u61CE;\uC000\u22D8\u0338\u0100;v\u297B\u0C47\uC000\u226A\u20D2ightarrow;\u61CF\u0100Dd\u298E\u2993ash;\u62AFash;\u62AE\u0280bcnpt\u29A3\u29A7\u29AC\u29B1\u29CCla\xBB\u02DEute;\u4144g;\uC000\u2220\u20D2\u0280;Eiop\u0D84\u29BC\u29C0\u29C5\u29C8;\uC000\u2A70\u0338d;\uC000\u224B\u0338s;\u4149ro\xF8\u0D84ur\u0100;a\u29D3\u29D4\u666El\u0100;s\u29D3\u0B38\u01F3\u29DF\0\u29E3p\u80BB\xA0\u0B37mp\u0100;e\u0BF9\u0C00\u0280aeouy\u29F4\u29FE\u2A03\u2A10\u2A13\u01F0\u29F9\0\u29FB;\u6A43on;\u4148dil;\u4146ng\u0100;d\u0D7E\u2A0Aot;\uC000\u2A6D\u0338p;\u6A42;\u443Dash;\u6013\u0380;Aadqsx\u0B92\u2A29\u2A2D\u2A3B\u2A41\u2A45\u2A50rr;\u61D7r\u0100hr\u2A33\u2A36k;\u6924\u0100;o\u13F2\u13F0ot;\uC000\u2250\u0338ui\xF6\u0B63\u0100ei\u2A4A\u2A4Ear;\u6928\xED\u0B98ist\u0100;s\u0BA0\u0B9Fr;\uC000\u{1D52B}\u0200Eest\u0BC5\u2A66\u2A79\u2A7C\u0180;qs\u0BBC\u2A6D\u0BE1\u0180;qs\u0BBC\u0BC5\u2A74lan\xF4\u0BE2i\xED\u0BEA\u0100;r\u0BB6\u2A81\xBB\u0BB7\u0180Aap\u2A8A\u2A8D\u2A91r\xF2\u2971rr;\u61AEar;\u6AF2\u0180;sv\u0F8D\u2A9C\u0F8C\u0100;d\u2AA1\u2AA2\u62FC;\u62FAcy;\u445A\u0380AEadest\u2AB7\u2ABA\u2ABE\u2AC2\u2AC5\u2AF6\u2AF9r\xF2\u2966;\uC000\u2266\u0338rr;\u619Ar;\u6025\u0200;fqs\u0C3B\u2ACE\u2AE3\u2AEFt\u0100ar\u2AD4\u2AD9rro\xF7\u2AC1ightarro\xF7\u2A90\u0180;qs\u0C3B\u2ABA\u2AEAlan\xF4\u0C55\u0100;s\u0C55\u2AF4\xBB\u0C36i\xED\u0C5D\u0100;r\u0C35\u2AFEi\u0100;e\u0C1A\u0C25i\xE4\u0D90\u0100pt\u2B0C\u2B11f;\uC000\u{1D55F}\u8180\xAC;in\u2B19\u2B1A\u2B36\u40ACn\u0200;Edv\u0B89\u2B24\u2B28\u2B2E;\uC000\u22F9\u0338ot;\uC000\u22F5\u0338\u01E1\u0B89\u2B33\u2B35;\u62F7;\u62F6i\u0100;v\u0CB8\u2B3C\u01E1\u0CB8\u2B41\u2B43;\u62FE;\u62FD\u0180aor\u2B4B\u2B63\u2B69r\u0200;ast\u0B7B\u2B55\u2B5A\u2B5Flle\xEC\u0B7Bl;\uC000\u2AFD\u20E5;\uC000\u2202\u0338lint;\u6A14\u0180;ce\u0C92\u2B70\u2B73u\xE5\u0CA5\u0100;c\u0C98\u2B78\u0100;e\u0C92\u2B7D\xF1\u0C98\u0200Aait\u2B88\u2B8B\u2B9D\u2BA7r\xF2\u2988rr\u0180;cw\u2B94\u2B95\u2B99\u619B;\uC000\u2933\u0338;\uC000\u219D\u0338ghtarrow\xBB\u2B95ri\u0100;e\u0CCB\u0CD6\u0380chimpqu\u2BBD\u2BCD\u2BD9\u2B04\u0B78\u2BE4\u2BEF\u0200;cer\u0D32\u2BC6\u0D37\u2BC9u\xE5\u0D45;\uC000\u{1D4C3}ort\u026D\u2B05\0\0\u2BD6ar\xE1\u2B56m\u0100;e\u0D6E\u2BDF\u0100;q\u0D74\u0D73su\u0100bp\u2BEB\u2BED\xE5\u0CF8\xE5\u0D0B\u0180bcp\u2BF6\u2C11\u2C19\u0200;Ees\u2BFF\u2C00\u0D22\u2C04\u6284;\uC000\u2AC5\u0338et\u0100;e\u0D1B\u2C0Bq\u0100;q\u0D23\u2C00c\u0100;e\u0D32\u2C17\xF1\u0D38\u0200;Ees\u2C22\u2C23\u0D5F\u2C27\u6285;\uC000\u2AC6\u0338et\u0100;e\u0D58\u2C2Eq\u0100;q\u0D60\u2C23\u0200gilr\u2C3D\u2C3F\u2C45\u2C47\xEC\u0BD7lde\u803B\xF1\u40F1\xE7\u0C43iangle\u0100lr\u2C52\u2C5Ceft\u0100;e\u0C1A\u2C5A\xF1\u0C26ight\u0100;e\u0CCB\u2C65\xF1\u0CD7\u0100;m\u2C6C\u2C6D\u43BD\u0180;es\u2C74\u2C75\u2C79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2C8F\u2C94\u2C99\u2C9E\u2CA3\u2CB0\u2CB6\u2CD3\u2CE3ash;\u62ADarr;\u6904p;\uC000\u224D\u20D2ash;\u62AC\u0100et\u2CA8\u2CAC;\uC000\u2265\u20D2;\uC000>\u20D2nfin;\u69DE\u0180Aet\u2CBD\u2CC1\u2CC5rr;\u6902;\uC000\u2264\u20D2\u0100;r\u2CCA\u2CCD\uC000<\u20D2ie;\uC000\u22B4\u20D2\u0100At\u2CD8\u2CDCrr;\u6903rie;\uC000\u22B5\u20D2im;\uC000\u223C\u20D2\u0180Aan\u2CF0\u2CF4\u2D02rr;\u61D6r\u0100hr\u2CFA\u2CFDk;\u6923\u0100;o\u13E7\u13E5ear;\u6927\u1253\u1A95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2D2D\0\u2D38\u2D48\u2D60\u2D65\u2D72\u2D84\u1B07\0\0\u2D8D\u2DAB\0\u2DC8\u2DCE\0\u2DDC\u2E19\u2E2B\u2E3E\u2E43\u0100cs\u2D31\u1A97ute\u803B\xF3\u40F3\u0100iy\u2D3C\u2D45r\u0100;c\u1A9E\u2D42\u803B\xF4\u40F4;\u443E\u0280abios\u1AA0\u2D52\u2D57\u01C8\u2D5Alac;\u4151v;\u6A38old;\u69BClig;\u4153\u0100cr\u2D69\u2D6Dir;\u69BF;\uC000\u{1D52C}\u036F\u2D79\0\0\u2D7C\0\u2D82n;\u42DBave\u803B\xF2\u40F2;\u69C1\u0100bm\u2D88\u0DF4ar;\u69B5\u0200acit\u2D95\u2D98\u2DA5\u2DA8r\xF2\u1A80\u0100ir\u2D9D\u2DA0r;\u69BEoss;\u69BBn\xE5\u0E52;\u69C0\u0180aei\u2DB1\u2DB5\u2DB9cr;\u414Dga;\u43C9\u0180cdn\u2DC0\u2DC5\u01CDron;\u43BF;\u69B6pf;\uC000\u{1D560}\u0180ael\u2DD4\u2DD7\u01D2r;\u69B7rp;\u69B9\u0380;adiosv\u2DEA\u2DEB\u2DEE\u2E08\u2E0D\u2E10\u2E16\u6228r\xF2\u1A86\u0200;efm\u2DF7\u2DF8\u2E02\u2E05\u6A5Dr\u0100;o\u2DFE\u2DFF\u6134f\xBB\u2DFF\u803B\xAA\u40AA\u803B\xBA\u40BAgof;\u62B6r;\u6A56lope;\u6A57;\u6A5B\u0180clo\u2E1F\u2E21\u2E27\xF2\u2E01ash\u803B\xF8\u40F8l;\u6298i\u016C\u2E2F\u2E34de\u803B\xF5\u40F5es\u0100;a\u01DB\u2E3As;\u6A36ml\u803B\xF6\u40F6bar;\u633D\u0AE1\u2E5E\0\u2E7D\0\u2E80\u2E9D\0\u2EA2\u2EB9\0\0\u2ECB\u0E9C\0\u2F13\0\0\u2F2B\u2FBC\0\u2FC8r\u0200;ast\u0403\u2E67\u2E72\u0E85\u8100\xB6;l\u2E6D\u2E6E\u40B6le\xEC\u0403\u0269\u2E78\0\0\u2E7Bm;\u6AF3;\u6AFDy;\u443Fr\u0280cimpt\u2E8B\u2E8F\u2E93\u1865\u2E97nt;\u4025od;\u402Eil;\u6030enk;\u6031r;\uC000\u{1D52D}\u0180imo\u2EA8\u2EB0\u2EB4\u0100;v\u2EAD\u2EAE\u43C6;\u43D5ma\xF4\u0A76ne;\u660E\u0180;tv\u2EBF\u2EC0\u2EC8\u43C0chfork\xBB\u1FFD;\u43D6\u0100au\u2ECF\u2EDFn\u0100ck\u2ED5\u2EDDk\u0100;h\u21F4\u2EDB;\u610E\xF6\u21F4s\u0480;abcdemst\u2EF3\u2EF4\u1908\u2EF9\u2EFD\u2F04\u2F06\u2F0A\u2F0E\u402Bcir;\u6A23ir;\u6A22\u0100ou\u1D40\u2F02;\u6A25;\u6A72n\u80BB\xB1\u0E9Dim;\u6A26wo;\u6A27\u0180ipu\u2F19\u2F20\u2F25ntint;\u6A15f;\uC000\u{1D561}nd\u803B\xA3\u40A3\u0500;Eaceinosu\u0EC8\u2F3F\u2F41\u2F44\u2F47\u2F81\u2F89\u2F92\u2F7E\u2FB6;\u6AB3p;\u6AB7u\xE5\u0ED9\u0100;c\u0ECE\u2F4C\u0300;acens\u0EC8\u2F59\u2F5F\u2F66\u2F68\u2F7Eppro\xF8\u2F43urlye\xF1\u0ED9\xF1\u0ECE\u0180aes\u2F6F\u2F76\u2F7Approx;\u6AB9qq;\u6AB5im;\u62E8i\xED\u0EDFme\u0100;s\u2F88\u0EAE\u6032\u0180Eas\u2F78\u2F90\u2F7A\xF0\u2F75\u0180dfp\u0EEC\u2F99\u2FAF\u0180als\u2FA0\u2FA5\u2FAAlar;\u632Eine;\u6312urf;\u6313\u0100;t\u0EFB\u2FB4\xEF\u0EFBrel;\u62B0\u0100ci\u2FC0\u2FC5r;\uC000\u{1D4C5};\u43C8ncsp;\u6008\u0300fiopsu\u2FDA\u22E2\u2FDF\u2FE5\u2FEB\u2FF1r;\uC000\u{1D52E}pf;\uC000\u{1D562}rime;\u6057cr;\uC000\u{1D4C6}\u0180aeo\u2FF8\u3009\u3013t\u0100ei\u2FFE\u3005rnion\xF3\u06B0nt;\u6A16st\u0100;e\u3010\u3011\u403F\xF1\u1F19\xF4\u0F14\u0A80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30E0\u310E\u312B\u3147\u3162\u3172\u318E\u3206\u3215\u3224\u3229\u3258\u326E\u3272\u3290\u32B0\u32B7\u0180art\u3047\u304A\u304Cr\xF2\u10B3\xF2\u03DDail;\u691Car\xF2\u1C65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307F\u308F\u3094\u30CC\u0100eu\u306D\u3071;\uC000\u223D\u0331te;\u4155i\xE3\u116Emptyv;\u69B3g\u0200;del\u0FD1\u3089\u308B\u308D;\u6992;\u69A5\xE5\u0FD1uo\u803B\xBB\u40BBr\u0580;abcfhlpstw\u0FDC\u30AC\u30AF\u30B7\u30B9\u30BC\u30BE\u30C0\u30C3\u30C7\u30CAp;\u6975\u0100;f\u0FE0\u30B4s;\u6920;\u6933s;\u691E\xEB\u225D\xF0\u272El;\u6945im;\u6974l;\u61A3;\u619D\u0100ai\u30D1\u30D5il;\u691Ao\u0100;n\u30DB\u30DC\u6236al\xF3\u0F1E\u0180abr\u30E7\u30EA\u30EEr\xF2\u17E5rk;\u6773\u0100ak\u30F3\u30FDc\u0100ek\u30F9\u30FB;\u407D;\u405D\u0100es\u3102\u3104;\u698Cl\u0100du\u310A\u310C;\u698E;\u6990\u0200aeuy\u3117\u311C\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xEC\u0FF2\xE2\u30FA;\u4440\u0200clqs\u3134\u3137\u313D\u3144a;\u6937dhar;\u6969uo\u0100;r\u020E\u020Dh;\u61B3\u0180acg\u314E\u315F\u0F44l\u0200;ips\u0F78\u3158\u315B\u109Cn\xE5\u10BBar\xF4\u0FA9t;\u65AD\u0180ilr\u3169\u1023\u316Esht;\u697D;\uC000\u{1D52F}\u0100ao\u3177\u3186r\u0100du\u317D\u317F\xBB\u047B\u0100;l\u1091\u3184;\u696C\u0100;v\u318B\u318C\u43C1;\u43F1\u0180gns\u3195\u31F9\u31FCht\u0300ahlrst\u31A4\u31B0\u31C2\u31D8\u31E4\u31EErrow\u0100;t\u0FDC\u31ADa\xE9\u30C8arpoon\u0100du\u31BB\u31BFow\xEE\u317Ep\xBB\u1092eft\u0100ah\u31CA\u31D0rrow\xF3\u0FEAarpoon\xF3\u0551ightarrows;\u61C9quigarro\xF7\u30CBhreetimes;\u62CCg;\u42DAingdotse\xF1\u1F32\u0180ahm\u320D\u3210\u3213r\xF2\u0FEAa\xF2\u0551;\u600Foust\u0100;a\u321E\u321F\u63B1che\xBB\u321Fmid;\u6AEE\u0200abpt\u3232\u323D\u3240\u3252\u0100nr\u3237\u323Ag;\u67EDr;\u61FEr\xEB\u1003\u0180afl\u3247\u324A\u324Er;\u6986;\uC000\u{1D563}us;\u6A2Eimes;\u6A35\u0100ap\u325D\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6A12ar\xF2\u31E3\u0200achq\u327B\u3280\u10BC\u3285quo;\u603Ar;\uC000\u{1D4C7}\u0100bu\u30FB\u328Ao\u0100;r\u0214\u0213\u0180hir\u3297\u329B\u32A0re\xE5\u31F8mes;\u62CAi\u0200;efl\u32AA\u1059\u1821\u32AB\u65B9tri;\u69CEluhar;\u6968;\u611E\u0D61\u32D5\u32DB\u32DF\u332C\u3338\u3371\0\u337A\u33A4\0\0\u33EC\u33F0\0\u3428\u3448\u345A\u34AD\u34B1\u34CA\u34F1\0\u3616\0\0\u3633cute;\u415Bqu\xEF\u27BA\u0500;Eaceinpsy\u11ED\u32F3\u32F5\u32FF\u3302\u330B\u330F\u331F\u3326\u3329;\u6AB4\u01F0\u32FA\0\u32FC;\u6AB8on;\u4161u\xE5\u11FE\u0100;d\u11F3\u3307il;\u415Frc;\u415D\u0180Eas\u3316\u3318\u331B;\u6AB6p;\u6ABAim;\u62E9olint;\u6A13i\xED\u1204;\u4441ot\u0180;be\u3334\u1D47\u3335\u62C5;\u6A66\u0380Aacmstx\u3346\u334A\u3357\u335B\u335E\u3363\u336Drr;\u61D8r\u0100hr\u3350\u3352\xEB\u2228\u0100;o\u0A36\u0A34t\u803B\xA7\u40A7i;\u403Bwar;\u6929m\u0100in\u3369\xF0nu\xF3\xF1t;\u6736r\u0100;o\u3376\u2055\uC000\u{1D530}\u0200acoy\u3382\u3386\u3391\u33A0rp;\u666F\u0100hy\u338B\u338Fcy;\u4449;\u4448rt\u026D\u3399\0\0\u339Ci\xE4\u1464ara\xEC\u2E6F\u803B\xAD\u40AD\u0100gm\u33A8\u33B4ma\u0180;fv\u33B1\u33B2\u33B2\u43C3;\u43C2\u0400;deglnpr\u12AB\u33C5\u33C9\u33CE\u33D6\u33DE\u33E1\u33E6ot;\u6A6A\u0100;q\u12B1\u12B0\u0100;E\u33D3\u33D4\u6A9E;\u6AA0\u0100;E\u33DB\u33DC\u6A9D;\u6A9Fe;\u6246lus;\u6A24arr;\u6972ar\xF2\u113D\u0200aeit\u33F8\u3408\u340F\u3417\u0100ls\u33FD\u3404lsetm\xE9\u336Ahp;\u6A33parsl;\u69E4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341C\u341D\u6AAA\u0100;s\u3422\u3423\u6AAC;\uC000\u2AAC\uFE00\u0180flp\u342E\u3433\u3442tcy;\u444C\u0100;b\u3438\u3439\u402F\u0100;a\u343E\u343F\u69C4r;\u633Ff;\uC000\u{1D564}a\u0100dr\u344D\u0402es\u0100;u\u3454\u3455\u6660it\xBB\u3455\u0180csu\u3460\u3479\u349F\u0100au\u3465\u346Fp\u0100;s\u1188\u346B;\uC000\u2293\uFE00p\u0100;s\u11B4\u3475;\uC000\u2294\uFE00u\u0100bp\u347F\u348F\u0180;es\u1197\u119C\u3486et\u0100;e\u1197\u348D\xF1\u119D\u0180;es\u11A8\u11AD\u3496et\u0100;e\u11A8\u349D\xF1\u11AE\u0180;af\u117B\u34A6\u05B0r\u0165\u34AB\u05B1\xBB\u117Car\xF2\u1148\u0200cemt\u34B9\u34BE\u34C2\u34C5r;\uC000\u{1D4C8}tm\xEE\xF1i\xEC\u3415ar\xE6\u11BE\u0100ar\u34CE\u34D5r\u0100;f\u34D4\u17BF\u6606\u0100an\u34DA\u34EDight\u0100ep\u34E3\u34EApsilo\xEE\u1EE0h\xE9\u2EAFs\xBB\u2852\u0280bcmnp\u34FB\u355E\u1209\u358B\u358E\u0480;Edemnprs\u350E\u350F\u3511\u3515\u351E\u3523\u352C\u3531\u3536\u6282;\u6AC5ot;\u6ABD\u0100;d\u11DA\u351Aot;\u6AC3ult;\u6AC1\u0100Ee\u3528\u352A;\u6ACB;\u628Alus;\u6ABFarr;\u6979\u0180eiu\u353D\u3552\u3555t\u0180;en\u350E\u3545\u354Bq\u0100;q\u11DA\u350Feq\u0100;q\u352B\u3528m;\u6AC7\u0100bp\u355A\u355C;\u6AD5;\u6AD3c\u0300;acens\u11ED\u356C\u3572\u3579\u357B\u3326ppro\xF8\u32FAurlye\xF1\u11FE\xF1\u11F3\u0180aes\u3582\u3588\u331Bppro\xF8\u331Aq\xF1\u3317g;\u666A\u0680123;Edehlmnps\u35A9\u35AC\u35AF\u121C\u35B2\u35B4\u35C0\u35C9\u35D5\u35DA\u35DF\u35E8\u35ED\u803B\xB9\u40B9\u803B\xB2\u40B2\u803B\xB3\u40B3;\u6AC6\u0100os\u35B9\u35BCt;\u6ABEub;\u6AD8\u0100;d\u1222\u35C5ot;\u6AC4s\u0100ou\u35CF\u35D2l;\u67C9b;\u6AD7arr;\u697Bult;\u6AC2\u0100Ee\u35E4\u35E6;\u6ACC;\u628Blus;\u6AC0\u0180eiu\u35F4\u3609\u360Ct\u0180;en\u121C\u35FC\u3602q\u0100;q\u1222\u35B2eq\u0100;q\u35E7\u35E4m;\u6AC8\u0100bp\u3611\u3613;\u6AD4;\u6AD6\u0180Aan\u361C\u3620\u362Drr;\u61D9r\u0100hr\u3626\u3628\xEB\u222E\u0100;o\u0A2B\u0A29war;\u692Alig\u803B\xDF\u40DF\u0BE1\u3651\u365D\u3660\u12CE\u3673\u3679\0\u367E\u36C2\0\0\0\0\0\u36DB\u3703\0\u3709\u376C\0\0\0\u3787\u0272\u3656\0\0\u365Bget;\u6316;\u43C4r\xEB\u0E5F\u0180aey\u3666\u366B\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uC000\u{1D531}\u0200eiko\u3686\u369D\u36B5\u36BC\u01F2\u368B\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369B\u43B8ym;\u43D1\u0100cn\u36A2\u36B2k\u0100as\u36A8\u36AEppro\xF8\u12C1im\xBB\u12ACs\xF0\u129E\u0100as\u36BA\u36AE\xF0\u12C1rn\u803B\xFE\u40FE\u01EC\u031F\u36C6\u22E7es\u8180\xD7;bd\u36CF\u36D0\u36D8\u40D7\u0100;a\u190F\u36D5r;\u6A31;\u6A30\u0180eps\u36E1\u36E3\u3700\xE1\u2A4D\u0200;bcf\u0486\u36EC\u36F0\u36F4ot;\u6336ir;\u6AF1\u0100;o\u36F9\u36FC\uC000\u{1D565}rk;\u6ADA\xE1\u3362rime;\u6034\u0180aip\u370F\u3712\u3764d\xE5\u1248\u0380adempst\u3721\u374D\u3740\u3751\u3757\u375C\u375Fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65B5own\xBB\u1DBBeft\u0100;e\u2800\u373E\xF1\u092E;\u625Cight\u0100;e\u32AA\u374B\xF1\u105Aot;\u65ECinus;\u6A3Alus;\u6A39b;\u69CDime;\u6A3Bezium;\u63E2\u0180cht\u3772\u377D\u3781\u0100ry\u3777\u377B;\uC000\u{1D4C9};\u4446cy;\u445Brok;\u4167\u0100io\u378B\u378Ex\xF4\u1777head\u0100lr\u3797\u37A0eftarro\xF7\u084Fightarrow\xBB\u0F5D\u0900AHabcdfghlmoprstuw\u37D0\u37D3\u37D7\u37E4\u37F0\u37FC\u380E\u381C\u3823\u3834\u3851\u385D\u386B\u38A9\u38CC\u38D2\u38EA\u38F6r\xF2\u03EDar;\u6963\u0100cr\u37DC\u37E2ute\u803B\xFA\u40FA\xF2\u1150r\u01E3\u37EA\0\u37EDy;\u445Eve;\u416D\u0100iy\u37F5\u37FArc\u803B\xFB\u40FB;\u4443\u0180abh\u3803\u3806\u380Br\xF2\u13ADlac;\u4171a\xF2\u13C3\u0100ir\u3813\u3818sht;\u697E;\uC000\u{1D532}rave\u803B\xF9\u40F9\u0161\u3827\u3831r\u0100lr\u382C\u382E\xBB\u0957\xBB\u1083lk;\u6580\u0100ct\u3839\u384D\u026F\u383F\0\0\u384Arn\u0100;e\u3845\u3846\u631Cr\xBB\u3846op;\u630Fri;\u65F8\u0100al\u3856\u385Acr;\u416B\u80BB\xA8\u0349\u0100gp\u3862\u3866on;\u4173f;\uC000\u{1D566}\u0300adhlsu\u114B\u3878\u387D\u1372\u3891\u38A0own\xE1\u13B3arpoon\u0100lr\u3888\u388Cef\xF4\u382Digh\xF4\u382Fi\u0180;hl\u3899\u389A\u389C\u43C5\xBB\u13FAon\xBB\u389Aparrows;\u61C8\u0180cit\u38B0\u38C4\u38C8\u026F\u38B6\0\0\u38C1rn\u0100;e\u38BC\u38BD\u631Dr\xBB\u38BDop;\u630Eng;\u416Fri;\u65F9cr;\uC000\u{1D4CA}\u0180dir\u38D9\u38DD\u38E2ot;\u62F0lde;\u4169i\u0100;f\u3730\u38E8\xBB\u1813\u0100am\u38EF\u38F2r\xF2\u38A8l\u803B\xFC\u40FCangle;\u69A7\u0780ABDacdeflnoprsz\u391C\u391F\u3929\u392D\u39B5\u39B8\u39BD\u39DF\u39E4\u39E8\u39F3\u39F9\u39FD\u3A01\u3A20r\xF2\u03F7ar\u0100;v\u3926\u3927\u6AE8;\u6AE9as\xE8\u03E1\u0100nr\u3932\u3937grt;\u699C\u0380eknprst\u34E3\u3946\u394B\u3952\u395D\u3964\u3996app\xE1\u2415othin\xE7\u1E96\u0180hir\u34EB\u2EC8\u3959op\xF4\u2FB5\u0100;h\u13B7\u3962\xEF\u318D\u0100iu\u3969\u396Dgm\xE1\u33B3\u0100bp\u3972\u3984setneq\u0100;q\u397D\u3980\uC000\u228A\uFE00;\uC000\u2ACB\uFE00setneq\u0100;q\u398F\u3992\uC000\u228B\uFE00;\uC000\u2ACC\uFE00\u0100hr\u399B\u399Fet\xE1\u369Ciangle\u0100lr\u39AA\u39AFeft\xBB\u0925ight\xBB\u1051y;\u4432ash\xBB\u1036\u0180elr\u39C4\u39D2\u39D7\u0180;be\u2DEA\u39CB\u39CFar;\u62BBq;\u625Alip;\u62EE\u0100bt\u39DC\u1468a\xF2\u1469r;\uC000\u{1D533}tr\xE9\u39AEsu\u0100bp\u39EF\u39F1\xBB\u0D1C\xBB\u0D59pf;\uC000\u{1D567}ro\xF0\u0EFBtr\xE9\u39B4\u0100cu\u3A06\u3A0Br;\uC000\u{1D4CB}\u0100bp\u3A10\u3A18n\u0100Ee\u3980\u3A16\xBB\u397En\u0100Ee\u3992\u3A1E\xBB\u3990igzag;\u699A\u0380cefoprs\u3A36\u3A3B\u3A56\u3A5B\u3A54\u3A61\u3A6Airc;\u4175\u0100di\u3A40\u3A51\u0100bg\u3A45\u3A49ar;\u6A5Fe\u0100;q\u15FA\u3A4F;\u6259erp;\u6118r;\uC000\u{1D534}pf;\uC000\u{1D568}\u0100;e\u1479\u3A66at\xE8\u1479cr;\uC000\u{1D4CC}\u0AE3\u178E\u3A87\0\u3A8B\0\u3A90\u3A9B\0\0\u3A9D\u3AA8\u3AAB\u3AAF\0\0\u3AC3\u3ACE\0\u3AD8\u17DC\u17DFtr\xE9\u17D1r;\uC000\u{1D535}\u0100Aa\u3A94\u3A97r\xF2\u03C3r\xF2\u09F6;\u43BE\u0100Aa\u3AA1\u3AA4r\xF2\u03B8r\xF2\u09EBa\xF0\u2713is;\u62FB\u0180dpt\u17A4\u3AB5\u3ABE\u0100fl\u3ABA\u17A9;\uC000\u{1D569}im\xE5\u17B2\u0100Aa\u3AC7\u3ACAr\xF2\u03CEr\xF2\u0A01\u0100cq\u3AD2\u17B8r;\uC000\u{1D4CD}\u0100pt\u17D6\u3ADCr\xE9\u17D4\u0400acefiosu\u3AF0\u3AFD\u3B08\u3B0C\u3B11\u3B15\u3B1B\u3B21c\u0100uy\u3AF6\u3AFBte\u803B\xFD\u40FD;\u444F\u0100iy\u3B02\u3B06rc;\u4177;\u444Bn\u803B\xA5\u40A5r;\uC000\u{1D536}cy;\u4457pf;\uC000\u{1D56A}cr;\uC000\u{1D4CE}\u0100cm\u3B26\u3B29y;\u444El\u803B\xFF\u40FF\u0500acdefhiosw\u3B42\u3B48\u3B54\u3B58\u3B64\u3B69\u3B6D\u3B74\u3B7A\u3B80cute;\u417A\u0100ay\u3B4D\u3B52ron;\u417E;\u4437ot;\u417C\u0100et\u3B5D\u3B61tr\xE6\u155Fa;\u43B6r;\uC000\u{1D537}cy;\u4436grarr;\u61DDpf;\uC000\u{1D56B}cr;\uC000\u{1D4CF}\u0100jn\u3B85\u3B87;\u600Dj;\u600C'.split("").map(u=>u.charCodeAt(0)));var Je=new Uint16Array("\u0200aglq \x1B\u026D\0\0p;\u4026os;\u4027t;\u403Et;\u403Cuot;\u4022".split("").map(u=>u.charCodeAt(0)));var Iu,xn=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),re=(Iu=String.fromCodePoint)!==null&&Iu!==void 0?Iu:function(u){let e="";return u>65535&&(u-=65536,e+=String.fromCharCode(u>>>10&1023|55296),u=56320|u&1023),e+=String.fromCharCode(u),e};function ve(u){var e;return u>=55296&&u<=57343||u>1114111?65533:(e=xn.get(u))!==null&&e!==void 0?e:u}var D;(function(u){u[u.NUM=35]="NUM",u[u.SEMI=59]="SEMI",u[u.EQUALS=61]="EQUALS",u[u.ZERO=48]="ZERO",u[u.NINE=57]="NINE",u[u.LOWER_A=97]="LOWER_A",u[u.LOWER_F=102]="LOWER_F",u[u.LOWER_X=120]="LOWER_X",u[u.LOWER_Z=122]="LOWER_Z",u[u.UPPER_A=65]="UPPER_A",u[u.UPPER_F=70]="UPPER_F",u[u.UPPER_Z=90]="UPPER_Z"})(D||(D={}));var yn=32,C;(function(u){u[u.VALUE_LENGTH=49152]="VALUE_LENGTH",u[u.BRANCH_LENGTH=16256]="BRANCH_LENGTH",u[u.JUMP_TABLE=127]="JUMP_TABLE"})(C||(C={}));function qu(u){return u>=D.ZERO&&u<=D.NINE}function An(u){return u>=D.UPPER_A&&u<=D.UPPER_F||u>=D.LOWER_A&&u<=D.LOWER_F}function wn(u){return u>=D.UPPER_A&&u<=D.UPPER_Z||u>=D.LOWER_A&&u<=D.LOWER_Z||qu(u)}function Dn(u){return u===D.EQUALS||wn(u)}var w;(function(u){u[u.EntityStart=0]="EntityStart",u[u.NumericStart=1]="NumericStart",u[u.NumericDecimal=2]="NumericDecimal",u[u.NumericHex=3]="NumericHex",u[u.NamedEntity=4]="NamedEntity"})(w||(w={}));var _;(function(u){u[u.Legacy=0]="Legacy",u[u.Strict=1]="Strict",u[u.Attribute=2]="Attribute"})(_||(_={}));var Ke=class{constructor(e,t,r){this.decodeTree=e,this.emitCodePoint=t,this.errors=r,this.state=w.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=_.Strict}startEntity(e){this.decodeMode=e,this.state=w.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(e,t){switch(this.state){case w.EntityStart:return e.charCodeAt(t)===D.NUM?(this.state=w.NumericStart,this.consumed+=1,this.stateNumericStart(e,t+1)):(this.state=w.NamedEntity,this.stateNamedEntity(e,t));case w.NumericStart:return this.stateNumericStart(e,t);case w.NumericDecimal:return this.stateNumericDecimal(e,t);case w.NumericHex:return this.stateNumericHex(e,t);case w.NamedEntity:return this.stateNamedEntity(e,t)}}stateNumericStart(e,t){return t>=e.length?-1:(e.charCodeAt(t)|yn)===D.LOWER_X?(this.state=w.NumericHex,this.consumed+=1,this.stateNumericHex(e,t+1)):(this.state=w.NumericDecimal,this.stateNumericDecimal(e,t))}addToNumericResult(e,t,r,a){if(t!==r){let s=r-t;this.result=this.result*Math.pow(a,s)+parseInt(e.substr(t,s),a),this.consumed+=s}}stateNumericHex(e,t){let r=t;for(;t>14;for(;t>14,s!==0){if(n===D.SEMI)return this.emitNamedEntityData(this.treeIndex,s,this.consumed+this.excess);this.decodeMode!==_.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var e;let{result:t,decodeTree:r}=this,a=(r[t]&C.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,a,this.consumed),(e=this.errors)===null||e===void 0||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,t,r){let{decodeTree:a}=this;return this.emitCodePoint(t===1?a[e]&~C.VALUE_LENGTH:a[e+1],r),t===3&&this.emitCodePoint(a[e+2],r),r}end(){var e;switch(this.state){case w.NamedEntity:return this.result!==0&&(this.decodeMode!==_.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case w.NumericDecimal:return this.emitNumericEntity(0,2);case w.NumericHex:return this.emitNumericEntity(0,3);case w.NumericStart:return(e=this.errors)===null||e===void 0||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case w.EntityStart:return 0}}};function jt(u){let e="",t=new Ke(u,r=>e+=re(r));return function(a,s){let n=0,i=0;for(;(i=a.indexOf("&",i))>=0;){e+=a.slice(n,i),t.startEntity(s);let c=t.write(a,i+1);if(c<0){n=i+t.end();break}n=i+c,i=c===0?n+1:n}let o=e+a.slice(n);return e="",o}}function Ru(u,e,t,r){let a=(e&C.BRANCH_LENGTH)>>7,s=e&C.JUMP_TABLE;if(a===0)return s!==0&&r===s?t:-1;if(s){let o=r-s;return o<0||o>=a?-1:u[t+o]-1}let n=t,i=n+a-1;for(;n<=i;){let o=n+i>>>1,c=u[o];if(cr)i=o-1;else return u[o+a]}return-1}var V0=jt(ze),H0=jt(Je);var f;(function(u){u[u.Tab=9]="Tab",u[u.NewLine=10]="NewLine",u[u.FormFeed=12]="FormFeed",u[u.CarriageReturn=13]="CarriageReturn",u[u.Space=32]="Space",u[u.ExclamationMark=33]="ExclamationMark",u[u.Number=35]="Number",u[u.Amp=38]="Amp",u[u.SingleQuote=39]="SingleQuote",u[u.DoubleQuote=34]="DoubleQuote",u[u.Dash=45]="Dash",u[u.Slash=47]="Slash",u[u.Zero=48]="Zero",u[u.Nine=57]="Nine",u[u.Semi=59]="Semi",u[u.Lt=60]="Lt",u[u.Eq=61]="Eq",u[u.Gt=62]="Gt",u[u.Questionmark=63]="Questionmark",u[u.UpperA=65]="UpperA",u[u.LowerA=97]="LowerA",u[u.UpperF=70]="UpperF",u[u.LowerF=102]="LowerF",u[u.UpperZ=90]="UpperZ",u[u.LowerZ=122]="LowerZ",u[u.LowerX=120]="LowerX",u[u.OpeningSquareBracket=91]="OpeningSquareBracket"})(f||(f={}));var d;(function(u){u[u.Text=1]="Text",u[u.BeforeTagName=2]="BeforeTagName",u[u.InTagName=3]="InTagName",u[u.InSelfClosingTag=4]="InSelfClosingTag",u[u.BeforeClosingTagName=5]="BeforeClosingTagName",u[u.InClosingTagName=6]="InClosingTagName",u[u.AfterClosingTagName=7]="AfterClosingTagName",u[u.BeforeAttributeName=8]="BeforeAttributeName",u[u.InAttributeName=9]="InAttributeName",u[u.AfterAttributeName=10]="AfterAttributeName",u[u.BeforeAttributeValue=11]="BeforeAttributeValue",u[u.InAttributeValueDq=12]="InAttributeValueDq",u[u.InAttributeValueSq=13]="InAttributeValueSq",u[u.InAttributeValueNq=14]="InAttributeValueNq",u[u.BeforeDeclaration=15]="BeforeDeclaration",u[u.InDeclaration=16]="InDeclaration",u[u.InProcessingInstruction=17]="InProcessingInstruction",u[u.BeforeComment=18]="BeforeComment",u[u.CDATASequence=19]="CDATASequence",u[u.InSpecialComment=20]="InSpecialComment",u[u.InCommentLike=21]="InCommentLike",u[u.BeforeSpecialS=22]="BeforeSpecialS",u[u.SpecialStartSequence=23]="SpecialStartSequence",u[u.InSpecialTag=24]="InSpecialTag",u[u.BeforeEntity=25]="BeforeEntity",u[u.BeforeNumericEntity=26]="BeforeNumericEntity",u[u.InNamedEntity=27]="InNamedEntity",u[u.InNumericEntity=28]="InNumericEntity",u[u.InHexEntity=29]="InHexEntity"})(d||(d={}));function F(u){return u===f.Space||u===f.NewLine||u===f.Tab||u===f.FormFeed||u===f.CarriageReturn}function Qe(u){return u===f.Slash||u===f.Gt||F(u)}function Wt(u){return u>=f.Zero&&u<=f.Nine}function En(u){return u>=f.LowerA&&u<=f.LowerZ||u>=f.UpperA&&u<=f.UpperZ}function vn(u){return u>=f.UpperA&&u<=f.UpperF||u>=f.LowerA&&u<=f.LowerF}var S;(function(u){u[u.NoValue=0]="NoValue",u[u.Unquoted=1]="Unquoted",u[u.Single=2]="Single",u[u.Double=3]="Double"})(S||(S={}));var k={Cdata:new Uint8Array([67,68,65,84,65,91]),CdataEnd:new Uint8Array([93,93,62]),CommentEnd:new Uint8Array([45,45,62]),ScriptEnd:new Uint8Array([60,47,115,99,114,105,112,116]),StyleEnd:new Uint8Array([60,47,115,116,121,108,101]),TitleEnd:new Uint8Array([60,47,116,105,116,108,101])},ae=class{constructor({xmlMode:e=!1,decodeEntities:t=!0},r){this.cbs=r,this.state=d.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=d.Text,this.isSpecial=!1,this.running=!0,this.offset=0,this.currentSequence=void 0,this.sequenceIndex=0,this.trieIndex=0,this.trieCurrent=0,this.entityResult=0,this.entityExcess=0,this.xmlMode=e,this.decodeEntities=t,this.entityTrie=e?Je:ze}reset(){this.state=d.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=d.Text,this.currentSequence=void 0,this.running=!0,this.offset=0}write(e){this.offset+=this.buffer.length,this.buffer=e,this.parse()}end(){this.running&&this.finish()}pause(){this.running=!1}resume(){this.running=!0,this.indexthis.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=d.BeforeTagName,this.sectionStart=this.index):this.decodeEntities&&e===f.Amp&&(this.state=d.BeforeEntity)}stateSpecialStartSequence(e){let t=this.sequenceIndex===this.currentSequence.length;if(!(t?Qe(e):(e|32)===this.currentSequence[this.sequenceIndex]))this.isSpecial=!1;else if(!t){this.sequenceIndex++;return}this.sequenceIndex=0,this.state=d.InTagName,this.stateInTagName(e)}stateInSpecialTag(e){if(this.sequenceIndex===this.currentSequence.length){if(e===f.Gt||F(e)){let t=this.index-this.currentSequence.length;if(this.sectionStart>14)-1;if(!this.allowLegacyEntity()&&e!==f.Semi)this.trieIndex+=r;else{let a=this.index-this.entityExcess+1;a>this.sectionStart&&this.emitPartial(this.sectionStart,a),this.entityResult=this.trieIndex,this.trieIndex+=r,this.entityExcess=0,this.sectionStart=this.index+1,r===0&&this.emitNamedEntity()}}}emitNamedEntity(){if(this.state=this.baseState,this.entityResult===0)return;switch((this.entityTrie[this.entityResult]&C.VALUE_LENGTH)>>14){case 1:{this.emitCodePoint(this.entityTrie[this.entityResult]&~C.VALUE_LENGTH);break}case 2:{this.emitCodePoint(this.entityTrie[this.entityResult+1]);break}case 3:this.emitCodePoint(this.entityTrie[this.entityResult+1]),this.emitCodePoint(this.entityTrie[this.entityResult+2])}}stateBeforeNumericEntity(e){(e|32)===f.LowerX?(this.entityExcess++,this.state=d.InHexEntity):(this.state=d.InNumericEntity,this.stateInNumericEntity(e))}emitNumericEntity(e){let t=this.index-this.entityExcess-1;t+2+ +(this.state===d.InHexEntity)!==this.index&&(t>this.sectionStart&&this.emitPartial(this.sectionStart,t),this.sectionStart=this.index+Number(e),this.emitCodePoint(ve(this.entityResult))),this.state=this.baseState}stateInNumericEntity(e){e===f.Semi?this.emitNumericEntity(!0):Wt(e)?(this.entityResult=this.entityResult*10+(e-f.Zero),this.entityExcess++):(this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state=this.baseState,this.index--)}stateInHexEntity(e){e===f.Semi?this.emitNumericEntity(!0):Wt(e)?(this.entityResult=this.entityResult*16+(e-f.Zero),this.entityExcess++):vn(e)?(this.entityResult=this.entityResult*16+((e|32)-f.LowerA+10),this.entityExcess++):(this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state=this.baseState,this.index--)}allowLegacyEntity(){return!this.xmlMode&&(this.baseState===d.Text||this.baseState===d.InSpecialTag)}cleanup(){this.running&&this.sectionStart!==this.index&&(this.state===d.Text||this.state===d.InSpecialTag&&this.sequenceIndex===0?(this.cbs.ontext(this.sectionStart,this.index),this.sectionStart=this.index):(this.state===d.InAttributeValueDq||this.state===d.InAttributeValueSq||this.state===d.InAttributeValueNq)&&(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=this.index))}shouldContinue(){return this.index0&&n.has(this.stack[this.stack.length-1]);){let i=this.stack.pop();(r=(t=this.cbs).onclosetag)===null||r===void 0||r.call(t,i,!0)}this.isVoidElement(e)||(this.stack.push(e),Kt.has(e)?this.foreignContext.push(!0):Qt.has(e)&&this.foreignContext.push(!1)),(s=(a=this.cbs).onopentagname)===null||s===void 0||s.call(a,e),this.cbs.onopentag&&(this.attribs={})}endOpenTag(e){var t,r;this.startIndex=this.openTagStart,this.attribs&&((r=(t=this.cbs).onopentag)===null||r===void 0||r.call(t,this.tagname,this.attribs,e),this.attribs=null),this.cbs.onclosetag&&this.isVoidElement(this.tagname)&&this.cbs.onclosetag(this.tagname,!0),this.tagname=""}onopentagend(e){this.endIndex=e,this.endOpenTag(!1),this.startIndex=e+1}onclosetag(e,t){var r,a,s,n,i,o;this.endIndex=t;let c=this.getSlice(e,t);if(this.lowerCaseTagNames&&(c=c.toLowerCase()),(Kt.has(c)||Qt.has(c))&&this.foreignContext.pop(),this.isVoidElement(c))!this.options.xmlMode&&c==="br"&&((a=(r=this.cbs).onopentagname)===null||a===void 0||a.call(r,"br"),(n=(s=this.cbs).onopentag)===null||n===void 0||n.call(s,"br",{},!0),(o=(i=this.cbs).onclosetag)===null||o===void 0||o.call(i,"br",!1));else{let l=this.stack.lastIndexOf(c);if(l!==-1)if(this.cbs.onclosetag){let h=this.stack.length-l;for(;h--;)this.cbs.onclosetag(this.stack.pop(),h!==0)}else this.stack.length=l;else!this.options.xmlMode&&c==="p"&&(this.emitOpenTag("p"),this.closeCurrentTag(!0))}this.startIndex=t+1}onselfclosingtag(e){this.endIndex=e,this.options.xmlMode||this.options.recognizeSelfClosing||this.foreignContext[this.foreignContext.length-1]?(this.closeCurrentTag(!1),this.startIndex=e+1):this.onopentagend(e)}closeCurrentTag(e){var t,r;let a=this.tagname;this.endOpenTag(e),this.stack[this.stack.length-1]===a&&((r=(t=this.cbs).onclosetag)===null||r===void 0||r.call(t,a,!e),this.stack.pop())}onattribname(e,t){this.startIndex=e;let r=this.getSlice(e,t);this.attribname=this.lowerCaseAttributeNames?r.toLowerCase():r}onattribdata(e,t){this.attribvalue+=this.getSlice(e,t)}onattribentity(e){this.attribvalue+=re(e)}onattribend(e,t){var r,a;this.endIndex=t,(a=(r=this.cbs).onattribute)===null||a===void 0||a.call(r,this.attribname,this.attribvalue,e===S.Double?'"':e===S.Single?"'":e===S.NoValue?void 0:null),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribvalue=""}getInstructionName(e){let t=e.search(Cn),r=t<0?e:e.substr(0,t);return this.lowerCaseTagNames&&(r=r.toLowerCase()),r}ondeclaration(e,t){this.endIndex=t;let r=this.getSlice(e,t);if(this.cbs.onprocessinginstruction){let a=this.getInstructionName(r);this.cbs.onprocessinginstruction(`!${a}`,`!${r}`)}this.startIndex=t+1}onprocessinginstruction(e,t){this.endIndex=t;let r=this.getSlice(e,t);if(this.cbs.onprocessinginstruction){let a=this.getInstructionName(r);this.cbs.onprocessinginstruction(`?${a}`,`?${r}`)}this.startIndex=t+1}oncomment(e,t,r){var a,s,n,i;this.endIndex=t,(s=(a=this.cbs).oncomment)===null||s===void 0||s.call(a,this.getSlice(e,t-r)),(i=(n=this.cbs).oncommentend)===null||i===void 0||i.call(n),this.startIndex=t+1}oncdata(e,t,r){var a,s,n,i,o,c,l,h,m,p;this.endIndex=t;let x=this.getSlice(e,t-r);this.options.xmlMode||this.options.recognizeCDATA?((s=(a=this.cbs).oncdatastart)===null||s===void 0||s.call(a),(i=(n=this.cbs).ontext)===null||i===void 0||i.call(n,x),(c=(o=this.cbs).oncdataend)===null||c===void 0||c.call(o)):((h=(l=this.cbs).oncomment)===null||h===void 0||h.call(l,`[CDATA[${x}]]`),(p=(m=this.cbs).oncommentend)===null||p===void 0||p.call(m)),this.startIndex=t+1}onend(){var e,t;if(this.cbs.onclosetag){this.endIndex=this.startIndex;for(let r=this.stack.length;r>0;this.cbs.onclosetag(this.stack[--r],!0));}(t=(e=this.cbs).onend)===null||t===void 0||t.call(e)}reset(){var e,t,r,a;(t=(e=this.cbs).onreset)===null||t===void 0||t.call(e),this.tokenizer.reset(),this.tagname="",this.attribname="",this.attribs=null,this.stack.length=0,this.startIndex=0,this.endIndex=0,(a=(r=this.cbs).onparserinit)===null||a===void 0||a.call(r,this),this.buffers.length=0,this.bufferOffset=0,this.writeIndex=0,this.ended=!1}parseComplete(e){this.reset(),this.end(e)}getSlice(e,t){for(;e-this.bufferOffset>=this.buffers[0].length;)this.shiftBuffer();let r=this.buffers[0].slice(e-this.bufferOffset,t-this.bufferOffset);for(;t-this.bufferOffset>this.buffers[0].length;)this.shiftBuffer(),r+=this.buffers[0].slice(0,t-this.bufferOffset);return r}shiftBuffer(){this.bufferOffset+=this.buffers[0].length,this.writeIndex--,this.buffers.shift()}write(e){var t,r;if(this.ended){(r=(t=this.cbs).onerror)===null||r===void 0||r.call(t,new Error(".write() after done!"));return}this.buffers.push(e),this.tokenizer.running&&(this.tokenizer.write(e),this.writeIndex++)}end(e){var t,r;if(this.ended){(r=(t=this.cbs).onerror)===null||r===void 0||r.call(t,new Error(".end() after done!"));return}e&&this.write(e),this.ended=!0,this.tokenizer.end()}pause(){this.tokenizer.pause()}resume(){for(this.tokenizer.resume();this.tokenizer.running&&this.writeIndex$\x80-\uFFFF]/g,Zt=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]),Xt=String.prototype.codePointAt!=null?(u,e)=>u.codePointAt(e):(u,e)=>(u.charCodeAt(e)&64512)===55296?(u.charCodeAt(e)-55296)*1024+u.charCodeAt(e+1)-56320+65536:u.charCodeAt(e);function Be(u){let e="",t=0,r;for(;(r=_u.exec(u))!==null;){let a=r.index,s=u.charCodeAt(a),n=Zt.get(s);n!==void 0?(e+=u.substring(t,a)+n,t=a+1):(e+=`${u.substring(t,a)}&#x${Xt(u,a).toString(16)};`,t=_u.lastIndex+=+((s&64512)===55296))}return e+u.substr(t)}function Fu(u,e){return function(r){let a,s=0,n="";for(;a=u.exec(r);)s!==a.index&&(n+=r.substring(s,a.index)),n+=e.get(a[0].charCodeAt(0)),s=a.index+1;return n+r.substring(s)}}var Yt=Fu(/[&<>'"]/g,Zt),Xe=Fu(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),Ye=Fu(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]]));var er;(function(u){u[u.XML=0]="XML",u[u.HTML=1]="HTML"})(er||(er={}));var ur;(function(u){u[u.UTF8=0]="UTF8",u[u.ASCII=1]="ASCII",u[u.Extensive=2]="Extensive",u[u.Attribute=3]="Attribute",u[u.Text=4]="Text"})(ur||(ur={}));var ar=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(u=>[u.toLowerCase(),u])),nr=new Map(["definitionURL","attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(u=>[u.toLowerCase(),u]));var Sn=new Set(["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"]);function Nn(u){return u.replace(/"/g,""")}function In(u,e){var t;if(!u)return;let r=((t=e.encodeEntities)!==null&&t!==void 0?t:e.decodeEntities)===!1?Nn:e.xmlMode||e.encodeEntities!=="utf8"?Be:Xe;return Object.keys(u).map(a=>{var s,n;let i=(s=u[a])!==null&&s!==void 0?s:"";return e.xmlMode==="foreign"&&(a=(n=nr.get(a))!==null&&n!==void 0?n:a),!e.emptyAttrs&&!e.xmlMode&&i===""?a:`${a}="${r(i)}"`}).join(" ")}var sr=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]);function Ce(u,e={}){let t="length"in u?u:[u],r="";for(let a=0;a0&&(r+=Ce(u.children,e)),(e.xmlMode||!sr.has(u.name))&&(r+=``)),r}function Pn(u){return`<${u.data}>`}function Mn(u,e){var t;let r=u.data||"";return((t=e.encodeEntities)!==null&&t!==void 0?t:e.decodeEntities)!==!1&&!(!e.xmlMode&&u.parent&&Sn.has(u.parent.name))&&(r=e.xmlMode||e.encodeEntities!=="utf8"?Be(r):Ye(r)),r}function On(u){return``}function Un(u){return``}var ir;(function(u){u[u.DISCONNECTED=1]="DISCONNECTED",u[u.PRECEDING=2]="PRECEDING",u[u.FOLLOWING=4]="FOLLOWING",u[u.CONTAINS=8]="CONTAINS",u[u.CONTAINED_BY=16]="CONTAINED_BY"})(ir||(ir={}));function or(u,e){let t=new Z(void 0,e);return new ke(t,e).end(u),t.root}var Wu=ia(fr(),1);function Gu(u,e,t=()=>{}){if(u===void 0){let r=function(...a){return e(r,...a)};return r}return u>=0?function(...r){return e(Gu(u-1,e,t),...r)}:t}function gr(u,e){let t=0,r=u.length;for(;tt&&u[r-1]===e;)--r;return t>0||r0&&u[t-1]===e;)--t;return t"\\u"+e.charCodeAt().toString(16).padStart(4,"0"))}function xr(u,e){let t=new Map;for(let r=u.length;r-- >0;){let a=u[r],s=e(a);t.set(s,t.has(s)?(0,Wu.default)(a,t.get(s),{arrayMerge:as}):a)}return[...t.values()].reverse()}var as=(u,e,t)=>[...e];function ie(u,e){for(let t of e){if(!u)return;u=u[t]}return u}function hr(u,e="a",t=26){let r=[];do u-=1,r.push(u%t),u=u/t>>0;while(u>0);let a=e.charCodeAt(0);return r.reverse().map(s=>String.fromCharCode(a+s)).join("")}var Ou=["I","X","C","M"],pr=["V","L","D"];function mr(u){return[...u+""].map(e=>+e).reverse().map((e,t)=>e%5<4?(e<5?"":pr[t])+Ou[t].repeat(e%5):Ou[t]+(e<5?pr[t]:Ou[t+1])).reverse().join("")}var tu=class{constructor(e,t=void 0){this.lines=[],this.nextLineWords=[],this.maxLineLength=t||e.wordwrap||Number.MAX_VALUE,this.nextLineAvailableChars=this.maxLineLength,this.wrapCharacters=ie(e,["longWordSplit","wrapCharacters"])||[],this.forceWrapOnLimit=ie(e,["longWordSplit","forceWrapOnLimit"])||!1,this.stashedSpace=!1,this.wordBreakOpportunity=!1}pushWord(e,t=!1){this.nextLineAvailableChars<=0&&!t&&this.startNewLine();let r=this.nextLineWords.length===0,a=e.length+(r?0:1);if(a<=this.nextLineAvailableChars||t)this.nextLineWords.push(e),this.nextLineAvailableChars-=a;else{let[s,...n]=this.splitLongWord(e);r||this.startNewLine(),this.nextLineWords.push(s),this.nextLineAvailableChars-=s.length;for(let i of n)this.startNewLine(),this.nextLineWords.push(i),this.nextLineAvailableChars-=i.length}}popWord(){let e=this.nextLineWords.pop();if(e!==void 0){let t=this.nextLineWords.length===0,r=e.length+(t?0:1);this.nextLineAvailableChars+=r}return e}concatWord(e,t=!1){if(this.wordBreakOpportunity&&e.length>this.nextLineAvailableChars)this.pushWord(e,t),this.wordBreakOpportunity=!1;else{let r=this.popWord();this.pushWord(r?r.concat(e):e,t)}}startNewLine(e=1){this.lines.push(this.nextLineWords),e>1&&this.lines.push(...Array.from({length:e-1},()=>[])),this.nextLineWords=[],this.nextLineAvailableChars=this.maxLineLength}isEmpty(){return this.lines.length===0&&this.nextLineWords.length===0}clear(){this.lines.length=0,this.nextLineWords.length=0,this.nextLineAvailableChars=this.maxLineLength}toString(){return[...this.lines,this.nextLineWords].map(e=>e.join(" ")).join(` -`)}splitLongWord(e){let t=[],r=0;for(;e.length>this.maxLineLength;){let a=e.substring(0,this.maxLineLength),s=e.substring(this.maxLineLength),n=a.lastIndexOf(this.wrapCharacters[r]);if(n>-1)e=a.substring(n+1)+s,t.push(a.substring(0,n+1));else if(r++,rthis.maxLineLength)continue}else e=a+s;break}}return t.push(e),t}},j=class{constructor(e=null){this.next=e}getRoot(){return this.next?this.next:this}},T=class extends j{constructor(e,t=null,r=1,a=void 0){super(t),this.leadingLineBreaks=r,this.inlineTextBuilder=new tu(e,a),this.rawText="",this.stashedLineBreaks=0,this.isPre=t&&t.isPre,this.isNoWrap=t&&t.isNoWrap}},ru=class extends T{constructor(e,t=null,{interRowLineBreaks:r=1,leadingLineBreaks:a=2,maxLineLength:s=void 0,maxPrefixLength:n=0,prefixAlign:i="left"}={}){super(e,t,a,s),this.maxPrefixLength=n,this.prefixAlign=i,this.interRowLineBreaks=r}},P=class extends T{constructor(e,t=null,{leadingLineBreaks:r=1,maxLineLength:a=void 0,prefix:s=""}={}){super(e,t,r,a),this.prefix=s}},au=class extends j{constructor(e=null){super(e),this.rows=[],this.isPre=e&&e.isPre,this.isNoWrap=e&&e.isNoWrap}},nu=class extends j{constructor(e=null){super(e),this.cells=[],this.isPre=e&&e.isPre,this.isNoWrap=e&&e.isNoWrap}},M=class extends j{constructor(e,t=null,r=void 0){super(t),this.inlineTextBuilder=new tu(e,r),this.rawText="",this.stashedLineBreaks=0,this.isPre=t&&t.isPre,this.isNoWrap=t&&t.isNoWrap}},Uu=class extends j{constructor(e=null,t){super(e),this.transform=t}};function ns(u){return[...u].map(e=>"\\u"+e.charCodeAt(0).toString(16).padStart(4,"0")).join("")}var $u=class{constructor(e){this.whitespaceChars=e.preserveNewlines?e.whitespaceCharacters.replace(/\n/g,""):e.whitespaceCharacters;let t=ns(this.whitespaceChars);if(this.leadingWhitespaceRe=new RegExp(`^[${t}]`),this.trailingWhitespaceRe=new RegExp(`[${t}]$`),this.allWhitespaceOrEmptyRe=new RegExp(`^[${t}]*$`),this.newlineOrNonWhitespaceRe=new RegExp(`(\\n|[^\\n${t}])`,"g"),this.newlineOrNonNewlineStringRe=new RegExp("(\\n|[^\\n]+)","g"),e.preserveNewlines){let r=new RegExp(`\\n|[^\\n${t}]+`,"gm");this.shrinkWrapAdd=function(a,s,n=o=>o,i=!1){if(!a)return;let o=s.stashedSpace,c=!1,l=r.exec(a);if(l)for(c=!0,l[0]===` -`?s.startNewLine():o||this.testLeadingWhitespace(a)?s.pushWord(n(l[0]),i):s.concatWord(n(l[0]),i);(l=r.exec(a))!==null;)l[0]===` -`?s.startNewLine():s.pushWord(n(l[0]),i);s.stashedSpace=o&&!c||this.testTrailingWhitespace(a)}}else{let r=new RegExp(`[^${t}]+`,"g");this.shrinkWrapAdd=function(a,s,n=o=>o,i=!1){if(!a)return;let o=s.stashedSpace,c=!1,l=r.exec(a);if(l)for(c=!0,o||this.testLeadingWhitespace(a)?s.pushWord(n(l[0]),i):s.concatWord(n(l[0]),i);(l=r.exec(a))!==null;)s.pushWord(n(l[0]),i);s.stashedSpace=o&&!c||this.testTrailingWhitespace(a)}}}addLiteral(e,t,r=!0){if(!e)return;let a=t.stashedSpace,s=!1,n=this.newlineOrNonNewlineStringRe.exec(e);if(n)for(s=!0,n[0]===` -`?t.startNewLine():a?t.pushWord(n[0],r):t.concatWord(n[0],r);(n=this.newlineOrNonNewlineStringRe.exec(e))!==null;)n[0]===` -`?t.startNewLine():t.pushWord(n[0],r);t.stashedSpace=a&&!s}testLeadingWhitespace(e){return this.leadingWhitespaceRe.test(e)}testTrailingWhitespace(e){return this.trailingWhitespaceRe.test(e)}testContainsWords(e){return!this.allWhitespaceOrEmptyRe.test(e)}countNewlinesNoWords(e){this.newlineOrNonWhitespaceRe.lastIndex=0;let t=0,r;for(;(r=this.newlineOrNonWhitespaceRe.exec(e))!==null;)if(r[0]===` -`)t++;else return 0;return t}},Vu=class{constructor(e,t,r=void 0){this.options=e,this.picker=t,this.metadata=r,this.whitespaceProcessor=new $u(e),this._stackItem=new T(e),this._wordTransformer=void 0}pushWordTransform(e){this._wordTransformer=new Uu(this._wordTransformer,e)}popWordTransform(){if(!this._wordTransformer)return;let e=this._wordTransformer.transform;return this._wordTransformer=this._wordTransformer.next,e}startNoWrap(){this._stackItem.isNoWrap=!0}stopNoWrap(){this._stackItem.isNoWrap=!1}_getCombinedWordTransformer(){let e=this._wordTransformer?r=>yr(r,this._wordTransformer):void 0,t=this.options.encodeCharacters;return e?t?r=>t(e(r)):e:t}_popStackItem(){let e=this._stackItem;return this._stackItem=e.next,e}addLineBreak(){(this._stackItem instanceof T||this._stackItem instanceof P||this._stackItem instanceof M)&&(this._stackItem.isPre?this._stackItem.rawText+=` -`:this._stackItem.inlineTextBuilder.startNewLine())}addWordBreakOpportunity(){(this._stackItem instanceof T||this._stackItem instanceof P||this._stackItem instanceof M)&&(this._stackItem.inlineTextBuilder.wordBreakOpportunity=!0)}addInline(e,{noWordTransform:t=!1}={}){if(this._stackItem instanceof T||this._stackItem instanceof P||this._stackItem instanceof M){if(this._stackItem.isPre){this._stackItem.rawText+=e;return}if(!(e.length===0||this._stackItem.stashedLineBreaks&&!this.whitespaceProcessor.testContainsWords(e))){if(this.options.preserveNewlines){let r=this.whitespaceProcessor.countNewlinesNoWords(e);if(r>0){this._stackItem.inlineTextBuilder.startNewLine(r);return}}this._stackItem.stashedLineBreaks&&this._stackItem.inlineTextBuilder.startNewLine(this._stackItem.stashedLineBreaks),this.whitespaceProcessor.shrinkWrapAdd(e,this._stackItem.inlineTextBuilder,t?void 0:this._getCombinedWordTransformer(),this._stackItem.isNoWrap),this._stackItem.stashedLineBreaks=0}}}addLiteral(e){if((this._stackItem instanceof T||this._stackItem instanceof P||this._stackItem instanceof M)&&e.length!==0){if(this._stackItem.isPre){this._stackItem.rawText+=e;return}this._stackItem.stashedLineBreaks&&this._stackItem.inlineTextBuilder.startNewLine(this._stackItem.stashedLineBreaks),this.whitespaceProcessor.addLiteral(e,this._stackItem.inlineTextBuilder,this._stackItem.isNoWrap),this._stackItem.stashedLineBreaks=0}}openBlock({leadingLineBreaks:e=1,reservedLineLength:t=0,isPre:r=!1}={}){let a=Math.max(20,this._stackItem.inlineTextBuilder.maxLineLength-t);this._stackItem=new T(this.options,this._stackItem,e,a),r&&(this._stackItem.isPre=!0)}closeBlock({trailingLineBreaks:e=1,blockTransform:t=void 0}={}){let r=this._popStackItem(),a=t?t(H(r)):H(r);uu(this._stackItem,a,r.leadingLineBreaks,Math.max(r.stashedLineBreaks,e))}openList({maxPrefixLength:e=0,prefixAlign:t="left",interRowLineBreaks:r=1,leadingLineBreaks:a=2}={}){this._stackItem=new ru(this.options,this._stackItem,{interRowLineBreaks:r,leadingLineBreaks:a,maxLineLength:this._stackItem.inlineTextBuilder.maxLineLength,maxPrefixLength:e,prefixAlign:t})}openListItem({prefix:e=""}={}){if(!(this._stackItem instanceof ru))throw new Error("Can't add a list item to something that is not a list! Check the formatter.");let t=this._stackItem,r=Math.max(e.length,t.maxPrefixLength),a=Math.max(20,t.inlineTextBuilder.maxLineLength-r);this._stackItem=new P(this.options,t,{prefix:e,maxLineLength:a,leadingLineBreaks:t.interRowLineBreaks})}closeListItem(){let e=this._popStackItem(),t=e.next,r=Math.max(e.prefix.length,t.maxPrefixLength),a=` -`+" ".repeat(r),n=(t.prefixAlign==="right"?e.prefix.padStart(r):e.prefix.padEnd(r))+H(e).replace(/\n/g,a);uu(t,n,e.leadingLineBreaks,Math.max(e.stashedLineBreaks,t.interRowLineBreaks))}closeList({trailingLineBreaks:e=2}={}){let t=this._popStackItem(),r=H(t);r&&uu(this._stackItem,r,t.leadingLineBreaks,e)}openTable(){this._stackItem=new au(this._stackItem)}openTableRow(){if(!(this._stackItem instanceof au))throw new Error("Can't add a table row to something that is not a table! Check the formatter.");this._stackItem=new nu(this._stackItem)}openTableCell({maxColumnWidth:e=void 0}={}){if(!(this._stackItem instanceof nu))throw new Error("Can't add a table cell to something that is not a table row! Check the formatter.");this._stackItem=new M(this.options,this._stackItem,e)}closeTableCell({colspan:e=1,rowspan:t=1}={}){let r=this._popStackItem(),a=gr(H(r),` -`);r.next.cells.push({colspan:e,rowspan:t,text:a})}closeTableRow(){let e=this._popStackItem();e.next.rows.push(e.cells)}closeTable({tableToString:e,leadingLineBreaks:t=2,trailingLineBreaks:r=2}){let a=this._popStackItem(),s=e(a.rows);s&&uu(this._stackItem,s,t,r)}toString(){return H(this._stackItem.getRoot())}};function H(u){if(!(u instanceof T||u instanceof P||u instanceof M))throw new Error("Only blocks, list items and table cells can be requested for text contents.");return u.inlineTextBuilder.isEmpty()?u.rawText:u.rawText+u.inlineTextBuilder.toString()}function uu(u,e,t,r){if(!(u instanceof T||u instanceof P||u instanceof M))throw new Error("Only blocks, list items and table cells can contain text.");let a=H(u),s=Math.max(u.stashedLineBreaks,t);u.inlineTextBuilder.clear(),a?u.rawText=a+` -`.repeat(s)+e:(u.rawText=e,u.leadingLineBreaks=s),u.stashedLineBreaks=r}function yr(u,e){return e?yr(e.transform(u),e.next):u}function ss(u={}){let e=u.selectors.filter(n=>!n.format);if(e.length)throw new Error("Following selectors have no specified format: "+e.map(n=>`\`${n.selector}\``).join(", "));let t=new Ee(u.selectors.map(n=>[n.selector,n])).build(Nu);typeof u.encodeCharacters!="function"&&(u.encodeCharacters=ls(u.encodeCharacters));let r=new Ee(u.baseElements.selectors.map((n,i)=>[n,i+1])).build(Nu);function a(n){return os(n,u,r)}let s=Gu(u.limits.maxDepth,cs,function(n,i){i.addInline(u.limits.ellipsis||"")});return function(n,i=void 0){return is(n,i,u,t,a,s)}}function is(u,e,t,r,a,s){let n=t.limits.maxInputLength;n&&u&&u.length>n&&(console.warn(`Input length ${u.length} is above allowed limit of ${n}. Truncating without ellipsis.`),u=u.substring(0,n));let i=or(u,{decodeEntities:t.decodeEntities}),o=a(i.children),c=new Vu(t,r,e);return s(o,c),c.toString()}function os(u,e,t){let r=[];function a(n,i){i=i.slice(0,e.limits.maxChildNodes);for(let o of i){if(o.type!=="tag")continue;let c=t.pick1(o);if(c>0?r.push({selectorIndex:c,element:o}):o.children&&n(o.children),r.length>=e.limits.maxBaseElements)return}}return Gu(e.limits.maxDepth,a)(u),e.baseElements.orderBy!=="occurrence"&&r.sort((n,i)=>n.selectorIndex-i.selectorIndex),e.baseElements.returnDomByDefault&&r.length===0?u:r.map(n=>n.element)}function cs(u,e,t){if(!e)return;let r=t.options;e.length>r.limits.maxChildNodes&&(e=e.slice(0,r.limits.maxChildNodes),e.push({data:r.limits.ellipsis,type:"text"}));for(let s of e)switch(s.type){case"text":{t.addInline(s.data);break}case"tag":{let n=t.picker.pick1(s),i=r.formatters[n.format];i(s,u,t,n.options||{});break}}}function ls(u){if(!u||Object.keys(u).length===0)return;let e=Object.entries(u).filter(([,s])=>s!==!1),t=new RegExp(e.map(([s])=>`(${rs([...s][0])})`).join("|"),"g"),r=e.map(([,s])=>s),a=(s,...n)=>r[n.findIndex(i=>i)];return s=>s.replace(t,a)}function ds(u,e,t,r){}function fs(u,e,t,r){t.addLiteral(r.string||"")}function hs(u,e,t,r){t.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),t.addLiteral(r.string||""),t.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})}function ps(u,e,t,r){e(u.children,t)}function ms(u,e,t,r){t.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),e(u.children,t),t.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})}function Ar(u){let e=u.attribs&&u.attribs.length?" "+Object.entries(u.attribs).map(([t,r])=>r===""?t:`${t}=${r.replace(/"/g,""")}`).join(" "):"";return`<${u.name}${e}>`}function wr(u){return``}function bs(u,e,t,r){t.startNoWrap(),t.addLiteral(Ar(u)),t.stopNoWrap(),e(u.children,t),t.startNoWrap(),t.addLiteral(wr(u)),t.stopNoWrap()}function gs(u,e,t,r){t.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),t.startNoWrap(),t.addLiteral(Ar(u)),t.stopNoWrap(),e(u.children,t),t.startNoWrap(),t.addLiteral(wr(u)),t.stopNoWrap(),t.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})}function xs(u,e,t,r){t.startNoWrap(),t.addLiteral(Ce(u,{decodeEntities:t.options.decodeEntities})),t.stopNoWrap()}function ys(u,e,t,r){t.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),t.startNoWrap(),t.addLiteral(Ce(u,{decodeEntities:t.options.decodeEntities})),t.stopNoWrap(),t.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})}function As(u,e,t,r){t.addLiteral(r.prefix||""),e(u.children,t),t.addLiteral(r.suffix||"")}var ws=Object.freeze({__proto__:null,block:ms,blockHtml:ys,blockString:hs,blockTag:gs,inline:ps,inlineHtml:xs,inlineString:fs,inlineSurround:As,inlineTag:bs,skip:ds});function su(u,e){return u[e]||(u[e]=[]),u[e]}function Ds(u,e=0){for(;u[e];)e++;return e}function Es(u,e){for(let t=0;ta?l.length:a}Es(r,s>a?s:a);let i=[],o=[0];for(let c=0;cp?A.length:p}br(o,c,h.colspan,p+t),h.rendered=!0}l+=h.rowspan}else{let p=n[l];i[p]=i[p]||"",l++}}return i.join(` -`)}function Bs(u,e,t,r){t.addLineBreak()}function Cs(u,e,t,r){t.addWordBreakOpportunity()}function Ts(u,e,t,r){t.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),t.addInline("-".repeat(r.length||t.options.wordwrap||40)),t.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})}function Ls(u,e,t,r){t.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),e(u.children,t),t.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})}function Ss(u,e,t,r){t.openBlock({isPre:!0,leadingLineBreaks:r.leadingLineBreaks||2}),e(u.children,t),t.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})}function Ns(u,e,t,r){t.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),r.uppercase!==!1?(t.pushWordTransform(a=>a.toUpperCase()),e(u.children,t),t.popWordTransform()):e(u.children,t),t.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})}function Is(u,e,t,r){t.openBlock({leadingLineBreaks:r.leadingLineBreaks||2,reservedLineLength:2}),e(u.children,t),t.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2,blockTransform:a=>(r.trimEmptyLines!==!1?gr(a,` -`):a).split(` -`).map(s=>"> "+s).join(` -`)})}function ju(u,e){if(!e)return u;let t=typeof e[0]=="string"?e[0]:"[",r=typeof e[1]=="string"?e[1]:"]";return t+u+r}function Dr(u,e,t,r,a){let s=typeof e=="function"?e(u,r,a):u;return s[0]==="/"&&t?ts(t,"/")+s:s}function qs(u,e,t,r){let a=u.attribs||{},s=a.alt?a.alt:"",n=a.src?Dr(a.src,r.pathRewrite,r.baseUrl,t.metadata,u):"",i=n?s?s+" "+ju(n,r.linkBrackets):ju(n,r.linkBrackets):s;t.addInline(i,{noWordTransform:!0})}function Rs(u,e,t,r){function a(){if(r.ignoreHref||!u.attribs||!u.attribs.href)return"";let n=u.attribs.href.replace(/^mailto:/,"");return r.noAnchorUrl&&n[0]==="#"?"":(n=Dr(n,r.pathRewrite,r.baseUrl,t.metadata,u),n)}let s=a();if(!s)e(u.children,t);else{let n="";t.pushWordTransform(o=>(o&&(n+=o),o)),e(u.children,t),t.popWordTransform(),r.hideLinkHrefIfSameAsText&&s===n||t.addInline(n?" "+ju(s,r.linkBrackets):s,{noWordTransform:!0})}}function Er(u,e,t,r,a){let s=ie(u,["parent","name"])==="li",n=0,i=(u.children||[]).filter(o=>o.type!=="text"||!/^\s*$/.test(o.data)).map(function(o){if(o.name!=="li")return{node:o,prefix:""};let c=s?a().trimStart():a();return c.length>n&&(n=c.length),{node:o,prefix:c}});if(i.length){t.openList({interRowLineBreaks:1,leadingLineBreaks:s?1:r.leadingLineBreaks||2,maxPrefixLength:n,prefixAlign:"left"});for(let{node:o,prefix:c}of i)t.openListItem({prefix:c}),e([o],t),t.closeListItem();t.closeList({trailingLineBreaks:s?1:r.trailingLineBreaks||2})}}function _s(u,e,t,r){let a=r.itemPrefix||" * ";return Er(u,e,t,r,()=>a)}function Fs(u,e,t,r){let a=Number(u.attribs.start||"1"),s=Ps(u.attribs.type);return Er(u,e,t,r,()=>" "+s(a++)+". ")}function Ps(u="1"){switch(u){case"a":return e=>hr(e,"a");case"A":return e=>hr(e,"A");case"i":return e=>mr(e).toLowerCase();case"I":return e=>mr(e);case"1":default:return e=>e.toString()}}function Ms(u){let e=[],t=[];for(let r of u)r.startsWith(".")?e.push(r.substring(1)):r.startsWith("#")&&t.push(r.substring(1));return{classes:e,ids:t}}function Os(u,e){if(e===!0)return!0;if(!u)return!1;let{classes:t,ids:r}=Ms(e),a=(u.class||"").split(" "),s=(u.id||"").split(" ");return a.some(n=>t.includes(n))||s.some(n=>r.includes(n))}function Us(u,e,t,r){return Os(u.attribs,t.options.tables)?vr(u,e,t,r):$s(u,e,t,r)}function $s(u,e,t,r){t.openBlock({leadingLineBreaks:r.leadingLineBreaks}),e(u.children,t),t.closeBlock({trailingLineBreaks:r.trailingLineBreaks})}function vr(u,e,t,r){t.openTable(),u.children.forEach(s),t.closeTable({tableToString:n=>ks(n,r.rowSpacing??0,r.colSpacing??3),leadingLineBreaks:r.leadingLineBreaks,trailingLineBreaks:r.trailingLineBreaks});function a(n){let i=+ie(n,["attribs","colspan"])||1,o=+ie(n,["attribs","rowspan"])||1;t.openTableCell({maxColumnWidth:r.maxColumnWidth}),e(n.children,t),t.closeTableCell({colspan:i,rowspan:o})}function s(n){if(n.type!=="tag")return;let i=r.uppercaseHeaderCells!==!1?o=>{t.pushWordTransform(c=>c.toUpperCase()),a(o),t.popWordTransform()}:a;switch(n.name){case"thead":case"tbody":case"tfoot":case"center":n.children.forEach(s);return;case"tr":{t.openTableRow();for(let o of n.children)if(o.type==="tag")switch(o.name){case"th":{i(o);break}case"td":{a(o);break}}t.closeTableRow();break}}}}var Vs=Object.freeze({__proto__:null,anchor:Rs,blockquote:Is,dataTable:vr,heading:Ns,horizontalLine:Ts,image:qs,lineBreak:Bs,orderedList:Fs,paragraph:Ls,pre:Ss,table:Us,unorderedList:_s,wbr:Cs}),Hs={baseElements:{selectors:["body"],orderBy:"selectors",returnDomByDefault:!0},decodeEntities:!0,encodeCharacters:{},formatters:{},limits:{ellipsis:"...",maxBaseElements:void 0,maxChildNodes:void 0,maxDepth:void 0,maxInputLength:1<<24},longWordSplit:{forceWrapOnLimit:!1,wrapCharacters:[]},preserveNewlines:!1,selectors:[{selector:"*",format:"inline"},{selector:"a",format:"anchor",options:{baseUrl:null,hideLinkHrefIfSameAsText:!1,ignoreHref:!1,linkBrackets:["[","]"],noAnchorUrl:!0}},{selector:"article",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"aside",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"blockquote",format:"blockquote",options:{leadingLineBreaks:2,trailingLineBreaks:2,trimEmptyLines:!0}},{selector:"br",format:"lineBreak"},{selector:"div",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"footer",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"form",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"h1",format:"heading",options:{leadingLineBreaks:3,trailingLineBreaks:2,uppercase:!0}},{selector:"h2",format:"heading",options:{leadingLineBreaks:3,trailingLineBreaks:2,uppercase:!0}},{selector:"h3",format:"heading",options:{leadingLineBreaks:3,trailingLineBreaks:2,uppercase:!0}},{selector:"h4",format:"heading",options:{leadingLineBreaks:2,trailingLineBreaks:2,uppercase:!0}},{selector:"h5",format:"heading",options:{leadingLineBreaks:2,trailingLineBreaks:2,uppercase:!0}},{selector:"h6",format:"heading",options:{leadingLineBreaks:2,trailingLineBreaks:2,uppercase:!0}},{selector:"header",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"hr",format:"horizontalLine",options:{leadingLineBreaks:2,length:void 0,trailingLineBreaks:2}},{selector:"img",format:"image",options:{baseUrl:null,linkBrackets:["[","]"]}},{selector:"main",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"nav",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"ol",format:"orderedList",options:{leadingLineBreaks:2,trailingLineBreaks:2}},{selector:"p",format:"paragraph",options:{leadingLineBreaks:2,trailingLineBreaks:2}},{selector:"pre",format:"pre",options:{leadingLineBreaks:2,trailingLineBreaks:2}},{selector:"section",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"table",format:"table",options:{colSpacing:3,leadingLineBreaks:2,maxColumnWidth:60,rowSpacing:0,trailingLineBreaks:2,uppercaseHeaderCells:!0}},{selector:"ul",format:"unorderedList",options:{itemPrefix:" * ",leadingLineBreaks:2,trailingLineBreaks:2}},{selector:"wbr",format:"wbr"}],tables:[],whitespaceCharacters:` \r -\f\u200B`,wordwrap:80},js=(u,e,t)=>[...u,...e],kr=(u,e,t)=>[...e],Ws=(u,e,t)=>u.some(r=>typeof r=="object")?js(u,e):kr(u,e);function Gs(u={}){return u=(0,Wu.default)(Hs,u,{arrayMerge:kr,customMerge:e=>e==="selectors"?Ws:void 0}),u.formatters=Object.assign({},ws,Vs,u.formatters),u.selectors=xr(u.selectors,e=>e.selector),zs(u),ss(u)}function Br(u,e={},t=void 0){return Gs(e)(u,t)}function zs(u){if(u.tags){let t=Object.entries(u.tags).map(([r,a])=>({...a,selector:r||"*"}));u.selectors.push(...t),u.selectors=xr(u.selectors,r=>r.selector)}function e(t,r,a){let s=r.pop();for(let n of r){let i=t[n];i||(i={},t[n]=i),t=i}t[s]=a}if(u.baseElement){let t=u.baseElement;e(u,["baseElements","selectors"],Array.isArray(t)?t:[t])}u.returnDomByDefault!==void 0&&e(u,["baseElements","returnDomByDefault"],u.returnDomByDefault);for(let t of u.selectors)t.format==="anchor"&&ie(t,["options","noLinkBrackets"])&&e(t,["options","linkBrackets"],!1)}var $=new TextEncoder,zu=new Map,Cr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Se=new Uint8Array(256);for(Le=0;Le>4,s[r++]=(o&15)<<4|c>>2,s[r++]=(c&3)<<6|l&63}return a}function W(u){if(u=u||"utf8",zu.has(u))return zu.get(u);let e;try{e=new TextDecoder(u)}catch(t){if(u==="utf8")throw t;return W()}return zu.set(u,e),e}async function V(u){if("arrayBuffer"in u)return await u.arrayBuffer();let e=new FileReader;return new Promise((t,r)=>{e.onload=function(a){t(a.target.result)},e.onerror=function(a){r(e.error)},e.readAsArrayBuffer(u)})}function Tr(u){return u>=48&&u<=57||u>=97&&u<=102||u>=65&&u<=70?String.fromCharCode(u):!1}function Js(u,e,t){let r=u.indexOf("*");r>=0&&(u=u.substr(0,r)),e=e.toUpperCase();let a;if(e==="Q"){t=t.replace(/=\s+([0-9a-fA-F])/g,"=$1").replace(/[_\s]/g," ");let s=$.encode(t),n=[];for(let o=0,c=s.length;or===a?t+"__\0JOIN\0__":e).replace(/(=\?([^?]+)\?[Qq]\?[^?]*\?=)\s*(?==\?([^?]+)\?[Qq]\?[^?]*\?=)/g,(e,t,r,a)=>r===a?t+"__\0JOIN\0__":e).replace(/(\?=)?__\x00JOIN\x00__(=\?([^?]+)\?[QqBb]\?)?/g,"").replace(/(=\?[^?]+\?[QqBb]\?[^?]*\?=)\s+(?==\?[^?]+\?[QqBb]\?[^?]*\?=)/g,"$1").replace(/=\?([\w_\-*]+)\?([QqBb])\?([^?]*)\?=/g,(e,t,r,a)=>Js(t,r,a))}function Ks(u,e){e=e||"utf-8";let t=[];for(let s=0;s126){n=$.encode(n);for(let i=0;i{let r=t.match(/\*((\d+)\*?)?$/);if(!r)return;let a=t.substr(0,r.index).toLowerCase(),s=Number(r[2])||0,n;e.has(a)?n=e.get(a):(n={charset:!1,values:[]},e.set(a,n));let i=u.params[t];s===0&&r[0].charAt(r[0].length-1)==="*"&&(r=i.match(/^([^']*)'[^']*'(.*)$/))&&(n.charset=r[1]||"utf-8",i=r[2]),n.values.push({nr:s,value:i}),delete u.params[t]}),e.forEach((t,r)=>{u.params[r]=Ks(t.values.sort((a,s)=>a.nr-s.nr).map(a=>a.value).join(""),t.charset)})}var Ne=class{constructor(){this.chunks=[]}update(e){this.chunks.push(e),this.chunks.push(` -`)}finalize(){return V(new Blob(this.chunks,{type:"application/octet-stream"}))}};var Ie=class{constructor(e){e=e||{},this.decoder=e.decoder||new TextDecoder,this.maxChunkSize=100*1024,this.chunks=[],this.remainder=""}update(e){let t=this.decoder.decode(e);if(/[^a-zA-Z0-9+\/]/.test(t)&&(t=t.replace(/[^a-zA-Z0-9+\/]+/g,"")),this.remainder+=t,this.remainder.length>=this.maxChunkSize){let r=Math.floor(this.remainder.length/4)*4,a;r===this.remainder.length?(a=this.remainder,this.remainder=""):(a=this.remainder.substr(0,r),this.remainder=this.remainder.substr(r)),a.length&&this.chunks.push(iu(a))}}finalize(){return this.remainder&&!/^=+$/.test(this.remainder)&&this.chunks.push(iu(this.remainder)),V(new Blob(this.chunks,{type:"application/octet-stream"}))}};var qe=class{constructor(e){e=e||{},this.decoder=e.decoder||new TextDecoder,this.maxChunkSize=100*1024,this.remainder="",this.chunks=[]}decodeQPBytes(e){let t=new ArrayBuffer(e.length),r=new DataView(t);for(let a=0,s=e.length;a3&&(r.push(a.substr(1,2)),this.chunks.push(this.decodeQPBytes(r)),r=[],a=a.substr(3),this.chunks.push(a))}r.length&&(this.chunks.push(this.decodeQPBytes(r)),r=[])}update(e){let t=this.decoder.decode(e)+` -`;if(t=this.remainder+t,t.length=0;t--)if(e[t].node===this){e.splice(t,1);break}await this.finalizeChildNodes(),this.content=this.contentDecoder?await this.contentDecoder.finalize():null,this.state="finished"}async finalizeChildNodes(){for(let e of this.childNodes)await e.finalize()}parseStructuredHeader(e){let t={value:!1,params:{}},r=!1,a="",s="value",n=!1,i=!1,o;for(let c=0,l=e.length;c/ $/.test(r)&&!/(^|\n)-- $/.test(r)?t?r.slice(0,-1)+a:r+a:r+` -`+a).replace(/^ /gm,"")}getTextContent(){if(!this.content)return"";let e=W(this.contentType.parsed.params.charset).decode(this.content);return/^flowed$/i.test(this.contentType.parsed.params.format)&&(e=this.decodeFlowedText(e,/^yes$/i.test(this.contentType.parsed.params.delsp))),e}processHeaders(){for(let e=this.headerLines.length-1;e>=0;e--){let t=this.headerLines[e];if(e&&/^\s/.test(t))this.headerLines[e-1]+=` -`+t,this.headerLines.splice(e,1);else{t=t.replace(/\s+/g," ");let r=t.indexOf(":"),a=r<0?t.trim():t.substr(0,r).trim(),s=r<0?"":t.substr(r+1).trim();switch(this.headers.push({key:a.toLowerCase(),originalKey:a,value:s}),a.toLowerCase()){case"content-type":this.contentType.default&&(this.contentType={value:s,parsed:{}});break;case"content-transfer-encoding":this.contentTransferEncoding={value:s,parsed:{}};break;case"content-disposition":this.contentDisposition={value:s,parsed:{}};break;case"content-id":this.contentId=s;break;case"content-description":this.contentDescription=s;break}}}this.contentType.parsed=this.parseStructuredHeader(this.contentType.value),this.contentType.multipart=/^multipart\//i.test(this.contentType.parsed.value)?this.contentType.parsed.value.substr(this.contentType.parsed.value.indexOf("/")+1):!1,this.contentType.multipart&&this.contentType.parsed.params.boundary&&this.postalMime.boundaries.push({value:$.encode(this.contentType.parsed.params.boundary),node:this}),this.contentDisposition.parsed=this.parseStructuredHeader(this.contentDisposition.value),this.contentTransferEncoding.encoding=this.contentTransferEncoding.value.toLowerCase().split(/[^\w-]/).shift(),this.setupContentDecoder(this.contentTransferEncoding.encoding)}feed(e){switch(this.state){case"header":if(!e.length)return this.state="body",this.processHeaders();this.headerLines.push(W().decode(e));break;case"body":this.contentDecoder.update(e)}}};var Qs={"Æ":"\xC6","Æ":"\xC6","&":"&","&":"&","Á":"\xC1","Á":"\xC1","Ă":"\u0102","Â":"\xC2","Â":"\xC2","А":"\u0410","𝔄":"\u{1D504}","À":"\xC0","À":"\xC0","Α":"\u0391","Ā":"\u0100","⩓":"\u2A53","Ą":"\u0104","𝔸":"\u{1D538}","⁡":"\u2061","Å":"\xC5","Å":"\xC5","𝒜":"\u{1D49C}","≔":"\u2254","Ã":"\xC3","Ã":"\xC3","Ä":"\xC4","Ä":"\xC4","∖":"\u2216","⫧":"\u2AE7","⌆":"\u2306","Б":"\u0411","∵":"\u2235","ℬ":"\u212C","Β":"\u0392","𝔅":"\u{1D505}","𝔹":"\u{1D539}","˘":"\u02D8","ℬ":"\u212C","≎":"\u224E","Ч":"\u0427","©":"\xA9","©":"\xA9","Ć":"\u0106","⋒":"\u22D2","ⅅ":"\u2145","ℭ":"\u212D","Č":"\u010C","Ç":"\xC7","Ç":"\xC7","Ĉ":"\u0108","∰":"\u2230","Ċ":"\u010A","¸":"\xB8","·":"\xB7","ℭ":"\u212D","Χ":"\u03A7","⊙":"\u2299","⊖":"\u2296","⊕":"\u2295","⊗":"\u2297","∲":"\u2232","”":"\u201D","’":"\u2019","∷":"\u2237","⩴":"\u2A74","≡":"\u2261","∯":"\u222F","∮":"\u222E","ℂ":"\u2102","∐":"\u2210","∳":"\u2233","⨯":"\u2A2F","𝒞":"\u{1D49E}","⋓":"\u22D3","≍":"\u224D","ⅅ":"\u2145","⤑":"\u2911","Ђ":"\u0402","Ѕ":"\u0405","Џ":"\u040F","‡":"\u2021","↡":"\u21A1","⫤":"\u2AE4","Ď":"\u010E","Д":"\u0414","∇":"\u2207","Δ":"\u0394","𝔇":"\u{1D507}","´":"\xB4","˙":"\u02D9","˝":"\u02DD","`":"`","˜":"\u02DC","⋄":"\u22C4","ⅆ":"\u2146","𝔻":"\u{1D53B}","¨":"\xA8","⃜":"\u20DC","≐":"\u2250","∯":"\u222F","¨":"\xA8","⇓":"\u21D3","⇐":"\u21D0","⇔":"\u21D4","⫤":"\u2AE4","⟸":"\u27F8","⟺":"\u27FA","⟹":"\u27F9","⇒":"\u21D2","⊨":"\u22A8","⇑":"\u21D1","⇕":"\u21D5","∥":"\u2225","↓":"\u2193","⤓":"\u2913","⇵":"\u21F5","̑":"\u0311","⥐":"\u2950","⥞":"\u295E","↽":"\u21BD","⥖":"\u2956","⥟":"\u295F","⇁":"\u21C1","⥗":"\u2957","⊤":"\u22A4","↧":"\u21A7","⇓":"\u21D3","𝒟":"\u{1D49F}","Đ":"\u0110","Ŋ":"\u014A","Ð":"\xD0","Ð":"\xD0","É":"\xC9","É":"\xC9","Ě":"\u011A","Ê":"\xCA","Ê":"\xCA","Э":"\u042D","Ė":"\u0116","𝔈":"\u{1D508}","È":"\xC8","È":"\xC8","∈":"\u2208","Ē":"\u0112","◻":"\u25FB","▫":"\u25AB","Ę":"\u0118","𝔼":"\u{1D53C}","Ε":"\u0395","⩵":"\u2A75","≂":"\u2242","⇌":"\u21CC","ℰ":"\u2130","⩳":"\u2A73","Η":"\u0397","Ë":"\xCB","Ë":"\xCB","∃":"\u2203","ⅇ":"\u2147","Ф":"\u0424","𝔉":"\u{1D509}","◼":"\u25FC","▪":"\u25AA","𝔽":"\u{1D53D}","∀":"\u2200","ℱ":"\u2131","ℱ":"\u2131","Ѓ":"\u0403",">":">",">":">","Γ":"\u0393","Ϝ":"\u03DC","Ğ":"\u011E","Ģ":"\u0122","Ĝ":"\u011C","Г":"\u0413","Ġ":"\u0120","𝔊":"\u{1D50A}","⋙":"\u22D9","𝔾":"\u{1D53E}","≥":"\u2265","⋛":"\u22DB","≧":"\u2267","⪢":"\u2AA2","≷":"\u2277","⩾":"\u2A7E","≳":"\u2273","𝒢":"\u{1D4A2}","≫":"\u226B","Ъ":"\u042A","ˇ":"\u02C7","^":"^","Ĥ":"\u0124","ℌ":"\u210C","ℋ":"\u210B","ℍ":"\u210D","─":"\u2500","ℋ":"\u210B","Ħ":"\u0126","≎":"\u224E","≏":"\u224F","Е":"\u0415","IJ":"\u0132","Ё":"\u0401","Í":"\xCD","Í":"\xCD","Î":"\xCE","Î":"\xCE","И":"\u0418","İ":"\u0130","ℑ":"\u2111","Ì":"\xCC","Ì":"\xCC","ℑ":"\u2111","Ī":"\u012A","ⅈ":"\u2148","⇒":"\u21D2","∬":"\u222C","∫":"\u222B","⋂":"\u22C2","⁣":"\u2063","⁢":"\u2062","Į":"\u012E","𝕀":"\u{1D540}","Ι":"\u0399","ℐ":"\u2110","Ĩ":"\u0128","І":"\u0406","Ï":"\xCF","Ï":"\xCF","Ĵ":"\u0134","Й":"\u0419","𝔍":"\u{1D50D}","𝕁":"\u{1D541}","𝒥":"\u{1D4A5}","Ј":"\u0408","Є":"\u0404","Х":"\u0425","Ќ":"\u040C","Κ":"\u039A","Ķ":"\u0136","К":"\u041A","𝔎":"\u{1D50E}","𝕂":"\u{1D542}","𝒦":"\u{1D4A6}","Љ":"\u0409","<":"<","<":"<","Ĺ":"\u0139","Λ":"\u039B","⟪":"\u27EA","ℒ":"\u2112","↞":"\u219E","Ľ":"\u013D","Ļ":"\u013B","Л":"\u041B","⟨":"\u27E8","←":"\u2190","⇤":"\u21E4","⇆":"\u21C6","⌈":"\u2308","⟦":"\u27E6","⥡":"\u2961","⇃":"\u21C3","⥙":"\u2959","⌊":"\u230A","↔":"\u2194","⥎":"\u294E","⊣":"\u22A3","↤":"\u21A4","⥚":"\u295A","⊲":"\u22B2","⧏":"\u29CF","⊴":"\u22B4","⥑":"\u2951","⥠":"\u2960","↿":"\u21BF","⥘":"\u2958","↼":"\u21BC","⥒":"\u2952","⇐":"\u21D0","⇔":"\u21D4","⋚":"\u22DA","≦":"\u2266","≶":"\u2276","⪡":"\u2AA1","⩽":"\u2A7D","≲":"\u2272","𝔏":"\u{1D50F}","⋘":"\u22D8","⇚":"\u21DA","Ŀ":"\u013F","⟵":"\u27F5","⟷":"\u27F7","⟶":"\u27F6","⟸":"\u27F8","⟺":"\u27FA","⟹":"\u27F9","𝕃":"\u{1D543}","↙":"\u2199","↘":"\u2198","ℒ":"\u2112","↰":"\u21B0","Ł":"\u0141","≪":"\u226A","⤅":"\u2905","М":"\u041C"," ":"\u205F","ℳ":"\u2133","𝔐":"\u{1D510}","∓":"\u2213","𝕄":"\u{1D544}","ℳ":"\u2133","Μ":"\u039C","Њ":"\u040A","Ń":"\u0143","Ň":"\u0147","Ņ":"\u0145","Н":"\u041D","​":"\u200B","​":"\u200B","​":"\u200B","​":"\u200B","≫":"\u226B","≪":"\u226A"," ":` -`,"𝔑":"\u{1D511}","⁠":"\u2060"," ":"\xA0","ℕ":"\u2115","⫬":"\u2AEC","≢":"\u2262","≭":"\u226D","∦":"\u2226","∉":"\u2209","≠":"\u2260","≂̸":"\u2242\u0338","∄":"\u2204","≯":"\u226F","≱":"\u2271","≧̸":"\u2267\u0338","≫̸":"\u226B\u0338","≹":"\u2279","⩾̸":"\u2A7E\u0338","≵":"\u2275","≎̸":"\u224E\u0338","≏̸":"\u224F\u0338","⋪":"\u22EA","⧏̸":"\u29CF\u0338","⋬":"\u22EC","≮":"\u226E","≰":"\u2270","≸":"\u2278","≪̸":"\u226A\u0338","⩽̸":"\u2A7D\u0338","≴":"\u2274","⪢̸":"\u2AA2\u0338","⪡̸":"\u2AA1\u0338","⊀":"\u2280","⪯̸":"\u2AAF\u0338","⋠":"\u22E0","∌":"\u220C","⋫":"\u22EB","⧐̸":"\u29D0\u0338","⋭":"\u22ED","⊏̸":"\u228F\u0338","⋢":"\u22E2","⊐̸":"\u2290\u0338","⋣":"\u22E3","⊂⃒":"\u2282\u20D2","⊈":"\u2288","⊁":"\u2281","⪰̸":"\u2AB0\u0338","⋡":"\u22E1","≿̸":"\u227F\u0338","⊃⃒":"\u2283\u20D2","⊉":"\u2289","≁":"\u2241","≄":"\u2244","≇":"\u2247","≉":"\u2249","∤":"\u2224","𝒩":"\u{1D4A9}","Ñ":"\xD1","Ñ":"\xD1","Ν":"\u039D","Œ":"\u0152","Ó":"\xD3","Ó":"\xD3","Ô":"\xD4","Ô":"\xD4","О":"\u041E","Ő":"\u0150","𝔒":"\u{1D512}","Ò":"\xD2","Ò":"\xD2","Ō":"\u014C","Ω":"\u03A9","Ο":"\u039F","𝕆":"\u{1D546}","“":"\u201C","‘":"\u2018","⩔":"\u2A54","𝒪":"\u{1D4AA}","Ø":"\xD8","Ø":"\xD8","Õ":"\xD5","Õ":"\xD5","⨷":"\u2A37","Ö":"\xD6","Ö":"\xD6","‾":"\u203E","⏞":"\u23DE","⎴":"\u23B4","⏜":"\u23DC","∂":"\u2202","П":"\u041F","𝔓":"\u{1D513}","Φ":"\u03A6","Π":"\u03A0","±":"\xB1","ℌ":"\u210C","ℙ":"\u2119","⪻":"\u2ABB","≺":"\u227A","⪯":"\u2AAF","≼":"\u227C","≾":"\u227E","″":"\u2033","∏":"\u220F","∷":"\u2237","∝":"\u221D","𝒫":"\u{1D4AB}","Ψ":"\u03A8",""":'"',""":'"',"𝔔":"\u{1D514}","ℚ":"\u211A","𝒬":"\u{1D4AC}","⤐":"\u2910","®":"\xAE","®":"\xAE","Ŕ":"\u0154","⟫":"\u27EB","↠":"\u21A0","⤖":"\u2916","Ř":"\u0158","Ŗ":"\u0156","Р":"\u0420","ℜ":"\u211C","∋":"\u220B","⇋":"\u21CB","⥯":"\u296F","ℜ":"\u211C","Ρ":"\u03A1","⟩":"\u27E9","→":"\u2192","⇥":"\u21E5","⇄":"\u21C4","⌉":"\u2309","⟧":"\u27E7","⥝":"\u295D","⇂":"\u21C2","⥕":"\u2955","⌋":"\u230B","⊢":"\u22A2","↦":"\u21A6","⥛":"\u295B","⊳":"\u22B3","⧐":"\u29D0","⊵":"\u22B5","⥏":"\u294F","⥜":"\u295C","↾":"\u21BE","⥔":"\u2954","⇀":"\u21C0","⥓":"\u2953","⇒":"\u21D2","ℝ":"\u211D","⥰":"\u2970","⇛":"\u21DB","ℛ":"\u211B","↱":"\u21B1","⧴":"\u29F4","Щ":"\u0429","Ш":"\u0428","Ь":"\u042C","Ś":"\u015A","⪼":"\u2ABC","Š":"\u0160","Ş":"\u015E","Ŝ":"\u015C","С":"\u0421","𝔖":"\u{1D516}","↓":"\u2193","←":"\u2190","→":"\u2192","↑":"\u2191","Σ":"\u03A3","∘":"\u2218","𝕊":"\u{1D54A}","√":"\u221A","□":"\u25A1","⊓":"\u2293","⊏":"\u228F","⊑":"\u2291","⊐":"\u2290","⊒":"\u2292","⊔":"\u2294","𝒮":"\u{1D4AE}","⋆":"\u22C6","⋐":"\u22D0","⋐":"\u22D0","⊆":"\u2286","≻":"\u227B","⪰":"\u2AB0","≽":"\u227D","≿":"\u227F","∋":"\u220B","∑":"\u2211","⋑":"\u22D1","⊃":"\u2283","⊇":"\u2287","⋑":"\u22D1","Þ":"\xDE","Þ":"\xDE","™":"\u2122","Ћ":"\u040B","Ц":"\u0426"," ":" ","Τ":"\u03A4","Ť":"\u0164","Ţ":"\u0162","Т":"\u0422","𝔗":"\u{1D517}","∴":"\u2234","Θ":"\u0398","  ":"\u205F\u200A"," ":"\u2009","∼":"\u223C","≃":"\u2243","≅":"\u2245","≈":"\u2248","𝕋":"\u{1D54B}","⃛":"\u20DB","𝒯":"\u{1D4AF}","Ŧ":"\u0166","Ú":"\xDA","Ú":"\xDA","↟":"\u219F","⥉":"\u2949","Ў":"\u040E","Ŭ":"\u016C","Û":"\xDB","Û":"\xDB","У":"\u0423","Ű":"\u0170","𝔘":"\u{1D518}","Ù":"\xD9","Ù":"\xD9","Ū":"\u016A","_":"_","⏟":"\u23DF","⎵":"\u23B5","⏝":"\u23DD","⋃":"\u22C3","⊎":"\u228E","Ų":"\u0172","𝕌":"\u{1D54C}","↑":"\u2191","⤒":"\u2912","⇅":"\u21C5","↕":"\u2195","⥮":"\u296E","⊥":"\u22A5","↥":"\u21A5","⇑":"\u21D1","⇕":"\u21D5","↖":"\u2196","↗":"\u2197","ϒ":"\u03D2","Υ":"\u03A5","Ů":"\u016E","𝒰":"\u{1D4B0}","Ũ":"\u0168","Ü":"\xDC","Ü":"\xDC","⊫":"\u22AB","⫫":"\u2AEB","В":"\u0412","⊩":"\u22A9","⫦":"\u2AE6","⋁":"\u22C1","‖":"\u2016","‖":"\u2016","∣":"\u2223","|":"|","❘":"\u2758","≀":"\u2240"," ":"\u200A","𝔙":"\u{1D519}","𝕍":"\u{1D54D}","𝒱":"\u{1D4B1}","⊪":"\u22AA","Ŵ":"\u0174","⋀":"\u22C0","𝔚":"\u{1D51A}","𝕎":"\u{1D54E}","𝒲":"\u{1D4B2}","𝔛":"\u{1D51B}","Ξ":"\u039E","𝕏":"\u{1D54F}","𝒳":"\u{1D4B3}","Я":"\u042F","Ї":"\u0407","Ю":"\u042E","Ý":"\xDD","Ý":"\xDD","Ŷ":"\u0176","Ы":"\u042B","𝔜":"\u{1D51C}","𝕐":"\u{1D550}","𝒴":"\u{1D4B4}","Ÿ":"\u0178","Ж":"\u0416","Ź":"\u0179","Ž":"\u017D","З":"\u0417","Ż":"\u017B","​":"\u200B","Ζ":"\u0396","ℨ":"\u2128","ℤ":"\u2124","𝒵":"\u{1D4B5}","á":"\xE1","á":"\xE1","ă":"\u0103","∾":"\u223E","∾̳":"\u223E\u0333","∿":"\u223F","â":"\xE2","â":"\xE2","´":"\xB4","´":"\xB4","а":"\u0430","æ":"\xE6","æ":"\xE6","⁡":"\u2061","𝔞":"\u{1D51E}","à":"\xE0","à":"\xE0","ℵ":"\u2135","ℵ":"\u2135","α":"\u03B1","ā":"\u0101","⨿":"\u2A3F","&":"&","&":"&","∧":"\u2227","⩕":"\u2A55","⩜":"\u2A5C","⩘":"\u2A58","⩚":"\u2A5A","∠":"\u2220","⦤":"\u29A4","∠":"\u2220","∡":"\u2221","⦨":"\u29A8","⦩":"\u29A9","⦪":"\u29AA","⦫":"\u29AB","⦬":"\u29AC","⦭":"\u29AD","⦮":"\u29AE","⦯":"\u29AF","∟":"\u221F","⊾":"\u22BE","⦝":"\u299D","∢":"\u2222","Å":"\xC5","⍼":"\u237C","ą":"\u0105","𝕒":"\u{1D552}","≈":"\u2248","⩰":"\u2A70","⩯":"\u2A6F","≊":"\u224A","≋":"\u224B","'":"'","≈":"\u2248","≊":"\u224A","å":"\xE5","å":"\xE5","𝒶":"\u{1D4B6}","*":"*","≈":"\u2248","≍":"\u224D","ã":"\xE3","ã":"\xE3","ä":"\xE4","ä":"\xE4","∳":"\u2233","⨑":"\u2A11","⫭":"\u2AED","≌":"\u224C","϶":"\u03F6","‵":"\u2035","∽":"\u223D","⋍":"\u22CD","⊽":"\u22BD","⌅":"\u2305","⌅":"\u2305","⎵":"\u23B5","⎶":"\u23B6","≌":"\u224C","б":"\u0431","„":"\u201E","∵":"\u2235","∵":"\u2235","⦰":"\u29B0","϶":"\u03F6","ℬ":"\u212C","β":"\u03B2","ℶ":"\u2136","≬":"\u226C","𝔟":"\u{1D51F}","⋂":"\u22C2","◯":"\u25EF","⋃":"\u22C3","⨀":"\u2A00","⨁":"\u2A01","⨂":"\u2A02","⨆":"\u2A06","★":"\u2605","▽":"\u25BD","△":"\u25B3","⨄":"\u2A04","⋁":"\u22C1","⋀":"\u22C0","⤍":"\u290D","⧫":"\u29EB","▪":"\u25AA","▴":"\u25B4","▾":"\u25BE","◂":"\u25C2","▸":"\u25B8","␣":"\u2423","▒":"\u2592","░":"\u2591","▓":"\u2593","█":"\u2588","=⃥":"=\u20E5","≡⃥":"\u2261\u20E5","⌐":"\u2310","𝕓":"\u{1D553}","⊥":"\u22A5","⊥":"\u22A5","⋈":"\u22C8","╗":"\u2557","╔":"\u2554","╖":"\u2556","╓":"\u2553","═":"\u2550","╦":"\u2566","╩":"\u2569","╤":"\u2564","╧":"\u2567","╝":"\u255D","╚":"\u255A","╜":"\u255C","╙":"\u2559","║":"\u2551","╬":"\u256C","╣":"\u2563","╠":"\u2560","╫":"\u256B","╢":"\u2562","╟":"\u255F","⧉":"\u29C9","╕":"\u2555","╒":"\u2552","┐":"\u2510","┌":"\u250C","─":"\u2500","╥":"\u2565","╨":"\u2568","┬":"\u252C","┴":"\u2534","⊟":"\u229F","⊞":"\u229E","⊠":"\u22A0","╛":"\u255B","╘":"\u2558","┘":"\u2518","└":"\u2514","│":"\u2502","╪":"\u256A","╡":"\u2561","╞":"\u255E","┼":"\u253C","┤":"\u2524","├":"\u251C","‵":"\u2035","˘":"\u02D8","¦":"\xA6","¦":"\xA6","𝒷":"\u{1D4B7}","⁏":"\u204F","∽":"\u223D","⋍":"\u22CD","\":"\\","⧅":"\u29C5","⟈":"\u27C8","•":"\u2022","•":"\u2022","≎":"\u224E","⪮":"\u2AAE","≏":"\u224F","≏":"\u224F","ć":"\u0107","∩":"\u2229","⩄":"\u2A44","⩉":"\u2A49","⩋":"\u2A4B","⩇":"\u2A47","⩀":"\u2A40","∩︀":"\u2229\uFE00","⁁":"\u2041","ˇ":"\u02C7","⩍":"\u2A4D","č":"\u010D","ç":"\xE7","ç":"\xE7","ĉ":"\u0109","⩌":"\u2A4C","⩐":"\u2A50","ċ":"\u010B","¸":"\xB8","¸":"\xB8","⦲":"\u29B2","¢":"\xA2","¢":"\xA2","·":"\xB7","𝔠":"\u{1D520}","ч":"\u0447","✓":"\u2713","✓":"\u2713","χ":"\u03C7","○":"\u25CB","⧃":"\u29C3","ˆ":"\u02C6","≗":"\u2257","↺":"\u21BA","↻":"\u21BB","®":"\xAE","Ⓢ":"\u24C8","⊛":"\u229B","⊚":"\u229A","⊝":"\u229D","≗":"\u2257","⨐":"\u2A10","⫯":"\u2AEF","⧂":"\u29C2","♣":"\u2663","♣":"\u2663",":":":","≔":"\u2254","≔":"\u2254",",":",","@":"@","∁":"\u2201","∘":"\u2218","∁":"\u2201","ℂ":"\u2102","≅":"\u2245","⩭":"\u2A6D","∮":"\u222E","𝕔":"\u{1D554}","∐":"\u2210","©":"\xA9","©":"\xA9","℗":"\u2117","↵":"\u21B5","✗":"\u2717","𝒸":"\u{1D4B8}","⫏":"\u2ACF","⫑":"\u2AD1","⫐":"\u2AD0","⫒":"\u2AD2","⋯":"\u22EF","⤸":"\u2938","⤵":"\u2935","⋞":"\u22DE","⋟":"\u22DF","↶":"\u21B6","⤽":"\u293D","∪":"\u222A","⩈":"\u2A48","⩆":"\u2A46","⩊":"\u2A4A","⊍":"\u228D","⩅":"\u2A45","∪︀":"\u222A\uFE00","↷":"\u21B7","⤼":"\u293C","⋞":"\u22DE","⋟":"\u22DF","⋎":"\u22CE","⋏":"\u22CF","¤":"\xA4","¤":"\xA4","↶":"\u21B6","↷":"\u21B7","⋎":"\u22CE","⋏":"\u22CF","∲":"\u2232","∱":"\u2231","⌭":"\u232D","⇓":"\u21D3","⥥":"\u2965","†":"\u2020","ℸ":"\u2138","↓":"\u2193","‐":"\u2010","⊣":"\u22A3","⤏":"\u290F","˝":"\u02DD","ď":"\u010F","д":"\u0434","ⅆ":"\u2146","‡":"\u2021","⇊":"\u21CA","⩷":"\u2A77","°":"\xB0","°":"\xB0","δ":"\u03B4","⦱":"\u29B1","⥿":"\u297F","𝔡":"\u{1D521}","⇃":"\u21C3","⇂":"\u21C2","⋄":"\u22C4","⋄":"\u22C4","♦":"\u2666","♦":"\u2666","¨":"\xA8","ϝ":"\u03DD","⋲":"\u22F2","÷":"\xF7","÷":"\xF7","÷":"\xF7","⋇":"\u22C7","⋇":"\u22C7","ђ":"\u0452","⌞":"\u231E","⌍":"\u230D","$":"$","𝕕":"\u{1D555}","˙":"\u02D9","≐":"\u2250","≑":"\u2251","∸":"\u2238","∔":"\u2214","⊡":"\u22A1","⌆":"\u2306","↓":"\u2193","⇊":"\u21CA","⇃":"\u21C3","⇂":"\u21C2","⤐":"\u2910","⌟":"\u231F","⌌":"\u230C","𝒹":"\u{1D4B9}","ѕ":"\u0455","⧶":"\u29F6","đ":"\u0111","⋱":"\u22F1","▿":"\u25BF","▾":"\u25BE","⇵":"\u21F5","⥯":"\u296F","⦦":"\u29A6","џ":"\u045F","⟿":"\u27FF","⩷":"\u2A77","≑":"\u2251","é":"\xE9","é":"\xE9","⩮":"\u2A6E","ě":"\u011B","≖":"\u2256","ê":"\xEA","ê":"\xEA","≕":"\u2255","э":"\u044D","ė":"\u0117","ⅇ":"\u2147","≒":"\u2252","𝔢":"\u{1D522}","⪚":"\u2A9A","è":"\xE8","è":"\xE8","⪖":"\u2A96","⪘":"\u2A98","⪙":"\u2A99","⏧":"\u23E7","ℓ":"\u2113","⪕":"\u2A95","⪗":"\u2A97","ē":"\u0113","∅":"\u2205","∅":"\u2205","∅":"\u2205"," ":"\u2004"," ":"\u2005"," ":"\u2003","ŋ":"\u014B"," ":"\u2002","ę":"\u0119","𝕖":"\u{1D556}","⋕":"\u22D5","⧣":"\u29E3","⩱":"\u2A71","ε":"\u03B5","ε":"\u03B5","ϵ":"\u03F5","≖":"\u2256","≕":"\u2255","≂":"\u2242","⪖":"\u2A96","⪕":"\u2A95","=":"=","≟":"\u225F","≡":"\u2261","⩸":"\u2A78","⧥":"\u29E5","≓":"\u2253","⥱":"\u2971","ℯ":"\u212F","≐":"\u2250","≂":"\u2242","η":"\u03B7","ð":"\xF0","ð":"\xF0","ë":"\xEB","ë":"\xEB","€":"\u20AC","!":"!","∃":"\u2203","ℰ":"\u2130","ⅇ":"\u2147","≒":"\u2252","ф":"\u0444","♀":"\u2640","ffi":"\uFB03","ff":"\uFB00","ffl":"\uFB04","𝔣":"\u{1D523}","fi":"\uFB01","fj":"fj","♭":"\u266D","fl":"\uFB02","▱":"\u25B1","ƒ":"\u0192","𝕗":"\u{1D557}","∀":"\u2200","⋔":"\u22D4","⫙":"\u2AD9","⨍":"\u2A0D","½":"\xBD","½":"\xBD","⅓":"\u2153","¼":"\xBC","¼":"\xBC","⅕":"\u2155","⅙":"\u2159","⅛":"\u215B","⅔":"\u2154","⅖":"\u2156","¾":"\xBE","¾":"\xBE","⅗":"\u2157","⅜":"\u215C","⅘":"\u2158","⅚":"\u215A","⅝":"\u215D","⅞":"\u215E","⁄":"\u2044","⌢":"\u2322","𝒻":"\u{1D4BB}","≧":"\u2267","⪌":"\u2A8C","ǵ":"\u01F5","γ":"\u03B3","ϝ":"\u03DD","⪆":"\u2A86","ğ":"\u011F","ĝ":"\u011D","г":"\u0433","ġ":"\u0121","≥":"\u2265","⋛":"\u22DB","≥":"\u2265","≧":"\u2267","⩾":"\u2A7E","⩾":"\u2A7E","⪩":"\u2AA9","⪀":"\u2A80","⪂":"\u2A82","⪄":"\u2A84","⋛︀":"\u22DB\uFE00","⪔":"\u2A94","𝔤":"\u{1D524}","≫":"\u226B","⋙":"\u22D9","ℷ":"\u2137","ѓ":"\u0453","≷":"\u2277","⪒":"\u2A92","⪥":"\u2AA5","⪤":"\u2AA4","≩":"\u2269","⪊":"\u2A8A","⪊":"\u2A8A","⪈":"\u2A88","⪈":"\u2A88","≩":"\u2269","⋧":"\u22E7","𝕘":"\u{1D558}","`":"`","ℊ":"\u210A","≳":"\u2273","⪎":"\u2A8E","⪐":"\u2A90",">":">",">":">","⪧":"\u2AA7","⩺":"\u2A7A","⋗":"\u22D7","⦕":"\u2995","⩼":"\u2A7C","⪆":"\u2A86","⥸":"\u2978","⋗":"\u22D7","⋛":"\u22DB","⪌":"\u2A8C","≷":"\u2277","≳":"\u2273","≩︀":"\u2269\uFE00","≩︀":"\u2269\uFE00","⇔":"\u21D4"," ":"\u200A","½":"\xBD","ℋ":"\u210B","ъ":"\u044A","↔":"\u2194","⥈":"\u2948","↭":"\u21AD","ℏ":"\u210F","ĥ":"\u0125","♥":"\u2665","♥":"\u2665","…":"\u2026","⊹":"\u22B9","𝔥":"\u{1D525}","⤥":"\u2925","⤦":"\u2926","⇿":"\u21FF","∻":"\u223B","↩":"\u21A9","↪":"\u21AA","𝕙":"\u{1D559}","―":"\u2015","𝒽":"\u{1D4BD}","ℏ":"\u210F","ħ":"\u0127","⁃":"\u2043","‐":"\u2010","í":"\xED","í":"\xED","⁣":"\u2063","î":"\xEE","î":"\xEE","и":"\u0438","е":"\u0435","¡":"\xA1","¡":"\xA1","⇔":"\u21D4","𝔦":"\u{1D526}","ì":"\xEC","ì":"\xEC","ⅈ":"\u2148","⨌":"\u2A0C","∭":"\u222D","⧜":"\u29DC","℩":"\u2129","ij":"\u0133","ī":"\u012B","ℑ":"\u2111","ℐ":"\u2110","ℑ":"\u2111","ı":"\u0131","⊷":"\u22B7","Ƶ":"\u01B5","∈":"\u2208","℅":"\u2105","∞":"\u221E","⧝":"\u29DD","ı":"\u0131","∫":"\u222B","⊺":"\u22BA","ℤ":"\u2124","⊺":"\u22BA","⨗":"\u2A17","⨼":"\u2A3C","ё":"\u0451","į":"\u012F","𝕚":"\u{1D55A}","ι":"\u03B9","⨼":"\u2A3C","¿":"\xBF","¿":"\xBF","𝒾":"\u{1D4BE}","∈":"\u2208","⋹":"\u22F9","⋵":"\u22F5","⋴":"\u22F4","⋳":"\u22F3","∈":"\u2208","⁢":"\u2062","ĩ":"\u0129","і":"\u0456","ï":"\xEF","ï":"\xEF","ĵ":"\u0135","й":"\u0439","𝔧":"\u{1D527}","ȷ":"\u0237","𝕛":"\u{1D55B}","𝒿":"\u{1D4BF}","ј":"\u0458","є":"\u0454","κ":"\u03BA","ϰ":"\u03F0","ķ":"\u0137","к":"\u043A","𝔨":"\u{1D528}","ĸ":"\u0138","х":"\u0445","ќ":"\u045C","𝕜":"\u{1D55C}","𝓀":"\u{1D4C0}","⇚":"\u21DA","⇐":"\u21D0","⤛":"\u291B","⤎":"\u290E","≦":"\u2266","⪋":"\u2A8B","⥢":"\u2962","ĺ":"\u013A","⦴":"\u29B4","ℒ":"\u2112","λ":"\u03BB","⟨":"\u27E8","⦑":"\u2991","⟨":"\u27E8","⪅":"\u2A85","«":"\xAB","«":"\xAB","←":"\u2190","⇤":"\u21E4","⤟":"\u291F","⤝":"\u291D","↩":"\u21A9","↫":"\u21AB","⤹":"\u2939","⥳":"\u2973","↢":"\u21A2","⪫":"\u2AAB","⤙":"\u2919","⪭":"\u2AAD","⪭︀":"\u2AAD\uFE00","⤌":"\u290C","❲":"\u2772","{":"{","[":"[","⦋":"\u298B","⦏":"\u298F","⦍":"\u298D","ľ":"\u013E","ļ":"\u013C","⌈":"\u2308","{":"{","л":"\u043B","⤶":"\u2936","“":"\u201C","„":"\u201E","⥧":"\u2967","⥋":"\u294B","↲":"\u21B2","≤":"\u2264","←":"\u2190","↢":"\u21A2","↽":"\u21BD","↼":"\u21BC","⇇":"\u21C7","↔":"\u2194","⇆":"\u21C6","⇋":"\u21CB","↭":"\u21AD","⋋":"\u22CB","⋚":"\u22DA","≤":"\u2264","≦":"\u2266","⩽":"\u2A7D","⩽":"\u2A7D","⪨":"\u2AA8","⩿":"\u2A7F","⪁":"\u2A81","⪃":"\u2A83","⋚︀":"\u22DA\uFE00","⪓":"\u2A93","⪅":"\u2A85","⋖":"\u22D6","⋚":"\u22DA","⪋":"\u2A8B","≶":"\u2276","≲":"\u2272","⥼":"\u297C","⌊":"\u230A","𝔩":"\u{1D529}","≶":"\u2276","⪑":"\u2A91","↽":"\u21BD","↼":"\u21BC","⥪":"\u296A","▄":"\u2584","љ":"\u0459","≪":"\u226A","⇇":"\u21C7","⌞":"\u231E","⥫":"\u296B","◺":"\u25FA","ŀ":"\u0140","⎰":"\u23B0","⎰":"\u23B0","≨":"\u2268","⪉":"\u2A89","⪉":"\u2A89","⪇":"\u2A87","⪇":"\u2A87","≨":"\u2268","⋦":"\u22E6","⟬":"\u27EC","⇽":"\u21FD","⟦":"\u27E6","⟵":"\u27F5","⟷":"\u27F7","⟼":"\u27FC","⟶":"\u27F6","↫":"\u21AB","↬":"\u21AC","⦅":"\u2985","𝕝":"\u{1D55D}","⨭":"\u2A2D","⨴":"\u2A34","∗":"\u2217","_":"_","◊":"\u25CA","◊":"\u25CA","⧫":"\u29EB","(":"(","⦓":"\u2993","⇆":"\u21C6","⌟":"\u231F","⇋":"\u21CB","⥭":"\u296D","‎":"\u200E","⊿":"\u22BF","‹":"\u2039","𝓁":"\u{1D4C1}","↰":"\u21B0","≲":"\u2272","⪍":"\u2A8D","⪏":"\u2A8F","[":"[","‘":"\u2018","‚":"\u201A","ł":"\u0142","<":"<","<":"<","⪦":"\u2AA6","⩹":"\u2A79","⋖":"\u22D6","⋋":"\u22CB","⋉":"\u22C9","⥶":"\u2976","⩻":"\u2A7B","⦖":"\u2996","◃":"\u25C3","⊴":"\u22B4","◂":"\u25C2","⥊":"\u294A","⥦":"\u2966","≨︀":"\u2268\uFE00","≨︀":"\u2268\uFE00","∺":"\u223A","¯":"\xAF","¯":"\xAF","♂":"\u2642","✠":"\u2720","✠":"\u2720","↦":"\u21A6","↦":"\u21A6","↧":"\u21A7","↤":"\u21A4","↥":"\u21A5","▮":"\u25AE","⨩":"\u2A29","м":"\u043C","—":"\u2014","∡":"\u2221","𝔪":"\u{1D52A}","℧":"\u2127","µ":"\xB5","µ":"\xB5","∣":"\u2223","*":"*","⫰":"\u2AF0","·":"\xB7","·":"\xB7","−":"\u2212","⊟":"\u229F","∸":"\u2238","⨪":"\u2A2A","⫛":"\u2ADB","…":"\u2026","∓":"\u2213","⊧":"\u22A7","𝕞":"\u{1D55E}","∓":"\u2213","𝓂":"\u{1D4C2}","∾":"\u223E","μ":"\u03BC","⊸":"\u22B8","⊸":"\u22B8","⋙̸":"\u22D9\u0338","≫⃒":"\u226B\u20D2","≫̸":"\u226B\u0338","⇍":"\u21CD","⇎":"\u21CE","⋘̸":"\u22D8\u0338","≪⃒":"\u226A\u20D2","≪̸":"\u226A\u0338","⇏":"\u21CF","⊯":"\u22AF","⊮":"\u22AE","∇":"\u2207","ń":"\u0144","∠⃒":"\u2220\u20D2","≉":"\u2249","⩰̸":"\u2A70\u0338","≋̸":"\u224B\u0338","ʼn":"\u0149","≉":"\u2249","♮":"\u266E","♮":"\u266E","ℕ":"\u2115"," ":"\xA0"," ":"\xA0","≎̸":"\u224E\u0338","≏̸":"\u224F\u0338","⩃":"\u2A43","ň":"\u0148","ņ":"\u0146","≇":"\u2247","⩭̸":"\u2A6D\u0338","⩂":"\u2A42","н":"\u043D","–":"\u2013","≠":"\u2260","⇗":"\u21D7","⤤":"\u2924","↗":"\u2197","↗":"\u2197","≐̸":"\u2250\u0338","≢":"\u2262","⤨":"\u2928","≂̸":"\u2242\u0338","∄":"\u2204","∄":"\u2204","𝔫":"\u{1D52B}","≧̸":"\u2267\u0338","≱":"\u2271","≱":"\u2271","≧̸":"\u2267\u0338","⩾̸":"\u2A7E\u0338","⩾̸":"\u2A7E\u0338","≵":"\u2275","≯":"\u226F","≯":"\u226F","⇎":"\u21CE","↮":"\u21AE","⫲":"\u2AF2","∋":"\u220B","⋼":"\u22FC","⋺":"\u22FA","∋":"\u220B","њ":"\u045A","⇍":"\u21CD","≦̸":"\u2266\u0338","↚":"\u219A","‥":"\u2025","≰":"\u2270","↚":"\u219A","↮":"\u21AE","≰":"\u2270","≦̸":"\u2266\u0338","⩽̸":"\u2A7D\u0338","⩽̸":"\u2A7D\u0338","≮":"\u226E","≴":"\u2274","≮":"\u226E","⋪":"\u22EA","⋬":"\u22EC","∤":"\u2224","𝕟":"\u{1D55F}","¬":"\xAC","¬":"\xAC","∉":"\u2209","⋹̸":"\u22F9\u0338","⋵̸":"\u22F5\u0338","∉":"\u2209","⋷":"\u22F7","⋶":"\u22F6","∌":"\u220C","∌":"\u220C","⋾":"\u22FE","⋽":"\u22FD","∦":"\u2226","∦":"\u2226","⫽⃥":"\u2AFD\u20E5","∂̸":"\u2202\u0338","⨔":"\u2A14","⊀":"\u2280","⋠":"\u22E0","⪯̸":"\u2AAF\u0338","⊀":"\u2280","⪯̸":"\u2AAF\u0338","⇏":"\u21CF","↛":"\u219B","⤳̸":"\u2933\u0338","↝̸":"\u219D\u0338","↛":"\u219B","⋫":"\u22EB","⋭":"\u22ED","⊁":"\u2281","⋡":"\u22E1","⪰̸":"\u2AB0\u0338","𝓃":"\u{1D4C3}","∤":"\u2224","∦":"\u2226","≁":"\u2241","≄":"\u2244","≄":"\u2244","∤":"\u2224","∦":"\u2226","⋢":"\u22E2","⋣":"\u22E3","⊄":"\u2284","⫅̸":"\u2AC5\u0338","⊈":"\u2288","⊂⃒":"\u2282\u20D2","⊈":"\u2288","⫅̸":"\u2AC5\u0338","⊁":"\u2281","⪰̸":"\u2AB0\u0338","⊅":"\u2285","⫆̸":"\u2AC6\u0338","⊉":"\u2289","⊃⃒":"\u2283\u20D2","⊉":"\u2289","⫆̸":"\u2AC6\u0338","≹":"\u2279","ñ":"\xF1","ñ":"\xF1","≸":"\u2278","⋪":"\u22EA","⋬":"\u22EC","⋫":"\u22EB","⋭":"\u22ED","ν":"\u03BD","#":"#","№":"\u2116"," ":"\u2007","⊭":"\u22AD","⤄":"\u2904","≍⃒":"\u224D\u20D2","⊬":"\u22AC","≥⃒":"\u2265\u20D2",">⃒":">\u20D2","⧞":"\u29DE","⤂":"\u2902","≤⃒":"\u2264\u20D2","<⃒":"<\u20D2","⊴⃒":"\u22B4\u20D2","⤃":"\u2903","⊵⃒":"\u22B5\u20D2","∼⃒":"\u223C\u20D2","⇖":"\u21D6","⤣":"\u2923","↖":"\u2196","↖":"\u2196","⤧":"\u2927","Ⓢ":"\u24C8","ó":"\xF3","ó":"\xF3","⊛":"\u229B","⊚":"\u229A","ô":"\xF4","ô":"\xF4","о":"\u043E","⊝":"\u229D","ő":"\u0151","⨸":"\u2A38","⊙":"\u2299","⦼":"\u29BC","œ":"\u0153","⦿":"\u29BF","𝔬":"\u{1D52C}","˛":"\u02DB","ò":"\xF2","ò":"\xF2","⧁":"\u29C1","⦵":"\u29B5","Ω":"\u03A9","∮":"\u222E","↺":"\u21BA","⦾":"\u29BE","⦻":"\u29BB","‾":"\u203E","⧀":"\u29C0","ō":"\u014D","ω":"\u03C9","ο":"\u03BF","⦶":"\u29B6","⊖":"\u2296","𝕠":"\u{1D560}","⦷":"\u29B7","⦹":"\u29B9","⊕":"\u2295","∨":"\u2228","↻":"\u21BB","⩝":"\u2A5D","ℴ":"\u2134","ℴ":"\u2134","ª":"\xAA","ª":"\xAA","º":"\xBA","º":"\xBA","⊶":"\u22B6","⩖":"\u2A56","⩗":"\u2A57","⩛":"\u2A5B","ℴ":"\u2134","ø":"\xF8","ø":"\xF8","⊘":"\u2298","õ":"\xF5","õ":"\xF5","⊗":"\u2297","⨶":"\u2A36","ö":"\xF6","ö":"\xF6","⌽":"\u233D","∥":"\u2225","¶":"\xB6","¶":"\xB6","∥":"\u2225","⫳":"\u2AF3","⫽":"\u2AFD","∂":"\u2202","п":"\u043F","%":"%",".":".","‰":"\u2030","⊥":"\u22A5","‱":"\u2031","𝔭":"\u{1D52D}","φ":"\u03C6","ϕ":"\u03D5","ℳ":"\u2133","☎":"\u260E","π":"\u03C0","⋔":"\u22D4","ϖ":"\u03D6","ℏ":"\u210F","ℎ":"\u210E","ℏ":"\u210F","+":"+","⨣":"\u2A23","⊞":"\u229E","⨢":"\u2A22","∔":"\u2214","⨥":"\u2A25","⩲":"\u2A72","±":"\xB1","±":"\xB1","⨦":"\u2A26","⨧":"\u2A27","±":"\xB1","⨕":"\u2A15","𝕡":"\u{1D561}","£":"\xA3","£":"\xA3","≺":"\u227A","⪳":"\u2AB3","⪷":"\u2AB7","≼":"\u227C","⪯":"\u2AAF","≺":"\u227A","⪷":"\u2AB7","≼":"\u227C","⪯":"\u2AAF","⪹":"\u2AB9","⪵":"\u2AB5","⋨":"\u22E8","≾":"\u227E","′":"\u2032","ℙ":"\u2119","⪵":"\u2AB5","⪹":"\u2AB9","⋨":"\u22E8","∏":"\u220F","⌮":"\u232E","⌒":"\u2312","⌓":"\u2313","∝":"\u221D","∝":"\u221D","≾":"\u227E","⊰":"\u22B0","𝓅":"\u{1D4C5}","ψ":"\u03C8"," ":"\u2008","𝔮":"\u{1D52E}","⨌":"\u2A0C","𝕢":"\u{1D562}","⁗":"\u2057","𝓆":"\u{1D4C6}","ℍ":"\u210D","⨖":"\u2A16","?":"?","≟":"\u225F",""":'"',""":'"',"⇛":"\u21DB","⇒":"\u21D2","⤜":"\u291C","⤏":"\u290F","⥤":"\u2964","∽̱":"\u223D\u0331","ŕ":"\u0155","√":"\u221A","⦳":"\u29B3","⟩":"\u27E9","⦒":"\u2992","⦥":"\u29A5","⟩":"\u27E9","»":"\xBB","»":"\xBB","→":"\u2192","⥵":"\u2975","⇥":"\u21E5","⤠":"\u2920","⤳":"\u2933","⤞":"\u291E","↪":"\u21AA","↬":"\u21AC","⥅":"\u2945","⥴":"\u2974","↣":"\u21A3","↝":"\u219D","⤚":"\u291A","∶":"\u2236","ℚ":"\u211A","⤍":"\u290D","❳":"\u2773","}":"}","]":"]","⦌":"\u298C","⦎":"\u298E","⦐":"\u2990","ř":"\u0159","ŗ":"\u0157","⌉":"\u2309","}":"}","р":"\u0440","⤷":"\u2937","⥩":"\u2969","”":"\u201D","”":"\u201D","↳":"\u21B3","ℜ":"\u211C","ℛ":"\u211B","ℜ":"\u211C","ℝ":"\u211D","▭":"\u25AD","®":"\xAE","®":"\xAE","⥽":"\u297D","⌋":"\u230B","𝔯":"\u{1D52F}","⇁":"\u21C1","⇀":"\u21C0","⥬":"\u296C","ρ":"\u03C1","ϱ":"\u03F1","→":"\u2192","↣":"\u21A3","⇁":"\u21C1","⇀":"\u21C0","⇄":"\u21C4","⇌":"\u21CC","⇉":"\u21C9","↝":"\u219D","⋌":"\u22CC","˚":"\u02DA","≓":"\u2253","⇄":"\u21C4","⇌":"\u21CC","‏":"\u200F","⎱":"\u23B1","⎱":"\u23B1","⫮":"\u2AEE","⟭":"\u27ED","⇾":"\u21FE","⟧":"\u27E7","⦆":"\u2986","𝕣":"\u{1D563}","⨮":"\u2A2E","⨵":"\u2A35",")":")","⦔":"\u2994","⨒":"\u2A12","⇉":"\u21C9","›":"\u203A","𝓇":"\u{1D4C7}","↱":"\u21B1","]":"]","’":"\u2019","’":"\u2019","⋌":"\u22CC","⋊":"\u22CA","▹":"\u25B9","⊵":"\u22B5","▸":"\u25B8","⧎":"\u29CE","⥨":"\u2968","℞":"\u211E","ś":"\u015B","‚":"\u201A","≻":"\u227B","⪴":"\u2AB4","⪸":"\u2AB8","š":"\u0161","≽":"\u227D","⪰":"\u2AB0","ş":"\u015F","ŝ":"\u015D","⪶":"\u2AB6","⪺":"\u2ABA","⋩":"\u22E9","⨓":"\u2A13","≿":"\u227F","с":"\u0441","⋅":"\u22C5","⊡":"\u22A1","⩦":"\u2A66","⇘":"\u21D8","⤥":"\u2925","↘":"\u2198","↘":"\u2198","§":"\xA7","§":"\xA7",";":";","⤩":"\u2929","∖":"\u2216","∖":"\u2216","✶":"\u2736","𝔰":"\u{1D530}","⌢":"\u2322","♯":"\u266F","щ":"\u0449","ш":"\u0448","∣":"\u2223","∥":"\u2225","­":"\xAD","­":"\xAD","σ":"\u03C3","ς":"\u03C2","ς":"\u03C2","∼":"\u223C","⩪":"\u2A6A","≃":"\u2243","≃":"\u2243","⪞":"\u2A9E","⪠":"\u2AA0","⪝":"\u2A9D","⪟":"\u2A9F","≆":"\u2246","⨤":"\u2A24","⥲":"\u2972","←":"\u2190","∖":"\u2216","⨳":"\u2A33","⧤":"\u29E4","∣":"\u2223","⌣":"\u2323","⪪":"\u2AAA","⪬":"\u2AAC","⪬︀":"\u2AAC\uFE00","ь":"\u044C","/":"/","⧄":"\u29C4","⌿":"\u233F","𝕤":"\u{1D564}","♠":"\u2660","♠":"\u2660","∥":"\u2225","⊓":"\u2293","⊓︀":"\u2293\uFE00","⊔":"\u2294","⊔︀":"\u2294\uFE00","⊏":"\u228F","⊑":"\u2291","⊏":"\u228F","⊑":"\u2291","⊐":"\u2290","⊒":"\u2292","⊐":"\u2290","⊒":"\u2292","□":"\u25A1","□":"\u25A1","▪":"\u25AA","▪":"\u25AA","→":"\u2192","𝓈":"\u{1D4C8}","∖":"\u2216","⌣":"\u2323","⋆":"\u22C6","☆":"\u2606","★":"\u2605","ϵ":"\u03F5","ϕ":"\u03D5","¯":"\xAF","⊂":"\u2282","⫅":"\u2AC5","⪽":"\u2ABD","⊆":"\u2286","⫃":"\u2AC3","⫁":"\u2AC1","⫋":"\u2ACB","⊊":"\u228A","⪿":"\u2ABF","⥹":"\u2979","⊂":"\u2282","⊆":"\u2286","⫅":"\u2AC5","⊊":"\u228A","⫋":"\u2ACB","⫇":"\u2AC7","⫕":"\u2AD5","⫓":"\u2AD3","≻":"\u227B","⪸":"\u2AB8","≽":"\u227D","⪰":"\u2AB0","⪺":"\u2ABA","⪶":"\u2AB6","⋩":"\u22E9","≿":"\u227F","∑":"\u2211","♪":"\u266A","¹":"\xB9","¹":"\xB9","²":"\xB2","²":"\xB2","³":"\xB3","³":"\xB3","⊃":"\u2283","⫆":"\u2AC6","⪾":"\u2ABE","⫘":"\u2AD8","⊇":"\u2287","⫄":"\u2AC4","⟉":"\u27C9","⫗":"\u2AD7","⥻":"\u297B","⫂":"\u2AC2","⫌":"\u2ACC","⊋":"\u228B","⫀":"\u2AC0","⊃":"\u2283","⊇":"\u2287","⫆":"\u2AC6","⊋":"\u228B","⫌":"\u2ACC","⫈":"\u2AC8","⫔":"\u2AD4","⫖":"\u2AD6","⇙":"\u21D9","⤦":"\u2926","↙":"\u2199","↙":"\u2199","⤪":"\u292A","ß":"\xDF","ß":"\xDF","⌖":"\u2316","τ":"\u03C4","⎴":"\u23B4","ť":"\u0165","ţ":"\u0163","т":"\u0442","⃛":"\u20DB","⌕":"\u2315","𝔱":"\u{1D531}","∴":"\u2234","∴":"\u2234","θ":"\u03B8","ϑ":"\u03D1","ϑ":"\u03D1","≈":"\u2248","∼":"\u223C"," ":"\u2009","≈":"\u2248","∼":"\u223C","þ":"\xFE","þ":"\xFE","˜":"\u02DC","×":"\xD7","×":"\xD7","⊠":"\u22A0","⨱":"\u2A31","⨰":"\u2A30","∭":"\u222D","⤨":"\u2928","⊤":"\u22A4","⌶":"\u2336","⫱":"\u2AF1","𝕥":"\u{1D565}","⫚":"\u2ADA","⤩":"\u2929","‴":"\u2034","™":"\u2122","▵":"\u25B5","▿":"\u25BF","◃":"\u25C3","⊴":"\u22B4","≜":"\u225C","▹":"\u25B9","⊵":"\u22B5","◬":"\u25EC","≜":"\u225C","⨺":"\u2A3A","⨹":"\u2A39","⧍":"\u29CD","⨻":"\u2A3B","⏢":"\u23E2","𝓉":"\u{1D4C9}","ц":"\u0446","ћ":"\u045B","ŧ":"\u0167","≬":"\u226C","↞":"\u219E","↠":"\u21A0","⇑":"\u21D1","⥣":"\u2963","ú":"\xFA","ú":"\xFA","↑":"\u2191","ў":"\u045E","ŭ":"\u016D","û":"\xFB","û":"\xFB","у":"\u0443","⇅":"\u21C5","ű":"\u0171","⥮":"\u296E","⥾":"\u297E","𝔲":"\u{1D532}","ù":"\xF9","ù":"\xF9","↿":"\u21BF","↾":"\u21BE","▀":"\u2580","⌜":"\u231C","⌜":"\u231C","⌏":"\u230F","◸":"\u25F8","ū":"\u016B","¨":"\xA8","¨":"\xA8","ų":"\u0173","𝕦":"\u{1D566}","↑":"\u2191","↕":"\u2195","↿":"\u21BF","↾":"\u21BE","⊎":"\u228E","υ":"\u03C5","ϒ":"\u03D2","υ":"\u03C5","⇈":"\u21C8","⌝":"\u231D","⌝":"\u231D","⌎":"\u230E","ů":"\u016F","◹":"\u25F9","𝓊":"\u{1D4CA}","⋰":"\u22F0","ũ":"\u0169","▵":"\u25B5","▴":"\u25B4","⇈":"\u21C8","ü":"\xFC","ü":"\xFC","⦧":"\u29A7","⇕":"\u21D5","⫨":"\u2AE8","⫩":"\u2AE9","⊨":"\u22A8","⦜":"\u299C","ϵ":"\u03F5","ϰ":"\u03F0","∅":"\u2205","ϕ":"\u03D5","ϖ":"\u03D6","∝":"\u221D","↕":"\u2195","ϱ":"\u03F1","ς":"\u03C2","⊊︀":"\u228A\uFE00","⫋︀":"\u2ACB\uFE00","⊋︀":"\u228B\uFE00","⫌︀":"\u2ACC\uFE00","ϑ":"\u03D1","⊲":"\u22B2","⊳":"\u22B3","в":"\u0432","⊢":"\u22A2","∨":"\u2228","⊻":"\u22BB","≚":"\u225A","⋮":"\u22EE","|":"|","|":"|","𝔳":"\u{1D533}","⊲":"\u22B2","⊂⃒":"\u2282\u20D2","⊃⃒":"\u2283\u20D2","𝕧":"\u{1D567}","∝":"\u221D","⊳":"\u22B3","𝓋":"\u{1D4CB}","⫋︀":"\u2ACB\uFE00","⊊︀":"\u228A\uFE00","⫌︀":"\u2ACC\uFE00","⊋︀":"\u228B\uFE00","⦚":"\u299A","ŵ":"\u0175","⩟":"\u2A5F","∧":"\u2227","≙":"\u2259","℘":"\u2118","𝔴":"\u{1D534}","𝕨":"\u{1D568}","℘":"\u2118","≀":"\u2240","≀":"\u2240","𝓌":"\u{1D4CC}","⋂":"\u22C2","◯":"\u25EF","⋃":"\u22C3","▽":"\u25BD","𝔵":"\u{1D535}","⟺":"\u27FA","⟷":"\u27F7","ξ":"\u03BE","⟸":"\u27F8","⟵":"\u27F5","⟼":"\u27FC","⋻":"\u22FB","⨀":"\u2A00","𝕩":"\u{1D569}","⨁":"\u2A01","⨂":"\u2A02","⟹":"\u27F9","⟶":"\u27F6","𝓍":"\u{1D4CD}","⨆":"\u2A06","⨄":"\u2A04","△":"\u25B3","⋁":"\u22C1","⋀":"\u22C0","ý":"\xFD","ý":"\xFD","я":"\u044F","ŷ":"\u0177","ы":"\u044B","¥":"\xA5","¥":"\xA5","𝔶":"\u{1D536}","ї":"\u0457","𝕪":"\u{1D56A}","𝓎":"\u{1D4CE}","ю":"\u044E","ÿ":"\xFF","ÿ":"\xFF","ź":"\u017A","ž":"\u017E","з":"\u0437","ż":"\u017C","ℨ":"\u2128","ζ":"\u03B6","𝔷":"\u{1D537}","ж":"\u0436","⇝":"\u21DD","𝕫":"\u{1D56B}","𝓏":"\u{1D4CF}","‍":"\u200D","‌":"\u200C"},Ju=Qs;function Zs(u){return u.replace(/&(#\d+|#x[a-f0-9]+|[a-z]+\d*);?/gi,(e,t)=>{if(typeof Ju[e]=="string")return Ju[e];if(t.charAt(0)!=="#"||e.charAt(e.length-1)!==";")return e;let r;t.charAt(1)==="x"?r=parseInt(t.substr(2),16):r=parseInt(t.substr(1),10);var a="";return r>=55296&&r<=57343||r>1114111?"\uFFFD":(r>65535&&(r-=65536,a+=String.fromCharCode(r>>>10&1023|55296),r=56320|r&1023),a+=String.fromCharCode(r),a)})}function z(u){return u.trim().replace(/[<>"'?&]/g,e=>{let t=e.charCodeAt(0).toString(16);return t.length<2&&(t="0"+t),"&#x"+t.toUpperCase()+";"})}function Sr(u){return"
"+z(u).replace(/\n/g,"
")+"
"}function Nr(u){return u=u.replace(/\r?\n/g,"").replace(/<\!\-\-.*?\-\->/gi," ").replace(/]*>/gi,` -`).replace(/<\/?(p|div|table|tr|td|th)\b[^>]*>/gi,` - -`).replace(/]*>.*?<\/script\b[^>]*>/gi," ").replace(/^.*]*>/i,"").replace(/^.*<\/head\b[^>]*>/i,"").replace(/^.*<\!doctype\b[^>]*>/i,"").replace(/<\/body\b[^>]*>.*$/i,"").replace(/<\/html\b[^>]*>.*$/i,"").replace(/]*href\s*=\s*["']?([^\s"']+)[^>]*>/gi," ($1) ").replace(/<\/?(span|em|i|strong|b|u|a)\b[^>]*>/gi,"").replace(/]*>[\n\u0001\s]*/gi,"* ").replace(/]*>/g,` -------------- -`).replace(/<[^>]*>/g," ").replace(/\u0001/g,` -`).replace(/[ \t]+/g," ").replace(/^\s+$/gm,"").replace(/\n\n+/g,` - -`).replace(/^\n+/,` -`).replace(/\n+$/,` -`),u=Zs(u),u}function Ir(u){return[].concat(u.name||[]).concat(u.name?`<${u.address}>`:u.address).join(" ")}function Ku(u){let e=[],t=(r,a)=>{if(a&&e.push(", "),r.group){let s=`${r.name}:`,n=";";e.push(s),r.group.forEach(t),e.push(n)}else e.push(Ir(r))};return u.forEach(t),e.join("")}function qr(u){return``}function Qu(u){let e=[],t=(r,a)=>{if(a&&e.push(''),r.group){let s=``,n='';e.push(s),r.group.forEach(t),e.push(n)}else e.push(qr(r))};return u.forEach(t),e.join(" ")}function Xs(u,e,t){u=(u||"").toString(),e=e||76;let r=0,a=u.length,s="",n,i;for(;r"u"?u.date:new Intl.DateTimeFormat("default",n).format(new Date(u.date));e.push({key:"Date",val:i})}u.to&&u.to.length&&e.push({key:"To",val:Ku(u.to)}),u.cc&&u.cc.length&&e.push({key:"Cc",val:Ku(u.cc)}),u.bcc&&u.bcc.length&&e.push({key:"Bcc",val:Ku(u.bcc)});let t=e.map(n=>n.key.length).reduce((n,i)=>i>n?i:n,0);e=e.flatMap(n=>{let i=t-n.key.length,o=`${n.key}: ${" ".repeat(i)}`,c=`${" ".repeat(n.key.length+1)} ${" ".repeat(i)}`;return Xs(n.val,80,!0).split(/\r?\n/).map(h=>h.trim()).map((h,m)=>`${m?c:o}${h}`)});let r=e.map(n=>n.length).reduce((n,i)=>i>n?i:n,0),a="-".repeat(r);return` -${a} -${e.join(` -`)} -${a} -`}function Xu(u){let e=[];if(u.from&&e.push(``),u.subject&&e.push(``),u.date){let r={year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric",hour12:!1},a=typeof Intl>"u"?u.date:new Intl.DateTimeFormat("default",r).format(new Date(u.date));e.push(``)}return u.to&&u.to.length&&e.push(``),u.cc&&u.cc.length&&e.push(``),u.bcc&&u.bcc.length&&e.push(``),``}function Ys(u){let e,t=!1,r="text",a,s=[],n={address:[],comment:[],group:[],text:[]},i,o;for(i=0,o=u.length;i=0;i--)if(n.text[i].match(/^[^@\s]+@[^@\s]+$/)){n.address=n.text.splice(i,1);break}let c=function(l){return n.address.length?l:(n.address=[l.trim()]," ")};if(!n.address.length)for(i=n.text.length-1;i>=0&&(n.text[i]=n.text[i].replace(/\s*\b[^@\s]+@[^\s]+\b\s*/,c).trim(),!n.address.length);i--);}if(!n.text.length&&n.comment.length&&(n.text=n.comment,n.comment=[]),n.address.length>1&&(n.text=n.text.concat(n.address.splice(1))),n.text=n.text.join(" "),n.address=n.address.join(" "),!n.address&&/^=\?[^=]+?=$/.test(n.text.trim())){let c=et(G(n.text));if(c&&c.length)return c}if(!n.address&&t)return[];a={address:n.address||n.text||"",name:G(n.text||n.address||"")},a.address===a.name&&((a.address||"").match(/@/)?a.name="":a.address=""),s.push(a)}return s}var Yu=class{constructor(e){this.str=(e||"").toString(),this.operatorCurrent="",this.operatorExpecting="",this.node=null,this.escaped=!1,this.list=[],this.operators={'"':'"',"(":")","<":">",",":"",":":";",";":""}}tokenize(){let e,t=[];for(let r=0,a=this.str.length;r{r.value=(r.value||"").toString().trim(),r.value&&t.push(r)}),t}checkChar(e){if(!this.escaped){if(e===this.operatorExpecting){this.node={type:"operator",value:e},this.list.push(this.node),this.node=null,this.operatorExpecting="",this.escaped=!1;return}else if(!this.operatorExpecting&&e in this.operators){this.node={type:"operator",value:e},this.list.push(this.node),this.node=null,this.operatorExpecting=this.operators[e],this.escaped=!1;return}else if(['"',"'"].includes(this.operatorExpecting)&&e==="\\"){this.escaped=!0;return}}this.node||(this.node={type:"text",value:""},this.list.push(this.node)),e===` -`&&(e=" "),(e.charCodeAt(0)>=33||[" "," "].includes(e))&&(this.node.value+=e),this.escaped=!1}};function et(u,e){e=e||{};let r=new Yu(u).tokenize(),a=[],s=[],n=[];if(r.forEach(i=>{i.type==="operator"&&(i.value===","||i.value===";")?(s.length&&a.push(s),s=[]):s.push(i)}),s.length&&a.push(s),a.forEach(i=>{i=Ys(i),i.length&&(n=n.concat(i))}),e.flatten){let i=[],o=c=>{c.forEach(l=>{if(l.group)return o(l.group);i.push(l)})};return o(n),i}return n}var ou=et;var Re=class u{static parse(e,t){return new u(t).parse(e)}constructor(e){this.options=e||{},this.root=this.currentNode=new oe({postalMime:this}),this.boundaries=[],this.textContent={},this.attachments=[],this.started=!1}async finalize(){await this.root.finalize()}async processLine(e,t){let r=this.boundaries;if(r.length&&e.length>2&&e[0]===45&&e[1]===45)for(let a=r.length-1;a>=0;a--){let s=r[a];if(e.length!==s.value.length+2&&e.length!==s.value.length+4)continue;let n=e.length===s.value.length+4;if(n&&(e[e.length-2]!==45||e[e.length-1]!==45))continue;let i=!0;for(let o=0;o({bytes:new Uint8Array(this.buf,e,t-e),done:this.readPos>=this.av.length});for(;this.readPos{if(i=i||!1,o=o||!1,n.contentType.multipart)n.contentType.multipart==="alternative"?i=n:n.contentType.multipart==="related"&&(o=n);else if(this.isInlineMessageRfc822(n)&&!a){let c=new u;n.subMessage=await c.parse(n.content),r.has(n)||r.set(n,{});let l=r.get(n);(n.subMessage.text||!n.subMessage.html)&&(l.plain=l.plain||[],l.plain.push({type:"subMessage",value:n.subMessage}),t.add("plain")),n.subMessage.html&&(l.html=l.html||[],l.html.push({type:"subMessage",value:n.subMessage}),t.add("html")),c.textMap&&c.textMap.forEach((h,m)=>{r.set(m,h)});for(let h of n.subMessage.attachments||[])this.attachments.push(h)}else if(this.isInlineTextNode(n)){let c=n.contentType.parsed.value.substr(n.contentType.parsed.value.indexOf("/")+1),l=i||n;r.has(l)||r.set(l,{});let h=r.get(l);h[c]=h[c]||[],h[c].push({type:"text",value:n.getTextContent()}),t.add(c)}else if(n.content){let c=n.contentDisposition.parsed.params.filename||n.contentType.parsed.params.name||null,l={filename:c?G(c):null,mimeType:n.contentType.parsed.value,disposition:n.contentDisposition.parsed.value||null};switch(o&&n.contentId&&(l.related=!0),n.contentDescription&&(l.description=n.contentDescription),n.contentId&&(l.contentId=n.contentId),n.contentType.parsed.value){case"text/calendar":case"application/ics":{n.contentType.parsed.params.method&&(l.method=n.contentType.parsed.params.method.toString().toUpperCase().trim());let h=n.getTextContent().replace(/\r?\n/g,` -`).replace(/\n*$/,` -`);l.content=$.encode(h);break}default:l.content=n.content}this.attachments.push(l)}for(let c of n.childNodes)await s(c,i,o)};await s(this.root,!1,[]),r.forEach(n=>{t.forEach(i=>{if(e[i]||(e[i]=[]),n[i])n[i].forEach(o=>{switch(o.type){case"text":e[i].push(o.value);break;case"subMessage":switch(i){case"html":e[i].push(Xu(o.value));break;case"plain":e[i].push(Zu(o.value));break}break}});else{let o;switch(i){case"html":o="plain";break;case"plain":o="html";break}(n[o]||[]).forEach(c=>{switch(c.type){case"text":switch(i){case"html":e[i].push(Sr(c.value));break;case"plain":e[i].push(Nr(c.value));break}break;case"subMessage":switch(i){case"html":e[i].push(Xu(c.value));break;case"plain":e[i].push(Zu(c.value));break}break}})}})}),Object.keys(e).forEach(n=>{e[n]=e[n].join(` -`)}),this.textContent=e}isInlineTextNode(e){if(e.contentDisposition.parsed.value==="attachment")return!1;switch(e.contentType.parsed.value){case"text/html":case"text/plain":return!0;case"text/calendar":case"text/csv":default:return!1}}isInlineMessageRfc822(e){return e.contentType.parsed.value!=="message/rfc822"?!1:(e.contentDisposition.parsed.value||(this.options.rfc822Attachments?"attachment":"inline"))==="inline"}forceRfc822Attachments(){if(this.options.forceRfc822Attachments)return!0;let e=!1,t=r=>{r.contentType.multipart||["message/delivery-status","message/feedback-report"].includes(r.contentType.parsed.value)&&(e=!0);for(let a of r.childNodes)t(a)};return t(this.root),e}async resolveStream(e){let t=0,r=[],a=e.getReader();for(;;){let{done:i,value:o}=await a.read();if(i)break;r.push(o),t+=o.length}let s=new Uint8Array(t),n=0;for(let i of r)s.set(i,n),n+=i.length;return s}async parse(e){if(this.started)throw new Error("Can not reuse parser, create a new PostalMime object");for(this.started=!0,e&&typeof e.getReader=="function"&&(e=await this.resolveStream(e)),e=e||new ArrayBuffer(0),typeof e=="string"&&(e=$.encode(e)),(e instanceof Blob||Object.prototype.toString.call(e)==="[object Blob]")&&(e=await V(e)),e.buffer instanceof ArrayBuffer&&(e=new Uint8Array(e).buffer),this.buf=e,this.av=new Uint8Array(e),this.readPos=0;this.readPos({key:a.key,value:a.value})).reverse()};for(let a of["from","sender"]){let s=this.root.headers.find(n=>n.key===a);if(s&&s.value){let n=ou(s.value);n&&n.length&&(t[a]=n[0])}}for(let a of["delivered-to","return-path"]){let s=this.root.headers.find(n=>n.key===a);if(s&&s.value){let n=ou(s.value);if(n&&n.length&&n[0].address){let i=a.replace(/\-(.)/g,(o,c)=>c.toUpperCase());t[i]=n[0].address}}}for(let a of["to","cc","bcc","reply-to"]){let s=this.root.headers.filter(i=>i.key===a),n=[];if(s.filter(i=>i&&i.value).map(i=>ou(i.value)).forEach(i=>n=n.concat(i||[])),n&&n.length){let i=a.replace(/\-(.)/g,(o,c)=>c.toUpperCase());t[i]=n}}for(let a of["subject","message-id","in-reply-to","references"]){let s=this.root.headers.find(n=>n.key===a);if(s&&s.value){let n=a.replace(/\-(.)/g,(i,o)=>o.toUpperCase());t[n]=G(s.value)}}let r=this.root.headers.find(a=>a.key==="date");if(r){let a=new Date(r.value);!a||a.toString()==="Invalid Date"?a=r.value:a=a.toISOString(),t.date=a}return this.textContent?.html&&(t.html=this.textContent.html),this.textContent?.plain&&(t.text=this.textContent.plain),t.attachments=this.attachments,t}};async function e0(u,e){let t=new Uint8Array(e),r=u.getReader(),a=0;try{for(;ae)switch(t){case"unhandled":return a.text=`The original size of the email was ${s} bytes, which exceeds the maximum size of ${e} bytes.`,a.html=a.text,a;case"truncate":s=e,n="truncate";break;default:break}try{let i=await e0(u.raw,s),c=await new Re().parse(i);c.html&&(a.html=c.html),c.text?a.text=c.text:c.html&&(a.text=Br(c.html,{})),n==="truncate"&&(a.text+=` - -[Truncated] The original size of the email was ${u.rawSize} bytes, which exceeds the maximum size of ${e} bytes.`)}catch(i){let o=`Error parsing email: ${i.message}`;a.text=o,a.html=o}return a}function Fr(u,e){return e(u,"WebAppData")}function ut(u){return new Uint8Array(u).reduce((e,t)=>e+t.toString(16).padStart(2,"0"),"")}function u0(u){if(u.length%2!==0)throw new Error("Hex string must have an even number of characters");let e=new ArrayBuffer(u.length/2),t=new Uint8Array(e);for(let r=0;rt(u,n)).then(ut);let s=t(u,a);return s instanceof Promise?s.then(ut):ut(s)}var cu=class Mr extends Error{constructor(e,t,r){super(typeof t=="object"?t.message:t||e,{cause:typeof t=="object"?t.cause:r}),this.type=e,this.name="TypedError",Object.setPrototypeOf(this,Mr.prototype)}};var t0="ERR_AUTH_DATE_INVALID",r0="ERR_HASH_INVALID";var a0="ERR_EXPIRED",n0="ERR_SIGN_INVALID";function _r(u,e){if(u!==e)throw new cu(n0,"Sign is invalid")}function Or(u,e,t,r={}){let a,s,n=[];if((typeof u=="string"?new URLSearchParams(u):u).forEach((c,l)=>{if(l==="hash"){s=c;return}if(l==="auth_date"){let h=parseInt(c,10);Number.isNaN(h)||(a=new Date(h*1e3))}n.push(`${l}=${c}`)}),!s)throw new cu(r0,"Hash is invalid");if(!a)throw new cu(t0,"Auth date is invalid");let{expiresIn:i=86400}=r;if(i>0&&+a+i*1e3_r(c,s))}var lu=class u extends Error{constructor(e,t,r){super(typeof t=="object"?t.message:t||e,{cause:typeof t=="object"?t.cause:r}),this.type=e,this.name="TypedError",Object.setPrototypeOf(this,u.prototype)}};var s0="ERR_UNEXPECTED_TYPE",i0="ERR_PARSE";function du(u,e){return t=>{let r=a=>{if(!(t&&a===void 0))try{return e(a)}catch(s){throw new lu(i0,{message:`"${u}" transformer failed to parse the value`,cause:s})}};return Object.assign(r,{isValid(a){try{return r(a),!0}catch{return!1}}})}}function tt(u){throw new lu(s0,`Unexpected value received: ${JSON.stringify(u)}`)}var No=du("boolean",u=>{if(typeof u=="boolean")return u;let e=String(u);if(e==="1"||e==="true")return!0;if(e==="0"||e==="false")return!1;tt(u)}),Io=du("string",u=>{if(typeof u=="string"||typeof u=="number")return u.toString();tt(u)}),o0=du("number",u=>{if(typeof u=="number")return u;if(typeof u=="string"){let e=Number(u);if(!Number.isNaN(e))return e}tt(u)}),qo=du("date",u=>u instanceof Date?u:new Date(o0()(u)*1e3));var c0=async(u,e)=>{let t=new TextEncoder;return crypto.subtle.sign("HMAC",await crypto.subtle.importKey("raw",typeof e=="string"?t.encode(e):e,{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"]),typeof u=="string"?t.encode(u):u)};function l0(u,e,t){return Pr(u,e,c0,t)}function Ur(u,e,t){return Promise.resolve().then(()=>Or(u,e,l0,t))}var $r=({base:u="",routes:e=[],...t}={})=>({__proto__:new Proxy({},{get:(r,a,s,n)=>(i,...o)=>e.push([a.toUpperCase?.(),RegExp(`^${(n=(u+i).replace(/\/+(\/|$)/g,"$1")).replace(/(\/?\.?):(\w+)\+/g,"($1(?<$2>*))").replace(/(\/?\.?):(\w+)/g,"($1(?<$2>[^$1/]+?))").replace(/\./g,"\\.").replace(/(\/?)\*/g,"($1.*)?")}/*$`),o,n])&&s}),routes:e,...t,async fetch(r,...a){let s,n,i=new URL(r.url),o=r.query={__proto__:null};for(let[c,l]of i.searchParams)o[c]=o[c]?[].concat(o[c],l):l;e:try{for(let c of t.before||[])if((s=await c(r.proxy??r,...a))!=null)break e;u:for(let[c,l,h,m]of e)if((c==r.method||c=="ALL")&&(n=i.pathname.match(l))){r.params=n.groups||{},r.route=m;for(let p of h)if((s=await p(r.proxy??r,...a))!=null)break u}}catch(c){if(!t.catch)throw c;s=await t.catch(c,r.proxy??r,...a)}try{for(let c of t.finally||[])s=await c(s,r.proxy??r,...a)??s}catch(c){if(!t.catch)throw c;s=await t.catch(c,r.proxy??r,...a)}return s}}),ce=(u="text/plain; charset=utf-8",e)=>(t,r={})=>{if(t===void 0||t instanceof Response)return t;let a=new Response(e?.(t)??t,r.url?void 0:r);return a.headers.set("content-type",u),a},Vr=ce("application/json; charset=utf-8",JSON.stringify);var Oo=ce("text/plain; charset=utf-8",String),Uo=ce("text/html"),$o=ce("image/jpeg"),Vo=ce("image/png"),Ho=ce("image/webp");var rt=class{token;baseURL="https://api.telegram.org";constructor(e,t){for(this.token=e,t&&(this.baseURL=t);this.baseURL.endsWith("/");)this.baseURL=this.baseURL.slice(0,-1);this.request=this.request.bind(this),this.requestJSON=this.requestJSON.bind(this)}uri(e){return`${this.baseURL}/bot${this.token}/${e}`}jsonRequest(e,t){return fetch(this.uri(e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}formDataRequest(e,t){let r=new FormData;for(let a in t){let s=t[a];s instanceof File?r.append(a,s,s.name):s instanceof Blob?r.append(a,s,"blob"):typeof s=="string"?r.append(a,s):r.append(a,JSON.stringify(s))}return fetch(this.uri(e),{method:"POST",body:r})}request(e,t){for(let r in t)if(t[r]instanceof File||t[r]instanceof Blob)return this.formDataRequest(e,t);return this.jsonRequest(e,t)}async requestJSON(e,t){return this.request(e,t).then(r=>r.json())}};function le(u){let e=new rt(u);return new Proxy(e,{get(t,r,a){return r in t?Reflect.get(t,r,a):(...s)=>{if(typeof r=="string"&&r.endsWith("WithReturns")){let n=r.slice(0,-11);return Reflect.apply(t.requestJSON,t,[n,...s])}return Reflect.apply(t.request,t,[r,...s])}}})}var _e={test:"Test an email address",white:"Manage the white list",block:"Manage the block list"},Hr=[{command:"id",description:"/id - Get your chat ID"},{command:"test",description:`/test - ${_e.test}`},{command:"white",description:`/white - ${_e.white}`},{command:"block",description:`/block - ${_e.block}`}];async function jr(u,e,t,r){if(!u||!e||!t)return"Sorry, the OpenAI API is not configured properly.";let a=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${u}`},body:JSON.stringify({model:t,messages:[{role:"system",content:"You are a professional email summarization assistant."},{role:"user",content:r}]})});if(!a.ok)throw new Error(`OpenAI API request failed: ${a.status}`);return(await a.json())?.choices?.[0]?.message?.content||""}async function at(u,e){let{DEBUG:t,OPENAI_API_KEY:r,DOMAIN:a}=e,s=` -${u.subject} - ------------ -From : ${u.from} -To : ${u.to} - `,n=`https://${a}/email/${u.id}?mode=text`,i=`https://${a}/email/${u.id}?mode=html`,o=[{text:"Preview",callback_data:`p:${u.id}`},{text:"Text",url:n},{text:"HTML",url:i}];return r&&o.splice(1,0,{text:"Summary",callback_data:`s:${u.id}`}),t==="true"&&o.push({text:"Debug",callback_data:`d:${u.id}`}),{text:s,reply_markup:{inline_keyboard:[o]},link_preview_options:{is_disabled:!0}}}function nt(u,e){return{text:u||"No content",reply_markup:{inline_keyboard:[[{text:"Back",callback_data:`l:${e}`},{text:"Delete",callback_data:"delete"}]]},link_preview_options:{is_disabled:!0}}}async function Wr(u,e){return nt(u.text?.substring(0,4096),u.id)}async function Gr(u,e){let{OPENAI_API_KEY:t,OPENAI_COMPLETIONS_API:r,OPENAI_CHAT_MODEL:a,SUMMARY_TARGET_LANG:s}=e,n=nt("",u.id);r=r||"https://api.openai.com/v1/chat/completions",a=a||"gpt-4o-mini",s=s||"english";let i=`Summarize the following text in approximately 50 words with ${s} - -${u.text}`;return n.text=await jr(t??"",r,a,i),n}async function zr(u,e){let t=[u.from,u.to],r=await pu(t,e),a={...u,block:r};delete a.html,delete a.text;let s=JSON.stringify(a,null,2);return nt(s,u.id)}async function Kr(u,e){let{TELEGRAM_TOKEN:t,TELEGRAM_ID:r}=e,a=await at(u,e),s=le(t);for(let n of r.split(","))await s.sendMessage({chat_id:n,...a})}async function d0(u,e){let[t]=u.text?.split(/ (.*)/)||[""];if(!t.startsWith("/"))return console.log(`Invalid command: ${t}`),null;t=t.substring(1);let r={id:Jr(e),start:Jr(e),test:Fe(e,"test",null),white:Fe(e,"white",null),block:Fe(e,"block",null)};return r[t]?await r[t](u):Fe(e,"",`Unknown command: ${t}, try to reinitialize the bot.`)(u)}function Jr(u){return async e=>{let t=`Your chat ID is ${e.chat.id}`;return await Fe(u,"",t)(e)}}function Fe(u,e,t){return async r=>{let{TELEGRAM_TOKEN:a,DOMAIN:s}=u,n={chat_id:r.chat.id,text:t||_e[e]||"Address Manager",reply_markup:{inline_keyboard:[[{text:"Open Manager",web_app:{url:`https://${s}/tma?mode=${e}`}}]]}};return await le(a).sendMessage(n)}}async function f0(u,e){let{TELEGRAM_TOKEN:t,DB:r}=e,a=u.data,s=u.id,n=u.message?.chat?.id,i=u.message?.message_id,o=le(t),c=new N(r);if(!a||!n||!i){console.log(`Invalid callback data: ${JSON.stringify({data:a,callbackId:s,chatId:n,messageId:i})}`);return}console.log(`Received callback: ${JSON.stringify({data:a,callbackId:s,chatId:n,messageId:i})}`);let l=A=>async B=>{let J=await c.loadMailCache(B);if(!J)throw new Error("Error: Email not found or expired.");let de=await A(J,e),O={chat_id:n,message_id:i,...de};await o.editMessageText(O)},h=async A=>{await o.deleteMessage({chat_id:n,message_id:i})},m={p:l(Wr),l:l(at),s:l(Gr),d:l(zr),delete:h},[p,x]=a.split(/:(.*)/);if(m[p]){try{await m[p](x)}catch(A){await o.answerCallbackQuery({callback_query_id:s,text:A.message,show_alert:!0})}return}console.log(`Unknown data: ${a}`)}async function Qr(u,e){let t=await u.json();return t?.message&&await d0(t?.message,e),t?.callback_query&&await f0(t?.callback_query,e),null}var Zr=` +var ra=Object.create;var it=Object.defineProperty;var aa=Object.getOwnPropertyDescriptor;var na=Object.getOwnPropertyNames;var sa=Object.getPrototypeOf,ia=Object.prototype.hasOwnProperty;var oa=(u,e)=>()=>(e||u((e={exports:{}}).exports,e),e.exports);var ca=(u,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of na(e))!ia.call(u,a)&&a!==t&&it(u,a,{get:()=>e[a],enumerable:!(r=aa(e,a))||r.enumerable});return u};var la=(u,e,t)=>(t=u!=null?ra(sa(u)):{},ca(e||!u||!u.__esModule?it(t,"default",{value:u,enumerable:!0}):t,u));var Dr=oa((Do,wr)=>{"use strict";var rs=function(e){return as(e)&&!ns(e)};function as(u){return!!u&&typeof u=="object"}function ns(u){var e=Object.prototype.toString.call(u);return e==="[object RegExp]"||e==="[object Date]"||os(u)}var ss=typeof Symbol=="function"&&Symbol.for,is=ss?Symbol.for("react.element"):60103;function os(u){return u.$$typeof===is}function cs(u){return Array.isArray(u)?[]:{}}function Le(u,e){return e.clone!==!1&&e.isMergeableObject(u)?oe(cs(u),u,e):u}function ls(u,e,t){return u.concat(e).map(function(r){return Le(r,t)})}function ds(u,e){if(!e.customMerge)return oe;var t=e.customMerge(u);return typeof t=="function"?t:oe}function fs(u){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(u).filter(function(e){return Object.propertyIsEnumerable.call(u,e)}):[]}function yr(u){return Object.keys(u).concat(fs(u))}function Ar(u,e){try{return e in u}catch{return!1}}function hs(u,e){return Ar(u,e)&&!(Object.hasOwnProperty.call(u,e)&&Object.propertyIsEnumerable.call(u,e))}function ps(u,e,t){var r={};return t.isMergeableObject(u)&&yr(u).forEach(function(a){r[a]=Le(u[a],t)}),yr(e).forEach(function(a){hs(u,a)||(Ar(u,a)&&t.isMergeableObject(e[a])?r[a]=ds(a,t)(u[a],e[a],t):r[a]=Le(e[a],t))}),r}function oe(u,e,t){t=t||{},t.arrayMerge=t.arrayMerge||ls,t.isMergeableObject=t.isMergeableObject||rs,t.cloneUnlessOtherwiseSpecified=Le;var r=Array.isArray(e),a=Array.isArray(u),s=r===a;return s?r?t.arrayMerge(u,e,t):ps(u,e,t):Le(e,t)}oe.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce(function(r,a){return oe(r,a,t)},{})};var ms=oe;wr.exports=ms});function ct(u,e){return e(u,"WebAppData")}function mu(u){return new Uint8Array(u).reduce((e,t)=>e+t.toString(16).padStart(2,"0"),"")}function da(u){if(u.length%2!==0)throw new Error("Hex string must have an even number of characters");let e=new ArrayBuffer(u.length/2),t=new Uint8Array(e);for(let r=0;rt(u,n)).then(mu);let s=t(u,a);return s instanceof Promise?s.then(mu):mu(s)}var Me=class dt extends Error{constructor(e,t,r){super(typeof t=="object"?t.message:t||e,{cause:typeof t=="object"?t.cause:r}),this.type=e,this.name="TypedError",Object.setPrototypeOf(this,dt.prototype)}};var fa="ERR_AUTH_DATE_INVALID",ha="ERR_HASH_INVALID";var pa="ERR_EXPIRED",ma="ERR_SIGN_INVALID";function ot(u,e){if(u!==e)throw new Me(ma,"Sign is invalid")}function ft(u,e,t,r={}){let a,s,n=[];if((typeof u=="string"?new URLSearchParams(u):u).forEach((c,l)=>{if(l==="hash"){s=c;return}if(l==="auth_date"){let h=parseInt(c,10);Number.isNaN(h)||(a=new Date(h*1e3))}n.push(`${l}=${c}`)}),!s)throw new Me(ha,"Hash is invalid");if(!a)throw new Me(fa,"Auth date is invalid");let{expiresIn:i=86400}=r;if(i>0&&+a+i*1e3ot(c,s))}var Oe=class u extends Error{constructor(e,t,r){super(typeof t=="object"?t.message:t||e,{cause:typeof t=="object"?t.cause:r}),this.type=e,this.name="TypedError",Object.setPrototypeOf(this,u.prototype)}};var ba="ERR_UNEXPECTED_TYPE",ga="ERR_PARSE";function Ue(u,e){return t=>{let r=a=>{if(!(t&&a===void 0))try{return e(a)}catch(s){throw new Oe(ga,{message:`"${u}" transformer failed to parse the value`,cause:s})}};return Object.assign(r,{isValid(a){try{return r(a),!0}catch{return!1}}})}}function bu(u){throw new Oe(ba,`Unexpected value received: ${JSON.stringify(u)}`)}var Ei=Ue("boolean",u=>{if(typeof u=="boolean")return u;let e=String(u);if(e==="1"||e==="true")return!0;if(e==="0"||e==="false")return!1;bu(u)}),vi=Ue("string",u=>{if(typeof u=="string"||typeof u=="number")return u.toString();bu(u)}),xa=Ue("number",u=>{if(typeof u=="number")return u;if(typeof u=="string"){let e=Number(u);if(!Number.isNaN(e))return e}bu(u)}),ki=Ue("date",u=>u instanceof Date?u:new Date(xa()(u)*1e3));var ya=async(u,e)=>{let t=new TextEncoder;return crypto.subtle.sign("HMAC",await crypto.subtle.importKey("raw",typeof e=="string"?t.encode(e):e,{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"]),typeof u=="string"?t.encode(u):u)};function Aa(u,e,t){return lt(u,e,ya,t)}function ht(u,e,t){return Promise.resolve().then(()=>ft(u,e,Aa,t))}var pt=({base:u="",routes:e=[],...t}={})=>({__proto__:new Proxy({},{get:(r,a,s,n)=>(i,...o)=>e.push([a.toUpperCase?.(),RegExp(`^${(n=(u+i).replace(/\/+(\/|$)/g,"$1")).replace(/(\/?\.?):(\w+)\+/g,"($1(?<$2>*))").replace(/(\/?\.?):(\w+)/g,"($1(?<$2>[^$1/]+?))").replace(/\./g,"\\.").replace(/(\/?)\*/g,"($1.*)?")}/*$`),o,n])&&s}),routes:e,...t,async fetch(r,...a){let s,n,i=new URL(r.url),o=r.query={__proto__:null};for(let[c,l]of i.searchParams)o[c]=o[c]?[].concat(o[c],l):l;e:try{for(let c of t.before||[])if((s=await c(r.proxy??r,...a))!=null)break e;u:for(let[c,l,h,m]of e)if((c==r.method||c=="ALL")&&(n=i.pathname.match(l))){r.params=n.groups||{},r.route=m;for(let p of h)if((s=await p(r.proxy??r,...a))!=null)break u}}catch(c){if(!t.catch)throw c;s=await t.catch(c,r.proxy??r,...a)}try{for(let c of t.finally||[])s=await c(s,r.proxy??r,...a)??s}catch(c){if(!t.catch)throw c;s=await t.catch(c,r.proxy??r,...a)}return s}}),Q=(u="text/plain; charset=utf-8",e)=>(t,r={})=>{if(t===void 0||t instanceof Response)return t;let a=new Response(e?.(t)??t,r.url?void 0:r);return a.headers.set("content-type",u),a},mt=Q("application/json; charset=utf-8",JSON.stringify);var Ni=Q("text/plain; charset=utf-8",String),Ii=Q("text/html"),qi=Q("image/jpeg"),Ri=Q("image/png"),_i=Q("image/webp");var L=class{db;constructor(e){this.db=e,this.loadArrayFromDB=this.loadArrayFromDB.bind(this),this.addAddress=this.addAddress.bind(this),this.removeAddress=this.removeAddress.bind(this),this.loadMailStatus=this.loadMailStatus.bind(this),this.loadMailCache=this.loadMailCache.bind(this)}async loadArrayFromDB(e){try{let t=await this.db.get(e);return $e(t)}catch(t){console.error(t)}return[]}async addAddress(e,t){let r=await this.loadArrayFromDB(t);r.unshift(e),await this.db.put(t,JSON.stringify(r))}async removeAddress(e,t){let a=(await this.loadArrayFromDB(t)).filter(s=>s!==e);await this.db.put(t,JSON.stringify(a))}async loadMailStatus(e,t){let r={telegram:!1,forward:[]};if(t)try{let a=await this.db.get(e);if(a)return{...r,...JSON.parse(a)}}catch(a){console.error(a)}return r}async saveMailStatus(e,t,r){await this.db.put(e,JSON.stringify(t),{expirationTtl:r})}async loadMailCache(e){try{let t=await this.db.get(e);if(t)return JSON.parse(t)}catch(t){console.error(t)}return null}async saveMailCache(e,t,r){await this.db.put(e,JSON.stringify(t),{expirationTtl:r})}async telegramIDToMailID(e){return await this.db.get(`TelegramID2MailID:${e}`)}async saveTelegramIDToMailID(e,t,r){await this.db.put(`TelegramID2MailID:${e}`,t,{expirationTtl:r})}};function $e(u){if(!u)return[];let e=[];try{e=JSON.parse(u)}catch{return[]}return Array.isArray(e)?e:[]}var gu=` @@ -347,4 +292,59 @@ ${u.text}`;return n.text=await jr(t??"",r,a,i),n}async function zr(u,e){let t=[u -`;var q=class extends Error{status;constructor(e,t){super(t),this.status=e}};function p0(u){let{TELEGRAM_TOKEN:e,TELEGRAM_ID:t}=u;return async r=>{let[a,s=""]=(r.headers.get("Authorization")||"").split(" ");if(a!=="tma")throw new q(401,"Invalid authorization type");try{Ur(s,e,{expiresIn:3600});let n=JSON.parse(new URLSearchParams(s).get("user")||"{}");for(let i of t.split(","))if(i===`${n.id}`)return;throw new q(403,"Permission denied")}catch(n){throw new q(401,n.message)}}}function Xr(u,e){let t={block:"BLOCK_LIST",white:"WHITE_LIST"};if(!u||!e)throw new q(400,"Missing address or type");if(t[e]===void 0)throw new q(400,"Invalid type");return t[e]}function Yr(u){let e=$r({catch:i=>i instanceof q?new Response(JSON.stringify({error:i.message}),{status:i.status}):new Response(JSON.stringify({error:i.message}),{status:500}),finally:[Vr]}),t=p0(u),{TELEGRAM_TOKEN:r,DOMAIN:a,DB:s}=u,n=new N(s);return e.get("/",async()=>new Response(null,{status:302,headers:{location:"https://github.com/TBXark/mail2telegram"}})),e.get("/init",async()=>{let i=le(r),o=await i.setWebhook({url:`https://${a}/telegram/${r}/webhook`}),c=await i.setMyCommands({commands:Hr});return{webhook:await o.json(),commands:await c.json()}}),e.get("/tma",async()=>new Response(Zr,{headers:{"content-type":"text/html; charset=utf-8"}})),e.post("/api/address/add",t,async i=>{let{address:o,type:c}=await i.json(),l=Xr(o,c);return await n.addAddress(o,l),{success:!0}}),e.post("/api/address/remove",t,async i=>{let{address:o,type:c}=await i.json(),l=Xr(o,c);return await n.removeAddress(o,l),{success:!0}}),e.get("/api/address/list",t,async()=>{let i=await n.loadArrayFromDB("BLOCK_LIST"),o=await n.loadArrayFromDB("WHITE_LIST");return{block:i,white:o}}),e.post("/telegram/:token/webhook",async i=>{if(i.params.token!==r)throw new q(403,"Invalid token");try{await Qr(i,u)}catch(o){console.error(o)}return{success:!0}}),e.get("/email/:id",async i=>{let o=i.params.id,c=i.query.mode||"text",l=await n.loadMailCache(o),h=l?.text||"",m="text/plain; charset=utf-8";return c==="html"&&(h=l?.html||"",m="text/html; charset=utf-8"),new Response(h,{headers:{"content-type":m}})}),e.all("*",async()=>{throw new q(404,"Not found")}),e}typeof Buffer>"u"&&(globalThis.Buffer=class fu extends ArrayBuffer{constructor(e){e instanceof ArrayBuffer?(super(e.byteLength),new Uint8Array(this).set(new Uint8Array(e))):super(e)}static from(e,t){if(typeof e=="string"){let r=new TextEncoder;return new fu(r.encode(e).buffer)}if(e instanceof ArrayBuffer)return new fu(e);if(e instanceof Uint8Array)return new fu(e.buffer);throw new Error(`Unsupported data type: ${typeof e}, encoding: ${t}`)}toString(e){switch(e){case"hex":return Array.from(new Uint8Array(this)).map(t=>t.toString(16).padStart(2,"0")).join("");case"base64":return btoa(String.fromCharCode.apply(null,new Uint8Array(this)));default:return new TextDecoder(e).decode(new Uint8Array(this))}}});async function m0(u,e){return Yr(e).fetch(u).catch(r=>new Response(JSON.stringify({error:r.message}),{status:500}))}async function b0(u,e){let{FORWARD_LIST:t,BLOCK_POLICY:r,GUARDIAN_MODE:a,DB:s,MAIL_TTL:n,MAX_EMAIL_SIZE:i,MAX_EMAIL_SIZE_POLICY:o}=e,c=new N(s),l=u.headers.get("Message-ID")||"",h=await it(u,e),m=a==="true",p=(r||"telegram").split(","),x={expirationTtl:60*60},A=await c.loadMailStatus(l,m);if(h&&p.includes("reject")){u.setReject("Blocked");return}try{let J=h&&p.includes("forward")?[]:(t||"").split(",");for(let de of J)try{let O=de.trim();if(A.forward.includes(O))continue;await u.forward(O),m&&(A.forward.push(O),await s.put(l,JSON.stringify(A),x))}catch(O){console.error(O)}}catch(B){console.error(B)}try{let B=h&&p.includes("telegram");if(!A.telegram&&!B){let J=Number.parseInt(n,10)||86400,de=Number.parseInt(i||"",10)||512*1024,hu=await Rr(u,de,o||"truncate");await s.put(hu.id,JSON.stringify(hu),{expirationTtl:J}),await Kr(hu,e)}m&&(A.telegram=!0,await s.put(l,JSON.stringify(A),x))}catch(B){console.error(B)}}var gc={fetch:m0,email:b0};export{gc as default}; +`;var xu=class{token;baseURL="https://api.telegram.org";constructor(e,t){for(this.token=e,t&&(this.baseURL=t);this.baseURL.endsWith("/");)this.baseURL=this.baseURL.slice(0,-1);this.request=this.request.bind(this),this.requestJSON=this.requestJSON.bind(this)}uri(e){return`${this.baseURL}/bot${this.token}/${e}`}jsonRequest(e,t){return fetch(this.uri(e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}formDataRequest(e,t){let r=new FormData;for(let a in t){let s=t[a];s instanceof File?r.append(a,s,s.name):s instanceof Blob?r.append(a,s,"blob"):typeof s=="string"?r.append(a,s):r.append(a,JSON.stringify(s))}return fetch(this.uri(e),{method:"POST",body:r})}request(e,t){for(let r in t)if(t[r]instanceof File||t[r]instanceof Blob)return this.formDataRequest(e,t);return this.jsonRequest(e,t)}async requestJSON(e,t){return this.request(e,t).then(r=>r.json())}};function U(u){let e=new xu(u);return new Proxy(e,{get(t,r,a){return r in t?Reflect.get(t,r,a):(...s)=>{if(typeof r=="string"&&r.endsWith("WithReturns")){let n=r.slice(0,-11);return Reflect.apply(t.requestJSON,t,[n,...s])}return Reflect.apply(t.request,t,[r,...s])}}})}var fe={test:"Test an email address",white:"Manage the white list",block:"Manage the block list"},bt=[{command:"id",description:"/id - Get your chat ID"},{command:"test",description:`/test - ${fe.test}`},{command:"white",description:`/white - ${fe.white}`},{command:"block",description:`/block - ${fe.block}`}];function Da(u,e){if(e.toLowerCase()===u.toLowerCase())return!0;try{return new RegExp(e,"i").test(u)}catch{return!1}}async function yu(u,e){let t=(h,m)=>{for(let p of h)if(p&&Da(m,p))return!0;return!1},{BLOCK_LIST:r,WHITE_LIST:a,DISABLE_LOAD_REGEX_FROM_DB:s,DB:n}=e,i=$e(r),o=$e(a),c=new L(n);s!=="true"&&(i.push(...await c.loadArrayFromDB("BLOCK_LIST")),o.push(...await c.loadArrayFromDB("WHITE_LIST")));let l={};for(let h of u)if(h){if(t(o,h)){l[h]="white";continue}if(t(i,h)){l[h]="block";continue}l[h]="no_match"}return l}async function gt(u,e){let t=[u.from,u.to],r=await yu(t,e);for(let a in r)switch(r[a]){case"white":return console.log(`Matched white list: ${a}`),!1;default:break}for(let a in r)switch(r[a]){case"block":return console.log(`Matched block list: ${a}`),!0;default:break}return!1}var b;(function(u){u.Root="root",u.Text="text",u.Directive="directive",u.Comment="comment",u.Script="script",u.Style="style",u.Tag="tag",u.CDATA="cdata",u.Doctype="doctype"})(b||(b={}));function xt(u){return u.type===b.Tag||u.type===b.Script||u.type===b.Style}var yt=b.Root,At=b.Text,wt=b.Directive,Dt=b.Comment,Et=b.Script,vt=b.Style,kt=b.Tag,Bt=b.CDATA,Ct=b.Doctype;var He=class{constructor(){this.parent=null,this.prev=null,this.next=null,this.startIndex=null,this.endIndex=null}get parentNode(){return this.parent}set parentNode(e){this.parent=e}get previousSibling(){return this.prev}set previousSibling(e){this.prev=e}get nextSibling(){return this.next}set nextSibling(e){this.next=e}cloneNode(e=!1){return St(this,e)}},he=class extends He{constructor(e){super(),this.data=e}get nodeValue(){return this.data}set nodeValue(e){this.data=e}},Z=class extends he{constructor(){super(...arguments),this.type=b.Text}get nodeType(){return 3}},pe=class extends he{constructor(){super(...arguments),this.type=b.Comment}get nodeType(){return 8}},me=class extends he{constructor(e,t){super(t),this.name=e,this.type=b.Directive}get nodeType(){return 1}},be=class extends He{constructor(e){super(),this.children=e}get firstChild(){var e;return(e=this.children[0])!==null&&e!==void 0?e:null}get lastChild(){return this.children.length>0?this.children[this.children.length-1]:null}get childNodes(){return this.children}set childNodes(e){this.children=e}},ge=class extends be{constructor(){super(...arguments),this.type=b.CDATA}get nodeType(){return 4}},X=class extends be{constructor(){super(...arguments),this.type=b.Root}get nodeType(){return 9}},xe=class extends be{constructor(e,t,r=[],a=e==="script"?b.Script:e==="style"?b.Style:b.Tag){super(r),this.name=e,this.attribs=t,this.type=a}get nodeType(){return 1}get tagName(){return this.name}set tagName(e){this.name=e}get attributes(){return Object.keys(this.attribs).map(e=>{var t,r;return{name:e,value:this.attribs[e],namespace:(t=this["x-attribsNamespace"])===null||t===void 0?void 0:t[e],prefix:(r=this["x-attribsPrefix"])===null||r===void 0?void 0:r[e]}})}};function R(u){return xt(u)}function wu(u){return u.type===b.CDATA}function Ve(u){return u.type===b.Text}function Du(u){return u.type===b.Comment}function Ea(u){return u.type===b.Directive}function Lt(u){return u.type===b.Root}function St(u,e=!1){let t;if(Ve(u))t=new Z(u.data);else if(Du(u))t=new pe(u.data);else if(R(u)){let r=e?Au(u.children):[],a=new xe(u.name,{...u.attribs},r);r.forEach(s=>s.parent=a),u.namespace!=null&&(a.namespace=u.namespace),u["x-attribsNamespace"]&&(a["x-attribsNamespace"]={...u["x-attribsNamespace"]}),u["x-attribsPrefix"]&&(a["x-attribsPrefix"]={...u["x-attribsPrefix"]}),t=a}else if(wu(u)){let r=e?Au(u.children):[],a=new ge(r);r.forEach(s=>s.parent=a),t=a}else if(Lt(u)){let r=e?Au(u.children):[],a=new X(r);r.forEach(s=>s.parent=a),u["x-mode"]&&(a["x-mode"]=u["x-mode"]),t=a}else if(Ea(u)){let r=new me(u.name,u.data);u["x-name"]!=null&&(r["x-name"]=u["x-name"],r["x-publicId"]=u["x-publicId"],r["x-systemId"]=u["x-systemId"]),t=r}else throw new Error(`Not implemented yet: ${u.type}`);return t.startIndex=u.startIndex,t.endIndex=u.endIndex,u.sourceCodeLocation!=null&&(t.sourceCodeLocation=u.sourceCodeLocation),t}function Au(u){let e=u.map(t=>St(t,!0));for(let t=1;tr.index||0);e.unshift(-1);let t=Eu(e,0,e.length);return r=>qt(t,r)}function Eu(u,e,t){if(t-e==1)return{offset:u[e],index:e+1};let r=Math.ceil((e+t)/2),a=Eu(u,e,r),s=Eu(u,r,t);return{offset:a.offset,low:a,high:s}}function qt(u,e){return function(t){return Object.prototype.hasOwnProperty.call(t,"index")}(u)?{line:u.index,column:e-u.offset}:qt(u.high.offset({line:0,column:0}),l=o,h=[];e:for(;l0){if(!p.discard){let A=c(l),B=typeof p.replace=="string"?x[0].replace(new RegExp(p.regex.source,p.regex.flags),p.replace):x[0];h.push({state:a,name:p.name,text:B,offset:l,len:x[0].length,line:A.line,column:A.column})}if(l=p.regex.lastIndex,m=!0,p.push){let A=p.push(i,l);h.push(...A.tokens),l=A.offset}if(p.pop)break e;break}}if(!m)break}return{tokens:h,offset:l,complete:i.length<=l}}}function Ba(u,e){return{...u,regex:Ca(u,e)}}function Ca(u,e){if(u.name.length===0)throw new Error(`Rule #${e} has empty name, which is not allowed.`);if(function(t){return Object.prototype.hasOwnProperty.call(t,"regex")}(u))return function(t){if(t.global)throw new Error(`Regular expression /${t.source}/${t.flags} contains the global flag, which is not allowed.`);return t.sticky?t:new RegExp(t.source,t.flags+"y")}(u.regex);if(function(t){return Object.prototype.hasOwnProperty.call(t,"str")}(u)){if(u.str.length===0)throw new Error(`Rule #${e} ("${u.name}") has empty "str" property, which is not allowed.`);return new RegExp(It(u.str),"y")}return new RegExp(It(u.name),"y")}function It(u){return u.replace(/[-[\]{}()*+!<=:?./\\^$|#\s,]/g,"\\$&")}function I(u,e){return(t,r)=>{let a=r,s;return rku(u(t,r),(a,s)=>e(a,t,r,s))}function ye(u,e){return(t,r)=>{let a=u(t,r);return a.matched?a:{matched:!0,position:r,value:e}}}function ee(...u){return(e,t)=>{for(let r of u){let a=r(e,t);if(a.matched)return a}return{matched:!1}}}function $(u,e){return(t,r)=>{let a=u(t,r);return a.matched?a:e(t,r)}}function Ta(u,e){return(t,r)=>{let a=[],s=!0;do{let n=u(t,r);n.matched&&e(n.value,a.length+1,t,r,n.position)?(a.push(n.value),r=n.position):s=!1}while(s);return{matched:!0,position:r,value:a}}}function We(u){return Ta(u,()=>!0)}function Rt(u){return v(u,We(u),(e,t)=>[e,...t])}function v(u,e,t){return(r,a)=>je(u(r,a),s=>ku(e(r,s.position),(n,i)=>t(s.value,n,r,a,i)))}function _t(u,e){return v(u,e,t=>t)}function Bu(u,e){return v(u,e,(t,r)=>r)}function Ge(u,e,t,r){return(a,s)=>je(u(a,s),n=>je(e(a,n.position),i=>ku(t(a,i.position),(o,c)=>r(n.value,i.value,o,a,s,c))))}function Cu(u,e,t){return Ge(u,e,t,(r,a)=>a)}function La(...u){return(e,t)=>{let r=[],a=t;for(let s of u){let n=s(e,a);if(n.matched)r.push(n.value),a=n.position;else return{matched:!1}}return{matched:!0,position:a,value:r}}}function Ft(...u){return Sa(La(...u))}function Sa(u){return E(u,e=>e.flatMap(t=>t))}function Na(u,e){return(t,r)=>{let a=!0,s=u,n=r;do{let i=e(s,t,n)(t,n);i.matched?(s=i.value,n=i.position):a=!1}while(a);return{matched:!0,position:n,value:s}}}function Ia(u,e,t){return Na(u,r=>E(e,(a,s,n,i)=>t(r,a,s,n,i)))}function Tu(u,e,t){return qa(u,r=>Ia(r,v(e,t,(a,s)=>[a,s]),(a,[s,n])=>s(a,n)))}function qa(u,e){return(t,r)=>je(u(t,r),a=>e(a.value,t,r,a.position)(t,a.position))}var _a="(?:[ \\t\\r\\n\\f]*)",Ht="(?:\\n|\\r\\n|\\r|\\f)",Ke="[^\\x00-\\x7F]",De="(?:\\\\[0-9a-f]{1,6}(?:\\r\\n|[ \\n\\r\\t\\f])?)",Ee="(?:\\\\[^\\n\\r\\f0-9a-f])",Fa=`(?:[_a-z]|${Ke}|${De}|${Ee})`,Vt=`(?:[_a-z0-9-]|${Ke}|${De}|${Ee})`,Pa=`(?:${Vt}+)`,Ma=`(?:[-]?${Fa}${Vt}*)`,Oa=`'([^\\n\\r\\f\\\\']|\\\\${Ht}|${Ke}|${De}|${Ee})*'`,Ua=`"([^\\n\\r\\f\\\\"]|\\\\${Ht}|${Ke}|${De}|${Ee})*"`,$a=vu([{name:"ws",regex:new RegExp(_a)},{name:"hash",regex:new RegExp(`#${Pa}`,"i")},{name:"ident",regex:new RegExp(Ma,"i")},{name:"str1",regex:new RegExp(Oa,"i")},{name:"str2",regex:new RegExp(Ua,"i")},{name:"*"},{name:"."},{name:","},{name:"["},{name:"]"},{name:"="},{name:">"},{name:"|"},{name:"+"},{name:"~"},{name:"^"},{name:"$"}]),Ha=vu([{name:"unicode",regex:new RegExp(De,"i")},{name:"escape",regex:new RegExp(Ee,"i")},{name:"any",regex:new RegExp("[\\s\\S]","i")}]);function jt([u,e,t],[r,a,s]){return[u+r,e+a,t+s]}function Va(u){return u.reduce(jt,[0,0,0])}var ja=I(u=>u.name==="unicode"?String.fromCodePoint(parseInt(u.text.slice(1),16)):void 0),Wa=I(u=>u.name==="escape"?u.text.slice(1):void 0),Ga=I(u=>u.name==="any"?u.text:void 0),za=E(We(ee(ja,Wa,Ga)),u=>u.join(""));function Nu(u){let e=Ha(u);return za({tokens:e.tokens,options:void 0},0).value}function y(u){return I(e=>e.name===u?!0:void 0)}var Iu=I(u=>u.name==="ws"?null:void 0),Lu=ye(Iu,null);function te(u){return Cu(Lu,u,Lu)}var we=I(u=>u.name==="ident"?Nu(u.text):void 0),Ja=I(u=>u.name==="hash"?Nu(u.text.slice(1)):void 0),Ka=I(u=>u.name.startsWith("str")?Nu(u.text.slice(1,-1)):void 0),Wt=_t(ye(we,""),y("|")),qu=$(v(Wt,we,(u,e)=>({name:e,namespace:u})),E(we,u=>({name:u,namespace:null}))),Qa=$(v(Wt,y("*"),u=>({type:"universal",namespace:u,specificity:[0,0,0]})),E(y("*"),()=>({type:"universal",namespace:null,specificity:[0,0,0]}))),Za=E(qu,({name:u,namespace:e})=>({type:"tag",name:u,namespace:e,specificity:[0,0,1]})),Xa=v(y("."),we,(u,e)=>({type:"class",name:e,specificity:[0,1,0]})),Ya=E(Ja,u=>({type:"id",name:u,specificity:[1,0,0]})),Pt=I(u=>{if(u.name==="ident"){if(u.text==="i"||u.text==="I")return"i";if(u.text==="s"||u.text==="S")return"s"}}),en=$(v(Ka,ye(Bu(Lu,Pt),null),(u,e)=>({value:u,modifier:e})),v(we,ye(Bu(Iu,Pt),null),(u,e)=>({value:u,modifier:e}))),un=ee(E(y("="),()=>"="),v(y("~"),y("="),()=>"~="),v(y("|"),y("="),()=>"|="),v(y("^"),y("="),()=>"^="),v(y("$"),y("="),()=>"$="),v(y("*"),y("="),()=>"*=")),tn=Ge(y("["),te(qu),y("]"),(u,{name:e,namespace:t})=>({type:"attrPresence",name:e,namespace:t,specificity:[0,1,0]})),rn=Cu(y("["),Ge(te(qu),un,te(en),({name:u,namespace:e},t,{value:r,modifier:a})=>({type:"attrValue",name:u,namespace:e,matcher:t,value:r,modifier:a,specificity:[0,1,0]})),y("]")),an=$(tn,rn),nn=$(Qa,Za),Mt=ee(Ya,Xa,an),Ot=E($(Ft(nn,We(Mt)),Rt(Mt)),u=>({type:"compound",list:u,specificity:Va(u.map(e=>e.specificity))})),sn=ee(E(y(">"),()=>">"),E(y("+"),()=>"+"),E(y("~"),()=>"~"),v(y("|"),y("|"),()=>"||")),on=$(te(sn),E(Iu,()=>" ")),Su=Tu(Ot,E(on,u=>(e,t)=>({type:"compound",list:[...t.list,{type:"combinator",combinator:u,left:e,specificity:e.specificity}],specificity:jt(e.specificity,t.specificity)})),Ot),Zi=Tu(E(Su,u=>({type:"list",list:[u]})),E(te(y(",")),()=>(u,e)=>({type:"list",list:[...u.list,e]})),Su);function cn(u,e){if(!(typeof e=="string"||e instanceof String))throw new Error("Expected a selector string. Actual input is not a string!");let t=$a(e);if(!t.complete)throw new Error(`The input "${e}" was only partially tokenized, stopped at offset ${t.offset}! +`+Ut(e,t.offset));let r=te(u)({tokens:t.tokens,options:void 0},0);if(!r.matched)throw new Error(`No match for "${e}" input!`);if(r.positiona?"\u2409":s?"\u240D":"\u240A")} +${"".padEnd(e)}${"^".repeat(t)}`}function Gt(u){return cn(Su,u)}function S(u){if(!u.type)throw new Error("This is not an AST node.");switch(u.type){case"universal":return ze(u.namespace)+"*";case"tag":return ze(u.namespace)+ue(u.name);case"class":return"."+ue(u.name);case"id":return"#"+ue(u.name);case"attrPresence":return`[${ze(u.namespace)}${ue(u.name)}]`;case"attrValue":return`[${ze(u.namespace)}${ue(u.name)}${u.matcher}"${ln(u.value)}"${u.modifier?u.modifier:""}]`;case"combinator":return S(u.left)+u.combinator;case"compound":return u.list.reduce((e,t)=>t.type==="combinator"?S(t)+e:e+S(t),"");case"list":return u.list.map(S).join(",")}}function ze(u){return u||u===""?ue(u)+"|":""}function Je(u){return`\\${u.codePointAt(0).toString(16)} `}function ue(u){return u.replace(/(^[0-9])|(^-[0-9])|(^-$)|([-0-9a-zA-Z_]|[^\x00-\x7F])|(\x00)|([\x01-\x1f]|\x7f)|([\s\S])/g,(e,t,r,a,s,n,i,o)=>t?Je(t):r?"-"+Je(r.slice(1)):a?"\\-":s||(n?"\uFFFD":i?Je(i):"\\"+o))}function ln(u){return u.replace(/(")|(\\)|(\x00)|([\x01-\x1f]|\x7f)/g,(e,t,r,a,s)=>t?'\\"':r?"\\\\":a?"\uFFFD":Je(s))}function Ae(u){if(!u.type)throw new Error("This is not an AST node.");switch(u.type){case"compound":{u.list.forEach(Ae),u.list.sort((e,t)=>zt($t(e),$t(t)));break}case"combinator":{Ae(u.left);break}case"list":{u.list.forEach(Ae),u.list.sort((e,t)=>S(e){switch(t.type){case"class":e.push({matcher:"~=",modifier:null,name:"class",namespace:null,specificity:t.specificity,type:"attrValue",value:t.name});break;case"id":e.push({matcher:"=",modifier:null,name:"id",namespace:null,specificity:t.specificity,type:"attrValue",value:t.name});break;case"combinator":Kt(t.left),e.push(t);break;case"universal":break;default:e.push(t);break}}),u.list=e}function re(u){let e=[];for(;u.length;){let t=Xt(u,n=>!0,Qt),{matches:r,nonmatches:a,empty:s}=mn(u,t);u=a,r.length&&e.push(bn(t,r)),s.length&&e.push(...pn(s))}return e}function pn(u){let e=[];for(let t of u){let r=t.terminal;if(r.type==="terminal")e.push(r);else{let{matches:a,rest:s}=wn(r.cont,n=>n.type==="terminal");a.forEach(n=>e.push(n)),s.length&&(r.cont=s,e.push(r))}}return e}function mn(u,e){let t=[],r=[],a=[];for(let s of u){let n=s.ast.list;n.length?(n.some(o=>Qt(o)===e)?t:r).push(s):a.push(s)}return{matches:t,nonmatches:r,empty:a}}function Qt(u){switch(u.type){case"attrPresence":return`attrPresence ${u.name}`;case"attrValue":return`attrValue ${u.name}`;case"combinator":return`combinator ${u.combinator}`;default:return u.type}}function bn(u,e){if(u==="tag")return gn(e);if(u.startsWith("attrValue "))return yn(u.substring(10),e);if(u.startsWith("attrPresence "))return xn(u.substring(13),e);if(u==="combinator >")return Jt(">",e);if(u==="combinator +")return Jt("+",e);throw new Error(`Unsupported selector kind: ${u}`)}function gn(u){let e=_u(u,r=>r.type==="tag",r=>r.name);return{type:"tagName",variants:Object.entries(e).map(([r,a])=>({type:"variant",value:r,cont:re(a.items)}))}}function xn(u,e){for(let t of e)Zt(t,r=>r.type==="attrPresence"&&r.name===u);return{type:"attrPresence",name:u,cont:re(e)}}function yn(u,e){let t=_u(e,a=>a.type==="attrValue"&&a.name===u,a=>`${a.matcher} ${a.modifier||""} ${a.value}`),r=[];for(let a of Object.values(t)){let s=a.oneSimpleSelector,n=An(s),i=re(a.items);r.push({type:"matcher",matcher:s.matcher,modifier:s.modifier,value:s.value,predicate:n,cont:i})}return{type:"attrValue",name:u,matchers:r}}function An(u){if(u.modifier==="i"){let e=u.value.toLowerCase();switch(u.matcher){case"=":return t=>e===t.toLowerCase();case"~=":return t=>t.toLowerCase().split(/[ \t]+/).includes(e);case"^=":return t=>t.toLowerCase().startsWith(e);case"$=":return t=>t.toLowerCase().endsWith(e);case"*=":return t=>t.toLowerCase().includes(e);case"|=":return t=>{let r=t.toLowerCase();return e===r||r.startsWith(e)&&r[e.length]==="-"}}}else{let e=u.value;switch(u.matcher){case"=":return t=>e===t;case"~=":return t=>t.split(/[ \t]+/).includes(e);case"^=":return t=>t.startsWith(e);case"$=":return t=>t.endsWith(e);case"*=":return t=>t.includes(e);case"|=":return t=>e===t||t.startsWith(e)&&t[e.length]==="-"}}}function Jt(u,e){let t=_u(e,a=>a.type==="combinator"&&a.combinator===u,a=>S(a.left)),r=[];for(let a of Object.values(t)){let s=re(a.items),n=a.oneSimpleSelector.left;r.push({ast:n,terminal:{type:"popElement",cont:s}})}return{type:"pushElement",combinator:u,cont:re(r)}}function _u(u,e,t){let r={};for(;u.length;){let a=Xt(u,e,t),s=l=>e(l)&&t(l)===a,n=l=>l.ast.list.some(s),{matches:i,rest:o}=Dn(u,n),c=null;for(let l of i){let h=Zt(l,s);c||(c=h)}if(c==null)throw new Error("No simple selector is found.");r[a]={oneSimpleSelector:c,items:i},u=o}return r}function Zt(u,e){let t=u.ast.list,r=new Array(t.length),a=-1;for(let n=t.length;n-- >0;)e(t[n])&&(r[n]=!0,a=n);if(a==-1)throw new Error("Couldn't find the required simple selector.");let s=t[a];return u.ast.list=t.filter((n,i)=>!r[i]),s}function Xt(u,e,t){let r={};for(let n of u){let i={};for(let o of n.ast.list.filter(e))i[t(o)]=!0;for(let o of Object.keys(i))r[o]?r[o]++:r[o]=1}let a="",s=0;for(let n of Object.entries(r))n[1]>s&&(a=n[0],s=n[1]);return a}function wn(u,e){let t=[],r=[];for(let a of u)e(a)?t.push(a):r.push(a);return{matches:t,rest:r}}function Dn(u,e){let t=[],r=[];for(let a of u)e(a)?t.push(a):r.push(a);return{matches:t,rest:r}}var Qe=class{constructor(e){this.f=e}pickAll(e){return this.f(e)}pick1(e,t=!1){let r=this.f(e),a=r.length;if(a===0)return null;if(a===1)return r[0].value;let s=t?En:vn,n=r[0];for(let i=1;i0||t===0&&e.index0||t===0&&e.index>u.index}function Fu(u){return new Qe(ae(u))}function ae(u){let e=u.map(kn);return(t,...r)=>e.flatMap(a=>a(t,...r))}function kn(u){switch(u.type){case"terminal":{let e=[u.valueContainer];return(t,...r)=>e}case"tagName":return Bn(u);case"attrValue":return Tn(u);case"attrPresence":return Cn(u);case"pushElement":return Ln(u);case"popElement":return Nn(u)}}function Bn(u){let e={};for(let t of u.variants)e[t.value]=ae(t.cont);return(t,...r)=>{let a=e[t.name];return a?a(t,...r):[]}}function Cn(u){let e=u.name,t=ae(u.cont);return(r,...a)=>Object.prototype.hasOwnProperty.call(r.attribs,e)?t(r,...a):[]}function Tn(u){let e=[];for(let r of u.matchers){let a=r.predicate,s=ae(r.cont);e.push((n,i,...o)=>a(n)?s(i,...o):[])}let t=u.name;return(r,...a)=>{let s=r.attribs[t];return s||s===""?e.flatMap(n=>n(s,r,...a)):[]}}function Ln(u){let e=ae(u.cont),t=u.combinator==="+"?Yt:Sn;return(r,...a)=>{let s=t(r);return s===null?[]:e(s,r,...a)}}var Yt=u=>{let e=u.prev;return e===null?null:R(e)?e:Yt(e)},Sn=u=>{let e=u.parent;return e&&R(e)?e:null};function Nn(u){let e=ae(u.cont);return(t,r,...a)=>e(r,...a)}var Ze=new Uint16Array('\u1D41<\xD5\u0131\u028A\u049D\u057B\u05D0\u0675\u06DE\u07A2\u07D6\u080F\u0A4A\u0A91\u0DA1\u0E6D\u0F09\u0F26\u10CA\u1228\u12E1\u1415\u149D\u14C3\u14DF\u1525\0\0\0\0\0\0\u156B\u16CD\u198D\u1C12\u1DDD\u1F7E\u2060\u21B0\u228D\u23C0\u23FB\u2442\u2824\u2912\u2D08\u2E48\u2FCE\u3016\u32BA\u3639\u37AC\u38FE\u3A28\u3A71\u3AE0\u3B2E\u0800EMabcfglmnoprstu\\bfms\x7F\x84\x8B\x90\x95\x98\xA6\xB3\xB9\xC8\xCFlig\u803B\xC6\u40C6P\u803B&\u4026cute\u803B\xC1\u40C1reve;\u4102\u0100iyx}rc\u803B\xC2\u40C2;\u4410r;\uC000\u{1D504}rave\u803B\xC0\u40C0pha;\u4391acr;\u4100d;\u6A53\u0100gp\x9D\xA1on;\u4104f;\uC000\u{1D538}plyFunction;\u6061ing\u803B\xC5\u40C5\u0100cs\xBE\xC3r;\uC000\u{1D49C}ign;\u6254ilde\u803B\xC3\u40C3ml\u803B\xC4\u40C4\u0400aceforsu\xE5\xFB\xFE\u0117\u011C\u0122\u0127\u012A\u0100cr\xEA\xF2kslash;\u6216\u0176\xF6\xF8;\u6AE7ed;\u6306y;\u4411\u0180crt\u0105\u010B\u0114ause;\u6235noullis;\u612Ca;\u4392r;\uC000\u{1D505}pf;\uC000\u{1D539}eve;\u42D8c\xF2\u0113mpeq;\u624E\u0700HOacdefhilorsu\u014D\u0151\u0156\u0180\u019E\u01A2\u01B5\u01B7\u01BA\u01DC\u0215\u0273\u0278\u027Ecy;\u4427PY\u803B\xA9\u40A9\u0180cpy\u015D\u0162\u017Aute;\u4106\u0100;i\u0167\u0168\u62D2talDifferentialD;\u6145leys;\u612D\u0200aeio\u0189\u018E\u0194\u0198ron;\u410Cdil\u803B\xC7\u40C7rc;\u4108nint;\u6230ot;\u410A\u0100dn\u01A7\u01ADilla;\u40B8terDot;\u40B7\xF2\u017Fi;\u43A7rcle\u0200DMPT\u01C7\u01CB\u01D1\u01D6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01E2\u01F8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020FoubleQuote;\u601Duote;\u6019\u0200lnpu\u021E\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6A74\u0180git\u022F\u0236\u023Aruent;\u6261nt;\u622FourIntegral;\u622E\u0100fr\u024C\u024E;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6A2Fcr;\uC000\u{1D49E}p\u0100;C\u0284\u0285\u62D3ap;\u624D\u0580DJSZacefios\u02A0\u02AC\u02B0\u02B4\u02B8\u02CB\u02D7\u02E1\u02E6\u0333\u048D\u0100;o\u0179\u02A5trahd;\u6911cy;\u4402cy;\u4405cy;\u440F\u0180grs\u02BF\u02C4\u02C7ger;\u6021r;\u61A1hv;\u6AE4\u0100ay\u02D0\u02D5ron;\u410E;\u4414l\u0100;t\u02DD\u02DE\u6207a;\u4394r;\uC000\u{1D507}\u0100af\u02EB\u0327\u0100cm\u02F0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031Ccute;\u40B4o\u0174\u030B\u030D;\u42D9bleAcute;\u42DDrave;\u4060ilde;\u42DCond;\u62C4ferentialD;\u6146\u0470\u033D\0\0\0\u0342\u0354\0\u0405f;\uC000\u{1D53B}\u0180;DE\u0348\u0349\u034D\u40A8ot;\u60DCqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03CF\u03E2\u03F8ontourIntegra\xEC\u0239o\u0274\u0379\0\0\u037B\xBB\u0349nArrow;\u61D3\u0100eo\u0387\u03A4ft\u0180ART\u0390\u0396\u03A1rrow;\u61D0ightArrow;\u61D4e\xE5\u02CAng\u0100LR\u03AB\u03C4eft\u0100AR\u03B3\u03B9rrow;\u67F8ightArrow;\u67FAightArrow;\u67F9ight\u0100AT\u03D8\u03DErrow;\u61D2ee;\u62A8p\u0241\u03E9\0\0\u03EFrrow;\u61D1ownArrow;\u61D5erticalBar;\u6225n\u0300ABLRTa\u0412\u042A\u0430\u045E\u047F\u037Crrow\u0180;BU\u041D\u041E\u0422\u6193ar;\u6913pArrow;\u61F5reve;\u4311eft\u02D2\u043A\0\u0446\0\u0450ightVector;\u6950eeVector;\u695Eector\u0100;B\u0459\u045A\u61BDar;\u6956ight\u01D4\u0467\0\u0471eeVector;\u695Fector\u0100;B\u047A\u047B\u61C1ar;\u6957ee\u0100;A\u0486\u0487\u62A4rrow;\u61A7\u0100ct\u0492\u0497r;\uC000\u{1D49F}rok;\u4110\u0800NTacdfglmopqstux\u04BD\u04C0\u04C4\u04CB\u04DE\u04E2\u04E7\u04EE\u04F5\u0521\u052F\u0536\u0552\u055D\u0560\u0565G;\u414AH\u803B\xD0\u40D0cute\u803B\xC9\u40C9\u0180aiy\u04D2\u04D7\u04DCron;\u411Arc\u803B\xCA\u40CA;\u442Dot;\u4116r;\uC000\u{1D508}rave\u803B\xC8\u40C8ement;\u6208\u0100ap\u04FA\u04FEcr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65FBerySmallSquare;\u65AB\u0100gp\u0526\u052Aon;\u4118f;\uC000\u{1D53C}silon;\u4395u\u0100ai\u053C\u0549l\u0100;T\u0542\u0543\u6A75ilde;\u6242librium;\u61CC\u0100ci\u0557\u055Ar;\u6130m;\u6A73a;\u4397ml\u803B\xCB\u40CB\u0100ip\u056A\u056Fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058D\u05B2\u05CCy;\u4424r;\uC000\u{1D509}lled\u0253\u0597\0\0\u05A3mallSquare;\u65FCerySmallSquare;\u65AA\u0370\u05BA\0\u05BF\0\0\u05C4f;\uC000\u{1D53D}All;\u6200riertrf;\u6131c\xF2\u05CB\u0600JTabcdfgorst\u05E8\u05EC\u05EF\u05FA\u0600\u0612\u0616\u061B\u061D\u0623\u066C\u0672cy;\u4403\u803B>\u403Emma\u0100;d\u05F7\u05F8\u4393;\u43DCreve;\u411E\u0180eiy\u0607\u060C\u0610dil;\u4122rc;\u411C;\u4413ot;\u4120r;\uC000\u{1D50A};\u62D9pf;\uC000\u{1D53E}eater\u0300EFGLST\u0635\u0644\u064E\u0656\u065B\u0666qual\u0100;L\u063E\u063F\u6265ess;\u62DBullEqual;\u6267reater;\u6AA2ess;\u6277lantEqual;\u6A7Eilde;\u6273cr;\uC000\u{1D4A2};\u626B\u0400Aacfiosu\u0685\u068B\u0696\u069B\u069E\u06AA\u06BE\u06CARDcy;\u442A\u0100ct\u0690\u0694ek;\u42C7;\u405Eirc;\u4124r;\u610ClbertSpace;\u610B\u01F0\u06AF\0\u06B2f;\u610DizontalLine;\u6500\u0100ct\u06C3\u06C5\xF2\u06A9rok;\u4126mp\u0144\u06D0\u06D8ownHum\xF0\u012Fqual;\u624F\u0700EJOacdfgmnostu\u06FA\u06FE\u0703\u0707\u070E\u071A\u071E\u0721\u0728\u0744\u0778\u078B\u078F\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803B\xCD\u40CD\u0100iy\u0713\u0718rc\u803B\xCE\u40CE;\u4418ot;\u4130r;\u6111rave\u803B\xCC\u40CC\u0180;ap\u0720\u072F\u073F\u0100cg\u0734\u0737r;\u412AinaryI;\u6148lie\xF3\u03DD\u01F4\u0749\0\u0762\u0100;e\u074D\u074E\u622C\u0100gr\u0753\u0758ral;\u622Bsection;\u62C2isible\u0100CT\u076C\u0772omma;\u6063imes;\u6062\u0180gpt\u077F\u0783\u0788on;\u412Ef;\uC000\u{1D540}a;\u4399cr;\u6110ilde;\u4128\u01EB\u079A\0\u079Ecy;\u4406l\u803B\xCF\u40CF\u0280cfosu\u07AC\u07B7\u07BC\u07C2\u07D0\u0100iy\u07B1\u07B5rc;\u4134;\u4419r;\uC000\u{1D50D}pf;\uC000\u{1D541}\u01E3\u07C7\0\u07CCr;\uC000\u{1D4A5}rcy;\u4408kcy;\u4404\u0380HJacfos\u07E4\u07E8\u07EC\u07F1\u07FD\u0802\u0808cy;\u4425cy;\u440Cppa;\u439A\u0100ey\u07F6\u07FBdil;\u4136;\u441Ar;\uC000\u{1D50E}pf;\uC000\u{1D542}cr;\uC000\u{1D4A6}\u0580JTaceflmost\u0825\u0829\u082C\u0850\u0863\u09B3\u09B8\u09C7\u09CD\u0A37\u0A47cy;\u4409\u803B<\u403C\u0280cmnpr\u0837\u083C\u0841\u0844\u084Dute;\u4139bda;\u439Bg;\u67EAlacetrf;\u6112r;\u619E\u0180aey\u0857\u085C\u0861ron;\u413Ddil;\u413B;\u441B\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087E\u08A9\u08B1\u08E0\u08E6\u08FC\u092F\u095B\u0390\u096A\u0100nr\u0883\u088FgleBracket;\u67E8row\u0180;BR\u0899\u089A\u089E\u6190ar;\u61E4ightArrow;\u61C6eiling;\u6308o\u01F5\u08B7\0\u08C3bleBracket;\u67E6n\u01D4\u08C8\0\u08D2eeVector;\u6961ector\u0100;B\u08DB\u08DC\u61C3ar;\u6959loor;\u630Aight\u0100AV\u08EF\u08F5rrow;\u6194ector;\u694E\u0100er\u0901\u0917e\u0180;AV\u0909\u090A\u0910\u62A3rrow;\u61A4ector;\u695Aiangle\u0180;BE\u0924\u0925\u0929\u62B2ar;\u69CFqual;\u62B4p\u0180DTV\u0937\u0942\u094CownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61BFar;\u6958ector\u0100;B\u0965\u0966\u61BCar;\u6952ight\xE1\u039Cs\u0300EFGLST\u097E\u098B\u0995\u099D\u09A2\u09ADqualGreater;\u62DAullEqual;\u6266reater;\u6276ess;\u6AA1lantEqual;\u6A7Dilde;\u6272r;\uC000\u{1D50F}\u0100;e\u09BD\u09BE\u62D8ftarrow;\u61DAidot;\u413F\u0180npw\u09D4\u0A16\u0A1Bg\u0200LRlr\u09DE\u09F7\u0A02\u0A10eft\u0100AR\u09E6\u09ECrrow;\u67F5ightArrow;\u67F7ightArrow;\u67F6eft\u0100ar\u03B3\u0A0Aight\xE1\u03BFight\xE1\u03CAf;\uC000\u{1D543}er\u0100LR\u0A22\u0A2CeftArrow;\u6199ightArrow;\u6198\u0180cht\u0A3E\u0A40\u0A42\xF2\u084C;\u61B0rok;\u4141;\u626A\u0400acefiosu\u0A5A\u0A5D\u0A60\u0A77\u0A7C\u0A85\u0A8B\u0A8Ep;\u6905y;\u441C\u0100dl\u0A65\u0A6FiumSpace;\u605Flintrf;\u6133r;\uC000\u{1D510}nusPlus;\u6213pf;\uC000\u{1D544}c\xF2\u0A76;\u439C\u0480Jacefostu\u0AA3\u0AA7\u0AAD\u0AC0\u0B14\u0B19\u0D91\u0D97\u0D9Ecy;\u440Acute;\u4143\u0180aey\u0AB4\u0AB9\u0ABEron;\u4147dil;\u4145;\u441D\u0180gsw\u0AC7\u0AF0\u0B0Eative\u0180MTV\u0AD3\u0ADF\u0AE8ediumSpace;\u600Bhi\u0100cn\u0AE6\u0AD8\xEB\u0AD9eryThi\xEE\u0AD9ted\u0100GL\u0AF8\u0B06reaterGreate\xF2\u0673essLes\xF3\u0A48Line;\u400Ar;\uC000\u{1D511}\u0200Bnpt\u0B22\u0B28\u0B37\u0B3Areak;\u6060BreakingSpace;\u40A0f;\u6115\u0680;CDEGHLNPRSTV\u0B55\u0B56\u0B6A\u0B7C\u0BA1\u0BEB\u0C04\u0C5E\u0C84\u0CA6\u0CD8\u0D61\u0D85\u6AEC\u0100ou\u0B5B\u0B64ngruent;\u6262pCap;\u626DoubleVerticalBar;\u6226\u0180lqx\u0B83\u0B8A\u0B9Bement;\u6209ual\u0100;T\u0B92\u0B93\u6260ilde;\uC000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0BB6\u0BB7\u0BBD\u0BC9\u0BD3\u0BD8\u0BE5\u626Fqual;\u6271ullEqual;\uC000\u2267\u0338reater;\uC000\u226B\u0338ess;\u6279lantEqual;\uC000\u2A7E\u0338ilde;\u6275ump\u0144\u0BF2\u0BFDownHump;\uC000\u224E\u0338qual;\uC000\u224F\u0338e\u0100fs\u0C0A\u0C27tTriangle\u0180;BE\u0C1A\u0C1B\u0C21\u62EAar;\uC000\u29CF\u0338qual;\u62ECs\u0300;EGLST\u0C35\u0C36\u0C3C\u0C44\u0C4B\u0C58\u626Equal;\u6270reater;\u6278ess;\uC000\u226A\u0338lantEqual;\uC000\u2A7D\u0338ilde;\u6274ested\u0100GL\u0C68\u0C79reaterGreater;\uC000\u2AA2\u0338essLess;\uC000\u2AA1\u0338recedes\u0180;ES\u0C92\u0C93\u0C9B\u6280qual;\uC000\u2AAF\u0338lantEqual;\u62E0\u0100ei\u0CAB\u0CB9verseElement;\u620CghtTriangle\u0180;BE\u0CCB\u0CCC\u0CD2\u62EBar;\uC000\u29D0\u0338qual;\u62ED\u0100qu\u0CDD\u0D0CuareSu\u0100bp\u0CE8\u0CF9set\u0100;E\u0CF0\u0CF3\uC000\u228F\u0338qual;\u62E2erset\u0100;E\u0D03\u0D06\uC000\u2290\u0338qual;\u62E3\u0180bcp\u0D13\u0D24\u0D4Eset\u0100;E\u0D1B\u0D1E\uC000\u2282\u20D2qual;\u6288ceeds\u0200;EST\u0D32\u0D33\u0D3B\u0D46\u6281qual;\uC000\u2AB0\u0338lantEqual;\u62E1ilde;\uC000\u227F\u0338erset\u0100;E\u0D58\u0D5B\uC000\u2283\u20D2qual;\u6289ilde\u0200;EFT\u0D6E\u0D6F\u0D75\u0D7F\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uC000\u{1D4A9}ilde\u803B\xD1\u40D1;\u439D\u0700Eacdfgmoprstuv\u0DBD\u0DC2\u0DC9\u0DD5\u0DDB\u0DE0\u0DE7\u0DFC\u0E02\u0E20\u0E22\u0E32\u0E3F\u0E44lig;\u4152cute\u803B\xD3\u40D3\u0100iy\u0DCE\u0DD3rc\u803B\xD4\u40D4;\u441Eblac;\u4150r;\uC000\u{1D512}rave\u803B\xD2\u40D2\u0180aei\u0DEE\u0DF2\u0DF6cr;\u414Cga;\u43A9cron;\u439Fpf;\uC000\u{1D546}enCurly\u0100DQ\u0E0E\u0E1AoubleQuote;\u601Cuote;\u6018;\u6A54\u0100cl\u0E27\u0E2Cr;\uC000\u{1D4AA}ash\u803B\xD8\u40D8i\u016C\u0E37\u0E3Cde\u803B\xD5\u40D5es;\u6A37ml\u803B\xD6\u40D6er\u0100BP\u0E4B\u0E60\u0100ar\u0E50\u0E53r;\u603Eac\u0100ek\u0E5A\u0E5C;\u63DEet;\u63B4arenthesis;\u63DC\u0480acfhilors\u0E7F\u0E87\u0E8A\u0E8F\u0E92\u0E94\u0E9D\u0EB0\u0EFCrtialD;\u6202y;\u441Fr;\uC000\u{1D513}i;\u43A6;\u43A0usMinus;\u40B1\u0100ip\u0EA2\u0EADncareplan\xE5\u069Df;\u6119\u0200;eio\u0EB9\u0EBA\u0EE0\u0EE4\u6ABBcedes\u0200;EST\u0EC8\u0EC9\u0ECF\u0EDA\u627Aqual;\u6AAFlantEqual;\u627Cilde;\u627Eme;\u6033\u0100dp\u0EE9\u0EEEuct;\u620Fortion\u0100;a\u0225\u0EF9l;\u621D\u0100ci\u0F01\u0F06r;\uC000\u{1D4AB};\u43A8\u0200Ufos\u0F11\u0F16\u0F1B\u0F1FOT\u803B"\u4022r;\uC000\u{1D514}pf;\u611Acr;\uC000\u{1D4AC}\u0600BEacefhiorsu\u0F3E\u0F43\u0F47\u0F60\u0F73\u0FA7\u0FAA\u0FAD\u1096\u10A9\u10B4\u10BEarr;\u6910G\u803B\xAE\u40AE\u0180cnr\u0F4E\u0F53\u0F56ute;\u4154g;\u67EBr\u0100;t\u0F5C\u0F5D\u61A0l;\u6916\u0180aey\u0F67\u0F6C\u0F71ron;\u4158dil;\u4156;\u4420\u0100;v\u0F78\u0F79\u611Cerse\u0100EU\u0F82\u0F99\u0100lq\u0F87\u0F8Eement;\u620Builibrium;\u61CBpEquilibrium;\u696Fr\xBB\u0F79o;\u43A1ght\u0400ACDFTUVa\u0FC1\u0FEB\u0FF3\u1022\u1028\u105B\u1087\u03D8\u0100nr\u0FC6\u0FD2gleBracket;\u67E9row\u0180;BL\u0FDC\u0FDD\u0FE1\u6192ar;\u61E5eftArrow;\u61C4eiling;\u6309o\u01F5\u0FF9\0\u1005bleBracket;\u67E7n\u01D4\u100A\0\u1014eeVector;\u695Dector\u0100;B\u101D\u101E\u61C2ar;\u6955loor;\u630B\u0100er\u102D\u1043e\u0180;AV\u1035\u1036\u103C\u62A2rrow;\u61A6ector;\u695Biangle\u0180;BE\u1050\u1051\u1055\u62B3ar;\u69D0qual;\u62B5p\u0180DTV\u1063\u106E\u1078ownVector;\u694FeeVector;\u695Cector\u0100;B\u1082\u1083\u61BEar;\u6954ector\u0100;B\u1091\u1092\u61C0ar;\u6953\u0100pu\u109B\u109Ef;\u611DndImplies;\u6970ightarrow;\u61DB\u0100ch\u10B9\u10BCr;\u611B;\u61B1leDelayed;\u69F4\u0680HOacfhimoqstu\u10E4\u10F1\u10F7\u10FD\u1119\u111E\u1151\u1156\u1161\u1167\u11B5\u11BB\u11BF\u0100Cc\u10E9\u10EEHcy;\u4429y;\u4428FTcy;\u442Ccute;\u415A\u0280;aeiy\u1108\u1109\u110E\u1113\u1117\u6ABCron;\u4160dil;\u415Erc;\u415C;\u4421r;\uC000\u{1D516}ort\u0200DLRU\u112A\u1134\u113E\u1149ownArrow\xBB\u041EeftArrow\xBB\u089AightArrow\xBB\u0FDDpArrow;\u6191gma;\u43A3allCircle;\u6218pf;\uC000\u{1D54A}\u0272\u116D\0\0\u1170t;\u621Aare\u0200;ISU\u117B\u117C\u1189\u11AF\u65A1ntersection;\u6293u\u0100bp\u118F\u119Eset\u0100;E\u1197\u1198\u628Fqual;\u6291erset\u0100;E\u11A8\u11A9\u6290qual;\u6292nion;\u6294cr;\uC000\u{1D4AE}ar;\u62C6\u0200bcmp\u11C8\u11DB\u1209\u120B\u0100;s\u11CD\u11CE\u62D0et\u0100;E\u11CD\u11D5qual;\u6286\u0100ch\u11E0\u1205eeds\u0200;EST\u11ED\u11EE\u11F4\u11FF\u627Bqual;\u6AB0lantEqual;\u627Dilde;\u627FTh\xE1\u0F8C;\u6211\u0180;es\u1212\u1213\u1223\u62D1rset\u0100;E\u121C\u121D\u6283qual;\u6287et\xBB\u1213\u0580HRSacfhiors\u123E\u1244\u1249\u1255\u125E\u1271\u1276\u129F\u12C2\u12C8\u12D1ORN\u803B\xDE\u40DEADE;\u6122\u0100Hc\u124E\u1252cy;\u440By;\u4426\u0100bu\u125A\u125C;\u4009;\u43A4\u0180aey\u1265\u126A\u126Fron;\u4164dil;\u4162;\u4422r;\uC000\u{1D517}\u0100ei\u127B\u1289\u01F2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128E\u1298kSpace;\uC000\u205F\u200ASpace;\u6009lde\u0200;EFT\u12AB\u12AC\u12B2\u12BC\u623Cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uC000\u{1D54B}ipleDot;\u60DB\u0100ct\u12D6\u12DBr;\uC000\u{1D4AF}rok;\u4166\u0AE1\u12F7\u130E\u131A\u1326\0\u132C\u1331\0\0\0\0\0\u1338\u133D\u1377\u1385\0\u13FF\u1404\u140A\u1410\u0100cr\u12FB\u1301ute\u803B\xDA\u40DAr\u0100;o\u1307\u1308\u619Fcir;\u6949r\u01E3\u1313\0\u1316y;\u440Eve;\u416C\u0100iy\u131E\u1323rc\u803B\xDB\u40DB;\u4423blac;\u4170r;\uC000\u{1D518}rave\u803B\xD9\u40D9acr;\u416A\u0100di\u1341\u1369er\u0100BP\u1348\u135D\u0100ar\u134D\u1350r;\u405Fac\u0100ek\u1357\u1359;\u63DFet;\u63B5arenthesis;\u63DDon\u0100;P\u1370\u1371\u62C3lus;\u628E\u0100gp\u137B\u137Fon;\u4172f;\uC000\u{1D54C}\u0400ADETadps\u1395\u13AE\u13B8\u13C4\u03E8\u13D2\u13D7\u13F3rrow\u0180;BD\u1150\u13A0\u13A4ar;\u6912ownArrow;\u61C5ownArrow;\u6195quilibrium;\u696Eee\u0100;A\u13CB\u13CC\u62A5rrow;\u61A5own\xE1\u03F3er\u0100LR\u13DE\u13E8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13F9\u13FA\u43D2on;\u43A5ing;\u416Ecr;\uC000\u{1D4B0}ilde;\u4168ml\u803B\xDC\u40DC\u0480Dbcdefosv\u1427\u142C\u1430\u1433\u143E\u1485\u148A\u1490\u1496ash;\u62ABar;\u6AEBy;\u4412ash\u0100;l\u143B\u143C\u62A9;\u6AE6\u0100er\u1443\u1445;\u62C1\u0180bty\u144C\u1450\u147Aar;\u6016\u0100;i\u144F\u1455cal\u0200BLST\u1461\u1465\u146A\u1474ar;\u6223ine;\u407Ceparator;\u6758ilde;\u6240ThinSpace;\u600Ar;\uC000\u{1D519}pf;\uC000\u{1D54D}cr;\uC000\u{1D4B1}dash;\u62AA\u0280cefos\u14A7\u14AC\u14B1\u14B6\u14BCirc;\u4174dge;\u62C0r;\uC000\u{1D51A}pf;\uC000\u{1D54E}cr;\uC000\u{1D4B2}\u0200fios\u14CB\u14D0\u14D2\u14D8r;\uC000\u{1D51B};\u439Epf;\uC000\u{1D54F}cr;\uC000\u{1D4B3}\u0480AIUacfosu\u14F1\u14F5\u14F9\u14FD\u1504\u150F\u1514\u151A\u1520cy;\u442Fcy;\u4407cy;\u442Ecute\u803B\xDD\u40DD\u0100iy\u1509\u150Drc;\u4176;\u442Br;\uC000\u{1D51C}pf;\uC000\u{1D550}cr;\uC000\u{1D4B4}ml;\u4178\u0400Hacdefos\u1535\u1539\u153F\u154B\u154F\u155D\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417D;\u4417ot;\u417B\u01F2\u1554\0\u155BoWidt\xE8\u0AD9a;\u4396r;\u6128pf;\u6124cr;\uC000\u{1D4B5}\u0BE1\u1583\u158A\u1590\0\u15B0\u15B6\u15BF\0\0\0\0\u15C6\u15DB\u15EB\u165F\u166D\0\u1695\u169B\u16B2\u16B9\0\u16BEcute\u803B\xE1\u40E1reve;\u4103\u0300;Ediuy\u159C\u159D\u15A1\u15A3\u15A8\u15AD\u623E;\uC000\u223E\u0333;\u623Frc\u803B\xE2\u40E2te\u80BB\xB4\u0306;\u4430lig\u803B\xE6\u40E6\u0100;r\xB2\u15BA;\uC000\u{1D51E}rave\u803B\xE0\u40E0\u0100ep\u15CA\u15D6\u0100fp\u15CF\u15D4sym;\u6135\xE8\u15D3ha;\u43B1\u0100ap\u15DFc\u0100cl\u15E4\u15E7r;\u4101g;\u6A3F\u0264\u15F0\0\0\u160A\u0280;adsv\u15FA\u15FB\u15FF\u1601\u1607\u6227nd;\u6A55;\u6A5Clope;\u6A58;\u6A5A\u0380;elmrsz\u1618\u1619\u161B\u161E\u163F\u164F\u1659\u6220;\u69A4e\xBB\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163A\u163C\u163E;\u69A8;\u69A9;\u69AA;\u69AB;\u69AC;\u69AD;\u69AE;\u69AFt\u0100;v\u1645\u1646\u621Fb\u0100;d\u164C\u164D\u62BE;\u699D\u0100pt\u1654\u1657h;\u6222\xBB\xB9arr;\u637C\u0100gp\u1663\u1667on;\u4105f;\uC000\u{1D552}\u0380;Eaeiop\u12C1\u167B\u167D\u1682\u1684\u1687\u168A;\u6A70cir;\u6A6F;\u624Ad;\u624Bs;\u4027rox\u0100;e\u12C1\u1692\xF1\u1683ing\u803B\xE5\u40E5\u0180cty\u16A1\u16A6\u16A8r;\uC000\u{1D4B6};\u402Amp\u0100;e\u12C1\u16AF\xF1\u0288ilde\u803B\xE3\u40E3ml\u803B\xE4\u40E4\u0100ci\u16C2\u16C8onin\xF4\u0272nt;\u6A11\u0800Nabcdefiklnoprsu\u16ED\u16F1\u1730\u173C\u1743\u1748\u1778\u177D\u17E0\u17E6\u1839\u1850\u170D\u193D\u1948\u1970ot;\u6AED\u0100cr\u16F6\u171Ek\u0200ceps\u1700\u1705\u170D\u1713ong;\u624Cpsilon;\u43F6rime;\u6035im\u0100;e\u171A\u171B\u623Dq;\u62CD\u0176\u1722\u1726ee;\u62BDed\u0100;g\u172C\u172D\u6305e\xBB\u172Drk\u0100;t\u135C\u1737brk;\u63B6\u0100oy\u1701\u1741;\u4431quo;\u601E\u0280cmprt\u1753\u175B\u1761\u1764\u1768aus\u0100;e\u010A\u0109ptyv;\u69B0s\xE9\u170Cno\xF5\u0113\u0180ahw\u176F\u1771\u1773;\u43B2;\u6136een;\u626Cr;\uC000\u{1D51F}g\u0380costuvw\u178D\u179D\u17B3\u17C1\u17D5\u17DB\u17DE\u0180aiu\u1794\u1796\u179A\xF0\u0760rc;\u65EFp\xBB\u1371\u0180dpt\u17A4\u17A8\u17ADot;\u6A00lus;\u6A01imes;\u6A02\u0271\u17B9\0\0\u17BEcup;\u6A06ar;\u6605riangle\u0100du\u17CD\u17D2own;\u65BDp;\u65B3plus;\u6A04e\xE5\u1444\xE5\u14ADarow;\u690D\u0180ako\u17ED\u1826\u1835\u0100cn\u17F2\u1823k\u0180lst\u17FA\u05AB\u1802ozenge;\u69EBriangle\u0200;dlr\u1812\u1813\u1818\u181D\u65B4own;\u65BEeft;\u65C2ight;\u65B8k;\u6423\u01B1\u182B\0\u1833\u01B2\u182F\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183E\u184D\u0100;q\u1843\u1846\uC000=\u20E5uiv;\uC000\u2261\u20E5t;\u6310\u0200ptwx\u1859\u185E\u1867\u186Cf;\uC000\u{1D553}\u0100;t\u13CB\u1863om\xBB\u13CCtie;\u62C8\u0600DHUVbdhmptuv\u1885\u1896\u18AA\u18BB\u18D7\u18DB\u18EC\u18FF\u1905\u190A\u1910\u1921\u0200LRlr\u188E\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18A1\u18A2\u18A4\u18A6\u18A8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18B3\u18B5\u18B7\u18B9;\u655D;\u655A;\u655C;\u6559\u0380;HLRhlr\u18CA\u18CB\u18CD\u18CF\u18D1\u18D3\u18D5\u6551;\u656C;\u6563;\u6560;\u656B;\u6562;\u655Fox;\u69C9\u0200LRlr\u18E4\u18E6\u18E8\u18EA;\u6555;\u6552;\u6510;\u650C\u0280;DUdu\u06BD\u18F7\u18F9\u18FB\u18FD;\u6565;\u6568;\u652C;\u6534inus;\u629Flus;\u629Eimes;\u62A0\u0200LRlr\u1919\u191B\u191D\u191F;\u655B;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193B\u6502;\u656A;\u6561;\u655E;\u653C;\u6524;\u651C\u0100ev\u0123\u1942bar\u803B\xA6\u40A6\u0200ceio\u1951\u1956\u195A\u1960r;\uC000\u{1D4B7}mi;\u604Fm\u0100;e\u171A\u171Cl\u0180;bh\u1968\u1969\u196B\u405C;\u69C5sub;\u67C8\u016C\u1974\u197El\u0100;e\u1979\u197A\u6022t\xBB\u197Ap\u0180;Ee\u012F\u1985\u1987;\u6AAE\u0100;q\u06DC\u06DB\u0CE1\u19A7\0\u19E8\u1A11\u1A15\u1A32\0\u1A37\u1A50\0\0\u1AB4\0\0\u1AC1\0\0\u1B21\u1B2E\u1B4D\u1B52\0\u1BFD\0\u1C0C\u0180cpr\u19AD\u19B2\u19DDute;\u4107\u0300;abcds\u19BF\u19C0\u19C4\u19CA\u19D5\u19D9\u6229nd;\u6A44rcup;\u6A49\u0100au\u19CF\u19D2p;\u6A4Bp;\u6A47ot;\u6A40;\uC000\u2229\uFE00\u0100eo\u19E2\u19E5t;\u6041\xEE\u0693\u0200aeiu\u19F0\u19FB\u1A01\u1A05\u01F0\u19F5\0\u19F8s;\u6A4Don;\u410Ddil\u803B\xE7\u40E7rc;\u4109ps\u0100;s\u1A0C\u1A0D\u6A4Cm;\u6A50ot;\u410B\u0180dmn\u1A1B\u1A20\u1A26il\u80BB\xB8\u01ADptyv;\u69B2t\u8100\xA2;e\u1A2D\u1A2E\u40A2r\xE4\u01B2r;\uC000\u{1D520}\u0180cei\u1A3D\u1A40\u1A4Dy;\u4447ck\u0100;m\u1A47\u1A48\u6713ark\xBB\u1A48;\u43C7r\u0380;Ecefms\u1A5F\u1A60\u1A62\u1A6B\u1AA4\u1AAA\u1AAE\u65CB;\u69C3\u0180;el\u1A69\u1A6A\u1A6D\u42C6q;\u6257e\u0261\u1A74\0\0\u1A88rrow\u0100lr\u1A7C\u1A81eft;\u61BAight;\u61BB\u0280RSacd\u1A92\u1A94\u1A96\u1A9A\u1A9F\xBB\u0F47;\u64C8st;\u629Birc;\u629Aash;\u629Dnint;\u6A10id;\u6AEFcir;\u69C2ubs\u0100;u\u1ABB\u1ABC\u6663it\xBB\u1ABC\u02EC\u1AC7\u1AD4\u1AFA\0\u1B0Aon\u0100;e\u1ACD\u1ACE\u403A\u0100;q\xC7\xC6\u026D\u1AD9\0\0\u1AE2a\u0100;t\u1ADE\u1ADF\u402C;\u4040\u0180;fl\u1AE8\u1AE9\u1AEB\u6201\xEE\u1160e\u0100mx\u1AF1\u1AF6ent\xBB\u1AE9e\xF3\u024D\u01E7\u1AFE\0\u1B07\u0100;d\u12BB\u1B02ot;\u6A6Dn\xF4\u0246\u0180fry\u1B10\u1B14\u1B17;\uC000\u{1D554}o\xE4\u0254\u8100\xA9;s\u0155\u1B1Dr;\u6117\u0100ao\u1B25\u1B29rr;\u61B5ss;\u6717\u0100cu\u1B32\u1B37r;\uC000\u{1D4B8}\u0100bp\u1B3C\u1B44\u0100;e\u1B41\u1B42\u6ACF;\u6AD1\u0100;e\u1B49\u1B4A\u6AD0;\u6AD2dot;\u62EF\u0380delprvw\u1B60\u1B6C\u1B77\u1B82\u1BAC\u1BD4\u1BF9arr\u0100lr\u1B68\u1B6A;\u6938;\u6935\u0270\u1B72\0\0\u1B75r;\u62DEc;\u62DFarr\u0100;p\u1B7F\u1B80\u61B6;\u693D\u0300;bcdos\u1B8F\u1B90\u1B96\u1BA1\u1BA5\u1BA8\u622Arcap;\u6A48\u0100au\u1B9B\u1B9Ep;\u6A46p;\u6A4Aot;\u628Dr;\u6A45;\uC000\u222A\uFE00\u0200alrv\u1BB5\u1BBF\u1BDE\u1BE3rr\u0100;m\u1BBC\u1BBD\u61B7;\u693Cy\u0180evw\u1BC7\u1BD4\u1BD8q\u0270\u1BCE\0\0\u1BD2re\xE3\u1B73u\xE3\u1B75ee;\u62CEedge;\u62CFen\u803B\xA4\u40A4earrow\u0100lr\u1BEE\u1BF3eft\xBB\u1B80ight\xBB\u1BBDe\xE4\u1BDD\u0100ci\u1C01\u1C07onin\xF4\u01F7nt;\u6231lcty;\u632D\u0980AHabcdefhijlorstuwz\u1C38\u1C3B\u1C3F\u1C5D\u1C69\u1C75\u1C8A\u1C9E\u1CAC\u1CB7\u1CFB\u1CFF\u1D0D\u1D7B\u1D91\u1DAB\u1DBB\u1DC6\u1DCDr\xF2\u0381ar;\u6965\u0200glrs\u1C48\u1C4D\u1C52\u1C54ger;\u6020eth;\u6138\xF2\u1133h\u0100;v\u1C5A\u1C5B\u6010\xBB\u090A\u016B\u1C61\u1C67arow;\u690Fa\xE3\u0315\u0100ay\u1C6E\u1C73ron;\u410F;\u4434\u0180;ao\u0332\u1C7C\u1C84\u0100gr\u02BF\u1C81r;\u61CAtseq;\u6A77\u0180glm\u1C91\u1C94\u1C98\u803B\xB0\u40B0ta;\u43B4ptyv;\u69B1\u0100ir\u1CA3\u1CA8sht;\u697F;\uC000\u{1D521}ar\u0100lr\u1CB3\u1CB5\xBB\u08DC\xBB\u101E\u0280aegsv\u1CC2\u0378\u1CD6\u1CDC\u1CE0m\u0180;os\u0326\u1CCA\u1CD4nd\u0100;s\u0326\u1CD1uit;\u6666amma;\u43DDin;\u62F2\u0180;io\u1CE7\u1CE8\u1CF8\u40F7de\u8100\xF7;o\u1CE7\u1CF0ntimes;\u62C7n\xF8\u1CF7cy;\u4452c\u026F\u1D06\0\0\u1D0Arn;\u631Eop;\u630D\u0280lptuw\u1D18\u1D1D\u1D22\u1D49\u1D55lar;\u4024f;\uC000\u{1D555}\u0280;emps\u030B\u1D2D\u1D37\u1D3D\u1D42q\u0100;d\u0352\u1D33ot;\u6251inus;\u6238lus;\u6214quare;\u62A1blebarwedg\xE5\xFAn\u0180adh\u112E\u1D5D\u1D67ownarrow\xF3\u1C83arpoon\u0100lr\u1D72\u1D76ef\xF4\u1CB4igh\xF4\u1CB6\u0162\u1D7F\u1D85karo\xF7\u0F42\u026F\u1D8A\0\0\u1D8Ern;\u631Fop;\u630C\u0180cot\u1D98\u1DA3\u1DA6\u0100ry\u1D9D\u1DA1;\uC000\u{1D4B9};\u4455l;\u69F6rok;\u4111\u0100dr\u1DB0\u1DB4ot;\u62F1i\u0100;f\u1DBA\u1816\u65BF\u0100ah\u1DC0\u1DC3r\xF2\u0429a\xF2\u0FA6angle;\u69A6\u0100ci\u1DD2\u1DD5y;\u445Fgrarr;\u67FF\u0900Dacdefglmnopqrstux\u1E01\u1E09\u1E19\u1E38\u0578\u1E3C\u1E49\u1E61\u1E7E\u1EA5\u1EAF\u1EBD\u1EE1\u1F2A\u1F37\u1F44\u1F4E\u1F5A\u0100Do\u1E06\u1D34o\xF4\u1C89\u0100cs\u1E0E\u1E14ute\u803B\xE9\u40E9ter;\u6A6E\u0200aioy\u1E22\u1E27\u1E31\u1E36ron;\u411Br\u0100;c\u1E2D\u1E2E\u6256\u803B\xEA\u40EAlon;\u6255;\u444Dot;\u4117\u0100Dr\u1E41\u1E45ot;\u6252;\uC000\u{1D522}\u0180;rs\u1E50\u1E51\u1E57\u6A9Aave\u803B\xE8\u40E8\u0100;d\u1E5C\u1E5D\u6A96ot;\u6A98\u0200;ils\u1E6A\u1E6B\u1E72\u1E74\u6A99nters;\u63E7;\u6113\u0100;d\u1E79\u1E7A\u6A95ot;\u6A97\u0180aps\u1E85\u1E89\u1E97cr;\u4113ty\u0180;sv\u1E92\u1E93\u1E95\u6205et\xBB\u1E93p\u01001;\u1E9D\u1EA4\u0133\u1EA1\u1EA3;\u6004;\u6005\u6003\u0100gs\u1EAA\u1EAC;\u414Bp;\u6002\u0100gp\u1EB4\u1EB8on;\u4119f;\uC000\u{1D556}\u0180als\u1EC4\u1ECE\u1ED2r\u0100;s\u1ECA\u1ECB\u62D5l;\u69E3us;\u6A71i\u0180;lv\u1EDA\u1EDB\u1EDF\u43B5on\xBB\u1EDB;\u43F5\u0200csuv\u1EEA\u1EF3\u1F0B\u1F23\u0100io\u1EEF\u1E31rc\xBB\u1E2E\u0269\u1EF9\0\0\u1EFB\xED\u0548ant\u0100gl\u1F02\u1F06tr\xBB\u1E5Dess\xBB\u1E7A\u0180aei\u1F12\u1F16\u1F1Als;\u403Dst;\u625Fv\u0100;D\u0235\u1F20D;\u6A78parsl;\u69E5\u0100Da\u1F2F\u1F33ot;\u6253rr;\u6971\u0180cdi\u1F3E\u1F41\u1EF8r;\u612Fo\xF4\u0352\u0100ah\u1F49\u1F4B;\u43B7\u803B\xF0\u40F0\u0100mr\u1F53\u1F57l\u803B\xEB\u40EBo;\u60AC\u0180cip\u1F61\u1F64\u1F67l;\u4021s\xF4\u056E\u0100eo\u1F6C\u1F74ctatio\xEE\u0559nential\xE5\u0579\u09E1\u1F92\0\u1F9E\0\u1FA1\u1FA7\0\0\u1FC6\u1FCC\0\u1FD3\0\u1FE6\u1FEA\u2000\0\u2008\u205Allingdotse\xF1\u1E44y;\u4444male;\u6640\u0180ilr\u1FAD\u1FB3\u1FC1lig;\u8000\uFB03\u0269\u1FB9\0\0\u1FBDg;\u8000\uFB00ig;\u8000\uFB04;\uC000\u{1D523}lig;\u8000\uFB01lig;\uC000fj\u0180alt\u1FD9\u1FDC\u1FE1t;\u666Dig;\u8000\uFB02ns;\u65B1of;\u4192\u01F0\u1FEE\0\u1FF3f;\uC000\u{1D557}\u0100ak\u05BF\u1FF7\u0100;v\u1FFC\u1FFD\u62D4;\u6AD9artint;\u6A0D\u0100ao\u200C\u2055\u0100cs\u2011\u2052\u03B1\u201A\u2030\u2038\u2045\u2048\0\u2050\u03B2\u2022\u2025\u2027\u202A\u202C\0\u202E\u803B\xBD\u40BD;\u6153\u803B\xBC\u40BC;\u6155;\u6159;\u615B\u01B3\u2034\0\u2036;\u6154;\u6156\u02B4\u203E\u2041\0\0\u2043\u803B\xBE\u40BE;\u6157;\u615C5;\u6158\u01B6\u204C\0\u204E;\u615A;\u615D8;\u615El;\u6044wn;\u6322cr;\uC000\u{1D4BB}\u0880Eabcdefgijlnorstv\u2082\u2089\u209F\u20A5\u20B0\u20B4\u20F0\u20F5\u20FA\u20FF\u2103\u2112\u2138\u0317\u213E\u2152\u219E\u0100;l\u064D\u2087;\u6A8C\u0180cmp\u2090\u2095\u209Dute;\u41F5ma\u0100;d\u209C\u1CDA\u43B3;\u6A86reve;\u411F\u0100iy\u20AA\u20AErc;\u411D;\u4433ot;\u4121\u0200;lqs\u063E\u0642\u20BD\u20C9\u0180;qs\u063E\u064C\u20C4lan\xF4\u0665\u0200;cdl\u0665\u20D2\u20D5\u20E5c;\u6AA9ot\u0100;o\u20DC\u20DD\u6A80\u0100;l\u20E2\u20E3\u6A82;\u6A84\u0100;e\u20EA\u20ED\uC000\u22DB\uFE00s;\u6A94r;\uC000\u{1D524}\u0100;g\u0673\u061Bmel;\u6137cy;\u4453\u0200;Eaj\u065A\u210C\u210E\u2110;\u6A92;\u6AA5;\u6AA4\u0200Eaes\u211B\u211D\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6A8Arox\xBB\u2124\u0100;q\u212E\u212F\u6A88\u0100;q\u212E\u211Bim;\u62E7pf;\uC000\u{1D558}\u0100ci\u2143\u2146r;\u610Am\u0180;el\u066B\u214E\u2150;\u6A8E;\u6A90\u8300>;cdlqr\u05EE\u2160\u216A\u216E\u2173\u2179\u0100ci\u2165\u2167;\u6AA7r;\u6A7Aot;\u62D7Par;\u6995uest;\u6A7C\u0280adels\u2184\u216A\u2190\u0656\u219B\u01F0\u2189\0\u218Epro\xF8\u209Er;\u6978q\u0100lq\u063F\u2196les\xF3\u2088i\xED\u066B\u0100en\u21A3\u21ADrtneqq;\uC000\u2269\uFE00\xC5\u21AA\u0500Aabcefkosy\u21C4\u21C7\u21F1\u21F5\u21FA\u2218\u221D\u222F\u2268\u227Dr\xF2\u03A0\u0200ilmr\u21D0\u21D4\u21D7\u21DBrs\xF0\u1484f\xBB\u2024il\xF4\u06A9\u0100dr\u21E0\u21E4cy;\u444A\u0180;cw\u08F4\u21EB\u21EFir;\u6948;\u61ADar;\u610Firc;\u4125\u0180alr\u2201\u220E\u2213rts\u0100;u\u2209\u220A\u6665it\xBB\u220Alip;\u6026con;\u62B9r;\uC000\u{1D525}s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223A\u223E\u2243\u225E\u2263rr;\u61FFtht;\u623Bk\u0100lr\u2249\u2253eftarrow;\u61A9ightarrow;\u61AAf;\uC000\u{1D559}bar;\u6015\u0180clt\u226F\u2274\u2278r;\uC000\u{1D4BD}as\xE8\u21F4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xBB\u1C5B\u0AE1\u22A3\0\u22AA\0\u22B8\u22C5\u22CE\0\u22D5\u22F3\0\0\u22F8\u2322\u2367\u2362\u237F\0\u2386\u23AA\u23B4cute\u803B\xED\u40ED\u0180;iy\u0771\u22B0\u22B5rc\u803B\xEE\u40EE;\u4438\u0100cx\u22BC\u22BFy;\u4435cl\u803B\xA1\u40A1\u0100fr\u039F\u22C9;\uC000\u{1D526}rave\u803B\xEC\u40EC\u0200;ino\u073E\u22DD\u22E9\u22EE\u0100in\u22E2\u22E6nt;\u6A0Ct;\u622Dfin;\u69DCta;\u6129lig;\u4133\u0180aop\u22FE\u231A\u231D\u0180cgt\u2305\u2308\u2317r;\u412B\u0180elp\u071F\u230F\u2313in\xE5\u078Ear\xF4\u0720h;\u4131f;\u62B7ed;\u41B5\u0280;cfot\u04F4\u232C\u2331\u233D\u2341are;\u6105in\u0100;t\u2338\u2339\u621Eie;\u69DDdo\xF4\u2319\u0280;celp\u0757\u234C\u2350\u235B\u2361al;\u62BA\u0100gr\u2355\u2359er\xF3\u1563\xE3\u234Darhk;\u6A17rod;\u6A3C\u0200cgpt\u236F\u2372\u2376\u237By;\u4451on;\u412Ff;\uC000\u{1D55A}a;\u43B9uest\u803B\xBF\u40BF\u0100ci\u238A\u238Fr;\uC000\u{1D4BE}n\u0280;Edsv\u04F4\u239B\u239D\u23A1\u04F3;\u62F9ot;\u62F5\u0100;v\u23A6\u23A7\u62F4;\u62F3\u0100;i\u0777\u23AElde;\u4129\u01EB\u23B8\0\u23BCcy;\u4456l\u803B\xEF\u40EF\u0300cfmosu\u23CC\u23D7\u23DC\u23E1\u23E7\u23F5\u0100iy\u23D1\u23D5rc;\u4135;\u4439r;\uC000\u{1D527}ath;\u4237pf;\uC000\u{1D55B}\u01E3\u23EC\0\u23F1r;\uC000\u{1D4BF}rcy;\u4458kcy;\u4454\u0400acfghjos\u240B\u2416\u2422\u2427\u242D\u2431\u2435\u243Bppa\u0100;v\u2413\u2414\u43BA;\u43F0\u0100ey\u241B\u2420dil;\u4137;\u443Ar;\uC000\u{1D528}reen;\u4138cy;\u4445cy;\u445Cpf;\uC000\u{1D55C}cr;\uC000\u{1D4C0}\u0B80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248D\u2491\u250E\u253D\u255A\u2580\u264E\u265E\u2665\u2679\u267D\u269A\u26B2\u26D8\u275D\u2768\u278B\u27C0\u2801\u2812\u0180art\u2477\u247A\u247Cr\xF2\u09C6\xF2\u0395ail;\u691Barr;\u690E\u0100;g\u0994\u248B;\u6A8Bar;\u6962\u0963\u24A5\0\u24AA\0\u24B1\0\0\0\0\0\u24B5\u24BA\0\u24C6\u24C8\u24CD\0\u24F9ute;\u413Amptyv;\u69B4ra\xEE\u084Cbda;\u43BBg\u0180;dl\u088E\u24C1\u24C3;\u6991\xE5\u088E;\u6A85uo\u803B\xAB\u40ABr\u0400;bfhlpst\u0899\u24DE\u24E6\u24E9\u24EB\u24EE\u24F1\u24F5\u0100;f\u089D\u24E3s;\u691Fs;\u691D\xEB\u2252p;\u61ABl;\u6939im;\u6973l;\u61A2\u0180;ae\u24FF\u2500\u2504\u6AABil;\u6919\u0100;s\u2509\u250A\u6AAD;\uC000\u2AAD\uFE00\u0180abr\u2515\u2519\u251Drr;\u690Crk;\u6772\u0100ak\u2522\u252Cc\u0100ek\u2528\u252A;\u407B;\u405B\u0100es\u2531\u2533;\u698Bl\u0100du\u2539\u253B;\u698F;\u698D\u0200aeuy\u2546\u254B\u2556\u2558ron;\u413E\u0100di\u2550\u2554il;\u413C\xEC\u08B0\xE2\u2529;\u443B\u0200cqrs\u2563\u2566\u256D\u257Da;\u6936uo\u0100;r\u0E19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694Bh;\u61B2\u0280;fgqs\u258B\u258C\u0989\u25F3\u25FF\u6264t\u0280ahlrt\u2598\u25A4\u25B7\u25C2\u25E8rrow\u0100;t\u0899\u25A1a\xE9\u24F6arpoon\u0100du\u25AF\u25B4own\xBB\u045Ap\xBB\u0966eftarrows;\u61C7ight\u0180ahs\u25CD\u25D6\u25DErrow\u0100;s\u08F4\u08A7arpoon\xF3\u0F98quigarro\xF7\u21F0hreetimes;\u62CB\u0180;qs\u258B\u0993\u25FAlan\xF4\u09AC\u0280;cdgs\u09AC\u260A\u260D\u261D\u2628c;\u6AA8ot\u0100;o\u2614\u2615\u6A7F\u0100;r\u261A\u261B\u6A81;\u6A83\u0100;e\u2622\u2625\uC000\u22DA\uFE00s;\u6A93\u0280adegs\u2633\u2639\u263D\u2649\u264Bppro\xF8\u24C6ot;\u62D6q\u0100gq\u2643\u2645\xF4\u0989gt\xF2\u248C\xF4\u099Bi\xED\u09B2\u0180ilr\u2655\u08E1\u265Asht;\u697C;\uC000\u{1D529}\u0100;E\u099C\u2663;\u6A91\u0161\u2669\u2676r\u0100du\u25B2\u266E\u0100;l\u0965\u2673;\u696Alk;\u6584cy;\u4459\u0280;acht\u0A48\u2688\u268B\u2691\u2696r\xF2\u25C1orne\xF2\u1D08ard;\u696Bri;\u65FA\u0100io\u269F\u26A4dot;\u4140ust\u0100;a\u26AC\u26AD\u63B0che\xBB\u26AD\u0200Eaes\u26BB\u26BD\u26C9\u26D4;\u6268p\u0100;p\u26C3\u26C4\u6A89rox\xBB\u26C4\u0100;q\u26CE\u26CF\u6A87\u0100;q\u26CE\u26BBim;\u62E6\u0400abnoptwz\u26E9\u26F4\u26F7\u271A\u272F\u2741\u2747\u2750\u0100nr\u26EE\u26F1g;\u67ECr;\u61FDr\xEB\u08C1g\u0180lmr\u26FF\u270D\u2714eft\u0100ar\u09E6\u2707ight\xE1\u09F2apsto;\u67FCight\xE1\u09FDparrow\u0100lr\u2725\u2729ef\xF4\u24EDight;\u61AC\u0180afl\u2736\u2739\u273Dr;\u6985;\uC000\u{1D55D}us;\u6A2Dimes;\u6A34\u0161\u274B\u274Fst;\u6217\xE1\u134E\u0180;ef\u2757\u2758\u1800\u65CAnge\xBB\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277C\u2785\u2787r\xF2\u08A8orne\xF2\u1D8Car\u0100;d\u0F98\u2783;\u696D;\u600Eri;\u62BF\u0300achiqt\u2798\u279D\u0A40\u27A2\u27AE\u27BBquo;\u6039r;\uC000\u{1D4C1}m\u0180;eg\u09B2\u27AA\u27AC;\u6A8D;\u6A8F\u0100bu\u252A\u27B3o\u0100;r\u0E1F\u27B9;\u601Arok;\u4142\u8400<;cdhilqr\u082B\u27D2\u2639\u27DC\u27E0\u27E5\u27EA\u27F0\u0100ci\u27D7\u27D9;\u6AA6r;\u6A79re\xE5\u25F2mes;\u62C9arr;\u6976uest;\u6A7B\u0100Pi\u27F5\u27F9ar;\u6996\u0180;ef\u2800\u092D\u181B\u65C3r\u0100du\u2807\u280Dshar;\u694Ahar;\u6966\u0100en\u2817\u2821rtneqq;\uC000\u2268\uFE00\xC5\u281E\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288E\u2893\u28A0\u28A5\u28A8\u28DA\u28E2\u28E4\u0A83\u28F3\u2902Dot;\u623A\u0200clpr\u284E\u2852\u2863\u287Dr\u803B\xAF\u40AF\u0100et\u2857\u2859;\u6642\u0100;e\u285E\u285F\u6720se\xBB\u285F\u0100;s\u103B\u2868to\u0200;dlu\u103B\u2873\u2877\u287Bow\xEE\u048Cef\xF4\u090F\xF0\u13D1ker;\u65AE\u0100oy\u2887\u288Cmma;\u6A29;\u443Cash;\u6014asuredangle\xBB\u1626r;\uC000\u{1D52A}o;\u6127\u0180cdn\u28AF\u28B4\u28C9ro\u803B\xB5\u40B5\u0200;acd\u1464\u28BD\u28C0\u28C4s\xF4\u16A7ir;\u6AF0ot\u80BB\xB7\u01B5us\u0180;bd\u28D2\u1903\u28D3\u6212\u0100;u\u1D3C\u28D8;\u6A2A\u0163\u28DE\u28E1p;\u6ADB\xF2\u2212\xF0\u0A81\u0100dp\u28E9\u28EEels;\u62A7f;\uC000\u{1D55E}\u0100ct\u28F8\u28FDr;\uC000\u{1D4C2}pos\xBB\u159D\u0180;lm\u2909\u290A\u290D\u43BCtimap;\u62B8\u0C00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297E\u2989\u2998\u29DA\u29E9\u2A15\u2A1A\u2A58\u2A5D\u2A83\u2A95\u2AA4\u2AA8\u2B04\u2B07\u2B44\u2B7F\u2BAE\u2C34\u2C67\u2C7C\u2CE9\u0100gt\u2947\u294B;\uC000\u22D9\u0338\u0100;v\u2950\u0BCF\uC000\u226B\u20D2\u0180elt\u295A\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61CDightarrow;\u61CE;\uC000\u22D8\u0338\u0100;v\u297B\u0C47\uC000\u226A\u20D2ightarrow;\u61CF\u0100Dd\u298E\u2993ash;\u62AFash;\u62AE\u0280bcnpt\u29A3\u29A7\u29AC\u29B1\u29CCla\xBB\u02DEute;\u4144g;\uC000\u2220\u20D2\u0280;Eiop\u0D84\u29BC\u29C0\u29C5\u29C8;\uC000\u2A70\u0338d;\uC000\u224B\u0338s;\u4149ro\xF8\u0D84ur\u0100;a\u29D3\u29D4\u666El\u0100;s\u29D3\u0B38\u01F3\u29DF\0\u29E3p\u80BB\xA0\u0B37mp\u0100;e\u0BF9\u0C00\u0280aeouy\u29F4\u29FE\u2A03\u2A10\u2A13\u01F0\u29F9\0\u29FB;\u6A43on;\u4148dil;\u4146ng\u0100;d\u0D7E\u2A0Aot;\uC000\u2A6D\u0338p;\u6A42;\u443Dash;\u6013\u0380;Aadqsx\u0B92\u2A29\u2A2D\u2A3B\u2A41\u2A45\u2A50rr;\u61D7r\u0100hr\u2A33\u2A36k;\u6924\u0100;o\u13F2\u13F0ot;\uC000\u2250\u0338ui\xF6\u0B63\u0100ei\u2A4A\u2A4Ear;\u6928\xED\u0B98ist\u0100;s\u0BA0\u0B9Fr;\uC000\u{1D52B}\u0200Eest\u0BC5\u2A66\u2A79\u2A7C\u0180;qs\u0BBC\u2A6D\u0BE1\u0180;qs\u0BBC\u0BC5\u2A74lan\xF4\u0BE2i\xED\u0BEA\u0100;r\u0BB6\u2A81\xBB\u0BB7\u0180Aap\u2A8A\u2A8D\u2A91r\xF2\u2971rr;\u61AEar;\u6AF2\u0180;sv\u0F8D\u2A9C\u0F8C\u0100;d\u2AA1\u2AA2\u62FC;\u62FAcy;\u445A\u0380AEadest\u2AB7\u2ABA\u2ABE\u2AC2\u2AC5\u2AF6\u2AF9r\xF2\u2966;\uC000\u2266\u0338rr;\u619Ar;\u6025\u0200;fqs\u0C3B\u2ACE\u2AE3\u2AEFt\u0100ar\u2AD4\u2AD9rro\xF7\u2AC1ightarro\xF7\u2A90\u0180;qs\u0C3B\u2ABA\u2AEAlan\xF4\u0C55\u0100;s\u0C55\u2AF4\xBB\u0C36i\xED\u0C5D\u0100;r\u0C35\u2AFEi\u0100;e\u0C1A\u0C25i\xE4\u0D90\u0100pt\u2B0C\u2B11f;\uC000\u{1D55F}\u8180\xAC;in\u2B19\u2B1A\u2B36\u40ACn\u0200;Edv\u0B89\u2B24\u2B28\u2B2E;\uC000\u22F9\u0338ot;\uC000\u22F5\u0338\u01E1\u0B89\u2B33\u2B35;\u62F7;\u62F6i\u0100;v\u0CB8\u2B3C\u01E1\u0CB8\u2B41\u2B43;\u62FE;\u62FD\u0180aor\u2B4B\u2B63\u2B69r\u0200;ast\u0B7B\u2B55\u2B5A\u2B5Flle\xEC\u0B7Bl;\uC000\u2AFD\u20E5;\uC000\u2202\u0338lint;\u6A14\u0180;ce\u0C92\u2B70\u2B73u\xE5\u0CA5\u0100;c\u0C98\u2B78\u0100;e\u0C92\u2B7D\xF1\u0C98\u0200Aait\u2B88\u2B8B\u2B9D\u2BA7r\xF2\u2988rr\u0180;cw\u2B94\u2B95\u2B99\u619B;\uC000\u2933\u0338;\uC000\u219D\u0338ghtarrow\xBB\u2B95ri\u0100;e\u0CCB\u0CD6\u0380chimpqu\u2BBD\u2BCD\u2BD9\u2B04\u0B78\u2BE4\u2BEF\u0200;cer\u0D32\u2BC6\u0D37\u2BC9u\xE5\u0D45;\uC000\u{1D4C3}ort\u026D\u2B05\0\0\u2BD6ar\xE1\u2B56m\u0100;e\u0D6E\u2BDF\u0100;q\u0D74\u0D73su\u0100bp\u2BEB\u2BED\xE5\u0CF8\xE5\u0D0B\u0180bcp\u2BF6\u2C11\u2C19\u0200;Ees\u2BFF\u2C00\u0D22\u2C04\u6284;\uC000\u2AC5\u0338et\u0100;e\u0D1B\u2C0Bq\u0100;q\u0D23\u2C00c\u0100;e\u0D32\u2C17\xF1\u0D38\u0200;Ees\u2C22\u2C23\u0D5F\u2C27\u6285;\uC000\u2AC6\u0338et\u0100;e\u0D58\u2C2Eq\u0100;q\u0D60\u2C23\u0200gilr\u2C3D\u2C3F\u2C45\u2C47\xEC\u0BD7lde\u803B\xF1\u40F1\xE7\u0C43iangle\u0100lr\u2C52\u2C5Ceft\u0100;e\u0C1A\u2C5A\xF1\u0C26ight\u0100;e\u0CCB\u2C65\xF1\u0CD7\u0100;m\u2C6C\u2C6D\u43BD\u0180;es\u2C74\u2C75\u2C79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2C8F\u2C94\u2C99\u2C9E\u2CA3\u2CB0\u2CB6\u2CD3\u2CE3ash;\u62ADarr;\u6904p;\uC000\u224D\u20D2ash;\u62AC\u0100et\u2CA8\u2CAC;\uC000\u2265\u20D2;\uC000>\u20D2nfin;\u69DE\u0180Aet\u2CBD\u2CC1\u2CC5rr;\u6902;\uC000\u2264\u20D2\u0100;r\u2CCA\u2CCD\uC000<\u20D2ie;\uC000\u22B4\u20D2\u0100At\u2CD8\u2CDCrr;\u6903rie;\uC000\u22B5\u20D2im;\uC000\u223C\u20D2\u0180Aan\u2CF0\u2CF4\u2D02rr;\u61D6r\u0100hr\u2CFA\u2CFDk;\u6923\u0100;o\u13E7\u13E5ear;\u6927\u1253\u1A95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2D2D\0\u2D38\u2D48\u2D60\u2D65\u2D72\u2D84\u1B07\0\0\u2D8D\u2DAB\0\u2DC8\u2DCE\0\u2DDC\u2E19\u2E2B\u2E3E\u2E43\u0100cs\u2D31\u1A97ute\u803B\xF3\u40F3\u0100iy\u2D3C\u2D45r\u0100;c\u1A9E\u2D42\u803B\xF4\u40F4;\u443E\u0280abios\u1AA0\u2D52\u2D57\u01C8\u2D5Alac;\u4151v;\u6A38old;\u69BClig;\u4153\u0100cr\u2D69\u2D6Dir;\u69BF;\uC000\u{1D52C}\u036F\u2D79\0\0\u2D7C\0\u2D82n;\u42DBave\u803B\xF2\u40F2;\u69C1\u0100bm\u2D88\u0DF4ar;\u69B5\u0200acit\u2D95\u2D98\u2DA5\u2DA8r\xF2\u1A80\u0100ir\u2D9D\u2DA0r;\u69BEoss;\u69BBn\xE5\u0E52;\u69C0\u0180aei\u2DB1\u2DB5\u2DB9cr;\u414Dga;\u43C9\u0180cdn\u2DC0\u2DC5\u01CDron;\u43BF;\u69B6pf;\uC000\u{1D560}\u0180ael\u2DD4\u2DD7\u01D2r;\u69B7rp;\u69B9\u0380;adiosv\u2DEA\u2DEB\u2DEE\u2E08\u2E0D\u2E10\u2E16\u6228r\xF2\u1A86\u0200;efm\u2DF7\u2DF8\u2E02\u2E05\u6A5Dr\u0100;o\u2DFE\u2DFF\u6134f\xBB\u2DFF\u803B\xAA\u40AA\u803B\xBA\u40BAgof;\u62B6r;\u6A56lope;\u6A57;\u6A5B\u0180clo\u2E1F\u2E21\u2E27\xF2\u2E01ash\u803B\xF8\u40F8l;\u6298i\u016C\u2E2F\u2E34de\u803B\xF5\u40F5es\u0100;a\u01DB\u2E3As;\u6A36ml\u803B\xF6\u40F6bar;\u633D\u0AE1\u2E5E\0\u2E7D\0\u2E80\u2E9D\0\u2EA2\u2EB9\0\0\u2ECB\u0E9C\0\u2F13\0\0\u2F2B\u2FBC\0\u2FC8r\u0200;ast\u0403\u2E67\u2E72\u0E85\u8100\xB6;l\u2E6D\u2E6E\u40B6le\xEC\u0403\u0269\u2E78\0\0\u2E7Bm;\u6AF3;\u6AFDy;\u443Fr\u0280cimpt\u2E8B\u2E8F\u2E93\u1865\u2E97nt;\u4025od;\u402Eil;\u6030enk;\u6031r;\uC000\u{1D52D}\u0180imo\u2EA8\u2EB0\u2EB4\u0100;v\u2EAD\u2EAE\u43C6;\u43D5ma\xF4\u0A76ne;\u660E\u0180;tv\u2EBF\u2EC0\u2EC8\u43C0chfork\xBB\u1FFD;\u43D6\u0100au\u2ECF\u2EDFn\u0100ck\u2ED5\u2EDDk\u0100;h\u21F4\u2EDB;\u610E\xF6\u21F4s\u0480;abcdemst\u2EF3\u2EF4\u1908\u2EF9\u2EFD\u2F04\u2F06\u2F0A\u2F0E\u402Bcir;\u6A23ir;\u6A22\u0100ou\u1D40\u2F02;\u6A25;\u6A72n\u80BB\xB1\u0E9Dim;\u6A26wo;\u6A27\u0180ipu\u2F19\u2F20\u2F25ntint;\u6A15f;\uC000\u{1D561}nd\u803B\xA3\u40A3\u0500;Eaceinosu\u0EC8\u2F3F\u2F41\u2F44\u2F47\u2F81\u2F89\u2F92\u2F7E\u2FB6;\u6AB3p;\u6AB7u\xE5\u0ED9\u0100;c\u0ECE\u2F4C\u0300;acens\u0EC8\u2F59\u2F5F\u2F66\u2F68\u2F7Eppro\xF8\u2F43urlye\xF1\u0ED9\xF1\u0ECE\u0180aes\u2F6F\u2F76\u2F7Approx;\u6AB9qq;\u6AB5im;\u62E8i\xED\u0EDFme\u0100;s\u2F88\u0EAE\u6032\u0180Eas\u2F78\u2F90\u2F7A\xF0\u2F75\u0180dfp\u0EEC\u2F99\u2FAF\u0180als\u2FA0\u2FA5\u2FAAlar;\u632Eine;\u6312urf;\u6313\u0100;t\u0EFB\u2FB4\xEF\u0EFBrel;\u62B0\u0100ci\u2FC0\u2FC5r;\uC000\u{1D4C5};\u43C8ncsp;\u6008\u0300fiopsu\u2FDA\u22E2\u2FDF\u2FE5\u2FEB\u2FF1r;\uC000\u{1D52E}pf;\uC000\u{1D562}rime;\u6057cr;\uC000\u{1D4C6}\u0180aeo\u2FF8\u3009\u3013t\u0100ei\u2FFE\u3005rnion\xF3\u06B0nt;\u6A16st\u0100;e\u3010\u3011\u403F\xF1\u1F19\xF4\u0F14\u0A80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30E0\u310E\u312B\u3147\u3162\u3172\u318E\u3206\u3215\u3224\u3229\u3258\u326E\u3272\u3290\u32B0\u32B7\u0180art\u3047\u304A\u304Cr\xF2\u10B3\xF2\u03DDail;\u691Car\xF2\u1C65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307F\u308F\u3094\u30CC\u0100eu\u306D\u3071;\uC000\u223D\u0331te;\u4155i\xE3\u116Emptyv;\u69B3g\u0200;del\u0FD1\u3089\u308B\u308D;\u6992;\u69A5\xE5\u0FD1uo\u803B\xBB\u40BBr\u0580;abcfhlpstw\u0FDC\u30AC\u30AF\u30B7\u30B9\u30BC\u30BE\u30C0\u30C3\u30C7\u30CAp;\u6975\u0100;f\u0FE0\u30B4s;\u6920;\u6933s;\u691E\xEB\u225D\xF0\u272El;\u6945im;\u6974l;\u61A3;\u619D\u0100ai\u30D1\u30D5il;\u691Ao\u0100;n\u30DB\u30DC\u6236al\xF3\u0F1E\u0180abr\u30E7\u30EA\u30EEr\xF2\u17E5rk;\u6773\u0100ak\u30F3\u30FDc\u0100ek\u30F9\u30FB;\u407D;\u405D\u0100es\u3102\u3104;\u698Cl\u0100du\u310A\u310C;\u698E;\u6990\u0200aeuy\u3117\u311C\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xEC\u0FF2\xE2\u30FA;\u4440\u0200clqs\u3134\u3137\u313D\u3144a;\u6937dhar;\u6969uo\u0100;r\u020E\u020Dh;\u61B3\u0180acg\u314E\u315F\u0F44l\u0200;ips\u0F78\u3158\u315B\u109Cn\xE5\u10BBar\xF4\u0FA9t;\u65AD\u0180ilr\u3169\u1023\u316Esht;\u697D;\uC000\u{1D52F}\u0100ao\u3177\u3186r\u0100du\u317D\u317F\xBB\u047B\u0100;l\u1091\u3184;\u696C\u0100;v\u318B\u318C\u43C1;\u43F1\u0180gns\u3195\u31F9\u31FCht\u0300ahlrst\u31A4\u31B0\u31C2\u31D8\u31E4\u31EErrow\u0100;t\u0FDC\u31ADa\xE9\u30C8arpoon\u0100du\u31BB\u31BFow\xEE\u317Ep\xBB\u1092eft\u0100ah\u31CA\u31D0rrow\xF3\u0FEAarpoon\xF3\u0551ightarrows;\u61C9quigarro\xF7\u30CBhreetimes;\u62CCg;\u42DAingdotse\xF1\u1F32\u0180ahm\u320D\u3210\u3213r\xF2\u0FEAa\xF2\u0551;\u600Foust\u0100;a\u321E\u321F\u63B1che\xBB\u321Fmid;\u6AEE\u0200abpt\u3232\u323D\u3240\u3252\u0100nr\u3237\u323Ag;\u67EDr;\u61FEr\xEB\u1003\u0180afl\u3247\u324A\u324Er;\u6986;\uC000\u{1D563}us;\u6A2Eimes;\u6A35\u0100ap\u325D\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6A12ar\xF2\u31E3\u0200achq\u327B\u3280\u10BC\u3285quo;\u603Ar;\uC000\u{1D4C7}\u0100bu\u30FB\u328Ao\u0100;r\u0214\u0213\u0180hir\u3297\u329B\u32A0re\xE5\u31F8mes;\u62CAi\u0200;efl\u32AA\u1059\u1821\u32AB\u65B9tri;\u69CEluhar;\u6968;\u611E\u0D61\u32D5\u32DB\u32DF\u332C\u3338\u3371\0\u337A\u33A4\0\0\u33EC\u33F0\0\u3428\u3448\u345A\u34AD\u34B1\u34CA\u34F1\0\u3616\0\0\u3633cute;\u415Bqu\xEF\u27BA\u0500;Eaceinpsy\u11ED\u32F3\u32F5\u32FF\u3302\u330B\u330F\u331F\u3326\u3329;\u6AB4\u01F0\u32FA\0\u32FC;\u6AB8on;\u4161u\xE5\u11FE\u0100;d\u11F3\u3307il;\u415Frc;\u415D\u0180Eas\u3316\u3318\u331B;\u6AB6p;\u6ABAim;\u62E9olint;\u6A13i\xED\u1204;\u4441ot\u0180;be\u3334\u1D47\u3335\u62C5;\u6A66\u0380Aacmstx\u3346\u334A\u3357\u335B\u335E\u3363\u336Drr;\u61D8r\u0100hr\u3350\u3352\xEB\u2228\u0100;o\u0A36\u0A34t\u803B\xA7\u40A7i;\u403Bwar;\u6929m\u0100in\u3369\xF0nu\xF3\xF1t;\u6736r\u0100;o\u3376\u2055\uC000\u{1D530}\u0200acoy\u3382\u3386\u3391\u33A0rp;\u666F\u0100hy\u338B\u338Fcy;\u4449;\u4448rt\u026D\u3399\0\0\u339Ci\xE4\u1464ara\xEC\u2E6F\u803B\xAD\u40AD\u0100gm\u33A8\u33B4ma\u0180;fv\u33B1\u33B2\u33B2\u43C3;\u43C2\u0400;deglnpr\u12AB\u33C5\u33C9\u33CE\u33D6\u33DE\u33E1\u33E6ot;\u6A6A\u0100;q\u12B1\u12B0\u0100;E\u33D3\u33D4\u6A9E;\u6AA0\u0100;E\u33DB\u33DC\u6A9D;\u6A9Fe;\u6246lus;\u6A24arr;\u6972ar\xF2\u113D\u0200aeit\u33F8\u3408\u340F\u3417\u0100ls\u33FD\u3404lsetm\xE9\u336Ahp;\u6A33parsl;\u69E4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341C\u341D\u6AAA\u0100;s\u3422\u3423\u6AAC;\uC000\u2AAC\uFE00\u0180flp\u342E\u3433\u3442tcy;\u444C\u0100;b\u3438\u3439\u402F\u0100;a\u343E\u343F\u69C4r;\u633Ff;\uC000\u{1D564}a\u0100dr\u344D\u0402es\u0100;u\u3454\u3455\u6660it\xBB\u3455\u0180csu\u3460\u3479\u349F\u0100au\u3465\u346Fp\u0100;s\u1188\u346B;\uC000\u2293\uFE00p\u0100;s\u11B4\u3475;\uC000\u2294\uFE00u\u0100bp\u347F\u348F\u0180;es\u1197\u119C\u3486et\u0100;e\u1197\u348D\xF1\u119D\u0180;es\u11A8\u11AD\u3496et\u0100;e\u11A8\u349D\xF1\u11AE\u0180;af\u117B\u34A6\u05B0r\u0165\u34AB\u05B1\xBB\u117Car\xF2\u1148\u0200cemt\u34B9\u34BE\u34C2\u34C5r;\uC000\u{1D4C8}tm\xEE\xF1i\xEC\u3415ar\xE6\u11BE\u0100ar\u34CE\u34D5r\u0100;f\u34D4\u17BF\u6606\u0100an\u34DA\u34EDight\u0100ep\u34E3\u34EApsilo\xEE\u1EE0h\xE9\u2EAFs\xBB\u2852\u0280bcmnp\u34FB\u355E\u1209\u358B\u358E\u0480;Edemnprs\u350E\u350F\u3511\u3515\u351E\u3523\u352C\u3531\u3536\u6282;\u6AC5ot;\u6ABD\u0100;d\u11DA\u351Aot;\u6AC3ult;\u6AC1\u0100Ee\u3528\u352A;\u6ACB;\u628Alus;\u6ABFarr;\u6979\u0180eiu\u353D\u3552\u3555t\u0180;en\u350E\u3545\u354Bq\u0100;q\u11DA\u350Feq\u0100;q\u352B\u3528m;\u6AC7\u0100bp\u355A\u355C;\u6AD5;\u6AD3c\u0300;acens\u11ED\u356C\u3572\u3579\u357B\u3326ppro\xF8\u32FAurlye\xF1\u11FE\xF1\u11F3\u0180aes\u3582\u3588\u331Bppro\xF8\u331Aq\xF1\u3317g;\u666A\u0680123;Edehlmnps\u35A9\u35AC\u35AF\u121C\u35B2\u35B4\u35C0\u35C9\u35D5\u35DA\u35DF\u35E8\u35ED\u803B\xB9\u40B9\u803B\xB2\u40B2\u803B\xB3\u40B3;\u6AC6\u0100os\u35B9\u35BCt;\u6ABEub;\u6AD8\u0100;d\u1222\u35C5ot;\u6AC4s\u0100ou\u35CF\u35D2l;\u67C9b;\u6AD7arr;\u697Bult;\u6AC2\u0100Ee\u35E4\u35E6;\u6ACC;\u628Blus;\u6AC0\u0180eiu\u35F4\u3609\u360Ct\u0180;en\u121C\u35FC\u3602q\u0100;q\u1222\u35B2eq\u0100;q\u35E7\u35E4m;\u6AC8\u0100bp\u3611\u3613;\u6AD4;\u6AD6\u0180Aan\u361C\u3620\u362Drr;\u61D9r\u0100hr\u3626\u3628\xEB\u222E\u0100;o\u0A2B\u0A29war;\u692Alig\u803B\xDF\u40DF\u0BE1\u3651\u365D\u3660\u12CE\u3673\u3679\0\u367E\u36C2\0\0\0\0\0\u36DB\u3703\0\u3709\u376C\0\0\0\u3787\u0272\u3656\0\0\u365Bget;\u6316;\u43C4r\xEB\u0E5F\u0180aey\u3666\u366B\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uC000\u{1D531}\u0200eiko\u3686\u369D\u36B5\u36BC\u01F2\u368B\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369B\u43B8ym;\u43D1\u0100cn\u36A2\u36B2k\u0100as\u36A8\u36AEppro\xF8\u12C1im\xBB\u12ACs\xF0\u129E\u0100as\u36BA\u36AE\xF0\u12C1rn\u803B\xFE\u40FE\u01EC\u031F\u36C6\u22E7es\u8180\xD7;bd\u36CF\u36D0\u36D8\u40D7\u0100;a\u190F\u36D5r;\u6A31;\u6A30\u0180eps\u36E1\u36E3\u3700\xE1\u2A4D\u0200;bcf\u0486\u36EC\u36F0\u36F4ot;\u6336ir;\u6AF1\u0100;o\u36F9\u36FC\uC000\u{1D565}rk;\u6ADA\xE1\u3362rime;\u6034\u0180aip\u370F\u3712\u3764d\xE5\u1248\u0380adempst\u3721\u374D\u3740\u3751\u3757\u375C\u375Fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65B5own\xBB\u1DBBeft\u0100;e\u2800\u373E\xF1\u092E;\u625Cight\u0100;e\u32AA\u374B\xF1\u105Aot;\u65ECinus;\u6A3Alus;\u6A39b;\u69CDime;\u6A3Bezium;\u63E2\u0180cht\u3772\u377D\u3781\u0100ry\u3777\u377B;\uC000\u{1D4C9};\u4446cy;\u445Brok;\u4167\u0100io\u378B\u378Ex\xF4\u1777head\u0100lr\u3797\u37A0eftarro\xF7\u084Fightarrow\xBB\u0F5D\u0900AHabcdfghlmoprstuw\u37D0\u37D3\u37D7\u37E4\u37F0\u37FC\u380E\u381C\u3823\u3834\u3851\u385D\u386B\u38A9\u38CC\u38D2\u38EA\u38F6r\xF2\u03EDar;\u6963\u0100cr\u37DC\u37E2ute\u803B\xFA\u40FA\xF2\u1150r\u01E3\u37EA\0\u37EDy;\u445Eve;\u416D\u0100iy\u37F5\u37FArc\u803B\xFB\u40FB;\u4443\u0180abh\u3803\u3806\u380Br\xF2\u13ADlac;\u4171a\xF2\u13C3\u0100ir\u3813\u3818sht;\u697E;\uC000\u{1D532}rave\u803B\xF9\u40F9\u0161\u3827\u3831r\u0100lr\u382C\u382E\xBB\u0957\xBB\u1083lk;\u6580\u0100ct\u3839\u384D\u026F\u383F\0\0\u384Arn\u0100;e\u3845\u3846\u631Cr\xBB\u3846op;\u630Fri;\u65F8\u0100al\u3856\u385Acr;\u416B\u80BB\xA8\u0349\u0100gp\u3862\u3866on;\u4173f;\uC000\u{1D566}\u0300adhlsu\u114B\u3878\u387D\u1372\u3891\u38A0own\xE1\u13B3arpoon\u0100lr\u3888\u388Cef\xF4\u382Digh\xF4\u382Fi\u0180;hl\u3899\u389A\u389C\u43C5\xBB\u13FAon\xBB\u389Aparrows;\u61C8\u0180cit\u38B0\u38C4\u38C8\u026F\u38B6\0\0\u38C1rn\u0100;e\u38BC\u38BD\u631Dr\xBB\u38BDop;\u630Eng;\u416Fri;\u65F9cr;\uC000\u{1D4CA}\u0180dir\u38D9\u38DD\u38E2ot;\u62F0lde;\u4169i\u0100;f\u3730\u38E8\xBB\u1813\u0100am\u38EF\u38F2r\xF2\u38A8l\u803B\xFC\u40FCangle;\u69A7\u0780ABDacdeflnoprsz\u391C\u391F\u3929\u392D\u39B5\u39B8\u39BD\u39DF\u39E4\u39E8\u39F3\u39F9\u39FD\u3A01\u3A20r\xF2\u03F7ar\u0100;v\u3926\u3927\u6AE8;\u6AE9as\xE8\u03E1\u0100nr\u3932\u3937grt;\u699C\u0380eknprst\u34E3\u3946\u394B\u3952\u395D\u3964\u3996app\xE1\u2415othin\xE7\u1E96\u0180hir\u34EB\u2EC8\u3959op\xF4\u2FB5\u0100;h\u13B7\u3962\xEF\u318D\u0100iu\u3969\u396Dgm\xE1\u33B3\u0100bp\u3972\u3984setneq\u0100;q\u397D\u3980\uC000\u228A\uFE00;\uC000\u2ACB\uFE00setneq\u0100;q\u398F\u3992\uC000\u228B\uFE00;\uC000\u2ACC\uFE00\u0100hr\u399B\u399Fet\xE1\u369Ciangle\u0100lr\u39AA\u39AFeft\xBB\u0925ight\xBB\u1051y;\u4432ash\xBB\u1036\u0180elr\u39C4\u39D2\u39D7\u0180;be\u2DEA\u39CB\u39CFar;\u62BBq;\u625Alip;\u62EE\u0100bt\u39DC\u1468a\xF2\u1469r;\uC000\u{1D533}tr\xE9\u39AEsu\u0100bp\u39EF\u39F1\xBB\u0D1C\xBB\u0D59pf;\uC000\u{1D567}ro\xF0\u0EFBtr\xE9\u39B4\u0100cu\u3A06\u3A0Br;\uC000\u{1D4CB}\u0100bp\u3A10\u3A18n\u0100Ee\u3980\u3A16\xBB\u397En\u0100Ee\u3992\u3A1E\xBB\u3990igzag;\u699A\u0380cefoprs\u3A36\u3A3B\u3A56\u3A5B\u3A54\u3A61\u3A6Airc;\u4175\u0100di\u3A40\u3A51\u0100bg\u3A45\u3A49ar;\u6A5Fe\u0100;q\u15FA\u3A4F;\u6259erp;\u6118r;\uC000\u{1D534}pf;\uC000\u{1D568}\u0100;e\u1479\u3A66at\xE8\u1479cr;\uC000\u{1D4CC}\u0AE3\u178E\u3A87\0\u3A8B\0\u3A90\u3A9B\0\0\u3A9D\u3AA8\u3AAB\u3AAF\0\0\u3AC3\u3ACE\0\u3AD8\u17DC\u17DFtr\xE9\u17D1r;\uC000\u{1D535}\u0100Aa\u3A94\u3A97r\xF2\u03C3r\xF2\u09F6;\u43BE\u0100Aa\u3AA1\u3AA4r\xF2\u03B8r\xF2\u09EBa\xF0\u2713is;\u62FB\u0180dpt\u17A4\u3AB5\u3ABE\u0100fl\u3ABA\u17A9;\uC000\u{1D569}im\xE5\u17B2\u0100Aa\u3AC7\u3ACAr\xF2\u03CEr\xF2\u0A01\u0100cq\u3AD2\u17B8r;\uC000\u{1D4CD}\u0100pt\u17D6\u3ADCr\xE9\u17D4\u0400acefiosu\u3AF0\u3AFD\u3B08\u3B0C\u3B11\u3B15\u3B1B\u3B21c\u0100uy\u3AF6\u3AFBte\u803B\xFD\u40FD;\u444F\u0100iy\u3B02\u3B06rc;\u4177;\u444Bn\u803B\xA5\u40A5r;\uC000\u{1D536}cy;\u4457pf;\uC000\u{1D56A}cr;\uC000\u{1D4CE}\u0100cm\u3B26\u3B29y;\u444El\u803B\xFF\u40FF\u0500acdefhiosw\u3B42\u3B48\u3B54\u3B58\u3B64\u3B69\u3B6D\u3B74\u3B7A\u3B80cute;\u417A\u0100ay\u3B4D\u3B52ron;\u417E;\u4437ot;\u417C\u0100et\u3B5D\u3B61tr\xE6\u155Fa;\u43B6r;\uC000\u{1D537}cy;\u4436grarr;\u61DDpf;\uC000\u{1D56B}cr;\uC000\u{1D4CF}\u0100jn\u3B85\u3B87;\u600Dj;\u600C'.split("").map(u=>u.charCodeAt(0)));var Xe=new Uint16Array("\u0200aglq \x1B\u026D\0\0p;\u4026os;\u4027t;\u403Et;\u403Cuot;\u4022".split("").map(u=>u.charCodeAt(0)));var Pu,In=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),ne=(Pu=String.fromCodePoint)!==null&&Pu!==void 0?Pu:function(u){let e="";return u>65535&&(u-=65536,e+=String.fromCharCode(u>>>10&1023|55296),u=56320|u&1023),e+=String.fromCharCode(u),e};function ke(u){var e;return u>=55296&&u<=57343||u>1114111?65533:(e=In.get(u))!==null&&e!==void 0?e:u}var D;(function(u){u[u.NUM=35]="NUM",u[u.SEMI=59]="SEMI",u[u.EQUALS=61]="EQUALS",u[u.ZERO=48]="ZERO",u[u.NINE=57]="NINE",u[u.LOWER_A=97]="LOWER_A",u[u.LOWER_F=102]="LOWER_F",u[u.LOWER_X=120]="LOWER_X",u[u.LOWER_Z=122]="LOWER_Z",u[u.UPPER_A=65]="UPPER_A",u[u.UPPER_F=70]="UPPER_F",u[u.UPPER_Z=90]="UPPER_Z"})(D||(D={}));var qn=32,C;(function(u){u[u.VALUE_LENGTH=49152]="VALUE_LENGTH",u[u.BRANCH_LENGTH=16256]="BRANCH_LENGTH",u[u.JUMP_TABLE=127]="JUMP_TABLE"})(C||(C={}));function Mu(u){return u>=D.ZERO&&u<=D.NINE}function Rn(u){return u>=D.UPPER_A&&u<=D.UPPER_F||u>=D.LOWER_A&&u<=D.LOWER_F}function _n(u){return u>=D.UPPER_A&&u<=D.UPPER_Z||u>=D.LOWER_A&&u<=D.LOWER_Z||Mu(u)}function Fn(u){return u===D.EQUALS||_n(u)}var w;(function(u){u[u.EntityStart=0]="EntityStart",u[u.NumericStart=1]="NumericStart",u[u.NumericDecimal=2]="NumericDecimal",u[u.NumericHex=3]="NumericHex",u[u.NamedEntity=4]="NamedEntity"})(w||(w={}));var _;(function(u){u[u.Legacy=0]="Legacy",u[u.Strict=1]="Strict",u[u.Attribute=2]="Attribute"})(_||(_={}));var Ye=class{constructor(e,t,r){this.decodeTree=e,this.emitCodePoint=t,this.errors=r,this.state=w.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=_.Strict}startEntity(e){this.decodeMode=e,this.state=w.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(e,t){switch(this.state){case w.EntityStart:return e.charCodeAt(t)===D.NUM?(this.state=w.NumericStart,this.consumed+=1,this.stateNumericStart(e,t+1)):(this.state=w.NamedEntity,this.stateNamedEntity(e,t));case w.NumericStart:return this.stateNumericStart(e,t);case w.NumericDecimal:return this.stateNumericDecimal(e,t);case w.NumericHex:return this.stateNumericHex(e,t);case w.NamedEntity:return this.stateNamedEntity(e,t)}}stateNumericStart(e,t){return t>=e.length?-1:(e.charCodeAt(t)|qn)===D.LOWER_X?(this.state=w.NumericHex,this.consumed+=1,this.stateNumericHex(e,t+1)):(this.state=w.NumericDecimal,this.stateNumericDecimal(e,t))}addToNumericResult(e,t,r,a){if(t!==r){let s=r-t;this.result=this.result*Math.pow(a,s)+parseInt(e.substr(t,s),a),this.consumed+=s}}stateNumericHex(e,t){let r=t;for(;t>14;for(;t>14,s!==0){if(n===D.SEMI)return this.emitNamedEntityData(this.treeIndex,s,this.consumed+this.excess);this.decodeMode!==_.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var e;let{result:t,decodeTree:r}=this,a=(r[t]&C.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,a,this.consumed),(e=this.errors)===null||e===void 0||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,t,r){let{decodeTree:a}=this;return this.emitCodePoint(t===1?a[e]&~C.VALUE_LENGTH:a[e+1],r),t===3&&this.emitCodePoint(a[e+2],r),r}end(){var e;switch(this.state){case w.NamedEntity:return this.result!==0&&(this.decodeMode!==_.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case w.NumericDecimal:return this.emitNumericEntity(0,2);case w.NumericHex:return this.emitNumericEntity(0,3);case w.NumericStart:return(e=this.errors)===null||e===void 0||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case w.EntityStart:return 0}}};function er(u){let e="",t=new Ye(u,r=>e+=ne(r));return function(a,s){let n=0,i=0;for(;(i=a.indexOf("&",i))>=0;){e+=a.slice(n,i),t.startEntity(s);let c=t.write(a,i+1);if(c<0){n=i+t.end();break}n=i+c,i=c===0?n+1:n}let o=e+a.slice(n);return e="",o}}function Ou(u,e,t,r){let a=(e&C.BRANCH_LENGTH)>>7,s=e&C.JUMP_TABLE;if(a===0)return s!==0&&r===s?t:-1;if(s){let o=r-s;return o<0||o>=a?-1:u[t+o]-1}let n=t,i=n+a-1;for(;n<=i;){let o=n+i>>>1,c=u[o];if(cr)i=o-1;else return u[o+a]}return-1}var l0=er(Ze),d0=er(Xe);var f;(function(u){u[u.Tab=9]="Tab",u[u.NewLine=10]="NewLine",u[u.FormFeed=12]="FormFeed",u[u.CarriageReturn=13]="CarriageReturn",u[u.Space=32]="Space",u[u.ExclamationMark=33]="ExclamationMark",u[u.Number=35]="Number",u[u.Amp=38]="Amp",u[u.SingleQuote=39]="SingleQuote",u[u.DoubleQuote=34]="DoubleQuote",u[u.Dash=45]="Dash",u[u.Slash=47]="Slash",u[u.Zero=48]="Zero",u[u.Nine=57]="Nine",u[u.Semi=59]="Semi",u[u.Lt=60]="Lt",u[u.Eq=61]="Eq",u[u.Gt=62]="Gt",u[u.Questionmark=63]="Questionmark",u[u.UpperA=65]="UpperA",u[u.LowerA=97]="LowerA",u[u.UpperF=70]="UpperF",u[u.LowerF=102]="LowerF",u[u.UpperZ=90]="UpperZ",u[u.LowerZ=122]="LowerZ",u[u.LowerX=120]="LowerX",u[u.OpeningSquareBracket=91]="OpeningSquareBracket"})(f||(f={}));var d;(function(u){u[u.Text=1]="Text",u[u.BeforeTagName=2]="BeforeTagName",u[u.InTagName=3]="InTagName",u[u.InSelfClosingTag=4]="InSelfClosingTag",u[u.BeforeClosingTagName=5]="BeforeClosingTagName",u[u.InClosingTagName=6]="InClosingTagName",u[u.AfterClosingTagName=7]="AfterClosingTagName",u[u.BeforeAttributeName=8]="BeforeAttributeName",u[u.InAttributeName=9]="InAttributeName",u[u.AfterAttributeName=10]="AfterAttributeName",u[u.BeforeAttributeValue=11]="BeforeAttributeValue",u[u.InAttributeValueDq=12]="InAttributeValueDq",u[u.InAttributeValueSq=13]="InAttributeValueSq",u[u.InAttributeValueNq=14]="InAttributeValueNq",u[u.BeforeDeclaration=15]="BeforeDeclaration",u[u.InDeclaration=16]="InDeclaration",u[u.InProcessingInstruction=17]="InProcessingInstruction",u[u.BeforeComment=18]="BeforeComment",u[u.CDATASequence=19]="CDATASequence",u[u.InSpecialComment=20]="InSpecialComment",u[u.InCommentLike=21]="InCommentLike",u[u.BeforeSpecialS=22]="BeforeSpecialS",u[u.SpecialStartSequence=23]="SpecialStartSequence",u[u.InSpecialTag=24]="InSpecialTag",u[u.BeforeEntity=25]="BeforeEntity",u[u.BeforeNumericEntity=26]="BeforeNumericEntity",u[u.InNamedEntity=27]="InNamedEntity",u[u.InNumericEntity=28]="InNumericEntity",u[u.InHexEntity=29]="InHexEntity"})(d||(d={}));function F(u){return u===f.Space||u===f.NewLine||u===f.Tab||u===f.FormFeed||u===f.CarriageReturn}function eu(u){return u===f.Slash||u===f.Gt||F(u)}function ur(u){return u>=f.Zero&&u<=f.Nine}function Pn(u){return u>=f.LowerA&&u<=f.LowerZ||u>=f.UpperA&&u<=f.UpperZ}function Mn(u){return u>=f.UpperA&&u<=f.UpperF||u>=f.LowerA&&u<=f.LowerF}var N;(function(u){u[u.NoValue=0]="NoValue",u[u.Unquoted=1]="Unquoted",u[u.Single=2]="Single",u[u.Double=3]="Double"})(N||(N={}));var k={Cdata:new Uint8Array([67,68,65,84,65,91]),CdataEnd:new Uint8Array([93,93,62]),CommentEnd:new Uint8Array([45,45,62]),ScriptEnd:new Uint8Array([60,47,115,99,114,105,112,116]),StyleEnd:new Uint8Array([60,47,115,116,121,108,101]),TitleEnd:new Uint8Array([60,47,116,105,116,108,101])},se=class{constructor({xmlMode:e=!1,decodeEntities:t=!0},r){this.cbs=r,this.state=d.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=d.Text,this.isSpecial=!1,this.running=!0,this.offset=0,this.currentSequence=void 0,this.sequenceIndex=0,this.trieIndex=0,this.trieCurrent=0,this.entityResult=0,this.entityExcess=0,this.xmlMode=e,this.decodeEntities=t,this.entityTrie=e?Xe:Ze}reset(){this.state=d.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=d.Text,this.currentSequence=void 0,this.running=!0,this.offset=0}write(e){this.offset+=this.buffer.length,this.buffer=e,this.parse()}end(){this.running&&this.finish()}pause(){this.running=!1}resume(){this.running=!0,this.indexthis.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=d.BeforeTagName,this.sectionStart=this.index):this.decodeEntities&&e===f.Amp&&(this.state=d.BeforeEntity)}stateSpecialStartSequence(e){let t=this.sequenceIndex===this.currentSequence.length;if(!(t?eu(e):(e|32)===this.currentSequence[this.sequenceIndex]))this.isSpecial=!1;else if(!t){this.sequenceIndex++;return}this.sequenceIndex=0,this.state=d.InTagName,this.stateInTagName(e)}stateInSpecialTag(e){if(this.sequenceIndex===this.currentSequence.length){if(e===f.Gt||F(e)){let t=this.index-this.currentSequence.length;if(this.sectionStart>14)-1;if(!this.allowLegacyEntity()&&e!==f.Semi)this.trieIndex+=r;else{let a=this.index-this.entityExcess+1;a>this.sectionStart&&this.emitPartial(this.sectionStart,a),this.entityResult=this.trieIndex,this.trieIndex+=r,this.entityExcess=0,this.sectionStart=this.index+1,r===0&&this.emitNamedEntity()}}}emitNamedEntity(){if(this.state=this.baseState,this.entityResult===0)return;switch((this.entityTrie[this.entityResult]&C.VALUE_LENGTH)>>14){case 1:{this.emitCodePoint(this.entityTrie[this.entityResult]&~C.VALUE_LENGTH);break}case 2:{this.emitCodePoint(this.entityTrie[this.entityResult+1]);break}case 3:this.emitCodePoint(this.entityTrie[this.entityResult+1]),this.emitCodePoint(this.entityTrie[this.entityResult+2])}}stateBeforeNumericEntity(e){(e|32)===f.LowerX?(this.entityExcess++,this.state=d.InHexEntity):(this.state=d.InNumericEntity,this.stateInNumericEntity(e))}emitNumericEntity(e){let t=this.index-this.entityExcess-1;t+2+ +(this.state===d.InHexEntity)!==this.index&&(t>this.sectionStart&&this.emitPartial(this.sectionStart,t),this.sectionStart=this.index+Number(e),this.emitCodePoint(ke(this.entityResult))),this.state=this.baseState}stateInNumericEntity(e){e===f.Semi?this.emitNumericEntity(!0):ur(e)?(this.entityResult=this.entityResult*10+(e-f.Zero),this.entityExcess++):(this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state=this.baseState,this.index--)}stateInHexEntity(e){e===f.Semi?this.emitNumericEntity(!0):ur(e)?(this.entityResult=this.entityResult*16+(e-f.Zero),this.entityExcess++):Mn(e)?(this.entityResult=this.entityResult*16+((e|32)-f.LowerA+10),this.entityExcess++):(this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state=this.baseState,this.index--)}allowLegacyEntity(){return!this.xmlMode&&(this.baseState===d.Text||this.baseState===d.InSpecialTag)}cleanup(){this.running&&this.sectionStart!==this.index&&(this.state===d.Text||this.state===d.InSpecialTag&&this.sequenceIndex===0?(this.cbs.ontext(this.sectionStart,this.index),this.sectionStart=this.index):(this.state===d.InAttributeValueDq||this.state===d.InAttributeValueSq||this.state===d.InAttributeValueNq)&&(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=this.index))}shouldContinue(){return this.index0&&n.has(this.stack[this.stack.length-1]);){let i=this.stack.pop();(r=(t=this.cbs).onclosetag)===null||r===void 0||r.call(t,i,!0)}this.isVoidElement(e)||(this.stack.push(e),nr.has(e)?this.foreignContext.push(!0):sr.has(e)&&this.foreignContext.push(!1)),(s=(a=this.cbs).onopentagname)===null||s===void 0||s.call(a,e),this.cbs.onopentag&&(this.attribs={})}endOpenTag(e){var t,r;this.startIndex=this.openTagStart,this.attribs&&((r=(t=this.cbs).onopentag)===null||r===void 0||r.call(t,this.tagname,this.attribs,e),this.attribs=null),this.cbs.onclosetag&&this.isVoidElement(this.tagname)&&this.cbs.onclosetag(this.tagname,!0),this.tagname=""}onopentagend(e){this.endIndex=e,this.endOpenTag(!1),this.startIndex=e+1}onclosetag(e,t){var r,a,s,n,i,o;this.endIndex=t;let c=this.getSlice(e,t);if(this.lowerCaseTagNames&&(c=c.toLowerCase()),(nr.has(c)||sr.has(c))&&this.foreignContext.pop(),this.isVoidElement(c))!this.options.xmlMode&&c==="br"&&((a=(r=this.cbs).onopentagname)===null||a===void 0||a.call(r,"br"),(n=(s=this.cbs).onopentag)===null||n===void 0||n.call(s,"br",{},!0),(o=(i=this.cbs).onclosetag)===null||o===void 0||o.call(i,"br",!1));else{let l=this.stack.lastIndexOf(c);if(l!==-1)if(this.cbs.onclosetag){let h=this.stack.length-l;for(;h--;)this.cbs.onclosetag(this.stack.pop(),h!==0)}else this.stack.length=l;else!this.options.xmlMode&&c==="p"&&(this.emitOpenTag("p"),this.closeCurrentTag(!0))}this.startIndex=t+1}onselfclosingtag(e){this.endIndex=e,this.options.xmlMode||this.options.recognizeSelfClosing||this.foreignContext[this.foreignContext.length-1]?(this.closeCurrentTag(!1),this.startIndex=e+1):this.onopentagend(e)}closeCurrentTag(e){var t,r;let a=this.tagname;this.endOpenTag(e),this.stack[this.stack.length-1]===a&&((r=(t=this.cbs).onclosetag)===null||r===void 0||r.call(t,a,!e),this.stack.pop())}onattribname(e,t){this.startIndex=e;let r=this.getSlice(e,t);this.attribname=this.lowerCaseAttributeNames?r.toLowerCase():r}onattribdata(e,t){this.attribvalue+=this.getSlice(e,t)}onattribentity(e){this.attribvalue+=ne(e)}onattribend(e,t){var r,a;this.endIndex=t,(a=(r=this.cbs).onattribute)===null||a===void 0||a.call(r,this.attribname,this.attribvalue,e===N.Double?'"':e===N.Single?"'":e===N.NoValue?void 0:null),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribvalue=""}getInstructionName(e){let t=e.search($n),r=t<0?e:e.substr(0,t);return this.lowerCaseTagNames&&(r=r.toLowerCase()),r}ondeclaration(e,t){this.endIndex=t;let r=this.getSlice(e,t);if(this.cbs.onprocessinginstruction){let a=this.getInstructionName(r);this.cbs.onprocessinginstruction(`!${a}`,`!${r}`)}this.startIndex=t+1}onprocessinginstruction(e,t){this.endIndex=t;let r=this.getSlice(e,t);if(this.cbs.onprocessinginstruction){let a=this.getInstructionName(r);this.cbs.onprocessinginstruction(`?${a}`,`?${r}`)}this.startIndex=t+1}oncomment(e,t,r){var a,s,n,i;this.endIndex=t,(s=(a=this.cbs).oncomment)===null||s===void 0||s.call(a,this.getSlice(e,t-r)),(i=(n=this.cbs).oncommentend)===null||i===void 0||i.call(n),this.startIndex=t+1}oncdata(e,t,r){var a,s,n,i,o,c,l,h,m,p;this.endIndex=t;let x=this.getSlice(e,t-r);this.options.xmlMode||this.options.recognizeCDATA?((s=(a=this.cbs).oncdatastart)===null||s===void 0||s.call(a),(i=(n=this.cbs).ontext)===null||i===void 0||i.call(n,x),(c=(o=this.cbs).oncdataend)===null||c===void 0||c.call(o)):((h=(l=this.cbs).oncomment)===null||h===void 0||h.call(l,`[CDATA[${x}]]`),(p=(m=this.cbs).oncommentend)===null||p===void 0||p.call(m)),this.startIndex=t+1}onend(){var e,t;if(this.cbs.onclosetag){this.endIndex=this.startIndex;for(let r=this.stack.length;r>0;this.cbs.onclosetag(this.stack[--r],!0));}(t=(e=this.cbs).onend)===null||t===void 0||t.call(e)}reset(){var e,t,r,a;(t=(e=this.cbs).onreset)===null||t===void 0||t.call(e),this.tokenizer.reset(),this.tagname="",this.attribname="",this.attribs=null,this.stack.length=0,this.startIndex=0,this.endIndex=0,(a=(r=this.cbs).onparserinit)===null||a===void 0||a.call(r,this),this.buffers.length=0,this.bufferOffset=0,this.writeIndex=0,this.ended=!1}parseComplete(e){this.reset(),this.end(e)}getSlice(e,t){for(;e-this.bufferOffset>=this.buffers[0].length;)this.shiftBuffer();let r=this.buffers[0].slice(e-this.bufferOffset,t-this.bufferOffset);for(;t-this.bufferOffset>this.buffers[0].length;)this.shiftBuffer(),r+=this.buffers[0].slice(0,t-this.bufferOffset);return r}shiftBuffer(){this.bufferOffset+=this.buffers[0].length,this.writeIndex--,this.buffers.shift()}write(e){var t,r;if(this.ended){(r=(t=this.cbs).onerror)===null||r===void 0||r.call(t,new Error(".write() after done!"));return}this.buffers.push(e),this.tokenizer.running&&(this.tokenizer.write(e),this.writeIndex++)}end(e){var t,r;if(this.ended){(r=(t=this.cbs).onerror)===null||r===void 0||r.call(t,new Error(".end() after done!"));return}e&&this.write(e),this.ended=!0,this.tokenizer.end()}pause(){this.tokenizer.pause()}resume(){for(this.tokenizer.resume();this.tokenizer.running&&this.writeIndex$\x80-\uFFFF]/g,ir=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]),or=String.prototype.codePointAt!=null?(u,e)=>u.codePointAt(e):(u,e)=>(u.charCodeAt(e)&64512)===55296?(u.charCodeAt(e)-55296)*1024+u.charCodeAt(e+1)-56320+65536:u.charCodeAt(e);function Ce(u){let e="",t=0,r;for(;(r=Uu.exec(u))!==null;){let a=r.index,s=u.charCodeAt(a),n=ir.get(s);n!==void 0?(e+=u.substring(t,a)+n,t=a+1):(e+=`${u.substring(t,a)}&#x${or(u,a).toString(16)};`,t=Uu.lastIndex+=+((s&64512)===55296))}return e+u.substr(t)}function $u(u,e){return function(r){let a,s=0,n="";for(;a=u.exec(r);)s!==a.index&&(n+=r.substring(s,a.index)),n+=e.get(a[0].charCodeAt(0)),s=a.index+1;return n+r.substring(s)}}var cr=$u(/[&<>'"]/g,ir),tu=$u(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),ru=$u(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]]));var lr;(function(u){u[u.XML=0]="XML",u[u.HTML=1]="HTML"})(lr||(lr={}));var dr;(function(u){u[u.UTF8=0]="UTF8",u[u.ASCII=1]="ASCII",u[u.Extensive=2]="Extensive",u[u.Attribute=3]="Attribute",u[u.Text=4]="Text"})(dr||(dr={}));var pr=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(u=>[u.toLowerCase(),u])),mr=new Map(["definitionURL","attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(u=>[u.toLowerCase(),u]));var jn=new Set(["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"]);function Wn(u){return u.replace(/"/g,""")}function Gn(u,e){var t;if(!u)return;let r=((t=e.encodeEntities)!==null&&t!==void 0?t:e.decodeEntities)===!1?Wn:e.xmlMode||e.encodeEntities!=="utf8"?Ce:tu;return Object.keys(u).map(a=>{var s,n;let i=(s=u[a])!==null&&s!==void 0?s:"";return e.xmlMode==="foreign"&&(a=(n=mr.get(a))!==null&&n!==void 0?n:a),!e.emptyAttrs&&!e.xmlMode&&i===""?a:`${a}="${r(i)}"`}).join(" ")}var br=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]);function Te(u,e={}){let t="length"in u?u:[u],r="";for(let a=0;a0&&(r+=Te(u.children,e)),(e.xmlMode||!br.has(u.name))&&(r+=``)),r}function Zn(u){return`<${u.data}>`}function Xn(u,e){var t;let r=u.data||"";return((t=e.encodeEntities)!==null&&t!==void 0?t:e.decodeEntities)!==!1&&!(!e.xmlMode&&u.parent&&jn.has(u.parent.name))&&(r=e.xmlMode||e.encodeEntities!=="utf8"?Ce(r):ru(r)),r}function Yn(u){return``}function es(u){return``}var gr;(function(u){u[u.DISCONNECTED=1]="DISCONNECTED",u[u.PRECEDING=2]="PRECEDING",u[u.FOLLOWING=4]="FOLLOWING",u[u.CONTAINS=8]="CONTAINS",u[u.CONTAINED_BY=16]="CONTAINED_BY"})(gr||(gr={}));function xr(u,e){let t=new Y(void 0,e);return new Be(t,e).end(u),t.root}var Qu=la(Dr(),1);function Zu(u,e,t=()=>{}){if(u===void 0){let r=function(...a){return e(r,...a)};return r}return u>=0?function(...r){return e(Zu(u-1,e,t),...r)}:t}function Cr(u,e){let t=0,r=u.length;for(;tt&&u[r-1]===e;)--r;return t>0||r0&&u[t-1]===e;)--t;return t"\\u"+e.charCodeAt().toString(16).padStart(4,"0"))}function Tr(u,e){let t=new Map;for(let r=u.length;r-- >0;){let a=u[r],s=e(a);t.set(s,t.has(s)?(0,Qu.default)(a,t.get(s),{arrayMerge:xs}):a)}return[...t.values()].reverse()}var xs=(u,e,t)=>[...e];function ce(u,e){for(let t of e){if(!u)return;u=u[t]}return u}function Er(u,e="a",t=26){let r=[];do u-=1,r.push(u%t),u=u/t>>0;while(u>0);let a=e.charCodeAt(0);return r.reverse().map(s=>String.fromCharCode(a+s)).join("")}var ju=["I","X","C","M"],vr=["V","L","D"];function kr(u){return[...u+""].map(e=>+e).reverse().map((e,t)=>e%5<4?(e<5?"":vr[t])+ju[t].repeat(e%5):ju[t]+(e<5?vr[t]:ju[t+1])).reverse().join("")}var su=class{constructor(e,t=void 0){this.lines=[],this.nextLineWords=[],this.maxLineLength=t||e.wordwrap||Number.MAX_VALUE,this.nextLineAvailableChars=this.maxLineLength,this.wrapCharacters=ce(e,["longWordSplit","wrapCharacters"])||[],this.forceWrapOnLimit=ce(e,["longWordSplit","forceWrapOnLimit"])||!1,this.stashedSpace=!1,this.wordBreakOpportunity=!1}pushWord(e,t=!1){this.nextLineAvailableChars<=0&&!t&&this.startNewLine();let r=this.nextLineWords.length===0,a=e.length+(r?0:1);if(a<=this.nextLineAvailableChars||t)this.nextLineWords.push(e),this.nextLineAvailableChars-=a;else{let[s,...n]=this.splitLongWord(e);r||this.startNewLine(),this.nextLineWords.push(s),this.nextLineAvailableChars-=s.length;for(let i of n)this.startNewLine(),this.nextLineWords.push(i),this.nextLineAvailableChars-=i.length}}popWord(){let e=this.nextLineWords.pop();if(e!==void 0){let t=this.nextLineWords.length===0,r=e.length+(t?0:1);this.nextLineAvailableChars+=r}return e}concatWord(e,t=!1){if(this.wordBreakOpportunity&&e.length>this.nextLineAvailableChars)this.pushWord(e,t),this.wordBreakOpportunity=!1;else{let r=this.popWord();this.pushWord(r?r.concat(e):e,t)}}startNewLine(e=1){this.lines.push(this.nextLineWords),e>1&&this.lines.push(...Array.from({length:e-1},()=>[])),this.nextLineWords=[],this.nextLineAvailableChars=this.maxLineLength}isEmpty(){return this.lines.length===0&&this.nextLineWords.length===0}clear(){this.lines.length=0,this.nextLineWords.length=0,this.nextLineAvailableChars=this.maxLineLength}toString(){return[...this.lines,this.nextLineWords].map(e=>e.join(" ")).join(` +`)}splitLongWord(e){let t=[],r=0;for(;e.length>this.maxLineLength;){let a=e.substring(0,this.maxLineLength),s=e.substring(this.maxLineLength),n=a.lastIndexOf(this.wrapCharacters[r]);if(n>-1)e=a.substring(n+1)+s,t.push(a.substring(0,n+1));else if(r++,rthis.maxLineLength)continue}else e=a+s;break}}return t.push(e),t}},G=class{constructor(e=null){this.next=e}getRoot(){return this.next?this.next:this}},T=class extends G{constructor(e,t=null,r=1,a=void 0){super(t),this.leadingLineBreaks=r,this.inlineTextBuilder=new su(e,a),this.rawText="",this.stashedLineBreaks=0,this.isPre=t&&t.isPre,this.isNoWrap=t&&t.isNoWrap}},iu=class extends T{constructor(e,t=null,{interRowLineBreaks:r=1,leadingLineBreaks:a=2,maxLineLength:s=void 0,maxPrefixLength:n=0,prefixAlign:i="left"}={}){super(e,t,a,s),this.maxPrefixLength=n,this.prefixAlign=i,this.interRowLineBreaks=r}},P=class extends T{constructor(e,t=null,{leadingLineBreaks:r=1,maxLineLength:a=void 0,prefix:s=""}={}){super(e,t,r,a),this.prefix=s}},ou=class extends G{constructor(e=null){super(e),this.rows=[],this.isPre=e&&e.isPre,this.isNoWrap=e&&e.isNoWrap}},cu=class extends G{constructor(e=null){super(e),this.cells=[],this.isPre=e&&e.isPre,this.isNoWrap=e&&e.isNoWrap}},M=class extends G{constructor(e,t=null,r=void 0){super(t),this.inlineTextBuilder=new su(e,r),this.rawText="",this.stashedLineBreaks=0,this.isPre=t&&t.isPre,this.isNoWrap=t&&t.isNoWrap}},Wu=class extends G{constructor(e=null,t){super(e),this.transform=t}};function ys(u){return[...u].map(e=>"\\u"+e.charCodeAt(0).toString(16).padStart(4,"0")).join("")}var Gu=class{constructor(e){this.whitespaceChars=e.preserveNewlines?e.whitespaceCharacters.replace(/\n/g,""):e.whitespaceCharacters;let t=ys(this.whitespaceChars);if(this.leadingWhitespaceRe=new RegExp(`^[${t}]`),this.trailingWhitespaceRe=new RegExp(`[${t}]$`),this.allWhitespaceOrEmptyRe=new RegExp(`^[${t}]*$`),this.newlineOrNonWhitespaceRe=new RegExp(`(\\n|[^\\n${t}])`,"g"),this.newlineOrNonNewlineStringRe=new RegExp("(\\n|[^\\n]+)","g"),e.preserveNewlines){let r=new RegExp(`\\n|[^\\n${t}]+`,"gm");this.shrinkWrapAdd=function(a,s,n=o=>o,i=!1){if(!a)return;let o=s.stashedSpace,c=!1,l=r.exec(a);if(l)for(c=!0,l[0]===` +`?s.startNewLine():o||this.testLeadingWhitespace(a)?s.pushWord(n(l[0]),i):s.concatWord(n(l[0]),i);(l=r.exec(a))!==null;)l[0]===` +`?s.startNewLine():s.pushWord(n(l[0]),i);s.stashedSpace=o&&!c||this.testTrailingWhitespace(a)}}else{let r=new RegExp(`[^${t}]+`,"g");this.shrinkWrapAdd=function(a,s,n=o=>o,i=!1){if(!a)return;let o=s.stashedSpace,c=!1,l=r.exec(a);if(l)for(c=!0,o||this.testLeadingWhitespace(a)?s.pushWord(n(l[0]),i):s.concatWord(n(l[0]),i);(l=r.exec(a))!==null;)s.pushWord(n(l[0]),i);s.stashedSpace=o&&!c||this.testTrailingWhitespace(a)}}}addLiteral(e,t,r=!0){if(!e)return;let a=t.stashedSpace,s=!1,n=this.newlineOrNonNewlineStringRe.exec(e);if(n)for(s=!0,n[0]===` +`?t.startNewLine():a?t.pushWord(n[0],r):t.concatWord(n[0],r);(n=this.newlineOrNonNewlineStringRe.exec(e))!==null;)n[0]===` +`?t.startNewLine():t.pushWord(n[0],r);t.stashedSpace=a&&!s}testLeadingWhitespace(e){return this.leadingWhitespaceRe.test(e)}testTrailingWhitespace(e){return this.trailingWhitespaceRe.test(e)}testContainsWords(e){return!this.allWhitespaceOrEmptyRe.test(e)}countNewlinesNoWords(e){this.newlineOrNonWhitespaceRe.lastIndex=0;let t=0,r;for(;(r=this.newlineOrNonWhitespaceRe.exec(e))!==null;)if(r[0]===` +`)t++;else return 0;return t}},zu=class{constructor(e,t,r=void 0){this.options=e,this.picker=t,this.metadata=r,this.whitespaceProcessor=new Gu(e),this._stackItem=new T(e),this._wordTransformer=void 0}pushWordTransform(e){this._wordTransformer=new Wu(this._wordTransformer,e)}popWordTransform(){if(!this._wordTransformer)return;let e=this._wordTransformer.transform;return this._wordTransformer=this._wordTransformer.next,e}startNoWrap(){this._stackItem.isNoWrap=!0}stopNoWrap(){this._stackItem.isNoWrap=!1}_getCombinedWordTransformer(){let e=this._wordTransformer?r=>Lr(r,this._wordTransformer):void 0,t=this.options.encodeCharacters;return e?t?r=>t(e(r)):e:t}_popStackItem(){let e=this._stackItem;return this._stackItem=e.next,e}addLineBreak(){(this._stackItem instanceof T||this._stackItem instanceof P||this._stackItem instanceof M)&&(this._stackItem.isPre?this._stackItem.rawText+=` +`:this._stackItem.inlineTextBuilder.startNewLine())}addWordBreakOpportunity(){(this._stackItem instanceof T||this._stackItem instanceof P||this._stackItem instanceof M)&&(this._stackItem.inlineTextBuilder.wordBreakOpportunity=!0)}addInline(e,{noWordTransform:t=!1}={}){if(this._stackItem instanceof T||this._stackItem instanceof P||this._stackItem instanceof M){if(this._stackItem.isPre){this._stackItem.rawText+=e;return}if(!(e.length===0||this._stackItem.stashedLineBreaks&&!this.whitespaceProcessor.testContainsWords(e))){if(this.options.preserveNewlines){let r=this.whitespaceProcessor.countNewlinesNoWords(e);if(r>0){this._stackItem.inlineTextBuilder.startNewLine(r);return}}this._stackItem.stashedLineBreaks&&this._stackItem.inlineTextBuilder.startNewLine(this._stackItem.stashedLineBreaks),this.whitespaceProcessor.shrinkWrapAdd(e,this._stackItem.inlineTextBuilder,t?void 0:this._getCombinedWordTransformer(),this._stackItem.isNoWrap),this._stackItem.stashedLineBreaks=0}}}addLiteral(e){if((this._stackItem instanceof T||this._stackItem instanceof P||this._stackItem instanceof M)&&e.length!==0){if(this._stackItem.isPre){this._stackItem.rawText+=e;return}this._stackItem.stashedLineBreaks&&this._stackItem.inlineTextBuilder.startNewLine(this._stackItem.stashedLineBreaks),this.whitespaceProcessor.addLiteral(e,this._stackItem.inlineTextBuilder,this._stackItem.isNoWrap),this._stackItem.stashedLineBreaks=0}}openBlock({leadingLineBreaks:e=1,reservedLineLength:t=0,isPre:r=!1}={}){let a=Math.max(20,this._stackItem.inlineTextBuilder.maxLineLength-t);this._stackItem=new T(this.options,this._stackItem,e,a),r&&(this._stackItem.isPre=!0)}closeBlock({trailingLineBreaks:e=1,blockTransform:t=void 0}={}){let r=this._popStackItem(),a=t?t(W(r)):W(r);nu(this._stackItem,a,r.leadingLineBreaks,Math.max(r.stashedLineBreaks,e))}openList({maxPrefixLength:e=0,prefixAlign:t="left",interRowLineBreaks:r=1,leadingLineBreaks:a=2}={}){this._stackItem=new iu(this.options,this._stackItem,{interRowLineBreaks:r,leadingLineBreaks:a,maxLineLength:this._stackItem.inlineTextBuilder.maxLineLength,maxPrefixLength:e,prefixAlign:t})}openListItem({prefix:e=""}={}){if(!(this._stackItem instanceof iu))throw new Error("Can't add a list item to something that is not a list! Check the formatter.");let t=this._stackItem,r=Math.max(e.length,t.maxPrefixLength),a=Math.max(20,t.inlineTextBuilder.maxLineLength-r);this._stackItem=new P(this.options,t,{prefix:e,maxLineLength:a,leadingLineBreaks:t.interRowLineBreaks})}closeListItem(){let e=this._popStackItem(),t=e.next,r=Math.max(e.prefix.length,t.maxPrefixLength),a=` +`+" ".repeat(r),n=(t.prefixAlign==="right"?e.prefix.padStart(r):e.prefix.padEnd(r))+W(e).replace(/\n/g,a);nu(t,n,e.leadingLineBreaks,Math.max(e.stashedLineBreaks,t.interRowLineBreaks))}closeList({trailingLineBreaks:e=2}={}){let t=this._popStackItem(),r=W(t);r&&nu(this._stackItem,r,t.leadingLineBreaks,e)}openTable(){this._stackItem=new ou(this._stackItem)}openTableRow(){if(!(this._stackItem instanceof ou))throw new Error("Can't add a table row to something that is not a table! Check the formatter.");this._stackItem=new cu(this._stackItem)}openTableCell({maxColumnWidth:e=void 0}={}){if(!(this._stackItem instanceof cu))throw new Error("Can't add a table cell to something that is not a table row! Check the formatter.");this._stackItem=new M(this.options,this._stackItem,e)}closeTableCell({colspan:e=1,rowspan:t=1}={}){let r=this._popStackItem(),a=Cr(W(r),` +`);r.next.cells.push({colspan:e,rowspan:t,text:a})}closeTableRow(){let e=this._popStackItem();e.next.rows.push(e.cells)}closeTable({tableToString:e,leadingLineBreaks:t=2,trailingLineBreaks:r=2}){let a=this._popStackItem(),s=e(a.rows);s&&nu(this._stackItem,s,t,r)}toString(){return W(this._stackItem.getRoot())}};function W(u){if(!(u instanceof T||u instanceof P||u instanceof M))throw new Error("Only blocks, list items and table cells can be requested for text contents.");return u.inlineTextBuilder.isEmpty()?u.rawText:u.rawText+u.inlineTextBuilder.toString()}function nu(u,e,t,r){if(!(u instanceof T||u instanceof P||u instanceof M))throw new Error("Only blocks, list items and table cells can contain text.");let a=W(u),s=Math.max(u.stashedLineBreaks,t);u.inlineTextBuilder.clear(),a?u.rawText=a+` +`.repeat(s)+e:(u.rawText=e,u.leadingLineBreaks=s),u.stashedLineBreaks=r}function Lr(u,e){return e?Lr(e.transform(u),e.next):u}function As(u={}){let e=u.selectors.filter(n=>!n.format);if(e.length)throw new Error("Following selectors have no specified format: "+e.map(n=>`\`${n.selector}\``).join(", "));let t=new ve(u.selectors.map(n=>[n.selector,n])).build(Fu);typeof u.encodeCharacters!="function"&&(u.encodeCharacters=vs(u.encodeCharacters));let r=new ve(u.baseElements.selectors.map((n,i)=>[n,i+1])).build(Fu);function a(n){return Ds(n,u,r)}let s=Zu(u.limits.maxDepth,Es,function(n,i){i.addInline(u.limits.ellipsis||"")});return function(n,i=void 0){return ws(n,i,u,t,a,s)}}function ws(u,e,t,r,a,s){let n=t.limits.maxInputLength;n&&u&&u.length>n&&(console.warn(`Input length ${u.length} is above allowed limit of ${n}. Truncating without ellipsis.`),u=u.substring(0,n));let i=xr(u,{decodeEntities:t.decodeEntities}),o=a(i.children),c=new zu(t,r,e);return s(o,c),c.toString()}function Ds(u,e,t){let r=[];function a(n,i){i=i.slice(0,e.limits.maxChildNodes);for(let o of i){if(o.type!=="tag")continue;let c=t.pick1(o);if(c>0?r.push({selectorIndex:c,element:o}):o.children&&n(o.children),r.length>=e.limits.maxBaseElements)return}}return Zu(e.limits.maxDepth,a)(u),e.baseElements.orderBy!=="occurrence"&&r.sort((n,i)=>n.selectorIndex-i.selectorIndex),e.baseElements.returnDomByDefault&&r.length===0?u:r.map(n=>n.element)}function Es(u,e,t){if(!e)return;let r=t.options;e.length>r.limits.maxChildNodes&&(e=e.slice(0,r.limits.maxChildNodes),e.push({data:r.limits.ellipsis,type:"text"}));for(let s of e)switch(s.type){case"text":{t.addInline(s.data);break}case"tag":{let n=t.picker.pick1(s),i=r.formatters[n.format];i(s,u,t,n.options||{});break}}}function vs(u){if(!u||Object.keys(u).length===0)return;let e=Object.entries(u).filter(([,s])=>s!==!1),t=new RegExp(e.map(([s])=>`(${gs([...s][0])})`).join("|"),"g"),r=e.map(([,s])=>s),a=(s,...n)=>r[n.findIndex(i=>i)];return s=>s.replace(t,a)}function ks(u,e,t,r){}function Bs(u,e,t,r){t.addLiteral(r.string||"")}function Cs(u,e,t,r){t.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),t.addLiteral(r.string||""),t.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})}function Ts(u,e,t,r){e(u.children,t)}function Ls(u,e,t,r){t.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),e(u.children,t),t.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})}function Sr(u){let e=u.attribs&&u.attribs.length?" "+Object.entries(u.attribs).map(([t,r])=>r===""?t:`${t}=${r.replace(/"/g,""")}`).join(" "):"";return`<${u.name}${e}>`}function Nr(u){return``}function Ss(u,e,t,r){t.startNoWrap(),t.addLiteral(Sr(u)),t.stopNoWrap(),e(u.children,t),t.startNoWrap(),t.addLiteral(Nr(u)),t.stopNoWrap()}function Ns(u,e,t,r){t.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),t.startNoWrap(),t.addLiteral(Sr(u)),t.stopNoWrap(),e(u.children,t),t.startNoWrap(),t.addLiteral(Nr(u)),t.stopNoWrap(),t.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})}function Is(u,e,t,r){t.startNoWrap(),t.addLiteral(Te(u,{decodeEntities:t.options.decodeEntities})),t.stopNoWrap()}function qs(u,e,t,r){t.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),t.startNoWrap(),t.addLiteral(Te(u,{decodeEntities:t.options.decodeEntities})),t.stopNoWrap(),t.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})}function Rs(u,e,t,r){t.addLiteral(r.prefix||""),e(u.children,t),t.addLiteral(r.suffix||"")}var _s=Object.freeze({__proto__:null,block:Ls,blockHtml:qs,blockString:Cs,blockTag:Ns,inline:Ts,inlineHtml:Is,inlineString:Bs,inlineSurround:Rs,inlineTag:Ss,skip:ks});function lu(u,e){return u[e]||(u[e]=[]),u[e]}function Fs(u,e=0){for(;u[e];)e++;return e}function Ps(u,e){for(let t=0;ta?l.length:a}Ps(r,s>a?s:a);let i=[],o=[0];for(let c=0;cp?A.length:p}Br(o,c,h.colspan,p+t),h.rendered=!0}l+=h.rowspan}else{let p=n[l];i[p]=i[p]||"",l++}}return i.join(` +`)}function Us(u,e,t,r){t.addLineBreak()}function $s(u,e,t,r){t.addWordBreakOpportunity()}function Hs(u,e,t,r){t.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),t.addInline("-".repeat(r.length||t.options.wordwrap||40)),t.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})}function Vs(u,e,t,r){t.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),e(u.children,t),t.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})}function js(u,e,t,r){t.openBlock({isPre:!0,leadingLineBreaks:r.leadingLineBreaks||2}),e(u.children,t),t.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})}function Ws(u,e,t,r){t.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),r.uppercase!==!1?(t.pushWordTransform(a=>a.toUpperCase()),e(u.children,t),t.popWordTransform()):e(u.children,t),t.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})}function Gs(u,e,t,r){t.openBlock({leadingLineBreaks:r.leadingLineBreaks||2,reservedLineLength:2}),e(u.children,t),t.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2,blockTransform:a=>(r.trimEmptyLines!==!1?Cr(a,` +`):a).split(` +`).map(s=>"> "+s).join(` +`)})}function Ku(u,e){if(!e)return u;let t=typeof e[0]=="string"?e[0]:"[",r=typeof e[1]=="string"?e[1]:"]";return t+u+r}function Ir(u,e,t,r,a){let s=typeof e=="function"?e(u,r,a):u;return s[0]==="/"&&t?bs(t,"/")+s:s}function zs(u,e,t,r){let a=u.attribs||{},s=a.alt?a.alt:"",n=a.src?Ir(a.src,r.pathRewrite,r.baseUrl,t.metadata,u):"",i=n?s?s+" "+Ku(n,r.linkBrackets):Ku(n,r.linkBrackets):s;t.addInline(i,{noWordTransform:!0})}function Js(u,e,t,r){function a(){if(r.ignoreHref||!u.attribs||!u.attribs.href)return"";let n=u.attribs.href.replace(/^mailto:/,"");return r.noAnchorUrl&&n[0]==="#"?"":(n=Ir(n,r.pathRewrite,r.baseUrl,t.metadata,u),n)}let s=a();if(!s)e(u.children,t);else{let n="";t.pushWordTransform(o=>(o&&(n+=o),o)),e(u.children,t),t.popWordTransform(),r.hideLinkHrefIfSameAsText&&s===n||t.addInline(n?" "+Ku(s,r.linkBrackets):s,{noWordTransform:!0})}}function qr(u,e,t,r,a){let s=ce(u,["parent","name"])==="li",n=0,i=(u.children||[]).filter(o=>o.type!=="text"||!/^\s*$/.test(o.data)).map(function(o){if(o.name!=="li")return{node:o,prefix:""};let c=s?a().trimStart():a();return c.length>n&&(n=c.length),{node:o,prefix:c}});if(i.length){t.openList({interRowLineBreaks:1,leadingLineBreaks:s?1:r.leadingLineBreaks||2,maxPrefixLength:n,prefixAlign:"left"});for(let{node:o,prefix:c}of i)t.openListItem({prefix:c}),e([o],t),t.closeListItem();t.closeList({trailingLineBreaks:s?1:r.trailingLineBreaks||2})}}function Ks(u,e,t,r){let a=r.itemPrefix||" * ";return qr(u,e,t,r,()=>a)}function Qs(u,e,t,r){let a=Number(u.attribs.start||"1"),s=Zs(u.attribs.type);return qr(u,e,t,r,()=>" "+s(a++)+". ")}function Zs(u="1"){switch(u){case"a":return e=>Er(e,"a");case"A":return e=>Er(e,"A");case"i":return e=>kr(e).toLowerCase();case"I":return e=>kr(e);case"1":default:return e=>e.toString()}}function Xs(u){let e=[],t=[];for(let r of u)r.startsWith(".")?e.push(r.substring(1)):r.startsWith("#")&&t.push(r.substring(1));return{classes:e,ids:t}}function Ys(u,e){if(e===!0)return!0;if(!u)return!1;let{classes:t,ids:r}=Xs(e),a=(u.class||"").split(" "),s=(u.id||"").split(" ");return a.some(n=>t.includes(n))||s.some(n=>r.includes(n))}function ei(u,e,t,r){return Ys(u.attribs,t.options.tables)?Rr(u,e,t,r):ui(u,e,t,r)}function ui(u,e,t,r){t.openBlock({leadingLineBreaks:r.leadingLineBreaks}),e(u.children,t),t.closeBlock({trailingLineBreaks:r.trailingLineBreaks})}function Rr(u,e,t,r){t.openTable(),u.children.forEach(s),t.closeTable({tableToString:n=>Os(n,r.rowSpacing??0,r.colSpacing??3),leadingLineBreaks:r.leadingLineBreaks,trailingLineBreaks:r.trailingLineBreaks});function a(n){let i=+ce(n,["attribs","colspan"])||1,o=+ce(n,["attribs","rowspan"])||1;t.openTableCell({maxColumnWidth:r.maxColumnWidth}),e(n.children,t),t.closeTableCell({colspan:i,rowspan:o})}function s(n){if(n.type!=="tag")return;let i=r.uppercaseHeaderCells!==!1?o=>{t.pushWordTransform(c=>c.toUpperCase()),a(o),t.popWordTransform()}:a;switch(n.name){case"thead":case"tbody":case"tfoot":case"center":n.children.forEach(s);return;case"tr":{t.openTableRow();for(let o of n.children)if(o.type==="tag")switch(o.name){case"th":{i(o);break}case"td":{a(o);break}}t.closeTableRow();break}}}}var ti=Object.freeze({__proto__:null,anchor:Js,blockquote:Gs,dataTable:Rr,heading:Ws,horizontalLine:Hs,image:zs,lineBreak:Us,orderedList:Qs,paragraph:Vs,pre:js,table:ei,unorderedList:Ks,wbr:$s}),ri={baseElements:{selectors:["body"],orderBy:"selectors",returnDomByDefault:!0},decodeEntities:!0,encodeCharacters:{},formatters:{},limits:{ellipsis:"...",maxBaseElements:void 0,maxChildNodes:void 0,maxDepth:void 0,maxInputLength:1<<24},longWordSplit:{forceWrapOnLimit:!1,wrapCharacters:[]},preserveNewlines:!1,selectors:[{selector:"*",format:"inline"},{selector:"a",format:"anchor",options:{baseUrl:null,hideLinkHrefIfSameAsText:!1,ignoreHref:!1,linkBrackets:["[","]"],noAnchorUrl:!0}},{selector:"article",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"aside",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"blockquote",format:"blockquote",options:{leadingLineBreaks:2,trailingLineBreaks:2,trimEmptyLines:!0}},{selector:"br",format:"lineBreak"},{selector:"div",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"footer",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"form",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"h1",format:"heading",options:{leadingLineBreaks:3,trailingLineBreaks:2,uppercase:!0}},{selector:"h2",format:"heading",options:{leadingLineBreaks:3,trailingLineBreaks:2,uppercase:!0}},{selector:"h3",format:"heading",options:{leadingLineBreaks:3,trailingLineBreaks:2,uppercase:!0}},{selector:"h4",format:"heading",options:{leadingLineBreaks:2,trailingLineBreaks:2,uppercase:!0}},{selector:"h5",format:"heading",options:{leadingLineBreaks:2,trailingLineBreaks:2,uppercase:!0}},{selector:"h6",format:"heading",options:{leadingLineBreaks:2,trailingLineBreaks:2,uppercase:!0}},{selector:"header",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"hr",format:"horizontalLine",options:{leadingLineBreaks:2,length:void 0,trailingLineBreaks:2}},{selector:"img",format:"image",options:{baseUrl:null,linkBrackets:["[","]"]}},{selector:"main",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"nav",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"ol",format:"orderedList",options:{leadingLineBreaks:2,trailingLineBreaks:2}},{selector:"p",format:"paragraph",options:{leadingLineBreaks:2,trailingLineBreaks:2}},{selector:"pre",format:"pre",options:{leadingLineBreaks:2,trailingLineBreaks:2}},{selector:"section",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"table",format:"table",options:{colSpacing:3,leadingLineBreaks:2,maxColumnWidth:60,rowSpacing:0,trailingLineBreaks:2,uppercaseHeaderCells:!0}},{selector:"ul",format:"unorderedList",options:{itemPrefix:" * ",leadingLineBreaks:2,trailingLineBreaks:2}},{selector:"wbr",format:"wbr"}],tables:[],whitespaceCharacters:` \r +\f\u200B`,wordwrap:80},ai=(u,e,t)=>[...u,...e],_r=(u,e,t)=>[...e],ni=(u,e,t)=>u.some(r=>typeof r=="object")?ai(u,e):_r(u,e);function si(u={}){return u=(0,Qu.default)(ri,u,{arrayMerge:_r,customMerge:e=>e==="selectors"?ni:void 0}),u.formatters=Object.assign({},_s,ti,u.formatters),u.selectors=Tr(u.selectors,e=>e.selector),ii(u),As(u)}function Fr(u,e={},t=void 0){return si(e)(u,t)}function ii(u){if(u.tags){let t=Object.entries(u.tags).map(([r,a])=>({...a,selector:r||"*"}));u.selectors.push(...t),u.selectors=Tr(u.selectors,r=>r.selector)}function e(t,r,a){let s=r.pop();for(let n of r){let i=t[n];i||(i={},t[n]=i),t=i}t[s]=a}if(u.baseElement){let t=u.baseElement;e(u,["baseElements","selectors"],Array.isArray(t)?t:[t])}u.returnDomByDefault!==void 0&&e(u,["baseElements","returnDomByDefault"],u.returnDomByDefault);for(let t of u.selectors)t.format==="anchor"&&ce(t,["options","noLinkBrackets"])&&e(t,["options","linkBrackets"],!1)}var H=new TextEncoder,Xu=new Map,Pr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ne=new Uint8Array(256);for(Se=0;Se>4,s[r++]=(o&15)<<4|c>>2,s[r++]=(c&3)<<6|l&63}return a}function z(u){if(u=u||"utf8",Xu.has(u))return Xu.get(u);let e;try{e=new TextDecoder(u)}catch(t){if(u==="utf8")throw t;return z()}return Xu.set(u,e),e}async function V(u){if("arrayBuffer"in u)return await u.arrayBuffer();let e=new FileReader;return new Promise((t,r)=>{e.onload=function(a){t(a.target.result)},e.onerror=function(a){r(e.error)},e.readAsArrayBuffer(u)})}function Mr(u){return u>=48&&u<=57||u>=97&&u<=102||u>=65&&u<=70?String.fromCharCode(u):!1}function oi(u,e,t){let r=u.indexOf("*");r>=0&&(u=u.substr(0,r)),e=e.toUpperCase();let a;if(e==="Q"){t=t.replace(/=\s+([0-9a-fA-F])/g,"=$1").replace(/[_\s]/g," ");let s=H.encode(t),n=[];for(let o=0,c=s.length;or===a?t+"__\0JOIN\0__":e).replace(/(=\?([^?]+)\?[Qq]\?[^?]*\?=)\s*(?==\?([^?]+)\?[Qq]\?[^?]*\?=)/g,(e,t,r,a)=>r===a?t+"__\0JOIN\0__":e).replace(/(\?=)?__\x00JOIN\x00__(=\?([^?]+)\?[QqBb]\?)?/g,"").replace(/(=\?[^?]+\?[QqBb]\?[^?]*\?=)\s+(?==\?[^?]+\?[QqBb]\?[^?]*\?=)/g,"$1").replace(/=\?([\w_\-*]+)\?([QqBb])\?([^?]*)\?=/g,(e,t,r,a)=>oi(t,r,a))}function ci(u,e){e=e||"utf-8";let t=[];for(let s=0;s126){n=H.encode(n);for(let i=0;i{let r=t.match(/\*((\d+)\*?)?$/);if(!r)return;let a=t.substr(0,r.index).toLowerCase(),s=Number(r[2])||0,n;e.has(a)?n=e.get(a):(n={charset:!1,values:[]},e.set(a,n));let i=u.params[t];s===0&&r[0].charAt(r[0].length-1)==="*"&&(r=i.match(/^([^']*)'[^']*'(.*)$/))&&(n.charset=r[1]||"utf-8",i=r[2]),n.values.push({nr:s,value:i}),delete u.params[t]}),e.forEach((t,r)=>{u.params[r]=ci(t.values.sort((a,s)=>a.nr-s.nr).map(a=>a.value).join(""),t.charset)})}var Ie=class{constructor(){this.chunks=[]}update(e){this.chunks.push(e),this.chunks.push(` +`)}finalize(){return V(new Blob(this.chunks,{type:"application/octet-stream"}))}};var qe=class{constructor(e){e=e||{},this.decoder=e.decoder||new TextDecoder,this.maxChunkSize=100*1024,this.chunks=[],this.remainder=""}update(e){let t=this.decoder.decode(e);if(/[^a-zA-Z0-9+\/]/.test(t)&&(t=t.replace(/[^a-zA-Z0-9+\/]+/g,"")),this.remainder+=t,this.remainder.length>=this.maxChunkSize){let r=Math.floor(this.remainder.length/4)*4,a;r===this.remainder.length?(a=this.remainder,this.remainder=""):(a=this.remainder.substr(0,r),this.remainder=this.remainder.substr(r)),a.length&&this.chunks.push(du(a))}}finalize(){return this.remainder&&!/^=+$/.test(this.remainder)&&this.chunks.push(du(this.remainder)),V(new Blob(this.chunks,{type:"application/octet-stream"}))}};var Re=class{constructor(e){e=e||{},this.decoder=e.decoder||new TextDecoder,this.maxChunkSize=100*1024,this.remainder="",this.chunks=[]}decodeQPBytes(e){let t=new ArrayBuffer(e.length),r=new DataView(t);for(let a=0,s=e.length;a3&&(r.push(a.substr(1,2)),this.chunks.push(this.decodeQPBytes(r)),r=[],a=a.substr(3),this.chunks.push(a))}r.length&&(this.chunks.push(this.decodeQPBytes(r)),r=[])}update(e){let t=this.decoder.decode(e)+` +`;if(t=this.remainder+t,t.length=0;t--)if(e[t].node===this){e.splice(t,1);break}await this.finalizeChildNodes(),this.content=this.contentDecoder?await this.contentDecoder.finalize():null,this.state="finished"}async finalizeChildNodes(){for(let e of this.childNodes)await e.finalize()}parseStructuredHeader(e){let t={value:!1,params:{}},r=!1,a="",s="value",n=!1,i=!1,o;for(let c=0,l=e.length;c/ $/.test(r)&&!/(^|\n)-- $/.test(r)?t?r.slice(0,-1)+a:r+a:r+` +`+a).replace(/^ /gm,"")}getTextContent(){if(!this.content)return"";let e=z(this.contentType.parsed.params.charset).decode(this.content);return/^flowed$/i.test(this.contentType.parsed.params.format)&&(e=this.decodeFlowedText(e,/^yes$/i.test(this.contentType.parsed.params.delsp))),e}processHeaders(){for(let e=this.headerLines.length-1;e>=0;e--){let t=this.headerLines[e];if(e&&/^\s/.test(t))this.headerLines[e-1]+=` +`+t,this.headerLines.splice(e,1);else{t=t.replace(/\s+/g," ");let r=t.indexOf(":"),a=r<0?t.trim():t.substr(0,r).trim(),s=r<0?"":t.substr(r+1).trim();switch(this.headers.push({key:a.toLowerCase(),originalKey:a,value:s}),a.toLowerCase()){case"content-type":this.contentType.default&&(this.contentType={value:s,parsed:{}});break;case"content-transfer-encoding":this.contentTransferEncoding={value:s,parsed:{}};break;case"content-disposition":this.contentDisposition={value:s,parsed:{}};break;case"content-id":this.contentId=s;break;case"content-description":this.contentDescription=s;break}}}this.contentType.parsed=this.parseStructuredHeader(this.contentType.value),this.contentType.multipart=/^multipart\//i.test(this.contentType.parsed.value)?this.contentType.parsed.value.substr(this.contentType.parsed.value.indexOf("/")+1):!1,this.contentType.multipart&&this.contentType.parsed.params.boundary&&this.postalMime.boundaries.push({value:H.encode(this.contentType.parsed.params.boundary),node:this}),this.contentDisposition.parsed=this.parseStructuredHeader(this.contentDisposition.value),this.contentTransferEncoding.encoding=this.contentTransferEncoding.value.toLowerCase().split(/[^\w-]/).shift(),this.setupContentDecoder(this.contentTransferEncoding.encoding)}feed(e){switch(this.state){case"header":if(!e.length)return this.state="body",this.processHeaders();this.headerLines.push(z().decode(e));break;case"body":this.contentDecoder.update(e)}}};var li={"Æ":"\xC6","Æ":"\xC6","&":"&","&":"&","Á":"\xC1","Á":"\xC1","Ă":"\u0102","Â":"\xC2","Â":"\xC2","А":"\u0410","𝔄":"\u{1D504}","À":"\xC0","À":"\xC0","Α":"\u0391","Ā":"\u0100","⩓":"\u2A53","Ą":"\u0104","𝔸":"\u{1D538}","⁡":"\u2061","Å":"\xC5","Å":"\xC5","𝒜":"\u{1D49C}","≔":"\u2254","Ã":"\xC3","Ã":"\xC3","Ä":"\xC4","Ä":"\xC4","∖":"\u2216","⫧":"\u2AE7","⌆":"\u2306","Б":"\u0411","∵":"\u2235","ℬ":"\u212C","Β":"\u0392","𝔅":"\u{1D505}","𝔹":"\u{1D539}","˘":"\u02D8","ℬ":"\u212C","≎":"\u224E","Ч":"\u0427","©":"\xA9","©":"\xA9","Ć":"\u0106","⋒":"\u22D2","ⅅ":"\u2145","ℭ":"\u212D","Č":"\u010C","Ç":"\xC7","Ç":"\xC7","Ĉ":"\u0108","∰":"\u2230","Ċ":"\u010A","¸":"\xB8","·":"\xB7","ℭ":"\u212D","Χ":"\u03A7","⊙":"\u2299","⊖":"\u2296","⊕":"\u2295","⊗":"\u2297","∲":"\u2232","”":"\u201D","’":"\u2019","∷":"\u2237","⩴":"\u2A74","≡":"\u2261","∯":"\u222F","∮":"\u222E","ℂ":"\u2102","∐":"\u2210","∳":"\u2233","⨯":"\u2A2F","𝒞":"\u{1D49E}","⋓":"\u22D3","≍":"\u224D","ⅅ":"\u2145","⤑":"\u2911","Ђ":"\u0402","Ѕ":"\u0405","Џ":"\u040F","‡":"\u2021","↡":"\u21A1","⫤":"\u2AE4","Ď":"\u010E","Д":"\u0414","∇":"\u2207","Δ":"\u0394","𝔇":"\u{1D507}","´":"\xB4","˙":"\u02D9","˝":"\u02DD","`":"`","˜":"\u02DC","⋄":"\u22C4","ⅆ":"\u2146","𝔻":"\u{1D53B}","¨":"\xA8","⃜":"\u20DC","≐":"\u2250","∯":"\u222F","¨":"\xA8","⇓":"\u21D3","⇐":"\u21D0","⇔":"\u21D4","⫤":"\u2AE4","⟸":"\u27F8","⟺":"\u27FA","⟹":"\u27F9","⇒":"\u21D2","⊨":"\u22A8","⇑":"\u21D1","⇕":"\u21D5","∥":"\u2225","↓":"\u2193","⤓":"\u2913","⇵":"\u21F5","̑":"\u0311","⥐":"\u2950","⥞":"\u295E","↽":"\u21BD","⥖":"\u2956","⥟":"\u295F","⇁":"\u21C1","⥗":"\u2957","⊤":"\u22A4","↧":"\u21A7","⇓":"\u21D3","𝒟":"\u{1D49F}","Đ":"\u0110","Ŋ":"\u014A","Ð":"\xD0","Ð":"\xD0","É":"\xC9","É":"\xC9","Ě":"\u011A","Ê":"\xCA","Ê":"\xCA","Э":"\u042D","Ė":"\u0116","𝔈":"\u{1D508}","È":"\xC8","È":"\xC8","∈":"\u2208","Ē":"\u0112","◻":"\u25FB","▫":"\u25AB","Ę":"\u0118","𝔼":"\u{1D53C}","Ε":"\u0395","⩵":"\u2A75","≂":"\u2242","⇌":"\u21CC","ℰ":"\u2130","⩳":"\u2A73","Η":"\u0397","Ë":"\xCB","Ë":"\xCB","∃":"\u2203","ⅇ":"\u2147","Ф":"\u0424","𝔉":"\u{1D509}","◼":"\u25FC","▪":"\u25AA","𝔽":"\u{1D53D}","∀":"\u2200","ℱ":"\u2131","ℱ":"\u2131","Ѓ":"\u0403",">":">",">":">","Γ":"\u0393","Ϝ":"\u03DC","Ğ":"\u011E","Ģ":"\u0122","Ĝ":"\u011C","Г":"\u0413","Ġ":"\u0120","𝔊":"\u{1D50A}","⋙":"\u22D9","𝔾":"\u{1D53E}","≥":"\u2265","⋛":"\u22DB","≧":"\u2267","⪢":"\u2AA2","≷":"\u2277","⩾":"\u2A7E","≳":"\u2273","𝒢":"\u{1D4A2}","≫":"\u226B","Ъ":"\u042A","ˇ":"\u02C7","^":"^","Ĥ":"\u0124","ℌ":"\u210C","ℋ":"\u210B","ℍ":"\u210D","─":"\u2500","ℋ":"\u210B","Ħ":"\u0126","≎":"\u224E","≏":"\u224F","Е":"\u0415","IJ":"\u0132","Ё":"\u0401","Í":"\xCD","Í":"\xCD","Î":"\xCE","Î":"\xCE","И":"\u0418","İ":"\u0130","ℑ":"\u2111","Ì":"\xCC","Ì":"\xCC","ℑ":"\u2111","Ī":"\u012A","ⅈ":"\u2148","⇒":"\u21D2","∬":"\u222C","∫":"\u222B","⋂":"\u22C2","⁣":"\u2063","⁢":"\u2062","Į":"\u012E","𝕀":"\u{1D540}","Ι":"\u0399","ℐ":"\u2110","Ĩ":"\u0128","І":"\u0406","Ï":"\xCF","Ï":"\xCF","Ĵ":"\u0134","Й":"\u0419","𝔍":"\u{1D50D}","𝕁":"\u{1D541}","𝒥":"\u{1D4A5}","Ј":"\u0408","Є":"\u0404","Х":"\u0425","Ќ":"\u040C","Κ":"\u039A","Ķ":"\u0136","К":"\u041A","𝔎":"\u{1D50E}","𝕂":"\u{1D542}","𝒦":"\u{1D4A6}","Љ":"\u0409","<":"<","<":"<","Ĺ":"\u0139","Λ":"\u039B","⟪":"\u27EA","ℒ":"\u2112","↞":"\u219E","Ľ":"\u013D","Ļ":"\u013B","Л":"\u041B","⟨":"\u27E8","←":"\u2190","⇤":"\u21E4","⇆":"\u21C6","⌈":"\u2308","⟦":"\u27E6","⥡":"\u2961","⇃":"\u21C3","⥙":"\u2959","⌊":"\u230A","↔":"\u2194","⥎":"\u294E","⊣":"\u22A3","↤":"\u21A4","⥚":"\u295A","⊲":"\u22B2","⧏":"\u29CF","⊴":"\u22B4","⥑":"\u2951","⥠":"\u2960","↿":"\u21BF","⥘":"\u2958","↼":"\u21BC","⥒":"\u2952","⇐":"\u21D0","⇔":"\u21D4","⋚":"\u22DA","≦":"\u2266","≶":"\u2276","⪡":"\u2AA1","⩽":"\u2A7D","≲":"\u2272","𝔏":"\u{1D50F}","⋘":"\u22D8","⇚":"\u21DA","Ŀ":"\u013F","⟵":"\u27F5","⟷":"\u27F7","⟶":"\u27F6","⟸":"\u27F8","⟺":"\u27FA","⟹":"\u27F9","𝕃":"\u{1D543}","↙":"\u2199","↘":"\u2198","ℒ":"\u2112","↰":"\u21B0","Ł":"\u0141","≪":"\u226A","⤅":"\u2905","М":"\u041C"," ":"\u205F","ℳ":"\u2133","𝔐":"\u{1D510}","∓":"\u2213","𝕄":"\u{1D544}","ℳ":"\u2133","Μ":"\u039C","Њ":"\u040A","Ń":"\u0143","Ň":"\u0147","Ņ":"\u0145","Н":"\u041D","​":"\u200B","​":"\u200B","​":"\u200B","​":"\u200B","≫":"\u226B","≪":"\u226A"," ":` +`,"𝔑":"\u{1D511}","⁠":"\u2060"," ":"\xA0","ℕ":"\u2115","⫬":"\u2AEC","≢":"\u2262","≭":"\u226D","∦":"\u2226","∉":"\u2209","≠":"\u2260","≂̸":"\u2242\u0338","∄":"\u2204","≯":"\u226F","≱":"\u2271","≧̸":"\u2267\u0338","≫̸":"\u226B\u0338","≹":"\u2279","⩾̸":"\u2A7E\u0338","≵":"\u2275","≎̸":"\u224E\u0338","≏̸":"\u224F\u0338","⋪":"\u22EA","⧏̸":"\u29CF\u0338","⋬":"\u22EC","≮":"\u226E","≰":"\u2270","≸":"\u2278","≪̸":"\u226A\u0338","⩽̸":"\u2A7D\u0338","≴":"\u2274","⪢̸":"\u2AA2\u0338","⪡̸":"\u2AA1\u0338","⊀":"\u2280","⪯̸":"\u2AAF\u0338","⋠":"\u22E0","∌":"\u220C","⋫":"\u22EB","⧐̸":"\u29D0\u0338","⋭":"\u22ED","⊏̸":"\u228F\u0338","⋢":"\u22E2","⊐̸":"\u2290\u0338","⋣":"\u22E3","⊂⃒":"\u2282\u20D2","⊈":"\u2288","⊁":"\u2281","⪰̸":"\u2AB0\u0338","⋡":"\u22E1","≿̸":"\u227F\u0338","⊃⃒":"\u2283\u20D2","⊉":"\u2289","≁":"\u2241","≄":"\u2244","≇":"\u2247","≉":"\u2249","∤":"\u2224","𝒩":"\u{1D4A9}","Ñ":"\xD1","Ñ":"\xD1","Ν":"\u039D","Œ":"\u0152","Ó":"\xD3","Ó":"\xD3","Ô":"\xD4","Ô":"\xD4","О":"\u041E","Ő":"\u0150","𝔒":"\u{1D512}","Ò":"\xD2","Ò":"\xD2","Ō":"\u014C","Ω":"\u03A9","Ο":"\u039F","𝕆":"\u{1D546}","“":"\u201C","‘":"\u2018","⩔":"\u2A54","𝒪":"\u{1D4AA}","Ø":"\xD8","Ø":"\xD8","Õ":"\xD5","Õ":"\xD5","⨷":"\u2A37","Ö":"\xD6","Ö":"\xD6","‾":"\u203E","⏞":"\u23DE","⎴":"\u23B4","⏜":"\u23DC","∂":"\u2202","П":"\u041F","𝔓":"\u{1D513}","Φ":"\u03A6","Π":"\u03A0","±":"\xB1","ℌ":"\u210C","ℙ":"\u2119","⪻":"\u2ABB","≺":"\u227A","⪯":"\u2AAF","≼":"\u227C","≾":"\u227E","″":"\u2033","∏":"\u220F","∷":"\u2237","∝":"\u221D","𝒫":"\u{1D4AB}","Ψ":"\u03A8",""":'"',""":'"',"𝔔":"\u{1D514}","ℚ":"\u211A","𝒬":"\u{1D4AC}","⤐":"\u2910","®":"\xAE","®":"\xAE","Ŕ":"\u0154","⟫":"\u27EB","↠":"\u21A0","⤖":"\u2916","Ř":"\u0158","Ŗ":"\u0156","Р":"\u0420","ℜ":"\u211C","∋":"\u220B","⇋":"\u21CB","⥯":"\u296F","ℜ":"\u211C","Ρ":"\u03A1","⟩":"\u27E9","→":"\u2192","⇥":"\u21E5","⇄":"\u21C4","⌉":"\u2309","⟧":"\u27E7","⥝":"\u295D","⇂":"\u21C2","⥕":"\u2955","⌋":"\u230B","⊢":"\u22A2","↦":"\u21A6","⥛":"\u295B","⊳":"\u22B3","⧐":"\u29D0","⊵":"\u22B5","⥏":"\u294F","⥜":"\u295C","↾":"\u21BE","⥔":"\u2954","⇀":"\u21C0","⥓":"\u2953","⇒":"\u21D2","ℝ":"\u211D","⥰":"\u2970","⇛":"\u21DB","ℛ":"\u211B","↱":"\u21B1","⧴":"\u29F4","Щ":"\u0429","Ш":"\u0428","Ь":"\u042C","Ś":"\u015A","⪼":"\u2ABC","Š":"\u0160","Ş":"\u015E","Ŝ":"\u015C","С":"\u0421","𝔖":"\u{1D516}","↓":"\u2193","←":"\u2190","→":"\u2192","↑":"\u2191","Σ":"\u03A3","∘":"\u2218","𝕊":"\u{1D54A}","√":"\u221A","□":"\u25A1","⊓":"\u2293","⊏":"\u228F","⊑":"\u2291","⊐":"\u2290","⊒":"\u2292","⊔":"\u2294","𝒮":"\u{1D4AE}","⋆":"\u22C6","⋐":"\u22D0","⋐":"\u22D0","⊆":"\u2286","≻":"\u227B","⪰":"\u2AB0","≽":"\u227D","≿":"\u227F","∋":"\u220B","∑":"\u2211","⋑":"\u22D1","⊃":"\u2283","⊇":"\u2287","⋑":"\u22D1","Þ":"\xDE","Þ":"\xDE","™":"\u2122","Ћ":"\u040B","Ц":"\u0426"," ":" ","Τ":"\u03A4","Ť":"\u0164","Ţ":"\u0162","Т":"\u0422","𝔗":"\u{1D517}","∴":"\u2234","Θ":"\u0398","  ":"\u205F\u200A"," ":"\u2009","∼":"\u223C","≃":"\u2243","≅":"\u2245","≈":"\u2248","𝕋":"\u{1D54B}","⃛":"\u20DB","𝒯":"\u{1D4AF}","Ŧ":"\u0166","Ú":"\xDA","Ú":"\xDA","↟":"\u219F","⥉":"\u2949","Ў":"\u040E","Ŭ":"\u016C","Û":"\xDB","Û":"\xDB","У":"\u0423","Ű":"\u0170","𝔘":"\u{1D518}","Ù":"\xD9","Ù":"\xD9","Ū":"\u016A","_":"_","⏟":"\u23DF","⎵":"\u23B5","⏝":"\u23DD","⋃":"\u22C3","⊎":"\u228E","Ų":"\u0172","𝕌":"\u{1D54C}","↑":"\u2191","⤒":"\u2912","⇅":"\u21C5","↕":"\u2195","⥮":"\u296E","⊥":"\u22A5","↥":"\u21A5","⇑":"\u21D1","⇕":"\u21D5","↖":"\u2196","↗":"\u2197","ϒ":"\u03D2","Υ":"\u03A5","Ů":"\u016E","𝒰":"\u{1D4B0}","Ũ":"\u0168","Ü":"\xDC","Ü":"\xDC","⊫":"\u22AB","⫫":"\u2AEB","В":"\u0412","⊩":"\u22A9","⫦":"\u2AE6","⋁":"\u22C1","‖":"\u2016","‖":"\u2016","∣":"\u2223","|":"|","❘":"\u2758","≀":"\u2240"," ":"\u200A","𝔙":"\u{1D519}","𝕍":"\u{1D54D}","𝒱":"\u{1D4B1}","⊪":"\u22AA","Ŵ":"\u0174","⋀":"\u22C0","𝔚":"\u{1D51A}","𝕎":"\u{1D54E}","𝒲":"\u{1D4B2}","𝔛":"\u{1D51B}","Ξ":"\u039E","𝕏":"\u{1D54F}","𝒳":"\u{1D4B3}","Я":"\u042F","Ї":"\u0407","Ю":"\u042E","Ý":"\xDD","Ý":"\xDD","Ŷ":"\u0176","Ы":"\u042B","𝔜":"\u{1D51C}","𝕐":"\u{1D550}","𝒴":"\u{1D4B4}","Ÿ":"\u0178","Ж":"\u0416","Ź":"\u0179","Ž":"\u017D","З":"\u0417","Ż":"\u017B","​":"\u200B","Ζ":"\u0396","ℨ":"\u2128","ℤ":"\u2124","𝒵":"\u{1D4B5}","á":"\xE1","á":"\xE1","ă":"\u0103","∾":"\u223E","∾̳":"\u223E\u0333","∿":"\u223F","â":"\xE2","â":"\xE2","´":"\xB4","´":"\xB4","а":"\u0430","æ":"\xE6","æ":"\xE6","⁡":"\u2061","𝔞":"\u{1D51E}","à":"\xE0","à":"\xE0","ℵ":"\u2135","ℵ":"\u2135","α":"\u03B1","ā":"\u0101","⨿":"\u2A3F","&":"&","&":"&","∧":"\u2227","⩕":"\u2A55","⩜":"\u2A5C","⩘":"\u2A58","⩚":"\u2A5A","∠":"\u2220","⦤":"\u29A4","∠":"\u2220","∡":"\u2221","⦨":"\u29A8","⦩":"\u29A9","⦪":"\u29AA","⦫":"\u29AB","⦬":"\u29AC","⦭":"\u29AD","⦮":"\u29AE","⦯":"\u29AF","∟":"\u221F","⊾":"\u22BE","⦝":"\u299D","∢":"\u2222","Å":"\xC5","⍼":"\u237C","ą":"\u0105","𝕒":"\u{1D552}","≈":"\u2248","⩰":"\u2A70","⩯":"\u2A6F","≊":"\u224A","≋":"\u224B","'":"'","≈":"\u2248","≊":"\u224A","å":"\xE5","å":"\xE5","𝒶":"\u{1D4B6}","*":"*","≈":"\u2248","≍":"\u224D","ã":"\xE3","ã":"\xE3","ä":"\xE4","ä":"\xE4","∳":"\u2233","⨑":"\u2A11","⫭":"\u2AED","≌":"\u224C","϶":"\u03F6","‵":"\u2035","∽":"\u223D","⋍":"\u22CD","⊽":"\u22BD","⌅":"\u2305","⌅":"\u2305","⎵":"\u23B5","⎶":"\u23B6","≌":"\u224C","б":"\u0431","„":"\u201E","∵":"\u2235","∵":"\u2235","⦰":"\u29B0","϶":"\u03F6","ℬ":"\u212C","β":"\u03B2","ℶ":"\u2136","≬":"\u226C","𝔟":"\u{1D51F}","⋂":"\u22C2","◯":"\u25EF","⋃":"\u22C3","⨀":"\u2A00","⨁":"\u2A01","⨂":"\u2A02","⨆":"\u2A06","★":"\u2605","▽":"\u25BD","△":"\u25B3","⨄":"\u2A04","⋁":"\u22C1","⋀":"\u22C0","⤍":"\u290D","⧫":"\u29EB","▪":"\u25AA","▴":"\u25B4","▾":"\u25BE","◂":"\u25C2","▸":"\u25B8","␣":"\u2423","▒":"\u2592","░":"\u2591","▓":"\u2593","█":"\u2588","=⃥":"=\u20E5","≡⃥":"\u2261\u20E5","⌐":"\u2310","𝕓":"\u{1D553}","⊥":"\u22A5","⊥":"\u22A5","⋈":"\u22C8","╗":"\u2557","╔":"\u2554","╖":"\u2556","╓":"\u2553","═":"\u2550","╦":"\u2566","╩":"\u2569","╤":"\u2564","╧":"\u2567","╝":"\u255D","╚":"\u255A","╜":"\u255C","╙":"\u2559","║":"\u2551","╬":"\u256C","╣":"\u2563","╠":"\u2560","╫":"\u256B","╢":"\u2562","╟":"\u255F","⧉":"\u29C9","╕":"\u2555","╒":"\u2552","┐":"\u2510","┌":"\u250C","─":"\u2500","╥":"\u2565","╨":"\u2568","┬":"\u252C","┴":"\u2534","⊟":"\u229F","⊞":"\u229E","⊠":"\u22A0","╛":"\u255B","╘":"\u2558","┘":"\u2518","└":"\u2514","│":"\u2502","╪":"\u256A","╡":"\u2561","╞":"\u255E","┼":"\u253C","┤":"\u2524","├":"\u251C","‵":"\u2035","˘":"\u02D8","¦":"\xA6","¦":"\xA6","𝒷":"\u{1D4B7}","⁏":"\u204F","∽":"\u223D","⋍":"\u22CD","\":"\\","⧅":"\u29C5","⟈":"\u27C8","•":"\u2022","•":"\u2022","≎":"\u224E","⪮":"\u2AAE","≏":"\u224F","≏":"\u224F","ć":"\u0107","∩":"\u2229","⩄":"\u2A44","⩉":"\u2A49","⩋":"\u2A4B","⩇":"\u2A47","⩀":"\u2A40","∩︀":"\u2229\uFE00","⁁":"\u2041","ˇ":"\u02C7","⩍":"\u2A4D","č":"\u010D","ç":"\xE7","ç":"\xE7","ĉ":"\u0109","⩌":"\u2A4C","⩐":"\u2A50","ċ":"\u010B","¸":"\xB8","¸":"\xB8","⦲":"\u29B2","¢":"\xA2","¢":"\xA2","·":"\xB7","𝔠":"\u{1D520}","ч":"\u0447","✓":"\u2713","✓":"\u2713","χ":"\u03C7","○":"\u25CB","⧃":"\u29C3","ˆ":"\u02C6","≗":"\u2257","↺":"\u21BA","↻":"\u21BB","®":"\xAE","Ⓢ":"\u24C8","⊛":"\u229B","⊚":"\u229A","⊝":"\u229D","≗":"\u2257","⨐":"\u2A10","⫯":"\u2AEF","⧂":"\u29C2","♣":"\u2663","♣":"\u2663",":":":","≔":"\u2254","≔":"\u2254",",":",","@":"@","∁":"\u2201","∘":"\u2218","∁":"\u2201","ℂ":"\u2102","≅":"\u2245","⩭":"\u2A6D","∮":"\u222E","𝕔":"\u{1D554}","∐":"\u2210","©":"\xA9","©":"\xA9","℗":"\u2117","↵":"\u21B5","✗":"\u2717","𝒸":"\u{1D4B8}","⫏":"\u2ACF","⫑":"\u2AD1","⫐":"\u2AD0","⫒":"\u2AD2","⋯":"\u22EF","⤸":"\u2938","⤵":"\u2935","⋞":"\u22DE","⋟":"\u22DF","↶":"\u21B6","⤽":"\u293D","∪":"\u222A","⩈":"\u2A48","⩆":"\u2A46","⩊":"\u2A4A","⊍":"\u228D","⩅":"\u2A45","∪︀":"\u222A\uFE00","↷":"\u21B7","⤼":"\u293C","⋞":"\u22DE","⋟":"\u22DF","⋎":"\u22CE","⋏":"\u22CF","¤":"\xA4","¤":"\xA4","↶":"\u21B6","↷":"\u21B7","⋎":"\u22CE","⋏":"\u22CF","∲":"\u2232","∱":"\u2231","⌭":"\u232D","⇓":"\u21D3","⥥":"\u2965","†":"\u2020","ℸ":"\u2138","↓":"\u2193","‐":"\u2010","⊣":"\u22A3","⤏":"\u290F","˝":"\u02DD","ď":"\u010F","д":"\u0434","ⅆ":"\u2146","‡":"\u2021","⇊":"\u21CA","⩷":"\u2A77","°":"\xB0","°":"\xB0","δ":"\u03B4","⦱":"\u29B1","⥿":"\u297F","𝔡":"\u{1D521}","⇃":"\u21C3","⇂":"\u21C2","⋄":"\u22C4","⋄":"\u22C4","♦":"\u2666","♦":"\u2666","¨":"\xA8","ϝ":"\u03DD","⋲":"\u22F2","÷":"\xF7","÷":"\xF7","÷":"\xF7","⋇":"\u22C7","⋇":"\u22C7","ђ":"\u0452","⌞":"\u231E","⌍":"\u230D","$":"$","𝕕":"\u{1D555}","˙":"\u02D9","≐":"\u2250","≑":"\u2251","∸":"\u2238","∔":"\u2214","⊡":"\u22A1","⌆":"\u2306","↓":"\u2193","⇊":"\u21CA","⇃":"\u21C3","⇂":"\u21C2","⤐":"\u2910","⌟":"\u231F","⌌":"\u230C","𝒹":"\u{1D4B9}","ѕ":"\u0455","⧶":"\u29F6","đ":"\u0111","⋱":"\u22F1","▿":"\u25BF","▾":"\u25BE","⇵":"\u21F5","⥯":"\u296F","⦦":"\u29A6","џ":"\u045F","⟿":"\u27FF","⩷":"\u2A77","≑":"\u2251","é":"\xE9","é":"\xE9","⩮":"\u2A6E","ě":"\u011B","≖":"\u2256","ê":"\xEA","ê":"\xEA","≕":"\u2255","э":"\u044D","ė":"\u0117","ⅇ":"\u2147","≒":"\u2252","𝔢":"\u{1D522}","⪚":"\u2A9A","è":"\xE8","è":"\xE8","⪖":"\u2A96","⪘":"\u2A98","⪙":"\u2A99","⏧":"\u23E7","ℓ":"\u2113","⪕":"\u2A95","⪗":"\u2A97","ē":"\u0113","∅":"\u2205","∅":"\u2205","∅":"\u2205"," ":"\u2004"," ":"\u2005"," ":"\u2003","ŋ":"\u014B"," ":"\u2002","ę":"\u0119","𝕖":"\u{1D556}","⋕":"\u22D5","⧣":"\u29E3","⩱":"\u2A71","ε":"\u03B5","ε":"\u03B5","ϵ":"\u03F5","≖":"\u2256","≕":"\u2255","≂":"\u2242","⪖":"\u2A96","⪕":"\u2A95","=":"=","≟":"\u225F","≡":"\u2261","⩸":"\u2A78","⧥":"\u29E5","≓":"\u2253","⥱":"\u2971","ℯ":"\u212F","≐":"\u2250","≂":"\u2242","η":"\u03B7","ð":"\xF0","ð":"\xF0","ë":"\xEB","ë":"\xEB","€":"\u20AC","!":"!","∃":"\u2203","ℰ":"\u2130","ⅇ":"\u2147","≒":"\u2252","ф":"\u0444","♀":"\u2640","ffi":"\uFB03","ff":"\uFB00","ffl":"\uFB04","𝔣":"\u{1D523}","fi":"\uFB01","fj":"fj","♭":"\u266D","fl":"\uFB02","▱":"\u25B1","ƒ":"\u0192","𝕗":"\u{1D557}","∀":"\u2200","⋔":"\u22D4","⫙":"\u2AD9","⨍":"\u2A0D","½":"\xBD","½":"\xBD","⅓":"\u2153","¼":"\xBC","¼":"\xBC","⅕":"\u2155","⅙":"\u2159","⅛":"\u215B","⅔":"\u2154","⅖":"\u2156","¾":"\xBE","¾":"\xBE","⅗":"\u2157","⅜":"\u215C","⅘":"\u2158","⅚":"\u215A","⅝":"\u215D","⅞":"\u215E","⁄":"\u2044","⌢":"\u2322","𝒻":"\u{1D4BB}","≧":"\u2267","⪌":"\u2A8C","ǵ":"\u01F5","γ":"\u03B3","ϝ":"\u03DD","⪆":"\u2A86","ğ":"\u011F","ĝ":"\u011D","г":"\u0433","ġ":"\u0121","≥":"\u2265","⋛":"\u22DB","≥":"\u2265","≧":"\u2267","⩾":"\u2A7E","⩾":"\u2A7E","⪩":"\u2AA9","⪀":"\u2A80","⪂":"\u2A82","⪄":"\u2A84","⋛︀":"\u22DB\uFE00","⪔":"\u2A94","𝔤":"\u{1D524}","≫":"\u226B","⋙":"\u22D9","ℷ":"\u2137","ѓ":"\u0453","≷":"\u2277","⪒":"\u2A92","⪥":"\u2AA5","⪤":"\u2AA4","≩":"\u2269","⪊":"\u2A8A","⪊":"\u2A8A","⪈":"\u2A88","⪈":"\u2A88","≩":"\u2269","⋧":"\u22E7","𝕘":"\u{1D558}","`":"`","ℊ":"\u210A","≳":"\u2273","⪎":"\u2A8E","⪐":"\u2A90",">":">",">":">","⪧":"\u2AA7","⩺":"\u2A7A","⋗":"\u22D7","⦕":"\u2995","⩼":"\u2A7C","⪆":"\u2A86","⥸":"\u2978","⋗":"\u22D7","⋛":"\u22DB","⪌":"\u2A8C","≷":"\u2277","≳":"\u2273","≩︀":"\u2269\uFE00","≩︀":"\u2269\uFE00","⇔":"\u21D4"," ":"\u200A","½":"\xBD","ℋ":"\u210B","ъ":"\u044A","↔":"\u2194","⥈":"\u2948","↭":"\u21AD","ℏ":"\u210F","ĥ":"\u0125","♥":"\u2665","♥":"\u2665","…":"\u2026","⊹":"\u22B9","𝔥":"\u{1D525}","⤥":"\u2925","⤦":"\u2926","⇿":"\u21FF","∻":"\u223B","↩":"\u21A9","↪":"\u21AA","𝕙":"\u{1D559}","―":"\u2015","𝒽":"\u{1D4BD}","ℏ":"\u210F","ħ":"\u0127","⁃":"\u2043","‐":"\u2010","í":"\xED","í":"\xED","⁣":"\u2063","î":"\xEE","î":"\xEE","и":"\u0438","е":"\u0435","¡":"\xA1","¡":"\xA1","⇔":"\u21D4","𝔦":"\u{1D526}","ì":"\xEC","ì":"\xEC","ⅈ":"\u2148","⨌":"\u2A0C","∭":"\u222D","⧜":"\u29DC","℩":"\u2129","ij":"\u0133","ī":"\u012B","ℑ":"\u2111","ℐ":"\u2110","ℑ":"\u2111","ı":"\u0131","⊷":"\u22B7","Ƶ":"\u01B5","∈":"\u2208","℅":"\u2105","∞":"\u221E","⧝":"\u29DD","ı":"\u0131","∫":"\u222B","⊺":"\u22BA","ℤ":"\u2124","⊺":"\u22BA","⨗":"\u2A17","⨼":"\u2A3C","ё":"\u0451","į":"\u012F","𝕚":"\u{1D55A}","ι":"\u03B9","⨼":"\u2A3C","¿":"\xBF","¿":"\xBF","𝒾":"\u{1D4BE}","∈":"\u2208","⋹":"\u22F9","⋵":"\u22F5","⋴":"\u22F4","⋳":"\u22F3","∈":"\u2208","⁢":"\u2062","ĩ":"\u0129","і":"\u0456","ï":"\xEF","ï":"\xEF","ĵ":"\u0135","й":"\u0439","𝔧":"\u{1D527}","ȷ":"\u0237","𝕛":"\u{1D55B}","𝒿":"\u{1D4BF}","ј":"\u0458","є":"\u0454","κ":"\u03BA","ϰ":"\u03F0","ķ":"\u0137","к":"\u043A","𝔨":"\u{1D528}","ĸ":"\u0138","х":"\u0445","ќ":"\u045C","𝕜":"\u{1D55C}","𝓀":"\u{1D4C0}","⇚":"\u21DA","⇐":"\u21D0","⤛":"\u291B","⤎":"\u290E","≦":"\u2266","⪋":"\u2A8B","⥢":"\u2962","ĺ":"\u013A","⦴":"\u29B4","ℒ":"\u2112","λ":"\u03BB","⟨":"\u27E8","⦑":"\u2991","⟨":"\u27E8","⪅":"\u2A85","«":"\xAB","«":"\xAB","←":"\u2190","⇤":"\u21E4","⤟":"\u291F","⤝":"\u291D","↩":"\u21A9","↫":"\u21AB","⤹":"\u2939","⥳":"\u2973","↢":"\u21A2","⪫":"\u2AAB","⤙":"\u2919","⪭":"\u2AAD","⪭︀":"\u2AAD\uFE00","⤌":"\u290C","❲":"\u2772","{":"{","[":"[","⦋":"\u298B","⦏":"\u298F","⦍":"\u298D","ľ":"\u013E","ļ":"\u013C","⌈":"\u2308","{":"{","л":"\u043B","⤶":"\u2936","“":"\u201C","„":"\u201E","⥧":"\u2967","⥋":"\u294B","↲":"\u21B2","≤":"\u2264","←":"\u2190","↢":"\u21A2","↽":"\u21BD","↼":"\u21BC","⇇":"\u21C7","↔":"\u2194","⇆":"\u21C6","⇋":"\u21CB","↭":"\u21AD","⋋":"\u22CB","⋚":"\u22DA","≤":"\u2264","≦":"\u2266","⩽":"\u2A7D","⩽":"\u2A7D","⪨":"\u2AA8","⩿":"\u2A7F","⪁":"\u2A81","⪃":"\u2A83","⋚︀":"\u22DA\uFE00","⪓":"\u2A93","⪅":"\u2A85","⋖":"\u22D6","⋚":"\u22DA","⪋":"\u2A8B","≶":"\u2276","≲":"\u2272","⥼":"\u297C","⌊":"\u230A","𝔩":"\u{1D529}","≶":"\u2276","⪑":"\u2A91","↽":"\u21BD","↼":"\u21BC","⥪":"\u296A","▄":"\u2584","љ":"\u0459","≪":"\u226A","⇇":"\u21C7","⌞":"\u231E","⥫":"\u296B","◺":"\u25FA","ŀ":"\u0140","⎰":"\u23B0","⎰":"\u23B0","≨":"\u2268","⪉":"\u2A89","⪉":"\u2A89","⪇":"\u2A87","⪇":"\u2A87","≨":"\u2268","⋦":"\u22E6","⟬":"\u27EC","⇽":"\u21FD","⟦":"\u27E6","⟵":"\u27F5","⟷":"\u27F7","⟼":"\u27FC","⟶":"\u27F6","↫":"\u21AB","↬":"\u21AC","⦅":"\u2985","𝕝":"\u{1D55D}","⨭":"\u2A2D","⨴":"\u2A34","∗":"\u2217","_":"_","◊":"\u25CA","◊":"\u25CA","⧫":"\u29EB","(":"(","⦓":"\u2993","⇆":"\u21C6","⌟":"\u231F","⇋":"\u21CB","⥭":"\u296D","‎":"\u200E","⊿":"\u22BF","‹":"\u2039","𝓁":"\u{1D4C1}","↰":"\u21B0","≲":"\u2272","⪍":"\u2A8D","⪏":"\u2A8F","[":"[","‘":"\u2018","‚":"\u201A","ł":"\u0142","<":"<","<":"<","⪦":"\u2AA6","⩹":"\u2A79","⋖":"\u22D6","⋋":"\u22CB","⋉":"\u22C9","⥶":"\u2976","⩻":"\u2A7B","⦖":"\u2996","◃":"\u25C3","⊴":"\u22B4","◂":"\u25C2","⥊":"\u294A","⥦":"\u2966","≨︀":"\u2268\uFE00","≨︀":"\u2268\uFE00","∺":"\u223A","¯":"\xAF","¯":"\xAF","♂":"\u2642","✠":"\u2720","✠":"\u2720","↦":"\u21A6","↦":"\u21A6","↧":"\u21A7","↤":"\u21A4","↥":"\u21A5","▮":"\u25AE","⨩":"\u2A29","м":"\u043C","—":"\u2014","∡":"\u2221","𝔪":"\u{1D52A}","℧":"\u2127","µ":"\xB5","µ":"\xB5","∣":"\u2223","*":"*","⫰":"\u2AF0","·":"\xB7","·":"\xB7","−":"\u2212","⊟":"\u229F","∸":"\u2238","⨪":"\u2A2A","⫛":"\u2ADB","…":"\u2026","∓":"\u2213","⊧":"\u22A7","𝕞":"\u{1D55E}","∓":"\u2213","𝓂":"\u{1D4C2}","∾":"\u223E","μ":"\u03BC","⊸":"\u22B8","⊸":"\u22B8","⋙̸":"\u22D9\u0338","≫⃒":"\u226B\u20D2","≫̸":"\u226B\u0338","⇍":"\u21CD","⇎":"\u21CE","⋘̸":"\u22D8\u0338","≪⃒":"\u226A\u20D2","≪̸":"\u226A\u0338","⇏":"\u21CF","⊯":"\u22AF","⊮":"\u22AE","∇":"\u2207","ń":"\u0144","∠⃒":"\u2220\u20D2","≉":"\u2249","⩰̸":"\u2A70\u0338","≋̸":"\u224B\u0338","ʼn":"\u0149","≉":"\u2249","♮":"\u266E","♮":"\u266E","ℕ":"\u2115"," ":"\xA0"," ":"\xA0","≎̸":"\u224E\u0338","≏̸":"\u224F\u0338","⩃":"\u2A43","ň":"\u0148","ņ":"\u0146","≇":"\u2247","⩭̸":"\u2A6D\u0338","⩂":"\u2A42","н":"\u043D","–":"\u2013","≠":"\u2260","⇗":"\u21D7","⤤":"\u2924","↗":"\u2197","↗":"\u2197","≐̸":"\u2250\u0338","≢":"\u2262","⤨":"\u2928","≂̸":"\u2242\u0338","∄":"\u2204","∄":"\u2204","𝔫":"\u{1D52B}","≧̸":"\u2267\u0338","≱":"\u2271","≱":"\u2271","≧̸":"\u2267\u0338","⩾̸":"\u2A7E\u0338","⩾̸":"\u2A7E\u0338","≵":"\u2275","≯":"\u226F","≯":"\u226F","⇎":"\u21CE","↮":"\u21AE","⫲":"\u2AF2","∋":"\u220B","⋼":"\u22FC","⋺":"\u22FA","∋":"\u220B","њ":"\u045A","⇍":"\u21CD","≦̸":"\u2266\u0338","↚":"\u219A","‥":"\u2025","≰":"\u2270","↚":"\u219A","↮":"\u21AE","≰":"\u2270","≦̸":"\u2266\u0338","⩽̸":"\u2A7D\u0338","⩽̸":"\u2A7D\u0338","≮":"\u226E","≴":"\u2274","≮":"\u226E","⋪":"\u22EA","⋬":"\u22EC","∤":"\u2224","𝕟":"\u{1D55F}","¬":"\xAC","¬":"\xAC","∉":"\u2209","⋹̸":"\u22F9\u0338","⋵̸":"\u22F5\u0338","∉":"\u2209","⋷":"\u22F7","⋶":"\u22F6","∌":"\u220C","∌":"\u220C","⋾":"\u22FE","⋽":"\u22FD","∦":"\u2226","∦":"\u2226","⫽⃥":"\u2AFD\u20E5","∂̸":"\u2202\u0338","⨔":"\u2A14","⊀":"\u2280","⋠":"\u22E0","⪯̸":"\u2AAF\u0338","⊀":"\u2280","⪯̸":"\u2AAF\u0338","⇏":"\u21CF","↛":"\u219B","⤳̸":"\u2933\u0338","↝̸":"\u219D\u0338","↛":"\u219B","⋫":"\u22EB","⋭":"\u22ED","⊁":"\u2281","⋡":"\u22E1","⪰̸":"\u2AB0\u0338","𝓃":"\u{1D4C3}","∤":"\u2224","∦":"\u2226","≁":"\u2241","≄":"\u2244","≄":"\u2244","∤":"\u2224","∦":"\u2226","⋢":"\u22E2","⋣":"\u22E3","⊄":"\u2284","⫅̸":"\u2AC5\u0338","⊈":"\u2288","⊂⃒":"\u2282\u20D2","⊈":"\u2288","⫅̸":"\u2AC5\u0338","⊁":"\u2281","⪰̸":"\u2AB0\u0338","⊅":"\u2285","⫆̸":"\u2AC6\u0338","⊉":"\u2289","⊃⃒":"\u2283\u20D2","⊉":"\u2289","⫆̸":"\u2AC6\u0338","≹":"\u2279","ñ":"\xF1","ñ":"\xF1","≸":"\u2278","⋪":"\u22EA","⋬":"\u22EC","⋫":"\u22EB","⋭":"\u22ED","ν":"\u03BD","#":"#","№":"\u2116"," ":"\u2007","⊭":"\u22AD","⤄":"\u2904","≍⃒":"\u224D\u20D2","⊬":"\u22AC","≥⃒":"\u2265\u20D2",">⃒":">\u20D2","⧞":"\u29DE","⤂":"\u2902","≤⃒":"\u2264\u20D2","<⃒":"<\u20D2","⊴⃒":"\u22B4\u20D2","⤃":"\u2903","⊵⃒":"\u22B5\u20D2","∼⃒":"\u223C\u20D2","⇖":"\u21D6","⤣":"\u2923","↖":"\u2196","↖":"\u2196","⤧":"\u2927","Ⓢ":"\u24C8","ó":"\xF3","ó":"\xF3","⊛":"\u229B","⊚":"\u229A","ô":"\xF4","ô":"\xF4","о":"\u043E","⊝":"\u229D","ő":"\u0151","⨸":"\u2A38","⊙":"\u2299","⦼":"\u29BC","œ":"\u0153","⦿":"\u29BF","𝔬":"\u{1D52C}","˛":"\u02DB","ò":"\xF2","ò":"\xF2","⧁":"\u29C1","⦵":"\u29B5","Ω":"\u03A9","∮":"\u222E","↺":"\u21BA","⦾":"\u29BE","⦻":"\u29BB","‾":"\u203E","⧀":"\u29C0","ō":"\u014D","ω":"\u03C9","ο":"\u03BF","⦶":"\u29B6","⊖":"\u2296","𝕠":"\u{1D560}","⦷":"\u29B7","⦹":"\u29B9","⊕":"\u2295","∨":"\u2228","↻":"\u21BB","⩝":"\u2A5D","ℴ":"\u2134","ℴ":"\u2134","ª":"\xAA","ª":"\xAA","º":"\xBA","º":"\xBA","⊶":"\u22B6","⩖":"\u2A56","⩗":"\u2A57","⩛":"\u2A5B","ℴ":"\u2134","ø":"\xF8","ø":"\xF8","⊘":"\u2298","õ":"\xF5","õ":"\xF5","⊗":"\u2297","⨶":"\u2A36","ö":"\xF6","ö":"\xF6","⌽":"\u233D","∥":"\u2225","¶":"\xB6","¶":"\xB6","∥":"\u2225","⫳":"\u2AF3","⫽":"\u2AFD","∂":"\u2202","п":"\u043F","%":"%",".":".","‰":"\u2030","⊥":"\u22A5","‱":"\u2031","𝔭":"\u{1D52D}","φ":"\u03C6","ϕ":"\u03D5","ℳ":"\u2133","☎":"\u260E","π":"\u03C0","⋔":"\u22D4","ϖ":"\u03D6","ℏ":"\u210F","ℎ":"\u210E","ℏ":"\u210F","+":"+","⨣":"\u2A23","⊞":"\u229E","⨢":"\u2A22","∔":"\u2214","⨥":"\u2A25","⩲":"\u2A72","±":"\xB1","±":"\xB1","⨦":"\u2A26","⨧":"\u2A27","±":"\xB1","⨕":"\u2A15","𝕡":"\u{1D561}","£":"\xA3","£":"\xA3","≺":"\u227A","⪳":"\u2AB3","⪷":"\u2AB7","≼":"\u227C","⪯":"\u2AAF","≺":"\u227A","⪷":"\u2AB7","≼":"\u227C","⪯":"\u2AAF","⪹":"\u2AB9","⪵":"\u2AB5","⋨":"\u22E8","≾":"\u227E","′":"\u2032","ℙ":"\u2119","⪵":"\u2AB5","⪹":"\u2AB9","⋨":"\u22E8","∏":"\u220F","⌮":"\u232E","⌒":"\u2312","⌓":"\u2313","∝":"\u221D","∝":"\u221D","≾":"\u227E","⊰":"\u22B0","𝓅":"\u{1D4C5}","ψ":"\u03C8"," ":"\u2008","𝔮":"\u{1D52E}","⨌":"\u2A0C","𝕢":"\u{1D562}","⁗":"\u2057","𝓆":"\u{1D4C6}","ℍ":"\u210D","⨖":"\u2A16","?":"?","≟":"\u225F",""":'"',""":'"',"⇛":"\u21DB","⇒":"\u21D2","⤜":"\u291C","⤏":"\u290F","⥤":"\u2964","∽̱":"\u223D\u0331","ŕ":"\u0155","√":"\u221A","⦳":"\u29B3","⟩":"\u27E9","⦒":"\u2992","⦥":"\u29A5","⟩":"\u27E9","»":"\xBB","»":"\xBB","→":"\u2192","⥵":"\u2975","⇥":"\u21E5","⤠":"\u2920","⤳":"\u2933","⤞":"\u291E","↪":"\u21AA","↬":"\u21AC","⥅":"\u2945","⥴":"\u2974","↣":"\u21A3","↝":"\u219D","⤚":"\u291A","∶":"\u2236","ℚ":"\u211A","⤍":"\u290D","❳":"\u2773","}":"}","]":"]","⦌":"\u298C","⦎":"\u298E","⦐":"\u2990","ř":"\u0159","ŗ":"\u0157","⌉":"\u2309","}":"}","р":"\u0440","⤷":"\u2937","⥩":"\u2969","”":"\u201D","”":"\u201D","↳":"\u21B3","ℜ":"\u211C","ℛ":"\u211B","ℜ":"\u211C","ℝ":"\u211D","▭":"\u25AD","®":"\xAE","®":"\xAE","⥽":"\u297D","⌋":"\u230B","𝔯":"\u{1D52F}","⇁":"\u21C1","⇀":"\u21C0","⥬":"\u296C","ρ":"\u03C1","ϱ":"\u03F1","→":"\u2192","↣":"\u21A3","⇁":"\u21C1","⇀":"\u21C0","⇄":"\u21C4","⇌":"\u21CC","⇉":"\u21C9","↝":"\u219D","⋌":"\u22CC","˚":"\u02DA","≓":"\u2253","⇄":"\u21C4","⇌":"\u21CC","‏":"\u200F","⎱":"\u23B1","⎱":"\u23B1","⫮":"\u2AEE","⟭":"\u27ED","⇾":"\u21FE","⟧":"\u27E7","⦆":"\u2986","𝕣":"\u{1D563}","⨮":"\u2A2E","⨵":"\u2A35",")":")","⦔":"\u2994","⨒":"\u2A12","⇉":"\u21C9","›":"\u203A","𝓇":"\u{1D4C7}","↱":"\u21B1","]":"]","’":"\u2019","’":"\u2019","⋌":"\u22CC","⋊":"\u22CA","▹":"\u25B9","⊵":"\u22B5","▸":"\u25B8","⧎":"\u29CE","⥨":"\u2968","℞":"\u211E","ś":"\u015B","‚":"\u201A","≻":"\u227B","⪴":"\u2AB4","⪸":"\u2AB8","š":"\u0161","≽":"\u227D","⪰":"\u2AB0","ş":"\u015F","ŝ":"\u015D","⪶":"\u2AB6","⪺":"\u2ABA","⋩":"\u22E9","⨓":"\u2A13","≿":"\u227F","с":"\u0441","⋅":"\u22C5","⊡":"\u22A1","⩦":"\u2A66","⇘":"\u21D8","⤥":"\u2925","↘":"\u2198","↘":"\u2198","§":"\xA7","§":"\xA7",";":";","⤩":"\u2929","∖":"\u2216","∖":"\u2216","✶":"\u2736","𝔰":"\u{1D530}","⌢":"\u2322","♯":"\u266F","щ":"\u0449","ш":"\u0448","∣":"\u2223","∥":"\u2225","­":"\xAD","­":"\xAD","σ":"\u03C3","ς":"\u03C2","ς":"\u03C2","∼":"\u223C","⩪":"\u2A6A","≃":"\u2243","≃":"\u2243","⪞":"\u2A9E","⪠":"\u2AA0","⪝":"\u2A9D","⪟":"\u2A9F","≆":"\u2246","⨤":"\u2A24","⥲":"\u2972","←":"\u2190","∖":"\u2216","⨳":"\u2A33","⧤":"\u29E4","∣":"\u2223","⌣":"\u2323","⪪":"\u2AAA","⪬":"\u2AAC","⪬︀":"\u2AAC\uFE00","ь":"\u044C","/":"/","⧄":"\u29C4","⌿":"\u233F","𝕤":"\u{1D564}","♠":"\u2660","♠":"\u2660","∥":"\u2225","⊓":"\u2293","⊓︀":"\u2293\uFE00","⊔":"\u2294","⊔︀":"\u2294\uFE00","⊏":"\u228F","⊑":"\u2291","⊏":"\u228F","⊑":"\u2291","⊐":"\u2290","⊒":"\u2292","⊐":"\u2290","⊒":"\u2292","□":"\u25A1","□":"\u25A1","▪":"\u25AA","▪":"\u25AA","→":"\u2192","𝓈":"\u{1D4C8}","∖":"\u2216","⌣":"\u2323","⋆":"\u22C6","☆":"\u2606","★":"\u2605","ϵ":"\u03F5","ϕ":"\u03D5","¯":"\xAF","⊂":"\u2282","⫅":"\u2AC5","⪽":"\u2ABD","⊆":"\u2286","⫃":"\u2AC3","⫁":"\u2AC1","⫋":"\u2ACB","⊊":"\u228A","⪿":"\u2ABF","⥹":"\u2979","⊂":"\u2282","⊆":"\u2286","⫅":"\u2AC5","⊊":"\u228A","⫋":"\u2ACB","⫇":"\u2AC7","⫕":"\u2AD5","⫓":"\u2AD3","≻":"\u227B","⪸":"\u2AB8","≽":"\u227D","⪰":"\u2AB0","⪺":"\u2ABA","⪶":"\u2AB6","⋩":"\u22E9","≿":"\u227F","∑":"\u2211","♪":"\u266A","¹":"\xB9","¹":"\xB9","²":"\xB2","²":"\xB2","³":"\xB3","³":"\xB3","⊃":"\u2283","⫆":"\u2AC6","⪾":"\u2ABE","⫘":"\u2AD8","⊇":"\u2287","⫄":"\u2AC4","⟉":"\u27C9","⫗":"\u2AD7","⥻":"\u297B","⫂":"\u2AC2","⫌":"\u2ACC","⊋":"\u228B","⫀":"\u2AC0","⊃":"\u2283","⊇":"\u2287","⫆":"\u2AC6","⊋":"\u228B","⫌":"\u2ACC","⫈":"\u2AC8","⫔":"\u2AD4","⫖":"\u2AD6","⇙":"\u21D9","⤦":"\u2926","↙":"\u2199","↙":"\u2199","⤪":"\u292A","ß":"\xDF","ß":"\xDF","⌖":"\u2316","τ":"\u03C4","⎴":"\u23B4","ť":"\u0165","ţ":"\u0163","т":"\u0442","⃛":"\u20DB","⌕":"\u2315","𝔱":"\u{1D531}","∴":"\u2234","∴":"\u2234","θ":"\u03B8","ϑ":"\u03D1","ϑ":"\u03D1","≈":"\u2248","∼":"\u223C"," ":"\u2009","≈":"\u2248","∼":"\u223C","þ":"\xFE","þ":"\xFE","˜":"\u02DC","×":"\xD7","×":"\xD7","⊠":"\u22A0","⨱":"\u2A31","⨰":"\u2A30","∭":"\u222D","⤨":"\u2928","⊤":"\u22A4","⌶":"\u2336","⫱":"\u2AF1","𝕥":"\u{1D565}","⫚":"\u2ADA","⤩":"\u2929","‴":"\u2034","™":"\u2122","▵":"\u25B5","▿":"\u25BF","◃":"\u25C3","⊴":"\u22B4","≜":"\u225C","▹":"\u25B9","⊵":"\u22B5","◬":"\u25EC","≜":"\u225C","⨺":"\u2A3A","⨹":"\u2A39","⧍":"\u29CD","⨻":"\u2A3B","⏢":"\u23E2","𝓉":"\u{1D4C9}","ц":"\u0446","ћ":"\u045B","ŧ":"\u0167","≬":"\u226C","↞":"\u219E","↠":"\u21A0","⇑":"\u21D1","⥣":"\u2963","ú":"\xFA","ú":"\xFA","↑":"\u2191","ў":"\u045E","ŭ":"\u016D","û":"\xFB","û":"\xFB","у":"\u0443","⇅":"\u21C5","ű":"\u0171","⥮":"\u296E","⥾":"\u297E","𝔲":"\u{1D532}","ù":"\xF9","ù":"\xF9","↿":"\u21BF","↾":"\u21BE","▀":"\u2580","⌜":"\u231C","⌜":"\u231C","⌏":"\u230F","◸":"\u25F8","ū":"\u016B","¨":"\xA8","¨":"\xA8","ų":"\u0173","𝕦":"\u{1D566}","↑":"\u2191","↕":"\u2195","↿":"\u21BF","↾":"\u21BE","⊎":"\u228E","υ":"\u03C5","ϒ":"\u03D2","υ":"\u03C5","⇈":"\u21C8","⌝":"\u231D","⌝":"\u231D","⌎":"\u230E","ů":"\u016F","◹":"\u25F9","𝓊":"\u{1D4CA}","⋰":"\u22F0","ũ":"\u0169","▵":"\u25B5","▴":"\u25B4","⇈":"\u21C8","ü":"\xFC","ü":"\xFC","⦧":"\u29A7","⇕":"\u21D5","⫨":"\u2AE8","⫩":"\u2AE9","⊨":"\u22A8","⦜":"\u299C","ϵ":"\u03F5","ϰ":"\u03F0","∅":"\u2205","ϕ":"\u03D5","ϖ":"\u03D6","∝":"\u221D","↕":"\u2195","ϱ":"\u03F1","ς":"\u03C2","⊊︀":"\u228A\uFE00","⫋︀":"\u2ACB\uFE00","⊋︀":"\u228B\uFE00","⫌︀":"\u2ACC\uFE00","ϑ":"\u03D1","⊲":"\u22B2","⊳":"\u22B3","в":"\u0432","⊢":"\u22A2","∨":"\u2228","⊻":"\u22BB","≚":"\u225A","⋮":"\u22EE","|":"|","|":"|","𝔳":"\u{1D533}","⊲":"\u22B2","⊂⃒":"\u2282\u20D2","⊃⃒":"\u2283\u20D2","𝕧":"\u{1D567}","∝":"\u221D","⊳":"\u22B3","𝓋":"\u{1D4CB}","⫋︀":"\u2ACB\uFE00","⊊︀":"\u228A\uFE00","⫌︀":"\u2ACC\uFE00","⊋︀":"\u228B\uFE00","⦚":"\u299A","ŵ":"\u0175","⩟":"\u2A5F","∧":"\u2227","≙":"\u2259","℘":"\u2118","𝔴":"\u{1D534}","𝕨":"\u{1D568}","℘":"\u2118","≀":"\u2240","≀":"\u2240","𝓌":"\u{1D4CC}","⋂":"\u22C2","◯":"\u25EF","⋃":"\u22C3","▽":"\u25BD","𝔵":"\u{1D535}","⟺":"\u27FA","⟷":"\u27F7","ξ":"\u03BE","⟸":"\u27F8","⟵":"\u27F5","⟼":"\u27FC","⋻":"\u22FB","⨀":"\u2A00","𝕩":"\u{1D569}","⨁":"\u2A01","⨂":"\u2A02","⟹":"\u27F9","⟶":"\u27F6","𝓍":"\u{1D4CD}","⨆":"\u2A06","⨄":"\u2A04","△":"\u25B3","⋁":"\u22C1","⋀":"\u22C0","ý":"\xFD","ý":"\xFD","я":"\u044F","ŷ":"\u0177","ы":"\u044B","¥":"\xA5","¥":"\xA5","𝔶":"\u{1D536}","ї":"\u0457","𝕪":"\u{1D56A}","𝓎":"\u{1D4CE}","ю":"\u044E","ÿ":"\xFF","ÿ":"\xFF","ź":"\u017A","ž":"\u017E","з":"\u0437","ż":"\u017C","ℨ":"\u2128","ζ":"\u03B6","𝔷":"\u{1D537}","ж":"\u0436","⇝":"\u21DD","𝕫":"\u{1D56B}","𝓏":"\u{1D4CF}","‍":"\u200D","‌":"\u200C"},Yu=li;function di(u){return u.replace(/&(#\d+|#x[a-f0-9]+|[a-z]+\d*);?/gi,(e,t)=>{if(typeof Yu[e]=="string")return Yu[e];if(t.charAt(0)!=="#"||e.charAt(e.length-1)!==";")return e;let r;t.charAt(1)==="x"?r=parseInt(t.substr(2),16):r=parseInt(t.substr(1),10);var a="";return r>=55296&&r<=57343||r>1114111?"\uFFFD":(r>65535&&(r-=65536,a+=String.fromCharCode(r>>>10&1023|55296),r=56320|r&1023),a+=String.fromCharCode(r),a)})}function K(u){return u.trim().replace(/[<>"'?&]/g,e=>{let t=e.charCodeAt(0).toString(16);return t.length<2&&(t="0"+t),"&#x"+t.toUpperCase()+";"})}function Ur(u){return"
"+K(u).replace(/\n/g,"
")+"
"}function $r(u){return u=u.replace(/\r?\n/g,"").replace(/<\!\-\-.*?\-\->/gi," ").replace(/]*>/gi,` +`).replace(/<\/?(p|div|table|tr|td|th)\b[^>]*>/gi,` + +`).replace(/]*>.*?<\/script\b[^>]*>/gi," ").replace(/^.*]*>/i,"").replace(/^.*<\/head\b[^>]*>/i,"").replace(/^.*<\!doctype\b[^>]*>/i,"").replace(/<\/body\b[^>]*>.*$/i,"").replace(/<\/html\b[^>]*>.*$/i,"").replace(/]*href\s*=\s*["']?([^\s"']+)[^>]*>/gi," ($1) ").replace(/<\/?(span|em|i|strong|b|u|a)\b[^>]*>/gi,"").replace(/]*>[\n\u0001\s]*/gi,"* ").replace(/]*>/g,` +------------- +`).replace(/<[^>]*>/g," ").replace(/\u0001/g,` +`).replace(/[ \t]+/g," ").replace(/^\s+$/gm,"").replace(/\n\n+/g,` + +`).replace(/^\n+/,` +`).replace(/\n+$/,` +`),u=di(u),u}function Hr(u){return[].concat(u.name||[]).concat(u.name?`<${u.address}>`:u.address).join(" ")}function et(u){let e=[],t=(r,a)=>{if(a&&e.push(", "),r.group){let s=`${r.name}:`,n=";";e.push(s),r.group.forEach(t),e.push(n)}else e.push(Hr(r))};return u.forEach(t),e.join("")}function Vr(u){return``}function ut(u){let e=[],t=(r,a)=>{if(a&&e.push(''),r.group){let s=``,n='';e.push(s),r.group.forEach(t),e.push(n)}else e.push(Vr(r))};return u.forEach(t),e.join(" ")}function fi(u,e,t){u=(u||"").toString(),e=e||76;let r=0,a=u.length,s="",n,i;for(;r"u"?u.date:new Intl.DateTimeFormat("default",n).format(new Date(u.date));e.push({key:"Date",val:i})}u.to&&u.to.length&&e.push({key:"To",val:et(u.to)}),u.cc&&u.cc.length&&e.push({key:"Cc",val:et(u.cc)}),u.bcc&&u.bcc.length&&e.push({key:"Bcc",val:et(u.bcc)});let t=e.map(n=>n.key.length).reduce((n,i)=>i>n?i:n,0);e=e.flatMap(n=>{let i=t-n.key.length,o=`${n.key}: ${" ".repeat(i)}`,c=`${" ".repeat(n.key.length+1)} ${" ".repeat(i)}`;return fi(n.val,80,!0).split(/\r?\n/).map(h=>h.trim()).map((h,m)=>`${m?c:o}${h}`)});let r=e.map(n=>n.length).reduce((n,i)=>i>n?i:n,0),a="-".repeat(r);return` +${a} +${e.join(` +`)} +${a} +`}function rt(u){let e=[];if(u.from&&e.push(``),u.subject&&e.push(``),u.date){let r={year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric",hour12:!1},a=typeof Intl>"u"?u.date:new Intl.DateTimeFormat("default",r).format(new Date(u.date));e.push(``)}return u.to&&u.to.length&&e.push(``),u.cc&&u.cc.length&&e.push(``),u.bcc&&u.bcc.length&&e.push(``),``}function hi(u){let e,t=!1,r="text",a,s=[],n={address:[],comment:[],group:[],text:[]},i,o;for(i=0,o=u.length;i=0;i--)if(n.text[i].match(/^[^@\s]+@[^@\s]+$/)){n.address=n.text.splice(i,1);break}let c=function(l){return n.address.length?l:(n.address=[l.trim()]," ")};if(!n.address.length)for(i=n.text.length-1;i>=0&&(n.text[i]=n.text[i].replace(/\s*\b[^@\s]+@[^\s]+\b\s*/,c).trim(),!n.address.length);i--);}if(!n.text.length&&n.comment.length&&(n.text=n.comment,n.comment=[]),n.address.length>1&&(n.text=n.text.concat(n.address.splice(1))),n.text=n.text.join(" "),n.address=n.address.join(" "),!n.address&&/^=\?[^=]+?=$/.test(n.text.trim())){let c=nt(J(n.text));if(c&&c.length)return c}if(!n.address&&t)return[];a={address:n.address||n.text||"",name:J(n.text||n.address||"")},a.address===a.name&&((a.address||"").match(/@/)?a.name="":a.address=""),s.push(a)}return s}var at=class{constructor(e){this.str=(e||"").toString(),this.operatorCurrent="",this.operatorExpecting="",this.node=null,this.escaped=!1,this.list=[],this.operators={'"':'"',"(":")","<":">",",":"",":":";",";":""}}tokenize(){let e,t=[];for(let r=0,a=this.str.length;r{r.value=(r.value||"").toString().trim(),r.value&&t.push(r)}),t}checkChar(e){if(!this.escaped){if(e===this.operatorExpecting){this.node={type:"operator",value:e},this.list.push(this.node),this.node=null,this.operatorExpecting="",this.escaped=!1;return}else if(!this.operatorExpecting&&e in this.operators){this.node={type:"operator",value:e},this.list.push(this.node),this.node=null,this.operatorExpecting=this.operators[e],this.escaped=!1;return}else if(['"',"'"].includes(this.operatorExpecting)&&e==="\\"){this.escaped=!0;return}}this.node||(this.node={type:"text",value:""},this.list.push(this.node)),e===` +`&&(e=" "),(e.charCodeAt(0)>=33||[" "," "].includes(e))&&(this.node.value+=e),this.escaped=!1}};function nt(u,e){e=e||{};let r=new at(u).tokenize(),a=[],s=[],n=[];if(r.forEach(i=>{i.type==="operator"&&(i.value===","||i.value===";")?(s.length&&a.push(s),s=[]):s.push(i)}),s.length&&a.push(s),a.forEach(i=>{i=hi(i),i.length&&(n=n.concat(i))}),e.flatten){let i=[],o=c=>{c.forEach(l=>{if(l.group)return o(l.group);i.push(l)})};return o(n),i}return n}var fu=nt;var _e=class u{static parse(e,t){return new u(t).parse(e)}constructor(e){this.options=e||{},this.root=this.currentNode=new le({postalMime:this}),this.boundaries=[],this.textContent={},this.attachments=[],this.started=!1}async finalize(){await this.root.finalize()}async processLine(e,t){let r=this.boundaries;if(r.length&&e.length>2&&e[0]===45&&e[1]===45)for(let a=r.length-1;a>=0;a--){let s=r[a];if(e.length!==s.value.length+2&&e.length!==s.value.length+4)continue;let n=e.length===s.value.length+4;if(n&&(e[e.length-2]!==45||e[e.length-1]!==45))continue;let i=!0;for(let o=0;o({bytes:new Uint8Array(this.buf,e,t-e),done:this.readPos>=this.av.length});for(;this.readPos{if(i=i||!1,o=o||!1,n.contentType.multipart)n.contentType.multipart==="alternative"?i=n:n.contentType.multipart==="related"&&(o=n);else if(this.isInlineMessageRfc822(n)&&!a){let c=new u;n.subMessage=await c.parse(n.content),r.has(n)||r.set(n,{});let l=r.get(n);(n.subMessage.text||!n.subMessage.html)&&(l.plain=l.plain||[],l.plain.push({type:"subMessage",value:n.subMessage}),t.add("plain")),n.subMessage.html&&(l.html=l.html||[],l.html.push({type:"subMessage",value:n.subMessage}),t.add("html")),c.textMap&&c.textMap.forEach((h,m)=>{r.set(m,h)});for(let h of n.subMessage.attachments||[])this.attachments.push(h)}else if(this.isInlineTextNode(n)){let c=n.contentType.parsed.value.substr(n.contentType.parsed.value.indexOf("/")+1),l=i||n;r.has(l)||r.set(l,{});let h=r.get(l);h[c]=h[c]||[],h[c].push({type:"text",value:n.getTextContent()}),t.add(c)}else if(n.content){let c=n.contentDisposition.parsed.params.filename||n.contentType.parsed.params.name||null,l={filename:c?J(c):null,mimeType:n.contentType.parsed.value,disposition:n.contentDisposition.parsed.value||null};switch(o&&n.contentId&&(l.related=!0),n.contentDescription&&(l.description=n.contentDescription),n.contentId&&(l.contentId=n.contentId),n.contentType.parsed.value){case"text/calendar":case"application/ics":{n.contentType.parsed.params.method&&(l.method=n.contentType.parsed.params.method.toString().toUpperCase().trim());let h=n.getTextContent().replace(/\r?\n/g,` +`).replace(/\n*$/,` +`);l.content=H.encode(h);break}default:l.content=n.content}this.attachments.push(l)}for(let c of n.childNodes)await s(c,i,o)};await s(this.root,!1,[]),r.forEach(n=>{t.forEach(i=>{if(e[i]||(e[i]=[]),n[i])n[i].forEach(o=>{switch(o.type){case"text":e[i].push(o.value);break;case"subMessage":switch(i){case"html":e[i].push(rt(o.value));break;case"plain":e[i].push(tt(o.value));break}break}});else{let o;switch(i){case"html":o="plain";break;case"plain":o="html";break}(n[o]||[]).forEach(c=>{switch(c.type){case"text":switch(i){case"html":e[i].push(Ur(c.value));break;case"plain":e[i].push($r(c.value));break}break;case"subMessage":switch(i){case"html":e[i].push(rt(c.value));break;case"plain":e[i].push(tt(c.value));break}break}})}})}),Object.keys(e).forEach(n=>{e[n]=e[n].join(` +`)}),this.textContent=e}isInlineTextNode(e){if(e.contentDisposition.parsed.value==="attachment")return!1;switch(e.contentType.parsed.value){case"text/html":case"text/plain":return!0;case"text/calendar":case"text/csv":default:return!1}}isInlineMessageRfc822(e){return e.contentType.parsed.value!=="message/rfc822"?!1:(e.contentDisposition.parsed.value||(this.options.rfc822Attachments?"attachment":"inline"))==="inline"}forceRfc822Attachments(){if(this.options.forceRfc822Attachments)return!0;let e=!1,t=r=>{r.contentType.multipart||["message/delivery-status","message/feedback-report"].includes(r.contentType.parsed.value)&&(e=!0);for(let a of r.childNodes)t(a)};return t(this.root),e}async resolveStream(e){let t=0,r=[],a=e.getReader();for(;;){let{done:i,value:o}=await a.read();if(i)break;r.push(o),t+=o.length}let s=new Uint8Array(t),n=0;for(let i of r)s.set(i,n),n+=i.length;return s}async parse(e){if(this.started)throw new Error("Can not reuse parser, create a new PostalMime object");for(this.started=!0,e&&typeof e.getReader=="function"&&(e=await this.resolveStream(e)),e=e||new ArrayBuffer(0),typeof e=="string"&&(e=H.encode(e)),(e instanceof Blob||Object.prototype.toString.call(e)==="[object Blob]")&&(e=await V(e)),e.buffer instanceof ArrayBuffer&&(e=new Uint8Array(e).buffer),this.buf=e,this.av=new Uint8Array(e),this.readPos=0;this.readPos({key:a.key,value:a.value})).reverse()};for(let a of["from","sender"]){let s=this.root.headers.find(n=>n.key===a);if(s&&s.value){let n=fu(s.value);n&&n.length&&(t[a]=n[0])}}for(let a of["delivered-to","return-path"]){let s=this.root.headers.find(n=>n.key===a);if(s&&s.value){let n=fu(s.value);if(n&&n.length&&n[0].address){let i=a.replace(/\-(.)/g,(o,c)=>c.toUpperCase());t[i]=n[0].address}}}for(let a of["to","cc","bcc","reply-to"]){let s=this.root.headers.filter(i=>i.key===a),n=[];if(s.filter(i=>i&&i.value).map(i=>fu(i.value)).forEach(i=>n=n.concat(i||[])),n&&n.length){let i=a.replace(/\-(.)/g,(o,c)=>c.toUpperCase());t[i]=n}}for(let a of["subject","message-id","in-reply-to","references"]){let s=this.root.headers.find(n=>n.key===a);if(s&&s.value){let n=a.replace(/\-(.)/g,(i,o)=>o.toUpperCase());t[n]=J(s.value)}}let r=this.root.headers.find(a=>a.key==="date");if(r){let a=new Date(r.value);!a||a.toString()==="Invalid Date"?a=r.value:a=a.toISOString(),t.date=a}return this.textContent?.html&&(t.html=this.textContent.html),this.textContent?.plain&&(t.text=this.textContent.plain),t.attachments=this.attachments,t}};async function pi(u,e){let t=new Uint8Array(e),r=u.getReader(),a=0;try{for(;ae)switch(t){case"unhandled":return a.text=`The original size of the email was ${s} bytes, which exceeds the maximum size of ${e} bytes.`,a.html=a.text,a;case"truncate":s=e,n="truncate";break;default:break}try{let i=await pi(u.raw,s),c=await new _e().parse(i);c.html&&(a.html=c.html),c.text?a.text=c.text:c.html&&(a.text=Fr(c.html,{})),n==="truncate"&&(a.text+=` + +[Truncated] The original size of the email was ${u.rawSize} bytes, which exceeds the maximum size of ${e} bytes.`)}catch(i){let o=`Error parsing email: ${i.message}`;a.text=o,a.html=o}return a}async function Wr(u,e,t,r){if(!u||!e||!t)return"Sorry, the OpenAI API is not configured properly.";let a=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${u}`},body:JSON.stringify({model:t,messages:[{role:"system",content:"You are a professional email summarization assistant."},{role:"user",content:r}]})});if(!a.ok)throw new Error(`OpenAI API request failed: ${a.status}`);return(await a.json())?.choices?.[0]?.message?.content||""}async function hu(u,e){let{DEBUG:t,OPENAI_API_KEY:r,DOMAIN:a}=e,s=` +${u.subject} + +----------- +From : ${u.from} +To : ${u.to} + `,n=`https://${a}/email/${u.id}?mode=text`,i=`https://${a}/email/${u.id}?mode=html`,o=[{text:"Preview",callback_data:`p:${u.id}`},{text:"Text",url:n},{text:"HTML",url:i}];return r&&o.splice(1,0,{text:"Summary",callback_data:`s:${u.id}`}),t==="true"&&o.push({text:"Debug",callback_data:`d:${u.id}`}),{text:s,reply_markup:{inline_keyboard:[o]},link_preview_options:{is_disabled:!0}}}function st(u,e){return{text:u||"No content",reply_markup:{inline_keyboard:[[{text:"Back",callback_data:`l:${e}`},{text:"Delete",callback_data:"delete"}]]},link_preview_options:{is_disabled:!0}}}async function Gr(u,e){return st(u.text?.substring(0,4096),u.id)}async function zr(u,e){let{OPENAI_API_KEY:t,OPENAI_COMPLETIONS_API:r,OPENAI_CHAT_MODEL:a,SUMMARY_TARGET_LANG:s}=e,n=st("",u.id);r=r||"https://api.openai.com/v1/chat/completions",a=a||"gpt-4o-mini",s=s||"english";let i=`Summarize the following text in approximately 50 words with ${s} + +${u.text}`;return n.text=await Wr(t??"",r,a,i),n}async function Jr(u,e){let t=[u.from,u.to],r=await yu(t,e),a={...u,block:r};delete a.html,delete a.text;let s=JSON.stringify(a,null,2);return st(s,u.id)}async function Kr(u,e,t){await mi(u,e.to,[e.from],`Re: ${e.subject}`,t)}async function mi(u,e,t,r,a){await fetch("https://api.resend.com/emails",{method:"POST",headers:{Authorization:`Bearer ${u}`,"Content-Type":"application/json"},body:JSON.stringify({from:e,to:t,subject:r,text:a})})}function Qr(u){return async e=>{let t=`Your chat ID is ${e.chat.id}`;return await Fe("",t,u)(e)}}function Fe(u,e,t){return async r=>{let{TELEGRAM_TOKEN:a,DOMAIN:s}=t,n={chat_id:r.chat.id,text:e||fe[u]||"Address Manager",reply_markup:{inline_keyboard:[[{text:"Open Manager",web_app:{url:`https://${s}/tma?mode=${u}`}}]]}};return await U(a).sendMessage(n)}}async function bi(u,e){let{TELEGRAM_TOKEN:t,RESEND_API_KEY:r,DB:a}=e,s=new L(a),n=U(t),i=async o=>{await n.sendMessage({chat_id:u.chat.id,reply_parameters:{message_id:u.message_id},text:o})};if(!r){await i("Resend API is not enabled.");return}if(!u.text){await i("Please provide a message to resend.");return}try{let o=u.reply_to_message?.message_id;if(!o){await i("Please reply to a message to resend.");return}let c=await s.telegramIDToMailID(`${o}`);if(!c){await i("Message not found.");return}let l=await s.loadMailCache(c);if(!l){await i("Message not found or expired.");return}await Kr(r,l,u.text),await i("Reply sent successfully.")}catch(o){await i(o.message)}}async function gi(u,e){if(u?.reply_to_message){await bi(u,e);return}let[t]=u.text?.split(/ (.*)/)||[""];if(!t.startsWith("/")){console.log(`Invalid command: ${t}`);return}t=t.substring(1);let r={id:Qr(e),start:Qr(e),test:Fe("test",null,e),white:Fe("white",null,e),block:Fe("block",null,e)};if(r[t]){await r[t](u);return}await Fe("",`Unknown command: ${t}, try to reinitialize the bot.`,e)(u)}async function xi(u,e){let{TELEGRAM_TOKEN:t,DB:r}=e,a=u.data,s=u.id,n=u.message?.chat?.id,i=u.message?.message_id,o=U(t),c=new L(r);if(!a||!n||!i)return;console.log(`Received callback: ${JSON.stringify({data:a,callbackId:s,chatId:n,messageId:i})}`);let l=A=>async B=>{let j=await c.loadMailCache(B);if(!j)throw new Error("Error: Email not found or expired.");let de=await A(j,e),O={chat_id:n,message_id:i,...de};await o.editMessageText(O)},h=async A=>{await o.deleteMessage({chat_id:n,message_id:i})},m={p:l(Gr),l:l(hu),s:l(zr),d:l(Jr),delete:h},[p,x]=a.split(/:(.*)/);if(m[p]){try{await m[p](x)}catch(A){await o.answerCallbackQuery({callback_query_id:s,text:A.message,show_alert:!0})}return}console.log(`Unknown data: ${a}`)}async function Zr(u,e){let t=await u.json();if(t?.message){await gi(t?.message,e);return}t?.callback_query&&await xi(t?.callback_query,e)}var q=class extends Error{status;constructor(e,t){super(t),this.status=e}};function yi(u){let{TELEGRAM_TOKEN:e,TELEGRAM_ID:t}=u;return async r=>{let[a,s=""]=(r.headers.get("Authorization")||"").split(" ");if(a!=="tma")throw new q(401,"Invalid authorization type");try{await ht(s,e,{expiresIn:3600});let n=JSON.parse(new URLSearchParams(s).get("user")||"{}");for(let i of t.split(","))if(i===`${n.id}`)return;throw new q(403,"Permission denied")}catch(n){throw new q(401,n.message)}}}function Xr(u,e){let t={block:"BLOCK_LIST",white:"WHITE_LIST"};if(!u||!e)throw new q(400,"Missing address or type");if(t[e]===void 0)throw new q(400,"Invalid type");return t[e]}function Ai(u){let e=pt({catch:i=>i instanceof q?new Response(JSON.stringify({error:i.message}),{status:i.status}):new Response(JSON.stringify({error:i.message}),{status:500}),finally:[mt]}),t=yi(u),{TELEGRAM_TOKEN:r,DOMAIN:a,DB:s}=u,n=new L(s);return e.get("/",async()=>new Response(null,{status:302,headers:{location:"https://github.com/TBXark/mail2telegram"}})),e.get("/init",async()=>{let i=U(r),o=await i.setWebhook({url:`https://${a}/telegram/${r}/webhook`}),c=await i.setMyCommands({commands:bt});return{webhook:await o.json(),commands:await c.json()}}),e.get("/tma",async()=>new Response(gu,{headers:{"content-type":"text/html; charset=utf-8"}})),e.post("/api/address/add",t,async i=>{let{address:o,type:c}=await i.json(),l=Xr(o,c);return await n.addAddress(o,l),{success:!0}}),e.post("/api/address/remove",t,async i=>{let{address:o,type:c}=await i.json(),l=Xr(o,c);return await n.removeAddress(o,l),{success:!0}}),e.get("/api/address/list",t,async()=>{let i=await n.loadArrayFromDB("BLOCK_LIST"),o=await n.loadArrayFromDB("WHITE_LIST");return{block:i,white:o}}),e.post("/telegram/:token/webhook",async i=>{if(i.params.token!==r)throw new q(403,"Invalid token");try{await Zr(i,u)}catch(o){console.error(o)}return{success:!0}}),e.get("/email/:id",async i=>{let o=i.params.id,c=i.query.mode||"text",l=await n.loadMailCache(o),h=l?.text||"",m="text/plain; charset=utf-8";return c==="html"&&(h=l?.html||"",m="text/html; charset=utf-8"),new Response(h,{headers:{"content-type":m}})}),e.all("*",async()=>{throw new q(404,"Not found")}),e}async function Yr(u,e){return Ai(e).fetch(u).catch(r=>new Response(JSON.stringify({error:r.message}),{status:500}))}async function wi(u,e){let{TELEGRAM_TOKEN:t,TELEGRAM_ID:r}=e,a=await hu(u,e),s=U(t),n=[];for(let i of r.split(",")){let o=await s.sendMessageWithReturns({chat_id:i,...a});n.push(o.result.message_id)}return n}async function ea(u,e){let{FORWARD_LIST:t,BLOCK_POLICY:r,GUARDIAN_MODE:a,DB:s,MAIL_TTL:n,MAX_EMAIL_SIZE:i,MAX_EMAIL_SIZE_POLICY:o}=e,c=new L(s),l=u.headers.get("Message-ID")||"",h=await gt(u,e),m=a==="true",p=(r||"telegram").split(","),x=60*60,A=await c.loadMailStatus(l,m);if(h&&p.includes("reject")){u.setReject("Blocked");return}try{let j=h&&p.includes("forward")?[]:(t||"").split(",");for(let de of j)try{let O=de.trim();if(A.forward.includes(O))continue;await u.forward(O),m&&(A.forward.push(O),await c.saveMailStatus(l,A,x))}catch(O){console.error(O)}}catch(B){console.error(B)}try{let B=h&&p.includes("telegram");if(!A.telegram&&!B){let j=Number.parseInt(n,10)||86400,de=Number.parseInt(i||"",10)||512*1024,Pe=await jr(u,de,o||"truncate");await c.saveMailCache(Pe.id,Pe,j);let ua=await wi(Pe,e);for(let ta of ua)await c.saveTelegramIDToMailID(`${ta}`,Pe.id,j)}m&&(A.telegram=!0,await c.saveMailStatus(l,A,x))}catch(B){console.error(B)}}typeof Buffer>"u"&&(globalThis.Buffer=class pu extends ArrayBuffer{constructor(e){e instanceof ArrayBuffer?(super(e.byteLength),new Uint8Array(this).set(new Uint8Array(e))):super(e)}static from(e,t){if(typeof e=="string"){let r=new TextEncoder;return new pu(r.encode(e).buffer)}if(e instanceof ArrayBuffer)return new pu(e);if(e instanceof Uint8Array)return new pu(e.buffer);throw new Error(`Unsupported data type: ${typeof e}, encoding: ${t}`)}toString(e){switch(e){case"hex":return Array.from(new Uint8Array(this)).map(t=>t.toString(16).padStart(2,"0")).join("");case"base64":return btoa(String.fromCharCode.apply(null,new Uint8Array(this)));default:return new TextDecoder(e).decode(new Uint8Array(this))}}});var Nc={fetch:Yr,email:ea};export{Nc as default}; diff --git a/src/db/index.ts b/src/db/index.ts index efb2dc7..d642dd2 100644 --- a/src/db/index.ts +++ b/src/db/index.ts @@ -58,6 +58,10 @@ export class Dao { return defaultStatus; } + async saveMailStatus(id: string, status: EmailHandleStatus, ttl?: number): Promise { + await this.db.put(id, JSON.stringify(status), { expirationTtl: ttl }); + } + async loadMailCache(id: string): Promise { try { const raw = await this.db.get(id); @@ -69,6 +73,18 @@ export class Dao { } return null; } + + async saveMailCache(id: string, cache: EmailCache, ttl?: number): Promise { + await this.db.put(id, JSON.stringify(cache), { expirationTtl: ttl }); + } + + async telegramIDToMailID(id: string): Promise { + return await this.db.get(`TelegramID2MailID:${id}`); + } + + async saveTelegramIDToMailID(id: string, mailID: string, ttl?: number): Promise { + await this.db.put(`TelegramID2MailID:${id}`, mailID, { expirationTtl: ttl }); + } } export function loadArrayFromRaw(raw: string | null): string[] { diff --git a/src/handler/fetch/index.ts b/src/handler/fetch/index.ts index 735c44b..e6a710e 100644 --- a/src/handler/fetch/index.ts +++ b/src/handler/fetch/index.ts @@ -4,7 +4,7 @@ import type { Environment } from '../../types'; import { validate } from '@telegram-apps/init-data-node/web'; import { json, Router } from 'itty-router'; import { Dao } from '../../db'; -import { createTelegramBotAPI, TelegramCommands, telegramWebhookHandler, tmaHTML } from '../../telegram'; +import { createTelegramBotAPI, telegramCommands, telegramWebhookHandler, tmaHTML } from '../../telegram'; class HTTPError extends Error { readonly status: number; @@ -95,7 +95,7 @@ function createRouter(env: Environment): RouterType { url: `https://${DOMAIN}/telegram/${TELEGRAM_TOKEN}/webhook`, }); const commands = await api.setMyCommands({ - commands: TelegramCommands, + commands: telegramCommands, }); return { webhook: await webhook.json(), diff --git a/src/handler/mail/index.ts b/src/handler/mail/index.ts index 5100a3d..31f9865 100644 --- a/src/handler/mail/index.ts +++ b/src/handler/mail/index.ts @@ -4,19 +4,22 @@ import { Dao } from '../../db'; import { isMessageBlock, parseEmail, renderEmailListMode } from '../../mail'; import { createTelegramBotAPI } from '../../telegram'; -export async function sendMailToTelegram(mail: EmailCache, env: Environment): Promise { +export async function sendMailToTelegram(mail: EmailCache, env: Environment): Promise { const { TELEGRAM_TOKEN, TELEGRAM_ID, } = env; const req = await renderEmailListMode(mail, env); const api = createTelegramBotAPI(TELEGRAM_TOKEN); + const messageID: number[] = []; for (const id of TELEGRAM_ID.split(',')) { - await api.sendMessage({ + const msg = await api.sendMessageWithReturns({ chat_id: id, ...req, }); + messageID.push(msg.result.message_id); } + return messageID; } export async function emailHandler(message: ForwardableEmailMessage, env: Environment): Promise { @@ -35,7 +38,7 @@ export async function emailHandler(message: ForwardableEmailMessage, env: Enviro const isBlock = await isMessageBlock(message, env); const isGuardian = GUARDIAN_MODE === 'true'; const blockPolicy = (BLOCK_POLICY || 'telegram').split(','); - const statusTTL = { expirationTtl: 60 * 60 }; + const statusTTL = 60 * 60; const status = await dao.loadMailStatus(id, isGuardian); // Reject the email @@ -57,7 +60,7 @@ export async function emailHandler(message: ForwardableEmailMessage, env: Enviro await message.forward(add); if (isGuardian) { status.forward.push(add); - await DB.put(id, JSON.stringify(status), statusTTL); + await dao.saveMailStatus(id, status, statusTTL); } } catch (e) { console.error(e); @@ -75,12 +78,15 @@ export async function emailHandler(message: ForwardableEmailMessage, env: Enviro const maxSize = Number.parseInt(MAX_EMAIL_SIZE || '', 10) || 512 * 1024; const maxSizePolicy = MAX_EMAIL_SIZE_POLICY || 'truncate'; const mail = await parseEmail(message, maxSize, maxSizePolicy); - await DB.put(mail.id, JSON.stringify(mail), { expirationTtl: ttl }); - await sendMailToTelegram(mail, env); + await dao.saveMailCache(mail.id, mail, ttl); + const msgIDs = await sendMailToTelegram(mail, env); + for (const msgID of msgIDs) { + await dao.saveTelegramIDToMailID(`${msgID}`, mail.id, ttl); + } } if (isGuardian) { status.telegram = true; - await DB.put(id, JSON.stringify(status), statusTTL); + await dao.saveMailStatus(id, status, statusTTL); } } catch (e) { console.error(e); diff --git a/src/mail/index.ts b/src/mail/index.ts index db8ccfd..ce7970e 100644 --- a/src/mail/index.ts +++ b/src/mail/index.ts @@ -1,3 +1,4 @@ export * from './check'; export * from './parse'; export * from './render'; +export * from './resend'; diff --git a/src/mail/resend.ts b/src/mail/resend.ts new file mode 100644 index 0000000..ffea0db --- /dev/null +++ b/src/mail/resend.ts @@ -0,0 +1,21 @@ +import type { EmailCache } from '../types'; + +export async function replyToEmail(token: string, email: EmailCache, message: string): Promise { + await sendEmail(token, email.to, [email.from], `Re: ${email.subject}`, message); +} + +export async function sendEmail(token: string, from: string, to: string[], subject: string, text: string): Promise { + await fetch('https://api.resend.com/emails', { + method: 'POST', + headers: { + 'Authorization': `Bearer ${token}`, + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + from, + to, + subject, + text, + }), + }); +} diff --git a/src/telegram/const.ts b/src/telegram/const.ts index 7d83401..d784162 100644 --- a/src/telegram/const.ts +++ b/src/telegram/const.ts @@ -1,24 +1,24 @@ -export const TmaModeDescription: { [key: string]: string } = { +export const tmaModeDescription: { [key: string]: string } = { test: 'Test an email address', white: 'Manage the white list', block: 'Manage the block list', }; -export const TelegramCommands = [ +export const telegramCommands = [ { command: 'id', description: '/id - Get your chat ID', }, { command: 'test', - description: `/test - ${TmaModeDescription.test}`, + description: `/test - ${tmaModeDescription.test}`, }, { command: 'white', - description: `/white - ${TmaModeDescription.white}`, + description: `/white - ${tmaModeDescription.white}`, }, { command: 'block', - description: `/block - ${TmaModeDescription.block}`, + description: `/block - ${tmaModeDescription.block}`, }, ]; diff --git a/src/telegram/index.ts b/src/telegram/index.ts index 49489b5..8d2920f 100644 --- a/src/telegram/index.ts +++ b/src/telegram/index.ts @@ -1,4 +1,4 @@ -import tmaHTML from '/tma.html'; +import tmaHTML from './tma.html'; export * from './api'; export * from './const'; diff --git a/src/telegram/telegram.ts b/src/telegram/telegram.ts index b5c2dd2..2356146 100644 --- a/src/telegram/telegram.ts +++ b/src/telegram/telegram.ts @@ -2,9 +2,9 @@ import type * as Telegram from 'telegram-bot-api-types'; import type { EmailRender } from '../mail'; import type { Environment } from '../types'; import { Dao } from '../db'; -import { renderEmailDebugMode, renderEmailListMode, renderEmailPreviewMode, renderEmailSummaryMode } from '../mail'; +import { renderEmailDebugMode, renderEmailListMode, renderEmailPreviewMode, renderEmailSummaryMode, replyToEmail } from '../mail'; import { createTelegramBotAPI } from './api'; -import { TmaModeDescription } from './const'; +import { tmaModeDescription } from './const'; type TelegramMessageHandler = (message: Telegram.Message) => Promise; type CommandHandlerGroup = Record; @@ -12,11 +12,11 @@ type CommandHandlerGroup = Record; function handleIDCommand(env: Environment): TelegramMessageHandler { return async (msg: Telegram.Message): Promise => { const text = `Your chat ID is ${msg.chat.id}`; - return await handleOpenTMACommand(env, '', text)(msg); + return await handleOpenTMACommand('', text, env)(msg); }; } -function handleOpenTMACommand(env: Environment, mode: string, text: string | null): TelegramMessageHandler { +function handleOpenTMACommand(mode: string, text: string | null, env: Environment): TelegramMessageHandler { return async (msg: Telegram.Message): Promise => { const { TELEGRAM_TOKEN, @@ -24,7 +24,7 @@ function handleOpenTMACommand(env: Environment, mode: string, text: string | nul } = env; const params: Telegram.SendMessageParams = { chat_id: msg.chat.id, - text: text || TmaModeDescription[mode] || 'Address Manager', + text: text || tmaModeDescription[mode] || 'Address Manager', reply_markup: { inline_keyboard: [ [ @@ -42,7 +42,59 @@ function handleOpenTMACommand(env: Environment, mode: string, text: string | nul }; } +async function handleReplyEmailCommand(message: Telegram.Message, env: Environment): Promise { + const { + TELEGRAM_TOKEN, + RESEND_API_KEY, + DB, + } = env; + const dao = new Dao(DB); + const api = createTelegramBotAPI(TELEGRAM_TOKEN); + const reply = async (text: string) => { + await api.sendMessage({ + chat_id: message.chat.id, + reply_parameters: { + message_id: message.message_id, + }, + text, + }); + }; + if (!RESEND_API_KEY) { + await reply('Resend API is not enabled.'); + return; + } + if (!message.text) { + await reply('Please provide a message to resend.'); + return; + } + try { + const messageID = message.reply_to_message?.message_id; + if (!messageID) { + await reply('Please reply to a message to resend.'); + return; + } + const mailID = await dao.telegramIDToMailID(`${messageID}`); + if (!mailID) { + await reply('Message not found.'); + return; + } + const mail = await dao.loadMailCache(mailID); + if (!mail) { + await reply('Message not found or expired.'); + return; + } + await replyToEmail(RESEND_API_KEY, mail, message.text); + await reply('Reply sent successfully.'); + } catch (e) { + await reply((e as Error).message); + } +} + async function telegramCommandHandler(message: Telegram.Message, env: Environment): Promise { + if (message?.reply_to_message) { + await handleReplyEmailCommand(message, env); + return; + } let [command] = message.text?.split(/ (.*)/) || ['']; if (!command.startsWith('/')) { console.log(`Invalid command: ${command}`); @@ -52,9 +104,9 @@ async function telegramCommandHandler(message: Telegram.Message, env: Environmen const handlers: CommandHandlerGroup = { id: handleIDCommand(env), start: handleIDCommand(env), - test: handleOpenTMACommand(env, 'test', null), - white: handleOpenTMACommand(env, 'white', null), - block: handleOpenTMACommand(env, 'block', null), + test: handleOpenTMACommand('test', null, env), + white: handleOpenTMACommand('white', null, env), + block: handleOpenTMACommand('block', null, env), }; if (handlers[command]) { @@ -62,7 +114,7 @@ async function telegramCommandHandler(message: Telegram.Message, env: Environmen return; } // 兼容旧版命令返回默认信息 - await handleOpenTMACommand(env, '', `Unknown command: ${command}, try to reinitialize the bot.`)(message); + await handleOpenTMACommand('', `Unknown command: ${command}, try to reinitialize the bot.`, env)(message); } async function telegramCallbackHandler(callback: Telegram.CallbackQuery, env: Environment): Promise { @@ -79,23 +131,24 @@ async function telegramCallbackHandler(callback: Telegram.CallbackQuery, env: En const dao = new Dao(DB); if (!data || !chatId || !messageId) { - console.log(`Invalid callback data: ${JSON.stringify({ data, callbackId, chatId, messageId })}`); return; } console.log(`Received callback: ${JSON.stringify({ data, callbackId, chatId, messageId })}`); - const renderHandlerBuilder = (render: EmailRender) => async (arg: string): Promise => { - const value = await dao.loadMailCache(arg); - if (!value) { - throw new Error('Error: Email not found or expired.'); - } - const req = await render(value, env); - const params: Telegram.EditMessageTextParams = { - chat_id: chatId, - message_id: messageId, - ...req, + const renderHandlerBuilder = (render: EmailRender): (arg: string) => Promise => { + return async (arg: string): Promise => { + const value = await dao.loadMailCache(arg); + if (!value) { + throw new Error('Error: Email not found or expired.'); + } + const req = await render(value, env); + const params: Telegram.EditMessageTextParams = { + chat_id: chatId, + message_id: messageId, + ...req, + }; + await api.editMessageText(params); }; - await api.editMessageText(params); }; // eslint-disable-next-line unused-imports/no-unused-vars @@ -134,6 +187,7 @@ export async function telegramWebhookHandler(req: Request, env: Environment): Pr const body = await req.json() as Telegram.Update; if (body?.message) { await telegramCommandHandler(body?.message, env); + return; } if (body?.callback_query) { await telegramCallbackHandler(body?.callback_query, env); diff --git a/src/types/index.ts b/src/types/index.ts index ae8fbeb..c10c5ad 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -34,6 +34,7 @@ export interface Environment { OPENAI_CHAT_MODEL?: string; SUMMARY_TARGET_LANG?: string; GUARDIAN_MODE?: string; + RESEND_API_KEY?: string; DB: KVNamespace; DEBUG?: string; }