ortoni-report 2.0.2 → 2.0.4

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.
@@ -5886,665 +5886,795 @@ var require_lib = __commonJS({
5886
5886
  }
5887
5887
  });
5888
5888
 
5889
- // node_modules/colors/lib/styles.js
5890
- var require_styles = __commonJS({
5891
- "node_modules/colors/lib/styles.js"(exports, module2) {
5892
- var styles = {};
5893
- module2["exports"] = styles;
5894
- var codes = {
5895
- reset: [0, 0],
5896
- bold: [1, 22],
5897
- dim: [2, 22],
5898
- italic: [3, 23],
5899
- underline: [4, 24],
5900
- inverse: [7, 27],
5901
- hidden: [8, 28],
5902
- strikethrough: [9, 29],
5903
- black: [30, 39],
5904
- red: [31, 39],
5905
- green: [32, 39],
5906
- yellow: [33, 39],
5907
- blue: [34, 39],
5908
- magenta: [35, 39],
5909
- cyan: [36, 39],
5910
- white: [37, 39],
5911
- gray: [90, 39],
5912
- grey: [90, 39],
5913
- brightRed: [91, 39],
5914
- brightGreen: [92, 39],
5915
- brightYellow: [93, 39],
5916
- brightBlue: [94, 39],
5917
- brightMagenta: [95, 39],
5918
- brightCyan: [96, 39],
5919
- brightWhite: [97, 39],
5920
- bgBlack: [40, 49],
5921
- bgRed: [41, 49],
5922
- bgGreen: [42, 49],
5923
- bgYellow: [43, 49],
5924
- bgBlue: [44, 49],
5925
- bgMagenta: [45, 49],
5926
- bgCyan: [46, 49],
5927
- bgWhite: [47, 49],
5928
- bgGray: [100, 49],
5929
- bgGrey: [100, 49],
5930
- bgBrightRed: [101, 49],
5931
- bgBrightGreen: [102, 49],
5932
- bgBrightYellow: [103, 49],
5933
- bgBrightBlue: [104, 49],
5934
- bgBrightMagenta: [105, 49],
5935
- bgBrightCyan: [106, 49],
5936
- bgBrightWhite: [107, 49],
5937
- // legacy styles for colors pre v1.0.0
5938
- blackBG: [40, 49],
5939
- redBG: [41, 49],
5940
- greenBG: [42, 49],
5941
- yellowBG: [43, 49],
5942
- blueBG: [44, 49],
5943
- magentaBG: [45, 49],
5944
- cyanBG: [46, 49],
5945
- whiteBG: [47, 49]
5946
- };
5947
- Object.keys(codes).forEach(function(key) {
5948
- var val = codes[key];
5949
- var style = styles[key] = [];
5950
- style.open = "\x1B[" + val[0] + "m";
5951
- style.close = "\x1B[" + val[1] + "m";
5952
- });
5889
+ // node_modules/entities/lib/maps/entities.json
5890
+ var require_entities = __commonJS({
5891
+ "node_modules/entities/lib/maps/entities.json"(exports, module2) {
5892
+ module2.exports = { Aacute: "\xC1", aacute: "\xE1", Abreve: "\u0102", abreve: "\u0103", ac: "\u223E", acd: "\u223F", acE: "\u223E\u0333", Acirc: "\xC2", acirc: "\xE2", acute: "\xB4", Acy: "\u0410", acy: "\u0430", AElig: "\xC6", aelig: "\xE6", af: "\u2061", Afr: "\u{1D504}", afr: "\u{1D51E}", Agrave: "\xC0", agrave: "\xE0", alefsym: "\u2135", aleph: "\u2135", Alpha: "\u0391", alpha: "\u03B1", Amacr: "\u0100", amacr: "\u0101", amalg: "\u2A3F", amp: "&", AMP: "&", andand: "\u2A55", And: "\u2A53", and: "\u2227", andd: "\u2A5C", andslope: "\u2A58", andv: "\u2A5A", ang: "\u2220", ange: "\u29A4", angle: "\u2220", angmsdaa: "\u29A8", angmsdab: "\u29A9", angmsdac: "\u29AA", angmsdad: "\u29AB", angmsdae: "\u29AC", angmsdaf: "\u29AD", angmsdag: "\u29AE", angmsdah: "\u29AF", angmsd: "\u2221", angrt: "\u221F", angrtvb: "\u22BE", angrtvbd: "\u299D", angsph: "\u2222", angst: "\xC5", angzarr: "\u237C", Aogon: "\u0104", aogon: "\u0105", Aopf: "\u{1D538}", aopf: "\u{1D552}", apacir: "\u2A6F", ap: "\u2248", apE: "\u2A70", ape: "\u224A", apid: "\u224B", apos: "'", ApplyFunction: "\u2061", approx: "\u2248", approxeq: "\u224A", Aring: "\xC5", aring: "\xE5", Ascr: "\u{1D49C}", ascr: "\u{1D4B6}", Assign: "\u2254", ast: "*", asymp: "\u2248", asympeq: "\u224D", Atilde: "\xC3", atilde: "\xE3", Auml: "\xC4", auml: "\xE4", awconint: "\u2233", awint: "\u2A11", backcong: "\u224C", backepsilon: "\u03F6", backprime: "\u2035", backsim: "\u223D", backsimeq: "\u22CD", Backslash: "\u2216", Barv: "\u2AE7", barvee: "\u22BD", barwed: "\u2305", Barwed: "\u2306", barwedge: "\u2305", bbrk: "\u23B5", bbrktbrk: "\u23B6", bcong: "\u224C", Bcy: "\u0411", bcy: "\u0431", bdquo: "\u201E", becaus: "\u2235", because: "\u2235", Because: "\u2235", bemptyv: "\u29B0", bepsi: "\u03F6", bernou: "\u212C", Bernoullis: "\u212C", Beta: "\u0392", beta: "\u03B2", beth: "\u2136", between: "\u226C", Bfr: "\u{1D505}", bfr: "\u{1D51F}", bigcap: "\u22C2", bigcirc: "\u25EF", bigcup: "\u22C3", bigodot: "\u2A00", bigoplus: "\u2A01", bigotimes: "\u2A02", bigsqcup: "\u2A06", bigstar: "\u2605", bigtriangledown: "\u25BD", bigtriangleup: "\u25B3", biguplus: "\u2A04", bigvee: "\u22C1", bigwedge: "\u22C0", bkarow: "\u290D", blacklozenge: "\u29EB", blacksquare: "\u25AA", blacktriangle: "\u25B4", blacktriangledown: "\u25BE", blacktriangleleft: "\u25C2", blacktriangleright: "\u25B8", blank: "\u2423", blk12: "\u2592", blk14: "\u2591", blk34: "\u2593", block: "\u2588", bne: "=\u20E5", bnequiv: "\u2261\u20E5", bNot: "\u2AED", bnot: "\u2310", Bopf: "\u{1D539}", bopf: "\u{1D553}", bot: "\u22A5", bottom: "\u22A5", bowtie: "\u22C8", boxbox: "\u29C9", boxdl: "\u2510", boxdL: "\u2555", boxDl: "\u2556", boxDL: "\u2557", boxdr: "\u250C", boxdR: "\u2552", boxDr: "\u2553", boxDR: "\u2554", boxh: "\u2500", boxH: "\u2550", boxhd: "\u252C", boxHd: "\u2564", boxhD: "\u2565", boxHD: "\u2566", boxhu: "\u2534", boxHu: "\u2567", boxhU: "\u2568", boxHU: "\u2569", boxminus: "\u229F", boxplus: "\u229E", boxtimes: "\u22A0", boxul: "\u2518", boxuL: "\u255B", boxUl: "\u255C", boxUL: "\u255D", boxur: "\u2514", boxuR: "\u2558", boxUr: "\u2559", boxUR: "\u255A", boxv: "\u2502", boxV: "\u2551", boxvh: "\u253C", boxvH: "\u256A", boxVh: "\u256B", boxVH: "\u256C", boxvl: "\u2524", boxvL: "\u2561", boxVl: "\u2562", boxVL: "\u2563", boxvr: "\u251C", boxvR: "\u255E", boxVr: "\u255F", boxVR: "\u2560", bprime: "\u2035", breve: "\u02D8", Breve: "\u02D8", brvbar: "\xA6", bscr: "\u{1D4B7}", Bscr: "\u212C", bsemi: "\u204F", bsim: "\u223D", bsime: "\u22CD", bsolb: "\u29C5", bsol: "\\", bsolhsub: "\u27C8", bull: "\u2022", bullet: "\u2022", bump: "\u224E", bumpE: "\u2AAE", bumpe: "\u224F", Bumpeq: "\u224E", bumpeq: "\u224F", Cacute: "\u0106", cacute: "\u0107", capand: "\u2A44", capbrcup: "\u2A49", capcap: "\u2A4B", cap: "\u2229", Cap: "\u22D2", capcup: "\u2A47", capdot: "\u2A40", CapitalDifferentialD: "\u2145", caps: "\u2229\uFE00", caret: "\u2041", caron: "\u02C7", Cayleys: "\u212D", ccaps: "\u2A4D", Ccaron: "\u010C", ccaron: "\u010D", Ccedil: "\xC7", ccedil: "\xE7", Ccirc: "\u0108", ccirc: "\u0109", Cconint: "\u2230", ccups: "\u2A4C", ccupssm: "\u2A50", Cdot: "\u010A", cdot: "\u010B", cedil: "\xB8", Cedilla: "\xB8", cemptyv: "\u29B2", cent: "\xA2", centerdot: "\xB7", CenterDot: "\xB7", cfr: "\u{1D520}", Cfr: "\u212D", CHcy: "\u0427", chcy: "\u0447", check: "\u2713", checkmark: "\u2713", Chi: "\u03A7", chi: "\u03C7", circ: "\u02C6", circeq: "\u2257", circlearrowleft: "\u21BA", circlearrowright: "\u21BB", circledast: "\u229B", circledcirc: "\u229A", circleddash: "\u229D", CircleDot: "\u2299", circledR: "\xAE", circledS: "\u24C8", CircleMinus: "\u2296", CirclePlus: "\u2295", CircleTimes: "\u2297", cir: "\u25CB", cirE: "\u29C3", cire: "\u2257", cirfnint: "\u2A10", cirmid: "\u2AEF", cirscir: "\u29C2", ClockwiseContourIntegral: "\u2232", CloseCurlyDoubleQuote: "\u201D", CloseCurlyQuote: "\u2019", clubs: "\u2663", clubsuit: "\u2663", colon: ":", Colon: "\u2237", Colone: "\u2A74", colone: "\u2254", coloneq: "\u2254", comma: ",", commat: "@", comp: "\u2201", compfn: "\u2218", complement: "\u2201", complexes: "\u2102", cong: "\u2245", congdot: "\u2A6D", Congruent: "\u2261", conint: "\u222E", Conint: "\u222F", ContourIntegral: "\u222E", copf: "\u{1D554}", Copf: "\u2102", coprod: "\u2210", Coproduct: "\u2210", copy: "\xA9", COPY: "\xA9", copysr: "\u2117", CounterClockwiseContourIntegral: "\u2233", crarr: "\u21B5", cross: "\u2717", Cross: "\u2A2F", Cscr: "\u{1D49E}", cscr: "\u{1D4B8}", csub: "\u2ACF", csube: "\u2AD1", csup: "\u2AD0", csupe: "\u2AD2", ctdot: "\u22EF", cudarrl: "\u2938", cudarrr: "\u2935", cuepr: "\u22DE", cuesc: "\u22DF", cularr: "\u21B6", cularrp: "\u293D", cupbrcap: "\u2A48", cupcap: "\u2A46", CupCap: "\u224D", cup: "\u222A", Cup: "\u22D3", cupcup: "\u2A4A", cupdot: "\u228D", cupor: "\u2A45", cups: "\u222A\uFE00", curarr: "\u21B7", curarrm: "\u293C", curlyeqprec: "\u22DE", curlyeqsucc: "\u22DF", curlyvee: "\u22CE", curlywedge: "\u22CF", curren: "\xA4", curvearrowleft: "\u21B6", curvearrowright: "\u21B7", cuvee: "\u22CE", cuwed: "\u22CF", cwconint: "\u2232", cwint: "\u2231", cylcty: "\u232D", dagger: "\u2020", Dagger: "\u2021", daleth: "\u2138", darr: "\u2193", Darr: "\u21A1", dArr: "\u21D3", dash: "\u2010", Dashv: "\u2AE4", dashv: "\u22A3", dbkarow: "\u290F", dblac: "\u02DD", Dcaron: "\u010E", dcaron: "\u010F", Dcy: "\u0414", dcy: "\u0434", ddagger: "\u2021", ddarr: "\u21CA", DD: "\u2145", dd: "\u2146", DDotrahd: "\u2911", ddotseq: "\u2A77", deg: "\xB0", Del: "\u2207", Delta: "\u0394", delta: "\u03B4", demptyv: "\u29B1", dfisht: "\u297F", Dfr: "\u{1D507}", dfr: "\u{1D521}", dHar: "\u2965", dharl: "\u21C3", dharr: "\u21C2", DiacriticalAcute: "\xB4", DiacriticalDot: "\u02D9", DiacriticalDoubleAcute: "\u02DD", DiacriticalGrave: "`", DiacriticalTilde: "\u02DC", diam: "\u22C4", diamond: "\u22C4", Diamond: "\u22C4", diamondsuit: "\u2666", diams: "\u2666", die: "\xA8", DifferentialD: "\u2146", digamma: "\u03DD", disin: "\u22F2", div: "\xF7", divide: "\xF7", divideontimes: "\u22C7", divonx: "\u22C7", DJcy: "\u0402", djcy: "\u0452", dlcorn: "\u231E", dlcrop: "\u230D", dollar: "$", Dopf: "\u{1D53B}", dopf: "\u{1D555}", Dot: "\xA8", dot: "\u02D9", DotDot: "\u20DC", doteq: "\u2250", doteqdot: "\u2251", DotEqual: "\u2250", dotminus: "\u2238", dotplus: "\u2214", dotsquare: "\u22A1", doublebarwedge: "\u2306", DoubleContourIntegral: "\u222F", DoubleDot: "\xA8", DoubleDownArrow: "\u21D3", DoubleLeftArrow: "\u21D0", DoubleLeftRightArrow: "\u21D4", DoubleLeftTee: "\u2AE4", DoubleLongLeftArrow: "\u27F8", DoubleLongLeftRightArrow: "\u27FA", DoubleLongRightArrow: "\u27F9", DoubleRightArrow: "\u21D2", DoubleRightTee: "\u22A8", DoubleUpArrow: "\u21D1", DoubleUpDownArrow: "\u21D5", DoubleVerticalBar: "\u2225", DownArrowBar: "\u2913", downarrow: "\u2193", DownArrow: "\u2193", Downarrow: "\u21D3", DownArrowUpArrow: "\u21F5", DownBreve: "\u0311", downdownarrows: "\u21CA", downharpoonleft: "\u21C3", downharpoonright: "\u21C2", DownLeftRightVector: "\u2950", DownLeftTeeVector: "\u295E", DownLeftVectorBar: "\u2956", DownLeftVector: "\u21BD", DownRightTeeVector: "\u295F", DownRightVectorBar: "\u2957", DownRightVector: "\u21C1", DownTeeArrow: "\u21A7", DownTee: "\u22A4", drbkarow: "\u2910", drcorn: "\u231F", drcrop: "\u230C", Dscr: "\u{1D49F}", dscr: "\u{1D4B9}", DScy: "\u0405", dscy: "\u0455", dsol: "\u29F6", Dstrok: "\u0110", dstrok: "\u0111", dtdot: "\u22F1", dtri: "\u25BF", dtrif: "\u25BE", duarr: "\u21F5", duhar: "\u296F", dwangle: "\u29A6", DZcy: "\u040F", dzcy: "\u045F", dzigrarr: "\u27FF", Eacute: "\xC9", eacute: "\xE9", easter: "\u2A6E", Ecaron: "\u011A", ecaron: "\u011B", Ecirc: "\xCA", ecirc: "\xEA", ecir: "\u2256", ecolon: "\u2255", Ecy: "\u042D", ecy: "\u044D", eDDot: "\u2A77", Edot: "\u0116", edot: "\u0117", eDot: "\u2251", ee: "\u2147", efDot: "\u2252", Efr: "\u{1D508}", efr: "\u{1D522}", eg: "\u2A9A", Egrave: "\xC8", egrave: "\xE8", egs: "\u2A96", egsdot: "\u2A98", el: "\u2A99", Element: "\u2208", elinters: "\u23E7", ell: "\u2113", els: "\u2A95", elsdot: "\u2A97", Emacr: "\u0112", emacr: "\u0113", empty: "\u2205", emptyset: "\u2205", EmptySmallSquare: "\u25FB", emptyv: "\u2205", EmptyVerySmallSquare: "\u25AB", emsp13: "\u2004", emsp14: "\u2005", emsp: "\u2003", ENG: "\u014A", eng: "\u014B", ensp: "\u2002", Eogon: "\u0118", eogon: "\u0119", Eopf: "\u{1D53C}", eopf: "\u{1D556}", epar: "\u22D5", eparsl: "\u29E3", eplus: "\u2A71", epsi: "\u03B5", Epsilon: "\u0395", epsilon: "\u03B5", epsiv: "\u03F5", eqcirc: "\u2256", eqcolon: "\u2255", eqsim: "\u2242", eqslantgtr: "\u2A96", eqslantless: "\u2A95", Equal: "\u2A75", equals: "=", EqualTilde: "\u2242", equest: "\u225F", Equilibrium: "\u21CC", equiv: "\u2261", equivDD: "\u2A78", eqvparsl: "\u29E5", erarr: "\u2971", erDot: "\u2253", escr: "\u212F", Escr: "\u2130", esdot: "\u2250", Esim: "\u2A73", esim: "\u2242", Eta: "\u0397", eta: "\u03B7", ETH: "\xD0", eth: "\xF0", Euml: "\xCB", euml: "\xEB", euro: "\u20AC", excl: "!", exist: "\u2203", Exists: "\u2203", expectation: "\u2130", exponentiale: "\u2147", ExponentialE: "\u2147", fallingdotseq: "\u2252", Fcy: "\u0424", fcy: "\u0444", female: "\u2640", ffilig: "\uFB03", fflig: "\uFB00", ffllig: "\uFB04", Ffr: "\u{1D509}", ffr: "\u{1D523}", filig: "\uFB01", FilledSmallSquare: "\u25FC", FilledVerySmallSquare: "\u25AA", fjlig: "fj", flat: "\u266D", fllig: "\uFB02", fltns: "\u25B1", fnof: "\u0192", Fopf: "\u{1D53D}", fopf: "\u{1D557}", forall: "\u2200", ForAll: "\u2200", fork: "\u22D4", forkv: "\u2AD9", Fouriertrf: "\u2131", fpartint: "\u2A0D", frac12: "\xBD", frac13: "\u2153", frac14: "\xBC", frac15: "\u2155", frac16: "\u2159", frac18: "\u215B", frac23: "\u2154", frac25: "\u2156", frac34: "\xBE", frac35: "\u2157", frac38: "\u215C", frac45: "\u2158", frac56: "\u215A", frac58: "\u215D", frac78: "\u215E", frasl: "\u2044", frown: "\u2322", fscr: "\u{1D4BB}", Fscr: "\u2131", gacute: "\u01F5", Gamma: "\u0393", gamma: "\u03B3", Gammad: "\u03DC", gammad: "\u03DD", gap: "\u2A86", Gbreve: "\u011E", gbreve: "\u011F", Gcedil: "\u0122", Gcirc: "\u011C", gcirc: "\u011D", Gcy: "\u0413", gcy: "\u0433", Gdot: "\u0120", gdot: "\u0121", ge: "\u2265", gE: "\u2267", gEl: "\u2A8C", gel: "\u22DB", geq: "\u2265", geqq: "\u2267", geqslant: "\u2A7E", gescc: "\u2AA9", ges: "\u2A7E", gesdot: "\u2A80", gesdoto: "\u2A82", gesdotol: "\u2A84", gesl: "\u22DB\uFE00", gesles: "\u2A94", Gfr: "\u{1D50A}", gfr: "\u{1D524}", gg: "\u226B", Gg: "\u22D9", ggg: "\u22D9", gimel: "\u2137", GJcy: "\u0403", gjcy: "\u0453", gla: "\u2AA5", gl: "\u2277", glE: "\u2A92", glj: "\u2AA4", gnap: "\u2A8A", gnapprox: "\u2A8A", gne: "\u2A88", gnE: "\u2269", gneq: "\u2A88", gneqq: "\u2269", gnsim: "\u22E7", Gopf: "\u{1D53E}", gopf: "\u{1D558}", grave: "`", GreaterEqual: "\u2265", GreaterEqualLess: "\u22DB", GreaterFullEqual: "\u2267", GreaterGreater: "\u2AA2", GreaterLess: "\u2277", GreaterSlantEqual: "\u2A7E", GreaterTilde: "\u2273", Gscr: "\u{1D4A2}", gscr: "\u210A", gsim: "\u2273", gsime: "\u2A8E", gsiml: "\u2A90", gtcc: "\u2AA7", gtcir: "\u2A7A", gt: ">", GT: ">", Gt: "\u226B", gtdot: "\u22D7", gtlPar: "\u2995", gtquest: "\u2A7C", gtrapprox: "\u2A86", gtrarr: "\u2978", gtrdot: "\u22D7", gtreqless: "\u22DB", gtreqqless: "\u2A8C", gtrless: "\u2277", gtrsim: "\u2273", gvertneqq: "\u2269\uFE00", gvnE: "\u2269\uFE00", Hacek: "\u02C7", hairsp: "\u200A", half: "\xBD", hamilt: "\u210B", HARDcy: "\u042A", hardcy: "\u044A", harrcir: "\u2948", harr: "\u2194", hArr: "\u21D4", harrw: "\u21AD", Hat: "^", hbar: "\u210F", Hcirc: "\u0124", hcirc: "\u0125", hearts: "\u2665", heartsuit: "\u2665", hellip: "\u2026", hercon: "\u22B9", hfr: "\u{1D525}", Hfr: "\u210C", HilbertSpace: "\u210B", hksearow: "\u2925", hkswarow: "\u2926", hoarr: "\u21FF", homtht: "\u223B", hookleftarrow: "\u21A9", hookrightarrow: "\u21AA", hopf: "\u{1D559}", Hopf: "\u210D", horbar: "\u2015", HorizontalLine: "\u2500", hscr: "\u{1D4BD}", Hscr: "\u210B", hslash: "\u210F", Hstrok: "\u0126", hstrok: "\u0127", HumpDownHump: "\u224E", HumpEqual: "\u224F", hybull: "\u2043", hyphen: "\u2010", Iacute: "\xCD", iacute: "\xED", ic: "\u2063", Icirc: "\xCE", icirc: "\xEE", Icy: "\u0418", icy: "\u0438", Idot: "\u0130", IEcy: "\u0415", iecy: "\u0435", iexcl: "\xA1", iff: "\u21D4", ifr: "\u{1D526}", Ifr: "\u2111", Igrave: "\xCC", igrave: "\xEC", ii: "\u2148", iiiint: "\u2A0C", iiint: "\u222D", iinfin: "\u29DC", iiota: "\u2129", IJlig: "\u0132", ijlig: "\u0133", Imacr: "\u012A", imacr: "\u012B", image: "\u2111", ImaginaryI: "\u2148", imagline: "\u2110", imagpart: "\u2111", imath: "\u0131", Im: "\u2111", imof: "\u22B7", imped: "\u01B5", Implies: "\u21D2", incare: "\u2105", in: "\u2208", infin: "\u221E", infintie: "\u29DD", inodot: "\u0131", intcal: "\u22BA", int: "\u222B", Int: "\u222C", integers: "\u2124", Integral: "\u222B", intercal: "\u22BA", Intersection: "\u22C2", intlarhk: "\u2A17", intprod: "\u2A3C", InvisibleComma: "\u2063", InvisibleTimes: "\u2062", IOcy: "\u0401", iocy: "\u0451", Iogon: "\u012E", iogon: "\u012F", Iopf: "\u{1D540}", iopf: "\u{1D55A}", Iota: "\u0399", iota: "\u03B9", iprod: "\u2A3C", iquest: "\xBF", iscr: "\u{1D4BE}", Iscr: "\u2110", isin: "\u2208", isindot: "\u22F5", isinE: "\u22F9", isins: "\u22F4", isinsv: "\u22F3", isinv: "\u2208", it: "\u2062", Itilde: "\u0128", itilde: "\u0129", Iukcy: "\u0406", iukcy: "\u0456", Iuml: "\xCF", iuml: "\xEF", Jcirc: "\u0134", jcirc: "\u0135", Jcy: "\u0419", jcy: "\u0439", Jfr: "\u{1D50D}", jfr: "\u{1D527}", jmath: "\u0237", Jopf: "\u{1D541}", jopf: "\u{1D55B}", Jscr: "\u{1D4A5}", jscr: "\u{1D4BF}", Jsercy: "\u0408", jsercy: "\u0458", Jukcy: "\u0404", jukcy: "\u0454", Kappa: "\u039A", kappa: "\u03BA", kappav: "\u03F0", Kcedil: "\u0136", kcedil: "\u0137", Kcy: "\u041A", kcy: "\u043A", Kfr: "\u{1D50E}", kfr: "\u{1D528}", kgreen: "\u0138", KHcy: "\u0425", khcy: "\u0445", KJcy: "\u040C", kjcy: "\u045C", Kopf: "\u{1D542}", kopf: "\u{1D55C}", Kscr: "\u{1D4A6}", kscr: "\u{1D4C0}", lAarr: "\u21DA", Lacute: "\u0139", lacute: "\u013A", laemptyv: "\u29B4", lagran: "\u2112", Lambda: "\u039B", lambda: "\u03BB", lang: "\u27E8", Lang: "\u27EA", langd: "\u2991", langle: "\u27E8", lap: "\u2A85", Laplacetrf: "\u2112", laquo: "\xAB", larrb: "\u21E4", larrbfs: "\u291F", larr: "\u2190", Larr: "\u219E", lArr: "\u21D0", larrfs: "\u291D", larrhk: "\u21A9", larrlp: "\u21AB", larrpl: "\u2939", larrsim: "\u2973", larrtl: "\u21A2", latail: "\u2919", lAtail: "\u291B", lat: "\u2AAB", late: "\u2AAD", lates: "\u2AAD\uFE00", lbarr: "\u290C", lBarr: "\u290E", lbbrk: "\u2772", lbrace: "{", lbrack: "[", lbrke: "\u298B", lbrksld: "\u298F", lbrkslu: "\u298D", Lcaron: "\u013D", lcaron: "\u013E", Lcedil: "\u013B", lcedil: "\u013C", lceil: "\u2308", lcub: "{", Lcy: "\u041B", lcy: "\u043B", ldca: "\u2936", ldquo: "\u201C", ldquor: "\u201E", ldrdhar: "\u2967", ldrushar: "\u294B", ldsh: "\u21B2", le: "\u2264", lE: "\u2266", LeftAngleBracket: "\u27E8", LeftArrowBar: "\u21E4", leftarrow: "\u2190", LeftArrow: "\u2190", Leftarrow: "\u21D0", LeftArrowRightArrow: "\u21C6", leftarrowtail: "\u21A2", LeftCeiling: "\u2308", LeftDoubleBracket: "\u27E6", LeftDownTeeVector: "\u2961", LeftDownVectorBar: "\u2959", LeftDownVector: "\u21C3", LeftFloor: "\u230A", leftharpoondown: "\u21BD", leftharpoonup: "\u21BC", leftleftarrows: "\u21C7", leftrightarrow: "\u2194", LeftRightArrow: "\u2194", Leftrightarrow: "\u21D4", leftrightarrows: "\u21C6", leftrightharpoons: "\u21CB", leftrightsquigarrow: "\u21AD", LeftRightVector: "\u294E", LeftTeeArrow: "\u21A4", LeftTee: "\u22A3", LeftTeeVector: "\u295A", leftthreetimes: "\u22CB", LeftTriangleBar: "\u29CF", LeftTriangle: "\u22B2", LeftTriangleEqual: "\u22B4", LeftUpDownVector: "\u2951", LeftUpTeeVector: "\u2960", LeftUpVectorBar: "\u2958", LeftUpVector: "\u21BF", LeftVectorBar: "\u2952", LeftVector: "\u21BC", lEg: "\u2A8B", leg: "\u22DA", leq: "\u2264", leqq: "\u2266", leqslant: "\u2A7D", lescc: "\u2AA8", les: "\u2A7D", lesdot: "\u2A7F", lesdoto: "\u2A81", lesdotor: "\u2A83", lesg: "\u22DA\uFE00", lesges: "\u2A93", lessapprox: "\u2A85", lessdot: "\u22D6", lesseqgtr: "\u22DA", lesseqqgtr: "\u2A8B", LessEqualGreater: "\u22DA", LessFullEqual: "\u2266", LessGreater: "\u2276", lessgtr: "\u2276", LessLess: "\u2AA1", lesssim: "\u2272", LessSlantEqual: "\u2A7D", LessTilde: "\u2272", lfisht: "\u297C", lfloor: "\u230A", Lfr: "\u{1D50F}", lfr: "\u{1D529}", lg: "\u2276", lgE: "\u2A91", lHar: "\u2962", lhard: "\u21BD", lharu: "\u21BC", lharul: "\u296A", lhblk: "\u2584", LJcy: "\u0409", ljcy: "\u0459", llarr: "\u21C7", ll: "\u226A", Ll: "\u22D8", llcorner: "\u231E", Lleftarrow: "\u21DA", llhard: "\u296B", lltri: "\u25FA", Lmidot: "\u013F", lmidot: "\u0140", lmoustache: "\u23B0", lmoust: "\u23B0", lnap: "\u2A89", lnapprox: "\u2A89", lne: "\u2A87", lnE: "\u2268", lneq: "\u2A87", lneqq: "\u2268", lnsim: "\u22E6", loang: "\u27EC", loarr: "\u21FD", lobrk: "\u27E6", longleftarrow: "\u27F5", LongLeftArrow: "\u27F5", Longleftarrow: "\u27F8", longleftrightarrow: "\u27F7", LongLeftRightArrow: "\u27F7", Longleftrightarrow: "\u27FA", longmapsto: "\u27FC", longrightarrow: "\u27F6", LongRightArrow: "\u27F6", Longrightarrow: "\u27F9", looparrowleft: "\u21AB", looparrowright: "\u21AC", lopar: "\u2985", Lopf: "\u{1D543}", lopf: "\u{1D55D}", loplus: "\u2A2D", lotimes: "\u2A34", lowast: "\u2217", lowbar: "_", LowerLeftArrow: "\u2199", LowerRightArrow: "\u2198", loz: "\u25CA", lozenge: "\u25CA", lozf: "\u29EB", lpar: "(", lparlt: "\u2993", lrarr: "\u21C6", lrcorner: "\u231F", lrhar: "\u21CB", lrhard: "\u296D", lrm: "\u200E", lrtri: "\u22BF", lsaquo: "\u2039", lscr: "\u{1D4C1}", Lscr: "\u2112", lsh: "\u21B0", Lsh: "\u21B0", lsim: "\u2272", lsime: "\u2A8D", lsimg: "\u2A8F", lsqb: "[", lsquo: "\u2018", lsquor: "\u201A", Lstrok: "\u0141", lstrok: "\u0142", ltcc: "\u2AA6", ltcir: "\u2A79", lt: "<", LT: "<", Lt: "\u226A", ltdot: "\u22D6", lthree: "\u22CB", ltimes: "\u22C9", ltlarr: "\u2976", ltquest: "\u2A7B", ltri: "\u25C3", ltrie: "\u22B4", ltrif: "\u25C2", ltrPar: "\u2996", lurdshar: "\u294A", luruhar: "\u2966", lvertneqq: "\u2268\uFE00", lvnE: "\u2268\uFE00", macr: "\xAF", male: "\u2642", malt: "\u2720", maltese: "\u2720", Map: "\u2905", map: "\u21A6", mapsto: "\u21A6", mapstodown: "\u21A7", mapstoleft: "\u21A4", mapstoup: "\u21A5", marker: "\u25AE", mcomma: "\u2A29", Mcy: "\u041C", mcy: "\u043C", mdash: "\u2014", mDDot: "\u223A", measuredangle: "\u2221", MediumSpace: "\u205F", Mellintrf: "\u2133", Mfr: "\u{1D510}", mfr: "\u{1D52A}", mho: "\u2127", micro: "\xB5", midast: "*", midcir: "\u2AF0", mid: "\u2223", middot: "\xB7", minusb: "\u229F", minus: "\u2212", minusd: "\u2238", minusdu: "\u2A2A", MinusPlus: "\u2213", mlcp: "\u2ADB", mldr: "\u2026", mnplus: "\u2213", models: "\u22A7", Mopf: "\u{1D544}", mopf: "\u{1D55E}", mp: "\u2213", mscr: "\u{1D4C2}", Mscr: "\u2133", mstpos: "\u223E", Mu: "\u039C", mu: "\u03BC", multimap: "\u22B8", mumap: "\u22B8", nabla: "\u2207", Nacute: "\u0143", nacute: "\u0144", nang: "\u2220\u20D2", nap: "\u2249", napE: "\u2A70\u0338", napid: "\u224B\u0338", napos: "\u0149", napprox: "\u2249", natural: "\u266E", naturals: "\u2115", natur: "\u266E", nbsp: "\xA0", nbump: "\u224E\u0338", nbumpe: "\u224F\u0338", ncap: "\u2A43", Ncaron: "\u0147", ncaron: "\u0148", Ncedil: "\u0145", ncedil: "\u0146", ncong: "\u2247", ncongdot: "\u2A6D\u0338", ncup: "\u2A42", Ncy: "\u041D", ncy: "\u043D", ndash: "\u2013", nearhk: "\u2924", nearr: "\u2197", neArr: "\u21D7", nearrow: "\u2197", ne: "\u2260", nedot: "\u2250\u0338", NegativeMediumSpace: "\u200B", NegativeThickSpace: "\u200B", NegativeThinSpace: "\u200B", NegativeVeryThinSpace: "\u200B", nequiv: "\u2262", nesear: "\u2928", nesim: "\u2242\u0338", NestedGreaterGreater: "\u226B", NestedLessLess: "\u226A", NewLine: "\n", nexist: "\u2204", nexists: "\u2204", Nfr: "\u{1D511}", nfr: "\u{1D52B}", ngE: "\u2267\u0338", nge: "\u2271", ngeq: "\u2271", ngeqq: "\u2267\u0338", ngeqslant: "\u2A7E\u0338", nges: "\u2A7E\u0338", nGg: "\u22D9\u0338", ngsim: "\u2275", nGt: "\u226B\u20D2", ngt: "\u226F", ngtr: "\u226F", nGtv: "\u226B\u0338", nharr: "\u21AE", nhArr: "\u21CE", nhpar: "\u2AF2", ni: "\u220B", nis: "\u22FC", nisd: "\u22FA", niv: "\u220B", NJcy: "\u040A", njcy: "\u045A", nlarr: "\u219A", nlArr: "\u21CD", nldr: "\u2025", nlE: "\u2266\u0338", nle: "\u2270", nleftarrow: "\u219A", nLeftarrow: "\u21CD", nleftrightarrow: "\u21AE", nLeftrightarrow: "\u21CE", nleq: "\u2270", nleqq: "\u2266\u0338", nleqslant: "\u2A7D\u0338", nles: "\u2A7D\u0338", nless: "\u226E", nLl: "\u22D8\u0338", nlsim: "\u2274", nLt: "\u226A\u20D2", nlt: "\u226E", nltri: "\u22EA", nltrie: "\u22EC", nLtv: "\u226A\u0338", nmid: "\u2224", NoBreak: "\u2060", NonBreakingSpace: "\xA0", nopf: "\u{1D55F}", Nopf: "\u2115", Not: "\u2AEC", not: "\xAC", NotCongruent: "\u2262", NotCupCap: "\u226D", NotDoubleVerticalBar: "\u2226", NotElement: "\u2209", NotEqual: "\u2260", NotEqualTilde: "\u2242\u0338", NotExists: "\u2204", NotGreater: "\u226F", NotGreaterEqual: "\u2271", NotGreaterFullEqual: "\u2267\u0338", NotGreaterGreater: "\u226B\u0338", NotGreaterLess: "\u2279", NotGreaterSlantEqual: "\u2A7E\u0338", NotGreaterTilde: "\u2275", NotHumpDownHump: "\u224E\u0338", NotHumpEqual: "\u224F\u0338", notin: "\u2209", notindot: "\u22F5\u0338", notinE: "\u22F9\u0338", notinva: "\u2209", notinvb: "\u22F7", notinvc: "\u22F6", NotLeftTriangleBar: "\u29CF\u0338", NotLeftTriangle: "\u22EA", NotLeftTriangleEqual: "\u22EC", NotLess: "\u226E", NotLessEqual: "\u2270", NotLessGreater: "\u2278", NotLessLess: "\u226A\u0338", NotLessSlantEqual: "\u2A7D\u0338", NotLessTilde: "\u2274", NotNestedGreaterGreater: "\u2AA2\u0338", NotNestedLessLess: "\u2AA1\u0338", notni: "\u220C", notniva: "\u220C", notnivb: "\u22FE", notnivc: "\u22FD", NotPrecedes: "\u2280", NotPrecedesEqual: "\u2AAF\u0338", NotPrecedesSlantEqual: "\u22E0", NotReverseElement: "\u220C", NotRightTriangleBar: "\u29D0\u0338", NotRightTriangle: "\u22EB", NotRightTriangleEqual: "\u22ED", NotSquareSubset: "\u228F\u0338", NotSquareSubsetEqual: "\u22E2", NotSquareSuperset: "\u2290\u0338", NotSquareSupersetEqual: "\u22E3", NotSubset: "\u2282\u20D2", NotSubsetEqual: "\u2288", NotSucceeds: "\u2281", NotSucceedsEqual: "\u2AB0\u0338", NotSucceedsSlantEqual: "\u22E1", NotSucceedsTilde: "\u227F\u0338", NotSuperset: "\u2283\u20D2", NotSupersetEqual: "\u2289", NotTilde: "\u2241", NotTildeEqual: "\u2244", NotTildeFullEqual: "\u2247", NotTildeTilde: "\u2249", NotVerticalBar: "\u2224", nparallel: "\u2226", npar: "\u2226", nparsl: "\u2AFD\u20E5", npart: "\u2202\u0338", npolint: "\u2A14", npr: "\u2280", nprcue: "\u22E0", nprec: "\u2280", npreceq: "\u2AAF\u0338", npre: "\u2AAF\u0338", nrarrc: "\u2933\u0338", nrarr: "\u219B", nrArr: "\u21CF", nrarrw: "\u219D\u0338", nrightarrow: "\u219B", nRightarrow: "\u21CF", nrtri: "\u22EB", nrtrie: "\u22ED", nsc: "\u2281", nsccue: "\u22E1", nsce: "\u2AB0\u0338", Nscr: "\u{1D4A9}", nscr: "\u{1D4C3}", nshortmid: "\u2224", nshortparallel: "\u2226", nsim: "\u2241", nsime: "\u2244", nsimeq: "\u2244", nsmid: "\u2224", nspar: "\u2226", nsqsube: "\u22E2", nsqsupe: "\u22E3", nsub: "\u2284", nsubE: "\u2AC5\u0338", nsube: "\u2288", nsubset: "\u2282\u20D2", nsubseteq: "\u2288", nsubseteqq: "\u2AC5\u0338", nsucc: "\u2281", nsucceq: "\u2AB0\u0338", nsup: "\u2285", nsupE: "\u2AC6\u0338", nsupe: "\u2289", nsupset: "\u2283\u20D2", nsupseteq: "\u2289", nsupseteqq: "\u2AC6\u0338", ntgl: "\u2279", Ntilde: "\xD1", ntilde: "\xF1", ntlg: "\u2278", ntriangleleft: "\u22EA", ntrianglelefteq: "\u22EC", ntriangleright: "\u22EB", ntrianglerighteq: "\u22ED", Nu: "\u039D", nu: "\u03BD", num: "#", numero: "\u2116", numsp: "\u2007", nvap: "\u224D\u20D2", nvdash: "\u22AC", nvDash: "\u22AD", nVdash: "\u22AE", nVDash: "\u22AF", nvge: "\u2265\u20D2", nvgt: ">\u20D2", nvHarr: "\u2904", nvinfin: "\u29DE", nvlArr: "\u2902", nvle: "\u2264\u20D2", nvlt: "<\u20D2", nvltrie: "\u22B4\u20D2", nvrArr: "\u2903", nvrtrie: "\u22B5\u20D2", nvsim: "\u223C\u20D2", nwarhk: "\u2923", nwarr: "\u2196", nwArr: "\u21D6", nwarrow: "\u2196", nwnear: "\u2927", Oacute: "\xD3", oacute: "\xF3", oast: "\u229B", Ocirc: "\xD4", ocirc: "\xF4", ocir: "\u229A", Ocy: "\u041E", ocy: "\u043E", odash: "\u229D", Odblac: "\u0150", odblac: "\u0151", odiv: "\u2A38", odot: "\u2299", odsold: "\u29BC", OElig: "\u0152", oelig: "\u0153", ofcir: "\u29BF", Ofr: "\u{1D512}", ofr: "\u{1D52C}", ogon: "\u02DB", Ograve: "\xD2", ograve: "\xF2", ogt: "\u29C1", ohbar: "\u29B5", ohm: "\u03A9", oint: "\u222E", olarr: "\u21BA", olcir: "\u29BE", olcross: "\u29BB", oline: "\u203E", olt: "\u29C0", Omacr: "\u014C", omacr: "\u014D", Omega: "\u03A9", omega: "\u03C9", Omicron: "\u039F", omicron: "\u03BF", omid: "\u29B6", ominus: "\u2296", Oopf: "\u{1D546}", oopf: "\u{1D560}", opar: "\u29B7", OpenCurlyDoubleQuote: "\u201C", OpenCurlyQuote: "\u2018", operp: "\u29B9", oplus: "\u2295", orarr: "\u21BB", Or: "\u2A54", or: "\u2228", ord: "\u2A5D", order: "\u2134", orderof: "\u2134", ordf: "\xAA", ordm: "\xBA", origof: "\u22B6", oror: "\u2A56", orslope: "\u2A57", orv: "\u2A5B", oS: "\u24C8", Oscr: "\u{1D4AA}", oscr: "\u2134", Oslash: "\xD8", oslash: "\xF8", osol: "\u2298", Otilde: "\xD5", otilde: "\xF5", otimesas: "\u2A36", Otimes: "\u2A37", otimes: "\u2297", Ouml: "\xD6", ouml: "\xF6", ovbar: "\u233D", OverBar: "\u203E", OverBrace: "\u23DE", OverBracket: "\u23B4", OverParenthesis: "\u23DC", para: "\xB6", parallel: "\u2225", par: "\u2225", parsim: "\u2AF3", parsl: "\u2AFD", part: "\u2202", PartialD: "\u2202", Pcy: "\u041F", pcy: "\u043F", percnt: "%", period: ".", permil: "\u2030", perp: "\u22A5", pertenk: "\u2031", Pfr: "\u{1D513}", pfr: "\u{1D52D}", Phi: "\u03A6", phi: "\u03C6", phiv: "\u03D5", phmmat: "\u2133", phone: "\u260E", Pi: "\u03A0", pi: "\u03C0", pitchfork: "\u22D4", piv: "\u03D6", planck: "\u210F", planckh: "\u210E", plankv: "\u210F", plusacir: "\u2A23", plusb: "\u229E", pluscir: "\u2A22", plus: "+", plusdo: "\u2214", plusdu: "\u2A25", pluse: "\u2A72", PlusMinus: "\xB1", plusmn: "\xB1", plussim: "\u2A26", plustwo: "\u2A27", pm: "\xB1", Poincareplane: "\u210C", pointint: "\u2A15", popf: "\u{1D561}", Popf: "\u2119", pound: "\xA3", prap: "\u2AB7", Pr: "\u2ABB", pr: "\u227A", prcue: "\u227C", precapprox: "\u2AB7", prec: "\u227A", preccurlyeq: "\u227C", Precedes: "\u227A", PrecedesEqual: "\u2AAF", PrecedesSlantEqual: "\u227C", PrecedesTilde: "\u227E", preceq: "\u2AAF", precnapprox: "\u2AB9", precneqq: "\u2AB5", precnsim: "\u22E8", pre: "\u2AAF", prE: "\u2AB3", precsim: "\u227E", prime: "\u2032", Prime: "\u2033", primes: "\u2119", prnap: "\u2AB9", prnE: "\u2AB5", prnsim: "\u22E8", prod: "\u220F", Product: "\u220F", profalar: "\u232E", profline: "\u2312", profsurf: "\u2313", prop: "\u221D", Proportional: "\u221D", Proportion: "\u2237", propto: "\u221D", prsim: "\u227E", prurel: "\u22B0", Pscr: "\u{1D4AB}", pscr: "\u{1D4C5}", Psi: "\u03A8", psi: "\u03C8", puncsp: "\u2008", Qfr: "\u{1D514}", qfr: "\u{1D52E}", qint: "\u2A0C", qopf: "\u{1D562}", Qopf: "\u211A", qprime: "\u2057", Qscr: "\u{1D4AC}", qscr: "\u{1D4C6}", quaternions: "\u210D", quatint: "\u2A16", quest: "?", questeq: "\u225F", quot: '"', QUOT: '"', rAarr: "\u21DB", race: "\u223D\u0331", Racute: "\u0154", racute: "\u0155", radic: "\u221A", raemptyv: "\u29B3", rang: "\u27E9", Rang: "\u27EB", rangd: "\u2992", range: "\u29A5", rangle: "\u27E9", raquo: "\xBB", rarrap: "\u2975", rarrb: "\u21E5", rarrbfs: "\u2920", rarrc: "\u2933", rarr: "\u2192", Rarr: "\u21A0", rArr: "\u21D2", rarrfs: "\u291E", rarrhk: "\u21AA", rarrlp: "\u21AC", rarrpl: "\u2945", rarrsim: "\u2974", Rarrtl: "\u2916", rarrtl: "\u21A3", rarrw: "\u219D", ratail: "\u291A", rAtail: "\u291C", ratio: "\u2236", rationals: "\u211A", rbarr: "\u290D", rBarr: "\u290F", RBarr: "\u2910", rbbrk: "\u2773", rbrace: "}", rbrack: "]", rbrke: "\u298C", rbrksld: "\u298E", rbrkslu: "\u2990", Rcaron: "\u0158", rcaron: "\u0159", Rcedil: "\u0156", rcedil: "\u0157", rceil: "\u2309", rcub: "}", Rcy: "\u0420", rcy: "\u0440", rdca: "\u2937", rdldhar: "\u2969", rdquo: "\u201D", rdquor: "\u201D", rdsh: "\u21B3", real: "\u211C", realine: "\u211B", realpart: "\u211C", reals: "\u211D", Re: "\u211C", rect: "\u25AD", reg: "\xAE", REG: "\xAE", ReverseElement: "\u220B", ReverseEquilibrium: "\u21CB", ReverseUpEquilibrium: "\u296F", rfisht: "\u297D", rfloor: "\u230B", rfr: "\u{1D52F}", Rfr: "\u211C", rHar: "\u2964", rhard: "\u21C1", rharu: "\u21C0", rharul: "\u296C", Rho: "\u03A1", rho: "\u03C1", rhov: "\u03F1", RightAngleBracket: "\u27E9", RightArrowBar: "\u21E5", rightarrow: "\u2192", RightArrow: "\u2192", Rightarrow: "\u21D2", RightArrowLeftArrow: "\u21C4", rightarrowtail: "\u21A3", RightCeiling: "\u2309", RightDoubleBracket: "\u27E7", RightDownTeeVector: "\u295D", RightDownVectorBar: "\u2955", RightDownVector: "\u21C2", RightFloor: "\u230B", rightharpoondown: "\u21C1", rightharpoonup: "\u21C0", rightleftarrows: "\u21C4", rightleftharpoons: "\u21CC", rightrightarrows: "\u21C9", rightsquigarrow: "\u219D", RightTeeArrow: "\u21A6", RightTee: "\u22A2", RightTeeVector: "\u295B", rightthreetimes: "\u22CC", RightTriangleBar: "\u29D0", RightTriangle: "\u22B3", RightTriangleEqual: "\u22B5", RightUpDownVector: "\u294F", RightUpTeeVector: "\u295C", RightUpVectorBar: "\u2954", RightUpVector: "\u21BE", RightVectorBar: "\u2953", RightVector: "\u21C0", ring: "\u02DA", risingdotseq: "\u2253", rlarr: "\u21C4", rlhar: "\u21CC", rlm: "\u200F", rmoustache: "\u23B1", rmoust: "\u23B1", rnmid: "\u2AEE", roang: "\u27ED", roarr: "\u21FE", robrk: "\u27E7", ropar: "\u2986", ropf: "\u{1D563}", Ropf: "\u211D", roplus: "\u2A2E", rotimes: "\u2A35", RoundImplies: "\u2970", rpar: ")", rpargt: "\u2994", rppolint: "\u2A12", rrarr: "\u21C9", Rrightarrow: "\u21DB", rsaquo: "\u203A", rscr: "\u{1D4C7}", Rscr: "\u211B", rsh: "\u21B1", Rsh: "\u21B1", rsqb: "]", rsquo: "\u2019", rsquor: "\u2019", rthree: "\u22CC", rtimes: "\u22CA", rtri: "\u25B9", rtrie: "\u22B5", rtrif: "\u25B8", rtriltri: "\u29CE", RuleDelayed: "\u29F4", ruluhar: "\u2968", rx: "\u211E", Sacute: "\u015A", sacute: "\u015B", sbquo: "\u201A", scap: "\u2AB8", Scaron: "\u0160", scaron: "\u0161", Sc: "\u2ABC", sc: "\u227B", sccue: "\u227D", sce: "\u2AB0", scE: "\u2AB4", Scedil: "\u015E", scedil: "\u015F", Scirc: "\u015C", scirc: "\u015D", scnap: "\u2ABA", scnE: "\u2AB6", scnsim: "\u22E9", scpolint: "\u2A13", scsim: "\u227F", Scy: "\u0421", scy: "\u0441", sdotb: "\u22A1", sdot: "\u22C5", sdote: "\u2A66", searhk: "\u2925", searr: "\u2198", seArr: "\u21D8", searrow: "\u2198", sect: "\xA7", semi: ";", seswar: "\u2929", setminus: "\u2216", setmn: "\u2216", sext: "\u2736", Sfr: "\u{1D516}", sfr: "\u{1D530}", sfrown: "\u2322", sharp: "\u266F", SHCHcy: "\u0429", shchcy: "\u0449", SHcy: "\u0428", shcy: "\u0448", ShortDownArrow: "\u2193", ShortLeftArrow: "\u2190", shortmid: "\u2223", shortparallel: "\u2225", ShortRightArrow: "\u2192", ShortUpArrow: "\u2191", shy: "\xAD", Sigma: "\u03A3", sigma: "\u03C3", sigmaf: "\u03C2", sigmav: "\u03C2", sim: "\u223C", simdot: "\u2A6A", sime: "\u2243", simeq: "\u2243", simg: "\u2A9E", simgE: "\u2AA0", siml: "\u2A9D", simlE: "\u2A9F", simne: "\u2246", simplus: "\u2A24", simrarr: "\u2972", slarr: "\u2190", SmallCircle: "\u2218", smallsetminus: "\u2216", smashp: "\u2A33", smeparsl: "\u29E4", smid: "\u2223", smile: "\u2323", smt: "\u2AAA", smte: "\u2AAC", smtes: "\u2AAC\uFE00", SOFTcy: "\u042C", softcy: "\u044C", solbar: "\u233F", solb: "\u29C4", sol: "/", Sopf: "\u{1D54A}", sopf: "\u{1D564}", spades: "\u2660", spadesuit: "\u2660", spar: "\u2225", sqcap: "\u2293", sqcaps: "\u2293\uFE00", sqcup: "\u2294", sqcups: "\u2294\uFE00", Sqrt: "\u221A", sqsub: "\u228F", sqsube: "\u2291", sqsubset: "\u228F", sqsubseteq: "\u2291", sqsup: "\u2290", sqsupe: "\u2292", sqsupset: "\u2290", sqsupseteq: "\u2292", square: "\u25A1", Square: "\u25A1", SquareIntersection: "\u2293", SquareSubset: "\u228F", SquareSubsetEqual: "\u2291", SquareSuperset: "\u2290", SquareSupersetEqual: "\u2292", SquareUnion: "\u2294", squarf: "\u25AA", squ: "\u25A1", squf: "\u25AA", srarr: "\u2192", Sscr: "\u{1D4AE}", sscr: "\u{1D4C8}", ssetmn: "\u2216", ssmile: "\u2323", sstarf: "\u22C6", Star: "\u22C6", star: "\u2606", starf: "\u2605", straightepsilon: "\u03F5", straightphi: "\u03D5", strns: "\xAF", sub: "\u2282", Sub: "\u22D0", subdot: "\u2ABD", subE: "\u2AC5", sube: "\u2286", subedot: "\u2AC3", submult: "\u2AC1", subnE: "\u2ACB", subne: "\u228A", subplus: "\u2ABF", subrarr: "\u2979", subset: "\u2282", Subset: "\u22D0", subseteq: "\u2286", subseteqq: "\u2AC5", SubsetEqual: "\u2286", subsetneq: "\u228A", subsetneqq: "\u2ACB", subsim: "\u2AC7", subsub: "\u2AD5", subsup: "\u2AD3", succapprox: "\u2AB8", succ: "\u227B", succcurlyeq: "\u227D", Succeeds: "\u227B", SucceedsEqual: "\u2AB0", SucceedsSlantEqual: "\u227D", SucceedsTilde: "\u227F", succeq: "\u2AB0", succnapprox: "\u2ABA", succneqq: "\u2AB6", succnsim: "\u22E9", succsim: "\u227F", SuchThat: "\u220B", sum: "\u2211", Sum: "\u2211", sung: "\u266A", sup1: "\xB9", sup2: "\xB2", sup3: "\xB3", sup: "\u2283", Sup: "\u22D1", supdot: "\u2ABE", supdsub: "\u2AD8", supE: "\u2AC6", supe: "\u2287", supedot: "\u2AC4", Superset: "\u2283", SupersetEqual: "\u2287", suphsol: "\u27C9", suphsub: "\u2AD7", suplarr: "\u297B", supmult: "\u2AC2", supnE: "\u2ACC", supne: "\u228B", supplus: "\u2AC0", supset: "\u2283", Supset: "\u22D1", supseteq: "\u2287", supseteqq: "\u2AC6", supsetneq: "\u228B", supsetneqq: "\u2ACC", supsim: "\u2AC8", supsub: "\u2AD4", supsup: "\u2AD6", swarhk: "\u2926", swarr: "\u2199", swArr: "\u21D9", swarrow: "\u2199", swnwar: "\u292A", szlig: "\xDF", Tab: " ", target: "\u2316", Tau: "\u03A4", tau: "\u03C4", tbrk: "\u23B4", Tcaron: "\u0164", tcaron: "\u0165", Tcedil: "\u0162", tcedil: "\u0163", Tcy: "\u0422", tcy: "\u0442", tdot: "\u20DB", telrec: "\u2315", Tfr: "\u{1D517}", tfr: "\u{1D531}", there4: "\u2234", therefore: "\u2234", Therefore: "\u2234", Theta: "\u0398", theta: "\u03B8", thetasym: "\u03D1", thetav: "\u03D1", thickapprox: "\u2248", thicksim: "\u223C", ThickSpace: "\u205F\u200A", ThinSpace: "\u2009", thinsp: "\u2009", thkap: "\u2248", thksim: "\u223C", THORN: "\xDE", thorn: "\xFE", tilde: "\u02DC", Tilde: "\u223C", TildeEqual: "\u2243", TildeFullEqual: "\u2245", TildeTilde: "\u2248", timesbar: "\u2A31", timesb: "\u22A0", times: "\xD7", timesd: "\u2A30", tint: "\u222D", toea: "\u2928", topbot: "\u2336", topcir: "\u2AF1", top: "\u22A4", Topf: "\u{1D54B}", topf: "\u{1D565}", topfork: "\u2ADA", tosa: "\u2929", tprime: "\u2034", trade: "\u2122", TRADE: "\u2122", triangle: "\u25B5", triangledown: "\u25BF", triangleleft: "\u25C3", trianglelefteq: "\u22B4", triangleq: "\u225C", triangleright: "\u25B9", trianglerighteq: "\u22B5", tridot: "\u25EC", trie: "\u225C", triminus: "\u2A3A", TripleDot: "\u20DB", triplus: "\u2A39", trisb: "\u29CD", tritime: "\u2A3B", trpezium: "\u23E2", Tscr: "\u{1D4AF}", tscr: "\u{1D4C9}", TScy: "\u0426", tscy: "\u0446", TSHcy: "\u040B", tshcy: "\u045B", Tstrok: "\u0166", tstrok: "\u0167", twixt: "\u226C", twoheadleftarrow: "\u219E", twoheadrightarrow: "\u21A0", Uacute: "\xDA", uacute: "\xFA", uarr: "\u2191", Uarr: "\u219F", uArr: "\u21D1", Uarrocir: "\u2949", Ubrcy: "\u040E", ubrcy: "\u045E", Ubreve: "\u016C", ubreve: "\u016D", Ucirc: "\xDB", ucirc: "\xFB", Ucy: "\u0423", ucy: "\u0443", udarr: "\u21C5", Udblac: "\u0170", udblac: "\u0171", udhar: "\u296E", ufisht: "\u297E", Ufr: "\u{1D518}", ufr: "\u{1D532}", Ugrave: "\xD9", ugrave: "\xF9", uHar: "\u2963", uharl: "\u21BF", uharr: "\u21BE", uhblk: "\u2580", ulcorn: "\u231C", ulcorner: "\u231C", ulcrop: "\u230F", ultri: "\u25F8", Umacr: "\u016A", umacr: "\u016B", uml: "\xA8", UnderBar: "_", UnderBrace: "\u23DF", UnderBracket: "\u23B5", UnderParenthesis: "\u23DD", Union: "\u22C3", UnionPlus: "\u228E", Uogon: "\u0172", uogon: "\u0173", Uopf: "\u{1D54C}", uopf: "\u{1D566}", UpArrowBar: "\u2912", uparrow: "\u2191", UpArrow: "\u2191", Uparrow: "\u21D1", UpArrowDownArrow: "\u21C5", updownarrow: "\u2195", UpDownArrow: "\u2195", Updownarrow: "\u21D5", UpEquilibrium: "\u296E", upharpoonleft: "\u21BF", upharpoonright: "\u21BE", uplus: "\u228E", UpperLeftArrow: "\u2196", UpperRightArrow: "\u2197", upsi: "\u03C5", Upsi: "\u03D2", upsih: "\u03D2", Upsilon: "\u03A5", upsilon: "\u03C5", UpTeeArrow: "\u21A5", UpTee: "\u22A5", upuparrows: "\u21C8", urcorn: "\u231D", urcorner: "\u231D", urcrop: "\u230E", Uring: "\u016E", uring: "\u016F", urtri: "\u25F9", Uscr: "\u{1D4B0}", uscr: "\u{1D4CA}", utdot: "\u22F0", Utilde: "\u0168", utilde: "\u0169", utri: "\u25B5", utrif: "\u25B4", uuarr: "\u21C8", Uuml: "\xDC", uuml: "\xFC", uwangle: "\u29A7", vangrt: "\u299C", varepsilon: "\u03F5", varkappa: "\u03F0", varnothing: "\u2205", varphi: "\u03D5", varpi: "\u03D6", varpropto: "\u221D", varr: "\u2195", vArr: "\u21D5", varrho: "\u03F1", varsigma: "\u03C2", varsubsetneq: "\u228A\uFE00", varsubsetneqq: "\u2ACB\uFE00", varsupsetneq: "\u228B\uFE00", varsupsetneqq: "\u2ACC\uFE00", vartheta: "\u03D1", vartriangleleft: "\u22B2", vartriangleright: "\u22B3", vBar: "\u2AE8", Vbar: "\u2AEB", vBarv: "\u2AE9", Vcy: "\u0412", vcy: "\u0432", vdash: "\u22A2", vDash: "\u22A8", Vdash: "\u22A9", VDash: "\u22AB", Vdashl: "\u2AE6", veebar: "\u22BB", vee: "\u2228", Vee: "\u22C1", veeeq: "\u225A", vellip: "\u22EE", verbar: "|", Verbar: "\u2016", vert: "|", Vert: "\u2016", VerticalBar: "\u2223", VerticalLine: "|", VerticalSeparator: "\u2758", VerticalTilde: "\u2240", VeryThinSpace: "\u200A", Vfr: "\u{1D519}", vfr: "\u{1D533}", vltri: "\u22B2", vnsub: "\u2282\u20D2", vnsup: "\u2283\u20D2", Vopf: "\u{1D54D}", vopf: "\u{1D567}", vprop: "\u221D", vrtri: "\u22B3", Vscr: "\u{1D4B1}", vscr: "\u{1D4CB}", vsubnE: "\u2ACB\uFE00", vsubne: "\u228A\uFE00", vsupnE: "\u2ACC\uFE00", vsupne: "\u228B\uFE00", Vvdash: "\u22AA", vzigzag: "\u299A", Wcirc: "\u0174", wcirc: "\u0175", wedbar: "\u2A5F", wedge: "\u2227", Wedge: "\u22C0", wedgeq: "\u2259", weierp: "\u2118", Wfr: "\u{1D51A}", wfr: "\u{1D534}", Wopf: "\u{1D54E}", wopf: "\u{1D568}", wp: "\u2118", wr: "\u2240", wreath: "\u2240", Wscr: "\u{1D4B2}", wscr: "\u{1D4CC}", xcap: "\u22C2", xcirc: "\u25EF", xcup: "\u22C3", xdtri: "\u25BD", Xfr: "\u{1D51B}", xfr: "\u{1D535}", xharr: "\u27F7", xhArr: "\u27FA", Xi: "\u039E", xi: "\u03BE", xlarr: "\u27F5", xlArr: "\u27F8", xmap: "\u27FC", xnis: "\u22FB", xodot: "\u2A00", Xopf: "\u{1D54F}", xopf: "\u{1D569}", xoplus: "\u2A01", xotime: "\u2A02", xrarr: "\u27F6", xrArr: "\u27F9", Xscr: "\u{1D4B3}", xscr: "\u{1D4CD}", xsqcup: "\u2A06", xuplus: "\u2A04", xutri: "\u25B3", xvee: "\u22C1", xwedge: "\u22C0", Yacute: "\xDD", yacute: "\xFD", YAcy: "\u042F", yacy: "\u044F", Ycirc: "\u0176", ycirc: "\u0177", Ycy: "\u042B", ycy: "\u044B", yen: "\xA5", Yfr: "\u{1D51C}", yfr: "\u{1D536}", YIcy: "\u0407", yicy: "\u0457", Yopf: "\u{1D550}", yopf: "\u{1D56A}", Yscr: "\u{1D4B4}", yscr: "\u{1D4CE}", YUcy: "\u042E", yucy: "\u044E", yuml: "\xFF", Yuml: "\u0178", Zacute: "\u0179", zacute: "\u017A", Zcaron: "\u017D", zcaron: "\u017E", Zcy: "\u0417", zcy: "\u0437", Zdot: "\u017B", zdot: "\u017C", zeetrf: "\u2128", ZeroWidthSpace: "\u200B", Zeta: "\u0396", zeta: "\u03B6", zfr: "\u{1D537}", Zfr: "\u2128", ZHcy: "\u0416", zhcy: "\u0436", zigrarr: "\u21DD", zopf: "\u{1D56B}", Zopf: "\u2124", Zscr: "\u{1D4B5}", zscr: "\u{1D4CF}", zwj: "\u200D", zwnj: "\u200C" };
5893
+ }
5894
+ });
5895
+
5896
+ // node_modules/entities/lib/maps/legacy.json
5897
+ var require_legacy = __commonJS({
5898
+ "node_modules/entities/lib/maps/legacy.json"(exports, module2) {
5899
+ module2.exports = { Aacute: "\xC1", aacute: "\xE1", Acirc: "\xC2", acirc: "\xE2", acute: "\xB4", AElig: "\xC6", aelig: "\xE6", Agrave: "\xC0", agrave: "\xE0", amp: "&", AMP: "&", Aring: "\xC5", aring: "\xE5", Atilde: "\xC3", atilde: "\xE3", Auml: "\xC4", auml: "\xE4", brvbar: "\xA6", Ccedil: "\xC7", ccedil: "\xE7", cedil: "\xB8", cent: "\xA2", copy: "\xA9", COPY: "\xA9", curren: "\xA4", deg: "\xB0", divide: "\xF7", Eacute: "\xC9", eacute: "\xE9", Ecirc: "\xCA", ecirc: "\xEA", Egrave: "\xC8", egrave: "\xE8", ETH: "\xD0", eth: "\xF0", Euml: "\xCB", euml: "\xEB", frac12: "\xBD", frac14: "\xBC", frac34: "\xBE", gt: ">", GT: ">", Iacute: "\xCD", iacute: "\xED", Icirc: "\xCE", icirc: "\xEE", iexcl: "\xA1", Igrave: "\xCC", igrave: "\xEC", iquest: "\xBF", Iuml: "\xCF", iuml: "\xEF", laquo: "\xAB", lt: "<", LT: "<", macr: "\xAF", micro: "\xB5", middot: "\xB7", nbsp: "\xA0", not: "\xAC", Ntilde: "\xD1", ntilde: "\xF1", Oacute: "\xD3", oacute: "\xF3", Ocirc: "\xD4", ocirc: "\xF4", Ograve: "\xD2", ograve: "\xF2", ordf: "\xAA", ordm: "\xBA", Oslash: "\xD8", oslash: "\xF8", Otilde: "\xD5", otilde: "\xF5", Ouml: "\xD6", ouml: "\xF6", para: "\xB6", plusmn: "\xB1", pound: "\xA3", quot: '"', QUOT: '"', raquo: "\xBB", reg: "\xAE", REG: "\xAE", sect: "\xA7", shy: "\xAD", sup1: "\xB9", sup2: "\xB2", sup3: "\xB3", szlig: "\xDF", THORN: "\xDE", thorn: "\xFE", times: "\xD7", Uacute: "\xDA", uacute: "\xFA", Ucirc: "\xDB", ucirc: "\xFB", Ugrave: "\xD9", ugrave: "\xF9", uml: "\xA8", Uuml: "\xDC", uuml: "\xFC", Yacute: "\xDD", yacute: "\xFD", yen: "\xA5", yuml: "\xFF" };
5900
+ }
5901
+ });
5902
+
5903
+ // node_modules/entities/lib/maps/xml.json
5904
+ var require_xml = __commonJS({
5905
+ "node_modules/entities/lib/maps/xml.json"(exports, module2) {
5906
+ module2.exports = { amp: "&", apos: "'", gt: ">", lt: "<", quot: '"' };
5907
+ }
5908
+ });
5909
+
5910
+ // node_modules/entities/lib/maps/decode.json
5911
+ var require_decode = __commonJS({
5912
+ "node_modules/entities/lib/maps/decode.json"(exports, module2) {
5913
+ module2.exports = { "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 };
5953
5914
  }
5954
5915
  });
5955
5916
 
5956
- // node_modules/colors/lib/system/has-flag.js
5957
- var require_has_flag = __commonJS({
5958
- "node_modules/colors/lib/system/has-flag.js"(exports, module2) {
5917
+ // node_modules/entities/lib/decode_codepoint.js
5918
+ var require_decode_codepoint = __commonJS({
5919
+ "node_modules/entities/lib/decode_codepoint.js"(exports) {
5959
5920
  "use strict";
5960
- module2.exports = function(flag, argv) {
5961
- argv = argv || process.argv;
5962
- var terminatorPos = argv.indexOf("--");
5963
- var prefix = /^-{1,2}/.test(flag) ? "" : "--";
5964
- var pos = argv.indexOf(prefix + flag);
5965
- return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);
5921
+ var __importDefault = exports && exports.__importDefault || function(mod) {
5922
+ return mod && mod.__esModule ? mod : { "default": mod };
5966
5923
  };
5924
+ Object.defineProperty(exports, "__esModule", { value: true });
5925
+ var decode_json_1 = __importDefault(require_decode());
5926
+ var fromCodePoint = (
5927
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
5928
+ String.fromCodePoint || function(codePoint) {
5929
+ var output = "";
5930
+ if (codePoint > 65535) {
5931
+ codePoint -= 65536;
5932
+ output += String.fromCharCode(codePoint >>> 10 & 1023 | 55296);
5933
+ codePoint = 56320 | codePoint & 1023;
5934
+ }
5935
+ output += String.fromCharCode(codePoint);
5936
+ return output;
5937
+ }
5938
+ );
5939
+ function decodeCodePoint(codePoint) {
5940
+ if (codePoint >= 55296 && codePoint <= 57343 || codePoint > 1114111) {
5941
+ return "\uFFFD";
5942
+ }
5943
+ if (codePoint in decode_json_1.default) {
5944
+ codePoint = decode_json_1.default[codePoint];
5945
+ }
5946
+ return fromCodePoint(codePoint);
5947
+ }
5948
+ exports.default = decodeCodePoint;
5967
5949
  }
5968
5950
  });
5969
5951
 
5970
- // node_modules/colors/lib/system/supports-colors.js
5971
- var require_supports_colors = __commonJS({
5972
- "node_modules/colors/lib/system/supports-colors.js"(exports, module2) {
5952
+ // node_modules/entities/lib/decode.js
5953
+ var require_decode2 = __commonJS({
5954
+ "node_modules/entities/lib/decode.js"(exports) {
5973
5955
  "use strict";
5974
- var os = require("os");
5975
- var hasFlag = require_has_flag();
5976
- var env = process.env;
5977
- var forceColor = void 0;
5978
- if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false")) {
5979
- forceColor = false;
5980
- } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
5981
- forceColor = true;
5982
- }
5983
- if ("FORCE_COLOR" in env) {
5984
- forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0;
5985
- }
5986
- function translateLevel(level) {
5987
- if (level === 0) {
5988
- return false;
5989
- }
5990
- return {
5991
- level,
5992
- hasBasic: true,
5993
- has256: level >= 2,
5994
- has16m: level >= 3
5956
+ var __importDefault = exports && exports.__importDefault || function(mod) {
5957
+ return mod && mod.__esModule ? mod : { "default": mod };
5958
+ };
5959
+ Object.defineProperty(exports, "__esModule", { value: true });
5960
+ exports.decodeHTML = exports.decodeHTMLStrict = exports.decodeXML = void 0;
5961
+ var entities_json_1 = __importDefault(require_entities());
5962
+ var legacy_json_1 = __importDefault(require_legacy());
5963
+ var xml_json_1 = __importDefault(require_xml());
5964
+ var decode_codepoint_1 = __importDefault(require_decode_codepoint());
5965
+ var strictEntityRe = /&(?:[a-zA-Z0-9]+|#[xX][\da-fA-F]+|#\d+);/g;
5966
+ exports.decodeXML = getStrictDecoder(xml_json_1.default);
5967
+ exports.decodeHTMLStrict = getStrictDecoder(entities_json_1.default);
5968
+ function getStrictDecoder(map) {
5969
+ var replace = getReplacer(map);
5970
+ return function(str) {
5971
+ return String(str).replace(strictEntityRe, replace);
5995
5972
  };
5996
5973
  }
5997
- function supportsColor(stream) {
5998
- if (forceColor === false) {
5999
- return 0;
6000
- }
6001
- if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
6002
- return 3;
6003
- }
6004
- if (hasFlag("color=256")) {
6005
- return 2;
6006
- }
6007
- if (stream && !stream.isTTY && forceColor !== true) {
6008
- return 0;
6009
- }
6010
- var min = forceColor ? 1 : 0;
6011
- if (process.platform === "win32") {
6012
- var osRelease = os.release().split(".");
6013
- if (Number(process.versions.node.split(".")[0]) >= 8 && Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
6014
- return Number(osRelease[2]) >= 14931 ? 3 : 2;
6015
- }
6016
- return 1;
6017
- }
6018
- if ("CI" in env) {
6019
- if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI"].some(function(sign) {
6020
- return sign in env;
6021
- }) || env.CI_NAME === "codeship") {
6022
- return 1;
5974
+ var sorter = function(a, b) {
5975
+ return a < b ? 1 : -1;
5976
+ };
5977
+ exports.decodeHTML = function() {
5978
+ var legacy = Object.keys(legacy_json_1.default).sort(sorter);
5979
+ var keys = Object.keys(entities_json_1.default).sort(sorter);
5980
+ for (var i = 0, j = 0; i < keys.length; i++) {
5981
+ if (legacy[j] === keys[i]) {
5982
+ keys[i] += ";?";
5983
+ j++;
5984
+ } else {
5985
+ keys[i] += ";";
6023
5986
  }
6024
- return min;
6025
5987
  }
6026
- if ("TEAMCITY_VERSION" in env) {
6027
- return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
5988
+ var re = new RegExp("&(?:" + keys.join("|") + "|#[xX][\\da-fA-F]+;?|#\\d+;?)", "g");
5989
+ var replace = getReplacer(entities_json_1.default);
5990
+ function replacer(str) {
5991
+ if (str.substr(-1) !== ";")
5992
+ str += ";";
5993
+ return replace(str);
6028
5994
  }
6029
- if ("TERM_PROGRAM" in env) {
6030
- var version = parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
6031
- switch (env.TERM_PROGRAM) {
6032
- case "iTerm.app":
6033
- return version >= 3 ? 3 : 2;
6034
- case "Hyper":
6035
- return 3;
6036
- case "Apple_Terminal":
6037
- return 2;
5995
+ return function(str) {
5996
+ return String(str).replace(re, replacer);
5997
+ };
5998
+ }();
5999
+ function getReplacer(map) {
6000
+ return function replace(str) {
6001
+ if (str.charAt(1) === "#") {
6002
+ var secondChar = str.charAt(2);
6003
+ if (secondChar === "X" || secondChar === "x") {
6004
+ return decode_codepoint_1.default(parseInt(str.substr(3), 16));
6005
+ }
6006
+ return decode_codepoint_1.default(parseInt(str.substr(2), 10));
6038
6007
  }
6039
- }
6040
- if (/-256(color)?$/i.test(env.TERM)) {
6041
- return 2;
6042
- }
6043
- if (/^screen|^xterm|^vt100|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
6044
- return 1;
6045
- }
6046
- if ("COLORTERM" in env) {
6047
- return 1;
6048
- }
6049
- if (env.TERM === "dumb") {
6050
- return min;
6051
- }
6052
- return min;
6053
- }
6054
- function getSupportLevel(stream) {
6055
- var level = supportsColor(stream);
6056
- return translateLevel(level);
6008
+ return map[str.slice(1, -1)] || str;
6009
+ };
6057
6010
  }
6058
- module2.exports = {
6059
- supportsColor: getSupportLevel,
6060
- stdout: getSupportLevel(process.stdout),
6061
- stderr: getSupportLevel(process.stderr)
6062
- };
6063
6011
  }
6064
6012
  });
6065
6013
 
6066
- // node_modules/colors/lib/custom/trap.js
6067
- var require_trap = __commonJS({
6068
- "node_modules/colors/lib/custom/trap.js"(exports, module2) {
6069
- module2["exports"] = function runTheTrap(text, options) {
6070
- var result = "";
6071
- text = text || "Run the trap, drop the bass";
6072
- text = text.split("");
6073
- var trap = {
6074
- a: ["@", "\u0104", "\u023A", "\u0245", "\u0394", "\u039B", "\u0414"],
6075
- b: ["\xDF", "\u0181", "\u0243", "\u026E", "\u03B2", "\u0E3F"],
6076
- c: ["\xA9", "\u023B", "\u03FE"],
6077
- d: ["\xD0", "\u018A", "\u0500", "\u0501", "\u0502", "\u0503"],
6078
- e: [
6079
- "\xCB",
6080
- "\u0115",
6081
- "\u018E",
6082
- "\u0258",
6083
- "\u03A3",
6084
- "\u03BE",
6085
- "\u04BC",
6086
- "\u0A6C"
6087
- ],
6088
- f: ["\u04FA"],
6089
- g: ["\u0262"],
6090
- h: ["\u0126", "\u0195", "\u04A2", "\u04BA", "\u04C7", "\u050A"],
6091
- i: ["\u0F0F"],
6092
- j: ["\u0134"],
6093
- k: ["\u0138", "\u04A0", "\u04C3", "\u051E"],
6094
- l: ["\u0139"],
6095
- m: ["\u028D", "\u04CD", "\u04CE", "\u0520", "\u0521", "\u0D69"],
6096
- n: ["\xD1", "\u014B", "\u019D", "\u0376", "\u03A0", "\u048A"],
6097
- o: [
6098
- "\xD8",
6099
- "\xF5",
6100
- "\xF8",
6101
- "\u01FE",
6102
- "\u0298",
6103
- "\u047A",
6104
- "\u05DD",
6105
- "\u06DD",
6106
- "\u0E4F"
6107
- ],
6108
- p: ["\u01F7", "\u048E"],
6109
- q: ["\u09CD"],
6110
- r: ["\xAE", "\u01A6", "\u0210", "\u024C", "\u0280", "\u042F"],
6111
- s: ["\xA7", "\u03DE", "\u03DF", "\u03E8"],
6112
- t: ["\u0141", "\u0166", "\u0373"],
6113
- u: ["\u01B1", "\u054D"],
6114
- v: ["\u05D8"],
6115
- w: ["\u0428", "\u0460", "\u047C", "\u0D70"],
6116
- x: ["\u04B2", "\u04FE", "\u04FC", "\u04FD"],
6117
- y: ["\xA5", "\u04B0", "\u04CB"],
6118
- z: ["\u01B5", "\u0240"]
6119
- };
6120
- text.forEach(function(c) {
6121
- c = c.toLowerCase();
6122
- var chars = trap[c] || [" "];
6123
- var rand = Math.floor(Math.random() * chars.length);
6124
- if (typeof trap[c] !== "undefined") {
6125
- result += trap[c][rand];
6126
- } else {
6127
- result += c;
6128
- }
6129
- });
6130
- return result;
6014
+ // node_modules/entities/lib/encode.js
6015
+ var require_encode = __commonJS({
6016
+ "node_modules/entities/lib/encode.js"(exports) {
6017
+ "use strict";
6018
+ var __importDefault = exports && exports.__importDefault || function(mod) {
6019
+ return mod && mod.__esModule ? mod : { "default": mod };
6131
6020
  };
6132
- }
6133
- });
6134
-
6135
- // node_modules/colors/lib/custom/zalgo.js
6136
- var require_zalgo = __commonJS({
6137
- "node_modules/colors/lib/custom/zalgo.js"(exports, module2) {
6138
- module2["exports"] = function zalgo(text, options) {
6139
- text = text || " he is here ";
6140
- var soul = {
6141
- "up": [
6142
- "\u030D",
6143
- "\u030E",
6144
- "\u0304",
6145
- "\u0305",
6146
- "\u033F",
6147
- "\u0311",
6148
- "\u0306",
6149
- "\u0310",
6150
- "\u0352",
6151
- "\u0357",
6152
- "\u0351",
6153
- "\u0307",
6154
- "\u0308",
6155
- "\u030A",
6156
- "\u0342",
6157
- "\u0313",
6158
- "\u0308",
6159
- "\u034A",
6160
- "\u034B",
6161
- "\u034C",
6162
- "\u0303",
6163
- "\u0302",
6164
- "\u030C",
6165
- "\u0350",
6166
- "\u0300",
6167
- "\u0301",
6168
- "\u030B",
6169
- "\u030F",
6170
- "\u0312",
6171
- "\u0313",
6172
- "\u0314",
6173
- "\u033D",
6174
- "\u0309",
6175
- "\u0363",
6176
- "\u0364",
6177
- "\u0365",
6178
- "\u0366",
6179
- "\u0367",
6180
- "\u0368",
6181
- "\u0369",
6182
- "\u036A",
6183
- "\u036B",
6184
- "\u036C",
6185
- "\u036D",
6186
- "\u036E",
6187
- "\u036F",
6188
- "\u033E",
6189
- "\u035B",
6190
- "\u0346",
6191
- "\u031A"
6192
- ],
6193
- "down": [
6194
- "\u0316",
6195
- "\u0317",
6196
- "\u0318",
6197
- "\u0319",
6198
- "\u031C",
6199
- "\u031D",
6200
- "\u031E",
6201
- "\u031F",
6202
- "\u0320",
6203
- "\u0324",
6204
- "\u0325",
6205
- "\u0326",
6206
- "\u0329",
6207
- "\u032A",
6208
- "\u032B",
6209
- "\u032C",
6210
- "\u032D",
6211
- "\u032E",
6212
- "\u032F",
6213
- "\u0330",
6214
- "\u0331",
6215
- "\u0332",
6216
- "\u0333",
6217
- "\u0339",
6218
- "\u033A",
6219
- "\u033B",
6220
- "\u033C",
6221
- "\u0345",
6222
- "\u0347",
6223
- "\u0348",
6224
- "\u0349",
6225
- "\u034D",
6226
- "\u034E",
6227
- "\u0353",
6228
- "\u0354",
6229
- "\u0355",
6230
- "\u0356",
6231
- "\u0359",
6232
- "\u035A",
6233
- "\u0323"
6234
- ],
6235
- "mid": [
6236
- "\u0315",
6237
- "\u031B",
6238
- "\u0300",
6239
- "\u0301",
6240
- "\u0358",
6241
- "\u0321",
6242
- "\u0322",
6243
- "\u0327",
6244
- "\u0328",
6245
- "\u0334",
6246
- "\u0335",
6247
- "\u0336",
6248
- "\u035C",
6249
- "\u035D",
6250
- "\u035E",
6251
- "\u035F",
6252
- "\u0360",
6253
- "\u0362",
6254
- "\u0338",
6255
- "\u0337",
6256
- "\u0361",
6257
- " \u0489"
6258
- ]
6259
- };
6260
- var all = [].concat(soul.up, soul.down, soul.mid);
6261
- function randomNumber(range) {
6262
- var r = Math.floor(Math.random() * range);
6263
- return r;
6264
- }
6265
- function isChar(character) {
6266
- var bool = false;
6267
- all.filter(function(i) {
6268
- bool = i === character;
6269
- });
6270
- return bool;
6271
- }
6272
- function heComes(text2, options2) {
6273
- var result = "";
6274
- var counts;
6275
- var l;
6276
- options2 = options2 || {};
6277
- options2["up"] = typeof options2["up"] !== "undefined" ? options2["up"] : true;
6278
- options2["mid"] = typeof options2["mid"] !== "undefined" ? options2["mid"] : true;
6279
- options2["down"] = typeof options2["down"] !== "undefined" ? options2["down"] : true;
6280
- options2["size"] = typeof options2["size"] !== "undefined" ? options2["size"] : "maxi";
6281
- text2 = text2.split("");
6282
- for (l in text2) {
6283
- if (isChar(l)) {
6284
- continue;
6285
- }
6286
- result = result + text2[l];
6287
- counts = { "up": 0, "down": 0, "mid": 0 };
6288
- switch (options2.size) {
6289
- case "mini":
6290
- counts.up = randomNumber(8);
6291
- counts.mid = randomNumber(2);
6292
- counts.down = randomNumber(8);
6293
- break;
6294
- case "maxi":
6295
- counts.up = randomNumber(16) + 3;
6296
- counts.mid = randomNumber(4) + 1;
6297
- counts.down = randomNumber(64) + 3;
6298
- break;
6299
- default:
6300
- counts.up = randomNumber(8) + 1;
6301
- counts.mid = randomNumber(6) / 2;
6302
- counts.down = randomNumber(8) + 1;
6303
- break;
6304
- }
6305
- var arr = ["up", "mid", "down"];
6306
- for (var d in arr) {
6307
- var index = arr[d];
6308
- for (var i = 0; i <= counts[index]; i++) {
6309
- if (options2[index]) {
6310
- result = result + soul[index][randomNumber(soul[index].length)];
6311
- }
6312
- }
6313
- }
6021
+ Object.defineProperty(exports, "__esModule", { value: true });
6022
+ exports.escapeUTF8 = exports.escape = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.encodeXML = void 0;
6023
+ var xml_json_1 = __importDefault(require_xml());
6024
+ var inverseXML = getInverseObj(xml_json_1.default);
6025
+ var xmlReplacer = getInverseReplacer(inverseXML);
6026
+ exports.encodeXML = getASCIIEncoder(inverseXML);
6027
+ var entities_json_1 = __importDefault(require_entities());
6028
+ var inverseHTML = getInverseObj(entities_json_1.default);
6029
+ var htmlReplacer = getInverseReplacer(inverseHTML);
6030
+ exports.encodeHTML = getInverse(inverseHTML, htmlReplacer);
6031
+ exports.encodeNonAsciiHTML = getASCIIEncoder(inverseHTML);
6032
+ function getInverseObj(obj) {
6033
+ return Object.keys(obj).sort().reduce(function(inverse, name) {
6034
+ inverse[obj[name]] = "&" + name + ";";
6035
+ return inverse;
6036
+ }, {});
6037
+ }
6038
+ function getInverseReplacer(inverse) {
6039
+ var single = [];
6040
+ var multiple = [];
6041
+ for (var _i = 0, _a = Object.keys(inverse); _i < _a.length; _i++) {
6042
+ var k = _a[_i];
6043
+ if (k.length === 1) {
6044
+ single.push("\\" + k);
6045
+ } else {
6046
+ multiple.push(k);
6314
6047
  }
6315
- return result;
6316
6048
  }
6317
- return heComes(text, options);
6318
- };
6319
- }
6320
- });
6321
-
6322
- // node_modules/colors/lib/maps/america.js
6323
- var require_america = __commonJS({
6324
- "node_modules/colors/lib/maps/america.js"(exports, module2) {
6325
- module2["exports"] = function(colors2) {
6326
- return function(letter, i, exploded) {
6327
- if (letter === " ")
6328
- return letter;
6329
- switch (i % 3) {
6330
- case 0:
6331
- return colors2.red(letter);
6332
- case 1:
6333
- return colors2.white(letter);
6334
- case 2:
6335
- return colors2.blue(letter);
6049
+ single.sort();
6050
+ for (var start = 0; start < single.length - 1; start++) {
6051
+ var end = start;
6052
+ while (end < single.length - 1 && single[end].charCodeAt(1) + 1 === single[end + 1].charCodeAt(1)) {
6053
+ end += 1;
6336
6054
  }
6055
+ var count = 1 + end - start;
6056
+ if (count < 3)
6057
+ continue;
6058
+ single.splice(start, count, single[start] + "-" + single[end]);
6059
+ }
6060
+ multiple.unshift("[" + single.join("") + "]");
6061
+ return new RegExp(multiple.join("|"), "g");
6062
+ }
6063
+ var reNonASCII = /(?:[\x80-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/g;
6064
+ var getCodePoint = (
6065
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
6066
+ String.prototype.codePointAt != null ? (
6067
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
6068
+ function(str) {
6069
+ return str.codePointAt(0);
6070
+ }
6071
+ ) : (
6072
+ // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
6073
+ function(c) {
6074
+ return (c.charCodeAt(0) - 55296) * 1024 + c.charCodeAt(1) - 56320 + 65536;
6075
+ }
6076
+ )
6077
+ );
6078
+ function singleCharReplacer(c) {
6079
+ return "&#x" + (c.length > 1 ? getCodePoint(c) : c.charCodeAt(0)).toString(16).toUpperCase() + ";";
6080
+ }
6081
+ function getInverse(inverse, re) {
6082
+ return function(data) {
6083
+ return data.replace(re, function(name) {
6084
+ return inverse[name];
6085
+ }).replace(reNonASCII, singleCharReplacer);
6337
6086
  };
6338
- };
6087
+ }
6088
+ var reEscapeChars = new RegExp(xmlReplacer.source + "|" + reNonASCII.source, "g");
6089
+ function escape(data) {
6090
+ return data.replace(reEscapeChars, singleCharReplacer);
6091
+ }
6092
+ exports.escape = escape;
6093
+ function escapeUTF8(data) {
6094
+ return data.replace(xmlReplacer, singleCharReplacer);
6095
+ }
6096
+ exports.escapeUTF8 = escapeUTF8;
6097
+ function getASCIIEncoder(obj) {
6098
+ return function(data) {
6099
+ return data.replace(reEscapeChars, function(c) {
6100
+ return obj[c] || singleCharReplacer(c);
6101
+ });
6102
+ };
6103
+ }
6339
6104
  }
6340
6105
  });
6341
6106
 
6342
- // node_modules/colors/lib/maps/zebra.js
6343
- var require_zebra = __commonJS({
6344
- "node_modules/colors/lib/maps/zebra.js"(exports, module2) {
6345
- module2["exports"] = function(colors2) {
6346
- return function(letter, i, exploded) {
6347
- return i % 2 === 0 ? letter : colors2.inverse(letter);
6348
- };
6349
- };
6107
+ // node_modules/entities/lib/index.js
6108
+ var require_lib2 = __commonJS({
6109
+ "node_modules/entities/lib/index.js"(exports) {
6110
+ "use strict";
6111
+ Object.defineProperty(exports, "__esModule", { value: true });
6112
+ exports.decodeXMLStrict = exports.decodeHTML5Strict = exports.decodeHTML4Strict = exports.decodeHTML5 = exports.decodeHTML4 = exports.decodeHTMLStrict = exports.decodeHTML = exports.decodeXML = exports.encodeHTML5 = exports.encodeHTML4 = exports.escapeUTF8 = exports.escape = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.encodeXML = exports.encode = exports.decodeStrict = exports.decode = void 0;
6113
+ var decode_1 = require_decode2();
6114
+ var encode_1 = require_encode();
6115
+ function decode(data, level) {
6116
+ return (!level || level <= 0 ? decode_1.decodeXML : decode_1.decodeHTML)(data);
6117
+ }
6118
+ exports.decode = decode;
6119
+ function decodeStrict(data, level) {
6120
+ return (!level || level <= 0 ? decode_1.decodeXML : decode_1.decodeHTMLStrict)(data);
6121
+ }
6122
+ exports.decodeStrict = decodeStrict;
6123
+ function encode(data, level) {
6124
+ return (!level || level <= 0 ? encode_1.encodeXML : encode_1.encodeHTML)(data);
6125
+ }
6126
+ exports.encode = encode;
6127
+ var encode_2 = require_encode();
6128
+ Object.defineProperty(exports, "encodeXML", { enumerable: true, get: function() {
6129
+ return encode_2.encodeXML;
6130
+ } });
6131
+ Object.defineProperty(exports, "encodeHTML", { enumerable: true, get: function() {
6132
+ return encode_2.encodeHTML;
6133
+ } });
6134
+ Object.defineProperty(exports, "encodeNonAsciiHTML", { enumerable: true, get: function() {
6135
+ return encode_2.encodeNonAsciiHTML;
6136
+ } });
6137
+ Object.defineProperty(exports, "escape", { enumerable: true, get: function() {
6138
+ return encode_2.escape;
6139
+ } });
6140
+ Object.defineProperty(exports, "escapeUTF8", { enumerable: true, get: function() {
6141
+ return encode_2.escapeUTF8;
6142
+ } });
6143
+ Object.defineProperty(exports, "encodeHTML4", { enumerable: true, get: function() {
6144
+ return encode_2.encodeHTML;
6145
+ } });
6146
+ Object.defineProperty(exports, "encodeHTML5", { enumerable: true, get: function() {
6147
+ return encode_2.encodeHTML;
6148
+ } });
6149
+ var decode_2 = require_decode2();
6150
+ Object.defineProperty(exports, "decodeXML", { enumerable: true, get: function() {
6151
+ return decode_2.decodeXML;
6152
+ } });
6153
+ Object.defineProperty(exports, "decodeHTML", { enumerable: true, get: function() {
6154
+ return decode_2.decodeHTML;
6155
+ } });
6156
+ Object.defineProperty(exports, "decodeHTMLStrict", { enumerable: true, get: function() {
6157
+ return decode_2.decodeHTMLStrict;
6158
+ } });
6159
+ Object.defineProperty(exports, "decodeHTML4", { enumerable: true, get: function() {
6160
+ return decode_2.decodeHTML;
6161
+ } });
6162
+ Object.defineProperty(exports, "decodeHTML5", { enumerable: true, get: function() {
6163
+ return decode_2.decodeHTML;
6164
+ } });
6165
+ Object.defineProperty(exports, "decodeHTML4Strict", { enumerable: true, get: function() {
6166
+ return decode_2.decodeHTMLStrict;
6167
+ } });
6168
+ Object.defineProperty(exports, "decodeHTML5Strict", { enumerable: true, get: function() {
6169
+ return decode_2.decodeHTMLStrict;
6170
+ } });
6171
+ Object.defineProperty(exports, "decodeXMLStrict", { enumerable: true, get: function() {
6172
+ return decode_2.decodeXML;
6173
+ } });
6350
6174
  }
6351
6175
  });
6352
6176
 
6353
- // node_modules/colors/lib/maps/rainbow.js
6354
- var require_rainbow = __commonJS({
6355
- "node_modules/colors/lib/maps/rainbow.js"(exports, module2) {
6356
- module2["exports"] = function(colors2) {
6357
- var rainbowColors = ["red", "yellow", "green", "blue", "magenta"];
6358
- return function(letter, i, exploded) {
6359
- if (letter === " ") {
6360
- return letter;
6361
- } else {
6362
- return colors2[rainbowColors[i++ % rainbowColors.length]](letter);
6177
+ // node_modules/ansi-to-html/lib/ansi_to_html.js
6178
+ var require_ansi_to_html = __commonJS({
6179
+ "node_modules/ansi-to-html/lib/ansi_to_html.js"(exports, module2) {
6180
+ "use strict";
6181
+ function _classCallCheck(instance, Constructor) {
6182
+ if (!(instance instanceof Constructor)) {
6183
+ throw new TypeError("Cannot call a class as a function");
6184
+ }
6185
+ }
6186
+ function _defineProperties(target, props) {
6187
+ for (var i = 0; i < props.length; i++) {
6188
+ var descriptor = props[i];
6189
+ descriptor.enumerable = descriptor.enumerable || false;
6190
+ descriptor.configurable = true;
6191
+ if ("value" in descriptor)
6192
+ descriptor.writable = true;
6193
+ Object.defineProperty(target, descriptor.key, descriptor);
6194
+ }
6195
+ }
6196
+ function _createClass(Constructor, protoProps, staticProps) {
6197
+ if (protoProps)
6198
+ _defineProperties(Constructor.prototype, protoProps);
6199
+ if (staticProps)
6200
+ _defineProperties(Constructor, staticProps);
6201
+ return Constructor;
6202
+ }
6203
+ function _createForOfIteratorHelper(o, allowArrayLike) {
6204
+ var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
6205
+ if (!it) {
6206
+ if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
6207
+ if (it)
6208
+ o = it;
6209
+ var i = 0;
6210
+ var F = function F2() {
6211
+ };
6212
+ return { s: F, n: function n() {
6213
+ if (i >= o.length)
6214
+ return { done: true };
6215
+ return { done: false, value: o[i++] };
6216
+ }, e: function e(_e) {
6217
+ throw _e;
6218
+ }, f: F };
6219
+ }
6220
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
6221
+ }
6222
+ var normalCompletion = true, didErr = false, err;
6223
+ return { s: function s() {
6224
+ it = it.call(o);
6225
+ }, n: function n() {
6226
+ var step = it.next();
6227
+ normalCompletion = step.done;
6228
+ return step;
6229
+ }, e: function e(_e2) {
6230
+ didErr = true;
6231
+ err = _e2;
6232
+ }, f: function f() {
6233
+ try {
6234
+ if (!normalCompletion && it["return"] != null)
6235
+ it["return"]();
6236
+ } finally {
6237
+ if (didErr)
6238
+ throw err;
6363
6239
  }
6364
- };
6240
+ } };
6241
+ }
6242
+ function _unsupportedIterableToArray(o, minLen) {
6243
+ if (!o)
6244
+ return;
6245
+ if (typeof o === "string")
6246
+ return _arrayLikeToArray(o, minLen);
6247
+ var n = Object.prototype.toString.call(o).slice(8, -1);
6248
+ if (n === "Object" && o.constructor)
6249
+ n = o.constructor.name;
6250
+ if (n === "Map" || n === "Set")
6251
+ return Array.from(o);
6252
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
6253
+ return _arrayLikeToArray(o, minLen);
6254
+ }
6255
+ function _arrayLikeToArray(arr, len) {
6256
+ if (len == null || len > arr.length)
6257
+ len = arr.length;
6258
+ for (var i = 0, arr2 = new Array(len); i < len; i++) {
6259
+ arr2[i] = arr[i];
6260
+ }
6261
+ return arr2;
6262
+ }
6263
+ var entities = require_lib2();
6264
+ var defaults = {
6265
+ fg: "#FFF",
6266
+ bg: "#000",
6267
+ newline: false,
6268
+ escapeXML: false,
6269
+ stream: false,
6270
+ colors: getDefaultColors()
6365
6271
  };
6366
- }
6367
- });
6368
-
6369
- // node_modules/colors/lib/maps/random.js
6370
- var require_random = __commonJS({
6371
- "node_modules/colors/lib/maps/random.js"(exports, module2) {
6372
- module2["exports"] = function(colors2) {
6373
- var available = [
6374
- "underline",
6375
- "inverse",
6376
- "grey",
6377
- "yellow",
6378
- "red",
6379
- "green",
6380
- "blue",
6381
- "white",
6382
- "cyan",
6383
- "magenta",
6384
- "brightYellow",
6385
- "brightRed",
6386
- "brightGreen",
6387
- "brightBlue",
6388
- "brightWhite",
6389
- "brightCyan",
6390
- "brightMagenta"
6391
- ];
6392
- return function(letter, i, exploded) {
6393
- return letter === " " ? letter : colors2[available[Math.round(Math.random() * (available.length - 2))]](letter);
6272
+ function getDefaultColors() {
6273
+ var colors = {
6274
+ 0: "#000",
6275
+ 1: "#A00",
6276
+ 2: "#0A0",
6277
+ 3: "#A50",
6278
+ 4: "#00A",
6279
+ 5: "#A0A",
6280
+ 6: "#0AA",
6281
+ 7: "#AAA",
6282
+ 8: "#555",
6283
+ 9: "#F55",
6284
+ 10: "#5F5",
6285
+ 11: "#FF5",
6286
+ 12: "#55F",
6287
+ 13: "#F5F",
6288
+ 14: "#5FF",
6289
+ 15: "#FFF"
6394
6290
  };
6395
- };
6396
- }
6397
- });
6398
-
6399
- // node_modules/colors/lib/colors.js
6400
- var require_colors = __commonJS({
6401
- "node_modules/colors/lib/colors.js"(exports, module2) {
6402
- var colors2 = {};
6403
- module2["exports"] = colors2;
6404
- colors2.themes = {};
6405
- var util = require("util");
6406
- var ansiStyles = colors2.styles = require_styles();
6407
- var defineProps = Object.defineProperties;
6408
- var newLineRegex = new RegExp(/[\r\n]+/g);
6409
- colors2.supportsColor = require_supports_colors().supportsColor;
6410
- if (typeof colors2.enabled === "undefined") {
6411
- colors2.enabled = colors2.supportsColor() !== false;
6412
- }
6413
- colors2.enable = function() {
6414
- colors2.enabled = true;
6415
- };
6416
- colors2.disable = function() {
6417
- colors2.enabled = false;
6418
- };
6419
- colors2.stripColors = colors2.strip = function(str) {
6420
- return ("" + str).replace(/\x1B\[\d+m/g, "");
6421
- };
6422
- var stylize = colors2.stylize = function stylize2(str, style) {
6423
- if (!colors2.enabled) {
6424
- return str + "";
6291
+ range(0, 5).forEach(function(red) {
6292
+ range(0, 5).forEach(function(green) {
6293
+ range(0, 5).forEach(function(blue) {
6294
+ return setStyleColor(red, green, blue, colors);
6295
+ });
6296
+ });
6297
+ });
6298
+ range(0, 23).forEach(function(gray) {
6299
+ var c = gray + 232;
6300
+ var l = toHexString(gray * 10 + 8);
6301
+ colors[c] = "#" + l + l + l;
6302
+ });
6303
+ return colors;
6304
+ }
6305
+ function setStyleColor(red, green, blue, colors) {
6306
+ var c = 16 + red * 36 + green * 6 + blue;
6307
+ var r = red > 0 ? red * 40 + 55 : 0;
6308
+ var g = green > 0 ? green * 40 + 55 : 0;
6309
+ var b = blue > 0 ? blue * 40 + 55 : 0;
6310
+ colors[c] = toColorHexString([r, g, b]);
6311
+ }
6312
+ function toHexString(num) {
6313
+ var str = num.toString(16);
6314
+ while (str.length < 2) {
6315
+ str = "0" + str;
6425
6316
  }
6426
- var styleMap = ansiStyles[style];
6427
- if (!styleMap && style in colors2) {
6428
- return colors2[style](str);
6317
+ return str;
6318
+ }
6319
+ function toColorHexString(ref) {
6320
+ var results = [];
6321
+ var _iterator = _createForOfIteratorHelper(ref), _step;
6322
+ try {
6323
+ for (_iterator.s(); !(_step = _iterator.n()).done; ) {
6324
+ var r = _step.value;
6325
+ results.push(toHexString(r));
6326
+ }
6327
+ } catch (err) {
6328
+ _iterator.e(err);
6329
+ } finally {
6330
+ _iterator.f();
6331
+ }
6332
+ return "#" + results.join("");
6333
+ }
6334
+ function generateOutput(stack, token, data, options) {
6335
+ var result;
6336
+ if (token === "text") {
6337
+ result = pushText(data, options);
6338
+ } else if (token === "display") {
6339
+ result = handleDisplay(stack, data, options);
6340
+ } else if (token === "xterm256Foreground") {
6341
+ result = pushForegroundColor(stack, options.colors[data]);
6342
+ } else if (token === "xterm256Background") {
6343
+ result = pushBackgroundColor(stack, options.colors[data]);
6344
+ } else if (token === "rgb") {
6345
+ result = handleRgb(stack, data);
6429
6346
  }
6430
- return styleMap.open + str + styleMap.close;
6431
- };
6432
- var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g;
6433
- var escapeStringRegexp = function(str) {
6434
- if (typeof str !== "string") {
6435
- throw new TypeError("Expected a string");
6347
+ return result;
6348
+ }
6349
+ function handleRgb(stack, data) {
6350
+ data = data.substring(2).slice(0, -1);
6351
+ var operation = +data.substr(0, 2);
6352
+ var color = data.substring(5).split(";");
6353
+ var rgb = color.map(function(value) {
6354
+ return ("0" + Number(value).toString(16)).substr(-2);
6355
+ }).join("");
6356
+ return pushStyle(stack, (operation === 38 ? "color:#" : "background-color:#") + rgb);
6357
+ }
6358
+ function handleDisplay(stack, code, options) {
6359
+ code = parseInt(code, 10);
6360
+ var codeMap = {
6361
+ "-1": function _() {
6362
+ return "<br/>";
6363
+ },
6364
+ 0: function _() {
6365
+ return stack.length && resetStyles(stack);
6366
+ },
6367
+ 1: function _() {
6368
+ return pushTag(stack, "b");
6369
+ },
6370
+ 3: function _() {
6371
+ return pushTag(stack, "i");
6372
+ },
6373
+ 4: function _() {
6374
+ return pushTag(stack, "u");
6375
+ },
6376
+ 8: function _() {
6377
+ return pushStyle(stack, "display:none");
6378
+ },
6379
+ 9: function _() {
6380
+ return pushTag(stack, "strike");
6381
+ },
6382
+ 22: function _() {
6383
+ return pushStyle(stack, "font-weight:normal;text-decoration:none;font-style:normal");
6384
+ },
6385
+ 23: function _() {
6386
+ return closeTag(stack, "i");
6387
+ },
6388
+ 24: function _() {
6389
+ return closeTag(stack, "u");
6390
+ },
6391
+ 39: function _() {
6392
+ return pushForegroundColor(stack, options.fg);
6393
+ },
6394
+ 49: function _() {
6395
+ return pushBackgroundColor(stack, options.bg);
6396
+ },
6397
+ 53: function _() {
6398
+ return pushStyle(stack, "text-decoration:overline");
6399
+ }
6400
+ };
6401
+ var result;
6402
+ if (codeMap[code]) {
6403
+ result = codeMap[code]();
6404
+ } else if (4 < code && code < 7) {
6405
+ result = pushTag(stack, "blink");
6406
+ } else if (29 < code && code < 38) {
6407
+ result = pushForegroundColor(stack, options.colors[code - 30]);
6408
+ } else if (39 < code && code < 48) {
6409
+ result = pushBackgroundColor(stack, options.colors[code - 40]);
6410
+ } else if (89 < code && code < 98) {
6411
+ result = pushForegroundColor(stack, options.colors[8 + (code - 90)]);
6412
+ } else if (99 < code && code < 108) {
6413
+ result = pushBackgroundColor(stack, options.colors[8 + (code - 100)]);
6436
6414
  }
6437
- return str.replace(matchOperatorsRe, "\\$&");
6438
- };
6439
- function build(_styles) {
6440
- var builder = function builder2() {
6441
- return applyStyle.apply(builder2, arguments);
6415
+ return result;
6416
+ }
6417
+ function resetStyles(stack) {
6418
+ var stackClone = stack.slice(0);
6419
+ stack.length = 0;
6420
+ return stackClone.reverse().map(function(tag) {
6421
+ return "</" + tag + ">";
6422
+ }).join("");
6423
+ }
6424
+ function range(low, high) {
6425
+ var results = [];
6426
+ for (var j = low; j <= high; j++) {
6427
+ results.push(j);
6428
+ }
6429
+ return results;
6430
+ }
6431
+ function notCategory(category) {
6432
+ return function(e) {
6433
+ return (category === null || e.category !== category) && category !== "all";
6442
6434
  };
6443
- builder._styles = _styles;
6444
- builder.__proto__ = proto;
6445
- return builder;
6446
- }
6447
- var styles = function() {
6448
- var ret = {};
6449
- ansiStyles.grey = ansiStyles.gray;
6450
- Object.keys(ansiStyles).forEach(function(key) {
6451
- ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), "g");
6452
- ret[key] = {
6453
- get: function() {
6454
- return build(this._styles.concat(key));
6455
- }
6456
- };
6457
- });
6458
- return ret;
6459
- }();
6460
- var proto = defineProps(function colors3() {
6461
- }, styles);
6462
- function applyStyle() {
6463
- var args = Array.prototype.slice.call(arguments);
6464
- var str = args.map(function(arg) {
6465
- if (arg != null && arg.constructor === String) {
6466
- return arg;
6467
- } else {
6468
- return util.inspect(arg);
6469
- }
6470
- }).join(" ");
6471
- if (!colors2.enabled || !str) {
6472
- return str;
6473
- }
6474
- var newLinesPresent = str.indexOf("\n") != -1;
6475
- var nestedStyles = this._styles;
6476
- var i = nestedStyles.length;
6477
- while (i--) {
6478
- var code = ansiStyles[nestedStyles[i]];
6479
- str = code.open + str.replace(code.closeRe, code.open) + code.close;
6480
- if (newLinesPresent) {
6481
- str = str.replace(newLineRegex, function(match) {
6482
- return code.close + match + code.open;
6483
- });
6484
- }
6435
+ }
6436
+ function categoryForCode(code) {
6437
+ code = parseInt(code, 10);
6438
+ var result = null;
6439
+ if (code === 0) {
6440
+ result = "all";
6441
+ } else if (code === 1) {
6442
+ result = "bold";
6443
+ } else if (2 < code && code < 5) {
6444
+ result = "underline";
6445
+ } else if (4 < code && code < 7) {
6446
+ result = "blink";
6447
+ } else if (code === 8) {
6448
+ result = "hide";
6449
+ } else if (code === 9) {
6450
+ result = "strike";
6451
+ } else if (29 < code && code < 38 || code === 39 || 89 < code && code < 98) {
6452
+ result = "foreground-color";
6453
+ } else if (39 < code && code < 48 || code === 49 || 99 < code && code < 108) {
6454
+ result = "background-color";
6485
6455
  }
6486
- return str;
6456
+ return result;
6487
6457
  }
6488
- colors2.setTheme = function(theme) {
6489
- if (typeof theme === "string") {
6490
- console.log("colors.setTheme now only accepts an object, not a string. If you are trying to set a theme from a file, it is now your (the caller's) responsibility to require the file. The old syntax looked like colors.setTheme(__dirname + '/../themes/generic-logging.js'); The new syntax looks like colors.setTheme(require(__dirname + '/../themes/generic-logging.js'));");
6491
- return;
6458
+ function pushText(text, options) {
6459
+ if (options.escapeXML) {
6460
+ return entities.encodeXML(text);
6492
6461
  }
6493
- for (var style in theme) {
6494
- (function(style2) {
6495
- colors2[style2] = function(str) {
6496
- if (typeof theme[style2] === "object") {
6497
- var out = str;
6498
- for (var i in theme[style2]) {
6499
- out = colors2[theme[style2][i]](out);
6500
- }
6501
- return out;
6502
- }
6503
- return colors2[theme[style2]](str);
6504
- };
6505
- })(style);
6462
+ return text;
6463
+ }
6464
+ function pushTag(stack, tag, style) {
6465
+ if (!style) {
6466
+ style = "";
6506
6467
  }
6507
- };
6508
- function init() {
6509
- var ret = {};
6510
- Object.keys(styles).forEach(function(name) {
6511
- ret[name] = {
6512
- get: function() {
6513
- return build([name]);
6514
- }
6515
- };
6516
- });
6517
- return ret;
6468
+ stack.push(tag);
6469
+ return "<".concat(tag).concat(style ? ' style="'.concat(style, '"') : "", ">");
6518
6470
  }
6519
- var sequencer = function sequencer2(map2, str) {
6520
- var exploded = str.split("");
6521
- exploded = exploded.map(map2);
6522
- return exploded.join("");
6523
- };
6524
- colors2.trap = require_trap();
6525
- colors2.zalgo = require_zalgo();
6526
- colors2.maps = {};
6527
- colors2.maps.america = require_america()(colors2);
6528
- colors2.maps.zebra = require_zebra()(colors2);
6529
- colors2.maps.rainbow = require_rainbow()(colors2);
6530
- colors2.maps.random = require_random()(colors2);
6531
- for (map in colors2.maps) {
6532
- (function(map2) {
6533
- colors2[map2] = function(str) {
6534
- return sequencer(colors2.maps[map2], str);
6535
- };
6536
- })(map);
6471
+ function pushStyle(stack, style) {
6472
+ return pushTag(stack, "span", style);
6537
6473
  }
6538
- var map;
6539
- defineProps(colors2, init());
6540
- }
6541
- });
6542
-
6543
- // node_modules/colors/safe.js
6544
- var require_safe = __commonJS({
6545
- "node_modules/colors/safe.js"(exports, module2) {
6546
- var colors2 = require_colors();
6547
- module2["exports"] = colors2;
6474
+ function pushForegroundColor(stack, color) {
6475
+ return pushTag(stack, "span", "color:" + color);
6476
+ }
6477
+ function pushBackgroundColor(stack, color) {
6478
+ return pushTag(stack, "span", "background-color:" + color);
6479
+ }
6480
+ function closeTag(stack, style) {
6481
+ var last;
6482
+ if (stack.slice(-1)[0] === style) {
6483
+ last = stack.pop();
6484
+ }
6485
+ if (last) {
6486
+ return "</" + style + ">";
6487
+ }
6488
+ }
6489
+ function tokenize(text, options, callback) {
6490
+ var ansiMatch = false;
6491
+ var ansiHandler = 3;
6492
+ function remove() {
6493
+ return "";
6494
+ }
6495
+ function removeXterm256Foreground(m, g1) {
6496
+ callback("xterm256Foreground", g1);
6497
+ return "";
6498
+ }
6499
+ function removeXterm256Background(m, g1) {
6500
+ callback("xterm256Background", g1);
6501
+ return "";
6502
+ }
6503
+ function newline(m) {
6504
+ if (options.newline) {
6505
+ callback("display", -1);
6506
+ } else {
6507
+ callback("text", m);
6508
+ }
6509
+ return "";
6510
+ }
6511
+ function ansiMess(m, g1) {
6512
+ ansiMatch = true;
6513
+ if (g1.trim().length === 0) {
6514
+ g1 = "0";
6515
+ }
6516
+ g1 = g1.trimRight(";").split(";");
6517
+ var _iterator2 = _createForOfIteratorHelper(g1), _step2;
6518
+ try {
6519
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) {
6520
+ var g = _step2.value;
6521
+ callback("display", g);
6522
+ }
6523
+ } catch (err) {
6524
+ _iterator2.e(err);
6525
+ } finally {
6526
+ _iterator2.f();
6527
+ }
6528
+ return "";
6529
+ }
6530
+ function realText(m) {
6531
+ callback("text", m);
6532
+ return "";
6533
+ }
6534
+ function rgb(m) {
6535
+ callback("rgb", m);
6536
+ return "";
6537
+ }
6538
+ var tokens = [{
6539
+ pattern: /^\x08+/,
6540
+ sub: remove
6541
+ }, {
6542
+ pattern: /^\x1b\[[012]?K/,
6543
+ sub: remove
6544
+ }, {
6545
+ pattern: /^\x1b\[\(B/,
6546
+ sub: remove
6547
+ }, {
6548
+ pattern: /^\x1b\[[34]8;2;\d+;\d+;\d+m/,
6549
+ sub: rgb
6550
+ }, {
6551
+ pattern: /^\x1b\[38;5;(\d+)m/,
6552
+ sub: removeXterm256Foreground
6553
+ }, {
6554
+ pattern: /^\x1b\[48;5;(\d+)m/,
6555
+ sub: removeXterm256Background
6556
+ }, {
6557
+ pattern: /^\n/,
6558
+ sub: newline
6559
+ }, {
6560
+ pattern: /^\r+\n/,
6561
+ sub: newline
6562
+ }, {
6563
+ pattern: /^\r/,
6564
+ sub: newline
6565
+ }, {
6566
+ pattern: /^\x1b\[((?:\d{1,3};?)+|)m/,
6567
+ sub: ansiMess
6568
+ }, {
6569
+ // CSI n J
6570
+ // ED - Erase in Display Clears part of the screen.
6571
+ // If n is 0 (or missing), clear from cursor to end of screen.
6572
+ // If n is 1, clear from cursor to beginning of the screen.
6573
+ // If n is 2, clear entire screen (and moves cursor to upper left on DOS ANSI.SYS).
6574
+ // If n is 3, clear entire screen and delete all lines saved in the scrollback buffer
6575
+ // (this feature was added for xterm and is supported by other terminal applications).
6576
+ pattern: /^\x1b\[\d?J/,
6577
+ sub: remove
6578
+ }, {
6579
+ // CSI n ; m f
6580
+ // HVP - Horizontal Vertical Position Same as CUP
6581
+ pattern: /^\x1b\[\d{0,3};\d{0,3}f/,
6582
+ sub: remove
6583
+ }, {
6584
+ // catch-all for CSI sequences?
6585
+ pattern: /^\x1b\[?[\d;]{0,3}/,
6586
+ sub: remove
6587
+ }, {
6588
+ /**
6589
+ * extracts real text - not containing:
6590
+ * - `\x1b' - ESC - escape (Ascii 27)
6591
+ * - '\x08' - BS - backspace (Ascii 8)
6592
+ * - `\n` - Newline - linefeed (LF) (ascii 10)
6593
+ * - `\r` - Windows Carriage Return (CR)
6594
+ */
6595
+ pattern: /^(([^\x1b\x08\r\n])+)/,
6596
+ sub: realText
6597
+ }];
6598
+ function process2(handler2, i2) {
6599
+ if (i2 > ansiHandler && ansiMatch) {
6600
+ return;
6601
+ }
6602
+ ansiMatch = false;
6603
+ text = text.replace(handler2.pattern, handler2.sub);
6604
+ }
6605
+ var results1 = [];
6606
+ var _text = text, length = _text.length;
6607
+ outer:
6608
+ while (length > 0) {
6609
+ for (var i = 0, o = 0, len = tokens.length; o < len; i = ++o) {
6610
+ var handler = tokens[i];
6611
+ process2(handler, i);
6612
+ if (text.length !== length) {
6613
+ length = text.length;
6614
+ continue outer;
6615
+ }
6616
+ }
6617
+ if (text.length === length) {
6618
+ break;
6619
+ }
6620
+ results1.push(0);
6621
+ length = text.length;
6622
+ }
6623
+ return results1;
6624
+ }
6625
+ function updateStickyStack(stickyStack, token, data) {
6626
+ if (token !== "text") {
6627
+ stickyStack = stickyStack.filter(notCategory(categoryForCode(data)));
6628
+ stickyStack.push({
6629
+ token,
6630
+ data,
6631
+ category: categoryForCode(data)
6632
+ });
6633
+ }
6634
+ return stickyStack;
6635
+ }
6636
+ var Filter = /* @__PURE__ */ function() {
6637
+ function Filter2(options) {
6638
+ _classCallCheck(this, Filter2);
6639
+ options = options || {};
6640
+ if (options.colors) {
6641
+ options.colors = Object.assign({}, defaults.colors, options.colors);
6642
+ }
6643
+ this.options = Object.assign({}, defaults, options);
6644
+ this.stack = [];
6645
+ this.stickyStack = [];
6646
+ }
6647
+ _createClass(Filter2, [{
6648
+ key: "toHtml",
6649
+ value: function toHtml(input) {
6650
+ var _this = this;
6651
+ input = typeof input === "string" ? [input] : input;
6652
+ var stack = this.stack, options = this.options;
6653
+ var buf = [];
6654
+ this.stickyStack.forEach(function(element) {
6655
+ var output = generateOutput(stack, element.token, element.data, options);
6656
+ if (output) {
6657
+ buf.push(output);
6658
+ }
6659
+ });
6660
+ tokenize(input.join(""), options, function(token, data) {
6661
+ var output = generateOutput(stack, token, data, options);
6662
+ if (output) {
6663
+ buf.push(output);
6664
+ }
6665
+ if (options.stream) {
6666
+ _this.stickyStack = updateStickyStack(_this.stickyStack, token, data);
6667
+ }
6668
+ });
6669
+ if (stack.length) {
6670
+ buf.push(resetStyles(stack));
6671
+ }
6672
+ return buf.join("");
6673
+ }
6674
+ }]);
6675
+ return Filter2;
6676
+ }();
6677
+ module2.exports = Filter;
6548
6678
  }
6549
6679
  });
6550
6680
 
@@ -6557,7 +6687,6 @@ module.exports = __toCommonJS(ortoni_report_exports);
6557
6687
  var import_fs = __toESM(require("fs"));
6558
6688
  var import_path2 = __toESM(require("path"));
6559
6689
  var import_handlebars = __toESM(require_lib());
6560
- var import_safe = __toESM(require_safe());
6561
6690
 
6562
6691
  // src/utils/utils.ts
6563
6692
  var import_path = __toESM(require("path"));
@@ -6615,20 +6744,43 @@ function ensureHtmlExtension(filename) {
6615
6744
  }
6616
6745
  return `${filename}.html`;
6617
6746
  }
6747
+ function escapeHtml(unsafe) {
6748
+ if (typeof unsafe !== "string") {
6749
+ return String(unsafe);
6750
+ }
6751
+ return unsafe.replace(/[&<"']/g, function(match) {
6752
+ const escapeMap = {
6753
+ "&": "&amp;",
6754
+ "<": "&lt;",
6755
+ ">": "&gt;",
6756
+ '"': "&quot;",
6757
+ "'": "&#039;"
6758
+ };
6759
+ return escapeMap[match] || match;
6760
+ });
6761
+ }
6618
6762
 
6619
6763
  // src/ortoni-report.ts
6764
+ var import_ansi_to_html = __toESM(require_ansi_to_html());
6620
6765
  var OrtoniReport = class {
6766
+ // private wsHelper: WebSocketHelper;
6621
6767
  constructor(config = {}) {
6768
+ this.ansiToHtml = new import_ansi_to_html.default({
6769
+ fg: "var(--snippet-color)"
6770
+ });
6622
6771
  this.projectRoot = "";
6623
6772
  this.results = [];
6624
6773
  this.groupedResults = {};
6625
6774
  this.projectSet = /* @__PURE__ */ new Set();
6626
- this.tagsSet = /* @__PURE__ */ new Set();
6627
6775
  this.config = config;
6776
+ this.folderPath = config.folderPath || "playwright-report";
6628
6777
  }
6629
6778
  onBegin(config, suite) {
6630
6779
  this.results = [];
6631
6780
  this.projectRoot = config.rootDir;
6781
+ if (!import_fs.default.existsSync(this.folderPath)) {
6782
+ import_fs.default.mkdirSync(this.folderPath, { recursive: true });
6783
+ }
6632
6784
  }
6633
6785
  onTestBegin(test, result) {
6634
6786
  }
@@ -6640,13 +6792,11 @@ var OrtoniReport = class {
6640
6792
  const location = test.location;
6641
6793
  const filePath = normalizeFilePath(test.titlePath()[2]);
6642
6794
  const tagPattern = /@[\w]+/g;
6643
- const testTags = test.title.match(tagPattern) || [];
6644
6795
  const title = test.title.replace(tagPattern, "").trim();
6645
- const suiteTags = test.titlePath()[3].match(tagPattern) || [];
6646
6796
  const suite = test.titlePath()[3].replace(tagPattern, "").trim();
6647
6797
  const testResult = {
6648
- suiteTags,
6649
- testTags,
6798
+ annotations: test.annotations,
6799
+ testTags: test.tags,
6650
6800
  location: `${filePath}:${location.line}:${location.column}`,
6651
6801
  retry: result.retry > 0 ? "retry" : "",
6652
6802
  isRetry: result.retry,
@@ -6657,18 +6807,18 @@ var OrtoniReport = class {
6657
6807
  flaky: test.outcome(),
6658
6808
  duration: msToTime(result.duration),
6659
6809
  errors: result.errors.map(
6660
- (e) => import_safe.default.strip(e.message || e.toString())
6810
+ (e) => this.ansiToHtml.toHtml(escapeHtml(e.stack || e.toString()))
6661
6811
  ),
6662
6812
  steps: result.steps.map((step) => {
6663
6813
  const stepLocation = step.location ? `${import_path2.default.relative(this.projectRoot, step.location.file)}:${step.location.line}:${step.location.column}` : "";
6664
6814
  return {
6665
- snippet: import_safe.default.strip(step.error?.snippet || ""),
6815
+ snippet: this.ansiToHtml.toHtml(escapeHtml(step.error?.snippet || "")),
6666
6816
  title: step.title,
6667
6817
  location: step.error ? stepLocation : ""
6668
6818
  };
6669
6819
  }),
6670
- logs: import_safe.default.strip(
6671
- result.stdout.concat(result.stderr).map((log) => log).join("\n")
6820
+ logs: this.ansiToHtml.toHtml(
6821
+ escapeHtml(result.stdout.concat(result.stderr).map((log) => log).join("\n"))
6672
6822
  ),
6673
6823
  filePath,
6674
6824
  filters: this.projectSet,
@@ -6683,35 +6833,34 @@ var OrtoniReport = class {
6683
6833
  attachFiles(result, testResult) {
6684
6834
  if (result.attachments) {
6685
6835
  const { base64Image } = this.config;
6686
- const screenshot = result.attachments.find(
6687
- (attachment) => attachment.name === "screenshot"
6688
- );
6689
- if (screenshot && screenshot.path) {
6690
- try {
6691
- const screenshotContent = import_fs.default.readFileSync(
6692
- screenshot.path,
6693
- base64Image ? "base64" : void 0
6694
- );
6695
- testResult.screenshotPath = base64Image ? `data:image/png;base64,${screenshotContent}` : import_path2.default.resolve(screenshot.path);
6696
- } catch (error) {
6697
- console.error(
6698
- `OrtoniReport: Failed to read screenshot file: ${screenshot.path}`,
6699
- error
6700
- );
6836
+ testResult.screenshots = [];
6837
+ result.attachments.forEach((attachment) => {
6838
+ if (attachment.contentType === "image/png") {
6839
+ let screenshotPath = "";
6840
+ if (attachment.path) {
6841
+ try {
6842
+ const screenshotContent = import_fs.default.readFileSync(
6843
+ attachment.path,
6844
+ base64Image ? "base64" : void 0
6845
+ );
6846
+ screenshotPath = base64Image ? `data:image/png;base64,${screenshotContent}` : import_path2.default.resolve(attachment.path);
6847
+ } catch (error) {
6848
+ console.error(
6849
+ `OrtoniReport: Failed to read screenshot file: ${attachment.path}`,
6850
+ error
6851
+ );
6852
+ }
6853
+ } else if (attachment.body) {
6854
+ screenshotPath = `data:image/png;base64,${attachment.body.toString("base64")}`;
6855
+ }
6856
+ if (screenshotPath) {
6857
+ testResult.screenshots?.push(screenshotPath);
6858
+ }
6701
6859
  }
6702
- }
6703
- const tracePath = result.attachments.find(
6704
- (attachment) => attachment.name === "trace"
6705
- );
6706
- if (tracePath?.path) {
6707
- testResult.tracePath = import_path2.default.resolve(__dirname, tracePath.path);
6708
- }
6709
- const videoPath = result.attachments.find(
6710
- (attachment) => attachment.name === "video"
6711
- );
6712
- if (videoPath?.path) {
6713
- testResult.videoPath = import_path2.default.resolve(__dirname, videoPath.path);
6714
- }
6860
+ if (attachment.name === "video" && attachment.path) {
6861
+ testResult.videoPath = import_path2.default.resolve(__dirname, attachment.path);
6862
+ }
6863
+ });
6715
6864
  }
6716
6865
  }
6717
6866
  onEnd(result) {
@@ -6727,17 +6876,37 @@ var OrtoniReport = class {
6727
6876
  "eq",
6728
6877
  (actualStatus, expectedStatus) => actualStatus === expectedStatus
6729
6878
  );
6879
+ import_handlebars.default.registerHelper("gr", (count) => count > 0);
6880
+ const cssContent = import_fs.default.readFileSync(
6881
+ import_path2.default.resolve(__dirname, "style", "main.css"),
6882
+ "utf-8"
6883
+ );
6884
+ this.registerPartial("navbar");
6885
+ this.registerPartial("testStatus");
6886
+ this.registerPartial("testPanel");
6887
+ this.registerPartial("summaryCard");
6888
+ this.registerPartial("userInfo");
6889
+ this.registerPartial("project");
6730
6890
  const outputFilename = ensureHtmlExtension(
6731
6891
  this.config.filename || "ortoni-report.html"
6732
6892
  );
6733
- const html = this.generateHTML(filteredResults, totalDuration);
6734
- const outputPath = import_path2.default.resolve(process.cwd(), outputFilename);
6893
+ if (!import_fs.default.existsSync(this.folderPath)) {
6894
+ import_fs.default.mkdirSync(this.folderPath, { recursive: true });
6895
+ }
6896
+ const html = this.generateHTML(filteredResults, totalDuration, cssContent);
6897
+ const outputPath = import_path2.default.join(process.cwd(), this.folderPath, outputFilename);
6735
6898
  import_fs.default.writeFileSync(outputPath, html);
6736
6899
  console.log(`Ortoni HTML report generated at ${outputPath}`);
6737
6900
  } catch (error) {
6738
6901
  console.error("OrtoniReport: Error generating report:", error);
6739
6902
  }
6740
6903
  }
6904
+ registerPartial(name) {
6905
+ import_handlebars.default.registerPartial(name, import_fs.default.readFileSync(
6906
+ import_path2.default.resolve(__dirname, "views", name + ".hbs"),
6907
+ "utf-8"
6908
+ ));
6909
+ }
6741
6910
  groupResults() {
6742
6911
  if (this.config.showProject) {
6743
6912
  this.groupedResults = this.results.reduce((acc, result, index) => {
@@ -6758,7 +6927,7 @@ var OrtoniReport = class {
6758
6927
  }, {});
6759
6928
  }
6760
6929
  }
6761
- generateHTML(filteredResults, totalDuration) {
6930
+ generateHTML(filteredResults, totalDuration, cssContent) {
6762
6931
  try {
6763
6932
  const totalTests = filteredResults.length;
6764
6933
  const passedTests = this.results.filter(
@@ -6770,16 +6939,36 @@ var OrtoniReport = class {
6770
6939
  ).length;
6771
6940
  const successRate = ((passedTests + flakyTests) / totalTests * 100).toFixed(2);
6772
6941
  const templateSource = import_fs.default.readFileSync(
6773
- import_path2.default.resolve(__dirname, "report-template.hbs"),
6942
+ import_path2.default.resolve(__dirname, "views", "main.hbs"),
6774
6943
  "utf-8"
6775
6944
  );
6776
6945
  const template = import_handlebars.default.compile(templateSource);
6777
6946
  const logo = this.config.logo ? import_path2.default.resolve(this.config.logo) : void 0;
6778
6947
  const allTags = /* @__PURE__ */ new Set();
6779
6948
  this.results.forEach((result) => {
6780
- result.suiteTags.forEach((tag) => allTags.add(tag));
6781
6949
  result.testTags.forEach((tag) => allTags.add(tag));
6782
6950
  });
6951
+ const projectResults = Array.from(this.projectSet).map((projectName) => {
6952
+ const projectTests = filteredResults.filter((r) => r.projectName === projectName);
6953
+ const passedTests2 = projectTests.filter((r) => r.status === "passed").length;
6954
+ const failedTests = projectTests.filter((r) => r.status === "failed").length + projectTests.filter((r) => r.status === "timedOut").length;
6955
+ const skippedTests = this.results.filter((r) => r.projectName === projectName).filter((r) => r.status === "skipped").length;
6956
+ const retryTests = this.results.filter((r) => r.projectName === projectName).filter((r) => r.status === "flaky").length;
6957
+ return {
6958
+ projectName,
6959
+ passedTests: passedTests2,
6960
+ failedTests,
6961
+ skippedTests,
6962
+ retryTests,
6963
+ totalTests: projectTests.length
6964
+ };
6965
+ });
6966
+ const projectNames = projectResults.map((result) => result.projectName);
6967
+ const projectTotalTests = projectResults.map((result) => result.totalTests);
6968
+ const projectPassedTests = projectResults.map((result) => result.passedTests);
6969
+ const projectailedTests = projectResults.map((result) => result.failedTests);
6970
+ const projectSkippedTests = projectResults.map((result) => result.skippedTests);
6971
+ const projectRetryTests = projectResults.map((result) => result.retryTests);
6783
6972
  const data = {
6784
6973
  logo,
6785
6974
  totalDuration,
@@ -6801,9 +6990,15 @@ var OrtoniReport = class {
6801
6990
  projects: this.projectSet,
6802
6991
  allTags: Array.from(allTags),
6803
6992
  showProject: this.config.showProject || false,
6804
- title: this.config.title || "Ortoni Playwright Test Report"
6993
+ title: this.config.title || "Ortoni Playwright Test Report",
6994
+ projectNames,
6995
+ totalTests: projectTotalTests,
6996
+ passedTests: projectPassedTests,
6997
+ failedTests: projectailedTests,
6998
+ skippedTests: projectSkippedTests,
6999
+ retryTests: projectRetryTests
6805
7000
  };
6806
- return template(data);
7001
+ return template({ ...data, inlineCss: cssContent });
6807
7002
  } catch (error) {
6808
7003
  console.error("OrtoniReport: Error generating HTML:", error);
6809
7004
  return `<html><body><h1>Report generation failed</h1><pre>${error.stack}</pre></body></html>`;