extwee 2.3.5 → 2.3.7

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.
@@ -1 +1 @@
1
- !function(r,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Extwee=e():r.Extwee=e()}(this,(()=>(()=>{"use strict";var r={d:(e,t)=>{for(var a in t)r.o(t,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},o:(r,e)=>Object.prototype.hasOwnProperty.call(r,e)},e={};r.d(e,{default:()=>M});var t=function(){return t=Object.assign||function(r){for(var e,t=1,a=arguments.length;t<a;t++)for(var o in e=arguments[t])Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=e[o]);return r},t.apply(this,arguments)};function a(r,e){for(var a={},o={},s=r.split("~~"),i=!1,n=0;s.length>n;n++){for(var l=s[n].split("~"),c=0;c<l.length;c+=2){var u=l[c],p=l[c+1],g="&"+u+";";a[g]=p,i&&(a["&"+u]=p),o[p]=g}i=!0}return e?{entities:t(t({},a),e.entities),characters:t(t({},o),e.characters)}:{entities:a,characters:o}}var o={xml:/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,html4:/&notin;|&(?:nbsp|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|Atilde|Auml|Aring|AElig|Ccedil|Egrave|Eacute|Ecirc|Euml|Igrave|Iacute|Icirc|Iuml|ETH|Ntilde|Ograve|Oacute|Ocirc|Otilde|Ouml|times|Oslash|Ugrave|Uacute|Ucirc|Uuml|Yacute|THORN|szlig|agrave|aacute|acirc|atilde|auml|aring|aelig|ccedil|egrave|eacute|ecirc|euml|igrave|iacute|icirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|quot|amp|lt|gt|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,html5:/&centerdot;|&copysr;|&divideontimes;|&gtcc;|&gtcir;|&gtdot;|&gtlPar;|&gtquest;|&gtrapprox;|&gtrarr;|&gtrdot;|&gtreqless;|&gtreqqless;|&gtrless;|&gtrsim;|&ltcc;|&ltcir;|&ltdot;|&lthree;|&ltimes;|&ltlarr;|&ltquest;|&ltrPar;|&ltri;|&ltrie;|&ltrif;|&notin;|&notinE;|&notindot;|&notinva;|&notinvb;|&notinvc;|&notni;|&notniva;|&notnivb;|&notnivc;|&parallel;|&timesb;|&timesbar;|&timesd;|&(?:AElig|AMP|Aacute|Acirc|Agrave|Aring|Atilde|Auml|COPY|Ccedil|ETH|Eacute|Ecirc|Egrave|Euml|GT|Iacute|Icirc|Igrave|Iuml|LT|Ntilde|Oacute|Ocirc|Ograve|Oslash|Otilde|Ouml|QUOT|REG|THORN|Uacute|Ucirc|Ugrave|Uuml|Yacute|aacute|acirc|acute|aelig|agrave|amp|aring|atilde|auml|brvbar|ccedil|cedil|cent|copy|curren|deg|divide|eacute|ecirc|egrave|eth|euml|frac12|frac14|frac34|gt|iacute|icirc|iexcl|igrave|iquest|iuml|laquo|lt|macr|micro|middot|nbsp|not|ntilde|oacute|ocirc|ograve|ordf|ordm|oslash|otilde|ouml|para|plusmn|pound|quot|raquo|reg|sect|shy|sup1|sup2|sup3|szlig|thorn|times|uacute|ucirc|ugrave|uml|uuml|yacute|yen|yuml|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g},s={};s.xml=a("lt~<~gt~>~quot~\"~apos~'~amp~&"),s.html4=a("apos~'~OElig~Œ~oelig~œ~Scaron~Š~scaron~š~Yuml~Ÿ~circ~ˆ~tilde~˜~ensp~ ~emsp~ ~thinsp~ ~zwnj~‌~zwj~‍~lrm~‎~rlm~‏~ndash~–~mdash~—~lsquo~‘~rsquo~’~sbquo~‚~ldquo~“~rdquo~”~bdquo~„~dagger~†~Dagger~‡~permil~‰~lsaquo~‹~rsaquo~›~euro~€~fnof~ƒ~Alpha~Α~Beta~Β~Gamma~Γ~Delta~Δ~Epsilon~Ε~Zeta~Ζ~Eta~Η~Theta~Θ~Iota~Ι~Kappa~Κ~Lambda~Λ~Mu~Μ~Nu~Ν~Xi~Ξ~Omicron~Ο~Pi~Π~Rho~Ρ~Sigma~Σ~Tau~Τ~Upsilon~Υ~Phi~Φ~Chi~Χ~Psi~Ψ~Omega~Ω~alpha~α~beta~β~gamma~γ~delta~δ~epsilon~ε~zeta~ζ~eta~η~theta~θ~iota~ι~kappa~κ~lambda~λ~mu~μ~nu~ν~xi~ξ~omicron~ο~pi~π~rho~ρ~sigmaf~ς~sigma~σ~tau~τ~upsilon~υ~phi~φ~chi~χ~psi~ψ~omega~ω~thetasym~ϑ~upsih~ϒ~piv~ϖ~bull~•~hellip~…~prime~′~Prime~″~oline~‾~frasl~⁄~weierp~℘~image~ℑ~real~ℜ~trade~™~alefsym~ℵ~larr~←~uarr~↑~rarr~→~darr~↓~harr~↔~crarr~↵~lArr~⇐~uArr~⇑~rArr~⇒~dArr~⇓~hArr~⇔~forall~∀~part~∂~exist~∃~empty~∅~nabla~∇~isin~∈~notin~∉~ni~∋~prod~∏~sum~∑~minus~−~lowast~∗~radic~√~prop~∝~infin~∞~ang~∠~and~∧~or~∨~cap~∩~cup~∪~int~∫~there4~∴~sim~∼~cong~≅~asymp~≈~ne~≠~equiv~≡~le~≤~ge~≥~sub~⊂~sup~⊃~nsub~⊄~sube~⊆~supe~⊇~oplus~⊕~otimes~⊗~perp~⊥~sdot~⋅~lceil~⌈~rceil~⌉~lfloor~⌊~rfloor~⌋~lang~〈~rang~〉~loz~◊~spades~♠~clubs~♣~hearts~♥~diams~♦~~nbsp~ ~iexcl~¡~cent~¢~pound~£~curren~¤~yen~¥~brvbar~¦~sect~§~uml~¨~copy~©~ordf~ª~laquo~«~not~¬~shy~­~reg~®~macr~¯~deg~°~plusmn~±~sup2~²~sup3~³~acute~´~micro~µ~para~¶~middot~·~cedil~¸~sup1~¹~ordm~º~raquo~»~frac14~¼~frac12~½~frac34~¾~iquest~¿~Agrave~À~Aacute~Á~Acirc~Â~Atilde~Ã~Auml~Ä~Aring~Å~AElig~Æ~Ccedil~Ç~Egrave~È~Eacute~É~Ecirc~Ê~Euml~Ë~Igrave~Ì~Iacute~Í~Icirc~Î~Iuml~Ï~ETH~Ð~Ntilde~Ñ~Ograve~Ò~Oacute~Ó~Ocirc~Ô~Otilde~Õ~Ouml~Ö~times~×~Oslash~Ø~Ugrave~Ù~Uacute~Ú~Ucirc~Û~Uuml~Ü~Yacute~Ý~THORN~Þ~szlig~ß~agrave~à~aacute~á~acirc~â~atilde~ã~auml~ä~aring~å~aelig~æ~ccedil~ç~egrave~è~eacute~é~ecirc~ê~euml~ë~igrave~ì~iacute~í~icirc~î~iuml~ï~eth~ð~ntilde~ñ~ograve~ò~oacute~ó~ocirc~ô~otilde~õ~ouml~ö~divide~÷~oslash~ø~ugrave~ù~uacute~ú~ucirc~û~uuml~ü~yacute~ý~thorn~þ~yuml~ÿ~quot~\"~amp~&~lt~<~gt~>"),s.html5=a('Abreve~Ă~Acy~А~Afr~𝔄~Amacr~Ā~And~⩓~Aogon~Ą~Aopf~𝔸~ApplyFunction~⁡~Ascr~𝒜~Assign~≔~Backslash~∖~Barv~⫧~Barwed~⌆~Bcy~Б~Because~∵~Bernoullis~ℬ~Bfr~𝔅~Bopf~𝔹~Breve~˘~Bscr~ℬ~Bumpeq~≎~CHcy~Ч~Cacute~Ć~Cap~⋒~CapitalDifferentialD~ⅅ~Cayleys~ℭ~Ccaron~Č~Ccirc~Ĉ~Cconint~∰~Cdot~Ċ~Cedilla~¸~CenterDot~·~Cfr~ℭ~CircleDot~⊙~CircleMinus~⊖~CirclePlus~⊕~CircleTimes~⊗~ClockwiseContourIntegral~∲~CloseCurlyDoubleQuote~”~CloseCurlyQuote~’~Colon~∷~Colone~⩴~Congruent~≡~Conint~∯~ContourIntegral~∮~Copf~ℂ~Coproduct~∐~CounterClockwiseContourIntegral~∳~Cross~⨯~Cscr~𝒞~Cup~⋓~CupCap~≍~DD~ⅅ~DDotrahd~⤑~DJcy~Ђ~DScy~Ѕ~DZcy~Џ~Darr~↡~Dashv~⫤~Dcaron~Ď~Dcy~Д~Del~∇~Dfr~𝔇~DiacriticalAcute~´~DiacriticalDot~˙~DiacriticalDoubleAcute~˝~DiacriticalGrave~`~DiacriticalTilde~˜~Diamond~⋄~DifferentialD~ⅆ~Dopf~𝔻~Dot~¨~DotDot~⃜~DotEqual~≐~DoubleContourIntegral~∯~DoubleDot~¨~DoubleDownArrow~⇓~DoubleLeftArrow~⇐~DoubleLeftRightArrow~⇔~DoubleLeftTee~⫤~DoubleLongLeftArrow~⟸~DoubleLongLeftRightArrow~⟺~DoubleLongRightArrow~⟹~DoubleRightArrow~⇒~DoubleRightTee~⊨~DoubleUpArrow~⇑~DoubleUpDownArrow~⇕~DoubleVerticalBar~∥~DownArrow~↓~DownArrowBar~⤓~DownArrowUpArrow~⇵~DownBreve~̑~DownLeftRightVector~⥐~DownLeftTeeVector~⥞~DownLeftVector~↽~DownLeftVectorBar~⥖~DownRightTeeVector~⥟~DownRightVector~⇁~DownRightVectorBar~⥗~DownTee~⊤~DownTeeArrow~↧~Downarrow~⇓~Dscr~𝒟~Dstrok~Đ~ENG~Ŋ~Ecaron~Ě~Ecy~Э~Edot~Ė~Efr~𝔈~Element~∈~Emacr~Ē~EmptySmallSquare~◻~EmptyVerySmallSquare~▫~Eogon~Ę~Eopf~𝔼~Equal~⩵~EqualTilde~≂~Equilibrium~⇌~Escr~ℰ~Esim~⩳~Exists~∃~ExponentialE~ⅇ~Fcy~Ф~Ffr~𝔉~FilledSmallSquare~◼~FilledVerySmallSquare~▪~Fopf~𝔽~ForAll~∀~Fouriertrf~ℱ~Fscr~ℱ~GJcy~Ѓ~Gammad~Ϝ~Gbreve~Ğ~Gcedil~Ģ~Gcirc~Ĝ~Gcy~Г~Gdot~Ġ~Gfr~𝔊~Gg~⋙~Gopf~𝔾~GreaterEqual~≥~GreaterEqualLess~⋛~GreaterFullEqual~≧~GreaterGreater~⪢~GreaterLess~≷~GreaterSlantEqual~⩾~GreaterTilde~≳~Gscr~𝒢~Gt~≫~HARDcy~Ъ~Hacek~ˇ~Hat~^~Hcirc~Ĥ~Hfr~ℌ~HilbertSpace~ℋ~Hopf~ℍ~HorizontalLine~─~Hscr~ℋ~Hstrok~Ħ~HumpDownHump~≎~HumpEqual~≏~IEcy~Е~IJlig~IJ~IOcy~Ё~Icy~И~Idot~İ~Ifr~ℑ~Im~ℑ~Imacr~Ī~ImaginaryI~ⅈ~Implies~⇒~Int~∬~Integral~∫~Intersection~⋂~InvisibleComma~⁣~InvisibleTimes~⁢~Iogon~Į~Iopf~𝕀~Iscr~ℐ~Itilde~Ĩ~Iukcy~І~Jcirc~Ĵ~Jcy~Й~Jfr~𝔍~Jopf~𝕁~Jscr~𝒥~Jsercy~Ј~Jukcy~Є~KHcy~Х~KJcy~Ќ~Kcedil~Ķ~Kcy~К~Kfr~𝔎~Kopf~𝕂~Kscr~𝒦~LJcy~Љ~Lacute~Ĺ~Lang~⟪~Laplacetrf~ℒ~Larr~↞~Lcaron~Ľ~Lcedil~Ļ~Lcy~Л~LeftAngleBracket~⟨~LeftArrow~←~LeftArrowBar~⇤~LeftArrowRightArrow~⇆~LeftCeiling~⌈~LeftDoubleBracket~⟦~LeftDownTeeVector~⥡~LeftDownVector~⇃~LeftDownVectorBar~⥙~LeftFloor~⌊~LeftRightArrow~↔~LeftRightVector~⥎~LeftTee~⊣~LeftTeeArrow~↤~LeftTeeVector~⥚~LeftTriangle~⊲~LeftTriangleBar~⧏~LeftTriangleEqual~⊴~LeftUpDownVector~⥑~LeftUpTeeVector~⥠~LeftUpVector~↿~LeftUpVectorBar~⥘~LeftVector~↼~LeftVectorBar~⥒~Leftarrow~⇐~Leftrightarrow~⇔~LessEqualGreater~⋚~LessFullEqual~≦~LessGreater~≶~LessLess~⪡~LessSlantEqual~⩽~LessTilde~≲~Lfr~𝔏~Ll~⋘~Lleftarrow~⇚~Lmidot~Ŀ~LongLeftArrow~⟵~LongLeftRightArrow~⟷~LongRightArrow~⟶~Longleftarrow~⟸~Longleftrightarrow~⟺~Longrightarrow~⟹~Lopf~𝕃~LowerLeftArrow~↙~LowerRightArrow~↘~Lscr~ℒ~Lsh~↰~Lstrok~Ł~Lt~≪~Map~⤅~Mcy~М~MediumSpace~ ~Mellintrf~ℳ~Mfr~𝔐~MinusPlus~∓~Mopf~𝕄~Mscr~ℳ~NJcy~Њ~Nacute~Ń~Ncaron~Ň~Ncedil~Ņ~Ncy~Н~NegativeMediumSpace~​~NegativeThickSpace~​~NegativeThinSpace~​~NegativeVeryThinSpace~​~NestedGreaterGreater~≫~NestedLessLess~≪~NewLine~\n~Nfr~𝔑~NoBreak~⁠~NonBreakingSpace~ ~Nopf~ℕ~Not~⫬~NotCongruent~≢~NotCupCap~≭~NotDoubleVerticalBar~∦~NotElement~∉~NotEqual~≠~NotEqualTilde~≂̸~NotExists~∄~NotGreater~≯~NotGreaterEqual~≱~NotGreaterFullEqual~≧̸~NotGreaterGreater~≫̸~NotGreaterLess~≹~NotGreaterSlantEqual~⩾̸~NotGreaterTilde~≵~NotHumpDownHump~≎̸~NotHumpEqual~≏̸~NotLeftTriangle~⋪~NotLeftTriangleBar~⧏̸~NotLeftTriangleEqual~⋬~NotLess~≮~NotLessEqual~≰~NotLessGreater~≸~NotLessLess~≪̸~NotLessSlantEqual~⩽̸~NotLessTilde~≴~NotNestedGreaterGreater~⪢̸~NotNestedLessLess~⪡̸~NotPrecedes~⊀~NotPrecedesEqual~⪯̸~NotPrecedesSlantEqual~⋠~NotReverseElement~∌~NotRightTriangle~⋫~NotRightTriangleBar~⧐̸~NotRightTriangleEqual~⋭~NotSquareSubset~⊏̸~NotSquareSubsetEqual~⋢~NotSquareSuperset~⊐̸~NotSquareSupersetEqual~⋣~NotSubset~⊂⃒~NotSubsetEqual~⊈~NotSucceeds~⊁~NotSucceedsEqual~⪰̸~NotSucceedsSlantEqual~⋡~NotSucceedsTilde~≿̸~NotSuperset~⊃⃒~NotSupersetEqual~⊉~NotTilde~≁~NotTildeEqual~≄~NotTildeFullEqual~≇~NotTildeTilde~≉~NotVerticalBar~∤~Nscr~𝒩~Ocy~О~Odblac~Ő~Ofr~𝔒~Omacr~Ō~Oopf~𝕆~OpenCurlyDoubleQuote~“~OpenCurlyQuote~‘~Or~⩔~Oscr~𝒪~Otimes~⨷~OverBar~‾~OverBrace~⏞~OverBracket~⎴~OverParenthesis~⏜~PartialD~∂~Pcy~П~Pfr~𝔓~PlusMinus~±~Poincareplane~ℌ~Popf~ℙ~Pr~⪻~Precedes~≺~PrecedesEqual~⪯~PrecedesSlantEqual~≼~PrecedesTilde~≾~Product~∏~Proportion~∷~Proportional~∝~Pscr~𝒫~Qfr~𝔔~Qopf~ℚ~Qscr~𝒬~RBarr~⤐~Racute~Ŕ~Rang~⟫~Rarr~↠~Rarrtl~⤖~Rcaron~Ř~Rcedil~Ŗ~Rcy~Р~Re~ℜ~ReverseElement~∋~ReverseEquilibrium~⇋~ReverseUpEquilibrium~⥯~Rfr~ℜ~RightAngleBracket~⟩~RightArrow~→~RightArrowBar~⇥~RightArrowLeftArrow~⇄~RightCeiling~⌉~RightDoubleBracket~⟧~RightDownTeeVector~⥝~RightDownVector~⇂~RightDownVectorBar~⥕~RightFloor~⌋~RightTee~⊢~RightTeeArrow~↦~RightTeeVector~⥛~RightTriangle~⊳~RightTriangleBar~⧐~RightTriangleEqual~⊵~RightUpDownVector~⥏~RightUpTeeVector~⥜~RightUpVector~↾~RightUpVectorBar~⥔~RightVector~⇀~RightVectorBar~⥓~Rightarrow~⇒~Ropf~ℝ~RoundImplies~⥰~Rrightarrow~⇛~Rscr~ℛ~Rsh~↱~RuleDelayed~⧴~SHCHcy~Щ~SHcy~Ш~SOFTcy~Ь~Sacute~Ś~Sc~⪼~Scedil~Ş~Scirc~Ŝ~Scy~С~Sfr~𝔖~ShortDownArrow~↓~ShortLeftArrow~←~ShortRightArrow~→~ShortUpArrow~↑~SmallCircle~∘~Sopf~𝕊~Sqrt~√~Square~□~SquareIntersection~⊓~SquareSubset~⊏~SquareSubsetEqual~⊑~SquareSuperset~⊐~SquareSupersetEqual~⊒~SquareUnion~⊔~Sscr~𝒮~Star~⋆~Sub~⋐~Subset~⋐~SubsetEqual~⊆~Succeeds~≻~SucceedsEqual~⪰~SucceedsSlantEqual~≽~SucceedsTilde~≿~SuchThat~∋~Sum~∑~Sup~⋑~Superset~⊃~SupersetEqual~⊇~Supset~⋑~TRADE~™~TSHcy~Ћ~TScy~Ц~Tab~\t~Tcaron~Ť~Tcedil~Ţ~Tcy~Т~Tfr~𝔗~Therefore~∴~ThickSpace~  ~ThinSpace~ ~Tilde~∼~TildeEqual~≃~TildeFullEqual~≅~TildeTilde~≈~Topf~𝕋~TripleDot~⃛~Tscr~𝒯~Tstrok~Ŧ~Uarr~↟~Uarrocir~⥉~Ubrcy~Ў~Ubreve~Ŭ~Ucy~У~Udblac~Ű~Ufr~𝔘~Umacr~Ū~UnderBar~_~UnderBrace~⏟~UnderBracket~⎵~UnderParenthesis~⏝~Union~⋃~UnionPlus~⊎~Uogon~Ų~Uopf~𝕌~UpArrow~↑~UpArrowBar~⤒~UpArrowDownArrow~⇅~UpDownArrow~↕~UpEquilibrium~⥮~UpTee~⊥~UpTeeArrow~↥~Uparrow~⇑~Updownarrow~⇕~UpperLeftArrow~↖~UpperRightArrow~↗~Upsi~ϒ~Uring~Ů~Uscr~𝒰~Utilde~Ũ~VDash~⊫~Vbar~⫫~Vcy~В~Vdash~⊩~Vdashl~⫦~Vee~⋁~Verbar~‖~Vert~‖~VerticalBar~∣~VerticalLine~|~VerticalSeparator~❘~VerticalTilde~≀~VeryThinSpace~ ~Vfr~𝔙~Vopf~𝕍~Vscr~𝒱~Vvdash~⊪~Wcirc~Ŵ~Wedge~⋀~Wfr~𝔚~Wopf~𝕎~Wscr~𝒲~Xfr~𝔛~Xopf~𝕏~Xscr~𝒳~YAcy~Я~YIcy~Ї~YUcy~Ю~Ycirc~Ŷ~Ycy~Ы~Yfr~𝔜~Yopf~𝕐~Yscr~𝒴~ZHcy~Ж~Zacute~Ź~Zcaron~Ž~Zcy~З~Zdot~Ż~ZeroWidthSpace~​~Zfr~ℨ~Zopf~ℤ~Zscr~𝒵~abreve~ă~ac~∾~acE~∾̳~acd~∿~acy~а~af~⁡~afr~𝔞~aleph~ℵ~amacr~ā~amalg~⨿~andand~⩕~andd~⩜~andslope~⩘~andv~⩚~ange~⦤~angle~∠~angmsd~∡~angmsdaa~⦨~angmsdab~⦩~angmsdac~⦪~angmsdad~⦫~angmsdae~⦬~angmsdaf~⦭~angmsdag~⦮~angmsdah~⦯~angrt~∟~angrtvb~⊾~angrtvbd~⦝~angsph~∢~angst~Å~angzarr~⍼~aogon~ą~aopf~𝕒~ap~≈~apE~⩰~apacir~⩯~ape~≊~apid~≋~approx~≈~approxeq~≊~ascr~𝒶~ast~*~asympeq~≍~awconint~∳~awint~⨑~bNot~⫭~backcong~≌~backepsilon~϶~backprime~‵~backsim~∽~backsimeq~⋍~barvee~⊽~barwed~⌅~barwedge~⌅~bbrk~⎵~bbrktbrk~⎶~bcong~≌~bcy~б~becaus~∵~because~∵~bemptyv~⦰~bepsi~϶~bernou~ℬ~beth~ℶ~between~≬~bfr~𝔟~bigcap~⋂~bigcirc~◯~bigcup~⋃~bigodot~⨀~bigoplus~⨁~bigotimes~⨂~bigsqcup~⨆~bigstar~★~bigtriangledown~▽~bigtriangleup~△~biguplus~⨄~bigvee~⋁~bigwedge~⋀~bkarow~⤍~blacklozenge~⧫~blacksquare~▪~blacktriangle~▴~blacktriangledown~▾~blacktriangleleft~◂~blacktriangleright~▸~blank~␣~blk12~▒~blk14~░~blk34~▓~block~█~bne~=⃥~bnequiv~≡⃥~bnot~⌐~bopf~𝕓~bot~⊥~bottom~⊥~bowtie~⋈~boxDL~╗~boxDR~╔~boxDl~╖~boxDr~╓~boxH~═~boxHD~╦~boxHU~╩~boxHd~╤~boxHu~╧~boxUL~╝~boxUR~╚~boxUl~╜~boxUr~╙~boxV~║~boxVH~╬~boxVL~╣~boxVR~╠~boxVh~╫~boxVl~╢~boxVr~╟~boxbox~⧉~boxdL~╕~boxdR~╒~boxdl~┐~boxdr~┌~boxh~─~boxhD~╥~boxhU~╨~boxhd~┬~boxhu~┴~boxminus~⊟~boxplus~⊞~boxtimes~⊠~boxuL~╛~boxuR~╘~boxul~┘~boxur~└~boxv~│~boxvH~╪~boxvL~╡~boxvR~╞~boxvh~┼~boxvl~┤~boxvr~├~bprime~‵~breve~˘~bscr~𝒷~bsemi~⁏~bsim~∽~bsime~⋍~bsol~\\~bsolb~⧅~bsolhsub~⟈~bullet~•~bump~≎~bumpE~⪮~bumpe~≏~bumpeq~≏~cacute~ć~capand~⩄~capbrcup~⩉~capcap~⩋~capcup~⩇~capdot~⩀~caps~∩︀~caret~⁁~caron~ˇ~ccaps~⩍~ccaron~č~ccirc~ĉ~ccups~⩌~ccupssm~⩐~cdot~ċ~cemptyv~⦲~centerdot~·~cfr~𝔠~chcy~ч~check~✓~checkmark~✓~cir~○~cirE~⧃~circeq~≗~circlearrowleft~↺~circlearrowright~↻~circledR~®~circledS~Ⓢ~circledast~⊛~circledcirc~⊚~circleddash~⊝~cire~≗~cirfnint~⨐~cirmid~⫯~cirscir~⧂~clubsuit~♣~colon~:~colone~≔~coloneq~≔~comma~,~commat~@~comp~∁~compfn~∘~complement~∁~complexes~ℂ~congdot~⩭~conint~∮~copf~𝕔~coprod~∐~copysr~℗~cross~✗~cscr~𝒸~csub~⫏~csube~⫑~csup~⫐~csupe~⫒~ctdot~⋯~cudarrl~⤸~cudarrr~⤵~cuepr~⋞~cuesc~⋟~cularr~↶~cularrp~⤽~cupbrcap~⩈~cupcap~⩆~cupcup~⩊~cupdot~⊍~cupor~⩅~cups~∪︀~curarr~↷~curarrm~⤼~curlyeqprec~⋞~curlyeqsucc~⋟~curlyvee~⋎~curlywedge~⋏~curvearrowleft~↶~curvearrowright~↷~cuvee~⋎~cuwed~⋏~cwconint~∲~cwint~∱~cylcty~⌭~dHar~⥥~daleth~ℸ~dash~‐~dashv~⊣~dbkarow~⤏~dblac~˝~dcaron~ď~dcy~д~dd~ⅆ~ddagger~‡~ddarr~⇊~ddotseq~⩷~demptyv~⦱~dfisht~⥿~dfr~𝔡~dharl~⇃~dharr~⇂~diam~⋄~diamond~⋄~diamondsuit~♦~die~¨~digamma~ϝ~disin~⋲~div~÷~divideontimes~⋇~divonx~⋇~djcy~ђ~dlcorn~⌞~dlcrop~⌍~dollar~$~dopf~𝕕~dot~˙~doteq~≐~doteqdot~≑~dotminus~∸~dotplus~∔~dotsquare~⊡~doublebarwedge~⌆~downarrow~↓~downdownarrows~⇊~downharpoonleft~⇃~downharpoonright~⇂~drbkarow~⤐~drcorn~⌟~drcrop~⌌~dscr~𝒹~dscy~ѕ~dsol~⧶~dstrok~đ~dtdot~⋱~dtri~▿~dtrif~▾~duarr~⇵~duhar~⥯~dwangle~⦦~dzcy~џ~dzigrarr~⟿~eDDot~⩷~eDot~≑~easter~⩮~ecaron~ě~ecir~≖~ecolon~≕~ecy~э~edot~ė~ee~ⅇ~efDot~≒~efr~𝔢~eg~⪚~egs~⪖~egsdot~⪘~el~⪙~elinters~⏧~ell~ℓ~els~⪕~elsdot~⪗~emacr~ē~emptyset~∅~emptyv~∅~emsp13~ ~emsp14~ ~eng~ŋ~eogon~ę~eopf~𝕖~epar~⋕~eparsl~⧣~eplus~⩱~epsi~ε~epsiv~ϵ~eqcirc~≖~eqcolon~≕~eqsim~≂~eqslantgtr~⪖~eqslantless~⪕~equals~=~equest~≟~equivDD~⩸~eqvparsl~⧥~erDot~≓~erarr~⥱~escr~ℯ~esdot~≐~esim~≂~excl~!~expectation~ℰ~exponentiale~ⅇ~fallingdotseq~≒~fcy~ф~female~♀~ffilig~ffi~fflig~ff~ffllig~ffl~ffr~𝔣~filig~fi~fjlig~fj~flat~♭~fllig~fl~fltns~▱~fopf~𝕗~fork~⋔~forkv~⫙~fpartint~⨍~frac13~⅓~frac15~⅕~frac16~⅙~frac18~⅛~frac23~⅔~frac25~⅖~frac35~⅗~frac38~⅜~frac45~⅘~frac56~⅚~frac58~⅝~frac78~⅞~frown~⌢~fscr~𝒻~gE~≧~gEl~⪌~gacute~ǵ~gammad~ϝ~gap~⪆~gbreve~ğ~gcirc~ĝ~gcy~г~gdot~ġ~gel~⋛~geq~≥~geqq~≧~geqslant~⩾~ges~⩾~gescc~⪩~gesdot~⪀~gesdoto~⪂~gesdotol~⪄~gesl~⋛︀~gesles~⪔~gfr~𝔤~gg~≫~ggg~⋙~gimel~ℷ~gjcy~ѓ~gl~≷~glE~⪒~gla~⪥~glj~⪤~gnE~≩~gnap~⪊~gnapprox~⪊~gne~⪈~gneq~⪈~gneqq~≩~gnsim~⋧~gopf~𝕘~grave~`~gscr~ℊ~gsim~≳~gsime~⪎~gsiml~⪐~gtcc~⪧~gtcir~⩺~gtdot~⋗~gtlPar~⦕~gtquest~⩼~gtrapprox~⪆~gtrarr~⥸~gtrdot~⋗~gtreqless~⋛~gtreqqless~⪌~gtrless~≷~gtrsim~≳~gvertneqq~≩︀~gvnE~≩︀~hairsp~ ~half~½~hamilt~ℋ~hardcy~ъ~harrcir~⥈~harrw~↭~hbar~ℏ~hcirc~ĥ~heartsuit~♥~hercon~⊹~hfr~𝔥~hksearow~⤥~hkswarow~⤦~hoarr~⇿~homtht~∻~hookleftarrow~↩~hookrightarrow~↪~hopf~𝕙~horbar~―~hscr~𝒽~hslash~ℏ~hstrok~ħ~hybull~⁃~hyphen~‐~ic~⁣~icy~и~iecy~е~iff~⇔~ifr~𝔦~ii~ⅈ~iiiint~⨌~iiint~∭~iinfin~⧜~iiota~℩~ijlig~ij~imacr~ī~imagline~ℐ~imagpart~ℑ~imath~ı~imof~⊷~imped~Ƶ~in~∈~incare~℅~infintie~⧝~inodot~ı~intcal~⊺~integers~ℤ~intercal~⊺~intlarhk~⨗~intprod~⨼~iocy~ё~iogon~į~iopf~𝕚~iprod~⨼~iscr~𝒾~isinE~⋹~isindot~⋵~isins~⋴~isinsv~⋳~isinv~∈~it~⁢~itilde~ĩ~iukcy~і~jcirc~ĵ~jcy~й~jfr~𝔧~jmath~ȷ~jopf~𝕛~jscr~𝒿~jsercy~ј~jukcy~є~kappav~ϰ~kcedil~ķ~kcy~к~kfr~𝔨~kgreen~ĸ~khcy~х~kjcy~ќ~kopf~𝕜~kscr~𝓀~lAarr~⇚~lAtail~⤛~lBarr~⤎~lE~≦~lEg~⪋~lHar~⥢~lacute~ĺ~laemptyv~⦴~lagran~ℒ~langd~⦑~langle~⟨~lap~⪅~larrb~⇤~larrbfs~⤟~larrfs~⤝~larrhk~↩~larrlp~↫~larrpl~⤹~larrsim~⥳~larrtl~↢~lat~⪫~latail~⤙~late~⪭~lates~⪭︀~lbarr~⤌~lbbrk~❲~lbrace~{~lbrack~[~lbrke~⦋~lbrksld~⦏~lbrkslu~⦍~lcaron~ľ~lcedil~ļ~lcub~{~lcy~л~ldca~⤶~ldquor~„~ldrdhar~⥧~ldrushar~⥋~ldsh~↲~leftarrow~←~leftarrowtail~↢~leftharpoondown~↽~leftharpoonup~↼~leftleftarrows~⇇~leftrightarrow~↔~leftrightarrows~⇆~leftrightharpoons~⇋~leftrightsquigarrow~↭~leftthreetimes~⋋~leg~⋚~leq~≤~leqq~≦~leqslant~⩽~les~⩽~lescc~⪨~lesdot~⩿~lesdoto~⪁~lesdotor~⪃~lesg~⋚︀~lesges~⪓~lessapprox~⪅~lessdot~⋖~lesseqgtr~⋚~lesseqqgtr~⪋~lessgtr~≶~lesssim~≲~lfisht~⥼~lfr~𝔩~lg~≶~lgE~⪑~lhard~↽~lharu~↼~lharul~⥪~lhblk~▄~ljcy~љ~ll~≪~llarr~⇇~llcorner~⌞~llhard~⥫~lltri~◺~lmidot~ŀ~lmoust~⎰~lmoustache~⎰~lnE~≨~lnap~⪉~lnapprox~⪉~lne~⪇~lneq~⪇~lneqq~≨~lnsim~⋦~loang~⟬~loarr~⇽~lobrk~⟦~longleftarrow~⟵~longleftrightarrow~⟷~longmapsto~⟼~longrightarrow~⟶~looparrowleft~↫~looparrowright~↬~lopar~⦅~lopf~𝕝~loplus~⨭~lotimes~⨴~lowbar~_~lozenge~◊~lozf~⧫~lpar~(~lparlt~⦓~lrarr~⇆~lrcorner~⌟~lrhar~⇋~lrhard~⥭~lrtri~⊿~lscr~𝓁~lsh~↰~lsim~≲~lsime~⪍~lsimg~⪏~lsqb~[~lsquor~‚~lstrok~ł~ltcc~⪦~ltcir~⩹~ltdot~⋖~lthree~⋋~ltimes~⋉~ltlarr~⥶~ltquest~⩻~ltrPar~⦖~ltri~◃~ltrie~⊴~ltrif~◂~lurdshar~⥊~luruhar~⥦~lvertneqq~≨︀~lvnE~≨︀~mDDot~∺~male~♂~malt~✠~maltese~✠~map~↦~mapsto~↦~mapstodown~↧~mapstoleft~↤~mapstoup~↥~marker~▮~mcomma~⨩~mcy~м~measuredangle~∡~mfr~𝔪~mho~℧~mid~∣~midast~*~midcir~⫰~minusb~⊟~minusd~∸~minusdu~⨪~mlcp~⫛~mldr~…~mnplus~∓~models~⊧~mopf~𝕞~mp~∓~mscr~𝓂~mstpos~∾~multimap~⊸~mumap~⊸~nGg~⋙̸~nGt~≫⃒~nGtv~≫̸~nLeftarrow~⇍~nLeftrightarrow~⇎~nLl~⋘̸~nLt~≪⃒~nLtv~≪̸~nRightarrow~⇏~nVDash~⊯~nVdash~⊮~nacute~ń~nang~∠⃒~nap~≉~napE~⩰̸~napid~≋̸~napos~ʼn~napprox~≉~natur~♮~natural~♮~naturals~ℕ~nbump~≎̸~nbumpe~≏̸~ncap~⩃~ncaron~ň~ncedil~ņ~ncong~≇~ncongdot~⩭̸~ncup~⩂~ncy~н~neArr~⇗~nearhk~⤤~nearr~↗~nearrow~↗~nedot~≐̸~nequiv~≢~nesear~⤨~nesim~≂̸~nexist~∄~nexists~∄~nfr~𝔫~ngE~≧̸~nge~≱~ngeq~≱~ngeqq~≧̸~ngeqslant~⩾̸~nges~⩾̸~ngsim~≵~ngt~≯~ngtr~≯~nhArr~⇎~nharr~↮~nhpar~⫲~nis~⋼~nisd~⋺~niv~∋~njcy~њ~nlArr~⇍~nlE~≦̸~nlarr~↚~nldr~‥~nle~≰~nleftarrow~↚~nleftrightarrow~↮~nleq~≰~nleqq~≦̸~nleqslant~⩽̸~nles~⩽̸~nless~≮~nlsim~≴~nlt~≮~nltri~⋪~nltrie~⋬~nmid~∤~nopf~𝕟~notinE~⋹̸~notindot~⋵̸~notinva~∉~notinvb~⋷~notinvc~⋶~notni~∌~notniva~∌~notnivb~⋾~notnivc~⋽~npar~∦~nparallel~∦~nparsl~⫽⃥~npart~∂̸~npolint~⨔~npr~⊀~nprcue~⋠~npre~⪯̸~nprec~⊀~npreceq~⪯̸~nrArr~⇏~nrarr~↛~nrarrc~⤳̸~nrarrw~↝̸~nrightarrow~↛~nrtri~⋫~nrtrie~⋭~nsc~⊁~nsccue~⋡~nsce~⪰̸~nscr~𝓃~nshortmid~∤~nshortparallel~∦~nsim~≁~nsime~≄~nsimeq~≄~nsmid~∤~nspar~∦~nsqsube~⋢~nsqsupe~⋣~nsubE~⫅̸~nsube~⊈~nsubset~⊂⃒~nsubseteq~⊈~nsubseteqq~⫅̸~nsucc~⊁~nsucceq~⪰̸~nsup~⊅~nsupE~⫆̸~nsupe~⊉~nsupset~⊃⃒~nsupseteq~⊉~nsupseteqq~⫆̸~ntgl~≹~ntlg~≸~ntriangleleft~⋪~ntrianglelefteq~⋬~ntriangleright~⋫~ntrianglerighteq~⋭~num~#~numero~№~numsp~ ~nvDash~⊭~nvHarr~⤄~nvap~≍⃒~nvdash~⊬~nvge~≥⃒~nvgt~>⃒~nvinfin~⧞~nvlArr~⤂~nvle~≤⃒~nvlt~<⃒~nvltrie~⊴⃒~nvrArr~⤃~nvrtrie~⊵⃒~nvsim~∼⃒~nwArr~⇖~nwarhk~⤣~nwarr~↖~nwarrow~↖~nwnear~⤧~oS~Ⓢ~oast~⊛~ocir~⊚~ocy~о~odash~⊝~odblac~ő~odiv~⨸~odot~⊙~odsold~⦼~ofcir~⦿~ofr~𝔬~ogon~˛~ogt~⧁~ohbar~⦵~ohm~Ω~oint~∮~olarr~↺~olcir~⦾~olcross~⦻~olt~⧀~omacr~ō~omid~⦶~ominus~⊖~oopf~𝕠~opar~⦷~operp~⦹~orarr~↻~ord~⩝~order~ℴ~orderof~ℴ~origof~⊶~oror~⩖~orslope~⩗~orv~⩛~oscr~ℴ~osol~⊘~otimesas~⨶~ovbar~⌽~par~∥~parallel~∥~parsim~⫳~parsl~⫽~pcy~п~percnt~%~period~.~pertenk~‱~pfr~𝔭~phiv~ϕ~phmmat~ℳ~phone~☎~pitchfork~⋔~planck~ℏ~planckh~ℎ~plankv~ℏ~plus~+~plusacir~⨣~plusb~⊞~pluscir~⨢~plusdo~∔~plusdu~⨥~pluse~⩲~plussim~⨦~plustwo~⨧~pm~±~pointint~⨕~popf~𝕡~pr~≺~prE~⪳~prap~⪷~prcue~≼~pre~⪯~prec~≺~precapprox~⪷~preccurlyeq~≼~preceq~⪯~precnapprox~⪹~precneqq~⪵~precnsim~⋨~precsim~≾~primes~ℙ~prnE~⪵~prnap~⪹~prnsim~⋨~profalar~⌮~profline~⌒~profsurf~⌓~propto~∝~prsim~≾~prurel~⊰~pscr~𝓅~puncsp~ ~qfr~𝔮~qint~⨌~qopf~𝕢~qprime~⁗~qscr~𝓆~quaternions~ℍ~quatint~⨖~quest~?~questeq~≟~rAarr~⇛~rAtail~⤜~rBarr~⤏~rHar~⥤~race~∽̱~racute~ŕ~raemptyv~⦳~rangd~⦒~range~⦥~rangle~⟩~rarrap~⥵~rarrb~⇥~rarrbfs~⤠~rarrc~⤳~rarrfs~⤞~rarrhk~↪~rarrlp~↬~rarrpl~⥅~rarrsim~⥴~rarrtl~↣~rarrw~↝~ratail~⤚~ratio~∶~rationals~ℚ~rbarr~⤍~rbbrk~❳~rbrace~}~rbrack~]~rbrke~⦌~rbrksld~⦎~rbrkslu~⦐~rcaron~ř~rcedil~ŗ~rcub~}~rcy~р~rdca~⤷~rdldhar~⥩~rdquor~”~rdsh~↳~realine~ℛ~realpart~ℜ~reals~ℝ~rect~▭~rfisht~⥽~rfr~𝔯~rhard~⇁~rharu~⇀~rharul~⥬~rhov~ϱ~rightarrow~→~rightarrowtail~↣~rightharpoondown~⇁~rightharpoonup~⇀~rightleftarrows~⇄~rightleftharpoons~⇌~rightrightarrows~⇉~rightsquigarrow~↝~rightthreetimes~⋌~ring~˚~risingdotseq~≓~rlarr~⇄~rlhar~⇌~rmoust~⎱~rmoustache~⎱~rnmid~⫮~roang~⟭~roarr~⇾~robrk~⟧~ropar~⦆~ropf~𝕣~roplus~⨮~rotimes~⨵~rpar~)~rpargt~⦔~rppolint~⨒~rrarr~⇉~rscr~𝓇~rsh~↱~rsqb~]~rsquor~’~rthree~⋌~rtimes~⋊~rtri~▹~rtrie~⊵~rtrif~▸~rtriltri~⧎~ruluhar~⥨~rx~℞~sacute~ś~sc~≻~scE~⪴~scap~⪸~sccue~≽~sce~⪰~scedil~ş~scirc~ŝ~scnE~⪶~scnap~⪺~scnsim~⋩~scpolint~⨓~scsim~≿~scy~с~sdotb~⊡~sdote~⩦~seArr~⇘~searhk~⤥~searr~↘~searrow~↘~semi~;~seswar~⤩~setminus~∖~setmn~∖~sext~✶~sfr~𝔰~sfrown~⌢~sharp~♯~shchcy~щ~shcy~ш~shortmid~∣~shortparallel~∥~sigmav~ς~simdot~⩪~sime~≃~simeq~≃~simg~⪞~simgE~⪠~siml~⪝~simlE~⪟~simne~≆~simplus~⨤~simrarr~⥲~slarr~←~smallsetminus~∖~smashp~⨳~smeparsl~⧤~smid~∣~smile~⌣~smt~⪪~smte~⪬~smtes~⪬︀~softcy~ь~sol~/~solb~⧄~solbar~⌿~sopf~𝕤~spadesuit~♠~spar~∥~sqcap~⊓~sqcaps~⊓︀~sqcup~⊔~sqcups~⊔︀~sqsub~⊏~sqsube~⊑~sqsubset~⊏~sqsubseteq~⊑~sqsup~⊐~sqsupe~⊒~sqsupset~⊐~sqsupseteq~⊒~squ~□~square~□~squarf~▪~squf~▪~srarr~→~sscr~𝓈~ssetmn~∖~ssmile~⌣~sstarf~⋆~star~☆~starf~★~straightepsilon~ϵ~straightphi~ϕ~strns~¯~subE~⫅~subdot~⪽~subedot~⫃~submult~⫁~subnE~⫋~subne~⊊~subplus~⪿~subrarr~⥹~subset~⊂~subseteq~⊆~subseteqq~⫅~subsetneq~⊊~subsetneqq~⫋~subsim~⫇~subsub~⫕~subsup~⫓~succ~≻~succapprox~⪸~succcurlyeq~≽~succeq~⪰~succnapprox~⪺~succneqq~⪶~succnsim~⋩~succsim~≿~sung~♪~supE~⫆~supdot~⪾~supdsub~⫘~supedot~⫄~suphsol~⟉~suphsub~⫗~suplarr~⥻~supmult~⫂~supnE~⫌~supne~⊋~supplus~⫀~supset~⊃~supseteq~⊇~supseteqq~⫆~supsetneq~⊋~supsetneqq~⫌~supsim~⫈~supsub~⫔~supsup~⫖~swArr~⇙~swarhk~⤦~swarr~↙~swarrow~↙~swnwar~⤪~target~⌖~tbrk~⎴~tcaron~ť~tcedil~ţ~tcy~т~tdot~⃛~telrec~⌕~tfr~𝔱~therefore~∴~thetav~ϑ~thickapprox~≈~thicksim~∼~thkap~≈~thksim~∼~timesb~⊠~timesbar~⨱~timesd~⨰~tint~∭~toea~⤨~top~⊤~topbot~⌶~topcir~⫱~topf~𝕥~topfork~⫚~tosa~⤩~tprime~‴~triangle~▵~triangledown~▿~triangleleft~◃~trianglelefteq~⊴~triangleq~≜~triangleright~▹~trianglerighteq~⊵~tridot~◬~trie~≜~triminus~⨺~triplus~⨹~trisb~⧍~tritime~⨻~trpezium~⏢~tscr~𝓉~tscy~ц~tshcy~ћ~tstrok~ŧ~twixt~≬~twoheadleftarrow~↞~twoheadrightarrow~↠~uHar~⥣~ubrcy~ў~ubreve~ŭ~ucy~у~udarr~⇅~udblac~ű~udhar~⥮~ufisht~⥾~ufr~𝔲~uharl~↿~uharr~↾~uhblk~▀~ulcorn~⌜~ulcorner~⌜~ulcrop~⌏~ultri~◸~umacr~ū~uogon~ų~uopf~𝕦~uparrow~↑~updownarrow~↕~upharpoonleft~↿~upharpoonright~↾~uplus~⊎~upsi~υ~upuparrows~⇈~urcorn~⌝~urcorner~⌝~urcrop~⌎~uring~ů~urtri~◹~uscr~𝓊~utdot~⋰~utilde~ũ~utri~▵~utrif~▴~uuarr~⇈~uwangle~⦧~vArr~⇕~vBar~⫨~vBarv~⫩~vDash~⊨~vangrt~⦜~varepsilon~ϵ~varkappa~ϰ~varnothing~∅~varphi~ϕ~varpi~ϖ~varpropto~∝~varr~↕~varrho~ϱ~varsigma~ς~varsubsetneq~⊊︀~varsubsetneqq~⫋︀~varsupsetneq~⊋︀~varsupsetneqq~⫌︀~vartheta~ϑ~vartriangleleft~⊲~vartriangleright~⊳~vcy~в~vdash~⊢~vee~∨~veebar~⊻~veeeq~≚~vellip~⋮~verbar~|~vert~|~vfr~𝔳~vltri~⊲~vnsub~⊂⃒~vnsup~⊃⃒~vopf~𝕧~vprop~∝~vrtri~⊳~vscr~𝓋~vsubnE~⫋︀~vsubne~⊊︀~vsupnE~⫌︀~vsupne~⊋︀~vzigzag~⦚~wcirc~ŵ~wedbar~⩟~wedge~∧~wedgeq~≙~wfr~𝔴~wopf~𝕨~wp~℘~wr~≀~wreath~≀~wscr~𝓌~xcap~⋂~xcirc~◯~xcup~⋃~xdtri~▽~xfr~𝔵~xhArr~⟺~xharr~⟷~xlArr~⟸~xlarr~⟵~xmap~⟼~xnis~⋻~xodot~⨀~xopf~𝕩~xoplus~⨁~xotime~⨂~xrArr~⟹~xrarr~⟶~xscr~𝓍~xsqcup~⨆~xuplus~⨄~xutri~△~xvee~⋁~xwedge~⋀~yacy~я~ycirc~ŷ~ycy~ы~yfr~𝔶~yicy~ї~yopf~𝕪~yscr~𝓎~yucy~ю~zacute~ź~zcaron~ž~zcy~з~zdot~ż~zeetrf~ℨ~zfr~𝔷~zhcy~ж~zigrarr~⇝~zopf~𝕫~zscr~𝓏~~AMP~&~COPY~©~GT~>~LT~<~QUOT~"~REG~®',s.html4),String.fromCodePoint;var i=String.prototype.codePointAt?function(r,e){return r.codePointAt(e)}:function(r,e){return 1024*(r.charCodeAt(e)-55296)+r.charCodeAt(e+1)-56320+65536},n=function(){return n=Object.assign||function(r){for(var e,t=1,a=arguments.length;t<a;t++)for(var o in e=arguments[t])Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=e[o]);return r},n.apply(this,arguments)},l=n(n({},s),{all:s.html5}),c={specialChars:/[<>'"&]/g,nonAscii:/[<>'"&\u0080-\uD7FF\uE000-\uFFFF\uDC00-\uDFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]?/g,nonAsciiPrintable:/[<>'"&\x01-\x08\x11-\x15\x17-\x1F\x7f-\uD7FF\uE000-\uFFFF\uDC00-\uDFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]?/g,nonAsciiPrintableOnly:/[\x01-\x08\x11-\x15\x17-\x1F\x7f-\uD7FF\uE000-\uFFFF\uDC00-\uDFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]?/g,extensive:/[\x01-\x0c\x0e-\x1f\x21-\x2c\x2e-\x2f\x3a-\x40\x5b-\x60\x7b-\x7d\x7f-\uD7FF\uE000-\uFFFF\uDC00-\uDFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]?/g},u={mode:"specialChars",level:"all",numeric:"decimal"};function p(r,e){var t=void 0===e?u:e,a=t.mode,o=void 0===a?"specialChars":a,s=t.numeric,n=void 0===s?"decimal":s,p=t.level;if(!r)return"";var g=c[o],h=l[void 0===p?"all":p].characters,d="hexadecimal"===n;return String.prototype.replace.call(r,g,(function(r){var e=h[r];if(!e){var t=r.length>1?i(r,0):r.charCodeAt(0);e=(d?"&#x"+t.toString(16):"&#"+t)+";"}return e}))}var g=/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);/g,h=/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+)[;=]?/g,d={xml:{strict:g,attribute:h,body:o.xml},html4:{strict:g,attribute:h,body:o.html4},html5:{strict:g,attribute:h,body:o.html5}};(n(n({},d),{all:d.html5}),String.fromCharCode)(65533);const m=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i,f=function(r){if(!function(r){return"string"==typeof r&&m.test(r)}(r))throw TypeError("Invalid UUID");let e;return Uint8Array.of((e=parseInt(r.slice(0,8),16))>>>24,e>>>16&255,e>>>8&255,255&e,(e=parseInt(r.slice(9,13),16))>>>8,255&e,(e=parseInt(r.slice(14,18),16))>>>8,255&e,(e=parseInt(r.slice(19,23),16))>>>8,255&e,(e=parseInt(r.slice(24,36),16))/1099511627776&255,e/4294967296&255,e>>>24&255,e>>>16&255,e>>>8&255,255&e)},b=[];for(let r=0;r<256;++r)b.push((r+256).toString(16).slice(1));function y(r,e=0){return(b[r[e+0]]+b[r[e+1]]+b[r[e+2]]+b[r[e+3]]+"-"+b[r[e+4]]+b[r[e+5]]+"-"+b[r[e+6]]+b[r[e+7]]+"-"+b[r[e+8]]+b[r[e+9]]+"-"+b[r[e+10]]+b[r[e+11]]+b[r[e+12]]+b[r[e+13]]+b[r[e+14]]+b[r[e+15]]).toLowerCase()}let w;const q=new Uint8Array(16);function v(r){return 14+(r+64>>>9<<4)+1}function x(r,e){const t=(65535&r)+(65535&e);return(r>>16)+(e>>16)+(t>>16)<<16|65535&t}function E(r,e,t,a,o,s){return x((i=x(x(e,r),x(a,s)))<<(n=o)|i>>>32-n,t);var i,n}function A(r,e,t,a,o,s,i){return E(e&t|~e&a,r,e,o,s,i)}function S(r,e,t,a,o,s,i){return E(e&a|t&~a,r,e,o,s,i)}function D(r,e,t,a,o,s,i){return E(e^t^a,r,e,o,s,i)}function T(r,e,t,a,o,s,i){return E(t^(e|~a),r,e,o,s,i)}const L=function(r){return function(r){const e=new Uint8Array(4*r.length);for(let t=0;t<4*r.length;t++)e[t]=r[t>>2]>>>t%4*8&255;return e}(function(r,e){const t=new Uint32Array(v(e)).fill(0);t.set(r),t[e>>5]|=128<<e%32,t[t.length-1]=e,r=t;let a=1732584193,o=-271733879,s=-1732584194,i=271733878;for(let e=0;e<r.length;e+=16){const t=a,n=o,l=s,c=i;a=A(a,o,s,i,r[e],7,-680876936),i=A(i,a,o,s,r[e+1],12,-389564586),s=A(s,i,a,o,r[e+2],17,606105819),o=A(o,s,i,a,r[e+3],22,-1044525330),a=A(a,o,s,i,r[e+4],7,-176418897),i=A(i,a,o,s,r[e+5],12,1200080426),s=A(s,i,a,o,r[e+6],17,-1473231341),o=A(o,s,i,a,r[e+7],22,-45705983),a=A(a,o,s,i,r[e+8],7,1770035416),i=A(i,a,o,s,r[e+9],12,-1958414417),s=A(s,i,a,o,r[e+10],17,-42063),o=A(o,s,i,a,r[e+11],22,-1990404162),a=A(a,o,s,i,r[e+12],7,1804603682),i=A(i,a,o,s,r[e+13],12,-40341101),s=A(s,i,a,o,r[e+14],17,-1502002290),o=A(o,s,i,a,r[e+15],22,1236535329),a=S(a,o,s,i,r[e+1],5,-165796510),i=S(i,a,o,s,r[e+6],9,-1069501632),s=S(s,i,a,o,r[e+11],14,643717713),o=S(o,s,i,a,r[e],20,-373897302),a=S(a,o,s,i,r[e+5],5,-701558691),i=S(i,a,o,s,r[e+10],9,38016083),s=S(s,i,a,o,r[e+15],14,-660478335),o=S(o,s,i,a,r[e+4],20,-405537848),a=S(a,o,s,i,r[e+9],5,568446438),i=S(i,a,o,s,r[e+14],9,-1019803690),s=S(s,i,a,o,r[e+3],14,-187363961),o=S(o,s,i,a,r[e+8],20,1163531501),a=S(a,o,s,i,r[e+13],5,-1444681467),i=S(i,a,o,s,r[e+2],9,-51403784),s=S(s,i,a,o,r[e+7],14,1735328473),o=S(o,s,i,a,r[e+12],20,-1926607734),a=D(a,o,s,i,r[e+5],4,-378558),i=D(i,a,o,s,r[e+8],11,-2022574463),s=D(s,i,a,o,r[e+11],16,1839030562),o=D(o,s,i,a,r[e+14],23,-35309556),a=D(a,o,s,i,r[e+1],4,-1530992060),i=D(i,a,o,s,r[e+4],11,1272893353),s=D(s,i,a,o,r[e+7],16,-155497632),o=D(o,s,i,a,r[e+10],23,-1094730640),a=D(a,o,s,i,r[e+13],4,681279174),i=D(i,a,o,s,r[e],11,-358537222),s=D(s,i,a,o,r[e+3],16,-722521979),o=D(o,s,i,a,r[e+6],23,76029189),a=D(a,o,s,i,r[e+9],4,-640364487),i=D(i,a,o,s,r[e+12],11,-421815835),s=D(s,i,a,o,r[e+15],16,530742520),o=D(o,s,i,a,r[e+2],23,-995338651),a=T(a,o,s,i,r[e],6,-198630844),i=T(i,a,o,s,r[e+7],10,1126891415),s=T(s,i,a,o,r[e+14],15,-1416354905),o=T(o,s,i,a,r[e+5],21,-57434055),a=T(a,o,s,i,r[e+12],6,1700485571),i=T(i,a,o,s,r[e+3],10,-1894986606),s=T(s,i,a,o,r[e+10],15,-1051523),o=T(o,s,i,a,r[e+1],21,-2054922799),a=T(a,o,s,i,r[e+8],6,1873313359),i=T(i,a,o,s,r[e+15],10,-30611744),s=T(s,i,a,o,r[e+6],15,-1560198380),o=T(o,s,i,a,r[e+13],21,1309151649),a=T(a,o,s,i,r[e+4],6,-145523070),i=T(i,a,o,s,r[e+11],10,-1120210379),s=T(s,i,a,o,r[e+2],15,718787259),o=T(o,s,i,a,r[e+9],21,-343485551),a=x(a,t),o=x(o,n),s=x(s,l),i=x(i,c)}return Uint32Array.of(a,o,s,i)}(function(r){if(0===r.length)return new Uint32Array;const e=new Uint32Array(v(8*r.length)).fill(0);for(let t=0;t<r.length;t++)e[t>>2]|=(255&r[t])<<t%4*8;return e}(r),8*r.length))},k="6ba7b810-9dad-11d1-80b4-00c04fd430c8",U="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function F(r,e,t,a,o,s){const i="string"==typeof t?function(r){r=unescape(encodeURIComponent(r));const e=new Uint8Array(r.length);for(let t=0;t<r.length;++t)e[t]=r.charCodeAt(t);return e}(t):t,n="string"==typeof a?f(a):a;if("string"==typeof a&&(a=f(a)),16!==a?.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let l=new Uint8Array(16+i.length);if(l.set(n),l.set(i,n.length),l=e(l),l[6]=15&l[6]|r,l[8]=63&l[8]|128,o){s=s||0;for(let r=0;r<16;++r)o[s+r]=l[r];return o}return y(l)}function O(r,e,t,a){return F(48,L,r,e,t,a)}O.DNS=k,O.URL=U;const N={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};const C=function(r,e,t){return!N.randomUUID||e||r?function(r,e,t){const a=(r=r||{}).random??r.rng?.()??function(){if(!w){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");w=crypto.getRandomValues.bind(crypto)}return w(q)}();if(a.length<16)throw new Error("Random bytes length must be >= 16");if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,e){if((t=t||0)<0||t+16>e.length)throw new RangeError(`UUID byte range ${t}:${t+15} is out of buffer bounds`);for(let r=0;r<16;++r)e[t+r]=a[r];return e}return y(a)}(r,e,t):N.randomUUID()};function R(r,e,t,a){switch(r){case 0:return e&t^~e&a;case 1:case 3:return e^t^a;case 2:return e&t^e&a^t&a}}function I(r,e){return r<<e|r>>>32-e}const V=function(r){const e=[1518500249,1859775393,2400959708,3395469782],t=[1732584193,4023233417,2562383102,271733878,3285377520],a=new Uint8Array(r.length+1);a.set(r),a[r.length]=128;const o=(r=a).length/4+2,s=Math.ceil(o/16),i=new Array(s);for(let e=0;e<s;++e){const t=new Uint32Array(16);for(let a=0;a<16;++a)t[a]=r[64*e+4*a]<<24|r[64*e+4*a+1]<<16|r[64*e+4*a+2]<<8|r[64*e+4*a+3];i[e]=t}i[s-1][14]=8*(r.length-1)/Math.pow(2,32),i[s-1][14]=Math.floor(i[s-1][14]),i[s-1][15]=8*(r.length-1)&4294967295;for(let r=0;r<s;++r){const a=new Uint32Array(80);for(let e=0;e<16;++e)a[e]=i[r][e];for(let r=16;r<80;++r)a[r]=I(a[r-3]^a[r-8]^a[r-14]^a[r-16],1);let o=t[0],s=t[1],n=t[2],l=t[3],c=t[4];for(let r=0;r<80;++r){const t=Math.floor(r/20),i=I(o,5)+R(t,s,n,l)+c+e[t]+a[r]>>>0;c=l,l=n,n=I(s,30)>>>0,s=o,o=i}t[0]=t[0]+o>>>0,t[1]=t[1]+s>>>0,t[2]=t[2]+n>>>0,t[3]=t[3]+l>>>0,t[4]=t[4]+c>>>0}return Uint8Array.of(t[0]>>24,t[0]>>16,t[0]>>8,t[0],t[1]>>24,t[1]>>16,t[1]>>8,t[1],t[2]>>24,t[2]>>16,t[2]>>8,t[2],t[3]>>24,t[3]>>16,t[3]>>8,t[3],t[4]>>24,t[4]>>16,t[4]>>8,t[4])};function _(r,e,t,a){return F(80,V,r,e,t,a)}function P(){return C().toUpperCase()}_.DNS=k,_.URL=U;class j{#r="Untitled Story";#e="";#t="";#a="";#o="";#s=1;#i=[];#n="";#l="";#c=null;#u={};#p="";#g="";constructor(r="Untitled Story"){this.name=r,this.#n="extwee",this.#l="2.3.5",this.#c={}}get name(){return this.#r}set name(r){if("string"!=typeof r)throw new Error("Story name must be a string");this.#r=r}get tagColors(){return this.#u}set tagColors(r){if(!(r instanceof Object))throw new Error("Tag colors must be an object!");this.#u=r}get IFID(){return this.#t}set IFID(r){if("string"!=typeof r)throw new Error("IFID must be a String!");this.#t=r}get start(){return this.#e}set start(r){if("string"!=typeof r)throw new Error("start (passage name) must be a String!");this.#e=r}get formatVersion(){return this.#o}set formatVersion(r){if("string"!=typeof r)throw new Error("Story format version must be a String!");this.#o=r}get metadata(){return this.#c}set metadata(r){if("object"!=typeof r)throw new Error("Story metadata must be Object!");this.#c=r}get format(){return this.#a}set format(r){if("string"!=typeof r)throw new Error("Story format must be a String!");this.#a=r}get creator(){return this.#n}set creator(r){if("string"!=typeof r)throw new Error("Creator must be String");this.#n=r}get creatorVersion(){return this.#l}set creatorVersion(r){if("string"!=typeof r)throw new Error("Creator version must be a string!");this.#l=r}get zoom(){return this.#s}set zoom(r){if("number"!=typeof r)throw new Error("Zoom level must be a Number!");this.#s=Number(Number.parseFloat(r).toFixed(2))}get passages(){return this.#i}set passages(r){if(!Array.isArray(r))throw new Error("Passages must be an Array!");if(!r.every((r=>r instanceof z)))throw new Error("Passages must be an Array of Passage objects!");this.#i=r}get storyStylesheet(){return this.#g}set storyStylesheet(r){if("string"!=typeof r)throw new Error("Story stylesheet must be a string!");this.#g=r}get storyJavaScript(){return this.#p}set storyJavaScript(r){if("string"!=typeof r)throw new Error("Story JavaScript must be a string!");this.#p=r}addPassage(r){if(!(r instanceof z))throw new Error("Can only add Passages to the story!");if(null!==this.getPassageByName(r.name))return console.warn(`Warning: A passage with the name "${r.name}" already exists!`),this.#i.length;if("StoryData"===r.name){try{const e=JSON.parse(r.text);Object.prototype.hasOwnProperty.call(e,"ifid")&&(this.IFID=e.ifid),Object.prototype.hasOwnProperty.call(e,"format")&&(this.format=e.format),Object.prototype.hasOwnProperty.call(e,"format-version")&&(this.formatVersion=e["format-version"]),Object.prototype.hasOwnProperty.call(e,"zoom")&&(this.zoom=e.zoom),Object.prototype.hasOwnProperty.call(e,"start")&&(this.start=e.start),Object.prototype.hasOwnProperty.call(e,"tag-colors")&&(this.tagColors=e["tag-colors"])}catch(r){}return this.#i.length}return"StoryTitle"===r.name?(this.name=r.text,this.#i.length):("Start"===r.name&&""==this.start&&(this.start=r.name),this.#i.push(r))}removePassageByName(r){return this.#i=this.#i.filter((e=>e.name!==r)),this.#i.length}getPassagesByTag(r){return this.#i.filter((e=>e.tags.some((e=>r===e))))}getPassageByName(r){const e=this.#i.find((e=>e.name===r));return void 0!==e?e:null}size(){return this.#i.length}toJSON(){const r={name:this.name,tagColors:this.tagColors,ifid:this.IFID,start:this.start,formatVersion:this.formatVersion,metadata:this.metadata,format:this.format,creator:this.creator,creatorVersion:this.creatorVersion,zoom:this.zoom,style:this.storyStylesheet,script:this.storyJavaScript,passages:[]};return this.passages.forEach((e=>{r.passages.push({name:e.name,tags:e.tags,metadata:e.metadata,text:e.text})})),JSON.stringify(r,null,4)}toTwee(){let r=":: StoryData\n";const e={};return null===this.IFID.match(/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/)?(e.ifid=P(),console.warn("Warning: IFID is not in UUIDv4 format! A new IFID was generated.")):e.ifid=this.IFID,""!==this.format&&(e.format=this.format),""!==this.formatVersion&&(e["format-version"]=this.formatVersion),0!==this.zoom&&(e.zoom=this.zoom),""!==this.start&&(e.start=this.start),Object.keys(this.tagColors).length>0&&(e["tag-colors"]=this.tagColors),r+=`${JSON.stringify(e,void 0,2)}`,r+="\n\n",r+=":: StoryTitle\n"+this.name,r+="\n\n",this.#g.length>0&&(r+=":: StoryStylesheet [stylesheet]\n"+this.#g+"\n\n"),this.#p.length>0&&(r+=":: StoryJavaScript [script]\n"+this.#p+"\n\n"),this.passages.forEach((e=>{r+=e.toTwee()})),r}toTwine2HTML(){let r=this.passages,e=`<tw-storydata name="${p(this.name)}"`;""!==this.IFID?e+=` ifid="${this.IFID}"`:e+=` ifid="${P()}"`;let t=1,a=1;r.forEach((r=>{r.name===this.start&&(a=t),t++})),0===r.length&&(a=0),e+=` startnode="${a}"`,""!==this.creator&&(e+=` creator="${p(this.creator)}"`),""!==this.creatorVersion&&(e+=` creator-version="${this.creatorVersion}"`),1!==this.zoom&&(e+=` zoom="${this.zoom}"`),""!==this.format&&(e+=` format="${this.format}"`),""!==this.formatVersion&&(e+=` format-version="${this.formatVersion}"`),e+=" options hidden>\n";const o=r.filter((r=>r.tags.includes("stylesheet")));r=r.filter((r=>!r.tags.includes("stylesheet"))),o.length>0&&(e+='\t<style role="stylesheet" id="twine-user-stylesheet" type="text/twine-css">',o.forEach((r=>{e+=r.text})),e+="</style>\n"),this.#g.length>0&&(e+=`\t<style role="stylesheet" id="twine-user-stylesheet" type="text/twine-css">${this.#g}</style>\n`);const s=r.filter((r=>r.tags.includes("script")));return r=r.filter((r=>!r.tags.includes("script"))),s.length>0&&(e+='\t<script role="script" id="twine-user-script" type="text/twine-javascript">',s.forEach((r=>{e+=r.text})),e+="<\/script>\n"),this.#p.length>0&&(e+=`\t<script role="script" id="twine-user-script" type="text/twine-javascript">${this.#p}<\/script>\n`),t=1,this.passages.forEach((r=>{e+=r.toTwine2HTML(t),t++})),Object.keys(this.tagColors).forEach((r=>{e+=`\t<tw-tag name="${r}" color="${this.tagColors[r]}"></tw-tag>\n`})),e+="</tw-storydata>",e}toTwine1HTML(){let r="";return this.passages.forEach((e=>{r+=`\t${e.toTwine1HTML()}`})),r}}function B(r){return"string"!=typeof r?r:r.replace(/\\/g,"\\\\").replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/\{/g,"\\{").replace(/\}/g,"\\}")}class z{#r="";#h=[];#c={};#d="";constructor(r="",e="",t=[],a={}){this.name=r,this.tags=t,this.metadata=a,this.text=e}get name(){return this.#r}set name(r){if("string"!=typeof r)throw new Error("Name must be a String!");this.#r=r}get tags(){return this.#h}set tags(r){if(!Array.isArray(r))throw new Error("Tags must be an array!");this.#h=r}get metadata(){return this.#c}set metadata(r){if("object"!=typeof r)throw new Error("Metadata should be an object literal!");this.#c=r}get text(){return this.#d}set text(r){if("string"!=typeof r)throw new Error("Text should be a String!");this.#d=r}toTwee(){let r="";r+=`:: ${B(this.name)}`,this.tags.length>0&&(r+=` [${this.tags.map((r=>B(r))).join(" ")}]`),Object.keys(this.metadata).length>0&&(r+=` ${JSON.stringify(this.metadata)}`);const e=this.text.split("\n");for(let r=0;r<e.length;r++)e[r].startsWith("::")&&(e[r]=`\\${e[r]}`);return r+=`\n${e.join("\n")}\n\n`,r}toJSON(){const r={name:this.name,tags:this.tags,metadata:this.metadata,text:this.text};return JSON.stringify(r)}toTwine2HTML(r=1){let e="\t<tw-passagedata";return e+=` pid="${r}"`,e+=` name="${p(this.name)}"`,e+=` tags="${p(this.#h.join(" "))}" `,Object.prototype.hasOwnProperty.call(this.#c,"position")&&(e+=` position="${this.#c.position}" `),Object.prototype.hasOwnProperty.call(this.#c,"size")&&(e+=`size="${this.#c.size}" `),e+=`>${p(this.text)}</tw-passagedata>\n`,e}toTwine1HTML(){let r="\t<div";return r+=` tiddler="${p(this.name)}"`,r+=` tags="${p(this.#h.join(" "))}" `,r+=' modifier="extwee"',Object.prototype.hasOwnProperty.call(this.#c,"position")?r+=` twine-position="${this.#c.position}"`:r+=' twine-position="10,10"',r+=`>${p(this.#d)}</div>`,r}}class H{constructor(r){if(this.html=r,this.doc=null,"undefined"!=typeof DOMParser){const e=new DOMParser;this.doc=e.parseFromString(r,"text/html")}else this.doc=this.createSimpleDOM(r)}querySelector(r){return this.doc&&this.doc.querySelector?this.doc.querySelector(r):"#storeArea"===r?this.html.match(/<div[^>]*id=["']storeArea["'][^>]*>/i)?{found:!0}:null:"#store-area"===r&&this.html.match(/<div[^>]*id=["']store-area["'][^>]*>/i)?{found:!0}:null}querySelectorAll(r){return this.doc&&this.doc.querySelectorAll?Array.from(this.doc.querySelectorAll(r)):"[tiddler]"===r?this.extractTiddlerElements():[]}extractTiddlerElements(){const r=/<div[^>]*tiddler=["']([^"']+)["'][^>]*>([\s\S]*?)<\/div>/gi,e=[];let t;for(;null!==(t=r.exec(this.html));){const r=t[0],a=this.parseAttributes(r),o=this.extractTextContent(t[2]);e.push({attributes:a,rawText:o})}return e}parseAttributes(r){const e={},t=r.match(/tiddler=["']([^"']+)["']/i);t&&(e.tiddler=t[1]);const a=r.match(/tags=["']([^"']*)["']/i);a&&(e.tags=a[1]);const o=r.match(/twine-position=["']([^"']+)["']/i);o&&(e["twine-position"]=o[1]);const s=r.match(/modifier=["']([^"']+)["']/i);return s&&(e.modifier=s[1]),e}extractTextContent(r){return r.replace(/<[^>]*>/g,"").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").replace(/&amp;/g,"&").trim()}createSimpleDOM(r){return{querySelector:e=>"#storeArea"===e&&r.includes('id="storeArea"')||"#store-area"===e&&r.includes('id="store-area"')?{found:!0}:null,querySelectorAll:r=>"[tiddler]"===r?this.extractTiddlerElements():[]}}}function G(r){const e=new j,t=new H(r);let a=t.querySelector("#storeArea");if(null===a&&(a=t.querySelector("#store-area"),null==a))throw new Error("Cannot find #storeArea or #store-area!");const o=t.querySelectorAll("[tiddler]");for(const r of o){const t=r.attributes,a=r.rawText;let o=null;Object.prototype.hasOwnProperty.call(t,"twine-position")&&(o=t["twine-position"]);const s=t.tiddler;"StoryTitle"===s&&(e.name=a);let i=[];Object.prototype.hasOwnProperty.call(t,"tags")&&(t.tags.length>0&&'""'!==t.tags&&(i=t.tags,i=i.split(" ")),i=i.filter((r=>""!==r)));const n={};null!==o&&(n.position=o),Object.prototype.hasOwnProperty.call(t,"modifier")&&(e.creator=t.modifier),e.addPassage(new z(s,a,i,n))}return e}function $(r,e="",t="",a="",o="",s={jquery:"",modernizr:""}){if(!(r instanceof j))throw new TypeError("Error: story must be a Story object!");return t=(t=(t=(t=(t=(t=(t=t.replaceAll(/"VERSION"/gm,r.creator)).replaceAll(/"TIME"/gm,new Date)).replaceAll(/"ENGINE"/gm,e)).replaceAll(`"${a.toUpperCase()}"`,o)).replaceAll(/"STORY_SIZE"/gm,`"${r.size()}"`)).replaceAll(/"STORY"/gm,r.toTwine1HTML())).replaceAll(/"START_AT"/gm,"''"),Object.prototype.hasOwnProperty.call(s,"jquery")&&(t=t.replaceAll(/"JQUERY"/gm,s.jquery)),Object.prototype.hasOwnProperty.call(s,"modernizr")&&(t=t.replaceAll(/"MODERNIZR"/gm,s.modernizr)),t}const M={parseTwine1HTML:G,compileTwine1HTML:$,parse:G,compile:$},J="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:null;return J&&(J.Extwee=J.Extwee||{},J.Extwee.parseTwine1HTML=G,J.Extwee.compileTwine1HTML=$),e.default})()));
1
+ !function(r,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Extwee=e():r.Extwee=e()}(this,(()=>(()=>{"use strict";var r={d:(e,t)=>{for(var a in t)r.o(t,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},o:(r,e)=>Object.prototype.hasOwnProperty.call(r,e)},e={};r.d(e,{default:()=>$});var t=function(){return t=Object.assign||function(r){for(var e,t=1,a=arguments.length;t<a;t++)for(var o in e=arguments[t])Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=e[o]);return r},t.apply(this,arguments)};function a(r,e){for(var a={},o={},s=r.split("~~"),i=!1,n=0;s.length>n;n++){for(var l=s[n].split("~"),c=0;c<l.length;c+=2){var u=l[c],p=l[c+1],g="&"+u+";";a[g]=p,i&&(a["&"+u]=p),o[p]=g}i=!0}return e?{entities:t(t({},a),e.entities),characters:t(t({},o),e.characters)}:{entities:a,characters:o}}var o={xml:/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,html4:/&notin;|&(?:nbsp|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|Atilde|Auml|Aring|AElig|Ccedil|Egrave|Eacute|Ecirc|Euml|Igrave|Iacute|Icirc|Iuml|ETH|Ntilde|Ograve|Oacute|Ocirc|Otilde|Ouml|times|Oslash|Ugrave|Uacute|Ucirc|Uuml|Yacute|THORN|szlig|agrave|aacute|acirc|atilde|auml|aring|aelig|ccedil|egrave|eacute|ecirc|euml|igrave|iacute|icirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|quot|amp|lt|gt|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,html5:/&centerdot;|&copysr;|&divideontimes;|&gtcc;|&gtcir;|&gtdot;|&gtlPar;|&gtquest;|&gtrapprox;|&gtrarr;|&gtrdot;|&gtreqless;|&gtreqqless;|&gtrless;|&gtrsim;|&ltcc;|&ltcir;|&ltdot;|&lthree;|&ltimes;|&ltlarr;|&ltquest;|&ltrPar;|&ltri;|&ltrie;|&ltrif;|&notin;|&notinE;|&notindot;|&notinva;|&notinvb;|&notinvc;|&notni;|&notniva;|&notnivb;|&notnivc;|&parallel;|&timesb;|&timesbar;|&timesd;|&(?:AElig|AMP|Aacute|Acirc|Agrave|Aring|Atilde|Auml|COPY|Ccedil|ETH|Eacute|Ecirc|Egrave|Euml|GT|Iacute|Icirc|Igrave|Iuml|LT|Ntilde|Oacute|Ocirc|Ograve|Oslash|Otilde|Ouml|QUOT|REG|THORN|Uacute|Ucirc|Ugrave|Uuml|Yacute|aacute|acirc|acute|aelig|agrave|amp|aring|atilde|auml|brvbar|ccedil|cedil|cent|copy|curren|deg|divide|eacute|ecirc|egrave|eth|euml|frac12|frac14|frac34|gt|iacute|icirc|iexcl|igrave|iquest|iuml|laquo|lt|macr|micro|middot|nbsp|not|ntilde|oacute|ocirc|ograve|ordf|ordm|oslash|otilde|ouml|para|plusmn|pound|quot|raquo|reg|sect|shy|sup1|sup2|sup3|szlig|thorn|times|uacute|ucirc|ugrave|uml|uuml|yacute|yen|yuml|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g},s={};s.xml=a("lt~<~gt~>~quot~\"~apos~'~amp~&"),s.html4=a("apos~'~OElig~Œ~oelig~œ~Scaron~Š~scaron~š~Yuml~Ÿ~circ~ˆ~tilde~˜~ensp~ ~emsp~ ~thinsp~ ~zwnj~‌~zwj~‍~lrm~‎~rlm~‏~ndash~–~mdash~—~lsquo~‘~rsquo~’~sbquo~‚~ldquo~“~rdquo~”~bdquo~„~dagger~†~Dagger~‡~permil~‰~lsaquo~‹~rsaquo~›~euro~€~fnof~ƒ~Alpha~Α~Beta~Β~Gamma~Γ~Delta~Δ~Epsilon~Ε~Zeta~Ζ~Eta~Η~Theta~Θ~Iota~Ι~Kappa~Κ~Lambda~Λ~Mu~Μ~Nu~Ν~Xi~Ξ~Omicron~Ο~Pi~Π~Rho~Ρ~Sigma~Σ~Tau~Τ~Upsilon~Υ~Phi~Φ~Chi~Χ~Psi~Ψ~Omega~Ω~alpha~α~beta~β~gamma~γ~delta~δ~epsilon~ε~zeta~ζ~eta~η~theta~θ~iota~ι~kappa~κ~lambda~λ~mu~μ~nu~ν~xi~ξ~omicron~ο~pi~π~rho~ρ~sigmaf~ς~sigma~σ~tau~τ~upsilon~υ~phi~φ~chi~χ~psi~ψ~omega~ω~thetasym~ϑ~upsih~ϒ~piv~ϖ~bull~•~hellip~…~prime~′~Prime~″~oline~‾~frasl~⁄~weierp~℘~image~ℑ~real~ℜ~trade~™~alefsym~ℵ~larr~←~uarr~↑~rarr~→~darr~↓~harr~↔~crarr~↵~lArr~⇐~uArr~⇑~rArr~⇒~dArr~⇓~hArr~⇔~forall~∀~part~∂~exist~∃~empty~∅~nabla~∇~isin~∈~notin~∉~ni~∋~prod~∏~sum~∑~minus~−~lowast~∗~radic~√~prop~∝~infin~∞~ang~∠~and~∧~or~∨~cap~∩~cup~∪~int~∫~there4~∴~sim~∼~cong~≅~asymp~≈~ne~≠~equiv~≡~le~≤~ge~≥~sub~⊂~sup~⊃~nsub~⊄~sube~⊆~supe~⊇~oplus~⊕~otimes~⊗~perp~⊥~sdot~⋅~lceil~⌈~rceil~⌉~lfloor~⌊~rfloor~⌋~lang~〈~rang~〉~loz~◊~spades~♠~clubs~♣~hearts~♥~diams~♦~~nbsp~ ~iexcl~¡~cent~¢~pound~£~curren~¤~yen~¥~brvbar~¦~sect~§~uml~¨~copy~©~ordf~ª~laquo~«~not~¬~shy~­~reg~®~macr~¯~deg~°~plusmn~±~sup2~²~sup3~³~acute~´~micro~µ~para~¶~middot~·~cedil~¸~sup1~¹~ordm~º~raquo~»~frac14~¼~frac12~½~frac34~¾~iquest~¿~Agrave~À~Aacute~Á~Acirc~Â~Atilde~Ã~Auml~Ä~Aring~Å~AElig~Æ~Ccedil~Ç~Egrave~È~Eacute~É~Ecirc~Ê~Euml~Ë~Igrave~Ì~Iacute~Í~Icirc~Î~Iuml~Ï~ETH~Ð~Ntilde~Ñ~Ograve~Ò~Oacute~Ó~Ocirc~Ô~Otilde~Õ~Ouml~Ö~times~×~Oslash~Ø~Ugrave~Ù~Uacute~Ú~Ucirc~Û~Uuml~Ü~Yacute~Ý~THORN~Þ~szlig~ß~agrave~à~aacute~á~acirc~â~atilde~ã~auml~ä~aring~å~aelig~æ~ccedil~ç~egrave~è~eacute~é~ecirc~ê~euml~ë~igrave~ì~iacute~í~icirc~î~iuml~ï~eth~ð~ntilde~ñ~ograve~ò~oacute~ó~ocirc~ô~otilde~õ~ouml~ö~divide~÷~oslash~ø~ugrave~ù~uacute~ú~ucirc~û~uuml~ü~yacute~ý~thorn~þ~yuml~ÿ~quot~\"~amp~&~lt~<~gt~>"),s.html5=a('Abreve~Ă~Acy~А~Afr~𝔄~Amacr~Ā~And~⩓~Aogon~Ą~Aopf~𝔸~ApplyFunction~⁡~Ascr~𝒜~Assign~≔~Backslash~∖~Barv~⫧~Barwed~⌆~Bcy~Б~Because~∵~Bernoullis~ℬ~Bfr~𝔅~Bopf~𝔹~Breve~˘~Bscr~ℬ~Bumpeq~≎~CHcy~Ч~Cacute~Ć~Cap~⋒~CapitalDifferentialD~ⅅ~Cayleys~ℭ~Ccaron~Č~Ccirc~Ĉ~Cconint~∰~Cdot~Ċ~Cedilla~¸~CenterDot~·~Cfr~ℭ~CircleDot~⊙~CircleMinus~⊖~CirclePlus~⊕~CircleTimes~⊗~ClockwiseContourIntegral~∲~CloseCurlyDoubleQuote~”~CloseCurlyQuote~’~Colon~∷~Colone~⩴~Congruent~≡~Conint~∯~ContourIntegral~∮~Copf~ℂ~Coproduct~∐~CounterClockwiseContourIntegral~∳~Cross~⨯~Cscr~𝒞~Cup~⋓~CupCap~≍~DD~ⅅ~DDotrahd~⤑~DJcy~Ђ~DScy~Ѕ~DZcy~Џ~Darr~↡~Dashv~⫤~Dcaron~Ď~Dcy~Д~Del~∇~Dfr~𝔇~DiacriticalAcute~´~DiacriticalDot~˙~DiacriticalDoubleAcute~˝~DiacriticalGrave~`~DiacriticalTilde~˜~Diamond~⋄~DifferentialD~ⅆ~Dopf~𝔻~Dot~¨~DotDot~⃜~DotEqual~≐~DoubleContourIntegral~∯~DoubleDot~¨~DoubleDownArrow~⇓~DoubleLeftArrow~⇐~DoubleLeftRightArrow~⇔~DoubleLeftTee~⫤~DoubleLongLeftArrow~⟸~DoubleLongLeftRightArrow~⟺~DoubleLongRightArrow~⟹~DoubleRightArrow~⇒~DoubleRightTee~⊨~DoubleUpArrow~⇑~DoubleUpDownArrow~⇕~DoubleVerticalBar~∥~DownArrow~↓~DownArrowBar~⤓~DownArrowUpArrow~⇵~DownBreve~̑~DownLeftRightVector~⥐~DownLeftTeeVector~⥞~DownLeftVector~↽~DownLeftVectorBar~⥖~DownRightTeeVector~⥟~DownRightVector~⇁~DownRightVectorBar~⥗~DownTee~⊤~DownTeeArrow~↧~Downarrow~⇓~Dscr~𝒟~Dstrok~Đ~ENG~Ŋ~Ecaron~Ě~Ecy~Э~Edot~Ė~Efr~𝔈~Element~∈~Emacr~Ē~EmptySmallSquare~◻~EmptyVerySmallSquare~▫~Eogon~Ę~Eopf~𝔼~Equal~⩵~EqualTilde~≂~Equilibrium~⇌~Escr~ℰ~Esim~⩳~Exists~∃~ExponentialE~ⅇ~Fcy~Ф~Ffr~𝔉~FilledSmallSquare~◼~FilledVerySmallSquare~▪~Fopf~𝔽~ForAll~∀~Fouriertrf~ℱ~Fscr~ℱ~GJcy~Ѓ~Gammad~Ϝ~Gbreve~Ğ~Gcedil~Ģ~Gcirc~Ĝ~Gcy~Г~Gdot~Ġ~Gfr~𝔊~Gg~⋙~Gopf~𝔾~GreaterEqual~≥~GreaterEqualLess~⋛~GreaterFullEqual~≧~GreaterGreater~⪢~GreaterLess~≷~GreaterSlantEqual~⩾~GreaterTilde~≳~Gscr~𝒢~Gt~≫~HARDcy~Ъ~Hacek~ˇ~Hat~^~Hcirc~Ĥ~Hfr~ℌ~HilbertSpace~ℋ~Hopf~ℍ~HorizontalLine~─~Hscr~ℋ~Hstrok~Ħ~HumpDownHump~≎~HumpEqual~≏~IEcy~Е~IJlig~IJ~IOcy~Ё~Icy~И~Idot~İ~Ifr~ℑ~Im~ℑ~Imacr~Ī~ImaginaryI~ⅈ~Implies~⇒~Int~∬~Integral~∫~Intersection~⋂~InvisibleComma~⁣~InvisibleTimes~⁢~Iogon~Į~Iopf~𝕀~Iscr~ℐ~Itilde~Ĩ~Iukcy~І~Jcirc~Ĵ~Jcy~Й~Jfr~𝔍~Jopf~𝕁~Jscr~𝒥~Jsercy~Ј~Jukcy~Є~KHcy~Х~KJcy~Ќ~Kcedil~Ķ~Kcy~К~Kfr~𝔎~Kopf~𝕂~Kscr~𝒦~LJcy~Љ~Lacute~Ĺ~Lang~⟪~Laplacetrf~ℒ~Larr~↞~Lcaron~Ľ~Lcedil~Ļ~Lcy~Л~LeftAngleBracket~⟨~LeftArrow~←~LeftArrowBar~⇤~LeftArrowRightArrow~⇆~LeftCeiling~⌈~LeftDoubleBracket~⟦~LeftDownTeeVector~⥡~LeftDownVector~⇃~LeftDownVectorBar~⥙~LeftFloor~⌊~LeftRightArrow~↔~LeftRightVector~⥎~LeftTee~⊣~LeftTeeArrow~↤~LeftTeeVector~⥚~LeftTriangle~⊲~LeftTriangleBar~⧏~LeftTriangleEqual~⊴~LeftUpDownVector~⥑~LeftUpTeeVector~⥠~LeftUpVector~↿~LeftUpVectorBar~⥘~LeftVector~↼~LeftVectorBar~⥒~Leftarrow~⇐~Leftrightarrow~⇔~LessEqualGreater~⋚~LessFullEqual~≦~LessGreater~≶~LessLess~⪡~LessSlantEqual~⩽~LessTilde~≲~Lfr~𝔏~Ll~⋘~Lleftarrow~⇚~Lmidot~Ŀ~LongLeftArrow~⟵~LongLeftRightArrow~⟷~LongRightArrow~⟶~Longleftarrow~⟸~Longleftrightarrow~⟺~Longrightarrow~⟹~Lopf~𝕃~LowerLeftArrow~↙~LowerRightArrow~↘~Lscr~ℒ~Lsh~↰~Lstrok~Ł~Lt~≪~Map~⤅~Mcy~М~MediumSpace~ ~Mellintrf~ℳ~Mfr~𝔐~MinusPlus~∓~Mopf~𝕄~Mscr~ℳ~NJcy~Њ~Nacute~Ń~Ncaron~Ň~Ncedil~Ņ~Ncy~Н~NegativeMediumSpace~​~NegativeThickSpace~​~NegativeThinSpace~​~NegativeVeryThinSpace~​~NestedGreaterGreater~≫~NestedLessLess~≪~NewLine~\n~Nfr~𝔑~NoBreak~⁠~NonBreakingSpace~ ~Nopf~ℕ~Not~⫬~NotCongruent~≢~NotCupCap~≭~NotDoubleVerticalBar~∦~NotElement~∉~NotEqual~≠~NotEqualTilde~≂̸~NotExists~∄~NotGreater~≯~NotGreaterEqual~≱~NotGreaterFullEqual~≧̸~NotGreaterGreater~≫̸~NotGreaterLess~≹~NotGreaterSlantEqual~⩾̸~NotGreaterTilde~≵~NotHumpDownHump~≎̸~NotHumpEqual~≏̸~NotLeftTriangle~⋪~NotLeftTriangleBar~⧏̸~NotLeftTriangleEqual~⋬~NotLess~≮~NotLessEqual~≰~NotLessGreater~≸~NotLessLess~≪̸~NotLessSlantEqual~⩽̸~NotLessTilde~≴~NotNestedGreaterGreater~⪢̸~NotNestedLessLess~⪡̸~NotPrecedes~⊀~NotPrecedesEqual~⪯̸~NotPrecedesSlantEqual~⋠~NotReverseElement~∌~NotRightTriangle~⋫~NotRightTriangleBar~⧐̸~NotRightTriangleEqual~⋭~NotSquareSubset~⊏̸~NotSquareSubsetEqual~⋢~NotSquareSuperset~⊐̸~NotSquareSupersetEqual~⋣~NotSubset~⊂⃒~NotSubsetEqual~⊈~NotSucceeds~⊁~NotSucceedsEqual~⪰̸~NotSucceedsSlantEqual~⋡~NotSucceedsTilde~≿̸~NotSuperset~⊃⃒~NotSupersetEqual~⊉~NotTilde~≁~NotTildeEqual~≄~NotTildeFullEqual~≇~NotTildeTilde~≉~NotVerticalBar~∤~Nscr~𝒩~Ocy~О~Odblac~Ő~Ofr~𝔒~Omacr~Ō~Oopf~𝕆~OpenCurlyDoubleQuote~“~OpenCurlyQuote~‘~Or~⩔~Oscr~𝒪~Otimes~⨷~OverBar~‾~OverBrace~⏞~OverBracket~⎴~OverParenthesis~⏜~PartialD~∂~Pcy~П~Pfr~𝔓~PlusMinus~±~Poincareplane~ℌ~Popf~ℙ~Pr~⪻~Precedes~≺~PrecedesEqual~⪯~PrecedesSlantEqual~≼~PrecedesTilde~≾~Product~∏~Proportion~∷~Proportional~∝~Pscr~𝒫~Qfr~𝔔~Qopf~ℚ~Qscr~𝒬~RBarr~⤐~Racute~Ŕ~Rang~⟫~Rarr~↠~Rarrtl~⤖~Rcaron~Ř~Rcedil~Ŗ~Rcy~Р~Re~ℜ~ReverseElement~∋~ReverseEquilibrium~⇋~ReverseUpEquilibrium~⥯~Rfr~ℜ~RightAngleBracket~⟩~RightArrow~→~RightArrowBar~⇥~RightArrowLeftArrow~⇄~RightCeiling~⌉~RightDoubleBracket~⟧~RightDownTeeVector~⥝~RightDownVector~⇂~RightDownVectorBar~⥕~RightFloor~⌋~RightTee~⊢~RightTeeArrow~↦~RightTeeVector~⥛~RightTriangle~⊳~RightTriangleBar~⧐~RightTriangleEqual~⊵~RightUpDownVector~⥏~RightUpTeeVector~⥜~RightUpVector~↾~RightUpVectorBar~⥔~RightVector~⇀~RightVectorBar~⥓~Rightarrow~⇒~Ropf~ℝ~RoundImplies~⥰~Rrightarrow~⇛~Rscr~ℛ~Rsh~↱~RuleDelayed~⧴~SHCHcy~Щ~SHcy~Ш~SOFTcy~Ь~Sacute~Ś~Sc~⪼~Scedil~Ş~Scirc~Ŝ~Scy~С~Sfr~𝔖~ShortDownArrow~↓~ShortLeftArrow~←~ShortRightArrow~→~ShortUpArrow~↑~SmallCircle~∘~Sopf~𝕊~Sqrt~√~Square~□~SquareIntersection~⊓~SquareSubset~⊏~SquareSubsetEqual~⊑~SquareSuperset~⊐~SquareSupersetEqual~⊒~SquareUnion~⊔~Sscr~𝒮~Star~⋆~Sub~⋐~Subset~⋐~SubsetEqual~⊆~Succeeds~≻~SucceedsEqual~⪰~SucceedsSlantEqual~≽~SucceedsTilde~≿~SuchThat~∋~Sum~∑~Sup~⋑~Superset~⊃~SupersetEqual~⊇~Supset~⋑~TRADE~™~TSHcy~Ћ~TScy~Ц~Tab~\t~Tcaron~Ť~Tcedil~Ţ~Tcy~Т~Tfr~𝔗~Therefore~∴~ThickSpace~  ~ThinSpace~ ~Tilde~∼~TildeEqual~≃~TildeFullEqual~≅~TildeTilde~≈~Topf~𝕋~TripleDot~⃛~Tscr~𝒯~Tstrok~Ŧ~Uarr~↟~Uarrocir~⥉~Ubrcy~Ў~Ubreve~Ŭ~Ucy~У~Udblac~Ű~Ufr~𝔘~Umacr~Ū~UnderBar~_~UnderBrace~⏟~UnderBracket~⎵~UnderParenthesis~⏝~Union~⋃~UnionPlus~⊎~Uogon~Ų~Uopf~𝕌~UpArrow~↑~UpArrowBar~⤒~UpArrowDownArrow~⇅~UpDownArrow~↕~UpEquilibrium~⥮~UpTee~⊥~UpTeeArrow~↥~Uparrow~⇑~Updownarrow~⇕~UpperLeftArrow~↖~UpperRightArrow~↗~Upsi~ϒ~Uring~Ů~Uscr~𝒰~Utilde~Ũ~VDash~⊫~Vbar~⫫~Vcy~В~Vdash~⊩~Vdashl~⫦~Vee~⋁~Verbar~‖~Vert~‖~VerticalBar~∣~VerticalLine~|~VerticalSeparator~❘~VerticalTilde~≀~VeryThinSpace~ ~Vfr~𝔙~Vopf~𝕍~Vscr~𝒱~Vvdash~⊪~Wcirc~Ŵ~Wedge~⋀~Wfr~𝔚~Wopf~𝕎~Wscr~𝒲~Xfr~𝔛~Xopf~𝕏~Xscr~𝒳~YAcy~Я~YIcy~Ї~YUcy~Ю~Ycirc~Ŷ~Ycy~Ы~Yfr~𝔜~Yopf~𝕐~Yscr~𝒴~ZHcy~Ж~Zacute~Ź~Zcaron~Ž~Zcy~З~Zdot~Ż~ZeroWidthSpace~​~Zfr~ℨ~Zopf~ℤ~Zscr~𝒵~abreve~ă~ac~∾~acE~∾̳~acd~∿~acy~а~af~⁡~afr~𝔞~aleph~ℵ~amacr~ā~amalg~⨿~andand~⩕~andd~⩜~andslope~⩘~andv~⩚~ange~⦤~angle~∠~angmsd~∡~angmsdaa~⦨~angmsdab~⦩~angmsdac~⦪~angmsdad~⦫~angmsdae~⦬~angmsdaf~⦭~angmsdag~⦮~angmsdah~⦯~angrt~∟~angrtvb~⊾~angrtvbd~⦝~angsph~∢~angst~Å~angzarr~⍼~aogon~ą~aopf~𝕒~ap~≈~apE~⩰~apacir~⩯~ape~≊~apid~≋~approx~≈~approxeq~≊~ascr~𝒶~ast~*~asympeq~≍~awconint~∳~awint~⨑~bNot~⫭~backcong~≌~backepsilon~϶~backprime~‵~backsim~∽~backsimeq~⋍~barvee~⊽~barwed~⌅~barwedge~⌅~bbrk~⎵~bbrktbrk~⎶~bcong~≌~bcy~б~becaus~∵~because~∵~bemptyv~⦰~bepsi~϶~bernou~ℬ~beth~ℶ~between~≬~bfr~𝔟~bigcap~⋂~bigcirc~◯~bigcup~⋃~bigodot~⨀~bigoplus~⨁~bigotimes~⨂~bigsqcup~⨆~bigstar~★~bigtriangledown~▽~bigtriangleup~△~biguplus~⨄~bigvee~⋁~bigwedge~⋀~bkarow~⤍~blacklozenge~⧫~blacksquare~▪~blacktriangle~▴~blacktriangledown~▾~blacktriangleleft~◂~blacktriangleright~▸~blank~␣~blk12~▒~blk14~░~blk34~▓~block~█~bne~=⃥~bnequiv~≡⃥~bnot~⌐~bopf~𝕓~bot~⊥~bottom~⊥~bowtie~⋈~boxDL~╗~boxDR~╔~boxDl~╖~boxDr~╓~boxH~═~boxHD~╦~boxHU~╩~boxHd~╤~boxHu~╧~boxUL~╝~boxUR~╚~boxUl~╜~boxUr~╙~boxV~║~boxVH~╬~boxVL~╣~boxVR~╠~boxVh~╫~boxVl~╢~boxVr~╟~boxbox~⧉~boxdL~╕~boxdR~╒~boxdl~┐~boxdr~┌~boxh~─~boxhD~╥~boxhU~╨~boxhd~┬~boxhu~┴~boxminus~⊟~boxplus~⊞~boxtimes~⊠~boxuL~╛~boxuR~╘~boxul~┘~boxur~└~boxv~│~boxvH~╪~boxvL~╡~boxvR~╞~boxvh~┼~boxvl~┤~boxvr~├~bprime~‵~breve~˘~bscr~𝒷~bsemi~⁏~bsim~∽~bsime~⋍~bsol~\\~bsolb~⧅~bsolhsub~⟈~bullet~•~bump~≎~bumpE~⪮~bumpe~≏~bumpeq~≏~cacute~ć~capand~⩄~capbrcup~⩉~capcap~⩋~capcup~⩇~capdot~⩀~caps~∩︀~caret~⁁~caron~ˇ~ccaps~⩍~ccaron~č~ccirc~ĉ~ccups~⩌~ccupssm~⩐~cdot~ċ~cemptyv~⦲~centerdot~·~cfr~𝔠~chcy~ч~check~✓~checkmark~✓~cir~○~cirE~⧃~circeq~≗~circlearrowleft~↺~circlearrowright~↻~circledR~®~circledS~Ⓢ~circledast~⊛~circledcirc~⊚~circleddash~⊝~cire~≗~cirfnint~⨐~cirmid~⫯~cirscir~⧂~clubsuit~♣~colon~:~colone~≔~coloneq~≔~comma~,~commat~@~comp~∁~compfn~∘~complement~∁~complexes~ℂ~congdot~⩭~conint~∮~copf~𝕔~coprod~∐~copysr~℗~cross~✗~cscr~𝒸~csub~⫏~csube~⫑~csup~⫐~csupe~⫒~ctdot~⋯~cudarrl~⤸~cudarrr~⤵~cuepr~⋞~cuesc~⋟~cularr~↶~cularrp~⤽~cupbrcap~⩈~cupcap~⩆~cupcup~⩊~cupdot~⊍~cupor~⩅~cups~∪︀~curarr~↷~curarrm~⤼~curlyeqprec~⋞~curlyeqsucc~⋟~curlyvee~⋎~curlywedge~⋏~curvearrowleft~↶~curvearrowright~↷~cuvee~⋎~cuwed~⋏~cwconint~∲~cwint~∱~cylcty~⌭~dHar~⥥~daleth~ℸ~dash~‐~dashv~⊣~dbkarow~⤏~dblac~˝~dcaron~ď~dcy~д~dd~ⅆ~ddagger~‡~ddarr~⇊~ddotseq~⩷~demptyv~⦱~dfisht~⥿~dfr~𝔡~dharl~⇃~dharr~⇂~diam~⋄~diamond~⋄~diamondsuit~♦~die~¨~digamma~ϝ~disin~⋲~div~÷~divideontimes~⋇~divonx~⋇~djcy~ђ~dlcorn~⌞~dlcrop~⌍~dollar~$~dopf~𝕕~dot~˙~doteq~≐~doteqdot~≑~dotminus~∸~dotplus~∔~dotsquare~⊡~doublebarwedge~⌆~downarrow~↓~downdownarrows~⇊~downharpoonleft~⇃~downharpoonright~⇂~drbkarow~⤐~drcorn~⌟~drcrop~⌌~dscr~𝒹~dscy~ѕ~dsol~⧶~dstrok~đ~dtdot~⋱~dtri~▿~dtrif~▾~duarr~⇵~duhar~⥯~dwangle~⦦~dzcy~џ~dzigrarr~⟿~eDDot~⩷~eDot~≑~easter~⩮~ecaron~ě~ecir~≖~ecolon~≕~ecy~э~edot~ė~ee~ⅇ~efDot~≒~efr~𝔢~eg~⪚~egs~⪖~egsdot~⪘~el~⪙~elinters~⏧~ell~ℓ~els~⪕~elsdot~⪗~emacr~ē~emptyset~∅~emptyv~∅~emsp13~ ~emsp14~ ~eng~ŋ~eogon~ę~eopf~𝕖~epar~⋕~eparsl~⧣~eplus~⩱~epsi~ε~epsiv~ϵ~eqcirc~≖~eqcolon~≕~eqsim~≂~eqslantgtr~⪖~eqslantless~⪕~equals~=~equest~≟~equivDD~⩸~eqvparsl~⧥~erDot~≓~erarr~⥱~escr~ℯ~esdot~≐~esim~≂~excl~!~expectation~ℰ~exponentiale~ⅇ~fallingdotseq~≒~fcy~ф~female~♀~ffilig~ffi~fflig~ff~ffllig~ffl~ffr~𝔣~filig~fi~fjlig~fj~flat~♭~fllig~fl~fltns~▱~fopf~𝕗~fork~⋔~forkv~⫙~fpartint~⨍~frac13~⅓~frac15~⅕~frac16~⅙~frac18~⅛~frac23~⅔~frac25~⅖~frac35~⅗~frac38~⅜~frac45~⅘~frac56~⅚~frac58~⅝~frac78~⅞~frown~⌢~fscr~𝒻~gE~≧~gEl~⪌~gacute~ǵ~gammad~ϝ~gap~⪆~gbreve~ğ~gcirc~ĝ~gcy~г~gdot~ġ~gel~⋛~geq~≥~geqq~≧~geqslant~⩾~ges~⩾~gescc~⪩~gesdot~⪀~gesdoto~⪂~gesdotol~⪄~gesl~⋛︀~gesles~⪔~gfr~𝔤~gg~≫~ggg~⋙~gimel~ℷ~gjcy~ѓ~gl~≷~glE~⪒~gla~⪥~glj~⪤~gnE~≩~gnap~⪊~gnapprox~⪊~gne~⪈~gneq~⪈~gneqq~≩~gnsim~⋧~gopf~𝕘~grave~`~gscr~ℊ~gsim~≳~gsime~⪎~gsiml~⪐~gtcc~⪧~gtcir~⩺~gtdot~⋗~gtlPar~⦕~gtquest~⩼~gtrapprox~⪆~gtrarr~⥸~gtrdot~⋗~gtreqless~⋛~gtreqqless~⪌~gtrless~≷~gtrsim~≳~gvertneqq~≩︀~gvnE~≩︀~hairsp~ ~half~½~hamilt~ℋ~hardcy~ъ~harrcir~⥈~harrw~↭~hbar~ℏ~hcirc~ĥ~heartsuit~♥~hercon~⊹~hfr~𝔥~hksearow~⤥~hkswarow~⤦~hoarr~⇿~homtht~∻~hookleftarrow~↩~hookrightarrow~↪~hopf~𝕙~horbar~―~hscr~𝒽~hslash~ℏ~hstrok~ħ~hybull~⁃~hyphen~‐~ic~⁣~icy~и~iecy~е~iff~⇔~ifr~𝔦~ii~ⅈ~iiiint~⨌~iiint~∭~iinfin~⧜~iiota~℩~ijlig~ij~imacr~ī~imagline~ℐ~imagpart~ℑ~imath~ı~imof~⊷~imped~Ƶ~in~∈~incare~℅~infintie~⧝~inodot~ı~intcal~⊺~integers~ℤ~intercal~⊺~intlarhk~⨗~intprod~⨼~iocy~ё~iogon~į~iopf~𝕚~iprod~⨼~iscr~𝒾~isinE~⋹~isindot~⋵~isins~⋴~isinsv~⋳~isinv~∈~it~⁢~itilde~ĩ~iukcy~і~jcirc~ĵ~jcy~й~jfr~𝔧~jmath~ȷ~jopf~𝕛~jscr~𝒿~jsercy~ј~jukcy~є~kappav~ϰ~kcedil~ķ~kcy~к~kfr~𝔨~kgreen~ĸ~khcy~х~kjcy~ќ~kopf~𝕜~kscr~𝓀~lAarr~⇚~lAtail~⤛~lBarr~⤎~lE~≦~lEg~⪋~lHar~⥢~lacute~ĺ~laemptyv~⦴~lagran~ℒ~langd~⦑~langle~⟨~lap~⪅~larrb~⇤~larrbfs~⤟~larrfs~⤝~larrhk~↩~larrlp~↫~larrpl~⤹~larrsim~⥳~larrtl~↢~lat~⪫~latail~⤙~late~⪭~lates~⪭︀~lbarr~⤌~lbbrk~❲~lbrace~{~lbrack~[~lbrke~⦋~lbrksld~⦏~lbrkslu~⦍~lcaron~ľ~lcedil~ļ~lcub~{~lcy~л~ldca~⤶~ldquor~„~ldrdhar~⥧~ldrushar~⥋~ldsh~↲~leftarrow~←~leftarrowtail~↢~leftharpoondown~↽~leftharpoonup~↼~leftleftarrows~⇇~leftrightarrow~↔~leftrightarrows~⇆~leftrightharpoons~⇋~leftrightsquigarrow~↭~leftthreetimes~⋋~leg~⋚~leq~≤~leqq~≦~leqslant~⩽~les~⩽~lescc~⪨~lesdot~⩿~lesdoto~⪁~lesdotor~⪃~lesg~⋚︀~lesges~⪓~lessapprox~⪅~lessdot~⋖~lesseqgtr~⋚~lesseqqgtr~⪋~lessgtr~≶~lesssim~≲~lfisht~⥼~lfr~𝔩~lg~≶~lgE~⪑~lhard~↽~lharu~↼~lharul~⥪~lhblk~▄~ljcy~љ~ll~≪~llarr~⇇~llcorner~⌞~llhard~⥫~lltri~◺~lmidot~ŀ~lmoust~⎰~lmoustache~⎰~lnE~≨~lnap~⪉~lnapprox~⪉~lne~⪇~lneq~⪇~lneqq~≨~lnsim~⋦~loang~⟬~loarr~⇽~lobrk~⟦~longleftarrow~⟵~longleftrightarrow~⟷~longmapsto~⟼~longrightarrow~⟶~looparrowleft~↫~looparrowright~↬~lopar~⦅~lopf~𝕝~loplus~⨭~lotimes~⨴~lowbar~_~lozenge~◊~lozf~⧫~lpar~(~lparlt~⦓~lrarr~⇆~lrcorner~⌟~lrhar~⇋~lrhard~⥭~lrtri~⊿~lscr~𝓁~lsh~↰~lsim~≲~lsime~⪍~lsimg~⪏~lsqb~[~lsquor~‚~lstrok~ł~ltcc~⪦~ltcir~⩹~ltdot~⋖~lthree~⋋~ltimes~⋉~ltlarr~⥶~ltquest~⩻~ltrPar~⦖~ltri~◃~ltrie~⊴~ltrif~◂~lurdshar~⥊~luruhar~⥦~lvertneqq~≨︀~lvnE~≨︀~mDDot~∺~male~♂~malt~✠~maltese~✠~map~↦~mapsto~↦~mapstodown~↧~mapstoleft~↤~mapstoup~↥~marker~▮~mcomma~⨩~mcy~м~measuredangle~∡~mfr~𝔪~mho~℧~mid~∣~midast~*~midcir~⫰~minusb~⊟~minusd~∸~minusdu~⨪~mlcp~⫛~mldr~…~mnplus~∓~models~⊧~mopf~𝕞~mp~∓~mscr~𝓂~mstpos~∾~multimap~⊸~mumap~⊸~nGg~⋙̸~nGt~≫⃒~nGtv~≫̸~nLeftarrow~⇍~nLeftrightarrow~⇎~nLl~⋘̸~nLt~≪⃒~nLtv~≪̸~nRightarrow~⇏~nVDash~⊯~nVdash~⊮~nacute~ń~nang~∠⃒~nap~≉~napE~⩰̸~napid~≋̸~napos~ʼn~napprox~≉~natur~♮~natural~♮~naturals~ℕ~nbump~≎̸~nbumpe~≏̸~ncap~⩃~ncaron~ň~ncedil~ņ~ncong~≇~ncongdot~⩭̸~ncup~⩂~ncy~н~neArr~⇗~nearhk~⤤~nearr~↗~nearrow~↗~nedot~≐̸~nequiv~≢~nesear~⤨~nesim~≂̸~nexist~∄~nexists~∄~nfr~𝔫~ngE~≧̸~nge~≱~ngeq~≱~ngeqq~≧̸~ngeqslant~⩾̸~nges~⩾̸~ngsim~≵~ngt~≯~ngtr~≯~nhArr~⇎~nharr~↮~nhpar~⫲~nis~⋼~nisd~⋺~niv~∋~njcy~њ~nlArr~⇍~nlE~≦̸~nlarr~↚~nldr~‥~nle~≰~nleftarrow~↚~nleftrightarrow~↮~nleq~≰~nleqq~≦̸~nleqslant~⩽̸~nles~⩽̸~nless~≮~nlsim~≴~nlt~≮~nltri~⋪~nltrie~⋬~nmid~∤~nopf~𝕟~notinE~⋹̸~notindot~⋵̸~notinva~∉~notinvb~⋷~notinvc~⋶~notni~∌~notniva~∌~notnivb~⋾~notnivc~⋽~npar~∦~nparallel~∦~nparsl~⫽⃥~npart~∂̸~npolint~⨔~npr~⊀~nprcue~⋠~npre~⪯̸~nprec~⊀~npreceq~⪯̸~nrArr~⇏~nrarr~↛~nrarrc~⤳̸~nrarrw~↝̸~nrightarrow~↛~nrtri~⋫~nrtrie~⋭~nsc~⊁~nsccue~⋡~nsce~⪰̸~nscr~𝓃~nshortmid~∤~nshortparallel~∦~nsim~≁~nsime~≄~nsimeq~≄~nsmid~∤~nspar~∦~nsqsube~⋢~nsqsupe~⋣~nsubE~⫅̸~nsube~⊈~nsubset~⊂⃒~nsubseteq~⊈~nsubseteqq~⫅̸~nsucc~⊁~nsucceq~⪰̸~nsup~⊅~nsupE~⫆̸~nsupe~⊉~nsupset~⊃⃒~nsupseteq~⊉~nsupseteqq~⫆̸~ntgl~≹~ntlg~≸~ntriangleleft~⋪~ntrianglelefteq~⋬~ntriangleright~⋫~ntrianglerighteq~⋭~num~#~numero~№~numsp~ ~nvDash~⊭~nvHarr~⤄~nvap~≍⃒~nvdash~⊬~nvge~≥⃒~nvgt~>⃒~nvinfin~⧞~nvlArr~⤂~nvle~≤⃒~nvlt~<⃒~nvltrie~⊴⃒~nvrArr~⤃~nvrtrie~⊵⃒~nvsim~∼⃒~nwArr~⇖~nwarhk~⤣~nwarr~↖~nwarrow~↖~nwnear~⤧~oS~Ⓢ~oast~⊛~ocir~⊚~ocy~о~odash~⊝~odblac~ő~odiv~⨸~odot~⊙~odsold~⦼~ofcir~⦿~ofr~𝔬~ogon~˛~ogt~⧁~ohbar~⦵~ohm~Ω~oint~∮~olarr~↺~olcir~⦾~olcross~⦻~olt~⧀~omacr~ō~omid~⦶~ominus~⊖~oopf~𝕠~opar~⦷~operp~⦹~orarr~↻~ord~⩝~order~ℴ~orderof~ℴ~origof~⊶~oror~⩖~orslope~⩗~orv~⩛~oscr~ℴ~osol~⊘~otimesas~⨶~ovbar~⌽~par~∥~parallel~∥~parsim~⫳~parsl~⫽~pcy~п~percnt~%~period~.~pertenk~‱~pfr~𝔭~phiv~ϕ~phmmat~ℳ~phone~☎~pitchfork~⋔~planck~ℏ~planckh~ℎ~plankv~ℏ~plus~+~plusacir~⨣~plusb~⊞~pluscir~⨢~plusdo~∔~plusdu~⨥~pluse~⩲~plussim~⨦~plustwo~⨧~pm~±~pointint~⨕~popf~𝕡~pr~≺~prE~⪳~prap~⪷~prcue~≼~pre~⪯~prec~≺~precapprox~⪷~preccurlyeq~≼~preceq~⪯~precnapprox~⪹~precneqq~⪵~precnsim~⋨~precsim~≾~primes~ℙ~prnE~⪵~prnap~⪹~prnsim~⋨~profalar~⌮~profline~⌒~profsurf~⌓~propto~∝~prsim~≾~prurel~⊰~pscr~𝓅~puncsp~ ~qfr~𝔮~qint~⨌~qopf~𝕢~qprime~⁗~qscr~𝓆~quaternions~ℍ~quatint~⨖~quest~?~questeq~≟~rAarr~⇛~rAtail~⤜~rBarr~⤏~rHar~⥤~race~∽̱~racute~ŕ~raemptyv~⦳~rangd~⦒~range~⦥~rangle~⟩~rarrap~⥵~rarrb~⇥~rarrbfs~⤠~rarrc~⤳~rarrfs~⤞~rarrhk~↪~rarrlp~↬~rarrpl~⥅~rarrsim~⥴~rarrtl~↣~rarrw~↝~ratail~⤚~ratio~∶~rationals~ℚ~rbarr~⤍~rbbrk~❳~rbrace~}~rbrack~]~rbrke~⦌~rbrksld~⦎~rbrkslu~⦐~rcaron~ř~rcedil~ŗ~rcub~}~rcy~р~rdca~⤷~rdldhar~⥩~rdquor~”~rdsh~↳~realine~ℛ~realpart~ℜ~reals~ℝ~rect~▭~rfisht~⥽~rfr~𝔯~rhard~⇁~rharu~⇀~rharul~⥬~rhov~ϱ~rightarrow~→~rightarrowtail~↣~rightharpoondown~⇁~rightharpoonup~⇀~rightleftarrows~⇄~rightleftharpoons~⇌~rightrightarrows~⇉~rightsquigarrow~↝~rightthreetimes~⋌~ring~˚~risingdotseq~≓~rlarr~⇄~rlhar~⇌~rmoust~⎱~rmoustache~⎱~rnmid~⫮~roang~⟭~roarr~⇾~robrk~⟧~ropar~⦆~ropf~𝕣~roplus~⨮~rotimes~⨵~rpar~)~rpargt~⦔~rppolint~⨒~rrarr~⇉~rscr~𝓇~rsh~↱~rsqb~]~rsquor~’~rthree~⋌~rtimes~⋊~rtri~▹~rtrie~⊵~rtrif~▸~rtriltri~⧎~ruluhar~⥨~rx~℞~sacute~ś~sc~≻~scE~⪴~scap~⪸~sccue~≽~sce~⪰~scedil~ş~scirc~ŝ~scnE~⪶~scnap~⪺~scnsim~⋩~scpolint~⨓~scsim~≿~scy~с~sdotb~⊡~sdote~⩦~seArr~⇘~searhk~⤥~searr~↘~searrow~↘~semi~;~seswar~⤩~setminus~∖~setmn~∖~sext~✶~sfr~𝔰~sfrown~⌢~sharp~♯~shchcy~щ~shcy~ш~shortmid~∣~shortparallel~∥~sigmav~ς~simdot~⩪~sime~≃~simeq~≃~simg~⪞~simgE~⪠~siml~⪝~simlE~⪟~simne~≆~simplus~⨤~simrarr~⥲~slarr~←~smallsetminus~∖~smashp~⨳~smeparsl~⧤~smid~∣~smile~⌣~smt~⪪~smte~⪬~smtes~⪬︀~softcy~ь~sol~/~solb~⧄~solbar~⌿~sopf~𝕤~spadesuit~♠~spar~∥~sqcap~⊓~sqcaps~⊓︀~sqcup~⊔~sqcups~⊔︀~sqsub~⊏~sqsube~⊑~sqsubset~⊏~sqsubseteq~⊑~sqsup~⊐~sqsupe~⊒~sqsupset~⊐~sqsupseteq~⊒~squ~□~square~□~squarf~▪~squf~▪~srarr~→~sscr~𝓈~ssetmn~∖~ssmile~⌣~sstarf~⋆~star~☆~starf~★~straightepsilon~ϵ~straightphi~ϕ~strns~¯~subE~⫅~subdot~⪽~subedot~⫃~submult~⫁~subnE~⫋~subne~⊊~subplus~⪿~subrarr~⥹~subset~⊂~subseteq~⊆~subseteqq~⫅~subsetneq~⊊~subsetneqq~⫋~subsim~⫇~subsub~⫕~subsup~⫓~succ~≻~succapprox~⪸~succcurlyeq~≽~succeq~⪰~succnapprox~⪺~succneqq~⪶~succnsim~⋩~succsim~≿~sung~♪~supE~⫆~supdot~⪾~supdsub~⫘~supedot~⫄~suphsol~⟉~suphsub~⫗~suplarr~⥻~supmult~⫂~supnE~⫌~supne~⊋~supplus~⫀~supset~⊃~supseteq~⊇~supseteqq~⫆~supsetneq~⊋~supsetneqq~⫌~supsim~⫈~supsub~⫔~supsup~⫖~swArr~⇙~swarhk~⤦~swarr~↙~swarrow~↙~swnwar~⤪~target~⌖~tbrk~⎴~tcaron~ť~tcedil~ţ~tcy~т~tdot~⃛~telrec~⌕~tfr~𝔱~therefore~∴~thetav~ϑ~thickapprox~≈~thicksim~∼~thkap~≈~thksim~∼~timesb~⊠~timesbar~⨱~timesd~⨰~tint~∭~toea~⤨~top~⊤~topbot~⌶~topcir~⫱~topf~𝕥~topfork~⫚~tosa~⤩~tprime~‴~triangle~▵~triangledown~▿~triangleleft~◃~trianglelefteq~⊴~triangleq~≜~triangleright~▹~trianglerighteq~⊵~tridot~◬~trie~≜~triminus~⨺~triplus~⨹~trisb~⧍~tritime~⨻~trpezium~⏢~tscr~𝓉~tscy~ц~tshcy~ћ~tstrok~ŧ~twixt~≬~twoheadleftarrow~↞~twoheadrightarrow~↠~uHar~⥣~ubrcy~ў~ubreve~ŭ~ucy~у~udarr~⇅~udblac~ű~udhar~⥮~ufisht~⥾~ufr~𝔲~uharl~↿~uharr~↾~uhblk~▀~ulcorn~⌜~ulcorner~⌜~ulcrop~⌏~ultri~◸~umacr~ū~uogon~ų~uopf~𝕦~uparrow~↑~updownarrow~↕~upharpoonleft~↿~upharpoonright~↾~uplus~⊎~upsi~υ~upuparrows~⇈~urcorn~⌝~urcorner~⌝~urcrop~⌎~uring~ů~urtri~◹~uscr~𝓊~utdot~⋰~utilde~ũ~utri~▵~utrif~▴~uuarr~⇈~uwangle~⦧~vArr~⇕~vBar~⫨~vBarv~⫩~vDash~⊨~vangrt~⦜~varepsilon~ϵ~varkappa~ϰ~varnothing~∅~varphi~ϕ~varpi~ϖ~varpropto~∝~varr~↕~varrho~ϱ~varsigma~ς~varsubsetneq~⊊︀~varsubsetneqq~⫋︀~varsupsetneq~⊋︀~varsupsetneqq~⫌︀~vartheta~ϑ~vartriangleleft~⊲~vartriangleright~⊳~vcy~в~vdash~⊢~vee~∨~veebar~⊻~veeeq~≚~vellip~⋮~verbar~|~vert~|~vfr~𝔳~vltri~⊲~vnsub~⊂⃒~vnsup~⊃⃒~vopf~𝕧~vprop~∝~vrtri~⊳~vscr~𝓋~vsubnE~⫋︀~vsubne~⊊︀~vsupnE~⫌︀~vsupne~⊋︀~vzigzag~⦚~wcirc~ŵ~wedbar~⩟~wedge~∧~wedgeq~≙~wfr~𝔴~wopf~𝕨~wp~℘~wr~≀~wreath~≀~wscr~𝓌~xcap~⋂~xcirc~◯~xcup~⋃~xdtri~▽~xfr~𝔵~xhArr~⟺~xharr~⟷~xlArr~⟸~xlarr~⟵~xmap~⟼~xnis~⋻~xodot~⨀~xopf~𝕩~xoplus~⨁~xotime~⨂~xrArr~⟹~xrarr~⟶~xscr~𝓍~xsqcup~⨆~xuplus~⨄~xutri~△~xvee~⋁~xwedge~⋀~yacy~я~ycirc~ŷ~ycy~ы~yfr~𝔶~yicy~ї~yopf~𝕪~yscr~𝓎~yucy~ю~zacute~ź~zcaron~ž~zcy~з~zdot~ż~zeetrf~ℨ~zfr~𝔷~zhcy~ж~zigrarr~⇝~zopf~𝕫~zscr~𝓏~~AMP~&~COPY~©~GT~>~LT~<~QUOT~"~REG~®',s.html4),String.fromCodePoint;var i=String.prototype.codePointAt?function(r,e){return r.codePointAt(e)}:function(r,e){return 1024*(r.charCodeAt(e)-55296)+r.charCodeAt(e+1)-56320+65536},n=function(){return n=Object.assign||function(r){for(var e,t=1,a=arguments.length;t<a;t++)for(var o in e=arguments[t])Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=e[o]);return r},n.apply(this,arguments)},l=n(n({},s),{all:s.html5}),c={specialChars:/[<>'"&]/g,nonAscii:/[<>'"&\u0080-\uD7FF\uE000-\uFFFF\uDC00-\uDFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]?/g,nonAsciiPrintable:/[<>'"&\x01-\x08\x11-\x15\x17-\x1F\x7f-\uD7FF\uE000-\uFFFF\uDC00-\uDFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]?/g,nonAsciiPrintableOnly:/[\x01-\x08\x11-\x15\x17-\x1F\x7f-\uD7FF\uE000-\uFFFF\uDC00-\uDFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]?/g,extensive:/[\x01-\x0c\x0e-\x1f\x21-\x2c\x2e-\x2f\x3a-\x40\x5b-\x60\x7b-\x7d\x7f-\uD7FF\uE000-\uFFFF\uDC00-\uDFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]?/g},u={mode:"specialChars",level:"all",numeric:"decimal"};function p(r,e){var t=void 0===e?u:e,a=t.mode,o=void 0===a?"specialChars":a,s=t.numeric,n=void 0===s?"decimal":s,p=t.level;if(!r)return"";var g=c[o],h=l[void 0===p?"all":p].characters,d="hexadecimal"===n;return String.prototype.replace.call(r,g,(function(r){var e=h[r];if(!e){var t=r.length>1?i(r,0):r.charCodeAt(0);e=(d?"&#x"+t.toString(16):"&#"+t)+";"}return e}))}var g=/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);/g,h=/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+)[;=]?/g,d={xml:{strict:g,attribute:h,body:o.xml},html4:{strict:g,attribute:h,body:o.html4},html5:{strict:g,attribute:h,body:o.html5}};(n(n({},d),{all:d.html5}),String.fromCharCode)(65533);const m=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i,f=function(r){if(!function(r){return"string"==typeof r&&m.test(r)}(r))throw TypeError("Invalid UUID");let e;return Uint8Array.of((e=parseInt(r.slice(0,8),16))>>>24,e>>>16&255,e>>>8&255,255&e,(e=parseInt(r.slice(9,13),16))>>>8,255&e,(e=parseInt(r.slice(14,18),16))>>>8,255&e,(e=parseInt(r.slice(19,23),16))>>>8,255&e,(e=parseInt(r.slice(24,36),16))/1099511627776&255,e/4294967296&255,e>>>24&255,e>>>16&255,e>>>8&255,255&e)},b=[];for(let r=0;r<256;++r)b.push((r+256).toString(16).slice(1));function y(r,e=0){return(b[r[e+0]]+b[r[e+1]]+b[r[e+2]]+b[r[e+3]]+"-"+b[r[e+4]]+b[r[e+5]]+"-"+b[r[e+6]]+b[r[e+7]]+"-"+b[r[e+8]]+b[r[e+9]]+"-"+b[r[e+10]]+b[r[e+11]]+b[r[e+12]]+b[r[e+13]]+b[r[e+14]]+b[r[e+15]]).toLowerCase()}let w;const q=new Uint8Array(16);function v(r){return 14+(r+64>>>9<<4)+1}function x(r,e){const t=(65535&r)+(65535&e);return(r>>16)+(e>>16)+(t>>16)<<16|65535&t}function E(r,e,t,a,o,s){return x((i=x(x(e,r),x(a,s)))<<(n=o)|i>>>32-n,t);var i,n}function D(r,e,t,a,o,s,i){return E(e&t|~e&a,r,e,o,s,i)}function S(r,e,t,a,o,s,i){return E(e&a|t&~a,r,e,o,s,i)}function A(r,e,t,a,o,s,i){return E(e^t^a,r,e,o,s,i)}function T(r,e,t,a,o,s,i){return E(t^(e|~a),r,e,o,s,i)}const L=function(r){return function(r){const e=new Uint8Array(4*r.length);for(let t=0;t<4*r.length;t++)e[t]=r[t>>2]>>>t%4*8&255;return e}(function(r,e){const t=new Uint32Array(v(e)).fill(0);t.set(r),t[e>>5]|=128<<e%32,t[t.length-1]=e,r=t;let a=1732584193,o=-271733879,s=-1732584194,i=271733878;for(let e=0;e<r.length;e+=16){const t=a,n=o,l=s,c=i;a=D(a,o,s,i,r[e],7,-680876936),i=D(i,a,o,s,r[e+1],12,-389564586),s=D(s,i,a,o,r[e+2],17,606105819),o=D(o,s,i,a,r[e+3],22,-1044525330),a=D(a,o,s,i,r[e+4],7,-176418897),i=D(i,a,o,s,r[e+5],12,1200080426),s=D(s,i,a,o,r[e+6],17,-1473231341),o=D(o,s,i,a,r[e+7],22,-45705983),a=D(a,o,s,i,r[e+8],7,1770035416),i=D(i,a,o,s,r[e+9],12,-1958414417),s=D(s,i,a,o,r[e+10],17,-42063),o=D(o,s,i,a,r[e+11],22,-1990404162),a=D(a,o,s,i,r[e+12],7,1804603682),i=D(i,a,o,s,r[e+13],12,-40341101),s=D(s,i,a,o,r[e+14],17,-1502002290),o=D(o,s,i,a,r[e+15],22,1236535329),a=S(a,o,s,i,r[e+1],5,-165796510),i=S(i,a,o,s,r[e+6],9,-1069501632),s=S(s,i,a,o,r[e+11],14,643717713),o=S(o,s,i,a,r[e],20,-373897302),a=S(a,o,s,i,r[e+5],5,-701558691),i=S(i,a,o,s,r[e+10],9,38016083),s=S(s,i,a,o,r[e+15],14,-660478335),o=S(o,s,i,a,r[e+4],20,-405537848),a=S(a,o,s,i,r[e+9],5,568446438),i=S(i,a,o,s,r[e+14],9,-1019803690),s=S(s,i,a,o,r[e+3],14,-187363961),o=S(o,s,i,a,r[e+8],20,1163531501),a=S(a,o,s,i,r[e+13],5,-1444681467),i=S(i,a,o,s,r[e+2],9,-51403784),s=S(s,i,a,o,r[e+7],14,1735328473),o=S(o,s,i,a,r[e+12],20,-1926607734),a=A(a,o,s,i,r[e+5],4,-378558),i=A(i,a,o,s,r[e+8],11,-2022574463),s=A(s,i,a,o,r[e+11],16,1839030562),o=A(o,s,i,a,r[e+14],23,-35309556),a=A(a,o,s,i,r[e+1],4,-1530992060),i=A(i,a,o,s,r[e+4],11,1272893353),s=A(s,i,a,o,r[e+7],16,-155497632),o=A(o,s,i,a,r[e+10],23,-1094730640),a=A(a,o,s,i,r[e+13],4,681279174),i=A(i,a,o,s,r[e],11,-358537222),s=A(s,i,a,o,r[e+3],16,-722521979),o=A(o,s,i,a,r[e+6],23,76029189),a=A(a,o,s,i,r[e+9],4,-640364487),i=A(i,a,o,s,r[e+12],11,-421815835),s=A(s,i,a,o,r[e+15],16,530742520),o=A(o,s,i,a,r[e+2],23,-995338651),a=T(a,o,s,i,r[e],6,-198630844),i=T(i,a,o,s,r[e+7],10,1126891415),s=T(s,i,a,o,r[e+14],15,-1416354905),o=T(o,s,i,a,r[e+5],21,-57434055),a=T(a,o,s,i,r[e+12],6,1700485571),i=T(i,a,o,s,r[e+3],10,-1894986606),s=T(s,i,a,o,r[e+10],15,-1051523),o=T(o,s,i,a,r[e+1],21,-2054922799),a=T(a,o,s,i,r[e+8],6,1873313359),i=T(i,a,o,s,r[e+15],10,-30611744),s=T(s,i,a,o,r[e+6],15,-1560198380),o=T(o,s,i,a,r[e+13],21,1309151649),a=T(a,o,s,i,r[e+4],6,-145523070),i=T(i,a,o,s,r[e+11],10,-1120210379),s=T(s,i,a,o,r[e+2],15,718787259),o=T(o,s,i,a,r[e+9],21,-343485551),a=x(a,t),o=x(o,n),s=x(s,l),i=x(i,c)}return Uint32Array.of(a,o,s,i)}(function(r){if(0===r.length)return new Uint32Array;const e=new Uint32Array(v(8*r.length)).fill(0);for(let t=0;t<r.length;t++)e[t>>2]|=(255&r[t])<<t%4*8;return e}(r),8*r.length))},O="6ba7b810-9dad-11d1-80b4-00c04fd430c8",k="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function U(r,e,t,a,o,s){const i="string"==typeof t?function(r){r=unescape(encodeURIComponent(r));const e=new Uint8Array(r.length);for(let t=0;t<r.length;++t)e[t]=r.charCodeAt(t);return e}(t):t,n="string"==typeof a?f(a):a;if("string"==typeof a&&(a=f(a)),16!==a?.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let l=new Uint8Array(16+i.length);if(l.set(n),l.set(i,n.length),l=e(l),l[6]=15&l[6]|r,l[8]=63&l[8]|128,o){s=s||0;for(let r=0;r<16;++r)o[s+r]=l[r];return o}return y(l)}function F(r,e,t,a){return U(48,L,r,e,t,a)}F.DNS=O,F.URL=k;const N={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};const C=function(r,e,t){return!N.randomUUID||e||r?function(r,e,t){const a=(r=r||{}).random??r.rng?.()??function(){if(!w){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");w=crypto.getRandomValues.bind(crypto)}return w(q)}();if(a.length<16)throw new Error("Random bytes length must be >= 16");if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,e){if((t=t||0)<0||t+16>e.length)throw new RangeError(`UUID byte range ${t}:${t+15} is out of buffer bounds`);for(let r=0;r<16;++r)e[t+r]=a[r];return e}return y(a)}(r,e,t):N.randomUUID()};function R(r,e,t,a){switch(r){case 0:return e&t^~e&a;case 1:case 3:return e^t^a;case 2:return e&t^e&a^t&a}}function I(r,e){return r<<e|r>>>32-e}const V=function(r){const e=[1518500249,1859775393,2400959708,3395469782],t=[1732584193,4023233417,2562383102,271733878,3285377520],a=new Uint8Array(r.length+1);a.set(r),a[r.length]=128;const o=(r=a).length/4+2,s=Math.ceil(o/16),i=new Array(s);for(let e=0;e<s;++e){const t=new Uint32Array(16);for(let a=0;a<16;++a)t[a]=r[64*e+4*a]<<24|r[64*e+4*a+1]<<16|r[64*e+4*a+2]<<8|r[64*e+4*a+3];i[e]=t}i[s-1][14]=8*(r.length-1)/Math.pow(2,32),i[s-1][14]=Math.floor(i[s-1][14]),i[s-1][15]=8*(r.length-1)&4294967295;for(let r=0;r<s;++r){const a=new Uint32Array(80);for(let e=0;e<16;++e)a[e]=i[r][e];for(let r=16;r<80;++r)a[r]=I(a[r-3]^a[r-8]^a[r-14]^a[r-16],1);let o=t[0],s=t[1],n=t[2],l=t[3],c=t[4];for(let r=0;r<80;++r){const t=Math.floor(r/20),i=I(o,5)+R(t,s,n,l)+c+e[t]+a[r]>>>0;c=l,l=n,n=I(s,30)>>>0,s=o,o=i}t[0]=t[0]+o>>>0,t[1]=t[1]+s>>>0,t[2]=t[2]+n>>>0,t[3]=t[3]+l>>>0,t[4]=t[4]+c>>>0}return Uint8Array.of(t[0]>>24,t[0]>>16,t[0]>>8,t[0],t[1]>>24,t[1]>>16,t[1]>>8,t[1],t[2]>>24,t[2]>>16,t[2]>>8,t[2],t[3]>>24,t[3]>>16,t[3]>>8,t[3],t[4]>>24,t[4]>>16,t[4]>>8,t[4])};function _(r,e,t,a){return U(80,V,r,e,t,a)}function P(){return C().toUpperCase()}_.DNS=O,_.URL=k;class j{#r="Untitled Story";#e="";#t="";#a="";#o="";#s=1;#i=[];#n="";#l="";#c=null;#u={};#p="";#g="";constructor(r="Untitled Story"){this.name=r,this.#n="extwee",this.#l="2.3.7",this.#c={}}get name(){return this.#r}set name(r){if("string"!=typeof r)throw new Error("Story name must be a string");this.#r=r}get tagColors(){return this.#u}set tagColors(r){if(!(r instanceof Object))throw new Error("Tag colors must be an object!");this.#u=r}get IFID(){return this.#t}set IFID(r){if("string"!=typeof r)throw new Error("IFID must be a String!");this.#t=r}get start(){return this.#e}set start(r){if("string"!=typeof r)throw new Error("start (passage name) must be a String!");this.#e=r}get formatVersion(){return this.#o}set formatVersion(r){if("string"!=typeof r)throw new Error("Story format version must be a String!");this.#o=r}get metadata(){return this.#c}set metadata(r){if("object"!=typeof r)throw new Error("Story metadata must be Object!");this.#c=r}get format(){return this.#a}set format(r){if("string"!=typeof r)throw new Error("Story format must be a String!");this.#a=r}get creator(){return this.#n}set creator(r){if("string"!=typeof r)throw new Error("Creator must be String");this.#n=r}get creatorVersion(){return this.#l}set creatorVersion(r){if("string"!=typeof r)throw new Error("Creator version must be a string!");this.#l=r}get zoom(){return this.#s}set zoom(r){if("number"!=typeof r)throw new Error("Zoom level must be a Number!");this.#s=Number(Number.parseFloat(r).toFixed(2))}get passages(){return this.#i}set passages(r){if(!Array.isArray(r))throw new Error("Passages must be an Array!");if(!r.every((r=>r instanceof z)))throw new Error("Passages must be an Array of Passage objects!");this.#i=r}get storyStylesheet(){return this.#g}set storyStylesheet(r){if("string"!=typeof r)throw new Error("Story stylesheet must be a string!");this.#g=r}get storyJavaScript(){return this.#p}set storyJavaScript(r){if("string"!=typeof r)throw new Error("Story JavaScript must be a string!");this.#p=r}addPassage(r){if(!(r instanceof z))throw new Error("Can only add Passages to the story!");if(null!==this.getPassageByName(r.name))return console.warn(`Warning: A passage with the name "${r.name}" already exists!`),this.#i.length;if("StoryData"===r.name){try{const e=JSON.parse(r.text);Object.prototype.hasOwnProperty.call(e,"ifid")&&(this.IFID=e.ifid),Object.prototype.hasOwnProperty.call(e,"format")&&(this.format=e.format),Object.prototype.hasOwnProperty.call(e,"format-version")&&(this.formatVersion=e["format-version"]),Object.prototype.hasOwnProperty.call(e,"zoom")&&(this.zoom=e.zoom),Object.prototype.hasOwnProperty.call(e,"start")&&(this.start=e.start),Object.prototype.hasOwnProperty.call(e,"tag-colors")&&(this.tagColors=e["tag-colors"])}catch(r){}return this.#i.length}return"StoryTitle"===r.name?(this.name=r.text,this.#i.length):("Start"===r.name&&""==this.start&&(this.start=r.name),this.#i.push(r))}removePassageByName(r){return this.#i=this.#i.filter((e=>e.name!==r)),this.#i.length}getPassagesByTag(r){return this.#i.filter((e=>e.tags.some((e=>r===e))))}getPassageByName(r){const e=this.#i.find((e=>e.name===r));return void 0!==e?e:null}size(){return this.#i.length}toJSON(){const r={name:this.name,tagColors:this.tagColors,ifid:this.IFID,start:this.start,formatVersion:this.formatVersion,metadata:this.metadata,format:this.format,creator:this.creator,creatorVersion:this.creatorVersion,zoom:this.zoom,style:this.storyStylesheet,script:this.storyJavaScript,passages:[]};return this.passages.forEach((e=>{r.passages.push({name:e.name,tags:e.tags,metadata:e.metadata,text:e.text})})),JSON.stringify(r,null,4)}toTwee(){let r=":: StoryData\n";const e={};return null===this.IFID.match(/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/)?(e.ifid=P(),console.warn("Warning: IFID is not in UUIDv4 format! A new IFID was generated.")):e.ifid=this.IFID,""!==this.format&&(e.format=this.format),""!==this.formatVersion&&(e["format-version"]=this.formatVersion),0!==this.zoom&&(e.zoom=this.zoom),""!==this.start&&(e.start=this.start),Object.keys(this.tagColors).length>0&&(e["tag-colors"]=this.tagColors),r+=`${JSON.stringify(e,void 0,2)}`,r+="\n\n",r+=":: StoryTitle\n"+this.name,r+="\n\n",this.#g.length>0&&(r+=":: StoryStylesheet [stylesheet]\n"+this.#g+"\n\n"),this.#p.length>0&&(r+=":: StoryJavaScript [script]\n"+this.#p+"\n\n"),this.passages.forEach((e=>{r+=e.toTwee()})),r}toTwine2HTML(){let r=this.passages,e=`<tw-storydata name="${p(this.name)}"`;""!==this.IFID?e+=` ifid="${this.IFID}"`:e+=` ifid="${P()}"`;let t=1,a=1;r.forEach((r=>{r.name===this.start&&(a=t),t++})),0===r.length&&(a=0),e+=` startnode="${a}"`,""!==this.creator&&(e+=` creator="${p(this.creator)}"`),""!==this.creatorVersion&&(e+=` creator-version="${this.creatorVersion}"`),1!==this.zoom&&(e+=` zoom="${this.zoom}"`),""!==this.format&&(e+=` format="${this.format}"`),""!==this.formatVersion&&(e+=` format-version="${this.formatVersion}"`),e+=" options hidden>\n";const o=r.filter((r=>r.tags.includes("stylesheet")));r=r.filter((r=>!r.tags.includes("stylesheet"))),o.length>0&&(e+='\t<style role="stylesheet" id="twine-user-stylesheet" type="text/twine-css">',o.forEach((r=>{e+=r.text})),e+="</style>\n"),this.#g.length>0&&(e+=`\t<style role="stylesheet" id="twine-user-stylesheet" type="text/twine-css">${this.#g}</style>\n`);const s=r.filter((r=>r.tags.includes("script")));return r=r.filter((r=>!r.tags.includes("script"))),s.length>0&&(e+='\t<script role="script" id="twine-user-script" type="text/twine-javascript">',s.forEach((r=>{e+=r.text})),e+="<\/script>\n"),this.#p.length>0&&(e+=`\t<script role="script" id="twine-user-script" type="text/twine-javascript">${this.#p}<\/script>\n`),t=1,this.passages.forEach((r=>{e+=r.toTwine2HTML(t),t++})),Object.keys(this.tagColors).forEach((r=>{e+=`\t<tw-tag name="${r}" color="${this.tagColors[r]}"></tw-tag>\n`})),e+="</tw-storydata>",e}toTwine1HTML(){let r="";return this.passages.forEach((e=>{r+=`\t${e.toTwine1HTML()}`})),r}}function B(r){return"string"!=typeof r?r:r.replace(/\\/g,"\\\\").replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/\{/g,"\\{").replace(/\}/g,"\\}")}class z{#r="";#h=[];#c={};#d="";constructor(r="",e="",t=[],a={}){this.name=r,this.tags=t,this.metadata=a,this.text=e}get name(){return this.#r}set name(r){if("string"!=typeof r)throw new Error("Name must be a String!");this.#r=r}get tags(){return this.#h}set tags(r){if(!Array.isArray(r))throw new Error("Tags must be an array!");this.#h=r}get metadata(){return this.#c}set metadata(r){if("object"!=typeof r)throw new Error("Metadata should be an object literal!");this.#c=r}get text(){return this.#d}set text(r){if("string"!=typeof r)throw new Error("Text should be a String!");this.#d=r}toTwee(){let r="";r+=`:: ${B(this.name)}`,this.tags.length>0&&(r+=` [${this.tags.map((r=>B(r))).join(" ")}]`),Object.keys(this.metadata).length>0&&(r+=` ${JSON.stringify(this.metadata)}`);const e=this.text.split("\n");for(let r=0;r<e.length;r++)e[r].startsWith("::")&&(e[r]=`\\${e[r]}`);return r+=`\n${e.join("\n")}\n\n`,r}toJSON(){const r={name:this.name,tags:this.tags,metadata:this.metadata,text:this.text};return JSON.stringify(r)}toTwine2HTML(r=1){let e="\t<tw-passagedata";return e+=` pid="${r}"`,e+=` name="${p(this.name)}"`,e+=` tags="${p(this.#h.join(" "))}" `,Object.prototype.hasOwnProperty.call(this.#c,"position")&&(e+=` position="${this.#c.position}" `),Object.prototype.hasOwnProperty.call(this.#c,"size")&&(e+=`size="${this.#c.size}" `),e+=`>${p(this.text)}</tw-passagedata>\n`,e}toTwine1HTML(){let r="\t<div";return r+=` tiddler="${p(this.name)}"`,r+=` tags="${p(this.#h.join(" "))}" `,r+=' modifier="extwee"',Object.prototype.hasOwnProperty.call(this.#c,"position")?r+=` twine-position="${this.#c.position}"`:r+=' twine-position="10,10"',r+=`>${p(this.#d)}</div>`,r}}class H{constructor(r){if(this.html=r,this.doc=null,this.usingDOMParser=!1,"undefined"!=typeof DOMParser)try{const e=new DOMParser;this.doc=e.parseFromString(r,"text/html"),this.usingDOMParser=!0;const t=this.doc.querySelector("parsererror");t&&(console.warn("DOMParser encountered an error, falling back to regex parsing:",t.textContent),this.doc=this.createSimpleDOM(r),this.usingDOMParser=!1)}catch(e){console.warn("DOMParser failed, falling back to regex parsing:",e.message),this.doc=this.createSimpleDOM(r),this.usingDOMParser=!1}else this.doc=this.createSimpleDOM(r),this.usingDOMParser=!1}querySelector(r){return this.usingDOMParser&&this.doc&&this.doc.querySelector?this.doc.querySelector(r):"#storeArea"===r?this.html.match(/<div[^>]*id=["']storeArea["'][^>]*>/i)?{found:!0}:null:"#store-area"===r&&this.html.match(/<div[^>]*id=["']store-area["'][^>]*>/i)?{found:!0}:null}querySelectorAll(r){return this.usingDOMParser&&this.doc&&this.doc.querySelectorAll?Array.from(this.doc.querySelectorAll(r)).map((r=>{const e={};if(r.attributes)for(let t=0;t<r.attributes.length;t++){const a=r.attributes[t];e[a.name]=a.value}return{attributes:e,rawText:r.textContent||r.innerText||""}})):"[tiddler]"===r?this.extractTiddlerElements():[]}extractTiddlerElements(){const r=/<div[^>]*tiddler=["']([^"']+)["'][^>]*>([\s\S]*?)<\/div>/gi,e=[];let t;for(;null!==(t=r.exec(this.html));){const r=t[0],a=this.parseAttributes(r),o=this.extractTextContent(t[2]);e.push({attributes:a,rawText:o})}return e}parseAttributes(r){const e={},t=r.match(/tiddler=["']([^"']+)["']/i);t&&(e.tiddler=t[1]);const a=r.match(/tags=["']([^"']*)["']/i);a&&(e.tags=a[1]);const o=r.match(/twine-position=["']([^"']+)["']/i);o&&(e["twine-position"]=o[1]);const s=r.match(/modifier=["']([^"']+)["']/i);return s&&(e.modifier=s[1]),e}extractTextContent(r){return r.replace(/<[^>]*>/g,"").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").replace(/&amp;/g,"&").trim()}createSimpleDOM(r){return{querySelector:e=>"#storeArea"===e&&r.includes('id="storeArea"')||"#store-area"===e&&r.includes('id="store-area"')?{found:!0}:null,querySelectorAll:r=>"[tiddler]"===r?this.extractTiddlerElements():[]}}}function M(r){const e=new j,t=new H(r);let a=t.querySelector("#storeArea");if(null===a&&(a=t.querySelector("#store-area"),null==a))throw new Error("Cannot find #storeArea or #store-area!");const o=t.querySelectorAll("[tiddler]");for(const r of o){const t=r.attributes,a=r.rawText;let o=null;Object.prototype.hasOwnProperty.call(t,"twine-position")&&(o=t["twine-position"]);const s=t.tiddler;"StoryTitle"===s&&(e.name=a);let i=[];Object.prototype.hasOwnProperty.call(t,"tags")&&(t.tags.length>0&&'""'!==t.tags&&(i=t.tags,i=i.split(" ")),i=i.filter((r=>""!==r)));const n={};null!==o&&(n.position=o),Object.prototype.hasOwnProperty.call(t,"modifier")&&(e.creator=t.modifier),e.addPassage(new z(s,a,i,n))}return e}function G(r,e="",t="",a="",o="",s={jquery:"",modernizr:""}){if(!(r instanceof j))throw new TypeError("Error: story must be a Story object!");return t=(t=(t=(t=(t=(t=(t=t.replaceAll(/"VERSION"/gm,r.creator)).replaceAll(/"TIME"/gm,new Date)).replaceAll(/"ENGINE"/gm,e)).replaceAll(`"${a.toUpperCase()}"`,o)).replaceAll(/"STORY_SIZE"/gm,`"${r.size()}"`)).replaceAll(/"STORY"/gm,r.toTwine1HTML())).replaceAll(/"START_AT"/gm,"''"),Object.prototype.hasOwnProperty.call(s,"jquery")&&(t=t.replaceAll(/"JQUERY"/gm,s.jquery)),Object.prototype.hasOwnProperty.call(s,"modernizr")&&(t=t.replaceAll(/"MODERNIZR"/gm,s.modernizr)),t}const $={parseTwine1HTML:M,compileTwine1HTML:G,parse:M,compile:G},J="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:null;return J&&(J.Extwee=J.Extwee||{},J.Extwee.parseTwine1HTML=M,J.Extwee.compileTwine1HTML=G),e.default})()));
@@ -1 +1 @@
1
- !function(t,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.Extwee=r():t.Extwee=r()}(this,(()=>(()=>{"use strict";var t={d:(r,e)=>{for(var a in e)t.o(e,a)&&!t.o(r,a)&&Object.defineProperty(r,a,{enumerable:!0,get:e[a]})},o:(t,r)=>Object.prototype.hasOwnProperty.call(t,r)},r={};t.d(r,{default:()=>tt});var e=function(){return e=Object.assign||function(t){for(var r,e=1,a=arguments.length;e<a;e++)for(var o in r=arguments[e])Object.prototype.hasOwnProperty.call(r,o)&&(t[o]=r[o]);return t},e.apply(this,arguments)};function a(t,r){for(var a={},o={},s=t.split("~~"),i=!1,n=0;s.length>n;n++){for(var l=s[n].split("~"),c=0;c<l.length;c+=2){var u=l[c],p=l[c+1],g="&"+u+";";a[g]=p,i&&(a["&"+u]=p),o[p]=g}i=!0}return r?{entities:e(e({},a),r.entities),characters:e(e({},o),r.characters)}:{entities:a,characters:o}}var o={xml:/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,html4:/&notin;|&(?:nbsp|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|Atilde|Auml|Aring|AElig|Ccedil|Egrave|Eacute|Ecirc|Euml|Igrave|Iacute|Icirc|Iuml|ETH|Ntilde|Ograve|Oacute|Ocirc|Otilde|Ouml|times|Oslash|Ugrave|Uacute|Ucirc|Uuml|Yacute|THORN|szlig|agrave|aacute|acirc|atilde|auml|aring|aelig|ccedil|egrave|eacute|ecirc|euml|igrave|iacute|icirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|quot|amp|lt|gt|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,html5:/&centerdot;|&copysr;|&divideontimes;|&gtcc;|&gtcir;|&gtdot;|&gtlPar;|&gtquest;|&gtrapprox;|&gtrarr;|&gtrdot;|&gtreqless;|&gtreqqless;|&gtrless;|&gtrsim;|&ltcc;|&ltcir;|&ltdot;|&lthree;|&ltimes;|&ltlarr;|&ltquest;|&ltrPar;|&ltri;|&ltrie;|&ltrif;|&notin;|&notinE;|&notindot;|&notinva;|&notinvb;|&notinvc;|&notni;|&notniva;|&notnivb;|&notnivc;|&parallel;|&timesb;|&timesbar;|&timesd;|&(?:AElig|AMP|Aacute|Acirc|Agrave|Aring|Atilde|Auml|COPY|Ccedil|ETH|Eacute|Ecirc|Egrave|Euml|GT|Iacute|Icirc|Igrave|Iuml|LT|Ntilde|Oacute|Ocirc|Ograve|Oslash|Otilde|Ouml|QUOT|REG|THORN|Uacute|Ucirc|Ugrave|Uuml|Yacute|aacute|acirc|acute|aelig|agrave|amp|aring|atilde|auml|brvbar|ccedil|cedil|cent|copy|curren|deg|divide|eacute|ecirc|egrave|eth|euml|frac12|frac14|frac34|gt|iacute|icirc|iexcl|igrave|iquest|iuml|laquo|lt|macr|micro|middot|nbsp|not|ntilde|oacute|ocirc|ograve|ordf|ordm|oslash|otilde|ouml|para|plusmn|pound|quot|raquo|reg|sect|shy|sup1|sup2|sup3|szlig|thorn|times|uacute|ucirc|ugrave|uml|uuml|yacute|yen|yuml|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g},s={};s.xml=a("lt~<~gt~>~quot~\"~apos~'~amp~&"),s.html4=a("apos~'~OElig~Œ~oelig~œ~Scaron~Š~scaron~š~Yuml~Ÿ~circ~ˆ~tilde~˜~ensp~ ~emsp~ ~thinsp~ ~zwnj~‌~zwj~‍~lrm~‎~rlm~‏~ndash~–~mdash~—~lsquo~‘~rsquo~’~sbquo~‚~ldquo~“~rdquo~”~bdquo~„~dagger~†~Dagger~‡~permil~‰~lsaquo~‹~rsaquo~›~euro~€~fnof~ƒ~Alpha~Α~Beta~Β~Gamma~Γ~Delta~Δ~Epsilon~Ε~Zeta~Ζ~Eta~Η~Theta~Θ~Iota~Ι~Kappa~Κ~Lambda~Λ~Mu~Μ~Nu~Ν~Xi~Ξ~Omicron~Ο~Pi~Π~Rho~Ρ~Sigma~Σ~Tau~Τ~Upsilon~Υ~Phi~Φ~Chi~Χ~Psi~Ψ~Omega~Ω~alpha~α~beta~β~gamma~γ~delta~δ~epsilon~ε~zeta~ζ~eta~η~theta~θ~iota~ι~kappa~κ~lambda~λ~mu~μ~nu~ν~xi~ξ~omicron~ο~pi~π~rho~ρ~sigmaf~ς~sigma~σ~tau~τ~upsilon~υ~phi~φ~chi~χ~psi~ψ~omega~ω~thetasym~ϑ~upsih~ϒ~piv~ϖ~bull~•~hellip~…~prime~′~Prime~″~oline~‾~frasl~⁄~weierp~℘~image~ℑ~real~ℜ~trade~™~alefsym~ℵ~larr~←~uarr~↑~rarr~→~darr~↓~harr~↔~crarr~↵~lArr~⇐~uArr~⇑~rArr~⇒~dArr~⇓~hArr~⇔~forall~∀~part~∂~exist~∃~empty~∅~nabla~∇~isin~∈~notin~∉~ni~∋~prod~∏~sum~∑~minus~−~lowast~∗~radic~√~prop~∝~infin~∞~ang~∠~and~∧~or~∨~cap~∩~cup~∪~int~∫~there4~∴~sim~∼~cong~≅~asymp~≈~ne~≠~equiv~≡~le~≤~ge~≥~sub~⊂~sup~⊃~nsub~⊄~sube~⊆~supe~⊇~oplus~⊕~otimes~⊗~perp~⊥~sdot~⋅~lceil~⌈~rceil~⌉~lfloor~⌊~rfloor~⌋~lang~〈~rang~〉~loz~◊~spades~♠~clubs~♣~hearts~♥~diams~♦~~nbsp~ ~iexcl~¡~cent~¢~pound~£~curren~¤~yen~¥~brvbar~¦~sect~§~uml~¨~copy~©~ordf~ª~laquo~«~not~¬~shy~­~reg~®~macr~¯~deg~°~plusmn~±~sup2~²~sup3~³~acute~´~micro~µ~para~¶~middot~·~cedil~¸~sup1~¹~ordm~º~raquo~»~frac14~¼~frac12~½~frac34~¾~iquest~¿~Agrave~À~Aacute~Á~Acirc~Â~Atilde~Ã~Auml~Ä~Aring~Å~AElig~Æ~Ccedil~Ç~Egrave~È~Eacute~É~Ecirc~Ê~Euml~Ë~Igrave~Ì~Iacute~Í~Icirc~Î~Iuml~Ï~ETH~Ð~Ntilde~Ñ~Ograve~Ò~Oacute~Ó~Ocirc~Ô~Otilde~Õ~Ouml~Ö~times~×~Oslash~Ø~Ugrave~Ù~Uacute~Ú~Ucirc~Û~Uuml~Ü~Yacute~Ý~THORN~Þ~szlig~ß~agrave~à~aacute~á~acirc~â~atilde~ã~auml~ä~aring~å~aelig~æ~ccedil~ç~egrave~è~eacute~é~ecirc~ê~euml~ë~igrave~ì~iacute~í~icirc~î~iuml~ï~eth~ð~ntilde~ñ~ograve~ò~oacute~ó~ocirc~ô~otilde~õ~ouml~ö~divide~÷~oslash~ø~ugrave~ù~uacute~ú~ucirc~û~uuml~ü~yacute~ý~thorn~þ~yuml~ÿ~quot~\"~amp~&~lt~<~gt~>"),s.html5=a('Abreve~Ă~Acy~А~Afr~𝔄~Amacr~Ā~And~⩓~Aogon~Ą~Aopf~𝔸~ApplyFunction~⁡~Ascr~𝒜~Assign~≔~Backslash~∖~Barv~⫧~Barwed~⌆~Bcy~Б~Because~∵~Bernoullis~ℬ~Bfr~𝔅~Bopf~𝔹~Breve~˘~Bscr~ℬ~Bumpeq~≎~CHcy~Ч~Cacute~Ć~Cap~⋒~CapitalDifferentialD~ⅅ~Cayleys~ℭ~Ccaron~Č~Ccirc~Ĉ~Cconint~∰~Cdot~Ċ~Cedilla~¸~CenterDot~·~Cfr~ℭ~CircleDot~⊙~CircleMinus~⊖~CirclePlus~⊕~CircleTimes~⊗~ClockwiseContourIntegral~∲~CloseCurlyDoubleQuote~”~CloseCurlyQuote~’~Colon~∷~Colone~⩴~Congruent~≡~Conint~∯~ContourIntegral~∮~Copf~ℂ~Coproduct~∐~CounterClockwiseContourIntegral~∳~Cross~⨯~Cscr~𝒞~Cup~⋓~CupCap~≍~DD~ⅅ~DDotrahd~⤑~DJcy~Ђ~DScy~Ѕ~DZcy~Џ~Darr~↡~Dashv~⫤~Dcaron~Ď~Dcy~Д~Del~∇~Dfr~𝔇~DiacriticalAcute~´~DiacriticalDot~˙~DiacriticalDoubleAcute~˝~DiacriticalGrave~`~DiacriticalTilde~˜~Diamond~⋄~DifferentialD~ⅆ~Dopf~𝔻~Dot~¨~DotDot~⃜~DotEqual~≐~DoubleContourIntegral~∯~DoubleDot~¨~DoubleDownArrow~⇓~DoubleLeftArrow~⇐~DoubleLeftRightArrow~⇔~DoubleLeftTee~⫤~DoubleLongLeftArrow~⟸~DoubleLongLeftRightArrow~⟺~DoubleLongRightArrow~⟹~DoubleRightArrow~⇒~DoubleRightTee~⊨~DoubleUpArrow~⇑~DoubleUpDownArrow~⇕~DoubleVerticalBar~∥~DownArrow~↓~DownArrowBar~⤓~DownArrowUpArrow~⇵~DownBreve~̑~DownLeftRightVector~⥐~DownLeftTeeVector~⥞~DownLeftVector~↽~DownLeftVectorBar~⥖~DownRightTeeVector~⥟~DownRightVector~⇁~DownRightVectorBar~⥗~DownTee~⊤~DownTeeArrow~↧~Downarrow~⇓~Dscr~𝒟~Dstrok~Đ~ENG~Ŋ~Ecaron~Ě~Ecy~Э~Edot~Ė~Efr~𝔈~Element~∈~Emacr~Ē~EmptySmallSquare~◻~EmptyVerySmallSquare~▫~Eogon~Ę~Eopf~𝔼~Equal~⩵~EqualTilde~≂~Equilibrium~⇌~Escr~ℰ~Esim~⩳~Exists~∃~ExponentialE~ⅇ~Fcy~Ф~Ffr~𝔉~FilledSmallSquare~◼~FilledVerySmallSquare~▪~Fopf~𝔽~ForAll~∀~Fouriertrf~ℱ~Fscr~ℱ~GJcy~Ѓ~Gammad~Ϝ~Gbreve~Ğ~Gcedil~Ģ~Gcirc~Ĝ~Gcy~Г~Gdot~Ġ~Gfr~𝔊~Gg~⋙~Gopf~𝔾~GreaterEqual~≥~GreaterEqualLess~⋛~GreaterFullEqual~≧~GreaterGreater~⪢~GreaterLess~≷~GreaterSlantEqual~⩾~GreaterTilde~≳~Gscr~𝒢~Gt~≫~HARDcy~Ъ~Hacek~ˇ~Hat~^~Hcirc~Ĥ~Hfr~ℌ~HilbertSpace~ℋ~Hopf~ℍ~HorizontalLine~─~Hscr~ℋ~Hstrok~Ħ~HumpDownHump~≎~HumpEqual~≏~IEcy~Е~IJlig~IJ~IOcy~Ё~Icy~И~Idot~İ~Ifr~ℑ~Im~ℑ~Imacr~Ī~ImaginaryI~ⅈ~Implies~⇒~Int~∬~Integral~∫~Intersection~⋂~InvisibleComma~⁣~InvisibleTimes~⁢~Iogon~Į~Iopf~𝕀~Iscr~ℐ~Itilde~Ĩ~Iukcy~І~Jcirc~Ĵ~Jcy~Й~Jfr~𝔍~Jopf~𝕁~Jscr~𝒥~Jsercy~Ј~Jukcy~Є~KHcy~Х~KJcy~Ќ~Kcedil~Ķ~Kcy~К~Kfr~𝔎~Kopf~𝕂~Kscr~𝒦~LJcy~Љ~Lacute~Ĺ~Lang~⟪~Laplacetrf~ℒ~Larr~↞~Lcaron~Ľ~Lcedil~Ļ~Lcy~Л~LeftAngleBracket~⟨~LeftArrow~←~LeftArrowBar~⇤~LeftArrowRightArrow~⇆~LeftCeiling~⌈~LeftDoubleBracket~⟦~LeftDownTeeVector~⥡~LeftDownVector~⇃~LeftDownVectorBar~⥙~LeftFloor~⌊~LeftRightArrow~↔~LeftRightVector~⥎~LeftTee~⊣~LeftTeeArrow~↤~LeftTeeVector~⥚~LeftTriangle~⊲~LeftTriangleBar~⧏~LeftTriangleEqual~⊴~LeftUpDownVector~⥑~LeftUpTeeVector~⥠~LeftUpVector~↿~LeftUpVectorBar~⥘~LeftVector~↼~LeftVectorBar~⥒~Leftarrow~⇐~Leftrightarrow~⇔~LessEqualGreater~⋚~LessFullEqual~≦~LessGreater~≶~LessLess~⪡~LessSlantEqual~⩽~LessTilde~≲~Lfr~𝔏~Ll~⋘~Lleftarrow~⇚~Lmidot~Ŀ~LongLeftArrow~⟵~LongLeftRightArrow~⟷~LongRightArrow~⟶~Longleftarrow~⟸~Longleftrightarrow~⟺~Longrightarrow~⟹~Lopf~𝕃~LowerLeftArrow~↙~LowerRightArrow~↘~Lscr~ℒ~Lsh~↰~Lstrok~Ł~Lt~≪~Map~⤅~Mcy~М~MediumSpace~ ~Mellintrf~ℳ~Mfr~𝔐~MinusPlus~∓~Mopf~𝕄~Mscr~ℳ~NJcy~Њ~Nacute~Ń~Ncaron~Ň~Ncedil~Ņ~Ncy~Н~NegativeMediumSpace~​~NegativeThickSpace~​~NegativeThinSpace~​~NegativeVeryThinSpace~​~NestedGreaterGreater~≫~NestedLessLess~≪~NewLine~\n~Nfr~𝔑~NoBreak~⁠~NonBreakingSpace~ ~Nopf~ℕ~Not~⫬~NotCongruent~≢~NotCupCap~≭~NotDoubleVerticalBar~∦~NotElement~∉~NotEqual~≠~NotEqualTilde~≂̸~NotExists~∄~NotGreater~≯~NotGreaterEqual~≱~NotGreaterFullEqual~≧̸~NotGreaterGreater~≫̸~NotGreaterLess~≹~NotGreaterSlantEqual~⩾̸~NotGreaterTilde~≵~NotHumpDownHump~≎̸~NotHumpEqual~≏̸~NotLeftTriangle~⋪~NotLeftTriangleBar~⧏̸~NotLeftTriangleEqual~⋬~NotLess~≮~NotLessEqual~≰~NotLessGreater~≸~NotLessLess~≪̸~NotLessSlantEqual~⩽̸~NotLessTilde~≴~NotNestedGreaterGreater~⪢̸~NotNestedLessLess~⪡̸~NotPrecedes~⊀~NotPrecedesEqual~⪯̸~NotPrecedesSlantEqual~⋠~NotReverseElement~∌~NotRightTriangle~⋫~NotRightTriangleBar~⧐̸~NotRightTriangleEqual~⋭~NotSquareSubset~⊏̸~NotSquareSubsetEqual~⋢~NotSquareSuperset~⊐̸~NotSquareSupersetEqual~⋣~NotSubset~⊂⃒~NotSubsetEqual~⊈~NotSucceeds~⊁~NotSucceedsEqual~⪰̸~NotSucceedsSlantEqual~⋡~NotSucceedsTilde~≿̸~NotSuperset~⊃⃒~NotSupersetEqual~⊉~NotTilde~≁~NotTildeEqual~≄~NotTildeFullEqual~≇~NotTildeTilde~≉~NotVerticalBar~∤~Nscr~𝒩~Ocy~О~Odblac~Ő~Ofr~𝔒~Omacr~Ō~Oopf~𝕆~OpenCurlyDoubleQuote~“~OpenCurlyQuote~‘~Or~⩔~Oscr~𝒪~Otimes~⨷~OverBar~‾~OverBrace~⏞~OverBracket~⎴~OverParenthesis~⏜~PartialD~∂~Pcy~П~Pfr~𝔓~PlusMinus~±~Poincareplane~ℌ~Popf~ℙ~Pr~⪻~Precedes~≺~PrecedesEqual~⪯~PrecedesSlantEqual~≼~PrecedesTilde~≾~Product~∏~Proportion~∷~Proportional~∝~Pscr~𝒫~Qfr~𝔔~Qopf~ℚ~Qscr~𝒬~RBarr~⤐~Racute~Ŕ~Rang~⟫~Rarr~↠~Rarrtl~⤖~Rcaron~Ř~Rcedil~Ŗ~Rcy~Р~Re~ℜ~ReverseElement~∋~ReverseEquilibrium~⇋~ReverseUpEquilibrium~⥯~Rfr~ℜ~RightAngleBracket~⟩~RightArrow~→~RightArrowBar~⇥~RightArrowLeftArrow~⇄~RightCeiling~⌉~RightDoubleBracket~⟧~RightDownTeeVector~⥝~RightDownVector~⇂~RightDownVectorBar~⥕~RightFloor~⌋~RightTee~⊢~RightTeeArrow~↦~RightTeeVector~⥛~RightTriangle~⊳~RightTriangleBar~⧐~RightTriangleEqual~⊵~RightUpDownVector~⥏~RightUpTeeVector~⥜~RightUpVector~↾~RightUpVectorBar~⥔~RightVector~⇀~RightVectorBar~⥓~Rightarrow~⇒~Ropf~ℝ~RoundImplies~⥰~Rrightarrow~⇛~Rscr~ℛ~Rsh~↱~RuleDelayed~⧴~SHCHcy~Щ~SHcy~Ш~SOFTcy~Ь~Sacute~Ś~Sc~⪼~Scedil~Ş~Scirc~Ŝ~Scy~С~Sfr~𝔖~ShortDownArrow~↓~ShortLeftArrow~←~ShortRightArrow~→~ShortUpArrow~↑~SmallCircle~∘~Sopf~𝕊~Sqrt~√~Square~□~SquareIntersection~⊓~SquareSubset~⊏~SquareSubsetEqual~⊑~SquareSuperset~⊐~SquareSupersetEqual~⊒~SquareUnion~⊔~Sscr~𝒮~Star~⋆~Sub~⋐~Subset~⋐~SubsetEqual~⊆~Succeeds~≻~SucceedsEqual~⪰~SucceedsSlantEqual~≽~SucceedsTilde~≿~SuchThat~∋~Sum~∑~Sup~⋑~Superset~⊃~SupersetEqual~⊇~Supset~⋑~TRADE~™~TSHcy~Ћ~TScy~Ц~Tab~\t~Tcaron~Ť~Tcedil~Ţ~Tcy~Т~Tfr~𝔗~Therefore~∴~ThickSpace~  ~ThinSpace~ ~Tilde~∼~TildeEqual~≃~TildeFullEqual~≅~TildeTilde~≈~Topf~𝕋~TripleDot~⃛~Tscr~𝒯~Tstrok~Ŧ~Uarr~↟~Uarrocir~⥉~Ubrcy~Ў~Ubreve~Ŭ~Ucy~У~Udblac~Ű~Ufr~𝔘~Umacr~Ū~UnderBar~_~UnderBrace~⏟~UnderBracket~⎵~UnderParenthesis~⏝~Union~⋃~UnionPlus~⊎~Uogon~Ų~Uopf~𝕌~UpArrow~↑~UpArrowBar~⤒~UpArrowDownArrow~⇅~UpDownArrow~↕~UpEquilibrium~⥮~UpTee~⊥~UpTeeArrow~↥~Uparrow~⇑~Updownarrow~⇕~UpperLeftArrow~↖~UpperRightArrow~↗~Upsi~ϒ~Uring~Ů~Uscr~𝒰~Utilde~Ũ~VDash~⊫~Vbar~⫫~Vcy~В~Vdash~⊩~Vdashl~⫦~Vee~⋁~Verbar~‖~Vert~‖~VerticalBar~∣~VerticalLine~|~VerticalSeparator~❘~VerticalTilde~≀~VeryThinSpace~ ~Vfr~𝔙~Vopf~𝕍~Vscr~𝒱~Vvdash~⊪~Wcirc~Ŵ~Wedge~⋀~Wfr~𝔚~Wopf~𝕎~Wscr~𝒲~Xfr~𝔛~Xopf~𝕏~Xscr~𝒳~YAcy~Я~YIcy~Ї~YUcy~Ю~Ycirc~Ŷ~Ycy~Ы~Yfr~𝔜~Yopf~𝕐~Yscr~𝒴~ZHcy~Ж~Zacute~Ź~Zcaron~Ž~Zcy~З~Zdot~Ż~ZeroWidthSpace~​~Zfr~ℨ~Zopf~ℤ~Zscr~𝒵~abreve~ă~ac~∾~acE~∾̳~acd~∿~acy~а~af~⁡~afr~𝔞~aleph~ℵ~amacr~ā~amalg~⨿~andand~⩕~andd~⩜~andslope~⩘~andv~⩚~ange~⦤~angle~∠~angmsd~∡~angmsdaa~⦨~angmsdab~⦩~angmsdac~⦪~angmsdad~⦫~angmsdae~⦬~angmsdaf~⦭~angmsdag~⦮~angmsdah~⦯~angrt~∟~angrtvb~⊾~angrtvbd~⦝~angsph~∢~angst~Å~angzarr~⍼~aogon~ą~aopf~𝕒~ap~≈~apE~⩰~apacir~⩯~ape~≊~apid~≋~approx~≈~approxeq~≊~ascr~𝒶~ast~*~asympeq~≍~awconint~∳~awint~⨑~bNot~⫭~backcong~≌~backepsilon~϶~backprime~‵~backsim~∽~backsimeq~⋍~barvee~⊽~barwed~⌅~barwedge~⌅~bbrk~⎵~bbrktbrk~⎶~bcong~≌~bcy~б~becaus~∵~because~∵~bemptyv~⦰~bepsi~϶~bernou~ℬ~beth~ℶ~between~≬~bfr~𝔟~bigcap~⋂~bigcirc~◯~bigcup~⋃~bigodot~⨀~bigoplus~⨁~bigotimes~⨂~bigsqcup~⨆~bigstar~★~bigtriangledown~▽~bigtriangleup~△~biguplus~⨄~bigvee~⋁~bigwedge~⋀~bkarow~⤍~blacklozenge~⧫~blacksquare~▪~blacktriangle~▴~blacktriangledown~▾~blacktriangleleft~◂~blacktriangleright~▸~blank~␣~blk12~▒~blk14~░~blk34~▓~block~█~bne~=⃥~bnequiv~≡⃥~bnot~⌐~bopf~𝕓~bot~⊥~bottom~⊥~bowtie~⋈~boxDL~╗~boxDR~╔~boxDl~╖~boxDr~╓~boxH~═~boxHD~╦~boxHU~╩~boxHd~╤~boxHu~╧~boxUL~╝~boxUR~╚~boxUl~╜~boxUr~╙~boxV~║~boxVH~╬~boxVL~╣~boxVR~╠~boxVh~╫~boxVl~╢~boxVr~╟~boxbox~⧉~boxdL~╕~boxdR~╒~boxdl~┐~boxdr~┌~boxh~─~boxhD~╥~boxhU~╨~boxhd~┬~boxhu~┴~boxminus~⊟~boxplus~⊞~boxtimes~⊠~boxuL~╛~boxuR~╘~boxul~┘~boxur~└~boxv~│~boxvH~╪~boxvL~╡~boxvR~╞~boxvh~┼~boxvl~┤~boxvr~├~bprime~‵~breve~˘~bscr~𝒷~bsemi~⁏~bsim~∽~bsime~⋍~bsol~\\~bsolb~⧅~bsolhsub~⟈~bullet~•~bump~≎~bumpE~⪮~bumpe~≏~bumpeq~≏~cacute~ć~capand~⩄~capbrcup~⩉~capcap~⩋~capcup~⩇~capdot~⩀~caps~∩︀~caret~⁁~caron~ˇ~ccaps~⩍~ccaron~č~ccirc~ĉ~ccups~⩌~ccupssm~⩐~cdot~ċ~cemptyv~⦲~centerdot~·~cfr~𝔠~chcy~ч~check~✓~checkmark~✓~cir~○~cirE~⧃~circeq~≗~circlearrowleft~↺~circlearrowright~↻~circledR~®~circledS~Ⓢ~circledast~⊛~circledcirc~⊚~circleddash~⊝~cire~≗~cirfnint~⨐~cirmid~⫯~cirscir~⧂~clubsuit~♣~colon~:~colone~≔~coloneq~≔~comma~,~commat~@~comp~∁~compfn~∘~complement~∁~complexes~ℂ~congdot~⩭~conint~∮~copf~𝕔~coprod~∐~copysr~℗~cross~✗~cscr~𝒸~csub~⫏~csube~⫑~csup~⫐~csupe~⫒~ctdot~⋯~cudarrl~⤸~cudarrr~⤵~cuepr~⋞~cuesc~⋟~cularr~↶~cularrp~⤽~cupbrcap~⩈~cupcap~⩆~cupcup~⩊~cupdot~⊍~cupor~⩅~cups~∪︀~curarr~↷~curarrm~⤼~curlyeqprec~⋞~curlyeqsucc~⋟~curlyvee~⋎~curlywedge~⋏~curvearrowleft~↶~curvearrowright~↷~cuvee~⋎~cuwed~⋏~cwconint~∲~cwint~∱~cylcty~⌭~dHar~⥥~daleth~ℸ~dash~‐~dashv~⊣~dbkarow~⤏~dblac~˝~dcaron~ď~dcy~д~dd~ⅆ~ddagger~‡~ddarr~⇊~ddotseq~⩷~demptyv~⦱~dfisht~⥿~dfr~𝔡~dharl~⇃~dharr~⇂~diam~⋄~diamond~⋄~diamondsuit~♦~die~¨~digamma~ϝ~disin~⋲~div~÷~divideontimes~⋇~divonx~⋇~djcy~ђ~dlcorn~⌞~dlcrop~⌍~dollar~$~dopf~𝕕~dot~˙~doteq~≐~doteqdot~≑~dotminus~∸~dotplus~∔~dotsquare~⊡~doublebarwedge~⌆~downarrow~↓~downdownarrows~⇊~downharpoonleft~⇃~downharpoonright~⇂~drbkarow~⤐~drcorn~⌟~drcrop~⌌~dscr~𝒹~dscy~ѕ~dsol~⧶~dstrok~đ~dtdot~⋱~dtri~▿~dtrif~▾~duarr~⇵~duhar~⥯~dwangle~⦦~dzcy~џ~dzigrarr~⟿~eDDot~⩷~eDot~≑~easter~⩮~ecaron~ě~ecir~≖~ecolon~≕~ecy~э~edot~ė~ee~ⅇ~efDot~≒~efr~𝔢~eg~⪚~egs~⪖~egsdot~⪘~el~⪙~elinters~⏧~ell~ℓ~els~⪕~elsdot~⪗~emacr~ē~emptyset~∅~emptyv~∅~emsp13~ ~emsp14~ ~eng~ŋ~eogon~ę~eopf~𝕖~epar~⋕~eparsl~⧣~eplus~⩱~epsi~ε~epsiv~ϵ~eqcirc~≖~eqcolon~≕~eqsim~≂~eqslantgtr~⪖~eqslantless~⪕~equals~=~equest~≟~equivDD~⩸~eqvparsl~⧥~erDot~≓~erarr~⥱~escr~ℯ~esdot~≐~esim~≂~excl~!~expectation~ℰ~exponentiale~ⅇ~fallingdotseq~≒~fcy~ф~female~♀~ffilig~ffi~fflig~ff~ffllig~ffl~ffr~𝔣~filig~fi~fjlig~fj~flat~♭~fllig~fl~fltns~▱~fopf~𝕗~fork~⋔~forkv~⫙~fpartint~⨍~frac13~⅓~frac15~⅕~frac16~⅙~frac18~⅛~frac23~⅔~frac25~⅖~frac35~⅗~frac38~⅜~frac45~⅘~frac56~⅚~frac58~⅝~frac78~⅞~frown~⌢~fscr~𝒻~gE~≧~gEl~⪌~gacute~ǵ~gammad~ϝ~gap~⪆~gbreve~ğ~gcirc~ĝ~gcy~г~gdot~ġ~gel~⋛~geq~≥~geqq~≧~geqslant~⩾~ges~⩾~gescc~⪩~gesdot~⪀~gesdoto~⪂~gesdotol~⪄~gesl~⋛︀~gesles~⪔~gfr~𝔤~gg~≫~ggg~⋙~gimel~ℷ~gjcy~ѓ~gl~≷~glE~⪒~gla~⪥~glj~⪤~gnE~≩~gnap~⪊~gnapprox~⪊~gne~⪈~gneq~⪈~gneqq~≩~gnsim~⋧~gopf~𝕘~grave~`~gscr~ℊ~gsim~≳~gsime~⪎~gsiml~⪐~gtcc~⪧~gtcir~⩺~gtdot~⋗~gtlPar~⦕~gtquest~⩼~gtrapprox~⪆~gtrarr~⥸~gtrdot~⋗~gtreqless~⋛~gtreqqless~⪌~gtrless~≷~gtrsim~≳~gvertneqq~≩︀~gvnE~≩︀~hairsp~ ~half~½~hamilt~ℋ~hardcy~ъ~harrcir~⥈~harrw~↭~hbar~ℏ~hcirc~ĥ~heartsuit~♥~hercon~⊹~hfr~𝔥~hksearow~⤥~hkswarow~⤦~hoarr~⇿~homtht~∻~hookleftarrow~↩~hookrightarrow~↪~hopf~𝕙~horbar~―~hscr~𝒽~hslash~ℏ~hstrok~ħ~hybull~⁃~hyphen~‐~ic~⁣~icy~и~iecy~е~iff~⇔~ifr~𝔦~ii~ⅈ~iiiint~⨌~iiint~∭~iinfin~⧜~iiota~℩~ijlig~ij~imacr~ī~imagline~ℐ~imagpart~ℑ~imath~ı~imof~⊷~imped~Ƶ~in~∈~incare~℅~infintie~⧝~inodot~ı~intcal~⊺~integers~ℤ~intercal~⊺~intlarhk~⨗~intprod~⨼~iocy~ё~iogon~į~iopf~𝕚~iprod~⨼~iscr~𝒾~isinE~⋹~isindot~⋵~isins~⋴~isinsv~⋳~isinv~∈~it~⁢~itilde~ĩ~iukcy~і~jcirc~ĵ~jcy~й~jfr~𝔧~jmath~ȷ~jopf~𝕛~jscr~𝒿~jsercy~ј~jukcy~є~kappav~ϰ~kcedil~ķ~kcy~к~kfr~𝔨~kgreen~ĸ~khcy~х~kjcy~ќ~kopf~𝕜~kscr~𝓀~lAarr~⇚~lAtail~⤛~lBarr~⤎~lE~≦~lEg~⪋~lHar~⥢~lacute~ĺ~laemptyv~⦴~lagran~ℒ~langd~⦑~langle~⟨~lap~⪅~larrb~⇤~larrbfs~⤟~larrfs~⤝~larrhk~↩~larrlp~↫~larrpl~⤹~larrsim~⥳~larrtl~↢~lat~⪫~latail~⤙~late~⪭~lates~⪭︀~lbarr~⤌~lbbrk~❲~lbrace~{~lbrack~[~lbrke~⦋~lbrksld~⦏~lbrkslu~⦍~lcaron~ľ~lcedil~ļ~lcub~{~lcy~л~ldca~⤶~ldquor~„~ldrdhar~⥧~ldrushar~⥋~ldsh~↲~leftarrow~←~leftarrowtail~↢~leftharpoondown~↽~leftharpoonup~↼~leftleftarrows~⇇~leftrightarrow~↔~leftrightarrows~⇆~leftrightharpoons~⇋~leftrightsquigarrow~↭~leftthreetimes~⋋~leg~⋚~leq~≤~leqq~≦~leqslant~⩽~les~⩽~lescc~⪨~lesdot~⩿~lesdoto~⪁~lesdotor~⪃~lesg~⋚︀~lesges~⪓~lessapprox~⪅~lessdot~⋖~lesseqgtr~⋚~lesseqqgtr~⪋~lessgtr~≶~lesssim~≲~lfisht~⥼~lfr~𝔩~lg~≶~lgE~⪑~lhard~↽~lharu~↼~lharul~⥪~lhblk~▄~ljcy~љ~ll~≪~llarr~⇇~llcorner~⌞~llhard~⥫~lltri~◺~lmidot~ŀ~lmoust~⎰~lmoustache~⎰~lnE~≨~lnap~⪉~lnapprox~⪉~lne~⪇~lneq~⪇~lneqq~≨~lnsim~⋦~loang~⟬~loarr~⇽~lobrk~⟦~longleftarrow~⟵~longleftrightarrow~⟷~longmapsto~⟼~longrightarrow~⟶~looparrowleft~↫~looparrowright~↬~lopar~⦅~lopf~𝕝~loplus~⨭~lotimes~⨴~lowbar~_~lozenge~◊~lozf~⧫~lpar~(~lparlt~⦓~lrarr~⇆~lrcorner~⌟~lrhar~⇋~lrhard~⥭~lrtri~⊿~lscr~𝓁~lsh~↰~lsim~≲~lsime~⪍~lsimg~⪏~lsqb~[~lsquor~‚~lstrok~ł~ltcc~⪦~ltcir~⩹~ltdot~⋖~lthree~⋋~ltimes~⋉~ltlarr~⥶~ltquest~⩻~ltrPar~⦖~ltri~◃~ltrie~⊴~ltrif~◂~lurdshar~⥊~luruhar~⥦~lvertneqq~≨︀~lvnE~≨︀~mDDot~∺~male~♂~malt~✠~maltese~✠~map~↦~mapsto~↦~mapstodown~↧~mapstoleft~↤~mapstoup~↥~marker~▮~mcomma~⨩~mcy~м~measuredangle~∡~mfr~𝔪~mho~℧~mid~∣~midast~*~midcir~⫰~minusb~⊟~minusd~∸~minusdu~⨪~mlcp~⫛~mldr~…~mnplus~∓~models~⊧~mopf~𝕞~mp~∓~mscr~𝓂~mstpos~∾~multimap~⊸~mumap~⊸~nGg~⋙̸~nGt~≫⃒~nGtv~≫̸~nLeftarrow~⇍~nLeftrightarrow~⇎~nLl~⋘̸~nLt~≪⃒~nLtv~≪̸~nRightarrow~⇏~nVDash~⊯~nVdash~⊮~nacute~ń~nang~∠⃒~nap~≉~napE~⩰̸~napid~≋̸~napos~ʼn~napprox~≉~natur~♮~natural~♮~naturals~ℕ~nbump~≎̸~nbumpe~≏̸~ncap~⩃~ncaron~ň~ncedil~ņ~ncong~≇~ncongdot~⩭̸~ncup~⩂~ncy~н~neArr~⇗~nearhk~⤤~nearr~↗~nearrow~↗~nedot~≐̸~nequiv~≢~nesear~⤨~nesim~≂̸~nexist~∄~nexists~∄~nfr~𝔫~ngE~≧̸~nge~≱~ngeq~≱~ngeqq~≧̸~ngeqslant~⩾̸~nges~⩾̸~ngsim~≵~ngt~≯~ngtr~≯~nhArr~⇎~nharr~↮~nhpar~⫲~nis~⋼~nisd~⋺~niv~∋~njcy~њ~nlArr~⇍~nlE~≦̸~nlarr~↚~nldr~‥~nle~≰~nleftarrow~↚~nleftrightarrow~↮~nleq~≰~nleqq~≦̸~nleqslant~⩽̸~nles~⩽̸~nless~≮~nlsim~≴~nlt~≮~nltri~⋪~nltrie~⋬~nmid~∤~nopf~𝕟~notinE~⋹̸~notindot~⋵̸~notinva~∉~notinvb~⋷~notinvc~⋶~notni~∌~notniva~∌~notnivb~⋾~notnivc~⋽~npar~∦~nparallel~∦~nparsl~⫽⃥~npart~∂̸~npolint~⨔~npr~⊀~nprcue~⋠~npre~⪯̸~nprec~⊀~npreceq~⪯̸~nrArr~⇏~nrarr~↛~nrarrc~⤳̸~nrarrw~↝̸~nrightarrow~↛~nrtri~⋫~nrtrie~⋭~nsc~⊁~nsccue~⋡~nsce~⪰̸~nscr~𝓃~nshortmid~∤~nshortparallel~∦~nsim~≁~nsime~≄~nsimeq~≄~nsmid~∤~nspar~∦~nsqsube~⋢~nsqsupe~⋣~nsubE~⫅̸~nsube~⊈~nsubset~⊂⃒~nsubseteq~⊈~nsubseteqq~⫅̸~nsucc~⊁~nsucceq~⪰̸~nsup~⊅~nsupE~⫆̸~nsupe~⊉~nsupset~⊃⃒~nsupseteq~⊉~nsupseteqq~⫆̸~ntgl~≹~ntlg~≸~ntriangleleft~⋪~ntrianglelefteq~⋬~ntriangleright~⋫~ntrianglerighteq~⋭~num~#~numero~№~numsp~ ~nvDash~⊭~nvHarr~⤄~nvap~≍⃒~nvdash~⊬~nvge~≥⃒~nvgt~>⃒~nvinfin~⧞~nvlArr~⤂~nvle~≤⃒~nvlt~<⃒~nvltrie~⊴⃒~nvrArr~⤃~nvrtrie~⊵⃒~nvsim~∼⃒~nwArr~⇖~nwarhk~⤣~nwarr~↖~nwarrow~↖~nwnear~⤧~oS~Ⓢ~oast~⊛~ocir~⊚~ocy~о~odash~⊝~odblac~ő~odiv~⨸~odot~⊙~odsold~⦼~ofcir~⦿~ofr~𝔬~ogon~˛~ogt~⧁~ohbar~⦵~ohm~Ω~oint~∮~olarr~↺~olcir~⦾~olcross~⦻~olt~⧀~omacr~ō~omid~⦶~ominus~⊖~oopf~𝕠~opar~⦷~operp~⦹~orarr~↻~ord~⩝~order~ℴ~orderof~ℴ~origof~⊶~oror~⩖~orslope~⩗~orv~⩛~oscr~ℴ~osol~⊘~otimesas~⨶~ovbar~⌽~par~∥~parallel~∥~parsim~⫳~parsl~⫽~pcy~п~percnt~%~period~.~pertenk~‱~pfr~𝔭~phiv~ϕ~phmmat~ℳ~phone~☎~pitchfork~⋔~planck~ℏ~planckh~ℎ~plankv~ℏ~plus~+~plusacir~⨣~plusb~⊞~pluscir~⨢~plusdo~∔~plusdu~⨥~pluse~⩲~plussim~⨦~plustwo~⨧~pm~±~pointint~⨕~popf~𝕡~pr~≺~prE~⪳~prap~⪷~prcue~≼~pre~⪯~prec~≺~precapprox~⪷~preccurlyeq~≼~preceq~⪯~precnapprox~⪹~precneqq~⪵~precnsim~⋨~precsim~≾~primes~ℙ~prnE~⪵~prnap~⪹~prnsim~⋨~profalar~⌮~profline~⌒~profsurf~⌓~propto~∝~prsim~≾~prurel~⊰~pscr~𝓅~puncsp~ ~qfr~𝔮~qint~⨌~qopf~𝕢~qprime~⁗~qscr~𝓆~quaternions~ℍ~quatint~⨖~quest~?~questeq~≟~rAarr~⇛~rAtail~⤜~rBarr~⤏~rHar~⥤~race~∽̱~racute~ŕ~raemptyv~⦳~rangd~⦒~range~⦥~rangle~⟩~rarrap~⥵~rarrb~⇥~rarrbfs~⤠~rarrc~⤳~rarrfs~⤞~rarrhk~↪~rarrlp~↬~rarrpl~⥅~rarrsim~⥴~rarrtl~↣~rarrw~↝~ratail~⤚~ratio~∶~rationals~ℚ~rbarr~⤍~rbbrk~❳~rbrace~}~rbrack~]~rbrke~⦌~rbrksld~⦎~rbrkslu~⦐~rcaron~ř~rcedil~ŗ~rcub~}~rcy~р~rdca~⤷~rdldhar~⥩~rdquor~”~rdsh~↳~realine~ℛ~realpart~ℜ~reals~ℝ~rect~▭~rfisht~⥽~rfr~𝔯~rhard~⇁~rharu~⇀~rharul~⥬~rhov~ϱ~rightarrow~→~rightarrowtail~↣~rightharpoondown~⇁~rightharpoonup~⇀~rightleftarrows~⇄~rightleftharpoons~⇌~rightrightarrows~⇉~rightsquigarrow~↝~rightthreetimes~⋌~ring~˚~risingdotseq~≓~rlarr~⇄~rlhar~⇌~rmoust~⎱~rmoustache~⎱~rnmid~⫮~roang~⟭~roarr~⇾~robrk~⟧~ropar~⦆~ropf~𝕣~roplus~⨮~rotimes~⨵~rpar~)~rpargt~⦔~rppolint~⨒~rrarr~⇉~rscr~𝓇~rsh~↱~rsqb~]~rsquor~’~rthree~⋌~rtimes~⋊~rtri~▹~rtrie~⊵~rtrif~▸~rtriltri~⧎~ruluhar~⥨~rx~℞~sacute~ś~sc~≻~scE~⪴~scap~⪸~sccue~≽~sce~⪰~scedil~ş~scirc~ŝ~scnE~⪶~scnap~⪺~scnsim~⋩~scpolint~⨓~scsim~≿~scy~с~sdotb~⊡~sdote~⩦~seArr~⇘~searhk~⤥~searr~↘~searrow~↘~semi~;~seswar~⤩~setminus~∖~setmn~∖~sext~✶~sfr~𝔰~sfrown~⌢~sharp~♯~shchcy~щ~shcy~ш~shortmid~∣~shortparallel~∥~sigmav~ς~simdot~⩪~sime~≃~simeq~≃~simg~⪞~simgE~⪠~siml~⪝~simlE~⪟~simne~≆~simplus~⨤~simrarr~⥲~slarr~←~smallsetminus~∖~smashp~⨳~smeparsl~⧤~smid~∣~smile~⌣~smt~⪪~smte~⪬~smtes~⪬︀~softcy~ь~sol~/~solb~⧄~solbar~⌿~sopf~𝕤~spadesuit~♠~spar~∥~sqcap~⊓~sqcaps~⊓︀~sqcup~⊔~sqcups~⊔︀~sqsub~⊏~sqsube~⊑~sqsubset~⊏~sqsubseteq~⊑~sqsup~⊐~sqsupe~⊒~sqsupset~⊐~sqsupseteq~⊒~squ~□~square~□~squarf~▪~squf~▪~srarr~→~sscr~𝓈~ssetmn~∖~ssmile~⌣~sstarf~⋆~star~☆~starf~★~straightepsilon~ϵ~straightphi~ϕ~strns~¯~subE~⫅~subdot~⪽~subedot~⫃~submult~⫁~subnE~⫋~subne~⊊~subplus~⪿~subrarr~⥹~subset~⊂~subseteq~⊆~subseteqq~⫅~subsetneq~⊊~subsetneqq~⫋~subsim~⫇~subsub~⫕~subsup~⫓~succ~≻~succapprox~⪸~succcurlyeq~≽~succeq~⪰~succnapprox~⪺~succneqq~⪶~succnsim~⋩~succsim~≿~sung~♪~supE~⫆~supdot~⪾~supdsub~⫘~supedot~⫄~suphsol~⟉~suphsub~⫗~suplarr~⥻~supmult~⫂~supnE~⫌~supne~⊋~supplus~⫀~supset~⊃~supseteq~⊇~supseteqq~⫆~supsetneq~⊋~supsetneqq~⫌~supsim~⫈~supsub~⫔~supsup~⫖~swArr~⇙~swarhk~⤦~swarr~↙~swarrow~↙~swnwar~⤪~target~⌖~tbrk~⎴~tcaron~ť~tcedil~ţ~tcy~т~tdot~⃛~telrec~⌕~tfr~𝔱~therefore~∴~thetav~ϑ~thickapprox~≈~thicksim~∼~thkap~≈~thksim~∼~timesb~⊠~timesbar~⨱~timesd~⨰~tint~∭~toea~⤨~top~⊤~topbot~⌶~topcir~⫱~topf~𝕥~topfork~⫚~tosa~⤩~tprime~‴~triangle~▵~triangledown~▿~triangleleft~◃~trianglelefteq~⊴~triangleq~≜~triangleright~▹~trianglerighteq~⊵~tridot~◬~trie~≜~triminus~⨺~triplus~⨹~trisb~⧍~tritime~⨻~trpezium~⏢~tscr~𝓉~tscy~ц~tshcy~ћ~tstrok~ŧ~twixt~≬~twoheadleftarrow~↞~twoheadrightarrow~↠~uHar~⥣~ubrcy~ў~ubreve~ŭ~ucy~у~udarr~⇅~udblac~ű~udhar~⥮~ufisht~⥾~ufr~𝔲~uharl~↿~uharr~↾~uhblk~▀~ulcorn~⌜~ulcorner~⌜~ulcrop~⌏~ultri~◸~umacr~ū~uogon~ų~uopf~𝕦~uparrow~↑~updownarrow~↕~upharpoonleft~↿~upharpoonright~↾~uplus~⊎~upsi~υ~upuparrows~⇈~urcorn~⌝~urcorner~⌝~urcrop~⌎~uring~ů~urtri~◹~uscr~𝓊~utdot~⋰~utilde~ũ~utri~▵~utrif~▴~uuarr~⇈~uwangle~⦧~vArr~⇕~vBar~⫨~vBarv~⫩~vDash~⊨~vangrt~⦜~varepsilon~ϵ~varkappa~ϰ~varnothing~∅~varphi~ϕ~varpi~ϖ~varpropto~∝~varr~↕~varrho~ϱ~varsigma~ς~varsubsetneq~⊊︀~varsubsetneqq~⫋︀~varsupsetneq~⊋︀~varsupsetneqq~⫌︀~vartheta~ϑ~vartriangleleft~⊲~vartriangleright~⊳~vcy~в~vdash~⊢~vee~∨~veebar~⊻~veeeq~≚~vellip~⋮~verbar~|~vert~|~vfr~𝔳~vltri~⊲~vnsub~⊂⃒~vnsup~⊃⃒~vopf~𝕧~vprop~∝~vrtri~⊳~vscr~𝓋~vsubnE~⫋︀~vsubne~⊊︀~vsupnE~⫌︀~vsupne~⊋︀~vzigzag~⦚~wcirc~ŵ~wedbar~⩟~wedge~∧~wedgeq~≙~wfr~𝔴~wopf~𝕨~wp~℘~wr~≀~wreath~≀~wscr~𝓌~xcap~⋂~xcirc~◯~xcup~⋃~xdtri~▽~xfr~𝔵~xhArr~⟺~xharr~⟷~xlArr~⟸~xlarr~⟵~xmap~⟼~xnis~⋻~xodot~⨀~xopf~𝕩~xoplus~⨁~xotime~⨂~xrArr~⟹~xrarr~⟶~xscr~𝓍~xsqcup~⨆~xuplus~⨄~xutri~△~xvee~⋁~xwedge~⋀~yacy~я~ycirc~ŷ~ycy~ы~yfr~𝔶~yicy~ї~yopf~𝕪~yscr~𝓎~yucy~ю~zacute~ź~zcaron~ž~zcy~з~zdot~ż~zeetrf~ℨ~zfr~𝔷~zhcy~ж~zigrarr~⇝~zopf~𝕫~zscr~𝓏~~AMP~&~COPY~©~GT~>~LT~<~QUOT~"~REG~®',s.html4);var i={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376},n=String.fromCodePoint||function(t){return String.fromCharCode(Math.floor((t-65536)/1024)+55296,(t-65536)%1024+56320)},l=String.prototype.codePointAt?function(t,r){return t.codePointAt(r)}:function(t,r){return 1024*(t.charCodeAt(r)-55296)+t.charCodeAt(r+1)-56320+65536},c=function(){return c=Object.assign||function(t){for(var r,e=1,a=arguments.length;e<a;e++)for(var o in r=arguments[e])Object.prototype.hasOwnProperty.call(r,o)&&(t[o]=r[o]);return t},c.apply(this,arguments)},u=c(c({},s),{all:s.html5}),p={specialChars:/[<>'"&]/g,nonAscii:/[<>'"&\u0080-\uD7FF\uE000-\uFFFF\uDC00-\uDFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]?/g,nonAsciiPrintable:/[<>'"&\x01-\x08\x11-\x15\x17-\x1F\x7f-\uD7FF\uE000-\uFFFF\uDC00-\uDFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]?/g,nonAsciiPrintableOnly:/[\x01-\x08\x11-\x15\x17-\x1F\x7f-\uD7FF\uE000-\uFFFF\uDC00-\uDFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]?/g,extensive:/[\x01-\x0c\x0e-\x1f\x21-\x2c\x2e-\x2f\x3a-\x40\x5b-\x60\x7b-\x7d\x7f-\uD7FF\uE000-\uFFFF\uDC00-\uDFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]?/g},g={mode:"specialChars",level:"all",numeric:"decimal"};function h(t,r){var e=void 0===r?g:r,a=e.mode,o=void 0===a?"specialChars":a,s=e.numeric,i=void 0===s?"decimal":s,n=e.level;if(!t)return"";var c=p[o],h=u[void 0===n?"all":n].characters,m="hexadecimal"===i;return String.prototype.replace.call(t,c,(function(t){var r=h[t];if(!r){var e=t.length>1?l(t,0):t.charCodeAt(0);r=(m?"&#x"+e.toString(16):"&#"+e)+";"}return r}))}var m={scope:"body",level:"all"},d=/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);/g,f=/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+)[;=]?/g,b={xml:{strict:d,attribute:f,body:o.xml},html4:{strict:d,attribute:f,body:o.html4},html5:{strict:d,attribute:f,body:o.html5}},y=c(c({},b),{all:b.html5}),w=String.fromCharCode,v=w(65533);function q(t){return"string"!=typeof t?t:t.replace(/\\/g,"\\\\").replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/\{/g,"\\{").replace(/\}/g,"\\}")}class x{#t="";#r=[];#e={};#a="";constructor(t="",r="",e=[],a={}){this.name=t,this.tags=e,this.metadata=a,this.text=r}get name(){return this.#t}set name(t){if("string"!=typeof t)throw new Error("Name must be a String!");this.#t=t}get tags(){return this.#r}set tags(t){if(!Array.isArray(t))throw new Error("Tags must be an array!");this.#r=t}get metadata(){return this.#e}set metadata(t){if("object"!=typeof t)throw new Error("Metadata should be an object literal!");this.#e=t}get text(){return this.#a}set text(t){if("string"!=typeof t)throw new Error("Text should be a String!");this.#a=t}toTwee(){let t="";t+=`:: ${q(this.name)}`,this.tags.length>0&&(t+=` [${this.tags.map((t=>q(t))).join(" ")}]`),Object.keys(this.metadata).length>0&&(t+=` ${JSON.stringify(this.metadata)}`);const r=this.text.split("\n");for(let t=0;t<r.length;t++)r[t].startsWith("::")&&(r[t]=`\\${r[t]}`);return t+=`\n${r.join("\n")}\n\n`,t}toJSON(){const t={name:this.name,tags:this.tags,metadata:this.metadata,text:this.text};return JSON.stringify(t)}toTwine2HTML(t=1){let r="\t<tw-passagedata";return r+=` pid="${t}"`,r+=` name="${h(this.name)}"`,r+=` tags="${h(this.#r.join(" "))}" `,Object.prototype.hasOwnProperty.call(this.#e,"position")&&(r+=` position="${this.#e.position}" `),Object.prototype.hasOwnProperty.call(this.#e,"size")&&(r+=`size="${this.#e.size}" `),r+=`>${h(this.text)}</tw-passagedata>\n`,r}toTwine1HTML(){let t="\t<div";return t+=` tiddler="${h(this.name)}"`,t+=` tags="${h(this.#r.join(" "))}" `,t+=' modifier="extwee"',Object.prototype.hasOwnProperty.call(this.#e,"position")?t+=` twine-position="${this.#e.position}"`:t+=' twine-position="10,10"',t+=`>${h(this.#a)}</div>`,t}}const E=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i,D=function(t){if(!function(t){return"string"==typeof t&&E.test(t)}(t))throw TypeError("Invalid UUID");let r;return Uint8Array.of((r=parseInt(t.slice(0,8),16))>>>24,r>>>16&255,r>>>8&255,255&r,(r=parseInt(t.slice(9,13),16))>>>8,255&r,(r=parseInt(t.slice(14,18),16))>>>8,255&r,(r=parseInt(t.slice(19,23),16))>>>8,255&r,(r=parseInt(t.slice(24,36),16))/1099511627776&255,r/4294967296&255,r>>>24&255,r>>>16&255,r>>>8&255,255&r)},S=[];for(let t=0;t<256;++t)S.push((t+256).toString(16).slice(1));function A(t,r=0){return(S[t[r+0]]+S[t[r+1]]+S[t[r+2]]+S[t[r+3]]+"-"+S[t[r+4]]+S[t[r+5]]+"-"+S[t[r+6]]+S[t[r+7]]+"-"+S[t[r+8]]+S[t[r+9]]+"-"+S[t[r+10]]+S[t[r+11]]+S[t[r+12]]+S[t[r+13]]+S[t[r+14]]+S[t[r+15]]).toLowerCase()}let T;const L=new Uint8Array(16);function O(t){return 14+(t+64>>>9<<4)+1}function N(t,r){const e=(65535&t)+(65535&r);return(t>>16)+(r>>16)+(e>>16)<<16|65535&e}function F(t,r,e,a,o,s){return N((i=N(N(r,t),N(a,s)))<<(n=o)|i>>>32-n,e);var i,n}function k(t,r,e,a,o,s,i){return F(r&e|~r&a,t,r,o,s,i)}function U(t,r,e,a,o,s,i){return F(r&a|e&~a,t,r,o,s,i)}function C(t,r,e,a,o,s,i){return F(r^e^a,t,r,o,s,i)}function I(t,r,e,a,o,s,i){return F(e^(r|~a),t,r,o,s,i)}const P=function(t){return function(t){const r=new Uint8Array(4*t.length);for(let e=0;e<4*t.length;e++)r[e]=t[e>>2]>>>e%4*8&255;return r}(function(t,r){const e=new Uint32Array(O(r)).fill(0);e.set(t),e[r>>5]|=128<<r%32,e[e.length-1]=r,t=e;let a=1732584193,o=-271733879,s=-1732584194,i=271733878;for(let r=0;r<t.length;r+=16){const e=a,n=o,l=s,c=i;a=k(a,o,s,i,t[r],7,-680876936),i=k(i,a,o,s,t[r+1],12,-389564586),s=k(s,i,a,o,t[r+2],17,606105819),o=k(o,s,i,a,t[r+3],22,-1044525330),a=k(a,o,s,i,t[r+4],7,-176418897),i=k(i,a,o,s,t[r+5],12,1200080426),s=k(s,i,a,o,t[r+6],17,-1473231341),o=k(o,s,i,a,t[r+7],22,-45705983),a=k(a,o,s,i,t[r+8],7,1770035416),i=k(i,a,o,s,t[r+9],12,-1958414417),s=k(s,i,a,o,t[r+10],17,-42063),o=k(o,s,i,a,t[r+11],22,-1990404162),a=k(a,o,s,i,t[r+12],7,1804603682),i=k(i,a,o,s,t[r+13],12,-40341101),s=k(s,i,a,o,t[r+14],17,-1502002290),o=k(o,s,i,a,t[r+15],22,1236535329),a=U(a,o,s,i,t[r+1],5,-165796510),i=U(i,a,o,s,t[r+6],9,-1069501632),s=U(s,i,a,o,t[r+11],14,643717713),o=U(o,s,i,a,t[r],20,-373897302),a=U(a,o,s,i,t[r+5],5,-701558691),i=U(i,a,o,s,t[r+10],9,38016083),s=U(s,i,a,o,t[r+15],14,-660478335),o=U(o,s,i,a,t[r+4],20,-405537848),a=U(a,o,s,i,t[r+9],5,568446438),i=U(i,a,o,s,t[r+14],9,-1019803690),s=U(s,i,a,o,t[r+3],14,-187363961),o=U(o,s,i,a,t[r+8],20,1163531501),a=U(a,o,s,i,t[r+13],5,-1444681467),i=U(i,a,o,s,t[r+2],9,-51403784),s=U(s,i,a,o,t[r+7],14,1735328473),o=U(o,s,i,a,t[r+12],20,-1926607734),a=C(a,o,s,i,t[r+5],4,-378558),i=C(i,a,o,s,t[r+8],11,-2022574463),s=C(s,i,a,o,t[r+11],16,1839030562),o=C(o,s,i,a,t[r+14],23,-35309556),a=C(a,o,s,i,t[r+1],4,-1530992060),i=C(i,a,o,s,t[r+4],11,1272893353),s=C(s,i,a,o,t[r+7],16,-155497632),o=C(o,s,i,a,t[r+10],23,-1094730640),a=C(a,o,s,i,t[r+13],4,681279174),i=C(i,a,o,s,t[r],11,-358537222),s=C(s,i,a,o,t[r+3],16,-722521979),o=C(o,s,i,a,t[r+6],23,76029189),a=C(a,o,s,i,t[r+9],4,-640364487),i=C(i,a,o,s,t[r+12],11,-421815835),s=C(s,i,a,o,t[r+15],16,530742520),o=C(o,s,i,a,t[r+2],23,-995338651),a=I(a,o,s,i,t[r],6,-198630844),i=I(i,a,o,s,t[r+7],10,1126891415),s=I(s,i,a,o,t[r+14],15,-1416354905),o=I(o,s,i,a,t[r+5],21,-57434055),a=I(a,o,s,i,t[r+12],6,1700485571),i=I(i,a,o,s,t[r+3],10,-1894986606),s=I(s,i,a,o,t[r+10],15,-1051523),o=I(o,s,i,a,t[r+1],21,-2054922799),a=I(a,o,s,i,t[r+8],6,1873313359),i=I(i,a,o,s,t[r+15],10,-30611744),s=I(s,i,a,o,t[r+6],15,-1560198380),o=I(o,s,i,a,t[r+13],21,1309151649),a=I(a,o,s,i,t[r+4],6,-145523070),i=I(i,a,o,s,t[r+11],10,-1120210379),s=I(s,i,a,o,t[r+2],15,718787259),o=I(o,s,i,a,t[r+9],21,-343485551),a=N(a,e),o=N(o,n),s=N(s,l),i=N(i,c)}return Uint32Array.of(a,o,s,i)}(function(t){if(0===t.length)return new Uint32Array;const r=new Uint32Array(O(8*t.length)).fill(0);for(let e=0;e<t.length;e++)r[e>>2]|=(255&t[e])<<e%4*8;return r}(t),8*t.length))},R="6ba7b810-9dad-11d1-80b4-00c04fd430c8",V="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function _(t,r,e,a,o,s){const i="string"==typeof e?function(t){t=unescape(encodeURIComponent(t));const r=new Uint8Array(t.length);for(let e=0;e<t.length;++e)r[e]=t.charCodeAt(e);return r}(e):e,n="string"==typeof a?D(a):a;if("string"==typeof a&&(a=D(a)),16!==a?.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let l=new Uint8Array(16+i.length);if(l.set(n),l.set(i,n.length),l=r(l),l[6]=15&l[6]|t,l[8]=63&l[8]|128,o){s=s||0;for(let t=0;t<16;++t)o[s+t]=l[t];return o}return A(l)}function B(t,r,e,a){return _(48,P,t,r,e,a)}B.DNS=R,B.URL=V;const j={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};const H=function(t,r,e){return!j.randomUUID||r||t?function(t,r,e){const a=(t=t||{}).random??t.rng?.()??function(){if(!T){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");T=crypto.getRandomValues.bind(crypto)}return T(L)}();if(a.length<16)throw new Error("Random bytes length must be >= 16");if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,r){if((e=e||0)<0||e+16>r.length)throw new RangeError(`UUID byte range ${e}:${e+15} is out of buffer bounds`);for(let t=0;t<16;++t)r[e+t]=a[t];return r}return A(a)}(t,r,e):j.randomUUID()};function z(t,r,e,a){switch(t){case 0:return r&e^~r&a;case 1:case 3:return r^e^a;case 2:return r&e^r&a^e&a}}function M(t,r){return t<<r|t>>>32-r}const G=function(t){const r=[1518500249,1859775393,2400959708,3395469782],e=[1732584193,4023233417,2562383102,271733878,3285377520],a=new Uint8Array(t.length+1);a.set(t),a[t.length]=128;const o=(t=a).length/4+2,s=Math.ceil(o/16),i=new Array(s);for(let r=0;r<s;++r){const e=new Uint32Array(16);for(let a=0;a<16;++a)e[a]=t[64*r+4*a]<<24|t[64*r+4*a+1]<<16|t[64*r+4*a+2]<<8|t[64*r+4*a+3];i[r]=e}i[s-1][14]=8*(t.length-1)/Math.pow(2,32),i[s-1][14]=Math.floor(i[s-1][14]),i[s-1][15]=8*(t.length-1)&4294967295;for(let t=0;t<s;++t){const a=new Uint32Array(80);for(let r=0;r<16;++r)a[r]=i[t][r];for(let t=16;t<80;++t)a[t]=M(a[t-3]^a[t-8]^a[t-14]^a[t-16],1);let o=e[0],s=e[1],n=e[2],l=e[3],c=e[4];for(let t=0;t<80;++t){const e=Math.floor(t/20),i=M(o,5)+z(e,s,n,l)+c+r[e]+a[t]>>>0;c=l,l=n,n=M(s,30)>>>0,s=o,o=i}e[0]=e[0]+o>>>0,e[1]=e[1]+s>>>0,e[2]=e[2]+n>>>0,e[3]=e[3]+l>>>0,e[4]=e[4]+c>>>0}return Uint8Array.of(e[0]>>24,e[0]>>16,e[0]>>8,e[0],e[1]>>24,e[1]>>16,e[1]>>8,e[1],e[2]>>24,e[2]>>16,e[2]>>8,e[2],e[3]>>24,e[3]>>16,e[3]>>8,e[3],e[4]>>24,e[4]>>16,e[4]>>8,e[4])};function $(t,r,e,a){return _(80,G,t,r,e,a)}function J(){return H().toUpperCase()}$.DNS=R,$.URL=V;class Z{#t="Untitled Story";#o="";#s="";#i="";#n="";#l=1;#c=[];#u="";#p="";#e=null;#g={};#h="";#m="";constructor(t="Untitled Story"){this.name=t,this.#u="extwee",this.#p="2.3.5",this.#e={}}get name(){return this.#t}set name(t){if("string"!=typeof t)throw new Error("Story name must be a string");this.#t=t}get tagColors(){return this.#g}set tagColors(t){if(!(t instanceof Object))throw new Error("Tag colors must be an object!");this.#g=t}get IFID(){return this.#s}set IFID(t){if("string"!=typeof t)throw new Error("IFID must be a String!");this.#s=t}get start(){return this.#o}set start(t){if("string"!=typeof t)throw new Error("start (passage name) must be a String!");this.#o=t}get formatVersion(){return this.#n}set formatVersion(t){if("string"!=typeof t)throw new Error("Story format version must be a String!");this.#n=t}get metadata(){return this.#e}set metadata(t){if("object"!=typeof t)throw new Error("Story metadata must be Object!");this.#e=t}get format(){return this.#i}set format(t){if("string"!=typeof t)throw new Error("Story format must be a String!");this.#i=t}get creator(){return this.#u}set creator(t){if("string"!=typeof t)throw new Error("Creator must be String");this.#u=t}get creatorVersion(){return this.#p}set creatorVersion(t){if("string"!=typeof t)throw new Error("Creator version must be a string!");this.#p=t}get zoom(){return this.#l}set zoom(t){if("number"!=typeof t)throw new Error("Zoom level must be a Number!");this.#l=Number(Number.parseFloat(t).toFixed(2))}get passages(){return this.#c}set passages(t){if(!Array.isArray(t))throw new Error("Passages must be an Array!");if(!t.every((t=>t instanceof x)))throw new Error("Passages must be an Array of Passage objects!");this.#c=t}get storyStylesheet(){return this.#m}set storyStylesheet(t){if("string"!=typeof t)throw new Error("Story stylesheet must be a string!");this.#m=t}get storyJavaScript(){return this.#h}set storyJavaScript(t){if("string"!=typeof t)throw new Error("Story JavaScript must be a string!");this.#h=t}addPassage(t){if(!(t instanceof x))throw new Error("Can only add Passages to the story!");if(null!==this.getPassageByName(t.name))return console.warn(`Warning: A passage with the name "${t.name}" already exists!`),this.#c.length;if("StoryData"===t.name){try{const r=JSON.parse(t.text);Object.prototype.hasOwnProperty.call(r,"ifid")&&(this.IFID=r.ifid),Object.prototype.hasOwnProperty.call(r,"format")&&(this.format=r.format),Object.prototype.hasOwnProperty.call(r,"format-version")&&(this.formatVersion=r["format-version"]),Object.prototype.hasOwnProperty.call(r,"zoom")&&(this.zoom=r.zoom),Object.prototype.hasOwnProperty.call(r,"start")&&(this.start=r.start),Object.prototype.hasOwnProperty.call(r,"tag-colors")&&(this.tagColors=r["tag-colors"])}catch(t){}return this.#c.length}return"StoryTitle"===t.name?(this.name=t.text,this.#c.length):("Start"===t.name&&""==this.start&&(this.start=t.name),this.#c.push(t))}removePassageByName(t){return this.#c=this.#c.filter((r=>r.name!==t)),this.#c.length}getPassagesByTag(t){return this.#c.filter((r=>r.tags.some((r=>t===r))))}getPassageByName(t){const r=this.#c.find((r=>r.name===t));return void 0!==r?r:null}size(){return this.#c.length}toJSON(){const t={name:this.name,tagColors:this.tagColors,ifid:this.IFID,start:this.start,formatVersion:this.formatVersion,metadata:this.metadata,format:this.format,creator:this.creator,creatorVersion:this.creatorVersion,zoom:this.zoom,style:this.storyStylesheet,script:this.storyJavaScript,passages:[]};return this.passages.forEach((r=>{t.passages.push({name:r.name,tags:r.tags,metadata:r.metadata,text:r.text})})),JSON.stringify(t,null,4)}toTwee(){let t=":: StoryData\n";const r={};return null===this.IFID.match(/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/)?(r.ifid=J(),console.warn("Warning: IFID is not in UUIDv4 format! A new IFID was generated.")):r.ifid=this.IFID,""!==this.format&&(r.format=this.format),""!==this.formatVersion&&(r["format-version"]=this.formatVersion),0!==this.zoom&&(r.zoom=this.zoom),""!==this.start&&(r.start=this.start),Object.keys(this.tagColors).length>0&&(r["tag-colors"]=this.tagColors),t+=`${JSON.stringify(r,void 0,2)}`,t+="\n\n",t+=":: StoryTitle\n"+this.name,t+="\n\n",this.#m.length>0&&(t+=":: StoryStylesheet [stylesheet]\n"+this.#m+"\n\n"),this.#h.length>0&&(t+=":: StoryJavaScript [script]\n"+this.#h+"\n\n"),this.passages.forEach((r=>{t+=r.toTwee()})),t}toTwine2HTML(){let t=this.passages,r=`<tw-storydata name="${h(this.name)}"`;""!==this.IFID?r+=` ifid="${this.IFID}"`:r+=` ifid="${J()}"`;let e=1,a=1;t.forEach((t=>{t.name===this.start&&(a=e),e++})),0===t.length&&(a=0),r+=` startnode="${a}"`,""!==this.creator&&(r+=` creator="${h(this.creator)}"`),""!==this.creatorVersion&&(r+=` creator-version="${this.creatorVersion}"`),1!==this.zoom&&(r+=` zoom="${this.zoom}"`),""!==this.format&&(r+=` format="${this.format}"`),""!==this.formatVersion&&(r+=` format-version="${this.formatVersion}"`),r+=" options hidden>\n";const o=t.filter((t=>t.tags.includes("stylesheet")));t=t.filter((t=>!t.tags.includes("stylesheet"))),o.length>0&&(r+='\t<style role="stylesheet" id="twine-user-stylesheet" type="text/twine-css">',o.forEach((t=>{r+=t.text})),r+="</style>\n"),this.#m.length>0&&(r+=`\t<style role="stylesheet" id="twine-user-stylesheet" type="text/twine-css">${this.#m}</style>\n`);const s=t.filter((t=>t.tags.includes("script")));return t=t.filter((t=>!t.tags.includes("script"))),s.length>0&&(r+='\t<script role="script" id="twine-user-script" type="text/twine-javascript">',s.forEach((t=>{r+=t.text})),r+="<\/script>\n"),this.#h.length>0&&(r+=`\t<script role="script" id="twine-user-script" type="text/twine-javascript">${this.#h}<\/script>\n`),e=1,this.passages.forEach((t=>{r+=t.toTwine2HTML(e),e++})),Object.keys(this.tagColors).forEach((t=>{r+=`\t<tw-tag name="${t}" color="${this.tagColors[t]}"></tw-tag>\n`})),r+="</tw-storydata>",r}toTwine1HTML(){let t="";return this.passages.forEach((r=>{t+=`\t${r.toTwine1HTML()}`})),t}}class W{constructor(t){if(this.html=t,this.doc=null,"undefined"!=typeof DOMParser){const r=new DOMParser;this.doc=r.parseFromString(t,"text/html")}else this.doc=this.createSimpleDOM(t)}getElementsByTagName(t){return this.doc&&this.doc.getElementsByTagName?Array.from(this.doc.getElementsByTagName(t)):"tw-storydata"===t?this.extractStoryDataElements():"tw-passagedata"===t?this.extractPassageDataElements():"style"===t?this.extractStyleElements():[]}extractStoryDataElements(){const t=/<tw-storydata[^>]*>([\s\S]*?)<\/tw-storydata>/gi,r=[];let e;for(;null!==(e=t.exec(this.html));){const t=e[0],a=this.parseAttributes(t),o=e[1];r.push({attributes:a,innerHTML:o,rawText:o})}return r}extractPassageDataElements(){const t=/<tw-passagedata[^>]*>([\s\S]*?)<\/tw-passagedata>/gi,r=[];let e;for(;null!==(e=t.exec(this.html));){const t=e[0],a=this.parseAttributes(t),o=this.extractTextContent(e[1]);r.push({attributes:a,rawText:o})}return r}extractStyleElements(){const t=/<style[^>]*>([\s\S]*?)<\/style>/gi,r=[];let e;for(;null!==(e=t.exec(this.html));){const t=e[0],a=this.parseAttributes(t),o=e[1];r.push({attributes:a,rawText:o,innerHTML:o})}return r}parseAttributes(t){const r={},e=t.match(/^<[^>]*>/);if(!e)return r;const a=e[0],o=/(\w+(?:-\w+)*)=["']([^"']*)["']/g;let s;for(;null!==(s=o.exec(a));)r[s[1]]=s[2];return r}extractTextContent(t){return t.replace(/<[^>]*>/g,"").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").replace(/&amp;/g,"&").trim()}createSimpleDOM(t){return{getElementsByTagName:t=>"tw-storydata"===t?this.extractStoryDataElements():"tw-passagedata"===t?this.extractPassageDataElements():"style"===t?this.extractStyleElements():[]}}}function Y(t){const r=new Z;if("string"!=typeof t)throw new TypeError("TypeError: Content is not a string!");let e=null;const a=new W(t),o=a.getElementsByTagName("tw-storydata");if(0===o.length)throw new TypeError("TypeError: Not Twine 2 HTML content!");const s=o[0];if(Object.prototype.hasOwnProperty.call(s.attributes,"name")?r.name=s.attributes.name:console.warn("Warning: The name attribute is missing from tw-storydata!"),Object.prototype.hasOwnProperty.call(s.attributes,"ifid")?r.IFID=s.attributes.ifid:console.warn("Warning: The ifid attribute is missing from tw-storydata!"),null===r.IFID.match(/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/)&&console.warn("Warning: The IFID is not in valid UUIDv4 formatting on tw-storydata!"),Object.prototype.hasOwnProperty.call(s.attributes,"creator")&&(r.creator=s.attributes.creator),Object.prototype.hasOwnProperty.call(s.attributes,"creator-version")&&(r.creatorVersion=s.attributes["creator-version"]),Object.prototype.hasOwnProperty.call(s.attributes,"format")&&(r.format=s.attributes.format),Object.prototype.hasOwnProperty.call(s.attributes,"format-version")&&(r.formatVersion=s.attributes["format-version"]),Object.prototype.hasOwnProperty.call(s.attributes,"startnode")&&(e=s.attributes.startnode),Object.prototype.hasOwnProperty.call(s.attributes,"zoom")&&(r.zoom=Number(s.attributes.zoom)),Object.prototype.hasOwnProperty.call(s.attributes,"options")){const t=s.attributes.options;t.length>0&&t.split(",").forEach((t=>{const[e,a]=t.split(":");e&&a&&(r.metadata[e.trim()]=a.trim())}))}return Object.prototype.hasOwnProperty.call(s.attributes,"hidden")&&(r.metadata.hidden=s.attributes.hidden),a.getElementsByTagName("style").forEach((t=>{const e=t.innerHTML||t.rawText||"",a=/tw-story-tag-(.+?)\s*{\s*color:\s*(.+?)\s*}/g;let o;for(;null!==(o=a.exec(e));){const t=o[1],e=o[2];r.tagColors[t]=e}})),a.getElementsByTagName("tw-passagedata").forEach((t=>{const a=t.attributes,o=function(t){var r=m.level,e=void 0===r?"all":r,a=m.scope,o=void 0===a?"xml"===e?"strict":"body":a;if(!t)return"";var s=y[e][o],l=u[e].entities,c="attribute"===o,p="strict"===o;return t.replace(s,(function(t){return function(t,r,e,a){var o=t,s=t[t.length-1];if(e&&"="===s)o=t;else if(a&&";"!==s)o=t;else{var l=r[t];if(l)o=l;else if("&"===t[0]&&"#"===t[1]){var c=t[2],u="x"==c||"X"==c?parseInt(t.substr(3),16):parseInt(t.substr(2));o=u>=1114111?v:u>65535?n(u):w(i[u]||u)}}return o}(t,l,c,p)}))}(t.rawText);if(!Object.prototype.hasOwnProperty.call(a,"name"))return void console.warn("Warning: Cannot parse passage data without name!");const s=a.name;if(!Object.prototype.hasOwnProperty.call(a,"pid"))throw new Error("Error: Passages are required to have PID!");let l=null;Object.prototype.hasOwnProperty.call(a,"position")&&(l=a.position);let c=null;Object.prototype.hasOwnProperty.call(a,"size")&&(c=a.size);let p=[];Object.prototype.hasOwnProperty.call(a,"tags")&&a.tags.length>0&&'""'!==a.tags&&(p=a.tags.split(" ").filter((t=>""!==t)));const g={};null!==l&&(g.position=l),null!==c&&(g.size=c);const h=a.pid;e===h&&(r.start=s),r.addPassage(new x(s,o,p,g))})),r}class X{constructor(t){if(this.html=t,this.doc=null,"undefined"!=typeof DOMParser){const r=new DOMParser;this.doc=r.parseFromString(t,"text/html")}else this.doc=this.createSimpleDOM(t)}getElementsByTagName(t){return this.doc&&this.doc.getElementsByTagName?Array.from(this.doc.getElementsByTagName(t)):"tw-storydata"===t?this.extractStoryDataElements():[]}extractStoryDataElements(){const t=/<tw-storydata[^>]*>[\s\S]*?<\/tw-storydata>/gi,r=[];let e;for(;null!==(e=t.exec(this.html));){const t=e[0];r.push({outerHTML:t,toString:()=>t})}return r}createSimpleDOM(t){return{getElementsByTagName:t=>"tw-storydata"===t?this.extractStoryDataElements(this.htmlContent):[]}}}function Q(t){if("string"!=typeof t)throw new TypeError("Content is not a string!");const r=[],e=new X(t).getElementsByTagName("tw-storydata");0===e.length&&console.warn("Warning: No Twine 2 HTML content found!");for(const t of e)r.push(Y(t.outerHTML));return r}function K(t){if(!Array.isArray(t))throw new TypeError("Stories is not array!");let r="";for(const e of t){if(!(e instanceof Z))throw new TypeError("Error: story must be a Story object!");r+=e.toTwine2HTML(),r+="\n\n"}return r}const tt={parseTwine2ArchiveHTML:Q,compileTwine2ArchiveHTML:K,parse:Q,compile:K},rt="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:null;return rt&&(rt.Extwee=rt.Extwee||{},rt.Extwee.parseTwine2ArchiveHTML=Q,rt.Extwee.compileTwine2ArchiveHTML=K),r.default})()));
1
+ !function(t,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.Extwee=r():t.Extwee=r()}(this,(()=>(()=>{"use strict";var t={d:(r,e)=>{for(var a in e)t.o(e,a)&&!t.o(r,a)&&Object.defineProperty(r,a,{enumerable:!0,get:e[a]})},o:(t,r)=>Object.prototype.hasOwnProperty.call(t,r)},r={};t.d(r,{default:()=>tt});var e=function(){return e=Object.assign||function(t){for(var r,e=1,a=arguments.length;e<a;e++)for(var s in r=arguments[e])Object.prototype.hasOwnProperty.call(r,s)&&(t[s]=r[s]);return t},e.apply(this,arguments)};function a(t,r){for(var a={},s={},o=t.split("~~"),i=!1,n=0;o.length>n;n++){for(var l=o[n].split("~"),c=0;c<l.length;c+=2){var u=l[c],p=l[c+1],g="&"+u+";";a[g]=p,i&&(a["&"+u]=p),s[p]=g}i=!0}return r?{entities:e(e({},a),r.entities),characters:e(e({},s),r.characters)}:{entities:a,characters:s}}var s={xml:/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,html4:/&notin;|&(?:nbsp|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|Atilde|Auml|Aring|AElig|Ccedil|Egrave|Eacute|Ecirc|Euml|Igrave|Iacute|Icirc|Iuml|ETH|Ntilde|Ograve|Oacute|Ocirc|Otilde|Ouml|times|Oslash|Ugrave|Uacute|Ucirc|Uuml|Yacute|THORN|szlig|agrave|aacute|acirc|atilde|auml|aring|aelig|ccedil|egrave|eacute|ecirc|euml|igrave|iacute|icirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|quot|amp|lt|gt|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,html5:/&centerdot;|&copysr;|&divideontimes;|&gtcc;|&gtcir;|&gtdot;|&gtlPar;|&gtquest;|&gtrapprox;|&gtrarr;|&gtrdot;|&gtreqless;|&gtreqqless;|&gtrless;|&gtrsim;|&ltcc;|&ltcir;|&ltdot;|&lthree;|&ltimes;|&ltlarr;|&ltquest;|&ltrPar;|&ltri;|&ltrie;|&ltrif;|&notin;|&notinE;|&notindot;|&notinva;|&notinvb;|&notinvc;|&notni;|&notniva;|&notnivb;|&notnivc;|&parallel;|&timesb;|&timesbar;|&timesd;|&(?:AElig|AMP|Aacute|Acirc|Agrave|Aring|Atilde|Auml|COPY|Ccedil|ETH|Eacute|Ecirc|Egrave|Euml|GT|Iacute|Icirc|Igrave|Iuml|LT|Ntilde|Oacute|Ocirc|Ograve|Oslash|Otilde|Ouml|QUOT|REG|THORN|Uacute|Ucirc|Ugrave|Uuml|Yacute|aacute|acirc|acute|aelig|agrave|amp|aring|atilde|auml|brvbar|ccedil|cedil|cent|copy|curren|deg|divide|eacute|ecirc|egrave|eth|euml|frac12|frac14|frac34|gt|iacute|icirc|iexcl|igrave|iquest|iuml|laquo|lt|macr|micro|middot|nbsp|not|ntilde|oacute|ocirc|ograve|ordf|ordm|oslash|otilde|ouml|para|plusmn|pound|quot|raquo|reg|sect|shy|sup1|sup2|sup3|szlig|thorn|times|uacute|ucirc|ugrave|uml|uuml|yacute|yen|yuml|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g},o={};o.xml=a("lt~<~gt~>~quot~\"~apos~'~amp~&"),o.html4=a("apos~'~OElig~Œ~oelig~œ~Scaron~Š~scaron~š~Yuml~Ÿ~circ~ˆ~tilde~˜~ensp~ ~emsp~ ~thinsp~ ~zwnj~‌~zwj~‍~lrm~‎~rlm~‏~ndash~–~mdash~—~lsquo~‘~rsquo~’~sbquo~‚~ldquo~“~rdquo~”~bdquo~„~dagger~†~Dagger~‡~permil~‰~lsaquo~‹~rsaquo~›~euro~€~fnof~ƒ~Alpha~Α~Beta~Β~Gamma~Γ~Delta~Δ~Epsilon~Ε~Zeta~Ζ~Eta~Η~Theta~Θ~Iota~Ι~Kappa~Κ~Lambda~Λ~Mu~Μ~Nu~Ν~Xi~Ξ~Omicron~Ο~Pi~Π~Rho~Ρ~Sigma~Σ~Tau~Τ~Upsilon~Υ~Phi~Φ~Chi~Χ~Psi~Ψ~Omega~Ω~alpha~α~beta~β~gamma~γ~delta~δ~epsilon~ε~zeta~ζ~eta~η~theta~θ~iota~ι~kappa~κ~lambda~λ~mu~μ~nu~ν~xi~ξ~omicron~ο~pi~π~rho~ρ~sigmaf~ς~sigma~σ~tau~τ~upsilon~υ~phi~φ~chi~χ~psi~ψ~omega~ω~thetasym~ϑ~upsih~ϒ~piv~ϖ~bull~•~hellip~…~prime~′~Prime~″~oline~‾~frasl~⁄~weierp~℘~image~ℑ~real~ℜ~trade~™~alefsym~ℵ~larr~←~uarr~↑~rarr~→~darr~↓~harr~↔~crarr~↵~lArr~⇐~uArr~⇑~rArr~⇒~dArr~⇓~hArr~⇔~forall~∀~part~∂~exist~∃~empty~∅~nabla~∇~isin~∈~notin~∉~ni~∋~prod~∏~sum~∑~minus~−~lowast~∗~radic~√~prop~∝~infin~∞~ang~∠~and~∧~or~∨~cap~∩~cup~∪~int~∫~there4~∴~sim~∼~cong~≅~asymp~≈~ne~≠~equiv~≡~le~≤~ge~≥~sub~⊂~sup~⊃~nsub~⊄~sube~⊆~supe~⊇~oplus~⊕~otimes~⊗~perp~⊥~sdot~⋅~lceil~⌈~rceil~⌉~lfloor~⌊~rfloor~⌋~lang~〈~rang~〉~loz~◊~spades~♠~clubs~♣~hearts~♥~diams~♦~~nbsp~ ~iexcl~¡~cent~¢~pound~£~curren~¤~yen~¥~brvbar~¦~sect~§~uml~¨~copy~©~ordf~ª~laquo~«~not~¬~shy~­~reg~®~macr~¯~deg~°~plusmn~±~sup2~²~sup3~³~acute~´~micro~µ~para~¶~middot~·~cedil~¸~sup1~¹~ordm~º~raquo~»~frac14~¼~frac12~½~frac34~¾~iquest~¿~Agrave~À~Aacute~Á~Acirc~Â~Atilde~Ã~Auml~Ä~Aring~Å~AElig~Æ~Ccedil~Ç~Egrave~È~Eacute~É~Ecirc~Ê~Euml~Ë~Igrave~Ì~Iacute~Í~Icirc~Î~Iuml~Ï~ETH~Ð~Ntilde~Ñ~Ograve~Ò~Oacute~Ó~Ocirc~Ô~Otilde~Õ~Ouml~Ö~times~×~Oslash~Ø~Ugrave~Ù~Uacute~Ú~Ucirc~Û~Uuml~Ü~Yacute~Ý~THORN~Þ~szlig~ß~agrave~à~aacute~á~acirc~â~atilde~ã~auml~ä~aring~å~aelig~æ~ccedil~ç~egrave~è~eacute~é~ecirc~ê~euml~ë~igrave~ì~iacute~í~icirc~î~iuml~ï~eth~ð~ntilde~ñ~ograve~ò~oacute~ó~ocirc~ô~otilde~õ~ouml~ö~divide~÷~oslash~ø~ugrave~ù~uacute~ú~ucirc~û~uuml~ü~yacute~ý~thorn~þ~yuml~ÿ~quot~\"~amp~&~lt~<~gt~>"),o.html5=a('Abreve~Ă~Acy~А~Afr~𝔄~Amacr~Ā~And~⩓~Aogon~Ą~Aopf~𝔸~ApplyFunction~⁡~Ascr~𝒜~Assign~≔~Backslash~∖~Barv~⫧~Barwed~⌆~Bcy~Б~Because~∵~Bernoullis~ℬ~Bfr~𝔅~Bopf~𝔹~Breve~˘~Bscr~ℬ~Bumpeq~≎~CHcy~Ч~Cacute~Ć~Cap~⋒~CapitalDifferentialD~ⅅ~Cayleys~ℭ~Ccaron~Č~Ccirc~Ĉ~Cconint~∰~Cdot~Ċ~Cedilla~¸~CenterDot~·~Cfr~ℭ~CircleDot~⊙~CircleMinus~⊖~CirclePlus~⊕~CircleTimes~⊗~ClockwiseContourIntegral~∲~CloseCurlyDoubleQuote~”~CloseCurlyQuote~’~Colon~∷~Colone~⩴~Congruent~≡~Conint~∯~ContourIntegral~∮~Copf~ℂ~Coproduct~∐~CounterClockwiseContourIntegral~∳~Cross~⨯~Cscr~𝒞~Cup~⋓~CupCap~≍~DD~ⅅ~DDotrahd~⤑~DJcy~Ђ~DScy~Ѕ~DZcy~Џ~Darr~↡~Dashv~⫤~Dcaron~Ď~Dcy~Д~Del~∇~Dfr~𝔇~DiacriticalAcute~´~DiacriticalDot~˙~DiacriticalDoubleAcute~˝~DiacriticalGrave~`~DiacriticalTilde~˜~Diamond~⋄~DifferentialD~ⅆ~Dopf~𝔻~Dot~¨~DotDot~⃜~DotEqual~≐~DoubleContourIntegral~∯~DoubleDot~¨~DoubleDownArrow~⇓~DoubleLeftArrow~⇐~DoubleLeftRightArrow~⇔~DoubleLeftTee~⫤~DoubleLongLeftArrow~⟸~DoubleLongLeftRightArrow~⟺~DoubleLongRightArrow~⟹~DoubleRightArrow~⇒~DoubleRightTee~⊨~DoubleUpArrow~⇑~DoubleUpDownArrow~⇕~DoubleVerticalBar~∥~DownArrow~↓~DownArrowBar~⤓~DownArrowUpArrow~⇵~DownBreve~̑~DownLeftRightVector~⥐~DownLeftTeeVector~⥞~DownLeftVector~↽~DownLeftVectorBar~⥖~DownRightTeeVector~⥟~DownRightVector~⇁~DownRightVectorBar~⥗~DownTee~⊤~DownTeeArrow~↧~Downarrow~⇓~Dscr~𝒟~Dstrok~Đ~ENG~Ŋ~Ecaron~Ě~Ecy~Э~Edot~Ė~Efr~𝔈~Element~∈~Emacr~Ē~EmptySmallSquare~◻~EmptyVerySmallSquare~▫~Eogon~Ę~Eopf~𝔼~Equal~⩵~EqualTilde~≂~Equilibrium~⇌~Escr~ℰ~Esim~⩳~Exists~∃~ExponentialE~ⅇ~Fcy~Ф~Ffr~𝔉~FilledSmallSquare~◼~FilledVerySmallSquare~▪~Fopf~𝔽~ForAll~∀~Fouriertrf~ℱ~Fscr~ℱ~GJcy~Ѓ~Gammad~Ϝ~Gbreve~Ğ~Gcedil~Ģ~Gcirc~Ĝ~Gcy~Г~Gdot~Ġ~Gfr~𝔊~Gg~⋙~Gopf~𝔾~GreaterEqual~≥~GreaterEqualLess~⋛~GreaterFullEqual~≧~GreaterGreater~⪢~GreaterLess~≷~GreaterSlantEqual~⩾~GreaterTilde~≳~Gscr~𝒢~Gt~≫~HARDcy~Ъ~Hacek~ˇ~Hat~^~Hcirc~Ĥ~Hfr~ℌ~HilbertSpace~ℋ~Hopf~ℍ~HorizontalLine~─~Hscr~ℋ~Hstrok~Ħ~HumpDownHump~≎~HumpEqual~≏~IEcy~Е~IJlig~IJ~IOcy~Ё~Icy~И~Idot~İ~Ifr~ℑ~Im~ℑ~Imacr~Ī~ImaginaryI~ⅈ~Implies~⇒~Int~∬~Integral~∫~Intersection~⋂~InvisibleComma~⁣~InvisibleTimes~⁢~Iogon~Į~Iopf~𝕀~Iscr~ℐ~Itilde~Ĩ~Iukcy~І~Jcirc~Ĵ~Jcy~Й~Jfr~𝔍~Jopf~𝕁~Jscr~𝒥~Jsercy~Ј~Jukcy~Є~KHcy~Х~KJcy~Ќ~Kcedil~Ķ~Kcy~К~Kfr~𝔎~Kopf~𝕂~Kscr~𝒦~LJcy~Љ~Lacute~Ĺ~Lang~⟪~Laplacetrf~ℒ~Larr~↞~Lcaron~Ľ~Lcedil~Ļ~Lcy~Л~LeftAngleBracket~⟨~LeftArrow~←~LeftArrowBar~⇤~LeftArrowRightArrow~⇆~LeftCeiling~⌈~LeftDoubleBracket~⟦~LeftDownTeeVector~⥡~LeftDownVector~⇃~LeftDownVectorBar~⥙~LeftFloor~⌊~LeftRightArrow~↔~LeftRightVector~⥎~LeftTee~⊣~LeftTeeArrow~↤~LeftTeeVector~⥚~LeftTriangle~⊲~LeftTriangleBar~⧏~LeftTriangleEqual~⊴~LeftUpDownVector~⥑~LeftUpTeeVector~⥠~LeftUpVector~↿~LeftUpVectorBar~⥘~LeftVector~↼~LeftVectorBar~⥒~Leftarrow~⇐~Leftrightarrow~⇔~LessEqualGreater~⋚~LessFullEqual~≦~LessGreater~≶~LessLess~⪡~LessSlantEqual~⩽~LessTilde~≲~Lfr~𝔏~Ll~⋘~Lleftarrow~⇚~Lmidot~Ŀ~LongLeftArrow~⟵~LongLeftRightArrow~⟷~LongRightArrow~⟶~Longleftarrow~⟸~Longleftrightarrow~⟺~Longrightarrow~⟹~Lopf~𝕃~LowerLeftArrow~↙~LowerRightArrow~↘~Lscr~ℒ~Lsh~↰~Lstrok~Ł~Lt~≪~Map~⤅~Mcy~М~MediumSpace~ ~Mellintrf~ℳ~Mfr~𝔐~MinusPlus~∓~Mopf~𝕄~Mscr~ℳ~NJcy~Њ~Nacute~Ń~Ncaron~Ň~Ncedil~Ņ~Ncy~Н~NegativeMediumSpace~​~NegativeThickSpace~​~NegativeThinSpace~​~NegativeVeryThinSpace~​~NestedGreaterGreater~≫~NestedLessLess~≪~NewLine~\n~Nfr~𝔑~NoBreak~⁠~NonBreakingSpace~ ~Nopf~ℕ~Not~⫬~NotCongruent~≢~NotCupCap~≭~NotDoubleVerticalBar~∦~NotElement~∉~NotEqual~≠~NotEqualTilde~≂̸~NotExists~∄~NotGreater~≯~NotGreaterEqual~≱~NotGreaterFullEqual~≧̸~NotGreaterGreater~≫̸~NotGreaterLess~≹~NotGreaterSlantEqual~⩾̸~NotGreaterTilde~≵~NotHumpDownHump~≎̸~NotHumpEqual~≏̸~NotLeftTriangle~⋪~NotLeftTriangleBar~⧏̸~NotLeftTriangleEqual~⋬~NotLess~≮~NotLessEqual~≰~NotLessGreater~≸~NotLessLess~≪̸~NotLessSlantEqual~⩽̸~NotLessTilde~≴~NotNestedGreaterGreater~⪢̸~NotNestedLessLess~⪡̸~NotPrecedes~⊀~NotPrecedesEqual~⪯̸~NotPrecedesSlantEqual~⋠~NotReverseElement~∌~NotRightTriangle~⋫~NotRightTriangleBar~⧐̸~NotRightTriangleEqual~⋭~NotSquareSubset~⊏̸~NotSquareSubsetEqual~⋢~NotSquareSuperset~⊐̸~NotSquareSupersetEqual~⋣~NotSubset~⊂⃒~NotSubsetEqual~⊈~NotSucceeds~⊁~NotSucceedsEqual~⪰̸~NotSucceedsSlantEqual~⋡~NotSucceedsTilde~≿̸~NotSuperset~⊃⃒~NotSupersetEqual~⊉~NotTilde~≁~NotTildeEqual~≄~NotTildeFullEqual~≇~NotTildeTilde~≉~NotVerticalBar~∤~Nscr~𝒩~Ocy~О~Odblac~Ő~Ofr~𝔒~Omacr~Ō~Oopf~𝕆~OpenCurlyDoubleQuote~“~OpenCurlyQuote~‘~Or~⩔~Oscr~𝒪~Otimes~⨷~OverBar~‾~OverBrace~⏞~OverBracket~⎴~OverParenthesis~⏜~PartialD~∂~Pcy~П~Pfr~𝔓~PlusMinus~±~Poincareplane~ℌ~Popf~ℙ~Pr~⪻~Precedes~≺~PrecedesEqual~⪯~PrecedesSlantEqual~≼~PrecedesTilde~≾~Product~∏~Proportion~∷~Proportional~∝~Pscr~𝒫~Qfr~𝔔~Qopf~ℚ~Qscr~𝒬~RBarr~⤐~Racute~Ŕ~Rang~⟫~Rarr~↠~Rarrtl~⤖~Rcaron~Ř~Rcedil~Ŗ~Rcy~Р~Re~ℜ~ReverseElement~∋~ReverseEquilibrium~⇋~ReverseUpEquilibrium~⥯~Rfr~ℜ~RightAngleBracket~⟩~RightArrow~→~RightArrowBar~⇥~RightArrowLeftArrow~⇄~RightCeiling~⌉~RightDoubleBracket~⟧~RightDownTeeVector~⥝~RightDownVector~⇂~RightDownVectorBar~⥕~RightFloor~⌋~RightTee~⊢~RightTeeArrow~↦~RightTeeVector~⥛~RightTriangle~⊳~RightTriangleBar~⧐~RightTriangleEqual~⊵~RightUpDownVector~⥏~RightUpTeeVector~⥜~RightUpVector~↾~RightUpVectorBar~⥔~RightVector~⇀~RightVectorBar~⥓~Rightarrow~⇒~Ropf~ℝ~RoundImplies~⥰~Rrightarrow~⇛~Rscr~ℛ~Rsh~↱~RuleDelayed~⧴~SHCHcy~Щ~SHcy~Ш~SOFTcy~Ь~Sacute~Ś~Sc~⪼~Scedil~Ş~Scirc~Ŝ~Scy~С~Sfr~𝔖~ShortDownArrow~↓~ShortLeftArrow~←~ShortRightArrow~→~ShortUpArrow~↑~SmallCircle~∘~Sopf~𝕊~Sqrt~√~Square~□~SquareIntersection~⊓~SquareSubset~⊏~SquareSubsetEqual~⊑~SquareSuperset~⊐~SquareSupersetEqual~⊒~SquareUnion~⊔~Sscr~𝒮~Star~⋆~Sub~⋐~Subset~⋐~SubsetEqual~⊆~Succeeds~≻~SucceedsEqual~⪰~SucceedsSlantEqual~≽~SucceedsTilde~≿~SuchThat~∋~Sum~∑~Sup~⋑~Superset~⊃~SupersetEqual~⊇~Supset~⋑~TRADE~™~TSHcy~Ћ~TScy~Ц~Tab~\t~Tcaron~Ť~Tcedil~Ţ~Tcy~Т~Tfr~𝔗~Therefore~∴~ThickSpace~  ~ThinSpace~ ~Tilde~∼~TildeEqual~≃~TildeFullEqual~≅~TildeTilde~≈~Topf~𝕋~TripleDot~⃛~Tscr~𝒯~Tstrok~Ŧ~Uarr~↟~Uarrocir~⥉~Ubrcy~Ў~Ubreve~Ŭ~Ucy~У~Udblac~Ű~Ufr~𝔘~Umacr~Ū~UnderBar~_~UnderBrace~⏟~UnderBracket~⎵~UnderParenthesis~⏝~Union~⋃~UnionPlus~⊎~Uogon~Ų~Uopf~𝕌~UpArrow~↑~UpArrowBar~⤒~UpArrowDownArrow~⇅~UpDownArrow~↕~UpEquilibrium~⥮~UpTee~⊥~UpTeeArrow~↥~Uparrow~⇑~Updownarrow~⇕~UpperLeftArrow~↖~UpperRightArrow~↗~Upsi~ϒ~Uring~Ů~Uscr~𝒰~Utilde~Ũ~VDash~⊫~Vbar~⫫~Vcy~В~Vdash~⊩~Vdashl~⫦~Vee~⋁~Verbar~‖~Vert~‖~VerticalBar~∣~VerticalLine~|~VerticalSeparator~❘~VerticalTilde~≀~VeryThinSpace~ ~Vfr~𝔙~Vopf~𝕍~Vscr~𝒱~Vvdash~⊪~Wcirc~Ŵ~Wedge~⋀~Wfr~𝔚~Wopf~𝕎~Wscr~𝒲~Xfr~𝔛~Xopf~𝕏~Xscr~𝒳~YAcy~Я~YIcy~Ї~YUcy~Ю~Ycirc~Ŷ~Ycy~Ы~Yfr~𝔜~Yopf~𝕐~Yscr~𝒴~ZHcy~Ж~Zacute~Ź~Zcaron~Ž~Zcy~З~Zdot~Ż~ZeroWidthSpace~​~Zfr~ℨ~Zopf~ℤ~Zscr~𝒵~abreve~ă~ac~∾~acE~∾̳~acd~∿~acy~а~af~⁡~afr~𝔞~aleph~ℵ~amacr~ā~amalg~⨿~andand~⩕~andd~⩜~andslope~⩘~andv~⩚~ange~⦤~angle~∠~angmsd~∡~angmsdaa~⦨~angmsdab~⦩~angmsdac~⦪~angmsdad~⦫~angmsdae~⦬~angmsdaf~⦭~angmsdag~⦮~angmsdah~⦯~angrt~∟~angrtvb~⊾~angrtvbd~⦝~angsph~∢~angst~Å~angzarr~⍼~aogon~ą~aopf~𝕒~ap~≈~apE~⩰~apacir~⩯~ape~≊~apid~≋~approx~≈~approxeq~≊~ascr~𝒶~ast~*~asympeq~≍~awconint~∳~awint~⨑~bNot~⫭~backcong~≌~backepsilon~϶~backprime~‵~backsim~∽~backsimeq~⋍~barvee~⊽~barwed~⌅~barwedge~⌅~bbrk~⎵~bbrktbrk~⎶~bcong~≌~bcy~б~becaus~∵~because~∵~bemptyv~⦰~bepsi~϶~bernou~ℬ~beth~ℶ~between~≬~bfr~𝔟~bigcap~⋂~bigcirc~◯~bigcup~⋃~bigodot~⨀~bigoplus~⨁~bigotimes~⨂~bigsqcup~⨆~bigstar~★~bigtriangledown~▽~bigtriangleup~△~biguplus~⨄~bigvee~⋁~bigwedge~⋀~bkarow~⤍~blacklozenge~⧫~blacksquare~▪~blacktriangle~▴~blacktriangledown~▾~blacktriangleleft~◂~blacktriangleright~▸~blank~␣~blk12~▒~blk14~░~blk34~▓~block~█~bne~=⃥~bnequiv~≡⃥~bnot~⌐~bopf~𝕓~bot~⊥~bottom~⊥~bowtie~⋈~boxDL~╗~boxDR~╔~boxDl~╖~boxDr~╓~boxH~═~boxHD~╦~boxHU~╩~boxHd~╤~boxHu~╧~boxUL~╝~boxUR~╚~boxUl~╜~boxUr~╙~boxV~║~boxVH~╬~boxVL~╣~boxVR~╠~boxVh~╫~boxVl~╢~boxVr~╟~boxbox~⧉~boxdL~╕~boxdR~╒~boxdl~┐~boxdr~┌~boxh~─~boxhD~╥~boxhU~╨~boxhd~┬~boxhu~┴~boxminus~⊟~boxplus~⊞~boxtimes~⊠~boxuL~╛~boxuR~╘~boxul~┘~boxur~└~boxv~│~boxvH~╪~boxvL~╡~boxvR~╞~boxvh~┼~boxvl~┤~boxvr~├~bprime~‵~breve~˘~bscr~𝒷~bsemi~⁏~bsim~∽~bsime~⋍~bsol~\\~bsolb~⧅~bsolhsub~⟈~bullet~•~bump~≎~bumpE~⪮~bumpe~≏~bumpeq~≏~cacute~ć~capand~⩄~capbrcup~⩉~capcap~⩋~capcup~⩇~capdot~⩀~caps~∩︀~caret~⁁~caron~ˇ~ccaps~⩍~ccaron~č~ccirc~ĉ~ccups~⩌~ccupssm~⩐~cdot~ċ~cemptyv~⦲~centerdot~·~cfr~𝔠~chcy~ч~check~✓~checkmark~✓~cir~○~cirE~⧃~circeq~≗~circlearrowleft~↺~circlearrowright~↻~circledR~®~circledS~Ⓢ~circledast~⊛~circledcirc~⊚~circleddash~⊝~cire~≗~cirfnint~⨐~cirmid~⫯~cirscir~⧂~clubsuit~♣~colon~:~colone~≔~coloneq~≔~comma~,~commat~@~comp~∁~compfn~∘~complement~∁~complexes~ℂ~congdot~⩭~conint~∮~copf~𝕔~coprod~∐~copysr~℗~cross~✗~cscr~𝒸~csub~⫏~csube~⫑~csup~⫐~csupe~⫒~ctdot~⋯~cudarrl~⤸~cudarrr~⤵~cuepr~⋞~cuesc~⋟~cularr~↶~cularrp~⤽~cupbrcap~⩈~cupcap~⩆~cupcup~⩊~cupdot~⊍~cupor~⩅~cups~∪︀~curarr~↷~curarrm~⤼~curlyeqprec~⋞~curlyeqsucc~⋟~curlyvee~⋎~curlywedge~⋏~curvearrowleft~↶~curvearrowright~↷~cuvee~⋎~cuwed~⋏~cwconint~∲~cwint~∱~cylcty~⌭~dHar~⥥~daleth~ℸ~dash~‐~dashv~⊣~dbkarow~⤏~dblac~˝~dcaron~ď~dcy~д~dd~ⅆ~ddagger~‡~ddarr~⇊~ddotseq~⩷~demptyv~⦱~dfisht~⥿~dfr~𝔡~dharl~⇃~dharr~⇂~diam~⋄~diamond~⋄~diamondsuit~♦~die~¨~digamma~ϝ~disin~⋲~div~÷~divideontimes~⋇~divonx~⋇~djcy~ђ~dlcorn~⌞~dlcrop~⌍~dollar~$~dopf~𝕕~dot~˙~doteq~≐~doteqdot~≑~dotminus~∸~dotplus~∔~dotsquare~⊡~doublebarwedge~⌆~downarrow~↓~downdownarrows~⇊~downharpoonleft~⇃~downharpoonright~⇂~drbkarow~⤐~drcorn~⌟~drcrop~⌌~dscr~𝒹~dscy~ѕ~dsol~⧶~dstrok~đ~dtdot~⋱~dtri~▿~dtrif~▾~duarr~⇵~duhar~⥯~dwangle~⦦~dzcy~џ~dzigrarr~⟿~eDDot~⩷~eDot~≑~easter~⩮~ecaron~ě~ecir~≖~ecolon~≕~ecy~э~edot~ė~ee~ⅇ~efDot~≒~efr~𝔢~eg~⪚~egs~⪖~egsdot~⪘~el~⪙~elinters~⏧~ell~ℓ~els~⪕~elsdot~⪗~emacr~ē~emptyset~∅~emptyv~∅~emsp13~ ~emsp14~ ~eng~ŋ~eogon~ę~eopf~𝕖~epar~⋕~eparsl~⧣~eplus~⩱~epsi~ε~epsiv~ϵ~eqcirc~≖~eqcolon~≕~eqsim~≂~eqslantgtr~⪖~eqslantless~⪕~equals~=~equest~≟~equivDD~⩸~eqvparsl~⧥~erDot~≓~erarr~⥱~escr~ℯ~esdot~≐~esim~≂~excl~!~expectation~ℰ~exponentiale~ⅇ~fallingdotseq~≒~fcy~ф~female~♀~ffilig~ffi~fflig~ff~ffllig~ffl~ffr~𝔣~filig~fi~fjlig~fj~flat~♭~fllig~fl~fltns~▱~fopf~𝕗~fork~⋔~forkv~⫙~fpartint~⨍~frac13~⅓~frac15~⅕~frac16~⅙~frac18~⅛~frac23~⅔~frac25~⅖~frac35~⅗~frac38~⅜~frac45~⅘~frac56~⅚~frac58~⅝~frac78~⅞~frown~⌢~fscr~𝒻~gE~≧~gEl~⪌~gacute~ǵ~gammad~ϝ~gap~⪆~gbreve~ğ~gcirc~ĝ~gcy~г~gdot~ġ~gel~⋛~geq~≥~geqq~≧~geqslant~⩾~ges~⩾~gescc~⪩~gesdot~⪀~gesdoto~⪂~gesdotol~⪄~gesl~⋛︀~gesles~⪔~gfr~𝔤~gg~≫~ggg~⋙~gimel~ℷ~gjcy~ѓ~gl~≷~glE~⪒~gla~⪥~glj~⪤~gnE~≩~gnap~⪊~gnapprox~⪊~gne~⪈~gneq~⪈~gneqq~≩~gnsim~⋧~gopf~𝕘~grave~`~gscr~ℊ~gsim~≳~gsime~⪎~gsiml~⪐~gtcc~⪧~gtcir~⩺~gtdot~⋗~gtlPar~⦕~gtquest~⩼~gtrapprox~⪆~gtrarr~⥸~gtrdot~⋗~gtreqless~⋛~gtreqqless~⪌~gtrless~≷~gtrsim~≳~gvertneqq~≩︀~gvnE~≩︀~hairsp~ ~half~½~hamilt~ℋ~hardcy~ъ~harrcir~⥈~harrw~↭~hbar~ℏ~hcirc~ĥ~heartsuit~♥~hercon~⊹~hfr~𝔥~hksearow~⤥~hkswarow~⤦~hoarr~⇿~homtht~∻~hookleftarrow~↩~hookrightarrow~↪~hopf~𝕙~horbar~―~hscr~𝒽~hslash~ℏ~hstrok~ħ~hybull~⁃~hyphen~‐~ic~⁣~icy~и~iecy~е~iff~⇔~ifr~𝔦~ii~ⅈ~iiiint~⨌~iiint~∭~iinfin~⧜~iiota~℩~ijlig~ij~imacr~ī~imagline~ℐ~imagpart~ℑ~imath~ı~imof~⊷~imped~Ƶ~in~∈~incare~℅~infintie~⧝~inodot~ı~intcal~⊺~integers~ℤ~intercal~⊺~intlarhk~⨗~intprod~⨼~iocy~ё~iogon~į~iopf~𝕚~iprod~⨼~iscr~𝒾~isinE~⋹~isindot~⋵~isins~⋴~isinsv~⋳~isinv~∈~it~⁢~itilde~ĩ~iukcy~і~jcirc~ĵ~jcy~й~jfr~𝔧~jmath~ȷ~jopf~𝕛~jscr~𝒿~jsercy~ј~jukcy~є~kappav~ϰ~kcedil~ķ~kcy~к~kfr~𝔨~kgreen~ĸ~khcy~х~kjcy~ќ~kopf~𝕜~kscr~𝓀~lAarr~⇚~lAtail~⤛~lBarr~⤎~lE~≦~lEg~⪋~lHar~⥢~lacute~ĺ~laemptyv~⦴~lagran~ℒ~langd~⦑~langle~⟨~lap~⪅~larrb~⇤~larrbfs~⤟~larrfs~⤝~larrhk~↩~larrlp~↫~larrpl~⤹~larrsim~⥳~larrtl~↢~lat~⪫~latail~⤙~late~⪭~lates~⪭︀~lbarr~⤌~lbbrk~❲~lbrace~{~lbrack~[~lbrke~⦋~lbrksld~⦏~lbrkslu~⦍~lcaron~ľ~lcedil~ļ~lcub~{~lcy~л~ldca~⤶~ldquor~„~ldrdhar~⥧~ldrushar~⥋~ldsh~↲~leftarrow~←~leftarrowtail~↢~leftharpoondown~↽~leftharpoonup~↼~leftleftarrows~⇇~leftrightarrow~↔~leftrightarrows~⇆~leftrightharpoons~⇋~leftrightsquigarrow~↭~leftthreetimes~⋋~leg~⋚~leq~≤~leqq~≦~leqslant~⩽~les~⩽~lescc~⪨~lesdot~⩿~lesdoto~⪁~lesdotor~⪃~lesg~⋚︀~lesges~⪓~lessapprox~⪅~lessdot~⋖~lesseqgtr~⋚~lesseqqgtr~⪋~lessgtr~≶~lesssim~≲~lfisht~⥼~lfr~𝔩~lg~≶~lgE~⪑~lhard~↽~lharu~↼~lharul~⥪~lhblk~▄~ljcy~љ~ll~≪~llarr~⇇~llcorner~⌞~llhard~⥫~lltri~◺~lmidot~ŀ~lmoust~⎰~lmoustache~⎰~lnE~≨~lnap~⪉~lnapprox~⪉~lne~⪇~lneq~⪇~lneqq~≨~lnsim~⋦~loang~⟬~loarr~⇽~lobrk~⟦~longleftarrow~⟵~longleftrightarrow~⟷~longmapsto~⟼~longrightarrow~⟶~looparrowleft~↫~looparrowright~↬~lopar~⦅~lopf~𝕝~loplus~⨭~lotimes~⨴~lowbar~_~lozenge~◊~lozf~⧫~lpar~(~lparlt~⦓~lrarr~⇆~lrcorner~⌟~lrhar~⇋~lrhard~⥭~lrtri~⊿~lscr~𝓁~lsh~↰~lsim~≲~lsime~⪍~lsimg~⪏~lsqb~[~lsquor~‚~lstrok~ł~ltcc~⪦~ltcir~⩹~ltdot~⋖~lthree~⋋~ltimes~⋉~ltlarr~⥶~ltquest~⩻~ltrPar~⦖~ltri~◃~ltrie~⊴~ltrif~◂~lurdshar~⥊~luruhar~⥦~lvertneqq~≨︀~lvnE~≨︀~mDDot~∺~male~♂~malt~✠~maltese~✠~map~↦~mapsto~↦~mapstodown~↧~mapstoleft~↤~mapstoup~↥~marker~▮~mcomma~⨩~mcy~м~measuredangle~∡~mfr~𝔪~mho~℧~mid~∣~midast~*~midcir~⫰~minusb~⊟~minusd~∸~minusdu~⨪~mlcp~⫛~mldr~…~mnplus~∓~models~⊧~mopf~𝕞~mp~∓~mscr~𝓂~mstpos~∾~multimap~⊸~mumap~⊸~nGg~⋙̸~nGt~≫⃒~nGtv~≫̸~nLeftarrow~⇍~nLeftrightarrow~⇎~nLl~⋘̸~nLt~≪⃒~nLtv~≪̸~nRightarrow~⇏~nVDash~⊯~nVdash~⊮~nacute~ń~nang~∠⃒~nap~≉~napE~⩰̸~napid~≋̸~napos~ʼn~napprox~≉~natur~♮~natural~♮~naturals~ℕ~nbump~≎̸~nbumpe~≏̸~ncap~⩃~ncaron~ň~ncedil~ņ~ncong~≇~ncongdot~⩭̸~ncup~⩂~ncy~н~neArr~⇗~nearhk~⤤~nearr~↗~nearrow~↗~nedot~≐̸~nequiv~≢~nesear~⤨~nesim~≂̸~nexist~∄~nexists~∄~nfr~𝔫~ngE~≧̸~nge~≱~ngeq~≱~ngeqq~≧̸~ngeqslant~⩾̸~nges~⩾̸~ngsim~≵~ngt~≯~ngtr~≯~nhArr~⇎~nharr~↮~nhpar~⫲~nis~⋼~nisd~⋺~niv~∋~njcy~њ~nlArr~⇍~nlE~≦̸~nlarr~↚~nldr~‥~nle~≰~nleftarrow~↚~nleftrightarrow~↮~nleq~≰~nleqq~≦̸~nleqslant~⩽̸~nles~⩽̸~nless~≮~nlsim~≴~nlt~≮~nltri~⋪~nltrie~⋬~nmid~∤~nopf~𝕟~notinE~⋹̸~notindot~⋵̸~notinva~∉~notinvb~⋷~notinvc~⋶~notni~∌~notniva~∌~notnivb~⋾~notnivc~⋽~npar~∦~nparallel~∦~nparsl~⫽⃥~npart~∂̸~npolint~⨔~npr~⊀~nprcue~⋠~npre~⪯̸~nprec~⊀~npreceq~⪯̸~nrArr~⇏~nrarr~↛~nrarrc~⤳̸~nrarrw~↝̸~nrightarrow~↛~nrtri~⋫~nrtrie~⋭~nsc~⊁~nsccue~⋡~nsce~⪰̸~nscr~𝓃~nshortmid~∤~nshortparallel~∦~nsim~≁~nsime~≄~nsimeq~≄~nsmid~∤~nspar~∦~nsqsube~⋢~nsqsupe~⋣~nsubE~⫅̸~nsube~⊈~nsubset~⊂⃒~nsubseteq~⊈~nsubseteqq~⫅̸~nsucc~⊁~nsucceq~⪰̸~nsup~⊅~nsupE~⫆̸~nsupe~⊉~nsupset~⊃⃒~nsupseteq~⊉~nsupseteqq~⫆̸~ntgl~≹~ntlg~≸~ntriangleleft~⋪~ntrianglelefteq~⋬~ntriangleright~⋫~ntrianglerighteq~⋭~num~#~numero~№~numsp~ ~nvDash~⊭~nvHarr~⤄~nvap~≍⃒~nvdash~⊬~nvge~≥⃒~nvgt~>⃒~nvinfin~⧞~nvlArr~⤂~nvle~≤⃒~nvlt~<⃒~nvltrie~⊴⃒~nvrArr~⤃~nvrtrie~⊵⃒~nvsim~∼⃒~nwArr~⇖~nwarhk~⤣~nwarr~↖~nwarrow~↖~nwnear~⤧~oS~Ⓢ~oast~⊛~ocir~⊚~ocy~о~odash~⊝~odblac~ő~odiv~⨸~odot~⊙~odsold~⦼~ofcir~⦿~ofr~𝔬~ogon~˛~ogt~⧁~ohbar~⦵~ohm~Ω~oint~∮~olarr~↺~olcir~⦾~olcross~⦻~olt~⧀~omacr~ō~omid~⦶~ominus~⊖~oopf~𝕠~opar~⦷~operp~⦹~orarr~↻~ord~⩝~order~ℴ~orderof~ℴ~origof~⊶~oror~⩖~orslope~⩗~orv~⩛~oscr~ℴ~osol~⊘~otimesas~⨶~ovbar~⌽~par~∥~parallel~∥~parsim~⫳~parsl~⫽~pcy~п~percnt~%~period~.~pertenk~‱~pfr~𝔭~phiv~ϕ~phmmat~ℳ~phone~☎~pitchfork~⋔~planck~ℏ~planckh~ℎ~plankv~ℏ~plus~+~plusacir~⨣~plusb~⊞~pluscir~⨢~plusdo~∔~plusdu~⨥~pluse~⩲~plussim~⨦~plustwo~⨧~pm~±~pointint~⨕~popf~𝕡~pr~≺~prE~⪳~prap~⪷~prcue~≼~pre~⪯~prec~≺~precapprox~⪷~preccurlyeq~≼~preceq~⪯~precnapprox~⪹~precneqq~⪵~precnsim~⋨~precsim~≾~primes~ℙ~prnE~⪵~prnap~⪹~prnsim~⋨~profalar~⌮~profline~⌒~profsurf~⌓~propto~∝~prsim~≾~prurel~⊰~pscr~𝓅~puncsp~ ~qfr~𝔮~qint~⨌~qopf~𝕢~qprime~⁗~qscr~𝓆~quaternions~ℍ~quatint~⨖~quest~?~questeq~≟~rAarr~⇛~rAtail~⤜~rBarr~⤏~rHar~⥤~race~∽̱~racute~ŕ~raemptyv~⦳~rangd~⦒~range~⦥~rangle~⟩~rarrap~⥵~rarrb~⇥~rarrbfs~⤠~rarrc~⤳~rarrfs~⤞~rarrhk~↪~rarrlp~↬~rarrpl~⥅~rarrsim~⥴~rarrtl~↣~rarrw~↝~ratail~⤚~ratio~∶~rationals~ℚ~rbarr~⤍~rbbrk~❳~rbrace~}~rbrack~]~rbrke~⦌~rbrksld~⦎~rbrkslu~⦐~rcaron~ř~rcedil~ŗ~rcub~}~rcy~р~rdca~⤷~rdldhar~⥩~rdquor~”~rdsh~↳~realine~ℛ~realpart~ℜ~reals~ℝ~rect~▭~rfisht~⥽~rfr~𝔯~rhard~⇁~rharu~⇀~rharul~⥬~rhov~ϱ~rightarrow~→~rightarrowtail~↣~rightharpoondown~⇁~rightharpoonup~⇀~rightleftarrows~⇄~rightleftharpoons~⇌~rightrightarrows~⇉~rightsquigarrow~↝~rightthreetimes~⋌~ring~˚~risingdotseq~≓~rlarr~⇄~rlhar~⇌~rmoust~⎱~rmoustache~⎱~rnmid~⫮~roang~⟭~roarr~⇾~robrk~⟧~ropar~⦆~ropf~𝕣~roplus~⨮~rotimes~⨵~rpar~)~rpargt~⦔~rppolint~⨒~rrarr~⇉~rscr~𝓇~rsh~↱~rsqb~]~rsquor~’~rthree~⋌~rtimes~⋊~rtri~▹~rtrie~⊵~rtrif~▸~rtriltri~⧎~ruluhar~⥨~rx~℞~sacute~ś~sc~≻~scE~⪴~scap~⪸~sccue~≽~sce~⪰~scedil~ş~scirc~ŝ~scnE~⪶~scnap~⪺~scnsim~⋩~scpolint~⨓~scsim~≿~scy~с~sdotb~⊡~sdote~⩦~seArr~⇘~searhk~⤥~searr~↘~searrow~↘~semi~;~seswar~⤩~setminus~∖~setmn~∖~sext~✶~sfr~𝔰~sfrown~⌢~sharp~♯~shchcy~щ~shcy~ш~shortmid~∣~shortparallel~∥~sigmav~ς~simdot~⩪~sime~≃~simeq~≃~simg~⪞~simgE~⪠~siml~⪝~simlE~⪟~simne~≆~simplus~⨤~simrarr~⥲~slarr~←~smallsetminus~∖~smashp~⨳~smeparsl~⧤~smid~∣~smile~⌣~smt~⪪~smte~⪬~smtes~⪬︀~softcy~ь~sol~/~solb~⧄~solbar~⌿~sopf~𝕤~spadesuit~♠~spar~∥~sqcap~⊓~sqcaps~⊓︀~sqcup~⊔~sqcups~⊔︀~sqsub~⊏~sqsube~⊑~sqsubset~⊏~sqsubseteq~⊑~sqsup~⊐~sqsupe~⊒~sqsupset~⊐~sqsupseteq~⊒~squ~□~square~□~squarf~▪~squf~▪~srarr~→~sscr~𝓈~ssetmn~∖~ssmile~⌣~sstarf~⋆~star~☆~starf~★~straightepsilon~ϵ~straightphi~ϕ~strns~¯~subE~⫅~subdot~⪽~subedot~⫃~submult~⫁~subnE~⫋~subne~⊊~subplus~⪿~subrarr~⥹~subset~⊂~subseteq~⊆~subseteqq~⫅~subsetneq~⊊~subsetneqq~⫋~subsim~⫇~subsub~⫕~subsup~⫓~succ~≻~succapprox~⪸~succcurlyeq~≽~succeq~⪰~succnapprox~⪺~succneqq~⪶~succnsim~⋩~succsim~≿~sung~♪~supE~⫆~supdot~⪾~supdsub~⫘~supedot~⫄~suphsol~⟉~suphsub~⫗~suplarr~⥻~supmult~⫂~supnE~⫌~supne~⊋~supplus~⫀~supset~⊃~supseteq~⊇~supseteqq~⫆~supsetneq~⊋~supsetneqq~⫌~supsim~⫈~supsub~⫔~supsup~⫖~swArr~⇙~swarhk~⤦~swarr~↙~swarrow~↙~swnwar~⤪~target~⌖~tbrk~⎴~tcaron~ť~tcedil~ţ~tcy~т~tdot~⃛~telrec~⌕~tfr~𝔱~therefore~∴~thetav~ϑ~thickapprox~≈~thicksim~∼~thkap~≈~thksim~∼~timesb~⊠~timesbar~⨱~timesd~⨰~tint~∭~toea~⤨~top~⊤~topbot~⌶~topcir~⫱~topf~𝕥~topfork~⫚~tosa~⤩~tprime~‴~triangle~▵~triangledown~▿~triangleleft~◃~trianglelefteq~⊴~triangleq~≜~triangleright~▹~trianglerighteq~⊵~tridot~◬~trie~≜~triminus~⨺~triplus~⨹~trisb~⧍~tritime~⨻~trpezium~⏢~tscr~𝓉~tscy~ц~tshcy~ћ~tstrok~ŧ~twixt~≬~twoheadleftarrow~↞~twoheadrightarrow~↠~uHar~⥣~ubrcy~ў~ubreve~ŭ~ucy~у~udarr~⇅~udblac~ű~udhar~⥮~ufisht~⥾~ufr~𝔲~uharl~↿~uharr~↾~uhblk~▀~ulcorn~⌜~ulcorner~⌜~ulcrop~⌏~ultri~◸~umacr~ū~uogon~ų~uopf~𝕦~uparrow~↑~updownarrow~↕~upharpoonleft~↿~upharpoonright~↾~uplus~⊎~upsi~υ~upuparrows~⇈~urcorn~⌝~urcorner~⌝~urcrop~⌎~uring~ů~urtri~◹~uscr~𝓊~utdot~⋰~utilde~ũ~utri~▵~utrif~▴~uuarr~⇈~uwangle~⦧~vArr~⇕~vBar~⫨~vBarv~⫩~vDash~⊨~vangrt~⦜~varepsilon~ϵ~varkappa~ϰ~varnothing~∅~varphi~ϕ~varpi~ϖ~varpropto~∝~varr~↕~varrho~ϱ~varsigma~ς~varsubsetneq~⊊︀~varsubsetneqq~⫋︀~varsupsetneq~⊋︀~varsupsetneqq~⫌︀~vartheta~ϑ~vartriangleleft~⊲~vartriangleright~⊳~vcy~в~vdash~⊢~vee~∨~veebar~⊻~veeeq~≚~vellip~⋮~verbar~|~vert~|~vfr~𝔳~vltri~⊲~vnsub~⊂⃒~vnsup~⊃⃒~vopf~𝕧~vprop~∝~vrtri~⊳~vscr~𝓋~vsubnE~⫋︀~vsubne~⊊︀~vsupnE~⫌︀~vsupne~⊋︀~vzigzag~⦚~wcirc~ŵ~wedbar~⩟~wedge~∧~wedgeq~≙~wfr~𝔴~wopf~𝕨~wp~℘~wr~≀~wreath~≀~wscr~𝓌~xcap~⋂~xcirc~◯~xcup~⋃~xdtri~▽~xfr~𝔵~xhArr~⟺~xharr~⟷~xlArr~⟸~xlarr~⟵~xmap~⟼~xnis~⋻~xodot~⨀~xopf~𝕩~xoplus~⨁~xotime~⨂~xrArr~⟹~xrarr~⟶~xscr~𝓍~xsqcup~⨆~xuplus~⨄~xutri~△~xvee~⋁~xwedge~⋀~yacy~я~ycirc~ŷ~ycy~ы~yfr~𝔶~yicy~ї~yopf~𝕪~yscr~𝓎~yucy~ю~zacute~ź~zcaron~ž~zcy~з~zdot~ż~zeetrf~ℨ~zfr~𝔷~zhcy~ж~zigrarr~⇝~zopf~𝕫~zscr~𝓏~~AMP~&~COPY~©~GT~>~LT~<~QUOT~"~REG~®',o.html4);var i={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376},n=String.fromCodePoint||function(t){return String.fromCharCode(Math.floor((t-65536)/1024)+55296,(t-65536)%1024+56320)},l=String.prototype.codePointAt?function(t,r){return t.codePointAt(r)}:function(t,r){return 1024*(t.charCodeAt(r)-55296)+t.charCodeAt(r+1)-56320+65536},c=function(){return c=Object.assign||function(t){for(var r,e=1,a=arguments.length;e<a;e++)for(var s in r=arguments[e])Object.prototype.hasOwnProperty.call(r,s)&&(t[s]=r[s]);return t},c.apply(this,arguments)},u=c(c({},o),{all:o.html5}),p={specialChars:/[<>'"&]/g,nonAscii:/[<>'"&\u0080-\uD7FF\uE000-\uFFFF\uDC00-\uDFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]?/g,nonAsciiPrintable:/[<>'"&\x01-\x08\x11-\x15\x17-\x1F\x7f-\uD7FF\uE000-\uFFFF\uDC00-\uDFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]?/g,nonAsciiPrintableOnly:/[\x01-\x08\x11-\x15\x17-\x1F\x7f-\uD7FF\uE000-\uFFFF\uDC00-\uDFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]?/g,extensive:/[\x01-\x0c\x0e-\x1f\x21-\x2c\x2e-\x2f\x3a-\x40\x5b-\x60\x7b-\x7d\x7f-\uD7FF\uE000-\uFFFF\uDC00-\uDFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]?/g},g={mode:"specialChars",level:"all",numeric:"decimal"};function h(t,r){var e=void 0===r?g:r,a=e.mode,s=void 0===a?"specialChars":a,o=e.numeric,i=void 0===o?"decimal":o,n=e.level;if(!t)return"";var c=p[s],h=u[void 0===n?"all":n].characters,m="hexadecimal"===i;return String.prototype.replace.call(t,c,(function(t){var r=h[t];if(!r){var e=t.length>1?l(t,0):t.charCodeAt(0);r=(m?"&#x"+e.toString(16):"&#"+e)+";"}return r}))}var m={scope:"body",level:"all"},d=/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);/g,f=/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+)[;=]?/g,b={xml:{strict:d,attribute:f,body:s.xml},html4:{strict:d,attribute:f,body:s.html4},html5:{strict:d,attribute:f,body:s.html5}},y=c(c({},b),{all:b.html5}),w=String.fromCharCode,v=w(65533);function q(t){return"string"!=typeof t?t:t.replace(/\\/g,"\\\\").replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/\{/g,"\\{").replace(/\}/g,"\\}")}class x{#t="";#r=[];#e={};#a="";constructor(t="",r="",e=[],a={}){this.name=t,this.tags=e,this.metadata=a,this.text=r}get name(){return this.#t}set name(t){if("string"!=typeof t)throw new Error("Name must be a String!");this.#t=t}get tags(){return this.#r}set tags(t){if(!Array.isArray(t))throw new Error("Tags must be an array!");this.#r=t}get metadata(){return this.#e}set metadata(t){if("object"!=typeof t)throw new Error("Metadata should be an object literal!");this.#e=t}get text(){return this.#a}set text(t){if("string"!=typeof t)throw new Error("Text should be a String!");this.#a=t}toTwee(){let t="";t+=`:: ${q(this.name)}`,this.tags.length>0&&(t+=` [${this.tags.map((t=>q(t))).join(" ")}]`),Object.keys(this.metadata).length>0&&(t+=` ${JSON.stringify(this.metadata)}`);const r=this.text.split("\n");for(let t=0;t<r.length;t++)r[t].startsWith("::")&&(r[t]=`\\${r[t]}`);return t+=`\n${r.join("\n")}\n\n`,t}toJSON(){const t={name:this.name,tags:this.tags,metadata:this.metadata,text:this.text};return JSON.stringify(t)}toTwine2HTML(t=1){let r="\t<tw-passagedata";return r+=` pid="${t}"`,r+=` name="${h(this.name)}"`,r+=` tags="${h(this.#r.join(" "))}" `,Object.prototype.hasOwnProperty.call(this.#e,"position")&&(r+=` position="${this.#e.position}" `),Object.prototype.hasOwnProperty.call(this.#e,"size")&&(r+=`size="${this.#e.size}" `),r+=`>${h(this.text)}</tw-passagedata>\n`,r}toTwine1HTML(){let t="\t<div";return t+=` tiddler="${h(this.name)}"`,t+=` tags="${h(this.#r.join(" "))}" `,t+=' modifier="extwee"',Object.prototype.hasOwnProperty.call(this.#e,"position")?t+=` twine-position="${this.#e.position}"`:t+=' twine-position="10,10"',t+=`>${h(this.#a)}</div>`,t}}const D=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i,E=function(t){if(!function(t){return"string"==typeof t&&D.test(t)}(t))throw TypeError("Invalid UUID");let r;return Uint8Array.of((r=parseInt(t.slice(0,8),16))>>>24,r>>>16&255,r>>>8&255,255&r,(r=parseInt(t.slice(9,13),16))>>>8,255&r,(r=parseInt(t.slice(14,18),16))>>>8,255&r,(r=parseInt(t.slice(19,23),16))>>>8,255&r,(r=parseInt(t.slice(24,36),16))/1099511627776&255,r/4294967296&255,r>>>24&255,r>>>16&255,r>>>8&255,255&r)},S=[];for(let t=0;t<256;++t)S.push((t+256).toString(16).slice(1));function A(t,r=0){return(S[t[r+0]]+S[t[r+1]]+S[t[r+2]]+S[t[r+3]]+"-"+S[t[r+4]]+S[t[r+5]]+"-"+S[t[r+6]]+S[t[r+7]]+"-"+S[t[r+8]]+S[t[r+9]]+"-"+S[t[r+10]]+S[t[r+11]]+S[t[r+12]]+S[t[r+13]]+S[t[r+14]]+S[t[r+15]]).toLowerCase()}let T;const O=new Uint8Array(16);function L(t){return 14+(t+64>>>9<<4)+1}function F(t,r){const e=(65535&t)+(65535&r);return(t>>16)+(r>>16)+(e>>16)<<16|65535&e}function N(t,r,e,a,s,o){return F((i=F(F(r,t),F(a,o)))<<(n=s)|i>>>32-n,e);var i,n}function k(t,r,e,a,s,o,i){return N(r&e|~r&a,t,r,s,o,i)}function U(t,r,e,a,s,o,i){return N(r&a|e&~a,t,r,s,o,i)}function P(t,r,e,a,s,o,i){return N(r^e^a,t,r,s,o,i)}function C(t,r,e,a,s,o,i){return N(e^(r|~a),t,r,s,o,i)}const I=function(t){return function(t){const r=new Uint8Array(4*t.length);for(let e=0;e<4*t.length;e++)r[e]=t[e>>2]>>>e%4*8&255;return r}(function(t,r){const e=new Uint32Array(L(r)).fill(0);e.set(t),e[r>>5]|=128<<r%32,e[e.length-1]=r,t=e;let a=1732584193,s=-271733879,o=-1732584194,i=271733878;for(let r=0;r<t.length;r+=16){const e=a,n=s,l=o,c=i;a=k(a,s,o,i,t[r],7,-680876936),i=k(i,a,s,o,t[r+1],12,-389564586),o=k(o,i,a,s,t[r+2],17,606105819),s=k(s,o,i,a,t[r+3],22,-1044525330),a=k(a,s,o,i,t[r+4],7,-176418897),i=k(i,a,s,o,t[r+5],12,1200080426),o=k(o,i,a,s,t[r+6],17,-1473231341),s=k(s,o,i,a,t[r+7],22,-45705983),a=k(a,s,o,i,t[r+8],7,1770035416),i=k(i,a,s,o,t[r+9],12,-1958414417),o=k(o,i,a,s,t[r+10],17,-42063),s=k(s,o,i,a,t[r+11],22,-1990404162),a=k(a,s,o,i,t[r+12],7,1804603682),i=k(i,a,s,o,t[r+13],12,-40341101),o=k(o,i,a,s,t[r+14],17,-1502002290),s=k(s,o,i,a,t[r+15],22,1236535329),a=U(a,s,o,i,t[r+1],5,-165796510),i=U(i,a,s,o,t[r+6],9,-1069501632),o=U(o,i,a,s,t[r+11],14,643717713),s=U(s,o,i,a,t[r],20,-373897302),a=U(a,s,o,i,t[r+5],5,-701558691),i=U(i,a,s,o,t[r+10],9,38016083),o=U(o,i,a,s,t[r+15],14,-660478335),s=U(s,o,i,a,t[r+4],20,-405537848),a=U(a,s,o,i,t[r+9],5,568446438),i=U(i,a,s,o,t[r+14],9,-1019803690),o=U(o,i,a,s,t[r+3],14,-187363961),s=U(s,o,i,a,t[r+8],20,1163531501),a=U(a,s,o,i,t[r+13],5,-1444681467),i=U(i,a,s,o,t[r+2],9,-51403784),o=U(o,i,a,s,t[r+7],14,1735328473),s=U(s,o,i,a,t[r+12],20,-1926607734),a=P(a,s,o,i,t[r+5],4,-378558),i=P(i,a,s,o,t[r+8],11,-2022574463),o=P(o,i,a,s,t[r+11],16,1839030562),s=P(s,o,i,a,t[r+14],23,-35309556),a=P(a,s,o,i,t[r+1],4,-1530992060),i=P(i,a,s,o,t[r+4],11,1272893353),o=P(o,i,a,s,t[r+7],16,-155497632),s=P(s,o,i,a,t[r+10],23,-1094730640),a=P(a,s,o,i,t[r+13],4,681279174),i=P(i,a,s,o,t[r],11,-358537222),o=P(o,i,a,s,t[r+3],16,-722521979),s=P(s,o,i,a,t[r+6],23,76029189),a=P(a,s,o,i,t[r+9],4,-640364487),i=P(i,a,s,o,t[r+12],11,-421815835),o=P(o,i,a,s,t[r+15],16,530742520),s=P(s,o,i,a,t[r+2],23,-995338651),a=C(a,s,o,i,t[r],6,-198630844),i=C(i,a,s,o,t[r+7],10,1126891415),o=C(o,i,a,s,t[r+14],15,-1416354905),s=C(s,o,i,a,t[r+5],21,-57434055),a=C(a,s,o,i,t[r+12],6,1700485571),i=C(i,a,s,o,t[r+3],10,-1894986606),o=C(o,i,a,s,t[r+10],15,-1051523),s=C(s,o,i,a,t[r+1],21,-2054922799),a=C(a,s,o,i,t[r+8],6,1873313359),i=C(i,a,s,o,t[r+15],10,-30611744),o=C(o,i,a,s,t[r+6],15,-1560198380),s=C(s,o,i,a,t[r+13],21,1309151649),a=C(a,s,o,i,t[r+4],6,-145523070),i=C(i,a,s,o,t[r+11],10,-1120210379),o=C(o,i,a,s,t[r+2],15,718787259),s=C(s,o,i,a,t[r+9],21,-343485551),a=F(a,e),s=F(s,n),o=F(o,l),i=F(i,c)}return Uint32Array.of(a,s,o,i)}(function(t){if(0===t.length)return new Uint32Array;const r=new Uint32Array(L(8*t.length)).fill(0);for(let e=0;e<t.length;e++)r[e>>2]|=(255&t[e])<<e%4*8;return r}(t),8*t.length))},R="6ba7b810-9dad-11d1-80b4-00c04fd430c8",V="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function _(t,r,e,a,s,o){const i="string"==typeof e?function(t){t=unescape(encodeURIComponent(t));const r=new Uint8Array(t.length);for(let e=0;e<t.length;++e)r[e]=t.charCodeAt(e);return r}(e):e,n="string"==typeof a?E(a):a;if("string"==typeof a&&(a=E(a)),16!==a?.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let l=new Uint8Array(16+i.length);if(l.set(n),l.set(i,n.length),l=r(l),l[6]=15&l[6]|t,l[8]=63&l[8]|128,s){o=o||0;for(let t=0;t<16;++t)s[o+t]=l[t];return s}return A(l)}function B(t,r,e,a){return _(48,I,t,r,e,a)}B.DNS=R,B.URL=V;const M={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};const j=function(t,r,e){return!M.randomUUID||r||t?function(t,r,e){const a=(t=t||{}).random??t.rng?.()??function(){if(!T){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");T=crypto.getRandomValues.bind(crypto)}return T(O)}();if(a.length<16)throw new Error("Random bytes length must be >= 16");if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,r){if((e=e||0)<0||e+16>r.length)throw new RangeError(`UUID byte range ${e}:${e+15} is out of buffer bounds`);for(let t=0;t<16;++t)r[e+t]=a[t];return r}return A(a)}(t,r,e):M.randomUUID()};function H(t,r,e,a){switch(t){case 0:return r&e^~r&a;case 1:case 3:return r^e^a;case 2:return r&e^r&a^e&a}}function z(t,r){return t<<r|t>>>32-r}const G=function(t){const r=[1518500249,1859775393,2400959708,3395469782],e=[1732584193,4023233417,2562383102,271733878,3285377520],a=new Uint8Array(t.length+1);a.set(t),a[t.length]=128;const s=(t=a).length/4+2,o=Math.ceil(s/16),i=new Array(o);for(let r=0;r<o;++r){const e=new Uint32Array(16);for(let a=0;a<16;++a)e[a]=t[64*r+4*a]<<24|t[64*r+4*a+1]<<16|t[64*r+4*a+2]<<8|t[64*r+4*a+3];i[r]=e}i[o-1][14]=8*(t.length-1)/Math.pow(2,32),i[o-1][14]=Math.floor(i[o-1][14]),i[o-1][15]=8*(t.length-1)&4294967295;for(let t=0;t<o;++t){const a=new Uint32Array(80);for(let r=0;r<16;++r)a[r]=i[t][r];for(let t=16;t<80;++t)a[t]=z(a[t-3]^a[t-8]^a[t-14]^a[t-16],1);let s=e[0],o=e[1],n=e[2],l=e[3],c=e[4];for(let t=0;t<80;++t){const e=Math.floor(t/20),i=z(s,5)+H(e,o,n,l)+c+r[e]+a[t]>>>0;c=l,l=n,n=z(o,30)>>>0,o=s,s=i}e[0]=e[0]+s>>>0,e[1]=e[1]+o>>>0,e[2]=e[2]+n>>>0,e[3]=e[3]+l>>>0,e[4]=e[4]+c>>>0}return Uint8Array.of(e[0]>>24,e[0]>>16,e[0]>>8,e[0],e[1]>>24,e[1]>>16,e[1]>>8,e[1],e[2]>>24,e[2]>>16,e[2]>>8,e[2],e[3]>>24,e[3]>>16,e[3]>>8,e[3],e[4]>>24,e[4]>>16,e[4]>>8,e[4])};function $(t,r,e,a){return _(80,G,t,r,e,a)}function J(){return j().toUpperCase()}$.DNS=R,$.URL=V;class Z{#t="Untitled Story";#s="";#o="";#i="";#n="";#l=1;#c=[];#u="";#p="";#e=null;#g={};#h="";#m="";constructor(t="Untitled Story"){this.name=t,this.#u="extwee",this.#p="2.3.7",this.#e={}}get name(){return this.#t}set name(t){if("string"!=typeof t)throw new Error("Story name must be a string");this.#t=t}get tagColors(){return this.#g}set tagColors(t){if(!(t instanceof Object))throw new Error("Tag colors must be an object!");this.#g=t}get IFID(){return this.#o}set IFID(t){if("string"!=typeof t)throw new Error("IFID must be a String!");this.#o=t}get start(){return this.#s}set start(t){if("string"!=typeof t)throw new Error("start (passage name) must be a String!");this.#s=t}get formatVersion(){return this.#n}set formatVersion(t){if("string"!=typeof t)throw new Error("Story format version must be a String!");this.#n=t}get metadata(){return this.#e}set metadata(t){if("object"!=typeof t)throw new Error("Story metadata must be Object!");this.#e=t}get format(){return this.#i}set format(t){if("string"!=typeof t)throw new Error("Story format must be a String!");this.#i=t}get creator(){return this.#u}set creator(t){if("string"!=typeof t)throw new Error("Creator must be String");this.#u=t}get creatorVersion(){return this.#p}set creatorVersion(t){if("string"!=typeof t)throw new Error("Creator version must be a string!");this.#p=t}get zoom(){return this.#l}set zoom(t){if("number"!=typeof t)throw new Error("Zoom level must be a Number!");this.#l=Number(Number.parseFloat(t).toFixed(2))}get passages(){return this.#c}set passages(t){if(!Array.isArray(t))throw new Error("Passages must be an Array!");if(!t.every((t=>t instanceof x)))throw new Error("Passages must be an Array of Passage objects!");this.#c=t}get storyStylesheet(){return this.#m}set storyStylesheet(t){if("string"!=typeof t)throw new Error("Story stylesheet must be a string!");this.#m=t}get storyJavaScript(){return this.#h}set storyJavaScript(t){if("string"!=typeof t)throw new Error("Story JavaScript must be a string!");this.#h=t}addPassage(t){if(!(t instanceof x))throw new Error("Can only add Passages to the story!");if(null!==this.getPassageByName(t.name))return console.warn(`Warning: A passage with the name "${t.name}" already exists!`),this.#c.length;if("StoryData"===t.name){try{const r=JSON.parse(t.text);Object.prototype.hasOwnProperty.call(r,"ifid")&&(this.IFID=r.ifid),Object.prototype.hasOwnProperty.call(r,"format")&&(this.format=r.format),Object.prototype.hasOwnProperty.call(r,"format-version")&&(this.formatVersion=r["format-version"]),Object.prototype.hasOwnProperty.call(r,"zoom")&&(this.zoom=r.zoom),Object.prototype.hasOwnProperty.call(r,"start")&&(this.start=r.start),Object.prototype.hasOwnProperty.call(r,"tag-colors")&&(this.tagColors=r["tag-colors"])}catch(t){}return this.#c.length}return"StoryTitle"===t.name?(this.name=t.text,this.#c.length):("Start"===t.name&&""==this.start&&(this.start=t.name),this.#c.push(t))}removePassageByName(t){return this.#c=this.#c.filter((r=>r.name!==t)),this.#c.length}getPassagesByTag(t){return this.#c.filter((r=>r.tags.some((r=>t===r))))}getPassageByName(t){const r=this.#c.find((r=>r.name===t));return void 0!==r?r:null}size(){return this.#c.length}toJSON(){const t={name:this.name,tagColors:this.tagColors,ifid:this.IFID,start:this.start,formatVersion:this.formatVersion,metadata:this.metadata,format:this.format,creator:this.creator,creatorVersion:this.creatorVersion,zoom:this.zoom,style:this.storyStylesheet,script:this.storyJavaScript,passages:[]};return this.passages.forEach((r=>{t.passages.push({name:r.name,tags:r.tags,metadata:r.metadata,text:r.text})})),JSON.stringify(t,null,4)}toTwee(){let t=":: StoryData\n";const r={};return null===this.IFID.match(/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/)?(r.ifid=J(),console.warn("Warning: IFID is not in UUIDv4 format! A new IFID was generated.")):r.ifid=this.IFID,""!==this.format&&(r.format=this.format),""!==this.formatVersion&&(r["format-version"]=this.formatVersion),0!==this.zoom&&(r.zoom=this.zoom),""!==this.start&&(r.start=this.start),Object.keys(this.tagColors).length>0&&(r["tag-colors"]=this.tagColors),t+=`${JSON.stringify(r,void 0,2)}`,t+="\n\n",t+=":: StoryTitle\n"+this.name,t+="\n\n",this.#m.length>0&&(t+=":: StoryStylesheet [stylesheet]\n"+this.#m+"\n\n"),this.#h.length>0&&(t+=":: StoryJavaScript [script]\n"+this.#h+"\n\n"),this.passages.forEach((r=>{t+=r.toTwee()})),t}toTwine2HTML(){let t=this.passages,r=`<tw-storydata name="${h(this.name)}"`;""!==this.IFID?r+=` ifid="${this.IFID}"`:r+=` ifid="${J()}"`;let e=1,a=1;t.forEach((t=>{t.name===this.start&&(a=e),e++})),0===t.length&&(a=0),r+=` startnode="${a}"`,""!==this.creator&&(r+=` creator="${h(this.creator)}"`),""!==this.creatorVersion&&(r+=` creator-version="${this.creatorVersion}"`),1!==this.zoom&&(r+=` zoom="${this.zoom}"`),""!==this.format&&(r+=` format="${this.format}"`),""!==this.formatVersion&&(r+=` format-version="${this.formatVersion}"`),r+=" options hidden>\n";const s=t.filter((t=>t.tags.includes("stylesheet")));t=t.filter((t=>!t.tags.includes("stylesheet"))),s.length>0&&(r+='\t<style role="stylesheet" id="twine-user-stylesheet" type="text/twine-css">',s.forEach((t=>{r+=t.text})),r+="</style>\n"),this.#m.length>0&&(r+=`\t<style role="stylesheet" id="twine-user-stylesheet" type="text/twine-css">${this.#m}</style>\n`);const o=t.filter((t=>t.tags.includes("script")));return t=t.filter((t=>!t.tags.includes("script"))),o.length>0&&(r+='\t<script role="script" id="twine-user-script" type="text/twine-javascript">',o.forEach((t=>{r+=t.text})),r+="<\/script>\n"),this.#h.length>0&&(r+=`\t<script role="script" id="twine-user-script" type="text/twine-javascript">${this.#h}<\/script>\n`),e=1,this.passages.forEach((t=>{r+=t.toTwine2HTML(e),e++})),Object.keys(this.tagColors).forEach((t=>{r+=`\t<tw-tag name="${t}" color="${this.tagColors[t]}"></tw-tag>\n`})),r+="</tw-storydata>",r}toTwine1HTML(){let t="";return this.passages.forEach((r=>{t+=`\t${r.toTwine1HTML()}`})),t}}class W{constructor(t){if(this.html=t,this.doc=null,this.usingDOMParser=!1,"undefined"!=typeof DOMParser)try{const r=new DOMParser;this.doc=r.parseFromString(t,"text/html"),this.usingDOMParser=!0;const e=this.doc.querySelector("parsererror");e&&(console.warn("DOMParser encountered an error, falling back to regex parsing:",e.textContent),this.doc=this.createSimpleDOM(t),this.usingDOMParser=!1)}catch(r){console.warn("DOMParser failed, falling back to regex parsing:",r.message),this.doc=this.createSimpleDOM(t),this.usingDOMParser=!1}else this.doc=this.createSimpleDOM(t),this.usingDOMParser=!1}getElementsByTagName(t){return this.usingDOMParser&&this.doc&&this.doc.getElementsByTagName?Array.from(this.doc.getElementsByTagName(t)).map((t=>{const r={};if(t.attributes)for(let e=0;e<t.attributes.length;e++){const a=t.attributes[e];r[a.name]=a.value}return{attributes:r,innerHTML:t.innerHTML||"",rawText:t.textContent||t.innerText||""}})):"tw-storydata"===t?this.extractStoryDataElements():"tw-passagedata"===t?this.extractPassageDataElements():"style"===t?this.extractStyleElements():[]}extractStoryDataElements(){const t=/<tw-storydata[^>]*>([\s\S]*?)<\/tw-storydata>/gi,r=[];let e;for(;null!==(e=t.exec(this.html));){const t=e[0],a=this.parseAttributes(t),s=e[1];r.push({attributes:a,innerHTML:s,rawText:s})}return r}extractPassageDataElements(){const t=/<tw-passagedata[^>]*>([\s\S]*?)<\/tw-passagedata>/gi,r=[];let e;for(;null!==(e=t.exec(this.html));){const t=e[0],a=this.parseAttributes(t),s=this.extractTextContent(e[1]);r.push({attributes:a,rawText:s})}return r}extractStyleElements(){const t=/<style[^>]*>([\s\S]*?)<\/style>/gi,r=[];let e;for(;null!==(e=t.exec(this.html));){const t=e[0],a=this.parseAttributes(t),s=e[1];r.push({attributes:a,rawText:s,innerHTML:s})}return r}parseAttributes(t){const r={},e=t.match(/^<[^>]*>/);if(!e)return r;const a=e[0],s=/(\w+(?:-\w+)*)=["']([^"']*)["']/g;let o;for(;null!==(o=s.exec(a));){const t=o[2].replace(/&quot;/g,'"').replace(/&#39;/g,"'").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&");r[o[1]]=t}let i=a;[...a.matchAll(s)].forEach((t=>{i=i.replace(t[0],"")}));const n=/(\w+(?:-\w+)*)=([^\s>]+)/g;for(;null!==(o=n.exec(i));)r[o[1]]||(r[o[1]]=o[2]);const l=/\s(\w+(?:-\w+)*)(?=\s|>|$)/g;for(;null!==(o=l.exec(a));){const t=o[1];r[t]||a.includes(`${t}=`)||t===a.match(/<(\w+)/)?.[1]||(r[t]=!0)}return r}extractTextContent(t){return t.replace(/<[^>]*>/g,"").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").replace(/&amp;/g,"&").trim()}createSimpleDOM(t){return{getElementsByTagName:t=>"tw-storydata"===t?this.extractStoryDataElements():"tw-passagedata"===t?this.extractPassageDataElements():"style"===t?this.extractStyleElements():[]}}}function Y(t){const r=new Z;if("string"!=typeof t)throw new TypeError("TypeError: Content is not a string!");let e=null;const a=new W(t),s=a.getElementsByTagName("tw-storydata");if(0===s.length)throw new TypeError("TypeError: Not Twine 2 HTML content!");const o=s[0];if(Object.prototype.hasOwnProperty.call(o.attributes,"name")){const t=o.attributes.name;"string"==typeof t&&t.trim().length>0?r.name=t.trim():console.warn("Warning: The name attribute is empty or invalid on tw-storydata!")}else console.warn("Warning: The name attribute is missing from tw-storydata!");if(Object.prototype.hasOwnProperty.call(o.attributes,"ifid")){const t=o.attributes.ifid;"string"==typeof t&&t.trim().length>0?r.IFID=t.trim():console.warn("Warning: The ifid attribute is empty or invalid on tw-storydata!")}else console.warn("Warning: The ifid attribute is missing from tw-storydata!");if(r.IFID&&null===r.IFID.match(/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/)&&console.warn("Warning: The IFID is not in valid UUIDv4 formatting on tw-storydata!"),Object.prototype.hasOwnProperty.call(o.attributes,"creator")&&(r.creator=o.attributes.creator),Object.prototype.hasOwnProperty.call(o.attributes,"creator-version")&&(r.creatorVersion=o.attributes["creator-version"]),Object.prototype.hasOwnProperty.call(o.attributes,"format")&&(r.format=o.attributes.format),Object.prototype.hasOwnProperty.call(o.attributes,"format-version")&&(r.formatVersion=o.attributes["format-version"]),Object.prototype.hasOwnProperty.call(o.attributes,"startnode")&&(e=o.attributes.startnode),Object.prototype.hasOwnProperty.call(o.attributes,"zoom")&&(r.zoom=Number(o.attributes.zoom)),Object.prototype.hasOwnProperty.call(o.attributes,"options")){const t=o.attributes.options;t.length>0&&t.split(",").forEach((t=>{const[e,a]=t.split(":");e&&a&&(r.metadata[e.trim()]=a.trim())}))}return Object.prototype.hasOwnProperty.call(o.attributes,"hidden")&&(r.metadata.hidden=o.attributes.hidden),a.getElementsByTagName("style").forEach((t=>{const e=t.innerHTML||t.rawText||"",a=/tw-story-tag-(.+?)\s*{\s*color:\s*(.+?)\s*}/g;let s;for(;null!==(s=a.exec(e));){const t=s[1],e=s[2];r.tagColors[t]=e}})),a.getElementsByTagName("tw-passagedata").forEach((t=>{const a=t.attributes,s=function(t){var r=m.level,e=void 0===r?"all":r,a=m.scope,s=void 0===a?"xml"===e?"strict":"body":a;if(!t)return"";var o=y[e][s],l=u[e].entities,c="attribute"===s,p="strict"===s;return t.replace(o,(function(t){return function(t,r,e,a){var s=t,o=t[t.length-1];if(e&&"="===o)s=t;else if(a&&";"!==o)s=t;else{var l=r[t];if(l)s=l;else if("&"===t[0]&&"#"===t[1]){var c=t[2],u="x"==c||"X"==c?parseInt(t.substr(3),16):parseInt(t.substr(2));s=u>=1114111?v:u>65535?n(u):w(i[u]||u)}}return s}(t,l,c,p)}))}(t.rawText);if(!Object.prototype.hasOwnProperty.call(a,"name"))return void console.warn("Warning: Cannot parse passage data without name!");const o=a.name;if(!Object.prototype.hasOwnProperty.call(a,"pid"))throw new Error("Error: Passages are required to have PID!");let l=null;Object.prototype.hasOwnProperty.call(a,"position")&&(l=a.position);let c=null;Object.prototype.hasOwnProperty.call(a,"size")&&(c=a.size);let p=[];Object.prototype.hasOwnProperty.call(a,"tags")&&a.tags.length>0&&'""'!==a.tags&&(p=a.tags.split(" ").filter((t=>""!==t)));const g={};null!==l&&(g.position=l),null!==c&&(g.size=c);const h=a.pid;e===h&&(r.start=o),r.addPassage(new x(o,s,p,g))})),r}class X{constructor(t){if(this.html=t,this.doc=null,this.usingDOMParser=!1,"undefined"!=typeof DOMParser)try{const r=new DOMParser;this.doc=r.parseFromString(t,"text/html"),this.usingDOMParser=!0;const e=this.doc.querySelector("parsererror");e&&(console.warn("DOMParser encountered an error, falling back to regex parsing:",e.textContent),this.doc=this.createSimpleDOM(t),this.usingDOMParser=!1)}catch(r){console.warn("DOMParser failed, falling back to regex parsing:",r.message),this.doc=this.createSimpleDOM(t),this.usingDOMParser=!1}else this.doc=this.createSimpleDOM(t),this.usingDOMParser=!1}getElementsByTagName(t){return this.usingDOMParser&&this.doc&&this.doc.getElementsByTagName?Array.from(this.doc.getElementsByTagName(t)).map((t=>({outerHTML:t.outerHTML,toString:()=>t.outerHTML}))):"tw-storydata"===t?this.extractStoryDataElements():[]}extractStoryDataElements(){const t=/<tw-storydata[^>]*>[\s\S]*?<\/tw-storydata>/gi,r=[];let e;for(;null!==(e=t.exec(this.html));){const t=e[0];r.push({outerHTML:t,toString:()=>t})}return r}createSimpleDOM(t){return{getElementsByTagName:t=>"tw-storydata"===t?this.extractStoryDataElements():[]}}}function Q(t){if("string"!=typeof t)throw new TypeError("Content is not a string!");const r=[],e=new X(t).getElementsByTagName("tw-storydata");0===e.length&&console.warn("Warning: No Twine 2 HTML content found!");for(const t of e)r.push(Y(t.outerHTML));return r}function K(t){if(!Array.isArray(t))throw new TypeError("Stories is not array!");let r="";for(const e of t){if(!(e instanceof Z))throw new TypeError("Error: story must be a Story object!");r+=e.toTwine2HTML(),r+="\n\n"}return r}const tt={parseTwine2ArchiveHTML:Q,compileTwine2ArchiveHTML:K,parse:Q,compile:K},rt="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:null;return rt&&(rt.Extwee=rt.Extwee||{},rt.Extwee.parseTwine2ArchiveHTML=Q,rt.Extwee.compileTwine2ArchiveHTML=K),r.default})()));