@element-hq/element-call-embedded 0.19.2-rc.1 → 0.19.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/_sentry-release-injection-file-C4oXeC0H.js +2 -0
- package/dist/assets/{_sentry-release-injection-file-BUU9a5PD.js.map → _sentry-release-injection-file-C4oXeC0H.js.map} +1 -1
- package/dist/assets/{index-Djc6082U.js → index-DzoaVylG.js} +5 -5
- package/dist/assets/{index-Djc6082U.js.map → index-DzoaVylG.js.map} +1 -1
- package/dist/assets/{indexeddb-crypto-store-Bpb_zi4O.js → indexeddb-crypto-store-DDjyMFqS.js} +4 -4
- package/dist/assets/{indexeddb-crypto-store-Bpb_zi4O.js.map → indexeddb-crypto-store-DDjyMFqS.js.map} +1 -1
- package/dist/assets/{matrix-DdWlnjSh.js → matrix-BMlTzVh5.js} +5 -5
- package/dist/assets/{matrix-DdWlnjSh.js.map → matrix-BMlTzVh5.js.map} +1 -1
- package/dist/assets/{pako.esm-xdBZSMA1.js → pako.esm-UZ0EWzai.js} +2 -2
- package/dist/assets/{pako.esm-xdBZSMA1.js.map → pako.esm-UZ0EWzai.js.map} +1 -1
- package/dist/assets/{polyfill-force-BjJnj5Za.js → polyfill-force-CL46JUpA.js} +2 -2
- package/dist/assets/{polyfill-force-BjJnj5Za.js.map → polyfill-force-CL46JUpA.js.map} +1 -1
- package/dist/assets/{polyfill-force-CL7owmpV.js → polyfill-force-Dey3kAQw.js} +2 -2
- package/dist/assets/{polyfill-force-CL7owmpV.js.map → polyfill-force-Dey3kAQw.js.map} +1 -1
- package/dist/assets/{rust-crypto-C0aPoIC0.js → rust-crypto-BB1QAvrJ.js} +2 -2
- package/dist/assets/{rust-crypto-C0aPoIC0.js.map → rust-crypto-BB1QAvrJ.js.map} +1 -1
- package/dist/assets/{spa-D-aVmjgn.js → spa-BW6X0pJ7.js} +2 -2
- package/dist/assets/{spa-D-aVmjgn.js.map → spa-BW6X0pJ7.js.map} +1 -1
- package/dist/assets/{tslib.es6-DQ6HU-p4.js → tslib.es6-Cgt7ctuY.js} +2 -2
- package/dist/assets/{tslib.es6-DQ6HU-p4.js.map → tslib.es6-Cgt7ctuY.js.map} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/assets/_sentry-release-injection-file-BUU9a5PD.js +0 -2
package/dist/assets/{indexeddb-crypto-store-Bpb_zi4O.js → indexeddb-crypto-store-DDjyMFqS.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./rust-crypto-
|
|
2
|
-
try{let e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`8224a7ff-4914-4c6a-bcd9-a42ca9c74ffe`,e._sentryDebugIdIdentifier=`sentry-dbid-8224a7ff-4914-4c6a-bcd9-a42ca9c74ffe`)}catch{}import{a as e,i as t,n,r,t as i}from"./_sentry-release-injection-file-BUU9a5PD.js";function a(e,t,n,r,i,a,o){try{var s=e[a](o),c=s.value}catch(e){n(e);return}s.done?t(c):Promise.resolve(c).then(r,i)}function o(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function s(e){a(o,r,i,s,c,`next`,e)}function c(e){a(o,r,i,s,c,`throw`,e)}s(void 0)})}}function s(e){"@babel/helpers - typeof";return s=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},s(e)}function c(e,t){if(s(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(s(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function l(e){var t=c(e,`string`);return s(t)==`symbol`?t:t+``}function u(e,t,n){return(t=l(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var d=r({I:()=>`l`,default:()=>RT,m:()=>`rn`,µ:()=>`μ`,Æ:()=>`AE`,Ç:()=>`C̦`,Ð:()=>`D̵`,Ø:()=>`O̸`,æ:()=>`ae`,ç:()=>`c̦`,ð:()=>Dt,ö:()=>`ة`,ø:()=>`o̸`,Đ:()=>`D̵`,đ:()=>`d̵`,Ě:()=>`Ĕ`,ě:()=>`ĕ`,Ħ:()=>`H̵`,ħ:()=>`h̵`,ı:()=>`i`,IJ:()=>`lJ`,ij:()=>`ij`,Ŀ:()=>`l·`,ŀ:()=>`l·`,Ł:()=>`L̸`,ł:()=>`l̸`,ņ:()=>`ɲ`,ʼn:()=>`'n`,Ő:()=>`Ö`,Œ:()=>`OE`,œ:()=>`oe`,ţ:()=>`ƫ`,Ŧ:()=>`T̵`,ŧ:()=>`t̵`,ſ:()=>`f`,ƀ:()=>`b̵`,Ɓ:()=>`'B`,Ƃ:()=>`b̄`,ƃ:()=>`b̄`,Ƅ:()=>`b`,Ƈ:()=>`C'`,Ɖ:()=>`D̵`,Ɗ:()=>`'D`,ƌ:()=>`d̄`,ƍ:()=>`g`,Ƒ:()=>`F̦`,ƒ:()=>`f̦`,Ɠ:()=>`G'`,Ɩ:()=>`l`,Ɨ:()=>`l̵`,Ƙ:()=>`K'`,ƙ:()=>`k̔`,ƚ:()=>`l̵`,Ɲ:()=>`N̦`,ƞ:()=>`n̩`,Ɵ:()=>`O̵`,Ơ:()=>`O'`,ơ:()=>`o'`,Ƥ:()=>`'P`,ƥ:()=>`p̔`,Ʀ:()=>`R`,Ƨ:()=>`2`,Ƭ:()=>`'T`,ƭ:()=>`t̔`,Ʈ:()=>`T̨`,Ƴ:()=>`'Y`,ƴ:()=>`y̔`,Ƶ:()=>`Z̵`,ƶ:()=>`z̵`,Ʒ:()=>`3`,ƻ:()=>`2̵`,Ƽ:()=>`5`,ƽ:()=>`s`,ƿ:()=>`þ`,ǀ:()=>`l`,ǁ:()=>`ll`,ǃ:()=>`!`,DŽ:()=>`DŽ`,Dž:()=>`Dž`,dž:()=>`dž`,LJ:()=>`LJ`,Lj:()=>`Lj`,lj:()=>`lj`,NJ:()=>`NJ`,Nj:()=>`Nj`,nj:()=>`nj`,Ǎ:()=>`Ă`,ǎ:()=>`ă`,Ǐ:()=>`Ĭ`,ǐ:()=>`ĭ`,Ǒ:()=>`Ŏ`,ǒ:()=>`ŏ`,Ǔ:()=>`Ŭ`,ǔ:()=>`ŭ`,Ǥ:()=>`G̵`,ǥ:()=>`g̵`,Ǧ:()=>`Ğ`,ǧ:()=>`ğ`,DZ:()=>`DZ`,Dz:()=>`Dz`,dz:()=>`dz`,ǵ:()=>`ģ`,Ǿ:()=>qt,Ț:()=>`Ţ`,ț:()=>`ƫ`,Ȝ:()=>`3`,Ȣ:()=>`8`,ȣ:()=>`8`,Ȥ:()=>`Z̦`,ȥ:()=>`z̦`,Ȧ:()=>`Å`,ȧ:()=>`å`,ȼ:()=>`c̸`,Ⱦ:()=>`T̸`,Ɂ:()=>`?`,Ʉ:()=>`U̵`,Ɇ:()=>`E̸`,ɇ:()=>`e̸`,Ɉ:()=>`J̵`,ɉ:()=>`j̵`,ɍ:()=>`r̵`,Ɏ:()=>`Y̵`,ɏ:()=>`y̵`,ɑ:()=>`a`,ɓ:()=>`b̔`,ɖ:()=>`d̨`,ɗ:()=>`d̔`,ə:()=>`ǝ`,ɚ:()=>Rt,ɛ:()=>`ꞓ`,ɠ:()=>`g̔`,ɡ:()=>`g`,ɣ:()=>`y`,ɦ:()=>`h̔`,ɨ:()=>`i̵`,ɩ:()=>`i`,ɪ:()=>`i`,ɫ:()=>`l̴`,ɭ:()=>`l̨`,ɮ:()=>`lȝ`,ɯ:()=>`w`,ɱ:()=>nn,ɳ:()=>`n̨`,ɵ:()=>`o̵`,ɶ:()=>Jt,ɼ:()=>`r̩`,ɽ:()=>`r̨`,ʂ:()=>`s̨`,ʋ:()=>`u`,ʏ:()=>`y`,ʐ:()=>`z̨`,ʒ:()=>`ȝ`,ʔ:()=>`?`,ʠ:()=>`q̔`,ʣ:()=>`dz`,ʤ:()=>`dȝ`,ʥ:()=>`dʑ`,ʦ:()=>`ts`,ʧ:()=>`tʃ`,ʨ:()=>`tɕ`,ʩ:()=>`fŋ`,ʪ:()=>`ls`,ʫ:()=>`lz`,ʳ:()=>`ᣴ`,ʹ:()=>`'`,ʺ:()=>`''`,ʻ:()=>`'`,ʼ:()=>`'`,ʽ:()=>`'`,ʾ:()=>`'`,ʿ:()=>`ՙ`,ˆ:()=>`^`,ˈ:()=>`'`,ˊ:()=>`'`,ˋ:()=>`'`,ː:()=>`:`,ˡ:()=>`ᣳ`,ˢ:()=>`ᣵ`,ˤ:()=>`ˁ`,ˮ:()=>`''`,Ͱ:()=>`Ⱶ`,ʹ:()=>`'`,Ͷ:()=>`И`,ͷ:()=>`ᴎ`,ͺ:()=>`i`,ͻ:()=>`ɔ`,ͽ:()=>`ꜿ`,Ϳ:()=>`J`,Α:()=>`A`,Β:()=>`B`,Ε:()=>`E`,Ζ:()=>`Z`,Η:()=>`H`,Θ:()=>`O̵`,Ι:()=>`l`,Κ:()=>`K`,Λ:()=>`Ʌ`,Μ:()=>`M`,Ν:()=>`N`,Ο:()=>`O`,Ρ:()=>`P`,Σ:()=>`Ʃ`,Τ:()=>`T`,Υ:()=>`Y`,Χ:()=>`X`,α:()=>`a`,β:()=>`ß`,γ:()=>`y`,δ:()=>`ẟ`,ε:()=>`ꞓ`,η:()=>`n̩`,θ:()=>`O̵`,ι:()=>`i`,κ:()=>`ĸ`,ν:()=>`v`,ο:()=>`o`,ρ:()=>`p`,σ:()=>`o`,τ:()=>`ᴛ`,υ:()=>`u`,φ:()=>`ɸ`,ϐ:()=>`ß`,ϑ:()=>`O̵`,ϒ:()=>`Y`,ϕ:()=>`ɸ`,ϖ:()=>`π`,ϛ:()=>`ς`,Ϝ:()=>`F`,Ϩ:()=>`2`,ϩ:()=>`ƨ`,ϰ:()=>`ĸ`,ϱ:()=>`p`,ϲ:()=>`c`,ϳ:()=>`j`,ϴ:()=>`O̵`,ϵ:()=>`ꞓ`,Ϸ:()=>`Þ`,ϸ:()=>`þ`,Ϲ:()=>`C`,Ϻ:()=>`M`,Ͻ:()=>`Ɔ`,Ͽ:()=>`Ꜿ`,Є:()=>`Ꞓ`,Ѕ:()=>`S`,І:()=>`l`,Ј:()=>`J`,А:()=>`A`,Б:()=>`b̄`,В:()=>`B`,Г:()=>`Γ`,Е:()=>`E`,З:()=>`3`,Й:()=>`Ѝ`,К:()=>`K`,Л:()=>`Ʌ`,М:()=>`M`,Н:()=>`H`,О:()=>`O`,П:()=>`Π`,Р:()=>`P`,С:()=>`C`,Т:()=>`T`,У:()=>`Y`,Ф:()=>`Φ`,Х:()=>`X`,Ы:()=>`bl`,Ь:()=>`b`,Ю:()=>`lO`,а:()=>`a`,б:()=>`6`,в:()=>`ʙ`,г:()=>`r`,е:()=>`e`,з:()=>`ɜ`,и:()=>`ᴎ`,к:()=>`ĸ`,м:()=>`ʍ`,н:()=>`ʜ`,о:()=>`o`,п:()=>`π`,р:()=>`p`,с:()=>`c`,т:()=>`ᴛ`,у:()=>`y`,ф:()=>`ɸ`,х:()=>`x`,ъ:()=>`ˉb`,ы:()=>`ƅi`,ь:()=>`ƅ`,я:()=>`ᴙ`,є:()=>`ꞓ`,ѕ:()=>`s`,і:()=>`i`,ј:()=>`j`,ћ:()=>`h̵`,ѝ:()=>`й`,ѡ:()=>`w`,Ѣ:()=>`b̵`,ѣ:()=>`b̵`,Ѱ:()=>`Ψ`,ѱ:()=>`ψ`,Ѳ:()=>`O̵`,ѳ:()=>`o̵`,Ѵ:()=>`V`,ѵ:()=>`v`,Ѽ:()=>Cn,ѽ:()=>fn,Ҋ:()=>bn,ҋ:()=>xn,Ҍ:()=>`b̵`,ҍ:()=>`b̵`,Ґ:()=>`Γ'`,ґ:()=>`r'`,Ғ:()=>mn,ғ:()=>`r̵`,Җ:()=>yn,җ:()=>vn,Ҙ:()=>`3̦`,ҙ:()=>Vt,Қ:()=>`K̩`,қ:()=>en,Ҟ:()=>`K̵`,ҟ:()=>tn,Ң:()=>`H̩`,ң:()=>Ht,Ҫ:()=>`C̦`,ҫ:()=>`c̦`,Ҭ:()=>`T̩`,ҭ:()=>on,Ү:()=>`Y`,ү:()=>`y`,Ұ:()=>`Y̵`,ұ:()=>`y̵`,Ҳ:()=>`X̩`,һ:()=>`h`,ҽ:()=>`e`,Ҿ:()=>Tn,ҿ:()=>`ę`,Ӏ:()=>`l`,Ӆ:()=>un,ӆ:()=>Sn,Ӈ:()=>`H̦`,ӈ:()=>Wt,Ӊ:()=>`H̦`,ӊ:()=>Ut,Ӌ:()=>`Ҷ`,ӌ:()=>`ҷ`,Ӎ:()=>`M̦`,ӎ:()=>pn,ӏ:()=>`i`,Ӕ:()=>`AE`,ӕ:()=>`ae`,Ә:()=>`Ə`,ә:()=>`ǝ`,Ӡ:()=>`3`,ӡ:()=>`ȝ`,Ө:()=>`O̵`,ө:()=>`o̵`,ԁ:()=>`d`,Ԋ:()=>`Ƕ`,Ԍ:()=>`G`,ԍ:()=>`ɢ`,Ԑ:()=>`Ɛ`,ԑ:()=>`ꞓ`,ԛ:()=>`q`,Ԝ:()=>`W`,ԝ:()=>`w`,Ի:()=>`ኮ`,Մ:()=>`ሆ`,Պ:()=>`ጣ`,Ռ:()=>`ቡ`,Ս:()=>`U`,Տ:()=>`S`,Փ:()=>`Φ`,Օ:()=>`O`,ա:()=>`w`,գ:()=>`q`,զ:()=>`q`,ծ:()=>`ẟ`,հ:()=>`h`,յ:()=>`ȷ`,ո:()=>`n`,պ:()=>`ɰ`,ռ:()=>`n`,ս:()=>`u`,ց:()=>`g`,ք:()=>`f`,օ:()=>`o`,և:()=>En,ו:()=>`l`,ט:()=>`v`,י:()=>`'`,ן:()=>`l`,ס:()=>`o`,װ:()=>`ll`,ױ:()=>`l'`,ײ:()=>`''`,أ:()=>`lٴ`,ؤ:()=>Vu,إ:()=>`lٕ`,ئ:()=>jd,ا:()=>`l`,ث:()=>ld,ش:()=>Ui,ؽ:()=>Ed,ؿ:()=>xd,ه:()=>`o`,ي:()=>`ى`,ٮ:()=>`ى`,ٯ:()=>`ڡ`,ٲ:()=>`lٴ`,ٳ:()=>`lٕ`,ٵ:()=>`lٴ`,ٶ:()=>Wu,ٷ:()=>Gu,ٸ:()=>Id,ٹ:()=>Ju,پ:()=>id,ځ:()=>Zr,څ:()=>Xr,ڈ:()=>yi,ڋ:()=>Oi,ڎ:()=>Si,ڑ:()=>ki,ڒ:()=>Fi,ژ:()=>Mi,ڞ:()=>so,ڟ:()=>Jo,ڤ:()=>Qs,ڧ:()=>`ف`,ڨ:()=>rc,ک:()=>`ك`,ڪ:()=>`ك`,ڭ:()=>vc,ڴ:()=>Gc,ڵ:()=>qc,ڷ:()=>Kc,ں:()=>`ى`,ڻ:()=>$u,ڽ:()=>yd,ھ:()=>`o`,ہ:()=>`o`,ۂ:()=>`ۀ`,ۃ:()=>`ة`,ۆ:()=>Mu,ۇ:()=>ku,ۈ:()=>Ru,ۉ:()=>Fu,ۋ:()=>Eu,ی:()=>`ى`,ێ:()=>wd,ې:()=>`ٻ`,ۑ:()=>bd,ے:()=>`ى`,ە:()=>`o`,ۮ:()=>Ti,ۯ:()=>Li,ۿ:()=>`ô`,ݑ:()=>Pn,ݖ:()=>Cd,ݢ:()=>`ڬ`,ݣ:()=>Cc,ݧ:()=>`ݔ`,ݨ:()=>Ql,ݩ:()=>$l,ݬ:()=>Ri,ݱ:()=>Hi,ݲ:()=>Qr,ݾ:()=>ea,ߊ:()=>`l`,ߴ:()=>`'`,ߵ:()=>`'`,ߺ:()=>`_`,ࢡ:()=>In,ࢤ:()=>ic,ࢧ:()=>Ol,ࢨ:()=>Dd,ࢩ:()=>`ݔ`,ࢮ:()=>Ei,ࢯ:()=>co,ࢰ:()=>`گ`,ࢱ:()=>`و`,ࢲ:()=>Vi,ࢶ:()=>Fn,ࢷ:()=>Sd,ࢹ:()=>Ii,ࢺ:()=>Td,ࢻ:()=>`ڡ`,ࢼ:()=>`ڡ`,ࢽ:()=>`ى`,ऄ:()=>ip,आ:()=>ep,ई:()=>lp,ऍ:()=>op,ऎ:()=>sp,ऐ:()=>cp,ऑ:()=>ap,ऒ:()=>tp,ओ:()=>np,औ:()=>rp,ॽ:()=>`?`,আ:()=>up,ৠ:()=>dp,ৡ:()=>fp,ਆ:()=>hp,ਇ:()=>vp,ਈ:()=>yp,ਉ:()=>pp,ਊ:()=>mp,ਏ:()=>bp,ਐ:()=>gp,ਔ:()=>_p,આ:()=>xp,ઍ:()=>Tp,એ:()=>Ep,ઐ:()=>Dp,ઑ:()=>Sp,ઓ:()=>Cp,ઔ:()=>wp,ઽ:()=>`ऽ`,ଆ:()=>Op,ଠ:()=>`O`,ஊ:()=>kp,ஜ:()=>`ஐ`,ர:()=>`ஈ`,ఓ:()=>Ip,ఔ:()=>Pp,ఠ:()=>Vp,ఢ:()=>Rp,థ:()=>zp,భ:()=>Bp,మ:()=>Wp,ష:()=>Hp,హ:()=>Up,ౠ:()=>Mp,ౡ:()=>Np,ಅ:()=>`అ`,ಆ:()=>`ఆ`,ಇ:()=>`ఇ`,ಒ:()=>`ఒ`,ಓ:()=>Lp,ಔ:()=>Fp,ಜ:()=>`జ`,ಞ:()=>`ఞ`,ಣ:()=>`ణ`,ಯ:()=>`య`,ಱ:()=>`ఱ`,ಲ:()=>`ల`,ೡ:()=>Gp,ഈ:()=>Kp,ഉ:()=>`உ`,ഊ:()=>Ap,ഌ:()=>Xp,ഐ:()=>qp,ഓ:()=>Jp,ഔ:()=>Yp,ങ:()=>Zp,ജ:()=>`ஐ`,ഠ:()=>`o`,ണ:()=>`ண`,റ:()=>`ര`,ഴ:()=>`ழ`,ശ:()=>`ஶ`,ഺ:()=>jp,ൎ:()=>`ॱ`,ൟ:()=>Zt,ൡ:()=>`ഞ`,ൻ:()=>Qp,ർ:()=>$p,ฃ:()=>`ข`,ซ:()=>`ช`,ฏ:()=>`ฎ`,ด:()=>`ค`,ต:()=>`ค`,ท:()=>`ฑ`,ม:()=>`ฆ`,ฦ:()=>`ภ`,ำ:()=>um,แ:()=>dm,ๅ:()=>`า`,ຈ:()=>`จ`,ຍ:()=>`ย`,ບ:()=>`บ`,ປ:()=>`ป`,ຝ:()=>`ฝ`,ພ:()=>`พ`,ຟ:()=>`ฟ`,ຳ:()=>mm,ໜ:()=>fm,ໝ:()=>pm,ༀ:()=>hm,ཪ:()=>`ར`,က:()=>_m,တ:()=>Qt,ဝ:()=>`o`,ဟ:()=>bm,ဩ:()=>Cm,ဪ:()=>wm,ၥ:()=>`၁`,ၦ:()=>ym,ၯ:()=>xm,ၰ:()=>vm,ၾ:()=>Sm,ႁ:()=>gm,Ⴀ:()=>`Ꞇ`,ყ:()=>`y`,ჳ:()=>`ȝ`,ჿ:()=>`o`,ᄁ:()=>Mg,ᄄ:()=>g_,ᄈ:()=>hy,ᄊ:()=>ub,ᄍ:()=>$b,ᄓ:()=>Gg,ᄔ:()=>qg,ᄕ:()=>Xg,ᄖ:()=>e_,ᄗ:()=>m_,ᄘ:()=>B_,ᄙ:()=>q_,ᄚ:()=>Ev,ᄛ:()=>_v,ᄜ:()=>Wv,ᄝ:()=>Qv,ᄞ:()=>oy,ᄟ:()=>cy,ᄠ:()=>ly,ᄡ:()=>by,ᄢ:()=>Cy,ᄣ:()=>Ty,ᄤ:()=>Oy,ᄥ:()=>ky,ᄦ:()=>Ay,ᄧ:()=>Fy,ᄨ:()=>Ry,ᄩ:()=>Vy,ᄪ:()=>Uy,ᄫ:()=>My,ᄬ:()=>vy,ᄭ:()=>qy,ᄮ:()=>Xy,ᄯ:()=>Qy,ᄰ:()=>tb,ᄱ:()=>rb,ᄲ:()=>ab,ᄳ:()=>cb,ᄴ:()=>gb,ᄵ:()=>_b,ᄶ:()=>vb,ᄷ:()=>xb,ᄸ:()=>Cb,ᄹ:()=>wb,ᄺ:()=>Eb,ᄻ:()=>Ov,ᄽ:()=>xx,ᄿ:()=>Sx,ᅁ:()=>Ob,ᅂ:()=>jb,ᅃ:()=>Nb,ᅄ:()=>Pb,ᅅ:()=>Fb,ᅆ:()=>qb,ᅇ:()=>Rb,ᅈ:()=>Vb,ᅉ:()=>Hb,ᅊ:()=>Wb,ᅋ:()=>Gb,ᅍ:()=>Qb,ᅏ:()=>Dx,ᅑ:()=>Ox,ᅒ:()=>rx,ᅓ:()=>ix,ᅖ:()=>ox,ᅗ:()=>lx,ᅘ:()=>yx,ᅚ:()=>Ig,ᅛ:()=>t_,ᅜ:()=>i_,ᅝ:()=>l_,ᅞ:()=>b_,ᅢ:()=>Nx,ᅤ:()=>Rx,ᅦ:()=>Ux,ᅨ:()=>Jx,ᅪ:()=>Xx,ᅫ:()=>Qx,ᅬ:()=>lS,ᅯ:()=>wS,ᅰ:()=>DS,ᅱ:()=>MS,ᅳ:()=>`ー`,ᅴ:()=>Pt,ᅵ:()=>`丨`,ᅶ:()=>jx,ᅷ:()=>Mx,ᅸ:()=>Fx,ᅹ:()=>Ix,ᅺ:()=>Vx,ᅻ:()=>Hx,ᅼ:()=>Bx,ᅽ:()=>Kx,ᅾ:()=>qx,ᅿ:()=>nS,ᆀ:()=>rS,ᆁ:()=>aS,ᆂ:()=>oS,ᆃ:()=>cS,ᆄ:()=>pS,ᆅ:()=>gS,ᆆ:()=>hS,ᆇ:()=>yS,ᆈ:()=>bS,ᆉ:()=>SS,ᆊ:()=>CS,ᆋ:()=>ES,ᆌ:()=>AS,ᆍ:()=>jS,ᆎ:()=>FS,ᆏ:()=>LS,ᆐ:()=>RS,ᆑ:()=>zS,ᆒ:()=>VS,ᆓ:()=>WS,ᆔ:()=>GS,ᆕ:()=>Nt,ᆖ:()=>Ot,ᆗ:()=>It,ᆘ:()=>xC,ᆙ:()=>SC,ᆚ:()=>DC,ᆛ:()=>AC,ᆜ:()=>bC,ᆝ:()=>MC,ᆟ:()=>JS,ᆠ:()=>XS,ᆡ:()=>QS,ᆢ:()=>ZS,ᆣ:()=>Ax,ᆤ:()=>Lx,ᆥ:()=>Gx,ᆦ:()=>eS,ᆧ:()=>tS,ᆨ:()=>`ᄀ`,ᆩ:()=>Pg,ᆪ:()=>zg,ᆫ:()=>`ᄂ`,ᆬ:()=>a_,ᆭ:()=>u_,ᆮ:()=>`ᄃ`,ᆯ:()=>`ᄅ`,ᆰ:()=>N_,ᆱ:()=>Z_,ᆲ:()=>rv,ᆳ:()=>mv,ᆴ:()=>Sv,ᆵ:()=>wv,ᆶ:()=>kv,ᆷ:()=>`ᄆ`,ᆸ:()=>`ᄇ`,ᆹ:()=>Sy,ᆺ:()=>`ᄉ`,ᆻ:()=>fb,ᆼ:()=>`ᄋ`,ᆽ:()=>`ᄌ`,ᆾ:()=>`ᄎ`,ᆿ:()=>`ᄏ`,ᇀ:()=>`ᄐ`,ᇁ:()=>`ᄑ`,ᇂ:()=>`ᄒ`,ᇃ:()=>Lg,ᇄ:()=>Vg,ᇅ:()=>Kg,ᇆ:()=>Qg,ᇇ:()=>n_,ᇈ:()=>f_,ᇉ:()=>c_,ᇊ:()=>h_,ᇋ:()=>x_,ᇌ:()=>L_,ᇍ:()=>V_,ᇎ:()=>U_,ᇏ:()=>K_,ᇐ:()=>J_,ᇑ:()=>$_,ᇒ:()=>ev,ᇓ:()=>sv,ᇔ:()=>fv,ᇕ:()=>uv,ᇖ:()=>gv,ᇗ:()=>jv,ᇘ:()=>xv,ᇙ:()=>Pv,ᇚ:()=>Rv,ᇛ:()=>Hv,ᇜ:()=>Kv,ᇝ:()=>Yv,ᇞ:()=>Zv,ᇟ:()=>iy,ᇠ:()=>ny,ᇡ:()=>ry,ᇢ:()=>ey,ᇣ:()=>fy,ᇤ:()=>Wy,ᇥ:()=>Ky,ᇦ:()=>Py,ᇧ:()=>Yy,ᇨ:()=>eb,ᇩ:()=>nb,ᇪ:()=>sb,ᇫ:()=>`ᅀ`,ᇬ:()=>kb,ᇭ:()=>Ab,ᇮ:()=>Bb,ᇯ:()=>Ub,ᇰ:()=>`ᅌ`,ᇱ:()=>Ib,ᇲ:()=>Jb,ᇳ:()=>sx,ᇴ:()=>dx,ᇵ:()=>mx,ᇶ:()=>hx,ᇷ:()=>gx,ᇸ:()=>_x,ᇹ:()=>`ᅙ`,ᇺ:()=>Fg,ᇻ:()=>Rg,ᇼ:()=>Hg,ᇽ:()=>Ug,ᇾ:()=>Wg,ᇿ:()=>Yg,ሀ:()=>`U`,ሣ:()=>`ɰ`,ቀ:()=>`Φ`,በ:()=>`Ո`,ኔ:()=>`ձ`,ዐ:()=>`O`,Ꭰ:()=>`D`,Ꭱ:()=>`R`,Ꭲ:()=>`T`,Ꭴ:()=>`O'`,Ꭵ:()=>`i`,Ꭸ:()=>`Ⱶ`,Ꭹ:()=>`Y`,Ꭺ:()=>`A`,Ꭻ:()=>`J`,Ꭼ:()=>`E`,Ꭾ:()=>`?`,Ꮀ:()=>`Ⱶ`,Ꮁ:()=>`Γ`,Ꮃ:()=>`W`,Ꮇ:()=>`M`,Ꮋ:()=>`H`,Ꮍ:()=>`Y`,Ꮎ:()=>`O̵`,Ꮏ:()=>`ƫ`,Ꮐ:()=>`G`,Ꮒ:()=>`h`,Ꮓ:()=>`Z`,Ꮗ:()=>`Ѡ`,Ꮛ:()=>`Ɛ`,Ꮜ:()=>`U̵`,Ꮞ:()=>`4`,Ꮟ:()=>`b`,Ꮢ:()=>`R`,Ꮤ:()=>`W`,Ꮥ:()=>`S`,Ꮩ:()=>`V`,Ꮪ:()=>`S`,Ꮮ:()=>`L`,Ꮯ:()=>`C`,Ꮲ:()=>`P`,Ꮶ:()=>`K`,Ꮷ:()=>`d`,Ꮻ:()=>`O̵`,Ꮾ:()=>`6`,Ᏸ:()=>`ß`,Ᏺ:()=>`h̔`,Ᏻ:()=>`G`,Ᏼ:()=>`B`,ᏻ:()=>`ɢ`,ᏼ:()=>`ʙ`,ᐃ:()=>`Δ`,ᐌ:()=>ie,ᐍ:()=>Tm,ᐎ:()=>ne,ᐏ:()=>gn,ᐐ:()=>ae,ᐑ:()=>Dm,ᐒ:()=>oe,ᐓ:()=>Om,ᐔ:()=>se,ᐕ:()=>Am,ᐗ:()=>ce,ᐘ:()=>jm,ᐙ:()=>le,ᐚ:()=>Nm,ᐧ:()=>`·`,ᐫ:()=>Em,ᐬ:()=>_n,ᐭ:()=>km,ᐮ:()=>Mm,ᐯ:()=>`V`,ᐱ:()=>`Ʌ`,ᐳ:()=>`>`,ᐷ:()=>`·>`,ᐸ:()=>`<`,ᐺ:()=>`·V`,ᐻ:()=>`V·`,ᐼ:()=>ee,ᐽ:()=>dn,ᐾ:()=>ue,ᐿ:()=>Fm,ᑀ:()=>`·>`,ᑁ:()=>`>·`,ᑂ:()=>de,ᑃ:()=>Im,ᑄ:()=>`·<`,ᑅ:()=>`<·`,ᑆ:()=>fe,ᑇ:()=>Lm,ᑊ:()=>`'`,ᑌ:()=>`U`,ᑎ:()=>`Ո`,ᑔ:()=>me,ᑗ:()=>`·U`,ᑘ:()=>`U·`,ᑙ:()=>re,ᑚ:()=>jn,ᑛ:()=>pe,ᑜ:()=>Rm,ᑝ:()=>he,ᑞ:()=>zm,ᑟ:()=>ge,ᑠ:()=>Vm,ᑡ:()=>_e,ᑢ:()=>Hm,ᑣ:()=>ve,ᑤ:()=>Wm,ᑧ:()=>`U'`,ᑨ:()=>`Ո'`,ᑩ:()=>Bm,ᑪ:()=>Um,ᑭ:()=>`P`,ᑯ:()=>`d`,ᑲ:()=>`b`,ᑳ:()=>`ḃ`,ᑴ:()=>ye,ᑵ:()=>Gm,ᑶ:()=>`·P`,ᑷ:()=>`p·`,ᑸ:()=>be,ᑹ:()=>qm,ᑺ:()=>`·d`,ᑻ:()=>`d·`,ᑼ:()=>xe,ᑽ:()=>Jm,ᑾ:()=>`·b`,ᑿ:()=>`b·`,ᒀ:()=>S,ᒁ:()=>Lt,ᒅ:()=>Km,ᒆ:()=>`P'`,ᒇ:()=>`d'`,ᒈ:()=>`b'`,ᒍ:()=>`J`,ᒒ:()=>Se,ᒓ:()=>Ym,ᒔ:()=>Ce,ᒕ:()=>Xm,ᒖ:()=>we,ᒗ:()=>Zm,ᒘ:()=>`·J`,ᒙ:()=>`J·`,ᒚ:()=>Te,ᒛ:()=>Qm,ᒜ:()=>Ee,ᒝ:()=>$m,ᒞ:()=>De,ᒟ:()=>eh,ᒥ:()=>`Γ`,ᒪ:()=>`L`,ᒬ:()=>Oe,ᒭ:()=>th,ᒮ:()=>te,ᒯ:()=>hn,ᒰ:()=>ke,ᒱ:()=>nh,ᒲ:()=>Ae,ᒳ:()=>rh,ᒴ:()=>je,ᒵ:()=>ih,ᒶ:()=>`·L`,ᒷ:()=>`l·`,ᒸ:()=>Me,ᒹ:()=>ah,ᒿ:()=>`2`,ᓉ:()=>Ne,ᓊ:()=>oh,ᓋ:()=>Re,ᓌ:()=>dh,ᓍ:()=>ze,ᓎ:()=>fh,ᓑ:()=>`ᐡ`,ᓜ:()=>Be,ᓝ:()=>ph,ᓞ:()=>Ve,ᓟ:()=>mh,ᓠ:()=>He,ᓡ:()=>hh,ᓢ:()=>Ue,ᓣ:()=>gh,ᓤ:()=>We,ᓥ:()=>_h,ᓦ:()=>Ge,ᓧ:()=>vh,ᓨ:()=>Ke,ᓩ:()=>yh,ᓶ:()=>qe,ᓷ:()=>bh,ᓸ:()=>Je,ᓹ:()=>xh,ᓺ:()=>Ye,ᓻ:()=>Sh,ᓼ:()=>Xe,ᓽ:()=>Ch,ᓾ:()=>Ze,ᓿ:()=>wh,ᔀ:()=>Qe,ᔁ:()=>Th,ᔂ:()=>$e,ᔃ:()=>Eh,ᔌ:()=>Dh,ᔍ:()=>kh,ᔎ:()=>Oh,ᔏ:()=>Ah,ᔗ:()=>et,ᔘ:()=>jh,ᔙ:()=>tt,ᔚ:()=>Mh,ᔛ:()=>nt,ᔜ:()=>Nh,ᔝ:()=>rt,ᔞ:()=>Ph,ᔟ:()=>it,ᔠ:()=>Fh,ᔡ:()=>at,ᔢ:()=>Ih,ᔣ:()=>ot,ᔤ:()=>Lh,ᔯ:()=>`·4`,ᔰ:()=>`4·`,ᔱ:()=>st,ᔲ:()=>Rh,ᔳ:()=>ct,ᔴ:()=>zh,ᔵ:()=>lt,ᔶ:()=>Bh,ᔷ:()=>ut,ᔸ:()=>Vh,ᔹ:()=>dt,ᔺ:()=>Hh,ᔻ:()=>ft,ᔼ:()=>Uh,ᕀ:()=>`ᐩ`,ᕁ:()=>`x`,ᕎ:()=>yt,ᕏ:()=>Gh,ᕛ:()=>bt,ᕜ:()=>tg,ᕨ:()=>xt,ᕩ:()=>ig,ᕷ:()=>`ẟ`,ᕼ:()=>`H`,ᕽ:()=>`x`,ᕾ:()=>Zh,ᕿ:()=>Yh,ᖀ:()=>Qh,ᖁ:()=>Jh,ᖂ:()=>$h,ᖃ:()=>Kh,ᖄ:()=>qh,ᖅ:()=>eg,ᖇ:()=>`R`,ᖎ:()=>lg,ᖏ:()=>ug,ᖐ:()=>dg,ᖑ:()=>sg,ᖒ:()=>fg,ᖓ:()=>pg,ᖔ:()=>mg,ᖯ:()=>`b`,ᖴ:()=>`F`,ᖵ:()=>`Ⅎ`,ᖷ:()=>`ꟻ`,ᗄ:()=>`Ɐ`,ᗅ:()=>`A`,ᗞ:()=>`D`,ᗪ:()=>`D`,ᗯ:()=>`Ѡ`,ᗰ:()=>`M`,ᗷ:()=>`B`,ᘂ:()=>`ᒐ`,ᘃ:()=>`ᒉ`,ᘄ:()=>`ᓓ`,ᘇ:()=>`ᓚ`,ᘢ:()=>`ᕃ`,ᘣ:()=>`ᕆ`,ᘤ:()=>`ᕊ`,ᘮ:()=>`Ʊ`,ᘯ:()=>`Ω`,ᘴ:()=>`Ʊ`,ᘵ:()=>`Ω`,ᙯ:()=>Xh,ᙰ:()=>cg,ᙱ:()=>gg,ᙲ:()=>_g,ᙳ:()=>hg,ᙴ:()=>vg,ᙵ:()=>yg,ᙶ:()=>bg,ᙷ:()=>Sg,ᙸ:()=>Cg,ᙹ:()=>wg,ᙺ:()=>Tg,ᙻ:()=>Eg,ᙼ:()=>Dg,ᙽ:()=>Og,ᚲ:()=>`<`,ᚷ:()=>`X`,ᛁ:()=>`l`,ᛂ:()=>`ᚽ`,ᛌ:()=>`'`,ᛕ:()=>`K`,ᛖ:()=>`M`,ᛘ:()=>`Ψ`,ᛡ:()=>`ᚼ`,ᛰ:()=>`Φ`,ឣ:()=>`អ`,ᡕ:()=>`ᠵ`,ᢖ:()=>`ᡜ`,ᢳ:()=>St,ᢶ:()=>Ct,ᢹ:()=>wt,ᣂ:()=>Tt,ᣆ:()=>Pe,ᣇ:()=>sh,ᣈ:()=>Fe,ᣉ:()=>ch,ᣊ:()=>Ie,ᣋ:()=>lh,ᣌ:()=>Le,ᣍ:()=>uh,ᣎ:()=>pt,ᣏ:()=>mt,ᣐ:()=>ht,ᣑ:()=>gt,ᣒ:()=>_t,ᣓ:()=>vt,ᣛ:()=>`ᣵ`,ᣜ:()=>jg,ᣝ:()=>Pm,ᣠ:()=>Wh,ᣣ:()=>ng,ᣤ:()=>rg,ᣥ:()=>ag,ᣨ:()=>og,ᣪ:()=>xg,ᣭ:()=>wn,ᣰ:()=>kg,ᣲ:()=>Ag,ᴄ:()=>`c`,ᴈ:()=>`ɜ`,ᴋ:()=>`ĸ`,ᴍ:()=>`ʍ`,ᴏ:()=>`o`,ᴐ:()=>`ɔ`,ᴑ:()=>`o`,ᴔ:()=>`ǝo`,ᴜ:()=>`u`,ᴠ:()=>`v`,ᴡ:()=>`w`,ᴢ:()=>`z`,ᴤ:()=>`ƨ`,ᴦ:()=>`r`,ᴧ:()=>`ʌ`,ᴨ:()=>`π`,ᴩ:()=>`ᴘ`,ᴫ:()=>`л`,ᴾ:()=>`ᣖ`,ᵒ:()=>`º`,ᵫ:()=>`ue`,ᵮ:()=>`f̴`,ᵯ:()=>rn,ᵰ:()=>`n̴`,ᵲ:()=>`r̴`,ᵳ:()=>an,ᵴ:()=>`s̴`,ᵵ:()=>`t̴`,ᵶ:()=>`z̴`,ᵸ:()=>`ᴴ`,ᵻ:()=>`i̵`,ᵼ:()=>`i̵`,ᵽ:()=>`p̵`,ᵾ:()=>`u̵`,ᵿ:()=>sn,ᶃ:()=>`g`,ᶌ:()=>`y`,ᶐ:()=>`ɋ`,ᶟ:()=>`ᵋ`,ᶢ:()=>`ᵍ`,ᶺ:()=>`ᣔ`,ᶻ:()=>`ᙆ`,ṃ:()=>`ꭑ`,ẚ:()=>`ả`,ẝ:()=>`f`,ỿ:()=>`y`,ώ:()=>`ῴ`,ι:()=>`i`,ῶ:()=>`Ꮿ`,ℂ:()=>`C`,ℇ:()=>`Ɛ`,ℊ:()=>`g`,ℋ:()=>`H`,ℌ:()=>`H`,ℍ:()=>`H`,ℎ:()=>`h`,ℏ:()=>`h̵`,ℐ:()=>`l`,ℑ:()=>`l`,ℒ:()=>`L`,ℓ:()=>`l`,ℕ:()=>`N`,ℙ:()=>`P`,ℚ:()=>`Q`,ℛ:()=>`R`,ℜ:()=>`R`,ℝ:()=>`R`,ℤ:()=>`Z`,Ω:()=>`Ω`,ℨ:()=>`Z`,K:()=>`K`,ℬ:()=>`B`,ℭ:()=>`C`,℮:()=>`e`,ℯ:()=>`e`,ℰ:()=>`E`,ℱ:()=>`F`,ℳ:()=>`M`,ℴ:()=>`o`,ℵ:()=>`א`,ℶ:()=>`ב`,ℷ:()=>`ג`,ℸ:()=>`ד`,ℹ:()=>`i`,ℼ:()=>`π`,ℽ:()=>`y`,ℾ:()=>`Γ`,ℿ:()=>`Π`,ⅅ:()=>`D`,ⅆ:()=>`d`,ⅇ:()=>`e`,ⅈ:()=>`i`,ⅉ:()=>`j`,Ⅰ:()=>`l`,Ⅱ:()=>`ll`,Ⅲ:()=>`lll`,Ⅳ:()=>`lV`,Ⅴ:()=>`V`,Ⅵ:()=>`Vl`,Ⅶ:()=>`Vll`,Ⅷ:()=>ln,Ⅸ:()=>`lX`,Ⅹ:()=>`X`,Ⅺ:()=>`Xl`,Ⅻ:()=>`Xll`,Ⅼ:()=>`L`,Ⅽ:()=>`C`,Ⅾ:()=>`D`,Ⅿ:()=>`M`,ⅰ:()=>`i`,ⅱ:()=>`ii`,ⅲ:()=>`iii`,ⅳ:()=>`iv`,ⅴ:()=>`v`,ⅵ:()=>`vi`,ⅶ:()=>`vii`,ⅷ:()=>cn,ⅸ:()=>`ix`,ⅹ:()=>`x`,ⅺ:()=>`xi`,ⅻ:()=>`xii`,ⅼ:()=>`l`,ⅽ:()=>`c`,ⅾ:()=>`d`,ⅿ:()=>`rn`,Ↄ:()=>`Ɔ`,ↄ:()=>`ɔ`,Ⱨ:()=>`H̩`,Ⱪ:()=>`K̩`,Ⲅ:()=>`Γ`,ⲅ:()=>`r`,Ⲇ:()=>`Δ`,Ⲉ:()=>`Ꞓ`,ⲉ:()=>`ꞓ`,Ⲏ:()=>`H`,Ⲓ:()=>`l`,Ⲕ:()=>`K`,ⲕ:()=>`ĸ`,Ⲗ:()=>`λ`,Ⲙ:()=>`M`,Ⲛ:()=>`N`,Ⲟ:()=>`O`,ⲟ:()=>`o`,Ⲡ:()=>`Π`,Ⲣ:()=>`P`,ⲣ:()=>`p`,Ⲥ:()=>`C`,ⲥ:()=>`c`,Ⲧ:()=>`T`,Ⲩ:()=>`Y`,Ⲫ:()=>`Φ`,ⲫ:()=>`ɸ`,Ⲭ:()=>`X`,ⲭ:()=>`χ`,Ⲯ:()=>`Ψ`,ⲱ:()=>`ω`,Ⲵ:()=>`<·`,Ⲻ:()=>`-`,Ⲽ:()=>`Ш`,ⲽ:()=>`ш`,Ⳇ:()=>`/`,Ⳋ:()=>`9`,Ⳍ:()=>`3`,ⳍ:()=>`ȝ`,Ⳑ:()=>`L`,ⳑ:()=>`ʟ`,Ⳓ:()=>`6`,Ⳝ:()=>`Ϭ`,ⳤ:()=>`ϗ`,ⴱ:()=>`O̵`,ⴷ:()=>`Ʌ`,ⴸ:()=>`V`,ⴹ:()=>`E`,ⴺ:()=>`Ǝ`,ⵁ:()=>`O̸`,ⵈ:()=>x,ⵉ:()=>`Ʃ`,ⵏ:()=>`l`,ⵑ:()=>`!`,ⵔ:()=>`O`,ⵕ:()=>`Q`,ⵙ:()=>`ʘ`,ⵝ:()=>`X`,ⵠ:()=>`Δ`,ⵣ:()=>`ᛯ`,〇:()=>`O`,〳:()=>`/`,〸:()=>`十`,〹:()=>`卄`,〺:()=>`卅`,く:()=>`❬`,゛:()=>`゙`,゜:()=>`゚`,イ:()=>`亻`,エ:()=>`工`,カ:()=>`力`,タ:()=>`夕`,ト:()=>`卜`,ニ:()=>`二`,ノ:()=>`/`,ハ:()=>`八`,ヘ:()=>`へ`,ロ:()=>`口`,ㄱ:()=>`ᄀ`,ㄲ:()=>Ng,ㄳ:()=>Bg,ㄴ:()=>`ᄂ`,ㄵ:()=>o_,ㄶ:()=>d_,ㄷ:()=>`ᄃ`,ㄸ:()=>__,ㄹ:()=>`ᄅ`,ㄺ:()=>P_,ㄻ:()=>Q_,ㄼ:()=>iv,ㄽ:()=>hv,ㄾ:()=>Cv,ㄿ:()=>Tv,ㅀ:()=>Dv,ㅁ:()=>`ᄆ`,ㅂ:()=>`ᄇ`,ㅃ:()=>gy,ㅄ:()=>xy,ㅅ:()=>`ᄉ`,ㅆ:()=>db,ㅇ:()=>`ᄋ`,ㅈ:()=>`ᄌ`,ㅉ:()=>ex,ㅊ:()=>`ᄎ`,ㅋ:()=>`ᄏ`,ㅌ:()=>`ᄐ`,ㅍ:()=>`ᄑ`,ㅎ:()=>`ᄒ`,ㅏ:()=>`ᅡ`,ㅐ:()=>Px,ㅑ:()=>`ᅣ`,ㅒ:()=>zx,ㅓ:()=>`ᅥ`,ㅔ:()=>Wx,ㅕ:()=>`ᅧ`,ㅖ:()=>Yx,ㅗ:()=>`ᅩ`,ㅘ:()=>Zx,ㅙ:()=>$x,ㅚ:()=>uS,ㅛ:()=>`ᅭ`,ㅜ:()=>`ᅮ`,ㅝ:()=>TS,ㅞ:()=>OS,ㅟ:()=>NS,ㅠ:()=>`ᅲ`,ㅡ:()=>`ー`,ㅢ:()=>Ft,ㅣ:()=>`丨`,ㅤ:()=>`ᅠ`,ㅥ:()=>Jg,ㅦ:()=>Zg,ㅧ:()=>r_,ㅨ:()=>p_,ㅩ:()=>R_,ㅪ:()=>W_,ㅫ:()=>cv,ㅬ:()=>Mv,ㅭ:()=>Fv,ㅮ:()=>Gv,ㅯ:()=>Xv,ㅰ:()=>ay,ㅱ:()=>$v,ㅲ:()=>sy,ㅳ:()=>uy,ㅴ:()=>wy,ㅵ:()=>Ey,ㅶ:()=>Iy,ㅷ:()=>Hy,ㅸ:()=>Ny,ㅹ:()=>yy,ㅺ:()=>Jy,ㅻ:()=>Zy,ㅼ:()=>$y,ㅽ:()=>ob,ㅾ:()=>yb,ㅿ:()=>`ᅀ`,ㆀ:()=>zb,ㆁ:()=>`ᅌ`,ㆂ:()=>Lb,ㆃ:()=>Yb,ㆄ:()=>ux,ㆅ:()=>bx,ㆆ:()=>`ᅙ`,ㆇ:()=>mS,ㆈ:()=>_S,ㆉ:()=>xS,ㆊ:()=>BS,ㆋ:()=>HS,ㆌ:()=>KS,ㆍ:()=>`ᆞ`,ㆎ:()=>$S,㦳:()=>`㘽`,䎛:()=>`㖈`,䐠:()=>`㬻`,一:()=>`ー`,丶:()=>`\\`,丿:()=>`/`,倂:()=>`併`,值:()=>`値`,啟:()=>`啓`,囗:()=>`口`,填:()=>`塡`,士:()=>`土`,壿:()=>`墫`,嬀:()=>`媯`,帲:()=>`帡`,幐:()=>`㬺`,戸:()=>`戶`,搉:()=>`㩁`,晣:()=>`䀿`,晩:()=>`晚`,曶:()=>`㫚`,朦:()=>`䑃`,柿:()=>`杮`,槩:()=>`㮣`,樧:()=>`榝`,潙:()=>`溈`,硏:()=>`研`,絶:()=>`絕`,肦:()=>`朌`,胊:()=>`朐`,胐:()=>`朏`,胶:()=>`㬵`,脁:()=>`朓`,脧:()=>`朘`,腁:()=>`胼`,膧:()=>`朣`,蔿:()=>`蒍`,虁:()=>`蘷`,訞:()=>`䚶`,詽:()=>`訮`,讏:()=>`讆`,豣:()=>`豜`,趆:()=>`赿`,跺:()=>`跥`,躛:()=>`躗`,輧:()=>`軿`,郞:()=>`郎`,鎮:()=>`鎭`,隸:()=>`隷`,鹃:()=>`鹂`,黒:()=>`黑`,鿃:()=>`䀹`,ꓐ:()=>`B`,ꓑ:()=>`P`,ꓒ:()=>`d`,ꓓ:()=>`D`,ꓔ:()=>`T`,ꓖ:()=>`G`,ꓗ:()=>`K`,ꓙ:()=>`J`,ꓚ:()=>`C`,ꓛ:()=>`Ɔ`,ꓜ:()=>`Z`,ꓝ:()=>`F`,ꓞ:()=>`Ⅎ`,ꓟ:()=>`M`,ꓠ:()=>`N`,ꓡ:()=>`L`,ꓢ:()=>`S`,ꓣ:()=>`R`,ꓥ:()=>`Ʌ`,ꓦ:()=>`V`,ꓧ:()=>`H`,ꓪ:()=>`W`,ꓫ:()=>`X`,ꓬ:()=>`Y`,ꓭ:()=>`ᙠ`,ꓮ:()=>`A`,ꓯ:()=>`Ɐ`,ꓰ:()=>`E`,ꓱ:()=>`Ǝ`,ꓲ:()=>`l`,ꓳ:()=>`O`,ꓴ:()=>`U`,ꓵ:()=>`Ո`,ꓷ:()=>`ᗡ`,ꓸ:()=>`.`,ꓹ:()=>`,`,ꓺ:()=>`..`,ꓻ:()=>`.,`,ꓽ:()=>`:`,Ꙅ:()=>`2`,ꙅ:()=>`ƨ`,ꙇ:()=>`i`,ꙍ:()=>`ω`,Ꙑ:()=>`Ъl`,ꙑ:()=>Et,Ꙩ:()=>`ʘ`,ꚕ:()=>`h̔`,Ꚙ:()=>`OO`,ꚙ:()=>`oo`,Ꚛ:()=>pC,ꚡ:()=>`И`,ꚰ:()=>`ᚹ`,ꚱ:()=>`Ⱶ`,ꛍ:()=>`ʡ`,ꛎ:()=>`Ʌ`,ꛛ:()=>`Π`,ꛟ:()=>`V`,ꛫ:()=>`?`,ꛯ:()=>`2`,Ꜩ:()=>`T3`,ꜩ:()=>`tȝ`,ꜱ:()=>`s`,Ꜳ:()=>`AA`,ꜳ:()=>`aa`,Ꜵ:()=>`AO`,ꜵ:()=>`ao`,Ꜷ:()=>`AU`,ꜷ:()=>`au`,Ꜹ:()=>`AV`,ꜹ:()=>`av`,Ꜻ:()=>`AV`,ꜻ:()=>`av`,Ꜽ:()=>`AY`,ꜽ:()=>`ay`,Ꝁ:()=>`K̵`,Ꝋ:()=>`O̵`,ꝋ:()=>`o̵`,Ꝏ:()=>`OO`,ꝏ:()=>`oo`,Ꝛ:()=>`2`,ꝡ:()=>`w̦`,Ꝫ:()=>`3`,ꝫ:()=>`ȝ`,Ꝯ:()=>`9`,ꝷ:()=>`tf`,ꝸ:()=>`&`,ꝺ:()=>`Ꝺ`,ꞌ:()=>`'`,ꞏ:()=>`·`,ꞕ:()=>`ꜧ`,Ꞙ:()=>`F`,ꞙ:()=>`f`,Ꞛ:()=>hC,ꞛ:()=>mC,ꞝ:()=>`ʚ`,Ꞟ:()=>`ꓤ`,ꞟ:()=>`u`,Ɜ:()=>`3`,Ʇ:()=>`ꓕ`,Ʝ:()=>`J`,Ꭓ:()=>`X`,Ꞵ:()=>`B`,ꞵ:()=>`ß`,Ꞷ:()=>`Ꙍ`,ꞷ:()=>`ω`,ꟷ:()=>`ー`,ꥠ:()=>S_,ꥡ:()=>C_,ꥢ:()=>T_,ꥣ:()=>O_,ꥤ:()=>M_,ꥥ:()=>F_,ꥦ:()=>H_,ꥧ:()=>G_,ꥨ:()=>X_,ꥩ:()=>nv,ꥪ:()=>ov,ꥫ:()=>lv,ꥬ:()=>pv,ꥭ:()=>yv,ꥮ:()=>bv,ꥯ:()=>Lv,ꥰ:()=>Vv,ꥱ:()=>Jv,ꥲ:()=>jy,ꥳ:()=>By,ꥴ:()=>Gy,ꥵ:()=>hb,ꥶ:()=>Mb,ꥷ:()=>Kb,ꥸ:()=>nx,ꥹ:()=>ax,ꥺ:()=>px,ꥻ:()=>vx,ꥼ:()=>kx,ꦒ:()=>`ⰿ`,ꦣ:()=>`ꦝ`,ꧏ:()=>`٢`,ꬲ:()=>`e`,ꬵ:()=>`f`,ꬽ:()=>`o`,ꬾ:()=>`o̸`,ꬿ:()=>$t,ꭁ:()=>zt,ꭂ:()=>Bt,ꭇ:()=>`r`,ꭈ:()=>`r`,ꭍ:()=>`ʃ`,ꭎ:()=>`u`,ꭒ:()=>`u`,ꭓ:()=>`χ`,ꭕ:()=>`χ`,ꭚ:()=>`y`,ꭠ:()=>`љ`,ꭢ:()=>`ɔe`,ꭣ:()=>`uo`,ꭰ:()=>`ᴅ`,ꭱ:()=>`ʀ`,ꭲ:()=>`ᴛ`,ꭴ:()=>`ơ`,ꭵ:()=>`i`,ꭺ:()=>`ᴀ`,ꭻ:()=>`ᴊ`,ꭼ:()=>`ᴇ`,ꭾ:()=>`ɂ`,ꮀ:()=>`ⱶ`,ꮁ:()=>`r`,ꮃ:()=>`w`,ꮇ:()=>`ʍ`,ꮋ:()=>`ʜ`,ꮎ:()=>`o̵`,ꮐ:()=>`ɢ`,ꮓ:()=>`z`,ꮛ:()=>`ꞓ`,ꮜ:()=>`u̵`,ꮟ:()=>`ƅ`,ꮢ:()=>`ʀ`,ꮩ:()=>`v`,ꮪ:()=>`s`,ꮮ:()=>`ʟ`,ꮯ:()=>`c`,ꮲ:()=>`ᴘ`,ꮶ:()=>`ĸ`,ꮻ:()=>`o̵`,ힰ:()=>iS,ힱ:()=>sS,ힲ:()=>dS,ힳ:()=>fS,ힴ:()=>vS,ힵ:()=>kS,ힶ:()=>PS,ힷ:()=>IS,ힸ:()=>US,ힹ:()=>kt,ힺ:()=>At,ힻ:()=>jt,ힼ:()=>Mt,ힽ:()=>CC,ힾ:()=>wC,ힿ:()=>TC,ퟀ:()=>EC,ퟁ:()=>OC,ퟂ:()=>kC,ퟃ:()=>jC,ퟄ:()=>NC,ퟅ:()=>qS,ퟆ:()=>YS,ퟋ:()=>$g,ퟌ:()=>s_,ퟍ:()=>v_,ퟎ:()=>y_,ퟏ:()=>w_,ퟐ:()=>E_,ퟑ:()=>D_,ퟒ:()=>k_,ퟓ:()=>A_,ퟔ:()=>j_,ퟕ:()=>I_,ퟖ:()=>z_,ퟗ:()=>Y_,ퟘ:()=>tv,ퟙ:()=>av,ퟚ:()=>dv,ퟛ:()=>Nv,ퟜ:()=>Iv,ퟝ:()=>vv,ퟞ:()=>zv,ퟟ:()=>Bv,ퟠ:()=>Uv,ퟡ:()=>qv,ퟢ:()=>ty,ퟣ:()=>dy,ퟤ:()=>py,ퟥ:()=>my,ퟦ:()=>_y,ퟧ:()=>Dy,ퟨ:()=>Ly,ퟩ:()=>zy,ퟪ:()=>ib,ퟫ:()=>lb,ퟬ:()=>pb,ퟭ:()=>mb,ퟮ:()=>Db,ퟯ:()=>bb,ퟰ:()=>Sb,ퟱ:()=>Tb,ퟲ:()=>Av,ퟳ:()=>Cx,ퟴ:()=>wx,ퟵ:()=>Tx,ퟶ:()=>Ex,ퟷ:()=>Xb,ퟸ:()=>Zb,ퟹ:()=>tx,ퟺ:()=>cx,ퟻ:()=>fx,豈:()=>`豈`,更:()=>`更`,車:()=>`車`,賈:()=>`賈`,滑:()=>`滑`,串:()=>`串`,句:()=>`句`,龜:()=>`龜`,龜:()=>`龜`,契:()=>`契`,金:()=>`金`,喇:()=>`喇`,奈:()=>`奈`,懶:()=>`懶`,癩:()=>`癩`,羅:()=>`羅`,蘿:()=>`蘿`,螺:()=>`螺`,裸:()=>`裸`,邏:()=>`邏`,樂:()=>`樂`,洛:()=>`洛`,烙:()=>`烙`,珞:()=>`珞`,落:()=>`落`,酪:()=>`酪`,駱:()=>`駱`,亂:()=>`亂`,卵:()=>`卵`,欄:()=>`欄`,爛:()=>`爛`,蘭:()=>`蘭`,鸞:()=>`鸞`,嵐:()=>`嵐`,濫:()=>`濫`,藍:()=>`藍`,襤:()=>`襤`,拉:()=>`拉`,臘:()=>`臘`,蠟:()=>`蠟`,廊:()=>`廊`,朗:()=>`朗`,浪:()=>`浪`,狼:()=>`狼`,郎:()=>`郎`,來:()=>`來`,冷:()=>`冷`,勞:()=>`勞`,擄:()=>`擄`,櫓:()=>`櫓`,爐:()=>`爐`,盧:()=>`盧`,老:()=>`老`,蘆:()=>`蘆`,虜:()=>`虜`,路:()=>`路`,露:()=>`露`,魯:()=>`魯`,鷺:()=>`鷺`,碌:()=>`碌`,祿:()=>`祿`,綠:()=>`綠`,菉:()=>`菉`,錄:()=>`錄`,鹿:()=>`鹿`,論:()=>`論`,壟:()=>`壟`,弄:()=>`弄`,籠:()=>`籠`,聾:()=>`聾`,牢:()=>`牢`,磊:()=>`磊`,賂:()=>`賂`,雷:()=>`雷`,壘:()=>`壘`,屢:()=>`屢`,樓:()=>`樓`,淚:()=>`淚`,漏:()=>`漏`,累:()=>`累`,縷:()=>`縷`,陋:()=>`陋`,勒:()=>`勒`,肋:()=>`肋`,凜:()=>`凜`,凌:()=>`凌`,稜:()=>`稜`,綾:()=>`綾`,菱:()=>`菱`,陵:()=>`陵`,讀:()=>`讀`,拏:()=>`拏`,樂:()=>`樂`,諾:()=>`諾`,丹:()=>`丹`,寧:()=>`寧`,怒:()=>`怒`,率:()=>`率`,異:()=>`異`,北:()=>`北`,磻:()=>`磻`,便:()=>`便`,復:()=>`復`,不:()=>`不`,泌:()=>`泌`,數:()=>`數`,索:()=>`索`,參:()=>`參`,塞:()=>`塞`,省:()=>`省`,葉:()=>`葉`,說:()=>`說`,殺:()=>`殺`,辰:()=>`辰`,沈:()=>`沈`,拾:()=>`拾`,若:()=>`若`,掠:()=>`掠`,略:()=>`略`,亮:()=>`亮`,兩:()=>`兩`,凉:()=>`凉`,梁:()=>`梁`,糧:()=>`糧`,良:()=>`良`,諒:()=>`諒`,量:()=>`量`,勵:()=>`勵`,呂:()=>`呂`,女:()=>`女`,廬:()=>`廬`,旅:()=>`旅`,濾:()=>`濾`,礪:()=>`礪`,閭:()=>`閭`,驪:()=>`驪`,麗:()=>`麗`,黎:()=>`黎`,力:()=>`力`,曆:()=>`曆`,歷:()=>`歷`,轢:()=>`轢`,年:()=>`年`,憐:()=>`憐`,戀:()=>`戀`,撚:()=>`撚`,漣:()=>`漣`,煉:()=>`煉`,璉:()=>`璉`,秊:()=>`秊`,練:()=>`練`,聯:()=>`聯`,輦:()=>`輦`,蓮:()=>`蓮`,連:()=>`連`,鍊:()=>`鍊`,列:()=>`列`,劣:()=>`劣`,咽:()=>`咽`,烈:()=>`烈`,裂:()=>`裂`,說:()=>`說`,廉:()=>`廉`,念:()=>`念`,捻:()=>`捻`,殮:()=>`殮`,簾:()=>`簾`,獵:()=>`獵`,令:()=>`令`,囹:()=>`囹`,寧:()=>`寧`,嶺:()=>`嶺`,怜:()=>`怜`,玲:()=>`玲`,瑩:()=>`瑩`,羚:()=>`羚`,聆:()=>`聆`,鈴:()=>`鈴`,零:()=>`零`,靈:()=>`靈`,領:()=>`領`,例:()=>`例`,禮:()=>`禮`,醴:()=>`醴`,隸:()=>`隷`,惡:()=>`惡`,了:()=>`了`,僚:()=>`僚`,寮:()=>`寮`,尿:()=>`尿`,料:()=>`料`,樂:()=>`樂`,燎:()=>`燎`,療:()=>`療`,蓼:()=>`蓼`,遼:()=>`遼`,龍:()=>`龍`,暈:()=>`暈`,阮:()=>`阮`,劉:()=>`劉`,杻:()=>`杻`,柳:()=>`柳`,流:()=>`流`,溜:()=>`溜`,琉:()=>`琉`,留:()=>`留`,硫:()=>`硫`,紐:()=>`紐`,類:()=>`類`,六:()=>`六`,戮:()=>`戮`,陸:()=>`陸`,倫:()=>`倫`,崙:()=>`崙`,淪:()=>`淪`,輪:()=>`輪`,律:()=>`律`,慄:()=>`慄`,栗:()=>`栗`,率:()=>`率`,隆:()=>`隆`,利:()=>`利`,吏:()=>`吏`,履:()=>`履`,易:()=>`易`,李:()=>`李`,梨:()=>`梨`,泥:()=>`泥`,理:()=>`理`,痢:()=>`痢`,罹:()=>`罹`,裏:()=>`裏`,裡:()=>`裡`,里:()=>`里`,離:()=>`離`,匿:()=>`匿`,溺:()=>`溺`,吝:()=>`吝`,燐:()=>`燐`,璘:()=>`璘`,藺:()=>`藺`,隣:()=>`隣`,鱗:()=>`鱗`,麟:()=>`麟`,林:()=>`林`,淋:()=>`淋`,臨:()=>`臨`,立:()=>`立`,笠:()=>`笠`,粒:()=>`粒`,狀:()=>`狀`,炙:()=>`炙`,識:()=>`識`,什:()=>`什`,茶:()=>`茶`,刺:()=>`刺`,切:()=>`切`,度:()=>`度`,拓:()=>`拓`,糖:()=>`糖`,宅:()=>`宅`,洞:()=>`洞`,暴:()=>`暴`,輻:()=>`輻`,行:()=>`行`,降:()=>`降`,見:()=>`見`,廓:()=>`廓`,兀:()=>`兀`,嗀:()=>`嗀`,塚:()=>`塚`,晴:()=>`晴`,凞:()=>`凞`,猪:()=>`猪`,益:()=>`益`,礼:()=>`礼`,神:()=>`神`,祥:()=>`祥`,福:()=>`福`,靖:()=>`靖`,精:()=>`精`,羽:()=>`羽`,蘒:()=>`蘒`,諸:()=>`諸`,逸:()=>`逸`,都:()=>`都`,飯:()=>`飯`,飼:()=>`飼`,館:()=>`館`,鶴:()=>`鶴`,郞:()=>`郎`,隷:()=>`隷`,侮:()=>`侮`,僧:()=>`僧`,免:()=>`免`,勉:()=>`勉`,勤:()=>`勤`,卑:()=>`卑`,喝:()=>`喝`,嘆:()=>`嘆`,器:()=>`器`,塀:()=>`塀`,墨:()=>`墨`,層:()=>`層`,屮:()=>`屮`,悔:()=>`悔`,慨:()=>`慨`,憎:()=>`憎`,懲:()=>`懲`,敏:()=>`敏`,既:()=>`既`,暑:()=>`暑`,梅:()=>`梅`,海:()=>`海`,渚:()=>`渚`,漢:()=>`漢`,煮:()=>`煮`,爫:()=>`爫`,琢:()=>`琢`,碑:()=>`碑`,社:()=>`社`,祉:()=>`祉`,祈:()=>`祈`,祐:()=>`祐`,祖:()=>`祖`,祝:()=>`祝`,禍:()=>`禍`,禎:()=>`禎`,穀:()=>`穀`,突:()=>`突`,節:()=>`節`,練:()=>`練`,縉:()=>`縉`,繁:()=>`繁`,署:()=>`署`,者:()=>`者`,臭:()=>`臭`,艹:()=>`艹`,艹:()=>`艹`,著:()=>`著`,褐:()=>`褐`,視:()=>`視`,謁:()=>`謁`,謹:()=>`謹`,賓:()=>`賓`,贈:()=>`贈`,辶:()=>`辶`,逸:()=>`逸`,難:()=>`難`,響:()=>`響`,頻:()=>`頻`,恵:()=>`恵`,𤋮:()=>ww,舘:()=>`舘`,並:()=>`並`,况:()=>`况`,全:()=>`全`,侀:()=>`侀`,充:()=>`充`,冀:()=>`冀`,勇:()=>`勇`,勺:()=>`勺`,喝:()=>`喝`,啕:()=>`啕`,喙:()=>`喙`,嗢:()=>`嗢`,塚:()=>`塚`,墳:()=>`墳`,奄:()=>`奄`,奔:()=>`奔`,婢:()=>`婢`,嬨:()=>`嬨`,廒:()=>`廒`,廙:()=>`廙`,彩:()=>`彩`,徭:()=>`徭`,惘:()=>`惘`,慎:()=>`慎`,愈:()=>`愈`,憎:()=>`憎`,慠:()=>`慠`,懲:()=>`懲`,戴:()=>`戴`,揄:()=>`揄`,搜:()=>`搜`,摒:()=>`摒`,敖:()=>`敖`,晴:()=>`晴`,朗:()=>`朗`,望:()=>`望`,杖:()=>`杖`,歹:()=>`歹`,殺:()=>`殺`,流:()=>`流`,滛:()=>`滛`,滋:()=>`滋`,漢:()=>`漢`,瀞:()=>`瀞`,煮:()=>`煮`,瞧:()=>`瞧`,爵:()=>`爵`,犯:()=>`犯`,猪:()=>`猪`,瑱:()=>`瑱`,甆:()=>`甆`,画:()=>`画`,瘝:()=>`瘝`,瘟:()=>`瘟`,益:()=>`益`,盛:()=>`盛`,直:()=>`直`,睊:()=>`睊`,着:()=>`着`,磌:()=>`磌`,窱:()=>`窱`,節:()=>`節`,类:()=>`类`,絛:()=>`絛`,練:()=>`練`,缾:()=>`缾`,者:()=>`者`,荒:()=>`荒`,華:()=>`華`,蝹:()=>`蝹`,襁:()=>`襁`,覆:()=>`覆`,視:()=>`視`,調:()=>`調`,諸:()=>`諸`,請:()=>`請`,謁:()=>`謁`,諾:()=>`諾`,諭:()=>`諭`,謹:()=>`謹`,變:()=>`變`,贈:()=>`贈`,輸:()=>`輸`,遲:()=>`遲`,醙:()=>`醙`,鉶:()=>`鉶`,陼:()=>`陼`,難:()=>`難`,靖:()=>`靖`,韛:()=>`韛`,響:()=>`響`,頋:()=>`頋`,頻:()=>`頻`,鬒:()=>`鬒`,龜:()=>`龜`,𢡊:()=>rw,𢡄:()=>nw,𣏕:()=>fw,㮝:()=>`㮝`,䀘:()=>`䀘`,䀹:()=>`䀹`,𥉉:()=>Rw,𥳐:()=>Jw,𧻓:()=>vT,齃:()=>`齃`,龎:()=>`龎`,ff:()=>`ff`,fi:()=>`fi`,fl:()=>`fl`,ffi:()=>`ffi`,ffl:()=>`ffl`,st:()=>`st`,ﬓ:()=>An,ﬔ:()=>Dn,ﬕ:()=>On,ﬖ:()=>Mn,ﬗ:()=>kn,ﬠ:()=>`ע`,ﬡ:()=>`א`,ﬢ:()=>`ד`,ﬣ:()=>`ה`,ﬤ:()=>`כ`,ﬥ:()=>`ל`,ﬦ:()=>`ם`,ﬧ:()=>`ר`,ﬨ:()=>`ת`,שׂ:()=>`שׁ`,שּׂ:()=>`שּׁ`,אָ:()=>`אַ`,אּ:()=>`אַ`,יּ:()=>`יִ`,שּ:()=>`שׁ`,ﭏ:()=>Nn,ﭐ:()=>`ٱ`,ﭑ:()=>`ٱ`,ﭒ:()=>`ٻ`,ﭓ:()=>`ٻ`,ﭔ:()=>`ٻ`,ﭕ:()=>`ٻ`,ﭖ:()=>cd,ﭗ:()=>sd,ﭘ:()=>ad,ﭙ:()=>od,ﭚ:()=>`ڀ`,ﭛ:()=>`ڀ`,ﭜ:()=>`ڀ`,ﭝ:()=>`ڀ`,ﭞ:()=>`ٺ`,ﭟ:()=>`ٺ`,ﭠ:()=>`ٺ`,ﭡ:()=>`ٺ`,ﭢ:()=>`ٿ`,ﭣ:()=>`ٿ`,ﭤ:()=>`ٿ`,ﭥ:()=>`ٿ`,ﭦ:()=>Qu,ﭧ:()=>Zu,ﭨ:()=>Yu,ﭩ:()=>Xu,ﭪ:()=>nc,ﭫ:()=>tc,ﭬ:()=>$s,ﭭ:()=>ec,ﭮ:()=>`ڦ`,ﭯ:()=>`ڦ`,ﭰ:()=>`ڦ`,ﭱ:()=>`ڦ`,ﭲ:()=>`ڄ`,ﭳ:()=>`ڄ`,ﭴ:()=>`ڄ`,ﭵ:()=>`ڄ`,ﭶ:()=>`ڃ`,ﭷ:()=>`ڃ`,ﭸ:()=>`ڃ`,ﭹ:()=>`ڃ`,ﭺ:()=>`چ`,ﭻ:()=>`چ`,ﭼ:()=>`چ`,ﭽ:()=>`چ`,ﭾ:()=>`ڇ`,ﭿ:()=>`ڇ`,ﮀ:()=>`ڇ`,ﮁ:()=>`ڇ`,ﮂ:()=>`ڍ`,ﮃ:()=>`ڍ`,ﮄ:()=>`ڌ`,ﮅ:()=>`ڌ`,ﮆ:()=>wi,ﮇ:()=>Ci,ﮈ:()=>xi,ﮉ:()=>bi,ﮊ:()=>Pi,ﮋ:()=>Ni,ﮌ:()=>ji,ﮍ:()=>Ai,ﮎ:()=>`ك`,ﮏ:()=>`ك`,ﮐ:()=>`ك`,ﮑ:()=>`ك`,ﮒ:()=>`گ`,ﮓ:()=>`گ`,ﮔ:()=>`گ`,ﮕ:()=>`گ`,ﮖ:()=>`ڳ`,ﮗ:()=>`ڳ`,ﮘ:()=>`ڳ`,ﮙ:()=>`ڳ`,ﮚ:()=>`ڱ`,ﮛ:()=>`ڱ`,ﮜ:()=>`ڱ`,ﮝ:()=>`ڱ`,ﮞ:()=>`ى`,ﮟ:()=>`ى`,ﮠ:()=>rd,ﮡ:()=>nd,ﮢ:()=>ed,ﮣ:()=>td,ﮤ:()=>`ۀ`,ﮥ:()=>`ۀ`,ﮦ:()=>`o`,ﮧ:()=>`o`,ﮨ:()=>`o`,ﮩ:()=>`o`,ﮪ:()=>`o`,ﮫ:()=>`o`,ﮬ:()=>`o`,ﮭ:()=>`o`,ﮮ:()=>`ى`,ﮯ:()=>`ى`,ﮰ:()=>`ۓ`,ﮱ:()=>`ۓ`,ﯓ:()=>Sc,ﯔ:()=>xc,ﯕ:()=>yc,ﯖ:()=>bc,ﯗ:()=>ju,ﯘ:()=>Au,ﯙ:()=>Pu,ﯚ:()=>Nu,ﯛ:()=>Bu,ﯜ:()=>zu,ﯝ:()=>Ku,ﯞ:()=>Ou,ﯟ:()=>Du,ﯠ:()=>`ۅ`,ﯡ:()=>`ۅ`,ﯢ:()=>Lu,ﯣ:()=>Iu,ﯤ:()=>`ٻ`,ﯥ:()=>`ٻ`,ﯦ:()=>`ٻ`,ﯧ:()=>`ٻ`,ﯨ:()=>`ى`,ﯩ:()=>`ى`,ﯪ:()=>Rd,ﯫ:()=>Ld,ﯬ:()=>Hd,ﯭ:()=>Vd,ﯮ:()=>of,ﯯ:()=>af,ﯰ:()=>cf,ﯱ:()=>sf,ﯲ:()=>uf,ﯳ:()=>lf,ﯴ:()=>ff,ﯵ:()=>df,ﯶ:()=>Gd,ﯷ:()=>Wd,ﯸ:()=>Ud,ﯹ:()=>gf,ﯺ:()=>mf,ﯻ:()=>pf,ﯼ:()=>`ى`,ﯽ:()=>`ى`,ﯾ:()=>`ى`,ﯿ:()=>`ى`,ﰀ:()=>qd,ﰁ:()=>Yd,ﰂ:()=>nf,ﰃ:()=>_f,ﰄ:()=>yf,ﰅ:()=>Rn,ﰆ:()=>Bn,ﰇ:()=>Un,ﰈ:()=>Qn,ﰉ:()=>tr,ﰊ:()=>rr,ﰋ:()=>ar,ﰌ:()=>ur,ﰍ:()=>hr,ﰎ:()=>wr,ﰏ:()=>Mr,ﰐ:()=>Pr,ﰑ:()=>Sf,ﰒ:()=>Bf,ﰓ:()=>Zf,ﰔ:()=>$f,ﰕ:()=>Ir,ﰖ:()=>Vr,ﰗ:()=>ei,ﰘ:()=>ri,ﰙ:()=>di,ﰚ:()=>fi,ﰛ:()=>mi,ﰜ:()=>aa,ﰝ:()=>ha,ﰞ:()=>Ea,ﰟ:()=>za,ﰠ:()=>uo,ﰡ:()=>Co,ﰢ:()=>jo,ﰣ:()=>No,ﰤ:()=>Lo,ﰥ:()=>Uo,ﰦ:()=>Xo,ﰧ:()=>$o,ﰨ:()=>us,ﰩ:()=>fs,ﰪ:()=>_s,ﰫ:()=>Ds,ﰬ:()=>ks,ﰭ:()=>Rs,ﰮ:()=>Bs,ﰯ:()=>Hs,ﰰ:()=>Ks,ﰱ:()=>Ys,ﰲ:()=>Zs,ﰳ:()=>oc,ﰴ:()=>lc,ﰵ:()=>hc,ﰶ:()=>_c,ﰷ:()=>`كl`,ﰸ:()=>Tc,ﰹ:()=>Dc,ﰺ:()=>kc,ﰻ:()=>Nc,ﰼ:()=>Lc,ﰽ:()=>Hc,ﰾ:()=>Wc,ﰿ:()=>tl,ﱀ:()=>cl,ﱁ:()=>ml,ﱂ:()=>bl,ﱃ:()=>Tl,ﱄ:()=>Dl,ﱅ:()=>Al,ﱆ:()=>Il,ﱇ:()=>Hl,ﱈ:()=>Jl,ﱉ:()=>Xl,ﱊ:()=>Zl,ﱋ:()=>Gn,ﱌ:()=>su,ﱍ:()=>fu,ﱎ:()=>vu,ﱏ:()=>Cu,ﱐ:()=>Tu,ﱑ:()=>`oج`,ﱒ:()=>`oم`,ﱓ:()=>`oى`,ﱔ:()=>`oى`,ﱕ:()=>xf,ﱖ:()=>Tf,ﱗ:()=>Of,ﱘ:()=>If,ﱙ:()=>qf,ﱚ:()=>Yf,ﱛ:()=>Di,ﱜ:()=>zi,ﱝ:()=>kd,ﱞ:()=>f,ﱟ:()=>p,ﱠ:()=>h,ﱡ:()=>_,ﱢ:()=>y,ﱣ:()=>b,ﱤ:()=>Zd,ﱥ:()=>Qd,ﱦ:()=>tf,ﱧ:()=>rf,ﱨ:()=>hf,ﱩ:()=>vf,ﱪ:()=>qn,ﱫ:()=>Jn,ﱬ:()=>Zn,ﱭ:()=>$n,ﱮ:()=>er,ﱯ:()=>nr,ﱰ:()=>yr,ﱱ:()=>br,ﱲ:()=>Cr,ﱳ:()=>Ar,ﱴ:()=>jr,ﱵ:()=>Nr,ﱶ:()=>Af,ﱷ:()=>Mf,ﱸ:()=>zf,ﱹ:()=>Gf,ﱺ:()=>Xf,ﱻ:()=>Qf,ﱼ:()=>Js,ﱽ:()=>Xs,ﱾ:()=>mc,ﱿ:()=>gc,ﲀ:()=>`كl`,ﲁ:()=>Mc,ﲂ:()=>Ic,ﲃ:()=>Vc,ﲄ:()=>Uc,ﲅ:()=>yl,ﲆ:()=>wl,ﲇ:()=>El,ﲈ:()=>`مl`,ﲉ:()=>ql,ﲊ:()=>pu,ﲋ:()=>mu,ﲌ:()=>_u,ﲍ:()=>xu,ﲎ:()=>Su,ﲏ:()=>wu,ﲐ:()=>Od,ﲑ:()=>kf,ﲒ:()=>jf,ﲓ:()=>Ff,ﲔ:()=>Wf,ﲕ:()=>Kf,ﲖ:()=>Jf,ﲗ:()=>Kd,ﲘ:()=>Jd,ﲙ:()=>Xd,ﲚ:()=>$d,ﲛ:()=>zd,ﲜ:()=>Ln,ﲝ:()=>zn,ﲞ:()=>Hn,ﲟ:()=>Yn,ﲠ:()=>`بo`,ﲡ:()=>ir,ﲢ:()=>lr,ﲣ:()=>mr,ﲤ:()=>xr,ﲥ:()=>`تo`,ﲦ:()=>Lf,ﲧ:()=>Fr,ﲨ:()=>Br,ﲩ:()=>$r,ﲪ:()=>ni,ﲫ:()=>ui,ﲬ:()=>pi,ﲭ:()=>ra,ﲮ:()=>pa,ﲯ:()=>wa,ﲰ:()=>La,ﲱ:()=>lo,ﲲ:()=>ho,ﲳ:()=>So,ﲴ:()=>Ao,ﲵ:()=>Mo,ﲶ:()=>Io,ﲷ:()=>Ho,ﲸ:()=>Yo,ﲹ:()=>cs,ﲺ:()=>ds,ﲻ:()=>gs,ﲼ:()=>Es,ﲽ:()=>Os,ﲾ:()=>Ls,ﲿ:()=>zs,ﳀ:()=>Vs,ﳁ:()=>Gs,ﳂ:()=>ac,ﳃ:()=>cc,ﳄ:()=>wc,ﳅ:()=>Ec,ﳆ:()=>Oc,ﳇ:()=>Ac,ﳈ:()=>Pc,ﳉ:()=>el,ﳊ:()=>sl,ﳋ:()=>pl,ﳌ:()=>_l,ﳍ:()=>`لo`,ﳎ:()=>kl,ﳏ:()=>Fl,ﳐ:()=>Vl,ﳑ:()=>Kl,ﳒ:()=>Wn,ﳓ:()=>ou,ﳔ:()=>du,ﳕ:()=>hu,ﳖ:()=>`نo`,ﳗ:()=>`oج`,ﳘ:()=>`oم`,ﳙ:()=>`oٰ`,ﳚ:()=>bf,ﳛ:()=>wf,ﳜ:()=>Df,ﳝ:()=>Nf,ﳞ:()=>`ىo`,ﳟ:()=>ef,ﳠ:()=>Bd,ﳡ:()=>Xn,ﳢ:()=>`بo`,ﳣ:()=>Sr,ﳤ:()=>`تo`,ﳥ:()=>Rf,ﳦ:()=>Ad,ﳧ:()=>Ra,ﳨ:()=>`سo`,ﳩ:()=>Va,ﳪ:()=>na,ﳫ:()=>jc,ﳬ:()=>Fc,ﳭ:()=>vl,ﳮ:()=>gu,ﳯ:()=>`نo`,ﳰ:()=>Pf,ﳱ:()=>`ىo`,ﳲ:()=>m,ﳳ:()=>g,ﳴ:()=>v,ﳵ:()=>as,ﳶ:()=>ss,ﳷ:()=>Cs,ﳸ:()=>Ts,ﳹ:()=>Ps,ﳺ:()=>Is,ﳻ:()=>eo,ﳼ:()=>no,ﳽ:()=>io,ﳾ:()=>oo,ﳿ:()=>si,ﴀ:()=>li,ﴁ:()=>qr,ﴂ:()=>Yr,ﴃ:()=>gi,ﴄ:()=>vi,ﴅ:()=>Do,ﴆ:()=>ko,ﴇ:()=>Go,ﴈ:()=>qo,ﴉ:()=>la,ﴊ:()=>ya,ﴋ:()=>Aa,ﴌ:()=>Ua,ﴍ:()=>Ia,ﴎ:()=>Pa,ﴏ:()=>_o,ﴐ:()=>Vo,ﴑ:()=>is,ﴒ:()=>os,ﴓ:()=>Ss,ﴔ:()=>ws,ﴕ:()=>Ns,ﴖ:()=>Fs,ﴗ:()=>$a,ﴘ:()=>to,ﴙ:()=>ro,ﴚ:()=>ao,ﴛ:()=>oi,ﴜ:()=>ci,ﴝ:()=>Kr,ﴞ:()=>Jr,ﴟ:()=>hi,ﴠ:()=>_i,ﴡ:()=>Eo,ﴢ:()=>Oo,ﴣ:()=>Wo,ﴤ:()=>Ko,ﴥ:()=>ca,ﴦ:()=>va,ﴧ:()=>ka,ﴨ:()=>Ha,ﴩ:()=>Fa,ﴪ:()=>Na,ﴫ:()=>go,ﴬ:()=>Bo,ﴭ:()=>oa,ﴮ:()=>ga,ﴯ:()=>Da,ﴰ:()=>Ba,ﴱ:()=>`سo`,ﴲ:()=>ta,ﴳ:()=>Zo,ﴴ:()=>ia,ﴵ:()=>ma,ﴶ:()=>Ta,ﴷ:()=>sa,ﴸ:()=>_a,ﴹ:()=>Oa,ﴺ:()=>Qo,ﴻ:()=>ls,ﴼ:()=>`l̋`,ﴽ:()=>`l̋`,ﵐ:()=>or,ﵑ:()=>fr,ﵒ:()=>dr,ﵓ:()=>pr,ﵔ:()=>gr,ﵕ:()=>Tr,ﵖ:()=>Er,ﵗ:()=>Dr,ﵘ:()=>Ur,ﵙ:()=>Hr,ﵚ:()=>ai,ﵛ:()=>ii,ﵜ:()=>ba,ﵝ:()=>ua,ﵞ:()=>da,ﵟ:()=>Ka,ﵠ:()=>Ga,ﵡ:()=>Wa,ﵢ:()=>Xa,ﵣ:()=>Ya,ﵤ:()=>po,ﵥ:()=>fo,ﵦ:()=>To,ﵧ:()=>Sa,ﵨ:()=>xa,ﵩ:()=>fa,ﵪ:()=>Ja,ﵫ:()=>qa,ﵬ:()=>Qa,ﵭ:()=>Za,ﵮ:()=>Po,ﵯ:()=>zo,ﵰ:()=>Ro,ﵱ:()=>ts,ﵲ:()=>es,ﵳ:()=>ns,ﵴ:()=>rs,ﵵ:()=>ms,ﵶ:()=>ys,ﵷ:()=>vs,ﵸ:()=>bs,ﵹ:()=>As,ﵺ:()=>Ms,ﵻ:()=>js,ﵼ:()=>Ws,ﵽ:()=>Us,ﵾ:()=>dc,ﵿ:()=>fc,ﶀ:()=>ul,ﶁ:()=>fl,ﶂ:()=>dl,ﶃ:()=>nl,ﶄ:()=>rl,ﶅ:()=>gl,ﶆ:()=>hl,ﶇ:()=>Sl,ﶈ:()=>xl,ﶉ:()=>Ll,ﶊ:()=>Rl,ﶋ:()=>Bl,ﶌ:()=>jl,ﶍ:()=>Nl,ﶎ:()=>Ul,ﶏ:()=>Wl,ﶒ:()=>Ml,ﶓ:()=>Yt,ﶔ:()=>Xt,ﶕ:()=>cu,ﶖ:()=>lu,ﶗ:()=>ru,ﶘ:()=>nu,ﶙ:()=>iu,ﶚ:()=>bu,ﶛ:()=>yu,ﶜ:()=>Hf,ﶝ:()=>Vf,ﶞ:()=>Kn,ﶟ:()=>cr,ﶠ:()=>sr,ﶡ:()=>vr,ﶢ:()=>_r,ﶣ:()=>kr,ﶤ:()=>Or,ﶥ:()=>Gr,ﶦ:()=>Lr,ﶧ:()=>Wr,ﶨ:()=>ja,ﶩ:()=>mo,ﶪ:()=>Ca,ﶫ:()=>Fo,ﶬ:()=>ol,ﶭ:()=>Cl,ﶮ:()=>Ef,ﶯ:()=>Cf,ﶰ:()=>Uf,ﶱ:()=>Yl,ﶲ:()=>pc,ﶳ:()=>uu,ﶴ:()=>uc,ﶵ:()=>ll,ﶶ:()=>xs,ﶷ:()=>Bc,ﶸ:()=>eu,ﶹ:()=>Gl,ﶺ:()=>il,ﶻ:()=>zc,ﶼ:()=>al,ﶽ:()=>tu,ﶾ:()=>Rr,ﶿ:()=>ti,ﷀ:()=>Pl,ﷁ:()=>qs,ﷂ:()=>Vn,ﷃ:()=>Rc,ﷄ:()=>ps,ﷅ:()=>wo,ﷆ:()=>Ma,ﷇ:()=>au,ﷰ:()=>bo,ﷱ:()=>sc,ﷲ:()=>Kt,ﷳ:()=>Gt,ﷴ:()=>zl,ﷵ:()=>vo,ﷶ:()=>Bi,ﷷ:()=>hs,ﷸ:()=>qu,ﷹ:()=>yo,ﷺ:()=>xo,ﷻ:()=>zr,ﺀ:()=>`ء`,ﺁ:()=>`آ`,ﺂ:()=>`آ`,ﺃ:()=>`lٴ`,ﺄ:()=>`lٴ`,ﺅ:()=>Uu,ﺆ:()=>Hu,ﺇ:()=>`lٕ`,ﺈ:()=>`lٕ`,ﺉ:()=>Fd,ﺊ:()=>Pd,ﺋ:()=>Md,ﺌ:()=>Nd,ﺍ:()=>`l`,ﺎ:()=>`l`,ﺏ:()=>`ب`,ﺐ:()=>`ب`,ﺑ:()=>`ب`,ﺒ:()=>`ب`,ﺓ:()=>`ة`,ﺔ:()=>`ة`,ﺕ:()=>`ت`,ﺖ:()=>`ت`,ﺗ:()=>`ت`,ﺘ:()=>`ت`,ﺙ:()=>vd,ﺚ:()=>_d,ﺛ:()=>hd,ﺜ:()=>gd,ﺝ:()=>`ج`,ﺞ:()=>`ج`,ﺟ:()=>`ج`,ﺠ:()=>`ج`,ﺡ:()=>`ح`,ﺢ:()=>`ح`,ﺣ:()=>`ح`,ﺤ:()=>`ح`,ﺥ:()=>`خ`,ﺦ:()=>`خ`,ﺧ:()=>`خ`,ﺨ:()=>`خ`,ﺩ:()=>`د`,ﺪ:()=>`د`,ﺫ:()=>`ذ`,ﺬ:()=>`ذ`,ﺭ:()=>`ر`,ﺮ:()=>`ر`,ﺯ:()=>`ز`,ﺰ:()=>`ز`,ﺱ:()=>`س`,ﺲ:()=>`س`,ﺳ:()=>`س`,ﺴ:()=>`س`,ﺵ:()=>$i,ﺶ:()=>Qi,ﺷ:()=>Xi,ﺸ:()=>Zi,ﺹ:()=>`ص`,ﺺ:()=>`ص`,ﺻ:()=>`ص`,ﺼ:()=>`ص`,ﺽ:()=>`ض`,ﺾ:()=>`ض`,ﺿ:()=>`ض`,ﻀ:()=>`ض`,ﻁ:()=>`ط`,ﻂ:()=>`ط`,ﻃ:()=>`ط`,ﻄ:()=>`ط`,ﻅ:()=>`ظ`,ﻆ:()=>`ظ`,ﻇ:()=>`ظ`,ﻈ:()=>`ظ`,ﻉ:()=>`ع`,ﻊ:()=>`ع`,ﻋ:()=>`ع`,ﻌ:()=>`ع`,ﻍ:()=>`غ`,ﻎ:()=>`غ`,ﻏ:()=>`غ`,ﻐ:()=>`غ`,ﻑ:()=>`ف`,ﻒ:()=>`ف`,ﻓ:()=>`ف`,ﻔ:()=>`ف`,ﻕ:()=>`ق`,ﻖ:()=>`ق`,ﻗ:()=>`ق`,ﻘ:()=>`ق`,ﻙ:()=>`ك`,ﻚ:()=>`ك`,ﻛ:()=>`ك`,ﻜ:()=>`ك`,ﻝ:()=>`ل`,ﻞ:()=>`ل`,ﻟ:()=>`ل`,ﻠ:()=>`ل`,ﻡ:()=>`م`,ﻢ:()=>`م`,ﻣ:()=>`م`,ﻤ:()=>`م`,ﻥ:()=>`ن`,ﻦ:()=>`ن`,ﻧ:()=>`ن`,ﻨ:()=>`ن`,ﻩ:()=>`o`,ﻪ:()=>`o`,ﻫ:()=>`o`,ﻬ:()=>`o`,ﻭ:()=>`و`,ﻮ:()=>`و`,ﻯ:()=>`ى`,ﻰ:()=>`ى`,ﻱ:()=>`ى`,ﻲ:()=>`ى`,ﻳ:()=>`ى`,ﻴ:()=>`ى`,ﻵ:()=>$c,ﻶ:()=>Qc,ﻷ:()=>Zc,ﻸ:()=>Xc,ﻹ:()=>Yc,ﻺ:()=>Jc,ﻻ:()=>`لl`,ﻼ:()=>`لl`,A:()=>`A`,B:()=>`B`,C:()=>`C`,E:()=>`E`,H:()=>`H`,I:()=>`l`,J:()=>`J`,K:()=>`K`,M:()=>`M`,N:()=>`N`,O:()=>`O`,P:()=>`P`,S:()=>`S`,T:()=>`T`,X:()=>`X`,Y:()=>`Y`,Z:()=>`Z`,a:()=>`a`,c:()=>`c`,e:()=>`e`,g:()=>`g`,h:()=>`h`,i:()=>`i`,j:()=>`j`,l:()=>`l`,o:()=>`o`,p:()=>`p`,s:()=>`s`,v:()=>`v`,x:()=>`x`,y:()=>`y`,𐊂:()=>`B`,𐊅:()=>`Δ`,𐊆:()=>`E`,𐊇:()=>`F`,𐊊:()=>`l`,𐊍:()=>`Ʌ`,𐊐:()=>`X`,𐊒:()=>`O`,𐊔:()=>`ᛜ`,𐊕:()=>`P`,𐊖:()=>`S`,𐊗:()=>`T`,𐊛:()=>`+`,𐊠:()=>`A`,𐊡:()=>`B`,𐊢:()=>`C`,𐊣:()=>`Δ`,𐊥:()=>`F`,𐊫:()=>`O`,𐊭:()=>`Ϙ`,𐊰:()=>`M`,𐊱:()=>`T`,𐊲:()=>`Y`,𐊳:()=>`Φ`,𐊴:()=>`X`,𐊵:()=>`Ψ`,𐊶:()=>`Ω`,𐊸:()=>`ⵀ`,𐋏:()=>`H`,𐌁:()=>`B`,𐌂:()=>`C`,𐌉:()=>`l`,𐌑:()=>`M`,𐌒:()=>`Ϙ`,𐌕:()=>`T`,𐌗:()=>`X`,𐌚:()=>`8`,𐌟:()=>`*`,𐏑:()=>gC,𐏓:()=>_C,𐐁:()=>`Ɛ`,𐐄:()=>`O`,𐐑:()=>`ꓶ`,𐐕:()=>`C`,𐐛:()=>`L`,𐐟:()=>`Ɒ`,𐐠:()=>`S`,𐐣:()=>`Ɔ`,𐐥:()=>`И`,𐐩:()=>`ꞓ`,𐐪:()=>`ʚ`,𐐬:()=>`o`,𐐽:()=>`c`,𐐿:()=>`ɷ`,𐑂:()=>`ɞ`,𐑃:()=>`ʟ`,𐑈:()=>`s`,𐑋:()=>`ɔ`,𐑍:()=>`ᴎ`,𐒰:()=>`Ʌ`,𐒴:()=>`R`,𐒼:()=>`Ӄ`,𐓂:()=>`O`,𐓃:()=>`ʘ`,𐓄:()=>`Þ`,𐓍:()=>`Ћ`,𐓎:()=>`U`,𐓐:()=>`ᛦ`,𐓑:()=>`Ψ`,𐓒:()=>`7`,𐓘:()=>`ʌ`,𐓛:()=>`λ`,𐓪:()=>`o`,𐓫:()=>`ꙩ`,𐓶:()=>`u`,𐓹:()=>`ψ`,𐔓:()=>`N`,𐔖:()=>`O`,𐔘:()=>`K`,𐔜:()=>`C`,𐔝:()=>`V`,𐔥:()=>`F`,𐔦:()=>`L`,𐔧:()=>`X`,𑇜:()=>`ꣻ`,𑐓:()=>em,𑐙:()=>tm,𑐤:()=>nm,𑐪:()=>rm,𑐭:()=>im,𑐯:()=>am,𑒒:()=>`ঘ`,𑒔:()=>`চ`,𑒖:()=>`জ`,𑒘:()=>`ঞ`,𑒙:()=>`ট`,𑒛:()=>`ড`,𑒝:()=>`ল`,𑒞:()=>`ত`,𑒟:()=>`থ`,𑒠:()=>`দ`,𑒡:()=>`ধ`,𑒢:()=>`ন`,𑒣:()=>`প`,𑒧:()=>`ম`,𑒨:()=>`য`,𑒩:()=>`ব`,𑒪:()=>`ণ`,𑒫:()=>`র`,𑒭:()=>`ষ`,𑒮:()=>`স`,𑓄:()=>`ঽ`,𑓅:()=>`ẇ`,𑗘:()=>om,𑗙:()=>sm,𑗚:()=>cm,𑗛:()=>lm,𑜀:()=>`rn`,𑜆:()=>`v`,𑜊:()=>`w`,𑜎:()=>`w`,𑜏:()=>`w`,𑢠:()=>`V`,𑢢:()=>`F`,𑢣:()=>`L`,𑢤:()=>`Y`,𑢦:()=>`E`,𑢨:()=>`∇`,𑢩:()=>`Z`,𑢬:()=>`9`,𑢮:()=>`E`,𑢯:()=>`4`,𑢲:()=>`L`,𑢵:()=>`O`,𑢷:()=>`ᛜ`,𑢸:()=>`U`,𑢻:()=>`5`,𑢼:()=>`T`,𑣀:()=>`v`,𑣁:()=>`s`,𑣂:()=>`F`,𑣃:()=>`i`,𑣄:()=>`z`,𑣆:()=>`7`,𑣈:()=>`o`,𑣊:()=>`3`,𑣌:()=>`9`,𑣎:()=>`ꞓ`,𑣕:()=>`6`,𑣖:()=>`9`,𑣗:()=>`o`,𑣘:()=>`u`,𑣜:()=>`y`,𑫦:()=>eC,𑫧:()=>iC,𑫨:()=>tC,𑫩:()=>nC,𑫪:()=>rC,𑫬:()=>uC,𑫭:()=>dC,𑫮:()=>fC,𑫴:()=>aC,𑫵:()=>lC,𑫶:()=>oC,𑫷:()=>sC,𑫸:()=>cC,𒀸:()=>vC,𓋹:()=>yC,𖼇:()=>`Γ`,𖼈:()=>`V`,𖼊:()=>`T`,𖼖:()=>`L`,𖼚:()=>`Δ`,𖼜:()=>`Ꙙ`,𖼦:()=>`ꓶ`,𖼨:()=>`l`,𖼭:()=>`Ɛ`,𖼵:()=>`R`,𖼺:()=>`S`,𖼻:()=>`3`,𖼽:()=>`Ʌ`,𖼿:()=>`>`,𖽀:()=>`A`,𖽂:()=>`U`,𖽃:()=>`Y`,𝐀:()=>`A`,𝐁:()=>`B`,𝐂:()=>`C`,𝐃:()=>`D`,𝐄:()=>`E`,𝐅:()=>`F`,𝐆:()=>`G`,𝐇:()=>`H`,𝐈:()=>`l`,𝐉:()=>`J`,𝐊:()=>`K`,𝐋:()=>`L`,𝐌:()=>`M`,𝐍:()=>`N`,𝐎:()=>`O`,𝐏:()=>`P`,𝐐:()=>`Q`,𝐑:()=>`R`,𝐒:()=>`S`,𝐓:()=>`T`,𝐔:()=>`U`,𝐕:()=>`V`,𝐖:()=>`W`,𝐗:()=>`X`,𝐘:()=>`Y`,𝐙:()=>`Z`,𝐚:()=>`a`,𝐛:()=>`b`,𝐜:()=>`c`,𝐝:()=>`d`,𝐞:()=>`e`,𝐟:()=>`f`,𝐠:()=>`g`,𝐡:()=>`h`,𝐢:()=>`i`,𝐣:()=>`j`,𝐤:()=>`k`,𝐥:()=>`l`,𝐦:()=>`rn`,𝐧:()=>`n`,𝐨:()=>`o`,𝐩:()=>`p`,𝐪:()=>`q`,𝐫:()=>`r`,𝐬:()=>`s`,𝐭:()=>`t`,𝐮:()=>`u`,𝐯:()=>`v`,𝐰:()=>`w`,𝐱:()=>`x`,𝐲:()=>`y`,𝐳:()=>`z`,𝐴:()=>`A`,𝐵:()=>`B`,𝐶:()=>`C`,𝐷:()=>`D`,𝐸:()=>`E`,𝐹:()=>`F`,𝐺:()=>`G`,𝐻:()=>`H`,𝐼:()=>`l`,𝐽:()=>`J`,𝐾:()=>`K`,𝐿:()=>`L`,𝑀:()=>`M`,𝑁:()=>`N`,𝑂:()=>`O`,𝑃:()=>`P`,𝑄:()=>`Q`,𝑅:()=>`R`,𝑆:()=>`S`,𝑇:()=>`T`,𝑈:()=>`U`,𝑉:()=>`V`,𝑊:()=>`W`,𝑋:()=>`X`,𝑌:()=>`Y`,𝑍:()=>`Z`,𝑎:()=>`a`,𝑏:()=>`b`,𝑐:()=>`c`,𝑑:()=>`d`,𝑒:()=>`e`,𝑓:()=>`f`,𝑔:()=>`g`,𝑖:()=>`i`,𝑗:()=>`j`,𝑘:()=>`k`,𝑙:()=>`l`,𝑚:()=>`rn`,𝑛:()=>`n`,𝑜:()=>`o`,𝑝:()=>`p`,𝑞:()=>`q`,𝑟:()=>`r`,𝑠:()=>`s`,𝑡:()=>`t`,𝑢:()=>`u`,𝑣:()=>`v`,𝑤:()=>`w`,𝑥:()=>`x`,𝑦:()=>`y`,𝑧:()=>`z`,𝑨:()=>`A`,𝑩:()=>`B`,𝑪:()=>`C`,𝑫:()=>`D`,𝑬:()=>`E`,𝑭:()=>`F`,𝑮:()=>`G`,𝑯:()=>`H`,𝑰:()=>`l`,𝑱:()=>`J`,𝑲:()=>`K`,𝑳:()=>`L`,𝑴:()=>`M`,𝑵:()=>`N`,𝑶:()=>`O`,𝑷:()=>`P`,𝑸:()=>`Q`,𝑹:()=>`R`,𝑺:()=>`S`,𝑻:()=>`T`,𝑼:()=>`U`,𝑽:()=>`V`,𝑾:()=>`W`,𝑿:()=>`X`,𝒀:()=>`Y`,𝒁:()=>`Z`,𝒂:()=>`a`,𝒃:()=>`b`,𝒄:()=>`c`,𝒅:()=>`d`,𝒆:()=>`e`,𝒇:()=>`f`,𝒈:()=>`g`,𝒉:()=>`h`,𝒊:()=>`i`,𝒋:()=>`j`,𝒌:()=>`k`,𝒍:()=>`l`,𝒎:()=>`rn`,𝒏:()=>`n`,𝒐:()=>`o`,𝒑:()=>`p`,𝒒:()=>`q`,𝒓:()=>`r`,𝒔:()=>`s`,𝒕:()=>`t`,𝒖:()=>`u`,𝒗:()=>`v`,𝒘:()=>`w`,𝒙:()=>`x`,𝒚:()=>`y`,𝒛:()=>`z`,𝒜:()=>`A`,𝒞:()=>`C`,𝒟:()=>`D`,𝒢:()=>`G`,𝒥:()=>`J`,𝒦:()=>`K`,𝒩:()=>`N`,𝒪:()=>`O`,𝒫:()=>`P`,𝒬:()=>`Q`,𝒮:()=>`S`,𝒯:()=>`T`,𝒰:()=>`U`,𝒱:()=>`V`,𝒲:()=>`W`,𝒳:()=>`X`,𝒴:()=>`Y`,𝒵:()=>`Z`,𝒶:()=>`a`,𝒷:()=>`b`,𝒸:()=>`c`,𝒹:()=>`d`,𝒻:()=>`f`,𝒽:()=>`h`,𝒾:()=>`i`,𝒿:()=>`j`,𝓀:()=>`k`,𝓁:()=>`l`,𝓂:()=>`rn`,𝓃:()=>`n`,𝓅:()=>`p`,𝓆:()=>`q`,𝓇:()=>`r`,𝓈:()=>`s`,𝓉:()=>`t`,𝓊:()=>`u`,𝓋:()=>`v`,𝓌:()=>`w`,𝓍:()=>`x`,𝓎:()=>`y`,𝓏:()=>`z`,𝓐:()=>`A`,𝓑:()=>`B`,𝓒:()=>`C`,𝓓:()=>`D`,𝓔:()=>`E`,𝓕:()=>`F`,𝓖:()=>`G`,𝓗:()=>`H`,𝓘:()=>`l`,𝓙:()=>`J`,𝓚:()=>`K`,𝓛:()=>`L`,𝓜:()=>`M`,𝓝:()=>`N`,𝓞:()=>`O`,𝓟:()=>`P`,𝓠:()=>`Q`,𝓡:()=>`R`,𝓢:()=>`S`,𝓣:()=>`T`,𝓤:()=>`U`,𝓥:()=>`V`,𝓦:()=>`W`,𝓧:()=>`X`,𝓨:()=>`Y`,𝓩:()=>`Z`,𝓪:()=>`a`,𝓫:()=>`b`,𝓬:()=>`c`,𝓭:()=>`d`,𝓮:()=>`e`,𝓯:()=>`f`,𝓰:()=>`g`,𝓱:()=>`h`,𝓲:()=>`i`,𝓳:()=>`j`,𝓴:()=>`k`,𝓵:()=>`l`,𝓶:()=>`rn`,𝓷:()=>`n`,𝓸:()=>`o`,𝓹:()=>`p`,𝓺:()=>`q`,𝓻:()=>`r`,𝓼:()=>`s`,𝓽:()=>`t`,𝓾:()=>`u`,𝓿:()=>`v`,𝔀:()=>`w`,𝔁:()=>`x`,𝔂:()=>`y`,𝔃:()=>`z`,𝔄:()=>`A`,𝔅:()=>`B`,𝔇:()=>`D`,𝔈:()=>`E`,𝔉:()=>`F`,𝔊:()=>`G`,𝔍:()=>`J`,𝔎:()=>`K`,𝔏:()=>`L`,𝔐:()=>`M`,𝔑:()=>`N`,𝔒:()=>`O`,𝔓:()=>`P`,𝔔:()=>`Q`,𝔖:()=>`S`,𝔗:()=>`T`,𝔘:()=>`U`,𝔙:()=>`V`,𝔚:()=>`W`,𝔛:()=>`X`,𝔜:()=>`Y`,𝔞:()=>`a`,𝔟:()=>`b`,𝔠:()=>`c`,𝔡:()=>`d`,𝔢:()=>`e`,𝔣:()=>`f`,𝔤:()=>`g`,𝔥:()=>`h`,𝔦:()=>`i`,𝔧:()=>`j`,𝔨:()=>`k`,𝔩:()=>`l`,𝔪:()=>`rn`,𝔫:()=>`n`,𝔬:()=>`o`,𝔭:()=>`p`,𝔮:()=>`q`,𝔯:()=>`r`,𝔰:()=>`s`,𝔱:()=>`t`,𝔲:()=>`u`,𝔳:()=>`v`,𝔴:()=>`w`,𝔵:()=>`x`,𝔶:()=>`y`,𝔷:()=>`z`,𝔸:()=>`A`,𝔹:()=>`B`,𝔻:()=>`D`,𝔼:()=>`E`,𝔽:()=>`F`,𝔾:()=>`G`,𝕀:()=>`l`,𝕁:()=>`J`,𝕂:()=>`K`,𝕃:()=>`L`,𝕄:()=>`M`,𝕆:()=>`O`,𝕊:()=>`S`,𝕋:()=>`T`,𝕌:()=>`U`,𝕍:()=>`V`,𝕎:()=>`W`,𝕏:()=>`X`,𝕐:()=>`Y`,𝕒:()=>`a`,𝕓:()=>`b`,𝕔:()=>`c`,𝕕:()=>`d`,𝕖:()=>`e`,𝕗:()=>`f`,𝕘:()=>`g`,𝕙:()=>`h`,𝕚:()=>`i`,𝕛:()=>`j`,𝕜:()=>`k`,𝕝:()=>`l`,𝕞:()=>`rn`,𝕟:()=>`n`,𝕠:()=>`o`,𝕡:()=>`p`,𝕢:()=>`q`,𝕣:()=>`r`,𝕤:()=>`s`,𝕥:()=>`t`,𝕦:()=>`u`,𝕧:()=>`v`,𝕨:()=>`w`,𝕩:()=>`x`,𝕪:()=>`y`,𝕫:()=>`z`,𝕬:()=>`A`,𝕭:()=>`B`,𝕮:()=>`C`,𝕯:()=>`D`,𝕰:()=>`E`,𝕱:()=>`F`,𝕲:()=>`G`,𝕳:()=>`H`,𝕴:()=>`l`,𝕵:()=>`J`,𝕶:()=>`K`,𝕷:()=>`L`,𝕸:()=>`M`,𝕹:()=>`N`,𝕺:()=>`O`,𝕻:()=>`P`,𝕼:()=>`Q`,𝕽:()=>`R`,𝕾:()=>`S`,𝕿:()=>`T`,𝖀:()=>`U`,𝖁:()=>`V`,𝖂:()=>`W`,𝖃:()=>`X`,𝖄:()=>`Y`,𝖅:()=>`Z`,𝖆:()=>`a`,𝖇:()=>`b`,𝖈:()=>`c`,𝖉:()=>`d`,𝖊:()=>`e`,𝖋:()=>`f`,𝖌:()=>`g`,𝖍:()=>`h`,𝖎:()=>`i`,𝖏:()=>`j`,𝖐:()=>`k`,𝖑:()=>`l`,𝖒:()=>`rn`,𝖓:()=>`n`,𝖔:()=>`o`,𝖕:()=>`p`,𝖖:()=>`q`,𝖗:()=>`r`,𝖘:()=>`s`,𝖙:()=>`t`,𝖚:()=>`u`,𝖛:()=>`v`,𝖜:()=>`w`,𝖝:()=>`x`,𝖞:()=>`y`,𝖟:()=>`z`,𝖠:()=>`A`,𝖡:()=>`B`,𝖢:()=>`C`,𝖣:()=>`D`,𝖤:()=>`E`,𝖥:()=>`F`,𝖦:()=>`G`,𝖧:()=>`H`,𝖨:()=>`l`,𝖩:()=>`J`,𝖪:()=>`K`,𝖫:()=>`L`,𝖬:()=>`M`,𝖭:()=>`N`,𝖮:()=>`O`,𝖯:()=>`P`,𝖰:()=>`Q`,𝖱:()=>`R`,𝖲:()=>`S`,𝖳:()=>`T`,𝖴:()=>`U`,𝖵:()=>`V`,𝖶:()=>`W`,𝖷:()=>`X`,𝖸:()=>`Y`,𝖹:()=>`Z`,𝖺:()=>`a`,𝖻:()=>`b`,𝖼:()=>`c`,𝖽:()=>`d`,𝖾:()=>`e`,𝖿:()=>`f`,𝗀:()=>`g`,𝗁:()=>`h`,𝗂:()=>`i`,𝗃:()=>`j`,𝗄:()=>`k`,𝗅:()=>`l`,𝗆:()=>`rn`,𝗇:()=>`n`,𝗈:()=>`o`,𝗉:()=>`p`,𝗊:()=>`q`,𝗋:()=>`r`,𝗌:()=>`s`,𝗍:()=>`t`,𝗎:()=>`u`,𝗏:()=>`v`,𝗐:()=>`w`,𝗑:()=>`x`,𝗒:()=>`y`,𝗓:()=>`z`,𝗔:()=>`A`,𝗕:()=>`B`,𝗖:()=>`C`,𝗗:()=>`D`,𝗘:()=>`E`,𝗙:()=>`F`,𝗚:()=>`G`,𝗛:()=>`H`,𝗜:()=>`l`,𝗝:()=>`J`,𝗞:()=>`K`,𝗟:()=>`L`,𝗠:()=>`M`,𝗡:()=>`N`,𝗢:()=>`O`,𝗣:()=>`P`,𝗤:()=>`Q`,𝗥:()=>`R`,𝗦:()=>`S`,𝗧:()=>`T`,𝗨:()=>`U`,𝗩:()=>`V`,𝗪:()=>`W`,𝗫:()=>`X`,𝗬:()=>`Y`,𝗭:()=>`Z`,𝗮:()=>`a`,𝗯:()=>`b`,𝗰:()=>`c`,𝗱:()=>`d`,𝗲:()=>`e`,𝗳:()=>`f`,𝗴:()=>`g`,𝗵:()=>`h`,𝗶:()=>`i`,𝗷:()=>`j`,𝗸:()=>`k`,𝗹:()=>`l`,𝗺:()=>`rn`,𝗻:()=>`n`,𝗼:()=>`o`,𝗽:()=>`p`,𝗾:()=>`q`,𝗿:()=>`r`,𝘀:()=>`s`,𝘁:()=>`t`,𝘂:()=>`u`,𝘃:()=>`v`,𝘄:()=>`w`,𝘅:()=>`x`,𝘆:()=>`y`,𝘇:()=>`z`,𝘈:()=>`A`,𝘉:()=>`B`,𝘊:()=>`C`,𝘋:()=>`D`,𝘌:()=>`E`,𝘍:()=>`F`,𝘎:()=>`G`,𝘏:()=>`H`,𝘐:()=>`l`,𝘑:()=>`J`,𝘒:()=>`K`,𝘓:()=>`L`,𝘔:()=>`M`,𝘕:()=>`N`,𝘖:()=>`O`,𝘗:()=>`P`,𝘘:()=>`Q`,𝘙:()=>`R`,𝘚:()=>`S`,𝘛:()=>`T`,𝘜:()=>`U`,𝘝:()=>`V`,𝘞:()=>`W`,𝘟:()=>`X`,𝘠:()=>`Y`,𝘡:()=>`Z`,𝘢:()=>`a`,𝘣:()=>`b`,𝘤:()=>`c`,𝘥:()=>`d`,𝘦:()=>`e`,𝘧:()=>`f`,𝘨:()=>`g`,𝘩:()=>`h`,𝘪:()=>`i`,𝘫:()=>`j`,𝘬:()=>`k`,𝘭:()=>`l`,𝘮:()=>`rn`,𝘯:()=>`n`,𝘰:()=>`o`,𝘱:()=>`p`,𝘲:()=>`q`,𝘳:()=>`r`,𝘴:()=>`s`,𝘵:()=>`t`,𝘶:()=>`u`,𝘷:()=>`v`,𝘸:()=>`w`,𝘹:()=>`x`,𝘺:()=>`y`,𝘻:()=>`z`,𝘼:()=>`A`,𝘽:()=>`B`,𝘾:()=>`C`,𝘿:()=>`D`,𝙀:()=>`E`,𝙁:()=>`F`,𝙂:()=>`G`,𝙃:()=>`H`,𝙄:()=>`l`,𝙅:()=>`J`,𝙆:()=>`K`,𝙇:()=>`L`,𝙈:()=>`M`,𝙉:()=>`N`,𝙊:()=>`O`,𝙋:()=>`P`,𝙌:()=>`Q`,𝙍:()=>`R`,𝙎:()=>`S`,𝙏:()=>`T`,𝙐:()=>`U`,𝙑:()=>`V`,𝙒:()=>`W`,𝙓:()=>`X`,𝙔:()=>`Y`,𝙕:()=>`Z`,𝙖:()=>`a`,𝙗:()=>`b`,𝙘:()=>`c`,𝙙:()=>`d`,𝙚:()=>`e`,𝙛:()=>`f`,𝙜:()=>`g`,𝙝:()=>`h`,𝙞:()=>`i`,𝙟:()=>`j`,𝙠:()=>`k`,𝙡:()=>`l`,𝙢:()=>`rn`,𝙣:()=>`n`,𝙤:()=>`o`,𝙥:()=>`p`,𝙦:()=>`q`,𝙧:()=>`r`,𝙨:()=>`s`,𝙩:()=>`t`,𝙪:()=>`u`,𝙫:()=>`v`,𝙬:()=>`w`,𝙭:()=>`x`,𝙮:()=>`y`,𝙯:()=>`z`,𝙰:()=>`A`,𝙱:()=>`B`,𝙲:()=>`C`,𝙳:()=>`D`,𝙴:()=>`E`,𝙵:()=>`F`,𝙶:()=>`G`,𝙷:()=>`H`,𝙸:()=>`l`,𝙹:()=>`J`,𝙺:()=>`K`,𝙻:()=>`L`,𝙼:()=>`M`,𝙽:()=>`N`,𝙾:()=>`O`,𝙿:()=>`P`,𝚀:()=>`Q`,𝚁:()=>`R`,𝚂:()=>`S`,𝚃:()=>`T`,𝚄:()=>`U`,𝚅:()=>`V`,𝚆:()=>`W`,𝚇:()=>`X`,𝚈:()=>`Y`,𝚉:()=>`Z`,𝚊:()=>`a`,𝚋:()=>`b`,𝚌:()=>`c`,𝚍:()=>`d`,𝚎:()=>`e`,𝚏:()=>`f`,𝚐:()=>`g`,𝚑:()=>`h`,𝚒:()=>`i`,𝚓:()=>`j`,𝚔:()=>`k`,𝚕:()=>`l`,𝚖:()=>`rn`,𝚗:()=>`n`,𝚘:()=>`o`,𝚙:()=>`p`,𝚚:()=>`q`,𝚛:()=>`r`,𝚜:()=>`s`,𝚝:()=>`t`,𝚞:()=>`u`,𝚟:()=>`v`,𝚠:()=>`w`,𝚡:()=>`x`,𝚢:()=>`y`,𝚣:()=>`z`,𝚤:()=>`i`,𝚥:()=>`ȷ`,𝚨:()=>`A`,𝚩:()=>`B`,𝚪:()=>`Γ`,𝚫:()=>`Δ`,𝚬:()=>`E`,𝚭:()=>`Z`,𝚮:()=>`H`,𝚯:()=>`O̵`,𝚰:()=>`l`,𝚱:()=>`K`,𝚲:()=>`Ʌ`,𝚳:()=>`M`,𝚴:()=>`N`,𝚵:()=>`Ξ`,𝚶:()=>`O`,𝚷:()=>`Π`,𝚸:()=>`P`,𝚹:()=>`O̵`,𝚺:()=>`Ʃ`,𝚻:()=>`T`,𝚼:()=>`Y`,𝚽:()=>`Φ`,𝚾:()=>`X`,𝚿:()=>`Ψ`,𝛀:()=>`Ω`,𝛂:()=>`a`,𝛃:()=>`ß`,𝛄:()=>`y`,𝛅:()=>`ẟ`,𝛆:()=>`ꞓ`,𝛇:()=>`ζ`,𝛈:()=>`n̩`,𝛉:()=>`O̵`,𝛊:()=>`i`,𝛋:()=>`ĸ`,𝛌:()=>`λ`,𝛍:()=>`μ`,𝛎:()=>`v`,𝛏:()=>`ξ`,𝛐:()=>`o`,𝛑:()=>`π`,𝛒:()=>`p`,𝛓:()=>`ς`,𝛔:()=>`o`,𝛕:()=>`ᴛ`,𝛖:()=>`u`,𝛗:()=>`ɸ`,𝛘:()=>`χ`,𝛙:()=>`ψ`,𝛚:()=>`ω`,𝛜:()=>`ꞓ`,𝛝:()=>`O̵`,𝛞:()=>`ĸ`,𝛟:()=>`ɸ`,𝛠:()=>`p`,𝛡:()=>`π`,𝛢:()=>`A`,𝛣:()=>`B`,𝛤:()=>`Γ`,𝛥:()=>`Δ`,𝛦:()=>`E`,𝛧:()=>`Z`,𝛨:()=>`H`,𝛩:()=>`O̵`,𝛪:()=>`l`,𝛫:()=>`K`,𝛬:()=>`Ʌ`,𝛭:()=>`M`,𝛮:()=>`N`,𝛯:()=>`Ξ`,𝛰:()=>`O`,𝛱:()=>`Π`,𝛲:()=>`P`,𝛳:()=>`O̵`,𝛴:()=>`Ʃ`,𝛵:()=>`T`,𝛶:()=>`Y`,𝛷:()=>`Φ`,𝛸:()=>`X`,𝛹:()=>`Ψ`,𝛺:()=>`Ω`,𝛼:()=>`a`,𝛽:()=>`ß`,𝛾:()=>`y`,𝛿:()=>`ẟ`,𝜀:()=>`ꞓ`,𝜁:()=>`ζ`,𝜂:()=>`n̩`,𝜃:()=>`O̵`,𝜄:()=>`i`,𝜅:()=>`ĸ`,𝜆:()=>`λ`,𝜇:()=>`μ`,𝜈:()=>`v`,𝜉:()=>`ξ`,𝜊:()=>`o`,𝜋:()=>`π`,𝜌:()=>`p`,𝜍:()=>`ς`,𝜎:()=>`o`,𝜏:()=>`ᴛ`,𝜐:()=>`u`,𝜑:()=>`ɸ`,𝜒:()=>`χ`,𝜓:()=>`ψ`,𝜔:()=>`ω`,𝜖:()=>`ꞓ`,𝜗:()=>`O̵`,𝜘:()=>`ĸ`,𝜙:()=>`ɸ`,𝜚:()=>`p`,𝜛:()=>`π`,𝜜:()=>`A`,𝜝:()=>`B`,𝜞:()=>`Γ`,𝜟:()=>`Δ`,𝜠:()=>`E`,𝜡:()=>`Z`,𝜢:()=>`H`,𝜣:()=>`O̵`,𝜤:()=>`l`,𝜥:()=>`K`,𝜦:()=>`Ʌ`,𝜧:()=>`M`,𝜨:()=>`N`,𝜩:()=>`Ξ`,𝜪:()=>`O`,𝜫:()=>`Π`,𝜬:()=>`P`,𝜭:()=>`O̵`,𝜮:()=>`Ʃ`,𝜯:()=>`T`,𝜰:()=>`Y`,𝜱:()=>`Φ`,𝜲:()=>`X`,𝜳:()=>`Ψ`,𝜴:()=>`Ω`,𝜶:()=>`a`,𝜷:()=>`ß`,𝜸:()=>`y`,𝜹:()=>`ẟ`,𝜺:()=>`ꞓ`,𝜻:()=>`ζ`,𝜼:()=>`n̩`,𝜽:()=>`O̵`,𝜾:()=>`i`,𝜿:()=>`ĸ`,𝝀:()=>`λ`,𝝁:()=>`μ`,𝝂:()=>`v`,𝝃:()=>`ξ`,𝝄:()=>`o`,𝝅:()=>`π`,𝝆:()=>`p`,𝝇:()=>`ς`,𝝈:()=>`o`,𝝉:()=>`ᴛ`,𝝊:()=>`u`,𝝋:()=>`ɸ`,𝝌:()=>`χ`,𝝍:()=>`ψ`,𝝎:()=>`ω`,𝝐:()=>`ꞓ`,𝝑:()=>`O̵`,𝝒:()=>`ĸ`,𝝓:()=>`ɸ`,𝝔:()=>`p`,𝝕:()=>`π`,𝝖:()=>`A`,𝝗:()=>`B`,𝝘:()=>`Γ`,𝝙:()=>`Δ`,𝝚:()=>`E`,𝝛:()=>`Z`,𝝜:()=>`H`,𝝝:()=>`O̵`,𝝞:()=>`l`,𝝟:()=>`K`,𝝠:()=>`Ʌ`,𝝡:()=>`M`,𝝢:()=>`N`,𝝣:()=>`Ξ`,𝝤:()=>`O`,𝝥:()=>`Π`,𝝦:()=>`P`,𝝧:()=>`O̵`,𝝨:()=>`Ʃ`,𝝩:()=>`T`,𝝪:()=>`Y`,𝝫:()=>`Φ`,𝝬:()=>`X`,𝝭:()=>`Ψ`,𝝮:()=>`Ω`,𝝰:()=>`a`,𝝱:()=>`ß`,𝝲:()=>`y`,𝝳:()=>`ẟ`,𝝴:()=>`ꞓ`,𝝵:()=>`ζ`,𝝶:()=>`n̩`,𝝷:()=>`O̵`,𝝸:()=>`i`,𝝹:()=>`ĸ`,𝝺:()=>`λ`,𝝻:()=>`μ`,𝝼:()=>`v`,𝝽:()=>`ξ`,𝝾:()=>`o`,𝝿:()=>`π`,𝞀:()=>`p`,𝞁:()=>`ς`,𝞂:()=>`o`,𝞃:()=>`ᴛ`,𝞄:()=>`u`,𝞅:()=>`ɸ`,𝞆:()=>`χ`,𝞇:()=>`ψ`,𝞈:()=>`ω`,𝞊:()=>`ꞓ`,𝞋:()=>`O̵`,𝞌:()=>`ĸ`,𝞍:()=>`ɸ`,𝞎:()=>`p`,𝞏:()=>`π`,𝞐:()=>`A`,𝞑:()=>`B`,𝞒:()=>`Γ`,𝞓:()=>`Δ`,𝞔:()=>`E`,𝞕:()=>`Z`,𝞖:()=>`H`,𝞗:()=>`O̵`,𝞘:()=>`l`,𝞙:()=>`K`,𝞚:()=>`Ʌ`,𝞛:()=>`M`,𝞜:()=>`N`,𝞝:()=>`Ξ`,𝞞:()=>`O`,𝞟:()=>`Π`,𝞠:()=>`P`,𝞡:()=>`O̵`,𝞢:()=>`Ʃ`,𝞣:()=>`T`,𝞤:()=>`Y`,𝞥:()=>`Φ`,𝞦:()=>`X`,𝞧:()=>`Ψ`,𝞨:()=>`Ω`,𝞪:()=>`a`,𝞫:()=>`ß`,𝞬:()=>`y`,𝞭:()=>`ẟ`,𝞮:()=>`ꞓ`,𝞯:()=>`ζ`,𝞰:()=>`n̩`,𝞱:()=>`O̵`,𝞲:()=>`i`,𝞳:()=>`ĸ`,𝞴:()=>`λ`,𝞵:()=>`μ`,𝞶:()=>`v`,𝞷:()=>`ξ`,𝞸:()=>`o`,𝞹:()=>`π`,𝞺:()=>`p`,𝞻:()=>`ς`,𝞼:()=>`o`,𝞽:()=>`ᴛ`,𝞾:()=>`u`,𝞿:()=>`ɸ`,𝟀:()=>`χ`,𝟁:()=>`ψ`,𝟂:()=>`ω`,𝟄:()=>`ꞓ`,𝟅:()=>`O̵`,𝟆:()=>`ĸ`,𝟇:()=>`ɸ`,𝟈:()=>`p`,𝟉:()=>`π`,𝟊:()=>`F`,𝟋:()=>`ϝ`,𞸀:()=>`l`,𞸁:()=>`ب`,𞸂:()=>`ج`,𞸃:()=>`د`,𞸅:()=>`و`,𞸆:()=>`ز`,𞸇:()=>`ح`,𞸈:()=>`ط`,𞸉:()=>`ى`,𞸊:()=>`ك`,𞸋:()=>`ل`,𞸌:()=>`م`,𞸍:()=>`ن`,𞸎:()=>`س`,𞸏:()=>`ع`,𞸐:()=>`ف`,𞸑:()=>`ص`,𞸒:()=>`ق`,𞸓:()=>`ر`,𞸔:()=>Wi,𞸕:()=>`ت`,𞸖:()=>ud,𞸗:()=>`خ`,𞸘:()=>`ذ`,𞸙:()=>`ض`,𞸚:()=>`ظ`,𞸛:()=>`غ`,𞸜:()=>`ى`,𞸝:()=>`ى`,𞸞:()=>`ڡ`,𞸟:()=>`ڡ`,𞸡:()=>`ب`,𞸢:()=>`ج`,𞸤:()=>`o`,𞸧:()=>`ح`,𞸩:()=>`ى`,𞸪:()=>`ك`,𞸫:()=>`ل`,𞸬:()=>`م`,𞸭:()=>`ن`,𞸮:()=>`س`,𞸯:()=>`ع`,𞸰:()=>`ف`,𞸱:()=>`ص`,𞸲:()=>`ق`,𞸴:()=>Gi,𞸵:()=>`ت`,𞸶:()=>dd,𞸷:()=>`خ`,𞸹:()=>`ض`,𞸻:()=>`غ`,𞹂:()=>`ج`,𞹇:()=>`ح`,𞹉:()=>`ى`,𞹋:()=>`ل`,𞹍:()=>`ن`,𞹎:()=>`س`,𞹏:()=>`ع`,𞹑:()=>`ص`,𞹒:()=>`ق`,𞹔:()=>Ki,𞹗:()=>`خ`,𞹙:()=>`ض`,𞹛:()=>`غ`,𞹝:()=>`ى`,𞹟:()=>`ڡ`,𞹡:()=>`ب`,𞹢:()=>`ج`,𞹤:()=>`o`,𞹧:()=>`ح`,𞹨:()=>`ط`,𞹩:()=>`ى`,𞹪:()=>`ك`,𞹬:()=>`م`,𞹭:()=>`ن`,𞹮:()=>`س`,𞹯:()=>`ع`,𞹰:()=>`ف`,𞹱:()=>`ص`,𞹲:()=>`ق`,𞹴:()=>qi,𞹵:()=>`ت`,𞹶:()=>fd,𞹷:()=>`خ`,𞹹:()=>`ض`,𞹺:()=>`ظ`,𞹻:()=>`غ`,𞹼:()=>`ى`,𞹾:()=>`ڡ`,𞺀:()=>`l`,𞺁:()=>`ب`,𞺂:()=>`ج`,𞺃:()=>`د`,𞺄:()=>`o`,𞺅:()=>`و`,𞺆:()=>`ز`,𞺇:()=>`ح`,𞺈:()=>`ط`,𞺉:()=>`ى`,𞺋:()=>`ل`,𞺌:()=>`م`,𞺍:()=>`ن`,𞺎:()=>`س`,𞺏:()=>`ع`,𞺐:()=>`ف`,𞺑:()=>`ص`,𞺒:()=>`ق`,𞺓:()=>`ر`,𞺔:()=>Ji,𞺕:()=>`ت`,𞺖:()=>pd,𞺗:()=>`خ`,𞺘:()=>`ذ`,𞺙:()=>`ض`,𞺚:()=>`ظ`,𞺛:()=>`غ`,𞺡:()=>`ب`,𞺢:()=>`ج`,𞺣:()=>`د`,𞺥:()=>`و`,𞺦:()=>`ز`,𞺧:()=>`ح`,𞺨:()=>`ط`,𞺩:()=>`ى`,𞺫:()=>`ل`,𞺬:()=>`م`,𞺭:()=>`ن`,𞺮:()=>`س`,𞺯:()=>`ع`,𞺰:()=>`ف`,𞺱:()=>`ص`,𞺲:()=>`ق`,𞺳:()=>`ر`,𞺴:()=>Yi,𞺵:()=>`ت`,𞺶:()=>md,𞺷:()=>`خ`,𞺸:()=>`ذ`,𞺹:()=>`ض`,𞺺:()=>`ظ`,𞺻:()=>`غ`,𡿨:()=>`❬`,丽:()=>`丽`,丸:()=>`丸`,乁:()=>`乁`,𠄢:()=>PC,你:()=>`你`,侮:()=>`侮`,侻:()=>`侻`,倂:()=>`併`,偺:()=>`偺`,備:()=>`備`,僧:()=>`僧`,像:()=>`像`,㒞:()=>`㒞`,𠘺:()=>RC,免:()=>`免`,兔:()=>`兔`,兤:()=>`兤`,具:()=>`具`,𠔜:()=>FC,㒹:()=>`㒹`,內:()=>`內`,再:()=>`再`,𠕋:()=>LC,冗:()=>`冗`,冤:()=>`冤`,仌:()=>`仌`,冬:()=>`冬`,况:()=>`况`,𩇟:()=>ET,凵:()=>`凵`,刃:()=>`刃`,㓟:()=>`㓟`,刻:()=>`刻`,剆:()=>`剆`,割:()=>`割`,剷:()=>`剷`,㔕:()=>`㔕`,勇:()=>`勇`,勉:()=>`勉`,勤:()=>`勤`,勺:()=>`勺`,包:()=>`包`,匆:()=>`匆`,北:()=>`北`,卉:()=>`卉`,卑:()=>`卑`,博:()=>`博`,即:()=>`即`,卽:()=>`卽`,卿:()=>`卿`,卿:()=>`卿`,卿:()=>`卿`,𠨬:()=>VC,灰:()=>`灰`,及:()=>`及`,叟:()=>`叟`,𠭣:()=>HC,叫:()=>`叫`,叱:()=>`叱`,吆:()=>`吆`,咞:()=>`咞`,吸:()=>`吸`,呈:()=>`呈`,周:()=>`周`,咢:()=>`咢`,哶:()=>`哶`,唐:()=>`唐`,啓:()=>`啓`,啣:()=>`啣`,善:()=>`善`,善:()=>`善`,喙:()=>`喙`,喫:()=>`喫`,喳:()=>`喳`,嗂:()=>`嗂`,圖:()=>`圖`,嘆:()=>`嘆`,圗:()=>`圗`,噑:()=>`噑`,噴:()=>`噴`,切:()=>`切`,壮:()=>`壮`,城:()=>`城`,埴:()=>`埴`,堍:()=>`堍`,型:()=>`型`,堲:()=>`堲`,報:()=>`報`,墬:()=>`墬`,𡓤:()=>UC,売:()=>`売`,壷:()=>`壷`,夆:()=>`夆`,多:()=>`多`,夢:()=>`夢`,奢:()=>`奢`,𡚨:()=>WC,𡛪:()=>GC,姬:()=>`姬`,娛:()=>`娛`,娧:()=>`娧`,姘:()=>`姘`,婦:()=>`婦`,㛮:()=>`㛮`,㛼:()=>`㛼`,嬈:()=>`嬈`,嬾:()=>`嬾`,嬾:()=>`嬾`,𡧈:()=>KC,寃:()=>`寃`,寘:()=>`寘`,寧:()=>`寧`,寳:()=>`寳`,𡬘:()=>qC,寿:()=>`寿`,将:()=>`将`,当:()=>`当`,尢:()=>`尢`,㞁:()=>`㞁`,屠:()=>`屠`,屮:()=>`屮`,峀:()=>`峀`,岍:()=>`岍`,𡷤:()=>YC,嵃:()=>`嵃`,𡷦:()=>XC,嵮:()=>`嵮`,嵫:()=>`嵫`,嵼:()=>`嵼`,巡:()=>`巡`,巢:()=>`巢`,㠯:()=>`㠯`,巽:()=>`巽`,帨:()=>`帨`,帽:()=>`帽`,幩:()=>`幩`,㡢:()=>`㡢`,𢆃:()=>ZC,㡼:()=>`㡼`,庰:()=>`庰`,庳:()=>`庳`,庶:()=>`庶`,廊:()=>`廊`,𪎒:()=>IT,廾:()=>`廾`,𢌱:()=>$C,𢌱:()=>ew,舁:()=>`舁`,弢:()=>`弢`,弢:()=>`弢`,㣇:()=>`㣇`,𣊸:()=>sw,𦇚:()=>Xw,形:()=>`形`,彫:()=>`彫`,㣣:()=>`㣣`,徚:()=>`徚`,忍:()=>`忍`,志:()=>`志`,忹:()=>`忹`,悁:()=>`悁`,㤺:()=>`㤺`,㤜:()=>`㤜`,悔:()=>`悔`,𢛔:()=>tw,惇:()=>`惇`,慈:()=>`慈`,慌:()=>`慌`,慎:()=>`慎`,慌:()=>`慌`,慺:()=>`慺`,憎:()=>`憎`,憲:()=>`憲`,憤:()=>`憤`,憯:()=>`憯`,懞:()=>`懞`,懲:()=>`懲`,懶:()=>`懶`,成:()=>`成`,戛:()=>`戛`,扝:()=>`扝`,抱:()=>`抱`,拔:()=>`拔`,捐:()=>`捐`,𢬌:()=>iw,挽:()=>`挽`,拼:()=>`拼`,捨:()=>`捨`,掃:()=>`掃`,揤:()=>`揤`,𢯱:()=>aw,搢:()=>`搢`,揅:()=>`揅`,掩:()=>`掩`,㨮:()=>`㨮`,摩:()=>`摩`,摾:()=>`摾`,撝:()=>`撝`,摷:()=>`摷`,㩬:()=>`㩬`,敏:()=>`敏`,敬:()=>`敬`,𣀊:()=>ow,旣:()=>`旣`,書:()=>`書`,晉:()=>`晉`,㬙:()=>`㬙`,暑:()=>`暑`,㬈:()=>`㬈`,㫤:()=>`㫤`,冒:()=>`冒`,冕:()=>`冕`,最:()=>`最`,暜:()=>`暜`,肭:()=>`肭`,䏙:()=>`䏙`,朗:()=>`朗`,望:()=>`望`,朡:()=>`朡`,杞:()=>`杞`,杓:()=>`杓`,𣏃:()=>dw,㭉:()=>`㭉`,柺:()=>`柺`,枅:()=>`枅`,桒:()=>`桒`,梅:()=>`梅`,𣑭:()=>pw,梎:()=>`梎`,栟:()=>`栟`,椔:()=>`椔`,㮝:()=>`㮝`,楂:()=>`楂`,榣:()=>`榣`,槪:()=>`槪`,檨:()=>`檨`,𣚣:()=>mw,櫛:()=>`櫛`,㰘:()=>`㰘`,次:()=>`次`,𣢧:()=>hw,歔:()=>`歔`,㱎:()=>`㱎`,歲:()=>`歲`,殟:()=>`殟`,殺:()=>`殺`,殻:()=>`殻`,𣪍:()=>gw,𡴋:()=>JC,𣫺:()=>_w,汎:()=>`汎`,𣲼:()=>vw,沿:()=>`沿`,泍:()=>`泍`,汧:()=>`汧`,洖:()=>`洖`,派:()=>`派`,海:()=>`海`,流:()=>`流`,浩:()=>`浩`,浸:()=>`浸`,涅:()=>`涅`,𣴞:()=>yw,洴:()=>`洴`,港:()=>`港`,湮:()=>`湮`,㴳:()=>`㴳`,滋:()=>`滋`,滇:()=>`滇`,𣻑:()=>bw,淹:()=>`淹`,潮:()=>`潮`,𣽞:()=>xw,𣾎:()=>Sw,濆:()=>`濆`,瀹:()=>`瀹`,瀞:()=>`瀞`,瀛:()=>`瀛`,㶖:()=>`㶖`,灊:()=>`灊`,災:()=>`災`,灷:()=>`灷`,炭:()=>`炭`,𠔥:()=>IC,煅:()=>`煅`,𤉣:()=>Cw,熜:()=>`熜`,𤎫:()=>Tw,爨:()=>`爨`,爵:()=>`爵`,牐:()=>`牐`,𤘈:()=>Ew,犀:()=>`犀`,犕:()=>`犕`,𤜵:()=>Dw,𤠔:()=>Ow,獺:()=>`獺`,王:()=>`王`,㺬:()=>`㺬`,玥:()=>`玥`,㺸:()=>`㺸`,㺸:()=>`㺸`,瑇:()=>`瑇`,瑜:()=>`瑜`,瑱:()=>`瑱`,璅:()=>`璅`,瓊:()=>`瓊`,㼛:()=>`㼛`,甤:()=>`甤`,𤰶:()=>kw,甾:()=>`甾`,𤲒:()=>Aw,異:()=>`異`,𢆟:()=>QC,瘐:()=>`瘐`,𤾡:()=>jw,𤾸:()=>Mw,𥁄:()=>Nw,㿼:()=>`㿼`,䀈:()=>`䀈`,直:()=>`直`,𥃳:()=>Fw,𥃲:()=>Pw,𥄙:()=>Iw,𥄳:()=>Lw,眞:()=>`眞`,真:()=>`真`,真:()=>`真`,睊:()=>`睊`,䀹:()=>`䀹`,瞋:()=>`瞋`,䁆:()=>`䁆`,䂖:()=>`䂖`,𥐝:()=>zw,硎:()=>`硎`,碌:()=>`碌`,磌:()=>`磌`,䃣:()=>`䃣`,𥘦:()=>Bw,祖:()=>`祖`,𥚚:()=>Vw,𥛅:()=>Hw,福:()=>`福`,秫:()=>`秫`,䄯:()=>`䄯`,穀:()=>`穀`,穊:()=>`穊`,穏:()=>`穏`,𥥼:()=>Uw,𥪧:()=>Ww,𥪧:()=>Gw,竮:()=>`竮`,䈂:()=>`䈂`,𥮫:()=>Kw,篆:()=>`篆`,築:()=>`築`,䈧:()=>`䈧`,𥲀:()=>qw,糒:()=>`糒`,䊠:()=>`䊠`,糨:()=>`糨`,糣:()=>`糣`,紀:()=>`紀`,𥾆:()=>Yw,絣:()=>`絣`,䌁:()=>`䌁`,緇:()=>`緇`,縂:()=>`縂`,繅:()=>`繅`,䌴:()=>`䌴`,𦈨:()=>Zw,𦉇:()=>Qw,䍙:()=>`䍙`,𦋙:()=>$w,罺:()=>`罺`,𦌾:()=>eT,羕:()=>`羕`,翺:()=>`翺`,者:()=>`者`,𦓚:()=>tT,𦔣:()=>nT,聠:()=>`聠`,𦖨:()=>rT,聰:()=>`聰`,𣍟:()=>cw,䏕:()=>`䏕`,育:()=>`育`,脃:()=>`脃`,䐋:()=>`䐋`,脾:()=>`脾`,媵:()=>`媵`,𦞧:()=>iT,𦞵:()=>aT,𣎓:()=>lw,𣎜:()=>uw,舁:()=>`舁`,舄:()=>`舄`,辞:()=>`辞`,䑫:()=>`䑫`,芑:()=>`芑`,芋:()=>`芋`,芝:()=>`芝`,劳:()=>`劳`,花:()=>`花`,芳:()=>`芳`,芽:()=>`芽`,苦:()=>`苦`,𦬼:()=>oT,若:()=>`若`,茝:()=>`茝`,荣:()=>`荣`,莭:()=>`莭`,茣:()=>`茣`,莽:()=>`莽`,菧:()=>`菧`,著:()=>`著`,荓:()=>`荓`,菊:()=>`菊`,菌:()=>`菌`,菜:()=>`菜`,𦰶:()=>sT,𦵫:()=>lT,𦳕:()=>cT,䔫:()=>`䔫`,蓱:()=>`蓱`,蓳:()=>`蓳`,蔖:()=>`蔖`,𧏊:()=>pT,蕤:()=>`蕤`,𦼬:()=>uT,䕝:()=>`䕝`,䕡:()=>`䕡`,𦾱:()=>dT,𧃒:()=>fT,䕫:()=>`䕫`,虐:()=>`虐`,虜:()=>`虜`,虧:()=>`虧`,虩:()=>`虩`,蚩:()=>`蚩`,蚈:()=>`蚈`,蜎:()=>`蜎`,蛢:()=>`蛢`,蝹:()=>`蝹`,蜨:()=>`蜨`,蝫:()=>`蝫`,螆:()=>`螆`,䗗:()=>`䗗`,蟡:()=>`蟡`,蠁:()=>`蠁`,䗹:()=>`䗹`,衠:()=>`衠`,衣:()=>`衣`,𧙧:()=>mT,裗:()=>`裗`,裞:()=>`裞`,䘵:()=>`䘵`,裺:()=>`裺`,㒻:()=>`㒻`,𧢮:()=>hT,𧥦:()=>gT,䚾:()=>`䚾`,䛇:()=>`䛇`,誠:()=>`誠`,諭:()=>`諭`,變:()=>`變`,豕:()=>`豕`,𧲨:()=>_T,貫:()=>`貫`,賁:()=>`賁`,贛:()=>`贛`,起:()=>`起`,𧼯:()=>yT,𠠄:()=>zC,跋:()=>`跋`,趼:()=>`趼`,跰:()=>`跰`,𠣞:()=>BC,軔:()=>`軔`,輸:()=>`輸`,𨗒:()=>bT,𨗭:()=>xT,邔:()=>`邔`,郱:()=>`郱`,鄑:()=>`鄑`,𨜮:()=>ST,鄛:()=>`鄛`,鈸:()=>`鈸`,鋗:()=>`鋗`,鋘:()=>`鋘`,鉼:()=>`鉼`,鏹:()=>`鏹`,鐕:()=>`鐕`,𨯺:()=>CT,開:()=>`開`,䦕:()=>`䦕`,閷:()=>`閷`,𨵷:()=>wT,䧦:()=>`䧦`,雃:()=>`雃`,嶲:()=>`嶲`,霣:()=>`霣`,𩅅:()=>TT,𩈚:()=>DT,䩮:()=>`䩮`,䩶:()=>`䩶`,韠:()=>`韠`,𩐊:()=>OT,䪲:()=>`䪲`,𩒖:()=>kT,頋:()=>`頋`,頋:()=>`頋`,頩:()=>`頩`,𩖶:()=>AT,飢:()=>`飢`,䬳:()=>`䬳`,餩:()=>`餩`,馧:()=>`馧`,駂:()=>`駂`,駾:()=>`駾`,䯎:()=>`䯎`,𩬰:()=>jT,鬒:()=>`鬒`,鱀:()=>`鱀`,鳽:()=>`鳽`,䳎:()=>`䳎`,䳭:()=>`䳭`,鵧:()=>`鵧`,𪃎:()=>MT,䳸:()=>`䳸`,𪄅:()=>NT,𪈎:()=>PT,𪊑:()=>FT,麻:()=>`麻`,䵖:()=>`䵖`,黹:()=>`黹`,黾:()=>`黾`,鼅:()=>`鼅`,鼏:()=>`鼏`,鼖:()=>`鼖`,鼻:()=>`鼻`,𪘀:()=>LT}),f,p,m,h,g,_,v,y,b,x,S,ee,te,ne,re,ie,ae,oe,se,ce,le,ue,de,fe,pe,me,he,ge,_e,ve,ye,be,xe,Se,Ce,we,Te,Ee,De,Oe,ke,Ae,je,Me,Ne,Pe,Fe,Ie,Le,Re,ze,Be,Ve,He,Ue,We,Ge,Ke,qe,Je,Ye,Xe,Ze,Qe,$e,et,tt,nt,rt,it,at,ot,st,ct,lt,ut,dt,ft,pt,mt,ht,gt,_t,vt,yt,bt,xt,St,Ct,wt,Tt,Et,Dt,Ot,kt,At,jt,Mt,Nt,Pt,Ft,It,Lt,Rt,zt,Bt,Vt,Ht,Ut,Wt,Gt,Kt,qt,Jt,Yt,Xt,Zt,Qt,$t,en,tn,nn,rn,an,on,sn,cn,ln,un,dn,fn,pn,mn,hn,gn,_n,vn,yn,bn,xn,Sn,Cn,wn,Tn,En,Dn,On,kn,An,jn,Mn,Nn,Pn,Fn,In,Ln,Rn,zn,Bn,Vn,Hn,Un,Wn,Gn,Kn,qn,Jn,Yn,Xn,Zn,Qn,$n,er,tr,nr,rr,ir,ar,or,sr,cr,lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br,xr,Sr,Cr,wr,Tr,Er,Dr,Or,kr,Ar,jr,Mr,Nr,Pr,Fr,Ir,Lr,Rr,zr,Br,Vr,Hr,Ur,Wr,Gr,Kr,qr,Jr,Yr,Xr,Zr,Qr,$r,ei,ti,ni,ri,ii,ai,oi,si,ci,li,ui,di,fi,pi,mi,hi,gi,_i,vi,yi,bi,xi,Si,Ci,wi,Ti,Ei,Di,Oi,ki,Ai,ji,Mi,Ni,Pi,Fi,Ii,Li,Ri,zi,Bi,Vi,Hi,Ui,Wi,Gi,Ki,qi,Ji,Yi,Xi,Zi,Qi,$i,ea,ta,na,ra,ia,aa,oa,sa,ca,la,ua,da,fa,pa,ma,ha,ga,_a,va,ya,ba,xa,Sa,Ca,wa,Ta,Ea,Da,Oa,ka,Aa,ja,Ma,Na,Pa,Fa,Ia,La,Ra,za,Ba,Va,Ha,Ua,Wa,Ga,Ka,qa,Ja,Ya,Xa,Za,Qa,$a,eo,to,no,ro,io,ao,oo,so,co,lo,uo,fo,po,mo,ho,go,_o,vo,yo,bo,xo,So,Co,wo,To,Eo,Do,Oo,ko,Ao,jo,Mo,No,Po,Fo,Io,Lo,Ro,zo,Bo,Vo,Ho,Uo,Wo,Go,Ko,qo,Jo,Yo,Xo,Zo,Qo,$o,es,ts,ns,rs,is,as,os,ss,cs,ls,us,ds,fs,ps,ms,hs,gs,_s,vs,ys,bs,xs,Ss,Cs,ws,Ts,Es,Ds,Os,ks,As,js,Ms,Ns,Ps,Fs,Is,Ls,Rs,zs,Bs,Vs,Hs,Us,Ws,Gs,Ks,qs,Js,Ys,Xs,Zs,Qs,$s,ec,tc,nc,rc,ic,ac,oc,sc,cc,lc,uc,dc,fc,pc,mc,hc,gc,_c,vc,yc,bc,xc,Sc,Cc,wc,Tc,Ec,Dc,Oc,kc,Ac,jc,Mc,Nc,Pc,Fc,Ic,Lc,Rc,zc,Bc,Vc,Hc,Uc,Wc,Gc,Kc,qc,Jc,Yc,Xc,Zc,Qc,$c,el,tl,nl,rl,il,al,ol,sl,cl,ll,ul,dl,fl,pl,ml,hl,gl,_l,vl,yl,bl,xl,Sl,Cl,wl,Tl,El,Dl,Ol,kl,Al,jl,Ml,Nl,Pl,Fl,Il,Ll,Rl,zl,Bl,Vl,Hl,Ul,Wl,Gl,Kl,ql,Jl,Yl,Xl,Zl,Ql,$l,eu,tu,nu,ru,iu,au,ou,su,cu,lu,uu,du,fu,pu,mu,hu,gu,_u,vu,yu,bu,xu,Su,Cu,wu,Tu,Eu,Du,Ou,ku,Au,ju,Mu,Nu,Pu,Fu,Iu,Lu,Ru,zu,Bu,Vu,Hu,Uu,Wu,Gu,Ku,qu,Ju,Yu,Xu,Zu,Qu,$u,ed,td,nd,rd,id,ad,od,sd,cd,ld,ud,dd,fd,pd,md,hd,gd,_d,vd,yd,bd,xd,Sd,Cd,wd,Td,Ed,Dd,Od,kd,Ad,jd,Md,Nd,Pd,Fd,Id,Ld,Rd,zd,Bd,Vd,Hd,Ud,Wd,Gd,Kd,qd,Jd,Yd,Xd,Zd,Qd,$d,ef,tf,nf,rf,af,of,sf,cf,lf,uf,df,ff,pf,mf,hf,gf,_f,vf,yf,bf,xf,Sf,Cf,wf,Tf,Ef,Df,Of,kf,Af,jf,Mf,Nf,Pf,Ff,If,Lf,Rf,zf,Bf,Vf,Hf,Uf,Wf,Gf,Kf,qf,Jf,Yf,Xf,Zf,Qf,$f,ep,tp,np,rp,ip,ap,op,sp,cp,lp,up,dp,fp,pp,mp,hp,gp,_p,vp,yp,bp,xp,Sp,Cp,wp,Tp,Ep,Dp,Op,kp,Ap,jp,Mp,Np,Pp,Fp,Ip,Lp,Rp,zp,Bp,Vp,Hp,Up,Wp,Gp,Kp,qp,Jp,Yp,Xp,Zp,Qp,$p,em,tm,nm,rm,im,am,om,sm,cm,lm,um,dm,fm,pm,mm,hm,gm,_m,vm,ym,bm,xm,Sm,Cm,wm,Tm,Em,Dm,Om,km,Am,jm,Mm,Nm,Pm,Fm,Im,Lm,Rm,zm,Bm,Vm,Hm,Um,Wm,Gm,Km,qm,Jm,Ym,Xm,Zm,Qm,$m,eh,th,nh,rh,ih,ah,oh,sh,ch,lh,uh,dh,fh,ph,mh,hh,gh,_h,vh,yh,bh,xh,Sh,Ch,wh,Th,Eh,Dh,Oh,kh,Ah,jh,Mh,Nh,Ph,Fh,Ih,Lh,Rh,zh,Bh,Vh,Hh,Uh,Wh,Gh,Kh,qh,Jh,Yh,Xh,Zh,Qh,$h,eg,tg,ng,rg,ig,ag,og,sg,cg,lg,ug,dg,fg,pg,mg,hg,gg,_g,vg,yg,bg,xg,Sg,Cg,wg,Tg,Eg,Dg,Og,kg,Ag,jg,Mg,Ng,Pg,Fg,Ig,Lg,Rg,zg,Bg,Vg,Hg,Ug,Wg,Gg,Kg,qg,Jg,Yg,Xg,Zg,Qg,$g,e_,t_,n_,r_,i_,a_,o_,s_,c_,l_,u_,d_,f_,p_,m_,h_,g_,__,v_,y_,b_,x_,S_,C_,w_,T_,E_,D_,O_,k_,A_,j_,M_,N_,P_,F_,I_,L_,R_,z_,B_,V_,H_,U_,W_,G_,K_,q_,J_,Y_,X_,Z_,Q_,$_,ev,tv,nv,rv,iv,av,ov,sv,cv,lv,uv,dv,fv,pv,mv,hv,gv,_v,vv,yv,bv,xv,Sv,Cv,wv,Tv,Ev,Dv,Ov,kv,Av,jv,Mv,Nv,Pv,Fv,Iv,Lv,Rv,zv,Bv,Vv,Hv,Uv,Wv,Gv,Kv,qv,Jv,Yv,Xv,Zv,Qv,$v,ey,ty,ny,ry,iy,ay,oy,sy,cy,ly,uy,dy,fy,py,my,hy,gy,_y,vy,yy,by,xy,Sy,Cy,wy,Ty,Ey,Dy,Oy,ky,Ay,jy,My,Ny,Py,Fy,Iy,Ly,Ry,zy,By,Vy,Hy,Uy,Wy,Gy,Ky,qy,Jy,Yy,Xy,Zy,Qy,$y,eb,tb,nb,rb,ib,ab,ob,sb,cb,lb,ub,db,fb,pb,mb,hb,gb,_b,vb,yb,bb,xb,Sb,Cb,wb,Tb,Eb,Db,Ob,kb,Ab,jb,Mb,Nb,Pb,Fb,Ib,Lb,Rb,zb,Bb,Vb,Hb,Ub,Wb,Gb,Kb,qb,Jb,Yb,Xb,Zb,Qb,$b,ex,tx,nx,rx,ix,ax,ox,sx,cx,lx,ux,dx,fx,px,mx,hx,gx,_x,vx,yx,bx,xx,Sx,Cx,wx,Tx,Ex,Dx,Ox,kx,Ax,jx,Mx,Nx,Px,Fx,Ix,Lx,Rx,zx,Bx,Vx,Hx,Ux,Wx,Gx,Kx,qx,Jx,Yx,Xx,Zx,Qx,$x,eS,tS,nS,rS,iS,aS,oS,sS,cS,lS,uS,dS,fS,pS,mS,hS,gS,_S,vS,yS,bS,xS,SS,CS,wS,TS,ES,DS,OS,kS,AS,jS,MS,NS,PS,FS,IS,LS,RS,zS,BS,VS,HS,US,WS,GS,KS,qS,JS,YS,XS,ZS,QS,$S,eC,tC,nC,rC,iC,aC,oC,sC,cC,lC,uC,dC,fC,pC,mC,hC,gC,_C,vC,yC,bC,xC,SC,CC,wC,TC,EC,DC,OC,kC,AC,jC,MC,NC,PC,FC,IC,LC,RC,zC,BC,VC,HC,UC,WC,GC,KC,qC,JC,YC,XC,ZC,QC,$C,ew,tw,nw,rw,iw,aw,ow,sw,cw,lw,uw,dw,fw,pw,mw,hw,gw,_w,vw,yw,bw,xw,Sw,Cw,ww,Tw,Ew,Dw,Ow,kw,Aw,jw,Mw,Nw,Pw,Fw,Iw,Lw,Rw,zw,Bw,Vw,Hw,Uw,Ww,Gw,Kw,qw,Jw,Yw,Xw,Zw,Qw,$w,eT,tT,nT,rT,iT,aT,oT,sT,cT,lT,uT,dT,fT,pT,mT,hT,gT,_T,vT,yT,bT,xT,ST,CT,wT,TT,ET,DT,OT,kT,AT,jT,MT,NT,PT,FT,IT,LT,RT,zT=n((()=>{f=`ﹲّ`,p=`ﹴّ`,m=`ﹷّ`,h=`ﹶّ`,g=`ﹹّ`,_=`ﹸّ`,v=`ﹻّ`,y=`ﹺّ`,b=`ﹼٰ`,x=`···`,S=`·ḃ`,ee=`·Ʌ`,te=`·Γ`,ne=`·Δ`,re=`·Ո`,ie=`·ᐁ`,ae=`·ᐄ`,oe=`·ᐅ`,se=`·ᐆ`,ce=`·ᐊ`,le=`·ᐋ`,ue=`·ᐲ`,de=`·ᐴ`,fe=`·ᐹ`,pe=`·ᑏ`,me=`·ᑐ`,he=`·ᑐ`,ge=`·ᑑ`,_e=`·ᑕ`,ve=`·ᑖ`,ye=`·ᑫ`,be=`·ᑮ`,xe=`·ᑰ`,Se=`·ᒉ`,Ce=`·ᒋ`,we=`·ᒌ`,Te=`·ᒎ`,Ee=`·ᒐ`,De=`·ᒑ`,Oe=`·ᒣ`,ke=`·ᒦ`,Ae=`·ᒧ`,je=`·ᒨ`,Me=`·ᒫ`,Ne=`·ᓀ`,Pe=`·ᓂ`,Fe=`·ᓃ`,Ie=`·ᓄ`,Le=`·ᓅ`,Re=`·ᓇ`,ze=`·ᓈ`,Be=`·ᓓ`,Ve=`·ᓕ`,He=`·ᓖ`,Ue=`·ᓗ`,We=`·ᓘ`,Ge=`·ᓚ`,Ke=`·ᓛ`,qe=`·ᓭ`,Je=`·ᓯ`,Ye=`·ᓰ`,Xe=`·ᓱ`,Ze=`·ᓲ`,Qe=`·ᓴ`,$e=`·ᓵ`,et=`·ᔐ`,tt=`·ᔑ`,nt=`·ᔒ`,rt=`·ᔓ`,it=`·ᔔ`,at=`·ᔕ`,ot=`·ᔖ`,st=`·ᔨ`,ct=`·ᔩ`,lt=`·ᔪ`,ut=`·ᔫ`,dt=`·ᔭ`,ft=`·ᔮ`,pt=`·ᕃ`,mt=`·ᕆ`,ht=`·ᕇ`,gt=`·ᕈ`,_t=`·ᕉ`,vt=`·ᕋ`,yt=`·ᕌ`,bt=`·ᕚ`,xt=`·ᕧ`,St=`·ᢱ`,Ct=`·ᢴ`,wt=`·ᢸ`,Tt=`·ᣀ`,Et=`ˉbi`,Dt=`∂̵`,Ot=`ーー`,kt=`ーᅡ`,At=`ーᅥ`,jt=`ーᅥ丨`,Mt=`ーᅩ`,Nt=`ーᅮ`,Pt=`ー丨`,Ft=`ー丨`,It=`ー丨ᅮ`,Lt=`ḃ·`,Rt=`ǝ˞`,zt=`ǝo̸`,Bt=`ǝo̵`,Vt=`ɜ̦`,Ht=`ʜ̩`,Ut=`ʜ̦`,Wt=`ʜ̦`,Gt=`lكبر`,Kt=`lللّٰo`,qt=`Ó̸`,Jt=`oᴇ`,Yt=`oمج`,Xt=`oمم`,Zt=`oരo`,Qt=`oာ`,$t=`ɔ̸`,en=`ĸ̩`,tn=`ĸ̵`,nn=`rn̦`,rn=`rn̴`,an=`ɾ̴`,on=`ᴛ̩`,sn=`ʊ̵`,cn=`viii`,ln=`Vlll`,un=`Ʌ̦`,dn=`Ʌ·`,fn=`w҆҇`,pn=`ʍ̦`,mn=`Γ̵`,hn=`Γ·`,gn=`Δ·`,_n=`Δᐠ`,vn=`ж̩`,yn=`Ж̩`,bn=`Ѝ̦`,xn=`й̦`,Sn=`л̦`,Cn=`Ѡ҆҇`,wn=`Ѡ·`,Tn=`Ҽ̨`,En=`եւ`,Dn=`մե`,On=`մի`,kn=`մխ`,An=`մն`,jn=`Ո·`,Mn=`վն`,Nn=`אל`,Pn=`بۛ`,Fn=`بۢ`,In=`بٔ`,Ln=`بج`,Rn=`بج`,zn=`بح`,Bn=`بح`,Vn=`بحى`,Hn=`بخ`,Un=`بخ`,Wn=`بخ`,Gn=`بخ`,Kn=`بخى`,qn=`بر`,Jn=`بز`,Yn=`بم`,Xn=`بم`,Zn=`بم`,Qn=`بم`,$n=`بن`,er=`بى`,tr=`بى`,nr=`بى`,rr=`بى`,ir=`تج`,ar=`تج`,or=`تجم`,sr=`تجى`,cr=`تجى`,lr=`تح`,ur=`تح`,dr=`تحج`,fr=`تحج`,pr=`تحم`,mr=`تخ`,hr=`تخ`,gr=`تخم`,_r=`تخى`,vr=`تخى`,yr=`تر`,br=`تز`,xr=`تم`,Sr=`تم`,Cr=`تم`,wr=`تم`,Tr=`تمج`,Er=`تمح`,Dr=`تمخ`,Or=`تمى`,kr=`تمى`,Ar=`تن`,jr=`تى`,Mr=`تى`,Nr=`تى`,Pr=`تى`,Fr=`جح`,Ir=`جح`,Lr=`جحى`,Rr=`جحى`,zr=`جل جلlلo`,Br=`جم`,Vr=`جم`,Hr=`جمح`,Ur=`جمح`,Wr=`جمى`,Gr=`جمى`,Kr=`جى`,qr=`جى`,Jr=`جى`,Yr=`جى`,Xr=`حۛ`,Zr=`حٔ`,Qr=`حٔ`,$r=`حج`,ei=`حج`,ti=`حجى`,ni=`حم`,ri=`حم`,ii=`حمى`,ai=`حمى`,oi=`حى`,si=`حى`,ci=`حى`,li=`حى`,ui=`خج`,di=`خج`,fi=`خح`,pi=`خم`,mi=`خم`,hi=`خى`,gi=`خى`,_i=`خى`,vi=`خى`,yi=`دؕ`,bi=`دؕ`,xi=`دؕ`,Si=`دۛ`,Ci=`دۛ`,wi=`دۛ`,Ti=`د̂`,Ei=`د̤̣`,Di=`ذٰ`,Oi=`ڊؕ`,ki=`رؕ`,Ai=`رؕ`,ji=`رؕ`,Mi=`رۛ`,Ni=`رۛ`,Pi=`رۛ`,Fi=`ر̆`,Ii=`ر̆̇`,Li=`ر̂`,Ri=`رٔ`,zi=`رٰ`,Bi=`رسول`,Vi=`ز̂`,Hi=`ڗؕ`,Ui=`سۛ`,Wi=`سۛ`,Gi=`سۛ`,Ki=`سۛ`,qi=`سۛ`,Ji=`سۛ`,Yi=`سۛ`,Xi=`سۛ`,Zi=`سۛ`,Qi=`سۛ`,$i=`سۛ`,ea=`س̂`,ta=`سۛo`,na=`سۛo`,ra=`سج`,ia=`سج`,aa=`سج`,oa=`سۛج`,sa=`سۛج`,ca=`سۛج`,la=`سۛج`,ua=`سجح`,da=`سجى`,fa=`سۛجى`,pa=`سح`,ma=`سح`,ha=`سح`,ga=`سۛح`,_a=`سۛح`,va=`سۛح`,ya=`سۛح`,ba=`سحج`,xa=`سۛحم`,Sa=`سۛحم`,Ca=`سۛحى`,wa=`سخ`,Ta=`سخ`,Ea=`سخ`,Da=`سۛخ`,Oa=`سۛخ`,ka=`سۛخ`,Aa=`سۛخ`,ja=`سخى`,Ma=`سخى`,Na=`سر`,Pa=`سر`,Fa=`سۛر`,Ia=`سۛر`,La=`سم`,Ra=`سم`,za=`سم`,Ba=`سۛم`,Va=`سۛم`,Ha=`سۛم`,Ua=`سۛم`,Wa=`سمج`,Ga=`سمح`,Ka=`سمح`,qa=`سۛمخ`,Ja=`سۛمخ`,Ya=`سمم`,Xa=`سمم`,Za=`سۛمم`,Qa=`سۛمم`,$a=`سى`,eo=`سى`,to=`سى`,no=`سى`,ro=`سۛى`,io=`سۛى`,ao=`سۛى`,oo=`سۛى`,so=`صۛ`,co=`ص̤̣`,lo=`صح`,uo=`صح`,fo=`صحح`,po=`صحح`,mo=`صحى`,ho=`صخ`,go=`صر`,_o=`صر`,vo=`صلعم`,yo=`صلى`,bo=`صلى`,xo=`صلى lللo علىo وسلم`,So=`صم`,Co=`صم`,wo=`صمم`,To=`صمم`,Eo=`صى`,Do=`صى`,Oo=`صى`,ko=`صى`,Ao=`ضج`,jo=`ضج`,Mo=`ضح`,No=`ضح`,Po=`ضحى`,Fo=`ضحى`,Io=`ضخ`,Lo=`ضخ`,Ro=`ضخم`,zo=`ضخم`,Bo=`ضر`,Vo=`ضر`,Ho=`ضم`,Uo=`ضم`,Wo=`ضى`,Go=`ضى`,Ko=`ضى`,qo=`ضى`,Jo=`طۛ`,Yo=`طح`,Xo=`طح`,Zo=`طم`,Qo=`طم`,$o=`طم`,es=`طمح`,ts=`طمح`,ns=`طمم`,rs=`طمى`,is=`طى`,as=`طى`,os=`طى`,ss=`طى`,cs=`ظم`,ls=`ظم`,us=`ظم`,ds=`عج`,fs=`عج`,ps=`عجم`,ms=`عجم`,hs=`علىo`,gs=`عم`,_s=`عم`,vs=`عمم`,ys=`عمم`,bs=`عمى`,xs=`عمى`,Ss=`عى`,Cs=`عى`,ws=`عى`,Ts=`عى`,Es=`غج`,Ds=`غج`,Os=`غم`,ks=`غم`,As=`غمم`,js=`غمى`,Ms=`غمى`,Ns=`غى`,Ps=`غى`,Fs=`غى`,Is=`غى`,Ls=`فج`,Rs=`فج`,zs=`فح`,Bs=`فح`,Vs=`فخ`,Hs=`فخ`,Us=`فخم`,Ws=`فخم`,Gs=`فم`,Ks=`فم`,qs=`فمى`,Js=`فى`,Ys=`فى`,Xs=`فى`,Zs=`فى`,Qs=`ڡۛ`,$s=`ڡۛ`,ec=`ڡۛ`,tc=`ڡۛ`,nc=`ڡۛ`,rc=`ڡۛ`,ic=`ڢۛ`,ac=`قح`,oc=`قح`,sc=`قلى`,cc=`قم`,lc=`قم`,uc=`قمح`,dc=`قمح`,fc=`قمم`,pc=`قمى`,mc=`قى`,hc=`قى`,gc=`قى`,_c=`قى`,vc=`كۛ`,yc=`كۛ`,bc=`كۛ`,xc=`كۛ`,Sc=`كۛ`,Cc=`كۛ`,wc=`كج`,Tc=`كج`,Ec=`كح`,Dc=`كح`,Oc=`كخ`,kc=`كخ`,Ac=`كل`,jc=`كل`,Mc=`كل`,Nc=`كل`,Pc=`كم`,Fc=`كم`,Ic=`كم`,Lc=`كم`,Rc=`كمم`,zc=`كمم`,Bc=`كمى`,Vc=`كى`,Hc=`كى`,Uc=`كى`,Wc=`كى`,Gc=`گۛ`,Kc=`لۛ`,qc=`ل̆`,Jc=`لlٕ`,Yc=`لlٕ`,Xc=`لlٴ`,Zc=`لlٴ`,Qc=`لآ`,$c=`لآ`,el=`لج`,tl=`لج`,nl=`لجج`,rl=`لجج`,il=`لجم`,al=`لجم`,ol=`لجى`,sl=`لح`,cl=`لح`,ll=`لحم`,ul=`لحم`,dl=`لحى`,fl=`لحى`,pl=`لخ`,ml=`لخ`,hl=`لخم`,gl=`لخم`,_l=`لم`,vl=`لم`,yl=`لم`,bl=`لم`,xl=`لمح`,Sl=`لمح`,Cl=`لمى`,wl=`لى`,Tl=`لى`,El=`لى`,Dl=`لى`,Ol=`مۛ`,kl=`مج`,Al=`مج`,jl=`مجح`,Ml=`مجخ`,Nl=`مجم`,Pl=`مجى`,Fl=`مح`,Il=`مح`,Ll=`محج`,Rl=`محم`,zl=`محمد`,Bl=`محى`,Vl=`مخ`,Hl=`مخ`,Ul=`مخج`,Wl=`مخم`,Gl=`مخى`,Kl=`مم`,ql=`مم`,Jl=`مم`,Yl=`ممى`,Xl=`مى`,Zl=`مى`,Ql=`نؕ`,$l=`ن̆`,eu=`نجح`,tu=`نجح`,nu=`نجم`,ru=`نجم`,iu=`نجى`,au=`نجى`,ou=`نح`,su=`نح`,cu=`نحم`,lu=`نحى`,uu=`نحى`,du=`نخ`,fu=`نخ`,pu=`نر`,mu=`نز`,hu=`نم`,gu=`نم`,_u=`نم`,vu=`نم`,yu=`نمى`,bu=`نمى`,xu=`نن`,Su=`نى`,Cu=`نى`,wu=`نى`,Tu=`نى`,Eu=`وۛ`,Du=`وۛ`,Ou=`وۛ`,ku=`و̓`,Au=`و̓`,ju=`و̓`,Mu=`و̆`,Nu=`و̆`,Pu=`و̆`,Fu=`و̂`,Iu=`و̂`,Lu=`و̂`,Ru=`وٰ`,zu=`وٰ`,Bu=`وٰ`,Vu=`وٴ`,Hu=`وٴ`,Uu=`وٴ`,Wu=`وٴ`,Gu=`و̓ٴ`,Ku=`و̓ٴ`,qu=`وسلم`,Ju=`ىؕ`,Yu=`ىؕ`,Xu=`ىؕ`,Zu=`ىؕ`,Qu=`ىؕ`,$u=`ىؕ`,ed=`ىؕ`,td=`ىؕ`,nd=`ىؕ`,rd=`ىؕ`,id=`ىۛ`,ad=`ىۛ`,od=`ىۛ`,sd=`ىۛ`,cd=`ىۛ`,ld=`ىۛ`,ud=`ىۛ`,dd=`ىۛ`,fd=`ىۛ`,pd=`ىۛ`,md=`ىۛ`,hd=`ىۛ`,gd=`ىۛ`,_d=`ىۛ`,vd=`ىۛ`,yd=`ىۛ`,bd=`ىۛ`,xd=`ىۛ`,Sd=`ىۛۢ`,Cd=`ى̆`,wd=`ى̆`,Td=`ى̆̇`,Ed=`ى̂`,Dd=`ىٔ`,Od=`ىٰ`,kd=`ىٰ`,Ad=`ىۛo`,jd=`ىٴ`,Md=`ىٴ`,Nd=`ىٴ`,Pd=`ىٴ`,Fd=`ىٴ`,Id=`ىٴ`,Ld=`ىٴl`,Rd=`ىٴl`,zd=`ىٴo`,Bd=`ىٴo`,Vd=`ىٴo`,Hd=`ىٴo`,Ud=`ىٴٻ`,Wd=`ىٴٻ`,Gd=`ىٴٻ`,Kd=`ىٴج`,qd=`ىٴج`,Jd=`ىٴح`,Yd=`ىٴح`,Xd=`ىٴخ`,Zd=`ىٴر`,Qd=`ىٴز`,$d=`ىٴم`,ef=`ىٴم`,tf=`ىٴم`,nf=`ىٴم`,rf=`ىٴن`,af=`ىٴو`,of=`ىٴو`,sf=`ىٴو̓`,cf=`ىٴو̓`,lf=`ىٴو̆`,uf=`ىٴو̆`,df=`ىٴوٰ`,ff=`ىٴوٰ`,pf=`ىٴى`,mf=`ىٴى`,hf=`ىٴى`,gf=`ىٴى`,_f=`ىٴى`,vf=`ىٴى`,yf=`ىٴى`,bf=`ىج`,xf=`ىج`,Sf=`ىۛج`,Cf=`ىجى`,wf=`ىح`,Tf=`ىح`,Ef=`ىحى`,Df=`ىخ`,Of=`ىخ`,kf=`ىر`,Af=`ىۛر`,jf=`ىز`,Mf=`ىۛز`,Nf=`ىم`,Pf=`ىم`,Ff=`ىم`,If=`ىم`,Lf=`ىۛم`,Rf=`ىۛم`,zf=`ىۛم`,Bf=`ىۛم`,Vf=`ىمم`,Hf=`ىمم`,Uf=`ىمى`,Wf=`ىن`,Gf=`ىۛن`,Kf=`ىى`,qf=`ىى`,Jf=`ىى`,Yf=`ىى`,Xf=`ىۛى`,Zf=`ىۛى`,Qf=`ىۛى`,$f=`ىۛى`,ep=`अा`,tp=`अाॆ`,np=`अाे`,rp=`अाै`,ip=`अॆ`,ap=`अॉ`,op=`एॅ`,sp=`एॆ`,cp=`एे`,lp=`र्इ`,up=`অা`,dp=`ঋৃ`,fp=`ঋৃ`,pp=`ੳੁ`,mp=`ੳੂ`,hp=`ਅਾ`,gp=`ਅੈ`,_p=`ਅੌ`,vp=`ੲਿ`,yp=`ੲੀ`,bp=`ੲੇ`,xp=`અા`,Sp=`અાૅ`,Cp=`અાે`,wp=`અાૈ`,Tp=`અૅ`,Ep=`અે`,Dp=`અૈ`,Op=`ଅା`,kp=`உள`,Ap=`உൗ`,jp=`டி`,Mp=`ఋా`,Np=`ఌా`,Pp=`ఒౌ`,Fp=`ఒౌ`,Ip=`ఒౕ`,Lp=`ఒౕ`,Rp=`డ̣`,zp=`ధּ`,Bp=`బ̣`,Vp=`రּ`,Hp=`వ̣`,Up=`వా`,Wp=`వు`,Gp=`ಌಾ`,Kp=`ഇൗ`,qp=`എെ`,Jp=`ഒാ`,Yp=`ഒൗ`,Xp=`നു`,Zp=`നു`,Qp=`ന്`,$p=`ര്`,em=`𑐴𑑂𑐒`,tm=`𑐴𑑂𑐘`,nm=`𑐴𑑂𑐣`,rm=`𑐴𑑂𑐩`,im=`𑐴𑑂𑐬`,am=`𑐴𑑂𑐮`,om=`𑖂`,sm=`𑖂`,cm=`𑖃`,lm=`𑖄`,um=`̊า`,dm=`เเ`,fm=`ຫນ`,pm=`ຫມ`,mm=`̊າ`,hm=`ཨོཾ`,gm=`ဂှ`,_m=`ဂာ`,vm=`ဃှ`,ym=`ပှ`,bm=`ပာ`,xm=`ပာှ`,Sm=`ၽှ`,Cm=`သြ`,wm=`သြော်`,Tm=`ᐁ·`,Em=`ᐁᐠ`,Dm=`ᐄ·`,Om=`ᐅ·`,km=`ᐅᐠ`,Am=`ᐆ·`,jm=`ᐊ·`,Mm=`ᐊᐠ`,Nm=`ᐋ·`,Pm=`ᐞᣟ`,Fm=`ᐲ·`,Im=`ᐴ·`,Lm=`ᐹ·`,Rm=`ᑏ·`,zm=`ᑐ·`,Bm=`ᑐ'`,Vm=`ᑑ·`,Hm=`ᑕ·`,Um=`ᑕ'`,Wm=`ᑖ·`,Gm=`ᑫ·`,Km=`ᑫ'`,qm=`ᑮ·`,Jm=`ᑰ·`,Ym=`ᒉ·`,Xm=`ᒋ·`,Zm=`ᒌ·`,Qm=`ᒎ·`,$m=`ᒐ·`,eh=`ᒑ·`,th=`ᒣ·`,nh=`ᒦ·`,rh=`ᒧ·`,ih=`ᒨ·`,ah=`ᒫ·`,oh=`ᓀ·`,sh=`ᓂ·`,ch=`ᓃ·`,lh=`ᓄ·`,uh=`ᓅ·`,dh=`ᓇ·`,fh=`ᓈ·`,ph=`ᓓ·`,mh=`ᓕ·`,hh=`ᓖ·`,gh=`ᓗ·`,_h=`ᓘ·`,vh=`ᓚ·`,yh=`ᓛ·`,bh=`ᓭ·`,xh=`ᓯ·`,Sh=`ᓰ·`,Ch=`ᓱ·`,wh=`ᓲ·`,Th=`ᓴ·`,Eh=`ᓵ·`,Dh=`ᔋ<`,Oh=`ᔋb`,kh=`ᔋᑕ`,Ah=`ᔋᒐ`,jh=`ᔐ·`,Mh=`ᔑ·`,Nh=`ᔒ·`,Ph=`ᔓ·`,Fh=`ᔔ·`,Ih=`ᔕ·`,Lh=`ᔖ·`,Rh=`ᔨ·`,zh=`ᔩ·`,Bh=`ᔪ·`,Vh=`ᔫ·`,Hh=`ᔭ·`,Uh=`ᔮ·`,Wh=`ᕃ·`,Gh=`ᕌ·`,Kh=`ᕐb`,qh=`ᕐḃ`,Jh=`ᕐd`,Yh=`ᕐP`,Xh=`ᕐᑫ`,Zh=`ᕐᑬ`,Qh=`ᕐᑮ`,$h=`ᕐᑰ`,eg=`ᕐᒃ`,tg=`ᕚ·`,ng=`ᕞ·`,rg=`ᕦ·`,ig=`ᕧ·`,ag=`ᕫ·`,og=`ᖆ·`,sg=`ᖕJ`,cg=`ᖕᒉ`,lg=`ᖕᒊ`,ug=`ᖕᒋ`,dg=`ᖕᒌ`,fg=`ᖕᒎ`,pg=`ᖕᒐ`,mg=`ᖕᒑ`,hg=`ᖖJ`,gg=`ᖖᒋ`,_g=`ᖖᒌ`,vg=`ᖖᒎ`,yg=`ᖖᒐ`,bg=`ᖖᒑ`,xg=`ᖗ·`,Sg=`ᖧ·`,Cg=`ᖨ·`,wg=`ᖩ·`,Tg=`ᖪ·`,Eg=`ᖫ·`,Dg=`ᖬ·`,Og=`ᖭ·`,kg=`ᗴ·`,Ag=`ᘛ·`,jg=`ᣟᐞ`,Mg=`ᄀᄀ`,Ng=`ᄀᄀ`,Pg=`ᄀᄀ`,Fg=`ᄀᄂ`,Ig=`ᄀᄃ`,Lg=`ᄀᄅ`,Rg=`ᄀᄇ`,zg=`ᄀᄉ`,Bg=`ᄀᄉ`,Vg=`ᄀᄉᄀ`,Hg=`ᄀᄎ`,Ug=`ᄀᄏ`,Wg=`ᄀᄒ`,Gg=`ᄂᄀ`,Kg=`ᄂᄀ`,qg=`ᄂᄂ`,Jg=`ᄂᄂ`,Yg=`ᄂᄂ`,Xg=`ᄂᄃ`,Zg=`ᄂᄃ`,Qg=`ᄂᄃ`,$g=`ᄂᄅ`,e_=`ᄂᄇ`,t_=`ᄂᄉ`,n_=`ᄂᄉ`,r_=`ᄂᄉ`,i_=`ᄂᄌ`,a_=`ᄂᄌ`,o_=`ᄂᄌ`,s_=`ᄂᄎ`,c_=`ᄂᄐ`,l_=`ᄂᄒ`,u_=`ᄂᄒ`,d_=`ᄂᄒ`,f_=`ᄂᅀ`,p_=`ᄂᅀ`,m_=`ᄃᄀ`,h_=`ᄃᄀ`,g_=`ᄃᄃ`,__=`ᄃᄃ`,v_=`ᄃᄃ`,y_=`ᄃᄃᄇ`,b_=`ᄃᄅ`,x_=`ᄃᄅ`,S_=`ᄃᄆ`,C_=`ᄃᄇ`,w_=`ᄃᄇ`,T_=`ᄃᄉ`,E_=`ᄃᄉ`,D_=`ᄃᄉᄀ`,O_=`ᄃᄌ`,k_=`ᄃᄌ`,A_=`ᄃᄎ`,j_=`ᄃᄐ`,M_=`ᄅᄀ`,N_=`ᄅᄀ`,P_=`ᄅᄀ`,F_=`ᄅᄀᄀ`,I_=`ᄅᄀᄀ`,L_=`ᄅᄀᄉ`,R_=`ᄅᄀᄉ`,z_=`ᄅᄀᄒ`,B_=`ᄅᄂ`,V_=`ᄅᄂ`,H_=`ᄅᄃ`,U_=`ᄅᄃ`,W_=`ᄅᄃ`,G_=`ᄅᄃᄃ`,K_=`ᄅᄃᄒ`,q_=`ᄅᄅ`,J_=`ᄅᄅ`,Y_=`ᄅᄅᄏ`,X_=`ᄅᄆ`,Z_=`ᄅᄆ`,Q_=`ᄅᄆ`,$_=`ᄅᄆᄀ`,ev=`ᄅᄆᄉ`,tv=`ᄅᄆᄒ`,nv=`ᄅᄇ`,rv=`ᄅᄇ`,iv=`ᄅᄇ`,av=`ᄅᄇᄃ`,ov=`ᄅᄇᄇ`,sv=`ᄅᄇᄉ`,cv=`ᄅᄇᄉ`,lv=`ᄅᄇᄋ`,uv=`ᄅᄇᄋ`,dv=`ᄅᄇᄑ`,fv=`ᄅᄇᄒ`,pv=`ᄅᄉ`,mv=`ᄅᄉ`,hv=`ᄅᄉ`,gv=`ᄅᄉᄉ`,_v=`ᄅᄋ`,vv=`ᄅᄋ`,yv=`ᄅᄌ`,bv=`ᄅᄏ`,xv=`ᄅᄏ`,Sv=`ᄅᄐ`,Cv=`ᄅᄐ`,wv=`ᄅᄑ`,Tv=`ᄅᄑ`,Ev=`ᄅᄒ`,Dv=`ᄅᄒ`,Ov=`ᄅᄒ`,kv=`ᄅᄒ`,Av=`ᄅᄒ`,jv=`ᄅᅀ`,Mv=`ᄅᅀ`,Nv=`ᄅᅌ`,Pv=`ᄅᅙ`,Fv=`ᄅᅙ`,Iv=`ᄅᅙᄒ`,Lv=`ᄆᄀ`,Rv=`ᄆᄀ`,zv=`ᄆᄂ`,Bv=`ᄆᄂᄂ`,Vv=`ᄆᄃ`,Hv=`ᄆᄅ`,Uv=`ᄆᄆ`,Wv=`ᄆᄇ`,Gv=`ᄆᄇ`,Kv=`ᄆᄇ`,qv=`ᄆᄇᄉ`,Jv=`ᄆᄉ`,Yv=`ᄆᄉ`,Xv=`ᄆᄉ`,Zv=`ᄆᄉᄉ`,Qv=`ᄆᄋ`,$v=`ᄆᄋ`,ey=`ᄆᄋ`,ty=`ᄆᄌ`,ny=`ᄆᄎ`,ry=`ᄆᄒ`,iy=`ᄆᅀ`,ay=`ᄆᅀ`,oy=`ᄇᄀ`,sy=`ᄇᄀ`,cy=`ᄇᄂ`,ly=`ᄇᄃ`,uy=`ᄇᄃ`,dy=`ᄇᄃ`,fy=`ᄇᄅ`,py=`ᄇᄅᄑ`,my=`ᄇᄆ`,hy=`ᄇᄇ`,gy=`ᄇᄇ`,_y=`ᄇᄇ`,vy=`ᄇᄇᄋ`,yy=`ᄇᄇᄋ`,by=`ᄇᄉ`,xy=`ᄇᄉ`,Sy=`ᄇᄉ`,Cy=`ᄇᄉᄀ`,wy=`ᄇᄉᄀ`,Ty=`ᄇᄉᄃ`,Ey=`ᄇᄉᄃ`,Dy=`ᄇᄉᄃ`,Oy=`ᄇᄉᄇ`,ky=`ᄇᄉᄉ`,Ay=`ᄇᄉᄌ`,jy=`ᄇᄉᄐ`,My=`ᄇᄋ`,Ny=`ᄇᄋ`,Py=`ᄇᄋ`,Fy=`ᄇᄌ`,Iy=`ᄇᄌ`,Ly=`ᄇᄌ`,Ry=`ᄇᄎ`,zy=`ᄇᄎ`,By=`ᄇᄏ`,Vy=`ᄇᄐ`,Hy=`ᄇᄐ`,Uy=`ᄇᄑ`,Wy=`ᄇᄑ`,Gy=`ᄇᄒ`,Ky=`ᄇᄒ`,qy=`ᄉᄀ`,Jy=`ᄉᄀ`,Yy=`ᄉᄀ`,Xy=`ᄉᄂ`,Zy=`ᄉᄂ`,Qy=`ᄉᄃ`,$y=`ᄉᄃ`,eb=`ᄉᄃ`,tb=`ᄉᄅ`,nb=`ᄉᄅ`,rb=`ᄉᄆ`,ib=`ᄉᄆ`,ab=`ᄉᄇ`,ob=`ᄉᄇ`,sb=`ᄉᄇ`,cb=`ᄉᄇᄀ`,lb=`ᄉᄇᄋ`,ub=`ᄉᄉ`,db=`ᄉᄉ`,fb=`ᄉᄉ`,pb=`ᄉᄉᄀ`,mb=`ᄉᄉᄃ`,hb=`ᄉᄉᄇ`,gb=`ᄉᄉᄉ`,_b=`ᄉᄋ`,vb=`ᄉᄌ`,yb=`ᄉᄌ`,bb=`ᄉᄌ`,xb=`ᄉᄎ`,Sb=`ᄉᄎ`,Cb=`ᄉᄏ`,wb=`ᄉᄐ`,Tb=`ᄉᄐ`,Eb=`ᄉᄑ`,Db=`ᄉᅀ`,Ob=`ᄋᄀ`,kb=`ᄋᄀ`,Ab=`ᄋᄀᄀ`,jb=`ᄋᄃ`,Mb=`ᄋᄅ`,Nb=`ᄋᄆ`,Pb=`ᄋᄇ`,Fb=`ᄋᄉ`,Ib=`ᄋᄉ`,Lb=`ᄋᄉ`,Rb=`ᄋᄋ`,zb=`ᄋᄋ`,Bb=`ᄋᄋ`,Vb=`ᄋᄌ`,Hb=`ᄋᄎ`,Ub=`ᄋᄏ`,Wb=`ᄋᄐ`,Gb=`ᄋᄑ`,Kb=`ᄋᄒ`,qb=`ᄋᅀ`,Jb=`ᄋᅀ`,Yb=`ᄋᅀ`,Xb=`ᄌᄇ`,Zb=`ᄌᄇᄇ`,Qb=`ᄌᄋ`,$b=`ᄌᄌ`,ex=`ᄌᄌ`,tx=`ᄌᄌ`,nx=`ᄌᄌᄒ`,rx=`ᄎᄏ`,ix=`ᄎᄒ`,ax=`ᄐᄐ`,ox=`ᄑᄇ`,sx=`ᄑᄇ`,cx=`ᄑᄉ`,lx=`ᄑᄋ`,ux=`ᄑᄋ`,dx=`ᄑᄋ`,fx=`ᄑᄐ`,px=`ᄑᄒ`,mx=`ᄒᄂ`,hx=`ᄒᄅ`,gx=`ᄒᄆ`,_x=`ᄒᄇ`,vx=`ᄒᄉ`,yx=`ᄒᄒ`,bx=`ᄒᄒ`,xx=`ᄼᄼ`,Sx=`ᄾᄾ`,Cx=`ᅀᄇ`,wx=`ᅀᄇᄋ`,Tx=`ᅌᄆ`,Ex=`ᅌᄒ`,Dx=`ᅎᅎ`,Ox=`ᅐᅐ`,kx=`ᅙᅙ`,Ax=`ᅡー`,jx=`ᅡᅩ`,Mx=`ᅡᅮ`,Nx=`ᅡ丨`,Px=`ᅡ丨`,Fx=`ᅣᅩ`,Ix=`ᅣᅭ`,Lx=`ᅣᅮ`,Rx=`ᅣ丨`,zx=`ᅣ丨`,Bx=`ᅥー`,Vx=`ᅥᅩ`,Hx=`ᅥᅮ`,Ux=`ᅥ丨`,Wx=`ᅥ丨`,Gx=`ᅧᅣ`,Kx=`ᅧᅩ`,qx=`ᅧᅮ`,Jx=`ᅧ丨`,Yx=`ᅧ丨`,Xx=`ᅩᅡ`,Zx=`ᅩᅡ`,Qx=`ᅩᅡ丨`,$x=`ᅩᅡ丨`,eS=`ᅩᅣ`,tS=`ᅩᅣ丨`,nS=`ᅩᅥ`,rS=`ᅩᅥ丨`,iS=`ᅩᅧ`,aS=`ᅩᅧ丨`,oS=`ᅩᅩ`,sS=`ᅩᅩ丨`,cS=`ᅩᅮ`,lS=`ᅩ丨`,uS=`ᅩ丨`,dS=`ᅭᅡ`,fS=`ᅭᅡ丨`,pS=`ᅭᅣ`,mS=`ᅭᅣ`,hS=`ᅭᅣ`,gS=`ᅭᅣ丨`,_S=`ᅭᅣ丨`,vS=`ᅭᅥ`,yS=`ᅭᅩ`,bS=`ᅭ丨`,xS=`ᅭ丨`,SS=`ᅮᅡ`,CS=`ᅮᅡ丨`,wS=`ᅮᅥ`,TS=`ᅮᅥ`,ES=`ᅮᅥー`,DS=`ᅮᅥ丨`,OS=`ᅮᅥ丨`,kS=`ᅮᅧ`,AS=`ᅮᅧ丨`,jS=`ᅮᅮ`,MS=`ᅮ丨`,NS=`ᅮ丨`,PS=`ᅮ丨丨`,FS=`ᅲᅡ`,IS=`ᅲᅡ丨`,LS=`ᅲᅥ`,RS=`ᅲᅥ丨`,zS=`ᅲᅧ`,BS=`ᅲᅧ`,VS=`ᅲᅧ丨`,HS=`ᅲᅧ丨`,US=`ᅲᅩ`,WS=`ᅲᅮ`,GS=`ᅲ丨`,KS=`ᅲ丨`,qS=`ᆞᅡ`,JS=`ᆞᅥ`,YS=`ᆞᅥ丨`,XS=`ᆞᅮ`,ZS=`ᆞᆞ`,QS=`ᆞ丨`,$S=`ᆞ丨`,eC=`𑫥𑫯`,tC=`𑫥𑫥`,nC=`𑫥𑫥𑫯`,rC=`𑫥𑫥𑫰`,iC=`𑫥𑫰`,aC=`𑫳𑫯`,oC=`𑫳𑫳`,sC=`𑫳𑫳𑫯`,cC=`𑫳𑫳𑫰`,lC=`𑫳𑫰`,uC=`𑫫𑫯`,dC=`𑫫𑫫`,fC=`𑫫𑫫𑫯`,pC=`𐊨`,mC=`𐐺`,hC=`𐐒`,gC=`𐎂`,_C=`𐎓`,vC=`𐎚`,yC=`𐦞`,bC=`丨ー`,xC=`丨ᅡ`,SC=`丨ᅣ`,CC=`丨ᅣᅩ`,wC=`丨ᅣ丨`,TC=`丨ᅧ`,EC=`丨ᅧ丨`,DC=`丨ᅩ`,OC=`丨ᅩ丨`,kC=`丨ᅭ`,AC=`丨ᅮ`,jC=`丨ᅲ`,MC=`丨ᆞ`,NC=`丨丨`,PC=`𠄢`,FC=`𠔜`,IC=`𠔥`,LC=`𠕋`,RC=`𠘺`,zC=`𠠄`,BC=`𠣞`,VC=`𠨬`,HC=`𠭣`,UC=`𡓤`,WC=`𡚨`,GC=`𡛪`,KC=`𡧈`,qC=`𡬘`,JC=`𡴋`,YC=`𡷤`,XC=`𡷦`,ZC=`𢆃`,QC=`𢆟`,$C=`𢌱`,ew=`𢌱`,tw=`𢛔`,nw=`𢡄`,rw=`𢡊`,iw=`𢬌`,aw=`𢯱`,ow=`𣀊`,sw=`𣊸`,cw=`𣍟`,lw=`𣎓`,uw=`𣎜`,dw=`𣏃`,fw=`𣏕`,pw=`𣑭`,mw=`𣚣`,hw=`𣢧`,gw=`𣪍`,_w=`𣫺`,vw=`𣲼`,yw=`𣴞`,bw=`𣻑`,xw=`𣽞`,Sw=`𣾎`,Cw=`𤉣`,ww=`𤋮`,Tw=`𤎫`,Ew=`𤘈`,Dw=`𤜵`,Ow=`𤠔`,kw=`𤰶`,Aw=`𤲒`,jw=`𤾡`,Mw=`𤾸`,Nw=`𥁄`,Pw=`𥃲`,Fw=`𥃳`,Iw=`𥄙`,Lw=`𥄳`,Rw=`𥉉`,zw=`𥐝`,Bw=`𥘦`,Vw=`𥚚`,Hw=`𥛅`,Uw=`𥥼`,Ww=`𥪧`,Gw=`𥪧`,Kw=`𥮫`,qw=`𥲀`,Jw=`𥳐`,Yw=`𥾆`,Xw=`𦇚`,Zw=`𦈨`,Qw=`𦉇`,$w=`𦋙`,eT=`𦌾`,tT=`𦓚`,nT=`𦔣`,rT=`𦖨`,iT=`𦞧`,aT=`𦞵`,oT=`𦬼`,sT=`𦰶`,cT=`𦳕`,lT=`𦵫`,uT=`𦼬`,dT=`𦾱`,fT=`𧃒`,pT=`𧏊`,mT=`𧙧`,hT=`𧢮`,gT=`𧥦`,_T=`𧲨`,vT=`𧻓`,yT=`𧼯`,bT=`𨗒`,xT=`𨗭`,ST=`𨜮`,CT=`𨯺`,wT=`𨵷`,TT=`𩅅`,ET=`𩇟`,DT=`𩈚`,OT=`𩐊`,kT=`𩒖`,AT=`𩖶`,jT=`𩬰`,MT=`𪃎`,NT=`𪄅`,PT=`𪈎`,FT=`𪊑`,IT=`𪎒`,LT=`𪘀`,RT={0:`O`,1:`l`,"֭":`֖`,"֮":`֘`,"֨":`֙`,"֤":`֚`,"᪴":`ۛ`,"⃛":`ۛ`,"ؙ":`̓`,"ࣳ":`̓`,"̓":`̓`,"̕":`̓`,"ُ":`̓`,"ٝ":`̔`,"֜":`́`,"֝":`́`,"ؘ":`́`,"݇":`́`,"́":`́`,"॔":`́`,"َ":`́`,"̀":`̀`,"॓":`̀`,"̌":`̆`,"꙼":`̆`,"٘":`̆`,"ٚ":`̆`,"ͮ":`̆`,"ۨ":`̆̇`,"̐":`̆̇`,"ँ":`̆̇`,"ঁ":`̆̇`,"ઁ":`̆̇`,"ଁ":`̆̇`,"ఀ":`̆̇`,"ಁ":`̆̇`,"ഁ":`̆̇`,"𑒿":`̆̇`,"᳐":`̂`,"̑":`̂`,"ٛ":`̂`,"߮":`̂`,"꛰":`̂`,"֯":`̊`,"۟":`̊`,"៓":`̊`,"゚":`̊`,"ْ":`̊`,"ஂ":`̊`,"ံ":`̊`,"ំ":`̊`,"𑌀":`̊`,"ํ":`̊`,"ໍ":`̊`,"ͦ":`̊`,"ⷪ":`̊`,"࣫":`̈`,"߳":`̈`,"ً":`̋`,"ࣰ":`̋`,"͂":`̃`,"ٓ":`̃`,"ׄ":`̇`,"۬":`̇`,"݀":`̇`,"࣪":`̇`,"݁":`̇`,"͘":`̇`,"ֹ":`̇`,"ֺ":`̇`,"ׂ":`̇`,"ׁ":`̇`,"߭":`̇`,"ं":`̇`,"ਂ":`̇`,"ં":`̇`,"்":`̇`,"̷":`̸`,"᪷":`̨`,"̢":`̨`,"ͅ":`̨`,"᳒":`̄`,"̅":`̄`,"ٙ":`̄`,"߫":`̄`,"꛱":`̄`,"᳚":`̎`,"ٗ":`̒`,"͗":`͐`,"ࣿ":`͐`,"ࣸ":`͐`,"ऀ":`͒`,"᳭":`̖`,"᳜":`̩`,"ٖ":`̩`,"᳕":`̫`,"͇":`̳`,"ࣹ":`͔`,"ࣺ":`͕`,゛:`゙`,゜:`゚`,"̶":`̵`,"〬":`̉`,"ׅ":`̣`,"࣭":`̣`,"᳝":`̣`,"ִ":`̣`,"ٜ":`̣`,"़":`̣`,"়":`̣`,"਼":`̣`,"઼":`̣`,"଼":`̣`,"𑇊":`̣`,"𑓃":`̣`,"𐨺":`̣`,"࣮":`̤`,"᳞":`̤`,"༷":`̥`,"〭":`̥`,"̧":`̦`,"̡":`̦`,"̹":`̦`,"᳙":`̭`,"᳘":`̮`,"॒":`̱`,"̠":`̱`,"ࣱ":`ٌ`,"ࣨ":`ٌ`,"ࣥ":`ٌ`,ﱞ:f,"ࣲ":`ٍ`,ﱟ:p,ﳲ:m,ﱠ:h,ﳳ:g,ﱡ:_,"ؚ":`ِ`,"̗":`ِ`,ﳴ:v,ﱢ:y,ﱣ:b,"ٟ":`ٕ`,"̍":`ٰ`,"݂":`ܼ`,"ਃ":`ঃ`,"ః":`ঃ`,"ಃ":`ঃ`,"ഃ":`ঃ`,"ඃ":`ঃ`,"း":`ঃ`,"𑓁":`ঃ`,"់":`่`,"່":`่`,"້":`้`,"໊":`๊`,"໋":`๋`,"꙯":`⃩`,"\u2028":` `,"\u2029":` `," ":` `," ":` `," ":` `," ":` `," ":` `," ":` `," ":` `," ":` `," ":` `," ":` `," ":` `," ":` `,"\xA0":` `," ":` `," ":` `,ߺ:`_`,"﹍":`_`,"﹎":`_`,"﹏":`_`,"‐":`-`,"‑":`-`,"‒":`-`,"–":`-`,"﹘":`-`,"۔":`-`,"⁃":`-`,"˗":`-`,"−":`-`,"➖":`-`,Ⲻ:`-`,"⨩":`-̓`,"⸚":`-̈`,"﬩":`-̇`,"∸":`-̇`,"⨪":`-̣`,"꓾":`-.`,"~":`〜`,"؍":`,`,"٫":`,`,"‚":`,`,"¸":`,`,ꓹ:`,`,"⸲":`،`,"٬":`،`,";":`;`,"⸵":`؛`,"ः":`:`,"ઃ":`:`,":":`:`,"։":`:`,"܃":`:`,"܄":`:`,"᛬":`:`,"︰":`:`,"᠃":`:`,"᠉":`:`,"⁚":`:`,"׃":`:`,"˸":`:`,"꞉":`:`,"∶":`:`,ː:`:`,ꓽ:`:`,"⩴":`::=`,"⧴":`:→`,"!":`!`,ǃ:`!`,ⵑ:`!`,"‼":`!!`,"⁉":`!?`,ʔ:`?`,Ɂ:`?`,ॽ:`?`,Ꭾ:`?`,ꛫ:`?`,"⁈":`?!`,"⁇":`??`,"⸮":`؟`,"𝅭":`.`,"․":`.`,"܁":`.`,"܂":`.`,"꘎":`.`,"𐩐":`.`,"٠":`.`,"۰":`.`,ꓸ:`.`,ꓻ:`.,`,"‥":`..`,ꓺ:`..`,"…":`...`,"꛴":`꛳꛳`,"・":`·`,"・":`·`,"᛫":`·`,"·":`·`,"⸱":`·`,"𐄁":`·`,"•":`·`,"‧":`·`,"∙":`·`,"⋅":`·`,ꞏ:`·`,ᐧ:`·`,"⋯":`···`,ⵈ:x,ᑄ:`·<`,"⋗":`·>`,ᐷ:`·>`,ᑀ:`·>`,ᔯ:`·4`,ᑾ:`·b`,ᒀ:S,ᑺ:`·d`,ᒘ:`·J`,ᒶ:`·L`,ᑶ:`·P`,ᑗ:`·U`,ᐺ:`·V`,ᐼ:ee,ᒮ:te,ᐎ:ne,ᑙ:re,ᐌ:ie,ᐐ:ae,ᐒ:oe,ᐔ:se,ᐗ:ce,ᐙ:le,ᐾ:ue,ᑂ:de,ᑆ:fe,ᑛ:pe,ᑔ:me,ᑝ:he,ᑟ:ge,ᑡ:_e,ᑣ:ve,ᑴ:ye,ᑸ:be,ᑼ:xe,ᒒ:Se,ᒔ:Ce,ᒖ:we,ᒚ:Te,ᒜ:Ee,ᒞ:De,ᒬ:Oe,ᒰ:ke,ᒲ:Ae,ᒴ:je,ᒸ:Me,ᓉ:Ne,ᣆ:Pe,ᣈ:Fe,ᣊ:Ie,ᣌ:Le,ᓋ:Re,ᓍ:ze,ᓜ:Be,ᓞ:Ve,ᓠ:He,ᓢ:Ue,ᓤ:We,ᓦ:Ge,ᓨ:Ke,ᓶ:qe,ᓸ:Je,ᓺ:Ye,ᓼ:Xe,ᓾ:Ze,ᔀ:Qe,ᔂ:$e,ᔗ:et,ᔙ:tt,ᔛ:nt,ᔝ:rt,ᔟ:it,ᔡ:at,ᔣ:ot,ᔱ:st,ᔳ:ct,ᔵ:lt,ᔷ:ut,ᔹ:dt,ᔻ:ft,ᣎ:pt,ᣏ:mt,ᣐ:ht,ᣑ:gt,ᣒ:_t,ᣓ:vt,ᕎ:yt,ᕛ:bt,ᕨ:xt,ᢳ:St,ᢶ:Ct,ᢹ:wt,ᣂ:Tt,"꠰":`।`,"॥":`।।`,"᰼":`᰻᰻`,"။":`၊၊`,"᪩":`᪨᪨`,"᪫":`᪪᪨`,"᭟":`᭞᭞`,"𐩗":`𐩖𐩖`,"𑑌":`𑑋𑑋`,"𑙂":`𑙁𑙁`,"𑱂":`𑱁𑱁`,"᱿":`᱾᱾`,"՝":`'`,"'":`'`,"‘":`'`,"’":`'`,"‛":`'`,"′":`'`,"‵":`'`,"՚":`'`,"׳":`'`,"`":`'`,"`":`'`,"`":`'`,"´":`'`,"΄":`'`,"´":`'`,"᾽":`'`,"᾿":`'`,"῾":`'`,ʹ:`'`,ʹ:`'`,ˈ:`'`,ˊ:`'`,ˋ:`'`,"˴":`'`,ʻ:`'`,ʽ:`'`,ʼ:`'`,ʾ:`'`,ꞌ:`'`,י:`'`,ߴ:`'`,ߵ:`'`,ᑊ:`'`,ᛌ:`'`,"𖽑":`'`,"𖽒":`'`,"᳓":`''`,'"':`''`,""":`''`,"“":`''`,"”":`''`,"‟":`''`,"″":`''`,"‶":`''`,"〃":`''`,"״":`''`,"˝":`''`,ʺ:`''`,"˶":`''`,ˮ:`''`,ײ:`''`,"‴":`'''`,"‷":`'''`,"⁗":`''''`,Ɓ:`'B`,Ɗ:`'D`,ʼn:`'n`,Ƥ:`'P`,Ƭ:`'T`,Ƴ:`'Y`,"[":`(`,"❨":`(`,"❲":`(`,"〔":`(`,"﴾":`(`,"⸨":`((`,"㈠":`(ー)`,"⑵":`(2)`,"⒇":`(2O)`,"⑶":`(3)`,"⑷":`(4)`,"⑸":`(5)`,"⑹":`(6)`,"⑺":`(7)`,"⑻":`(8)`,"⑼":`(9)`,"⒜":`(a)`,"🄐":`(A)`,"⒝":`(b)`,"🄑":`(B)`,"⒞":`(c)`,"🄒":`(C)`,"⒟":`(d)`,"🄓":`(D)`,"⒠":`(e)`,"🄔":`(E)`,"⒡":`(f)`,"🄕":`(F)`,"⒢":`(g)`,"🄖":`(G)`,"⒣":`(h)`,"🄗":`(H)`,"⒤":`(i)`,"⒥":`(j)`,"🄙":`(J)`,"⒦":`(k)`,"🄚":`(K)`,"⑴":`(l)`,"🄘":`(l)`,"⒧":`(l)`,"🄛":`(L)`,"⑿":`(l2)`,"⒀":`(l3)`,"⒁":`(l4)`,"⒂":`(l5)`,"⒃":`(l6)`,"⒄":`(l7)`,"⒅":`(l8)`,"⒆":`(l9)`,"⑾":`(ll)`,"⑽":`(lO)`,"🄜":`(M)`,"⒩":`(n)`,"🄝":`(N)`,"⒪":`(o)`,"🄞":`(O)`,"⒫":`(p)`,"🄟":`(P)`,"⒬":`(q)`,"🄠":`(Q)`,"⒭":`(r)`,"🄡":`(R)`,"⒨":`(rn)`,"⒮":`(s)`,"🄢":`(S)`,"🄪":`(S)`,"⒯":`(t)`,"🄣":`(T)`,"⒰":`(u)`,"🄤":`(U)`,"⒱":`(v)`,"🄥":`(V)`,"⒲":`(w)`,"🄦":`(W)`,"⒳":`(x)`,"🄧":`(X)`,"⒴":`(y)`,"🄨":`(Y)`,"⒵":`(z)`,"🄩":`(Z)`,"㈀":`(ᄀ)`,"㈎":`(가)`,"㈁":`(ᄂ)`,"㈏":`(나)`,"㈂":`(ᄃ)`,"㈐":`(다)`,"㈃":`(ᄅ)`,"㈑":`(라)`,"㈄":`(ᄆ)`,"㈒":`(마)`,"㈅":`(ᄇ)`,"㈓":`(바)`,"㈆":`(ᄉ)`,"㈔":`(사)`,"㈇":`(ᄋ)`,"㈕":`(아)`,"㈝":`(오전)`,"㈞":`(오후)`,"㈈":`(ᄌ)`,"㈖":`(자)`,"㈜":`(주)`,"㈉":`(ᄎ)`,"㈗":`(차)`,"㈊":`(ᄏ)`,"㈘":`(카)`,"㈋":`(ᄐ)`,"㈙":`(타)`,"㈌":`(ᄑ)`,"㈚":`(파)`,"㈍":`(ᄒ)`,"㈛":`(하)`,"㈦":`(七)`,"㈢":`(三)`,"🉁":`(三)`,"㈨":`(九)`,"㈡":`(二)`,"🉂":`(二)`,"㈤":`(五)`,"㈹":`(代)`,"㈽":`(企)`,"㉁":`(休)`,"㈧":`(八)`,"㈥":`(六)`,"㈸":`(労)`,"🉇":`(勝)`,"㈩":`(十)`,"㈿":`(協)`,"㈴":`(名)`,"㈺":`(呼)`,"㈣":`(四)`,"㈯":`(土)`,"㈻":`(学)`,"🉃":`(安)`,"🉅":`(打)`,"🉈":`(敗)`,"㈰":`(日)`,"㈪":`(月)`,"㈲":`(有)`,"㈭":`(木)`,"🉀":`(本)`,"㈱":`(株)`,"㈬":`(水)`,"㈫":`(火)`,"🉄":`(点)`,"㈵":`(特)`,"🉆":`(盗)`,"㈼":`(監)`,"㈳":`(社)`,"㈷":`(祝)`,"㉀":`(祭)`,"㉂":`(自)`,"㉃":`(至)`,"㈶":`(財)`,"㈾":`(資)`,"㈮":`(金)`,"]":`)`,"❩":`)`,"❳":`)`,"〕":`)`,"﴿":`)`,"⸩":`))`,"❴":`{`,"𝄔":`{`,"❵":`}`,"〚":`⟦`,"〛":`⟧`,"⟨":`❬`,"〈":`❬`,"〈":`❬`,"㇛":`❬`,く:`❬`,𡿨:`❬`,"⟩":`❭`,"〉":`❭`,"〉":`❭`,"^":`︿`,"⸿":`¶`,"⁎":`*`,"٭":`*`,"∗":`*`,𐌟:`*`,"᜵":`/`,"⁁":`/`,"∕":`/`,"⁄":`/`,"╱":`/`,"⟋":`/`,"⧸":`/`,"𝈺":`/`,"㇓":`/`,〳:`/`,Ⳇ:`/`,ノ:`/`,丿:`/`,"⼃":`/`,"⧶":`/̄`,"⫽":`//`,"⫻":`///`,"\":`\\`,"﹨":`\\`,"∖":`\\`,"⟍":`\\`,"⧵":`\\`,"⧹":`\\`,"𝈏":`\\`,"𝈻":`\\`,"㇔":`\\`,丶:`\\`,"⼂":`\\`,"⳹":`\\\\`,"⑊":`\\\\`,"⟈":`\\ᑕ`,ꝸ:`&`,"૰":`॰`,"𑂻":`॰`,"𑇇":`॰`,"⚬":`॰`,"𑇛":`꣼`,"៙":`๏`,"៕":`๚`,"៚":`๛`,"༌":`་`,"༎":`།།`,"˄":`^`,ˆ:`^`,"꙾":`ˇ`,"˘":`ˇ`,"‾":`ˉ`,"﹉":`ˉ`,"﹊":`ˉ`,"﹋":`ˉ`,"﹌":`ˉ`,"¯":`ˉ`," ̄":`ˉ`,"▔":`ˉ`,ъ:`ˉb`,ꙑ:Et,"͵":`ˏ`,"˻":`˪`,"꜖":`˪`,"꜔":`˫`,"。":`˳`,"⸰":`°`,"˚":`°`,"∘":`°`,"○":`°`,"◦":`°`,"⍜":`°̲`,"⍤":`°̈`,"℃":`°C`,"℉":`°F`,"௵":`௳`,"༛":`༚༚`,"༟":`༚༝`,"࿎":`༝༚`,"༞":`༝༝`,"Ⓒ":`©`,"Ⓡ":`®`,"Ⓟ":`℗`,"𝈛":`⅄`,"⯬":`↞`,"⯭":`↟`,"⯮":`↠`,"⯯":`↡`,"↵":`↲`,"⥥":`⇃⇂`,"⥯":`⇃ᛚ`,"𝛛":`∂`,"𝜕":`∂`,"𝝏":`∂`,"𝞉":`∂`,"𝟃":`∂`,"𞣌":`∂`,"𞣍":`∂̵`,ð:Dt,"⌀":`∅`,"𝛁":`∇`,"𝛻":`∇`,"𝜵":`∇`,"𝝯":`∇`,"𝞩":`∇`,𑢨:`∇`,"⍢":`∇̈`,"⍫":`∇̴`,"█":`∎`,"■":`∎`,"⨿":`∐`,"᛭":`+`,"➕":`+`,𐊛:`+`,"⨣":`+̂`,"⨢":`+̊`,"⨤":`+̃`,"∔":`+̇`,"⨥":`+̣`,"⨦":`+̰`,"⨧":`+₂`,"➗":`÷`,"‹":`<`,"❮":`<`,"˂":`<`,"𝈶":`<`,ᐸ:`<`,ᚲ:`<`,"⋖":`<·`,Ⲵ:`<·`,ᑅ:`<·`,"≪":`<<`,"⋘":`<<<`,"᐀":`=`,"⹀":`=`,"゠":`=`,"꓿":`=`,"≚":`=̆`,"≙":`=̂`,"≗":`=̊`,"≐":`=̇`,"≑":`=̣̇`,"⩮":`=⃰`,"⩵":`==`,"⩶":`===`,"≞":`=ͫ`,"›":`>`,"❯":`>`,"˃":`>`,"𝈷":`>`,ᐳ:`>`,𖼿:`>`,ᑁ:`>·`,"⪥":`><`,"≫":`>>`,"⨠":`>>`,"⋙":`>>>`,"⁓":`~`,"˜":`~`,"῀":`~`,"∼":`~`,"⍨":`~̈`,"⸞":`~̇`,"⩪":`~̇`,"⸟":`~̣`,"𞣈":`∠`,"⋀":`∧`,"∯":`∮∮`,"∰":`∮∮∮`,"⸫":`∴`,"⸪":`∵`,"⸬":`∷`,"𑇞":`≈`,"♎":`≏`,"🝞":`≏`,"≣":`≡`,"⨃":`⊍`,"⨄":`⊎`,"𝈸":`⊏`,"𝈹":`⊐`,"⨅":`⊓`,"⨆":`⊔`,"⨂":`⊗`,"⍟":`⊛`,"🝱":`⊠`,"🝕":`⊡`,"◁":`⊲`,"▷":`⊳`,"⍣":`⋆̈`,"︴":`⌇`,"◠":`⌒`,"⨽":`⌙`,"⌥":`⌤`,"⧇":`⌻`,"◎":`⌾`,"⦾":`⌾`,"⧅":`⍂`,"⦰":`⍉`,"⏃":`⍋`,"⏂":`⍎`,"⏁":`⍕`,"⏆":`⍭`,"☸":`⎈`,"︵":`⏜`,"︶":`⏝`,"︷":`⏞`,"︸":`⏟`,"︹":`⏠`,"︺":`⏡`,"▱":`⏥`,"⏼":`⏻`,"︱":`│`,"|":`│`,"┃":`│`,"┏":`┌`,"┣":`├`,"▐":`▌`,"▗":`▖`,"▝":`▘`,"☐":`□`,"■":`▪`,"▸":`▶`,"►":`▶`,"⳩":`☧`,"🜊":`☩`,"🌒":`☽`,"🌙":`☽`,"⏾":`☾`,"🌘":`☾`,"⧙":`⦚`,"🜺":`⧟`,"⨾":`⨟`,"𐆠":`⳨`,"♩":`𝅘𝅥`,"♪":`𝅘𝅥𝅮`,"⓪":`🄍`,"↺":`🄎`,"˙":`ॱ`,ൎ:`ॱ`,"-":`ー`,"—":`ー`,"―":`ー`,"─":`ー`,"━":`ー`,"㇐":`ー`,ꟷ:`ー`,ᅳ:`ー`,ㅡ:`ー`,一:`ー`,"⼀":`ー`,ᆖ:Ot,ힹ:kt,ힺ:At,ힻ:jt,ힼ:Mt,ᆕ:Nt,ᅴ:Pt,ㅢ:Ft,ᆗ:It,"🄏":`$⃠`,"₤":`£`,"〒":`₸`,"〶":`₸`,"᭜":`᭐`,"꧆":`꧐`,"𑓑":`১`,"೧":`౧`,ၥ:`၁`,"①":`➀`,"⑩":`➉`,"⏨":`₁₀`,"𝟐":`2`,"𝟚":`2`,"𝟤":`2`,"𝟮":`2`,"𝟸":`2`,"🯲":`2`,Ꝛ:`2`,Ƨ:`2`,Ϩ:`2`,Ꙅ:`2`,ᒿ:`2`,ꛯ:`2`,ꧏ:`٢`,"۲":`٢`,"૨":`२`,"𑓒":`২`,"೨":`౨`,"②":`➁`,ƻ:`2̵`,"🄃":`2,`,"⒉":`2.`,"㏵":`22日`,"㍮":`22点`,"㏶":`23日`,"㍯":`23点`,"㏷":`24日`,"㍰":`24点`,"㏸":`25日`,"㏹":`26日`,"㏺":`27日`,"㏻":`28日`,"㏼":`29日`,"㏴":`2l日`,"㍭":`2l点`,"⒛":`2O.`,"㏳":`2O日`,"㍬":`2O点`,"෩":`෨ා`,"෯":`෨ී`,"㏡":`2日`,"㋁":`2月`,"㍚":`2点`,"𝈆":`3`,"𝟑":`3`,"𝟛":`3`,"𝟥":`3`,"𝟯":`3`,"𝟹":`3`,"🯳":`3`,Ɜ:`3`,Ȝ:`3`,Ʒ:`3`,Ꝫ:`3`,Ⳍ:`3`,З:`3`,Ӡ:`3`,𖼻:`3`,𑣊:`3`,"۳":`٣`,"𞣉":`٣`,"૩":`३`,"③":`➂`,Ҙ:`3̦`,"🄄":`3,`,"⒊":`3.`,"㏾":`3l日`,"㏽":`3O日`,"㏢":`3日`,"㋂":`3月`,"㍛":`3点`,"𝟒":`4`,"𝟜":`4`,"𝟦":`4`,"𝟰":`4`,"𝟺":`4`,"🯴":`4`,Ꮞ:`4`,𑢯:`4`,"۴":`٤`,"૪":`४`,"④":`➃`,"🄅":`4,`,"⒋":`4.`,ᔰ:`4·`,"㏣":`4日`,"㋃":`4月`,"㍜":`4点`,"𝟓":`5`,"𝟝":`5`,"𝟧":`5`,"𝟱":`5`,"𝟻":`5`,"🯵":`5`,Ƽ:`5`,𑢻:`5`,"⑤":`➄`,"🄆":`5,`,"⒌":`5.`,"㏤":`5日`,"㋄":`5月`,"㍝":`5点`,"𝟔":`6`,"𝟞":`6`,"𝟨":`6`,"𝟲":`6`,"𝟼":`6`,"🯶":`6`,Ⳓ:`6`,б:`6`,Ꮾ:`6`,𑣕:`6`,"۶":`٦`,"𑓖":`৬`,"⑥":`➅`,"🄇":`6,`,"⒍":`6.`,"㏥":`6日`,"㋅":`6月`,"㍞":`6点`,"𝈒":`7`,"𝟕":`7`,"𝟟":`7`,"𝟩":`7`,"𝟳":`7`,"𝟽":`7`,"🯷":`7`,𐓒:`7`,𑣆:`7`,"⑦":`➆`,"🄈":`7,`,"⒎":`7.`,"㏦":`7日`,"㋆":`7月`,"㍟":`7点`,"ଃ":`8`,"৪":`8`,"੪":`8`,"𞣋":`8`,"𝟖":`8`,"𝟠":`8`,"𝟪":`8`,"𝟴":`8`,"𝟾":`8`,"🯸":`8`,ȣ:`8`,Ȣ:`8`,𐌚:`8`,"૮":`८`,"⑧":`➇`,"🄉":`8,`,"⒏":`8.`,"㏧":`8日`,"㋇":`8月`,"㍠":`8点`,"੧":`9`,"୨":`9`,"৭":`9`,"൭":`9`,"𝟗":`9`,"𝟡":`9`,"𝟫":`9`,"𝟵":`9`,"𝟿":`9`,"🯹":`9`,Ꝯ:`9`,Ⳋ:`9`,𑣌:`9`,𑢬:`9`,𑣖:`9`,"१":`٩`,"𑣤":`٩`,"۹":`٩`,"೯":`౯`,"⑨":`➈`,"🄊":`9,`,"⒐":`9.`,"㏨":`9日`,"㋈":`9月`,"㍡":`9点`,"⍺":`a`,a:`a`,𝐚:`a`,𝑎:`a`,𝒂:`a`,𝒶:`a`,𝓪:`a`,𝔞:`a`,𝕒:`a`,𝖆:`a`,𝖺:`a`,𝗮:`a`,𝘢:`a`,𝙖:`a`,𝚊:`a`,ɑ:`a`,α:`a`,𝛂:`a`,𝛼:`a`,𝜶:`a`,𝝰:`a`,𝞪:`a`,а:`a`,"ⷶ":`ͣ`,A:`A`,𝐀:`A`,𝐴:`A`,𝑨:`A`,𝒜:`A`,𝓐:`A`,𝔄:`A`,𝔸:`A`,𝕬:`A`,𝖠:`A`,𝗔:`A`,𝘈:`A`,𝘼:`A`,𝙰:`A`,Α:`A`,𝚨:`A`,𝛢:`A`,𝜜:`A`,𝝖:`A`,𝞐:`A`,А:`A`,Ꭺ:`A`,ᗅ:`A`,ꓮ:`A`,𖽀:`A`,𐊠:`A`,"⍶":`a̲`,ǎ:`ă`,Ǎ:`Ă`,ȧ:`å`,Ȧ:`Å`,ẚ:`ả`,"℀":`a/c`,"℁":`a/s`,ꜳ:`aa`,Ꜳ:`AA`,æ:`ae`,ӕ:`ae`,Æ:`AE`,Ӕ:`AE`,ꜵ:`ao`,Ꜵ:`AO`,"🜇":`AR`,ꜷ:`au`,Ꜷ:`AU`,ꜹ:`av`,ꜻ:`av`,Ꜹ:`AV`,Ꜻ:`AV`,ꜽ:`ay`,Ꜽ:`AY`,ꭺ:`ᴀ`,"∀":`Ɐ`,"𝈗":`Ɐ`,ᗄ:`Ɐ`,ꓯ:`Ɐ`,𐐟:`Ɒ`,𝐛:`b`,𝑏:`b`,𝒃:`b`,𝒷:`b`,𝓫:`b`,𝔟:`b`,𝕓:`b`,𝖇:`b`,𝖻:`b`,𝗯:`b`,𝘣:`b`,𝙗:`b`,𝚋:`b`,Ƅ:`b`,Ь:`b`,Ꮟ:`b`,ᑲ:`b`,ᖯ:`b`,B:`B`,ℬ:`B`,𝐁:`B`,𝐵:`B`,𝑩:`B`,𝓑:`B`,𝔅:`B`,𝔹:`B`,𝕭:`B`,𝖡:`B`,𝗕:`B`,𝘉:`B`,𝘽:`B`,𝙱:`B`,Ꞵ:`B`,Β:`B`,𝚩:`B`,𝛣:`B`,𝜝:`B`,𝝗:`B`,𝞑:`B`,В:`B`,Ᏼ:`B`,ᗷ:`B`,ꓐ:`B`,𐊂:`B`,𐊡:`B`,𐌁:`B`,ɓ:`b̔`,ᑳ:`ḃ`,ƃ:`b̄`,Ƃ:`b̄`,Б:`b̄`,ƀ:`b̵`,ҍ:`b̵`,Ҍ:`b̵`,ѣ:`b̵`,Ѣ:`b̵`,ᑿ:`b·`,ᒁ:Lt,ᒈ:`b'`,Ы:`bl`,в:`ʙ`,ᏼ:`ʙ`,c:`c`,ⅽ:`c`,𝐜:`c`,𝑐:`c`,𝒄:`c`,𝒸:`c`,𝓬:`c`,𝔠:`c`,𝕔:`c`,𝖈:`c`,𝖼:`c`,𝗰:`c`,𝘤:`c`,𝙘:`c`,𝚌:`c`,ᴄ:`c`,ϲ:`c`,ⲥ:`c`,с:`c`,ꮯ:`c`,𐐽:`c`,"ⷭ":`ͨ`,"🝌":`C`,"𑣲":`C`,"𑣩":`C`,C:`C`,Ⅽ:`C`,ℂ:`C`,ℭ:`C`,𝐂:`C`,𝐶:`C`,𝑪:`C`,𝒞:`C`,𝓒:`C`,𝕮:`C`,𝖢:`C`,𝗖:`C`,𝘊:`C`,𝘾:`C`,𝙲:`C`,Ϲ:`C`,Ⲥ:`C`,С:`C`,Ꮯ:`C`,ꓚ:`C`,𐊢:`C`,𐌂:`C`,𐐕:`C`,𐔜:`C`,"¢":`c̸`,ȼ:`c̸`,"₡":`C⃫`,"🅮":`C⃠`,ç:`c̦`,ҫ:`c̦`,Ç:`C̦`,Ҫ:`C̦`,Ƈ:`C'`,"℅":`c/o`,"℆":`c/u`,"🅭":`㏄ ⃝`,"⋴":`ꞓ`,ɛ:`ꞓ`,ε:`ꞓ`,ϵ:`ꞓ`,𝛆:`ꞓ`,𝛜:`ꞓ`,𝜀:`ꞓ`,𝜖:`ꞓ`,𝜺:`ꞓ`,𝝐:`ꞓ`,𝝴:`ꞓ`,𝞊:`ꞓ`,𝞮:`ꞓ`,𝟄:`ꞓ`,ⲉ:`ꞓ`,є:`ꞓ`,ԑ:`ꞓ`,ꮛ:`ꞓ`,𑣎:`ꞓ`,𐐩:`ꞓ`,"€":`Ꞓ`,Ⲉ:`Ꞓ`,Є:`Ꞓ`,"⍷":`ꞓ̲`,ͽ:`ꜿ`,Ͽ:`Ꜿ`,ⅾ:`d`,ⅆ:`d`,𝐝:`d`,𝑑:`d`,𝒅:`d`,𝒹:`d`,𝓭:`d`,𝔡:`d`,𝕕:`d`,𝖉:`d`,𝖽:`d`,𝗱:`d`,𝘥:`d`,𝙙:`d`,𝚍:`d`,ԁ:`d`,Ꮷ:`d`,ᑯ:`d`,ꓒ:`d`,Ⅾ:`D`,ⅅ:`D`,𝐃:`D`,𝐷:`D`,𝑫:`D`,𝒟:`D`,𝓓:`D`,𝔇:`D`,𝔻:`D`,𝕯:`D`,𝖣:`D`,𝗗:`D`,𝘋:`D`,𝘿:`D`,𝙳:`D`,Ꭰ:`D`,ᗞ:`D`,ᗪ:`D`,ꓓ:`D`,ɗ:`d̔`,ɖ:`d̨`,ƌ:`d̄`,đ:`d̵`,Đ:`D̵`,Ð:`D̵`,Ɖ:`D̵`,"₫":`ḏ̵`,ꝺ:`Ꝺ`,ᑻ:`d·`,ᒇ:`d'`,ʤ:`dȝ`,dz:`dz`,ʣ:`dz`,Dz:`Dz`,DZ:`DZ`,dž:`dž`,Dž:`Dž`,DŽ:`DŽ`,ʥ:`dʑ`,ꭰ:`ᴅ`,"⸹":`ẟ`,δ:`ẟ`,𝛅:`ẟ`,𝛿:`ẟ`,𝜹:`ẟ`,𝝳:`ẟ`,𝞭:`ẟ`,ծ:`ẟ`,ᕷ:`ẟ`,℮:`e`,e:`e`,ℯ:`e`,ⅇ:`e`,𝐞:`e`,𝑒:`e`,𝒆:`e`,𝓮:`e`,𝔢:`e`,𝕖:`e`,𝖊:`e`,𝖾:`e`,𝗲:`e`,𝘦:`e`,𝙚:`e`,𝚎:`e`,ꬲ:`e`,е:`e`,ҽ:`e`,"ⷷ":`ͤ`,"⋿":`E`,E:`E`,ℰ:`E`,𝐄:`E`,𝐸:`E`,𝑬:`E`,𝓔:`E`,𝔈:`E`,𝔼:`E`,𝕰:`E`,𝖤:`E`,𝗘:`E`,𝘌:`E`,𝙀:`E`,𝙴:`E`,Ε:`E`,𝚬:`E`,𝛦:`E`,𝜠:`E`,𝝚:`E`,𝞔:`E`,Е:`E`,ⴹ:`E`,Ꭼ:`E`,ꓰ:`E`,𑢦:`E`,𑢮:`E`,𐊆:`E`,ě:`ĕ`,Ě:`Ĕ`,ɇ:`e̸`,Ɇ:`E̸`,ҿ:`ę`,ꭼ:`ᴇ`,ə:`ǝ`,ә:`ǝ`,"∃":`Ǝ`,ⴺ:`Ǝ`,ꓱ:`Ǝ`,ɚ:Rt,ᴔ:`ǝo`,ꭁ:zt,ꭂ:Bt,Ә:`Ə`,"𝈡":`Ɛ`,ℇ:`Ɛ`,Ԑ:`Ɛ`,Ꮛ:`Ɛ`,𖼭:`Ɛ`,𐐁:`Ɛ`,ᶟ:`ᵋ`,ᴈ:`ɜ`,з:`ɜ`,ҙ:Vt,𐑂:`ɞ`,ꞝ:`ʚ`,𐐪:`ʚ`,𝐟:`f`,𝑓:`f`,𝒇:`f`,𝒻:`f`,𝓯:`f`,𝔣:`f`,𝕗:`f`,𝖋:`f`,𝖿:`f`,𝗳:`f`,𝘧:`f`,𝙛:`f`,𝚏:`f`,ꬵ:`f`,ꞙ:`f`,ſ:`f`,ẝ:`f`,ք:`f`,"𝈓":`F`,ℱ:`F`,𝐅:`F`,𝐹:`F`,𝑭:`F`,𝓕:`F`,𝔉:`F`,𝔽:`F`,𝕱:`F`,𝖥:`F`,𝗙:`F`,𝘍:`F`,𝙁:`F`,𝙵:`F`,Ꞙ:`F`,Ϝ:`F`,𝟊:`F`,ᖴ:`F`,ꓝ:`F`,𑣂:`F`,𑢢:`F`,𐊇:`F`,𐊥:`F`,𐔥:`F`,ƒ:`f̦`,Ƒ:`F̦`,ᵮ:`f̴`,"℻":`FAX`,ff:`ff`,ffi:`ffi`,ffl:`ffl`,fi:`fi`,fl:`fl`,ʩ:`fŋ`,ᖵ:`Ⅎ`,ꓞ:`Ⅎ`,"𝈰":`ꟻ`,ᖷ:`ꟻ`,g:`g`,ℊ:`g`,𝐠:`g`,𝑔:`g`,𝒈:`g`,𝓰:`g`,𝔤:`g`,𝕘:`g`,𝖌:`g`,𝗀:`g`,𝗴:`g`,𝘨:`g`,𝙜:`g`,𝚐:`g`,ɡ:`g`,ᶃ:`g`,ƍ:`g`,ց:`g`,𝐆:`G`,𝐺:`G`,𝑮:`G`,𝒢:`G`,𝓖:`G`,𝔊:`G`,𝔾:`G`,𝕲:`G`,𝖦:`G`,𝗚:`G`,𝘎:`G`,𝙂:`G`,𝙶:`G`,Ԍ:`G`,Ꮐ:`G`,Ᏻ:`G`,ꓖ:`G`,ᶢ:`ᵍ`,ɠ:`g̔`,ǧ:`ğ`,Ǧ:`Ğ`,ǵ:`ģ`,ǥ:`g̵`,Ǥ:`G̵`,Ɠ:`G'`,ԍ:`ɢ`,ꮐ:`ɢ`,ᏻ:`ɢ`,h:`h`,ℎ:`h`,𝐡:`h`,𝒉:`h`,𝒽:`h`,𝓱:`h`,𝔥:`h`,𝕙:`h`,𝖍:`h`,𝗁:`h`,𝗵:`h`,𝘩:`h`,𝙝:`h`,𝚑:`h`,һ:`h`,հ:`h`,Ꮒ:`h`,H:`H`,ℋ:`H`,ℌ:`H`,ℍ:`H`,𝐇:`H`,𝐻:`H`,𝑯:`H`,𝓗:`H`,𝕳:`H`,𝖧:`H`,𝗛:`H`,𝘏:`H`,𝙃:`H`,𝙷:`H`,Η:`H`,𝚮:`H`,𝛨:`H`,𝜢:`H`,𝝜:`H`,𝞖:`H`,Ⲏ:`H`,Н:`H`,Ꮋ:`H`,ᕼ:`H`,ꓧ:`H`,𐋏:`H`,ᵸ:`ᴴ`,ɦ:`h̔`,ꚕ:`h̔`,Ᏺ:`h̔`,Ⱨ:`H̩`,Ң:`H̩`,ħ:`h̵`,ℏ:`h̵`,ћ:`h̵`,Ħ:`H̵`,Ӊ:`H̦`,Ӈ:`H̦`,н:`ʜ`,ꮋ:`ʜ`,ң:Ht,ӊ:Ut,ӈ:Wt,Ԋ:`Ƕ`,ꮀ:`ⱶ`,Ͱ:`Ⱶ`,Ꭸ:`Ⱶ`,Ꮀ:`Ⱶ`,ꚱ:`Ⱶ`,ꞕ:`ꜧ`,"˛":`i`,"⍳":`i`,i:`i`,ⅰ:`i`,ℹ:`i`,ⅈ:`i`,𝐢:`i`,𝑖:`i`,𝒊:`i`,𝒾:`i`,𝓲:`i`,𝔦:`i`,𝕚:`i`,𝖎:`i`,𝗂:`i`,𝗶:`i`,𝘪:`i`,𝙞:`i`,𝚒:`i`,ı:`i`,𝚤:`i`,ɪ:`i`,ɩ:`i`,ι:`i`,ι:`i`,ͺ:`i`,𝛊:`i`,𝜄:`i`,𝜾:`i`,𝝸:`i`,𝞲:`i`,і:`i`,ꙇ:`i`,ӏ:`i`,ꭵ:`i`,Ꭵ:`i`,𑣃:`i`,"ⓛ":`Ⓘ`,"⍸":`i̲`,ǐ:`ĭ`,Ǐ:`Ĭ`,ɨ:`i̵`,ᵻ:`i̵`,ᵼ:`i̵`,ⅱ:`ii`,ⅲ:`iii`,ij:`ij`,ⅳ:`iv`,ⅸ:`ix`,j:`j`,ⅉ:`j`,𝐣:`j`,𝑗:`j`,𝒋:`j`,𝒿:`j`,𝓳:`j`,𝔧:`j`,𝕛:`j`,𝖏:`j`,𝗃:`j`,𝗷:`j`,𝘫:`j`,𝙟:`j`,𝚓:`j`,ϳ:`j`,ј:`j`,J:`J`,𝐉:`J`,𝐽:`J`,𝑱:`J`,𝒥:`J`,𝓙:`J`,𝔍:`J`,𝕁:`J`,𝕵:`J`,𝖩:`J`,𝗝:`J`,𝘑:`J`,𝙅:`J`,𝙹:`J`,Ʝ:`J`,Ϳ:`J`,Ј:`J`,Ꭻ:`J`,ᒍ:`J`,ꓙ:`J`,ɉ:`j̵`,Ɉ:`J̵`,ᒙ:`J·`,𝚥:`ȷ`,յ:`ȷ`,ꭻ:`ᴊ`,𝐤:`k`,𝑘:`k`,𝒌:`k`,𝓀:`k`,𝓴:`k`,𝔨:`k`,𝕜:`k`,𝖐:`k`,𝗄:`k`,𝗸:`k`,𝘬:`k`,𝙠:`k`,𝚔:`k`,K:`K`,K:`K`,𝐊:`K`,𝐾:`K`,𝑲:`K`,𝒦:`K`,𝓚:`K`,𝔎:`K`,𝕂:`K`,𝕶:`K`,𝖪:`K`,𝗞:`K`,𝘒:`K`,𝙆:`K`,𝙺:`K`,Κ:`K`,𝚱:`K`,𝛫:`K`,𝜥:`K`,𝝟:`K`,𝞙:`K`,Ⲕ:`K`,К:`K`,Ꮶ:`K`,ᛕ:`K`,ꓗ:`K`,𐔘:`K`,ƙ:`k̔`,Ⱪ:`K̩`,Қ:`K̩`,"₭":`K̵`,Ꝁ:`K̵`,Ҟ:`K̵`,Ƙ:`K'`,"׀":`l`,"|":`l`,"∣":`l`,"⏽":`l`,"│":`l`,"١":`l`,"۱":`l`,"𐌠":`l`,"𞣇":`l`,"𝟏":`l`,"𝟙":`l`,"𝟣":`l`,"𝟭":`l`,"𝟷":`l`,"🯱":`l`,I:`l`,I:`l`,Ⅰ:`l`,ℐ:`l`,ℑ:`l`,𝐈:`l`,𝐼:`l`,𝑰:`l`,𝓘:`l`,𝕀:`l`,𝕴:`l`,𝖨:`l`,𝗜:`l`,𝘐:`l`,𝙄:`l`,𝙸:`l`,Ɩ:`l`,l:`l`,ⅼ:`l`,ℓ:`l`,𝐥:`l`,𝑙:`l`,𝒍:`l`,𝓁:`l`,𝓵:`l`,𝔩:`l`,𝕝:`l`,𝖑:`l`,𝗅:`l`,𝗹:`l`,𝘭:`l`,𝙡:`l`,𝚕:`l`,ǀ:`l`,Ι:`l`,𝚰:`l`,𝛪:`l`,𝜤:`l`,𝝞:`l`,𝞘:`l`,Ⲓ:`l`,І:`l`,Ӏ:`l`,ו:`l`,ן:`l`,ا:`l`,𞸀:`l`,𞺀:`l`,ﺎ:`l`,ﺍ:`l`,ߊ:`l`,ⵏ:`l`,ᛁ:`l`,ꓲ:`l`,𖼨:`l`,𐊊:`l`,𐌉:`l`,"𝈪":`L`,Ⅼ:`L`,ℒ:`L`,𝐋:`L`,𝐿:`L`,𝑳:`L`,𝓛:`L`,𝔏:`L`,𝕃:`L`,𝕷:`L`,𝖫:`L`,𝗟:`L`,𝘓:`L`,𝙇:`L`,𝙻:`L`,Ⳑ:`L`,Ꮮ:`L`,ᒪ:`L`,ꓡ:`L`,𖼖:`L`,𑢣:`L`,𑢲:`L`,𐐛:`L`,𐔦:`L`,ﴼ:`l̋`,ﴽ:`l̋`,ł:`l̸`,Ł:`L̸`,ɭ:`l̨`,Ɨ:`l̵`,ƚ:`l̵`,ɫ:`l̴`,إ:`lٕ`,ﺈ:`lٕ`,ﺇ:`lٕ`,ٳ:`lٕ`,ŀ:`l·`,Ŀ:`l·`,ᒷ:`l·`,"🄂":`l,`,"⒈":`l.`,ױ:`l'`,"⒓":`l2.`,"㏫":`l2日`,"㋋":`l2月`,"㍤":`l2点`,"⒔":`l3.`,"㏬":`l3日`,"㍥":`l3点`,"⒕":`l4.`,"㏭":`l4日`,"㍦":`l4点`,"⒖":`l5.`,"㏮":`l5日`,"㍧":`l5点`,"⒗":`l6.`,"㏯":`l6日`,"㍨":`l6点`,"⒘":`l7.`,"㏰":`l7日`,"㍩":`l7点`,"⒙":`l8.`,"㏱":`l8日`,"㍪":`l8点`,"⒚":`l9.`,"㏲":`l9日`,"㍫":`l9点`,lj:`lj`,IJ:`lJ`,Lj:`Lj`,LJ:`LJ`,"‖":`ll`,"∥":`ll`,Ⅱ:`ll`,ǁ:`ll`,װ:`ll`,"𐆙":`l̵l̵`,"⒒":`ll.`,Ⅲ:`lll`,"𐆘":`l̵l̵S̵`,"㏪":`ll日`,"㋊":`ll月`,"㍣":`ll点`,Ю:`lO`,"⒑":`lO.`,"㏩":`lO日`,"㋉":`lO月`,"㍢":`lO点`,ʪ:`ls`,"₶":`lt`,Ⅳ:`lV`,Ⅸ:`lX`,ɮ:`lȝ`,ʫ:`lz`,أ:`lٴ`,ﺄ:`lٴ`,ﺃ:`lٴ`,ٲ:`lٴ`,ٵ:`lٴ`,ﷳ:Gt,ﷲ:Kt,"㏠":`l日`,"㋀":`l月`,"㍙":`l点`,ⳑ:`ʟ`,ꮮ:`ʟ`,𐑃:`ʟ`,M:`M`,Ⅿ:`M`,ℳ:`M`,𝐌:`M`,𝑀:`M`,𝑴:`M`,𝓜:`M`,𝔐:`M`,𝕄:`M`,𝕸:`M`,𝖬:`M`,𝗠:`M`,𝘔:`M`,𝙈:`M`,𝙼:`M`,Μ:`M`,𝚳:`M`,𝛭:`M`,𝜧:`M`,𝝡:`M`,𝞛:`M`,Ϻ:`M`,Ⲙ:`M`,М:`M`,Ꮇ:`M`,ᗰ:`M`,ᛖ:`M`,ꓟ:`M`,𐊰:`M`,𐌑:`M`,Ӎ:`M̦`,"🝫":`MB`,"ⷨ":`ᷟ`,𝐧:`n`,𝑛:`n`,𝒏:`n`,𝓃:`n`,𝓷:`n`,𝔫:`n`,𝕟:`n`,𝖓:`n`,𝗇:`n`,𝗻:`n`,𝘯:`n`,𝙣:`n`,𝚗:`n`,ո:`n`,ռ:`n`,N:`N`,ℕ:`N`,𝐍:`N`,𝑁:`N`,𝑵:`N`,𝒩:`N`,𝓝:`N`,𝔑:`N`,𝕹:`N`,𝖭:`N`,𝗡:`N`,𝘕:`N`,𝙉:`N`,𝙽:`N`,Ν:`N`,𝚴:`N`,𝛮:`N`,𝜨:`N`,𝝢:`N`,𝞜:`N`,Ⲛ:`N`,ꓠ:`N`,𐔓:`N`,"𐆎":`N̊`,ɳ:`n̨`,ƞ:`n̩`,η:`n̩`,𝛈:`n̩`,𝜂:`n̩`,𝜼:`n̩`,𝝶:`n̩`,𝞰:`n̩`,Ɲ:`N̦`,ᵰ:`n̴`,nj:`nj`,Nj:`Nj`,NJ:`NJ`,"№":`No`,ͷ:`ᴎ`,и:`ᴎ`,𐑍:`ᴎ`,ņ:`ɲ`,"ం":`o`,"ಂ":`o`,"ം":`o`,"ං":`o`,"०":`o`,"੦":`o`,"૦":`o`,"௦":`o`,"౦":`o`,"೦":`o`,"൦":`o`,"๐":`o`,"໐":`o`,"၀":`o`,"٥":`o`,"۵":`o`,o:`o`,ℴ:`o`,𝐨:`o`,𝑜:`o`,𝒐:`o`,𝓸:`o`,𝔬:`o`,𝕠:`o`,𝖔:`o`,𝗈:`o`,𝗼:`o`,𝘰:`o`,𝙤:`o`,𝚘:`o`,ᴏ:`o`,ᴑ:`o`,ꬽ:`o`,ο:`o`,𝛐:`o`,𝜊:`o`,𝝄:`o`,𝝾:`o`,𝞸:`o`,σ:`o`,𝛔:`o`,𝜎:`o`,𝝈:`o`,𝞂:`o`,𝞼:`o`,ⲟ:`o`,о:`o`,ჿ:`o`,օ:`o`,ס:`o`,ه:`o`,𞸤:`o`,𞹤:`o`,𞺄:`o`,ﻫ:`o`,ﻬ:`o`,ﻪ:`o`,ﻩ:`o`,ھ:`o`,ﮬ:`o`,ﮭ:`o`,ﮫ:`o`,ﮪ:`o`,ہ:`o`,ﮨ:`o`,ﮩ:`o`,ﮧ:`o`,ﮦ:`o`,ە:`o`,ഠ:`o`,ဝ:`o`,𐓪:`o`,𑣈:`o`,𑣗:`o`,𐐬:`o`,"߀":`O`,"০":`O`,"୦":`O`,〇:`O`,"𑓐":`O`,"𑣠":`O`,"𝟎":`O`,"𝟘":`O`,"𝟢":`O`,"𝟬":`O`,"𝟶":`O`,"🯰":`O`,O:`O`,𝐎:`O`,𝑂:`O`,𝑶:`O`,𝒪:`O`,𝓞:`O`,𝔒:`O`,𝕆:`O`,𝕺:`O`,𝖮:`O`,𝗢:`O`,𝘖:`O`,𝙊:`O`,𝙾:`O`,Ο:`O`,𝚶:`O`,𝛰:`O`,𝜪:`O`,𝝤:`O`,𝞞:`O`,Ⲟ:`O`,О:`O`,Օ:`O`,ⵔ:`O`,ዐ:`O`,ଠ:`O`,𐓂:`O`,ꓳ:`O`,𑢵:`O`,𐊒:`O`,𐊫:`O`,𐐄:`O`,𐔖:`O`,"⁰":`º`,ᵒ:`º`,ǒ:`ŏ`,Ǒ:`Ŏ`,ۿ:`ô`,Ő:`Ö`,ø:`o̸`,ꬾ:`o̸`,Ø:`O̸`,ⵁ:`O̸`,Ǿ:qt,ɵ:`o̵`,ꝋ:`o̵`,ө:`o̵`,ѳ:`o̵`,ꮎ:`o̵`,ꮻ:`o̵`,"⊖":`O̵`,"⊝":`O̵`,"⍬":`O̵`,"𝈚":`O̵`,"🜔":`O̵`,Ɵ:`O̵`,Ꝋ:`O̵`,θ:`O̵`,ϑ:`O̵`,𝛉:`O̵`,𝛝:`O̵`,𝜃:`O̵`,𝜗:`O̵`,𝜽:`O̵`,𝝑:`O̵`,𝝷:`O̵`,𝞋:`O̵`,𝞱:`O̵`,𝟅:`O̵`,Θ:`O̵`,ϴ:`O̵`,𝚯:`O̵`,𝚹:`O̵`,𝛩:`O̵`,𝛳:`O̵`,𝜣:`O̵`,𝜭:`O̵`,𝝝:`O̵`,𝝧:`O̵`,𝞗:`O̵`,𝞡:`O̵`,Ө:`O̵`,Ѳ:`O̵`,ⴱ:`O̵`,Ꮎ:`O̵`,Ꮻ:`O̵`,ꭴ:`ơ`,ﳙ:`oٰ`,"🄁":`O,`,"🄀":`O.`,ơ:`o'`,Ơ:`O'`,Ꭴ:`O'`,"%":`º/₀`,"٪":`º/₀`,"⁒":`º/₀`,"‰":`º/₀₀`,"؉":`º/₀₀`,"‱":`º/₀₀₀`,"؊":`º/₀₀₀`,œ:`oe`,Œ:`OE`,ɶ:Jt,"∞":`oo`,ꝏ:`oo`,ꚙ:`oo`,Ꝏ:`OO`,Ꚙ:`OO`,ﳗ:`oج`,ﱑ:`oج`,ﳘ:`oم`,ﱒ:`oم`,ﶓ:Yt,ﶔ:Xt,ﱓ:`oى`,ﱔ:`oى`,ൟ:Zt,တ:Qt,"㍘":`O点`,ↄ:`ɔ`,ᴐ:`ɔ`,ͻ:`ɔ`,𐑋:`ɔ`,Ↄ:`Ɔ`,Ͻ:`Ɔ`,ꓛ:`Ɔ`,𐐣:`Ɔ`,ꬿ:$t,ꭢ:`ɔe`,𐐿:`ɷ`,"⍴":`p`,p:`p`,𝐩:`p`,𝑝:`p`,𝒑:`p`,𝓅:`p`,𝓹:`p`,𝔭:`p`,𝕡:`p`,𝖕:`p`,𝗉:`p`,𝗽:`p`,𝘱:`p`,𝙥:`p`,𝚙:`p`,ρ:`p`,ϱ:`p`,𝛒:`p`,𝛠:`p`,𝜌:`p`,𝜚:`p`,𝝆:`p`,𝝔:`p`,𝞀:`p`,𝞎:`p`,𝞺:`p`,𝟈:`p`,ⲣ:`p`,р:`p`,P:`P`,ℙ:`P`,𝐏:`P`,𝑃:`P`,𝑷:`P`,𝒫:`P`,𝓟:`P`,𝔓:`P`,𝕻:`P`,𝖯:`P`,𝗣:`P`,𝘗:`P`,𝙋:`P`,𝙿:`P`,Ρ:`P`,𝚸:`P`,𝛲:`P`,𝜬:`P`,𝝦:`P`,𝞠:`P`,Ⲣ:`P`,Р:`P`,Ꮲ:`P`,ᑭ:`P`,ꓑ:`P`,𐊕:`P`,ƥ:`p̔`,ᵽ:`p̵`,ᑷ:`p·`,ᒆ:`P'`,ᴩ:`ᴘ`,ꮲ:`ᴘ`,φ:`ɸ`,ϕ:`ɸ`,𝛗:`ɸ`,𝛟:`ɸ`,𝜑:`ɸ`,𝜙:`ɸ`,𝝋:`ɸ`,𝝓:`ɸ`,𝞅:`ɸ`,𝞍:`ɸ`,𝞿:`ɸ`,𝟇:`ɸ`,ⲫ:`ɸ`,ф:`ɸ`,𝐪:`q`,𝑞:`q`,𝒒:`q`,𝓆:`q`,𝓺:`q`,𝔮:`q`,𝕢:`q`,𝖖:`q`,𝗊:`q`,𝗾:`q`,𝘲:`q`,𝙦:`q`,𝚚:`q`,ԛ:`q`,գ:`q`,զ:`q`,ℚ:`Q`,𝐐:`Q`,𝑄:`Q`,𝑸:`Q`,𝒬:`Q`,𝓠:`Q`,𝔔:`Q`,𝕼:`Q`,𝖰:`Q`,𝗤:`Q`,𝘘:`Q`,𝙌:`Q`,𝚀:`Q`,ⵕ:`Q`,ʠ:`q̔`,"🜀":`QE`,ᶐ:`ɋ`,ᴋ:`ĸ`,κ:`ĸ`,ϰ:`ĸ`,𝛋:`ĸ`,𝛞:`ĸ`,𝜅:`ĸ`,𝜘:`ĸ`,𝜿:`ĸ`,𝝒:`ĸ`,𝝹:`ĸ`,𝞌:`ĸ`,𝞳:`ĸ`,𝟆:`ĸ`,ⲕ:`ĸ`,к:`ĸ`,ꮶ:`ĸ`,қ:en,ҟ:tn,𝐫:`r`,𝑟:`r`,𝒓:`r`,𝓇:`r`,𝓻:`r`,𝔯:`r`,𝕣:`r`,𝖗:`r`,𝗋:`r`,𝗿:`r`,𝘳:`r`,𝙧:`r`,𝚛:`r`,ꭇ:`r`,ꭈ:`r`,ᴦ:`r`,ⲅ:`r`,г:`r`,ꮁ:`r`,"𝈖":`R`,ℛ:`R`,ℜ:`R`,ℝ:`R`,𝐑:`R`,𝑅:`R`,𝑹:`R`,𝓡:`R`,𝕽:`R`,𝖱:`R`,𝗥:`R`,𝘙:`R`,𝙍:`R`,𝚁:`R`,Ʀ:`R`,Ꭱ:`R`,Ꮢ:`R`,𐒴:`R`,ᖇ:`R`,ꓣ:`R`,𖼵:`R`,ɽ:`r̨`,ɼ:`r̩`,ɍ:`r̵`,ғ:`r̵`,ᵲ:`r̴`,ґ:`r'`,"𑣣":`rn`,m:`rn`,ⅿ:`rn`,𝐦:`rn`,𝑚:`rn`,𝒎:`rn`,𝓂:`rn`,𝓶:`rn`,𝔪:`rn`,𝕞:`rn`,𝖒:`rn`,𝗆:`rn`,𝗺:`rn`,𝘮:`rn`,𝙢:`rn`,𝚖:`rn`,𑜀:`rn`,"₥":`rn̸`,ɱ:nn,ᵯ:rn,"₨":`Rs`,ꭱ:`ʀ`,ꮢ:`ʀ`,я:`ᴙ`,ᵳ:an,"℩":`ɿ`,s:`s`,𝐬:`s`,𝑠:`s`,𝒔:`s`,𝓈:`s`,𝓼:`s`,𝔰:`s`,𝕤:`s`,𝖘:`s`,𝗌:`s`,𝘀:`s`,𝘴:`s`,𝙨:`s`,𝚜:`s`,ꜱ:`s`,ƽ:`s`,ѕ:`s`,ꮪ:`s`,𑣁:`s`,𐑈:`s`,S:`S`,𝐒:`S`,𝑆:`S`,𝑺:`S`,𝒮:`S`,𝓢:`S`,𝔖:`S`,𝕊:`S`,𝕾:`S`,𝖲:`S`,𝗦:`S`,𝘚:`S`,𝙎:`S`,𝚂:`S`,Ѕ:`S`,Տ:`S`,Ꮥ:`S`,Ꮪ:`S`,ꓢ:`S`,𖼺:`S`,𐊖:`S`,𐐠:`S`,ʂ:`s̨`,ᵴ:`s̴`,ꞵ:`ß`,β:`ß`,ϐ:`ß`,𝛃:`ß`,𝛽:`ß`,𝜷:`ß`,𝝱:`ß`,𝞫:`ß`,Ᏸ:`ß`,"🝜":`sss`,st:`st`,"∫":`ʃ`,ꭍ:`ʃ`,"∑":`Ʃ`,"⅀":`Ʃ`,Σ:`Ʃ`,𝚺:`Ʃ`,𝛴:`Ʃ`,𝜮:`Ʃ`,𝝨:`Ʃ`,𝞢:`Ʃ`,ⵉ:`Ʃ`,"∬":`ʃʃ`,"∭":`ʃʃʃ`,"⨌":`ʃʃʃʃ`,𝐭:`t`,𝑡:`t`,𝒕:`t`,𝓉:`t`,𝓽:`t`,𝔱:`t`,𝕥:`t`,𝖙:`t`,𝗍:`t`,𝘁:`t`,𝘵:`t`,𝙩:`t`,𝚝:`t`,"⊤":`T`,"⟙":`T`,"🝨":`T`,T:`T`,𝐓:`T`,𝑇:`T`,𝑻:`T`,𝒯:`T`,𝓣:`T`,𝔗:`T`,𝕋:`T`,𝕿:`T`,𝖳:`T`,𝗧:`T`,𝘛:`T`,𝙏:`T`,𝚃:`T`,Τ:`T`,𝚻:`T`,𝛵:`T`,𝜯:`T`,𝝩:`T`,𝞣:`T`,Ⲧ:`T`,Т:`T`,Ꭲ:`T`,ꓔ:`T`,𖼊:`T`,𑢼:`T`,𐊗:`T`,𐊱:`T`,𐌕:`T`,ƭ:`t̔`,"⍡":`T̈`,Ⱦ:`T̸`,Ț:`Ţ`,Ʈ:`T̨`,Ҭ:`T̩`,"₮":`T⃫`,ŧ:`t̵`,Ŧ:`T̵`,ᵵ:`t̴`,Ⴀ:`Ꞇ`,Ꜩ:`T3`,ʨ:`tɕ`,"℡":`TEL`,ꝷ:`tf`,ʦ:`ts`,ʧ:`tʃ`,ꜩ:`tȝ`,τ:`ᴛ`,𝛕:`ᴛ`,𝜏:`ᴛ`,𝝉:`ᴛ`,𝞃:`ᴛ`,𝞽:`ᴛ`,т:`ᴛ`,ꭲ:`ᴛ`,ҭ:on,ţ:`ƫ`,ț:`ƫ`,Ꮏ:`ƫ`,𝐮:`u`,𝑢:`u`,𝒖:`u`,𝓊:`u`,𝓾:`u`,𝔲:`u`,𝕦:`u`,𝖚:`u`,𝗎:`u`,𝘂:`u`,𝘶:`u`,𝙪:`u`,𝚞:`u`,ꞟ:`u`,ᴜ:`u`,ꭎ:`u`,ꭒ:`u`,ʋ:`u`,υ:`u`,𝛖:`u`,𝜐:`u`,𝝊:`u`,𝞄:`u`,𝞾:`u`,ս:`u`,𐓶:`u`,𑣘:`u`,"∪":`U`,"⋃":`U`,𝐔:`U`,𝑈:`U`,𝑼:`U`,𝒰:`U`,𝓤:`U`,𝔘:`U`,𝕌:`U`,𝖀:`U`,𝖴:`U`,𝗨:`U`,𝘜:`U`,𝙐:`U`,𝚄:`U`,Ս:`U`,ሀ:`U`,𐓎:`U`,ᑌ:`U`,ꓴ:`U`,𖽂:`U`,𑢸:`U`,ǔ:`ŭ`,Ǔ:`Ŭ`,ᵾ:`u̵`,ꮜ:`u̵`,Ʉ:`U̵`,Ꮜ:`U̵`,ᑘ:`U·`,ᑧ:`U'`,ᵫ:`ue`,ꭣ:`uo`,ṃ:`ꭑ`,պ:`ɰ`,ሣ:`ɰ`,"℧":`Ʊ`,ᘮ:`Ʊ`,ᘴ:`Ʊ`,ᵿ:sn,"∨":`v`,"⋁":`v`,v:`v`,ⅴ:`v`,𝐯:`v`,𝑣:`v`,𝒗:`v`,𝓋:`v`,𝓿:`v`,𝔳:`v`,𝕧:`v`,𝖛:`v`,𝗏:`v`,𝘃:`v`,𝘷:`v`,𝙫:`v`,𝚟:`v`,ᴠ:`v`,ν:`v`,𝛎:`v`,𝜈:`v`,𝝂:`v`,𝝼:`v`,𝞶:`v`,ѵ:`v`,ט:`v`,𑜆:`v`,ꮩ:`v`,𑣀:`v`,"𝈍":`V`,"٧":`V`,"۷":`V`,Ⅴ:`V`,𝐕:`V`,𝑉:`V`,𝑽:`V`,𝒱:`V`,𝓥:`V`,𝔙:`V`,𝕍:`V`,𝖁:`V`,𝖵:`V`,𝗩:`V`,𝘝:`V`,𝙑:`V`,𝚅:`V`,Ѵ:`V`,ⴸ:`V`,Ꮩ:`V`,ᐯ:`V`,ꛟ:`V`,ꓦ:`V`,𖼈:`V`,𑢠:`V`,𐔝:`V`,"𐆗":`V̵`,ᐻ:`V·`,"🝬":`VB`,ⅵ:`vi`,ⅶ:`vii`,ⅷ:cn,Ⅵ:`Vl`,Ⅶ:`Vll`,Ⅷ:ln,"🜈":`Vᷤ`,ᴧ:`ʌ`,𐓘:`ʌ`,"٨":`Ʌ`,"۸":`Ʌ`,Λ:`Ʌ`,𝚲:`Ʌ`,𝛬:`Ʌ`,𝜦:`Ʌ`,𝝠:`Ʌ`,𝞚:`Ʌ`,Л:`Ʌ`,ⴷ:`Ʌ`,𐒰:`Ʌ`,ᐱ:`Ʌ`,ꛎ:`Ʌ`,ꓥ:`Ʌ`,𖼽:`Ʌ`,𐊍:`Ʌ`,Ӆ:un,ᐽ:dn,ɯ:`w`,𝐰:`w`,𝑤:`w`,𝒘:`w`,𝓌:`w`,𝔀:`w`,𝔴:`w`,𝕨:`w`,𝖜:`w`,𝗐:`w`,𝘄:`w`,𝘸:`w`,𝙬:`w`,𝚠:`w`,ᴡ:`w`,ѡ:`w`,ԝ:`w`,ա:`w`,𑜊:`w`,𑜎:`w`,𑜏:`w`,ꮃ:`w`,"𑣯":`W`,"𑣦":`W`,𝐖:`W`,𝑊:`W`,𝑾:`W`,𝒲:`W`,𝓦:`W`,𝔚:`W`,𝕎:`W`,𝖂:`W`,𝖶:`W`,𝗪:`W`,𝘞:`W`,𝙒:`W`,𝚆:`W`,Ԝ:`W`,Ꮃ:`W`,Ꮤ:`W`,ꓪ:`W`,ѽ:fn,𑓅:`ẇ`,"₩":`W̵`,ꝡ:`w̦`,ᴍ:`ʍ`,м:`ʍ`,ꮇ:`ʍ`,ӎ:pn,"᙮":`x`,"×":`x`,"⤫":`x`,"⤬":`x`,"⨯":`x`,x:`x`,ⅹ:`x`,𝐱:`x`,𝑥:`x`,𝒙:`x`,𝓍:`x`,𝔁:`x`,𝔵:`x`,𝕩:`x`,𝖝:`x`,𝗑:`x`,𝘅:`x`,𝘹:`x`,𝙭:`x`,𝚡:`x`,х:`x`,ᕁ:`x`,ᕽ:`x`,"ⷯ":`ͯ`,"᙭":`X`,"╳":`X`,"𐌢":`X`,"𑣬":`X`,X:`X`,Ⅹ:`X`,𝐗:`X`,𝑋:`X`,𝑿:`X`,𝒳:`X`,𝓧:`X`,𝔛:`X`,𝕏:`X`,𝖃:`X`,𝖷:`X`,𝗫:`X`,𝘟:`X`,𝙓:`X`,𝚇:`X`,Ꭓ:`X`,Χ:`X`,𝚾:`X`,𝛸:`X`,𝜲:`X`,𝝬:`X`,𝞦:`X`,Ⲭ:`X`,Х:`X`,ⵝ:`X`,ᚷ:`X`,ꓫ:`X`,𐊐:`X`,𐊴:`X`,𐌗:`X`,𐔧:`X`,"⨰":`ẋ`,Ҳ:`X̩`,"𐆖":`X̵`,ⅺ:`xi`,ⅻ:`xii`,Ⅺ:`Xl`,Ⅻ:`Xll`,ɣ:`y`,ᶌ:`y`,y:`y`,𝐲:`y`,𝑦:`y`,𝒚:`y`,𝓎:`y`,𝔂:`y`,𝔶:`y`,𝕪:`y`,𝖞:`y`,𝗒:`y`,𝘆:`y`,𝘺:`y`,𝙮:`y`,𝚢:`y`,ʏ:`y`,ỿ:`y`,ꭚ:`y`,γ:`y`,ℽ:`y`,𝛄:`y`,𝛾:`y`,𝜸:`y`,𝝲:`y`,𝞬:`y`,у:`y`,ү:`y`,ყ:`y`,𑣜:`y`,Y:`Y`,𝐘:`Y`,𝑌:`Y`,𝒀:`Y`,𝒴:`Y`,𝓨:`Y`,𝔜:`Y`,𝕐:`Y`,𝖄:`Y`,𝖸:`Y`,𝗬:`Y`,𝘠:`Y`,𝙔:`Y`,𝚈:`Y`,Υ:`Y`,ϒ:`Y`,𝚼:`Y`,𝛶:`Y`,𝜰:`Y`,𝝪:`Y`,𝞤:`Y`,Ⲩ:`Y`,У:`Y`,Ү:`Y`,Ꭹ:`Y`,Ꮍ:`Y`,ꓬ:`Y`,𖽃:`Y`,𑢤:`Y`,𐊲:`Y`,ƴ:`y̔`,ɏ:`y̵`,ұ:`y̵`,"¥":`Y̵`,Ɏ:`Y̵`,Ұ:`Y̵`,ʒ:`ȝ`,ꝫ:`ȝ`,ⳍ:`ȝ`,ӡ:`ȝ`,ჳ:`ȝ`,𝐳:`z`,𝑧:`z`,𝒛:`z`,𝓏:`z`,𝔃:`z`,𝔷:`z`,𝕫:`z`,𝖟:`z`,𝗓:`z`,𝘇:`z`,𝘻:`z`,𝙯:`z`,𝚣:`z`,ᴢ:`z`,ꮓ:`z`,𑣄:`z`,"𐋵":`Z`,"𑣥":`Z`,Z:`Z`,ℤ:`Z`,ℨ:`Z`,𝐙:`Z`,𝑍:`Z`,𝒁:`Z`,𝒵:`Z`,𝓩:`Z`,𝖅:`Z`,𝖹:`Z`,𝗭:`Z`,𝘡:`Z`,𝙕:`Z`,𝚉:`Z`,Ζ:`Z`,𝚭:`Z`,𝛧:`Z`,𝜡:`Z`,𝝛:`Z`,𝞕:`Z`,Ꮓ:`Z`,ꓜ:`Z`,𑢩:`Z`,ʐ:`z̨`,ƶ:`z̵`,Ƶ:`Z̵`,ȥ:`z̦`,Ȥ:`Z̦`,ᵶ:`z̴`,ƿ:`þ`,ϸ:`þ`,Ϸ:`Þ`,𐓄:`Þ`,"⁹":`ꝰ`,ᴤ:`ƨ`,ϩ:`ƨ`,ꙅ:`ƨ`,ь:`ƅ`,ꮟ:`ƅ`,ы:`ƅi`,ꭾ:`ɂ`,ˤ:`ˁ`,ꛍ:`ʡ`,"⊙":`ʘ`,"☉":`ʘ`,"⨀":`ʘ`,Ꙩ:`ʘ`,ⵙ:`ʘ`,𐓃:`ʘ`,ℾ:`Γ`,𝚪:`Γ`,𝛤:`Γ`,𝜞:`Γ`,𝝘:`Γ`,𝞒:`Γ`,Ⲅ:`Γ`,Г:`Γ`,Ꮁ:`Γ`,ᒥ:`Γ`,𖼇:`Γ`,Ғ:mn,ᒯ:hn,Ґ:`Γ'`,"∆":`Δ`,"△":`Δ`,"🜂":`Δ`,𝚫:`Δ`,𝛥:`Δ`,𝜟:`Δ`,𝝙:`Δ`,𝞓:`Δ`,Ⲇ:`Δ`,ⵠ:`Δ`,ᐃ:`Δ`,𖼚:`Δ`,𐊅:`Δ`,𐊣:`Δ`,"⍙":`Δ̲`,ᐏ:gn,ᐬ:_n,𝟋:`ϝ`,𝛇:`ζ`,𝜁:`ζ`,𝜻:`ζ`,𝝵:`ζ`,𝞯:`ζ`,ⳤ:`ϗ`,𝛌:`λ`,𝜆:`λ`,𝝀:`λ`,𝝺:`λ`,𝞴:`λ`,Ⲗ:`λ`,𐓛:`λ`,µ:`μ`,𝛍:`μ`,𝜇:`μ`,𝝁:`μ`,𝝻:`μ`,𝞵:`μ`,𝛏:`ξ`,𝜉:`ξ`,𝝃:`ξ`,𝝽:`ξ`,𝞷:`ξ`,𝚵:`Ξ`,𝛯:`Ξ`,𝜩:`Ξ`,𝝣:`Ξ`,𝞝:`Ξ`,ϖ:`π`,ℼ:`π`,𝛑:`π`,𝛡:`π`,𝜋:`π`,𝜛:`π`,𝝅:`π`,𝝕:`π`,𝝿:`π`,𝞏:`π`,𝞹:`π`,𝟉:`π`,ᴨ:`π`,п:`π`,"∏":`Π`,ℿ:`Π`,𝚷:`Π`,𝛱:`Π`,𝜫:`Π`,𝝥:`Π`,𝞟:`Π`,Ⲡ:`Π`,П:`Π`,ꛛ:`Π`,𐊭:`Ϙ`,𐌒:`Ϙ`,ϛ:`ς`,𝛓:`ς`,𝜍:`ς`,𝝇:`ς`,𝞁:`ς`,𝞻:`ς`,𝚽:`Φ`,𝛷:`Φ`,𝜱:`Φ`,𝝫:`Φ`,𝞥:`Φ`,Ⲫ:`Φ`,Ф:`Φ`,Փ:`Φ`,ቀ:`Φ`,ᛰ:`Φ`,𐊳:`Φ`,ꭓ:`χ`,ꭕ:`χ`,𝛘:`χ`,𝜒:`χ`,𝝌:`χ`,𝞆:`χ`,𝟀:`χ`,ⲭ:`χ`,𝛙:`ψ`,𝜓:`ψ`,𝝍:`ψ`,𝞇:`ψ`,𝟁:`ψ`,ѱ:`ψ`,𐓹:`ψ`,𝚿:`Ψ`,𝛹:`Ψ`,𝜳:`Ψ`,𝝭:`Ψ`,𝞧:`Ψ`,Ⲯ:`Ψ`,Ѱ:`Ψ`,𐓑:`Ψ`,ᛘ:`Ψ`,𐊵:`Ψ`,"⍵":`ω`,ꞷ:`ω`,𝛚:`ω`,𝜔:`ω`,𝝎:`ω`,𝞈:`ω`,𝟂:`ω`,ⲱ:`ω`,ꙍ:`ω`,Ω:`Ω`,𝛀:`Ω`,𝛺:`Ω`,𝜴:`Ω`,𝝮:`Ω`,𝞨:`Ω`,ᘯ:`Ω`,ᘵ:`Ω`,𐊶:`Ω`,"⍹":`ω̲`,ώ:`ῴ`,"☰":`Ⲷ`,Ⳝ:`Ϭ`,җ:vn,Җ:yn,"𝈋":`И`,Ͷ:`И`,ꚡ:`И`,𐐥:`И`,Й:`Ѝ`,Ҋ:bn,ѝ:`й`,ҋ:xn,𐒼:`Ӄ`,ᴫ:`л`,ӆ:Sn,ꭠ:`љ`,𐓫:`ꙩ`,"ᷮ":`ⷬ`,𐓍:`Ћ`,"𝈂":`Ӿ`,"𝈢":`Ѡ`,Ꮗ:`Ѡ`,ᗯ:`Ѡ`,Ѽ:Cn,ᣭ:wn,Ꞷ:`Ꙍ`,ӌ:`ҷ`,Ӌ:`Ҷ`,Ҿ:Tn,ⲽ:`ш`,Ⲽ:`Ш`,Ꙑ:`Ъl`,"℈":`Э`,"🜁":`Ꙙ`,𖼜:`Ꙙ`,ꦒ:`ⰿ`,և:En,ኔ:`ձ`,ﬔ:Dn,ﬕ:On,ﬗ:kn,ﬓ:An,"∩":`Ո`,"⋂":`Ո`,"𝉅":`Ո`,በ:`Ո`,ᑎ:`Ո`,ꓵ:`Ո`,ᑚ:jn,ᑨ:`Ո'`,ﬖ:Mn,"₽":`Ք`,"˓":`ՙ`,ʿ:`ՙ`,ℵ:`א`,ﬡ:`א`,אָ:`אַ`,אּ:`אַ`,ﭏ:Nn,ℶ:`ב`,ℷ:`ג`,ℸ:`ד`,ﬢ:`ד`,ﬣ:`ה`,יּ:`יִ`,ﬤ:`כ`,ﬥ:`ל`,ﬦ:`ם`,ﬠ:`ע`,ﬧ:`ר`,שׂ:`שׁ`,שּ:`שׁ`,שּׂ:`שּׁ`,ﬨ:`ת`,ﺀ:`ء`,"۽":`ء͈`,ﺂ:`آ`,ﺁ:`آ`,ﭑ:`ٱ`,ﭐ:`ٱ`,𞸁:`ب`,𞸡:`ب`,𞹡:`ب`,𞺁:`ب`,𞺡:`ب`,ﺑ:`ب`,ﺒ:`ب`,ﺐ:`ب`,ﺏ:`ب`,ݑ:Pn,ࢶ:Fn,ࢡ:In,ﲠ:`بo`,ﳢ:`بo`,ﲜ:Ln,ﰅ:Rn,ﲝ:zn,ﰆ:Bn,ﷂ:Vn,ﲞ:Hn,ﰇ:Un,ﳒ:Wn,ﱋ:Gn,ﶞ:Kn,ﱪ:qn,ﱫ:Jn,ﲟ:Yn,ﳡ:Xn,ﱬ:Zn,ﰈ:Qn,ﱭ:$n,ﱮ:er,ﰉ:tr,ﱯ:nr,ﰊ:rr,ﭔ:`ٻ`,ﭕ:`ٻ`,ﭓ:`ٻ`,ﭒ:`ٻ`,ې:`ٻ`,ﯦ:`ٻ`,ﯧ:`ٻ`,ﯥ:`ٻ`,ﯤ:`ٻ`,ﭜ:`ڀ`,ﭝ:`ڀ`,ﭛ:`ڀ`,ﭚ:`ڀ`,ࢩ:`ݔ`,ݧ:`ݔ`,"⍥":`ة`,ö:`ة`,ﺔ:`ة`,ﺓ:`ة`,ۃ:`ة`,𞸕:`ت`,𞸵:`ت`,𞹵:`ت`,𞺕:`ت`,𞺵:`ت`,ﺗ:`ت`,ﺘ:`ت`,ﺖ:`ت`,ﺕ:`ت`,ﲥ:`تo`,ﳤ:`تo`,ﲡ:ir,ﰋ:ar,ﵐ:or,ﶠ:sr,ﶟ:cr,ﲢ:lr,ﰌ:ur,ﵒ:dr,ﵑ:fr,ﵓ:pr,ﲣ:mr,ﰍ:hr,ﵔ:gr,ﶢ:_r,ﶡ:vr,ﱰ:yr,ﱱ:br,ﲤ:xr,ﳣ:Sr,ﱲ:Cr,ﰎ:wr,ﵕ:Tr,ﵖ:Er,ﵗ:Dr,ﶤ:Or,ﶣ:kr,ﱳ:Ar,ﱴ:jr,ﰏ:Mr,ﱵ:Nr,ﰐ:Pr,ﭠ:`ٺ`,ﭡ:`ٺ`,ﭟ:`ٺ`,ﭞ:`ٺ`,ﭤ:`ٿ`,ﭥ:`ٿ`,ﭣ:`ٿ`,ﭢ:`ٿ`,𞸂:`ج`,𞸢:`ج`,𞹂:`ج`,𞹢:`ج`,𞺂:`ج`,𞺢:`ج`,ﺟ:`ج`,ﺠ:`ج`,ﺞ:`ج`,ﺝ:`ج`,ﲧ:Fr,ﰕ:Ir,ﶦ:Lr,ﶾ:Rr,ﷻ:zr,ﲨ:Br,ﰖ:Vr,ﵙ:Hr,ﵘ:Ur,ﶧ:Wr,ﶥ:Gr,ﴝ:Kr,ﴁ:qr,ﴞ:Jr,ﴂ:Yr,ﭸ:`ڃ`,ﭹ:`ڃ`,ﭷ:`ڃ`,ﭶ:`ڃ`,ﭴ:`ڄ`,ﭵ:`ڄ`,ﭳ:`ڄ`,ﭲ:`ڄ`,ﭼ:`چ`,ﭽ:`چ`,ﭻ:`چ`,ﭺ:`چ`,ﮀ:`ڇ`,ﮁ:`ڇ`,ﭿ:`ڇ`,ﭾ:`ڇ`,𞸇:`ح`,𞸧:`ح`,𞹇:`ح`,𞹧:`ح`,𞺇:`ح`,𞺧:`ح`,ﺣ:`ح`,ﺤ:`ح`,ﺢ:`ح`,ﺡ:`ح`,څ:Xr,ځ:Zr,ݲ:Qr,ﲩ:$r,ﰗ:ei,ﶿ:ti,ﲪ:ni,ﰘ:ri,ﵛ:ii,ﵚ:ai,ﴛ:oi,ﳿ:si,ﴜ:ci,ﴀ:li,𞸗:`خ`,𞸷:`خ`,𞹗:`خ`,𞹷:`خ`,𞺗:`خ`,𞺷:`خ`,ﺧ:`خ`,ﺨ:`خ`,ﺦ:`خ`,ﺥ:`خ`,ﲫ:ui,ﰙ:di,ﰚ:fi,ﲬ:pi,ﰛ:mi,ﴟ:hi,ﴃ:gi,ﴠ:_i,ﴄ:vi,"𐋡":`د`,𞸃:`د`,𞺃:`د`,𞺣:`د`,ﺪ:`د`,ﺩ:`د`,ڈ:yi,ﮉ:bi,ﮈ:xi,ڎ:Si,ﮇ:Ci,ﮆ:wi,ۮ:Ti,ࢮ:Ei,𞸘:`ذ`,𞺘:`ذ`,𞺸:`ذ`,ﺬ:`ذ`,ﺫ:`ذ`,ﱛ:Di,ڋ:Oi,ﮅ:`ڌ`,ﮄ:`ڌ`,ﮃ:`ڍ`,ﮂ:`ڍ`,𞸓:`ر`,𞺓:`ر`,𞺳:`ر`,ﺮ:`ر`,ﺭ:`ر`,ڑ:ki,ﮍ:Ai,ﮌ:ji,ژ:Mi,ﮋ:Ni,ﮊ:Pi,ڒ:Fi,ࢹ:Ii,ۯ:Li,ݬ:Ri,ﱜ:zi,ﷶ:Bi,"﷼":`رىlل`,𞸆:`ز`,𞺆:`ز`,𞺦:`ز`,ﺰ:`ز`,ﺯ:`ز`,ࢲ:Vi,ݱ:Hi,𞸎:`س`,𞸮:`س`,𞹎:`س`,𞹮:`س`,𞺎:`س`,𞺮:`س`,ﺳ:`س`,ﺴ:`س`,ﺲ:`س`,ﺱ:`س`,ش:Ui,𞸔:Wi,𞸴:Gi,𞹔:Ki,𞹴:qi,𞺔:Ji,𞺴:Yi,ﺷ:Xi,ﺸ:Zi,ﺶ:Qi,ﺵ:$i,ݾ:ea,ﴱ:`سo`,ﳨ:`سo`,ﴲ:ta,ﳪ:na,ﲭ:ra,ﴴ:ia,ﰜ:aa,ﴭ:oa,ﴷ:sa,ﴥ:ca,ﴉ:la,ﵝ:ua,ﵞ:da,ﵩ:fa,ﲮ:pa,ﴵ:ma,ﰝ:ha,ﴮ:ga,ﴸ:_a,ﴦ:va,ﴊ:ya,ﵜ:ba,ﵨ:xa,ﵧ:Sa,ﶪ:Ca,ﲯ:wa,ﴶ:Ta,ﰞ:Ea,ﴯ:Da,ﴹ:Oa,ﴧ:ka,ﴋ:Aa,ﶨ:ja,ﷆ:Ma,ﴪ:Na,ﴎ:Pa,ﴩ:Fa,ﴍ:Ia,ﲰ:La,ﳧ:Ra,ﰟ:za,ﴰ:Ba,ﳩ:Va,ﴨ:Ha,ﴌ:Ua,ﵡ:Wa,ﵠ:Ga,ﵟ:Ka,ﵫ:qa,ﵪ:Ja,ﵣ:Ya,ﵢ:Xa,ﵭ:Za,ﵬ:Qa,ﴗ:$a,ﳻ:eo,ﴘ:to,ﳼ:no,ﴙ:ro,ﳽ:io,ﴚ:ao,ﳾ:oo,"𐋲":`ص`,𞸑:`ص`,𞸱:`ص`,𞹑:`ص`,𞹱:`ص`,𞺑:`ص`,𞺱:`ص`,ﺻ:`ص`,ﺼ:`ص`,ﺺ:`ص`,ﺹ:`ص`,ڞ:so,ࢯ:co,ﲱ:lo,ﰠ:uo,ﵥ:fo,ﵤ:po,ﶩ:mo,ﲲ:ho,ﴫ:go,ﴏ:_o,ﷵ:vo,ﷹ:yo,ﷰ:bo,ﷺ:xo,ﲳ:So,ﰡ:Co,ﷅ:wo,ﵦ:To,ﴡ:Eo,ﴅ:Do,ﴢ:Oo,ﴆ:ko,𞸙:`ض`,𞸹:`ض`,𞹙:`ض`,𞹹:`ض`,𞺙:`ض`,𞺹:`ض`,ﺿ:`ض`,ﻀ:`ض`,ﺾ:`ض`,ﺽ:`ض`,ﲴ:Ao,ﰢ:jo,ﲵ:Mo,ﰣ:No,ﵮ:Po,ﶫ:Fo,ﲶ:Io,ﰤ:Lo,ﵰ:Ro,ﵯ:zo,ﴬ:Bo,ﴐ:Vo,ﲷ:Ho,ﰥ:Uo,ﴣ:Wo,ﴇ:Go,ﴤ:Ko,ﴈ:qo,"𐋨":`ط`,𞸈:`ط`,𞹨:`ط`,𞺈:`ط`,𞺨:`ط`,ﻃ:`ط`,ﻄ:`ط`,ﻂ:`ط`,ﻁ:`ط`,ڟ:Jo,ﲸ:Yo,ﰦ:Xo,ﴳ:Zo,ﴺ:Qo,ﰧ:$o,ﵲ:es,ﵱ:ts,ﵳ:ns,ﵴ:rs,ﴑ:is,ﳵ:as,ﴒ:os,ﳶ:ss,𞸚:`ظ`,𞹺:`ظ`,𞺚:`ظ`,𞺺:`ظ`,ﻇ:`ظ`,ﻈ:`ظ`,ﻆ:`ظ`,ﻅ:`ظ`,ﲹ:cs,ﴻ:ls,ﰨ:us,"؏":`ع`,𞸏:`ع`,𞸯:`ع`,𞹏:`ع`,𞹯:`ع`,𞺏:`ع`,𞺯:`ع`,ﻋ:`ع`,ﻌ:`ع`,ﻊ:`ع`,ﻉ:`ع`,ﲺ:ds,ﰩ:fs,ﷄ:ps,ﵵ:ms,ﷷ:hs,ﲻ:gs,ﰪ:_s,ﵷ:vs,ﵶ:ys,ﵸ:bs,ﶶ:xs,ﴓ:Ss,ﳷ:Cs,ﴔ:ws,ﳸ:Ts,𞸛:`غ`,𞸻:`غ`,𞹛:`غ`,𞹻:`غ`,𞺛:`غ`,𞺻:`غ`,ﻏ:`غ`,ﻐ:`غ`,ﻎ:`غ`,ﻍ:`غ`,ﲼ:Es,ﰫ:Ds,ﲽ:Os,ﰬ:ks,ﵹ:As,ﵻ:js,ﵺ:Ms,ﴕ:Ns,ﳹ:Ps,ﴖ:Fs,ﳺ:Is,𞸐:`ف`,𞸰:`ف`,𞹰:`ف`,𞺐:`ف`,𞺰:`ف`,ﻓ:`ف`,ﻔ:`ف`,ﻒ:`ف`,ﻑ:`ف`,ڧ:`ف`,ﲾ:Ls,ﰭ:Rs,ﲿ:zs,ﰮ:Bs,ﳀ:Vs,ﰯ:Hs,ﵽ:Us,ﵼ:Ws,ﳁ:Gs,ﰰ:Ks,ﷁ:qs,ﱼ:Js,ﰱ:Ys,ﱽ:Xs,ﰲ:Zs,𞸞:`ڡ`,𞹾:`ڡ`,ࢻ:`ڡ`,ٯ:`ڡ`,𞸟:`ڡ`,𞹟:`ڡ`,ࢼ:`ڡ`,ڤ:Qs,ﭬ:$s,ﭭ:ec,ﭫ:tc,ﭪ:nc,ڨ:rc,ࢤ:ic,ﭰ:`ڦ`,ﭱ:`ڦ`,ﭯ:`ڦ`,ﭮ:`ڦ`,𞸒:`ق`,𞸲:`ق`,𞹒:`ق`,𞹲:`ق`,𞺒:`ق`,𞺲:`ق`,ﻗ:`ق`,ﻘ:`ق`,ﻖ:`ق`,ﻕ:`ق`,ﳂ:ac,ﰳ:oc,ﷱ:sc,ﳃ:cc,ﰴ:lc,ﶴ:uc,ﵾ:dc,ﵿ:fc,ﶲ:pc,ﱾ:mc,ﰵ:hc,ﱿ:gc,ﰶ:_c,𞸊:`ك`,𞸪:`ك`,𞹪:`ك`,ﻛ:`ك`,ﻜ:`ك`,ﻚ:`ك`,ﻙ:`ك`,ک:`ك`,ﮐ:`ك`,ﮑ:`ك`,ﮏ:`ك`,ﮎ:`ك`,ڪ:`ك`,ڭ:vc,ﯕ:yc,ﯖ:bc,ﯔ:xc,ﯓ:Sc,ݣ:Cc,ﲀ:`كl`,ﰷ:`كl`,ﳄ:wc,ﰸ:Tc,ﳅ:Ec,ﰹ:Dc,ﳆ:Oc,ﰺ:kc,ﳇ:Ac,ﳫ:jc,ﲁ:Mc,ﰻ:Nc,ﳈ:Pc,ﳬ:Fc,ﲂ:Ic,ﰼ:Lc,ﷃ:Rc,ﶻ:zc,ﶷ:Bc,ﲃ:Vc,ﰽ:Hc,ﲄ:Uc,ﰾ:Wc,ݢ:`ڬ`,ﮔ:`گ`,ﮕ:`گ`,ﮓ:`گ`,ﮒ:`گ`,ࢰ:`گ`,ڴ:Gc,ﮜ:`ڱ`,ﮝ:`ڱ`,ﮛ:`ڱ`,ﮚ:`ڱ`,ﮘ:`ڳ`,ﮙ:`ڳ`,ﮗ:`ڳ`,ﮖ:`ڳ`,𞸋:`ل`,𞸫:`ل`,𞹋:`ل`,𞺋:`ل`,𞺫:`ل`,ﻟ:`ل`,ﻠ:`ل`,ﻞ:`ل`,ﻝ:`ل`,ڷ:Kc,ڵ:qc,ﻼ:`لl`,ﻻ:`لl`,ﻺ:Jc,ﻹ:Yc,ﻸ:Xc,ﻷ:Zc,ﳍ:`لo`,ﻶ:Qc,ﻵ:$c,ﳉ:el,ﰿ:tl,ﶃ:nl,ﶄ:rl,ﶺ:il,ﶼ:al,ﶬ:ol,ﳊ:sl,ﱀ:cl,ﶵ:ll,ﶀ:ul,ﶂ:dl,ﶁ:fl,ﳋ:pl,ﱁ:ml,ﶆ:hl,ﶅ:gl,ﳌ:_l,ﳭ:vl,ﲅ:yl,ﱂ:bl,ﶈ:xl,ﶇ:Sl,ﶭ:Cl,ﲆ:wl,ﱃ:Tl,ﲇ:El,ﱄ:Dl,𞸌:`م`,𞸬:`م`,𞹬:`م`,𞺌:`م`,𞺬:`م`,ﻣ:`م`,ﻤ:`م`,ﻢ:`م`,ﻡ:`م`,ࢧ:Ol,"۾":`م͈`,ﲈ:`مl`,ﳎ:kl,ﱅ:Al,ﶌ:jl,ﶒ:Ml,ﶍ:Nl,ﷀ:Pl,ﳏ:Fl,ﱆ:Il,ﶉ:Ll,ﶊ:Rl,ﷴ:zl,ﶋ:Bl,ﳐ:Vl,ﱇ:Hl,ﶎ:Ul,ﶏ:Wl,ﶹ:Gl,ﳑ:Kl,ﲉ:ql,ﱈ:Jl,ﶱ:Yl,ﱉ:Xl,ﱊ:Zl,𞸍:`ن`,𞸭:`ن`,𞹍:`ن`,𞹭:`ن`,𞺍:`ن`,𞺭:`ن`,ﻧ:`ن`,ﻨ:`ن`,ﻦ:`ن`,ﻥ:`ن`,ݨ:Ql,ݩ:$l,ﳖ:`نo`,ﳯ:`نo`,ﶸ:eu,ﶽ:tu,ﶘ:nu,ﶗ:ru,ﶙ:iu,ﷇ:au,ﳓ:ou,ﱌ:su,ﶕ:cu,ﶖ:lu,ﶳ:uu,ﳔ:du,ﱍ:fu,ﲊ:pu,ﲋ:mu,ﳕ:hu,ﳮ:gu,ﲌ:_u,ﱎ:vu,ﶛ:yu,ﶚ:bu,ﲍ:xu,ﲎ:Su,ﱏ:Cu,ﲏ:wu,ﱐ:Tu,ۂ:`ۀ`,ﮥ:`ۀ`,ﮤ:`ۀ`,"𐋤":`و`,𞸅:`و`,𞺅:`و`,𞺥:`و`,ﻮ:`و`,ﻭ:`و`,ࢱ:`و`,ۋ:Eu,ﯟ:Du,ﯞ:Ou,ۇ:ku,ﯘ:Au,ﯗ:ju,ۆ:Mu,ﯚ:Nu,ﯙ:Pu,ۉ:Fu,ﯣ:Iu,ﯢ:Lu,ۈ:Ru,ﯜ:zu,ﯛ:Bu,ؤ:Vu,ﺆ:Hu,ﺅ:Uu,ٶ:Wu,ٷ:Gu,ﯝ:Ku,ﷸ:qu,ﯡ:`ۅ`,ﯠ:`ۅ`,ٮ:`ى`,𞸜:`ى`,𞹼:`ى`,ں:`ى`,𞸝:`ى`,𞹝:`ى`,ﮟ:`ى`,ﮞ:`ى`,ࢽ:`ى`,ﯨ:`ى`,ﯩ:`ى`,ﻰ:`ى`,ﻯ:`ى`,ي:`ى`,𞸉:`ى`,𞸩:`ى`,𞹉:`ى`,𞹩:`ى`,𞺉:`ى`,𞺩:`ى`,ﻳ:`ى`,ﻴ:`ى`,ﻲ:`ى`,ﻱ:`ى`,ی:`ى`,ﯾ:`ى`,ﯿ:`ى`,ﯽ:`ى`,ﯼ:`ى`,ے:`ى`,ﮯ:`ى`,ﮮ:`ى`,ٹ:Ju,ﭨ:Yu,ﭩ:Xu,ﭧ:Zu,ﭦ:Qu,ڻ:$u,ﮢ:ed,ﮣ:td,ﮡ:nd,ﮠ:rd,پ:id,ﭘ:ad,ﭙ:od,ﭗ:sd,ﭖ:cd,ث:ld,𞸖:ud,𞸶:dd,𞹶:fd,𞺖:pd,𞺶:md,ﺛ:hd,ﺜ:gd,ﺚ:_d,ﺙ:vd,ڽ:yd,ۑ:bd,ؿ:xd,ࢷ:Sd,ݖ:Cd,ێ:wd,ࢺ:Td,ؽ:Ed,ࢨ:Dd,ﲐ:Od,ﱝ:kd,ﳞ:`ىo`,ﳱ:`ىo`,ﳦ:Ad,ئ:jd,ﺋ:Md,ﺌ:Nd,ﺊ:Pd,ﺉ:Fd,ٸ:Id,ﯫ:Ld,ﯪ:Rd,ﲛ:zd,ﳠ:Bd,ﯭ:Vd,ﯬ:Hd,ﯸ:Ud,ﯷ:Wd,ﯶ:Gd,ﲗ:Kd,ﰀ:qd,ﲘ:Jd,ﰁ:Yd,ﲙ:Xd,ﱤ:Zd,ﱥ:Qd,ﲚ:$d,ﳟ:ef,ﱦ:tf,ﰂ:nf,ﱧ:rf,ﯯ:af,ﯮ:of,ﯱ:sf,ﯰ:cf,ﯳ:lf,ﯲ:uf,ﯵ:df,ﯴ:ff,ﯻ:pf,ﯺ:mf,ﱨ:hf,ﯹ:gf,ﰃ:_f,ﱩ:vf,ﰄ:yf,ﳚ:bf,ﱕ:xf,ﰑ:Sf,ﶯ:Cf,ﳛ:wf,ﱖ:Tf,ﶮ:Ef,ﳜ:Df,ﱗ:Of,ﲑ:kf,ﱶ:Af,ﲒ:jf,ﱷ:Mf,ﳝ:Nf,ﳰ:Pf,ﲓ:Ff,ﱘ:If,ﲦ:Lf,ﳥ:Rf,ﱸ:zf,ﰒ:Bf,ﶝ:Vf,ﶜ:Hf,ﶰ:Uf,ﲔ:Wf,ﱹ:Gf,ﲕ:Kf,ﱙ:qf,ﲖ:Jf,ﱚ:Yf,ﱺ:Xf,ﰓ:Zf,ﱻ:Qf,ﰔ:$f,ﮱ:`ۓ`,ﮰ:`ۓ`,𐊸:`ⵀ`,"⁞":`ⵂ`,"⸽":`ⵂ`,"⦙":`ⵂ`,"︙":`ⵗ`,"⁝":`ⵗ`,"⋮":`ⵗ`,Մ:`ሆ`,Ռ:`ቡ`,Ի:`ኮ`,Պ:`ጣ`,आ:ep,ऒ:tp,ओ:np,औ:rp,ऄ:ip,ऑ:ap,ऍ:op,ऎ:sp,ऐ:cp,ई:lp,ઽ:`ऽ`,𑇜:`ꣻ`,"𑇋":`ऺ`,"ુ":`ु`,"ૂ":`ू`,"ੋ":`ॆ`,"੍":`्`,"્":`्`,আ:up,ৠ:dp,ৡ:fp,𑒒:`ঘ`,𑒔:`চ`,𑒖:`জ`,𑒘:`ঞ`,𑒙:`ট`,𑒛:`ড`,𑒪:`ণ`,𑒞:`ত`,𑒟:`থ`,𑒠:`দ`,𑒡:`ধ`,𑒢:`ন`,𑒣:`প`,𑒩:`ব`,𑒧:`ম`,𑒨:`য`,𑒫:`র`,𑒝:`ল`,𑒭:`ষ`,𑒮:`স`,𑓄:`ঽ`,"𑒰":`া`,"𑒱":`ি`,"𑒹":`ে`,"𑒼":`ো`,"𑒾":`ৌ`,"𑓂":`্`,"𑒽":`ৗ`,ਉ:pp,ਊ:mp,ਆ:hp,ਐ:gp,ਔ:_p,ਇ:vp,ਈ:yp,ਏ:bp,આ:xp,ઑ:Sp,ઓ:Cp,ઔ:wp,ઍ:Tp,એ:Ep,ઐ:Dp,ଆ:Op,"௮":`அ`,ர:`ஈ`,"ா":`ஈ`,"௫":`ஈு`,"௨":`உ`,ഉ:`உ`,ஊ:kp,ഊ:Ap,"௭":`எ`,"௷":`எவ`,ஜ:`ஐ`,ജ:`ஐ`,"௧":`க`,"௪":`ச`,"௬":`சு`,"௲":`சூ`,ഺ:jp,ണ:`ண`,"௺":`நீ`,"௴":`மீ`,"௰":`ய`,ഴ:`ழ`,"ௗ":`ள`,"ை":`ன`,ശ:`ஶ`,"௸":`ஷ`,"ി":`ி`,"ീ":`ி`,"ொ":`ெஈ`,"ௌ":`ெள`,"ோ":`ேஈ`,ಅ:`అ`,ಆ:`ఆ`,ಇ:`ఇ`,ౠ:Mp,ౡ:Np,ಒ:`ఒ`,ఔ:Pp,ಔ:Fp,ఓ:Ip,ಓ:Lp,ಜ:`జ`,ಞ:`ఞ`,ఢ:Rp,ಣ:`ణ`,థ:zp,భ:Bp,ಯ:`య`,ఠ:Vp,ಱ:`ఱ`,ಲ:`ల`,ష:Hp,హ:Up,మ:Wp,"ూ":`ుా`,"ౄ":`ృా`,ೡ:Gp,ഈ:Kp,ഐ:qp,ഓ:Jp,ഔ:Yp,ൡ:`ഞ`,"൫":`ദ്ര`,"൹":`നു`,ഌ:Xp,ങ:Zp,"൯":`ന്`,ൻ:Qp,"൬":`ന്ന`,"൚":`ന്മ`,റ:`ര`,"൪":`ര്`,ർ:$p,"൮":`വ്ര`,"൶":`ഹ്മ`,"ൂ":`ു`,"ൃ":`ു`,"ൈ":`െെ`,"෪":`ජ`,"෫":`ද`,𑐓:em,𑐙:tm,𑐤:nm,𑐪:rm,𑐭:im,𑐯:am,𑗘:om,𑗙:sm,𑗚:cm,𑗛:lm,"𑗜":`𑖲`,"𑗝":`𑖳`,ฃ:`ข`,ด:`ค`,ต:`ค`,ม:`ฆ`,ຈ:`จ`,ซ:`ช`,ฏ:`ฎ`,ท:`ฑ`,ບ:`บ`,ປ:`ป`,ຝ:`ฝ`,ພ:`พ`,ຟ:`ฟ`,ฦ:`ภ`,ຍ:`ย`,"។":`ฯ`,ๅ:`า`,ำ:um,"ិ":`ิ`,"ី":`ี`,"ឹ":`ึ`,"ឺ":`ื`,"ຸ":`ุ`,"ູ":`ู`,แ:dm,ໜ:fm,ໝ:pm,ຳ:mm,"༂":`འུྂཿ`,"༃":`འུྂ༔`,ཪ:`ར`,ༀ:hm,"ཷ":`ྲཱྀ`,"ཹ":`ླཱྀ`,"𑲲":`𑲪`,ႁ:gm,က:_m,ၰ:vm,ၦ:ym,ဟ:bm,ၯ:xm,ၾ:Sm,ဩ:Cm,ဪ:wm,"႞":`ႃ̊`,ឣ:`អ`,"᧐":`ᦞ`,"᧑":`ᦱ`,"᪀":`ᩅ`,"᪐":`ᩅ`,"꩓":`ꨁ`,"꩖":`ꨣ`,"᭒":`ᬍ`,"᭓":`ᬑ`,"᭘":`ᬨ`,ꦣ:`ꦝ`,ᢖ:`ᡜ`,ᡕ:`ᠵ`,ῶ:`Ꮿ`,ᐍ:Tm,ᐫ:Em,ᐑ:Dm,ᐓ:Om,ᐭ:km,ᐕ:Am,ᐘ:jm,ᐮ:Mm,ᐚ:Nm,ᣝ:Pm,ᓑ:`ᐡ`,ᕀ:`ᐩ`,ᐿ:Fm,ᑃ:Im,"⍩":`ᐵ`,ᑇ:Lm,ᑜ:Rm,"⸧":`ᑐ`,"⊃":`ᑐ`,ᑞ:zm,ᑩ:Bm,"⟉":`ᑐ/`,"⫗":`ᑐᑕ`,ᑠ:Vm,"⸦":`ᑕ`,"⊂":`ᑕ`,ᑢ:Hm,ᑪ:Um,ᑤ:Wm,ᑵ:Gm,ᒅ:Km,ᑹ:qm,ᑽ:Jm,ᘃ:`ᒉ`,ᒓ:Ym,ᒕ:Xm,ᒗ:Zm,ᒛ:Qm,ᘂ:`ᒐ`,ᒝ:$m,ᒟ:eh,ᒭ:th,ᒱ:nh,ᒳ:rh,ᒵ:ih,ᒹ:ah,ᓊ:oh,ᣇ:sh,ᣉ:ch,ᣋ:lh,ᣍ:uh,ᓌ:dh,ᓎ:fh,ᘄ:`ᓓ`,ᓝ:ph,ᓟ:mh,ᓡ:hh,ᓣ:gh,ᓥ:_h,ᘇ:`ᓚ`,ᓧ:vh,ᓩ:yh,ᓷ:bh,ᓹ:xh,ᓻ:Sh,ᓽ:Ch,ᓿ:wh,ᔁ:Th,ᔃ:Eh,ᔌ:Dh,ᔎ:Oh,ᔍ:kh,ᔏ:Ah,ᔘ:jh,ᔚ:Mh,ᔜ:Nh,ᔞ:Ph,ᔠ:Fh,ᔢ:Ih,ᔤ:Lh,ᔲ:Rh,ᔴ:zh,ᔶ:Bh,ᔸ:Vh,ᔺ:Hh,ᔼ:Uh,ᘢ:`ᕃ`,ᣠ:Wh,ᘣ:`ᕆ`,ᘤ:`ᕊ`,ᕏ:Gh,ᖃ:Kh,ᖄ:qh,ᖁ:Jh,ᕿ:Yh,ᙯ:Xh,ᕾ:Zh,ᖀ:Qh,ᖂ:$h,ᖅ:eg,ᕜ:tg,ᣣ:ng,ᣤ:rg,ᕩ:ig,ᣥ:ag,ᣨ:og,ᖑ:sg,ᙰ:cg,ᖎ:lg,ᖏ:ug,ᖐ:dg,ᖒ:fg,ᖓ:pg,ᖔ:mg,ᙳ:hg,ᙱ:gg,ᙲ:_g,ᙴ:vg,ᙵ:yg,ᙶ:bg,ᣪ:xg,ᙷ:Sg,ᙸ:Cg,ᙹ:wg,ᙺ:Tg,ᙻ:Eg,ᙼ:Dg,ᙽ:Og,"⪫":`ᗒ`,"⪪":`ᗕ`,ꓷ:`ᗡ`,ᣰ:kg,ᣲ:Ag,ᶻ:`ᙆ`,ꓭ:`ᙠ`,ᶺ:`ᣔ`,ᴾ:`ᣖ`,ᣜ:jg,ˡ:`ᣳ`,ʳ:`ᣴ`,ˢ:`ᣵ`,ᣛ:`ᣵ`,ꚰ:`ᚹ`,ᛡ:`ᚼ`,"⍿":`ᚽ`,ᛂ:`ᚽ`,"𝈿":`ᛋ`,"↑":`ᛏ`,"↿":`ᛐ`,"⥮":`ᛐ⇂`,"⥣":`ᛐᛚ`,ⵣ:`ᛯ`,"↾":`ᛚ`,"⨡":`ᛚ`,"⋄":`ᛜ`,"◇":`ᛜ`,"◊":`ᛜ`,"♢":`ᛜ`,"🝔":`ᛜ`,𑢷:`ᛜ`,𐊔:`ᛜ`,"⍚":`ᛜ̲`,"⋈":`ᛞ`,"⨝":`ᛞ`,𐓐:`ᛦ`,"↕":`ᛨ`,"𐳼":`𐲂`,"𐳺":`𐲥`,ㄱ:`ᄀ`,ᆨ:`ᄀ`,ᄁ:Mg,ㄲ:Ng,ᆩ:Pg,ᇺ:Fg,ᅚ:Ig,ᇃ:Lg,ᇻ:Rg,ᆪ:zg,ㄳ:Bg,ᇄ:Vg,ᇼ:Hg,ᇽ:Ug,ᇾ:Wg,ㄴ:`ᄂ`,ᆫ:`ᄂ`,ᄓ:Gg,ᇅ:Kg,ᄔ:qg,ㅥ:Jg,ᇿ:Yg,ᄕ:Xg,ㅦ:Zg,ᇆ:Qg,ퟋ:$g,ᄖ:e_,ᅛ:t_,ᇇ:n_,ㅧ:r_,ᅜ:i_,ᆬ:a_,ㄵ:o_,ퟌ:s_,ᇉ:c_,ᅝ:l_,ᆭ:u_,ㄶ:d_,ᇈ:f_,ㅨ:p_,ㄷ:`ᄃ`,ᆮ:`ᄃ`,ᄗ:m_,ᇊ:h_,ᄄ:g_,ㄸ:__,ퟍ:v_,ퟎ:y_,ᅞ:b_,ᇋ:x_,ꥠ:S_,ꥡ:C_,ퟏ:w_,ꥢ:T_,ퟐ:E_,ퟑ:D_,ꥣ:O_,ퟒ:k_,ퟓ:A_,ퟔ:j_,ㄹ:`ᄅ`,ᆯ:`ᄅ`,ꥤ:M_,ᆰ:N_,ㄺ:P_,ꥥ:F_,ퟕ:I_,ᇌ:L_,ㅩ:R_,ퟖ:z_,ᄘ:B_,ᇍ:V_,ꥦ:H_,ᇎ:U_,ㅪ:W_,ꥧ:G_,ᇏ:K_,ᄙ:q_,ᇐ:J_,ퟗ:Y_,ꥨ:X_,ᆱ:Z_,ㄻ:Q_,ᇑ:$_,ᇒ:ev,ퟘ:tv,ꥩ:nv,ᆲ:rv,ㄼ:iv,ퟙ:av,ꥪ:ov,ᇓ:sv,ㅫ:cv,ꥫ:lv,ᇕ:uv,ퟚ:dv,ᇔ:fv,ꥬ:pv,ᆳ:mv,ㄽ:hv,ᇖ:gv,ᄛ:_v,ퟝ:vv,ꥭ:yv,ꥮ:bv,ᇘ:xv,ᆴ:Sv,ㄾ:Cv,ᆵ:wv,ㄿ:Tv,ᄚ:Ev,ㅀ:Dv,ᄻ:Ov,ᆶ:kv,ퟲ:Av,ᇗ:jv,ㅬ:Mv,ퟛ:Nv,ᇙ:Pv,ㅭ:Fv,ퟜ:Iv,ㅁ:`ᄆ`,ᆷ:`ᄆ`,ꥯ:Lv,ᇚ:Rv,ퟞ:zv,ퟟ:Bv,ꥰ:Vv,ᇛ:Hv,ퟠ:Uv,ᄜ:Wv,ㅮ:Gv,ᇜ:Kv,ퟡ:qv,ꥱ:Jv,ᇝ:Yv,ㅯ:Xv,ᇞ:Zv,ᄝ:Qv,ㅱ:$v,ᇢ:ey,ퟢ:ty,ᇠ:ny,ᇡ:ry,ᇟ:iy,ㅰ:ay,ㅂ:`ᄇ`,ᆸ:`ᄇ`,ᄞ:oy,ㅲ:sy,ᄟ:cy,ᄠ:ly,ㅳ:uy,ퟣ:dy,ᇣ:fy,ퟤ:py,ퟥ:my,ᄈ:hy,ㅃ:gy,ퟦ:_y,ᄬ:vy,ㅹ:yy,ᄡ:by,ㅄ:xy,ᆹ:Sy,ᄢ:Cy,ㅴ:wy,ᄣ:Ty,ㅵ:Ey,ퟧ:Dy,ᄤ:Oy,ᄥ:ky,ᄦ:Ay,ꥲ:jy,ᄫ:My,ㅸ:Ny,ᇦ:Py,ᄧ:Fy,ㅶ:Iy,ퟨ:Ly,ᄨ:Ry,ퟩ:zy,ꥳ:By,ᄩ:Vy,ㅷ:Hy,ᄪ:Uy,ᇤ:Wy,ꥴ:Gy,ᇥ:Ky,ㅅ:`ᄉ`,ᆺ:`ᄉ`,ᄭ:qy,ㅺ:Jy,ᇧ:Yy,ᄮ:Xy,ㅻ:Zy,ᄯ:Qy,ㅼ:$y,ᇨ:eb,ᄰ:tb,ᇩ:nb,ᄱ:rb,ퟪ:ib,ᄲ:ab,ㅽ:ob,ᇪ:sb,ᄳ:cb,ퟫ:lb,ᄊ:ub,ㅆ:db,ᆻ:fb,ퟬ:pb,ퟭ:mb,ꥵ:hb,ᄴ:gb,ᄵ:_b,ᄶ:vb,ㅾ:yb,ퟯ:bb,ᄷ:xb,ퟰ:Sb,ᄸ:Cb,ᄹ:wb,ퟱ:Tb,ᄺ:Eb,ퟮ:Db,ㅇ:`ᄋ`,ᆼ:`ᄋ`,ᅁ:Ob,ᇬ:kb,ᇭ:Ab,ᅂ:jb,ꥶ:Mb,ᅃ:Nb,ᅄ:Pb,ᅅ:Fb,ᇱ:Ib,ㆂ:Lb,ᅇ:Rb,ㆀ:zb,ᇮ:Bb,ᅈ:Vb,ᅉ:Hb,ᇯ:Ub,ᅊ:Wb,ᅋ:Gb,ꥷ:Kb,ᅆ:qb,ᇲ:Jb,ㆃ:Yb,ㅈ:`ᄌ`,ᆽ:`ᄌ`,ퟷ:Xb,ퟸ:Zb,ᅍ:Qb,ᄍ:$b,ㅉ:ex,ퟹ:tx,ꥸ:nx,ㅊ:`ᄎ`,ᆾ:`ᄎ`,ᅒ:rx,ᅓ:ix,ㅋ:`ᄏ`,ᆿ:`ᄏ`,ㅌ:`ᄐ`,ᇀ:`ᄐ`,ꥹ:ax,ㅍ:`ᄑ`,ᇁ:`ᄑ`,ᅖ:ox,ᇳ:sx,ퟺ:cx,ᅗ:lx,ㆄ:ux,ᇴ:dx,ퟻ:fx,ꥺ:px,ㅎ:`ᄒ`,ᇂ:`ᄒ`,ᇵ:mx,ᇶ:hx,ᇷ:gx,ᇸ:_x,ꥻ:vx,ᅘ:yx,ㆅ:bx,ᄽ:xx,ᄿ:Sx,ㅿ:`ᅀ`,ᇫ:`ᅀ`,ퟳ:Cx,ퟴ:wx,ㆁ:`ᅌ`,ᇰ:`ᅌ`,ퟵ:Tx,ퟶ:Ex,ᅏ:Dx,ᅑ:Ox,ㆆ:`ᅙ`,ᇹ:`ᅙ`,ꥼ:kx,ㅤ:`ᅠ`,ㅏ:`ᅡ`,ᆣ:Ax,ᅶ:jx,ᅷ:Mx,ᅢ:Nx,ㅐ:Px,ㅑ:`ᅣ`,ᅸ:Fx,ᅹ:Ix,ᆤ:Lx,ᅤ:Rx,ㅒ:zx,ㅓ:`ᅥ`,ᅼ:Bx,ᅺ:Vx,ᅻ:Hx,ᅦ:Ux,ㅔ:Wx,ㅕ:`ᅧ`,ᆥ:Gx,ᅽ:Kx,ᅾ:qx,ᅨ:Jx,ㅖ:Yx,ㅗ:`ᅩ`,ᅪ:Xx,ㅘ:Zx,ᅫ:Qx,ㅙ:$x,ᆦ:eS,ᆧ:tS,ᅿ:nS,ᆀ:rS,ힰ:iS,ᆁ:aS,ᆂ:oS,ힱ:sS,ᆃ:cS,ᅬ:lS,ㅚ:uS,ㅛ:`ᅭ`,ힲ:dS,ힳ:fS,ᆄ:pS,ㆇ:mS,ᆆ:hS,ᆅ:gS,ㆈ:_S,ힴ:vS,ᆇ:yS,ᆈ:bS,ㆉ:xS,ㅜ:`ᅮ`,ᆉ:SS,ᆊ:CS,ᅯ:wS,ㅝ:TS,ᆋ:ES,ᅰ:DS,ㅞ:OS,ힵ:kS,ᆌ:AS,ᆍ:jS,ᅱ:MS,ㅟ:NS,ힶ:PS,ㅠ:`ᅲ`,ᆎ:FS,ힷ:IS,ᆏ:LS,ᆐ:RS,ᆑ:zS,ㆊ:BS,ᆒ:VS,ㆋ:HS,ힸ:US,ᆓ:WS,ᆔ:GS,ㆌ:KS,ㆍ:`ᆞ`,ퟅ:qS,ᆟ:JS,ퟆ:YS,ᆠ:XS,ᆢ:ZS,ᆡ:QS,ㆎ:$S,ヘ:`へ`,"⍁":`〼`,"⧄":`〼`,"꒞":`ꁊ`,"꒬":`ꁐ`,"꒜":`ꃀ`,"꒨":`ꄲ`,"꒿":`ꉙ`,"꒾":`ꊱ`,"꒔":`ꋍ`,"꓀":`ꎫ`,"꓂":`ꎵ`,"꒺":`ꎿ`,"꒰":`ꏂ`,"꒧":`ꑘ`,"⊥":`ꓕ`,"⟂":`ꓕ`,"𝈜":`ꓕ`,Ʇ:`ꓕ`,Ꞟ:`ꓤ`,"⅁":`ꓨ`,"⅂":`ꓶ`,"𝈕":`ꓶ`,"𝈫":`ꓶ`,𖼦:`ꓶ`,𐐑:`ꓶ`,"⅃":`𖼀`,𑫦:eC,𑫨:tC,𑫩:nC,𑫪:rC,𑫧:iC,𑫴:aC,𑫶:oC,𑫷:sC,𑫸:cC,𑫵:lC,𑫬:uC,𑫭:dC,𑫮:fC,"⊕":`𐊨`,"⨁":`𐊨`,"🜨":`𐊨`,Ꚛ:pC,"▽":`𐊼`,"𝈔":`𐊼`,"🜄":`𐊼`,"⧖":`𐋀`,ꞛ:mC,Ꞛ:hC,"𐒠":`𐒆`,𐏑:gC,𐏓:_C,𒀸:vC,"☥":`𐦞`,𓋹:yC,〹:`卄`,不:`不`,丽:`丽`,並:`並`,"⎜":`丨`,"⎟":`丨`,"⎢":`丨`,"⎥":`丨`,"⎪":`丨`,"⎮":`丨`,"㇑":`丨`,ᅵ:`丨`,ㅣ:`丨`,"⼁":`丨`,ᆜ:bC,ᆘ:xC,ᆙ:SC,ힽ:CC,ힾ:wC,ힿ:TC,ퟀ:EC,ᆚ:DC,ퟁ:OC,ퟂ:kC,ᆛ:AC,ퟃ:jC,ᆝ:MC,ퟄ:NC,串:`串`,丸:`丸`,丹:`丹`,乁:`乁`,"㇠":`乙`,"⼄":`乙`,"㇟":`乚`,"⺃":`乚`,"㇖":`乛`,"⺂":`乛`,"⻲":`亀`,亂:`亂`,"㇚":`亅`,"⼅":`亅`,了:`了`,ニ:`二`,"⼆":`二`,𠄢:PC,"⼇":`亠`,亮:`亮`,"⼈":`人`,イ:`亻`,"⺅":`亻`,什:`什`,仌:`仌`,令:`令`,你:`你`,倂:`併`,倂:`併`,侀:`侀`,來:`來`,例:`例`,侮:`侮`,侮:`侮`,侻:`侻`,便:`便`,值:`値`,倫:`倫`,偺:`偺`,備:`備`,像:`像`,僚:`僚`,僧:`僧`,僧:`僧`,㒞:`㒞`,"⼉":`儿`,兀:`兀`,"⺎":`兀`,充:`充`,免:`免`,免:`免`,兔:`兔`,兤:`兤`,"⼊":`入`,內:`內`,全:`全`,兩:`兩`,ハ:`八`,"⼋":`八`,六:`六`,具:`具`,𠔜:FC,𠔥:IC,冀:`冀`,㒹:`㒹`,"⼌":`冂`,再:`再`,𠕋:LC,冒:`冒`,冕:`冕`,㒻:`㒻`,最:`最`,"⼍":`冖`,冗:`冗`,冤:`冤`,"⼎":`冫`,冬:`冬`,况:`况`,况:`况`,冷:`冷`,凉:`凉`,凌:`凌`,凜:`凜`,凞:`凞`,"⼏":`几`,𠘺:RC,凵:`凵`,"⼐":`凵`,"⼑":`刀`,"⺉":`刂`,刃:`刃`,切:`切`,切:`切`,列:`列`,利:`利`,㓟:`㓟`,刺:`刺`,刻:`刻`,剆:`剆`,割:`割`,剷:`剷`,劉:`劉`,𠠄:zC,カ:`力`,力:`力`,"⼒":`力`,劣:`劣`,㔕:`㔕`,劳:`劳`,勇:`勇`,勇:`勇`,勉:`勉`,勉:`勉`,勒:`勒`,勞:`勞`,勤:`勤`,勤:`勤`,勵:`勵`,"⼓":`勹`,勺:`勺`,勺:`勺`,包:`包`,匆:`匆`,𠣞:BC,"⼔":`匕`,北:`北`,北:`北`,"⼕":`匚`,"⼖":`匸`,匿:`匿`,"⼗":`十`,〸:`十`,〺:`卅`,卉:`卉`,"࿖":`卍`,"࿕":`卐`,卑:`卑`,卑:`卑`,博:`博`,ト:`卜`,"⼘":`卜`,"⼙":`卩`,"⺋":`㔾`,即:`即`,卵:`卵`,卽:`卽`,卿:`卿`,卿:`卿`,卿:`卿`,"⼚":`厂`,𠨬:VC,"⼛":`厶`,參:`參`,"⼜":`又`,及:`及`,叟:`叟`,𠭣:HC,ロ:`口`,"⼝":`口`,囗:`口`,"⼞":`口`,句:`句`,叫:`叫`,叱:`叱`,吆:`吆`,吏:`吏`,吝:`吝`,吸:`吸`,呂:`呂`,呈:`呈`,周:`周`,咞:`咞`,咢:`咢`,咽:`咽`,䎛:`㖈`,哶:`哶`,唐:`唐`,啓:`啓`,啟:`啓`,啕:`啕`,啣:`啣`,善:`善`,善:`善`,喇:`喇`,喙:`喙`,喙:`喙`,喝:`喝`,喝:`喝`,喫:`喫`,喳:`喳`,嗀:`嗀`,嗂:`嗂`,嗢:`嗢`,嘆:`嘆`,嘆:`嘆`,噑:`噑`,噴:`噴`,器:`器`,囹:`囹`,圖:`圖`,圗:`圗`,"⼟":`土`,士:`土`,"⼠":`土`,型:`型`,城:`城`,㦳:`㘽`,埴:`埴`,堍:`堍`,報:`報`,堲:`堲`,塀:`塀`,塚:`塚`,塚:`塚`,塞:`塞`,填:`塡`,壿:`墫`,墬:`墬`,墳:`墳`,壘:`壘`,壟:`壟`,𡓤:UC,壮:`壮`,売:`売`,壷:`壷`,"⼡":`夂`,夆:`夆`,"⼢":`夊`,タ:`夕`,"⼣":`夕`,多:`多`,夢:`夢`,"⼤":`大`,奄:`奄`,奈:`奈`,契:`契`,奔:`奔`,奢:`奢`,女:`女`,"⼥":`女`,𡚨:WC,𡛪:GC,姘:`姘`,姬:`姬`,娛:`娛`,娧:`娧`,婢:`婢`,婦:`婦`,嬀:`媯`,㛮:`㛮`,㛼:`㛼`,媵:`媵`,嬈:`嬈`,嬨:`嬨`,嬾:`嬾`,嬾:`嬾`,"⼦":`子`,"⼧":`宀`,宅:`宅`,𡧈:KC,寃:`寃`,寘:`寘`,寧:`寧`,寧:`寧`,寧:`寧`,寮:`寮`,寳:`寳`,𡬘:qC,"⼨":`寸`,寿:`寿`,将:`将`,"⼩":`小`,尢:`尢`,"⺐":`尢`,"⼪":`尢`,"⺏":`尣`,㞁:`㞁`,"⼫":`尸`,尿:`尿`,屠:`屠`,屢:`屢`,層:`層`,履:`履`,屮:`屮`,屮:`屮`,"⼬":`屮`,𡴋:JC,"⼭":`山`,峀:`峀`,岍:`岍`,𡷤:YC,𡷦:XC,崙:`崙`,嵃:`嵃`,嵐:`嵐`,嵫:`嵫`,嵮:`嵮`,嵼:`嵼`,嶲:`嶲`,嶺:`嶺`,"⼮":`巛`,巢:`巢`,エ:`工`,"⼯":`工`,"⼰":`己`,"⺒":`巳`,㠯:`㠯`,巽:`巽`,"⼱":`巾`,帲:`帡`,帨:`帨`,帽:`帽`,幩:`幩`,㡢:`㡢`,𢆃:ZC,"⼲":`干`,年:`年`,𢆟:QC,"⺓":`幺`,"⼳":`幺`,"⼴":`广`,度:`度`,㡼:`㡼`,庰:`庰`,庳:`庳`,庶:`庶`,廊:`廊`,廊:`廊`,廉:`廉`,廒:`廒`,廓:`廓`,廙:`廙`,廬:`廬`,"⼵":`廴`,廾:`廾`,"⼶":`廾`,𢌱:$C,𢌱:ew,弄:`弄`,"⼷":`弋`,"⼸":`弓`,弢:`弢`,弢:`弢`,"⼹":`彐`,"⺔":`彑`,当:`当`,㣇:`㣇`,"⼺":`彡`,形:`形`,彩:`彩`,彫:`彫`,"⼻":`彳`,律:`律`,㣣:`㣣`,徚:`徚`,復:`復`,徭:`徭`,"⼼":`心`,"⺖":`忄`,"⺗":`㣺`,忍:`忍`,志:`志`,念:`念`,忹:`忹`,怒:`怒`,怜:`怜`,恵:`恵`,㤜:`㤜`,㤺:`㤺`,悁:`悁`,悔:`悔`,悔:`悔`,惇:`惇`,惘:`惘`,惡:`惡`,𢛔:tw,愈:`愈`,慨:`慨`,慄:`慄`,慈:`慈`,慌:`慌`,慌:`慌`,慎:`慎`,慎:`慎`,慠:`慠`,慺:`慺`,憎:`憎`,憎:`憎`,憎:`憎`,憐:`憐`,憤:`憤`,憯:`憯`,憲:`憲`,𢡄:nw,𢡊:rw,懞:`懞`,懲:`懲`,懲:`懲`,懲:`懲`,懶:`懶`,懶:`懶`,戀:`戀`,"⼽":`戈`,成:`成`,戛:`戛`,戮:`戮`,戴:`戴`,"⼾":`戶`,戸:`戶`,"⼿":`手`,"⺘":`扌`,扝:`扝`,抱:`抱`,拉:`拉`,拏:`拏`,拓:`拓`,拔:`拔`,拼:`拼`,拾:`拾`,𢬌:iw,挽:`挽`,捐:`捐`,捨:`捨`,捻:`捻`,掃:`掃`,掠:`掠`,掩:`掩`,揄:`揄`,揤:`揤`,摒:`摒`,𢯱:aw,搜:`搜`,搢:`搢`,揅:`揅`,摩:`摩`,摷:`摷`,摾:`摾`,㨮:`㨮`,搉:`㩁`,撚:`撚`,撝:`撝`,擄:`擄`,㩬:`㩬`,"⽀":`支`,"⽁":`攴`,"⺙":`攵`,敏:`敏`,敏:`敏`,敖:`敖`,敬:`敬`,數:`數`,𣀊:ow,"⽂":`文`,"⻫":`斉`,"⽃":`斗`,料:`料`,"⽄":`斤`,"⽅":`方`,旅:`旅`,"⽆":`无`,"⺛":`旡`,既:`既`,旣:`旣`,"⽇":`日`,易:`易`,曶:`㫚`,㫤:`㫤`,晉:`晉`,晩:`晚`,晴:`晴`,晴:`晴`,暑:`暑`,暑:`暑`,暈:`暈`,㬈:`㬈`,暜:`暜`,暴:`暴`,曆:`曆`,㬙:`㬙`,𣊸:sw,"⽈":`曰`,更:`更`,書:`書`,"⽉":`月`,𣍟:cw,肦:`朌`,胐:`朏`,胊:`朐`,脁:`朓`,胶:`㬵`,朗:`朗`,朗:`朗`,朗:`朗`,脧:`朘`,望:`望`,望:`望`,幐:`㬺`,䐠:`㬻`,𣎓:lw,膧:`朣`,𣎜:uw,"⽊":`木`,李:`李`,杓:`杓`,杖:`杖`,杞:`杞`,𣏃:dw,柿:`杮`,杻:`杻`,枅:`枅`,林:`林`,㭉:`㭉`,𣏕:fw,柳:`柳`,柺:`柺`,栗:`栗`,栟:`栟`,桒:`桒`,𣑭:pw,梁:`梁`,梅:`梅`,梅:`梅`,梎:`梎`,梨:`梨`,椔:`椔`,楂:`楂`,㮝:`㮝`,㮝:`㮝`,槩:`㮣`,樧:`榝`,榣:`榣`,槪:`槪`,樂:`樂`,樂:`樂`,樂:`樂`,樓:`樓`,𣚣:mw,檨:`檨`,櫓:`櫓`,櫛:`櫛`,欄:`欄`,㰘:`㰘`,"⽋":`欠`,次:`次`,𣢧:hw,歔:`歔`,㱎:`㱎`,"⽌":`止`,"⻭":`歯`,歲:`歲`,歷:`歷`,歹:`歹`,"⽍":`歹`,"⺞":`歺`,殟:`殟`,殮:`殮`,"⽎":`殳`,殺:`殺`,殺:`殺`,殺:`殺`,殻:`殻`,𣪍:gw,"⽏":`毋`,"⺟":`母`,𣫺:_w,"⽐":`比`,"⽑":`毛`,"⽒":`氏`,"⺠":`民`,"⽓":`气`,"⽔":`水`,"⺡":`氵`,"⺢":`氺`,汎:`汎`,汧:`汧`,沈:`沈`,沿:`沿`,泌:`泌`,泍:`泍`,泥:`泥`,𣲼:vw,洛:`洛`,洞:`洞`,洴:`洴`,派:`派`,流:`流`,流:`流`,流:`流`,洖:`洖`,浩:`浩`,浪:`浪`,海:`海`,海:`海`,浸:`浸`,涅:`涅`,𣴞:yw,淋:`淋`,淚:`淚`,淪:`淪`,淹:`淹`,渚:`渚`,港:`港`,湮:`湮`,潙:`溈`,滋:`滋`,滋:`滋`,溜:`溜`,溺:`溺`,滇:`滇`,滑:`滑`,滛:`滛`,㴳:`㴳`,漏:`漏`,漢:`漢`,漢:`漢`,漣:`漣`,𣻑:bw,潮:`潮`,𣽞:xw,𣾎:Sw,濆:`濆`,濫:`濫`,濾:`濾`,瀛:`瀛`,瀞:`瀞`,瀞:`瀞`,瀹:`瀹`,灊:`灊`,㶖:`㶖`,"⽕":`火`,"⺣":`灬`,灰:`灰`,灷:`灷`,災:`災`,炙:`炙`,炭:`炭`,烈:`烈`,烙:`烙`,煮:`煮`,煮:`煮`,𤉣:Cw,煅:`煅`,煉:`煉`,𤋮:ww,熜:`熜`,燎:`燎`,燐:`燐`,𤎫:Tw,爐:`爐`,爛:`爛`,爨:`爨`,"⽖":`爪`,爫:`爫`,"⺤":`爫`,爵:`爵`,爵:`爵`,"⽗":`父`,"⽘":`爻`,"⺦":`丬`,"⽙":`爿`,"⽚":`片`,牐:`牐`,"⽛":`牙`,𤘈:Ew,"⽜":`牛`,牢:`牢`,犀:`犀`,犕:`犕`,"⽝":`犬`,"⺨":`犭`,犯:`犯`,狀:`狀`,𤜵:Dw,狼:`狼`,猪:`猪`,猪:`猪`,𤠔:Ow,獵:`獵`,獺:`獺`,"⽞":`玄`,率:`率`,率:`率`,"⽟":`玉`,王:`王`,㺬:`㺬`,玥:`玥`,玲:`玲`,㺸:`㺸`,㺸:`㺸`,珞:`珞`,琉:`琉`,理:`理`,琢:`琢`,瑇:`瑇`,瑜:`瑜`,瑩:`瑩`,瑱:`瑱`,瑱:`瑱`,璅:`璅`,璉:`璉`,璘:`璘`,瓊:`瓊`,"⽠":`瓜`,"⽡":`瓦`,㼛:`㼛`,甆:`甆`,"⽢":`甘`,"⽣":`生`,甤:`甤`,"⽤":`用`,"⽥":`田`,画:`画`,甾:`甾`,𤰶:kw,留:`留`,略:`略`,異:`異`,異:`異`,𤲒:Aw,"⽦":`疋`,"⽧":`疒`,痢:`痢`,瘐:`瘐`,瘟:`瘟`,瘝:`瘝`,療:`療`,癩:`癩`,"⽨":`癶`,"⽩":`白`,𤾡:jw,𤾸:Mw,"⽪":`皮`,"⽫":`皿`,𥁄:Nw,㿼:`㿼`,益:`益`,益:`益`,盛:`盛`,盧:`盧`,䀈:`䀈`,"⽬":`目`,直:`直`,直:`直`,𥃲:Pw,𥃳:Fw,省:`省`,䀘:`䀘`,𥄙:Iw,眞:`眞`,真:`真`,真:`真`,𥄳:Lw,着:`着`,睊:`睊`,睊:`睊`,鿃:`䀹`,䀹:`䀹`,䀹:`䀹`,晣:`䀿`,䁆:`䁆`,瞋:`瞋`,𥉉:Rw,瞧:`瞧`,"⽭":`矛`,"⽮":`矢`,"⽯":`石`,䂖:`䂖`,𥐝:zw,硏:`研`,硎:`硎`,硫:`硫`,碌:`碌`,碌:`碌`,碑:`碑`,磊:`磊`,磌:`磌`,磌:`磌`,磻:`磻`,䃣:`䃣`,礪:`礪`,"⽰":`示`,"⺭":`礻`,礼:`礼`,社:`社`,祈:`祈`,祉:`祉`,𥘦:Bw,祐:`祐`,祖:`祖`,祖:`祖`,祝:`祝`,神:`神`,祥:`祥`,視:`視`,視:`視`,祿:`祿`,𥚚:Vw,禍:`禍`,禎:`禎`,福:`福`,福:`福`,𥛅:Hw,禮:`禮`,"⽱":`禸`,"⽲":`禾`,秊:`秊`,䄯:`䄯`,秫:`秫`,稜:`稜`,穊:`穊`,穀:`穀`,穀:`穀`,穏:`穏`,"⽳":`穴`,突:`突`,𥥼:Uw,窱:`窱`,立:`立`,"⽴":`立`,"⻯":`竜`,𥪧:Ww,𥪧:Gw,竮:`竮`,"⽵":`竹`,笠:`笠`,節:`節`,節:`節`,䈂:`䈂`,𥮫:Kw,篆:`篆`,䈧:`䈧`,築:`築`,𥲀:qw,𥳐:Jw,簾:`簾`,籠:`籠`,"⽶":`米`,类:`类`,粒:`粒`,精:`精`,糒:`糒`,糖:`糖`,糨:`糨`,䊠:`䊠`,糣:`糣`,糧:`糧`,"⽷":`糸`,"⺯":`糹`,𥾆:Yw,紀:`紀`,紐:`紐`,索:`索`,累:`累`,絶:`絕`,絣:`絣`,絛:`絛`,綠:`綠`,綾:`綾`,緇:`緇`,練:`練`,練:`練`,練:`練`,縂:`縂`,䌁:`䌁`,縉:`縉`,縷:`縷`,繁:`繁`,繅:`繅`,𦇚:Xw,䌴:`䌴`,"⽸":`缶`,𦈨:Zw,缾:`缾`,𦉇:Qw,"⽹":`网`,"⺫":`罒`,"⺲":`罒`,"⺱":`罓`,䍙:`䍙`,署:`署`,𦋙:$w,罹:`罹`,罺:`罺`,羅:`羅`,𦌾:eT,"⽺":`羊`,羕:`羕`,羚:`羚`,羽:`羽`,"⽻":`羽`,翺:`翺`,老:`老`,"⽼":`老`,"⺹":`耂`,者:`者`,者:`者`,者:`者`,"⽽":`而`,𦓚:tT,"⽾":`耒`,𦔣:nT,"⽿":`耳`,聆:`聆`,聠:`聠`,𦖨:rT,聯:`聯`,聰:`聰`,聾:`聾`,"⾀":`聿`,"⺺":`肀`,"⾁":`肉`,肋:`肋`,肭:`肭`,育:`育`,䏕:`䏕`,䏙:`䏙`,腁:`胼`,脃:`脃`,脾:`脾`,䐋:`䐋`,朡:`朡`,𦞧:iT,𦞵:aT,朦:`䑃`,臘:`臘`,"⾂":`臣`,臨:`臨`,"⾃":`自`,臭:`臭`,"⾄":`至`,"⾅":`臼`,舁:`舁`,舁:`舁`,舄:`舄`,"⾆":`舌`,舘:`舘`,"⾇":`舛`,"⾈":`舟`,䑫:`䑫`,"⾉":`艮`,良:`良`,"⾊":`色`,"⾋":`艸`,艹:`艹`,艹:`艹`,"⺾":`艹`,"⺿":`艹`,"⻀":`艹`,芋:`芋`,芑:`芑`,芝:`芝`,花:`花`,芳:`芳`,芽:`芽`,若:`若`,若:`若`,苦:`苦`,𦬼:oT,茶:`茶`,荒:`荒`,荣:`荣`,茝:`茝`,茣:`茣`,莽:`莽`,荓:`荓`,菉:`菉`,菊:`菊`,菌:`菌`,菜:`菜`,菧:`菧`,華:`華`,菱:`菱`,著:`著`,著:`著`,𦰶:sT,莭:`莭`,落:`落`,葉:`葉`,蔿:`蒍`,𦳕:cT,𦵫:lT,蓮:`蓮`,蓱:`蓱`,蓳:`蓳`,蓼:`蓼`,蔖:`蔖`,䔫:`䔫`,蕤:`蕤`,𦼬:uT,藍:`藍`,䕝:`䕝`,𦾱:dT,䕡:`䕡`,藺:`藺`,蘆:`蘆`,䕫:`䕫`,蘒:`蘒`,蘭:`蘭`,𧃒:fT,虁:`蘷`,蘿:`蘿`,"⾌":`虍`,"⻁":`虎`,虐:`虐`,虜:`虜`,虜:`虜`,虧:`虧`,虩:`虩`,"⾍":`虫`,蚩:`蚩`,蚈:`蚈`,蛢:`蛢`,蜎:`蜎`,蜨:`蜨`,蝫:`蝫`,蟡:`蟡`,蝹:`蝹`,蝹:`蝹`,螆:`螆`,䗗:`䗗`,𧏊:pT,螺:`螺`,蠁:`蠁`,䗹:`䗹`,蠟:`蠟`,"⾎":`血`,行:`行`,"⾏":`行`,衠:`衠`,衣:`衣`,"⾐":`衣`,"⻂":`衤`,裂:`裂`,𧙧:mT,裏:`裏`,裗:`裗`,裞:`裞`,裡:`裡`,裸:`裸`,裺:`裺`,䘵:`䘵`,褐:`褐`,襁:`襁`,襤:`襤`,"⾑":`襾`,"⻄":`西`,"⻃":`覀`,覆:`覆`,見:`見`,"⾒":`見`,𧢮:hT,"⻅":`见`,"⾓":`角`,"⾔":`言`,𧥦:gT,詽:`訮`,訞:`䚶`,䚾:`䚾`,䛇:`䛇`,誠:`誠`,說:`說`,說:`說`,調:`調`,請:`請`,諒:`諒`,論:`論`,諭:`諭`,諭:`諭`,諸:`諸`,諸:`諸`,諾:`諾`,諾:`諾`,謁:`謁`,謁:`謁`,謹:`謹`,謹:`謹`,識:`識`,讀:`讀`,讏:`讆`,變:`變`,變:`變`,"⻈":`讠`,"⾕":`谷`,"⾖":`豆`,豈:`豈`,豕:`豕`,"⾗":`豕`,豣:`豜`,"⾘":`豸`,𧲨:_T,"⾙":`貝`,貫:`貫`,賁:`賁`,賂:`賂`,賈:`賈`,賓:`賓`,贈:`贈`,贈:`贈`,贛:`贛`,"⻉":`贝`,"⾚":`赤`,"⾛":`走`,起:`起`,趆:`赿`,𧻓:vT,𧼯:yT,"⾜":`足`,跋:`跋`,趼:`趼`,跺:`跥`,路:`路`,跰:`跰`,躛:`躗`,"⾝":`身`,車:`車`,"⾞":`車`,軔:`軔`,輧:`軿`,輦:`輦`,輪:`輪`,輸:`輸`,輸:`輸`,輻:`輻`,轢:`轢`,"⻋":`车`,"⾟":`辛`,辞:`辞`,辰:`辰`,"⾠":`辰`,"⾡":`辵`,辶:`辶`,"⻌":`辶`,"⻍":`辶`,巡:`巡`,連:`連`,逸:`逸`,逸:`逸`,遲:`遲`,遼:`遼`,𨗒:bT,𨗭:xT,邏:`邏`,"⾢":`邑`,邔:`邔`,郎:`郎`,郞:`郎`,郞:`郎`,郱:`郱`,都:`都`,𨜮:ST,鄑:`鄑`,鄛:`鄛`,"⾣":`酉`,酪:`酪`,醙:`醙`,醴:`醴`,"⾤":`釆`,里:`里`,"⾥":`里`,量:`量`,金:`金`,"⾦":`金`,鈴:`鈴`,鈸:`鈸`,鉶:`鉶`,鋗:`鋗`,鋘:`鋘`,鉼:`鉼`,錄:`錄`,鍊:`鍊`,鎮:`鎭`,鏹:`鏹`,鐕:`鐕`,𨯺:CT,"⻐":`钅`,"⻑":`長`,"⾧":`長`,"⻒":`镸`,"⻓":`长`,"⾨":`門`,開:`開`,䦕:`䦕`,閭:`閭`,閷:`閷`,𨵷:wT,"⻔":`门`,"⾩":`阜`,"⻏":`阝`,"⻖":`阝`,阮:`阮`,陋:`陋`,降:`降`,陵:`陵`,陸:`陸`,陼:`陼`,隆:`隆`,隣:`隣`,䧦:`䧦`,"⾪":`隶`,隷:`隷`,隸:`隷`,隸:`隷`,"⾫":`隹`,雃:`雃`,離:`離`,難:`難`,難:`難`,"⾬":`雨`,零:`零`,雷:`雷`,霣:`霣`,𩅅:TT,露:`露`,靈:`靈`,"⾭":`靑`,"⻘":`青`,靖:`靖`,靖:`靖`,𩇟:ET,"⾮":`非`,"⾯":`面`,𩈚:DT,"⾰":`革`,䩮:`䩮`,䩶:`䩶`,"⾱":`韋`,韛:`韛`,韠:`韠`,"⻙":`韦`,"⾲":`韭`,𩐊:OT,"⾳":`音`,響:`響`,響:`響`,"⾴":`頁`,䪲:`䪲`,頋:`頋`,頋:`頋`,頋:`頋`,領:`領`,頩:`頩`,𩒖:kT,頻:`頻`,頻:`頻`,類:`類`,"⻚":`页`,"⾵":`風`,𩖶:AT,"⻛":`风`,"⾶":`飛`,"⻜":`飞`,"⻝":`食`,"⾷":`食`,"⻟":`飠`,飢:`飢`,飯:`飯`,飼:`飼`,䬳:`䬳`,館:`館`,餩:`餩`,"⻠":`饣`,"⾸":`首`,"⾹":`香`,馧:`馧`,"⾺":`馬`,駂:`駂`,駱:`駱`,駾:`駾`,驪:`驪`,"⻢":`马`,"⾻":`骨`,䯎:`䯎`,"⾼":`高`,"⾽":`髟`,𩬰:jT,鬒:`鬒`,鬒:`鬒`,"⾾":`鬥`,"⾿":`鬯`,"⿀":`鬲`,"⿁":`鬼`,"⻤":`鬼`,"⿂":`魚`,魯:`魯`,鱀:`鱀`,鱗:`鱗`,"⻥":`鱼`,"⿃":`鳥`,鳽:`鳽`,䳎:`䳎`,鵧:`鵧`,䳭:`䳭`,𪃎:MT,鶴:`鶴`,𪄅:NT,䳸:`䳸`,鷺:`鷺`,𪈎:PT,鸞:`鸞`,鹃:`鹂`,"⿄":`鹵`,鹿:`鹿`,"⿅":`鹿`,𪊑:FT,麗:`麗`,麟:`麟`,"⿆":`麥`,"⻨":`麦`,麻:`麻`,"⿇":`麻`,𪎒:IT,"⿈":`黃`,"⻩":`黄`,"⿉":`黍`,黎:`黎`,䵖:`䵖`,"⿊":`黑`,黒:`黑`,墨:`墨`,黹:`黹`,"⿋":`黹`,"⿌":`黽`,鼅:`鼅`,黾:`黾`,"⿍":`鼎`,鼏:`鼏`,"⿎":`鼓`,鼖:`鼖`,"⿏":`鼠`,鼻:`鼻`,"⿐":`鼻`,齃:`齃`,"⿑":`齊`,"⻬":`齐`,"⿒":`齒`,𪘀:LT,"⻮":`齿`,龍:`龍`,"⿓":`龍`,龎:`龎`,"⻰":`龙`,龜:`龜`,龜:`龜`,龜:`龜`,"⿔":`龜`,"⻳":`龟`,"⿕":`龠`}})),BT=i(((e,n)=>{var r=(zT(),t(d).default);function i(e){return e.replace(/([.?*+^$[\]\\(){}|-])/g,`\\$1`)}var a=RegExp(Object.keys(r).map(i).join(`|`),`g`);function o(e){return r[e]}function s(e){return e.replace(a,o)}n.exports=s})),VT=Object.prototype.toString,HT=e=>VT.call(e)===`[object Error]`,UT=new Set([`network error`,`NetworkError when attempting to fetch resource.`,`The Internet connection appears to be offline.`,`Network request failed`,`fetch failed`,`terminated`,` A network error occurred.`,`Network connection lost`]);function WT(e){if(!(e&&HT(e)&&e.name===`TypeError`&&typeof e.message==`string`))return!1;let{message:t,stack:n}=e;return t===`Load failed`?n===void 0||`__sentry_captured__`in e:t.startsWith(`error sending request for url`)||t===`Failed to fetch`||t.startsWith(`Failed to fetch (`)&&t.endsWith(`)`)?!0:UT.has(t)}function GT(e){if(typeof e==`number`){if(e<0)throw TypeError("Expected `retries` to be a non-negative number.");if(Number.isNaN(e))throw TypeError("Expected `retries` to be a valid number or Infinity, got NaN.")}else if(e!==void 0)throw TypeError("Expected `retries` to be a number or Infinity.")}function KT(e,t,{min:n=0,allowInfinity:r=!1}={}){if(t!==void 0){if(typeof t!=`number`||Number.isNaN(t))throw TypeError(`Expected \`${e}\` to be a number${r?` or Infinity`:``}.`);if(!r&&!Number.isFinite(t))throw TypeError(`Expected \`${e}\` to be a finite number.`);if(t<n)throw TypeError(`Expected \`${e}\` to be \u2265 ${n}.`)}}function qT(e,t){if(t!==void 0&&typeof t!=`function`)throw TypeError(`Expected \`${e}\` to be a function.`)}var JT=class extends Error{constructor(e){super(),e instanceof Error?(this.originalError=e,{message:e}=e):(this.originalError=Error(e),this.originalError.stack=this.stack),this.name=`AbortError`,this.message=e}};function YT(e,t){let n=Math.max(1,e+1),r=t.randomize?Math.random()+1:1,i=Math.round(r*t.minTimeout*t.factor**(n-1));return i=Math.min(i,t.maxTimeout),i}function XT(e,t){return Number.isFinite(t)?t-(performance.now()-e):t}async function ZT(e,t){e<=0||await new Promise((n,r)=>{let i=()=>{clearTimeout(a),t.signal?.removeEventListener(`abort`,i),r(t.signal.reason)},a=setTimeout(()=>{t.signal?.removeEventListener(`abort`,i),n()},e);t.unref&&a.unref?.(),t.signal?.addEventListener(`abort`,i,{once:!0})})}async function QT({error:e,attemptNumber:t,retriesConsumed:n,startTime:r,options:i}){let a=e instanceof Error?e:TypeError(`Non-error was thrown: "${e}". You should only throw errors.`);if(a instanceof JT)throw a.originalError;let o=Number.isFinite(i.retries)?Math.max(0,i.retries-n):i.retries,s=i.maxRetryTime??1/0,c=YT(n,i);if(XT(r,s)<=0){let e=Object.freeze({error:a,attemptNumber:t,retriesLeft:o,retriesConsumed:n,retryDelay:0});throw await i.onFailedAttempt(e),a}let l=Object.freeze({error:a,attemptNumber:t,retriesLeft:o,retriesConsumed:n,retryDelay:o>0?c:0}),u=await i.shouldConsumeRetry(l),d=u&&o>0?c:0,f=Object.freeze({error:a,attemptNumber:t,retriesLeft:o,retriesConsumed:n,retryDelay:d});if(await i.onFailedAttempt(f),XT(r,s)<=0||XT(r,s)<=0||o<=0||a instanceof TypeError&&!WT(a)||!await i.shouldRetry(f))throw a;let p=XT(r,s);if(p<=0)throw a;if(!u)return i.signal?.throwIfAborted(),!1;let m=Math.min(d,p);return i.signal?.throwIfAborted(),await ZT(m,i),i.signal?.throwIfAborted(),!0}async function $T(e,t={}){if(t={...t},GT(t.retries),Object.hasOwn(t,`forever`))throw Error("The `forever` option is no longer supported. For many use-cases, you can set `retries: Infinity` instead.");t.retries??=10,t.factor??=2,t.minTimeout??=1e3,t.maxTimeout??=1/0,t.maxRetryTime??=1/0,t.randomize??=!1,t.onFailedAttempt??=()=>{},t.shouldRetry??=()=>!0,t.shouldConsumeRetry??=()=>!0,qT(`onFailedAttempt`,t.onFailedAttempt),qT(`shouldRetry`,t.shouldRetry),qT(`shouldConsumeRetry`,t.shouldConsumeRetry),KT(`factor`,t.factor,{min:0,allowInfinity:!1}),KT(`minTimeout`,t.minTimeout,{min:0,allowInfinity:!1}),KT(`maxTimeout`,t.maxTimeout,{min:0,allowInfinity:!0}),KT(`maxRetryTime`,t.maxRetryTime,{min:0,allowInfinity:!0}),t.factor>0||(t.factor=1),t.signal?.throwIfAborted();let n=0,r=0,i=performance.now();for(;!Number.isFinite(t.retries)||r<=t.retries;){n++;try{t.signal?.throwIfAborted();let r=await e(n);return t.signal?.throwIfAborted(),r}catch(e){await QT({error:e,attemptNumber:n,retriesConsumed:r,startTime:i,options:t})&&r++}}throw Error(`Retry attempts exhausted without throwing an error.`)}var eE=class{constructor(e,t){if(this.stable=e,this.unstable=t,!this.unstable&&!this.stable)throw Error(`One of stable or unstable values must be supplied`)}get name(){return this.stable?this.stable:this.unstable}get altName(){return this.stable?this.unstable:null}get names(){var e=[this.name],t=this.altName;return t&&e.push(t),e}matches(e){return this.name===e||this.altName===e}findIn(e){var t=void 0;return this.name&&(t=e?.[this.name]),!t&&this.altName&&(t=e?.[this.altName]),t}includedIn(e){var t=!1;return this.name&&(t=e.includes(this.name)),!t&&this.altName&&(t=e.includes(this.altName)),t}},tE=class extends eE{constructor(){super(...arguments),u(this,`preferUnstable`,!1)}setPreferUnstable(e){this.preferUnstable=e}get name(){return this.stable&&!this.preferUnstable?this.stable:this.unstable}},C=class extends eE{constructor(e,t){if(super(e,t),!this.unstable)throw Error(`Unstable value must be supplied`)}get name(){return this.unstable}get altName(){return this.stable}},nE=function(e){return e.Self=`m.self`,e.Pin=`m.pin`,e}({}),rE=new C(`m.asset`,`org.matrix.msc3488.asset`),iE=new C(`m.ts`,`org.matrix.msc3488.ts`),aE=new C(`m.location`,`org.matrix.msc3488.location`),oE=function(e){return e.Read=`m.read`,e.FullyRead=`m.fully_read`,e.ReadPrivate=`m.read.private`,e}({}),sE=`main`,cE=e(BT(),1);function lE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function uE(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?lE(Object(n),!0).forEach(function(t){u(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):lE(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var dE=new Map;function fE(e){return e instanceof String&&(e=e.toString()),dE.has(e)||dE.set(e,e),dE.get(e)}function pE(e,t){var n=t??new URLSearchParams,r=function(e){a!=null&&(Array.isArray(a)?a.forEach(t=>{n.append(e,String(t))}):n.append(e,String(a)))};for(var[i,a]of Object.entries(e))r(i);return n}function mE(e,t,n){var r=uE(uE({},n),{},{[t]:n[e]});return delete r[e],r}function w(e,t){for(var n in t)if(t.hasOwnProperty(n)){var r=t[n];r!=null&&(e=e.replace(n,encodeURIComponent(r)))}return e}function hE(e,t,n){var r;if(n){for(r=e.length-1;r>=0;r--)if(t(e[r],r,e))return e.splice(r,1),!0}else for(r=0;r<e.length;r++)if(t(e[r],r,e))return e.splice(r,1),!0;return!1}function gE(e,t){for(var n of t)if(!e.hasOwnProperty(n))throw Error(`Missing required key: `+n)}function _E(e){return JSON.parse(JSON.stringify(e))}function vE(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`number`&&isNaN(e)&&isNaN(t))return!0;if(e===null||t===null)return e===t;if(e.constructor.name!==`Object`&&e.constructor.name!==`RegExp`&&e.constructor.name!==`Date`&&e.constructor.name!==`Array`||e.prototype!==t.prototype)return!1;if(e instanceof RegExp||e instanceof Date)return e.toString()===t.toString();if(Array.isArray(e)){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(!vE(e[n],t[n]))return!1}else{for(var r in t)if(t.hasOwnProperty(r)!==e.hasOwnProperty(r))return!1;for(var i in e)if(t.hasOwnProperty(i)!==e.hasOwnProperty(i)||!vE(e[i],t[i]))return!1}return!0}function yE(e){if(typeof e!=`object`||!e||Array.isArray(e))return e;var t=[];for(var[n,r]of Object.entries(e))t.push([n,yE(r)]);return t.sort((e,t)=>WE(e[0],t[0])),t}function bE(e){return typeof e==`number`&&isFinite(e)}function xE(e){return typeof e==`string`?(0,cE.default)(e.normalize(`NFD`).replace(wE,``)):``}function SE(e){return typeof e==`string`?e.replace(/[\u202d-\u202e]/g,``):``}function CE(e){return xE(e.toLowerCase()).replace(/[\\'!"#$%&()*+,\-./:;<=>?@[\]^_`{|}~\u2000-\u206f\u2e00-\u2e7f]/g,``).toLowerCase()}var wE=/[\u2000-\u200F\u202A-\u202F\u0300-\u036F\uFEFF\u061C\u2800\u2062-\u2063\s]/g;function TE(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function EE(e){return TE(e).replace(/\\\*/g,`.*`).replace(/\?/g,`.`)}function DE(e){return e!=null&&e.endsWith(`/`)?e.slice(0,-1):e}function OE(e,t){return new Promise(n=>{setTimeout(n,e,t)})}function kE(e,t,n){return AE.apply(this,arguments)}function AE(){return AE=o(function*(e,t,n){var r=Date.now();try{return yield n()}finally{var i=Date.now();e.debug(`[Perf]: ${t} took ${i-r}ms`)}}),AE.apply(this,arguments)}function jE(e,t,n){var r=Date.now();try{return n()}finally{var i=Date.now();e.debug(`[Perf]: ${t} took ${i-r}ms`)}}function ME(e){return e==null}function NE(e,t){return PE.apply(this,arguments)}function PE(){return PE=o(function*(e,t){for(var n of e)yield t(yield n)}),PE.apply(this,arguments)}function FE(e){return Promise.resolve(e())}function IE(e,t){return $T(t=>e(t),{retries:1/0,shouldRetry:t?e=>{var{error:n}=e;return t(n)}:void 0,factor:2,minTimeout:3e3,maxTimeout:15e3})}var LE=(()=>{for(var e=``,t=32;t<=126;t++)e+=String.fromCharCode(t);return e})();function RE(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:LE;return e.padEnd(t,n[0])}function zE(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:LE,n=BigInt(t.length);if(e<=n)return t[Number(e)-1]??``;var r=e/n,i=Number(e%n)-1;return i<0&&(r-=BigInt(Math.abs(i)),i=Number(n)-1),zE(r,t)+t[i]}function BE(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:LE,n=BigInt(t.length),r=BigInt(0),i=e.length-1,a=BigInt(0);i>=0;i--,a++){var o=e.charCodeAt(i)-t.charCodeAt(0);r+=BigInt(1+o)*n**a}return r}function VE(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:LE,r=Math.max(e.length,t.length),i=BE(RE(e,r,n),n),a=BE(RE(t,r,n),n),o=(i+a)/BigInt(2);return o===i||o==a?zE(o,n)+n[0]:zE(o,n)}function HE(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:LE;return zE(BE(e,t)+BigInt(1),t)}function UE(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:LE;return zE(BE(e,t)-BigInt(1),t)}function WE(e,t){return e<t?-1:+(e>t)}function GE(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;for(var[r,i]of Object.entries(t)){if(e[r]instanceof Object&&i){GE(e[r],i);continue}if(i!=null||!n){$E(e,r,i);continue}}return e}function KE(e){return iE.findIn(e.getContent())??-1}function qE(e,t){return KE(t)-KE(e)}function JE(e){return[oE.Read,oE.ReadPrivate].includes(e)}function YE(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:(e,t)=>e===t;if(e.size!==t.size)return!1;for(var[r,i]of e){var a=t.get(r);if(a===void 0||!n(i,a))return!1}return!0}function XE(e){return e instanceof Map?ZE(e):Array.isArray(e)?e.map(e=>XE(e)):e}function ZE(e){var t=new Map;for(var[n,r]of e)t.set(n,XE(r));return Object.fromEntries(t.entries())}function QE(e){return e===`__proto__`||e===`prototype`||e===`constructor`}function $E(e,t,n){if(QE(t))throw Error(`Trying to modify prototype or constructor`);e[t]=n}function eD(e){return!(QE(e.room_id)||QE(e.sender)||QE(e.event_id))}var tD=class extends Map{constructor(e){super(),this.createDefault=e}getOrCreate(e){return this.has(e)||this.set(e,this.createDefault()),this.get(e)}},nD=`migrationState`,rD=function(e){return e[e.NOT_STARTED=0]=`NOT_STARTED`,e[e.INITIAL_DATA_MIGRATED=1]=`INITIAL_DATA_MIGRATED`,e[e.OLM_SESSIONS_MIGRATED=2]=`OLM_SESSIONS_MIGRATED`,e[e.MEGOLM_SESSIONS_MIGRATED=3]=`MEGOLM_SESSIONS_MIGRATED`,e[e.ROOM_SETTINGS_MIGRATED=4]=`ROOM_SETTINGS_MIGRATED`,e[e.INITIAL_OWN_KEY_QUERY_DONE=5]=`INITIAL_OWN_KEY_QUERY_DONE`,e}({});function iD(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function aD(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?iD(Object(n),!0).forEach(function(t){u(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):iD(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function oD(e,t){return encodeURIComponent(e)+`/`+encodeURIComponent(t)}function sD(e){var t=e.split(`/`);return{senderKey:decodeURIComponent(t[0]),sessionId:decodeURIComponent(t[1])}}var cD=class{constructor(){u(this,`migrationState`,rD.NOT_STARTED),u(this,`account`,null),u(this,`crossSigningKeys`,null),u(this,`privateKeys`,{}),u(this,`sessions`,{}),u(this,`inboundGroupSessions`,{}),u(this,`inboundGroupSessionsWithheld`,{}),u(this,`rooms`,{}),u(this,`sessionsNeedingBackup`,{})}containsData(){var e=this;return o(function*(){return e.account!==null})()}startup(){var e=this;return o(function*(){return e})()}deleteAllData(){return Promise.resolve()}getMigrationState(){var e=this;return o(function*(){return e.migrationState})()}setMigrationState(e){var t=this;return o(function*(){t.migrationState=e})()}getAccount(e,t){t(this.account)}storeAccount(e,t){this.account=t}getCrossSigningKeys(e,t){t(this.crossSigningKeys)}getSecretStorePrivateKey(e,t,n){var r=this.privateKeys[n];t(r||null)}storeSecretStorePrivateKey(e,t,n){this.privateKeys[t]=n}countEndToEndSessions(e,t){var n=0;for(var r of Object.values(this.sessions))n+=Object.keys(r).length;t(n)}getEndToEndSession(e,t,n,r){r((this.sessions[e]||{})[t]||null)}getEndToEndSessions(e,t,n){n(this.sessions[e]||{})}storeEndToEndSession(e,t,n,r){var i=this.sessions[e];i===void 0&&(i={},this.sessions[e]=i),$E(i,t,n)}getEndToEndSessionsBatch(){var e=this;return o(function*(){var t=[];for(var n of Object.values(e.sessions))for(var r of Object.values(n))if(t.push(r),t.length>=50)return t;return t.length===0?null:t})()}deleteEndToEndSessionsBatch(e){var t=this;return o(function*(){for(var{deviceKey:n,sessionId:r}of e){var i=t.sessions[n]||{};delete i[r],Object.keys(i).length===0&&delete t.sessions[n]}})()}getEndToEndInboundGroupSession(e,t,n,r){var i=oD(e,t);r(this.inboundGroupSessions[i]||null,this.inboundGroupSessionsWithheld[i]||null)}storeEndToEndInboundGroupSession(e,t,n,r){var i=oD(e,t);this.inboundGroupSessions[i]=n}countEndToEndInboundGroupSessions(){var e=this;return o(function*(){return Object.keys(e.inboundGroupSessions).length})()}getEndToEndInboundGroupSessionsBatch(){var e=this;return o(function*(){var t=[];for(var[n,r]of Object.entries(e.inboundGroupSessions))if(t.push(aD(aD({},sD(n)),{},{sessionData:r,needsBackup:n in e.sessionsNeedingBackup})),t.length>=50)return t;return t.length===0?null:t})()}deleteEndToEndInboundGroupSessionsBatch(e){var t=this;return o(function*(){for(var{senderKey:n,sessionId:r}of e){var i=oD(n,r);delete t.inboundGroupSessions[i]}})()}getEndToEndRooms(e,t){t(this.rooms)}markSessionsNeedingBackup(e){for(var t of e){var n=oD(t.senderKey,t.sessionId);this.sessionsNeedingBackup[n]=!0}return Promise.resolve()}doTxn(e,t,n){return Promise.resolve(n(null))}},lD=/^(?:(?:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})|(?:\[[\dA-Fa-f:.]{2,45}])|(?:[A-Za-z\d\-.]{1,255}))(?::\d{1,5})?$/;function uD(e){return lD.exec(e)?.[0]===e}var dD=/^[\w-]+$/;function fD(e){return dD.exec(e)?.[0]===e}function pD(e,t,n,r,i){var a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!1,o=arguments.length>6?arguments[6]:void 0,s=arguments.length>7?arguments[7]:void 0,c=arguments.length>8?arguments[8]:void 0;if(typeof t!=`string`||!t)return``;if(!t.startsWith(`mxc://`))return a?t:``;var[l,u,...d]=t.slice(6).split(`/`);if(d.length>0||!uD(l)||!fD(u))return``;s&&(o=!0);var f,p=n||r||i?`thumbnail`:`download`;f=s?`/_matrix/client/v1/media/${p}`:`/_matrix/media/v3/${p}`;var m=new URL(`${f}/${l}/${u}`,e);return n&&m.searchParams.set(`width`,Math.round(n).toString()),r&&m.searchParams.set(`height`,Math.round(r).toString()),i&&m.searchParams.set(`method`,i),c!==void 0&&m.searchParams.set(`animated`,String(c)),typeof o==`boolean`&&m.searchParams.set(`allow_redirect`,JSON.stringify(o)),m.href}var mD=e(i(((e,t)=>{(function(e,n){typeof define==`function`&&define.amd?define(n):typeof t==`object`&&t.exports?t.exports=n():e.log=n()})(e,function(){var e=function(){},t=`undefined`,n=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),r=[`trace`,`debug`,`info`,`warn`,`error`],i={},a=null;function o(e,t){var n=e[t];if(typeof n.bind==`function`)return n.bind(e);try{return Function.prototype.bind.call(n,e)}catch{return function(){return Function.prototype.apply.apply(n,[e,arguments])}}}function s(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function c(r){return r===`debug`&&(r=`log`),typeof console===t?!1:r===`trace`&&n?s:console[r]===void 0?console.log===void 0?e:o(console,`log`):o(console,r)}function l(){for(var n=this.getLevel(),i=0;i<r.length;i++){var a=r[i];this[a]=i<n?e:this.methodFactory(a,n,this.name)}if(this.log=this.debug,typeof console===t&&n<this.levels.SILENT)return`No console available for logging`}function u(e){return function(){typeof console!==t&&(l.call(this),this[e].apply(this,arguments))}}function d(e,t,n){return c(e)||u.apply(this,arguments)}function f(e,n){var o=this,s,c,u,f=`loglevel`;typeof e==`string`?f+=`:`+e:typeof e==`symbol`&&(f=void 0);function p(e){var n=(r[e]||`silent`).toUpperCase();if(!(typeof window===t||!f)){try{window.localStorage[f]=n;return}catch{}try{window.document.cookie=encodeURIComponent(f)+`=`+n+`;`}catch{}}}function m(){var e;if(!(typeof window===t||!f)){try{e=window.localStorage[f]}catch{}if(typeof e===t)try{var n=window.document.cookie,r=encodeURIComponent(f),i=n.indexOf(r+`=`);i!==-1&&(e=/^([^;]+)/.exec(n.slice(i+r.length+1))[1])}catch{}return o.levels[e]===void 0&&(e=void 0),e}}function h(){if(!(typeof window===t||!f)){try{window.localStorage.removeItem(f)}catch{}try{window.document.cookie=encodeURIComponent(f)+`=; expires=Thu, 01 Jan 1970 00:00:00 UTC`}catch{}}}function g(e){var t=e;if(typeof t==`string`&&o.levels[t.toUpperCase()]!==void 0&&(t=o.levels[t.toUpperCase()]),typeof t==`number`&&t>=0&&t<=o.levels.SILENT)return t;throw TypeError(`log.setLevel() called with invalid level: `+e)}o.name=e,o.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},o.methodFactory=n||d,o.getLevel=function(){return u??c??s},o.setLevel=function(e,t){return u=g(e),t!==!1&&p(u),l.call(o)},o.setDefaultLevel=function(e){c=g(e),m()||o.setLevel(e,!1)},o.resetLevel=function(){u=null,h(),l.call(o)},o.enableAll=function(e){o.setLevel(o.levels.TRACE,e)},o.disableAll=function(e){o.setLevel(o.levels.SILENT,e)},o.rebuild=function(){if(a!==o&&(s=g(a.getLevel())),l.call(o),a===o)for(var e in i)i[e].rebuild()},s=g(a?a.getLevel():`WARN`);var _=m();_!=null&&(u=g(_)),l.call(o)}a=new f,a.getLogger=function(e){if(typeof e!=`symbol`&&typeof e!=`string`||e===``)throw TypeError(`You must supply a name when creating a logger.`);var t=i[e];return t||=i[e]=new f(e,a.methodFactory),t};var p=typeof window===t?void 0:window.log;return a.noConflict=function(){return typeof window!==t&&window.log===a&&(window.log=p),a},a.getLoggers=function(){return i},a.default=a,a})}))(),1),hD=`matrix`;mD.default.methodFactory=function(e,t,n){return function(){var t=[...arguments];return this.prefix&&t.unshift(this.prefix),e===`error`||e===`warn`||e===`trace`||e===`info`||e===`debug`?console[e](...t):console.log(...t)}};function gD(e){var t=hD+(e===void 0?``:`-${e}`),n=mD.default.getLogger(t);return n.getChild===void 0&&(n.prefix=e,n.getChild=t=>{var r=gD((e??``)+t);return r.methodFactory=n.methodFactory,r.rebuild(),r},n.setLevel(mD.default.levels.DEBUG,!1)),n}var T=gD(),_D=class{constructor(e,t){this.parent=e,u(this,`name`,void 0),this.name=t+`:`}trace(){var e=[...arguments];this.parent.trace(this.name,...e)}debug(){var e=[...arguments];this.parent.debug(this.name,...e)}info(){var e=[...arguments];this.parent.info(this.name,...e)}warn(){var e=[...arguments];this.parent.warn(this.name,...e)}error(){var e=[...arguments];this.parent.error(this.name,...e)}},vD=class e{constructor(e){this.debugInstance=e}trace(){var e=[...arguments];this.debugWithPrefix(`[TRACE]`,...e)}debug(){var e=[...arguments];this.debugWithPrefix(`[DEBUG]`,...e)}info(){var e=[...arguments];this.debugWithPrefix(`[INFO]`,...e)}warn(){var e=[...arguments];this.debugWithPrefix(`[WARN]`,...e)}error(){var e=[...arguments];this.debugWithPrefix(`[ERROR]`,...e)}getChild(t){return new e(this.debugInstance.extend(t))}debugWithPrefix(e){var t,n=[...arguments].slice(1);if(n.length===0)t=``;else if(n[0]instanceof Error){var r=n.shift();t=r.stack||r.message}else t=typeof n[0]==`string`?n.shift():`%O`;this.debugInstance(e+` `+t,...n)}},yD=i(((e,t)=>{var n=typeof Reflect==`object`?Reflect:null,r=n&&typeof n.apply==`function`?n.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)},i=n&&typeof n.ownKeys==`function`?n.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};function a(e){console&&console.warn&&console.warn(e)}var o=Number.isNaN||function(e){return e!==e};function s(){s.init.call(this)}t.exports=s,t.exports.once=y,s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var c=10;function l(e){if(typeof e!=`function`)throw TypeError(`The "listener" argument must be of type Function. Received type `+typeof e)}Object.defineProperty(s,`defaultMaxListeners`,{enumerable:!0,get:function(){return c},set:function(e){if(typeof e!=`number`||e<0||o(e))throw RangeError(`The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received `+e+`.`);c=e}}),s.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},s.prototype.setMaxListeners=function(e){if(typeof e!=`number`||e<0||o(e))throw RangeError(`The value of "n" is out of range. It must be a non-negative number. Received `+e+`.`);return this._maxListeners=e,this};function u(e){return e._maxListeners===void 0?s.defaultMaxListeners:e._maxListeners}s.prototype.getMaxListeners=function(){return u(this)},s.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var i=e===`error`,a=this._events;if(a!==void 0)i&&=a.error===void 0;else if(!i)return!1;if(i){var o;if(t.length>0&&(o=t[0]),o instanceof Error)throw o;var s=Error(`Unhandled error.`+(o?` (`+o.message+`)`:``));throw s.context=o,s}var c=a[e];if(c===void 0)return!1;if(typeof c==`function`)r(c,this,t);else for(var l=c.length,u=g(c,l),n=0;n<l;++n)r(u[n],this,t);return!0};function d(e,t,n,r){var i,o,s;if(l(n),o=e._events,o===void 0?(o=e._events=Object.create(null),e._eventsCount=0):(o.newListener!==void 0&&(e.emit(`newListener`,t,n.listener?n.listener:n),o=e._events),s=o[t]),s===void 0)s=o[t]=n,++e._eventsCount;else if(typeof s==`function`?s=o[t]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),i=u(e),i>0&&s.length>i&&!s.warned){s.warned=!0;var c=Error(`Possible EventEmitter memory leak detected. `+s.length+` `+String(t)+` listeners added. Use emitter.setMaxListeners() to increase limit`);c.name=`MaxListenersExceededWarning`,c.emitter=e,c.type=t,c.count=s.length,a(c)}return e}s.prototype.addListener=function(e,t){return d(this,e,t,!1)},s.prototype.on=s.prototype.addListener,s.prototype.prependListener=function(e,t){return d(this,e,t,!0)};function f(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=f.bind(r);return i.listener=n,r.wrapFn=i,i}s.prototype.once=function(e,t){return l(t),this.on(e,p(this,e,t)),this},s.prototype.prependOnceListener=function(e,t){return l(t),this.prependListener(e,p(this,e,t)),this},s.prototype.removeListener=function(e,t){var n,r,i,a,o;if(l(t),r=this._events,r===void 0||(n=r[e],n===void 0))return this;if(n===t||n.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit(`removeListener`,e,n.listener||t));else if(typeof n!=`function`){for(i=-1,a=n.length-1;a>=0;a--)if(n[a]===t||n[a].listener===t){o=n[a].listener,i=a;break}if(i<0)return this;i===0?n.shift():_(n,i),n.length===1&&(r[e]=n[0]),r.removeListener!==void 0&&this.emit(`removeListener`,e,o||t)}return this},s.prototype.off=s.prototype.removeListener,s.prototype.removeAllListeners=function(e){var t,n=this._events,r;if(n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var i=Object.keys(n),a;for(r=0;r<i.length;++r)a=i[r],a!==`removeListener`&&this.removeAllListeners(a);return this.removeAllListeners(`removeListener`),this._events=Object.create(null),this._eventsCount=0,this}if(t=n[e],typeof t==`function`)this.removeListener(e,t);else if(t!==void 0)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this};function m(e,t,n){var r=e._events;if(r===void 0)return[];var i=r[t];return i===void 0?[]:typeof i==`function`?n?[i.listener||i]:[i]:n?v(i):g(i,i.length)}s.prototype.listeners=function(e){return m(this,e,!0)},s.prototype.rawListeners=function(e){return m(this,e,!1)},s.listenerCount=function(e,t){return typeof e.listenerCount==`function`?e.listenerCount(t):h.call(e,t)},s.prototype.listenerCount=h;function h(e){var t=this._events;if(t!==void 0){var n=t[e];if(typeof n==`function`)return 1;if(n!==void 0)return n.length}return 0}s.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]};function g(e,t){for(var n=Array(t),r=0;r<t;++r)n[r]=e[r];return n}function _(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function v(e){for(var t=Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}function y(e,t){return new Promise(function(n,r){function i(n){e.removeListener(t,a),r(n)}function a(){typeof e.removeListener==`function`&&e.removeListener(`error`,i),n([].slice.call(arguments))}x(e,t,a,{once:!0}),t!==`error`&&b(e,i,{once:!0})})}function b(e,t,n){typeof e.on==`function`&&x(e,`error`,t,n)}function x(e,t,n,r){if(typeof e.on==`function`)r.once?e.once(t,n):e.on(t,n);else if(typeof e.addEventListener==`function`)e.addEventListener(t,function i(a){r.once&&e.removeEventListener(t,i),n(a)});else throw TypeError(`The "emitter" argument must be of type EventEmitter. Received type `+typeof e)}})),bD=e(yD(),1),xD=function(e){return e.NewListener=`newListener`,e.RemoveListener=`removeListener`,e.Error=`error`,e}({}),SD=class extends bD.EventEmitter{addListener(e,t){return super.addListener(e,t)}emit(e){var t=[...arguments].slice(1);return super.emit(e,...t)}emitPromised(e){var t=arguments,n=this;return o(function*(){for(var r=t.length,i=Array(r>1?r-1:0),a=1;a<r;a++)i[a-1]=t[a];var o=n.listeners(e);return Promise.allSettled(o.map(e=>e(...i))).then(()=>o.length>0)})()}listenerCount(e){return super.listenerCount(e)}listeners(e){return super.listeners(e)}off(e,t){return super.off(e,t)}on(e,t){return super.on(e,t)}once(e,t){return super.once(e,t)}prependListener(e,t){return super.prependListener(e,t)}prependOnceListener(e,t){return super.prependOnceListener(e,t)}removeAllListeners(e){return e===void 0?super.removeAllListeners():super.removeAllListeners(e)}removeListener(e,t){return super.removeListener(e,t)}rawListeners(e){return super.rawListeners(e)}},E=function(e){return e.RoomCanonicalAlias=`m.room.canonical_alias`,e.RoomCreate=`m.room.create`,e.RoomJoinRules=`m.room.join_rules`,e.RoomMember=`m.room.member`,e.RoomThirdPartyInvite=`m.room.third_party_invite`,e.RoomPowerLevels=`m.room.power_levels`,e.RoomName=`m.room.name`,e.RoomTopic=`m.room.topic`,e.RoomAvatar=`m.room.avatar`,e.RoomPinnedEvents=`m.room.pinned_events`,e.RoomEncryption=`m.room.encryption`,e.RoomHistoryVisibility=`m.room.history_visibility`,e.RoomGuestAccess=`m.room.guest_access`,e.RoomServerAcl=`m.room.server_acl`,e.RoomTombstone=`m.room.tombstone`,e.RoomPredecessor=`org.matrix.msc3946.room_predecessor`,e.PolicyRuleUser=`m.policy.rule.user`,e.PolicyRuleRoom=`m.policy.rule.room`,e.PolicyRuleServer=`m.policy.rule.server`,e.SpaceChild=`m.space.child`,e.SpaceParent=`m.space.parent`,e.RoomRedaction=`m.room.redaction`,e.RoomMessage=`m.room.message`,e.RoomMessageEncrypted=`m.room.encrypted`,e.Sticker=`m.sticker`,e.CallInvite=`m.call.invite`,e.CallCandidates=`m.call.candidates`,e.CallAnswer=`m.call.answer`,e.CallHangup=`m.call.hangup`,e.CallReject=`m.call.reject`,e.CallSelectAnswer=`m.call.select_answer`,e.CallNegotiate=`m.call.negotiate`,e.CallSDPStreamMetadataChanged=`m.call.sdp_stream_metadata_changed`,e.CallSDPStreamMetadataChangedPrefix=`org.matrix.call.sdp_stream_metadata_changed`,e.CallReplaces=`m.call.replaces`,e.CallAssertedIdentity=`m.call.asserted_identity`,e.CallAssertedIdentityPrefix=`org.matrix.call.asserted_identity`,e.CallEncryptionKeysPrefix=`io.element.call.encryption_keys`,e.KeyVerificationRequest=`m.key.verification.request`,e.KeyVerificationStart=`m.key.verification.start`,e.KeyVerificationCancel=`m.key.verification.cancel`,e.KeyVerificationMac=`m.key.verification.mac`,e.KeyVerificationDone=`m.key.verification.done`,e.KeyVerificationKey=`m.key.verification.key`,e.KeyVerificationAccept=`m.key.verification.accept`,e.KeyVerificationReady=`m.key.verification.ready`,e.RoomMessageFeedback=`m.room.message.feedback`,e.Reaction=`m.reaction`,e.PollStart=`org.matrix.msc3381.poll.start`,e.Typing=`m.typing`,e.Receipt=`m.receipt`,e.Presence=`m.presence`,e.FullyRead=`m.fully_read`,e.Tag=`m.tag`,e.SpaceOrder=`org.matrix.msc3230.space_order`,e.MarkedUnread=`m.marked_unread`,e.PushRules=`m.push_rules`,e.Direct=`m.direct`,e.IgnoredUserList=`m.ignored_user_list`,e.InvitePermissionConfig=`m.invite_permission_config`,e.RoomKey=`m.room_key`,e.RoomKeyRequest=`m.room_key_request`,e.ForwardedRoomKey=`m.forwarded_room_key`,e.Dummy=`m.dummy`,e.SecretRequest=`m.secret.request`,e.SecretSend=`m.secret.send`,e.GroupCallPrefix=`org.matrix.msc3401.call`,e.GroupCallMemberPrefix=`org.matrix.msc3401.call.member`,e.RTCMembership=`org.matrix.msc4143.rtc.member`,e.CallNotify=`org.matrix.msc4075.call.notify`,e.RTCNotification=`org.matrix.msc4075.rtc.notification`,e.RTCDecline=`org.matrix.msc4310.rtc.decline`,e.RoomPolicy=`org.matrix.msc4284.policy`,e}({}),D=function(e){return e.Annotation=`m.annotation`,e.Replace=`m.replace`,e.Reference=`m.reference`,e.Thread=`m.thread`,e}({}),CD=function(e){return e.Text=`m.text`,e.Emote=`m.emote`,e.Notice=`m.notice`,e.Image=`m.image`,e.File=`m.file`,e.Audio=`m.audio`,e.Location=`m.location`,e.Video=`m.video`,e.KeyVerificationRequest=`m.key.verification.request`,e}({}),wD=`type`,TD=function(e){return e.Space=`m.space`,e.UnstableCall=`org.matrix.msc3417.call`,e.ElementVideo=`io.element.video`,e}({}),ED=`org.matrix.msgid`,DD=new C(`m.room.purpose`,`org.matrix.msc3088.purpose`),OD=new C(`m.enabled`,`org.matrix.msc3088.enabled`),kD=new C(`m.data_tree`,`org.matrix.msc3089.data_tree`),AD=new C(`m.leaf`,`org.matrix.msc3089.leaf`),jD=new C(`m.branch`,`org.matrix.msc3089.branch`),MD=new C(`m.room.marker`,`org.matrix.msc2716.marker`),ND=new C(`with_rel_types`,`org.matrix.msc3912.with_relations`),PD=new C(`io.element.functional_members`,`io.element.functional_members`),FD=new C(`m.visibility`,`org.matrix.msc3531.visibility`),ID=new C(`enabled`,`org.matrix.msc3881.enabled`),LD=new C(`device_id`,`org.matrix.msc3881.device_id`),RD=new C(`m.local_notification_settings`,`org.matrix.msc3890.local_notification_settings`),zD=new C(`thread_id`,`org.matrix.msc4023.thread_id`),BD=new eE(`membership`,`io.element.msc4115.membership`),O=function(e){return e.Ban=`ban`,e.Invite=`invite`,e.Join=`join`,e.Knock=`knock`,e.Leave=`leave`,e}({}),VD=function(e){return e.Membership=`RoomMember.membership`,e.Name=`RoomMember.name`,e.PowerLevel=`RoomMember.powerLevel`,e.Typing=`RoomMember.typing`,e}({}),HD=class extends SD{constructor(e,t){super(),this.roomId=e,this.userId=t,u(this,`_isOutOfBand`,!1),u(this,`modified`,-1),u(this,`requestedProfileInfo`,!1),u(this,`typing`,!1),u(this,`name`,void 0),u(this,`rawDisplayName`,void 0),u(this,`powerLevel`,0),u(this,`user`,void 0),u(this,`membership`,void 0),u(this,`disambiguate`,!1),u(this,`events`,{}),this.name=t,this.rawDisplayName=t,this.updateModifiedTime()}markOutOfBand(){this._isOutOfBand=!0}isOutOfBand(){return this._isOutOfBand}setMembershipEvent(e,t){var n=e.getDirectionalContent().displayname??``;if(e.getType()===E.RoomMember){this._isOutOfBand=!1,this.events.member=e;var r=this.membership;this.membership=e.getDirectionalContent().membership,this.membership===void 0&&T.trace(`membership event with membership undefined (forwardLooking: ${e.forwardLooking})!`,e.getContent(),`prevcontent is `,e.getPrevContent()),this.disambiguate=GD(this.userId,n,t);var i=this.name;this.name=KD(this.userId,n,this.disambiguate),this.rawDisplayName=SE(e.getDirectionalContent().displayname??``),(!this.rawDisplayName||!xE(this.rawDisplayName))&&(this.rawDisplayName=this.userId),r!==this.membership&&(this.updateModifiedTime(),this.emit(VD.Membership,e,this,r)),i!==this.name&&(this.updateModifiedTime(),this.emit(VD.Name,e,this,i))}}recalculateDisambiguatedName(e){if(!this.events.member)return!1;var t=this.events.member.getDirectionalContent().displayname??``,n=GD(this.userId,t,e);if(n===this.disambiguate)return!1;this.disambiguate=n;var r=this.name;return this.name=KD(this.userId,t,this.disambiguate),r===this.name?!1:(this.updateModifiedTime(),this.emit(VD.Name,this.events.member,this,r),!0)}setPowerLevel(e,t){var n=this.powerLevel;this.powerLevel=e,n!==this.powerLevel&&(this.updateModifiedTime(),this.emit(VD.PowerLevel,t,this))}setTypingEvent(e){if(e.getType()===`m.typing`){var t=this.typing;this.typing=!1;var n=e.getContent().user_ids;Array.isArray(n)&&(n.indexOf(this.userId)!==-1&&(this.typing=!0),t!==this.typing&&(this.updateModifiedTime(),this.emit(VD.Typing,e,this)))}}updateModifiedTime(){this.modified=Date.now()}getLastModifiedTime(){return this.modified}isKicked(){return this.membership===O.Leave&&this.events.member!==void 0&&this.events.member.getSender()!==this.events.member.getStateKey()}getDMInviter(){if(this.events.member){var e=this.events.member,t=e.getContent(),n=e.getSender();if(t.membership===O.Join&&(t=e.getPrevContent(),n=e.getUnsigned().prev_sender),t.membership===O.Invite&&t.is_direct)return n}}getAvatarUrl(e,t,n,r){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5?arguments[5]:void 0,o=arguments.length>6&&arguments[6]!==void 0?arguments[6]:!1,s=this.getMxcAvatarUrl();return!s&&!i?null:pD(e,s,t,n,r,a,void 0,o)||null}getMxcAvatarUrl(){if(this.events.member)return this.events.member.getDirectionalContent().avatar_url;if(this.user)return this.user.avatarUrl}},UD=/@.+:.+/,WD=/[\u200E\u200F\u202A-\u202F]/;function GD(e,t,n){if(!t||t===e||!n)return!1;var r=xE(t);return r?!!(UD.test(r)||WD.test(t)||n.getUserIdsWithDisplayName(t).some(t=>t!==e)):!1}function KD(e,t,n){return!t||t===e?e:n?SE(t)+` (`+e+`)`:xE(t)?SE(t):e}var qD=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.NamespacedMap=void 0;function t(e,t){var r=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(!r){if(Array.isArray(e)||(r=n(e))||t&&e&&typeof e.length==`number`){r&&(e=r);var i=0,a=function(){};return{s:a,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:a}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./rust-crypto-BB1QAvrJ.js","./_sentry-release-injection-file-C4oXeC0H.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
try{let e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`8224a7ff-4914-4c6a-bcd9-a42ca9c74ffe`,e._sentryDebugIdIdentifier=`sentry-dbid-8224a7ff-4914-4c6a-bcd9-a42ca9c74ffe`)}catch{}import{a as e,i as t,n,r,t as i}from"./_sentry-release-injection-file-C4oXeC0H.js";function a(e,t,n,r,i,a,o){try{var s=e[a](o),c=s.value}catch(e){n(e);return}s.done?t(c):Promise.resolve(c).then(r,i)}function o(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function s(e){a(o,r,i,s,c,`next`,e)}function c(e){a(o,r,i,s,c,`throw`,e)}s(void 0)})}}function s(e){"@babel/helpers - typeof";return s=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},s(e)}function c(e,t){if(s(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(s(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function l(e){var t=c(e,`string`);return s(t)==`symbol`?t:t+``}function u(e,t,n){return(t=l(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var d=r({I:()=>`l`,default:()=>RT,m:()=>`rn`,µ:()=>`μ`,Æ:()=>`AE`,Ç:()=>`C̦`,Ð:()=>`D̵`,Ø:()=>`O̸`,æ:()=>`ae`,ç:()=>`c̦`,ð:()=>Dt,ö:()=>`ة`,ø:()=>`o̸`,Đ:()=>`D̵`,đ:()=>`d̵`,Ě:()=>`Ĕ`,ě:()=>`ĕ`,Ħ:()=>`H̵`,ħ:()=>`h̵`,ı:()=>`i`,IJ:()=>`lJ`,ij:()=>`ij`,Ŀ:()=>`l·`,ŀ:()=>`l·`,Ł:()=>`L̸`,ł:()=>`l̸`,ņ:()=>`ɲ`,ʼn:()=>`'n`,Ő:()=>`Ö`,Œ:()=>`OE`,œ:()=>`oe`,ţ:()=>`ƫ`,Ŧ:()=>`T̵`,ŧ:()=>`t̵`,ſ:()=>`f`,ƀ:()=>`b̵`,Ɓ:()=>`'B`,Ƃ:()=>`b̄`,ƃ:()=>`b̄`,Ƅ:()=>`b`,Ƈ:()=>`C'`,Ɖ:()=>`D̵`,Ɗ:()=>`'D`,ƌ:()=>`d̄`,ƍ:()=>`g`,Ƒ:()=>`F̦`,ƒ:()=>`f̦`,Ɠ:()=>`G'`,Ɩ:()=>`l`,Ɨ:()=>`l̵`,Ƙ:()=>`K'`,ƙ:()=>`k̔`,ƚ:()=>`l̵`,Ɲ:()=>`N̦`,ƞ:()=>`n̩`,Ɵ:()=>`O̵`,Ơ:()=>`O'`,ơ:()=>`o'`,Ƥ:()=>`'P`,ƥ:()=>`p̔`,Ʀ:()=>`R`,Ƨ:()=>`2`,Ƭ:()=>`'T`,ƭ:()=>`t̔`,Ʈ:()=>`T̨`,Ƴ:()=>`'Y`,ƴ:()=>`y̔`,Ƶ:()=>`Z̵`,ƶ:()=>`z̵`,Ʒ:()=>`3`,ƻ:()=>`2̵`,Ƽ:()=>`5`,ƽ:()=>`s`,ƿ:()=>`þ`,ǀ:()=>`l`,ǁ:()=>`ll`,ǃ:()=>`!`,DŽ:()=>`DŽ`,Dž:()=>`Dž`,dž:()=>`dž`,LJ:()=>`LJ`,Lj:()=>`Lj`,lj:()=>`lj`,NJ:()=>`NJ`,Nj:()=>`Nj`,nj:()=>`nj`,Ǎ:()=>`Ă`,ǎ:()=>`ă`,Ǐ:()=>`Ĭ`,ǐ:()=>`ĭ`,Ǒ:()=>`Ŏ`,ǒ:()=>`ŏ`,Ǔ:()=>`Ŭ`,ǔ:()=>`ŭ`,Ǥ:()=>`G̵`,ǥ:()=>`g̵`,Ǧ:()=>`Ğ`,ǧ:()=>`ğ`,DZ:()=>`DZ`,Dz:()=>`Dz`,dz:()=>`dz`,ǵ:()=>`ģ`,Ǿ:()=>qt,Ț:()=>`Ţ`,ț:()=>`ƫ`,Ȝ:()=>`3`,Ȣ:()=>`8`,ȣ:()=>`8`,Ȥ:()=>`Z̦`,ȥ:()=>`z̦`,Ȧ:()=>`Å`,ȧ:()=>`å`,ȼ:()=>`c̸`,Ⱦ:()=>`T̸`,Ɂ:()=>`?`,Ʉ:()=>`U̵`,Ɇ:()=>`E̸`,ɇ:()=>`e̸`,Ɉ:()=>`J̵`,ɉ:()=>`j̵`,ɍ:()=>`r̵`,Ɏ:()=>`Y̵`,ɏ:()=>`y̵`,ɑ:()=>`a`,ɓ:()=>`b̔`,ɖ:()=>`d̨`,ɗ:()=>`d̔`,ə:()=>`ǝ`,ɚ:()=>Rt,ɛ:()=>`ꞓ`,ɠ:()=>`g̔`,ɡ:()=>`g`,ɣ:()=>`y`,ɦ:()=>`h̔`,ɨ:()=>`i̵`,ɩ:()=>`i`,ɪ:()=>`i`,ɫ:()=>`l̴`,ɭ:()=>`l̨`,ɮ:()=>`lȝ`,ɯ:()=>`w`,ɱ:()=>nn,ɳ:()=>`n̨`,ɵ:()=>`o̵`,ɶ:()=>Jt,ɼ:()=>`r̩`,ɽ:()=>`r̨`,ʂ:()=>`s̨`,ʋ:()=>`u`,ʏ:()=>`y`,ʐ:()=>`z̨`,ʒ:()=>`ȝ`,ʔ:()=>`?`,ʠ:()=>`q̔`,ʣ:()=>`dz`,ʤ:()=>`dȝ`,ʥ:()=>`dʑ`,ʦ:()=>`ts`,ʧ:()=>`tʃ`,ʨ:()=>`tɕ`,ʩ:()=>`fŋ`,ʪ:()=>`ls`,ʫ:()=>`lz`,ʳ:()=>`ᣴ`,ʹ:()=>`'`,ʺ:()=>`''`,ʻ:()=>`'`,ʼ:()=>`'`,ʽ:()=>`'`,ʾ:()=>`'`,ʿ:()=>`ՙ`,ˆ:()=>`^`,ˈ:()=>`'`,ˊ:()=>`'`,ˋ:()=>`'`,ː:()=>`:`,ˡ:()=>`ᣳ`,ˢ:()=>`ᣵ`,ˤ:()=>`ˁ`,ˮ:()=>`''`,Ͱ:()=>`Ⱶ`,ʹ:()=>`'`,Ͷ:()=>`И`,ͷ:()=>`ᴎ`,ͺ:()=>`i`,ͻ:()=>`ɔ`,ͽ:()=>`ꜿ`,Ϳ:()=>`J`,Α:()=>`A`,Β:()=>`B`,Ε:()=>`E`,Ζ:()=>`Z`,Η:()=>`H`,Θ:()=>`O̵`,Ι:()=>`l`,Κ:()=>`K`,Λ:()=>`Ʌ`,Μ:()=>`M`,Ν:()=>`N`,Ο:()=>`O`,Ρ:()=>`P`,Σ:()=>`Ʃ`,Τ:()=>`T`,Υ:()=>`Y`,Χ:()=>`X`,α:()=>`a`,β:()=>`ß`,γ:()=>`y`,δ:()=>`ẟ`,ε:()=>`ꞓ`,η:()=>`n̩`,θ:()=>`O̵`,ι:()=>`i`,κ:()=>`ĸ`,ν:()=>`v`,ο:()=>`o`,ρ:()=>`p`,σ:()=>`o`,τ:()=>`ᴛ`,υ:()=>`u`,φ:()=>`ɸ`,ϐ:()=>`ß`,ϑ:()=>`O̵`,ϒ:()=>`Y`,ϕ:()=>`ɸ`,ϖ:()=>`π`,ϛ:()=>`ς`,Ϝ:()=>`F`,Ϩ:()=>`2`,ϩ:()=>`ƨ`,ϰ:()=>`ĸ`,ϱ:()=>`p`,ϲ:()=>`c`,ϳ:()=>`j`,ϴ:()=>`O̵`,ϵ:()=>`ꞓ`,Ϸ:()=>`Þ`,ϸ:()=>`þ`,Ϲ:()=>`C`,Ϻ:()=>`M`,Ͻ:()=>`Ɔ`,Ͽ:()=>`Ꜿ`,Є:()=>`Ꞓ`,Ѕ:()=>`S`,І:()=>`l`,Ј:()=>`J`,А:()=>`A`,Б:()=>`b̄`,В:()=>`B`,Г:()=>`Γ`,Е:()=>`E`,З:()=>`3`,Й:()=>`Ѝ`,К:()=>`K`,Л:()=>`Ʌ`,М:()=>`M`,Н:()=>`H`,О:()=>`O`,П:()=>`Π`,Р:()=>`P`,С:()=>`C`,Т:()=>`T`,У:()=>`Y`,Ф:()=>`Φ`,Х:()=>`X`,Ы:()=>`bl`,Ь:()=>`b`,Ю:()=>`lO`,а:()=>`a`,б:()=>`6`,в:()=>`ʙ`,г:()=>`r`,е:()=>`e`,з:()=>`ɜ`,и:()=>`ᴎ`,к:()=>`ĸ`,м:()=>`ʍ`,н:()=>`ʜ`,о:()=>`o`,п:()=>`π`,р:()=>`p`,с:()=>`c`,т:()=>`ᴛ`,у:()=>`y`,ф:()=>`ɸ`,х:()=>`x`,ъ:()=>`ˉb`,ы:()=>`ƅi`,ь:()=>`ƅ`,я:()=>`ᴙ`,є:()=>`ꞓ`,ѕ:()=>`s`,і:()=>`i`,ј:()=>`j`,ћ:()=>`h̵`,ѝ:()=>`й`,ѡ:()=>`w`,Ѣ:()=>`b̵`,ѣ:()=>`b̵`,Ѱ:()=>`Ψ`,ѱ:()=>`ψ`,Ѳ:()=>`O̵`,ѳ:()=>`o̵`,Ѵ:()=>`V`,ѵ:()=>`v`,Ѽ:()=>Cn,ѽ:()=>fn,Ҋ:()=>bn,ҋ:()=>xn,Ҍ:()=>`b̵`,ҍ:()=>`b̵`,Ґ:()=>`Γ'`,ґ:()=>`r'`,Ғ:()=>mn,ғ:()=>`r̵`,Җ:()=>yn,җ:()=>vn,Ҙ:()=>`3̦`,ҙ:()=>Vt,Қ:()=>`K̩`,қ:()=>en,Ҟ:()=>`K̵`,ҟ:()=>tn,Ң:()=>`H̩`,ң:()=>Ht,Ҫ:()=>`C̦`,ҫ:()=>`c̦`,Ҭ:()=>`T̩`,ҭ:()=>on,Ү:()=>`Y`,ү:()=>`y`,Ұ:()=>`Y̵`,ұ:()=>`y̵`,Ҳ:()=>`X̩`,һ:()=>`h`,ҽ:()=>`e`,Ҿ:()=>Tn,ҿ:()=>`ę`,Ӏ:()=>`l`,Ӆ:()=>un,ӆ:()=>Sn,Ӈ:()=>`H̦`,ӈ:()=>Wt,Ӊ:()=>`H̦`,ӊ:()=>Ut,Ӌ:()=>`Ҷ`,ӌ:()=>`ҷ`,Ӎ:()=>`M̦`,ӎ:()=>pn,ӏ:()=>`i`,Ӕ:()=>`AE`,ӕ:()=>`ae`,Ә:()=>`Ə`,ә:()=>`ǝ`,Ӡ:()=>`3`,ӡ:()=>`ȝ`,Ө:()=>`O̵`,ө:()=>`o̵`,ԁ:()=>`d`,Ԋ:()=>`Ƕ`,Ԍ:()=>`G`,ԍ:()=>`ɢ`,Ԑ:()=>`Ɛ`,ԑ:()=>`ꞓ`,ԛ:()=>`q`,Ԝ:()=>`W`,ԝ:()=>`w`,Ի:()=>`ኮ`,Մ:()=>`ሆ`,Պ:()=>`ጣ`,Ռ:()=>`ቡ`,Ս:()=>`U`,Տ:()=>`S`,Փ:()=>`Φ`,Օ:()=>`O`,ա:()=>`w`,գ:()=>`q`,զ:()=>`q`,ծ:()=>`ẟ`,հ:()=>`h`,յ:()=>`ȷ`,ո:()=>`n`,պ:()=>`ɰ`,ռ:()=>`n`,ս:()=>`u`,ց:()=>`g`,ք:()=>`f`,օ:()=>`o`,և:()=>En,ו:()=>`l`,ט:()=>`v`,י:()=>`'`,ן:()=>`l`,ס:()=>`o`,װ:()=>`ll`,ױ:()=>`l'`,ײ:()=>`''`,أ:()=>`lٴ`,ؤ:()=>Vu,إ:()=>`lٕ`,ئ:()=>jd,ا:()=>`l`,ث:()=>ld,ش:()=>Ui,ؽ:()=>Ed,ؿ:()=>xd,ه:()=>`o`,ي:()=>`ى`,ٮ:()=>`ى`,ٯ:()=>`ڡ`,ٲ:()=>`lٴ`,ٳ:()=>`lٕ`,ٵ:()=>`lٴ`,ٶ:()=>Wu,ٷ:()=>Gu,ٸ:()=>Id,ٹ:()=>Ju,پ:()=>id,ځ:()=>Zr,څ:()=>Xr,ڈ:()=>yi,ڋ:()=>Oi,ڎ:()=>Si,ڑ:()=>ki,ڒ:()=>Fi,ژ:()=>Mi,ڞ:()=>so,ڟ:()=>Jo,ڤ:()=>Qs,ڧ:()=>`ف`,ڨ:()=>rc,ک:()=>`ك`,ڪ:()=>`ك`,ڭ:()=>vc,ڴ:()=>Gc,ڵ:()=>qc,ڷ:()=>Kc,ں:()=>`ى`,ڻ:()=>$u,ڽ:()=>yd,ھ:()=>`o`,ہ:()=>`o`,ۂ:()=>`ۀ`,ۃ:()=>`ة`,ۆ:()=>Mu,ۇ:()=>ku,ۈ:()=>Ru,ۉ:()=>Fu,ۋ:()=>Eu,ی:()=>`ى`,ێ:()=>wd,ې:()=>`ٻ`,ۑ:()=>bd,ے:()=>`ى`,ە:()=>`o`,ۮ:()=>Ti,ۯ:()=>Li,ۿ:()=>`ô`,ݑ:()=>Pn,ݖ:()=>Cd,ݢ:()=>`ڬ`,ݣ:()=>Cc,ݧ:()=>`ݔ`,ݨ:()=>Ql,ݩ:()=>$l,ݬ:()=>Ri,ݱ:()=>Hi,ݲ:()=>Qr,ݾ:()=>ea,ߊ:()=>`l`,ߴ:()=>`'`,ߵ:()=>`'`,ߺ:()=>`_`,ࢡ:()=>In,ࢤ:()=>ic,ࢧ:()=>Ol,ࢨ:()=>Dd,ࢩ:()=>`ݔ`,ࢮ:()=>Ei,ࢯ:()=>co,ࢰ:()=>`گ`,ࢱ:()=>`و`,ࢲ:()=>Vi,ࢶ:()=>Fn,ࢷ:()=>Sd,ࢹ:()=>Ii,ࢺ:()=>Td,ࢻ:()=>`ڡ`,ࢼ:()=>`ڡ`,ࢽ:()=>`ى`,ऄ:()=>ip,आ:()=>ep,ई:()=>lp,ऍ:()=>op,ऎ:()=>sp,ऐ:()=>cp,ऑ:()=>ap,ऒ:()=>tp,ओ:()=>np,औ:()=>rp,ॽ:()=>`?`,আ:()=>up,ৠ:()=>dp,ৡ:()=>fp,ਆ:()=>hp,ਇ:()=>vp,ਈ:()=>yp,ਉ:()=>pp,ਊ:()=>mp,ਏ:()=>bp,ਐ:()=>gp,ਔ:()=>_p,આ:()=>xp,ઍ:()=>Tp,એ:()=>Ep,ઐ:()=>Dp,ઑ:()=>Sp,ઓ:()=>Cp,ઔ:()=>wp,ઽ:()=>`ऽ`,ଆ:()=>Op,ଠ:()=>`O`,ஊ:()=>kp,ஜ:()=>`ஐ`,ர:()=>`ஈ`,ఓ:()=>Ip,ఔ:()=>Pp,ఠ:()=>Vp,ఢ:()=>Rp,థ:()=>zp,భ:()=>Bp,మ:()=>Wp,ష:()=>Hp,హ:()=>Up,ౠ:()=>Mp,ౡ:()=>Np,ಅ:()=>`అ`,ಆ:()=>`ఆ`,ಇ:()=>`ఇ`,ಒ:()=>`ఒ`,ಓ:()=>Lp,ಔ:()=>Fp,ಜ:()=>`జ`,ಞ:()=>`ఞ`,ಣ:()=>`ణ`,ಯ:()=>`య`,ಱ:()=>`ఱ`,ಲ:()=>`ల`,ೡ:()=>Gp,ഈ:()=>Kp,ഉ:()=>`உ`,ഊ:()=>Ap,ഌ:()=>Xp,ഐ:()=>qp,ഓ:()=>Jp,ഔ:()=>Yp,ങ:()=>Zp,ജ:()=>`ஐ`,ഠ:()=>`o`,ണ:()=>`ண`,റ:()=>`ര`,ഴ:()=>`ழ`,ശ:()=>`ஶ`,ഺ:()=>jp,ൎ:()=>`ॱ`,ൟ:()=>Zt,ൡ:()=>`ഞ`,ൻ:()=>Qp,ർ:()=>$p,ฃ:()=>`ข`,ซ:()=>`ช`,ฏ:()=>`ฎ`,ด:()=>`ค`,ต:()=>`ค`,ท:()=>`ฑ`,ม:()=>`ฆ`,ฦ:()=>`ภ`,ำ:()=>um,แ:()=>dm,ๅ:()=>`า`,ຈ:()=>`จ`,ຍ:()=>`ย`,ບ:()=>`บ`,ປ:()=>`ป`,ຝ:()=>`ฝ`,ພ:()=>`พ`,ຟ:()=>`ฟ`,ຳ:()=>mm,ໜ:()=>fm,ໝ:()=>pm,ༀ:()=>hm,ཪ:()=>`ར`,က:()=>_m,တ:()=>Qt,ဝ:()=>`o`,ဟ:()=>bm,ဩ:()=>Cm,ဪ:()=>wm,ၥ:()=>`၁`,ၦ:()=>ym,ၯ:()=>xm,ၰ:()=>vm,ၾ:()=>Sm,ႁ:()=>gm,Ⴀ:()=>`Ꞇ`,ყ:()=>`y`,ჳ:()=>`ȝ`,ჿ:()=>`o`,ᄁ:()=>Mg,ᄄ:()=>g_,ᄈ:()=>hy,ᄊ:()=>ub,ᄍ:()=>$b,ᄓ:()=>Gg,ᄔ:()=>qg,ᄕ:()=>Xg,ᄖ:()=>e_,ᄗ:()=>m_,ᄘ:()=>B_,ᄙ:()=>q_,ᄚ:()=>Ev,ᄛ:()=>_v,ᄜ:()=>Wv,ᄝ:()=>Qv,ᄞ:()=>oy,ᄟ:()=>cy,ᄠ:()=>ly,ᄡ:()=>by,ᄢ:()=>Cy,ᄣ:()=>Ty,ᄤ:()=>Oy,ᄥ:()=>ky,ᄦ:()=>Ay,ᄧ:()=>Fy,ᄨ:()=>Ry,ᄩ:()=>Vy,ᄪ:()=>Uy,ᄫ:()=>My,ᄬ:()=>vy,ᄭ:()=>qy,ᄮ:()=>Xy,ᄯ:()=>Qy,ᄰ:()=>tb,ᄱ:()=>rb,ᄲ:()=>ab,ᄳ:()=>cb,ᄴ:()=>gb,ᄵ:()=>_b,ᄶ:()=>vb,ᄷ:()=>xb,ᄸ:()=>Cb,ᄹ:()=>wb,ᄺ:()=>Eb,ᄻ:()=>Ov,ᄽ:()=>xx,ᄿ:()=>Sx,ᅁ:()=>Ob,ᅂ:()=>jb,ᅃ:()=>Nb,ᅄ:()=>Pb,ᅅ:()=>Fb,ᅆ:()=>qb,ᅇ:()=>Rb,ᅈ:()=>Vb,ᅉ:()=>Hb,ᅊ:()=>Wb,ᅋ:()=>Gb,ᅍ:()=>Qb,ᅏ:()=>Dx,ᅑ:()=>Ox,ᅒ:()=>rx,ᅓ:()=>ix,ᅖ:()=>ox,ᅗ:()=>lx,ᅘ:()=>yx,ᅚ:()=>Ig,ᅛ:()=>t_,ᅜ:()=>i_,ᅝ:()=>l_,ᅞ:()=>b_,ᅢ:()=>Nx,ᅤ:()=>Rx,ᅦ:()=>Ux,ᅨ:()=>Jx,ᅪ:()=>Xx,ᅫ:()=>Qx,ᅬ:()=>lS,ᅯ:()=>wS,ᅰ:()=>DS,ᅱ:()=>MS,ᅳ:()=>`ー`,ᅴ:()=>Pt,ᅵ:()=>`丨`,ᅶ:()=>jx,ᅷ:()=>Mx,ᅸ:()=>Fx,ᅹ:()=>Ix,ᅺ:()=>Vx,ᅻ:()=>Hx,ᅼ:()=>Bx,ᅽ:()=>Kx,ᅾ:()=>qx,ᅿ:()=>nS,ᆀ:()=>rS,ᆁ:()=>aS,ᆂ:()=>oS,ᆃ:()=>cS,ᆄ:()=>pS,ᆅ:()=>gS,ᆆ:()=>hS,ᆇ:()=>yS,ᆈ:()=>bS,ᆉ:()=>SS,ᆊ:()=>CS,ᆋ:()=>ES,ᆌ:()=>AS,ᆍ:()=>jS,ᆎ:()=>FS,ᆏ:()=>LS,ᆐ:()=>RS,ᆑ:()=>zS,ᆒ:()=>VS,ᆓ:()=>WS,ᆔ:()=>GS,ᆕ:()=>Nt,ᆖ:()=>Ot,ᆗ:()=>It,ᆘ:()=>xC,ᆙ:()=>SC,ᆚ:()=>DC,ᆛ:()=>AC,ᆜ:()=>bC,ᆝ:()=>MC,ᆟ:()=>JS,ᆠ:()=>XS,ᆡ:()=>QS,ᆢ:()=>ZS,ᆣ:()=>Ax,ᆤ:()=>Lx,ᆥ:()=>Gx,ᆦ:()=>eS,ᆧ:()=>tS,ᆨ:()=>`ᄀ`,ᆩ:()=>Pg,ᆪ:()=>zg,ᆫ:()=>`ᄂ`,ᆬ:()=>a_,ᆭ:()=>u_,ᆮ:()=>`ᄃ`,ᆯ:()=>`ᄅ`,ᆰ:()=>N_,ᆱ:()=>Z_,ᆲ:()=>rv,ᆳ:()=>mv,ᆴ:()=>Sv,ᆵ:()=>wv,ᆶ:()=>kv,ᆷ:()=>`ᄆ`,ᆸ:()=>`ᄇ`,ᆹ:()=>Sy,ᆺ:()=>`ᄉ`,ᆻ:()=>fb,ᆼ:()=>`ᄋ`,ᆽ:()=>`ᄌ`,ᆾ:()=>`ᄎ`,ᆿ:()=>`ᄏ`,ᇀ:()=>`ᄐ`,ᇁ:()=>`ᄑ`,ᇂ:()=>`ᄒ`,ᇃ:()=>Lg,ᇄ:()=>Vg,ᇅ:()=>Kg,ᇆ:()=>Qg,ᇇ:()=>n_,ᇈ:()=>f_,ᇉ:()=>c_,ᇊ:()=>h_,ᇋ:()=>x_,ᇌ:()=>L_,ᇍ:()=>V_,ᇎ:()=>U_,ᇏ:()=>K_,ᇐ:()=>J_,ᇑ:()=>$_,ᇒ:()=>ev,ᇓ:()=>sv,ᇔ:()=>fv,ᇕ:()=>uv,ᇖ:()=>gv,ᇗ:()=>jv,ᇘ:()=>xv,ᇙ:()=>Pv,ᇚ:()=>Rv,ᇛ:()=>Hv,ᇜ:()=>Kv,ᇝ:()=>Yv,ᇞ:()=>Zv,ᇟ:()=>iy,ᇠ:()=>ny,ᇡ:()=>ry,ᇢ:()=>ey,ᇣ:()=>fy,ᇤ:()=>Wy,ᇥ:()=>Ky,ᇦ:()=>Py,ᇧ:()=>Yy,ᇨ:()=>eb,ᇩ:()=>nb,ᇪ:()=>sb,ᇫ:()=>`ᅀ`,ᇬ:()=>kb,ᇭ:()=>Ab,ᇮ:()=>Bb,ᇯ:()=>Ub,ᇰ:()=>`ᅌ`,ᇱ:()=>Ib,ᇲ:()=>Jb,ᇳ:()=>sx,ᇴ:()=>dx,ᇵ:()=>mx,ᇶ:()=>hx,ᇷ:()=>gx,ᇸ:()=>_x,ᇹ:()=>`ᅙ`,ᇺ:()=>Fg,ᇻ:()=>Rg,ᇼ:()=>Hg,ᇽ:()=>Ug,ᇾ:()=>Wg,ᇿ:()=>Yg,ሀ:()=>`U`,ሣ:()=>`ɰ`,ቀ:()=>`Φ`,በ:()=>`Ո`,ኔ:()=>`ձ`,ዐ:()=>`O`,Ꭰ:()=>`D`,Ꭱ:()=>`R`,Ꭲ:()=>`T`,Ꭴ:()=>`O'`,Ꭵ:()=>`i`,Ꭸ:()=>`Ⱶ`,Ꭹ:()=>`Y`,Ꭺ:()=>`A`,Ꭻ:()=>`J`,Ꭼ:()=>`E`,Ꭾ:()=>`?`,Ꮀ:()=>`Ⱶ`,Ꮁ:()=>`Γ`,Ꮃ:()=>`W`,Ꮇ:()=>`M`,Ꮋ:()=>`H`,Ꮍ:()=>`Y`,Ꮎ:()=>`O̵`,Ꮏ:()=>`ƫ`,Ꮐ:()=>`G`,Ꮒ:()=>`h`,Ꮓ:()=>`Z`,Ꮗ:()=>`Ѡ`,Ꮛ:()=>`Ɛ`,Ꮜ:()=>`U̵`,Ꮞ:()=>`4`,Ꮟ:()=>`b`,Ꮢ:()=>`R`,Ꮤ:()=>`W`,Ꮥ:()=>`S`,Ꮩ:()=>`V`,Ꮪ:()=>`S`,Ꮮ:()=>`L`,Ꮯ:()=>`C`,Ꮲ:()=>`P`,Ꮶ:()=>`K`,Ꮷ:()=>`d`,Ꮻ:()=>`O̵`,Ꮾ:()=>`6`,Ᏸ:()=>`ß`,Ᏺ:()=>`h̔`,Ᏻ:()=>`G`,Ᏼ:()=>`B`,ᏻ:()=>`ɢ`,ᏼ:()=>`ʙ`,ᐃ:()=>`Δ`,ᐌ:()=>ie,ᐍ:()=>Tm,ᐎ:()=>ne,ᐏ:()=>gn,ᐐ:()=>ae,ᐑ:()=>Dm,ᐒ:()=>oe,ᐓ:()=>Om,ᐔ:()=>se,ᐕ:()=>Am,ᐗ:()=>ce,ᐘ:()=>jm,ᐙ:()=>le,ᐚ:()=>Nm,ᐧ:()=>`·`,ᐫ:()=>Em,ᐬ:()=>_n,ᐭ:()=>km,ᐮ:()=>Mm,ᐯ:()=>`V`,ᐱ:()=>`Ʌ`,ᐳ:()=>`>`,ᐷ:()=>`·>`,ᐸ:()=>`<`,ᐺ:()=>`·V`,ᐻ:()=>`V·`,ᐼ:()=>ee,ᐽ:()=>dn,ᐾ:()=>ue,ᐿ:()=>Fm,ᑀ:()=>`·>`,ᑁ:()=>`>·`,ᑂ:()=>de,ᑃ:()=>Im,ᑄ:()=>`·<`,ᑅ:()=>`<·`,ᑆ:()=>fe,ᑇ:()=>Lm,ᑊ:()=>`'`,ᑌ:()=>`U`,ᑎ:()=>`Ո`,ᑔ:()=>me,ᑗ:()=>`·U`,ᑘ:()=>`U·`,ᑙ:()=>re,ᑚ:()=>jn,ᑛ:()=>pe,ᑜ:()=>Rm,ᑝ:()=>he,ᑞ:()=>zm,ᑟ:()=>ge,ᑠ:()=>Vm,ᑡ:()=>_e,ᑢ:()=>Hm,ᑣ:()=>ve,ᑤ:()=>Wm,ᑧ:()=>`U'`,ᑨ:()=>`Ո'`,ᑩ:()=>Bm,ᑪ:()=>Um,ᑭ:()=>`P`,ᑯ:()=>`d`,ᑲ:()=>`b`,ᑳ:()=>`ḃ`,ᑴ:()=>ye,ᑵ:()=>Gm,ᑶ:()=>`·P`,ᑷ:()=>`p·`,ᑸ:()=>be,ᑹ:()=>qm,ᑺ:()=>`·d`,ᑻ:()=>`d·`,ᑼ:()=>xe,ᑽ:()=>Jm,ᑾ:()=>`·b`,ᑿ:()=>`b·`,ᒀ:()=>S,ᒁ:()=>Lt,ᒅ:()=>Km,ᒆ:()=>`P'`,ᒇ:()=>`d'`,ᒈ:()=>`b'`,ᒍ:()=>`J`,ᒒ:()=>Se,ᒓ:()=>Ym,ᒔ:()=>Ce,ᒕ:()=>Xm,ᒖ:()=>we,ᒗ:()=>Zm,ᒘ:()=>`·J`,ᒙ:()=>`J·`,ᒚ:()=>Te,ᒛ:()=>Qm,ᒜ:()=>Ee,ᒝ:()=>$m,ᒞ:()=>De,ᒟ:()=>eh,ᒥ:()=>`Γ`,ᒪ:()=>`L`,ᒬ:()=>Oe,ᒭ:()=>th,ᒮ:()=>te,ᒯ:()=>hn,ᒰ:()=>ke,ᒱ:()=>nh,ᒲ:()=>Ae,ᒳ:()=>rh,ᒴ:()=>je,ᒵ:()=>ih,ᒶ:()=>`·L`,ᒷ:()=>`l·`,ᒸ:()=>Me,ᒹ:()=>ah,ᒿ:()=>`2`,ᓉ:()=>Ne,ᓊ:()=>oh,ᓋ:()=>Re,ᓌ:()=>dh,ᓍ:()=>ze,ᓎ:()=>fh,ᓑ:()=>`ᐡ`,ᓜ:()=>Be,ᓝ:()=>ph,ᓞ:()=>Ve,ᓟ:()=>mh,ᓠ:()=>He,ᓡ:()=>hh,ᓢ:()=>Ue,ᓣ:()=>gh,ᓤ:()=>We,ᓥ:()=>_h,ᓦ:()=>Ge,ᓧ:()=>vh,ᓨ:()=>Ke,ᓩ:()=>yh,ᓶ:()=>qe,ᓷ:()=>bh,ᓸ:()=>Je,ᓹ:()=>xh,ᓺ:()=>Ye,ᓻ:()=>Sh,ᓼ:()=>Xe,ᓽ:()=>Ch,ᓾ:()=>Ze,ᓿ:()=>wh,ᔀ:()=>Qe,ᔁ:()=>Th,ᔂ:()=>$e,ᔃ:()=>Eh,ᔌ:()=>Dh,ᔍ:()=>kh,ᔎ:()=>Oh,ᔏ:()=>Ah,ᔗ:()=>et,ᔘ:()=>jh,ᔙ:()=>tt,ᔚ:()=>Mh,ᔛ:()=>nt,ᔜ:()=>Nh,ᔝ:()=>rt,ᔞ:()=>Ph,ᔟ:()=>it,ᔠ:()=>Fh,ᔡ:()=>at,ᔢ:()=>Ih,ᔣ:()=>ot,ᔤ:()=>Lh,ᔯ:()=>`·4`,ᔰ:()=>`4·`,ᔱ:()=>st,ᔲ:()=>Rh,ᔳ:()=>ct,ᔴ:()=>zh,ᔵ:()=>lt,ᔶ:()=>Bh,ᔷ:()=>ut,ᔸ:()=>Vh,ᔹ:()=>dt,ᔺ:()=>Hh,ᔻ:()=>ft,ᔼ:()=>Uh,ᕀ:()=>`ᐩ`,ᕁ:()=>`x`,ᕎ:()=>yt,ᕏ:()=>Gh,ᕛ:()=>bt,ᕜ:()=>tg,ᕨ:()=>xt,ᕩ:()=>ig,ᕷ:()=>`ẟ`,ᕼ:()=>`H`,ᕽ:()=>`x`,ᕾ:()=>Zh,ᕿ:()=>Yh,ᖀ:()=>Qh,ᖁ:()=>Jh,ᖂ:()=>$h,ᖃ:()=>Kh,ᖄ:()=>qh,ᖅ:()=>eg,ᖇ:()=>`R`,ᖎ:()=>lg,ᖏ:()=>ug,ᖐ:()=>dg,ᖑ:()=>sg,ᖒ:()=>fg,ᖓ:()=>pg,ᖔ:()=>mg,ᖯ:()=>`b`,ᖴ:()=>`F`,ᖵ:()=>`Ⅎ`,ᖷ:()=>`ꟻ`,ᗄ:()=>`Ɐ`,ᗅ:()=>`A`,ᗞ:()=>`D`,ᗪ:()=>`D`,ᗯ:()=>`Ѡ`,ᗰ:()=>`M`,ᗷ:()=>`B`,ᘂ:()=>`ᒐ`,ᘃ:()=>`ᒉ`,ᘄ:()=>`ᓓ`,ᘇ:()=>`ᓚ`,ᘢ:()=>`ᕃ`,ᘣ:()=>`ᕆ`,ᘤ:()=>`ᕊ`,ᘮ:()=>`Ʊ`,ᘯ:()=>`Ω`,ᘴ:()=>`Ʊ`,ᘵ:()=>`Ω`,ᙯ:()=>Xh,ᙰ:()=>cg,ᙱ:()=>gg,ᙲ:()=>_g,ᙳ:()=>hg,ᙴ:()=>vg,ᙵ:()=>yg,ᙶ:()=>bg,ᙷ:()=>Sg,ᙸ:()=>Cg,ᙹ:()=>wg,ᙺ:()=>Tg,ᙻ:()=>Eg,ᙼ:()=>Dg,ᙽ:()=>Og,ᚲ:()=>`<`,ᚷ:()=>`X`,ᛁ:()=>`l`,ᛂ:()=>`ᚽ`,ᛌ:()=>`'`,ᛕ:()=>`K`,ᛖ:()=>`M`,ᛘ:()=>`Ψ`,ᛡ:()=>`ᚼ`,ᛰ:()=>`Φ`,ឣ:()=>`អ`,ᡕ:()=>`ᠵ`,ᢖ:()=>`ᡜ`,ᢳ:()=>St,ᢶ:()=>Ct,ᢹ:()=>wt,ᣂ:()=>Tt,ᣆ:()=>Pe,ᣇ:()=>sh,ᣈ:()=>Fe,ᣉ:()=>ch,ᣊ:()=>Ie,ᣋ:()=>lh,ᣌ:()=>Le,ᣍ:()=>uh,ᣎ:()=>pt,ᣏ:()=>mt,ᣐ:()=>ht,ᣑ:()=>gt,ᣒ:()=>_t,ᣓ:()=>vt,ᣛ:()=>`ᣵ`,ᣜ:()=>jg,ᣝ:()=>Pm,ᣠ:()=>Wh,ᣣ:()=>ng,ᣤ:()=>rg,ᣥ:()=>ag,ᣨ:()=>og,ᣪ:()=>xg,ᣭ:()=>wn,ᣰ:()=>kg,ᣲ:()=>Ag,ᴄ:()=>`c`,ᴈ:()=>`ɜ`,ᴋ:()=>`ĸ`,ᴍ:()=>`ʍ`,ᴏ:()=>`o`,ᴐ:()=>`ɔ`,ᴑ:()=>`o`,ᴔ:()=>`ǝo`,ᴜ:()=>`u`,ᴠ:()=>`v`,ᴡ:()=>`w`,ᴢ:()=>`z`,ᴤ:()=>`ƨ`,ᴦ:()=>`r`,ᴧ:()=>`ʌ`,ᴨ:()=>`π`,ᴩ:()=>`ᴘ`,ᴫ:()=>`л`,ᴾ:()=>`ᣖ`,ᵒ:()=>`º`,ᵫ:()=>`ue`,ᵮ:()=>`f̴`,ᵯ:()=>rn,ᵰ:()=>`n̴`,ᵲ:()=>`r̴`,ᵳ:()=>an,ᵴ:()=>`s̴`,ᵵ:()=>`t̴`,ᵶ:()=>`z̴`,ᵸ:()=>`ᴴ`,ᵻ:()=>`i̵`,ᵼ:()=>`i̵`,ᵽ:()=>`p̵`,ᵾ:()=>`u̵`,ᵿ:()=>sn,ᶃ:()=>`g`,ᶌ:()=>`y`,ᶐ:()=>`ɋ`,ᶟ:()=>`ᵋ`,ᶢ:()=>`ᵍ`,ᶺ:()=>`ᣔ`,ᶻ:()=>`ᙆ`,ṃ:()=>`ꭑ`,ẚ:()=>`ả`,ẝ:()=>`f`,ỿ:()=>`y`,ώ:()=>`ῴ`,ι:()=>`i`,ῶ:()=>`Ꮿ`,ℂ:()=>`C`,ℇ:()=>`Ɛ`,ℊ:()=>`g`,ℋ:()=>`H`,ℌ:()=>`H`,ℍ:()=>`H`,ℎ:()=>`h`,ℏ:()=>`h̵`,ℐ:()=>`l`,ℑ:()=>`l`,ℒ:()=>`L`,ℓ:()=>`l`,ℕ:()=>`N`,ℙ:()=>`P`,ℚ:()=>`Q`,ℛ:()=>`R`,ℜ:()=>`R`,ℝ:()=>`R`,ℤ:()=>`Z`,Ω:()=>`Ω`,ℨ:()=>`Z`,K:()=>`K`,ℬ:()=>`B`,ℭ:()=>`C`,℮:()=>`e`,ℯ:()=>`e`,ℰ:()=>`E`,ℱ:()=>`F`,ℳ:()=>`M`,ℴ:()=>`o`,ℵ:()=>`א`,ℶ:()=>`ב`,ℷ:()=>`ג`,ℸ:()=>`ד`,ℹ:()=>`i`,ℼ:()=>`π`,ℽ:()=>`y`,ℾ:()=>`Γ`,ℿ:()=>`Π`,ⅅ:()=>`D`,ⅆ:()=>`d`,ⅇ:()=>`e`,ⅈ:()=>`i`,ⅉ:()=>`j`,Ⅰ:()=>`l`,Ⅱ:()=>`ll`,Ⅲ:()=>`lll`,Ⅳ:()=>`lV`,Ⅴ:()=>`V`,Ⅵ:()=>`Vl`,Ⅶ:()=>`Vll`,Ⅷ:()=>ln,Ⅸ:()=>`lX`,Ⅹ:()=>`X`,Ⅺ:()=>`Xl`,Ⅻ:()=>`Xll`,Ⅼ:()=>`L`,Ⅽ:()=>`C`,Ⅾ:()=>`D`,Ⅿ:()=>`M`,ⅰ:()=>`i`,ⅱ:()=>`ii`,ⅲ:()=>`iii`,ⅳ:()=>`iv`,ⅴ:()=>`v`,ⅵ:()=>`vi`,ⅶ:()=>`vii`,ⅷ:()=>cn,ⅸ:()=>`ix`,ⅹ:()=>`x`,ⅺ:()=>`xi`,ⅻ:()=>`xii`,ⅼ:()=>`l`,ⅽ:()=>`c`,ⅾ:()=>`d`,ⅿ:()=>`rn`,Ↄ:()=>`Ɔ`,ↄ:()=>`ɔ`,Ⱨ:()=>`H̩`,Ⱪ:()=>`K̩`,Ⲅ:()=>`Γ`,ⲅ:()=>`r`,Ⲇ:()=>`Δ`,Ⲉ:()=>`Ꞓ`,ⲉ:()=>`ꞓ`,Ⲏ:()=>`H`,Ⲓ:()=>`l`,Ⲕ:()=>`K`,ⲕ:()=>`ĸ`,Ⲗ:()=>`λ`,Ⲙ:()=>`M`,Ⲛ:()=>`N`,Ⲟ:()=>`O`,ⲟ:()=>`o`,Ⲡ:()=>`Π`,Ⲣ:()=>`P`,ⲣ:()=>`p`,Ⲥ:()=>`C`,ⲥ:()=>`c`,Ⲧ:()=>`T`,Ⲩ:()=>`Y`,Ⲫ:()=>`Φ`,ⲫ:()=>`ɸ`,Ⲭ:()=>`X`,ⲭ:()=>`χ`,Ⲯ:()=>`Ψ`,ⲱ:()=>`ω`,Ⲵ:()=>`<·`,Ⲻ:()=>`-`,Ⲽ:()=>`Ш`,ⲽ:()=>`ш`,Ⳇ:()=>`/`,Ⳋ:()=>`9`,Ⳍ:()=>`3`,ⳍ:()=>`ȝ`,Ⳑ:()=>`L`,ⳑ:()=>`ʟ`,Ⳓ:()=>`6`,Ⳝ:()=>`Ϭ`,ⳤ:()=>`ϗ`,ⴱ:()=>`O̵`,ⴷ:()=>`Ʌ`,ⴸ:()=>`V`,ⴹ:()=>`E`,ⴺ:()=>`Ǝ`,ⵁ:()=>`O̸`,ⵈ:()=>x,ⵉ:()=>`Ʃ`,ⵏ:()=>`l`,ⵑ:()=>`!`,ⵔ:()=>`O`,ⵕ:()=>`Q`,ⵙ:()=>`ʘ`,ⵝ:()=>`X`,ⵠ:()=>`Δ`,ⵣ:()=>`ᛯ`,〇:()=>`O`,〳:()=>`/`,〸:()=>`十`,〹:()=>`卄`,〺:()=>`卅`,く:()=>`❬`,゛:()=>`゙`,゜:()=>`゚`,イ:()=>`亻`,エ:()=>`工`,カ:()=>`力`,タ:()=>`夕`,ト:()=>`卜`,ニ:()=>`二`,ノ:()=>`/`,ハ:()=>`八`,ヘ:()=>`へ`,ロ:()=>`口`,ㄱ:()=>`ᄀ`,ㄲ:()=>Ng,ㄳ:()=>Bg,ㄴ:()=>`ᄂ`,ㄵ:()=>o_,ㄶ:()=>d_,ㄷ:()=>`ᄃ`,ㄸ:()=>__,ㄹ:()=>`ᄅ`,ㄺ:()=>P_,ㄻ:()=>Q_,ㄼ:()=>iv,ㄽ:()=>hv,ㄾ:()=>Cv,ㄿ:()=>Tv,ㅀ:()=>Dv,ㅁ:()=>`ᄆ`,ㅂ:()=>`ᄇ`,ㅃ:()=>gy,ㅄ:()=>xy,ㅅ:()=>`ᄉ`,ㅆ:()=>db,ㅇ:()=>`ᄋ`,ㅈ:()=>`ᄌ`,ㅉ:()=>ex,ㅊ:()=>`ᄎ`,ㅋ:()=>`ᄏ`,ㅌ:()=>`ᄐ`,ㅍ:()=>`ᄑ`,ㅎ:()=>`ᄒ`,ㅏ:()=>`ᅡ`,ㅐ:()=>Px,ㅑ:()=>`ᅣ`,ㅒ:()=>zx,ㅓ:()=>`ᅥ`,ㅔ:()=>Wx,ㅕ:()=>`ᅧ`,ㅖ:()=>Yx,ㅗ:()=>`ᅩ`,ㅘ:()=>Zx,ㅙ:()=>$x,ㅚ:()=>uS,ㅛ:()=>`ᅭ`,ㅜ:()=>`ᅮ`,ㅝ:()=>TS,ㅞ:()=>OS,ㅟ:()=>NS,ㅠ:()=>`ᅲ`,ㅡ:()=>`ー`,ㅢ:()=>Ft,ㅣ:()=>`丨`,ㅤ:()=>`ᅠ`,ㅥ:()=>Jg,ㅦ:()=>Zg,ㅧ:()=>r_,ㅨ:()=>p_,ㅩ:()=>R_,ㅪ:()=>W_,ㅫ:()=>cv,ㅬ:()=>Mv,ㅭ:()=>Fv,ㅮ:()=>Gv,ㅯ:()=>Xv,ㅰ:()=>ay,ㅱ:()=>$v,ㅲ:()=>sy,ㅳ:()=>uy,ㅴ:()=>wy,ㅵ:()=>Ey,ㅶ:()=>Iy,ㅷ:()=>Hy,ㅸ:()=>Ny,ㅹ:()=>yy,ㅺ:()=>Jy,ㅻ:()=>Zy,ㅼ:()=>$y,ㅽ:()=>ob,ㅾ:()=>yb,ㅿ:()=>`ᅀ`,ㆀ:()=>zb,ㆁ:()=>`ᅌ`,ㆂ:()=>Lb,ㆃ:()=>Yb,ㆄ:()=>ux,ㆅ:()=>bx,ㆆ:()=>`ᅙ`,ㆇ:()=>mS,ㆈ:()=>_S,ㆉ:()=>xS,ㆊ:()=>BS,ㆋ:()=>HS,ㆌ:()=>KS,ㆍ:()=>`ᆞ`,ㆎ:()=>$S,㦳:()=>`㘽`,䎛:()=>`㖈`,䐠:()=>`㬻`,一:()=>`ー`,丶:()=>`\\`,丿:()=>`/`,倂:()=>`併`,值:()=>`値`,啟:()=>`啓`,囗:()=>`口`,填:()=>`塡`,士:()=>`土`,壿:()=>`墫`,嬀:()=>`媯`,帲:()=>`帡`,幐:()=>`㬺`,戸:()=>`戶`,搉:()=>`㩁`,晣:()=>`䀿`,晩:()=>`晚`,曶:()=>`㫚`,朦:()=>`䑃`,柿:()=>`杮`,槩:()=>`㮣`,樧:()=>`榝`,潙:()=>`溈`,硏:()=>`研`,絶:()=>`絕`,肦:()=>`朌`,胊:()=>`朐`,胐:()=>`朏`,胶:()=>`㬵`,脁:()=>`朓`,脧:()=>`朘`,腁:()=>`胼`,膧:()=>`朣`,蔿:()=>`蒍`,虁:()=>`蘷`,訞:()=>`䚶`,詽:()=>`訮`,讏:()=>`讆`,豣:()=>`豜`,趆:()=>`赿`,跺:()=>`跥`,躛:()=>`躗`,輧:()=>`軿`,郞:()=>`郎`,鎮:()=>`鎭`,隸:()=>`隷`,鹃:()=>`鹂`,黒:()=>`黑`,鿃:()=>`䀹`,ꓐ:()=>`B`,ꓑ:()=>`P`,ꓒ:()=>`d`,ꓓ:()=>`D`,ꓔ:()=>`T`,ꓖ:()=>`G`,ꓗ:()=>`K`,ꓙ:()=>`J`,ꓚ:()=>`C`,ꓛ:()=>`Ɔ`,ꓜ:()=>`Z`,ꓝ:()=>`F`,ꓞ:()=>`Ⅎ`,ꓟ:()=>`M`,ꓠ:()=>`N`,ꓡ:()=>`L`,ꓢ:()=>`S`,ꓣ:()=>`R`,ꓥ:()=>`Ʌ`,ꓦ:()=>`V`,ꓧ:()=>`H`,ꓪ:()=>`W`,ꓫ:()=>`X`,ꓬ:()=>`Y`,ꓭ:()=>`ᙠ`,ꓮ:()=>`A`,ꓯ:()=>`Ɐ`,ꓰ:()=>`E`,ꓱ:()=>`Ǝ`,ꓲ:()=>`l`,ꓳ:()=>`O`,ꓴ:()=>`U`,ꓵ:()=>`Ո`,ꓷ:()=>`ᗡ`,ꓸ:()=>`.`,ꓹ:()=>`,`,ꓺ:()=>`..`,ꓻ:()=>`.,`,ꓽ:()=>`:`,Ꙅ:()=>`2`,ꙅ:()=>`ƨ`,ꙇ:()=>`i`,ꙍ:()=>`ω`,Ꙑ:()=>`Ъl`,ꙑ:()=>Et,Ꙩ:()=>`ʘ`,ꚕ:()=>`h̔`,Ꚙ:()=>`OO`,ꚙ:()=>`oo`,Ꚛ:()=>pC,ꚡ:()=>`И`,ꚰ:()=>`ᚹ`,ꚱ:()=>`Ⱶ`,ꛍ:()=>`ʡ`,ꛎ:()=>`Ʌ`,ꛛ:()=>`Π`,ꛟ:()=>`V`,ꛫ:()=>`?`,ꛯ:()=>`2`,Ꜩ:()=>`T3`,ꜩ:()=>`tȝ`,ꜱ:()=>`s`,Ꜳ:()=>`AA`,ꜳ:()=>`aa`,Ꜵ:()=>`AO`,ꜵ:()=>`ao`,Ꜷ:()=>`AU`,ꜷ:()=>`au`,Ꜹ:()=>`AV`,ꜹ:()=>`av`,Ꜻ:()=>`AV`,ꜻ:()=>`av`,Ꜽ:()=>`AY`,ꜽ:()=>`ay`,Ꝁ:()=>`K̵`,Ꝋ:()=>`O̵`,ꝋ:()=>`o̵`,Ꝏ:()=>`OO`,ꝏ:()=>`oo`,Ꝛ:()=>`2`,ꝡ:()=>`w̦`,Ꝫ:()=>`3`,ꝫ:()=>`ȝ`,Ꝯ:()=>`9`,ꝷ:()=>`tf`,ꝸ:()=>`&`,ꝺ:()=>`Ꝺ`,ꞌ:()=>`'`,ꞏ:()=>`·`,ꞕ:()=>`ꜧ`,Ꞙ:()=>`F`,ꞙ:()=>`f`,Ꞛ:()=>hC,ꞛ:()=>mC,ꞝ:()=>`ʚ`,Ꞟ:()=>`ꓤ`,ꞟ:()=>`u`,Ɜ:()=>`3`,Ʇ:()=>`ꓕ`,Ʝ:()=>`J`,Ꭓ:()=>`X`,Ꞵ:()=>`B`,ꞵ:()=>`ß`,Ꞷ:()=>`Ꙍ`,ꞷ:()=>`ω`,ꟷ:()=>`ー`,ꥠ:()=>S_,ꥡ:()=>C_,ꥢ:()=>T_,ꥣ:()=>O_,ꥤ:()=>M_,ꥥ:()=>F_,ꥦ:()=>H_,ꥧ:()=>G_,ꥨ:()=>X_,ꥩ:()=>nv,ꥪ:()=>ov,ꥫ:()=>lv,ꥬ:()=>pv,ꥭ:()=>yv,ꥮ:()=>bv,ꥯ:()=>Lv,ꥰ:()=>Vv,ꥱ:()=>Jv,ꥲ:()=>jy,ꥳ:()=>By,ꥴ:()=>Gy,ꥵ:()=>hb,ꥶ:()=>Mb,ꥷ:()=>Kb,ꥸ:()=>nx,ꥹ:()=>ax,ꥺ:()=>px,ꥻ:()=>vx,ꥼ:()=>kx,ꦒ:()=>`ⰿ`,ꦣ:()=>`ꦝ`,ꧏ:()=>`٢`,ꬲ:()=>`e`,ꬵ:()=>`f`,ꬽ:()=>`o`,ꬾ:()=>`o̸`,ꬿ:()=>$t,ꭁ:()=>zt,ꭂ:()=>Bt,ꭇ:()=>`r`,ꭈ:()=>`r`,ꭍ:()=>`ʃ`,ꭎ:()=>`u`,ꭒ:()=>`u`,ꭓ:()=>`χ`,ꭕ:()=>`χ`,ꭚ:()=>`y`,ꭠ:()=>`љ`,ꭢ:()=>`ɔe`,ꭣ:()=>`uo`,ꭰ:()=>`ᴅ`,ꭱ:()=>`ʀ`,ꭲ:()=>`ᴛ`,ꭴ:()=>`ơ`,ꭵ:()=>`i`,ꭺ:()=>`ᴀ`,ꭻ:()=>`ᴊ`,ꭼ:()=>`ᴇ`,ꭾ:()=>`ɂ`,ꮀ:()=>`ⱶ`,ꮁ:()=>`r`,ꮃ:()=>`w`,ꮇ:()=>`ʍ`,ꮋ:()=>`ʜ`,ꮎ:()=>`o̵`,ꮐ:()=>`ɢ`,ꮓ:()=>`z`,ꮛ:()=>`ꞓ`,ꮜ:()=>`u̵`,ꮟ:()=>`ƅ`,ꮢ:()=>`ʀ`,ꮩ:()=>`v`,ꮪ:()=>`s`,ꮮ:()=>`ʟ`,ꮯ:()=>`c`,ꮲ:()=>`ᴘ`,ꮶ:()=>`ĸ`,ꮻ:()=>`o̵`,ힰ:()=>iS,ힱ:()=>sS,ힲ:()=>dS,ힳ:()=>fS,ힴ:()=>vS,ힵ:()=>kS,ힶ:()=>PS,ힷ:()=>IS,ힸ:()=>US,ힹ:()=>kt,ힺ:()=>At,ힻ:()=>jt,ힼ:()=>Mt,ힽ:()=>CC,ힾ:()=>wC,ힿ:()=>TC,ퟀ:()=>EC,ퟁ:()=>OC,ퟂ:()=>kC,ퟃ:()=>jC,ퟄ:()=>NC,ퟅ:()=>qS,ퟆ:()=>YS,ퟋ:()=>$g,ퟌ:()=>s_,ퟍ:()=>v_,ퟎ:()=>y_,ퟏ:()=>w_,ퟐ:()=>E_,ퟑ:()=>D_,ퟒ:()=>k_,ퟓ:()=>A_,ퟔ:()=>j_,ퟕ:()=>I_,ퟖ:()=>z_,ퟗ:()=>Y_,ퟘ:()=>tv,ퟙ:()=>av,ퟚ:()=>dv,ퟛ:()=>Nv,ퟜ:()=>Iv,ퟝ:()=>vv,ퟞ:()=>zv,ퟟ:()=>Bv,ퟠ:()=>Uv,ퟡ:()=>qv,ퟢ:()=>ty,ퟣ:()=>dy,ퟤ:()=>py,ퟥ:()=>my,ퟦ:()=>_y,ퟧ:()=>Dy,ퟨ:()=>Ly,ퟩ:()=>zy,ퟪ:()=>ib,ퟫ:()=>lb,ퟬ:()=>pb,ퟭ:()=>mb,ퟮ:()=>Db,ퟯ:()=>bb,ퟰ:()=>Sb,ퟱ:()=>Tb,ퟲ:()=>Av,ퟳ:()=>Cx,ퟴ:()=>wx,ퟵ:()=>Tx,ퟶ:()=>Ex,ퟷ:()=>Xb,ퟸ:()=>Zb,ퟹ:()=>tx,ퟺ:()=>cx,ퟻ:()=>fx,豈:()=>`豈`,更:()=>`更`,車:()=>`車`,賈:()=>`賈`,滑:()=>`滑`,串:()=>`串`,句:()=>`句`,龜:()=>`龜`,龜:()=>`龜`,契:()=>`契`,金:()=>`金`,喇:()=>`喇`,奈:()=>`奈`,懶:()=>`懶`,癩:()=>`癩`,羅:()=>`羅`,蘿:()=>`蘿`,螺:()=>`螺`,裸:()=>`裸`,邏:()=>`邏`,樂:()=>`樂`,洛:()=>`洛`,烙:()=>`烙`,珞:()=>`珞`,落:()=>`落`,酪:()=>`酪`,駱:()=>`駱`,亂:()=>`亂`,卵:()=>`卵`,欄:()=>`欄`,爛:()=>`爛`,蘭:()=>`蘭`,鸞:()=>`鸞`,嵐:()=>`嵐`,濫:()=>`濫`,藍:()=>`藍`,襤:()=>`襤`,拉:()=>`拉`,臘:()=>`臘`,蠟:()=>`蠟`,廊:()=>`廊`,朗:()=>`朗`,浪:()=>`浪`,狼:()=>`狼`,郎:()=>`郎`,來:()=>`來`,冷:()=>`冷`,勞:()=>`勞`,擄:()=>`擄`,櫓:()=>`櫓`,爐:()=>`爐`,盧:()=>`盧`,老:()=>`老`,蘆:()=>`蘆`,虜:()=>`虜`,路:()=>`路`,露:()=>`露`,魯:()=>`魯`,鷺:()=>`鷺`,碌:()=>`碌`,祿:()=>`祿`,綠:()=>`綠`,菉:()=>`菉`,錄:()=>`錄`,鹿:()=>`鹿`,論:()=>`論`,壟:()=>`壟`,弄:()=>`弄`,籠:()=>`籠`,聾:()=>`聾`,牢:()=>`牢`,磊:()=>`磊`,賂:()=>`賂`,雷:()=>`雷`,壘:()=>`壘`,屢:()=>`屢`,樓:()=>`樓`,淚:()=>`淚`,漏:()=>`漏`,累:()=>`累`,縷:()=>`縷`,陋:()=>`陋`,勒:()=>`勒`,肋:()=>`肋`,凜:()=>`凜`,凌:()=>`凌`,稜:()=>`稜`,綾:()=>`綾`,菱:()=>`菱`,陵:()=>`陵`,讀:()=>`讀`,拏:()=>`拏`,樂:()=>`樂`,諾:()=>`諾`,丹:()=>`丹`,寧:()=>`寧`,怒:()=>`怒`,率:()=>`率`,異:()=>`異`,北:()=>`北`,磻:()=>`磻`,便:()=>`便`,復:()=>`復`,不:()=>`不`,泌:()=>`泌`,數:()=>`數`,索:()=>`索`,參:()=>`參`,塞:()=>`塞`,省:()=>`省`,葉:()=>`葉`,說:()=>`說`,殺:()=>`殺`,辰:()=>`辰`,沈:()=>`沈`,拾:()=>`拾`,若:()=>`若`,掠:()=>`掠`,略:()=>`略`,亮:()=>`亮`,兩:()=>`兩`,凉:()=>`凉`,梁:()=>`梁`,糧:()=>`糧`,良:()=>`良`,諒:()=>`諒`,量:()=>`量`,勵:()=>`勵`,呂:()=>`呂`,女:()=>`女`,廬:()=>`廬`,旅:()=>`旅`,濾:()=>`濾`,礪:()=>`礪`,閭:()=>`閭`,驪:()=>`驪`,麗:()=>`麗`,黎:()=>`黎`,力:()=>`力`,曆:()=>`曆`,歷:()=>`歷`,轢:()=>`轢`,年:()=>`年`,憐:()=>`憐`,戀:()=>`戀`,撚:()=>`撚`,漣:()=>`漣`,煉:()=>`煉`,璉:()=>`璉`,秊:()=>`秊`,練:()=>`練`,聯:()=>`聯`,輦:()=>`輦`,蓮:()=>`蓮`,連:()=>`連`,鍊:()=>`鍊`,列:()=>`列`,劣:()=>`劣`,咽:()=>`咽`,烈:()=>`烈`,裂:()=>`裂`,說:()=>`說`,廉:()=>`廉`,念:()=>`念`,捻:()=>`捻`,殮:()=>`殮`,簾:()=>`簾`,獵:()=>`獵`,令:()=>`令`,囹:()=>`囹`,寧:()=>`寧`,嶺:()=>`嶺`,怜:()=>`怜`,玲:()=>`玲`,瑩:()=>`瑩`,羚:()=>`羚`,聆:()=>`聆`,鈴:()=>`鈴`,零:()=>`零`,靈:()=>`靈`,領:()=>`領`,例:()=>`例`,禮:()=>`禮`,醴:()=>`醴`,隸:()=>`隷`,惡:()=>`惡`,了:()=>`了`,僚:()=>`僚`,寮:()=>`寮`,尿:()=>`尿`,料:()=>`料`,樂:()=>`樂`,燎:()=>`燎`,療:()=>`療`,蓼:()=>`蓼`,遼:()=>`遼`,龍:()=>`龍`,暈:()=>`暈`,阮:()=>`阮`,劉:()=>`劉`,杻:()=>`杻`,柳:()=>`柳`,流:()=>`流`,溜:()=>`溜`,琉:()=>`琉`,留:()=>`留`,硫:()=>`硫`,紐:()=>`紐`,類:()=>`類`,六:()=>`六`,戮:()=>`戮`,陸:()=>`陸`,倫:()=>`倫`,崙:()=>`崙`,淪:()=>`淪`,輪:()=>`輪`,律:()=>`律`,慄:()=>`慄`,栗:()=>`栗`,率:()=>`率`,隆:()=>`隆`,利:()=>`利`,吏:()=>`吏`,履:()=>`履`,易:()=>`易`,李:()=>`李`,梨:()=>`梨`,泥:()=>`泥`,理:()=>`理`,痢:()=>`痢`,罹:()=>`罹`,裏:()=>`裏`,裡:()=>`裡`,里:()=>`里`,離:()=>`離`,匿:()=>`匿`,溺:()=>`溺`,吝:()=>`吝`,燐:()=>`燐`,璘:()=>`璘`,藺:()=>`藺`,隣:()=>`隣`,鱗:()=>`鱗`,麟:()=>`麟`,林:()=>`林`,淋:()=>`淋`,臨:()=>`臨`,立:()=>`立`,笠:()=>`笠`,粒:()=>`粒`,狀:()=>`狀`,炙:()=>`炙`,識:()=>`識`,什:()=>`什`,茶:()=>`茶`,刺:()=>`刺`,切:()=>`切`,度:()=>`度`,拓:()=>`拓`,糖:()=>`糖`,宅:()=>`宅`,洞:()=>`洞`,暴:()=>`暴`,輻:()=>`輻`,行:()=>`行`,降:()=>`降`,見:()=>`見`,廓:()=>`廓`,兀:()=>`兀`,嗀:()=>`嗀`,塚:()=>`塚`,晴:()=>`晴`,凞:()=>`凞`,猪:()=>`猪`,益:()=>`益`,礼:()=>`礼`,神:()=>`神`,祥:()=>`祥`,福:()=>`福`,靖:()=>`靖`,精:()=>`精`,羽:()=>`羽`,蘒:()=>`蘒`,諸:()=>`諸`,逸:()=>`逸`,都:()=>`都`,飯:()=>`飯`,飼:()=>`飼`,館:()=>`館`,鶴:()=>`鶴`,郞:()=>`郎`,隷:()=>`隷`,侮:()=>`侮`,僧:()=>`僧`,免:()=>`免`,勉:()=>`勉`,勤:()=>`勤`,卑:()=>`卑`,喝:()=>`喝`,嘆:()=>`嘆`,器:()=>`器`,塀:()=>`塀`,墨:()=>`墨`,層:()=>`層`,屮:()=>`屮`,悔:()=>`悔`,慨:()=>`慨`,憎:()=>`憎`,懲:()=>`懲`,敏:()=>`敏`,既:()=>`既`,暑:()=>`暑`,梅:()=>`梅`,海:()=>`海`,渚:()=>`渚`,漢:()=>`漢`,煮:()=>`煮`,爫:()=>`爫`,琢:()=>`琢`,碑:()=>`碑`,社:()=>`社`,祉:()=>`祉`,祈:()=>`祈`,祐:()=>`祐`,祖:()=>`祖`,祝:()=>`祝`,禍:()=>`禍`,禎:()=>`禎`,穀:()=>`穀`,突:()=>`突`,節:()=>`節`,練:()=>`練`,縉:()=>`縉`,繁:()=>`繁`,署:()=>`署`,者:()=>`者`,臭:()=>`臭`,艹:()=>`艹`,艹:()=>`艹`,著:()=>`著`,褐:()=>`褐`,視:()=>`視`,謁:()=>`謁`,謹:()=>`謹`,賓:()=>`賓`,贈:()=>`贈`,辶:()=>`辶`,逸:()=>`逸`,難:()=>`難`,響:()=>`響`,頻:()=>`頻`,恵:()=>`恵`,𤋮:()=>ww,舘:()=>`舘`,並:()=>`並`,况:()=>`况`,全:()=>`全`,侀:()=>`侀`,充:()=>`充`,冀:()=>`冀`,勇:()=>`勇`,勺:()=>`勺`,喝:()=>`喝`,啕:()=>`啕`,喙:()=>`喙`,嗢:()=>`嗢`,塚:()=>`塚`,墳:()=>`墳`,奄:()=>`奄`,奔:()=>`奔`,婢:()=>`婢`,嬨:()=>`嬨`,廒:()=>`廒`,廙:()=>`廙`,彩:()=>`彩`,徭:()=>`徭`,惘:()=>`惘`,慎:()=>`慎`,愈:()=>`愈`,憎:()=>`憎`,慠:()=>`慠`,懲:()=>`懲`,戴:()=>`戴`,揄:()=>`揄`,搜:()=>`搜`,摒:()=>`摒`,敖:()=>`敖`,晴:()=>`晴`,朗:()=>`朗`,望:()=>`望`,杖:()=>`杖`,歹:()=>`歹`,殺:()=>`殺`,流:()=>`流`,滛:()=>`滛`,滋:()=>`滋`,漢:()=>`漢`,瀞:()=>`瀞`,煮:()=>`煮`,瞧:()=>`瞧`,爵:()=>`爵`,犯:()=>`犯`,猪:()=>`猪`,瑱:()=>`瑱`,甆:()=>`甆`,画:()=>`画`,瘝:()=>`瘝`,瘟:()=>`瘟`,益:()=>`益`,盛:()=>`盛`,直:()=>`直`,睊:()=>`睊`,着:()=>`着`,磌:()=>`磌`,窱:()=>`窱`,節:()=>`節`,类:()=>`类`,絛:()=>`絛`,練:()=>`練`,缾:()=>`缾`,者:()=>`者`,荒:()=>`荒`,華:()=>`華`,蝹:()=>`蝹`,襁:()=>`襁`,覆:()=>`覆`,視:()=>`視`,調:()=>`調`,諸:()=>`諸`,請:()=>`請`,謁:()=>`謁`,諾:()=>`諾`,諭:()=>`諭`,謹:()=>`謹`,變:()=>`變`,贈:()=>`贈`,輸:()=>`輸`,遲:()=>`遲`,醙:()=>`醙`,鉶:()=>`鉶`,陼:()=>`陼`,難:()=>`難`,靖:()=>`靖`,韛:()=>`韛`,響:()=>`響`,頋:()=>`頋`,頻:()=>`頻`,鬒:()=>`鬒`,龜:()=>`龜`,𢡊:()=>rw,𢡄:()=>nw,𣏕:()=>fw,㮝:()=>`㮝`,䀘:()=>`䀘`,䀹:()=>`䀹`,𥉉:()=>Rw,𥳐:()=>Jw,𧻓:()=>vT,齃:()=>`齃`,龎:()=>`龎`,ff:()=>`ff`,fi:()=>`fi`,fl:()=>`fl`,ffi:()=>`ffi`,ffl:()=>`ffl`,st:()=>`st`,ﬓ:()=>An,ﬔ:()=>Dn,ﬕ:()=>On,ﬖ:()=>Mn,ﬗ:()=>kn,ﬠ:()=>`ע`,ﬡ:()=>`א`,ﬢ:()=>`ד`,ﬣ:()=>`ה`,ﬤ:()=>`כ`,ﬥ:()=>`ל`,ﬦ:()=>`ם`,ﬧ:()=>`ר`,ﬨ:()=>`ת`,שׂ:()=>`שׁ`,שּׂ:()=>`שּׁ`,אָ:()=>`אַ`,אּ:()=>`אַ`,יּ:()=>`יִ`,שּ:()=>`שׁ`,ﭏ:()=>Nn,ﭐ:()=>`ٱ`,ﭑ:()=>`ٱ`,ﭒ:()=>`ٻ`,ﭓ:()=>`ٻ`,ﭔ:()=>`ٻ`,ﭕ:()=>`ٻ`,ﭖ:()=>cd,ﭗ:()=>sd,ﭘ:()=>ad,ﭙ:()=>od,ﭚ:()=>`ڀ`,ﭛ:()=>`ڀ`,ﭜ:()=>`ڀ`,ﭝ:()=>`ڀ`,ﭞ:()=>`ٺ`,ﭟ:()=>`ٺ`,ﭠ:()=>`ٺ`,ﭡ:()=>`ٺ`,ﭢ:()=>`ٿ`,ﭣ:()=>`ٿ`,ﭤ:()=>`ٿ`,ﭥ:()=>`ٿ`,ﭦ:()=>Qu,ﭧ:()=>Zu,ﭨ:()=>Yu,ﭩ:()=>Xu,ﭪ:()=>nc,ﭫ:()=>tc,ﭬ:()=>$s,ﭭ:()=>ec,ﭮ:()=>`ڦ`,ﭯ:()=>`ڦ`,ﭰ:()=>`ڦ`,ﭱ:()=>`ڦ`,ﭲ:()=>`ڄ`,ﭳ:()=>`ڄ`,ﭴ:()=>`ڄ`,ﭵ:()=>`ڄ`,ﭶ:()=>`ڃ`,ﭷ:()=>`ڃ`,ﭸ:()=>`ڃ`,ﭹ:()=>`ڃ`,ﭺ:()=>`چ`,ﭻ:()=>`چ`,ﭼ:()=>`چ`,ﭽ:()=>`چ`,ﭾ:()=>`ڇ`,ﭿ:()=>`ڇ`,ﮀ:()=>`ڇ`,ﮁ:()=>`ڇ`,ﮂ:()=>`ڍ`,ﮃ:()=>`ڍ`,ﮄ:()=>`ڌ`,ﮅ:()=>`ڌ`,ﮆ:()=>wi,ﮇ:()=>Ci,ﮈ:()=>xi,ﮉ:()=>bi,ﮊ:()=>Pi,ﮋ:()=>Ni,ﮌ:()=>ji,ﮍ:()=>Ai,ﮎ:()=>`ك`,ﮏ:()=>`ك`,ﮐ:()=>`ك`,ﮑ:()=>`ك`,ﮒ:()=>`گ`,ﮓ:()=>`گ`,ﮔ:()=>`گ`,ﮕ:()=>`گ`,ﮖ:()=>`ڳ`,ﮗ:()=>`ڳ`,ﮘ:()=>`ڳ`,ﮙ:()=>`ڳ`,ﮚ:()=>`ڱ`,ﮛ:()=>`ڱ`,ﮜ:()=>`ڱ`,ﮝ:()=>`ڱ`,ﮞ:()=>`ى`,ﮟ:()=>`ى`,ﮠ:()=>rd,ﮡ:()=>nd,ﮢ:()=>ed,ﮣ:()=>td,ﮤ:()=>`ۀ`,ﮥ:()=>`ۀ`,ﮦ:()=>`o`,ﮧ:()=>`o`,ﮨ:()=>`o`,ﮩ:()=>`o`,ﮪ:()=>`o`,ﮫ:()=>`o`,ﮬ:()=>`o`,ﮭ:()=>`o`,ﮮ:()=>`ى`,ﮯ:()=>`ى`,ﮰ:()=>`ۓ`,ﮱ:()=>`ۓ`,ﯓ:()=>Sc,ﯔ:()=>xc,ﯕ:()=>yc,ﯖ:()=>bc,ﯗ:()=>ju,ﯘ:()=>Au,ﯙ:()=>Pu,ﯚ:()=>Nu,ﯛ:()=>Bu,ﯜ:()=>zu,ﯝ:()=>Ku,ﯞ:()=>Ou,ﯟ:()=>Du,ﯠ:()=>`ۅ`,ﯡ:()=>`ۅ`,ﯢ:()=>Lu,ﯣ:()=>Iu,ﯤ:()=>`ٻ`,ﯥ:()=>`ٻ`,ﯦ:()=>`ٻ`,ﯧ:()=>`ٻ`,ﯨ:()=>`ى`,ﯩ:()=>`ى`,ﯪ:()=>Rd,ﯫ:()=>Ld,ﯬ:()=>Hd,ﯭ:()=>Vd,ﯮ:()=>of,ﯯ:()=>af,ﯰ:()=>cf,ﯱ:()=>sf,ﯲ:()=>uf,ﯳ:()=>lf,ﯴ:()=>ff,ﯵ:()=>df,ﯶ:()=>Gd,ﯷ:()=>Wd,ﯸ:()=>Ud,ﯹ:()=>gf,ﯺ:()=>mf,ﯻ:()=>pf,ﯼ:()=>`ى`,ﯽ:()=>`ى`,ﯾ:()=>`ى`,ﯿ:()=>`ى`,ﰀ:()=>qd,ﰁ:()=>Yd,ﰂ:()=>nf,ﰃ:()=>_f,ﰄ:()=>yf,ﰅ:()=>Rn,ﰆ:()=>Bn,ﰇ:()=>Un,ﰈ:()=>Qn,ﰉ:()=>tr,ﰊ:()=>rr,ﰋ:()=>ar,ﰌ:()=>ur,ﰍ:()=>hr,ﰎ:()=>wr,ﰏ:()=>Mr,ﰐ:()=>Pr,ﰑ:()=>Sf,ﰒ:()=>Bf,ﰓ:()=>Zf,ﰔ:()=>$f,ﰕ:()=>Ir,ﰖ:()=>Vr,ﰗ:()=>ei,ﰘ:()=>ri,ﰙ:()=>di,ﰚ:()=>fi,ﰛ:()=>mi,ﰜ:()=>aa,ﰝ:()=>ha,ﰞ:()=>Ea,ﰟ:()=>za,ﰠ:()=>uo,ﰡ:()=>Co,ﰢ:()=>jo,ﰣ:()=>No,ﰤ:()=>Lo,ﰥ:()=>Uo,ﰦ:()=>Xo,ﰧ:()=>$o,ﰨ:()=>us,ﰩ:()=>fs,ﰪ:()=>_s,ﰫ:()=>Ds,ﰬ:()=>ks,ﰭ:()=>Rs,ﰮ:()=>Bs,ﰯ:()=>Hs,ﰰ:()=>Ks,ﰱ:()=>Ys,ﰲ:()=>Zs,ﰳ:()=>oc,ﰴ:()=>lc,ﰵ:()=>hc,ﰶ:()=>_c,ﰷ:()=>`كl`,ﰸ:()=>Tc,ﰹ:()=>Dc,ﰺ:()=>kc,ﰻ:()=>Nc,ﰼ:()=>Lc,ﰽ:()=>Hc,ﰾ:()=>Wc,ﰿ:()=>tl,ﱀ:()=>cl,ﱁ:()=>ml,ﱂ:()=>bl,ﱃ:()=>Tl,ﱄ:()=>Dl,ﱅ:()=>Al,ﱆ:()=>Il,ﱇ:()=>Hl,ﱈ:()=>Jl,ﱉ:()=>Xl,ﱊ:()=>Zl,ﱋ:()=>Gn,ﱌ:()=>su,ﱍ:()=>fu,ﱎ:()=>vu,ﱏ:()=>Cu,ﱐ:()=>Tu,ﱑ:()=>`oج`,ﱒ:()=>`oم`,ﱓ:()=>`oى`,ﱔ:()=>`oى`,ﱕ:()=>xf,ﱖ:()=>Tf,ﱗ:()=>Of,ﱘ:()=>If,ﱙ:()=>qf,ﱚ:()=>Yf,ﱛ:()=>Di,ﱜ:()=>zi,ﱝ:()=>kd,ﱞ:()=>f,ﱟ:()=>p,ﱠ:()=>h,ﱡ:()=>_,ﱢ:()=>y,ﱣ:()=>b,ﱤ:()=>Zd,ﱥ:()=>Qd,ﱦ:()=>tf,ﱧ:()=>rf,ﱨ:()=>hf,ﱩ:()=>vf,ﱪ:()=>qn,ﱫ:()=>Jn,ﱬ:()=>Zn,ﱭ:()=>$n,ﱮ:()=>er,ﱯ:()=>nr,ﱰ:()=>yr,ﱱ:()=>br,ﱲ:()=>Cr,ﱳ:()=>Ar,ﱴ:()=>jr,ﱵ:()=>Nr,ﱶ:()=>Af,ﱷ:()=>Mf,ﱸ:()=>zf,ﱹ:()=>Gf,ﱺ:()=>Xf,ﱻ:()=>Qf,ﱼ:()=>Js,ﱽ:()=>Xs,ﱾ:()=>mc,ﱿ:()=>gc,ﲀ:()=>`كl`,ﲁ:()=>Mc,ﲂ:()=>Ic,ﲃ:()=>Vc,ﲄ:()=>Uc,ﲅ:()=>yl,ﲆ:()=>wl,ﲇ:()=>El,ﲈ:()=>`مl`,ﲉ:()=>ql,ﲊ:()=>pu,ﲋ:()=>mu,ﲌ:()=>_u,ﲍ:()=>xu,ﲎ:()=>Su,ﲏ:()=>wu,ﲐ:()=>Od,ﲑ:()=>kf,ﲒ:()=>jf,ﲓ:()=>Ff,ﲔ:()=>Wf,ﲕ:()=>Kf,ﲖ:()=>Jf,ﲗ:()=>Kd,ﲘ:()=>Jd,ﲙ:()=>Xd,ﲚ:()=>$d,ﲛ:()=>zd,ﲜ:()=>Ln,ﲝ:()=>zn,ﲞ:()=>Hn,ﲟ:()=>Yn,ﲠ:()=>`بo`,ﲡ:()=>ir,ﲢ:()=>lr,ﲣ:()=>mr,ﲤ:()=>xr,ﲥ:()=>`تo`,ﲦ:()=>Lf,ﲧ:()=>Fr,ﲨ:()=>Br,ﲩ:()=>$r,ﲪ:()=>ni,ﲫ:()=>ui,ﲬ:()=>pi,ﲭ:()=>ra,ﲮ:()=>pa,ﲯ:()=>wa,ﲰ:()=>La,ﲱ:()=>lo,ﲲ:()=>ho,ﲳ:()=>So,ﲴ:()=>Ao,ﲵ:()=>Mo,ﲶ:()=>Io,ﲷ:()=>Ho,ﲸ:()=>Yo,ﲹ:()=>cs,ﲺ:()=>ds,ﲻ:()=>gs,ﲼ:()=>Es,ﲽ:()=>Os,ﲾ:()=>Ls,ﲿ:()=>zs,ﳀ:()=>Vs,ﳁ:()=>Gs,ﳂ:()=>ac,ﳃ:()=>cc,ﳄ:()=>wc,ﳅ:()=>Ec,ﳆ:()=>Oc,ﳇ:()=>Ac,ﳈ:()=>Pc,ﳉ:()=>el,ﳊ:()=>sl,ﳋ:()=>pl,ﳌ:()=>_l,ﳍ:()=>`لo`,ﳎ:()=>kl,ﳏ:()=>Fl,ﳐ:()=>Vl,ﳑ:()=>Kl,ﳒ:()=>Wn,ﳓ:()=>ou,ﳔ:()=>du,ﳕ:()=>hu,ﳖ:()=>`نo`,ﳗ:()=>`oج`,ﳘ:()=>`oم`,ﳙ:()=>`oٰ`,ﳚ:()=>bf,ﳛ:()=>wf,ﳜ:()=>Df,ﳝ:()=>Nf,ﳞ:()=>`ىo`,ﳟ:()=>ef,ﳠ:()=>Bd,ﳡ:()=>Xn,ﳢ:()=>`بo`,ﳣ:()=>Sr,ﳤ:()=>`تo`,ﳥ:()=>Rf,ﳦ:()=>Ad,ﳧ:()=>Ra,ﳨ:()=>`سo`,ﳩ:()=>Va,ﳪ:()=>na,ﳫ:()=>jc,ﳬ:()=>Fc,ﳭ:()=>vl,ﳮ:()=>gu,ﳯ:()=>`نo`,ﳰ:()=>Pf,ﳱ:()=>`ىo`,ﳲ:()=>m,ﳳ:()=>g,ﳴ:()=>v,ﳵ:()=>as,ﳶ:()=>ss,ﳷ:()=>Cs,ﳸ:()=>Ts,ﳹ:()=>Ps,ﳺ:()=>Is,ﳻ:()=>eo,ﳼ:()=>no,ﳽ:()=>io,ﳾ:()=>oo,ﳿ:()=>si,ﴀ:()=>li,ﴁ:()=>qr,ﴂ:()=>Yr,ﴃ:()=>gi,ﴄ:()=>vi,ﴅ:()=>Do,ﴆ:()=>ko,ﴇ:()=>Go,ﴈ:()=>qo,ﴉ:()=>la,ﴊ:()=>ya,ﴋ:()=>Aa,ﴌ:()=>Ua,ﴍ:()=>Ia,ﴎ:()=>Pa,ﴏ:()=>_o,ﴐ:()=>Vo,ﴑ:()=>is,ﴒ:()=>os,ﴓ:()=>Ss,ﴔ:()=>ws,ﴕ:()=>Ns,ﴖ:()=>Fs,ﴗ:()=>$a,ﴘ:()=>to,ﴙ:()=>ro,ﴚ:()=>ao,ﴛ:()=>oi,ﴜ:()=>ci,ﴝ:()=>Kr,ﴞ:()=>Jr,ﴟ:()=>hi,ﴠ:()=>_i,ﴡ:()=>Eo,ﴢ:()=>Oo,ﴣ:()=>Wo,ﴤ:()=>Ko,ﴥ:()=>ca,ﴦ:()=>va,ﴧ:()=>ka,ﴨ:()=>Ha,ﴩ:()=>Fa,ﴪ:()=>Na,ﴫ:()=>go,ﴬ:()=>Bo,ﴭ:()=>oa,ﴮ:()=>ga,ﴯ:()=>Da,ﴰ:()=>Ba,ﴱ:()=>`سo`,ﴲ:()=>ta,ﴳ:()=>Zo,ﴴ:()=>ia,ﴵ:()=>ma,ﴶ:()=>Ta,ﴷ:()=>sa,ﴸ:()=>_a,ﴹ:()=>Oa,ﴺ:()=>Qo,ﴻ:()=>ls,ﴼ:()=>`l̋`,ﴽ:()=>`l̋`,ﵐ:()=>or,ﵑ:()=>fr,ﵒ:()=>dr,ﵓ:()=>pr,ﵔ:()=>gr,ﵕ:()=>Tr,ﵖ:()=>Er,ﵗ:()=>Dr,ﵘ:()=>Ur,ﵙ:()=>Hr,ﵚ:()=>ai,ﵛ:()=>ii,ﵜ:()=>ba,ﵝ:()=>ua,ﵞ:()=>da,ﵟ:()=>Ka,ﵠ:()=>Ga,ﵡ:()=>Wa,ﵢ:()=>Xa,ﵣ:()=>Ya,ﵤ:()=>po,ﵥ:()=>fo,ﵦ:()=>To,ﵧ:()=>Sa,ﵨ:()=>xa,ﵩ:()=>fa,ﵪ:()=>Ja,ﵫ:()=>qa,ﵬ:()=>Qa,ﵭ:()=>Za,ﵮ:()=>Po,ﵯ:()=>zo,ﵰ:()=>Ro,ﵱ:()=>ts,ﵲ:()=>es,ﵳ:()=>ns,ﵴ:()=>rs,ﵵ:()=>ms,ﵶ:()=>ys,ﵷ:()=>vs,ﵸ:()=>bs,ﵹ:()=>As,ﵺ:()=>Ms,ﵻ:()=>js,ﵼ:()=>Ws,ﵽ:()=>Us,ﵾ:()=>dc,ﵿ:()=>fc,ﶀ:()=>ul,ﶁ:()=>fl,ﶂ:()=>dl,ﶃ:()=>nl,ﶄ:()=>rl,ﶅ:()=>gl,ﶆ:()=>hl,ﶇ:()=>Sl,ﶈ:()=>xl,ﶉ:()=>Ll,ﶊ:()=>Rl,ﶋ:()=>Bl,ﶌ:()=>jl,ﶍ:()=>Nl,ﶎ:()=>Ul,ﶏ:()=>Wl,ﶒ:()=>Ml,ﶓ:()=>Yt,ﶔ:()=>Xt,ﶕ:()=>cu,ﶖ:()=>lu,ﶗ:()=>ru,ﶘ:()=>nu,ﶙ:()=>iu,ﶚ:()=>bu,ﶛ:()=>yu,ﶜ:()=>Hf,ﶝ:()=>Vf,ﶞ:()=>Kn,ﶟ:()=>cr,ﶠ:()=>sr,ﶡ:()=>vr,ﶢ:()=>_r,ﶣ:()=>kr,ﶤ:()=>Or,ﶥ:()=>Gr,ﶦ:()=>Lr,ﶧ:()=>Wr,ﶨ:()=>ja,ﶩ:()=>mo,ﶪ:()=>Ca,ﶫ:()=>Fo,ﶬ:()=>ol,ﶭ:()=>Cl,ﶮ:()=>Ef,ﶯ:()=>Cf,ﶰ:()=>Uf,ﶱ:()=>Yl,ﶲ:()=>pc,ﶳ:()=>uu,ﶴ:()=>uc,ﶵ:()=>ll,ﶶ:()=>xs,ﶷ:()=>Bc,ﶸ:()=>eu,ﶹ:()=>Gl,ﶺ:()=>il,ﶻ:()=>zc,ﶼ:()=>al,ﶽ:()=>tu,ﶾ:()=>Rr,ﶿ:()=>ti,ﷀ:()=>Pl,ﷁ:()=>qs,ﷂ:()=>Vn,ﷃ:()=>Rc,ﷄ:()=>ps,ﷅ:()=>wo,ﷆ:()=>Ma,ﷇ:()=>au,ﷰ:()=>bo,ﷱ:()=>sc,ﷲ:()=>Kt,ﷳ:()=>Gt,ﷴ:()=>zl,ﷵ:()=>vo,ﷶ:()=>Bi,ﷷ:()=>hs,ﷸ:()=>qu,ﷹ:()=>yo,ﷺ:()=>xo,ﷻ:()=>zr,ﺀ:()=>`ء`,ﺁ:()=>`آ`,ﺂ:()=>`آ`,ﺃ:()=>`lٴ`,ﺄ:()=>`lٴ`,ﺅ:()=>Uu,ﺆ:()=>Hu,ﺇ:()=>`lٕ`,ﺈ:()=>`lٕ`,ﺉ:()=>Fd,ﺊ:()=>Pd,ﺋ:()=>Md,ﺌ:()=>Nd,ﺍ:()=>`l`,ﺎ:()=>`l`,ﺏ:()=>`ب`,ﺐ:()=>`ب`,ﺑ:()=>`ب`,ﺒ:()=>`ب`,ﺓ:()=>`ة`,ﺔ:()=>`ة`,ﺕ:()=>`ت`,ﺖ:()=>`ت`,ﺗ:()=>`ت`,ﺘ:()=>`ت`,ﺙ:()=>vd,ﺚ:()=>_d,ﺛ:()=>hd,ﺜ:()=>gd,ﺝ:()=>`ج`,ﺞ:()=>`ج`,ﺟ:()=>`ج`,ﺠ:()=>`ج`,ﺡ:()=>`ح`,ﺢ:()=>`ح`,ﺣ:()=>`ح`,ﺤ:()=>`ح`,ﺥ:()=>`خ`,ﺦ:()=>`خ`,ﺧ:()=>`خ`,ﺨ:()=>`خ`,ﺩ:()=>`د`,ﺪ:()=>`د`,ﺫ:()=>`ذ`,ﺬ:()=>`ذ`,ﺭ:()=>`ر`,ﺮ:()=>`ر`,ﺯ:()=>`ز`,ﺰ:()=>`ز`,ﺱ:()=>`س`,ﺲ:()=>`س`,ﺳ:()=>`س`,ﺴ:()=>`س`,ﺵ:()=>$i,ﺶ:()=>Qi,ﺷ:()=>Xi,ﺸ:()=>Zi,ﺹ:()=>`ص`,ﺺ:()=>`ص`,ﺻ:()=>`ص`,ﺼ:()=>`ص`,ﺽ:()=>`ض`,ﺾ:()=>`ض`,ﺿ:()=>`ض`,ﻀ:()=>`ض`,ﻁ:()=>`ط`,ﻂ:()=>`ط`,ﻃ:()=>`ط`,ﻄ:()=>`ط`,ﻅ:()=>`ظ`,ﻆ:()=>`ظ`,ﻇ:()=>`ظ`,ﻈ:()=>`ظ`,ﻉ:()=>`ع`,ﻊ:()=>`ع`,ﻋ:()=>`ع`,ﻌ:()=>`ع`,ﻍ:()=>`غ`,ﻎ:()=>`غ`,ﻏ:()=>`غ`,ﻐ:()=>`غ`,ﻑ:()=>`ف`,ﻒ:()=>`ف`,ﻓ:()=>`ف`,ﻔ:()=>`ف`,ﻕ:()=>`ق`,ﻖ:()=>`ق`,ﻗ:()=>`ق`,ﻘ:()=>`ق`,ﻙ:()=>`ك`,ﻚ:()=>`ك`,ﻛ:()=>`ك`,ﻜ:()=>`ك`,ﻝ:()=>`ل`,ﻞ:()=>`ل`,ﻟ:()=>`ل`,ﻠ:()=>`ل`,ﻡ:()=>`م`,ﻢ:()=>`م`,ﻣ:()=>`م`,ﻤ:()=>`م`,ﻥ:()=>`ن`,ﻦ:()=>`ن`,ﻧ:()=>`ن`,ﻨ:()=>`ن`,ﻩ:()=>`o`,ﻪ:()=>`o`,ﻫ:()=>`o`,ﻬ:()=>`o`,ﻭ:()=>`و`,ﻮ:()=>`و`,ﻯ:()=>`ى`,ﻰ:()=>`ى`,ﻱ:()=>`ى`,ﻲ:()=>`ى`,ﻳ:()=>`ى`,ﻴ:()=>`ى`,ﻵ:()=>$c,ﻶ:()=>Qc,ﻷ:()=>Zc,ﻸ:()=>Xc,ﻹ:()=>Yc,ﻺ:()=>Jc,ﻻ:()=>`لl`,ﻼ:()=>`لl`,A:()=>`A`,B:()=>`B`,C:()=>`C`,E:()=>`E`,H:()=>`H`,I:()=>`l`,J:()=>`J`,K:()=>`K`,M:()=>`M`,N:()=>`N`,O:()=>`O`,P:()=>`P`,S:()=>`S`,T:()=>`T`,X:()=>`X`,Y:()=>`Y`,Z:()=>`Z`,a:()=>`a`,c:()=>`c`,e:()=>`e`,g:()=>`g`,h:()=>`h`,i:()=>`i`,j:()=>`j`,l:()=>`l`,o:()=>`o`,p:()=>`p`,s:()=>`s`,v:()=>`v`,x:()=>`x`,y:()=>`y`,𐊂:()=>`B`,𐊅:()=>`Δ`,𐊆:()=>`E`,𐊇:()=>`F`,𐊊:()=>`l`,𐊍:()=>`Ʌ`,𐊐:()=>`X`,𐊒:()=>`O`,𐊔:()=>`ᛜ`,𐊕:()=>`P`,𐊖:()=>`S`,𐊗:()=>`T`,𐊛:()=>`+`,𐊠:()=>`A`,𐊡:()=>`B`,𐊢:()=>`C`,𐊣:()=>`Δ`,𐊥:()=>`F`,𐊫:()=>`O`,𐊭:()=>`Ϙ`,𐊰:()=>`M`,𐊱:()=>`T`,𐊲:()=>`Y`,𐊳:()=>`Φ`,𐊴:()=>`X`,𐊵:()=>`Ψ`,𐊶:()=>`Ω`,𐊸:()=>`ⵀ`,𐋏:()=>`H`,𐌁:()=>`B`,𐌂:()=>`C`,𐌉:()=>`l`,𐌑:()=>`M`,𐌒:()=>`Ϙ`,𐌕:()=>`T`,𐌗:()=>`X`,𐌚:()=>`8`,𐌟:()=>`*`,𐏑:()=>gC,𐏓:()=>_C,𐐁:()=>`Ɛ`,𐐄:()=>`O`,𐐑:()=>`ꓶ`,𐐕:()=>`C`,𐐛:()=>`L`,𐐟:()=>`Ɒ`,𐐠:()=>`S`,𐐣:()=>`Ɔ`,𐐥:()=>`И`,𐐩:()=>`ꞓ`,𐐪:()=>`ʚ`,𐐬:()=>`o`,𐐽:()=>`c`,𐐿:()=>`ɷ`,𐑂:()=>`ɞ`,𐑃:()=>`ʟ`,𐑈:()=>`s`,𐑋:()=>`ɔ`,𐑍:()=>`ᴎ`,𐒰:()=>`Ʌ`,𐒴:()=>`R`,𐒼:()=>`Ӄ`,𐓂:()=>`O`,𐓃:()=>`ʘ`,𐓄:()=>`Þ`,𐓍:()=>`Ћ`,𐓎:()=>`U`,𐓐:()=>`ᛦ`,𐓑:()=>`Ψ`,𐓒:()=>`7`,𐓘:()=>`ʌ`,𐓛:()=>`λ`,𐓪:()=>`o`,𐓫:()=>`ꙩ`,𐓶:()=>`u`,𐓹:()=>`ψ`,𐔓:()=>`N`,𐔖:()=>`O`,𐔘:()=>`K`,𐔜:()=>`C`,𐔝:()=>`V`,𐔥:()=>`F`,𐔦:()=>`L`,𐔧:()=>`X`,𑇜:()=>`ꣻ`,𑐓:()=>em,𑐙:()=>tm,𑐤:()=>nm,𑐪:()=>rm,𑐭:()=>im,𑐯:()=>am,𑒒:()=>`ঘ`,𑒔:()=>`চ`,𑒖:()=>`জ`,𑒘:()=>`ঞ`,𑒙:()=>`ট`,𑒛:()=>`ড`,𑒝:()=>`ল`,𑒞:()=>`ত`,𑒟:()=>`থ`,𑒠:()=>`দ`,𑒡:()=>`ধ`,𑒢:()=>`ন`,𑒣:()=>`প`,𑒧:()=>`ম`,𑒨:()=>`য`,𑒩:()=>`ব`,𑒪:()=>`ণ`,𑒫:()=>`র`,𑒭:()=>`ষ`,𑒮:()=>`স`,𑓄:()=>`ঽ`,𑓅:()=>`ẇ`,𑗘:()=>om,𑗙:()=>sm,𑗚:()=>cm,𑗛:()=>lm,𑜀:()=>`rn`,𑜆:()=>`v`,𑜊:()=>`w`,𑜎:()=>`w`,𑜏:()=>`w`,𑢠:()=>`V`,𑢢:()=>`F`,𑢣:()=>`L`,𑢤:()=>`Y`,𑢦:()=>`E`,𑢨:()=>`∇`,𑢩:()=>`Z`,𑢬:()=>`9`,𑢮:()=>`E`,𑢯:()=>`4`,𑢲:()=>`L`,𑢵:()=>`O`,𑢷:()=>`ᛜ`,𑢸:()=>`U`,𑢻:()=>`5`,𑢼:()=>`T`,𑣀:()=>`v`,𑣁:()=>`s`,𑣂:()=>`F`,𑣃:()=>`i`,𑣄:()=>`z`,𑣆:()=>`7`,𑣈:()=>`o`,𑣊:()=>`3`,𑣌:()=>`9`,𑣎:()=>`ꞓ`,𑣕:()=>`6`,𑣖:()=>`9`,𑣗:()=>`o`,𑣘:()=>`u`,𑣜:()=>`y`,𑫦:()=>eC,𑫧:()=>iC,𑫨:()=>tC,𑫩:()=>nC,𑫪:()=>rC,𑫬:()=>uC,𑫭:()=>dC,𑫮:()=>fC,𑫴:()=>aC,𑫵:()=>lC,𑫶:()=>oC,𑫷:()=>sC,𑫸:()=>cC,𒀸:()=>vC,𓋹:()=>yC,𖼇:()=>`Γ`,𖼈:()=>`V`,𖼊:()=>`T`,𖼖:()=>`L`,𖼚:()=>`Δ`,𖼜:()=>`Ꙙ`,𖼦:()=>`ꓶ`,𖼨:()=>`l`,𖼭:()=>`Ɛ`,𖼵:()=>`R`,𖼺:()=>`S`,𖼻:()=>`3`,𖼽:()=>`Ʌ`,𖼿:()=>`>`,𖽀:()=>`A`,𖽂:()=>`U`,𖽃:()=>`Y`,𝐀:()=>`A`,𝐁:()=>`B`,𝐂:()=>`C`,𝐃:()=>`D`,𝐄:()=>`E`,𝐅:()=>`F`,𝐆:()=>`G`,𝐇:()=>`H`,𝐈:()=>`l`,𝐉:()=>`J`,𝐊:()=>`K`,𝐋:()=>`L`,𝐌:()=>`M`,𝐍:()=>`N`,𝐎:()=>`O`,𝐏:()=>`P`,𝐐:()=>`Q`,𝐑:()=>`R`,𝐒:()=>`S`,𝐓:()=>`T`,𝐔:()=>`U`,𝐕:()=>`V`,𝐖:()=>`W`,𝐗:()=>`X`,𝐘:()=>`Y`,𝐙:()=>`Z`,𝐚:()=>`a`,𝐛:()=>`b`,𝐜:()=>`c`,𝐝:()=>`d`,𝐞:()=>`e`,𝐟:()=>`f`,𝐠:()=>`g`,𝐡:()=>`h`,𝐢:()=>`i`,𝐣:()=>`j`,𝐤:()=>`k`,𝐥:()=>`l`,𝐦:()=>`rn`,𝐧:()=>`n`,𝐨:()=>`o`,𝐩:()=>`p`,𝐪:()=>`q`,𝐫:()=>`r`,𝐬:()=>`s`,𝐭:()=>`t`,𝐮:()=>`u`,𝐯:()=>`v`,𝐰:()=>`w`,𝐱:()=>`x`,𝐲:()=>`y`,𝐳:()=>`z`,𝐴:()=>`A`,𝐵:()=>`B`,𝐶:()=>`C`,𝐷:()=>`D`,𝐸:()=>`E`,𝐹:()=>`F`,𝐺:()=>`G`,𝐻:()=>`H`,𝐼:()=>`l`,𝐽:()=>`J`,𝐾:()=>`K`,𝐿:()=>`L`,𝑀:()=>`M`,𝑁:()=>`N`,𝑂:()=>`O`,𝑃:()=>`P`,𝑄:()=>`Q`,𝑅:()=>`R`,𝑆:()=>`S`,𝑇:()=>`T`,𝑈:()=>`U`,𝑉:()=>`V`,𝑊:()=>`W`,𝑋:()=>`X`,𝑌:()=>`Y`,𝑍:()=>`Z`,𝑎:()=>`a`,𝑏:()=>`b`,𝑐:()=>`c`,𝑑:()=>`d`,𝑒:()=>`e`,𝑓:()=>`f`,𝑔:()=>`g`,𝑖:()=>`i`,𝑗:()=>`j`,𝑘:()=>`k`,𝑙:()=>`l`,𝑚:()=>`rn`,𝑛:()=>`n`,𝑜:()=>`o`,𝑝:()=>`p`,𝑞:()=>`q`,𝑟:()=>`r`,𝑠:()=>`s`,𝑡:()=>`t`,𝑢:()=>`u`,𝑣:()=>`v`,𝑤:()=>`w`,𝑥:()=>`x`,𝑦:()=>`y`,𝑧:()=>`z`,𝑨:()=>`A`,𝑩:()=>`B`,𝑪:()=>`C`,𝑫:()=>`D`,𝑬:()=>`E`,𝑭:()=>`F`,𝑮:()=>`G`,𝑯:()=>`H`,𝑰:()=>`l`,𝑱:()=>`J`,𝑲:()=>`K`,𝑳:()=>`L`,𝑴:()=>`M`,𝑵:()=>`N`,𝑶:()=>`O`,𝑷:()=>`P`,𝑸:()=>`Q`,𝑹:()=>`R`,𝑺:()=>`S`,𝑻:()=>`T`,𝑼:()=>`U`,𝑽:()=>`V`,𝑾:()=>`W`,𝑿:()=>`X`,𝒀:()=>`Y`,𝒁:()=>`Z`,𝒂:()=>`a`,𝒃:()=>`b`,𝒄:()=>`c`,𝒅:()=>`d`,𝒆:()=>`e`,𝒇:()=>`f`,𝒈:()=>`g`,𝒉:()=>`h`,𝒊:()=>`i`,𝒋:()=>`j`,𝒌:()=>`k`,𝒍:()=>`l`,𝒎:()=>`rn`,𝒏:()=>`n`,𝒐:()=>`o`,𝒑:()=>`p`,𝒒:()=>`q`,𝒓:()=>`r`,𝒔:()=>`s`,𝒕:()=>`t`,𝒖:()=>`u`,𝒗:()=>`v`,𝒘:()=>`w`,𝒙:()=>`x`,𝒚:()=>`y`,𝒛:()=>`z`,𝒜:()=>`A`,𝒞:()=>`C`,𝒟:()=>`D`,𝒢:()=>`G`,𝒥:()=>`J`,𝒦:()=>`K`,𝒩:()=>`N`,𝒪:()=>`O`,𝒫:()=>`P`,𝒬:()=>`Q`,𝒮:()=>`S`,𝒯:()=>`T`,𝒰:()=>`U`,𝒱:()=>`V`,𝒲:()=>`W`,𝒳:()=>`X`,𝒴:()=>`Y`,𝒵:()=>`Z`,𝒶:()=>`a`,𝒷:()=>`b`,𝒸:()=>`c`,𝒹:()=>`d`,𝒻:()=>`f`,𝒽:()=>`h`,𝒾:()=>`i`,𝒿:()=>`j`,𝓀:()=>`k`,𝓁:()=>`l`,𝓂:()=>`rn`,𝓃:()=>`n`,𝓅:()=>`p`,𝓆:()=>`q`,𝓇:()=>`r`,𝓈:()=>`s`,𝓉:()=>`t`,𝓊:()=>`u`,𝓋:()=>`v`,𝓌:()=>`w`,𝓍:()=>`x`,𝓎:()=>`y`,𝓏:()=>`z`,𝓐:()=>`A`,𝓑:()=>`B`,𝓒:()=>`C`,𝓓:()=>`D`,𝓔:()=>`E`,𝓕:()=>`F`,𝓖:()=>`G`,𝓗:()=>`H`,𝓘:()=>`l`,𝓙:()=>`J`,𝓚:()=>`K`,𝓛:()=>`L`,𝓜:()=>`M`,𝓝:()=>`N`,𝓞:()=>`O`,𝓟:()=>`P`,𝓠:()=>`Q`,𝓡:()=>`R`,𝓢:()=>`S`,𝓣:()=>`T`,𝓤:()=>`U`,𝓥:()=>`V`,𝓦:()=>`W`,𝓧:()=>`X`,𝓨:()=>`Y`,𝓩:()=>`Z`,𝓪:()=>`a`,𝓫:()=>`b`,𝓬:()=>`c`,𝓭:()=>`d`,𝓮:()=>`e`,𝓯:()=>`f`,𝓰:()=>`g`,𝓱:()=>`h`,𝓲:()=>`i`,𝓳:()=>`j`,𝓴:()=>`k`,𝓵:()=>`l`,𝓶:()=>`rn`,𝓷:()=>`n`,𝓸:()=>`o`,𝓹:()=>`p`,𝓺:()=>`q`,𝓻:()=>`r`,𝓼:()=>`s`,𝓽:()=>`t`,𝓾:()=>`u`,𝓿:()=>`v`,𝔀:()=>`w`,𝔁:()=>`x`,𝔂:()=>`y`,𝔃:()=>`z`,𝔄:()=>`A`,𝔅:()=>`B`,𝔇:()=>`D`,𝔈:()=>`E`,𝔉:()=>`F`,𝔊:()=>`G`,𝔍:()=>`J`,𝔎:()=>`K`,𝔏:()=>`L`,𝔐:()=>`M`,𝔑:()=>`N`,𝔒:()=>`O`,𝔓:()=>`P`,𝔔:()=>`Q`,𝔖:()=>`S`,𝔗:()=>`T`,𝔘:()=>`U`,𝔙:()=>`V`,𝔚:()=>`W`,𝔛:()=>`X`,𝔜:()=>`Y`,𝔞:()=>`a`,𝔟:()=>`b`,𝔠:()=>`c`,𝔡:()=>`d`,𝔢:()=>`e`,𝔣:()=>`f`,𝔤:()=>`g`,𝔥:()=>`h`,𝔦:()=>`i`,𝔧:()=>`j`,𝔨:()=>`k`,𝔩:()=>`l`,𝔪:()=>`rn`,𝔫:()=>`n`,𝔬:()=>`o`,𝔭:()=>`p`,𝔮:()=>`q`,𝔯:()=>`r`,𝔰:()=>`s`,𝔱:()=>`t`,𝔲:()=>`u`,𝔳:()=>`v`,𝔴:()=>`w`,𝔵:()=>`x`,𝔶:()=>`y`,𝔷:()=>`z`,𝔸:()=>`A`,𝔹:()=>`B`,𝔻:()=>`D`,𝔼:()=>`E`,𝔽:()=>`F`,𝔾:()=>`G`,𝕀:()=>`l`,𝕁:()=>`J`,𝕂:()=>`K`,𝕃:()=>`L`,𝕄:()=>`M`,𝕆:()=>`O`,𝕊:()=>`S`,𝕋:()=>`T`,𝕌:()=>`U`,𝕍:()=>`V`,𝕎:()=>`W`,𝕏:()=>`X`,𝕐:()=>`Y`,𝕒:()=>`a`,𝕓:()=>`b`,𝕔:()=>`c`,𝕕:()=>`d`,𝕖:()=>`e`,𝕗:()=>`f`,𝕘:()=>`g`,𝕙:()=>`h`,𝕚:()=>`i`,𝕛:()=>`j`,𝕜:()=>`k`,𝕝:()=>`l`,𝕞:()=>`rn`,𝕟:()=>`n`,𝕠:()=>`o`,𝕡:()=>`p`,𝕢:()=>`q`,𝕣:()=>`r`,𝕤:()=>`s`,𝕥:()=>`t`,𝕦:()=>`u`,𝕧:()=>`v`,𝕨:()=>`w`,𝕩:()=>`x`,𝕪:()=>`y`,𝕫:()=>`z`,𝕬:()=>`A`,𝕭:()=>`B`,𝕮:()=>`C`,𝕯:()=>`D`,𝕰:()=>`E`,𝕱:()=>`F`,𝕲:()=>`G`,𝕳:()=>`H`,𝕴:()=>`l`,𝕵:()=>`J`,𝕶:()=>`K`,𝕷:()=>`L`,𝕸:()=>`M`,𝕹:()=>`N`,𝕺:()=>`O`,𝕻:()=>`P`,𝕼:()=>`Q`,𝕽:()=>`R`,𝕾:()=>`S`,𝕿:()=>`T`,𝖀:()=>`U`,𝖁:()=>`V`,𝖂:()=>`W`,𝖃:()=>`X`,𝖄:()=>`Y`,𝖅:()=>`Z`,𝖆:()=>`a`,𝖇:()=>`b`,𝖈:()=>`c`,𝖉:()=>`d`,𝖊:()=>`e`,𝖋:()=>`f`,𝖌:()=>`g`,𝖍:()=>`h`,𝖎:()=>`i`,𝖏:()=>`j`,𝖐:()=>`k`,𝖑:()=>`l`,𝖒:()=>`rn`,𝖓:()=>`n`,𝖔:()=>`o`,𝖕:()=>`p`,𝖖:()=>`q`,𝖗:()=>`r`,𝖘:()=>`s`,𝖙:()=>`t`,𝖚:()=>`u`,𝖛:()=>`v`,𝖜:()=>`w`,𝖝:()=>`x`,𝖞:()=>`y`,𝖟:()=>`z`,𝖠:()=>`A`,𝖡:()=>`B`,𝖢:()=>`C`,𝖣:()=>`D`,𝖤:()=>`E`,𝖥:()=>`F`,𝖦:()=>`G`,𝖧:()=>`H`,𝖨:()=>`l`,𝖩:()=>`J`,𝖪:()=>`K`,𝖫:()=>`L`,𝖬:()=>`M`,𝖭:()=>`N`,𝖮:()=>`O`,𝖯:()=>`P`,𝖰:()=>`Q`,𝖱:()=>`R`,𝖲:()=>`S`,𝖳:()=>`T`,𝖴:()=>`U`,𝖵:()=>`V`,𝖶:()=>`W`,𝖷:()=>`X`,𝖸:()=>`Y`,𝖹:()=>`Z`,𝖺:()=>`a`,𝖻:()=>`b`,𝖼:()=>`c`,𝖽:()=>`d`,𝖾:()=>`e`,𝖿:()=>`f`,𝗀:()=>`g`,𝗁:()=>`h`,𝗂:()=>`i`,𝗃:()=>`j`,𝗄:()=>`k`,𝗅:()=>`l`,𝗆:()=>`rn`,𝗇:()=>`n`,𝗈:()=>`o`,𝗉:()=>`p`,𝗊:()=>`q`,𝗋:()=>`r`,𝗌:()=>`s`,𝗍:()=>`t`,𝗎:()=>`u`,𝗏:()=>`v`,𝗐:()=>`w`,𝗑:()=>`x`,𝗒:()=>`y`,𝗓:()=>`z`,𝗔:()=>`A`,𝗕:()=>`B`,𝗖:()=>`C`,𝗗:()=>`D`,𝗘:()=>`E`,𝗙:()=>`F`,𝗚:()=>`G`,𝗛:()=>`H`,𝗜:()=>`l`,𝗝:()=>`J`,𝗞:()=>`K`,𝗟:()=>`L`,𝗠:()=>`M`,𝗡:()=>`N`,𝗢:()=>`O`,𝗣:()=>`P`,𝗤:()=>`Q`,𝗥:()=>`R`,𝗦:()=>`S`,𝗧:()=>`T`,𝗨:()=>`U`,𝗩:()=>`V`,𝗪:()=>`W`,𝗫:()=>`X`,𝗬:()=>`Y`,𝗭:()=>`Z`,𝗮:()=>`a`,𝗯:()=>`b`,𝗰:()=>`c`,𝗱:()=>`d`,𝗲:()=>`e`,𝗳:()=>`f`,𝗴:()=>`g`,𝗵:()=>`h`,𝗶:()=>`i`,𝗷:()=>`j`,𝗸:()=>`k`,𝗹:()=>`l`,𝗺:()=>`rn`,𝗻:()=>`n`,𝗼:()=>`o`,𝗽:()=>`p`,𝗾:()=>`q`,𝗿:()=>`r`,𝘀:()=>`s`,𝘁:()=>`t`,𝘂:()=>`u`,𝘃:()=>`v`,𝘄:()=>`w`,𝘅:()=>`x`,𝘆:()=>`y`,𝘇:()=>`z`,𝘈:()=>`A`,𝘉:()=>`B`,𝘊:()=>`C`,𝘋:()=>`D`,𝘌:()=>`E`,𝘍:()=>`F`,𝘎:()=>`G`,𝘏:()=>`H`,𝘐:()=>`l`,𝘑:()=>`J`,𝘒:()=>`K`,𝘓:()=>`L`,𝘔:()=>`M`,𝘕:()=>`N`,𝘖:()=>`O`,𝘗:()=>`P`,𝘘:()=>`Q`,𝘙:()=>`R`,𝘚:()=>`S`,𝘛:()=>`T`,𝘜:()=>`U`,𝘝:()=>`V`,𝘞:()=>`W`,𝘟:()=>`X`,𝘠:()=>`Y`,𝘡:()=>`Z`,𝘢:()=>`a`,𝘣:()=>`b`,𝘤:()=>`c`,𝘥:()=>`d`,𝘦:()=>`e`,𝘧:()=>`f`,𝘨:()=>`g`,𝘩:()=>`h`,𝘪:()=>`i`,𝘫:()=>`j`,𝘬:()=>`k`,𝘭:()=>`l`,𝘮:()=>`rn`,𝘯:()=>`n`,𝘰:()=>`o`,𝘱:()=>`p`,𝘲:()=>`q`,𝘳:()=>`r`,𝘴:()=>`s`,𝘵:()=>`t`,𝘶:()=>`u`,𝘷:()=>`v`,𝘸:()=>`w`,𝘹:()=>`x`,𝘺:()=>`y`,𝘻:()=>`z`,𝘼:()=>`A`,𝘽:()=>`B`,𝘾:()=>`C`,𝘿:()=>`D`,𝙀:()=>`E`,𝙁:()=>`F`,𝙂:()=>`G`,𝙃:()=>`H`,𝙄:()=>`l`,𝙅:()=>`J`,𝙆:()=>`K`,𝙇:()=>`L`,𝙈:()=>`M`,𝙉:()=>`N`,𝙊:()=>`O`,𝙋:()=>`P`,𝙌:()=>`Q`,𝙍:()=>`R`,𝙎:()=>`S`,𝙏:()=>`T`,𝙐:()=>`U`,𝙑:()=>`V`,𝙒:()=>`W`,𝙓:()=>`X`,𝙔:()=>`Y`,𝙕:()=>`Z`,𝙖:()=>`a`,𝙗:()=>`b`,𝙘:()=>`c`,𝙙:()=>`d`,𝙚:()=>`e`,𝙛:()=>`f`,𝙜:()=>`g`,𝙝:()=>`h`,𝙞:()=>`i`,𝙟:()=>`j`,𝙠:()=>`k`,𝙡:()=>`l`,𝙢:()=>`rn`,𝙣:()=>`n`,𝙤:()=>`o`,𝙥:()=>`p`,𝙦:()=>`q`,𝙧:()=>`r`,𝙨:()=>`s`,𝙩:()=>`t`,𝙪:()=>`u`,𝙫:()=>`v`,𝙬:()=>`w`,𝙭:()=>`x`,𝙮:()=>`y`,𝙯:()=>`z`,𝙰:()=>`A`,𝙱:()=>`B`,𝙲:()=>`C`,𝙳:()=>`D`,𝙴:()=>`E`,𝙵:()=>`F`,𝙶:()=>`G`,𝙷:()=>`H`,𝙸:()=>`l`,𝙹:()=>`J`,𝙺:()=>`K`,𝙻:()=>`L`,𝙼:()=>`M`,𝙽:()=>`N`,𝙾:()=>`O`,𝙿:()=>`P`,𝚀:()=>`Q`,𝚁:()=>`R`,𝚂:()=>`S`,𝚃:()=>`T`,𝚄:()=>`U`,𝚅:()=>`V`,𝚆:()=>`W`,𝚇:()=>`X`,𝚈:()=>`Y`,𝚉:()=>`Z`,𝚊:()=>`a`,𝚋:()=>`b`,𝚌:()=>`c`,𝚍:()=>`d`,𝚎:()=>`e`,𝚏:()=>`f`,𝚐:()=>`g`,𝚑:()=>`h`,𝚒:()=>`i`,𝚓:()=>`j`,𝚔:()=>`k`,𝚕:()=>`l`,𝚖:()=>`rn`,𝚗:()=>`n`,𝚘:()=>`o`,𝚙:()=>`p`,𝚚:()=>`q`,𝚛:()=>`r`,𝚜:()=>`s`,𝚝:()=>`t`,𝚞:()=>`u`,𝚟:()=>`v`,𝚠:()=>`w`,𝚡:()=>`x`,𝚢:()=>`y`,𝚣:()=>`z`,𝚤:()=>`i`,𝚥:()=>`ȷ`,𝚨:()=>`A`,𝚩:()=>`B`,𝚪:()=>`Γ`,𝚫:()=>`Δ`,𝚬:()=>`E`,𝚭:()=>`Z`,𝚮:()=>`H`,𝚯:()=>`O̵`,𝚰:()=>`l`,𝚱:()=>`K`,𝚲:()=>`Ʌ`,𝚳:()=>`M`,𝚴:()=>`N`,𝚵:()=>`Ξ`,𝚶:()=>`O`,𝚷:()=>`Π`,𝚸:()=>`P`,𝚹:()=>`O̵`,𝚺:()=>`Ʃ`,𝚻:()=>`T`,𝚼:()=>`Y`,𝚽:()=>`Φ`,𝚾:()=>`X`,𝚿:()=>`Ψ`,𝛀:()=>`Ω`,𝛂:()=>`a`,𝛃:()=>`ß`,𝛄:()=>`y`,𝛅:()=>`ẟ`,𝛆:()=>`ꞓ`,𝛇:()=>`ζ`,𝛈:()=>`n̩`,𝛉:()=>`O̵`,𝛊:()=>`i`,𝛋:()=>`ĸ`,𝛌:()=>`λ`,𝛍:()=>`μ`,𝛎:()=>`v`,𝛏:()=>`ξ`,𝛐:()=>`o`,𝛑:()=>`π`,𝛒:()=>`p`,𝛓:()=>`ς`,𝛔:()=>`o`,𝛕:()=>`ᴛ`,𝛖:()=>`u`,𝛗:()=>`ɸ`,𝛘:()=>`χ`,𝛙:()=>`ψ`,𝛚:()=>`ω`,𝛜:()=>`ꞓ`,𝛝:()=>`O̵`,𝛞:()=>`ĸ`,𝛟:()=>`ɸ`,𝛠:()=>`p`,𝛡:()=>`π`,𝛢:()=>`A`,𝛣:()=>`B`,𝛤:()=>`Γ`,𝛥:()=>`Δ`,𝛦:()=>`E`,𝛧:()=>`Z`,𝛨:()=>`H`,𝛩:()=>`O̵`,𝛪:()=>`l`,𝛫:()=>`K`,𝛬:()=>`Ʌ`,𝛭:()=>`M`,𝛮:()=>`N`,𝛯:()=>`Ξ`,𝛰:()=>`O`,𝛱:()=>`Π`,𝛲:()=>`P`,𝛳:()=>`O̵`,𝛴:()=>`Ʃ`,𝛵:()=>`T`,𝛶:()=>`Y`,𝛷:()=>`Φ`,𝛸:()=>`X`,𝛹:()=>`Ψ`,𝛺:()=>`Ω`,𝛼:()=>`a`,𝛽:()=>`ß`,𝛾:()=>`y`,𝛿:()=>`ẟ`,𝜀:()=>`ꞓ`,𝜁:()=>`ζ`,𝜂:()=>`n̩`,𝜃:()=>`O̵`,𝜄:()=>`i`,𝜅:()=>`ĸ`,𝜆:()=>`λ`,𝜇:()=>`μ`,𝜈:()=>`v`,𝜉:()=>`ξ`,𝜊:()=>`o`,𝜋:()=>`π`,𝜌:()=>`p`,𝜍:()=>`ς`,𝜎:()=>`o`,𝜏:()=>`ᴛ`,𝜐:()=>`u`,𝜑:()=>`ɸ`,𝜒:()=>`χ`,𝜓:()=>`ψ`,𝜔:()=>`ω`,𝜖:()=>`ꞓ`,𝜗:()=>`O̵`,𝜘:()=>`ĸ`,𝜙:()=>`ɸ`,𝜚:()=>`p`,𝜛:()=>`π`,𝜜:()=>`A`,𝜝:()=>`B`,𝜞:()=>`Γ`,𝜟:()=>`Δ`,𝜠:()=>`E`,𝜡:()=>`Z`,𝜢:()=>`H`,𝜣:()=>`O̵`,𝜤:()=>`l`,𝜥:()=>`K`,𝜦:()=>`Ʌ`,𝜧:()=>`M`,𝜨:()=>`N`,𝜩:()=>`Ξ`,𝜪:()=>`O`,𝜫:()=>`Π`,𝜬:()=>`P`,𝜭:()=>`O̵`,𝜮:()=>`Ʃ`,𝜯:()=>`T`,𝜰:()=>`Y`,𝜱:()=>`Φ`,𝜲:()=>`X`,𝜳:()=>`Ψ`,𝜴:()=>`Ω`,𝜶:()=>`a`,𝜷:()=>`ß`,𝜸:()=>`y`,𝜹:()=>`ẟ`,𝜺:()=>`ꞓ`,𝜻:()=>`ζ`,𝜼:()=>`n̩`,𝜽:()=>`O̵`,𝜾:()=>`i`,𝜿:()=>`ĸ`,𝝀:()=>`λ`,𝝁:()=>`μ`,𝝂:()=>`v`,𝝃:()=>`ξ`,𝝄:()=>`o`,𝝅:()=>`π`,𝝆:()=>`p`,𝝇:()=>`ς`,𝝈:()=>`o`,𝝉:()=>`ᴛ`,𝝊:()=>`u`,𝝋:()=>`ɸ`,𝝌:()=>`χ`,𝝍:()=>`ψ`,𝝎:()=>`ω`,𝝐:()=>`ꞓ`,𝝑:()=>`O̵`,𝝒:()=>`ĸ`,𝝓:()=>`ɸ`,𝝔:()=>`p`,𝝕:()=>`π`,𝝖:()=>`A`,𝝗:()=>`B`,𝝘:()=>`Γ`,𝝙:()=>`Δ`,𝝚:()=>`E`,𝝛:()=>`Z`,𝝜:()=>`H`,𝝝:()=>`O̵`,𝝞:()=>`l`,𝝟:()=>`K`,𝝠:()=>`Ʌ`,𝝡:()=>`M`,𝝢:()=>`N`,𝝣:()=>`Ξ`,𝝤:()=>`O`,𝝥:()=>`Π`,𝝦:()=>`P`,𝝧:()=>`O̵`,𝝨:()=>`Ʃ`,𝝩:()=>`T`,𝝪:()=>`Y`,𝝫:()=>`Φ`,𝝬:()=>`X`,𝝭:()=>`Ψ`,𝝮:()=>`Ω`,𝝰:()=>`a`,𝝱:()=>`ß`,𝝲:()=>`y`,𝝳:()=>`ẟ`,𝝴:()=>`ꞓ`,𝝵:()=>`ζ`,𝝶:()=>`n̩`,𝝷:()=>`O̵`,𝝸:()=>`i`,𝝹:()=>`ĸ`,𝝺:()=>`λ`,𝝻:()=>`μ`,𝝼:()=>`v`,𝝽:()=>`ξ`,𝝾:()=>`o`,𝝿:()=>`π`,𝞀:()=>`p`,𝞁:()=>`ς`,𝞂:()=>`o`,𝞃:()=>`ᴛ`,𝞄:()=>`u`,𝞅:()=>`ɸ`,𝞆:()=>`χ`,𝞇:()=>`ψ`,𝞈:()=>`ω`,𝞊:()=>`ꞓ`,𝞋:()=>`O̵`,𝞌:()=>`ĸ`,𝞍:()=>`ɸ`,𝞎:()=>`p`,𝞏:()=>`π`,𝞐:()=>`A`,𝞑:()=>`B`,𝞒:()=>`Γ`,𝞓:()=>`Δ`,𝞔:()=>`E`,𝞕:()=>`Z`,𝞖:()=>`H`,𝞗:()=>`O̵`,𝞘:()=>`l`,𝞙:()=>`K`,𝞚:()=>`Ʌ`,𝞛:()=>`M`,𝞜:()=>`N`,𝞝:()=>`Ξ`,𝞞:()=>`O`,𝞟:()=>`Π`,𝞠:()=>`P`,𝞡:()=>`O̵`,𝞢:()=>`Ʃ`,𝞣:()=>`T`,𝞤:()=>`Y`,𝞥:()=>`Φ`,𝞦:()=>`X`,𝞧:()=>`Ψ`,𝞨:()=>`Ω`,𝞪:()=>`a`,𝞫:()=>`ß`,𝞬:()=>`y`,𝞭:()=>`ẟ`,𝞮:()=>`ꞓ`,𝞯:()=>`ζ`,𝞰:()=>`n̩`,𝞱:()=>`O̵`,𝞲:()=>`i`,𝞳:()=>`ĸ`,𝞴:()=>`λ`,𝞵:()=>`μ`,𝞶:()=>`v`,𝞷:()=>`ξ`,𝞸:()=>`o`,𝞹:()=>`π`,𝞺:()=>`p`,𝞻:()=>`ς`,𝞼:()=>`o`,𝞽:()=>`ᴛ`,𝞾:()=>`u`,𝞿:()=>`ɸ`,𝟀:()=>`χ`,𝟁:()=>`ψ`,𝟂:()=>`ω`,𝟄:()=>`ꞓ`,𝟅:()=>`O̵`,𝟆:()=>`ĸ`,𝟇:()=>`ɸ`,𝟈:()=>`p`,𝟉:()=>`π`,𝟊:()=>`F`,𝟋:()=>`ϝ`,𞸀:()=>`l`,𞸁:()=>`ب`,𞸂:()=>`ج`,𞸃:()=>`د`,𞸅:()=>`و`,𞸆:()=>`ز`,𞸇:()=>`ح`,𞸈:()=>`ط`,𞸉:()=>`ى`,𞸊:()=>`ك`,𞸋:()=>`ل`,𞸌:()=>`م`,𞸍:()=>`ن`,𞸎:()=>`س`,𞸏:()=>`ع`,𞸐:()=>`ف`,𞸑:()=>`ص`,𞸒:()=>`ق`,𞸓:()=>`ر`,𞸔:()=>Wi,𞸕:()=>`ت`,𞸖:()=>ud,𞸗:()=>`خ`,𞸘:()=>`ذ`,𞸙:()=>`ض`,𞸚:()=>`ظ`,𞸛:()=>`غ`,𞸜:()=>`ى`,𞸝:()=>`ى`,𞸞:()=>`ڡ`,𞸟:()=>`ڡ`,𞸡:()=>`ب`,𞸢:()=>`ج`,𞸤:()=>`o`,𞸧:()=>`ح`,𞸩:()=>`ى`,𞸪:()=>`ك`,𞸫:()=>`ل`,𞸬:()=>`م`,𞸭:()=>`ن`,𞸮:()=>`س`,𞸯:()=>`ع`,𞸰:()=>`ف`,𞸱:()=>`ص`,𞸲:()=>`ق`,𞸴:()=>Gi,𞸵:()=>`ت`,𞸶:()=>dd,𞸷:()=>`خ`,𞸹:()=>`ض`,𞸻:()=>`غ`,𞹂:()=>`ج`,𞹇:()=>`ح`,𞹉:()=>`ى`,𞹋:()=>`ل`,𞹍:()=>`ن`,𞹎:()=>`س`,𞹏:()=>`ع`,𞹑:()=>`ص`,𞹒:()=>`ق`,𞹔:()=>Ki,𞹗:()=>`خ`,𞹙:()=>`ض`,𞹛:()=>`غ`,𞹝:()=>`ى`,𞹟:()=>`ڡ`,𞹡:()=>`ب`,𞹢:()=>`ج`,𞹤:()=>`o`,𞹧:()=>`ح`,𞹨:()=>`ط`,𞹩:()=>`ى`,𞹪:()=>`ك`,𞹬:()=>`م`,𞹭:()=>`ن`,𞹮:()=>`س`,𞹯:()=>`ع`,𞹰:()=>`ف`,𞹱:()=>`ص`,𞹲:()=>`ق`,𞹴:()=>qi,𞹵:()=>`ت`,𞹶:()=>fd,𞹷:()=>`خ`,𞹹:()=>`ض`,𞹺:()=>`ظ`,𞹻:()=>`غ`,𞹼:()=>`ى`,𞹾:()=>`ڡ`,𞺀:()=>`l`,𞺁:()=>`ب`,𞺂:()=>`ج`,𞺃:()=>`د`,𞺄:()=>`o`,𞺅:()=>`و`,𞺆:()=>`ز`,𞺇:()=>`ح`,𞺈:()=>`ط`,𞺉:()=>`ى`,𞺋:()=>`ل`,𞺌:()=>`م`,𞺍:()=>`ن`,𞺎:()=>`س`,𞺏:()=>`ع`,𞺐:()=>`ف`,𞺑:()=>`ص`,𞺒:()=>`ق`,𞺓:()=>`ر`,𞺔:()=>Ji,𞺕:()=>`ت`,𞺖:()=>pd,𞺗:()=>`خ`,𞺘:()=>`ذ`,𞺙:()=>`ض`,𞺚:()=>`ظ`,𞺛:()=>`غ`,𞺡:()=>`ب`,𞺢:()=>`ج`,𞺣:()=>`د`,𞺥:()=>`و`,𞺦:()=>`ز`,𞺧:()=>`ح`,𞺨:()=>`ط`,𞺩:()=>`ى`,𞺫:()=>`ل`,𞺬:()=>`م`,𞺭:()=>`ن`,𞺮:()=>`س`,𞺯:()=>`ع`,𞺰:()=>`ف`,𞺱:()=>`ص`,𞺲:()=>`ق`,𞺳:()=>`ر`,𞺴:()=>Yi,𞺵:()=>`ت`,𞺶:()=>md,𞺷:()=>`خ`,𞺸:()=>`ذ`,𞺹:()=>`ض`,𞺺:()=>`ظ`,𞺻:()=>`غ`,𡿨:()=>`❬`,丽:()=>`丽`,丸:()=>`丸`,乁:()=>`乁`,𠄢:()=>PC,你:()=>`你`,侮:()=>`侮`,侻:()=>`侻`,倂:()=>`併`,偺:()=>`偺`,備:()=>`備`,僧:()=>`僧`,像:()=>`像`,㒞:()=>`㒞`,𠘺:()=>RC,免:()=>`免`,兔:()=>`兔`,兤:()=>`兤`,具:()=>`具`,𠔜:()=>FC,㒹:()=>`㒹`,內:()=>`內`,再:()=>`再`,𠕋:()=>LC,冗:()=>`冗`,冤:()=>`冤`,仌:()=>`仌`,冬:()=>`冬`,况:()=>`况`,𩇟:()=>ET,凵:()=>`凵`,刃:()=>`刃`,㓟:()=>`㓟`,刻:()=>`刻`,剆:()=>`剆`,割:()=>`割`,剷:()=>`剷`,㔕:()=>`㔕`,勇:()=>`勇`,勉:()=>`勉`,勤:()=>`勤`,勺:()=>`勺`,包:()=>`包`,匆:()=>`匆`,北:()=>`北`,卉:()=>`卉`,卑:()=>`卑`,博:()=>`博`,即:()=>`即`,卽:()=>`卽`,卿:()=>`卿`,卿:()=>`卿`,卿:()=>`卿`,𠨬:()=>VC,灰:()=>`灰`,及:()=>`及`,叟:()=>`叟`,𠭣:()=>HC,叫:()=>`叫`,叱:()=>`叱`,吆:()=>`吆`,咞:()=>`咞`,吸:()=>`吸`,呈:()=>`呈`,周:()=>`周`,咢:()=>`咢`,哶:()=>`哶`,唐:()=>`唐`,啓:()=>`啓`,啣:()=>`啣`,善:()=>`善`,善:()=>`善`,喙:()=>`喙`,喫:()=>`喫`,喳:()=>`喳`,嗂:()=>`嗂`,圖:()=>`圖`,嘆:()=>`嘆`,圗:()=>`圗`,噑:()=>`噑`,噴:()=>`噴`,切:()=>`切`,壮:()=>`壮`,城:()=>`城`,埴:()=>`埴`,堍:()=>`堍`,型:()=>`型`,堲:()=>`堲`,報:()=>`報`,墬:()=>`墬`,𡓤:()=>UC,売:()=>`売`,壷:()=>`壷`,夆:()=>`夆`,多:()=>`多`,夢:()=>`夢`,奢:()=>`奢`,𡚨:()=>WC,𡛪:()=>GC,姬:()=>`姬`,娛:()=>`娛`,娧:()=>`娧`,姘:()=>`姘`,婦:()=>`婦`,㛮:()=>`㛮`,㛼:()=>`㛼`,嬈:()=>`嬈`,嬾:()=>`嬾`,嬾:()=>`嬾`,𡧈:()=>KC,寃:()=>`寃`,寘:()=>`寘`,寧:()=>`寧`,寳:()=>`寳`,𡬘:()=>qC,寿:()=>`寿`,将:()=>`将`,当:()=>`当`,尢:()=>`尢`,㞁:()=>`㞁`,屠:()=>`屠`,屮:()=>`屮`,峀:()=>`峀`,岍:()=>`岍`,𡷤:()=>YC,嵃:()=>`嵃`,𡷦:()=>XC,嵮:()=>`嵮`,嵫:()=>`嵫`,嵼:()=>`嵼`,巡:()=>`巡`,巢:()=>`巢`,㠯:()=>`㠯`,巽:()=>`巽`,帨:()=>`帨`,帽:()=>`帽`,幩:()=>`幩`,㡢:()=>`㡢`,𢆃:()=>ZC,㡼:()=>`㡼`,庰:()=>`庰`,庳:()=>`庳`,庶:()=>`庶`,廊:()=>`廊`,𪎒:()=>IT,廾:()=>`廾`,𢌱:()=>$C,𢌱:()=>ew,舁:()=>`舁`,弢:()=>`弢`,弢:()=>`弢`,㣇:()=>`㣇`,𣊸:()=>sw,𦇚:()=>Xw,形:()=>`形`,彫:()=>`彫`,㣣:()=>`㣣`,徚:()=>`徚`,忍:()=>`忍`,志:()=>`志`,忹:()=>`忹`,悁:()=>`悁`,㤺:()=>`㤺`,㤜:()=>`㤜`,悔:()=>`悔`,𢛔:()=>tw,惇:()=>`惇`,慈:()=>`慈`,慌:()=>`慌`,慎:()=>`慎`,慌:()=>`慌`,慺:()=>`慺`,憎:()=>`憎`,憲:()=>`憲`,憤:()=>`憤`,憯:()=>`憯`,懞:()=>`懞`,懲:()=>`懲`,懶:()=>`懶`,成:()=>`成`,戛:()=>`戛`,扝:()=>`扝`,抱:()=>`抱`,拔:()=>`拔`,捐:()=>`捐`,𢬌:()=>iw,挽:()=>`挽`,拼:()=>`拼`,捨:()=>`捨`,掃:()=>`掃`,揤:()=>`揤`,𢯱:()=>aw,搢:()=>`搢`,揅:()=>`揅`,掩:()=>`掩`,㨮:()=>`㨮`,摩:()=>`摩`,摾:()=>`摾`,撝:()=>`撝`,摷:()=>`摷`,㩬:()=>`㩬`,敏:()=>`敏`,敬:()=>`敬`,𣀊:()=>ow,旣:()=>`旣`,書:()=>`書`,晉:()=>`晉`,㬙:()=>`㬙`,暑:()=>`暑`,㬈:()=>`㬈`,㫤:()=>`㫤`,冒:()=>`冒`,冕:()=>`冕`,最:()=>`最`,暜:()=>`暜`,肭:()=>`肭`,䏙:()=>`䏙`,朗:()=>`朗`,望:()=>`望`,朡:()=>`朡`,杞:()=>`杞`,杓:()=>`杓`,𣏃:()=>dw,㭉:()=>`㭉`,柺:()=>`柺`,枅:()=>`枅`,桒:()=>`桒`,梅:()=>`梅`,𣑭:()=>pw,梎:()=>`梎`,栟:()=>`栟`,椔:()=>`椔`,㮝:()=>`㮝`,楂:()=>`楂`,榣:()=>`榣`,槪:()=>`槪`,檨:()=>`檨`,𣚣:()=>mw,櫛:()=>`櫛`,㰘:()=>`㰘`,次:()=>`次`,𣢧:()=>hw,歔:()=>`歔`,㱎:()=>`㱎`,歲:()=>`歲`,殟:()=>`殟`,殺:()=>`殺`,殻:()=>`殻`,𣪍:()=>gw,𡴋:()=>JC,𣫺:()=>_w,汎:()=>`汎`,𣲼:()=>vw,沿:()=>`沿`,泍:()=>`泍`,汧:()=>`汧`,洖:()=>`洖`,派:()=>`派`,海:()=>`海`,流:()=>`流`,浩:()=>`浩`,浸:()=>`浸`,涅:()=>`涅`,𣴞:()=>yw,洴:()=>`洴`,港:()=>`港`,湮:()=>`湮`,㴳:()=>`㴳`,滋:()=>`滋`,滇:()=>`滇`,𣻑:()=>bw,淹:()=>`淹`,潮:()=>`潮`,𣽞:()=>xw,𣾎:()=>Sw,濆:()=>`濆`,瀹:()=>`瀹`,瀞:()=>`瀞`,瀛:()=>`瀛`,㶖:()=>`㶖`,灊:()=>`灊`,災:()=>`災`,灷:()=>`灷`,炭:()=>`炭`,𠔥:()=>IC,煅:()=>`煅`,𤉣:()=>Cw,熜:()=>`熜`,𤎫:()=>Tw,爨:()=>`爨`,爵:()=>`爵`,牐:()=>`牐`,𤘈:()=>Ew,犀:()=>`犀`,犕:()=>`犕`,𤜵:()=>Dw,𤠔:()=>Ow,獺:()=>`獺`,王:()=>`王`,㺬:()=>`㺬`,玥:()=>`玥`,㺸:()=>`㺸`,㺸:()=>`㺸`,瑇:()=>`瑇`,瑜:()=>`瑜`,瑱:()=>`瑱`,璅:()=>`璅`,瓊:()=>`瓊`,㼛:()=>`㼛`,甤:()=>`甤`,𤰶:()=>kw,甾:()=>`甾`,𤲒:()=>Aw,異:()=>`異`,𢆟:()=>QC,瘐:()=>`瘐`,𤾡:()=>jw,𤾸:()=>Mw,𥁄:()=>Nw,㿼:()=>`㿼`,䀈:()=>`䀈`,直:()=>`直`,𥃳:()=>Fw,𥃲:()=>Pw,𥄙:()=>Iw,𥄳:()=>Lw,眞:()=>`眞`,真:()=>`真`,真:()=>`真`,睊:()=>`睊`,䀹:()=>`䀹`,瞋:()=>`瞋`,䁆:()=>`䁆`,䂖:()=>`䂖`,𥐝:()=>zw,硎:()=>`硎`,碌:()=>`碌`,磌:()=>`磌`,䃣:()=>`䃣`,𥘦:()=>Bw,祖:()=>`祖`,𥚚:()=>Vw,𥛅:()=>Hw,福:()=>`福`,秫:()=>`秫`,䄯:()=>`䄯`,穀:()=>`穀`,穊:()=>`穊`,穏:()=>`穏`,𥥼:()=>Uw,𥪧:()=>Ww,𥪧:()=>Gw,竮:()=>`竮`,䈂:()=>`䈂`,𥮫:()=>Kw,篆:()=>`篆`,築:()=>`築`,䈧:()=>`䈧`,𥲀:()=>qw,糒:()=>`糒`,䊠:()=>`䊠`,糨:()=>`糨`,糣:()=>`糣`,紀:()=>`紀`,𥾆:()=>Yw,絣:()=>`絣`,䌁:()=>`䌁`,緇:()=>`緇`,縂:()=>`縂`,繅:()=>`繅`,䌴:()=>`䌴`,𦈨:()=>Zw,𦉇:()=>Qw,䍙:()=>`䍙`,𦋙:()=>$w,罺:()=>`罺`,𦌾:()=>eT,羕:()=>`羕`,翺:()=>`翺`,者:()=>`者`,𦓚:()=>tT,𦔣:()=>nT,聠:()=>`聠`,𦖨:()=>rT,聰:()=>`聰`,𣍟:()=>cw,䏕:()=>`䏕`,育:()=>`育`,脃:()=>`脃`,䐋:()=>`䐋`,脾:()=>`脾`,媵:()=>`媵`,𦞧:()=>iT,𦞵:()=>aT,𣎓:()=>lw,𣎜:()=>uw,舁:()=>`舁`,舄:()=>`舄`,辞:()=>`辞`,䑫:()=>`䑫`,芑:()=>`芑`,芋:()=>`芋`,芝:()=>`芝`,劳:()=>`劳`,花:()=>`花`,芳:()=>`芳`,芽:()=>`芽`,苦:()=>`苦`,𦬼:()=>oT,若:()=>`若`,茝:()=>`茝`,荣:()=>`荣`,莭:()=>`莭`,茣:()=>`茣`,莽:()=>`莽`,菧:()=>`菧`,著:()=>`著`,荓:()=>`荓`,菊:()=>`菊`,菌:()=>`菌`,菜:()=>`菜`,𦰶:()=>sT,𦵫:()=>lT,𦳕:()=>cT,䔫:()=>`䔫`,蓱:()=>`蓱`,蓳:()=>`蓳`,蔖:()=>`蔖`,𧏊:()=>pT,蕤:()=>`蕤`,𦼬:()=>uT,䕝:()=>`䕝`,䕡:()=>`䕡`,𦾱:()=>dT,𧃒:()=>fT,䕫:()=>`䕫`,虐:()=>`虐`,虜:()=>`虜`,虧:()=>`虧`,虩:()=>`虩`,蚩:()=>`蚩`,蚈:()=>`蚈`,蜎:()=>`蜎`,蛢:()=>`蛢`,蝹:()=>`蝹`,蜨:()=>`蜨`,蝫:()=>`蝫`,螆:()=>`螆`,䗗:()=>`䗗`,蟡:()=>`蟡`,蠁:()=>`蠁`,䗹:()=>`䗹`,衠:()=>`衠`,衣:()=>`衣`,𧙧:()=>mT,裗:()=>`裗`,裞:()=>`裞`,䘵:()=>`䘵`,裺:()=>`裺`,㒻:()=>`㒻`,𧢮:()=>hT,𧥦:()=>gT,䚾:()=>`䚾`,䛇:()=>`䛇`,誠:()=>`誠`,諭:()=>`諭`,變:()=>`變`,豕:()=>`豕`,𧲨:()=>_T,貫:()=>`貫`,賁:()=>`賁`,贛:()=>`贛`,起:()=>`起`,𧼯:()=>yT,𠠄:()=>zC,跋:()=>`跋`,趼:()=>`趼`,跰:()=>`跰`,𠣞:()=>BC,軔:()=>`軔`,輸:()=>`輸`,𨗒:()=>bT,𨗭:()=>xT,邔:()=>`邔`,郱:()=>`郱`,鄑:()=>`鄑`,𨜮:()=>ST,鄛:()=>`鄛`,鈸:()=>`鈸`,鋗:()=>`鋗`,鋘:()=>`鋘`,鉼:()=>`鉼`,鏹:()=>`鏹`,鐕:()=>`鐕`,𨯺:()=>CT,開:()=>`開`,䦕:()=>`䦕`,閷:()=>`閷`,𨵷:()=>wT,䧦:()=>`䧦`,雃:()=>`雃`,嶲:()=>`嶲`,霣:()=>`霣`,𩅅:()=>TT,𩈚:()=>DT,䩮:()=>`䩮`,䩶:()=>`䩶`,韠:()=>`韠`,𩐊:()=>OT,䪲:()=>`䪲`,𩒖:()=>kT,頋:()=>`頋`,頋:()=>`頋`,頩:()=>`頩`,𩖶:()=>AT,飢:()=>`飢`,䬳:()=>`䬳`,餩:()=>`餩`,馧:()=>`馧`,駂:()=>`駂`,駾:()=>`駾`,䯎:()=>`䯎`,𩬰:()=>jT,鬒:()=>`鬒`,鱀:()=>`鱀`,鳽:()=>`鳽`,䳎:()=>`䳎`,䳭:()=>`䳭`,鵧:()=>`鵧`,𪃎:()=>MT,䳸:()=>`䳸`,𪄅:()=>NT,𪈎:()=>PT,𪊑:()=>FT,麻:()=>`麻`,䵖:()=>`䵖`,黹:()=>`黹`,黾:()=>`黾`,鼅:()=>`鼅`,鼏:()=>`鼏`,鼖:()=>`鼖`,鼻:()=>`鼻`,𪘀:()=>LT}),f,p,m,h,g,_,v,y,b,x,S,ee,te,ne,re,ie,ae,oe,se,ce,le,ue,de,fe,pe,me,he,ge,_e,ve,ye,be,xe,Se,Ce,we,Te,Ee,De,Oe,ke,Ae,je,Me,Ne,Pe,Fe,Ie,Le,Re,ze,Be,Ve,He,Ue,We,Ge,Ke,qe,Je,Ye,Xe,Ze,Qe,$e,et,tt,nt,rt,it,at,ot,st,ct,lt,ut,dt,ft,pt,mt,ht,gt,_t,vt,yt,bt,xt,St,Ct,wt,Tt,Et,Dt,Ot,kt,At,jt,Mt,Nt,Pt,Ft,It,Lt,Rt,zt,Bt,Vt,Ht,Ut,Wt,Gt,Kt,qt,Jt,Yt,Xt,Zt,Qt,$t,en,tn,nn,rn,an,on,sn,cn,ln,un,dn,fn,pn,mn,hn,gn,_n,vn,yn,bn,xn,Sn,Cn,wn,Tn,En,Dn,On,kn,An,jn,Mn,Nn,Pn,Fn,In,Ln,Rn,zn,Bn,Vn,Hn,Un,Wn,Gn,Kn,qn,Jn,Yn,Xn,Zn,Qn,$n,er,tr,nr,rr,ir,ar,or,sr,cr,lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br,xr,Sr,Cr,wr,Tr,Er,Dr,Or,kr,Ar,jr,Mr,Nr,Pr,Fr,Ir,Lr,Rr,zr,Br,Vr,Hr,Ur,Wr,Gr,Kr,qr,Jr,Yr,Xr,Zr,Qr,$r,ei,ti,ni,ri,ii,ai,oi,si,ci,li,ui,di,fi,pi,mi,hi,gi,_i,vi,yi,bi,xi,Si,Ci,wi,Ti,Ei,Di,Oi,ki,Ai,ji,Mi,Ni,Pi,Fi,Ii,Li,Ri,zi,Bi,Vi,Hi,Ui,Wi,Gi,Ki,qi,Ji,Yi,Xi,Zi,Qi,$i,ea,ta,na,ra,ia,aa,oa,sa,ca,la,ua,da,fa,pa,ma,ha,ga,_a,va,ya,ba,xa,Sa,Ca,wa,Ta,Ea,Da,Oa,ka,Aa,ja,Ma,Na,Pa,Fa,Ia,La,Ra,za,Ba,Va,Ha,Ua,Wa,Ga,Ka,qa,Ja,Ya,Xa,Za,Qa,$a,eo,to,no,ro,io,ao,oo,so,co,lo,uo,fo,po,mo,ho,go,_o,vo,yo,bo,xo,So,Co,wo,To,Eo,Do,Oo,ko,Ao,jo,Mo,No,Po,Fo,Io,Lo,Ro,zo,Bo,Vo,Ho,Uo,Wo,Go,Ko,qo,Jo,Yo,Xo,Zo,Qo,$o,es,ts,ns,rs,is,as,os,ss,cs,ls,us,ds,fs,ps,ms,hs,gs,_s,vs,ys,bs,xs,Ss,Cs,ws,Ts,Es,Ds,Os,ks,As,js,Ms,Ns,Ps,Fs,Is,Ls,Rs,zs,Bs,Vs,Hs,Us,Ws,Gs,Ks,qs,Js,Ys,Xs,Zs,Qs,$s,ec,tc,nc,rc,ic,ac,oc,sc,cc,lc,uc,dc,fc,pc,mc,hc,gc,_c,vc,yc,bc,xc,Sc,Cc,wc,Tc,Ec,Dc,Oc,kc,Ac,jc,Mc,Nc,Pc,Fc,Ic,Lc,Rc,zc,Bc,Vc,Hc,Uc,Wc,Gc,Kc,qc,Jc,Yc,Xc,Zc,Qc,$c,el,tl,nl,rl,il,al,ol,sl,cl,ll,ul,dl,fl,pl,ml,hl,gl,_l,vl,yl,bl,xl,Sl,Cl,wl,Tl,El,Dl,Ol,kl,Al,jl,Ml,Nl,Pl,Fl,Il,Ll,Rl,zl,Bl,Vl,Hl,Ul,Wl,Gl,Kl,ql,Jl,Yl,Xl,Zl,Ql,$l,eu,tu,nu,ru,iu,au,ou,su,cu,lu,uu,du,fu,pu,mu,hu,gu,_u,vu,yu,bu,xu,Su,Cu,wu,Tu,Eu,Du,Ou,ku,Au,ju,Mu,Nu,Pu,Fu,Iu,Lu,Ru,zu,Bu,Vu,Hu,Uu,Wu,Gu,Ku,qu,Ju,Yu,Xu,Zu,Qu,$u,ed,td,nd,rd,id,ad,od,sd,cd,ld,ud,dd,fd,pd,md,hd,gd,_d,vd,yd,bd,xd,Sd,Cd,wd,Td,Ed,Dd,Od,kd,Ad,jd,Md,Nd,Pd,Fd,Id,Ld,Rd,zd,Bd,Vd,Hd,Ud,Wd,Gd,Kd,qd,Jd,Yd,Xd,Zd,Qd,$d,ef,tf,nf,rf,af,of,sf,cf,lf,uf,df,ff,pf,mf,hf,gf,_f,vf,yf,bf,xf,Sf,Cf,wf,Tf,Ef,Df,Of,kf,Af,jf,Mf,Nf,Pf,Ff,If,Lf,Rf,zf,Bf,Vf,Hf,Uf,Wf,Gf,Kf,qf,Jf,Yf,Xf,Zf,Qf,$f,ep,tp,np,rp,ip,ap,op,sp,cp,lp,up,dp,fp,pp,mp,hp,gp,_p,vp,yp,bp,xp,Sp,Cp,wp,Tp,Ep,Dp,Op,kp,Ap,jp,Mp,Np,Pp,Fp,Ip,Lp,Rp,zp,Bp,Vp,Hp,Up,Wp,Gp,Kp,qp,Jp,Yp,Xp,Zp,Qp,$p,em,tm,nm,rm,im,am,om,sm,cm,lm,um,dm,fm,pm,mm,hm,gm,_m,vm,ym,bm,xm,Sm,Cm,wm,Tm,Em,Dm,Om,km,Am,jm,Mm,Nm,Pm,Fm,Im,Lm,Rm,zm,Bm,Vm,Hm,Um,Wm,Gm,Km,qm,Jm,Ym,Xm,Zm,Qm,$m,eh,th,nh,rh,ih,ah,oh,sh,ch,lh,uh,dh,fh,ph,mh,hh,gh,_h,vh,yh,bh,xh,Sh,Ch,wh,Th,Eh,Dh,Oh,kh,Ah,jh,Mh,Nh,Ph,Fh,Ih,Lh,Rh,zh,Bh,Vh,Hh,Uh,Wh,Gh,Kh,qh,Jh,Yh,Xh,Zh,Qh,$h,eg,tg,ng,rg,ig,ag,og,sg,cg,lg,ug,dg,fg,pg,mg,hg,gg,_g,vg,yg,bg,xg,Sg,Cg,wg,Tg,Eg,Dg,Og,kg,Ag,jg,Mg,Ng,Pg,Fg,Ig,Lg,Rg,zg,Bg,Vg,Hg,Ug,Wg,Gg,Kg,qg,Jg,Yg,Xg,Zg,Qg,$g,e_,t_,n_,r_,i_,a_,o_,s_,c_,l_,u_,d_,f_,p_,m_,h_,g_,__,v_,y_,b_,x_,S_,C_,w_,T_,E_,D_,O_,k_,A_,j_,M_,N_,P_,F_,I_,L_,R_,z_,B_,V_,H_,U_,W_,G_,K_,q_,J_,Y_,X_,Z_,Q_,$_,ev,tv,nv,rv,iv,av,ov,sv,cv,lv,uv,dv,fv,pv,mv,hv,gv,_v,vv,yv,bv,xv,Sv,Cv,wv,Tv,Ev,Dv,Ov,kv,Av,jv,Mv,Nv,Pv,Fv,Iv,Lv,Rv,zv,Bv,Vv,Hv,Uv,Wv,Gv,Kv,qv,Jv,Yv,Xv,Zv,Qv,$v,ey,ty,ny,ry,iy,ay,oy,sy,cy,ly,uy,dy,fy,py,my,hy,gy,_y,vy,yy,by,xy,Sy,Cy,wy,Ty,Ey,Dy,Oy,ky,Ay,jy,My,Ny,Py,Fy,Iy,Ly,Ry,zy,By,Vy,Hy,Uy,Wy,Gy,Ky,qy,Jy,Yy,Xy,Zy,Qy,$y,eb,tb,nb,rb,ib,ab,ob,sb,cb,lb,ub,db,fb,pb,mb,hb,gb,_b,vb,yb,bb,xb,Sb,Cb,wb,Tb,Eb,Db,Ob,kb,Ab,jb,Mb,Nb,Pb,Fb,Ib,Lb,Rb,zb,Bb,Vb,Hb,Ub,Wb,Gb,Kb,qb,Jb,Yb,Xb,Zb,Qb,$b,ex,tx,nx,rx,ix,ax,ox,sx,cx,lx,ux,dx,fx,px,mx,hx,gx,_x,vx,yx,bx,xx,Sx,Cx,wx,Tx,Ex,Dx,Ox,kx,Ax,jx,Mx,Nx,Px,Fx,Ix,Lx,Rx,zx,Bx,Vx,Hx,Ux,Wx,Gx,Kx,qx,Jx,Yx,Xx,Zx,Qx,$x,eS,tS,nS,rS,iS,aS,oS,sS,cS,lS,uS,dS,fS,pS,mS,hS,gS,_S,vS,yS,bS,xS,SS,CS,wS,TS,ES,DS,OS,kS,AS,jS,MS,NS,PS,FS,IS,LS,RS,zS,BS,VS,HS,US,WS,GS,KS,qS,JS,YS,XS,ZS,QS,$S,eC,tC,nC,rC,iC,aC,oC,sC,cC,lC,uC,dC,fC,pC,mC,hC,gC,_C,vC,yC,bC,xC,SC,CC,wC,TC,EC,DC,OC,kC,AC,jC,MC,NC,PC,FC,IC,LC,RC,zC,BC,VC,HC,UC,WC,GC,KC,qC,JC,YC,XC,ZC,QC,$C,ew,tw,nw,rw,iw,aw,ow,sw,cw,lw,uw,dw,fw,pw,mw,hw,gw,_w,vw,yw,bw,xw,Sw,Cw,ww,Tw,Ew,Dw,Ow,kw,Aw,jw,Mw,Nw,Pw,Fw,Iw,Lw,Rw,zw,Bw,Vw,Hw,Uw,Ww,Gw,Kw,qw,Jw,Yw,Xw,Zw,Qw,$w,eT,tT,nT,rT,iT,aT,oT,sT,cT,lT,uT,dT,fT,pT,mT,hT,gT,_T,vT,yT,bT,xT,ST,CT,wT,TT,ET,DT,OT,kT,AT,jT,MT,NT,PT,FT,IT,LT,RT,zT=n((()=>{f=`ﹲّ`,p=`ﹴّ`,m=`ﹷّ`,h=`ﹶّ`,g=`ﹹّ`,_=`ﹸّ`,v=`ﹻّ`,y=`ﹺّ`,b=`ﹼٰ`,x=`···`,S=`·ḃ`,ee=`·Ʌ`,te=`·Γ`,ne=`·Δ`,re=`·Ո`,ie=`·ᐁ`,ae=`·ᐄ`,oe=`·ᐅ`,se=`·ᐆ`,ce=`·ᐊ`,le=`·ᐋ`,ue=`·ᐲ`,de=`·ᐴ`,fe=`·ᐹ`,pe=`·ᑏ`,me=`·ᑐ`,he=`·ᑐ`,ge=`·ᑑ`,_e=`·ᑕ`,ve=`·ᑖ`,ye=`·ᑫ`,be=`·ᑮ`,xe=`·ᑰ`,Se=`·ᒉ`,Ce=`·ᒋ`,we=`·ᒌ`,Te=`·ᒎ`,Ee=`·ᒐ`,De=`·ᒑ`,Oe=`·ᒣ`,ke=`·ᒦ`,Ae=`·ᒧ`,je=`·ᒨ`,Me=`·ᒫ`,Ne=`·ᓀ`,Pe=`·ᓂ`,Fe=`·ᓃ`,Ie=`·ᓄ`,Le=`·ᓅ`,Re=`·ᓇ`,ze=`·ᓈ`,Be=`·ᓓ`,Ve=`·ᓕ`,He=`·ᓖ`,Ue=`·ᓗ`,We=`·ᓘ`,Ge=`·ᓚ`,Ke=`·ᓛ`,qe=`·ᓭ`,Je=`·ᓯ`,Ye=`·ᓰ`,Xe=`·ᓱ`,Ze=`·ᓲ`,Qe=`·ᓴ`,$e=`·ᓵ`,et=`·ᔐ`,tt=`·ᔑ`,nt=`·ᔒ`,rt=`·ᔓ`,it=`·ᔔ`,at=`·ᔕ`,ot=`·ᔖ`,st=`·ᔨ`,ct=`·ᔩ`,lt=`·ᔪ`,ut=`·ᔫ`,dt=`·ᔭ`,ft=`·ᔮ`,pt=`·ᕃ`,mt=`·ᕆ`,ht=`·ᕇ`,gt=`·ᕈ`,_t=`·ᕉ`,vt=`·ᕋ`,yt=`·ᕌ`,bt=`·ᕚ`,xt=`·ᕧ`,St=`·ᢱ`,Ct=`·ᢴ`,wt=`·ᢸ`,Tt=`·ᣀ`,Et=`ˉbi`,Dt=`∂̵`,Ot=`ーー`,kt=`ーᅡ`,At=`ーᅥ`,jt=`ーᅥ丨`,Mt=`ーᅩ`,Nt=`ーᅮ`,Pt=`ー丨`,Ft=`ー丨`,It=`ー丨ᅮ`,Lt=`ḃ·`,Rt=`ǝ˞`,zt=`ǝo̸`,Bt=`ǝo̵`,Vt=`ɜ̦`,Ht=`ʜ̩`,Ut=`ʜ̦`,Wt=`ʜ̦`,Gt=`lكبر`,Kt=`lللّٰo`,qt=`Ó̸`,Jt=`oᴇ`,Yt=`oمج`,Xt=`oمم`,Zt=`oരo`,Qt=`oာ`,$t=`ɔ̸`,en=`ĸ̩`,tn=`ĸ̵`,nn=`rn̦`,rn=`rn̴`,an=`ɾ̴`,on=`ᴛ̩`,sn=`ʊ̵`,cn=`viii`,ln=`Vlll`,un=`Ʌ̦`,dn=`Ʌ·`,fn=`w҆҇`,pn=`ʍ̦`,mn=`Γ̵`,hn=`Γ·`,gn=`Δ·`,_n=`Δᐠ`,vn=`ж̩`,yn=`Ж̩`,bn=`Ѝ̦`,xn=`й̦`,Sn=`л̦`,Cn=`Ѡ҆҇`,wn=`Ѡ·`,Tn=`Ҽ̨`,En=`եւ`,Dn=`մե`,On=`մի`,kn=`մխ`,An=`մն`,jn=`Ո·`,Mn=`վն`,Nn=`אל`,Pn=`بۛ`,Fn=`بۢ`,In=`بٔ`,Ln=`بج`,Rn=`بج`,zn=`بح`,Bn=`بح`,Vn=`بحى`,Hn=`بخ`,Un=`بخ`,Wn=`بخ`,Gn=`بخ`,Kn=`بخى`,qn=`بر`,Jn=`بز`,Yn=`بم`,Xn=`بم`,Zn=`بم`,Qn=`بم`,$n=`بن`,er=`بى`,tr=`بى`,nr=`بى`,rr=`بى`,ir=`تج`,ar=`تج`,or=`تجم`,sr=`تجى`,cr=`تجى`,lr=`تح`,ur=`تح`,dr=`تحج`,fr=`تحج`,pr=`تحم`,mr=`تخ`,hr=`تخ`,gr=`تخم`,_r=`تخى`,vr=`تخى`,yr=`تر`,br=`تز`,xr=`تم`,Sr=`تم`,Cr=`تم`,wr=`تم`,Tr=`تمج`,Er=`تمح`,Dr=`تمخ`,Or=`تمى`,kr=`تمى`,Ar=`تن`,jr=`تى`,Mr=`تى`,Nr=`تى`,Pr=`تى`,Fr=`جح`,Ir=`جح`,Lr=`جحى`,Rr=`جحى`,zr=`جل جلlلo`,Br=`جم`,Vr=`جم`,Hr=`جمح`,Ur=`جمح`,Wr=`جمى`,Gr=`جمى`,Kr=`جى`,qr=`جى`,Jr=`جى`,Yr=`جى`,Xr=`حۛ`,Zr=`حٔ`,Qr=`حٔ`,$r=`حج`,ei=`حج`,ti=`حجى`,ni=`حم`,ri=`حم`,ii=`حمى`,ai=`حمى`,oi=`حى`,si=`حى`,ci=`حى`,li=`حى`,ui=`خج`,di=`خج`,fi=`خح`,pi=`خم`,mi=`خم`,hi=`خى`,gi=`خى`,_i=`خى`,vi=`خى`,yi=`دؕ`,bi=`دؕ`,xi=`دؕ`,Si=`دۛ`,Ci=`دۛ`,wi=`دۛ`,Ti=`د̂`,Ei=`د̤̣`,Di=`ذٰ`,Oi=`ڊؕ`,ki=`رؕ`,Ai=`رؕ`,ji=`رؕ`,Mi=`رۛ`,Ni=`رۛ`,Pi=`رۛ`,Fi=`ر̆`,Ii=`ر̆̇`,Li=`ر̂`,Ri=`رٔ`,zi=`رٰ`,Bi=`رسول`,Vi=`ز̂`,Hi=`ڗؕ`,Ui=`سۛ`,Wi=`سۛ`,Gi=`سۛ`,Ki=`سۛ`,qi=`سۛ`,Ji=`سۛ`,Yi=`سۛ`,Xi=`سۛ`,Zi=`سۛ`,Qi=`سۛ`,$i=`سۛ`,ea=`س̂`,ta=`سۛo`,na=`سۛo`,ra=`سج`,ia=`سج`,aa=`سج`,oa=`سۛج`,sa=`سۛج`,ca=`سۛج`,la=`سۛج`,ua=`سجح`,da=`سجى`,fa=`سۛجى`,pa=`سح`,ma=`سح`,ha=`سح`,ga=`سۛح`,_a=`سۛح`,va=`سۛح`,ya=`سۛح`,ba=`سحج`,xa=`سۛحم`,Sa=`سۛحم`,Ca=`سۛحى`,wa=`سخ`,Ta=`سخ`,Ea=`سخ`,Da=`سۛخ`,Oa=`سۛخ`,ka=`سۛخ`,Aa=`سۛخ`,ja=`سخى`,Ma=`سخى`,Na=`سر`,Pa=`سر`,Fa=`سۛر`,Ia=`سۛر`,La=`سم`,Ra=`سم`,za=`سم`,Ba=`سۛم`,Va=`سۛم`,Ha=`سۛم`,Ua=`سۛم`,Wa=`سمج`,Ga=`سمح`,Ka=`سمح`,qa=`سۛمخ`,Ja=`سۛمخ`,Ya=`سمم`,Xa=`سمم`,Za=`سۛمم`,Qa=`سۛمم`,$a=`سى`,eo=`سى`,to=`سى`,no=`سى`,ro=`سۛى`,io=`سۛى`,ao=`سۛى`,oo=`سۛى`,so=`صۛ`,co=`ص̤̣`,lo=`صح`,uo=`صح`,fo=`صحح`,po=`صحح`,mo=`صحى`,ho=`صخ`,go=`صر`,_o=`صر`,vo=`صلعم`,yo=`صلى`,bo=`صلى`,xo=`صلى lللo علىo وسلم`,So=`صم`,Co=`صم`,wo=`صمم`,To=`صمم`,Eo=`صى`,Do=`صى`,Oo=`صى`,ko=`صى`,Ao=`ضج`,jo=`ضج`,Mo=`ضح`,No=`ضح`,Po=`ضحى`,Fo=`ضحى`,Io=`ضخ`,Lo=`ضخ`,Ro=`ضخم`,zo=`ضخم`,Bo=`ضر`,Vo=`ضر`,Ho=`ضم`,Uo=`ضم`,Wo=`ضى`,Go=`ضى`,Ko=`ضى`,qo=`ضى`,Jo=`طۛ`,Yo=`طح`,Xo=`طح`,Zo=`طم`,Qo=`طم`,$o=`طم`,es=`طمح`,ts=`طمح`,ns=`طمم`,rs=`طمى`,is=`طى`,as=`طى`,os=`طى`,ss=`طى`,cs=`ظم`,ls=`ظم`,us=`ظم`,ds=`عج`,fs=`عج`,ps=`عجم`,ms=`عجم`,hs=`علىo`,gs=`عم`,_s=`عم`,vs=`عمم`,ys=`عمم`,bs=`عمى`,xs=`عمى`,Ss=`عى`,Cs=`عى`,ws=`عى`,Ts=`عى`,Es=`غج`,Ds=`غج`,Os=`غم`,ks=`غم`,As=`غمم`,js=`غمى`,Ms=`غمى`,Ns=`غى`,Ps=`غى`,Fs=`غى`,Is=`غى`,Ls=`فج`,Rs=`فج`,zs=`فح`,Bs=`فح`,Vs=`فخ`,Hs=`فخ`,Us=`فخم`,Ws=`فخم`,Gs=`فم`,Ks=`فم`,qs=`فمى`,Js=`فى`,Ys=`فى`,Xs=`فى`,Zs=`فى`,Qs=`ڡۛ`,$s=`ڡۛ`,ec=`ڡۛ`,tc=`ڡۛ`,nc=`ڡۛ`,rc=`ڡۛ`,ic=`ڢۛ`,ac=`قح`,oc=`قح`,sc=`قلى`,cc=`قم`,lc=`قم`,uc=`قمح`,dc=`قمح`,fc=`قمم`,pc=`قمى`,mc=`قى`,hc=`قى`,gc=`قى`,_c=`قى`,vc=`كۛ`,yc=`كۛ`,bc=`كۛ`,xc=`كۛ`,Sc=`كۛ`,Cc=`كۛ`,wc=`كج`,Tc=`كج`,Ec=`كح`,Dc=`كح`,Oc=`كخ`,kc=`كخ`,Ac=`كل`,jc=`كل`,Mc=`كل`,Nc=`كل`,Pc=`كم`,Fc=`كم`,Ic=`كم`,Lc=`كم`,Rc=`كمم`,zc=`كمم`,Bc=`كمى`,Vc=`كى`,Hc=`كى`,Uc=`كى`,Wc=`كى`,Gc=`گۛ`,Kc=`لۛ`,qc=`ل̆`,Jc=`لlٕ`,Yc=`لlٕ`,Xc=`لlٴ`,Zc=`لlٴ`,Qc=`لآ`,$c=`لآ`,el=`لج`,tl=`لج`,nl=`لجج`,rl=`لجج`,il=`لجم`,al=`لجم`,ol=`لجى`,sl=`لح`,cl=`لح`,ll=`لحم`,ul=`لحم`,dl=`لحى`,fl=`لحى`,pl=`لخ`,ml=`لخ`,hl=`لخم`,gl=`لخم`,_l=`لم`,vl=`لم`,yl=`لم`,bl=`لم`,xl=`لمح`,Sl=`لمح`,Cl=`لمى`,wl=`لى`,Tl=`لى`,El=`لى`,Dl=`لى`,Ol=`مۛ`,kl=`مج`,Al=`مج`,jl=`مجح`,Ml=`مجخ`,Nl=`مجم`,Pl=`مجى`,Fl=`مح`,Il=`مح`,Ll=`محج`,Rl=`محم`,zl=`محمد`,Bl=`محى`,Vl=`مخ`,Hl=`مخ`,Ul=`مخج`,Wl=`مخم`,Gl=`مخى`,Kl=`مم`,ql=`مم`,Jl=`مم`,Yl=`ممى`,Xl=`مى`,Zl=`مى`,Ql=`نؕ`,$l=`ن̆`,eu=`نجح`,tu=`نجح`,nu=`نجم`,ru=`نجم`,iu=`نجى`,au=`نجى`,ou=`نح`,su=`نح`,cu=`نحم`,lu=`نحى`,uu=`نحى`,du=`نخ`,fu=`نخ`,pu=`نر`,mu=`نز`,hu=`نم`,gu=`نم`,_u=`نم`,vu=`نم`,yu=`نمى`,bu=`نمى`,xu=`نن`,Su=`نى`,Cu=`نى`,wu=`نى`,Tu=`نى`,Eu=`وۛ`,Du=`وۛ`,Ou=`وۛ`,ku=`و̓`,Au=`و̓`,ju=`و̓`,Mu=`و̆`,Nu=`و̆`,Pu=`و̆`,Fu=`و̂`,Iu=`و̂`,Lu=`و̂`,Ru=`وٰ`,zu=`وٰ`,Bu=`وٰ`,Vu=`وٴ`,Hu=`وٴ`,Uu=`وٴ`,Wu=`وٴ`,Gu=`و̓ٴ`,Ku=`و̓ٴ`,qu=`وسلم`,Ju=`ىؕ`,Yu=`ىؕ`,Xu=`ىؕ`,Zu=`ىؕ`,Qu=`ىؕ`,$u=`ىؕ`,ed=`ىؕ`,td=`ىؕ`,nd=`ىؕ`,rd=`ىؕ`,id=`ىۛ`,ad=`ىۛ`,od=`ىۛ`,sd=`ىۛ`,cd=`ىۛ`,ld=`ىۛ`,ud=`ىۛ`,dd=`ىۛ`,fd=`ىۛ`,pd=`ىۛ`,md=`ىۛ`,hd=`ىۛ`,gd=`ىۛ`,_d=`ىۛ`,vd=`ىۛ`,yd=`ىۛ`,bd=`ىۛ`,xd=`ىۛ`,Sd=`ىۛۢ`,Cd=`ى̆`,wd=`ى̆`,Td=`ى̆̇`,Ed=`ى̂`,Dd=`ىٔ`,Od=`ىٰ`,kd=`ىٰ`,Ad=`ىۛo`,jd=`ىٴ`,Md=`ىٴ`,Nd=`ىٴ`,Pd=`ىٴ`,Fd=`ىٴ`,Id=`ىٴ`,Ld=`ىٴl`,Rd=`ىٴl`,zd=`ىٴo`,Bd=`ىٴo`,Vd=`ىٴo`,Hd=`ىٴo`,Ud=`ىٴٻ`,Wd=`ىٴٻ`,Gd=`ىٴٻ`,Kd=`ىٴج`,qd=`ىٴج`,Jd=`ىٴح`,Yd=`ىٴح`,Xd=`ىٴخ`,Zd=`ىٴر`,Qd=`ىٴز`,$d=`ىٴم`,ef=`ىٴم`,tf=`ىٴم`,nf=`ىٴم`,rf=`ىٴن`,af=`ىٴو`,of=`ىٴو`,sf=`ىٴو̓`,cf=`ىٴو̓`,lf=`ىٴو̆`,uf=`ىٴو̆`,df=`ىٴوٰ`,ff=`ىٴوٰ`,pf=`ىٴى`,mf=`ىٴى`,hf=`ىٴى`,gf=`ىٴى`,_f=`ىٴى`,vf=`ىٴى`,yf=`ىٴى`,bf=`ىج`,xf=`ىج`,Sf=`ىۛج`,Cf=`ىجى`,wf=`ىح`,Tf=`ىح`,Ef=`ىحى`,Df=`ىخ`,Of=`ىخ`,kf=`ىر`,Af=`ىۛر`,jf=`ىز`,Mf=`ىۛز`,Nf=`ىم`,Pf=`ىم`,Ff=`ىم`,If=`ىم`,Lf=`ىۛم`,Rf=`ىۛم`,zf=`ىۛم`,Bf=`ىۛم`,Vf=`ىمم`,Hf=`ىمم`,Uf=`ىمى`,Wf=`ىن`,Gf=`ىۛن`,Kf=`ىى`,qf=`ىى`,Jf=`ىى`,Yf=`ىى`,Xf=`ىۛى`,Zf=`ىۛى`,Qf=`ىۛى`,$f=`ىۛى`,ep=`अा`,tp=`अाॆ`,np=`अाे`,rp=`अाै`,ip=`अॆ`,ap=`अॉ`,op=`एॅ`,sp=`एॆ`,cp=`एे`,lp=`र्इ`,up=`অা`,dp=`ঋৃ`,fp=`ঋৃ`,pp=`ੳੁ`,mp=`ੳੂ`,hp=`ਅਾ`,gp=`ਅੈ`,_p=`ਅੌ`,vp=`ੲਿ`,yp=`ੲੀ`,bp=`ੲੇ`,xp=`અા`,Sp=`અાૅ`,Cp=`અાે`,wp=`અાૈ`,Tp=`અૅ`,Ep=`અે`,Dp=`અૈ`,Op=`ଅା`,kp=`உள`,Ap=`உൗ`,jp=`டி`,Mp=`ఋా`,Np=`ఌా`,Pp=`ఒౌ`,Fp=`ఒౌ`,Ip=`ఒౕ`,Lp=`ఒౕ`,Rp=`డ̣`,zp=`ధּ`,Bp=`బ̣`,Vp=`రּ`,Hp=`వ̣`,Up=`వా`,Wp=`వు`,Gp=`ಌಾ`,Kp=`ഇൗ`,qp=`എെ`,Jp=`ഒാ`,Yp=`ഒൗ`,Xp=`നു`,Zp=`നു`,Qp=`ന്`,$p=`ര്`,em=`𑐴𑑂𑐒`,tm=`𑐴𑑂𑐘`,nm=`𑐴𑑂𑐣`,rm=`𑐴𑑂𑐩`,im=`𑐴𑑂𑐬`,am=`𑐴𑑂𑐮`,om=`𑖂`,sm=`𑖂`,cm=`𑖃`,lm=`𑖄`,um=`̊า`,dm=`เเ`,fm=`ຫນ`,pm=`ຫມ`,mm=`̊າ`,hm=`ཨོཾ`,gm=`ဂှ`,_m=`ဂာ`,vm=`ဃှ`,ym=`ပှ`,bm=`ပာ`,xm=`ပာှ`,Sm=`ၽှ`,Cm=`သြ`,wm=`သြော်`,Tm=`ᐁ·`,Em=`ᐁᐠ`,Dm=`ᐄ·`,Om=`ᐅ·`,km=`ᐅᐠ`,Am=`ᐆ·`,jm=`ᐊ·`,Mm=`ᐊᐠ`,Nm=`ᐋ·`,Pm=`ᐞᣟ`,Fm=`ᐲ·`,Im=`ᐴ·`,Lm=`ᐹ·`,Rm=`ᑏ·`,zm=`ᑐ·`,Bm=`ᑐ'`,Vm=`ᑑ·`,Hm=`ᑕ·`,Um=`ᑕ'`,Wm=`ᑖ·`,Gm=`ᑫ·`,Km=`ᑫ'`,qm=`ᑮ·`,Jm=`ᑰ·`,Ym=`ᒉ·`,Xm=`ᒋ·`,Zm=`ᒌ·`,Qm=`ᒎ·`,$m=`ᒐ·`,eh=`ᒑ·`,th=`ᒣ·`,nh=`ᒦ·`,rh=`ᒧ·`,ih=`ᒨ·`,ah=`ᒫ·`,oh=`ᓀ·`,sh=`ᓂ·`,ch=`ᓃ·`,lh=`ᓄ·`,uh=`ᓅ·`,dh=`ᓇ·`,fh=`ᓈ·`,ph=`ᓓ·`,mh=`ᓕ·`,hh=`ᓖ·`,gh=`ᓗ·`,_h=`ᓘ·`,vh=`ᓚ·`,yh=`ᓛ·`,bh=`ᓭ·`,xh=`ᓯ·`,Sh=`ᓰ·`,Ch=`ᓱ·`,wh=`ᓲ·`,Th=`ᓴ·`,Eh=`ᓵ·`,Dh=`ᔋ<`,Oh=`ᔋb`,kh=`ᔋᑕ`,Ah=`ᔋᒐ`,jh=`ᔐ·`,Mh=`ᔑ·`,Nh=`ᔒ·`,Ph=`ᔓ·`,Fh=`ᔔ·`,Ih=`ᔕ·`,Lh=`ᔖ·`,Rh=`ᔨ·`,zh=`ᔩ·`,Bh=`ᔪ·`,Vh=`ᔫ·`,Hh=`ᔭ·`,Uh=`ᔮ·`,Wh=`ᕃ·`,Gh=`ᕌ·`,Kh=`ᕐb`,qh=`ᕐḃ`,Jh=`ᕐd`,Yh=`ᕐP`,Xh=`ᕐᑫ`,Zh=`ᕐᑬ`,Qh=`ᕐᑮ`,$h=`ᕐᑰ`,eg=`ᕐᒃ`,tg=`ᕚ·`,ng=`ᕞ·`,rg=`ᕦ·`,ig=`ᕧ·`,ag=`ᕫ·`,og=`ᖆ·`,sg=`ᖕJ`,cg=`ᖕᒉ`,lg=`ᖕᒊ`,ug=`ᖕᒋ`,dg=`ᖕᒌ`,fg=`ᖕᒎ`,pg=`ᖕᒐ`,mg=`ᖕᒑ`,hg=`ᖖJ`,gg=`ᖖᒋ`,_g=`ᖖᒌ`,vg=`ᖖᒎ`,yg=`ᖖᒐ`,bg=`ᖖᒑ`,xg=`ᖗ·`,Sg=`ᖧ·`,Cg=`ᖨ·`,wg=`ᖩ·`,Tg=`ᖪ·`,Eg=`ᖫ·`,Dg=`ᖬ·`,Og=`ᖭ·`,kg=`ᗴ·`,Ag=`ᘛ·`,jg=`ᣟᐞ`,Mg=`ᄀᄀ`,Ng=`ᄀᄀ`,Pg=`ᄀᄀ`,Fg=`ᄀᄂ`,Ig=`ᄀᄃ`,Lg=`ᄀᄅ`,Rg=`ᄀᄇ`,zg=`ᄀᄉ`,Bg=`ᄀᄉ`,Vg=`ᄀᄉᄀ`,Hg=`ᄀᄎ`,Ug=`ᄀᄏ`,Wg=`ᄀᄒ`,Gg=`ᄂᄀ`,Kg=`ᄂᄀ`,qg=`ᄂᄂ`,Jg=`ᄂᄂ`,Yg=`ᄂᄂ`,Xg=`ᄂᄃ`,Zg=`ᄂᄃ`,Qg=`ᄂᄃ`,$g=`ᄂᄅ`,e_=`ᄂᄇ`,t_=`ᄂᄉ`,n_=`ᄂᄉ`,r_=`ᄂᄉ`,i_=`ᄂᄌ`,a_=`ᄂᄌ`,o_=`ᄂᄌ`,s_=`ᄂᄎ`,c_=`ᄂᄐ`,l_=`ᄂᄒ`,u_=`ᄂᄒ`,d_=`ᄂᄒ`,f_=`ᄂᅀ`,p_=`ᄂᅀ`,m_=`ᄃᄀ`,h_=`ᄃᄀ`,g_=`ᄃᄃ`,__=`ᄃᄃ`,v_=`ᄃᄃ`,y_=`ᄃᄃᄇ`,b_=`ᄃᄅ`,x_=`ᄃᄅ`,S_=`ᄃᄆ`,C_=`ᄃᄇ`,w_=`ᄃᄇ`,T_=`ᄃᄉ`,E_=`ᄃᄉ`,D_=`ᄃᄉᄀ`,O_=`ᄃᄌ`,k_=`ᄃᄌ`,A_=`ᄃᄎ`,j_=`ᄃᄐ`,M_=`ᄅᄀ`,N_=`ᄅᄀ`,P_=`ᄅᄀ`,F_=`ᄅᄀᄀ`,I_=`ᄅᄀᄀ`,L_=`ᄅᄀᄉ`,R_=`ᄅᄀᄉ`,z_=`ᄅᄀᄒ`,B_=`ᄅᄂ`,V_=`ᄅᄂ`,H_=`ᄅᄃ`,U_=`ᄅᄃ`,W_=`ᄅᄃ`,G_=`ᄅᄃᄃ`,K_=`ᄅᄃᄒ`,q_=`ᄅᄅ`,J_=`ᄅᄅ`,Y_=`ᄅᄅᄏ`,X_=`ᄅᄆ`,Z_=`ᄅᄆ`,Q_=`ᄅᄆ`,$_=`ᄅᄆᄀ`,ev=`ᄅᄆᄉ`,tv=`ᄅᄆᄒ`,nv=`ᄅᄇ`,rv=`ᄅᄇ`,iv=`ᄅᄇ`,av=`ᄅᄇᄃ`,ov=`ᄅᄇᄇ`,sv=`ᄅᄇᄉ`,cv=`ᄅᄇᄉ`,lv=`ᄅᄇᄋ`,uv=`ᄅᄇᄋ`,dv=`ᄅᄇᄑ`,fv=`ᄅᄇᄒ`,pv=`ᄅᄉ`,mv=`ᄅᄉ`,hv=`ᄅᄉ`,gv=`ᄅᄉᄉ`,_v=`ᄅᄋ`,vv=`ᄅᄋ`,yv=`ᄅᄌ`,bv=`ᄅᄏ`,xv=`ᄅᄏ`,Sv=`ᄅᄐ`,Cv=`ᄅᄐ`,wv=`ᄅᄑ`,Tv=`ᄅᄑ`,Ev=`ᄅᄒ`,Dv=`ᄅᄒ`,Ov=`ᄅᄒ`,kv=`ᄅᄒ`,Av=`ᄅᄒ`,jv=`ᄅᅀ`,Mv=`ᄅᅀ`,Nv=`ᄅᅌ`,Pv=`ᄅᅙ`,Fv=`ᄅᅙ`,Iv=`ᄅᅙᄒ`,Lv=`ᄆᄀ`,Rv=`ᄆᄀ`,zv=`ᄆᄂ`,Bv=`ᄆᄂᄂ`,Vv=`ᄆᄃ`,Hv=`ᄆᄅ`,Uv=`ᄆᄆ`,Wv=`ᄆᄇ`,Gv=`ᄆᄇ`,Kv=`ᄆᄇ`,qv=`ᄆᄇᄉ`,Jv=`ᄆᄉ`,Yv=`ᄆᄉ`,Xv=`ᄆᄉ`,Zv=`ᄆᄉᄉ`,Qv=`ᄆᄋ`,$v=`ᄆᄋ`,ey=`ᄆᄋ`,ty=`ᄆᄌ`,ny=`ᄆᄎ`,ry=`ᄆᄒ`,iy=`ᄆᅀ`,ay=`ᄆᅀ`,oy=`ᄇᄀ`,sy=`ᄇᄀ`,cy=`ᄇᄂ`,ly=`ᄇᄃ`,uy=`ᄇᄃ`,dy=`ᄇᄃ`,fy=`ᄇᄅ`,py=`ᄇᄅᄑ`,my=`ᄇᄆ`,hy=`ᄇᄇ`,gy=`ᄇᄇ`,_y=`ᄇᄇ`,vy=`ᄇᄇᄋ`,yy=`ᄇᄇᄋ`,by=`ᄇᄉ`,xy=`ᄇᄉ`,Sy=`ᄇᄉ`,Cy=`ᄇᄉᄀ`,wy=`ᄇᄉᄀ`,Ty=`ᄇᄉᄃ`,Ey=`ᄇᄉᄃ`,Dy=`ᄇᄉᄃ`,Oy=`ᄇᄉᄇ`,ky=`ᄇᄉᄉ`,Ay=`ᄇᄉᄌ`,jy=`ᄇᄉᄐ`,My=`ᄇᄋ`,Ny=`ᄇᄋ`,Py=`ᄇᄋ`,Fy=`ᄇᄌ`,Iy=`ᄇᄌ`,Ly=`ᄇᄌ`,Ry=`ᄇᄎ`,zy=`ᄇᄎ`,By=`ᄇᄏ`,Vy=`ᄇᄐ`,Hy=`ᄇᄐ`,Uy=`ᄇᄑ`,Wy=`ᄇᄑ`,Gy=`ᄇᄒ`,Ky=`ᄇᄒ`,qy=`ᄉᄀ`,Jy=`ᄉᄀ`,Yy=`ᄉᄀ`,Xy=`ᄉᄂ`,Zy=`ᄉᄂ`,Qy=`ᄉᄃ`,$y=`ᄉᄃ`,eb=`ᄉᄃ`,tb=`ᄉᄅ`,nb=`ᄉᄅ`,rb=`ᄉᄆ`,ib=`ᄉᄆ`,ab=`ᄉᄇ`,ob=`ᄉᄇ`,sb=`ᄉᄇ`,cb=`ᄉᄇᄀ`,lb=`ᄉᄇᄋ`,ub=`ᄉᄉ`,db=`ᄉᄉ`,fb=`ᄉᄉ`,pb=`ᄉᄉᄀ`,mb=`ᄉᄉᄃ`,hb=`ᄉᄉᄇ`,gb=`ᄉᄉᄉ`,_b=`ᄉᄋ`,vb=`ᄉᄌ`,yb=`ᄉᄌ`,bb=`ᄉᄌ`,xb=`ᄉᄎ`,Sb=`ᄉᄎ`,Cb=`ᄉᄏ`,wb=`ᄉᄐ`,Tb=`ᄉᄐ`,Eb=`ᄉᄑ`,Db=`ᄉᅀ`,Ob=`ᄋᄀ`,kb=`ᄋᄀ`,Ab=`ᄋᄀᄀ`,jb=`ᄋᄃ`,Mb=`ᄋᄅ`,Nb=`ᄋᄆ`,Pb=`ᄋᄇ`,Fb=`ᄋᄉ`,Ib=`ᄋᄉ`,Lb=`ᄋᄉ`,Rb=`ᄋᄋ`,zb=`ᄋᄋ`,Bb=`ᄋᄋ`,Vb=`ᄋᄌ`,Hb=`ᄋᄎ`,Ub=`ᄋᄏ`,Wb=`ᄋᄐ`,Gb=`ᄋᄑ`,Kb=`ᄋᄒ`,qb=`ᄋᅀ`,Jb=`ᄋᅀ`,Yb=`ᄋᅀ`,Xb=`ᄌᄇ`,Zb=`ᄌᄇᄇ`,Qb=`ᄌᄋ`,$b=`ᄌᄌ`,ex=`ᄌᄌ`,tx=`ᄌᄌ`,nx=`ᄌᄌᄒ`,rx=`ᄎᄏ`,ix=`ᄎᄒ`,ax=`ᄐᄐ`,ox=`ᄑᄇ`,sx=`ᄑᄇ`,cx=`ᄑᄉ`,lx=`ᄑᄋ`,ux=`ᄑᄋ`,dx=`ᄑᄋ`,fx=`ᄑᄐ`,px=`ᄑᄒ`,mx=`ᄒᄂ`,hx=`ᄒᄅ`,gx=`ᄒᄆ`,_x=`ᄒᄇ`,vx=`ᄒᄉ`,yx=`ᄒᄒ`,bx=`ᄒᄒ`,xx=`ᄼᄼ`,Sx=`ᄾᄾ`,Cx=`ᅀᄇ`,wx=`ᅀᄇᄋ`,Tx=`ᅌᄆ`,Ex=`ᅌᄒ`,Dx=`ᅎᅎ`,Ox=`ᅐᅐ`,kx=`ᅙᅙ`,Ax=`ᅡー`,jx=`ᅡᅩ`,Mx=`ᅡᅮ`,Nx=`ᅡ丨`,Px=`ᅡ丨`,Fx=`ᅣᅩ`,Ix=`ᅣᅭ`,Lx=`ᅣᅮ`,Rx=`ᅣ丨`,zx=`ᅣ丨`,Bx=`ᅥー`,Vx=`ᅥᅩ`,Hx=`ᅥᅮ`,Ux=`ᅥ丨`,Wx=`ᅥ丨`,Gx=`ᅧᅣ`,Kx=`ᅧᅩ`,qx=`ᅧᅮ`,Jx=`ᅧ丨`,Yx=`ᅧ丨`,Xx=`ᅩᅡ`,Zx=`ᅩᅡ`,Qx=`ᅩᅡ丨`,$x=`ᅩᅡ丨`,eS=`ᅩᅣ`,tS=`ᅩᅣ丨`,nS=`ᅩᅥ`,rS=`ᅩᅥ丨`,iS=`ᅩᅧ`,aS=`ᅩᅧ丨`,oS=`ᅩᅩ`,sS=`ᅩᅩ丨`,cS=`ᅩᅮ`,lS=`ᅩ丨`,uS=`ᅩ丨`,dS=`ᅭᅡ`,fS=`ᅭᅡ丨`,pS=`ᅭᅣ`,mS=`ᅭᅣ`,hS=`ᅭᅣ`,gS=`ᅭᅣ丨`,_S=`ᅭᅣ丨`,vS=`ᅭᅥ`,yS=`ᅭᅩ`,bS=`ᅭ丨`,xS=`ᅭ丨`,SS=`ᅮᅡ`,CS=`ᅮᅡ丨`,wS=`ᅮᅥ`,TS=`ᅮᅥ`,ES=`ᅮᅥー`,DS=`ᅮᅥ丨`,OS=`ᅮᅥ丨`,kS=`ᅮᅧ`,AS=`ᅮᅧ丨`,jS=`ᅮᅮ`,MS=`ᅮ丨`,NS=`ᅮ丨`,PS=`ᅮ丨丨`,FS=`ᅲᅡ`,IS=`ᅲᅡ丨`,LS=`ᅲᅥ`,RS=`ᅲᅥ丨`,zS=`ᅲᅧ`,BS=`ᅲᅧ`,VS=`ᅲᅧ丨`,HS=`ᅲᅧ丨`,US=`ᅲᅩ`,WS=`ᅲᅮ`,GS=`ᅲ丨`,KS=`ᅲ丨`,qS=`ᆞᅡ`,JS=`ᆞᅥ`,YS=`ᆞᅥ丨`,XS=`ᆞᅮ`,ZS=`ᆞᆞ`,QS=`ᆞ丨`,$S=`ᆞ丨`,eC=`𑫥𑫯`,tC=`𑫥𑫥`,nC=`𑫥𑫥𑫯`,rC=`𑫥𑫥𑫰`,iC=`𑫥𑫰`,aC=`𑫳𑫯`,oC=`𑫳𑫳`,sC=`𑫳𑫳𑫯`,cC=`𑫳𑫳𑫰`,lC=`𑫳𑫰`,uC=`𑫫𑫯`,dC=`𑫫𑫫`,fC=`𑫫𑫫𑫯`,pC=`𐊨`,mC=`𐐺`,hC=`𐐒`,gC=`𐎂`,_C=`𐎓`,vC=`𐎚`,yC=`𐦞`,bC=`丨ー`,xC=`丨ᅡ`,SC=`丨ᅣ`,CC=`丨ᅣᅩ`,wC=`丨ᅣ丨`,TC=`丨ᅧ`,EC=`丨ᅧ丨`,DC=`丨ᅩ`,OC=`丨ᅩ丨`,kC=`丨ᅭ`,AC=`丨ᅮ`,jC=`丨ᅲ`,MC=`丨ᆞ`,NC=`丨丨`,PC=`𠄢`,FC=`𠔜`,IC=`𠔥`,LC=`𠕋`,RC=`𠘺`,zC=`𠠄`,BC=`𠣞`,VC=`𠨬`,HC=`𠭣`,UC=`𡓤`,WC=`𡚨`,GC=`𡛪`,KC=`𡧈`,qC=`𡬘`,JC=`𡴋`,YC=`𡷤`,XC=`𡷦`,ZC=`𢆃`,QC=`𢆟`,$C=`𢌱`,ew=`𢌱`,tw=`𢛔`,nw=`𢡄`,rw=`𢡊`,iw=`𢬌`,aw=`𢯱`,ow=`𣀊`,sw=`𣊸`,cw=`𣍟`,lw=`𣎓`,uw=`𣎜`,dw=`𣏃`,fw=`𣏕`,pw=`𣑭`,mw=`𣚣`,hw=`𣢧`,gw=`𣪍`,_w=`𣫺`,vw=`𣲼`,yw=`𣴞`,bw=`𣻑`,xw=`𣽞`,Sw=`𣾎`,Cw=`𤉣`,ww=`𤋮`,Tw=`𤎫`,Ew=`𤘈`,Dw=`𤜵`,Ow=`𤠔`,kw=`𤰶`,Aw=`𤲒`,jw=`𤾡`,Mw=`𤾸`,Nw=`𥁄`,Pw=`𥃲`,Fw=`𥃳`,Iw=`𥄙`,Lw=`𥄳`,Rw=`𥉉`,zw=`𥐝`,Bw=`𥘦`,Vw=`𥚚`,Hw=`𥛅`,Uw=`𥥼`,Ww=`𥪧`,Gw=`𥪧`,Kw=`𥮫`,qw=`𥲀`,Jw=`𥳐`,Yw=`𥾆`,Xw=`𦇚`,Zw=`𦈨`,Qw=`𦉇`,$w=`𦋙`,eT=`𦌾`,tT=`𦓚`,nT=`𦔣`,rT=`𦖨`,iT=`𦞧`,aT=`𦞵`,oT=`𦬼`,sT=`𦰶`,cT=`𦳕`,lT=`𦵫`,uT=`𦼬`,dT=`𦾱`,fT=`𧃒`,pT=`𧏊`,mT=`𧙧`,hT=`𧢮`,gT=`𧥦`,_T=`𧲨`,vT=`𧻓`,yT=`𧼯`,bT=`𨗒`,xT=`𨗭`,ST=`𨜮`,CT=`𨯺`,wT=`𨵷`,TT=`𩅅`,ET=`𩇟`,DT=`𩈚`,OT=`𩐊`,kT=`𩒖`,AT=`𩖶`,jT=`𩬰`,MT=`𪃎`,NT=`𪄅`,PT=`𪈎`,FT=`𪊑`,IT=`𪎒`,LT=`𪘀`,RT={0:`O`,1:`l`,"֭":`֖`,"֮":`֘`,"֨":`֙`,"֤":`֚`,"᪴":`ۛ`,"⃛":`ۛ`,"ؙ":`̓`,"ࣳ":`̓`,"̓":`̓`,"̕":`̓`,"ُ":`̓`,"ٝ":`̔`,"֜":`́`,"֝":`́`,"ؘ":`́`,"݇":`́`,"́":`́`,"॔":`́`,"َ":`́`,"̀":`̀`,"॓":`̀`,"̌":`̆`,"꙼":`̆`,"٘":`̆`,"ٚ":`̆`,"ͮ":`̆`,"ۨ":`̆̇`,"̐":`̆̇`,"ँ":`̆̇`,"ঁ":`̆̇`,"ઁ":`̆̇`,"ଁ":`̆̇`,"ఀ":`̆̇`,"ಁ":`̆̇`,"ഁ":`̆̇`,"𑒿":`̆̇`,"᳐":`̂`,"̑":`̂`,"ٛ":`̂`,"߮":`̂`,"꛰":`̂`,"֯":`̊`,"۟":`̊`,"៓":`̊`,"゚":`̊`,"ْ":`̊`,"ஂ":`̊`,"ံ":`̊`,"ំ":`̊`,"𑌀":`̊`,"ํ":`̊`,"ໍ":`̊`,"ͦ":`̊`,"ⷪ":`̊`,"࣫":`̈`,"߳":`̈`,"ً":`̋`,"ࣰ":`̋`,"͂":`̃`,"ٓ":`̃`,"ׄ":`̇`,"۬":`̇`,"݀":`̇`,"࣪":`̇`,"݁":`̇`,"͘":`̇`,"ֹ":`̇`,"ֺ":`̇`,"ׂ":`̇`,"ׁ":`̇`,"߭":`̇`,"ं":`̇`,"ਂ":`̇`,"ં":`̇`,"்":`̇`,"̷":`̸`,"᪷":`̨`,"̢":`̨`,"ͅ":`̨`,"᳒":`̄`,"̅":`̄`,"ٙ":`̄`,"߫":`̄`,"꛱":`̄`,"᳚":`̎`,"ٗ":`̒`,"͗":`͐`,"ࣿ":`͐`,"ࣸ":`͐`,"ऀ":`͒`,"᳭":`̖`,"᳜":`̩`,"ٖ":`̩`,"᳕":`̫`,"͇":`̳`,"ࣹ":`͔`,"ࣺ":`͕`,゛:`゙`,゜:`゚`,"̶":`̵`,"〬":`̉`,"ׅ":`̣`,"࣭":`̣`,"᳝":`̣`,"ִ":`̣`,"ٜ":`̣`,"़":`̣`,"়":`̣`,"਼":`̣`,"઼":`̣`,"଼":`̣`,"𑇊":`̣`,"𑓃":`̣`,"𐨺":`̣`,"࣮":`̤`,"᳞":`̤`,"༷":`̥`,"〭":`̥`,"̧":`̦`,"̡":`̦`,"̹":`̦`,"᳙":`̭`,"᳘":`̮`,"॒":`̱`,"̠":`̱`,"ࣱ":`ٌ`,"ࣨ":`ٌ`,"ࣥ":`ٌ`,ﱞ:f,"ࣲ":`ٍ`,ﱟ:p,ﳲ:m,ﱠ:h,ﳳ:g,ﱡ:_,"ؚ":`ِ`,"̗":`ِ`,ﳴ:v,ﱢ:y,ﱣ:b,"ٟ":`ٕ`,"̍":`ٰ`,"݂":`ܼ`,"ਃ":`ঃ`,"ః":`ঃ`,"ಃ":`ঃ`,"ഃ":`ঃ`,"ඃ":`ঃ`,"း":`ঃ`,"𑓁":`ঃ`,"់":`่`,"່":`่`,"້":`้`,"໊":`๊`,"໋":`๋`,"꙯":`⃩`,"\u2028":` `,"\u2029":` `," ":` `," ":` `," ":` `," ":` `," ":` `," ":` `," ":` `," ":` `," ":` `," ":` `," ":` `," ":` `,"\xA0":` `," ":` `," ":` `,ߺ:`_`,"﹍":`_`,"﹎":`_`,"﹏":`_`,"‐":`-`,"‑":`-`,"‒":`-`,"–":`-`,"﹘":`-`,"۔":`-`,"⁃":`-`,"˗":`-`,"−":`-`,"➖":`-`,Ⲻ:`-`,"⨩":`-̓`,"⸚":`-̈`,"﬩":`-̇`,"∸":`-̇`,"⨪":`-̣`,"꓾":`-.`,"~":`〜`,"؍":`,`,"٫":`,`,"‚":`,`,"¸":`,`,ꓹ:`,`,"⸲":`،`,"٬":`،`,";":`;`,"⸵":`؛`,"ः":`:`,"ઃ":`:`,":":`:`,"։":`:`,"܃":`:`,"܄":`:`,"᛬":`:`,"︰":`:`,"᠃":`:`,"᠉":`:`,"⁚":`:`,"׃":`:`,"˸":`:`,"꞉":`:`,"∶":`:`,ː:`:`,ꓽ:`:`,"⩴":`::=`,"⧴":`:→`,"!":`!`,ǃ:`!`,ⵑ:`!`,"‼":`!!`,"⁉":`!?`,ʔ:`?`,Ɂ:`?`,ॽ:`?`,Ꭾ:`?`,ꛫ:`?`,"⁈":`?!`,"⁇":`??`,"⸮":`؟`,"𝅭":`.`,"․":`.`,"܁":`.`,"܂":`.`,"꘎":`.`,"𐩐":`.`,"٠":`.`,"۰":`.`,ꓸ:`.`,ꓻ:`.,`,"‥":`..`,ꓺ:`..`,"…":`...`,"꛴":`꛳꛳`,"・":`·`,"・":`·`,"᛫":`·`,"·":`·`,"⸱":`·`,"𐄁":`·`,"•":`·`,"‧":`·`,"∙":`·`,"⋅":`·`,ꞏ:`·`,ᐧ:`·`,"⋯":`···`,ⵈ:x,ᑄ:`·<`,"⋗":`·>`,ᐷ:`·>`,ᑀ:`·>`,ᔯ:`·4`,ᑾ:`·b`,ᒀ:S,ᑺ:`·d`,ᒘ:`·J`,ᒶ:`·L`,ᑶ:`·P`,ᑗ:`·U`,ᐺ:`·V`,ᐼ:ee,ᒮ:te,ᐎ:ne,ᑙ:re,ᐌ:ie,ᐐ:ae,ᐒ:oe,ᐔ:se,ᐗ:ce,ᐙ:le,ᐾ:ue,ᑂ:de,ᑆ:fe,ᑛ:pe,ᑔ:me,ᑝ:he,ᑟ:ge,ᑡ:_e,ᑣ:ve,ᑴ:ye,ᑸ:be,ᑼ:xe,ᒒ:Se,ᒔ:Ce,ᒖ:we,ᒚ:Te,ᒜ:Ee,ᒞ:De,ᒬ:Oe,ᒰ:ke,ᒲ:Ae,ᒴ:je,ᒸ:Me,ᓉ:Ne,ᣆ:Pe,ᣈ:Fe,ᣊ:Ie,ᣌ:Le,ᓋ:Re,ᓍ:ze,ᓜ:Be,ᓞ:Ve,ᓠ:He,ᓢ:Ue,ᓤ:We,ᓦ:Ge,ᓨ:Ke,ᓶ:qe,ᓸ:Je,ᓺ:Ye,ᓼ:Xe,ᓾ:Ze,ᔀ:Qe,ᔂ:$e,ᔗ:et,ᔙ:tt,ᔛ:nt,ᔝ:rt,ᔟ:it,ᔡ:at,ᔣ:ot,ᔱ:st,ᔳ:ct,ᔵ:lt,ᔷ:ut,ᔹ:dt,ᔻ:ft,ᣎ:pt,ᣏ:mt,ᣐ:ht,ᣑ:gt,ᣒ:_t,ᣓ:vt,ᕎ:yt,ᕛ:bt,ᕨ:xt,ᢳ:St,ᢶ:Ct,ᢹ:wt,ᣂ:Tt,"꠰":`।`,"॥":`।।`,"᰼":`᰻᰻`,"။":`၊၊`,"᪩":`᪨᪨`,"᪫":`᪪᪨`,"᭟":`᭞᭞`,"𐩗":`𐩖𐩖`,"𑑌":`𑑋𑑋`,"𑙂":`𑙁𑙁`,"𑱂":`𑱁𑱁`,"᱿":`᱾᱾`,"՝":`'`,"'":`'`,"‘":`'`,"’":`'`,"‛":`'`,"′":`'`,"‵":`'`,"՚":`'`,"׳":`'`,"`":`'`,"`":`'`,"`":`'`,"´":`'`,"΄":`'`,"´":`'`,"᾽":`'`,"᾿":`'`,"῾":`'`,ʹ:`'`,ʹ:`'`,ˈ:`'`,ˊ:`'`,ˋ:`'`,"˴":`'`,ʻ:`'`,ʽ:`'`,ʼ:`'`,ʾ:`'`,ꞌ:`'`,י:`'`,ߴ:`'`,ߵ:`'`,ᑊ:`'`,ᛌ:`'`,"𖽑":`'`,"𖽒":`'`,"᳓":`''`,'"':`''`,""":`''`,"“":`''`,"”":`''`,"‟":`''`,"″":`''`,"‶":`''`,"〃":`''`,"״":`''`,"˝":`''`,ʺ:`''`,"˶":`''`,ˮ:`''`,ײ:`''`,"‴":`'''`,"‷":`'''`,"⁗":`''''`,Ɓ:`'B`,Ɗ:`'D`,ʼn:`'n`,Ƥ:`'P`,Ƭ:`'T`,Ƴ:`'Y`,"[":`(`,"❨":`(`,"❲":`(`,"〔":`(`,"﴾":`(`,"⸨":`((`,"㈠":`(ー)`,"⑵":`(2)`,"⒇":`(2O)`,"⑶":`(3)`,"⑷":`(4)`,"⑸":`(5)`,"⑹":`(6)`,"⑺":`(7)`,"⑻":`(8)`,"⑼":`(9)`,"⒜":`(a)`,"🄐":`(A)`,"⒝":`(b)`,"🄑":`(B)`,"⒞":`(c)`,"🄒":`(C)`,"⒟":`(d)`,"🄓":`(D)`,"⒠":`(e)`,"🄔":`(E)`,"⒡":`(f)`,"🄕":`(F)`,"⒢":`(g)`,"🄖":`(G)`,"⒣":`(h)`,"🄗":`(H)`,"⒤":`(i)`,"⒥":`(j)`,"🄙":`(J)`,"⒦":`(k)`,"🄚":`(K)`,"⑴":`(l)`,"🄘":`(l)`,"⒧":`(l)`,"🄛":`(L)`,"⑿":`(l2)`,"⒀":`(l3)`,"⒁":`(l4)`,"⒂":`(l5)`,"⒃":`(l6)`,"⒄":`(l7)`,"⒅":`(l8)`,"⒆":`(l9)`,"⑾":`(ll)`,"⑽":`(lO)`,"🄜":`(M)`,"⒩":`(n)`,"🄝":`(N)`,"⒪":`(o)`,"🄞":`(O)`,"⒫":`(p)`,"🄟":`(P)`,"⒬":`(q)`,"🄠":`(Q)`,"⒭":`(r)`,"🄡":`(R)`,"⒨":`(rn)`,"⒮":`(s)`,"🄢":`(S)`,"🄪":`(S)`,"⒯":`(t)`,"🄣":`(T)`,"⒰":`(u)`,"🄤":`(U)`,"⒱":`(v)`,"🄥":`(V)`,"⒲":`(w)`,"🄦":`(W)`,"⒳":`(x)`,"🄧":`(X)`,"⒴":`(y)`,"🄨":`(Y)`,"⒵":`(z)`,"🄩":`(Z)`,"㈀":`(ᄀ)`,"㈎":`(가)`,"㈁":`(ᄂ)`,"㈏":`(나)`,"㈂":`(ᄃ)`,"㈐":`(다)`,"㈃":`(ᄅ)`,"㈑":`(라)`,"㈄":`(ᄆ)`,"㈒":`(마)`,"㈅":`(ᄇ)`,"㈓":`(바)`,"㈆":`(ᄉ)`,"㈔":`(사)`,"㈇":`(ᄋ)`,"㈕":`(아)`,"㈝":`(오전)`,"㈞":`(오후)`,"㈈":`(ᄌ)`,"㈖":`(자)`,"㈜":`(주)`,"㈉":`(ᄎ)`,"㈗":`(차)`,"㈊":`(ᄏ)`,"㈘":`(카)`,"㈋":`(ᄐ)`,"㈙":`(타)`,"㈌":`(ᄑ)`,"㈚":`(파)`,"㈍":`(ᄒ)`,"㈛":`(하)`,"㈦":`(七)`,"㈢":`(三)`,"🉁":`(三)`,"㈨":`(九)`,"㈡":`(二)`,"🉂":`(二)`,"㈤":`(五)`,"㈹":`(代)`,"㈽":`(企)`,"㉁":`(休)`,"㈧":`(八)`,"㈥":`(六)`,"㈸":`(労)`,"🉇":`(勝)`,"㈩":`(十)`,"㈿":`(協)`,"㈴":`(名)`,"㈺":`(呼)`,"㈣":`(四)`,"㈯":`(土)`,"㈻":`(学)`,"🉃":`(安)`,"🉅":`(打)`,"🉈":`(敗)`,"㈰":`(日)`,"㈪":`(月)`,"㈲":`(有)`,"㈭":`(木)`,"🉀":`(本)`,"㈱":`(株)`,"㈬":`(水)`,"㈫":`(火)`,"🉄":`(点)`,"㈵":`(特)`,"🉆":`(盗)`,"㈼":`(監)`,"㈳":`(社)`,"㈷":`(祝)`,"㉀":`(祭)`,"㉂":`(自)`,"㉃":`(至)`,"㈶":`(財)`,"㈾":`(資)`,"㈮":`(金)`,"]":`)`,"❩":`)`,"❳":`)`,"〕":`)`,"﴿":`)`,"⸩":`))`,"❴":`{`,"𝄔":`{`,"❵":`}`,"〚":`⟦`,"〛":`⟧`,"⟨":`❬`,"〈":`❬`,"〈":`❬`,"㇛":`❬`,く:`❬`,𡿨:`❬`,"⟩":`❭`,"〉":`❭`,"〉":`❭`,"^":`︿`,"⸿":`¶`,"⁎":`*`,"٭":`*`,"∗":`*`,𐌟:`*`,"᜵":`/`,"⁁":`/`,"∕":`/`,"⁄":`/`,"╱":`/`,"⟋":`/`,"⧸":`/`,"𝈺":`/`,"㇓":`/`,〳:`/`,Ⳇ:`/`,ノ:`/`,丿:`/`,"⼃":`/`,"⧶":`/̄`,"⫽":`//`,"⫻":`///`,"\":`\\`,"﹨":`\\`,"∖":`\\`,"⟍":`\\`,"⧵":`\\`,"⧹":`\\`,"𝈏":`\\`,"𝈻":`\\`,"㇔":`\\`,丶:`\\`,"⼂":`\\`,"⳹":`\\\\`,"⑊":`\\\\`,"⟈":`\\ᑕ`,ꝸ:`&`,"૰":`॰`,"𑂻":`॰`,"𑇇":`॰`,"⚬":`॰`,"𑇛":`꣼`,"៙":`๏`,"៕":`๚`,"៚":`๛`,"༌":`་`,"༎":`།།`,"˄":`^`,ˆ:`^`,"꙾":`ˇ`,"˘":`ˇ`,"‾":`ˉ`,"﹉":`ˉ`,"﹊":`ˉ`,"﹋":`ˉ`,"﹌":`ˉ`,"¯":`ˉ`," ̄":`ˉ`,"▔":`ˉ`,ъ:`ˉb`,ꙑ:Et,"͵":`ˏ`,"˻":`˪`,"꜖":`˪`,"꜔":`˫`,"。":`˳`,"⸰":`°`,"˚":`°`,"∘":`°`,"○":`°`,"◦":`°`,"⍜":`°̲`,"⍤":`°̈`,"℃":`°C`,"℉":`°F`,"௵":`௳`,"༛":`༚༚`,"༟":`༚༝`,"࿎":`༝༚`,"༞":`༝༝`,"Ⓒ":`©`,"Ⓡ":`®`,"Ⓟ":`℗`,"𝈛":`⅄`,"⯬":`↞`,"⯭":`↟`,"⯮":`↠`,"⯯":`↡`,"↵":`↲`,"⥥":`⇃⇂`,"⥯":`⇃ᛚ`,"𝛛":`∂`,"𝜕":`∂`,"𝝏":`∂`,"𝞉":`∂`,"𝟃":`∂`,"𞣌":`∂`,"𞣍":`∂̵`,ð:Dt,"⌀":`∅`,"𝛁":`∇`,"𝛻":`∇`,"𝜵":`∇`,"𝝯":`∇`,"𝞩":`∇`,𑢨:`∇`,"⍢":`∇̈`,"⍫":`∇̴`,"█":`∎`,"■":`∎`,"⨿":`∐`,"᛭":`+`,"➕":`+`,𐊛:`+`,"⨣":`+̂`,"⨢":`+̊`,"⨤":`+̃`,"∔":`+̇`,"⨥":`+̣`,"⨦":`+̰`,"⨧":`+₂`,"➗":`÷`,"‹":`<`,"❮":`<`,"˂":`<`,"𝈶":`<`,ᐸ:`<`,ᚲ:`<`,"⋖":`<·`,Ⲵ:`<·`,ᑅ:`<·`,"≪":`<<`,"⋘":`<<<`,"᐀":`=`,"⹀":`=`,"゠":`=`,"꓿":`=`,"≚":`=̆`,"≙":`=̂`,"≗":`=̊`,"≐":`=̇`,"≑":`=̣̇`,"⩮":`=⃰`,"⩵":`==`,"⩶":`===`,"≞":`=ͫ`,"›":`>`,"❯":`>`,"˃":`>`,"𝈷":`>`,ᐳ:`>`,𖼿:`>`,ᑁ:`>·`,"⪥":`><`,"≫":`>>`,"⨠":`>>`,"⋙":`>>>`,"⁓":`~`,"˜":`~`,"῀":`~`,"∼":`~`,"⍨":`~̈`,"⸞":`~̇`,"⩪":`~̇`,"⸟":`~̣`,"𞣈":`∠`,"⋀":`∧`,"∯":`∮∮`,"∰":`∮∮∮`,"⸫":`∴`,"⸪":`∵`,"⸬":`∷`,"𑇞":`≈`,"♎":`≏`,"🝞":`≏`,"≣":`≡`,"⨃":`⊍`,"⨄":`⊎`,"𝈸":`⊏`,"𝈹":`⊐`,"⨅":`⊓`,"⨆":`⊔`,"⨂":`⊗`,"⍟":`⊛`,"🝱":`⊠`,"🝕":`⊡`,"◁":`⊲`,"▷":`⊳`,"⍣":`⋆̈`,"︴":`⌇`,"◠":`⌒`,"⨽":`⌙`,"⌥":`⌤`,"⧇":`⌻`,"◎":`⌾`,"⦾":`⌾`,"⧅":`⍂`,"⦰":`⍉`,"⏃":`⍋`,"⏂":`⍎`,"⏁":`⍕`,"⏆":`⍭`,"☸":`⎈`,"︵":`⏜`,"︶":`⏝`,"︷":`⏞`,"︸":`⏟`,"︹":`⏠`,"︺":`⏡`,"▱":`⏥`,"⏼":`⏻`,"︱":`│`,"|":`│`,"┃":`│`,"┏":`┌`,"┣":`├`,"▐":`▌`,"▗":`▖`,"▝":`▘`,"☐":`□`,"■":`▪`,"▸":`▶`,"►":`▶`,"⳩":`☧`,"🜊":`☩`,"🌒":`☽`,"🌙":`☽`,"⏾":`☾`,"🌘":`☾`,"⧙":`⦚`,"🜺":`⧟`,"⨾":`⨟`,"𐆠":`⳨`,"♩":`𝅘𝅥`,"♪":`𝅘𝅥𝅮`,"⓪":`🄍`,"↺":`🄎`,"˙":`ॱ`,ൎ:`ॱ`,"-":`ー`,"—":`ー`,"―":`ー`,"─":`ー`,"━":`ー`,"㇐":`ー`,ꟷ:`ー`,ᅳ:`ー`,ㅡ:`ー`,一:`ー`,"⼀":`ー`,ᆖ:Ot,ힹ:kt,ힺ:At,ힻ:jt,ힼ:Mt,ᆕ:Nt,ᅴ:Pt,ㅢ:Ft,ᆗ:It,"🄏":`$⃠`,"₤":`£`,"〒":`₸`,"〶":`₸`,"᭜":`᭐`,"꧆":`꧐`,"𑓑":`১`,"೧":`౧`,ၥ:`၁`,"①":`➀`,"⑩":`➉`,"⏨":`₁₀`,"𝟐":`2`,"𝟚":`2`,"𝟤":`2`,"𝟮":`2`,"𝟸":`2`,"🯲":`2`,Ꝛ:`2`,Ƨ:`2`,Ϩ:`2`,Ꙅ:`2`,ᒿ:`2`,ꛯ:`2`,ꧏ:`٢`,"۲":`٢`,"૨":`२`,"𑓒":`২`,"೨":`౨`,"②":`➁`,ƻ:`2̵`,"🄃":`2,`,"⒉":`2.`,"㏵":`22日`,"㍮":`22点`,"㏶":`23日`,"㍯":`23点`,"㏷":`24日`,"㍰":`24点`,"㏸":`25日`,"㏹":`26日`,"㏺":`27日`,"㏻":`28日`,"㏼":`29日`,"㏴":`2l日`,"㍭":`2l点`,"⒛":`2O.`,"㏳":`2O日`,"㍬":`2O点`,"෩":`෨ා`,"෯":`෨ී`,"㏡":`2日`,"㋁":`2月`,"㍚":`2点`,"𝈆":`3`,"𝟑":`3`,"𝟛":`3`,"𝟥":`3`,"𝟯":`3`,"𝟹":`3`,"🯳":`3`,Ɜ:`3`,Ȝ:`3`,Ʒ:`3`,Ꝫ:`3`,Ⳍ:`3`,З:`3`,Ӡ:`3`,𖼻:`3`,𑣊:`3`,"۳":`٣`,"𞣉":`٣`,"૩":`३`,"③":`➂`,Ҙ:`3̦`,"🄄":`3,`,"⒊":`3.`,"㏾":`3l日`,"㏽":`3O日`,"㏢":`3日`,"㋂":`3月`,"㍛":`3点`,"𝟒":`4`,"𝟜":`4`,"𝟦":`4`,"𝟰":`4`,"𝟺":`4`,"🯴":`4`,Ꮞ:`4`,𑢯:`4`,"۴":`٤`,"૪":`४`,"④":`➃`,"🄅":`4,`,"⒋":`4.`,ᔰ:`4·`,"㏣":`4日`,"㋃":`4月`,"㍜":`4点`,"𝟓":`5`,"𝟝":`5`,"𝟧":`5`,"𝟱":`5`,"𝟻":`5`,"🯵":`5`,Ƽ:`5`,𑢻:`5`,"⑤":`➄`,"🄆":`5,`,"⒌":`5.`,"㏤":`5日`,"㋄":`5月`,"㍝":`5点`,"𝟔":`6`,"𝟞":`6`,"𝟨":`6`,"𝟲":`6`,"𝟼":`6`,"🯶":`6`,Ⳓ:`6`,б:`6`,Ꮾ:`6`,𑣕:`6`,"۶":`٦`,"𑓖":`৬`,"⑥":`➅`,"🄇":`6,`,"⒍":`6.`,"㏥":`6日`,"㋅":`6月`,"㍞":`6点`,"𝈒":`7`,"𝟕":`7`,"𝟟":`7`,"𝟩":`7`,"𝟳":`7`,"𝟽":`7`,"🯷":`7`,𐓒:`7`,𑣆:`7`,"⑦":`➆`,"🄈":`7,`,"⒎":`7.`,"㏦":`7日`,"㋆":`7月`,"㍟":`7点`,"ଃ":`8`,"৪":`8`,"੪":`8`,"𞣋":`8`,"𝟖":`8`,"𝟠":`8`,"𝟪":`8`,"𝟴":`8`,"𝟾":`8`,"🯸":`8`,ȣ:`8`,Ȣ:`8`,𐌚:`8`,"૮":`८`,"⑧":`➇`,"🄉":`8,`,"⒏":`8.`,"㏧":`8日`,"㋇":`8月`,"㍠":`8点`,"੧":`9`,"୨":`9`,"৭":`9`,"൭":`9`,"𝟗":`9`,"𝟡":`9`,"𝟫":`9`,"𝟵":`9`,"𝟿":`9`,"🯹":`9`,Ꝯ:`9`,Ⳋ:`9`,𑣌:`9`,𑢬:`9`,𑣖:`9`,"१":`٩`,"𑣤":`٩`,"۹":`٩`,"೯":`౯`,"⑨":`➈`,"🄊":`9,`,"⒐":`9.`,"㏨":`9日`,"㋈":`9月`,"㍡":`9点`,"⍺":`a`,a:`a`,𝐚:`a`,𝑎:`a`,𝒂:`a`,𝒶:`a`,𝓪:`a`,𝔞:`a`,𝕒:`a`,𝖆:`a`,𝖺:`a`,𝗮:`a`,𝘢:`a`,𝙖:`a`,𝚊:`a`,ɑ:`a`,α:`a`,𝛂:`a`,𝛼:`a`,𝜶:`a`,𝝰:`a`,𝞪:`a`,а:`a`,"ⷶ":`ͣ`,A:`A`,𝐀:`A`,𝐴:`A`,𝑨:`A`,𝒜:`A`,𝓐:`A`,𝔄:`A`,𝔸:`A`,𝕬:`A`,𝖠:`A`,𝗔:`A`,𝘈:`A`,𝘼:`A`,𝙰:`A`,Α:`A`,𝚨:`A`,𝛢:`A`,𝜜:`A`,𝝖:`A`,𝞐:`A`,А:`A`,Ꭺ:`A`,ᗅ:`A`,ꓮ:`A`,𖽀:`A`,𐊠:`A`,"⍶":`a̲`,ǎ:`ă`,Ǎ:`Ă`,ȧ:`å`,Ȧ:`Å`,ẚ:`ả`,"℀":`a/c`,"℁":`a/s`,ꜳ:`aa`,Ꜳ:`AA`,æ:`ae`,ӕ:`ae`,Æ:`AE`,Ӕ:`AE`,ꜵ:`ao`,Ꜵ:`AO`,"🜇":`AR`,ꜷ:`au`,Ꜷ:`AU`,ꜹ:`av`,ꜻ:`av`,Ꜹ:`AV`,Ꜻ:`AV`,ꜽ:`ay`,Ꜽ:`AY`,ꭺ:`ᴀ`,"∀":`Ɐ`,"𝈗":`Ɐ`,ᗄ:`Ɐ`,ꓯ:`Ɐ`,𐐟:`Ɒ`,𝐛:`b`,𝑏:`b`,𝒃:`b`,𝒷:`b`,𝓫:`b`,𝔟:`b`,𝕓:`b`,𝖇:`b`,𝖻:`b`,𝗯:`b`,𝘣:`b`,𝙗:`b`,𝚋:`b`,Ƅ:`b`,Ь:`b`,Ꮟ:`b`,ᑲ:`b`,ᖯ:`b`,B:`B`,ℬ:`B`,𝐁:`B`,𝐵:`B`,𝑩:`B`,𝓑:`B`,𝔅:`B`,𝔹:`B`,𝕭:`B`,𝖡:`B`,𝗕:`B`,𝘉:`B`,𝘽:`B`,𝙱:`B`,Ꞵ:`B`,Β:`B`,𝚩:`B`,𝛣:`B`,𝜝:`B`,𝝗:`B`,𝞑:`B`,В:`B`,Ᏼ:`B`,ᗷ:`B`,ꓐ:`B`,𐊂:`B`,𐊡:`B`,𐌁:`B`,ɓ:`b̔`,ᑳ:`ḃ`,ƃ:`b̄`,Ƃ:`b̄`,Б:`b̄`,ƀ:`b̵`,ҍ:`b̵`,Ҍ:`b̵`,ѣ:`b̵`,Ѣ:`b̵`,ᑿ:`b·`,ᒁ:Lt,ᒈ:`b'`,Ы:`bl`,в:`ʙ`,ᏼ:`ʙ`,c:`c`,ⅽ:`c`,𝐜:`c`,𝑐:`c`,𝒄:`c`,𝒸:`c`,𝓬:`c`,𝔠:`c`,𝕔:`c`,𝖈:`c`,𝖼:`c`,𝗰:`c`,𝘤:`c`,𝙘:`c`,𝚌:`c`,ᴄ:`c`,ϲ:`c`,ⲥ:`c`,с:`c`,ꮯ:`c`,𐐽:`c`,"ⷭ":`ͨ`,"🝌":`C`,"𑣲":`C`,"𑣩":`C`,C:`C`,Ⅽ:`C`,ℂ:`C`,ℭ:`C`,𝐂:`C`,𝐶:`C`,𝑪:`C`,𝒞:`C`,𝓒:`C`,𝕮:`C`,𝖢:`C`,𝗖:`C`,𝘊:`C`,𝘾:`C`,𝙲:`C`,Ϲ:`C`,Ⲥ:`C`,С:`C`,Ꮯ:`C`,ꓚ:`C`,𐊢:`C`,𐌂:`C`,𐐕:`C`,𐔜:`C`,"¢":`c̸`,ȼ:`c̸`,"₡":`C⃫`,"🅮":`C⃠`,ç:`c̦`,ҫ:`c̦`,Ç:`C̦`,Ҫ:`C̦`,Ƈ:`C'`,"℅":`c/o`,"℆":`c/u`,"🅭":`㏄ ⃝`,"⋴":`ꞓ`,ɛ:`ꞓ`,ε:`ꞓ`,ϵ:`ꞓ`,𝛆:`ꞓ`,𝛜:`ꞓ`,𝜀:`ꞓ`,𝜖:`ꞓ`,𝜺:`ꞓ`,𝝐:`ꞓ`,𝝴:`ꞓ`,𝞊:`ꞓ`,𝞮:`ꞓ`,𝟄:`ꞓ`,ⲉ:`ꞓ`,є:`ꞓ`,ԑ:`ꞓ`,ꮛ:`ꞓ`,𑣎:`ꞓ`,𐐩:`ꞓ`,"€":`Ꞓ`,Ⲉ:`Ꞓ`,Є:`Ꞓ`,"⍷":`ꞓ̲`,ͽ:`ꜿ`,Ͽ:`Ꜿ`,ⅾ:`d`,ⅆ:`d`,𝐝:`d`,𝑑:`d`,𝒅:`d`,𝒹:`d`,𝓭:`d`,𝔡:`d`,𝕕:`d`,𝖉:`d`,𝖽:`d`,𝗱:`d`,𝘥:`d`,𝙙:`d`,𝚍:`d`,ԁ:`d`,Ꮷ:`d`,ᑯ:`d`,ꓒ:`d`,Ⅾ:`D`,ⅅ:`D`,𝐃:`D`,𝐷:`D`,𝑫:`D`,𝒟:`D`,𝓓:`D`,𝔇:`D`,𝔻:`D`,𝕯:`D`,𝖣:`D`,𝗗:`D`,𝘋:`D`,𝘿:`D`,𝙳:`D`,Ꭰ:`D`,ᗞ:`D`,ᗪ:`D`,ꓓ:`D`,ɗ:`d̔`,ɖ:`d̨`,ƌ:`d̄`,đ:`d̵`,Đ:`D̵`,Ð:`D̵`,Ɖ:`D̵`,"₫":`ḏ̵`,ꝺ:`Ꝺ`,ᑻ:`d·`,ᒇ:`d'`,ʤ:`dȝ`,dz:`dz`,ʣ:`dz`,Dz:`Dz`,DZ:`DZ`,dž:`dž`,Dž:`Dž`,DŽ:`DŽ`,ʥ:`dʑ`,ꭰ:`ᴅ`,"⸹":`ẟ`,δ:`ẟ`,𝛅:`ẟ`,𝛿:`ẟ`,𝜹:`ẟ`,𝝳:`ẟ`,𝞭:`ẟ`,ծ:`ẟ`,ᕷ:`ẟ`,℮:`e`,e:`e`,ℯ:`e`,ⅇ:`e`,𝐞:`e`,𝑒:`e`,𝒆:`e`,𝓮:`e`,𝔢:`e`,𝕖:`e`,𝖊:`e`,𝖾:`e`,𝗲:`e`,𝘦:`e`,𝙚:`e`,𝚎:`e`,ꬲ:`e`,е:`e`,ҽ:`e`,"ⷷ":`ͤ`,"⋿":`E`,E:`E`,ℰ:`E`,𝐄:`E`,𝐸:`E`,𝑬:`E`,𝓔:`E`,𝔈:`E`,𝔼:`E`,𝕰:`E`,𝖤:`E`,𝗘:`E`,𝘌:`E`,𝙀:`E`,𝙴:`E`,Ε:`E`,𝚬:`E`,𝛦:`E`,𝜠:`E`,𝝚:`E`,𝞔:`E`,Е:`E`,ⴹ:`E`,Ꭼ:`E`,ꓰ:`E`,𑢦:`E`,𑢮:`E`,𐊆:`E`,ě:`ĕ`,Ě:`Ĕ`,ɇ:`e̸`,Ɇ:`E̸`,ҿ:`ę`,ꭼ:`ᴇ`,ə:`ǝ`,ә:`ǝ`,"∃":`Ǝ`,ⴺ:`Ǝ`,ꓱ:`Ǝ`,ɚ:Rt,ᴔ:`ǝo`,ꭁ:zt,ꭂ:Bt,Ә:`Ə`,"𝈡":`Ɛ`,ℇ:`Ɛ`,Ԑ:`Ɛ`,Ꮛ:`Ɛ`,𖼭:`Ɛ`,𐐁:`Ɛ`,ᶟ:`ᵋ`,ᴈ:`ɜ`,з:`ɜ`,ҙ:Vt,𐑂:`ɞ`,ꞝ:`ʚ`,𐐪:`ʚ`,𝐟:`f`,𝑓:`f`,𝒇:`f`,𝒻:`f`,𝓯:`f`,𝔣:`f`,𝕗:`f`,𝖋:`f`,𝖿:`f`,𝗳:`f`,𝘧:`f`,𝙛:`f`,𝚏:`f`,ꬵ:`f`,ꞙ:`f`,ſ:`f`,ẝ:`f`,ք:`f`,"𝈓":`F`,ℱ:`F`,𝐅:`F`,𝐹:`F`,𝑭:`F`,𝓕:`F`,𝔉:`F`,𝔽:`F`,𝕱:`F`,𝖥:`F`,𝗙:`F`,𝘍:`F`,𝙁:`F`,𝙵:`F`,Ꞙ:`F`,Ϝ:`F`,𝟊:`F`,ᖴ:`F`,ꓝ:`F`,𑣂:`F`,𑢢:`F`,𐊇:`F`,𐊥:`F`,𐔥:`F`,ƒ:`f̦`,Ƒ:`F̦`,ᵮ:`f̴`,"℻":`FAX`,ff:`ff`,ffi:`ffi`,ffl:`ffl`,fi:`fi`,fl:`fl`,ʩ:`fŋ`,ᖵ:`Ⅎ`,ꓞ:`Ⅎ`,"𝈰":`ꟻ`,ᖷ:`ꟻ`,g:`g`,ℊ:`g`,𝐠:`g`,𝑔:`g`,𝒈:`g`,𝓰:`g`,𝔤:`g`,𝕘:`g`,𝖌:`g`,𝗀:`g`,𝗴:`g`,𝘨:`g`,𝙜:`g`,𝚐:`g`,ɡ:`g`,ᶃ:`g`,ƍ:`g`,ց:`g`,𝐆:`G`,𝐺:`G`,𝑮:`G`,𝒢:`G`,𝓖:`G`,𝔊:`G`,𝔾:`G`,𝕲:`G`,𝖦:`G`,𝗚:`G`,𝘎:`G`,𝙂:`G`,𝙶:`G`,Ԍ:`G`,Ꮐ:`G`,Ᏻ:`G`,ꓖ:`G`,ᶢ:`ᵍ`,ɠ:`g̔`,ǧ:`ğ`,Ǧ:`Ğ`,ǵ:`ģ`,ǥ:`g̵`,Ǥ:`G̵`,Ɠ:`G'`,ԍ:`ɢ`,ꮐ:`ɢ`,ᏻ:`ɢ`,h:`h`,ℎ:`h`,𝐡:`h`,𝒉:`h`,𝒽:`h`,𝓱:`h`,𝔥:`h`,𝕙:`h`,𝖍:`h`,𝗁:`h`,𝗵:`h`,𝘩:`h`,𝙝:`h`,𝚑:`h`,һ:`h`,հ:`h`,Ꮒ:`h`,H:`H`,ℋ:`H`,ℌ:`H`,ℍ:`H`,𝐇:`H`,𝐻:`H`,𝑯:`H`,𝓗:`H`,𝕳:`H`,𝖧:`H`,𝗛:`H`,𝘏:`H`,𝙃:`H`,𝙷:`H`,Η:`H`,𝚮:`H`,𝛨:`H`,𝜢:`H`,𝝜:`H`,𝞖:`H`,Ⲏ:`H`,Н:`H`,Ꮋ:`H`,ᕼ:`H`,ꓧ:`H`,𐋏:`H`,ᵸ:`ᴴ`,ɦ:`h̔`,ꚕ:`h̔`,Ᏺ:`h̔`,Ⱨ:`H̩`,Ң:`H̩`,ħ:`h̵`,ℏ:`h̵`,ћ:`h̵`,Ħ:`H̵`,Ӊ:`H̦`,Ӈ:`H̦`,н:`ʜ`,ꮋ:`ʜ`,ң:Ht,ӊ:Ut,ӈ:Wt,Ԋ:`Ƕ`,ꮀ:`ⱶ`,Ͱ:`Ⱶ`,Ꭸ:`Ⱶ`,Ꮀ:`Ⱶ`,ꚱ:`Ⱶ`,ꞕ:`ꜧ`,"˛":`i`,"⍳":`i`,i:`i`,ⅰ:`i`,ℹ:`i`,ⅈ:`i`,𝐢:`i`,𝑖:`i`,𝒊:`i`,𝒾:`i`,𝓲:`i`,𝔦:`i`,𝕚:`i`,𝖎:`i`,𝗂:`i`,𝗶:`i`,𝘪:`i`,𝙞:`i`,𝚒:`i`,ı:`i`,𝚤:`i`,ɪ:`i`,ɩ:`i`,ι:`i`,ι:`i`,ͺ:`i`,𝛊:`i`,𝜄:`i`,𝜾:`i`,𝝸:`i`,𝞲:`i`,і:`i`,ꙇ:`i`,ӏ:`i`,ꭵ:`i`,Ꭵ:`i`,𑣃:`i`,"ⓛ":`Ⓘ`,"⍸":`i̲`,ǐ:`ĭ`,Ǐ:`Ĭ`,ɨ:`i̵`,ᵻ:`i̵`,ᵼ:`i̵`,ⅱ:`ii`,ⅲ:`iii`,ij:`ij`,ⅳ:`iv`,ⅸ:`ix`,j:`j`,ⅉ:`j`,𝐣:`j`,𝑗:`j`,𝒋:`j`,𝒿:`j`,𝓳:`j`,𝔧:`j`,𝕛:`j`,𝖏:`j`,𝗃:`j`,𝗷:`j`,𝘫:`j`,𝙟:`j`,𝚓:`j`,ϳ:`j`,ј:`j`,J:`J`,𝐉:`J`,𝐽:`J`,𝑱:`J`,𝒥:`J`,𝓙:`J`,𝔍:`J`,𝕁:`J`,𝕵:`J`,𝖩:`J`,𝗝:`J`,𝘑:`J`,𝙅:`J`,𝙹:`J`,Ʝ:`J`,Ϳ:`J`,Ј:`J`,Ꭻ:`J`,ᒍ:`J`,ꓙ:`J`,ɉ:`j̵`,Ɉ:`J̵`,ᒙ:`J·`,𝚥:`ȷ`,յ:`ȷ`,ꭻ:`ᴊ`,𝐤:`k`,𝑘:`k`,𝒌:`k`,𝓀:`k`,𝓴:`k`,𝔨:`k`,𝕜:`k`,𝖐:`k`,𝗄:`k`,𝗸:`k`,𝘬:`k`,𝙠:`k`,𝚔:`k`,K:`K`,K:`K`,𝐊:`K`,𝐾:`K`,𝑲:`K`,𝒦:`K`,𝓚:`K`,𝔎:`K`,𝕂:`K`,𝕶:`K`,𝖪:`K`,𝗞:`K`,𝘒:`K`,𝙆:`K`,𝙺:`K`,Κ:`K`,𝚱:`K`,𝛫:`K`,𝜥:`K`,𝝟:`K`,𝞙:`K`,Ⲕ:`K`,К:`K`,Ꮶ:`K`,ᛕ:`K`,ꓗ:`K`,𐔘:`K`,ƙ:`k̔`,Ⱪ:`K̩`,Қ:`K̩`,"₭":`K̵`,Ꝁ:`K̵`,Ҟ:`K̵`,Ƙ:`K'`,"׀":`l`,"|":`l`,"∣":`l`,"⏽":`l`,"│":`l`,"١":`l`,"۱":`l`,"𐌠":`l`,"𞣇":`l`,"𝟏":`l`,"𝟙":`l`,"𝟣":`l`,"𝟭":`l`,"𝟷":`l`,"🯱":`l`,I:`l`,I:`l`,Ⅰ:`l`,ℐ:`l`,ℑ:`l`,𝐈:`l`,𝐼:`l`,𝑰:`l`,𝓘:`l`,𝕀:`l`,𝕴:`l`,𝖨:`l`,𝗜:`l`,𝘐:`l`,𝙄:`l`,𝙸:`l`,Ɩ:`l`,l:`l`,ⅼ:`l`,ℓ:`l`,𝐥:`l`,𝑙:`l`,𝒍:`l`,𝓁:`l`,𝓵:`l`,𝔩:`l`,𝕝:`l`,𝖑:`l`,𝗅:`l`,𝗹:`l`,𝘭:`l`,𝙡:`l`,𝚕:`l`,ǀ:`l`,Ι:`l`,𝚰:`l`,𝛪:`l`,𝜤:`l`,𝝞:`l`,𝞘:`l`,Ⲓ:`l`,І:`l`,Ӏ:`l`,ו:`l`,ן:`l`,ا:`l`,𞸀:`l`,𞺀:`l`,ﺎ:`l`,ﺍ:`l`,ߊ:`l`,ⵏ:`l`,ᛁ:`l`,ꓲ:`l`,𖼨:`l`,𐊊:`l`,𐌉:`l`,"𝈪":`L`,Ⅼ:`L`,ℒ:`L`,𝐋:`L`,𝐿:`L`,𝑳:`L`,𝓛:`L`,𝔏:`L`,𝕃:`L`,𝕷:`L`,𝖫:`L`,𝗟:`L`,𝘓:`L`,𝙇:`L`,𝙻:`L`,Ⳑ:`L`,Ꮮ:`L`,ᒪ:`L`,ꓡ:`L`,𖼖:`L`,𑢣:`L`,𑢲:`L`,𐐛:`L`,𐔦:`L`,ﴼ:`l̋`,ﴽ:`l̋`,ł:`l̸`,Ł:`L̸`,ɭ:`l̨`,Ɨ:`l̵`,ƚ:`l̵`,ɫ:`l̴`,إ:`lٕ`,ﺈ:`lٕ`,ﺇ:`lٕ`,ٳ:`lٕ`,ŀ:`l·`,Ŀ:`l·`,ᒷ:`l·`,"🄂":`l,`,"⒈":`l.`,ױ:`l'`,"⒓":`l2.`,"㏫":`l2日`,"㋋":`l2月`,"㍤":`l2点`,"⒔":`l3.`,"㏬":`l3日`,"㍥":`l3点`,"⒕":`l4.`,"㏭":`l4日`,"㍦":`l4点`,"⒖":`l5.`,"㏮":`l5日`,"㍧":`l5点`,"⒗":`l6.`,"㏯":`l6日`,"㍨":`l6点`,"⒘":`l7.`,"㏰":`l7日`,"㍩":`l7点`,"⒙":`l8.`,"㏱":`l8日`,"㍪":`l8点`,"⒚":`l9.`,"㏲":`l9日`,"㍫":`l9点`,lj:`lj`,IJ:`lJ`,Lj:`Lj`,LJ:`LJ`,"‖":`ll`,"∥":`ll`,Ⅱ:`ll`,ǁ:`ll`,װ:`ll`,"𐆙":`l̵l̵`,"⒒":`ll.`,Ⅲ:`lll`,"𐆘":`l̵l̵S̵`,"㏪":`ll日`,"㋊":`ll月`,"㍣":`ll点`,Ю:`lO`,"⒑":`lO.`,"㏩":`lO日`,"㋉":`lO月`,"㍢":`lO点`,ʪ:`ls`,"₶":`lt`,Ⅳ:`lV`,Ⅸ:`lX`,ɮ:`lȝ`,ʫ:`lz`,أ:`lٴ`,ﺄ:`lٴ`,ﺃ:`lٴ`,ٲ:`lٴ`,ٵ:`lٴ`,ﷳ:Gt,ﷲ:Kt,"㏠":`l日`,"㋀":`l月`,"㍙":`l点`,ⳑ:`ʟ`,ꮮ:`ʟ`,𐑃:`ʟ`,M:`M`,Ⅿ:`M`,ℳ:`M`,𝐌:`M`,𝑀:`M`,𝑴:`M`,𝓜:`M`,𝔐:`M`,𝕄:`M`,𝕸:`M`,𝖬:`M`,𝗠:`M`,𝘔:`M`,𝙈:`M`,𝙼:`M`,Μ:`M`,𝚳:`M`,𝛭:`M`,𝜧:`M`,𝝡:`M`,𝞛:`M`,Ϻ:`M`,Ⲙ:`M`,М:`M`,Ꮇ:`M`,ᗰ:`M`,ᛖ:`M`,ꓟ:`M`,𐊰:`M`,𐌑:`M`,Ӎ:`M̦`,"🝫":`MB`,"ⷨ":`ᷟ`,𝐧:`n`,𝑛:`n`,𝒏:`n`,𝓃:`n`,𝓷:`n`,𝔫:`n`,𝕟:`n`,𝖓:`n`,𝗇:`n`,𝗻:`n`,𝘯:`n`,𝙣:`n`,𝚗:`n`,ո:`n`,ռ:`n`,N:`N`,ℕ:`N`,𝐍:`N`,𝑁:`N`,𝑵:`N`,𝒩:`N`,𝓝:`N`,𝔑:`N`,𝕹:`N`,𝖭:`N`,𝗡:`N`,𝘕:`N`,𝙉:`N`,𝙽:`N`,Ν:`N`,𝚴:`N`,𝛮:`N`,𝜨:`N`,𝝢:`N`,𝞜:`N`,Ⲛ:`N`,ꓠ:`N`,𐔓:`N`,"𐆎":`N̊`,ɳ:`n̨`,ƞ:`n̩`,η:`n̩`,𝛈:`n̩`,𝜂:`n̩`,𝜼:`n̩`,𝝶:`n̩`,𝞰:`n̩`,Ɲ:`N̦`,ᵰ:`n̴`,nj:`nj`,Nj:`Nj`,NJ:`NJ`,"№":`No`,ͷ:`ᴎ`,и:`ᴎ`,𐑍:`ᴎ`,ņ:`ɲ`,"ం":`o`,"ಂ":`o`,"ം":`o`,"ං":`o`,"०":`o`,"੦":`o`,"૦":`o`,"௦":`o`,"౦":`o`,"೦":`o`,"൦":`o`,"๐":`o`,"໐":`o`,"၀":`o`,"٥":`o`,"۵":`o`,o:`o`,ℴ:`o`,𝐨:`o`,𝑜:`o`,𝒐:`o`,𝓸:`o`,𝔬:`o`,𝕠:`o`,𝖔:`o`,𝗈:`o`,𝗼:`o`,𝘰:`o`,𝙤:`o`,𝚘:`o`,ᴏ:`o`,ᴑ:`o`,ꬽ:`o`,ο:`o`,𝛐:`o`,𝜊:`o`,𝝄:`o`,𝝾:`o`,𝞸:`o`,σ:`o`,𝛔:`o`,𝜎:`o`,𝝈:`o`,𝞂:`o`,𝞼:`o`,ⲟ:`o`,о:`o`,ჿ:`o`,օ:`o`,ס:`o`,ه:`o`,𞸤:`o`,𞹤:`o`,𞺄:`o`,ﻫ:`o`,ﻬ:`o`,ﻪ:`o`,ﻩ:`o`,ھ:`o`,ﮬ:`o`,ﮭ:`o`,ﮫ:`o`,ﮪ:`o`,ہ:`o`,ﮨ:`o`,ﮩ:`o`,ﮧ:`o`,ﮦ:`o`,ە:`o`,ഠ:`o`,ဝ:`o`,𐓪:`o`,𑣈:`o`,𑣗:`o`,𐐬:`o`,"߀":`O`,"০":`O`,"୦":`O`,〇:`O`,"𑓐":`O`,"𑣠":`O`,"𝟎":`O`,"𝟘":`O`,"𝟢":`O`,"𝟬":`O`,"𝟶":`O`,"🯰":`O`,O:`O`,𝐎:`O`,𝑂:`O`,𝑶:`O`,𝒪:`O`,𝓞:`O`,𝔒:`O`,𝕆:`O`,𝕺:`O`,𝖮:`O`,𝗢:`O`,𝘖:`O`,𝙊:`O`,𝙾:`O`,Ο:`O`,𝚶:`O`,𝛰:`O`,𝜪:`O`,𝝤:`O`,𝞞:`O`,Ⲟ:`O`,О:`O`,Օ:`O`,ⵔ:`O`,ዐ:`O`,ଠ:`O`,𐓂:`O`,ꓳ:`O`,𑢵:`O`,𐊒:`O`,𐊫:`O`,𐐄:`O`,𐔖:`O`,"⁰":`º`,ᵒ:`º`,ǒ:`ŏ`,Ǒ:`Ŏ`,ۿ:`ô`,Ő:`Ö`,ø:`o̸`,ꬾ:`o̸`,Ø:`O̸`,ⵁ:`O̸`,Ǿ:qt,ɵ:`o̵`,ꝋ:`o̵`,ө:`o̵`,ѳ:`o̵`,ꮎ:`o̵`,ꮻ:`o̵`,"⊖":`O̵`,"⊝":`O̵`,"⍬":`O̵`,"𝈚":`O̵`,"🜔":`O̵`,Ɵ:`O̵`,Ꝋ:`O̵`,θ:`O̵`,ϑ:`O̵`,𝛉:`O̵`,𝛝:`O̵`,𝜃:`O̵`,𝜗:`O̵`,𝜽:`O̵`,𝝑:`O̵`,𝝷:`O̵`,𝞋:`O̵`,𝞱:`O̵`,𝟅:`O̵`,Θ:`O̵`,ϴ:`O̵`,𝚯:`O̵`,𝚹:`O̵`,𝛩:`O̵`,𝛳:`O̵`,𝜣:`O̵`,𝜭:`O̵`,𝝝:`O̵`,𝝧:`O̵`,𝞗:`O̵`,𝞡:`O̵`,Ө:`O̵`,Ѳ:`O̵`,ⴱ:`O̵`,Ꮎ:`O̵`,Ꮻ:`O̵`,ꭴ:`ơ`,ﳙ:`oٰ`,"🄁":`O,`,"🄀":`O.`,ơ:`o'`,Ơ:`O'`,Ꭴ:`O'`,"%":`º/₀`,"٪":`º/₀`,"⁒":`º/₀`,"‰":`º/₀₀`,"؉":`º/₀₀`,"‱":`º/₀₀₀`,"؊":`º/₀₀₀`,œ:`oe`,Œ:`OE`,ɶ:Jt,"∞":`oo`,ꝏ:`oo`,ꚙ:`oo`,Ꝏ:`OO`,Ꚙ:`OO`,ﳗ:`oج`,ﱑ:`oج`,ﳘ:`oم`,ﱒ:`oم`,ﶓ:Yt,ﶔ:Xt,ﱓ:`oى`,ﱔ:`oى`,ൟ:Zt,တ:Qt,"㍘":`O点`,ↄ:`ɔ`,ᴐ:`ɔ`,ͻ:`ɔ`,𐑋:`ɔ`,Ↄ:`Ɔ`,Ͻ:`Ɔ`,ꓛ:`Ɔ`,𐐣:`Ɔ`,ꬿ:$t,ꭢ:`ɔe`,𐐿:`ɷ`,"⍴":`p`,p:`p`,𝐩:`p`,𝑝:`p`,𝒑:`p`,𝓅:`p`,𝓹:`p`,𝔭:`p`,𝕡:`p`,𝖕:`p`,𝗉:`p`,𝗽:`p`,𝘱:`p`,𝙥:`p`,𝚙:`p`,ρ:`p`,ϱ:`p`,𝛒:`p`,𝛠:`p`,𝜌:`p`,𝜚:`p`,𝝆:`p`,𝝔:`p`,𝞀:`p`,𝞎:`p`,𝞺:`p`,𝟈:`p`,ⲣ:`p`,р:`p`,P:`P`,ℙ:`P`,𝐏:`P`,𝑃:`P`,𝑷:`P`,𝒫:`P`,𝓟:`P`,𝔓:`P`,𝕻:`P`,𝖯:`P`,𝗣:`P`,𝘗:`P`,𝙋:`P`,𝙿:`P`,Ρ:`P`,𝚸:`P`,𝛲:`P`,𝜬:`P`,𝝦:`P`,𝞠:`P`,Ⲣ:`P`,Р:`P`,Ꮲ:`P`,ᑭ:`P`,ꓑ:`P`,𐊕:`P`,ƥ:`p̔`,ᵽ:`p̵`,ᑷ:`p·`,ᒆ:`P'`,ᴩ:`ᴘ`,ꮲ:`ᴘ`,φ:`ɸ`,ϕ:`ɸ`,𝛗:`ɸ`,𝛟:`ɸ`,𝜑:`ɸ`,𝜙:`ɸ`,𝝋:`ɸ`,𝝓:`ɸ`,𝞅:`ɸ`,𝞍:`ɸ`,𝞿:`ɸ`,𝟇:`ɸ`,ⲫ:`ɸ`,ф:`ɸ`,𝐪:`q`,𝑞:`q`,𝒒:`q`,𝓆:`q`,𝓺:`q`,𝔮:`q`,𝕢:`q`,𝖖:`q`,𝗊:`q`,𝗾:`q`,𝘲:`q`,𝙦:`q`,𝚚:`q`,ԛ:`q`,գ:`q`,զ:`q`,ℚ:`Q`,𝐐:`Q`,𝑄:`Q`,𝑸:`Q`,𝒬:`Q`,𝓠:`Q`,𝔔:`Q`,𝕼:`Q`,𝖰:`Q`,𝗤:`Q`,𝘘:`Q`,𝙌:`Q`,𝚀:`Q`,ⵕ:`Q`,ʠ:`q̔`,"🜀":`QE`,ᶐ:`ɋ`,ᴋ:`ĸ`,κ:`ĸ`,ϰ:`ĸ`,𝛋:`ĸ`,𝛞:`ĸ`,𝜅:`ĸ`,𝜘:`ĸ`,𝜿:`ĸ`,𝝒:`ĸ`,𝝹:`ĸ`,𝞌:`ĸ`,𝞳:`ĸ`,𝟆:`ĸ`,ⲕ:`ĸ`,к:`ĸ`,ꮶ:`ĸ`,қ:en,ҟ:tn,𝐫:`r`,𝑟:`r`,𝒓:`r`,𝓇:`r`,𝓻:`r`,𝔯:`r`,𝕣:`r`,𝖗:`r`,𝗋:`r`,𝗿:`r`,𝘳:`r`,𝙧:`r`,𝚛:`r`,ꭇ:`r`,ꭈ:`r`,ᴦ:`r`,ⲅ:`r`,г:`r`,ꮁ:`r`,"𝈖":`R`,ℛ:`R`,ℜ:`R`,ℝ:`R`,𝐑:`R`,𝑅:`R`,𝑹:`R`,𝓡:`R`,𝕽:`R`,𝖱:`R`,𝗥:`R`,𝘙:`R`,𝙍:`R`,𝚁:`R`,Ʀ:`R`,Ꭱ:`R`,Ꮢ:`R`,𐒴:`R`,ᖇ:`R`,ꓣ:`R`,𖼵:`R`,ɽ:`r̨`,ɼ:`r̩`,ɍ:`r̵`,ғ:`r̵`,ᵲ:`r̴`,ґ:`r'`,"𑣣":`rn`,m:`rn`,ⅿ:`rn`,𝐦:`rn`,𝑚:`rn`,𝒎:`rn`,𝓂:`rn`,𝓶:`rn`,𝔪:`rn`,𝕞:`rn`,𝖒:`rn`,𝗆:`rn`,𝗺:`rn`,𝘮:`rn`,𝙢:`rn`,𝚖:`rn`,𑜀:`rn`,"₥":`rn̸`,ɱ:nn,ᵯ:rn,"₨":`Rs`,ꭱ:`ʀ`,ꮢ:`ʀ`,я:`ᴙ`,ᵳ:an,"℩":`ɿ`,s:`s`,𝐬:`s`,𝑠:`s`,𝒔:`s`,𝓈:`s`,𝓼:`s`,𝔰:`s`,𝕤:`s`,𝖘:`s`,𝗌:`s`,𝘀:`s`,𝘴:`s`,𝙨:`s`,𝚜:`s`,ꜱ:`s`,ƽ:`s`,ѕ:`s`,ꮪ:`s`,𑣁:`s`,𐑈:`s`,S:`S`,𝐒:`S`,𝑆:`S`,𝑺:`S`,𝒮:`S`,𝓢:`S`,𝔖:`S`,𝕊:`S`,𝕾:`S`,𝖲:`S`,𝗦:`S`,𝘚:`S`,𝙎:`S`,𝚂:`S`,Ѕ:`S`,Տ:`S`,Ꮥ:`S`,Ꮪ:`S`,ꓢ:`S`,𖼺:`S`,𐊖:`S`,𐐠:`S`,ʂ:`s̨`,ᵴ:`s̴`,ꞵ:`ß`,β:`ß`,ϐ:`ß`,𝛃:`ß`,𝛽:`ß`,𝜷:`ß`,𝝱:`ß`,𝞫:`ß`,Ᏸ:`ß`,"🝜":`sss`,st:`st`,"∫":`ʃ`,ꭍ:`ʃ`,"∑":`Ʃ`,"⅀":`Ʃ`,Σ:`Ʃ`,𝚺:`Ʃ`,𝛴:`Ʃ`,𝜮:`Ʃ`,𝝨:`Ʃ`,𝞢:`Ʃ`,ⵉ:`Ʃ`,"∬":`ʃʃ`,"∭":`ʃʃʃ`,"⨌":`ʃʃʃʃ`,𝐭:`t`,𝑡:`t`,𝒕:`t`,𝓉:`t`,𝓽:`t`,𝔱:`t`,𝕥:`t`,𝖙:`t`,𝗍:`t`,𝘁:`t`,𝘵:`t`,𝙩:`t`,𝚝:`t`,"⊤":`T`,"⟙":`T`,"🝨":`T`,T:`T`,𝐓:`T`,𝑇:`T`,𝑻:`T`,𝒯:`T`,𝓣:`T`,𝔗:`T`,𝕋:`T`,𝕿:`T`,𝖳:`T`,𝗧:`T`,𝘛:`T`,𝙏:`T`,𝚃:`T`,Τ:`T`,𝚻:`T`,𝛵:`T`,𝜯:`T`,𝝩:`T`,𝞣:`T`,Ⲧ:`T`,Т:`T`,Ꭲ:`T`,ꓔ:`T`,𖼊:`T`,𑢼:`T`,𐊗:`T`,𐊱:`T`,𐌕:`T`,ƭ:`t̔`,"⍡":`T̈`,Ⱦ:`T̸`,Ț:`Ţ`,Ʈ:`T̨`,Ҭ:`T̩`,"₮":`T⃫`,ŧ:`t̵`,Ŧ:`T̵`,ᵵ:`t̴`,Ⴀ:`Ꞇ`,Ꜩ:`T3`,ʨ:`tɕ`,"℡":`TEL`,ꝷ:`tf`,ʦ:`ts`,ʧ:`tʃ`,ꜩ:`tȝ`,τ:`ᴛ`,𝛕:`ᴛ`,𝜏:`ᴛ`,𝝉:`ᴛ`,𝞃:`ᴛ`,𝞽:`ᴛ`,т:`ᴛ`,ꭲ:`ᴛ`,ҭ:on,ţ:`ƫ`,ț:`ƫ`,Ꮏ:`ƫ`,𝐮:`u`,𝑢:`u`,𝒖:`u`,𝓊:`u`,𝓾:`u`,𝔲:`u`,𝕦:`u`,𝖚:`u`,𝗎:`u`,𝘂:`u`,𝘶:`u`,𝙪:`u`,𝚞:`u`,ꞟ:`u`,ᴜ:`u`,ꭎ:`u`,ꭒ:`u`,ʋ:`u`,υ:`u`,𝛖:`u`,𝜐:`u`,𝝊:`u`,𝞄:`u`,𝞾:`u`,ս:`u`,𐓶:`u`,𑣘:`u`,"∪":`U`,"⋃":`U`,𝐔:`U`,𝑈:`U`,𝑼:`U`,𝒰:`U`,𝓤:`U`,𝔘:`U`,𝕌:`U`,𝖀:`U`,𝖴:`U`,𝗨:`U`,𝘜:`U`,𝙐:`U`,𝚄:`U`,Ս:`U`,ሀ:`U`,𐓎:`U`,ᑌ:`U`,ꓴ:`U`,𖽂:`U`,𑢸:`U`,ǔ:`ŭ`,Ǔ:`Ŭ`,ᵾ:`u̵`,ꮜ:`u̵`,Ʉ:`U̵`,Ꮜ:`U̵`,ᑘ:`U·`,ᑧ:`U'`,ᵫ:`ue`,ꭣ:`uo`,ṃ:`ꭑ`,պ:`ɰ`,ሣ:`ɰ`,"℧":`Ʊ`,ᘮ:`Ʊ`,ᘴ:`Ʊ`,ᵿ:sn,"∨":`v`,"⋁":`v`,v:`v`,ⅴ:`v`,𝐯:`v`,𝑣:`v`,𝒗:`v`,𝓋:`v`,𝓿:`v`,𝔳:`v`,𝕧:`v`,𝖛:`v`,𝗏:`v`,𝘃:`v`,𝘷:`v`,𝙫:`v`,𝚟:`v`,ᴠ:`v`,ν:`v`,𝛎:`v`,𝜈:`v`,𝝂:`v`,𝝼:`v`,𝞶:`v`,ѵ:`v`,ט:`v`,𑜆:`v`,ꮩ:`v`,𑣀:`v`,"𝈍":`V`,"٧":`V`,"۷":`V`,Ⅴ:`V`,𝐕:`V`,𝑉:`V`,𝑽:`V`,𝒱:`V`,𝓥:`V`,𝔙:`V`,𝕍:`V`,𝖁:`V`,𝖵:`V`,𝗩:`V`,𝘝:`V`,𝙑:`V`,𝚅:`V`,Ѵ:`V`,ⴸ:`V`,Ꮩ:`V`,ᐯ:`V`,ꛟ:`V`,ꓦ:`V`,𖼈:`V`,𑢠:`V`,𐔝:`V`,"𐆗":`V̵`,ᐻ:`V·`,"🝬":`VB`,ⅵ:`vi`,ⅶ:`vii`,ⅷ:cn,Ⅵ:`Vl`,Ⅶ:`Vll`,Ⅷ:ln,"🜈":`Vᷤ`,ᴧ:`ʌ`,𐓘:`ʌ`,"٨":`Ʌ`,"۸":`Ʌ`,Λ:`Ʌ`,𝚲:`Ʌ`,𝛬:`Ʌ`,𝜦:`Ʌ`,𝝠:`Ʌ`,𝞚:`Ʌ`,Л:`Ʌ`,ⴷ:`Ʌ`,𐒰:`Ʌ`,ᐱ:`Ʌ`,ꛎ:`Ʌ`,ꓥ:`Ʌ`,𖼽:`Ʌ`,𐊍:`Ʌ`,Ӆ:un,ᐽ:dn,ɯ:`w`,𝐰:`w`,𝑤:`w`,𝒘:`w`,𝓌:`w`,𝔀:`w`,𝔴:`w`,𝕨:`w`,𝖜:`w`,𝗐:`w`,𝘄:`w`,𝘸:`w`,𝙬:`w`,𝚠:`w`,ᴡ:`w`,ѡ:`w`,ԝ:`w`,ա:`w`,𑜊:`w`,𑜎:`w`,𑜏:`w`,ꮃ:`w`,"𑣯":`W`,"𑣦":`W`,𝐖:`W`,𝑊:`W`,𝑾:`W`,𝒲:`W`,𝓦:`W`,𝔚:`W`,𝕎:`W`,𝖂:`W`,𝖶:`W`,𝗪:`W`,𝘞:`W`,𝙒:`W`,𝚆:`W`,Ԝ:`W`,Ꮃ:`W`,Ꮤ:`W`,ꓪ:`W`,ѽ:fn,𑓅:`ẇ`,"₩":`W̵`,ꝡ:`w̦`,ᴍ:`ʍ`,м:`ʍ`,ꮇ:`ʍ`,ӎ:pn,"᙮":`x`,"×":`x`,"⤫":`x`,"⤬":`x`,"⨯":`x`,x:`x`,ⅹ:`x`,𝐱:`x`,𝑥:`x`,𝒙:`x`,𝓍:`x`,𝔁:`x`,𝔵:`x`,𝕩:`x`,𝖝:`x`,𝗑:`x`,𝘅:`x`,𝘹:`x`,𝙭:`x`,𝚡:`x`,х:`x`,ᕁ:`x`,ᕽ:`x`,"ⷯ":`ͯ`,"᙭":`X`,"╳":`X`,"𐌢":`X`,"𑣬":`X`,X:`X`,Ⅹ:`X`,𝐗:`X`,𝑋:`X`,𝑿:`X`,𝒳:`X`,𝓧:`X`,𝔛:`X`,𝕏:`X`,𝖃:`X`,𝖷:`X`,𝗫:`X`,𝘟:`X`,𝙓:`X`,𝚇:`X`,Ꭓ:`X`,Χ:`X`,𝚾:`X`,𝛸:`X`,𝜲:`X`,𝝬:`X`,𝞦:`X`,Ⲭ:`X`,Х:`X`,ⵝ:`X`,ᚷ:`X`,ꓫ:`X`,𐊐:`X`,𐊴:`X`,𐌗:`X`,𐔧:`X`,"⨰":`ẋ`,Ҳ:`X̩`,"𐆖":`X̵`,ⅺ:`xi`,ⅻ:`xii`,Ⅺ:`Xl`,Ⅻ:`Xll`,ɣ:`y`,ᶌ:`y`,y:`y`,𝐲:`y`,𝑦:`y`,𝒚:`y`,𝓎:`y`,𝔂:`y`,𝔶:`y`,𝕪:`y`,𝖞:`y`,𝗒:`y`,𝘆:`y`,𝘺:`y`,𝙮:`y`,𝚢:`y`,ʏ:`y`,ỿ:`y`,ꭚ:`y`,γ:`y`,ℽ:`y`,𝛄:`y`,𝛾:`y`,𝜸:`y`,𝝲:`y`,𝞬:`y`,у:`y`,ү:`y`,ყ:`y`,𑣜:`y`,Y:`Y`,𝐘:`Y`,𝑌:`Y`,𝒀:`Y`,𝒴:`Y`,𝓨:`Y`,𝔜:`Y`,𝕐:`Y`,𝖄:`Y`,𝖸:`Y`,𝗬:`Y`,𝘠:`Y`,𝙔:`Y`,𝚈:`Y`,Υ:`Y`,ϒ:`Y`,𝚼:`Y`,𝛶:`Y`,𝜰:`Y`,𝝪:`Y`,𝞤:`Y`,Ⲩ:`Y`,У:`Y`,Ү:`Y`,Ꭹ:`Y`,Ꮍ:`Y`,ꓬ:`Y`,𖽃:`Y`,𑢤:`Y`,𐊲:`Y`,ƴ:`y̔`,ɏ:`y̵`,ұ:`y̵`,"¥":`Y̵`,Ɏ:`Y̵`,Ұ:`Y̵`,ʒ:`ȝ`,ꝫ:`ȝ`,ⳍ:`ȝ`,ӡ:`ȝ`,ჳ:`ȝ`,𝐳:`z`,𝑧:`z`,𝒛:`z`,𝓏:`z`,𝔃:`z`,𝔷:`z`,𝕫:`z`,𝖟:`z`,𝗓:`z`,𝘇:`z`,𝘻:`z`,𝙯:`z`,𝚣:`z`,ᴢ:`z`,ꮓ:`z`,𑣄:`z`,"𐋵":`Z`,"𑣥":`Z`,Z:`Z`,ℤ:`Z`,ℨ:`Z`,𝐙:`Z`,𝑍:`Z`,𝒁:`Z`,𝒵:`Z`,𝓩:`Z`,𝖅:`Z`,𝖹:`Z`,𝗭:`Z`,𝘡:`Z`,𝙕:`Z`,𝚉:`Z`,Ζ:`Z`,𝚭:`Z`,𝛧:`Z`,𝜡:`Z`,𝝛:`Z`,𝞕:`Z`,Ꮓ:`Z`,ꓜ:`Z`,𑢩:`Z`,ʐ:`z̨`,ƶ:`z̵`,Ƶ:`Z̵`,ȥ:`z̦`,Ȥ:`Z̦`,ᵶ:`z̴`,ƿ:`þ`,ϸ:`þ`,Ϸ:`Þ`,𐓄:`Þ`,"⁹":`ꝰ`,ᴤ:`ƨ`,ϩ:`ƨ`,ꙅ:`ƨ`,ь:`ƅ`,ꮟ:`ƅ`,ы:`ƅi`,ꭾ:`ɂ`,ˤ:`ˁ`,ꛍ:`ʡ`,"⊙":`ʘ`,"☉":`ʘ`,"⨀":`ʘ`,Ꙩ:`ʘ`,ⵙ:`ʘ`,𐓃:`ʘ`,ℾ:`Γ`,𝚪:`Γ`,𝛤:`Γ`,𝜞:`Γ`,𝝘:`Γ`,𝞒:`Γ`,Ⲅ:`Γ`,Г:`Γ`,Ꮁ:`Γ`,ᒥ:`Γ`,𖼇:`Γ`,Ғ:mn,ᒯ:hn,Ґ:`Γ'`,"∆":`Δ`,"△":`Δ`,"🜂":`Δ`,𝚫:`Δ`,𝛥:`Δ`,𝜟:`Δ`,𝝙:`Δ`,𝞓:`Δ`,Ⲇ:`Δ`,ⵠ:`Δ`,ᐃ:`Δ`,𖼚:`Δ`,𐊅:`Δ`,𐊣:`Δ`,"⍙":`Δ̲`,ᐏ:gn,ᐬ:_n,𝟋:`ϝ`,𝛇:`ζ`,𝜁:`ζ`,𝜻:`ζ`,𝝵:`ζ`,𝞯:`ζ`,ⳤ:`ϗ`,𝛌:`λ`,𝜆:`λ`,𝝀:`λ`,𝝺:`λ`,𝞴:`λ`,Ⲗ:`λ`,𐓛:`λ`,µ:`μ`,𝛍:`μ`,𝜇:`μ`,𝝁:`μ`,𝝻:`μ`,𝞵:`μ`,𝛏:`ξ`,𝜉:`ξ`,𝝃:`ξ`,𝝽:`ξ`,𝞷:`ξ`,𝚵:`Ξ`,𝛯:`Ξ`,𝜩:`Ξ`,𝝣:`Ξ`,𝞝:`Ξ`,ϖ:`π`,ℼ:`π`,𝛑:`π`,𝛡:`π`,𝜋:`π`,𝜛:`π`,𝝅:`π`,𝝕:`π`,𝝿:`π`,𝞏:`π`,𝞹:`π`,𝟉:`π`,ᴨ:`π`,п:`π`,"∏":`Π`,ℿ:`Π`,𝚷:`Π`,𝛱:`Π`,𝜫:`Π`,𝝥:`Π`,𝞟:`Π`,Ⲡ:`Π`,П:`Π`,ꛛ:`Π`,𐊭:`Ϙ`,𐌒:`Ϙ`,ϛ:`ς`,𝛓:`ς`,𝜍:`ς`,𝝇:`ς`,𝞁:`ς`,𝞻:`ς`,𝚽:`Φ`,𝛷:`Φ`,𝜱:`Φ`,𝝫:`Φ`,𝞥:`Φ`,Ⲫ:`Φ`,Ф:`Φ`,Փ:`Φ`,ቀ:`Φ`,ᛰ:`Φ`,𐊳:`Φ`,ꭓ:`χ`,ꭕ:`χ`,𝛘:`χ`,𝜒:`χ`,𝝌:`χ`,𝞆:`χ`,𝟀:`χ`,ⲭ:`χ`,𝛙:`ψ`,𝜓:`ψ`,𝝍:`ψ`,𝞇:`ψ`,𝟁:`ψ`,ѱ:`ψ`,𐓹:`ψ`,𝚿:`Ψ`,𝛹:`Ψ`,𝜳:`Ψ`,𝝭:`Ψ`,𝞧:`Ψ`,Ⲯ:`Ψ`,Ѱ:`Ψ`,𐓑:`Ψ`,ᛘ:`Ψ`,𐊵:`Ψ`,"⍵":`ω`,ꞷ:`ω`,𝛚:`ω`,𝜔:`ω`,𝝎:`ω`,𝞈:`ω`,𝟂:`ω`,ⲱ:`ω`,ꙍ:`ω`,Ω:`Ω`,𝛀:`Ω`,𝛺:`Ω`,𝜴:`Ω`,𝝮:`Ω`,𝞨:`Ω`,ᘯ:`Ω`,ᘵ:`Ω`,𐊶:`Ω`,"⍹":`ω̲`,ώ:`ῴ`,"☰":`Ⲷ`,Ⳝ:`Ϭ`,җ:vn,Җ:yn,"𝈋":`И`,Ͷ:`И`,ꚡ:`И`,𐐥:`И`,Й:`Ѝ`,Ҋ:bn,ѝ:`й`,ҋ:xn,𐒼:`Ӄ`,ᴫ:`л`,ӆ:Sn,ꭠ:`љ`,𐓫:`ꙩ`,"ᷮ":`ⷬ`,𐓍:`Ћ`,"𝈂":`Ӿ`,"𝈢":`Ѡ`,Ꮗ:`Ѡ`,ᗯ:`Ѡ`,Ѽ:Cn,ᣭ:wn,Ꞷ:`Ꙍ`,ӌ:`ҷ`,Ӌ:`Ҷ`,Ҿ:Tn,ⲽ:`ш`,Ⲽ:`Ш`,Ꙑ:`Ъl`,"℈":`Э`,"🜁":`Ꙙ`,𖼜:`Ꙙ`,ꦒ:`ⰿ`,և:En,ኔ:`ձ`,ﬔ:Dn,ﬕ:On,ﬗ:kn,ﬓ:An,"∩":`Ո`,"⋂":`Ո`,"𝉅":`Ո`,በ:`Ո`,ᑎ:`Ո`,ꓵ:`Ո`,ᑚ:jn,ᑨ:`Ո'`,ﬖ:Mn,"₽":`Ք`,"˓":`ՙ`,ʿ:`ՙ`,ℵ:`א`,ﬡ:`א`,אָ:`אַ`,אּ:`אַ`,ﭏ:Nn,ℶ:`ב`,ℷ:`ג`,ℸ:`ד`,ﬢ:`ד`,ﬣ:`ה`,יּ:`יִ`,ﬤ:`כ`,ﬥ:`ל`,ﬦ:`ם`,ﬠ:`ע`,ﬧ:`ר`,שׂ:`שׁ`,שּ:`שׁ`,שּׂ:`שּׁ`,ﬨ:`ת`,ﺀ:`ء`,"۽":`ء͈`,ﺂ:`آ`,ﺁ:`آ`,ﭑ:`ٱ`,ﭐ:`ٱ`,𞸁:`ب`,𞸡:`ب`,𞹡:`ب`,𞺁:`ب`,𞺡:`ب`,ﺑ:`ب`,ﺒ:`ب`,ﺐ:`ب`,ﺏ:`ب`,ݑ:Pn,ࢶ:Fn,ࢡ:In,ﲠ:`بo`,ﳢ:`بo`,ﲜ:Ln,ﰅ:Rn,ﲝ:zn,ﰆ:Bn,ﷂ:Vn,ﲞ:Hn,ﰇ:Un,ﳒ:Wn,ﱋ:Gn,ﶞ:Kn,ﱪ:qn,ﱫ:Jn,ﲟ:Yn,ﳡ:Xn,ﱬ:Zn,ﰈ:Qn,ﱭ:$n,ﱮ:er,ﰉ:tr,ﱯ:nr,ﰊ:rr,ﭔ:`ٻ`,ﭕ:`ٻ`,ﭓ:`ٻ`,ﭒ:`ٻ`,ې:`ٻ`,ﯦ:`ٻ`,ﯧ:`ٻ`,ﯥ:`ٻ`,ﯤ:`ٻ`,ﭜ:`ڀ`,ﭝ:`ڀ`,ﭛ:`ڀ`,ﭚ:`ڀ`,ࢩ:`ݔ`,ݧ:`ݔ`,"⍥":`ة`,ö:`ة`,ﺔ:`ة`,ﺓ:`ة`,ۃ:`ة`,𞸕:`ت`,𞸵:`ت`,𞹵:`ت`,𞺕:`ت`,𞺵:`ت`,ﺗ:`ت`,ﺘ:`ت`,ﺖ:`ت`,ﺕ:`ت`,ﲥ:`تo`,ﳤ:`تo`,ﲡ:ir,ﰋ:ar,ﵐ:or,ﶠ:sr,ﶟ:cr,ﲢ:lr,ﰌ:ur,ﵒ:dr,ﵑ:fr,ﵓ:pr,ﲣ:mr,ﰍ:hr,ﵔ:gr,ﶢ:_r,ﶡ:vr,ﱰ:yr,ﱱ:br,ﲤ:xr,ﳣ:Sr,ﱲ:Cr,ﰎ:wr,ﵕ:Tr,ﵖ:Er,ﵗ:Dr,ﶤ:Or,ﶣ:kr,ﱳ:Ar,ﱴ:jr,ﰏ:Mr,ﱵ:Nr,ﰐ:Pr,ﭠ:`ٺ`,ﭡ:`ٺ`,ﭟ:`ٺ`,ﭞ:`ٺ`,ﭤ:`ٿ`,ﭥ:`ٿ`,ﭣ:`ٿ`,ﭢ:`ٿ`,𞸂:`ج`,𞸢:`ج`,𞹂:`ج`,𞹢:`ج`,𞺂:`ج`,𞺢:`ج`,ﺟ:`ج`,ﺠ:`ج`,ﺞ:`ج`,ﺝ:`ج`,ﲧ:Fr,ﰕ:Ir,ﶦ:Lr,ﶾ:Rr,ﷻ:zr,ﲨ:Br,ﰖ:Vr,ﵙ:Hr,ﵘ:Ur,ﶧ:Wr,ﶥ:Gr,ﴝ:Kr,ﴁ:qr,ﴞ:Jr,ﴂ:Yr,ﭸ:`ڃ`,ﭹ:`ڃ`,ﭷ:`ڃ`,ﭶ:`ڃ`,ﭴ:`ڄ`,ﭵ:`ڄ`,ﭳ:`ڄ`,ﭲ:`ڄ`,ﭼ:`چ`,ﭽ:`چ`,ﭻ:`چ`,ﭺ:`چ`,ﮀ:`ڇ`,ﮁ:`ڇ`,ﭿ:`ڇ`,ﭾ:`ڇ`,𞸇:`ح`,𞸧:`ح`,𞹇:`ح`,𞹧:`ح`,𞺇:`ح`,𞺧:`ح`,ﺣ:`ح`,ﺤ:`ح`,ﺢ:`ح`,ﺡ:`ح`,څ:Xr,ځ:Zr,ݲ:Qr,ﲩ:$r,ﰗ:ei,ﶿ:ti,ﲪ:ni,ﰘ:ri,ﵛ:ii,ﵚ:ai,ﴛ:oi,ﳿ:si,ﴜ:ci,ﴀ:li,𞸗:`خ`,𞸷:`خ`,𞹗:`خ`,𞹷:`خ`,𞺗:`خ`,𞺷:`خ`,ﺧ:`خ`,ﺨ:`خ`,ﺦ:`خ`,ﺥ:`خ`,ﲫ:ui,ﰙ:di,ﰚ:fi,ﲬ:pi,ﰛ:mi,ﴟ:hi,ﴃ:gi,ﴠ:_i,ﴄ:vi,"𐋡":`د`,𞸃:`د`,𞺃:`د`,𞺣:`د`,ﺪ:`د`,ﺩ:`د`,ڈ:yi,ﮉ:bi,ﮈ:xi,ڎ:Si,ﮇ:Ci,ﮆ:wi,ۮ:Ti,ࢮ:Ei,𞸘:`ذ`,𞺘:`ذ`,𞺸:`ذ`,ﺬ:`ذ`,ﺫ:`ذ`,ﱛ:Di,ڋ:Oi,ﮅ:`ڌ`,ﮄ:`ڌ`,ﮃ:`ڍ`,ﮂ:`ڍ`,𞸓:`ر`,𞺓:`ر`,𞺳:`ر`,ﺮ:`ر`,ﺭ:`ر`,ڑ:ki,ﮍ:Ai,ﮌ:ji,ژ:Mi,ﮋ:Ni,ﮊ:Pi,ڒ:Fi,ࢹ:Ii,ۯ:Li,ݬ:Ri,ﱜ:zi,ﷶ:Bi,"﷼":`رىlل`,𞸆:`ز`,𞺆:`ز`,𞺦:`ز`,ﺰ:`ز`,ﺯ:`ز`,ࢲ:Vi,ݱ:Hi,𞸎:`س`,𞸮:`س`,𞹎:`س`,𞹮:`س`,𞺎:`س`,𞺮:`س`,ﺳ:`س`,ﺴ:`س`,ﺲ:`س`,ﺱ:`س`,ش:Ui,𞸔:Wi,𞸴:Gi,𞹔:Ki,𞹴:qi,𞺔:Ji,𞺴:Yi,ﺷ:Xi,ﺸ:Zi,ﺶ:Qi,ﺵ:$i,ݾ:ea,ﴱ:`سo`,ﳨ:`سo`,ﴲ:ta,ﳪ:na,ﲭ:ra,ﴴ:ia,ﰜ:aa,ﴭ:oa,ﴷ:sa,ﴥ:ca,ﴉ:la,ﵝ:ua,ﵞ:da,ﵩ:fa,ﲮ:pa,ﴵ:ma,ﰝ:ha,ﴮ:ga,ﴸ:_a,ﴦ:va,ﴊ:ya,ﵜ:ba,ﵨ:xa,ﵧ:Sa,ﶪ:Ca,ﲯ:wa,ﴶ:Ta,ﰞ:Ea,ﴯ:Da,ﴹ:Oa,ﴧ:ka,ﴋ:Aa,ﶨ:ja,ﷆ:Ma,ﴪ:Na,ﴎ:Pa,ﴩ:Fa,ﴍ:Ia,ﲰ:La,ﳧ:Ra,ﰟ:za,ﴰ:Ba,ﳩ:Va,ﴨ:Ha,ﴌ:Ua,ﵡ:Wa,ﵠ:Ga,ﵟ:Ka,ﵫ:qa,ﵪ:Ja,ﵣ:Ya,ﵢ:Xa,ﵭ:Za,ﵬ:Qa,ﴗ:$a,ﳻ:eo,ﴘ:to,ﳼ:no,ﴙ:ro,ﳽ:io,ﴚ:ao,ﳾ:oo,"𐋲":`ص`,𞸑:`ص`,𞸱:`ص`,𞹑:`ص`,𞹱:`ص`,𞺑:`ص`,𞺱:`ص`,ﺻ:`ص`,ﺼ:`ص`,ﺺ:`ص`,ﺹ:`ص`,ڞ:so,ࢯ:co,ﲱ:lo,ﰠ:uo,ﵥ:fo,ﵤ:po,ﶩ:mo,ﲲ:ho,ﴫ:go,ﴏ:_o,ﷵ:vo,ﷹ:yo,ﷰ:bo,ﷺ:xo,ﲳ:So,ﰡ:Co,ﷅ:wo,ﵦ:To,ﴡ:Eo,ﴅ:Do,ﴢ:Oo,ﴆ:ko,𞸙:`ض`,𞸹:`ض`,𞹙:`ض`,𞹹:`ض`,𞺙:`ض`,𞺹:`ض`,ﺿ:`ض`,ﻀ:`ض`,ﺾ:`ض`,ﺽ:`ض`,ﲴ:Ao,ﰢ:jo,ﲵ:Mo,ﰣ:No,ﵮ:Po,ﶫ:Fo,ﲶ:Io,ﰤ:Lo,ﵰ:Ro,ﵯ:zo,ﴬ:Bo,ﴐ:Vo,ﲷ:Ho,ﰥ:Uo,ﴣ:Wo,ﴇ:Go,ﴤ:Ko,ﴈ:qo,"𐋨":`ط`,𞸈:`ط`,𞹨:`ط`,𞺈:`ط`,𞺨:`ط`,ﻃ:`ط`,ﻄ:`ط`,ﻂ:`ط`,ﻁ:`ط`,ڟ:Jo,ﲸ:Yo,ﰦ:Xo,ﴳ:Zo,ﴺ:Qo,ﰧ:$o,ﵲ:es,ﵱ:ts,ﵳ:ns,ﵴ:rs,ﴑ:is,ﳵ:as,ﴒ:os,ﳶ:ss,𞸚:`ظ`,𞹺:`ظ`,𞺚:`ظ`,𞺺:`ظ`,ﻇ:`ظ`,ﻈ:`ظ`,ﻆ:`ظ`,ﻅ:`ظ`,ﲹ:cs,ﴻ:ls,ﰨ:us,"؏":`ع`,𞸏:`ع`,𞸯:`ع`,𞹏:`ع`,𞹯:`ع`,𞺏:`ع`,𞺯:`ع`,ﻋ:`ع`,ﻌ:`ع`,ﻊ:`ع`,ﻉ:`ع`,ﲺ:ds,ﰩ:fs,ﷄ:ps,ﵵ:ms,ﷷ:hs,ﲻ:gs,ﰪ:_s,ﵷ:vs,ﵶ:ys,ﵸ:bs,ﶶ:xs,ﴓ:Ss,ﳷ:Cs,ﴔ:ws,ﳸ:Ts,𞸛:`غ`,𞸻:`غ`,𞹛:`غ`,𞹻:`غ`,𞺛:`غ`,𞺻:`غ`,ﻏ:`غ`,ﻐ:`غ`,ﻎ:`غ`,ﻍ:`غ`,ﲼ:Es,ﰫ:Ds,ﲽ:Os,ﰬ:ks,ﵹ:As,ﵻ:js,ﵺ:Ms,ﴕ:Ns,ﳹ:Ps,ﴖ:Fs,ﳺ:Is,𞸐:`ف`,𞸰:`ف`,𞹰:`ف`,𞺐:`ف`,𞺰:`ف`,ﻓ:`ف`,ﻔ:`ف`,ﻒ:`ف`,ﻑ:`ف`,ڧ:`ف`,ﲾ:Ls,ﰭ:Rs,ﲿ:zs,ﰮ:Bs,ﳀ:Vs,ﰯ:Hs,ﵽ:Us,ﵼ:Ws,ﳁ:Gs,ﰰ:Ks,ﷁ:qs,ﱼ:Js,ﰱ:Ys,ﱽ:Xs,ﰲ:Zs,𞸞:`ڡ`,𞹾:`ڡ`,ࢻ:`ڡ`,ٯ:`ڡ`,𞸟:`ڡ`,𞹟:`ڡ`,ࢼ:`ڡ`,ڤ:Qs,ﭬ:$s,ﭭ:ec,ﭫ:tc,ﭪ:nc,ڨ:rc,ࢤ:ic,ﭰ:`ڦ`,ﭱ:`ڦ`,ﭯ:`ڦ`,ﭮ:`ڦ`,𞸒:`ق`,𞸲:`ق`,𞹒:`ق`,𞹲:`ق`,𞺒:`ق`,𞺲:`ق`,ﻗ:`ق`,ﻘ:`ق`,ﻖ:`ق`,ﻕ:`ق`,ﳂ:ac,ﰳ:oc,ﷱ:sc,ﳃ:cc,ﰴ:lc,ﶴ:uc,ﵾ:dc,ﵿ:fc,ﶲ:pc,ﱾ:mc,ﰵ:hc,ﱿ:gc,ﰶ:_c,𞸊:`ك`,𞸪:`ك`,𞹪:`ك`,ﻛ:`ك`,ﻜ:`ك`,ﻚ:`ك`,ﻙ:`ك`,ک:`ك`,ﮐ:`ك`,ﮑ:`ك`,ﮏ:`ك`,ﮎ:`ك`,ڪ:`ك`,ڭ:vc,ﯕ:yc,ﯖ:bc,ﯔ:xc,ﯓ:Sc,ݣ:Cc,ﲀ:`كl`,ﰷ:`كl`,ﳄ:wc,ﰸ:Tc,ﳅ:Ec,ﰹ:Dc,ﳆ:Oc,ﰺ:kc,ﳇ:Ac,ﳫ:jc,ﲁ:Mc,ﰻ:Nc,ﳈ:Pc,ﳬ:Fc,ﲂ:Ic,ﰼ:Lc,ﷃ:Rc,ﶻ:zc,ﶷ:Bc,ﲃ:Vc,ﰽ:Hc,ﲄ:Uc,ﰾ:Wc,ݢ:`ڬ`,ﮔ:`گ`,ﮕ:`گ`,ﮓ:`گ`,ﮒ:`گ`,ࢰ:`گ`,ڴ:Gc,ﮜ:`ڱ`,ﮝ:`ڱ`,ﮛ:`ڱ`,ﮚ:`ڱ`,ﮘ:`ڳ`,ﮙ:`ڳ`,ﮗ:`ڳ`,ﮖ:`ڳ`,𞸋:`ل`,𞸫:`ل`,𞹋:`ل`,𞺋:`ل`,𞺫:`ل`,ﻟ:`ل`,ﻠ:`ل`,ﻞ:`ل`,ﻝ:`ل`,ڷ:Kc,ڵ:qc,ﻼ:`لl`,ﻻ:`لl`,ﻺ:Jc,ﻹ:Yc,ﻸ:Xc,ﻷ:Zc,ﳍ:`لo`,ﻶ:Qc,ﻵ:$c,ﳉ:el,ﰿ:tl,ﶃ:nl,ﶄ:rl,ﶺ:il,ﶼ:al,ﶬ:ol,ﳊ:sl,ﱀ:cl,ﶵ:ll,ﶀ:ul,ﶂ:dl,ﶁ:fl,ﳋ:pl,ﱁ:ml,ﶆ:hl,ﶅ:gl,ﳌ:_l,ﳭ:vl,ﲅ:yl,ﱂ:bl,ﶈ:xl,ﶇ:Sl,ﶭ:Cl,ﲆ:wl,ﱃ:Tl,ﲇ:El,ﱄ:Dl,𞸌:`م`,𞸬:`م`,𞹬:`م`,𞺌:`م`,𞺬:`م`,ﻣ:`م`,ﻤ:`م`,ﻢ:`م`,ﻡ:`م`,ࢧ:Ol,"۾":`م͈`,ﲈ:`مl`,ﳎ:kl,ﱅ:Al,ﶌ:jl,ﶒ:Ml,ﶍ:Nl,ﷀ:Pl,ﳏ:Fl,ﱆ:Il,ﶉ:Ll,ﶊ:Rl,ﷴ:zl,ﶋ:Bl,ﳐ:Vl,ﱇ:Hl,ﶎ:Ul,ﶏ:Wl,ﶹ:Gl,ﳑ:Kl,ﲉ:ql,ﱈ:Jl,ﶱ:Yl,ﱉ:Xl,ﱊ:Zl,𞸍:`ن`,𞸭:`ن`,𞹍:`ن`,𞹭:`ن`,𞺍:`ن`,𞺭:`ن`,ﻧ:`ن`,ﻨ:`ن`,ﻦ:`ن`,ﻥ:`ن`,ݨ:Ql,ݩ:$l,ﳖ:`نo`,ﳯ:`نo`,ﶸ:eu,ﶽ:tu,ﶘ:nu,ﶗ:ru,ﶙ:iu,ﷇ:au,ﳓ:ou,ﱌ:su,ﶕ:cu,ﶖ:lu,ﶳ:uu,ﳔ:du,ﱍ:fu,ﲊ:pu,ﲋ:mu,ﳕ:hu,ﳮ:gu,ﲌ:_u,ﱎ:vu,ﶛ:yu,ﶚ:bu,ﲍ:xu,ﲎ:Su,ﱏ:Cu,ﲏ:wu,ﱐ:Tu,ۂ:`ۀ`,ﮥ:`ۀ`,ﮤ:`ۀ`,"𐋤":`و`,𞸅:`و`,𞺅:`و`,𞺥:`و`,ﻮ:`و`,ﻭ:`و`,ࢱ:`و`,ۋ:Eu,ﯟ:Du,ﯞ:Ou,ۇ:ku,ﯘ:Au,ﯗ:ju,ۆ:Mu,ﯚ:Nu,ﯙ:Pu,ۉ:Fu,ﯣ:Iu,ﯢ:Lu,ۈ:Ru,ﯜ:zu,ﯛ:Bu,ؤ:Vu,ﺆ:Hu,ﺅ:Uu,ٶ:Wu,ٷ:Gu,ﯝ:Ku,ﷸ:qu,ﯡ:`ۅ`,ﯠ:`ۅ`,ٮ:`ى`,𞸜:`ى`,𞹼:`ى`,ں:`ى`,𞸝:`ى`,𞹝:`ى`,ﮟ:`ى`,ﮞ:`ى`,ࢽ:`ى`,ﯨ:`ى`,ﯩ:`ى`,ﻰ:`ى`,ﻯ:`ى`,ي:`ى`,𞸉:`ى`,𞸩:`ى`,𞹉:`ى`,𞹩:`ى`,𞺉:`ى`,𞺩:`ى`,ﻳ:`ى`,ﻴ:`ى`,ﻲ:`ى`,ﻱ:`ى`,ی:`ى`,ﯾ:`ى`,ﯿ:`ى`,ﯽ:`ى`,ﯼ:`ى`,ے:`ى`,ﮯ:`ى`,ﮮ:`ى`,ٹ:Ju,ﭨ:Yu,ﭩ:Xu,ﭧ:Zu,ﭦ:Qu,ڻ:$u,ﮢ:ed,ﮣ:td,ﮡ:nd,ﮠ:rd,پ:id,ﭘ:ad,ﭙ:od,ﭗ:sd,ﭖ:cd,ث:ld,𞸖:ud,𞸶:dd,𞹶:fd,𞺖:pd,𞺶:md,ﺛ:hd,ﺜ:gd,ﺚ:_d,ﺙ:vd,ڽ:yd,ۑ:bd,ؿ:xd,ࢷ:Sd,ݖ:Cd,ێ:wd,ࢺ:Td,ؽ:Ed,ࢨ:Dd,ﲐ:Od,ﱝ:kd,ﳞ:`ىo`,ﳱ:`ىo`,ﳦ:Ad,ئ:jd,ﺋ:Md,ﺌ:Nd,ﺊ:Pd,ﺉ:Fd,ٸ:Id,ﯫ:Ld,ﯪ:Rd,ﲛ:zd,ﳠ:Bd,ﯭ:Vd,ﯬ:Hd,ﯸ:Ud,ﯷ:Wd,ﯶ:Gd,ﲗ:Kd,ﰀ:qd,ﲘ:Jd,ﰁ:Yd,ﲙ:Xd,ﱤ:Zd,ﱥ:Qd,ﲚ:$d,ﳟ:ef,ﱦ:tf,ﰂ:nf,ﱧ:rf,ﯯ:af,ﯮ:of,ﯱ:sf,ﯰ:cf,ﯳ:lf,ﯲ:uf,ﯵ:df,ﯴ:ff,ﯻ:pf,ﯺ:mf,ﱨ:hf,ﯹ:gf,ﰃ:_f,ﱩ:vf,ﰄ:yf,ﳚ:bf,ﱕ:xf,ﰑ:Sf,ﶯ:Cf,ﳛ:wf,ﱖ:Tf,ﶮ:Ef,ﳜ:Df,ﱗ:Of,ﲑ:kf,ﱶ:Af,ﲒ:jf,ﱷ:Mf,ﳝ:Nf,ﳰ:Pf,ﲓ:Ff,ﱘ:If,ﲦ:Lf,ﳥ:Rf,ﱸ:zf,ﰒ:Bf,ﶝ:Vf,ﶜ:Hf,ﶰ:Uf,ﲔ:Wf,ﱹ:Gf,ﲕ:Kf,ﱙ:qf,ﲖ:Jf,ﱚ:Yf,ﱺ:Xf,ﰓ:Zf,ﱻ:Qf,ﰔ:$f,ﮱ:`ۓ`,ﮰ:`ۓ`,𐊸:`ⵀ`,"⁞":`ⵂ`,"⸽":`ⵂ`,"⦙":`ⵂ`,"︙":`ⵗ`,"⁝":`ⵗ`,"⋮":`ⵗ`,Մ:`ሆ`,Ռ:`ቡ`,Ի:`ኮ`,Պ:`ጣ`,आ:ep,ऒ:tp,ओ:np,औ:rp,ऄ:ip,ऑ:ap,ऍ:op,ऎ:sp,ऐ:cp,ई:lp,ઽ:`ऽ`,𑇜:`ꣻ`,"𑇋":`ऺ`,"ુ":`ु`,"ૂ":`ू`,"ੋ":`ॆ`,"੍":`्`,"્":`्`,আ:up,ৠ:dp,ৡ:fp,𑒒:`ঘ`,𑒔:`চ`,𑒖:`জ`,𑒘:`ঞ`,𑒙:`ট`,𑒛:`ড`,𑒪:`ণ`,𑒞:`ত`,𑒟:`থ`,𑒠:`দ`,𑒡:`ধ`,𑒢:`ন`,𑒣:`প`,𑒩:`ব`,𑒧:`ম`,𑒨:`য`,𑒫:`র`,𑒝:`ল`,𑒭:`ষ`,𑒮:`স`,𑓄:`ঽ`,"𑒰":`া`,"𑒱":`ি`,"𑒹":`ে`,"𑒼":`ো`,"𑒾":`ৌ`,"𑓂":`্`,"𑒽":`ৗ`,ਉ:pp,ਊ:mp,ਆ:hp,ਐ:gp,ਔ:_p,ਇ:vp,ਈ:yp,ਏ:bp,આ:xp,ઑ:Sp,ઓ:Cp,ઔ:wp,ઍ:Tp,એ:Ep,ઐ:Dp,ଆ:Op,"௮":`அ`,ர:`ஈ`,"ா":`ஈ`,"௫":`ஈு`,"௨":`உ`,ഉ:`உ`,ஊ:kp,ഊ:Ap,"௭":`எ`,"௷":`எவ`,ஜ:`ஐ`,ജ:`ஐ`,"௧":`க`,"௪":`ச`,"௬":`சு`,"௲":`சூ`,ഺ:jp,ണ:`ண`,"௺":`நீ`,"௴":`மீ`,"௰":`ய`,ഴ:`ழ`,"ௗ":`ள`,"ை":`ன`,ശ:`ஶ`,"௸":`ஷ`,"ി":`ி`,"ീ":`ி`,"ொ":`ெஈ`,"ௌ":`ெள`,"ோ":`ேஈ`,ಅ:`అ`,ಆ:`ఆ`,ಇ:`ఇ`,ౠ:Mp,ౡ:Np,ಒ:`ఒ`,ఔ:Pp,ಔ:Fp,ఓ:Ip,ಓ:Lp,ಜ:`జ`,ಞ:`ఞ`,ఢ:Rp,ಣ:`ణ`,థ:zp,భ:Bp,ಯ:`య`,ఠ:Vp,ಱ:`ఱ`,ಲ:`ల`,ష:Hp,హ:Up,మ:Wp,"ూ":`ుా`,"ౄ":`ృా`,ೡ:Gp,ഈ:Kp,ഐ:qp,ഓ:Jp,ഔ:Yp,ൡ:`ഞ`,"൫":`ദ്ര`,"൹":`നു`,ഌ:Xp,ങ:Zp,"൯":`ന്`,ൻ:Qp,"൬":`ന്ന`,"൚":`ന്മ`,റ:`ര`,"൪":`ര്`,ർ:$p,"൮":`വ്ര`,"൶":`ഹ്മ`,"ൂ":`ു`,"ൃ":`ു`,"ൈ":`െെ`,"෪":`ජ`,"෫":`ද`,𑐓:em,𑐙:tm,𑐤:nm,𑐪:rm,𑐭:im,𑐯:am,𑗘:om,𑗙:sm,𑗚:cm,𑗛:lm,"𑗜":`𑖲`,"𑗝":`𑖳`,ฃ:`ข`,ด:`ค`,ต:`ค`,ม:`ฆ`,ຈ:`จ`,ซ:`ช`,ฏ:`ฎ`,ท:`ฑ`,ບ:`บ`,ປ:`ป`,ຝ:`ฝ`,ພ:`พ`,ຟ:`ฟ`,ฦ:`ภ`,ຍ:`ย`,"។":`ฯ`,ๅ:`า`,ำ:um,"ិ":`ิ`,"ី":`ี`,"ឹ":`ึ`,"ឺ":`ื`,"ຸ":`ุ`,"ູ":`ู`,แ:dm,ໜ:fm,ໝ:pm,ຳ:mm,"༂":`འུྂཿ`,"༃":`འུྂ༔`,ཪ:`ར`,ༀ:hm,"ཷ":`ྲཱྀ`,"ཹ":`ླཱྀ`,"𑲲":`𑲪`,ႁ:gm,က:_m,ၰ:vm,ၦ:ym,ဟ:bm,ၯ:xm,ၾ:Sm,ဩ:Cm,ဪ:wm,"႞":`ႃ̊`,ឣ:`អ`,"᧐":`ᦞ`,"᧑":`ᦱ`,"᪀":`ᩅ`,"᪐":`ᩅ`,"꩓":`ꨁ`,"꩖":`ꨣ`,"᭒":`ᬍ`,"᭓":`ᬑ`,"᭘":`ᬨ`,ꦣ:`ꦝ`,ᢖ:`ᡜ`,ᡕ:`ᠵ`,ῶ:`Ꮿ`,ᐍ:Tm,ᐫ:Em,ᐑ:Dm,ᐓ:Om,ᐭ:km,ᐕ:Am,ᐘ:jm,ᐮ:Mm,ᐚ:Nm,ᣝ:Pm,ᓑ:`ᐡ`,ᕀ:`ᐩ`,ᐿ:Fm,ᑃ:Im,"⍩":`ᐵ`,ᑇ:Lm,ᑜ:Rm,"⸧":`ᑐ`,"⊃":`ᑐ`,ᑞ:zm,ᑩ:Bm,"⟉":`ᑐ/`,"⫗":`ᑐᑕ`,ᑠ:Vm,"⸦":`ᑕ`,"⊂":`ᑕ`,ᑢ:Hm,ᑪ:Um,ᑤ:Wm,ᑵ:Gm,ᒅ:Km,ᑹ:qm,ᑽ:Jm,ᘃ:`ᒉ`,ᒓ:Ym,ᒕ:Xm,ᒗ:Zm,ᒛ:Qm,ᘂ:`ᒐ`,ᒝ:$m,ᒟ:eh,ᒭ:th,ᒱ:nh,ᒳ:rh,ᒵ:ih,ᒹ:ah,ᓊ:oh,ᣇ:sh,ᣉ:ch,ᣋ:lh,ᣍ:uh,ᓌ:dh,ᓎ:fh,ᘄ:`ᓓ`,ᓝ:ph,ᓟ:mh,ᓡ:hh,ᓣ:gh,ᓥ:_h,ᘇ:`ᓚ`,ᓧ:vh,ᓩ:yh,ᓷ:bh,ᓹ:xh,ᓻ:Sh,ᓽ:Ch,ᓿ:wh,ᔁ:Th,ᔃ:Eh,ᔌ:Dh,ᔎ:Oh,ᔍ:kh,ᔏ:Ah,ᔘ:jh,ᔚ:Mh,ᔜ:Nh,ᔞ:Ph,ᔠ:Fh,ᔢ:Ih,ᔤ:Lh,ᔲ:Rh,ᔴ:zh,ᔶ:Bh,ᔸ:Vh,ᔺ:Hh,ᔼ:Uh,ᘢ:`ᕃ`,ᣠ:Wh,ᘣ:`ᕆ`,ᘤ:`ᕊ`,ᕏ:Gh,ᖃ:Kh,ᖄ:qh,ᖁ:Jh,ᕿ:Yh,ᙯ:Xh,ᕾ:Zh,ᖀ:Qh,ᖂ:$h,ᖅ:eg,ᕜ:tg,ᣣ:ng,ᣤ:rg,ᕩ:ig,ᣥ:ag,ᣨ:og,ᖑ:sg,ᙰ:cg,ᖎ:lg,ᖏ:ug,ᖐ:dg,ᖒ:fg,ᖓ:pg,ᖔ:mg,ᙳ:hg,ᙱ:gg,ᙲ:_g,ᙴ:vg,ᙵ:yg,ᙶ:bg,ᣪ:xg,ᙷ:Sg,ᙸ:Cg,ᙹ:wg,ᙺ:Tg,ᙻ:Eg,ᙼ:Dg,ᙽ:Og,"⪫":`ᗒ`,"⪪":`ᗕ`,ꓷ:`ᗡ`,ᣰ:kg,ᣲ:Ag,ᶻ:`ᙆ`,ꓭ:`ᙠ`,ᶺ:`ᣔ`,ᴾ:`ᣖ`,ᣜ:jg,ˡ:`ᣳ`,ʳ:`ᣴ`,ˢ:`ᣵ`,ᣛ:`ᣵ`,ꚰ:`ᚹ`,ᛡ:`ᚼ`,"⍿":`ᚽ`,ᛂ:`ᚽ`,"𝈿":`ᛋ`,"↑":`ᛏ`,"↿":`ᛐ`,"⥮":`ᛐ⇂`,"⥣":`ᛐᛚ`,ⵣ:`ᛯ`,"↾":`ᛚ`,"⨡":`ᛚ`,"⋄":`ᛜ`,"◇":`ᛜ`,"◊":`ᛜ`,"♢":`ᛜ`,"🝔":`ᛜ`,𑢷:`ᛜ`,𐊔:`ᛜ`,"⍚":`ᛜ̲`,"⋈":`ᛞ`,"⨝":`ᛞ`,𐓐:`ᛦ`,"↕":`ᛨ`,"𐳼":`𐲂`,"𐳺":`𐲥`,ㄱ:`ᄀ`,ᆨ:`ᄀ`,ᄁ:Mg,ㄲ:Ng,ᆩ:Pg,ᇺ:Fg,ᅚ:Ig,ᇃ:Lg,ᇻ:Rg,ᆪ:zg,ㄳ:Bg,ᇄ:Vg,ᇼ:Hg,ᇽ:Ug,ᇾ:Wg,ㄴ:`ᄂ`,ᆫ:`ᄂ`,ᄓ:Gg,ᇅ:Kg,ᄔ:qg,ㅥ:Jg,ᇿ:Yg,ᄕ:Xg,ㅦ:Zg,ᇆ:Qg,ퟋ:$g,ᄖ:e_,ᅛ:t_,ᇇ:n_,ㅧ:r_,ᅜ:i_,ᆬ:a_,ㄵ:o_,ퟌ:s_,ᇉ:c_,ᅝ:l_,ᆭ:u_,ㄶ:d_,ᇈ:f_,ㅨ:p_,ㄷ:`ᄃ`,ᆮ:`ᄃ`,ᄗ:m_,ᇊ:h_,ᄄ:g_,ㄸ:__,ퟍ:v_,ퟎ:y_,ᅞ:b_,ᇋ:x_,ꥠ:S_,ꥡ:C_,ퟏ:w_,ꥢ:T_,ퟐ:E_,ퟑ:D_,ꥣ:O_,ퟒ:k_,ퟓ:A_,ퟔ:j_,ㄹ:`ᄅ`,ᆯ:`ᄅ`,ꥤ:M_,ᆰ:N_,ㄺ:P_,ꥥ:F_,ퟕ:I_,ᇌ:L_,ㅩ:R_,ퟖ:z_,ᄘ:B_,ᇍ:V_,ꥦ:H_,ᇎ:U_,ㅪ:W_,ꥧ:G_,ᇏ:K_,ᄙ:q_,ᇐ:J_,ퟗ:Y_,ꥨ:X_,ᆱ:Z_,ㄻ:Q_,ᇑ:$_,ᇒ:ev,ퟘ:tv,ꥩ:nv,ᆲ:rv,ㄼ:iv,ퟙ:av,ꥪ:ov,ᇓ:sv,ㅫ:cv,ꥫ:lv,ᇕ:uv,ퟚ:dv,ᇔ:fv,ꥬ:pv,ᆳ:mv,ㄽ:hv,ᇖ:gv,ᄛ:_v,ퟝ:vv,ꥭ:yv,ꥮ:bv,ᇘ:xv,ᆴ:Sv,ㄾ:Cv,ᆵ:wv,ㄿ:Tv,ᄚ:Ev,ㅀ:Dv,ᄻ:Ov,ᆶ:kv,ퟲ:Av,ᇗ:jv,ㅬ:Mv,ퟛ:Nv,ᇙ:Pv,ㅭ:Fv,ퟜ:Iv,ㅁ:`ᄆ`,ᆷ:`ᄆ`,ꥯ:Lv,ᇚ:Rv,ퟞ:zv,ퟟ:Bv,ꥰ:Vv,ᇛ:Hv,ퟠ:Uv,ᄜ:Wv,ㅮ:Gv,ᇜ:Kv,ퟡ:qv,ꥱ:Jv,ᇝ:Yv,ㅯ:Xv,ᇞ:Zv,ᄝ:Qv,ㅱ:$v,ᇢ:ey,ퟢ:ty,ᇠ:ny,ᇡ:ry,ᇟ:iy,ㅰ:ay,ㅂ:`ᄇ`,ᆸ:`ᄇ`,ᄞ:oy,ㅲ:sy,ᄟ:cy,ᄠ:ly,ㅳ:uy,ퟣ:dy,ᇣ:fy,ퟤ:py,ퟥ:my,ᄈ:hy,ㅃ:gy,ퟦ:_y,ᄬ:vy,ㅹ:yy,ᄡ:by,ㅄ:xy,ᆹ:Sy,ᄢ:Cy,ㅴ:wy,ᄣ:Ty,ㅵ:Ey,ퟧ:Dy,ᄤ:Oy,ᄥ:ky,ᄦ:Ay,ꥲ:jy,ᄫ:My,ㅸ:Ny,ᇦ:Py,ᄧ:Fy,ㅶ:Iy,ퟨ:Ly,ᄨ:Ry,ퟩ:zy,ꥳ:By,ᄩ:Vy,ㅷ:Hy,ᄪ:Uy,ᇤ:Wy,ꥴ:Gy,ᇥ:Ky,ㅅ:`ᄉ`,ᆺ:`ᄉ`,ᄭ:qy,ㅺ:Jy,ᇧ:Yy,ᄮ:Xy,ㅻ:Zy,ᄯ:Qy,ㅼ:$y,ᇨ:eb,ᄰ:tb,ᇩ:nb,ᄱ:rb,ퟪ:ib,ᄲ:ab,ㅽ:ob,ᇪ:sb,ᄳ:cb,ퟫ:lb,ᄊ:ub,ㅆ:db,ᆻ:fb,ퟬ:pb,ퟭ:mb,ꥵ:hb,ᄴ:gb,ᄵ:_b,ᄶ:vb,ㅾ:yb,ퟯ:bb,ᄷ:xb,ퟰ:Sb,ᄸ:Cb,ᄹ:wb,ퟱ:Tb,ᄺ:Eb,ퟮ:Db,ㅇ:`ᄋ`,ᆼ:`ᄋ`,ᅁ:Ob,ᇬ:kb,ᇭ:Ab,ᅂ:jb,ꥶ:Mb,ᅃ:Nb,ᅄ:Pb,ᅅ:Fb,ᇱ:Ib,ㆂ:Lb,ᅇ:Rb,ㆀ:zb,ᇮ:Bb,ᅈ:Vb,ᅉ:Hb,ᇯ:Ub,ᅊ:Wb,ᅋ:Gb,ꥷ:Kb,ᅆ:qb,ᇲ:Jb,ㆃ:Yb,ㅈ:`ᄌ`,ᆽ:`ᄌ`,ퟷ:Xb,ퟸ:Zb,ᅍ:Qb,ᄍ:$b,ㅉ:ex,ퟹ:tx,ꥸ:nx,ㅊ:`ᄎ`,ᆾ:`ᄎ`,ᅒ:rx,ᅓ:ix,ㅋ:`ᄏ`,ᆿ:`ᄏ`,ㅌ:`ᄐ`,ᇀ:`ᄐ`,ꥹ:ax,ㅍ:`ᄑ`,ᇁ:`ᄑ`,ᅖ:ox,ᇳ:sx,ퟺ:cx,ᅗ:lx,ㆄ:ux,ᇴ:dx,ퟻ:fx,ꥺ:px,ㅎ:`ᄒ`,ᇂ:`ᄒ`,ᇵ:mx,ᇶ:hx,ᇷ:gx,ᇸ:_x,ꥻ:vx,ᅘ:yx,ㆅ:bx,ᄽ:xx,ᄿ:Sx,ㅿ:`ᅀ`,ᇫ:`ᅀ`,ퟳ:Cx,ퟴ:wx,ㆁ:`ᅌ`,ᇰ:`ᅌ`,ퟵ:Tx,ퟶ:Ex,ᅏ:Dx,ᅑ:Ox,ㆆ:`ᅙ`,ᇹ:`ᅙ`,ꥼ:kx,ㅤ:`ᅠ`,ㅏ:`ᅡ`,ᆣ:Ax,ᅶ:jx,ᅷ:Mx,ᅢ:Nx,ㅐ:Px,ㅑ:`ᅣ`,ᅸ:Fx,ᅹ:Ix,ᆤ:Lx,ᅤ:Rx,ㅒ:zx,ㅓ:`ᅥ`,ᅼ:Bx,ᅺ:Vx,ᅻ:Hx,ᅦ:Ux,ㅔ:Wx,ㅕ:`ᅧ`,ᆥ:Gx,ᅽ:Kx,ᅾ:qx,ᅨ:Jx,ㅖ:Yx,ㅗ:`ᅩ`,ᅪ:Xx,ㅘ:Zx,ᅫ:Qx,ㅙ:$x,ᆦ:eS,ᆧ:tS,ᅿ:nS,ᆀ:rS,ힰ:iS,ᆁ:aS,ᆂ:oS,ힱ:sS,ᆃ:cS,ᅬ:lS,ㅚ:uS,ㅛ:`ᅭ`,ힲ:dS,ힳ:fS,ᆄ:pS,ㆇ:mS,ᆆ:hS,ᆅ:gS,ㆈ:_S,ힴ:vS,ᆇ:yS,ᆈ:bS,ㆉ:xS,ㅜ:`ᅮ`,ᆉ:SS,ᆊ:CS,ᅯ:wS,ㅝ:TS,ᆋ:ES,ᅰ:DS,ㅞ:OS,ힵ:kS,ᆌ:AS,ᆍ:jS,ᅱ:MS,ㅟ:NS,ힶ:PS,ㅠ:`ᅲ`,ᆎ:FS,ힷ:IS,ᆏ:LS,ᆐ:RS,ᆑ:zS,ㆊ:BS,ᆒ:VS,ㆋ:HS,ힸ:US,ᆓ:WS,ᆔ:GS,ㆌ:KS,ㆍ:`ᆞ`,ퟅ:qS,ᆟ:JS,ퟆ:YS,ᆠ:XS,ᆢ:ZS,ᆡ:QS,ㆎ:$S,ヘ:`へ`,"⍁":`〼`,"⧄":`〼`,"꒞":`ꁊ`,"꒬":`ꁐ`,"꒜":`ꃀ`,"꒨":`ꄲ`,"꒿":`ꉙ`,"꒾":`ꊱ`,"꒔":`ꋍ`,"꓀":`ꎫ`,"꓂":`ꎵ`,"꒺":`ꎿ`,"꒰":`ꏂ`,"꒧":`ꑘ`,"⊥":`ꓕ`,"⟂":`ꓕ`,"𝈜":`ꓕ`,Ʇ:`ꓕ`,Ꞟ:`ꓤ`,"⅁":`ꓨ`,"⅂":`ꓶ`,"𝈕":`ꓶ`,"𝈫":`ꓶ`,𖼦:`ꓶ`,𐐑:`ꓶ`,"⅃":`𖼀`,𑫦:eC,𑫨:tC,𑫩:nC,𑫪:rC,𑫧:iC,𑫴:aC,𑫶:oC,𑫷:sC,𑫸:cC,𑫵:lC,𑫬:uC,𑫭:dC,𑫮:fC,"⊕":`𐊨`,"⨁":`𐊨`,"🜨":`𐊨`,Ꚛ:pC,"▽":`𐊼`,"𝈔":`𐊼`,"🜄":`𐊼`,"⧖":`𐋀`,ꞛ:mC,Ꞛ:hC,"𐒠":`𐒆`,𐏑:gC,𐏓:_C,𒀸:vC,"☥":`𐦞`,𓋹:yC,〹:`卄`,不:`不`,丽:`丽`,並:`並`,"⎜":`丨`,"⎟":`丨`,"⎢":`丨`,"⎥":`丨`,"⎪":`丨`,"⎮":`丨`,"㇑":`丨`,ᅵ:`丨`,ㅣ:`丨`,"⼁":`丨`,ᆜ:bC,ᆘ:xC,ᆙ:SC,ힽ:CC,ힾ:wC,ힿ:TC,ퟀ:EC,ᆚ:DC,ퟁ:OC,ퟂ:kC,ᆛ:AC,ퟃ:jC,ᆝ:MC,ퟄ:NC,串:`串`,丸:`丸`,丹:`丹`,乁:`乁`,"㇠":`乙`,"⼄":`乙`,"㇟":`乚`,"⺃":`乚`,"㇖":`乛`,"⺂":`乛`,"⻲":`亀`,亂:`亂`,"㇚":`亅`,"⼅":`亅`,了:`了`,ニ:`二`,"⼆":`二`,𠄢:PC,"⼇":`亠`,亮:`亮`,"⼈":`人`,イ:`亻`,"⺅":`亻`,什:`什`,仌:`仌`,令:`令`,你:`你`,倂:`併`,倂:`併`,侀:`侀`,來:`來`,例:`例`,侮:`侮`,侮:`侮`,侻:`侻`,便:`便`,值:`値`,倫:`倫`,偺:`偺`,備:`備`,像:`像`,僚:`僚`,僧:`僧`,僧:`僧`,㒞:`㒞`,"⼉":`儿`,兀:`兀`,"⺎":`兀`,充:`充`,免:`免`,免:`免`,兔:`兔`,兤:`兤`,"⼊":`入`,內:`內`,全:`全`,兩:`兩`,ハ:`八`,"⼋":`八`,六:`六`,具:`具`,𠔜:FC,𠔥:IC,冀:`冀`,㒹:`㒹`,"⼌":`冂`,再:`再`,𠕋:LC,冒:`冒`,冕:`冕`,㒻:`㒻`,最:`最`,"⼍":`冖`,冗:`冗`,冤:`冤`,"⼎":`冫`,冬:`冬`,况:`况`,况:`况`,冷:`冷`,凉:`凉`,凌:`凌`,凜:`凜`,凞:`凞`,"⼏":`几`,𠘺:RC,凵:`凵`,"⼐":`凵`,"⼑":`刀`,"⺉":`刂`,刃:`刃`,切:`切`,切:`切`,列:`列`,利:`利`,㓟:`㓟`,刺:`刺`,刻:`刻`,剆:`剆`,割:`割`,剷:`剷`,劉:`劉`,𠠄:zC,カ:`力`,力:`力`,"⼒":`力`,劣:`劣`,㔕:`㔕`,劳:`劳`,勇:`勇`,勇:`勇`,勉:`勉`,勉:`勉`,勒:`勒`,勞:`勞`,勤:`勤`,勤:`勤`,勵:`勵`,"⼓":`勹`,勺:`勺`,勺:`勺`,包:`包`,匆:`匆`,𠣞:BC,"⼔":`匕`,北:`北`,北:`北`,"⼕":`匚`,"⼖":`匸`,匿:`匿`,"⼗":`十`,〸:`十`,〺:`卅`,卉:`卉`,"࿖":`卍`,"࿕":`卐`,卑:`卑`,卑:`卑`,博:`博`,ト:`卜`,"⼘":`卜`,"⼙":`卩`,"⺋":`㔾`,即:`即`,卵:`卵`,卽:`卽`,卿:`卿`,卿:`卿`,卿:`卿`,"⼚":`厂`,𠨬:VC,"⼛":`厶`,參:`參`,"⼜":`又`,及:`及`,叟:`叟`,𠭣:HC,ロ:`口`,"⼝":`口`,囗:`口`,"⼞":`口`,句:`句`,叫:`叫`,叱:`叱`,吆:`吆`,吏:`吏`,吝:`吝`,吸:`吸`,呂:`呂`,呈:`呈`,周:`周`,咞:`咞`,咢:`咢`,咽:`咽`,䎛:`㖈`,哶:`哶`,唐:`唐`,啓:`啓`,啟:`啓`,啕:`啕`,啣:`啣`,善:`善`,善:`善`,喇:`喇`,喙:`喙`,喙:`喙`,喝:`喝`,喝:`喝`,喫:`喫`,喳:`喳`,嗀:`嗀`,嗂:`嗂`,嗢:`嗢`,嘆:`嘆`,嘆:`嘆`,噑:`噑`,噴:`噴`,器:`器`,囹:`囹`,圖:`圖`,圗:`圗`,"⼟":`土`,士:`土`,"⼠":`土`,型:`型`,城:`城`,㦳:`㘽`,埴:`埴`,堍:`堍`,報:`報`,堲:`堲`,塀:`塀`,塚:`塚`,塚:`塚`,塞:`塞`,填:`塡`,壿:`墫`,墬:`墬`,墳:`墳`,壘:`壘`,壟:`壟`,𡓤:UC,壮:`壮`,売:`売`,壷:`壷`,"⼡":`夂`,夆:`夆`,"⼢":`夊`,タ:`夕`,"⼣":`夕`,多:`多`,夢:`夢`,"⼤":`大`,奄:`奄`,奈:`奈`,契:`契`,奔:`奔`,奢:`奢`,女:`女`,"⼥":`女`,𡚨:WC,𡛪:GC,姘:`姘`,姬:`姬`,娛:`娛`,娧:`娧`,婢:`婢`,婦:`婦`,嬀:`媯`,㛮:`㛮`,㛼:`㛼`,媵:`媵`,嬈:`嬈`,嬨:`嬨`,嬾:`嬾`,嬾:`嬾`,"⼦":`子`,"⼧":`宀`,宅:`宅`,𡧈:KC,寃:`寃`,寘:`寘`,寧:`寧`,寧:`寧`,寧:`寧`,寮:`寮`,寳:`寳`,𡬘:qC,"⼨":`寸`,寿:`寿`,将:`将`,"⼩":`小`,尢:`尢`,"⺐":`尢`,"⼪":`尢`,"⺏":`尣`,㞁:`㞁`,"⼫":`尸`,尿:`尿`,屠:`屠`,屢:`屢`,層:`層`,履:`履`,屮:`屮`,屮:`屮`,"⼬":`屮`,𡴋:JC,"⼭":`山`,峀:`峀`,岍:`岍`,𡷤:YC,𡷦:XC,崙:`崙`,嵃:`嵃`,嵐:`嵐`,嵫:`嵫`,嵮:`嵮`,嵼:`嵼`,嶲:`嶲`,嶺:`嶺`,"⼮":`巛`,巢:`巢`,エ:`工`,"⼯":`工`,"⼰":`己`,"⺒":`巳`,㠯:`㠯`,巽:`巽`,"⼱":`巾`,帲:`帡`,帨:`帨`,帽:`帽`,幩:`幩`,㡢:`㡢`,𢆃:ZC,"⼲":`干`,年:`年`,𢆟:QC,"⺓":`幺`,"⼳":`幺`,"⼴":`广`,度:`度`,㡼:`㡼`,庰:`庰`,庳:`庳`,庶:`庶`,廊:`廊`,廊:`廊`,廉:`廉`,廒:`廒`,廓:`廓`,廙:`廙`,廬:`廬`,"⼵":`廴`,廾:`廾`,"⼶":`廾`,𢌱:$C,𢌱:ew,弄:`弄`,"⼷":`弋`,"⼸":`弓`,弢:`弢`,弢:`弢`,"⼹":`彐`,"⺔":`彑`,当:`当`,㣇:`㣇`,"⼺":`彡`,形:`形`,彩:`彩`,彫:`彫`,"⼻":`彳`,律:`律`,㣣:`㣣`,徚:`徚`,復:`復`,徭:`徭`,"⼼":`心`,"⺖":`忄`,"⺗":`㣺`,忍:`忍`,志:`志`,念:`念`,忹:`忹`,怒:`怒`,怜:`怜`,恵:`恵`,㤜:`㤜`,㤺:`㤺`,悁:`悁`,悔:`悔`,悔:`悔`,惇:`惇`,惘:`惘`,惡:`惡`,𢛔:tw,愈:`愈`,慨:`慨`,慄:`慄`,慈:`慈`,慌:`慌`,慌:`慌`,慎:`慎`,慎:`慎`,慠:`慠`,慺:`慺`,憎:`憎`,憎:`憎`,憎:`憎`,憐:`憐`,憤:`憤`,憯:`憯`,憲:`憲`,𢡄:nw,𢡊:rw,懞:`懞`,懲:`懲`,懲:`懲`,懲:`懲`,懶:`懶`,懶:`懶`,戀:`戀`,"⼽":`戈`,成:`成`,戛:`戛`,戮:`戮`,戴:`戴`,"⼾":`戶`,戸:`戶`,"⼿":`手`,"⺘":`扌`,扝:`扝`,抱:`抱`,拉:`拉`,拏:`拏`,拓:`拓`,拔:`拔`,拼:`拼`,拾:`拾`,𢬌:iw,挽:`挽`,捐:`捐`,捨:`捨`,捻:`捻`,掃:`掃`,掠:`掠`,掩:`掩`,揄:`揄`,揤:`揤`,摒:`摒`,𢯱:aw,搜:`搜`,搢:`搢`,揅:`揅`,摩:`摩`,摷:`摷`,摾:`摾`,㨮:`㨮`,搉:`㩁`,撚:`撚`,撝:`撝`,擄:`擄`,㩬:`㩬`,"⽀":`支`,"⽁":`攴`,"⺙":`攵`,敏:`敏`,敏:`敏`,敖:`敖`,敬:`敬`,數:`數`,𣀊:ow,"⽂":`文`,"⻫":`斉`,"⽃":`斗`,料:`料`,"⽄":`斤`,"⽅":`方`,旅:`旅`,"⽆":`无`,"⺛":`旡`,既:`既`,旣:`旣`,"⽇":`日`,易:`易`,曶:`㫚`,㫤:`㫤`,晉:`晉`,晩:`晚`,晴:`晴`,晴:`晴`,暑:`暑`,暑:`暑`,暈:`暈`,㬈:`㬈`,暜:`暜`,暴:`暴`,曆:`曆`,㬙:`㬙`,𣊸:sw,"⽈":`曰`,更:`更`,書:`書`,"⽉":`月`,𣍟:cw,肦:`朌`,胐:`朏`,胊:`朐`,脁:`朓`,胶:`㬵`,朗:`朗`,朗:`朗`,朗:`朗`,脧:`朘`,望:`望`,望:`望`,幐:`㬺`,䐠:`㬻`,𣎓:lw,膧:`朣`,𣎜:uw,"⽊":`木`,李:`李`,杓:`杓`,杖:`杖`,杞:`杞`,𣏃:dw,柿:`杮`,杻:`杻`,枅:`枅`,林:`林`,㭉:`㭉`,𣏕:fw,柳:`柳`,柺:`柺`,栗:`栗`,栟:`栟`,桒:`桒`,𣑭:pw,梁:`梁`,梅:`梅`,梅:`梅`,梎:`梎`,梨:`梨`,椔:`椔`,楂:`楂`,㮝:`㮝`,㮝:`㮝`,槩:`㮣`,樧:`榝`,榣:`榣`,槪:`槪`,樂:`樂`,樂:`樂`,樂:`樂`,樓:`樓`,𣚣:mw,檨:`檨`,櫓:`櫓`,櫛:`櫛`,欄:`欄`,㰘:`㰘`,"⽋":`欠`,次:`次`,𣢧:hw,歔:`歔`,㱎:`㱎`,"⽌":`止`,"⻭":`歯`,歲:`歲`,歷:`歷`,歹:`歹`,"⽍":`歹`,"⺞":`歺`,殟:`殟`,殮:`殮`,"⽎":`殳`,殺:`殺`,殺:`殺`,殺:`殺`,殻:`殻`,𣪍:gw,"⽏":`毋`,"⺟":`母`,𣫺:_w,"⽐":`比`,"⽑":`毛`,"⽒":`氏`,"⺠":`民`,"⽓":`气`,"⽔":`水`,"⺡":`氵`,"⺢":`氺`,汎:`汎`,汧:`汧`,沈:`沈`,沿:`沿`,泌:`泌`,泍:`泍`,泥:`泥`,𣲼:vw,洛:`洛`,洞:`洞`,洴:`洴`,派:`派`,流:`流`,流:`流`,流:`流`,洖:`洖`,浩:`浩`,浪:`浪`,海:`海`,海:`海`,浸:`浸`,涅:`涅`,𣴞:yw,淋:`淋`,淚:`淚`,淪:`淪`,淹:`淹`,渚:`渚`,港:`港`,湮:`湮`,潙:`溈`,滋:`滋`,滋:`滋`,溜:`溜`,溺:`溺`,滇:`滇`,滑:`滑`,滛:`滛`,㴳:`㴳`,漏:`漏`,漢:`漢`,漢:`漢`,漣:`漣`,𣻑:bw,潮:`潮`,𣽞:xw,𣾎:Sw,濆:`濆`,濫:`濫`,濾:`濾`,瀛:`瀛`,瀞:`瀞`,瀞:`瀞`,瀹:`瀹`,灊:`灊`,㶖:`㶖`,"⽕":`火`,"⺣":`灬`,灰:`灰`,灷:`灷`,災:`災`,炙:`炙`,炭:`炭`,烈:`烈`,烙:`烙`,煮:`煮`,煮:`煮`,𤉣:Cw,煅:`煅`,煉:`煉`,𤋮:ww,熜:`熜`,燎:`燎`,燐:`燐`,𤎫:Tw,爐:`爐`,爛:`爛`,爨:`爨`,"⽖":`爪`,爫:`爫`,"⺤":`爫`,爵:`爵`,爵:`爵`,"⽗":`父`,"⽘":`爻`,"⺦":`丬`,"⽙":`爿`,"⽚":`片`,牐:`牐`,"⽛":`牙`,𤘈:Ew,"⽜":`牛`,牢:`牢`,犀:`犀`,犕:`犕`,"⽝":`犬`,"⺨":`犭`,犯:`犯`,狀:`狀`,𤜵:Dw,狼:`狼`,猪:`猪`,猪:`猪`,𤠔:Ow,獵:`獵`,獺:`獺`,"⽞":`玄`,率:`率`,率:`率`,"⽟":`玉`,王:`王`,㺬:`㺬`,玥:`玥`,玲:`玲`,㺸:`㺸`,㺸:`㺸`,珞:`珞`,琉:`琉`,理:`理`,琢:`琢`,瑇:`瑇`,瑜:`瑜`,瑩:`瑩`,瑱:`瑱`,瑱:`瑱`,璅:`璅`,璉:`璉`,璘:`璘`,瓊:`瓊`,"⽠":`瓜`,"⽡":`瓦`,㼛:`㼛`,甆:`甆`,"⽢":`甘`,"⽣":`生`,甤:`甤`,"⽤":`用`,"⽥":`田`,画:`画`,甾:`甾`,𤰶:kw,留:`留`,略:`略`,異:`異`,異:`異`,𤲒:Aw,"⽦":`疋`,"⽧":`疒`,痢:`痢`,瘐:`瘐`,瘟:`瘟`,瘝:`瘝`,療:`療`,癩:`癩`,"⽨":`癶`,"⽩":`白`,𤾡:jw,𤾸:Mw,"⽪":`皮`,"⽫":`皿`,𥁄:Nw,㿼:`㿼`,益:`益`,益:`益`,盛:`盛`,盧:`盧`,䀈:`䀈`,"⽬":`目`,直:`直`,直:`直`,𥃲:Pw,𥃳:Fw,省:`省`,䀘:`䀘`,𥄙:Iw,眞:`眞`,真:`真`,真:`真`,𥄳:Lw,着:`着`,睊:`睊`,睊:`睊`,鿃:`䀹`,䀹:`䀹`,䀹:`䀹`,晣:`䀿`,䁆:`䁆`,瞋:`瞋`,𥉉:Rw,瞧:`瞧`,"⽭":`矛`,"⽮":`矢`,"⽯":`石`,䂖:`䂖`,𥐝:zw,硏:`研`,硎:`硎`,硫:`硫`,碌:`碌`,碌:`碌`,碑:`碑`,磊:`磊`,磌:`磌`,磌:`磌`,磻:`磻`,䃣:`䃣`,礪:`礪`,"⽰":`示`,"⺭":`礻`,礼:`礼`,社:`社`,祈:`祈`,祉:`祉`,𥘦:Bw,祐:`祐`,祖:`祖`,祖:`祖`,祝:`祝`,神:`神`,祥:`祥`,視:`視`,視:`視`,祿:`祿`,𥚚:Vw,禍:`禍`,禎:`禎`,福:`福`,福:`福`,𥛅:Hw,禮:`禮`,"⽱":`禸`,"⽲":`禾`,秊:`秊`,䄯:`䄯`,秫:`秫`,稜:`稜`,穊:`穊`,穀:`穀`,穀:`穀`,穏:`穏`,"⽳":`穴`,突:`突`,𥥼:Uw,窱:`窱`,立:`立`,"⽴":`立`,"⻯":`竜`,𥪧:Ww,𥪧:Gw,竮:`竮`,"⽵":`竹`,笠:`笠`,節:`節`,節:`節`,䈂:`䈂`,𥮫:Kw,篆:`篆`,䈧:`䈧`,築:`築`,𥲀:qw,𥳐:Jw,簾:`簾`,籠:`籠`,"⽶":`米`,类:`类`,粒:`粒`,精:`精`,糒:`糒`,糖:`糖`,糨:`糨`,䊠:`䊠`,糣:`糣`,糧:`糧`,"⽷":`糸`,"⺯":`糹`,𥾆:Yw,紀:`紀`,紐:`紐`,索:`索`,累:`累`,絶:`絕`,絣:`絣`,絛:`絛`,綠:`綠`,綾:`綾`,緇:`緇`,練:`練`,練:`練`,練:`練`,縂:`縂`,䌁:`䌁`,縉:`縉`,縷:`縷`,繁:`繁`,繅:`繅`,𦇚:Xw,䌴:`䌴`,"⽸":`缶`,𦈨:Zw,缾:`缾`,𦉇:Qw,"⽹":`网`,"⺫":`罒`,"⺲":`罒`,"⺱":`罓`,䍙:`䍙`,署:`署`,𦋙:$w,罹:`罹`,罺:`罺`,羅:`羅`,𦌾:eT,"⽺":`羊`,羕:`羕`,羚:`羚`,羽:`羽`,"⽻":`羽`,翺:`翺`,老:`老`,"⽼":`老`,"⺹":`耂`,者:`者`,者:`者`,者:`者`,"⽽":`而`,𦓚:tT,"⽾":`耒`,𦔣:nT,"⽿":`耳`,聆:`聆`,聠:`聠`,𦖨:rT,聯:`聯`,聰:`聰`,聾:`聾`,"⾀":`聿`,"⺺":`肀`,"⾁":`肉`,肋:`肋`,肭:`肭`,育:`育`,䏕:`䏕`,䏙:`䏙`,腁:`胼`,脃:`脃`,脾:`脾`,䐋:`䐋`,朡:`朡`,𦞧:iT,𦞵:aT,朦:`䑃`,臘:`臘`,"⾂":`臣`,臨:`臨`,"⾃":`自`,臭:`臭`,"⾄":`至`,"⾅":`臼`,舁:`舁`,舁:`舁`,舄:`舄`,"⾆":`舌`,舘:`舘`,"⾇":`舛`,"⾈":`舟`,䑫:`䑫`,"⾉":`艮`,良:`良`,"⾊":`色`,"⾋":`艸`,艹:`艹`,艹:`艹`,"⺾":`艹`,"⺿":`艹`,"⻀":`艹`,芋:`芋`,芑:`芑`,芝:`芝`,花:`花`,芳:`芳`,芽:`芽`,若:`若`,若:`若`,苦:`苦`,𦬼:oT,茶:`茶`,荒:`荒`,荣:`荣`,茝:`茝`,茣:`茣`,莽:`莽`,荓:`荓`,菉:`菉`,菊:`菊`,菌:`菌`,菜:`菜`,菧:`菧`,華:`華`,菱:`菱`,著:`著`,著:`著`,𦰶:sT,莭:`莭`,落:`落`,葉:`葉`,蔿:`蒍`,𦳕:cT,𦵫:lT,蓮:`蓮`,蓱:`蓱`,蓳:`蓳`,蓼:`蓼`,蔖:`蔖`,䔫:`䔫`,蕤:`蕤`,𦼬:uT,藍:`藍`,䕝:`䕝`,𦾱:dT,䕡:`䕡`,藺:`藺`,蘆:`蘆`,䕫:`䕫`,蘒:`蘒`,蘭:`蘭`,𧃒:fT,虁:`蘷`,蘿:`蘿`,"⾌":`虍`,"⻁":`虎`,虐:`虐`,虜:`虜`,虜:`虜`,虧:`虧`,虩:`虩`,"⾍":`虫`,蚩:`蚩`,蚈:`蚈`,蛢:`蛢`,蜎:`蜎`,蜨:`蜨`,蝫:`蝫`,蟡:`蟡`,蝹:`蝹`,蝹:`蝹`,螆:`螆`,䗗:`䗗`,𧏊:pT,螺:`螺`,蠁:`蠁`,䗹:`䗹`,蠟:`蠟`,"⾎":`血`,行:`行`,"⾏":`行`,衠:`衠`,衣:`衣`,"⾐":`衣`,"⻂":`衤`,裂:`裂`,𧙧:mT,裏:`裏`,裗:`裗`,裞:`裞`,裡:`裡`,裸:`裸`,裺:`裺`,䘵:`䘵`,褐:`褐`,襁:`襁`,襤:`襤`,"⾑":`襾`,"⻄":`西`,"⻃":`覀`,覆:`覆`,見:`見`,"⾒":`見`,𧢮:hT,"⻅":`见`,"⾓":`角`,"⾔":`言`,𧥦:gT,詽:`訮`,訞:`䚶`,䚾:`䚾`,䛇:`䛇`,誠:`誠`,說:`說`,說:`說`,調:`調`,請:`請`,諒:`諒`,論:`論`,諭:`諭`,諭:`諭`,諸:`諸`,諸:`諸`,諾:`諾`,諾:`諾`,謁:`謁`,謁:`謁`,謹:`謹`,謹:`謹`,識:`識`,讀:`讀`,讏:`讆`,變:`變`,變:`變`,"⻈":`讠`,"⾕":`谷`,"⾖":`豆`,豈:`豈`,豕:`豕`,"⾗":`豕`,豣:`豜`,"⾘":`豸`,𧲨:_T,"⾙":`貝`,貫:`貫`,賁:`賁`,賂:`賂`,賈:`賈`,賓:`賓`,贈:`贈`,贈:`贈`,贛:`贛`,"⻉":`贝`,"⾚":`赤`,"⾛":`走`,起:`起`,趆:`赿`,𧻓:vT,𧼯:yT,"⾜":`足`,跋:`跋`,趼:`趼`,跺:`跥`,路:`路`,跰:`跰`,躛:`躗`,"⾝":`身`,車:`車`,"⾞":`車`,軔:`軔`,輧:`軿`,輦:`輦`,輪:`輪`,輸:`輸`,輸:`輸`,輻:`輻`,轢:`轢`,"⻋":`车`,"⾟":`辛`,辞:`辞`,辰:`辰`,"⾠":`辰`,"⾡":`辵`,辶:`辶`,"⻌":`辶`,"⻍":`辶`,巡:`巡`,連:`連`,逸:`逸`,逸:`逸`,遲:`遲`,遼:`遼`,𨗒:bT,𨗭:xT,邏:`邏`,"⾢":`邑`,邔:`邔`,郎:`郎`,郞:`郎`,郞:`郎`,郱:`郱`,都:`都`,𨜮:ST,鄑:`鄑`,鄛:`鄛`,"⾣":`酉`,酪:`酪`,醙:`醙`,醴:`醴`,"⾤":`釆`,里:`里`,"⾥":`里`,量:`量`,金:`金`,"⾦":`金`,鈴:`鈴`,鈸:`鈸`,鉶:`鉶`,鋗:`鋗`,鋘:`鋘`,鉼:`鉼`,錄:`錄`,鍊:`鍊`,鎮:`鎭`,鏹:`鏹`,鐕:`鐕`,𨯺:CT,"⻐":`钅`,"⻑":`長`,"⾧":`長`,"⻒":`镸`,"⻓":`长`,"⾨":`門`,開:`開`,䦕:`䦕`,閭:`閭`,閷:`閷`,𨵷:wT,"⻔":`门`,"⾩":`阜`,"⻏":`阝`,"⻖":`阝`,阮:`阮`,陋:`陋`,降:`降`,陵:`陵`,陸:`陸`,陼:`陼`,隆:`隆`,隣:`隣`,䧦:`䧦`,"⾪":`隶`,隷:`隷`,隸:`隷`,隸:`隷`,"⾫":`隹`,雃:`雃`,離:`離`,難:`難`,難:`難`,"⾬":`雨`,零:`零`,雷:`雷`,霣:`霣`,𩅅:TT,露:`露`,靈:`靈`,"⾭":`靑`,"⻘":`青`,靖:`靖`,靖:`靖`,𩇟:ET,"⾮":`非`,"⾯":`面`,𩈚:DT,"⾰":`革`,䩮:`䩮`,䩶:`䩶`,"⾱":`韋`,韛:`韛`,韠:`韠`,"⻙":`韦`,"⾲":`韭`,𩐊:OT,"⾳":`音`,響:`響`,響:`響`,"⾴":`頁`,䪲:`䪲`,頋:`頋`,頋:`頋`,頋:`頋`,領:`領`,頩:`頩`,𩒖:kT,頻:`頻`,頻:`頻`,類:`類`,"⻚":`页`,"⾵":`風`,𩖶:AT,"⻛":`风`,"⾶":`飛`,"⻜":`飞`,"⻝":`食`,"⾷":`食`,"⻟":`飠`,飢:`飢`,飯:`飯`,飼:`飼`,䬳:`䬳`,館:`館`,餩:`餩`,"⻠":`饣`,"⾸":`首`,"⾹":`香`,馧:`馧`,"⾺":`馬`,駂:`駂`,駱:`駱`,駾:`駾`,驪:`驪`,"⻢":`马`,"⾻":`骨`,䯎:`䯎`,"⾼":`高`,"⾽":`髟`,𩬰:jT,鬒:`鬒`,鬒:`鬒`,"⾾":`鬥`,"⾿":`鬯`,"⿀":`鬲`,"⿁":`鬼`,"⻤":`鬼`,"⿂":`魚`,魯:`魯`,鱀:`鱀`,鱗:`鱗`,"⻥":`鱼`,"⿃":`鳥`,鳽:`鳽`,䳎:`䳎`,鵧:`鵧`,䳭:`䳭`,𪃎:MT,鶴:`鶴`,𪄅:NT,䳸:`䳸`,鷺:`鷺`,𪈎:PT,鸞:`鸞`,鹃:`鹂`,"⿄":`鹵`,鹿:`鹿`,"⿅":`鹿`,𪊑:FT,麗:`麗`,麟:`麟`,"⿆":`麥`,"⻨":`麦`,麻:`麻`,"⿇":`麻`,𪎒:IT,"⿈":`黃`,"⻩":`黄`,"⿉":`黍`,黎:`黎`,䵖:`䵖`,"⿊":`黑`,黒:`黑`,墨:`墨`,黹:`黹`,"⿋":`黹`,"⿌":`黽`,鼅:`鼅`,黾:`黾`,"⿍":`鼎`,鼏:`鼏`,"⿎":`鼓`,鼖:`鼖`,"⿏":`鼠`,鼻:`鼻`,"⿐":`鼻`,齃:`齃`,"⿑":`齊`,"⻬":`齐`,"⿒":`齒`,𪘀:LT,"⻮":`齿`,龍:`龍`,"⿓":`龍`,龎:`龎`,"⻰":`龙`,龜:`龜`,龜:`龜`,龜:`龜`,"⿔":`龜`,"⻳":`龟`,"⿕":`龠`}})),BT=i(((e,n)=>{var r=(zT(),t(d).default);function i(e){return e.replace(/([.?*+^$[\]\\(){}|-])/g,`\\$1`)}var a=RegExp(Object.keys(r).map(i).join(`|`),`g`);function o(e){return r[e]}function s(e){return e.replace(a,o)}n.exports=s})),VT=Object.prototype.toString,HT=e=>VT.call(e)===`[object Error]`,UT=new Set([`network error`,`NetworkError when attempting to fetch resource.`,`The Internet connection appears to be offline.`,`Network request failed`,`fetch failed`,`terminated`,` A network error occurred.`,`Network connection lost`]);function WT(e){if(!(e&&HT(e)&&e.name===`TypeError`&&typeof e.message==`string`))return!1;let{message:t,stack:n}=e;return t===`Load failed`?n===void 0||`__sentry_captured__`in e:t.startsWith(`error sending request for url`)||t===`Failed to fetch`||t.startsWith(`Failed to fetch (`)&&t.endsWith(`)`)?!0:UT.has(t)}function GT(e){if(typeof e==`number`){if(e<0)throw TypeError("Expected `retries` to be a non-negative number.");if(Number.isNaN(e))throw TypeError("Expected `retries` to be a valid number or Infinity, got NaN.")}else if(e!==void 0)throw TypeError("Expected `retries` to be a number or Infinity.")}function KT(e,t,{min:n=0,allowInfinity:r=!1}={}){if(t!==void 0){if(typeof t!=`number`||Number.isNaN(t))throw TypeError(`Expected \`${e}\` to be a number${r?` or Infinity`:``}.`);if(!r&&!Number.isFinite(t))throw TypeError(`Expected \`${e}\` to be a finite number.`);if(t<n)throw TypeError(`Expected \`${e}\` to be \u2265 ${n}.`)}}function qT(e,t){if(t!==void 0&&typeof t!=`function`)throw TypeError(`Expected \`${e}\` to be a function.`)}var JT=class extends Error{constructor(e){super(),e instanceof Error?(this.originalError=e,{message:e}=e):(this.originalError=Error(e),this.originalError.stack=this.stack),this.name=`AbortError`,this.message=e}};function YT(e,t){let n=Math.max(1,e+1),r=t.randomize?Math.random()+1:1,i=Math.round(r*t.minTimeout*t.factor**(n-1));return i=Math.min(i,t.maxTimeout),i}function XT(e,t){return Number.isFinite(t)?t-(performance.now()-e):t}async function ZT(e,t){e<=0||await new Promise((n,r)=>{let i=()=>{clearTimeout(a),t.signal?.removeEventListener(`abort`,i),r(t.signal.reason)},a=setTimeout(()=>{t.signal?.removeEventListener(`abort`,i),n()},e);t.unref&&a.unref?.(),t.signal?.addEventListener(`abort`,i,{once:!0})})}async function QT({error:e,attemptNumber:t,retriesConsumed:n,startTime:r,options:i}){let a=e instanceof Error?e:TypeError(`Non-error was thrown: "${e}". You should only throw errors.`);if(a instanceof JT)throw a.originalError;let o=Number.isFinite(i.retries)?Math.max(0,i.retries-n):i.retries,s=i.maxRetryTime??1/0,c=YT(n,i);if(XT(r,s)<=0){let e=Object.freeze({error:a,attemptNumber:t,retriesLeft:o,retriesConsumed:n,retryDelay:0});throw await i.onFailedAttempt(e),a}let l=Object.freeze({error:a,attemptNumber:t,retriesLeft:o,retriesConsumed:n,retryDelay:o>0?c:0}),u=await i.shouldConsumeRetry(l),d=u&&o>0?c:0,f=Object.freeze({error:a,attemptNumber:t,retriesLeft:o,retriesConsumed:n,retryDelay:d});if(await i.onFailedAttempt(f),XT(r,s)<=0||XT(r,s)<=0||o<=0||a instanceof TypeError&&!WT(a)||!await i.shouldRetry(f))throw a;let p=XT(r,s);if(p<=0)throw a;if(!u)return i.signal?.throwIfAborted(),!1;let m=Math.min(d,p);return i.signal?.throwIfAborted(),await ZT(m,i),i.signal?.throwIfAborted(),!0}async function $T(e,t={}){if(t={...t},GT(t.retries),Object.hasOwn(t,`forever`))throw Error("The `forever` option is no longer supported. For many use-cases, you can set `retries: Infinity` instead.");t.retries??=10,t.factor??=2,t.minTimeout??=1e3,t.maxTimeout??=1/0,t.maxRetryTime??=1/0,t.randomize??=!1,t.onFailedAttempt??=()=>{},t.shouldRetry??=()=>!0,t.shouldConsumeRetry??=()=>!0,qT(`onFailedAttempt`,t.onFailedAttempt),qT(`shouldRetry`,t.shouldRetry),qT(`shouldConsumeRetry`,t.shouldConsumeRetry),KT(`factor`,t.factor,{min:0,allowInfinity:!1}),KT(`minTimeout`,t.minTimeout,{min:0,allowInfinity:!1}),KT(`maxTimeout`,t.maxTimeout,{min:0,allowInfinity:!0}),KT(`maxRetryTime`,t.maxRetryTime,{min:0,allowInfinity:!0}),t.factor>0||(t.factor=1),t.signal?.throwIfAborted();let n=0,r=0,i=performance.now();for(;!Number.isFinite(t.retries)||r<=t.retries;){n++;try{t.signal?.throwIfAborted();let r=await e(n);return t.signal?.throwIfAborted(),r}catch(e){await QT({error:e,attemptNumber:n,retriesConsumed:r,startTime:i,options:t})&&r++}}throw Error(`Retry attempts exhausted without throwing an error.`)}var eE=class{constructor(e,t){if(this.stable=e,this.unstable=t,!this.unstable&&!this.stable)throw Error(`One of stable or unstable values must be supplied`)}get name(){return this.stable?this.stable:this.unstable}get altName(){return this.stable?this.unstable:null}get names(){var e=[this.name],t=this.altName;return t&&e.push(t),e}matches(e){return this.name===e||this.altName===e}findIn(e){var t=void 0;return this.name&&(t=e?.[this.name]),!t&&this.altName&&(t=e?.[this.altName]),t}includedIn(e){var t=!1;return this.name&&(t=e.includes(this.name)),!t&&this.altName&&(t=e.includes(this.altName)),t}},tE=class extends eE{constructor(){super(...arguments),u(this,`preferUnstable`,!1)}setPreferUnstable(e){this.preferUnstable=e}get name(){return this.stable&&!this.preferUnstable?this.stable:this.unstable}},C=class extends eE{constructor(e,t){if(super(e,t),!this.unstable)throw Error(`Unstable value must be supplied`)}get name(){return this.unstable}get altName(){return this.stable}},nE=function(e){return e.Self=`m.self`,e.Pin=`m.pin`,e}({}),rE=new C(`m.asset`,`org.matrix.msc3488.asset`),iE=new C(`m.ts`,`org.matrix.msc3488.ts`),aE=new C(`m.location`,`org.matrix.msc3488.location`),oE=function(e){return e.Read=`m.read`,e.FullyRead=`m.fully_read`,e.ReadPrivate=`m.read.private`,e}({}),sE=`main`,cE=e(BT(),1);function lE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function uE(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?lE(Object(n),!0).forEach(function(t){u(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):lE(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var dE=new Map;function fE(e){return e instanceof String&&(e=e.toString()),dE.has(e)||dE.set(e,e),dE.get(e)}function pE(e,t){var n=t??new URLSearchParams,r=function(e){a!=null&&(Array.isArray(a)?a.forEach(t=>{n.append(e,String(t))}):n.append(e,String(a)))};for(var[i,a]of Object.entries(e))r(i);return n}function mE(e,t,n){var r=uE(uE({},n),{},{[t]:n[e]});return delete r[e],r}function w(e,t){for(var n in t)if(t.hasOwnProperty(n)){var r=t[n];r!=null&&(e=e.replace(n,encodeURIComponent(r)))}return e}function hE(e,t,n){var r;if(n){for(r=e.length-1;r>=0;r--)if(t(e[r],r,e))return e.splice(r,1),!0}else for(r=0;r<e.length;r++)if(t(e[r],r,e))return e.splice(r,1),!0;return!1}function gE(e,t){for(var n of t)if(!e.hasOwnProperty(n))throw Error(`Missing required key: `+n)}function _E(e){return JSON.parse(JSON.stringify(e))}function vE(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`number`&&isNaN(e)&&isNaN(t))return!0;if(e===null||t===null)return e===t;if(e.constructor.name!==`Object`&&e.constructor.name!==`RegExp`&&e.constructor.name!==`Date`&&e.constructor.name!==`Array`||e.prototype!==t.prototype)return!1;if(e instanceof RegExp||e instanceof Date)return e.toString()===t.toString();if(Array.isArray(e)){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(!vE(e[n],t[n]))return!1}else{for(var r in t)if(t.hasOwnProperty(r)!==e.hasOwnProperty(r))return!1;for(var i in e)if(t.hasOwnProperty(i)!==e.hasOwnProperty(i)||!vE(e[i],t[i]))return!1}return!0}function yE(e){if(typeof e!=`object`||!e||Array.isArray(e))return e;var t=[];for(var[n,r]of Object.entries(e))t.push([n,yE(r)]);return t.sort((e,t)=>WE(e[0],t[0])),t}function bE(e){return typeof e==`number`&&isFinite(e)}function xE(e){return typeof e==`string`?(0,cE.default)(e.normalize(`NFD`).replace(wE,``)):``}function SE(e){return typeof e==`string`?e.replace(/[\u202d-\u202e]/g,``):``}function CE(e){return xE(e.toLowerCase()).replace(/[\\'!"#$%&()*+,\-./:;<=>?@[\]^_`{|}~\u2000-\u206f\u2e00-\u2e7f]/g,``).toLowerCase()}var wE=/[\u2000-\u200F\u202A-\u202F\u0300-\u036F\uFEFF\u061C\u2800\u2062-\u2063\s]/g;function TE(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function EE(e){return TE(e).replace(/\\\*/g,`.*`).replace(/\?/g,`.`)}function DE(e){return e!=null&&e.endsWith(`/`)?e.slice(0,-1):e}function OE(e,t){return new Promise(n=>{setTimeout(n,e,t)})}function kE(e,t,n){return AE.apply(this,arguments)}function AE(){return AE=o(function*(e,t,n){var r=Date.now();try{return yield n()}finally{var i=Date.now();e.debug(`[Perf]: ${t} took ${i-r}ms`)}}),AE.apply(this,arguments)}function jE(e,t,n){var r=Date.now();try{return n()}finally{var i=Date.now();e.debug(`[Perf]: ${t} took ${i-r}ms`)}}function ME(e){return e==null}function NE(e,t){return PE.apply(this,arguments)}function PE(){return PE=o(function*(e,t){for(var n of e)yield t(yield n)}),PE.apply(this,arguments)}function FE(e){return Promise.resolve(e())}function IE(e,t){return $T(t=>e(t),{retries:1/0,shouldRetry:t?e=>{var{error:n}=e;return t(n)}:void 0,factor:2,minTimeout:3e3,maxTimeout:15e3})}var LE=(()=>{for(var e=``,t=32;t<=126;t++)e+=String.fromCharCode(t);return e})();function RE(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:LE;return e.padEnd(t,n[0])}function zE(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:LE,n=BigInt(t.length);if(e<=n)return t[Number(e)-1]??``;var r=e/n,i=Number(e%n)-1;return i<0&&(r-=BigInt(Math.abs(i)),i=Number(n)-1),zE(r,t)+t[i]}function BE(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:LE,n=BigInt(t.length),r=BigInt(0),i=e.length-1,a=BigInt(0);i>=0;i--,a++){var o=e.charCodeAt(i)-t.charCodeAt(0);r+=BigInt(1+o)*n**a}return r}function VE(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:LE,r=Math.max(e.length,t.length),i=BE(RE(e,r,n),n),a=BE(RE(t,r,n),n),o=(i+a)/BigInt(2);return o===i||o==a?zE(o,n)+n[0]:zE(o,n)}function HE(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:LE;return zE(BE(e,t)+BigInt(1),t)}function UE(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:LE;return zE(BE(e,t)-BigInt(1),t)}function WE(e,t){return e<t?-1:+(e>t)}function GE(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;for(var[r,i]of Object.entries(t)){if(e[r]instanceof Object&&i){GE(e[r],i);continue}if(i!=null||!n){$E(e,r,i);continue}}return e}function KE(e){return iE.findIn(e.getContent())??-1}function qE(e,t){return KE(t)-KE(e)}function JE(e){return[oE.Read,oE.ReadPrivate].includes(e)}function YE(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:(e,t)=>e===t;if(e.size!==t.size)return!1;for(var[r,i]of e){var a=t.get(r);if(a===void 0||!n(i,a))return!1}return!0}function XE(e){return e instanceof Map?ZE(e):Array.isArray(e)?e.map(e=>XE(e)):e}function ZE(e){var t=new Map;for(var[n,r]of e)t.set(n,XE(r));return Object.fromEntries(t.entries())}function QE(e){return e===`__proto__`||e===`prototype`||e===`constructor`}function $E(e,t,n){if(QE(t))throw Error(`Trying to modify prototype or constructor`);e[t]=n}function eD(e){return!(QE(e.room_id)||QE(e.sender)||QE(e.event_id))}var tD=class extends Map{constructor(e){super(),this.createDefault=e}getOrCreate(e){return this.has(e)||this.set(e,this.createDefault()),this.get(e)}},nD=`migrationState`,rD=function(e){return e[e.NOT_STARTED=0]=`NOT_STARTED`,e[e.INITIAL_DATA_MIGRATED=1]=`INITIAL_DATA_MIGRATED`,e[e.OLM_SESSIONS_MIGRATED=2]=`OLM_SESSIONS_MIGRATED`,e[e.MEGOLM_SESSIONS_MIGRATED=3]=`MEGOLM_SESSIONS_MIGRATED`,e[e.ROOM_SETTINGS_MIGRATED=4]=`ROOM_SETTINGS_MIGRATED`,e[e.INITIAL_OWN_KEY_QUERY_DONE=5]=`INITIAL_OWN_KEY_QUERY_DONE`,e}({});function iD(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function aD(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?iD(Object(n),!0).forEach(function(t){u(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):iD(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function oD(e,t){return encodeURIComponent(e)+`/`+encodeURIComponent(t)}function sD(e){var t=e.split(`/`);return{senderKey:decodeURIComponent(t[0]),sessionId:decodeURIComponent(t[1])}}var cD=class{constructor(){u(this,`migrationState`,rD.NOT_STARTED),u(this,`account`,null),u(this,`crossSigningKeys`,null),u(this,`privateKeys`,{}),u(this,`sessions`,{}),u(this,`inboundGroupSessions`,{}),u(this,`inboundGroupSessionsWithheld`,{}),u(this,`rooms`,{}),u(this,`sessionsNeedingBackup`,{})}containsData(){var e=this;return o(function*(){return e.account!==null})()}startup(){var e=this;return o(function*(){return e})()}deleteAllData(){return Promise.resolve()}getMigrationState(){var e=this;return o(function*(){return e.migrationState})()}setMigrationState(e){var t=this;return o(function*(){t.migrationState=e})()}getAccount(e,t){t(this.account)}storeAccount(e,t){this.account=t}getCrossSigningKeys(e,t){t(this.crossSigningKeys)}getSecretStorePrivateKey(e,t,n){var r=this.privateKeys[n];t(r||null)}storeSecretStorePrivateKey(e,t,n){this.privateKeys[t]=n}countEndToEndSessions(e,t){var n=0;for(var r of Object.values(this.sessions))n+=Object.keys(r).length;t(n)}getEndToEndSession(e,t,n,r){r((this.sessions[e]||{})[t]||null)}getEndToEndSessions(e,t,n){n(this.sessions[e]||{})}storeEndToEndSession(e,t,n,r){var i=this.sessions[e];i===void 0&&(i={},this.sessions[e]=i),$E(i,t,n)}getEndToEndSessionsBatch(){var e=this;return o(function*(){var t=[];for(var n of Object.values(e.sessions))for(var r of Object.values(n))if(t.push(r),t.length>=50)return t;return t.length===0?null:t})()}deleteEndToEndSessionsBatch(e){var t=this;return o(function*(){for(var{deviceKey:n,sessionId:r}of e){var i=t.sessions[n]||{};delete i[r],Object.keys(i).length===0&&delete t.sessions[n]}})()}getEndToEndInboundGroupSession(e,t,n,r){var i=oD(e,t);r(this.inboundGroupSessions[i]||null,this.inboundGroupSessionsWithheld[i]||null)}storeEndToEndInboundGroupSession(e,t,n,r){var i=oD(e,t);this.inboundGroupSessions[i]=n}countEndToEndInboundGroupSessions(){var e=this;return o(function*(){return Object.keys(e.inboundGroupSessions).length})()}getEndToEndInboundGroupSessionsBatch(){var e=this;return o(function*(){var t=[];for(var[n,r]of Object.entries(e.inboundGroupSessions))if(t.push(aD(aD({},sD(n)),{},{sessionData:r,needsBackup:n in e.sessionsNeedingBackup})),t.length>=50)return t;return t.length===0?null:t})()}deleteEndToEndInboundGroupSessionsBatch(e){var t=this;return o(function*(){for(var{senderKey:n,sessionId:r}of e){var i=oD(n,r);delete t.inboundGroupSessions[i]}})()}getEndToEndRooms(e,t){t(this.rooms)}markSessionsNeedingBackup(e){for(var t of e){var n=oD(t.senderKey,t.sessionId);this.sessionsNeedingBackup[n]=!0}return Promise.resolve()}doTxn(e,t,n){return Promise.resolve(n(null))}},lD=/^(?:(?:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})|(?:\[[\dA-Fa-f:.]{2,45}])|(?:[A-Za-z\d\-.]{1,255}))(?::\d{1,5})?$/;function uD(e){return lD.exec(e)?.[0]===e}var dD=/^[\w-]+$/;function fD(e){return dD.exec(e)?.[0]===e}function pD(e,t,n,r,i){var a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!1,o=arguments.length>6?arguments[6]:void 0,s=arguments.length>7?arguments[7]:void 0,c=arguments.length>8?arguments[8]:void 0;if(typeof t!=`string`||!t)return``;if(!t.startsWith(`mxc://`))return a?t:``;var[l,u,...d]=t.slice(6).split(`/`);if(d.length>0||!uD(l)||!fD(u))return``;s&&(o=!0);var f,p=n||r||i?`thumbnail`:`download`;f=s?`/_matrix/client/v1/media/${p}`:`/_matrix/media/v3/${p}`;var m=new URL(`${f}/${l}/${u}`,e);return n&&m.searchParams.set(`width`,Math.round(n).toString()),r&&m.searchParams.set(`height`,Math.round(r).toString()),i&&m.searchParams.set(`method`,i),c!==void 0&&m.searchParams.set(`animated`,String(c)),typeof o==`boolean`&&m.searchParams.set(`allow_redirect`,JSON.stringify(o)),m.href}var mD=e(i(((e,t)=>{(function(e,n){typeof define==`function`&&define.amd?define(n):typeof t==`object`&&t.exports?t.exports=n():e.log=n()})(e,function(){var e=function(){},t=`undefined`,n=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),r=[`trace`,`debug`,`info`,`warn`,`error`],i={},a=null;function o(e,t){var n=e[t];if(typeof n.bind==`function`)return n.bind(e);try{return Function.prototype.bind.call(n,e)}catch{return function(){return Function.prototype.apply.apply(n,[e,arguments])}}}function s(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function c(r){return r===`debug`&&(r=`log`),typeof console===t?!1:r===`trace`&&n?s:console[r]===void 0?console.log===void 0?e:o(console,`log`):o(console,r)}function l(){for(var n=this.getLevel(),i=0;i<r.length;i++){var a=r[i];this[a]=i<n?e:this.methodFactory(a,n,this.name)}if(this.log=this.debug,typeof console===t&&n<this.levels.SILENT)return`No console available for logging`}function u(e){return function(){typeof console!==t&&(l.call(this),this[e].apply(this,arguments))}}function d(e,t,n){return c(e)||u.apply(this,arguments)}function f(e,n){var o=this,s,c,u,f=`loglevel`;typeof e==`string`?f+=`:`+e:typeof e==`symbol`&&(f=void 0);function p(e){var n=(r[e]||`silent`).toUpperCase();if(!(typeof window===t||!f)){try{window.localStorage[f]=n;return}catch{}try{window.document.cookie=encodeURIComponent(f)+`=`+n+`;`}catch{}}}function m(){var e;if(!(typeof window===t||!f)){try{e=window.localStorage[f]}catch{}if(typeof e===t)try{var n=window.document.cookie,r=encodeURIComponent(f),i=n.indexOf(r+`=`);i!==-1&&(e=/^([^;]+)/.exec(n.slice(i+r.length+1))[1])}catch{}return o.levels[e]===void 0&&(e=void 0),e}}function h(){if(!(typeof window===t||!f)){try{window.localStorage.removeItem(f)}catch{}try{window.document.cookie=encodeURIComponent(f)+`=; expires=Thu, 01 Jan 1970 00:00:00 UTC`}catch{}}}function g(e){var t=e;if(typeof t==`string`&&o.levels[t.toUpperCase()]!==void 0&&(t=o.levels[t.toUpperCase()]),typeof t==`number`&&t>=0&&t<=o.levels.SILENT)return t;throw TypeError(`log.setLevel() called with invalid level: `+e)}o.name=e,o.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},o.methodFactory=n||d,o.getLevel=function(){return u??c??s},o.setLevel=function(e,t){return u=g(e),t!==!1&&p(u),l.call(o)},o.setDefaultLevel=function(e){c=g(e),m()||o.setLevel(e,!1)},o.resetLevel=function(){u=null,h(),l.call(o)},o.enableAll=function(e){o.setLevel(o.levels.TRACE,e)},o.disableAll=function(e){o.setLevel(o.levels.SILENT,e)},o.rebuild=function(){if(a!==o&&(s=g(a.getLevel())),l.call(o),a===o)for(var e in i)i[e].rebuild()},s=g(a?a.getLevel():`WARN`);var _=m();_!=null&&(u=g(_)),l.call(o)}a=new f,a.getLogger=function(e){if(typeof e!=`symbol`&&typeof e!=`string`||e===``)throw TypeError(`You must supply a name when creating a logger.`);var t=i[e];return t||=i[e]=new f(e,a.methodFactory),t};var p=typeof window===t?void 0:window.log;return a.noConflict=function(){return typeof window!==t&&window.log===a&&(window.log=p),a},a.getLoggers=function(){return i},a.default=a,a})}))(),1),hD=`matrix`;mD.default.methodFactory=function(e,t,n){return function(){var t=[...arguments];return this.prefix&&t.unshift(this.prefix),e===`error`||e===`warn`||e===`trace`||e===`info`||e===`debug`?console[e](...t):console.log(...t)}};function gD(e){var t=hD+(e===void 0?``:`-${e}`),n=mD.default.getLogger(t);return n.getChild===void 0&&(n.prefix=e,n.getChild=t=>{var r=gD((e??``)+t);return r.methodFactory=n.methodFactory,r.rebuild(),r},n.setLevel(mD.default.levels.DEBUG,!1)),n}var T=gD(),_D=class{constructor(e,t){this.parent=e,u(this,`name`,void 0),this.name=t+`:`}trace(){var e=[...arguments];this.parent.trace(this.name,...e)}debug(){var e=[...arguments];this.parent.debug(this.name,...e)}info(){var e=[...arguments];this.parent.info(this.name,...e)}warn(){var e=[...arguments];this.parent.warn(this.name,...e)}error(){var e=[...arguments];this.parent.error(this.name,...e)}},vD=class e{constructor(e){this.debugInstance=e}trace(){var e=[...arguments];this.debugWithPrefix(`[TRACE]`,...e)}debug(){var e=[...arguments];this.debugWithPrefix(`[DEBUG]`,...e)}info(){var e=[...arguments];this.debugWithPrefix(`[INFO]`,...e)}warn(){var e=[...arguments];this.debugWithPrefix(`[WARN]`,...e)}error(){var e=[...arguments];this.debugWithPrefix(`[ERROR]`,...e)}getChild(t){return new e(this.debugInstance.extend(t))}debugWithPrefix(e){var t,n=[...arguments].slice(1);if(n.length===0)t=``;else if(n[0]instanceof Error){var r=n.shift();t=r.stack||r.message}else t=typeof n[0]==`string`?n.shift():`%O`;this.debugInstance(e+` `+t,...n)}},yD=i(((e,t)=>{var n=typeof Reflect==`object`?Reflect:null,r=n&&typeof n.apply==`function`?n.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)},i=n&&typeof n.ownKeys==`function`?n.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};function a(e){console&&console.warn&&console.warn(e)}var o=Number.isNaN||function(e){return e!==e};function s(){s.init.call(this)}t.exports=s,t.exports.once=y,s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var c=10;function l(e){if(typeof e!=`function`)throw TypeError(`The "listener" argument must be of type Function. Received type `+typeof e)}Object.defineProperty(s,`defaultMaxListeners`,{enumerable:!0,get:function(){return c},set:function(e){if(typeof e!=`number`||e<0||o(e))throw RangeError(`The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received `+e+`.`);c=e}}),s.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},s.prototype.setMaxListeners=function(e){if(typeof e!=`number`||e<0||o(e))throw RangeError(`The value of "n" is out of range. It must be a non-negative number. Received `+e+`.`);return this._maxListeners=e,this};function u(e){return e._maxListeners===void 0?s.defaultMaxListeners:e._maxListeners}s.prototype.getMaxListeners=function(){return u(this)},s.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var i=e===`error`,a=this._events;if(a!==void 0)i&&=a.error===void 0;else if(!i)return!1;if(i){var o;if(t.length>0&&(o=t[0]),o instanceof Error)throw o;var s=Error(`Unhandled error.`+(o?` (`+o.message+`)`:``));throw s.context=o,s}var c=a[e];if(c===void 0)return!1;if(typeof c==`function`)r(c,this,t);else for(var l=c.length,u=g(c,l),n=0;n<l;++n)r(u[n],this,t);return!0};function d(e,t,n,r){var i,o,s;if(l(n),o=e._events,o===void 0?(o=e._events=Object.create(null),e._eventsCount=0):(o.newListener!==void 0&&(e.emit(`newListener`,t,n.listener?n.listener:n),o=e._events),s=o[t]),s===void 0)s=o[t]=n,++e._eventsCount;else if(typeof s==`function`?s=o[t]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),i=u(e),i>0&&s.length>i&&!s.warned){s.warned=!0;var c=Error(`Possible EventEmitter memory leak detected. `+s.length+` `+String(t)+` listeners added. Use emitter.setMaxListeners() to increase limit`);c.name=`MaxListenersExceededWarning`,c.emitter=e,c.type=t,c.count=s.length,a(c)}return e}s.prototype.addListener=function(e,t){return d(this,e,t,!1)},s.prototype.on=s.prototype.addListener,s.prototype.prependListener=function(e,t){return d(this,e,t,!0)};function f(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=f.bind(r);return i.listener=n,r.wrapFn=i,i}s.prototype.once=function(e,t){return l(t),this.on(e,p(this,e,t)),this},s.prototype.prependOnceListener=function(e,t){return l(t),this.prependListener(e,p(this,e,t)),this},s.prototype.removeListener=function(e,t){var n,r,i,a,o;if(l(t),r=this._events,r===void 0||(n=r[e],n===void 0))return this;if(n===t||n.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit(`removeListener`,e,n.listener||t));else if(typeof n!=`function`){for(i=-1,a=n.length-1;a>=0;a--)if(n[a]===t||n[a].listener===t){o=n[a].listener,i=a;break}if(i<0)return this;i===0?n.shift():_(n,i),n.length===1&&(r[e]=n[0]),r.removeListener!==void 0&&this.emit(`removeListener`,e,o||t)}return this},s.prototype.off=s.prototype.removeListener,s.prototype.removeAllListeners=function(e){var t,n=this._events,r;if(n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var i=Object.keys(n),a;for(r=0;r<i.length;++r)a=i[r],a!==`removeListener`&&this.removeAllListeners(a);return this.removeAllListeners(`removeListener`),this._events=Object.create(null),this._eventsCount=0,this}if(t=n[e],typeof t==`function`)this.removeListener(e,t);else if(t!==void 0)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this};function m(e,t,n){var r=e._events;if(r===void 0)return[];var i=r[t];return i===void 0?[]:typeof i==`function`?n?[i.listener||i]:[i]:n?v(i):g(i,i.length)}s.prototype.listeners=function(e){return m(this,e,!0)},s.prototype.rawListeners=function(e){return m(this,e,!1)},s.listenerCount=function(e,t){return typeof e.listenerCount==`function`?e.listenerCount(t):h.call(e,t)},s.prototype.listenerCount=h;function h(e){var t=this._events;if(t!==void 0){var n=t[e];if(typeof n==`function`)return 1;if(n!==void 0)return n.length}return 0}s.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]};function g(e,t){for(var n=Array(t),r=0;r<t;++r)n[r]=e[r];return n}function _(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function v(e){for(var t=Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}function y(e,t){return new Promise(function(n,r){function i(n){e.removeListener(t,a),r(n)}function a(){typeof e.removeListener==`function`&&e.removeListener(`error`,i),n([].slice.call(arguments))}x(e,t,a,{once:!0}),t!==`error`&&b(e,i,{once:!0})})}function b(e,t,n){typeof e.on==`function`&&x(e,`error`,t,n)}function x(e,t,n,r){if(typeof e.on==`function`)r.once?e.once(t,n):e.on(t,n);else if(typeof e.addEventListener==`function`)e.addEventListener(t,function i(a){r.once&&e.removeEventListener(t,i),n(a)});else throw TypeError(`The "emitter" argument must be of type EventEmitter. Received type `+typeof e)}})),bD=e(yD(),1),xD=function(e){return e.NewListener=`newListener`,e.RemoveListener=`removeListener`,e.Error=`error`,e}({}),SD=class extends bD.EventEmitter{addListener(e,t){return super.addListener(e,t)}emit(e){var t=[...arguments].slice(1);return super.emit(e,...t)}emitPromised(e){var t=arguments,n=this;return o(function*(){for(var r=t.length,i=Array(r>1?r-1:0),a=1;a<r;a++)i[a-1]=t[a];var o=n.listeners(e);return Promise.allSettled(o.map(e=>e(...i))).then(()=>o.length>0)})()}listenerCount(e){return super.listenerCount(e)}listeners(e){return super.listeners(e)}off(e,t){return super.off(e,t)}on(e,t){return super.on(e,t)}once(e,t){return super.once(e,t)}prependListener(e,t){return super.prependListener(e,t)}prependOnceListener(e,t){return super.prependOnceListener(e,t)}removeAllListeners(e){return e===void 0?super.removeAllListeners():super.removeAllListeners(e)}removeListener(e,t){return super.removeListener(e,t)}rawListeners(e){return super.rawListeners(e)}},E=function(e){return e.RoomCanonicalAlias=`m.room.canonical_alias`,e.RoomCreate=`m.room.create`,e.RoomJoinRules=`m.room.join_rules`,e.RoomMember=`m.room.member`,e.RoomThirdPartyInvite=`m.room.third_party_invite`,e.RoomPowerLevels=`m.room.power_levels`,e.RoomName=`m.room.name`,e.RoomTopic=`m.room.topic`,e.RoomAvatar=`m.room.avatar`,e.RoomPinnedEvents=`m.room.pinned_events`,e.RoomEncryption=`m.room.encryption`,e.RoomHistoryVisibility=`m.room.history_visibility`,e.RoomGuestAccess=`m.room.guest_access`,e.RoomServerAcl=`m.room.server_acl`,e.RoomTombstone=`m.room.tombstone`,e.RoomPredecessor=`org.matrix.msc3946.room_predecessor`,e.PolicyRuleUser=`m.policy.rule.user`,e.PolicyRuleRoom=`m.policy.rule.room`,e.PolicyRuleServer=`m.policy.rule.server`,e.SpaceChild=`m.space.child`,e.SpaceParent=`m.space.parent`,e.RoomRedaction=`m.room.redaction`,e.RoomMessage=`m.room.message`,e.RoomMessageEncrypted=`m.room.encrypted`,e.Sticker=`m.sticker`,e.CallInvite=`m.call.invite`,e.CallCandidates=`m.call.candidates`,e.CallAnswer=`m.call.answer`,e.CallHangup=`m.call.hangup`,e.CallReject=`m.call.reject`,e.CallSelectAnswer=`m.call.select_answer`,e.CallNegotiate=`m.call.negotiate`,e.CallSDPStreamMetadataChanged=`m.call.sdp_stream_metadata_changed`,e.CallSDPStreamMetadataChangedPrefix=`org.matrix.call.sdp_stream_metadata_changed`,e.CallReplaces=`m.call.replaces`,e.CallAssertedIdentity=`m.call.asserted_identity`,e.CallAssertedIdentityPrefix=`org.matrix.call.asserted_identity`,e.CallEncryptionKeysPrefix=`io.element.call.encryption_keys`,e.KeyVerificationRequest=`m.key.verification.request`,e.KeyVerificationStart=`m.key.verification.start`,e.KeyVerificationCancel=`m.key.verification.cancel`,e.KeyVerificationMac=`m.key.verification.mac`,e.KeyVerificationDone=`m.key.verification.done`,e.KeyVerificationKey=`m.key.verification.key`,e.KeyVerificationAccept=`m.key.verification.accept`,e.KeyVerificationReady=`m.key.verification.ready`,e.RoomMessageFeedback=`m.room.message.feedback`,e.Reaction=`m.reaction`,e.PollStart=`org.matrix.msc3381.poll.start`,e.Typing=`m.typing`,e.Receipt=`m.receipt`,e.Presence=`m.presence`,e.FullyRead=`m.fully_read`,e.Tag=`m.tag`,e.SpaceOrder=`org.matrix.msc3230.space_order`,e.MarkedUnread=`m.marked_unread`,e.PushRules=`m.push_rules`,e.Direct=`m.direct`,e.IgnoredUserList=`m.ignored_user_list`,e.InvitePermissionConfig=`m.invite_permission_config`,e.RoomKey=`m.room_key`,e.RoomKeyRequest=`m.room_key_request`,e.ForwardedRoomKey=`m.forwarded_room_key`,e.Dummy=`m.dummy`,e.SecretRequest=`m.secret.request`,e.SecretSend=`m.secret.send`,e.GroupCallPrefix=`org.matrix.msc3401.call`,e.GroupCallMemberPrefix=`org.matrix.msc3401.call.member`,e.RTCMembership=`org.matrix.msc4143.rtc.member`,e.CallNotify=`org.matrix.msc4075.call.notify`,e.RTCNotification=`org.matrix.msc4075.rtc.notification`,e.RTCDecline=`org.matrix.msc4310.rtc.decline`,e.RoomPolicy=`org.matrix.msc4284.policy`,e}({}),D=function(e){return e.Annotation=`m.annotation`,e.Replace=`m.replace`,e.Reference=`m.reference`,e.Thread=`m.thread`,e}({}),CD=function(e){return e.Text=`m.text`,e.Emote=`m.emote`,e.Notice=`m.notice`,e.Image=`m.image`,e.File=`m.file`,e.Audio=`m.audio`,e.Location=`m.location`,e.Video=`m.video`,e.KeyVerificationRequest=`m.key.verification.request`,e}({}),wD=`type`,TD=function(e){return e.Space=`m.space`,e.UnstableCall=`org.matrix.msc3417.call`,e.ElementVideo=`io.element.video`,e}({}),ED=`org.matrix.msgid`,DD=new C(`m.room.purpose`,`org.matrix.msc3088.purpose`),OD=new C(`m.enabled`,`org.matrix.msc3088.enabled`),kD=new C(`m.data_tree`,`org.matrix.msc3089.data_tree`),AD=new C(`m.leaf`,`org.matrix.msc3089.leaf`),jD=new C(`m.branch`,`org.matrix.msc3089.branch`),MD=new C(`m.room.marker`,`org.matrix.msc2716.marker`),ND=new C(`with_rel_types`,`org.matrix.msc3912.with_relations`),PD=new C(`io.element.functional_members`,`io.element.functional_members`),FD=new C(`m.visibility`,`org.matrix.msc3531.visibility`),ID=new C(`enabled`,`org.matrix.msc3881.enabled`),LD=new C(`device_id`,`org.matrix.msc3881.device_id`),RD=new C(`m.local_notification_settings`,`org.matrix.msc3890.local_notification_settings`),zD=new C(`thread_id`,`org.matrix.msc4023.thread_id`),BD=new eE(`membership`,`io.element.msc4115.membership`),O=function(e){return e.Ban=`ban`,e.Invite=`invite`,e.Join=`join`,e.Knock=`knock`,e.Leave=`leave`,e}({}),VD=function(e){return e.Membership=`RoomMember.membership`,e.Name=`RoomMember.name`,e.PowerLevel=`RoomMember.powerLevel`,e.Typing=`RoomMember.typing`,e}({}),HD=class extends SD{constructor(e,t){super(),this.roomId=e,this.userId=t,u(this,`_isOutOfBand`,!1),u(this,`modified`,-1),u(this,`requestedProfileInfo`,!1),u(this,`typing`,!1),u(this,`name`,void 0),u(this,`rawDisplayName`,void 0),u(this,`powerLevel`,0),u(this,`user`,void 0),u(this,`membership`,void 0),u(this,`disambiguate`,!1),u(this,`events`,{}),this.name=t,this.rawDisplayName=t,this.updateModifiedTime()}markOutOfBand(){this._isOutOfBand=!0}isOutOfBand(){return this._isOutOfBand}setMembershipEvent(e,t){var n=e.getDirectionalContent().displayname??``;if(e.getType()===E.RoomMember){this._isOutOfBand=!1,this.events.member=e;var r=this.membership;this.membership=e.getDirectionalContent().membership,this.membership===void 0&&T.trace(`membership event with membership undefined (forwardLooking: ${e.forwardLooking})!`,e.getContent(),`prevcontent is `,e.getPrevContent()),this.disambiguate=GD(this.userId,n,t);var i=this.name;this.name=KD(this.userId,n,this.disambiguate),this.rawDisplayName=SE(e.getDirectionalContent().displayname??``),(!this.rawDisplayName||!xE(this.rawDisplayName))&&(this.rawDisplayName=this.userId),r!==this.membership&&(this.updateModifiedTime(),this.emit(VD.Membership,e,this,r)),i!==this.name&&(this.updateModifiedTime(),this.emit(VD.Name,e,this,i))}}recalculateDisambiguatedName(e){if(!this.events.member)return!1;var t=this.events.member.getDirectionalContent().displayname??``,n=GD(this.userId,t,e);if(n===this.disambiguate)return!1;this.disambiguate=n;var r=this.name;return this.name=KD(this.userId,t,this.disambiguate),r===this.name?!1:(this.updateModifiedTime(),this.emit(VD.Name,this.events.member,this,r),!0)}setPowerLevel(e,t){var n=this.powerLevel;this.powerLevel=e,n!==this.powerLevel&&(this.updateModifiedTime(),this.emit(VD.PowerLevel,t,this))}setTypingEvent(e){if(e.getType()===`m.typing`){var t=this.typing;this.typing=!1;var n=e.getContent().user_ids;Array.isArray(n)&&(n.indexOf(this.userId)!==-1&&(this.typing=!0),t!==this.typing&&(this.updateModifiedTime(),this.emit(VD.Typing,e,this)))}}updateModifiedTime(){this.modified=Date.now()}getLastModifiedTime(){return this.modified}isKicked(){return this.membership===O.Leave&&this.events.member!==void 0&&this.events.member.getSender()!==this.events.member.getStateKey()}getDMInviter(){if(this.events.member){var e=this.events.member,t=e.getContent(),n=e.getSender();if(t.membership===O.Join&&(t=e.getPrevContent(),n=e.getUnsigned().prev_sender),t.membership===O.Invite&&t.is_direct)return n}}getAvatarUrl(e,t,n,r){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5?arguments[5]:void 0,o=arguments.length>6&&arguments[6]!==void 0?arguments[6]:!1,s=this.getMxcAvatarUrl();return!s&&!i?null:pD(e,s,t,n,r,a,void 0,o)||null}getMxcAvatarUrl(){if(this.events.member)return this.events.member.getDirectionalContent().avatar_url;if(this.user)return this.user.avatarUrl}},UD=/@.+:.+/,WD=/[\u200E\u200F\u202A-\u202F]/;function GD(e,t,n){if(!t||t===e||!n)return!1;var r=xE(t);return r?!!(UD.test(r)||WD.test(t)||n.getUserIdsWithDisplayName(t).some(t=>t!==e)):!1}function KD(e,t,n){return!t||t===e?e:n?SE(t)+` (`+e+`)`:xE(t)?SE(t):e}var qD=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.NamespacedMap=void 0;function t(e,t){var r=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(!r){if(Array.isArray(e)||(r=n(e))||t&&e&&typeof e.length==`number`){r&&(e=r);var i=0,a=function(){};return{s:a,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:a}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
3
3
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,c;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){s=!0,c=e},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw c}}}}function n(e,t){if(e){if(typeof e==`string`)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}}function r(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function i(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function o(e,t,n){return t&&a(e.prototype,t),n&&a(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}e.NamespacedMap=function(){function e(n){if(i(this,e),s(this,`internalMap`,new Map),n){var r=t(n),a;try{for(r.s();!(a=r.n()).done;){var o=a.value;this.set(o[0],o[1])}}catch(e){r.e(e)}finally{r.f()}}}return o(e,[{key:`get`,value:function(e){return e.name&&this.internalMap.has(e.name)?this.internalMap.get(e.name):e.altName&&this.internalMap.has(e.altName)?this.internalMap.get(e.altName):null}},{key:`set`,value:function(e,t){e.name&&this.internalMap.set(e.name,t),e.altName&&this.internalMap.set(e.altName,t)}},{key:`has`,value:function(e){return!!this.get(e)}},{key:`delete`,value:function(e){e.name&&this.internalMap.delete(e.name),e.altName&&this.internalMap.delete(e.altName)}},{key:`hasNamespaced`,value:function(e){return this.internalMap.has(e)}},{key:`getNamespaced`,value:function(e){return this.internalMap.get(e)}}]),e}()})),JD=i((e=>{function t(e){"@babel/helpers - typeof";return t=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},t(e)}Object.defineProperty(e,`__esModule`,{value:!0}),e.InvalidEventError=void 0;function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function r(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),Object.defineProperty(e,`prototype`,{writable:!1}),e}function i(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function a(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function`);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,`prototype`,{writable:!1}),t&&p(e,t)}function o(e){var t=d();return function(){var n=m(e),r;if(t){var i=m(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return s(this,r)}}function s(e,n){if(n&&(t(n)===`object`||typeof n==`function`))return n;if(n!==void 0)throw TypeError(`Derived constructors may only return object or undefined`);return c(e)}function c(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}function l(e){var t=typeof Map==`function`?new Map:void 0;return l=function(e){if(e===null||!f(e))return e;if(typeof e!=`function`)throw TypeError(`Super expression must either be null or a function`);if(t!==void 0){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return u(e,arguments,m(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),p(n,e)},l(e)}function u(e,t,n){return u=d()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&p(i,n.prototype),i},u.apply(null,arguments)}function d(){if(typeof Reflect>`u`||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==`function`)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function f(e){return Function.toString.call(e).indexOf(`[native code]`)!==-1}function p(e,t){return p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},p(e,t)}function m(e){return m=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},m(e)}e.InvalidEventError=function(e){a(n,e);var t=o(n);function n(e){return i(this,n),t.call(this,e)}return r(n)}(l(Error))})),YD=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.ExtensibleEvent=void 0;function t(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function r(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),Object.defineProperty(e,`prototype`,{writable:!1}),e}e.ExtensibleEvent=function(){function e(n){t(this,e),this.wireFormat=n}return r(e,[{key:`wireContent`,get:function(){return this.wireFormat.content}}]),e}()})),XD=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.isOptionalAString=t,e.isProvided=n;function t(e){return n(e)&&typeof e==`string`}function n(e){return e!=null}})),ZD=i((e=>{function t(e){"@babel/helpers - typeof";return t=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},t(e)}Object.defineProperty(e,`__esModule`,{value:!0}),e.UnstableValue=e.NamespacedValue=void 0;function n(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function`);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,`prototype`,{writable:!1}),t&&r(e,t)}function r(e,t){return r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},r(e,t)}function i(e){var t=s();return function(){var n=c(e),r;if(t){var i=c(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return a(this,r)}}function a(e,n){if(n&&(t(n)===`object`||typeof n==`function`))return n;if(n!==void 0)throw TypeError(`Derived constructors may only return object or undefined`);return o(e)}function o(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}function s(){if(typeof Reflect>`u`||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==`function`)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function c(e){return c=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},c(e)}function l(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function u(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function d(e,t,n){return t&&u(e.prototype,t),n&&u(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}var f=function(){function e(t,n){if(l(this,e),this.stable=t,this.unstable=n,!this.unstable&&!this.stable)throw Error(`One of stable or unstable values must be supplied`)}return d(e,[{key:`name`,get:function(){return this.stable?this.stable:this.unstable}},{key:`altName`,get:function(){return this.stable?this.unstable:null}},{key:`matches`,value:function(e){return!!this.name&&this.name===e||!!this.altName&&this.altName===e}},{key:`findIn`,value:function(e){var t;return this.name&&(t=e?.[this.name]),!t&&this.altName&&(t=e?.[this.altName]),t}},{key:`includedIn`,value:function(e){var t=!1;return this.name&&(t=e.includes(this.name)),!t&&this.altName&&(t=e.includes(this.altName)),t}}]),e}();e.NamespacedValue=f,e.UnstableValue=function(e){n(r,e);var t=i(r);function r(e,n){var i;if(l(this,r),i=t.call(this,e,n),!i.unstable)throw Error(`Unstable value must be supplied`);return i}return d(r,[{key:`name`,get:function(){return this.unstable}},{key:`altName`,get:function(){return this.stable}}]),r}(f)})),QD=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.M_TEXT=e.M_NOTICE=e.M_MESSAGE=e.M_HTML=e.M_EMOTE=void 0;var t=ZD();e.M_MESSAGE=new t.UnstableValue(`m.message`,`org.matrix.msc1767.message`),e.M_TEXT=new t.UnstableValue(`m.text`,`org.matrix.msc1767.text`),e.M_HTML=new t.UnstableValue(`m.html`,`org.matrix.msc1767.html`),e.M_EMOTE=new t.UnstableValue(`m.emote`,`org.matrix.msc1767.emote`),e.M_NOTICE=new t.UnstableValue(`m.notice`,`org.matrix.msc1767.notice`)})),$D=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.isEventTypeSame=t;function t(e,t){if(typeof e==`string`)return typeof t==`string`?t===e:t.matches(e);if(typeof t==`string`)return e.matches(t);var n=t,r=e;return n.matches(r.name)||n.matches(r.altName)}})),eO=i((e=>{function t(e){"@babel/helpers - typeof";return t=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},t(e)}Object.defineProperty(e,`__esModule`,{value:!0}),e.MessageEvent=void 0;var n=YD(),r=XD(),i=JD(),a=QD(),o=$D();function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?s(Object(n),!0).forEach(function(t){y(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function l(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function u(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function d(e,t,n){return t&&u(e.prototype,t),n&&u(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}function f(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function`);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,`prototype`,{writable:!1}),t&&p(e,t)}function p(e,t){return p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},p(e,t)}function m(e){var t=_();return function(){var n=v(e),r;if(t){var i=v(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return h(this,r)}}function h(e,n){if(n&&(t(n)===`object`||typeof n==`function`))return n;if(n!==void 0)throw TypeError(`Derived constructors may only return object or undefined`);return g(e)}function g(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}function _(){if(typeof Reflect>`u`||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==`function`)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function v(e){return v=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},v(e)}function y(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}e.MessageEvent=function(e){f(n,e);var t=m(n);function n(e){var o;l(this,n),o=t.call(this,e),y(g(o),`text`,void 0),y(g(o),`html`,void 0),y(g(o),`renderings`,void 0);var s=a.M_MESSAGE.findIn(o.wireContent),c=a.M_TEXT.findIn(o.wireContent),u=a.M_HTML.findIn(o.wireContent);if((0,r.isProvided)(s)){if(!Array.isArray(s))throw new i.InvalidEventError(`m.message contents must be an array`);var d=s.find(function(e){return!(0,r.isProvided)(e.mimetype)||e.mimetype===`text/plain`}),f=s.find(function(e){return e.mimetype===`text/html`});if(!d)throw new i.InvalidEventError(`m.message is missing a plain text representation`);o.text=d.body,o.html=f?.body,o.renderings=s}else if((0,r.isOptionalAString)(c))o.text=c,o.html=u,o.renderings=[{body:c,mimetype:`text/plain`}],o.html&&o.renderings.push({body:o.html,mimetype:`text/html`});else throw new i.InvalidEventError(`Missing textual representation for event`);return o}return d(n,[{key:`isEmote`,get:function(){return a.M_EMOTE.matches(this.wireFormat.type)||(0,r.isProvided)(a.M_EMOTE.findIn(this.wireFormat.content))}},{key:`isNotice`,get:function(){return a.M_NOTICE.matches(this.wireFormat.type)||(0,r.isProvided)(a.M_NOTICE.findIn(this.wireFormat.content))}},{key:`isEquivalentTo`,value:function(e){return(0,o.isEventTypeSame)(e,a.M_MESSAGE)}},{key:`serializeMMessageOnly`,value:function(){var e=y({},a.M_MESSAGE.name,this.renderings);if(this.renderings.length===1){var t=this.renderings[0].mimetype;(t===void 0||t===`text/plain`)&&(e=y({},a.M_TEXT.name,this.renderings[0].body))}return e}},{key:`serialize`,value:function(){return{type:`m.room.message`,content:c(c({},this.serializeMMessageOnly()),{},{body:this.text,msgtype:`m.text`,format:this.html?`org.matrix.custom.html`:void 0,formatted_body:this.html??void 0})}}}],[{key:`from`,value:function(e,t){var r;return new n({type:a.M_MESSAGE.name,content:(r={},y(r,a.M_TEXT.name,e),y(r,a.M_HTML.name,t),r)})}}]),n}(n.ExtensibleEvent)})),tO=i((e=>{function t(e){"@babel/helpers - typeof";return t=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},t(e)}Object.defineProperty(e,`__esModule`,{value:!0}),e.NoticeEvent=void 0;var n=eO(),r=QD(),i=$D();function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function c(e,t,n){return t&&s(e.prototype,t),n&&s(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}function l(){return l=typeof Reflect<`u`&&Reflect.get?Reflect.get:function(e,t,n){var r=u(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(arguments.length<3?e:n):i.value}},l.apply(this,arguments)}function u(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&(e=_(e),e!==null););return e}function d(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function`);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,`prototype`,{writable:!1}),t&&f(e,t)}function f(e,t){return f=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},f(e,t)}function p(e){var t=g();return function(){var n=_(e),r;if(t){var i=_(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return m(this,r)}}function m(e,n){if(n&&(t(n)===`object`||typeof n==`function`))return n;if(n!==void 0)throw TypeError(`Derived constructors may only return object or undefined`);return h(e)}function h(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}function g(){if(typeof Reflect>`u`||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==`function`)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function _(e){return _=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},_(e)}e.NoticeEvent=function(e){d(n,e);var t=p(n);function n(e){return o(this,n),t.call(this,e)}return c(n,[{key:`isNotice`,get:function(){return!0}},{key:`isEquivalentTo`,value:function(e){return(0,i.isEventTypeSame)(e,r.M_NOTICE)||l(_(n.prototype),`isEquivalentTo`,this).call(this,e)}},{key:`serialize`,value:function(){var e=l(_(n.prototype),`serialize`,this).call(this);return e.content.msgtype=`m.notice`,e}}],[{key:`from`,value:function(e,t){var i;return new n({type:r.M_NOTICE.name,content:(i={},a(i,r.M_TEXT.name,e),a(i,r.M_HTML.name,t),i)})}}]),n}(n.MessageEvent)})),nO=i((e=>{function t(e){"@babel/helpers - typeof";return t=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},t(e)}Object.defineProperty(e,`__esModule`,{value:!0}),e.EmoteEvent=void 0;var n=eO(),r=QD(),i=$D();function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function c(e,t,n){return t&&s(e.prototype,t),n&&s(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}function l(){return l=typeof Reflect<`u`&&Reflect.get?Reflect.get:function(e,t,n){var r=u(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(arguments.length<3?e:n):i.value}},l.apply(this,arguments)}function u(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&(e=_(e),e!==null););return e}function d(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function`);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,`prototype`,{writable:!1}),t&&f(e,t)}function f(e,t){return f=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},f(e,t)}function p(e){var t=g();return function(){var n=_(e),r;if(t){var i=_(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return m(this,r)}}function m(e,n){if(n&&(t(n)===`object`||typeof n==`function`))return n;if(n!==void 0)throw TypeError(`Derived constructors may only return object or undefined`);return h(e)}function h(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}function g(){if(typeof Reflect>`u`||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==`function`)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function _(e){return _=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},_(e)}e.EmoteEvent=function(e){d(n,e);var t=p(n);function n(e){return o(this,n),t.call(this,e)}return c(n,[{key:`isEmote`,get:function(){return!0}},{key:`isEquivalentTo`,value:function(e){return(0,i.isEventTypeSame)(e,r.M_EMOTE)||l(_(n.prototype),`isEquivalentTo`,this).call(this,e)}},{key:`serialize`,value:function(){var e=l(_(n.prototype),`serialize`,this).call(this);return e.content.msgtype=`m.emote`,e}}],[{key:`from`,value:function(e,t){var i;return new n({type:r.M_EMOTE.name,content:(i={},a(i,r.M_TEXT.name,e),a(i,r.M_HTML.name,t),i)})}}]),n}(n.MessageEvent)})),rO=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.LEGACY_M_ROOM_MESSAGE=void 0,e.parseMRoomMessage=l;var t=eO(),n=tO(),r=nO(),i=ZD(),a=QD();function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?o(Object(n),!0).forEach(function(t){c(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}e.LEGACY_M_ROOM_MESSAGE=new i.NamespacedValue(`m.room.message`);function l(e){if(a.M_MESSAGE.findIn(e.content)||a.M_TEXT.findIn(e.content))return new t.MessageEvent(e);var i=e.content?.msgtype,o=e.content?.body,l=e.content?.format===`org.matrix.custom.html`?e.content.formatted_body:null;if(i===`m.text`){var u;return new t.MessageEvent(s(s({},e),{},{content:s(s({},e.content),{},(u={},c(u,a.M_TEXT.name,o),c(u,a.M_HTML.name,l),u))}))}else if(i===`m.notice`){var d;return new n.NoticeEvent(s(s({},e),{},{content:s(s({},e.content),{},(d={},c(d,a.M_TEXT.name,o),c(d,a.M_HTML.name,l),d))}))}else if(i===`m.emote`){var f;return new r.EmoteEvent(s(s({},e),{},{content:s(s({},e.content),{},(f={},c(f,a.M_TEXT.name,o),c(f,a.M_HTML.name,l),f))}))}else return null}})),iO=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.parseMMessage=a;var t=eO(),n=QD(),r=nO(),i=tO();function a(e){return n.M_EMOTE.matches(e.type)?new r.EmoteEvent(e):n.M_NOTICE.matches(e.type)?new i.NoticeEvent(e):new t.MessageEvent(e)}})),aO=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.M_POLL_START=e.M_POLL_RESPONSE=e.M_POLL_KIND_UNDISCLOSED=e.M_POLL_KIND_DISCLOSED=e.M_POLL_END=void 0;var t=ZD();e.M_POLL_KIND_DISCLOSED=new t.UnstableValue(`m.poll.disclosed`,`org.matrix.msc3381.poll.disclosed`),e.M_POLL_KIND_UNDISCLOSED=new t.UnstableValue(`m.poll.undisclosed`,`org.matrix.msc3381.poll.undisclosed`),e.M_POLL_START=new t.UnstableValue(`m.poll.start`,`org.matrix.msc3381.poll.start`),e.M_POLL_RESPONSE=new t.UnstableValue(`m.poll.response`,`org.matrix.msc3381.poll.response`),e.M_POLL_END=new t.UnstableValue(`m.poll.end`,`org.matrix.msc3381.poll.end`)})),oO=i((e=>{function t(e){"@babel/helpers - typeof";return t=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},t(e)}Object.defineProperty(e,`__esModule`,{value:!0}),e.PollStartEvent=e.PollAnswerSubevent=void 0;var n=aO(),r=eO(),i=QD(),a=JD(),o=ZD(),s=$D(),c=YD();function l(e){return p(e)||f(e)||d(e)||u()}function u(){throw TypeError(`Invalid attempt to spread non-iterable instance.
|
|
4
4
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function d(e,t){if(e){if(typeof e==`string`)return m(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return m(e,t)}}function f(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function p(e){if(Array.isArray(e))return m(e)}function m(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function h(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function g(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?h(Object(n),!0).forEach(function(t){ie(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):h(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function v(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function y(e,t,n){return t&&v(e.prototype,t),n&&v(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}function b(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function`);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,`prototype`,{writable:!1}),t&&x(e,t)}function x(e,t){return x=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},x(e,t)}function S(e){var t=ne();return function(){var n=re(e),r;if(t){var i=re(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return ee(this,r)}}function ee(e,n){if(n&&(t(n)===`object`||typeof n==`function`))return n;if(n!==void 0)throw TypeError(`Derived constructors may only return object or undefined`);return te(e)}function te(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}function ne(){if(typeof Reflect>`u`||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==`function`)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function re(e){return re=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},re(e)}function ie(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ae=function(e){b(n,e);var t=S(n);function n(e){var r;_(this,n),r=t.call(this,e),ie(te(r),`id`,void 0);var i=e.content.id;if(!i||typeof i!=`string`)throw new a.InvalidEventError(`Answer ID must be a non-empty string`);return r.id=i,r}return y(n,[{key:`serialize`,value:function(){return{type:`org.matrix.sdk.poll.answer`,content:g({id:this.id},this.serializeMMessageOnly())}}}],[{key:`from`,value:function(e,t){return new n({type:`org.matrix.sdk.poll.answer`,content:ie({id:e},i.M_TEXT.name,t)})}}]),n}(r.MessageEvent);e.PollAnswerSubevent=ae,e.PollStartEvent=function(e){b(c,e);var t=S(c);function c(e){var i;_(this,c),i=t.call(this,e),ie(te(i),`question`,void 0),ie(te(i),`kind`,void 0),ie(te(i),`rawKind`,void 0),ie(te(i),`maxSelections`,void 0),ie(te(i),`answers`,void 0);var o=n.M_POLL_START.findIn(i.wireContent);if(!o.question)throw new a.InvalidEventError(`A question is required`);if(i.question=new r.MessageEvent({type:`org.matrix.sdk.poll.question`,content:o.question}),i.rawKind=o.kind,n.M_POLL_KIND_DISCLOSED.matches(i.rawKind)?i.kind=n.M_POLL_KIND_DISCLOSED:i.kind=n.M_POLL_KIND_UNDISCLOSED,i.maxSelections=Number.isFinite(o.max_selections)&&o.max_selections>0?o.max_selections:1,!Array.isArray(o.answers))throw new a.InvalidEventError(`Poll answers must be an array`);var s=o.answers.slice(0,20).map(function(e){return new ae({type:`org.matrix.sdk.poll.answer`,content:e})});if(s.length<=0)throw new a.InvalidEventError(`No answers available`);return i.answers=s,i}return y(c,[{key:`isEquivalentTo`,value:function(e){return(0,s.isEventTypeSame)(e,n.M_POLL_START)}},{key:`serialize`,value:function(){var e;return{type:n.M_POLL_START.name,content:(e={},ie(e,n.M_POLL_START.name,{question:this.question.serialize().content,kind:this.rawKind,max_selections:this.maxSelections,answers:this.answers.map(function(e){return e.serialize().content})}),ie(e,i.M_TEXT.name,`${this.question.text}
|
|
5
5
|
${this.answers.map(function(e,t){return`${t+1}. ${e.text}`}).join(`
|
|
@@ -12,6 +12,6 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
12
12
|
${t.join(`
|
|
13
13
|
`)}`),this.type=e}},UP=e=>{var t=` - `,n=[];if(typeof e.device_id!=`string`&&n.push(t+`device_id must be string`),typeof e.call_id!=`string`&&n.push(t+`call_id must be string`),typeof e.application!=`string`&&n.push(t+`application must be a string`),e.focus_active===void 0&&n.push(t+`focus_active has an invalid type`),typeof e.focus_active?.type!=`string`&&n.push(t+`focus_active.type must be a string`),e.foci_preferred!==void 0&&!(Array.isArray(e.foci_preferred)&&e.foci_preferred.every(e=>typeof e==`object`&&!!e&&typeof e.type==`string`))&&n.push(t+`foci_preferred must be an array of transport objects`),e.created_ts!==void 0&&typeof e.created_ts!=`number`&&n.push(t+`created_ts must be number`),e.scope!==void 0&&typeof e.scope!=`string`&&n.push(t+`scope must be string`),e[`m.call.intent`]!==void 0&&typeof e[`m.call.intent`]!=`string`&&n.push(t+`m.call.intent must be a string`),n.length)throw new HP(`SessionMembership`,n);return!0};function WP(e){return GP.apply(this,arguments)}function GP(){return GP=o(function*(e){if(!globalThis.crypto.subtle)throw Error(`Crypto.subtle is not available: insecure context?`);var t=new TextEncoder().encode(e),n=yield globalThis.crypto.subtle.digest(`SHA-256`,t);return new Uint8Array(n)}),GP.apply(this,arguments)}var KP=(e,t)=>{var n,r=[],i=` - `,a=`${e==null||(n=e.application)==null?void 0:n.type}#`;if(typeof e.slot_id!=`string`)r.push(i+`slot_id must be string`);else if(!e.slot_id.startsWith(a))r.push(i+`slot_id must start with ${a}`);else try{BP(e.slot_id)}catch(e){r.push(i+`slot_id was badly formed${e instanceof Error?`: ${e.message}`:``}`)}if(typeof e.member!=`object`||e.member===null?r.push(i+`member must be an object`):(typeof e.member.user_id==`string`?UD.test(e.member.user_id)?e.member.user_id!==t&&r.push(i+`member.user_id must match the sender`):r.push(i+`member.user_id must be a valid mxid`):r.push(i+`member.user_id must be string`),typeof e.member.device_id!=`string`&&r.push(i+`member.device_id must be string`),typeof e.member.id!=`string`&&r.push(i+`member.id must be string`)),typeof e.application!=`object`||e.application===null?r.push(i+`application must be an object`):typeof e.application.type==`string`?e.application.type.includes(`#`)&&r.push(i+`application.type must not include "#"`):r.push(i+`application.type must be a string`),e.rtc_transports===void 0||!Array.isArray(e.rtc_transports))r.push(i+`rtc_transports must be an array`);else for(var o of e.rtc_transports)if(typeof o!=`object`||!o||typeof o.type!=`string`){r.push(i+`rtc_transports entries must be objects with a string type`);break}if(e.versions===void 0||!Array.isArray(e.versions)?r.push(i+`versions must be an array`):e.versions.every(e=>typeof e==`string`)||r.push(i+`versions must be an array of strings`),(e.sticky_key??e.msc4354_sticky_key)===void 0&&r.push(i+`sticky_key or msc4354_sticky_key must be a defined`),e.sticky_key!==void 0&&typeof e.sticky_key!=`string`&&r.push(i+`sticky_key must be a string`),e.msc4354_sticky_key!==void 0&&typeof e.msc4354_sticky_key!=`string`&&r.push(i+`msc4354_sticky_key must be a string`),e.sticky_key!==void 0&&e.msc4354_sticky_key!==void 0&&e.sticky_key!==e.msc4354_sticky_key&&r.push(i+`sticky_key and msc4354_sticky_key must be equal if both are defined`),e[`m.relates_to`]!==void 0){var s=e[`m.relates_to`];typeof s!=`object`||!s?r.push(i+`m.relates_to must be an object if provided`):(typeof s.event_id!=`string`&&r.push(i+`m.relates_to.event_id must be a string`),s.rel_type!==`m.reference`&&r.push(i+`m.relates_to.rel_type must be m.reference`))}if(r.length)throw new HP(`RtcMembership`,r);return!0};function qP(e,t,n){return JP.apply(this,arguments)}function JP(){return JP=o(function*(e,t,n){return vj(yield WP(JSON.stringify([e,t,n])))}),JP.apply(this,arguments)}var YP=1e3*60*60*4,K=function(e){return e.RTC=`rtc`,e.Session=`session`,e}(K||{}),XP=class e{static membershipDataFromMatrixEvent(e){var t=e.getSender(),n=e.getType(),r=e.getContent();if(t===void 0)throw Error(`matrixEvent is missing sender field`);try{if(n===E.RTCMembership&&KP(r,t))return{kind:K.RTC,data:r};if(n===E.GroupCallMemberPrefix&&UP(r))return{kind:K.Session,data:r};throw Error(`'${n} is not a known call membership type`)}catch(e){throw e instanceof HP&&T.debug(`CallMembership.MatrixRTCMembershipParseError provided invalid data`,r),e}}static parseFromEvent(t){var n=this;return o(function*(){var r=n.membershipDataFromMatrixEvent(t);return new e(t,r,r.kind===K.RTC?yield qP(r.data.member.user_id,r.data.member.device_id,r.data.member.id):`${t.getSender()}:${r.data.device_id}`)})()}static equal(e,t){return vE(e?.membershipData,t?.membershipData)}constructor(e,t,n){this.matrixEvent=e,this.membershipData=t,this.rtcBackendIdentity=n,u(this,`logger`,void 0),u(this,`matrixEventData`,void 0);var r=e.getId(),i=e.getSender();if(r===void 0)throw Error(`parentEvent is missing eventId field`);if(i===void 0)throw Error(`parentEvent is missing sender field`);this.logger=T.getChild(`[CallMembership ${i}:${this.deviceId}]`),this.matrixEventData={eventId:r,sender:i}}get sender(){return this.userId}get userId(){var{kind:e,data:t}=this.membershipData;switch(e){case K.RTC:return t.member.user_id;case K.Session:default:return this.matrixEventData.sender}}get eventId(){return this.matrixEventData.eventId}get slotId(){var e,{kind:t,data:n}=this.membershipData;if(n.application===`m.call`)switch(t){case K.RTC:return n.slot_id;case K.Session:default:var[r,i]=[n.application,n.call_id],a;if(i===``){var o;a=`ROOM`,(o=this.logger)==null||o.info(`use slotId compat hack emptyString -> ROOM`)}else a=i;return VP({application:r,id:a})}switch((e=this.logger)==null||e.info(`NOT using slotId compat hack emptyString -> ROOM`),t){case K.RTC:return n.slot_id;case K.Session:default:return VP({application:n.application,id:n.call_id})}}get deviceId(){var{kind:e,data:t}=this.membershipData;switch(e){case K.RTC:return t.member.device_id;case K.Session:default:return t.device_id}}get callIntent(){var e=this.applicationData[`m.call.intent`];if(typeof e==`string`)return e;this.logger.warn(`RTC membership has invalid m.call.intent`)}get slotDescription(){var{kind:e,data:t}=this.membershipData;if(e===K.RTC){var n=t.slot_id.slice(`${t.application.type}#`.length);return{application:t.application.type,id:n}}return BP(this.slotId)}get application(){return this.applicationData.type}get applicationData(){var{kind:e,data:t}=this.membershipData;switch(e){case K.RTC:return t.application;case K.Session:default:return{type:t.application,"m.call.intent":t[`m.call.intent`]}}}get scope(){var{kind:e,data:t}=this.membershipData;switch(e){case K.RTC:return;case K.Session:default:return t.scope}}get memberId(){var{kind:e,data:t}=this.membershipData;switch(e){case`rtc`:return t.member.id;case`session`:return t.membershipID??`${this.matrixEventData.sender}:${t.device_id}`;default:throw Error(`Not possible to get memberID without knowing the membership event kind`)}}get membershipID(){return this.memberId}createdTs(){var{kind:e,data:t}=this.membershipData;switch(e){case K.RTC:return this.matrixEvent.getTs();case K.Session:default:return t.created_ts??this.matrixEvent.getTs()}}getAbsoluteExpiry(){var{kind:e,data:t}=this.membershipData;switch(e){case K.RTC:return;case K.Session:default:return this.createdTs()+(t.expires??YP)}}getMsUntilExpiry(){var{kind:e}=this.membershipData;if(e===K.Session){var t=this.getAbsoluteExpiry();if(t)return t-Date.now()}}isExpired(){var{kind:e}=this.membershipData;switch(e){case K.RTC:return!1;case K.Session:default:return this.getMsUntilExpiry()<=0}}getTransport(t){var{kind:n,data:r}=this.membershipData;switch(n){case K.RTC:return r.rtc_transports[0];case K.Session:switch(r.focus_active.focus_selection){case`oldest_membership`:if(e.equal(this,t))return r.foci_preferred[0];if(t!==void 0)return t.getTransport(t);break;case`multi_sfu`:return r.foci_preferred[0];default:return}break;default:return}}get transports(){var{kind:e,data:t}=this.membershipData;switch(e){case K.RTC:return t.rtc_transports;case K.Session:default:return t.foci_preferred}}},ZP=function(e){return e.Disconnected=`Disconnected`,e.Connecting=`Connecting`,e.Connected=`Connected`,e.Disconnecting=`Disconnecting`,e.Unknown=`Unknown`,e}({}),QP=(e,t,n)=>e.sender===t&&e.deviceId===n,$P=class{constructor(e,t){this.membershipLoopHandler=e,u(this,`logger`,void 0),u(this,`running`,!1),u(this,`wakeup`,e=>{this.logger.error("Cannot call wakeup before calling `startWithJoin()`")}),u(this,`_actions`,[]),this.logger=(t??T).getChild(`[NewMembershipActionScheduler]`)}get actions(){return this._actions}startWithJoin(){var e=this;return o(function*(){if(e.running){e.logger.error(`Cannot call startWithJoin() on NewMembershipActionScheduler while already running`);return}e.running=!0,e._actions=[{ts:Date.now(),type:q.SendDelayedEvent}];try{for(var t=function*(){e._actions.sort((e,t)=>e.ts-t.ts);var t=e._actions[0],n=void 0,r=new Promise(t=>{e.wakeup=e=>{n=e,t()}});t.ts>Date.now()&&(yield Promise.race([r,OE(t.ts-Date.now())]));var i={};if(!n){e.logger.debug(`Current MembershipManager processing: ${t.type}
|
|
14
14
|
Queue:`,e._actions,`
|
|
15
|
-
Date.now: "${Date.now()}`);try{i=yield e.membershipLoopHandler(t.type)}catch(e){throw Error(`The MembershipManager shut down because of the end condition: ${e}`)}}e._actions.splice(0,1);var a=n??i;`replace`in a?e._actions=a.replace:`insert`in a&&e._actions.push(...a.insert)};e._actions.length>0;)yield*t()}finally{e.running=!1}e.logger.debug(`Leave MembershipManager ActionScheduler loop (no more actions)`)})()}initiateJoin(){var e;(e=this.wakeup)==null||e.call(this,{replace:[{ts:Date.now(),type:q.SendDelayedEvent}]})}initiateLeave(){var e;(e=this.wakeup)==null||e.call(this,{replace:[{ts:Date.now(),type:q.SendScheduledDelayedLeaveEvent}]})}},eF=function(e){return e.TooNew=`TOO_NEW`,e}({}),tF=class extends Error{constructor(e){var t=`Crypto store is invalid because ${e}, please stop the client, delete all data and start the client again`;super(t),this.reason=e,this.name=`InvalidCryptoStoreError`}};u(tF,`TOO_NEW`,eF.TooNew);var nF=class extends Error{constructor(e,t){super(e),this.value=t}},rF=class extends Error{constructor(){super(`MatrixClient has been stopped`)}},iF=class extends Error{constructor(e,t){super(e),this.clientEndpoint=t,this.name=`UnsupportedDelayedEventsEndpointError`}},aF=class extends Error{constructor(e,t){super(e),this.clientEndpoint=t,this.name=`UnsupportedStickyEventsEndpointError`}},oF=function(e){return e.StatusChanged=`StatusChanged`,e.ProbablyLeft=`ProbablyLeft`,e.DelayIdChanged=`DelayIdChanged`,e}({}),sF=e=>e.type===`livekit`&&`livekit_service_url`in e;function cF(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function lF(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?cF(Object(n),!0).forEach(function(t){u(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):cF(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var uF=3600*1e3,q=function(e){return e.SendDelayedEvent=`SendDelayedEvent`,e.SendJoinEvent=`SendJoinEvent`,e.RestartDelayedEvent=`RestartDelayedEvent`,e.UpdateExpiry=`UpdateExpiry`,e.SendScheduledDelayedLeaveEvent=`SendScheduledDelayedLeaveEvent`,e.SendLeaveEvent=`SendLeaveEvent`,e}({});function dF(e,t){return{insert:[{ts:Date.now()+(t??0),type:e}]}}function fF(e,t){return{replace:[{ts:Date.now()+(t??0),type:e}]}}var pF=class e extends SD{isActivated(){return this.activated}isJoined(){return this.isActivated()}join(t,n,r){if(this.scheduler.running){this.logger.error(`MembershipManager is already running. Ignoring join request.`);return}this.fociPreferred=t,this.rtcTransport=n,this.leavePromiseResolvers=void 0,this.activated=!0,this.oldStatus=this.status,this.state=e.defaultState,this.scheduler.startWithJoin().catch(e=>{this.logger.error(`MembershipManager stopped because: `,e),r?.(e)}).finally(()=>{if(this.activated=!1,this.oldStatus&&this.oldStatus!==this.status&&this.emit(oF.StatusChanged,this.oldStatus,this.status),!this.scheduler.running){var e;(e=this.leavePromiseResolvers)==null||e.resolve(!0),this.leavePromiseResolvers=void 0}})}leave(e){return this.scheduler.running?(this.leavePromiseResolvers||(this.leavePromiseResolvers=Promise.withResolvers(),this.activated=!1,this.scheduler.initiateLeave(),e&&setTimeout(()=>this.leavePromiseResolvers?.resolve(!1),e)),this.leavePromiseResolvers.promise):(this.logger.warn(`Called MembershipManager.leave() even though the MembershipManager is not running`),Promise.resolve(!0))}onRTCSessionMemberUpdate(e){if(!this.isActivated())return Promise.resolve();if(this._ownMembership=e.find(e=>QP(e,this.userId,this.deviceId)),!this._ownMembership){var t=[q.SendDelayedEvent,q.SendJoinEvent];this.logger.warn(`Missing own membership: force re-join`),this.state.hasMemberStateEvent=!1,this.scheduler.actions.some(e=>t.includes(e.type))?this.logger.error("tried adding another `SendDelayedEvent` actions even though we already have one in the Queue\nActionQueueOnMemberUpdate:",this.scheduler.actions):this.scheduler.initiateJoin()}return Promise.resolve()}updateCallIntent(e){var t=this;return o(function*(){if(!t.activated||!t.ownMembership)throw Error(`You cannot update your intent before joining the call`);t.ownMembership.callIntent!==e&&(t.callIntent=e,yield t.sendJoinEvent())})()}constructor(t,n,r,i,a){super(),this.joinConfig=t,this.room=n,this.client=r,this.slotDescription=i,u(this,`activated`,!1),u(this,`logger`,void 0),u(this,`callIntent`,void 0),u(this,`leavePromiseResolvers`,void 0),u(this,`_ownMembership`,void 0),u(this,`oldStatus`,void 0),u(this,`scheduler`,void 0),u(this,`state`,void 0),u(this,`deviceId`,void 0),u(this,`userId`,void 0),u(this,`stateKey`,void 0),u(this,`rtcTransport`,void 0),u(this,`fociPreferred`,void 0),u(this,`delayedLeaveEventDelayMsOverride`,void 0),u(this,`clientSendDelayedDisconnectMembership`,()=>this.client._unstable_sendDelayedStateEvent(this.room.roomId,{delay:this.delayedLeaveEventDelayMs},E.GroupCallMemberPrefix,{},this.stateKey)),u(this,`clientSendMembership`,e=>this.client.sendStateEvent(this.room.roomId,E.GroupCallMemberPrefix,e,this.stateKey)),this.logger=(a??T).getChild(`[MembershipManager]`);var[o,s]=[this.client.getUserId(),this.client.getDeviceId()];if(o===null)throw Error(`Missing userId in client`);if(s===null)throw Error(`Missing deviceId in client`);this.deviceId=s,this.userId=o,this.stateKey=this.makeMembershipStateKey(o,s),this.state=e.defaultState,this.callIntent=t?.callIntent,this.scheduler=new $P(e=>(this.oldStatus&&(this.logger.debug(`MembershipManager applied action changes. Status: ${this.oldStatus} -> ${this.status}`),this.oldStatus!==this.status&&this.emit(oF.StatusChanged,this.oldStatus,this.status)),this.oldStatus=this.status,this.logger.debug(`MembershipManager before processing action. status=${this.oldStatus}`),this.membershipLoopHandler(e)),this.logger)}get ownMembership(){return this._ownMembership}static get defaultState(){return{hasMemberStateEvent:!1,delayId:void 0,startTime:0,rateLimitRetries:new Map,networkErrorRetries:new Map,expireUpdateIterations:1,probablyLeft:!1}}get networkErrorRetryMs(){return this.joinConfig?.networkErrorRetryMs??3e3}get membershipEventExpiryMs(){return this.joinConfig?.membershipEventExpiryMs??YP}get membershipEventExpiryHeadroomMs(){return this.joinConfig?.membershipEventExpiryHeadroomMs??5e3}computeNextExpiryActionTs(e){return this.state.startTime+Math.min(this.membershipEventExpiryMs,uF)*e-this.membershipEventExpiryHeadroomMs}get delayedLeaveEventDelayMs(){return this.delayedLeaveEventDelayMsOverride??this.joinConfig?.delayedLeaveEventDelayMs??8e3}get delayedLeaveEventRestartMs(){return this.joinConfig?.delayedLeaveEventRestartMs??5e3}get maximumRateLimitRetryCount(){return this.joinConfig?.maximumRateLimitRetryCount??10}get maximumNetworkErrorRetryCount(){return this.joinConfig?.maximumNetworkErrorRetryCount??10}get delayedLeaveEventRestartLocalTimeoutMs(){return this.joinConfig?.delayedLeaveEventRestartLocalTimeoutMs??2e3}membershipLoopHandler(e){var t=this;return o(function*(){switch(e){case q.SendDelayedEvent:return t.state.delayId?t.cancelKnownDelayIdBeforeSendDelayedEvent(t.state.delayId):t.sendOrResendDelayedLeaveEvent();case q.RestartDelayedEvent:return t.state.delayId?t.restartDelayedEvent(t.state.delayId):dF(q.SendDelayedEvent);case q.SendScheduledDelayedLeaveEvent:return t.state.hasMemberStateEvent?t.state.delayId?t.sendScheduledDelayedLeaveEventOrFallbackToSendLeaveEvent(t.state.delayId):dF(q.SendLeaveEvent):{replace:[]};case q.SendJoinEvent:return t.sendJoinEvent();case q.UpdateExpiry:return t.updateExpiryOnJoinedEvent();case q.SendLeaveEvent:return t.state.hasMemberStateEvent?t.sendFallbackLeaveEvent():{replace:[]}}})()}sendOrResendDelayedLeaveEvent(){var e=this;return o(function*(){return yield e.clientSendDelayedDisconnectMembership().then(t=>(e.state.expectedServerDelayLeaveTs=Date.now()+e.delayedLeaveEventDelayMs,e.setAndEmitProbablyLeft(!1),e.resetRateLimitCounter(q.SendDelayedEvent),e.setAndEmitDelayId(t.delay_id),e.state.hasMemberStateEvent?dF(q.RestartDelayedEvent,e.delayedLeaveEventRestartMs):dF(q.SendJoinEvent))).catch(t=>{var n=q.SendDelayedEvent;if(e.manageMaxDelayExceededSituation(t))return dF(n);var r=e.actionUpdateFromErrors(t,n,`_unstable_sendDelayedStateEvent`);if(r)return r;if(e.state.hasMemberStateEvent){if(e.isUnsupportedDelayedEndpoint(t))return{};throw Error(`Could not send delayed event, even though delayed events are supported. `+t)}else return e.isUnsupportedDelayedEndpoint(t)?e.logger.info(`Not using delayed event because the endpoint is not supported`):e.logger.info(`Not using delayed event because: `+t),dF(q.SendJoinEvent)})})()}cancelKnownDelayIdBeforeSendDelayedEvent(e){var t=this;return o(function*(){return yield t.client._unstable_cancelScheduledDelayedEvent(e).then(()=>(t.setAndEmitDelayId(void 0),t.resetRateLimitCounter(q.SendDelayedEvent),fF(q.SendDelayedEvent))).catch(e=>{var n=q.SendDelayedEvent,r=t.actionUpdateFromErrors(e,n,`cancelScheduledDelayedEvent`);if(r)return r;if(t.isNotFoundError(e))return t.setAndEmitDelayId(void 0),fF(n);if(t.isUnsupportedDelayedEndpoint(e))return fF(q.SendJoinEvent);throw Error(`We failed to cancel a delayed event where we already had a delay id with an error we cannot automatically handle`)})})()}setAndEmitProbablyLeft(e){this.state.probablyLeft!==e&&(this.state.probablyLeft=e,this.emit(oF.ProbablyLeft,this.state.probablyLeft))}setAndEmitDelayId(e){this.state.delayId!==e&&(this.state.delayId=e,this.emit(oF.DelayIdChanged,this.state.delayId))}restartDelayedEvent(e){var t=this;return o(function*(){var n=t.state.expectedServerDelayLeaveTs?t.state.expectedServerDelayLeaveTs-Date.now():void 0,r=new Promise((e,r)=>{setTimeout(()=>{r(new JT(`Restart delayed event timed out before the HS responded`))},n!==void 0&&!t.state.probablyLeft?Math.min(t.delayedLeaveEventRestartLocalTimeoutMs,n):t.delayedLeaveEventRestartLocalTimeoutMs)});return yield Promise.race([t.client._unstable_restartScheduledDelayedEvent(e),r]).then(()=>(t.state.expectedServerDelayLeaveTs=Date.now()+t.delayedLeaveEventDelayMs,t.resetRateLimitCounter(q.RestartDelayedEvent),t.setAndEmitProbablyLeft(!1),dF(q.RestartDelayedEvent,t.delayedLeaveEventRestartMs))).catch(e=>{t.state.expectedServerDelayLeaveTs&&t.state.expectedServerDelayLeaveTs<=Date.now()&&t.setAndEmitProbablyLeft(!0);var n=q.RestartDelayedEvent;if(t.isNotFoundError(e))return t.setAndEmitDelayId(void 0),dF(q.SendDelayedEvent);if(t.isUnsupportedDelayedEndpoint(e))return{};var r=t.actionUpdateFromErrors(e,n,`restartScheduledDelayedEvent`);if(r)return r;throw Error(`Could not restart delayed event, even though delayed events are supported. `+e)})})()}sendScheduledDelayedLeaveEventOrFallbackToSendLeaveEvent(e){var t=this;return o(function*(){return yield t.client._unstable_sendScheduledDelayedEvent(e).then(()=>(t.state.hasMemberStateEvent=!1,t.setAndEmitDelayId(void 0),t.resetRateLimitCounter(q.SendScheduledDelayedLeaveEvent),{replace:[]})).catch(e=>{var n=q.SendLeaveEvent;return t.isUnsupportedDelayedEndpoint(e)?{}:t.isNotFoundError(e)?(t.setAndEmitDelayId(void 0),dF(n)):t.actionUpdateFromErrors(e,n,`sendScheduledDelayedEvent`)||(t.logger.warn(`Encountered unexpected error during SendScheduledDelayedLeaveEvent. Falling back to SendLeaveEvent`,e),dF(n))})})()}sendJoinEvent(){var e=this;return o(function*(){return yield e.clientSendMembership(e.makeMyMembership(e.membershipEventExpiryMs)).then(()=>(e.setAndEmitProbablyLeft(!1),e.state.startTime=Date.now(),e.state.expireUpdateIterations=1,e.state.hasMemberStateEvent=!0,e.resetRateLimitCounter(q.SendJoinEvent),{replace:[...e.scheduler.actions.filter(e=>e.type!==q.UpdateExpiry&&e.type!==q.SendJoinEvent),{ts:Date.now(),type:q.RestartDelayedEvent},{ts:e.computeNextExpiryActionTs(e.state.expireUpdateIterations),type:q.UpdateExpiry}]})).catch(t=>{var n=e.actionUpdateFromErrors(t,q.SendJoinEvent,`sendStateEvent`);if(n)return n;throw t})})()}updateExpiryOnJoinedEvent(){var e=this;return o(function*(){var t=e.state.expireUpdateIterations+1;return yield e.clientSendMembership(e.makeMyMembership(e.membershipEventExpiryMs*t)).then(()=>(e.resetRateLimitCounter(q.UpdateExpiry),e.state.expireUpdateIterations=t,{insert:[{ts:e.computeNextExpiryActionTs(t),type:q.UpdateExpiry}]})).catch(t=>{var n=e.actionUpdateFromErrors(t,q.UpdateExpiry,`sendStateEvent`);if(n)return n;throw t})})()}sendFallbackLeaveEvent(){var e=this;return o(function*(){return yield e.clientSendMembership({}).then(()=>(e.resetRateLimitCounter(q.SendLeaveEvent),e.state.hasMemberStateEvent=!1,{replace:[]})).catch(t=>{var n=e.actionUpdateFromErrors(t,q.SendLeaveEvent,`sendStateEvent`);if(n)return n;throw t})})()}makeMembershipStateKey(e,t){var n=this.slotDescription.application,r=`${e}_${t}_${n}${n===`m.call`&&this.slotDescription.id===`ROOM`?``:this.slotDescription.id}`;return/^org\.matrix\.msc(3757|3779)\b/.exec(this.room.getVersion())?r:`_${r}`}makeMyMembership(e){var t=this.ownMembership,n=this.slotDescription.application===`m.call`&&this.slotDescription.id===`ROOM`,r=this.rtcTransport===void 0?{focus_active:{type:`livekit`,focus_selection:`oldest_membership`},foci_preferred:this.fociPreferred??[]}:{focus_active:{type:`livekit`,focus_selection:`multi_sfu`},foci_preferred:[this.rtcTransport,...this.fociPreferred??[]]};return lF(lF({application:this.slotDescription.application,call_id:n?``:this.slotDescription.id,scope:`m.room`,device_id:this.deviceId,membershipID:`${this.userId}:${this.deviceId}`,expires:e,"m.call.intent":this.callIntent},r),t===void 0?void 0:{created_ts:t.createdTs()})}isNotFoundError(e){return e instanceof P&&e.errcode===`M_NOT_FOUND`}manageMaxDelayExceededSituation(e){if(e instanceof P&&e.errcode===`M_UNKNOWN`&&e.data[`org.matrix.msc4140.errcode`]===`M_MAX_DELAY_EXCEEDED`){var t=e.data[`org.matrix.msc4140.max_delay`];return typeof t==`number`&&this.delayedLeaveEventDelayMs>t&&(this.delayedLeaveEventDelayMsOverride=t),this.logger.warn(`Retry sending delayed disconnection event due to server timeout limitations:`,e),!0}return!1}actionUpdateFromErrors(e,t,n){var r=this.actionUpdateFromRateLimitError(e,n,t);if(r)return r;var i=this.actionUpdateFromNetworkErrorRetry(e,t);if(i)return i}actionUpdateFromRateLimitError(e,t,n){if((e instanceof Hk||e instanceof P)&&e.isRateLimitError()){var r=this.state.rateLimitRetries.get(n)??0;if(r<this.maximumRateLimitRetryCount){var i,a=5e3;try{i=e.getRetryAfterMs()??a,this.logger.info(`Rate limited by server, retrying in ${i}ms`)}catch(e){this.logger.warn(`Error while retrieving a rate-limit retry delay, retrying after default delay of ${a}`,e),i=a}return this.state.rateLimitRetries.set(n,r+1),dF(n,i)}throw Error(`Exceeded maximum retries for `+n+` attempts (client.`+t+`)`,{cause:e})}}actionUpdateFromNetworkErrorRetry(e,t){var n=this.state.networkErrorRetries.get(t)??0,r=this.networkErrorRetryMs/1e3+`s`,i=`(`+n+`/`+this.maximumNetworkErrorRetryCount+`)`,a=this.networkErrorRetryMs;if(e instanceof Error&&e.name===`AbortError`)a=0,this.logger.warn(`Network local timeout error while sending event, immediate retry (`+i+`)`,e);else if(e instanceof Error&&e.message.includes(`updating delayed event`))this.logger.warn(`delayed event update timeout error, retrying in `+r+` `+i,e);else if(e instanceof Wk)this.logger.warn(`Network connection error while sending event, retrying in `+r+` `+i,e);else if((e instanceof Hk||e instanceof P)&&typeof e.httpStatus==`number`&&e.httpStatus>=500&&e.httpStatus<600)this.logger.warn(`Server error while sending event, retrying in `+r+` `+i,e);else return;if(n<this.maximumNetworkErrorRetryCount)return this.state.networkErrorRetries.set(t,n+1),dF(t,a);throw Error(`Reached maximum (`+this.maximumNetworkErrorRetryCount+`) retries cause by: `+e)}isUnsupportedDelayedEndpoint(e){return e instanceof iF}resetRateLimitCounter(e){this.state.rateLimitRetries.set(e,0),this.state.networkErrorRetries.set(e,0)}get status(){var e=this.scheduler.actions;if(e.length===1){var{type:t}=e[0];switch(t){case q.SendDelayedEvent:case q.SendJoinEvent:return ZP.Connecting;case q.UpdateExpiry:return ZP.Connected;case q.SendScheduledDelayedLeaveEvent:case q.SendLeaveEvent:return ZP.Disconnecting;default:}}else if(e.length===2){var n=e.map(e=>e.type);if((n.includes(q.RestartDelayedEvent)||n.includes(q.SendDelayedEvent)&&this.state.hasMemberStateEvent)&&n.includes(q.UpdateExpiry))return ZP.Connected}else if(e.length===3){var r=e.map(e=>e.type);if(r.filter(e=>e===q.RestartDelayedEvent).length===2&&r.includes(q.UpdateExpiry))return ZP.Connected}return this.scheduler.running?(this.logger.error(`MembershipManager has an unknown state. Actions: `,e),ZP.Unknown):ZP.Disconnected}get probablyLeft(){return this.state.probablyLeft}get delayId(){return this.state.delayId}},mF=class e extends pF{constructor(e,t,n,r,i,a){super(e,t,n,r,a),this.clientWithSticky=n,this.memberId=i,u(this,`clientSendDelayedDisconnectMembership`,()=>this.clientWithSticky._unstable_sendStickyDelayedEvent(this.room.roomId,uF,{delay:this.delayedLeaveEventDelayMs},null,E.RTCMembership,{msc4354_sticky_key:this.memberId})),u(this,`clientSendMembership`,e=>this.clientWithSticky._unstable_sendStickyEvent(this.room.roomId,uF,null,E.RTCMembership,lF(lF({},e),{},{msc4354_sticky_key:this.memberId})))}actionUpdateFromErrors(t,n,r){return super.actionUpdateFromErrors(t,n,e.nameMap.get(r)??`unknown`)}makeMyMembership(){var e=this.ownMembership,t=sF(this.rtcTransport)?this.rtcTransport:void 0,n=e!=null&&e.eventId?{"m.relation":{rel_type:D.Reference,event_id:e?.eventId}}:{};return lF({application:lF({type:this.slotDescription.application},this.callIntent?{"m.call.intent":this.callIntent}:{}),slot_id:VP(this.slotDescription),rtc_transports:t?[{type:t.type,livekit_service_url:t.livekit_service_url}]:[],member:{device_id:this.deviceId,user_id:this.userId,id:this.memberId},versions:[]},n)}};u(mF,`nameMap`,new Map([[`sendStateEvent`,`_unstable_sendStickyEvent`],[`sendDelayedStateEvent`,`_unstable_sendStickyDelayedEvent`]]));var hF=function(e){return e.ReceivedKeys=`received_keys`,e.NotSupportedError=`not_supported_error`,e}({}),gF=class{constructor(e,t,n,r,i,a){this.ownMembership=e,this.getMemberships=t,this.transport=n,this.onEncryptionKeysChanged=r,u(this,`manageMediaKeys`,!1),u(this,`useHashedRtcBackendIdentity`,!1),u(this,`ownRtcBackendIdentityCache`,void 0),u(this,`participantKeyRings`,new Map),u(this,`outboundSession`,null),u(this,`currentKeyDistributionPromise`,null),u(this,`useKeyDelay`,5e3),u(this,`keyRotationGracePeriodMs`,1e4),u(this,`needToEnsureKeyAgain`,!1),u(this,`keyBuffer`,new zP),u(this,`logger`,void 0),u(this,`rtcIdentityProvider`,void 0),u(this,`keysWithoutMatchingRTCMembership`,[]),u(this,`onNewKeyReceived`,(e,t,n,r)=>{var i;if(!this.manageMediaKeys){var a;(a=this.logger)==null||a.warn(`Received key over transport ${e.userId}:${e.deviceId} at index ${n} but media keys are disabled`);return}(i=this.logger)==null||i.debug(`Received key over transport ${e.userId}:${e.deviceId} at index ${n}`);var o={key:xj(t),membership:e,keyIndex:n,creationTS:r};if(!this.keyBuffer.isOutdated(e,o))this.addKeyToParticipant(o.key,o.keyIndex,o.membership);else{var s;(s=this.logger)==null||s.info(`Received an out of order key for ${e.userId}:${e.deviceId}, dropping it`)}}),this.logger=i?.getChild(`[EncryptionManager]`),this.rtcIdentityProvider=a??qP}getOwnRtcBackendIdentity(){var e=this;return o(function*(){if(e.ownRtcBackendIdentityCache)return e.ownRtcBackendIdentityCache;if(e.useHashedRtcBackendIdentity){var t,{userId:n,deviceId:r,memberId:i}=e.ownMembership;(t=e.logger)==null||t.info(`Computing RTC backend identity for ${n}:${r}:${i} (SHOULD ONLY BE CALLED ONCE)`),e.ownRtcBackendIdentityCache=yield e.rtcIdentityProvider(n,r,i)}else e.ownRtcBackendIdentityCache=`${e.ownMembership.userId}:${e.ownMembership.deviceId}`;return e.ownRtcBackendIdentityCache})()}getEncryptionKeys(){return new Map(this.participantKeyRings)}checkKeysWithoutMatchingRTCMembership(){var e=this.keysWithoutMatchingRTCMembership;this.keysWithoutMatchingRTCMembership=[],e.forEach(e=>{this.addKeyToParticipant(e.key,e.keyIndex,e.membership)})}addKeyToParticipant(e,t,n){var r=this.getMemberships().find(e=>e.userId===n.userId&&e.deviceId===n.deviceId);if(!r){var i;(i=this.logger)==null||i.info(`No matching RTC membership for key from ${n.userId}:${n.deviceId}, delaying key addition`),this.keysWithoutMatchingRTCMembership.push({key:e,keyIndex:t,membership:n});return}this.addKeyToParticipantWithBackendIdentity(e,t,n,r.rtcBackendIdentity)}addKeyToParticipantWithBackendIdentity(e,t,n,r){var i=RP(n);this.participantKeyRings.has(i)||this.participantKeyRings.set(i,[]),this.participantKeyRings.get(i).push({key:e,keyIndex:t,membership:n,rtcBackendIdentity:r}),this.onEncryptionKeysChanged(e,t,n,r)}join(e){var t;this.manageMediaKeys=e?.manageMediaKeys??!0,this.useHashedRtcBackendIdentity=e?.unstableSendStickyEvents??!1,this.useKeyDelay=e?.useKeyDelay??1e3,this.keyRotationGracePeriodMs=e?.keyRotationGracePeriodMs??1e4,this.transport.on(hF.ReceivedKeys,this.onNewKeyReceived),this.getOwnRtcBackendIdentity(),(t=this.logger)==null||t.info(`Joining room`),this.transport.start()}leave(){this.transport.off(hF.ReceivedKeys,this.onNewKeyReceived),this.transport.stop(),this.participantKeyRings.clear()}ensureKeyDistribution(){if(this.manageMediaKeys)if(this.currentKeyDistributionPromise==null){var e;(e=this.logger)==null||e.debug(`No active rollout, start a new one`),this.currentKeyDistributionPromise=this.rolloutOutboundKey().then(()=>{var e;if((e=this.logger)==null||e.debug(`Rollout completed`),this.currentKeyDistributionPromise=null,this.needToEnsureKeyAgain){var t;(t=this.logger)==null||t.debug(`New Rollout needed`),this.needToEnsureKeyAgain=!1,this.ensureKeyDistribution()}})}else{var t;(t=this.logger)==null||t.debug(`Rollout in progress, a new rollout will be started after the current one`),this.needToEnsureKeyAgain=!0}}onMembershipsUpdate(){var e;arguments.length>0&&arguments[0]!==void 0&&arguments[0],(e=this.logger)==null||e.trace(`onMembershipsUpdate`),this.ensureKeyDistribution(),this.checkKeysWithoutMatchingRTCMembership()}rolloutOutboundKey(){var e=this;return o(function*(){if(e.outboundSession==null){var t={key:e.generateRandomKey(),creationTS:Date.now(),sharedWith:[],keyId:0};e.outboundSession=t,e.addKeyToParticipantWithBackendIdentity(t.key,t.keyId,e.ownMembership,yield e.getOwnRtcBackendIdentity())}var n=e.getMemberships().filter(e=>e.sender!=null).map(e=>({userId:e.sender,deviceId:e.deviceId,membershipTs:e.createdTs()})),r=e.outboundSession?.sharedWith??[];r=r.filter(e=>!n.some(t=>e.userId==t.userId&&e.deviceId==t.deviceId&&e.membershipTs!=t.membershipTs));var i=r.filter(e=>!n.some(t=>e.userId==t.userId&&e.deviceId==t.deviceId&&e.membershipTs==t.membershipTs)),a=n.filter(e=>!r.some(t=>e.userId==t.userId&&e.deviceId==t.deviceId&&e.membershipTs==t.membershipTs)),o=[],s,c=!1;if(i.length>0){var l=e.createNewOutboundSession();c=!0,o=n,s=l}else if(a.length>0){var u=Date.now()-e.outboundSession.creationTS;if(u<e.keyRotationGracePeriodMs){var d;(d=e.logger)==null||d.debug(`New joiners detected, but the key is recent enough (age:${u}), keeping it`),o=a,s=e.outboundSession}else{var f;(f=e.logger)==null||f.debug(`New joiners detected, rotating the key`);var p=e.createNewOutboundSession();c=!0,o=n,s=p}}else return;try{var m,h;if((m=e.logger)==null||m.trace(`Sending key...`),yield e.transport.sendKey(_j(s.key),s.keyId,o),s.sharedWith.push(...o),(h=e.logger)==null||h.trace(`key index:${s.keyId} sent to ${s.sharedWith.map(e=>`${e.userId}:${e.deviceId}`).join(`,`)}`),c){var g,_;(g=e.logger)==null||g.trace(`Delay Rollout for key:${s.keyId}...`),yield OE(e.useKeyDelay),(_=e.logger)==null||_.trace(`...Delayed rollout of index:${s.keyId} `),e.addKeyToParticipantWithBackendIdentity(s.key,s.keyId,e.ownMembership,yield e.getOwnRtcBackendIdentity())}}catch(t){var v;(v=e.logger)==null||v.error(`Failed to rollout key`,t)}})()}createNewOutboundSession(){var e,t={key:this.generateRandomKey(),creationTS:Date.now(),sharedWith:[],keyId:this.nextKeyIndex()};return(e=this.logger)==null||e.info(`creating new outbound key index:${t.keyId}`),this.outboundSession=t,t}nextKeyIndex(){return this.outboundSession?(this.outboundSession.keyId+1)%256:0}generateRandomKey(){var e=new Uint8Array(16);return globalThis.crypto.getRandomValues(e),e}},_F=class extends Error{constructor(e){super(e)}get name(){return`NotSupportedError`}},vF=class extends SD{setParentLogger(e){this.logger=e.getChild(`[ToDeviceKeyTransport]`)}constructor(e,t,n,r,i){super(),this.membership=e,this.roomId=t,this.client=n,this.statistics=r,u(this,`logger`,T),u(this,`onToDeviceEvent`,e=>{if(e.getType()===E.CallEncryptionKeysPrefix){var t=this.getValidEventContent(e);t&&e.getSender()&&this.receiveCallKeyEvent(e.getSender(),t)}}),this.setParentLogger(i??T)}start(){this.client.on(Y.ToDeviceEvent,this.onToDeviceEvent)}stop(){this.client.off(Y.ToDeviceEvent,this.onToDeviceEvent)}sendKey(e,t,n){var r=this;return o(function*(){var i={keys:{index:t,key:e},room_id:r.roomId,member:{claimed_device_id:r.membership.deviceId,id:r.membership.memberId},session:{call_id:``,application:`m.call`,scope:`m.room`},sent_ts:Date.now()},a=n.map(e=>({userId:e.userId,deviceId:e.deviceId})).filter(e=>!(e.userId==r.membership.userId&&e.deviceId==r.membership.deviceId));a.length>0?(yield r.client.encryptAndSendToDevice(E.CallEncryptionKeysPrefix,a,i).catch(e=>{var t=e.message;if(t.includes(`unknown variant`)&&t.includes(`send_to_device`)||t.includes(`not supported`))throw new _F(`The widget driver does not support to-device encryption`)}),r.statistics.counters.roomEventEncryptionKeysSent+=1):r.logger.warn(`No targets found for sending key`)})()}receiveCallKeyEvent(e,t){this.statistics.counters.roomEventEncryptionKeysReceived+=1;var n=Date.now(),r=n-(typeof t.sent_ts==`number`?t.sent_ts:n);this.statistics.totals.roomEventEncryptionKeysReceivedTotalAge+=r;var i=`${e}:${t.member.claimed_device_id}`;this.emit(hF.ReceivedKeys,{userId:e,deviceId:t.member.claimed_device_id,memberId:t.member.id??i},t.keys.key,t.keys.index,n)}getValidEventContent(e){var t=e.getContent(),n=t.room_id;if(!n){this.logger.warn(`Malformed Event: invalid call encryption keys event, no roomId`);return}if(n!==this.roomId){this.logger.warn(`Malformed Event: Mismatch roomId`);return}if(!t.keys||!t.keys.key||typeof t.keys.index!=`number`){this.logger.warn(`Malformed Event: Missing keys field`);return}if(!t.member||!t.member.claimed_device_id){this.logger.warn(`Malformed Event: Missing claimed_device_id`);return}return t}};function yF(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function bF(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?yF(Object(n),!0).forEach(function(t){u(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):yF(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var xF=function(e){return e.MembershipsChanged=`memberships_changed`,e.JoinStateChanged=`join_state_changed`,e.EncryptionKeyChanged=`encryption_key_changed`,e.MembershipManagerError=`membership_manager_error`,e.DidSendCallNotification=`did_send_call_notification`,e}({}),SF={listenForStickyEvents:!0,listenForMemberStateEvents:!0},CF=class e extends SD{get membershipStatus(){return this.membershipManager?.status}get probablyLeft(){return this.membershipManager?.probablyLeft}get delayId(){return this.membershipManager?.delayId}get callId(){return this.slotDescription?.id}get slotId(){return VP(this.slotDescription)}static sessionMembershipsForSlot(e,t){var n=arguments;return o(function*(){var r=n.length>2&&n[2]!==void 0?n[2]:SF,i=T.getChild(`[MatrixRTCSession ${e.roomId} ${t.application}#${t.id}]`),a=yield wF(e,OF(e,r,i),t,i);return a.sort((e,t)=>e.createdTs()-t.createdTs()),a.length>1&&i.debug(`Call memberships in room ${e.roomId}, in order: `,a.map(e=>[e.createdTs(),e.userId])),a})()}static sessionForSlot(t,n,r,i){return new e(t,n,r,i)}get room(){return this.roomSubset}constructor(t,n,r,i){var a;super(),a=this,this.client=t,this.roomSubset=n,this.slotDescription=r,this.calculateMembershipsOpts=i,u(this,`membershipManager`,void 0),u(this,`encryptionManager`,void 0),u(this,`joinConfig`,void 0),u(this,`logger`,void 0),u(this,`pendingNotificationToSend`,void 0),u(this,`expiryTimeout`,void 0),u(this,`memberships`,[]),u(this,`initialMembershipCalculated`,void 0),u(this,`membershipNeedsRecalculation`,!1),u(this,`statistics`,{counters:{roomEventEncryptionKeysSent:0,roomEventEncryptionKeysReceived:0},totals:{roomEventEncryptionKeysReceivedTotalAge:0}}),u(this,`reEmitter`,new OO(this)),u(this,`onRoomMemberUpdate`,()=>{this.ensureRecalculateSessionMembers()}),u(this,`onStickyEventUpdate`,(e,t,n)=>{[...e,...n,...t.flatMap(e=>[e.current,e.previous])].some(e=>e.getType()===E.RTCMembership)&&this.ensureRecalculateSessionMembers()}),u(this,`_onRTCSessionMemberUpdate`,o(function*(){yield a.recalculateSessionMembers()})),u(this,`recalculateSessionMembersPromise`,Promise.resolve()),u(this,`recalculateSessionMembers`,o(function*(){var t;a.membershipNeedsRecalculation=!1;var n=a.memberships;if(a.memberships=yield e.sessionMembershipsForSlot(a.room,a.slotDescription,a.calculateMembershipsOpts),n.length!=a.memberships.length||n.some((e,t)=>!XP.equal(e,a.memberships[t]))){var r;a.logger.info(`Memberships for call in room ${a.roomSubset.roomId} have changed: emitting (${a.memberships.length} members)`),jE(a.logger,`emit MatrixRTCSessionEvent.MembershipsChanged`,()=>{a.emit(xF.MembershipsChanged,n,a.memberships)}),(r=a.membershipManager)==null||r.onRTCSessionMemberUpdate(a.memberships);var i=a.membershipManager?.ownMembership;if(a.pendingNotificationToSend&&i&&n.length===0){var o;i.eventId&&(o=a.joinConfig)!=null&&o.notificationType?a.sendCallNotify(i.eventId,a.joinConfig.notificationType,i.callIntent):a.logger.warn(`Own membership eventId is undefined, cannot send call notification`)}a.memberships.length>0&&(a.pendingNotificationToSend=void 0)}else a.logger.debug(`No membership changes detected for room ${a.roomSubset.roomId}`);(t=a.encryptionManager)==null||t.onMembershipsUpdate(n),a.setExpiryTimer()})),this.logger=T.getChild(`[MatrixRTCSession ${n.roomId} ${r.application}#${r.id}]`),this.roomSubset.on(Q.Members,this.onRoomMemberUpdate),this.roomSubset.on(kA.Update,this.onStickyEventUpdate),this.initialMembershipCalculated=this.ensureRecalculateSessionMembers(),this.setExpiryTimer()}isJoined(){return this.membershipManager?.isJoined()??!1}stop(){var e=this;return o(function*(){yield e.membershipManager?.leave(1e3),e.expiryTimeout&&=(clearTimeout(e.expiryTimeout),void 0),e.roomSubset.off(Q.Members,e.onRoomMemberUpdate),e.roomSubset.off(kA.Update,e.onStickyEventUpdate)})()}joinRTCSession(e,t,n,r){if(this.isJoined()){this.logger.info(`Already joined to session in room ${this.roomSubset.roomId}: ignoring join call`);return}else{this.membershipManager=r!=null&&r.unstableSendStickyEvents?new mF(r,this.roomSubset,this.client,this.slotDescription,e.memberId,this.logger):new pF(r,this.roomSubset,this.client,this.slotDescription,this.logger),this.reEmitter.reEmit(this.membershipManager,[oF.ProbablyLeft,oF.StatusChanged,oF.DelayIdChanged]);var[i,a,o]=[this.roomSubset,this.client,this.statistics];this.encryptionManager=new gF(e,()=>this.memberships,new vF(e,i.roomId,a,o),(e,t,n,r)=>{this.emit(xF.EncryptionKeyChanged,e,t,n,r)},this.logger)}this.joinConfig=r,this.pendingNotificationToSend=this.joinConfig?.notificationType,this.membershipManager.join(t,n,e=>{this.logger.error(`MembershipManager encountered an unrecoverable error: `,e),this.emit(xF.MembershipManagerError,e),this.emit(xF.JoinStateChanged,this.isJoined())}),this.encryptionManager.join(r),this.emit(xF.JoinStateChanged,!0)}joinRoomSession(e,t,n){var[r,i]=[this.client.getUserId(),this.client.getDeviceId()],a=`${r}:${i}`;this.joinRTCSession({userId:r,deviceId:i,memberId:a},e,t,n)}leaveRoomSession(){var e=arguments,t=this;return o(function*(){var n=e.length>0&&e[0]!==void 0?e[0]:void 0;if(!t.isJoined())return t.logger.info(`Not joined to session in room ${t.roomSubset.roomId}: ignoring leave call`),!1;t.logger.info(`Leaving call session in room ${t.roomSubset.roomId}`),t.encryptionManager.leave();var r=t.membershipManager.leave(n);return t.emit(xF.JoinStateChanged,!1),yield r})()}getFocusInUse(){var e=this.getOldestMembership();return e?.getTransport(e)}getOldestMembership(){return this.memberships[0]}getConsensusCallIntent(){var e=this.memberships.find(e=>!!e.callIntent)?.callIntent;if(e&&this.memberships.every(t=>!t.callIntent||t.callIntent===e))return e}updateCallIntent(e){var t=this;return o(function*(){if(!t.membershipManager?.ownMembership)throw Error(`Not connected yet`);yield t.membershipManager?.updateCallIntent(e)})()}reemitEncryptionKeys(){var e;(e=this.encryptionManager)==null||e.getEncryptionKeys().forEach((e,t)=>{e.forEach(e=>{this.emit(xF.EncryptionKeyChanged,e.key,e.keyIndex,e.membership,e.rtcBackendIdentity)})})}setExpiryTimer(){this.expiryTimeout&&=(clearTimeout(this.expiryTimeout),void 0);var e;for(var t of this.memberships){var n=t.getMsUntilExpiry();n!==void 0&&(e===void 0||n<e)&&(e=n)}e!=null&&(this.expiryTimeout=setTimeout(()=>void this.ensureRecalculateSessionMembers(),e))}sendCallNotify(e,t,n){var r=this;(function(){var i=o(function*(){var i={"m.mentions":{user_ids:[],room:!0},notification_type:t,"m.relates_to":{event_id:e,rel_type:D.Reference},sender_ts:Date.now(),lifetime:3e4};return n&&(i[`m.call.intent`]=n),{response:yield r.client.sendEvent(r.roomSubset.roomId,E.RTCNotification,i),content:i}});return function(){return i.apply(this,arguments)}})()().then(e=>{var t=bF(bF({},e.response),e.content);this.emit(xF.DidSendCallNotification,t)}).catch(e=>{var[t,n]=e;return this.logger.error(`Failed to send call notification`,t,n)})}ensureRecalculateSessionMembers(){return this.membershipNeedsRecalculation?this.recalculateSessionMembersPromise:(this.membershipNeedsRecalculation=!0,this.recalculateSessionMembersPromise=this.recalculateSessionMembersPromise.finally().then(()=>this.recalculateSessionMembers()),this.recalculateSessionMembersPromise)}};function wF(e,t,n,r){return TF.apply(this,arguments)}function TF(){return TF=o(function*(e,t,n,r){var i=[];for(var a of t)if(EF(a.getContent(),r))try{var o=yield XP.parseFromEvent(a);DF(o,e,n,r)&&i.push(o)}catch(e){r.warn(`Couldn't construct call membership: `,e)}return i}),TF.apply(this,arguments)}function EF(e,t){var n=Object.keys(e).filter(e=>e!==`msc4354_sticky_key`).length;return n===0?!1:n>1&&`application`in e?!0:(n===1&&`memberships`in e,!1)}function DF(e,t,n,r){return e.slotDescription.id===n.id?e.isExpired()?(r.info(`Ignoring expired device membership ${e.userId}/${e.deviceId}`),!1):t.hasMembershipState(e.userId??``,O.Join)?!0:(r.info(`Ignoring membership of user ${e.userId} who is not in the room.`),!1):(r.info(`Ignoring membership of user ${e.userId} for a different slot. Theirs: ${JSON.stringify(e.slotDescription)}, Expected: ${JSON.stringify(n)}`),!1)}function OF(e,t,n){var{listenForStickyEvents:r,listenForMemberStateEvents:i}=t,a=[];if(r&&(a=[...e._unstable_getStickyEvents()].filter(e=>e.getType()===E.RTCMembership)),i){var o=e.getLiveTimeline().getState(A.FORWARDS);if(!o)return n.warn(`Couldn't get state for room `+e.roomId+`using empty membership array`),[];var s=o.getStateEvents(E.GroupCallMemberPrefix);a=a.concat(s.filter(e=>!a.some(t=>t.getContent().msc4354_sticky_key===e.getStateKey())))}return a}var kF=function(e){return e.SessionStarted=`session_started`,e.SessionEnded=`session_ended`,e}({}),AF=class extends SD{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{application:`m.call`,id:`ROOM`};super(),this.client=t,this.slotDescription=n,u(this,`roomSessions`,new Map),u(this,`logger`,void 0),u(this,`onRoom`,e=>{this.refreshRoom(e)}),u(this,`onEvent`,e=>{if(e.unstableStickyExpiresAt&&e.getType()===E.RTCMembership){var t=this.client.getRoom(e.getRoomId());t&&this.refreshRoom(t)}}),u(this,`onRoomState`,e=>{if(e.getType()===E.GroupCallMemberPrefix){var t=this.client.getRoom(e.getRoomId());if(!t){this.logger.error(`Got room state event for unknown room ${e.getRoomId()}!`);return}this.refreshRoom(t)}}),this.logger=e.getChild(`[MatrixRTCSessionManager ${VP(n)}]`)}start(){for(var e of(t=this.client.getRooms())??[]){var t,n=CF.sessionForSlot(this.client,e,this.slotDescription);n.memberships.length>0&&this.roomSessions.set(e.roomId,n)}this.client.on(Y.Room,this.onRoom),this.client.on(Y.Event,this.onEvent),this.client.on(Q.Events,this.onRoomState)}stop(){for(var e of this.roomSessions.values())e.stop();this.roomSessions.clear(),this.client.off(Y.Room,this.onRoom),this.client.off(Y.Event,this.onEvent),this.client.off(Q.Events,this.onRoomState)}getActiveRoomSession(e){return this.roomSessions.get(e.roomId)}getRoomSession(e){return this.roomSessions.has(e.roomId)||this.roomSessions.set(e.roomId,CF.sessionForSlot(this.client,e,this.slotDescription)),this.roomSessions.get(e.roomId)}refreshRoom(e){var t=this;return o(function*(){var n=!t.roomSessions.has(e.roomId),r=t.getRoomSession(e),i=r.memberships.length>0&&!n;yield r._onRTCSessionMemberUpdate().catch(n=>{t.logger.error(`Error updating RTC session members for ${e.roomId}: ${n}`)});var a=r.memberships.length>0;i&&!a?(t.logger.trace(`Session ended for ${e.roomId} (${r.memberships.length} members)`),t.emit(kF.SessionEnded,e.roomId,t.roomSessions.get(e.roomId))):!i&&a&&(t.logger.trace(`Session started for ${e.roomId} (${r.memberships.length} members)`),t.emit(kF.SessionStarted,e.roomId,t.roomSessions.get(e.roomId)))})()}};function jF(e){return t=>{var n,r;return((n=t.content)==null||(n=n[`m.relates_to`])==null?void 0:n.event_id)!==e||((r=t.content)==null||(r=r[`m.relates_to`])==null?void 0:r.rel_type)===X.name}}var MF=class extends Error{};MF.prototype.name=`InvalidTokenError`;function NF(e){return decodeURIComponent(atob(e).replace(/(.)/g,(e,t)=>{let n=t.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n=`0`+n),`%`+n}))}function PF(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`);switch(t.length%4){case 0:break;case 2:t+=`==`;break;case 3:t+=`=`;break;default:throw Error(`base64 string is not of the correct length`)}try{return NF(t)}catch{return atob(t)}}function FF(e,t){if(typeof e!=`string`)throw new MF(`Invalid token specified: must be a string`);t||={};let n=t.header===!0?0:1,r=e.split(`.`)[n];if(typeof r!=`string`)throw new MF(`Invalid token specified: missing part #${n+1}`);let i;try{i=PF(r)}catch(e){throw new MF(`Invalid token specified: invalid base64 for part #${n+1} (${e.message})`)}try{return JSON.parse(i)}catch(e){throw new MF(`Invalid token specified: invalid json for part #${n+1} (${e.message})`)}}var IF={debug:()=>void 0,info:()=>void 0,warn:()=>void 0,error:()=>void 0},LF,RF,zF=(e=>(e[e.NONE=0]=`NONE`,e[e.ERROR=1]=`ERROR`,e[e.WARN=2]=`WARN`,e[e.INFO=3]=`INFO`,e[e.DEBUG=4]=`DEBUG`,e))(zF||{});(e=>{function t(){LF=3,RF=IF}e.reset=t;function n(e){if(!(0<=e&&e<=4))throw Error(`Invalid log level`);LF=e}e.setLevel=n;function r(e){RF=e}e.setLogger=r})(zF||={});var BF=class e{constructor(e){this._name=e}debug(...t){LF>=4&&RF.debug(e._format(this._name,this._method),...t)}info(...t){LF>=3&&RF.info(e._format(this._name,this._method),...t)}warn(...t){LF>=2&&RF.warn(e._format(this._name,this._method),...t)}error(...t){LF>=1&&RF.error(e._format(this._name,this._method),...t)}throw(e){throw this.error(e),e}create(e){let t=Object.create(this);return t._method=e,t.debug(`begin`),t}static createStatic(t,n){let r=new e(`${t}.${n}`);return r.debug(`begin`),r}static _format(e,t){let n=`[${e}]`;return t?`${n} ${t}:`:n}static debug(t,...n){LF>=4&&RF.debug(e._format(t),...n)}static info(t,...n){LF>=3&&RF.info(e._format(t),...n)}static warn(t,...n){LF>=2&&RF.warn(e._format(t),...n)}static error(t,...n){LF>=1&&RF.error(e._format(t),...n)}};zF.reset();var VF=class{static decode(e){try{return FF(e)}catch(e){throw BF.error(`JwtUtils.decode`,e),e}}static async generateSignedJwt(e,t,n){let r=`${GF.encodeBase64Url(new TextEncoder().encode(JSON.stringify(e)))}.${GF.encodeBase64Url(new TextEncoder().encode(JSON.stringify(t)))}`,i=await window.crypto.subtle.sign({name:`ECDSA`,hash:{name:`SHA-256`}},n,new TextEncoder().encode(r));return`${r}.${GF.encodeBase64Url(new Uint8Array(i))}`}static async generateSignedJwtWithHmac(e,t,n){let r=`${GF.encodeBase64Url(new TextEncoder().encode(JSON.stringify(e)))}.${GF.encodeBase64Url(new TextEncoder().encode(JSON.stringify(t)))}`,i=await window.crypto.subtle.sign(`HMAC`,n,new TextEncoder().encode(r));return`${r}.${GF.encodeBase64Url(new Uint8Array(i))}`}},HF=`10000000-1000-4000-8000-100000000000`,UF=e=>btoa([...new Uint8Array(e)].map(e=>String.fromCharCode(e)).join(``)),WF=class e{static _randomWord(){let e=new Uint32Array(1);return crypto.getRandomValues(e),e[0]}static generateUUIDv4(){return HF.replace(/[018]/g,t=>(t^e._randomWord()&15>>t/4).toString(16)).replace(/-/g,``)}static generateCodeVerifier(){return e.generateUUIDv4()+e.generateUUIDv4()+e.generateUUIDv4()}static async generateCodeChallenge(e){if(!crypto.subtle)throw Error(`Crypto.subtle is available only in secure contexts (HTTPS).`);try{let t=new TextEncoder().encode(e);return UF(await crypto.subtle.digest(`SHA-256`,t)).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}catch(e){throw BF.error(`CryptoUtils.generateCodeChallenge`,e),e}}static generateBasicAuth(e,t){return UF(new TextEncoder().encode([e,t].join(`:`)))}static async hash(e,t){let n=new TextEncoder().encode(t),r=await crypto.subtle.digest(e,n);return new Uint8Array(r)}static async customCalculateJwkThumbprint(t){let n;switch(t.kty){case`RSA`:n={e:t.e,kty:t.kty,n:t.n};break;case`EC`:n={crv:t.crv,kty:t.kty,x:t.x,y:t.y};break;case`OKP`:n={crv:t.crv,kty:t.kty,x:t.x};break;case`oct`:n={crv:t.k,kty:t.kty};break;default:throw Error(`Unknown jwk type`)}let r=await e.hash(`SHA-256`,JSON.stringify(n));return e.encodeBase64Url(r)}static async generateDPoPProof({url:t,accessToken:n,httpMethod:r,keyPair:i,nonce:a}){let o,s,c={jti:window.crypto.randomUUID(),htm:r??`GET`,htu:t,iat:Math.floor(Date.now()/1e3)};n&&(o=await e.hash(`SHA-256`,n),s=e.encodeBase64Url(o),c.ath=s),a&&(c.nonce=a);try{let e=await crypto.subtle.exportKey(`jwk`,i.publicKey),t={alg:`ES256`,typ:`dpop+jwt`,jwk:{crv:e.crv,kty:e.kty,x:e.x,y:e.y}};return await VF.generateSignedJwt(t,c,i.privateKey)}catch(e){throw e instanceof TypeError?Error(`Error exporting dpop public key: ${e.message}`):e}}static async generateDPoPJkt(t){try{let n=await crypto.subtle.exportKey(`jwk`,t.publicKey);return await e.customCalculateJwkThumbprint(n)}catch(e){throw e instanceof TypeError?Error(`Could not retrieve dpop keys from storage: ${e.message}`):e}}static async generateDPoPKeys(){return await window.crypto.subtle.generateKey({name:`ECDSA`,namedCurve:`P-256`},!1,[`sign`,`verify`])}static async generateClientAssertionJwt(t,n,r,i=`HS256`){let a=Math.floor(Date.now()/1e3),o={alg:i,typ:`JWT`},s={iss:t,sub:t,aud:r,jti:e.generateUUIDv4(),exp:a+300,iat:a},c={HS256:`SHA-256`,HS384:`SHA-384`,HS512:`SHA-512`}[i];if(!c)throw Error(`Unsupported algorithm: ${i}. Supported algorithms are: HS256, HS384, HS512`);let l=new TextEncoder,u=await crypto.subtle.importKey(`raw`,l.encode(n),{name:`HMAC`,hash:c},!1,[`sign`]);return await VF.generateSignedJwtWithHmac(o,s,u)}};WF.encodeBase64Url=e=>UF(e).replace(/=/g,``).replace(/\+/g,`-`).replace(/\//g,`_`);var GF=WF,KF=class{constructor(e){this._name=e,this._callbacks=[],this._logger=new BF(`Event('${this._name}')`)}addHandler(e){return this._callbacks.push(e),()=>this.removeHandler(e)}removeHandler(e){let t=this._callbacks.lastIndexOf(e);t>=0&&this._callbacks.splice(t,1)}async raise(...e){this._logger.debug(`raise:`,...e);for(let t of this._callbacks)await t(...e)}},qF=class e extends KF{constructor(){super(...arguments),this._logger=new BF(`Timer('${this._name}')`),this._timerHandle=null,this._expiration=0,this._callback=()=>{let t=this._expiration-e.getEpochTime();this._logger.debug(`timer completes in`,t),this._expiration<=e.getEpochTime()&&(this.cancel(),super.raise())}}static getEpochTime(){return Math.floor(Date.now()/1e3)}init(t){let n=this._logger.create(`init`);t=Math.max(Math.floor(t),1);let r=e.getEpochTime()+t;if(this.expiration===r&&this._timerHandle){n.debug(`skipping since already initialized for expiration at`,this.expiration);return}this.cancel(),n.debug(`using duration`,t),this._expiration=r;let i=Math.min(t,5);this._timerHandle=setInterval(this._callback,i*1e3)}get expiration(){return this._expiration}cancel(){this._logger.create(`cancel`),this._timerHandle&&=(clearInterval(this._timerHandle),null)}},JF=class{static readParams(e,t=`query`){if(!e)throw TypeError(`Invalid URL`);let n=new URL(e,`http://127.0.0.1`)[t===`fragment`?`hash`:`search`];return new URLSearchParams(n.slice(1))}},YF=`;`,XF=class extends Error{constructor(e,t){if(super(e.error_description||e.error||``),this.form=t,this.name=`ErrorResponse`,!e.error)throw BF.error(`ErrorResponse`,`No error passed`),Error(`No error passed`);this.error=e.error,this.error_description=e.error_description??null,this.error_uri=e.error_uri??null,this.state=e.userState,this.session_state=e.session_state??null,this.url_state=e.url_state}},ZF=class extends Error{constructor(e){super(e),this.name=`ErrorTimeout`}},QF=class{constructor(){this._logger=new BF(`InMemoryWebStorage`),this._data={}}clear(){this._logger.create(`clear`),this._data={}}getItem(e){return this._logger.create(`getItem('${e}')`),this._data[e]}setItem(e,t){this._logger.create(`setItem('${e}')`),this._data[e]=t}removeItem(e){this._logger.create(`removeItem('${e}')`),delete this._data[e]}get length(){return Object.getOwnPropertyNames(this._data).length}key(e){return Object.getOwnPropertyNames(this._data)[e]}},$F=class extends Error{constructor(e,t){super(t),this.name=`ErrorDPoPNonce`,this.nonce=e}},eI=class{constructor(e=[],t=null,n={}){this._jwtHandler=t,this._extraHeaders=n,this._logger=new BF(`JsonService`),this._contentTypes=[],this._contentTypes.push(...e,`application/json`),t&&this._contentTypes.push(`application/jwt`)}async fetchWithTimeout(e,t={}){let{timeoutInSeconds:n,...r}=t;if(!n)return await fetch(e,r);let i=new AbortController,a=setTimeout(()=>i.abort(),n*1e3);try{return await fetch(e,{...t,signal:i.signal})}catch(e){throw e instanceof DOMException&&e.name===`AbortError`?new ZF(`Network timed out`):e}finally{clearTimeout(a)}}async getJson(e,{token:t,credentials:n,timeoutInSeconds:r}={}){let i=this._logger.create(`getJson`),a={Accept:this._contentTypes.join(`, `)};t&&(i.debug(`token passed, setting Authorization header`),a.Authorization=`Bearer `+t),this._appendExtraHeaders(a);let o;try{i.debug(`url:`,e),o=await this.fetchWithTimeout(e,{method:`GET`,headers:a,timeoutInSeconds:r,credentials:n})}catch(e){throw i.error(`Network Error`),e}i.debug(`HTTP response received, status`,o.status);let s=o.headers.get(`Content-Type`);if(s&&!this._contentTypes.find(e=>s.startsWith(e))&&i.throw(Error(`Invalid response Content-Type: ${s??`undefined`}, from URL: ${e}`)),o.ok&&this._jwtHandler&&s?.startsWith(`application/jwt`))return await this._jwtHandler(await o.text());let c;try{c=await o.json()}catch(e){throw i.error(`Error parsing JSON response`,e),o.ok?e:Error(`${o.statusText} (${o.status})`)}if(!o.ok)throw i.error(`Error from server:`,c),c.error?new XF(c):Error(`${o.statusText} (${o.status}): ${JSON.stringify(c)}`);return c}async postForm(e,{body:t,basicAuth:n,timeoutInSeconds:r,initCredentials:i,extraHeaders:a}){let o=this._logger.create(`postForm`),s={Accept:this._contentTypes.join(`, `),"Content-Type":`application/x-www-form-urlencoded`,...a};n!==void 0&&(s.Authorization=`Basic `+n),this._appendExtraHeaders(s);let c;try{o.debug(`url:`,e),c=await this.fetchWithTimeout(e,{method:`POST`,headers:s,body:t,timeoutInSeconds:r,credentials:i})}catch(e){throw o.error(`Network error`),e}o.debug(`HTTP response received, status`,c.status);let l=c.headers.get(`Content-Type`);if(l&&!this._contentTypes.find(e=>l.startsWith(e)))throw Error(`Invalid response Content-Type: ${l??`undefined`}, from URL: ${e}`);let u=await c.text(),d={};if(u)try{d=JSON.parse(u)}catch(e){throw o.error(`Error parsing JSON response`,e),c.ok?e:Error(`${c.statusText} (${c.status})`)}if(!c.ok)throw o.error(`Error from server:`,d),c.headers.has(`dpop-nonce`)?new $F(c.headers.get(`dpop-nonce`),`${JSON.stringify(d)}`):d.error?new XF(d,t):Error(`${c.statusText} (${c.status}): ${JSON.stringify(d)}`);return d}_appendExtraHeaders(e){let t=this._logger.create(`appendExtraHeaders`),n=Object.keys(this._extraHeaders),r=[`accept`,`content-type`],i=[`authorization`];n.length!==0&&n.forEach(n=>{if(r.includes(n.toLocaleLowerCase())){t.warn(`Protected header could not be set`,n,r);return}if(i.includes(n.toLocaleLowerCase())&&Object.keys(e).includes(n)){t.warn(`Header could not be overridden`,n,i);return}let a=typeof this._extraHeaders[n]==`function`?this._extraHeaders[n]():this._extraHeaders[n];a&&a!==``&&(e[n]=a)})}},tI=class{constructor(e){this._settings=e,this._logger=new BF(`MetadataService`),this._signingKeys=null,this._metadata=null,this._metadataUrl=this._settings.metadataUrl,this._jsonService=new eI([`application/jwk-set+json`],null,this._settings.extraHeaders),this._settings.signingKeys&&(this._logger.debug(`using signingKeys from settings`),this._signingKeys=this._settings.signingKeys),this._settings.metadata&&(this._logger.debug(`using metadata from settings`),this._metadata=this._settings.metadata),this._settings.fetchRequestCredentials&&(this._logger.debug(`using fetchRequestCredentials from settings`),this._fetchRequestCredentials=this._settings.fetchRequestCredentials)}resetSigningKeys(){this._signingKeys=null}async getMetadata(){let e=this._logger.create(`getMetadata`);if(this._metadata)return e.debug(`using cached values`),this._metadata;if(!this._metadataUrl)throw e.throw(Error(`No authority or metadataUrl configured on settings`)),null;e.debug(`getting metadata from`,this._metadataUrl);let t=await this._jsonService.getJson(this._metadataUrl,{credentials:this._fetchRequestCredentials,timeoutInSeconds:this._settings.requestTimeoutInSeconds});return e.debug(`merging remote JSON with seed metadata`),this._metadata=Object.assign({},t,this._settings.metadataSeed),this._metadata}getIssuer(){return this._getMetadataProperty(`issuer`)}getAuthorizationEndpoint(){return this._getMetadataProperty(`authorization_endpoint`)}getUserInfoEndpoint(){return this._getMetadataProperty(`userinfo_endpoint`)}getTokenEndpoint(e=!0){return this._getMetadataProperty(`token_endpoint`,e)}getCheckSessionIframe(){return this._getMetadataProperty(`check_session_iframe`,!0)}getEndSessionEndpoint(){return this._getMetadataProperty(`end_session_endpoint`,!0)}getRevocationEndpoint(e=!0){return this._getMetadataProperty(`revocation_endpoint`,e)}getKeysEndpoint(e=!0){return this._getMetadataProperty(`jwks_uri`,e)}async _getMetadataProperty(e,t=!1){let n=this._logger.create(`_getMetadataProperty('${e}')`),r=await this.getMetadata();if(n.debug(`resolved`),r[e]===void 0){if(t===!0){n.warn(`Metadata does not contain optional property`);return}n.throw(Error(`Metadata does not contain property `+e))}return r[e]}async getSigningKeys(){let e=this._logger.create(`getSigningKeys`);if(this._signingKeys)return e.debug(`returning signingKeys from cache`),this._signingKeys;let t=await this.getKeysEndpoint(!1);e.debug(`got jwks_uri`,t);let n=await this._jsonService.getJson(t,{timeoutInSeconds:this._settings.requestTimeoutInSeconds});if(e.debug(`got key set`,n),!Array.isArray(n.keys))throw e.throw(Error(`Missing keys on keyset`)),null;return this._signingKeys=n.keys,this._signingKeys}},nI=class{constructor({prefix:e=`oidc.`,store:t=localStorage}={}){this._logger=new BF(`WebStorageStateStore`),this._store=t,this._prefix=e}async set(e,t){this._logger.create(`set('${e}')`),e=this._prefix+e,await this._store.setItem(e,t)}async get(e){return this._logger.create(`get('${e}')`),e=this._prefix+e,await this._store.getItem(e)}async remove(e){this._logger.create(`remove('${e}')`),e=this._prefix+e;let t=await this._store.getItem(e);return await this._store.removeItem(e),t}async getAllKeys(){this._logger.create(`getAllKeys`);let e=await this._store.length,t=[];for(let n=0;n<e;n++){let e=await this._store.key(n);e&&e.indexOf(this._prefix)===0&&t.push(e.substr(this._prefix.length))}return t}},rI=`code`,iI=`openid`,aI=`client_secret_post`,oI=900,sI=class{constructor({authority:e,metadataUrl:t,metadata:n,signingKeys:r,metadataSeed:i,client_id:a,client_secret:o,response_type:s=rI,scope:c=iI,redirect_uri:l,post_logout_redirect_uri:u,client_authentication:d=aI,token_endpoint_auth_signing_alg:f=`HS256`,prompt:p,display:m,max_age:h,ui_locales:g,acr_values:_,resource:v,response_mode:y,filterProtocolClaims:b=!0,loadUserInfo:x=!1,requestTimeoutInSeconds:S,staleStateAgeInSeconds:ee=oI,mergeClaimsStrategy:te={array:`replace`},disablePKCE:ne=!1,stateStore:re,revokeTokenAdditionalContentTypes:ie,fetchRequestCredentials:ae,refreshTokenAllowedScope:oe,extraQueryParams:se={},extraTokenParams:ce={},extraHeaders:le={},dpop:ue,omitScopeWhenRequesting:de=!1}){if(this.authority=e,t?this.metadataUrl=t:(this.metadataUrl=e,e&&(this.metadataUrl.endsWith(`/`)||(this.metadataUrl+=`/`),this.metadataUrl+=`.well-known/openid-configuration`)),this.metadata=n,this.metadataSeed=i,this.signingKeys=r,this.client_id=a,this.client_secret=o,this.response_type=s,this.scope=c,this.redirect_uri=l,this.post_logout_redirect_uri=u,this.client_authentication=d,this.token_endpoint_auth_signing_alg=f,this.prompt=p,this.display=m,this.max_age=h,this.ui_locales=g,this.acr_values=_,this.resource=v,this.response_mode=y,this.filterProtocolClaims=b??!0,this.loadUserInfo=!!x,this.staleStateAgeInSeconds=ee,this.mergeClaimsStrategy=te,this.omitScopeWhenRequesting=de,this.disablePKCE=!!ne,this.revokeTokenAdditionalContentTypes=ie,this.fetchRequestCredentials=ae||`same-origin`,this.requestTimeoutInSeconds=S,re?this.stateStore=re:this.stateStore=new nI({store:typeof window<`u`?window.localStorage:new QF}),this.refreshTokenAllowedScope=oe,this.extraQueryParams=se,this.extraTokenParams=ce,this.extraHeaders=le,this.dpop=ue,this.dpop&&!this.dpop?.store)throw Error(`A DPoPStore is required when dpop is enabled`)}},cI=class{constructor(e,t){this._settings=e,this._metadataService=t,this._logger=new BF(`UserInfoService`),this._getClaimsFromJwt=async e=>{let t=this._logger.create(`_getClaimsFromJwt`);try{let n=VF.decode(e);return t.debug(`JWT decoding successful`),n}catch(e){throw t.error(`Error parsing JWT response`),e}},this._jsonService=new eI(void 0,this._getClaimsFromJwt,this._settings.extraHeaders)}async getClaims(e){let t=this._logger.create(`getClaims`);e||this._logger.throw(Error(`No token passed`));let n=await this._metadataService.getUserInfoEndpoint();t.debug(`got userinfo url`,n);let r=await this._jsonService.getJson(n,{token:e,credentials:this._settings.fetchRequestCredentials,timeoutInSeconds:this._settings.requestTimeoutInSeconds});return t.debug(`got claims`,r),r}},lI=class{constructor(e,t){this._settings=e,this._metadataService=t,this._logger=new BF(`TokenClient`),this._jsonService=new eI(this._settings.revokeTokenAdditionalContentTypes,null,this._settings.extraHeaders)}async exchangeCode({grant_type:e=`authorization_code`,redirect_uri:t=this._settings.redirect_uri,client_id:n=this._settings.client_id,client_secret:r=this._settings.client_secret,extraHeaders:i,...a}){let o=this._logger.create(`exchangeCode`);n||o.throw(Error(`A client_id is required`)),t||o.throw(Error(`A redirect_uri is required`)),a.code||o.throw(Error(`A code is required`));let s=new URLSearchParams({grant_type:e,redirect_uri:t});for(let[e,t]of Object.entries(a))t!=null&&s.set(e,t);if((this._settings.client_authentication===`client_secret_basic`||this._settings.client_authentication===`client_secret_jwt`)&&r==null)throw o.throw(Error(`A client_secret is required`)),null;let c,l=await this._metadataService.getTokenEndpoint(!1);switch(this._settings.client_authentication){case`client_secret_basic`:c=GF.generateBasicAuth(n,r);break;case`client_secret_post`:s.append(`client_id`,n),r&&s.append(`client_secret`,r);break;case`client_secret_jwt`:{let e=await GF.generateClientAssertionJwt(n,r,l,this._settings.token_endpoint_auth_signing_alg);s.append(`client_id`,n),s.append(`client_assertion_type`,`urn:ietf:params:oauth:client-assertion-type:jwt-bearer`),s.append(`client_assertion`,e);break}}o.debug(`got token endpoint`);let u=await this._jsonService.postForm(l,{body:s,basicAuth:c,timeoutInSeconds:this._settings.requestTimeoutInSeconds,initCredentials:this._settings.fetchRequestCredentials,extraHeaders:i});return o.debug(`got response`),u}async exchangeCredentials({grant_type:e=`password`,client_id:t=this._settings.client_id,client_secret:n=this._settings.client_secret,scope:r=this._settings.scope,...i}){let a=this._logger.create(`exchangeCredentials`);t||a.throw(Error(`A client_id is required`));let o=new URLSearchParams({grant_type:e});this._settings.omitScopeWhenRequesting||o.set(`scope`,r);for(let[e,t]of Object.entries(i))t!=null&&o.set(e,t);if((this._settings.client_authentication===`client_secret_basic`||this._settings.client_authentication===`client_secret_jwt`)&&n==null)throw a.throw(Error(`A client_secret is required`)),null;let s,c=await this._metadataService.getTokenEndpoint(!1);switch(this._settings.client_authentication){case`client_secret_basic`:s=GF.generateBasicAuth(t,n);break;case`client_secret_post`:o.append(`client_id`,t),n&&o.append(`client_secret`,n);break;case`client_secret_jwt`:{let e=await GF.generateClientAssertionJwt(t,n,c,this._settings.token_endpoint_auth_signing_alg);o.append(`client_id`,t),o.append(`client_assertion_type`,`urn:ietf:params:oauth:client-assertion-type:jwt-bearer`),o.append(`client_assertion`,e);break}}a.debug(`got token endpoint`);let l=await this._jsonService.postForm(c,{body:o,basicAuth:s,timeoutInSeconds:this._settings.requestTimeoutInSeconds,initCredentials:this._settings.fetchRequestCredentials});return a.debug(`got response`),l}async exchangeRefreshToken({grant_type:e=`refresh_token`,client_id:t=this._settings.client_id,client_secret:n=this._settings.client_secret,timeoutInSeconds:r,extraHeaders:i,...a}){let o=this._logger.create(`exchangeRefreshToken`);t||o.throw(Error(`A client_id is required`)),a.refresh_token||o.throw(Error(`A refresh_token is required`));let s=new URLSearchParams({grant_type:e});for(let[e,t]of Object.entries(a))Array.isArray(t)?t.forEach(t=>s.append(e,t)):t!=null&&s.set(e,t);if((this._settings.client_authentication===`client_secret_basic`||this._settings.client_authentication===`client_secret_jwt`)&&n==null)throw o.throw(Error(`A client_secret is required`)),null;let c,l=await this._metadataService.getTokenEndpoint(!1);switch(this._settings.client_authentication){case`client_secret_basic`:c=GF.generateBasicAuth(t,n);break;case`client_secret_post`:s.append(`client_id`,t),n&&s.append(`client_secret`,n);break;case`client_secret_jwt`:{let e=await GF.generateClientAssertionJwt(t,n,l,this._settings.token_endpoint_auth_signing_alg);s.append(`client_id`,t),s.append(`client_assertion_type`,`urn:ietf:params:oauth:client-assertion-type:jwt-bearer`),s.append(`client_assertion`,e);break}}o.debug(`got token endpoint`);let u=await this._jsonService.postForm(l,{body:s,basicAuth:c,timeoutInSeconds:r,initCredentials:this._settings.fetchRequestCredentials,extraHeaders:i});return o.debug(`got response`),u}async revoke(e){let t=this._logger.create(`revoke`);e.token||t.throw(Error(`A token is required`));let n=await this._metadataService.getRevocationEndpoint(!1);t.debug(`got revocation endpoint, revoking ${e.token_type_hint??`default token type`}`);let r=new URLSearchParams;for(let[t,n]of Object.entries(e))n!=null&&r.set(t,n);r.set(`client_id`,this._settings.client_id),this._settings.client_secret&&r.set(`client_secret`,this._settings.client_secret),await this._jsonService.postForm(n,{body:r,timeoutInSeconds:this._settings.requestTimeoutInSeconds}),t.debug(`got response`)}},uI=class{constructor(e,t,n){this._settings=e,this._metadataService=t,this._claimsService=n,this._logger=new BF(`ResponseValidator`),this._userInfoService=new cI(this._settings,this._metadataService),this._tokenClient=new lI(this._settings,this._metadataService)}async validateSigninResponse(e,t,n){let r=this._logger.create(`validateSigninResponse`);this._processSigninState(e,t),r.debug(`state processed`),await this._processCode(e,t,n),r.debug(`code processed`),e.isOpenId&&this._validateIdTokenAttributes(e,``,t.nonce),r.debug(`tokens validated`),await this._processClaims(e,t?.skipUserInfo,e.isOpenId),r.debug(`claims processed`)}async validateCredentialsResponse(e,t){let n=this._logger.create(`validateCredentialsResponse`),r=e.isOpenId&&!!e.id_token;r&&this._validateIdTokenAttributes(e),n.debug(`tokens validated`),await this._processClaims(e,t,r),n.debug(`claims processed`)}async validateRefreshResponse(e,t){let n=this._logger.create(`validateRefreshResponse`);e.userState=t.data,e.session_state??=t.session_state,e.scope??=t.scope,e.isOpenId&&e.id_token&&(this._validateIdTokenAttributes(e,t.id_token),n.debug(`ID Token validated`)),e.id_token||(e.id_token=t.id_token,e.profile=t.profile);let r=e.isOpenId&&!!e.id_token;await this._processClaims(e,!1,r),n.debug(`claims processed`)}validateSignoutResponse(e,t){let n=this._logger.create(`validateSignoutResponse`);if(t.id!==e.state&&n.throw(Error(`State does not match`)),n.debug(`state validated`),e.userState=t.data,e.error)throw n.warn(`Response was error`,e.error),new XF(e)}_processSigninState(e,t){let n=this._logger.create(`_processSigninState`);if(t.id!==e.state&&n.throw(Error(`State does not match`)),t.client_id||n.throw(Error(`No client_id on state`)),t.authority||n.throw(Error(`No authority on state`)),this._settings.authority!==t.authority&&n.throw(Error(`authority mismatch on settings vs. signin state`)),this._settings.client_id&&this._settings.client_id!==t.client_id&&n.throw(Error(`client_id mismatch on settings vs. signin state`)),n.debug(`state validated`),e.userState=t.data,e.url_state=t.url_state,e.scope??=t.scope,e.error)throw n.warn(`Response was error`,e.error),new XF(e);t.code_verifier&&!e.code&&n.throw(Error(`Expected code in response`))}async _processClaims(e,t=!1,n=!0){let r=this._logger.create(`_processClaims`);if(e.profile=this._claimsService.filterProtocolClaims(e.profile),t||!this._settings.loadUserInfo||!e.access_token){r.debug(`not loading user info`);return}r.debug(`loading user info`);let i=await this._userInfoService.getClaims(e.access_token);r.debug(`user info claims received from user info endpoint`),n&&i.sub!==e.profile.sub&&r.throw(Error(`subject from UserInfo response does not match subject in ID Token`)),e.profile=this._claimsService.mergeClaims(e.profile,this._claimsService.filterProtocolClaims(i)),r.debug(`user info claims received, updated profile:`,e.profile)}async _processCode(e,t,n){let r=this._logger.create(`_processCode`);if(e.code){r.debug(`Validating code`);let i=await this._tokenClient.exchangeCode({client_id:t.client_id,client_secret:t.client_secret,code:e.code,redirect_uri:t.redirect_uri,code_verifier:t.code_verifier,extraHeaders:n,...t.extraTokenParams});Object.assign(e,i)}else r.debug(`No code to process`)}_validateIdTokenAttributes(e,t,n){let r=this._logger.create(`_validateIdTokenAttributes`);r.debug(`decoding ID Token JWT`);let i=VF.decode(e.id_token??``);if(i.sub||r.throw(Error(`ID Token is missing a subject claim`)),n&&i.nonce!==n&&r.throw(Error(`nonce in id_token does not match nonce in client storage`)),t){let e=VF.decode(t);i.sub!==e.sub&&r.throw(Error(`sub in id_token does not match current sub`)),i.auth_time&&i.auth_time!==e.auth_time&&r.throw(Error(`auth_time in id_token does not match original auth_time`)),i.azp&&i.azp!==e.azp&&r.throw(Error(`azp in id_token does not match original azp`)),!i.azp&&e.azp&&r.throw(Error(`azp not in id_token, but present in original id_token`))}e.profile=i}},dI=class e{constructor(e){this.id=e.id||GF.generateUUIDv4(),this.data=e.data,e.created&&e.created>0?this.created=e.created:this.created=qF.getEpochTime(),this.request_type=e.request_type,this.url_state=e.url_state}toStorageString(){return new BF(`State`).create(`toStorageString`),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type,url_state:this.url_state})}static fromStorageString(t){return BF.createStatic(`State`,`fromStorageString`),Promise.resolve(new e(JSON.parse(t)))}static async clearStaleState(t,n){let r=BF.createStatic(`State`,`clearStaleState`),i=qF.getEpochTime()-n,a=await t.getAllKeys();r.debug(`got keys`,a);for(let n=0;n<a.length;n++){let o=a[n],s=await t.get(o),c=!1;if(s)try{let t=await e.fromStorageString(s);r.debug(`got item from key:`,o,t.created),t.created<=i&&(c=!0)}catch(e){r.error(`Error parsing state for key:`,o,e),c=!0}else r.debug(`no item in storage for key:`,o),c=!0;c&&(r.debug(`removed item for key:`,o),t.remove(o))}}},fI=class e extends dI{constructor(e){super(e),this.code_verifier=e.code_verifier,this.code_challenge=e.code_challenge,this.authority=e.authority,this.client_id=e.client_id,this.redirect_uri=e.redirect_uri,this.scope=e.scope,this.client_secret=e.client_secret,this.extraTokenParams=e.extraTokenParams,this.response_mode=e.response_mode,this.skipUserInfo=e.skipUserInfo,this.nonce=e.nonce}static async create(t){let n=t.code_verifier===!0?GF.generateCodeVerifier():t.code_verifier||void 0,r=n?await GF.generateCodeChallenge(n):void 0;return new e({...t,code_verifier:n,code_challenge:r})}toStorageString(){return new BF(`SigninState`).create(`toStorageString`),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type,url_state:this.url_state,code_verifier:this.code_verifier,authority:this.authority,client_id:this.client_id,redirect_uri:this.redirect_uri,scope:this.scope,client_secret:this.client_secret,extraTokenParams:this.extraTokenParams,response_mode:this.response_mode,skipUserInfo:this.skipUserInfo,nonce:this.nonce})}static fromStorageString(t){BF.createStatic(`SigninState`,`fromStorageString`);let n=JSON.parse(t);return e.create(n)}},pI=class e{constructor(e){this.url=e.url,this.state=e.state}static async create({url:t,authority:n,client_id:r,redirect_uri:i,response_type:a,scope:o,state_data:s,response_mode:c,request_type:l,client_secret:u,nonce:d,url_state:f,resource:p,skipUserInfo:m,extraQueryParams:h,extraTokenParams:g,disablePKCE:_,dpopJkt:v,omitScopeWhenRequesting:y,...b}){if(!t)throw this._logger.error(`create: No url passed`),Error(`url`);if(!r)throw this._logger.error(`create: No client_id passed`),Error(`client_id`);if(!i)throw this._logger.error(`create: No redirect_uri passed`),Error(`redirect_uri`);if(!a)throw this._logger.error(`create: No response_type passed`),Error(`response_type`);if(!o)throw this._logger.error(`create: No scope passed`),Error(`scope`);if(!n)throw this._logger.error(`create: No authority passed`),Error(`authority`);let x=await fI.create({data:s,request_type:l,url_state:f,code_verifier:!_,client_id:r,authority:n,redirect_uri:i,response_mode:c,client_secret:u,scope:o,extraTokenParams:g,skipUserInfo:m,nonce:d}),S=new URL(t);S.searchParams.append(`client_id`,r),S.searchParams.append(`redirect_uri`,i),S.searchParams.append(`response_type`,a),y||S.searchParams.append(`scope`,o),d&&S.searchParams.append(`nonce`,d),v&&S.searchParams.append(`dpop_jkt`,v);let ee=x.id;f&&(ee=`${ee}${YF}${f}`),S.searchParams.append(`state`,ee),x.code_challenge&&(S.searchParams.append(`code_challenge`,x.code_challenge),S.searchParams.append(`code_challenge_method`,`S256`)),p&&(Array.isArray(p)?p:[p]).forEach(e=>S.searchParams.append(`resource`,e));for(let[e,t]of Object.entries({response_mode:c,...b,...h}))t!=null&&S.searchParams.append(e,t.toString());return new e({url:S.href,state:x})}};pI._logger=new BF(`SigninRequest`);var mI=pI,hI=`openid`,gI=class{constructor(e){if(this.access_token=``,this.token_type=``,this.profile={},this.state=e.get(`state`),this.session_state=e.get(`session_state`),this.state){let e=decodeURIComponent(this.state).split(YF);this.state=e[0],e.length>1&&(this.url_state=e.slice(1).join(YF))}this.error=e.get(`error`),this.error_description=e.get(`error_description`),this.error_uri=e.get(`error_uri`),this.code=e.get(`code`)}get expires_in(){if(this.expires_at!==void 0)return this.expires_at-qF.getEpochTime()}set expires_in(e){typeof e==`string`&&(e=Number(e)),e!==void 0&&e>=0&&(this.expires_at=Math.floor(e)+qF.getEpochTime())}get isOpenId(){return this.scope?.split(` `).includes(hI)||!!this.id_token}},_I=class{constructor({url:e,state_data:t,id_token_hint:n,post_logout_redirect_uri:r,extraQueryParams:i,request_type:a,client_id:o,url_state:s}){if(this._logger=new BF(`SignoutRequest`),!e)throw this._logger.error(`ctor: No url passed`),Error(`url`);let c=new URL(e);if(n&&c.searchParams.append(`id_token_hint`,n),o&&c.searchParams.append(`client_id`,o),r&&(c.searchParams.append(`post_logout_redirect_uri`,r),t||s)){this.state=new dI({data:t,request_type:a,url_state:s});let e=this.state.id;s&&(e=`${e}${YF}${s}`),c.searchParams.append(`state`,e)}for(let[e,t]of Object.entries({...i}))t!=null&&c.searchParams.append(e,t.toString());this.url=c.href}},vI=class{constructor(e){if(this.state=e.get(`state`),this.state){let e=decodeURIComponent(this.state).split(YF);this.state=e[0],e.length>1&&(this.url_state=e.slice(1).join(YF))}this.error=e.get(`error`),this.error_description=e.get(`error_description`),this.error_uri=e.get(`error_uri`)}},yI=[`nbf`,`jti`,`auth_time`,`nonce`,`acr`,`amr`,`azp`,`at_hash`],bI=[`sub`,`iss`,`aud`,`exp`,`iat`],xI=class{constructor(e){this._settings=e,this._logger=new BF(`ClaimsService`)}filterProtocolClaims(e){let t={...e};if(this._settings.filterProtocolClaims){let e;e=Array.isArray(this._settings.filterProtocolClaims)?this._settings.filterProtocolClaims:yI;for(let n of e)bI.includes(n)||delete t[n]}return t}mergeClaims(e,t){let n={...e};for(let[e,r]of Object.entries(t))if(n[e]!==r)if(Array.isArray(n[e])||Array.isArray(r))if(this._settings.mergeClaimsStrategy.array==`replace`)n[e]=r;else{let t=Array.isArray(n[e])?n[e]:[n[e]];for(let e of Array.isArray(r)?r:[r])t.includes(e)||t.push(e);n[e]=t}else typeof n[e]==`object`&&typeof r==`object`?n[e]=this.mergeClaims(n[e],r):n[e]=r;return n}},SI=class{constructor(e,t){this.keys=e,this.nonce=t}},CI=class{constructor(e,t){this._logger=new BF(`OidcClient`),this.settings=e instanceof sI?e:new sI(e),this.metadataService=t??new tI(this.settings),this._claimsService=new xI(this.settings),this._validator=new uI(this.settings,this.metadataService,this._claimsService),this._tokenClient=new lI(this.settings,this.metadataService)}async createSigninRequest({state:e,request:t,request_uri:n,request_type:r,id_token_hint:i,login_hint:a,skipUserInfo:o,nonce:s,url_state:c,response_type:l=this.settings.response_type,scope:u=this.settings.scope,redirect_uri:d=this.settings.redirect_uri,prompt:f=this.settings.prompt,display:p=this.settings.display,max_age:m=this.settings.max_age,ui_locales:h=this.settings.ui_locales,acr_values:g=this.settings.acr_values,resource:_=this.settings.resource,response_mode:v=this.settings.response_mode,extraQueryParams:y=this.settings.extraQueryParams,extraTokenParams:b=this.settings.extraTokenParams,dpopJkt:x,omitScopeWhenRequesting:S=this.settings.omitScopeWhenRequesting}){let ee=this._logger.create(`createSigninRequest`);if(l!==`code`)throw Error(`Only the Authorization Code flow (with PKCE) is supported`);let te=await this.metadataService.getAuthorizationEndpoint();ee.debug(`Received authorization endpoint`,te);let ne=await mI.create({url:te,authority:this.settings.authority,client_id:this.settings.client_id,redirect_uri:d,response_type:l,scope:u,state_data:e,url_state:c,prompt:f,display:p,max_age:m,ui_locales:h,id_token_hint:i,login_hint:a,acr_values:g,dpopJkt:x,resource:_,request:t,request_uri:n,extraQueryParams:y,extraTokenParams:b,request_type:r,response_mode:v,client_secret:this.settings.client_secret,skipUserInfo:o,nonce:s,disablePKCE:this.settings.disablePKCE,omitScopeWhenRequesting:S});await this.clearStaleState();let re=ne.state;return await this.settings.stateStore.set(re.id,re.toStorageString()),ne}async readSigninResponseState(e,t=!1){let n=this._logger.create(`readSigninResponseState`),r=new gI(JF.readParams(e,this.settings.response_mode));if(!r.state)throw n.throw(Error(`No state in response`)),null;let i=await this.settings.stateStore[t?`remove`:`get`](r.state);if(!i)throw n.throw(Error(`No matching state found in storage`)),null;return{state:await fI.fromStorageString(i),response:r}}async processSigninResponse(e,t,n=!0){let r=this._logger.create(`processSigninResponse`),{state:i,response:a}=await this.readSigninResponseState(e,n);if(r.debug(`received state from storage; validating response`),this.settings.dpop&&this.settings.dpop.store){let e=await this.getDpopProof(this.settings.dpop.store);t={...t,DPoP:e}}try{await this._validator.validateSigninResponse(a,i,t)}catch(e){if(e instanceof $F&&this.settings.dpop){let n=await this.getDpopProof(this.settings.dpop.store,e.nonce);t.DPoP=n,await this._validator.validateSigninResponse(a,i,t)}else throw e}return a}async getDpopProof(e,t){let n,r;return(await e.getAllKeys()).includes(this.settings.client_id)?(r=await e.get(this.settings.client_id),r.nonce!==t&&t&&(r.nonce=t,await e.set(this.settings.client_id,r))):(n=await GF.generateDPoPKeys(),r=new SI(n,t),await e.set(this.settings.client_id,r)),await GF.generateDPoPProof({url:await this.metadataService.getTokenEndpoint(!1),httpMethod:`POST`,keyPair:r.keys,nonce:r.nonce})}async processResourceOwnerPasswordCredentials({username:e,password:t,skipUserInfo:n=!1,extraTokenParams:r={}}){let i=await this._tokenClient.exchangeCredentials({username:e,password:t,...r}),a=new gI(new URLSearchParams);return Object.assign(a,i),await this._validator.validateCredentialsResponse(a,n),a}async useRefreshToken({state:e,redirect_uri:t,resource:n,timeoutInSeconds:r,extraHeaders:i,extraTokenParams:a}){let o=this._logger.create(`useRefreshToken`),s;if(this.settings.refreshTokenAllowedScope===void 0)s=e.scope;else{let t=this.settings.refreshTokenAllowedScope.split(` `);s=(e.scope?.split(` `)||[]).filter(e=>t.includes(e)).join(` `)}if(this.settings.dpop&&this.settings.dpop.store){let e=await this.getDpopProof(this.settings.dpop.store);i={...i,DPoP:e}}let c;try{c=await this._tokenClient.exchangeRefreshToken({refresh_token:e.refresh_token,scope:s,redirect_uri:t,resource:n,timeoutInSeconds:r,extraHeaders:i,...a})}catch(o){if(o instanceof $F&&this.settings.dpop)i.DPoP=await this.getDpopProof(this.settings.dpop.store,o.nonce),c=await this._tokenClient.exchangeRefreshToken({refresh_token:e.refresh_token,scope:s,redirect_uri:t,resource:n,timeoutInSeconds:r,extraHeaders:i,...a});else throw o}let l=new gI(new URLSearchParams);return Object.assign(l,c),o.debug(`validating response`,l),await this._validator.validateRefreshResponse(l,{...e,scope:s}),l}async createSignoutRequest({state:e,id_token_hint:t,client_id:n,request_type:r,url_state:i,post_logout_redirect_uri:a=this.settings.post_logout_redirect_uri,extraQueryParams:o=this.settings.extraQueryParams}={}){let s=this._logger.create(`createSignoutRequest`),c=await this.metadataService.getEndSessionEndpoint();if(!c)throw s.throw(Error(`No end session endpoint`)),null;s.debug(`Received end session endpoint`,c),!n&&a&&!t&&(n=this.settings.client_id);let l=new _I({url:c,id_token_hint:t,client_id:n,post_logout_redirect_uri:a,state_data:e,extraQueryParams:o,request_type:r,url_state:i});await this.clearStaleState();let u=l.state;return u&&(s.debug(`Signout request has state to persist`),await this.settings.stateStore.set(u.id,u.toStorageString())),l}async readSignoutResponseState(e,t=!1){let n=this._logger.create(`readSignoutResponseState`),r=new vI(JF.readParams(e,this.settings.response_mode));if(!r.state){if(n.debug(`No state in response`),r.error)throw n.warn(`Response was error:`,r.error),new XF(r);return{state:void 0,response:r}}let i=await this.settings.stateStore[t?`remove`:`get`](r.state);if(!i)throw n.throw(Error(`No matching state found in storage`)),null;return{state:await dI.fromStorageString(i),response:r}}async processSignoutResponse(e){let t=this._logger.create(`processSignoutResponse`),{state:n,response:r}=await this.readSignoutResponseState(e,!0);return n?(t.debug(`Received state from storage; validating response`),this._validator.validateSignoutResponse(r,n)):t.debug(`No state from storage; skipping response validation`),r}clearStaleState(){return this._logger.create(`clearStaleState`),dI.clearStaleState(this.settings.stateStore,this.settings.staleStateAgeInSeconds)}async revokeToken(e,t){return this._logger.create(`revokeToken`),await this._tokenClient.revoke({token:e,token_type_hint:t})}},wI=function(e){return e.NotSupported=`OIDC authentication not supported`,e.Misconfigured=`OIDC is misconfigured`,e.General=`Something went wrong with OIDC discovery`,e.OpSupport=`Configured OIDC OP does not support required functions`,e.DynamicRegistrationNotSupported=`Dynamic registration not supported`,e.DynamicRegistrationFailed=`Dynamic registration failed`,e.DynamicRegistrationInvalid=`Dynamic registration invalid response`,e.CodeExchangeFailed=`Failed to exchange code for token`,e.InvalidBearerTokenResponse=`Invalid bearer token response`,e.InvalidIdToken=`Invalid ID token`,e.MissingOrInvalidStoredState=`State required to finish logging in is not found in storage.`,e}({}),TI=e=>!!e&&typeof e==`object`&&!Array.isArray(e),EI=(e,t)=>!e[t]||!DI(e,t)?(T.error(`Missing or invalid property: ${t}`),!1):!0,DI=(e,t)=>e[t]&&typeof e[t]!=`string`?(T.error(`Invalid property: ${t}`),!1):!0,OI=(e,t)=>e[t]&&(!Array.isArray(e[t])||!e[t].every(e=>typeof e==`string`))?(T.error(`Invalid property: ${t}`),!1):!0,kI=(e,t,n)=>{var r=e[t];return!r||!Array.isArray(r)||!r.includes(n)?(T.error(`Invalid property: ${t}. ${n} is required.`),!1):!0},AI=e=>{if(!TI(e))throw T.error(`Issuer configuration not found or malformed`),Error(wI.OpSupport);if(![EI(e,`issuer`),EI(e,`authorization_endpoint`),EI(e,`token_endpoint`),EI(e,`revocation_endpoint`),DI(e,`registration_endpoint`),DI(e,`account_management_uri`),DI(e,`device_authorization_endpoint`),OI(e,`account_management_actions_supported`),kI(e,`response_types_supported`,`code`),kI(e,`grant_types_supported`,YI.AuthorizationCode),kI(e,`code_challenge_methods_supported`,`S256`),OI(e,`prompt_values_supported`)].some(e=>!e))return e;throw T.error(`Issuer configuration not valid`),Error(wI.OpSupport)},jI=e=>{try{return FF(e)}catch(e){throw T.error(`Could not decode id_token`,e),e}},MI=(e,t,n,r)=>{try{if(!e)throw Error(`No ID token`);var i=jI(e);if(i.iss!==t)throw Error(`Invalid issuer`);if(!(typeof i.aud==`string`?[i.aud]:i.aud).includes(n))throw Error(`Invalid audience`);if(r!==void 0&&i.nonce!==r)throw Error(`Invalid nonce`);if(!i.exp||Date.now()>i.exp*1e3)throw Error(`Invalid expiry`)}catch(e){throw T.error(`Invalid ID token`,e),Error(wI.InvalidIdToken)}};function NI(e){if(!TI(e))throw T.error(`Stored user state not found`),Error(wI.MissingOrInvalidStoredState);if([EI(e,`homeserverUrl`),EI(e,`nonce`),DI(e,`identityServerUrl`)].some(e=>!e))throw Error(wI.MissingOrInvalidStoredState)}var PI=e=>TI(e)&&EI(e,`token_type`)&&e.token_type.toLowerCase()===`bearer`&&EI(e,`access_token`)&&EI(e,`refresh_token`)&&(!(`expires_in`in e)||typeof e.expires_in==`number`);function FI(e){if(!PI(e))throw Error(wI.InvalidBearerTokenResponse)}function II(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function LI(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?II(Object(n),!0).forEach(function(t){u(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):II(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var RI=e=>`openid urn:matrix:org.matrix.msc2967.client:api:* urn:matrix:org.matrix.msc2967.client:device:${e??Ej(10)}`,zI=function(){var e=o(function*(e){return globalThis.crypto.subtle?yj(yield WP(e)):(T.warn(`A secure context is required to generate code challenge. Using plain text code challenge`),e)});return function(t){return e.apply(this,arguments)}}(),BI=e=>{var{redirectUri:t}=e;return{scope:RI(),redirectUri:t,state:Ej(8),nonce:Ej(8),codeVerifier:Ej(64)}},VI=function(){var e=o(function*(e,t,n){var{scope:r,redirectUri:i,state:a,nonce:o,codeVerifier:s}=n,c=new URL(e);return c.searchParams.append(`response_mode`,`query`),c.searchParams.append(`response_type`,`code`),c.searchParams.append(`redirect_uri`,i),c.searchParams.append(`client_id`,t),c.searchParams.append(`state`,a),c.searchParams.append(`scope`,r),c.searchParams.append(`nonce`,o),c.searchParams.append(`code_challenge_method`,`S256`),c.searchParams.append(`code_challenge`,yield zI(s)),c.toString()});return function(t,n,r){return e.apply(this,arguments)}}(),HI=function(){var e=o(function*(e){var{metadata:t,redirectUri:n,clientId:r,homeserverUrl:i,identityServerUrl:a,nonce:o,prompt:s,urlState:c,loginHint:l,responseMode:u=`query`}=e,d=RI(),f=new CI(LI(LI({},t),{},{client_id:r,redirect_uri:n,authority:t.issuer,response_mode:u,response_type:`code`,scope:d,stateStore:new nI({prefix:`mx_oidc_`,store:window.sessionStorage})})),p={homeserverUrl:i,nonce:o,identityServerUrl:a};return(yield f.createSigninRequest({state:p,nonce:o,prompt:s,url_state:c,login_hint:l})).url});return function(t){return e.apply(this,arguments)}}(),UI=e=>({id_token:e.id_token,scope:e.scope,expires_at:e.expires_at,refresh_token:e.refresh_token,access_token:e.access_token,token_type:`Bearer`}),WI=function(){var e=o(function*(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:`query`,r=new URL(window.location.origin),i=new URLSearchParams({code:e,state:t});n===`query`?r.search=i.toString():r.hash=`#${i.toString()}`,zF.setLogger(T);try{var a=new gI(i),o=new nI({prefix:`mx_oidc_`,store:window.sessionStorage}),s=yield o.get(a.state);if(!s)throw Error(wI.MissingOrInvalidStoredState);var c=new CI(LI(LI({},yield fI.fromStorageString(s)),{},{stateStore:o})),l=yield c.processSigninResponse(r.href),u=l.userState;NI(u),FI(l),MI(l.id_token,c.settings.authority,c.settings.client_id,u.nonce);var d=UI(l);return{oidcClientSettings:{clientId:c.settings.client_id,issuer:c.settings.authority},tokenResponse:d,homeserverUrl:u.homeserverUrl,identityServerUrl:u.identityServerUrl,idTokenClaims:l.profile}}catch(e){T.error(`Oidc login failed`,e);var f=e.message;throw Object.values(wI).includes(f)?e:Error(wI.CodeExchangeFailed)}});return function(t,n){return e.apply(this,arguments)}}();function GI(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function KI(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?GI(Object(n),!0).forEach(function(t){u(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):GI(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var qI=function(){var e=o(function*(e){var t=new URL(`.well-known/openid-configuration`,e);return JI(yield(yield fetch(t,{method:N.Get,signal:Zk(5e3)})).json())});return function(t){return e.apply(this,arguments)}}(),JI=function(){var e=o(function*(e){var t=AI(e),n=new tI(new sI({authority:t.issuer,metadata:t,redirect_uri:``,client_id:``}));return KI(KI({},t),{},{signingKeys:t.jwks_uri?yield n.getSigningKeys():null})});return function(t){return e.apply(this,arguments)}}(),YI=function(e){return e.AuthorizationCode=`authorization_code`,e.RefreshToken=`refresh_token`,e.DeviceAuthorization=`urn:ietf:params:oauth:grant-type:device_code`,e}({}),XI=YI.DeviceAuthorization,ZI=(e,t)=>{if(!t)return!1;var n=new URL(t);return!(n.protocol!==e.protocol||n.hostname!==e.hostname&&!n.hostname.endsWith(`.${e.hostname}`))},QI=function(){var e=o(function*(e,t){if(!e.registration_endpoint)throw Error(wI.DynamicRegistrationNotSupported);var n=[YI.AuthorizationCode,YI.RefreshToken];if(n.some(t=>!e.grant_types_supported.includes(t)))throw Error(wI.DynamicRegistrationNotSupported);var r=new URL(t.clientUri),i={client_name:t.clientName,client_uri:t.clientUri,response_types:[`code`],grant_types:n,redirect_uris:t.redirectUris,id_token_signed_response_alg:`RS256`,token_endpoint_auth_method:`none`,application_type:t.applicationType,contacts:t.contacts,logo_uri:ZI(r,t.logoUri)?t.logoUri:void 0,policy_uri:ZI(r,t.policyUri)?t.policyUri:void 0,tos_uri:ZI(r,t.tosUri)?t.tosUri:void 0},a={Accept:`application/json`,"Content-Type":`application/json`};try{var o=yield fetch(e.registration_endpoint,{method:N.Post,headers:a,body:JSON.stringify(i)});if(o.status>=400)throw Error(wI.DynamicRegistrationFailed);var s=(yield o.json()).client_id;if(!s||typeof s!=`string`)throw Error(wI.DynamicRegistrationInvalid);return s}catch(e){throw Object.values(wI).includes(e.message)?e:(T.error(`Dynamic registration request failed`,e),Error(wI.DynamicRegistrationFailed))}});return function(t,n){return e.apply(this,arguments)}}(),$I=class{constructor(e,t,n,r,i){this.issuer=e,this.clientId=t,this.redirectUri=n,this.deviceId=r,this.idTokenClaims=i,u(this,`oidcClientReady`,void 0),u(this,`initPromise`,void 0),u(this,`oidcClient`,void 0),u(this,`inflightRefreshRequest`,void 0),this.oidcClientReady=Promise.resolve()}ensureInit(){var e=this;return o(function*(){if(!e.oidcClient){if(e.initPromise)return e.initPromise;e.initPromise=e.initialiseOidcClient(e.issuer,e.clientId,e.deviceId,e.redirectUri);try{yield e.initPromise}finally{e.initPromise=void 0}}})()}initialiseOidcClient(e,t,n,r){var i=this;return o(function*(){try{var a=yield qI(e),o=RI(n);i.oidcClient=new CI({metadata:a,signingKeys:a.signingKeys??void 0,client_id:t,scope:o,redirect_uri:r,authority:a.issuer,stateStore:new nI({prefix:`mx_oidc_`,store:window.sessionStorage})})}catch(e){throw T.error(`Failed to initialise OIDC client.`,e),Error(`Failed to initialise OIDC client.`)}})()}doRefreshAccessToken(e){var t=this;return o(function*(){yield t.ensureInit(),t.inflightRefreshRequest||=t.getNewTokens(e);try{return yield t.inflightRefreshRequest}catch(e){throw e instanceof XF?new Kk(e):e}finally{t.inflightRefreshRequest=void 0}})()}persistTokens(e){return o(function*(){})()}getNewTokens(e){var t=this;return o(function*(){if(!t.oidcClient)throw Error(`Cannot get new token before OIDC client is initialised.`);var n={refresh_token:e,session_state:`test`,data:void 0,profile:t.idTokenClaims},r=Date.now(),i=yield t.oidcClient.useRefreshToken({state:n,timeoutInSeconds:300}),a={accessToken:i.access_token,refreshToken:i.refresh_token,expiry:i.expires_in?new Date(r+i.expires_in*1e3):void 0};return yield t.persistTokens(a),a})()}},eL=`modulepreload`,tL=function(e,t){return new URL(e,t).href},nL={},rL=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=tL(t,n),t in nL)return;nL[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:eL,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},iL=[`server`,`limit`,`since`];function aL(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function J(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?aL(Object(n),!0).forEach(function(t){u(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):aL(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var oL=3e3,sL=600*1e3,cL=new C(`last_seen_user_agent`,`org.matrix.msc3852.last_seen_user_agent`),lL=function(e){return e.Chronological=`chronological`,e.Detached=`detached`,e}({}),uL=new eE(`m.get_login_token`,`org.matrix.msc3882.get_login_token`),dL=`uk.half-shot.msc2666`,fL=`uk.half-shot.msc2666.mutual_rooms`,pL=`uk.half-shot.msc2666.query_mutual_rooms`,mL=`org.matrix.msc4140`,hL=`org.matrix.msc4354`,gL=`uk.tcpip.msc4133`,_L=`uk.tcpip.msc4133.stable`,vL=`$`,Y=function(e){return e.Sync=`sync`,e.Event=`event`,e.ToDeviceEvent=`toDeviceEvent`,e.ReceivedToDeviceMessage=`receivedToDeviceMessage`,e.AccountData=`accountData`,e.Room=`Room`,e.DeleteRoom=`deleteRoom`,e.SyncUnexpectedError=`sync.unexpectedError`,e.ClientWellKnown=`WellKnown.client`,e.ReceivedVoipEvent=`received_voip_event`,e.TurnServers=`turnServers`,e.TurnServersError=`turnServers.error`,e}({}),yL=new C(`action`,`org.matrix.msc3824.action`),bL=class extends SD{constructor(e){var t;super(),t=this,u(this,`logger`,void 0),u(this,`reEmitter`,new OO(this)),u(this,`olmVersion`,null),u(this,`usingExternalCrypto`,!1),u(this,`_store`,void 0),u(this,`deviceId`,void 0),u(this,`credentials`,void 0),u(this,`legacyPickleKey`,void 0),u(this,`scheduler`,void 0),u(this,`clientRunning`,!1),u(this,`timelineSupport`,!1),u(this,`urlPreviewCache`,{}),u(this,`identityServer`,void 0),u(this,`http`,void 0),u(this,`cryptoBackend`,void 0),u(this,`enableEncryptedStateEvents`,void 0),u(this,`cryptoCallbacks`,void 0),u(this,`callEventHandler`,void 0),u(this,`groupCallEventHandler`,void 0),u(this,`supportsCallTransfer`,!1),u(this,`forceTURN`,!1),u(this,`iceCandidatePoolSize`,0),u(this,`idBaseUrl`,void 0),u(this,`baseUrl`,void 0),u(this,`isVoipWithNoMediaAllowed`,void 0),u(this,`disableVoip`,void 0),u(this,`useLivekitForGroupCalls`,void 0),u(this,`canSupportVoip`,!1),u(this,`peekSync`,null),u(this,`isGuestAccount`,!1),u(this,`ongoingScrollbacks`,{}),u(this,`notifTimelineSet`,null),u(this,`legacyCryptoStore`,void 0),u(this,`verificationMethods`,void 0),u(this,`fallbackICEServerAllowed`,!1),u(this,`syncApi`,void 0),u(this,`roomNameGenerator`,void 0),u(this,`pushRules`,void 0),u(this,`syncLeftRoomsPromise`,void 0),u(this,`syncedLeftRooms`,!1),u(this,`clientOpts`,void 0),u(this,`clientWellKnownIntervalID`,void 0),u(this,`canResetTimelineCallback`,void 0),u(this,`canSupport`,new Map),u(this,`pushProcessor`,new $M(this)),u(this,`serverVersionsPromise`,void 0),u(this,`clientWellKnown`,void 0),u(this,`clientWellKnownPromise`,void 0),u(this,`turnServers`,[]),u(this,`turnServersExpiry`,0),u(this,`checkTurnServersIntervalID`,void 0),u(this,`txnCtr`,0),u(this,`mediaHandler`,new AN(this)),u(this,`sessionId`,void 0),u(this,`eventsBeingEncrypted`,new Set),u(this,`useE2eForGroupCall`,!0),u(this,`toDeviceMessageQueue`,void 0),u(this,`livekitServiceURL`,void 0),u(this,`_secretStorage`,void 0),u(this,`ignoredInvites`,void 0),u(this,`matrixRTC`,void 0),u(this,`serverCapabilitiesService`,void 0),u(this,`startCallEventHandler`,()=>{this.isInitialSyncComplete()&&(FM()&&(this.callEventHandler.start(),this.groupCallEventHandler.start()),this.off(Y.Sync,this.startCallEventHandler))}),u(this,`startMatrixRTC`,()=>{this.isInitialSyncComplete()&&(this.matrixRTC.start(),this.off(Y.Sync,this.startMatrixRTC))}),u(this,`fixupRoomNotifications`,()=>{if(this.isInitialSyncComplete()){for(var e of(this.getRooms()??[]).filter(e=>e.getUnreadNotificationCount(I.Total)>0)){var t=this.getSafeUserId();e.fixupNotifications(t)}this.off(Y.Sync,this.fixupRoomNotifications)}}),this.logger=e.logger??T,e.baseUrl=DE(e.baseUrl),e.idBaseUrl=DE(e.idBaseUrl),this.baseUrl=e.baseUrl,this.idBaseUrl=e.idBaseUrl,this.identityServer=e.identityServer,this.usingExternalCrypto=e.usingExternalCrypto??!1,this.store=e.store||new rj,this.deviceId=e.deviceId||null,this.sessionId=Ej(10),this.credentials={userId:e.userId||null},this.http=new CA(this,{fetchFn:e.fetchFn,baseUrl:e.baseUrl,idBaseUrl:e.idBaseUrl,accessToken:e.accessToken,refreshToken:e.refreshToken,tokenRefreshFunction:e.tokenRefreshFunction,prefix:F.V3,onlyData:!0,extraParams:e.queryParams,localTimeoutMs:e.localTimeoutMs,useAuthorizationHeader:e.useAuthorizationHeader,logger:this.logger}),e.pickleKey&&(this.legacyPickleKey=e.pickleKey),this.useLivekitForGroupCalls=!!e.useLivekitForGroupCalls,this.scheduler=e.scheduler,this.scheduler&&this.scheduler.setProcessFunction(function(){var e=o(function*(e){var n=t.getRoom(e.getRoomId());e.status!==j.SENDING&&t.updatePendingEventStatus(n,e,j.SENDING);var r=yield t.sendEventHttpRequest(e);return n&&n.updatePendingEvent(e,j.SENT,r.event_id),r});return function(t){return e.apply(this,arguments)}}()),this.disableVoip=e.disableVoip??!1,!this.disableVoip&&FM()&&(this.callEventHandler=new zj(this),this.groupCallEventHandler=new Vj(this),this.canSupportVoip=!0,this.on(Y.Sync,this.startCallEventHandler)),this.matrixRTC=new AF(this.logger,this),this.serverCapabilitiesService=new DA(this.logger,this.http),this.on(Y.Sync,this.fixupRoomNotifications),this.timelineSupport=!!e.timelineSupport,this.legacyCryptoStore=e.cryptoStore,this.verificationMethods=e.verificationMethods,this.cryptoCallbacks=e.cryptoCallbacks||{},this.enableEncryptedStateEvents=e.enableEncryptedStateEvents??!1,this.forceTURN=e.forceTURN||!1,this.iceCandidatePoolSize=e.iceCandidatePoolSize===void 0?0:e.iceCandidatePoolSize,this.supportsCallTransfer=e.supportsCallTransfer||!1,this.fallbackICEServerAllowed=e.fallbackICEServerAllowed||!1,this.isVoipWithNoMediaAllowed=e.isVoipWithNoMediaAllowed||!1,e.useE2eForGroupCall!==void 0&&(this.useE2eForGroupCall=e.useE2eForGroupCall),this.livekitServiceURL=e.livekitServiceURL,this.roomNameGenerator=e.roomNameGenerator,this.toDeviceMessageQueue=new XN(this,this.logger),this.on(Z.Decrypted,e=>{SL(this,e)}),this.ignoredInvites=new nP(this),this._secretStorage=new PP(this,e.cryptoCallbacks??{}),this.setMaxListeners(0)}set store(e){this._store=e,this._store.setUserCreator(e=>vO.createUser(e,this))}get store(){return this._store}startClient(e){var t=this;return o(function*(){if(!t.clientRunning){t.clientRunning=!0,t.on(Y.Sync,t.startMatrixRTC);var n=t.getUserId();n&&t.store.storeUser(new vO(n)),t.supportsVoip()&&(t.checkTurnServersIntervalID=setInterval(()=>{t.checkTurnServers()},sL),t.checkTurnServers()),t.syncApi&&(t.logger.error(`Still have sync object whilst not running: stopping old one`),t.syncApi.stop());try{yield t.getVersions();var{threads:r,list:i,fwdPagination:a}=yield t.doesServerSupportThread();AL.setServerSideSupport(r),AL.setServerSideListSupport(i),AL.setServerSideFwdPaginationSupport(a)}catch(e){t.logger.error(`Can't fetch server versions, continuing to initialise sync, this will be retried later`,e)}t.clientOpts=e??{},t.clientOpts.slidingSync?t.syncApi=new BN(t.clientOpts.slidingSync,t,t.clientOpts,t.buildSyncApiOptions()):t.syncApi=new ej(t,t.clientOpts,t.buildSyncApiOptions()),t.syncApi.sync().catch(e=>t.logger.info(`Sync startup aborted with an error:`,e)),t.clientOpts.clientWellKnownPollPeriod!==void 0&&(t.clientWellKnownIntervalID=setInterval(()=>{t.fetchClientWellKnown()},1e3*t.clientOpts.clientWellKnownPollPeriod),t.fetchClientWellKnown()),t.toDeviceMessageQueue.start(),t.serverCapabilitiesService.start()}})()}buildSyncApiOptions(){return{cryptoCallbacks:this.cryptoBackend,canResetEntireTimeline:e=>this.canResetTimelineCallback?this.canResetTimelineCallback(e):!1,logger:this.logger.getChild(`sync`)}}stopClient(){var e,t,n,r,i;(e=this.cryptoBackend)==null||e.stop(),this.off(Y.Sync,this.startMatrixRTC),this.clientRunning&&(this.logger.debug(`stopping MatrixClient`),this.clientRunning=!1,(t=this.syncApi)==null||t.stop(),this.syncApi=void 0,(n=this.peekSync)==null||n.stopPeeking(),(r=this.callEventHandler)==null||r.stop(),(i=this.groupCallEventHandler)==null||i.stop(),this.callEventHandler=void 0,this.groupCallEventHandler=void 0,globalThis.clearInterval(this.checkTurnServersIntervalID),this.checkTurnServersIntervalID=void 0,this.clientWellKnownIntervalID!==void 0&&globalThis.clearInterval(this.clientWellKnownIntervalID),this.toDeviceMessageQueue.stop(),this.matrixRTC.stop(),this.serverCapabilitiesService.stop())}clearStores(){var e=this,t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(this.clientRunning)throw Error(`Cannot clear stores while client is running`);var n=[];n.push(this.store.deleteAllData()),this.legacyCryptoStore&&n.push(this.legacyCryptoStore.deleteAllData());var r=function(){var n=o(function*(){var n;try{if(n=globalThis.indexedDB,!n)return}catch{return}var r=function*(t){yield new Promise((r,i)=>{e.logger.info(`Removing IndexedDB instance ${t}`);var a=n.deleteDatabase(t);a.onsuccess=n=>{e.logger.info(`Removed IndexedDB instance ${t}`),r(0)},a.onerror=n=>{e.logger.warn(`Failed to remove IndexedDB instance ${t}:`,n),r(0)},a.onblocked=n=>{e.logger.info(`cannot yet remove IndexedDB instance ${t}`)}})};for(var i of[`${(a=t.cryptoDatabasePrefix)??rP}::matrix-sdk-crypto`,`${(o=t.cryptoDatabasePrefix)??rP}::matrix-sdk-crypto-meta`]){var a,o;yield*r(i)}});return function(){return n.apply(this,arguments)}}();return n.push(r()),Promise.all(n).then()}getUserId(){return this.credentials?.userId??null}getSafeUserId(){var e=this.getUserId();if(!e)throw Error(`Expected logged in user but found none.`);return e}getDomain(){var e;return(e=this.credentials)!=null&&e.userId?this.credentials.userId.replace(/^.*?:/,``):null}getUserIdLocalpart(){var e;return((e=this.credentials)==null||(e=e.userId)==null?void 0:e.split(`:`)[0].substring(1))??null}getDeviceId(){return this.deviceId}getSessionId(){return this.sessionId}supportsVoip(){return!this.disableVoip&&this.canSupportVoip}getMediaHandler(){return this.mediaHandler}setForceTURN(e){this.forceTURN=e}setSupportsCallTransfer(e){this.supportsCallTransfer=e}getUseE2eForGroupCall(){return this.useE2eForGroupCall}createCall(e){return IM(this,e)}createGroupCall(e,t,n,r,i,a){var s=this;return o(function*(){if(s.getGroupCallForRoom(e))throw Error(`${e} already has an existing group call`);var o=s.getRoom(e);if(!o)throw Error(`Cannot find room ${e}`);return new vM(s,o,t,n,r,void 0,i||s.isVoipWithNoMediaAllowed,a,s.isVoipWithNoMediaAllowed,s.useLivekitForGroupCalls,s.livekitServiceURL).create()})()}getLivekitServiceURL(){return this.livekitServiceURL}setLivekitServiceURL(e){this.livekitServiceURL=e}waitUntilRoomReadyForGroupCalls(e){return this.groupCallEventHandler.waitUntilRoomReadyForGroupCalls(e)}getGroupCallForRoom(e){return this.groupCallEventHandler.groupCalls.get(e)||null}getSyncState(){return this.syncApi?.getSyncState()??null}getSyncStateData(){return this.syncApi?this.syncApi.getSyncStateData():null}isInitialSyncComplete(){var e=this.getSyncState();return e?e===R.Prepared||e===R.Syncing:!1}isGuest(){return this.isGuestAccount}setGuest(e){this.isGuestAccount=e}getScheduler(){return this.scheduler}retryImmediately(){return this.toDeviceMessageQueue.sendQueue(),this.syncApi?.retryImmediately()??!1}getNotifTimelineSet(){return this.notifTimelineSet}setNotifTimelineSet(e){this.notifTimelineSet=e}getCapabilities(){var e=this;return o(function*(){return e.serverCapabilitiesService.getCachedCapabilities()||e.serverCapabilitiesService.fetchCapabilities()})()}getCachedCapabilities(){return this.serverCapabilitiesService.getCachedCapabilities()}fetchCapabilities(){return this.serverCapabilitiesService.fetchCapabilities()}initRustCrypto(){var e=arguments,t=this;return o(function*(){var n=e.length>0&&e[0]!==void 0?e[0]:{};if(t.cryptoBackend){t.logger.warn(`Attempt to re-initialise e2e encryption on MatrixClient`);return}var r=t.getUserId();if(r===null)throw Error(`Cannot enable encryption on MatrixClient with unknown userId: ensure userId is passed in createClient().`);var i=t.getDeviceId();if(i===null)throw Error(`Cannot enable encryption on MatrixClient with unknown deviceId: ensure deviceId is passed in createClient().`);t.logger.debug(`Downloading Rust crypto library`);var a=yield(yield rL(()=>import(`./rust-crypto-C0aPoIC0.js`),__vite__mapDeps([0,1]),import.meta.url)).initRustCrypto({logger:t.logger,http:t.http,userId:r,deviceId:i,secretStorage:t.secretStorage,cryptoCallbacks:t.cryptoCallbacks,storePrefix:n.useIndexedDB===!1?null:n.cryptoDatabasePrefix??rP,storeKey:n.storageKey,storePassphrase:n.storagePassword,legacyCryptoStore:t.legacyCryptoStore,legacyPickleKey:t.legacyPickleKey??`DEFAULT_KEY`,legacyMigrationProgressListener:(e,n)=>{t.emit(mP.LegacyCryptoStoreMigrationProgress,e,n)},enableEncryptedStateEvents:t.enableEncryptedStateEvents});a.setSupportedVerificationMethods(t.verificationMethods),t.cryptoBackend=a,t.on(VD.Membership,a.onRoomMembership.bind(a)),t.on(Q.Events,a.onRoomStateEvent.bind(a)),t.on(Y.Event,e=>{a.onLiveEventFromSync(e)}),t.reEmitter.reEmit(a,[mP.VerificationRequestReceived,mP.UserTrustStatusChanged,mP.KeyBackupStatus,mP.KeyBackupSessionsRemaining,mP.KeyBackupFailed,mP.KeyBackupDecryptionKeyCached,mP.KeysChanged,mP.DevicesUpdated,mP.WillUpdateDevices,mP.DehydratedDeviceCreated,mP.DehydratedDeviceUploaded,mP.RehydrationStarted,mP.RehydrationProgress,mP.RehydrationCompleted,mP.RehydrationError,mP.DehydrationKeyCached,mP.DehydratedDeviceRotationError])})()}get secretStorage(){return this._secretStorage}getCrypto(){return this.cryptoBackend}isRoomEncrypted(e){var t=this.getRoom(e);return t?t.hasEncryptionStateEvent():!1}isKeyBackupKeyStored(){return Promise.resolve(this.secretStorage.isStored(`m.megolm_backup.v1`))}makeKeyBackupPath(e,t,n){return{path:t===void 0?e===void 0?`/room_keys/keys`:w(`/room_keys/keys/$roomId`,{$roomId:e}):w(`/room_keys/keys/$roomId/$sessionId`,{$roomId:e,$sessionId:t}),queryData:n===void 0?void 0:{version:n}}}deleteKeysFromBackup(e,t,n){var r=this;return o(function*(){var i=r.makeKeyBackupPath(e,t,n);yield r.http.authedRequest(N.Delete,i.path,i.queryData,void 0,{prefix:F.V3})})()}getMediaConfig(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=e?`/media/config`:`/config`;return this.http.authedRequest(N.Get,t,void 0,void 0,{prefix:e?F.V1:pA.V3})}getRoom(e){return e?this.store.getRoom(e):null}getRooms(){return this.store.getRooms()}getVisibleRooms(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=this.store.getRooms(),n=new Set(t);for(var r of n)for(var i of this.findPredecessorRooms(r,!0,e))n.delete(i);return Array.from(n)}getUser(e){return this.store.getUser(e)}getUsers(){return this.store.getUsers()}setAccountData(e,t){var n=this;return o(function*(){if(!n.clientRunning)return n.logger.warn("Calling `setAccountData` before the client is started: `getAccountData` may return inconsistent results."),yield nA(5,()=>n.setAccountDataRaw(e,t));var r=n.store.getAccountData(e);if(r&&vE(r.event.content,t))return{};var i=Promise.withResolvers();function a(t){t.getType()===e&&i.resolve()}n.addListener(Y.AccountData,a);try{var o=yield nA(5,()=>n.setAccountDataRaw(e,t));return yield i.promise,o}finally{n.removeListener(Y.AccountData,a)}})()}setAccountDataRaw(e,t){var n=w(`/user/$userId/account_data/$type`,{$userId:this.credentials.userId,$type:e});return this.http.authedRequest(N.Put,n,void 0,t)}getAccountData(e){return this.store.getAccountData(e)}getAccountDataFromServer(e){var t=this;return o(function*(){if(t.isInitialSyncComplete()){var n=t.store.getAccountData(e);return n?n.getContent():null}var r=w(`/user/$userId/account_data/$type`,{$userId:t.credentials.userId,$type:e});try{return yield t.http.authedRequest(N.Get,r)}catch(e){if(e.data?.errcode===`M_NOT_FOUND`)return null;throw e}})()}deleteAccountData(e){var t=this;return o(function*(){var n=t.canSupport.get(VA.AccountDataDeletion);if(n===BA.Unsupported){yield t.setAccountData(e,{});return}var r=w(`/user/$userId/account_data/$type`,{$userId:t.getSafeUserId(),$type:e}),i=n===BA.Unstable?{prefix:`/_matrix/client/unstable/org.matrix.msc3391`}:void 0;return yield t.http.authedRequest(N.Delete,r,void 0,void 0,i)})()}getIgnoredUsers(){var e=this.getAccountData(E.IgnoredUserList);return e!=null&&e.getContent().ignored_users?Object.keys(e.getContent().ignored_users):[]}setIgnoredUsers(e){var t={ignored_users:{}};return e.forEach(e=>{t.ignored_users[e]={}}),this.setAccountData(E.IgnoredUserList,t)}isUserIgnored(e){return this.getIgnoredUsers().includes(e)}joinRoom(e){var t=arguments,n=this;return o(function*(){var r,i=t.length>1&&t[1]!==void 0?t[1]:{},a=n.getRoom(e),o=a?.getMember(n.getSafeUserId()),s=o?.membership,c=s==O.Invite?(o==null||(r=o.events.member)==null?void 0:r.getSender())??null:null;if(n.logger.debug(`joinRoom[${e}]: preJoinMembership=${s}, inviter=${c}, opts=${JSON.stringify(i)}`),s==O.Join)return a;var l=Promise.resolve();if(i.inviteSignUrl){var u=new URL(i.inviteSignUrl);u.searchParams.set(`mxid`,n.credentials.userId),l=n.http.requestOtherUrl(N.Post,u)}var d={};i.viaServers&&(d.via=d.server_name=i.viaServers.slice(0,3));var f={},p=yield l;p&&(f.third_party_signed=p);var m=w(`/join/$roomid`,{$roomid:e}),h=(yield n.http.authedRequest(N.Post,m,d,f)).room_id;i.acceptSharedHistory&&c&&n.cryptoBackend&&(yield n.cryptoBackend.markRoomAsPendingKeyBundle(h,c),yield n.cryptoBackend.maybeAcceptKeyBundle(h,c));var g=n.getRoom(h);return g!=null&&g.hasMembershipState(n.credentials.userId,O.Join)?g:new ej(n,n.clientOpts,n.buildSyncApiOptions()).createRoom(h)})()}knockRoom(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=this.getRoom(e);if(n!=null&&n.hasMembershipState(this.credentials.userId,O.Knock))return Promise.resolve({room_id:n.roomId});var r=w(`/knock/$roomIdOrAlias`,{$roomIdOrAlias:e}),i={};if(t.viaServers){var a=Array.isArray(t.viaServers)?t.viaServers.slice(0,3):[t.viaServers];i.server_name=a,i.via=a}var o={};return t.reason&&(o.reason=t.reason),this.http.authedRequest(N.Post,r,i,o)}resendEvent(e,t){return this.toDeviceMessageQueue.sendQueue(),this.updatePendingEventStatus(t,e,j.SENDING),this.encryptAndSendEvent(t,e)}cancelPendingEvent(e){if(![j.QUEUED,j.NOT_SENT,j.ENCRYPTING].includes(e.status))throw Error(`cannot cancel an event with status `+e.status);e.status===j.ENCRYPTING?this.eventsBeingEncrypted.delete(e.getId()):this.scheduler&&e.status===j.QUEUED&&this.scheduler.removeEventFromQueue(e);var t=this.getRoom(e.getRoomId());this.updatePendingEventStatus(t,e,j.CANCELLED)}setRoomName(e,t){return this.sendStateEvent(e,E.RoomName,{name:t})}setRoomTopic(e,t,n){var r=nk(t,n);return this.sendStateEvent(e,E.RoomTopic,r)}getRoomTags(e){var t=w(`/user/$userId/rooms/$roomId/tags`,{$userId:this.credentials.userId,$roomId:e});return this.http.authedRequest(N.Get,t)}setRoomTag(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=w(`/user/$userId/rooms/$roomId/tags/$tag`,{$userId:this.credentials.userId,$roomId:e,$tag:t});return this.http.authedRequest(N.Put,r,void 0,n)}deleteRoomTag(e,t){var n=w(`/user/$userId/rooms/$roomId/tags/$tag`,{$userId:this.credentials.userId,$roomId:e,$tag:t});return this.http.authedRequest(N.Delete,n)}setRoomAccountData(e,t,n){var r=w(`/user/$userId/rooms/$roomId/account_data/$type`,{$userId:this.credentials.userId,$roomId:e,$type:t});return this.http.authedRequest(N.Put,r,void 0,n)}setPowerLevel(e,t,n){var r=this;return o(function*(){var i,a;if(r.clientRunning&&r.isInitialSyncComplete()){var o;a=(o=r.getRoom(e))==null||(o=o.currentState)==null||(o=o.getStateEvents(E.RoomPowerLevels,``))==null?void 0:o.getContent()}if(!a)try{a=yield r.getStateEvent(e,E.RoomPowerLevels,``)}catch(e){if(e instanceof P&&e.errcode===`M_NOT_FOUND`)a={};else throw e}a=_E(a),(i=a)!=null&&i.users||(a.users={});for(var s of Array.isArray(t)?t:[t])n==null?delete a.users[s]:a.users[s]=n;return r.sendStateEvent(e,E.RoomPowerLevels,a,``)})()}unstable_createLiveBeacon(e,t){var n=this;return o(function*(){return n.unstable_setLiveBeacon(e,t)})()}unstable_setLiveBeacon(e,t){var n=this;return o(function*(){return n.sendStateEvent(e,WN.name,t,n.getUserId())})()}sendEvent(e,t,n,r,i){var a,o,s,c;return!(t!=null&&t.startsWith(vL))&&t!==null?(c=r,s=n,o=t,a=null):(c=i,s=r,o=n,a=t),this.addThreadRelationIfNeeded(s,a,e),this.sendCompleteEvent({roomId:e,threadId:a,eventObject:{type:o,content:s},txnId:c})}addThreadRelationIfNeeded(e,t,n){var r;if(t&&!((r=e[`m.relates_to`])!=null&&r.rel_type)){var i,a=!!((i=e[`m.relates_to`])!=null&&i[`m.in_reply_to`]);e[`m.relates_to`]=J(J({},e[`m.relates_to`]),{},{rel_type:X.name,event_id:t,is_falling_back:!a});var o=this.getRoom(n)?.getThread(t);o&&!a&&(e[`m.relates_to`][`m.in_reply_to`]={event_id:o.lastReply(e=>e.isRelation(X.name)&&!e.status)?.getId()??t})}}sendCompleteEvent(e){var{roomId:t,threadId:n,eventObject:r,delayOpts:i,queryDict:a,txnId:o}=e;o||=this.makeTxnId();var s=new BL(Object.assign(r,{event_id:`~`+t+`:`+o,user_id:this.credentials.userId,sender:this.credentials.userId,room_id:t,origin_server_ts:new Date().getTime()})),c=this.getRoom(t),l=n?c?.getThread(n):void 0;l&&s.setThread(l),i||(this.reEmitter.reEmit(s,[Z.Replaced,Z.VisibilityChange]),c?.reEmitter.reEmit(s,[Z.BeforeRedaction]));var u=s.getAssociatedId();if(u!=null&&u.startsWith(`~`)){var d=c?.getPendingEvents().find(e=>e.getId()===u);d?.once(Z.LocalEventIdReplaced,()=>{s.updateAssociatedId(d.getId())})}var f=s.getType();return this.logger.debug(`sendEvent of type ${f} in ${t} with txnId ${o}${i?` (delayed event)`:``}${a?` query params: `+JSON.stringify(a):``}`),s.setTxnId(o),s.setStatus(j.SENDING),i?this.encryptAndSendEvent(c,s,i,a):(c?.addPendingEvent(s,o),s.status===j.NOT_SENT?Promise.reject(Error(`Event blocked by other events not yet sent`)):this.encryptAndSendEvent(c,s,a))}encryptAndSendEvent(e,t,n,r){var i=this;return o(function*(){var a=r;if(n&&lN(n))return i.sendEventHttpRequest(t,n,a);a||=n;try{var o;i.eventsBeingEncrypted.add(t.getId());try{yield i.encryptEventIfNeeded(t,e??void 0)}finally{o=!i.eventsBeingEncrypted.delete(t.getId())}if(o)return{};t.status===j.ENCRYPTING&&i.updatePendingEventStatus(e,t,j.SENDING);var s=null;return i.scheduler&&(s=i.scheduler.queueEvent(t),s&&i.scheduler.getQueueForEvent(t).length>1&&i.updatePendingEventStatus(e,t,j.QUEUED)),s||(s=i.sendEventHttpRequest(t,a),e&&(s=s.then(n=>(e.updatePendingEvent(t,j.SENT,n.event_id),n)))),yield s}catch(n){i.logger.error(`Error sending event`,n);try{t.error=n,i.updatePendingEventStatus(e,t,j.NOT_SENT)}catch(e){i.logger.error(`Exception in error handler!`,e)}throw n instanceof P&&(n.event=t),n}})()}encryptEventIfNeeded(e,t){var n=this;return o(function*(){if(t&&(yield n.shouldEncryptEventForRoom(e,t))&&!(!n.cryptoBackend&&n.usingExternalCrypto)){if(!n.cryptoBackend)throw Error(`This room is configured to use encryption, but your client does not support encryption.`);n.updatePendingEventStatus(t,e,j.ENCRYPTING),yield n.cryptoBackend.encryptEvent(e,t)}})()}shouldEncryptEventForRoom(e,t){var n=this;return o(function*(){return e.isEncrypted()||e.getType()===E.Reaction||e.isRedaction()?!1:!!(t.hasEncryptionStateEvent()||(yield n.cryptoBackend?.isEncryptionEnabledInRoom(t.roomId)))})()}getEncryptedIfNeededEventType(e,t){var n;return t===E.Reaction?t:(n=this.getRoom(e))!=null&&n.hasEncryptionStateEvent()?E.RoomMessageEncrypted:t}updatePendingEventStatus(e,t,n){e?e.updatePendingEvent(t,n):t.setStatus(n)}sendEventHttpRequest(e,t,n){var r=e.getTxnId();r||(r=this.makeTxnId(),e.setTxnId(r));var i={$roomId:e.getRoomId(),$eventType:e.getWireType(),$stateKey:e.getStateKey(),$txnId:r},a;if(e.isState()){var o=`/rooms/$roomId/state/$eventType`;e.getStateKey()&&e.getStateKey().length>0&&(o=`/rooms/$roomId/state/$eventType/$stateKey`),a=w(o,i)}else a=e.isRedaction()&&e.event.redacts?w(`/rooms/$roomId/redact/$redactsEventId/$txnId`,J({$redactsEventId:e.event.redacts},i)):w(`/rooms/$roomId/send/$eventType/$txnId`,i);var s=t&&lN(t)?t:void 0,c=s?n:t,l=e.getWireContent();return s?this.http.authedRequest(N.Put,a,J(J({},xL(s)),c),l):this.http.authedRequest(N.Put,a,c,l).then(t=>(this.logger.debug(`Event sent to ${e.getRoomId()} with event id ${t.event_id}`),t))}redactEvent(e,t,n,r,i){var a;(a=n)!=null&&a.startsWith(vL)||(i=r,r=n,n=t,t=null);var o={reason:i?.reason};if(i?.with_rel_types!==void 0){if(this.canSupport.get(VA.RelationBasedRedactions)===BA.Unsupported)throw Error(`Server does not support relation based redactions roomId ${e} eventId ${n} txnId: ${r} threadId ${t}`);var s=this.canSupport.get(VA.RelationBasedRedactions)===BA.Stable?ND.stable:ND.unstable;o[s]=i.with_rel_types}return this.sendCompleteEvent({roomId:e,threadId:t,eventObject:{type:E.RoomRedaction,content:o,redacts:n},txnId:r})}sendMessage(e,t,n,r){typeof t!=`string`&&t!==null&&(r=n,n=t,t=null);var i=E.RoomMessage,a=n;return this.sendEvent(e,t,i,a,r)}sendTextMessage(e,t,n,r){var i;!((i=t)!=null&&i.startsWith(vL))&&t!==null&&(r=n,n=t,t=null);var a=XO(n);return this.sendMessage(e,t,a,r)}sendNotice(e,t,n,r){var i;!((i=t)!=null&&i.startsWith(vL))&&t!==null&&(r=n,n=t,t=null);var a=ZO(n);return this.sendMessage(e,t,a,r)}sendEmoteMessage(e,t,n,r){var i;!((i=t)!=null&&i.startsWith(vL))&&t!==null&&(r=n,n=t,t=null);var a=QO(n);return this.sendMessage(e,t,a,r)}sendImageMessage(e,t,n,r){var i,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:`Image`;!((i=t)!=null&&i.startsWith(vL))&&t!==null&&(a=r||`Image`,r=n,n=t,t=null);var o={msgtype:CD.Image,url:n,info:r,body:a};return this.sendMessage(e,t,o)}sendStickerMessage(e,t,n,r){var i,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:`Sticker`;!((i=t)!=null&&i.startsWith(vL))&&t!==null&&(a=r||`Sticker`,r=n,n=t,t=null);var o={url:n,info:r,body:a};return this.sendEvent(e,t,E.Sticker,o)}sendHtmlMessage(e,t,n,r){var i;!((i=t)!=null&&i.startsWith(vL))&&t!==null&&(r=n,n=t,t=null);var a=qO(n,r);return this.sendMessage(e,t,a)}sendHtmlNotice(e,t,n,r){var i;!((i=t)!=null&&i.startsWith(vL))&&t!==null&&(r=n,n=t,t=null);var a=JO(n,r);return this.sendMessage(e,t,a)}sendHtmlEmote(e,t,n,r){var i;!((i=t)!=null&&i.startsWith(vL))&&t!==null&&(r=n,n=t,t=null);var a=YO(n,r);return this.sendMessage(e,t,a)}_unstable_sendDelayedEvent(e,t,n,r,i,a){var s=this;return o(function*(){if(!(yield s.doesServerSupportUnstableFeature(`org.matrix.msc4140`)))throw new iF(`Server does not support the delayed events API`,`sendDelayedEvent`);return s.addThreadRelationIfNeeded(i,n,e),s.sendCompleteEvent({roomId:e,threadId:n,eventObject:{type:r,content:i},delayOpts:t,txnId:a})})()}_unstable_sendStickyDelayedEvent(e,t,n,r,i,a,s){var c=this;return o(function*(){if(!(yield c.doesServerSupportUnstableFeature(`org.matrix.msc4140`)))throw new iF(`Server does not support the delayed events API`,`getDelayedEvents`);if(!(yield c.doesServerSupportUnstableFeature(`org.matrix.msc4354`)))throw new aF(`Server does not support the sticky events`,`sendStickyEvent`);return c.addThreadRelationIfNeeded(a,r,e),c.sendCompleteEvent({roomId:e,threadId:r,eventObject:{type:i,content:a},queryDict:{"org.matrix.msc4354.sticky_duration_ms":t},delayOpts:n,txnId:s})})()}_unstable_sendDelayedStateEvent(e,t,n,r){var i=arguments,a=this;return o(function*(){var o=i.length>4&&i[4]!==void 0?i[4]:``,s=i.length>5&&i[5]!==void 0?i[5]:{};if(!(yield a.doesServerSupportUnstableFeature(`org.matrix.msc4140`)))throw new iF(`Server does not support the delayed events API`,`sendDelayedStateEvent`);var c={$roomId:e,$eventType:n,$stateKey:o},l=w(`/rooms/$roomId/state/$eventType`,c);return o!==void 0&&(l=w(l+`/$stateKey`,c)),a.http.authedRequest(N.Put,l,xL(t),r,s)})()}_unstable_sendStickyEvent(e,t,n,r,i,a){var s=this;return o(function*(){if(!(yield s.doesServerSupportUnstableFeature(`org.matrix.msc4354`)))throw new aF(`Server does not support the sticky events`,`sendStickyEvent`);return s.addThreadRelationIfNeeded(i,n,e),s.sendCompleteEvent({roomId:e,threadId:n,eventObject:{type:r,content:i},queryDict:{"org.matrix.msc4354.sticky_duration_ms":t},txnId:a})})()}_unstable_getDelayedEvents(e,t,n){var r=this;return o(function*(){if(!(yield r.doesServerSupportUnstableFeature(`org.matrix.msc4140`)))throw new iF(`Server does not support the delayed events API`,`getDelayedEvents`);var i={from:n,status:e,delay_id:t};return yield r.http.authedRequest(N.Get,`/delayed_events`,i,void 0,{prefix:`${F.Unstable}/${mL}`})})()}_unstable_updateDelayedEvent(e,t){var n=arguments,r=this;return o(function*(){var i=n.length>2&&n[2]!==void 0?n[2]:{};if(!(yield r.doesServerSupportUnstableFeature(`org.matrix.msc4140`)))throw new iF(`Server does not support the delayed events API`,`updateDelayedEvent`);return yield r.updateScheduledDelayedEventWithActionInBody(e,t,i)})()}_unstable_cancelScheduledDelayedEvent(e){var t=arguments,n=this;return o(function*(){var r=t.length>1&&t[1]!==void 0?t[1]:{};return yield n.updateScheduledDelayedEvent(e,uN.Cancel,r)})()}_unstable_restartScheduledDelayedEvent(e){var t=arguments,n=this;return o(function*(){var r=t.length>1&&t[1]!==void 0?t[1]:{};return yield n.updateScheduledDelayedEvent(e,uN.Restart,r)})()}_unstable_sendScheduledDelayedEvent(e){var t=arguments,n=this;return o(function*(){var r=t.length>1&&t[1]!==void 0?t[1]:{};return yield n.updateScheduledDelayedEvent(e,uN.Send,r)})()}updateScheduledDelayedEvent(e,t){var n=arguments,r=this;return o(function*(){var i=n.length>2&&n[2]!==void 0?n[2]:{};if(!(yield r.doesServerSupportUnstableFeature(`org.matrix.msc4140`)))throw new iF(`Server does not support the delayed events API`,`${t}ScheduledDelayedEvent`);try{var a=w(`/delayed_events/$delayId/$action`,{$delayId:e,$action:t});return yield r.http.request(N.Post,a,void 0,void 0,J(J({},i),{},{prefix:`${F.Unstable}/${mL}`}))}catch(n){if(n instanceof P&&n.errcode===`M_UNRECOGNIZED`)return yield r.updateScheduledDelayedEventWithActionInBody(e,t,i);throw n}})()}updateScheduledDelayedEventWithActionInBody(e,t){var n=arguments,r=this;return o(function*(){var i=n.length>2&&n[2]!==void 0?n[2]:{},a=w(`/delayed_events/$delayId`,{$delayId:e}),o={action:t};try{return yield r.http.request(N.Post,a,void 0,o,J(J({},i),{},{prefix:`${F.Unstable}/${mL}`}))}catch(e){if(e instanceof P&&e.errcode===`M_MISSING_TOKEN`)return yield r.http.authedRequest(N.Post,a,void 0,o,J(J({},i),{},{prefix:`${F.Unstable}/${mL}`}));throw e}})()}sendReceipt(e,t,n){var r=arguments,i=this;return o(function*(){var a=r.length>3&&r[3]!==void 0?r[3]:!1;if(i.isGuest())return Promise.resolve({});var o=w(`/rooms/$roomId/receipt/$receiptType/$eventId`,{$roomId:e.getRoomId(),$receiptType:t,$eventId:e.getId()}),s=!a&&i.supportsThreads()?J(J({},n),{},{thread_id:CL(e)}):n,c=i.http.authedRequest(N.Post,o,void 0,s||{}),l=i.getRoom(e.getRoomId());return l&&i.credentials.userId&&l.addLocalEchoReceipt(i.credentials.userId,e,t,a),c})()}sendReadReceipt(e){var t=arguments,n=this;return o(function*(){var r=t.length>1&&t[1]!==void 0?t[1]:oE.Read,i=t.length>2&&t[2]!==void 0?t[2]:!1;if(e){var a=e.getId(),o=n.getRoom(e.getRoomId());if(o!=null&&o.hasPendingEvent(a))throw Error(`Cannot set read receipt to a pending event (${a})`);return n.sendReceipt(e,r,{},i)}})()}setRoomReadMarkers(e,t,n,r){var i=this;return o(function*(){var a=i.getRoom(e);if(a!=null&&a.hasPendingEvent(t))throw Error(`Cannot set read marker to a pending event (${t})`);var o;if(n){if(o=n.getId(),a!=null&&a.hasPendingEvent(o))throw Error(`Cannot set read receipt to a pending event (${o})`);a?.addLocalEchoReceipt(i.credentials.userId,n,oE.Read)}var s;if(r){if(s=r.getId(),a!=null&&a.hasPendingEvent(s))throw Error(`Cannot set read receipt to a pending event (${s})`);a?.addLocalEchoReceipt(i.credentials.userId,r,oE.ReadPrivate)}return yield i.setRoomReadMarkersHttpRequest(e,t,o,s)})()}sendRtcDecline(e,t){return this.sendEvent(e,E.RTCDecline,{"m.relates_to":{event_id:t,rel_type:D.Reference}})}getUrlPreview(e,t){var n=this;return o(function*(){t=Math.floor(t/6e4)*6e4;var r=new URL(e);r.hash=``,e=r.toString();var i=t+`_`+e;if(i in n.urlPreviewCache)return n.urlPreviewCache[i];var a=yield n.isVersionSupported(`v1.11`),o=n.http.authedRequest(N.Get,a?`/media/preview_url`:`/preview_url`,{url:e,ts:t.toString()},void 0,{prefix:a?F.V1:pA.V3,priority:`low`});return n.urlPreviewCache[i]=o,o})()}sendTyping(e,t,n){if(this.isGuest())return Promise.resolve({});var r=w(`/rooms/$roomId/typing/$userId`,{$roomId:e,$userId:this.getUserId()}),i={typing:t};return t&&(i.timeout=n||2e4),this.http.authedRequest(N.Put,r,void 0,i)}getRoomUpgradeHistory(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,r=this.getRoom(e);if(!r)return[];var i=this.findPredecessorRooms(r,t,n),a=this.findSuccessorRooms(r,t,n);return[...i,r,...a]}findPredecessorRooms(e,t,n){for(var r=[],i=new Set([e.roomId]),a=e.findPredecessor(n)?.roomId;a!==null;){if(a){if(i.has(a))break;i.add(a)}var o=this.getRoom(a);if(o===null)break;if(t){var s=o.currentState.getStateEvents(E.RoomTombstone,``);if(!s||s.getContent().replacement_room!==e.roomId)break}r.splice(0,0,o),e=o,a=e.findPredecessor(n)?.roomId}return r}findSuccessorRooms(e,t,n){for(var r=[],i=e.currentState.getStateEvents(E.RoomTombstone,``);i;){var a=this.getRoom(i.getContent().replacement_room);if(!a||a.roomId===e.roomId)break;if(t){var o=a.findPredecessor(n)?.roomId;if(!o||o!==e.roomId)break}if(r.push(a),new Set(r.map(e=>e.roomId)).size<r.length)return r.slice(0,r.length-1);e=a,i=e.currentState.getStateEvents(E.RoomTombstone,``)}return r}invite(e,t){var n=arguments,r=this;return o(function*(){var i=n.length>2&&n[2]!==void 0?n[2]:{};if(typeof i!=`object`&&(i={reason:i}),i.shareEncryptedHistory){var a=r.getRoom(e)?.getHistoryVisibility()??gN.Shared;[gN.Invited,gN.Joined].includes(a)?r.logger.debug(`Not sharing message history as the room history visibility is currently unshared`):yield r.cryptoBackend?.shareRoomHistoryWithUser(e,t)}return yield r.membershipChange(e,t,O.Invite,i.reason)})()}inviteByEmail(e,t){return this.inviteByThreePid(e,`email`,t)}inviteByThreePid(e,t,n){var r=this;return o(function*(){var i,a=w(`/rooms/$roomId/invite`,{$roomId:e}),o=r.getIdentityServerUrl(!0);if(!o)return Promise.reject(new P({error:`No supplied identity server URL`,errcode:`ORG.MATRIX.JSSDK_MISSING_PARAM`}));var s={id_server:o,medium:t,address:n};if((i=r.identityServer)!=null&&i.getAccessToken){var c=yield r.identityServer.getAccessToken();c&&(s.id_access_token=c)}return r.http.authedRequest(N.Post,a,void 0,s)})()}leave(e){return this.membershipChange(e,void 0,O.Leave)}leaveRoomChain(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=this.getRoomUpgradeHistory(e,!0),r=n;if(!t){r=[];for(var i of n)if(r.push(i),i.roomId===e)break}var a={},o=[],s=e=>this.leave(e).then(()=>{delete a[e]}).catch(t=>{a[e]=t});for(var c of r)o.push(s(c.roomId));return Promise.all(o).then(()=>a)}ban(e,t,n){return this.membershipChange(e,t,O.Ban,n)}forget(e){var t=arguments,n=this;return o(function*(){var r=t.length>1&&t[1]!==void 0?t[1]:!0,i=w(`/rooms/$room_id/forget`,{$room_id:e}),a=yield n.http.authedRequest(N.Post,i);return r&&(n.store.removeRoom(e),n.emit(Y.DeleteRoom,e)),a})()}unban(e,t){var n=w(`/rooms/$roomId/unban`,{$roomId:e}),r={user_id:t};return this.http.authedRequest(N.Post,n,void 0,r)}kick(e,t,n){var r=w(`/rooms/$roomId/kick`,{$roomId:e}),i={user_id:t,reason:n};return this.http.authedRequest(N.Post,r,void 0,i)}membershipChange(e,t,n,r){var i=w(`/rooms/$room_id/$membership`,{$room_id:e,$membership:n});return this.http.authedRequest(N.Post,i,void 0,{user_id:t,reason:r})}getPushActionsForEvent(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(!e.getPushActions()||t){var{actions:n,rule:r}=this.pushProcessor.actionsAndRuleForEvent(e);e.setPushDetails(n,r)}return e.getPushActions()}getPushDetailsForEvent(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(!e.getPushDetails()||t){var{actions:n,rule:r}=this.pushProcessor.actionsAndRuleForEvent(e);e.setPushDetails(n,r)}return e.getPushDetails()}setProfileInfo(e,t){var n=w(`/profile/$userId/$info`,{$userId:this.credentials.userId,$info:e});return this.http.authedRequest(N.Put,n,void 0,t)}setDisplayName(e){var t=this;return o(function*(){var n=yield t.setProfileInfo(`displayname`,{displayname:e}),r=t.getUser(t.getUserId());return r&&(r.displayName=e,r.emit(_O.DisplayName,r.events.presence,r)),n})()}setAvatarUrl(e){var t=this;return o(function*(){var n=yield t.setProfileInfo(`avatar_url`,{avatar_url:e}),r=t.getUser(t.getUserId());return r&&(r.avatarUrl=e,r.emit(_O.AvatarUrl,r.events.presence,r)),n})()}mxcUrlToHttp(e,t,n,r,i,a,o){return pD(this.baseUrl,e,t,n,r,i,a,o)}setSyncPresence(e){var t=this;return o(function*(){var n;(n=t.syncApi)==null||n.setPresence(e)})()}setPresence(e){var t=this;return o(function*(){var n=w(`/presence/$userId/status`,{$userId:t.credentials.userId});if([`offline`,`online`,`unavailable`].indexOf(e.presence)===-1)throw Error(`Bad presence value: `+e.presence);yield t.http.authedRequest(N.Put,n,void 0,e)})()}getPresence(e){var t=w(`/presence/$userId/status`,{$userId:e});return this.http.authedRequest(N.Get,t)}scrollback(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:30,n=0,r=this.ongoingScrollbacks[e.roomId]||{};if(r.promise)return r.promise;if(r.errorTs){var i=Date.now()-r.errorTs;n=Math.max(oL-i,0)}if(e.oldState.paginationToken===null)return Promise.resolve(e);var a=this.store.scrollback(e,t).length;if(a===t)return Promise.resolve(e);t-=a;var o=new Promise((r,i)=>{OE(n).then(()=>this.createMessagesRequest(e.roomId,e.oldState.paginationToken,t,k.Backward)).then(t=>{var n=t.chunk.map(this.getEventMapper());if(t.state){var i=t.state.map(this.getEventMapper());e.currentState.setUnknownStateEvents(i)}var[a,o,s]=e.partitionThreadedEvents(n);this.processAggregatedTimelineEvents(e,a),e.addEventsToTimeline(a,!0,!0,e.getLiveTimeline()),this.processThreadEvents(e,o,!0),s.forEach(t=>e.relations.aggregateChildEvent(t)),e.oldState.paginationToken=t.end??null,t.chunk.length===0&&(e.oldState.paginationToken=null),this.store.storeEvents(e,n,t.end??null,!0),delete this.ongoingScrollbacks[e.roomId],r(e)}).catch(t=>{this.ongoingScrollbacks[e.roomId]={errorTs:Date.now()},i(t)})});return r={promise:o},this.ongoingScrollbacks[e.roomId]=r,o}getEventMapper(e){return yN(this,e||{})}getEventContext(e,t){var n=this;return o(function*(){var r,i=w(`/rooms/$roomId/context/$eventId`,{$roomId:e,$eventId:t}),a={limit:`0`};(r=n.clientOpts)!=null&&r.lazyLoadMembers&&(a.filter=JSON.stringify(FO.LAZY_LOADING_MESSAGES_FILTER));var o=yield n.http.authedRequest(N.Get,i,a);if(o.event)return{start:o.start,end:o.end,event:o.event,events_after:o.events_after??[],events_before:o.events_before??[],state:o.state??[]};throw Error(`'event' not in '/context' result - homeserver too old?`)})()}getEventTimeline(e,t){var n=this;return o(function*(){if(!n.timelineSupport)throw Error(`timeline support is disabled. Set the 'timelineSupport' parameter to true when creating MatrixClient to enable it.`);if(!(e!=null&&e.room))throw Error(`getEventTimeline only supports room timelines`);if(e.getTimelineForEvent(t))return e.getTimelineForEvent(t);if(e.thread&&n.supportsThreads())return(yield n.getThreadTimeline(e,t))??null;var r=yield n.getEventContext(e.room.roomId,t);if(e.getTimelineForEvent(t))return e.getTimelineForEvent(t);var i=n.getEventMapper(),a=i(r.event);if(a.isRelation(X.name))return n.logger.warn(`Tried loading a regular timeline at the position of a thread event`),null;var o=[...r.events_after.reverse().map(i),a,...r.events_before.map(i)],s=e.getTimelineForEvent(o[0].getId());s?s.getState(A.BACKWARDS).setUnknownStateEvents(r.state.map(i)):(s=e.addTimeline(),s.initialiseState(r.state.map(i)),s.getState(A.FORWARDS).paginationToken=r.end??null);var[c,l,u]=e.room.partitionThreadedEvents(o);return e.addEventsToTimeline(c,!0,!1,s,r.start),n.processThreadEvents(e.room,l,!0),n.processAggregatedTimelineEvents(e.room,c),u.forEach(t=>e.relations.aggregateChildEvent(t)),e.getTimelineForEvent(t)??e.room.findThreadForEvent(a)?.liveTimeline??s})()}getThreadTimeline(e,t){var n=this;return o(function*(){if(!n.supportsThreads())throw Error(`could not get thread timeline: no client support`);if(!e.room)throw Error(`could not get thread timeline: not a room timeline`);if(!e.thread)throw Error(`could not get thread timeline: not a thread timeline`);var r=yield n.getEventContext(e.room.roomId,t),i=n.getEventMapper(),a=i(r.event);if(e.canContain(a)){var o=n.canSupport.get(VA.RelationsRecursion)!==BA.Unsupported;if(AL.hasServerSideSupport)if(AL.hasServerSideFwdPaginationSupport){if(!e.thread)throw Error(`could not get thread timeline: not a thread timeline`);var s=e.thread,c=yield n.fetchRelations(e.room.roomId,s.id,null,null,{dir:k.Backward,from:r.start,recurse:o||void 0}),l=yield n.fetchRelations(e.room.roomId,s.id,null,null,{dir:k.Forward,from:r.end,recurse:o||void 0}),u=[...l.chunk.reverse().filter(jF(s.id)).map(i),a,...c.chunk.filter(jF(s.id)).map(i)];for(var d of u)yield e.thread?.processEvent(d);var f=e.getTimelineForEvent(a.getId());if(f?f.getState(A.BACKWARDS).setUnknownStateEvents(r.state.map(i)):(f=e.addTimeline(),f.initialiseState(r.state.map(i))),e.addEventsToTimeline(u,!0,!1,f,l.next_batch),!c.next_batch){var p=yield n.fetchRoomEvent(e.room.roomId,s.id);e.addEventsToTimeline([i(p)],!0,!1,f,null)}return f.setPaginationToken(c.next_batch??null,k.Backward),f.setPaginationToken(l.next_batch??null,k.Forward),n.processAggregatedTimelineEvents(e.room,u),e.getTimelineForEvent(t)??f}else{for(var m=e.thread,h=yield n.fetchRelations(e.room.roomId,m.id,X.name,null,{dir:k.Backward,from:r.start,recurse:o||void 0}),g=[],_=r.end;_;){var v=yield n.fetchRelations(e.room.roomId,m.id,X.name,null,{dir:k.Forward,from:_,recurse:o||void 0});_=v.next_batch,g.push(...v.chunk)}var y=[...g.reverse().map(i),a,...h.chunk.map(i)];for(var b of y)yield e.thread?.processEvent(b);var x=e.getLiveTimeline();if(x.getState(A.BACKWARDS).setUnknownStateEvents(r.state.map(i)),e.addEventsToTimeline(y,!0,!1,x,null),!h.next_batch){var S=yield n.fetchRoomEvent(e.room.roomId,m.id);e.addEventsToTimeline([i(S)],!0,!1,x,null)}return x.setPaginationToken(h.next_batch??null,k.Backward),x.setPaginationToken(null,k.Forward),n.processAggregatedTimelineEvents(e.room,y),x}}})()}getLatestTimeline(e){var t=this;return o(function*(){if(!t.timelineSupport)throw Error(`timeline support is disabled. Set the 'timelineSupport' parameter to true when creating MatrixClient to enable it.`);if(!e.room)throw Error(`getLatestTimeline only supports room timelines`);var n;if(e.threadListType!==null)n=(yield t.createThreadListMessagesRequest(e.room.roomId,null,1,k.Backward,e.threadListType,e.getFilter())).chunk?.[0];else if(e.thread&&AL.hasServerSideSupport){var r=t.canSupport.get(VA.RelationsRecursion)!==BA.Unsupported;n=(yield t.fetchRelations(e.room.roomId,e.thread.id,X.name,null,{dir:k.Backward,limit:1,recurse:r||void 0})).chunk?.[0]}else{var i,a=w(`/rooms/$roomId/messages`,{$roomId:e.room.roomId}),o={dir:`b`};(i=t.clientOpts)!=null&&i.lazyLoadMembers&&(o.filter=JSON.stringify(FO.LAZY_LOADING_MESSAGES_FILTER)),n=(yield t.http.authedRequest(N.Get,a,o)).chunk?.[0]}if(!n)throw Error(`No message returned when trying to construct getLatestTimeline`);return t.getEventTimeline(e,n.event_id)})()}createMessagesRequest(e,t){var n,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:30,i=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0,o=w(`/rooms/$roomId/messages`,{$roomId:e}),s={limit:r.toString(),dir:i};t&&(s.from=t);var c=null;return(n=this.clientOpts)!=null&&n.lazyLoadMembers&&(c=Object.assign({},FO.LAZY_LOADING_MESSAGES_FILTER)),a&&(c||={},Object.assign(c,a.getRoomTimelineFilterComponent()?.toJSON())),c&&(s.filter=JSON.stringify(c)),this.http.authedRequest(N.Get,o,s)}createThreadListMessagesRequest(e,t){var n,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:30,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:k.Backward,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:PL.All,o=arguments.length>5?arguments[5]:void 0,s=w(`/rooms/$roomId/threads`,{$roomId:e}),c={limit:r.toString(),dir:i,include:FL(a)};t&&(c.from=t);var l={};(n=this.clientOpts)!=null&&n.lazyLoadMembers&&(l=J({},FO.LAZY_LOADING_MESSAGES_FILTER)),o&&(l=J(J({},l),o.getRoomTimelineFilterComponent()?.toJSON())),Object.keys(l).length&&(c.filter=JSON.stringify(l));var u={prefix:AL.hasServerSideListSupport===OL.Stable?F.V1:`/_matrix/client/unstable/org.matrix.msc3856`};return this.http.authedRequest(N.Get,s,c,void 0,u).then(e=>J(J({},e),{},{chunk:e.chunk?.reverse(),start:e.prev_batch,end:e.next_batch}))}paginateEventTimeline(e,t){var n=this,r=e.getTimelineSet()===this.notifTimelineSet,i=this.getRoom(e.getRoomId()),a=e.getTimelineSet().threadListType,s=e.getTimelineSet().thread;t||={};var c=t.backwards||!1;if(r&&!c)throw Error(`paginateNotifTimeline can only paginate backwards`);var l=c?A.BACKWARDS:A.FORWARDS,u=e.getPaginationToken(l),d=e.paginationRequests[l];if(d)return d;var f,p,m;if(r)f=`/notifications`,p={limit:(t.limit??30).toString(),only:`highlight`},u&&u!==`end`&&(p.from=u),m=this.http.authedRequest(N.Get,f,p).then(function(){var t=o(function*(t){var r=t.next_token,i=[];t.notifications=t.notifications.filter(eD);for(var a=0;a<t.notifications.length;a++){var o=t.notifications[a],s=n.getEventMapper()(o.event);n.getPushDetailsForEvent(s,!0),s.event.room_id=o.room_id,i[a]=s}var u=e.getTimelineSet();return u.addEventsToTimeline(i,c,!1,e,r),n.processAggregatedTimelineEvents(u.room,i),c&&!t.next_token&&e.setPaginationToken(null,l),!!t.next_token});return function(e){return t.apply(this,arguments)}}()).finally(()=>{e.paginationRequests[l]=null}),e.paginationRequests[l]=m;else if(a!==null){if(!i)throw Error(`Unknown room `+e.getRoomId());if(!AL.hasServerSideFwdPaginationSupport&&l===k.Forward)throw Error(`Cannot paginate threads forwards without server-side support for MSC 3715`);m=this.createThreadListMessagesRequest(e.getRoomId(),u,t.limit,l,a,e.getFilter()).then(t=>{if(t.state){var n=e.getState(l),r=t.state.filter(eD).map(this.getEventMapper());n.setUnknownStateEvents(r)}var a=t.end,o=t.chunk.filter(eD).map(this.getEventMapper());return e.getTimelineSet().addEventsToTimeline(o,c,!1,e,a),this.processAggregatedTimelineEvents(i,o),this.processThreadRoots(i,o,c),c&&t.end==t.start&&e.setPaginationToken(null,l),t.end!==t.start}).finally(()=>{e.paginationRequests[l]=null}),e.paginationRequests[l]=m}else if(s){var h=this.getRoom(e.getRoomId()??void 0);if(!h)throw Error(`Unknown room `+e.getRoomId());var g=this.canSupport.get(VA.RelationsRecursion)!==BA.Unsupported;m=this.fetchRelations(e.getRoomId()??``,s.id,null,null,{dir:l,limit:t.limit,from:u??void 0,recurse:g||void 0}).then(function(){var t=o(function*(t){var r=n.getEventMapper(),i=t.chunk.filter(eD).filter(jF(s.id)).map(r);for(var a of i.slice().reverse()){yield s?.processEvent(a);var o=a.getSender();(!c||s?.getEventReadUpTo(o)===null)&&h.addLocalEchoReceipt(o,a,oE.Read)}var u=t.next_batch,d=e.getTimelineSet();if(d.addEventsToTimeline(i,c,!1,e,u??null),!u&&c){var f=s.rootEvent??r(yield n.fetchRoomEvent(e.getRoomId()??``,s.id));d.addEventsToTimeline([f],!0,!1,e,null)}return n.processAggregatedTimelineEvents(d.room,i),c&&!u&&e.setPaginationToken(null,l),!!u});return function(e){return t.apply(this,arguments)}}()).finally(()=>{e.paginationRequests[l]=null}),e.paginationRequests[l]=m}else{if(!i)throw Error(`Unknown room `+e.getRoomId());m=this.createMessagesRequest(e.getRoomId(),u,t.limit,l,e.getFilter()).then(t=>{if(t.state){var n=e.getState(l),r=t.state.filter(eD).map(this.getEventMapper());n.setUnknownStateEvents(r)}var a=t.end,o=t.chunk.filter(eD).map(this.getEventMapper()),s=e.getTimelineSet(),[u,,d]=i.partitionThreadedEvents(o);s.addEventsToTimeline(u,c,!1,e,a),this.processAggregatedTimelineEvents(i,u),this.processThreadRoots(i,u.filter(e=>e.getServerAggregatedRelation(X.name)),!1),d.forEach(e=>i.relations.aggregateChildEvent(e));var f=t.end===void 0||t.end===t.start;return c&&f&&e.setPaginationToken(null,l),!f}).finally(()=>{e.paginationRequests[l]=null}),e.paginationRequests[l]=m}return m}resetNotifTimelineSet(){this.notifTimelineSet&&this.notifTimelineSet.resetLiveTimeline(`end`)}peekInRoom(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:20;return(t=this.peekSync)==null||t.stopPeeking(),this.peekSync=new ej(this,this.clientOpts,this.buildSyncApiOptions()),this.peekSync.peek(e,n)}stopPeeking(){this.peekSync&&=(this.peekSync.stopPeeking(),null)}setGuestAccess(e,t){var n=this.sendStateEvent(e,E.RoomGuestAccess,{guest_access:t.allowJoin?hN.CanJoin:hN.Forbidden},``),r=Promise.resolve();return t.allowRead&&(r=this.sendStateEvent(e,E.RoomHistoryVisibility,{history_visibility:gN.WorldReadable},``)),Promise.all([r,n]).then()}requestRegisterEmailToken(e,t,n,r){return this.requestTokenFromEndpoint(`/register/email/requestToken`,{email:e,client_secret:t,send_attempt:n,next_link:r})}requestRegisterMsisdnToken(e,t,n,r,i){return this.requestTokenFromEndpoint(`/register/msisdn/requestToken`,{country:e,phone_number:t,client_secret:n,send_attempt:r,next_link:i})}requestAdd3pidEmailToken(e,t,n,r){return this.requestTokenFromEndpoint(`/account/3pid/email/requestToken`,{email:e,client_secret:t,send_attempt:n,next_link:r})}requestAdd3pidMsisdnToken(e,t,n,r,i){return this.requestTokenFromEndpoint(`/account/3pid/msisdn/requestToken`,{country:e,phone_number:t,client_secret:n,send_attempt:r,next_link:i})}requestPasswordEmailToken(e,t,n,r){return this.requestTokenFromEndpoint(`/account/password/email/requestToken`,{email:e,client_secret:t,send_attempt:n,next_link:r})}requestPasswordMsisdnToken(e,t,n,r,i){return this.requestTokenFromEndpoint(`/account/password/msisdn/requestToken`,{country:e,phone_number:t,client_secret:n,send_attempt:r,next_link:i})}requestTokenFromEndpoint(e,t){var n=this;return o(function*(){var r=Object.assign({},t);return n.http.request(N.Post,e,void 0,r)})()}getRoomPushRule(e,t){if(this.pushRules){var n;return(n=this.pushRules[e])==null||(n=n.room)==null?void 0:n.find(e=>e.rule_id===t)}else throw Error(`SyncApi.sync() must be done before accessing to push rules.`)}setRoomMutePushRule(e,t,n){var r,i=!1,a=this.getRoomPushRule(e,t);if(a!=null&&a.actions.includes(LM.DontNotify)&&(i=!0),!n)i&&(r=this.deletePushRule(e,HM.RoomSpecific,a.rule_id));else if(!a)r=this.addPushRule(e,HM.RoomSpecific,t,{actions:[LM.DontNotify]});else if(!i){var o=Promise.withResolvers();this.deletePushRule(e,HM.RoomSpecific,a.rule_id).then(()=>{this.addPushRule(e,HM.RoomSpecific,t,{actions:[LM.DontNotify]}).then(()=>{o.resolve()}).catch(e=>{o.reject(e)})}).catch(e=>{o.reject(e)}),r=o.promise}if(r)return new Promise((e,t)=>{r.then(()=>{this.getPushRules().then(t=>{this.pushRules=t,e()}).catch(e=>{t(e)})}).catch(e=>{this.getPushRules().then(n=>{this.pushRules=n,t(e)}).catch(n=>{t(e)})})})}searchMessageText(e){var t={search_term:e.query};return`keys`in e&&(t.keys=e.keys),this.search({body:{search_categories:{room_events:t}}})}searchRoomEvents(e){var t={search_categories:{room_events:{search_term:e.term,filter:e.filter,order_by:ON.Recent,event_context:{before_limit:1,after_limit:1,include_profile:!0}}}},n={_query:t,results:[],highlights:[]};return this.search({body:t}).then(e=>this.processRoomEventsSearch(n,e))}backPaginateRoomEventsSearch(e){if(!e.next_batch)return Promise.reject(Error(`Cannot backpaginate event search any further`));if(e.pendingRequest)return e.pendingRequest;var t={body:e._query,next_batch:e.next_batch},n=this.search(t,e.abortSignal).then(t=>this.processRoomEventsSearch(e,t)).finally(()=>{e.pendingRequest=void 0});return e.pendingRequest=n,n}processRoomEventsSearch(e,t){var n=t.search_categories.room_events;e.count=n.count,e.next_batch=n.next_batch;var r=new Set(n.highlights);e.highlights.forEach(e=>{r.add(e)}),e.highlights=Array.from(r);for(var i=this.getEventMapper(),a=n.results?.length??0,o=0;o<a;o++){var s=cN.fromJson(n.results[o],i),c=this.getRoom(s.context.getEvent().getRoomId());if(c)for(var l of s.context.getTimeline())l.setMetadata(c.currentState,!1);e.results.push(s)}return e}syncLeftRooms(){return this.syncedLeftRooms?Promise.resolve([]):this.syncLeftRoomsPromise?this.syncLeftRoomsPromise:(this.syncLeftRoomsPromise=new ej(this,this.clientOpts,this.buildSyncApiOptions()).syncLeftRooms(),this.syncLeftRoomsPromise.then(()=>{this.logger.debug(`Marking success of sync left room request`),this.syncedLeftRooms=!0}).finally(()=>{this.syncLeftRoomsPromise=void 0}),this.syncLeftRoomsPromise)}createFilter(e){var t=w(`/user/$userId/filter`,{$userId:this.credentials.userId});return this.http.authedRequest(N.Post,t,void 0,e).then(t=>{var n=FO.fromJson(this.credentials.userId,t.filter_id,e);return this.store.storeFilter(n),n})}getFilter(e,t,n){if(n){var r=this.store.getFilter(e,t);if(r)return Promise.resolve(r)}var i=w(`/user/$userId/filter/$filterId`,{$userId:e,$filterId:t});return this.http.authedRequest(N.Get,i).then(n=>{var r=FO.fromJson(e,t,n);return this.store.storeFilter(r),r})}getOrCreateFilter(e,t){var n=this;return o(function*(){var r=n.store.getFilterIdByName(e),i;if(r){try{var a=yield n.getFilter(n.credentials.userId,r,!0);a&&vE(a.getDefinition(),t.getDefinition())&&(i=r)}catch(e){if(e.errcode!==`M_UNKNOWN`&&e.errcode!==`M_NOT_FOUND`)throw e}i||n.store.setFilterIdByName(e,void 0)}if(i)return i;var o=yield n.createFilter(t.getDefinition());return n.store.setFilterIdByName(e,o.filterId),o.filterId})()}getOpenIdToken(){var e=w(`/user/$userId/openid/request_token`,{$userId:this.credentials.userId});return this.http.authedRequest(N.Post,e,void 0,{})}turnServer(){return this.http.authedRequest(N.Get,`/voip/turnServer`)}getTurnServers(){return this.turnServers||[]}getTurnServersExpiry(){return this.turnServersExpiry}get pollingTurnServers(){return this.checkTurnServersIntervalID!==void 0}checkTurnServers(){var e=this;return o(function*(){if(e.supportsVoip()){var t=!1,n=e.turnServersExpiry-Date.now();if(n>sL)e.logger.debug(`TURN creds are valid for another `+n+` ms: not fetching new ones.`),t=!0;else{e.logger.debug(`Fetching new TURN credentials`);try{var r=yield e.turnServer();r.uris&&(e.logger.debug(`Got TURN URIs: `+r.uris+` refresh in `+r.ttl+` secs`),e.turnServers=[{urls:r.uris,username:r.username,credential:r.password}],e.turnServersExpiry=Date.now()+r.ttl*1e3,t=!0,e.emit(Y.TurnServers,e.turnServers))}catch(t){e.logger.error(`Failed to get TURN URIs`,t),t.httpStatus===403?(e.logger.info(`TURN access unavailable for this account: stopping credentials checks`),e.checkTurnServersIntervalID!==null&&globalThis.clearInterval(e.checkTurnServersIntervalID),e.checkTurnServersIntervalID=void 0,e.emit(Y.TurnServersError,t,!0)):e.emit(Y.TurnServersError,t,!1)}}return t}})()}setFallbackICEServerAllowed(e){this.fallbackICEServerAllowed=e}isFallbackICEServerAllowed(){return this.fallbackICEServerAllowed}isSynapseAdministrator(){var e=w(`/_synapse/admin/v1/users/$userId/admin`,{$userId:this.getUserId()});return this.http.authedRequest(N.Get,e,void 0,void 0,{prefix:``}).then(e=>e.admin)}whoisSynapseUser(e){var t=w(`/_synapse/admin/v1/whois/$userId`,{$userId:e});return this.http.authedRequest(N.Get,t,void 0,void 0,{prefix:``})}deactivateSynapseUser(e){var t=w(`/_synapse/admin/v1/deactivate/$userId`,{$userId:e});return this.http.authedRequest(N.Post,t,void 0,void 0,{prefix:``})}fetchClientWellKnown(){var e=this;return o(function*(){e.clientWellKnownPromise=aN.getRawClientConfig(e.getDomain()??void 0),e.clientWellKnown=yield e.clientWellKnownPromise,e.emit(Y.ClientWellKnown,e.clientWellKnown)})()}getClientWellKnown(){return this.clientWellKnown}waitForClientWellKnown(){if(!this.clientRunning)throw Error(`Client is not running`);return this.clientWellKnownPromise}storeClientOptions(){var e=[`boolean`,`string`,`number`],t=Object.entries(this.clientOpts).filter(t=>{var[n,r]=t;return e.includes(typeof r)}).reduce((e,t)=>{var[n,r]=t;return e[n]=r,e},{});return this.store.storeClientOptions(t)}_unstable_getSharedRooms(e){var t=this;return o(function*(){var n=yield t.doesServerSupportUnstableFeature(dL),r=yield t.doesServerSupportUnstableFeature(fL),i=yield t.doesServerSupportUnstableFeature(pL);if(!n&&!r&&!i)throw Error(`Server does not support the Mutual Rooms API`);var a,o;i?(a=`/uk.half-shot.msc2666/user/mutual_rooms`,o={user_id:e}):(a=w(`/uk.half-shot.msc2666/user/${r?`mutual_rooms`:`shared_rooms`}/\$userId`,{$userId:e}),o={});var s=[],c=null;do{var l={};c!=null&&i&&(l.batch_token=c);var u=yield t.http.authedRequest(N.Get,a,J(J({},o),l),void 0,{prefix:F.Unstable});s.push(...u.joined),c=u.next_batch_token===void 0?null:u.next_batch_token}while(c!=null);return s})()}_unstable_getRTCTransports(){var e=this;return o(function*(){return(yield e.http.authedRequest(N.Get,`/rtc/transports`,void 0,void 0,{prefix:`${F.Unstable}/org.matrix.msc4143`})).rtc_transports})()}getVersions(){var e=this;return o(function*(){return e.serverVersionsPromise?e.serverVersionsPromise:(e.serverVersionsPromise=e.http.authedRequest(N.Get,`/_matrix/client/versions`,void 0,void 0,{prefix:``}).catch(t=>{throw e.serverVersionsPromise=void 0,t}),e.canSupport=yield UA(yield e.serverVersionsPromise),e.serverVersionsPromise)})()}isVersionSupported(e){var t=this;return o(function*(){var{versions:n}=yield t.getVersions();return n&&n.includes(e)})()}doesServerSupportUnstableFeature(e){var t=this;return o(function*(){var n=yield t.getVersions();if(!n)return!1;var r=n.unstable_features;return r&&!!r[e]})()}doesServerForceEncryptionForPreset(e){var t=this;return o(function*(){var n=yield t.getVersions();if(!n)return!1;var r=n.unstable_features,i=e.includes(`_chat`)?e.substring(0,e.indexOf(`_chat`)):e;return r&&!!r[`io.element.e2ee_forced.${i}`]})()}doesServerSupportThread(){var e=this;return o(function*(){if(yield e.isVersionSupported(`v1.4`))return{threads:OL.Stable,list:OL.Stable,fwdPagination:OL.Stable};try{var[t,n,r,i,a,o]=yield Promise.all([e.doesServerSupportUnstableFeature(`org.matrix.msc3440`),e.doesServerSupportUnstableFeature(`org.matrix.msc3440.stable`),e.doesServerSupportUnstableFeature(`org.matrix.msc3856`),e.doesServerSupportUnstableFeature(`org.matrix.msc3856.stable`),e.doesServerSupportUnstableFeature(`org.matrix.msc3715`),e.doesServerSupportUnstableFeature(`org.matrix.msc3715.stable`)]);return{threads:kL(n,t),list:kL(i,r),fwdPagination:kL(o,a)}}catch{return{threads:OL.None,list:OL.None,fwdPagination:OL.None}}})()}hasLazyLoadMembersEnabled(){var e;return!!((e=this.clientOpts)!=null&&e.lazyLoadMembers)}setCanResetTimelineCallback(e){this.canResetTimelineCallback=e}getCanResetTimelineCallback(){return this.canResetTimelineCallback}relations(e,t,n,r){var i=arguments,a=this;return o(function*(){var o=i.length>4&&i[4]!==void 0?i[4]:{dir:k.Backward},s=r?a.getEncryptedIfNeededEventType(e,r):null,[c,l]=yield Promise.all([a.fetchRoomEvent(e,t),a.fetchRelations(e,t,n,s,o)]),u=a.getEventMapper(),d=c?u(c):void 0,f=l.chunk.map(u);if(s===E.RoomMessageEncrypted){var p=d?f.concat(d):f;yield Promise.all(p.map(e=>a.decryptEventIfNeeded(e))),r!==null&&(f=f.filter(e=>e.getType()===r))}return d&&n===D.Replace&&(f=f.filter(e=>e.getSender()===d.getSender())),{originalEvent:d??null,events:f,nextBatch:l.next_batch??null,prevBatch:l.prev_batch??null}})()}generateClientSecret(){return Ej(32)}decryptEventIfNeeded(e,t){return e.isState()&&!this.enableEncryptedStateEvents?Promise.resolve():(e.shouldAttemptDecryption()&&this.getCrypto()&&e.attemptDecryption(this.cryptoBackend,t),e.isBeingDecrypted()?e.getDecryptionPromise():Promise.resolve())}termsUrlForService(e,t){switch(e){case oN.IS:return this.http.getUrl(`/terms`,void 0,fA.V2,t);case oN.IM:return this.http.getUrl(`/terms`,void 0,`/_matrix/integrations/v1`,t);default:throw Error(`Unsupported service type`)}}getHomeserverUrl(){return this.baseUrl}getIdentityServerUrl(){var e,t;return arguments.length>0&&arguments[0]!==void 0&&arguments[0]&&((e=this.idBaseUrl)!=null&&e.startsWith(`http://`)||(t=this.idBaseUrl)!=null&&t.startsWith(`https://`))?this.idBaseUrl.split(`://`)[1]:this.idBaseUrl}setIdentityServerUrl(e){this.idBaseUrl=DE(e),this.http.setIdBaseUrl(this.idBaseUrl)}getAccessToken(){return this.http.opts.accessToken||null}getRefreshToken(){return this.http.opts.refreshToken??null}setAccessToken(e){this.http.opts.accessToken=e,this.serverVersionsPromise=void 0}isLoggedIn(){return this.http.opts.accessToken!==void 0}makeTxnId(){return`m`+new Date().getTime()+`.`+ this.txnCtr++}isUsernameAvailable(e){return this.http.authedRequest(N.Get,`/register/available`,{username:e}).then(e=>e.available).catch(e=>e.errcode===`M_USER_IN_USE`?!1:Promise.reject(e))}register(e,t,n,r,i,a,o){n&&(r.session=n);var s={auth:r,refresh_token:!0};return e!=null&&(s.username=e),t!=null&&(s.password=t),a!=null&&(s.guest_access_token=a),o!=null&&(s.inhibit_login=o),this.registerRequest(s)}registerGuest(){var{body:e}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.registerRequest(e||{},`guest`)}registerRequest(e,t){var n={};return t&&(n.kind=t),this.http.request(N.Post,`/register`,n,e)}refreshToken(e){var t=t=>this.http.authedRequest(N.Post,`/refresh`,void 0,{refresh_token:e},{prefix:t,inhibitLogoutEmit:!0});return t(F.V3).catch(e=>{if(e.errcode===`M_UNRECOGNIZED`)return t(F.V1);throw e})}loginFlows(){return this.http.request(N.Get,`/login`)}login(e,t){return this.loginRequest(J(J({},t),{},{type:e})).then(e=>(e.access_token&&e.user_id&&(this.http.opts.accessToken=e.access_token,this.credentials={userId:e.user_id}),e))}loginWithPassword(e,t){return this.login(`m.login.password`,{user:e,password:t})}getCasLoginUrl(e){return this.getSsoLoginUrl(e,`cas`)}getSsoLoginUrl(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`sso`,n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,i=`/login/`+t+`/redirect`;n&&(i+=`/`+n);var a={redirectUrl:e,[yL.stable]:r,[yL.unstable]:r};return this.http.getUrl(i,a).href}loginWithToken(e){return this.login(`m.login.token`,{token:e})}loginRequest(e){var t=this;return o(function*(){return yield t.http.authedRequest(N.Post,`/login`,void 0,e)})()}logout(){var e=arguments,t=this;return o(function*(){return e.length>0&&e[0]!==void 0&&e[0]&&(t.stopClient(),t.http.abort()),t.http.authedRequest(N.Post,`/logout`)})()}deactivateAccount(e,t){var n={};return e&&(n.auth=e),t!==void 0&&(n.erase=t),this.http.authedRequest(N.Post,`/account/deactivate`,void 0,n)}requestLoginToken(e){var t=this;return o(function*(){var n={auth:e};return t.http.authedRequest(N.Post,`/login/get_token`,void 0,n,{prefix:F.V1})})()}getFallbackAuthUrl(e,t){var n=w(`/auth/$loginType/fallback/web`,{$loginType:e});return this.http.getUrl(n,{session:t}).href}createRoom(e){var t=this;return o(function*(){var n,r=(e.invite_3pid||[]).filter(e=>!e.id_access_token);if(r.length>0&&(n=t.identityServer)!=null&&n.getAccessToken){var i=yield t.identityServer.getAccessToken();if(i)for(var a of r)a.id_access_token=i}return t.http.authedRequest(N.Post,`/createRoom`,void 0,e)})()}fetchRelations(e,t,n,r){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{dir:k.Backward};AL.hasServerSideFwdPaginationSupport===OL.Experimental&&(i=mE(`dir`,`org.matrix.msc3715.dir`,i)),this.canSupport.get(VA.RelationsRecursion)===BA.Unstable&&(i=mE(`recurse`,`org.matrix.msc3981.recurse`,i));var a=pE(i),o=`/rooms/$roomId/relations/$eventId`;n===null?r!==null&&(this.logger.warn(`eventType: ${r} ignored when fetching
|
|
15
|
+
Date.now: "${Date.now()}`);try{i=yield e.membershipLoopHandler(t.type)}catch(e){throw Error(`The MembershipManager shut down because of the end condition: ${e}`)}}e._actions.splice(0,1);var a=n??i;`replace`in a?e._actions=a.replace:`insert`in a&&e._actions.push(...a.insert)};e._actions.length>0;)yield*t()}finally{e.running=!1}e.logger.debug(`Leave MembershipManager ActionScheduler loop (no more actions)`)})()}initiateJoin(){var e;(e=this.wakeup)==null||e.call(this,{replace:[{ts:Date.now(),type:q.SendDelayedEvent}]})}initiateLeave(){var e;(e=this.wakeup)==null||e.call(this,{replace:[{ts:Date.now(),type:q.SendScheduledDelayedLeaveEvent}]})}},eF=function(e){return e.TooNew=`TOO_NEW`,e}({}),tF=class extends Error{constructor(e){var t=`Crypto store is invalid because ${e}, please stop the client, delete all data and start the client again`;super(t),this.reason=e,this.name=`InvalidCryptoStoreError`}};u(tF,`TOO_NEW`,eF.TooNew);var nF=class extends Error{constructor(e,t){super(e),this.value=t}},rF=class extends Error{constructor(){super(`MatrixClient has been stopped`)}},iF=class extends Error{constructor(e,t){super(e),this.clientEndpoint=t,this.name=`UnsupportedDelayedEventsEndpointError`}},aF=class extends Error{constructor(e,t){super(e),this.clientEndpoint=t,this.name=`UnsupportedStickyEventsEndpointError`}},oF=function(e){return e.StatusChanged=`StatusChanged`,e.ProbablyLeft=`ProbablyLeft`,e.DelayIdChanged=`DelayIdChanged`,e}({}),sF=e=>e.type===`livekit`&&`livekit_service_url`in e;function cF(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function lF(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?cF(Object(n),!0).forEach(function(t){u(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):cF(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var uF=3600*1e3,q=function(e){return e.SendDelayedEvent=`SendDelayedEvent`,e.SendJoinEvent=`SendJoinEvent`,e.RestartDelayedEvent=`RestartDelayedEvent`,e.UpdateExpiry=`UpdateExpiry`,e.SendScheduledDelayedLeaveEvent=`SendScheduledDelayedLeaveEvent`,e.SendLeaveEvent=`SendLeaveEvent`,e}({});function dF(e,t){return{insert:[{ts:Date.now()+(t??0),type:e}]}}function fF(e,t){return{replace:[{ts:Date.now()+(t??0),type:e}]}}var pF=class e extends SD{isActivated(){return this.activated}isJoined(){return this.isActivated()}join(t,n,r){if(this.scheduler.running){this.logger.error(`MembershipManager is already running. Ignoring join request.`);return}this.fociPreferred=t,this.rtcTransport=n,this.leavePromiseResolvers=void 0,this.activated=!0,this.oldStatus=this.status,this.state=e.defaultState,this.scheduler.startWithJoin().catch(e=>{this.logger.error(`MembershipManager stopped because: `,e),r?.(e)}).finally(()=>{if(this.activated=!1,this.oldStatus&&this.oldStatus!==this.status&&this.emit(oF.StatusChanged,this.oldStatus,this.status),!this.scheduler.running){var e;(e=this.leavePromiseResolvers)==null||e.resolve(!0),this.leavePromiseResolvers=void 0}})}leave(e){return this.scheduler.running?(this.leavePromiseResolvers||(this.leavePromiseResolvers=Promise.withResolvers(),this.activated=!1,this.scheduler.initiateLeave(),e&&setTimeout(()=>this.leavePromiseResolvers?.resolve(!1),e)),this.leavePromiseResolvers.promise):(this.logger.warn(`Called MembershipManager.leave() even though the MembershipManager is not running`),Promise.resolve(!0))}onRTCSessionMemberUpdate(e){if(!this.isActivated())return Promise.resolve();if(this._ownMembership=e.find(e=>QP(e,this.userId,this.deviceId)),!this._ownMembership){var t=[q.SendDelayedEvent,q.SendJoinEvent];this.logger.warn(`Missing own membership: force re-join`),this.state.hasMemberStateEvent=!1,this.scheduler.actions.some(e=>t.includes(e.type))?this.logger.error("tried adding another `SendDelayedEvent` actions even though we already have one in the Queue\nActionQueueOnMemberUpdate:",this.scheduler.actions):this.scheduler.initiateJoin()}return Promise.resolve()}updateCallIntent(e){var t=this;return o(function*(){if(!t.activated||!t.ownMembership)throw Error(`You cannot update your intent before joining the call`);t.ownMembership.callIntent!==e&&(t.callIntent=e,yield t.sendJoinEvent())})()}constructor(t,n,r,i,a){super(),this.joinConfig=t,this.room=n,this.client=r,this.slotDescription=i,u(this,`activated`,!1),u(this,`logger`,void 0),u(this,`callIntent`,void 0),u(this,`leavePromiseResolvers`,void 0),u(this,`_ownMembership`,void 0),u(this,`oldStatus`,void 0),u(this,`scheduler`,void 0),u(this,`state`,void 0),u(this,`deviceId`,void 0),u(this,`userId`,void 0),u(this,`stateKey`,void 0),u(this,`rtcTransport`,void 0),u(this,`fociPreferred`,void 0),u(this,`delayedLeaveEventDelayMsOverride`,void 0),u(this,`clientSendDelayedDisconnectMembership`,()=>this.client._unstable_sendDelayedStateEvent(this.room.roomId,{delay:this.delayedLeaveEventDelayMs},E.GroupCallMemberPrefix,{},this.stateKey)),u(this,`clientSendMembership`,e=>this.client.sendStateEvent(this.room.roomId,E.GroupCallMemberPrefix,e,this.stateKey)),this.logger=(a??T).getChild(`[MembershipManager]`);var[o,s]=[this.client.getUserId(),this.client.getDeviceId()];if(o===null)throw Error(`Missing userId in client`);if(s===null)throw Error(`Missing deviceId in client`);this.deviceId=s,this.userId=o,this.stateKey=this.makeMembershipStateKey(o,s),this.state=e.defaultState,this.callIntent=t?.callIntent,this.scheduler=new $P(e=>(this.oldStatus&&(this.logger.debug(`MembershipManager applied action changes. Status: ${this.oldStatus} -> ${this.status}`),this.oldStatus!==this.status&&this.emit(oF.StatusChanged,this.oldStatus,this.status)),this.oldStatus=this.status,this.logger.debug(`MembershipManager before processing action. status=${this.oldStatus}`),this.membershipLoopHandler(e)),this.logger)}get ownMembership(){return this._ownMembership}static get defaultState(){return{hasMemberStateEvent:!1,delayId:void 0,startTime:0,rateLimitRetries:new Map,networkErrorRetries:new Map,expireUpdateIterations:1,probablyLeft:!1}}get networkErrorRetryMs(){return this.joinConfig?.networkErrorRetryMs??3e3}get membershipEventExpiryMs(){return this.joinConfig?.membershipEventExpiryMs??YP}get membershipEventExpiryHeadroomMs(){return this.joinConfig?.membershipEventExpiryHeadroomMs??5e3}computeNextExpiryActionTs(e){return this.state.startTime+Math.min(this.membershipEventExpiryMs,uF)*e-this.membershipEventExpiryHeadroomMs}get delayedLeaveEventDelayMs(){return this.delayedLeaveEventDelayMsOverride??this.joinConfig?.delayedLeaveEventDelayMs??8e3}get delayedLeaveEventRestartMs(){return this.joinConfig?.delayedLeaveEventRestartMs??5e3}get maximumRateLimitRetryCount(){return this.joinConfig?.maximumRateLimitRetryCount??10}get maximumNetworkErrorRetryCount(){return this.joinConfig?.maximumNetworkErrorRetryCount??10}get delayedLeaveEventRestartLocalTimeoutMs(){return this.joinConfig?.delayedLeaveEventRestartLocalTimeoutMs??2e3}membershipLoopHandler(e){var t=this;return o(function*(){switch(e){case q.SendDelayedEvent:return t.state.delayId?t.cancelKnownDelayIdBeforeSendDelayedEvent(t.state.delayId):t.sendOrResendDelayedLeaveEvent();case q.RestartDelayedEvent:return t.state.delayId?t.restartDelayedEvent(t.state.delayId):dF(q.SendDelayedEvent);case q.SendScheduledDelayedLeaveEvent:return t.state.hasMemberStateEvent?t.state.delayId?t.sendScheduledDelayedLeaveEventOrFallbackToSendLeaveEvent(t.state.delayId):dF(q.SendLeaveEvent):{replace:[]};case q.SendJoinEvent:return t.sendJoinEvent();case q.UpdateExpiry:return t.updateExpiryOnJoinedEvent();case q.SendLeaveEvent:return t.state.hasMemberStateEvent?t.sendFallbackLeaveEvent():{replace:[]}}})()}sendOrResendDelayedLeaveEvent(){var e=this;return o(function*(){return yield e.clientSendDelayedDisconnectMembership().then(t=>(e.state.expectedServerDelayLeaveTs=Date.now()+e.delayedLeaveEventDelayMs,e.setAndEmitProbablyLeft(!1),e.resetRateLimitCounter(q.SendDelayedEvent),e.setAndEmitDelayId(t.delay_id),e.state.hasMemberStateEvent?dF(q.RestartDelayedEvent,e.delayedLeaveEventRestartMs):dF(q.SendJoinEvent))).catch(t=>{var n=q.SendDelayedEvent;if(e.manageMaxDelayExceededSituation(t))return dF(n);var r=e.actionUpdateFromErrors(t,n,`_unstable_sendDelayedStateEvent`);if(r)return r;if(e.state.hasMemberStateEvent){if(e.isUnsupportedDelayedEndpoint(t))return{};throw Error(`Could not send delayed event, even though delayed events are supported. `+t)}else return e.isUnsupportedDelayedEndpoint(t)?e.logger.info(`Not using delayed event because the endpoint is not supported`):e.logger.info(`Not using delayed event because: `+t),dF(q.SendJoinEvent)})})()}cancelKnownDelayIdBeforeSendDelayedEvent(e){var t=this;return o(function*(){return yield t.client._unstable_cancelScheduledDelayedEvent(e).then(()=>(t.setAndEmitDelayId(void 0),t.resetRateLimitCounter(q.SendDelayedEvent),fF(q.SendDelayedEvent))).catch(e=>{var n=q.SendDelayedEvent,r=t.actionUpdateFromErrors(e,n,`cancelScheduledDelayedEvent`);if(r)return r;if(t.isNotFoundError(e))return t.setAndEmitDelayId(void 0),fF(n);if(t.isUnsupportedDelayedEndpoint(e))return fF(q.SendJoinEvent);throw Error(`We failed to cancel a delayed event where we already had a delay id with an error we cannot automatically handle`)})})()}setAndEmitProbablyLeft(e){this.state.probablyLeft!==e&&(this.state.probablyLeft=e,this.emit(oF.ProbablyLeft,this.state.probablyLeft))}setAndEmitDelayId(e){this.state.delayId!==e&&(this.state.delayId=e,this.emit(oF.DelayIdChanged,this.state.delayId))}restartDelayedEvent(e){var t=this;return o(function*(){var n=t.state.expectedServerDelayLeaveTs?t.state.expectedServerDelayLeaveTs-Date.now():void 0,r=new Promise((e,r)=>{setTimeout(()=>{r(new JT(`Restart delayed event timed out before the HS responded`))},n!==void 0&&!t.state.probablyLeft?Math.min(t.delayedLeaveEventRestartLocalTimeoutMs,n):t.delayedLeaveEventRestartLocalTimeoutMs)});return yield Promise.race([t.client._unstable_restartScheduledDelayedEvent(e),r]).then(()=>(t.state.expectedServerDelayLeaveTs=Date.now()+t.delayedLeaveEventDelayMs,t.resetRateLimitCounter(q.RestartDelayedEvent),t.setAndEmitProbablyLeft(!1),dF(q.RestartDelayedEvent,t.delayedLeaveEventRestartMs))).catch(e=>{t.state.expectedServerDelayLeaveTs&&t.state.expectedServerDelayLeaveTs<=Date.now()&&t.setAndEmitProbablyLeft(!0);var n=q.RestartDelayedEvent;if(t.isNotFoundError(e))return t.setAndEmitDelayId(void 0),dF(q.SendDelayedEvent);if(t.isUnsupportedDelayedEndpoint(e))return{};var r=t.actionUpdateFromErrors(e,n,`restartScheduledDelayedEvent`);if(r)return r;throw Error(`Could not restart delayed event, even though delayed events are supported. `+e)})})()}sendScheduledDelayedLeaveEventOrFallbackToSendLeaveEvent(e){var t=this;return o(function*(){return yield t.client._unstable_sendScheduledDelayedEvent(e).then(()=>(t.state.hasMemberStateEvent=!1,t.setAndEmitDelayId(void 0),t.resetRateLimitCounter(q.SendScheduledDelayedLeaveEvent),{replace:[]})).catch(e=>{var n=q.SendLeaveEvent;return t.isUnsupportedDelayedEndpoint(e)?{}:t.isNotFoundError(e)?(t.setAndEmitDelayId(void 0),dF(n)):t.actionUpdateFromErrors(e,n,`sendScheduledDelayedEvent`)||(t.logger.warn(`Encountered unexpected error during SendScheduledDelayedLeaveEvent. Falling back to SendLeaveEvent`,e),dF(n))})})()}sendJoinEvent(){var e=this;return o(function*(){return yield e.clientSendMembership(e.makeMyMembership(e.membershipEventExpiryMs)).then(()=>(e.setAndEmitProbablyLeft(!1),e.state.startTime=Date.now(),e.state.expireUpdateIterations=1,e.state.hasMemberStateEvent=!0,e.resetRateLimitCounter(q.SendJoinEvent),{replace:[...e.scheduler.actions.filter(e=>e.type!==q.UpdateExpiry&&e.type!==q.SendJoinEvent),{ts:Date.now(),type:q.RestartDelayedEvent},{ts:e.computeNextExpiryActionTs(e.state.expireUpdateIterations),type:q.UpdateExpiry}]})).catch(t=>{var n=e.actionUpdateFromErrors(t,q.SendJoinEvent,`sendStateEvent`);if(n)return n;throw t})})()}updateExpiryOnJoinedEvent(){var e=this;return o(function*(){var t=e.state.expireUpdateIterations+1;return yield e.clientSendMembership(e.makeMyMembership(e.membershipEventExpiryMs*t)).then(()=>(e.resetRateLimitCounter(q.UpdateExpiry),e.state.expireUpdateIterations=t,{insert:[{ts:e.computeNextExpiryActionTs(t),type:q.UpdateExpiry}]})).catch(t=>{var n=e.actionUpdateFromErrors(t,q.UpdateExpiry,`sendStateEvent`);if(n)return n;throw t})})()}sendFallbackLeaveEvent(){var e=this;return o(function*(){return yield e.clientSendMembership({}).then(()=>(e.resetRateLimitCounter(q.SendLeaveEvent),e.state.hasMemberStateEvent=!1,{replace:[]})).catch(t=>{var n=e.actionUpdateFromErrors(t,q.SendLeaveEvent,`sendStateEvent`);if(n)return n;throw t})})()}makeMembershipStateKey(e,t){var n=this.slotDescription.application,r=`${e}_${t}_${n}${n===`m.call`&&this.slotDescription.id===`ROOM`?``:this.slotDescription.id}`;return/^org\.matrix\.msc(3757|3779)\b/.exec(this.room.getVersion())?r:`_${r}`}makeMyMembership(e){var t=this.ownMembership,n=this.slotDescription.application===`m.call`&&this.slotDescription.id===`ROOM`,r=this.rtcTransport===void 0?{focus_active:{type:`livekit`,focus_selection:`oldest_membership`},foci_preferred:this.fociPreferred??[]}:{focus_active:{type:`livekit`,focus_selection:`multi_sfu`},foci_preferred:[this.rtcTransport,...this.fociPreferred??[]]};return lF(lF({application:this.slotDescription.application,call_id:n?``:this.slotDescription.id,scope:`m.room`,device_id:this.deviceId,membershipID:`${this.userId}:${this.deviceId}`,expires:e,"m.call.intent":this.callIntent},r),t===void 0?void 0:{created_ts:t.createdTs()})}isNotFoundError(e){return e instanceof P&&e.errcode===`M_NOT_FOUND`}manageMaxDelayExceededSituation(e){if(e instanceof P&&e.errcode===`M_UNKNOWN`&&e.data[`org.matrix.msc4140.errcode`]===`M_MAX_DELAY_EXCEEDED`){var t=e.data[`org.matrix.msc4140.max_delay`];return typeof t==`number`&&this.delayedLeaveEventDelayMs>t&&(this.delayedLeaveEventDelayMsOverride=t),this.logger.warn(`Retry sending delayed disconnection event due to server timeout limitations:`,e),!0}return!1}actionUpdateFromErrors(e,t,n){var r=this.actionUpdateFromRateLimitError(e,n,t);if(r)return r;var i=this.actionUpdateFromNetworkErrorRetry(e,t);if(i)return i}actionUpdateFromRateLimitError(e,t,n){if((e instanceof Hk||e instanceof P)&&e.isRateLimitError()){var r=this.state.rateLimitRetries.get(n)??0;if(r<this.maximumRateLimitRetryCount){var i,a=5e3;try{i=e.getRetryAfterMs()??a,this.logger.info(`Rate limited by server, retrying in ${i}ms`)}catch(e){this.logger.warn(`Error while retrieving a rate-limit retry delay, retrying after default delay of ${a}`,e),i=a}return this.state.rateLimitRetries.set(n,r+1),dF(n,i)}throw Error(`Exceeded maximum retries for `+n+` attempts (client.`+t+`)`,{cause:e})}}actionUpdateFromNetworkErrorRetry(e,t){var n=this.state.networkErrorRetries.get(t)??0,r=this.networkErrorRetryMs/1e3+`s`,i=`(`+n+`/`+this.maximumNetworkErrorRetryCount+`)`,a=this.networkErrorRetryMs;if(e instanceof Error&&e.name===`AbortError`)a=0,this.logger.warn(`Network local timeout error while sending event, immediate retry (`+i+`)`,e);else if(e instanceof Error&&e.message.includes(`updating delayed event`))this.logger.warn(`delayed event update timeout error, retrying in `+r+` `+i,e);else if(e instanceof Wk)this.logger.warn(`Network connection error while sending event, retrying in `+r+` `+i,e);else if((e instanceof Hk||e instanceof P)&&typeof e.httpStatus==`number`&&e.httpStatus>=500&&e.httpStatus<600)this.logger.warn(`Server error while sending event, retrying in `+r+` `+i,e);else return;if(n<this.maximumNetworkErrorRetryCount)return this.state.networkErrorRetries.set(t,n+1),dF(t,a);throw Error(`Reached maximum (`+this.maximumNetworkErrorRetryCount+`) retries cause by: `+e)}isUnsupportedDelayedEndpoint(e){return e instanceof iF}resetRateLimitCounter(e){this.state.rateLimitRetries.set(e,0),this.state.networkErrorRetries.set(e,0)}get status(){var e=this.scheduler.actions;if(e.length===1){var{type:t}=e[0];switch(t){case q.SendDelayedEvent:case q.SendJoinEvent:return ZP.Connecting;case q.UpdateExpiry:return ZP.Connected;case q.SendScheduledDelayedLeaveEvent:case q.SendLeaveEvent:return ZP.Disconnecting;default:}}else if(e.length===2){var n=e.map(e=>e.type);if((n.includes(q.RestartDelayedEvent)||n.includes(q.SendDelayedEvent)&&this.state.hasMemberStateEvent)&&n.includes(q.UpdateExpiry))return ZP.Connected}else if(e.length===3){var r=e.map(e=>e.type);if(r.filter(e=>e===q.RestartDelayedEvent).length===2&&r.includes(q.UpdateExpiry))return ZP.Connected}return this.scheduler.running?(this.logger.error(`MembershipManager has an unknown state. Actions: `,e),ZP.Unknown):ZP.Disconnected}get probablyLeft(){return this.state.probablyLeft}get delayId(){return this.state.delayId}},mF=class e extends pF{constructor(e,t,n,r,i,a){super(e,t,n,r,a),this.clientWithSticky=n,this.memberId=i,u(this,`clientSendDelayedDisconnectMembership`,()=>this.clientWithSticky._unstable_sendStickyDelayedEvent(this.room.roomId,uF,{delay:this.delayedLeaveEventDelayMs},null,E.RTCMembership,{msc4354_sticky_key:this.memberId})),u(this,`clientSendMembership`,e=>this.clientWithSticky._unstable_sendStickyEvent(this.room.roomId,uF,null,E.RTCMembership,lF(lF({},e),{},{msc4354_sticky_key:this.memberId})))}actionUpdateFromErrors(t,n,r){return super.actionUpdateFromErrors(t,n,e.nameMap.get(r)??`unknown`)}makeMyMembership(){var e=this.ownMembership,t=sF(this.rtcTransport)?this.rtcTransport:void 0,n=e!=null&&e.eventId?{"m.relation":{rel_type:D.Reference,event_id:e?.eventId}}:{};return lF({application:lF({type:this.slotDescription.application},this.callIntent?{"m.call.intent":this.callIntent}:{}),slot_id:VP(this.slotDescription),rtc_transports:t?[{type:t.type,livekit_service_url:t.livekit_service_url}]:[],member:{device_id:this.deviceId,user_id:this.userId,id:this.memberId},versions:[]},n)}};u(mF,`nameMap`,new Map([[`sendStateEvent`,`_unstable_sendStickyEvent`],[`sendDelayedStateEvent`,`_unstable_sendStickyDelayedEvent`]]));var hF=function(e){return e.ReceivedKeys=`received_keys`,e.NotSupportedError=`not_supported_error`,e}({}),gF=class{constructor(e,t,n,r,i,a){this.ownMembership=e,this.getMemberships=t,this.transport=n,this.onEncryptionKeysChanged=r,u(this,`manageMediaKeys`,!1),u(this,`useHashedRtcBackendIdentity`,!1),u(this,`ownRtcBackendIdentityCache`,void 0),u(this,`participantKeyRings`,new Map),u(this,`outboundSession`,null),u(this,`currentKeyDistributionPromise`,null),u(this,`useKeyDelay`,5e3),u(this,`keyRotationGracePeriodMs`,1e4),u(this,`needToEnsureKeyAgain`,!1),u(this,`keyBuffer`,new zP),u(this,`logger`,void 0),u(this,`rtcIdentityProvider`,void 0),u(this,`keysWithoutMatchingRTCMembership`,[]),u(this,`onNewKeyReceived`,(e,t,n,r)=>{var i;if(!this.manageMediaKeys){var a;(a=this.logger)==null||a.warn(`Received key over transport ${e.userId}:${e.deviceId} at index ${n} but media keys are disabled`);return}(i=this.logger)==null||i.debug(`Received key over transport ${e.userId}:${e.deviceId} at index ${n}`);var o={key:xj(t),membership:e,keyIndex:n,creationTS:r};if(!this.keyBuffer.isOutdated(e,o))this.addKeyToParticipant(o.key,o.keyIndex,o.membership);else{var s;(s=this.logger)==null||s.info(`Received an out of order key for ${e.userId}:${e.deviceId}, dropping it`)}}),this.logger=i?.getChild(`[EncryptionManager]`),this.rtcIdentityProvider=a??qP}getOwnRtcBackendIdentity(){var e=this;return o(function*(){if(e.ownRtcBackendIdentityCache)return e.ownRtcBackendIdentityCache;if(e.useHashedRtcBackendIdentity){var t,{userId:n,deviceId:r,memberId:i}=e.ownMembership;(t=e.logger)==null||t.info(`Computing RTC backend identity for ${n}:${r}:${i} (SHOULD ONLY BE CALLED ONCE)`),e.ownRtcBackendIdentityCache=yield e.rtcIdentityProvider(n,r,i)}else e.ownRtcBackendIdentityCache=`${e.ownMembership.userId}:${e.ownMembership.deviceId}`;return e.ownRtcBackendIdentityCache})()}getEncryptionKeys(){return new Map(this.participantKeyRings)}checkKeysWithoutMatchingRTCMembership(){var e=this.keysWithoutMatchingRTCMembership;this.keysWithoutMatchingRTCMembership=[],e.forEach(e=>{this.addKeyToParticipant(e.key,e.keyIndex,e.membership)})}addKeyToParticipant(e,t,n){var r=this.getMemberships().find(e=>e.userId===n.userId&&e.deviceId===n.deviceId);if(!r){var i;(i=this.logger)==null||i.info(`No matching RTC membership for key from ${n.userId}:${n.deviceId}, delaying key addition`),this.keysWithoutMatchingRTCMembership.push({key:e,keyIndex:t,membership:n});return}this.addKeyToParticipantWithBackendIdentity(e,t,n,r.rtcBackendIdentity)}addKeyToParticipantWithBackendIdentity(e,t,n,r){var i=RP(n);this.participantKeyRings.has(i)||this.participantKeyRings.set(i,[]),this.participantKeyRings.get(i).push({key:e,keyIndex:t,membership:n,rtcBackendIdentity:r}),this.onEncryptionKeysChanged(e,t,n,r)}join(e){var t;this.manageMediaKeys=e?.manageMediaKeys??!0,this.useHashedRtcBackendIdentity=e?.unstableSendStickyEvents??!1,this.useKeyDelay=e?.useKeyDelay??1e3,this.keyRotationGracePeriodMs=e?.keyRotationGracePeriodMs??1e4,this.transport.on(hF.ReceivedKeys,this.onNewKeyReceived),this.getOwnRtcBackendIdentity(),(t=this.logger)==null||t.info(`Joining room`),this.transport.start()}leave(){this.transport.off(hF.ReceivedKeys,this.onNewKeyReceived),this.transport.stop(),this.participantKeyRings.clear()}ensureKeyDistribution(){if(this.manageMediaKeys)if(this.currentKeyDistributionPromise==null){var e;(e=this.logger)==null||e.debug(`No active rollout, start a new one`),this.currentKeyDistributionPromise=this.rolloutOutboundKey().then(()=>{var e;if((e=this.logger)==null||e.debug(`Rollout completed`),this.currentKeyDistributionPromise=null,this.needToEnsureKeyAgain){var t;(t=this.logger)==null||t.debug(`New Rollout needed`),this.needToEnsureKeyAgain=!1,this.ensureKeyDistribution()}})}else{var t;(t=this.logger)==null||t.debug(`Rollout in progress, a new rollout will be started after the current one`),this.needToEnsureKeyAgain=!0}}onMembershipsUpdate(){var e;arguments.length>0&&arguments[0]!==void 0&&arguments[0],(e=this.logger)==null||e.trace(`onMembershipsUpdate`),this.ensureKeyDistribution(),this.checkKeysWithoutMatchingRTCMembership()}rolloutOutboundKey(){var e=this;return o(function*(){if(e.outboundSession==null){var t={key:e.generateRandomKey(),creationTS:Date.now(),sharedWith:[],keyId:0};e.outboundSession=t,e.addKeyToParticipantWithBackendIdentity(t.key,t.keyId,e.ownMembership,yield e.getOwnRtcBackendIdentity())}var n=e.getMemberships().filter(e=>e.sender!=null).map(e=>({userId:e.sender,deviceId:e.deviceId,membershipTs:e.createdTs()})),r=e.outboundSession?.sharedWith??[];r=r.filter(e=>!n.some(t=>e.userId==t.userId&&e.deviceId==t.deviceId&&e.membershipTs!=t.membershipTs));var i=r.filter(e=>!n.some(t=>e.userId==t.userId&&e.deviceId==t.deviceId&&e.membershipTs==t.membershipTs)),a=n.filter(e=>!r.some(t=>e.userId==t.userId&&e.deviceId==t.deviceId&&e.membershipTs==t.membershipTs)),o=[],s,c=!1;if(i.length>0){var l=e.createNewOutboundSession();c=!0,o=n,s=l}else if(a.length>0){var u=Date.now()-e.outboundSession.creationTS;if(u<e.keyRotationGracePeriodMs){var d;(d=e.logger)==null||d.debug(`New joiners detected, but the key is recent enough (age:${u}), keeping it`),o=a,s=e.outboundSession}else{var f;(f=e.logger)==null||f.debug(`New joiners detected, rotating the key`);var p=e.createNewOutboundSession();c=!0,o=n,s=p}}else return;try{var m,h;if((m=e.logger)==null||m.trace(`Sending key...`),yield e.transport.sendKey(_j(s.key),s.keyId,o),s.sharedWith.push(...o),(h=e.logger)==null||h.trace(`key index:${s.keyId} sent to ${s.sharedWith.map(e=>`${e.userId}:${e.deviceId}`).join(`,`)}`),c){var g,_;(g=e.logger)==null||g.trace(`Delay Rollout for key:${s.keyId}...`),yield OE(e.useKeyDelay),(_=e.logger)==null||_.trace(`...Delayed rollout of index:${s.keyId} `),e.addKeyToParticipantWithBackendIdentity(s.key,s.keyId,e.ownMembership,yield e.getOwnRtcBackendIdentity())}}catch(t){var v;(v=e.logger)==null||v.error(`Failed to rollout key`,t)}})()}createNewOutboundSession(){var e,t={key:this.generateRandomKey(),creationTS:Date.now(),sharedWith:[],keyId:this.nextKeyIndex()};return(e=this.logger)==null||e.info(`creating new outbound key index:${t.keyId}`),this.outboundSession=t,t}nextKeyIndex(){return this.outboundSession?(this.outboundSession.keyId+1)%256:0}generateRandomKey(){var e=new Uint8Array(16);return globalThis.crypto.getRandomValues(e),e}},_F=class extends Error{constructor(e){super(e)}get name(){return`NotSupportedError`}},vF=class extends SD{setParentLogger(e){this.logger=e.getChild(`[ToDeviceKeyTransport]`)}constructor(e,t,n,r,i){super(),this.membership=e,this.roomId=t,this.client=n,this.statistics=r,u(this,`logger`,T),u(this,`onToDeviceEvent`,e=>{if(e.getType()===E.CallEncryptionKeysPrefix){var t=this.getValidEventContent(e);t&&e.getSender()&&this.receiveCallKeyEvent(e.getSender(),t)}}),this.setParentLogger(i??T)}start(){this.client.on(Y.ToDeviceEvent,this.onToDeviceEvent)}stop(){this.client.off(Y.ToDeviceEvent,this.onToDeviceEvent)}sendKey(e,t,n){var r=this;return o(function*(){var i={keys:{index:t,key:e},room_id:r.roomId,member:{claimed_device_id:r.membership.deviceId,id:r.membership.memberId},session:{call_id:``,application:`m.call`,scope:`m.room`},sent_ts:Date.now()},a=n.map(e=>({userId:e.userId,deviceId:e.deviceId})).filter(e=>!(e.userId==r.membership.userId&&e.deviceId==r.membership.deviceId));a.length>0?(yield r.client.encryptAndSendToDevice(E.CallEncryptionKeysPrefix,a,i).catch(e=>{var t=e.message;if(t.includes(`unknown variant`)&&t.includes(`send_to_device`)||t.includes(`not supported`))throw new _F(`The widget driver does not support to-device encryption`)}),r.statistics.counters.roomEventEncryptionKeysSent+=1):r.logger.warn(`No targets found for sending key`)})()}receiveCallKeyEvent(e,t){this.statistics.counters.roomEventEncryptionKeysReceived+=1;var n=Date.now(),r=n-(typeof t.sent_ts==`number`?t.sent_ts:n);this.statistics.totals.roomEventEncryptionKeysReceivedTotalAge+=r;var i=`${e}:${t.member.claimed_device_id}`;this.emit(hF.ReceivedKeys,{userId:e,deviceId:t.member.claimed_device_id,memberId:t.member.id??i},t.keys.key,t.keys.index,n)}getValidEventContent(e){var t=e.getContent(),n=t.room_id;if(!n){this.logger.warn(`Malformed Event: invalid call encryption keys event, no roomId`);return}if(n!==this.roomId){this.logger.warn(`Malformed Event: Mismatch roomId`);return}if(!t.keys||!t.keys.key||typeof t.keys.index!=`number`){this.logger.warn(`Malformed Event: Missing keys field`);return}if(!t.member||!t.member.claimed_device_id){this.logger.warn(`Malformed Event: Missing claimed_device_id`);return}return t}};function yF(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function bF(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?yF(Object(n),!0).forEach(function(t){u(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):yF(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var xF=function(e){return e.MembershipsChanged=`memberships_changed`,e.JoinStateChanged=`join_state_changed`,e.EncryptionKeyChanged=`encryption_key_changed`,e.MembershipManagerError=`membership_manager_error`,e.DidSendCallNotification=`did_send_call_notification`,e}({}),SF={listenForStickyEvents:!0,listenForMemberStateEvents:!0},CF=class e extends SD{get membershipStatus(){return this.membershipManager?.status}get probablyLeft(){return this.membershipManager?.probablyLeft}get delayId(){return this.membershipManager?.delayId}get callId(){return this.slotDescription?.id}get slotId(){return VP(this.slotDescription)}static sessionMembershipsForSlot(e,t){var n=arguments;return o(function*(){var r=n.length>2&&n[2]!==void 0?n[2]:SF,i=T.getChild(`[MatrixRTCSession ${e.roomId} ${t.application}#${t.id}]`),a=yield wF(e,OF(e,r,i),t,i);return a.sort((e,t)=>e.createdTs()-t.createdTs()),a.length>1&&i.debug(`Call memberships in room ${e.roomId}, in order: `,a.map(e=>[e.createdTs(),e.userId])),a})()}static sessionForSlot(t,n,r,i){return new e(t,n,r,i)}get room(){return this.roomSubset}constructor(t,n,r,i){var a;super(),a=this,this.client=t,this.roomSubset=n,this.slotDescription=r,this.calculateMembershipsOpts=i,u(this,`membershipManager`,void 0),u(this,`encryptionManager`,void 0),u(this,`joinConfig`,void 0),u(this,`logger`,void 0),u(this,`pendingNotificationToSend`,void 0),u(this,`expiryTimeout`,void 0),u(this,`memberships`,[]),u(this,`initialMembershipCalculated`,void 0),u(this,`membershipNeedsRecalculation`,!1),u(this,`statistics`,{counters:{roomEventEncryptionKeysSent:0,roomEventEncryptionKeysReceived:0},totals:{roomEventEncryptionKeysReceivedTotalAge:0}}),u(this,`reEmitter`,new OO(this)),u(this,`onRoomMemberUpdate`,()=>{this.ensureRecalculateSessionMembers()}),u(this,`onStickyEventUpdate`,(e,t,n)=>{[...e,...n,...t.flatMap(e=>[e.current,e.previous])].some(e=>e.getType()===E.RTCMembership)&&this.ensureRecalculateSessionMembers()}),u(this,`_onRTCSessionMemberUpdate`,o(function*(){yield a.recalculateSessionMembers()})),u(this,`recalculateSessionMembersPromise`,Promise.resolve()),u(this,`recalculateSessionMembers`,o(function*(){var t;a.membershipNeedsRecalculation=!1;var n=a.memberships;if(a.memberships=yield e.sessionMembershipsForSlot(a.room,a.slotDescription,a.calculateMembershipsOpts),n.length!=a.memberships.length||n.some((e,t)=>!XP.equal(e,a.memberships[t]))){var r;a.logger.info(`Memberships for call in room ${a.roomSubset.roomId} have changed: emitting (${a.memberships.length} members)`),jE(a.logger,`emit MatrixRTCSessionEvent.MembershipsChanged`,()=>{a.emit(xF.MembershipsChanged,n,a.memberships)}),(r=a.membershipManager)==null||r.onRTCSessionMemberUpdate(a.memberships);var i=a.membershipManager?.ownMembership;if(a.pendingNotificationToSend&&i&&n.length===0){var o;i.eventId&&(o=a.joinConfig)!=null&&o.notificationType?a.sendCallNotify(i.eventId,a.joinConfig.notificationType,i.callIntent):a.logger.warn(`Own membership eventId is undefined, cannot send call notification`)}a.memberships.length>0&&(a.pendingNotificationToSend=void 0)}else a.logger.debug(`No membership changes detected for room ${a.roomSubset.roomId}`);(t=a.encryptionManager)==null||t.onMembershipsUpdate(n),a.setExpiryTimer()})),this.logger=T.getChild(`[MatrixRTCSession ${n.roomId} ${r.application}#${r.id}]`),this.roomSubset.on(Q.Members,this.onRoomMemberUpdate),this.roomSubset.on(kA.Update,this.onStickyEventUpdate),this.initialMembershipCalculated=this.ensureRecalculateSessionMembers(),this.setExpiryTimer()}isJoined(){return this.membershipManager?.isJoined()??!1}stop(){var e=this;return o(function*(){yield e.membershipManager?.leave(1e3),e.expiryTimeout&&=(clearTimeout(e.expiryTimeout),void 0),e.roomSubset.off(Q.Members,e.onRoomMemberUpdate),e.roomSubset.off(kA.Update,e.onStickyEventUpdate)})()}joinRTCSession(e,t,n,r){if(this.isJoined()){this.logger.info(`Already joined to session in room ${this.roomSubset.roomId}: ignoring join call`);return}else{this.membershipManager=r!=null&&r.unstableSendStickyEvents?new mF(r,this.roomSubset,this.client,this.slotDescription,e.memberId,this.logger):new pF(r,this.roomSubset,this.client,this.slotDescription,this.logger),this.reEmitter.reEmit(this.membershipManager,[oF.ProbablyLeft,oF.StatusChanged,oF.DelayIdChanged]);var[i,a,o]=[this.roomSubset,this.client,this.statistics];this.encryptionManager=new gF(e,()=>this.memberships,new vF(e,i.roomId,a,o),(e,t,n,r)=>{this.emit(xF.EncryptionKeyChanged,e,t,n,r)},this.logger)}this.joinConfig=r,this.pendingNotificationToSend=this.joinConfig?.notificationType,this.membershipManager.join(t,n,e=>{this.logger.error(`MembershipManager encountered an unrecoverable error: `,e),this.emit(xF.MembershipManagerError,e),this.emit(xF.JoinStateChanged,this.isJoined())}),this.encryptionManager.join(r),this.emit(xF.JoinStateChanged,!0)}joinRoomSession(e,t,n){var[r,i]=[this.client.getUserId(),this.client.getDeviceId()],a=`${r}:${i}`;this.joinRTCSession({userId:r,deviceId:i,memberId:a},e,t,n)}leaveRoomSession(){var e=arguments,t=this;return o(function*(){var n=e.length>0&&e[0]!==void 0?e[0]:void 0;if(!t.isJoined())return t.logger.info(`Not joined to session in room ${t.roomSubset.roomId}: ignoring leave call`),!1;t.logger.info(`Leaving call session in room ${t.roomSubset.roomId}`),t.encryptionManager.leave();var r=t.membershipManager.leave(n);return t.emit(xF.JoinStateChanged,!1),yield r})()}getFocusInUse(){var e=this.getOldestMembership();return e?.getTransport(e)}getOldestMembership(){return this.memberships[0]}getConsensusCallIntent(){var e=this.memberships.find(e=>!!e.callIntent)?.callIntent;if(e&&this.memberships.every(t=>!t.callIntent||t.callIntent===e))return e}updateCallIntent(e){var t=this;return o(function*(){if(!t.membershipManager?.ownMembership)throw Error(`Not connected yet`);yield t.membershipManager?.updateCallIntent(e)})()}reemitEncryptionKeys(){var e;(e=this.encryptionManager)==null||e.getEncryptionKeys().forEach((e,t)=>{e.forEach(e=>{this.emit(xF.EncryptionKeyChanged,e.key,e.keyIndex,e.membership,e.rtcBackendIdentity)})})}setExpiryTimer(){this.expiryTimeout&&=(clearTimeout(this.expiryTimeout),void 0);var e;for(var t of this.memberships){var n=t.getMsUntilExpiry();n!==void 0&&(e===void 0||n<e)&&(e=n)}e!=null&&(this.expiryTimeout=setTimeout(()=>void this.ensureRecalculateSessionMembers(),e))}sendCallNotify(e,t,n){var r=this;(function(){var i=o(function*(){var i={"m.mentions":{user_ids:[],room:!0},notification_type:t,"m.relates_to":{event_id:e,rel_type:D.Reference},sender_ts:Date.now(),lifetime:3e4};return n&&(i[`m.call.intent`]=n),{response:yield r.client.sendEvent(r.roomSubset.roomId,E.RTCNotification,i),content:i}});return function(){return i.apply(this,arguments)}})()().then(e=>{var t=bF(bF({},e.response),e.content);this.emit(xF.DidSendCallNotification,t)}).catch(e=>{var[t,n]=e;return this.logger.error(`Failed to send call notification`,t,n)})}ensureRecalculateSessionMembers(){return this.membershipNeedsRecalculation?this.recalculateSessionMembersPromise:(this.membershipNeedsRecalculation=!0,this.recalculateSessionMembersPromise=this.recalculateSessionMembersPromise.finally().then(()=>this.recalculateSessionMembers()),this.recalculateSessionMembersPromise)}};function wF(e,t,n,r){return TF.apply(this,arguments)}function TF(){return TF=o(function*(e,t,n,r){var i=[];for(var a of t)if(EF(a.getContent(),r))try{var o=yield XP.parseFromEvent(a);DF(o,e,n,r)&&i.push(o)}catch(e){r.warn(`Couldn't construct call membership: `,e)}return i}),TF.apply(this,arguments)}function EF(e,t){var n=Object.keys(e).filter(e=>e!==`msc4354_sticky_key`).length;return n===0?!1:n>1&&`application`in e?!0:(n===1&&`memberships`in e,!1)}function DF(e,t,n,r){return e.slotDescription.id===n.id?e.isExpired()?(r.info(`Ignoring expired device membership ${e.userId}/${e.deviceId}`),!1):t.hasMembershipState(e.userId??``,O.Join)?!0:(r.info(`Ignoring membership of user ${e.userId} who is not in the room.`),!1):(r.info(`Ignoring membership of user ${e.userId} for a different slot. Theirs: ${JSON.stringify(e.slotDescription)}, Expected: ${JSON.stringify(n)}`),!1)}function OF(e,t,n){var{listenForStickyEvents:r,listenForMemberStateEvents:i}=t,a=[];if(r&&(a=[...e._unstable_getStickyEvents()].filter(e=>e.getType()===E.RTCMembership)),i){var o=e.getLiveTimeline().getState(A.FORWARDS);if(!o)return n.warn(`Couldn't get state for room `+e.roomId+`using empty membership array`),[];var s=o.getStateEvents(E.GroupCallMemberPrefix);a=a.concat(s.filter(e=>!a.some(t=>t.getContent().msc4354_sticky_key===e.getStateKey())))}return a}var kF=function(e){return e.SessionStarted=`session_started`,e.SessionEnded=`session_ended`,e}({}),AF=class extends SD{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{application:`m.call`,id:`ROOM`};super(),this.client=t,this.slotDescription=n,u(this,`roomSessions`,new Map),u(this,`logger`,void 0),u(this,`onRoom`,e=>{this.refreshRoom(e)}),u(this,`onEvent`,e=>{if(e.unstableStickyExpiresAt&&e.getType()===E.RTCMembership){var t=this.client.getRoom(e.getRoomId());t&&this.refreshRoom(t)}}),u(this,`onRoomState`,e=>{if(e.getType()===E.GroupCallMemberPrefix){var t=this.client.getRoom(e.getRoomId());if(!t){this.logger.error(`Got room state event for unknown room ${e.getRoomId()}!`);return}this.refreshRoom(t)}}),this.logger=e.getChild(`[MatrixRTCSessionManager ${VP(n)}]`)}start(){for(var e of(t=this.client.getRooms())??[]){var t,n=CF.sessionForSlot(this.client,e,this.slotDescription);n.memberships.length>0&&this.roomSessions.set(e.roomId,n)}this.client.on(Y.Room,this.onRoom),this.client.on(Y.Event,this.onEvent),this.client.on(Q.Events,this.onRoomState)}stop(){for(var e of this.roomSessions.values())e.stop();this.roomSessions.clear(),this.client.off(Y.Room,this.onRoom),this.client.off(Y.Event,this.onEvent),this.client.off(Q.Events,this.onRoomState)}getActiveRoomSession(e){return this.roomSessions.get(e.roomId)}getRoomSession(e){return this.roomSessions.has(e.roomId)||this.roomSessions.set(e.roomId,CF.sessionForSlot(this.client,e,this.slotDescription)),this.roomSessions.get(e.roomId)}refreshRoom(e){var t=this;return o(function*(){var n=!t.roomSessions.has(e.roomId),r=t.getRoomSession(e),i=r.memberships.length>0&&!n;yield r._onRTCSessionMemberUpdate().catch(n=>{t.logger.error(`Error updating RTC session members for ${e.roomId}: ${n}`)});var a=r.memberships.length>0;i&&!a?(t.logger.trace(`Session ended for ${e.roomId} (${r.memberships.length} members)`),t.emit(kF.SessionEnded,e.roomId,t.roomSessions.get(e.roomId))):!i&&a&&(t.logger.trace(`Session started for ${e.roomId} (${r.memberships.length} members)`),t.emit(kF.SessionStarted,e.roomId,t.roomSessions.get(e.roomId)))})()}};function jF(e){return t=>{var n,r;return((n=t.content)==null||(n=n[`m.relates_to`])==null?void 0:n.event_id)!==e||((r=t.content)==null||(r=r[`m.relates_to`])==null?void 0:r.rel_type)===X.name}}var MF=class extends Error{};MF.prototype.name=`InvalidTokenError`;function NF(e){return decodeURIComponent(atob(e).replace(/(.)/g,(e,t)=>{let n=t.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n=`0`+n),`%`+n}))}function PF(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`);switch(t.length%4){case 0:break;case 2:t+=`==`;break;case 3:t+=`=`;break;default:throw Error(`base64 string is not of the correct length`)}try{return NF(t)}catch{return atob(t)}}function FF(e,t){if(typeof e!=`string`)throw new MF(`Invalid token specified: must be a string`);t||={};let n=t.header===!0?0:1,r=e.split(`.`)[n];if(typeof r!=`string`)throw new MF(`Invalid token specified: missing part #${n+1}`);let i;try{i=PF(r)}catch(e){throw new MF(`Invalid token specified: invalid base64 for part #${n+1} (${e.message})`)}try{return JSON.parse(i)}catch(e){throw new MF(`Invalid token specified: invalid json for part #${n+1} (${e.message})`)}}var IF={debug:()=>void 0,info:()=>void 0,warn:()=>void 0,error:()=>void 0},LF,RF,zF=(e=>(e[e.NONE=0]=`NONE`,e[e.ERROR=1]=`ERROR`,e[e.WARN=2]=`WARN`,e[e.INFO=3]=`INFO`,e[e.DEBUG=4]=`DEBUG`,e))(zF||{});(e=>{function t(){LF=3,RF=IF}e.reset=t;function n(e){if(!(0<=e&&e<=4))throw Error(`Invalid log level`);LF=e}e.setLevel=n;function r(e){RF=e}e.setLogger=r})(zF||={});var BF=class e{constructor(e){this._name=e}debug(...t){LF>=4&&RF.debug(e._format(this._name,this._method),...t)}info(...t){LF>=3&&RF.info(e._format(this._name,this._method),...t)}warn(...t){LF>=2&&RF.warn(e._format(this._name,this._method),...t)}error(...t){LF>=1&&RF.error(e._format(this._name,this._method),...t)}throw(e){throw this.error(e),e}create(e){let t=Object.create(this);return t._method=e,t.debug(`begin`),t}static createStatic(t,n){let r=new e(`${t}.${n}`);return r.debug(`begin`),r}static _format(e,t){let n=`[${e}]`;return t?`${n} ${t}:`:n}static debug(t,...n){LF>=4&&RF.debug(e._format(t),...n)}static info(t,...n){LF>=3&&RF.info(e._format(t),...n)}static warn(t,...n){LF>=2&&RF.warn(e._format(t),...n)}static error(t,...n){LF>=1&&RF.error(e._format(t),...n)}};zF.reset();var VF=class{static decode(e){try{return FF(e)}catch(e){throw BF.error(`JwtUtils.decode`,e),e}}static async generateSignedJwt(e,t,n){let r=`${GF.encodeBase64Url(new TextEncoder().encode(JSON.stringify(e)))}.${GF.encodeBase64Url(new TextEncoder().encode(JSON.stringify(t)))}`,i=await window.crypto.subtle.sign({name:`ECDSA`,hash:{name:`SHA-256`}},n,new TextEncoder().encode(r));return`${r}.${GF.encodeBase64Url(new Uint8Array(i))}`}static async generateSignedJwtWithHmac(e,t,n){let r=`${GF.encodeBase64Url(new TextEncoder().encode(JSON.stringify(e)))}.${GF.encodeBase64Url(new TextEncoder().encode(JSON.stringify(t)))}`,i=await window.crypto.subtle.sign(`HMAC`,n,new TextEncoder().encode(r));return`${r}.${GF.encodeBase64Url(new Uint8Array(i))}`}},HF=`10000000-1000-4000-8000-100000000000`,UF=e=>btoa([...new Uint8Array(e)].map(e=>String.fromCharCode(e)).join(``)),WF=class e{static _randomWord(){let e=new Uint32Array(1);return crypto.getRandomValues(e),e[0]}static generateUUIDv4(){return HF.replace(/[018]/g,t=>(t^e._randomWord()&15>>t/4).toString(16)).replace(/-/g,``)}static generateCodeVerifier(){return e.generateUUIDv4()+e.generateUUIDv4()+e.generateUUIDv4()}static async generateCodeChallenge(e){if(!crypto.subtle)throw Error(`Crypto.subtle is available only in secure contexts (HTTPS).`);try{let t=new TextEncoder().encode(e);return UF(await crypto.subtle.digest(`SHA-256`,t)).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}catch(e){throw BF.error(`CryptoUtils.generateCodeChallenge`,e),e}}static generateBasicAuth(e,t){return UF(new TextEncoder().encode([e,t].join(`:`)))}static async hash(e,t){let n=new TextEncoder().encode(t),r=await crypto.subtle.digest(e,n);return new Uint8Array(r)}static async customCalculateJwkThumbprint(t){let n;switch(t.kty){case`RSA`:n={e:t.e,kty:t.kty,n:t.n};break;case`EC`:n={crv:t.crv,kty:t.kty,x:t.x,y:t.y};break;case`OKP`:n={crv:t.crv,kty:t.kty,x:t.x};break;case`oct`:n={crv:t.k,kty:t.kty};break;default:throw Error(`Unknown jwk type`)}let r=await e.hash(`SHA-256`,JSON.stringify(n));return e.encodeBase64Url(r)}static async generateDPoPProof({url:t,accessToken:n,httpMethod:r,keyPair:i,nonce:a}){let o,s,c={jti:window.crypto.randomUUID(),htm:r??`GET`,htu:t,iat:Math.floor(Date.now()/1e3)};n&&(o=await e.hash(`SHA-256`,n),s=e.encodeBase64Url(o),c.ath=s),a&&(c.nonce=a);try{let e=await crypto.subtle.exportKey(`jwk`,i.publicKey),t={alg:`ES256`,typ:`dpop+jwt`,jwk:{crv:e.crv,kty:e.kty,x:e.x,y:e.y}};return await VF.generateSignedJwt(t,c,i.privateKey)}catch(e){throw e instanceof TypeError?Error(`Error exporting dpop public key: ${e.message}`):e}}static async generateDPoPJkt(t){try{let n=await crypto.subtle.exportKey(`jwk`,t.publicKey);return await e.customCalculateJwkThumbprint(n)}catch(e){throw e instanceof TypeError?Error(`Could not retrieve dpop keys from storage: ${e.message}`):e}}static async generateDPoPKeys(){return await window.crypto.subtle.generateKey({name:`ECDSA`,namedCurve:`P-256`},!1,[`sign`,`verify`])}static async generateClientAssertionJwt(t,n,r,i=`HS256`){let a=Math.floor(Date.now()/1e3),o={alg:i,typ:`JWT`},s={iss:t,sub:t,aud:r,jti:e.generateUUIDv4(),exp:a+300,iat:a},c={HS256:`SHA-256`,HS384:`SHA-384`,HS512:`SHA-512`}[i];if(!c)throw Error(`Unsupported algorithm: ${i}. Supported algorithms are: HS256, HS384, HS512`);let l=new TextEncoder,u=await crypto.subtle.importKey(`raw`,l.encode(n),{name:`HMAC`,hash:c},!1,[`sign`]);return await VF.generateSignedJwtWithHmac(o,s,u)}};WF.encodeBase64Url=e=>UF(e).replace(/=/g,``).replace(/\+/g,`-`).replace(/\//g,`_`);var GF=WF,KF=class{constructor(e){this._name=e,this._callbacks=[],this._logger=new BF(`Event('${this._name}')`)}addHandler(e){return this._callbacks.push(e),()=>this.removeHandler(e)}removeHandler(e){let t=this._callbacks.lastIndexOf(e);t>=0&&this._callbacks.splice(t,1)}async raise(...e){this._logger.debug(`raise:`,...e);for(let t of this._callbacks)await t(...e)}},qF=class e extends KF{constructor(){super(...arguments),this._logger=new BF(`Timer('${this._name}')`),this._timerHandle=null,this._expiration=0,this._callback=()=>{let t=this._expiration-e.getEpochTime();this._logger.debug(`timer completes in`,t),this._expiration<=e.getEpochTime()&&(this.cancel(),super.raise())}}static getEpochTime(){return Math.floor(Date.now()/1e3)}init(t){let n=this._logger.create(`init`);t=Math.max(Math.floor(t),1);let r=e.getEpochTime()+t;if(this.expiration===r&&this._timerHandle){n.debug(`skipping since already initialized for expiration at`,this.expiration);return}this.cancel(),n.debug(`using duration`,t),this._expiration=r;let i=Math.min(t,5);this._timerHandle=setInterval(this._callback,i*1e3)}get expiration(){return this._expiration}cancel(){this._logger.create(`cancel`),this._timerHandle&&=(clearInterval(this._timerHandle),null)}},JF=class{static readParams(e,t=`query`){if(!e)throw TypeError(`Invalid URL`);let n=new URL(e,`http://127.0.0.1`)[t===`fragment`?`hash`:`search`];return new URLSearchParams(n.slice(1))}},YF=`;`,XF=class extends Error{constructor(e,t){if(super(e.error_description||e.error||``),this.form=t,this.name=`ErrorResponse`,!e.error)throw BF.error(`ErrorResponse`,`No error passed`),Error(`No error passed`);this.error=e.error,this.error_description=e.error_description??null,this.error_uri=e.error_uri??null,this.state=e.userState,this.session_state=e.session_state??null,this.url_state=e.url_state}},ZF=class extends Error{constructor(e){super(e),this.name=`ErrorTimeout`}},QF=class{constructor(){this._logger=new BF(`InMemoryWebStorage`),this._data={}}clear(){this._logger.create(`clear`),this._data={}}getItem(e){return this._logger.create(`getItem('${e}')`),this._data[e]}setItem(e,t){this._logger.create(`setItem('${e}')`),this._data[e]=t}removeItem(e){this._logger.create(`removeItem('${e}')`),delete this._data[e]}get length(){return Object.getOwnPropertyNames(this._data).length}key(e){return Object.getOwnPropertyNames(this._data)[e]}},$F=class extends Error{constructor(e,t){super(t),this.name=`ErrorDPoPNonce`,this.nonce=e}},eI=class{constructor(e=[],t=null,n={}){this._jwtHandler=t,this._extraHeaders=n,this._logger=new BF(`JsonService`),this._contentTypes=[],this._contentTypes.push(...e,`application/json`),t&&this._contentTypes.push(`application/jwt`)}async fetchWithTimeout(e,t={}){let{timeoutInSeconds:n,...r}=t;if(!n)return await fetch(e,r);let i=new AbortController,a=setTimeout(()=>i.abort(),n*1e3);try{return await fetch(e,{...t,signal:i.signal})}catch(e){throw e instanceof DOMException&&e.name===`AbortError`?new ZF(`Network timed out`):e}finally{clearTimeout(a)}}async getJson(e,{token:t,credentials:n,timeoutInSeconds:r}={}){let i=this._logger.create(`getJson`),a={Accept:this._contentTypes.join(`, `)};t&&(i.debug(`token passed, setting Authorization header`),a.Authorization=`Bearer `+t),this._appendExtraHeaders(a);let o;try{i.debug(`url:`,e),o=await this.fetchWithTimeout(e,{method:`GET`,headers:a,timeoutInSeconds:r,credentials:n})}catch(e){throw i.error(`Network Error`),e}i.debug(`HTTP response received, status`,o.status);let s=o.headers.get(`Content-Type`);if(s&&!this._contentTypes.find(e=>s.startsWith(e))&&i.throw(Error(`Invalid response Content-Type: ${s??`undefined`}, from URL: ${e}`)),o.ok&&this._jwtHandler&&s?.startsWith(`application/jwt`))return await this._jwtHandler(await o.text());let c;try{c=await o.json()}catch(e){throw i.error(`Error parsing JSON response`,e),o.ok?e:Error(`${o.statusText} (${o.status})`)}if(!o.ok)throw i.error(`Error from server:`,c),c.error?new XF(c):Error(`${o.statusText} (${o.status}): ${JSON.stringify(c)}`);return c}async postForm(e,{body:t,basicAuth:n,timeoutInSeconds:r,initCredentials:i,extraHeaders:a}){let o=this._logger.create(`postForm`),s={Accept:this._contentTypes.join(`, `),"Content-Type":`application/x-www-form-urlencoded`,...a};n!==void 0&&(s.Authorization=`Basic `+n),this._appendExtraHeaders(s);let c;try{o.debug(`url:`,e),c=await this.fetchWithTimeout(e,{method:`POST`,headers:s,body:t,timeoutInSeconds:r,credentials:i})}catch(e){throw o.error(`Network error`),e}o.debug(`HTTP response received, status`,c.status);let l=c.headers.get(`Content-Type`);if(l&&!this._contentTypes.find(e=>l.startsWith(e)))throw Error(`Invalid response Content-Type: ${l??`undefined`}, from URL: ${e}`);let u=await c.text(),d={};if(u)try{d=JSON.parse(u)}catch(e){throw o.error(`Error parsing JSON response`,e),c.ok?e:Error(`${c.statusText} (${c.status})`)}if(!c.ok)throw o.error(`Error from server:`,d),c.headers.has(`dpop-nonce`)?new $F(c.headers.get(`dpop-nonce`),`${JSON.stringify(d)}`):d.error?new XF(d,t):Error(`${c.statusText} (${c.status}): ${JSON.stringify(d)}`);return d}_appendExtraHeaders(e){let t=this._logger.create(`appendExtraHeaders`),n=Object.keys(this._extraHeaders),r=[`accept`,`content-type`],i=[`authorization`];n.length!==0&&n.forEach(n=>{if(r.includes(n.toLocaleLowerCase())){t.warn(`Protected header could not be set`,n,r);return}if(i.includes(n.toLocaleLowerCase())&&Object.keys(e).includes(n)){t.warn(`Header could not be overridden`,n,i);return}let a=typeof this._extraHeaders[n]==`function`?this._extraHeaders[n]():this._extraHeaders[n];a&&a!==``&&(e[n]=a)})}},tI=class{constructor(e){this._settings=e,this._logger=new BF(`MetadataService`),this._signingKeys=null,this._metadata=null,this._metadataUrl=this._settings.metadataUrl,this._jsonService=new eI([`application/jwk-set+json`],null,this._settings.extraHeaders),this._settings.signingKeys&&(this._logger.debug(`using signingKeys from settings`),this._signingKeys=this._settings.signingKeys),this._settings.metadata&&(this._logger.debug(`using metadata from settings`),this._metadata=this._settings.metadata),this._settings.fetchRequestCredentials&&(this._logger.debug(`using fetchRequestCredentials from settings`),this._fetchRequestCredentials=this._settings.fetchRequestCredentials)}resetSigningKeys(){this._signingKeys=null}async getMetadata(){let e=this._logger.create(`getMetadata`);if(this._metadata)return e.debug(`using cached values`),this._metadata;if(!this._metadataUrl)throw e.throw(Error(`No authority or metadataUrl configured on settings`)),null;e.debug(`getting metadata from`,this._metadataUrl);let t=await this._jsonService.getJson(this._metadataUrl,{credentials:this._fetchRequestCredentials,timeoutInSeconds:this._settings.requestTimeoutInSeconds});return e.debug(`merging remote JSON with seed metadata`),this._metadata=Object.assign({},t,this._settings.metadataSeed),this._metadata}getIssuer(){return this._getMetadataProperty(`issuer`)}getAuthorizationEndpoint(){return this._getMetadataProperty(`authorization_endpoint`)}getUserInfoEndpoint(){return this._getMetadataProperty(`userinfo_endpoint`)}getTokenEndpoint(e=!0){return this._getMetadataProperty(`token_endpoint`,e)}getCheckSessionIframe(){return this._getMetadataProperty(`check_session_iframe`,!0)}getEndSessionEndpoint(){return this._getMetadataProperty(`end_session_endpoint`,!0)}getRevocationEndpoint(e=!0){return this._getMetadataProperty(`revocation_endpoint`,e)}getKeysEndpoint(e=!0){return this._getMetadataProperty(`jwks_uri`,e)}async _getMetadataProperty(e,t=!1){let n=this._logger.create(`_getMetadataProperty('${e}')`),r=await this.getMetadata();if(n.debug(`resolved`),r[e]===void 0){if(t===!0){n.warn(`Metadata does not contain optional property`);return}n.throw(Error(`Metadata does not contain property `+e))}return r[e]}async getSigningKeys(){let e=this._logger.create(`getSigningKeys`);if(this._signingKeys)return e.debug(`returning signingKeys from cache`),this._signingKeys;let t=await this.getKeysEndpoint(!1);e.debug(`got jwks_uri`,t);let n=await this._jsonService.getJson(t,{timeoutInSeconds:this._settings.requestTimeoutInSeconds});if(e.debug(`got key set`,n),!Array.isArray(n.keys))throw e.throw(Error(`Missing keys on keyset`)),null;return this._signingKeys=n.keys,this._signingKeys}},nI=class{constructor({prefix:e=`oidc.`,store:t=localStorage}={}){this._logger=new BF(`WebStorageStateStore`),this._store=t,this._prefix=e}async set(e,t){this._logger.create(`set('${e}')`),e=this._prefix+e,await this._store.setItem(e,t)}async get(e){return this._logger.create(`get('${e}')`),e=this._prefix+e,await this._store.getItem(e)}async remove(e){this._logger.create(`remove('${e}')`),e=this._prefix+e;let t=await this._store.getItem(e);return await this._store.removeItem(e),t}async getAllKeys(){this._logger.create(`getAllKeys`);let e=await this._store.length,t=[];for(let n=0;n<e;n++){let e=await this._store.key(n);e&&e.indexOf(this._prefix)===0&&t.push(e.substr(this._prefix.length))}return t}},rI=`code`,iI=`openid`,aI=`client_secret_post`,oI=900,sI=class{constructor({authority:e,metadataUrl:t,metadata:n,signingKeys:r,metadataSeed:i,client_id:a,client_secret:o,response_type:s=rI,scope:c=iI,redirect_uri:l,post_logout_redirect_uri:u,client_authentication:d=aI,token_endpoint_auth_signing_alg:f=`HS256`,prompt:p,display:m,max_age:h,ui_locales:g,acr_values:_,resource:v,response_mode:y,filterProtocolClaims:b=!0,loadUserInfo:x=!1,requestTimeoutInSeconds:S,staleStateAgeInSeconds:ee=oI,mergeClaimsStrategy:te={array:`replace`},disablePKCE:ne=!1,stateStore:re,revokeTokenAdditionalContentTypes:ie,fetchRequestCredentials:ae,refreshTokenAllowedScope:oe,extraQueryParams:se={},extraTokenParams:ce={},extraHeaders:le={},dpop:ue,omitScopeWhenRequesting:de=!1}){if(this.authority=e,t?this.metadataUrl=t:(this.metadataUrl=e,e&&(this.metadataUrl.endsWith(`/`)||(this.metadataUrl+=`/`),this.metadataUrl+=`.well-known/openid-configuration`)),this.metadata=n,this.metadataSeed=i,this.signingKeys=r,this.client_id=a,this.client_secret=o,this.response_type=s,this.scope=c,this.redirect_uri=l,this.post_logout_redirect_uri=u,this.client_authentication=d,this.token_endpoint_auth_signing_alg=f,this.prompt=p,this.display=m,this.max_age=h,this.ui_locales=g,this.acr_values=_,this.resource=v,this.response_mode=y,this.filterProtocolClaims=b??!0,this.loadUserInfo=!!x,this.staleStateAgeInSeconds=ee,this.mergeClaimsStrategy=te,this.omitScopeWhenRequesting=de,this.disablePKCE=!!ne,this.revokeTokenAdditionalContentTypes=ie,this.fetchRequestCredentials=ae||`same-origin`,this.requestTimeoutInSeconds=S,re?this.stateStore=re:this.stateStore=new nI({store:typeof window<`u`?window.localStorage:new QF}),this.refreshTokenAllowedScope=oe,this.extraQueryParams=se,this.extraTokenParams=ce,this.extraHeaders=le,this.dpop=ue,this.dpop&&!this.dpop?.store)throw Error(`A DPoPStore is required when dpop is enabled`)}},cI=class{constructor(e,t){this._settings=e,this._metadataService=t,this._logger=new BF(`UserInfoService`),this._getClaimsFromJwt=async e=>{let t=this._logger.create(`_getClaimsFromJwt`);try{let n=VF.decode(e);return t.debug(`JWT decoding successful`),n}catch(e){throw t.error(`Error parsing JWT response`),e}},this._jsonService=new eI(void 0,this._getClaimsFromJwt,this._settings.extraHeaders)}async getClaims(e){let t=this._logger.create(`getClaims`);e||this._logger.throw(Error(`No token passed`));let n=await this._metadataService.getUserInfoEndpoint();t.debug(`got userinfo url`,n);let r=await this._jsonService.getJson(n,{token:e,credentials:this._settings.fetchRequestCredentials,timeoutInSeconds:this._settings.requestTimeoutInSeconds});return t.debug(`got claims`,r),r}},lI=class{constructor(e,t){this._settings=e,this._metadataService=t,this._logger=new BF(`TokenClient`),this._jsonService=new eI(this._settings.revokeTokenAdditionalContentTypes,null,this._settings.extraHeaders)}async exchangeCode({grant_type:e=`authorization_code`,redirect_uri:t=this._settings.redirect_uri,client_id:n=this._settings.client_id,client_secret:r=this._settings.client_secret,extraHeaders:i,...a}){let o=this._logger.create(`exchangeCode`);n||o.throw(Error(`A client_id is required`)),t||o.throw(Error(`A redirect_uri is required`)),a.code||o.throw(Error(`A code is required`));let s=new URLSearchParams({grant_type:e,redirect_uri:t});for(let[e,t]of Object.entries(a))t!=null&&s.set(e,t);if((this._settings.client_authentication===`client_secret_basic`||this._settings.client_authentication===`client_secret_jwt`)&&r==null)throw o.throw(Error(`A client_secret is required`)),null;let c,l=await this._metadataService.getTokenEndpoint(!1);switch(this._settings.client_authentication){case`client_secret_basic`:c=GF.generateBasicAuth(n,r);break;case`client_secret_post`:s.append(`client_id`,n),r&&s.append(`client_secret`,r);break;case`client_secret_jwt`:{let e=await GF.generateClientAssertionJwt(n,r,l,this._settings.token_endpoint_auth_signing_alg);s.append(`client_id`,n),s.append(`client_assertion_type`,`urn:ietf:params:oauth:client-assertion-type:jwt-bearer`),s.append(`client_assertion`,e);break}}o.debug(`got token endpoint`);let u=await this._jsonService.postForm(l,{body:s,basicAuth:c,timeoutInSeconds:this._settings.requestTimeoutInSeconds,initCredentials:this._settings.fetchRequestCredentials,extraHeaders:i});return o.debug(`got response`),u}async exchangeCredentials({grant_type:e=`password`,client_id:t=this._settings.client_id,client_secret:n=this._settings.client_secret,scope:r=this._settings.scope,...i}){let a=this._logger.create(`exchangeCredentials`);t||a.throw(Error(`A client_id is required`));let o=new URLSearchParams({grant_type:e});this._settings.omitScopeWhenRequesting||o.set(`scope`,r);for(let[e,t]of Object.entries(i))t!=null&&o.set(e,t);if((this._settings.client_authentication===`client_secret_basic`||this._settings.client_authentication===`client_secret_jwt`)&&n==null)throw a.throw(Error(`A client_secret is required`)),null;let s,c=await this._metadataService.getTokenEndpoint(!1);switch(this._settings.client_authentication){case`client_secret_basic`:s=GF.generateBasicAuth(t,n);break;case`client_secret_post`:o.append(`client_id`,t),n&&o.append(`client_secret`,n);break;case`client_secret_jwt`:{let e=await GF.generateClientAssertionJwt(t,n,c,this._settings.token_endpoint_auth_signing_alg);o.append(`client_id`,t),o.append(`client_assertion_type`,`urn:ietf:params:oauth:client-assertion-type:jwt-bearer`),o.append(`client_assertion`,e);break}}a.debug(`got token endpoint`);let l=await this._jsonService.postForm(c,{body:o,basicAuth:s,timeoutInSeconds:this._settings.requestTimeoutInSeconds,initCredentials:this._settings.fetchRequestCredentials});return a.debug(`got response`),l}async exchangeRefreshToken({grant_type:e=`refresh_token`,client_id:t=this._settings.client_id,client_secret:n=this._settings.client_secret,timeoutInSeconds:r,extraHeaders:i,...a}){let o=this._logger.create(`exchangeRefreshToken`);t||o.throw(Error(`A client_id is required`)),a.refresh_token||o.throw(Error(`A refresh_token is required`));let s=new URLSearchParams({grant_type:e});for(let[e,t]of Object.entries(a))Array.isArray(t)?t.forEach(t=>s.append(e,t)):t!=null&&s.set(e,t);if((this._settings.client_authentication===`client_secret_basic`||this._settings.client_authentication===`client_secret_jwt`)&&n==null)throw o.throw(Error(`A client_secret is required`)),null;let c,l=await this._metadataService.getTokenEndpoint(!1);switch(this._settings.client_authentication){case`client_secret_basic`:c=GF.generateBasicAuth(t,n);break;case`client_secret_post`:s.append(`client_id`,t),n&&s.append(`client_secret`,n);break;case`client_secret_jwt`:{let e=await GF.generateClientAssertionJwt(t,n,l,this._settings.token_endpoint_auth_signing_alg);s.append(`client_id`,t),s.append(`client_assertion_type`,`urn:ietf:params:oauth:client-assertion-type:jwt-bearer`),s.append(`client_assertion`,e);break}}o.debug(`got token endpoint`);let u=await this._jsonService.postForm(l,{body:s,basicAuth:c,timeoutInSeconds:r,initCredentials:this._settings.fetchRequestCredentials,extraHeaders:i});return o.debug(`got response`),u}async revoke(e){let t=this._logger.create(`revoke`);e.token||t.throw(Error(`A token is required`));let n=await this._metadataService.getRevocationEndpoint(!1);t.debug(`got revocation endpoint, revoking ${e.token_type_hint??`default token type`}`);let r=new URLSearchParams;for(let[t,n]of Object.entries(e))n!=null&&r.set(t,n);r.set(`client_id`,this._settings.client_id),this._settings.client_secret&&r.set(`client_secret`,this._settings.client_secret),await this._jsonService.postForm(n,{body:r,timeoutInSeconds:this._settings.requestTimeoutInSeconds}),t.debug(`got response`)}},uI=class{constructor(e,t,n){this._settings=e,this._metadataService=t,this._claimsService=n,this._logger=new BF(`ResponseValidator`),this._userInfoService=new cI(this._settings,this._metadataService),this._tokenClient=new lI(this._settings,this._metadataService)}async validateSigninResponse(e,t,n){let r=this._logger.create(`validateSigninResponse`);this._processSigninState(e,t),r.debug(`state processed`),await this._processCode(e,t,n),r.debug(`code processed`),e.isOpenId&&this._validateIdTokenAttributes(e,``,t.nonce),r.debug(`tokens validated`),await this._processClaims(e,t?.skipUserInfo,e.isOpenId),r.debug(`claims processed`)}async validateCredentialsResponse(e,t){let n=this._logger.create(`validateCredentialsResponse`),r=e.isOpenId&&!!e.id_token;r&&this._validateIdTokenAttributes(e),n.debug(`tokens validated`),await this._processClaims(e,t,r),n.debug(`claims processed`)}async validateRefreshResponse(e,t){let n=this._logger.create(`validateRefreshResponse`);e.userState=t.data,e.session_state??=t.session_state,e.scope??=t.scope,e.isOpenId&&e.id_token&&(this._validateIdTokenAttributes(e,t.id_token),n.debug(`ID Token validated`)),e.id_token||(e.id_token=t.id_token,e.profile=t.profile);let r=e.isOpenId&&!!e.id_token;await this._processClaims(e,!1,r),n.debug(`claims processed`)}validateSignoutResponse(e,t){let n=this._logger.create(`validateSignoutResponse`);if(t.id!==e.state&&n.throw(Error(`State does not match`)),n.debug(`state validated`),e.userState=t.data,e.error)throw n.warn(`Response was error`,e.error),new XF(e)}_processSigninState(e,t){let n=this._logger.create(`_processSigninState`);if(t.id!==e.state&&n.throw(Error(`State does not match`)),t.client_id||n.throw(Error(`No client_id on state`)),t.authority||n.throw(Error(`No authority on state`)),this._settings.authority!==t.authority&&n.throw(Error(`authority mismatch on settings vs. signin state`)),this._settings.client_id&&this._settings.client_id!==t.client_id&&n.throw(Error(`client_id mismatch on settings vs. signin state`)),n.debug(`state validated`),e.userState=t.data,e.url_state=t.url_state,e.scope??=t.scope,e.error)throw n.warn(`Response was error`,e.error),new XF(e);t.code_verifier&&!e.code&&n.throw(Error(`Expected code in response`))}async _processClaims(e,t=!1,n=!0){let r=this._logger.create(`_processClaims`);if(e.profile=this._claimsService.filterProtocolClaims(e.profile),t||!this._settings.loadUserInfo||!e.access_token){r.debug(`not loading user info`);return}r.debug(`loading user info`);let i=await this._userInfoService.getClaims(e.access_token);r.debug(`user info claims received from user info endpoint`),n&&i.sub!==e.profile.sub&&r.throw(Error(`subject from UserInfo response does not match subject in ID Token`)),e.profile=this._claimsService.mergeClaims(e.profile,this._claimsService.filterProtocolClaims(i)),r.debug(`user info claims received, updated profile:`,e.profile)}async _processCode(e,t,n){let r=this._logger.create(`_processCode`);if(e.code){r.debug(`Validating code`);let i=await this._tokenClient.exchangeCode({client_id:t.client_id,client_secret:t.client_secret,code:e.code,redirect_uri:t.redirect_uri,code_verifier:t.code_verifier,extraHeaders:n,...t.extraTokenParams});Object.assign(e,i)}else r.debug(`No code to process`)}_validateIdTokenAttributes(e,t,n){let r=this._logger.create(`_validateIdTokenAttributes`);r.debug(`decoding ID Token JWT`);let i=VF.decode(e.id_token??``);if(i.sub||r.throw(Error(`ID Token is missing a subject claim`)),n&&i.nonce!==n&&r.throw(Error(`nonce in id_token does not match nonce in client storage`)),t){let e=VF.decode(t);i.sub!==e.sub&&r.throw(Error(`sub in id_token does not match current sub`)),i.auth_time&&i.auth_time!==e.auth_time&&r.throw(Error(`auth_time in id_token does not match original auth_time`)),i.azp&&i.azp!==e.azp&&r.throw(Error(`azp in id_token does not match original azp`)),!i.azp&&e.azp&&r.throw(Error(`azp not in id_token, but present in original id_token`))}e.profile=i}},dI=class e{constructor(e){this.id=e.id||GF.generateUUIDv4(),this.data=e.data,e.created&&e.created>0?this.created=e.created:this.created=qF.getEpochTime(),this.request_type=e.request_type,this.url_state=e.url_state}toStorageString(){return new BF(`State`).create(`toStorageString`),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type,url_state:this.url_state})}static fromStorageString(t){return BF.createStatic(`State`,`fromStorageString`),Promise.resolve(new e(JSON.parse(t)))}static async clearStaleState(t,n){let r=BF.createStatic(`State`,`clearStaleState`),i=qF.getEpochTime()-n,a=await t.getAllKeys();r.debug(`got keys`,a);for(let n=0;n<a.length;n++){let o=a[n],s=await t.get(o),c=!1;if(s)try{let t=await e.fromStorageString(s);r.debug(`got item from key:`,o,t.created),t.created<=i&&(c=!0)}catch(e){r.error(`Error parsing state for key:`,o,e),c=!0}else r.debug(`no item in storage for key:`,o),c=!0;c&&(r.debug(`removed item for key:`,o),t.remove(o))}}},fI=class e extends dI{constructor(e){super(e),this.code_verifier=e.code_verifier,this.code_challenge=e.code_challenge,this.authority=e.authority,this.client_id=e.client_id,this.redirect_uri=e.redirect_uri,this.scope=e.scope,this.client_secret=e.client_secret,this.extraTokenParams=e.extraTokenParams,this.response_mode=e.response_mode,this.skipUserInfo=e.skipUserInfo,this.nonce=e.nonce}static async create(t){let n=t.code_verifier===!0?GF.generateCodeVerifier():t.code_verifier||void 0,r=n?await GF.generateCodeChallenge(n):void 0;return new e({...t,code_verifier:n,code_challenge:r})}toStorageString(){return new BF(`SigninState`).create(`toStorageString`),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type,url_state:this.url_state,code_verifier:this.code_verifier,authority:this.authority,client_id:this.client_id,redirect_uri:this.redirect_uri,scope:this.scope,client_secret:this.client_secret,extraTokenParams:this.extraTokenParams,response_mode:this.response_mode,skipUserInfo:this.skipUserInfo,nonce:this.nonce})}static fromStorageString(t){BF.createStatic(`SigninState`,`fromStorageString`);let n=JSON.parse(t);return e.create(n)}},pI=class e{constructor(e){this.url=e.url,this.state=e.state}static async create({url:t,authority:n,client_id:r,redirect_uri:i,response_type:a,scope:o,state_data:s,response_mode:c,request_type:l,client_secret:u,nonce:d,url_state:f,resource:p,skipUserInfo:m,extraQueryParams:h,extraTokenParams:g,disablePKCE:_,dpopJkt:v,omitScopeWhenRequesting:y,...b}){if(!t)throw this._logger.error(`create: No url passed`),Error(`url`);if(!r)throw this._logger.error(`create: No client_id passed`),Error(`client_id`);if(!i)throw this._logger.error(`create: No redirect_uri passed`),Error(`redirect_uri`);if(!a)throw this._logger.error(`create: No response_type passed`),Error(`response_type`);if(!o)throw this._logger.error(`create: No scope passed`),Error(`scope`);if(!n)throw this._logger.error(`create: No authority passed`),Error(`authority`);let x=await fI.create({data:s,request_type:l,url_state:f,code_verifier:!_,client_id:r,authority:n,redirect_uri:i,response_mode:c,client_secret:u,scope:o,extraTokenParams:g,skipUserInfo:m,nonce:d}),S=new URL(t);S.searchParams.append(`client_id`,r),S.searchParams.append(`redirect_uri`,i),S.searchParams.append(`response_type`,a),y||S.searchParams.append(`scope`,o),d&&S.searchParams.append(`nonce`,d),v&&S.searchParams.append(`dpop_jkt`,v);let ee=x.id;f&&(ee=`${ee}${YF}${f}`),S.searchParams.append(`state`,ee),x.code_challenge&&(S.searchParams.append(`code_challenge`,x.code_challenge),S.searchParams.append(`code_challenge_method`,`S256`)),p&&(Array.isArray(p)?p:[p]).forEach(e=>S.searchParams.append(`resource`,e));for(let[e,t]of Object.entries({response_mode:c,...b,...h}))t!=null&&S.searchParams.append(e,t.toString());return new e({url:S.href,state:x})}};pI._logger=new BF(`SigninRequest`);var mI=pI,hI=`openid`,gI=class{constructor(e){if(this.access_token=``,this.token_type=``,this.profile={},this.state=e.get(`state`),this.session_state=e.get(`session_state`),this.state){let e=decodeURIComponent(this.state).split(YF);this.state=e[0],e.length>1&&(this.url_state=e.slice(1).join(YF))}this.error=e.get(`error`),this.error_description=e.get(`error_description`),this.error_uri=e.get(`error_uri`),this.code=e.get(`code`)}get expires_in(){if(this.expires_at!==void 0)return this.expires_at-qF.getEpochTime()}set expires_in(e){typeof e==`string`&&(e=Number(e)),e!==void 0&&e>=0&&(this.expires_at=Math.floor(e)+qF.getEpochTime())}get isOpenId(){return this.scope?.split(` `).includes(hI)||!!this.id_token}},_I=class{constructor({url:e,state_data:t,id_token_hint:n,post_logout_redirect_uri:r,extraQueryParams:i,request_type:a,client_id:o,url_state:s}){if(this._logger=new BF(`SignoutRequest`),!e)throw this._logger.error(`ctor: No url passed`),Error(`url`);let c=new URL(e);if(n&&c.searchParams.append(`id_token_hint`,n),o&&c.searchParams.append(`client_id`,o),r&&(c.searchParams.append(`post_logout_redirect_uri`,r),t||s)){this.state=new dI({data:t,request_type:a,url_state:s});let e=this.state.id;s&&(e=`${e}${YF}${s}`),c.searchParams.append(`state`,e)}for(let[e,t]of Object.entries({...i}))t!=null&&c.searchParams.append(e,t.toString());this.url=c.href}},vI=class{constructor(e){if(this.state=e.get(`state`),this.state){let e=decodeURIComponent(this.state).split(YF);this.state=e[0],e.length>1&&(this.url_state=e.slice(1).join(YF))}this.error=e.get(`error`),this.error_description=e.get(`error_description`),this.error_uri=e.get(`error_uri`)}},yI=[`nbf`,`jti`,`auth_time`,`nonce`,`acr`,`amr`,`azp`,`at_hash`],bI=[`sub`,`iss`,`aud`,`exp`,`iat`],xI=class{constructor(e){this._settings=e,this._logger=new BF(`ClaimsService`)}filterProtocolClaims(e){let t={...e};if(this._settings.filterProtocolClaims){let e;e=Array.isArray(this._settings.filterProtocolClaims)?this._settings.filterProtocolClaims:yI;for(let n of e)bI.includes(n)||delete t[n]}return t}mergeClaims(e,t){let n={...e};for(let[e,r]of Object.entries(t))if(n[e]!==r)if(Array.isArray(n[e])||Array.isArray(r))if(this._settings.mergeClaimsStrategy.array==`replace`)n[e]=r;else{let t=Array.isArray(n[e])?n[e]:[n[e]];for(let e of Array.isArray(r)?r:[r])t.includes(e)||t.push(e);n[e]=t}else typeof n[e]==`object`&&typeof r==`object`?n[e]=this.mergeClaims(n[e],r):n[e]=r;return n}},SI=class{constructor(e,t){this.keys=e,this.nonce=t}},CI=class{constructor(e,t){this._logger=new BF(`OidcClient`),this.settings=e instanceof sI?e:new sI(e),this.metadataService=t??new tI(this.settings),this._claimsService=new xI(this.settings),this._validator=new uI(this.settings,this.metadataService,this._claimsService),this._tokenClient=new lI(this.settings,this.metadataService)}async createSigninRequest({state:e,request:t,request_uri:n,request_type:r,id_token_hint:i,login_hint:a,skipUserInfo:o,nonce:s,url_state:c,response_type:l=this.settings.response_type,scope:u=this.settings.scope,redirect_uri:d=this.settings.redirect_uri,prompt:f=this.settings.prompt,display:p=this.settings.display,max_age:m=this.settings.max_age,ui_locales:h=this.settings.ui_locales,acr_values:g=this.settings.acr_values,resource:_=this.settings.resource,response_mode:v=this.settings.response_mode,extraQueryParams:y=this.settings.extraQueryParams,extraTokenParams:b=this.settings.extraTokenParams,dpopJkt:x,omitScopeWhenRequesting:S=this.settings.omitScopeWhenRequesting}){let ee=this._logger.create(`createSigninRequest`);if(l!==`code`)throw Error(`Only the Authorization Code flow (with PKCE) is supported`);let te=await this.metadataService.getAuthorizationEndpoint();ee.debug(`Received authorization endpoint`,te);let ne=await mI.create({url:te,authority:this.settings.authority,client_id:this.settings.client_id,redirect_uri:d,response_type:l,scope:u,state_data:e,url_state:c,prompt:f,display:p,max_age:m,ui_locales:h,id_token_hint:i,login_hint:a,acr_values:g,dpopJkt:x,resource:_,request:t,request_uri:n,extraQueryParams:y,extraTokenParams:b,request_type:r,response_mode:v,client_secret:this.settings.client_secret,skipUserInfo:o,nonce:s,disablePKCE:this.settings.disablePKCE,omitScopeWhenRequesting:S});await this.clearStaleState();let re=ne.state;return await this.settings.stateStore.set(re.id,re.toStorageString()),ne}async readSigninResponseState(e,t=!1){let n=this._logger.create(`readSigninResponseState`),r=new gI(JF.readParams(e,this.settings.response_mode));if(!r.state)throw n.throw(Error(`No state in response`)),null;let i=await this.settings.stateStore[t?`remove`:`get`](r.state);if(!i)throw n.throw(Error(`No matching state found in storage`)),null;return{state:await fI.fromStorageString(i),response:r}}async processSigninResponse(e,t,n=!0){let r=this._logger.create(`processSigninResponse`),{state:i,response:a}=await this.readSigninResponseState(e,n);if(r.debug(`received state from storage; validating response`),this.settings.dpop&&this.settings.dpop.store){let e=await this.getDpopProof(this.settings.dpop.store);t={...t,DPoP:e}}try{await this._validator.validateSigninResponse(a,i,t)}catch(e){if(e instanceof $F&&this.settings.dpop){let n=await this.getDpopProof(this.settings.dpop.store,e.nonce);t.DPoP=n,await this._validator.validateSigninResponse(a,i,t)}else throw e}return a}async getDpopProof(e,t){let n,r;return(await e.getAllKeys()).includes(this.settings.client_id)?(r=await e.get(this.settings.client_id),r.nonce!==t&&t&&(r.nonce=t,await e.set(this.settings.client_id,r))):(n=await GF.generateDPoPKeys(),r=new SI(n,t),await e.set(this.settings.client_id,r)),await GF.generateDPoPProof({url:await this.metadataService.getTokenEndpoint(!1),httpMethod:`POST`,keyPair:r.keys,nonce:r.nonce})}async processResourceOwnerPasswordCredentials({username:e,password:t,skipUserInfo:n=!1,extraTokenParams:r={}}){let i=await this._tokenClient.exchangeCredentials({username:e,password:t,...r}),a=new gI(new URLSearchParams);return Object.assign(a,i),await this._validator.validateCredentialsResponse(a,n),a}async useRefreshToken({state:e,redirect_uri:t,resource:n,timeoutInSeconds:r,extraHeaders:i,extraTokenParams:a}){let o=this._logger.create(`useRefreshToken`),s;if(this.settings.refreshTokenAllowedScope===void 0)s=e.scope;else{let t=this.settings.refreshTokenAllowedScope.split(` `);s=(e.scope?.split(` `)||[]).filter(e=>t.includes(e)).join(` `)}if(this.settings.dpop&&this.settings.dpop.store){let e=await this.getDpopProof(this.settings.dpop.store);i={...i,DPoP:e}}let c;try{c=await this._tokenClient.exchangeRefreshToken({refresh_token:e.refresh_token,scope:s,redirect_uri:t,resource:n,timeoutInSeconds:r,extraHeaders:i,...a})}catch(o){if(o instanceof $F&&this.settings.dpop)i.DPoP=await this.getDpopProof(this.settings.dpop.store,o.nonce),c=await this._tokenClient.exchangeRefreshToken({refresh_token:e.refresh_token,scope:s,redirect_uri:t,resource:n,timeoutInSeconds:r,extraHeaders:i,...a});else throw o}let l=new gI(new URLSearchParams);return Object.assign(l,c),o.debug(`validating response`,l),await this._validator.validateRefreshResponse(l,{...e,scope:s}),l}async createSignoutRequest({state:e,id_token_hint:t,client_id:n,request_type:r,url_state:i,post_logout_redirect_uri:a=this.settings.post_logout_redirect_uri,extraQueryParams:o=this.settings.extraQueryParams}={}){let s=this._logger.create(`createSignoutRequest`),c=await this.metadataService.getEndSessionEndpoint();if(!c)throw s.throw(Error(`No end session endpoint`)),null;s.debug(`Received end session endpoint`,c),!n&&a&&!t&&(n=this.settings.client_id);let l=new _I({url:c,id_token_hint:t,client_id:n,post_logout_redirect_uri:a,state_data:e,extraQueryParams:o,request_type:r,url_state:i});await this.clearStaleState();let u=l.state;return u&&(s.debug(`Signout request has state to persist`),await this.settings.stateStore.set(u.id,u.toStorageString())),l}async readSignoutResponseState(e,t=!1){let n=this._logger.create(`readSignoutResponseState`),r=new vI(JF.readParams(e,this.settings.response_mode));if(!r.state){if(n.debug(`No state in response`),r.error)throw n.warn(`Response was error:`,r.error),new XF(r);return{state:void 0,response:r}}let i=await this.settings.stateStore[t?`remove`:`get`](r.state);if(!i)throw n.throw(Error(`No matching state found in storage`)),null;return{state:await dI.fromStorageString(i),response:r}}async processSignoutResponse(e){let t=this._logger.create(`processSignoutResponse`),{state:n,response:r}=await this.readSignoutResponseState(e,!0);return n?(t.debug(`Received state from storage; validating response`),this._validator.validateSignoutResponse(r,n)):t.debug(`No state from storage; skipping response validation`),r}clearStaleState(){return this._logger.create(`clearStaleState`),dI.clearStaleState(this.settings.stateStore,this.settings.staleStateAgeInSeconds)}async revokeToken(e,t){return this._logger.create(`revokeToken`),await this._tokenClient.revoke({token:e,token_type_hint:t})}},wI=function(e){return e.NotSupported=`OIDC authentication not supported`,e.Misconfigured=`OIDC is misconfigured`,e.General=`Something went wrong with OIDC discovery`,e.OpSupport=`Configured OIDC OP does not support required functions`,e.DynamicRegistrationNotSupported=`Dynamic registration not supported`,e.DynamicRegistrationFailed=`Dynamic registration failed`,e.DynamicRegistrationInvalid=`Dynamic registration invalid response`,e.CodeExchangeFailed=`Failed to exchange code for token`,e.InvalidBearerTokenResponse=`Invalid bearer token response`,e.InvalidIdToken=`Invalid ID token`,e.MissingOrInvalidStoredState=`State required to finish logging in is not found in storage.`,e}({}),TI=e=>!!e&&typeof e==`object`&&!Array.isArray(e),EI=(e,t)=>!e[t]||!DI(e,t)?(T.error(`Missing or invalid property: ${t}`),!1):!0,DI=(e,t)=>e[t]&&typeof e[t]!=`string`?(T.error(`Invalid property: ${t}`),!1):!0,OI=(e,t)=>e[t]&&(!Array.isArray(e[t])||!e[t].every(e=>typeof e==`string`))?(T.error(`Invalid property: ${t}`),!1):!0,kI=(e,t,n)=>{var r=e[t];return!r||!Array.isArray(r)||!r.includes(n)?(T.error(`Invalid property: ${t}. ${n} is required.`),!1):!0},AI=e=>{if(!TI(e))throw T.error(`Issuer configuration not found or malformed`),Error(wI.OpSupport);if(![EI(e,`issuer`),EI(e,`authorization_endpoint`),EI(e,`token_endpoint`),EI(e,`revocation_endpoint`),DI(e,`registration_endpoint`),DI(e,`account_management_uri`),DI(e,`device_authorization_endpoint`),OI(e,`account_management_actions_supported`),kI(e,`response_types_supported`,`code`),kI(e,`grant_types_supported`,YI.AuthorizationCode),kI(e,`code_challenge_methods_supported`,`S256`),OI(e,`prompt_values_supported`)].some(e=>!e))return e;throw T.error(`Issuer configuration not valid`),Error(wI.OpSupport)},jI=e=>{try{return FF(e)}catch(e){throw T.error(`Could not decode id_token`,e),e}},MI=(e,t,n,r)=>{try{if(!e)throw Error(`No ID token`);var i=jI(e);if(i.iss!==t)throw Error(`Invalid issuer`);if(!(typeof i.aud==`string`?[i.aud]:i.aud).includes(n))throw Error(`Invalid audience`);if(r!==void 0&&i.nonce!==r)throw Error(`Invalid nonce`);if(!i.exp||Date.now()>i.exp*1e3)throw Error(`Invalid expiry`)}catch(e){throw T.error(`Invalid ID token`,e),Error(wI.InvalidIdToken)}};function NI(e){if(!TI(e))throw T.error(`Stored user state not found`),Error(wI.MissingOrInvalidStoredState);if([EI(e,`homeserverUrl`),EI(e,`nonce`),DI(e,`identityServerUrl`)].some(e=>!e))throw Error(wI.MissingOrInvalidStoredState)}var PI=e=>TI(e)&&EI(e,`token_type`)&&e.token_type.toLowerCase()===`bearer`&&EI(e,`access_token`)&&EI(e,`refresh_token`)&&(!(`expires_in`in e)||typeof e.expires_in==`number`);function FI(e){if(!PI(e))throw Error(wI.InvalidBearerTokenResponse)}function II(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function LI(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?II(Object(n),!0).forEach(function(t){u(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):II(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var RI=e=>`openid urn:matrix:org.matrix.msc2967.client:api:* urn:matrix:org.matrix.msc2967.client:device:${e??Ej(10)}`,zI=function(){var e=o(function*(e){return globalThis.crypto.subtle?yj(yield WP(e)):(T.warn(`A secure context is required to generate code challenge. Using plain text code challenge`),e)});return function(t){return e.apply(this,arguments)}}(),BI=e=>{var{redirectUri:t}=e;return{scope:RI(),redirectUri:t,state:Ej(8),nonce:Ej(8),codeVerifier:Ej(64)}},VI=function(){var e=o(function*(e,t,n){var{scope:r,redirectUri:i,state:a,nonce:o,codeVerifier:s}=n,c=new URL(e);return c.searchParams.append(`response_mode`,`query`),c.searchParams.append(`response_type`,`code`),c.searchParams.append(`redirect_uri`,i),c.searchParams.append(`client_id`,t),c.searchParams.append(`state`,a),c.searchParams.append(`scope`,r),c.searchParams.append(`nonce`,o),c.searchParams.append(`code_challenge_method`,`S256`),c.searchParams.append(`code_challenge`,yield zI(s)),c.toString()});return function(t,n,r){return e.apply(this,arguments)}}(),HI=function(){var e=o(function*(e){var{metadata:t,redirectUri:n,clientId:r,homeserverUrl:i,identityServerUrl:a,nonce:o,prompt:s,urlState:c,loginHint:l,responseMode:u=`query`}=e,d=RI(),f=new CI(LI(LI({},t),{},{client_id:r,redirect_uri:n,authority:t.issuer,response_mode:u,response_type:`code`,scope:d,stateStore:new nI({prefix:`mx_oidc_`,store:window.sessionStorage})})),p={homeserverUrl:i,nonce:o,identityServerUrl:a};return(yield f.createSigninRequest({state:p,nonce:o,prompt:s,url_state:c,login_hint:l})).url});return function(t){return e.apply(this,arguments)}}(),UI=e=>({id_token:e.id_token,scope:e.scope,expires_at:e.expires_at,refresh_token:e.refresh_token,access_token:e.access_token,token_type:`Bearer`}),WI=function(){var e=o(function*(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:`query`,r=new URL(window.location.origin),i=new URLSearchParams({code:e,state:t});n===`query`?r.search=i.toString():r.hash=`#${i.toString()}`,zF.setLogger(T);try{var a=new gI(i),o=new nI({prefix:`mx_oidc_`,store:window.sessionStorage}),s=yield o.get(a.state);if(!s)throw Error(wI.MissingOrInvalidStoredState);var c=new CI(LI(LI({},yield fI.fromStorageString(s)),{},{stateStore:o})),l=yield c.processSigninResponse(r.href),u=l.userState;NI(u),FI(l),MI(l.id_token,c.settings.authority,c.settings.client_id,u.nonce);var d=UI(l);return{oidcClientSettings:{clientId:c.settings.client_id,issuer:c.settings.authority},tokenResponse:d,homeserverUrl:u.homeserverUrl,identityServerUrl:u.identityServerUrl,idTokenClaims:l.profile}}catch(e){T.error(`Oidc login failed`,e);var f=e.message;throw Object.values(wI).includes(f)?e:Error(wI.CodeExchangeFailed)}});return function(t,n){return e.apply(this,arguments)}}();function GI(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function KI(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?GI(Object(n),!0).forEach(function(t){u(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):GI(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var qI=function(){var e=o(function*(e){var t=new URL(`.well-known/openid-configuration`,e);return JI(yield(yield fetch(t,{method:N.Get,signal:Zk(5e3)})).json())});return function(t){return e.apply(this,arguments)}}(),JI=function(){var e=o(function*(e){var t=AI(e),n=new tI(new sI({authority:t.issuer,metadata:t,redirect_uri:``,client_id:``}));return KI(KI({},t),{},{signingKeys:t.jwks_uri?yield n.getSigningKeys():null})});return function(t){return e.apply(this,arguments)}}(),YI=function(e){return e.AuthorizationCode=`authorization_code`,e.RefreshToken=`refresh_token`,e.DeviceAuthorization=`urn:ietf:params:oauth:grant-type:device_code`,e}({}),XI=YI.DeviceAuthorization,ZI=(e,t)=>{if(!t)return!1;var n=new URL(t);return!(n.protocol!==e.protocol||n.hostname!==e.hostname&&!n.hostname.endsWith(`.${e.hostname}`))},QI=function(){var e=o(function*(e,t){if(!e.registration_endpoint)throw Error(wI.DynamicRegistrationNotSupported);var n=[YI.AuthorizationCode,YI.RefreshToken];if(n.some(t=>!e.grant_types_supported.includes(t)))throw Error(wI.DynamicRegistrationNotSupported);var r=new URL(t.clientUri),i={client_name:t.clientName,client_uri:t.clientUri,response_types:[`code`],grant_types:n,redirect_uris:t.redirectUris,id_token_signed_response_alg:`RS256`,token_endpoint_auth_method:`none`,application_type:t.applicationType,contacts:t.contacts,logo_uri:ZI(r,t.logoUri)?t.logoUri:void 0,policy_uri:ZI(r,t.policyUri)?t.policyUri:void 0,tos_uri:ZI(r,t.tosUri)?t.tosUri:void 0},a={Accept:`application/json`,"Content-Type":`application/json`};try{var o=yield fetch(e.registration_endpoint,{method:N.Post,headers:a,body:JSON.stringify(i)});if(o.status>=400)throw Error(wI.DynamicRegistrationFailed);var s=(yield o.json()).client_id;if(!s||typeof s!=`string`)throw Error(wI.DynamicRegistrationInvalid);return s}catch(e){throw Object.values(wI).includes(e.message)?e:(T.error(`Dynamic registration request failed`,e),Error(wI.DynamicRegistrationFailed))}});return function(t,n){return e.apply(this,arguments)}}(),$I=class{constructor(e,t,n,r,i){this.issuer=e,this.clientId=t,this.redirectUri=n,this.deviceId=r,this.idTokenClaims=i,u(this,`oidcClientReady`,void 0),u(this,`initPromise`,void 0),u(this,`oidcClient`,void 0),u(this,`inflightRefreshRequest`,void 0),this.oidcClientReady=Promise.resolve()}ensureInit(){var e=this;return o(function*(){if(!e.oidcClient){if(e.initPromise)return e.initPromise;e.initPromise=e.initialiseOidcClient(e.issuer,e.clientId,e.deviceId,e.redirectUri);try{yield e.initPromise}finally{e.initPromise=void 0}}})()}initialiseOidcClient(e,t,n,r){var i=this;return o(function*(){try{var a=yield qI(e),o=RI(n);i.oidcClient=new CI({metadata:a,signingKeys:a.signingKeys??void 0,client_id:t,scope:o,redirect_uri:r,authority:a.issuer,stateStore:new nI({prefix:`mx_oidc_`,store:window.sessionStorage})})}catch(e){throw T.error(`Failed to initialise OIDC client.`,e),Error(`Failed to initialise OIDC client.`)}})()}doRefreshAccessToken(e){var t=this;return o(function*(){yield t.ensureInit(),t.inflightRefreshRequest||=t.getNewTokens(e);try{return yield t.inflightRefreshRequest}catch(e){throw e instanceof XF?new Kk(e):e}finally{t.inflightRefreshRequest=void 0}})()}persistTokens(e){return o(function*(){})()}getNewTokens(e){var t=this;return o(function*(){if(!t.oidcClient)throw Error(`Cannot get new token before OIDC client is initialised.`);var n={refresh_token:e,session_state:`test`,data:void 0,profile:t.idTokenClaims},r=Date.now(),i=yield t.oidcClient.useRefreshToken({state:n,timeoutInSeconds:300}),a={accessToken:i.access_token,refreshToken:i.refresh_token,expiry:i.expires_in?new Date(r+i.expires_in*1e3):void 0};return yield t.persistTokens(a),a})()}},eL=`modulepreload`,tL=function(e,t){return new URL(e,t).href},nL={},rL=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=tL(t,n),t in nL)return;nL[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:eL,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},iL=[`server`,`limit`,`since`];function aL(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function J(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?aL(Object(n),!0).forEach(function(t){u(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):aL(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var oL=3e3,sL=600*1e3,cL=new C(`last_seen_user_agent`,`org.matrix.msc3852.last_seen_user_agent`),lL=function(e){return e.Chronological=`chronological`,e.Detached=`detached`,e}({}),uL=new eE(`m.get_login_token`,`org.matrix.msc3882.get_login_token`),dL=`uk.half-shot.msc2666`,fL=`uk.half-shot.msc2666.mutual_rooms`,pL=`uk.half-shot.msc2666.query_mutual_rooms`,mL=`org.matrix.msc4140`,hL=`org.matrix.msc4354`,gL=`uk.tcpip.msc4133`,_L=`uk.tcpip.msc4133.stable`,vL=`$`,Y=function(e){return e.Sync=`sync`,e.Event=`event`,e.ToDeviceEvent=`toDeviceEvent`,e.ReceivedToDeviceMessage=`receivedToDeviceMessage`,e.AccountData=`accountData`,e.Room=`Room`,e.DeleteRoom=`deleteRoom`,e.SyncUnexpectedError=`sync.unexpectedError`,e.ClientWellKnown=`WellKnown.client`,e.ReceivedVoipEvent=`received_voip_event`,e.TurnServers=`turnServers`,e.TurnServersError=`turnServers.error`,e}({}),yL=new C(`action`,`org.matrix.msc3824.action`),bL=class extends SD{constructor(e){var t;super(),t=this,u(this,`logger`,void 0),u(this,`reEmitter`,new OO(this)),u(this,`olmVersion`,null),u(this,`usingExternalCrypto`,!1),u(this,`_store`,void 0),u(this,`deviceId`,void 0),u(this,`credentials`,void 0),u(this,`legacyPickleKey`,void 0),u(this,`scheduler`,void 0),u(this,`clientRunning`,!1),u(this,`timelineSupport`,!1),u(this,`urlPreviewCache`,{}),u(this,`identityServer`,void 0),u(this,`http`,void 0),u(this,`cryptoBackend`,void 0),u(this,`enableEncryptedStateEvents`,void 0),u(this,`cryptoCallbacks`,void 0),u(this,`callEventHandler`,void 0),u(this,`groupCallEventHandler`,void 0),u(this,`supportsCallTransfer`,!1),u(this,`forceTURN`,!1),u(this,`iceCandidatePoolSize`,0),u(this,`idBaseUrl`,void 0),u(this,`baseUrl`,void 0),u(this,`isVoipWithNoMediaAllowed`,void 0),u(this,`disableVoip`,void 0),u(this,`useLivekitForGroupCalls`,void 0),u(this,`canSupportVoip`,!1),u(this,`peekSync`,null),u(this,`isGuestAccount`,!1),u(this,`ongoingScrollbacks`,{}),u(this,`notifTimelineSet`,null),u(this,`legacyCryptoStore`,void 0),u(this,`verificationMethods`,void 0),u(this,`fallbackICEServerAllowed`,!1),u(this,`syncApi`,void 0),u(this,`roomNameGenerator`,void 0),u(this,`pushRules`,void 0),u(this,`syncLeftRoomsPromise`,void 0),u(this,`syncedLeftRooms`,!1),u(this,`clientOpts`,void 0),u(this,`clientWellKnownIntervalID`,void 0),u(this,`canResetTimelineCallback`,void 0),u(this,`canSupport`,new Map),u(this,`pushProcessor`,new $M(this)),u(this,`serverVersionsPromise`,void 0),u(this,`clientWellKnown`,void 0),u(this,`clientWellKnownPromise`,void 0),u(this,`turnServers`,[]),u(this,`turnServersExpiry`,0),u(this,`checkTurnServersIntervalID`,void 0),u(this,`txnCtr`,0),u(this,`mediaHandler`,new AN(this)),u(this,`sessionId`,void 0),u(this,`eventsBeingEncrypted`,new Set),u(this,`useE2eForGroupCall`,!0),u(this,`toDeviceMessageQueue`,void 0),u(this,`livekitServiceURL`,void 0),u(this,`_secretStorage`,void 0),u(this,`ignoredInvites`,void 0),u(this,`matrixRTC`,void 0),u(this,`serverCapabilitiesService`,void 0),u(this,`startCallEventHandler`,()=>{this.isInitialSyncComplete()&&(FM()&&(this.callEventHandler.start(),this.groupCallEventHandler.start()),this.off(Y.Sync,this.startCallEventHandler))}),u(this,`startMatrixRTC`,()=>{this.isInitialSyncComplete()&&(this.matrixRTC.start(),this.off(Y.Sync,this.startMatrixRTC))}),u(this,`fixupRoomNotifications`,()=>{if(this.isInitialSyncComplete()){for(var e of(this.getRooms()??[]).filter(e=>e.getUnreadNotificationCount(I.Total)>0)){var t=this.getSafeUserId();e.fixupNotifications(t)}this.off(Y.Sync,this.fixupRoomNotifications)}}),this.logger=e.logger??T,e.baseUrl=DE(e.baseUrl),e.idBaseUrl=DE(e.idBaseUrl),this.baseUrl=e.baseUrl,this.idBaseUrl=e.idBaseUrl,this.identityServer=e.identityServer,this.usingExternalCrypto=e.usingExternalCrypto??!1,this.store=e.store||new rj,this.deviceId=e.deviceId||null,this.sessionId=Ej(10),this.credentials={userId:e.userId||null},this.http=new CA(this,{fetchFn:e.fetchFn,baseUrl:e.baseUrl,idBaseUrl:e.idBaseUrl,accessToken:e.accessToken,refreshToken:e.refreshToken,tokenRefreshFunction:e.tokenRefreshFunction,prefix:F.V3,onlyData:!0,extraParams:e.queryParams,localTimeoutMs:e.localTimeoutMs,useAuthorizationHeader:e.useAuthorizationHeader,logger:this.logger}),e.pickleKey&&(this.legacyPickleKey=e.pickleKey),this.useLivekitForGroupCalls=!!e.useLivekitForGroupCalls,this.scheduler=e.scheduler,this.scheduler&&this.scheduler.setProcessFunction(function(){var e=o(function*(e){var n=t.getRoom(e.getRoomId());e.status!==j.SENDING&&t.updatePendingEventStatus(n,e,j.SENDING);var r=yield t.sendEventHttpRequest(e);return n&&n.updatePendingEvent(e,j.SENT,r.event_id),r});return function(t){return e.apply(this,arguments)}}()),this.disableVoip=e.disableVoip??!1,!this.disableVoip&&FM()&&(this.callEventHandler=new zj(this),this.groupCallEventHandler=new Vj(this),this.canSupportVoip=!0,this.on(Y.Sync,this.startCallEventHandler)),this.matrixRTC=new AF(this.logger,this),this.serverCapabilitiesService=new DA(this.logger,this.http),this.on(Y.Sync,this.fixupRoomNotifications),this.timelineSupport=!!e.timelineSupport,this.legacyCryptoStore=e.cryptoStore,this.verificationMethods=e.verificationMethods,this.cryptoCallbacks=e.cryptoCallbacks||{},this.enableEncryptedStateEvents=e.enableEncryptedStateEvents??!1,this.forceTURN=e.forceTURN||!1,this.iceCandidatePoolSize=e.iceCandidatePoolSize===void 0?0:e.iceCandidatePoolSize,this.supportsCallTransfer=e.supportsCallTransfer||!1,this.fallbackICEServerAllowed=e.fallbackICEServerAllowed||!1,this.isVoipWithNoMediaAllowed=e.isVoipWithNoMediaAllowed||!1,e.useE2eForGroupCall!==void 0&&(this.useE2eForGroupCall=e.useE2eForGroupCall),this.livekitServiceURL=e.livekitServiceURL,this.roomNameGenerator=e.roomNameGenerator,this.toDeviceMessageQueue=new XN(this,this.logger),this.on(Z.Decrypted,e=>{SL(this,e)}),this.ignoredInvites=new nP(this),this._secretStorage=new PP(this,e.cryptoCallbacks??{}),this.setMaxListeners(0)}set store(e){this._store=e,this._store.setUserCreator(e=>vO.createUser(e,this))}get store(){return this._store}startClient(e){var t=this;return o(function*(){if(!t.clientRunning){t.clientRunning=!0,t.on(Y.Sync,t.startMatrixRTC);var n=t.getUserId();n&&t.store.storeUser(new vO(n)),t.supportsVoip()&&(t.checkTurnServersIntervalID=setInterval(()=>{t.checkTurnServers()},sL),t.checkTurnServers()),t.syncApi&&(t.logger.error(`Still have sync object whilst not running: stopping old one`),t.syncApi.stop());try{yield t.getVersions();var{threads:r,list:i,fwdPagination:a}=yield t.doesServerSupportThread();AL.setServerSideSupport(r),AL.setServerSideListSupport(i),AL.setServerSideFwdPaginationSupport(a)}catch(e){t.logger.error(`Can't fetch server versions, continuing to initialise sync, this will be retried later`,e)}t.clientOpts=e??{},t.clientOpts.slidingSync?t.syncApi=new BN(t.clientOpts.slidingSync,t,t.clientOpts,t.buildSyncApiOptions()):t.syncApi=new ej(t,t.clientOpts,t.buildSyncApiOptions()),t.syncApi.sync().catch(e=>t.logger.info(`Sync startup aborted with an error:`,e)),t.clientOpts.clientWellKnownPollPeriod!==void 0&&(t.clientWellKnownIntervalID=setInterval(()=>{t.fetchClientWellKnown()},1e3*t.clientOpts.clientWellKnownPollPeriod),t.fetchClientWellKnown()),t.toDeviceMessageQueue.start(),t.serverCapabilitiesService.start()}})()}buildSyncApiOptions(){return{cryptoCallbacks:this.cryptoBackend,canResetEntireTimeline:e=>this.canResetTimelineCallback?this.canResetTimelineCallback(e):!1,logger:this.logger.getChild(`sync`)}}stopClient(){var e,t,n,r,i;(e=this.cryptoBackend)==null||e.stop(),this.off(Y.Sync,this.startMatrixRTC),this.clientRunning&&(this.logger.debug(`stopping MatrixClient`),this.clientRunning=!1,(t=this.syncApi)==null||t.stop(),this.syncApi=void 0,(n=this.peekSync)==null||n.stopPeeking(),(r=this.callEventHandler)==null||r.stop(),(i=this.groupCallEventHandler)==null||i.stop(),this.callEventHandler=void 0,this.groupCallEventHandler=void 0,globalThis.clearInterval(this.checkTurnServersIntervalID),this.checkTurnServersIntervalID=void 0,this.clientWellKnownIntervalID!==void 0&&globalThis.clearInterval(this.clientWellKnownIntervalID),this.toDeviceMessageQueue.stop(),this.matrixRTC.stop(),this.serverCapabilitiesService.stop())}clearStores(){var e=this,t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(this.clientRunning)throw Error(`Cannot clear stores while client is running`);var n=[];n.push(this.store.deleteAllData()),this.legacyCryptoStore&&n.push(this.legacyCryptoStore.deleteAllData());var r=function(){var n=o(function*(){var n;try{if(n=globalThis.indexedDB,!n)return}catch{return}var r=function*(t){yield new Promise((r,i)=>{e.logger.info(`Removing IndexedDB instance ${t}`);var a=n.deleteDatabase(t);a.onsuccess=n=>{e.logger.info(`Removed IndexedDB instance ${t}`),r(0)},a.onerror=n=>{e.logger.warn(`Failed to remove IndexedDB instance ${t}:`,n),r(0)},a.onblocked=n=>{e.logger.info(`cannot yet remove IndexedDB instance ${t}`)}})};for(var i of[`${(a=t.cryptoDatabasePrefix)??rP}::matrix-sdk-crypto`,`${(o=t.cryptoDatabasePrefix)??rP}::matrix-sdk-crypto-meta`]){var a,o;yield*r(i)}});return function(){return n.apply(this,arguments)}}();return n.push(r()),Promise.all(n).then()}getUserId(){return this.credentials?.userId??null}getSafeUserId(){var e=this.getUserId();if(!e)throw Error(`Expected logged in user but found none.`);return e}getDomain(){var e;return(e=this.credentials)!=null&&e.userId?this.credentials.userId.replace(/^.*?:/,``):null}getUserIdLocalpart(){var e;return((e=this.credentials)==null||(e=e.userId)==null?void 0:e.split(`:`)[0].substring(1))??null}getDeviceId(){return this.deviceId}getSessionId(){return this.sessionId}supportsVoip(){return!this.disableVoip&&this.canSupportVoip}getMediaHandler(){return this.mediaHandler}setForceTURN(e){this.forceTURN=e}setSupportsCallTransfer(e){this.supportsCallTransfer=e}getUseE2eForGroupCall(){return this.useE2eForGroupCall}createCall(e){return IM(this,e)}createGroupCall(e,t,n,r,i,a){var s=this;return o(function*(){if(s.getGroupCallForRoom(e))throw Error(`${e} already has an existing group call`);var o=s.getRoom(e);if(!o)throw Error(`Cannot find room ${e}`);return new vM(s,o,t,n,r,void 0,i||s.isVoipWithNoMediaAllowed,a,s.isVoipWithNoMediaAllowed,s.useLivekitForGroupCalls,s.livekitServiceURL).create()})()}getLivekitServiceURL(){return this.livekitServiceURL}setLivekitServiceURL(e){this.livekitServiceURL=e}waitUntilRoomReadyForGroupCalls(e){return this.groupCallEventHandler.waitUntilRoomReadyForGroupCalls(e)}getGroupCallForRoom(e){return this.groupCallEventHandler.groupCalls.get(e)||null}getSyncState(){return this.syncApi?.getSyncState()??null}getSyncStateData(){return this.syncApi?this.syncApi.getSyncStateData():null}isInitialSyncComplete(){var e=this.getSyncState();return e?e===R.Prepared||e===R.Syncing:!1}isGuest(){return this.isGuestAccount}setGuest(e){this.isGuestAccount=e}getScheduler(){return this.scheduler}retryImmediately(){return this.toDeviceMessageQueue.sendQueue(),this.syncApi?.retryImmediately()??!1}getNotifTimelineSet(){return this.notifTimelineSet}setNotifTimelineSet(e){this.notifTimelineSet=e}getCapabilities(){var e=this;return o(function*(){return e.serverCapabilitiesService.getCachedCapabilities()||e.serverCapabilitiesService.fetchCapabilities()})()}getCachedCapabilities(){return this.serverCapabilitiesService.getCachedCapabilities()}fetchCapabilities(){return this.serverCapabilitiesService.fetchCapabilities()}initRustCrypto(){var e=arguments,t=this;return o(function*(){var n=e.length>0&&e[0]!==void 0?e[0]:{};if(t.cryptoBackend){t.logger.warn(`Attempt to re-initialise e2e encryption on MatrixClient`);return}var r=t.getUserId();if(r===null)throw Error(`Cannot enable encryption on MatrixClient with unknown userId: ensure userId is passed in createClient().`);var i=t.getDeviceId();if(i===null)throw Error(`Cannot enable encryption on MatrixClient with unknown deviceId: ensure deviceId is passed in createClient().`);t.logger.debug(`Downloading Rust crypto library`);var a=yield(yield rL(()=>import(`./rust-crypto-BB1QAvrJ.js`),__vite__mapDeps([0,1]),import.meta.url)).initRustCrypto({logger:t.logger,http:t.http,userId:r,deviceId:i,secretStorage:t.secretStorage,cryptoCallbacks:t.cryptoCallbacks,storePrefix:n.useIndexedDB===!1?null:n.cryptoDatabasePrefix??rP,storeKey:n.storageKey,storePassphrase:n.storagePassword,legacyCryptoStore:t.legacyCryptoStore,legacyPickleKey:t.legacyPickleKey??`DEFAULT_KEY`,legacyMigrationProgressListener:(e,n)=>{t.emit(mP.LegacyCryptoStoreMigrationProgress,e,n)},enableEncryptedStateEvents:t.enableEncryptedStateEvents});a.setSupportedVerificationMethods(t.verificationMethods),t.cryptoBackend=a,t.on(VD.Membership,a.onRoomMembership.bind(a)),t.on(Q.Events,a.onRoomStateEvent.bind(a)),t.on(Y.Event,e=>{a.onLiveEventFromSync(e)}),t.reEmitter.reEmit(a,[mP.VerificationRequestReceived,mP.UserTrustStatusChanged,mP.KeyBackupStatus,mP.KeyBackupSessionsRemaining,mP.KeyBackupFailed,mP.KeyBackupDecryptionKeyCached,mP.KeysChanged,mP.DevicesUpdated,mP.WillUpdateDevices,mP.DehydratedDeviceCreated,mP.DehydratedDeviceUploaded,mP.RehydrationStarted,mP.RehydrationProgress,mP.RehydrationCompleted,mP.RehydrationError,mP.DehydrationKeyCached,mP.DehydratedDeviceRotationError])})()}get secretStorage(){return this._secretStorage}getCrypto(){return this.cryptoBackend}isRoomEncrypted(e){var t=this.getRoom(e);return t?t.hasEncryptionStateEvent():!1}isKeyBackupKeyStored(){return Promise.resolve(this.secretStorage.isStored(`m.megolm_backup.v1`))}makeKeyBackupPath(e,t,n){return{path:t===void 0?e===void 0?`/room_keys/keys`:w(`/room_keys/keys/$roomId`,{$roomId:e}):w(`/room_keys/keys/$roomId/$sessionId`,{$roomId:e,$sessionId:t}),queryData:n===void 0?void 0:{version:n}}}deleteKeysFromBackup(e,t,n){var r=this;return o(function*(){var i=r.makeKeyBackupPath(e,t,n);yield r.http.authedRequest(N.Delete,i.path,i.queryData,void 0,{prefix:F.V3})})()}getMediaConfig(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=e?`/media/config`:`/config`;return this.http.authedRequest(N.Get,t,void 0,void 0,{prefix:e?F.V1:pA.V3})}getRoom(e){return e?this.store.getRoom(e):null}getRooms(){return this.store.getRooms()}getVisibleRooms(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=this.store.getRooms(),n=new Set(t);for(var r of n)for(var i of this.findPredecessorRooms(r,!0,e))n.delete(i);return Array.from(n)}getUser(e){return this.store.getUser(e)}getUsers(){return this.store.getUsers()}setAccountData(e,t){var n=this;return o(function*(){if(!n.clientRunning)return n.logger.warn("Calling `setAccountData` before the client is started: `getAccountData` may return inconsistent results."),yield nA(5,()=>n.setAccountDataRaw(e,t));var r=n.store.getAccountData(e);if(r&&vE(r.event.content,t))return{};var i=Promise.withResolvers();function a(t){t.getType()===e&&i.resolve()}n.addListener(Y.AccountData,a);try{var o=yield nA(5,()=>n.setAccountDataRaw(e,t));return yield i.promise,o}finally{n.removeListener(Y.AccountData,a)}})()}setAccountDataRaw(e,t){var n=w(`/user/$userId/account_data/$type`,{$userId:this.credentials.userId,$type:e});return this.http.authedRequest(N.Put,n,void 0,t)}getAccountData(e){return this.store.getAccountData(e)}getAccountDataFromServer(e){var t=this;return o(function*(){if(t.isInitialSyncComplete()){var n=t.store.getAccountData(e);return n?n.getContent():null}var r=w(`/user/$userId/account_data/$type`,{$userId:t.credentials.userId,$type:e});try{return yield t.http.authedRequest(N.Get,r)}catch(e){if(e.data?.errcode===`M_NOT_FOUND`)return null;throw e}})()}deleteAccountData(e){var t=this;return o(function*(){var n=t.canSupport.get(VA.AccountDataDeletion);if(n===BA.Unsupported){yield t.setAccountData(e,{});return}var r=w(`/user/$userId/account_data/$type`,{$userId:t.getSafeUserId(),$type:e}),i=n===BA.Unstable?{prefix:`/_matrix/client/unstable/org.matrix.msc3391`}:void 0;return yield t.http.authedRequest(N.Delete,r,void 0,void 0,i)})()}getIgnoredUsers(){var e=this.getAccountData(E.IgnoredUserList);return e!=null&&e.getContent().ignored_users?Object.keys(e.getContent().ignored_users):[]}setIgnoredUsers(e){var t={ignored_users:{}};return e.forEach(e=>{t.ignored_users[e]={}}),this.setAccountData(E.IgnoredUserList,t)}isUserIgnored(e){return this.getIgnoredUsers().includes(e)}joinRoom(e){var t=arguments,n=this;return o(function*(){var r,i=t.length>1&&t[1]!==void 0?t[1]:{},a=n.getRoom(e),o=a?.getMember(n.getSafeUserId()),s=o?.membership,c=s==O.Invite?(o==null||(r=o.events.member)==null?void 0:r.getSender())??null:null;if(n.logger.debug(`joinRoom[${e}]: preJoinMembership=${s}, inviter=${c}, opts=${JSON.stringify(i)}`),s==O.Join)return a;var l=Promise.resolve();if(i.inviteSignUrl){var u=new URL(i.inviteSignUrl);u.searchParams.set(`mxid`,n.credentials.userId),l=n.http.requestOtherUrl(N.Post,u)}var d={};i.viaServers&&(d.via=d.server_name=i.viaServers.slice(0,3));var f={},p=yield l;p&&(f.third_party_signed=p);var m=w(`/join/$roomid`,{$roomid:e}),h=(yield n.http.authedRequest(N.Post,m,d,f)).room_id;i.acceptSharedHistory&&c&&n.cryptoBackend&&(yield n.cryptoBackend.markRoomAsPendingKeyBundle(h,c),yield n.cryptoBackend.maybeAcceptKeyBundle(h,c));var g=n.getRoom(h);return g!=null&&g.hasMembershipState(n.credentials.userId,O.Join)?g:new ej(n,n.clientOpts,n.buildSyncApiOptions()).createRoom(h)})()}knockRoom(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=this.getRoom(e);if(n!=null&&n.hasMembershipState(this.credentials.userId,O.Knock))return Promise.resolve({room_id:n.roomId});var r=w(`/knock/$roomIdOrAlias`,{$roomIdOrAlias:e}),i={};if(t.viaServers){var a=Array.isArray(t.viaServers)?t.viaServers.slice(0,3):[t.viaServers];i.server_name=a,i.via=a}var o={};return t.reason&&(o.reason=t.reason),this.http.authedRequest(N.Post,r,i,o)}resendEvent(e,t){return this.toDeviceMessageQueue.sendQueue(),this.updatePendingEventStatus(t,e,j.SENDING),this.encryptAndSendEvent(t,e)}cancelPendingEvent(e){if(![j.QUEUED,j.NOT_SENT,j.ENCRYPTING].includes(e.status))throw Error(`cannot cancel an event with status `+e.status);e.status===j.ENCRYPTING?this.eventsBeingEncrypted.delete(e.getId()):this.scheduler&&e.status===j.QUEUED&&this.scheduler.removeEventFromQueue(e);var t=this.getRoom(e.getRoomId());this.updatePendingEventStatus(t,e,j.CANCELLED)}setRoomName(e,t){return this.sendStateEvent(e,E.RoomName,{name:t})}setRoomTopic(e,t,n){var r=nk(t,n);return this.sendStateEvent(e,E.RoomTopic,r)}getRoomTags(e){var t=w(`/user/$userId/rooms/$roomId/tags`,{$userId:this.credentials.userId,$roomId:e});return this.http.authedRequest(N.Get,t)}setRoomTag(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=w(`/user/$userId/rooms/$roomId/tags/$tag`,{$userId:this.credentials.userId,$roomId:e,$tag:t});return this.http.authedRequest(N.Put,r,void 0,n)}deleteRoomTag(e,t){var n=w(`/user/$userId/rooms/$roomId/tags/$tag`,{$userId:this.credentials.userId,$roomId:e,$tag:t});return this.http.authedRequest(N.Delete,n)}setRoomAccountData(e,t,n){var r=w(`/user/$userId/rooms/$roomId/account_data/$type`,{$userId:this.credentials.userId,$roomId:e,$type:t});return this.http.authedRequest(N.Put,r,void 0,n)}setPowerLevel(e,t,n){var r=this;return o(function*(){var i,a;if(r.clientRunning&&r.isInitialSyncComplete()){var o;a=(o=r.getRoom(e))==null||(o=o.currentState)==null||(o=o.getStateEvents(E.RoomPowerLevels,``))==null?void 0:o.getContent()}if(!a)try{a=yield r.getStateEvent(e,E.RoomPowerLevels,``)}catch(e){if(e instanceof P&&e.errcode===`M_NOT_FOUND`)a={};else throw e}a=_E(a),(i=a)!=null&&i.users||(a.users={});for(var s of Array.isArray(t)?t:[t])n==null?delete a.users[s]:a.users[s]=n;return r.sendStateEvent(e,E.RoomPowerLevels,a,``)})()}unstable_createLiveBeacon(e,t){var n=this;return o(function*(){return n.unstable_setLiveBeacon(e,t)})()}unstable_setLiveBeacon(e,t){var n=this;return o(function*(){return n.sendStateEvent(e,WN.name,t,n.getUserId())})()}sendEvent(e,t,n,r,i){var a,o,s,c;return!(t!=null&&t.startsWith(vL))&&t!==null?(c=r,s=n,o=t,a=null):(c=i,s=r,o=n,a=t),this.addThreadRelationIfNeeded(s,a,e),this.sendCompleteEvent({roomId:e,threadId:a,eventObject:{type:o,content:s},txnId:c})}addThreadRelationIfNeeded(e,t,n){var r;if(t&&!((r=e[`m.relates_to`])!=null&&r.rel_type)){var i,a=!!((i=e[`m.relates_to`])!=null&&i[`m.in_reply_to`]);e[`m.relates_to`]=J(J({},e[`m.relates_to`]),{},{rel_type:X.name,event_id:t,is_falling_back:!a});var o=this.getRoom(n)?.getThread(t);o&&!a&&(e[`m.relates_to`][`m.in_reply_to`]={event_id:o.lastReply(e=>e.isRelation(X.name)&&!e.status)?.getId()??t})}}sendCompleteEvent(e){var{roomId:t,threadId:n,eventObject:r,delayOpts:i,queryDict:a,txnId:o}=e;o||=this.makeTxnId();var s=new BL(Object.assign(r,{event_id:`~`+t+`:`+o,user_id:this.credentials.userId,sender:this.credentials.userId,room_id:t,origin_server_ts:new Date().getTime()})),c=this.getRoom(t),l=n?c?.getThread(n):void 0;l&&s.setThread(l),i||(this.reEmitter.reEmit(s,[Z.Replaced,Z.VisibilityChange]),c?.reEmitter.reEmit(s,[Z.BeforeRedaction]));var u=s.getAssociatedId();if(u!=null&&u.startsWith(`~`)){var d=c?.getPendingEvents().find(e=>e.getId()===u);d?.once(Z.LocalEventIdReplaced,()=>{s.updateAssociatedId(d.getId())})}var f=s.getType();return this.logger.debug(`sendEvent of type ${f} in ${t} with txnId ${o}${i?` (delayed event)`:``}${a?` query params: `+JSON.stringify(a):``}`),s.setTxnId(o),s.setStatus(j.SENDING),i?this.encryptAndSendEvent(c,s,i,a):(c?.addPendingEvent(s,o),s.status===j.NOT_SENT?Promise.reject(Error(`Event blocked by other events not yet sent`)):this.encryptAndSendEvent(c,s,a))}encryptAndSendEvent(e,t,n,r){var i=this;return o(function*(){var a=r;if(n&&lN(n))return i.sendEventHttpRequest(t,n,a);a||=n;try{var o;i.eventsBeingEncrypted.add(t.getId());try{yield i.encryptEventIfNeeded(t,e??void 0)}finally{o=!i.eventsBeingEncrypted.delete(t.getId())}if(o)return{};t.status===j.ENCRYPTING&&i.updatePendingEventStatus(e,t,j.SENDING);var s=null;return i.scheduler&&(s=i.scheduler.queueEvent(t),s&&i.scheduler.getQueueForEvent(t).length>1&&i.updatePendingEventStatus(e,t,j.QUEUED)),s||(s=i.sendEventHttpRequest(t,a),e&&(s=s.then(n=>(e.updatePendingEvent(t,j.SENT,n.event_id),n)))),yield s}catch(n){i.logger.error(`Error sending event`,n);try{t.error=n,i.updatePendingEventStatus(e,t,j.NOT_SENT)}catch(e){i.logger.error(`Exception in error handler!`,e)}throw n instanceof P&&(n.event=t),n}})()}encryptEventIfNeeded(e,t){var n=this;return o(function*(){if(t&&(yield n.shouldEncryptEventForRoom(e,t))&&!(!n.cryptoBackend&&n.usingExternalCrypto)){if(!n.cryptoBackend)throw Error(`This room is configured to use encryption, but your client does not support encryption.`);n.updatePendingEventStatus(t,e,j.ENCRYPTING),yield n.cryptoBackend.encryptEvent(e,t)}})()}shouldEncryptEventForRoom(e,t){var n=this;return o(function*(){return e.isEncrypted()||e.getType()===E.Reaction||e.isRedaction()?!1:!!(t.hasEncryptionStateEvent()||(yield n.cryptoBackend?.isEncryptionEnabledInRoom(t.roomId)))})()}getEncryptedIfNeededEventType(e,t){var n;return t===E.Reaction?t:(n=this.getRoom(e))!=null&&n.hasEncryptionStateEvent()?E.RoomMessageEncrypted:t}updatePendingEventStatus(e,t,n){e?e.updatePendingEvent(t,n):t.setStatus(n)}sendEventHttpRequest(e,t,n){var r=e.getTxnId();r||(r=this.makeTxnId(),e.setTxnId(r));var i={$roomId:e.getRoomId(),$eventType:e.getWireType(),$stateKey:e.getStateKey(),$txnId:r},a;if(e.isState()){var o=`/rooms/$roomId/state/$eventType`;e.getStateKey()&&e.getStateKey().length>0&&(o=`/rooms/$roomId/state/$eventType/$stateKey`),a=w(o,i)}else a=e.isRedaction()&&e.event.redacts?w(`/rooms/$roomId/redact/$redactsEventId/$txnId`,J({$redactsEventId:e.event.redacts},i)):w(`/rooms/$roomId/send/$eventType/$txnId`,i);var s=t&&lN(t)?t:void 0,c=s?n:t,l=e.getWireContent();return s?this.http.authedRequest(N.Put,a,J(J({},xL(s)),c),l):this.http.authedRequest(N.Put,a,c,l).then(t=>(this.logger.debug(`Event sent to ${e.getRoomId()} with event id ${t.event_id}`),t))}redactEvent(e,t,n,r,i){var a;(a=n)!=null&&a.startsWith(vL)||(i=r,r=n,n=t,t=null);var o={reason:i?.reason};if(i?.with_rel_types!==void 0){if(this.canSupport.get(VA.RelationBasedRedactions)===BA.Unsupported)throw Error(`Server does not support relation based redactions roomId ${e} eventId ${n} txnId: ${r} threadId ${t}`);var s=this.canSupport.get(VA.RelationBasedRedactions)===BA.Stable?ND.stable:ND.unstable;o[s]=i.with_rel_types}return this.sendCompleteEvent({roomId:e,threadId:t,eventObject:{type:E.RoomRedaction,content:o,redacts:n},txnId:r})}sendMessage(e,t,n,r){typeof t!=`string`&&t!==null&&(r=n,n=t,t=null);var i=E.RoomMessage,a=n;return this.sendEvent(e,t,i,a,r)}sendTextMessage(e,t,n,r){var i;!((i=t)!=null&&i.startsWith(vL))&&t!==null&&(r=n,n=t,t=null);var a=XO(n);return this.sendMessage(e,t,a,r)}sendNotice(e,t,n,r){var i;!((i=t)!=null&&i.startsWith(vL))&&t!==null&&(r=n,n=t,t=null);var a=ZO(n);return this.sendMessage(e,t,a,r)}sendEmoteMessage(e,t,n,r){var i;!((i=t)!=null&&i.startsWith(vL))&&t!==null&&(r=n,n=t,t=null);var a=QO(n);return this.sendMessage(e,t,a,r)}sendImageMessage(e,t,n,r){var i,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:`Image`;!((i=t)!=null&&i.startsWith(vL))&&t!==null&&(a=r||`Image`,r=n,n=t,t=null);var o={msgtype:CD.Image,url:n,info:r,body:a};return this.sendMessage(e,t,o)}sendStickerMessage(e,t,n,r){var i,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:`Sticker`;!((i=t)!=null&&i.startsWith(vL))&&t!==null&&(a=r||`Sticker`,r=n,n=t,t=null);var o={url:n,info:r,body:a};return this.sendEvent(e,t,E.Sticker,o)}sendHtmlMessage(e,t,n,r){var i;!((i=t)!=null&&i.startsWith(vL))&&t!==null&&(r=n,n=t,t=null);var a=qO(n,r);return this.sendMessage(e,t,a)}sendHtmlNotice(e,t,n,r){var i;!((i=t)!=null&&i.startsWith(vL))&&t!==null&&(r=n,n=t,t=null);var a=JO(n,r);return this.sendMessage(e,t,a)}sendHtmlEmote(e,t,n,r){var i;!((i=t)!=null&&i.startsWith(vL))&&t!==null&&(r=n,n=t,t=null);var a=YO(n,r);return this.sendMessage(e,t,a)}_unstable_sendDelayedEvent(e,t,n,r,i,a){var s=this;return o(function*(){if(!(yield s.doesServerSupportUnstableFeature(`org.matrix.msc4140`)))throw new iF(`Server does not support the delayed events API`,`sendDelayedEvent`);return s.addThreadRelationIfNeeded(i,n,e),s.sendCompleteEvent({roomId:e,threadId:n,eventObject:{type:r,content:i},delayOpts:t,txnId:a})})()}_unstable_sendStickyDelayedEvent(e,t,n,r,i,a,s){var c=this;return o(function*(){if(!(yield c.doesServerSupportUnstableFeature(`org.matrix.msc4140`)))throw new iF(`Server does not support the delayed events API`,`getDelayedEvents`);if(!(yield c.doesServerSupportUnstableFeature(`org.matrix.msc4354`)))throw new aF(`Server does not support the sticky events`,`sendStickyEvent`);return c.addThreadRelationIfNeeded(a,r,e),c.sendCompleteEvent({roomId:e,threadId:r,eventObject:{type:i,content:a},queryDict:{"org.matrix.msc4354.sticky_duration_ms":t},delayOpts:n,txnId:s})})()}_unstable_sendDelayedStateEvent(e,t,n,r){var i=arguments,a=this;return o(function*(){var o=i.length>4&&i[4]!==void 0?i[4]:``,s=i.length>5&&i[5]!==void 0?i[5]:{};if(!(yield a.doesServerSupportUnstableFeature(`org.matrix.msc4140`)))throw new iF(`Server does not support the delayed events API`,`sendDelayedStateEvent`);var c={$roomId:e,$eventType:n,$stateKey:o},l=w(`/rooms/$roomId/state/$eventType`,c);return o!==void 0&&(l=w(l+`/$stateKey`,c)),a.http.authedRequest(N.Put,l,xL(t),r,s)})()}_unstable_sendStickyEvent(e,t,n,r,i,a){var s=this;return o(function*(){if(!(yield s.doesServerSupportUnstableFeature(`org.matrix.msc4354`)))throw new aF(`Server does not support the sticky events`,`sendStickyEvent`);return s.addThreadRelationIfNeeded(i,n,e),s.sendCompleteEvent({roomId:e,threadId:n,eventObject:{type:r,content:i},queryDict:{"org.matrix.msc4354.sticky_duration_ms":t},txnId:a})})()}_unstable_getDelayedEvents(e,t,n){var r=this;return o(function*(){if(!(yield r.doesServerSupportUnstableFeature(`org.matrix.msc4140`)))throw new iF(`Server does not support the delayed events API`,`getDelayedEvents`);var i={from:n,status:e,delay_id:t};return yield r.http.authedRequest(N.Get,`/delayed_events`,i,void 0,{prefix:`${F.Unstable}/${mL}`})})()}_unstable_updateDelayedEvent(e,t){var n=arguments,r=this;return o(function*(){var i=n.length>2&&n[2]!==void 0?n[2]:{};if(!(yield r.doesServerSupportUnstableFeature(`org.matrix.msc4140`)))throw new iF(`Server does not support the delayed events API`,`updateDelayedEvent`);return yield r.updateScheduledDelayedEventWithActionInBody(e,t,i)})()}_unstable_cancelScheduledDelayedEvent(e){var t=arguments,n=this;return o(function*(){var r=t.length>1&&t[1]!==void 0?t[1]:{};return yield n.updateScheduledDelayedEvent(e,uN.Cancel,r)})()}_unstable_restartScheduledDelayedEvent(e){var t=arguments,n=this;return o(function*(){var r=t.length>1&&t[1]!==void 0?t[1]:{};return yield n.updateScheduledDelayedEvent(e,uN.Restart,r)})()}_unstable_sendScheduledDelayedEvent(e){var t=arguments,n=this;return o(function*(){var r=t.length>1&&t[1]!==void 0?t[1]:{};return yield n.updateScheduledDelayedEvent(e,uN.Send,r)})()}updateScheduledDelayedEvent(e,t){var n=arguments,r=this;return o(function*(){var i=n.length>2&&n[2]!==void 0?n[2]:{};if(!(yield r.doesServerSupportUnstableFeature(`org.matrix.msc4140`)))throw new iF(`Server does not support the delayed events API`,`${t}ScheduledDelayedEvent`);try{var a=w(`/delayed_events/$delayId/$action`,{$delayId:e,$action:t});return yield r.http.request(N.Post,a,void 0,void 0,J(J({},i),{},{prefix:`${F.Unstable}/${mL}`}))}catch(n){if(n instanceof P&&n.errcode===`M_UNRECOGNIZED`)return yield r.updateScheduledDelayedEventWithActionInBody(e,t,i);throw n}})()}updateScheduledDelayedEventWithActionInBody(e,t){var n=arguments,r=this;return o(function*(){var i=n.length>2&&n[2]!==void 0?n[2]:{},a=w(`/delayed_events/$delayId`,{$delayId:e}),o={action:t};try{return yield r.http.request(N.Post,a,void 0,o,J(J({},i),{},{prefix:`${F.Unstable}/${mL}`}))}catch(e){if(e instanceof P&&e.errcode===`M_MISSING_TOKEN`)return yield r.http.authedRequest(N.Post,a,void 0,o,J(J({},i),{},{prefix:`${F.Unstable}/${mL}`}));throw e}})()}sendReceipt(e,t,n){var r=arguments,i=this;return o(function*(){var a=r.length>3&&r[3]!==void 0?r[3]:!1;if(i.isGuest())return Promise.resolve({});var o=w(`/rooms/$roomId/receipt/$receiptType/$eventId`,{$roomId:e.getRoomId(),$receiptType:t,$eventId:e.getId()}),s=!a&&i.supportsThreads()?J(J({},n),{},{thread_id:CL(e)}):n,c=i.http.authedRequest(N.Post,o,void 0,s||{}),l=i.getRoom(e.getRoomId());return l&&i.credentials.userId&&l.addLocalEchoReceipt(i.credentials.userId,e,t,a),c})()}sendReadReceipt(e){var t=arguments,n=this;return o(function*(){var r=t.length>1&&t[1]!==void 0?t[1]:oE.Read,i=t.length>2&&t[2]!==void 0?t[2]:!1;if(e){var a=e.getId(),o=n.getRoom(e.getRoomId());if(o!=null&&o.hasPendingEvent(a))throw Error(`Cannot set read receipt to a pending event (${a})`);return n.sendReceipt(e,r,{},i)}})()}setRoomReadMarkers(e,t,n,r){var i=this;return o(function*(){var a=i.getRoom(e);if(a!=null&&a.hasPendingEvent(t))throw Error(`Cannot set read marker to a pending event (${t})`);var o;if(n){if(o=n.getId(),a!=null&&a.hasPendingEvent(o))throw Error(`Cannot set read receipt to a pending event (${o})`);a?.addLocalEchoReceipt(i.credentials.userId,n,oE.Read)}var s;if(r){if(s=r.getId(),a!=null&&a.hasPendingEvent(s))throw Error(`Cannot set read receipt to a pending event (${s})`);a?.addLocalEchoReceipt(i.credentials.userId,r,oE.ReadPrivate)}return yield i.setRoomReadMarkersHttpRequest(e,t,o,s)})()}sendRtcDecline(e,t){return this.sendEvent(e,E.RTCDecline,{"m.relates_to":{event_id:t,rel_type:D.Reference}})}getUrlPreview(e,t){var n=this;return o(function*(){t=Math.floor(t/6e4)*6e4;var r=new URL(e);r.hash=``,e=r.toString();var i=t+`_`+e;if(i in n.urlPreviewCache)return n.urlPreviewCache[i];var a=yield n.isVersionSupported(`v1.11`),o=n.http.authedRequest(N.Get,a?`/media/preview_url`:`/preview_url`,{url:e,ts:t.toString()},void 0,{prefix:a?F.V1:pA.V3,priority:`low`});return n.urlPreviewCache[i]=o,o})()}sendTyping(e,t,n){if(this.isGuest())return Promise.resolve({});var r=w(`/rooms/$roomId/typing/$userId`,{$roomId:e,$userId:this.getUserId()}),i={typing:t};return t&&(i.timeout=n||2e4),this.http.authedRequest(N.Put,r,void 0,i)}getRoomUpgradeHistory(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,r=this.getRoom(e);if(!r)return[];var i=this.findPredecessorRooms(r,t,n),a=this.findSuccessorRooms(r,t,n);return[...i,r,...a]}findPredecessorRooms(e,t,n){for(var r=[],i=new Set([e.roomId]),a=e.findPredecessor(n)?.roomId;a!==null;){if(a){if(i.has(a))break;i.add(a)}var o=this.getRoom(a);if(o===null)break;if(t){var s=o.currentState.getStateEvents(E.RoomTombstone,``);if(!s||s.getContent().replacement_room!==e.roomId)break}r.splice(0,0,o),e=o,a=e.findPredecessor(n)?.roomId}return r}findSuccessorRooms(e,t,n){for(var r=[],i=e.currentState.getStateEvents(E.RoomTombstone,``);i;){var a=this.getRoom(i.getContent().replacement_room);if(!a||a.roomId===e.roomId)break;if(t){var o=a.findPredecessor(n)?.roomId;if(!o||o!==e.roomId)break}if(r.push(a),new Set(r.map(e=>e.roomId)).size<r.length)return r.slice(0,r.length-1);e=a,i=e.currentState.getStateEvents(E.RoomTombstone,``)}return r}invite(e,t){var n=arguments,r=this;return o(function*(){var i=n.length>2&&n[2]!==void 0?n[2]:{};if(typeof i!=`object`&&(i={reason:i}),i.shareEncryptedHistory){var a=r.getRoom(e)?.getHistoryVisibility()??gN.Shared;[gN.Invited,gN.Joined].includes(a)?r.logger.debug(`Not sharing message history as the room history visibility is currently unshared`):yield r.cryptoBackend?.shareRoomHistoryWithUser(e,t)}return yield r.membershipChange(e,t,O.Invite,i.reason)})()}inviteByEmail(e,t){return this.inviteByThreePid(e,`email`,t)}inviteByThreePid(e,t,n){var r=this;return o(function*(){var i,a=w(`/rooms/$roomId/invite`,{$roomId:e}),o=r.getIdentityServerUrl(!0);if(!o)return Promise.reject(new P({error:`No supplied identity server URL`,errcode:`ORG.MATRIX.JSSDK_MISSING_PARAM`}));var s={id_server:o,medium:t,address:n};if((i=r.identityServer)!=null&&i.getAccessToken){var c=yield r.identityServer.getAccessToken();c&&(s.id_access_token=c)}return r.http.authedRequest(N.Post,a,void 0,s)})()}leave(e){return this.membershipChange(e,void 0,O.Leave)}leaveRoomChain(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=this.getRoomUpgradeHistory(e,!0),r=n;if(!t){r=[];for(var i of n)if(r.push(i),i.roomId===e)break}var a={},o=[],s=e=>this.leave(e).then(()=>{delete a[e]}).catch(t=>{a[e]=t});for(var c of r)o.push(s(c.roomId));return Promise.all(o).then(()=>a)}ban(e,t,n){return this.membershipChange(e,t,O.Ban,n)}forget(e){var t=arguments,n=this;return o(function*(){var r=t.length>1&&t[1]!==void 0?t[1]:!0,i=w(`/rooms/$room_id/forget`,{$room_id:e}),a=yield n.http.authedRequest(N.Post,i);return r&&(n.store.removeRoom(e),n.emit(Y.DeleteRoom,e)),a})()}unban(e,t){var n=w(`/rooms/$roomId/unban`,{$roomId:e}),r={user_id:t};return this.http.authedRequest(N.Post,n,void 0,r)}kick(e,t,n){var r=w(`/rooms/$roomId/kick`,{$roomId:e}),i={user_id:t,reason:n};return this.http.authedRequest(N.Post,r,void 0,i)}membershipChange(e,t,n,r){var i=w(`/rooms/$room_id/$membership`,{$room_id:e,$membership:n});return this.http.authedRequest(N.Post,i,void 0,{user_id:t,reason:r})}getPushActionsForEvent(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(!e.getPushActions()||t){var{actions:n,rule:r}=this.pushProcessor.actionsAndRuleForEvent(e);e.setPushDetails(n,r)}return e.getPushActions()}getPushDetailsForEvent(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(!e.getPushDetails()||t){var{actions:n,rule:r}=this.pushProcessor.actionsAndRuleForEvent(e);e.setPushDetails(n,r)}return e.getPushDetails()}setProfileInfo(e,t){var n=w(`/profile/$userId/$info`,{$userId:this.credentials.userId,$info:e});return this.http.authedRequest(N.Put,n,void 0,t)}setDisplayName(e){var t=this;return o(function*(){var n=yield t.setProfileInfo(`displayname`,{displayname:e}),r=t.getUser(t.getUserId());return r&&(r.displayName=e,r.emit(_O.DisplayName,r.events.presence,r)),n})()}setAvatarUrl(e){var t=this;return o(function*(){var n=yield t.setProfileInfo(`avatar_url`,{avatar_url:e}),r=t.getUser(t.getUserId());return r&&(r.avatarUrl=e,r.emit(_O.AvatarUrl,r.events.presence,r)),n})()}mxcUrlToHttp(e,t,n,r,i,a,o){return pD(this.baseUrl,e,t,n,r,i,a,o)}setSyncPresence(e){var t=this;return o(function*(){var n;(n=t.syncApi)==null||n.setPresence(e)})()}setPresence(e){var t=this;return o(function*(){var n=w(`/presence/$userId/status`,{$userId:t.credentials.userId});if([`offline`,`online`,`unavailable`].indexOf(e.presence)===-1)throw Error(`Bad presence value: `+e.presence);yield t.http.authedRequest(N.Put,n,void 0,e)})()}getPresence(e){var t=w(`/presence/$userId/status`,{$userId:e});return this.http.authedRequest(N.Get,t)}scrollback(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:30,n=0,r=this.ongoingScrollbacks[e.roomId]||{};if(r.promise)return r.promise;if(r.errorTs){var i=Date.now()-r.errorTs;n=Math.max(oL-i,0)}if(e.oldState.paginationToken===null)return Promise.resolve(e);var a=this.store.scrollback(e,t).length;if(a===t)return Promise.resolve(e);t-=a;var o=new Promise((r,i)=>{OE(n).then(()=>this.createMessagesRequest(e.roomId,e.oldState.paginationToken,t,k.Backward)).then(t=>{var n=t.chunk.map(this.getEventMapper());if(t.state){var i=t.state.map(this.getEventMapper());e.currentState.setUnknownStateEvents(i)}var[a,o,s]=e.partitionThreadedEvents(n);this.processAggregatedTimelineEvents(e,a),e.addEventsToTimeline(a,!0,!0,e.getLiveTimeline()),this.processThreadEvents(e,o,!0),s.forEach(t=>e.relations.aggregateChildEvent(t)),e.oldState.paginationToken=t.end??null,t.chunk.length===0&&(e.oldState.paginationToken=null),this.store.storeEvents(e,n,t.end??null,!0),delete this.ongoingScrollbacks[e.roomId],r(e)}).catch(t=>{this.ongoingScrollbacks[e.roomId]={errorTs:Date.now()},i(t)})});return r={promise:o},this.ongoingScrollbacks[e.roomId]=r,o}getEventMapper(e){return yN(this,e||{})}getEventContext(e,t){var n=this;return o(function*(){var r,i=w(`/rooms/$roomId/context/$eventId`,{$roomId:e,$eventId:t}),a={limit:`0`};(r=n.clientOpts)!=null&&r.lazyLoadMembers&&(a.filter=JSON.stringify(FO.LAZY_LOADING_MESSAGES_FILTER));var o=yield n.http.authedRequest(N.Get,i,a);if(o.event)return{start:o.start,end:o.end,event:o.event,events_after:o.events_after??[],events_before:o.events_before??[],state:o.state??[]};throw Error(`'event' not in '/context' result - homeserver too old?`)})()}getEventTimeline(e,t){var n=this;return o(function*(){if(!n.timelineSupport)throw Error(`timeline support is disabled. Set the 'timelineSupport' parameter to true when creating MatrixClient to enable it.`);if(!(e!=null&&e.room))throw Error(`getEventTimeline only supports room timelines`);if(e.getTimelineForEvent(t))return e.getTimelineForEvent(t);if(e.thread&&n.supportsThreads())return(yield n.getThreadTimeline(e,t))??null;var r=yield n.getEventContext(e.room.roomId,t);if(e.getTimelineForEvent(t))return e.getTimelineForEvent(t);var i=n.getEventMapper(),a=i(r.event);if(a.isRelation(X.name))return n.logger.warn(`Tried loading a regular timeline at the position of a thread event`),null;var o=[...r.events_after.reverse().map(i),a,...r.events_before.map(i)],s=e.getTimelineForEvent(o[0].getId());s?s.getState(A.BACKWARDS).setUnknownStateEvents(r.state.map(i)):(s=e.addTimeline(),s.initialiseState(r.state.map(i)),s.getState(A.FORWARDS).paginationToken=r.end??null);var[c,l,u]=e.room.partitionThreadedEvents(o);return e.addEventsToTimeline(c,!0,!1,s,r.start),n.processThreadEvents(e.room,l,!0),n.processAggregatedTimelineEvents(e.room,c),u.forEach(t=>e.relations.aggregateChildEvent(t)),e.getTimelineForEvent(t)??e.room.findThreadForEvent(a)?.liveTimeline??s})()}getThreadTimeline(e,t){var n=this;return o(function*(){if(!n.supportsThreads())throw Error(`could not get thread timeline: no client support`);if(!e.room)throw Error(`could not get thread timeline: not a room timeline`);if(!e.thread)throw Error(`could not get thread timeline: not a thread timeline`);var r=yield n.getEventContext(e.room.roomId,t),i=n.getEventMapper(),a=i(r.event);if(e.canContain(a)){var o=n.canSupport.get(VA.RelationsRecursion)!==BA.Unsupported;if(AL.hasServerSideSupport)if(AL.hasServerSideFwdPaginationSupport){if(!e.thread)throw Error(`could not get thread timeline: not a thread timeline`);var s=e.thread,c=yield n.fetchRelations(e.room.roomId,s.id,null,null,{dir:k.Backward,from:r.start,recurse:o||void 0}),l=yield n.fetchRelations(e.room.roomId,s.id,null,null,{dir:k.Forward,from:r.end,recurse:o||void 0}),u=[...l.chunk.reverse().filter(jF(s.id)).map(i),a,...c.chunk.filter(jF(s.id)).map(i)];for(var d of u)yield e.thread?.processEvent(d);var f=e.getTimelineForEvent(a.getId());if(f?f.getState(A.BACKWARDS).setUnknownStateEvents(r.state.map(i)):(f=e.addTimeline(),f.initialiseState(r.state.map(i))),e.addEventsToTimeline(u,!0,!1,f,l.next_batch),!c.next_batch){var p=yield n.fetchRoomEvent(e.room.roomId,s.id);e.addEventsToTimeline([i(p)],!0,!1,f,null)}return f.setPaginationToken(c.next_batch??null,k.Backward),f.setPaginationToken(l.next_batch??null,k.Forward),n.processAggregatedTimelineEvents(e.room,u),e.getTimelineForEvent(t)??f}else{for(var m=e.thread,h=yield n.fetchRelations(e.room.roomId,m.id,X.name,null,{dir:k.Backward,from:r.start,recurse:o||void 0}),g=[],_=r.end;_;){var v=yield n.fetchRelations(e.room.roomId,m.id,X.name,null,{dir:k.Forward,from:_,recurse:o||void 0});_=v.next_batch,g.push(...v.chunk)}var y=[...g.reverse().map(i),a,...h.chunk.map(i)];for(var b of y)yield e.thread?.processEvent(b);var x=e.getLiveTimeline();if(x.getState(A.BACKWARDS).setUnknownStateEvents(r.state.map(i)),e.addEventsToTimeline(y,!0,!1,x,null),!h.next_batch){var S=yield n.fetchRoomEvent(e.room.roomId,m.id);e.addEventsToTimeline([i(S)],!0,!1,x,null)}return x.setPaginationToken(h.next_batch??null,k.Backward),x.setPaginationToken(null,k.Forward),n.processAggregatedTimelineEvents(e.room,y),x}}})()}getLatestTimeline(e){var t=this;return o(function*(){if(!t.timelineSupport)throw Error(`timeline support is disabled. Set the 'timelineSupport' parameter to true when creating MatrixClient to enable it.`);if(!e.room)throw Error(`getLatestTimeline only supports room timelines`);var n;if(e.threadListType!==null)n=(yield t.createThreadListMessagesRequest(e.room.roomId,null,1,k.Backward,e.threadListType,e.getFilter())).chunk?.[0];else if(e.thread&&AL.hasServerSideSupport){var r=t.canSupport.get(VA.RelationsRecursion)!==BA.Unsupported;n=(yield t.fetchRelations(e.room.roomId,e.thread.id,X.name,null,{dir:k.Backward,limit:1,recurse:r||void 0})).chunk?.[0]}else{var i,a=w(`/rooms/$roomId/messages`,{$roomId:e.room.roomId}),o={dir:`b`};(i=t.clientOpts)!=null&&i.lazyLoadMembers&&(o.filter=JSON.stringify(FO.LAZY_LOADING_MESSAGES_FILTER)),n=(yield t.http.authedRequest(N.Get,a,o)).chunk?.[0]}if(!n)throw Error(`No message returned when trying to construct getLatestTimeline`);return t.getEventTimeline(e,n.event_id)})()}createMessagesRequest(e,t){var n,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:30,i=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0,o=w(`/rooms/$roomId/messages`,{$roomId:e}),s={limit:r.toString(),dir:i};t&&(s.from=t);var c=null;return(n=this.clientOpts)!=null&&n.lazyLoadMembers&&(c=Object.assign({},FO.LAZY_LOADING_MESSAGES_FILTER)),a&&(c||={},Object.assign(c,a.getRoomTimelineFilterComponent()?.toJSON())),c&&(s.filter=JSON.stringify(c)),this.http.authedRequest(N.Get,o,s)}createThreadListMessagesRequest(e,t){var n,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:30,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:k.Backward,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:PL.All,o=arguments.length>5?arguments[5]:void 0,s=w(`/rooms/$roomId/threads`,{$roomId:e}),c={limit:r.toString(),dir:i,include:FL(a)};t&&(c.from=t);var l={};(n=this.clientOpts)!=null&&n.lazyLoadMembers&&(l=J({},FO.LAZY_LOADING_MESSAGES_FILTER)),o&&(l=J(J({},l),o.getRoomTimelineFilterComponent()?.toJSON())),Object.keys(l).length&&(c.filter=JSON.stringify(l));var u={prefix:AL.hasServerSideListSupport===OL.Stable?F.V1:`/_matrix/client/unstable/org.matrix.msc3856`};return this.http.authedRequest(N.Get,s,c,void 0,u).then(e=>J(J({},e),{},{chunk:e.chunk?.reverse(),start:e.prev_batch,end:e.next_batch}))}paginateEventTimeline(e,t){var n=this,r=e.getTimelineSet()===this.notifTimelineSet,i=this.getRoom(e.getRoomId()),a=e.getTimelineSet().threadListType,s=e.getTimelineSet().thread;t||={};var c=t.backwards||!1;if(r&&!c)throw Error(`paginateNotifTimeline can only paginate backwards`);var l=c?A.BACKWARDS:A.FORWARDS,u=e.getPaginationToken(l),d=e.paginationRequests[l];if(d)return d;var f,p,m;if(r)f=`/notifications`,p={limit:(t.limit??30).toString(),only:`highlight`},u&&u!==`end`&&(p.from=u),m=this.http.authedRequest(N.Get,f,p).then(function(){var t=o(function*(t){var r=t.next_token,i=[];t.notifications=t.notifications.filter(eD);for(var a=0;a<t.notifications.length;a++){var o=t.notifications[a],s=n.getEventMapper()(o.event);n.getPushDetailsForEvent(s,!0),s.event.room_id=o.room_id,i[a]=s}var u=e.getTimelineSet();return u.addEventsToTimeline(i,c,!1,e,r),n.processAggregatedTimelineEvents(u.room,i),c&&!t.next_token&&e.setPaginationToken(null,l),!!t.next_token});return function(e){return t.apply(this,arguments)}}()).finally(()=>{e.paginationRequests[l]=null}),e.paginationRequests[l]=m;else if(a!==null){if(!i)throw Error(`Unknown room `+e.getRoomId());if(!AL.hasServerSideFwdPaginationSupport&&l===k.Forward)throw Error(`Cannot paginate threads forwards without server-side support for MSC 3715`);m=this.createThreadListMessagesRequest(e.getRoomId(),u,t.limit,l,a,e.getFilter()).then(t=>{if(t.state){var n=e.getState(l),r=t.state.filter(eD).map(this.getEventMapper());n.setUnknownStateEvents(r)}var a=t.end,o=t.chunk.filter(eD).map(this.getEventMapper());return e.getTimelineSet().addEventsToTimeline(o,c,!1,e,a),this.processAggregatedTimelineEvents(i,o),this.processThreadRoots(i,o,c),c&&t.end==t.start&&e.setPaginationToken(null,l),t.end!==t.start}).finally(()=>{e.paginationRequests[l]=null}),e.paginationRequests[l]=m}else if(s){var h=this.getRoom(e.getRoomId()??void 0);if(!h)throw Error(`Unknown room `+e.getRoomId());var g=this.canSupport.get(VA.RelationsRecursion)!==BA.Unsupported;m=this.fetchRelations(e.getRoomId()??``,s.id,null,null,{dir:l,limit:t.limit,from:u??void 0,recurse:g||void 0}).then(function(){var t=o(function*(t){var r=n.getEventMapper(),i=t.chunk.filter(eD).filter(jF(s.id)).map(r);for(var a of i.slice().reverse()){yield s?.processEvent(a);var o=a.getSender();(!c||s?.getEventReadUpTo(o)===null)&&h.addLocalEchoReceipt(o,a,oE.Read)}var u=t.next_batch,d=e.getTimelineSet();if(d.addEventsToTimeline(i,c,!1,e,u??null),!u&&c){var f=s.rootEvent??r(yield n.fetchRoomEvent(e.getRoomId()??``,s.id));d.addEventsToTimeline([f],!0,!1,e,null)}return n.processAggregatedTimelineEvents(d.room,i),c&&!u&&e.setPaginationToken(null,l),!!u});return function(e){return t.apply(this,arguments)}}()).finally(()=>{e.paginationRequests[l]=null}),e.paginationRequests[l]=m}else{if(!i)throw Error(`Unknown room `+e.getRoomId());m=this.createMessagesRequest(e.getRoomId(),u,t.limit,l,e.getFilter()).then(t=>{if(t.state){var n=e.getState(l),r=t.state.filter(eD).map(this.getEventMapper());n.setUnknownStateEvents(r)}var a=t.end,o=t.chunk.filter(eD).map(this.getEventMapper()),s=e.getTimelineSet(),[u,,d]=i.partitionThreadedEvents(o);s.addEventsToTimeline(u,c,!1,e,a),this.processAggregatedTimelineEvents(i,u),this.processThreadRoots(i,u.filter(e=>e.getServerAggregatedRelation(X.name)),!1),d.forEach(e=>i.relations.aggregateChildEvent(e));var f=t.end===void 0||t.end===t.start;return c&&f&&e.setPaginationToken(null,l),!f}).finally(()=>{e.paginationRequests[l]=null}),e.paginationRequests[l]=m}return m}resetNotifTimelineSet(){this.notifTimelineSet&&this.notifTimelineSet.resetLiveTimeline(`end`)}peekInRoom(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:20;return(t=this.peekSync)==null||t.stopPeeking(),this.peekSync=new ej(this,this.clientOpts,this.buildSyncApiOptions()),this.peekSync.peek(e,n)}stopPeeking(){this.peekSync&&=(this.peekSync.stopPeeking(),null)}setGuestAccess(e,t){var n=this.sendStateEvent(e,E.RoomGuestAccess,{guest_access:t.allowJoin?hN.CanJoin:hN.Forbidden},``),r=Promise.resolve();return t.allowRead&&(r=this.sendStateEvent(e,E.RoomHistoryVisibility,{history_visibility:gN.WorldReadable},``)),Promise.all([r,n]).then()}requestRegisterEmailToken(e,t,n,r){return this.requestTokenFromEndpoint(`/register/email/requestToken`,{email:e,client_secret:t,send_attempt:n,next_link:r})}requestRegisterMsisdnToken(e,t,n,r,i){return this.requestTokenFromEndpoint(`/register/msisdn/requestToken`,{country:e,phone_number:t,client_secret:n,send_attempt:r,next_link:i})}requestAdd3pidEmailToken(e,t,n,r){return this.requestTokenFromEndpoint(`/account/3pid/email/requestToken`,{email:e,client_secret:t,send_attempt:n,next_link:r})}requestAdd3pidMsisdnToken(e,t,n,r,i){return this.requestTokenFromEndpoint(`/account/3pid/msisdn/requestToken`,{country:e,phone_number:t,client_secret:n,send_attempt:r,next_link:i})}requestPasswordEmailToken(e,t,n,r){return this.requestTokenFromEndpoint(`/account/password/email/requestToken`,{email:e,client_secret:t,send_attempt:n,next_link:r})}requestPasswordMsisdnToken(e,t,n,r,i){return this.requestTokenFromEndpoint(`/account/password/msisdn/requestToken`,{country:e,phone_number:t,client_secret:n,send_attempt:r,next_link:i})}requestTokenFromEndpoint(e,t){var n=this;return o(function*(){var r=Object.assign({},t);return n.http.request(N.Post,e,void 0,r)})()}getRoomPushRule(e,t){if(this.pushRules){var n;return(n=this.pushRules[e])==null||(n=n.room)==null?void 0:n.find(e=>e.rule_id===t)}else throw Error(`SyncApi.sync() must be done before accessing to push rules.`)}setRoomMutePushRule(e,t,n){var r,i=!1,a=this.getRoomPushRule(e,t);if(a!=null&&a.actions.includes(LM.DontNotify)&&(i=!0),!n)i&&(r=this.deletePushRule(e,HM.RoomSpecific,a.rule_id));else if(!a)r=this.addPushRule(e,HM.RoomSpecific,t,{actions:[LM.DontNotify]});else if(!i){var o=Promise.withResolvers();this.deletePushRule(e,HM.RoomSpecific,a.rule_id).then(()=>{this.addPushRule(e,HM.RoomSpecific,t,{actions:[LM.DontNotify]}).then(()=>{o.resolve()}).catch(e=>{o.reject(e)})}).catch(e=>{o.reject(e)}),r=o.promise}if(r)return new Promise((e,t)=>{r.then(()=>{this.getPushRules().then(t=>{this.pushRules=t,e()}).catch(e=>{t(e)})}).catch(e=>{this.getPushRules().then(n=>{this.pushRules=n,t(e)}).catch(n=>{t(e)})})})}searchMessageText(e){var t={search_term:e.query};return`keys`in e&&(t.keys=e.keys),this.search({body:{search_categories:{room_events:t}}})}searchRoomEvents(e){var t={search_categories:{room_events:{search_term:e.term,filter:e.filter,order_by:ON.Recent,event_context:{before_limit:1,after_limit:1,include_profile:!0}}}},n={_query:t,results:[],highlights:[]};return this.search({body:t}).then(e=>this.processRoomEventsSearch(n,e))}backPaginateRoomEventsSearch(e){if(!e.next_batch)return Promise.reject(Error(`Cannot backpaginate event search any further`));if(e.pendingRequest)return e.pendingRequest;var t={body:e._query,next_batch:e.next_batch},n=this.search(t,e.abortSignal).then(t=>this.processRoomEventsSearch(e,t)).finally(()=>{e.pendingRequest=void 0});return e.pendingRequest=n,n}processRoomEventsSearch(e,t){var n=t.search_categories.room_events;e.count=n.count,e.next_batch=n.next_batch;var r=new Set(n.highlights);e.highlights.forEach(e=>{r.add(e)}),e.highlights=Array.from(r);for(var i=this.getEventMapper(),a=n.results?.length??0,o=0;o<a;o++){var s=cN.fromJson(n.results[o],i),c=this.getRoom(s.context.getEvent().getRoomId());if(c)for(var l of s.context.getTimeline())l.setMetadata(c.currentState,!1);e.results.push(s)}return e}syncLeftRooms(){return this.syncedLeftRooms?Promise.resolve([]):this.syncLeftRoomsPromise?this.syncLeftRoomsPromise:(this.syncLeftRoomsPromise=new ej(this,this.clientOpts,this.buildSyncApiOptions()).syncLeftRooms(),this.syncLeftRoomsPromise.then(()=>{this.logger.debug(`Marking success of sync left room request`),this.syncedLeftRooms=!0}).finally(()=>{this.syncLeftRoomsPromise=void 0}),this.syncLeftRoomsPromise)}createFilter(e){var t=w(`/user/$userId/filter`,{$userId:this.credentials.userId});return this.http.authedRequest(N.Post,t,void 0,e).then(t=>{var n=FO.fromJson(this.credentials.userId,t.filter_id,e);return this.store.storeFilter(n),n})}getFilter(e,t,n){if(n){var r=this.store.getFilter(e,t);if(r)return Promise.resolve(r)}var i=w(`/user/$userId/filter/$filterId`,{$userId:e,$filterId:t});return this.http.authedRequest(N.Get,i).then(n=>{var r=FO.fromJson(e,t,n);return this.store.storeFilter(r),r})}getOrCreateFilter(e,t){var n=this;return o(function*(){var r=n.store.getFilterIdByName(e),i;if(r){try{var a=yield n.getFilter(n.credentials.userId,r,!0);a&&vE(a.getDefinition(),t.getDefinition())&&(i=r)}catch(e){if(e.errcode!==`M_UNKNOWN`&&e.errcode!==`M_NOT_FOUND`)throw e}i||n.store.setFilterIdByName(e,void 0)}if(i)return i;var o=yield n.createFilter(t.getDefinition());return n.store.setFilterIdByName(e,o.filterId),o.filterId})()}getOpenIdToken(){var e=w(`/user/$userId/openid/request_token`,{$userId:this.credentials.userId});return this.http.authedRequest(N.Post,e,void 0,{})}turnServer(){return this.http.authedRequest(N.Get,`/voip/turnServer`)}getTurnServers(){return this.turnServers||[]}getTurnServersExpiry(){return this.turnServersExpiry}get pollingTurnServers(){return this.checkTurnServersIntervalID!==void 0}checkTurnServers(){var e=this;return o(function*(){if(e.supportsVoip()){var t=!1,n=e.turnServersExpiry-Date.now();if(n>sL)e.logger.debug(`TURN creds are valid for another `+n+` ms: not fetching new ones.`),t=!0;else{e.logger.debug(`Fetching new TURN credentials`);try{var r=yield e.turnServer();r.uris&&(e.logger.debug(`Got TURN URIs: `+r.uris+` refresh in `+r.ttl+` secs`),e.turnServers=[{urls:r.uris,username:r.username,credential:r.password}],e.turnServersExpiry=Date.now()+r.ttl*1e3,t=!0,e.emit(Y.TurnServers,e.turnServers))}catch(t){e.logger.error(`Failed to get TURN URIs`,t),t.httpStatus===403?(e.logger.info(`TURN access unavailable for this account: stopping credentials checks`),e.checkTurnServersIntervalID!==null&&globalThis.clearInterval(e.checkTurnServersIntervalID),e.checkTurnServersIntervalID=void 0,e.emit(Y.TurnServersError,t,!0)):e.emit(Y.TurnServersError,t,!1)}}return t}})()}setFallbackICEServerAllowed(e){this.fallbackICEServerAllowed=e}isFallbackICEServerAllowed(){return this.fallbackICEServerAllowed}isSynapseAdministrator(){var e=w(`/_synapse/admin/v1/users/$userId/admin`,{$userId:this.getUserId()});return this.http.authedRequest(N.Get,e,void 0,void 0,{prefix:``}).then(e=>e.admin)}whoisSynapseUser(e){var t=w(`/_synapse/admin/v1/whois/$userId`,{$userId:e});return this.http.authedRequest(N.Get,t,void 0,void 0,{prefix:``})}deactivateSynapseUser(e){var t=w(`/_synapse/admin/v1/deactivate/$userId`,{$userId:e});return this.http.authedRequest(N.Post,t,void 0,void 0,{prefix:``})}fetchClientWellKnown(){var e=this;return o(function*(){e.clientWellKnownPromise=aN.getRawClientConfig(e.getDomain()??void 0),e.clientWellKnown=yield e.clientWellKnownPromise,e.emit(Y.ClientWellKnown,e.clientWellKnown)})()}getClientWellKnown(){return this.clientWellKnown}waitForClientWellKnown(){if(!this.clientRunning)throw Error(`Client is not running`);return this.clientWellKnownPromise}storeClientOptions(){var e=[`boolean`,`string`,`number`],t=Object.entries(this.clientOpts).filter(t=>{var[n,r]=t;return e.includes(typeof r)}).reduce((e,t)=>{var[n,r]=t;return e[n]=r,e},{});return this.store.storeClientOptions(t)}_unstable_getSharedRooms(e){var t=this;return o(function*(){var n=yield t.doesServerSupportUnstableFeature(dL),r=yield t.doesServerSupportUnstableFeature(fL),i=yield t.doesServerSupportUnstableFeature(pL);if(!n&&!r&&!i)throw Error(`Server does not support the Mutual Rooms API`);var a,o;i?(a=`/uk.half-shot.msc2666/user/mutual_rooms`,o={user_id:e}):(a=w(`/uk.half-shot.msc2666/user/${r?`mutual_rooms`:`shared_rooms`}/\$userId`,{$userId:e}),o={});var s=[],c=null;do{var l={};c!=null&&i&&(l.batch_token=c);var u=yield t.http.authedRequest(N.Get,a,J(J({},o),l),void 0,{prefix:F.Unstable});s.push(...u.joined),c=u.next_batch_token===void 0?null:u.next_batch_token}while(c!=null);return s})()}_unstable_getRTCTransports(){var e=this;return o(function*(){return(yield e.http.authedRequest(N.Get,`/rtc/transports`,void 0,void 0,{prefix:`${F.Unstable}/org.matrix.msc4143`})).rtc_transports})()}getVersions(){var e=this;return o(function*(){return e.serverVersionsPromise?e.serverVersionsPromise:(e.serverVersionsPromise=e.http.authedRequest(N.Get,`/_matrix/client/versions`,void 0,void 0,{prefix:``}).catch(t=>{throw e.serverVersionsPromise=void 0,t}),e.canSupport=yield UA(yield e.serverVersionsPromise),e.serverVersionsPromise)})()}isVersionSupported(e){var t=this;return o(function*(){var{versions:n}=yield t.getVersions();return n&&n.includes(e)})()}doesServerSupportUnstableFeature(e){var t=this;return o(function*(){var n=yield t.getVersions();if(!n)return!1;var r=n.unstable_features;return r&&!!r[e]})()}doesServerForceEncryptionForPreset(e){var t=this;return o(function*(){var n=yield t.getVersions();if(!n)return!1;var r=n.unstable_features,i=e.includes(`_chat`)?e.substring(0,e.indexOf(`_chat`)):e;return r&&!!r[`io.element.e2ee_forced.${i}`]})()}doesServerSupportThread(){var e=this;return o(function*(){if(yield e.isVersionSupported(`v1.4`))return{threads:OL.Stable,list:OL.Stable,fwdPagination:OL.Stable};try{var[t,n,r,i,a,o]=yield Promise.all([e.doesServerSupportUnstableFeature(`org.matrix.msc3440`),e.doesServerSupportUnstableFeature(`org.matrix.msc3440.stable`),e.doesServerSupportUnstableFeature(`org.matrix.msc3856`),e.doesServerSupportUnstableFeature(`org.matrix.msc3856.stable`),e.doesServerSupportUnstableFeature(`org.matrix.msc3715`),e.doesServerSupportUnstableFeature(`org.matrix.msc3715.stable`)]);return{threads:kL(n,t),list:kL(i,r),fwdPagination:kL(o,a)}}catch{return{threads:OL.None,list:OL.None,fwdPagination:OL.None}}})()}hasLazyLoadMembersEnabled(){var e;return!!((e=this.clientOpts)!=null&&e.lazyLoadMembers)}setCanResetTimelineCallback(e){this.canResetTimelineCallback=e}getCanResetTimelineCallback(){return this.canResetTimelineCallback}relations(e,t,n,r){var i=arguments,a=this;return o(function*(){var o=i.length>4&&i[4]!==void 0?i[4]:{dir:k.Backward},s=r?a.getEncryptedIfNeededEventType(e,r):null,[c,l]=yield Promise.all([a.fetchRoomEvent(e,t),a.fetchRelations(e,t,n,s,o)]),u=a.getEventMapper(),d=c?u(c):void 0,f=l.chunk.map(u);if(s===E.RoomMessageEncrypted){var p=d?f.concat(d):f;yield Promise.all(p.map(e=>a.decryptEventIfNeeded(e))),r!==null&&(f=f.filter(e=>e.getType()===r))}return d&&n===D.Replace&&(f=f.filter(e=>e.getSender()===d.getSender())),{originalEvent:d??null,events:f,nextBatch:l.next_batch??null,prevBatch:l.prev_batch??null}})()}generateClientSecret(){return Ej(32)}decryptEventIfNeeded(e,t){return e.isState()&&!this.enableEncryptedStateEvents?Promise.resolve():(e.shouldAttemptDecryption()&&this.getCrypto()&&e.attemptDecryption(this.cryptoBackend,t),e.isBeingDecrypted()?e.getDecryptionPromise():Promise.resolve())}termsUrlForService(e,t){switch(e){case oN.IS:return this.http.getUrl(`/terms`,void 0,fA.V2,t);case oN.IM:return this.http.getUrl(`/terms`,void 0,`/_matrix/integrations/v1`,t);default:throw Error(`Unsupported service type`)}}getHomeserverUrl(){return this.baseUrl}getIdentityServerUrl(){var e,t;return arguments.length>0&&arguments[0]!==void 0&&arguments[0]&&((e=this.idBaseUrl)!=null&&e.startsWith(`http://`)||(t=this.idBaseUrl)!=null&&t.startsWith(`https://`))?this.idBaseUrl.split(`://`)[1]:this.idBaseUrl}setIdentityServerUrl(e){this.idBaseUrl=DE(e),this.http.setIdBaseUrl(this.idBaseUrl)}getAccessToken(){return this.http.opts.accessToken||null}getRefreshToken(){return this.http.opts.refreshToken??null}setAccessToken(e){this.http.opts.accessToken=e,this.serverVersionsPromise=void 0}isLoggedIn(){return this.http.opts.accessToken!==void 0}makeTxnId(){return`m`+new Date().getTime()+`.`+ this.txnCtr++}isUsernameAvailable(e){return this.http.authedRequest(N.Get,`/register/available`,{username:e}).then(e=>e.available).catch(e=>e.errcode===`M_USER_IN_USE`?!1:Promise.reject(e))}register(e,t,n,r,i,a,o){n&&(r.session=n);var s={auth:r,refresh_token:!0};return e!=null&&(s.username=e),t!=null&&(s.password=t),a!=null&&(s.guest_access_token=a),o!=null&&(s.inhibit_login=o),this.registerRequest(s)}registerGuest(){var{body:e}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.registerRequest(e||{},`guest`)}registerRequest(e,t){var n={};return t&&(n.kind=t),this.http.request(N.Post,`/register`,n,e)}refreshToken(e){var t=t=>this.http.authedRequest(N.Post,`/refresh`,void 0,{refresh_token:e},{prefix:t,inhibitLogoutEmit:!0});return t(F.V3).catch(e=>{if(e.errcode===`M_UNRECOGNIZED`)return t(F.V1);throw e})}loginFlows(){return this.http.request(N.Get,`/login`)}login(e,t){return this.loginRequest(J(J({},t),{},{type:e})).then(e=>(e.access_token&&e.user_id&&(this.http.opts.accessToken=e.access_token,this.credentials={userId:e.user_id}),e))}loginWithPassword(e,t){return this.login(`m.login.password`,{user:e,password:t})}getCasLoginUrl(e){return this.getSsoLoginUrl(e,`cas`)}getSsoLoginUrl(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`sso`,n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,i=`/login/`+t+`/redirect`;n&&(i+=`/`+n);var a={redirectUrl:e,[yL.stable]:r,[yL.unstable]:r};return this.http.getUrl(i,a).href}loginWithToken(e){return this.login(`m.login.token`,{token:e})}loginRequest(e){var t=this;return o(function*(){return yield t.http.authedRequest(N.Post,`/login`,void 0,e)})()}logout(){var e=arguments,t=this;return o(function*(){return e.length>0&&e[0]!==void 0&&e[0]&&(t.stopClient(),t.http.abort()),t.http.authedRequest(N.Post,`/logout`)})()}deactivateAccount(e,t){var n={};return e&&(n.auth=e),t!==void 0&&(n.erase=t),this.http.authedRequest(N.Post,`/account/deactivate`,void 0,n)}requestLoginToken(e){var t=this;return o(function*(){var n={auth:e};return t.http.authedRequest(N.Post,`/login/get_token`,void 0,n,{prefix:F.V1})})()}getFallbackAuthUrl(e,t){var n=w(`/auth/$loginType/fallback/web`,{$loginType:e});return this.http.getUrl(n,{session:t}).href}createRoom(e){var t=this;return o(function*(){var n,r=(e.invite_3pid||[]).filter(e=>!e.id_access_token);if(r.length>0&&(n=t.identityServer)!=null&&n.getAccessToken){var i=yield t.identityServer.getAccessToken();if(i)for(var a of r)a.id_access_token=i}return t.http.authedRequest(N.Post,`/createRoom`,void 0,e)})()}fetchRelations(e,t,n,r){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{dir:k.Backward};AL.hasServerSideFwdPaginationSupport===OL.Experimental&&(i=mE(`dir`,`org.matrix.msc3715.dir`,i)),this.canSupport.get(VA.RelationsRecursion)===BA.Unstable&&(i=mE(`recurse`,`org.matrix.msc3981.recurse`,i));var a=pE(i),o=`/rooms/$roomId/relations/$eventId`;n===null?r!==null&&(this.logger.warn(`eventType: ${r} ignored when fetching
|
|
16
16
|
relations as relationType is null`),r=null):(o+=`/$relationType`,r!==null&&(o+=`/$eventType`));var s=w(o+`?`+a,{$roomId:e,$eventId:t,$relationType:n,$eventType:r});return this.http.authedRequest(N.Get,s,void 0,void 0,{prefix:F.V1})}roomState(e){var t=w(`/rooms/$roomId/state`,{$roomId:e});return this.http.authedRequest(N.Get,t)}fetchRoomEvent(e,t){var n=w(`/rooms/$roomId/event/$eventId`,{$roomId:e,$eventId:t});return this.http.authedRequest(N.Get,n)}members(e,t,n,r){var i={};t&&(i.membership=t),n&&(i.not_membership=n),r&&(i.at=r);var a=w(`/rooms/$roomId/members?`+pE(i),{$roomId:e});return this.http.authedRequest(N.Get,a)}upgradeRoom(e,t,n){var r=w(`/rooms/$roomId/upgrade`,{$roomId:e});return this.http.authedRequest(N.Post,r,void 0,{new_version:t,additional_creators:n})}getStateEvent(e,t,n){var r={$roomId:e,$eventType:t,$stateKey:n},i=w(`/rooms/$roomId/state/$eventType`,r);return n!==void 0&&(i=w(i+`/$stateKey`,r)),this.http.authedRequest(N.Get,i)}sendStateEvent(e,t,n){var r=arguments,i=this;return o(function*(){var a=r.length>3&&r[3]!==void 0?r[3]:``,o=r.length>4&&r[4]!==void 0?r[4]:{},s=i.getRoom(e),c=new BL({room_id:e,type:t,state_key:a,content:n});yield i.encryptStateEventIfNeeded(c,s??void 0);var l={$roomId:e,$eventType:c.getWireType(),$stateKey:c.getWireStateKey()},u=w(`/rooms/$roomId/state/$eventType`,l);return a!==void 0&&(u=w(u+`/$stateKey`,l)),i.http.authedRequest(N.Put,u,void 0,c.getWireContent(),o)})()}encryptStateEventIfNeeded(e,t){var n=this;return o(function*(){if(n.enableEncryptedStateEvents&&t&&!(!n.cryptoBackend&&n.usingExternalCrypto)){if(!n.cryptoBackend)throw Error(`This room is configured to use encryption, but your client does not support encryption.`);(yield n.shouldEncryptEventForRoom(e,t))&&(yield n.cryptoBackend.isStateEncryptionEnabledInRoom(t.roomId))&&([`m.room.create`,`m.room.member`,`m.room.join_rules`,`m.room.power_levels`,`m.room.third_party_invite`,`m.room.history_visibility`,`m.room.guest_access`,`m.room.encryption`].includes(e.getType())||(yield n.cryptoBackend.encryptEvent(e,t)))}})()}roomInitialSync(e,t){var n=w(`/rooms/$roomId/initialSync`,{$roomId:e});return this.http.authedRequest(N.Get,n,{limit:t?.toString()??`30`})}setRoomReadMarkersHttpRequest(e,t,n,r){var i=this;return o(function*(){var a=w(`/rooms/$roomId/read_markers`,{$roomId:e}),o={[oE.FullyRead]:t,[oE.Read]:n};return((yield i.doesServerSupportUnstableFeature(`org.matrix.msc2285.stable`))||(yield i.isVersionSupported(`v1.4`)))&&(o[oE.ReadPrivate]=r),i.http.authedRequest(N.Post,a,void 0,o)})()}getJoinedRooms(){var e=w(`/joined_rooms`,{});return this.http.authedRequest(N.Get,e)}getJoinedRoomMembers(e){var t=w(`/rooms/$roomId/joined_members`,{$roomId:e});return this.http.authedRequest(N.Get,t)}publicRooms(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{server:t,limit:n,since:r}=e,i=gO(e,iL);if(Object.keys(i).length===0){var a={server:t,limit:n,since:r};return this.http.authedRequest(N.Get,`/publicRooms`,a)}else{var o={server:t},s=J({limit:n,since:r},i);return this.http.authedRequest(N.Post,`/publicRooms`,o,s)}}createAlias(e,t){var n=w(`/directory/room/$alias`,{$alias:e}),r={room_id:t};return this.http.authedRequest(N.Put,n,void 0,r)}deleteAlias(e){var t=w(`/directory/room/$alias`,{$alias:e});return this.http.authedRequest(N.Delete,t)}getLocalAliases(e){var t=w(`/rooms/$roomId/aliases`,{$roomId:e}),n=F.V3;return this.http.authedRequest(N.Get,t,void 0,void 0,{prefix:n})}getRoomIdForAlias(e){var t=w(`/directory/room/$alias`,{$alias:e});return this.http.authedRequest(N.Get,t)}getRoomDirectoryVisibility(e){var t=w(`/directory/list/room/$roomId`,{$roomId:e});return this.http.authedRequest(N.Get,t)}setRoomDirectoryVisibility(e,t){var n=w(`/directory/list/room/$roomId`,{$roomId:e});return this.http.authedRequest(N.Put,n,void 0,{visibility:t})}searchUserDirectory(e){var{term:t,limit:n}=e,r={search_term:t};return n!==void 0&&(r.limit=n),this.http.authedRequest(N.Post,`/user_directory/search`,void 0,r)}uploadContent(e,t){return this.http.uploadContent(e,t)}cancelUpload(e){return this.http.cancelUpload(e)}getCurrentUploads(){return this.http.getCurrentUploads()}getProfileInfo(e,t){var n=t?w(`/profile/$userId/$info`,{$userId:e,$info:t}):w(`/profile/$userId`,{$userId:e});return this.http.authedRequest(N.Get,n)}doesServerSupportExtendedProfiles(){var e=this;return o(function*(){return(yield e.isVersionSupported(`v1.16`))||(yield e.doesServerSupportUnstableFeature(`uk.tcpip.msc4133`))||(yield e.doesServerSupportUnstableFeature(`uk.tcpip.msc4133.stable`))})()}getExtendedProfileRequestPrefix(){var e=this;return o(function*(){return(yield e.isVersionSupported(`v1.16`))||(yield e.doesServerSupportUnstableFeature(`uk.tcpip.msc4133.stable`))?F.V3:`/_matrix/client/unstable/uk.tcpip.msc4133`})()}getExtendedProfile(e){var t=this;return o(function*(){if(!(yield t.doesServerSupportExtendedProfiles()))throw Error(`Server does not support extended profiles`);return t.http.authedRequest(N.Get,w(`/profile/$userId`,{$userId:e}),void 0,void 0,{prefix:yield t.getExtendedProfileRequestPrefix()})})()}getExtendedProfileProperty(e,t){var n=this;return o(function*(){if(!(yield n.doesServerSupportExtendedProfiles()))throw Error(`Server does not support extended profiles`);return(yield n.http.authedRequest(N.Get,w(`/profile/$userId/$key`,{$userId:e,$key:t}),void 0,void 0,{prefix:yield n.getExtendedProfileRequestPrefix()}))[t]})()}setExtendedProfileProperty(e,t){var n=this;return o(function*(){if(!(yield n.doesServerSupportExtendedProfiles()))throw Error(`Server does not support extended profiles`);var r=n.getUserId();yield n.http.authedRequest(N.Put,w(`/profile/$userId/$key`,{$userId:r,$key:e}),void 0,{[e]:t},{prefix:yield n.getExtendedProfileRequestPrefix()})})()}deleteExtendedProfileProperty(e){var t=this;return o(function*(){if(!(yield t.doesServerSupportExtendedProfiles()))throw Error(`Server does not support extended profiles`);var n=t.getUserId();yield t.http.authedRequest(N.Delete,w(`/profile/$userId/$key`,{$userId:n,$key:e}),void 0,void 0,{prefix:yield t.getExtendedProfileRequestPrefix()})})()}patchExtendedProfile(e){var t=this;return o(function*(){if(!(yield t.doesServerSupportExtendedProfiles()))throw Error(`Server does not support extended profiles`);var n=t.getUserId();return t.http.authedRequest(N.Patch,w(`/profile/$userId`,{$userId:n}),{},e,{prefix:yield t.getExtendedProfileRequestPrefix()})})()}setExtendedProfile(e){var t=this;return o(function*(){if(!(yield t.doesServerSupportExtendedProfiles()))throw Error(`Server does not support extended profiles`);var n=t.getUserId();yield t.http.authedRequest(N.Put,w(`/profile/$userId`,{$userId:n}),{},e,{prefix:yield t.getExtendedProfileRequestPrefix()})})()}getThreePids(){return this.http.authedRequest(N.Get,`/account/3pid`)}addThreePidOnly(e){var t=this;return o(function*(){return t.http.authedRequest(N.Post,`/account/3pid/add`,void 0,e)})()}bindThreePid(e){var t=this;return o(function*(){return t.http.authedRequest(N.Post,`/account/3pid/bind`,void 0,e)})()}unbindThreePid(e,t){var n=this;return o(function*(){var r=`/account/3pid/unbind`,i={medium:e,address:t,id_server:n.getIdentityServerUrl(!0)};return n.http.authedRequest(N.Post,r,void 0,i)})()}deleteThreePid(e,t){return this.http.authedRequest(N.Post,`/account/3pid/delete`,void 0,{medium:e,address:t})}setPassword(e,t,n){var r=`/account/password`,i={auth:e,new_password:t,logout_devices:n};return this.http.authedRequest(N.Post,r,void 0,i)}getDevices(){return this.http.authedRequest(N.Get,`/devices`)}getDevice(e){var t=w(`/devices/$device_id`,{$device_id:e});return this.http.authedRequest(N.Get,t)}setDeviceDetails(e,t){var n=w(`/devices/$device_id`,{$device_id:e});return this.http.authedRequest(N.Put,n,void 0,t)}deleteDevice(e,t){var n=w(`/devices/$device_id`,{$device_id:e}),r={};return t&&(r.auth=t),this.http.authedRequest(N.Delete,n,void 0,r)}deleteMultipleDevices(e,t){var n={devices:e};return t&&(n.auth=t),this.http.authedRequest(N.Post,`/delete_devices`,void 0,n)}getPushers(){var e=this;return o(function*(){var t=yield e.http.authedRequest(N.Get,`/pushers`);return(yield e.doesServerSupportUnstableFeature(`org.matrix.msc3881`))||(t.pushers=t.pushers.map(e=>(e.hasOwnProperty(ID.name)||(e[ID.name]=!0),e))),t})()}setPusher(e){return this.http.authedRequest(N.Post,`/pushers/set`,void 0,e)}removePusher(e,t){var n=`/pushers/set`,r={pushkey:e,app_id:t,kind:null};return this.http.authedRequest(N.Post,n,void 0,r)}setLocalNotificationSettings(e,t){var n=`${RD.name}.${e}`;return this.setAccountData(n,t)}getPushRules(){return this.http.authedRequest(N.Get,`/pushrules/`).then(e=>(this.setPushRules(e),this.pushRules))}setPushRules(e){this.pushRules=$M.rewriteDefaultRules(this.logger,e,this.getUserId()),this.pushProcessor.updateCachedPushRuleKeys(this.pushRules)}addPushRule(e,t,n,r){var i=w(`/pushrules/`+e+`/$kind/$ruleId`,{$kind:t,$ruleId:n});return this.http.authedRequest(N.Put,i,void 0,r)}deletePushRule(e,t,n){var r=w(`/pushrules/`+e+`/$kind/$ruleId`,{$kind:t,$ruleId:n});return this.http.authedRequest(N.Delete,r)}setPushRuleEnabled(e,t,n,r){var i=w(`/pushrules/`+e+`/$kind/$ruleId/enabled`,{$kind:t,$ruleId:n});return this.http.authedRequest(N.Put,i,void 0,{enabled:r})}setPushRuleActions(e,t,n,r){var i=w(`/pushrules/`+e+`/$kind/$ruleId/actions`,{$kind:t,$ruleId:n});return this.http.authedRequest(N.Put,i,void 0,{actions:r})}search(e,t){var{body:n,next_batch:r}=e,i={};return r&&(i.next_batch=r),this.http.authedRequest(N.Post,`/search`,i,n,{abortSignal:t})}uploadKeysRequest(e,t){return this.http.authedRequest(N.Post,`/keys/upload`,void 0,e)}uploadKeySignatures(e){return this.http.authedRequest(N.Post,`/keys/signatures/upload`,void 0,e)}downloadKeysForUsers(e){var{token:t}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n={device_keys:{}};return t!==void 0&&(n.token=t),e.forEach(e=>{n.device_keys[e]=[]}),this.http.authedRequest(N.Post,`/keys/query`,void 0,n)}claimOneTimeKeys(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`signed_curve25519`,n=arguments.length>2?arguments[2]:void 0,r={};t===void 0&&(t=`signed_curve25519`);for(var[i,a]of e){var o=r[i]||{};$E(r,i,o),$E(o,a,t)}var s={one_time_keys:r};return n&&(s.timeout=n),this.http.authedRequest(N.Post,`/keys/claim`,void 0,s)}getKeyChanges(e,t){var n={from:e,to:t};return this.http.authedRequest(N.Get,`/keys/changes`,n)}uploadDeviceSigningKeys(e,t){var n=Object.assign({},t);return e&&Object.assign(n,{auth:e}),this.http.authedRequest(N.Post,`/keys/device_signing/upload`,void 0,n,{prefix:F.Unstable})}registerWithIdentityServer(e){if(!this.idBaseUrl)throw Error(`No identity server base URL set`);var t=this.http.getUrl(`/account/register`,void 0,fA.V2,this.idBaseUrl);return this.http.requestOtherUrl(N.Post,t,e)}requestEmailToken(e,t,n,r,i){var a={client_secret:t,email:e,send_attempt:n?.toString()};return r&&(a.next_link=r),this.http.idServerRequest(N.Post,`/validate/email/requestToken`,a,fA.V2,i)}requestMsisdnToken(e,t,n,r,i,a){var o={client_secret:n,country:e,phone_number:t,send_attempt:r?.toString()};return i&&(o.next_link=i),this.http.idServerRequest(N.Post,`/validate/msisdn/requestToken`,o,fA.V2,a)}submitMsisdnToken(e,t,n,r){var i={sid:e,client_secret:t,token:n};return this.http.idServerRequest(N.Post,`/validate/msisdn/submitToken`,i,fA.V2,r??void 0)}submitMsisdnTokenOtherUrl(e,t,n,r){var i={sid:t,client_secret:n,token:r};return this.http.requestOtherUrl(N.Post,e,i)}getIdentityHashDetails(e){return this.http.idServerRequest(N.Get,`/hash_details`,void 0,fA.V2,e)}identityHashedLookup(e,t){var n=this;return o(function*(){var r={},i=yield n.getIdentityHashDetails(t);if(!i||!i.lookup_pepper||!i.algorithms)throw Error(`Unsupported identity server: bad response`);r.pepper=i.lookup_pepper;var a={};if(i.algorithms.includes(`sha256`))r.addresses=yield Promise.all(e.map(function(){var e=o(function*(e){var t=yj(yield WP(`${e[0].toLowerCase()} ${e[1].toLowerCase()} ${r.pepper}`));return a[t]=e[0],t});return function(t){return e.apply(this,arguments)}}())),r.algorithm=`sha256`;else if(i.algorithms.includes(`none`))r.addresses=e.map(e=>{var t=`${e[0].toLowerCase()} ${e[1].toLowerCase()}`;return a[t]=e[0],t}),r.algorithm=`none`;else throw Error(`Unsupported identity server: unknown hash algorithm`);var s=yield n.http.idServerRequest(N.Post,`/lookup`,r,fA.V2,t);if(!(s!=null&&s.mappings))return[];var c=[];for(var l of Object.keys(s.mappings)){var u=s.mappings[l],d=a[l];if(!d)throw Error(`Identity server returned more results than expected`);c.push({address:d,mxid:u})}return c})()}lookupThreePid(e,t,n){var r=this;return o(function*(){var i=(yield r.identityHashedLookup([[t,e]],n)).find(e=>e.address===t);return i?{address:t,medium:e,mxid:i.mxid}:{}})()}bulkLookupThreePids(e,t){var n=this;return o(function*(){var r=yield n.identityHashedLookup(e.map(e=>[e[1],e[0]]),t),i=[],a=function*(t){var n=e.find(e=>e[1]===t.address);if(!n)throw Error(`Identity sever returned unexpected results`);i.push([n[0],t.address,t.mxid])};for(var o of r)yield*a(o);return{threepids:i}})()}getIdentityAccount(e){return this.http.idServerRequest(N.Get,`/account`,void 0,fA.V2,e)}sendToDevice(e,t,n){var r=w(`/sendToDevice/$eventType/$txnId`,{$eventType:e,$txnId:n||this.makeTxnId()}),i={messages:ZE(t)},a=new Map;for(var[o,s]of t)a.set(o,Array.from(s.keys()));return this.logger.debug(`PUT ${r}`,a),this.http.authedRequest(N.Put,r,void 0,i)}encryptAndSendToDevice(e,t,n){var r=this;return o(function*(){if(!r.cryptoBackend)throw Error(`Cannot encrypt to device event, your client does not support encryption.`);var i=yield r.cryptoBackend.encryptToDeviceMessages(e,t,n);yield r.queueToDevice(i)})()}queueToDevice(e){return this.toDeviceMessageQueue.queueBatch(e)}getThirdpartyProtocols(){return this.http.authedRequest(N.Get,`/thirdparty/protocols`).then(e=>{if(!e||typeof e!=`object`)throw Error(`/thirdparty/protocols did not return an object: ${e}`);return e})}getThirdpartyLocation(e,t){var n=w(`/thirdparty/location/$protocol`,{$protocol:e});return this.http.authedRequest(N.Get,n,t)}getThirdpartyUser(e,t){var n=w(`/thirdparty/user/$protocol`,{$protocol:e});return this.http.authedRequest(N.Get,n,t)}getTerms(e,t){var n=this.termsUrlForService(e,t);return this.http.requestOtherUrl(N.Get,n)}agreeToTerms(e,t,n,r){var i=this.termsUrlForService(e,t),a={Authorization:`Bearer `+n};return this.http.requestOtherUrl(N.Post,i,{user_accepts:r},{headers:a})}reportEvent(e,t,n,r){var i=w(`/rooms/$roomId/report/$eventId`,{$roomId:e,$eventId:t});return this.http.authedRequest(N.Post,i,void 0,{score:n,reason:r})}reportRoom(e,t){var n=w(`/rooms/$roomId/report`,{$roomId:e});return this.http.authedRequest(N.Post,n,void 0,{reason:t})}getRoomHierarchy(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,i=arguments.length>4?arguments[4]:void 0,a=w(`/rooms/$roomId/hierarchy`,{$roomId:e}),o={suggested_only:String(r),max_depth:n?.toString(),from:i,limit:t?.toString()};return this.http.authedRequest(N.Get,a,o,void 0,{prefix:F.V1}).catch(e=>{if(e.errcode===`M_UNRECOGNIZED`)return this.http.authedRequest(N.Get,a,o,void 0,{prefix:`/_matrix/client/unstable/org.matrix.msc2946`});throw e})}unstableCreateFileTree(e){var t=this;return o(function*(){var{room_id:n}=yield t.createRoom({name:e,preset:fN.PrivateChat,power_level_content_override:J(J({},TN),{},{users:{[t.getUserId()]:100}}),creation_content:{[wD]:TD.Space},initial_state:[{type:DD.name,state_key:kD.name,content:{[OD.name]:!0}},{type:E.RoomEncryption,state_key:``,content:{algorithm:`m.megolm.v1.aes-sha2`}}]});return new DN(t,n)})()}unstableGetFileTreeSpace(e){var t,n=this.getRoom(e);if(n?.getMyMembership()!==O.Join)return null;var r=n.currentState.getStateEvents(E.RoomCreate,``),i=n.currentState.getStateEvents(DD.name,kD.name);if(!r)throw Error(`Expected single room create event`);return!(i!=null&&(t=i.getContent())!=null&&t[OD.name])||r.getContent()?.type!==TD.Space?null:new DN(this,e)}slidingSync(e,t,n){var r={};e.pos&&(r.pos=e.pos,delete e.pos),e.timeout&&(r.timeout=e.timeout,delete e.timeout);var i=e.clientTimeout;return delete e.clientTimeout,this.http.authedRequest(N.Post,`/sync`,r,e,{prefix:`/_matrix/client/unstable/org.matrix.simplified_msc3575`,baseUrl:t,localTimeoutMs:i,abortSignal:n})}supportsThreads(){return this.clientOpts?.threadSupport||!1}supportsIntentionalMentions(){return this.canSupport.get(VA.IntentionalMentions)!==BA.Unsupported}getRoomSummary(e,t){var n=this;return o(function*(){var r={prefix:`/_matrix/client/unstable/im.nheko.summary`};try{var i=w(`/summary/$roomid`,{$roomid:e});return yield n.http.authedRequest(N.Get,i,{via:t},void 0,r)}catch(i){if(i instanceof P&&i.errcode===`M_UNRECOGNIZED`){var a=w(`/rooms/$roomid/summary`,{$roomid:e});return yield n.http.authedRequest(N.Get,a,{via:t},void 0,r)}else throw i}})()}processThreadEvents(e,t,n){e.processThreadedEvents(t,n)}processThreadRoots(e,t,n){this.supportsThreads()&&e.processThreadRoots(t,n)}processBeaconEvents(e,t){this.processAggregatedTimelineEvents(e,t)}processAggregatedTimelineEvents(e,t){t!=null&&t.length&&e&&(e.currentState.processBeaconEvents(t,this),e.processPollEvents(t))}whoami(){var e=this;return o(function*(){return e.http.authedRequest(N.Get,`/account/whoami`)})()}timestampToEvent(e,t,n){var r=this;return o(function*(){var i=w(`/rooms/$roomId/timestamp_to_event`,{$roomId:e}),a={ts:t.toString(),dir:n};try{return yield r.http.authedRequest(N.Get,i,a,void 0,{prefix:F.V1})}catch(e){if(e.errcode===`M_UNRECOGNIZED`&&(e.httpStatus===400||e.httpStatus===404||e.httpStatus===405))return yield r.http.authedRequest(N.Get,i,a,void 0,{prefix:`/_matrix/client/unstable/org.matrix.msc3030`});throw e}})()}getAuthMetadata(){var e=this;return o(function*(){var t;try{var n=yield e.isVersionSupported(`v1.15`);t=yield e.http.request(N.Get,`/auth_metadata`,void 0,void 0,{prefix:n?F.V1:F.Unstable+`/org.matrix.msc2965`})}catch(t){if(t instanceof P&&t.errcode===`M_UNRECOGNIZED`){var{issuer:r}=yield e.http.request(N.Get,`/auth_issuer`,void 0,void 0,{prefix:F.Unstable+`/org.matrix.msc2965`});return qI(r)}throw t}return JI(t)})()}};u(bL,`RESTORE_BACKUP_ERROR_BAD_KEY`,`RESTORE_BACKUP_ERROR_BAD_KEY`);function xL(e){return Object.fromEntries(Object.entries(e).map(e=>{var[t,n]=e;return[`${mL}.${t}`,n]}))}function SL(e,t){var n,r=e.getUserId(),i=t.getId(),a=e.getRoom(t.getRoomId());if(!(!a||!r||!i)){if(!a.findEventById(i)){T.info(`Decrypted event ${t.getId()} is not in room ${a.roomId}: ignoring`);return}var o=!!t.threadRootId&&!t.isThreadRoot,s;if(o){var c=a.getThread(t.threadRootId);s=c?c.hasUserReadEvent(r,i):!0}else s=a.hasUserReadEvent(r,i);if(!s){var l=e.getPushActionsForEvent(t,!0);if(l!=null&&(n=l.tweaks)!=null&&n.highlight){var u=a.getUnreadCountForEventContext(I.Highlight,t)+1;o?a.setThreadUnreadNotificationCount(t.threadRootId,I.Highlight,u):a.setUnreadNotificationCount(I.Highlight,u)}if(l!=null&&l.notify){var d=a.getUnreadCountForEventContext(I.Total,t)+1;o?a.setThreadUnreadNotificationCount(t.threadRootId,I.Total,d):a.setUnreadNotificationCount(I.Total,d)}}}}function CL(e){return wL(e)?sE:e.threadRootId}function wL(e){return!e.threadRootId||e.isThreadRoot?!0:e.isRelation()?e.isRelation(X.name)?!1:e.relationEventId===e.threadRootId:(T.warn(`Event is not a relation or a thread root, but still has a threadRootId! id=${e.getId()}`),!0)}function TL(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function EL(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?TL(Object(n),!0).forEach(function(t){u(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):TL(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var DL=function(e){return e.New=`Thread.new`,e.Update=`Thread.update`,e.NewReply=`Thread.newReply`,e.ViewThread=`Thread.viewThread`,e.Delete=`Thread.delete`,e}({}),OL=function(e){return e[e.None=0]=`None`,e[e.Experimental=1]=`Experimental`,e[e.Stable=2]=`Stable`,e}({});function kL(e,t){return e?OL.Stable:t?OL.Experimental:OL.None}var AL=class e extends gk{constructor(t,n,r){var i;if(super(),i=this,this.id=t,this.rootEvent=n,u(this,`timelineSet`,void 0),u(this,`_currentUserParticipated`,!1),u(this,`reEmitter`,void 0),u(this,`lastEvent`,void 0),u(this,`replyCount`,0),u(this,`lastPendingEvent`,void 0),u(this,`pendingReplyCount`,0),u(this,`room`,void 0),u(this,`client`,void 0),u(this,`pendingEventOrdering`,void 0),u(this,`processRootEventPromise`,void 0),u(this,`initialEventsFetched`,!e.hasServerSideSupport),u(this,`initalEventFetchProm`,void 0),u(this,`replayEvents`,[]),u(this,`onTimelineReset`,o(function*(){yield i.processRootEventPromise,i.processRootEventPromise=void 0})),u(this,`onBeforeRedaction`,(e,t)=>{e!=null&&e.isRelation(X.name)&&this.room.eventShouldLiveIn(e).threadId===this.id&&e.getId()!==this.id&&!t.status&&(this.replyCount--,this.updatePendingReplyCount(),this.emit(DL.Update,this))}),u(this,`onRedaction`,function(){var e=o(function*(e,t,n){if(n===i.id)if(i.replyCount<=0){for(var r of i.timeline)i.clearEventMetadata(r);i.lastEvent=i.rootEvent,i._currentUserParticipated=!1,i.emit(DL.Delete,i)}else i.lastEvent?.getId()===e.getAssociatedId()&&(yield i.processRootEventPromise,i.processRootEventPromise=void 0),yield i.updateThreadMetadata()});return function(t,n,r){return e.apply(this,arguments)}}()),u(this,`onTimelineEvent`,(e,t,n)=>{if(!n){var r=e.getSender();r&&t&&this.shouldSendLocalEchoReceipt(r,e)&&t.addLocalEchoReceipt(r,e,oE.Read),e.getId()!==this.id&&e.isRelation(X.name)&&this.replyCount++}this.onEcho(e,n??!1)}),u(this,`onLocalEcho`,e=>{this.onEcho(e,!1)}),u(this,`onEcho`,function(){var e=o(function*(e,t){e.threadRootId===i.id&&i.lastEvent!==e&&(yield i.updateThreadMetadata(),e.isRelation(X.name)&&(t||(i.lastEvent=void 0,i.emit(DL.NewReply,i,e))))});return function(t,n){return e.apply(this,arguments)}}()),this.setMaxListeners(1e3),!(r!=null&&r.room))throw Error(`element-web#22141: A thread requires a room in order to function`);this.room=r.room,this.client=r.client,this.pendingEventOrdering=r.pendingEventOrdering??lL.Chronological,this.timelineSet=new TO(this.room,{timelineSupport:!0,pendingEvents:!0},this.client,this),this.reEmitter=new OO(this),this.reEmitter.reEmit(this.timelineSet,[L.Timeline,L.TimelineReset]),this.room.on(Z.BeforeRedaction,this.onBeforeRedaction),this.room.on(L.Redaction,this.onRedaction),this.room.on(L.LocalEchoUpdated,this.onLocalEcho),this.room.on(L.TimelineReset,this.onTimelineReset),this.timelineSet.on(L.Timeline,this.onTimelineEvent),this.processReceipts(r.receipts),this.updateThreadMetadata(),this.setEventMetadata(this.rootEvent)}fetchRootEvent(){var e=this;return o(function*(){try{var t=yield e.client.fetchRoomEvent(e.roomId,e.id);e.rootEvent=e.client.getEventMapper()(t)}catch(e){T.error(`Failed to fetch thread root to construct thread with`,e)}yield e.processEvent(e.rootEvent)})()}static setServerSideSupport(t){e.hasServerSideSupport=t,t!==OL.Stable&&(ML.setPreferUnstable(!0),NL.setPreferUnstable(!0),X.setPreferUnstable(!0))}static setServerSideListSupport(t){e.hasServerSideListSupport=t}static setServerSideFwdPaginationSupport(t){e.hasServerSideFwdPaginationSupport=t}shouldSendLocalEchoReceipt(e,t){if((this.client.canSupport.get(VA.RelationsRecursion)??BA.Unsupported)===BA.Unsupported){var n=this.getReadReceiptForUserId(e)?.eventId;if(n){var r=this.findEventById(n);if(r&&r.getTs()>t.getTs())return!1}}return!0}get roomState(){return this.room.getLiveTimeline().getState(A.FORWARDS)}addEventToTimeline(e,t){this.findEventById(e.getId())||this.timelineSet.addEventToTimeline(e,this.liveTimeline,{toStartOfTimeline:t,fromCache:!1,roomState:this.roomState,addToState:!1})}insertEventIntoTimeline(e){var t=e.getId();t&&(this.findEventById(t)||this.timelineSet.insertEventIntoTimeline(e,this.liveTimeline,this.roomState,!1))}addEvents(e,t){e.forEach(e=>this.addEvent(e,t,!1)),this.updateThreadMetadata()}addEvent(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;this.setEventMetadata(t);var i=this.lastReply(),a=!i||t.localTimestamp>=i.localTimestamp;if(!e.hasServerSideSupport)this.addEventToTimeline(t,n),this.client.decryptEventIfNeeded(t);else if(t.isRelation(D.Annotation)||t.isRelation(D.Replace)){this.addRelatedThreadEvent(t,n);return}else !n&&a?(this.addEventToTimeline(t,!1),this.fetchEditsWhereNeeded(t)):n?this.addEventToTimeline(t,n):this.insertEventIntoTimeline(t);t.getId()!==this.id&&t.isRelation(X.name)&&!n&&a&&(this.lastEvent=void 0),r&&(this.emit(DL.NewReply,this,t),this.updateThreadMetadata())}addRelatedThreadEvent(e,t){if(this.initialEventsFetched)(this.client.canSupport.get(VA.RelationsRecursion)??BA.Unsupported)===BA.Unsupported?this.insertEventIntoTimeline(e):this.addEventToTimeline(e,t);else{var n;if((n=this.replayEvents)==null||n.push(e),e.isRelation(D.Annotation)){var r;(r=this.timelineSet.relations)==null||r.aggregateChildEvent(e,this.timelineSet)}}}processEvent(e){var t=this;return o(function*(){e&&(t.setEventMetadata(e),yield t.fetchEditsWhereNeeded(e))})()}processReceipts(){for(var{eventId:e,receiptType:t,userId:n,receipt:r,synthetic:i}of arguments.length>0&&arguments[0]!==void 0?arguments[0]:[])this.addReceiptToStructure(e,t,n,r,i)}getRootEventBundledRelationship(){return(arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.rootEvent)?.getServerAggregatedRelation(X.name)}processRootEvent(){var t=this;return o(function*(){var n=t.getRootEventBundledRelationship();e.hasServerSideSupport&&n&&(t.replyCount=n.count,t._currentUserParticipated=!!n.current_user_participated,t.lastEvent=t.client.getEventMapper()(EL(EL({},n.latest_event),{},{room_id:t.roomId})),t.updatePendingReplyCount(),yield t.processEvent(t.lastEvent))})()}updatePendingReplyCount(){var e=(this.pendingEventOrdering===lL.Detached?this.room.getPendingEvents():this.events).filter(e=>e.threadRootId===this.id&&e.isRelation(X.name)&&e.status!==null&&e.getId()!==this.lastEvent?.getId());this.lastPendingEvent=e.length?e[e.length-1]:void 0,this.pendingReplyCount=e.length}resetLiveTimeline(e,t){var n=this;return o(function*(){var r=n.liveTimeline;n.timelineSet.resetLiveTimeline(e??void 0,t??void 0);var i=n.liveTimeline,a,o;e&&(a=(yield n.client.createMessagesRequest(n.roomId,e,1,k.Forward)).end),t&&(o=(yield n.client.createMessagesRequest(n.roomId,t,1,k.Backward)).start),t&&r.getPaginationToken(k.Forward)===t&&r.setPaginationToken(o??null,k.Forward),e&&i.getPaginationToken(k.Backward)===e&&i.setPaginationToken(a??null,k.Backward)})()}updateThreadFromRootEvent(){var t=this;return o(function*(){e.hasServerSideSupport&&(!t.initialEventsFetched&&!t.lastEvent&&(yield t.processRootEvent()),yield t.fetchRootEvent()),yield t.processRootEvent()})()}updateThreadMetadata(){var e=this;return o(function*(){if(e.updatePendingReplyCount(),e.processRootEventPromise||=e.updateThreadFromRootEvent(),yield e.processRootEventPromise,!e.initialEventsFetched)if(e.initalEventFetchProm)yield e.initalEventFetchProm;else try{e.timelineSet.resetLiveTimeline(),e.replyCount===0&&e.rootEvent?(e.timelineSet.addEventsToTimeline([e.rootEvent],!0,!1,e.liveTimeline,null),e.liveTimeline.setPaginationToken(null,k.Backward)):(e.initalEventFetchProm=e.client.paginateEventTimeline(e.liveTimeline,{backwards:!0}),yield e.initalEventFetchProm),e.initialEventsFetched=!0;for(var t of e.replayEvents)e.addEvent(t,!1);e.replayEvents=null,e.emit(L.TimelineReset,e.room,e.timelineSet,!0)}catch(t){T.error(`Failed to load start of newly created thread: `,t),e.initialEventsFetched=!1}e.emit(DL.Update,e)})()}fetchEditsWhereNeeded(){var e=arguments,t=this;return o(function*(){if((t.client.canSupport.get(VA.RelationsRecursion)??BA.Unsupported)===BA.Unsupported){for(var n=e.length,r=Array(n),i=0;i<n;i++)r[i]=e[i];return Promise.all(r.filter(jL).map(function(){var e=o(function*(e){try{var n=yield t.client.relations(t.roomId,e.getId(),D.Replace,e.getType(),{limit:1});if(n.events.length){var r=n.events[0];e.makeReplaced(r),t.insertEventIntoTimeline(r)}}catch(e){T.error(`Failed to load edits for encrypted thread event`,e)}});return function(t){return e.apply(this,arguments)}}()))}})()}setEventMetadata(e){e&&(A.setEventMetadata(e,this.roomState,!1),e.setThread(this))}clearEventMetadata(e){if(e){var t;e.setThread(void 0),(t=e.event)==null||(t=t.unsigned)==null||(t=t[`m.relations`])==null||delete t[X.name]}}findEventById(e){return this.timelineSet.findEventById(e)}lastReply(){for(var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:e=>e.isRelation(X.name),t=this.timeline.length-1;t>=0;t--){var n=this.timeline[t];if(e(n))return n}return null}get roomId(){return this.room.roomId}get length(){return this.replyCount+this.pendingReplyCount}get replyToEvent(){return this.lastPendingEvent??this.lastEvent??this.lastReply()}get timeline(){return this.events}get events(){return this.liveTimeline.getEvents()}has(e){return this.timelineSet.findEventById(e)instanceof BL}get hasCurrentUserParticipated(){return this._currentUserParticipated}get liveTimeline(){return this.timelineSet.getLiveTimeline()}getUnfilteredTimelineSet(){return this.timelineSet}addReceipt(e,t){throw Error(`Unsupported function on the thread model`)}getEventReadUpTo(e,t){var n=e===this.client.getUserId(),r=this.timeline[this.timeline.length-1];if(n&&r){var i=r.getTs()<this.room.getOldestThreadedReceiptTs(),a=r.getId();if(i&&a)return a}var o=super.getEventReadUpTo(e,t);if(r){var s=this.room.getLastUnthreadedReceiptFor(e);if(!s)return o;for(var c=(l=this.timeline)?.length-1;c>=0;--c){var l,u=this.timeline[c];if(u.getId()===o)return o;if(u.getTs()<s.ts)return u.getId()??o}}return o}hasUserReadEvent(e,t){if(e===this.client.getUserId()){var n,r=(this.lastReply()?.getTs()??0)<this.room.getOldestThreadedReceiptTs(),i=this.room.getLastUnthreadedReceiptFor(e)?.ts??0,a=((this===null||this===void 0||(n=this.lastReply())==null?void 0:n.getTs())??0)<i;if(r||a)return!0}return this.room.hasUserReadEvent(e,t)}setUnread(e,t){return this.room.setThreadUnreadNotificationCount(this.id,e,t)}getLastUnthreadedReceiptFor(e){return this.room.getLastUnthreadedReceiptFor(e)}};u(AL,`hasServerSideSupport`,OL.None),u(AL,`hasServerSideListSupport`,OL.None),u(AL,`hasServerSideFwdPaginationSupport`,OL.None);function jL(e){return e.isEncrypted()&&(e.isRelation(X.name)||e.isThreadRoot)}var ML=new tE(`related_by_senders`,`io.element.relation_senders`),NL=new tE(`related_by_rel_types`,`io.element.relation_types`),X=new tE(`m.thread`,`io.element.thread`),PL=function(e){return e[e.My=0]=`My`,e[e.All=1]=`All`,e}({});function FL(e){switch(e){case PL.My:return`participated`;default:return`all`}}var IL=class extends Error{constructor(e,t,n){super(t),this.code=e,u(this,`detailedString`,void 0),this.name=`DecryptionError`,this.detailedString=LL(this,n)}};function LL(e,t){var n=e.name+`[msg: `+e.message;return t&&(n+=`, `+Object.keys(t).map(e=>e+`: `+t[e]).join(`, `)),n+=`]`,n}var RL=Object.freeze({visible:!0}),zL=36e5,Z=function(e){return e.Decrypted=`Event.decrypted`,e.BeforeRedaction=`Event.beforeRedaction`,e.VisibilityChange=`Event.visibilityChange`,e.LocalEventIdReplaced=`Event.localEventIdReplaced`,e.Status=`Event.status`,e.Replaced=`Event.replaced`,e.RelationsCreated=`Event.relationsCreated`,e.SentinelUpdated=`Event.sentinelUpdated`,e}({}),BL=class e extends SD{setMetadata(e,t){var n,r,i=this.isState()&&this.getType()===E.RoomMember&&this.getSender()===this.getStateKey(),a=!1;if(i||!((n=this.sender)!=null&&(n=n.events)!=null&&n.member)){var o=e.getSentinelMember(this.getSender());o!==this.sender&&(a=!0),this.sender=o}if(i||!((r=this.target)!=null&&(r=r.events)!=null&&r.member)&&this.getType()===E.RoomMember){var s=e.getSentinelMember(this.getStateKey());s!==this.target&&(a=!0),this.target=s}this.isState()&&t&&(this.forwardLooking=!1),a&&this.emit(Z.SentinelUpdated)}constructor(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};super(),this.event=e,u(this,`pushDetails`,{}),u(this,`_replacingEvent`,null),u(this,`_localRedactionEvent`,null),u(this,`_isCancelled`,!1),u(this,`clearEvent`,void 0),u(this,`visibility`,RL),u(this,`_hasCachedExtEv`,!1),u(this,`_cachedExtEv`,void 0),u(this,`_decryptionFailureReason`,null),u(this,`senderCurve25519Key`,null),u(this,`claimedEd25519Key`,null),u(this,`keyForwardedBy`,void 0),u(this,`decryptionPromise`,null),u(this,`retryDecryption`,!1),u(this,`txnId`,void 0),u(this,`thread`,void 0),u(this,`threadId`,void 0),u(this,`localTimestamp`,void 0),u(this,`sender`,null),u(this,`target`,null),u(this,`status`,null),u(this,`error`,null),u(this,`forwardLooking`,!0),u(this,`reEmitter`,void 0),u(this,`unstableStickyExpiresAt`,void 0),[`state_key`,`type`,`sender`,`room_id`,`membership`].forEach(t=>{typeof e[t]==`string`&&(e[t]=fE(e[t]))}),[`membership`,`avatar_url`,`displayname`].forEach(t=>{typeof e.content?.[t]==`string`&&(e.content[t]=fE(e.content[t]))}),[`rel_type`].forEach(t=>{var n;typeof((n=e.content)==null||(n=n[`m.relates_to`])==null?void 0:n[t])==`string`&&(e.content[`m.relates_to`][t]=fE(e.content[`m.relates_to`][t]))}),this.txnId=e.txn_id;var t=this.getAge(),n=Date.now();this.localTimestamp=t===void 0?this.getTs()??n:n-t,this.reEmitter=new OO(this),this.unstableStickyInfo&&(this.unstableStickyInfo.duration_ttl_ms?this.unstableStickyExpiresAt=n+this.unstableStickyInfo.duration_ttl_ms:this.unstableStickyExpiresAt=Math.min(n,this.getTs())+this.unstableStickyInfo.duration_ms)}get unstableExtensibleEvent(){return this._hasCachedExtEv||(this._cachedExtEv=LO.ExtensibleEvents.parse(this.getEffectiveEvent())??void 0),this._cachedExtEv}invalidateExtensibleEvent(){this._hasCachedExtEv=!1}getEffectiveEvent(){var e=Object.assign({},this.getContent());if(this.getWireType()===E.RoomMessageEncrypted)for(var[t,n]of Object.entries(this.getWireContent()))[`algorithm`,`ciphertext`,`device_id`,`sender_key`,`session_id`].includes(t)||e[t]===void 0&&(e[t]=n);return Object.assign({},this.event,this.clearEvent,{content:e})}getId(){return this.event.event_id}getSender(){return this.event.sender}getType(){return this.clearEvent?this.clearEvent.type:this.event.type}getWireType(){return this.event.type}getRoomId(){return this.event.room_id}getTs(){return this.event.origin_server_ts}getDate(){return this.event.origin_server_ts?new Date(this.event.origin_server_ts):null}getDetails(){var e=this.getRoomId();return e?`id=${this.getId()} type=${this.getWireType()} sender=${this.getSender()} room=${e} ts=${this.getDate()?.toISOString()}`:`msgid=${this.getContent()[ED]} type=${this.getWireType()} sender=${this.getSender()}`}getOriginalContent(){return this._localRedactionEvent?{}:this.clearEvent?this.clearEvent.content??{}:this.event.content??{}}getContent(){return this._localRedactionEvent?{}:this._replacingEvent?this._replacingEvent.getContent()[`m.new_content`]??{}:this.getOriginalContent()}getWireContent(){return this.event.content||{}}get threadRootId(){if(!this.isState()){var e=this.getWireContent()?.[`m.relates_to`];if(e?.rel_type===X.name)return e.event_id;if(this.thread)return this.thread.id;if(this.threadId!==void 0)return this.threadId;var t=this.getUnsigned();if(typeof t[zD.name]==`string`)return t[zD.name]}}get isThreadRoot(){return this.isState()?!1:!!this.getServerAggregatedRelation(X.name)||this.threadRootId===this.getId()}get replyEventId(){var e;return(e=this.getWireContent()[`m.relates_to`])==null||(e=e[`m.in_reply_to`])==null?void 0:e.event_id}get relationEventId(){var e;return(e=this.getWireContent())==null||(e=e[`m.relates_to`])==null?void 0:e.event_id}getPrevContent(){return this.getUnsigned().prev_content||{}}getDirectionalContent(){return this.forwardLooking?this.getContent():this.getPrevContent()}getAge(){return this.getUnsigned().age}getLocalAge(){return Date.now()-this.localTimestamp}getStateKey(){return this.clearEvent?this.clearEvent.state_key:this.event.state_key}getWireStateKey(){return this.event.state_key}isState(){return this.event.state_key!==void 0}getMembershipAtEvent(){var e=this.getUnsigned();return BD.findIn(e)}makeEncrypted(e,t,n,r){this.clearEvent={type:this.event.type,content:this.event.content,state_key:this.event.state_key},this.event.type=e,this.event.content=t,this.senderCurve25519Key=n,this.claimedEd25519Key=r,this.isState()&&(this.event.state_key=`${this.clearEvent.type}:${this.clearEvent.state_key}`)}isBeingDecrypted(){return this.decryptionPromise!=null}getDecryptionPromise(){return this.decryptionPromise}isDecryptionFailure(){return this._decryptionFailureReason!==null}get decryptionFailureReason(){return this._decryptionFailureReason}shouldAttemptDecryption(){return!(this.isRedacted()||this.isBeingDecrypted()||this.clearEvent||!this.isEncrypted())}attemptDecryption(e){var t=arguments,n=this;return o(function*(){var r=t.length>1&&t[1]!==void 0?t[1]:{};if(!n.isEncrypted())throw Error(`Attempt to decrypt event which isn't encrypted`);if(n.clearEvent&&!n.isDecryptionFailure())throw Error(`Attempt to decrypt event which has already been decrypted`);return n.decryptionPromise?(T.log(`Event ${n.getId()} already being decrypted; queueing a retry`),n.retryDecryption=!0,n.decryptionPromise):(n.decryptionPromise=n.decryptionLoop(e,r),n.decryptionPromise)})()}getKeyRequestRecipients(e){return[{userId:e,deviceId:`*`}]}decryptionLoop(e){var t=arguments,n=this;return o(function*(){var r=t.length>1&&t[1]!==void 0?t[1]:{};for(yield Promise.resolve();;){n.retryDecryption=!1;var i=void 0;try{var a=yield e.decryptEvent(n);r.isRetry===!0&&T.info(`Decrypted event on retry (${n.getDetails()})`),n.setClearData(a),n._decryptionFailureReason=null}catch(e){var o=e instanceof IL?e.detailedString:String(e);if(i=e,n.retryDecryption){T.log(`Error decrypting event (${n.getDetails()}), but retrying: ${o}`);continue}T.warn(`Error decrypting event (${n.getDetails()}): ${o}`),n.setClearDataForDecryptionFailure(String(e)),n._decryptionFailureReason=e instanceof IL?e.code:hP.UNKNOWN_ERROR}n.decryptionPromise=null,n.retryDecryption=!1,n.setPushDetails(),r.emit!==!1&&n.emit(Z.Decrypted,n,i);return}})()}setClearData(e){this.clearEvent=e.clearEvent,this.senderCurve25519Key=e.senderCurve25519Key??null,this.claimedEd25519Key=e.claimedEd25519Key??null,this.keyForwardedBy=e.keyForwardedBy,this.invalidateExtensibleEvent()}setClearDataForDecryptionFailure(e){this.clearEvent={type:E.RoomMessage,content:{msgtype:`m.bad.encrypted`,body:`** Unable to decrypt: ${e} **`}},this.senderCurve25519Key=null,this.claimedEd25519Key=null,this.invalidateExtensibleEvent()}getClearContent(){return this.clearEvent?this.clearEvent.content:null}isEncrypted(){return this.event.type===E.RoomMessageEncrypted}getSenderKey(){return this.senderCurve25519Key}getKeysClaimed(){return this.claimedEd25519Key?{ed25519:this.claimedEd25519Key}:{}}getClaimedEd25519Key(){return this.claimedEd25519Key}getForwardingCurve25519KeyChain(){return[]}isKeySourceUntrusted(){return!1}getKeyForwardingUser(){return this.keyForwardedBy}getUnsigned(){return this.event.unsigned||{}}setUnsigned(e){this.event.unsigned=e}unmarkLocallyRedacted(){var e=this._localRedactionEvent;return this._localRedactionEvent=null,this.event.unsigned&&(this.event.unsigned.redacted_because=void 0),!!e}markLocallyRedacted(e){this._localRedactionEvent||(this.emit(Z.BeforeRedaction,this,e),this._localRedactionEvent=e,this.event.unsigned||(this.event.unsigned={}),this.event.unsigned.redacted_because=e.event)}applyVisibilityEvent(e){var t=e?.visible??!0,n=e?.reason??null,r=!1;this.visibility.visible===t?!this.visibility.visible&&this.visibility.reason!==n&&(r=!0):r=!0,r&&(t?this.visibility=RL:this.visibility=Object.freeze({visible:!1,reason:n}),this.emit(Z.VisibilityChange,this,t))}messageVisibility(){return this.visibility}makeRedacted(e,t){if(!e.event)throw Error(`invalid redactionEvent in makeRedacted`);for(var n in this._localRedactionEvent=null,this.emit(Z.BeforeRedaction,this,e),this._replacingEvent=null,this.event.unsigned||(this.event.unsigned={}),this.event.unsigned.redacted_because=e.event,this.event)this.event.hasOwnProperty(n)&&!VL.has(n)&&delete this.event[n];this.isEncrypted()&&(this.clearEvent=void 0);var r=this.getType()in HL?HL[this.getType()]:{},i=this.getContent();for(var a in i)i.hasOwnProperty(a)&&!r[a]&&delete i[a];!this.isThreadRoot&&this.threadRootId&&this.threadRootId!==this.getId()&&(this.moveAllRelatedToMainTimeline(t),e.moveToMainTimeline(t)),this.invalidateExtensibleEvent()}moveAllRelatedToMainTimeline(e){var t=this.thread;if(this.moveToMainTimeline(e),t)for(var n of t.events)n.getRelation()?.event_id===this.getId()&&n.moveAllRelatedToMainTimeline(e)}moveToMainTimeline(e){var t;(t=this.thread)==null||t.timelineSet.removeEvent(this.getId()),this.setThread(void 0);var n=e.getLiveTimeline();n.getTimelineSet().insertEventIntoTimeline(this,n,n.getState(A.FORWARDS),!1)}isRedacted(){return!!this.getUnsigned().redacted_because}isRedaction(){return this.getType()===E.RoomRedaction}asVisibilityChange(){if(!FD.matches(this.getType()))return null;var e=this.getRelation();if(!e||e.rel_type!=`m.reference`)return null;var t=e.event_id;if(!t)return null;var n=this.getWireContent(),r=!!n.visible,i=n.reason;return i&&typeof i!=`string`?null:{visible:r,reason:i,eventId:t}}isVisibilityEvent(){return FD.matches(this.getType())}getRedactionEvent(){var e,t;return this.isRedacted()?(e=this.clearEvent)!=null&&e.unsigned?this.clearEvent?.unsigned.redacted_because??null:(t=this.event.unsigned)!=null&&t.redacted_because?this.event.unsigned.redacted_because:{}:null}getPushActions(){return this.pushDetails.actions||null}getPushDetails(){return this.pushDetails}setPushDetails(e,t){this.pushDetails={actions:e,rule:t}}handleRemoteEcho(e){var t=this.getUnsigned(),n=this.getId();this.event=e,t.redacted_because&&(this.event.unsigned||(this.event.unsigned={}),this.event.unsigned.redacted_because=t.redacted_because),this.setStatus(null),this.getId()!==n&&this.emit(Z.LocalEventIdReplaced,this),this.localTimestamp=Date.now()-(this.getAge()??0)}isSending(){return!!this.status}setStatus(e){this.status=e,this.emit(Z.Status,this,e)}replaceLocalEventId(e){this.event.event_id=e,this.emit(Z.LocalEventIdReplaced,this)}isRelation(e){var t=this.getWireContent()?.[`m.relates_to`];return this.isState()&&t!=null&&t.rel_type&&[D.Replace,D.Thread].includes(t.rel_type)?!1:!!(t!=null&&t.rel_type&&t.event_id&&(!e||t.rel_type===e))}getRelation(){return this.isRelation()?this.getWireContent()[`m.relates_to`]??null:null}makeReplaced(e){this.isRedacted()&&e||this.isState()||this._replacingEvent!==e&&(this._replacingEvent=e??null,this.emit(Z.Replaced,this),this.invalidateExtensibleEvent())}getAssociatedStatus(){return this._replacingEvent?this._replacingEvent.status:this._localRedactionEvent?this._localRedactionEvent.status:this.status}getServerAggregatedRelation(e){return this.getUnsigned()[`m.relations`]?.[e]}replacingEventId(){var e=this.getServerAggregatedRelation(D.Replace);if(e)return e.event_id;if(this._replacingEvent)return this._replacingEvent.getId()}replacingEvent(){return this._replacingEvent}replacingEventDate(){var e=this.getServerAggregatedRelation(D.Replace);if(e){var t=e.origin_server_ts;if(Number.isFinite(t))return new Date(t)}else if(this._replacingEvent)return this._replacingEvent.getDate()??void 0}localRedactionEvent(){return this._localRedactionEvent}getAssociatedId(){var e=this.getRelation();if(this.replyEventId)return this.replyEventId;if(e)return e.event_id;if(this.isRedaction())return this.event.redacts}hasAssociation(){return!!this.getAssociatedId()}updateAssociatedId(e){var t=this.getRelation();t?t.event_id=e:this.isRedaction()&&(this.event.redacts=e)}flagCancelled(){this._isCancelled=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0}isCancelled(){return this._isCancelled}toSnapshot(){var t=new e(JSON.parse(JSON.stringify(this.event)));for(var[n,r]of Object.entries(this))n!==`event`&&(t[n]=r);return t}isEquivalentTo(e){if(!e)return!1;if(e===this)return!0;var t=yE(this.event),n=yE(e.event);return JSON.stringify(t)===JSON.stringify(n)}toJSON(){var e=this.getEffectiveEvent();return this.isEncrypted()?{decrypted:e,encrypted:this.event}:e}setTxnId(e){this.txnId=e}getTxnId(){return this.txnId}setThread(e){this.isState()||(this.thread&&this.reEmitter.stopReEmitting(this.thread,[DL.Update]),this.thread=e,this.setThreadId(e?.id),e&&this.reEmitter.reEmit(e,[DL.Update]))}getThread(){return this.thread}setThreadId(e){this.threadId=e}get unstableStickyInfo(){var e;if((e=this.event.msc4354_sticky)!=null&&e.duration_ms)return{duration_ms:Math.min(zL,this.event.msc4354_sticky.duration_ms),duration_ttl_ms:this.event.unsigned?.msc4354_sticky_duration_ttl_ms}}},VL=new Set([`event_id`,`type`,`room_id`,`user_id`,`sender`,`state_key`,`prev_state`,`content`,`unsigned`,`origin_server_ts`]),HL={[E.RoomMember]:{membership:1},[E.RoomJoinRules]:{join_rule:1},[E.RoomPowerLevels]:{ban:1,events:1,events_default:1,kick:1,redact:1,state_default:1,users:1,users_default:1}},UL=[`1`,`2`,`3`,`4`,`5`,`6`,`7`,`8`,`9`,`10`,`11`];function WL(e){return!UL.includes(e)}var GL=function(e){return e[e.NotStarted=0]=`NotStarted`,e[e.InProgress=1]=`InProgress`,e[e.Finished=2]=`Finished`,e}(GL||{}),Q=function(e){return e.Events=`RoomState.events`,e.Members=`RoomState.members`,e.NewMember=`RoomState.newMember`,e.Update=`RoomState.update`,e.BeaconLiveness=`RoomState.BeaconLiveness`,e.Marker=`RoomState.Marker`,e}({}),KL=class e extends SD{constructor(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{status:GL.NotStarted};super(),this.roomId=e,this.oobMemberFlags=t,u(this,`reEmitter`,new OO(this)),u(this,`sentinels`,{}),u(this,`displayNameToUserIds`,new Map),u(this,`userIdsToDisplayNames`,{}),u(this,`tokenToInvite`,{}),u(this,`joinedMemberCount`,null),u(this,`summaryJoinedMemberCount`,null),u(this,`invitedMemberCount`,null),u(this,`summaryInvitedMemberCount`,null),u(this,`modified`,-1),u(this,`members`,{}),u(this,`events`,new Map),u(this,`paginationToken`,null),u(this,`beacons`,new Map),u(this,`_liveBeaconIds`,[]),u(this,`getVersionWarning`,!1),this.updateModifiedTime()}getRoomVersion(){var e=this.getStateEvents(E.RoomCreate,``);return e?e.getContent().room_version??`1`:(this.getVersionWarning||=(T.warn(`[getVersion] Room `+this.roomId+` does not have an m.room.create event`),!0),`1`)}getJoinedMemberCount(){return this.summaryJoinedMemberCount===null?(this.joinedMemberCount===null&&(this.joinedMemberCount=this.getMembers().reduce((e,t)=>t.membership===O.Join?e+1:e,0)),this.joinedMemberCount):this.summaryJoinedMemberCount}setJoinedMemberCount(e){this.summaryJoinedMemberCount=e}getInvitedMemberCount(){return this.summaryInvitedMemberCount===null?(this.invitedMemberCount===null&&(this.invitedMemberCount=this.getMembers().reduce((e,t)=>t.membership===O.Invite?e+1:e,0)),this.invitedMemberCount):this.summaryInvitedMemberCount}setInvitedMemberCount(e){this.summaryInvitedMemberCount=e}getMembers(){return Object.values(this.members)}getMembersExcept(e){return this.getMembers().filter(t=>!e.includes(t.userId))}getMember(e){return this.members[e]||null}getSentinelMember(e){if(!e)return null;var t=this.sentinels[e];if(t===void 0){t=new HD(this.roomId,e);var n=this.members[e];n!=null&&n.events.member&&t.setMembershipEvent(n.events.member,this),this.sentinels[e]=t}return t}getStateEvents(e,t){return this.events.has(e)?t===void 0?Array.from(this.events.get(e).values()):this.events.get(e).get(t)||null:t===void 0?[]:null}get hasLiveBeacons(){var e;return!!((e=this.liveBeaconIds)!=null&&e.length)}get liveBeaconIds(){return this._liveBeaconIds}clone(){var t=new e(this.roomId,this.oobMemberFlags),n=this.oobMemberFlags.status;return this.oobMemberFlags.status=GL.NotStarted,Array.from(this.events.values()).forEach(e=>{t.setStateEvents(Array.from(e.values()))}),this.oobMemberFlags.status=n,this.summaryInvitedMemberCount!==null&&t.setInvitedMemberCount(this.getInvitedMemberCount()),this.summaryJoinedMemberCount!==null&&t.setJoinedMemberCount(this.getJoinedMemberCount()),this.oobMemberFlags.status==GL.Finished&&this.getMembers().forEach(e=>{if(e.isOutOfBand()){var n;(n=t.getMember(e.userId))==null||n.markOutOfBand()}}),t}setUnknownStateEvents(e){var t=e.filter(e=>!this.events.has(e.getType())||!this.events.get(e.getType()).has(e.getStateKey()));this.setStateEvents(t)}setStateEvents(e,t){this.updateModifiedTime();var n=new Set,r=new Set;if(e.forEach(e=>{if(!(e.getRoomId()!==this.roomId||!e.isState())){WN.matches(e.getType())&&this.setBeacon(e);var t=this.getStateEventMatching(e);if(this.setStateEvent(e),e.getType()===E.RoomMember){var i=e.getStateKey();r.add(i);var a=e.getContent().displayname??``,o=this.userIdsToDisplayNames[i];if(o){var s=xE(o);s&&n.add(s)}if(a){var c=xE(a);c&&n.add(c)}this.updateDisplayNameCache(i,a),this.updateThirdPartyTokenCache(e)}this.emit(Q.Events,e,this,t)}}),this.onBeaconLivenessChange(),e.forEach(e=>{if(!(e.getRoomId()!==this.roomId||!e.isState()))if(e.getType()===E.RoomMember){var n=e.getStateKey();(e.getContent().membership===O.Leave||e.getContent().membership===O.Ban)&&(e.getContent().avatar_url=e.getContent().avatar_url||e.getPrevContent().avatar_url,e.getContent().displayname=e.getContent().displayname||e.getPrevContent().displayname);var r=this.getOrCreateMember(n,e);r.setMembershipEvent(e,this),this.updateMember(r),this.emit(Q.Members,e,this,r)}else if(e.getType()===E.RoomPowerLevels){if(e.getStateKey()!==``)return;var i=Object.values(this.members),a=this.getStateEvents(E.RoomCreate,``),o=qL(this.getRoomVersion(),a);i.forEach(t=>{var n=t.getLastModifiedTime();if(a){var r=JL(t.userId,e,o);t.setPowerLevel(r,e)}n!==t.getLastModifiedTime()&&this.emit(Q.Members,e,this,t)}),this.sentinels={}}else MD.matches(e.getType())&&this.emit(Q.Marker,e,t)}),n.size>0){var i=new Set;for(var a of n)(this.displayNameToUserIds.get(a)??[]).forEach(e=>i.add(e));for(var o of i)if(!r.has(o)){var s=this.members[o];s!=null&&s.events.member&&s.recalculateDisambiguatedName(this)&&this.emit(Q.Members,s.events.member,this,s)}}this.emit(Q.Update,this)}processBeaconEvents(e,t){var n=this;return o(function*(){if(!(!e.length||!n.beacons.size)){var r=[...n.beacons.values()].reduce((e,t)=>(e[t.beaconInfoId]=t,e),{}),i=(e,t)=>{if(GN.matches(t.getType())){var n=r[e];n&&n.addLocations([t])}},a=function*(e){var n=e.getRelation()?.event_id;if(!n||!r[n]||!GN.matches(e.getType())&&!e.isEncrypted())return{v:void 0};try{yield t.decryptEventIfNeeded(e),i(n,e)}catch{e.isDecryptionFailure()&&e.once(Z.Decrypted,o(function*(){i(n,e)}))}},s;for(var c of e)if(s=yield*a(c),s)return s.v}})()}getOrCreateMember(e,t){var n=this.members[e];return n||(n=new HD(this.roomId,e),this.members[e]=n,this.emit(Q.NewMember,t,this,n)),n}setStateEvent(e){this.events.has(e.getType())||this.events.set(e.getType(),new Map),this.events.get(e.getType()).set(e.getStateKey(),e)}setBeacon(e){var t=lk(e);if(this.beacons.has(t)){var n=this.beacons.get(t);if(e.isRedacted()){n.beaconInfoId===e.getRedactionEvent()?.redacts&&(n.destroy(),this.beacons.delete(t));return}return n.update(e)}if(!e.isRedacted()){var r=new uk(e);this.reEmitter.reEmit(r,[M.New,M.Update,M.Destroy,M.LivenessChange]),this.emit(M.New,e,r),r.on(M.LivenessChange,this.onBeaconLivenessChange.bind(this)),r.on(M.Destroy,this.onBeaconLivenessChange.bind(this)),this.beacons.set(r.identifier,r)}}onBeaconLivenessChange(){this._liveBeaconIds=Array.from(this.beacons.values()).filter(e=>e.isLive).map(e=>e.identifier),this.emit(Q.BeaconLiveness,this,this.hasLiveBeacons)}getStateEventMatching(e){return this.events.get(e.getType())?.get(e.getStateKey())??null}updateMember(e){var t=this.getStateEvents(E.RoomCreate,``),n=this.getStateEvents(E.RoomPowerLevels,``);if(n&&t){var r=JL(e.userId,n,qL(this.getRoomVersion(),t));e.setPowerLevel(r,n)}delete this.sentinels[e.userId],this.members[e.userId]=e,this.joinedMemberCount=null,this.invitedMemberCount=null}needsOutOfBandMembers(){return this.oobMemberFlags.status===GL.NotStarted}outOfBandMembersReady(){return this.oobMemberFlags.status===GL.Finished}markOutOfBandMembersStarted(){this.oobMemberFlags.status===GL.NotStarted&&(this.oobMemberFlags.status=GL.InProgress)}markOutOfBandMembersFailed(){this.oobMemberFlags.status===GL.InProgress&&(this.oobMemberFlags.status=GL.NotStarted)}clearOutOfBandMembers(){var e=0;Object.keys(this.members).forEach(t=>{this.members[t].isOutOfBand()&&(++e,delete this.members[t])}),T.log(`LL: RoomState removed ${e} members...`),this.oobMemberFlags.status=GL.NotStarted}setOutOfBandMembers(e){T.log(`LL: RoomState about to set ${e.length} OOB members ...`),this.oobMemberFlags.status===GL.InProgress&&(T.log(`LL: RoomState put in finished state ...`),this.oobMemberFlags.status=GL.Finished,e.forEach(e=>this.setOutOfBandMember(e)),this.emit(Q.Update,this))}setOutOfBandMember(e){if(e.getType()===E.RoomMember){var t=e.getStateKey(),n=this.getMember(t);if(!(n&&!n.isOutOfBand())){var r=this.getOrCreateMember(t,e);r.setMembershipEvent(e,this),r.markOutOfBand(),this.updateDisplayNameCache(r.userId,r.name),this.setStateEvent(e),this.updateMember(r),this.emit(Q.Members,e,this,r)}}}setTypingEvent(e){Object.values(this.members).forEach(function(t){t.setTypingEvent(e)})}getInviteForThreePidToken(e){return this.tokenToInvite[e]||null}updateModifiedTime(){this.modified=Date.now()}getLastModifiedTime(){return this.modified}getUserIdsWithDisplayName(e){return this.displayNameToUserIds.get(xE(e))??[]}maySendRedactionForEvent(e,t){var n=this.getMember(t);return!n||n.membership===O.Leave||e.status||e.isRedacted()||!this.maySendEvent(E.RoomRedaction,t)?!1:e.getSender()===t?!0:this.hasSufficientPowerLevelFor(`redact`,n.powerLevel)}hasSufficientPowerLevelFor(e,t){var n=this.getStateEvents(E.RoomPowerLevels,``),r={};n&&(r=n.getContent());var i=50;return bE(r[e])&&(i=r[e]),t>=i}maySendMessage(e){return this.maySendEventOfType(E.RoomMessage,e,!1)}maySendEvent(e,t){return this.maySendEventOfType(e,t,!1)}mayClientSendStateEvent(e,t){return t.isGuest()||!t.credentials.userId?!1:this.maySendStateEvent(e,t.credentials.userId)}maySendStateEvent(e,t){return this.maySendEventOfType(e,t,!0)}maySendEventOfType(e,t,n){var r=this.getStateEvents(E.RoomPowerLevels,``),i,a={},o=0,s=0;r&&(i=r.getContent(),a=i.events||{},o=Number.isSafeInteger(i.state_default)?i.state_default:50,Number.isSafeInteger(i.events_default)&&(s=i.events_default));var c=n?o:s;return Number.isSafeInteger(a[e])&&(c=a[e]),(this.getMember(t)?.powerLevel??0)>=c}mayTriggerNotifOfType(e,t){var n=this.getMember(t);if(!n)return!1;var r=this.getStateEvents(E.RoomPowerLevels,``),i=50;return r&&r.getContent()&&r.getContent().notifications&&bE(r.getContent().notifications[e])&&(i=r.getContent().notifications[e]),n.powerLevel>=i}getJoinRule(){return(this.getStateEvents(E.RoomJoinRules,``)?.getContent()??{}).join_rule||pN.Invite}getHistoryVisibility(){return(this.getStateEvents(E.RoomHistoryVisibility,``)?.getContent()??{}).history_visibility||gN.Shared}getGuestAccess(){return(this.getStateEvents(E.RoomGuestAccess,``)?.getContent()??{}).guest_access||hN.Forbidden}findPredecessor(){if(arguments.length>0&&arguments[0]!==void 0&&arguments[0]){var e=this.getStateEvents(E.RoomPredecessor,``);if(e){var t=e.getContent(),n=t.predecessor_room_id,r=t.last_known_event_id;typeof r!=`string`&&(r=void 0);var i=t.via_servers;if(Array.isArray(i)||(i=void 0),typeof n==`string`)return{roomId:n,eventId:r,viaServers:i}}}var a=this.getStateEvents(E.RoomCreate,``);if(a){var o=a.getContent().predecessor;if(o){var s=o.room_id;if(typeof s==`string`){var c=o.event_id;return(typeof c!=`string`||c===``)&&(c=void 0),{roomId:s,eventId:c}}}}return null}updateThirdPartyTokenCache(e){if(e.getContent().third_party_invite){var t=(e.getContent().third_party_invite.signed||{}).token;t&&this.getStateEvents(E.RoomThirdPartyInvite,t)&&(this.tokenToInvite[t]=e)}}updateDisplayNameCache(e,t){var n=this.userIdsToDisplayNames[e];if(delete this.userIdsToDisplayNames[e],n){var r=xE(n),i=this.displayNameToUserIds.get(r);if(i){var a=i.filter(t=>t!==e);this.displayNameToUserIds.set(r,a)}}this.userIdsToDisplayNames[e]=t;var o=t&&xE(t);if(o){var s=this.displayNameToUserIds.get(o)??[];s.push(e),this.displayNameToUserIds.set(o,s)}}};function qL(e,t){var n=new Set;if(WL(e)&&t){var r=t.getSender();r&&n.add(r);var i=t.getDirectionalContent().additional_creators;Array.isArray(i)&&i.forEach(e=>n.add(e))}return n}function JL(e,t,n){if(n.has(e))return 1/0;var r=t.getDirectionalContent(),i=r.users||{};return i[e]!==void 0&&Number.isInteger(i[e])?i[e]:r.users_default===void 0?0:r.users_default}var YL=function(e){return e[e.Blocked=-1]=`Blocked`,e[e.Unverified=0]=`Unverified`,e[e.Verified=1]=`Verified`,e}({}),XL=class{constructor(e){u(this,`deviceId`,void 0),u(this,`userId`,void 0),u(this,`algorithms`,void 0),u(this,`keys`,void 0),u(this,`verified`,void 0),u(this,`signatures`,void 0),u(this,`displayName`,void 0),u(this,`dehydrated`,!1),this.deviceId=e.deviceId,this.userId=e.userId,this.algorithms=e.algorithms,this.keys=e.keys,this.verified=e.verified||YL.Unverified,this.signatures=e.signatures||new Map,this.displayName=e.displayName,this.dehydrated=!!e.dehydrated}getFingerprint(){return this.keys.get(`ed25519:${this.deviceId}`)}getIdentityKey(){return this.keys.get(`curve25519:${this.deviceId}`)}};function ZL(e,t){return new Promise((n,r)=>{var i=!0,a=e.open(t);a.onupgradeneeded=()=>{i=!1},a.onblocked=()=>r(a.error),a.onsuccess=()=>{a.result.close(),i||e.deleteDatabase(t),n(i)},a.onerror=()=>r(a.error)})}var QL=`crypto.`,$L=QL+`migration`,eR=QL+`account`,tR=QL+`cross_signing_keys`,nR=QL+`inboundgroupsessions/`,rR=QL+`inboundgroupsessions.withheld/`,iR=QL+`rooms/`,aR=QL+`sessionsneedingbackup`;function oR(e){return QL+`sessions/`+e}function sR(e,t){return nR+e+`/`+t}function cR(e,t){return rR+e+`/`+t}function lR(e){return iR+e}var uR=class e extends cD{static exists(e){for(var t=e.length,n=0;n<t;n++){var r;if((r=e.key(n))!=null&&r.startsWith(QL))return!0}return!1}constructor(e){super(),this.store=e}containsData(){var t=this;return o(function*(){return e.exists(t.store)})()}getMigrationState(){var e=this;return o(function*(){return dR(e.store,$L)??rD.NOT_STARTED})()}setMigrationState(e){var t=this;return o(function*(){fR(t.store,$L,e)})()}countEndToEndSessions(e,t){for(var n=0,r=0;r<this.store.length;++r){var i=this.store.key(r);if(i!=null&&i.startsWith(oR(``))){var a=dR(this.store,i);n+=Object.keys(a??{}).length}}t(n)}_getEndToEndSessions(e){var t=dR(this.store,oR(e)),n={};for(var[r,i]of Object.entries(t||{}))typeof i==`string`?n[r]={session:i}:n[r]=i;return n}getEndToEndSession(e,t,n,r){r(this._getEndToEndSessions(e)[t]??{})}getEndToEndSessions(e,t,n){n(this._getEndToEndSessions(e)??{})}storeEndToEndSession(e,t,n,r){var i=this._getEndToEndSessions(e)||{};i[t]=n,fR(this.store,oR(e),i)}getEndToEndSessionsBatch(){var e=this;return o(function*(){for(var t=[],n=0;n<e.store.length;++n){var r;if((r=e.store.key(n))!=null&&r.startsWith(oR(``))){var i=e.store.key(n).split(`/`)[1];for(var a of Object.values(e._getEndToEndSessions(i)))if(t.push(a),t.length>=50)return t}}return t.length===0?null:t})()}deleteEndToEndSessionsBatch(e){var t=this;return o(function*(){for(var{deviceKey:n,sessionId:r}of e){var i=t._getEndToEndSessions(n)||{};delete i[r],Object.keys(i).length===0?t.store.removeItem(oR(n)):fR(t.store,oR(n),i)}})()}getEndToEndInboundGroupSession(e,t,n,r){r(dR(this.store,sR(e,t)),dR(this.store,cR(e,t)))}storeEndToEndInboundGroupSession(e,t,n,r){fR(this.store,sR(e,t),n)}countEndToEndInboundGroupSessions(){var e=this;return o(function*(){for(var t=0,n=0;n<e.store.length;++n){var r=e.store.key(n);r!=null&&r.startsWith(nR)&&(t+=1)}return t})()}getEndToEndInboundGroupSessionsBatch(){var e=this;return o(function*(){for(var t=dR(e.store,aR)||{},n=[],r=0;r<e.store.length;++r){var i=e.store.key(r);if(i!=null&&i.startsWith(nR)){var a=i.slice(nR.length);if(n.push({senderKey:a.slice(0,43),sessionId:a.slice(44),sessionData:dR(e.store,i),needsBackup:a in t}),n.length>=50)return n}}return n.length===0?null:n})()}deleteEndToEndInboundGroupSessionsBatch(e){var t=this;return o(function*(){for(var{senderKey:n,sessionId:r}of e){var i=sR(n,r);t.store.removeItem(i)}})()}getEndToEndRooms(e,t){for(var n={},r=lR(``),i=0;i<this.store.length;++i){var a=this.store.key(i);if(a!=null&&a.startsWith(r)){var o=a.slice(r.length);n[o]=dR(this.store,a)}}t(n)}markSessionsNeedingBackup(e){var t=dR(this.store,aR)||{};for(var n of e)t[n.senderKey+`/`+n.sessionId]=!0;return fR(this.store,aR,t),Promise.resolve()}deleteAllData(){return this.store.removeItem(eR),Promise.resolve()}getAccount(e,t){t(dR(this.store,eR))}storeAccount(e,t){fR(this.store,eR,t)}getCrossSigningKeys(e,t){t(dR(this.store,tR))}getSecretStorePrivateKey(e,t,n){t(dR(this.store,QL+`ssss_cache.${n}`))}storeSecretStorePrivateKey(e,t,n){fR(this.store,QL+`ssss_cache.${t}`,n)}doTxn(e,t,n){return Promise.resolve(n(null))}};function dR(e,t){try{return JSON.parse(e.getItem(t))}catch(e){T.log(`Error: Failed to get key %s: %s`,t,e.message),T.log(e.stack)}return null}function fR(e,t,n){e.setItem(t,JSON.stringify(n))}var pR=!1,mR=class{constructor(e){this.db=e,u(this,`nextTxnId`,0),e.onversionchange=()=>{T.log(`versionchange for indexeddb ${this.db.name}: closing`),e.close()}}containsData(){return o(function*(){throw Error(`Not implemented for Backend`)})()}startup(){var e=this;return o(function*(){return e})()}deleteAllData(){return o(function*(){throw Error(`This is not implemented, call IDBFactory::deleteDatabase(dbName) instead.`)})()}getMigrationState(){var e=this;return o(function*(){var t=rD.NOT_STARTED;return yield e.doTxn(`readonly`,[$.STORE_ACCOUNT],e=>{var n=e.objectStore($.STORE_ACCOUNT).get(nD);n.onsuccess=()=>{t=n.result??rD.NOT_STARTED}}),t})()}setMigrationState(e){var t=this;return o(function*(){yield t.doTxn(`readwrite`,[$.STORE_ACCOUNT],t=>{t.objectStore($.STORE_ACCOUNT).put(e,nD)})})()}getAccount(e,t){var n=e.objectStore(`account`).get(`-`);n.onsuccess=function(){try{t(n.result||null)}catch(t){yR(e,t)}}}storeAccount(e,t){e.objectStore(`account`).put(t,`-`)}getCrossSigningKeys(e,t){var n=e.objectStore(`account`).get(`crossSigningKeys`);n.onsuccess=function(){try{t(n.result||null)}catch(t){yR(e,t)}}}getSecretStorePrivateKey(e,t,n){var r=e.objectStore(`account`).get(`ssss_cache:${n}`);r.onsuccess=function(){try{t(r.result||null)}catch(t){yR(e,t)}}}storeSecretStorePrivateKey(e,t,n){e.objectStore(`account`).put(n,`ssss_cache:${t}`)}countEndToEndSessions(e,t){var n=e.objectStore(`sessions`).count();n.onsuccess=function(){try{t(n.result)}catch(t){yR(e,t)}}}getEndToEndSessions(e,t,n){var r=t.objectStore(`sessions`).index(`deviceKey`).openCursor(e),i={};r.onsuccess=function(){var e=r.result;if(e)i[e.value.sessionId]={session:e.value.session,lastReceivedMessageTs:e.value.lastReceivedMessageTs},e.continue();else try{n(i)}catch(e){yR(t,e)}}}getEndToEndSession(e,t,n,r){var i=n.objectStore(`sessions`).get([e,t]);i.onsuccess=function(){try{i.result?r({session:i.result.session,lastReceivedMessageTs:i.result.lastReceivedMessageTs}):r(null)}catch(e){yR(n,e)}}}storeEndToEndSession(e,t,n,r){r.objectStore(`sessions`).put({deviceKey:e,sessionId:t,session:n.session,lastReceivedMessageTs:n.lastReceivedMessageTs})}getEndToEndSessionsBatch(){var e=this;return o(function*(){var t=[];return yield e.doTxn(`readonly`,[$.STORE_SESSIONS],e=>{var n=e.objectStore($.STORE_SESSIONS).openCursor();n.onsuccess=function(){try{var r=n.result;r&&(t.push(r.value),t.length<50&&r.continue())}catch(t){yR(e,t)}}}),t.length===0?null:t})()}deleteEndToEndSessionsBatch(e){var t=this;return o(function*(){yield t.doTxn(`readwrite`,[$.STORE_SESSIONS],function(){var t=o(function*(t){try{var n=t.objectStore($.STORE_SESSIONS),r=function*(){var e=n.delete([i,a]);yield new Promise(t=>{e.onsuccess=t})};for(var{deviceKey:i,sessionId:a}of e)yield*r()}catch(e){yR(t,e)}});return function(e){return t.apply(this,arguments)}}())})()}getEndToEndInboundGroupSession(e,t,n,r){var i=!1,a=!1,o=n.objectStore(`inbound_group_sessions`).get([e,t]);o.onsuccess=function(){try{i=o.result?o.result.session:null,a!==!1&&r(i,a)}catch(e){yR(n,e)}};var s=n.objectStore(`inbound_group_sessions_withheld`).get([e,t]);s.onsuccess=function(){try{a=s.result?s.result.session:null,i!==!1&&r(i,a)}catch(e){yR(n,e)}}}storeEndToEndInboundGroupSession(e,t,n,r){r.objectStore(`inbound_group_sessions`).put({senderCurve25519Key:e,sessionId:t,session:n})}countEndToEndInboundGroupSessions(){var e=this;return o(function*(){var t=0;return yield e.doTxn(`readonly`,[$.STORE_INBOUND_GROUP_SESSIONS],e=>{var n=e.objectStore($.STORE_INBOUND_GROUP_SESSIONS).count();n.onsuccess=()=>{t=n.result}}),t})()}getEndToEndInboundGroupSessionsBatch(){var e=this;return o(function*(){var t=[];return yield e.doTxn(`readonly`,[$.STORE_INBOUND_GROUP_SESSIONS,$.STORE_BACKUP],e=>{var n=e.objectStore($.STORE_INBOUND_GROUP_SESSIONS),r=e.objectStore($.STORE_BACKUP),i=n.openCursor();i.onsuccess=function(){try{var n=i.result;if(n){var a=r.get(n.key);a.onsuccess=()=>{t.push({senderKey:n.value.senderCurve25519Key,sessionId:n.value.sessionId,sessionData:n.value.session,needsBackup:a.result!==void 0}),t.length<50&&n.continue()}}}catch(t){yR(e,t)}}}),t.length===0?null:t})()}deleteEndToEndInboundGroupSessionsBatch(e){var t=this;return o(function*(){yield t.doTxn(`readwrite`,[$.STORE_INBOUND_GROUP_SESSIONS],function(){var t=o(function*(t){try{var n=t.objectStore($.STORE_INBOUND_GROUP_SESSIONS),r=function*(){var e=n.delete([i,a]);yield new Promise(t=>{e.onsuccess=t})};for(var{senderKey:i,sessionId:a}of e)yield*r()}catch(e){yR(t,e)}});return function(e){return t.apply(this,arguments)}}())})()}getEndToEndDeviceData(e,t){var n=e.objectStore(`device_data`).get(`-`);n.onsuccess=function(){try{t(n.result||null)}catch(t){yR(e,t)}}}getEndToEndRooms(e,t){var n={},r=e.objectStore(`rooms`).openCursor();r.onsuccess=function(){var i=r.result;if(i)n[i.key]=i.value,i.continue();else try{t(n)}catch(t){yR(e,t)}}}markSessionsNeedingBackup(e,t){var n=this;return o(function*(){t||=n.db.transaction(`sessions_needing_backup`,`readwrite`);var r=t.objectStore(`sessions_needing_backup`);yield Promise.all(e.map(e=>new Promise((t,n)=>{var i=r.put({senderCurve25519Key:e.senderKey,sessionId:e.sessionId});i.onsuccess=t,i.onerror=n})))})()}doTxn(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:T,i,a;if(pR){var o=this.nextTxnId++;i=Date.now(),a=`${e} crypto store transaction ${o} in ${t}`,r.debug(`Starting ${a}`)}var s=this.db.transaction(t,e),c=bR(s),l=n(s);return pR&&c.then(()=>{var e=Date.now()-i;r.debug(`Finished ${a}, took ${e} ms`)},()=>{var e=Date.now()-i;r.error(`Failed ${a}, took ${e} ms`)}),c.then(()=>l)}},hR=[e=>{vR(e)},e=>{e.createObjectStore(`account`)},e=>{e.createObjectStore(`sessions`,{keyPath:[`deviceKey`,`sessionId`]}).createIndex(`deviceKey`,`deviceKey`)},e=>{e.createObjectStore(`inbound_group_sessions`,{keyPath:[`senderCurve25519Key`,`sessionId`]})},e=>{e.createObjectStore(`device_data`)},e=>{e.createObjectStore(`rooms`)},e=>{e.createObjectStore(`sessions_needing_backup`,{keyPath:[`senderCurve25519Key`,`sessionId`]})},e=>{e.createObjectStore(`inbound_group_sessions_withheld`,{keyPath:[`senderCurve25519Key`,`sessionId`]})},e=>{e.createObjectStore(`session_problems`,{keyPath:[`deviceKey`,`time`]}).createIndex(`deviceKey`,`deviceKey`),e.createObjectStore(`notified_error_devices`,{keyPath:[`userId`,`deviceId`]})},e=>{e.createObjectStore(`shared_history_inbound_group_sessions`,{keyPath:[`roomId`]})},e=>{e.createObjectStore(`parked_shared_history`,{keyPath:[`roomId`]})}],gR=hR.length;function _R(e,t){T.log(`Upgrading IndexedDBCryptoStore from version ${t} to ${gR}`),hR.forEach((n,r)=>{t<=r&&n(e)})}function vR(e){var t=e.createObjectStore(`outgoingRoomKeyRequests`,{keyPath:`requestId`});t.createIndex(`session`,[`requestBody.room_id`,`requestBody.session_id`]),t.createIndex(`state`,`state`)}function yR(e,t){e._mx_abortexception=t;try{e.abort()}catch{}}function bR(e){return new Promise((t,n)=>{e.oncomplete=()=>{e._mx_abortexception!==void 0&&n(e._mx_abortexception),t(null)},e.onerror=t=>{e._mx_abortexception===void 0?(T.log(`Error performing indexeddb txn`,t),n(e.error)):n(e._mx_abortexception)},e.onabort=t=>{e._mx_abortexception===void 0?(T.log(`Error performing indexeddb txn`,t),n(e.error)):n(e._mx_abortexception)}})}var $=class e{static exists(e,t){return ZL(e,t)}static existsAndIsNotMigrated(t,n){return new Promise((r,i)=>{var a=!0,o=t.open(n);o.onupgradeneeded=()=>{a=!1},o.onblocked=()=>i(o.error),o.onsuccess=()=>{var s=o.result;if(!a)s.close(),t.deleteDatabase(n),r(!1);else{var c=s.transaction([e.STORE_ACCOUNT],`readonly`).objectStore(e.STORE_ACCOUNT).get(nD);c.onsuccess=()=>{r((c.result??rD.NOT_STARTED)===rD.NOT_STARTED)},c.onerror=()=>{i(c.error)},s.close()}},o.onerror=()=>i(o.error)})}constructor(e,t){this.indexedDB=e,this.dbName=t,u(this,`backendPromise`,void 0),u(this,`backend`,void 0)}containsData(){var t=this;return o(function*(){return e.exists(t.indexedDB,t.dbName)})()}startup(){return this.backendPromise||=new Promise((e,t)=>{if(!this.indexedDB){t(Error(`no indexeddb support available`));return}T.log(`connecting to indexeddb ${this.dbName}`);var n=this.indexedDB.open(this.dbName,gR);n.onupgradeneeded=e=>{var t=n.result,r=e.oldVersion;_R(t,r)},n.onblocked=()=>{T.log(`can't yet open IndexedDBCryptoStore because it is open elsewhere`)},n.onerror=e=>{T.log(`Error connecting to indexeddb`,e),t(n.error)},n.onsuccess=()=>{var t=n.result;T.log(`connected to indexeddb ${this.dbName}`),e(new mR(t))}}).then(t=>t.doTxn(`readonly`,[e.STORE_INBOUND_GROUP_SESSIONS,e.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],e=>{t.getEndToEndInboundGroupSession(``,``,e,()=>{})}).then(()=>t)).catch(e=>{if(e.name===`VersionError`)throw T.warn(`Crypto DB is too new for us to use!`,e),new tF(eF.TooNew);T.warn(`unable to connect to indexeddb ${this.dbName}: falling back to localStorage store: ${e}`);try{if(!(globalThis.localStorage instanceof Storage))throw Error(`localStorage is not available`);return new uR(globalThis.localStorage)}catch(e){return T.warn(`Unable to open localStorage: falling back to in-memory store: ${e}`),new cD}}).then(e=>(this.backend=e,e)),this.backendPromise}deleteAllData(){return new Promise((e,t)=>{if(!this.indexedDB){t(Error(`no indexeddb support available`));return}T.log(`Removing indexeddb instance: ${this.dbName}`);var n=this.indexedDB.deleteDatabase(this.dbName);n.onblocked=()=>{T.log(`can't yet delete IndexedDBCryptoStore because it is open elsewhere`)},n.onerror=e=>{T.log(`Error deleting data from indexeddb`,e),t(n.error)},n.onsuccess=()=>{T.log(`Removed indexeddb instance: ${this.dbName}`),e()}}).catch(e=>{T.warn(`unable to delete IndexedDBCryptoStore: ${e}`)})}getMigrationState(){return this.backend.getMigrationState()}setMigrationState(e){return this.backend.setMigrationState(e)}getAccount(e,t){this.backend.getAccount(e,t)}storeAccount(e,t){this.backend.storeAccount(e,t)}getCrossSigningKeys(e,t){this.backend.getCrossSigningKeys(e,t)}getSecretStorePrivateKey(e,t,n){this.backend.getSecretStorePrivateKey(e,t,n)}storeSecretStorePrivateKey(e,t,n){this.backend.storeSecretStorePrivateKey(e,t,n)}countEndToEndSessions(e,t){this.backend.countEndToEndSessions(e,t)}getEndToEndSession(e,t,n,r){this.backend.getEndToEndSession(e,t,n,r)}getEndToEndSessions(e,t,n){this.backend.getEndToEndSessions(e,t,n)}storeEndToEndSession(e,t,n,r){this.backend.storeEndToEndSession(e,t,n,r)}countEndToEndInboundGroupSessions(){return this.backend.countEndToEndInboundGroupSessions()}getEndToEndSessionsBatch(){return this.backend.getEndToEndSessionsBatch()}deleteEndToEndSessionsBatch(e){return this.backend.deleteEndToEndSessionsBatch(e)}getEndToEndInboundGroupSession(e,t,n,r){this.backend.getEndToEndInboundGroupSession(e,t,n,r)}storeEndToEndInboundGroupSession(e,t,n,r){this.backend.storeEndToEndInboundGroupSession(e,t,n,r)}getEndToEndInboundGroupSessionsBatch(){return this.backend.getEndToEndInboundGroupSessionsBatch()}deleteEndToEndInboundGroupSessionsBatch(e){return this.backend.deleteEndToEndInboundGroupSessionsBatch(e)}getEndToEndRooms(e,t){this.backend.getEndToEndRooms(e,t)}markSessionsNeedingBackup(e,t){return this.backend.markSessionsNeedingBackup(e,t)}doTxn(e,t,n,r){return this.backend.doTxn(e,t,n,r)}};u($,`STORE_ACCOUNT`,`account`),u($,`STORE_SESSIONS`,`sessions`),u($,`STORE_INBOUND_GROUP_SESSIONS`,`inbound_group_sessions`),u($,`STORE_INBOUND_GROUP_SESSIONS_WITHHELD`,`inbound_group_sessions_withheld`),u($,`STORE_SHARED_HISTORY_INBOUND_GROUP_SESSIONS`,`shared_history_inbound_group_sessions`),u($,`STORE_PARKED_SHARED_HISTORY`,`parked_shared_history`),u($,`STORE_DEVICE_DATA`,`device_data`),u($,`STORE_ROOMS`,`rooms`),u($,`STORE_BACKUP`,`sessions_needing_backup`);export{wI as $,Sk as $n,kD as $r,VM as $t,gL as A,kA as An,UD as Ar,qN as At,QI as B,nA as Bn,ID as Br,fN as Bt,bL as C,rE as Ci,ZA as Cn,TO as Cr,vP as Ct,pL as D,u as Di,IA as Dn,A as Dr,aP as Dt,fL as E,C as Ei,I as En,k as Er,uP as Et,CL as F,fA as Fn,E as Fr,kN as Ft,VI as G,P as Gn,BD as Gr,cN as Gt,JI as H,Yk as Hn,wD as Hr,dN as Ht,rL as I,pA as In,RD as Ir,ON as It,jI as J,Gk as Jn,MD as Jr,rN as Jt,HI as K,Jk as Kn,zD as Kr,oN as Kt,$I as L,Qk as Ln,ND as Lr,hN as Lt,hL as M,DA as Mn,VD as Mr,WN as Mt,SL as N,CA as Nn,O as Nr,BN as Nt,dL as O,o as Oi,L as On,vO as Or,iP as Ot,wL as P,F as Pn,FD as Pr,NN as Pt,NI as Q,wk as Qn,AD as Qr,eN as Qt,XI as R,iA as Rn,CD as Rr,gN as Rt,uL as S,nE as Si,dj as Sn,wO as Sr,bP as St,_L as T,iE as Ti,R as Tn,yO as Tr,fP as Tt,WI as U,Wk as Un,TD as Ur,uN as Ut,qI as V,Zk as Vn,D as Vr,mN as Vt,BI as W,Hk as Wn,ED as Wr,lN as Wt,FI as X,Uk as Xn,DD as Xr,nN as Xt,AI as Y,Kk as Yn,OD as Yr,iN as Yt,MI as Z,N as Zn,jD as Zr,tN as Zt,DL as _,SE as _i,Ej as _n,FO as _r,wP as _t,YL as a,T as ai,BM as an,yk as ar,tF as at,FL as b,sE as bi,vj as bn,EO as br,SP as bt,zL as c,rD as ci,vM as cn,lk as cr,iF as ct,IL as d,_E as di,V as dn,UO as dr,NP as dt,xD as ei,zM as en,Tk as er,kF as et,NL as f,w as fi,fM as fn,BO as fr,MP as ft,AL as g,ZE as gi,Tj as gn,HO as gr,hP as gt,X as h,FE as hi,Fj as hn,VO as hr,xP as ht,XL as i,_D as ii,RM as in,bk as ir,rF as it,mL as j,EA as jn,HD as jr,GN as jt,cL as k,RA as kn,_O as kr,oP as kt,BL as l,tD as li,B as ln,ck as lr,aF as lt,OL as m,kE as mi,rM as mn,zO as mr,_P as mt,uR as n,yD as ni,HM as nn,_k as nr,sF as nt,KL as o,pD as oi,W as on,uk as or,eF as ot,ML as p,JE as pi,uM as pn,RO as pr,AP as pt,RI as q,qk as qn,PD as qr,aN as qt,ZL as r,vD as ri,UM as rn,vk as rr,oF as rt,Q as s,cD as si,IM as sn,M as sr,nF as st,$ as t,SD as ti,LM as tn,xk as tr,xF as tt,Z as u,vE as ui,lM as un,WO as ur,ZP as ut,PL as v,xE as vi,xj as vn,kO as vr,gP as vt,lL as w,aE as wi,ej as wn,xO as wr,mP as wt,Y as x,oE as xi,yj as xn,j as xr,CP as xt,kL as y,OE as yi,_j as yn,OO as yr,yP as yt,YI as z,$k as zn,LD as zr,pN as zt};
|
|
17
|
-
//# sourceMappingURL=indexeddb-crypto-store-
|
|
17
|
+
//# sourceMappingURL=indexeddb-crypto-store-DDjyMFqS.js.map
|