summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-10-01 12:42:29 -0300
committerGabriel Schneider <[email protected]>2026-10-01 13:17:15 -0300
commit4252afe6f4558b55fa34846b182312d6a384b96e (patch)
tree3b7bf6ab8eae30cf7750c25c6aa453b98a7bc53a
parentf700b2af8e874c586e6996b8311c3983203c6637 (diff)
downloadpardes-4252afe6f4558b55fa34846b182312d6a384b96e.tar.gz
pardes-4252afe6f4558b55fa34846b182312d6a384b96e.zip
The landing's terminal casts are recorded: live text, terminals as panes, and images and PDFs in a plain terminal, each a tty pardes that test/record_casts.py drives in a pty of its own as a plain xterm
The script answers only what an xterm answers, so images fall back to PETSCII glyph art and a PDF to its text layer. It stamps each scripted step on a virtual clock and writes the cells the step changed, as pyte saw them, so the same input makes the same file. The petscii cast generates its Mandelbrot views and reads the Intel SDM (--pdf) through a symlink. Co-Authored-By: Claude Opus 5.5 <[email protected]>
-rw-r--r--docs/site/README4
-rw-r--r--docs/site/casts/casts.toml21
-rw-r--r--docs/site/casts/live-text.cast44
-rw-r--r--docs/site/casts/petscii.cast62
-rw-r--r--docs/site/casts/terminals.cast59
-rw-r--r--test/record_casts.py937
6 files changed, 1121 insertions, 6 deletions
diff --git a/docs/site/README b/docs/site/README
index 76c2973f..41804163 100644
--- a/docs/site/README
+++ b/docs/site/README
@@ -13,6 +13,10 @@ docs/site: the pardes website, built from docs/typ
ready. For a clip named N the site ships media/N.webm,
media/N.mp4 and media/N.png (the poster); until `ready`
is true it shows placeholder.svg instead.
+ casts/casts.toml the terminal recordings (asciicast v2), in order: name,
+ title, caption, cols, rows, ready; casts/N.cast each.
+ test/record_casts.py records them from a tty pardes
+ and writes this file.
Build (from the repo root):
diff --git a/docs/site/casts/casts.toml b/docs/site/casts/casts.toml
index e639e7b4..d902feba 100644
--- a/docs/site/casts/casts.toml
+++ b/docs/site/casts/casts.toml
@@ -2,19 +2,28 @@
# shown: casts/<name>.cast for each. The first plays by itself; all loop
# and fit the page's width. While `ready` is false the cast shows
# placeholder.svg, so the site builds before a recording exists.
+# test/record_casts.py writes the casts and this file.
[[cast]]
-name = "editing"
-title = "Editing in a terminal"
-caption = "Recording to come."
+name = "live-text"
+title = "Live text"
+caption = "Helix keys edit; middle-click runs make; right-click the error opens its line."
cols = 100
rows = 30
-ready = false
+ready = true
[[cast]]
name = "terminals"
title = "Terminals as panes"
-caption = "Recording to come."
+caption = "A shell beside a file: Ctrl-b, copy a line, page git log."
cols = 100
rows = 30
-ready = false
+ready = true
+
+[[cast]]
+name = "petscii"
+title = "Images and PDFs in a plain terminal"
+caption = "No kitty graphics: Mandelbrots as PETSCII, then the Intel manual searched."
+cols = 100
+rows = 30
+ready = true
diff --git a/docs/site/casts/live-text.cast b/docs/site/casts/live-text.cast
new file mode 100644
index 00000000..ef948352
--- /dev/null
+++ b/docs/site/casts/live-text.cast
@@ -0,0 +1,44 @@
+{"version": 2, "width": 100, "height": 30, "title": "Live text", "env": {"TERM": "xterm-256color", "SHELL": "/bin/sh"}}
+[0.0, "o", "\u001b[?25l\u001b[0m\u001b[2J\u001b[1;1H\u001b[0;38;2;178;195;184;48;2;29;40;36mNewcol Joincol Find Grep Help Changelog Tutor Dump Themes Config Debug Exit\u001b[0;39;48;2;29;40;36m \u001b[2;1H\u001b[0;38;2;255;255;255;48;2;136;116;85m \u001b[0;39;48;2;49;71;56m \u001b[0;38;2;190;207;196;48;2;49;71;56mNew Tty Find Grep Joincol Delcol\u001b[0;39;48;2;49;71;56m \u001b[3;1H\u001b[0;38;2;0;0;0;48;2;173;211;138m \u001b[0;39;48;2;49;71;56m \u001b[0;38;2;190;207;196;48;2;49;71;56m/tmp/cast/hello/\u001b[0;38;2;223;188;229;48;2;49;71;56mmain.c\u001b[0;38;2;190;207;196;48;2;49;71;56m Save Tty Collapse Del TreeContext\u001b[0;39;48;2;49;71;56m \u001b[4;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;97;111;100;48;2;13;20;16;1m 1 \u001b[0;38;2;201;167;237;48;2;13;20;16m#include\u001b[0;38;2;229;238;229;48;2;13;20;16m \u001b[0;38;2;184;216;138;48;2;13;20;16m<stdio.h>\u001b[0;39;48;2;13;20;16m \u001b[5;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m 2 \u001b[0;39;48;2;13;20;16m \u001b[6;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m 3 \u001b[0;38;2;201;167;237;48;2;13;20;16mstatic\u001b[0;38;2;229;238;229;48;2;13;20;16m int square(int n)\u001b[0;39;48;2;13;20;16m \u001b[7;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m 4 \u001b[0;38;2;229;238;229;48;2;13;20;16m{\u001b[0;39;48;2;13;20;16m \u001b[8;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m 5 \u001b[0;38;2;229;238;229;48;2;13;20;16m \u001b[0;38;2;201;167;237;48;2;13;20;16mreturn\u001b[0;38;2;229;238;229;48;2;13;20;16m n * n;\u001b[0;39;48;2;13;20;16m \u001b[9;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m 6 \u001b[0;38;2;229;238;229;48;2;13;20;16m}\u001b[0;39;48;2;13;20;16m \u001b[10;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m 7 \u001b[0;39;48;2;13;20;16m \u001b[11;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m 8 \u001b[0;38;2;229;238;229;48;2;13;20;16mint main(void)\u001b[0;39;48;2;13;20;16m \u001b[12;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m 9 \u001b[0;38;2;229;238;229;48;2;13;20;16m{\u001b[0;39;48;2;13;20;16m \u001b[13;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m 10 \u001b[0;38;2;229;238;229;48;2;13;20;16m int sum = \u001b[0;38;2;248;192;130;48;2;13;20;16m0\u001b[0;38;2;229;238;229;48;2;13;20;16m;\u001b[0;39;48;2;13;20;16m \u001b[14;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m 11 \u001b[0;38;2;229;238;229;48;2;13;20;16m \u001b[0;38;2;201;167;237;48;2;13;20;16mfor\u001b[0;38;2;229;238;229;48;2;13;20;16m (int i = \u001b[0;38;2;248;192;130;48;2;13;20;16m1\u001b[0;38;2;229;238;229;48;2;13;20;16m; i <= \u001b[0;38;2;248;192;130;48;2;13;20;16m4\u001b[0;38;2;229;238;229;48;2;13;20;16m; i++)\u001b[0;39;48;2;13;20;16m \u001b[15;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m 12 \u001b[0;38;2;229;238;229;48;2;13;20;16m sum += square(i);\u001b[0;39;48;2;13;20;16m \u001b[16;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m 13 \u001b[0;38;2;229;238;229;48;2;13;20;16m printf(\u001b[0;38;2;184;216;138;48;2;13;20;16m\"squares: %d\\n\"\u001b[0;38;2;229;238;229;48;2;13;20;16m, sum);\u001b[0;39;48;2;13;20;16m \u001b[17;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m 14 \u001b[0;38;2;229;238;229;48;2;13;20;16m \u001b[0;38;2;201;167;237;48;2;13;20;16mreturn\u001b[0;38;2;229;238;229;48;2;13;20;16m \u001b[0;38;2;248;192;130;48;2;13;20;16m0\u001b[0;38;2;229;238;229;48;2;13;20;16m;\u001b[0;39;48;2;13;20;16m \u001b[18;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m 15 \u001b[0;38;2;229;238;229;48;2;13;20;16m}\u001b[0;39;48;2;13;20;16m \u001b[19;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m 16 \u001b[0;39;48;2;13;20;16m \u001b[20;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[21;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[22;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[23;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[24;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[25;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[26;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[27;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[28;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[29;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[30;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[0m\u001b[4;8H\u001b[?25h"]
+[1.6, "o", "\u001b[4;3H\u001b[0;38;2;89;103;92;48;2;13;20;16m 1 \u001b[5;3H\u001b[0;38;2;97;111;100;48;2;13;20;16;1m 2 \u001b[0m\u001b[5;8H\u001b[?25h"]
+[1.73, "o", "\u001b[5;3H\u001b[0;38;2;89;103;92;48;2;13;20;16m 2 \u001b[6;3H\u001b[0;38;2;97;111;100;48;2;13;20;16;1m 3 \u001b[0m\u001b[6;8H\u001b[?25h"]
+[1.86, "o", "\u001b[6;3H\u001b[0;38;2;89;103;92;48;2;13;20;16m 3 \u001b[7;3H\u001b[0;38;2;97;111;100;48;2;13;20;16;1m 4 \u001b[0m\u001b[7;8H\u001b[?25h"]
+[1.99, "o", "\u001b[7;3H\u001b[0;38;2;89;103;92;48;2;13;20;16m 4 \u001b[8;3H\u001b[0;38;2;97;111;100;48;2;13;20;16;1m 5 \u001b[0m\u001b[8;8H\u001b[?25h"]
+[2.12, "o", "\u001b[8;3H\u001b[0;38;2;89;103;92;48;2;13;20;16m 5 \u001b[9;3H\u001b[0;38;2;97;111;100;48;2;13;20;16;1m 6 \u001b[0m\u001b[9;8H\u001b[?25h"]
+[2.25, "o", "\u001b[9;3H\u001b[0;38;2;89;103;92;48;2;13;20;16m 6 \u001b[10;3H\u001b[0;38;2;97;111;100;48;2;13;20;16;1m 7 \u001b[0m\u001b[10;8H\u001b[?25h"]
+[2.38, "o", "\u001b[10;3H\u001b[0;38;2;89;103;92;48;2;13;20;16m 7 \u001b[11;3H\u001b[0;38;2;97;111;100;48;2;13;20;16;1m 8 \u001b[0m\u001b[11;8H\u001b[?25h"]
+[2.51, "o", "\u001b[11;3H\u001b[0;38;2;89;103;92;48;2;13;20;16m 8 \u001b[12;3H\u001b[0;38;2;97;111;100;48;2;13;20;16;1m 9 \u001b[0m\u001b[12;8H\u001b[?25h"]
+[2.64, "o", "\u001b[12;3H\u001b[0;38;2;89;103;92;48;2;13;20;16m 9 \u001b[13;3H\u001b[0;38;2;97;111;100;48;2;13;20;16;1m 10 \u001b[0m\u001b[13;8H\u001b[?25h"]
+[3.07, "o", "\u001b[13;8H\u001b[0;38;2;245;247;238;48;2;60;97;74m \u001b[0m\u001b[13;11H\u001b[?25h"]
+[3.29, "o", "\u001b[13;8H\u001b[0;38;2;229;238;229;48;2;13;20;16m \u001b[0;38;2;245;247;238;48;2;60;97;74mint \u001b[0m\u001b[13;15H\u001b[?25h"]
+[3.51, "o", "\u001b[13;12H\u001b[0;38;2;229;238;229;48;2;13;20;16mint\u001b[13;16H\u001b[0;38;2;245;247;238;48;2;60;97;74msum\u001b[0m\u001b[13;18H\u001b[?25h"]
+[4.3, "o", "\u001b[13;15H\u001b[0;38;2;229;238;229;48;2;13;20;16m \u001b[0m\u001b[13;18H\u001b[?25h"]
+[5.0, "o", "\u001b[3;1H\u001b[0;38;2;0;0;0;48;2;173;211;138m^\u001b[0;38;2;0;0;0;48;2;249;203;112;1m*\u001b[13;16H\u001b[0;38;2;229;238;229;48;2;13;20;16m = \u001b[0;38;2;248;192;130;48;2;13;20;16m0\u001b[0;38;2;229;238;229;48;2;13;20;16m;\u001b[13;22H\u001b[0;39;48;2;13;20;16m \u001b[0m\u001b[13;16H\u001b[?25h"]
+[5.3, "o", "\u001b[13;16H\u001b[0;38;2;229;238;229;48;2;13;20;16mt = \u001b[0;38;2;248;192;130;48;2;13;20;16m0\u001b[0;38;2;229;238;229;48;2;13;20;16m;\u001b[0m\u001b[13;17H\u001b[?25h"]
+[5.39, "o", "\u001b[13;17H\u001b[0;38;2;229;238;229;48;2;13;20;16mo = \u001b[0;38;2;248;192;130;48;2;13;20;16m0\u001b[0;38;2;229;238;229;48;2;13;20;16m;\u001b[0m\u001b[13;18H\u001b[?25h"]
+[5.48, "o", "\u001b[13;18H\u001b[0;38;2;229;238;229;48;2;13;20;16mt = \u001b[0;38;2;248;192;130;48;2;13;20;16m0\u001b[0;38;2;229;238;229;48;2;13;20;16m;\u001b[0m\u001b[13;19H\u001b[?25h"]
+[5.57, "o", "\u001b[13;19H\u001b[0;38;2;229;238;229;48;2;13;20;16ma = \u001b[0;38;2;248;192;130;48;2;13;20;16m0\u001b[0;38;2;229;238;229;48;2;13;20;16m;\u001b[0m\u001b[13;20H\u001b[?25h"]
+[5.66, "o", "\u001b[13;20H\u001b[0;38;2;229;238;229;48;2;13;20;16ml = \u001b[0;38;2;248;192;130;48;2;13;20;16m0\u001b[0;38;2;229;238;229;48;2;13;20;16m;\u001b[0m\u001b[13;21H\u001b[?25h"]
+[5.96, "o", "\u001b[3;1H\u001b[0;38;2;0;0;0;48;2;173;211;138m \u001b[0m\u001b[13;21H\u001b[?25h"]
+[6.56, "o", "\u001b[4;96H\u001b[0;39;48;2;29;40;36m \u001b[0;38;2;178;195;184;48;2;29;40;36mSPC\u001b[0;39;48;2;29;40;36m \u001b[0m\u001b[13;21H\u001b[?25h"]
+[6.78, "o", "\u001b[4;94H\u001b[0;39;48;2;29;40;36m \u001b[0;38;2;178;195;184;48;2;29;40;36mSPC f\u001b[0m\u001b[13;21H\u001b[?25h"]
+[7.0, "o", "\u001b[3;2H\u001b[0;38;2;0;0;0;48;2;173;211;138m \u001b[4;61H\u001b[0;39;48;2;29;40;36m \u001b[0;38;2;178;195;184;48;2;29;40;36m--:--:-- saved /tmp/cast/hello/main.c\u001b[0m\u001b[13;21H\u001b[?25h"]
+[8.1, "o", "\u001b[4;61H\u001b[0;39;48;2;13;20;16m \u001b[13;3H\u001b[0;38;2;89;103;92;48;2;13;20;16m 10 \u001b[0m\u001b[3;60H\u001b[?25h"]
+[8.4, "o", "\u001b[0m\u001b[3;61H\u001b[?25h"]
+[8.49, "o", "\u001b[3;61H\u001b[0;38;2;190;207;196;48;2;49;71;56mm\u001b[0m\u001b[3;62H\u001b[?25h"]
+[8.58, "o", "\u001b[3;62H\u001b[0;38;2;190;207;196;48;2;49;71;56ma\u001b[0m\u001b[3;63H\u001b[?25h"]
+[8.67, "o", "\u001b[3;63H\u001b[0;38;2;190;207;196;48;2;49;71;56mk\u001b[0m\u001b[3;64H\u001b[?25h"]
+[8.76, "o", "\u001b[3;64H\u001b[0;38;2;190;207;196;48;2;49;71;56me\u001b[0m\u001b[3;65H\u001b[?25h"]
+[9.46, "o", "\u001b[3;61H\u001b[0;38;2;245;247;238;48;2;91;126;90mmake \u001b[0m\u001b[3;65H\u001b[?25h"]
+[10.26, "o", "\u001b[3;61H\u001b[0;38;2;190;207;196;48;2;49;71;56mmake\u001b[0;39;48;2;49;71;56m \u001b[4;95H\u001b[0;39;48;2;29;40;36m \u001b[0;38;2;178;195;184;48;2;29;40;36mExec\u001b[0;39;48;2;29;40;36m \u001b[14;1H\u001b[0;39;48;2;21;32;25m \u001b[15;1H \u001b[16;1H \u001b[17;1H\u001b[0;38;2;255;255;255;48;2;73;102;86m \u001b[0;39;48;2;29;40;36m \u001b[0;38;2;178;195;184;48;2;29;40;36m/tmp/cast/hello (make) exit 2 Kill Save Collapse Del\u001b[0;39;48;2;29;40;36m \u001b[18;3H\u001b[0;38;2;229;238;229;48;2;13;20;16m%\u001b[18;5Hmake\u001b[19;3Hmain.c:\u001b[19;11HIn\u001b[19;14Hfunction\u001b[19;23H‘main’:\u001b[20;3Hmain.c:12:9:\u001b[20;16Herror:\u001b[20;23H‘sum’\u001b[20;29Hundeclared\u001b[20;40H(first\u001b[20;47Huse\u001b[20;51Hin\u001b[20;54Hthis\u001b[20;59Hfunction)\u001b[21;3Hmain.c:12:9:\u001b[21;16Hnote:\u001b[21;22Heach\u001b[21;27Hundeclared\u001b[21;38Hidentifier\u001b[21;49His\u001b[21;52Hreported\u001b[21;61Honly\u001b[21;66Honce\u001b[21;71Hfor\u001b[21;75Heach\u001b[21;80Hfunction\u001b[21;89Hit\u001b[21;92Happears\u001b[21;100Hi\u001b[22;3Hn\u001b[23;3Hmain.c:10:9:\u001b[23;16Hwarning:\u001b[23;25Hunused\u001b[23;32Hvariable\u001b[23;41H‘total’\u001b[24;3Hmake:\u001b[24;9H***\u001b[24;13H[Makefile:4:\u001b[24;26Hhello]\u001b[24;33HError\u001b[24;39H1\u001b[25;3Hexit\u001b[25;8H2\u001b[0m\u001b[3;65H\u001b[?25h"]
+[12.26, "o", "\u001b[3;1H\u001b[0;38;2;255;255;255;48;2;73;102;86m \u001b[0;39;48;2;29;40;36m \u001b[0;38;2;178;195;184;48;2;29;40;36m/tmp/cast/hello/\u001b[0;38;2;211;176;217;48;2;29;40;36mmain.c\u001b[0;38;2;178;195;184;48;2;29;40;36m Save Tty Collapse Del TreeContext make\u001b[0;39;48;2;29;40;36m \u001b[4;95H\u001b[0;39;48;2;13;20;16m \u001b[17;1H\u001b[0;38;2;0;0;0;48;2;173;211;138m \u001b[0;39;48;2;49;71;56m \u001b[0;38;2;190;207;196;48;2;49;71;56m/tmp/cast/hello (make) exit 2 Kill Save Collapse Del\u001b[0;39;48;2;49;71;56m \u001b[20;3H\u001b[0;38;2;245;247;238;48;2;107;120;88mmain.c:12:9:\u001b[0m\u001b[26;3H\u001b[?25h"]
+[13.06, "o", "\u001b[3;1H\u001b[0;38;2;0;0;0;48;2;173;211;138m \u001b[0;39;48;2;49;71;56m \u001b[0;38;2;190;207;196;48;2;49;71;56m/tmp/cast/hello/\u001b[0;38;2;223;188;229;48;2;49;71;56mmain.c\u001b[0;38;2;190;207;196;48;2;49;71;56m Save Tty Collapse Del TreeContext make\u001b[0;39;48;2;49;71;56m \u001b[4;1H\u001b[0;39;48;2;21;32;25m \u001b[4;6H\u001b[0;38;2;89;103;92;48;2;13;20;16m6\u001b[4;8H\u001b[0;38;2;229;238;229;48;2;13;20;16m}\u001b[0;39;48;2;13;20;16m \u001b[4;17H \u001b[5;1H\u001b[0;39;48;2;21;32;25m \u001b[5;6H\u001b[0;38;2;89;103;92;48;2;13;20;16m7\u001b[6;1H\u001b[0;39;48;2;21;32;25m \u001b[6;6H\u001b[0;38;2;89;103;92;48;2;13;20;16m8\u001b[6;8H\u001b[0;38;2;229;238;229;48;2;13;20;16mint main(void)\u001b[0;39;48;2;13;20;16m \u001b[6;30H \u001b[7;1H\u001b[0;39;48;2;21;32;25m \u001b[7;6H\u001b[0;38;2;89;103;92;48;2;13;20;16m9\u001b[8;5H10\u001b[8;12H\u001b[0;38;2;229;238;229;48;2;13;20;16mint total = \u001b[0;38;2;248;192;130;48;2;13;20;16m0\u001b[0;38;2;229;238;229;48;2;13;20;16m;\u001b[9;5H\u001b[0;38;2;89;103;92;48;2;13;20;16m11\u001b[9;8H\u001b[0;38;2;229;238;229;48;2;13;20;16m \u001b[9;12H\u001b[0;38;2;201;167;237;48;2;13;20;16mfor\u001b[9;16H\u001b[0;38;2;229;238;229;48;2;13;20;16m(int\u001b[9;21Hi\u001b[9;23H=\u001b[9;25H\u001b[0;38;2;248;192;130;48;2;13;20;16m1\u001b[0;38;2;229;238;229;48;2;13;20;16m;\u001b[9;28Hi\u001b[9;30H<=\u001b[9;33H\u001b[0;38;2;248;192;130;48;2;13;20;16m4\u001b[0;38;2;229;238;229;48;2;13;20;16m;\u001b[9;36Hi++)\u001b[10;3H\u001b[0;38;2;97;111;100;48;2;13;20;16;1m 12 \u001b[10;16H\u001b[0;38;2;229;238;229;48;2;13;20;16msum\u001b[10;20H+=\u001b[10;23Hsquare(i);\u001b[11;5H\u001b[0;38;2;89;103;92;48;2;13;20;16m13\u001b[11;8H\u001b[0;38;2;229;238;229;48;2;13;20;16m \u001b[11;12Hpr\u001b[11;16Htf(\u001b[0;38;2;184;216;138;48;2;13;20;16m\"squares:\u001b[11;29H%d\\n\"\u001b[0;38;2;229;238;229;48;2;13;20;16m,\u001b[11;36Hsum);\u001b[12;5H\u001b[0;38;2;89;103;92;48;2;13;20;16m14\u001b[12;8H\u001b[0;38;2;229;238;229;48;2;13;20;16m \u001b[12;12H\u001b[0;38;2;201;167;237;48;2;13;20;16mreturn\u001b[12;19H\u001b[0;38;2;248;192;130;48;2;13;20;16m0\u001b[0;38;2;229;238;229;48;2;13;20;16m;\u001b[13;6H\u001b[0;38;2;89;103;92;48;2;13;20;16m5\u001b[13;8H\u001b[0;38;2;229;238;229;48;2;13;20;16m}\u001b[13;12H\u001b[0;39;48;2;13;20;16m \u001b[13;16H \u001b[13;22H \u001b[13;24H \u001b[14;1H\u001b[0;39;48;2;96;130;105m \u001b[14;6H\u001b[0;38;2;89;103;92;48;2;13;20;16m6\u001b[14;12H\u001b[0;39;48;2;13;20;16m \u001b[14;16H \u001b[14;21H \u001b[14;23H \u001b[14;25H \u001b[14;28H \u001b[14;30H \u001b[14;33H \u001b[14;36H \u001b[15;1H\u001b[0;39;48;2;96;130;105m \u001b[15;5H\u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[15;16H\u001b[0;39;48;2;13;20;16m \u001b[15;20H \u001b[15;23H \u001b[16;1H\u001b[0;39;48;2;96;130;105m \u001b[16;5H\u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[16;12H\u001b[0;39;48;2;13;20;16m \u001b[16;29H \u001b[16;36H \u001b[17;1H\u001b[0;38;2;255;255;255;48;2;73;102;86m \u001b[0;39;48;2;29;40;36m \u001b[0;38;2;178;195;184;48;2;29;40;36m/tmp/cast/hello (make) exit 2 Kill Save Collapse Del\u001b[0;39;48;2;29;40;36m \u001b[20;3H\u001b[0;38;2;229;238;229;48;2;13;20;16mmain.c:12:9:\u001b[0m\u001b[10;16H\u001b[?25h"]
+[15.06, "o", "\u001b[10;16H\u001b[0;38;2;245;247;238;48;2;60;97;74msum\u001b[0m\u001b[10;18H\u001b[?25h"]
+[15.66, "o", "\u001b[3;1H\u001b[0;38;2;0;0;0;48;2;173;211;138m^\u001b[0;38;2;0;0;0;48;2;249;203;112;1m*\u001b[10;16H\u001b[0;38;2;229;238;229;48;2;13;20;16m +=\u001b[10;20Hsquare(i);\u001b[0;39;48;2;13;20;16m \u001b[0m\u001b[10;16H\u001b[?25h"]
+[15.96, "o", "\u001b[10;16H\u001b[0;38;2;229;238;229;48;2;13;20;16mt += square(i);\u001b[0m\u001b[10;17H\u001b[?25h"]
+[16.05, "o", "\u001b[10;17H\u001b[0;38;2;229;238;229;48;2;13;20;16mo += square(i);\u001b[0m\u001b[10;18H\u001b[?25h"]
+[16.14, "o", "\u001b[10;18H\u001b[0;38;2;229;238;229;48;2;13;20;16mt += square(i);\u001b[0m\u001b[10;19H\u001b[?25h"]
+[16.23, "o", "\u001b[10;19H\u001b[0;38;2;229;238;229;48;2;13;20;16ma += square(i);\u001b[0m\u001b[10;20H\u001b[?25h"]
+[16.32, "o", "\u001b[10;20H\u001b[0;38;2;229;238;229;48;2;13;20;16ml += square(i);\u001b[0m\u001b[10;21H\u001b[?25h"]
+[16.62, "o", "\u001b[3;1H\u001b[0;38;2;0;0;0;48;2;173;211;138m \u001b[0m\u001b[10;21H\u001b[?25h"]
+[18.62, "o", ""]
diff --git a/docs/site/casts/petscii.cast b/docs/site/casts/petscii.cast
new file mode 100644
index 00000000..5e5894e8
--- /dev/null
+++ b/docs/site/casts/petscii.cast
@@ -0,0 +1,62 @@
+{"version": 2, "width": 100, "height": 30, "title": "Images and PDFs in a plain terminal", "env": {"TERM": "xterm-256color", "SHELL": "/bin/sh"}}
+[0.0, "o", "\u001b[?25l\u001b[0m\u001b[2J\u001b[1;1H\u001b[0;38;2;178;195;184;48;2;29;40;36mNewcol Joincol Find Grep Help Changelog Tutor Dump Themes Config Debug Exit\u001b[0;39;48;2;29;40;36m \u001b[2;1H\u001b[0;38;2;255;255;255;48;2;136;116;85m \u001b[0;39;48;2;49;71;56m \u001b[0;38;2;190;207;196;48;2;49;71;56mNew Tty Find Grep Joincol Delcol\u001b[0;39;48;2;49;71;56m \u001b[3;1H\u001b[0;38;2;0;0;0;48;2;173;211;138m \u001b[0;39;48;2;49;71;56m \u001b[0;38;2;190;207;196;48;2;49;71;56mimg petscii:off palette:commodore ascii:on /tmp/cast/art/\u001b[0;38;2;223;188;229;48;2;49;71;56mmandelbrot.png\u001b[0;38;2;190;207;196;48;2;49;71;56m Tty Collapse Del\u001b[0;39;48;2;49;71;56m \u001b[4;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬝🬎\u001b[0;38;2;112;164;178;48;2;108;94;181m🬹█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;255;255;255;48;2;112;164;178m]\u001b[0;38;2;112;164;178;48;2;255;255;255m▀\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m█▛\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬺\u001b[0;38;2;108;94;181;48;2;112;164;178m🬎\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[5;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m█🬎\u001b[0;38;2;112;164;178;48;2;108;94;181m▄🬻\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;255;255;255;48;2;112;164;178m🬷\u001b[0;38;2;184;199;111;48;2;255;255;255m,\u001b[0;38;2;255;255;255;48;2;112;164;178m🬔\u001b[0;38;2;112;164;178;48;2;255;255;255m🬻\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬺\u001b[0;38;2;108;94;181;48;2;112;164;178m🬬\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[6;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m█🬎\u001b[0;38;2;112;164;178;48;2;108;94;181m🬹█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m🬝🬆▀\u001b[0;38;2;184;199;111;48;2;255;255;255m_\u001b[0;38;2;0;0;0;48;2;184;199;111m🬦🬹\u001b[0;38;2;255;255;255;48;2;184;199;111m🬸\u001b[0;38;2;112;164;178;48;2;255;255;255m🬎▀\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m█🬱\u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[7;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m█🬎\u001b[0;38;2;112;164;178;48;2;108;94;181m🬹█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;184;199;111m🬝\u001b[0;38;2;0;0;0;48;2;184;199;111m🬦\u001b[0;38;2;0;0;0;48;2;154;103;89m🬻\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;154;103;89m🬺\u001b[0;38;2;255;255;255;48;2;111;79;37m🬡\u001b[0;38;2;255;255;255;48;2;112;164;178m🬴\u001b[0;38;2;112;164;178;48;2;154;210;132m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬺\u001b[0;38;2;108;94;181;48;2;112;164;178m🬬\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[8;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬝\u001b[0;38;2;112;164;178;48;2;108;94;181m▄█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m🬝█🬝🬬\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;112;164;178m___█\u001b[0;38;2;0;0;0;48;2;184;199;111m🬉\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;111;79;37m█\u001b[0;38;2;0;0;0;48;2;184;199;111m🬄\u001b[0;38;2;255;255;255;48;2;112;164;178m🬲\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m🬝\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m█🬬\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬺\u001b[0;38;2;108;94;181;48;2;112;164;178m🬬\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[9;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m█🬆~\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m▌\u001b[0;38;2;184;199;111;48;2;255;255;255m╱\u001b[0;38;2;184;199;111;48;2;0;0;0m🬝🬝\u001b[0;38;2;112;164;178;48;2;255;255;255m🬂\u001b[0;38;2;255;255;255;48;2;112;164;178m🬋\u001b[0;38;2;0;0;0;48;2;184;199;111m🬦\u001b[0;38;2;255;255;255;48;2;0;0;0m▀\u001b[0;38;2;0;0;0;48;2;184;199;111m🬵\u001b[0;38;2;0;0;0;48;2;154;103;89m🬹\u001b[0;38;2;0;0;0;48;2;184;199;111m🬹\u001b[0;38;2;111;79;37;48;2;0;0;0m~\u001b[0;38;2;0;0;0;48;2;111;79;37m██\u001b[0;38;2;0;0;0;48;2;184;199;111m🬺🬹▄🬹\u001b[0;38;2;0;0;0;48;2;112;164;178m🬭\u001b[0;38;2;184;199;111;48;2;0;0;0m▜\u001b[0;38;2;255;255;255;48;2;112;164;178m🬲\u001b[0;38;2;112;164;178;48;2;255;255;255m█▛🬎\u001b[0;38;2;255;255;255;48;2;112;164;178m🬷🬲\u001b[0;38;2;112;164;178;48;2;255;255;255m🬬\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬺\u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[10;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m█🬆\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;255;255;255;48;2;184;199;111m🬴\u001b[0;38;2;0;0;0;48;2;184;199;111m🬫\u001b[0;38;2;0;0;0;48;2;67;57;0m█\u001b[0;38;2;0;0;0;48;2;184;199;111m▙🬻\u001b[0;38;2;0;0;0;48;2;68;68;68m█\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;104;55;43m🬺\u001b[0;38;2;0;0;0;48;2;154;103;89m▄\u001b[0;38;2;255;255;255;48;2;104;55;43m🬊\u001b[0;38;2;0;0;0;48;2;154;103;89m▄\u001b[0;38;2;0;0;0;48;2;184;199;111m🬹\u001b[0;38;2;184;199;111;48;2;0;0;0m🬨\u001b[0;38;2;255;255;255;48;2;112;164;178m▛\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬲\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[11;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m█🬆\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m▀\u001b[0;38;2;112;164;178;48;2;184;199;111m🬂\u001b[0;38;2;0;0;0;48;2;255;255;255m_\u001b[0;38;2;0;0;0;48;2;184;199;111m🬦🬹█\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;111;79;37m█\u001b[0;38;2;0;0;0;48;2;184;199;111m🬒\u001b[0;38;2;255;255;255;48;2;184;199;111m🬩\u001b[0;38;2;112;164;178;48;2;255;255;255m🬻\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬬\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[12;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m█🬆\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;255;255;255;48;2;112;164;178m`\u001b[0;38;2;112;164;178;48;2;255;255;255m🬨\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m█🬬\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m🬝\u001b[0;38;2;255;255;255;48;2;184;199;111m🬬\u001b[0;38;2;0;0;0;48;2;184;199;111m🬠\u001b[0;38;2;0;0;0;48;2;67;57;0m🬸\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;154;103;89m🬓\u001b[0;38;2;184;199;111;48;2;255;255;255m_\u001b[0;38;2;112;164;178;48;2;184;199;111m🬬\u001b[0;38;2;112;164;178;48;2;255;255;255m▀\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬲\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[13;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m▛\u001b[0;38;2;112;164;178;48;2;108;94;181m🬻\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m🬺\u001b[0;38;2;255;255;255;48;2;112;164;178m🬎🬹🬋\u001b[0;38;2;112;164;178;48;2;255;255;255m▀🬎\u001b[0;38;2;255;255;255;48;2;112;164;178m▟\u001b[0;38;2;255;255;255;48;2;184;199;111m@\u001b[0;38;2;112;164;178;48;2;184;199;111m▜\u001b[0;38;2;112;164;178;48;2;255;255;255m▀🬬\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;184;199;111m🬛\u001b[0;38;2;255;255;255;48;2;111;79;37m🬃\u001b[0;38;2;0;0;0;48;2;67;57;0m🬻\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;184;199;111m█\u001b[0;38;2;0;0;0;48;2;255;255;255m🬝\u001b[0;38;2;184;199;111;48;2;0;0;0m▟\u001b[0;38;2;112;164;178;48;2;255;255;255m▄\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[14;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[0;38;2;112;164;178;48;2;108;94;181m🬵\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;184;199;111m█\u001b[0;38;2;184;199;111;48;2;0;0;0m🬲\u001b[0;38;2;0;0;0;48;2;104;55;43m🬹\u001b[0;38;2;0;0;0;48;2;184;199;111m▄🬹🬻🬹🬹🬭\u001b[0;38;2;255;255;255;48;2;154;103;89m🬊\u001b[0;38;2;255;255;255;48;2;112;164;178m🬹🬻\u001b[0;38;2;0;0;0;48;2;184;199;111m🬞\u001b[0;38;2;0;0;0;48;2;111;79;37m█\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;184;199;111m▙\u001b[0;38;2;112;164;178;48;2;0;0;0m🬬\u001b[0;38;2;112;164;178;48;2;255;255;255m🬨\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;108;94;181;48;2;112;164;178m▜\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[15;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬷\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m🬎\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;255;255;255;48;2;112;164;178m▐\u001b[0;38;2;255;255;255;48;2;184;199;111m🬕\u001b[0;38;2;0;0;0;48;2;184;199;111m🬩\u001b[0;38;2;0;0;0;48;2;111;79;37m🬻\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;104;55;43m█\u001b[0;38;2;0;0;0;48;2;184;199;111m🬹\u001b[0;38;2;255;255;255;48;2;111;79;37m🬬\u001b[0;38;2;0;0;0;48;2;184;199;111m🬷\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;184;199;111m▌\u001b[0;38;2;255;255;255;48;2;112;164;178mf\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;108;94;181;48;2;112;164;178m▐\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[16;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m▛\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m██\u001b[0;38;2;255;255;255;48;2;112;164;178m🬷\u001b[0;38;2;255;255;255;48;2;184;199;111m▛\u001b[0;38;2;0;0;0;48;2;184;199;111m🬭\u001b[0;38;2;255;255;255;48;2;0;0;0m🬎\u001b[0;38;2;0;0;0;48;2;184;199;111m▐\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;184;199;111m▙\u001b[0;38;2;0;0;0;48;2;104;55;43m█\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;112;164;178m▛\u001b[0;38;2;255;255;255;48;2;112;164;178m`\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m▌\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[17;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;112;164;178;48;2;108;94;181m▐\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m██🬴\u001b[0;38;2;255;255;255;48;2;112;164;178m🬮\u001b[0;38;2;112;164;178;48;2;255;255;255m🬰🬴🬒🬰🬰🬰\u001b[0;38;2;255;255;255;48;2;184;199;111m🬴\u001b[0;38;2;255;255;255;48;2;112;164;178m█\u001b[0;38;2;255;255;255;48;2;184;199;111m🬐\u001b[0;38;2;0;0;0;48;2;184;199;111m🬫\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;104;55;43m🬻\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;67;57;0m🬴\u001b[0;38;2;0;0;0;48;2;112;164;178m🬐\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m▌\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[18;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬲\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;255;255;255;48;2;112;164;178m'\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;112;164;178m🬨\u001b[0;38;2;255;255;255;48;2;111;79;37m▙\u001b[0;38;2;0;0;0;48;2;184;199;111m🬂\u001b[0;38;2;255;255;255;48;2;0;0;0m🬹\u001b[0;38;2;0;0;0;48;2;184;199;111m▐\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;154;103;89m▛\u001b[0;38;2;0;0;0;48;2;104;55;43m█\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;112;164;178m🬹\u001b[0;38;2;112;164;178;48;2;0;0;0m🬬\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m▌\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[19;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[0;38;2;112;164;178;48;2;108;94;181m🬨\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m▄█\u001b[0;38;2;255;255;255;48;2;112;164;178m~🬨\u001b[0;38;2;255;255;255;48;2;184;199;111m▌\u001b[0;38;2;0;0;0;48;2;184;199;111m🬎\u001b[0;38;2;0;0;0;48;2;111;79;37m🬬\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;104;55;43m█\u001b[0;38;2;0;0;0;48;2;184;199;111m🬝\u001b[0;38;2;255;255;255;48;2;111;79;37m🬻\u001b[0;38;2;0;0;0;48;2;184;199;111m🬨\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;111;79;37mr\u001b[0;38;2;112;164;178;48;2;255;255;255m▐\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;108;94;181;48;2;112;164;178m▐\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[20;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[0;38;2;112;164;178;48;2;108;94;181m🬊\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m🬺🬺\u001b[0;38;2;184;199;111;48;2;255;255;255m╱\u001b[0;38;2;0;0;0;48;2;184;199;111m🬦\u001b[0;38;2;0;0;0;48;2;111;79;37m█\u001b[0;38;2;0;0;0;48;2;184;199;111m▀🬎🬬🬎🬬▀\u001b[0;38;2;255;255;255;48;2;104;55;43m🬵\u001b[0;38;2;255;255;255;48;2;184;199;111m🬻\u001b[0;38;2;255;255;255;48;2;112;164;178m🬬\u001b[0;38;2;0;0;0;48;2;184;199;111m🬁\u001b[0;38;2;0;0;0;48;2;111;79;37m█\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;184;199;111m▛\u001b[0;38;2;255;255;255;48;2;184;199;111m🬵\u001b[0;38;2;112;164;178;48;2;255;255;255m🬷\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬷\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[21;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m▙\u001b[0;38;2;112;164;178;48;2;108;94;181m🬬\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;112;164;178m🬹🬎\u001b[0;38;2;255;255;255;48;2;154;103;89m🬺\u001b[0;38;2;255;255;255;48;2;112;164;178mA\u001b[0;38;2;112;164;178;48;2;255;255;255m▄\u001b[0;38;2;255;255;255;48;2;112;164;178m▜\u001b[0;38;2;255;255;255;48;2;184;199;111m▄▟\u001b[0;38;2;255;255;255;48;2;112;164;178m🬎\u001b[0;38;2;112;164;178;48;2;255;255;255m🬻█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;184;199;111m▙\u001b[0;38;2;255;255;255;48;2;111;79;37m🬃\u001b[0;38;2;0;0;0;48;2;67;57;0m█\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;154;103;89m█\u001b[0;38;2;0;0;0;48;2;184;199;111m▙\u001b[0;38;2;112;164;178;48;2;0;0;0m▜\u001b[0;38;2;112;164;178;48;2;255;255;255m🬎\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[22;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[0;38;2;112;164;178;48;2;108;94;181m🬊█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m🬛🬷\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m🬺🬻\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;255;255;255;48;2;112;164;178m`\u001b[0;38;2;255;255;255;48;2;184;199;111m🬹\u001b[0;38;2;0;0;0;48;2;184;199;111m🬠\u001b[0;38;2;0;0;0;48;2;67;57;0m🬸\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;154;103;89m🬄\u001b[0;38;2;255;255;255;48;2;112;164;178mp\u001b[0;38;2;112;164;178;48;2;255;255;255m🬺\u001b[0;38;2;255;255;255;48;2;112;164;178m*\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬕\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[23;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬺\u001b[0;38;2;112;164;178;48;2;108;94;181m🬊█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m🬭\u001b[0;38;2;184;199;111;48;2;154;103;89m🬺\u001b[0;38;2;0;0;0;48;2;184;199;111m~\u001b[0;38;2;184;199;111;48;2;104;55;43m🬱\u001b[0;38;2;0;0;0;48;2;154;103;89m🬊\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;111;79;37m█\u001b[0;38;2;0;0;0;48;2;184;199;111m🬰\u001b[0;38;2;255;255;255;48;2;184;199;111m4\u001b[0;38;2;112;164;178;48;2;255;255;255m🬬\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬻\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[24;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬺\u001b[0;38;2;112;164;178;48;2;108;94;181m▀█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;255;255;255;48;2;184;199;111m🬴\u001b[0;38;2;0;0;0;48;2;154;103;89m🬦\u001b[0;38;2;0;0;0;48;2;104;55;43m🬻\u001b[0;38;2;0;0;0;48;2;184;199;111m🬝\u001b[0;38;2;0;0;0;48;2;67;57;0m🬬\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;111;79;37m▛\u001b[0;38;2;255;255;255;48;2;67;57;0m🬵\u001b[0;38;2;0;0;0;48;2;111;79;37m▜\u001b[0;38;2;184;199;111;48;2;0;0;0m_\u001b[0;38;2;255;255;255;48;2;154;103;89m🬉\u001b[0;38;2;255;255;255;48;2;112;164;178m🬲\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬕\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[25;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬺🬱\u001b[0;38;2;112;164;178;48;2;108;94;181m🬬\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m▌\u001b[0;38;2;255;255;255;48;2;184;199;111m▛\u001b[0;38;2;184;199;111;48;2;0;0;0m🬺\u001b[0;38;2;0;0;0;48;2;184;199;111m🬂\u001b[0;38;2;255;255;255;48;2;184;199;111m▟\u001b[0;38;2;255;255;255;48;2;154;103;89m🬺\u001b[0;38;2;0;0;0;48;2;154;103;89m▝\u001b[0;38;2;0;0;0;48;2;184;199;111m▀\u001b[0;38;2;0;0;0;48;2;154;103;89m🬊🬎\u001b[0;38;2;0;0;0;48;2;184;199;111m🬎\u001b[0;38;2;111;79;37;48;2;0;0;0m_\u001b[0;38;2;0;0;0;48;2;111;79;37m█\u001b[0;38;2;0;0;0;48;2;104;55;43m🬝\u001b[0;38;2;184;199;111;48;2;0;0;0m_\u001b[0;38;2;255;255;255;48;2;0;0;0m_\u001b[0;38;2;0;0;0;48;2;184;199;111m🬎🬎▀\u001b[0;38;2;184;199;111;48;2;0;0;0m▟\u001b[0;38;2;255;255;255;48;2;112;164;178m▌~?\u001b[0;38;2;112;164;178;48;2;255;255;255m🬹\u001b[0;38;2;255;255;255;48;2;112;164;178m🬨🬕\u001b[0;38;2;112;164;178;48;2;255;255;255m🬻\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬝\u001b[0;38;2;108;94;181;48;2;112;164;178m🬻\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[26;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m█🬹\u001b[0;38;2;112;164;178;48;2;108;94;181m🬎\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m🬺\u001b[0;38;2;255;255;255;48;2;112;164;178m~\u001b[0;38;2;112;164;178;48;2;255;255;255m🬹🬻\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m█🬹\u001b[0;38;2;255;255;255;48;2;112;164;178m~\u001b[0;38;2;112;164;178;48;2;255;255;255m🬹\u001b[0;38;2;255;255;255;48;2;112;164;178m█\u001b[0;38;2;0;0;0;48;2;184;199;111m🬦\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;154;103;89m🬺\u001b[0;38;2;0;0;0;48;2;184;199;111m🬓\u001b[0;38;2;255;255;255;48;2;112;164;178m🬕\"\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;112;164;178m\"\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;112;164;178m~\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;108;94;181;48;2;112;164;178m🬻\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[27;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m█🬹\u001b[0;38;2;112;164;178;48;2;108;94;181m🬬\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;184;199;111m🬛\u001b[0;38;2;0;0;0;48;2;154;103;89m🬉\u001b[0;38;2;0;0;0;48;2;67;57;0m🬬\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;104;55;43m🬝\u001b[0;38;2;184;199;111;48;2;0;0;0m🬷\u001b[0;38;2;255;255;255;48;2;184;199;111m🬫\u001b[0;38;2;112;164;178;48;2;154;210;132m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬝\u001b[0;38;2;108;94;181;48;2;112;164;178m🬻\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[28;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬺▄\u001b[0;38;2;112;164;178;48;2;108;94;181m🬎\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m🬺🬱\u001b[0;38;2;255;255;255;48;2;112;164;178m🬎\u001b[0;38;2;255;255;255;48;2;184;199;111m🬹\u001b[0;38;2;0;0;0;48;2;184;199;111m🬉\u001b[0;38;2;0;0;0;48;2;154;103;89m🬆\u001b[0;38;2;184;199;111;48;2;255;255;255m5\u001b[0;38;2;112;164;178;48;2;255;255;255m🬹▄\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬆\u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[29;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m█🬹\u001b[0;38;2;112;164;178;48;2;108;94;181m🬎🬬\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;112;164;178m🬨\u001b[0;38;2;184;199;111;48;2;255;255;255m[\u001b[0;38;2;255;255;255;48;2;112;164;178m🬣\u001b[0;38;2;112;164;178;48;2;255;255;255m🬬\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬝\u001b[0;38;2;108;94;181;48;2;112;164;178m🬻\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[30;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m█🬺▄\u001b[0;38;2;112;164;178;48;2;108;94;181m🬎█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;255;255;255;48;2;112;164;178mj▀\u001b[0;38;2;112;164;178;48;2;255;255;255m█🬺🬹\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬝\u001b[0;38;2;108;94;181;48;2;112;164;178m🬹█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[0m\u001b[30;101H\u001b[?25l"]
+[2.0, "o", "\u001b[4;11H\u001b[0;39;48;2;13;20;16m \u001b[4;96H\u001b[0;39;48;2;29;40;36m \u001b[0;38;2;178;195;184;48;2;29;40;36mSPC\u001b[0;39;48;2;29;40;36m \u001b[5;11H\u001b[0;39;48;2;13;20;16m \u001b[5;34H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬎▀\u001b[0;38;2;112;164;178;48;2;108;94;181m🬹\u001b[5;63H\u001b[0;38;2;112;164;178;48;2;255;255;255m🬲▀█\u001b[0;38;2;255;255;255;48;2;112;164;178m_,\u001b[5;79H\u001b[0;38;2;112;164;178;48;2;108;94;181m█🬱\u001b[0;38;2;108;94;181;48;2;112;164;178m🬬\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[5;91H\u001b[0;39;48;2;13;20;16m \u001b[6;11H \u001b[6;31H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m█🬎\u001b[0;38;2;112;164;178;48;2;108;94;181m▄🬻\u001b[6;60H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m🬄\u001b[0;38;2;184;199;111;48;2;255;255;255m[\u001b[0;38;2;112;164;178;48;2;255;255;255m🬩█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[6;81H\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;108;94;181;48;2;112;164;178m🬊█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[6;91H\u001b[0;39;48;2;13;20;16m \u001b[7;11H \u001b[7;28H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m█🬆\u001b[0;38;2;112;164;178;48;2;108;94;181m🬹█\u001b[7;60H\u001b[0;38;2;112;164;178;48;2;255;255;255m🬝▀\u001b[0;38;2;255;255;255;48;2;112;164;178m🬹\u001b[0;38;2;255;255;255;48;2;154;103;89m🬝\u001b[0;38;2;255;255;255;48;2;104;55;43m🬆\u001b[0;38;2;184;199;111;48;2;111;79;37m🬁\u001b[0;38;2;184;199;111;48;2;255;255;255m_\u001b[0;38;2;112;164;178;48;2;255;255;255m🬎▜\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[7;83H\u001b[0;38;2;112;164;178;48;2;108;94;181m🬺\u001b[0;38;2;108;94;181;48;2;112;164;178m🬬\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[7;91H\u001b[0;39;48;2;13;20;16m \u001b[8;11H \u001b[8;26H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m█🬎\u001b[0;38;2;112;164;178;48;2;108;94;181m🬹█\u001b[8;52H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[8;57H \u001b[0;38;2;255;255;255;48;2;112;164;178m🬷\u001b[0;38;2;184;199;111;48;2;154;103;89m🬄\u001b[0;38;2;0;0;0;48;2;111;79;37m🬻\u001b[8;66H\u001b[0;38;2;0;0;0;48;2;154;103;89m🬺\u001b[0;38;2;184;199;111;48;2;0;0;0m🬨\u001b[0;38;2;255;255;255;48;2;112;164;178m🬕\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[8;71H \u001b[8;76H \u001b[8;84H\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;108;94;181;48;2;112;164;178m▜\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[8;91H\u001b[0;39;48;2;13;20;16m \u001b[9;11H \u001b[9;23H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬝\u001b[0;38;2;112;164;178;48;2;108;94;181m🬹█\u001b[9;52H\u001b[0;38;2;112;164;178;48;2;255;255;255m🬝🬎🬎▜\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;255;255;255;48;2;112;164;178m,\u001b[0;38;2;112;164;178;48;2;184;199;111m🬬\u001b[0;38;2;112;164;178;48;2;255;255;255m🬬\u001b[0;38;2;255;255;255;48;2;112;164;178m▟\u001b[0;38;2;255;255;255;48;2;104;55;43m🬲\u001b[0;38;2;0;0;0;48;2;154;103;89m🬬\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;184;199;111m🬝\u001b[0;38;2;255;255;255;48;2;154;103;89m▟\u001b[0;38;2;255;255;255;48;2;112;164;178m🬲\u001b[0;38;2;184;199;111;48;2;112;164;178m_\u001b[0;38;2;255;255;255;48;2;112;164;178m__\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m▛🬬\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[9;85H\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;108;94;181;48;2;112;164;178m▜\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[9;91H\u001b[0;39;48;2;13;20;16m \u001b[10;11H \u001b[10;21H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m▛\u001b[0;38;2;112;164;178;48;2;108;94;181m🬻\u001b[10;52H\u001b[0;38;2;112;164;178;48;2;255;255;255m🬴\u001b[0;38;2;184;199;111;48;2;255;255;255m(\u001b[0;38;2;255;255;255;48;2;154;103;89m🬕\u001b[0;38;2;0;0;0;48;2;184;199;111m🬭🬏\u001b[0;38;2;255;255;255;48;2;184;199;111m▛\u001b[0;38;2;255;255;255;48;2;154;103;89m🬄\u001b[0;38;2;0;0;0;48;2;154;103;89m🬱\u001b[0;38;2;0;0;0;48;2;184;199;111m🬻🬻\u001b[0;38;2;0;0;0;48;2;104;55;43m🬹\u001b[0;38;2;104;55;43;48;2;0;0;0m7\u001b[0;38;2;0;0;0;48;2;67;57;0m█\u001b[0;38;2;0;0;0;48;2;104;55;43m█\u001b[0;38;2;0;0;0;48;2;111;79;37m🬹\u001b[0;38;2;154;103;89;48;2;0;0;0m~\u001b[0;38;2;0;0;0;48;2;184;199;111m🬺🬹🬵\u001b[0;38;2;184;199;111;48;2;0;0;0m🬨\u001b[0;38;2;255;255;255;48;2;112;164;178mL\u001b[0;38;2;112;164;178;48;2;255;255;255m🬬\u001b[0;38;2;112;164;178;48;2;184;199;111m▀\u001b[0;38;2;112;164;178;48;2;255;255;255m▀\u001b[0;38;2;184;199;111;48;2;255;255;255m_\u001b[0;38;2;112;164;178;48;2;255;255;255m▀\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[10;86H\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;108;94;181;48;2;112;164;178m▜\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[10;91H\u001b[0;39;48;2;13;20;16m \u001b[11;11H \u001b[11;19H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m█🬆\u001b[0;38;2;112;164;178;48;2;108;94;181m🬻\u001b[11;50H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;112;164;178m_🬷\u001b[0;38;2;0;0;0;48;2;184;199;111m🬁\u001b[0;38;2;0;0;0;48;2;104;55;43m▜🬺\u001b[0;38;2;0;0;0;48;2;111;79;37m🬻\u001b[11;72H\u001b[0;38;2;0;0;0;48;2;184;199;111m🬺▄\u001b[0;38;2;0;0;0;48;2;111;79;37m🬻\u001b[0;38;2;154;103;89;48;2;0;0;0m~\u001b[0;38;2;255;255;255;48;2;154;103;89m🬫\u001b[11;87H\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[11;91H\u001b[0;39;48;2;13;20;16m \u001b[12;11H \u001b[12;17H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m█🬆\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[12;35H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m██\u001b[12;41H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[12;49H \u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;184;199;111m🬕\u001b[0;38;2;0;0;0;48;2;255;255;255m▄\u001b[0;38;2;0;0;0;48;2;184;199;111m▄\u001b[0;38;2;67;57;0;48;2;0;0;0m`\u001b[12;74H\u001b[0;38;2;0;0;0;48;2;111;79;37m🬺\u001b[0;38;2;0;0;0;48;2;154;103;89m▖\u001b[0;38;2;112;164;178;48;2;184;199;111m🬎\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[12;88H\u001b[0;38;2;112;164;178;48;2;108;94;181m▌\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[12;91H\u001b[0;39;48;2;13;20;16m \u001b[13;11H \u001b[13;16H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬆\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[13;35H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;112;164;178m🬺\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m🬆▜\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[13;49H \u001b[0;38;2;112;164;178;48;2;184;199;111m▛\u001b[0;38;2;0;0;0;48;2;184;199;111m🬭\u001b[0;38;2;0;0;0;48;2;154;103;89m🬻\u001b[13;76H\u001b[0;38;2;184;199;111;48;2;111;79;37m🬉\u001b[0;38;2;112;164;178;48;2;0;0;0m🬎\u001b[0;38;2;184;199;111;48;2;255;255;255m_\u001b[0;38;2;112;164;178;48;2;255;255;255m🬬\u001b[13;88H\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[14;11H \u001b[14;14H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬝\u001b[0;38;2;112;164;178;48;2;108;94;181m▟\u001b[14;36H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m🬺\u001b[0;38;2;255;255;255;48;2;112;164;178m▜\u001b[0;38;2;255;255;255;48;2;154;103;89m🬆\u001b[0;38;2;255;255;255;48;2;0;0;0m🬎\u001b[0;38;2;255;255;255;48;2;112;164;178m🬚\u001b[0;38;2;0;0;0;48;2;255;255;255m_\u001b[0;38;2;0;0;0;48;2;184;199;111m🬭\u001b[0;38;2;111;79;37;48;2;255;255;255m_\u001b[0;38;2;255;255;255;48;2;184;199;111m🬆\u001b[0;38;2;112;164;178;48;2;255;255;255m▀🬬█🬎\u001b[0;38;2;255;255;255;48;2;154;103;89m🬒\u001b[0;38;2;0;0;0;48;2;154;103;89m▟\u001b[14;76H\u001b[0;38;2;0;0;0;48;2;184;199;111m█🬐\u001b[0;38;2;112;164;178;48;2;255;255;255m🬹█\u001b[14;89H\u001b[0;38;2;108;94;181;48;2;112;164;178m▜\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[15;11H \u001b[15;14H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m▛\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[15;32H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[15;35H \u001b[0;38;2;112;164;178;48;2;255;255;255m▛▀\u001b[0;38;2;255;255;255;48;2;184;199;111m🬎\u001b[0;38;2;0;0;0;48;2;184;199;111m🬷\u001b[0;38;2;0;0;0;48;2;104;55;43m█🬻\u001b[15;45H\u001b[0;38;2;0;0;0;48;2;67;57;0m🬺\u001b[0;38;2;0;0;0;48;2;111;79;37m🬹\u001b[0;38;2;255;255;255;48;2;104;55;43m🬂\u001b[0;38;2;255;255;255;48;2;154;103;89m▜\u001b[0;38;2;255;255;255;48;2;184;199;111m🬝\u001b[0;38;2;0;0;0;48;2;111;79;37m🬷\u001b[15;77H\u001b[0;38;2;0;0;0;48;2;184;199;111mM\u001b[0;38;2;112;164;178;48;2;255;255;255m🬹\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[15;89H\u001b[0;38;2;112;164;178;48;2;108;94;181m▌\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[16;11H \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬝\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[16;23H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[16;30H \u001b[0;38;2;255;255;255;48;2;112;164;178m*\u001b[0;38;2;112;164;178;48;2;255;255;255m🬊▀\u001b[0;38;2;255;255;255;48;2;112;164;178m▟\u001b[0;38;2;255;255;255;48;2;154;103;89m▛\u001b[0;38;2;0;0;0;48;2;104;55;43m🬷\u001b[16;48H\u001b[0;38;2;0;0;0;48;2;184;199;111m🬺\u001b[0;38;2;255;255;255;48;2;111;79;37mT\u001b[16;76H\u001b[0;38;2;0;0;0;48;2;104;55;43m▛\u001b[0;38;2;255;255;255;48;2;112;164;178m▞\u001b[16;89H\u001b[0;38;2;112;164;178;48;2;108;94;181m▌\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[17;11H \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;112;164;178;48;2;108;94;181m▐\u001b[17;20H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m███\u001b[0;38;2;255;255;255;48;2;112;164;178m_\u001b[0;38;2;112;164;178;48;2;255;255;255m🬬\u001b[0;38;2;255;255;255;48;2;112;164;178m__\u001b[0;38;2;112;164;178;48;2;255;255;255m🬆🬎\u001b[0;38;2;255;255;255;48;2;184;199;111m🬝\u001b[0;38;2;255;255;255;48;2;104;55;43m🬆\u001b[0;38;2;0;0;0;48;2;184;199;111m🬹🬹\u001b[0;38;2;0;0;0;48;2;255;255;255m▟\u001b[17;49H\u001b[0;38;2;104;55;43;48;2;0;0;0m]\u001b[17;74H\u001b[0;38;2;108;108;108;48;2;0;0;0m_\u001b[0;38;2;0;0;0;48;2;112;164;178m🬆\u001b[0;38;2;112;164;178;48;2;0;0;0m🬻\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[17;89H\u001b[0;38;2;112;164;178;48;2;108;94;181m▌\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[18;11H \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;112;164;178;48;2;108;94;181m▐\u001b[18;22H\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[18;24H\u001b[0;38;2;255;255;255;48;2;112;164;178m''\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;112;164;178m~\u001b[0;38;2;112;164;178;48;2;255;255;255m🬻\u001b[0;38;2;255;255;255;48;2;112;164;178m~~\u001b[0;38;2;112;164;178;48;2;255;255;255m🬱▄\u001b[0;38;2;255;255;255;48;2;184;199;111m🬺\u001b[0;38;2;255;255;255;48;2;111;79;37m🬱\u001b[0;38;2;184;199;111;48;2;0;0;0m_\u001b[0;38;2;0;0;0;48;2;184;199;111m🬎▜\u001b[18;48H\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;104;55;43m🬝\u001b[18;74H\u001b[0;38;2;0;0;0;48;2;111;79;37m🬺\u001b[0;38;2;0;0;0;48;2;112;164;178m▄\u001b[0;38;2;112;164;178;48;2;0;0;0m🬬\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[18;89H\u001b[0;38;2;112;164;178;48;2;108;94;181m▌\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[19;11H \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬺\u001b[19;32H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m🬄▄▄\u001b[0;38;2;255;255;255;48;2;112;164;178m▜\u001b[0;38;2;255;255;255;48;2;111;79;37m▙\u001b[0;38;2;0;0;0;48;2;104;55;43m▜\u001b[19;46H\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;111;79;37m🬝\u001b[0;38;2;184;199;111;48;2;104;55;43m▄\u001b[19;76H\u001b[0;38;2;0;0;0;48;2;108;108;108m▙\u001b[0;38;2;112;164;178;48;2;0;0;0m🬬\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[19;89H\u001b[0;38;2;112;164;178;48;2;108;94;181m▌\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[20;11H \u001b[20;14H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m▙\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[20;35H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m▙▄\u001b[0;38;2;255;255;255;48;2;111;79;37m🬹\u001b[0;38;2;0;0;0;48;2;184;199;111m🬨\u001b[0;38;2;0;0;0;48;2;104;55;43m██\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;67;57;0m🬝\u001b[0;38;2;111;79;37;48;2;0;0;0m_\u001b[0;38;2;0;0;0;48;2;184;199;111m🬆\u001b[0;38;2;255;255;255;48;2;111;79;37m🬻\u001b[0;38;2;255;255;255;48;2;184;199;111m🬺\u001b[0;38;2;0;0;0;48;2;111;79;37m🬨\u001b[20;77H\u001b[0;38;2;0;0;0;48;2;112;164;178m▖\u001b[0;38;2;112;164;178;48;2;184;199;111m▜\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[20;89H\u001b[0;38;2;112;164;178;48;2;108;94;181m▌\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[21;11H \u001b[21;16H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬺\u001b[0;38;2;112;164;178;48;2;108;94;181m🬬\u001b[21;35H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m🬝\u001b[0;38;2;255;255;255;48;2;112;164;178m🬸\u001b[0;38;2;184;199;111;48;2;0;0;0m▙\u001b[0;38;2;255;255;255;48;2;0;0;0m▄\u001b[0;38;2;255;255;255;48;2;184;199;111m▙\u001b[0;38;2;255;255;255;48;2;111;79;37m🬹\u001b[0;38;2;0;0;0;48;2;184;199;111m▀~\u001b[0;38;2;255;255;255;48;2;184;199;111m🬱\u001b[0;38;2;112;164;178;48;2;255;255;255m▄🬹\u001b[0;38;2;255;255;255;48;2;112;164;178m~\u001b[0;38;2;112;164;178;48;2;255;255;255m▄\u001b[0;38;2;184;199;111;48;2;111;79;37m🬲\u001b[0;38;2;0;0;0;48;2;154;103;89m🬬\u001b[21;77H\u001b[0;38;2;0;0;0;48;2;184;199;111m_\u001b[0;38;2;112;164;178;48;2;255;255;255m🬬\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[21;89H\u001b[0;38;2;108;94;181;48;2;112;164;178m🬷\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[22;11H \u001b[22;17H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m█🬱\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[22;35H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;112;164;178m🬝~\u001b[0;38;2;112;164;178;48;2;255;255;255m🬺\u001b[22;41H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m🬱🬷\u001b[22;49H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;184;199;111m🬲\u001b[0;38;2;0;0;0;48;2;184;199;111m🬂🬬\u001b[22;76H🬆\u001b[0;38;2;0;0;0;48;2;112;164;178m🬂\u001b[0;38;2;255;255;255;48;2;184;199;111m🬻\u001b[0;38;2;112;164;178;48;2;255;255;255m🬻\u001b[22;88H\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[22;91H\u001b[0;39;48;2;13;20;16m \u001b[23;11H \u001b[23;19H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬺\u001b[0;38;2;112;164;178;48;2;108;94;181m🬊█\u001b[23;35H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m██\u001b[23;50H█\u001b[0;38;2;255;255;255;48;2;184;199;111m▌\u001b[0;38;2;0;0;0;48;2;184;199;111m▀🬊\u001b[0;38;2;67;57;0;48;2;0;0;0m,\u001b[23;74H\u001b[0;38;2;0;0;0;48;2;111;79;37m🬝\u001b[0;38;2;0;0;0;48;2;184;199;111m▀\u001b[0;38;2;112;164;178;48;2;184;199;111m▄\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[23;88H\u001b[0;38;2;112;164;178;48;2;108;94;181m🬕\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[23;91H\u001b[0;39;48;2;13;20;16m \u001b[24;11H \u001b[24;21H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬺\u001b[0;38;2;112;164;178;48;2;108;94;181m🬊🬬\u001b[24;51H\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;112;164;178m~🬧\u001b[0;38;2;184;199;111;48;2;111;79;37m🬛\u001b[0;38;2;0;0;0;48;2;67;57;0m▟\u001b[0;38;2;0;0;0;48;2;104;55;43m🬝\u001b[24;72H\u001b[0;38;2;184;199;111;48;2;0;0;0m_\u001b[0;38;2;0;0;0;48;2;184;199;111m🬎\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;104;55;43m🬺\u001b[0;38;2;255;255;255;48;2;184;199;111m▐\u001b[0;38;2;255;255;255;48;2;112;164;178m_\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[24;87H\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;108;94;181;48;2;112;164;178m🬻\u001b[24;91H\u001b[0;39;48;2;13;20;16m \u001b[25;11H \u001b[25;23H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m█🬱\u001b[0;38;2;112;164;178;48;2;108;94;181m🬬\u001b[25;52H\u001b[0;38;2;112;164;178;48;2;255;255;255m🬴\u001b[0;38;2;255;255;255;48;2;112;164;178m🬻\u001b[0;38;2;255;255;255;48;2;154;103;89m🬲\u001b[0;38;2;0;0;0;48;2;184;199;111m▀▘\u001b[0;38;2;255;255;255;48;2;184;199;111m▙\u001b[0;38;2;0;0;0;48;2;184;199;111m🬊▛🬬\u001b[0;38;2;0;0;0;48;2;104;55;43m🬎\u001b[0;38;2;104;55;43;48;2;0;0;0m_\u001b[0;38;2;0;0;0;48;2;104;55;43m█\u001b[0;38;2;0;0;0;48;2;67;57;0m█\u001b[0;38;2;0;0;0;48;2;104;55;43m█\u001b[0;38;2;0;0;0;48;2;111;79;37m█\u001b[0;38;2;104;55;43;48;2;0;0;0m_\u001b[0;38;2;0;0;0;48;2;184;199;111m🬝🬝🬊🬄\u001b[0;38;2;255;255;255;48;2;112;164;178mr\u001b[25;74H\u001b[0;38;2;0;0;0;48;2;112;164;178m`\u001b[0;38;2;112;164;178;48;2;184;199;111m🬹\u001b[0;38;2;184;199;111;48;2;255;255;255m~\u001b[0;38;2;112;164;178;48;2;255;255;255m▟\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[25;86H\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;108;94;181;48;2;112;164;178m▟\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[25;91H\u001b[0;39;48;2;13;20;16m \u001b[26;11H \u001b[26;25H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m█🬹\u001b[0;38;2;112;164;178;48;2;108;94;181m🬎\u001b[26;52H\u001b[0;38;2;112;164;178;48;2;255;255;255m▙▟\u001b[26;55H🬷\u001b[26;57H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;184;199;111m🬺🬻\u001b[0;38;2;112;164;178;48;2;255;255;255m🬻{\u001b[0;38;2;255;255;255;48;2;0;0;0m▛\u001b[0;38;2;0;0;0;48;2;184;199;111m🬻\u001b[26;65H█🬹\u001b[0;38;2;255;255;255;48;2;154;103;89m▜\u001b[26;69H\u001b[0;38;2;184;199;111;48;2;112;164;178m~\u001b[0;38;2;255;255;255;48;2;112;164;178m~\u001b[0;38;2;112;164;178;48;2;184;199;111m🬻\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[26;76H\u001b[0;38;2;112;164;178;48;2;255;255;255m▙█\u001b[26;86H\u001b[0;38;2;108;94;181;48;2;112;164;178m🬵\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[26;91H\u001b[0;39;48;2;13;20;16m \u001b[27;11H \u001b[27;28H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬺▄\u001b[0;38;2;112;164;178;48;2;108;94;181m🬎\u001b[27;60H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;255;255;255;48;2;112;164;178m▜\u001b[0;38;2;0;0;0;48;2;184;199;111m🬠\u001b[0;38;2;0;0;0;48;2;111;79;37m█\u001b[27;66H🬝\u001b[0;38;2;184;199;111;48;2;104;55;43m🬷\u001b[0;38;2;255;255;255;48;2;112;164;178m🬲\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[27;84H\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;108;94;181;48;2;112;164;178m▟\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[27;91H\u001b[0;39;48;2;13;20;16m \u001b[28;11H \u001b[28;31H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬺\u001b[0;38;2;112;164;178;48;2;108;94;181m🬊🬬\u001b[28;61H\u001b[0;38;2;112;164;178;48;2;255;255;255m▄\u001b[0;38;2;255;255;255;48;2;184;199;111m🬻▙\u001b[0;38;2;255;255;255;48;2;104;55;43m🬓\u001b[0;38;2;0;0;0;48;2;111;79;37m🬄\u001b[0;38;2;154;103;89;48;2;255;255;255m~\u001b[0;38;2;112;164;178;48;2;255;255;255m▄▟\u001b[28;83H\u001b[0;38;2;112;164;178;48;2;108;94;181m🬝\u001b[0;38;2;108;94;181;48;2;112;164;178m🬻\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[28;91H\u001b[0;39;48;2;13;20;16m \u001b[29;11H \u001b[29;34H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m█🬹\u001b[0;38;2;112;164;178;48;2;108;94;181m🬎█\u001b[29;66H\u001b[0;38;2;255;255;255;48;2;112;164;178mF\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[29;81H\u001b[0;38;2;112;164;178;48;2;108;94;181m█🬆\u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[29;91H\u001b[0;39;48;2;13;20;16m \u001b[30;11H \u001b[30;37H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m█🬹\u001b[0;38;2;112;164;178;48;2;108;94;181m▀🬎\u001b[30;63H\u001b[0;38;2;112;164;178;48;2;255;255;255m▛🬪\u001b[30;66H🬹\u001b[0;38;2;255;255;255;48;2;112;164;178m\\\u001b[30;79H\u001b[0;38;2;112;164;178;48;2;108;94;181m█🬆\u001b[0;38;2;108;94;181;48;2;112;164;178m🬻\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[30;91H\u001b[0;39;48;2;13;20;16m \u001b[0m\u001b[30;92H\u001b[?25l"]
+[2.22, "o", "\u001b[4;94H\u001b[0;39;48;2;29;40;36m \u001b[0;38;2;178;195;184;48;2;29;40;36mSPC t\u001b[0m\u001b[4;100H\u001b[?25l"]
+[2.44, "o", "\u001b[3;17H\u001b[0;38;2;190;207;196;48;2;49;71;56mn palet\u001b[3;25He:com\u001b[3;31Hodore asci\u001b[3;42H:on /tmp/cast/art/\u001b[0;38;2;223;188;229;48;2;49;71;56mmandelbrot.png\u001b[0;38;2;190;207;196;48;2;49;71;56m Tty Col\u001b[3;83Hapse Del\u001b[0;39;48;2;49;71;56m \u001b[4;92H\u001b[0;39;48;2;29;40;36m \u001b[0;38;2;178;195;184;48;2;29;40;36mPetscii\u001b[0m\u001b[4;100H\u001b[?25l"]
+[3.94, "o", "\u001b[4;11H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬝🬎\u001b[0;38;2;112;164;178;48;2;108;94;181m🬹█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;255;255;255;48;2;112;164;178m]\u001b[0;38;2;112;164;178;48;2;255;255;255m▀\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m█▛\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬺\u001b[0;38;2;108;94;181;48;2;112;164;178m🬎\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[5;11H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[5;34H\u001b[0;38;2;108;94;181;48;2;112;164;178m█🬎\u001b[0;38;2;112;164;178;48;2;108;94;181m▄🬻\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[5;63H \u001b[0;38;2;255;255;255;48;2;112;164;178m🬷\u001b[0;38;2;184;199;111;48;2;255;255;255m,\u001b[0;38;2;255;255;255;48;2;112;164;178m🬔\u001b[0;38;2;112;164;178;48;2;255;255;255m🬻\u001b[5;79H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬺\u001b[0;38;2;108;94;181;48;2;112;164;178m🬬\u001b[5;91H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[6;11H \u001b[6;31H\u001b[0;38;2;108;94;181;48;2;112;164;178m█🬎\u001b[0;38;2;112;164;178;48;2;108;94;181m🬹█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[6;60H\u001b[0;38;2;112;164;178;48;2;255;255;255m🬝🬆▀\u001b[0;38;2;184;199;111;48;2;255;255;255m_\u001b[0;38;2;0;0;0;48;2;184;199;111m🬦🬹\u001b[0;38;2;255;255;255;48;2;184;199;111m🬸\u001b[0;38;2;112;164;178;48;2;255;255;255m🬎▀\u001b[6;81H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m█🬱\u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[6;91H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[7;11H \u001b[7;28H\u001b[0;38;2;108;94;181;48;2;112;164;178m█🬎\u001b[0;38;2;112;164;178;48;2;108;94;181m🬹█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[7;60H\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;184;199;111m🬝\u001b[0;38;2;0;0;0;48;2;184;199;111m🬦\u001b[0;38;2;0;0;0;48;2;154;103;89m🬻\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;154;103;89m🬺\u001b[0;38;2;255;255;255;48;2;111;79;37m🬡\u001b[0;38;2;255;255;255;48;2;112;164;178m🬴\u001b[0;38;2;112;164;178;48;2;154;210;132m█\u001b[7;83H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬺\u001b[0;38;2;108;94;181;48;2;112;164;178m🬬\u001b[7;91H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[8;11H \u001b[8;26H\u001b[0;38;2;108;94;181;48;2;112;164;178m🬝\u001b[0;38;2;112;164;178;48;2;108;94;181m▄█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[8;52H\u001b[0;38;2;112;164;178;48;2;255;255;255m🬝█🬝🬬\u001b[8;57H█\u001b[0;38;2;255;255;255;48;2;112;164;178m___█\u001b[0;38;2;0;0;0;48;2;184;199;111m🬉\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[8;66H\u001b[0;38;2;0;0;0;48;2;111;79;37m█\u001b[0;38;2;0;0;0;48;2;184;199;111m🬄\u001b[0;38;2;255;255;255;48;2;112;164;178m🬲\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[8;71H🬝\u001b[8;76H█🬬\u001b[8;84H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬺\u001b[0;38;2;108;94;181;48;2;112;164;178m🬬\u001b[8;91H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[9;11H \u001b[9;23H\u001b[0;38;2;108;94;181;48;2;112;164;178m█🬆~\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[9;52H\u001b[0;38;2;112;164;178;48;2;255;255;255m▌\u001b[0;38;2;184;199;111;48;2;255;255;255m╱\u001b[0;38;2;184;199;111;48;2;0;0;0m🬝🬝\u001b[0;38;2;112;164;178;48;2;255;255;255m🬂\u001b[0;38;2;255;255;255;48;2;112;164;178m🬋\u001b[0;38;2;0;0;0;48;2;184;199;111m🬦\u001b[0;38;2;255;255;255;48;2;0;0;0m▀\u001b[0;38;2;0;0;0;48;2;184;199;111m🬵\u001b[0;38;2;0;0;0;48;2;154;103;89m🬹\u001b[0;38;2;0;0;0;48;2;184;199;111m🬹\u001b[0;38;2;111;79;37;48;2;0;0;0m~\u001b[0;38;2;0;0;0;48;2;111;79;37m██\u001b[0;38;2;0;0;0;48;2;184;199;111m🬺🬹▄🬹\u001b[0;38;2;0;0;0;48;2;112;164;178m🬭\u001b[0;38;2;184;199;111;48;2;0;0;0m▜\u001b[0;38;2;255;255;255;48;2;112;164;178m🬲\u001b[0;38;2;112;164;178;48;2;255;255;255m█▛🬎\u001b[0;38;2;255;255;255;48;2;112;164;178m🬷🬲\u001b[0;38;2;112;164;178;48;2;255;255;255m🬬\u001b[9;85H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬺\u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[9;91H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[10;11H \u001b[10;21H\u001b[0;38;2;108;94;181;48;2;112;164;178m█🬆\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[10;52H \u001b[0;38;2;255;255;255;48;2;184;199;111m🬴\u001b[0;38;2;0;0;0;48;2;184;199;111m🬫\u001b[0;38;2;0;0;0;48;2;67;57;0m█\u001b[0;38;2;0;0;0;48;2;184;199;111m▙🬻\u001b[0;38;2;0;0;0;48;2;68;68;68m█\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;104;55;43m🬺\u001b[0;38;2;0;0;0;48;2;154;103;89m▄\u001b[0;38;2;255;255;255;48;2;104;55;43m🬊\u001b[0;38;2;0;0;0;48;2;154;103;89m▄\u001b[0;38;2;0;0;0;48;2;184;199;111m🬹\u001b[0;38;2;184;199;111;48;2;0;0;0m🬨\u001b[0;38;2;255;255;255;48;2;112;164;178m▛\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[10;86H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬲\u001b[10;91H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[11;11H \u001b[11;19H\u001b[0;38;2;108;94;181;48;2;112;164;178m█🬆\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[11;50H\u001b[0;38;2;112;164;178;48;2;255;255;255m▀\u001b[0;38;2;112;164;178;48;2;184;199;111m🬂\u001b[0;38;2;0;0;0;48;2;255;255;255m_\u001b[0;38;2;0;0;0;48;2;184;199;111m🬦🬹█\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[11;72H \u001b[0;38;2;0;0;0;48;2;111;79;37m█\u001b[0;38;2;0;0;0;48;2;184;199;111m🬒\u001b[0;38;2;255;255;255;48;2;184;199;111m🬩\u001b[11;87H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬬\u001b[11;91H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[12;11H \u001b[12;17H\u001b[0;38;2;108;94;181;48;2;112;164;178m█🬆\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[12;35H\u001b[0;38;2;255;255;255;48;2;112;164;178m`\u001b[0;38;2;112;164;178;48;2;255;255;255m🬨\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[12;41H\u001b[0;38;2;112;164;178;48;2;255;255;255m█🬬\u001b[12;49H🬝\u001b[0;38;2;255;255;255;48;2;184;199;111m🬬\u001b[0;38;2;0;0;0;48;2;184;199;111m🬠\u001b[0;38;2;0;0;0;48;2;67;57;0m🬸\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[12;74H \u001b[0;38;2;0;0;0;48;2;154;103;89m🬓\u001b[0;38;2;184;199;111;48;2;255;255;255m_\u001b[0;38;2;112;164;178;48;2;184;199;111m🬬\u001b[0;38;2;112;164;178;48;2;255;255;255m▀\u001b[12;88H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬲\u001b[12;91H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[13;11H \u001b[13;16H\u001b[0;38;2;108;94;181;48;2;112;164;178m▛\u001b[0;38;2;112;164;178;48;2;108;94;181m🬻\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[13;35H\u001b[0;38;2;112;164;178;48;2;255;255;255m🬺\u001b[0;38;2;255;255;255;48;2;112;164;178m🬎🬹🬋\u001b[0;38;2;112;164;178;48;2;255;255;255m▀🬎\u001b[0;38;2;255;255;255;48;2;112;164;178m▟\u001b[0;38;2;255;255;255;48;2;184;199;111m@\u001b[0;38;2;112;164;178;48;2;184;199;111m▜\u001b[0;38;2;112;164;178;48;2;255;255;255m▀🬬\u001b[13;49H\u001b[0;38;2;112;164;178;48;2;184;199;111m🬛\u001b[0;38;2;255;255;255;48;2;111;79;37m🬃\u001b[0;38;2;0;0;0;48;2;67;57;0m🬻\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[13;76H\u001b[0;38;2;0;0;0;48;2;184;199;111m█\u001b[0;38;2;0;0;0;48;2;255;255;255m🬝\u001b[0;38;2;184;199;111;48;2;0;0;0m▟\u001b[0;38;2;112;164;178;48;2;255;255;255m▄\u001b[13;88H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[14;11H \u001b[14;14H\u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[0;38;2;112;164;178;48;2;108;94;181m🬵\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[14;36H\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;184;199;111m█\u001b[0;38;2;184;199;111;48;2;0;0;0m🬲\u001b[0;38;2;0;0;0;48;2;104;55;43m🬹\u001b[0;38;2;0;0;0;48;2;184;199;111m▄🬹🬻🬹🬹🬭\u001b[0;38;2;255;255;255;48;2;154;103;89m🬊\u001b[0;38;2;255;255;255;48;2;112;164;178m🬹🬻\u001b[0;38;2;0;0;0;48;2;184;199;111m🬞\u001b[0;38;2;0;0;0;48;2;111;79;37m█\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[14;76H \u001b[0;38;2;0;0;0;48;2;184;199;111m▙\u001b[0;38;2;112;164;178;48;2;0;0;0m🬬\u001b[0;38;2;112;164;178;48;2;255;255;255m🬨\u001b[14;89H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;108;94;181;48;2;112;164;178m▜\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[15;11H \u001b[15;14H\u001b[0;38;2;112;164;178;48;2;108;94;181m🬷\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[15;32H\u001b[0;38;2;112;164;178;48;2;255;255;255m🬎\u001b[15;35H\u001b[0;38;2;255;255;255;48;2;112;164;178m▐\u001b[0;38;2;255;255;255;48;2;184;199;111m🬕\u001b[0;38;2;0;0;0;48;2;184;199;111m🬩\u001b[0;38;2;0;0;0;48;2;111;79;37m🬻\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[15;45H \u001b[0;38;2;0;0;0;48;2;104;55;43m█\u001b[0;38;2;0;0;0;48;2;184;199;111m🬹\u001b[0;38;2;255;255;255;48;2;111;79;37m🬬\u001b[0;38;2;0;0;0;48;2;184;199;111m🬷\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[15;77H\u001b[0;38;2;0;0;0;48;2;184;199;111m▌\u001b[0;38;2;255;255;255;48;2;112;164;178mf\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[15;89H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;108;94;181;48;2;112;164;178m▐\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[16;11H \u001b[0;38;2;108;94;181;48;2;112;164;178m▛\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[16;23H\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[16;30H██\u001b[0;38;2;255;255;255;48;2;112;164;178m🬷\u001b[0;38;2;255;255;255;48;2;184;199;111m▛\u001b[0;38;2;0;0;0;48;2;184;199;111m🬭\u001b[0;38;2;255;255;255;48;2;0;0;0m🬎\u001b[0;38;2;0;0;0;48;2;184;199;111m▐\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[16;48H\u001b[0;38;2;0;0;0;48;2;184;199;111m▙\u001b[0;38;2;0;0;0;48;2;104;55;43m█\u001b[16;76H\u001b[0;38;2;0;0;0;48;2;112;164;178m▛\u001b[0;38;2;255;255;255;48;2;112;164;178m`\u001b[16;89H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m▌\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[17;11H \u001b[0;38;2;112;164;178;48;2;108;94;181m▐\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[17;20H\u001b[0;38;2;112;164;178;48;2;255;255;255m██🬴\u001b[0;38;2;255;255;255;48;2;112;164;178m🬮\u001b[0;38;2;112;164;178;48;2;255;255;255m🬰🬴🬒🬰🬰🬰\u001b[0;38;2;255;255;255;48;2;184;199;111m🬴\u001b[0;38;2;255;255;255;48;2;112;164;178m█\u001b[0;38;2;255;255;255;48;2;184;199;111m🬐\u001b[0;38;2;0;0;0;48;2;184;199;111m🬫\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;104;55;43m🬻\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[17;49H \u001b[17;74H\u001b[0;38;2;0;0;0;48;2;67;57;0m🬴\u001b[0;38;2;0;0;0;48;2;112;164;178m🬐\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[17;89H \u001b[0;38;2;112;164;178;48;2;108;94;181m▌\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[18;11H \u001b[0;38;2;108;94;181;48;2;112;164;178m🬲\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[18;22H \u001b[18;24H \u001b[0;38;2;255;255;255;48;2;112;164;178m'\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;112;164;178m🬨\u001b[0;38;2;255;255;255;48;2;111;79;37m▙\u001b[0;38;2;0;0;0;48;2;184;199;111m🬂\u001b[0;38;2;255;255;255;48;2;0;0;0m🬹\u001b[0;38;2;0;0;0;48;2;184;199;111m▐\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[18;48H\u001b[0;38;2;0;0;0;48;2;154;103;89m▛\u001b[0;38;2;0;0;0;48;2;104;55;43m█\u001b[18;74H\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;112;164;178m🬹\u001b[0;38;2;112;164;178;48;2;0;0;0m🬬\u001b[18;89H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m▌\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[19;11H \u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[0;38;2;112;164;178;48;2;108;94;181m🬨\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[19;32H\u001b[0;38;2;112;164;178;48;2;255;255;255m▄█\u001b[0;38;2;255;255;255;48;2;112;164;178m~🬨\u001b[0;38;2;255;255;255;48;2;184;199;111m▌\u001b[0;38;2;0;0;0;48;2;184;199;111m🬎\u001b[0;38;2;0;0;0;48;2;111;79;37m🬬\u001b[19;46H\u001b[0;38;2;0;0;0;48;2;104;55;43m█\u001b[0;38;2;0;0;0;48;2;184;199;111m🬝\u001b[0;38;2;255;255;255;48;2;111;79;37m🬻\u001b[0;38;2;0;0;0;48;2;184;199;111m🬨\u001b[19;76H\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;111;79;37mr\u001b[0;38;2;112;164;178;48;2;255;255;255m▐\u001b[19;89H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;108;94;181;48;2;112;164;178m▐\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[20;11H \u001b[20;14H\u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[0;38;2;112;164;178;48;2;108;94;181m🬊\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[20;35H\u001b[0;38;2;112;164;178;48;2;255;255;255m🬺🬺\u001b[0;38;2;184;199;111;48;2;255;255;255m╱\u001b[0;38;2;0;0;0;48;2;184;199;111m🬦\u001b[0;38;2;0;0;0;48;2;111;79;37m█\u001b[0;38;2;0;0;0;48;2;184;199;111m▀🬎🬬🬎🬬▀\u001b[0;38;2;255;255;255;48;2;104;55;43m🬵\u001b[0;38;2;255;255;255;48;2;184;199;111m🬻\u001b[0;38;2;255;255;255;48;2;112;164;178m🬬\u001b[0;38;2;0;0;0;48;2;184;199;111m🬁\u001b[0;38;2;0;0;0;48;2;111;79;37m█\u001b[20;77H\u001b[0;38;2;0;0;0;48;2;184;199;111m▛\u001b[0;38;2;255;255;255;48;2;184;199;111m🬵\u001b[0;38;2;112;164;178;48;2;255;255;255m🬷\u001b[20;89H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬷\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[21;11H \u001b[21;16H\u001b[0;38;2;108;94;181;48;2;112;164;178m▙\u001b[0;38;2;112;164;178;48;2;108;94;181m🬬\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[21;35H\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;112;164;178m🬹🬎\u001b[0;38;2;255;255;255;48;2;154;103;89m🬺\u001b[0;38;2;255;255;255;48;2;112;164;178mA\u001b[0;38;2;112;164;178;48;2;255;255;255m▄\u001b[0;38;2;255;255;255;48;2;112;164;178m▜\u001b[0;38;2;255;255;255;48;2;184;199;111m▄▟\u001b[0;38;2;255;255;255;48;2;112;164;178m🬎\u001b[0;38;2;112;164;178;48;2;255;255;255m🬻█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;184;199;111m▙\u001b[0;38;2;255;255;255;48;2;111;79;37m🬃\u001b[0;38;2;0;0;0;48;2;67;57;0m█\u001b[21;77H\u001b[0;38;2;0;0;0;48;2;184;199;111m▙\u001b[0;38;2;112;164;178;48;2;0;0;0m▜\u001b[0;38;2;112;164;178;48;2;255;255;255m🬎\u001b[21;89H\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[22;11H \u001b[22;17H\u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[0;38;2;112;164;178;48;2;108;94;181m🬊█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[22;35H\u001b[0;38;2;112;164;178;48;2;255;255;255m🬛🬷\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[22;41H\u001b[0;38;2;112;164;178;48;2;255;255;255m🬺🬻\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[22;49H\u001b[0;38;2;255;255;255;48;2;112;164;178m`\u001b[0;38;2;255;255;255;48;2;184;199;111m🬹\u001b[0;38;2;0;0;0;48;2;184;199;111m🬠\u001b[0;38;2;0;0;0;48;2;67;57;0m🬸\u001b[22;76H\u001b[0;38;2;0;0;0;48;2;154;103;89m🬄\u001b[0;38;2;255;255;255;48;2;112;164;178mp\u001b[0;38;2;112;164;178;48;2;255;255;255m🬺\u001b[0;38;2;255;255;255;48;2;112;164;178m*\u001b[22;88H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬕\u001b[22;91H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[23;11H \u001b[23;19H\u001b[0;38;2;108;94;181;48;2;112;164;178m🬺\u001b[0;38;2;112;164;178;48;2;108;94;181m🬊█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[23;35H\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[23;50H\u001b[0;38;2;112;164;178;48;2;255;255;255m🬭\u001b[0;38;2;184;199;111;48;2;154;103;89m🬺\u001b[0;38;2;0;0;0;48;2;184;199;111m~\u001b[0;38;2;184;199;111;48;2;104;55;43m🬱\u001b[0;38;2;0;0;0;48;2;154;103;89m🬊\u001b[23;74H\u001b[0;38;2;0;0;0;48;2;111;79;37m█\u001b[0;38;2;0;0;0;48;2;184;199;111m🬰\u001b[0;38;2;255;255;255;48;2;184;199;111m4\u001b[0;38;2;112;164;178;48;2;255;255;255m🬬\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[23;88H \u001b[0;38;2;108;94;181;48;2;112;164;178m🬻\u001b[23;91H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[24;11H \u001b[24;21H\u001b[0;38;2;108;94;181;48;2;112;164;178m🬺\u001b[0;38;2;112;164;178;48;2;108;94;181m▀█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[24;51H \u001b[0;38;2;255;255;255;48;2;184;199;111m🬴\u001b[0;38;2;0;0;0;48;2;154;103;89m🬦\u001b[0;38;2;0;0;0;48;2;104;55;43m🬻\u001b[0;38;2;0;0;0;48;2;184;199;111m🬝\u001b[24;72H\u001b[0;38;2;0;0;0;48;2;111;79;37m▛\u001b[0;38;2;255;255;255;48;2;67;57;0m🬵\u001b[0;38;2;0;0;0;48;2;111;79;37m▜\u001b[0;38;2;184;199;111;48;2;0;0;0m_\u001b[0;38;2;255;255;255;48;2;154;103;89m🬉\u001b[0;38;2;255;255;255;48;2;112;164;178m🬲\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[24;87H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬕\u001b[24;91H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[25;11H \u001b[25;23H\u001b[0;38;2;108;94;181;48;2;112;164;178m🬺🬱\u001b[0;38;2;112;164;178;48;2;108;94;181m🬬\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[25;52H\u001b[0;38;2;112;164;178;48;2;255;255;255m▌\u001b[0;38;2;255;255;255;48;2;184;199;111m▛\u001b[0;38;2;184;199;111;48;2;0;0;0m🬺\u001b[0;38;2;0;0;0;48;2;184;199;111m🬂\u001b[0;38;2;255;255;255;48;2;184;199;111m▟\u001b[0;38;2;255;255;255;48;2;154;103;89m🬺\u001b[0;38;2;0;0;0;48;2;154;103;89m▝\u001b[0;38;2;0;0;0;48;2;184;199;111m▀\u001b[0;38;2;0;0;0;48;2;154;103;89m🬊🬎\u001b[0;38;2;0;0;0;48;2;184;199;111m🬎\u001b[0;38;2;111;79;37;48;2;0;0;0m_\u001b[0;38;2;0;0;0;48;2;111;79;37m█\u001b[0;38;2;0;0;0;48;2;104;55;43m🬝\u001b[0;38;2;184;199;111;48;2;0;0;0m_\u001b[0;38;2;255;255;255;48;2;0;0;0m_\u001b[0;38;2;0;0;0;48;2;184;199;111m🬎🬎▀\u001b[0;38;2;184;199;111;48;2;0;0;0m▟\u001b[0;38;2;255;255;255;48;2;112;164;178m▌\u001b[25;74H?\u001b[0;38;2;112;164;178;48;2;255;255;255m🬹\u001b[0;38;2;255;255;255;48;2;112;164;178m🬨🬕\u001b[0;38;2;112;164;178;48;2;255;255;255m🬻\u001b[25;86H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬝\u001b[0;38;2;108;94;181;48;2;112;164;178m🬻\u001b[25;91H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[26;11H \u001b[26;25H\u001b[0;38;2;108;94;181;48;2;112;164;178m█🬹\u001b[0;38;2;112;164;178;48;2;108;94;181m🬎\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[26;52H\u001b[0;38;2;112;164;178;48;2;255;255;255m🬺\u001b[0;38;2;255;255;255;48;2;112;164;178m~\u001b[26;55H\u001b[0;38;2;112;164;178;48;2;255;255;255m🬻\u001b[26;57H█🬹\u001b[0;38;2;255;255;255;48;2;112;164;178m~\u001b[0;38;2;112;164;178;48;2;255;255;255m🬹\u001b[0;38;2;255;255;255;48;2;112;164;178m█\u001b[0;38;2;0;0;0;48;2;184;199;111m🬦\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[26;65H \u001b[0;38;2;0;0;0;48;2;154;103;89m🬺\u001b[0;38;2;0;0;0;48;2;184;199;111m🬓\u001b[26;69H\u001b[0;38;2;255;255;255;48;2;112;164;178m\"\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;112;164;178m\"\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[26;76H█\u001b[0;38;2;255;255;255;48;2;112;164;178m~\u001b[26;86H\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;108;94;181;48;2;112;164;178m🬻\u001b[26;91H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[27;11H \u001b[27;28H\u001b[0;38;2;108;94;181;48;2;112;164;178m█🬹\u001b[0;38;2;112;164;178;48;2;108;94;181m🬬\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[27;60H\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;184;199;111m🬛\u001b[0;38;2;0;0;0;48;2;154;103;89m🬉\u001b[0;38;2;0;0;0;48;2;67;57;0m🬬\u001b[27;66H\u001b[0;38;2;0;0;0;48;2;104;55;43m🬝\u001b[0;38;2;184;199;111;48;2;0;0;0m🬷\u001b[0;38;2;255;255;255;48;2;184;199;111m🬫\u001b[0;38;2;112;164;178;48;2;154;210;132m█\u001b[27;84H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬝\u001b[0;38;2;108;94;181;48;2;112;164;178m🬻\u001b[27;91H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[28;11H \u001b[28;31H\u001b[0;38;2;108;94;181;48;2;112;164;178m🬺▄\u001b[0;38;2;112;164;178;48;2;108;94;181m🬎\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[28;61H\u001b[0;38;2;112;164;178;48;2;255;255;255m🬱\u001b[0;38;2;255;255;255;48;2;112;164;178m🬎\u001b[0;38;2;255;255;255;48;2;184;199;111m🬹\u001b[0;38;2;0;0;0;48;2;184;199;111m🬉\u001b[0;38;2;0;0;0;48;2;154;103;89m🬆\u001b[0;38;2;184;199;111;48;2;255;255;255m5\u001b[0;38;2;112;164;178;48;2;255;255;255m🬹▄\u001b[28;83H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬆\u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[28;91H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[29;11H \u001b[29;34H\u001b[0;38;2;108;94;181;48;2;112;164;178m█🬹\u001b[0;38;2;112;164;178;48;2;108;94;181m🬎🬬\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[29;66H\u001b[0;38;2;255;255;255;48;2;112;164;178m🬣\u001b[0;38;2;112;164;178;48;2;255;255;255m🬬\u001b[29;81H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬝\u001b[0;38;2;108;94;181;48;2;112;164;178m🬻\u001b[29;91H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[30;11H \u001b[30;37H\u001b[0;38;2;108;94;181;48;2;112;164;178m█🬺▄\u001b[0;38;2;112;164;178;48;2;108;94;181m🬎█\u001b[30;63H\u001b[0;38;2;255;255;255;48;2;112;164;178mj▀\u001b[30;66H\u001b[0;38;2;112;164;178;48;2;255;255;255m🬺🬹\u001b[30;79H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬝\u001b[0;38;2;108;94;181;48;2;112;164;178m🬹█\u001b[30;91H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0m\u001b[2;36H\u001b[?25h"]
+[4.24, "o", "\u001b[0m\u001b[2;37H\u001b[?25h"]
+[4.33, "o", "\u001b[2;37H\u001b[0;38;2;245;247;238;48;2;60;97;74ms\u001b[0m\u001b[2;38H\u001b[?25h"]
+[4.42, "o", "\u001b[2;38H\u001b[0;38;2;245;247;238;48;2;60;97;74me\u001b[0m\u001b[2;39H\u001b[?25h"]
+[4.51, "o", "\u001b[2;39H\u001b[0;38;2;245;247;238;48;2;60;97;74ma\u001b[0m\u001b[2;40H\u001b[?25h"]
+[4.6, "o", "\u001b[2;40H\u001b[0;38;2;245;247;238;48;2;60;97;74mh\u001b[0m\u001b[2;41H\u001b[?25h"]
+[4.69, "o", "\u001b[2;41H\u001b[0;38;2;245;247;238;48;2;60;97;74mo\u001b[0m\u001b[2;42H\u001b[?25h"]
+[4.78, "o", "\u001b[2;42H\u001b[0;38;2;245;247;238;48;2;60;97;74mr\u001b[0m\u001b[2;43H\u001b[?25h"]
+[4.87, "o", "\u001b[2;43H\u001b[0;38;2;245;247;238;48;2;60;97;74ms\u001b[0m\u001b[2;44H\u001b[?25h"]
+[4.96, "o", "\u001b[2;44H\u001b[0;38;2;245;247;238;48;2;60;97;74me\u001b[0m\u001b[2;45H\u001b[?25h"]
+[5.05, "o", "\u001b[2;45H\u001b[0;38;2;245;247;238;48;2;60;97;74m.\u001b[0m\u001b[2;46H\u001b[?25h"]
+[5.14, "o", "\u001b[2;46H\u001b[0;38;2;245;247;238;48;2;60;97;74mp\u001b[0m\u001b[2;47H\u001b[?25h"]
+[5.23, "o", "\u001b[2;47H\u001b[0;38;2;245;247;238;48;2;60;97;74mn\u001b[0m\u001b[2;48H\u001b[?25h"]
+[5.32, "o", "\u001b[2;48H\u001b[0;38;2;245;247;238;48;2;60;97;74mg\u001b[0m\u001b[2;49H\u001b[?25h"]
+[6.02, "o", "\u001b[2;37H\u001b[0;38;2;245;247;238;48;2;107;120;88mseahorse.png\u001b[0m\u001b[2;49H\u001b[?25h"]
+[6.52, "o", "\u001b[2;37H\u001b[0;38;2;190;207;196;48;2;49;71;56mseahorse.png\u001b[3;1H\u001b[0;38;2;255;255;255;48;2;73;102;86m \u001b[0;39;48;2;29;40;36m \u001b[0;38;2;178;195;184;48;2;29;40;36mimg petscii:on palette:commodore ascii:on /tmp/cast/art/\u001b[0;38;2;211;176;217;48;2;29;40;36mmandelbrot.png\u001b[0;38;2;178;195;184;48;2;29;40;36m Tty Collapse Del\u001b[0;39;48;2;29;40;36m \u001b[4;11H\u001b[0;39;48;2;13;20;16m \u001b[4;38H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m█🬎\u001b[0;38;2;112;164;178;48;2;108;94;181m🬹█\u001b[4;57H\u001b[0;38;2;112;164;178;48;2;255;255;255m🬕▜█\u001b[4;63H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬺\u001b[0;38;2;108;94;181;48;2;112;164;178m🬊\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[5;11H \u001b[5;34H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m█🬆\u001b[0;38;2;112;164;178;48;2;108;94;181m🬻█\u001b[5;55H\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;111;79;37m▛\u001b[0;38;2;0;0;0;48;2;184;199;111m▄\u001b[0;38;2;0;0;0;48;2;255;255;255m▙\u001b[0;38;2;255;255;255;48;2;112;164;178m┼\u001b[5;64H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m▙\u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[6;11H \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬝\u001b[0;38;2;112;164;178;48;2;108;94;181m🬹█\u001b[6;51H\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;112;164;178m🬚\u001b[0;38;2;0;0;0;48;2;112;164;178m_\u001b[0;38;2;112;164;178;48;2;184;199;111m🬥\u001b[0;38;2;112;164;178;48;2;0;0;0m🬎\u001b[0;38;2;0;0;0;48;2;112;164;178m▄\u001b[0;38;2;0;0;0;48;2;67;57;0m🬸\u001b[0;38;2;0;0;0;48;2;68;68;68m🬴\u001b[0;38;2;0;0;0;48;2;112;164;178m▄\u001b[0;38;2;112;164;178;48;2;0;0;0m🬎\u001b[0;38;2;112;164;178;48;2;184;199;111m🬨🬝\u001b[0;38;2;112;164;178;48;2;255;255;255m🬆🬬\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬺\u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[7;11H \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬎\u001b[0;38;2;112;164;178;48;2;108;94;181m🬻\u001b[7;50H\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;112;164;178;48;2;0;0;0m🬝\u001b[0;38;2;0;0;0;48;2;112;164;178m▗\u001b[0;38;2;0;0;0;48;2;184;199;111m█\u001b[0;38;2;0;0;0;48;2;67;57;0m█\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;67;57;0m🬺\u001b[0;38;2;0;0;0;48;2;154;103;89m🬻\u001b[0;38;2;0;0;0;48;2;184;199;111m▘\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬲\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[8;11H \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬝\u001b[0;38;2;112;164;178;48;2;108;94;181m🬻\u001b[8;44H\u001b[0;38;2;112;164;178;48;2;255;255;255m▞\u001b[0;38;2;0;0;0;48;2;112;164;178m_\u001b[0;38;2;112;164;178;48;2;255;255;255m🬥\u001b[0;38;2;112;164;178;48;2;154;103;89m🬬\u001b[0;38;2;112;164;178;48;2;255;255;255m🬙\u001b[0;38;2;255;255;255;48;2;112;164;178m_\u001b[0;38;2;112;164;178;48;2;184;199;111m🬕\u001b[0;38;2;0;0;0;48;2;184;199;111m🬻\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;111;79;37m🬺\u001b[0;38;2;112;164;178;48;2;0;0;0m🬸\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[0;39;48;2;13;20;16m \u001b[9;11H \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m▛\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[9;42H\u001b[0;38;2;112;164;178;48;2;255;255;255m🬎🬎\u001b[0;38;2;0;0;0;48;2;112;164;178m▗\u001b[0;38;2;0;0;0;48;2;111;79;37m🬻█\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;104;55;43m🬺\u001b[0;38;2;0;0;0;48;2;184;199;111m🬱\u001b[0;38;2;0;0;0;48;2;255;255;255m🬷\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;67;57;0m🬝\u001b[0;38;2;112;164;178;48;2;0;0;0m🬻\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;108;94;181;48;2;112;164;178m▜\u001b[0;39;48;2;13;20;16m \u001b[10;11H \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[10;36H\u001b[0;38;2;112;164;178;48;2;255;255;255m███\u001b[0;38;2;255;255;255;48;2;112;164;178m──\u001b[0;38;2;112;164;178;48;2;255;255;255m🬰\u001b[0;38;2;184;199;111;48;2;0;0;0m🬴\u001b[0;38;2;0;0;0;48;2;67;57;0mm\u001b[0;38;2;0;0;0;48;2;111;79;37m🬫\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;67;57;0;48;2;0;0;0m\"\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[10;62H\u001b[0;38;2;0;0;0;48;2;68;68;68m🬴\u001b[0;38;2;112;164;178;48;2;0;0;0m🬫\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;108;94;181;48;2;112;164;178m▐\u001b[0;39;48;2;13;20;16m \u001b[11;11H \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m▙\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[11;42H\u001b[0;38;2;112;164;178;48;2;255;255;255m🬹🬹\u001b[0;38;2;0;0;0;48;2;184;199;111m▝🬬\u001b[0;38;2;0;0;0;48;2;67;57;0m█\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[0;38;2;0;0;0;48;2;67;57;0m🬝\u001b[0;38;2;0;0;0;48;2;184;199;111m🬆\u001b[0;38;2;0;0;0;48;2;149;149;149m▐\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[11;63H\u001b[0;38;2;0;0;0;48;2;67;57;0m🬺\u001b[0;38;2;112;164;178;48;2;0;0;0m🬬\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬷\u001b[0;39;48;2;13;20;16m \u001b[12;11H \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬺\u001b[0;38;2;112;164;178;48;2;108;94;181m🬬\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[12;41H \u001b[0;38;2;112;164;178;48;2;255;255;255m█▚\u001b[0;38;2;255;255;255;48;2;112;164;178m─*\u001b[0;38;2;0;0;0;48;2;112;164;178m~\u001b[0;38;2;112;164;178;48;2;255;255;255m🬺\u001b[0;38;2;255;255;255;48;2;112;164;178m~\u001b[0;38;2;112;164;178;48;2;154;103;89m🬺\u001b[0;38;2;0;0;0;48;2;255;255;255m🬬\u001b[0;38;2;0;0;0;48;2;0;0;0m \u001b[12;63H\u001b[0;38;2;0;0;0;48;2;184;199;111m🬝\u001b[0;38;2;112;164;178;48;2;0;0;0m🬸\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[0;39;48;2;13;20;16m \u001b[13;11H \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m█🬹\u001b[0;38;2;112;164;178;48;2;108;94;181m🬬\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m██\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[13;49H \u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;112;164;178;48;2;0;0;0m🬺\u001b[0;38;2;0;0;0;48;2;112;164;178m🬂\u001b[0;38;2;0;0;0;48;2;184;199;111m█\u001b[0;38;2;0;0;0;48;2;67;57;0m█\u001b[13;61H🬝\u001b[0;38;2;0;0;0;48;2;184;199;111m🬬\u001b[0;38;2;0;0;0;48;2;112;164;178m▖\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬕\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[14;11H \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬺\u001b[0;38;2;112;164;178;48;2;108;94;181m🬎\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;112;164;178m🬌\u001b[0;38;2;0;0;0;48;2;112;164;178m~\u001b[0;38;2;255;255;255;48;2;112;164;178m\\\u001b[0;38;2;0;0;0;48;2;112;164;178m🬂▀\u001b[0;38;2;0;0;0;48;2;67;57;0m🬸\u001b[0;38;2;0;0;0;48;2;111;79;37m🬴\u001b[0;38;2;0;0;0;48;2;112;164;178m▀\u001b[0;38;2;112;164;178;48;2;0;0;0m🬹\u001b[0;38;2;112;164;178;48;2;184;199;111m🬸🬺\u001b[0;38;2;112;164;178;48;2;255;255;255m🬹🬻\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬝\u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[15;11H \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬺▄\u001b[0;38;2;112;164;178;48;2;108;94;181m🬎\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;184;199;111m🬲\u001b[0;38;2;0;0;0;48;2;184;199;111m▀▛\u001b[0;38;2;255;255;255;48;2;112;164;178m1\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m▛\u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[16;11H \u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;112;164;178m█🬹\u001b[0;38;2;112;164;178;48;2;108;94;181m🬎\u001b[0;38;2;108;94;181;48;2;112;164;178m_\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m🬲▟█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬝\u001b[0;38;2;108;94;181;48;2;112;164;178m🬹█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[17;1H\u001b[0;38;2;0;0;0;48;2;173;211;138m \u001b[0;39;48;2;49;71;56m \u001b[0;38;2;190;207;196;48;2;49;71;56mimg petscii:off palette:commodore ascii:on /tmp/cast/art/\u001b[0;38;2;223;188;229;48;2;49;71;56mseahorse.png\u001b[0;38;2;190;207;196;48;2;49;71;56m Tty Collapse Del\u001b[0;39;48;2;49;71;56m \u001b[18;11H\u001b[0;39;48;2;13;20;16m \u001b[0;38;2;108;94;181;48;2;112;164;178m▗\u001b[0;38;2;112;164;178;48;2;53;40;121m🬎\u001b[0;38;2;112;164;178;48;2;149;149;149m🬐\u001b[0;38;2;154;103;89;48;2;112;164;178m▝🬌\u001b[0;38;2;154;103;89;48;2;149;149;149mv\u001b[0;38;2;108;94;181;48;2;53;40;121m▛\u001b[0;38;2;53;40;121;48;2;149;149;149m🬹\u001b[0;38;2;53;40;121;48;2;112;164;178m🬹\u001b[0;38;2;53;40;121;48;2;108;94;181m🬱\u001b[0;38;2;53;40;121;48;2;149;149;149m🬭\u001b[0;38;2;53;40;121;48;2;112;164;178m▟\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m█🬹█\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m█🬹▄\u001b[0;38;2;108;94;181;48;2;53;40;121m🬬\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[19;11H \u001b[0;38;2;53;40;121;48;2;112;164;178m🬷\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m█\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;112;164;178m🬺▄\u001b[0;38;2;53;40;121;48;2;108;108;108m█\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;108;94;181;48;2;53;40;121m🬨\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[20;11H \u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m▌\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[21;11H \u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m█🬆\u001b[0;38;2;108;94;181;48;2;53;40;121m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[22;11H \u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m█🬆\u001b[0;38;2;108;94;181;48;2;149;149;149m🬬\u001b[0;38;2;108;94;181;48;2;53;40;121m🬹█\u001b[0;38;2;108;94;181;48;2;149;149;149m🬝\u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[23;11H \u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m█🬄\u001b[0;38;2;108;94;181;48;2;149;149;149m🬡▀\u001b[0;38;2;108;94;181;48;2;112;164;178m🬂\u001b[0;38;2;112;164;178;48;2;149;149;149m▌\u001b[0;38;2;112;164;178;48;2;154;103;89mT\u001b[0;38;2;154;103;89;48;2;112;164;178m🬱\u001b[0;38;2;112;164;178;48;2;149;149;149m🬎\u001b[0;38;2;149;149;149;48;2;108;94;181m🬎\u001b[0;38;2;112;164;178;48;2;154;103;89m🬊\u001b[0;38;2;255;255;255;48;2;108;94;181m_\u001b[0;38;2;184;199;111;48;2;108;94;181m,\u001b[0;38;2;108;94;181;48;2;112;164;178m🬊\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[24;11H \u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m█\u001b[0;38;2;149;149;149;48;2;154;103;89m▛\u001b[0;38;2;149;149;149;48;2;108;94;181my\u001b[0;38;2;154;103;89;48;2;112;164;178m▄\u001b[0;38;2;112;164;178;48;2;184;199;111m🬎\u001b[0;38;2;184;199;111;48;2;149;149;149m▗\u001b[0;38;2;154;103;89;48;2;184;199;111m🬬\u001b[0;38;2;184;199;111;48;2;108;94;181m🬎\u001b[0;38;2;255;255;255;48;2;184;199;111m🬭\u001b[0;38;2;255;255;255;48;2;154;103;89m_\u001b[0;38;2;184;199;111;48;2;112;164;178m🬊\u001b[0;38;2;184;199;111;48;2;255;255;255m🬬\u001b[0;38;2;108;108;108;48;2;154;103;89m▄\u001b[0;38;2;184;199;111;48;2;154;103;89m▌🬕\u001b[0;38;2;108;94;181;48;2;154;103;89m🬋\u001b[0;38;2;149;149;149;48;2;108;108;108m🬨\u001b[0;38;2;108;94;181;48;2;112;164;178m🬎\u001b[0;38;2;112;164;178;48;2;108;94;181m_\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[25;11H \u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;149;149;149m█▀\u001b[0;38;2;53;40;121;48;2;112;164;178m🬊\u001b[0;38;2;184;199;111;48;2;108;94;181m🬭\u001b[0;38;2;184;199;111;48;2;112;164;178m🬓\u001b[0;38;2;112;164;178;48;2;149;149;149m🬺\u001b[0;38;2;184;199;111;48;2;108;108;108m▄\u001b[0;38;2;184;199;111;48;2;154;103;89m🬔\u001b[0;38;2;184;199;111;48;2;108;108;108m🬡\u001b[0;38;2;255;255;255;48;2;149;149;149m🬇\u001b[0;38;2;255;255;255;48;2;112;164;178mm\u001b[0;38;2;184;199;111;48;2;112;164;178m`\u001b[0;38;2;112;164;178;48;2;255;255;255m▙\u001b[0;38;2;255;255;255;48;2;112;164;178m▀█\u001b[0;38;2;255;255;255;48;2;255;255;255m \u001b[0;38;2;149;149;149;48;2;255;255;255m~\u001b[0;38;2;255;255;255;48;2;154;103;89m█\u001b[0;38;2;255;255;255;48;2;108;108;108m🬱\u001b[0;38;2;184;199;111;48;2;154;103;89m🬔🬅\u001b[0;38;2;112;164;178;48;2;154;103;89m🬡\u001b[0;38;2;108;108;108;48;2;149;149;149mg\u001b[0;38;2;112;164;178;48;2;149;149;149m▟\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[26;11H \u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m🬝\u001b[0;38;2;184;199;111;48;2;108;94;181m~\u001b[0;38;2;154;103;89;48;2;149;149;149mc\u001b[0;38;2;108;94;181;48;2;154;103;89mM\u001b[0;38;2;184;199;111;48;2;154;103;89m▗🬎\u001b[0;38;2;255;255;255;48;2;154;103;89m🬋\u001b[0;38;2;154;103;89;48;2;112;164;178m~\u001b[0;38;2;112;164;178;48;2;255;255;255m██\u001b[26;52H█\u001b[0;38;2;149;149;149;48;2;255;255;255m_\u001b[0;38;2;255;255;255;48;2;112;164;178m🬎\u001b[0;38;2;255;255;255;48;2;149;149;149m🬬\u001b[0;38;2;255;255;255;48;2;255;255;255m \u001b[0;38;2;255;255;255;48;2;149;149;149m🬲\u001b[0;38;2;184;199;111;48;2;154;103;89m🬖─\u001b[0;38;2;154;103;89;48;2;149;149;149m🬀\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;108;94;181;48;2;112;164;178m🬬\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[27;11H \u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;112;164;178m█\u001b[0;38;2;149;149;149;48;2;53;40;121m_\u001b[0;38;2;53;40;121;48;2;112;164;178m🬎\u001b[0;38;2;108;94;181;48;2;53;40;121m_\u001b[0;38;2;53;40;121;48;2;112;164;178m🬄\u001b[0;38;2;112;164;178;48;2;149;149;149m🬀🬎▙\u001b[0;38;2;154;103;89;48;2;184;199;111m_\u001b[0;38;2;184;199;111;48;2;154;103;89m🬛\u001b[0;38;2;154;103;89;48;2;149;149;149m▘\u001b[0;38;2;112;164;178;48;2;154;103;89m▙\u001b[0;38;2;112;164;178;48;2;184;199;111m🬻\u001b[27;51H\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;112;164;178;48;2;154;103;89m🬆\u001b[0;38;2;184;199;111;48;2;154;103;89m▗\u001b[0;38;2;154;103;89;48;2;184;199;111m~\u001b[0;38;2;154;103;89;48;2;149;149;149m🬛\u001b[0;38;2;255;255;255;48;2;184;199;111m█\u001b[0;38;2;255;255;255;48;2;255;255;255m \u001b[0;38;2;255;255;255;48;2;149;149;149m🬴\u001b[0;38;2;184;199;111;48;2;108;108;108m🬮\u001b[0;38;2;184;199;111;48;2;154;103;89m🬏\u001b[0;38;2;154;103;89;48;2;108;94;181m🬯\u001b[0;38;2;112;164;178;48;2;149;149;149m🬭🬸\u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[28;11H \u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;112;164;178m█\u001b[0;38;2;112;164;178;48;2;53;40;121m🬬\u001b[0;38;2;154;103;89;48;2;149;149;149m🬖\u001b[0;38;2;108;94;181;48;2;154;103;89m▀\u001b[0;38;2;108;94;181;48;2;149;149;149m🬦\u001b[0;38;2;184;199;111;48;2;154;103;89m~🬩\u001b[0;38;2;255;255;255;48;2;184;199;111m.🬇\u001b[0;38;2;154;103;89;48;2;112;164;178m_\u001b[0;38;2;112;164;178;48;2;104;55;43m█\u001b[28;51H\u001b[0;38;2;112;164;178;48;2;184;199;111m█\u001b[0;38;2;154;103;89;48;2;149;149;149m🬅\u001b[0;38;2;184;199;111;48;2;154;103;89m🬉🬬\u001b[0;38;2;255;255;255;48;2;184;199;111m🬬\u001b[0;38;2;255;255;255;48;2;108;94;181m🬝\u001b[0;38;2;255;255;255;48;2;184;199;111m🬆\u001b[0;38;2;154;103;89;48;2;255;255;255m🬻\u001b[0;38;2;154;103;89;48;2;108;94;181m🬝\u001b[0;38;2;184;199;111;48;2;108;108;108m🬉\u001b[0;38;2;112;164;178;48;2;149;149;149m▄\u001b[0;38;2;112;164;178;48;2;184;199;111m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[29;11H \u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;149;149;149m🬝\u001b[0;38;2;108;94;181;48;2;184;199;111m🬌\u001b[0;38;2;112;164;178;48;2;149;149;149m🬱\u001b[0;38;2;154;103;89;48;2;112;164;178m🬩\u001b[0;38;2;154;103;89;48;2;184;199;111m🬎\u001b[0;38;2;184;199;111;48;2;154;103;89m🬱\u001b[0;38;2;154;103;89;48;2;149;149;149m🬬\u001b[0;38;2;112;164;178;48;2;108;108;108mf\u001b[0;38;2;112;164;178;48;2;154;103;89m🬲\u001b[0;38;2;112;164;178;48;2;184;199;111m▟\u001b[29;52H\u001b[0;38;2;112;164;178;48;2;149;149;149m🬲\u001b[0;38;2;112;164;178;48;2;108;108;108m🬹\u001b[0;38;2;154;103;89;48;2;149;149;149m🬊\u001b[0;38;2;154;103;89;48;2;112;164;178m🬜\u001b[0;38;2;154;103;89;48;2;184;199;111m🬩\u001b[0;38;2;154;103;89;48;2;108;94;181m🬤\u001b[0;38;2;154;103;89;48;2;255;255;255m🬕\u001b[0;38;2;112;164;178;48;2;154;103;89m▄\u001b[0;38;2;112;164;178;48;2;149;149;149m▄▄\u001b[0;38;2;112;164;178;48;2;154;103;89m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[30;11H \u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m█\u001b[0;38;2;149;149;149;48;2;108;94;181m🬩\u001b[0;38;2;184;199;111;48;2;149;149;149m[\u001b[0;38;2;112;164;178;48;2;184;199;111m█\u001b[0;38;2;112;164;178;48;2;149;149;149m█▙\u001b[0;38;2;255;255;255;48;2;149;149;149m'\u001b[0;38;2;184;199;111;48;2;154;103;89m🬎\u001b[0;38;2;154;103;89;48;2;184;199;111m🬜\u001b[0;38;2;112;164;178;48;2;184;199;111m🬻\u001b[30;54H█\u001b[0;38;2;112;164;178;48;2;154;103;89m🬻\u001b[0;38;2;184;199;111;48;2;112;164;178m~\u001b[0;38;2;154;103;89;48;2;112;164;178m~\u001b[0;38;2;112;164;178;48;2;154;103;89m▟\u001b[30;63H\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;108;94;181;48;2;112;164;178m▐\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[0m\u001b[2;49H\u001b[?25h"]
+[7.52, "o", "\u001b[3;88H\u001b[0;38;2;245;247;238;48;2;91;126;90mDel \u001b[0m\u001b[2;49H\u001b[?25h"]
+[7.92, "o", "\u001b[3;1H\u001b[0;38;2;0;0;0;48;2;173;211;138m \u001b[0;39;48;2;49;71;56m \u001b[0;38;2;190;207;196;48;2;49;71;56mimg petscii:off palette:commodore ascii:on /tmp/cast/art/\u001b[0;38;2;223;188;229;48;2;49;71;56mseahorse.png\u001b[0;38;2;190;207;196;48;2;49;71;56m Tty Collapse Del\u001b[0;39;48;2;49;71;56m \u001b[4;11H\u001b[0;38;2;112;164;178;48;2;108;94;181m🬎\u001b[0;38;2;112;164;178;48;2;255;255;255m🬕\u001b[0;38;2;184;199;111;48;2;112;164;178me\u001b[0;38;2;255;255;255;48;2;112;164;178m_.\u001b[0;38;2;184;199;111;48;2;104;55;43m🬺\u001b[0;38;2;104;55;43;48;2;184;199;111m\"\u001b[0;38;2;112;164;178;48;2;184;199;111m~\u001b[0;38;2;154;103;89;48;2;53;40;121m▛\u001b[0;38;2;112;164;178;48;2;108;94;181m🬖\u001b[0;38;2;104;55;43;48;2;108;94;181m🬭\u001b[0;38;2;53;40;121;48;2;154;103;89m,\u001b[0;38;2;108;94;181;48;2;112;164;178m▐🬺\u001b[0;38;2;108;94;181;48;2;184;199;111m🬹▄\u001b[0;38;2;112;164;178;48;2;154;103;89m▟\u001b[0;38;2;108;94;181;48;2;112;164;178m▗\u001b[0;38;2;104;55;43;48;2;108;94;181m]\u001b[0;38;2;184;199;111;48;2;108;94;181m'\u001b[0;38;2;111;79;37;48;2;112;164;178m~\u001b[0;38;2;112;164;178;48;2;154;103;89m🬯\u001b[0;38;2;184;199;111;48;2;154;103;89m▄\u001b[0;38;2;108;94;181;48;2;112;164;178m▐\u001b[0;38;2;53;40;121;48;2;108;94;181m🬵█\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m🬺▄\u001b[0;38;2;112;164;178;48;2;108;94;181m~\u001b[0;38;2;53;40;121;48;2;108;94;181m🬹\u001b[0;38;2;108;94;181;48;2;53;40;121m~\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m█🬹▄\u001b[0;38;2;108;94;181;48;2;53;40;121m🬎\u001b[0;38;2;53;40;121;48;2;108;94;181m_\u001b[0;38;2;108;94;181;48;2;53;40;121m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[4;71H \u001b[5;11H\u001b[0;38;2;108;94;181;48;2;255;255;255m▜\u001b[0;38;2;108;94;181;48;2;112;164;178m🬺\u001b[0;38;2;255;255;255;48;2;108;94;181m'\u001b[0;38;2;53;40;121;48;2;112;164;178m🬭\u001b[0;38;2;53;40;121;48;2;154;103;89m🬭\u001b[0;38;2;154;103;89;48;2;112;164;178m@\u001b[0;38;2;112;164;178;48;2;53;40;121m🬎\u001b[0;38;2;53;40;121;48;2;112;164;178m_\u001b[0;38;2;184;199;111;48;2;108;94;181m🬌\u001b[0;38;2;108;94;181;48;2;154;103;89m🬮\u001b[0;38;2;154;103;89;48;2;112;164;178m]\u001b[0;38;2;154;103;89;48;2;184;199;111m*\u001b[0;38;2;184;199;111;48;2;108;94;181m🬲\u001b[0;38;2;53;40;121;48;2;108;94;181m🬷\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m█\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m█y\u001b[0;38;2;108;94;181;48;2;154;103;89m🬹\u001b[0;38;2;53;40;121;48;2;112;164;178m🬵\u001b[0;38;2;53;40;121;48;2;108;94;181m🬹\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m█🬹\u001b[0;38;2;108;94;181;48;2;53;40;121m🬬\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[5;71H \u001b[6;11H\u001b[0;38;2;149;149;149;48;2;112;164;178my\u001b[0;38;2;53;40;121;48;2;108;94;181m🬫\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m█\u001b[0;38;2;53;40;121;48;2;112;164;178m🬻\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m█\u001b[0;38;2;53;40;121;48;2;112;164;178m🬱\u001b[0;38;2;184;199;111;48;2;108;94;181m▀\u001b[0;38;2;112;164;178;48;2;53;40;121m🬝\u001b[0;38;2;53;40;121;48;2;149;149;149m▄\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m▙\u001b[0;38;2;108;94;181;48;2;53;40;121m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[6;71H \u001b[7;11H\u001b[0;38;2;53;40;121;48;2;112;164;178m🬯\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;112;164;178m🬺\u001b[0;38;2;53;40;121;48;2;108;94;181m█\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m▙\u001b[0;38;2;108;94;181;48;2;53;40;121m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[7;71H \u001b[8;11H\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;108;94;181;48;2;53;40;121m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[9;11H\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m🬝\u001b[0;38;2;108;94;181;48;2;53;40;121m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[10;11H\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m🬝\u001b[0;38;2;108;94;181;48;2;53;40;121m🬻\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[11;11H\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m█🬆\u001b[0;38;2;108;94;181;48;2;53;40;121m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[12;11H\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m🬝🬎\u001b[0;38;2;108;94;181;48;2;53;40;121m🬹█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[13;11H\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m🬝▀\u001b[0;38;2;112;164;178;48;2;108;94;181m_\u001b[0;38;2;53;40;121;48;2;108;94;181m~\u001b[0;38;2;108;94;181;48;2;53;40;121m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;38;2;108;94;181;48;2;53;40;121m█\u001b[0;38;2;108;94;181;48;2;149;149;149m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[13;71H \u001b[14;11H\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m🬝🬆\u001b[0;38;2;53;40;121;48;2;112;164;178m🬎\u001b[0;38;2;53;40;121;48;2;108;94;181m▀🬎▀\u001b[0;38;2;108;94;181;48;2;53;40;121m🬹█\u001b[0;38;2;108;94;181;48;2;184;199;111m🬆\u001b[0;38;2;104;55;43;48;2;112;164;178m.\u001b[0;38;2;154;103;89;48;2;112;164;178m_\u001b[0;38;2;108;94;181;48;2;112;164;178m🬎🬬🬝\u001b[0;38;2;108;94;181;48;2;53;40;121m█\u001b[0;38;2;108;94;181;48;2;184;199;111m🬝\u001b[0;38;2;108;94;181;48;2;154;103;89mM\u001b[0;38;2;184;199;111;48;2;108;94;181m🬪\u001b[0;38;2;108;94;181;48;2;112;164;178m▐\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[14;71H \u001b[15;11H\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m█\u001b[0;38;2;108;94;181;48;2;112;164;178m🬕\u001b[0;38;2;154;103;89;48;2;184;199;111m🬯\u001b[0;38;2;112;164;178;48;2;184;199;111m🬵\u001b[0;38;2;108;94;181;48;2;154;103;89m▀\u001b[0;38;2;108;94;181;48;2;184;199;111m▀\u001b[0;38;2;112;164;178;48;2;154;103;89m🬆\u001b[0;38;2;108;94;181;48;2;184;199;111m🬂\u001b[0;38;2;108;94;181;48;2;112;164;178m🬂\u001b[0;38;2;184;199;111;48;2;112;164;178m]\u001b[0;38;2;53;40;121;48;2;112;164;178m🬑\u001b[0;38;2;108;94;181;48;2;112;164;178mC\u001b[0;38;2;184;199;111;48;2;104;55;43m🬑\u001b[0;38;2;184;199;111;48;2;149;149;149m🬍\u001b[0;38;2;255;255;255;48;2;154;103;89m🬦\u001b[0;38;2;255;255;255;48;2;112;164;178mr\u001b[0;38;2;112;164;178;48;2;154;103;89m▌\u001b[0;38;2;0;0;0;48;2;112;164;178m🬇\u001b[0;38;2;184;199;111;48;2;108;94;181mi\u001b[0;38;2;112;164;178;48;2;104;55;43m🬊\u001b[0;38;2;112;164;178;48;2;154;103;89m🬎\u001b[0;38;2;108;94;181;48;2;108;108;108m🬊\u001b[0;38;2;108;94;181;48;2;112;164;178m🬬🬝\u001b[0;38;2;149;149;149;48;2;108;94;181m_\u001b[0;38;2;108;94;181;48;2;112;164;178m🬂\u001b[0;38;2;108;94;181;48;2;108;108;108m🬬\u001b[15;71H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[16;11H\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;112;164;178m▛\u001b[0;38;2;53;40;121;48;2;108;94;181m▀\u001b[0;38;2;53;40;121;48;2;112;164;178m🬆\u001b[0;38;2;53;40;121;48;2;108;94;181m▀🬎🬆\u001b[0;38;2;108;94;181;48;2;104;55;43m🬬\u001b[0;38;2;108;94;181;48;2;184;199;111m▀\u001b[0;38;2;108;94;181;48;2;112;164;178m▀\u001b[0;38;2;112;164;178;48;2;184;199;111m🬝\u001b[0;38;2;112;164;178;48;2;53;40;121m🬩\u001b[0;38;2;108;94;181;48;2;184;199;111m🬻\u001b[0;38;2;53;40;121;48;2;154;103;89m🬃\u001b[0;38;2;111;79;37;48;2;184;199;111mm\u001b[0;38;2;184;199;111;48;2;149;149;149m🬭\u001b[0;38;2;255;255;255;48;2;154;103;89m🬥\u001b[0;38;2;184;199;111;48;2;112;164;178m🬷\u001b[0;38;2;184;199;111;48;2;154;103;89m🬭\u001b[0;38;2;154;103;89;48;2;53;40;121m🬜\u001b[0;38;2;154;103;89;48;2;108;94;181m🬹\u001b[0;38;2;154;103;89;48;2;184;199;111m~\u001b[0;38;2;255;255;255;48;2;154;103;89m🬁\u001b[0;38;2;184;199;111;48;2;112;164;178m▙\u001b[0;38;2;184;199;111;48;2;154;103;89m🬭\u001b[0;38;2;108;94;181;48;2;154;103;89m🬆🬉\u001b[0;38;2;184;199;111;48;2;154;103;89m_\u001b[0;38;2;53;40;121;48;2;184;199;111ma\u001b[0;38;2;112;164;178;48;2;255;255;255m~\u001b[0;38;2;112;164;178;48;2;154;103;89m🬝\u001b[0;38;2;104;55;43;48;2;112;164;178m<\u001b[0;38;2;112;164;178;48;2;53;40;121m─🬙\u001b[0;38;2;112;164;178;48;2;184;199;111m🬹\u001b[16;71H\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[17;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m🬕\u001b[0;38;2;112;164;178;48;2;184;199;111m@\u001b[0;38;2;184;199;111;48;2;112;164;178m🬌\u001b[0;38;2;154;103;89;48;2;112;164;178m_\u001b[0;38;2;108;94;181;48;2;112;164;178mE\u001b[0;38;2;184;199;111;48;2;154;103;89m🬆\u001b[0;38;2;184;199;111;48;2;149;149;149m▞\u001b[0;38;2;184;199;111;48;2;112;164;178m)\u001b[0;38;2;112;164;178;48;2;255;255;255m🬝\u001b[0;38;2;112;164;178;48;2;104;55;43m🬬\u001b[0;38;2;184;199;111;48;2;154;103;89m🬭🬭\u001b[0;38;2;111;79;37;48;2;154;103;89m)\u001b[0;38;2;184;199;111;48;2;154;103;89m🬊🬪\u001b[0;38;2;255;255;255;48;2;154;103;89m🬱\u001b[0;38;2;184;199;111;48;2;154;103;89m_\u001b[0;38;2;184;199;111;48;2;53;40;121m🬎\u001b[0;38;2;184;199;111;48;2;154;103;89m🬟\u001b[0;38;2;154;103;89;48;2;112;164;178m🬸\u001b[0;38;2;184;199;111;48;2;112;164;178m🬉\u001b[0;38;2;255;255;255;48;2;184;199;111m🬱\u001b[0;38;2;154;103;89;48;2;184;199;111m7\u001b[0;38;2;184;199;111;48;2;154;103;89m🬆\u001b[0;38;2;111;79;37;48;2;108;94;181m▀\u001b[0;38;2;184;199;111;48;2;112;164;178m🬊\u001b[0;38;2;184;199;111;48;2;149;149;149m█\u001b[0;38;2;149;149;149;48;2;184;199;111mm\u001b[0;38;2;184;199;111;48;2;154;103;89m🬲_\u001b[0;38;2;112;164;178;48;2;108;94;181mA\u001b[0;38;2;53;40;121;48;2;112;164;178mJ🬦\u001b[0;38;2;184;199;111;48;2;112;164;178m🬺\u001b[0;38;2;112;164;178;48;2;154;103;89m🬬\u001b[0;38;2;108;94;181;48;2;112;164;178m🬬\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0;39;48;2;13;20;16m \u001b[18;11H\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m█🬝\u001b[0;38;2;112;164;178;48;2;108;94;181m_\u001b[0;38;2;108;94;181;48;2;112;164;178m🬢\u001b[0;38;2;184;199;111;48;2;154;103;89m]\u001b[0;38;2;53;40;121;48;2;108;94;181m🬡\u001b[0;38;2;53;40;121;48;2;112;164;178m🬭\u001b[0;38;2;53;40;121;48;2;154;103;89m🬃\u001b[0;38;2;184;199;111;48;2;154;103;89m🬞\u001b[0;38;2;154;103;89;48;2;184;199;111m~t\u001b[0;38;2;255;255;255;48;2;184;199;111m~\u001b[0;38;2;154;103;89;48;2;184;199;111mm\u001b[0;38;2;184;199;111;48;2;154;103;89m🬎\u001b[0;38;2;184;199;111;48;2;108;94;181m▗\u001b[0;38;2;108;94;181;48;2;112;164;178m[\u001b[0;38;2;154;103;89;48;2;108;94;181mp\u001b[0;38;2;255;255;255;48;2;154;103;89m▝\u001b[0;38;2;255;255;255;48;2;255;255;255m \u001b[0;38;2;112;164;178;48;2;255;255;255m7\u001b[0;38;2;184;199;111;48;2;255;255;255m~\u001b[0;38;2;255;255;255;48;2;184;199;111m🬱\u001b[0;38;2;255;255;255;48;2;108;94;181m▄\u001b[0;38;2;255;255;255;48;2;184;199;111m🬻\u001b[0;38;2;255;255;255;48;2;104;55;43m█\u001b[0;38;2;255;255;255;48;2;184;199;111m🬹\u001b[0;38;2;112;164;178;48;2;104;55;43m🬜\u001b[0;38;2;184;199;111;48;2;108;94;181m🬭\u001b[0;38;2;255;255;255;48;2;184;199;111m🬹\u001b[0;38;2;154;103;89;48;2;255;255;255m🬬\u001b[0;38;2;104;55;43;48;2;184;199;111m_\u001b[0;38;2;53;40;121;48;2;154;103;89m🬭\u001b[0;38;2;111;79;37;48;2;154;103;89m🬂\u001b[0;38;2;53;40;121;48;2;184;199;111m~\u001b[0;38;2;184;199;111;48;2;154;103;89m▖\u001b[0;38;2;255;255;255;48;2;184;199;111m▗🬚\u001b[0;38;2;112;164;178;48;2;149;149;149m🬸\u001b[0;38;2;112;164;178;48;2;154;210;132m🬬\u001b[0;38;2;108;94;181;48;2;112;164;178m🬊\u001b[0;38;2;108;94;181;48;2;184;199;111m🬎\u001b[0;38;2;108;94;181;48;2;112;164;178m🬎\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[19;11H\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;112;164;178m▀\u001b[0;38;2;53;40;121;48;2;149;149;149m🬬\u001b[0;38;2;53;40;121;48;2;112;164;178m▀\u001b[0;38;2;53;40;121;48;2;108;94;181m🬊\u001b[0;38;2;108;94;181;48;2;53;40;121m_\u001b[0;38;2;53;40;121;48;2;108;94;181m▀\u001b[0;38;2;108;94;181;48;2;112;164;178m─\u001b[0;38;2;184;199;111;48;2;111;79;37m▟\u001b[0;38;2;255;255;255;48;2;112;164;178m🬑\u001b[0;38;2;154;103;89;48;2;112;164;178m'\u001b[0;38;2;112;164;178;48;2;154;210;132m🬝\u001b[0;38;2;184;199;111;48;2;149;149;149m🬄\u001b[0;38;2;184;199;111;48;2;154;103;89m🬭🬹\u001b[0;38;2;154;103;89;48;2;184;199;111m🬺\u001b[0;38;2;184;199;111;48;2;154;103;89m🬂\u001b[0;38;2;255;255;255;48;2;149;149;149m🬂\u001b[0;38;2;255;255;255;48;2;112;164;178m🬂\u001b[0;38;2;255;255;255;48;2;184;199;111m🬬\u001b[0;38;2;255;255;255;48;2;112;164;178m*🬍🬎\u001b[0;38;2;184;199;111;48;2;112;164;178m~\u001b[0;38;2;255;255;255;48;2;112;164;178m🬍▀▀🬎█\u001b[0;38;2;255;255;255;48;2;255;255;255m \u001b[0;38;2;255;255;255;48;2;53;40;121m█\u001b[0;38;2;255;255;255;48;2;255;255;255m \u001b[0;38;2;255;255;255;48;2;104;55;43m█\u001b[0;38;2;255;255;255;48;2;112;164;178m🬃\u001b[0;38;2;112;164;178;48;2;108;108;108mC\u001b[0;38;2;184;199;111;48;2;53;40;121m🬻\u001b[0;38;2;184;199;111;48;2;154;103;89m🬆▗🬕\u001b[0;38;2;184;199;111;48;2;68;68;68m▀\u001b[0;38;2;53;40;121;48;2;184;199;111m─\u001b[0;38;2;104;55;43;48;2;53;40;121mg\u001b[0;38;2;104;55;43;48;2;112;164;178mJ\u001b[0;38;2;255;255;255;48;2;112;164;178mu\u001b[0;38;2;108;94;181;48;2;112;164;178m─\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[20;11H\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬴\u001b[0;38;2;112;164;178;48;2;184;199;111m🬎\u001b[0;38;2;112;164;178;48;2;53;40;121m🬎\u001b[0;38;2;112;164;178;48;2;108;94;181m🬐\u001b[0;38;2;184;199;111;48;2;108;94;181m🬔\u001b[0;38;2;184;199;111;48;2;154;103;89m🬂▝\u001b[0;38;2;184;199;111;48;2;108;108;108m🬎\u001b[0;38;2;184;199;111;48;2;154;103;89m🬡\u001b[0;38;2;112;164;178;48;2;184;199;111m▀\u001b[0;38;2;255;255;255;48;2;112;164;178m─\u001b[0;38;2;255;255;255;48;2;154;103;89m─\u001b[0;38;2;154;103;89;48;2;184;199;111m─_\u001b[0;38;2;154;103;89;48;2;104;55;43m🬬\u001b[0;38;2;184;199;111;48;2;104;55;43m🬱\u001b[0;38;2;255;255;255;48;2;112;164;178m▗\u001b[0;38;2;184;199;111;48;2;53;40;121m🬲\u001b[0;38;2;255;255;255;48;2;149;149;149m▐\u001b[0;38;2;112;164;178;48;2;255;255;255m🬻\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;112;164;178m▜\u001b[0;38;2;255;255;255;48;2;255;255;255m \u001b[0;38;2;112;164;178;48;2;255;255;255m~\u001b[0;38;2;149;149;149;48;2;255;255;255m~\u001b[0;38;2;255;255;255;48;2;255;255;255m \u001b[0;38;2;149;149;149;48;2;154;103;89my\u001b[0;38;2;184;199;111;48;2;108;94;181m▀\u001b[0;38;2;184;199;111;48;2;154;103;89m`\u001b[0;38;2;104;55;43;48;2;184;199;111m🬻\u001b[0;38;2;112;164;178;48;2;53;40;121m▛\u001b[0;38;2;112;164;178;48;2;104;55;43m🬡\u001b[0;38;2;154;103;89;48;2;112;164;178m🬜\u001b[0;38;2;112;164;178;48;2;184;199;111m🬬\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[21;11H\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m▙\u001b[0;38;2;184;199;111;48;2;108;94;181m🬊\u001b[0;38;2;112;164;178;48;2;154;103;89m🬘▞\u001b[0;38;2;53;40;121;48;2;184;199;111m🬣\u001b[0;38;2;112;164;178;48;2;53;40;121m0\u001b[0;38;2;154;103;89;48;2;112;164;178m🬬\u001b[0;38;2;154;103;89;48;2;108;94;181m🬒\u001b[0;38;2;184;199;111;48;2;108;94;181m█\u001b[0;38;2;184;199;111;48;2;255;255;255m🬝\u001b[0;38;2;255;255;255;48;2;184;199;111m🬭\u001b[0;38;2;255;255;255;48;2;154;103;89m▄🬹\u001b[0;38;2;255;255;255;48;2;184;199;111m🬹\u001b[0;38;2;255;255;255;48;2;112;164;178m*^\u001b[0;38;2;112;164;178;48;2;255;255;255m███\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;112;164;178m▟\u001b[0;38;2;255;255;255;48;2;255;255;255m \u001b[0;38;2;255;255;255;48;2;149;149;149m█\u001b[0;38;2;255;255;255;48;2;154;103;89m🬀\u001b[0;38;2;53;40;121;48;2;154;103;89m🬃\u001b[0;38;2;184;199;111;48;2;154;103;89m🬵\u001b[0;38;2;154;103;89;48;2;184;199;111m_🬸\u001b[0;38;2;255;255;255;48;2;104;55;43m🬭\u001b[0;38;2;255;255;255;48;2;184;199;111m🬭\u001b[0;38;2;154;103;89;48;2;112;164;178mJ\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬨\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[22;11H\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;111;61;134m█\u001b[0;38;2;53;40;121;48;2;108;94;181m█🬆\u001b[0;38;2;53;40;121;48;2;112;164;178m▀\u001b[0;38;2;108;94;181;48;2;112;164;178m▀\u001b[0;38;2;108;94;181;48;2;184;199;111m🬬\u001b[0;38;2;112;164;178;48;2;154;103;89m▄\u001b[0;38;2;184;199;111;48;2;53;40;121m🬱\u001b[0;38;2;104;55;43;48;2;154;103;89m'\u001b[0;38;2;184;199;111;48;2;154;103;89m_\u001b[0;38;2;154;103;89;48;2;184;199;111mM🬻\u001b[0;38;2;184;199;111;48;2;154;103;89m~\u001b[0;38;2;184;199;111;48;2;112;164;178m🬡\u001b[0;38;2;53;40;121;48;2;108;94;181m🬚\u001b[0;38;2;108;108;108;48;2;184;199;111m🬹\u001b[0;38;2;255;255;255;48;2;112;164;178m🬊\u001b[0;38;2;112;164;178;48;2;255;255;255m🬬\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m🬝╲\u001b[0;38;2;255;255;255;48;2;108;94;181m▀\u001b[0;38;2;255;255;255;48;2;108;108;108m🬂\u001b[0;38;2;112;164;178;48;2;108;94;181m▀\u001b[0;38;2;184;199;111;48;2;53;40;121m▀\u001b[0;38;2;255;255;255;48;2;184;199;111m▝\u001b[0;38;2;255;255;255;48;2;154;103;89m🬬\u001b[0;38;2;255;255;255;48;2;255;255;255m \u001b[0;38;2;255;255;255;48;2;0;0;0m█\u001b[0;38;2;255;255;255;48;2;184;199;111m🬔\u001b[0;38;2;154;103;89;48;2;53;40;121m🬬\u001b[0;38;2;184;199;111;48;2;154;103;89m🬹🬅\u001b[0;38;2;255;255;255;48;2;108;94;181m▝\u001b[0;38;2;255;255;255;48;2;112;164;178m▘\u001b[0;38;2;112;164;178;48;2;108;94;181m🬎\u001b[0;38;2;112;164;178;48;2;154;103;89m🬎\u001b[0;38;2;112;164;178;48;2;53;40;121m█\u001b[0;38;2;112;164;178;48;2;108;94;181m🬹\u001b[0;38;2;108;94;181;48;2;112;164;178m🬬\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[23;11H\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;149;149;149;48;2;53;40;121m_\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m█\u001b[0;38;2;53;40;121;48;2;154;103;89m🬛\u001b[0;38;2;184;199;111;48;2;112;164;178m^\u001b[0;38;2;184;199;111;48;2;108;94;181m🬸\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;112;164;178;48;2;53;40;121m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;184;199;111m█\u001b[0;38;2;53;40;121;48;2;149;149;149m🬁\u001b[0;38;2;255;255;255;48;2;184;199;111m🬖\u001b[0;38;2;184;199;111;48;2;154;103;89m🬬█=🬭\u001b[0;38;2;154;103;89;48;2;112;164;178m🬚\u001b[0;38;2;149;149;149;48;2;112;164;178mF\u001b[0;38;2;184;199;111;48;2;112;164;178m#t\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;184;199;111m🬝\u001b[0;38;2;53;40;121;48;2;184;199;111m─\u001b[0;38;2;154;103;89;48;2;104;55;43m🬺\u001b[0;38;2;111;79;37;48;2;184;199;111m\"\u001b[0;38;2;184;199;111;48;2;104;55;43m█\u001b[0;38;2;184;199;111;48;2;53;40;121m🬎\u001b[0;38;2;184;199;111;48;2;154;103;89m🬓▝\u001b[0;38;2;255;255;255;48;2;184;199;111m🬬\u001b[0;38;2;255;255;255;48;2;255;255;255m \u001b[0;38;2;255;255;255;48;2;104;55;43m▛\u001b[0;38;2;255;255;255;48;2;154;103;89m🬀\u001b[0;38;2;108;94;181;48;2;154;103;89m🬩\u001b[0;38;2;104;55;43;48;2;154;103;89ms\u001b[0;38;2;184;199;111;48;2;104;55;43m'\u001b[0;38;2;53;40;121;48;2;108;94;181mZ\u001b[0;38;2;112;164;178;48;2;154;103;89m🬮\u001b[0;38;2;53;40;121;48;2;112;164;178m🬄\u001b[0;38;2;112;164;178;48;2;184;199;111m▌\u001b[0;38;2;184;199;111;48;2;154;103;89mR\u001b[0;38;2;112;164;178;48;2;154;103;89m🬻\u001b[0;38;2;112;164;178;48;2;108;94;181m▌\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[24;11H\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m▛\u001b[0;38;2;53;40;121;48;2;112;164;178m▀\u001b[0;38;2;53;40;121;48;2;149;149;149m▀\u001b[0;38;2;112;164;178;48;2;184;199;111m🬥▟\u001b[0;38;2;108;94;181;48;2;184;199;111m🬨\u001b[0;38;2;53;40;121;48;2;108;94;181m🬎\u001b[0;38;2;53;40;121;48;2;112;164;178m▘\u001b[0;38;2;184;199;111;48;2;112;164;178m🬨\u001b[0;38;2;112;164;178;48;2;184;199;111m🬊\u001b[0;38;2;184;199;111;48;2;149;149;149m▄\u001b[0;38;2;255;255;255;48;2;184;199;111mT\u001b[0;38;2;184;199;111;48;2;112;164;178m▀\u001b[0;38;2;112;164;178;48;2;154;103;89m▀🬎\u001b[0;38;2;255;255;255;48;2;112;164;178m▝\u001b[0;38;2;184;199;111;48;2;108;94;181m🬆\u001b[0;38;2;184;199;111;48;2;154;103;89m🬎\u001b[0;38;2;184;199;111;48;2;111;79;37m🬥\u001b[0;38;2;255;255;255;48;2;154;103;89m🬞\u001b[0;38;2;255;255;255;48;2;149;149;149m🬭\u001b[0;38;2;112;164;178;48;2;255;255;255m🬸\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;255;255;255;48;2;112;164;178m.\u001b[0;38;2;154;103;89;48;2;112;164;178m/\u001b[0;38;2;108;94;181;48;2;154;103;89mF\u001b[0;38;2;108;94;181;48;2;184;199;111m-\u001b[0;38;2;184;199;111;48;2;184;199;111m \u001b[0;38;2;184;199;111;48;2;112;164;178m█\u001b[0;38;2;184;199;111;48;2;154;103;89m🬱\u001b[0;38;2;154;103;89;48;2;184;199;111m🬎\u001b[0;38;2;255;255;255;48;2;184;199;111m🬭\u001b[0;38;2;255;255;255;48;2;255;255;255m \u001b[0;38;2;255;255;255;48;2;112;164;178m🬺\u001b[0;38;2;112;164;178;48;2;184;199;111m~\u001b[0;38;2;184;199;111;48;2;154;103;89m─🬬\u001b[0;38;2;154;103;89;48;2;53;40;121m🬝\u001b[0;38;2;104;55;43;48;2;154;103;89m6\u001b[0;38;2;53;40;121;48;2;154;103;89m🬂\u001b[0;38;2;112;164;178;48;2;154;103;89m🬧\u001b[0;38;2;112;164;178;48;2;184;199;111m█\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m▌\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[25;11H\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;184;199;111m█\u001b[0;38;2;53;40;121;48;2;108;94;181m🬓\u001b[0;38;2;112;164;178;48;2;108;94;181m▟\u001b[0;38;2;184;199;111;48;2;112;164;178m🬧\u001b[0;38;2;112;164;178;48;2;154;103;89m🬂\u001b[0;38;2;108;94;181;48;2;184;199;111m🬸\u001b[0;38;2;184;199;111;48;2;112;164;178m_\u001b[0;38;2;112;164;178;48;2;154;103;89m▄\u001b[0;38;2;108;94;181;48;2;154;103;89m▄\u001b[0;38;2;53;40;121;48;2;154;103;89m🬞\u001b[0;38;2;184;199;111;48;2;154;103;89m🬂🬡▄\u001b[0;38;2;112;164;178;48;2;184;199;111m'\u001b[0;38;2;184;199;111;48;2;104;55;43m█\u001b[0;38;2;184;199;111;48;2;154;103;89m🬬\u001b[0;38;2;184;199;111;48;2;53;40;121m▙\u001b[0;38;2;255;255;255;48;2;184;199;111m🬵\u001b[0;38;2;255;255;255;48;2;112;164;178m🬚'\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m🬴\u001b[0;38;2;184;199;111;48;2;104;55;43m▀\u001b[0;38;2;53;40;121;48;2;154;103;89m,\u001b[0;38;2;154;103;89;48;2;184;199;111mg\u001b[0;38;2;184;199;111;48;2;53;40;121m█\u001b[0;38;2;184;199;111;48;2;255;255;255m🬴\u001b[0;38;2;255;255;255;48;2;184;199;111m█\u001b[0;38;2;255;255;255;48;2;255;255;255m \u001b[0;38;2;255;255;255;48;2;184;199;111m🬕\u001b[0;38;2;255;255;255;48;2;154;103;89m🬂\u001b[0;38;2;255;255;255;48;2;108;94;181m🬀\u001b[0;38;2;154;103;89;48;2;108;108;108m🬍\u001b[0;38;2;184;199;111;48;2;154;103;89m─\u001b[0;38;2;184;199;111;48;2;108;108;108mr\u001b[0;38;2;255;255;255;48;2;184;199;111m▐m\u001b[0;38;2;154;103;89;48;2;112;164;178m▛\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;108;94;181;48;2;112;164;178m▐\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[26;11H\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;112;164;178m▙_\u001b[0;38;2;184;199;111;48;2;112;164;178m4\u001b[0;38;2;154;103;89;48;2;108;94;181m🬴\u001b[0;38;2;184;199;111;48;2;112;164;178m🬉\u001b[0;38;2;53;40;121;48;2;184;199;111m🬬e\u001b[0;38;2;108;94;181;48;2;112;164;178m╲\u001b[0;38;2;53;40;121;48;2;108;94;181m🬉\u001b[0;38;2;108;94;181;48;2;154;103;89m─\u001b[0;38;2;53;40;121;48;2;154;103;89m─\u001b[0;38;2;184;199;111;48;2;108;94;181m▐\u001b[0;38;2;184;199;111;48;2;255;255;255m█\u001b[0;38;2;255;255;255;48;2;184;199;111m🬎\u001b[0;38;2;255;255;255;48;2;149;149;149m🬋\u001b[0;38;2;255;255;255;48;2;108;94;181m▀🬂\u001b[0;38;2;255;255;255;48;2;154;103;89m🬂\u001b[0;38;2;112;164;178;48;2;154;103;89m▀\u001b[0;38;2;255;255;255;48;2;112;164;178m,\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[26;52H\u001b[0;38;2;112;164;178;48;2;154;103;89m🬹\u001b[0;38;2;53;40;121;48;2;112;164;178m`\u001b[0;38;2;184;199;111;48;2;154;103;89m#\u001b[0;38;2;53;40;121;48;2;154;103;89m_\u001b[0;38;2;184;199;111;48;2;154;103;89m🬀\u001b[0;38;2;184;199;111;48;2;104;55;43m🬊\u001b[0;38;2;184;199;111;48;2;255;255;255m🬹\u001b[0;38;2;255;255;255;48;2;184;199;111m▀🬎🬆\u001b[0;38;2;255;255;255;48;2;108;94;181m🬂\u001b[0;38;2;255;255;255;48;2;154;103;89m▀\u001b[0;38;2;154;103;89;48;2;184;199;111m▄\u001b[0;38;2;154;103;89;48;2;104;55;43m▛\u001b[0;38;2;184;199;111;48;2;149;149;149m🬹\u001b[0;38;2;104;55;43;48;2;154;103;89m~\u001b[0;38;2;104;55;43;48;2;112;164;178mt\u001b[0;38;2;112;164;178;48;2;154;103;89mg\u001b[0;38;2;0;0;0;48;2;108;94;181m,\u001b[0;38;2;112;164;178;48;2;53;40;121m🬨\u001b[0;38;2;112;164;178;48;2;149;149;149m🬎█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;108;94;181;48;2;112;164;178m▐\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[27;11H\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;108;94;181;48;2;53;40;121m'\u001b[0;38;2;53;40;121;48;2;112;164;178m▄\u001b[0;38;2;108;94;181;48;2;184;199;111m▄\u001b[0;38;2;184;199;111;48;2;108;94;181mm\u001b[0;38;2;112;164;178;48;2;154;103;89m▀▀\u001b[0;38;2;108;94;181;48;2;154;103;89m🬊\u001b[0;38;2;154;103;89;48;2;68;68;68m▙\u001b[0;38;2;108;94;181;48;2;154;103;89mL\u001b[0;38;2;154;103;89;48;2;112;164;178m▜\u001b[0;38;2;184;199;111;48;2;154;103;89m▄🬒\u001b[0;38;2;112;164;178;48;2;154;103;89m~\u001b[0;38;2;108;94;181;48;2;154;103;89m▟\u001b[0;38;2;112;164;178;48;2;149;149;149m🬒\u001b[0;38;2;104;55;43;48;2;184;199;111mm\u001b[0;38;2;112;164;178;48;2;154;103;89m🬙\u001b[0;38;2;111;79;37;48;2;154;103;89mr\u001b[0;38;2;184;199;111;48;2;112;164;178mM\u001b[0;38;2;112;164;178;48;2;184;199;111m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[27;51H \u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;184;199;111;48;2;112;164;178m7\u001b[0;38;2;108;94;181;48;2;184;199;111m🬥\u001b[0;38;2;255;255;255;48;2;154;103;89m🬭\u001b[0;38;2;154;103;89;48;2;184;199;111m▜\u001b[0;38;2;184;199;111;48;2;154;103;89m`\u001b[0;38;2;104;55;43;48;2;112;164;178m▄\u001b[0;38;2;53;40;121;48;2;154;103;89m`\u001b[0;38;2;154;103;89;48;2;184;199;111m🬺▟\u001b[0;38;2;104;55;43;48;2;108;94;181m🬩\u001b[0;38;2;112;164;178;48;2;154;103;89m,\u001b[0;38;2;154;103;89;48;2;108;94;181m🬪\u001b[0;38;2;154;103;89;48;2;255;255;255m🬎🬬\u001b[0;38;2;154;103;89;48;2;53;40;121m🬹\u001b[0;38;2;112;164;178;48;2;154;103;89m🬡\u001b[0;38;2;0;0;0;48;2;112;164;178m'\u001b[0;38;2;184;199;111;48;2;154;103;89m▄\u001b[0;38;2;154;103;89;48;2;112;164;178mZ.\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m▌\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[28;11H\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;112;164;178m🬎🬆🬂\u001b[0;38;2;108;94;181;48;2;184;199;111m▀\u001b[0;38;2;108;94;181;48;2;112;164;178mT\u001b[0;38;2;112;164;178;48;2;184;199;111m🬺▄\u001b[0;38;2;184;199;111;48;2;112;164;178m🬩\u001b[0;38;2;184;199;111;48;2;154;103;89ms🬻\u001b[0;38;2;255;255;255;48;2;184;199;111m▄\u001b[0;38;2;184;199;111;48;2;255;255;255m🬬\u001b[0;38;2;184;199;111;48;2;154;103;89m🬓\u001b[0;38;2;108;94;181;48;2;154;103;89m/\u001b[0;38;2;53;40;121;48;2;154;103;89m~\u001b[0;38;2;154;103;89;48;2;108;94;181m▄\u001b[0;38;2;184;199;111;48;2;104;55;43m▙\u001b[0;38;2;255;255;255;48;2;112;164;178m{\u001b[0;38;2;112;164;178;48;2;184;199;111m🬹\u001b[0;38;2;108;94;181;48;2;112;164;178m'\u001b[0;38;2;112;164;178;48;2;154;103;89m🬻\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[28;51H \u001b[0;38;2;112;164;178;48;2;0;0;0m█\u001b[0;38;2;112;164;178;48;2;184;199;111m🬺\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;112;164;178;48;2;184;199;111m🬺\u001b[0;38;2;154;103;89;48;2;112;164;178m🬊\u001b[0;38;2;184;199;111;48;2;108;94;181mn\u001b[0;38;2;112;164;178;48;2;53;40;121m─\u001b[0;38;2;255;255;255;48;2;154;103;89m🬦\u001b[0;38;2;184;199;111;48;2;154;103;89m🬺\u001b[0;38;2;154;103;89;48;2;104;55;43m█\u001b[0;38;2;112;164;178;48;2;108;108;108m🬇\u001b[0;38;2;112;164;178;48;2;154;103;89m🬂\u001b[0;38;2;53;40;121;48;2;154;103;89m🬐\u001b[0;38;2;255;255;255;48;2;112;164;178m🬀\u001b[0;38;2;112;164;178;48;2;255;255;255m🬻\u001b[0;38;2;112;164;178;48;2;149;149;149m▄\u001b[0;38;2;112;164;178;48;2;184;199;111m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;154;103;89m█\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m🬲\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[29;11H\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;255;255;255m█\u001b[0;38;2;53;40;121;48;2;112;164;178m▀🬥\u001b[0;38;2;184;199;111;48;2;112;164;178m🬱🬕\u001b[0;38;2;112;164;178;48;2;184;199;111m🬬█\u001b[0;38;2;112;164;178;48;2;53;40;121m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;104;55;43m█\u001b[0;38;2;112;164;178;48;2;149;149;149m_\u001b[0;38;2;53;40;121;48;2;184;199;111m─\u001b[0;38;2;255;255;255;48;2;184;199;111m🬔\u001b[0;38;2;108;108;108;48;2;184;199;111m*\u001b[0;38;2;184;199;111;48;2;255;255;255m█\u001b[0;38;2;184;199;111;48;2;104;55;43m█\u001b[0;38;2;149;149;149;48;2;154;103;89mC\u001b[0;38;2;184;199;111;48;2;154;103;89m▝\u001b[0;38;2;184;199;111;48;2;112;164;178m🬥\u001b[0;38;2;149;149;149;48;2;112;164;178m~\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[29;52H \u001b[0;38;2;112;164;178;48;2;154;103;89m█\u001b[0;38;2;184;199;111;48;2;112;164;178mt\u001b[0;38;2;112;164;178;48;2;149;149;149m🬭\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;112;164;178;48;2;154;103;89m🬹\u001b[0;38;2;112;164;178;48;2;184;199;111m🬺\u001b[0;38;2;111;79;37;48;2;112;164;178m~\u001b[0;38;2;112;164;178;48;2;184;199;111mF\u001b[0;38;2;184;199;111;48;2;154;103;89m~\u001b[0;38;2;112;164;178;48;2;154;103;89m▟\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[30;11H\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;112;164;178m█\u001b[0;38;2;108;94;181;48;2;184;199;111m🬜\u001b[0;38;2;184;199;111;48;2;112;164;178m─\u001b[0;38;2;154;103;89;48;2;112;164;178m🬆\u001b[0;38;2;184;199;111;48;2;149;149;149m🬓\u001b[0;38;2;112;164;178;48;2;154;210;132m🬸\u001b[0;38;2;112;164;178;48;2;111;61;134m█\u001b[0;38;2;112;164;178;48;2;184;199;111m🬎\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;184;199;111;48;2;112;164;178m▄\u001b[0;38;2;184;199;111;48;2;111;79;37m🬊\u001b[0;38;2;184;199;111;48;2;154;103;89m🬆~🬇\u001b[0;38;2;184;199;111;48;2;112;164;178mx\u001b[0;38;2;112;164;178;48;2;184;199;111m🬺█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[30;54H \u001b[0;38;2;112;164;178;48;2;53;40;121m█\u001b[30;64H\u001b[0;38;2;112;164;178;48;2;154;103;89m█\u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;112;164;178;48;2;53;40;121m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;108;94;181;48;2;112;164;178m🬨\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[0m\u001b[2;49H\u001b[?25h"]
+[9.92, "o", "\u001b[0m\u001b[2;50H\u001b[?25h"]
+[10.01, "o", "\u001b[2;50H\u001b[0;38;2;245;247;238;48;2;60;97;74ms\u001b[0m\u001b[2;51H\u001b[?25h"]
+[10.1, "o", "\u001b[2;51H\u001b[0;38;2;245;247;238;48;2;60;97;74md\u001b[0m\u001b[2;52H\u001b[?25h"]
+[10.19, "o", "\u001b[2;52H\u001b[0;38;2;245;247;238;48;2;60;97;74mm\u001b[0m\u001b[2;53H\u001b[?25h"]
+[10.28, "o", "\u001b[2;53H\u001b[0;38;2;245;247;238;48;2;60;97;74m.\u001b[0m\u001b[2;54H\u001b[?25h"]
+[10.37, "o", "\u001b[2;54H\u001b[0;38;2;245;247;238;48;2;60;97;74mp\u001b[0m\u001b[2;55H\u001b[?25h"]
+[10.46, "o", "\u001b[2;55H\u001b[0;38;2;245;247;238;48;2;60;97;74md\u001b[0m\u001b[2;56H\u001b[?25h"]
+[10.55, "o", "\u001b[2;56H\u001b[0;38;2;245;247;238;48;2;60;97;74mf\u001b[0m\u001b[2;57H\u001b[?25h"]
+[11.25, "o", "\u001b[2;50H\u001b[0;38;2;245;247;238;48;2;107;120;88msdm.pdf\u001b[0m\u001b[2;57H\u001b[?25h"]
+[11.75, "o", "\u001b[2;50H\u001b[0;38;2;190;207;196;48;2;49;71;56msdm.pdf\u001b[3;1H\u001b[0;38;2;255;255;255;48;2;73;102;86m \u001b[0;39;48;2;29;40;36m \u001b[0;38;2;178;195;184;48;2;29;40;36mimg petscii:off palette:commodore ascii:on /tmp/cast/art/\u001b[0;38;2;211;176;217;48;2;29;40;36mseahorse.png\u001b[0;38;2;178;195;184;48;2;29;40;36m Tty Collapse Del\u001b[0;39;48;2;29;40;36m \u001b[4;11H\u001b[0;39;48;2;13;20;16m \u001b[0;38;2;108;94;181;48;2;112;164;178m▗\u001b[0;38;2;112;164;178;48;2;53;40;121m🬎\u001b[0;38;2;112;164;178;48;2;149;149;149m🬐\u001b[0;38;2;154;103;89;48;2;112;164;178m▝🬌\u001b[0;38;2;154;103;89;48;2;149;149;149mv\u001b[0;38;2;108;94;181;48;2;53;40;121m▛\u001b[0;38;2;53;40;121;48;2;149;149;149m🬹\u001b[0;38;2;53;40;121;48;2;112;164;178m🬹\u001b[0;38;2;53;40;121;48;2;108;94;181m🬱\u001b[0;38;2;53;40;121;48;2;149;149;149m🬭\u001b[0;38;2;53;40;121;48;2;112;164;178m▟\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m█🬹█\u001b[4;55H\u001b[0;38;2;108;94;181;48;2;53;40;121m🬬\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[4;71H\u001b[0;39;48;2;13;20;16m \u001b[5;11H \u001b[0;38;2;53;40;121;48;2;112;164;178m🬷\u001b[0;38;2;53;40;121;48;2;53;40;121m \u001b[0;38;2;53;40;121;48;2;108;94;181m█\u001b[5;36H\u001b[0;38;2;53;40;121;48;2;112;164;178m🬺▄\u001b[0;38;2;53;40;121;48;2;108;108;108m█\u001b[5;56H\u001b[0;38;2;108;94;181;48;2;53;40;121m🬨\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[5;71H\u001b[0;39;48;2;13;20;16m \u001b[6;11H \u001b[6;56H\u001b[0;38;2;53;40;121;48;2;108;94;181m▌\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[6;71H\u001b[0;39;48;2;13;20;16m \u001b[7;11H \u001b[7;54H\u001b[0;38;2;53;40;121;48;2;108;94;181m█🬆\u001b[0;38;2;108;94;181;48;2;53;40;121m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[7;71H\u001b[0;39;48;2;13;20;16m \u001b[8;11H \u001b[8;50H\u001b[0;38;2;53;40;121;48;2;108;94;181m█🬆\u001b[0;38;2;108;94;181;48;2;149;149;149m🬬\u001b[0;38;2;108;94;181;48;2;53;40;121m🬹█\u001b[0;38;2;108;94;181;48;2;149;149;149m🬝\u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[8;71H\u001b[0;39;48;2;13;20;16m \u001b[9;11H \u001b[9;46H\u001b[0;38;2;53;40;121;48;2;108;94;181m█🬄\u001b[0;38;2;108;94;181;48;2;149;149;149m🬡▀\u001b[0;38;2;108;94;181;48;2;112;164;178m🬂\u001b[0;38;2;112;164;178;48;2;149;149;149m▌\u001b[0;38;2;112;164;178;48;2;154;103;89mT\u001b[0;38;2;154;103;89;48;2;112;164;178m🬱\u001b[0;38;2;112;164;178;48;2;149;149;149m🬎\u001b[0;38;2;149;149;149;48;2;108;94;181m🬎\u001b[0;38;2;112;164;178;48;2;154;103;89m🬊\u001b[0;38;2;255;255;255;48;2;108;94;181m_\u001b[0;38;2;184;199;111;48;2;108;94;181m,\u001b[0;38;2;108;94;181;48;2;112;164;178m🬊\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[9;71H\u001b[0;39;48;2;13;20;16m \u001b[10;11H \u001b[10;43H\u001b[0;38;2;53;40;121;48;2;108;94;181m█\u001b[0;38;2;149;149;149;48;2;154;103;89m▛\u001b[0;38;2;149;149;149;48;2;108;94;181my\u001b[0;38;2;154;103;89;48;2;112;164;178m▄\u001b[0;38;2;112;164;178;48;2;184;199;111m🬎\u001b[0;38;2;184;199;111;48;2;149;149;149m▗\u001b[0;38;2;154;103;89;48;2;184;199;111m🬬\u001b[0;38;2;184;199;111;48;2;108;94;181m🬎\u001b[0;38;2;255;255;255;48;2;184;199;111m🬭\u001b[0;38;2;255;255;255;48;2;154;103;89m_\u001b[0;38;2;184;199;111;48;2;112;164;178m🬊\u001b[0;38;2;184;199;111;48;2;255;255;255m🬬\u001b[0;38;2;108;108;108;48;2;154;103;89m▄\u001b[0;38;2;184;199;111;48;2;154;103;89m▌🬕\u001b[0;38;2;108;94;181;48;2;154;103;89m🬋\u001b[0;38;2;149;149;149;48;2;108;108;108m🬨\u001b[0;38;2;108;94;181;48;2;112;164;178m🬎\u001b[0;38;2;112;164;178;48;2;108;94;181m_\u001b[10;71H\u001b[0;39;48;2;13;20;16m \u001b[11;11H \u001b[11;39H\u001b[0;38;2;53;40;121;48;2;149;149;149m█▀\u001b[0;38;2;53;40;121;48;2;112;164;178m🬊\u001b[0;38;2;184;199;111;48;2;108;94;181m🬭\u001b[0;38;2;184;199;111;48;2;112;164;178m🬓\u001b[0;38;2;112;164;178;48;2;149;149;149m🬺\u001b[0;38;2;184;199;111;48;2;108;108;108m▄\u001b[0;38;2;184;199;111;48;2;154;103;89m🬔\u001b[0;38;2;184;199;111;48;2;108;108;108m🬡\u001b[0;38;2;255;255;255;48;2;149;149;149m🬇\u001b[0;38;2;255;255;255;48;2;112;164;178mm\u001b[0;38;2;184;199;111;48;2;112;164;178m`\u001b[0;38;2;112;164;178;48;2;255;255;255m▙\u001b[0;38;2;255;255;255;48;2;112;164;178m▀█\u001b[0;38;2;255;255;255;48;2;255;255;255m \u001b[0;38;2;149;149;149;48;2;255;255;255m~\u001b[0;38;2;255;255;255;48;2;154;103;89m█\u001b[0;38;2;255;255;255;48;2;108;108;108m🬱\u001b[0;38;2;184;199;111;48;2;154;103;89m🬔🬅\u001b[0;38;2;112;164;178;48;2;154;103;89m🬡\u001b[0;38;2;108;108;108;48;2;149;149;149mg\u001b[0;38;2;112;164;178;48;2;149;149;149m▟\u001b[11;71H\u001b[0;39;48;2;13;20;16m \u001b[12;11H \u001b[12;39H\u001b[0;38;2;53;40;121;48;2;108;94;181m🬝\u001b[0;38;2;184;199;111;48;2;108;94;181m~\u001b[0;38;2;154;103;89;48;2;149;149;149mc\u001b[0;38;2;108;94;181;48;2;154;103;89mM\u001b[0;38;2;184;199;111;48;2;154;103;89m▗🬎\u001b[0;38;2;255;255;255;48;2;154;103;89m🬋\u001b[0;38;2;154;103;89;48;2;112;164;178m~\u001b[0;38;2;112;164;178;48;2;255;255;255m██\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;149;149;149;48;2;255;255;255m_\u001b[0;38;2;255;255;255;48;2;112;164;178m🬎\u001b[0;38;2;255;255;255;48;2;149;149;149m🬬\u001b[0;38;2;255;255;255;48;2;255;255;255m \u001b[0;38;2;255;255;255;48;2;149;149;149m🬲\u001b[0;38;2;184;199;111;48;2;154;103;89m🬖─\u001b[0;38;2;154;103;89;48;2;149;149;149m🬀\u001b[0;38;2;112;164;178;48;2;108;94;181m█\u001b[0;38;2;108;94;181;48;2;112;164;178m🬬\u001b[12;71H\u001b[0;39;48;2;13;20;16m \u001b[13;11H \u001b[13;34H\u001b[0;38;2;53;40;121;48;2;112;164;178m█\u001b[0;38;2;149;149;149;48;2;53;40;121m_\u001b[0;38;2;53;40;121;48;2;112;164;178m🬎\u001b[0;38;2;108;94;181;48;2;53;40;121m_\u001b[0;38;2;53;40;121;48;2;112;164;178m🬄\u001b[0;38;2;112;164;178;48;2;149;149;149m🬀🬎▙\u001b[0;38;2;154;103;89;48;2;184;199;111m_\u001b[0;38;2;184;199;111;48;2;154;103;89m🬛\u001b[0;38;2;154;103;89;48;2;149;149;149m▘\u001b[0;38;2;112;164;178;48;2;154;103;89m▙\u001b[0;38;2;112;164;178;48;2;184;199;111m🬻\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;255;255;255m█\u001b[0;38;2;112;164;178;48;2;154;103;89m🬆\u001b[0;38;2;184;199;111;48;2;154;103;89m▗\u001b[0;38;2;154;103;89;48;2;184;199;111m~\u001b[0;38;2;154;103;89;48;2;149;149;149m🬛\u001b[0;38;2;255;255;255;48;2;184;199;111m█\u001b[0;38;2;255;255;255;48;2;255;255;255m \u001b[0;38;2;255;255;255;48;2;149;149;149m🬴\u001b[0;38;2;184;199;111;48;2;108;108;108m🬮\u001b[0;38;2;184;199;111;48;2;154;103;89m🬏\u001b[0;38;2;154;103;89;48;2;108;94;181m🬯\u001b[0;38;2;112;164;178;48;2;149;149;149m🬭🬸\u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[13;71H\u001b[0;39;48;2;13;20;16m \u001b[14;11H \u001b[14;34H\u001b[0;38;2;53;40;121;48;2;112;164;178m█\u001b[0;38;2;112;164;178;48;2;53;40;121m🬬\u001b[0;38;2;154;103;89;48;2;149;149;149m🬖\u001b[0;38;2;108;94;181;48;2;154;103;89m▀\u001b[0;38;2;108;94;181;48;2;149;149;149m🬦\u001b[0;38;2;184;199;111;48;2;154;103;89m~🬩\u001b[0;38;2;255;255;255;48;2;184;199;111m.🬇\u001b[0;38;2;154;103;89;48;2;112;164;178m_\u001b[0;38;2;112;164;178;48;2;104;55;43m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;184;199;111m█\u001b[0;38;2;154;103;89;48;2;149;149;149m🬅\u001b[0;38;2;184;199;111;48;2;154;103;89m🬉🬬\u001b[0;38;2;255;255;255;48;2;184;199;111m🬬\u001b[0;38;2;255;255;255;48;2;108;94;181m🬝\u001b[0;38;2;255;255;255;48;2;184;199;111m🬆\u001b[0;38;2;154;103;89;48;2;255;255;255m🬻\u001b[0;38;2;154;103;89;48;2;108;94;181m🬝\u001b[0;38;2;184;199;111;48;2;108;108;108m🬉\u001b[0;38;2;112;164;178;48;2;149;149;149m▄\u001b[0;38;2;112;164;178;48;2;184;199;111m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[14;71H\u001b[0;39;48;2;13;20;16m \u001b[15;11H \u001b[15;35H\u001b[0;38;2;53;40;121;48;2;149;149;149m🬝\u001b[0;38;2;108;94;181;48;2;184;199;111m🬌\u001b[0;38;2;112;164;178;48;2;149;149;149m🬱\u001b[0;38;2;154;103;89;48;2;112;164;178m🬩\u001b[0;38;2;154;103;89;48;2;184;199;111m🬎\u001b[0;38;2;184;199;111;48;2;154;103;89m🬱\u001b[0;38;2;154;103;89;48;2;149;149;149m🬬\u001b[0;38;2;112;164;178;48;2;108;108;108mf\u001b[0;38;2;112;164;178;48;2;154;103;89m🬲\u001b[0;38;2;112;164;178;48;2;184;199;111m▟\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;149;149;149m🬲\u001b[0;38;2;112;164;178;48;2;108;108;108m🬹\u001b[0;38;2;154;103;89;48;2;149;149;149m🬊\u001b[0;38;2;154;103;89;48;2;112;164;178m🬜\u001b[0;38;2;154;103;89;48;2;184;199;111m🬩\u001b[0;38;2;154;103;89;48;2;108;94;181m🬤\u001b[0;38;2;154;103;89;48;2;255;255;255m🬕\u001b[0;38;2;112;164;178;48;2;154;103;89m▄\u001b[0;38;2;112;164;178;48;2;149;149;149m▄▄\u001b[0;38;2;112;164;178;48;2;154;103;89m█\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;108;94;181;48;2;112;164;178m█\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[15;71H\u001b[0;39;48;2;13;20;16m \u001b[16;11H \u001b[16;33H\u001b[0;38;2;53;40;121;48;2;108;94;181m█\u001b[0;38;2;149;149;149;48;2;108;94;181m🬩\u001b[0;38;2;184;199;111;48;2;149;149;149m[\u001b[0;38;2;112;164;178;48;2;184;199;111m█\u001b[0;38;2;112;164;178;48;2;149;149;149m█▙\u001b[0;38;2;255;255;255;48;2;149;149;149m'\u001b[0;38;2;184;199;111;48;2;154;103;89m🬎\u001b[0;38;2;154;103;89;48;2;184;199;111m🬜\u001b[0;38;2;112;164;178;48;2;184;199;111m🬻\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;112;164;178;48;2;184;199;111m█\u001b[0;38;2;112;164;178;48;2;154;103;89m🬻\u001b[0;38;2;184;199;111;48;2;112;164;178m~\u001b[0;38;2;154;103;89;48;2;112;164;178m~\u001b[0;38;2;112;164;178;48;2;154;103;89m▟\u001b[0;38;2;112;164;178;48;2;112;164;178m \u001b[0;38;2;108;94;181;48;2;112;164;178m▐\u001b[0;38;2;108;94;181;48;2;108;94;181m \u001b[16;71H\u001b[0;39;48;2;13;20;16m \u001b[17;1H\u001b[0;38;2;0;0;0;48;2;173;211;138m \u001b[0;39;48;2;49;71;56m \u001b[0;38;2;190;207;196;48;2;49;71;56m/home/goblin/01-resources/\u001b[0;38;2;223;188;229;48;2;49;71;56mintel-devref-ii.pdf\u001b[0;38;2;190;207;196;48;2;49;71;56m [1/2515] Tty PdfSections PdfTint Collapse Del\u001b[0;39;48;2;49;71;56m \u001b[18;1H\u001b[0;39;48;2;96;130;105m \u001b[18;3H\u001b[0;38;2;229;238;229;48;2;13;20;16mIntel®\u001b[18;10H64 and IA-32 Architectures\u001b[0;39;48;2;13;20;16m \u001b[19;3H\u001b[0;38;2;229;238;229;48;2;13;20;16mSoftware Developer’s Manual\u001b[0;39;48;2;13;20;16m \u001b[20;3H\u001b[0;38;2;229;238;229;48;2;13;20;16mVolume\u001b[20;10H2 (2A, 2B, 2C, & 2D):\u001b[0;39;48;2;13;20;16m \u001b[21;3H\u001b[0;38;2;229;238;229;48;2;13;20;16mInstruction Set Reference, A-Z\u001b[0;39;48;2;13;20;16m \u001b[22;3H\u001b[0;38;2;229;238;229;48;2;13;20;16mNOTE:\u001b[22;9HThe Intel 64 and IA-32 Architectures Software Developer's Manual consists of four volumes:\u001b[23;3HBasic\u001b[23;9HArchitecture, Order Number 253665; Instruction Set Reference, A-Z, Order Number 325383;\u001b[24;3HSystem\u001b[24;10HProgramming Guide, Order Number 325384; Model-Specific Registers, Order Number\u001b[0;39;48;2;13;20;16m \u001b[25;3H\u001b[0;38;2;229;238;229;48;2;13;20;16m335592.\u001b[25;11HRefer to all four volumes when evaluating your design needs.\u001b[0;39;48;2;13;20;16m \u001b[26;3H\u001b[0;38;2;229;238;229;48;2;13;20;16mOrder\u001b[26;9HNumber: 325383-084US\u001b[0;39;48;2;13;20;16m \u001b[27;3H\u001b[0;38;2;229;238;229;48;2;13;20;16mJune\u001b[27;8H2024\u001b[0;39;48;2;13;20;16m \u001b[28;11H \u001b[29;11H \u001b[30;11H \u001b[0m\u001b[18;3H\u001b[?25h"]
+[12.75, "o", "\u001b[3;87H\u001b[0;38;2;245;247;238;48;2;91;126;90mDel \u001b[0m\u001b[18;3H\u001b[?25h"]
+[13.15, "o", "\u001b[3;1H\u001b[0;38;2;0;0;0;48;2;173;211;138m \u001b[0;39;48;2;49;71;56m \u001b[0;38;2;190;207;196;48;2;49;71;56m/home/goblin/01-resources/\u001b[0;38;2;223;188;229;48;2;49;71;56mintel-devref-ii.pdf\u001b[0;38;2;190;207;196;48;2;49;71;56m [1/2515] Tty PdfSections PdfTint Collapse Del\u001b[0;39;48;2;49;71;56m \u001b[4;1H\u001b[0;39;48;2;96;130;105m \u001b[4;3H\u001b[0;38;2;229;238;229;48;2;13;20;16mIntel®\u001b[4;10H64\u001b[4;13Hand\u001b[4;17HIA-32\u001b[4;23HArchitectures\u001b[0;39;48;2;13;20;16m \u001b[5;3H\u001b[0;38;2;229;238;229;48;2;13;20;16mSoftware\u001b[5;12HDeveloper’s\u001b[5;24HManual\u001b[5;32H\u001b[0;39;48;2;13;20;16m \u001b[6;3H\u001b[0;38;2;229;238;229;48;2;13;20;16mVolume\u001b[6;10H2\u001b[6;12H(2A,\u001b[6;17H2B,\u001b[6;21H2C,\u001b[6;25H&\u001b[6;27H2D):\u001b[6;32H\u001b[0;39;48;2;13;20;16m \u001b[7;3H\u001b[0;38;2;229;238;229;48;2;13;20;16mInstruction\u001b[7;15HSet\u001b[7;19HReference,\u001b[7;30HA-Z\u001b[0;39;48;2;13;20;16m \u001b[8;3H\u001b[0;38;2;229;238;229;48;2;13;20;16mNOTE:\u001b[8;9HThe\u001b[8;13HIntel\u001b[8;19H64\u001b[8;22Hand\u001b[8;26HIA-32\u001b[8;32HArchitectures Software Developer's Manual\u001b[8;74Hconsists\u001b[8;83Hof\u001b[8;86Hfour\u001b[8;91Hvolumes:\u001b[9;3HBasic\u001b[9;9HArchitecture,\u001b[9;23HOrder\u001b[9;29HNumber 253665; Instruction Set Reference, A-Z,\u001b[9;76HOrder\u001b[9;82HNumber\u001b[9;89H325383;\u001b[10;3HSystem\u001b[10;10HProgramming\u001b[10;22HGuide,\u001b[10;29HOrder Number 325384; Model-Specific Registers,\u001b[10;76HOrder\u001b[10;82HNumber\u001b[11;3H335592.\u001b[11;11HRefer\u001b[11;17Hto\u001b[11;20Hall\u001b[11;24Hfour\u001b[11;29Hvolumes when evaluating your design needs.\u001b[12;3HOrder\u001b[12;9HNumber:\u001b[12;18H325383-084US\u001b[12;32H\u001b[0;39;48;2;13;20;16m \u001b[13;3H\u001b[0;38;2;229;238;229;48;2;13;20;16mJune\u001b[13;8H2024\u001b[13;32H\u001b[0;39;48;2;13;20;16m \u001b[14;32H \u001b[15;32H \u001b[16;32H \u001b[17;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[18;1H\u001b[0;39;48;2;21;32;25m \u001b[18;3H\u001b[0;39;48;2;13;20;16m \u001b[18;10H \u001b[18;13H \u001b[18;17H \u001b[18;23H \u001b[19;3H \u001b[19;12H \u001b[19;24H \u001b[20;3H \u001b[20;10H \u001b[20;12H \u001b[20;17H \u001b[20;21H \u001b[20;25H \u001b[20;27H \u001b[21;3H \u001b[21;15H \u001b[21;19H \u001b[21;30H \u001b[22;3H \u001b[22;9H \u001b[22;13H \u001b[22;19H \u001b[22;22H \u001b[22;26H \u001b[22;32H \u001b[22;46H \u001b[22;55H \u001b[22;67H \u001b[22;74H \u001b[22;83H \u001b[22;86H \u001b[22;91H \u001b[23;3H \u001b[23;9H \u001b[23;23H \u001b[23;29H \u001b[23;36H \u001b[23;44H \u001b[23;56H \u001b[23;60H \u001b[23;71H \u001b[23;76H \u001b[23;82H \u001b[23;89H \u001b[24;3H \u001b[24;10H \u001b[24;22H \u001b[24;29H \u001b[24;35H \u001b[24;42H \u001b[24;50H \u001b[24;65H \u001b[24;76H \u001b[24;82H \u001b[25;3H \u001b[25;11H \u001b[25;17H \u001b[25;20H \u001b[25;24H \u001b[25;29H \u001b[25;37H \u001b[25;42H \u001b[25;53H \u001b[25;58H \u001b[25;65H \u001b[26;3H \u001b[26;9H \u001b[26;18H \u001b[27;3H \u001b[27;8H \u001b[0m\u001b[4;3H\u001b[?25h"]
+[14.35, "o", "\u001b[3;63H\u001b[0;38;2;245;247;238;48;2;91;126;90mPdfSections \u001b[0m\u001b[4;3H\u001b[?25h"]
+[14.85, "o", "\u001b[3;63H\u001b[0;38;2;190;207;196;48;2;49;71;56mPdfSections \u001b[4;88H\u001b[0;39;48;2;29;40;36m \u001b[0;38;2;178;195;184;48;2;29;40;36mPdfSections\u001b[0;39;48;2;29;40;36m \u001b[17;1H\u001b[0;38;2;255;255;255;48;2;73;102;86m \u001b[0;39;48;2;29;40;36m \u001b[0;38;2;178;195;184;48;2;29;40;36m/home/goblin/01-resources/\u001b[0;38;2;211;176;217;48;2;29;40;36m+PdfSections\u001b[0;38;2;178;195;184;48;2;29;40;36m Save Tty Collapse Del LocationsConfig\u001b[0;39;48;2;29;40;36m \u001b[18;1H\u001b[0;39;48;2;96;130;105m \u001b[18;6H\u001b[0;38;2;89;103;92;48;2;13;20;16m1\u001b[18;8Hintel-devref-ii.pdf:29:1\u001b[18;33H\u001b[0;38;2;229;238;229;48;2;13;20;16mChapter\u001b[18;41H1\u001b[18;43HAbout\u001b[18;49HThis\u001b[18;54HManual\u001b[19;6H\u001b[0;38;2;89;103;92;48;2;13;20;16m2\u001b[19;8Hintel-devref-ii.pdf:29:2\u001b[19;35H\u001b[0;38;2;229;238;229;48;2;13;20;16m1.1\u001b[19;39HOverview\u001b[19;48Hof\u001b[19;51HVolume\u001b[19;58H2A,\u001b[19;62H2B,\u001b[19;66H2C,\u001b[19;70Hand\u001b[19;74H2D:\u001b[19;78HInstruction\u001b[19;90HSet\u001b[19;94HRefere\u001b[0;38;2;89;103;92;48;2;13;20;16m↩\u001b[20;8H\u001b[0;38;2;229;238;229;48;2;13;20;16mnce\u001b[21;6H\u001b[0;38;2;89;103;92;48;2;13;20;16m3\u001b[21;8Hintel-devref-ii.pdf:31:3\u001b[21;33H\u001b[0;38;2;229;238;229;48;2;13;20;16mChapter\u001b[21;41H2\u001b[21;43HInstruction\u001b[21;55HFormat\u001b[22;6H\u001b[0;38;2;89;103;92;48;2;13;20;16m4\u001b[22;8Hintel-devref-ii.pdf:31:4\u001b[22;35H\u001b[0;38;2;229;238;229;48;2;13;20;16m2.1\u001b[22;39HInstruction\u001b[22;51HFormat\u001b[22;58Hfor\u001b[22;62HProtected\u001b[22;72HMode,\u001b[22;78Hreal-address\u001b[22;91HMode,\u001b[22;97Hand\u001b[0;38;2;89;103;92;48;2;13;20;16m↩\u001b[23;9H\u001b[0;38;2;229;238;229;48;2;13;20;16mvirtual-8086\u001b[23;22Hmode\u001b[24;6H\u001b[0;38;2;89;103;92;48;2;13;20;16m5\u001b[24;8Hintel-devref-ii.pdf:31:5\u001b[24;37H\u001b[0;38;2;229;238;229;48;2;13;20;16m2.1.1\u001b[24;43HInstruction\u001b[24;55HPrefixes\u001b[25;6H\u001b[0;38;2;89;103;92;48;2;13;20;16m6\u001b[25;8Hintel-devref-ii.pdf:33:6\u001b[25;37H\u001b[0;38;2;229;238;229;48;2;13;20;16m2.1.2\u001b[25;43HOpcodes\u001b[26;6H\u001b[0;38;2;89;103;92;48;2;13;20;16m7\u001b[26;8Hintel-devref-ii.pdf:33:7\u001b[26;37H\u001b[0;38;2;229;238;229;48;2;13;20;16m2.1.3\u001b[26;43HModR/M\u001b[26;50Hand\u001b[26;54HSIB\u001b[26;58HBytes\u001b[27;6H\u001b[0;38;2;89;103;92;48;2;13;20;16m8\u001b[27;8Hintel-devref-ii.pdf:33:8\u001b[27;37H\u001b[0;38;2;229;238;229;48;2;13;20;16m2.1.4\u001b[27;43HDisplacement\u001b[27;56Hand\u001b[27;60HImmediate\u001b[27;70HBytes\u001b[28;6H\u001b[0;38;2;89;103;92;48;2;13;20;16m9\u001b[28;8Hintel-devref-ii.pdf:34:9\u001b[28;37H\u001b[0;38;2;229;238;229;48;2;13;20;16m2.1.5\u001b[28;43HAddressing-Mode\u001b[28;59HEncoding\u001b[28;68Hof\u001b[28;71HModR/M\u001b[28;78Hand\u001b[28;82HSIB\u001b[28;86HBytes\u001b[29;5H\u001b[0;38;2;89;103;92;48;2;13;20;16m10\u001b[29;8Hintel-devref-ii.pdf:37:10\u001b[29;36H\u001b[0;38;2;229;238;229;48;2;13;20;16m2.2\u001b[29;40HIA-32e\u001b[29;47HMode\u001b[30;5H\u001b[0;38;2;89;103;92;48;2;13;20;16m11\u001b[30;8Hintel-devref-ii.pdf:37:11\u001b[30;38H\u001b[0;38;2;229;238;229;48;2;13;20;16m2.2.1\u001b[30;44HREX\u001b[30;48HPrefixes\u001b[0m\u001b[4;3H\u001b[?25h"]
+[16.15, "o", "\u001b[3;1H\u001b[0;38;2;255;255;255;48;2;73;102;86m \u001b[0;39;48;2;29;40;36m \u001b[0;38;2;178;195;184;48;2;29;40;36m/home/goblin/01-resources/\u001b[0;38;2;211;176;217;48;2;29;40;36mintel-devref-ii.pdf\u001b[0;38;2;178;195;184;48;2;29;40;36m [1/2515] Tty PdfSections PdfTint Collapse Del\u001b[0;39;48;2;29;40;36m \u001b[4;88H\u001b[0;39;48;2;13;20;16m \u001b[17;1H\u001b[0;38;2;0;0;0;48;2;173;211;138m \u001b[0;39;48;2;49;71;56m \u001b[0;38;2;190;207;196;48;2;49;71;56m/home/goblin/01-resources/\u001b[0;38;2;223;188;229;48;2;49;71;56m+PdfSections\u001b[0;38;2;190;207;196;48;2;49;71;56m Save Tty Collapse Del LocationsConfig\u001b[0;39;48;2;49;71;56m \u001b[0m\u001b[17;80H\u001b[?25h"]
+[16.45, "o", "\u001b[0m\u001b[17;81H\u001b[?25h"]
+[16.54, "o", "\u001b[17;81H\u001b[0;38;2;190;207;196;48;2;49;71;56mC\u001b[0m\u001b[17;82H\u001b[?25h"]
+[16.63, "o", "\u001b[17;82H\u001b[0;38;2;190;207;196;48;2;49;71;56mP\u001b[0m\u001b[17;83H\u001b[?25h"]
+[16.72, "o", "\u001b[17;83H\u001b[0;38;2;190;207;196;48;2;49;71;56mU\u001b[0m\u001b[17;84H\u001b[?25h"]
+[16.81, "o", "\u001b[17;84H\u001b[0;38;2;190;207;196;48;2;49;71;56mI\u001b[0m\u001b[17;85H\u001b[?25h"]
+[16.9, "o", "\u001b[17;85H\u001b[0;38;2;190;207;196;48;2;49;71;56mD\u001b[0m\u001b[17;86H\u001b[?25h"]
+[17.6, "o", "\u001b[17;81H\u001b[0;38;2;245;247;238;48;2;107;120;88mCPUID \u001b[0m\u001b[17;86H\u001b[?25h"]
+[18.0, "o", "\u001b[17;81H\u001b[0;38;2;190;207;196;48;2;49;71;56mCPUID\u001b[0;39;48;2;49;71;56m \u001b[18;1H\u001b[0;39;48;2;21;32;25m \u001b[18;5H\u001b[0;38;2;89;103;92;48;2;13;20;16m92\u001b[18;28H101:92\u001b[0;38;2;229;238;229;48;2;13;20;16m 3.1\u001b[18;41HInterpreting\u001b[18;54Hthe Instruction\u001b[18;70HReference\u001b[18;80HPages\u001b[19;1H\u001b[0;39;48;2;96;130;105m \u001b[19;5H\u001b[0;38;2;89;103;92;48;2;13;20;16m93\u001b[19;28H101:93\u001b[19;35H\u001b[0;38;2;229;238;229;48;2;13;20;16m \u001b[19;39H3.1.1 Instruction Format\u001b[0;39;48;2;13;20;16m \u001b[19;66H \u001b[19;70H \u001b[19;74H \u001b[19;78H \u001b[19;90H \u001b[19;94H \u001b[20;5H\u001b[0;38;2;89;103;92;48;2;13;20;16m94\u001b[20;8Hintel-devref-ii.pdf:102:94\u001b[20;41H\u001b[0;38;2;229;238;229;48;2;13;20;16m3.1.1.1\u001b[20;49HOpcode\u001b[20;56HColumn\u001b[20;63Hin\u001b[20;66Hthe\u001b[20;70HInstruction\u001b[20;82HSummary\u001b[20;90HTable\u001b[20;96H(Ins\u001b[0;38;2;89;103;92;48;2;13;20;16m↩\u001b[21;6H \u001b[21;8H\u001b[0;38;2;229;238;229;48;2;13;20;16mtructions without VEX Prefix)\u001b[0;39;48;2;13;20;16m \u001b[21;41H \u001b[21;43H \u001b[21;55H \u001b[22;5H\u001b[0;38;2;89;103;92;48;2;13;20;16m95\u001b[22;28H103:95\u001b[22;35H\u001b[0;38;2;229;238;229;48;2;13;20;16m \u001b[22;39H 3.1.1.2 Opc\u001b[22;53Hde Column in the Instruction Summary Tabl\u001b[22;95H (I\u001b[22;99Hs\u001b[23;8Htruc\u001b[23;13Hions with VEX\u001b[23;27Hprefix)\u001b[24;5H\u001b[0;38;2;89;103;92;48;2;13;20;16m96\u001b[24;28H105:96\u001b[24;37H\u001b[0;38;2;229;238;229;48;2;13;20;16m 3.1.1.3 Instruction Column\u001b[24;68Hin\u001b[24;71Hthe\u001b[24;75HOpcode\u001b[24;82HSummary\u001b[24;90HTable\u001b[25;5H\u001b[0;38;2;89;103;92;48;2;13;20;16m97\u001b[25;28H108:97\u001b[25;37H\u001b[0;38;2;229;238;229;48;2;13;20;16m 3.1.1.4 Operand\u001b[25;57HEncoding\u001b[25;66HColumn\u001b[25;73Hin\u001b[25;76Hthe\u001b[25;80HInstruction\u001b[25;92HSummary\u001b[25;100H\u001b[0;38;2;89;103;92;48;2;13;20;16m↩\u001b[26;6H \u001b[26;8H\u001b[0;38;2;229;238;229;48;2;13;20;16mTable\u001b[0;39;48;2;13;20;16m \u001b[26;37H \u001b[26;43H \u001b[26;50H \u001b[26;54H \u001b[26;58H \u001b[27;5H\u001b[0;38;2;89;103;92;48;2;13;20;16m9\u001b[27;28H108:98\u001b[27;37H\u001b[0;38;2;229;238;229;48;2;13;20;16m 3.1.1.5 64/32-bit Mode Column in the\u001b[27;78HInstruction\u001b[27;90HSummary\u001b[27;98HTa\u001b[0;38;2;89;103;92;48;2;13;20;16m↩\u001b[28;6H \u001b[28;8H\u001b[0;38;2;229;238;229;48;2;13;20;16mble\u001b[0;39;48;2;13;20;16m \u001b[28;37H \u001b[28;43H \u001b[28;59H \u001b[28;68H \u001b[28;71H \u001b[28;78H \u001b[28;82H \u001b[28;86H \u001b[29;5H\u001b[0;38;2;89;103;92;48;2;13;20;16m99\u001b[29;28H109:99\u001b[29;36H\u001b[0;38;2;229;238;229;48;2;13;20;16m \u001b[29;40H 3.1.1.6 \u001b[0;38;2;245;247;238;48;2;60;97;74mCPUID\u001b[29;55H\u001b[0;38;2;229;238;229;48;2;13;20;16mSupport\u001b[29;63HColumn\u001b[29;70Hin\u001b[29;73Hthe\u001b[29;77HInstruction\u001b[29;89HSummary\u001b[29;97HTab\u001b[0;38;2;89;103;92;48;2;13;20;16m↩\u001b[30;5H \u001b[30;8H\u001b[0;38;2;229;238;229;48;2;13;20;16mle\u001b[0;39;48;2;13;20;16m \u001b[30;38H \u001b[30;44H \u001b[30;48H \u001b[0m\u001b[17;86H\u001b[?25h"]
+[18.9, "o", "\u001b[17;81H\u001b[0;38;2;245;247;238;48;2;107;120;88mCPUID \u001b[0m\u001b[17;86H\u001b[?25h"]
+[19.3, "o", "\u001b[17;81H\u001b[0;38;2;190;207;196;48;2;49;71;56mCPUID\u001b[0;39;48;2;49;71;56m \u001b[18;4H\u001b[0;38;2;89;103;92;48;2;13;20;16m1\u001b[18;6H6\u001b[18;28H3\u001b[18;30H8\u001b[18;32H196\u001b[18;37H\u001b[0;38;2;229;238;229;48;2;13;20;16m CMPXCHG—Compare and Exchange\u001b[0;39;48;2;13;20;16m \u001b[18;70H \u001b[18;80H \u001b[19;1H\u001b[0;39;48;2;21;32;25m \u001b[19;4H\u001b[0;38;2;89;103;92;48;2;13;20;16m1\u001b[19;6H7\u001b[19;28H310\u001b[19;32H197\u001b[19;39H\u001b[0;38;2;229;238;229;48;2;13;20;16m CMPXCHG8B/CMPXCHG16B—Compare\u001b[19;69Hand\u001b[19;73HExchange\u001b[19;82HBytes\u001b[20;1H\u001b[0;39;48;2;96;130;105m \u001b[20;4H\u001b[0;38;2;89;103;92;48;2;13;20;16m1\u001b[20;6H8\u001b[20;28H313\u001b[20;32H198\u001b[20;40H\u001b[0;38;2;229;238;229;48;2;13;20;16mCOMISD—Com\u001b[20;51Hare Sca\u001b[20;59Har Ordered\u001b[20;70HDouble Precision Floating-Poin\u001b[21;9H Values and Set EFLAGS\u001b[0;39;48;2;13;20;16m \u001b[22;4H\u001b[0;38;2;89;103;92;48;2;13;20;16m1\u001b[22;6H9\u001b[22;28H315\u001b[22;32H199\u001b[22;40H\u001b[0;38;2;229;238;229;48;2;13;20;16mCOMISS—Com\u001b[22;51Hare Sca\u001b[22;59Har Ordered\u001b[22;70HSingle Precision Floating-Poin\u001b[23;9H Values and Set EFLAGS\u001b[0;39;48;2;13;20;16m \u001b[24;4H\u001b[0;38;2;89;103;92;48;2;13;20;16m200\u001b[24;28H317\u001b[24;32H200\u001b[24;40H\u001b[0;38;2;245;247;238;48;2;60;97;74mCPUID\u001b[0;38;2;229;238;229;48;2;13;20;16m—CPU Identif\u001b[24;58Hcati\u001b[24;63Hn\u001b[0;39;48;2;13;20;16m \u001b[24;68H \u001b[24;71H \u001b[24;75H \u001b[24;82H \u001b[24;90H \u001b[25;4H\u001b[0;38;2;89;103;92;48;2;13;20;16m201\u001b[25;28H31\u001b[25;32H201\u001b[25;41H\u001b[0;38;2;229;238;229;48;2;13;20;16m Basic CPUID Informat\u001b[25;63Hon\u001b[25;66H\u001b[0;39;48;2;13;20;16m \u001b[25;73H \u001b[25;76H \u001b[25;80H \u001b[25;92H \u001b[25;100H \u001b[26;4H\u001b[0;38;2;89;103;92;48;2;13;20;16m202\u001b[26;8Hintel-devref-ii.pdf:318:202\u001b[26;44H\u001b[0;38;2;229;238;229;48;2;13;20;16m0H\u001b[27;4H\u001b[0;38;2;89;103;92;48;2;13;20;16m203\u001b[27;28H31\u001b[27;32H203\u001b[27;41H\u001b[0;38;2;229;238;229;48;2;13;20;16m 0\u001b[27;46HH\u001b[0;39;48;2;13;20;16m \u001b[27;49H \u001b[27;59H \u001b[27;64H \u001b[27;71H \u001b[27;74H \u001b[27;78H \u001b[27;90H \u001b[27;98H \u001b[28;4H\u001b[0;38;2;89;103;92;48;2;13;20;16m204\u001b[28;8Hintel-devref-ii.pdf:318:204\u001b[28;44H\u001b[0;38;2;229;238;229;48;2;13;20;16m02H\u001b[29;4H\u001b[0;38;2;89;103;92;48;2;13;20;16m205\u001b[29;28H318\u001b[29;32H205\u001b[29;41H\u001b[0;38;2;229;238;229;48;2;13;20;16m 03H\u001b[0;39;48;2;13;20;16m \u001b[29;49H \u001b[29;55H \u001b[29;63H \u001b[29;70H \u001b[29;73H \u001b[29;77H \u001b[29;89H \u001b[29;97H \u001b[30;4H\u001b[0;38;2;89;103;92;48;2;13;20;16m206\u001b[30;8Hintel-devref-ii.pdf:318:206\u001b[30;42H\u001b[0;38;2;229;238;229;48;2;13;20;16mDeterministic\u001b[30;56HCache\u001b[30;62HParameters\u001b[30;73HLeaf\u001b[30;78H(Initial\u001b[30;87HEAX\u001b[30;91HValue\u001b[30;97H=\u001b[30;99H0\u001b[0m\u001b[17;86H\u001b[?25h"]
+[20.2, "o", "\u001b[24;8H\u001b[0;38;2;245;247;238;48;2;107;120;88mintel-devref-ii.pdf:317:\u001b[0m\u001b[17;86H\u001b[?25h"]
+[20.7, "o", "\u001b[3;1H\u001b[0;38;2;0;0;0;48;2;173;211;138m \u001b[0;39;48;2;49;71;56m \u001b[0;38;2;190;207;196;48;2;49;71;56m/home/goblin/01-resources/\u001b[0;38;2;223;188;229;48;2;49;71;56mintel-devref-ii.pdf\u001b[0;38;2;190;207;196;48;2;49;71;56m [317/2515] Tty PdfSections PdfTint Collapse Del\u001b[0;39;48;2;49;71;56m \u001b[4;1H\u001b[0;39;48;2;21;32;25m \u001b[4;3H\u001b[0;38;2;229;238;229;48;2;13;20;16mCPUID—CPU\u001b[4;13HIdentification\u001b[0;39;48;2;13;20;16m \u001b[5;1H\u001b[0;39;48;2;96;130;105m \u001b[5;3H\u001b[0;38;2;229;238;229;48;2;13;20;16mV\u001b[5;5Hl. 2A 3-217\u001b[0;39;48;2;13;20;16m \u001b[5;24H \u001b[6;3H\u001b[0;38;2;229;238;229;48;2;13;20;16mCPUID—CPU Identification\u001b[0;39;48;2;13;20;16m \u001b[7;15H\u001b[0;38;2;229;238;229;48;2;13;20;16mOperand Encoding\u001b[0;39;48;2;13;20;16m \u001b[8;3H\u001b[0;38;2;229;238;229;48;2;13;20;16mDescription\u001b[0;39;48;2;13;20;16m \u001b[8;19H \u001b[8;22H \u001b[8;26H \u001b[8;32H \u001b[8;46H \u001b[8;55H \u001b[8;67H \u001b[8;74H \u001b[8;83H \u001b[8;86H \u001b[8;91H \u001b[9;3H\u001b[0;38;2;229;238;229;48;2;13;20;16mThe ID flag (bit 21) in the EFLAGS register indicates support for the CPUID instruction. If a\u001b[9;97Hsoft\u001b[10;3Hset and clear this\u001b[10;22Hflag, the p\u001b[10;34Hocesso\u001b[10;42Hexecuting the pro\u001b[10;60Hedure support\u001b[10;74H the CPUID instruction.\u001b[10;98HThi\u001b[11;3Hoperates th\u001b[11;15H same in\u001b[11;24Hn\u001b[11;26Hn-64-bit modes and 64-b\u001b[11;50Ht mode.\u001b[11;58H\u001b[0;39;48;2;13;20;16m \u001b[11;65H \u001b[12;3H\u001b[0;38;2;229;238;229;48;2;13;20;16mCPUID\u001b[12;9Hreturns\u001b[12;17Hprocessor identification\u001b[12;42Hand\u001b[12;46Hfeature\u001b[12;54Hinformation\u001b[12;66Hin\u001b[12;69Hthe\u001b[12;73HEAX,\u001b[12;78HEBX,\u001b[12;83HECX,\u001b[12;88Hand\u001b[12;92HEDX\u001b[12;96Hregis\u001b[13;3Hinstruction’s\u001b[13;17Houtput\u001b[13;24His\u001b[13;27Hdependent\u001b[13;37Hon\u001b[13;40Hthe\u001b[13;44Hcontents\u001b[13;53Hof\u001b[13;56Hthe\u001b[13;60HEAX\u001b[13;64Hregister\u001b[13;73Hupon\u001b[13;78Hexecution\u001b[13;88H(in\u001b[13;92Hsome\u001b[13;97Hcase\u001b[14;3HFor\u001b[14;7Hexample,\u001b[14;16Hthe\u001b[14;20Hfollowing\u001b[14;30Hpseudocode\u001b[14;41Hloads\u001b[14;47HEAX\u001b[14;51Hwith\u001b[14;56H00H\u001b[14;60Hand\u001b[14;64Hcauses\u001b[14;71HCPUID\u001b[14;77Hto\u001b[14;80Hreturn\u001b[14;87Ha\u001b[14;89HMaximum\u001b[14;97HRetu\u001b[15;3Hand\u001b[15;7Hthe\u001b[15;11HVendor\u001b[15;18HIdentification\u001b[15;33HString\u001b[15;40Hin\u001b[15;43Hthe\u001b[15;47Happropriate\u001b[15;59Hregisters:\u001b[17;1H\u001b[0;38;2;255;255;255;48;2;73;102;86m \u001b[0;39;48;2;29;40;36m \u001b[0;38;2;178;195;184;48;2;29;40;36m/home/goblin/01-resources/\u001b[0;38;2;211;176;217;48;2;29;40;36m+PdfSections\u001b[0;38;2;178;195;184;48;2;29;40;36m Save Tty Collapse Del LocationsConfig CPUID\u001b[0;39;48;2;29;40;36m \u001b[24;8H\u001b[0;38;2;245;247;238;48;2;60;97;74mintel-devref-ii.pdf:317:200 \u001b[24;41H\u001b[0;38;2;229;238;229;48;2;13;20;16mPUID\u001b[0m\u001b[4;3H\u001b[?25h"]
+[22.5, "o", "\u001b[17;61H\u001b[0;38;2;245;247;238;48;2;91;126;90mDel \u001b[0m\u001b[4;3H\u001b[?25h"]
+[22.9, "o", "\u001b[5;1H\u001b[0;39;48;2;21;32;25m \u001b[7;1H\u001b[0;39;48;2;96;130;105m \u001b[16;3H\u001b[0;38;2;229;238;229;48;2;13;20;16mMOV\u001b[16;7HEAX,\u001b[16;12H00H\u001b[17;1H\u001b[0;39;48;2;21;32;25m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;229;238;229;48;2;13;20;16mCPUID\u001b[0;39;48;2;13;20;16m \u001b[18;3H\u001b[0;38;2;229;238;229;48;2;13;20;16mTable 3-17 shows information returned, depending on the initi\u001b[18;65Hl value\u001b[18;73Hloaded\u001b[18;80Hinto\u001b[18;85Hthe\u001b[18;89HEAX\u001b[18;93Hregister\u001b[19;3HTwo types of information are returned: basic and extended function information. If a\u001b[19;88Hvalue\u001b[19;94Hentered\u001b[20;1H\u001b[0;39;48;2;21;32;25m \u001b[20;3H\u001b[0;38;2;229;238;229;48;2;13;20;16mis higher than the maximum input\u001b[20;36Hvalue for basic or\u001b[20;55Hextended function for\u001b[20;77Hthat pr\u001b[20;85Hcess\u001b[20;90Hr then the \u001b[21;3Hhighest basic\u001b[21;17Hi\u001b[21;19Hformation leaf\u001b[21;34His\u001b[21;37Hreturned.\u001b[21;47HFor\u001b[21;51Hexample,\u001b[21;60Husing\u001b[21;66Hsome\u001b[21;71HIntel\u001b[21;77Hprocessors,\u001b[21;89Hthe\u001b[21;93Hfollowin\u001b[22;3HCPUID.EAX = 05H (* Returns MONITOR/MWAIT leaf. *) \u001b[0;39;48;2;13;20;16m \u001b[22;55H \u001b[22;62H \u001b[22;70H \u001b[22;77H \u001b[22;87H \u001b[23;3H\u001b[0;38;2;229;238;229;48;2;13;20;16mCPUID.EAX = 0AH (* Returns Architectural\u001b[23;44HPerformance\u001b[23;56HMonitoring\u001b[23;67Hleaf.\u001b[23;73H*)\u001b[24;3HCPUID.EAX = 0BH (* Returns Extended Topology Enum\u001b[24;53Hration leaf.\u001b[24;66H*)2\u001b[25;3HCPUID.EAX =1FH (* Returns V2 Extended\u001b[25;41HTopology Enumeration leaf.\u001b[25;68H*)2\u001b[26;3HCPUID.EAX = 80000008H (* Returns\u001b[26;36Hlinear/physical\u001b[26;52Haddress\u001b[26;60Hsize\u001b[26;65Hdata.\u001b[26;71H*)\u001b[27;3HCPUID.EAX = 8000000AH (* INVALID:\u001b[27;37HReturns same\u001b[27;50Hinformation\u001b[27;62Has\u001b[27;65HCPUID.EAX\u001b[27;75H=\u001b[27;77H0BH.\u001b[27;82H*)\u001b[28;3HIf a\u001b[28;8Hvalue entered for CPUID.EAX\u001b[28;36His\u001b[28;39Hless\u001b[28;44Hthan\u001b[28;49Hor\u001b[28;52Hequal\u001b[28;58Hto\u001b[28;61Hthe\u001b[28;65Hmaximum\u001b[28;73Hinput\u001b[28;79Hvalue\u001b[28;85Hand\u001b[28;89Hthe\u001b[28;93Hleaf\u001b[28;98His\u001b[29;3Hthat\u001b[29;8Hprocessor then 0 is returned\u001b[29;37Hin\u001b[29;40Hall\u001b[29;44Hthe\u001b[29;48Hregisters.\u001b[30;4H\u001b[0;39;48;2;13;20;16m \u001b[30;8H \u001b[30;42H \u001b[30;56H \u001b[30;62H \u001b[30;73H \u001b[30;78H \u001b[30;87H \u001b[30;91H \u001b[30;97H \u001b[30;99H \u001b[0m\u001b[4;3H\u001b[?25h"]
+[23.7, "o", "\u001b[0m\u001b[9;41H\u001b[?25h"]
+[24.0, "o", "\u001b[4;97H\u001b[0;39;48;2;29;40;36m \u001b[0;38;2;178;195;184;48;2;29;40;36m /\u001b[0;39;48;2;29;40;36m \u001b[0m\u001b[4;100H\u001b[?25h"]
+[24.3, "o", "\u001b[4;96H\u001b[0;39;48;2;29;40;36m \u001b[4;98H\u001b[0;38;2;178;195;184;48;2;29;40;36m/V\u001b[0m\u001b[4;100H\u001b[?25h"]
+[24.39, "o", "\u001b[4;95H\u001b[0;39;48;2;29;40;36m \u001b[4;97H\u001b[0;38;2;178;195;184;48;2;29;40;36m/Ve\u001b[0m\u001b[4;100H\u001b[?25h"]
+[24.48, "o", "\u001b[4;94H\u001b[0;39;48;2;29;40;36m \u001b[4;96H\u001b[0;38;2;178;195;184;48;2;29;40;36m/Ven\u001b[0m\u001b[4;100H\u001b[?25h"]
+[24.57, "o", "\u001b[4;93H\u001b[0;39;48;2;29;40;36m \u001b[4;95H\u001b[0;38;2;178;195;184;48;2;29;40;36m/Vend\u001b[0m\u001b[4;100H\u001b[?25h"]
+[24.66, "o", "\u001b[4;92H\u001b[0;39;48;2;29;40;36m \u001b[4;94H\u001b[0;38;2;178;195;184;48;2;29;40;36m/Vendo\u001b[0m\u001b[4;100H\u001b[?25h"]
+[24.75, "o", "\u001b[4;91H\u001b[0;39;48;2;29;40;36m \u001b[4;93H\u001b[0;38;2;178;195;184;48;2;29;40;36m/Vendor\u001b[0m\u001b[4;100H\u001b[?25h"]
+[25.05, "o", "\u001b[4;91H\u001b[0;39;48;2;13;20;16m \u001b[5;1H\u001b[0;39;48;2;96;130;105m \u001b[7;1H\u001b[0;39;48;2;21;32;25m \u001b[16;3H\u001b[0;39;48;2;13;20;16m \u001b[16;7H \u001b[16;12H \u001b[17;1H\u001b[0;38;2;255;255;255;48;2;73;102;86m \u001b[0;39;48;2;29;40;36m \u001b[0;38;2;178;195;184;48;2;29;40;36m/home/goblin/01-resources/\u001b[0;38;2;211;176;217;48;2;29;40;36m+Search\u001b[0;38;2;178;195;184;48;2;29;40;36m Save Tty Collapse Del LocationsConfig\u001b[0;39;48;2;29;40;36m \u001b[18;1H\u001b[0;39;48;2;96;130;105m \u001b[18;3H\u001b[0;38;2;89;103;92;48;2;13;20;16m 1 intel-devref-ii.pdf:317:1\u001b[0;39;48;2;13;20;16m \u001b[18;42H \u001b[18;52H \u001b[18;55H \u001b[18;59H \u001b[18;67H \u001b[18;73H \u001b[18;80H \u001b[18;85H \u001b[18;89H \u001b[18;93H \u001b[19;1H\u001b[0;39;48;2;96;130;105m \u001b[19;3H\u001b[0;38;2;89;103;92;48;2;13;20;16m 2 \u001b[0;38;2;229;238;229;48;2;13;20;16mVendor\u001b[0;39;48;2;13;20;16m \u001b[19;16H \u001b[19;28H \u001b[19;32H \u001b[19;42H \u001b[19;48H \u001b[19;52H \u001b[19;61H \u001b[19;70H \u001b[19;83H \u001b[19;86H \u001b[19;88H \u001b[19;94H \u001b[20;3H\u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[20;6H3 intel-devref-ii.pdf:332:1\u001b[0;39;48;2;13;20;16m \u001b[20;36H \u001b[20;42H \u001b[20;46H \u001b[20;52H \u001b[20;55H \u001b[20;64H \u001b[20;73H \u001b[20;77H \u001b[20;82H \u001b[20;92H \u001b[20;97H \u001b[21;3H\u001b[0;38;2;89;103;92;48;2;13;20;16m 4 \u001b[0;38;2;229;238;229;48;2;13;20;16mVendor\u001b[0;39;48;2;13;20;16m \u001b[21;17H \u001b[21;29H \u001b[21;34H \u001b[21;37H \u001b[21;47H \u001b[21;51H \u001b[21;60H \u001b[21;66H \u001b[21;71H \u001b[21;77H \u001b[21;89H \u001b[21;93H \u001b[22;3H\u001b[0;38;2;89;103;92;48;2;13;20;16m 5 intel-devref-ii.pdf:332:2\u001b[0;39;48;2;13;20;16m \u001b[22;44H \u001b[22;50H \u001b[23;3H\u001b[0;38;2;89;103;92;48;2;13;20;16m 6 \u001b[0;38;2;229;238;229;48;2;13;20;16mVendor\u001b[23;15H\u001b[0;39;48;2;13;20;16m \u001b[23;19H \u001b[23;22H \u001b[23;30H \u001b[23;44H \u001b[23;56H \u001b[23;67H \u001b[23;73H \u001b[24;3H\u001b[0;38;2;89;103;92;48;2;13;20;16m 7 intel-devref-ii.pdf:333:1\u001b[0;39;48;2;13;20;16m \u001b[24;39H \u001b[24;48H \u001b[24;60H \u001b[24;66H \u001b[25;3H\u001b[0;38;2;89;103;92;48;2;13;20;16m 8 \u001b[0;38;2;229;238;229;48;2;13;20;16mVendor\u001b[0;39;48;2;13;20;16m \u001b[25;18H \u001b[25;21H \u001b[25;29H \u001b[25;32H \u001b[25;41H \u001b[25;50H \u001b[25;62H \u001b[25;68H \u001b[26;3H\u001b[0;38;2;89;103;92;48;2;13;20;16m 9 intel-devref-ii.pdf:333:2\u001b[0;39;48;2;13;20;16m \u001b[26;36H \u001b[26;52H \u001b[26;60H \u001b[26;65H \u001b[26;71H \u001b[27;3H\u001b[0;38;2;89;103;92;48;2;13;20;16m 10 \u001b[0;38;2;229;238;229;48;2;13;20;16mVendor\u001b[27;15H\u001b[0;39;48;2;13;20;16m \u001b[27;25H \u001b[27;28H \u001b[27;37H \u001b[27;45H \u001b[27;50H \u001b[27;62H \u001b[27;65H \u001b[27;75H \u001b[27;77H \u001b[27;82H \u001b[28;3H\u001b[0;38;2;89;103;92;48;2;13;20;16m 11\u001b[28;8Hintel-devref-ii.pdf:333:3\u001b[0;39;48;2;13;20;16m \u001b[28;36H \u001b[28;39H \u001b[28;44H \u001b[28;49H \u001b[28;52H \u001b[28;58H \u001b[28;61H \u001b[28;65H \u001b[28;73H \u001b[28;79H \u001b[28;85H \u001b[28;89H \u001b[28;93H \u001b[28;98H \u001b[29;3H\u001b[0;38;2;89;103;92;48;2;13;20;16m 12\u001b[29;8H\u001b[0;38;2;229;238;229;48;2;13;20;16mVendor\u001b[0;39;48;2;13;20;16m \u001b[29;18H \u001b[29;23H \u001b[29;25H \u001b[29;28H \u001b[29;37H \u001b[29;40H \u001b[29;44H \u001b[29;48H \u001b[30;5H\u001b[0;38;2;89;103;92;48;2;13;20;16m13\u001b[30;8Hintel-devref-ii.pdf:333:4\u001b[0m\u001b[9;41H\u001b[?25h"]
+[27.05, "o", ""]
diff --git a/docs/site/casts/terminals.cast b/docs/site/casts/terminals.cast
new file mode 100644
index 00000000..ee23ccf5
--- /dev/null
+++ b/docs/site/casts/terminals.cast
@@ -0,0 +1,59 @@
+{"version": 2, "width": 100, "height": 30, "title": "Terminals as panes", "env": {"TERM": "xterm-256color", "SHELL": "/bin/sh"}}
+[0.0, "o", "\u001b[?25l\u001b[0m\u001b[2J\u001b[1;1H\u001b[0;38;2;178;195;184;48;2;29;40;36mNewcol Joincol Find Grep Help Changelog Tutor Dump Themes Config Debug Exit\u001b[0;39;48;2;29;40;36m \u001b[2;1H\u001b[0;38;2;255;255;255;48;2;136;116;85m \u001b[0;39;48;2;49;71;56m \u001b[0;38;2;190;207;196;48;2;49;71;56mNew Tty Find Grep Joincol Delcol\u001b[0;39;48;2;49;71;56m \u001b[3;1H\u001b[0;38;2;0;0;0;48;2;173;211;138m \u001b[0;39;48;2;49;71;56m \u001b[0;38;2;190;207;196;48;2;49;71;56m/tmp/cast/hello/\u001b[0;38;2;223;188;229;48;2;49;71;56mNOTES\u001b[0;38;2;190;207;196;48;2;49;71;56m Save Tty Collapse Del\u001b[0;39;48;2;49;71;56m \u001b[4;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;97;111;100;48;2;13;20;16;1m 1 \u001b[0;38;2;229;238;229;48;2;13;20;16mhello: notes\u001b[0;39;48;2;13;20;16m \u001b[5;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m 2 \u001b[0;39;48;2;13;20;16m \u001b[6;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m 3 \u001b[0;38;2;229;238;229;48;2;13;20;16mThe sum of the squares of 1 to 4 is 30.\u001b[0;39;48;2;13;20;16m \u001b[7;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m 4 \u001b[0;38;2;229;238;229;48;2;13;20;16mWhat ./hello prints:\u001b[0;39;48;2;13;20;16m \u001b[8;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m 5 \u001b[0;39;48;2;13;20;16m \u001b[9;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m 6 \u001b[0;39;48;2;13;20;16m \u001b[10;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[11;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[12;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[13;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[14;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[15;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[16;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[17;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[18;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[19;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[20;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[21;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[22;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[23;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[24;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[25;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[26;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[27;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[28;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[29;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[30;1H\u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[0;39;48;2;13;20;16m \u001b[0m\u001b[4;8H\u001b[?25h"]
+[1.2, "o", "\u001b[3;31H\u001b[0;38;2;245;247;238;48;2;91;126;90mTty \u001b[0m\u001b[4;8H\u001b[?25h"]
+[1.7, "o", "\u001b[3;1H\u001b[0;38;2;255;255;255;48;2;73;102;86m \u001b[0;39;48;2;29;40;36m \u001b[0;38;2;178;195;184;48;2;29;40;36m/tmp/cast/hello/\u001b[0;38;2;211;176;217;48;2;29;40;36mNOTES\u001b[0;38;2;178;195;184;48;2;29;40;36m Save Tty Collapse Del\u001b[0;39;48;2;29;40;36m \u001b[4;3H\u001b[0;38;2;89;103;92;48;2;13;20;16m 1 \u001b[4;96H\u001b[0;39;48;2;29;40;36m \u001b[0;38;2;178;195;184;48;2;29;40;36mTty\u001b[0;39;48;2;29;40;36m \u001b[8;1H\u001b[0;39;48;2;21;32;25m \u001b[9;1H\u001b[0;38;2;0;0;0;48;2;173;211;138m$ \u001b[0;39;48;2;49;71;56m \u001b[0;38;2;190;207;196;48;2;49;71;56m/tmp/cast/hello \u001b[0;38;2;223;188;229;48;2;49;71;56mTty+sh\u001b[0;38;2;190;207;196;48;2;49;71;56m Save Mode Filter Collapse Del\u001b[0;39;48;2;49;71;56m \u001b[10;3H\u001b[0;38;2;229;238;229;48;2;13;20;16m$\u001b[0m\u001b[10;5H\u001b[?25h"]
+[2.7, "o", "\u001b[4;96H\u001b[0;39;48;2;13;20;16m \u001b[9;1H\u001b[0;38;2;0;0;0;48;2;173;211;138m \u001b[0m\u001b[10;5H\u001b[?25h"]
+[3.0, "o", "\u001b[2;3H\u001b[0;39;48;2;29;40;36m \u001b[0;38;2;178;195;184;48;2;29;40;36mNew Tty Find Grep Joincol Delcol\u001b[0;39;48;2;29;40;36m \u001b[0;38;2;255;255;255;48;2;136;116;85m \u001b[2;54H\u001b[0;38;2;190;207;196;48;2;49;71;56mNew\u001b[2;58HTty\u001b[2;62HFind\u001b[2;67HGrep\u001b[2;72HJoincol\u001b[2;80HDelcol\u001b[3;51H\u001b[0;38;2;0;0;0;48;2;173;211;138m \u001b[0;39;48;2;49;71;56m \u001b[0;38;2;190;207;196;48;2;49;71;56m/tmp/cast/hello \u001b[0;38;2;223;188;229;48;2;49;71;56mTty+sh\u001b[0;38;2;190;207;196;48;2;49;71;56m Save Mode Filter Collaps\u001b[4;51H\u001b[0;39;48;2;49;71;56m \u001b[0;38;2;190;207;196;48;2;49;71;56me Del\u001b[0;39;48;2;49;71;56m \u001b[5;51H\u001b[0;39;48;2;96;130;105m \u001b[5;53H\u001b[0;38;2;229;238;229;48;2;13;20;16m$\u001b[6;51H\u001b[0;39;48;2;96;130;105m \u001b[7;51H \u001b[8;1H \u001b[8;51H \u001b[9;1H \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;89;103;92;48;2;13;20;16m 6 \u001b[0;39;48;2;13;20;16m \u001b[0;39;48;2;96;130;105m \u001b[0;39;48;2;13;20;16m \u001b[0;38;2;229;238;229;48;2;13;20;16m \u001b[10;3H\u001b[0;38;2;89;103;92;48;2;13;20;16m \u001b[10;51H\u001b[0;39;48;2;96;130;105m \u001b[11;51H \u001b[12;51H \u001b[13;51H \u001b[14;51H \u001b[15;51H \u001b[16;51H \u001b[17;51H \u001b[18;51H \u001b[19;51H \u001b[20;51H \u001b[21;51H \u001b[22;51H \u001b[23;51H \u001b[24;51H \u001b[25;51H \u001b[26;51H \u001b[27;51H \u001b[28;51H \u001b[29;51H \u001b[30;51H \u001b[0m\u001b[5;55H\u001b[?25h"]
+[3.4, "o", "\u001b[3;51H\u001b[0;38;2;0;0;0;48;2;173;211;138m$\u001b[0m\u001b[5;55H\u001b[?25h"]
+[4.0, "o", "\u001b[5;55H\u001b[0;38;2;229;238;229;48;2;13;20;16mm\u001b[0m\u001b[5;56H\u001b[?25h"]
+[4.07, "o", "\u001b[5;56H\u001b[0;38;2;229;238;229;48;2;13;20;16ma\u001b[0m\u001b[5;57H\u001b[?25h"]
+[4.14, "o", "\u001b[5;57H\u001b[0;38;2;229;238;229;48;2;13;20;16mk\u001b[0m\u001b[5;58H\u001b[?25h"]
+[4.21, "o", "\u001b[5;58H\u001b[0;38;2;229;238;229;48;2;13;20;16me\u001b[0m\u001b[5;59H\u001b[?25h"]
+[4.28, "o", "\u001b[0m\u001b[5;60H\u001b[?25h"]
+[4.35, "o", "\u001b[5;60H\u001b[0;38;2;229;238;229;48;2;13;20;16m&\u001b[0m\u001b[5;61H\u001b[?25h"]
+[4.42, "o", "\u001b[5;61H\u001b[0;38;2;229;238;229;48;2;13;20;16m&\u001b[0m\u001b[5;62H\u001b[?25h"]
+[4.49, "o", "\u001b[0m\u001b[5;63H\u001b[?25h"]
+[4.56, "o", "\u001b[5;63H\u001b[0;38;2;229;238;229;48;2;13;20;16m.\u001b[0m\u001b[5;64H\u001b[?25h"]
+[4.63, "o", "\u001b[5;64H\u001b[0;38;2;229;238;229;48;2;13;20;16m/\u001b[0m\u001b[5;65H\u001b[?25h"]
+[4.7, "o", "\u001b[5;65H\u001b[0;38;2;229;238;229;48;2;13;20;16mh\u001b[0m\u001b[5;66H\u001b[?25h"]
+[4.77, "o", "\u001b[5;66H\u001b[0;38;2;229;238;229;48;2;13;20;16me\u001b[0m\u001b[5;67H\u001b[?25h"]
+[4.84, "o", "\u001b[5;67H\u001b[0;38;2;229;238;229;48;2;13;20;16ml\u001b[0m\u001b[5;68H\u001b[?25h"]
+[4.91, "o", "\u001b[5;68H\u001b[0;38;2;229;238;229;48;2;13;20;16ml\u001b[0m\u001b[5;69H\u001b[?25h"]
+[4.98, "o", "\u001b[5;69H\u001b[0;38;2;229;238;229;48;2;13;20;16mo\u001b[0m\u001b[5;70H\u001b[?25h"]
+[5.38, "o", "\u001b[6;53H\u001b[0;38;2;229;238;229;48;2;13;20;16msquares:\u001b[6;62H30\u001b[7;53H$\u001b[0m\u001b[7;55H\u001b[?25h"]
+[6.58, "o", "\u001b[3;51H\u001b[0;38;2;0;0;0;48;2;173;211;138m \u001b[0m\u001b[7;55H\u001b[?25h"]
+[7.18, "o", "\u001b[0m\u001b[6;55H\u001b[?25h"]
+[7.58, "o", "\u001b[6;53H\u001b[0;38;2;245;247;238;48;2;60;97;74msquares: 30 \u001b[0m\u001b[6;64H\u001b[?25h"]
+[8.88, "o", "\u001b[2;3H\u001b[0;39;48;2;49;71;56m \u001b[0;38;2;190;207;196;48;2;49;71;56mNew Tty Find Grep Joincol Delcol\u001b[0;39;48;2;49;71;56m \u001b[2;53H\u001b[0;39;48;2;29;40;36m \u001b[0;38;2;178;195;184;48;2;29;40;36mNew Tty Find Grep Joincol Delcol\u001b[0;39;48;2;29;40;36m \u001b[3;1H\u001b[0;38;2;0;0;0;48;2;173;211;138m \u001b[0;39;48;2;49;71;56m \u001b[0;38;2;190;207;196;48;2;49;71;56m/tmp/cast/hello/\u001b[0;38;2;223;188;229;48;2;49;71;56mNOTES\u001b[0;38;2;190;207;196;48;2;49;71;56m Save Tty Collapse Del\u001b[0;39;48;2;49;71;56m \u001b[0;38;2;255;255;255;48;2;73;102;86m \u001b[0;39;48;2;29;40;36m \u001b[0;38;2;178;195;184;48;2;29;40;36m/tmp/cast/hello \u001b[0;38;2;211;176;217;48;2;29;40;36mTty+sh\u001b[0;38;2;178;195;184;48;2;29;40;36m Save Mode Filter Collaps\u001b[4;3H\u001b[0;38;2;97;111;100;48;2;13;20;16;1m 1 \u001b[4;51H\u001b[0;39;48;2;29;40;36m \u001b[0;38;2;178;195;184;48;2;29;40;36me Del\u001b[0;39;48;2;29;40;36m \u001b[5;95H \u001b[0;38;2;178;195;184;48;2;29;40;36mLeft\u001b[0;39;48;2;29;40;36m \u001b[0m\u001b[4;8H\u001b[?25h"]
+[9.48, "o", "\u001b[5;95H\u001b[0;38;2;229;238;229;48;2;13;20;16m \u001b[0m\u001b[4;8H\u001b[?25h"]
+[9.7, "o", "\u001b[4;3H\u001b[0;38;2;89;103;92;48;2;13;20;16m 1 \u001b[8;3H\u001b[0;38;2;97;111;100;48;2;13;20;16;1m 5 \u001b[0m\u001b[8;8H\u001b[?25h"]
+[10.2, "o", "\u001b[3;2H\u001b[0;38;2;0;0;0;48;2;249;203;112;1m*\u001b[8;3H\u001b[0;38;2;89;103;92;48;2;13;20;16m 5 \u001b[9;3H\u001b[0;38;2;97;111;100;48;2;13;20;16;1m 6 \u001b[0;38;2;245;247;238;48;2;60;97;74msquares: 30 \u001b[10;6H\u001b[0;38;2;89;103;92;48;2;13;20;16m7\u001b[0m\u001b[9;19H\u001b[?25h"]
+[11.4, "o", "\u001b[2;3H\u001b[0;39;48;2;29;40;36m \u001b[0;38;2;178;195;184;48;2;29;40;36mNew Tty Find Grep Joincol Delcol\u001b[0;39;48;2;29;40;36m \u001b[2;53H\u001b[0;39;48;2;49;71;56m \u001b[0;38;2;190;207;196;48;2;49;71;56mNew Tty Find Grep Joincol Delcol\u001b[0;39;48;2;49;71;56m \u001b[3;1H\u001b[0;38;2;255;255;255;48;2;73;102;86m \u001b[3;3H\u001b[0;39;48;2;29;40;36m \u001b[0;38;2;178;195;184;48;2;29;40;36m/tmp/cast/hello/\u001b[0;38;2;211;176;217;48;2;29;40;36mNOTES\u001b[0;38;2;178;195;184;48;2;29;40;36m Save Tty Collapse Del\u001b[0;39;48;2;29;40;36m \u001b[0;38;2;0;0;0;48;2;173;211;138m \u001b[0;39;48;2;49;71;56m \u001b[0;38;2;190;207;196;48;2;49;71;56m/tmp/cast/hello \u001b[0;38;2;223;188;229;48;2;49;71;56mTty+sh\u001b[0;38;2;190;207;196;48;2;49;71;56m Save Mode Filter Collaps\u001b[4;44H\u001b[0;39;48;2;29;40;36m \u001b[0;38;2;178;195;184;48;2;29;40;36mRight\u001b[0;39;48;2;29;40;36m \u001b[0;39;48;2;49;71;56m \u001b[0;38;2;190;207;196;48;2;49;71;56me Del\u001b[0;39;48;2;49;71;56m \u001b[9;3H\u001b[0;38;2;89;103;92;48;2;13;20;16m 6 \u001b[0m\u001b[6;64H\u001b[?25h"]
+[11.8, "o", "\u001b[3;51H\u001b[0;38;2;0;0;0;48;2;173;211;138m$\u001b[4;44H\u001b[0;39;48;2;13;20;16m \u001b[6;53H\u001b[0;38;2;229;238;229;48;2;13;20;16msquares: 30 \u001b[0m\u001b[7;55H\u001b[?25h"]
+[12.4, "o", "\u001b[7;55H\u001b[0;38;2;229;238;229;48;2;13;20;16mg\u001b[0m\u001b[7;56H\u001b[?25h"]
+[12.47, "o", "\u001b[7;56H\u001b[0;38;2;229;238;229;48;2;13;20;16mi\u001b[0m\u001b[7;57H\u001b[?25h"]
+[12.54, "o", "\u001b[7;57H\u001b[0;38;2;229;238;229;48;2;13;20;16mt\u001b[0m\u001b[7;58H\u001b[?25h"]
+[12.61, "o", "\u001b[0m\u001b[7;59H\u001b[?25h"]
+[12.68, "o", "\u001b[7;59H\u001b[0;38;2;229;238;229;48;2;13;20;16ml\u001b[0m\u001b[7;60H\u001b[?25h"]
+[12.75, "o", "\u001b[7;60H\u001b[0;38;2;229;238;229;48;2;13;20;16mo\u001b[0m\u001b[7;61H\u001b[?25h"]
+[12.82, "o", "\u001b[7;61H\u001b[0;38;2;229;238;229;48;2;13;20;16mg\u001b[0m\u001b[7;62H\u001b[?25h"]
+[12.89, "o", "\u001b[0m\u001b[7;63H\u001b[?25h"]
+[12.96, "o", "\u001b[7;63H\u001b[0;38;2;229;238;229;48;2;13;20;16m-\u001b[0m\u001b[7;64H\u001b[?25h"]
+[13.03, "o", "\u001b[7;64H\u001b[0;38;2;229;238;229;48;2;13;20;16m-\u001b[0m\u001b[7;65H\u001b[?25h"]
+[13.1, "o", "\u001b[7;65H\u001b[0;38;2;229;238;229;48;2;13;20;16ms\u001b[0m\u001b[7;66H\u001b[?25h"]
+[13.17, "o", "\u001b[7;66H\u001b[0;38;2;229;238;229;48;2;13;20;16mt\u001b[0m\u001b[7;67H\u001b[?25h"]
+[13.24, "o", "\u001b[7;67H\u001b[0;38;2;229;238;229;48;2;13;20;16ma\u001b[0m\u001b[7;68H\u001b[?25h"]
+[13.31, "o", "\u001b[7;68H\u001b[0;38;2;229;238;229;48;2;13;20;16mt\u001b[0m\u001b[7;69H\u001b[?25h"]
+[13.38, "o", "\u001b[0m\u001b[7;70H\u001b[?25h"]
+[13.45, "o", "\u001b[7;70H\u001b[0;38;2;229;238;229;48;2;13;20;16m|\u001b[0m\u001b[7;71H\u001b[?25h"]
+[13.52, "o", "\u001b[0m\u001b[7;72H\u001b[?25h"]
+[13.59, "o", "\u001b[7;72H\u001b[0;38;2;229;238;229;48;2;13;20;16mp\u001b[0m\u001b[7;73H\u001b[?25h"]
+[13.66, "o", "\u001b[7;73H\u001b[0;38;2;229;238;229;48;2;13;20;16ma\u001b[0m\u001b[7;74H\u001b[?25h"]
+[13.73, "o", "\u001b[7;74H\u001b[0;38;2;229;238;229;48;2;13;20;16mr\u001b[0m\u001b[7;75H\u001b[?25h"]
+[13.8, "o", "\u001b[7;75H\u001b[0;38;2;229;238;229;48;2;13;20;16md\u001b[0m\u001b[7;76H\u001b[?25h"]
+[13.87, "o", "\u001b[7;76H\u001b[0;38;2;229;238;229;48;2;13;20;16me\u001b[0m\u001b[7;77H\u001b[?25h"]
+[13.94, "o", "\u001b[7;77H\u001b[0;38;2;229;238;229;48;2;13;20;16ms\u001b[0m\u001b[7;78H\u001b[?25h"]
+[14.01, "o", "\u001b[0m\u001b[7;79H\u001b[?25h"]
+[14.08, "o", "\u001b[7;79H\u001b[0;38;2;229;238;229;48;2;13;20;16m-\u001b[0m\u001b[7;80H\u001b[?25h"]
+[14.48, "o", "\u001b[8;53H\u001b[0;38;2;229;238;229;48;2;13;20;16m$\u001b[18;51H\u001b[0;38;2;255;255;255;48;2;73;102;86m \u001b[0;39;48;2;29;40;36m \u001b[0;38;2;178;195;184;48;2;29;40;36m/tmp/cast/hello/\u001b[0;38;2;211;176;217;48;2;29;40;36m+Pager\u001b[0;38;2;178;195;184;48;2;29;40;36m Save Tty Collapse Del\u001b[0;39;48;2;29;40;36m \u001b[19;56H\u001b[0;38;2;89;103;92;48;2;13;20;16m1\u001b[19;58H\u001b[0;38;2;233;198;128;48;2;13;20;16mcommit\u001b[19;65H432f284\u001b[20;56H\u001b[0;38;2;89;103;92;48;2;13;20;16m2\u001b[20;58H\u001b[0;38;2;229;238;229;48;2;13;20;16mAuthor:\u001b[20;66HDemo\u001b[20;71H<[email protected]>\u001b[21;56H\u001b[0;38;2;89;103;92;48;2;13;20;16m3\u001b[21;58H\u001b[0;38;2;229;238;229;48;2;13;20;16mDate:\u001b[21;66HSun\u001b[21;70HSep\u001b[21;74H27\u001b[21;77H16:40:00\u001b[21;86H2026\u001b[21;91H+0000\u001b[22;56H\u001b[0;38;2;89;103;92;48;2;13;20;16m4\u001b[23;51H\u001b[0;39;48;2;21;32;25m \u001b[23;56H\u001b[0;38;2;89;103;92;48;2;13;20;16m5\u001b[23;62H\u001b[0;38;2;229;238;229;48;2;13;20;16mKeep\u001b[23;67Hnotes\u001b[24;51H\u001b[0;39;48;2;21;32;25m \u001b[24;56H\u001b[0;38;2;89;103;92;48;2;13;20;16m6\u001b[25;51H\u001b[0;39;48;2;21;32;25m \u001b[25;56H\u001b[0;38;2;89;103;92;48;2;13;20;16m7\u001b[25;59H\u001b[0;38;2;229;238;229;48;2;13;20;16mNOTES\u001b[25;65H|\u001b[25;67H5\u001b[25;69H\u001b[0;38;2;182;206;148;48;2;13;20;16m+++++\u001b[26;51H\u001b[0;39;48;2;21;32;25m \u001b[26;56H\u001b[0;38;2;89;103;92;48;2;13;20;16m8\u001b[26;59H\u001b[0;38;2;229;238;229;48;2;13;20;16m1\u001b[26;61Hfile\u001b[26;66Hchanged,\u001b[26;75H5\u001b[26;77Hinsertions(+)\u001b[27;51H\u001b[0;39;48;2;21;32;25m \u001b[27;56H\u001b[0;38;2;89;103;92;48;2;13;20;16m9\u001b[28;51H\u001b[0;39;48;2;21;32;25m \u001b[28;55H\u001b[0;38;2;89;103;92;48;2;13;20;16m10\u001b[28;58H\u001b[0;38;2;233;198;128;48;2;13;20;16mcommit\u001b[28;65Hc8da8c6\u001b[29;51H\u001b[0;39;48;2;21;32;25m \u001b[29;55H\u001b[0;38;2;89;103;92;48;2;13;20;16m11\u001b[29;58H\u001b[0;38;2;229;238;229;48;2;13;20;16mAuthor:\u001b[29;66HDemo\u001b[29;71H<[email protected]>\u001b[30;51H\u001b[0;39;48;2;21;32;25m \u001b[30;55H\u001b[0;38;2;89;103;92;48;2;13;20;16m12\u001b[30;58H\u001b[0;38;2;229;238;229;48;2;13;20;16mDate:\u001b[30;66HThu\u001b[30;70HSep\u001b[30;74H24\u001b[30;77H09:15:00\u001b[30;86H2026\u001b[30;91H+0000\u001b[0m\u001b[8;55H\u001b[?25h"]
+[16.48, "o", ""]
diff --git a/test/record_casts.py b/test/record_casts.py
new file mode 100644
index 00000000..d0daff11
--- /dev/null
+++ b/test/record_casts.py
@@ -0,0 +1,937 @@
+#!/usr/bin/env python3
+"""Record the documentation site's terminal casts (asciicast v2).
+
+zig build -Dplatform=tty -Doptimize=ReleaseSafe --prefix <scratch dir>
+python3 -B test/record_casts.py <scratch dir>/bin/pardes [cast ...] [--show]
+
+Each cast runs the tty pardes in a pty this script owns, sized 100x30 with
+TIOCSWINSZ, and plays the part of a plain xterm: it answers the queries an
+xterm answers (device attributes, device status, cursor position,
+XTVERSION, DECRQM as "not recognised", window sizes) and nothing else, so
+kitty graphics and the kitty keyboard stay unanswered: images are drawn
+as PETSCII glyph art, and a PDF as its text layer. Keys and SGR mouse
+reports are scripted.
+
+A cast is cut into steps: after each scripted input the recorder waits
+until the screen shows what the step waits for and pardes has drawn and
+gone idle, then stamps the step at its time on a virtual clock (starting
+at 0, a scripted hold between steps, no gap over 2 s). pyte follows the
+screen pardes draws, and an event is the cells the step changed, drawn
+afresh: how many frames pardes took to get there (a shell's output racing
+them) never reaches the file, so the same input makes the same cast.
+Wall-clock time never reaches it either. The bytes pardes wrote, stamped
+the same way, go to <work>/<name>.raw.cast beside it.
+
+--show replays each finished cast through pyte, prints its last frame
+(or the one --at seconds in) and draws it to <work>/<name>.png.
+
+Nothing of the caller's environment reaches the recording: the session
+gets a home, config, runtime and cache dirs under --work, a PATH with the
+recorded pardes first, and no PARDES_*, 9P mount, display or bus. The demo
+project and pictures live under /tmp/cast (short paths for the tags, a
+few hundred KB) and are removed after. The PDF (--pdf) is only read,
+through a symlink.
+
+Needs pyte and Pillow (in a venv), cc, make and git.
+"""
+import argparse
+import codecs
+import contextlib
+import fcntl
+import json
+import math
+import os
+from pathlib import Path
+import re
+import shutil
+import signal
+import struct
+import subprocess
+import termios
+import threading
+import time
+
+import pyte
+
+REPO = Path(__file__).resolve().parent.parent
+OUT = REPO / 'docs/site/casts'
+COLS, ROWS = 100, 30
+CELL_W, CELL_H = 10, 20 # the pixels a cell claims to be, for TIOCSWINSZ and CSI 14/16 t
+MAX_GAP = 2.0
+PROJECT = Path('/tmp/cast/hello')
+
+# ---------------------------------------------------------------------------
+# the terminal: queries answered as a plain xterm answers them
+
+DA1 = b'\x1b[?64;1;2;6;9;15;16;17;18;21;22;28c'
+XTVERSION = b'\x1bP>|XTerm(390)\x1b\\'
+
+# Everything pardes asks its terminal, answered in _answer as an xterm
+# would; what xterm ignores (kitty's queries, OSC 66) goes unanswered.
+# None of it reaches the cast.
+QUERY = re.compile(rb'''
+ \x1b\[\?(?P<decrqm>\d+)\$p # DECRQM: answered "not recognised"
+ | \x1b\[(?P<cpr>6)n # cursor position
+ | \x1b\[(?P<dsr>5)n # device status: each frame ends asking it
+ | \x1b\[(?P<da1>0?)c # primary device attributes
+ | \x1b\[>(?P<xtv>0?)q # XTVERSION
+ | \x1b\[(?P<winop>1[468])t # window/cell size in pixels, size in cells
+ | \x1b\[>\x20q # kitty multi-cursor query
+ | \x1b\[\?u # kitty keyboard query
+ | \x1b_G[^\x1b]*\x1b\\ # kitty graphics
+ | \x1b\]66;[^\x07\x1b]*(?:\x07|\x1b\\) # explicit width / scaled text
+ | \x1b\[\?2048h # in-band resize reports
+''', re.X)
+
+SGR = re.compile(rb'\x1b\[([0-9:;]*)m')
+
+
+def sgr_semicolons(m):
+ """Colon-form SGR (38:2:r:g:b, 4:3) in the semicolon form xterm, pyte
+ and asciinema's player all read; an underline colour (58) is dropped."""
+ params = m.group(1)
+ if b':' not in params:
+ return m.group(0)
+ out = []
+ for p in params.split(b';'):
+ if b':' not in p:
+ out.append(p)
+ continue
+ parts = p.split(b':')
+ if parts[0] in (b'38', b'48'):
+ if parts[1] == b'2' and len(parts) == 6: # 38:2:<colorspace>:r:g:b
+ parts = parts[:2] + parts[3:]
+ out.append(b';'.join(parts))
+ elif parts[0] == b'4':
+ out.append(b'4' if parts[1] != b'0' else b'24')
+ # 58:... (underline colour) has no semicolon form a player reads
+ return b'\x1b[' + b';'.join(out) + b'm'
+
+
+def incomplete_tail(buf):
+ """Where an escape sequence the buffer ends inside of starts, or None."""
+ i = buf.rfind(b'\x1b')
+ if i < 0:
+ return None
+ tail = buf[i:]
+ if len(tail) == 1:
+ return i
+ kind = tail[1:2]
+ if kind == b'[':
+ return None if re.match(rb'\x1b\[[\x30-\x3f]*[\x20-\x2f]*[\x40-\x7e]', tail) else i
+ if kind in (b']', b'_', b'P', b'^'):
+ # Ended by BEL, else open: its ST (ESC \\) would be a later ESC.
+ return None if b'\x07' in tail[2:] else i
+ return None
+
+
+def utf8_tail(buf):
+ """How many bytes at the end of buf start a UTF-8 sequence not yet whole."""
+ for back in range(1, min(4, len(buf)) + 1):
+ b = buf[-back]
+ if b & 0xC0 == 0x80:
+ continue
+ need = 2 if b & 0xE0 == 0xC0 else 3 if b & 0xF0 == 0xE0 else 4 if b & 0xF8 == 0xF0 else 1
+ return back if need > back else 0
+ return 0
+
+
+def clean_env(home, binary):
+ """The environment from nothing: no session, mount, display or bus of
+ the caller's, and the recorded pardes first on PATH."""
+ runtime = home / 'run'
+ env = dict(
+ PATH=f'{binary.parent}:/usr/local/bin:/usr/bin:/bin',
+ HOME=str(home), USER='demo', LOGNAME='demo',
+ SHELL='/bin/sh', TERM='xterm-256color', LANG='C.UTF-8', LC_ALL='C.UTF-8', TZ='UTC',
+ XDG_CONFIG_HOME=str(home / 'config'), XDG_DATA_HOME=str(home / 'data'),
+ XDG_STATE_HOME=str(home / 'state'), XDG_CACHE_HOME=str(home / 'cache'), XDG_RUNTIME_DIR=str(runtime),
+ PS1='$ ', GIT_CONFIG_NOSYSTEM='1',
+ GIT_AUTHOR_NAME='Demo', GIT_AUTHOR_EMAIL='[email protected]',
+ GIT_COMMITTER_NAME='Demo', GIT_COMMITTER_EMAIL='[email protected]',
+ # The session's own, set for the recording: no clock in messages, no
+ # language server racing the keys.
+ PARDES_NOTIME='1',
+ )
+ for language in ['RS', 'C', 'GO', 'TS', 'PY', 'ZIG']:
+ env['PARDES_LSP_' + language] = ''
+ return env
+
+
+def descendants(pid):
+ """pid's descendants, by /proc's parent links."""
+ children = {}
+ for d in Path('/proc').iterdir():
+ if not d.name.isdigit():
+ continue
+ try:
+ stat = (d / 'stat').read_text()
+ except OSError:
+ continue
+ ppid = int(stat[stat.rfind(')') + 2:].split()[1])
+ children.setdefault(ppid, []).append(int(d.name))
+ out, todo = [], [pid]
+ while todo:
+ for c in children.get(todo.pop(), []):
+ out.append(c)
+ todo.append(c)
+ return out
+
+
+class Recording:
+ """pardes in a pty of ours, the screen it draws, and the cast so far."""
+
+ def __init__(self, binary, home, args, cwd, log=None):
+ self.binary = Path(binary).resolve()
+ self.log = log
+ self.screen = pyte.Screen(COLS, ROWS)
+ self.stream = pyte.ByteStream(self.screen)
+ self.lock = threading.Lock()
+ self.carry = b'' # an escape sequence or UTF-8 character not yet whole
+ self.pending = bytearray() # cleaned output not yet in an event
+ self.events = [] # (seconds, the screen's changes as text)
+ self.raw_events = [] # (seconds, bytes pardes wrote)
+ self.shown = None # the screen as the cast has drawn it
+ self.clock = 0.0
+ self.last_out = time.monotonic()
+ env = clean_env(home, self.binary)
+ master, slave = os.openpty()
+ fcntl.ioctl(slave, termios.TIOCSWINSZ, struct.pack('HHHH', ROWS, COLS, COLS * CELL_W, ROWS * CELL_H))
+ self.master = master
+ self.child = subprocess.Popen(
+ [str(self.binary), *map(str, args)], cwd=cwd, env=env,
+ stdin=slave, stdout=slave, stderr=open(home / 'stderr.log', 'ab'), start_new_session=True,
+ preexec_fn=lambda: fcntl.ioctl(0, termios.TIOCSCTTY, 0))
+ os.close(slave)
+ self.reader = threading.Thread(target=self._read, daemon=True)
+ self.reader.start()
+
+ # output
+
+ def _read(self):
+ while True:
+ try:
+ data = os.read(self.master, 65536)
+ except OSError:
+ return
+ if not data:
+ return
+ with self.lock:
+ self._take(data)
+ self.last_out = time.monotonic()
+
+ def _take(self, data):
+ buf = self.carry + data
+ cut = incomplete_tail(buf)
+ if cut is None:
+ cut = len(buf) - utf8_tail(buf)
+ buf, self.carry = buf[:cut], buf[cut:]
+ at = 0
+ for m in QUERY.finditer(buf):
+ self._show(buf[at:m.start()])
+ at = m.end()
+ self._answer(m)
+ self._show(buf[at:])
+
+ def _show(self, data):
+ if not data:
+ return
+ data = SGR.sub(sgr_semicolons, data)
+ self.pending += data
+ self.stream.feed(data)
+
+ def _answer(self, m):
+ reply = None
+ if m.group('decrqm') is not None:
+ reply = b'\x1b[?%s;0$y' % m.group('decrqm')
+ elif m.group('cpr') is not None:
+ reply = b'\x1b[%d;%dR' % (self.screen.cursor.y + 1, self.screen.cursor.x + 1)
+ elif m.group('dsr') is not None:
+ reply = b'\x1b[0n'
+ elif m.group('da1') is not None:
+ reply = DA1
+ elif m.group('xtv') is not None:
+ reply = XTVERSION
+ elif m.group('winop') == b'14':
+ reply = b'\x1b[4;%d;%dt' % (ROWS * CELL_H, COLS * CELL_W)
+ elif m.group('winop') == b'16':
+ reply = b'\x1b[6;%d;%dt' % (CELL_H, CELL_W)
+ elif m.group('winop') == b'18':
+ reply = b'\x1b[8;%d;%dt' % (ROWS, COLS)
+ if reply:
+ os.write(self.master, reply)
+
+ # the screen
+
+ def lines(self):
+ with self.lock:
+ return list(self.screen.display)
+
+ def text(self):
+ return '\n'.join(self.lines())
+
+ def find(self, text, after=0, nth=0, before=None):
+ """(col, row) of `text` on screen, searching rows from `after`."""
+ for r, line in enumerate(self.lines()):
+ if r < after or (before is not None and r >= before):
+ continue
+ at = line.find(text)
+ while at >= 0:
+ if nth == 0:
+ return at, r
+ nth -= 1
+ at = line.find(text, at + 1)
+ raise LookupError(f'{text!r} not on screen:\n' + self.text())
+
+ def cursor(self):
+ with self.lock:
+ return self.screen.cursor.x, self.screen.cursor.y
+
+ # input
+
+ def send(self, data):
+ os.write(self.master, data.encode() if isinstance(data, str) else data)
+
+ def mouse(self, button, col, row, release=False, motion=False):
+ """An SGR mouse report: button 0 left, 1 middle, 2 right, 3 none;
+ col and row from 0."""
+ code = button + (32 if motion else 0)
+ self.send(f'\x1b[<{code};{col + 1};{row + 1}{"m" if release else "M"}')
+
+ # steps
+
+ def busy(self):
+ """Whether a thread of pardes is running (or in disk wait)."""
+ tasks = Path(f'/proc/{self.child.pid}/task')
+ with contextlib.suppress(OSError):
+ for t in tasks.iterdir():
+ with contextlib.suppress(OSError):
+ stat = (t / 'stat').read_text()
+ if stat[stat.rfind(')') + 2] in 'RD':
+ return True
+ return False
+
+ def settle(self, until=None, quiet=.15, timeout=20, what='', sent=None):
+ """Wait for `until` and for pardes to go quiet and idle, after
+ drawing at least once since the input sent at `sent` (or for .8 s
+ to pass without its drawing: an input that changes nothing)."""
+ deadline = time.monotonic() + timeout
+ while True:
+ now = time.monotonic()
+ with self.lock:
+ drew = sent is None or self.last_out > sent or now - sent > .8
+ idle = drew and now - self.last_out >= quiet
+ idle = idle and not self.busy()
+ ok = until is None or until(self)
+ if ok and idle:
+ return
+ if now > deadline:
+ raise RuntimeError(f'timed out waiting for {what or until}\n' + self.text())
+ if self.child.poll() is not None:
+ raise RuntimeError('pardes exited\n' + self.text())
+ time.sleep(.01)
+
+ def step(self, keys=None, hold=.5, until=None, quiet=.15, timeout=20, what=''):
+ """Send `keys` (bytes, str or a callable), wait for `until` and quiet,
+ stamp the output at the clock and move the clock on by `hold`."""
+ sent = time.monotonic() if keys else None
+ if callable(keys):
+ keys(self)
+ elif keys:
+ self.send(keys)
+ self.settle(until, quiet, timeout, what, sent)
+ self.flush()
+ self.clock += min(hold, MAX_GAP)
+ if self.log:
+ self.log.write(f'--- t={self.clock:.2f} {keys!r} {what}\n' + self.text() + '\n')
+
+ def flush(self):
+ """Stamp what pardes wrote since the last step at the clock: as the
+ screen cells it changed (the cast), and as its raw bytes (--raw)."""
+ with self.lock:
+ data, self.pending = bytes(self.pending), bytearray()
+ now = snapshot(self.screen)
+ t = round(self.clock, 3)
+ if data:
+ self.raw_events.append((t, data))
+ delta = repaint(self.shown, now)
+ if delta:
+ self.events.append((t, delta))
+ self.shown = now
+
+ def type(self, text, per_key=.09, last_hold=.4, until=None):
+ for i, ch in enumerate(text):
+ last = i == len(text) - 1
+ self.step(ch, hold=last_hold if last else per_key, until=until if last else None, quiet=.06)
+
+ def click(self, button, col, row, hold=.4, until=None, what='', quiet=.15):
+ """Press and release `button` over one cell."""
+ def act(s):
+ s.mouse(3, col, row, motion=True)
+ time.sleep(.03)
+ s.mouse(button, col, row)
+ time.sleep(.03)
+ s.mouse(button, col, row, release=True)
+ self.step(act, hold=hold, until=until, what=what, quiet=quiet)
+
+ def sweep(self, button, start, end, show=.6, hold=.6, until=None, what='', quiet=.15):
+ """Press `button` at `start`, drag to `end`, hold it there for a
+ frame (the sweep's colour shows), then release."""
+ def press(s):
+ s.mouse(3, *start, motion=True)
+ time.sleep(.03)
+ s.mouse(button, *start)
+ c0, r0 = start
+ c1, r1 = end
+ n = max(abs(c1 - c0), abs(r1 - r0))
+ for i in range(1, n + 1):
+ time.sleep(.01)
+ s.mouse(button, c0 + (c1 - c0) * i // n, r0 + (r1 - r0) * i // n, motion=True)
+ self.step(press, hold=show)
+ self.step(lambda s: s.mouse(button, *end, release=True), hold=hold, until=until, what=what, quiet=quiet)
+
+ def hover(self, col, row, hold=.3):
+ self.step(lambda s: s.mouse(3, col, row, motion=True), hold=hold)
+
+ def close(self):
+ pids = descendants(self.child.pid)
+ if self.child.poll() is None:
+ self.child.terminate()
+ try:
+ self.child.wait(timeout=5)
+ except subprocess.TimeoutExpired:
+ self.child.kill()
+ self.child.wait()
+ for pid in pids + descendants(self.child.pid):
+ with contextlib.suppress(ProcessLookupError, PermissionError):
+ os.kill(pid, signal.SIGKILL)
+ with contextlib.suppress(ProcessLookupError, PermissionError):
+ os.killpg(self.child.pid, signal.SIGKILL)
+ with contextlib.suppress(OSError):
+ os.close(self.master)
+ self.reader.join(timeout=2)
+
+ def cast(self, title, raw=False):
+ """The asciicast v2 text: the events, then the last hold as an
+ empty event so the player keeps the last frame up."""
+ head = dict(version=2, width=COLS, height=ROWS, title=title,
+ env=dict(TERM='xterm-256color', SHELL='/bin/sh'))
+ out = [json.dumps(head)]
+ if raw:
+ decoder = codecs.getincrementaldecoder('utf-8')('replace')
+ events = [(t, decoder.decode(data)) for t, data in self.raw_events]
+ else:
+ events = self.events
+ # Steps that changed nothing leave their holds end to end: no gap
+ # longer than MAX_GAP survives.
+ last = shift = 0.0
+ for t, text in events + [(self.clock, '')]:
+ shift += max(0.0, t - last - MAX_GAP)
+ last = t
+ out.append(json.dumps([round(t - shift, 3), 'o', text], ensure_ascii=False))
+ return '\n'.join(out) + '\n'
+
+
+# ---------------------------------------------------------------------------
+# the cast's own drawing: pyte's screen, cell by cell
+#
+# pardes draws diffs against its last frame, and how many frames a step
+# took (a shell's output racing the frames) varies from run to run while
+# the screen it ends on does not. So an event is the cells the step left
+# changed, drawn afresh: the same steps make the same file.
+
+NAMED = {name: i for i, name in enumerate(['black', 'red', 'green', 'brown', 'blue', 'magenta', 'cyan', 'white'])}
+
+
+def snapshot(screen):
+ """The screen's cells as tuples, and its cursor."""
+ cells = [[tuple(c) for c in (screen.buffer[y][x] for x in range(screen.columns))]
+ for y in range(screen.lines)]
+ return cells, (screen.cursor.x, screen.cursor.y, screen.cursor.hidden)
+
+
+def colour(name, base):
+ """SGR parameters for a pyte colour: base 30 for fg, 40 for bg."""
+ if name == 'default':
+ return [str(base + 9)]
+ if name in NAMED:
+ return [str(base + NAMED[name])]
+ if name.startswith('bright') and name[6:] in NAMED:
+ return [str(base + 60 + NAMED[name[6:]])]
+ r, g, b = (int(name[i:i + 2], 16) for i in (0, 2, 4))
+ return [str(base + 8), '2', str(r), str(g), str(b)]
+
+
+def pen(cell):
+ _, fg, bg, bold, italics, underscore, strikethrough, reverse, blink = cell
+ params = ['0'] + colour(fg, 30) + colour(bg, 40)
+ for on, code in ((bold, '1'), (italics, '3'), (underscore, '4'), (blink, '5'), (reverse, '7'), (strikethrough, '9')):
+ if on:
+ params.append(code)
+ return '\x1b[' + ';'.join(params) + 'm'
+
+
+def repaint(old, new):
+ """The text that turns screen `old` (None: a fresh terminal) into `new`."""
+ cells, (cx, cy, hidden) = new
+ out = []
+ if old is None:
+ out.append('\x1b[?25l\x1b[0m\x1b[2J')
+ blank = (' ', 'default', 'default', False, False, False, False, False, False)
+ old_cells, old_cursor = [[blank] * len(row) for row in cells], None
+ else:
+ old_cells, old_cursor = old
+ at, drawn_pen = None, None
+ for y, (row, old_row) in enumerate(zip(cells, old_cells)):
+ for x, cell in enumerate(row):
+ if cell == old_row[x] or cell[0] == '': # unchanged, or the right half of a wide character
+ continue
+ if at != (x, y):
+ out.append(f'\x1b[{y + 1};{x + 1}H')
+ p = pen(cell)
+ if p != drawn_pen:
+ out.append(p)
+ drawn_pen = p
+ out.append(cell[0])
+ at = (x + (2 if x + 1 < len(row) and row[x + 1][0] == '' else 1), y)
+ if not out and old_cursor == (cx, cy, hidden):
+ return ''
+ out.append(f'\x1b[0m\x1b[{cy + 1};{cx + 1}H' + ('\x1b[?25l' if hidden else '\x1b[?25h'))
+ return ''.join(out)
+
+
+# ---------------------------------------------------------------------------
+# the fixtures
+
+MAIN_C = '''#include <stdio.h>
+
+static int square(int n)
+{
+ return n * n;
+}
+
+int main(void)
+{
+ int sum = 0;
+ for (int i = 1; i <= 4; i++)
+ sum += square(i);
+ printf("squares: %d\\n", sum);
+ return 0;
+}
+'''
+
+MAKEFILE = '''CFLAGS = -Wall -fno-diagnostics-show-caret -fno-diagnostics-show-option -fno-diagnostics-color
+
+hello: main.c
+\t@cc $(CFLAGS) -o hello main.c
+'''
+
+README = '''hello: prints the sum of the first four squares.
+
+Build it with make, run it with ./hello.
+'''
+
+NOTES = '''hello: notes
+
+The sum of the squares of 1 to 4 is 30.
+What ./hello prints:
+
+'''
+
+
+def git(*args, cwd=PROJECT, env=None, date=None):
+ e = dict(env or {})
+ if date:
+ e.update(GIT_AUTHOR_DATE=date, GIT_COMMITTER_DATE=date)
+ subprocess.run(['git', *args], cwd=cwd, env=e, check=True, capture_output=True)
+
+
+def make_project(home):
+ shutil.rmtree(PROJECT, ignore_errors=True)
+ PROJECT.mkdir(parents=True)
+ env = clean_env(home, Path('/nonexistent/pardes'))
+ env.pop('PS1')
+ git('init', '-q', '-b', 'main', env=env)
+ git('config', 'color.ui', 'always', env=env)
+ history = [
+ ('2026-09-21T10:00:00Z', 'Start hello', {'README': README}),
+ ('2026-09-22T11:30:00Z', 'Add a Makefile', {'Makefile': MAKEFILE}),
+ ('2026-09-24T09:15:00Z', 'Print the sum of squares', {'main.c': MAIN_C}),
+ ('2026-09-27T16:40:00Z', 'Keep notes', {'NOTES': NOTES}),
+ ]
+ for date, message, files in history:
+ for name, body in files.items():
+ (PROJECT / name).write_text(body)
+ git('add', '.', env=env)
+ git('commit', '-q', '-m', message, env=env, date=date)
+ git('tag', 'v0.1', env=env)
+ (PROJECT / '.gitignore').write_text('hello\n')
+
+
+ART = PROJECT.parent / 'art'
+SDM = Path('/home/goblin/01-resources/intel-devref-ii.pdf')
+
+# The escape-time bands, outside in: deep blue to white to orange, chosen
+# to land on distinct C64 colours when the matcher picks its 16.
+CYCLE = [(20, 40, 160), (40, 120, 230), (120, 210, 250), (250, 250, 250),
+ (250, 220, 60), (230, 90, 20), (120, 30, 40), (20, 40, 160)]
+
+
+def band(t):
+ t = t % 1.0 * (len(CYCLE) - 1)
+ i, u = int(t), t % 1.0
+ return tuple(round(a + (b - a) * u) for a, b in zip(CYCLE[i], CYCLE[i + 1]))
+
+
+def mandelbrot(path, cx, cy, width, iterations, period, size=(480, 320)):
+ """The Mandelbrot set around cx+cy·i, `width` across: the set black,
+ the outside in smooth escape-time bands that repeat every `period`
+ (in √iterations). Pure Python, a few seconds."""
+ from PIL import Image
+ w, h = size
+ height = width * h / w
+ im = Image.new('RGB', size)
+ px = im.load()
+ for j in range(h):
+ y0 = cy + height / 2 - height * (j + .5) / h
+ for i in range(w):
+ x0 = cx - width / 2 + width * (i + .5) / w
+ x = y = 0.0
+ n = 0
+ while x * x + y * y <= 256 and n < iterations:
+ x, y = x * x - y * y + x0, 2 * x * y + y0
+ n += 1
+ if n == iterations:
+ px[i, j] = (0, 0, 0)
+ else:
+ nu = n + 1 - math.log2(math.log2(math.sqrt(x * x + y * y)))
+ px[i, j] = band(math.sqrt(max(nu, 0)) / period)
+ im.save(path)
+
+
+def make_art(pdf):
+ """The classic view, a seahorse valley's spiral, and a short name for
+ the manual (a symlink: the PDF is only read)."""
+ shutil.rmtree(ART, ignore_errors=True)
+ ART.mkdir(parents=True)
+ mandelbrot(ART / 'mandelbrot.png', -0.65, 0.0, 3.2, 96, 10.5)
+ mandelbrot(ART / 'seahorse.png', -0.7436, 0.1318, 0.0035, 400, 6.0)
+ (ART / 'sdm.pdf').symlink_to(pdf)
+
+
+# ---------------------------------------------------------------------------
+# checking: replay a cast through pyte, print and draw its last frame
+
+def replay(path, until=None):
+ """The pyte screen after the cast's events (up to `until` seconds)."""
+ screen = pyte.Screen(COLS, ROWS)
+ stream = pyte.Stream(screen)
+ with open(path) as f:
+ head = json.loads(f.readline())
+ assert head['width'] == COLS and head['height'] == ROWS
+ for line in f:
+ t, kind, data = json.loads(line)
+ if until is not None and t > until:
+ break
+ stream.feed(data)
+ return screen
+
+
+PYTE_COLOURS = dict(black=(0, 0, 0), red=(205, 0, 0), green=(0, 205, 0), brown=(205, 205, 0),
+ blue=(0, 0, 238), magenta=(205, 0, 205), cyan=(0, 205, 205), white=(229, 229, 229))
+
+
+def rgb(colour, default):
+ if colour == 'default':
+ return default
+ if colour in PYTE_COLOURS:
+ return PYTE_COLOURS[colour]
+ if colour.startswith('bright') and colour[6:] in PYTE_COLOURS:
+ return tuple(min(255, v + 50) for v in PYTE_COLOURS[colour[6:]])
+ with contextlib.suppress(ValueError):
+ return tuple(int(colour[i:i + 2], 16) for i in (0, 2, 4))
+ return default
+
+
+def block_rects(cp, w, h):
+ """The filled rectangles of a block element or sextant, else None."""
+ if 0x1FB00 <= cp <= 0x1FB3B: # sextants, skipping the four that are blocks
+ n = cp - 0x1FB00 + 1
+ n += n >= 21
+ n += n >= 42
+ bits = n
+ elif cp in (0x258C, 0x2590, 0x2588):
+ bits = {0x258C: 21, 0x2590: 42, 0x2588: 63}[cp]
+ else:
+ halves = {0x2580: [(0, 0, 1, .5)], 0x2584: [(0, .5, 1, 1)], 0x2596: [(0, .5, .5, 1)],
+ 0x2597: [(.5, .5, 1, 1)], 0x2598: [(0, 0, .5, .5)], 0x259D: [(.5, 0, 1, .5)],
+ 0x2599: [(0, 0, .5, 1), (.5, .5, 1, 1)], 0x259B: [(0, 0, 1, .5), (0, .5, .5, 1)],
+ 0x259C: [(0, 0, 1, .5), (.5, .5, 1, 1)], 0x259F: [(.5, 0, 1, 1), (0, .5, .5, 1)],
+ 0x259A: [(0, 0, .5, .5), (.5, .5, 1, 1)], 0x259E: [(.5, 0, 1, .5), (0, .5, .5, 1)]}
+ if cp not in halves:
+ return None
+ return [(x0 * w, y0 * h, x1 * w, y1 * h) for x0, y0, x1, y1 in halves[cp]]
+ rects = []
+ for k in range(6):
+ if bits >> k & 1:
+ col, row = k % 2, k // 2
+ rects.append((col * w / 2, row * h / 3, (col + 1) * w / 2, (row + 1) * h / 3))
+ return rects
+
+
+def render_png(screen, path, cw=10, ch=20):
+ """A picture of a pyte screen: blocks and sextants drawn, the rest in
+ the repo's Adwaita Mono."""
+ from PIL import Image, ImageDraw, ImageFont
+ font = ImageFont.truetype(str(REPO / 'assets/AdwaitaMono-Regular.ttf'), 16)
+ im = Image.new('RGB', (screen.columns * cw, screen.lines * ch), (0, 0, 0))
+ d = ImageDraw.Draw(im)
+ for y in range(screen.lines):
+ row = screen.buffer[y]
+ for x in range(screen.columns):
+ c = row[x]
+ fg, bg = rgb(c.fg, (229, 229, 229)), rgb(c.bg, (0, 0, 0))
+ if c.reverse != (not screen.cursor.hidden and (x, y) == (screen.cursor.x, screen.cursor.y)):
+ fg, bg = bg, fg
+ x0, y0 = x * cw, y * ch
+ d.rectangle((x0, y0, x0 + cw - 1, y0 + ch - 1), fill=bg)
+ if not c.data or c.data == ' ':
+ continue
+ rects = block_rects(ord(c.data[0]), cw, ch) if len(c.data) == 1 else None
+ if rects is not None:
+ for a, b, e, f in rects:
+ d.rectangle((x0 + a, y0 + b, x0 + e - 1, y0 + f - 1), fill=fg)
+ else:
+ d.text((x0, y0 + 1), c.data, font=font, fill=fg)
+ im.save(path)
+
+
+# ---------------------------------------------------------------------------
+# the casts
+
+def tag_end(r, row):
+ """Two cells past the last word of the tag on `row`: a B1 click there
+ types at the tag's end."""
+ return len(r.lines()[row].rstrip()) + 1, row
+
+
+def type_in_tag(r, row, text):
+ r.click(0, *tag_end(r, row), hold=.3)
+ r.type(text, until=lambda s: text.strip() in s.lines()[row], last_hold=.3)
+ r.step('\x1b', hold=.4)
+
+
+def word_at(r, word, row):
+ """(start, end) cells of `word` on `row`, end exclusive, as a sweep takes it."""
+ c, w = r.find(word, after=row, before=row + 1)
+ return (c, w), (c + len(word), w)
+
+
+def keys(r, seq, hold, per_key=.22):
+ for i, k in enumerate(seq):
+ r.step(k, hold=hold if i == len(seq) - 1 else per_key)
+
+
+def live_text(r):
+ """Helix keys rename a variable and save; B2 on make runs it, B3 on the
+ error it prints lands on the line, and the rename goes on there."""
+ r.step(None, until=lambda s: '#include' in s.text(), quiet=.4, hold=1.6)
+ for _ in range(9):
+ r.step('j', hold=.13, quiet=.05)
+ r.clock += .3
+ keys(r, 'wwe', .35)
+ keys(r, 'miw', .7)
+ r.step('c', hold=.3)
+ r.type('total', until=lambda s: 'int total' in s.text(), last_hold=.3)
+ r.step('\x1b', hold=.6)
+ keys(r, ' fs', 1.1)
+ type_in_tag(r, 2, ' make')
+ start, end = word_at(r, 'make', 2)
+ r.sweep(1, start, end, show=.8, hold=2.0, until=lambda s: 'exit 2' in s.text(), what='make')
+ c, w = r.find('main.c:12:9')
+ r.sweep(2, (c, w), (c + len('main.c:12:9'), w), show=.8, hold=1.6,
+ until=lambda s: s.cursor()[1] < 15, what='the look')
+ keys(r, 'miw', .6)
+ r.step('c', hold=.3)
+ r.type('total', until=lambda s: 'total += square' in s.text(), last_hold=.3)
+ r.step('\x1b', hold=2.0)
+
+
+def terminals(r):
+ """A shell beside the notes: run, Ctrl-b, copy a line of output into
+ the file; then git log paged through pardes - into a +Pager."""
+ r.step(None, until=lambda s: 'What ./hello prints' in s.text(), quiet=.4, hold=1.2)
+ start, end = word_at(r, 'Tty', 2)
+ r.sweep(1, start, end, show=.5, hold=.6, until=lambda s: 'Tty+sh' in s.text(), what='the shell')
+ r.step(None, until=lambda s: s.text().count('$') >= 2, hold=.4)
+ # Its own column, beside the file: Ctrl-b to normal, Alt-c, Ctrl-b back.
+ r.step('\x02', hold=.3)
+ r.step('\x1bc', hold=.4, until=lambda s: s.lines()[1].count('Delcol') == 2, what='the new column')
+ r.step('\x02', hold=.6)
+ r.type('make && ./hello', until=lambda s: 'make && ./hello' in s.text(), per_key=.07)
+ r.step('\r', hold=1.2, until=lambda s: 'squares: 30' in s.text(), what='./hello')
+ r.step('\x02', hold=.6)
+ r.step('k', hold=.4)
+ r.step('x', hold=.6)
+ r.step('y', hold=.5)
+ r.step('\x17', hold=.2)
+ r.step('h', hold=.6)
+ keys(r, 'ge', .5)
+ r.step('p', hold=1.0, until=lambda s: 'squares: 30' in s.lines()[8][:48], what='the paste')
+ r.step('\x17', hold=.2)
+ r.step('l', hold=.4)
+ r.step('\x02', hold=.6)
+ command = 'git log --stat | pardes -'
+ r.type(command, until=lambda s: command in s.text(), per_key=.07)
+ r.step('\r', hold=2.0, until=lambda s: '+Pager' in s.text() and 'Keep notes' in s.text(), quiet=.3,
+ what='the pager')
+
+
+def petscii(r):
+ """Mandelbrot views as PETSCII glyph art; the Intel manual's sections,
+ a jump to CPUID and a search."""
+ def close(name, hold):
+ c, w = r.find('art/' + name, after=2)
+ start, end = word_at(r, 'Del', w)
+ r.sweep(1, start, end, show=.4, hold=hold, until=lambda s: 'art/' + name not in s.text(), what='Del ' + name)
+
+ r.step(None, until=lambda s: 'mandelbrot.png' in s.text(), quiet=.6, hold=2.2)
+ keys(r, ' tp', 1.5) # Petscii: the tag reads petscii:on
+ type_in_tag(r, 1, ' seahorse.png') # the column's tag; B3 there opens it in the column
+ start, end = word_at(r, 'seahorse.png', 1)
+ r.sweep(2, start, end, show=.5, hold=1.0, until=lambda s: 'art/seahorse.png' in s.text(), what='the seahorse')
+ close('mandelbrot.png', 2.2)
+ type_in_tag(r, 1, ' sdm.pdf')
+ start, end = word_at(r, 'sdm.pdf', 1)
+ r.sweep(2, start, end, show=.5, hold=1.0, until=lambda s: '[1/2515]' in s.text(), what='the PDF')
+ close('seahorse.png', 1.2)
+ c, w = r.find('PdfSections')
+ r.sweep(1, (c, w), (c + len('PdfSections'), w), show=.5, hold=1.3,
+ until=lambda s: 'Chapter 1' in s.text(), what='the sections')
+ c, w = r.find('+PdfSections')
+ type_in_tag(r, w, ' CPUID')
+ for _ in range(2): # B3 on a word in a tag finds it in the body
+ start, end = word_at(r, 'CPUID', w)
+ r.sweep(2, start, end, show=.4, hold=.9)
+ c, row = r.find('intel-devref-ii.pdf:317:200')
+ r.sweep(2, (c, row), (c + len('intel-devref-ii.pdf:317'), row), show=.5, hold=1.8,
+ until=lambda s: '[317/2515]' in s.text(), what='the jump')
+ start, end = word_at(r, 'Del', w)
+ r.sweep(1, start, end, show=.4, hold=.8, until=lambda s: '+PdfSections' not in s.text(), what='Del sections')
+ r.click(0, 40, 8, hold=.3)
+ r.step('/', hold=.3)
+ r.type('Vendor', until=lambda s: '/Vendor' in s.text(), last_hold=.3)
+ r.step('\r', hold=2.0, until=lambda s: '+Search' in s.text(), quiet=.4, timeout=60, what='the search')
+
+
+CASTS = {
+ 'live-text': dict(
+ run=live_text, cwd=PROJECT, args=['main.c'],
+ title='Live text',
+ caption='Helix keys edit; middle-click runs make; right-click the error opens its line.'),
+ 'terminals': dict(
+ run=terminals, cwd=PROJECT, args=['NOTES'],
+ title='Terminals as panes',
+ caption='A shell beside a file: Ctrl-b, copy a line, page git log.'),
+ 'petscii': dict(
+ run=petscii, cwd=ART, args=['mandelbrot.png'],
+ title='Images and PDFs in a plain terminal',
+ caption='No kitty graphics: Mandelbrots as PETSCII, then the Intel manual searched.'),
+}
+
+
+def make_home(work):
+ home = work / 'home'
+ shutil.rmtree(home, ignore_errors=True)
+ (home / 'config/pardes').mkdir(parents=True)
+ (home / 'run').mkdir(mode=0o700)
+ # No animation or blink: a frame drawn on a timer would land in the cast
+ # wherever the wall clock put it.
+ (home / 'config/pardes/init').write_text(
+ 'Shell /bin/sh\nMessageLinger 0\nMessageAnimation off\nCursorBlink off\n'
+ 'SelectionGlow off\nHoverGlow off\nJumpTrail off\nThumbFlash off\n')
+ (home / '.gitconfig').write_text('[log]\n\tabbrevCommit = true\n[color]\n\tui = always\n')
+ return home
+
+
+def record(binary, work, name, pdf):
+ cast = CASTS[name]
+ home = make_home(work)
+ make_project(home)
+ make_art(pdf)
+ log = open(work / f'{name}.steps.log', 'w')
+ r = Recording(binary, home, cast['args'], cast['cwd'], log=log)
+ try:
+ cast['run'](r)
+ finally:
+ r.close()
+ log.close()
+ OUT.mkdir(parents=True, exist_ok=True)
+ out = OUT / f'{name}.cast'
+ out.write_text(r.cast(cast['title']))
+ (work / f'{name}.raw.cast').write_text(r.cast(cast['title'], raw=True))
+ length = json.loads(out.read_text().splitlines()[-1])[0]
+ print(f'{name}: {length:.1f} s, {out.stat().st_size / 1024:.0f} KB')
+
+
+def write_toml():
+ lines = ['# The landing page\'s terminal recordings (asciicast v2), in the order',
+ '# shown: casts/<name>.cast for each. The first plays by itself; all loop',
+ '# and fit the page\'s width. While `ready` is false the cast shows',
+ '# placeholder.svg, so the site builds before a recording exists.',
+ '# test/record_casts.py writes the casts and this file.', '']
+ for name, cast in CASTS.items():
+ lines += ['[[cast]]', f'name = "{name}"', f'title = "{cast["title"]}"',
+ f'caption = "{cast["caption"]}"', f'cols = {COLS}', f'rows = {ROWS}',
+ f'ready = {"true" if (OUT / f"{name}.cast").exists() else "false"}', '']
+ (OUT / 'casts.toml').write_text('\n'.join(lines))
+
+
+def show(name, work, at=None):
+ """Print a cast's frame (the last, or the one at `at` seconds) as text
+ and draw it to <work>/<name>.png."""
+ screen = replay(OUT / f'{name}.cast', at)
+ print(f'--- {name}' + (f' at {at} s' if at is not None else ''))
+ for line in screen.display:
+ print(line.rstrip())
+ render_png(screen, work / f'{name}.png')
+
+
+def main():
+ parser = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter)
+ parser.add_argument('binary', type=Path, nargs='?', help='a pardes built with -Dplatform=tty')
+ parser.add_argument('casts', nargs='*', help='which casts (default: all): ' + ', '.join(CASTS))
+ parser.add_argument('--work', type=Path, default=REPO.parent / '.scratch/casts/work',
+ help='the session home, step logs and check pictures (default %(default)s)')
+ parser.add_argument('--pdf', type=Path, default=SDM, help='the manual the petscii cast reads (default %(default)s)')
+ parser.add_argument('--show', action='store_true', help='print and draw each cast\'s last frame after')
+ parser.add_argument('--show-only', action='store_true', help='record nothing; print and draw the casts as they are')
+ parser.add_argument('--at', type=float, help='with --show: the frame at this many seconds instead')
+ args = parser.parse_args()
+ if args.binary is not None and args.binary.name in CASTS and not args.binary.exists():
+ args.casts.insert(0, args.binary.name)
+ args.binary = None
+ names = args.casts or list(CASTS)
+ for name in names:
+ if name not in CASTS:
+ parser.error(f'no cast {name!r}: ' + ', '.join(CASTS))
+ work = args.work.resolve()
+ work.mkdir(parents=True, exist_ok=True)
+ if not args.show_only:
+ if args.binary is None:
+ parser.error('the pardes binary to record is required')
+ if not args.pdf.is_file():
+ parser.error(f'no PDF at {args.pdf}')
+ try:
+ for name in names:
+ record(args.binary, work, name, args.pdf.resolve())
+ finally:
+ shutil.rmtree(PROJECT.parent, ignore_errors=True)
+ write_toml()
+ if args.show or args.show_only:
+ for name in names:
+ show(name, work, args.at)
+
+
+if __name__ == '__main__':
+ main()