public static Tabular parse(String out) {
			List<String> lines = List.of(out.split("\n"));
			if (lines.isEmpty()) {
				throw new AssertionError("Output is not tabular");
			}
			List<Cut> cuts = adjustCuts(findCuts(lines.get(0)));
			return new Tabular(cuts.stream().map(Cut::head).toList(),
				lines.stream().skip(1).map(l -> Row.parse(cuts, l)).toList());
		}
Parse a table.

<p>
This is far from perfect, but good enough for making assertions in tests. For example, in
the breakpoints table, lldb may insert an extra informational line under a breakpoint
row. This line will get mangled and parsed as if it were an entry. However, it's "Num"
cell will be empty, so they will not likely interfere.

@param out the output in tabular form
@return the table object, more or less
Ghidra/Test/DebuggerIntegrationTest/src/test.slow/java/agent/lldb/rmi/AbstractLldbTraceRmiTest.java