sS renderLineCompedSingleLevels(LineCompedSingle lc) { // each byte is the character's "color" // (0 for empty, 1 for color one, 2 for color two) byte[][] rows = renderLineCompedSingleLevels_raw(lc); S text = uncompressLineCompedSingle(lc); //printVars(+rows); int n = l(first(rows)); ret lines(map(rows, row -> { StringBuilder buf = new(n); for i to n: { if (row[i] == 0) buf.append(i == n-1 ? " " : " "); else { buf.append(text.charAt(i)); if (i < n-1) buf.append(row[i+1] != 0 && row[i+1] != row[i] ? '|' : ' '); } } ret str(buf); })); }