summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2023-08-12 13:28:16 +1000
committerJesse Duffield <jessedduffield@gmail.com>2023-08-12 13:28:16 +1000
commitcdd2883fe91dda2ce131d0e0d2dc467f0d641225 (patch)
tree7513e89db7cdad02af693ff031db97c47dcb7f6b
parent9a26e675ee1b8d51d08d0def40636c10bf3d1388 (diff)
Add demo for rebase --onto
-rw-r--r--demo/rebase_onto-compressed.gifbin0 -> 645473 bytes
-rw-r--r--demo/rebase_onto.gifbin0 -> 3705723 bytes
-rw-r--r--demo/rebase_onto.yml219
3 files changed, 219 insertions, 0 deletions
diff --git a/demo/rebase_onto-compressed.gif b/demo/rebase_onto-compressed.gif
new file mode 100644
index 000000000..1b193e3b0
--- /dev/null
+++ b/demo/rebase_onto-compressed.gif
Binary files differ
diff --git a/demo/rebase_onto.gif b/demo/rebase_onto.gif
new file mode 100644
index 000000000..032974faa
--- /dev/null
+++ b/demo/rebase_onto.gif
Binary files differ
diff --git a/demo/rebase_onto.yml b/demo/rebase_onto.yml
new file mode 100644
index 000000000..8342d4f3d
--- /dev/null
+++ b/demo/rebase_onto.yml
@@ -0,0 +1,219 @@
+# The configurations that used for the recording, feel free to edit them
+config:
+
+ # Specify a command to be executed
+ # like `/bin/bash -l`, `ls`, or any other commands
+ # the default is bash for Linux
+ # or powershell.exe for Windows
+ command: go run cmd/integration_test/main.go cli --slow pkg/integration/tests/demo/rebase_onto.go
+
+ # Specify the current working directory path
+ # the default is the current working directory path
+ cwd: /Users/jesseduffieldduffield/repos/lazygit
+
+ # Export additional ENV variables
+ env:
+ recording: true
+
+ # Explicitly set the number of columns
+ # or use `auto` to take the current
+ # number of columns of your shell
+ cols: 120 # 100
+
+ # Explicitly set the number of rows
+ # or use `auto` to take the current
+ # number of rows of your shell
+ rows: 35 # 30
+
+ # Amount of times to repeat GIF
+ # If value is -1, play once
+ # If value is 0, loop indefinitely
+ # If value is a positive number, loop n times
+ repeat: 0
+
+ # Quality
+ # 1 - 100
+ # Higher quality seems to make no difference, but running it through
+ # gifsicle ends up with a much better compressed version.
+ quality: 100
+
+ # Delay between frames in ms
+ # If the value is `auto` use the actual recording delays
+ frameDelay: auto
+
+ # Maximum delay between frames in ms
+ # Ignored if the `frameDelay` isn't set to `auto`
+ # Set to `auto` to prevent limiting the max idle time
+ maxIdleTime: 2000
+
+ # The surrounding frame box
+ # The `type` can be null, window, floating, or solid`
+ # To hide the title use the value null
+ # Don't forget to add a backgroundColor style with a null as type
+ frameBox:
+ type: floating
+ title: Lazygit
+ style:
+ border: 0px black solid
+ backgroundColor: "#1d1d1d"
+ margin: -5px
+
+ # Add a watermark image to the rendered gif
+ # You need to specify an absolute path for
+ # the image on your machine or a URL, and you can also
+ # add your own CSS styles
+ watermark:
+ imagePath: null
+ style:
+ position: absolute
+ right: 15px
+ bottom: 15px
+ width: 100px
+ opacity: 0.9
+
+ # Cursor style can be one of
+ # `block`, `underline`, or `bar`
+ cursorStyle: block
+
+ # Font family
+ # You can use any font that is installed on your machine
+ # in CSS-like syntax
+ fontFamily: "DejaVuSansMono Nerd Font"
+
+ # The size of the font
+ fontSize: 8
+
+ # The height of lines
+ lineHeight: 1
+
+ # The spacing between letters
+ letterSpacing: 0
+
+ # Theme
+ theme:
+ background: "transparent"
+ foreground: "#dddad6"
+ cursor: "#c7c7c7"
+ black: "#7a7a7a"
+ red: "#fc4384"
+ green: "#b3e33b"
+ yellow: "#ffa727"
+ blue: "#102895"
+ magenta: "#c930c7"
+ cyan: "#00c5c7"
+ white: "#c7c7c7"
+ brightBlack: "#676767"
+ brightRed: "#ff7fac"
+ brightGreen: "#c8ed71"
+ brightYellow: "#ebdf86"
+ brightBlue: "#6871ff"
+ brightMagenta: "#ff76ff"
+ brightCyan: "#5ffdff"
+ brightWhite: "#fffefe"
+
+# Records, feel free to edit them
+records:
+ - delay: 8749
+ content: "\e[?1000l\e[?1002l\e[?1003l\e[?1006l\e[?2004l\e[?1049h\e[22;0;0t\e[?1h\e=\e[?25l\e[H\e[2J\e[?1000l\e[?1002l\e[?1003l\e[?1006l\e[?1000h\e[?1002h\e[?1003h\e[?1006h\e[?1004h"
+ - delay: 66
+ content: "\e[?25l\e[1;1H\e(B\e[m\e[30m\e]8;;\e\\┌─Status───────────────────────────────┐┌─Diff─────────────────────────────────────────────────────────────────────────┐\e[2;1H│\e(B\e[m\e[32m\e]8;;\e\\✓\e(B\e[m\e]8;;\e\\ repo → \e(B\e[m\e[32m\e]8;;\e\\feature/demo\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e]8;;\e\\No changed files \e(B\e[m\e[30m\e]8;;\e\\│\e[3;1H└──────────────────────────────────────┘│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\│\e[4;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\┌─Files \e(B\e[m\e]8;;\e\\- Worktrees - Submodules\e(B\e[m\e[32m\e[1m\e]8;;\e\\───────┐\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\│\e[5;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\│\e[6;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\│\e[7;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\│\e[8;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\│\e[9;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\│\e[10;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\│\e[11;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\│\e[12;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\│\e[13;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\└──────────────────────────────────────┘\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\│\e[14;1H┌─\e(B\e[m\e[32m\e]8;;\e\\Local branches \e(B\e[m\e[30m\e]8;;\e\\- Remotes - Tags──────┐│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\│\e[15;1H│\e(B\e[m\e[32m\e]8;;\e\\ *\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e]8;;\e\\\U000F062C\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e]8;;\e\\feature/demo\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e]8;;\e\\✓\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\│\e[16;1H│\e(B\e[m\e[36m\e]8;;\e\\1s\e(B\e[m\e]8;;\e\\ \U000F062C develop \e(B\e[m\e[32m\e]8;;\e\\✓\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\│\e[17;1H│\e(B\e[m\e[36m\e]8;;\e\\1s\e(B\e[m\e]8;;\e\\ \U000F062C master \e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\│\e[18;1H│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\│\e[19;1H│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\│\e[20;1H│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\│\e[21;1H│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\│\e[22;1H└───────────────────────────────1 of 3─┘│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\│\e[23;1H┌─\e(B\e[m\e[32m\e]8;;\e\\Commits \e(B\e[m\e[30m\e]8;;\e\\- Reflog─────────────────────┐│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\│\e[24;1H│\e(B\e[m\e[33m\e]8;;\e\\\U000F0718\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[33m\e]8;;\e\\d5681448\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;47;228;2m\e]8;;\e\\JD\e(B\e[m\e]8;;\e\\ Feature commit 3 \e(B\e[m\e[30m\e]8;;\e\\▲│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\│\e[25;1H│\e(B\e[m\e[33m\e]8;;\e\\\U000F0718\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[33m\e]8;;\e\\bb981c0d\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;47;228;2m\e]8;;\e\\JD\e(B\e[m\e]8;;\e\\ Feature commit 2 \e(B\e[m\e[30m\e]8;;\e\\█│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\│\e[26;1H│\e(B\e[m\e[33m\e]8;;\e\\\U000F0718\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[33m\e]8;;\e\\2f1845f8\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;47;228;2m\e]8;;\e\\JD\e(B\e[m\e]8;;\e\\ Feature commit 1 \e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\│\e[27;1H│\e(B\e[m\e[33m\e]8;;\e\\\U000F0718\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[33m\e]8;;\e\\b2a1f74c\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;177;89;26m\e]8;;\e\\JB\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[36m\e[1m\e]8;;\e\\\U000F062C \e(B\e[m\e]8;;\e\\Develop commit 3 \e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\│\e[28;1H│\e(B\e[m\e[33m\e]8;;\e\\\U000F0718\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[33m\e]8;;\e\\30be4edc\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;177;89;26m\e]8;;\e\\JB\e(B\e[m\e]8;;\e\\ Develop commit 2 \e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\│\e[29;1H│\e(B\e[m\e[33m\e]8;;\e\\\U000F0718\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[33m\e]8;;\e\\ec48f864\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;177;89;26m\e]8;;\e\\JB\e(B\e[m\e]8;;\e\\ Develop commit 1 \e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\│\e[30;1H│\e(B\e[m\e[32m\e]8;;\e\\\U000F0718\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e]8;;\e\\5266583d\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\CI\e(B\e[m\e]8;;\e\\ Add a user-friendly 404 \e(B\e[m\e[30m\e]8;;\e\\▼│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\│\e[31;1H└──────────────────────────────1 of 66─┘└──────────────────────────────────────────────────────────────────────────────┘\e[32;1H┌─Stash────────────────────────────────┐┌─Command log──────────────────────────────────────────────────────────────────┐\e[33;1H│\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\│\e[34;1H└───────────────────────────────0 of 0─┘└──────────────────────────────────────────────────────────────────────────────┘\e[35;1H\e(B\e[m\e[34m\e]8;;\e\\<pgup>/<pgdown>: Scroll, <esc>: Cancel, q: Quit, ?: Keybindings, 1-5: Jump to panel, H/L: Scroll left/right \e[?25l\e[?25l\e[13;33H\e(B\e[m\e[32m\e[1m\e]8;;\e\\0 of 0\e[?25l\e[?25l\e[35;1H\e(B\e[m\e[37m\e[1m\e]8;;\e\\ \e[?25l\e[?25l\e[?25l\e[?25l\e[35;1H\e(B\e[m\e[37m\e[1m\e]8;;\e\\Rebase\e[35;8Hfrom\e[35;13Hmarked\e[35;20Hbase\e[35;25Hcommit\e[?25l"
+ - delay: 1002
+ content: "\e[?25l\e[35;32H\e(B\e[m\e[36m\e[1m\e]8;;\e\\Pressing 4 \e[?25l\e[?25l\e[1;43H\e(B\e[m\e[30m\e]8;;\e\\Patch\e[4;1H┌─\e(B\e[m\e[32m\e]8;;\e\\Files \e(B\e[m\e[30m\e]8;;\e\\- Worktrees - Submodules───────┐\e[5;1H│\e[5;40H│\e[6;1H│\e[6;40H│\e[7;1H│\e[7;40H│\e[8;1H│\e[8;40H│\e[9;1H│\e[9;40H│\e[10;1H│\e[10;40H│\e[11;1H│\e[11;40H│\e[12;1H│\e[12;40H│\e[13;1H└───────────────────────────────0 of 0─┘\e[23;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\┌─Commits \e(B\e[m\e]8;;\e\\- Reflog\e(B\e[m\e[32m\e[1m\e]8;;\e\\─────────────────────┐\e[24;1H│\e(B\e[m\e[93;44m\e[1m\e]8;;\e\\\U000F0718\e(B\e[m\e[44m\e[1m\e]8;;\e\\ \e(B\e[m\e[93;44m\e[1m\e]8;;\e\\d5681448\e(B\e[m\e[44m\e[1m\e]8;;\e\\ \e(B\e[m\e[38;2;47;228;2m\e[44m\e[1m\e]8;;\e\\JD\e(B\e[m\e[44m\e[1m\e]8;;\e\\ Feature commit 3 \e(B\e[m\e[32m\e[1m\e]8;;\e\\▲\e[25;1H│\e[25;40H█\e[26;1H│\e[26;40H│\e[27;1H│\e[27;40H│\e[28;1H│\e[28;40H│\e[29;1H│\e[29;40H│\e[30;1H│\e[30;40H▼\e[31;1H└──────────────────────────────1 of 66─┘\e[?25l"
+ - delay: 10
+ content: "\e[?25l\e[2;42H\e(B\e[m\e[33m\e]8;;\e\\commit d56814482b0fc6433cdce93f4d2bd5f448e0e4ec (\e(B\e[m\e[36m\e[1m\e]8;;\e\\HEAD -> \e(B\e[m\e[32m\e[1m\e]8;;\e\\feature/demo\e(B\e[m\e[33m\e]8;;\e\\, \e(B\e[m\e[30m\e]8;;\e\\▲\e[3;42H\e(B\e[m\e[31m\e[1m\e]8;;\e\\origin/feature/demo\e(B\e[m\e[33m\e]8;;\e\\)\e[3;120H\e(B\e[m\e[30m\e]8;;\e\\█\e[4;42H\e(B\e[m\e]8;;\e\\Author:\e[4;50HJesse\e[4;56HDuffield\e[4;65H<jesseduffield@gmail.com>\e[4;120H\e(B\e[m\e[30m\e]8;;\e\\█\e[5;42H\e(B\e[m\e]8;;\e\\Date:\e[5;50HSat\e[5;54HAug\e[5;58H12\e[5;61H13:19:23\e[5;70H2023\e[5;75H+1000\e[5;120H\e(B\e[m\e[30m\e]8;;\e\\█\e[6;120H█\e[7;46H\e(B\e[m\e]8;;\e\\Feature\e[7;54Hcommit\e[7;61H3\e[7;120H\e(B\e[m\e[30m\e]8;;\e\\█\e[8;42H\e(B\e[m\e]8;;\e\\---\e[8;120H\e(B\e[m\e[30m\e]8;;\e\\█\e[9;43H\e(B\e[m\e]8;;\e\\random-5.go\e[9;55H|\e[9;57H17\e[9;60H\e(B\e[m\e[32m\e]8;;\e\\+++++++++++++++++\e[9;120H\e(B\e[m\e[30m\e]8;;\e\\█\e[10;43H\e(B\e[m\e]8;;\e\\1\e[10;45Hfile\e[10;50Hchanged,\e[10;59H17\e[10;62Hinsertions(+)\e[10;120H\e(B\e[m\e[30m\e]8;;\e\\█\e[11;120H█\e[12;42H\e(B\e[m\e[1m\e]8;;\e\\diff --git a/random-5.go b/random-5.go\e[12;120H\e(B\e[m\e[30m\e]8;;\e\\█\e[13;42H\e(B\e[m\e[1m\e]8;;\e\\new file mode 100644\e[13;120H\e(B\e[m\e[30m\e]8;;\e\\█\e[14;42H\e(B\e[m\e[1m\e]8;;\e\\index 0000000..fe838f0\e[14;120H\e(B\e[m\e[30m\e]8;;\e\\█\e[15;42H\e(B\e[m\e[1m\e]8;;\e\\--- /dev/null\e[16;42H+++ b/random-5.go\e[17;42H\e(B\e[m\e[36m\e]8;;\e\\@@ -0,0 +1,17 @@\e[18;42H\e(B\e[m\e[32m\e]8;;\e\\+\e[19;42H+package utils\e[20;42H+\e[21;42H+import (\e[22;42H+\e[22;46H\"fmt\"\e[23;42H+\e[23;46H\"regexp\"\e[24;42H+\e[24;46H\"strings\"\e[25;42H+)\e[26;42H+\e[27;42H+// IsValidEmail checks if an email address is valid\e[28;42H+func IsValidEmail(email string) bool {\e[29;42H+\e[29;46H// Using a regex pattern to validate email addresses\e[30;42H+\e[30;46H// This is a simple example and might not cover all edge cases\e[30;120H\e(B\e[m\e[30m\e]8;;\e\\▼\e[?25l"
+ - delay: 602
+ content: "\e[?25l\e[35;41H\e(B\e[m\e[36m\e[1m\e]8;;\e\\+\e[?25l"
+ - delay: 8
+ content: "\e[?25l\e[1;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\┌─Commits \e(B\e[m\e]8;;\e\\- Reflog\e(B\e[m\e[32m\e[1m\e]8;;\e\\─────────────────────────────────────────┐\e(B\e[m\e[30m\e]8;;\e\\┌\e[1;63HPatch\e[2;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[93;44m\e[1m\e]8;;\e\\\U000F0718\e(B\e[m\e[44m\e[1m\e]8;;\e\\ \e(B\e[m\e[93;44m\e[1m\e]8;;\e\\d5681448\e(B\e[m\e[44m\e[1m\e]8;;\e\\ \e(B\e[m\e[94;44m\e[1m\e]8;;\e\\1:19PM\e(B\e[m\e[44m\e[1m\e]8;;\e\\ \e(B\e[m\e[38;2;47;228;2m\e[44m\e[1m\e]8;;\e\\Jesse Duffield \e(B\e[m\e[44m\e[1m\e]8;;\e\\ \e(B\e[m\e[97;44m\e[1m\e]8;;\e\\◯\e(B\e[m\e[44m\e[1m\e]8;;\e\\ \e(B\e[m\e[95;44m\e[1m\e]8;;\e\\(HEAD -> feature/dem\e(B\e[m\e[32m\e[1m\e]8;;\e\\▲\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[33m\e]8;;\e\\commit d56814482b0fc6433cd\e[2;89He93f4d2bd5f448e0e4ec (\e(B\e[m\e[36m\e[1m\e]8;;\e\\HEAD -> \e[3;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[33m\e]8;;\e\\\U000F0718\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[33m\e]8;;\e\\bb981c0d\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[34m\e]8;;\e\\1:19PM\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;47;228;2m\e]8;;\e\\Jesse Duffield \e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;47;228;2m\e]8;;\e\\◯\e(B\e[m\e]8;;\e\\ Feature commit 2 \e(B\e[m\e[32m\e[1m\e]8;;\e\\█\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[32m\e[1m\e]8;;\e\\feature/demo\e(B\e[m\e[33m\e]8;;\e\\, \e(B\e[m\e[31m\e[1m\e]8;;\e\\origin/feature/demo\e(B\e[m\e[33m\e]8;;\e\\)\e[4;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[33m\e]8;;\e\\\U000F0718\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[33m\e]8;;\e\\2f1845f8\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[34m\e]8;;\e\\1:19PM\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;47;228;2m\e]8;;\e\\Jesse Duffield \e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;47;228;2m\e]8;;\e\\◯\e(B\e[m\e]8;;\e\\ Feature commit 1 \e(B\e[m\e[32m\e[1m\e]8;;\e\\█\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\Author: Jesse Duffield <jesseduffield@gmail.com>\e[5;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[33m\e]8;;\e\\\U000F0718\e[5;4Hb2a1f74c\e[5;13H\e(B\e[m\e[34m\e]8;;\e\\1:19PM\e[5;20H\e(B\e[m\e[38;2;177;89;26m\e]8;;\e\\Joe Blow \e[5;38H◯\e[5;40H\e(B\e[m\e[35m\e[1m\e]8;;\e\\(origin/develop, dev\e(B\e[m\e[32m\e[1m\e]8;;\e\\█\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\Date\e[5;67H \e[5;70HSat Aug 12\e[5;81H13:19:23\e[5;90H2023\e[5;95H+1000\e[6;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[33m\e]8;;\e\\\U000F0718\e[6;4H30be4edc\e[6;13H\e(B\e[m\e[34m\e]8;;\e\\1:19PM\e[6;20H\e(B\e[m\e[38;2;177;89;26m\e]8;;\e\\Joe Blow \e[6;38H◯\e[6;40H\e(B\e[m\e]8;;\e\\Develop\e[6;48Hcommit\e[6;55H2\e[6;60H\e(B\e[m\e[32m\e[1m\e]8;;\e\\█\e(B\e[m\e[30m\e]8;;\e\\│\e[7;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[33m\e]8;;\e\\\U000F0718\e[7;4Hec48f864\e[7;13H\e(B\e[m\e[34m\e]8;;\e\\1:19PM\e[7;20H\e(B\e[m\e[38;2;177;89;26m\e]8;;\e\\Joe Blow \e[7;38H◯\e[7;40H\e(B\e[m\e]8;;\e\\Develop commit 1 \e(B\e[m\e[32m\e[1m\e]8;;\e\\█\e(B\e[m\e[30m\e]8;;\e\\│\e[7;66H\e(B\e[m\e]8;;\e\\Feature\e[7;74Hcommit\e[7;81H3\e[8;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\\U000F0718\e[8;4H5266583d\e[8;13H\e(B\e[m\e[34m\e]8;;\e\\1:19PM\e[8;20H\e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\CI \e[8;38H◯\e[8;40H\e(B\e[m\e[35m\e[1m\e]8;;\e\\(origin/master, mast\e(B\e[m\e[32m\e[1m\e]8;;\e\\█\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\---\e[9;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\\U000F0718\e[9;4He80bd002\e[9;13H\e(B\e[m\e[34m\e]8;;\e\\1:19PM\e[9;20H\e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\CI \e[9;38H◯\e[9;40H\e(B\e[m\e]8;;\e\\Set up CI/CD pipelin\e(B\e[m\e[32m\e[1m\e]8;;\e\\█\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ random-5.go | 17\e[9;80H\e(B\e[m\e[32m\e]8;;\e\\+++++++++++++++++\e[10;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\\U000F0718\e[10;4H1979ef98\e[10;13H\e(B\e[m\e[34m\e]8;;\e\\1:19PM\e[10;20H\e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\CI \e[10;38H◯\e[10;40H\e(B\e[m\e]8;;\e\\Enable gzip compress\e(B\e[m\e[32m\e[1m\e]8;;\e\\█\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ 1 file changed,\e[10;79H17\e[10;82Hinsertions(+)\e[11;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\\U000F0718\e[11;4H764e8a73\e[11;13H\e(B\e[m\e[34m\e]8;;\e\\1:19PM\e[11;20H\e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\CI \e[11;38H◯\e[11;40H\e(B\e[m\e]8;;\e\\Refactor\e[11;49Herror\e[11;55Hmessa\e(B\e[m\e[32m\e[1m\e]8;;\e\\█\e(B\e[m\e[30m\e]8;;\e\\│\e[12;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\\U000F0718\e[12;4H0f5dea8f\e[12;13H\e(B\e[m\e[34m\e]8;;\e\\1:19PM\e[12;20H\e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\CI \e[12;38H◯\e[12;40H\e(B\e[m\e]8;;\e\\Improve accessibilit\e(B\e[m\e[32m\e[1m\e]8;;\e\\█\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[1m\e]8;;\e\\diff\e[12;67H--git a/rand\e[12;80Hm-5.go b/random-5.go\e[13;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\\U000F0718\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e]8;;\e\\704d1644\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[34m\e]8;;\e\\1:19PM\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\CI \e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\◯\e(B\e[m\e]8;;\e\\ Add loading indicato\e(B\e[m\e[32m\e[1m\e]8;;\e\\█\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[1m\e]8;;\e\\new file mode 100644\e[14;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\\U000F0718\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e]8;;\e\\09bec2fc\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[34m\e]8;;\e\\1:19PM\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\CI \e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\◯\e(B\e[m\e]8;;\e\\ Add end-to-end tests\e(B\e[m\e[32m\e[1m\e]8;;\e\\█\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[1m\e]8;;\e\\index 0000000..fe838f0\e[14;120H\e(B\e[m\e[30m\e]8;;\e\\│\e[15;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\\U000F0718\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e]8;;\e\\e766c635\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[34m\e]8;;\e\\1:19PM\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\CI \e[15;38H◯\e[15;40H\e(B\e[m\e]8;;\e\\Fix broken links\e[15;57Hon\e[15;60H\e(B\e[m\e[32m\e[1m\e]8;;\e\\█\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[1m\e]8;;\e\\--- /dev/null\e[16;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\\U000F0718\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e]8;;\e\\a6f8d1b1\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[34m\e]8;;\e\\1:19PM\e[16;20H\e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\CI \e[16;38H◯\e[16;40H\e(B\e[m\e]8;;\e\\Implement automated\e[16;60H\e(B\e[m\e[32m\e[1m\e]8;;\e\\█\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[1m\e]8;;\e\\+++ b/random-5.go\e[17;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\\U000F0718\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e]8;;\e\\ecb00a09\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[34m\e]8;;\e\\1:19PM\e[17;20H\e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\CI \e[17;38H◯\e[17;40H\e(B\e[m\e]8;;\e\\Add TypeScript types\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[36m\e]8;;\e\\@@ -0,0 +1,17 @@\e[18;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\\U000F0718\e[18;4H7c20dea0\e[18;13H\e(B\e[m\e[34m\e]8;;\e\\1:19PM\e[18;20H\e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\CI \e[18;38H◯\e[18;40H\e(B\e[m\e]8;;\e\\Move\e[18;45Hconstants\e[18;55Hto\e[18;58Ha\e[18;60H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\+\e[19;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\\U000F0718\e[19;4H967574d2\e[19;13H\e(B\e[m\e[34m\e]8;;\e\\1:19PM\e[19;20H\e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\CI \e[19;38H◯\e[19;40H\e(B\e[m\e]8;;\e\\Enhance user search\e[19;60H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\+package utils\e[20;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\\U000F0718\e[20;4H3c7acf94\e[20;13H\e(B\e[m\e[34m\e]8;;\e\\1:19PM\e[20;20H\e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\CI \e[20;38H◯\e[20;40H\e(B\e[m\e]8;;\e\\Refactor\e[20;49Hsession\e[20;57Hman\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\+\e[21;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\\U000F0718\e[21;4Hbda923f4\e[21;13H\e(B\e[m\e[34m\e]8;;\e\\1:19PM\e[21;20H\e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\CI \e[21;38H◯\e[21;40H\e(B\e[m\e]8;;\e\\Ensure atomicity\e[21;57Hof\e[21;60H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\+import (\e[22;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\\U000F0718\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e]8;;\e\\c352ae9a\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[34m\e]8;;\e\\1:19PM\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\CI \e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\◯\e(B\e[m\e]8;;\e\\ Handle database\e[22;56Hconn\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\+\e[22;66H\"fmt\"\e[23;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\\U000F0718\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e]8;;\e\\a4b65444\e[23;13H\e(B\e[m\e[34m\e]8;;\e\\1:19PM\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\CI \e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\◯\e(B\e[m\e]8;;\e\\ Update styles accord\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\+\e[23;66H\"regexp\"\e[24;2H\U000F0718\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e]8;;\e\\3ef2b97b\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[34m\e]8;;\e\\1:19PM\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\CI \e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\◯\e(B\e[m\e]8;;\e\\ Replace deprecated\e[24;59Hl\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\+\e[24;66H\"strings\"\e[25;2H\U000F0718\e[25;4H8d29b653\e[25;13H\e(B\e[m\e[34m\e]8;;\e\\1:19PM\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\CI \e[25;38H◯\e[25;40H\e(B\e[m\e]8;;\e\\Revamp\e[25;47Herror\e[25;53Hhandlin\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\+)\e[26;2H\U000F0718\e[26;4H5395ba76\e[26;13H\e(B\e[m\e[34m\e]8;;\e\\1:19PM\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\CI \e[26;38H◯\e[26;40H\e(B\e[m\e]8;;\e\\Handle\e[26;47Hedge\e[26;52Hcase\e[26;57Hfor\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\+\e[27;2H\U000F0718\e[27;4Hc53e7185\e[27;13H\e(B\e[m\e[34m\e]8;;\e\\1:19PM\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\CI \e[27;38H◯\e[27;40H\e(B\e[m\e]8;;\e\\Introduce retry mech\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\+//\e[27;66HIsV\e[27;70HlidEmail check\e[27;87Hf\e[27;89Han email address is valid\e[28;2H\U000F0718\e[28;4H97cfaf47\e[28;13H\e(B\e[m\e[34m\e]8;;\e\\1:19PM\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\CI \e[28;38H◯\e[28;40H\e(B\e[m\e]8;;\e\\Remove hardcoded val\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\+func IsValidEmail(email string) bool {\e[29;2H\U000F0718\e[29;4H9c1c89a1\e[29;13H\e(B\e[m\e[34m\e]8;;\e\\1:19PM\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\CI \e[29;38H◯\e[29;40H\e(B\e[m\e]8;;\e\\Enhance logging in p\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\+\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e]8;;\e\\// Using \e[29;76H regex\e[29;83Hpattern to validate email addresses\e[30;4H6c\e[30;7He0667\e[30;13H\e(B\e[m\e[34m\e]8;;\e\\1:19PM\e[30;20H\e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\CI \e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\◯\e[30;40H\e(B\e[m\e]8;;\e\\Add\e[30;44Hinternationaliza\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\+\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e]8;;\e\\// This\e[30;74His a simple example\e[30;95Hnd\e[30;98Hmi\e[30;101Hht not cover all \e[31;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\\U000F0718\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e]8;;\e\\43d8bd5b\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[34m\e]8;;\e\\1:19PM\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\CI \e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\◯\e(B\e[m\e]8;;\e\\ Update UX of passwor\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[30m\e]8;;\e\\└\e[32;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\\U000F0718\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e]8;;\e\\6eb7ce46\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[34m\e]8;;\e\\1:19PM\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\CI \e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\◯\e(B\e[m\e]8;;\e\\ Migrate legacy codeb\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[30m\e]8;;\e\\┌\e[32;63HCommand log\e[33;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\\U000F0718\e[33;4H6f52e9da\e[33;13H\e(B\e[m\e[34m\e]8;;\e\\1:19PM\e[33;20H\e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\CI \e[33;38H◯\e[33;40H\e(B\e[m\e]8;;\e\\Resolve\e[33;48Hrace\e[33;53Hconditi\e(B\e[m\e[32m\e[1m\e]8;;\e\\▼\e(B\e[m\e[30m\e]8;;\e\\│\e[34;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\└──────────────────────────────────────────────────1 of 66─┘\e(B\e[m\e[30m\e]8;;\e\\└\e[?25l\e[?25l\e[?25l"
+ - delay: 1605
+ content: "\e[?25l\e[35;41H\e(B\e[m\e[36m\e[1m\e]8;;\e\\_\e[?25l"
+ - delay: 6
+ content: "\e[?25l\e[1;1H\e(B\e[m\e[30m\e]8;;\e\\┌─Status───────────────────────────────┐┌─Patch──────────────\e[1;63H─────\e[2;1H│\e(B\e[m\e[32m\e]8;;\e\\✓\e(B\e[m\e]8;;\e\\ repo → \e(B\e[m\e[32m\e]8;;\e\\feature/demo\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e[33m\e]8;;\e\\commit d56814482b0fc6433cdce93f4d2bd5f448e0e4e\e[2;89H (\e(B\e[m\e[36m\e[1m\e]8;;\e\\HEAD -> \e(B\e[m\e[32m\e[1m\e]8;;\e\\feature/demo\e(B\e[m\e[33m\e]8;;\e\\, \e[3;1H\e(B\e[m\e[30m\e]8;;\e\\└──────────────────────────────────────┘│\e(B\e[m\e[31m\e[1m\e]8;;\e\\origin/feature/demo\e(B\e[m\e[33m\e]8;;\e\\)\e(B\e[m\e]8;;\e\\ \e[4;1H\e(B\e[m\e[30m\e]8;;\e\\┌─\e(B\e[m\e[32m\e]8;;\e\\Files \e(B\e[m\e[30m\e]8;;\e\\- Worktrees - Submodules───────┐│\e(B\e[m\e]8;;\e\\Author: Jesse Duffield <jesseduffield@gmail.com> \e[5;1H\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e[5;4H \e[5;13H \e[5;20H \e[5;38H \e[5;40H\e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e]8;;\e\\Date: Sat Aug 12 13:19\e[5;67H23\e[5;70H2023 +1000\e[5;81H \e[5;90H \e[5;95H \e[6;1H\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e[6;4H \e[6;13H \e[6;20H \e[6;38H \e[6;40H\e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e]8;;\e\\ \e[6;48H \e[6;55H \e[6;60H \e[7;1H\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e[7;4H \e[7;13H \e[7;20H \e[7;38H \e[7;40H\e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e]8;;\e\\ Feature commit 3\e[7;66H \e[7;74H \e[7;81H \e[8;1H\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e[8;4H \e[8;13H \e[8;20H \e[8;38H \e[8;40H\e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e]8;;\e\\--- \e[9;1H\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e[9;4H \e[9;13H \e[9;20H \e[9;38H \e[9;40H\e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e]8;;\e\\ random-5.go | 17 \e(B\e[m\e[32m\e]8;;\e\\+++++++++++++++++\e(B\e[m\e]8;;\e\\ \e[9;80H \e[10;1H\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e[10;4H \e[10;13H \e[10;20H \e[10;38H \e[10;40H\e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e]8;;\e\\ 1 file changed, 17 insertions(+) \e[10;79H \e[10;82H \e[11;1H\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e[11;4H \e[11;13H \e[11;20H \e[11;38H \e[11;40H\e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e]8;;\e\\ \e[11;49H \e[11;55H \e[12;1H\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e[12;4H \e[12;13H \e[12;20H \e[12;38H \e[12;40H\e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e[1m\e]8;;\e\\diff --git a/random-5.go\e[12;67Hb/random-5.g\e[12;80H\e(B\e[m\e]8;;\e\\ \e[13;1H\e(B\e[m\e[30m\e]8;;\e\\└───────────────────────────────0 of 0─┘│\e(B\e[m\e[1m\e]8;;\e\\new file mode 100644\e(B\e[m\e]8;;\e\\ \e[14;1H\e(B\e[m\e[30m\e]8;;\e\\┌─\e(B\e[m\e[32m\e]8;;\e\\Local branches \e(B\e[m\e[30m\e]8;;\e\\- Remotes - Tags──────┐│\e(B\e[m\e[1m\e]8;;\e\\index 0000000..fe838f0\e(B\e[m\e]8;;\e\\ \e[14;120H\e(B\e[m\e[30m\e]8;;\e\\█\e[15;1H│\e(B\e[m\e[32m\e]8;;\e\\ *\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e]8;;\e\\\U000F062C\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e]8;;\e\\feature/demo\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e]8;;\e\\✓\e(B\e[m\e]8;;\e\\ \e[15;38H \e[15;40H\e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e[1m\e]8;;\e\\--- /dev/null\e(B\e[m\e]8;;\e\\ \e[15;57H \e[15;60H \e[16;1H\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[36m\e]8;;\e\\1s\e(B\e[m\e]8;;\e\\ \U000F062C develop \e(B\e[m\e[32m\e]8;;\e\\✓\e(B\e[m\e]8;;\e\\ \e[16;20H \e[16;38H \e[16;40H\e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e[1m\e]8;;\e\\+++ b/random-5.go\e[16;60H\e(B\e[m\e]8;;\e\\ \e[17;1H\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[36m\e]8;;\e\\1s\e(B\e[m\e]8;;\e\\ \U000F062C master \e[17;20H \e[17;38H \e[17;40H\e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e[36m\e]8;;\e\\@@ -0,0 +1,17 @@\e(B\e[m\e]8;;\e\\ \e[18;1H\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e[18;4H \e[18;13H \e[18;20H \e[18;38H \e[18;40H\e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e[32m\e]8;;\e\\+\e(B\e[m\e]8;;\e\\ \e[18;45H \e[18;55H \e[18;58H \e[18;60H \e[19;1H\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e[19;4H \e[19;13H \e[19;20H \e[19;38H \e[19;40H\e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e[32m\e]8;;\e\\+package utils\e(B\e[m\e]8;;\e\\ \e[19;60H \e[20;1H\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e[20;4H \e[20;13H \e[20;20H \e[20;38H \e[20;40H\e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e[32m\e]8;;\e\\+\e(B\e[m\e]8;;\e\\ \e[20;49H \e[20;57H \e[21;1H\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e]8;;\e\\ \e[21;4H \e[21;13H \e[21;20H \e[21;38H \e[21;40H\e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e[32m\e]8;;\e\\+import (\e(B\e[m\e]8;;\e\\ \e[21;57H \e[21;60H \e[22;1H\e(B\e[m\e[30m\e]8;;\e\\└───────────────────────────────1 of 3─┘│\e(B\e[m\e[32m\e]8;;\e\\+\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e]8;;\e\\\"fmt\"\e(B\e[m\e]8;;\e\\ \e[22;56H \e[22;66H \e[23;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\┌─Commits \e(B\e[m\e]8;;\e\\-\e[23;13HReflog\e(B\e[m\e[32m\e[1m\e]8;;\e\\─────────────────────┐\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\+\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e]8;;\e\\\"regexp\"\e(B\e[m\e]8;;\e\\ \e[23;66H \e[24;2H\e(B\e[m\e[93;44m\e[1m\e]8;;\e\\\U000F0718\e(B\e[m\e[44m\e[1m\e]8;;\e\\ \e(B\e[m\e[93;44m\e[1m\e]8;;\e\\d5681448\e(B\e[m\e[44m\e[1m\e]8;;\e\\ \e(B\e[m\e[38;2;47;228;2m\e[44m\e[1m\e]8;;\e\\JD\e(B\e[m\e[44m\e[1m\e]8;;\e\\ Feature commit 3 \e(B\e[m\e[32m\e[1m\e]8;;\e\\▲\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\+\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e]8;;\e\\\"strings\"\e(B\e[m\e]8;;\e\\ \e[24;59H \e[24;66H \e[25;2H\e(B\e[m\e[33m\e]8;;\e\\\U000F0718\e[25;4Hbb981c0d\e[25;13H\e(B\e[m\e[38;2;47;228;2m\e]8;;\e\\JD\e(B\e[m\e]8;;\e\\ Feature commit 2 \e[25;38H \e[25;40H\e(B\e[m\e[32m\e[1m\e]8;;\e\\█\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\+)\e(B\e[m\e]8;;\e\\ \e[25;47H \e[25;53H \e[26;2H\e(B\e[m\e[33m\e]8;;\e\\\U000F0718\e[26;4H2f1845f8\e[26;13H\e(B\e[m\e[38;2;47;228;2m\e]8;;\e\\JD\e(B\e[m\e]8;;\e\\ Feature commit 1 \e[26;38H \e[26;40H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\+\e(B\e[m\e]8;;\e\\ \e[26;47H \e[26;52H \e[26;57H \e[27;2H\e(B\e[m\e[33m\e]8;;\e\\\U000F0718\e[27;4Hb2a1f74c\e[27;13H\e(B\e[m\e[38;2;177;89;26m\e]8;;\e\\JB\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[36m\e[1m\e]8;;\e\\\U000F062C \e(B\e[m\e]8;;\e\\Develop commit 3 \e[27;38H \e[27;40H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\+// IsValidEmail checks\e[27;66Hif \e[27;70Hn email addres\e[27;87Hs\e[27;89Hvalid\e(B\e[m\e]8;;\e\\ \e[28;2H\e(B\e[m\e[33m\e]8;;\e\\\U000F0718\e[28;4H30be4edc\e[28;13H\e(B\e[m\e[38;2;177;89;26m\e]8;;\e\\JB\e(B\e[m\e]8;;\e\\ Develop commit 2 \e[28;38H \e[28;40H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\+func IsValidEmail(email string) bool {\e(B\e[m\e]8;;\e\\ \e[29;2H\e(B\e[m\e[33m\e]8;;\e\\\U000F0718\e[29;4Hec48f864\e[29;13H\e(B\e[m\e[38;2;177;89;26m\e]8;;\e\\JB\e(B\e[m\e]8;;\e\\ Develop commit 1 \e[29;38H \e[29;40H\e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\+\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e]8;;\e\\// Using a regex pattern to v\e[29;76Hlidate\e[29;83Hemail addresses\e(B\e[m\e]8;;\e\\ \e[30;4H\e(B\e[m\e[32m\e]8;;\e\\52\e[30;7H6583d\e[30;13H\e(B\e[m\e[38;2;73;40;205m\e]8;;\e\\CI\e(B\e[m\e]8;;\e\\ Add\e[30;20Ha user-friendly 404\e[30;40H\e(B\e[m\e[32m\e[1m\e]8;;\e\\▼\e(B\e[m\e[30m\e]8;;\e\\│\e(B\e[m\e[32m\e]8;;\e\\+\e[30;44H\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e]8;;\e\\// This is a simple example\e[30;74Hand might not cover\e[30;95Hll\e[30;98Hed\e[30;101He cases\e(B\e[m\e]8;;\e\\ \e[31;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\└──────────────────────────────1 of 66─┘\e(B\e[m\e[30m\e]8;;\e\\└────────────────────\e[32;1H┌─Stash────────────────────────────────┐┌─Command log────────\e[32;63H───────────\e[33;1H│\e(B\e[m\e]8;;\e\\ \e[33;4H \e[33;13H \e[33;20H \e[33;38H \e[33;40H\e(B\e[m\e[30m\e]8;;\e\\││\e(B\e[m\e]8;;\e\\ \e[33;48H \e[33;53H \e[34;1H\e(B\e[m\e[30m\e]8;;\e\\└───────────────────────────────0 of 0─┘└────────────────────\e[?25l\e[?25l\e[?25l"
+ - delay: 1105
+ content: "\e[?25l\e[35;32H\e(B\e[m\e[37m\e[1m\e]8;;\e\\ \e[?25l\e[?25l\e[24;2H\e(B\e[m\e[33m\e]8;;\e\\\U000F0718\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[33m\e]8;;\e\\d5681448\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;47;228;2m\e]8;;\e\\JD\e(B\e[m\e]8;;\e\\ Feature commit 3 \e[25;2H\e(B\e[m\e[93;44m\e[1m\e]8;;\e\\\U000F0718\e(B\e[m\e[44m\e[1m\e]8;;\e\\ \e(B\e[m\e[93;44m\e[1m\e]8;;\e\\bb981c0d\e(B\e[m\e[44m\e[1m\e]8;;\e\\ \e(B\e[m\e[38;2;47;228;2m\e[44m\e[1m\e]8;;\e\\JD\e(B\e[m\e[44m\e[1m\e]8;;\e\\ Feature commit 2 \e[31;32H\e(B\e[m\e[32m\e[1m\e]8;;\e\\2\e[?25l"
+ - delay: 10
+ content: "\e[?25l\e[2;49H\e(B\e[m\e[33m\e]8;;\e\\bb9\e[2;54Hc0d56347400eb49452d32\e[2;76Hae2c2f12d\e[2;86H5b6\e(B\e[m\e]8;;\e\\ \e[3;42HAuthor: Jesse Duffield\e[3;65H<jesseduffield@gmail.com>\e[4;42HDa\e[4;45He: \e[4;50HSat Aug 12 13:19:22 2023 +1000 \e[5;42H \e[5;50H \e[5;54H \e[5;58H \e[5;61H \e[5;70H \e[5;75H \e[6;46HFeature\e[6;54Hcommit\e[6;61H2\e[7;42H---\e[7;46H \e[7;54H \e[7;61H \e[8;42H random-4.go\e[8;55H|\e[8;57H36\e[8;60H\e(B\e[m\e[32m\e]8;;\e\\++++++++++++++++++++++++++++++++++++\e[9;43H\e(B\e[m\e]8;;\e\\1 file changed, 36 insertions(+) \e[10;43H \e[10;45H \e[10;50H \e[10;59H \e[10;62H \e[11;42H\e(B\e[m\e[1m\e]8;;\e\\diff --git a/random-4.go b/random-4.go\e[12;42Hnew file mode 100644\e(B\e[m\e]8;;\e\\ \e[12;120H\e(B\e[m\e[30m\e]8;;\e\\│\e[13;42H\e(B\e[m\e[1m\e]8;;\e\\index 0000000..ae5c7f3\e[13;120H\e(B\e[m\e[30m\e]8;;\e\\│\e[14;42H\e(B\e[m\e[1m\e]8;;\e\\--- /dev/null\e(B\e[m\e]8;;\e\\ \e[14;120H\e(B\e[m\e[30m\e]8;;\e\\│\e[15;42H\e(B\e[m\e[1m\e]8;;\e\\+++\e[15;46Hb/random-4.go\e[16;42H\e(B\e[m\e[36m\e]8;;\e\\@@ -0,0 +1,36 @@\e(B\e[m\e]8;;\e\\ \e[17;42H\e(B\e[m\e[32m\e]8;;\e\\+package updates\e[19;43Himport (\e(B\e[m\e]8;;\e\\ \e[20;46H\e(B\e[m\e[32m\e]8;;\e\\\"encoding/json\"\e[21;43H\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e]8;;\e\\\"fmt\"\e[22;47Hio\"\e(B\e[m\e]8;;\e\\ \e[23;47H\e(B\e[m\e[32m\e]8;;\e\\n\e[23;49Ht/http\"\e[24;47Hos\"\e(B\e[m\e]8;;\e\\ \e[25;43H \e[25;46H\e(B\e[m\e[32m\e]8;;\e\\\"path/filepath\"\e[26;46H\"runtime\"\e[27;43H\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e]8;;\e\\\"\e[27;48Htrings\"\e(B\e[m\e]8;;\e\\ \e[28;43H \e(B\e[m\e[32m\e]8;;\e\\\"time\"\e(B\e[m\e]8;;\e\\ \e[29;46H \e[30;46H\e(B\e[m\e[32m\e]8;;\e\\\"git\e[30;51Hub.com/go-errors/errors\"\e(B\e[m\e]8;;\e\\ \e[?25l\e[?25l\e[?25l"
+ - delay: 123
+ content: "\e[?25l\e[?25l\e[?25l\e[25;2H\e(B\e[m\e[33m\e]8;;\e\\\U000F0718\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[33m\e]8;;\e\\bb981c0d\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;47;228;2m\e]8;;\e\\JD\e(B\e[m\e]8;;\e\\ Feature commit 2 \e[26;2H\e(B\e[m\e[93;44m\e[1m\e]8;;\e\\\U000F0718\e(B\e[m\e[44m\e[1m\e]8;;\e\\ \e(B\e[m\e[93;44m\e[1m\e]8;;\e\\2f1845f8\e(B\e[m\e[44m\e[1m\e]8;;\e\\ \e(B\e[m\e[38;2;47;228;2m\e[44m\e[1m\e]8;;\e\\JD\e(B\e[m\e[44m\e[1m\e]8;;\e\\ Feature commit 1 \e[31;32H\e(B\e[m\e[32m\e[1m\e]8;;\e\\3\e[?25l"
+ - delay: 11
+ content: "\e[?25l\e[2;49H\e(B\e[m\e[33m\e]8;;\e\\2f1\e[2;53H45f8eb7dd24442\e[2;68H6ded28f1c\e[2;78He3c374b6794\e[6;61H\e(B\e[m\e]8;;\e\\1\e[8;50H3\e[11;62H\e(B\e[m\e[1m\e]8;;\e\\3\e[11;76H3\e[11;120H\e(B\e[m\e[30m\e]8;;\e\\│\e[13;57H\e(B\e[m\e[1m\e]8;;\e\\64af259\e[15;55H3\e[17;51H\e(B\e[m\e[32m\e]8;;\e\\components\e[20;47Hfmt\"\e(B\e[m\e]8;;\e\\ \e[21;47H\e(B\e[m\e[32m\e]8;;\e\\time\"\e[22;46H\e(B\e[m\e]8;;\e\\ \e[23;47H\e(B\e[m\e[32m\e]8;;\e\\gi\e[23;50Hhub.com/atotto/clipboard\"\e[24;47Hgithub.com/jesseduffield/lazygit/pkg/config\"\e[25;46HintegrationTypes \"github.com/jesseduffield/lazygit/pkg/integration/types\"\e[26;43H)\e[26;46H\e(B\e[m\e]8;;\e\\ \e[27;46H \e[28;43H\e(B\e[m\e[32m\e]8;;\e\\type TestDriver struct {\e[29;46Hgui integrationTypes.GuiDriver\e[30;46Hkeys config.KeybindingConfig\e[?25l\e[?25l\e[?25l"
+ - delay: 124
+ content: "\e[?25l\e[?25l\e[?25l\e[26;2H\e(B\e[m\e[33m\e]8;;\e\\\U000F0718\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[33m\e]8;;\e\\2f1845f8\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;47;228;2m\e]8;;\e\\JD\e(B\e[m\e]8;;\e\\ Feature commit 1 \e[27;2H\e(B\e[m\e[93;44m\e[1m\e]8;;\e\\\U000F0718\e(B\e[m\e[44m\e[1m\e]8;;\e\\ \e(B\e[m\e[93;44m\e[1m\e]8;;\e\\b2a1f74c\e(B\e[m\e[44m\e[1m\e]8;;\e\\ \e(B\e[m\e[38;2;177;89;26m\e[44m\e[1m\e]8;;\e\\JB\e(B\e[m\e[44m\e[1m\e]8;;\e\\ \e(B\e[m\e[96;44m\e[1m\e]8;;\e\\\U000F062C \e(B\e[m\e[44m\e[1m\e]8;;\e\\Develop commit 3 \e[31;32H\e(B\e[m\e[32m\e[1m\e]8;;\e\\4\e[?25l"
+ - delay: 10
+ content: "\e[?25l\e[2;49H\e(B\e[m\e[33m\e]8;;\e\\b2a1f74c7135f16\e[2;65Hdb87e34651c990f45c6c1ccf (\e(B\e[m\e[31m\e[1m\e]8;;\e\\origin/develop\e(B\e[m\e[33m\e]8;;\e\\, \e(B\e[m\e[32m\e[1m\e]8;;\e\\develop\e(B\e[m\e[33m\e]8;;\e\\)\e[3;51H\e(B\e[m\e]8;;\e\\oe Blow <joeblow@gmail.com> \e[6;46HD\e[6;48Hvelop\e[6;61H3\e[8;50H2\e[8;57H25\e[8;85H \e[9;59H25\e[11;62H\e(B\e[m\e[1m\e]8;;\e\\2\e[11;76H2\e[11;120H\e(B\e[m\e[30m\e]8;;\e\\█\e[12;120H█\e[13;57H\e(B\e[m\e[1m\e]8;;\e\\3654596\e[15;55H2\e[16;53H\e(B\e[m\e[36m\e]8;;\e\\25\e[17;43H\e(B\e[m\e]8;;\e\\ \e[18;43H\e(B\e[m\e[32m\e]8;;\e\\package components\e[19;43H\e(B\e[m\e]8;;\e\\ \e[20;43H\e(B\e[m\e[32m\e]8;;\e\\import (\e[21;47Hos\"\e(B\e[m\e]8;;\e\\ \e[22;46H\e(B\e[m\e[32m\e]8;;\e\\\"strconv\"\e[23;47Hstrings\"\e(B\e[m\e]8;;\e\\ \e[24;46H \e[25;46H\e(B\e[m\e[32m\e]8;;\e\\\"github.c\e[25;56Hm/jes\e[25;62Heduffield/lazygit/pkg/commands/\e[25;96H_comma\e[25;103Hds\"\e(B\e[m\e]8;;\e\\ \e[26;43H \e[26;46H\e(B\e[m\e[32m\e]8;;\e\\\"github.com/jesseduffield/lazygit/pkg/config\"\e[27;46HintegrationTypes \"github.com/jesseduffield/lazygit/pkg/integration/types\"\e[28;43H\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[32m\e]8;;\e\\\"github.com/jesseduffield/lazygit/pkg/utils\"\e[29;46H\"g\e[29;49Hthub.com/samber/l\e[29;67H\"\e(B\e[m\e]8;;\e\\ \e[30;43H\e(B\e[m\e[32m\e]8;;\e\\)\e[30;46H\e(B\e[m\e]8;;\e\\ \e[?25l\e[?25l\e[?25l"
+ - delay: 125
+ content: "\e[?25l\e[35;32H\e(B\e[m\e[36m\e[1m\e]8;;\e\\Pressing B \e[?25l\e[?25l\e[24;16H\e(B\e[m\e[33m\e]8;;\e\\✓\e(B\e[m\e]8;;\e\\ Feature commit\e[24;33H3\e[25;16H\e(B\e[m\e[33m\e]8;;\e\\✓\e(B\e[m\e]8;;\e\\ Feature commit\e[25;33H2\e[26;16H\e(B\e[m\e[33m\e]8;;\e\\✓\e(B\e[m\e]8;;\e\\ Feature commit\e[26;33H1\e[27;18H\e(B\e[m\e[93;44m\e[1m\e]8;;\e\\↑↑↑ Will rebase from h\e[35;81H\e(B\e[m\e[36m\e]8;;\e\\Marked a base commit for rebase \e(B\e[m\e[36m\e[4m\e]8;;\e\\(Reset) \e[?25l"
+ - delay: 10
+ content: "\e[?25l\e[?25l\e[?25l\e[?25l"
+ - delay: 1604
+ content: "\e[?25l\e[35;41H\e(B\e[m\e[36m\e[1m\e]8;;\e\\3\e[?25l\e[?25l\e[1;43H\e(B\e[m\e[30m\e]8;;\e\\Log──\e[14;1H\e(B\e[m\e[32m\e[1m\e]8;;\e\\┌─Local branches \e(B\e[m\e]8;;\e\\- Remotes - Tags\e(B\e[m\e[32m\e[1m\e]8;;\e\\──────┐\e[15;1H│\e(B\e[m\e[92;44m\e[1m\e]8;;\e\\ *\e(B\e[m\e[44m\e[1m\e]8;;\e\\ \e(B\e[m\e[92;44m\e[1m\e]8;;\e\\\U000F062C\e(B\e[m\e[44m\e[1m\e]8;;\e\\ \e(B\e[m\e[92;44m\e[1m\e]8;;\e\\feature/demo\e(B\e[m\e[44m\e[1m\e]8;;\e\\ \e(B\e[m\e[92;44m\e[1m\e]8;;\e\\✓\e(B\e[m\e[44m\e[1m\e]8;;\e\\ \e(B\e[m\e[32m\e[1m\e]8;;\e\\│\e[16;1H│\e[16;40H│\e[17;1H│\e[17;40H│\e[18;1H│\e[18;40H│\e[19;1H│\e[19;40H│\e[20;1H│\e[20;40H│\e[21;1H│\e[21;40H│\e[22;1H└───────────────────────────────1 of 3─┘\e[23;1H\e(B\e[m\e[30m\e]8;;\e\\┌─\e(B\e[m\e[32m\e]8;;\e\\Commits \e(B\e[m\e[30m\e]8;;\e\\- Reflog─────────────────────┐\e[24;1H│\e[24;40H▲\e[25;1H│\e[25;40H█\e[26;1H│\e[26;40H│\e[27;1H│\e(B\e[m\e[33m\e]8;;\e\\\U000F0718\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[33m\e]8;;\e\\b2a1f74c\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[38;2;177;89;26m\e]8;;\e\\JB\e(B\e[m\e]8;;\e\\ \e(B\e[m\e[36m\e[1m\e]8;;\e\\\U000F062C \e(B\e[m\e[33m\e]8;;\e\\↑↑↑ Will rebase from h\e(B\e[m\e[30m\e]8;;\e\\│\e[28;1H│\e[28;40H│\e[29;1H│\e[29;40H│\e[30;1H│\e[30;40H▼\e[31;1H└──────────────────────────────4 of 66─┘\e[?25l"
+ - delay: 13
+ content: "\e[?25l\e[2;42H\e(B\e[m\e]8;;\e\\* \e(B\e[m\e[33m\e]8;;\e\\commit d568144 (\e(B\e[m\e[36m\e[1m\e]8;;\e\\HEAD -> \e(B\e[m\e[32m\e[1m\e]8;;\e\\feature/demo\e(B\e[m\e[33m\e]8;;\e\\, \e(B\e[m\e[31m\e[1m\e]8;;\e\\origin/feature/demo\e(B\e[m\e[33m\e]8;;\e\\)\e(B\e[m\e]8;;\e\\ \e[3;42H\e(B\e[m\e[31m\e]8;;\e\\|\e(B\e[m\e]8;;\e\\ Author: Jesse Duffie\e[3;65Hd <jesseduffield@gmail.com>\e[4;42H\e(B\e[m\e[31m\e]8;;\e\\|\e(B\e[m\e]8;;\e\\ Date:\e[4;50H 7\e[4;54Hseconds ago \e[4;70H \e[4;75H \e[5;42H\e(B\e[m\e[31m\e]8;;\e\\|\e[6;42H|\e[6;46H\e(B\e[m\e]8;;\e\\ F\e[6;50Hature commit\e[6;63H3\e[7;42H\e(B\e[m\e[31m\e]8;;\e\\|\e(B\e[m\e]8;;\e\\ \e[7;120H\e(B\e[m\e[30m\e]8;;\e\\│\e[8;42H\e(B\e[m\e]8;;\e\\* \e(B\e[m\e[33m\e]8;;\e\\commit bb981c0\e(B\e[m\e]8;;\e\\ \e[8;60H \e[8;120H\e(B\e[m\e[30m\e]8;;\e\\│\e[9;42H\e(B\e[m\e[31m\e]8;;\e\\|\e(B\e[m\e]8;;\e\\ Author: Jesse Duff\e[9;63Held <jes\e[9;72Heduffield@gmail.com>\e[9;120H\e(B\e[m\e[30m\e]8;;\e\\│\e[10;42H\e(B\e[m\e[31m\e]8;;\e\\|\e[10;44H\e(B\e[m\e]8;;\e\\Date:\e[10;52H8\e[10;54Hseconds\e[10;62Hago\e[10;120H\e(B\e[m\e[30m\e]8;;\e\\│\e[11;42H\e(B\e[m\e[31m\e]8;;\e\\|\e(B\e[m\e]8;;\e\\ \e[11;120H\e(B\e[m\e[30m\e]8;;\e\\│\e[12;42H\e(B\e[m\e[31m\e]8;;\e\\|\e(B\e[m\e]8;;\e\\ Feature commit\e[12;63H2\e[12;120H\e(B\e[m\e[30m\e]8;;\e\\│\e[13;42H\e(B\e[m\e[31m\e]8;;\e\\|\e(B\e[m\e]8;;\e\\ \e[14;42H* \e(B\e[m\e[33m\e]8;;\e\\commit 2f1845f\e[15;42H\e(B\e[m\e[31m\e]8;;\e\\|\e(B\e[m\e]8;;\e\\ Author: Jesse Duffield\e[15;67H<jesseduffield@gmail.com>\e[16;42H\e(B\e[m\e[31m\e]8;;\e\\|\e(B\e[m\e]8;;\e\\ Date: 8 seconds\e[16;62Hago\e[17;42H\e(B\e[m\e[31m\e]8;;\e\\|\e[18;42H|\e(B\e[m\e]8;;\e\\ Feature commit\e[18;63H1\e[19;42H\e(B\e[m\e[31m\e]8;;\e\\|\e[20;42H\e(B\e[m\e]8;;\e\\* \e(B\e[m\e[33m\e]8;;\e\\commit b2a1f74 (\e(B\e[m\e[31m\e[1m\e]8;;\e\\origin/develop\e(B\e[m\e[33m\e]8;;\e\\, \e(B\e[m\e[32m\e[1m\e]8;;\e\\develop\e(B\e[m\e[33m\e]8;;\e\\)\e[21;42H\e(B\e[m\e[31m\e]8;;\e\\|\e[21;44H\e(B\e[m\e]8;;\e\\Author:\e[21;52HJoe\e[21;56HBlow\e[21;61H<joeblow@gmail.com>\e[22;42H\e(B\e[m\e[31m\e]8;;\e\\|\e[22;44H\e(B\e[m\e]8;;\e\\Date: 8 seconds\e[22;62Hago\e[23;42H\e(B\e[m\e[31m\e]8;;\e\\|\e[23;46H\e(B\e[m\e]8;;\e\\ \e[24;42H\e(B\e[m\e[31m\e]8;;\e\\|\e[24;48H\e(B\e[m\e]8;;\e\\Develop\e[24;56Hcommit\e[24;63H3\e[25;42H\e(B\e[m\e[31m\e]8;;\e\\|\e[25;46H\e(B\e[m\e]8;;\e\\ \e[26;42H*\e[26;44H\e(B\e[m\e[33m\e]8;;\e\\commit 30be4ed\e(B\e[m\e]8;;\e\\ \e[27;42H\e(B\e[m\e[31m\e]8;;\e\\|\e[27;44H\e(B\e[m